Code

Updated printGeneric.
[gosa.git] / plugins / admin / systems / class_baseSelectDialog.inc
index 9aee7b3c488a53c682dd07adf8599a587ef9bda9..a2569d644fd067be9e79a2c22d874469839cb7e0 100644 (file)
@@ -2,32 +2,33 @@
 
 class baseSelectDialog extends MultiSelectWindow
 {
-  var $selected_base        = ""; // Used for navigation 
+  var $selectedBase        = ""; // Used for navigation 
   var $base_selection_regex = "*"; // Used regex ... 
 //  var $Doesnothing          = ""; // Checkbox which does nothing 
 
-  var $selectedBase         = false;  // used to specify the selected base, 
+  var $BaseToUse         = false;  // used to specify the selected base, 
                                       // false if none is selected
 
   var $allowedBases         = array();
  
   function baseSelectDialog ($config,$onlyAllowThisBases = array())
   {
-    MultiSelectWindow::MultiSelectWindow($config);
+    MultiSelectWindow::MultiSelectWindow($config,"BASEselectWindow");
     
-    $this->selected_base = $config->current['BASE'];
+    $this->selectedBase = $config->current['BASE'];
   
     $this->allowedBases  = $onlyAllowThisBases;
 
     $this->SetTitle("Base");
     $this->SetSummary(_("Choose a base"));
     $this->SetListHeader("<div style='background:#F0F0F9;padding:5px;'>".
-        " <input class='center' type='image' align='middle' src='images/list_back.png'
-        title='"._("Go up one department")."' alt='"._("Up")."' name='dep_back'>&nbsp;".
         " <input class='center' type='image' src='images/list_root.png' align='middle'
         title='"._("Go to root department")."' name='dep_root' alt='"._("Root")."'>&nbsp;".
+        " <input class='center' type='image' align='middle' src='images/list_back.png'
+        title='"._("Go up one department")."' alt='"._("Up")."' name='dep_back'>&nbsp;".
         " <input class='center' type='image' align='middle' src='images/list_home.png'
         title='"._("Go to users department")."' alt='"._("Home")."' name='dep_home'>&nbsp;".
+        " <input class='center' type='image' src='images/list_reload.png' align='middle' title='"._("Reload list")."' name='submit_department' alt='"._("Submit")."'>&nbsp;".
         "</div>");
 
     $this->SetInformation(_("Step in the prefered tree and click save to use the current subtree as base. Or click the image at the end of each entry."));
@@ -59,22 +60,24 @@ class baseSelectDialog extends MultiSelectWindow
   function setEntries()
   {
     $this->ClearElementsList();
-    $ldap = $this->config->get_ldap_link();
-    $ldap->cd($this->selected_base);
-    $ldap->ls("(&(objectClass=gosaDepartment)
-                 (|(ou=".$this->base_selection_regex.")
-                   (cn=".$this->base_selection_regex.")
-                   (description=".$this->base_selection_regex.")))",
-              $this->selected_base,array("ou","description","cn"));
 
     $link = "<a href='?plug=".$_GET['plug']."&open_dep=%s'>%s</a>";
 
-    $base_back          = preg_replace("/^[^,]+,/","",$this->selected_base);
+    $base_back          = preg_replace("/^[^,]+,/","",$this->selectedBase);
     $base_back          = convert_department_dn($base_back);
   
+
+    $filter = "(&(objectClass=gosaDepartment)".
+                "(|(ou=".$this->base_selection_regex.")".
+                  "(cn=".$this->base_selection_regex.")".
+                  "(description=".$this->base_selection_regex.")))";
+
+    $ui = get_userinfo();
+    $res = get_list($filter,$ui->subtreeACL,$this->selectedBase,array("ou","description","cn"),GL_SIZELIMIT);
+
     /* Add departments, to be able to switch into them
      */
-    while($attrs = $ldap->fetch()){
+    foreach($res as $attrs){
  
       $key = $attrs['dn']  ;
       $val = $attrs['ou'][0];
@@ -120,17 +123,17 @@ class baseSelectDialog extends MultiSelectWindow
   function Save()
   {
     MultiSelectWindow :: Save();  
-    $this->selectedBase = $this->selected_base;
+    $this->BaseToUse = $this->selectedBase;
   }
 
   function isSelected() 
   {
-    return($this->selectedBase);
+    return($this->BaseToUse);
   }
 
   function setCurrentBase($base)
   {
-    $this->selected_base = $base;
+    $this->selectedBase = $base;
   }
 
   function save_object()
@@ -139,7 +142,7 @@ class baseSelectDialog extends MultiSelectWindow
     MultiSelectWindow::save_object();   
     
     if(isset($_GET['open_dep'])){
-      $this->selected_base = base64_decode($_GET['open_dep']);
+      $this->selectedBase = base64_decode($_GET['open_dep']);
     } 
 
     $s_action ="";
@@ -154,31 +157,31 @@ class baseSelectDialog extends MultiSelectWindow
         $tmp = preg_replace("/^usebase_/","",$key);
         $tmp = preg_replace("/_.*$/","",$tmp);
         $tmp = base64_decode($tmp);
-        $this->selectedBase = $tmp;
+        $this->BaseToUse = $tmp;
       }
     }
 
     $ui= get_userinfo();
     /* Homebutton is posted */
     if($s_action=="home"){
-      $this->selected_base=(preg_replace("/^[^,]+,/","",$ui->dn));
-      $this->selected_base=(preg_replace("/^[^,]+,/","",$this->selected_base));
+      $this->selectedBase=(preg_replace("/^[^,]+,/","",$ui->dn));
+      $this->selectedBase=(preg_replace("/^[^,]+,/","",$this->selectedBase));
     }
 
     /* back to the roots ^^ */
     if($s_action=="root"){
-      $this->selected_base=($this->config->current['BASE']);
+      $this->selectedBase=($this->config->current['BASE']);
     }
 
     /* If Backbutton is Posted */
     if($s_action=="back"){
-      $base_back          = preg_replace("/^[^,]+,/","",$this->selected_base);
+      $base_back          = preg_replace("/^[^,]+,/","",$this->selectedBase);
       $base_back          = convert_department_dn($base_back);
 
       if(isset($this->config->departments[trim($base_back)])){
-        $this->selected_base= $this->config->departments[trim($base_back)];
+        $this->selectedBase= $this->config->departments[trim($base_back)];
       }else{
-        $this->selected_base= $this->config->departments["/"];
+        $this->selectedBase= $this->config->departments["/"];
       }
     }
   }