File size: 6.54Kb
<?php
define('_WBLIB',1);
require_once ('../inc/core.php');
if ($level < 2) {exit('Доступ только для администратора');}
$req = mysql_query("SELECT * FROM `article` WHERE `id` = '$id' AND `type` = '1'LIMIT 1");
$res = mysql_fetch_assoc($req);
if (mysql_num_rows($req) == 0 ) {
require_once ('../inc/head.php');
echo 'Категория не найдена';
require_once ('../inc/foot.php');
exit(); }
// Заголовки
$title = 'Выгрузка статьи';
require_once ('../inc/head.php');
#################################
if (isset($_POST['submit'])) {
if (empty($_POST['name'])) {
$error = "Вы не ввели название статьи<br/>";
}
if ($error) {
echo '<div class="link"><div class="error">'.$error.'</div></div>';
echo '<div class="bar"><a href="add_article.php?id='.$id.'">Еще раз</a></div>';
require_once ('../inc/foot.php');
exit();
}
$name = htmlspecialchars(trim($_POST['name']));
$name = mb_substr($name, 0, 50);
$fname = $_FILES['fail']['name'];
$ftype = format($fname);
$ftype = strtolower($ftype);
if ($fname != "") {
if (preg_match("|^[a-z0-9.()+_-]$|i", $fname)) {
echo "<div class='error'>В названии файла <b>$fname</b> присутствуют недопустимые символы<br/>Разрешены только латинские символы, цифры и некоторые знаки ( .()+_- )<br /><a href='load_article.php?id="
. $id . "'>Повторить</a></div>";
require_once ('../inc/foot.php');
exit();
}
if ((preg_match("/.php/i", $fname)) or (preg_match("/.pl/i", $fname)) or ($fname == ".htaccess")) {
echo "<div class='error'>Попытка отправить файл запрещенного типа.<br/><a href='load_article.php?id=" . $id . "'>Повторить</a></div>";
require_once ('../inc/foot.php');
exit();
}
if ($ftype != "txt") {
echo "<div class='error'>Это не текстовый файл !<br/><a href='load_article.php?id=" . $id . "'>Повторить</a></div>";
require_once ('../inc/foot.php');
exit();
}
if ((move_uploaded_file($_FILES["fail"]["tmp_name"], "temp_files/$fname")) == true) {
$ch = $fname;
@chmod("$ch", 0777);
@chmod("temp_files/$ch", 0777);
$txt = file_get_contents("temp_files/$ch");
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 "<div class='error'>Неизвестная кодировка текстового файла !<br /><a href='load_article.php?id=" . $id . "'>Повторить</a></div>";
require_once ('../inc/foot.php');
exit();
}
if (!empty ($_POST['announce'])) {
$announc = trim($_POST['announce']);
$announce = mb_substr($announc, 0, 150);
}
else {
$announce = mb_substr($txt, 0, 150);
}
mysql_query("INSERT INTO `article` SET
`name`='" .mysql_real_escape_string($name). "',
`id_cat`= ".$id.",
`time`='" .$time. "',
`announce`='" .mysql_real_escape_string($announce). "',
`who`='".$level."',
`type`='2',
`text`='" .mysql_real_escape_string($txt). "';");
$cid = mysql_insert_id();
$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 ($i)
$sql .= ' OR ';
$sql .= '`id` = \'' . $dirid . '\'';
$dirid = $res_down['id_cat'];
++$i;
}
mysql_query("UPDATE `article` SET `count` = `count`+1 WHERE $sql");
unlink("temp_files/$ch");
echo '<div class="link">Статья успешно добавлена в базу !<br/><a href="'.$home.'/article.php?id='.$cid.'">К статье</a><br/>
<a href="'.$home.'/panel/load_article.php?id='.$id.'">Выгрузить еще</a></div>';
}
else {
echo "<div class='error'>Ошибка при загрузке<br/><a href='load_article.php?id=" . $id . "'>Повторить</a></div>";
require_once ('../inc/foot.php');
exit();
}
} else exit('error');
} else {
echo '<div class="link"><form action="load_article.php?id=' . $id . '" method="post" enctype="multipart/form-data">';
echo '*Введите название(max 50):<br/><input type="text" name="name"/><br/>';
echo 'Описание статьи(max. 150):<br/><input type="text" name="announce"/><br/>';
echo '*Выберите текстовый файл( .txt):<br/><input type="file" name="fail"/><br/>';
echo '<input type="submit" name="submit" value="Выгрузить"/></form>';
echo '<div class="mini">* - поля , обязательные к заполнению .<br/> Если поле "Описание статьи" оставить пустым , будет скопировано начало статьи в это поле.</div>';
echo '<div class="mini">Поддерживаются слудующие кодировки txt-файлов : Win-1251, KOI8-R, UTF-8</div>';
echo '<div class="bar"><a href ="'.$home.'/view.php?id=' . $id . '">Назад</a></div></div>';
}
echo '<div class="func"><a href="/index.php">Главная</a></div>';
require_once ('../inc/foot.php');
?>