<?php $modules = array(); function getModuleList() { $mlist = array(); array_push($mlist, "config"); array_push($mlist, "discography"); array_push($mlist, "events"); array_push($mlist, "gallery"); array_push($mlist, "guestbook"); array_push($mlist, "icons"); array_push($mlist, "links"); array_push($mlist, "members"); array_push($mlist, "news"); array_push($mlist, "pages"); array_push($mlist, "downloads"); array_push($mlist, "newsletter"); array_push($mlist, "pressrelease"); array_push($mlist, "user"); array_push($mlist, "users"); return $mlist; } 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() { foreach(getModuleList() as $m) { loadModule($m); } } 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; } ?>