Code

Fixed missing images problem in group headpage
[gosa.git] / plugins / admin / fai / class_faiPackage.inc
index 89d0976a48ff926bb4cc14498d92d6fa32239052..f58acfd12264cbfdf21dfea1378b8087e8f09aee 100644 (file)
@@ -37,6 +37,7 @@ class faiPackage extends plugin
   var $FAIdebianRelease          = ""; // The selected release
   var $FAIdebianSection          = ""; // selected section
   var $FAIdebianMirror           = ""; // selected mirror
+  var $mirror                    = ""; // selected mirror
 
   var $servers          = array();  // All available servers
   var $releases         = array();  // All possible releases 
@@ -69,6 +70,7 @@ class faiPackage extends plugin
       foreach($this->attrs['FAIpackage'] as $pkg){
         $this->usedPackages[$pkg] = $pkg;
       }
+      ksort($this->usedPackages);
     }else{
       $this->usedPackages = array();
     }  
@@ -86,6 +88,9 @@ class faiPackage extends plugin
     }
     $this->confDir = CONFIG_DIR."/fai/";
     $this->FAIpackage = array();
+
+    /* Extract mirror location */
+    $this->mirror= preg_replace("!^[^/]+//([^/]+).*$!", '$1', $this->FAIdebianMirror);
   }
 
   function execute()
@@ -96,6 +101,11 @@ class faiPackage extends plugin
 
     $this->genMirror();
 
+    /* Check if we exist already - no need to ask for revisions, etc. then */
+    if ($this->dn != "new"){
+        $this->newDialogShown= true;
+    }
+
     if((!$this->is_account)&&(!$this->newDialogShown)){
       
       if($this->dialog==NULL){
@@ -109,6 +119,7 @@ class faiPackage extends plugin
       }
 
       /* Assign posible changes, for mirror combinations */
+      $this->dialog->save_object();
       $this->dialog->releases = $this->releases;
       $this->dialog->servers  = $this->servers;
       $this->dialog->sections = $this->sections;
@@ -136,12 +147,12 @@ class faiPackage extends plugin
     foreach($this->attributes as $attrs){
       $smarty->assign($attrs,$this->$attrs);
     }
-
+  
     /* Set mirror if changed */
     if((isset($_POST['FAIdebianMirrorS']))&&(!empty($_POST['FAIdebianMirrorS']))){
       $this->FAIdebianMirror = $_POST['FAIdebianMirrorS'];
     }
-
+  
     /* check servers matching release and section settings */
     $availableServer = array();
     foreach($this->mirrors as $mir){
@@ -157,7 +168,7 @@ class faiPackage extends plugin
         }
       }
     }
-    
     /* Generate package list */
     $this->list=$this->genPkgs();
 
@@ -190,6 +201,7 @@ class faiPackage extends plugin
         $this->usedPackages = $use;
         $this->dialog = false;
         $this->is_dialog=false;
+        ksort($this->usedPackages);
       }
     }
 
@@ -355,10 +367,10 @@ class faiPackage extends plugin
       $this->buffer=array();
       $a_ret = array();
       foreach($this->FAIdebianSection as $sec){
-        $strID= "/etc/gosa/fai/".$this->FAIdebianMirror."/".$this->FAIdebianRelease."/".$sec;
+        $strID= "/etc/gosa/fai/".preg_replace("#^[^/]+//([^/]+).*$#","\\1",$this->FAIdebianMirror)."/".$this->FAIdebianRelease."/".$sec;
         
         if(!is_file($strID)){
-          print_red(sprintf(_("Package file don't exists '%s'."),$strID));
+          print_red(sprintf(_("Package file '%s' does not exist."),$strID));
           $this->FAIdebianMirror="";
           unset($this->buffer);
           return(array());