X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=gosa-core%2Finclude%2Fclass_SnapShotDialog.inc;h=315d1525de8e90c3bb4b8e627b4a7a33c7471c5e;hb=226580d683c1bebd09e732b0ce8af02935fd7e31;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..315d1525d 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); + } @@ -67,7 +78,7 @@ class SnapShotDialog extends plugin 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 +90,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 +104,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 +133,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)); } @@ -177,7 +179,7 @@ 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]);