Code

Upps
[gosa.git] / plugins / admin / fai / class_faiPackageNew.inc
index 60aea4affc4de21ac220217f7108bd6d8316a869..1267e712c24cbc62e51a4a28af008114e8341490 100644 (file)
@@ -49,7 +49,6 @@ class faiPackageNew extends plugin
     }
 
     $smarty->assign("releases"    ,$releases);
-    $smarty->assign("releaseKeys" ,array_flip($releases));
     $smarty->assign("release" ,$this->FAIdebianRelease);
     $smarty->assign("sections",$this->generateSections($sections));
 
@@ -63,13 +62,13 @@ class faiPackageNew extends plugin
     if(is_array($secs)){
       sort($secs);
       $secs= array_unique($secs);
-      $rel  = " onClick='document.mainform.submit();' ";
       foreach($secs as $section){
         if(in_array($section,$this->FAIdebianSection)){
-          $str .= "<input ".$rel." type='checkbox' value='".$section."' name='section_".$section."' checked>".$section."<br>";
+          $str .= "<input type='checkbox' value='".$section."' name='section_".$section."' checked>".$section."<br>";
         }else{
-          $str .= "<input ".$rel." type='checkbox' value='".$section."' name='section_".$section."'>".$section."<br>";
+          $str .= "<input type='checkbox' value='".$section."' name='section_".$section."'>".$section."<br>";
         }
+        $str .="<input type='hidden' name='wasOnPage_".$section."'>";
       }
     }
     return($str); 
@@ -104,17 +103,25 @@ class faiPackageNew extends plugin
   function save_object()
   {
     /* Post handling for Section, Release  Setup */
-    if((isset($_POST['FAIdebianReleaseS']))&&(!empty($_POST['FAIdebianReleaseS']))){
-      $this->FAIdebianRelease = $_POST['FAIdebianReleaseS'];
-    }
+    if(isset($_POST['YesItIsPostedPackages'])){
 
-    /* Get Sections */
-    foreach($_POST as $name => $value){
-      if(preg_match("/^section_/",$name)){
-        $this->FAIdebianSection[$value] = $value;
+      if((isset($_POST['FAIdebianReleaseS']))&&(!empty($_POST['FAIdebianReleaseS']))){
+        $this->FAIdebianRelease = $_POST['FAIdebianReleaseS'];
+      }
+        
+      foreach($_POST as $name => $value){
+        if(preg_match("/wasOnPage_/",$name)){
+          $nm = preg_replace("/wasOnPage_/","",$name);
+          if(isset($_POST['section_'.$nm])){
+            $this->FAIdebianSection[$nm] = $nm; 
+          }else{
+            if(isset($this->FAIdebianSection[$nm])){
+              unset($this->FAIdebianSection[$nm]);
+            }
+          }
+        }
       }
     }
-
     /* Remove all section that are not available at the currently selected server */ 
     $atr = $this->getServerInfos();
     foreach($this->FAIdebianSection as $section){
@@ -128,7 +135,9 @@ class faiPackageNew extends plugin
   /* Check supplied data */
   function check()
   {
-    $message= array();
+    /* Call common method to give check the hook */
+    $message= plugin::check();
+
     return ($message);
   }