PHP4 compatibility

git-svn-id: file:///svn/phpbb/trunk@8104 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
Meik Sievertsen 2007-09-23 13:14:28 +00:00
parent 6e2d395da9
commit 91f5af494b
3 changed files with 19 additions and 20 deletions

View file

@ -434,11 +434,11 @@ class my_hookable_object
{
global $phpbb_hook;
if ($phpbb_hook->call_hook(array(get_class(), __FUNCTION__), $my_first_parameter, $my_second_parameter))
if ($phpbb_hook->call_hook(array(get_class($this), __FUNCTION__), $my_first_parameter, $my_second_parameter))
{
if ($phpbb_hook->hook_return(array(get_class(), __FUNCTION__)))
if ($phpbb_hook->hook_return(array(get_class($this), __FUNCTION__)))
{
return $phpbb_hook->hook_return_result(array(get_class(), __FUNCTION__));
return $phpbb_hook->hook_return_result(array(get_class($this), __FUNCTION__));
}
}
@ -447,7 +447,7 @@ class my_hookable_object
}
</pre></div>
<p>The only difference about calling it is the way you define the first parameter. For a function it is only <code>__FUNCTION__</code>, for a method it is <code>array(get_class(), __FUNCTION__)</code>.</p>
<p>The only difference about calling it is the way you define the first parameter. For a function it is only <code>__FUNCTION__</code>, for a method it is <code>array(get_class($this), __FUNCTION__)</code>. Since PHP 5.0.0 the get_class() function no longer requires the object to be given, you simply write: <code>array(get_class(), __FUNCTION__)</code>.</p>
<p>Now, in phpBB there are some pre-defined hooks available, but how do you make your own hookable function available (and therefore allowing others to hook into it)? For this, there is the add_hook() method:</p>
@ -579,11 +579,11 @@ class my_hookable_object2 extends my_hookable_object
{
global $phpbb_hook;
if ($phpbb_hook-&gt;call_hook(array(get_class(), __FUNCTION__), $my_first_parameter, $my_second_parameter))
if ($phpbb_hook-&gt;call_hook(array(get_class($this), __FUNCTION__), $my_first_parameter, $my_second_parameter))
{
if ($phpbb_hook-&gt;hook_return(array(get_class(), __FUNCTION__)))
if ($phpbb_hook-&gt;hook_return(array(get_class($this), __FUNCTION__)))
{
return $phpbb_hook-&gt;hook_return_result(array(get_class(), __FUNCTION__));
return $phpbb_hook-&gt;hook_return_result(array(get_class($this), __FUNCTION__));
}
}
}
@ -636,11 +636,11 @@ class my_hookable_object2 extends my_hookable_object
{
global $phpbb_hook;
if ($phpbb_hook-&gt;call_hook(array(get_class(), __FUNCTION__), $my_first_parameter, $my_second_parameter))
if ($phpbb_hook-&gt;call_hook(array(get_class($this), __FUNCTION__), $my_first_parameter, $my_second_parameter))
{
if ($phpbb_hook-&gt;hook_return(array(get_class(), __FUNCTION__)))
if ($phpbb_hook-&gt;hook_return(array(get_class($this), __FUNCTION__)))
{
return $phpbb_hook-&gt;hook_return_result(array(get_class(), __FUNCTION__));
return $phpbb_hook-&gt;hook_return_result(array(get_class($this), __FUNCTION__));
}
}
}

View file

@ -59,7 +59,7 @@ class phpbb_hook
* Register function/method to be called within hook
* This function is normally called by the modification/application to attach/register the functions.
*
* @param mixed $definition Declaring function (with __FUNCTION__) or class with array(get_class(), __FUNCTION)
* @param mixed $definition Declaring function (with __FUNCTION__) or class with array(get_class([$object]), __FUNCTION) (PHP4 requires $object to be given)
* @param mixed $hook The replacement function/method to be called. Passing function name or array with object/class definition
* @param string $mode Specify the priority/chain mode. 'normal' -> hook gets appended to the chain. 'standalone' -> only the specified hook gets called - later hooks are not able to overwrite this (E_NOTICE is triggered then). 'first' -> hook is called as the first one within the chain. 'last' -> hook is called as the last one within the chain.
*/
@ -154,7 +154,7 @@ class phpbb_hook
/**
* Get result from previously called functions/methods for the same hook
*
* @param mixed $definition Declaring function (with __FUNCTION__) or class with array(get_class(), __FUNCTION)
* @param mixed $definition Declaring function (with __FUNCTION__) or class with array(get_class([$object]), __FUNCTION) (PHP4 requires $object to be given)
* @return mixed False if nothing returned if there is no result, else array('result' => ... )
*/
function previous_hook_result($definition)
@ -173,7 +173,7 @@ class phpbb_hook
/**
* Check if the called functions/methods returned something.
*
* @param mixed $definition Declaring function (with __FUNCTION__) or class with array(get_class(), __FUNCTION)
* @param mixed $definition Declaring function (with __FUNCTION__) or class with array(get_class([$object]), __FUNCTION) (PHP4 requires $object to be given)
* @return bool True if results are there, false if not
*/
function hook_return($definition)
@ -192,7 +192,7 @@ class phpbb_hook
/**
* Give actual result from called functions/methods back.
*
* @param mixed $definition Declaring function (with __FUNCTION__) or class with array(get_class(), __FUNCTION)
* @param mixed $definition Declaring function (with __FUNCTION__) or class with array(get_class([$object]), __FUNCTION) (PHP4 requires $object to be given)
* @return mixed The result
*/
function hook_return_result($definition)
@ -213,7 +213,7 @@ class phpbb_hook
/**
* Add new function to the allowed hooks.
*
* @param mixed $definition Declaring function (with __FUNCTION__) or class with array(get_class(), __FUNCTION)
* @param mixed $definition Declaring function (with __FUNCTION__) or class with array(get_class([$object]), __FUNCTION) (PHP4 requires $object to be given)
*/
function add_hook($definition)
{
@ -228,7 +228,7 @@ class phpbb_hook
/**
* Remove function from the allowed hooks.
*
* @param mixed $definition Declaring function (with __FUNCTION__) or class with array(get_class(), __FUNCTION)
* @param mixed $definition Declaring function (with __FUNCTION__) or class with array(get_class([$object]), __FUNCTION) (PHP4 requires $object to be given)
*/
function remove_hook($definition)
{

View file

@ -149,12 +149,11 @@ class template
{
global $user, $phpbb_hook;
// To let users change the complete templated page (all variables available)
if ($phpbb_hook->call_hook(array(get_class(), __FUNCTION__), $handle, $include_once))
if ($phpbb_hook->call_hook(array(get_class($this), __FUNCTION__), $handle, $include_once))
{
if ($phpbb_hook->hook_return(array(get_class(), __FUNCTION__)))
if ($phpbb_hook->hook_return(array(get_class($this), __FUNCTION__)))
{
return $phpbb_hook->hook_return_result(array(get_class(), __FUNCTION__));
return $phpbb_hook->hook_return_result(array(get_class($this), __FUNCTION__));
}
}