mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-08 04:18:52 +00:00
[ticket/13844] Add events
PHPBB3-13844
This commit is contained in:
parent
6dcc14bc58
commit
077051fef5
4 changed files with 63 additions and 17 deletions
|
@ -2,14 +2,14 @@ services:
|
|||
phpbb.help.manager:
|
||||
class: phpbb\help\manager
|
||||
arguments:
|
||||
- @template
|
||||
- @dispatcher
|
||||
- @language
|
||||
- @template
|
||||
|
||||
phpbb.help.controller.bbcode:
|
||||
class: phpbb\help\controller\bbcode
|
||||
arguments:
|
||||
- @controller.helper
|
||||
- @dispatcher
|
||||
- @phpbb.help.manager
|
||||
- @template
|
||||
- @language
|
||||
|
@ -20,7 +20,6 @@ services:
|
|||
class: phpbb\help\controller\faq
|
||||
arguments:
|
||||
- @controller.helper
|
||||
- @dispatcher
|
||||
- @phpbb.help.manager
|
||||
- @template
|
||||
- @language
|
||||
|
|
|
@ -21,9 +21,6 @@ abstract class controller
|
|||
/** @var \phpbb\controller\helper */
|
||||
protected $helper;
|
||||
|
||||
/** @var \phpbb\event\dispatcher_interface */
|
||||
protected $dispatcher;
|
||||
|
||||
/** @var \phpbb\help\manager */
|
||||
protected $manager;
|
||||
|
||||
|
@ -43,17 +40,15 @@ abstract class controller
|
|||
* Constructor
|
||||
*
|
||||
* @param \phpbb\controller\helper $helper
|
||||
* @param \phpbb\event\dispatcher_interface $dispatcher
|
||||
* @param \phpbb\help\manager $manager
|
||||
* @param \phpbb\template\template $template
|
||||
* @param \phpbb\language\language $language
|
||||
* @param string $root_path
|
||||
* @param string $php_ext
|
||||
*/
|
||||
public function __construct(\phpbb\controller\helper $helper, \phpbb\event\dispatcher_interface $dispatcher, \phpbb\help\manager $manager, \phpbb\template\template $template, \phpbb\language\language $language, $root_path, $php_ext)
|
||||
public function __construct(\phpbb\controller\helper $helper, \phpbb\help\manager $manager, \phpbb\template\template $template, \phpbb\language\language $language, $root_path, $php_ext)
|
||||
{
|
||||
$this->helper = $helper;
|
||||
$this->dispatcher = $dispatcher;
|
||||
$this->manager = $manager;
|
||||
$this->template = $template;
|
||||
$this->language = $language;
|
||||
|
|
|
@ -18,25 +18,30 @@ namespace phpbb\help;
|
|||
*/
|
||||
class manager
|
||||
{
|
||||
/** @var \phpbb\template\template */
|
||||
protected $template;
|
||||
/** @var \phpbb\event\dispatcher */
|
||||
protected $dispatcher;
|
||||
|
||||
/** @var \phpbb\language\language */
|
||||
protected $language;
|
||||
|
||||
/** @var \phpbb\template\template */
|
||||
protected $template;
|
||||
|
||||
/** @var bool */
|
||||
protected $switched_column;
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*
|
||||
* @param \phpbb\template\template $template
|
||||
* @param \phpbb\event\dispatcher $dispatcher
|
||||
* @param \phpbb\language\language $language
|
||||
* @param \phpbb\template\template $template
|
||||
*/
|
||||
public function __construct(\phpbb\template\template $template, \phpbb\language\language $language)
|
||||
public function __construct(\phpbb\event\dispatcher $dispatcher, \phpbb\language\language $language, \phpbb\template\template $template)
|
||||
{
|
||||
$this->template = $template;
|
||||
$this->dispatcher = $dispatcher;
|
||||
$this->language = $language;
|
||||
$this->template = $template;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -47,6 +52,18 @@ class manager
|
|||
*/
|
||||
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,
|
||||
|
@ -58,6 +75,18 @@ class manager
|
|||
}
|
||||
|
||||
$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)));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -68,10 +97,32 @@ class manager
|
|||
*/
|
||||
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)));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
*
|
||||
*/
|
||||
|
||||
class phpbb_language_test extends phpbb_test_case
|
||||
class phpbb_help_manager_test extends phpbb_test_case
|
||||
{
|
||||
/** @var \phpbb\help\manager */
|
||||
protected $manager;
|
||||
|
@ -30,8 +30,9 @@ class phpbb_language_test extends phpbb_test_case
|
|||
->getMock();
|
||||
|
||||
$this->manager = new \phpbb\help\manager(
|
||||
$this->template,
|
||||
$this->language
|
||||
new \phpbb_mock_event_dispatcher(),
|
||||
$this->language,
|
||||
$this->template
|
||||
);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue