/**
  * 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;
     }
 }
Example #2
0
 /**
  * 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;
 }