Code

Added printer patch
[gosa.git] / plugins / admin / systems / class_divListSystem.inc
index 59ca111bdb2dd310a6913ba6418e5bca28a5ddc7..b58169262f276e3faa9c0676a3cad729f78edfcb 100644 (file)
@@ -11,14 +11,17 @@ class divListSystem extends MultiSelectWindow
   var $Regex              = "*";
   var $UserRegex          = "*";
 
-  /* CheckBoxes */
-  var $ShowServers        = true;
-  var $ShowTerminals      = true;
-  var $ShowWorkstations   = true;
-  var $ShowWinWorkstations= true;
-  var $ShowPrinters       = true;
-  var $ShowDevices        = true;
-  var $ShowPhones         = true;
+  /* CheckBoxes, to change default values modify $this->AddCheckBox */
+  var $ShowServers;
+  var $ShowTerminals;
+  var $ShowWorkstations;
+  var $ShowWinWorkstations;
+  var $ShowPrinters;
+  var $ShowDevices;
+  var $ShowPhones;
+
+  /* Subsearch checkbox */
+  var $SubSearch;
 
   var $parent             ;
   var $ui                 ;
@@ -30,12 +33,6 @@ class divListSystem extends MultiSelectWindow
     $this->parent       = $parent;
     $this->ui           = get_userinfo();
 
-    /* Set default base */
-    if(!isset($_SESSION['CurrentMainBase'])){
-      $_SESSION['CurrentMainBase'] = $this->config->current['BASE'];
-    }
-    $this->selectedBase = $_SESSION['CurrentMainBase'];
-
     /* Set list strings */
     $this->SetTitle(_("List of systems"));
     $this->SetSummary(_("List of systems"));
@@ -64,6 +61,10 @@ class divListSystem extends MultiSelectWindow
     $this->AddCheckBox("ShowPhones",          _("Select to see VOIP phones"),         _("Show phones") ,          true);
     $this->AddCheckBox("ShowDevices",         _("Select to see network devices"),     _("Show network devices"),  true);
 
+    /* Add SubSearch checkbox */
+    $this->AddCheckBox(SEPERATOR);
+    $this->AddCheckBox("SubSearch",  _("Select to search within subtrees"), _("Ignore subtrees"), false);
+
     /*                  Name                 ,Text                              ,Default  , Connect with alphabet  */
     $this->AddRegex   ("Regex",     _("Display systems matching"),"*" , true);
     $this->AddRegex   ("UserRegex", _("Display systems of user"), "*" , false, "images/search_user.png");
@@ -115,7 +116,6 @@ class divListSystem extends MultiSelectWindow
   {
     $this->ClearElementsList();
     $this->GenHeader();
-    $this->AddDepartments($this->selectedBase);
   }
 
   function setEntries($terminals)
@@ -159,10 +159,14 @@ class divListSystem extends MultiSelectWindow
       $val['cn'][0]= preg_replace('/\$$/', '', $val['cn'][0]);
 
       // Generate Array to Add
+      $dsc= "";
+      if (isset($val['description'][0])){
+        $dsc= " [".$val['description'][0]."]";
+      }
       if((isset($val['is_new']))&&(!empty($val['is_new']))){
-        $display= "".$val["cn"][0]." ".$val['is_new'];
+        $display= $val["cn"][0]." ".$val['is_new'].$dsc;
       }else{
-        $display= "".$val["cn"][0]."";
+        $display= $val["cn"][0].$dsc;
       }
 
       if((in_array("gotoTerminal",$val['objectClass']))||(in_array("gotoWorkstation",$val['objectClass']))){
@@ -177,7 +181,7 @@ class divListSystem extends MultiSelectWindow
 
       $img    = $this->parent->convert_list($val);
       $field1 = array("string" => sprintf($img['img'],$val['dn']), "attach" => "style='text-align:center;width:20px;'");
-      $field2 = array("string" => sprintf($editlink,$key,$display), "attach" => "style='' title='".@LDAP::fix($val['dn'])."'");
+      $field2 = array("string" => sprintf($editlink,$key,$display), "attach" => "style='' title='".preg_replace('/ /', ' ', @LDAP::fix($val['dn']))."'");
       $field3 = array("string" => preg_replace("/%KEY%/", "$key", $action2.$action), "attach" => "style='width:60px;border-right:0px;text-align:right;'");
       $this->AddElement( array($field1,$field2,$field3));
     }
@@ -192,55 +196,7 @@ class divListSystem extends MultiSelectWindow
   function save_object()
   {
     /* Save automatic created POSTs like regex, checkboxes */
-    MultiSelectWindow::save_object();   
-
-    $s_action ="";
-    foreach($_POST as $key => $value){
-      if(preg_match("/^dep_back.*/i",$key)){
-        $s_action="back";
-      }elseif(preg_match("/^dep_root.*/",$key)){
-        $s_action="root";
-      }elseif(preg_match("/^dep_home.*/i",$key)){
-        $s_action="home";
-      }
-    }
-   
-    /* Save base selection from headpage selectbox*/ 
-    if(isset($_POST['CurrentMainBase'])){
-      $this->selectedBase = $_POST['CurrentMainBase'];
-    }
-
-    /* Homebutton is posted */
-    if($s_action=="home"){
-      $ui= get_userinfo();
-      $this->selectedBase=(preg_replace("/^[^,]+,/","",$ui->dn));
-      $this->selectedBase=(preg_replace("/^[^,]+,/","",$this->selectedBase));
-    }
-
-    /* Open selected department 
-       this is posted by the parent class MultiSelectWindow */
-    if(isset($_GET['act'])&& ($_GET['act'] == "dep_open")){
-      $s_entry = base64_decode($_GET['dep_id']);
-      $this->selectedBase = $this->config->departments[trim($s_entry)];
-    }
-
-    /* back to the roots ^^ */
-    if($s_action=="root"){
-      $this->selectedBase=($this->config->current['BASE']);
-    }
-
-    /* If Backbutton is Posted */
-    if($s_action=="back"){
-      $base_back          = preg_replace("/^[^,]+,/","",$this->selectedBase);
-      $base_back          = convert_department_dn($base_back);
-      if(isset($this->config->departments[trim($base_back)])){
-        $this->selectedBase= $this->config->departments[trim($base_back)];
-      }else{
-        $this->selectedBase= $this->config->departments["/"];
-      }
-    }
-
-    $_SESSION['CurrentMainBase']  = $this->selectedBase;
+    MultiSelectWindow :: save_object();   
   }
 }
 // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler: