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:
|
phpbb.help.manager:
|
||||||
class: phpbb\help\manager
|
class: phpbb\help\manager
|
||||||
arguments:
|
arguments:
|
||||||
- @template
|
- @dispatcher
|
||||||
- @language
|
- @language
|
||||||
|
- @template
|
||||||
|
|
||||||
phpbb.help.controller.bbcode:
|
phpbb.help.controller.bbcode:
|
||||||
class: phpbb\help\controller\bbcode
|
class: phpbb\help\controller\bbcode
|
||||||
arguments:
|
arguments:
|
||||||
- @controller.helper
|
- @controller.helper
|
||||||
- @dispatcher
|
|
||||||
- @phpbb.help.manager
|
- @phpbb.help.manager
|
||||||
- @template
|
- @template
|
||||||
- @language
|
- @language
|
||||||
|
@ -20,7 +20,6 @@ services:
|
||||||
class: phpbb\help\controller\faq
|
class: phpbb\help\controller\faq
|
||||||
arguments:
|
arguments:
|
||||||
- @controller.helper
|
- @controller.helper
|
||||||
- @dispatcher
|
|
||||||
- @phpbb.help.manager
|
- @phpbb.help.manager
|
||||||
- @template
|
- @template
|
||||||
- @language
|
- @language
|
||||||
|
|
|
@ -21,9 +21,6 @@ abstract class controller
|
||||||
/** @var \phpbb\controller\helper */
|
/** @var \phpbb\controller\helper */
|
||||||
protected $helper;
|
protected $helper;
|
||||||
|
|
||||||
/** @var \phpbb\event\dispatcher_interface */
|
|
||||||
protected $dispatcher;
|
|
||||||
|
|
||||||
/** @var \phpbb\help\manager */
|
/** @var \phpbb\help\manager */
|
||||||
protected $manager;
|
protected $manager;
|
||||||
|
|
||||||
|
@ -43,17 +40,15 @@ abstract class controller
|
||||||
* Constructor
|
* Constructor
|
||||||
*
|
*
|
||||||
* @param \phpbb\controller\helper $helper
|
* @param \phpbb\controller\helper $helper
|
||||||
* @param \phpbb\event\dispatcher_interface $dispatcher
|
|
||||||
* @param \phpbb\help\manager $manager
|
* @param \phpbb\help\manager $manager
|
||||||
* @param \phpbb\template\template $template
|
* @param \phpbb\template\template $template
|
||||||
* @param \phpbb\language\language $language
|
* @param \phpbb\language\language $language
|
||||||
* @param string $root_path
|
* @param string $root_path
|
||||||
* @param string $php_ext
|
* @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->helper = $helper;
|
||||||
$this->dispatcher = $dispatcher;
|
|
||||||
$this->manager = $manager;
|
$this->manager = $manager;
|
||||||
$this->template = $template;
|
$this->template = $template;
|
||||||
$this->language = $language;
|
$this->language = $language;
|
||||||
|
|
|
@ -18,25 +18,30 @@ namespace phpbb\help;
|
||||||
*/
|
*/
|
||||||
class manager
|
class manager
|
||||||
{
|
{
|
||||||
/** @var \phpbb\template\template */
|
/** @var \phpbb\event\dispatcher */
|
||||||
protected $template;
|
protected $dispatcher;
|
||||||
|
|
||||||
/** @var \phpbb\language\language */
|
/** @var \phpbb\language\language */
|
||||||
protected $language;
|
protected $language;
|
||||||
|
|
||||||
|
/** @var \phpbb\template\template */
|
||||||
|
protected $template;
|
||||||
|
|
||||||
/** @var bool */
|
/** @var bool */
|
||||||
protected $switched_column;
|
protected $switched_column;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor
|
* Constructor
|
||||||
*
|
*
|
||||||
* @param \phpbb\template\template $template
|
* @param \phpbb\event\dispatcher $dispatcher
|
||||||
* @param \phpbb\language\language $language
|
* @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->language = $language;
|
||||||
|
$this->template = $template;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -47,6 +52,18 @@ class manager
|
||||||
*/
|
*/
|
||||||
public function add_block($block_name, $switch_column = false, $questions = array())
|
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(
|
$this->template->assign_block_vars('faq_block', array(
|
||||||
'BLOCK_TITLE' => $this->language->lang($block_name),
|
'BLOCK_TITLE' => $this->language->lang($block_name),
|
||||||
'SWITCH_COLUMN' => !$this->switched_column && $switch_column,
|
'SWITCH_COLUMN' => !$this->switched_column && $switch_column,
|
||||||
|
@ -58,6 +75,18 @@ class manager
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->switched_column = $this->switched_column || $switch_column;
|
$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)
|
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(
|
$this->template->assign_block_vars('faq_block.faq_row', array(
|
||||||
'FAQ_QUESTION' => $this->language->lang($question),
|
'FAQ_QUESTION' => $this->language->lang($question),
|
||||||
'FAQ_ANSWER' => $this->language->lang($answer),
|
'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 */
|
/** @var \phpbb\help\manager */
|
||||||
protected $manager;
|
protected $manager;
|
||||||
|
@ -30,8 +30,9 @@ class phpbb_language_test extends phpbb_test_case
|
||||||
->getMock();
|
->getMock();
|
||||||
|
|
||||||
$this->manager = new \phpbb\help\manager(
|
$this->manager = new \phpbb\help\manager(
|
||||||
$this->template,
|
new \phpbb_mock_event_dispatcher(),
|
||||||
$this->language
|
$this->language,
|
||||||
|
$this->template
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue