public function execute(HTTPRequestCustom $request)
 {
     AppContext::get_session()->csrf_get_protect();
     $question = $this->get_faq_question($request);
     $this->check_authorizations($question);
     $this->delete_question($question);
     AppContext::get_response()->redirect($request->get_url_referrer() ? $request->get_url_referrer() : FaqUrlBuilder::home(), StringVars::replace_vars(LangLoader::get_message('faq.message.success.delete', 'common', 'faq'), array('question' => $question->get_question())));
 }
 private function generate_response()
 {
     $response = new SiteDisplayResponse($this->tpl);
     $graphical_environment = $response->get_graphical_environment();
     $graphical_environment->set_page_title($this->lang['faq.pending'], $this->lang['module_title']);
     $graphical_environment->get_seo_meta_data()->set_description($this->lang['faq.seo.description.pending']);
     $graphical_environment->get_seo_meta_data()->set_canonical_url(FaqUrlBuilder::display_pending());
     $breadcrumb = $graphical_environment->get_breadcrumb();
     $breadcrumb->add($this->lang['module_title'], FaqUrlBuilder::home());
     $breadcrumb->add($this->lang['faq.pending'], FaqUrlBuilder::display_pending());
     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['module_title']);
     $graphical_environment->get_seo_meta_data()->set_description($this->get_category()->get_description());
     $graphical_environment->get_seo_meta_data()->set_canonical_url(FaqUrlBuilder::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['module_title'], FaqUrlBuilder::home());
     $categories = array_reverse(FaqService::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(), FaqUrlBuilder::display_category($category->get_id(), $category->get_rewrited_name()));
         }
     }
     return $response;
 }
 private function generate_response(View $tpl)
 {
     $faq_question = $this->get_faq_question();
     $response = new SiteDisplayResponse($tpl);
     $graphical_environment = $response->get_graphical_environment();
     $breadcrumb = $graphical_environment->get_breadcrumb();
     $breadcrumb->add($this->lang['module_title'], FaqUrlBuilder::home());
     if ($faq_question->get_id() === null) {
         $graphical_environment->set_page_title($this->lang['faq.add'], $this->lang['module_title']);
         $breadcrumb->add($this->lang['faq.add'], FaqUrlBuilder::add($faq_question->get_id_category()));
         $graphical_environment->get_seo_meta_data()->set_description($this->lang['faq.add']);
         $graphical_environment->get_seo_meta_data()->set_canonical_url(FaqUrlBuilder::add($faq_question->get_id_category()));
     } else {
         $graphical_environment->set_page_title($this->lang['faq.edit'], $this->lang['module_title']);
         $graphical_environment->get_seo_meta_data()->set_description($this->lang['faq.edit']);
         $graphical_environment->get_seo_meta_data()->set_canonical_url(FaqUrlBuilder::edit($faq_question->get_id()));
         $categories = array_reverse(FaqService::get_categories_manager()->get_parents($faq_question->get_id_category(), true));
         foreach ($categories as $id => $category) {
             if ($category->get_id() != Category::ROOT_CATEGORY) {
                 $breadcrumb->add($category->get_name(), FaqUrlBuilder::display_category($category->get_id(), $category->get_rewrited_name()));
             }
         }
         $category = $faq_question->get_category();
         $breadcrumb->add($faq_question->get_question(), FaqUrlBuilder::display($category->get_id(), $category->get_rewrited_name(), $faq_question->get_id()));
         $breadcrumb->add($this->lang['faq.edit'], FaqUrlBuilder::edit($faq_question->get_id()));
     }
     return $response;
 }