fix image text
[pear] / HTML / FlexyFramework / Cli.php
index 14dd7f8..3d6c4f6 100644 (file)
@@ -249,6 +249,7 @@ Available commands:
         
         $newargs = Console_Getargs::factory($val, $ar);
         
+  
         if (!is_a($newargs, 'PEAR_Error')) {
             return $newargs->getValues();
         }
@@ -303,58 +304,50 @@ Available commands:
         
         $newargs = Console_Getargs::factory($val, $ar);
         
-        
-        if (is_a($newargs, 'PEAR_Error')) {
-            list($optional, $required, $params) = Console_Getargs::getOptionalRequired($val);
-        
-            $helpHeader = 'Usage: php ' . implode (' ', $call) . ' '. 
-                $optional . ' ' . $required . ' ' . $params . "\n\n";           
-       
-            if ($newargs->getCode() === CONSOLE_GETARGS_ERROR_USER) {
-                // since we do not handle all the arguemnts here...
-                // skip errors if we find unknown arguments.
-                if (preg_match('/^Unknown argument/', $newargs->getMessage())) {
-                    return false;
-                }
-                
-                // User put illegal values on the command line.
-                echo Console_Getargs::getHelp($val,
-                        $helpHeader, "\n\n".$newargs->getMessage(), 78, 4)."\n\n";
-                exit;
-            }
-            if ($newargs->getCode() === CONSOLE_GETARGS_HELP) {
-                if (!$has_class) {
+        // we need to read our 'special arguments' here - otherwise other arguments, cause getargs to fail
+        switch (true) {
+            case in_array('--pman-nodatabase', $ar):
+                echo "Turning off database\n";
+                $this->ff->nodatabase= true;
                     
-                    echo Console_Getargs::getHelp($val,
-                            $helpHeader, NULL, 78, 4)."\n\n";
-                    exit;
-                }
-                return true;// help is handled later in the flow?
-            }
-            
-            return false;
+                break;
+             
         }
-       
         
-        // now handle real arguments..
         
-        $ret =  $newargs->getValues();
         
-         
-        foreach($ret as $k=>$v) {
-            switch($k) {
-                case 'pman-nodatabase':
-                    echo "Turning off database\n";
-                    $this->ff->nodatabase = true;
-                    
-                    break;
-                
-                default:
-                    die("need to fix option $k");
+        if (!is_a($newargs, 'PEAR_Error')) {
+            return false;
+        }
+        list($optional, $required, $params) = Console_Getargs::getOptionalRequired($val);
+    
+        $helpHeader = 'Usage: php ' . implode (' ', $call) . ' '. 
+            $optional . ' ' . $required . ' ' . $params . "\n\n";           
+   
+        if ($newargs->getCode() === CONSOLE_GETARGS_ERROR_USER) {
+            // since we do not handle all the arguemnts here...
+            // skip errors if we find unknown arguments.
+            if (preg_match('/^Unknown argument/', $newargs->getMessage())) {
+                return false;
             }
             
+            // User put illegal values on the command line.
+            echo Console_Getargs::getHelp($val,
+                    $helpHeader, "\n\n".$newargs->getMessage(), 78, 4)."\n\n";
+            exit;
         }
+        if ($newargs->getCode() === CONSOLE_GETARGS_HELP) {
+            if (!$has_class) {
+                
+                echo Console_Getargs::getHelp($val,
+                        $helpHeader, NULL, 78, 4)."\n\n";
+                exit;
+            }
+            return true;// help is handled later in the flow?
+        }
+        
         return false;
+     
         
     }