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

Размер файла: 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');
?>