示例#1
0
 public function get_actions_tree_links()
 {
     $lang = LangLoader::get('common', 'faq');
     $tree = new ModuleTreeLinks();
     $manage_categories_link = new AdminModuleLink(LangLoader::get_message('categories.manage', 'categories-common'), FaqUrlBuilder::manage_categories());
     $manage_categories_link->add_sub_link(new AdminModuleLink(LangLoader::get_message('categories.manage', 'categories-common'), FaqUrlBuilder::manage_categories()));
     $manage_categories_link->add_sub_link(new AdminModuleLink(LangLoader::get_message('category.add', 'categories-common'), FaqUrlBuilder::add_category()));
     $tree->add_link($manage_categories_link);
     $manage_link = new AdminModuleLink($lang['faq.manage'], FaqUrlBuilder::manage());
     $manage_link->add_sub_link(new AdminModuleLink($lang['faq.manage'], FaqUrlBuilder::manage()));
     $manage_link->add_sub_link(new AdminModuleLink($lang['faq.actions.add'], FaqUrlBuilder::add(AppContext::get_request()->get_getint('id_category', Category::ROOT_CATEGORY))));
     $tree->add_link($manage_link);
     $tree->add_link(new AdminModuleLink(LangLoader::get_message('configuration', 'admin-common'), FaqUrlBuilder::configuration()));
     if (!AppContext::get_current_user()->check_level(User::ADMIN_LEVEL)) {
         $tree->add_link(new ModuleLink($lang['faq.actions.add'], FaqUrlBuilder::add(AppContext::get_request()->get_getint('id_category', Category::ROOT_CATEGORY)), FaqAuthorizationsService::check_authorizations()->write() || FaqAuthorizationsService::check_authorizations()->contribution()));
     }
     $tree->add_link(new ModuleLink($lang['faq.pending'], FaqUrlBuilder::display_pending(), FaqAuthorizationsService::check_authorizations()->write() || FaqAuthorizationsService::check_authorizations()->contribution() || FaqAuthorizationsService::check_authorizations()->moderation()));
     return $tree;
 }
 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 redirect()
 {
     $faq_question = $this->get_faq_question();
     $category = $faq_question->get_category();
     if ($this->is_new_faq_question && $this->is_contributor_member() && !$faq_question->is_approved()) {
         DispatchManager::redirect(new UserContributionSuccessController());
     } elseif ($faq_question->is_approved()) {
         if ($this->is_new_faq_question) {
             AppContext::get_response()->redirect(FaqUrlBuilder::display($category->get_id(), $category->get_rewrited_name(), $faq_question->get_id()), StringVars::replace_vars($this->lang['faq.message.success.add'], array('question' => $faq_question->get_question())));
         } else {
             AppContext::get_response()->redirect($this->form->get_value('referrer') ? $this->form->get_value('referrer') : FaqUrlBuilder::display($category->get_id(), $category->get_rewrited_name(), $faq_question->get_id()), StringVars::replace_vars($this->lang['faq.message.success.edit'], array('question' => $faq_question->get_question())));
         }
     } else {
         if ($this->is_new_faq_question) {
             AppContext::get_response()->redirect(FaqUrlBuilder::display_pending(), StringVars::replace_vars($this->lang['faq.message.success.add'], array('question' => $faq_question->get_question())));
         } else {
             AppContext::get_response()->redirect($this->form->get_value('referrer') ? $this->form->get_value('referrer') : FaqUrlBuilder::display_pending(), StringVars::replace_vars($this->lang['faq.message.success.edit'], array('question' => $faq_question->get_question())));
         }
     }
 }