Файл: core/admin/edit_post.php
Строк: 62
<?php
if (!defined('BLOG')) { die('Access Denied!'); }
$error = '';
if (!empty($_GET['id'])) {
    $id = num($_GET['id']);
    $row = $db->selectRow( "SELECT * FROM ?_data WHERE `id` = ? LIMIT 1", $id );
    if (!empty($row)) {
        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']) : '';
                $active = !empty($_POST['active']) ? 1 : 0;
                $acomm  = !empty($_POST['acomm'])  ? 1 : 0;
                $views  = !empty($_POST['views'])  ? 0 : $row['views'];
                $date   = !empty($_POST['date'])   ? date('Y-m-d H:i:s', time()) : $row['date'];
                $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) ) {
    
                            $q = (bool) $db->query( "UPDATE ?_data SET `cid` = ?, `title` = ?, `desc` = ?, `keys` = ?, `text` = ?, `date` = ?, `active` = ?, `acomm` = ?, `views` = ? WHERE `id` = ?", $cat, $title, $desc, $keys, $text, $date, $active, $acomm, $views, $id );
    
                            if ( $q ) {
                                del_vars('categories');
                                addMessage('Статья успешно изменена!', 'ok');
                                gen_red('post', $id);
                            }
                            else $error = 'Ошибка! В данный момент не удалось изменить статью или вы не внесли изменения!';
                        }
                        else $error = 'Ошибка! Категория не найдена в БД. Попробуйте обновить кеш, возможно он устарел!';
                    }
                    else $error = 'Ошибка! Неверна указана категория!';
                }
                else $error = 'Ошибка! Вы не ввели заголовок или текст статьи!';
            }
            else $error = 'Ошибка! Неверный идентификатор сессии, повторите действие!';
            if (!empty($error)) addMessage($error,'error');
        }
        show_header('Редактирование статьи: ' . $row['title']);
        echo '<div class="downlist2"><form action="?a=edit_post&id=' . $id . '&rnd=' . $_SESSION['token'] . '" method="post" enctype="multipart/form-data">Название статьи:<br /><input name="title" type="text" size="20" maxlength="100" value="' . $row['title'] . '" /><br />Текст статьи: [<a href="/smiles.html">Смайлы</a>] [<a href="/code.html">ББ-коды</a>]<br /><textarea name="text" cols="26" rows="10">' . $row['text'] . '</textarea><br />Описание (description):<br /><textarea name="desc" cols="26" rows="3">' . $row['desc'] . '</textarea><br />Ключевые слова (keywords через запятую):<br /><textarea name="keys" cols="26" rows="3">' . $row['keys'] . '</textarea><br /><input name="active" type="checkbox" value="1" ';
        if ($row['active'] == 1) echo 'checked';
        echo '> Опубликована<br />
        <input name="acomm" type="checkbox" value="1" ';
        if($row['acomm'] == 1) echo 'checked';
        echo '> Разрешить комментарии<br />
        <input name="date" type="checkbox" value="1" /> Обновить дату<br />
        <input name="views" 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 ($key == $row['cid']) 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 /><input name="submit" type="submit" value="Изменить" /></form></div>';
        $rows = $db->select( "SELECT * FROM ?_list_file
                              WHERE `post` = ?
                              ORDER BY `id`ASC;", $id );
        echo '<div class="downlist2"><b>Список прикреплённых файлов:</b></div><div class="downlist2">';
        if (!empty($rows)) {
            foreach( $rows as $file ) {
                echo '<div class="downlist2">Файл: <a href="/' . gen_uri('download', $file['id']) . '">' . $file['name'] . '</a><br />';
                if ( !@file_exists( ROOTPATH . '/files/' . $file['name'] ) ) {
                    echo '<span style="color:red;">[!] Не найден на сервере!!!</span><br />';
                }
                echo '<small><a href="?a=del_file&id=' . $file['id'] . '">Удалить</a> | 
                Размер: ' . size($file['size']) . ' | Скачан: <b>' . intval($file['count']) . '</b> раз(а) </small></div>';
           }
       }
       else {
           echo '<b>Прикреплённых файлов еще нет!</b>';
       }
        echo '</div><div class="downlist2">
        <img src="' . ICONS . 'add.png" alt=""/> <a href="?a=upload&post_id=' . $id . '">Добавить файл</a><br />
        <img src="' . ICONS . 'return.png" alt=""/> <a href="/' . gen_uri('post', $id) . '">К статье</a><br /></div>';
    }
    else {
        addMessage('Ошибка 404! Публикация не найдена или ссылка не верна!', 'error');
        redirect( './' );
    }
}
else {
    addMessage('Ошибка 404! Публикация не найдена или ссылка не верна!', 'error');
    redirect( './' );
}
?>