X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=gosa-plugins%2Fsudo%2Fadmin%2Fsudo%2Fclass_divListSudo.inc;h=a47b6f629424b478c16676c93df01b82732ac081;hb=013ec8918aa88efd0a9fa346714a36a60b5913a7;hp=8e90e6b5681ef96d9dc2707290e29ae3deeff56d;hpb=859917ca32de8686a78b02aaef4653f821141323;p=gosa.git
diff --git a/gosa-plugins/sudo/admin/sudo/class_divListSudo.inc b/gosa-plugins/sudo/admin/sudo/class_divListSudo.inc
index 8e90e6b56..a47b6f629 100644
--- a/gosa-plugins/sudo/admin/sudo/class_divListSudo.inc
+++ b/gosa-plugins/sudo/admin/sudo/class_divListSudo.inc
@@ -26,20 +26,14 @@
*/
class divListSudo extends MultiSelectWindow
{
-
- /* Current base */
- var $selectedBase = "";
- var $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
@@ -66,10 +60,16 @@ class divListSudo extends MultiSelectWindow
$this->EnableSaveButton (false);
/* Dynamic action col, depending on snapshot icons */
- $action_col_size = 80;
+ $action_col_size = 54;
+ if($this->parent->snapshotEnabled()){
+ $action_col_size += 32;
+ }
+ if($this->parent->CopyPasteHandler){
+ $action_col_size += 20;
+ }
/* Toggle all selected / deselected */
- $chk = "";
/* set Page header */
@@ -83,7 +83,7 @@ class divListSudo extends MultiSelectWindow
$this->AddRegex ("Regex" , _("Regular expression for matching role names") ,
"*" , true);
$this->AddRegex ("UserRegex", _("Regular expression for matching role member names"),
- "*" , FALSE,"images/search_user.png");
+ "*" , FALSE,"images/lists/search-user.png");
}
@@ -95,28 +95,36 @@ class divListSudo extends MultiSelectWindow
which are shown in the listbox on top of the listbox
*/
$base = sudo::get_sudoers_ou($this->config);
- $acl = $this->ui->get_category_permissions($base,"sudo");
+ $acl = $this->ui->get_permissions($base,"sudo/sudo");
+ $acl_all= $this->ui->get_category_permissions($base,"sudo");
/* Add default header */
- $listhead = MultiSelectWindow::get_default_header();
+ $listhead = MultiSelectWindow::get_default_header(false);
/* Create Layers menu */
$s = ".|"._("Actions")."|\n";
- $s .= "..|
".
+ $s .= "..|
".
" "._("Create")."|\n";
/* Append create options */
if(preg_match("/c/",$acl)) {
- $s.= "...| "._("Role")."|new_role|\n";
+ $s.= "...| "._("Role")."|new_role|\n";
+ $s.= "...| "._("Default")."|new_default|\n";
}
/* Append multiple remove */
- if(preg_match("/d/",$acl)){
+ if(preg_match("/r/",$acl)){
$s.= "..|---|\n";
- $s.= "..|
".
+ $s.= "..|
".
" "._("Remove")."|"."del_role|\n";
}
+ /* Add Copy & Paste header */
+ $s .= $this->parent->get_copypaste_header($this->selectedBase,$this->module);
+
+ /* Add snapshot icons */
+ $s .= $this->parent->get_snapshot_header($this->selectedBase,$this->module);
+
$this->SetDropDownHeaderMenu($s);
$this->SetListHeader($listhead);
}
@@ -138,25 +146,36 @@ class divListSudo extends MultiSelectWindow
{
/* Prepare links */
$editlink = "%s";
- $userimg = "
";
+ $userimg = "
";
$ui = get_userinfo();
- $action_col_size = 80;
+ $action_col_size = 54;
+ if($this->parent->snapshotEnabled()){
+ $action_col_size += 32;
+ }
+ if($this->parent->CopyPasteHandler){
+ $action_col_size += 20;
+ }
// Test Every Entry and generate divlist Array
foreach($list as $key => $val){
/* Create action icons - copy & paste icons */
$acl = $ui->get_permissions($val['dn'],"sudo/sudo");
+ $acl_all= $this->ui->get_category_permissions($val['dn'],"sudo");
+
+ /* Add copy & cut functionality */
+ $actions = $this->parent->get_copypaste_action($val['dn'],"sudo","sudo",TRUE,FALSE);
- /* Add edit icon */
- $actions = "";
$actions.= "";
+ src='images/lists/edit.png' alt='".msgPool::editButton()."' name='sudo_edit_%KEY%' title='"._("Edit this entry")."'>";
+
+ /* Add snapshot icon */
+ $actions.= $this->parent->get_snapshot_action($val['dn'],$this->module);
if(preg_match("/d/",$acl)){
$actions.= "";
+ src='images/lists/trash.png' alt='".msgPool::delButton()."' name='sudo_del_%KEY%' title='"._("Delete this entry")."'>";
}
$title = "title='".preg_replace('/ /', ' ', @LDAP::fix($val['dn']))."'";
@@ -168,6 +187,22 @@ class divListSudo extends MultiSelectWindow
}
$display = $val['cn'][0].$desc;
+
+ /* Highlight defaults entry */
+ if(preg_match("/^defaults$/i",$val['cn'][0])){
+ $display = "$display";
+ }
+
+ /* 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 = "".$display."";
+ break;
+ }
+ }
+ }
+
$field1 = array("string" => "" ,
"attach" => "style='width:20px;'");
$field2 = array("string" => sprintf($userimg,$val['dn']),
@@ -183,7 +218,7 @@ class divListSudo extends MultiSelectWindow
/* Create summary string for list footer */
$num = count($list);
$num_str = _("Number of listed roles");
- $str = "
".$num." ";
$this->set_List_Bottom_Info($str);
}