Code

Updated sudo
[gosa.git] / gosa-plugins / sudo / admin / sudo / class_divListSudo.inc
index b83c7ba08fe09740627408052a705a2ade75fbe2..fa135f12031adc3c1ba9abfbccf85aeac2c23a2c 100644 (file)
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
 
+
+/*! \brief  The sudo management class.
+            This class lists all configured sudo roles.
+ */
 class divListSudo extends MultiSelectWindow
 {
 
@@ -33,10 +37,14 @@ class divListSudo extends MultiSelectWindow
 
   /* Subsearch checkbox */
   var $SubSearch          = FALSE;
-
   var $parent             ;
   var $ui                 ;
 
+
+  /*! \brief  Initialize this class 
+      @param  Object $config  The GOsa configuration object.
+      @param  Object $parent  The parent class.
+   */
   function divListSudo (&$config, &$parent)
   {
     MultiSelectWindow::MultiSelectWindow($config, "sudo", "sudo");
@@ -78,12 +86,14 @@ class divListSudo extends MultiSelectWindow
   }
 
 
+  /*! \brief  Generate the list header.
+   */
   function GenHeader()
   {
     /* Prepare departments,
        which are shown in the listbox on top of the listbox
      */
-    $base  = $this->parent->base;
+    $base  = sudo::get_sudoers_ou($this->config);
     $acl   = $this->ui->get_category_permissions($base,"sudo"); 
  
     /* Add default header */
@@ -111,6 +121,8 @@ class divListSudo extends MultiSelectWindow
   }
 
 
+  /*! \brief  Prepare the plguin to list a set of objects 
+   */
   function execute()
   {
     $this->ClearElementsList();
@@ -118,6 +130,9 @@ class divListSudo extends MultiSelectWindow
   }
 
 
+  /*! \brief  Create a list of all objects that should be displayed 
+      @param  Array $list   The list of sudo roles, passed from the sudoManagement class.
+   */
   function setEntries($list)
   {
     /* Prepare links */
@@ -136,11 +151,11 @@ class divListSudo extends MultiSelectWindow
       /* Add edit icon */
       $actions = "";
       $actions.= "<input class='center' type='image'
-        src='images/edit.png' alt='"._("edit")."' name='sudo_edit_%KEY%' title='"._("Edit this entry")."'>";
+        src='images/edit.png' alt='".msgPool::editButton()."' name='sudo_edit_%KEY%' title='"._("Edit this entry")."'>";
 
       if(preg_match("/d/",$acl)){
         $actions.= "<input class='center' type='image'
-          src='images/edittrash.png' alt='"._("delete")."' name='sudo_del_%KEY%' title='"._("Delete this entry")."'>";
+          src='images/edittrash.png' alt='".msgPool::delButton()."' name='sudo_del_%KEY%' title='"._("Delete this entry")."'>";
       }
 
       $title = "title='".preg_replace('/ /', '&nbsp;', @LDAP::fix($val['dn']))."'";
@@ -152,6 +167,12 @@ class divListSudo extends MultiSelectWindow
       }
 
       $display = $val['cn'][0].$desc;
+     
+      /* Highlight default entry */ 
+      if(preg_match("/^default$/i",$val['cn'][0])){
+        $display = "<b>$display</b>";
+      }
+
       $field1 = array("string" => "<input type='checkbox' id='item_selected_".$key."' name='item_selected_".$key."'>" ,
           "attach" => "style='width:20px;'");
       $field2 = array("string" => sprintf($userimg,$val['dn']), 
@@ -172,11 +193,16 @@ class divListSudo extends MultiSelectWindow
     $this->set_List_Bottom_Info($str);
   }
 
+  
+  /*! \brief  Save this plugin. In this case nothing will be saved
+    */
   function Save()
   {
     MultiSelectWindow :: Save();  
   }
 
+  /*! \brief  Save all relevant HTML inputs for this plugin.
+    */
   function save_object()
   {
     /* Save automatic created POSTs like regex, checkboxes */