query("SELECT * FROM " . $config["prefix"] . "module"); while ($row = $db->fetch_array($result)){ $this->plugin_[$row["file"]] = $row; if($row["module"]=""){ //$plugin="$ }else{ } //include_once(); } } function use_hook($name,$function,$order=20,$file="") { if(is_array($function)){ $fname=serialize($function); }else{ $fname=$function; } if(!empty($this->hooks[$name][$order][$fname]) && is_array($this->hooks[$name][$order][$fname])){ return true; } $this->hooks[$name][$order][$fname] = array( "function" => $function, "file" => $file ); return true; } function run_hook($name,$variables=array()) { if(empty($this->hooks)){ return false; } if(array_key_exists($name,$this->hooks)){ if(!is_array($this->hooks[$name])) { return false; } $this->current_hook = $name; ksort($this->hooks[$name]); foreach($this->hooks[$name] as $priority => $hooks) { if(is_array($hooks)) { foreach($hooks as $hook) { if($hook['file']) { require_once $hook['file']; } if(!is_array($variables)) $variables=array(); $return = call_user_func_array($hook['function'], $variables); } } } $this->current_hook = ''; return $return; } return false; } } ?>