Просмотр файла upgrade/upgrade_news.php

Размер файла: 5.93Kb
<?php
#-----------------------------------------------------#
#          ********* ROTORCMS *********               #
#              Made by  :  VANTUZ                     #
#               E-mail  :  [email protected]         #
#                 Site  :  http://pizdec.ru           #
#             WAP-Site  :  http://visavi.net          #
#                  ICQ  :  36-44-66                   #
#  Вы не имеете право вносить изменения в код скрипта #
#        для его дальнейшего распространения          #
#-----------------------------------------------------#	
require_once ('../includes/start.php');
require_once ('../includes/functions.php');
require_once ('../includes/header.php');
include_once ('../themes/' . $config['themes'] . '/index.php');

if (isset($_GET['act'])) {
  $act = check($_GET['act']);
} else {
  $act = 'index';
} 
// ------------------- Функция подсчета строк в файле--------------------//
if (!function_exists('counter_string')) {
  function counter_string($files) {
    $count_lines = 0;
    if (file_exists($files)) {
      $lines = file($files);
      $count_lines = count($lines);
    } 
    return $count_lines;
  } 
} 

show_title('site.png', 'Апгрейд новостей');

switch ($act):
# ###########################################################################################
# #                                    Главная страница                                    ##
# ###########################################################################################
case 'index':
  echo '<b>Прочтите внимательно!</b><br />';

  echo 'Для апгрейда новостей у вас уже должен быть установлен движок MotorCMS<br />';
  echo 'Перед установкой переместите файл с новостями в директорию local (По умолчанию) local/news.dat, а также папку с комментариями local/datakomm<br /><br />';

  echo 'Апгрейд возможен для движка Wap-Motor 18 и 19 версии<br /><br />';
  echo 'Важно чтобы в таблице news не было никаких записей<br /><br />';

  echo 'Если по какой-то причине произойдет ошибка очистите таблицу news и commnews в базе данных и попробуйте заново произвести апгрейд<br /><br />';

  echo '<img src="../images/img/reload.gif" alt="image" /> <b><a href="upgrade_news.php?act=upgrade&amp;' . SID . '">Перейти к апгрейду</a></b><br /><br />';
  break;
# ###########################################################################################
# #                                        Апгрейд                                         ##
# ###########################################################################################
case 'upgrade':

  if (file_exists(DATADIR . 'news.dat')) {
    $file = file(DATADIR . 'news.dat');

    $countnews = 0;

    foreach ($file as $value) {
      $data = explode('|', $value);

      if (file_exists(DATADIR . 'datakomm/' . $data[5] . '.dat')) {
        $comments = counter_string(DATADIR . 'datakomm/' . $data[5] . '.dat');
      } else {
        $comments = 0;
      } 

      $data[1] = str_replace('<br>', '<br />', $data[1]);
      $data[1] = str_replace('alt="">', 'alt="image" />', $data[1]);

      DB :: $dbh -> query("INSERT IGNORE INTO `news` VALUES (?, ?, ?, ?, ?, ?, ?);", array($data[5], $data[0], $data[1], $data[4], $data[3], $comments, 0));

      $countnews++;

      unset ($comments);
    } 

    $querynews = DB :: $dbh -> query("SELECT `news_id` FROM `news`;");
    while ($datanews = $querynews -> fetch()) {
      if (file_exists(DATADIR . 'datakomm/' . $datanews['news_id'] . '.dat')) {
        $file = file(DATADIR . 'datakomm/' . $datanews['news_id'] . '.dat');

        foreach ($file as $value) {
          $data = explode('|', $value);

          $data[1] = str_replace('<br>', '<br />', $data[1]);
          $data[1] = str_replace('alt="">', 'alt="image" />', $data[1]);
          $data[1] = str_replace('\'', '&#39;', $data[1]);

          if (strstr($data[0], " - ")) {
            list($browsers, $ipsum) = explode(" - ", $data[0]);
          } else {
            list($browsers, $ipsum) = explode(", ", $data[0]);
          } 

          if ($data[2] != "") {
            list($den, $mes, $god) = explode(".", $data[2]);

            if ($data[3] != "") {
              list($chas, $min) = explode(":", $data[3]);
            } else {
              $chas = 0;
              $min = 0;
            } 

            $dtime = mktime($chas, $min, 0, $mes, $den, $god);
          } else {
            $dtime = $data[3];
          } 

          DB :: $dbh -> query("INSERT IGNORE INTO `commnews` (`commnews_news_id`, `commnews_text`, `commnews_author`, `commnews_time`, `commnews_ip`, `commnews_brow`) VALUES (?, ?, ?, ?, ?, ?);", array($datanews['news_id'], $data[1], $data[4], $dtime, $ipsum, $browsers));
        } 
      } 
    } 

    echo '<b>Апгрейд новостей успешно произведен!</b><br />';
    echo 'Обновлено записей: ' . $countnews . '<br /><br />';
    echo '<b>Не обновляйте данную страницу! Закройте ее и удалите файл upgrade_news.php</b><br /><br />';
  } else {
    echo '<b>Ошибка! Отсутствует файл с новостями сайта!</b><br /><br />';
  } 

  echo '<img src="../images/img/back.gif" alt="image" /> <a href="upgrade_news.php?' . SID . '">Вернуться</a><br />';
  break;

default:
  header("location: upgrade_news.php?" . SID);
  endswitch;

  echo '<br /><img src="../images/img/homepage.gif" alt="image" /> <a href="../index.php?' . SID . '">На главную</a>';

  include_once ("../themes/" . $config['themes'] . "/foot.php");

  ?>