1 (edited by User33 2009-01-06 16:25)

Topic: Different Hook Call

Since using 'break' or 'return' to stop a loop or function inside eval() doesn't work, I think this should be used:

Every hook inside functions.

$return = ($hook = get_hook('test')) ? eval($hook) : null;
if ($return != null) return $return;

and inside loops:

$return = ($hook = get_hook('test')) ? eval($hook) : null;
if ($return == FORUM_BREAK) break $break_level;

where 'FORUM_BREAK' is defined as whatever string and $break_level is defined by the developer (optional).

and loops inside functions:

$return = ($hook = get_hook('test')) ? eval($hook) : null;
if ($return == FORUM_BREAK) break $break_level; if ($return != null) return $return;