public function execute(HTTPRequestCustom $request) { AppContext::get_session()->csrf_get_protect(); $news = $this->get_news($request); if (!$news->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); } NewsService::delete('WHERE id=:id', array('id' => $news->get_id())); NewsService::get_keywords_manager()->delete_relations($news->get_id()); PersistenceContext::get_querier()->delete(DB_TABLE_EVENTS, 'WHERE module=:module AND id_in_module=:id', array('module' => 'news', 'id' => $news->get_id())); CommentsService::delete_comments_topic_module('news', $news->get_id()); Feed::clear_cache('news'); AppContext::get_response()->redirect($request->get_url_referrer() ? $request->get_url_referrer() : NewsUrlBuilder::home(), StringVars::replace_vars(LangLoader::get_message('news.message.success.delete', 'common', 'news'), array('name' => $news->get_name()))); }
private function generate_response(View $tpl) { $news = $this->get_news(); $response = new SiteDisplayResponse($tpl); $graphical_environment = $response->get_graphical_environment(); $breadcrumb = $graphical_environment->get_breadcrumb(); $breadcrumb->add($this->lang['news'], NewsUrlBuilder::home()); if ($this->get_news()->get_id() === null) { $graphical_environment->set_page_title($this->lang['news.add'], $this->lang['news']); $breadcrumb->add($this->lang['news.add'], NewsUrlBuilder::add_news($news->get_id_cat())); $graphical_environment->get_seo_meta_data()->set_description($this->lang['news.add']); $graphical_environment->get_seo_meta_data()->set_canonical_url(NewsUrlBuilder::add_news($news->get_id_cat())); } else { $graphical_environment->set_page_title($this->lang['news.edit'], $this->lang['news']); $graphical_environment->get_seo_meta_data()->set_description($this->lang['news.edit']); $graphical_environment->get_seo_meta_data()->set_canonical_url(NewsUrlBuilder::edit_news($news->get_id())); $categories = array_reverse(NewsService::get_categories_manager()->get_parents($news->get_id_cat(), true)); foreach ($categories as $id => $category) { if ($category->get_id() != Category::ROOT_CATEGORY) { $breadcrumb->add($category->get_name(), NewsUrlBuilder::display_category($category->get_id(), $category->get_rewrited_name())); } } $category = $news->get_category(); $breadcrumb->add($news->get_name(), NewsUrlBuilder::display_news($category->get_id(), $category->get_rewrited_name(), $news->get_id(), $news->get_rewrited_name())); $breadcrumb->add($this->lang['news.edit'], NewsUrlBuilder::edit_news($news->get_id())); } return $response; }
private function generate_response() { $response = new SiteDisplayResponse($this->tpl); $graphical_environment = $response->get_graphical_environment(); $graphical_environment->set_page_title($this->lang['news.pending'], $this->lang['news']); $graphical_environment->get_seo_meta_data()->set_description($this->lang['news.seo.description.pending']); $graphical_environment->get_seo_meta_data()->set_canonical_url(NewsUrlBuilder::display_pending_news(AppContext::get_request()->get_getint('page', 1))); $breadcrumb = $graphical_environment->get_breadcrumb(); $breadcrumb->add($this->lang['news'], NewsUrlBuilder::home()); $breadcrumb->add($this->lang['news.pending'], NewsUrlBuilder::display_pending_news()); return $response; }
private function generate_response() { $response = new SiteDisplayResponse($this->tpl); $graphical_environment = $response->get_graphical_environment(); $graphical_environment->set_page_title($this->get_keyword()->get_name(), $this->lang['news']); $graphical_environment->get_seo_meta_data()->set_description(StringVars::replace_vars($this->lang['news.seo.description.tag'], array('subject' => $this->get_keyword()->get_name()))); $graphical_environment->get_seo_meta_data()->set_canonical_url(NewsUrlBuilder::display_tag($this->get_keyword()->get_rewrited_name(), AppContext::get_request()->get_getint('page', 1))); $breadcrumb = $graphical_environment->get_breadcrumb(); $breadcrumb->add($this->lang['news'], NewsUrlBuilder::home()); $breadcrumb->add($this->get_keyword()->get_name(), NewsUrlBuilder::display_tag($this->get_keyword()->get_rewrited_name(), AppContext::get_request()->get_getint('page', 1))); return $response; }
private function generate_response() { $response = new SiteDisplayResponse($this->tpl); $graphical_environment = $response->get_graphical_environment(); $graphical_environment->set_page_title($this->get_category()->get_name(), $this->lang['news']); $graphical_environment->get_seo_meta_data()->set_description($this->get_category()->get_description()); $graphical_environment->get_seo_meta_data()->set_canonical_url(NewsUrlBuilder::display_category($this->get_category()->get_id(), $this->get_category()->get_rewrited_name(), AppContext::get_request()->get_getint('page', 1))); $breadcrumb = $graphical_environment->get_breadcrumb(); $breadcrumb->add($this->lang['news'], NewsUrlBuilder::home()); $categories = array_reverse(NewsService::get_categories_manager()->get_parents($this->get_category()->get_id(), true)); foreach ($categories as $id => $category) { if ($category->get_id() != Category::ROOT_CATEGORY) { $breadcrumb->add($category->get_name(), NewsUrlBuilder::display_category($category->get_id(), $category->get_rewrited_name())); } } return $response; }