<?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 (preg_match("#/.hook/.php#is",$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();
}

?>