private function get_keyword() { if ($this->keyword === null) { $rewrited_name = AppContext::get_request()->get_getstring('tag', ''); if (!empty($rewrited_name)) { try { $this->keyword = ArticlesService::get_keywords_manager()->get_keyword('WHERE rewrited_name=:rewrited_name', array('rewrited_name' => $rewrited_name)); } catch (RowNotFoundException $e) { $error_controller = PHPBoostErrors::unexisting_page(); DispatchManager::redirect($error_controller); } } else { $error_controller = PHPBoostErrors::unexisting_page(); DispatchManager::redirect($error_controller); } } return $this->keyword; }
public function execute(HTTPRequestCustom $request) { AppContext::get_session()->csrf_get_protect(); $article = $this->get_article($request); if (!$article->is_authorized_to_delete()) { $error_controller = PHPBoostErrors::user_not_authorized(); DispatchManager::redirect($error_controller); } if (AppContext::get_current_user()->is_readonly()) { $controller = PHPBoostErrors::user_in_read_only(); DispatchManager::redirect($controller); } ArticlesService::delete('WHERE id=:id', array('id' => $article->get_id())); ArticlesService::get_keywords_manager()->delete_relations($article->get_id()); PersistenceContext::get_querier()->delete(DB_TABLE_EVENTS, 'WHERE module=:module AND id_in_module=:id', array('module' => 'articles', 'id' => $article->get_id())); CommentsService::delete_comments_topic_module('articles', $article->get_id()); NotationService::delete_notes_id_in_module('articles', $article->get_id()); Feed::clear_cache('articles'); AppContext::get_response()->redirect($request->get_url_referrer() ? $request->get_url_referrer() : ArticlesUrlBuilder::home(), StringVars::replace_vars(LangLoader::get_message('articles.message.success.delete', 'common', 'articles'), array('title' => $article->get_title()))); }
private function save() { $article = $this->get_article(); $article->set_title($this->form->get_value('title')); $article->set_id_category($this->form->get_value('id_category')->get_raw_value()); $article->set_description($this->form->get_value('enable_description') ? $this->form->get_value('description') : ''); $article->set_contents($this->form->get_value('contents')); $author_name_displayed = $this->form->get_value('author_name_displayed') ? $this->form->get_value('author_name_displayed') : Article::AUTHOR_NAME_NOTDISPLAYED; $article->set_author_name_displayed($author_name_displayed); $notation_enabled = $this->form->get_value('notation_enabled') ? $this->form->get_value('notation_enabled') : Article::NOTATION_DISABLED; $article->set_notation_enabled($notation_enabled); $article->set_picture(new Url($this->form->get_value('picture'))); $article->set_sources($this->form->get_value('sources')); if ($this->is_contributor_member()) { if ($article->get_id() === null) { $article->set_date_created(new Date()); } $article->set_rewrited_title(Url::encode_rewrite($article->get_title())); $article->set_publishing_state(Article::NOT_PUBLISHED); $article->clean_publishing_start_and_end_date(); } else { $article->set_date_created($this->form->get_value('date_created')); $rewrited_title = $this->form->get_value('rewrited_title', ''); $rewrited_title = $this->form->get_value('personalize_rewrited_title') && !empty($rewrited_title) ? $rewrited_title : Url::encode_rewrite($article->get_title()); $article->set_rewrited_title($rewrited_title); $article->set_publishing_state($this->form->get_value('publishing_state')->get_raw_value()); if ($article->get_publishing_state() == Article::PUBLISHED_DATE) { $article->set_publishing_start_date($this->form->get_value('publishing_start_date')); if ($this->form->get_value('end_date_enable')) { $article->set_publishing_end_date($this->form->get_value('publishing_end_date')); } else { $article->clean_publishing_end_date(); } } else { $article->clean_publishing_start_and_end_date(); } } if ($article->get_id() === null) { $article->set_author_user(AppContext::get_current_user()); $id_article = ArticlesService::add($article); } else { $now = new Date(); $article->set_date_updated($now); $id_article = $article->get_id(); ArticlesService::update($article); } $this->contribution_actions($article, $id_article); ArticlesService::get_keywords_manager()->put_relations($id_article, $this->form->get_value('keywords')); Feed::clear_cache('articles'); }
public function uninstall() { $this->drop_tables(); ConfigManager::delete('articles', 'config'); ArticlesService::get_keywords_manager()->delete_module_relations(); }
public function get_keywords() { if ($this->keywords === null) { $this->keywords = ArticlesService::get_keywords_manager()->get_keywords($this->id); } return $this->keywords; }