code-cleanup: only use one mailPreferences class var; not 3

This commit is contained in:
Klaus Leithoff 2014-05-13 13:10:53 +00:00
parent 70c0f8e64c
commit c0c0daa41c

View File

@ -59,8 +59,6 @@ class mail_compose
*/ */
var $mailPreferences; var $mailPreferences;
var $attachments; // Array of attachments var $attachments; // Array of attachments
var $preferences; // the prefenrences(emailserver, username, ...)
var $preferencesArray;
var $displayCharset; var $displayCharset;
var $composeID; var $composeID;
var $sessionData; var $sessionData;
@ -79,16 +77,14 @@ class mail_compose
$this->mail_bo = mail_bo::getInstance(true,$profileID); $this->mail_bo = mail_bo::getInstance(true,$profileID);
$profileID = $GLOBALS['egw_info']['user']['preferences']['mail']['ActiveProfileID'] = $this->mail_bo->profileID; $profileID = $GLOBALS['egw_info']['user']['preferences']['mail']['ActiveProfileID'] = $this->mail_bo->profileID;
$this->preferences =& $this->mail_bo->mailPreferences; $this->mailPreferences =& $this->mail_bo->mailPreferences;
// we should get away from this $this->preferences->preferences should hold the same info
$this->preferencesArray =& $this->preferences;
//force the default for the forwarding -> asmail //force the default for the forwarding -> asmail
if (is_array($this->preferencesArray)) { if (is_array($this->mailPreferences)) {
if (!array_key_exists('message_forwarding',$this->preferencesArray) if (!array_key_exists('message_forwarding',$this->mailPreferences)
|| !isset($this->preferencesArray['message_forwarding']) || !isset($this->mailPreferences['message_forwarding'])
|| empty($this->preferencesArray['message_forwarding'])) $this->preferencesArray['message_forwarding'] = 'asmail'; || empty($this->mailPreferences['message_forwarding'])) $this->mailPreferences['message_forwarding'] = 'asmail';
} else { } else {
$this->preferencesArray['message_forwarding'] = 'asmail'; $this->mailPreferences['message_forwarding'] = 'asmail';
} }
if (is_null(mail_bo::$mailConfig)) mail_bo::$mailConfig = config::read('mail'); if (is_null(mail_bo::$mailConfig)) mail_bo::$mailConfig = config::read('mail');
@ -111,8 +107,6 @@ class mail_compose
// no icServer Object: something failed big time // no icServer Object: something failed big time
if (!isset($this->mail_bo->icServer)) exit; // ToDo: Exception or the dialog for setting up a server config if (!isset($this->mail_bo->icServer)) exit; // ToDo: Exception or the dialog for setting up a server config
$this->mail_bo->openConnection($this->mail_bo->profileID); $this->mail_bo->openConnection($this->mail_bo->profileID);
$this->preferences =& $this->mail_bo->mailPreferences;
// we should get away from this $this->preferences->preferences should hold the same info
$this->mailPreferences =& $this->mail_bo->mailPreferences; $this->mailPreferences =& $this->mail_bo->mailPreferences;
} }
} }
@ -664,8 +658,8 @@ class mail_compose
if ($isFirstLoad) if ($isFirstLoad)
{ {
$alwaysAttachVCardAtCompose = false; // we use this to eliminate double attachments, if users VCard is already present/attached $alwaysAttachVCardAtCompose = false; // we use this to eliminate double attachments, if users VCard is already present/attached
if ( isset($GLOBALS['egw_info']['apps']['stylite']) && (isset($this->preferencesArray['attachVCardAtCompose']) && if ( isset($GLOBALS['egw_info']['apps']['stylite']) && (isset($this->mailPreferences['attachVCardAtCompose']) &&
$this->preferencesArray['attachVCardAtCompose'])) $this->mailPreferences['attachVCardAtCompose']))
{ {
$alwaysAttachVCardAtCompose = true; $alwaysAttachVCardAtCompose = true;
if (!is_array($_REQUEST['preset']['file']) && !empty($_REQUEST['preset']['file'])) if (!is_array($_REQUEST['preset']['file']) && !empty($_REQUEST['preset']['file']))
@ -941,13 +935,13 @@ class mail_compose
// try to enforce a mimeType on reply ( if type is not of the wanted type ) // try to enforce a mimeType on reply ( if type is not of the wanted type )
if ($isReply) if ($isReply)
{ {
if (!empty($this->preferencesArray['replyOptions']) && $this->preferencesArray['replyOptions']=="text" && if (!empty($this->mailPreferences['replyOptions']) && $this->mailPreferences['replyOptions']=="text" &&
$content['mimeType'] == 'html') $content['mimeType'] == 'html')
{ {
$_content['mimeType'] = $content['mimeType'] = 'plain'; $_content['mimeType'] = $content['mimeType'] = 'plain';
$content['body'] = $this->convertHTMLToText(str_replace(array("\n\r","\n"),' ',$content['body'])); $content['body'] = $this->convertHTMLToText(str_replace(array("\n\r","\n"),' ',$content['body']));
} }
if (!empty($this->preferencesArray['replyOptions']) && $this->preferencesArray['replyOptions']=="html" && if (!empty($this->mailPreferences['replyOptions']) && $this->mailPreferences['replyOptions']=="html" &&
$content['mimeType'] != 'html') $content['mimeType'] != 'html')
{ {
$_content['mimeType'] = $content['mimeType'] = 'html'; $_content['mimeType'] = $content['mimeType'] = 'html';
@ -1084,8 +1078,8 @@ class mail_compose
//PROBABLY NOT FOUND //PROBABLY NOT FOUND
$signature=array(); $signature=array();
} }
if ((isset($this->preferencesArray['disableRulerForSignatureSeparation']) && if ((isset($this->mailPreferences['disableRulerForSignatureSeparation']) &&
$this->preferencesArray['disableRulerForSignatureSeparation']) || $this->mailPreferences['disableRulerForSignatureSeparation']) ||
empty($signature['ident_signature']) || trim($this->convertHTMLToText($signature['ident_signature'],true,true)) =='') empty($signature['ident_signature']) || trim($this->convertHTMLToText($signature['ident_signature'],true,true)) =='')
{ {
$disableRuler = true; $disableRuler = true;
@ -1103,10 +1097,10 @@ class mail_compose
if (!$isFirstLoad && !empty($font_span) && stripos($content['body'],$font_part)===false) $font_span = ''; if (!$isFirstLoad && !empty($font_span) && stripos($content['body'],$font_part)===false) $font_span = '';
//remove possible html header stuff //remove possible html header stuff
if (stripos($content['body'],'<html><head></head><body>')!==false) $content['body'] = str_ireplace(array('<html><head></head><body>','</body></html>'),array('',''),$content['body']); if (stripos($content['body'],'<html><head></head><body>')!==false) $content['body'] = str_ireplace(array('<html><head></head><body>','</body></html>'),array('',''),$content['body']);
//error_log(__METHOD__.__LINE__.array2string($this->preferencesArray)); //error_log(__METHOD__.__LINE__.array2string($this->mailPreferences));
$blockElements = array('address','blockquote','center','del','dir','div','dl','fieldset','form','h1','h2','h3','h4','h5','h6','hr','ins','isindex','menu','noframes','noscript','ol','p','pre','table','ul'); $blockElements = array('address','blockquote','center','del','dir','div','dl','fieldset','form','h1','h2','h3','h4','h5','h6','hr','ins','isindex','menu','noframes','noscript','ol','p','pre','table','ul');
if (isset($this->preferencesArray['insertSignatureAtTopOfMessage']) && if (isset($this->mailPreferences['insertSignatureAtTopOfMessage']) &&
$this->preferencesArray['insertSignatureAtTopOfMessage'] && $this->mailPreferences['insertSignatureAtTopOfMessage'] &&
!(isset($_POST['mySigID']) && !empty($_POST['mySigID']) ) && !$suppressSigOnTop !(isset($_POST['mySigID']) && !empty($_POST['mySigID']) ) && !$suppressSigOnTop
) )
{ {
@ -1388,7 +1382,7 @@ class mail_compose
} }
$content['processedmail_id'] = implode(',',$replyIds); $content['processedmail_id'] = implode(',',$replyIds);
$content['mode'] = 'forward'; $content['mode'] = 'forward';
$isReply = ($mode?$mode=='inline':$this->preferencesArray['message_forwarding'] == 'inline'); $isReply = ($mode?$mode=='inline':$this->mailPreferences['message_forwarding'] == 'inline');
$suppressSigOnTop = false;// ($mode && $mode=='inline'?true:false);// may be a better solution $suppressSigOnTop = false;// ($mode && $mode=='inline'?true:false);// may be a better solution
$_focusElement = 'to'; $_focusElement = 'to';
break; break;
@ -1623,7 +1617,7 @@ class mail_compose
// remove a printview tag if composing // remove a printview tag if composing
$searchfor = '/^\['.lang('printview').':\]/'; $searchfor = '/^\['.lang('printview').':\]/';
$this->sessionData['subject'] = preg_replace($searchfor,'',$this->sessionData['subject']); $this->sessionData['subject'] = preg_replace($searchfor,'',$this->sessionData['subject']);
$bodyParts = $mail_bo->getMessageBody($_uid, $this->preferencesArray['always_display'], $_partID); $bodyParts = $mail_bo->getMessageBody($_uid, $this->mailPreferences['always_display'], $_partID);
//_debug_array($bodyParts); //_debug_array($bodyParts);
#$fromAddress = ($headers['FROM'][0]['PERSONAL_NAME'] != 'NIL') ? $headers['FROM'][0]['RFC822_EMAIL'] : $headers['FROM'][0]['EMAIL']; #$fromAddress = ($headers['FROM'][0]['PERSONAL_NAME'] != 'NIL') ? $headers['FROM'][0]['RFC822_EMAIL'] : $headers['FROM'][0]['EMAIL'];
if($bodyParts['0']['mimeType'] == 'text/html') { if($bodyParts['0']['mimeType'] == 'text/html') {
@ -1684,10 +1678,10 @@ class mail_compose
{ {
if ($_mode) if ($_mode)
{ {
$modebuff = $this->preferencesArray['message_forwarding']; $modebuff = $this->mailPreferences['message_forwarding'];
$this->preferencesArray['message_forwarding'] = $_mode; $this->mailPreferences['message_forwarding'] = $_mode;
} }
if ($this->preferencesArray['message_forwarding'] == 'inline') { if ($this->mailPreferences['message_forwarding'] == 'inline') {
$this->getReplyData('forward', $_icServer, $_folder, $_uid, $_partID); $this->getReplyData('forward', $_icServer, $_folder, $_uid, $_partID);
} }
$mail_bo = $this->mail_bo; $mail_bo = $this->mail_bo;
@ -1704,8 +1698,8 @@ class mail_compose
//$this->sessionData['sourceFolder']=$_folder; //$this->sessionData['sourceFolder']=$_folder;
//$this->sessionData['forwardFlag']='forwarded'; //$this->sessionData['forwardFlag']='forwarded';
//$this->sessionData['forwardedUID']=$_uid; //$this->sessionData['forwardedUID']=$_uid;
if ($this->preferencesArray['message_forwarding'] == 'asmail') { if ($this->mailPreferences['message_forwarding'] == 'asmail') {
$this->sessionData['mimeType'] = $this->preferencesArray['composeOptions']; $this->sessionData['mimeType'] = $this->mailPreferences['composeOptions'];
if($headers['SIZE']) if($headers['SIZE'])
$size = $headers['SIZE']; $size = $headers['SIZE'];
else else
@ -1734,7 +1728,7 @@ class mail_compose
$mail_bo->closeConnection(); $mail_bo->closeConnection();
if ($_mode) if ($_mode)
{ {
$this->preferencesArray['message_forwarding'] = $modebuff; $this->mailPreferences['message_forwarding'] = $modebuff;
} }
//error_log(__METHOD__.__LINE__.array2string($this->sessionData)); //error_log(__METHOD__.__LINE__.array2string($this->sessionData));
return $this->sessionData; return $this->sessionData;
@ -2023,8 +2017,8 @@ class mail_compose
} }
//_debug_array($headers); //_debug_array($headers);
//error_log(__METHOD__.__LINE__.'->'.array2string($this->preferencesArray['htmlOptions'])); //error_log(__METHOD__.__LINE__.'->'.array2string($this->mailPreferences['htmlOptions']));
$bodyParts = $mail_bo->getMessageBody($_uid, ($this->preferencesArray['htmlOptions']?$this->preferencesArray['htmlOptions']:''), $_partID); $bodyParts = $mail_bo->getMessageBody($_uid, ($this->mailPreferences['htmlOptions']?$this->mailPreferences['htmlOptions']:''), $_partID);
//_debug_array($bodyParts); //_debug_array($bodyParts);
$styles = mail_bo::getStyles($bodyParts); $styles = mail_bo::getStyles($bodyParts);
@ -2251,14 +2245,14 @@ class mail_compose
#if ($realCharset != $this->displayCharset) error_log("Error: bocompose::createMessage found Charset ($realCharset) differs from DisplayCharset (".$this->displayCharset.")"); #if ($realCharset != $this->displayCharset) error_log("Error: bocompose::createMessage found Charset ($realCharset) differs from DisplayCharset (".$this->displayCharset.")");
$signature = $_signature['ident_signature']; $signature = $_signature['ident_signature'];
if ((isset($this->preferencesArray['insertSignatureAtTopOfMessage']) && $this->preferencesArray['insertSignatureAtTopOfMessage'])) if ((isset($this->mailPreferences['insertSignatureAtTopOfMessage']) && $this->mailPreferences['insertSignatureAtTopOfMessage']))
{ {
// note: if you use stationery ' s the insert signatures at the top does not apply here anymore, as the signature // note: if you use stationery ' s the insert signatures at the top does not apply here anymore, as the signature
// is already part of the body, so the signature part of the template will not be applied. // is already part of the body, so the signature part of the template will not be applied.
$signature = null; // note: no signature, no ruler!!!! $signature = null; // note: no signature, no ruler!!!!
} }
if ((isset($this->preferencesArray['disableRulerForSignatureSeparation']) && if ((isset($this->mailPreferences['disableRulerForSignatureSeparation']) &&
$this->preferencesArray['disableRulerForSignatureSeparation']) || $this->mailPreferences['disableRulerForSignatureSeparation']) ||
empty($signature) || trim($this->convertHTMLToText($signature)) =='') empty($signature) || trim($this->convertHTMLToText($signature)) =='')
{ {
$disableRuler = true; $disableRuler = true;
@ -2425,7 +2419,6 @@ class mail_compose
// decide where to save the message (default to draft folder, if we find nothing else) // decide where to save the message (default to draft folder, if we find nothing else)
// if the current folder is in draft or template folder save it there // if the current folder is in draft or template folder save it there
// if it is called from printview then save it with the draft folder // if it is called from printview then save it with the draft folder
//error_log(__METHOD__.__LINE__.array2string($this->preferences->ic_server));
$savingDestination = $mail_bo->getDraftFolder(); $savingDestination = $mail_bo->getDraftFolder();
if (empty($this->sessionData['messageFolder']) && !empty($this->sessionData['mailbox'])) if (empty($this->sessionData['messageFolder']) && !empty($this->sessionData['mailbox']))
{ {
@ -2533,7 +2526,6 @@ class mail_compose
empty($this->sessionData['bcc']) && empty($this->sessionData['folder'])) { empty($this->sessionData['bcc']) && empty($this->sessionData['folder'])) {
$messageIsDraft = true; $messageIsDraft = true;
} }
#error_log(print_r($this->preferences,true));
try try
{ {
$acc = emailadmin_account::read($this->sessionData['mailaccount']); $acc = emailadmin_account::read($this->sessionData['mailaccount']);
@ -2591,7 +2583,7 @@ class mail_compose
} }
$sentFolder = $this->mail_bo->getSentFolder(); $sentFolder = $this->mail_bo->getSentFolder();
if(isset($sentFolder) && $sentFolder != 'none' && if(isset($sentFolder) && $sentFolder != 'none' &&
$this->preferences->preferences['sendOptions'] != 'send_only' && $this->mailPreferences['sendOptions'] != 'send_only' &&
$messageIsDraft == false) $messageIsDraft == false)
{ {
if ($this->mail_bo->folderExists($sentFolder, true)) if ($this->mail_bo->folderExists($sentFolder, true))
@ -2605,8 +2597,8 @@ class mail_compose
} }
else else
{ {
if (((!isset($sentFolder)||$sentFolder==false) && $this->preferences->preferences['sendOptions'] != 'send_only') || if (((!isset($sentFolder)||$sentFolder==false) && $this->mailPreferences['sendOptions'] != 'send_only') ||
($this->preferences->preferences['sendOptions'] != 'send_only' && ($this->mailPreferences['sendOptions'] != 'send_only' &&
$sentFolder != 'none')) $this->errorInfo = lang("No Send Folder set in preferences"); $sentFolder != 'none')) $this->errorInfo = lang("No Send Folder set in preferences");
} }
if($messageIsDraft == true) { if($messageIsDraft == true) {
@ -2617,7 +2609,7 @@ class mail_compose
} }
} }
$folder = array_unique($folder); $folder = array_unique($folder);
if (($this->preferences->preferences['sendOptions'] != 'send_only' && $sentFolder != 'none') && !(count($folder) > 0) && if (($this->mailPreferences['sendOptions'] != 'send_only' && $sentFolder != 'none') && !(count($folder) > 0) &&
!($_formData['to_infolog']=='on' || $_formData['to_tracker']=='on')) !($_formData['to_infolog']=='on' || $_formData['to_tracker']=='on'))
{ {
$this->errorInfo = lang("Error: ").lang("No Folder destination supplied, and no folder to save message or other measure to store the mail (save to infolog/tracker) provided, but required.").($this->errorInfo?' '.$this->errorInfo:''); $this->errorInfo = lang("Error: ").lang("No Folder destination supplied, and no folder to save message or other measure to store the mail (save to infolog/tracker) provided, but required.").($this->errorInfo?' '.$this->errorInfo:'');
@ -2868,7 +2860,7 @@ class mail_compose
if (!isset($content['mimeType']) || empty($content['mimeType'])) if (!isset($content['mimeType']) || empty($content['mimeType']))
{ {
$content['mimeType'] = 'html'; $content['mimeType'] = 'html';
if (!empty($this->preferencesArray['composeOptions']) && $this->preferencesArray['composeOptions']=="text") $content['mimeType'] = 'plain'; if (!empty($this->mailPreferences['composeOptions']) && $this->mailPreferences['composeOptions']=="text") $content['mimeType'] = 'plain';
} }
return $content; return $content;