mirror of
https://github.com/EGroupware/egroupware.git
synced 2025-02-27 15:42:08 +01:00
fix setting answered and forwarded flags on answering/forwarding mails
This commit is contained in:
parent
f0710fbecb
commit
bc2689c3ae
@ -2693,21 +2693,19 @@ class mail_bo
|
||||
$msglist = '';
|
||||
$oldMailbox = '';
|
||||
if (is_null($_folder) || empty($_folder)) $_folder = $this->sessionData['mailbox'];
|
||||
if(!is_array($_messageUID) || count($_messageUID) === 0)
|
||||
if (empty($_messageUID))
|
||||
{
|
||||
if ($_messageUID=='all')
|
||||
{
|
||||
$_messageUID= null;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (self::$debug) error_log(__METHOD__." no messages Message(s): ".implode(',',$_messageUID));
|
||||
return false;
|
||||
}
|
||||
if (self::$debug) error_log(__METHOD__." no messages Message(s): ".implode(',',$_messageUID));
|
||||
return false;
|
||||
}
|
||||
elseif ($_messageUID==='all')
|
||||
{
|
||||
$_messageUID= null;
|
||||
}
|
||||
else
|
||||
{
|
||||
$uidsToDelete = new Horde_Imap_Client_Ids();
|
||||
if (!(is_object($_messageUID) || is_array($_messageUID))) $_messageUID = (array)$_messageUID;
|
||||
$uidsToDelete->add($_messageUID);
|
||||
}
|
||||
$deleteOptions = $_forceDeleteMethod; // use forceDeleteMethod if not "no", or unknown method
|
||||
@ -2724,10 +2722,11 @@ class mail_bo
|
||||
$oldMailbox = $this->icServer->getCurrentMailbox();
|
||||
$this->icServer->openMailbox($_folder);
|
||||
}
|
||||
|
||||
//error_log(__METHOD__.__LINE__.'->'.array2string($_messageUID).','.$_folder.'/'.$this->sessionData['mailbox'].' Option:'.$deleteOptions);
|
||||
$updateCache = false;
|
||||
switch($deleteOptions) {
|
||||
case "move_to_trash":
|
||||
//error_log(__METHOD__.__LINE__);
|
||||
$updateCache = true;
|
||||
if(!empty($trashFolder)); {
|
||||
if (self::$debug) error_log(__METHOD__.__LINE__.implode(' : ', $_messageUID));
|
||||
@ -2738,6 +2737,7 @@ class mail_bo
|
||||
break;
|
||||
|
||||
case "mark_as_deleted":
|
||||
//error_log(__METHOD__.__LINE__);
|
||||
// mark messages as deleted
|
||||
if (is_null($_messageUID)) $_messageUID='all';
|
||||
foreach((array)$_messageUID as $key =>$uid)
|
||||
@ -2757,12 +2757,20 @@ class mail_bo
|
||||
break;
|
||||
|
||||
case "remove_immediately":
|
||||
//error_log(__METHOD__.__LINE__);
|
||||
$updateCache = true;
|
||||
if (is_null($_messageUID)) $_messageUID='all';
|
||||
foreach((array)$_messageUID as $key =>$uid)
|
||||
if (is_object($_messageUID))
|
||||
{
|
||||
//flag messages, that are flagged for deletion as seen too
|
||||
$this->flagMessages('delete', $uid, $_folder);
|
||||
$this->flagMessages('delete', $_messageUID, $_folder);
|
||||
}
|
||||
else
|
||||
{
|
||||
foreach((array)$_messageUID as $key =>$uid)
|
||||
{
|
||||
//flag messages, that are flagged for deletion as seen too
|
||||
$this->flagMessages('delete', $uid, $_folder);
|
||||
}
|
||||
}
|
||||
// delete the messages finaly
|
||||
$this->icServer->expunge($_folder);
|
||||
@ -2785,7 +2793,8 @@ class mail_bo
|
||||
function getFlags ($_messageUID) {
|
||||
|
||||
$uidsToFetch = new Horde_Imap_Client_Ids();
|
||||
$uidsToFetch->add((array)$_messageUID);
|
||||
if (!(is_object($_messageUID) || is_array($_messageUID))) $_messageUID = (array)$_messageUID;
|
||||
$uidsToFetch->add($_messageUID);
|
||||
$_folderName = $this->icServer->getCurrentMailbox();
|
||||
$fquery = new Horde_Imap_Client_Fetch_Query();
|
||||
$fquery->flags();
|
||||
@ -2841,22 +2850,19 @@ class mail_bo
|
||||
function flagMessages($_flag, $_messageUID,$_folder=NULL)
|
||||
{
|
||||
//error_log(__METHOD__.__LINE__.'->' .$_flag." ".array2string($_messageUID).",$_folder /".$this->sessionData['mailbox']);
|
||||
if(!is_array($_messageUID)) {
|
||||
#return false;
|
||||
if ($_messageUID=='all')
|
||||
{
|
||||
//the empty array triggers the default for ctoring a flag for ALL messages
|
||||
$uidsToModify = null;
|
||||
}
|
||||
else
|
||||
{
|
||||
$uidsToModify = new Horde_Imap_Client_Ids();
|
||||
$uidsToModify->add($_messageUID);
|
||||
}
|
||||
if (empty($_messageUID))
|
||||
{
|
||||
if (self::$debug) error_log(__METHOD__." no messages Message(s): ".implode(',',$_messageUID));
|
||||
return false;
|
||||
}
|
||||
elseif ($_messageUID==='all')
|
||||
{
|
||||
$uidsToModify= null;
|
||||
}
|
||||
else
|
||||
{
|
||||
$uidsToModify = new Horde_Imap_Client_Ids();
|
||||
if (!(is_object($_messageUID) || is_array($_messageUID))) $_messageUID = (array)$_messageUID;
|
||||
$uidsToModify->add($_messageUID);
|
||||
}
|
||||
|
||||
@ -2967,21 +2973,19 @@ class mail_bo
|
||||
$msglist = '';
|
||||
|
||||
$deleteOptions = $GLOBALS['egw_info']["user"]["preferences"]["mail"]["deleteOptions"];
|
||||
if(!is_array($_messageUID) || count($_messageUID) === 0)
|
||||
if (empty($_messageUID))
|
||||
{
|
||||
if ($_messageUID=='all')
|
||||
{
|
||||
$uidsToMove= null;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (self::$debug) error_log(__METHOD__." no messages Message(s): ".implode(',',$_messageUID));
|
||||
return false;
|
||||
}
|
||||
if (self::$debug) error_log(__METHOD__." no messages Message(s): ".implode(',',$_messageUID));
|
||||
return false;
|
||||
}
|
||||
elseif ($_messageUID==='all')
|
||||
{
|
||||
$uidsToMove= null;
|
||||
}
|
||||
else
|
||||
{
|
||||
$uidsToMove = new Horde_Imap_Client_Ids();
|
||||
if (!(is_object($_messageUID) || is_array($_messageUID))) $_messageUID = (array)$_messageUID;
|
||||
$uidsToMove->add($_messageUID);
|
||||
}
|
||||
$sourceFolder = (!empty($currentFolder)?$currentFolder: $this->sessionData['mailbox']);
|
||||
@ -3496,7 +3500,8 @@ class mail_bo
|
||||
//error_log(__METHOD__.__LINE__.array2string($_folder).'/'.$this->icServer->getCurrentMailbox().'/'. $this->sessionData['mailbox']);
|
||||
// querying contents of body part
|
||||
$uidsToFetch = new Horde_Imap_Client_Ids();
|
||||
$uidsToFetch->add((array)$_uid);
|
||||
if (!(is_object($_uid) || is_array($_uid))) $_uid = (array)$_uid;
|
||||
$uidsToFetch->add($_uid);
|
||||
|
||||
$fquery = new Horde_Imap_Client_Fetch_Query();
|
||||
$fquery->bodyPart($_partID, array(
|
||||
@ -3986,7 +3991,8 @@ class mail_bo
|
||||
//error_log(__METHOD__.__LINE__.":$_uid,$_partID,$decode,$_folder");
|
||||
if(empty($_partID)) {
|
||||
$uidsToFetch = new Horde_Imap_Client_Ids();
|
||||
$uidsToFetch->add((array)$_uid);
|
||||
if (!(is_object($_uid) || is_array($_uid))) $_uid = (array)$_uid;
|
||||
$uidsToFetch->add($_uid);
|
||||
|
||||
$fquery = new Horde_Imap_Client_Fetch_Query();
|
||||
$envFields = new Horde_Mime_Headers();
|
||||
@ -4097,7 +4103,8 @@ class mail_bo
|
||||
//error_log(__METHOD__.__LINE__.':'.$_uid.', '.$_partID.', '.$decode.', '.$preserveUnSeen.', '.$_folder);
|
||||
if (empty($_folder)) $_folder = ($this->sessionData['mailbox']? $this->sessionData['mailbox'] : $this->icServer->getCurrentMailbox());
|
||||
$uidsToFetch = new Horde_Imap_Client_Ids();
|
||||
$uidsToFetch->add((array)$_uid);
|
||||
if (!(is_object($_uid) || is_array($_uid))) $_uid = (array)$_uid;
|
||||
$uidsToFetch->add($_uid);
|
||||
|
||||
$fquery = new Horde_Imap_Client_Fetch_Query();
|
||||
$fquery->headerText(array('peek'=>$preserveUnSeen));
|
||||
@ -4153,7 +4160,8 @@ class mail_bo
|
||||
return $rawHeaders[$this->icServer->ImapServerId][$_folder][$_uid][(empty($_partID)?'NIL':$_partID)];
|
||||
}
|
||||
$uidsToFetch = new Horde_Imap_Client_Ids();
|
||||
$uidsToFetch->add((array)$_uid);
|
||||
if (!(is_object($_uid) || is_array($_uid))) $_uid = (array)$_uid;
|
||||
$uidsToFetch->add($_uid);
|
||||
|
||||
$fquery = new Horde_Imap_Client_Fetch_Query();
|
||||
$fquery->headerText(array('peek'=>true));
|
||||
@ -4267,7 +4275,8 @@ class mail_bo
|
||||
}
|
||||
|
||||
$uidsToFetch = new Horde_Imap_Client_Ids();
|
||||
$uidsToFetch->add((array)$_uid);
|
||||
if (!(is_object($_uid) || is_array($_uid))) $_uid = (array)$_uid;
|
||||
$uidsToFetch->add($_uid);
|
||||
|
||||
$fquery = new Horde_Imap_Client_Fetch_Query();
|
||||
$fquery->fullText(array('peek'=>true));
|
||||
@ -4297,7 +4306,8 @@ class mail_bo
|
||||
}
|
||||
}
|
||||
$uidsToFetch = new Horde_Imap_Client_Ids();
|
||||
$uidsToFetch->add((array)$_uid);
|
||||
if (!(is_object($_uid) || is_array($_uid))) $_uid = (array)$_uid;
|
||||
$uidsToFetch->add($_uid);
|
||||
|
||||
$fquery = new Horde_Imap_Client_Fetch_Query();
|
||||
$fquery->fullText(array('peek'=>true));//always do that as peek -> no seen flag set
|
||||
@ -4350,7 +4360,8 @@ class mail_bo
|
||||
$_folder = ($this->sessionData['mailbox']? $this->sessionData['mailbox'] : $this->icServer->getCurrentMailbox());
|
||||
}
|
||||
$uidsToFetch = new Horde_Imap_Client_Ids();
|
||||
$uidsToFetch->add((array)$_uid);
|
||||
if (!(is_object($_uid) || is_array($_uid))) $_uid = (array)$_uid;
|
||||
$uidsToFetch->add($_uid);
|
||||
try
|
||||
{
|
||||
$_fquery = new Horde_Imap_Client_Fetch_Query();
|
||||
@ -4552,7 +4563,8 @@ class mail_bo
|
||||
$_folder = ($this->sessionData['mailbox']? $this->sessionData['mailbox'] : $this->icServer->getCurrentMailbox());
|
||||
|
||||
$uidsToFetch = new Horde_Imap_Client_Ids();
|
||||
$uidsToFetch->add((array)$_uid);
|
||||
if (!(is_object($_uid) || is_array($_uid))) $_uid = (array)$_uid;
|
||||
$uidsToFetch->add($_uid);
|
||||
|
||||
$fquery = new Horde_Imap_Client_Fetch_Query();
|
||||
$fquery->structure();
|
||||
|
@ -411,6 +411,7 @@ class mail_compose
|
||||
try
|
||||
{
|
||||
$_content['isDraft'] = 1;
|
||||
$previouslyDrafted = $_content['lastdrafted'];
|
||||
// save as draft
|
||||
$folder = $this->mail_bo->getDraftFolder();
|
||||
$this->mail_bo->reopen($folder);
|
||||
@ -425,14 +426,34 @@ class mail_compose
|
||||
}
|
||||
// saving as draft, does not mean closing the message
|
||||
$messageUid = ($messageUid===true ? $uidNext : $messageUid);
|
||||
if ($this->mail_bo->getMessageHeader($messageUid))
|
||||
//error_log(__METHOD__.__LINE__.' (re)open drafted message with new UID: '.$messageUid.'/'.gettype($messageUid).' in folder:'.$folder);
|
||||
if ($this->mail_bo->getMessageHeader($messageUid, '',false, false, $folder))
|
||||
{
|
||||
//error_log(__METHOD__.__LINE__.' (re)open drafted message with new UID: '.$messageUid.' in folder:'.$folder);
|
||||
$draftContent = $this->bocompose->getDraftData($this->mail_bo->icServer, $folder, $messageUid);
|
||||
$draft_id = mail_ui::createRowID($folder, $messageUid);
|
||||
error_log(__METHOD__.__LINE__.' (re)open drafted message with new UID: '.$draft_id.'/'.$previouslyDrafted.' in folder:'.$folder);
|
||||
if (isset($previouslyDrafted) && $previouslyDrafted!=$draft_id)
|
||||
{
|
||||
$dhA = mail_ui::splitRowID($previouslyDrafted);
|
||||
$duid = $dhA['msgUID'];
|
||||
$dmailbox = $dhA['folder'];
|
||||
try
|
||||
{
|
||||
error_log(__METHOD__.__LINE__."->".print_r($duid,true).' folder:'.$dmailbox.' Method:'.'remove_immediately');
|
||||
$this->mail_bo->deleteMessages($duid,$dmailbox,'remove_immediately');
|
||||
}
|
||||
catch (egw_exception $e)
|
||||
{
|
||||
$error = str_replace('"',"'",$e->getMessage());
|
||||
error_log(__METHOD__.__LINE__.$error);
|
||||
}
|
||||
}
|
||||
$_content['lastdrafted'] = $draft_id;
|
||||
//$draftContent = $this->bocompose->getDraftData($this->mail_bo->icServer, $folder, $messageUid);
|
||||
//$this->compose($draftContent,null,'to',true);
|
||||
//return true;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
catch (egw_exception_wrong_userinput $e)
|
||||
{
|
||||
@ -1254,6 +1275,9 @@ class mail_compose
|
||||
$content['serverID'] = $this->mail_bo->profileID;
|
||||
}
|
||||
$preserv['serverID'] = $content['serverID'];
|
||||
$preserv['lastdrafted'] = $content['lastdrafted'];
|
||||
$preserv['processedmail_id'] = $content['processedmail_id'];
|
||||
$preserv['mode'] = $content['mode'];
|
||||
// convert it back to checkbox expectations
|
||||
if($content['mimeType'] == 'html') {
|
||||
$content['mimeType']=1;
|
||||
@ -1312,7 +1336,8 @@ class mail_compose
|
||||
case 'reply':
|
||||
case 'reply_all':
|
||||
$content = $this->getReplyData($from == 'reply' ? 'single' : 'all', $icServer, $folder, $msgUID, $part_id);
|
||||
|
||||
$content['processedmail_id'] = $mail_id;
|
||||
$content['mode'] = 'reply';
|
||||
$_focusElement = 'body';
|
||||
$suppressSigOnTop = false;
|
||||
$isReply = true;
|
||||
@ -1328,6 +1353,8 @@ class mail_compose
|
||||
$folder = $hA['folder'];
|
||||
$content = $this->getForwardData($icServer, $folder, $msgUID, $part_id, $mode);
|
||||
}
|
||||
$content['processedmail_id'] = implode(',',$replyIds);
|
||||
$content['mode'] = 'forward';
|
||||
$isReply = ($mode?$mode=='inline':$this->preferencesArray['message_forwarding'] == 'inline');
|
||||
$suppressSigOnTop = false;// ($mode && $mode=='inline'?true:false);// may be a better solution
|
||||
$_focusElement = 'to';
|
||||
@ -1625,9 +1652,10 @@ class mail_compose
|
||||
//_debug_array($headers); exit;
|
||||
// check for Re: in subject header
|
||||
$this->sessionData['subject'] = "[FWD] " . $mail_bo->decode_header($headers['SUBJECT']);
|
||||
$this->sessionData['sourceFolder']=$_folder;
|
||||
$this->sessionData['forwardFlag']='forwarded';
|
||||
$this->sessionData['forwardedUID']=$_uid;
|
||||
// the three arrtibutes below are substituted by processedmail_id and mode
|
||||
//$this->sessionData['sourceFolder']=$_folder;
|
||||
//$this->sessionData['forwardFlag']='forwarded';
|
||||
//$this->sessionData['forwardedUID']=$_uid;
|
||||
if ($this->preferencesArray['message_forwarding'] == 'asmail') {
|
||||
$this->sessionData['mimeType'] = $this->preferencesArray['composeOptions'];
|
||||
if($headers['SIZE'])
|
||||
@ -2271,6 +2299,33 @@ class mail_compose
|
||||
$this->sessionData['mimeType'] = $_formData['mimeType'];
|
||||
$this->sessionData['to_infolog'] = $_formData['to_infolog'];
|
||||
$this->sessionData['to_tracker'] = $_formData['to_tracker'];
|
||||
if (isset($_formData['lastdrafted']) && !empty($_formData['lastdrafted']))
|
||||
{
|
||||
$this->sessionData['lastdrafted'] = $_formData['lastdrafted'];
|
||||
}
|
||||
//error_log(__METHOD__.__LINE__.' Mode:'.$_formData['mode'].' PID:'.$_formData['processedmail_id']);
|
||||
if (isset($_formData['mode']) && !empty($_formData['mode']))
|
||||
{
|
||||
if ($_formData['mode']=='forward' && !empty($_formData['processedmail_id']))
|
||||
{
|
||||
$this->sessionData['forwardFlag']='forwarded';
|
||||
$_formData['processedmail_id'] = explode(',',$_formData['processedmail_id']);
|
||||
$this->sessionData['uid']=array();
|
||||
foreach ($_formData['processedmail_id'] as $k =>$rowid)
|
||||
{
|
||||
$fhA = mail_ui::splitRowID($rowid);
|
||||
$this->sessionData['uid'][] = $fhA['msgUID'];
|
||||
$this->sessionData['forwardedUID'][] = $fhA['msgUID'];
|
||||
if (!empty($fhA['folder'])) $this->sessionData['sourceFolder'] = $fhA['folder'];
|
||||
}
|
||||
}
|
||||
if ($_formData['mode']=='reply' && !empty($_formData['processedmail_id']))
|
||||
{
|
||||
$rhA = mail_ui::splitRowID($_formData['processedmail_id']);
|
||||
$this->sessionData['uid'] = $rhA['msgUID'];
|
||||
$this->sessionData['messageFolder'] = $rhA['folder'];
|
||||
}
|
||||
}
|
||||
// if the body is empty, maybe someone pasted something with scripts, into the message body
|
||||
// this should not happen anymore, unless you call send directly, since the check was introduced with the action command
|
||||
if(empty($this->sessionData['body']))
|
||||
@ -2468,12 +2523,26 @@ class mail_compose
|
||||
$lastDrafted = false;
|
||||
if (isset($this->sessionData['lastDrafted']))
|
||||
{
|
||||
$lastDrafted = $this->sessionData['lastDrafted'];
|
||||
$lastDrafted=array();
|
||||
$dhA = mail_ui::splitRowID($this->sessionData['lastdrafted']);
|
||||
$lastDrafted['uid'] = $dhA['msgUID'];
|
||||
$lastDrafted['folder'] = $dhA['folder'];
|
||||
if (isset($lastDrafted['uid']) && !empty($lastDrafted['uid'])) $lastDrafted['uid']=trim($lastDrafted['uid']);
|
||||
// manually drafted, do not delete
|
||||
if (isset($lastDrafted['uid']) && (empty($lastDrafted['uid']) || $lastDrafted['uid'] == $this->sessionData['uid'])) $lastDrafted=false;
|
||||
//error_log(__METHOD__.__LINE__.array2string($lastDrafted));
|
||||
}
|
||||
if ($lastDrafted && is_array($lastDrafted) && $mail_bo->isDraftFolder($lastDrafted['folder'])) $mail_bo->deleteMessages((array)$lastDrafted['uid'],$lastDrafted['folder'],"remove_immediately");
|
||||
if ($lastDrafted && is_array($lastDrafted) && $mail_bo->isDraftFolder($lastDrafted['folder']))
|
||||
{
|
||||
try
|
||||
{
|
||||
$mail_bo->deleteMessages($lastDrafted['uid'],$lastDrafted['folder'],'remove_immediately');
|
||||
}
|
||||
catch (egw_exception $e)
|
||||
{
|
||||
$error = str_replace('"',"'",$e->getMessage());
|
||||
}
|
||||
}
|
||||
unset($this->sessionData['lastDrafted']);
|
||||
|
||||
//error_log("handling draft messages, flagging and such");
|
||||
@ -2481,17 +2550,19 @@ class mail_compose
|
||||
|| (isset($this->sessionData['forwardFlag']) && isset($this->sessionData['sourceFolder']))) {
|
||||
// mark message as answered
|
||||
$mail_bo->openConnection();
|
||||
$mail_bo->reopen($this->sessionData['messageFolder']);
|
||||
$mail_bo->reopen(($this->sessionData['messageFolder']?$this->sessionData['messageFolder']:$this->sessionData['sourceFolder']));
|
||||
// if the draft folder is a starting part of the messages folder, the draft message will be deleted after the send
|
||||
// unless your templatefolder is a subfolder of your draftfolder, and the message is in there
|
||||
if ($mail_bo->isDraftFolder($this->sessionData['messageFolder']) && !$mail_bo->isTemplateFolder($this->sessionData['messageFolder']))
|
||||
{
|
||||
$mail_bo->deleteMessages(array($this->sessionData['uid']),$this->sessionData['messageFolder']);
|
||||
} else {
|
||||
$mail_bo->flagMessages("answered", array($this->sessionData['uid']));
|
||||
$mail_bo->flagMessages("answered", $this->sessionData['uid'],($this->sessionData['messageFolder']?$this->sessionData['messageFolder']:$this->sessionData['sourceFolder']));
|
||||
//error_log(__METHOD__.__LINE__.array2string(array_keys($this->sessionData)).':'.array2string($this->sessionData['forwardedUID']).' F:'.$this->sessionData['sourceFolder']);
|
||||
if (array_key_exists('forwardFlag',$this->sessionData) && $this->sessionData['forwardFlag']=='forwarded')
|
||||
{
|
||||
$mail_bo->flagMessages("forwarded", array($this->sessionData['forwardedUID']));
|
||||
//error_log(__METHOD__.__LINE__.':'.array2string($this->sessionData['forwardedUID']).' F:'.$this->sessionData['sourceFolder']);
|
||||
$mail_bo->flagMessages("forwarded", $this->sessionData['forwardedUID'],$this->sessionData['sourceFolder']);
|
||||
}
|
||||
}
|
||||
//$mail_bo->closeConnection();
|
||||
|
@ -6,40 +6,40 @@
|
||||
<vbox class="mailCompose mailComposeHeaderSection" width="99%">
|
||||
<hbox class="et2_toolbar ui-widget-header ui-corner-all mail-compose_toolbar">
|
||||
|
||||
<button class="et2_button ui-button mail-compose_button" label="Send" id="button[send]"/>
|
||||
<button class="et2_button ui-button mail-compose_button" label="Send" id="button[send]"/>
|
||||
|
||||
<description class="email-button-group save">
|
||||
<buttononly class="et2_button ui-button" label="Save as Draft" value="saveAsDraft" id="button[saveAsDraft]" image="fileexport" onclick="app.mail.saveAsDraft"/>
|
||||
<buttononly class="et2_button ui-button" label="Save as Draft and Print" value="saveAsDraftAndPrint" id="button[saveAsDraftAndPrint]" image="print" onclick="app.mail.saveAsDraftAndPrint"/>
|
||||
</description>
|
||||
<description class="email-button-group file">
|
||||
<vfs-select class="$cont[vfsNotAvailable]" id="selectFromVFSForCompose" onchange="app.mail.vfsUploadForCompose"/>
|
||||
<file class="mail-compose_fileselector" statustext="Select file to attach to message" multiple='true' progress='mailUploadProgress' onFinish="app.mail.uploadForCompose" id="uploadForCompose" drop_target ="mailUploadSection"/>
|
||||
</description>
|
||||
<description class="email-button-group egw">
|
||||
<description class="$cont[noSaveAsAvailable]" value="Save:"/>
|
||||
|
||||
<hbox class="$cont[noInfologAvailable]">
|
||||
<image class="et2_button ui-button et2_button_icon" label="Save as infolog on send" src="infolog/navbar" no_lang="1"/>
|
||||
<checkbox statustext="check to save as infolog on send" id="to_infolog" options="on,off"/>
|
||||
</hbox>
|
||||
|
||||
<hbox class="$cont[noTrackerAvailable]">
|
||||
<image class="et2_button ui-button et2_button_icon" label="Save as tracker on send" src="tracker/navbar" no_lang="1"/>
|
||||
<checkbox statustext="check to save as trackerentry on send" id="to_tracker" options="on,off"/>
|
||||
</hbox>
|
||||
</description>
|
||||
<description class="email-button-group notification">
|
||||
<description value="Recieve notification"/>
|
||||
<checkbox statustext="check to recieve a notification when the message is read (note: not all clients support this and/or the reciever may not authorize the notification)" id="disposition" options="$cont[disposition]"/>
|
||||
</description>
|
||||
<description class="email-button-group save">
|
||||
<buttononly class="et2_button ui-button" label="Save as Draft" value="saveAsDraft" id="button[saveAsDraft]" image="fileexport" onclick="app.mail.saveAsDraft"/>
|
||||
<buttononly class="et2_button ui-button" label="Save as Draft and Print" value="saveAsDraftAndPrint" id="button[saveAsDraftAndPrint]" image="print" onclick="app.mail.saveAsDraftAndPrint"/>
|
||||
</description>
|
||||
<description class="email-button-group file">
|
||||
<vfs-select class="$cont[vfsNotAvailable]" id="selectFromVFSForCompose" onchange="app.mail.vfsUploadForCompose"/>
|
||||
<file class="mail-compose_fileselector" statustext="Select file to attach to message" multiple='true' progress='mailUploadProgress' onFinish="app.mail.uploadForCompose" id="uploadForCompose" drop_target ="mailUploadSection"/>
|
||||
</description>
|
||||
<description class="email-button-group egw">
|
||||
<description class="$cont[noSaveAsAvailable]" value="Save:"/>
|
||||
|
||||
<hbox class="$cont[noInfologAvailable]">
|
||||
<image class="et2_button ui-button et2_button_icon" label="Save as infolog on send" src="infolog/navbar" no_lang="1"/>
|
||||
<checkbox statustext="check to save as infolog on send" id="to_infolog" options="on,off"/>
|
||||
</hbox>
|
||||
|
||||
<hbox class="$cont[noTrackerAvailable]">
|
||||
<image class="et2_button ui-button et2_button_icon" label="Save as tracker on send" src="tracker/navbar" no_lang="1"/>
|
||||
<checkbox statustext="check to save as trackerentry on send" id="to_tracker" options="on,off"/>
|
||||
</hbox>
|
||||
</description>
|
||||
<description class="email-button-group notification">
|
||||
<description value="Recieve notification"/>
|
||||
<checkbox statustext="check to recieve a notification when the message is read (note: not all clients support this and/or the reciever may not authorize the notification)" id="disposition" options="$cont[disposition]"/>
|
||||
</description>
|
||||
|
||||
<description class="email-button-group priority">
|
||||
<description value="Priority"/>
|
||||
<menulist>
|
||||
<menupopup id="priority"/>
|
||||
</menulist>
|
||||
</description>
|
||||
<description class="email-button-group priority">
|
||||
<description value="Priority"/>
|
||||
<menulist>
|
||||
<menupopup id="priority"/>
|
||||
</menulist>
|
||||
</description>
|
||||
</hbox>
|
||||
<grid width="100%">
|
||||
<columns>
|
||||
@ -57,6 +57,9 @@
|
||||
</menulist>
|
||||
<textbox class="mail-index_quotaDisplayNone" readonly="true" id="composeID"/>
|
||||
<textbox class="mail-index_quotaDisplayNone" readonly="true" id="serverID"/>
|
||||
<textbox class="mail-index_quotaDisplayNone" readonly="true" id="processedmail_id"/>
|
||||
<textbox class="mail-index_quotaDisplayNone" readonly="true" id="mode"/>
|
||||
<textbox class="mail-index_quotaDisplayNone" readonly="true" id="lastdrafted"/>
|
||||
</hbox>
|
||||
<taglist-email id="replyto" empty_label="Reply to" width="100%" maxSelection="1" onclick="app.mail.address_click"/>
|
||||
<description/>
|
||||
|
Loading…
Reference in New Issue
Block a user