Code

Updated copy/paste
[gosa.git] / gosa-core / update-gosa
index 9d3b2738dfbb6e0f6a07b12f02af23a60f7def49..a4f418e1f05f3dd23e1dbb734bc1ab4445841bef 100755 (executable)
@@ -48,7 +48,11 @@ function get_classes($folder= ".")
   static $result= array();
 
   if ($base_dir == ""){
-    $base_dir= getcwd();
+    if ($folder == "."){
+      $base_dir= getcwd();
+    } else {
+      $base_dir= $folder;
+    }
   }
 
   $currdir=getcwd();
@@ -290,7 +294,14 @@ function install_plugin($file)
 
                                /* Check if dependencies are fullfilled */
                                foreach ($depends as $dep){
-                                       if (!in_array($dep, $provides)){
+                                       $found= false;
+                                       foreach ($provides as $provide => $dummy){
+                                               if ($dep == $provide){
+                                                       $found= true;
+                                                       break;
+                                               }
+                                       }
+                                       if (!$found){
                                                echo "! Error: plugin depends on '$dep', but this is not installed\n\n";
                                                exit (3);
                                        }
@@ -388,7 +399,7 @@ function remove_plugin($name)
 
        /* Depends? */
        foreach ($depends as $sname => $pl_depends){
-               if (!in_array($name, $pl_depends)){
+               if (in_array($name, $pl_depends)){
                        echo "! Error: plugin '$sname' depends on '$name' - cannot remove it\n\n";
                        exit (1);
                }