* eMail: action to undelete/revert single messages that may be marked as deleted in preview or view message mode; using revert icon for that action

This commit is contained in:
Klaus Leithoff 2011-06-21 10:51:27 +00:00
parent 2ad7f94023
commit 57bc46eb87
5 changed files with 39 additions and 4 deletions

View File

@ -777,7 +777,7 @@
return null;
}
function flagMessages($_flag, $_messageUID)
function flagMessages($_flag, $_messageUID, $_folder=NULL)
{
#error_log("felamimail::bocompose::flagMessages");
if(!is_array($_messageUID)) {
@ -792,9 +792,12 @@
}
}
$this->icServer->selectMailbox($this->sessionData['mailbox']);
$this->icServer->selectMailbox(($_folder?$_folder:$this->sessionData['mailbox']));
switch($_flag) {
case "undelete":
$this->icServer->setFlags($_messageUID, '\\Deleted', 'remove', true);
break;
case "flagged":
$this->icServer->setFlags($_messageUID, '\\Flagged', 'add', true);
break;

View File

@ -364,6 +364,10 @@
if($partID != '') {
$headerData['partid'] = $partID;
}
if (strpos(array2string($flags),'Deleted')!==false)
{
$headerData['deleted']=1;
}
$this->t->set_var('navbarButtonsLeft',$uiWidgets->displayMessageActions($headerData, $this->mailbox, $this->icServer));
$navbarButtons = '';

View File

@ -24,6 +24,7 @@
'compressFolder' => True,
'importMessage' => True,
'deleteMessage' => True,
'undeleteMessage' => True,
'hookAdmin' => True,
'toggleFilter' => True,
'viewMainScreen' => True,
@ -348,6 +349,23 @@
opener.location.href = '" .$refreshURL. "';
window.close();</script>";
}
function undeleteMessage()
{ // only for messages marked as deleted
$message[] = $_GET["message"];
$mailfolder = NULL;
if (!empty($_GET['folder'])) $mailfolder = base64_decode($_GET['folder']);
$this->bofelamimail->flagMessages('undelete',$message,$mailfolder);
// set the url to open when refreshing
$linkData = array
(
'menuaction' => 'felamimail.uifelamimail.viewMainScreen'
);
$refreshURL = $GLOBALS['egw']->link('/index.php',$linkData);
print "<script type=\"text/javascript\">
opener.location.href = '" .$refreshURL. "';
window.close();</script>";
}
function display_app_header($includeFMStuff=true)
{

View File

@ -827,7 +827,7 @@ class uiwidgets
//delete url
$linkData = array (
'menuaction' => 'felamimail.uifelamimail.deleteMessage',
'menuaction' => 'felamimail.uifelamimail.'.($_headerData['deleted']?'un':'').'deleteMessage',
'icServer' => $_icServer,
'folder' => base64_encode($_folderName),
'message' => $_headerData['uid'],
@ -851,11 +851,21 @@ class uiwidgets
'action' => ($_forceNewWindow ? "egw_openWindowCentered('$forwardURL','forward_".$_headerData['uid']."',".$fm_width.",".$fm_height.");": "window.location.href = '$forwardURL'"),
'tooltip' => lang('forward'),
),
'revert' => array(
'action' => ($_forceNewWindow ? "window.open('$deleteURL','_blank','dependent=yes,width=100,height=100,toolbar=no,scrollbars=no,status=no')": "window.location.href = '$deleteURL'"),
'tooltip' => ($_headerData['deleted']?lang('undelete'):lang('delete')),
),
'delete' => array(
'action' => ($_forceNewWindow ? "window.open('$deleteURL','_blank','dependent=yes,width=100,height=100,toolbar=no,scrollbars=no,status=no')": "window.location.href = '$deleteURL'"),
'tooltip' => lang('delete'),
'tooltip' => ($_headerData['deleted']?lang('undelete'):lang('delete')),
),
);
if ($_headerData['deleted'])
{
unset($navbarImages['delete']);
} else {
unset($navbarImages['revert']);
}
foreach($navbarImages as $buttonName => $buttonInfo) {
$navbarButtons .= $this->navbarButton($buttonName, $buttonInfo['action'], $buttonInfo['tooltip']);
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 780 B