Viewing file: inc_hooks.php (2.39 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/********************************************************************************
- MemHT Portal -
Copyright (C) 2007-2008 by Miltenovik Manojlo
http://www.memht.com
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your opinion) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, see <http://www.gnu.org/licenses/> (GPLv2)
or write to the Free Software Foundation, Inc., 51 Franklin Street,
Fifth Floor, Boston, MA02110-1301, USA.
********************************************************************************/
if (stristr(htmlentities($_SERVER['PHP_SELF']), "inc_hooks.php")) {
die("<table style='padding: 2px; border: 1px solid #999; background-color: #EEE; font-family: Verdana; font-size: 10px;' align='center'><tr><td><b>Error:</b> This file cannot be opened directly!</td></tr></table>");
}
//===========================================
//HOOK SYSTEM
//===========================================
if (!isset($memHooks)) {
$memHooks = array();
function memReadHooks() {
global $memHooks;
$proceed = true;
if (@file_exists("hooks/")) { $path = "hooks/"; }
else if (@file_exists("../hooks/")) { $path = "../hooks/"; }
else if (@file_exists("../../hooks/")) { $path = "../../hooks/"; }
else if (@file_exists("../../../hooks/")) { $path = "../../../hooks/"; }
else if (@file_exists("../../../../hooks/")) { $path = "../../../../hooks/"; }
else { $proceed = false; }
if ($proceed) {
$handle = opendir($path);
while (false !== ($file = readdir($handle))) {
if (eregi(".hook.php",$file)) {
include($path.$file);
}
}
closedir($handle);
}
}
function memRunHooks($event,$arguments=array()) {
global $memHooks;
if (isset($memHooks[$event])) {
foreach ($memHooks[$event] as $hook) {
if (function_exists($hook)) {
if ($hook($arguments)===false) { return false; }
}
}
}
return true;
}
memReadHooks();
}
?>
|