예제 #1
0
 /**
  * This runs the Controller() function of all the
  * 	modules, and gives priority to the module passed
  *	in the parameter
  *
  * @param string $module_priority Module that is called first
  * 
  * Change - Oct 2009
  *	Makes this more "cake-esque" - check if the "Controller" function
  *	exists (for backwards compat), if it doesn't then run the function
  *	defined by the "action" bit in the URL
  */
 public static function RunAllActions()
 {
     //$call_function = 'Controller';
     $ModuleName = strtoupper(self::$activeModule);
     global ${$ModuleName};
     // Make sure this module is valid
     if (!is_object(${$ModuleName})) {
         Debug::showCritical("The module \"{$ModuleName}\" doesn't exist!");
         return;
     }
     // Check if we have a function for the page we are calling
     $name = CodonRewrite::$current_action;
     if ($name == '') {
         $call_function = 'index';
     } else {
         $call_function = $name;
     }
     /* Don't call self::Run() - parameters could change. They have to stay the same
     			due to the fact that outside modules, etc will still use Run(), so it has
     			to stay the same */
     $ret = call_user_func_array(array(${$ModuleName}, $call_function), CodonRewrite::$params);
     /* Set the title, based on what the module has, if it's blank,
     			then just set it to the module name */
     self::$page_title = ${$ModuleName}->title;
     if (strlen(self::$page_title) === 0) {
         self::$page_title = ucwords(strtolower($ModuleName));
     }
     return true;
 }