Code

Fixed some errors if mysql is not available
[gosa.git] / plugins / admin / fai / class_faiPackage.inc
index 0270baacae32ff0a8066e7564e0b89047922acf4..e98f721e431ccb79c58dc616c9e22bde87661b0f 100644 (file)
@@ -11,7 +11,7 @@ class faiPackage extends plugin
   var $ignore_account   = TRUE;
 
   /* Attributes for this Object */
-  var $attributes       = array("cn","description","FAIpackage","FAIdebianRelease","FAIdebianSection");
+  var $attributes       = array("cn","description","FAIpackage","FAIdebianRelease","FAIdebianSection", "FAIinstallMethod");
 
   /* ObjectClasses for this Object*/
   var $objectclasses    = array("top","FAIclass","FAIpackageList","FAIrepository");
@@ -38,6 +38,7 @@ class faiPackage extends plugin
 
   var $FAIdebianRelease          = ""; // The selected release
   var $FAIdebianSection          = ""; // selected section
+  var $FAIinstallMethod          = "aptitude"; // hard coded
   var $mirror                    = ""; // selected mirror
 
   var $servers          = array();  // All available servers
@@ -78,7 +79,7 @@ class faiPackage extends plugin
   
     $ldap = $this->config->get_ldap_link();
     foreach($this->usedPackages as $name){
-      $ldap->search("(&(objectClass=FAIdebconfInfo)(FAIpackage=".$name."))");
+      $ldap->search("(&(objectClass=FAIdebconfInfo)(FAIpackage=".$name."))",array("FAIvariable","FAIvariableType","FAIvariableContent","FAIpackage","FAIdebianSection",""));
       while($attr = $ldap->fetch()){
      
         $tmp =array(); 
@@ -178,7 +179,11 @@ class faiPackage extends plugin
 
     /* Delte selected package */ 
     if(isset($_POST['Delpkg'])){
-      unset($this->usedPackages[$_POST['usedPackages']]);
+      foreach($_POST['usedPackages'] as $del){
+        if(isset($this->usedPackages[$del])){
+          unset($this->usedPackages[$del]);
+        }
+      }
     }
 
     /* Abort package selection dialog */ 
@@ -207,11 +212,13 @@ class faiPackage extends plugin
     if((isset($_POST['Conpkg']))&&(isset($_POST['usedPackages']))&&(!empty($_POST['usedPackages']))){
       $path = "/etc/gosa/fai/".$this->FAIdebianRelease."/debconf.d";
       $pkg_config = array();
-      if(isset($this->ConfiguredPackages[$_POST['usedPackages']])){
-        $pkg_config = $this->ConfiguredPackages[$_POST['usedPackages']];
+      $pkg = $_POST['usedPackages'][0];
+      
+      if(isset($this->ConfiguredPackages[$pkg])){
+        $pkg_config = $this->ConfiguredPackages[$pkg];
       }
   
-      $this->dialog = new faiPackageConfiguration($this->config, $this->dn,$_POST['usedPackages'], $path, $pkg_config);
+      $this->dialog = new faiPackageConfiguration($this->config, $this->dn,$pkg, $path, $pkg_config);
       $this->is_dialog =true;
     }
   
@@ -373,6 +380,8 @@ class faiPackage extends plugin
       $this->attrs['FAIdebianSection'][] = $sec;
     }
 
+    $this->attrs["FAIinstallMethod"]= "aptitude";
+
     $ldap->cat($this->dn);
     if($ldap->count()!=0){
       /* Write FAIscript to ldap*/