1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-02-24 03:54:10 +01:00

[ticket/11043] Allow call_hook() to be called from more than one location.

Allow the helper function call_hook() of class phpbb_template to be called
from more than once location and thus for more than one hook (although there is
only one) by adding the method name as a parameter.

PHPBB3-11043
This commit is contained in:
Andreas Fischer 2012-08-03 12:34:07 +02:00 committed by Patrick Webster
parent 10f8c738b6
commit ae612de663

View File

@ -139,7 +139,7 @@ class phpbb_template
*/
public function display($handle)
{
$result = $this->call_hook($handle);
$result = $this->call_hook($handle, __FUNCTION__);
if ($result !== false)
{
return $result[0];
@ -174,16 +174,17 @@ class phpbb_template
* Calls hook if any is defined.
*
* @param string $handle Template handle being displayed.
* @param string $method Method name of the caller.
*/
private function call_hook($handle)
private function call_hook($handle, $method)
{
global $phpbb_hook;
if (!empty($phpbb_hook) && $phpbb_hook->call_hook(array(__CLASS__, __FUNCTION__), $handle, $this))
if (!empty($phpbb_hook) && $phpbb_hook->call_hook(array(__CLASS__, $method), $handle, $this))
{
if ($phpbb_hook->hook_return(array(__CLASS__, __FUNCTION__)))
if ($phpbb_hook->hook_return(array(__CLASS__, $method)))
{
$result = $phpbb_hook->hook_return_result(array(__CLASS__, __FUNCTION__));
$result = $phpbb_hook->hook_return_result(array(__CLASS__, $method));
return array($result);
}
}