Pman.php
[Pman.Base] / Pman.php
index 3c5b876..8cc13fc 100644 (file)
--- a/Pman.php
+++ b/Pman.php
@@ -87,11 +87,11 @@ class Pman extends HTML_FlexyFramework_Page
          // move away from doing this ... you can access bootLoader.XXXXXX in the master template..
         $boot = HTML_FlexyFramework::get();
         // echo'<PRE>';print_R($boot);exit;
-        $this->appName = $boot->appName;
-        $this->appNameShort= $boot->appNameShort;
+        $this->appName      = $boot->appName;
         
+        $this->appNameShort = $boot->appNameShort;
         
-        $this->appModules= $boot->enable;
+        $this->appModules   = $boot->enable;
         
 //        echo $this->arrayToJsInclude($files);        
         $this->isDev = empty($boot->Pman['isDev']) ? false : $boot->Pman['isDev'];
@@ -132,60 +132,36 @@ class Pman extends HTML_FlexyFramework_Page
         
     }
     /*
-     * module init is only loaded on main page call, and includes checks for configuration settings.
+     * call a method on {module}/Pman.php
+     * * initially used on the main page load to call init();
+     * * also used for ccsIncludes?? 
      *
-     * // callModules('init', $base)
+     * // usage: $this->callModules('init', $base)
      * 
      */
      
-     function callModules($fn, $base) 
-     {
-         foreach(explode(',',$this->appModules) as $m) {
-             
-             $cls = 'Pman_'. $m . '_Pman';
-             
-             if (!file_exists($this->rootDir . '/'.str_replace('_','/', $cls). '.php')) {
-                 continue;
-             }
-             
-             require_once str_replace('_','/', $cls). '.php';
-             
-             $c = new $cls();
-             
-             if (method_exists($c, $fn)) {
-                 
-                 $c->{$fn}($this,$base);
-                 
-            }
-         }
-     }
-     
-    function initModules($base)
+    function callModules($fn) 
     {
+        $args = func_get_args();
+        array_shift($args);
         foreach(explode(',',$this->appModules) as $m) {
             $cls = 'Pman_'. $m . '_Pman';
-            //echo $cls;
-            //echo $this->rootDir . '/'.str_replace('_','/', $cls). '.php';
-            
             if (!file_exists($this->rootDir . '/'.str_replace('_','/', $cls). '.php')) {
                 continue;
             }
             require_once str_replace('_','/', $cls). '.php';
             $c = new $cls();
-            if (method_exists($c,'init')) {
-                $c->init($this,$base);
+            if (method_exists($c, $fn)) {
+                call_user_func_array(array($c,$fn),$args);
             }
-        }
-    }
-    
-    
+         }
+     }
     
     function get($base, $opts=array()) 
     {
         $this->init();
         if (empty($base)) {
-            // $this->callModules('init', $base);
-            $this->initModules($base);
+            $this->callModules('init', $this, $base);
         }
         
             //$this->allowSignup= empty($opts['allowSignup']) ? 0 : 1;
@@ -760,15 +736,18 @@ class Pman extends HTML_FlexyFramework_Page
      */
     function outputCSSIncludes() // includes on CSS links.
     {
+       
         
         $mods = $this->modulesList();
         
+        $this->callModules('outputCSSIncludes', $this);
+        
         foreach($mods as $mod) {
             // add the css file..
             $this->outputCSSDir("Pman/$mod","*.css");
         }
         
-        $this->callModules('outputCSSIncludes', false);
+        
     }