X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=gosa-core%2Finclude%2Fclass_SnapShotDialog.inc;h=5b2b766465c19b1a856a29473f5a2cc3ad3cd37c;hb=9566dc068208034acf0da2630a7efbb5a370f191;hp=88fb6844fbd5e3e0cac6d5f0a95ef384636bdecf;hpb=8c330356c0b892a2dc968624dceb4477152676e4;p=gosa.git
diff --git a/gosa-core/include/class_SnapShotDialog.inc b/gosa-core/include/class_SnapShotDialog.inc
index 88fb6844f..5b2b76646 100644
--- a/gosa-core/include/class_SnapShotDialog.inc
+++ b/gosa-core/include/class_SnapShotDialog.inc
@@ -45,6 +45,17 @@ class SnapShotDialog extends plugin
plugin::plugin($config,$dn);
$this->parent = &$parent;
$this->ui = get_userinfo();
+
+ // Prepare lists
+ $this->snapList = new sortableListing();
+ $this->snapList->setDeleteable(false);
+ $this->snapList->setEditable(false);
+ $this->snapList->setWidth("100%");
+ $this->snapList->setHeight("200px");
+ $this->snapList->setHeader(array(_("Date"), _("Name") ));
+ $this->snapList->setColspecs(array('140px','*','60px'));
+ $this->snapList->setDefaultSortColumn(0);
+
}
@@ -64,10 +75,11 @@ class SnapShotDialog extends plugin
$ui = get_userinfo();
$once = true;
foreach($_POST as $name => $value){
+ $value = get_post($name);
if((preg_match("/^RemoveSnapShot_/",$name)) && ($once)){
$once = false;
$entry = preg_replace("/^RemoveSnapShot_/","",$name);
- $entry = base64_decode(preg_replace("/_[xy]$/","",$entry));
+ $entry = base64_decode($entry);
$found = false;
foreach($this->last_list as $t_stamp => $obj){
if($obj['dn'] == $entry){
@@ -79,18 +91,12 @@ 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)));
- return($smarty->fetch (get_template_path('remove.tpl')));
+ $smarty->assign("info", sprintf(_("You are about to delete the snapshot %s."), bold(LDAP::fix($this->del_dn))));
+ return($smarty->fetch (get_template_path('removeSnapshots.tpl')));
}
}
}
- /* Remove snapshot */
- if(isset($_POST['delete_confirm']) && !empty($this->del_dn)){
- $this->remove_snapshot($this->del_dn);
- $this->del_dn = "";
- }
-
/* We must restore a snapshot */
if($this->display_restore_dialog){
@@ -99,20 +105,21 @@ class SnapShotDialog extends plugin
or the snapshots for the given object dn */
$res = array();
$tmp = array();
+ $handler = new SnapshotHandler($this->config);
+
if($this->display_all_removed_objects){
if(count($this->snap_shot_bases)){
foreach($this->snap_shot_bases as $dn){
- $tmp = array_merge($tmp,$this->getAllDeletedSnapshots($dn,true));
+ $tmp = array_merge($tmp,$handler->getAllDeletedSnapshots($dn,true));
}
}else{
- $tmp = $this->getAllDeletedSnapshots($this->snap_shot_bases,true);
+ $tmp = $handler->getAllDeletedSnapshots($this->snap_shot_bases,true);
}
}else{
- $tmp = $this->Available_SnapsShots($this->dn,true);
+ $tmp = $handler->Available_SnapsShots($this->dn,true);
}
- $DivListSnapShots = new divSelectBox("SnapShotRestore");
- $DivListSnapShots->SetHeight(180);
+ $this->snapList->setAcl('rwcdm');
$list_of_elements = array();
@@ -127,30 +134,26 @@ class SnapShotDialog extends plugin
/* Sort generated list */
krsort($list_of_elements);
- /* Add Elements to divlist */
+ /* Add Elements to list */
$this->last_list = $list_of_elements;
- foreach($list_of_elements as $entry){
-
- $actions= " ";
- $actions.= " ";
+ $data = $lData = array();
+ foreach($list_of_elements as $entry){
+ $actions= image('images/lists/restore.png','RestoreSnapShot_%KEY',_("Restore snapshot"));
+ $actions.= image('images/lists/trash.png','RemoveSnapShot_%KEY',_("Delete snapshot"));
$time_stamp = date(_("Y-m-d, H:i:s"),preg_replace("/\-.*$/","",$entry['gosaSnapshotTimestamp'][0]));
$display_data = $entry['description'][0];
-
- if($this->display_all_removed_objects){
- $display_data.= " - ".$entry['gosaSnapshotDN'][0];
- }
-
- $field0 = array("string"=> $time_stamp , "attach"=> "style='vertical-align:top;width:120px;'");
- $field1 = array("string"=> htmlentities (utf8_decode(LDAP::fix($display_data))), "attach"=> "");
- $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));
+ $data[$entry['dn']] = $entry;
+ $lData[$entry['dn']] = array('data'=>
+ array(
+ $time_stamp,
+ htmlentities(utf8_decode(LDAP::fix($display_data))),
+ str_replace("%KEY",base64_encode($entry['dn']), $actions)));
}
- $smarty->assign("SnapShotDivlist",$DivListSnapShots->DrawList());
+ $this->snapList->setListData($data, $lData);
+ $this->snapList->update();
+ $smarty->assign("SnapShotList",$this->snapList->render());
$smarty->assign("CountSnapShots",count($list_of_elements));
}
@@ -158,7 +161,7 @@ class SnapShotDialog extends plugin
$smarty->assign("RestoreMode",$this->display_restore_dialog);
$smarty->assign("CurrentDate",date(_("Y-m-d, H:i:s")));
$smarty->assign("CurrentDN",LDAP::fix($this->dn));
- $smarty->assign("CurrentDescription",$this->CurrentDescription);
+ $smarty->assign("CurrentDescription",set_post($this->CurrentDescription));
return($smarty->fetch(get_template_path("snapshotdialog.tpl")));
}
@@ -177,10 +180,10 @@ class SnapShotDialog extends plugin
function save_object()
{
- plugin::save_object();
+ // plugin::save_object();
foreach($this->attributes as $name){
if(isset($_POST[$name])){
- $this->$name = stripslashes($_POST[$name]);
+ $this->$name = get_post($name);
}
}
}