Пример #1
0
 /**
  * Display FAQ item.
  *
  * @param string $contrib_type		Contrib type URL identifier.
  * @param string $contrib			Contrib name clean.
  * @param int $id					FAQ item id
  *
  * @return \Symfony\Component\HttpFoundation\Response
  */
 public function display_item($contrib_type, $contrib, $id)
 {
     $this->setup($contrib_type, $contrib);
     $this->load_item($id);
     if ($this->faq->faq_access < $this->access->get_level()) {
         return $this->helper->needs_auth();
     }
     // Increase a FAQ views counter
     $this->faq->increase_views_counter();
     // Tracking
     $this->tracking->track(TITANIA_FAQ, $this->id);
     $message = $this->faq->generate_text_for_display();
     // Grab attachments
     $this->attachments->configure(TITANIA_FAQ, $this->id)->load();
     $parsed_attachments = $this->attachments->parse_attachments($message);
     foreach ($parsed_attachments as $attachment) {
         $this->template->assign_block_vars('attachment', array('DISPLAY_ATTACHMENT' => $attachment));
     }
     $this->template->assign_vars(array('FAQ_SUBJECT' => $this->faq->faq_subject, 'FAQ_TEXT' => $message, 'FAQ_VIEWS' => $this->faq->faq_views, 'S_DETAILS' => true, 'S_ACCESS_TEAMS' => $this->access->is_team($this->faq->faq_access), 'S_ACCESS_AUTHORS' => $this->access->is_author($this->faq->faq_access), 'U_CANONICAL' => $this->faq->get_url(), 'U_EDIT_FAQ' => $this->check_auth('edit') ? $this->faq->get_url('edit') : false));
     $this->assign_vars();
     return $this->helper->render('contributions/contribution_faq.html', $this->faq->faq_subject . ' - ' . $this->contrib->contrib_name);
 }
Пример #2
0
         trigger_error('MUST_SELECT_FAQ');
     }
     $faq->move($row, $action, 1);
     redirect(titania::$contrib->get_url('faq'));
     break;
 default:
     if ($faq_id) {
         titania::page_header($faq->faq_subject . ' - ' . titania::$contrib->contrib_name);
         if ($faq->faq_access < titania::$access_level) {
             trigger_error('NOT_AUTHORISED');
         }
         // increase a FAQ views counter
         $faq->increase_views_counter();
         // tracking
         titania_tracking::track(TITANIA_FAQ, $faq_id);
         $message = $faq->generate_text_for_display();
         // Grab attachments
         $attachments = new titania_attachment(TITANIA_FAQ, $faq->faq_id);
         $attachments->load_attachments();
         $parsed_attachments = $attachments->parse_attachments($message);
         phpbb::$template->assign_vars(array('FAQ_SUBJECT' => $faq->faq_subject, 'FAQ_TEXT' => $message, 'FAQ_VIEWS' => $faq->faq_views, 'S_DETAILS' => true, 'S_ACCESS_TEAMS' => $faq->faq_access == TITANIA_ACCESS_TEAMS ? true : false, 'S_ACCESS_AUTHORS' => $faq->faq_access == TITANIA_ACCESS_AUTHORS ? true : false, 'U_EDIT_FAQ' => titania::$contrib->is_author || phpbb::$auth->acl_get('u_titania_faq_edit') ? $faq->get_url('edit') : false, 'U_CANONICAL' => $faq->get_url()));
         foreach ($parsed_attachments as $attachment) {
             phpbb::$template->assign_block_vars('attachment', array('DISPLAY_ATTACHMENT' => $attachment));
         }
     } else {
         titania::page_header(titania::$contrib->contrib_name . ' - ' . phpbb::$user->lang['FAQ_LIST']);
         titania::_include('functions_display', 'titania_topic_folder_img');
         // Setup the sort tool
         $sort = new titania_sort();
         $sort->set_url(titania::$contrib->get_url('faq'));
         $sort->set_defaults(phpbb::$config['topics_per_page']);