Process/Php7.php
[Pman.Core] / Process / Php7.php
index 4ca0824..45f225d 100644 (file)
@@ -22,55 +22,87 @@ class Pman_Core_Process_Php7 extends Pman
             die("CLI only");
         }
     }
-
+    
     function get($base, $opts = array()) 
     {
-//        $this->scan($this->rootDir, 'Pman');
-        $this->scan($this->rootDir);
+        $this->scan();
     }
-
-    function scan($p, $pr, $path = false
+    
+    function scan($route = array()
     {
-        $full_path = array($p, $pr);
-        $class_path = array();
-        if ($path !== false) {
-            $full_path = array_merge($full_path, $path);
-            $class_path = array_merge($class_path, $path);
-        }
-        //print_r("CHKDIR:    ". implode('/', $full_path)."\n");
-
-        foreach (scandir(implode('/', $full_path)) as $d) {
-
+        $dir = $this->rootDir . "/" . implode("/", $route);
+        
+        echo "Looking for {$dir}\n";
+        
+        foreach (scandir($dir) as $d) {
+            
             if (!strlen($d) || $d[0] == '.') {
                 continue;
             }
-            $chk = $full_path;
-            $chk[] = $d;
-
-            $clp = $class_path;
-
-
-
-            //print_r("CHK:          " . implode('/', $chk)."\n");
-            // is it a file.. and .PHP...
-            if (!is_dir(implode('/', $chk))) {
-                if (!preg_match('/\.php$/', $d)) {
-                    continue;
-                }
-                $clp[] = preg_replace('/\.php$/', '', $d);
-
-                //print_r("CLP:          " . implode('/', $clp)."\n");
-                require_once "Pman/" . implode('/', $clp) . '.php';
+            
+            if (is_dir($d)) {
+                $this->scan(array_merge($route, array($d)));
                 continue;
             }
-            $clp[] = $d;
-            // otherwise recurse...
-            //print_r("RECURSE:        " . implode('/', $clp)."\n");
-
-            $this->scan($p, $pr, $clp);
+            
+            if (!preg_match('/\.php$/', $d)) {
+                continue;
+            }
+            
+//            require_once implode('/', $route) . "/" . $d;
+            
+            try {
+                require_once implode('/', $route) . "/" . $d;
+            } catch (ErrorException $ex) {
+                echo "Unable to load configuration file.";
+            }
+            
         }
+        
     }
 
+//    function scan($p, $pr, $path = false) 
+//    {
+//        $full_path = array($p, $pr);
+//        $class_path = array();
+//        if ($path !== false) {
+//            $full_path = array_merge($full_path, $path);
+//            $class_path = array_merge($class_path, $path);
+//        }
+//        //print_r("CHKDIR:    ". implode('/', $full_path)."\n");
+//
+//        foreach (scandir(implode('/', $full_path)) as $d) {
+//
+//            if (!strlen($d) || $d[0] == '.') {
+//                continue;
+//            }
+//            $chk = $full_path;
+//            $chk[] = $d;
+//
+//            $clp = $class_path;
+//
+//
+//
+//            //print_r("CHK:          " . implode('/', $chk)."\n");
+//            // is it a file.. and .PHP...
+//            if (!is_dir(implode('/', $chk))) {
+//                if (!preg_match('/\.php$/', $d)) {
+//                    continue;
+//                }
+//                $clp[] = preg_replace('/\.php$/', '', $d);
+//
+//                //print_r("CLP:          " . implode('/', $clp)."\n");
+//                require_once "Pman/" . implode('/', $clp) . '.php';
+//                continue;
+//            }
+//            $clp[] = $d;
+//            // otherwise recurse...
+//            //print_r("RECURSE:        " . implode('/', $clp)."\n");
+//
+//            $this->scan($p, $pr, $clp);
+//        }
+//    }
+
     function output() 
     {
         die("DONE");