/** * 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); }
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']);