/** * Добавление поста в базу данных: */ public static function CreatePost($params, $safeMode = true) { $session = Session::getInstance(); $cache = KVS::getInstance(); $id = $cache->incr('Blog_BlogPostsModel', null, 'nextPostId'); $text_original = $params['text']; $params['title'] = TexyHelper::typo($params['title']); $params['text'] = TexyHelper::markup($params['text'], !$session->isAdminSession()); $params['text_full'] = TexyHelper::markup($params['text_full'], !$session->isAdminSession()); $record = array('id' => $id, 'ip' => $_SERVER['REMOTE_ADDR'], 'category' => 0, 'created_at' => time(), 'updated_at' => time(), 'link' => htmlspecialchars($params['link']), 'title' => $params['title'], 'text' => $params['text'], 'text_full' => $params['text_full']); if (HomeBoardHelper::existsBoard($params['homeboard'])) { $record['author'] = $params['homeboard']; } if (!$safeMode) { $record = array_merge($record, array('hidden' => (bool) @$params['hidden'], 'pinned' => (bool) @$params['pinned'], 'rated' => (bool) @$params['rated'], 'closed' => (bool) @$params['closed'], 'rateable' => (bool) @$params['rateable'], 'bumpable' => (bool) @$params['bumpable'], 'special_comment' => @$params['special_comment'])); } if (array_key_exists('category', $params) && !empty($params['category'])) { $category = Blog_BlogCategoryModel::GetCategoryByCode($params['category']); if ($category) { Blog_BlogCategoryModel::CountCategory($category['id'], true); $record['category'] = $category['id']; } } $dbh = PDOQuery::getInstance(); $dbh->insert('1chan_post', $record); $cache->set(__CLASS__, $id, 'raters', serialize(array($_SERVER['REMOTE_ADDR']))); $record['text_original'] = $text_original; EventModel::getInstance()->Broadcast('add_post', $record); return $id; }
/** * Действие предпросмотра поста (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; }