Code

Updated sudo stuff.
[gosa.git] / gosa-plugins / sudo / admin / sudo / class_divListSudo.inc
index de03718668d44ad923186b0dbfee5554e2933ef8..3a33cec20b854ee6195e54f70c2309869055eb4c 100644 (file)
@@ -28,17 +28,16 @@ class divListSudo extends MultiSelectWindow
 {
 
   /* Current base */
-  var $selectedBase       = "";
-  var $departments        = array();
+  private $departments        = array();
 
   /* Regex */
-  var $Regex              = "*";
-  var $UserRegex          = "*";
+  public $Regex              = "*";
+  public $UserRegex          = "*";
 
   /* Subsearch checkbox */
-  var $SubSearch          = FALSE;
-  var $parent             ;
-  var $ui                 ;
+  public $SubSearch          = FALSE;
+  protected $parent             ;
+  public $ui                 ;
 
 
   /*! \brief  Initialize this class 
@@ -65,9 +64,12 @@ class divListSudo extends MultiSelectWindow
     $this->EnableSaveButton (false);
 
     /* Dynamic action col, depending on snapshot icons */
-    $action_col_size = 50;
+    $action_col_size = 54;
     if($this->parent->snapshotEnabled()){
-      $action_col_size += 38;
+      $action_col_size += 32;
+    }
+    if($this->parent->CopyPasteHandler){
+      $action_col_size += 20;
     }
 
     /* Toggle all selected / deselected */
@@ -120,6 +122,24 @@ class divListSudo extends MultiSelectWindow
         " "._("Remove")."|"."del_role|\n";
     }
 
+    /* Add multiple copy & cut icons */
+    if(is_object($this->parent->CopyPasteHandler) && preg_match("/(c.*w|w.*c)/",$acl)){
+      $s.= "..|---|\n";
+      $s.= "..|<img src='images/editcopy.png' alt='' border='0' class='center'>".
+        "&nbsp;"._("Copy")."|"."multiple_copy_sudo|\n";
+#      $s.= "..|<img src='images/editcut.png' alt='' border='0' class='center'>".
+#        "&nbsp;"._("Cut")."|"."multiple_cut_sudo|\n";
+
+      if($this->parent->CopyPasteHandler->entries_queued()){
+        $img = "<img border='0' class='center' src='images/editpaste.png' alt=''>";
+        $s.="..|".$img."&nbsp;"._("Paste")."|editPaste|\n";
+      }else{
+        $img = "<img border='0' class='center' src='images/cant_editpaste.png' alt=''>";
+        $s.="..|".$img."&nbsp;"._("Paste")."\n";
+      }
+    }
+
+
     /* Add snapshot icons */
     if(preg_match("/(c.*w|w.*c)/",$acl)){
       $s .= "..|---|\n";
@@ -151,9 +171,12 @@ class divListSudo extends MultiSelectWindow
     $userimg  = "<img class='center' src='images/select_sudo.png' alt='Sudo' title='%s'>";
     $ui       = get_userinfo();
 
-    $action_col_size = 50;
+    $action_col_size = 54;
     if($this->parent->snapshotEnabled()){
-      $action_col_size += 38;
+      $action_col_size += 32;
+    }
+    if($this->parent->CopyPasteHandler){
+      $action_col_size += 20;
     }
 
     // Test Every Entry and generate divlist Array
@@ -164,6 +187,16 @@ class divListSudo extends MultiSelectWindow
 
       /* Add edit icon */
       $actions = "";
+
+      $actions= "";
+      if(($this->parent->CopyPasteHandler) && preg_match("/(c.*w|w.*c)/",$acl)){
+#        $actions.= "<input class='center' type='image'
+#          src='images/editcut.png' alt='"._("cut")."' name='cut_%KEY%' title='"._("Cut this entry")."'>&nbsp;";
+        $actions.= "<input class='center' type='image'
+          src='images/editcopy.png' alt='"._("copy")."' name='copy_%KEY%' title='"._("Copy this entry")."'>&nbsp;";
+      }
+
+
       $actions.= "<input class='center' type='image'
         src='images/edit.png' alt='".msgPool::editButton()."' name='sudo_edit_%KEY%' title='"._("Edit this entry")."'>";
 
@@ -191,6 +224,16 @@ class divListSudo extends MultiSelectWindow
         $display = "<b>$display</b>";
       }
 
+      /* Cutted objects should be displayed in light grey */
+      if($this->parent->CopyPasteHandler){
+        foreach($this->parent->CopyPasteHandler->queue as $queue_key => $queue_data){
+          if($queue_data['dn'] == $val['dn']) {
+            $display = "<font color='#999999'>".$display."</font>";
+            break;
+          }
+        }
+      }
+
       $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']),