Просмотр файла panel/mass.php

Размер файла: 4.31Kb
<?php
define('_WBLIB',1);
require_once ('../inc/core.php');
if ($level < 2) {exit('Доступ закрыт');}

$typ = mysql_query("SELECT * FROM `article` WHERE id='" . $id . "' AND `type` = '1';");
$ms = mysql_fetch_array($typ);
if ($id != 0 && $ms['type'] != "1") {
require_once ('../inc/head.php');
echo "<div class='error'>Ошибка<br/><a href='view.php?id=".$id."'>Назад</a></div>";
require_once ('../inc/foot.php');
exit;
}

// Заголовки
$title = 'Массовая выгрузка статей';
require_once ('../inc/head.php');
#################################

echo '<div class="title">Массовая выгрузка статей в категорию '.$ms['name'].'</div>';
if (isset($_POST['submit'])){
    $dir = htmlspecialchars(trim($_POST['dir']));
    if (!is_dir($dir)){
       echo '<div class="error">Ошибка при вводе папки, проверьте правильность введённого имени папки!</div>';
       require_once ('../inc/foot.php');
       exit;
    }      
   
    $result = scandir($dir );
    $ii = count($result);
    $countf = 0;
    for($i = 2; $i<$ii; $i++){
	     $txt = file_get_contents($dir.$result[$i]); 
         if (mb_check_encoding($txt, 'UTF-8')) {
            }
            elseif (mb_check_encoding($txt, 'windows-1251')) {
                    $txt = iconv("windows-1251", "UTF-8", $txt);
                }
                elseif (mb_check_encoding($txt, 'KOI8-R')) {
                       $txt = iconv("KOI8-R", "UTF-8", $txt);
                    }
                    else {
                        echo "Файл в неизвестной кодировке!<br />";
                    } 
        $name = intval($_POST['n']) == 1 ? $result[$i] : preview_desc($txt,50);	
	   $anons = preview_desc($txt,150);
        mysql_query("INSERT INTO `article` SET `name`='" .mysql_real_escape_string($name). "',`id_cat`= ".$id.",
		               `time`='" .$time. "',`announce`='" .mysql_real_escape_string($anons). "',`who`='".$level."',
					   `type`='2',`text`='" .mysql_real_escape_string($txt). "';");          
        $countf++;
    }
							
	$dirid = $id;
    $sql = '';
    while ($dirid != '0' && $dirid != "") {
          $res_down = mysql_fetch_assoc(mysql_query("SELECT `id_cat` FROM `article` WHERE `type` = 1 AND `id` = '$dirid' LIMIT 1"));
          if ($i1) $sql .= ' OR ';
          $sql .= '`id` = \'' . $dirid . '\'';
          $dirid = $res_down['id_cat'];
          ++$i1;
    }
	mysql_query("UPDATE `article` SET `count` = `count`+$countf WHERE $sql");
    echo'<div class="link">Успешно добавлено <b>'.$countf.'</b> статей<br/> Папку можно удалить <br/><a href="'.$home.'/view.php?id='.$id.'">К категории</a></div>';
   
             
} else {
                
echo "<div class='link'><form action='mass.php?id=" . $id . "' method='post'>
Введите имя папки <small>[Например dir/ . Слеш в конце обязателен!]</small><br/>
<input type='text' name='dir' value=''/><br/>
Вырезать название статьи из :<br/>
<select name='n'>
<option value='1'>Название текстового файла</option>
<option value='2'>Содежрания текстового файла(начало)</option>
</select>
<input type='submit' name='submit' value='Продолжить'/>
</form></div>";
echo '<div class="mini">Чтобы добавить в базу одновременно больщое количество статей одним махом следует :
1. Создать в папке <b>panel/</b> новую папку с любым именем и выставить CHMOD 777<br/>
2. Выгрузить в папку статьи формата txt,dat<br/>
3. Зайти в желаемую категорию и нажать внизу на ссылку "Массовая выгрузка" и следовать инструкциям.<br/>
<b>Внимание ! Желательно выгружать в папку не более 100 статей чтоб не создавать нагрузку на сервер.</b></div>';
}
					echo "<div class='bar'><a href ='$home/view.php?id=" . $id . "'>Назад</a></div>";

require_once ('../inc/foot.php');
?>