Пример #1
0
 /**
  * Добавление поста в базу данных:
  */
 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;
 }
Пример #2
0
 /**
  * Действие предпросмотра поста (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;
 }