Code

Updated sudo
authorhickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8>
Tue, 8 Apr 2008 10:11:44 +0000 (10:11 +0000)
committerhickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8>
Tue, 8 Apr 2008 10:11:44 +0000 (10:11 +0000)
-Added snapshot functionality

git-svn-id: https://oss.gonicus.de/repositories/gosa/trunk@10277 594d385d-05f5-0310-b6e9-bd551577e9d8

gosa-plugins/sudo/admin/sudo/class_divListSudo.inc
gosa-plugins/sudo/admin/sudo/class_sudoManagement.inc

index fc65d03edd8ca2fe79f831dd2f44c40722dd00ee..de03718668d44ad923186b0dbfee5554e2933ef8 100644 (file)
@@ -65,7 +65,10 @@ class divListSudo extends MultiSelectWindow
     $this->EnableSaveButton (false);
 
     /* Dynamic action col, depending on snapshot icons */
-    $action_col_size = 80;
+    $action_col_size = 50;
+    if($this->parent->snapshotEnabled()){
+      $action_col_size += 38;
+    }
 
     /* Toggle all selected / deselected */
     $chk = "<input type='checkbox' id='select_all' name='select_all'
@@ -117,6 +120,13 @@ class divListSudo extends MultiSelectWindow
         "&nbsp;"._("Remove")."|"."del_role|\n";
     }
 
+    /* Add snapshot icons */
+    if(preg_match("/(c.*w|w.*c)/",$acl)){
+      $s .= "..|---|\n";
+      $s .= $this->get_snapshot_header(TRUE);
+    }
+
+
     $this->SetDropDownHeaderMenu($s);
     $this->SetListHeader($listhead);
   }
@@ -141,7 +151,10 @@ class divListSudo extends MultiSelectWindow
     $userimg  = "<img class='center' src='images/select_sudo.png' alt='Sudo' title='%s'>";
     $ui       = get_userinfo();
 
-    $action_col_size = 80;
+    $action_col_size = 50;
+    if($this->parent->snapshotEnabled()){
+      $action_col_size += 38;
+    }
 
     // Test Every Entry and generate divlist Array
     foreach($list as $key => $val){
@@ -154,6 +167,10 @@ class divListSudo extends MultiSelectWindow
       $actions.= "<input class='center' type='image'
         src='images/edit.png' alt='".msgPool::editButton()."' name='sudo_edit_%KEY%' title='"._("Edit this entry")."'>";
 
+      if(preg_match("/(c.*w|w.*c)/",$acl)){
+        $actions.= $this->GetSnapShotActions($val['dn']);
+      }
+
       if(preg_match("/d/",$acl)){
         $actions.= "<input class='center' type='image'
           src='images/edittrash.png' alt='".msgPool::delButton()."' name='sudo_del_%KEY%' title='"._("Delete this entry")."'>";
index 9571c7ed0ecfeeab59c4e3c098d0fc5140899f20..835e3a2240680cfe03a9b9e05d54cd250d0a1be9 100644 (file)
@@ -307,6 +307,11 @@ class sudoManagement extends plugin
       return ($display);
     }
 
+    /* Check if there is a snapshot dialog open */
+    if($str = $this->showSnapshotDialog(sudo::get_sudoers_ou($this->config),$this->get_used_snapshot_bases())){
+      return($str);
+    }
+
     /* Display dialog with sudo list */
     $this->DivListSudo->execute();
     $this->reload ();
@@ -398,6 +403,10 @@ class sudoManagement extends plugin
       del_lock($this->dns);
     }
   }
+
+  function get_used_snapshot_bases(){
+    return(array(sudo::get_sudoers_ou($this->config)));
+  }
 }
 // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
 ?>