Code

Added check to avoid multiple uploads of the same file
[gosa.git] / plugins / admin / systems / class_servRepositorySetup.inc
index 2fa8a7cf6fa8551cb0dc13170e21ddde3a4071cd..b83b68fd98c8272a19bed7bd1c99962130c85d3a 100644 (file)
@@ -13,24 +13,21 @@ class servRepositorySetup  extends plugin
   var $objectclasses    = array("whatever");
 
   /* Attributes */
-  var $Release;
-  var $ParentServer;
-  var $Url;
-  var $Sections=array();
-  var $ParentServers;
-
+  var $Release          ="";
+  var $ParentServer     ="";
+  var $Url              ="";   
+  var $Sections         =array();
+  var $ParentServers    ="";
   var $initialy_was=false;
 
   function servRepositorySetup ($config, $dn= NULL,$data = false)
   {
     plugin::plugin ($config, $dn);
     if($data != false){
-      $this->Sections= $data['Sections'];
-      $this->Url= $data['Url'];
-      $this->Release= $data['Release'];
-      $this->ParentServer= $data['ParentServer'];
-      if(isset($data['initialy_was'])){
-        $this->initialy_was= $data['initialy_was'];
+      foreach(array("Sections","Release","Url","ParentServer","initialy_was") as $atr){
+        if(isset($data[$atr])){
+          $this->$atr = $data[$atr];
+        }
       }
     }
   }
@@ -68,21 +65,25 @@ class servRepositorySetup  extends plugin
     
     foreach($_POST as $name => $value){
       if(preg_match("/^delete_/",$name)){
-        if(isset($this->Sections[$value])){
-          unset($this->Sections[$value]);
+
+        $val = preg_replace("/^delete_/","",$name);
+        $val = base64_decode(preg_replace("/_.*$/","",$val));
+
+        if(isset($this->Sections[$val])){
+          unset($this->Sections[$val]);
         }
       }
     }
 
     $divlist = new divSelectBox("servRepositorySetup");
-    $divlist->setHeight("120");
+    $divlist->setHeight("220");
 
     $dellink = "<input type='image' src='images/edittrash.png' title='delete' alt='delete' name='delete_%s' value='%s'>";
 
     foreach($this->Sections as $sec){
       $divlist->AddEntry(array(
                               array("string"=>$sec),
-                              array("string"=>sprintf($dellink,$sec,$sec),"attach"=>"style='border-right:0px;width:20px;'")
+                              array("string"=>sprintf($dellink,base64_encode($sec),$sec),"attach"=>"style='border-right:0px;width:20px;'")
                               ));
     }
   
@@ -111,10 +112,14 @@ class servRepositorySetup  extends plugin
   {
     $message= array();
 
-    if(!isset($this->Release)){
+    if(empty($this->Release)){
       $message[]=_("Please enter a value for 'release'.");
     }
 
+    if(empty($this->Url)){
+      $message[] = _("Please specify a valid value for 'url'.");
+    }
+
     return ($message);
   }
 
@@ -132,18 +137,14 @@ class servRepositorySetup  extends plugin
 
   function getParentServers()
   {
-
     $ret = array();
-    
     $ldap = $this->config->get_ldap_link();
-        
     $ldap->cd($this->config->current['BASE']);
-    
     $ldap->search("(objectClass=FAIrepositoryServer)",array("*"));
     while($attr = $ldap->fetch()){
       $ret[$attr['cn'][0]]= $attr['cn'][0];   
     }
-    $ret['none']=_("Master");
+    $ret['none']= "&nbsp;";
     return($ret);
   }