Перенос сайта из GoogleSites


Сегодня хабрапользователь 'лорд Брабазон Вир-де-Вир' хотел бы поделиться своим методом переноса сайта с GoogleSites на отдельный хостинг.

Основной скрипт трансфера выглядит следующим образом:

<?
include "_config.php";
error_reporting(0);
$param=$_GET["param"];
if($param==$_index_page OR $param==$_index_page.'/'){
    $param='';
}
$url = strtolower('https://sites.google.com/site/'.$_google_sites_sitename.'/'.$param);
if (file_get_contents($url)){
    $content = file_get_contents($url);
    include '_parser.php';
    include '_header.php';
    echo $content;
    
    $file_info = new finfo(FILEINFO_MIME);
    $mime_type = $file_info->buffer($content);
    Header ('Content-type: '.$mime_type);
    
    $widgeturl = 'http://'.$_site_url.'/'.$param;
    include "_comments.php";
}else{
    $url='http://'.$_site_url.'/error.php?code=404';
    $content = file_get_contents($url);
    echo $content;
}
?>

Все довольно понятно.

В работе используются ... дополнительных файла:

  1. _config.php - из названия ясно, что это файл с настройками:
    <?
    $_site_url = 'blastorq.url.ph/oldsite';
    $_google_sites_sitename = "blastorq";
    $_index_page = 'landing';
    
    • $_site_url — Адрес сайта на хостинге.
    • $_google_sites_sitename — Адрес сайта GS без «sites.google.com/site/», у меня, как видите, «sites.google.com/site/blastorq»
    • $_index_page — Индекс страница сайта (index, index.php, index.html, home.php), в этом примере — landing.
  2. _parser.php парсит страницы гугл-сайта, заменяет адреса и т.п.
    <?php
        $content = str_replace('<a href="https://sites.google.com/site/'.$_google_sites_sitename.'/" ', '<a href="http://'.$_site_url.'/" ', $content);
        $content = str_replace('https://sites.google.com/site/'.$_google_sites_sitename.'/', 'http://'.$_site_url.'/', $content);
        $content = str_replace('/site/blastorq', '/oldsite', $content);
        $content = str_replace('type="image/x-icon" href="//www.google.com/images/icons/product/sites-16.ico"', 'href="http://'.$_site_url.'/favicon.png" type="image/png"', $content);
        $content = str_replace('<link rel="canonical" href="http://blastorq.url.ph/', '<link rel="canonical" href="http://'.$_site_url.'/', $content);
        $script="if(document.getElementById('sites-chrome-sidebar-left').style.display=='block'){document.getElementById('sites-chrome-sidebar-left').style.display='none';document.getElementById('sites-canvas-wrapper').style.display='block';document.getElementById('displayer').style.background='no-repeat url(http://'.$_site_url.'/pad.png) 1px 0'}else{document.getElementById('sites-chrome-sidebar-left').style.display='block';document.getElementById('displayer').style.background='no-repeat url(http://'.$_site_url.'/pad.png) -16px 0';document.getElementById('sites-canvas-wrapper').style.display='none';}";
        $content = str_replace('-header-horizontal-nav-container" role="navigation">', '-header-horizontal-nav-container" role="navigation"><div id="displayerr" onclick="'.$script.'"><div id="displayer"></div>', $content);
    ?>
    
  3. _header.php
    
    
    
    #sites-chrome-sidebar-left{display:none;}#displayerr{margin:8px;padding:8px;background:#999999;width:17px;border-radius:5px;}#displayer{width: 17px;height: 16px;background: no-repeat url('http://blastorq.url.ph/oldsite/pad.png') 1px 0;}";}?>
    
  4. _comments.php - пустой файл. Может использоваться для коментариев.

Страинца проэкта на github
Оригинал статьи

Share Button
(Visited 103 times, 1 visits today)

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *