/** * Добавление поста в категорию: */ public function categoryPostAjaxAction(Application $application) { if (!Session::getInstance()->isModeratorSession()) { return false; } if ($_GET['cat'] == '') { $category_id = 0; } else { if (!Blog_BlogCategoryModel::CategoryExists($_GET['cat'])) { return false; } $category_id = Blog_BlogCategoryModel::GetCategoryIdByCode($_GET['cat']); } $post = Blog_BlogPostsModel::GetPost($_GET['id']); if ($post && ControlModel::checkModrights($post['category']) && ControlModel::checkModrights($category_id)) { $post['category'] = $category_id; Blog_BlogPostsModel::CatPost($_GET['id'], $post, date("d-m-Y H:i:s") . ' ' . $_SESSION['auth']['name'] . ' изменил категорию поста.'); ControlModel::logModEvent(date("d-m-Y H:i:s") . ' ' . $_SESSION['auth']['name'] . '<br /> изменил категорию поста <a href="http://' . TemplateHelper::getSiteUrl() . '/news/res/' . $post['id'] . '/" class="js-cross-link">>>' . $post['id'] . '</a>'); JabberBot::send('-=$ /me (модлог) ' . $_SESSION['auth']['name'] . ' изменил категорию поста http://' . TemplateHelper::getSiteUrl() . '/news/res/' . $post['id'] . '/'); } return true; }
<h2><a href="#">Первый канал</a> » <a href="#" class="active">Добавить пост</a></h2> <div id="main"> <form action="http://<?php echo TemplateHelper::getSiteUrl(); ?> /admin/postAdd" method="post" class="jNice"> <h3>Основные поля:</h3> <fieldset> <p><label>Категория:</label><select name="category"> <option value="0"></option> <?php foreach (Blog_BlogCategoryModel::GetCategories() as $cat) { ?> <option value="<?php echo $cat['id']; ?> "><?php echo $cat['title']; ?> </option> <?php } ?> </select></p> <p><label>Заголовок:</label><input name="title" type="text" class="text-long" /></p> <p><label>Ссылка:</label><input name="link" type="text" class="text-long" value="http://" /></p> <p><label>Вводный текст:</label><textarea name="text" rows="5"></textarea></p> <p><label>Общий текст:</label><textarea name="text_full" rows="5"></textarea></p> </fieldset>
/** * Получение информации о категории: */ public static function BlogCategory($id, $field = null) { static $categories; if (!is_array($categories)) { foreach (Blog_BlogCategoryModel::GetCategories() as $row) { $categories[$row['id']] = $row; } } if (is_null($field)) { return $categories[$id]; } else { return $categories[$id][$field]; } }
/** * Удаление поста: */ public static function RemovePost($id) { $post = self::GetPost($id); Blog_BlogCategoryModel::CountCategory($post['category'], false); EventModel::getInstance()->Broadcast('remove_post', $id); $dbh = PDOQuery::getInstance(); $dbh->delete('1chan_post', 'id = ' . $dbh->q($id), 1); $dbh->delete('1chan_comment', 'post_id = ' . $dbh->q($id)); return true; }
/** * Действие предпросмотра поста (ajax): */ public function previewPostAjaxAction(Application $application) { $preview = array(); $preview['title'] = TexyHelper::typo(@$_POST['title']); $preview['text'] = TexyHelper::markup(@$_POST['text'], true); $preview['text_full'] = TexyHelper::markup(@$_POST['text_full'], true); $preview['icon'] = @$_POST['link'] ? TemplateHelper::getIcon(@$_POST['link']) : 'http://' . TemplateHelper::getSiteUrl() . '/ico/favicons/1chan.ru.gif'; if (array_key_exists('category', $_POST) && !empty($_POST['category'])) { if (Blog_BlogCategoryModel::CategoryExists($_POST['category'])) { $category = Blog_BlogCategoryModel::GetCategoryByCode($_POST['category']); $preview['category'] = TemplateHelper::BlogCategory($category['id'], 'title'); } } return $preview; }
/** * Удаление категория: */ public function postCategoryDeleteAction(Application $application, Template $template) { Blog_BlogCategoryModel::RemoveCategory($_GET['id']); $template->headerSeeOther('http://' . TemplateHelper::getSiteUrl() . '/admin/postCategory/'); exit; }