<?php $modules = array(); function loadModule($modulename) { global $MODULES_DIR; global $modules; $modulefile = $MODULES_DIR . "/" . $modulename . ".php"; if(!$modules[$modulename]) { if(file_exists($modulefile)) { include_once($modulefile); $module = call_user_func($modulename . "_init"); $modules[$modulename] = $module; } else { // Module does not exist. } } } function loadAllModules() { loadModule("config"); loadModule("discography"); loadModule("events"); loadModule("gallery"); loadModule("guestbook"); loadModule("icons"); loadModule("links"); loadModule("members"); loadModule("news"); loadModule("pages"); loadModule("downloads"); loadModule("newsletter"); } function getModuleParams($code) { $params = array(); $ps = explode(",", $code); foreach($ps as $p) { $v = explode("=", $p); $params[$v[0]] = $v[1]; } return $params; } function runModule($code) { global $modules; $str = ""; $m = explode("?", $code); $module = $m[0]; $params = getModuleParams($m[1]); loadModule($module); if($modules[$module]) { $str .= $modules[$module]->run($params); } else { $str .= "<p><strong>CMS ERROR: Could not find module:"; $str .= " [[" . $modulecode . "]]</strong></p>\n"; } return $str; } ?>