Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
| Total | |
100.00% |
1 / 1 |
|
100.00% |
4 / 4 |
CRAP | |
100.00% |
27 / 27 |
| manager | |
100.00% |
1 / 1 |
|
100.00% |
4 / 4 |
7 | |
100.00% |
27 / 27 |
| __construct | |
100.00% |
1 / 1 |
1 | |
100.00% |
4 / 4 |
|||
| add_block | |
100.00% |
1 / 1 |
4 | |
100.00% |
13 / 13 |
|||
| add_question | |
100.00% |
1 / 1 |
1 | |
100.00% |
9 / 9 |
|||
| switched_column | |
100.00% |
1 / 1 |
1 | |
100.00% |
1 / 1 |
|||
| <?php | |
| /** | |
| * | |
| * This file is part of the phpBB Forum Software package. | |
| * | |
| * @copyright (c) phpBB Limited <https://www.phpbb.com> | |
| * @license GNU General Public License, version 2 (GPL-2.0) | |
| * | |
| * For full copyright and license information, please see | |
| * the docs/CREDITS.txt file. | |
| * | |
| */ | |
| namespace phpbb\help; | |
| /** | |
| * Class help page manager | |
| */ | |
| class manager | |
| { | |
| /** @var \phpbb\event\dispatcher_interface */ | |
| protected $dispatcher; | |
| /** @var \phpbb\language\language */ | |
| protected $language; | |
| /** @var \phpbb\template\template */ | |
| protected $template; | |
| /** @var bool */ | |
| protected $switched_column; | |
| /** | |
| * Constructor | |
| * | |
| * @param \phpbb\event\dispatcher_interface $dispatcher | |
| * @param \phpbb\language\language $language | |
| * @param \phpbb\template\template $template | |
| */ | |
| public function __construct(\phpbb\event\dispatcher_interface $dispatcher, \phpbb\language\language $language, \phpbb\template\template $template) | |
| { | |
| $this->dispatcher = $dispatcher; | |
| $this->language = $language; | |
| $this->template = $template; | |
| } | |
| /** | |
| * Add a new faq block | |
| * | |
| * @param string $block_name Name or language key with the name of the block | |
| * @param bool $switch_column Switch the column of the menu | |
| * @param array $questions Array of frequently asked questions | |
| */ | |
| public function add_block($block_name, $switch_column = false, $questions = array()) | |
| { | |
| /** | |
| * You can use this event to add a block before the current one. | |
| * | |
| * @event core.help_manager_add_block_before | |
| * @var string block_name Language key of the block headline | |
| * @var bool switch_column Should we switch the menu column before this headline | |
| * @var array questions Array with questions | |
| * @since 3.2.0-a1 | |
| */ | |
| $vars = array('block_name', 'switch_column', 'questions'); | |
| extract($this->dispatcher->trigger_event('core.help_manager_add_block_before', compact($vars))); | |
| $this->template->assign_block_vars('faq_block', array( | |
| 'BLOCK_TITLE' => $this->language->lang($block_name), | |
| 'SWITCH_COLUMN' => !$this->switched_column && $switch_column, | |
| )); | |
| foreach ($questions as $question => $answer) | |
| { | |
| $this->add_question($question, $answer); | |
| } | |
| $this->switched_column = $this->switched_column || $switch_column; | |
| /** | |
| * You can use this event to add a block after the current one. | |
| * | |
| * @event core.help_manager_add_block_after | |
| * @var string block_name Language key of the block headline | |
| * @var bool switch_column Should we switch the menu column before this headline | |
| * @var array questions Array with questions | |
| * @since 3.2.0-a1 | |
| */ | |
| $vars = array('block_name', 'switch_column', 'questions'); | |
| extract($this->dispatcher->trigger_event('core.help_manager_add_block_after', compact($vars))); | |
| } | |
| /** | |
| * Add a new faq question | |
| * | |
| * @param string $question Question or language key with the question of the block | |
| * @param string $answer Answer or language key with the answer of the block | |
| */ | |
| public function add_question($question, $answer) | |
| { | |
| /** | |
| * You can use this event to add a question before the current one. | |
| * | |
| * @event core.help_manager_add_question_before | |
| * @var string question Language key of the question | |
| * @var string answer Language key of the answer | |
| * @since 3.2.0-a1 | |
| */ | |
| $vars = array('question', 'answer'); | |
| extract($this->dispatcher->trigger_event('core.help_manager_add_question_before', compact($vars))); | |
| $this->template->assign_block_vars('faq_block.faq_row', array( | |
| 'FAQ_QUESTION' => $this->language->lang($question), | |
| 'FAQ_ANSWER' => $this->language->lang($answer), | |
| )); | |
| /** | |
| * You can use this event to add a question after the current one. | |
| * | |
| * @event core.help_manager_add_question_after | |
| * @var string question Language key of the question | |
| * @var string answer Language key of the answer | |
| * @since 3.2.0-a1 | |
| */ | |
| $vars = array('question', 'answer'); | |
| extract($this->dispatcher->trigger_event('core.help_manager_add_question_after', compact($vars))); | |
| } | |
| /** | |
| * Returns whether the block titles switched side | |
| * @return bool | |
| */ | |
| public function switched_column() | |
| { | |
| return $this->switched_column; | |
| } | |
| } |