Bontiv-Sourceer source code viewer
Root | Help
./bontiv-cms/core/core_signal.php
<?php
class core_signal {
   
    static private
$signal = array();
   
    static public function
SetHandle($signal, $function)
    {
       
self::$signal[$signal][] = $function;
    }
   
    static public function
RmHandle($signal, $function)
    {
        if (isset(
self::$signal[$signal]) && in_array($function, self::$signal[$signal]))
        {
           
$key = array_keys(self::$signal[$signal], $function);
            unset(
self::$signal[$signal][$key[0]]);
        }
    }
   
    static public function
NewSignal($signal, &$args = array())
    {
       
$ret = array();
        if (isset(
self::$signal[$signal]) && is_array(self::$signal[$signal]))
            foreach (
self::$signal[$signal] as $function)
            {
               
$ret[] = call_user_func_array($function, $args);
            }
        return
$ret;
    }
   
    static public function
SmpSignal($signal)
    {
       
$args = func_get_args();
        unset(
$args[0]);
       
self::NewSignal($signal, $args);
    }
}
Presented with Bontiv-Sourceer