/** * executeAction - includes the class in includes/modules by the Request * * @access private * @param $completeName * @return string|object */ private function executeAction($completeName) { //actionname.filename //actionName is foldername $actionName = self::getActionName($completeName); //moduleName is filename $moduleName = self::getModuleName($completeName); $defaultModules = array('general/class.main.php', 'general/class.loginInfo.php', 'general/class.header.php', 'general/class.footer.php', 'general/class.ajaxRequest.php', 'general/class.logout.php' . 'general/class.headMenu.php'); $setting = new setting(); if (isset($_SESSION['userdata']['role']) !== false) { $availableUserModules = $setting->getAvailableModules($_SESSION['userdata']['role']); $availableModules = array_merge($availableUserModules, $defaultModules); } else { $availableModules = $defaultModules; } $settings = new settings(); if (is_dir('./includes/modules/' . $moduleName) === false) { throw new Exception('No access'); } elseif (in_array('' . $moduleName . '/class.' . $actionName . '.php', $availableModules) === false && (isset($_SESSION['userdata']) === false || $_SESSION['userdata']['id'] != 'x') && $actionName != '') { $tpl = new template(); $tpl->display('general.error'); throw new Exception('No Access'); } elseif (is_file('./includes/modules/' . $moduleName . '/actions/class.' . $actionName . '.php') === false) { $tpl = new template(); $tpl->display('general.error'); throw new Exception('No Access'); } else { // Else is not necessary - throw stops execution - but for the look... require_once './includes/modules/' . $moduleName . '/actions/class.' . $actionName . '.php'; //Initialize Action $action = new $actionName(); if (is_object($action) === false) { throw new Exception('Coult not initialize action'); } else { // Look at last else try { //Everything ok? run action $action->run(); } catch (Exception $e) { echo $e->getMessage(); } } $this->lastAction = $completeName; } }
/** * displayLink */ public function displayLink($module, $name, $params = NULL, $attribute = NULL) { $mod = explode('.', $module); if (is_array($mod) === true && count($mod) == 2) { $action = $mod[1]; $module = $mod[0]; $mod = $module . '/class.' . $action . '.php'; $setting = new setting(); $available = $setting->getAvailableModules($_SESSION['userdata']['role']); } else { $mod = array(); } $returnLink = false; if (!empty($available) && in_array($mod, $available) !== false) { $url = "/" . $module . "/" . $action . "/"; if (!empty($params)) { foreach ($params as $key => $value) { $url .= $value . "/"; } } $attr = ''; if ($attribute != NULL) { foreach ($attribute as $key => $value) { $attr .= $key . " = '" . $value . "' "; } } $returnLink = "<a href='" . $url . "' " . $attr . ">" . $name . "</a>"; } return $returnLink; }