Code

Requrie new schema for gosaAccount
[gosa.git] / gosa-core / include / class_SnapShotDialog.inc
index 507832f0719515d3edb833793c4aa4c8577d8c13..b13f1cdbec430e5c0552ed634eedd552287668e7 100644 (file)
@@ -61,13 +61,20 @@ class SnapShotDialog extends plugin
                plugin::execute();
                $smarty = get_smarty();
 
+    if(!isset($this->parent->acl_module) || !count($this->parent->acl_module)){
+      trigger_error("Could not detect acl_module in parent object (".get_class($this->parent).").");
+      return("");
+    }
+
+    $ui = get_userinfo();
+
                $once = true;
                foreach($_POST as $name => $value){
                        if((preg_match("/^RemoveSnapShot_/",$name)) && ($once)){
                                $once = false;
        
-                               $entry = preg_replace("/^RemoveSnapShot_/","",$name);
-                               $entry = base64_decode(preg_replace("/_[xy]$/","",$entry));
+        $entry = preg_replace("/^RemoveSnapShot_/","",$name);
+        $entry = base64_decode(preg_replace("/_[xy]$/","",$entry));
 
         $found = false;
         foreach($this->last_list as $t_stamp => $obj){
@@ -80,7 +87,7 @@ class SnapShotDialog extends plugin
         if($found){
           $this->del_dn        = $entry;
           $smarty= get_smarty();
-          $smarty->assign("intro", sprintf(_("You're about to delete the snapshot '%s'."), @LDAP::fix($this->del_dn)));
+          $smarty->assign("intro", sprintf(_("You're about to delete the snapshot '%s'."), LDAP::fix($this->del_dn)));
           return($smarty->fetch (get_template_path('remove.tpl')));
         }
       }
@@ -93,6 +100,7 @@ class SnapShotDialog extends plugin
                }
 
                /* We must restore a snapshot */
+
                if($this->display_restore_dialog){
 
                        /* Should we only display all snapshots of already deleted objects 
@@ -118,8 +126,10 @@ class SnapShotDialog extends plugin
                        
                        /* Walk through all entries and setup the display text */
                        foreach($tmp as $key => $entry){
-                               $TimeStamp = $entry['gosaSnapshotTimestamp'][0];
-                               $list_of_elements[$TimeStamp] = $entry;
+    
+        /* Check permissions */
+        $TimeStamp = $entry['gosaSnapshotTimestamp'][0];
+        $list_of_elements[$TimeStamp] = $entry;
                        }
 
                        /* Sort generated list */
@@ -129,10 +139,10 @@ class SnapShotDialog extends plugin
       $this->last_list = $list_of_elements;
                        foreach($list_of_elements as $entry){
 
-                               $actions= "<input type='image' src='images/restore.png' name='RestoreSnapShot_%KEY' 
-                                                               class='center' title='"._("Restore snapshot")."'>&nbsp;";
-                               $actions.= "<input type='image' src='images/lists/trash.png' name='RemoveSnapShot_%KEY' 
-                                                               class='center' title='"._("Remove snapshot")."'>&nbsp;";
+        $actions= "<input type='image' src='images/lists/restore.png' name='RestoreSnapShot_%KEY' 
+          class='center' title='"._("Restore snapshot")."'>&nbsp;";
+        $actions.= "<input type='image' src='images/lists/trash.png' name='RemoveSnapShot_%KEY' 
+          class='center' title='"._("Remove snapshot")."'>&nbsp;";
 
                                $time_stamp     = date(_("Y-m-d, H:i:s"),preg_replace("/\-.*$/","",$entry['gosaSnapshotTimestamp'][0]));
                                $display_data   = $entry['description'][0];
@@ -143,7 +153,7 @@ class SnapShotDialog extends plugin
 
                                $field0 = array("string"=> $time_stamp , "attach"=> "style='vertical-align:top;width:120px;'");
                                $field1 = array("string"=> htmlentities (utf8_decode($display_data)), "attach"=> "");
-                               $field2 = array("string"=> preg_replace("/%KEY/",base64_encode($entry['dn']),$actions) , 
+                               $field2 = array("string"=> str_replace("%KEY",base64_encode($entry['dn']),$actions) , 
                                                                "attach"=> "style='border-right:0px;vertical-align:top;width:40px;text-align:right;'");
                                $DivListSnapShots->AddEntry(array($field0,$field1,$field2));
                        }