Вход Регистрация
Файл: core/admin/add_post.php
Строк: 104
<?php

if (!defined('BLOG')) { die('Access Denied!'); }

$error '';

if (!empty(
$_POST['submit'])) {

    if (!empty(
$_GET['rnd']) && $_GET['rnd'] == $_SESSION['token']) {

        
$title  = !empty($_POST['title'])  ? check($_POST['title']) : '';
        
$text   = !empty($_POST['text'])   ? check($_POST['text']) : '';
        
$acomm  = !empty($_POST['acomm'])  ? 0;
        
$active = !empty($_POST['active']) ? 1;
        
$cat    = !empty($_POST['cat'])    ? num($_POST['cat'])    : 0;
        
$desc   = !empty($_POST['desc'])   ? StripMeta($_POST['desc']) : genDescription($_POST['title'] . ' ' $_POST['text']);
        
$keys   = !empty($_POST['keys'])   ? StripMeta($_POST['keys']) : genKeywords($_POST['text']);

        if (!empty(
$title) && !empty($text)) {

            if (!empty(
$cat)) {

                
$is_cat = (int) $db->selectCell"SELECT * FROM ?_category WHERE `id` = ? LIMIT 1"$cat );

                if ( !empty(
$is_cat) ) {

                    
$thisdate date'Y-m-d H:i:s'time() );
    
                    
$last_id = (int) $db->query"INSERT INTO ?_data SET `cid` = ?, `title` = ?, `desc` = ?, `keys` = ?, `text` = ?, `date` = ?, `active` = ?, `acomm` = ?"$cat$title$desc$keys$text$thisdate$active$acomm );
    
                    if (
$last_id 0) {

                        if (!empty(
$_FILES['f']['tmp_name'])) {

                            if (!
$_FILES['f']['error'][0]) {

                                
$all sizeof($_FILES['f']['tmp_name']);

                                for (
$i 0$i $all; ++$i ) { 

                                    
$is_file = (bool) upload($_FILES['f']['tmp_name'][$i], $_FILES['f']['name'][$i], '../files/''0644');

                                    if ( 
$is_file ) {

                                        @
chmod('../files/' $_FILES['f']['name'][$i], 0644);

                                        
$db->query("INSERT INTO ?_list_file SET `post` = ?, `name` = ?, `size` = ?"$last_id$_FILES['f']['name'][$i], $_FILES['f']['size'][$i] );

                                    }
                                }
                            }
                        }

                        
del_vars('categories');
                        
del_vars('counts_posts');
                        
addMessage('Статья успешно добавлена!''ok');
                        
gen_red('post'$last_id);

                    }
                    else 
$error 'Ошибка! В данный момент не удалось добавить статью!';
                }
                else 
$error 'Ошибка! Категория не найдена в БД. Попробуйте обновить кеш, возможно он устарел!';
            }
            else 
$error 'Ошибка! Неверна указана категория!';
        }
        else 
$error 'Ошибка! Вы не ввели заголовок или текст статьи!';
    }
    else 
$error 'Ошибка! Неверный идентификатор сессии, повторите действие!';

    if (!empty(
$error)) addMessage($error,'error');
}

show_header('Добавление статьи');

echo 
'<div class="downlist2"><form action="?a=add_post&amp;rnd=' $_SESSION['token'] . '" method="post" enctype="multipart/form-data">
Название статьи:<br />
<input name="title" type="text" size="20" maxlength="100" value="' 
request('title') . '" /><br />
Текст статьи: [<a href="/smiles.html">Смайлы</a>] [<a href="/code.html">ББ-коды</a>]<br />
<textarea name="text" cols="40" rows="10">' 
request('text') . '</textarea><br />
Описание (description):<br />
<textarea name="desc" cols="26" rows="3">' 
request('desc') . '</textarea><br />
Ключевые слова (keywords через запятую):<br />
<textarea name="keys" cols="26" rows="3">' 
request('keys') . '</textarea><br />
<input name="acomm" type="checkbox" value="1" checked="checked" /> Разрешить комментарии<br />
<input name="active" type="checkbox" value="1" /> Не публиковать<br />
Раздел:<br />
<select class="input" name="cat" size="0">'
;

if (!empty(
$categories)) {

    foreach( 
$categories as $key => $val ) {

        list(
$title,$text,$count) = $val;

        if (!empty(
$id) && $id == $key) echo '<option value="' $key '" selected="selected">' $title ' (' $count ')</option>';
        else echo 
'<option value="' $key '">' $title ' (' $count ')</option>';
    }
}
else echo 
'<option>Категорий не существует!</option>';

echo 
'</select><br /><br />';

echo 
'Файл: (max ' ini_get('upload_max_filesize') . ') <a href="#" onclick="add_files(1);">[+]</a> / <a href="#" onclick="add_files(0);">[-]</a><br/><div id="fl"><input type="file" name="f[]"/><br/></div>';

echo <<<HTML

<script type="text/javascript">
function add_files(e){var h=document.createElement("input");h.setAttribute("name","f[]");h.setAttribute("type","file");var g=document.getElementById("fl");if(e==1){g.insertBefore(h,null);g.appendChild(document.createElement("br"))}else{var a=g.getElementsByTagName("input");var c=g.getElementsByTagName("br");if(a.length>0){var d=a[a.length-1];d.parentNode.removeChild(d);var b=c[c.length-1];b.parentNode.removeChild(b)}}};
</script>
<noscript><div class="message_warning">Для прикрепления файлов, требуется поддержка JS в вашем браузере!!!</div></noscript>

HTML;

echo 
'<br /><input name="submit" type="submit" value="Добавить"></form><br />
[!] Описание и кл. слова можно оставить пустыми, тогда они будут сгенерированы автоматически из текста статьи.<br /></div>'
;

function 
upload($tmp ''$name ''$dir ''$chmod '0644') {

    
$fname $name;

    if (
substr($dir, -1) != '/') {
        
$name basename($dir);
        
$dir dirname($dir) . '/';
    }

    if ( 
strpos($name'php') <> false ) return false;

    if ( 
strpos($name'htaccess') <> false ) return false;

    if ( 
file_put_contents($dir $namefile_get_contents($tmp)) ) {

        @
chmod($dir $name$chmod);
        
unlink($tmp);
        return 
true;
    } else {
        
unlink($tmp);
        return 
false;
    }
}


?>
Онлайн: 0
Реклама