Completed
Push — master ( 57201d...c47d8a )
by Klaus
39:22
created
api/src/Mail.php 2 patches
Spacing   +1151 added lines, -1152 removed lines patch added patch discarded remove patch
@@ -121,7 +121,7 @@  discard block
 block discarded – undo
121 121
 	 *
122 122
 	 * @array
123 123
 	 */
124
-	static $tidy_config = array('clean'=>false,'output-html'=>true,'join-classes'=>true,'join-styles'=>true,'show-body-only'=>"auto",'word-2000'=>true,'wrap'=>0);
124
+	static $tidy_config = array('clean'=>false, 'output-html'=>true, 'join-classes'=>true, 'join-styles'=>true, 'show-body-only'=>"auto", 'word-2000'=>true, 'wrap'=>0);
125 125
 
126 126
 	/**
127 127
 	 * static used to configure htmLawed, for use with emails
@@ -132,9 +132,9 @@  discard block
 block discarded – undo
132 132
 		'make_tag_strict' => 3, // 3 is a new own config value, to indicate that transformation is to be performed, but don't transform font as size transformation of numeric sizes to keywords alters the intended result too much
133 133
 		'keep_bad'=>2, //remove tags but keep element content (4 and 6 keep element content only if text (pcdata) is valid in parent element as per specs, this may lead to textloss if balance is switched on)
134 134
 		// we switch the balance off because of some broken html mails contents get removed like (td in table), and let browser deal with it
135
-		'balance'=>0,//turn off tag-balancing (config['balance']=>0). That will not introduce any security risk; only standards-compliant tag nesting check/filtering will be turned off (basic tag-balance will remain; i.e., there won't be any unclosed tag, etc., after filtering)
135
+		'balance'=>0, //turn off tag-balancing (config['balance']=>0). That will not introduce any security risk; only standards-compliant tag nesting check/filtering will be turned off (basic tag-balance will remain; i.e., there won't be any unclosed tag, etc., after filtering)
136 136
 		'direct_list_nest' => 1,
137
-		'allow_for_inline' => array('table','div','li','p'),//block elements allowed for nesting when only inline is allowed; Example span does not allow block elements as table; table is the only element tested so far
137
+		'allow_for_inline' => array('table', 'div', 'li', 'p'), //block elements allowed for nesting when only inline is allowed; Example span does not allow block elements as table; table is the only element tested so far
138 138
 		// tidy eats away even some wanted whitespace, so we switch it off;
139 139
 		// we used it for its compacting and beautifying capabilities, which resulted in better html for further processing
140 140
 		'tidy'=>0,
@@ -149,13 +149,13 @@  discard block
 block discarded – undo
149 149
 	 *
150 150
 	 * @array
151 151
 	 */
152
-	static $aclShortCuts = array('' => array('label'=>'none','title'=>'The user has no rights whatsoever.'),
153
-		'lrs'		=> array('label'=>'readable','title'=>'Allows a user to read the contents of the mailbox.'),
154
-		'lprs'		=> array('label'=>'post','title'=>'Allows a user to read the mailbox and post to it through the delivery system by sending mail to the submission address of the mailbox.'),
155
-		'ilprs'		=> array('label'=>'append','title'=>'Allows a user to read the mailbox and append messages to it, either via IMAP or through the delivery system.'),
156
-		'cdilprsw'	=> array('label'=>'write','title'=>'Allows a user to read the maibox, post to it, append messages to it, and delete messages or the mailbox itself. The only right not given is the right to change the ACL of the mailbox.'),
157
-		'acdilprsw'	=> array('label'=>'all','title'=>'The user has all possible rights on the mailbox. This is usually granted to users only on the mailboxes they own.'),
158
-		'custom'	=> array('label'=>'custom','title'=>'User defined combination of rights for the ACL'),
152
+	static $aclShortCuts = array('' => array('label'=>'none', 'title'=>'The user has no rights whatsoever.'),
153
+		'lrs'		=> array('label'=>'readable', 'title'=>'Allows a user to read the contents of the mailbox.'),
154
+		'lprs'		=> array('label'=>'post', 'title'=>'Allows a user to read the mailbox and post to it through the delivery system by sending mail to the submission address of the mailbox.'),
155
+		'ilprs'		=> array('label'=>'append', 'title'=>'Allows a user to read the mailbox and append messages to it, either via IMAP or through the delivery system.'),
156
+		'cdilprsw'	=> array('label'=>'write', 'title'=>'Allows a user to read the maibox, post to it, append messages to it, and delete messages or the mailbox itself. The only right not given is the right to change the ACL of the mailbox.'),
157
+		'acdilprsw'	=> array('label'=>'all', 'title'=>'The user has all possible rights on the mailbox. This is usually granted to users only on the mailboxes they own.'),
158
+		'custom'	=> array('label'=>'custom', 'title'=>'User defined combination of rights for the ACL'),
159 159
 	);
160 160
 
161 161
 	/**
@@ -197,13 +197,13 @@  discard block
 block discarded – undo
197 197
 	 * @param boolean $_reuseCache = null if null it is set to the value of $_restoreSession
198 198
 	 * @return Mail
199 199
 	 */
200
-	public static function getInstance($_restoreSession=true, &$_profileID=0, $_validate=true, $_oldImapServerObject=false, $_reuseCache=null)
200
+	public static function getInstance($_restoreSession = true, &$_profileID = 0, $_validate = true, $_oldImapServerObject = false, $_reuseCache = null)
201 201
 	{
202 202
 		//$_restoreSession=false;
203 203
 		if (is_null($_reuseCache)) $_reuseCache = $_restoreSession;
204 204
 		//error_log(__METHOD__.' ('.__LINE__.') '.' RestoreSession:'.$_restoreSession.' ProfileId:'.$_profileID.'/'.Mail\Account::get_default_acc_id().' for user:'.$GLOBALS['egw_info']['user']['account_lid'].' called from:'.function_backtrace());
205 205
 		//error_log(__METHOD__.' ('.__LINE__.') '.array2string($_oldImapServerObject));
206
-		self::$profileDefunct = Cache::getCache(Cache::INSTANCE,'email','profileDefunct'.trim($GLOBALS['egw_info']['user']['account_id']),null,array(),5*1);
206
+		self::$profileDefunct = Cache::getCache(Cache::INSTANCE, 'email', 'profileDefunct'.trim($GLOBALS['egw_info']['user']['account_id']), null, array(), 5 * 1);
207 207
 		if (isset(self::$profileDefunct[$_profileID]) && strlen(self::$profileDefunct[$_profileID]))
208 208
 		{
209 209
 			throw new Exception(__METHOD__." failed to instanciate Mail for Profile #$_profileID Reason:".self::$profileDefunct[$_profileID]);
@@ -212,13 +212,13 @@  discard block
 block discarded – undo
212 212
 		{
213 213
 			if (!is_object(self::$instances[$_profileID]))
214 214
 			{
215
-				self::$instances[$_profileID] = new Mail('utf-8',false,$_profileID,false,$_reuseCache);
215
+				self::$instances[$_profileID] = new Mail('utf-8', false, $_profileID, false, $_reuseCache);
216 216
 			}
217 217
 			self::$instances[$_profileID]->icServer = $_oldImapServerObject;
218
-			self::$instances[$_profileID]->accountid= $_oldImapServerObject->ImapServerId;
219
-			self::$instances[$_profileID]->profileID= $_oldImapServerObject->ImapServerId;
218
+			self::$instances[$_profileID]->accountid = $_oldImapServerObject->ImapServerId;
219
+			self::$instances[$_profileID]->profileID = $_oldImapServerObject->ImapServerId;
220 220
 			self::$instances[$_profileID]->mailPreferences = $GLOBALS['egw_info']['user']['preferences']['mail'];
221
-			self::$instances[$_profileID]->htmlOptions  = self::$instances[$_profileID]->mailPreferences['htmlOptions'];
221
+			self::$instances[$_profileID]->htmlOptions = self::$instances[$_profileID]->mailPreferences['htmlOptions'];
222 222
 			return self::$instances[$_profileID];
223 223
 		}
224 224
 		if ($_profileID == 0)
@@ -231,14 +231,14 @@  discard block
 block discarded – undo
231 231
 			{
232 232
 				$profileID = Mail\Account::get_default_acc_id();
233 233
 			}
234
-			if ($profileID!=$_profileID) $_restoreSession==false;
235
-			$_profileID=$profileID;
234
+			if ($profileID != $_profileID) $_restoreSession == false;
235
+			$_profileID = $profileID;
236 236
 			if (self::$debug) error_log(__METHOD__.' ('.__LINE__.') '.' called with profileID==0 using '.$profileID.' instead->'.function_backtrace());
237 237
 		}
238 238
 		// no validation or restoreSession for old ImapServer Object, just fetch it and return it
239
-		if ($_oldImapServerObject===true)
239
+		if ($_oldImapServerObject === true)
240 240
 		{
241
-			return new Mail('utf-8',false,$_profileID,true,$_reuseCache);
241
+			return new Mail('utf-8', false, $_profileID, true, $_reuseCache);
242 242
 		}
243 243
 		if ($_profileID != 0 && $_validate)
244 244
 		{
@@ -258,9 +258,9 @@  discard block
 block discarded – undo
258 258
 			//Cache::setSession('mail','activeProfileID',$_profileID);
259 259
 		}
260 260
 		//error_log(__METHOD__.' ('.__LINE__.') '.' RestoreSession:'.$_restoreSession.' ProfileId:'.$_profileID.' called from:'.function_backtrace());
261
-		if ($_profileID && (!isset(self::$instances[$_profileID]) || $_restoreSession===false))
261
+		if ($_profileID && (!isset(self::$instances[$_profileID]) || $_restoreSession === false))
262 262
 		{
263
-			self::$instances[$_profileID] = new Mail('utf-8',$_restoreSession,$_profileID,false,$_reuseCache);
263
+			self::$instances[$_profileID] = new Mail('utf-8', $_restoreSession, $_profileID, false, $_reuseCache);
264 264
 		}
265 265
 		else
266 266
 		{
@@ -271,7 +271,7 @@  discard block
 block discarded – undo
271 271
 				self::$instances[$_profileID]->ogServer = Mail\Account::read($_profileID)->smtpServer();
272 272
 				// TODO: merge mailprefs into userprefs, for easy treatment
273 273
 				self::$instances[$_profileID]->mailPreferences = $GLOBALS['egw_info']['user']['preferences']['mail'];
274
-				self::$instances[$_profileID]->htmlOptions  = self::$instances[$_profileID]->mailPreferences['htmlOptions'];
274
+				self::$instances[$_profileID]->htmlOptions = self::$instances[$_profileID]->mailPreferences['htmlOptions'];
275 275
 			} catch (\Exception $e)
276 276
 			{
277 277
 				$newprofileID = Mail\Account::get_default_acc_id();
@@ -279,15 +279,15 @@  discard block
 block discarded – undo
279 279
 				error_log(__METHOD__.' ('.__LINE__.') '." Loading the Profile for ProfileID ".$_profileID.' failed for icServer; '.$e->getMessage().' Trigger new instance for Default-Profile '.$newprofileID.'. called from:'.function_backtrace());
280 280
 				if ($newprofileID)
281 281
 				{
282
-					self::$instances[$newprofileID] = new Mail('utf-8',false,$newprofileID,false,$_reuseCache);
282
+					self::$instances[$newprofileID] = new Mail('utf-8', false, $newprofileID, false, $_reuseCache);
283 283
 					$_profileID = $newprofileID;
284 284
 				}
285 285
 				else
286 286
 				{
287
-					throw new Exception(__METHOD__." failed to load the Profile for ProfileID for $_profileID with error:".$e->getMessage().($e->details?', '.$e->details:''));
287
+					throw new Exception(__METHOD__." failed to load the Profile for ProfileID for $_profileID with error:".$e->getMessage().($e->details ? ', '.$e->details : ''));
288 288
 				}
289 289
 			}
290
-			self::storeActiveProfileIDToPref(self::$instances[$_profileID]->icServer, $_profileID, $_validate );
290
+			self::storeActiveProfileIDToPref(self::$instances[$_profileID]->icServer, $_profileID, $_validate);
291 291
 		}
292 292
 		self::$instances[$_profileID]->profileID = $_profileID;
293 293
 		if (!isset(self::$instances[$_profileID]->idna2)) self::$instances[$_profileID]->idna2 = new Horde_Idna;
@@ -303,7 +303,7 @@  discard block
 block discarded – undo
303 303
 	 * @param boolean $_testConnection = 0
304 304
 	 * @return mixed $_profileID or false on failed ConnectionTest
305 305
 	 */
306
-	public static function storeActiveProfileIDToPref($_icServerObject, $_profileID=0, $_testConnection=true)
306
+	public static function storeActiveProfileIDToPref($_icServerObject, $_profileID = 0, $_testConnection = true)
307 307
 	{
308 308
 		if (isset($GLOBALS['egw_info']['user']['preferences']['mail']['ActiveProfileID']) && !empty($GLOBALS['egw_info']['user']['preferences']['mail']['ActiveProfileID']))
309 309
 		{
@@ -324,12 +324,12 @@  discard block
 block discarded – undo
324 324
 		}
325 325
 		if ($oldProfileID != $_profileID)
326 326
 		{
327
-			if ($oldProfileID && $_profileID==0) $_profileID = $oldProfileID;
328
-			$GLOBALS['egw']->preferences->add('mail','ActiveProfileID',$_profileID,'user');
327
+			if ($oldProfileID && $_profileID == 0) $_profileID = $oldProfileID;
328
+			$GLOBALS['egw']->preferences->add('mail', 'ActiveProfileID', $_profileID, 'user');
329 329
 			// save prefs
330 330
 			$GLOBALS['egw']->preferences->save_repository(true);
331 331
 			$GLOBALS['egw_info']['user']['preferences']['mail']['ActiveProfileID'] = $_profileID;
332
-			Cache::setSession('mail','activeProfileID',$_profileID);
332
+			Cache::setSession('mail', 'activeProfileID', $_profileID);
333 333
 		}
334 334
 		return $_profileID;
335 335
 	}
@@ -344,7 +344,7 @@  discard block
 block discarded – undo
344 344
 	 * @param int $_acc_id = 0
345 345
 	 * @return int validated acc_id -> either acc_id given, or first valid one
346 346
 	 */
347
-	public static function validateProfileID($_acc_id=0)
347
+	public static function validateProfileID($_acc_id = 0)
348 348
 	{
349 349
 		if ($_acc_id)
350 350
 		{
@@ -363,7 +363,7 @@  discard block
 block discarded – undo
363 363
 		}
364 364
 		// no account specified or specified account not found or not valid
365 365
 		// --> search existing account for first valid one and return that
366
-		foreach(Mail\Account::search($only_current_user=true, 'acc_imap_host') as $acc_id => $imap_host)
366
+		foreach (Mail\Account::search($only_current_user = true, 'acc_imap_host') as $acc_id => $imap_host)
367 367
 		{
368 368
 			if (!empty($imap_host) && ($account = Mail\Account::read($acc_id)) && $account->is_imap())
369 369
 			{
@@ -385,7 +385,7 @@  discard block
 block discarded – undo
385 385
 	 * @param boolean $_oldImapServerObject = false
386 386
 	 * @param boolean $_reuseCache = null if null it is set to the value of $_restoreSession
387 387
 	 */
388
-	private function __construct($_displayCharset='utf-8',$_restoreSession=true, $_profileID=0, $_oldImapServerObject=false, $_reuseCache=null)
388
+	private function __construct($_displayCharset = 'utf-8', $_restoreSession = true, $_profileID = 0, $_oldImapServerObject = false, $_reuseCache = null)
389 389
 	{
390 390
 		if (is_null($_reuseCache)) $_reuseCache = $_restoreSession;
391 391
 		if (!empty($_displayCharset)) self::$displayCharset = $_displayCharset;
@@ -405,7 +405,7 @@  discard block
 block discarded – undo
405 405
 			$firstMessage = $this->sessionData['previewMessage'];
406 406
 			$this->sessionData = array();
407 407
 		}
408
-		if (!$_reuseCache) $this->forcePrefReload($_profileID,!$_reuseCache);
408
+		if (!$_reuseCache) $this->forcePrefReload($_profileID, !$_reuseCache);
409 409
 		try
410 410
 		{
411 411
 			$this->profileID = self::validateProfileID($_profileID);
@@ -419,11 +419,11 @@  discard block
 block discarded – undo
419 419
 			throw new Exception(__METHOD__." failed to instanciate Mail for $_profileID / ".$this->profileID." with error:".$e->getMessage());
420 420
 		}
421 421
 		//error_log(__METHOD__.' ('.__LINE__.') '.array2string($acc->imapServer()));
422
-		$this->icServer = ($_oldImapServerObject?$acc->oldImapServer():$acc->imapServer());
422
+		$this->icServer = ($_oldImapServerObject ? $acc->oldImapServer() : $acc->imapServer());
423 423
 		$this->ogServer = $acc->smtpServer();
424 424
 		// TODO: merge mailprefs into userprefs, for easy treatment
425 425
 		$this->mailPreferences = $GLOBALS['egw_info']['user']['preferences']['mail'];
426
-		$this->htmlOptions  = $this->mailPreferences['htmlOptions'];
426
+		$this->htmlOptions = $this->mailPreferences['htmlOptions'];
427 427
 		if (isset($this->icServer->ImapServerId) && !empty($this->icServer->ImapServerId))
428 428
 		{
429 429
 			$_profileID = $this->profileID = $GLOBALS['egw_info']['user']['preferences']['mail']['ActiveProfileID'] = $this->icServer->ImapServerId;
@@ -441,7 +441,7 @@  discard block
 block discarded – undo
441 441
 	public static function &forceEAProfileLoad($_profile_id)
442 442
 	{
443 443
 		self::unsetCachedObjects($_profile_id);
444
-		$mail = self::getInstance(false, $_profile_id,false);
444
+		$mail = self::getInstance(false, $_profile_id, false);
445 445
 		//_debug_array( $_profile_id);
446 446
 		$mail->icServer = Mail\Account::read($_profile_id)->imapServer();
447 447
 		$mail->ogServer = Mail\Account::read($_profile_id)->smtpServer();
@@ -453,11 +453,11 @@  discard block
 block discarded – undo
453 453
 	 * @param int $_profile_id
454 454
 	 * @param boolean $_resetFolderObjects
455 455
 	 */
456
-	public static function forcePrefReload($_profile_id=null,$_resetFolderObjects=true)
456
+	public static function forcePrefReload($_profile_id = null, $_resetFolderObjects = true)
457 457
 	{
458 458
 		// unset the mail_preferences session object, to force the reload/rebuild
459
-		Cache::setSession('mail','mail_preferences',serialize(array()));
460
-		Cache::setSession('emailadmin','session_data',serialize(array()));
459
+		Cache::setSession('mail', 'mail_preferences', serialize(array()));
460
+		Cache::setSession('emailadmin', 'session_data', serialize(array()));
461 461
 		if ($_resetFolderObjects) self::resetFolderObjectCache($_profile_id);
462 462
 	}
463 463
 
@@ -466,8 +466,8 @@  discard block
 block discarded – undo
466 466
 	 */
467 467
 	function restoreSessionData()
468 468
 	{
469
-		$this->sessionData = array();//Cache::getCache(Cache::SESSION,'mail','session_data',$callback=null,$callback_params=array(),$expiration=60*60*1);
470
-		self::$activeFolderCache = Cache::getCache(Cache::INSTANCE,'email','activeMailbox'.trim($GLOBALS['egw_info']['user']['account_id']),null,array(),60*60*10);
469
+		$this->sessionData = array(); //Cache::getCache(Cache::SESSION,'mail','session_data',$callback=null,$callback_params=array(),$expiration=60*60*1);
470
+		self::$activeFolderCache = Cache::getCache(Cache::INSTANCE, 'email', 'activeMailbox'.trim($GLOBALS['egw_info']['user']['account_id']), null, array(), 60 * 60 * 10);
471 471
 		if (!empty(self::$activeFolderCache[$this->profileID])) $this->sessionData['mailbox'] = self::$activeFolderCache[$this->profileID];
472 472
 	}
473 473
 
@@ -477,10 +477,10 @@  discard block
 block discarded – undo
477 477
 	function saveSessionData()
478 478
 	{
479 479
 		//error_log(__METHOD__.' ('.__LINE__.') '.array2string(array_keys($this->sessionData)));
480
-		if (!empty($this->sessionData['mailbox'])) self::$activeFolderCache[$this->profileID]=$this->sessionData['mailbox'];
480
+		if (!empty($this->sessionData['mailbox'])) self::$activeFolderCache[$this->profileID] = $this->sessionData['mailbox'];
481 481
 		if (isset(self::$activeFolderCache) && is_array(self::$activeFolderCache))
482 482
 		{
483
-			Cache::setCache(Cache::INSTANCE,'email','activeMailbox'.trim($GLOBALS['egw_info']['user']['account_id']),self::$activeFolderCache, 60*60*10);
483
+			Cache::setCache(Cache::INSTANCE, 'email', 'activeMailbox'.trim($GLOBALS['egw_info']['user']['account_id']), self::$activeFolderCache, 60 * 60 * 10);
484 484
 		}
485 485
 	}
486 486
 
@@ -496,40 +496,40 @@  discard block
 block discarded – undo
496 496
 	 * @param int $_profileID = null default profile of user as returned by getUserDefaultProfileID
497 497
 	 * @return void
498 498
 	 */
499
-	static function unsetCachedObjects($_profileID=null)
499
+	static function unsetCachedObjects($_profileID = null)
500 500
 	{
501 501
 		if (is_null($_profileID)) $_profileID = Mail\Account::get_default_acc_id();
502 502
 		if (is_array($_profileID) && $_profileID['account_id']) $account_id = $_profileID['account_id'];
503 503
 		//error_log(__METHOD__.__LINE__.' called with ProfileID:'.array2string($_profileID).' from '.function_backtrace());
504
-		if (!is_array($_profileID) && (is_numeric($_profileID) || !(stripos($_profileID,'tracker_')===false)))
504
+		if (!is_array($_profileID) && (is_numeric($_profileID) || !(stripos($_profileID, 'tracker_') === false)))
505 505
 		{
506 506
 			self::resetConnectionErrorCache($_profileID);
507
-			$rawHeadersCache = Cache::getCache(Cache::INSTANCE,'email','rawHeadersCache'.trim($account_id),$callback=null,$callback_params=array(),$expiration=60*60*1);
507
+			$rawHeadersCache = Cache::getCache(Cache::INSTANCE, 'email', 'rawHeadersCache'.trim($account_id), $callback = null, $callback_params = array(), $expiration = 60 * 60 * 1);
508 508
 			if (isset($rawHeadersCache[$_profileID]))
509 509
 			{
510 510
 				unset($rawHeadersCache[$_profileID]);
511
-				Cache::setCache(Cache::INSTANCE,'email','rawHeadersCache'.trim($account_id),$rawHeadersCache, $expiration=60*60*1);
511
+				Cache::setCache(Cache::INSTANCE, 'email', 'rawHeadersCache'.trim($account_id), $rawHeadersCache, $expiration = 60 * 60 * 1);
512 512
 			}
513
-			$HierarchyDelimiterCache = Cache::getCache(Cache::INSTANCE,'email','HierarchyDelimiter'.trim($account_id),$callback=null,$callback_params=array(),$expiration=60*60*24*5);
513
+			$HierarchyDelimiterCache = Cache::getCache(Cache::INSTANCE, 'email', 'HierarchyDelimiter'.trim($account_id), $callback = null, $callback_params = array(), $expiration = 60 * 60 * 24 * 5);
514 514
 			if (isset($HierarchyDelimiterCache[$_profileID]))
515 515
 			{
516 516
 				unset($HierarchyDelimiterCache[$_profileID]);
517
-				Cache::setCache(Cache::INSTANCE,'email','HierarchyDelimiter'.trim($account_id),$HierarchyDelimiterCache, $expiration=60*60*24*5);
517
+				Cache::setCache(Cache::INSTANCE, 'email', 'HierarchyDelimiter'.trim($account_id), $HierarchyDelimiterCache, $expiration = 60 * 60 * 24 * 5);
518 518
 			}
519 519
 			//reset folderObject cache, to trigger reload
520 520
 			self::resetFolderObjectCache($_profileID);
521 521
 			//reset counter of deleted messages per folder
522
-			$eMailListContainsDeletedMessages = Cache::getCache(Cache::INSTANCE,'email','eMailListContainsDeletedMessages'.trim($account_id),$callback=null,$callback_params=array(),$expiration=60*60*1);
522
+			$eMailListContainsDeletedMessages = Cache::getCache(Cache::INSTANCE, 'email', 'eMailListContainsDeletedMessages'.trim($account_id), $callback = null, $callback_params = array(), $expiration = 60 * 60 * 1);
523 523
 			if (isset($eMailListContainsDeletedMessages[$_profileID]))
524 524
 			{
525 525
 				unset($eMailListContainsDeletedMessages[$_profileID]);
526
-				Cache::setCache(Cache::INSTANCE,'email','eMailListContainsDeletedMessages'.trim($account_id),$eMailListContainsDeletedMessages, $expiration=60*60*1);
526
+				Cache::setCache(Cache::INSTANCE, 'email', 'eMailListContainsDeletedMessages'.trim($account_id), $eMailListContainsDeletedMessages, $expiration = 60 * 60 * 1);
527 527
 			}
528
-			$vacationCached = Cache::getCache(Cache::INSTANCE, 'email', 'vacationNotice'.trim($account_id),$callback=null,$callback_params=array(),$expiration=60*60*24*1);
528
+			$vacationCached = Cache::getCache(Cache::INSTANCE, 'email', 'vacationNotice'.trim($account_id), $callback = null, $callback_params = array(), $expiration = 60 * 60 * 24 * 1);
529 529
 			if (isset($vacationCached[$_profileID]))
530 530
 			{
531 531
 				unset($vacationCached[$_profileID]);
532
-				Cache::setCache(Cache::INSTANCE,'email','vacationNotice'.trim($account_id),$vacationCached, $expiration=60*60*24*1);
532
+				Cache::setCache(Cache::INSTANCE, 'email', 'vacationNotice'.trim($account_id), $vacationCached, $expiration = 60 * 60 * 24 * 1);
533 533
 			}
534 534
 
535 535
 			if (isset(self::$instances[$_profileID])) unset(self::$instances[$_profileID]);
@@ -537,17 +537,17 @@  discard block
 block discarded – undo
537 537
 		if (is_array($_profileID) && $_profileID['location'] == 'clear_cache')
538 538
 		{
539 539
 			// called via hook
540
-			foreach($GLOBALS['egw']->accounts->search(array('type' => 'accounts','order' => 'account_lid')) as $account)
540
+			foreach ($GLOBALS['egw']->accounts->search(array('type' => 'accounts', 'order' => 'account_lid')) as $account)
541 541
 			{
542 542
 				//error_log(__METHOD__.__LINE__.array2string($account));
543 543
 				$account_id = $account['account_id'];
544 544
 				$_profileID = null;
545
-				self::resetConnectionErrorCache($_profileID,$account_id);
546
-				self::resetFolderObjectCache($_profileID,$account_id);
547
-				Cache::setCache(Cache::INSTANCE,'email','rawHeadersCache'.trim($account_id),array(), 60*60*1);
548
-				Cache::setCache(Cache::INSTANCE,'email','HierarchyDelimiter'.trim($account_id),array(), 60*60*24*5);
549
-				Cache::setCache(Cache::INSTANCE,'email','eMailListContainsDeletedMessages'.trim($account_id),array(), 60*60*1);
550
-				Cache::setCache(Cache::INSTANCE,'email','vacationNotice'.trim($account_id),array(), 60*60*24*1);
545
+				self::resetConnectionErrorCache($_profileID, $account_id);
546
+				self::resetFolderObjectCache($_profileID, $account_id);
547
+				Cache::setCache(Cache::INSTANCE, 'email', 'rawHeadersCache'.trim($account_id), array(), 60 * 60 * 1);
548
+				Cache::setCache(Cache::INSTANCE, 'email', 'HierarchyDelimiter'.trim($account_id), array(), 60 * 60 * 24 * 5);
549
+				Cache::setCache(Cache::INSTANCE, 'email', 'eMailListContainsDeletedMessages'.trim($account_id), array(), 60 * 60 * 1);
550
+				Cache::setCache(Cache::INSTANCE, 'email', 'vacationNotice'.trim($account_id), array(), 60 * 60 * 24 * 1);
551 551
 			}
552 552
 		}
553 553
 	}
@@ -558,7 +558,7 @@  discard block
 block discarded – undo
558 558
 	 * @param int $_ImapServerId the profileID to look for
559 559
 	 * @param int $account_id the egw account to look for
560 560
 	 */
561
-	static function resetConnectionErrorCache($_ImapServerId=null,$account_id=null)
561
+	static function resetConnectionErrorCache($_ImapServerId = null, $account_id = null)
562 562
 	{
563 563
 		//error_log(__METHOD__.' ('.__LINE__.') '.' for Profile:'.array2string($_ImapServerId) .' for user:'.trim($account_id));
564 564
 		if (is_null($account_id)) $account_id = $GLOBALS['egw_info']['user']['account_id'];
@@ -576,19 +576,19 @@  discard block
 block discarded – undo
576 576
 		}
577 577
 		else
578 578
 		{
579
-			$isConError = Cache::getCache(Cache::INSTANCE,'email','icServerSIEVE_connectionError'.trim($account_id));
579
+			$isConError = Cache::getCache(Cache::INSTANCE, 'email', 'icServerSIEVE_connectionError'.trim($account_id));
580 580
 			if (isset($isConError[$_ImapServerId]))
581 581
 			{
582 582
 				unset($isConError[$_ImapServerId]);
583 583
 			}
584
-			$waitOnFailure = Cache::getCache(Cache::INSTANCE,'email','ActiveSyncWaitOnFailure'.trim($account_id),null,array(),60*60*2);
584
+			$waitOnFailure = Cache::getCache(Cache::INSTANCE, 'email', 'ActiveSyncWaitOnFailure'.trim($account_id), null, array(), 60 * 60 * 2);
585 585
 			if (isset($waitOnFailure[$_ImapServerId]))
586 586
 			{
587 587
 				unset($waitOnFailure[$_ImapServerId]);
588 588
 			}
589 589
 		}
590
-		Cache::setCache(Cache::INSTANCE,'email','icServerSIEVE_connectionError'.trim($account_id),$isConError,60*15);
591
-		Cache::setCache(Cache::INSTANCE,'email','ActiveSyncWaitOnFailure'.trim($account_id),$waitOnFailure,60*60*2);
590
+		Cache::setCache(Cache::INSTANCE, 'email', 'icServerSIEVE_connectionError'.trim($account_id), $isConError, 60 * 15);
591
+		Cache::setCache(Cache::INSTANCE, 'email', 'ActiveSyncWaitOnFailure'.trim($account_id), $waitOnFailure, 60 * 60 * 2);
592 592
 	}
593 593
 
594 594
 	/**
@@ -597,13 +597,13 @@  discard block
 block discarded – undo
597 597
 	 * @param int $_ImapServerId the profileID to look for
598 598
 	 * @param int $account_id the egw account to look for
599 599
 	 */
600
-	static function resetFolderObjectCache($_ImapServerId=null,$account_id=null)
600
+	static function resetFolderObjectCache($_ImapServerId = null, $account_id = null)
601 601
 	{
602 602
 		//error_log(__METHOD__.' ('.__LINE__.') '.' called for Profile:'.array2string($_ImapServerId).'->'.function_backtrace());
603 603
 		if (is_null($account_id)) $account_id = $GLOBALS['egw_info']['user']['account_id'];
604 604
 		// on [location] => verify_settings we coud either use [prefs] => Array([ActiveProfileID] => 9, .. as $_ImapServerId
605 605
 		// or treat it as not given. we try that path
606
-		if (is_null($_ImapServerId)||is_array($_ImapServerId))
606
+		if (is_null($_ImapServerId) || is_array($_ImapServerId))
607 607
 		{
608 608
 			$folders2return = array();
609 609
 			$folderInfo = array();
@@ -612,12 +612,12 @@  discard block
 block discarded – undo
612 612
 		}
613 613
 		else
614 614
 		{
615
-			$folders2return = Cache::getCache(Cache::INSTANCE,'email','folderObjects'.trim($account_id),null,array(),60*60*1);
615
+			$folders2return = Cache::getCache(Cache::INSTANCE, 'email', 'folderObjects'.trim($account_id), null, array(), 60 * 60 * 1);
616 616
 			if (!empty($folders2return) && isset($folders2return[$_ImapServerId]))
617 617
 			{
618 618
 				unset($folders2return[$_ImapServerId]);
619 619
 			}
620
-			$folderInfo = Cache::getCache(Cache::INSTANCE,'email','icServerFolderExistsInfo'.trim($account_id),null,array(),60*60*5);
620
+			$folderInfo = Cache::getCache(Cache::INSTANCE, 'email', 'icServerFolderExistsInfo'.trim($account_id), null, array(), 60 * 60 * 5);
621 621
 			if (!empty($folderInfo) && isset($folderInfo[$_ImapServerId]))
622 622
 			{
623 623
 				unset($folderInfo[$_ImapServerId]);
@@ -629,23 +629,23 @@  discard block
 block discarded – undo
629 629
 				unset($lastFolderUsedForMove[$_ImapServerId]);
630 630
 			}
631 631
 			*/
632
-			$folderBasicInfo = Cache::getCache(Cache::INSTANCE,'email','folderBasicInfo'.trim($account_id),null,array(),60*60*1);
632
+			$folderBasicInfo = Cache::getCache(Cache::INSTANCE, 'email', 'folderBasicInfo'.trim($account_id), null, array(), 60 * 60 * 1);
633 633
 			if (!empty($folderBasicInfo) && isset($folderBasicInfo[$_ImapServerId]))
634 634
 			{
635 635
 				unset($folderBasicInfo[$_ImapServerId]);
636 636
 			}
637
-			$_specialUseFolders = Cache::getCache(Cache::INSTANCE,'email','specialUseFolders'.trim($account_id),null,array(),60*60*12);
637
+			$_specialUseFolders = Cache::getCache(Cache::INSTANCE, 'email', 'specialUseFolders'.trim($account_id), null, array(), 60 * 60 * 12);
638 638
 			if (!empty($_specialUseFolders) && isset($_specialUseFolders[$_ImapServerId]))
639 639
 			{
640 640
 				unset($_specialUseFolders[$_ImapServerId]);
641
-				self::$specialUseFolders=null;
641
+				self::$specialUseFolders = null;
642 642
 			}
643 643
 		}
644
-		Cache::setCache(Cache::INSTANCE,'email','folderObjects'.trim($account_id),$folders2return, 60*60*1);
645
-		Cache::setCache(Cache::INSTANCE,'email','icServerFolderExistsInfo'.trim($account_id),$folderInfo,60*60*5);
644
+		Cache::setCache(Cache::INSTANCE, 'email', 'folderObjects'.trim($account_id), $folders2return, 60 * 60 * 1);
645
+		Cache::setCache(Cache::INSTANCE, 'email', 'icServerFolderExistsInfo'.trim($account_id), $folderInfo, 60 * 60 * 5);
646 646
 		//Cache::setCache(Cache::INSTANCE,'email','lastFolderUsedForMove'.trim($account_id),$lastFolderUsedForMove,$expiration=60*60*1);
647
-		Cache::setCache(Cache::INSTANCE,'email','folderBasicInfo'.trim($account_id),$folderBasicInfo,60*60*1);
648
-		Cache::setCache(Cache::INSTANCE,'email','specialUseFolders'.trim($account_id),$_specialUseFolders,60*60*12);
647
+		Cache::setCache(Cache::INSTANCE, 'email', 'folderBasicInfo'.trim($account_id), $folderBasicInfo, 60 * 60 * 1);
648
+		Cache::setCache(Cache::INSTANCE, 'email', 'specialUseFolders'.trim($account_id), $_specialUseFolders, 60 * 60 * 12);
649 649
 	}
650 650
 
651 651
 	/**
@@ -666,15 +666,15 @@  discard block
 block discarded – undo
666 666
 	 * @param string $_profileID the ID of the mailaccount to check for identities, if null current mail-account is used
667 667
 	 * @return array - array(email=>realname)
668 668
 	 */
669
-	function getUserEMailAddresses($_profileID=null)
669
+	function getUserEMailAddresses($_profileID = null)
670 670
 	{
671
-		$acc = Mail\Account::read((!empty($_profileID)?$_profileID:$this->profileID));
671
+		$acc = Mail\Account::read((!empty($_profileID) ? $_profileID : $this->profileID));
672 672
 		//error_log(__METHOD__.' ('.__LINE__.') '.':'.array2string($acc));
673 673
 		$identities = Mail\Account::identities($acc);
674 674
 
675 675
 		$userEMailAdresses = array($acc['ident_email']=>$acc['ident_realname']);
676 676
 
677
-		foreach($identities as $ik => $ident) {
677
+		foreach ($identities as $ik => $ident) {
678 678
 			//error_log(__METHOD__.' ('.__LINE__.') '.':'.$ik.'->'.array2string($ident));
679 679
 			$identity = Mail\Account::read_identity($ik);
680 680
 			if (!empty($identity['ident_email']) && !isset($userEMailAdresses[$identity['ident_email']])) $userEMailAdresses[$identity['ident_email']] = $identity['ident_realname'];
@@ -689,19 +689,19 @@  discard block
 block discarded – undo
689 689
 	 * @param boolean $resolve_placeholders wether or not resolve possible placeholders in identities
690 690
 	 * @return array - array(email=>realname)
691 691
 	 */
692
-	static function getAllIdentities($_accountToSearch=null,$resolve_placeholders=false)
692
+	static function getAllIdentities($_accountToSearch = null, $resolve_placeholders = false)
693 693
 	{
694 694
 		$userEMailAdresses = array();
695
-		foreach(Mail\Account::search($only_current_user=($_accountToSearch?$_accountToSearch:true), $just_name=true) as $acc_id => $identity_name)
695
+		foreach (Mail\Account::search($only_current_user = ($_accountToSearch ? $_accountToSearch : true), $just_name = true) as $acc_id => $identity_name)
696 696
 		{
697
-			$acc = Mail\Account::read($acc_id,($_accountToSearch?$_accountToSearch:null));
698
-			if (!$resolve_placeholders) $userEMailAdresses[$acc['ident_id']] = array('acc_id'=>$acc_id,'ident_id'=>$acc['ident_id'],'ident_email'=>$acc['ident_email'],'ident_org'=>$acc['ident_org'],'ident_realname'=>$acc['ident_realname'],'ident_signature'=>$acc['ident_signature'],'ident_name'=>$acc['ident_name']);
697
+			$acc = Mail\Account::read($acc_id, ($_accountToSearch ? $_accountToSearch : null));
698
+			if (!$resolve_placeholders) $userEMailAdresses[$acc['ident_id']] = array('acc_id'=>$acc_id, 'ident_id'=>$acc['ident_id'], 'ident_email'=>$acc['ident_email'], 'ident_org'=>$acc['ident_org'], 'ident_realname'=>$acc['ident_realname'], 'ident_signature'=>$acc['ident_signature'], 'ident_name'=>$acc['ident_name']);
699 699
 
700
-			foreach(Mail\Account::identities($acc) as $ik => $ident) {
700
+			foreach (Mail\Account::identities($acc) as $ik => $ident) {
701 701
 				//error_log(__METHOD__.' ('.__LINE__.') '.':'.$ik.'->'.array2string($ident));
702
-				$identity = Mail\Account::read_identity($ik,$resolve_placeholders);
702
+				$identity = Mail\Account::read_identity($ik, $resolve_placeholders);
703 703
 				//error_log(__METHOD__.' ('.__LINE__.') '.':'.$ik.'->'.array2string($identity));
704
-				if (!isset($userEMailAdresses[$identity['ident_id']])) $userEMailAdresses[$identity['ident_id']] = array('acc_id'=>$acc_id,'ident_id'=>$identity['ident_id'],'ident_email'=>$identity['ident_email'],'ident_org'=>$identity['ident_org'],'ident_realname'=>$identity['ident_realname'],'ident_signature'=>$identity['ident_signature'],'ident_name'=>$identity['ident_name']);
704
+				if (!isset($userEMailAdresses[$identity['ident_id']])) $userEMailAdresses[$identity['ident_id']] = array('acc_id'=>$acc_id, 'ident_id'=>$identity['ident_id'], 'ident_email'=>$identity['ident_email'], 'ident_org'=>$identity['ident_org'], 'ident_realname'=>$identity['ident_realname'], 'ident_signature'=>$identity['ident_signature'], 'ident_name'=>$identity['ident_name']);
705 705
 			}
706 706
 		}
707 707
 		//error_log(__METHOD__.' ('.__LINE__.') '.array2string($userEMailAdresses));
@@ -721,9 +721,9 @@  discard block
 block discarded – undo
721 721
 			$account = Mail\Account::read($account);
722 722
 		}
723 723
 		$userEMailAdresses = array();
724
-		foreach(Mail\Account::identities($account, true, 'params') as $ik => $ident) {
724
+		foreach (Mail\Account::identities($account, true, 'params') as $ik => $ident) {
725 725
 			//error_log(__METHOD__.' ('.__LINE__.') '.':'.$ik.'->'.array2string($ident));
726
-			$identity = Mail\Account::read_identity($ik,true,null,$account);
726
+			$identity = Mail\Account::read_identity($ik, true, null, $account);
727 727
 			//error_log(__METHOD__.' ('.__LINE__.') '.':'.$ik.'->'.array2string($identity));
728 728
 			// standardIdentity has ident_id==acc_id (as it is done within account->identities)
729 729
 			if (empty($identity['ident_id'])) $identity['ident_id'] = $identity['acc_id'];
@@ -750,9 +750,9 @@  discard block
 block discarded – undo
750 750
 	function getDefaultIdentity()
751 751
 	{
752 752
 		// retrieve the signature accociated with the identity
753
-		$id = $this->getIdentitiesWithAccounts($_accountData=array());
754
-		foreach(Mail\Account::identities($_accountData[$this->profileID] ?
755
-			$this->profileID : $_accountData[$id],false,'ident_id') as $accountData)
753
+		$id = $this->getIdentitiesWithAccounts($_accountData = array());
754
+		foreach (Mail\Account::identities($_accountData[$this->profileID] ?
755
+			$this->profileID : $_accountData[$id], false, 'ident_id') as $accountData)
756 756
 		{
757 757
 			return $accountData;
758 758
 		}
@@ -768,13 +768,13 @@  discard block
 block discarded – undo
768 768
 	{
769 769
 		// account select box
770 770
 		$selectedID = $this->profileID;
771
-		$allAccountData = Mail\Account::search($only_current_user=true, false, null);
771
+		$allAccountData = Mail\Account::search($only_current_user = true, false, null);
772 772
 		if ($allAccountData) {
773
-			$rememberFirst=$selectedFound=null;
773
+			$rememberFirst = $selectedFound = null;
774 774
 			foreach ($allAccountData as $tmpkey => $icServers)
775 775
 			{
776 776
 				if (is_null($rememberFirst)) $rememberFirst = $tmpkey;
777
-				if ($tmpkey == $selectedID) $selectedFound=true;
777
+				if ($tmpkey == $selectedID) $selectedFound = true;
778 778
 				//error_log(__METHOD__.' ('.__LINE__.') '.' Key:'.$tmpkey.'->'.array2string($icServers->acc_imap_host));
779 779
 				$host = $icServers->acc_imap_host;
780 780
 				if (empty($host)) continue;
@@ -782,7 +782,7 @@  discard block
 block discarded – undo
782 782
 				//error_log(__METHOD__.' ('.__LINE__.') '.' Key:'.$tmpkey.'->'.array2string($identities[$icServers->acc_id]));
783 783
 			}
784 784
 		}
785
-		return ($selectedFound?$selectedID:$rememberFirst);
785
+		return ($selectedFound ? $selectedID : $rememberFirst);
786 786
 	}
787 787
 
788 788
 	/**
@@ -792,7 +792,7 @@  discard block
 block discarded – undo
792 792
 	 * @var boolean $fullString full or false=NamePart only is returned
793 793
 	 * @return string - constructed of identity object data as defined in mailConfig
794 794
 	 */
795
-	static function generateIdentityString($identity, $fullString=true)
795
+	static function generateIdentityString($identity, $fullString = true)
796 796
 	{
797 797
 		//error_log(__METHOD__.' ('.__LINE__.') '.array2string($identity));
798 798
 		//if (is_null(self::$mailConfig)) self::$mailConfig = Config::read('mail');
@@ -803,16 +803,16 @@  discard block
 block discarded – undo
803 803
 		{
804 804
 			case 'email';
805 805
 				//$retData = str_replace('@',' ',$identity->emailAddress).($fullString===true?' <'.$identity->emailAddress.'>':'');
806
-				$retData = $identity['ident_email'].($fullString===true?' <'.$identity['ident_email'].'>':'');
806
+				$retData = $identity['ident_email'].($fullString === true ? ' <'.$identity['ident_email'].'>' : '');
807 807
 				break;
808 808
 			case 'nameNemail';
809
-				$retData = (!empty($identity['ident_realname'])?$identity['ident_realname']:substr_replace($identity['ident_email'],'',strpos($identity['ident_email'],'@'))).($fullString===true?' <'.$identity['ident_email'].'>':'');
809
+				$retData = (!empty($identity['ident_realname']) ? $identity['ident_realname'] : substr_replace($identity['ident_email'], '', strpos($identity['ident_email'], '@'))).($fullString === true ? ' <'.$identity['ident_email'].'>' : '');
810 810
 				break;
811 811
 			case 'orgNemail';
812
-				$retData = (!empty($identity['ident_org'])?$identity['ident_org']:substr_replace($identity['ident_email'],'',0,strpos($identity['ident_email'],'@')+1)).($fullString===true?' <'.$identity['ident_email'].'>':'');
812
+				$retData = (!empty($identity['ident_org']) ? $identity['ident_org'] : substr_replace($identity['ident_email'], '', 0, strpos($identity['ident_email'], '@') + 1)).($fullString === true ? ' <'.$identity['ident_email'].'>' : '');
813 813
 				break;
814 814
 			default:
815
-				$retData = $identity['ident_realname'].(!empty($identity['ident_org'])?' '.$identity['ident_org']:'').($fullString===true?' <'.$identity['ident_email'].'>':'');
815
+				$retData = $identity['ident_realname'].(!empty($identity['ident_org']) ? ' '.$identity['ident_org'] : '').($fullString === true ? ' <'.$identity['ident_email'].'>' : '');
816 816
 		}
817 817
 		return $retData;
818 818
 	}
@@ -837,7 +837,7 @@  discard block
 block discarded – undo
837 837
 	 */
838 838
 	function reopen($_foldername)
839 839
 	{
840
-		if (self::$debugTimes) $starttime = microtime (true);
840
+		if (self::$debugTimes) $starttime = microtime(true);
841 841
 
842 842
 		//error_log(__METHOD__.' ('.__LINE__.') '."('$_foldername') ".function_backtrace());
843 843
 		// TODO: trying to reduce traffic to the IMAP Server here, introduces problems with fetching the bodies of
@@ -852,7 +852,7 @@  discard block
 block discarded – undo
852 852
 			}
853 853
 			$folderOpened = $_foldername;
854 854
 		//}
855
-		if (self::$debugTimes) self::logRunTimes($starttime,null,'Folder:'.$_foldername,__METHOD__.' ('.__LINE__.') ');
855
+		if (self::$debugTimes) self::logRunTimes($starttime, null, 'Folder:'.$_foldername, __METHOD__.' ('.__LINE__.') ');
856 856
 	}
857 857
 
858 858
 
@@ -863,15 +863,15 @@  discard block
 block discarded – undo
863 863
 	 * @throws Horde_Imap_Client_Exception on connection error or authentication failure
864 864
 	 * @throws InvalidArgumentException on missing credentials
865 865
 	 */
866
-	function openConnection($_icServerID=0)
866
+	function openConnection($_icServerID = 0)
867 867
 	{
868 868
 		//error_log( "-------------------------->open connection ".function_backtrace());
869 869
 		//error_log(__METHOD__.' ('.__LINE__.') '.' ->'.array2string($this->icServer));
870
-		if (self::$debugTimes) $starttime = microtime (true);
871
-		$mailbox=null;
870
+		if (self::$debugTimes) $starttime = microtime(true);
871
+		$mailbox = null;
872 872
 		try
873 873
 		{
874
-			if(isset($this->sessionData['mailbox'])&&$this->folderExists($this->sessionData['mailbox'])) $mailbox = $this->sessionData['mailbox'];
874
+			if (isset($this->sessionData['mailbox']) && $this->folderExists($this->sessionData['mailbox'])) $mailbox = $this->sessionData['mailbox'];
875 875
 			if (empty($mailbox)) $mailbox = $this->icServer->getCurrentMailbox();
876 876
 /*
877 877
 			if (isset(Mail\Imap::$supports_keywords[$_icServerID]))
@@ -898,7 +898,7 @@  discard block
 block discarded – undo
898 898
 			error_log(__METHOD__.' ('.__LINE__.') '."->open connection for Server with profileID:".$_icServerID." trying to examine ($mailbox) failed!".$e->getMessage());
899 899
 			throw new Exception(__METHOD__." failed to ".__METHOD__." on Profile to $_icServerID while trying to examine $mailbox:".$e->getMessage());
900 900
 		}
901
-		if (self::$debugTimes) self::logRunTimes($starttime,null,'ProfileID:'.$_icServerID,__METHOD__.' ('.__LINE__.') ');
901
+		if (self::$debugTimes) self::logRunTimes($starttime, null, 'ProfileID:'.$_icServerID, __METHOD__.' ('.__LINE__.') ');
902 902
 	}
903 903
 
904 904
 	/**
@@ -919,7 +919,7 @@  discard block
 block discarded – undo
919 919
 		try
920 920
 		{
921 921
 			$this->icServer->getCurrentMailbox();
922
-			if(!$this->icServer->hasCapability('QUOTA')) {
922
+			if (!$this->icServer->hasCapability('QUOTA')) {
923 923
 				$quota = false;
924 924
 				return false;
925 925
 			}
@@ -929,15 +929,15 @@  discard block
 block discarded – undo
929 929
 		{
930 930
 			//error_log(__METHOD__.array2string($e));
931 931
 			//error_log(__METHOD__." failed to fetch quota on ".$this->profileID.' Reason:'.$e->getMessage().($e->details?', '.$e->details:'')/*.function_backtrace()*/);
932
-			if ($e->getCode()==102)
932
+			if ($e->getCode() == 102)
933 933
 			{
934
-				self::$profileDefunct[$this->profileID]=$e->getMessage().($e->details?', '.$e->details:'');
935
-				Cache::setCache(Cache::INSTANCE,'email','profileDefunct'.trim($GLOBALS['egw_info']['user']['account_id']),self::$profileDefunct, $expiration=5*1);
936
-				throw new Exception(__METHOD__." failed to fetch quota on ".$this->profileID.' Reason:'.$e->getMessage().($e->details?', '.$e->details:''));
934
+				self::$profileDefunct[$this->profileID] = $e->getMessage().($e->details ? ', '.$e->details : '');
935
+				Cache::setCache(Cache::INSTANCE, 'email', 'profileDefunct'.trim($GLOBALS['egw_info']['user']['account_id']), self::$profileDefunct, $expiration = 5 * 1);
936
+				throw new Exception(__METHOD__." failed to fetch quota on ".$this->profileID.' Reason:'.$e->getMessage().($e->details ? ', '.$e->details : ''));
937 937
 			}
938 938
 		}
939 939
 		//error_log(__METHOD__.' ('.__LINE__.') '.array2string($quota));
940
-		if(is_array($quota)) {
940
+		if (is_array($quota)) {
941 941
 			$quota = array(
942 942
 				'usage'	=> $quota['USED'],
943 943
 				'limit'	=> $quota['QMAX'],
@@ -955,10 +955,10 @@  discard block
 block discarded – undo
955 955
 	 *
956 956
 	 * @return int - timeout (either set or default 20/10)
957 957
 	 */
958
-	static function getTimeOut($_use='IMAP')
958
+	static function getTimeOut($_use = 'IMAP')
959 959
 	{
960 960
 		$timeout = $GLOBALS['egw_info']['user']['preferences']['mail']['connectionTimeout'];
961
-		if (empty($timeout)) $timeout = ($_use=='SIEVE'?10:20); // this is the default value
961
+		if (empty($timeout)) $timeout = ($_use == 'SIEVE' ? 10 : 20); // this is the default value
962 962
 		return $timeout;
963 963
 	}
964 964
 
@@ -979,18 +979,18 @@  discard block
 block discarded – undo
979 979
 		if (is_null($nameSpace)) $nameSpace = $this->icServer->getNameSpaceArray();
980 980
 		//error_log(__METHOD__.' ('.__LINE__.') '.array2string($nameSpace));
981 981
 		if (is_array($nameSpace)) {
982
-			foreach($nameSpace as $type => $singleNameSpaceArray)
982
+			foreach ($nameSpace as $type => $singleNameSpaceArray)
983 983
 			{
984 984
 				foreach ($singleNameSpaceArray as $singleNameSpace)
985 985
 				{
986 986
 					$_foldersNameSpace = array();
987
-					if($type == 'personal' && $singleNameSpace['name'] == '#mh/' && ($this->folderExists('Mail')||$this->folderExists('INBOX')))
987
+					if ($type == 'personal' && $singleNameSpace['name'] == '#mh/' && ($this->folderExists('Mail') || $this->folderExists('INBOX')))
988 988
 					{
989 989
 						$_foldersNameSpace['prefix_present'] = 'forced';
990 990
 						// uw-imap server with mailbox prefix or dovecot maybe
991
-						$_foldersNameSpace['prefix'] = ($this->folderExists('Mail')?'Mail':(!empty($singleNameSpace['name'])?$singleNameSpace['name']:''));
991
+						$_foldersNameSpace['prefix'] = ($this->folderExists('Mail') ? 'Mail' : (!empty($singleNameSpace['name']) ? $singleNameSpace['name'] : ''));
992 992
 					}
993
-					elseif($type == 'personal' && ($singleNameSpace['name'] == '#mh/') && $this->folderExists('mail'))
993
+					elseif ($type == 'personal' && ($singleNameSpace['name'] == '#mh/') && $this->folderExists('mail'))
994 994
 					{
995 995
 						$_foldersNameSpace['prefix_present'] = 'forced';
996 996
 						// uw-imap server with mailbox prefix or dovecot maybe
@@ -999,9 +999,9 @@  discard block
 block discarded – undo
999 999
 						$_foldersNameSpace['prefix_present'] = !empty($singleNameSpace['name']);
1000 1000
 						$_foldersNameSpace['prefix'] = $singleNameSpace['name'];
1001 1001
 					}
1002
-					$_foldersNameSpace['delimiter'] = ($singleNameSpace['delimiter']?$singleNameSpace['delimiter']:$delimiter);
1002
+					$_foldersNameSpace['delimiter'] = ($singleNameSpace['delimiter'] ? $singleNameSpace['delimiter'] : $delimiter);
1003 1003
 					$_foldersNameSpace['type'] = $type;
1004
-					$foldersNameSpace[] =$_foldersNameSpace;
1004
+					$foldersNameSpace[] = $_foldersNameSpace;
1005 1005
 				}
1006 1006
 				//echo "############## $type->".print_r($foldersNameSpace[$type],true)." ###################<br>";
1007 1007
 			}
@@ -1019,10 +1019,10 @@  discard block
 block discarded – undo
1019 1019
 	 */
1020 1020
 	function getFolderPrefixFromNamespace($nameSpace, $folderName)
1021 1021
 	{
1022
-		foreach($nameSpace as &$singleNameSpace)
1022
+		foreach ($nameSpace as &$singleNameSpace)
1023 1023
 		{
1024 1024
 			//if (substr($singleNameSpace['prefix'],0,strlen($folderName))==$folderName) return $singleNameSpace['prefix'];
1025
-			if (substr($folderName,0,strlen($singleNameSpace['prefix']))==$singleNameSpace['prefix']) return $singleNameSpace['prefix'];
1025
+			if (substr($folderName, 0, strlen($singleNameSpace['prefix'])) == $singleNameSpace['prefix']) return $singleNameSpace['prefix'];
1026 1026
 		}
1027 1027
 		return "";
1028 1028
 	}
@@ -1033,12 +1033,12 @@  discard block
 block discarded – undo
1033 1033
 	 * @var boolean $_useCache
1034 1034
 	 * @return string the hierarchyDelimiter
1035 1035
 	 */
1036
-	function getHierarchyDelimiter($_useCache=true)
1036
+	function getHierarchyDelimiter($_useCache = true)
1037 1037
 	{
1038 1038
 		static $HierarchyDelimiter = null;
1039
-		if (is_null($HierarchyDelimiter)) $HierarchyDelimiter = Cache::getCache(Cache::INSTANCE,'email','HierarchyDelimiter'.trim($GLOBALS['egw_info']['user']['account_id']),null,array(),60*60*24*5);
1040
-		if ($_useCache===false) unset($HierarchyDelimiter[$this->icServer->ImapServerId]);
1041
-		if (isset($HierarchyDelimiter[$this->icServer->ImapServerId])&&!empty($HierarchyDelimiter[$this->icServer->ImapServerId]))
1039
+		if (is_null($HierarchyDelimiter)) $HierarchyDelimiter = Cache::getCache(Cache::INSTANCE, 'email', 'HierarchyDelimiter'.trim($GLOBALS['egw_info']['user']['account_id']), null, array(), 60 * 60 * 24 * 5);
1040
+		if ($_useCache === false) unset($HierarchyDelimiter[$this->icServer->ImapServerId]);
1041
+		if (isset($HierarchyDelimiter[$this->icServer->ImapServerId]) && !empty($HierarchyDelimiter[$this->icServer->ImapServerId]))
1042 1042
 		{
1043 1043
 			return $HierarchyDelimiter[$this->icServer->ImapServerId];
1044 1044
 		}
@@ -1048,17 +1048,17 @@  discard block
 block discarded – undo
1048 1048
 			$this->icServer->getCurrentMailbox();
1049 1049
 			$HierarchyDelimiter[$this->icServer->ImapServerId] = $this->icServer->getDelimiter();
1050 1050
 		}
1051
-		catch(\Exception $e)
1051
+		catch (\Exception $e)
1052 1052
 		{
1053
-			if ($e->getCode()==102)
1053
+			if ($e->getCode() == 102)
1054 1054
 			{
1055
-				self::$profileDefunct[$this->profileID]=$e->getMessage().($e->details?', '.$e->details:'');
1056
-				Cache::setCache(Cache::INSTANCE,'email','profileDefunct'.trim($GLOBALS['egw_info']['user']['account_id']),self::$profileDefunct, $expiration=5*1);
1055
+				self::$profileDefunct[$this->profileID] = $e->getMessage().($e->details ? ', '.$e->details : '');
1056
+				Cache::setCache(Cache::INSTANCE, 'email', 'profileDefunct'.trim($GLOBALS['egw_info']['user']['account_id']), self::$profileDefunct, $expiration = 5 * 1);
1057 1057
 			}
1058 1058
 			unset($e);
1059 1059
 			$HierarchyDelimiter[$this->icServer->ImapServerId] = '/';
1060 1060
 		}
1061
-		Cache::setCache(Cache::INSTANCE,'email','HierarchyDelimiter'.trim($GLOBALS['egw_info']['user']['account_id']),$HierarchyDelimiter, 60*60*24*5);
1061
+		Cache::setCache(Cache::INSTANCE, 'email', 'HierarchyDelimiter'.trim($GLOBALS['egw_info']['user']['account_id']), $HierarchyDelimiter, 60 * 60 * 24 * 5);
1062 1062
 		return $HierarchyDelimiter[$this->icServer->ImapServerId];
1063 1063
 	}
1064 1064
 
@@ -1071,7 +1071,7 @@  discard block
 block discarded – undo
1071 1071
 	{
1072 1072
 		//error_log(__METHOD__.' ('.__LINE__.') '.':'.$this->icServer->ImapServerId.' Connected:'.$this->icServer->_connected);
1073 1073
 		static $_specialUseFolders = null;
1074
-		if (is_null($_specialUseFolders)||empty($_specialUseFolders)) $_specialUseFolders = Cache::getCache(Cache::INSTANCE,'email','specialUseFolders'.trim($GLOBALS['egw_info']['user']['account_id']),null,array(),60*60*24*5);
1074
+		if (is_null($_specialUseFolders) || empty($_specialUseFolders)) $_specialUseFolders = Cache::getCache(Cache::INSTANCE, 'email', 'specialUseFolders'.trim($GLOBALS['egw_info']['user']['account_id']), null, array(), 60 * 60 * 24 * 5);
1075 1075
 		//error_log(__METHOD__.' ('.__LINE__.') '.array2string($this->icServer->acc_folder_trash));
1076 1076
 		//error_log(__METHOD__.' ('.__LINE__.') '.array2string($this->icServer->acc_folder_sent));
1077 1077
 		//error_log(__METHOD__.' ('.__LINE__.') '.array2string($this->icServer->acc_folder_draft));
@@ -1079,20 +1079,20 @@  discard block
 block discarded – undo
1079 1079
 		self::$specialUseFolders = $_specialUseFolders[$this->icServer->ImapServerId];
1080 1080
 		if (isset($_specialUseFolders[$this->icServer->ImapServerId]) && !empty($_specialUseFolders[$this->icServer->ImapServerId]))
1081 1081
 			return $_specialUseFolders[$this->icServer->ImapServerId];
1082
-		$_specialUseFolders[$this->icServer->ImapServerId]=array();
1082
+		$_specialUseFolders[$this->icServer->ImapServerId] = array();
1083 1083
 		//if (!empty($this->icServer->acc_folder_trash) && !isset($_specialUseFolders[$this->icServer->ImapServerId][$this->icServer->acc_folder_trash]))
1084
-			$_specialUseFolders[$this->icServer->ImapServerId][$this->icServer->acc_folder_trash]='Trash';
1084
+			$_specialUseFolders[$this->icServer->ImapServerId][$this->icServer->acc_folder_trash] = 'Trash';
1085 1085
 		//if (!empty($this->icServer->acc_folder_draft) && !isset($_specialUseFolders[$this->icServer->ImapServerId][$this->icServer->acc_folder_draft]))
1086
-			$_specialUseFolders[$this->icServer->ImapServerId][$this->icServer->acc_folder_draft]='Drafts';
1086
+			$_specialUseFolders[$this->icServer->ImapServerId][$this->icServer->acc_folder_draft] = 'Drafts';
1087 1087
 		//if (!empty($this->icServer->acc_folder_sent) && !isset($_specialUseFolders[$this->icServer->ImapServerId][$this->icServer->acc_folder_sent]))
1088
-			$_specialUseFolders[$this->icServer->ImapServerId][$this->icServer->acc_folder_sent]='Sent';
1088
+			$_specialUseFolders[$this->icServer->ImapServerId][$this->icServer->acc_folder_sent] = 'Sent';
1089 1089
 		//if (!empty($this->icServer->acc_folder_template) && !isset($_specialUseFolders[$this->icServer->ImapServerId][$this->icServer->acc_folder_template]))
1090
-			$_specialUseFolders[$this->icServer->ImapServerId][$this->icServer->acc_folder_template]='Templates';
1091
-		$_specialUseFolders[$this->icServer->ImapServerId][$this->icServer->acc_folder_junk]='Junk';
1092
-		$_specialUseFolders[$this->icServer->ImapServerId][$this->icServer->acc_folder_archive]='Archive';
1090
+			$_specialUseFolders[$this->icServer->ImapServerId][$this->icServer->acc_folder_template] = 'Templates';
1091
+		$_specialUseFolders[$this->icServer->ImapServerId][$this->icServer->acc_folder_junk] = 'Junk';
1092
+		$_specialUseFolders[$this->icServer->ImapServerId][$this->icServer->acc_folder_archive] = 'Archive';
1093 1093
 		//error_log(__METHOD__.' ('.__LINE__.') '.array2string($_specialUseFolders));//.'<->'.array2string($this->icServer));
1094 1094
 		self::$specialUseFolders = $_specialUseFolders[$this->icServer->ImapServerId];
1095
-		Cache::setCache(Cache::INSTANCE,'email','specialUseFolders'.trim($GLOBALS['egw_info']['user']['account_id']),$_specialUseFolders, 60*60*24*5);
1095
+		Cache::setCache(Cache::INSTANCE, 'email', 'specialUseFolders'.trim($GLOBALS['egw_info']['user']['account_id']), $_specialUseFolders, 60 * 60 * 24 * 5);
1096 1096
 		return $_specialUseFolders[$this->icServer->ImapServerId];
1097 1097
 	}
1098 1098
 
@@ -1106,8 +1106,8 @@  discard block
 block discarded – undo
1106 1106
 	function folderIsSelectable($folderToSelect)
1107 1107
 	{
1108 1108
 		$retval = true;
1109
-		if($folderToSelect && ($folderStatus = $this->getFolderStatus($folderToSelect,false,true))) {
1110
-			if (!empty($folderStatus['attributes']) && stripos(array2string($folderStatus['attributes']),'noselect')!==false)
1109
+		if ($folderToSelect && ($folderStatus = $this->getFolderStatus($folderToSelect, false, true))) {
1110
+			if (!empty($folderStatus['attributes']) && stripos(array2string($folderStatus['attributes']), 'noselect') !== false)
1111 1111
 			{
1112 1112
 				$retval = false;
1113 1113
 			}
@@ -1127,7 +1127,7 @@  discard block
 block discarded – undo
1127 1127
 	 *
1128 1128
 	 * @throws Exception
1129 1129
 	 */
1130
-	function _getStatus($folderName,$ignoreStatusCache=false)
1130
+	function _getStatus($folderName, $ignoreStatusCache = false)
1131 1131
 	{
1132 1132
 		static $folderStatus = null;
1133 1133
 		if (!$ignoreStatusCache && isset($folderStatus[$this->icServer->ImapServerId][$folderName]))
@@ -1137,11 +1137,11 @@  discard block
 block discarded – undo
1137 1137
 		}
1138 1138
 		try
1139 1139
 		{
1140
-			$folderStatus[$this->icServer->ImapServerId][$folderName] = $this->icServer->getStatus($folderName,$ignoreStatusCache);
1140
+			$folderStatus[$this->icServer->ImapServerId][$folderName] = $this->icServer->getStatus($folderName, $ignoreStatusCache);
1141 1141
 		}
1142 1142
 		catch (\Exception $e)
1143 1143
 		{
1144
-			throw new Exception(__METHOD__.' ('.__LINE__.') '." failed for $folderName with error:".$e->getMessage().($e->details?', '.$e->details:''));
1144
+			throw new Exception(__METHOD__.' ('.__LINE__.') '." failed for $folderName with error:".$e->getMessage().($e->details ? ', '.$e->details : ''));
1145 1145
 		}
1146 1146
 		return $folderStatus[$this->icServer->ImapServerId][$folderName];
1147 1147
 	}
@@ -1157,10 +1157,10 @@  discard block
 block discarded – undo
1157 1157
 	 * @param fetchSubscribedInfo bool fetch Subscribed Info on folder
1158 1158
 	 * @return array
1159 1159
 	 */
1160
-	function getFolderStatus($_folderName,$ignoreStatusCache=false,$basicInfoOnly=false,$fetchSubscribedInfo=true)
1160
+	function getFolderStatus($_folderName, $ignoreStatusCache = false, $basicInfoOnly = false, $fetchSubscribedInfo = true)
1161 1161
 	{
1162 1162
 		if (self::$debug) error_log(__METHOD__.' ('.__LINE__.') '." called with:$_folderName,$ignoreStatusCache,$basicInfoOnly");
1163
-		if (!is_string($_folderName) || empty($_folderName)||(isset(self::$profileDefunct[$this->profileID]) && strlen(self::$profileDefunct[$this->profileID])))
1163
+		if (!is_string($_folderName) || empty($_folderName) || (isset(self::$profileDefunct[$this->profileID]) && strlen(self::$profileDefunct[$this->profileID])))
1164 1164
 		{
1165 1165
 			// something is wrong. Do not proceed. either no folder or profile is marked as defunct for this request
1166 1166
 			return false;
@@ -1171,7 +1171,7 @@  discard block
 block discarded – undo
1171 1171
 		{
1172 1172
 			$folderInfoCache = $folderBasicInfo[$this->profileID];
1173 1173
 		}
1174
-		if (isset($folderInfoCache[$_folderName]) && $ignoreStatusCache==false && $basicInfoOnly) return $folderInfoCache[$_folderName];
1174
+		if (isset($folderInfoCache[$_folderName]) && $ignoreStatusCache == false && $basicInfoOnly) return $folderInfoCache[$_folderName];
1175 1175
 		$retValue = array();
1176 1176
 		$retValue['subscribed'] = false;
1177 1177
 /*
@@ -1192,41 +1192,41 @@  discard block
 block discarded – undo
1192 1192
 			{
1193 1193
 				//error_log(__METHOD__.array2string($e));
1194 1194
 				//error_log(__METHOD__." failed to fetch Mailbox $_folderName on ".$this->profileID.' Reason:'.$e->getMessage().($e->details?', '.$e->details:'')/*.function_backtrace()*/);
1195
-				self::$profileDefunct[$this->profileID]=$e->getMessage().($e->details?', '.$e->details:'');
1196
-				Cache::setCache(Cache::INSTANCE,'email','profileDefunct'.trim($GLOBALS['egw_info']['user']['account_id']),self::$profileDefunct, $expiration=5*1);
1197
-				throw new Exception(__METHOD__." failed to fetch Mailbox $_folderName on ".$this->profileID.' Reason:'.$e->getMessage().($e->details?', '.$e->details:''));
1195
+				self::$profileDefunct[$this->profileID] = $e->getMessage().($e->details ? ', '.$e->details : '');
1196
+				Cache::setCache(Cache::INSTANCE, 'email', 'profileDefunct'.trim($GLOBALS['egw_info']['user']['account_id']), self::$profileDefunct, $expiration = 5 * 1);
1197
+				throw new Exception(__METHOD__." failed to fetch Mailbox $_folderName on ".$this->profileID.' Reason:'.$e->getMessage().($e->details ? ', '.$e->details : ''));
1198 1198
 			}
1199 1199
 			//error_log(__METHOD__.' ('.__LINE__.') '.$_folderName.' '.array2string($ret));
1200 1200
 			if (is_array($ret))
1201 1201
 			{
1202 1202
 				$retkeys = array_keys($ret);
1203
-				if ($retkeys[0]==$_folderName) $folderInfoCache[$_folderName] = $ret[$retkeys[0]];
1203
+				if ($retkeys[0] == $_folderName) $folderInfoCache[$_folderName] = $ret[$retkeys[0]];
1204 1204
 			}
1205 1205
 			else
1206 1206
 			{
1207
-				$folderInfoCache[$_folderName]=false;
1207
+				$folderInfoCache[$_folderName] = false;
1208 1208
 			}
1209 1209
 		}
1210 1210
 		$folderInfo = $folderInfoCache[$_folderName];
1211 1211
 		//error_log(__METHOD__.' ('.__LINE__.') '.array2string($folderInfo).'->'.function_backtrace());
1212
-		if($ignoreStatusCache||!$folderInfo|| !is_array($folderInfo)) {
1212
+		if ($ignoreStatusCache || !$folderInfo || !is_array($folderInfo)) {
1213 1213
 			try
1214 1214
 			{
1215
-				$folderInfo = $this->_getStatus($_folderName,$ignoreStatusCache);
1215
+				$folderInfo = $this->_getStatus($_folderName, $ignoreStatusCache);
1216 1216
 			}
1217 1217
 			catch (\Exception $e)
1218 1218
 			{
1219 1219
 				//error_log(__METHOD__.array2string($e));
1220
-				error_log(__METHOD__." failed to fetch status for $_folderName on ".$this->profileID.' Reason:'.$e->getMessage().($e->details?', '.$e->details:'')/*.function_backtrace()*/);
1221
-				self::$profileDefunct[$this->profileID]=$e->getMessage().($e->details?', '.$e->details:'');
1222
-				Cache::setCache(Cache::INSTANCE,'email','profileDefunct'.trim($GLOBALS['egw_info']['user']['account_id']),self::$profileDefunct, $expiration=5*1);
1220
+				error_log(__METHOD__." failed to fetch status for $_folderName on ".$this->profileID.' Reason:'.$e->getMessage().($e->details ? ', '.$e->details : '')/*.function_backtrace()*/);
1221
+				self::$profileDefunct[$this->profileID] = $e->getMessage().($e->details ? ', '.$e->details : '');
1222
+				Cache::setCache(Cache::INSTANCE, 'email', 'profileDefunct'.trim($GLOBALS['egw_info']['user']['account_id']), self::$profileDefunct, $expiration = 5 * 1);
1223 1223
 				//throw new Exception(__METHOD__." failed to fetch status for $_folderName on ".$this->profileID.' Reason:'.$e->getMessage().($e->details?', '.$e->details:''));
1224
-				$folderInfo=null;
1224
+				$folderInfo = null;
1225 1225
 			}
1226 1226
 			if (!is_array($folderInfo))
1227 1227
 			{
1228 1228
 				// no folder info, but there is a status returned for the folder: something is wrong, try to cope with it
1229
-				$folderInfo = is_array($folderInfo)?$folderInfo:array('HIERACHY_DELIMITER'=>$this->getHierarchyDelimiter(),
1229
+				$folderInfo = is_array($folderInfo) ? $folderInfo : array('HIERACHY_DELIMITER'=>$this->getHierarchyDelimiter(),
1230 1230
 					'ATTRIBUTES' => '');
1231 1231
 				if (!isset($folderInfo['HIERACHY_DELIMITER']) || empty($folderInfo['HIERACHY_DELIMITER']) || (isset($folderInfo['delimiter']) && empty($folderInfo['delimiter'])))
1232 1232
 				{
@@ -1238,24 +1238,24 @@  discard block
 block discarded – undo
1238 1238
 		#if(!is_array($folderInfo)) {
1239 1239
 		#	return false;
1240 1240
 		#}
1241
-		$retValue['delimiter']		= (isset($folderInfo['HIERACHY_DELIMITER']) && $folderInfo['HIERACHY_DELIMITER']?$folderInfo['HIERACHY_DELIMITER']:$folderInfo['delimiter']);
1242
-		$retValue['attributes']		= (isset($folderInfo['ATTRIBUTES']) && $folderInfo['ATTRIBUTES']?$folderInfo['ATTRIBUTES']:$folderInfo['attributes']);
1243
-		$shortNameParts			= explode($retValue['delimiter'], $_folderName);
1241
+		$retValue['delimiter']		= (isset($folderInfo['HIERACHY_DELIMITER']) && $folderInfo['HIERACHY_DELIMITER'] ? $folderInfo['HIERACHY_DELIMITER'] : $folderInfo['delimiter']);
1242
+		$retValue['attributes']		= (isset($folderInfo['ATTRIBUTES']) && $folderInfo['ATTRIBUTES'] ? $folderInfo['ATTRIBUTES'] : $folderInfo['attributes']);
1243
+		$shortNameParts = explode($retValue['delimiter'], $_folderName);
1244 1244
 		$retValue['shortName']		= array_pop($shortNameParts);
1245 1245
 		$retValue['displayName']	= $_folderName;
1246
-		$retValue['shortDisplayName']	= $retValue['shortName'];
1247
-		if(strtoupper($retValue['shortName']) == 'INBOX') {
1248
-			$retValue['displayName']	= lang('INBOX');
1249
-			$retValue['shortDisplayName']	= lang('INBOX');
1246
+		$retValue['shortDisplayName'] = $retValue['shortName'];
1247
+		if (strtoupper($retValue['shortName']) == 'INBOX') {
1248
+			$retValue['displayName'] = lang('INBOX');
1249
+			$retValue['shortDisplayName'] = lang('INBOX');
1250 1250
 		}
1251 1251
 		// translate the automatic Folders (Sent, Drafts, ...) like the INBOX
1252
-		elseif (in_array($retValue['shortName'],self::$autoFolders))
1252
+		elseif (in_array($retValue['shortName'], self::$autoFolders))
1253 1253
 		{
1254 1254
 			$retValue['displayName'] = $retValue['shortDisplayName'] = lang($retValue['shortName']);
1255 1255
 		}
1256
-		if ($folderInfo) $folderBasicInfo[$this->profileID][$_folderName]=$retValue;
1256
+		if ($folderInfo) $folderBasicInfo[$this->profileID][$_folderName] = $retValue;
1257 1257
 		//error_log(__METHOD__.' ('.__LINE__.') '.' '.$_folderName.array2string($retValue['attributes']));
1258
-		if ($basicInfoOnly || (isset($retValue['attributes']) && stripos(array2string($retValue['attributes']),'noselect')!==false))
1258
+		if ($basicInfoOnly || (isset($retValue['attributes']) && stripos(array2string($retValue['attributes']), 'noselect') !== false))
1259 1259
 		{
1260 1260
 			return $retValue;
1261 1261
 		}
@@ -1268,12 +1268,12 @@  discard block
 block discarded – undo
1268 1268
 		if (is_null($nameSpace) || empty($nameSpace[$this->profileID])) $nameSpace[$this->profileID] = $this->_getNameSpaces();
1269 1269
 		if (!empty($nameSpace[$this->profileID]))
1270 1270
 		{
1271
-			$nsNoPersonal=array();
1272
-			foreach($nameSpace[$this->profileID] as &$ns)
1271
+			$nsNoPersonal = array();
1272
+			foreach ($nameSpace[$this->profileID] as &$ns)
1273 1273
 			{
1274
-				if ($ns['type']!='personal') $nsNoPersonal[]=$ns;
1274
+				if ($ns['type'] != 'personal') $nsNoPersonal[] = $ns;
1275 1275
 			}
1276
-			$nameSpace[$this->profileID]=$nsNoPersonal;
1276
+			$nameSpace[$this->profileID] = $nsNoPersonal;
1277 1277
 		}
1278 1278
 		if (is_null($prefix) || empty($prefix[$this->profileID]) || empty($prefix[$this->profileID][$_folderName])) $prefix[$this->profileID][$_folderName] = $this->getFolderPrefixFromNamespace($nameSpace[$this->profileID], $_folderName);
1279 1279
 
@@ -1282,34 +1282,34 @@  discard block
 block discarded – undo
1282 1282
 			$subscribedFolders[$this->profileID] = $this->icServer->listSubscribedMailboxes();
1283 1283
 		}
1284 1284
 
1285
-		if($fetchSubscribedInfo && is_array($subscribedFolders[$this->profileID]) && in_array($_folderName,$subscribedFolders[$this->profileID])) {
1285
+		if ($fetchSubscribedInfo && is_array($subscribedFolders[$this->profileID]) && in_array($_folderName, $subscribedFolders[$this->profileID])) {
1286 1286
 			$retValue['subscribed'] = true;
1287 1287
 		}
1288 1288
 
1289 1289
 		try
1290 1290
 		{
1291 1291
 			//$folderStatus = $this->_getStatus($_folderName,$ignoreStatusCache);
1292
-			$folderStatus = $this->getMailBoxCounters($_folderName,false);
1293
-			$retValue['messages']		= $folderStatus['MESSAGES'];
1292
+			$folderStatus = $this->getMailBoxCounters($_folderName, false);
1293
+			$retValue['messages'] = $folderStatus['MESSAGES'];
1294 1294
 			$retValue['recent']		= $folderStatus['RECENT'];
1295
-			$retValue['uidnext']		= $folderStatus['UIDNEXT'];
1296
-			$retValue['uidvalidity']	= $folderStatus['UIDVALIDITY'];
1295
+			$retValue['uidnext'] = $folderStatus['UIDNEXT'];
1296
+			$retValue['uidvalidity'] = $folderStatus['UIDVALIDITY'];
1297 1297
 			$retValue['unseen']		= $folderStatus['UNSEEN'];
1298 1298
 			if (//$retValue['unseen']==0 &&
1299 1299
 				(isset($this->mailPreferences['trustServersUnseenInfo']) && // some servers dont serve the UNSEEN information
1300
-				$this->mailPreferences['trustServersUnseenInfo']==false) ||
1300
+				$this->mailPreferences['trustServersUnseenInfo'] == false) ||
1301 1301
 				(isset($this->mailPreferences['trustServersUnseenInfo']) &&
1302
-				$this->mailPreferences['trustServersUnseenInfo']==2 &&
1303
-				$prefix[$this->profileID][$_folderName] != '' && stripos($_folderName,$prefix[$this->profileID][$_folderName]) !== false)
1302
+				$this->mailPreferences['trustServersUnseenInfo'] == 2 &&
1303
+				$prefix[$this->profileID][$_folderName] != '' && stripos($_folderName, $prefix[$this->profileID][$_folderName]) !== false)
1304 1304
 			)
1305 1305
 			{
1306 1306
 				//error_log(__METHOD__." returned folderStatus for Folder $_folderName:".print_r($prefix,true).' TS:'.$this->mailPreferences['trustServersUnseenInfo']);
1307 1307
 				// we filter for the combined status of unseen and undeleted, as this is what we show in list
1308 1308
 				try
1309 1309
 				{
1310
-					$byUid=true;
1311
-					$_reverse=1;
1312
-					$sortResult = $this->getSortedList($_folderName, $_sort=0, $_reverse, array('status'=>array('UNSEEN','UNDELETED')),$byUid,false);
1310
+					$byUid = true;
1311
+					$_reverse = 1;
1312
+					$sortResult = $this->getSortedList($_folderName, $_sort = 0, $_reverse, array('status'=>array('UNSEEN', 'UNDELETED')), $byUid, false);
1313 1313
 					$retValue['unseen'] = $sortResult['count'];
1314 1314
 				}
1315 1315
 				catch (\Exception $ee)
@@ -1320,7 +1320,7 @@  discard block
 block discarded – undo
1320 1320
 		}
1321 1321
 		catch (\Exception $e)
1322 1322
 		{
1323
-			if (self::$debug) error_log(__METHOD__." returned folderStatus for Folder $_folderName:".print_r($e->getMessage(),true));
1323
+			if (self::$debug) error_log(__METHOD__." returned folderStatus for Folder $_folderName:".print_r($e->getMessage(), true));
1324 1324
 		}
1325 1325
 
1326 1326
 		return $retValue;
@@ -1342,7 +1342,7 @@  discard block
 block discarded – undo
1342 1342
 	 * @param mixed $_fetchPreviews = false (boolean/int) fetch part of the body of the messages requested (if integer the number is assumed to be the number of chars to be returned for preview; if set to true 300 chars are returned (when available))
1343 1343
 	 * @return array result as array(header=>array,total=>int,first=>int,last=>int)
1344 1344
 	 */
1345
-	function getHeaders($_folderName, $_startMessage, $_numberOfMessages, $_sort, $_reverse, $_filter, $_thisUIDOnly=null, $_cacheResult=true, $_fetchPreviews=false)
1345
+	function getHeaders($_folderName, $_startMessage, $_numberOfMessages, $_sort, $_reverse, $_filter, $_thisUIDOnly = null, $_cacheResult = true, $_fetchPreviews = false)
1346 1346
 	{
1347 1347
 		//self::$debug=true;
1348 1348
 		if (self::$debug) error_log(__METHOD__.' ('.__LINE__.') '.function_backtrace());
@@ -1355,7 +1355,7 @@  discard block
 block discarded – undo
1355 1355
 		$rByUid = true; // try searching by uid. this var will be passed by reference to getSortedList, and may be set to false, if UID retrieval fails
1356 1356
 		#print "<pre>";
1357 1357
 		#$this->icServer->setDebug(true);
1358
-		$total=0;
1358
+		$total = 0;
1359 1359
 		if ($_thisUIDOnly === null)
1360 1360
 		{
1361 1361
 			if (($_startMessage || $_numberOfMessages) && !isset($_filter['range']))
@@ -1368,24 +1368,24 @@  discard block
 block discarded – undo
1368 1368
 				//$_filter['range'] ="$_startMessage:*";
1369 1369
 			}
1370 1370
 			if (self::$debug) error_log(__METHOD__.' ('.__LINE__.') '."$_folderName, $_sort, $reverse, ".array2string($_filter).", $rByUid");
1371
-			if (self::$debug||self::$debugTimes) $starttime = microtime (true);
1371
+			if (self::$debug || self::$debugTimes) $starttime = microtime(true);
1372 1372
 			//see this example below for a 12 week datefilter (since)
1373 1373
 			//$_filter = array('status'=>array('UNDELETED'),'type'=>"SINCE",'string'=> date("d-M-Y", $starttime-(3600*24*7*12)));
1374 1374
 			$_sortResult = $this->getSortedList($_folderName, $_sort, $reverse, $_filter, $rByUid, $_cacheResult);
1375 1375
 			$sortResult = $_sortResult['match']->ids;
1376 1376
 			//$modseq = $_sortResult['modseq'];
1377 1377
 			//error_log(__METHOD__.' ('.__LINE__.') '.'Modsequence:'.$modseq);
1378
-			if (self::$debug||self::$debugTimes) self::logRunTimes($starttime,null,' call getSortedList for Folder:'.$_folderName.' Filter:'.array2string($_filter).' Ids:'.array2string($_thisUIDOnly),__METHOD__.' ('.__LINE__.') ');
1378
+			if (self::$debug || self::$debugTimes) self::logRunTimes($starttime, null, ' call getSortedList for Folder:'.$_folderName.' Filter:'.array2string($_filter).' Ids:'.array2string($_thisUIDOnly), __METHOD__.' ('.__LINE__.') ');
1379 1379
 
1380 1380
 			if (self::$debug) error_log(__METHOD__.' ('.__LINE__.') '.array2string($sortResult));
1381 1381
 			#$this->icServer->setDebug(false);
1382 1382
 			#print "</pre>";
1383 1383
 			// nothing found
1384
-			if(!is_array($sortResult) || empty($sortResult)) {
1384
+			if (!is_array($sortResult) || empty($sortResult)) {
1385 1385
 				$retValue = array();
1386 1386
 				$retValue['info']['total']	= 0;
1387 1387
 				$retValue['info']['first']	= 0;
1388
-				$retValue['info']['last']	= 0;
1388
+				$retValue['info']['last'] = 0;
1389 1389
 				return $retValue;
1390 1390
 			}
1391 1391
 
@@ -1393,54 +1393,54 @@  discard block
 block discarded – undo
1393 1393
 			#_debug_array($sortResult);
1394 1394
 			#_debug_array(array_slice($sortResult, -5, -2));
1395 1395
 			//error_log("REVERSE: $reverse");
1396
-			if($reverse === true) {
1397
-				if  ($_startMessage<=$total)
1396
+			if ($reverse === true) {
1397
+				if ($_startMessage <= $total)
1398 1398
 				{
1399
-					$startMessage = $_startMessage-1;
1399
+					$startMessage = $_startMessage - 1;
1400 1400
 				}
1401 1401
 				else
1402 1402
 				{
1403 1403
 					//error_log(__METHOD__.' ('.__LINE__.') '.' Start:'.$_startMessage.' NumberOfMessages:'.$_numberOfMessages.' Total:'.$total);
1404
-					if ($_startMessage+$_numberOfMessages>$total)
1404
+					if ($_startMessage + $_numberOfMessages > $total)
1405 1405
 					{
1406
-						$numberOfMessages = $total%$_numberOfMessages;
1406
+						$numberOfMessages = $total % $_numberOfMessages;
1407 1407
 						//$numberOfMessages = abs($_startMessage-$total-1);
1408
-						if ($numberOfMessages>0 && $numberOfMessages<=$_numberOfMessages) $_numberOfMessages = $numberOfMessages;
1408
+						if ($numberOfMessages > 0 && $numberOfMessages <= $_numberOfMessages) $_numberOfMessages = $numberOfMessages;
1409 1409
 						//error_log(__METHOD__.' ('.__LINE__.') '.' Start:'.$_startMessage.' NumberOfMessages:'.$_numberOfMessages.' Total:'.$total);
1410 1410
 					}
1411
-					$startMessage=($total-$_numberOfMessages)-1;
1411
+					$startMessage = ($total - $_numberOfMessages) - 1;
1412 1412
 					//$retValue['info']['first'] = $startMessage;
1413 1413
 					//$retValue['info']['last'] = $total;
1414 1414
 
1415 1415
 				}
1416
-				if ($startMessage+$_numberOfMessages>$total)
1416
+				if ($startMessage + $_numberOfMessages > $total)
1417 1417
 				{
1418
-					$_numberOfMessages = $_numberOfMessages-($total-($startMessage+$_numberOfMessages));
1418
+					$_numberOfMessages = $_numberOfMessages - ($total - ($startMessage + $_numberOfMessages));
1419 1419
 					//$retValue['info']['first'] = $startMessage;
1420 1420
 					//$retValue['info']['last'] = $total;
1421 1421
 				}
1422
-				if($startMessage > 0) {
1423
-					if (self::$debug) error_log(__METHOD__.' ('.__LINE__.') '.' StartMessage:'.(-($_numberOfMessages+$startMessage)).', '.-$startMessage.' Number of Messages:'.count($sortResult));
1424
-					$sortResult = array_slice($sortResult, -($_numberOfMessages+$startMessage), -$startMessage);
1422
+				if ($startMessage > 0) {
1423
+					if (self::$debug) error_log(__METHOD__.' ('.__LINE__.') '.' StartMessage:'.(-($_numberOfMessages + $startMessage)).', '.-$startMessage.' Number of Messages:'.count($sortResult));
1424
+					$sortResult = array_slice($sortResult, -($_numberOfMessages + $startMessage), -$startMessage);
1425 1425
 				} else {
1426
-					if (self::$debug) error_log(__METHOD__.' ('.__LINE__.') '.' StartMessage:'.(-($_numberOfMessages+($_startMessage-1))).', AllTheRest, Number of Messages:'.count($sortResult));
1427
-					$sortResult = array_slice($sortResult, -($_numberOfMessages+($_startMessage-1)));
1426
+					if (self::$debug) error_log(__METHOD__.' ('.__LINE__.') '.' StartMessage:'.(-($_numberOfMessages + ($_startMessage - 1))).', AllTheRest, Number of Messages:'.count($sortResult));
1427
+					$sortResult = array_slice($sortResult, -($_numberOfMessages + ($_startMessage - 1)));
1428 1428
 				}
1429 1429
 				$sortResult = array_reverse($sortResult);
1430 1430
 			} else {
1431
-				if (self::$debug) error_log(__METHOD__.' ('.__LINE__.') '.' StartMessage:'.($_startMessage-1).', '.$_numberOfMessages.' Number of Messages:'.count($sortResult));
1432
-				$sortResult = array_slice($sortResult, $_startMessage-1, $_numberOfMessages);
1431
+				if (self::$debug) error_log(__METHOD__.' ('.__LINE__.') '.' StartMessage:'.($_startMessage - 1).', '.$_numberOfMessages.' Number of Messages:'.count($sortResult));
1432
+				$sortResult = array_slice($sortResult, $_startMessage - 1, $_numberOfMessages);
1433 1433
 			}
1434 1434
 			if (self::$debug) error_log(__METHOD__.' ('.__LINE__.') '.array2string($sortResult));
1435 1435
 		}
1436 1436
 		else
1437 1437
 		{
1438
-			$sortResult = (is_array($_thisUIDOnly) ? $_thisUIDOnly:(array)$_thisUIDOnly);
1438
+			$sortResult = (is_array($_thisUIDOnly) ? $_thisUIDOnly : (array)$_thisUIDOnly);
1439 1439
 		}
1440 1440
 
1441 1441
 
1442 1442
 		// fetch the data for the selected messages
1443
-		if (self::$debug||self::$debugTimes) $starttime = microtime(true);
1443
+		if (self::$debug || self::$debugTimes) $starttime = microtime(true);
1444 1444
 		try
1445 1445
 		{
1446 1446
 			$uidsToFetch = new Horde_Imap_Client_Ids();
@@ -1449,22 +1449,22 @@  discard block
 block discarded – undo
1449 1449
 			$fquery = new Horde_Imap_Client_Fetch_Query();
1450 1450
 
1451 1451
 			// Pre-cache the headers we want, 'fetchHeaders' is a label into the cache
1452
-			$fquery->headers('fetchHeaders',array(
1453
-				'DISPOSITION-NOTIFICATION-TO','RETURN-RECEIPT-TO','X-CONFIRM-READING-TO',
1454
-				'DATE','SUBJECT','FROM','TO','CC','REPLY-TO',
1452
+			$fquery->headers('fetchHeaders', array(
1453
+				'DISPOSITION-NOTIFICATION-TO', 'RETURN-RECEIPT-TO', 'X-CONFIRM-READING-TO',
1454
+				'DATE', 'SUBJECT', 'FROM', 'TO', 'CC', 'REPLY-TO',
1455 1455
 				'X-PRIORITY'
1456
-			),array(
1456
+			), array(
1457 1457
 				// Cache headers, we'll look at them below
1458
-				'cache' => true,//$_cacheResult,
1458
+				'cache' => true, //$_cacheResult,
1459 1459
 				// Set peek so messages are not flagged as read
1460 1460
 				'peek' => true
1461 1461
 			));
1462 1462
 			$fquery->size();
1463 1463
 			$fquery->structure();
1464 1464
 			$fquery->flags();
1465
-			$fquery->imapDate();// needed to ensure getImapDate fetches the internaldate, not the current time
1465
+			$fquery->imapDate(); // needed to ensure getImapDate fetches the internaldate, not the current time
1466 1466
 			// if $_fetchPreviews is activated fetch part of the messages too
1467
-			if ($_fetchPreviews) $fquery->fullText(array('peek'=>true,'length'=>((int)$_fetchPreviews<5000?5000:$_fetchPreviews),'start'=>0));
1467
+			if ($_fetchPreviews) $fquery->fullText(array('peek'=>true, 'length'=>((int)$_fetchPreviews < 5000 ? 5000 : $_fetchPreviews), 'start'=>0));
1468 1468
 			$headersNew = $this->icServer->fetch($_folderName, $fquery, array(
1469 1469
 				'ids' => $uidsToFetch,
1470 1470
 			));
@@ -1475,9 +1475,9 @@  discard block
 block discarded – undo
1475 1475
 			$headersNew = array();
1476 1476
 			$sortResult = array();
1477 1477
 		}
1478
-		if (self::$debug||self::$debugTimes)
1478
+		if (self::$debug || self::$debugTimes)
1479 1479
 		{
1480
-			self::logRunTimes($starttime,null,'HordeFetch: for Folder:'.$_folderName.' Filter:'.array2string($_filter),__METHOD__.' ('.__LINE__.') ');
1480
+			self::logRunTimes($starttime, null, 'HordeFetch: for Folder:'.$_folderName.' Filter:'.array2string($_filter), __METHOD__.' ('.__LINE__.') ');
1481 1481
 			if (self::$debug)
1482 1482
 			{
1483 1483
 				$queryString = implode(',', $sortResult);
@@ -1487,27 +1487,27 @@  discard block
 block discarded – undo
1487 1487
 
1488 1488
 		$cnt = 0;
1489 1489
 
1490
-		foreach((array)$sortResult as $uid) {
1490
+		foreach ((array)$sortResult as $uid) {
1491 1491
 			$sortOrder[$uid] = $cnt++;
1492 1492
 		}
1493 1493
 
1494 1494
 		$count = 0;
1495 1495
 		if (is_object($headersNew)) {
1496
-			if (self::$debug||self::$debugTimes) $starttime = microtime(true);
1497
-			foreach($headersNew->ids() as $id) {
1496
+			if (self::$debug || self::$debugTimes) $starttime = microtime(true);
1497
+			foreach ($headersNew->ids() as $id) {
1498 1498
 				$_headerObject = $headersNew->get($id);
1499 1499
 				//error_log(__METHOD__.' ('.__LINE__.') '.array2string($_headerObject));
1500 1500
 				$headerObject = array();
1501 1501
 				$bodyPreview = null;
1502
-				$uid = $headerObject['UID']= ($_headerObject->getUid()?$_headerObject->getUid():$id);
1502
+				$uid = $headerObject['UID'] = ($_headerObject->getUid() ? $_headerObject->getUid() : $id);
1503 1503
 				$headerObject['MSG_NUM'] = $_headerObject->getSeq();
1504 1504
 				$headerObject['SIZE'] = $_headerObject->getSize();
1505 1505
 				$headerObject['INTERNALDATE'] = $_headerObject->getImapDate();
1506 1506
 
1507 1507
 				// Get already cached headers, 'fetchHeaders' is a label matchimg above
1508
-				$headerForPrio = $_headerObject->getHeaders('fetchHeaders',Horde_Imap_Client_Data_Fetch::HEADER_PARSE)->toArray();
1508
+				$headerForPrio = $_headerObject->getHeaders('fetchHeaders', Horde_Imap_Client_Data_Fetch::HEADER_PARSE)->toArray();
1509 1509
 				// Try to fetch header with key='' as some servers might have no fetchHeaders index. e.g. yandex.com
1510
-				if (empty($headerForPrio)) $headerForPrio = $_headerObject->getHeaders('',Horde_Imap_Client_Data_Fetch::HEADER_PARSE)->toArray();
1510
+				if (empty($headerForPrio)) $headerForPrio = $_headerObject->getHeaders('', Horde_Imap_Client_Data_Fetch::HEADER_PARSE)->toArray();
1511 1511
 				//fetch the fullMsg part if all conditions match to be available in case $_headerObject->getHeaders returns
1512 1512
 				//nothing worthwhile (as it does for googlemail accounts, when preview is switched on
1513 1513
 				if ($_fetchPreviews)
@@ -1515,16 +1515,16 @@  discard block
 block discarded – undo
1515 1515
 					// on enabled preview $bodyPreview is needed lateron. fetched here, for fallback-reasons
1516 1516
 					// in case of failed Header-Retrieval
1517 1517
 					$bodyPreview = $_headerObject->getFullMsg();
1518
-					if (empty($headerForPrio)||(is_array($headerForPrio)&&count($headerForPrio)===1&&$headerForPrio['']))
1518
+					if (empty($headerForPrio) || (is_array($headerForPrio) && count($headerForPrio) === 1 && $headerForPrio['']))
1519 1519
 					{
1520 1520
 						$length = strpos($bodyPreview, Horde_Mime_Part::RFC_EOL.Horde_Mime_Part::RFC_EOL);
1521
-						if ($length===false) $length = strlen($bodyPreview);
1522
-						$headerForPrio =  Horde_Mime_Headers::parseHeaders(substr($bodyPreview, 0,$length))->toArray();
1521
+						if ($length === false) $length = strlen($bodyPreview);
1522
+						$headerForPrio = Horde_Mime_Headers::parseHeaders(substr($bodyPreview, 0, $length))->toArray();
1523 1523
 					}
1524 1524
 				}
1525 1525
 				$headerForPrio = array_change_key_case($headerForPrio, CASE_UPPER);
1526 1526
 				if (self::$debug) {
1527
-					error_log(__METHOD__.' ('.__LINE__.') '.array2string($_headerObject).'UID:'.$_headerObject->getUid().' Size:'.$_headerObject->getSize().' Date:'.$_headerObject->getImapDate().'/'.DateTime::to($_headerObject->getImapDate(),'Y-m-d H:i:s'));
1527
+					error_log(__METHOD__.' ('.__LINE__.') '.array2string($_headerObject).'UID:'.$_headerObject->getUid().' Size:'.$_headerObject->getSize().' Date:'.$_headerObject->getImapDate().'/'.DateTime::to($_headerObject->getImapDate(), 'Y-m-d H:i:s'));
1528 1528
 					error_log(__METHOD__.' ('.__LINE__.') '.array2string($headerForPrio));
1529 1529
 				}
1530 1530
 				// message deleted from server but cache still reporting its existence ; may happen on QRESYNC with No permanent modsequences
@@ -1533,22 +1533,22 @@  discard block
 block discarded – undo
1533 1533
 					$total--;
1534 1534
 					continue;
1535 1535
 				}
1536
-				if ( isset($headerForPrio['DISPOSITION-NOTIFICATION-TO']) ) {
1536
+				if (isset($headerForPrio['DISPOSITION-NOTIFICATION-TO'])) {
1537 1537
 					$headerObject['DISPOSITION-NOTIFICATION-TO'] = self::decode_header(trim($headerForPrio['DISPOSITION-NOTIFICATION-TO']));
1538
-				} else if ( isset($headerForPrio['RETURN-RECEIPT-TO']) ) {
1538
+				} else if (isset($headerForPrio['RETURN-RECEIPT-TO'])) {
1539 1539
 					$headerObject['DISPOSITION-NOTIFICATION-TO'] = self::decode_header(trim($headerForPrio['RETURN-RECEIPT-TO']));
1540
-				} else if ( isset($headerForPrio['X-CONFIRM-READING-TO']) ) {
1540
+				} else if (isset($headerForPrio['X-CONFIRM-READING-TO'])) {
1541 1541
 					$headerObject['DISPOSITION-NOTIFICATION-TO'] = self::decode_header(trim($headerForPrio['X-CONFIRM-READING-TO']));
1542 1542
 				} /*else $sent_not = "";*/
1543 1543
 				//error_log(__METHOD__.' ('.__LINE__.') '.array2string($headerObject));
1544 1544
 				$headerObject['DATE'] = $headerForPrio['DATE'];
1545
-				$headerObject['SUBJECT'] = (is_array($headerForPrio['SUBJECT'])?$headerForPrio['SUBJECT'][0]:$headerForPrio['SUBJECT']);
1546
-				$headerObject['FROM'] = (array)($headerForPrio['FROM']?$headerForPrio['FROM']:($headerForPrio['REPLY-TO']?$headerForPrio['REPLY-TO']:$headerForPrio['RETURN-PATH']));
1545
+				$headerObject['SUBJECT'] = (is_array($headerForPrio['SUBJECT']) ? $headerForPrio['SUBJECT'][0] : $headerForPrio['SUBJECT']);
1546
+				$headerObject['FROM'] = (array)($headerForPrio['FROM'] ? $headerForPrio['FROM'] : ($headerForPrio['REPLY-TO'] ? $headerForPrio['REPLY-TO'] : $headerForPrio['RETURN-PATH']));
1547 1547
 				$headerObject['TO'] = (array)$headerForPrio['TO'];
1548
-				$headerObject['CC'] = isset($headerForPrio['CC'])?(array)$headerForPrio['CC']:array();
1549
-				$headerObject['REPLY-TO'] = isset($headerForPrio['REPLY-TO'])?(array)$headerForPrio['REPLY-TO']:array();
1550
-				$headerObject['PRIORITY'] = isset($headerForPrio['X-PRIORITY'])?$headerForPrio['X-PRIORITY']:null;
1551
-				foreach (array('FROM','TO','CC','REPLY-TO') as $key)
1548
+				$headerObject['CC'] = isset($headerForPrio['CC']) ? (array)$headerForPrio['CC'] : array();
1549
+				$headerObject['REPLY-TO'] = isset($headerForPrio['REPLY-TO']) ? (array)$headerForPrio['REPLY-TO'] : array();
1550
+				$headerObject['PRIORITY'] = isset($headerForPrio['X-PRIORITY']) ? $headerForPrio['X-PRIORITY'] : null;
1551
+				foreach (array('FROM', 'TO', 'CC', 'REPLY-TO') as $key)
1552 1552
 				{
1553 1553
 					$address = array();
1554 1554
 					foreach ($headerObject[$key] as $k => $ad)
@@ -1570,13 +1570,13 @@  discard block
 block discarded – undo
1570 1570
 						foreach ($rfcAddr as $_rfcAddr)
1571 1571
 						{
1572 1572
 							if (!$_rfcAddr->valid)	continue; // skip. not a valid address
1573
-							$address[] = imap_rfc822_write_address($_rfcAddr->mailbox,$_rfcAddr->host,$_rfcAddr->personal);
1573
+							$address[] = imap_rfc822_write_address($_rfcAddr->mailbox, $_rfcAddr->host, $_rfcAddr->personal);
1574 1574
 						}
1575 1575
 					}
1576 1576
 					$headerObject[$key] = $address;
1577 1577
 				}
1578 1578
 				$headerObject['FLAGS'] = $_headerObject->getFlags();
1579
-				$headerObject['BODYPREVIEW']=null;
1579
+				$headerObject['BODYPREVIEW'] = null;
1580 1580
 				// this section fetches part of the message-body (if enabled) for some kind of preview
1581 1581
 				// if we fail to succeed, we fall back to the retrieval of the message-body with
1582 1582
 				// fetchPartContents (see below, when we iterate over the structure to determine the
@@ -1588,17 +1588,17 @@  discard block
 block discarded – undo
1588 1588
 					if (empty($bodyPreview)) $bodyPreview = $_headerObject->getFullMsg();
1589 1589
 					//error_log(__METHOD__.' ('.__LINE__.') '.array2string($bodyPreview));
1590 1590
 					$base = Horde_Mime_Part::parseMessage($bodyPreview);
1591
-					foreach($base->partIterator() as $part)
1591
+					foreach ($base->partIterator() as $part)
1592 1592
 					{
1593 1593
 						//error_log(__METHOD__.__LINE__.'Part:'.$part->getPrimaryType());
1594
-						if (empty($headerObject['BODYPREVIEW'])&&$part->getPrimaryType()== 'text')
1594
+						if (empty($headerObject['BODYPREVIEW']) && $part->getPrimaryType() == 'text')
1595 1595
 						{
1596 1596
 							$charset = $part->getContentTypeParameter('charset');
1597 1597
 							$buffer = Mail\Html::convertHTMLToText($part->toString(array(
1598
-												'encode' => Horde_Mime_Part::ENCODE_BINARY,	// otherwise we cant recode charset
1598
+												'encode' => Horde_Mime_Part::ENCODE_BINARY, // otherwise we cant recode charset
1599 1599
 											)), $charset, 'utf-8');
1600
-							$headerObject['BODYPREVIEW']=trim(str_replace(array("\r\n","\r","\n"),' ',mb_substr(Translation::convert_jsonsafe($buffer),0,((int)$_fetchPreviews<300?300:$_fetchPreviews))));
1601
-						} elseif (empty($headerObject['BODYPREVIEW'])&&$part->getPrimaryType()== 'multipart')
1600
+							$headerObject['BODYPREVIEW'] = trim(str_replace(array("\r\n", "\r", "\n"), ' ', mb_substr(Translation::convert_jsonsafe($buffer), 0, ((int)$_fetchPreviews < 300 ? 300 : $_fetchPreviews))));
1601
+						} elseif (empty($headerObject['BODYPREVIEW']) && $part->getPrimaryType() == 'multipart')
1602 1602
 						{
1603 1603
 							//error_log(__METHOD__.' ('.__LINE__.') '.array2string($part));
1604 1604
 						}
@@ -1609,12 +1609,12 @@  discard block
 block discarded – undo
1609 1609
 				//error_log(__METHOD__.' ('.__LINE__.') '.array2string($headerObject));
1610 1610
 				//error_log(__METHOD__.' ('.__LINE__.') '.' MimeMap:'.array2string($mailStructureObject->contentTypeMap()));
1611 1611
 				//foreach ($_headerObject->getStructure()->getParts() as $p => $part)
1612
-				$headerObject['ATTACHMENTS']=null;
1613
-				$skipParts=array();
1614
-				$messageMimeType='';
1612
+				$headerObject['ATTACHMENTS'] = null;
1613
+				$skipParts = array();
1614
+				$messageMimeType = '';
1615 1615
 				foreach ($mailStructureObject->contentTypeMap() as $mime_id => $mime_type)
1616 1616
 				{
1617
-					if ($mime_id==0 || $messageMimeType==='') $messageMimeType = $mime_type;
1617
+					if ($mime_id == 0 || $messageMimeType === '') $messageMimeType = $mime_type;
1618 1618
 					$part = $mailStructureObject->getPart($mime_id);
1619 1619
 					$partdisposition = $part->getDisposition();
1620 1620
 					$partPrimaryType = $part->getPrimaryType();
@@ -1622,16 +1622,16 @@  discard block
 block discarded – undo
1622 1622
 					// drawback here it is talking to the mailserver for each mail thus consuming
1623 1623
 					// more time than expected; so we call this section only when there is no
1624 1624
 					// bodypreview could be found (multipart/....)
1625
-					if ($_fetchPreviews && empty($headerObject['BODYPREVIEW'])&&($partPrimaryType == 'text') &&
1625
+					if ($_fetchPreviews && empty($headerObject['BODYPREVIEW']) && ($partPrimaryType == 'text') &&
1626 1626
 						((intval($mime_id) === 1) || !$mime_id) &&
1627 1627
 						($partdisposition !== 'attachment')) {
1628
-							$_structure=$part;
1629
-							$this->fetchPartContents($uid, $_structure, false,true);
1630
-							$headerObject['BODYPREVIEW']=trim(str_replace(array("\r\n","\r","\n"),' ',mb_substr(Mail\Html::convertHTMLToText($_structure->getContents()),0,((int)$_fetchPreviews<300?300:$_fetchPreviews))));
1631
-							$charSet=Translation::detect_encoding($headerObject['BODYPREVIEW']);
1628
+							$_structure = $part;
1629
+							$this->fetchPartContents($uid, $_structure, false, true);
1630
+							$headerObject['BODYPREVIEW'] = trim(str_replace(array("\r\n", "\r", "\n"), ' ', mb_substr(Mail\Html::convertHTMLToText($_structure->getContents()), 0, ((int)$_fetchPreviews < 300 ? 300 : $_fetchPreviews))));
1631
+							$charSet = Translation::detect_encoding($headerObject['BODYPREVIEW']);
1632 1632
 							// add line breaks to $bodyParts
1633 1633
 							//error_log(__METHOD__.' ('.__LINE__.') '.' Charset:'.$bodyParts[$i]['charSet'].'->'.$bodyParts[$i]['body']);
1634
-							$headerObject['BODYPREVIEW']  = Translation::convert_jsonsafe($headerObject['BODYPREVIEW'], $charSet);
1634
+							$headerObject['BODYPREVIEW'] = Translation::convert_jsonsafe($headerObject['BODYPREVIEW'], $charSet);
1635 1635
 							//error_log(__METHOD__.__LINE__.$headerObject['BODYPREVIEW']);
1636 1636
 					}
1637 1637
 					//error_log(__METHOD__.' ('.__LINE__.') '.' Uid:'.$uid.'->'.$mime_id.' Disp:'.$partdisposition.' Type:'.$partPrimaryType);
@@ -1641,28 +1641,28 @@  discard block
 block discarded – undo
1641 1641
 						// the presence of an cid does not necessarily indicate its inline. it may lack the needed
1642 1642
 						// link to show the image. Considering this: we "list" everything that matches the above criteria
1643 1643
 						// as attachment in order to not loose/miss information on our data
1644
-						$partdisposition='attachment';//($partPrimaryType == 'image'&&!empty($cid)?'inline':'attachment');
1644
+						$partdisposition = 'attachment'; //($partPrimaryType == 'image'&&!empty($cid)?'inline':'attachment');
1645 1645
 					}
1646
-					if ($mime_type=='message/rfc822')
1646
+					if ($mime_type == 'message/rfc822')
1647 1647
 					{
1648 1648
 						//error_log(__METHOD__.' ('.__LINE__.') '.' Uid:'.$uid.'->'.$mime_id.':'.array2string($part->contentTypeMap()));
1649
-						foreach($part->contentTypeMap() as $sub_id => $sub_type) { if ($sub_id != $mime_id) $skipParts[$sub_id] = $sub_type;}
1649
+						foreach ($part->contentTypeMap() as $sub_id => $sub_type) { if ($sub_id != $mime_id) $skipParts[$sub_id] = $sub_type; }
1650 1650
 					}
1651 1651
 					//error_log(__METHOD__.' ('.__LINE__.') '.' Uid:'.$uid.'->'.$mime_id.' Disp:'.$partdisposition.' Type:'.$partPrimaryType.' Skip:'.array2string($skipParts));
1652
-					if (array_key_exists($mime_id,$skipParts)) continue;
1653
-					if ($partdisposition=='attachment' ||
1654
-						($partdisposition=='inline'&&$partPrimaryType == 'image'&&$mime_type=='image/tiff') || // as we are not able to display tiffs
1655
-						($partdisposition=='inline'&&$partPrimaryType == 'image'&&empty($cid)) ||
1656
-						($partdisposition=='inline' && $partPrimaryType != 'image' && $partPrimaryType != 'multipart' && $partPrimaryType != 'text'))
1652
+					if (array_key_exists($mime_id, $skipParts)) continue;
1653
+					if ($partdisposition == 'attachment' ||
1654
+						($partdisposition == 'inline' && $partPrimaryType == 'image' && $mime_type == 'image/tiff') || // as we are not able to display tiffs
1655
+						($partdisposition == 'inline' && $partPrimaryType == 'image' && empty($cid)) ||
1656
+						($partdisposition == 'inline' && $partPrimaryType != 'image' && $partPrimaryType != 'multipart' && $partPrimaryType != 'text'))
1657 1657
 					{
1658
-						$headerObject['ATTACHMENTS'][$mime_id]=$part->getAllDispositionParameters();
1659
-						$headerObject['ATTACHMENTS'][$mime_id]['mimeType']=$mime_type;
1660
-						$headerObject['ATTACHMENTS'][$mime_id]['uid']=$uid;
1658
+						$headerObject['ATTACHMENTS'][$mime_id] = $part->getAllDispositionParameters();
1659
+						$headerObject['ATTACHMENTS'][$mime_id]['mimeType'] = $mime_type;
1660
+						$headerObject['ATTACHMENTS'][$mime_id]['uid'] = $uid;
1661 1661
 						$headerObject['ATTACHMENTS'][$mime_id]['cid'] = $cid;
1662
-						$headerObject['ATTACHMENTS'][$mime_id]['partID']=$mime_id;
1663
-						if (!isset($headerObject['ATTACHMENTS'][$mime_id]['name']))$headerObject['ATTACHMENTS'][$mime_id]['name']=$part->getName();
1664
-						if (!strcasecmp($headerObject['ATTACHMENTS'][$mime_id]['name'],'winmail.dat') ||
1665
-							$headerObject['ATTACHMENTS'][$mime_id]['mimeType']=='application/ms-tnef')
1662
+						$headerObject['ATTACHMENTS'][$mime_id]['partID'] = $mime_id;
1663
+						if (!isset($headerObject['ATTACHMENTS'][$mime_id]['name']))$headerObject['ATTACHMENTS'][$mime_id]['name'] = $part->getName();
1664
+						if (!strcasecmp($headerObject['ATTACHMENTS'][$mime_id]['name'], 'winmail.dat') ||
1665
+							$headerObject['ATTACHMENTS'][$mime_id]['mimeType'] == 'application/ms-tnef')
1666 1666
 						{
1667 1667
 							$headerObject['ATTACHMENTS'][$mime_id]['is_winmail'] = true;
1668 1668
 						}
@@ -1677,57 +1677,57 @@  discard block
 block discarded – undo
1677 1677
 				if (empty($headerObject['UID'])) continue;
1678 1678
 				//$uid = ($rByUid ? $headerObject['UID'] : $headerObject['MSG_NUM']);
1679 1679
 				// make dates like "Mon, 23 Apr 2007 10:11:06 UT" working with strtotime
1680
-				if(substr($headerObject['DATE'],-2) === 'UT') {
1680
+				if (substr($headerObject['DATE'], -2) === 'UT') {
1681 1681
 					$headerObject['DATE'] .= 'C';
1682 1682
 				}
1683
-				if(substr($headerObject['INTERNALDATE'],-2) === 'UT') {
1683
+				if (substr($headerObject['INTERNALDATE'], -2) === 'UT') {
1684 1684
 					$headerObject['INTERNALDATE'] .= 'C';
1685 1685
 				}
1686 1686
 				//error_log(__METHOD__.' ('.__LINE__.') '.' '.$headerObject['SUBJECT'].'->'.$headerObject['DATE'].'<->'.$headerObject['INTERNALDATE'] .'#');
1687 1687
 				//error_log(__METHOD__.' ('.__LINE__.') '.' '.$this->decode_subject($headerObject['SUBJECT']).'->'.$headerObject['DATE']);
1688
-				if (isset($headerObject['ATTACHMENTS']) && count($headerObject['ATTACHMENTS'])) foreach ($headerObject['ATTACHMENTS'] as &$a) { $retValue['header'][$sortOrder[$uid]]['attachments'][]=$a;}
1689
-				$retValue['header'][$sortOrder[$uid]]['subject']	= $this->decode_subject($headerObject['SUBJECT']);
1690
-				$retValue['header'][$sortOrder[$uid]]['size'] 		= $headerObject['SIZE'];
1691
-				$retValue['header'][$sortOrder[$uid]]['date']		= self::_strtotime(($headerObject['DATE']&&!($headerObject['DATE']=='NIL')?$headerObject['DATE']:$headerObject['INTERNALDATE']),'ts',true);
1692
-				$retValue['header'][$sortOrder[$uid]]['internaldate']= self::_strtotime($headerObject['INTERNALDATE'],'ts',true);
1693
-				$retValue['header'][$sortOrder[$uid]]['mimetype']	= $messageMimeType;
1694
-				$retValue['header'][$sortOrder[$uid]]['id']		= $headerObject['MSG_NUM'];
1695
-				$retValue['header'][$sortOrder[$uid]]['uid']		= $headerObject['UID'];
1696
-				$retValue['header'][$sortOrder[$uid]]['bodypreview']		= $headerObject['BODYPREVIEW'];
1697
-				$retValue['header'][$sortOrder[$uid]]['priority']		= ($headerObject['PRIORITY']?$headerObject['PRIORITY']:3);
1688
+				if (isset($headerObject['ATTACHMENTS']) && count($headerObject['ATTACHMENTS'])) foreach ($headerObject['ATTACHMENTS'] as &$a) { $retValue['header'][$sortOrder[$uid]]['attachments'][] = $a; }
1689
+				$retValue['header'][$sortOrder[$uid]]['subject'] = $this->decode_subject($headerObject['SUBJECT']);
1690
+				$retValue['header'][$sortOrder[$uid]]['size'] = $headerObject['SIZE'];
1691
+				$retValue['header'][$sortOrder[$uid]]['date'] = self::_strtotime(($headerObject['DATE'] && !($headerObject['DATE'] == 'NIL') ? $headerObject['DATE'] : $headerObject['INTERNALDATE']), 'ts', true);
1692
+				$retValue['header'][$sortOrder[$uid]]['internaldate'] = self::_strtotime($headerObject['INTERNALDATE'], 'ts', true);
1693
+				$retValue['header'][$sortOrder[$uid]]['mimetype'] = $messageMimeType;
1694
+				$retValue['header'][$sortOrder[$uid]]['id'] = $headerObject['MSG_NUM'];
1695
+				$retValue['header'][$sortOrder[$uid]]['uid'] = $headerObject['UID'];
1696
+				$retValue['header'][$sortOrder[$uid]]['bodypreview'] = $headerObject['BODYPREVIEW'];
1697
+				$retValue['header'][$sortOrder[$uid]]['priority'] = ($headerObject['PRIORITY'] ? $headerObject['PRIORITY'] : 3);
1698 1698
 				//error_log(__METHOD__.' ('.__LINE__.') '.' '.array2string($retValue['header'][$sortOrder[$uid]]));
1699 1699
 				if (isset($headerObject['DISPOSITION-NOTIFICATION-TO'])) $retValue['header'][$sortOrder[$uid]]['disposition-notification-to'] = $headerObject['DISPOSITION-NOTIFICATION-TO'];
1700 1700
 				if (is_array($headerObject['FLAGS'])) {
1701
-					$retValue['header'][$sortOrder[$uid]] = array_merge($retValue['header'][$sortOrder[$uid]],self::prepareFlagsArray($headerObject));
1701
+					$retValue['header'][$sortOrder[$uid]] = array_merge($retValue['header'][$sortOrder[$uid]], self::prepareFlagsArray($headerObject));
1702 1702
 				}
1703 1703
 				//error_log(__METHOD__.' ('.__LINE__.') '.$headerObject['SUBJECT'].'->'.array2string($_headerObject->getEnvelope()->__get('from')));
1704
-				if(is_array($headerObject['FROM']) && $headerObject['FROM'][0]) {
1705
-					$retValue['header'][$sortOrder[$uid]]['sender_address'] = self::decode_header($headerObject['FROM'][0],true);
1704
+				if (is_array($headerObject['FROM']) && $headerObject['FROM'][0]) {
1705
+					$retValue['header'][$sortOrder[$uid]]['sender_address'] = self::decode_header($headerObject['FROM'][0], true);
1706 1706
 				}
1707
-				if(is_array($headerObject['REPLY-TO']) && $headerObject['REPLY-TO'][0]) {
1708
-					$retValue['header'][$sortOrder[$uid]]['reply_to_address'] = self::decode_header($headerObject['REPLY-TO'][0],true);
1707
+				if (is_array($headerObject['REPLY-TO']) && $headerObject['REPLY-TO'][0]) {
1708
+					$retValue['header'][$sortOrder[$uid]]['reply_to_address'] = self::decode_header($headerObject['REPLY-TO'][0], true);
1709 1709
 				}
1710
-				if(is_array($headerObject['TO']) && $headerObject['TO'][0]) {
1711
-					$retValue['header'][$sortOrder[$uid]]['to_address'] = self::decode_header($headerObject['TO'][0],true);
1712
-					if (count($headerObject['TO'])>1)
1710
+				if (is_array($headerObject['TO']) && $headerObject['TO'][0]) {
1711
+					$retValue['header'][$sortOrder[$uid]]['to_address'] = self::decode_header($headerObject['TO'][0], true);
1712
+					if (count($headerObject['TO']) > 1)
1713 1713
 					{
1714
-						$ki=0;
1715
-						foreach($headerObject['TO'] as $k => $add)
1714
+						$ki = 0;
1715
+						foreach ($headerObject['TO'] as $k => $add)
1716 1716
 						{
1717
-							if ($k==0) continue;
1717
+							if ($k == 0) continue;
1718 1718
 							//error_log(__METHOD__.' ('.__LINE__.') '."-> $k:".array2string($add));
1719
-							$retValue['header'][$sortOrder[$uid]]['additional_to_addresses'][$ki] = self::decode_header($add,true);
1719
+							$retValue['header'][$sortOrder[$uid]]['additional_to_addresses'][$ki] = self::decode_header($add, true);
1720 1720
 							//error_log(__METHOD__.' ('.__LINE__.') '.array2string($retValue['header'][$sortOrder[$uid]]['additional_to_addresses'][$ki]));
1721 1721
 							$ki++;
1722 1722
 						}
1723 1723
 					}
1724 1724
 				}
1725
-				if(is_array($headerObject['CC']) && count($headerObject['CC'])>0) {
1726
-					$ki=0;
1727
-					foreach($headerObject['CC'] as $k => $add)
1725
+				if (is_array($headerObject['CC']) && count($headerObject['CC']) > 0) {
1726
+					$ki = 0;
1727
+					foreach ($headerObject['CC'] as $k => $add)
1728 1728
 					{
1729 1729
 						//error_log(__METHOD__.' ('.__LINE__.') '."-> $k:".array2string($add));
1730
-						$retValue['header'][$sortOrder[$uid]]['cc_addresses'][$ki] = self::decode_header($add,true);
1730
+						$retValue['header'][$sortOrder[$uid]]['cc_addresses'][$ki] = self::decode_header($add, true);
1731 1731
 						//error_log(__METHOD__.' ('.__LINE__.') '.array2string($retValue['header'][$sortOrder[$uid]]['additional_to_addresses'][$ki]));
1732 1732
 						$ki++;
1733 1733
 					}
@@ -1736,27 +1736,27 @@  discard block
 block discarded – undo
1736 1736
 
1737 1737
 				$count++;
1738 1738
 			}
1739
-			if (self::$debug||self::$debugTimes) self::logRunTimes($starttime,null,' fetching Headers and stuff for Folder:'.$_folderName,__METHOD__.' ('.__LINE__.') ');
1739
+			if (self::$debug || self::$debugTimes) self::logRunTimes($starttime, null, ' fetching Headers and stuff for Folder:'.$_folderName, __METHOD__.' ('.__LINE__.') ');
1740 1740
 			//self::$debug=false;
1741 1741
 			// sort the messages to the requested displayorder
1742
-			if(is_array($retValue['header'])) {
1742
+			if (is_array($retValue['header'])) {
1743 1743
 				$countMessages = $total;
1744 1744
 				if (isset($_filter['range'])) $countMessages = self::$folderStatusCache[$this->profileID][$_folderName]['messages'];
1745 1745
 				ksort($retValue['header']);
1746 1746
 				$retValue['info']['total']	= $total;
1747 1747
 				//if ($_startMessage>$total) $_startMessage = $total-($count-1);
1748 1748
 				$retValue['info']['first']	= $_startMessage;
1749
-				$retValue['info']['last']	= $_startMessage + $count - 1 ;
1749
+				$retValue['info']['last'] = $_startMessage + $count - 1;
1750 1750
 				return $retValue;
1751 1751
 			} else {
1752 1752
 				$retValue = array();
1753 1753
 				$retValue['info']['total']	= 0;
1754 1754
 				$retValue['info']['first']	= 0;
1755
-				$retValue['info']['last']	= 0;
1755
+				$retValue['info']['last'] = 0;
1756 1756
 				return $retValue;
1757 1757
 			}
1758 1758
 		} else {
1759
-			if ($headersNew == null && empty($_thisUIDOnly)) error_log(__METHOD__." -> retrieval of Message Details to Query $queryString failed: ".print_r($headersNew,TRUE));
1759
+			if ($headersNew == null && empty($_thisUIDOnly)) error_log(__METHOD__." -> retrieval of Message Details to Query $queryString failed: ".print_r($headersNew, TRUE));
1760 1760
 			$retValue = array();
1761 1761
 			$retValue['info']['total']  = 0;
1762 1762
 			$retValue['info']['first']  = 0;
@@ -1773,17 +1773,17 @@  discard block
 block discarded – undo
1773 1773
 	 */
1774 1774
 	static function prepareFlagsArray($headerObject)
1775 1775
 	{
1776
-		if (is_array($headerObject['FLAGS'])) $headerFlags = array_map('strtolower',$headerObject['FLAGS']);
1776
+		if (is_array($headerObject['FLAGS'])) $headerFlags = array_map('strtolower', $headerObject['FLAGS']);
1777 1777
 		$retValue = array();
1778 1778
 		$retValue['recent']		= in_array('\\recent', $headerFlags);
1779 1779
 		$retValue['flagged']	= in_array('\\flagged', $headerFlags);
1780
-		$retValue['answered']	= in_array('\\answered', $headerFlags);
1781
-		$retValue['forwarded']   = in_array('$forwarded', $headerFlags);
1780
+		$retValue['answered'] = in_array('\\answered', $headerFlags);
1781
+		$retValue['forwarded'] = in_array('$forwarded', $headerFlags);
1782 1782
 		$retValue['deleted']	= in_array('\\deleted', $headerFlags);
1783
-		$retValue['seen']		= in_array('\\seen', $headerFlags);
1784
-		$retValue['draft']		= in_array('\\draft', $headerFlags);
1785
-		$retValue['mdnsent']	= in_array('$mdnsent', $headerFlags)||in_array('mdnsent', $headerFlags);
1786
-		$retValue['mdnnotsent']	= in_array('$mdnnotsent', $headerFlags)||in_array('mdnnotsent', $headerFlags);
1783
+		$retValue['seen'] = in_array('\\seen', $headerFlags);
1784
+		$retValue['draft'] = in_array('\\draft', $headerFlags);
1785
+		$retValue['mdnsent']	= in_array('$mdnsent', $headerFlags) || in_array('mdnsent', $headerFlags);
1786
+		$retValue['mdnnotsent'] = in_array('$mdnnotsent', $headerFlags) || in_array('mdnnotsent', $headerFlags);
1787 1787
 		$retValue['label1']   = in_array('$label1', $headerFlags);
1788 1788
 		$retValue['label2']   = in_array('$label2', $headerFlags);
1789 1789
 		$retValue['label3']   = in_array('$label3', $headerFlags);
@@ -1807,12 +1807,12 @@  discard block
 block discarded – undo
1807 1807
 	 * @param bool $setSession if set to true the session will be populated with the result of the query
1808 1808
 	 * @return mixed bool/array false or array of ids
1809 1809
 	 */
1810
-	function getSortedList($_folderName, $_sort, &$_reverse, $_filter, &$resultByUid=true, $setSession=true)
1810
+	function getSortedList($_folderName, $_sort, &$_reverse, $_filter, &$resultByUid = true, $setSession = true)
1811 1811
 	{
1812 1812
 		static $cachedFolderStatus = null;
1813 1813
 		// in the past we needed examineMailbox to figure out if the server with the serverID support keywords
1814 1814
 		// this information is filled/provided by examineMailbox; but caching within one request seems o.k.
1815
-		if (is_null($cachedFolderStatus) || !isset($cachedFolderStatus[$this->profileID][$_folderName]) )
1815
+		if (is_null($cachedFolderStatus) || !isset($cachedFolderStatus[$this->profileID][$_folderName]))
1816 1816
 		{
1817 1817
 			$folderStatus = $cachedFolderStatus[$this->profileID][$_folderName] = $this->icServer->examineMailbox($_folderName);
1818 1818
 		}
@@ -1824,29 +1824,29 @@  discard block
 block discarded – undo
1824 1824
 		//error_log(__METHOD__.' ('.__LINE__.') '.' Filter:'.array2string($_filter));
1825 1825
 		$try2useCache = true;
1826 1826
 		static $eMailListContainsDeletedMessages = null;
1827
-		if (is_null($eMailListContainsDeletedMessages)) $eMailListContainsDeletedMessages = Cache::getCache(Cache::INSTANCE,'email','eMailListContainsDeletedMessages'.trim($GLOBALS['egw_info']['user']['account_id']),null,array(),60*60*1);
1827
+		if (is_null($eMailListContainsDeletedMessages)) $eMailListContainsDeletedMessages = Cache::getCache(Cache::INSTANCE, 'email', 'eMailListContainsDeletedMessages'.trim($GLOBALS['egw_info']['user']['account_id']), null, array(), 60 * 60 * 1);
1828 1828
 		// this indicates, that there is no Filter set, and the returned set/subset should not contain DELETED Messages, nor filtered for UNDELETED
1829
-		if ($setSession==true && ((strpos(array2string($_filter), 'UNDELETED') === false && strpos(array2string($_filter), 'DELETED') === false)))
1829
+		if ($setSession == true && ((strpos(array2string($_filter), 'UNDELETED') === false && strpos(array2string($_filter), 'DELETED') === false)))
1830 1830
 		{
1831 1831
 			if (self::$debugTimes) $starttime = microtime(true);
1832
-			if (is_null($eMailListContainsDeletedMessages) || empty($eMailListContainsDeletedMessages[$this->profileID]) || empty($eMailListContainsDeletedMessages[$this->profileID][$_folderName])) $eMailListContainsDeletedMessages = Cache::getCache(Cache::INSTANCE,'email','eMailListContainsDeletedMessages'.trim($GLOBALS['egw_info']['user']['account_id']),null,array(),60*60*1);
1833
-			$five=true;
1834
-			$dReverse=1;
1835
-			$deletedMessages = $this->getSortedList($_folderName, 0, $dReverse, array('status'=>array('DELETED')),$five,false);
1832
+			if (is_null($eMailListContainsDeletedMessages) || empty($eMailListContainsDeletedMessages[$this->profileID]) || empty($eMailListContainsDeletedMessages[$this->profileID][$_folderName])) $eMailListContainsDeletedMessages = Cache::getCache(Cache::INSTANCE, 'email', 'eMailListContainsDeletedMessages'.trim($GLOBALS['egw_info']['user']['account_id']), null, array(), 60 * 60 * 1);
1833
+			$five = true;
1834
+			$dReverse = 1;
1835
+			$deletedMessages = $this->getSortedList($_folderName, 0, $dReverse, array('status'=>array('DELETED')), $five, false);
1836 1836
 			if (self::$debug) error_log(__METHOD__.' ('.__LINE__.') Found DeletedMessages:'.array2string($eMailListContainsDeletedMessages));
1837
-			$eMailListContainsDeletedMessages[$this->profileID][$_folderName] =$deletedMessages['count'];
1838
-			Cache::setCache(Cache::INSTANCE,'email','eMailListContainsDeletedMessages'.trim($GLOBALS['egw_info']['user']['account_id']),$eMailListContainsDeletedMessages, 60*60*1);
1839
-			if (self::$debugTimes) self::logRunTimes($starttime,null,'setting eMailListContainsDeletedMessages for Profile:'.$this->profileID.' Folder:'.$_folderName.' to '.$eMailListContainsDeletedMessages[$this->profileID][$_folderName],__METHOD__.' ('.__LINE__.') ');			//error_log(__METHOD__.' ('.__LINE__.') '.' Profile:'.$this->profileID.' Folder:'.$_folderName.' -> EXISTS/SessStat:'.array2string($folderStatus['MESSAGES']).'/'.self::$folderStatusCache[$this->profileID][$_folderName]['messages'].' ListContDelMsg/SessDeleted:'.$eMailListContainsDeletedMessages[$this->profileID][$_folderName].'/'.self::$folderStatusCache[$this->profileID][$_folderName]['deleted']);
1837
+			$eMailListContainsDeletedMessages[$this->profileID][$_folderName] = $deletedMessages['count'];
1838
+			Cache::setCache(Cache::INSTANCE, 'email', 'eMailListContainsDeletedMessages'.trim($GLOBALS['egw_info']['user']['account_id']), $eMailListContainsDeletedMessages, 60 * 60 * 1);
1839
+			if (self::$debugTimes) self::logRunTimes($starttime, null, 'setting eMailListContainsDeletedMessages for Profile:'.$this->profileID.' Folder:'.$_folderName.' to '.$eMailListContainsDeletedMessages[$this->profileID][$_folderName], __METHOD__.' ('.__LINE__.') '); //error_log(__METHOD__.' ('.__LINE__.') '.' Profile:'.$this->profileID.' Folder:'.$_folderName.' -> EXISTS/SessStat:'.array2string($folderStatus['MESSAGES']).'/'.self::$folderStatusCache[$this->profileID][$_folderName]['messages'].' ListContDelMsg/SessDeleted:'.$eMailListContainsDeletedMessages[$this->profileID][$_folderName].'/'.self::$folderStatusCache[$this->profileID][$_folderName]['deleted']);
1840 1840
 		}
1841 1841
 		$try2useCache = false;
1842 1842
 		//self::$supportsORinQuery[$this->profileID]=true;
1843 1843
 		if (is_null(self::$supportsORinQuery) || !isset(self::$supportsORinQuery[$this->profileID]))
1844 1844
 		{
1845
-			self::$supportsORinQuery = Cache::getCache(Cache::INSTANCE,'email','supportsORinQuery'.trim($GLOBALS['egw_info']['user']['account_id']),null,array(),60*60*10);
1846
-			if (!isset(self::$supportsORinQuery[$this->profileID])) self::$supportsORinQuery[$this->profileID]=true;
1845
+			self::$supportsORinQuery = Cache::getCache(Cache::INSTANCE, 'email', 'supportsORinQuery'.trim($GLOBALS['egw_info']['user']['account_id']), null, array(), 60 * 60 * 10);
1846
+			if (!isset(self::$supportsORinQuery[$this->profileID])) self::$supportsORinQuery[$this->profileID] = true;
1847 1847
 		}
1848 1848
 		//error_log(__METHOD__.' ('.__LINE__.') '.array2string($_filter).' SupportsOrInQuery:'.self::$supportsORinQuery[$this->profileID]);
1849
-		$filter = $this->createIMAPFilter($_folderName, $_filter,self::$supportsORinQuery[$this->profileID]);
1849
+		$filter = $this->createIMAPFilter($_folderName, $_filter, self::$supportsORinQuery[$this->profileID]);
1850 1850
 		if (self::$debug)
1851 1851
 		{
1852 1852
 			$query_str = $filter->build();
@@ -1854,14 +1854,14 @@  discard block
 block discarded – undo
1854 1854
 		}
1855 1855
 		//_debug_array($filter);
1856 1856
 		//error_log(__METHOD__.' ('.__LINE__.') '.array2string($filter).'#'.array2string($this->icServer->capability()));
1857
-		if($this->icServer->hasCapability('SORT')) {
1857
+		if ($this->icServer->hasCapability('SORT')) {
1858 1858
 			// when using an orQuery and we sort by date. sort seems to fail on certain servers => ZIMBRA with Horde_Imap_Client
1859 1859
 			// thus we translate the search request from date to Horde_Imap_Client::SORT_SEQUENCE (which should be the same, if
1860 1860
 			// there is no messing with the dates)
1861 1861
 			//if (self::$supportsORinQuery[$this->profileID]&&$_sort=='date'&&$_filter['type']=='quick'&&!empty($_filter['string']))$_sort='INTERNALDATE';
1862 1862
 			if (self::$debug) error_log(__METHOD__." Mailserver has SORT Capability, SortBy: ".array2string($_sort)." Reverse: $_reverse");
1863 1863
 			$sortOrder = $this->_getSortString($_sort, $_reverse);
1864
-			if ($_reverse && in_array(Horde_Imap_Client::SORT_REVERSE,$sortOrder)) $_reverse=false; // as we reversed the result already
1864
+			if ($_reverse && in_array(Horde_Imap_Client::SORT_REVERSE, $sortOrder)) $_reverse = false; // as we reversed the result already
1865 1865
 			if (self::$debug) error_log(__METHOD__." Mailserver runs SORT: SortBy:".array2string($_sort)."->".array2string($sortOrder)." Filter: ".array2string($filter));
1866 1866
 			try
1867 1867
 			{
@@ -1869,24 +1869,24 @@  discard block
 block discarded – undo
1869 1869
 					'sort' => $sortOrder,));
1870 1870
 			// if there is an Error, we assume that the server is not capable of sorting
1871 1871
 			}
1872
-			catch(\Exception $e)
1872
+			catch (\Exception $e)
1873 1873
 			{
1874 1874
 				//error_log(__METHOD__.'('.__LINE__.'):'.$e->getMessage());
1875 1875
 				$resultByUid = false;
1876 1876
 				$sortOrder = array(Horde_Imap_Client::SORT_SEQUENCE);
1877
-				if ($_reverse) array_unshift($sortOrder,Horde_Imap_Client::SORT_REVERSE);
1877
+				if ($_reverse) array_unshift($sortOrder, Horde_Imap_Client::SORT_REVERSE);
1878 1878
 				try
1879 1879
 				{
1880 1880
 					$sortResult = $this->icServer->search($_folderName, $filter, array(
1881 1881
 						'sort' => $sortOrder));
1882 1882
 				}
1883
-				catch(\Exception $e)
1883
+				catch (\Exception $e)
1884 1884
 				{
1885 1885
 					error_log(__METHOD__.'('.__LINE__.'):'.$e->getMessage());
1886 1886
 					$sortResult = self::$folderStatusCache[$this->profileID][$_folderName]['sortResult'];
1887 1887
 				}
1888 1888
 			}
1889
-			if (self::$debug) error_log(__METHOD__.print_r($sortResult,true));
1889
+			if (self::$debug) error_log(__METHOD__.print_r($sortResult, true));
1890 1890
 		} else {
1891 1891
 			if (self::$debug) error_log(__METHOD__." Mailserver has NO SORT Capability");
1892 1892
 			//$sortOrder = array(Horde_Imap_Client::SORT_SEQUENCE);
@@ -1896,12 +1896,12 @@  discard block
 block discarded – undo
1896 1896
 				$sortResult = $this->icServer->search($_folderName, $filter, array()/*array(
1897 1897
 					'sort' => $sortOrder)*/);
1898 1898
 			}
1899
-			catch(\Exception $e)
1899
+			catch (\Exception $e)
1900 1900
 			{
1901 1901
 				//error_log(__METHOD__.'('.__LINE__.'):'.$e->getMessage());
1902 1902
 				// possible error OR Query. But Horde gives no detailed Info :-(
1903
-				self::$supportsORinQuery[$this->profileID]=false;
1904
-				Cache::setCache(Cache::INSTANCE,'email','supportsORinQuery'.trim($GLOBALS['egw_info']['user']['account_id']),self::$supportsORinQuery,60*60*10);
1903
+				self::$supportsORinQuery[$this->profileID] = false;
1904
+				Cache::setCache(Cache::INSTANCE, 'email', 'supportsORinQuery'.trim($GLOBALS['egw_info']['user']['account_id']), self::$supportsORinQuery, 60 * 60 * 10);
1905 1905
 				if (self::$debug) error_log(__METHOD__.__LINE__." Mailserver seems to have NO OR Capability for Search:".$sortResult->message);
1906 1906
 				$filter = $this->createIMAPFilter($_folderName, $_filter, self::$supportsORinQuery[$this->profileID]);
1907 1907
 				try
@@ -1909,25 +1909,25 @@  discard block
 block discarded – undo
1909 1909
 					$sortResult = $this->icServer->search($_folderName, $filter, array()/*array(
1910 1910
 						'sort' => $sortOrder)*/);
1911 1911
 				}
1912
-				catch(\Exception $e)
1912
+				catch (\Exception $e)
1913 1913
 				{
1914 1914
 				}
1915 1915
 			}
1916
-			if(is_array($sortResult['match'])) {
1916
+			if (is_array($sortResult['match'])) {
1917 1917
 					// not sure that this is going so succeed as $sortResult['match'] is a hordeObject
1918 1918
 					sort($sortResult['match'], SORT_NUMERIC);
1919 1919
 			}
1920
-			if (self::$debug) error_log(__METHOD__." using Filter:".print_r($filter,true)." ->".print_r($sortResult,true));
1920
+			if (self::$debug) error_log(__METHOD__." using Filter:".print_r($filter, true)." ->".print_r($sortResult, true));
1921 1921
 		}
1922 1922
 		if ($setSession)
1923 1923
 		{
1924 1924
 			self::$folderStatusCache[$this->profileID][$_folderName]['uidValidity'] = $folderStatus['UIDVALIDITY'];
1925
-			self::$folderStatusCache[$this->profileID][$_folderName]['messages']	= $folderStatus['MESSAGES'];
1925
+			self::$folderStatusCache[$this->profileID][$_folderName]['messages'] = $folderStatus['MESSAGES'];
1926 1926
 			self::$folderStatusCache[$this->profileID][$_folderName]['deleted']	= $eMailListContainsDeletedMessages[$this->profileID][$_folderName];
1927 1927
 			self::$folderStatusCache[$this->profileID][$_folderName]['uidnext']	= $folderStatus['UIDNEXT'];
1928
-			self::$folderStatusCache[$this->profileID][$_folderName]['filter']	= $_filter;
1928
+			self::$folderStatusCache[$this->profileID][$_folderName]['filter'] = $_filter;
1929 1929
 			self::$folderStatusCache[$this->profileID][$_folderName]['sortResult'] = $sortResult;
1930
-			self::$folderStatusCache[$this->profileID][$_folderName]['sort']	= $_sort;
1930
+			self::$folderStatusCache[$this->profileID][$_folderName]['sort'] = $_sort;
1931 1931
 		}
1932 1932
 		//error_log(__METHOD__." using Filter:".print_r($filter,true)." ->".print_r($sortResult,true));
1933 1933
 		//_debug_array($sortResult['match']->ids);
@@ -1941,12 +1941,12 @@  discard block
 block discarded – undo
1941 1941
 	 * @param bool _reverse wether to add REVERSE to the Sort String or not
1942 1942
 	 * @return the sort sequence for horde search
1943 1943
 	 */
1944
-	function _getSortString($_sort, $_reverse=false)
1944
+	function _getSortString($_sort, $_reverse = false)
1945 1945
 	{
1946
-		$_reverse=false;
1946
+		$_reverse = false;
1947 1947
 		if (is_numeric($_sort))
1948 1948
 		{
1949
-			switch($_sort) {
1949
+			switch ($_sort) {
1950 1950
 				case 2:
1951 1951
 					$retValue = array(Horde_Imap_Client::SORT_FROM);
1952 1952
 					break;
@@ -1968,7 +1968,7 @@  discard block
 block discarded – undo
1968 1968
 		}
1969 1969
 		else
1970 1970
 		{
1971
-			switch(strtoupper($_sort)) {
1971
+			switch (strtoupper($_sort)) {
1972 1972
 				case 'FROMADDRESS':
1973 1973
 					$retValue = array(Horde_Imap_Client::SORT_FROM);
1974 1974
 					break;
@@ -1994,7 +1994,7 @@  discard block
 block discarded – undo
1994 1994
 					break;
1995 1995
 			}
1996 1996
 		}
1997
-		if ($_reverse) array_unshift($retValue,Horde_Imap_Client::SORT_REVERSE);
1997
+		if ($_reverse) array_unshift($retValue, Horde_Imap_Client::SORT_REVERSE);
1998 1998
 		//error_log(__METHOD__.' ('.__LINE__.') '.' '.($_reverse?'REVERSE ':'').$_sort.'->'.$retValue);
1999 1999
 		return $retValue;
2000 2000
 	}
@@ -2007,28 +2007,28 @@  discard block
 block discarded – undo
2007 2007
 	 * @param boolean $_supportsOrInQuery wether to use the OR Query on QuickSearch
2008 2008
 	 * @return Horde_Imap_Client_Search_Query the IMAP filter
2009 2009
 	 */
2010
-	function createIMAPFilter($_folder, $_criterias, $_supportsOrInQuery=true)
2010
+	function createIMAPFilter($_folder, $_criterias, $_supportsOrInQuery = true)
2011 2011
 	{
2012 2012
 		$imapFilter = new Horde_Imap_Client_Search_Query();
2013 2013
 		$imapFilter->charset('UTF-8');
2014 2014
 
2015 2015
 		//_debug_array($_criterias);
2016
-		if (self::$debug) error_log(__METHOD__.' ('.__LINE__.') '.' Criterias:'.(!is_array($_criterias)?" none -> returning":array2string($_criterias)));
2017
-		if((!is_array($_criterias) || $_criterias['status']=='any') &&
2016
+		if (self::$debug) error_log(__METHOD__.' ('.__LINE__.') '.' Criterias:'.(!is_array($_criterias) ? " none -> returning" : array2string($_criterias)));
2017
+		if ((!is_array($_criterias) || $_criterias['status'] == 'any') &&
2018 2018
 			(!isset($_criterias['string']) || empty($_criterias['string'])) &&
2019
-			(!isset($_criterias['range'])|| empty($_criterias['range']) ||
2020
-			( !empty($_criterias['range'])&& ($_criterias['range']!='BETWEEN' && empty($_criterias['date'])||
2021
-			($_criterias['range']=='BETWEEN' && empty($_criterias['since'])&& empty($_criterias['before']))))))
2019
+			(!isset($_criterias['range']) || empty($_criterias['range']) ||
2020
+			(!empty($_criterias['range']) && ($_criterias['range'] != 'BETWEEN' && empty($_criterias['date']) ||
2021
+			($_criterias['range'] == 'BETWEEN' && empty($_criterias['since']) && empty($_criterias['before']))))))
2022 2022
 		{
2023 2023
 			//error_log(__METHOD__.' ('.__LINE__.') returning early Criterias:'.print_r($_criterias, true));
2024
-			$imapFilter->flag('DELETED', $set=false);
2024
+			$imapFilter->flag('DELETED', $set = false);
2025 2025
 			return $imapFilter;
2026 2026
 		}
2027 2027
 		$queryValid = false;
2028 2028
 		// statusQuery MUST be placed first, as search for subject/mailbody and such is
2029 2029
 		// depending on charset. flagSearch is not BUT messes the charset if called afterwards
2030 2030
 		$statusQueryValid = false;
2031
-		foreach((array)$_criterias['status'] as $k => $criteria) {
2031
+		foreach ((array)$_criterias['status'] as $k => $criteria) {
2032 2032
 			$imapStatusFilter = new Horde_Imap_Client_Search_Query();
2033 2033
 			$imapStatusFilter->charset('UTF-8');
2034 2034
 			$criteria = strtoupper($criteria);
@@ -2038,12 +2038,12 @@  discard block
 block discarded – undo
2038 2038
 				case 'FLAGGED':
2039 2039
 				case 'RECENT':
2040 2040
 				case 'SEEN':
2041
-					$imapStatusFilter->flag($criteria, $set=true);
2042
-					$queryValid = $statusQueryValid =true;
2041
+					$imapStatusFilter->flag($criteria, $set = true);
2042
+					$queryValid = $statusQueryValid = true;
2043 2043
 					break;
2044 2044
 				case 'READ':
2045
-					$imapStatusFilter->flag('SEEN', $set=true);
2046
-					$queryValid = $statusQueryValid =true;
2045
+					$imapStatusFilter->flag('SEEN', $set = true);
2046
+					$queryValid = $statusQueryValid = true;
2047 2047
 					break;
2048 2048
 				case 'LABEL1':
2049 2049
 				case 'KEYWORD1':
@@ -2055,38 +2055,38 @@  discard block
 block discarded – undo
2055 2055
 				case 'KEYWORD4':
2056 2056
 				case 'LABEL5':
2057 2057
 				case 'KEYWORD5':
2058
-					$imapStatusFilter->flag(str_ireplace('KEYWORD','$LABEL',$criteria), $set=true);
2059
-					$queryValid = $statusQueryValid =true;
2058
+					$imapStatusFilter->flag(str_ireplace('KEYWORD', '$LABEL', $criteria), $set = true);
2059
+					$queryValid = $statusQueryValid = true;
2060 2060
 					break;
2061 2061
 				case 'NEW':
2062
-					$imapStatusFilter->flag('RECENT', $set=true);
2063
-					$imapStatusFilter->flag('SEEN', $set=false);
2064
-					$queryValid = $statusQueryValid =true;
2062
+					$imapStatusFilter->flag('RECENT', $set = true);
2063
+					$imapStatusFilter->flag('SEEN', $set = false);
2064
+					$queryValid = $statusQueryValid = true;
2065 2065
 					break;
2066 2066
 				case 'OLD':
2067
-					$imapStatusFilter->flag('RECENT', $set=false);
2068
-					$queryValid = $statusQueryValid =true;
2067
+					$imapStatusFilter->flag('RECENT', $set = false);
2068
+					$queryValid = $statusQueryValid = true;
2069 2069
 					break;
2070 2070
 // operate only on system flags
2071 2071
 //        $systemflags = array(
2072 2072
 //            'ANSWERED', 'DELETED', 'DRAFT', 'FLAGGED', 'RECENT', 'SEEN'
2073 2073
 //        );
2074 2074
 				case 'UNANSWERED':
2075
-					$imapStatusFilter->flag('ANSWERED', $set=false);
2076
-					$queryValid = $statusQueryValid =true;
2075
+					$imapStatusFilter->flag('ANSWERED', $set = false);
2076
+					$queryValid = $statusQueryValid = true;
2077 2077
 					break;
2078 2078
 				case 'UNDELETED':
2079
-					$imapFilter->flag('DELETED', $set=false);
2079
+					$imapFilter->flag('DELETED', $set = false);
2080 2080
 					$queryValid = true;
2081 2081
 					break;
2082 2082
 				case 'UNFLAGGED':
2083
-					$imapStatusFilter->flag('FLAGGED', $set=false);
2084
-					$queryValid = $statusQueryValid =true;
2083
+					$imapStatusFilter->flag('FLAGGED', $set = false);
2084
+					$queryValid = $statusQueryValid = true;
2085 2085
 					break;
2086 2086
 				case 'UNREAD':
2087 2087
 				case 'UNSEEN':
2088
-					$imapStatusFilter->flag('SEEN', $set=false);
2089
-					$queryValid = $statusQueryValid =true;
2088
+					$imapStatusFilter->flag('SEEN', $set = false);
2089
+					$queryValid = $statusQueryValid = true;
2090 2090
 					break;
2091 2091
 				case 'UNLABEL1':
2092 2092
 				case 'UNKEYWORD1':
@@ -2098,8 +2098,8 @@  discard block
 block discarded – undo
2098 2098
 				case 'UNKEYWORD4':
2099 2099
 				case 'UNLABEL5':
2100 2100
 				case 'UNKEYWORD5':
2101
-					$imapStatusFilter->flag(str_ireplace(array('UNKEYWORD','UNLABEL'),'$LABEL',$criteria), $set=false);
2102
-					$queryValid = $statusQueryValid =true;
2101
+					$imapStatusFilter->flag(str_ireplace(array('UNKEYWORD', 'UNLABEL'), '$LABEL', $criteria), $set = false);
2102
+					$queryValid = $statusQueryValid = true;
2103 2103
 					break;
2104 2104
 				default:
2105 2105
 					$statusQueryValid = false;
@@ -2115,20 +2115,20 @@  discard block
 block discarded – undo
2115 2115
 		$imapSearchFilter = new Horde_Imap_Client_Search_Query();
2116 2116
 		$imapSearchFilter->charset('UTF-8');
2117 2117
 
2118
-		if(!empty($_criterias['string'])) {
2118
+		if (!empty($_criterias['string'])) {
2119 2119
 			$criteria = strtoupper($_criterias['type']);
2120 2120
 			switch ($criteria) {
2121 2121
 				case 'BYDATE':
2122 2122
 				case 'QUICK':
2123 2123
 				case 'QUICKWITHCC':
2124
-					$imapSearchFilter->headerText('SUBJECT', $_criterias['string'], $not=false);
2124
+					$imapSearchFilter->headerText('SUBJECT', $_criterias['string'], $not = false);
2125 2125
 					//$imapSearchFilter->charset('UTF-8');
2126 2126
 					$imapFilter2 = new Horde_Imap_Client_Search_Query();
2127 2127
 					$imapFilter2->charset('UTF-8');
2128
-					if($this->isSentFolder($_folder)) {
2129
-						$imapFilter2->headerText('TO', $_criterias['string'], $not=false);
2128
+					if ($this->isSentFolder($_folder)) {
2129
+						$imapFilter2->headerText('TO', $_criterias['string'], $not = false);
2130 2130
 					} else {
2131
-						$imapFilter2->headerText('FROM', $_criterias['string'], $not=false);
2131
+						$imapFilter2->headerText('FROM', $_criterias['string'], $not = false);
2132 2132
 					}
2133 2133
 					if ($_supportsOrInQuery)
2134 2134
 					{
@@ -2138,31 +2138,31 @@  discard block
 block discarded – undo
2138 2138
 					{
2139 2139
 						$imapSearchFilter->andSearch($imapFilter2);
2140 2140
 					}
2141
-					if ($_supportsOrInQuery && $criteria=='QUICKWITHCC')
2141
+					if ($_supportsOrInQuery && $criteria == 'QUICKWITHCC')
2142 2142
 					{
2143 2143
 						$imapFilter3 = new Horde_Imap_Client_Search_Query();
2144 2144
 						$imapFilter3->charset('UTF-8');
2145
-						$imapFilter3->headerText('CC', $_criterias['string'], $not=false);
2145
+						$imapFilter3->headerText('CC', $_criterias['string'], $not = false);
2146 2146
 						$imapSearchFilter->orSearch($imapFilter3);
2147 2147
 					}
2148 2148
 					$queryValid = true;
2149 2149
 					break;
2150 2150
 				case 'LARGER':
2151 2151
 				case 'SMALLER':
2152
-					if (strlen(trim($_criterias['string'])) != strlen((float) trim($_criterias['string'])))
2152
+					if (strlen(trim($_criterias['string'])) != strlen((float)trim($_criterias['string'])))
2153 2153
 					{
2154 2154
 						//examine string to evaluate size
2155
-						$unit = strtoupper(trim(substr(trim($_criterias['string']),strlen((float) trim($_criterias['string'])))));
2156
-						$multipleBy = array('KB'=>1024,'K'=>1024,
2157
-											'MB'=>1024*1000,'M'=>1024*1000,
2158
-											'GB'=>1024*1000*1000,'G'=>1024*1000*1000,
2159
-											'TB'=>1024*1000*1000*1000,'T'=>1024*1000*1000*1000);
2160
-						$numberinBytes=(float)$_criterias['string'];
2161
-						if (isset($multipleBy[$unit])) $numberinBytes=(float)$_criterias['string']*$multipleBy[$unit];
2155
+						$unit = strtoupper(trim(substr(trim($_criterias['string']), strlen((float)trim($_criterias['string'])))));
2156
+						$multipleBy = array('KB'=>1024, 'K'=>1024,
2157
+											'MB'=>1024 * 1000, 'M'=>1024 * 1000,
2158
+											'GB'=>1024 * 1000 * 1000, 'G'=>1024 * 1000 * 1000,
2159
+											'TB'=>1024 * 1000 * 1000 * 1000, 'T'=>1024 * 1000 * 1000 * 1000);
2160
+						$numberinBytes = (float)$_criterias['string'];
2161
+						if (isset($multipleBy[$unit])) $numberinBytes = (float)$_criterias['string'] * $multipleBy[$unit];
2162 2162
 						//error_log(__METHOD__.__LINE__.'#'.$_criterias['string'].'->'.(float)$_criterias['string'].'#'.$unit.' ='.$numberinBytes);
2163
-						$_criterias['string']=$numberinBytes;
2163
+						$_criterias['string'] = $numberinBytes;
2164 2164
 					}
2165
-					$imapSearchFilter->size( $_criterias['string'], ($criteria=='LARGER'?true:false), $not=false);
2165
+					$imapSearchFilter->size($_criterias['string'], ($criteria == 'LARGER' ? true : false), $not = false);
2166 2166
 					//$imapSearchFilter->charset('UTF-8');
2167 2167
 					$queryValid = true;
2168 2168
 					break;
@@ -2171,31 +2171,31 @@  discard block
 block discarded – undo
2171 2171
 				case 'CC':
2172 2172
 				case 'BCC':
2173 2173
 				case 'SUBJECT':
2174
-					$imapSearchFilter->headerText($criteria, $_criterias['string'], $not=false);
2174
+					$imapSearchFilter->headerText($criteria, $_criterias['string'], $not = false);
2175 2175
 					//$imapSearchFilter->charset('UTF-8');
2176 2176
 					$queryValid = true;
2177 2177
 					break;
2178 2178
 				case 'BODY':
2179 2179
 				case 'TEXT':
2180
-					$imapSearchFilter->text($_criterias['string'],($criteria=='BODY'?true:false), $not=false);
2180
+					$imapSearchFilter->text($_criterias['string'], ($criteria == 'BODY' ? true : false), $not = false);
2181 2181
 					//$imapSearchFilter->charset('UTF-8');
2182 2182
 					$queryValid = true;
2183 2183
 					break;
2184 2184
 				case 'SINCE':
2185
-					$imapSearchFilter->dateSearch(new DateTime($_criterias['string']), Horde_Imap_Client_Search_Query::DATE_SINCE, $header=true, $not=false);
2185
+					$imapSearchFilter->dateSearch(new DateTime($_criterias['string']), Horde_Imap_Client_Search_Query::DATE_SINCE, $header = true, $not = false);
2186 2186
 					$queryValid = true;
2187 2187
 					break;
2188 2188
 				case 'BEFORE':
2189
-					$imapSearchFilter->dateSearch(new DateTime($_criterias['string']), Horde_Imap_Client_Search_Query::DATE_BEFORE, $header=true, $not=false);
2189
+					$imapSearchFilter->dateSearch(new DateTime($_criterias['string']), Horde_Imap_Client_Search_Query::DATE_BEFORE, $header = true, $not = false);
2190 2190
 					$queryValid = true;
2191 2191
 					break;
2192 2192
 				case 'ON':
2193
-					$imapSearchFilter->dateSearch(new DateTime($_criterias['string']), Horde_Imap_Client_Search_Query::DATE_ON, $header=true, $not=false);
2193
+					$imapSearchFilter->dateSearch(new DateTime($_criterias['string']), Horde_Imap_Client_Search_Query::DATE_ON, $header = true, $not = false);
2194 2194
 					$queryValid = true;
2195 2195
 					break;
2196 2196
 			}
2197 2197
 		}
2198
-		if ($statusQueryValid && !$queryValid) $queryValid=true;
2198
+		if ($statusQueryValid && !$queryValid) $queryValid = true;
2199 2199
 		if ($queryValid) $imapFilter->andSearch($imapSearchFilter);
2200 2200
 
2201 2201
 		if (isset($_criterias['range']) && !empty($_criterias['range']))
@@ -2204,12 +2204,12 @@  discard block
 block discarded – undo
2204 2204
 			$imapRangeFilter = new Horde_Imap_Client_Search_Query();
2205 2205
 			$imapRangeFilter->charset('UTF-8');
2206 2206
 			$criteria = strtoupper($_criterias['range']);
2207
-			if ($_criterias['range'] == "BETWEEN" && isset($_criterias['since']) && isset($_criterias['before']) && $_criterias['since']==$_criterias['before'])
2207
+			if ($_criterias['range'] == "BETWEEN" && isset($_criterias['since']) && isset($_criterias['before']) && $_criterias['since'] == $_criterias['before'])
2208 2208
 			{
2209
-				$_criterias['date']=$_criterias['since'];
2209
+				$_criterias['date'] = $_criterias['since'];
2210 2210
 				unset($_criterias['since']);
2211 2211
 				unset($_criterias['before']);
2212
-				$criteria=$_criterias['range']='ON';
2212
+				$criteria = $_criterias['range'] = 'ON';
2213 2213
 			}
2214 2214
 			switch ($criteria) {
2215 2215
 				case 'BETWEEN':
@@ -2217,7 +2217,7 @@  discard block
 block discarded – undo
2217 2217
 					//enddate
2218 2218
 					if ($_criterias['since'])
2219 2219
 					{
2220
-						$imapRangeFilter->dateSearch(new DateTime($_criterias['since']), Horde_Imap_Client_Search_Query::DATE_SINCE, $header=true, $not=false);
2220
+						$imapRangeFilter->dateSearch(new DateTime($_criterias['since']), Horde_Imap_Client_Search_Query::DATE_SINCE, $header = true, $not = false);
2221 2221
 						$rangeValid = true;
2222 2222
 					}
2223 2223
 					//startdate
@@ -2226,28 +2226,28 @@  discard block
 block discarded – undo
2226 2226
 						$imapRangeFilter2 = new Horde_Imap_Client_Search_Query();
2227 2227
 						$imapRangeFilter2->charset('UTF-8');
2228 2228
 						//our before (startdate) is inklusive, as we work with "d-M-Y", we must add a day
2229
-						$_criterias['before'] = date("d-M-Y",DateTime::to($_criterias['before'],'ts')+(3600*24));
2230
-						$imapRangeFilter2->dateSearch(new DateTime($_criterias['before']), Horde_Imap_Client_Search_Query::DATE_BEFORE, $header=true, $not=false);
2229
+						$_criterias['before'] = date("d-M-Y", DateTime::to($_criterias['before'], 'ts') + (3600 * 24));
2230
+						$imapRangeFilter2->dateSearch(new DateTime($_criterias['before']), Horde_Imap_Client_Search_Query::DATE_BEFORE, $header = true, $not = false);
2231 2231
 						$imapRangeFilter->andSearch($imapRangeFilter2);
2232 2232
 						$rangeValid = true;
2233 2233
 					}
2234 2234
 					break;
2235 2235
 				case 'SINCE'://enddate
2236
-					$imapRangeFilter->dateSearch(new DateTime(($_criterias['since']?$_criterias['since']:$_criterias['date'])), Horde_Imap_Client_Search_Query::DATE_SINCE, $header=true, $not=false);
2236
+					$imapRangeFilter->dateSearch(new DateTime(($_criterias['since'] ? $_criterias['since'] : $_criterias['date'])), Horde_Imap_Client_Search_Query::DATE_SINCE, $header = true, $not = false);
2237 2237
 					$rangeValid = true;
2238 2238
 					break;
2239 2239
 				case 'BEFORE'://startdate
2240 2240
 					//our before (startdate) is inklusive, as we work with "d-M-Y", we must add a day
2241
-					$_criterias['before'] = date("d-M-Y",DateTime::to(($_criterias['before']?$_criterias['before']:$_criterias['date']),'ts')+(3600*24));
2242
-					$imapRangeFilter->dateSearch(new DateTime($_criterias['before']), Horde_Imap_Client_Search_Query::DATE_BEFORE, $header=true, $not=false);
2241
+					$_criterias['before'] = date("d-M-Y", DateTime::to(($_criterias['before'] ? $_criterias['before'] : $_criterias['date']), 'ts') + (3600 * 24));
2242
+					$imapRangeFilter->dateSearch(new DateTime($_criterias['before']), Horde_Imap_Client_Search_Query::DATE_BEFORE, $header = true, $not = false);
2243 2243
 					$rangeValid = true;
2244 2244
 					break;
2245 2245
 				case 'ON':
2246
-					$imapRangeFilter->dateSearch(new DateTime($_criterias['date']), Horde_Imap_Client_Search_Query::DATE_ON, $header=true, $not=false);
2246
+					$imapRangeFilter->dateSearch(new DateTime($_criterias['date']), Horde_Imap_Client_Search_Query::DATE_ON, $header = true, $not = false);
2247 2247
 					$rangeValid = true;
2248 2248
 					break;
2249 2249
 			}
2250
-			if ($rangeValid && !$queryValid) $queryValid=true;
2250
+			if ($rangeValid && !$queryValid) $queryValid = true;
2251 2251
 			if ($rangeValid) $imapFilter->andSearch($imapRangeFilter);
2252 2252
 		}
2253 2253
 		if (self::$debug)
@@ -2256,8 +2256,8 @@  discard block
 block discarded – undo
2256 2256
 			$query_str = $imapFilter->build();
2257 2257
 			//error_log(__METHOD__.' ('.__LINE__.') '.' '.$query_str['query'].' created by Criterias:'.(!is_array($_criterias)?" none -> returning":array2string($_criterias)));
2258 2258
 		}
2259
-		if($queryValid==false) {
2260
-			$imapFilter->flag('DELETED', $set=false);
2259
+		if ($queryValid == false) {
2260
+			$imapFilter->flag('DELETED', $set = false);
2261 2261
 			return $imapFilter;
2262 2262
 		} else {
2263 2263
 			return $imapFilter;
@@ -2271,11 +2271,11 @@  discard block
 block discarded – undo
2271 2271
 	 * @param  mixed/boolean $_tryIDNConversion (true/false AND FORCE): try IDN Conversion on domainparts of emailADRESSES
2272 2272
 	 * @return mixed - based on the input type
2273 2273
 	 */
2274
-	static function decode_header($_string, $_tryIDNConversion=false)
2274
+	static function decode_header($_string, $_tryIDNConversion = false)
2275 2275
 	{
2276 2276
 		if (is_array($_string))
2277 2277
 		{
2278
-			foreach($_string as $k=>$v)
2278
+			foreach ($_string as $k=>$v)
2279 2279
 			{
2280 2280
 				$_string[$k] = self::decode_header($v, $_tryIDNConversion);
2281 2281
 			}
@@ -2283,18 +2283,18 @@  discard block
 block discarded – undo
2283 2283
 		}
2284 2284
 		else
2285 2285
 		{
2286
-			$_string = Mail\Html::decodeMailHeader($_string,self::$displayCharset);
2286
+			$_string = Mail\Html::decodeMailHeader($_string, self::$displayCharset);
2287 2287
 			$test = @json_encode($_string);
2288 2288
 			//error_log(__METHOD__.__LINE__.' ->'.strlen($singleBodyPart['body']).' Error:'.json_last_error().'<- BodyPart:#'.$test.'#');
2289
-			if (($test=="null" || $test === false || is_null($test)) && strlen($_string)>0)
2289
+			if (($test == "null" || $test === false || is_null($test)) && strlen($_string) > 0)
2290 2290
 			{
2291 2291
 				// try to fix broken utf8
2292 2292
 				$x = utf8_encode($_string);
2293 2293
 				$test = @json_encode($x);
2294
-				if (($test=="null" || $test === false || is_null($test)) && strlen($_string)>0)
2294
+				if (($test == "null" || $test === false || is_null($test)) && strlen($_string) > 0)
2295 2295
 				{
2296 2296
 					// this should not be needed, unless something fails with charset detection/ wrong charset passed
2297
-					$_string = (function_exists('mb_convert_encoding')?mb_convert_encoding($_string,'UTF-8','UTF-8'):(function_exists('iconv')?@iconv("UTF-8","UTF-8//IGNORE",$_string):$_string));
2297
+					$_string = (function_exists('mb_convert_encoding') ? mb_convert_encoding($_string, 'UTF-8', 'UTF-8') : (function_exists('iconv') ? @iconv("UTF-8", "UTF-8//IGNORE", $_string) : $_string));
2298 2298
 				}
2299 2299
 				else
2300 2300
 				{
@@ -2302,7 +2302,7 @@  discard block
 block discarded – undo
2302 2302
 				}
2303 2303
 			}
2304 2304
 
2305
-			if ($_tryIDNConversion===true && stripos($_string,'@')!==false)
2305
+			if ($_tryIDNConversion === true && stripos($_string, '@') !== false)
2306 2306
 			{
2307 2307
 				$rfcAddr = self::parseAddressList($_string);
2308 2308
 				$stringA = array();
@@ -2314,11 +2314,11 @@  discard block
 block discarded – undo
2314 2314
 						$stringA = array();
2315 2315
 						break; // skip idna conversion if we encounter an error here
2316 2316
 					}
2317
-					$stringA[] = imap_rfc822_write_address($_rfcAddr->mailbox,Horde_Idna::decode($_rfcAddr->host),$_rfcAddr->personal);
2317
+					$stringA[] = imap_rfc822_write_address($_rfcAddr->mailbox, Horde_Idna::decode($_rfcAddr->host), $_rfcAddr->personal);
2318 2318
 				}
2319
-				if (!empty($stringA)) $_string = implode(',',$stringA);
2319
+				if (!empty($stringA)) $_string = implode(',', $stringA);
2320 2320
 			}
2321
-			if ($_tryIDNConversion==='FORCE')
2321
+			if ($_tryIDNConversion === 'FORCE')
2322 2322
 			{
2323 2323
 				//error_log(__METHOD__.' ('.__LINE__.') '.'->'.$_string.'='.Horde_Idna::decode($_string));
2324 2324
 				$_string = Horde_Idna::decode($_string);
@@ -2334,17 +2334,17 @@  discard block
 block discarded – undo
2334 2334
 	 * @param  boolean $decode try decoding
2335 2335
 	 * @return mixed - based on the input type
2336 2336
 	 */
2337
-	function decode_subject($_string,$decode=true)
2337
+	function decode_subject($_string, $decode = true)
2338 2338
 	{
2339 2339
 		#$string = $_string;
2340
-		if($_string=='NIL')
2340
+		if ($_string == 'NIL')
2341 2341
 		{
2342 2342
 			return 'No Subject';
2343 2343
 		}
2344 2344
 		if ($decode) $_string = self::decode_header($_string);
2345 2345
 		// make sure its utf-8
2346 2346
 		$test = @json_encode($_string);
2347
-		if (($test=="null" || $test === false || is_null($test)) && strlen($_string)>0)
2347
+		if (($test == "null" || $test === false || is_null($test)) && strlen($_string) > 0)
2348 2348
 		{
2349 2349
 			$_string = utf8_encode($_string);
2350 2350
 		}
@@ -2396,18 +2396,18 @@  discard block
 block discarded – undo
2396 2396
 	function createFolder($_parent, $_folderName, &$_error)
2397 2397
 	{
2398 2398
 		if (self::$debug) error_log(__METHOD__.' ('.__LINE__.') '."->"."$_parent, $_folderName called from:".function_backtrace());
2399
-		$parent		= $_parent;//$this->_encodeFolderName($_parent);
2400
-		$folderName	= $_folderName;//$this->_encodeFolderName($_folderName);
2399
+		$parent = $_parent; //$this->_encodeFolderName($_parent);
2400
+		$folderName = $_folderName; //$this->_encodeFolderName($_folderName);
2401 2401
 
2402
-		if(empty($parent)) {
2402
+		if (empty($parent)) {
2403 2403
 			$newFolderName = $folderName;
2404 2404
 		} else {
2405 2405
 			$HierarchyDelimiter = $this->getHierarchyDelimiter();
2406
-			$newFolderName = $parent . $HierarchyDelimiter . $folderName;
2406
+			$newFolderName = $parent.$HierarchyDelimiter.$folderName;
2407 2407
 		}
2408 2408
 		if (empty($newFolderName)) return false;
2409 2409
 		if (self::$debug) error_log(__METHOD__.' ('.__LINE__.') '.'->'.$newFolderName);
2410
-		if ($this->folderExists($newFolderName,true))
2410
+		if ($this->folderExists($newFolderName, true))
2411 2411
 		{
2412 2412
 			if (self::$debug) error_log(__METHOD__.' ('.__LINE__.') '." Folder $newFolderName already exists.");
2413 2413
 			return $newFolderName;
@@ -2424,7 +2424,7 @@  discard block
 block discarded – undo
2424 2424
 		}
2425 2425
 		catch (\Exception $e)
2426 2426
 		{
2427
-			$_error = lang('Could not create Folder %1 Reason: %2',$newFolderName,$e->getMessage());
2427
+			$_error = lang('Could not create Folder %1 Reason: %2', $newFolderName, $e->getMessage());
2428 2428
 			error_log(__METHOD__.' ('.__LINE__.') '.' create Folder '.$newFolderName.'->'.$e->getMessage().' ('.$e->details.') Namespace:'.array2string($this->icServer->getNameSpaces()).function_backtrace());
2429 2429
 			return false;
2430 2430
 		}
@@ -2453,15 +2453,15 @@  discard block
 block discarded – undo
2453 2453
 	 */
2454 2454
 	function renameFolder($_oldFolderName, $_parent, $_folderName)
2455 2455
 	{
2456
-		$oldFolderName	= $_oldFolderName;//$this->_encodeFolderName($_oldFolderName);
2457
-		$parent		= $_parent;//$this->_encodeFolderName($_parent);
2458
-		$folderName	= $_folderName;//$this->_encodeFolderName($_folderName);
2456
+		$oldFolderName = $_oldFolderName; //$this->_encodeFolderName($_oldFolderName);
2457
+		$parent = $_parent; //$this->_encodeFolderName($_parent);
2458
+		$folderName = $_folderName; //$this->_encodeFolderName($_folderName);
2459 2459
 
2460
-		if(empty($parent)) {
2460
+		if (empty($parent)) {
2461 2461
 			$newFolderName = $folderName;
2462 2462
 		} else {
2463 2463
 			$HierarchyDelimiter = $this->getHierarchyDelimiter();
2464
-			$newFolderName = $parent . $HierarchyDelimiter . $folderName;
2464
+			$newFolderName = $parent.$HierarchyDelimiter.$folderName;
2465 2465
 		}
2466 2466
 		if (self::$debug) error_log("create folder: $newFolderName");
2467 2467
 		try
@@ -2470,10 +2470,10 @@  discard block
 block discarded – undo
2470 2470
 		}
2471 2471
 		catch (\Exception $e)
2472 2472
 		{
2473
-			throw new Exception(__METHOD__." failed for $oldFolderName (rename to: $newFolderName) with error:".$e->getMessage());;
2473
+			throw new Exception(__METHOD__." failed for $oldFolderName (rename to: $newFolderName) with error:".$e->getMessage()); ;
2474 2474
 		}
2475 2475
 		// clear FolderExistsInfoCache
2476
-		Cache::setCache(Cache::INSTANCE,'email','icServerFolderExistsInfo'.trim($GLOBALS['egw_info']['user']['account_id']),$folderInfo,60*60*5);
2476
+		Cache::setCache(Cache::INSTANCE, 'email', 'icServerFolderExistsInfo'.trim($GLOBALS['egw_info']['user']['account_id']), $folderInfo, 60 * 60 * 5);
2477 2477
 
2478 2478
 		return $newFolderName;
2479 2479
 
@@ -2492,15 +2492,15 @@  discard block
 block discarded – undo
2492 2492
 		//$folderName = $this->_encodeFolderName($_folderName);
2493 2493
 		try
2494 2494
 		{
2495
-			$this->icServer->subscribeMailbox($_folderName,false);
2495
+			$this->icServer->subscribeMailbox($_folderName, false);
2496 2496
 			$this->icServer->deleteMailbox($_folderName);
2497 2497
 		}
2498 2498
 		catch (\Exception $e)
2499 2499
 		{
2500
-			throw new Exception("Deleting Folder $_folderName failed! Error:".$e->getMessage());;
2500
+			throw new Exception("Deleting Folder $_folderName failed! Error:".$e->getMessage()); ;
2501 2501
 		}
2502 2502
 		// clear FolderExistsInfoCache
2503
-		Cache::setCache(Cache::INSTANCE,'email','icServerFolderExistsInfo'.trim($GLOBALS['egw_info']['user']['account_id']),$folderInfo,60*60*5);
2503
+		Cache::setCache(Cache::INSTANCE, 'email', 'icServerFolderExistsInfo'.trim($GLOBALS['egw_info']['user']['account_id']), $folderInfo, 60 * 60 * 5);
2504 2504
 
2505 2505
 		return true;
2506 2506
 	}
@@ -2535,10 +2535,10 @@  discard block
 block discarded – undo
2535 2535
 	 *
2536 2536
 	 * @return array with folder objects. eg.: INBOX => {inbox object}
2537 2537
 	 */
2538
-	function getFolderObjects($_subscribedOnly=false, $_getCounters=false, $_alwaysGetDefaultFolders=false,$_useCacheIfPossible=true)
2538
+	function getFolderObjects($_subscribedOnly = false, $_getCounters = false, $_alwaysGetDefaultFolders = false, $_useCacheIfPossible = true)
2539 2539
 	{
2540 2540
 		if (self::$debug) error_log(__METHOD__.' ('.__LINE__.') '.' ServerID:'.$this->icServer->ImapServerId.", subscribedOnly:$_subscribedOnly, getCounters:$_getCounters, alwaysGetDefaultFolders:$_alwaysGetDefaultFolders, _useCacheIfPossible:$_useCacheIfPossible");
2541
-		if (self::$debugTimes) $starttime = microtime (true);
2541
+		if (self::$debugTimes) $starttime = microtime(true);
2542 2542
 		static $folders2return;
2543 2543
 		//$_subscribedOnly=false;
2544 2544
 		// always use static on single request if info is available;
@@ -2546,42 +2546,42 @@  discard block
 block discarded – undo
2546 2546
 		// set $_useCacheIfPossible to false !
2547 2547
 		if ($_useCacheIfPossible && isset($folders2return[$this->icServer->ImapServerId]) && !empty($folders2return[$this->icServer->ImapServerId]))
2548 2548
 		{
2549
-			if (self::$debugTimes) self::logRunTimes($starttime,null,'using static',__METHOD__.' ('.__LINE__.') ');
2549
+			if (self::$debugTimes) self::logRunTimes($starttime, null, 'using static', __METHOD__.' ('.__LINE__.') ');
2550 2550
 			return $folders2return[$this->icServer->ImapServerId];
2551 2551
 		}
2552 2552
 
2553
-		if ($_subscribedOnly && $_getCounters===false)
2553
+		if ($_subscribedOnly && $_getCounters === false)
2554 2554
 		{
2555
-			if (is_null($folders2return)) $folders2return = Cache::getCache(Cache::INSTANCE,'email','folderObjects'.trim($GLOBALS['egw_info']['user']['account_id']),null,array(),60*60*1);
2555
+			if (is_null($folders2return)) $folders2return = Cache::getCache(Cache::INSTANCE, 'email', 'folderObjects'.trim($GLOBALS['egw_info']['user']['account_id']), null, array(), 60 * 60 * 1);
2556 2556
 			if ($_useCacheIfPossible && isset($folders2return[$this->icServer->ImapServerId]) && !empty($folders2return[$this->icServer->ImapServerId]))
2557 2557
 			{
2558 2558
 				//error_log(__METHOD__.' ('.__LINE__.') '.' using Cached folderObjects'.array2string($folders2return[$this->icServer->ImapServerId]));
2559
-				if (self::$debugTimes) self::logRunTimes($starttime,null,'from Cache',__METHOD__.' ('.__LINE__.') ');
2559
+				if (self::$debugTimes) self::logRunTimes($starttime, null, 'from Cache', __METHOD__.' ('.__LINE__.') ');
2560 2560
 				return $folders2return[$this->icServer->ImapServerId];
2561 2561
 			}
2562 2562
 		}
2563 2563
 		// use $folderBasicInfo for holding attributes and other basic folderinfo $folderBasicInfo[$this->icServer->ImapServerId]
2564 2564
 		static $folderBasicInfo;
2565
-		if (is_null($folderBasicInfo)||!isset($folderBasicInfo[$this->icServer->ImapServerId])) $folderBasicInfo = Cache::getCache(Cache::INSTANCE,'email','folderBasicInfo'.trim($GLOBALS['egw_info']['user']['account_id']),null,array(),60*60*1);
2565
+		if (is_null($folderBasicInfo) || !isset($folderBasicInfo[$this->icServer->ImapServerId])) $folderBasicInfo = Cache::getCache(Cache::INSTANCE, 'email', 'folderBasicInfo'.trim($GLOBALS['egw_info']['user']['account_id']), null, array(), 60 * 60 * 1);
2566 2566
 		//error_log(__METHOD__.' ('.__LINE__.') '.array2string(array_keys($folderBasicInfo[$this->icServer->ImapServerId])));
2567 2567
 
2568 2568
 		$delimiter = $this->getHierarchyDelimiter();
2569 2569
 
2570 2570
 		$inboxData = new \stdClass;
2571
-		$inboxData->name 		= 'INBOX';
2571
+		$inboxData->name = 'INBOX';
2572 2572
 		$inboxData->folderName		= 'INBOX';
2573
-		$inboxData->displayName		= lang('INBOX');
2573
+		$inboxData->displayName = lang('INBOX');
2574 2574
 		$inboxData->delimiter 		= $delimiter;
2575
-		$inboxData->shortFolderName	= 'INBOX';
2576
-		$inboxData->shortDisplayName	= lang('INBOX');
2575
+		$inboxData->shortFolderName = 'INBOX';
2576
+		$inboxData->shortDisplayName = lang('INBOX');
2577 2577
 		$inboxData->subscribed = true;
2578
-		if($_getCounters == true) {
2578
+		if ($_getCounters == true) {
2579 2579
 			$inboxData->counter = $this->getMailBoxCounters('INBOX');
2580 2580
 		}
2581 2581
 		// force unsubscribed by preference showAllFoldersInFolderPane
2582 2582
 		if ($_subscribedOnly == true &&
2583 2583
 			isset($this->mailPreferences['showAllFoldersInFolderPane']) &&
2584
-			$this->mailPreferences['showAllFoldersInFolderPane']==1)
2584
+			$this->mailPreferences['showAllFoldersInFolderPane'] == 1)
2585 2585
 		{
2586 2586
 			$_subscribedOnly = false;
2587 2587
 		}
@@ -2594,12 +2594,12 @@  discard block
 block discarded – undo
2594 2594
 		//error_log(__METHOD__.__LINE__.array2string($nameSpace));
2595 2595
 		if (is_array($nameSpace))
2596 2596
 		{
2597
-			foreach($nameSpace as $k => $singleNameSpace) {
2597
+			foreach ($nameSpace as $k => $singleNameSpace) {
2598 2598
 				$type = $singleNameSpace['type'];
2599 2599
 				// the following line (assumption that for the same namespace the delimiter should be equal) may be wrong
2600
-				$foldersNameSpace[$type]['delimiter']  = $singleNameSpace['delimiter'];
2600
+				$foldersNameSpace[$type]['delimiter'] = $singleNameSpace['delimiter'];
2601 2601
 
2602
-				if(is_array($singleNameSpace)&&$fetchedAllInOneGo==false) {
2602
+				if (is_array($singleNameSpace) && $fetchedAllInOneGo == false) {
2603 2603
 					// fetch and sort the subscribed folders
2604 2604
 					// we alway fetch the subscribed, as this provides the only way to tell
2605 2605
 					// if a folder is subscribed or not
@@ -2607,22 +2607,22 @@  discard block
 block discarded – undo
2607 2607
 					{
2608 2608
 						try
2609 2609
 						{
2610
-							$subscribedMailboxes = $this->icServer->listSubscribedMailboxes('',0,true);
2610
+							$subscribedMailboxes = $this->icServer->listSubscribedMailboxes('', 0, true);
2611 2611
 							if (!empty($subscribedMailboxes))
2612 2612
 							{
2613 2613
 								$fetchedAllInOneGo = true;
2614 2614
 							}
2615 2615
 							else
2616 2616
 							{
2617
-								$subscribedMailboxes = $this->icServer->listSubscribedMailboxes($singleNameSpace['prefix'],0,true);
2617
+								$subscribedMailboxes = $this->icServer->listSubscribedMailboxes($singleNameSpace['prefix'], 0, true);
2618 2618
 							}
2619 2619
 						}
2620
-						catch(Exception $e)
2620
+						catch (Exception $e)
2621 2621
 						{
2622 2622
 							continue;
2623 2623
 						}
2624 2624
 						//echo "subscribedMailboxes";_debug_array($subscribedMailboxes);
2625
-						$subscribedFoldersPerNS = (!empty($subscribedMailboxes)?array_keys($subscribedMailboxes):array());
2625
+						$subscribedFoldersPerNS = (!empty($subscribedMailboxes) ? array_keys($subscribedMailboxes) : array());
2626 2626
 						//if (is_array($foldersNameSpace[$type]['subscribed'])) sort($foldersNameSpace[$type]['subscribed']);
2627 2627
 						//_debug_array($foldersNameSpace);
2628 2628
 						//error_log(__METHOD__.__LINE__.array2string($singleNameSpace).':#:'.array2string($subscribedFoldersPerNS));
@@ -2632,18 +2632,18 @@  discard block
 block discarded – undo
2632 2632
 							foreach ($subscribedMailboxes as $k => $finfo)
2633 2633
 							{
2634 2634
 								//error_log(__METHOD__.__LINE__.$k.':#:'.array2string($finfo));
2635
-								$subscribedFoldersForCache[$this->icServer->ImapServerId][$k]=
2636
-								$folderBasicInfo[$this->icServer->ImapServerId][$k]=array(
2635
+								$subscribedFoldersForCache[$this->icServer->ImapServerId][$k] =
2636
+								$folderBasicInfo[$this->icServer->ImapServerId][$k] = array(
2637 2637
 									'MAILBOX'=>$finfo['MAILBOX'],
2638 2638
 									'ATTRIBUTES'=>$finfo['ATTRIBUTES'],
2639
-									'delimiter'=>$finfo['delimiter'],//lowercase for some reason???
2640
-									'SUBSCRIBED'=>$finfo['SUBSCRIBED'],//seeded by getMailboxes
2639
+									'delimiter'=>$finfo['delimiter'], //lowercase for some reason???
2640
+									'SUBSCRIBED'=>$finfo['SUBSCRIBED'], //seeded by getMailboxes
2641 2641
 								);
2642
-								if (empty($foldersNameSpace[$type]['subscribed']) || !in_array($k,$foldersNameSpace[$type]['subscribed']))
2642
+								if (empty($foldersNameSpace[$type]['subscribed']) || !in_array($k, $foldersNameSpace[$type]['subscribed']))
2643 2643
 								{
2644 2644
 									$foldersNameSpace[$type]['subscribed'][] = $k;
2645 2645
 								}
2646
-								if (empty($foldersNameSpace[$type]['all']) || !in_array($k,$foldersNameSpace[$type]['all']))
2646
+								if (empty($foldersNameSpace[$type]['all']) || !in_array($k, $foldersNameSpace[$type]['all']))
2647 2647
 								{
2648 2648
 									$foldersNameSpace[$type]['all'][] = $k;
2649 2649
 								}
@@ -2666,7 +2666,7 @@  discard block
 block discarded – undo
2666 2666
 						// that may produce problems, when encountering recursions probably
2667 2667
 						// horde is handling that, so we do not; keep that in mind!
2668 2668
 						//$allMailboxesExt = $this->icServer->getMailboxes($singleNameSpace['prefix'],2,true);
2669
-						$allMailboxesExt = $this->icServer->getMailboxes($singleNameSpace['prefix'],0,true);
2669
+						$allMailboxesExt = $this->icServer->getMailboxes($singleNameSpace['prefix'], 0, true);
2670 2670
 					}
2671 2671
 					catch (\Exception $e)
2672 2672
 					{
@@ -2684,26 +2684,26 @@  discard block
 block discarded – undo
2684 2684
 					foreach ($allMailboxesExt as $mbx) {
2685 2685
 						if (!isset($folderBasicInfo[$this->icServer->ImapServerId][$mbx['MAILBOX']]))
2686 2686
 						{
2687
-							$folderBasicInfo[$this->icServer->ImapServerId][$mbx['MAILBOX']]=array(
2687
+							$folderBasicInfo[$this->icServer->ImapServerId][$mbx['MAILBOX']] = array(
2688 2688
 								'MAILBOX'=>$mbx['MAILBOX'],
2689 2689
 								'ATTRIBUTES'=>$mbx['ATTRIBUTES'],
2690
-								'delimiter'=>$mbx['delimiter'],//lowercase for some reason???
2691
-								'SUBSCRIBED'=>$mbx['SUBSCRIBED'],//seeded by getMailboxes
2690
+								'delimiter'=>$mbx['delimiter'], //lowercase for some reason???
2691
+								'SUBSCRIBED'=>$mbx['SUBSCRIBED'], //seeded by getMailboxes
2692 2692
 							);
2693 2693
 							if ($mbx['SUBSCRIBED'] && !isset($subscribedFoldersForCache[$this->icServer->ImapServerId][$mbx['MAILBOX']]))
2694 2694
 							{
2695 2695
 								$subscribedFoldersForCache[$this->icServer->ImapServerId][$mbx['MAILBOX']] = $folderBasicInfo[$this->icServer->ImapServerId][$mbx['MAILBOX']];
2696 2696
 							}
2697 2697
 						}
2698
-						if ($mbx['SUBSCRIBED'] && (empty($foldersNameSpace[$type]['subscribed']) || !in_array($mbx['MAILBOX'],$foldersNameSpace[$type]['subscribed'])))
2698
+						if ($mbx['SUBSCRIBED'] && (empty($foldersNameSpace[$type]['subscribed']) || !in_array($mbx['MAILBOX'], $foldersNameSpace[$type]['subscribed'])))
2699 2699
 						{
2700 2700
 							$foldersNameSpace[$type]['subscribed'][] = $mbx['MAILBOX'];
2701 2701
 						}
2702 2702
 						//echo __METHOD__;_debug_array($mbx);
2703 2703
 						//error_log(__METHOD__.' ('.__LINE__.') '.array2string($mbx));
2704
-						if (isset($allMailBoxesExtSorted[$mbx['MAILBOX']])||
2705
-							isset($allMailBoxesExtSorted[$mbx['MAILBOX'].$foldersNameSpace[$type]['delimiter']])||
2706
-							(substr($mbx['MAILBOX'],-1)==$foldersNameSpace[$type]['delimiter'] && isset($allMailBoxesExtSorted[substr($mbx['MAILBOX'],0,-1)]))
2704
+						if (isset($allMailBoxesExtSorted[$mbx['MAILBOX']]) ||
2705
+							isset($allMailBoxesExtSorted[$mbx['MAILBOX'].$foldersNameSpace[$type]['delimiter']]) ||
2706
+							(substr($mbx['MAILBOX'], -1) == $foldersNameSpace[$type]['delimiter'] && isset($allMailBoxesExtSorted[substr($mbx['MAILBOX'], 0, -1)]))
2707 2707
 						) continue;
2708 2708
 
2709 2709
 						//echo '#'.$mbx['MAILBOX'].':'.array2string($mbx)."#<br>";
@@ -2713,7 +2713,7 @@  discard block
 block discarded – undo
2713 2713
 					//_debug_array(array_keys($allMailBoxesExtSorted));
2714 2714
 					$allMailboxes = array();
2715 2715
 					foreach ((array)$allMailBoxesExtSorted as $mbx) {
2716
-						if (!in_array($mbx['MAILBOX'],$allMailboxes)) $allMailboxes[] = $mbx['MAILBOX'];
2716
+						if (!in_array($mbx['MAILBOX'], $allMailboxes)) $allMailboxes[] = $mbx['MAILBOX'];
2717 2717
 						//echo "Result:";_debug_array($allMailboxes);
2718 2718
 					}
2719 2719
 					$foldersNameSpace[$type]['all'] = $allMailboxes;
@@ -2722,57 +2722,57 @@  discard block
 block discarded – undo
2722 2722
 			}
2723 2723
 		}
2724 2724
 		//subscribed folders may be used in getFolderStatus
2725
-		Cache::setCache(Cache::INSTANCE,'email','subscribedFolders'.trim($GLOBALS['egw_info']['user']['account_id']),$subscribedFoldersForCache,$expiration=60*60*1);
2725
+		Cache::setCache(Cache::INSTANCE, 'email', 'subscribedFolders'.trim($GLOBALS['egw_info']['user']['account_id']), $subscribedFoldersForCache, $expiration = 60 * 60 * 1);
2726 2726
 		//echo "<br>FolderNameSpace To Process:";_debug_array($foldersNameSpace);
2727 2727
 		$autoFolderObjects = $folders = array();
2728 2728
 		$autofolder_exists = array();
2729
-		foreach( array('personal', 'others', 'shared') as $type) {
2730
-			if(isset($foldersNameSpace[$type])) {
2731
-				if($_subscribedOnly) {
2732
-					if( !empty($foldersNameSpace[$type]['subscribed']) ) $listOfFolders = $foldersNameSpace[$type]['subscribed'];
2729
+		foreach (array('personal', 'others', 'shared') as $type) {
2730
+			if (isset($foldersNameSpace[$type])) {
2731
+				if ($_subscribedOnly) {
2732
+					if (!empty($foldersNameSpace[$type]['subscribed'])) $listOfFolders = $foldersNameSpace[$type]['subscribed'];
2733 2733
 				} else {
2734
-					if( !empty($foldersNameSpace[$type]['all'])) $listOfFolders = $foldersNameSpace[$type]['all'];
2734
+					if (!empty($foldersNameSpace[$type]['all'])) $listOfFolders = $foldersNameSpace[$type]['all'];
2735 2735
 				}
2736
-				foreach((array)$listOfFolders as $folderName) {
2736
+				foreach ((array)$listOfFolders as $folderName) {
2737 2737
 					//echo "<br>FolderToCheck:$folderName<br>";
2738 2738
 					//error_log(__METHOD__.__LINE__.'#Delimiter:'.$delimiter.':#'.$folderName);
2739
-					if ($_subscribedOnly && empty($foldersNameSpace[$type]['all'])) continue;//when subscribedonly, we fetch all folders in one go.
2740
-					if($_subscribedOnly && !(in_array($folderName, $foldersNameSpace[$type]['all'])||in_array($folderName.$foldersNameSpace[$type]['delimiter'], $foldersNameSpace[$type]['all']))) {
2739
+					if ($_subscribedOnly && empty($foldersNameSpace[$type]['all'])) continue; //when subscribedonly, we fetch all folders in one go.
2740
+					if ($_subscribedOnly && !(in_array($folderName, $foldersNameSpace[$type]['all']) || in_array($folderName.$foldersNameSpace[$type]['delimiter'], $foldersNameSpace[$type]['all']))) {
2741 2741
 						#echo "$folderName failed to be here <br>";
2742 2742
 						continue;
2743 2743
 					}
2744 2744
 					if (isset($folders[$folderName])) continue;
2745 2745
 					if (isset($autoFolderObjects[$folderName])) continue;
2746
-					if (empty($delimiter)||$delimiter != $foldersNameSpace[$type]['delimiter']) $delimiter = $foldersNameSpace[$type]['delimiter'];
2746
+					if (empty($delimiter) || $delimiter != $foldersNameSpace[$type]['delimiter']) $delimiter = $foldersNameSpace[$type]['delimiter'];
2747 2747
 					$folderParts = explode($delimiter, $folderName);
2748 2748
 					$shortName = array_pop($folderParts);
2749 2749
 
2750 2750
 					$folderObject = new \stdClass;
2751
-					$folderObject->delimiter	= $delimiter;
2752
-					$folderObject->folderName	= $folderName;
2753
-					$folderObject->shortFolderName	= $shortName;
2754
-					if(!$_subscribedOnly) {
2751
+					$folderObject->delimiter = $delimiter;
2752
+					$folderObject->folderName = $folderName;
2753
+					$folderObject->shortFolderName = $shortName;
2754
+					if (!$_subscribedOnly) {
2755 2755
 						#echo $folderName."->".$type."<br>";
2756 2756
 						#_debug_array($foldersNameSpace[$type]['subscribed']);
2757 2757
 						$folderObject->subscribed = in_array($folderName, (array)$foldersNameSpace[$type]['subscribed']);
2758 2758
 					}
2759 2759
 
2760
-					if($_getCounters == true) {
2760
+					if ($_getCounters == true) {
2761 2761
 						//error_log(__METHOD__.' ('.__LINE__.') '.' getCounter forFolder:'.$folderName);
2762 2762
 						$folderObject->counter = $this->getMailBoxCounters($folderName);
2763 2763
 					}
2764
-					if(strtoupper($folderName) == 'INBOX') {
2764
+					if (strtoupper($folderName) == 'INBOX') {
2765 2765
 						$folderName = 'INBOX';
2766
-						$folderObject->folderName	= 'INBOX';
2767
-						$folderObject->shortFolderName	= 'INBOX';
2768
-						$folderObject->displayName	= lang('INBOX');
2766
+						$folderObject->folderName = 'INBOX';
2767
+						$folderObject->shortFolderName = 'INBOX';
2768
+						$folderObject->displayName = lang('INBOX');
2769 2769
 						$folderObject->shortDisplayName = lang('INBOX');
2770
-						$folderObject->subscribed	= true;
2770
+						$folderObject->subscribed = true;
2771 2771
 					// translate the automatic Folders (Sent, Drafts, ...) like the INBOX
2772
-					} elseif (in_array($shortName,self::$autoFolders)) {
2773
-						$tmpfolderparts = explode($delimiter,$folderObject->folderName);
2772
+					} elseif (in_array($shortName, self::$autoFolders)) {
2773
+						$tmpfolderparts = explode($delimiter, $folderObject->folderName);
2774 2774
 						array_pop($tmpfolderparts);
2775
-						$folderObject->displayName = implode($delimiter,$tmpfolderparts).$delimiter.lang($shortName);
2775
+						$folderObject->displayName = implode($delimiter, $tmpfolderparts).$delimiter.lang($shortName);
2776 2776
 						$folderObject->shortDisplayName = lang($shortName);
2777 2777
 						unset($tmpfolderparts);
2778 2778
 					} else {
@@ -2780,13 +2780,13 @@  discard block
 block discarded – undo
2780 2780
 						$folderObject->shortDisplayName = $shortName;
2781 2781
 					}
2782 2782
 					//$folderName = $folderName;
2783
-					if (in_array($shortName,self::$autoFolders)&&self::searchValueInFolderObjects($shortName,$autoFolderObjects)===false) {
2783
+					if (in_array($shortName, self::$autoFolders) && self::searchValueInFolderObjects($shortName, $autoFolderObjects) === false) {
2784 2784
 						$autoFolderObjects[$folderName] = $folderObject;
2785 2785
 					} else {
2786 2786
 						$folders[$folderName] = $folderObject;
2787 2787
 					}
2788 2788
 					//error_log(__METHOD__.' ('.__LINE__.') '.':'.$folderObject->folderName);
2789
-					if (!isset(self::$specialUseFolders)) $this->getSpecialUseFolders ();
2789
+					if (!isset(self::$specialUseFolders)) $this->getSpecialUseFolders();
2790 2790
 					if (isset(self::$specialUseFolders[$folderName]))
2791 2791
 					{
2792 2792
 						$autofolder_exists[$folderName] = self::$specialUseFolders[$folderName];
@@ -2795,27 +2795,27 @@  discard block
 block discarded – undo
2795 2795
 			}
2796 2796
 		}
2797 2797
 		if (is_array($autoFolderObjects) && !empty($autoFolderObjects)) {
2798
-			uasort($autoFolderObjects,array($this,"sortByAutoFolderPos"));
2798
+			uasort($autoFolderObjects, array($this, "sortByAutoFolderPos"));
2799 2799
 		}
2800 2800
 		// check if some standard folders are missing and need to be created
2801 2801
 		if (count($autofolder_exists) < count(self::$autoFolders) && $this->check_create_autofolders($autofolder_exists))
2802 2802
 		{
2803 2803
 			// if new folders have been created, re-read folders ignoring the cache
2804
-			return $this->getFolderObjects($_subscribedOnly, $_getCounters, $_alwaysGetDefaultFolders, false);	// false = do NOT use cache
2804
+			return $this->getFolderObjects($_subscribedOnly, $_getCounters, $_alwaysGetDefaultFolders, false); // false = do NOT use cache
2805 2805
 		}
2806
-		if (is_array($folders)) uasort($folders,array($this,"sortByDisplayName"));
2806
+		if (is_array($folders)) uasort($folders, array($this, "sortByDisplayName"));
2807 2807
 		//$folders2return = array_merge($autoFolderObjects,$folders);
2808 2808
 		//_debug_array($folders2return); #exit;
2809
-		$folders2return[$this->icServer->ImapServerId] = array_merge((array)$inboxFolderObject,(array)$autoFolderObjects,(array)$folders);
2810
-		if (($_subscribedOnly && $_getCounters===false) ||
2811
-			($_subscribedOnly == false && $_getCounters===false &&
2809
+		$folders2return[$this->icServer->ImapServerId] = array_merge((array)$inboxFolderObject, (array)$autoFolderObjects, (array)$folders);
2810
+		if (($_subscribedOnly && $_getCounters === false) ||
2811
+			($_subscribedOnly == false && $_getCounters === false &&
2812 2812
 			isset($this->mailPreferences['showAllFoldersInFolderPane']) &&
2813
-			$this->mailPreferences['showAllFoldersInFolderPane']==1))
2813
+			$this->mailPreferences['showAllFoldersInFolderPane'] == 1))
2814 2814
 		{
2815
-			Cache::setCache(Cache::INSTANCE,'email','folderObjects'.trim($GLOBALS['egw_info']['user']['account_id']),$folders2return,$expiration=60*60*1);
2815
+			Cache::setCache(Cache::INSTANCE, 'email', 'folderObjects'.trim($GLOBALS['egw_info']['user']['account_id']), $folders2return, $expiration = 60 * 60 * 1);
2816 2816
 		}
2817
-		Cache::setCache(Cache::INSTANCE,'email','folderBasicInfo'.trim($GLOBALS['egw_info']['user']['account_id']),$folderBasicInfo,$expiration=60*60*1);
2818
-		if (self::$debugTimes) self::logRunTimes($starttime,null,function_backtrace(),__METHOD__.' ('.__LINE__.') ');
2817
+		Cache::setCache(Cache::INSTANCE, 'email', 'folderBasicInfo'.trim($GLOBALS['egw_info']['user']['account_id']), $folderBasicInfo, $expiration = 60 * 60 * 1);
2818
+		if (self::$debugTimes) self::logRunTimes($starttime, null, function_backtrace(), __METHOD__.' ('.__LINE__.') ');
2819 2819
 		return $folders2return[$this->icServer->ImapServerId];
2820 2820
 	}
2821 2821
 
@@ -2836,21 +2836,21 @@  discard block
 block discarded – undo
2836 2836
 	 *
2837 2837
 	 * @return array arrays of folders
2838 2838
 	 */
2839
-	function getFolderArrays ($_nodePath = null, $_onlyTopLevel = false, $_search= 2, $_subscribedOnly = false, $_getCounter = false)
2839
+	function getFolderArrays($_nodePath = null, $_onlyTopLevel = false, $_search = 2, $_subscribedOnly = false, $_getCounter = false)
2840 2840
 	{
2841 2841
 		// delimiter
2842 2842
 		$delimiter = $this->getHierarchyDelimiter();
2843 2843
 
2844
-		$folders = $nameSpace =  array();
2844
+		$folders = $nameSpace = array();
2845 2845
 		$nameSpaceTmp = $this->_getNameSpaces();
2846
-		foreach($nameSpaceTmp as $k => $singleNameSpace) {
2847
-			$nameSpace[$singleNameSpace['type']]=$singleNameSpace;
2846
+		foreach ($nameSpaceTmp as $k => $singleNameSpace) {
2847
+			$nameSpace[$singleNameSpace['type']] = $singleNameSpace;
2848 2848
 		}
2849 2849
 		unset($nameSpaceTmp);
2850 2850
 
2851 2851
 		//error_log(__METHOD__.__LINE__.array2string($nameSpace));
2852 2852
 		// Get special use folders
2853
-		if (!isset(self::$specialUseFolders)) $this->getSpecialUseFolders (); // Set self::$specialUseFolders
2853
+		if (!isset(self::$specialUseFolders)) $this->getSpecialUseFolders(); // Set self::$specialUseFolders
2854 2854
 		// topLevelQueries generally ignore the $_search param. Except for Config::examineNamespace
2855 2855
 		if ($_onlyTopLevel) // top level leaves
2856 2856
 		{
@@ -2861,20 +2861,20 @@  discard block
 block discarded – undo
2861 2861
 			if (is_null(self::$mailConfig)) self::$mailConfig = Config::read('mail');
2862 2862
 			if (self::$mailConfig['examineNamespace'])
2863 2863
 			{
2864
-				$prefixes=array();
2864
+				$prefixes = array();
2865 2865
 				if (is_array($nameSpace))
2866 2866
 				{
2867
-					foreach($nameSpace as $k => $singleNameSpace) {
2867
+					foreach ($nameSpace as $k => $singleNameSpace) {
2868 2868
 						$type = $singleNameSpace['type'];
2869 2869
 
2870
-						if(is_array($singleNameSpace) && $singleNameSpace['prefix']){
2870
+						if (is_array($singleNameSpace) && $singleNameSpace['prefix']) {
2871 2871
 							$prefixes[$type] = $singleNameSpace['prefix'];
2872 2872
 							//regard extra care for nameSpacequeries when configured AND respect $_search
2873
-							$result = $this->icServer->getMailboxes($singleNameSpace['prefix'], $_search==0?0:2, true);
2873
+							$result = $this->icServer->getMailboxes($singleNameSpace['prefix'], $_search == 0 ? 0 : 2, true);
2874 2874
 							if (is_array($result))
2875 2875
 							{
2876 2876
 								ksort($result);
2877
-								$topFolders = array_merge($topFolders,$result);
2877
+								$topFolders = array_merge($topFolders, $result);
2878 2878
 							}
2879 2879
 						}
2880 2880
 					}
@@ -2883,7 +2883,7 @@  discard block
 block discarded – undo
2883 2883
 
2884 2884
 			$autofolders = array();
2885 2885
 
2886
-			foreach(self::$specialUseFolders as $path => $folder)
2886
+			foreach (self::$specialUseFolders as $path => $folder)
2887 2887
 			{
2888 2888
 				if ($this->folderExists($path))
2889 2889
 				{
@@ -2891,9 +2891,9 @@  discard block
 block discarded – undo
2891 2891
 				}
2892 2892
 			}
2893 2893
 			// Check if the special use folders are there, otherwise try to create them
2894
-			if (count($autofolders) < count(self::$autoFolders) && $this->check_create_autofolders ($autofolders))
2894
+			if (count($autofolders) < count(self::$autoFolders) && $this->check_create_autofolders($autofolders))
2895 2895
 			{
2896
-				return $this->getFolderArrays ($_nodePath, $_onlyTopLevel, $_search, $_subscribedOnly, $_getCounter);
2896
+				return $this->getFolderArrays($_nodePath, $_onlyTopLevel, $_search, $_subscribedOnly, $_getCounter);
2897 2897
 			}
2898 2898
 
2899 2899
 			// now process topFolders for next level
@@ -2901,13 +2901,13 @@  discard block
 block discarded – undo
2901 2901
 			{
2902 2902
 				$pattern = "/\\".$delimiter."/";
2903 2903
 				$reference = preg_replace($pattern, '', $node['MAILBOX']);
2904
-				if(!empty($prefixes))
2904
+				if (!empty($prefixes))
2905 2905
 				{
2906 2906
 					$reference = '';
2907
-					$tmpArray = explode($delimiter,$node['MAILBOX']);
2908
-					foreach($tmpArray as $p)
2907
+					$tmpArray = explode($delimiter, $node['MAILBOX']);
2908
+					foreach ($tmpArray as $p)
2909 2909
 					{
2910
-						$reference = empty($reference)?$p:$reference.$delimiter.$p;
2910
+						$reference = empty($reference) ? $p : $reference.$delimiter.$p;
2911 2911
 					}
2912 2912
 				}
2913 2913
 				$mainFolder = $subFolders = array();
@@ -2943,19 +2943,19 @@  discard block
 block discarded – undo
2943 2943
 							$nFolders [$path] = $folder;
2944 2944
 						}
2945 2945
 					}
2946
-					if (is_array($aFolders)) uasort ($aFolders, array($this,'sortByAutofolder'));
2946
+					if (is_array($aFolders)) uasort($aFolders, array($this, 'sortByAutofolder'));
2947 2947
 					//ksort($aFolders);
2948 2948
 
2949 2949
 					// Sort none auto folders base on mailbox name
2950
-					uasort($nFolders,array($this,'sortByMailbox'));
2950
+					uasort($nFolders, array($this, 'sortByMailbox'));
2951 2951
 
2952
-					$subFolders = array_merge($aFolders,$nFolders);
2952
+					$subFolders = array_merge($aFolders, $nFolders);
2953 2953
 				}
2954 2954
 				else
2955 2955
 				{
2956 2956
 					if (is_array($subFolders)) ksort($subFolders);
2957 2957
 				}
2958
-				$folders = array_merge($folders,(array)$mainFolder, (array)$subFolders);
2958
+				$folders = array_merge($folders, (array)$mainFolder, (array)$subFolders);
2959 2959
 			}
2960 2960
 		}
2961 2961
 		elseif ($_nodePath) // single node
@@ -2982,9 +2982,9 @@  discard block
 block discarded – undo
2982 2982
 				$folders = $this->icServer->getMailboxes($path, $_search, true);
2983 2983
 			}
2984 2984
 
2985
-			uasort($folders,array($this,'sortByMailbox'));//ksort($folders);
2985
+			uasort($folders, array($this, 'sortByMailbox')); //ksort($folders);
2986 2986
 		}
2987
-		elseif(!$_nodePath) // all
2987
+		elseif (!$_nodePath) // all
2988 2988
 		{
2989 2989
 			if ($_subscribedOnly)
2990 2990
 			{
@@ -3000,101 +3000,101 @@  discard block
 block discarded – undo
3000 3000
 		{
3001 3001
 			// SORTING FOLDERS
3002 3002
 			//self::$debugTimes=true;
3003
-			if (self::$debugTimes) $starttime = microtime (true);
3003
+			if (self::$debugTimes) $starttime = microtime(true);
3004 3004
 			// Merge of all auto folders and specialusefolders
3005 3005
 			$autoFoldersTmp = array_unique((array_merge(self::$autoFolders, array_values(self::$specialUseFolders))));
3006
-			uasort($folders,array($this,'sortByMailbox'));//ksort($folders);
3006
+			uasort($folders, array($this, 'sortByMailbox')); //ksort($folders);
3007 3007
 			$tmpFolders = $folders;
3008
-			$inboxFolderObject=$inboxSubFolderObjects=$autoFolderObjects=$typeFolderObject=$mySpecialUseFolders=array();
3009
-			$googleMailFolderObject=$googleAutoFolderObjects=$googleSubFolderObjects=array();
3010
-			$isGoogleMail=false;
3011
-			foreach($autoFoldersTmp as $afk=>$aF)
3008
+			$inboxFolderObject = $inboxSubFolderObjects = $autoFolderObjects = $typeFolderObject = $mySpecialUseFolders = array();
3009
+			$googleMailFolderObject = $googleAutoFolderObjects = $googleSubFolderObjects = array();
3010
+			$isGoogleMail = false;
3011
+			foreach ($autoFoldersTmp as $afk=>$aF)
3012 3012
 			{
3013
-				if (!isset($mySpecialUseFolders[$aF]) && $aF) $mySpecialUseFolders[$aF]=$this->getFolderByType($aF,false);
3013
+				if (!isset($mySpecialUseFolders[$aF]) && $aF) $mySpecialUseFolders[$aF] = $this->getFolderByType($aF, false);
3014 3014
 				//error_log($afk.':'.$aF.'->'.$mySpecialUseFolders[$aF]);
3015 3015
 			}
3016 3016
 			//error_log(array2string($mySpecialUseFolders));
3017 3017
 			foreach ($tmpFolders as $k => $f) {
3018
-				$sorted=false;
3019
-				if (strtoupper(substr($k,0,5))=='INBOX') {
3020
-					if (strtoupper($k)=='INBOX') {
3018
+				$sorted = false;
3019
+				if (strtoupper(substr($k, 0, 5)) == 'INBOX') {
3020
+					if (strtoupper($k) == 'INBOX') {
3021 3021
 						//error_log(__METHOD__.__LINE__.':'.strtoupper(substr($k,0,5)).':'.$k);
3022
-						$inboxFolderObject[$k]=$f;
3022
+						$inboxFolderObject[$k] = $f;
3023 3023
 						unset($folders[$k]);
3024
-						$sorted=true;
3024
+						$sorted = true;
3025 3025
 					} else {
3026
-						$isAutoFolder=false;
3027
-						foreach($autoFoldersTmp as $afk=>$aF)
3026
+						$isAutoFolder = false;
3027
+						foreach ($autoFoldersTmp as $afk=>$aF)
3028 3028
 						{
3029 3029
 							//error_log(__METHOD__.__LINE__.$k.':'.$aF.'->'.$mySpecialUseFolders[$aF]);
3030
-							if($aF && strlen($mySpecialUseFolders[$aF])&&/*strlen($k)>=strlen($mySpecialUseFolders[$aF])&&*/
3031
-								($mySpecialUseFolders[$aF]==$k || substr($k,0,strlen($mySpecialUseFolders[$aF].$delimiter))==$mySpecialUseFolders[$aF].$delimiter || //k may be child of an autofolder
3032
-								stristr($mySpecialUseFolders[$aF],$k.$delimiter)!==false)) // k is parent of an autofolder
3030
+							if ($aF && strlen($mySpecialUseFolders[$aF]) && /*strlen($k)>=strlen($mySpecialUseFolders[$aF])&&*/
3031
+								($mySpecialUseFolders[$aF] == $k || substr($k, 0, strlen($mySpecialUseFolders[$aF].$delimiter)) == $mySpecialUseFolders[$aF].$delimiter || //k may be child of an autofolder
3032
+								stristr($mySpecialUseFolders[$aF], $k.$delimiter) !== false)) // k is parent of an autofolder
3033 3033
 							{
3034 3034
 								//error_log(__METHOD__.__LINE__.$k.'->'.$mySpecialUseFolders[$aF]);
3035
-								$isAutoFolder=true;
3036
-								$autoFolderObjects[$k]=$f;
3035
+								$isAutoFolder = true;
3036
+								$autoFolderObjects[$k] = $f;
3037 3037
 								break;
3038 3038
 							}
3039 3039
 						}
3040
-						if ($isAutoFolder==false) $inboxSubFolderObjects[$k]=$f;
3040
+						if ($isAutoFolder == false) $inboxSubFolderObjects[$k] = $f;
3041 3041
 						unset($folders[$k]);
3042
-						$sorted=true;
3042
+						$sorted = true;
3043 3043
 					}
3044
-				} elseif (strtoupper(substr($k,0,13))=='[GOOGLE MAIL]') {
3045
-					$isGoogleMail=true;
3046
-					if (strtoupper($k)=='[GOOGLE MAIL]') {
3047
-						$googleMailFolderObject[$k]=$f;
3044
+				} elseif (strtoupper(substr($k, 0, 13)) == '[GOOGLE MAIL]') {
3045
+					$isGoogleMail = true;
3046
+					if (strtoupper($k) == '[GOOGLE MAIL]') {
3047
+						$googleMailFolderObject[$k] = $f;
3048 3048
 						unset($folders[$k]);
3049
-						$sorted=true;
3049
+						$sorted = true;
3050 3050
 					} else {
3051
-						$isAutoFolder=false;
3052
-						foreach($autoFoldersTmp as $afk=>$aF)
3051
+						$isAutoFolder = false;
3052
+						foreach ($autoFoldersTmp as $afk=>$aF)
3053 3053
 						{
3054 3054
 							//error_log($k.':'.$aF.'->'.$mySpecialUseFolders[$aF]);
3055
-							if($aF && strlen($mySpecialUseFolders[$aF])&&/*strlen($k)>=strlen($mySpecialUseFolders[$aF])&&*/
3056
-								($mySpecialUseFolders[$aF]==$k || substr($k,0,strlen($mySpecialUseFolders[$aF].$delimiter))==$mySpecialUseFolders[$aF].$delimiter|| //k may be child of an autofolder
3057
-								stristr($mySpecialUseFolders[$aF],$k.$delimiter)!==false)) // k is parent of an autofolder
3055
+							if ($aF && strlen($mySpecialUseFolders[$aF]) && /*strlen($k)>=strlen($mySpecialUseFolders[$aF])&&*/
3056
+								($mySpecialUseFolders[$aF] == $k || substr($k, 0, strlen($mySpecialUseFolders[$aF].$delimiter)) == $mySpecialUseFolders[$aF].$delimiter || //k may be child of an autofolder
3057
+								stristr($mySpecialUseFolders[$aF], $k.$delimiter) !== false)) // k is parent of an autofolder
3058 3058
 							{
3059 3059
 								//error_log($k.'->'.$mySpecialUseFolders[$aF]);
3060
-								$isAutoFolder=true;
3061
-								$googleAutoFolderObjects[$k]=$f;
3060
+								$isAutoFolder = true;
3061
+								$googleAutoFolderObjects[$k] = $f;
3062 3062
 								break;
3063 3063
 							}
3064 3064
 						}
3065
-						if ($isAutoFolder==false) $googleSubFolderObjects[$k]=$f;
3065
+						if ($isAutoFolder == false) $googleSubFolderObjects[$k] = $f;
3066 3066
 						unset($folders[$k]);
3067
-						$sorted=true;
3067
+						$sorted = true;
3068 3068
 					}
3069 3069
 				} else {
3070
-					$isAutoFolder=false;
3071
-					foreach($autoFoldersTmp as $afk=>$aF)
3070
+					$isAutoFolder = false;
3071
+					foreach ($autoFoldersTmp as $afk=>$aF)
3072 3072
 					{
3073 3073
 						//error_log($k.':'.$aF.'->'.$mySpecialUseFolders[$aF]);
3074
-						if($aF && strlen($mySpecialUseFolders[$aF])&&/*strlen($k)>=strlen($mySpecialUseFolders[$aF])&&*/
3075
-								($mySpecialUseFolders[$aF]==$k || substr($k,0,strlen($mySpecialUseFolders[$aF].$delimiter))==$mySpecialUseFolders[$aF].$delimiter|| //k may be child of an autofolder
3076
-								stristr($mySpecialUseFolders[$aF],$k.$delimiter)!==false)) // k is parent of an autofolder
3074
+						if ($aF && strlen($mySpecialUseFolders[$aF]) && /*strlen($k)>=strlen($mySpecialUseFolders[$aF])&&*/
3075
+								($mySpecialUseFolders[$aF] == $k || substr($k, 0, strlen($mySpecialUseFolders[$aF].$delimiter)) == $mySpecialUseFolders[$aF].$delimiter || //k may be child of an autofolder
3076
+								stristr($mySpecialUseFolders[$aF], $k.$delimiter) !== false)) // k is parent of an autofolder
3077 3077
 						{
3078 3078
 							//error_log($k.'->'.$mySpecialUseFolders[$aF]);
3079
-							$isAutoFolder=true;
3080
-							$autoFolderObjects[$k]=$f;
3079
+							$isAutoFolder = true;
3080
+							$autoFolderObjects[$k] = $f;
3081 3081
 							unset($folders[$k]);
3082
-							$sorted=true;
3082
+							$sorted = true;
3083 3083
 							break;
3084 3084
 						}
3085 3085
 					}
3086 3086
 				}
3087 3087
 
3088
-				if ($sorted==false)
3088
+				if ($sorted == false)
3089 3089
 				{
3090
-					foreach(array('others','shared') as $type)
3090
+					foreach (array('others', 'shared') as $type)
3091 3091
 					{
3092
-						if ($nameSpace[$type]['prefix_present']&&$nameSpace[$type]['prefix'])
3092
+						if ($nameSpace[$type]['prefix_present'] && $nameSpace[$type]['prefix'])
3093 3093
 						{
3094
-							if (substr($k,0,strlen($nameSpace[$type]['prefix']))==$nameSpace[$type]['prefix']||
3095
-								substr($k,0,strlen($nameSpace[$type]['prefix'])-strlen($nameSpace[$type]['delimiter']))==substr($nameSpace[$type]['prefix'],0,strlen($nameSpace[$type]['delimiter'])*-1)) {
3094
+							if (substr($k, 0, strlen($nameSpace[$type]['prefix'])) == $nameSpace[$type]['prefix'] ||
3095
+								substr($k, 0, strlen($nameSpace[$type]['prefix']) - strlen($nameSpace[$type]['delimiter'])) == substr($nameSpace[$type]['prefix'], 0, strlen($nameSpace[$type]['delimiter']) * -1)) {
3096 3096
 								//error_log(__METHOD__.__LINE__.':'.substr($k,0,strlen($nameSpace[$type]['prefix'])).':'.$k);
3097
-								$typeFolderObject[$type][$k]=$f;
3097
+								$typeFolderObject[$type][$k] = $f;
3098 3098
 								unset($folders[$k]);
3099 3099
 							}
3100 3100
 						}
@@ -3105,40 +3105,40 @@  discard block
 block discarded – undo
3105 3105
 			// avoid calling sortByAutoFolder as it is not regarding subfolders
3106 3106
 			$autoFolderObjectsTmp = $autoFolderObjects;
3107 3107
 			unset($autoFolderObjects);
3108
-			uasort($autoFolderObjectsTmp, array($this,'sortByMailbox'));
3109
-			foreach($autoFoldersTmp as $afk=>$aF)
3108
+			uasort($autoFolderObjectsTmp, array($this, 'sortByMailbox'));
3109
+			foreach ($autoFoldersTmp as $afk=>$aF)
3110 3110
 			{
3111
-				foreach($autoFolderObjectsTmp as $k => $f)
3111
+				foreach ($autoFolderObjectsTmp as $k => $f)
3112 3112
 				{
3113
-					if($aF && ($mySpecialUseFolders[$aF]==$k ||
3114
-						substr($k,0,strlen($mySpecialUseFolders[$aF].$delimiter))==$mySpecialUseFolders[$aF].$delimiter ||
3115
-						stristr($mySpecialUseFolders[$aF],$k.$delimiter)!==false))
3113
+					if ($aF && ($mySpecialUseFolders[$aF] == $k ||
3114
+						substr($k, 0, strlen($mySpecialUseFolders[$aF].$delimiter)) == $mySpecialUseFolders[$aF].$delimiter ||
3115
+						stristr($mySpecialUseFolders[$aF], $k.$delimiter) !== false))
3116 3116
 					{
3117
-						$autoFolderObjects[$k]=$f;
3117
+						$autoFolderObjects[$k] = $f;
3118 3118
 					}
3119 3119
 				}
3120 3120
 			}
3121 3121
 			//error_log(__METHOD__.__LINE__.array2string($autoFolderObjects));
3122 3122
 			if (!$isGoogleMail) {
3123
-				$folders = array_merge($inboxFolderObject,$autoFolderObjects,(array)$inboxSubFolderObjects,(array)$folders,(array)$typeFolderObject['others'],(array)$typeFolderObject['shared']);
3123
+				$folders = array_merge($inboxFolderObject, $autoFolderObjects, (array)$inboxSubFolderObjects, (array)$folders, (array)$typeFolderObject['others'], (array)$typeFolderObject['shared']);
3124 3124
 			} else {
3125 3125
 				// avoid calling sortByAutoFolder as it is not regarding subfolders
3126 3126
 				$gAutoFolderObjectsTmp = $googleAutoFolderObjects;
3127 3127
 				unset($googleAutoFolderObjects);
3128
-				uasort($gAutoFolderObjectsTmp, array($this,'sortByMailbox'));
3129
-				foreach($autoFoldersTmp as $afk=>$aF)
3128
+				uasort($gAutoFolderObjectsTmp, array($this, 'sortByMailbox'));
3129
+				foreach ($autoFoldersTmp as $afk=>$aF)
3130 3130
 				{
3131
-					foreach($gAutoFolderObjectsTmp as $k => $f)
3131
+					foreach ($gAutoFolderObjectsTmp as $k => $f)
3132 3132
 					{
3133
-						if($aF && ($mySpecialUseFolders[$aF]==$k || substr($k,0,strlen($mySpecialUseFolders[$aF].$delimiter))==$mySpecialUseFolders[$aF].$delimiter))
3133
+						if ($aF && ($mySpecialUseFolders[$aF] == $k || substr($k, 0, strlen($mySpecialUseFolders[$aF].$delimiter)) == $mySpecialUseFolders[$aF].$delimiter))
3134 3134
 						{
3135
-							$googleAutoFolderObjects[$k]=$f;
3135
+							$googleAutoFolderObjects[$k] = $f;
3136 3136
 						}
3137 3137
 					}
3138 3138
 				}
3139
-				$folders = array_merge($inboxFolderObject,$autoFolderObjects,(array)$folders,(array)$googleMailFolderObject,$googleAutoFolderObjects,$googleSubFolderObjects,(array)$typeFolderObject['others'],(array)$typeFolderObject['shared']);
3139
+				$folders = array_merge($inboxFolderObject, $autoFolderObjects, (array)$folders, (array)$googleMailFolderObject, $googleAutoFolderObjects, $googleSubFolderObjects, (array)$typeFolderObject['others'], (array)$typeFolderObject['shared']);
3140 3140
 			}
3141
-			if (self::$debugTimes) self::logRunTimes($starttime,null,function_backtrace(),__METHOD__.' ('.__LINE__.') Sorting:');
3141
+			if (self::$debugTimes) self::logRunTimes($starttime, null, function_backtrace(), __METHOD__.' ('.__LINE__.') Sorting:');
3142 3142
 			//self::$debugTimes=false;
3143 3143
 		}
3144 3144
 		// Get counter information and add them to each fetched folders array
@@ -3160,10 +3160,10 @@  discard block
 block discarded – undo
3160 3160
 	 * @param array $autofolders_exists existing folders, no need to check their existance again
3161 3161
 	 * @return int number of new folders created
3162 3162
 	 */
3163
-	function check_create_autofolders(array $autofolders_exists=array())
3163
+	function check_create_autofolders(array $autofolders_exists = array())
3164 3164
 	{
3165 3165
 		$num_created = 0;
3166
-		foreach(self::$autoFolders as $folder)
3166
+		foreach (self::$autoFolders as $folder)
3167 3167
 		{
3168 3168
 			$created = false;
3169 3169
 			if (!in_array($folder, $autofolders_exists) && $this->_getSpecialUseFolder($folder, true, $created) &&
@@ -3188,7 +3188,7 @@  discard block
 block discarded – undo
3188 3188
 		$rv = false;
3189 3189
 		foreach ($haystack as $k => $v)
3190 3190
 		{
3191
-			foreach($v as &$sv) {if (trim($sv)==trim($needle)) return $k;}
3191
+			foreach ($v as &$sv) {if (trim($sv) == trim($needle)) return $k; }
3192 3192
 		}
3193 3193
 		return $rv;
3194 3194
 	}
@@ -3201,9 +3201,9 @@  discard block
 block discarded – undo
3201 3201
 	 * @param array $b array of folders
3202 3202
 	 * @return int expect values (0, 1 or -1)
3203 3203
 	 */
3204
-	function sortByMailbox($a,$b)
3204
+	function sortByMailbox($a, $b)
3205 3205
 	{
3206
-		return strcasecmp($a['MAILBOX'],$b['MAILBOX']);
3206
+		return strcasecmp($a['MAILBOX'], $b['MAILBOX']);
3207 3207
 	}
3208 3208
 
3209 3209
 	/**
@@ -3213,13 +3213,13 @@  discard block
 block discarded – undo
3213 3213
 	 * @param string $_hDelimiter hierarchy delimiter
3214 3214
 	 * @return array returns an array of data extracted from given node path
3215 3215
 	 */
3216
-	static function pathToFolderData ($_path, $_hDelimiter)
3216
+	static function pathToFolderData($_path, $_hDelimiter)
3217 3217
 	{
3218 3218
 		if (!strpos($_path, self::DELIMITER)) $_path = self::DELIMITER.$_path;
3219 3219
 		list(,$path) = explode(self::DELIMITER, $_path);
3220 3220
 		$path_chain = $parts = explode($_hDelimiter, $path);
3221 3221
 		$name = array_pop($parts);
3222
-		return array (
3222
+		return array(
3223 3223
 			'name' => $name,
3224 3224
 			'mailbox' => $path,
3225 3225
 			'parent' => implode($_hDelimiter, $parts),
@@ -3242,8 +3242,8 @@  discard block
 block discarded – undo
3242 3242
 		// 0, 1 und -1
3243 3243
 		$a = self::pathToFolderData($_a['MAILBOX'], $_a['delimiter']);
3244 3244
 		$b = self::pathToFolderData($_b['MAILBOX'], $_b['delimiter']);
3245
-		$pos1 = array_search(trim($a['name']),self::$autoFolders);
3246
-		$pos2 = array_search(trim($b['name']),self::$autoFolders);
3245
+		$pos1 = array_search(trim($a['name']), self::$autoFolders);
3246
+		$pos2 = array_search(trim($b['name']), self::$autoFolders);
3247 3247
 		if ($pos1 == $pos2) return 0;
3248 3248
 		return ($pos1 < $pos2) ? -1 : 1;
3249 3249
 	}
@@ -3256,10 +3256,10 @@  discard block
 block discarded – undo
3256 3256
 	 * @param object $b array of folderobjects
3257 3257
 	 * @return int expect values (0, 1 or -1)
3258 3258
 	 */
3259
-	function sortByDisplayName($a,$b)
3259
+	function sortByDisplayName($a, $b)
3260 3260
 	{
3261 3261
 		// 0, 1 und -1
3262
-		return strcasecmp($a->displayName,$b->displayName);
3262
+		return strcasecmp($a->displayName, $b->displayName);
3263 3263
 	}
3264 3264
 
3265 3265
 	/**
@@ -3270,11 +3270,11 @@  discard block
 block discarded – undo
3270 3270
 	 * @param object $b array of folderobjects
3271 3271
 	 * @return int expect values (0, 1 or -1)
3272 3272
 	 */
3273
-	function sortByAutoFolderPos($a,$b)
3273
+	function sortByAutoFolderPos($a, $b)
3274 3274
 	{
3275 3275
 		// 0, 1 und -1
3276
-		$pos1 = array_search(trim($a->shortFolderName),self::$autoFolders);
3277
-		$pos2 = array_search(trim($b->shortFolderName),self::$autoFolders);
3276
+		$pos1 = array_search(trim($a->shortFolderName), self::$autoFolders);
3277
+		$pos2 = array_search(trim($b->shortFolderName), self::$autoFolders);
3278 3278
 		if ($pos1 == $pos2) return 0;
3279 3279
 		return ($pos1 < $pos2) ? -1 : 1;
3280 3280
 	}
@@ -3287,7 +3287,7 @@  discard block
 block discarded – undo
3287 3287
 	 * @param boolean $_returnObject return the counters as object rather than an array
3288 3288
 	 * @return mixed false or array of counters array(MESSAGES,UNSEEN,RECENT,UIDNEXT,UIDVALIDITY) or object
3289 3289
 	 */
3290
-	function getMailBoxCounters($folderName,$_returnObject=true)
3290
+	function getMailBoxCounters($folderName, $_returnObject = true)
3291 3291
 	{
3292 3292
 		try
3293 3293
 		{
@@ -3299,9 +3299,9 @@  discard block
 block discarded – undo
3299 3299
 			if (self::$debug) error_log(__METHOD__." returned FolderStatus for Folder $folderName:".$e->getMessage());
3300 3300
 			return false;
3301 3301
 		}
3302
-		if(is_array($folderStatus)) {
3303
-			if ($_returnObject===false) return $folderStatus;
3304
-			$status =  new \stdClass;
3302
+		if (is_array($folderStatus)) {
3303
+			if ($_returnObject === false) return $folderStatus;
3304
+			$status = new \stdClass;
3305 3305
 			$status->messages   = $folderStatus['MESSAGES'];
3306 3306
 			$status->unseen     = $folderStatus['UNSEEN'];
3307 3307
 			$status->recent     = $folderStatus['RECENT'];
@@ -3323,42 +3323,42 @@  discard block
 block discarded – undo
3323 3323
 	 * @param string $reclevel 0, counter to keep track of the current recursionlevel
3324 3324
 	 * @return array of mailboxes
3325 3325
 	 */
3326
-	function getMailBoxesRecursive($_mailbox, $delimiter, $prefix, $reclevel=0)
3326
+	function getMailBoxesRecursive($_mailbox, $delimiter, $prefix, $reclevel = 0)
3327 3327
 	{
3328 3328
 		#echo __METHOD__." retrieve SubFolders for $_mailbox$delimiter <br>";
3329
-		$maxreclevel=25;
3329
+		$maxreclevel = 25;
3330 3330
 		if ($reclevel > $maxreclevel) {
3331
-			error_log( __METHOD__." Recursion Level Exeeded ($reclevel) while looking up $_mailbox$delimiter ");
3331
+			error_log(__METHOD__." Recursion Level Exeeded ($reclevel) while looking up $_mailbox$delimiter ");
3332 3332
 			return array();
3333 3333
 		}
3334 3334
 		$reclevel++;
3335 3335
 		// clean up double delimiters
3336
-		$_mailbox = preg_replace('~'.($delimiter == '.' ? "\\".$delimiter:$delimiter).'+~s',$delimiter,$_mailbox);
3336
+		$_mailbox = preg_replace('~'.($delimiter == '.' ? "\\".$delimiter : $delimiter).'+~s', $delimiter, $_mailbox);
3337 3337
 		//get that mailbox in question
3338
-		$mbx = $this->icServer->getMailboxes($_mailbox,1,true);
3338
+		$mbx = $this->icServer->getMailboxes($_mailbox, 1, true);
3339 3339
 		$mbxkeys = array_keys($mbx);
3340 3340
 		#_debug_array($mbx);
3341 3341
 //error_log(__METHOD__.' ('.__LINE__.') '.' Delimiter:'.array2string($delimiter));
3342 3342
 //error_log(__METHOD__.' ('.__LINE__.') '.array2string($mbx));
3343 3343
 		// Example: Array([INBOX/GaGa] => Array([MAILBOX] => INBOX/GaGa[ATTRIBUTES] => Array([0] => \\unmarked)[delimiter] => /))
3344
-		if (is_array($mbx[$mbxkeys[0]]["ATTRIBUTES"]) && (in_array('\HasChildren',$mbx[$mbxkeys[0]]["ATTRIBUTES"]) || in_array('\Haschildren',$mbx[$mbxkeys[0]]["ATTRIBUTES"]) || in_array('\haschildren',$mbx[$mbxkeys[0]]["ATTRIBUTES"]))) {
3344
+		if (is_array($mbx[$mbxkeys[0]]["ATTRIBUTES"]) && (in_array('\HasChildren', $mbx[$mbxkeys[0]]["ATTRIBUTES"]) || in_array('\Haschildren', $mbx[$mbxkeys[0]]["ATTRIBUTES"]) || in_array('\haschildren', $mbx[$mbxkeys[0]]["ATTRIBUTES"]))) {
3345 3345
 			// if there are children fetch them
3346 3346
 			//echo $mbx[$mbxkeys[0]]['MAILBOX']."<br>";
3347 3347
 
3348
-			$buff = $this->icServer->getMailboxes($mbx[$mbxkeys[0]]['MAILBOX'].($mbx[$mbxkeys[0]]['MAILBOX'] == $prefix ? '':$delimiter),2,false);
3348
+			$buff = $this->icServer->getMailboxes($mbx[$mbxkeys[0]]['MAILBOX'].($mbx[$mbxkeys[0]]['MAILBOX'] == $prefix ? '' : $delimiter), 2, false);
3349 3349
 			//$buff = $this->icServer->getMailboxes($mbx[$mbxkeys[0]]['MAILBOX'],2,false);
3350 3350
 			//_debug_array($buff);
3351 3351
 			$allMailboxes = array();
3352 3352
 			foreach ($buff as $mbxname) {
3353 3353
 //error_log(__METHOD__.' ('.__LINE__.') '.array2string($mbxname));
3354
-				$mbxname = preg_replace('~'.($delimiter == '.' ? "\\".$delimiter:$delimiter).'+~s',$delimiter,$mbxname['MAILBOX']);
3354
+				$mbxname = preg_replace('~'.($delimiter == '.' ? "\\".$delimiter : $delimiter).'+~s', $delimiter, $mbxname['MAILBOX']);
3355 3355
 				#echo "About to recur in level $reclevel:".$mbxname."<br>";
3356
-				if ( $mbxname != $mbx[$mbxkeys[0]]['MAILBOX'] && $mbxname != $prefix  && $mbxname != $mbx[$mbxkeys[0]]['MAILBOX'].$delimiter)
3356
+				if ($mbxname != $mbx[$mbxkeys[0]]['MAILBOX'] && $mbxname != $prefix && $mbxname != $mbx[$mbxkeys[0]]['MAILBOX'].$delimiter)
3357 3357
 				{
3358 3358
 					$allMailboxes = array_merge($allMailboxes, self::getMailBoxesRecursive($mbxname, $delimiter, $prefix, $reclevel));
3359 3359
 				}
3360 3360
 			}
3361
-			if (!(in_array('\NoSelect',$mbx[$mbxkeys[0]]["ATTRIBUTES"]) || in_array('\Noselect',$mbx[$mbxkeys[0]]["ATTRIBUTES"]) || in_array('\noselect',$mbx[$mbxkeys[0]]["ATTRIBUTES"]))) $allMailboxes[] = $mbx[$mbxkeys[0]]['MAILBOX'];
3361
+			if (!(in_array('\NoSelect', $mbx[$mbxkeys[0]]["ATTRIBUTES"]) || in_array('\Noselect', $mbx[$mbxkeys[0]]["ATTRIBUTES"]) || in_array('\noselect', $mbx[$mbxkeys[0]]["ATTRIBUTES"]))) $allMailboxes[] = $mbx[$mbxkeys[0]]['MAILBOX'];
3362 3362
 			return $allMailboxes;
3363 3363
 		} else {
3364 3364
 			return array($_mailbox);
@@ -3373,18 +3373,18 @@  discard block
 block discarded – undo
3373 3373
 	 * @param boolean& $created =null on return true: if folder was just created, false if not
3374 3374
 	 * @return mixed string or false
3375 3375
 	 */
3376
-	function _getSpecialUseFolder($_type, $_checkexistance=TRUE, &$created=null)
3376
+	function _getSpecialUseFolder($_type, $_checkexistance = TRUE, &$created = null)
3377 3377
 	{
3378 3378
 		static $types = array(
3379
-			'Drafts'   => array('profileKey'=>'acc_folder_draft','autoFolderName'=>'Drafts'),
3380
-			'Template' => array('profileKey'=>'acc_folder_template','autoFolderName'=>'Templates'),
3381
-			'Trash'    => array('profileKey'=>'acc_folder_trash','autoFolderName'=>'Trash'),
3382
-			'Sent'     => array('profileKey'=>'acc_folder_sent','autoFolderName'=>'Sent'),
3383
-			'Junk'     => array('profileKey'=>'acc_folder_junk','autoFolderName'=>'Junk'),
3384
-			'Outbox'   => array('profileKey'=>'acc_folder_outbox','autoFolderName'=>'Outbox'),
3385
-			'Archive'   => array('profileKey'=>'acc_folder_archive','autoFolderName'=>'Archive'),
3379
+			'Drafts'   => array('profileKey'=>'acc_folder_draft', 'autoFolderName'=>'Drafts'),
3380
+			'Template' => array('profileKey'=>'acc_folder_template', 'autoFolderName'=>'Templates'),
3381
+			'Trash'    => array('profileKey'=>'acc_folder_trash', 'autoFolderName'=>'Trash'),
3382
+			'Sent'     => array('profileKey'=>'acc_folder_sent', 'autoFolderName'=>'Sent'),
3383
+			'Junk'     => array('profileKey'=>'acc_folder_junk', 'autoFolderName'=>'Junk'),
3384
+			'Outbox'   => array('profileKey'=>'acc_folder_outbox', 'autoFolderName'=>'Outbox'),
3385
+			'Archive'   => array('profileKey'=>'acc_folder_archive', 'autoFolderName'=>'Archive'),
3386 3386
 		);
3387
-		if ($_type == 'Templates') $_type = 'Template';	// for some reason self::$autofolders uses 'Templates'!
3387
+		if ($_type == 'Templates') $_type = 'Template'; // for some reason self::$autofolders uses 'Templates'!
3388 3388
 		$created = false;
3389 3389
 		if (!isset($types[$_type]))
3390 3390
 		{
@@ -3406,7 +3406,7 @@  discard block
 block discarded – undo
3406 3406
 		}
3407 3407
 		// do not try to autocreate configured Archive-Folder. Return false if configured folder does not exist
3408 3408
 		if ($_type == 'Archive') {
3409
-			if ($_folderName && $_checkexistance && strtolower($_folderName) !='none' && !$this->folderExists($_folderName,true)) {
3409
+			if ($_folderName && $_checkexistance && strtolower($_folderName) != 'none' && !$this->folderExists($_folderName, true)) {
3410 3410
 				return false;
3411 3411
 			} else {
3412 3412
 				return $_folderName;
@@ -3414,38 +3414,38 @@  discard block
 block discarded – undo
3414 3414
 
3415 3415
 		}
3416 3416
 		// does the folder exist??? (is configured/preset, but non-existent)
3417
-		if ($_folderName && $_checkexistance && strtolower($_folderName) !='none' && !$this->folderExists($_folderName,true)) {
3417
+		if ($_folderName && $_checkexistance && strtolower($_folderName) != 'none' && !$this->folderExists($_folderName, true)) {
3418 3418
 			try
3419 3419
 			{
3420 3420
 				$error = null;
3421 3421
 				if (($_folderName = $this->createFolder('', $_folderName, $error))) $created = true;
3422 3422
 				if ($error) error_log(__METHOD__.' ('.__LINE__.') '.' Failed to create Folder '.$_folderName." for $_type:".$error);
3423 3423
 			}
3424
-			catch(Exception $e)
3424
+			catch (Exception $e)
3425 3425
 			{
3426 3426
 				error_log(__METHOD__.' ('.__LINE__.') '.' Failed to create Folder '.$_folderName." for $_type:".$e->getMessage().':'.function_backtrace());
3427 3427
 				$_folderName = false;
3428 3428
 			}
3429 3429
 		}
3430 3430
 		// not sure yet if false is the correct behavior on none
3431
-		if ($_folderName =='none') return 'none' ; //false;
3431
+		if ($_folderName == 'none') return 'none'; //false;
3432 3432
 		//no (valid) folder found yet; try specialUseFolders
3433
-		if (empty($_folderName) && is_array(self::$specialUseFolders) && ($f = array_search($_type,self::$specialUseFolders))) $_folderName = $f;
3433
+		if (empty($_folderName) && is_array(self::$specialUseFolders) && ($f = array_search($_type, self::$specialUseFolders))) $_folderName = $f;
3434 3434
 		//no specialUseFolder; try some Defaults
3435 3435
 		if (empty($_folderName) && isset($types[$_type]))
3436 3436
 		{
3437 3437
 			$nameSpace = $this->_getNameSpaces();
3438
-			$prefix='';
3438
+			$prefix = '';
3439 3439
 			foreach ($nameSpace as $nSp)
3440 3440
 			{
3441
-				if ($nSp['type']=='personal')
3441
+				if ($nSp['type'] == 'personal')
3442 3442
 				{
3443 3443
 					//error_log(__METHOD__.__LINE__.array2string($nSp));
3444 3444
 					$prefix = $nSp['prefix'];
3445 3445
 					break;
3446 3446
 				}
3447 3447
 			}
3448
-			if ($this->folderExists($prefix.$types[$_type]['autoFolderName'],true))
3448
+			if ($this->folderExists($prefix.$types[$_type]['autoFolderName'], true))
3449 3449
 			{
3450 3450
 				$_folderName = $prefix.$types[$_type]['autoFolderName'];
3451 3451
 			}
@@ -3454,11 +3454,11 @@  discard block
 block discarded – undo
3454 3454
 				try
3455 3455
 				{
3456 3456
 					$error = null;
3457
-					$this->createFolder('', $prefix.$types[$_type]['autoFolderName'],$error);
3457
+					$this->createFolder('', $prefix.$types[$_type]['autoFolderName'], $error);
3458 3458
 					$_folderName = $prefix.$types[$_type]['autoFolderName'];
3459 3459
 					if ($error) error_log(__METHOD__.' ('.__LINE__.') '.' Failed to create Folder '.$_folderName." for $_type:".$error);
3460 3460
 				}
3461
-				catch(Exception $e)
3461
+				catch (Exception $e)
3462 3462
 				{
3463 3463
 					error_log(__METHOD__.' ('.__LINE__.') '.' Failed to create Folder '.$_folderName." for $_type:".$e->getMessage());
3464 3464
 					$_folderName = false;
@@ -3474,7 +3474,7 @@  discard block
 block discarded – undo
3474 3474
 	 * @param boolean $_checkexistance trigger check for existance
3475 3475
 	 * @return mixed string or false
3476 3476
 	 */
3477
-	function getFolderByType($type, $_checkexistance=false)
3477
+	function getFolderByType($type, $_checkexistance = false)
3478 3478
 	{
3479 3479
 		return $this->_getSpecialUseFolder($type, $_checkexistance);
3480 3480
 	}
@@ -3484,7 +3484,7 @@  discard block
 block discarded – undo
3484 3484
 	 * @param boolean $_checkexistance trigger check for existance
3485 3485
 	 * @return mixed string or false
3486 3486
 	 */
3487
-	function getJunkFolder($_checkexistance=TRUE)
3487
+	function getJunkFolder($_checkexistance = TRUE)
3488 3488
 	{
3489 3489
 		return $this->_getSpecialUseFolder('Junk', $_checkexistance);
3490 3490
 	}
@@ -3494,7 +3494,7 @@  discard block
 block discarded – undo
3494 3494
 	 * @param boolean $_checkexistance trigger check for existance
3495 3495
 	 * @return mixed string or false
3496 3496
 	 */
3497
-	function getDraftFolder($_checkexistance=TRUE)
3497
+	function getDraftFolder($_checkexistance = TRUE)
3498 3498
 	{
3499 3499
 		return $this->_getSpecialUseFolder('Drafts', $_checkexistance);
3500 3500
 	}
@@ -3504,7 +3504,7 @@  discard block
 block discarded – undo
3504 3504
 	 * @param boolean $_checkexistance trigger check for existance
3505 3505
 	 * @return mixed string or false
3506 3506
 	 */
3507
-	function getTemplateFolder($_checkexistance=TRUE)
3507
+	function getTemplateFolder($_checkexistance = TRUE)
3508 3508
 	{
3509 3509
 		return $this->_getSpecialUseFolder('Template', $_checkexistance);
3510 3510
 	}
@@ -3514,7 +3514,7 @@  discard block
 block discarded – undo
3514 3514
 	 * @param boolean $_checkexistance trigger check for existance
3515 3515
 	 * @return mixed string or false
3516 3516
 	 */
3517
-	function getTrashFolder($_checkexistance=TRUE)
3517
+	function getTrashFolder($_checkexistance = TRUE)
3518 3518
 	{
3519 3519
 		return $this->_getSpecialUseFolder('Trash', $_checkexistance);
3520 3520
 	}
@@ -3524,7 +3524,7 @@  discard block
 block discarded – undo
3524 3524
 	 * @param boolean $_checkexistance trigger check for existance
3525 3525
 	 * @return mixed string or false
3526 3526
 	 */
3527
-	function getSentFolder($_checkexistance=TRUE)
3527
+	function getSentFolder($_checkexistance = TRUE)
3528 3528
 	{
3529 3529
 		return $this->_getSpecialUseFolder('Sent', $_checkexistance);
3530 3530
 	}
@@ -3534,7 +3534,7 @@  discard block
 block discarded – undo
3534 3534
 	 * @param boolean $_checkexistance trigger check for existance
3535 3535
 	 * @return mixed string or false
3536 3536
 	 */
3537
-	function getOutboxFolder($_checkexistance=TRUE)
3537
+	function getOutboxFolder($_checkexistance = TRUE)
3538 3538
 	{
3539 3539
 		return $this->_getSpecialUseFolder('Outbox', $_checkexistance);
3540 3540
 	}
@@ -3544,7 +3544,7 @@  discard block
 block discarded – undo
3544 3544
 	 * @param boolean $_checkexistance trigger check for existance . We do no autocreation for configured Archive folder
3545 3545
 	 * @return mixed string or false
3546 3546
 	 */
3547
-	function getArchiveFolder($_checkexistance=TRUE)
3547
+	function getArchiveFolder($_checkexistance = TRUE)
3548 3548
 	{
3549 3549
 		return $this->_getSpecialUseFolder('Archive', $_checkexistance);
3550 3550
 	}
@@ -3556,10 +3556,10 @@  discard block
 block discarded – undo
3556 3556
 	 * @param boolean $_exactMatch make the check more strict. return false if folder is subfolder only
3557 3557
 	 * @return boolean
3558 3558
 	 */
3559
-	function isSentFolder($_folderName, $_checkexistance=TRUE, $_exactMatch=false)
3559
+	function isSentFolder($_folderName, $_checkexistance = TRUE, $_exactMatch = false)
3560 3560
 	{
3561 3561
 		$sentFolder = $this->getSentFolder($_checkexistance);
3562
-		if(empty($sentFolder)) {
3562
+		if (empty($sentFolder)) {
3563 3563
 			return false;
3564 3564
 		}
3565 3565
 		// does the folder exist???
@@ -3569,13 +3569,13 @@  discard block
 block discarded – undo
3569 3569
 
3570 3570
 		if ($_exactMatch)
3571 3571
 		{
3572
-			if(false !== stripos($_folderName, $sentFolder)&& strlen($_folderName)==strlen($sentFolder)) {
3572
+			if (false !== stripos($_folderName, $sentFolder) && strlen($_folderName) == strlen($sentFolder)) {
3573 3573
 				return true;
3574 3574
 			} else {
3575 3575
 				return false;
3576 3576
 			}
3577 3577
 		} else {
3578
-			if(false !== stripos($_folderName, $sentFolder)) {
3578
+			if (false !== stripos($_folderName, $sentFolder)) {
3579 3579
 				return true;
3580 3580
 			} else {
3581 3581
 				return false;
@@ -3590,9 +3590,9 @@  discard block
 block discarded – undo
3590 3590
 	 * @param boolean $_exactMatch make the check more strict. return false if folder is subfolder only
3591 3591
 	 * @return boolean
3592 3592
 	 */
3593
-	function isOutbox($_folderName, $_checkexistance=TRUE, $_exactMatch=false)
3593
+	function isOutbox($_folderName, $_checkexistance = TRUE, $_exactMatch = false)
3594 3594
 	{
3595
-		if (stripos($_folderName, 'Outbox')===false) {
3595
+		if (stripos($_folderName, 'Outbox') === false) {
3596 3596
 			return false;
3597 3597
 		}
3598 3598
 		// does the folder exist???
@@ -3600,13 +3600,13 @@  discard block
 block discarded – undo
3600 3600
 			$outboxFolder = $this->getOutboxFolder($_checkexistance);
3601 3601
 			if ($_exactMatch)
3602 3602
 			{
3603
-				if(false !== stripos($_folderName, $outboxFolder)&& strlen($_folderName)==strlen($outboxFolder)) {
3603
+				if (false !== stripos($_folderName, $outboxFolder) && strlen($_folderName) == strlen($outboxFolder)) {
3604 3604
 					return true;
3605 3605
 				} else {
3606 3606
 					return false;
3607 3607
 				}
3608 3608
 			} else {
3609
-				if(false !== stripos($_folderName, $outboxFolder)) {
3609
+				if (false !== stripos($_folderName, $outboxFolder)) {
3610 3610
 					return true;
3611 3611
 				} else {
3612 3612
 					return false;
@@ -3623,26 +3623,26 @@  discard block
 block discarded – undo
3623 3623
 	 * @param boolean $_exactMatch make the check more strict. return false if folder is subfolder only
3624 3624
 	 * @return boolean
3625 3625
 	 */
3626
-	function isDraftFolder($_folderName, $_checkexistance=TRUE, $_exactMatch=false)
3626
+	function isDraftFolder($_folderName, $_checkexistance = TRUE, $_exactMatch = false)
3627 3627
 	{
3628 3628
 		$draftFolder = $this->getDraftFolder($_checkexistance);
3629
-		if(empty($draftFolder)) {
3629
+		if (empty($draftFolder)) {
3630 3630
 			return false;
3631 3631
 		}
3632 3632
 		// does the folder exist???
3633 3633
 		if ($_checkexistance && !$this->folderExists($_folderName)) {
3634 3634
 			return false;
3635 3635
 		}
3636
-		if (is_a($_folderName,"Horde_Imap_Client_Mailbox")) $_folderName = $_folderName->utf8;
3636
+		if (is_a($_folderName, "Horde_Imap_Client_Mailbox")) $_folderName = $_folderName->utf8;
3637 3637
 		if ($_exactMatch)
3638 3638
 		{
3639
-			if(false !== stripos($_folderName, $draftFolder)&& strlen($_folderName)==strlen($draftFolder)) {
3639
+			if (false !== stripos($_folderName, $draftFolder) && strlen($_folderName) == strlen($draftFolder)) {
3640 3640
 				return true;
3641 3641
 			} else {
3642 3642
 				return false;
3643 3643
 			}
3644 3644
 		} else {
3645
-			if(false !== stripos($_folderName, $draftFolder)) {
3645
+			if (false !== stripos($_folderName, $draftFolder)) {
3646 3646
 				return true;
3647 3647
 			} else {
3648 3648
 				return false;
@@ -3657,10 +3657,10 @@  discard block
 block discarded – undo
3657 3657
 	 * @param boolean $_exactMatch make the check more strict. return false if folder is subfolder only
3658 3658
 	 * @return boolean
3659 3659
 	 */
3660
-	function isTrashFolder($_folderName, $_checkexistance=TRUE, $_exactMatch=false)
3660
+	function isTrashFolder($_folderName, $_checkexistance = TRUE, $_exactMatch = false)
3661 3661
 	{
3662 3662
 		$trashFolder = $this->getTrashFolder($_checkexistance);
3663
-		if(empty($trashFolder)) {
3663
+		if (empty($trashFolder)) {
3664 3664
 			return false;
3665 3665
 		}
3666 3666
 		// does the folder exist???
@@ -3670,13 +3670,13 @@  discard block
 block discarded – undo
3670 3670
 
3671 3671
 		if ($_exactMatch)
3672 3672
 		{
3673
-			if(false !== stripos($_folderName, $trashFolder)&& strlen($_folderName)==strlen($trashFolder)) {
3673
+			if (false !== stripos($_folderName, $trashFolder) && strlen($_folderName) == strlen($trashFolder)) {
3674 3674
 				return true;
3675 3675
 			} else {
3676 3676
 				return false;
3677 3677
 			}
3678 3678
 		} else {
3679
-			if(false !== stripos($_folderName, $trashFolder)) {
3679
+			if (false !== stripos($_folderName, $trashFolder)) {
3680 3680
 				return true;
3681 3681
 			} else {
3682 3682
 				return false;
@@ -3691,10 +3691,10 @@  discard block
 block discarded – undo
3691 3691
 	 * @param boolean $_exactMatch make the check more strict. return false if folder is subfolder only
3692 3692
 	 * @return boolean
3693 3693
 	 */
3694
-	function isTemplateFolder($_folderName, $_checkexistance=TRUE, $_exactMatch=false)
3694
+	function isTemplateFolder($_folderName, $_checkexistance = TRUE, $_exactMatch = false)
3695 3695
 	{
3696 3696
 		$templateFolder = $this->getTemplateFolder($_checkexistance);
3697
-		if(empty($templateFolder)) {
3697
+		if (empty($templateFolder)) {
3698 3698
 			return false;
3699 3699
 		}
3700 3700
 		// does the folder exist???
@@ -3703,13 +3703,13 @@  discard block
 block discarded – undo
3703 3703
 		}
3704 3704
 		if ($_exactMatch)
3705 3705
 		{
3706
-			if(false !== stripos($_folderName, $templateFolder)&& strlen($_folderName)==strlen($templateFolder)) {
3706
+			if (false !== stripos($_folderName, $templateFolder) && strlen($_folderName) == strlen($templateFolder)) {
3707 3707
 				return true;
3708 3708
 			} else {
3709 3709
 				return false;
3710 3710
 			}
3711 3711
 		} else {
3712
-			if(false !== stripos($_folderName, $templateFolder)) {
3712
+			if (false !== stripos($_folderName, $templateFolder)) {
3713 3713
 				return true;
3714 3714
 			} else {
3715 3715
 				return false;
@@ -3723,24 +3723,24 @@  discard block
 block discarded – undo
3723 3723
 	 * @param boolean $_forceCheck trigger check for existance on icServer
3724 3724
 	 * @return mixed string or false
3725 3725
 	 */
3726
-	function folderExists($_folder, $_forceCheck=false)
3726
+	function folderExists($_folder, $_forceCheck = false)
3727 3727
 	{
3728 3728
 		static $folderInfo;
3729 3729
 		$forceCheck = $_forceCheck;
3730 3730
 		if (empty($_folder))
3731 3731
 		{
3732 3732
 			// this error is more or less without significance, unless we force the check
3733
-			if ($_forceCheck===true) error_log(__METHOD__.' ('.__LINE__.') '.' Called with empty Folder:'.$_folder.function_backtrace());
3733
+			if ($_forceCheck === true) error_log(__METHOD__.' ('.__LINE__.') '.' Called with empty Folder:'.$_folder.function_backtrace());
3734 3734
 			return false;
3735 3735
 		}
3736 3736
 		// when check is not enforced , we assume a folder represented as Horde_Imap_Client_Mailbox as existing folder
3737
-		if (is_a($_folder,"Horde_Imap_Client_Mailbox")&&$_forceCheck===false) return true;
3738
-		if (is_a($_folder,"Horde_Imap_Client_Mailbox")) $_folder =  $_folder->utf8;
3737
+		if (is_a($_folder, "Horde_Imap_Client_Mailbox") && $_forceCheck === false) return true;
3738
+		if (is_a($_folder, "Horde_Imap_Client_Mailbox")) $_folder = $_folder->utf8;
3739 3739
 		// reduce traffic within the Instance per User; Expire every 5 hours
3740 3740
 		//error_log(__METHOD__.' ('.__LINE__.') '.' Called with Folder:'.$_folder.function_backtrace());
3741
-		if (is_null($folderInfo)) $folderInfo = Cache::getCache(Cache::INSTANCE,'email','icServerFolderExistsInfo'.trim($GLOBALS['egw_info']['user']['account_id']),null,array(),$expiration=60*60*5);
3741
+		if (is_null($folderInfo)) $folderInfo = Cache::getCache(Cache::INSTANCE, 'email', 'icServerFolderExistsInfo'.trim($GLOBALS['egw_info']['user']['account_id']), null, array(), $expiration = 60 * 60 * 5);
3742 3742
 		//error_log(__METHOD__.' ('.__LINE__.') '.'Cached Info on Folder:'.$_folder.' for Profile:'.$this->profileID.($forceCheck?'(forcedCheck)':'').':'.array2string($folderInfo));
3743
-		if (!empty($folderInfo) && isset($folderInfo[$this->profileID]) && isset($folderInfo[$this->profileID][$_folder]) && $forceCheck===false)
3743
+		if (!empty($folderInfo) && isset($folderInfo[$this->profileID]) && isset($folderInfo[$this->profileID][$_folder]) && $forceCheck === false)
3744 3744
 		{
3745 3745
 			//error_log(__METHOD__.' ('.__LINE__.') '.' Using cached Info on Folder:'.$_folder.' for Profile:'.$this->profileID);
3746 3746
 			return $folderInfo[$this->profileID][$_folder];
@@ -3756,7 +3756,7 @@  discard block
 block discarded – undo
3756 3756
 
3757 3757
 		// does the folder exist???
3758 3758
 		//error_log(__METHOD__."->Connected?".$this->icServer->_connected.", ".$_folder.", ".($forceCheck?' forceCheck activated':'dont check on server'));
3759
-		if ( $forceCheck || empty($folderInfo) || !isset($folderInfo[$this->profileID]) || !isset($folderInfo[$this->profileID][$_folder])) {
3759
+		if ($forceCheck || empty($folderInfo) || !isset($folderInfo[$this->profileID]) || !isset($folderInfo[$this->profileID][$_folder])) {
3760 3760
 			//error_log(__METHOD__."->NotConnected and forceCheck with profile:".$this->profileID);
3761 3761
 			//return false;
3762 3762
 			//try to connect
@@ -3767,18 +3767,18 @@  discard block
 block discarded – undo
3767 3767
 		}
3768 3768
 		catch (\Exception $e)
3769 3769
 		{
3770
-			error_log(__METHOD__.__LINE__.$e->getMessage().($e->details?', '.$e->details:''));
3771
-			self::$profileDefunct[$this->profileID]=$e->getMessage().($e->details?', '.$e->details:'');
3770
+			error_log(__METHOD__.__LINE__.$e->getMessage().($e->details ? ', '.$e->details : ''));
3771
+			self::$profileDefunct[$this->profileID] = $e->getMessage().($e->details ? ', '.$e->details : '');
3772 3772
 			$folderInfo[$this->profileID][$_folder] = false;
3773 3773
 		}
3774 3774
 		//error_log(__METHOD__.' ('.__LINE__.') '.' Folder Exists:'.$folderInfo[$this->profileID][$_folder].function_backtrace());
3775 3775
 
3776
-		if(!empty($folderInfo) && isset($folderInfo[$this->profileID][$_folder]) &&
3776
+		if (!empty($folderInfo) && isset($folderInfo[$this->profileID][$_folder]) &&
3777 3777
 			$folderInfo[$this->profileID][$_folder] !== true)
3778 3778
 		{
3779 3779
 			$folderInfo[$this->profileID][$_folder] = false; // set to false, whatever it was (to have a valid returnvalue for the static return)
3780 3780
 		}
3781
-		Cache::setCache(Cache::INSTANCE,'email','icServerFolderExistsInfo'.trim($GLOBALS['egw_info']['user']['account_id']),$folderInfo,$expiration=60*60*5);
3781
+		Cache::setCache(Cache::INSTANCE, 'email', 'icServerFolderExistsInfo'.trim($GLOBALS['egw_info']['user']['account_id']), $folderInfo, $expiration = 60 * 60 * 5);
3782 3782
 		return (!empty($folderInfo) && isset($folderInfo[$this->profileID][$_folder]) ? $folderInfo[$this->profileID][$_folder] : false);
3783 3783
 	}
3784 3784
 
@@ -3791,14 +3791,14 @@  discard block
 block discarded – undo
3791 3791
 	 */
3792 3792
 	function compressFolder($_folderName = false)
3793 3793
 	{
3794
-		$folderName	= ($_folderName ? $_folderName : $this->sessionData['mailbox']);
3795
-		$deleteOptions	= $GLOBALS['egw_info']['user']['preferences']['mail']['deleteOptions'];
3796
-		$trashFolder	= $this->getTrashFolder();
3794
+		$folderName = ($_folderName ? $_folderName : $this->sessionData['mailbox']);
3795
+		$deleteOptions = $GLOBALS['egw_info']['user']['preferences']['mail']['deleteOptions'];
3796
+		$trashFolder = $this->getTrashFolder();
3797 3797
 
3798 3798
 		$this->icServer->openMailbox($folderName);
3799 3799
 
3800
-		if(strtolower($folderName) == strtolower($trashFolder) && $deleteOptions == "move_to_trash") {
3801
-			$this->deleteMessages('all',$folderName,'remove_immediately');
3800
+		if (strtolower($folderName) == strtolower($trashFolder) && $deleteOptions == "move_to_trash") {
3801
+			$this->deleteMessages('all', $folderName, 'remove_immediately');
3802 3802
 		} else {
3803 3803
 			$this->icServer->expunge($folderName);
3804 3804
 		}
@@ -3814,19 +3814,19 @@  discard block
 block discarded – undo
3814 3814
 	 * @return bool true, as we do not handle return values yet
3815 3815
 	 * @throws Exception
3816 3816
 	 */
3817
-	function deleteMessages($_messageUID, $_folder=NULL, $_forceDeleteMethod='no')
3817
+	function deleteMessages($_messageUID, $_folder = NULL, $_forceDeleteMethod = 'no')
3818 3818
 	{
3819 3819
 		//error_log(__METHOD__.' ('.__LINE__.') '.'->'.array2string($_messageUID).','.array2string($_folder).', '.$_forceDeleteMethod);
3820 3820
 		$oldMailbox = '';
3821 3821
 		if (is_null($_folder) || empty($_folder)) $_folder = $this->sessionData['mailbox'];
3822 3822
 		if (empty($_messageUID))
3823 3823
 		{
3824
-			if (self::$debug) error_log(__METHOD__." no messages Message(s): ".implode(',',$_messageUID));
3824
+			if (self::$debug) error_log(__METHOD__." no messages Message(s): ".implode(',', $_messageUID));
3825 3825
 			return false;
3826 3826
 		}
3827
-		elseif ($_messageUID==='all')
3827
+		elseif ($_messageUID === 'all')
3828 3828
 		{
3829
-			$_messageUID= null;
3829
+			$_messageUID = null;
3830 3830
 		}
3831 3831
 		else
3832 3832
 		{
@@ -3835,32 +3835,32 @@  discard block
 block discarded – undo
3835 3835
 			$uidsToDelete->add($_messageUID);
3836 3836
 		}
3837 3837
 		$deleteOptions = $_forceDeleteMethod; // use forceDeleteMethod if not "no", or unknown method
3838
-		if ($_forceDeleteMethod === 'no' || !in_array($_forceDeleteMethod,array('move_to_trash',"mark_as_deleted","remove_immediately"))) $deleteOptions  = ($this->mailPreferences['deleteOptions']?$this->mailPreferences['deleteOptions']:"mark_as_deleted");
3838
+		if ($_forceDeleteMethod === 'no' || !in_array($_forceDeleteMethod, array('move_to_trash', "mark_as_deleted", "remove_immediately"))) $deleteOptions = ($this->mailPreferences['deleteOptions'] ? $this->mailPreferences['deleteOptions'] : "mark_as_deleted");
3839 3839
 		//error_log(__METHOD__.' ('.__LINE__.') '.'->'.array2string($_messageUID).','.$_folder.'/'.$this->sessionData['mailbox'].' Option:'.$deleteOptions);
3840 3840
 		$trashFolder    = $this->getTrashFolder();
3841
-		$draftFolder	= $this->getDraftFolder(); //$GLOBALS['egw_info']['user']['preferences']['mail']['draftFolder'];
3841
+		$draftFolder = $this->getDraftFolder(); //$GLOBALS['egw_info']['user']['preferences']['mail']['draftFolder'];
3842 3842
 		$templateFolder = $this->getTemplateFolder(); //$GLOBALS['egw_info']['user']['preferences']['mail']['templateFolder'];
3843
-		if((strtolower($_folder) == strtolower($trashFolder) && $deleteOptions == "move_to_trash") ||
3843
+		if ((strtolower($_folder) == strtolower($trashFolder) && $deleteOptions == "move_to_trash") ||
3844 3844
 		   (strtolower($_folder) == strtolower($draftFolder))) {
3845 3845
 			$deleteOptions = "remove_immediately";
3846 3846
 		}
3847
-		if($this->icServer->getCurrentMailbox() != $_folder) {
3847
+		if ($this->icServer->getCurrentMailbox() != $_folder) {
3848 3848
 			$oldMailbox = $this->icServer->getCurrentMailbox();
3849 3849
 			$this->icServer->openMailbox($_folder);
3850 3850
 		}
3851 3851
 		//error_log(__METHOD__.' ('.__LINE__.') '.'->'.array2string($_messageUID).','.$_folder.'/'.$this->sessionData['mailbox'].' Option:'.$deleteOptions);
3852 3852
 		$updateCache = false;
3853
-		switch($deleteOptions) {
3853
+		switch ($deleteOptions) {
3854 3854
 			case "move_to_trash":
3855 3855
 				//error_log(__METHOD__.' ('.__LINE__.') ');
3856 3856
 				$updateCache = true;
3857
-				if(!empty($trashFolder)) {
3857
+				if (!empty($trashFolder)) {
3858 3858
 					if (self::$debug) error_log(__METHOD__.' ('.__LINE__.') '.implode(' : ', $_messageUID));
3859
-					if (self::$debug) error_log(__METHOD__.' ('.__LINE__.') '."$trashFolder <= $_folder / ". $this->sessionData['mailbox']);
3859
+					if (self::$debug) error_log(__METHOD__.' ('.__LINE__.') '."$trashFolder <= $_folder / ".$this->sessionData['mailbox']);
3860 3860
 					// copy messages
3861 3861
 					try
3862 3862
 					{
3863
-						$this->icServer->copy($_folder, $trashFolder, array('ids'=>$uidsToDelete,'move'=>true));
3863
+						$this->icServer->copy($_folder, $trashFolder, array('ids'=>$uidsToDelete, 'move'=>true));
3864 3864
 					}
3865 3865
 					catch (\Exception $e)
3866 3866
 					{
@@ -3872,18 +3872,18 @@  discard block
 block discarded – undo
3872 3872
 			case "mark_as_deleted":
3873 3873
 				//error_log(__METHOD__.' ('.__LINE__.') ');
3874 3874
 				// mark messages as deleted
3875
-				if (is_null($_messageUID)) $_messageUID='all';
3876
-				foreach((array)$_messageUID as $key =>$uid)
3875
+				if (is_null($_messageUID)) $_messageUID = 'all';
3876
+				foreach ((array)$_messageUID as $key =>$uid)
3877 3877
 				{
3878 3878
 					//flag messages, that are flagged for deletion as seen too
3879 3879
 					$this->flagMessages('read', $uid, $_folder);
3880 3880
 					$flags = $this->getFlags($uid);
3881 3881
 					$this->flagMessages('delete', $uid, $_folder);
3882 3882
 					//error_log(__METHOD__.' ('.__LINE__.') '.array2string($flags));
3883
-					if (strpos( array2string($flags),'Deleted')!==false) $undelete[] = $uid;
3883
+					if (strpos(array2string($flags), 'Deleted') !== false) $undelete[] = $uid;
3884 3884
 					unset($flags);
3885 3885
 				}
3886
-				foreach((array)$undelete as $key =>$uid)
3886
+				foreach ((array)$undelete as $key =>$uid)
3887 3887
 				{
3888 3888
 					$this->flagMessages('undelete', $uid, $_folder);
3889 3889
 				}
@@ -3892,14 +3892,14 @@  discard block
 block discarded – undo
3892 3892
 			case "remove_immediately":
3893 3893
 				//error_log(__METHOD__.' ('.__LINE__.') ');
3894 3894
 				$updateCache = true;
3895
-				if (is_null($_messageUID)) $_messageUID='all';
3895
+				if (is_null($_messageUID)) $_messageUID = 'all';
3896 3896
 				if (is_object($_messageUID))
3897 3897
 				{
3898 3898
 					$this->flagMessages('delete', $_messageUID, $_folder);
3899 3899
 				}
3900 3900
 				else
3901 3901
 				{
3902
-					foreach((array)$_messageUID as $key =>$uid)
3902
+					foreach ((array)$_messageUID as $key =>$uid)
3903 3903
 					{
3904 3904
 						//flag messages, that are flagged for deletion as seen too
3905 3905
 						$this->flagMessages('delete', $uid, $_folder);
@@ -3909,7 +3909,7 @@  discard block
 block discarded – undo
3909 3909
 				$this->icServer->expunge($_folder);
3910 3910
 				break;
3911 3911
 		}
3912
-		if($oldMailbox != '') {
3912
+		if ($oldMailbox != '') {
3913 3913
 			$this->icServer->openMailbox($oldMailbox);
3914 3914
 		}
3915 3915
 
@@ -3923,7 +3923,7 @@  discard block
 block discarded – undo
3923 3923
 	 *
3924 3924
 	 * @return null/array flags
3925 3925
 	 */
3926
-	function getFlags ($_messageUID) {
3926
+	function getFlags($_messageUID) {
3927 3927
 		try
3928 3928
 		{
3929 3929
 			$uidsToFetch = new Horde_Imap_Client_Ids();
@@ -3936,7 +3936,7 @@  discard block
 block discarded – undo
3936 3936
 				'ids' => $uidsToFetch,
3937 3937
 			));
3938 3938
 			if (is_object($headersNew)) {
3939
-				foreach($headersNew->ids() as $id) {
3939
+				foreach ($headersNew->ids() as $id) {
3940 3940
 					$_headerObject = $headersNew->get($id);
3941 3941
 					$flags = $_headerObject->getFlags();
3942 3942
 				}
@@ -3959,22 +3959,22 @@  discard block
 block discarded – undo
3959 3959
 	 *
3960 3960
 	 * @return null/boolean
3961 3961
 	 */
3962
-	function getNotifyFlags ($_messageUID, $flags=null)
3962
+	function getNotifyFlags($_messageUID, $flags = null)
3963 3963
 	{
3964 3964
 		if (self::$debug) error_log(__METHOD__.$_messageUID.' Flags:'.array2string($flags));
3965 3965
 		try
3966 3966
 		{
3967
-			if($flags===null) $flags =  $this->getFlags($_messageUID);
3967
+			if ($flags === null) $flags = $this->getFlags($_messageUID);
3968 3968
 		}
3969 3969
 		catch (\Exception $e)
3970 3970
 		{
3971 3971
 			return null;
3972 3972
 		}
3973 3973
 
3974
-		if ( stripos( array2string($flags),'MDNSent')!==false)
3974
+		if (stripos(array2string($flags), 'MDNSent') !== false)
3975 3975
 			return true;
3976 3976
 
3977
-		if ( stripos( array2string($flags),'MDNnotSent')!==false)
3977
+		if (stripos(array2string($flags), 'MDNnotSent') !== false)
3978 3978
 			return false;
3979 3979
 
3980 3980
 		return null;
@@ -3991,45 +3991,45 @@  discard block
 block discarded – undo
3991 3991
 	 *
3992 3992
 	 * @return bool true, as we do not handle icserver->setFlags returnValue
3993 3993
 	 */
3994
-	function flagMessages($_flag, $_messageUID,$_folder=NULL)
3994
+	function flagMessages($_flag, $_messageUID, $_folder = NULL)
3995 3995
 	{
3996 3996
 		//error_log(__METHOD__.' ('.__LINE__.') '.'->' .$_flag." ".array2string($_messageUID).",$_folder /".$this->sessionData['mailbox']);
3997 3997
 		if (empty($_messageUID))
3998 3998
 		{
3999
-			if (self::$debug) error_log(__METHOD__." no messages Message(s): ".implode(',',$_messageUID));
3999
+			if (self::$debug) error_log(__METHOD__." no messages Message(s): ".implode(',', $_messageUID));
4000 4000
 			return false;
4001 4001
 		}
4002
-		$this->icServer->openMailbox(($_folder?$_folder:$this->sessionData['mailbox']));
4002
+		$this->icServer->openMailbox(($_folder ? $_folder : $this->sessionData['mailbox']));
4003 4003
 		$folder = $this->icServer->getCurrentMailbox();
4004
-		if (is_array($_messageUID)&& count($_messageUID)>50)
4004
+		if (is_array($_messageUID) && count($_messageUID) > 50)
4005 4005
 		{
4006
-			$count = $this->getMailBoxCounters($folder,true);
4007
-			if ($count->messages == count($_messageUID)) $_messageUID='all';
4006
+			$count = $this->getMailBoxCounters($folder, true);
4007
+			if ($count->messages == count($_messageUID)) $_messageUID = 'all';
4008 4008
 		}
4009 4009
 
4010
-		if ($_messageUID==='all')
4010
+		if ($_messageUID === 'all')
4011 4011
 		{
4012 4012
 			$messageUIDs = array('all');
4013 4013
 		}
4014 4014
 		else
4015 4015
 		{
4016 4016
 			if (!(is_object($_messageUID) || is_array($_messageUID))) $_messageUID = (array)$_messageUID;
4017
-			$messageUIDs = array_chunk($_messageUID,50,true);
4017
+			$messageUIDs = array_chunk($_messageUID, 50, true);
4018 4018
 		}
4019 4019
 		try
4020 4020
 		{
4021
-			foreach($messageUIDs as &$uids)
4021
+			foreach ($messageUIDs as &$uids)
4022 4022
 			{
4023
-				if ($uids==='all')
4023
+				if ($uids === 'all')
4024 4024
 				{
4025
-					$uidsToModify=null;
4025
+					$uidsToModify = null;
4026 4026
 				}
4027 4027
 				else
4028 4028
 				{
4029 4029
 					$uidsToModify = new Horde_Imap_Client_Ids();
4030 4030
 					$uidsToModify->add($uids);
4031 4031
 				}
4032
-				switch($_flag) {
4032
+				switch ($_flag) {
4033 4033
 					case "delete":
4034 4034
 						$ret = $this->icServer->store($folder, array('add'=>array('\\Deleted'), 'ids'=> $uidsToModify));
4035 4035
 						break;
@@ -4053,7 +4053,7 @@  discard block
 block discarded – undo
4053 4053
 						break;
4054 4054
 					case "unread":
4055 4055
 					case "unseen":
4056
-						$ret = $this->icServer->store($folder, array('remove'=>array('\\Seen','\\Answered','$Forwarded'), 'ids'=> $uidsToModify));
4056
+						$ret = $this->icServer->store($folder, array('remove'=>array('\\Seen', '\\Answered', '$Forwarded'), 'ids'=> $uidsToModify));
4057 4057
 						break;
4058 4058
 					case "mdnsent":
4059 4059
 						$ret = $this->icServer->store($folder, array('add'=>array('MDNSent'), 'ids'=> $uidsToModify));
@@ -4111,13 +4111,13 @@  discard block
 block discarded – undo
4111 4111
 				}
4112 4112
 			}
4113 4113
 		}
4114
-		catch(Exception $e)
4114
+		catch (Exception $e)
4115 4115
 		{
4116 4116
 			error_log(__METHOD__.__LINE__.' Error, could not flag messages in folder '.$folder.' Reason:'.$e->getMessage());
4117 4117
 		}
4118 4118
 		if ($folder instanceof Horde_Imap_Client_Mailbox) $_folder = $folder->utf8;
4119 4119
 		//error_log(__METHOD__.__LINE__.'#'.$this->icServer->ImapServerId.'#'.array2string($_folder).'#');
4120
-		self::$folderStatusCache[$this->icServer->ImapServerId][(!empty($_folder)?$_folder: $this->sessionData['mailbox'])]['uidValidity'] = 0;
4120
+		self::$folderStatusCache[$this->icServer->ImapServerId][(!empty($_folder) ? $_folder : $this->sessionData['mailbox'])]['uidValidity'] = 0;
4121 4121
 
4122 4122
 		//error_log(__METHOD__.' ('.__LINE__.') '.'->' .$_flag." ".array2string($_messageUID).",".($_folder?$_folder:$this->sessionData['mailbox']));
4123 4123
 		return true; // as we do not catch/examine setFlags returnValue
@@ -4138,19 +4138,19 @@  discard block
 block discarded – undo
4138 4138
 	 * @return mixed/bool true,false or new uid
4139 4139
 	 * @throws Exception
4140 4140
 	 */
4141
-	function moveMessages($_foldername, $_messageUID, $deleteAfterMove=true, $currentFolder = Null, $returnUIDs = false, $_sourceProfileID = Null, $_targetProfileID = Null)
4141
+	function moveMessages($_foldername, $_messageUID, $deleteAfterMove = true, $currentFolder = Null, $returnUIDs = false, $_sourceProfileID = Null, $_targetProfileID = Null)
4142 4142
 	{
4143
-		$source = Mail\Account::read(($_sourceProfileID?$_sourceProfileID:$this->icServer->ImapServerId))->imapServer();
4143
+		$source = Mail\Account::read(($_sourceProfileID ? $_sourceProfileID : $this->icServer->ImapServerId))->imapServer();
4144 4144
 		//$deleteOptions  = $GLOBALS['egw_info']["user"]["preferences"]["mail"]["deleteOptions"];
4145 4145
 		if (empty($_messageUID))
4146 4146
 		{
4147
-			if (self::$debug) error_log(__METHOD__." no Message(s): ".implode(',',$_messageUID));
4147
+			if (self::$debug) error_log(__METHOD__." no Message(s): ".implode(',', $_messageUID));
4148 4148
 			return false;
4149 4149
 		}
4150
-		elseif ($_messageUID==='all')
4150
+		elseif ($_messageUID === 'all')
4151 4151
 		{
4152 4152
 			//error_log(__METHOD__." all Message(s): ".implode(',',$_messageUID));
4153
-			$uidsToMove= null;
4153
+			$uidsToMove = null;
4154 4154
 		}
4155 4155
 		else
4156 4156
 		{
@@ -4159,7 +4159,7 @@  discard block
 block discarded – undo
4159 4159
 			if (!(is_object($_messageUID) || is_array($_messageUID))) $_messageUID = (array)$_messageUID;
4160 4160
 			$uidsToMove->add($_messageUID);
4161 4161
 		}
4162
-		$sourceFolder = (!empty($currentFolder)?$currentFolder: $this->sessionData['mailbox']);
4162
+		$sourceFolder = (!empty($currentFolder) ? $currentFolder : $this->sessionData['mailbox']);
4163 4163
 		//error_log(__METHOD__.__LINE__."$_targetProfileID !== ".array2string($source->ImapServerId));
4164 4164
 		if (!is_null($_targetProfileID) && $_targetProfileID !== $source->ImapServerId)
4165 4165
 		{
@@ -4179,19 +4179,19 @@  discard block
 block discarded – undo
4179 4179
 			//error_log(__METHOD__.' ('.__LINE__.') '.' Sourceserver:'.$source->ImapServerId.' mailheaders:'.array2string($headersNew));
4180 4180
 
4181 4181
 			if (is_object($headersNew)) {
4182
-				$c=0;
4182
+				$c = 0;
4183 4183
 				$retUid = new Horde_Imap_Client_Ids();
4184 4184
 				// we copy chunks of 5 to avoid too much memory and/or server stress
4185 4185
 				// some servers seem not to allow/support the appendig of multiple messages. so we are down to one
4186
-				foreach($headersNew as &$_headerObject) {
4186
+				foreach ($headersNew as &$_headerObject) {
4187 4187
 					$c++;
4188 4188
 					$flags = $_headerObject->getFlags(); //unseen status seems to be lost when retrieving the full message
4189 4189
 					$date = $_headerObject->getImapDate();
4190
-					$currentDate =  new Horde_Imap_Client_DateTime();
4190
+					$currentDate = new Horde_Imap_Client_DateTime();
4191 4191
 					// if the internal Date of the message equals the current date; try using the header date
4192
-					if ($date==$currentDate)
4192
+					if ($date == $currentDate)
4193 4193
 					{
4194
-						$headerForPrio = array_change_key_case($_headerObject->getHeaderText(0,Horde_Imap_Client_Data_Fetch::HEADER_PARSE)->toArray(), CASE_UPPER);
4194
+						$headerForPrio = array_change_key_case($_headerObject->getHeaderText(0, Horde_Imap_Client_Data_Fetch::HEADER_PARSE)->toArray(), CASE_UPPER);
4195 4195
 						//error_log(__METHOD__.__LINE__.'#'.array2string($date).'#'.array2string($currentDate).'#'.$headerForPrio['DATE']);
4196 4196
 						$date = new Horde_Imap_Client_DateTime($headerForPrio['DATE']);
4197 4197
 						//error_log(__METHOD__.__LINE__.'#'.array2string($date).'#'.array2string($currentDate).'#');
@@ -4200,20 +4200,20 @@  discard block
 block discarded – undo
4200 4200
 					//error_log(__METHOD__.' ('.__LINE__.') '.array2string($flags));
4201 4201
 					$body = $_headerObject->getFullMsg();
4202 4202
 					$dataNflags[] = array('data'=>$body, 'flags'=>$flags, 'internaldate'=>$date);
4203
-					if ($c==1)
4203
+					if ($c == 1)
4204 4204
 					{
4205 4205
 						$target = Mail\Account::read($_targetProfileID)->imapServer();
4206 4206
 						//error_log(__METHOD__.' ('.__LINE__.') '.' Sourceserver:'.$source->ImapServerId.' TargetServer:'.$_targetProfileID.' TargetFolderObject:'.array2string($_foldername));
4207 4207
 						$foldername = $target->getMailbox($_foldername);
4208 4208
 						// make sure the target folder is open and ready
4209 4209
 						$target->openMailbox($foldername);
4210
-						$ret = $target->append($foldername,$dataNflags);
4210
+						$ret = $target->append($foldername, $dataNflags);
4211 4211
 						$retUid->add($ret);
4212 4212
 						unset($dataNflags);
4213 4213
 						// sleep 500 miliseconds; AS some sERVERs seem not to be capable of the load this is
4214 4214
 						// inflicting in them. they "reply" with an unspecific IMAP Error
4215
-						time_nanosleep(0,500000);
4216
-						$c=0;
4215
+						time_nanosleep(0, 500000);
4216
+						$c = 0;
4217 4217
 					}
4218 4218
 				}
4219 4219
 				if (isset($dataNflags))
@@ -4223,7 +4223,7 @@  discard block
 block discarded – undo
4223 4223
 					$foldername = $target->getMailbox($_foldername);
4224 4224
 					// make sure the target folder is open and ready
4225 4225
 					$target->openMailbox($foldername);
4226
-					$ret = $target->append($foldername,$dataNflags);
4226
+					$ret = $target->append($foldername, $dataNflags);
4227 4227
 					$retUid->add($ret);
4228 4228
 					unset($dataNflags);
4229 4229
 				}
@@ -4234,7 +4234,7 @@  discard block
 block discarded – undo
4234 4234
 				{
4235 4235
 					$remember = $this->icServer;
4236 4236
 					$this->icServer = $source;
4237
-					$this->deleteMessages($_messageUID, $sourceFolder, $_forceDeleteMethod='remove_immediately');
4237
+					$this->deleteMessages($_messageUID, $sourceFolder, $_forceDeleteMethod = 'remove_immediately');
4238 4238
 					$this->icServer = $remember;
4239 4239
 				}
4240 4240
 			}
@@ -4243,7 +4243,7 @@  discard block
 block discarded – undo
4243 4243
 		{
4244 4244
 			try
4245 4245
 			{
4246
-				$retUid = $source->copy($sourceFolder, $_foldername, array('ids'=>$uidsToMove,'move'=>$deleteAfterMove));
4246
+				$retUid = $source->copy($sourceFolder, $_foldername, array('ids'=>$uidsToMove, 'move'=>$deleteAfterMove));
4247 4247
 			}
4248 4248
 			catch (exception $e)
4249 4249
 			{
@@ -4263,19 +4263,19 @@  discard block
 block discarded – undo
4263 4263
 	 * @param string $format ='' if none is passed, use user prefs
4264 4264
 	 * @return string returns the date as it is parseable by strtotime, or current timestamp if everything fails
4265 4265
 	 */
4266
-	static function _strtotime($_date='', $format='', $convert2usertime=false)
4266
+	static function _strtotime($_date = '', $format = '', $convert2usertime = false)
4267 4267
 	{
4268 4268
 		try {
4269
-			$date = new DateTime($_date);	// parse date & time including timezone (throws exception, if not parsable)
4270
-			if ($convert2usertime) $date->setUser();	// convert to user-time
4269
+			$date = new DateTime($_date); // parse date & time including timezone (throws exception, if not parsable)
4270
+			if ($convert2usertime) $date->setUser(); // convert to user-time
4271 4271
 			$date2return = $date->format($format);
4272 4272
 		}
4273
-		catch(\Exception $e)
4273
+		catch (\Exception $e)
4274 4274
 		{
4275
-			unset($e);	// not used
4275
+			unset($e); // not used
4276 4276
 
4277 4277
 			// remove last space-separated part and retry
4278
-			$parts = explode(' ',$_date);
4278
+			$parts = explode(' ', $_date);
4279 4279
 			if (count($parts) > 1)
4280 4280
 			{
4281 4281
 				array_pop($parts);
@@ -4296,12 +4296,12 @@  discard block
 block discarded – undo
4296 4296
 	 * @param mixed $_charset false or string -> Target charset, if false Mail displayCharset will be used
4297 4297
 	 * @return string
4298 4298
 	 */
4299
-	static function htmlentities($_string, $_charset=false)
4299
+	static function htmlentities($_string, $_charset = false)
4300 4300
 	{
4301 4301
 		//setting the charset (if not given)
4302
-		if ($_charset===false) $_charset = self::$displayCharset;
4302
+		if ($_charset === false) $_charset = self::$displayCharset;
4303 4303
 		$string = @htmlentities($_string, ENT_QUOTES, $_charset, false);
4304
-		if (empty($string) && !empty($_string)) $string = @htmlentities(Translation::convert($_string,Translation::detect_encoding($_string),$_charset),ENT_QUOTES | ENT_IGNORE,$_charset, false);
4304
+		if (empty($string) && !empty($_string)) $string = @htmlentities(Translation::convert($_string, Translation::detect_encoding($_string), $_charset), ENT_QUOTES|ENT_IGNORE, $_charset, false);
4305 4305
 		return $string;
4306 4306
 	}
4307 4307
 
@@ -4318,21 +4318,21 @@  discard block
 block discarded – undo
4318 4318
 		//$_html = str_replace("\t",' ',$_html);
4319 4319
 		//error_log(__METHOD__.__LINE__.':'.$_html);
4320 4320
 		//repair doubleencoded ampersands, and some stuff htmLawed stumbles upon with balancing switched on
4321
-		$_html = str_replace(array('&amp;amp;','<DIV><BR></DIV>',"<DIV>&nbsp;</DIV>",'<div>&nbsp;</div>','</td></font>','<br><td>','<tr></tr>','<o:p></o:p>','<o:p>','</o:p>'),
4322
-							 array('&amp;',    '<BR>',           '<BR>',             '<BR>',             '</font></td>','<td>',    '',         '',           '',  ''),$_html);
4321
+		$_html = str_replace(array('&amp;amp;', '<DIV><BR></DIV>', "<DIV>&nbsp;</DIV>", '<div>&nbsp;</div>', '</td></font>', '<br><td>', '<tr></tr>', '<o:p></o:p>', '<o:p>', '</o:p>'),
4322
+							 array('&amp;', '<BR>', '<BR>', '<BR>', '</font></td>', '<td>', '', '', '', ''), $_html);
4323 4323
 		//$_html = str_replace(array('&amp;amp;'),array('&amp;'),$_html);
4324
-		if (stripos($_html,'style')!==false) Mail\Html::replaceTagsCompletley($_html,'style'); // clean out empty or pagewide style definitions / left over tags
4325
-		if (stripos($_html,'head')!==false) Mail\Html::replaceTagsCompletley($_html,'head'); // Strip out stuff in head
4324
+		if (stripos($_html, 'style') !== false) Mail\Html::replaceTagsCompletley($_html, 'style'); // clean out empty or pagewide style definitions / left over tags
4325
+		if (stripos($_html, 'head') !== false) Mail\Html::replaceTagsCompletley($_html, 'head'); // Strip out stuff in head
4326 4326
 		//if (stripos($_html,'![if')!==false && stripos($_html,'<![endif]>')!==false) Mail\Html::replaceTagsCompletley($_html,'!\[if','<!\[endif\]>',false); // Strip out stuff in ifs
4327 4327
 		//if (stripos($_html,'!--[if')!==false && stripos($_html,'<![endif]-->')!==false) Mail\Html::replaceTagsCompletley($_html,'!--\[if','<!\[endif\]-->',false); // Strip out stuff in ifs
4328 4328
 		//error_log(__METHOD__.' ('.__LINE__.') '.$_html);
4329 4329
 
4330 4330
 		if (get_magic_quotes_gpc() === 1) $_html = stripslashes($_html);
4331 4331
 		// Strip out doctype in head, as htmlLawed cannot handle it TODO: Consider extracting it and adding it afterwards
4332
-		if (stripos($_html,'!doctype')!==false) Mail\Html::replaceTagsCompletley($_html,'!doctype');
4333
-		if (stripos($_html,'?xml:namespace')!==false) Mail\Html::replaceTagsCompletley($_html,'\?xml:namespace','/>',false);
4334
-		if (stripos($_html,'?xml version')!==false) Mail\Html::replaceTagsCompletley($_html,'\?xml version','\?>',false);
4335
-		if (strpos($_html,'!CURSOR')!==false) Mail\Html::replaceTagsCompletley($_html,'!CURSOR');
4332
+		if (stripos($_html, '!doctype') !== false) Mail\Html::replaceTagsCompletley($_html, '!doctype');
4333
+		if (stripos($_html, '?xml:namespace') !== false) Mail\Html::replaceTagsCompletley($_html, '\?xml:namespace', '/>', false);
4334
+		if (stripos($_html, '?xml version') !== false) Mail\Html::replaceTagsCompletley($_html, '\?xml version', '\?>', false);
4335
+		if (strpos($_html, '!CURSOR') !== false) Mail\Html::replaceTagsCompletley($_html, '!CURSOR');
4336 4336
 		// htmLawed filter only the 'body'
4337 4337
 		//preg_match('`(<htm.+?<body[^>]*>)(.+?)(</body>.*?</html>)`ims', $_html, $matches);
4338 4338
 		//if ($matches[2])
@@ -4343,16 +4343,16 @@  discard block
 block discarded – undo
4343 4343
 		// purify got switched to htmLawed
4344 4344
 		// some testcode to test purifying / htmlawed
4345 4345
 		//$_html = "<BLOCKQUOTE>hi <div> there </div> kram <br> </blockquote>".$_html;
4346
-		$_html = Html\HtmLawed::purify($_html,self::$htmLawed_config,array(),true);
4346
+		$_html = Html\HtmLawed::purify($_html, self::$htmLawed_config, array(), true);
4347 4347
 		//if ($hasOther) $_html = $matches[1]. $_html. $matches[3];
4348 4348
 		// clean out comments , should not be needed as purify should do the job.
4349 4349
 		$search = array(
4350
-			'@url\(http:\/\/[^\)].*?\)@si',  // url calls e.g. in style definitions
4351
-			'@<!--[\s\S]*?[ \t\n\r]*-->@',         // Strip multi-line comments including CDATA
4350
+			'@url\(http:\/\/[^\)].*?\)@si', // url calls e.g. in style definitions
4351
+			'@<!--[\s\S]*?[ \t\n\r]*-->@', // Strip multi-line comments including CDATA
4352 4352
 		);
4353
-		$_html = preg_replace($search,"",$_html);
4353
+		$_html = preg_replace($search, "", $_html);
4354 4354
 		// remove non printable chars
4355
-		$_html = preg_replace('/([\000-\011])/','',$_html);
4355
+		$_html = preg_replace('/([\000-\011])/', '', $_html);
4356 4356
 		//error_log(__METHOD__.':'.__LINE__.':'.$_html);
4357 4357
 	}
4358 4358
 
@@ -4369,12 +4369,12 @@  discard block
 block discarded – undo
4369 4369
 	function getMimePartCharset($_mimePartObject)
4370 4370
 	{
4371 4371
 		//$charSet = 'iso-8859-1';//self::$displayCharset; //'iso-8859-1'; // self::displayCharset seems to be asmarter fallback than iso-8859-1
4372
-		$CharsetFound=false;
4372
+		$CharsetFound = false;
4373 4373
 		//echo "#".$_mimePartObject->encoding.'#<br>';
4374
-		if(is_array($_mimePartObject->parameters)) {
4375
-			if(isset($_mimePartObject->parameters['CHARSET'])) {
4374
+		if (is_array($_mimePartObject->parameters)) {
4375
+			if (isset($_mimePartObject->parameters['CHARSET'])) {
4376 4376
 				$charSet = $_mimePartObject->parameters['CHARSET'];
4377
-				$CharsetFound=true;
4377
+				$CharsetFound = true;
4378 4378
 			}
4379 4379
 		}
4380 4380
 		// this one is dirty, but until I find something that does the trick of detecting the encoding, ....
@@ -4393,7 +4393,7 @@  discard block
 block discarded – undo
4393 4393
 	function decodeMimePart($_mimeMessage, $_encoding, $_charset = '')
4394 4394
 	{
4395 4395
 		// decode the part
4396
-		if (self::$debug) error_log(__METHOD__."() with $_encoding and $_charset:".print_r($_mimeMessage,true));
4396
+		if (self::$debug) error_log(__METHOD__."() with $_encoding and $_charset:".print_r($_mimeMessage, true));
4397 4397
 		switch (strtoupper($_encoding))
4398 4398
 		{
4399 4399
 			case 'BASE64':
@@ -4428,16 +4428,16 @@  discard block
 block discarded – undo
4428 4428
 	 * @param Horde_Mime_Part& $partCalendar =null on return text/calendar part, if one was contained or false
4429 4429
 	 * @return array containing the desired part
4430 4430
 	 */
4431
-	function getMultipartAlternative($_uid, Horde_Mime_Part $_structure, $_htmlMode, $_preserveSeen = false, &$partCalendar=null)
4431
+	function getMultipartAlternative($_uid, Horde_Mime_Part $_structure, $_htmlMode, $_preserveSeen = false, &$partCalendar = null)
4432 4432
 	{
4433 4433
 		// a multipart/alternative has exactly 2 parts (text and html  OR  text and something else)
4434 4434
 		// sometimes there are 3 parts, when there is an ics/ical attached/included-> we want to show that
4435 4435
 		// as attachment AND as abstracted ical information (we use our notification style here).
4436 4436
 		$partText = $partCalendar = $partHTML = null;
4437
-		if (self::$debug) _debug_array(array("METHOD"=>__METHOD__,"LINE"=>__LINE__,"STRUCTURE"=>$_structure));
4437
+		if (self::$debug) _debug_array(array("METHOD"=>__METHOD__, "LINE"=>__LINE__, "STRUCTURE"=>$_structure));
4438 4438
 		//error_log(__METHOD__.' ('.__LINE__.') ');
4439 4439
 		$ignore_first_part = true;
4440
-		foreach($_structure->contentTypeMap() as $mime_id => $mime_type)
4440
+		foreach ($_structure->contentTypeMap() as $mime_id => $mime_type)
4441 4441
 		{
4442 4442
 			//error_log(__METHOD__."($_uid, ".$_structure->getMimeId().") $mime_id: $mime_type"." ignoreFirstPart:".$ignore_first_part);
4443 4443
 			if (self::$debug) echo __METHOD__."($_uid, partID=".$_structure->getMimeId().") $mime_id: $mime_type<br>";
@@ -4445,15 +4445,15 @@  discard block
 block discarded – undo
4445 4445
 			if ($ignore_first_part)
4446 4446
 			{
4447 4447
 				$ignore_first_part = false;
4448
-				continue;	// ignore multipart/alternative itself
4448
+				continue; // ignore multipart/alternative itself
4449 4449
 			}
4450 4450
 
4451 4451
 			$mimePart = $_structure->getPart($mime_id);
4452 4452
 
4453
-			switch($mimePart->getPrimaryType())
4453
+			switch ($mimePart->getPrimaryType())
4454 4454
 			{
4455 4455
 				case 'text':
4456
-					switch($mimePart->getSubType())
4456
+					switch ($mimePart->getSubType())
4457 4457
 					{
4458 4458
 						case 'plain':
4459 4459
 							if ($mimePart->getBytes() > 0) $partText = $mimePart;
@@ -4470,7 +4470,7 @@  discard block
 block discarded – undo
4470 4470
 					break;
4471 4471
 
4472 4472
 				case 'multipart':
4473
-					switch($mimePart->getSubType())
4473
+					switch ($mimePart->getSubType())
4474 4474
 					{
4475 4475
 						case 'related':
4476 4476
 						case 'mixed':
@@ -4492,13 +4492,13 @@  discard block
 block discarded – undo
4492 4492
 			}
4493 4493
 		}
4494 4494
 
4495
-		switch($_htmlMode)
4495
+		switch ($_htmlMode)
4496 4496
 		{
4497 4497
 			case 'html_only':
4498 4498
 			case 'always_display':
4499 4499
 				if ($partHTML)
4500 4500
 				{
4501
-					switch($partHTML->getSubType())
4501
+					switch ($partHTML->getSubType())
4502 4502
 					{
4503 4503
 						case 'related':
4504 4504
 							return $this->getMultipartRelated($_uid, $partHTML, $_htmlMode, $_preserveSeen);
@@ -4510,7 +4510,7 @@  discard block
 block discarded – undo
4510 4510
 							return $this->getTextPart($_uid, $partHTML, $_htmlMode, $_preserveSeen);
4511 4511
 					}
4512 4512
 				}
4513
-				elseif ($partText && $_htmlMode=='always_display')
4513
+				elseif ($partText && $_htmlMode == 'always_display')
4514 4514
 				{
4515 4515
 					return $this->getTextPart($_uid, $partText, $_htmlMode, $_preserveSeen);
4516 4516
 				}
@@ -4556,7 +4556,7 @@  discard block
 block discarded – undo
4556 4556
 	 * @param array	&$skipParts - passed by reference to have control/knowledge which parts are already fetched
4557 4557
 	 * @return array containing the desired part
4558 4558
 	 */
4559
-	function getMultipartMixed($_uid, Horde_Mime_Part $_structure, $_htmlMode, $_preserveSeen = false, &$skipParts=array())
4559
+	function getMultipartMixed($_uid, Horde_Mime_Part $_structure, $_htmlMode, $_preserveSeen = false, &$skipParts = array())
4560 4560
 	{
4561 4561
 		if (self::$debug) echo __METHOD__."$_uid, $_htmlMode<br>";
4562 4562
 		$bodyPart = array();
@@ -4565,7 +4565,7 @@  discard block
 block discarded – undo
4565 4565
 		$ignore_first_part = true;
4566 4566
 		//$skipParts = array();
4567 4567
 		//error_log(__METHOD__.__LINE__.array2string($_structure->contentTypeMap()));
4568
-		foreach($_structure->contentTypeMap() as $mime_id => $mime_type)
4568
+		foreach ($_structure->contentTypeMap() as $mime_id => $mime_type)
4569 4569
 		{
4570 4570
 			//error_log(__METHOD__."($_uid, ".$_structure->getMimeId().") $mime_id: $mime_type");
4571 4571
 			if (self::$debug) echo __METHOD__."($_uid, partID=".$_structure->getMimeId().") $mime_id: $mime_type<br>";
@@ -4573,9 +4573,9 @@  discard block
 block discarded – undo
4573 4573
 			{
4574 4574
 				$ignore_first_part = false;
4575 4575
 				//error_log(__METHOD__."($_uid, ".$_structure->getMimeId().") SKIPPED FirstPart $mime_id: $mime_type");
4576
-				continue;	// ignore multipart/mixed itself
4576
+				continue; // ignore multipart/mixed itself
4577 4577
 			}
4578
-			if (array_key_exists($mime_id,$skipParts))
4578
+			if (array_key_exists($mime_id, $skipParts))
4579 4579
 			{
4580 4580
 				//error_log(__METHOD__."($_uid, ".$_structure->getMimeId().") SKIPPED $mime_id: $mime_type");
4581 4581
 				continue;
@@ -4583,11 +4583,11 @@  discard block
 block discarded – undo
4583 4583
 
4584 4584
 			$part = $_structure->getPart($mime_id);
4585 4585
 
4586
-			switch($part->getPrimaryType())
4586
+			switch ($part->getPrimaryType())
4587 4587
 			{
4588 4588
 				case 'multipart':
4589 4589
 					if ($part->getDisposition() == 'attachment') continue;
4590
-					switch($part->getSubType())
4590
+					switch ($part->getSubType())
4591 4591
 					{
4592 4592
 						case 'alternative':
4593 4593
 							return array($this->getMultipartAlternative($_uid, $part, $_htmlMode, $_preserveSeen));
@@ -4603,15 +4603,15 @@  discard block
 block discarded – undo
4603 4603
 					}
4604 4604
 					break;
4605 4605
 				case 'application':
4606
-					switch($part->getSubType())
4606
+					switch ($part->getSubType())
4607 4607
 					{
4608 4608
 						case 'pgp-encrypted':
4609
-							if (($part = $_structure->getPart($mime_id+1)) &&
4609
+							if (($part = $_structure->getPart($mime_id + 1)) &&
4610 4610
 								$part->getType() == 'application/octet-stream')
4611 4611
 							{
4612 4612
 								$this->fetchPartContents($_uid, $part);
4613
-								$skipParts[$mime_id]=$mime_type;
4614
-								$skipParts[$mime_id+1]=$part->getType();
4613
+								$skipParts[$mime_id] = $mime_type;
4614
+								$skipParts[$mime_id + 1] = $part->getType();
4615 4615
 								$bodyPart[] = array(
4616 4616
 									'body'		=> $part->getContents(array(
4617 4617
 										'stream' => false,
@@ -4625,15 +4625,15 @@  discard block
 block discarded – undo
4625 4625
 					break;
4626 4626
 
4627 4627
 				case 'text':
4628
-					switch($part->getSubType())
4628
+					switch ($part->getSubType())
4629 4629
 					{
4630 4630
 						case 'plain':
4631 4631
 						case 'html':
4632 4632
 						case 'calendar': // inline ics/ical files
4633
-							if($part->getDisposition() != 'attachment')
4633
+							if ($part->getDisposition() != 'attachment')
4634 4634
 							{
4635 4635
 								$bodyPart[] = $this->getTextPart($_uid, $part, $_htmlMode, $_preserveSeen);
4636
-								$skipParts[$mime_id]=$mime_type;
4636
+								$skipParts[$mime_id] = $mime_type;
4637 4637
 							}
4638 4638
 							//error_log(__METHOD__.' ('.__LINE__.') '.' ->'.$part->type."/".$part->subType.' -> BodyPart:'.array2string($bodyPart[count($bodyPart)-1]));
4639 4639
 							break;
@@ -4642,16 +4642,16 @@  discard block
 block discarded – undo
4642 4642
 
4643 4643
 				case 'message':
4644 4644
 					//skip attachments
4645
-					if($part->getSubType() == 'delivery-status' && $part->getDisposition() != 'attachment')
4645
+					if ($part->getSubType() == 'delivery-status' && $part->getDisposition() != 'attachment')
4646 4646
 					{
4647 4647
 						$bodyPart[] = $this->getTextPart($_uid, $part, $_htmlMode, $_preserveSeen);
4648
-						$skipParts[$mime_id]=$mime_type;
4648
+						$skipParts[$mime_id] = $mime_type;
4649 4649
 					}
4650 4650
 					// do not descend into attached Messages
4651
-					if($part->getSubType() == 'rfc822' || $part->getDisposition() == 'attachment')
4651
+					if ($part->getSubType() == 'rfc822' || $part->getDisposition() == 'attachment')
4652 4652
 					{
4653 4653
 						$skipParts[$mime_id.'.0'] = $mime_type;
4654
-						foreach($part->contentTypeMap() as $sub_id => $sub_type){ $skipParts[$sub_id] = $sub_type;}
4654
+						foreach ($part->contentTypeMap() as $sub_id => $sub_type) { $skipParts[$sub_id] = $sub_type; }
4655 4655
 						//error_log(__METHOD__.' ('.__LINE__.') '.' Uid:'.$_uid.' Part:'.$mime_id.':'.array2string($skipParts));
4656 4656
 						//break 2;
4657 4657
 					}
@@ -4692,13 +4692,13 @@  discard block
 block discarded – undo
4692 4692
 	 * @param boolean $_tryDecodingServerside = true; wether to try to fetch Data with BINARY instead of BODY
4693 4693
 	 * @return string|resource
4694 4694
 	 */
4695
-	function getBodyPart($_uid, $_partID=null, $_folder=null, $_preserveSeen=false, $_stream=false, &$_encoding=null, $_tryDecodingServerside=true)
4695
+	function getBodyPart($_uid, $_partID = null, $_folder = null, $_preserveSeen = false, $_stream = false, &$_encoding = null, $_tryDecodingServerside = true)
4696 4696
 	{
4697
-		if (self::$debug) error_log( __METHOD__.__LINE__."(".array2string($_uid).", $_partID, $_folder, $_preserveSeen, $_stream, $_encoding, $_tryDecodingServerside)");
4697
+		if (self::$debug) error_log(__METHOD__.__LINE__."(".array2string($_uid).", $_partID, $_folder, $_preserveSeen, $_stream, $_encoding, $_tryDecodingServerside)");
4698 4698
 
4699 4699
 		if (empty($_folder))
4700 4700
 		{
4701
-			$_folder = (isset($this->sessionData['mailbox'])&&$this->sessionData['mailbox']? $this->sessionData['mailbox'] : $this->icServer->getCurrentMailbox());
4701
+			$_folder = (isset($this->sessionData['mailbox']) && $this->sessionData['mailbox'] ? $this->sessionData['mailbox'] : $this->icServer->getCurrentMailbox());
4702 4702
 		}
4703 4703
 		//error_log(__METHOD__.' ('.__LINE__.') '.array2string($_folder).'/'.$this->icServer->getCurrentMailbox().'/'. $this->sessionData['mailbox']);
4704 4704
 		// querying contents of body part
@@ -4709,11 +4709,11 @@  discard block
 block discarded – undo
4709 4709
 		$fquery = new Horde_Imap_Client_Fetch_Query();
4710 4710
 		$fetchParams = array(
4711 4711
 			'peek' => $_preserveSeen,
4712
-			'decode' => true,	// try decode on server, does NOT neccessary work
4712
+			'decode' => true, // try decode on server, does NOT neccessary work
4713 4713
 		);
4714
-		if ($_tryDecodingServerside===false)// || ($_tryDecodingServerside&&$this->isDraftFolder($_folder)))
4714
+		if ($_tryDecodingServerside === false)// || ($_tryDecodingServerside&&$this->isDraftFolder($_folder)))
4715 4715
 		{
4716
-			$_tryDecodingServerside=false;
4716
+			$_tryDecodingServerside = false;
4717 4717
 			$fetchParams = array(
4718 4718
 				'peek' => $_preserveSeen,
4719 4719
 			);
@@ -4733,12 +4733,12 @@  discard block
 block discarded – undo
4733 4733
 		}
4734 4734
 		// if we get an empty result, server may have trouble fetching data with UID FETCH $_uid (BINARY.PEEK[$_partID])
4735 4735
 		// thus we trigger a second go with UID FETCH $_uid (BODY.PEEK[$_partID])
4736
-		if (empty($partToReturn)&&$_tryDecodingServerside===true)
4736
+		if (empty($partToReturn) && $_tryDecodingServerside === true)
4737 4737
 		{
4738 4738
 			error_log(__METHOD__.__LINE__.' failed to fetch bodyPart in  BINARY. Try BODY');
4739 4739
 			$partToReturn = $this->getBodyPart($_uid, $_partID, $_folder, $_preserveSeen, $_stream, $_encoding, false);
4740 4740
 		}
4741
-		return ($partToReturn?$partToReturn:null);
4741
+		return ($partToReturn ? $partToReturn : null);
4742 4742
 	}
4743 4743
 
4744 4744
 	/**
@@ -4751,13 +4751,13 @@  discard block
 block discarded – undo
4751 4751
 	 * @param boolean $_stream = false true return a stream, false return string
4752 4752
 	 * @return array containing the desired text part, mimeType and charset
4753 4753
 	 */
4754
-	function getTextPart($_uid, Horde_Mime_Part $_structure, $_htmlMode='', $_preserveSeen=false, $_stream=false)
4754
+	function getTextPart($_uid, Horde_Mime_Part $_structure, $_htmlMode = '', $_preserveSeen = false, $_stream = false)
4755 4755
 	{
4756 4756
 		//error_log(__METHOD__.' ('.__LINE__.') '.'->'.$_uid.':'.array2string($_structure).' '.function_backtrace());
4757 4757
 		$bodyPart = array();
4758
-		if (self::$debug) _debug_array(array($_structure,function_backtrace()));
4758
+		if (self::$debug) _debug_array(array($_structure, function_backtrace()));
4759 4759
 
4760
-		if($_structure->getSubType() == 'html' && !in_array($_htmlMode, array('html_only', 'always_display', 'only_if_no_text')))
4760
+		if ($_structure->getSubType() == 'html' && !in_array($_htmlMode, array('html_only', 'always_display', 'only_if_no_text')))
4761 4761
 		{
4762 4762
 			$bodyPart = array(
4763 4763
 				'error'		=> 1,
@@ -4804,10 +4804,10 @@  discard block
 block discarded – undo
4804 4804
 	 * @param Horde_Mime_part& $calendar_part =null on return calendar-part or null, if there is none
4805 4805
 	 * @return array containing the message body, mimeType and charset
4806 4806
 	 */
4807
-	function getMessageBody($_uid, $_htmlOptions='', $_partID=null, Horde_Mime_Part $_structure=null, $_preserveSeen = false, $_folder = '', &$calendar_part=null)
4807
+	function getMessageBody($_uid, $_htmlOptions = '', $_partID = null, Horde_Mime_Part $_structure = null, $_preserveSeen = false, $_folder = '', &$calendar_part = null)
4808 4808
 	{
4809 4809
 		if (self::$debug) echo __METHOD__."$_uid, $_htmlOptions, $_partID<br>";
4810
-		if($_htmlOptions != '') {
4810
+		if ($_htmlOptions != '') {
4811 4811
 			$this->htmlOptions = $_htmlOptions;
4812 4812
 		}
4813 4813
 		if (empty($_folder))
@@ -4828,7 +4828,7 @@  discard block
 block discarded – undo
4828 4828
 			return array(
4829 4829
 				array(
4830 4830
 					'error'		=> 1,
4831
-					'body'		=> 'Error: Could not fetch structure on mail:'.$_uid." as $_htmlOptions". 'for Mailprofile'.$this->icServer->ImapServerId.' User:'.$GLOBALS['egw_info']['user']['account_lid'],
4831
+					'body'		=> 'Error: Could not fetch structure on mail:'.$_uid." as $_htmlOptions".'for Mailprofile'.$this->icServer->ImapServerId.' User:'.$GLOBALS['egw_info']['user']['account_lid'],
4832 4832
 					'mimeType'	=> 'text/plain',
4833 4833
 					'charSet'	=> self::$displayCharset,
4834 4834
 				)
@@ -4841,7 +4841,7 @@  discard block
 block discarded – undo
4841 4841
 			//_debug_array($_structure->getMimeId()); exit;
4842 4842
 		}
4843 4843
 
4844
-		switch($_structure->getPrimaryType())
4844
+		switch ($_structure->getPrimaryType())
4845 4845
 		{
4846 4846
 			case 'application':
4847 4847
 				return array(
@@ -4853,7 +4853,7 @@  discard block
 block discarded – undo
4853 4853
 				);
4854 4854
 
4855 4855
 			case 'multipart':
4856
-				switch($_structure->getSubType())
4856
+				switch ($_structure->getSubType())
4857 4857
 				{
4858 4858
 					case 'alternative':
4859 4859
 						$bodyParts = array($this->getMultipartAlternative($_uid, $_structure, $this->htmlOptions, $_preserveSeen, $calendar_part));
@@ -4887,7 +4887,7 @@  discard block
 block discarded – undo
4887 4887
 				$bodyPart = array();
4888 4888
 				if ($_structure->getDisposition() != 'attachment')
4889 4889
 				{
4890
-					switch($_structure->getSubType())
4890
+					switch ($_structure->getSubType())
4891 4891
 					{
4892 4892
 						case 'calendar':
4893 4893
 							// this is handeled in getTextPart
@@ -4903,11 +4903,11 @@  discard block
 block discarded – undo
4903 4903
 
4904 4904
 			case 'attachment':
4905 4905
 			case 'message':
4906
-				switch($_structure->getSubType())
4906
+				switch ($_structure->getSubType())
4907 4907
 				{
4908 4908
 					case 'rfc822':
4909 4909
 						$newStructure = $_structure->getParts();
4910
-						if (self::$debug) {echo __METHOD__." Message -> RFC -> NewStructure:"; _debug_array($newStructure[0]);}
4910
+						if (self::$debug) {echo __METHOD__." Message -> RFC -> NewStructure:"; _debug_array($newStructure[0]); }
4911 4911
 						return self::normalizeBodyParts($this->getMessageBody($_uid, $_htmlOptions, $newStructure[0]->getMimeId(), $newStructure[0], $_preserveSeen, $_folder));
4912 4912
 				}
4913 4913
 				break;
@@ -4935,11 +4935,11 @@  discard block
 block discarded – undo
4935 4935
 	{
4936 4936
 		if (is_array($_bodyParts))
4937 4937
 		{
4938
-			foreach($_bodyParts as $singleBodyPart)
4938
+			foreach ($_bodyParts as $singleBodyPart)
4939 4939
 			{
4940 4940
 				if (!isset($singleBodyPart['body'])) {
4941 4941
 					$buff = self::normalizeBodyParts($singleBodyPart);
4942
-					foreach ((array)$buff as $val) { $body2return[] = $val;}
4942
+					foreach ((array)$buff as $val) { $body2return[] = $val; }
4943 4943
 					continue;
4944 4944
 				}
4945 4945
 				$body2return[] = $singleBodyPart;
@@ -4960,14 +4960,14 @@  discard block
 block discarded – undo
4960 4960
 	 * @param boolean $useTidy  switch to use tidy
4961 4961
 	 * @return string a preformatted string with the mails converted to text
4962 4962
 	 */
4963
-	static function &getdisplayableBody(&$mailClass, $bodyParts, $preserveHTML = false,  $useTidy = true)
4963
+	static function &getdisplayableBody(&$mailClass, $bodyParts, $preserveHTML = false, $useTidy = true)
4964 4964
 	{
4965
-		$message='';
4966
-		for($i=0; $i<count($bodyParts); $i++)
4965
+		$message = '';
4966
+		for ($i = 0; $i < count($bodyParts); $i++)
4967 4967
 		{
4968 4968
 			if (!isset($bodyParts[$i]['body'])) {
4969 4969
 				$bodyParts[$i]['body'] = self::getdisplayableBody($mailClass, $bodyParts[$i], $preserveHTML, $useTidy);
4970
-				$message .= empty($bodyParts[$i]['body'])?'':$bodyParts[$i]['body'];
4970
+				$message .= empty($bodyParts[$i]['body']) ? '' : $bodyParts[$i]['body'];
4971 4971
 				continue;
4972 4972
 			}
4973 4973
 			if (isset($bodyParts[$i]['error'])) continue;
@@ -4992,32 +4992,32 @@  discard block
 block discarded – undo
4992 4992
 				'(R)',
4993 4993
 			);
4994 4994
 
4995
-			if(($bodyParts[$i]['mimeType'] == 'text/html' || $bodyParts[$i]['mimeType'] == 'text/plain') &&
4995
+			if (($bodyParts[$i]['mimeType'] == 'text/html' || $bodyParts[$i]['mimeType'] == 'text/plain') &&
4996 4996
 				strtoupper($bodyParts[$i]['charSet']) != 'UTF-8')
4997 4997
 			{
4998
-				$bodyParts[$i]['body'] = preg_replace($sar,$rar,$bodyParts[$i]['body']);
4998
+				$bodyParts[$i]['body'] = preg_replace($sar, $rar, $bodyParts[$i]['body']);
4999 4999
 			}
5000 5000
 
5001
-			if ($bodyParts[$i]['charSet']===false) $bodyParts[$i]['charSet'] = Translation::detect_encoding($bodyParts[$i]['body']);
5001
+			if ($bodyParts[$i]['charSet'] === false) $bodyParts[$i]['charSet'] = Translation::detect_encoding($bodyParts[$i]['body']);
5002 5002
 			// add line breaks to $bodyParts
5003 5003
 			//error_log(__METHOD__.' ('.__LINE__.') '.' Charset:'.$bodyParts[$i]['charSet'].'->'.$bodyParts[$i]['body']);
5004
-			$newBody  = Translation::convert_jsonsafe($bodyParts[$i]['body'], $bodyParts[$i]['charSet']);
5004
+			$newBody = Translation::convert_jsonsafe($bodyParts[$i]['body'], $bodyParts[$i]['charSet']);
5005 5005
 			//error_log(__METHOD__.' ('.__LINE__.') '.' MimeType:'.$bodyParts[$i]['mimeType'].'->'.$newBody);
5006 5006
 			$mailClass->activeMimeType = 'text/plain';
5007 5007
 			if ($bodyParts[$i]['mimeType'] == 'text/html') {
5008 5008
 				$mailClass->activeMimeType = $bodyParts[$i]['mimeType'];
5009 5009
 				if (!$preserveHTML)
5010 5010
 				{
5011
-					$alreadyHtmlLawed=false;
5011
+					$alreadyHtmlLawed = false;
5012 5012
 					// as Translation::convert reduces \r\n to \n and purifier eats \n -> peplace it with a single space
5013
-					$newBody = str_replace("\n"," ",$newBody);
5013
+					$newBody = str_replace("\n", " ", $newBody);
5014 5014
 					// convert HTML to text, as we dont want HTML in infologs
5015 5015
 					if ($useTidy && extension_loaded('tidy'))
5016 5016
 					{
5017 5017
 						$tidy = new tidy();
5018
-						$cleaned = $tidy->repairString($newBody, self::$tidy_config,'utf8');
5018
+						$cleaned = $tidy->repairString($newBody, self::$tidy_config, 'utf8');
5019 5019
 						// Found errors. Strip it all so there's some output
5020
-						if($tidy->getStatus() == 2)
5020
+						if ($tidy->getStatus() == 2)
5021 5021
 						{
5022 5022
 							error_log(__METHOD__.' ('.__LINE__.') '.' ->'.$tidy->errorBuffer);
5023 5023
 						}
@@ -5028,7 +5028,7 @@  discard block
 block discarded – undo
5028 5028
 						if (!$preserveHTML)
5029 5029
 						{
5030 5030
 							// filter only the 'body', as we only want that part, if we throw away the html
5031
-							preg_match('`(<htm.+?<body[^>]*>)(.+?)(</body>.*?</html>)`ims', $newBody, $matches=array());
5031
+							preg_match('`(<htm.+?<body[^>]*>)(.+?)(</body>.*?</html>)`ims', $newBody, $matches = array());
5032 5032
 							if ($matches[2])
5033 5033
 							{
5034 5034
 								$hasOther = true;
@@ -5039,7 +5039,7 @@  discard block
 block discarded – undo
5039 5039
 					else
5040 5040
 					{
5041 5041
 						// htmLawed filter only the 'body'
5042
-						preg_match('`(<htm.+?<body[^>]*>)(.+?)(</body>.*?</html>)`ims', $newBody, $matches=array());
5042
+						preg_match('`(<htm.+?<body[^>]*>)(.+?)(</body>.*?</html>)`ims', $newBody, $matches = array());
5043 5043
 						if ($matches[2])
5044 5044
 						{
5045 5045
 							$hasOther = true;
@@ -5048,17 +5048,17 @@  discard block
 block discarded – undo
5048 5048
 						$htmLawed = new Html\HtmLawed();
5049 5049
 						// the next line should not be needed, but produces better results on HTML 2 Text conversion,
5050 5050
 						// as we switched off HTMLaweds tidy functionality
5051
-						$newBody = str_replace(array('&amp;amp;','<DIV><BR></DIV>',"<DIV>&nbsp;</DIV>",'<div>&nbsp;</div>'),array('&amp;','<BR>','<BR>','<BR>'),$newBody);
5052
-						$newBody = $htmLawed->run($newBody,self::$htmLawed_config);
5053
-						if ($hasOther && $preserveHTML) $newBody = $matches[1]. $newBody. $matches[3];
5054
-						$alreadyHtmlLawed=true;
5051
+						$newBody = str_replace(array('&amp;amp;', '<DIV><BR></DIV>', "<DIV>&nbsp;</DIV>", '<div>&nbsp;</div>'), array('&amp;', '<BR>', '<BR>', '<BR>'), $newBody);
5052
+						$newBody = $htmLawed->run($newBody, self::$htmLawed_config);
5053
+						if ($hasOther && $preserveHTML) $newBody = $matches[1].$newBody.$matches[3];
5054
+						$alreadyHtmlLawed = true;
5055 5055
 					}
5056 5056
 					//error_log(__METHOD__.' ('.__LINE__.') '.' after purify:'.$newBody);
5057
-					if ($preserveHTML==false) $newBody = Mail\Html::convertHTMLToText($newBody,self::$displayCharset,true,true);
5057
+					if ($preserveHTML == false) $newBody = Mail\Html::convertHTMLToText($newBody, self::$displayCharset, true, true);
5058 5058
 					//error_log(__METHOD__.' ('.__LINE__.') '.' after convertHTMLToText:'.$newBody);
5059
-					if ($preserveHTML==false) $newBody = nl2br($newBody); // we need this, as htmLawed removes \r\n
5059
+					if ($preserveHTML == false) $newBody = nl2br($newBody); // we need this, as htmLawed removes \r\n
5060 5060
 					/*if (!$alreadyHtmlLawed) */ $mailClass->getCleanHTML($newBody); // remove stuff we regard as unwanted
5061
-					if ($preserveHTML==false) $newBody = str_replace("<br />","\r\n",$newBody);
5061
+					if ($preserveHTML == false) $newBody = str_replace("<br />", "\r\n", $newBody);
5062 5062
 					//error_log(__METHOD__.' ('.__LINE__.') '.' after getClean:'.$newBody);
5063 5063
 				}
5064 5064
 				$message .= $newBody;
@@ -5067,9 +5067,9 @@  discard block
 block discarded – undo
5067 5067
 			//error_log(__METHOD__.' ('.__LINE__.') '.' Body(after specialchars):'.$newBody);
5068 5068
 			//use Mail\Html::convertHTMLToText instead of strip_tags, (even message is plain text) as strip_tags eats away too much
5069 5069
 			//$newBody = strip_tags($newBody); //we need to fix broken tags (or just stuff like "<800 USD/p" )
5070
-			$newBody = Mail\Html::convertHTMLToText($newBody,self::$displayCharset,false,false);
5070
+			$newBody = Mail\Html::convertHTMLToText($newBody, self::$displayCharset, false, false);
5071 5071
 			//error_log(__METHOD__.' ('.__LINE__.') '.' Body(after strip tags):'.$newBody);
5072
-			$newBody = htmlspecialchars_decode($newBody,ENT_QUOTES);
5072
+			$newBody = htmlspecialchars_decode($newBody, ENT_QUOTES);
5073 5073
 			//error_log(__METHOD__.' ('.__LINE__.') '.' Body (after hmlspc_decode):'.$newBody);
5074 5074
 			$message .= $newBody;
5075 5075
 			//continue;
@@ -5077,27 +5077,27 @@  discard block
 block discarded – undo
5077 5077
 		return $message;
5078 5078
 	}
5079 5079
 
5080
-	static function wordwrap($str, $cols, $cut, $dontbreaklinesstartingwith=false)
5080
+	static function wordwrap($str, $cols, $cut, $dontbreaklinesstartingwith = false)
5081 5081
 	{
5082 5082
 		$lines = explode("\n", $str);
5083 5083
 		$newStr = '';
5084
-		foreach($lines as $line)
5084
+		foreach ($lines as $line)
5085 5085
 		{
5086 5086
 			// replace tabs by 8 space chars, or any tab only counts one char
5087 5087
 			//$line = str_replace("\t","        ",$line);
5088 5088
 			//$newStr .= wordwrap($line, $cols, $cut);
5089
-			$allowedLength = $cols-strlen($cut);
5089
+			$allowedLength = $cols - strlen($cut);
5090 5090
 			//dont try to break lines with links, chance is we mess up the text is way too big
5091
-			if (strlen($line) > $allowedLength && stripos($line,'href=')===false &&
5092
-				($dontbreaklinesstartingwith==false ||
5091
+			if (strlen($line) > $allowedLength && stripos($line, 'href=') === false &&
5092
+				($dontbreaklinesstartingwith == false ||
5093 5093
 				 ($dontbreaklinesstartingwith &&
5094
-				  strlen($dontbreaklinesstartingwith)>=1 &&
5095
-				  substr($line,0,strlen($dontbreaklinesstartingwith)) != $dontbreaklinesstartingwith
5094
+				  strlen($dontbreaklinesstartingwith) >= 1 &&
5095
+				  substr($line, 0, strlen($dontbreaklinesstartingwith)) != $dontbreaklinesstartingwith
5096 5096
 				 )
5097 5097
 				)
5098 5098
 			   )
5099 5099
 			{
5100
-				$s=explode(" ", $line);
5100
+				$s = explode(" ", $line);
5101 5101
 				$line = "";
5102 5102
 				$linecnt = 0;
5103 5103
 				foreach ($s as &$v) {
@@ -5105,22 +5105,22 @@  discard block
 block discarded – undo
5105 5105
 					// only break long words within the wordboundaries,
5106 5106
 					// but it may destroy links, so we check for href and dont do it if we find one
5107 5107
 					// we check for any html within the word, because we do not want to break html by accident
5108
-					if($cnt > $allowedLength && stripos($v,'href=')===false && stripos($v,'onclick=')===false && $cnt == strlen(html_entity_decode($v)))
5108
+					if ($cnt > $allowedLength && stripos($v, 'href=') === false && stripos($v, 'onclick=') === false && $cnt == strlen(html_entity_decode($v)))
5109 5109
 					{
5110
-						$v=wordwrap($v, $allowedLength, $cut, true);
5110
+						$v = wordwrap($v, $allowedLength, $cut, true);
5111 5111
 					}
5112 5112
 					// the rest should be broken at the start of the new word that exceeds the limit
5113
-					if ($linecnt+$cnt > $allowedLength) {
5114
-						$v=$cut.$v;
5113
+					if ($linecnt + $cnt > $allowedLength) {
5114
+						$v = $cut.$v;
5115 5115
 						#$linecnt = 0;
5116
-						$linecnt =strlen($v)-strlen($cut);
5116
+						$linecnt = strlen($v) - strlen($cut);
5117 5117
 					} else {
5118 5118
 						$linecnt += $cnt;
5119 5119
 					}
5120 5120
 					if (strlen($v)) $line .= (strlen($line) ? " " : "").$v;
5121 5121
 				}
5122 5122
 			}
5123
-			$newStr .= $line . "\n";
5123
+			$newStr .= $line."\n";
5124 5124
 		}
5125 5125
 		return $newStr;
5126 5126
 	}
@@ -5135,12 +5135,12 @@  discard block
 block discarded – undo
5135 5135
 	 * @param boolean $_useHeaderInsteadOfEnvelope - force getMessageHeader method to be used for fetching Envelope Information
5136 5136
 	 * @return array the message header
5137 5137
 	 */
5138
-	function getMessageEnvelope($_uid, $_partID = '',$decode=false, $_folder='', $_useHeaderInsteadOfEnvelope=false)
5138
+	function getMessageEnvelope($_uid, $_partID = '', $decode = false, $_folder = '', $_useHeaderInsteadOfEnvelope = false)
5139 5139
 	{
5140 5140
 		//error_log(__METHOD__.' ('.__LINE__.') '.":$_uid,$_partID,$decode,$_folder".function_backtrace());
5141
-		if (empty($_folder)) $_folder = ($this->sessionData['mailbox']? $this->sessionData['mailbox'] : $this->icServer->getCurrentMailbox());
5141
+		if (empty($_folder)) $_folder = ($this->sessionData['mailbox'] ? $this->sessionData['mailbox'] : $this->icServer->getCurrentMailbox());
5142 5142
 		//error_log(__METHOD__.' ('.__LINE__.') '.":$_uid,$_partID,$decode,$_folder");
5143
-		if((empty($_partID)||$_partID=='null')&&$_useHeaderInsteadOfEnvelope===false) {
5143
+		if ((empty($_partID) || $_partID == 'null') && $_useHeaderInsteadOfEnvelope === false) {
5144 5144
 			$uidsToFetch = new Horde_Imap_Client_Ids();
5145 5145
 			if (!(is_object($_uid) || is_array($_uid))) $_uid = (array)$_uid;
5146 5146
 			$uidsToFetch->add($_uid);
@@ -5153,7 +5153,7 @@  discard block
 block discarded – undo
5153 5153
 				'ids' => $uidsToFetch,
5154 5154
 			));
5155 5155
 			if (is_object($headersNew)) {
5156
-				foreach($headersNew as &$_headerObject) {
5156
+				foreach ($headersNew as &$_headerObject) {
5157 5157
 					$env = $_headerObject->getEnvelope();
5158 5158
 					//_debug_array($envFields->singleFields());
5159 5159
 					$singleFields = $envFields->singleFields();
@@ -5168,34 +5168,34 @@  discard block
 block discarded – undo
5168 5168
 							case 'bcc':
5169 5169
 							case 'sender':
5170 5170
 								//error_log(__METHOD__.' ('.__LINE__.') '.$v.'->'.array2string($env->$v->addresses));
5171
-								$envelope[$v]=$env->$v->addresses;
5171
+								$envelope[$v] = $env->$v->addresses;
5172 5172
 								$address = array();
5173 5173
 								if (!is_array($envelope[$v])) break;
5174 5174
 								foreach ($envelope[$v] as $k => $ad)
5175 5175
 								{
5176
-									if (stripos($ad,'@')===false)
5176
+									if (stripos($ad, '@') === false)
5177 5177
 									{
5178
-										$remember=$k;
5178
+										$remember = $k;
5179 5179
 									}
5180 5180
 									else
5181 5181
 									{
5182
-										$address[] = (!is_null($remember)?$envelope[$v][$remember].' ':'').$ad;
5183
-										$remember=null;
5182
+										$address[] = (!is_null($remember) ? $envelope[$v][$remember].' ' : '').$ad;
5183
+										$remember = null;
5184 5184
 									}
5185 5185
 								}
5186 5186
 								$envelope[$v] = $address;
5187 5187
 								break;
5188 5188
 							case 'date':
5189
-								$envelope[$v]=DateTime::to($env->$v);
5189
+								$envelope[$v] = DateTime::to($env->$v);
5190 5190
 								break;
5191 5191
 							default:
5192
-								$envelope[$v]=$env->$v;
5192
+								$envelope[$v] = $env->$v;
5193 5193
 						}
5194 5194
 					}
5195
-					$envelope['size']=$_headerObject->getSize();
5195
+					$envelope['size'] = $_headerObject->getSize();
5196 5196
 				}
5197 5197
 			}
5198
-			$envelope = array_change_key_case($envelope,CASE_UPPER);
5198
+			$envelope = array_change_key_case($envelope, CASE_UPPER);
5199 5199
 			//if ($decode) _debug_array($envelope);
5200 5200
 			//error_log(__METHOD__.' ('.__LINE__.') '.array2string($envelope));
5201 5201
 			if ($decode)
@@ -5203,19 +5203,19 @@  discard block
 block discarded – undo
5203 5203
 				foreach ($envelope as $key => $rvV)
5204 5204
 				{
5205 5205
 					//try idn conversion only on 'FROM', 'TO', 'CC', 'BCC', 'SENDER', 'REPLY-TO'
5206
-					$envelope[$key]=self::decode_header($rvV,in_array($key,array('FROM', 'TO', 'CC', 'BCC', 'SENDER', 'REPLY-TO')));
5206
+					$envelope[$key] = self::decode_header($rvV, in_array($key, array('FROM', 'TO', 'CC', 'BCC', 'SENDER', 'REPLY-TO')));
5207 5207
 				}
5208 5208
 			}
5209 5209
 			return $envelope;
5210 5210
 		} else {
5211 5211
 
5212
-			$headers = $this->getMessageHeader($_uid, $_partID, true,true,$_folder);
5212
+			$headers = $this->getMessageHeader($_uid, $_partID, true, true, $_folder);
5213 5213
 
5214 5214
 			//error_log(__METHOD__.' ('.__LINE__.') '.':'.array2string($headers));
5215 5215
 			//_debug_array($headers);
5216 5216
 			$newData = array(
5217 5217
 				'DATE'		=> $headers['DATE'],
5218
-				'SUBJECT'	=> ($decode ? self::decode_header($headers['SUBJECT']):$headers['SUBJECT']),
5218
+				'SUBJECT'	=> ($decode ? self::decode_header($headers['SUBJECT']) : $headers['SUBJECT']),
5219 5219
 				'MESSAGE_ID'	=> $headers['MESSAGE-ID']
5220 5220
 			);
5221 5221
 			if (isset($headers['IN-REPLY-TO'])) $newData['IN-REPLY-TO'] = $headers['IN-REPLY-TO'];
@@ -5226,11 +5226,11 @@  discard block
 block discarded – undo
5226 5226
 			if (isset($headers['SIZE'])) $newData['SIZE'] = $headers['SIZE'];
5227 5227
 			//_debug_array($newData);
5228 5228
 			$recepientList = array('FROM', 'TO', 'CC', 'BCC', 'SENDER', 'REPLY-TO');
5229
-			foreach($recepientList as $recepientType) {
5230
-				if(isset($headers[$recepientType])) {
5231
-					if ($decode) $headers[$recepientType] =  self::decode_header($headers[$recepientType],true);
5229
+			foreach ($recepientList as $recepientType) {
5230
+				if (isset($headers[$recepientType])) {
5231
+					if ($decode) $headers[$recepientType] = self::decode_header($headers[$recepientType], true);
5232 5232
 					//error_log(__METHOD__.__LINE__." ".$recepientType."->".array2string($headers[$recepientType]));
5233
-					foreach(self::parseAddressList($headers[$recepientType]) as $singleAddress) {
5233
+					foreach (self::parseAddressList($headers[$recepientType]) as $singleAddress) {
5234 5234
 						$addressData = array(
5235 5235
 							'PERSONAL_NAME'		=> $singleAddress->personal ? $singleAddress->personal : 'NIL',
5236 5236
 							'AT_DOMAIN_LIST'	=> $singleAddress->adl ? $singleAddress->adl : 'NIL',
@@ -5238,15 +5238,15 @@  discard block
 block discarded – undo
5238 5238
 							'HOST_NAME'		=> $singleAddress->host ? $singleAddress->host : 'NIL',
5239 5239
 							'EMAIL'			=> $singleAddress->host ? $singleAddress->mailbox.'@'.$singleAddress->host : $singleAddress->mailbox,
5240 5240
 						);
5241
-						if($addressData['PERSONAL_NAME'] != 'NIL') {
5241
+						if ($addressData['PERSONAL_NAME'] != 'NIL') {
5242 5242
 							$addressData['RFC822_EMAIL'] = imap_rfc822_write_address($singleAddress->mailbox, $singleAddress->host, $singleAddress->personal);
5243 5243
 						} else {
5244 5244
 							$addressData['RFC822_EMAIL'] = 'NIL';
5245 5245
 						}
5246
-						$newData[$recepientType][] = ($addressData['RFC822_EMAIL']!='NIL'?$addressData['RFC822_EMAIL']:$addressData['EMAIL']);//$addressData;
5246
+						$newData[$recepientType][] = ($addressData['RFC822_EMAIL'] != 'NIL' ? $addressData['RFC822_EMAIL'] : $addressData['EMAIL']); //$addressData;
5247 5247
 					}
5248 5248
 				} else {
5249
-					if($recepientType == 'SENDER' || $recepientType == 'REPLY-TO') {
5249
+					if ($recepientType == 'SENDER' || $recepientType == 'REPLY-TO') {
5250 5250
 						$newData[$recepientType] = $newData['FROM'];
5251 5251
 					} else {
5252 5252
 						$newData[$recepientType] = array();
@@ -5268,10 +5268,10 @@  discard block
 block discarded – undo
5268 5268
 	 * @param string $_folder folder to work on
5269 5269
 	 * @return array|Horde_Mime_Headers message header as array or object
5270 5270
 	 */
5271
-	function getMessageHeader($_uid, $_partID = '',$decode=false, $preserveUnSeen=false, $_folder='')
5271
+	function getMessageHeader($_uid, $_partID = '', $decode = false, $preserveUnSeen = false, $_folder = '')
5272 5272
 	{
5273 5273
 		//error_log(__METHOD__.' ('.__LINE__.') '.':'.$_uid.', '.$_partID.', '.$decode.', '.$preserveUnSeen.', '.$_folder);
5274
-		if (empty($_folder)) $_folder = ($this->sessionData['mailbox']? $this->sessionData['mailbox'] : $this->icServer->getCurrentMailbox());
5274
+		if (empty($_folder)) $_folder = ($this->sessionData['mailbox'] ? $this->sessionData['mailbox'] : $this->icServer->getCurrentMailbox());
5275 5275
 		$uidsToFetch = new Horde_Imap_Client_Ids();
5276 5276
 		if (!(is_object($_uid) || is_array($_uid))) $_uid = (array)$_uid;
5277 5277
 		$uidsToFetch->add($_uid);
@@ -5279,7 +5279,7 @@  discard block
 block discarded – undo
5279 5279
 		$fquery = new Horde_Imap_Client_Fetch_Query();
5280 5280
 		if ($_partID != '')
5281 5281
 		{
5282
-			$fquery->headerText(array('id'=>$_partID,'peek'=>$preserveUnSeen));
5282
+			$fquery->headerText(array('id'=>$_partID, 'peek'=>$preserveUnSeen));
5283 5283
 			$fquery->structure();
5284 5284
 		}
5285 5285
 		else
@@ -5292,18 +5292,18 @@  discard block
 block discarded – undo
5292 5292
 			'ids' => $uidsToFetch,
5293 5293
 		));
5294 5294
 		if (is_object($headersNew)) {
5295
-			foreach($headersNew as $_fetchObject)
5295
+			foreach ($headersNew as $_fetchObject)
5296 5296
 			{
5297
-				$headers = $_fetchObject->getHeaderText(0,Horde_Imap_Client_Data_Fetch::HEADER_PARSE);
5297
+				$headers = $_fetchObject->getHeaderText(0, Horde_Imap_Client_Data_Fetch::HEADER_PARSE);
5298 5298
 				if ($_partID != '')
5299 5299
 				{
5300 5300
 					$mailStructureObject = $_fetchObject->getStructure();
5301 5301
 					foreach ($mailStructureObject->contentTypeMap() as $mime_id => $mime_type)
5302 5302
 					{
5303
-						if ($mime_id==$_partID)
5303
+						if ($mime_id == $_partID)
5304 5304
 						{
5305 5305
 							//error_log(__METHOD__.' ('.__LINE__.') '."$mime_id == $_partID".array2string($_headerObject->getHeaderText($mime_id,Horde_Imap_Client_Data_Fetch::HEADER_PARSE)->toArray()));
5306
-							$headers = $_fetchObject->getHeaderText($mime_id,Horde_Imap_Client_Data_Fetch::HEADER_PARSE);
5306
+							$headers = $_fetchObject->getHeaderText($mime_id, Horde_Imap_Client_Data_Fetch::HEADER_PARSE);
5307 5307
 							break;
5308 5308
 						}
5309 5309
 					}
@@ -5316,15 +5316,15 @@  discard block
 block discarded – undo
5316 5316
 				if (is_object($headers)) $headers->setUserAgent('EGroupware API '.$GLOBALS['egw_info']['server']['versions']['phpgwapi']);
5317 5317
 				return $headers;
5318 5318
 			}
5319
-			$retValue = is_object($headers) ? $headers->toArray():array();
5319
+			$retValue = is_object($headers) ? $headers->toArray() : array();
5320 5320
 			if ($size) $retValue['size'] = $size;
5321 5321
 		}
5322
-		$retValue = array_change_key_case($retValue,CASE_UPPER);
5322
+		$retValue = array_change_key_case($retValue, CASE_UPPER);
5323 5323
 		//error_log(__METHOD__.' ('.__LINE__.') '.array2string($retValue));
5324 5324
 		// if SUBJECT is an array, use thelast one, as we assume something with the unfolding for the subject did not work
5325 5325
 		if (is_array($retValue['SUBJECT']))
5326 5326
 		{
5327
-			$retValue['SUBJECT'] = $retValue['SUBJECT'][count($retValue['SUBJECT'])-1];
5327
+			$retValue['SUBJECT'] = $retValue['SUBJECT'][count($retValue['SUBJECT']) - 1];
5328 5328
 		}
5329 5329
 		//error_log(__METHOD__.' ('.__LINE__.') '.':'.array2string($decode ? self::decode_header($retValue,true):$retValue));
5330 5330
 		if ($decode)
@@ -5332,7 +5332,7 @@  discard block
 block discarded – undo
5332 5332
 			foreach ($retValue as $key => $rvV)
5333 5333
 			{
5334 5334
 				//try idn conversion only on 'FROM', 'TO', 'CC', 'BCC', 'SENDER', 'REPLY-TO'
5335
-				$retValue[$key]=self::decode_header($rvV,in_array($key,array('FROM', 'TO', 'CC', 'BCC', 'SENDER', 'REPLY-TO')));
5335
+				$retValue[$key] = self::decode_header($rvV, in_array($key, array('FROM', 'TO', 'CC', 'BCC', 'SENDER', 'REPLY-TO')));
5336 5336
 			}
5337 5337
 		}
5338 5338
 		return $retValue;
@@ -5349,14 +5349,14 @@  discard block
 block discarded – undo
5349 5349
 	function getMessageRawHeader($_uid, $_partID = '', $_folder = '')
5350 5350
 	{
5351 5351
 		static $rawHeaders;
5352
-		if (empty($_folder)) $_folder = ($this->sessionData['mailbox']? $this->sessionData['mailbox'] : $this->icServer->getCurrentMailbox());
5352
+		if (empty($_folder)) $_folder = ($this->sessionData['mailbox'] ? $this->sessionData['mailbox'] : $this->icServer->getCurrentMailbox());
5353 5353
 		//error_log(__METHOD__.' ('.__LINE__.') '." Try Using Cache for raw Header $_uid, $_partID in Folder $_folder");
5354 5354
 
5355
-		if (is_null($rawHeaders)||!is_array($rawHeaders)) $rawHeaders = Cache::getCache(Cache::INSTANCE,'email','rawHeadersCache'.trim($GLOBALS['egw_info']['user']['account_id']),null,array(),60*60*1);
5356
-		if (isset($rawHeaders[$this->icServer->ImapServerId][(string)$_folder][$_uid][(empty($_partID)?'NIL':$_partID)]))
5355
+		if (is_null($rawHeaders) || !is_array($rawHeaders)) $rawHeaders = Cache::getCache(Cache::INSTANCE, 'email', 'rawHeadersCache'.trim($GLOBALS['egw_info']['user']['account_id']), null, array(), 60 * 60 * 1);
5356
+		if (isset($rawHeaders[$this->icServer->ImapServerId][(string)$_folder][$_uid][(empty($_partID) ? 'NIL' : $_partID)]))
5357 5357
 		{
5358 5358
 			//error_log(__METHOD__.' ('.__LINE__.') '." Using Cache for raw Header $_uid, $_partID in Folder $_folder");
5359
-			return $rawHeaders[$this->icServer->ImapServerId][(string)$_folder][$_uid][(empty($_partID)?'NIL':$_partID)];
5359
+			return $rawHeaders[$this->icServer->ImapServerId][(string)$_folder][$_uid][(empty($_partID) ? 'NIL' : $_partID)];
5360 5360
 		}
5361 5361
 		$uidsToFetch = new Horde_Imap_Client_Ids();
5362 5362
 		$uid = $_uid;
@@ -5366,7 +5366,7 @@  discard block
 block discarded – undo
5366 5366
 		$fquery = new Horde_Imap_Client_Fetch_Query();
5367 5367
 		if ($_partID != '')
5368 5368
 		{
5369
-			$fquery->headerText(array('id'=>$_partID,'peek'=>true));
5369
+			$fquery->headerText(array('id'=>$_partID, 'peek'=>true));
5370 5370
 			$fquery->structure();
5371 5371
 		}
5372 5372
 		else
@@ -5377,14 +5377,14 @@  discard block
 block discarded – undo
5377 5377
 			'ids' => $uidsToFetch,
5378 5378
 		));
5379 5379
 		if (is_object($headersNew)) {
5380
-			foreach($headersNew as &$_headerObject) {
5380
+			foreach ($headersNew as &$_headerObject) {
5381 5381
 				$retValue = $_headerObject->getHeaderText();
5382 5382
 				if ($_partID != '')
5383 5383
 				{
5384 5384
 					$mailStructureObject = $_headerObject->getStructure();
5385 5385
 					foreach ($mailStructureObject->contentTypeMap() as $mime_id => $mime_type)
5386 5386
 					{
5387
-						if ($mime_id==$_partID)
5387
+						if ($mime_id == $_partID)
5388 5388
 						{
5389 5389
 							$retValue = $_headerObject->getHeaderText($mime_id);
5390 5390
 						}
@@ -5392,8 +5392,8 @@  discard block
 block discarded – undo
5392 5392
 				}
5393 5393
 			}
5394 5394
 		}
5395
-		$rawHeaders[$this->icServer->ImapServerId][(string)$_folder][$_uid][(empty($_partID)?'NIL':$_partID)]=$retValue;
5396
-		Cache::setCache(Cache::INSTANCE,'email','rawHeadersCache'.trim($GLOBALS['egw_info']['user']['account_id']),$rawHeaders,60*60*1);
5395
+		$rawHeaders[$this->icServer->ImapServerId][(string)$_folder][$_uid][(empty($_partID) ? 'NIL' : $_partID)] = $retValue;
5396
+		Cache::setCache(Cache::INSTANCE, 'email', 'rawHeadersCache'.trim($GLOBALS['egw_info']['user']['account_id']), $rawHeaders, 60 * 60 * 1);
5397 5397
 		return $retValue;
5398 5398
 	}
5399 5399
 
@@ -5406,25 +5406,25 @@  discard block
 block discarded – undo
5406 5406
 	{
5407 5407
 		$style = '';
5408 5408
 		if (empty($_bodyParts)) return "";
5409
-		foreach((array)$_bodyParts as $singleBodyPart) {
5409
+		foreach ((array)$_bodyParts as $singleBodyPart) {
5410 5410
 			if (!isset($singleBodyPart['body'])) {
5411 5411
 				$singleBodyPart['body'] = self::getStyles($singleBodyPart);
5412 5412
 				$style .= $singleBodyPart['body'];
5413 5413
 				continue;
5414 5414
 			}
5415 5415
 
5416
-			if ($singleBodyPart['charSet']===false) $singleBodyPart['charSet'] = Translation::detect_encoding($singleBodyPart['body']);
5416
+			if ($singleBodyPart['charSet'] === false) $singleBodyPart['charSet'] = Translation::detect_encoding($singleBodyPart['body']);
5417 5417
 			$singleBodyPart['body'] = Translation::convert(
5418 5418
 				$singleBodyPart['body'],
5419 5419
 				strtolower($singleBodyPart['charSet'])
5420 5420
 			);
5421 5421
 			$ct = 0;
5422
-			$newStyle=array();
5423
-			if (stripos($singleBodyPart['body'],'<style')!==false)  $ct = preg_match_all('#<style(?:\s.*)?>(.+)</style>#isU', $singleBodyPart['body'], $newStyle);
5424
-			if ($ct>0)
5422
+			$newStyle = array();
5423
+			if (stripos($singleBodyPart['body'], '<style') !== false)  $ct = preg_match_all('#<style(?:\s.*)?>(.+)</style>#isU', $singleBodyPart['body'], $newStyle);
5424
+			if ($ct > 0)
5425 5425
 			{
5426 5426
 				//error_log(__METHOD__.' ('.__LINE__.') '.'#'.$ct.'#'.array2string($newStyle));
5427
-				$style2buffer = implode('',$newStyle[0]);
5427
+				$style2buffer = implode('', $newStyle[0]);
5428 5428
 			}
5429 5429
 			if ($style2buffer && strtoupper(self::$displayCharset) == 'UTF-8')
5430 5430
 			{
@@ -5432,7 +5432,7 @@  discard block
 block discarded – undo
5432 5432
 				$test = json_encode($style2buffer);
5433 5433
 				//error_log(__METHOD__.' ('.__LINE__.') '.'#'.$test.'# ->'.strlen($style2buffer).' Error:'.json_last_error());
5434 5434
 				//if (json_last_error() != JSON_ERROR_NONE && strlen($style2buffer)>0)
5435
-				if ($test=="null" && strlen($style2buffer)>0)
5435
+				if ($test == "null" && strlen($style2buffer) > 0)
5436 5436
 				{
5437 5437
 					// this should not be needed, unless something fails with charset detection/ wrong charset passed
5438 5438
 					error_log(__METHOD__.' ('.__LINE__.') '.' Found Invalid sequence for utf-8 in CSS:'.$style2buffer.' Charset Reported:'.$singleBodyPart['charSet'].' Carset Detected:'.Translation::detect_encoding($style2buffer));
@@ -5443,19 +5443,19 @@  discard block
 block discarded – undo
5443 5443
 		}
5444 5444
 		// clean out comments and stuff
5445 5445
 		$search = array(
5446
-			'@url\(http:\/\/[^\)].*?\)@si',  // url calls e.g. in style definitions
5446
+			'@url\(http:\/\/[^\)].*?\)@si', // url calls e.g. in style definitions
5447 5447
 //			'@<!--[\s\S]*?[ \t\n\r]*-->@',   // Strip multi-line comments including CDATA
5448 5448
 //			'@<!--[\s\S]*?[ \t\n\r]*--@',    // Strip broken multi-line comments including CDATA
5449 5449
 		);
5450
-		$style = preg_replace($search,"",$style);
5450
+		$style = preg_replace($search, "", $style);
5451 5451
 
5452 5452
 		// CSS Security
5453 5453
 		// http://code.google.com/p/browsersec/wiki/Part1#Cascading_stylesheets
5454
-		$css = preg_replace('/(javascript|expression|-moz-binding)/i','',$style);
5455
-		if (stripos($css,'script')!==false) Mail\Html::replaceTagsCompletley($css,'script'); // Strip out script that may be included
5454
+		$css = preg_replace('/(javascript|expression|-moz-binding)/i', '', $style);
5455
+		if (stripos($css, 'script') !== false) Mail\Html::replaceTagsCompletley($css, 'script'); // Strip out script that may be included
5456 5456
 		// we need this, as styledefinitions are enclosed with curly brackets; and template stuff tries to replace everything between curly brackets that is having no horizontal whitespace
5457 5457
 		// as the comments as <!-- styledefinition --> in stylesheet are outdated, and ck-editor does not understand it, we remove it
5458
-		$css = str_replace(array(':','<!--','-->'),array(': ','',''),$css);
5458
+		$css = str_replace(array(':', '<!--', '-->'), array(': ', '', ''), $css);
5459 5459
 		//error_log(__METHOD__.' ('.__LINE__.') '.$css);
5460 5460
 		// TODO: we may have to strip urls and maybe comments and ifs
5461 5461
 		return $css;
@@ -5470,16 +5470,16 @@  discard block
 block discarded – undo
5470 5470
 	 * @param boolean $_stream =false true: return a stream, false: return string, stream suppresses any caching
5471 5471
 	 * @return string the message body
5472 5472
 	 */
5473
-	function getMessageRawBody($_uid, $_partID = '', $_folder='', $_stream=false)
5473
+	function getMessageRawBody($_uid, $_partID = '', $_folder = '', $_stream = false)
5474 5474
 	{
5475 5475
 		//TODO: caching einbauen static!
5476 5476
 		static $rawBody;
5477 5477
 		if (is_null($rawBody)) $rawBody = array();
5478
-		if (empty($_folder)) $_folder = ($this->sessionData['mailbox']? $this->sessionData['mailbox'] : $this->icServer->getCurrentMailbox());
5479
-		if (!$_stream && isset($rawBody[$this->icServer->ImapServerId][$_folder][$_uid][(empty($_partID)?'NIL':$_partID)]))
5478
+		if (empty($_folder)) $_folder = ($this->sessionData['mailbox'] ? $this->sessionData['mailbox'] : $this->icServer->getCurrentMailbox());
5479
+		if (!$_stream && isset($rawBody[$this->icServer->ImapServerId][$_folder][$_uid][(empty($_partID) ? 'NIL' : $_partID)]))
5480 5480
 		{
5481 5481
 			//error_log(__METHOD__.' ('.__LINE__.') '." Using Cache for raw Body $_uid, $_partID in Folder $_folder");
5482
-			return $rawBody[$this->icServer->ImapServerId][$_folder][$_uid][(empty($_partID)?'NIL':$_partID)];
5482
+			return $rawBody[$this->icServer->ImapServerId][$_folder][$_uid][(empty($_partID) ? 'NIL' : $_partID)];
5483 5483
 		}
5484 5484
 
5485 5485
 		$uidsToFetch = new Horde_Imap_Client_Ids();
@@ -5492,13 +5492,13 @@  discard block
 block discarded – undo
5492 5492
 		if ($_partID != '')
5493 5493
 		{
5494 5494
 			$fquery->structure();
5495
-			$fquery->bodyPart($_partID,array('peek'=>true));
5495
+			$fquery->bodyPart($_partID, array('peek'=>true));
5496 5496
 		}
5497 5497
 		$headersNew = $this->icServer->fetch($_folder, $fquery, array(
5498 5498
 			'ids' => $uidsToFetch,
5499 5499
 		));
5500 5500
 		if (is_object($headersNew)) {
5501
-			foreach($headersNew as &$_headerObject) {
5501
+			foreach ($headersNew as &$_headerObject) {
5502 5502
 				$body = $_headerObject->getFullMsg($_stream);
5503 5503
 				if ($_partID != '')
5504 5504
 				{
@@ -5506,7 +5506,7 @@  discard block
 block discarded – undo
5506 5506
 					//_debug_array($mailStructureObject->contentTypeMap());
5507 5507
 					foreach ($mailStructureObject->contentTypeMap() as $mime_id => $mime_type)
5508 5508
 					{
5509
-						if ($mime_id==$_partID)
5509
+						if ($mime_id == $_partID)
5510 5510
 						{
5511 5511
 							$body = $_headerObject->getBodyPart($mime_id, $_stream);
5512 5512
 						}
@@ -5517,7 +5517,7 @@  discard block
 block discarded – undo
5517 5517
 		//error_log(__METHOD__.' ('.__LINE__.') '."[$this->icServer->ImapServerId][$_folder][$_uid][".(empty($_partID)?'NIL':$_partID)."]");
5518 5518
 		if (!$_stream)
5519 5519
 		{
5520
-			$rawBody[$this->icServer->ImapServerId][$_folder][$_uid][(empty($_partID)?'NIL':$_partID)] = $body;
5520
+			$rawBody[$this->icServer->ImapServerId][$_folder][$_uid][(empty($_partID) ? 'NIL' : $_partID)] = $body;
5521 5521
 		}
5522 5522
 		return $body;
5523 5523
 	}
@@ -5532,13 +5532,13 @@  discard block
 block discarded – undo
5532 5532
 	 * @param Horde_Imap_Client_Fetch_Query $fquery=null default query just structure
5533 5533
 	 * @return Horde_Mime_Part
5534 5534
 	 */
5535
-	function getStructure($_uid, $_partID=null, $_folder=null, $_preserveSeen=false)
5535
+	function getStructure($_uid, $_partID = null, $_folder = null, $_preserveSeen = false)
5536 5536
 	{
5537
-		if (self::$debug) error_log( __METHOD__.' ('.__LINE__.') '.":$_uid, $_partID");
5537
+		if (self::$debug) error_log(__METHOD__.' ('.__LINE__.') '.":$_uid, $_partID");
5538 5538
 
5539 5539
 		if (empty($_folder))
5540 5540
 		{
5541
-			$_folder = ($this->sessionData['mailbox']? $this->sessionData['mailbox'] : $this->icServer->getCurrentMailbox());
5541
+			$_folder = ($this->sessionData['mailbox'] ? $this->sessionData['mailbox'] : $this->icServer->getCurrentMailbox());
5542 5542
 		}
5543 5543
 		$uidsToFetch = new Horde_Imap_Client_Ids();
5544 5544
 		if (!(is_object($_uid) || is_array($_uid))) $_uid = (array)$_uid;
@@ -5556,7 +5556,7 @@  discard block
 block discarded – undo
5556 5556
 				'ids' => $uidsToFetch,
5557 5557
 			))->first();
5558 5558
 
5559
-			return is_object($mail)?$mail->getStructure():null;
5559
+			return is_object($mail) ? $mail->getStructure() : null;
5560 5560
 		}
5561 5561
 		catch (\Exception $e)
5562 5562
 		{
@@ -5579,14 +5579,14 @@  discard block
 block discarded – undo
5579 5579
 	 * @param string $_folder folder to work on
5580 5580
 	 * @return array  an array of information about the attachment: array of array(name, size, mimeType, partID, encoding)
5581 5581
 	 */
5582
-	function getMessageAttachments($_uid, $_partID=null, Horde_Mime_Part $_structure=null, $fetchEmbeddedImages=true, $fetchTextCalendar=false, $resolveTNEF=true, $_folder='')
5582
+	function getMessageAttachments($_uid, $_partID = null, Horde_Mime_Part $_structure = null, $fetchEmbeddedImages = true, $fetchTextCalendar = false, $resolveTNEF = true, $_folder = '')
5583 5583
 	{
5584
-		if (self::$debug) error_log( __METHOD__.":$_uid, $_partID");
5585
-		if (empty($_folder)) $_folder = ($this->sessionData['mailbox']? $this->sessionData['mailbox'] : $this->icServer->getCurrentMailbox());
5584
+		if (self::$debug) error_log(__METHOD__.":$_uid, $_partID");
5585
+		if (empty($_folder)) $_folder = ($this->sessionData['mailbox'] ? $this->sessionData['mailbox'] : $this->icServer->getCurrentMailbox());
5586 5586
 		$attachments = array();
5587 5587
 		if (!isset($_structure))
5588 5588
 		{
5589
-			$_structure = $this->getStructure($_uid, $_partID,$_folder,true);
5589
+			$_structure = $this->getStructure($_uid, $_partID, $_folder, true);
5590 5590
 			//error_log(__METHOD__.' ('.__LINE__.') '.':'.print_r($_structure->contentTypeMap(),true));
5591 5591
 		}
5592 5592
 		if (!$_structure || !$_structure->contentTypeMap()) return array();
@@ -5594,7 +5594,7 @@  discard block
 block discarded – undo
5594 5594
 		$skipParts = array();
5595 5595
 		$tnefParts = array();
5596 5596
 		$skip = 0;
5597
-		foreach($_structure->contentTypeMap() as $mime_id => $mime_type)
5597
+		foreach ($_structure->contentTypeMap() as $mime_id => $mime_type)
5598 5598
 		{
5599 5599
 			// skip multipart/encrypted incl. its two sub-parts, as we show 2. sub-part as body to be decrypted client-side
5600 5600
 			if ($mime_type == 'multipart/encrypted')
@@ -5602,7 +5602,7 @@  discard block
 block discarded – undo
5602 5602
 				$skip = 2;
5603 5603
 				continue;
5604 5604
 			}
5605
-			elseif($skip)
5605
+			elseif ($skip)
5606 5606
 			{
5607 5607
 				$skip--;
5608 5608
 				continue;
@@ -5616,10 +5616,10 @@  discard block
 block discarded – undo
5616 5616
 			$partPrimaryType = $part->getPrimaryType();
5617 5617
 			// we only want to retrieve the attachments of the current mail, not those of possible
5618 5618
 			// attached mails
5619
-			if ($mime_type=='message/rfc822' && $_partID!=$mime_id)
5619
+			if ($mime_type == 'message/rfc822' && $_partID != $mime_id)
5620 5620
 			{
5621 5621
 				//error_log(__METHOD__.' ('.__LINE__.') '.' Uid:'.$uid.'->'.$mime_id.':'.array2string($part->contentTypeMap()));
5622
-				foreach($part->contentTypeMap() as $sub_id => $sub_type) {if ($sub_id != $mime_id) $skipParts[$sub_id] = $sub_type;}
5622
+				foreach ($part->contentTypeMap() as $sub_id => $sub_type) {if ($sub_id != $mime_id) $skipParts[$sub_id] = $sub_type; }
5623 5623
 			}
5624 5624
 			if (empty($partDisposition) && $partPrimaryType != 'multipart' && $partPrimaryType != 'text')
5625 5625
 			{
@@ -5627,27 +5627,27 @@  discard block
 block discarded – undo
5627 5627
 				// attachment with no link to show the attachment inline.
5628 5628
 				// Considering this: we "list" everything that matches the above criteria
5629 5629
 				// as attachment in order to not loose/miss information on our data
5630
-				$partDisposition='attachment';
5630
+				$partDisposition = 'attachment';
5631 5631
 			}
5632 5632
 			//error_log(__METHOD__.' ('.__LINE__.') '.' Uid:'.$uid.' Part:'.$_partID.'->'.$mime_id.':'.array2string($skipParts));
5633
-			if (array_key_exists($mime_id,$skipParts)) continue;
5633
+			if (array_key_exists($mime_id, $skipParts)) continue;
5634 5634
 
5635 5635
 			if ($partDisposition == 'attachment' ||
5636
-				(($partDisposition == 'inline' || empty($partDisposition)) && $partPrimaryType == 'image' && $part->getContentId()=='') ||
5636
+				(($partDisposition == 'inline' || empty($partDisposition)) && $partPrimaryType == 'image' && $part->getContentId() == '') ||
5637 5637
 				(($partDisposition == 'inline' || empty($partDisposition)) && $partPrimaryType != 'image' && $partPrimaryType != 'text' && $partPrimaryType != 'multipart') ||
5638
-				($mime_type=='image/tiff') || //always fetch. even if $fetchEmbeddedImages is false. as we cannot display tiffs
5638
+				($mime_type == 'image/tiff') || //always fetch. even if $fetchEmbeddedImages is false. as we cannot display tiffs
5639 5639
 				($fetchEmbeddedImages && ($partDisposition == 'inline' || empty($partDisposition)) && $partPrimaryType == 'image') ||
5640 5640
 				($fetchTextCalendar && $partPrimaryType == 'text' && $part->getSubType() == 'calendar'))
5641 5641
 			{
5642 5642
 				// if type is message/rfc822 and _partID is given, and MimeID equals partID
5643 5643
 				// we attempt to fetch "ourselves"
5644
-				if ($_partID==$part->getMimeId() && $part->getPrimaryType()=='message') continue;
5644
+				if ($_partID == $part->getMimeId() && $part->getPrimaryType() == 'message') continue;
5645 5645
 				$attachment = $part->getAllDispositionParameters();
5646 5646
 				$attachment['disposition'] = $part->getDisposition();
5647 5647
 				$attachment['mimeType'] = $mime_type;
5648 5648
 				$attachment['uid'] = $_uid;
5649 5649
 				$attachment['partID'] = $mime_id;
5650
-				if (!isset($attachment['name'])||empty($attachment['name'])) $attachment['name'] = $part->getName();
5650
+				if (!isset($attachment['name']) || empty($attachment['name'])) $attachment['name'] = $part->getName();
5651 5651
 				if ($fetchTextCalendar)
5652 5652
 				{
5653 5653
 					//error_log(__METHOD__.' ('.__LINE__.') '.array2string($part->getAllContentTypeParameters()));
@@ -5657,11 +5657,11 @@  discard block
 block discarded – undo
5657 5657
 				}
5658 5658
 				$attachment['size'] = $part->getBytes();
5659 5659
 				if (($cid = $part->getContentId())) $attachment['cid'] = $cid;
5660
-				if (empty($attachment['name'])) $attachment['name'] = (isset($attachment['cid'])&&!empty($attachment['cid'])?$attachment['cid']:lang("unknown").'_Uid'.$_uid.'_Part'.$mime_id).'.'.MimeMagic::mime2ext($mime_type);
5660
+				if (empty($attachment['name'])) $attachment['name'] = (isset($attachment['cid']) && !empty($attachment['cid']) ? $attachment['cid'] : lang("unknown").'_Uid'.$_uid.'_Part'.$mime_id).'.'.MimeMagic::mime2ext($mime_type);
5661 5661
 				//error_log(__METHOD__.' ('.__LINE__.') '.' Uid:'.$uid.' Part:'.$_partID.'->'.$mime_id.':'.array2string($attachment));
5662 5662
 				//typical winmail.dat attachment is
5663 5663
 				//Array([size] => 1462762[filename] => winmail.dat[mimeType] => application/ms-tnef[uid] => 100[partID] => 2[name] => winmail.dat)
5664
-				if ($resolveTNEF && ($attachment['mimeType']=='application/ms-tnef' || !strcasecmp($attachment['name'],'winmail.dat')))
5664
+				if ($resolveTNEF && ($attachment['mimeType'] == 'application/ms-tnef' || !strcasecmp($attachment['name'], 'winmail.dat')))
5665 5665
 				{
5666 5666
 					$tnefParts[] = $attachment;
5667 5667
 				}
@@ -5676,31 +5676,31 @@  discard block
 block discarded – undo
5676 5676
 			//error_log(__METHOD__.__LINE__.array2string($tnefParts));
5677 5677
 			foreach ($tnefParts as $k => $tnp)
5678 5678
 			{
5679
-				$tnefResolved=false;
5680
-				$tnef_data = $this->getAttachment($tnp['uid'],$tnp['partID'],$k,false);
5679
+				$tnefResolved = false;
5680
+				$tnef_data = $this->getAttachment($tnp['uid'], $tnp['partID'], $k, false);
5681 5681
 				$myTnef = $this->tnef_decoder($tnef_data['attachment']);
5682 5682
 				//error_log(__METHOD__.__LINE__.array2string($myTnef->getParts()));
5683 5683
 				// Note: MimeId starts with 0, almost always, we cannot use that as winmail_id
5684 5684
 				// we need to build Something that meets the needs
5685 5685
 				if ($myTnef)
5686 5686
 				{
5687
-					foreach($myTnef->getParts() as $mime_id => $part)
5687
+					foreach ($myTnef->getParts() as $mime_id => $part)
5688 5688
 					{
5689
-						$tnefResolved=true;
5689
+						$tnefResolved = true;
5690 5690
 						$attachment = $part->getAllDispositionParameters();
5691 5691
 						$attachment['disposition'] = $part->getDisposition();
5692 5692
 						$attachment['mimeType'] = $part->getType();
5693 5693
 						$attachment['uid'] = $tnp['uid'];
5694 5694
 						$attachment['partID'] = $tnp['partID'];
5695 5695
 						$attachment['is_winmail'] = $tnp['uid'].'@'.$tnp['partID'].'@'.$mime_id;
5696
-						if (!isset($attachment['name'])||empty($attachment['name'])) $attachment['name'] = $part->getName();
5696
+						if (!isset($attachment['name']) || empty($attachment['name'])) $attachment['name'] = $part->getName();
5697 5697
 						$attachment['size'] = $part->getBytes();
5698 5698
 						if (($cid = $part->getContentId())) $attachment['cid'] = $cid;
5699
-						if (empty($attachment['name'])) $attachment['name'] = (isset($attachment['cid'])&&!empty($attachment['cid'])?$attachment['cid']:lang("unknown").'_Uid'.$_uid.'_Part'.$mime_id).'.'.MimeMagic::mime2ext($attachment['mimeType']);
5699
+						if (empty($attachment['name'])) $attachment['name'] = (isset($attachment['cid']) && !empty($attachment['cid']) ? $attachment['cid'] : lang("unknown").'_Uid'.$_uid.'_Part'.$mime_id).'.'.MimeMagic::mime2ext($attachment['mimeType']);
5700 5700
 						$attachments[] = $attachment;
5701 5701
 					}
5702 5702
 				}
5703
-				if ($tnefResolved===false) $attachments[]=$tnp;
5703
+				if ($tnefResolved === false) $attachments[] = $tnp;
5704 5704
 			}
5705 5705
 		}
5706 5706
 		//error_log(__METHOD__.__LINE__.array2string($attachments));
@@ -5715,9 +5715,9 @@  discard block
 block discarded – undo
5715 5715
 	 * @return boolean|Horde_Mime_part Multipart/Mixed part decoded attachments |
5716 5716
 	 *	return false if there's no attachments or failure
5717 5717
 	 */
5718
-	public function tnef_decoder( $data )
5718
+	public function tnef_decoder($data)
5719 5719
 	{
5720
-		foreach(array('Horde_Compress', 'Horde_Icalendar', 'Horde_Mapi') as $class)
5720
+		foreach (array('Horde_Compress', 'Horde_Icalendar', 'Horde_Mapi') as $class)
5721 5721
 		{
5722 5722
 			if (!class_exists($class))
5723 5723
 			{
@@ -5749,7 +5749,7 @@  discard block
 block discarded – undo
5749 5749
 				$tmp_part->setContents($data['stream']);
5750 5750
 				$tmp_part->setDescription($data['name']);
5751 5751
 
5752
-				$type = $data['type'] . '/' . $data['subtype'];
5752
+				$type = $data['type'].'/'.$data['subtype'];
5753 5753
 				if (in_array($type, array('application/octet-stream', 'application/base64')))
5754 5754
 				{
5755 5755
 					$type = Horde_Mime_Magic::filenameToMIME($data['name']);
@@ -5792,24 +5792,24 @@  discard block
 block discarded – undo
5792 5792
 	 *
5793 5793
 	 * @return array returns an array of all resolved embeded attachments from winmail.dat
5794 5794
 	 */
5795
-	function getTnefAttachments ($_uid, $_partID, $_stream=false)
5795
+	function getTnefAttachments($_uid, $_partID, $_stream = false)
5796 5796
 	{
5797
-		$tnef_data = $this->getAttachment($_uid, $_partID,0,false);
5797
+		$tnef_data = $this->getAttachment($_uid, $_partID, 0, false);
5798 5798
 		$tnef_parts = $this->tnef_decoder($tnef_data['attachment']);
5799 5799
 		$attachments = array();
5800 5800
 		if ($tnef_parts)
5801 5801
 		{
5802
-			foreach($tnef_parts->getParts() as $mime_id => $part)
5802
+			foreach ($tnef_parts->getParts() as $mime_id => $part)
5803 5803
 			{
5804 5804
 
5805 5805
 				$attachment = $part->getAllDispositionParameters();
5806 5806
 				$attachment['mimeType'] = $part->getType();
5807
-				if (!isset($attachment['filename'])||empty($attachment['filename'])) $attachment['filename'] = $part->getName();
5807
+				if (!isset($attachment['filename']) || empty($attachment['filename'])) $attachment['filename'] = $part->getName();
5808 5808
 				if (($cid = $part->getContentId())) $attachment['cid'] = $cid;
5809 5809
 				if (empty($attachment['filename']))
5810 5810
 				{
5811
-					$attachment['filename'] = (isset($attachment['cid'])&&!empty($attachment['cid'])?
5812
-						$attachment['cid']:lang("unknown").'_Uid'.$_uid.'_Part'.$mime_id).'.'.MimeMagic::mime2ext($attachment['mimeType']);
5811
+					$attachment['filename'] = (isset($attachment['cid']) && !empty($attachment['cid']) ?
5812
+						$attachment['cid'] : lang("unknown").'_Uid'.$_uid.'_Part'.$mime_id).'.'.MimeMagic::mime2ext($attachment['mimeType']);
5813 5813
 				}
5814 5814
 
5815 5815
 				$attachment['attachment'] = $part->getContents(array('stream'=>$_stream));
@@ -5833,10 +5833,10 @@  discard block
 block discarded – undo
5833 5833
 	 *
5834 5834
 	 * @return array
5835 5835
 	 */
5836
-	function getAttachment($_uid, $_partID, $_winmail_nr=0, $_returnPart=true, $_stream=false, $_folder=null)
5836
+	function getAttachment($_uid, $_partID, $_winmail_nr = 0, $_returnPart = true, $_stream = false, $_folder = null)
5837 5837
 	{
5838 5838
 		//error_log(__METHOD__.__LINE__."Uid:$_uid, PartId:$_partID, WinMailNr:$_winmail_nr, ReturnPart:$_returnPart, Stream:$_stream, Folder:$_folder".function_backtrace());
5839
-		if (!isset($_folder)) $_folder = ($this->sessionData['mailbox']? $this->sessionData['mailbox'] : $this->icServer->getCurrentMailbox());
5839
+		if (!isset($_folder)) $_folder = ($this->sessionData['mailbox'] ? $this->sessionData['mailbox'] : $this->icServer->getCurrentMailbox());
5840 5840
 
5841 5841
 		$uidsToFetch = new Horde_Imap_Client_Ids();
5842 5842
 		if (!(is_object($_uid) || is_array($_uid))) $_uid = (array)$_uid;
@@ -5849,36 +5849,36 @@  discard block
 block discarded – undo
5849 5849
 			'ids' => $uidsToFetch,
5850 5850
 		));
5851 5851
 		if (is_object($headersNew)) {
5852
-			foreach($headersNew as $id=>$_headerObject) {
5852
+			foreach ($headersNew as $id=>$_headerObject) {
5853 5853
 				$body = $_headerObject->getFullMsg();
5854 5854
 				if ($_partID != '')
5855 5855
 				{
5856 5856
 					$mailStructureObject = $_headerObject->getStructure();
5857 5857
 					$mailStructureObject->contentTypeMap();
5858 5858
 					$part = $mailStructureObject->getPart($_partID);
5859
-					$partDisposition = ($part?$part->getDisposition():'failed');
5860
-					if ($partDisposition=='failed')
5859
+					$partDisposition = ($part ? $part->getDisposition() : 'failed');
5860
+					if ($partDisposition == 'failed')
5861 5861
 					{
5862 5862
 						error_log(__METHOD__.'('.__LINE__.'):'.array2string($_uid).','.$_partID.' ID:'.$id.' HObject:'.array2string($_headerObject).' StructureObject:'.array2string($mailStructureObject->contentTypeMap()).'->'.function_backtrace());
5863 5863
 					}
5864 5864
 					// if $partDisposition is empty, we assume attachment, and hope that the function
5865 5865
 					// itself is only triggered to fetch attachments
5866
-					if (empty($partDisposition)) $partDisposition='attachment';
5867
-					if ($part && ($partDisposition=='attachment' || $partDisposition=='inline' || ($part->getPrimaryType() == 'text' && $part->getSubType() == 'calendar')))
5866
+					if (empty($partDisposition)) $partDisposition = 'attachment';
5867
+					if ($part && ($partDisposition == 'attachment' || $partDisposition == 'inline' || ($part->getPrimaryType() == 'text' && $part->getSubType() == 'calendar')))
5868 5868
 					{
5869 5869
 						//$headerObject=$part->getAllDispositionParameters();//not used anywhere around here
5870 5870
 						$structure_mime = $part->getType();
5871 5871
 						$filename = $part->getName();
5872 5872
 						$charset = $part->getContentTypeParameter('charset');
5873 5873
 						//$structure_bytes = $part->getBytes(); $structure_partID=$part->getMimeId(); error_log(__METHOD__.__LINE__." fetchPartContents(".array2string($_uid).", $structure_partID, $_stream, $_preserveSeen,$structure_mime)" );
5874
-						$this->fetchPartContents($_uid, $part, $_stream, $_preserveSeen=true,$structure_mime);
5874
+						$this->fetchPartContents($_uid, $part, $_stream, $_preserveSeen = true, $structure_mime);
5875 5875
 						if ($_returnPart) return $part;
5876 5876
 					}
5877 5877
 				}
5878 5878
 			}
5879 5879
 		}
5880 5880
 		$ext = MimeMagic::mime2ext($structure_mime);
5881
-		if ($ext && stripos($filename,'.')===false && stripos($filename,$ext)===false) $filename = trim($filename).'.'.$ext;
5881
+		if ($ext && stripos($filename, '.') === false && stripos($filename, $ext) === false) $filename = trim($filename).'.'.$ext;
5882 5882
 		if (!$part)
5883 5883
 		{
5884 5884
 			throw new Exception\WrongParameter("Error: Could not fetch attachment for Uid=".array2string($_uid).", PartId=$_partID, WinMailNr=$_winmail_nr, folder=$_folder");
@@ -5896,20 +5896,20 @@  discard block
 block discarded – undo
5896 5896
 		// try guessing the mimetype, if we get the application/octet-stream
5897 5897
 		if (strtolower($attachmentData['type']) == 'application/octet-stream') $attachmentData['type'] = MimeMagic::filename2mime($attachmentData['filename']);
5898 5898
 		# if the attachment holds a winmail number and is a winmail.dat then we have to handle that.
5899
-		if ( $filename == 'winmail.dat' && $_winmail_nr)
5899
+		if ($filename == 'winmail.dat' && $_winmail_nr)
5900 5900
 		{
5901 5901
 			//by now _uid is of type array
5902
-			$tnefResolved=false;
5903
-			$wantedPart=$_uid[0].'@'.$_partID;
5902
+			$tnefResolved = false;
5903
+			$wantedPart = $_uid[0].'@'.$_partID;
5904 5904
 			$myTnef = $this->tnef_decoder($attachmentData['attachment']);
5905 5905
 			//error_log(__METHOD__.__LINE__.array2string($myTnef->getParts()));
5906 5906
 			// Note: MimeId starts with 0, almost always, we cannot use that as winmail_id
5907 5907
 			// we need to build Something that meets the needs
5908 5908
 			if ($myTnef)
5909 5909
 			{
5910
-				foreach($myTnef->getParts() as $mime_id => $part)
5910
+				foreach ($myTnef->getParts() as $mime_id => $part)
5911 5911
 				{
5912
-					$tnefResolved=true;
5912
+					$tnefResolved = true;
5913 5913
 					$attachment = $part->getAllDispositionParameters();
5914 5914
 					$attachment['mimeType'] = $part->getType();
5915 5915
 					//error_log(__METHOD__.__LINE__.'#'.$mime_id.'#'.$filename.'#'.array2string($attachment));
@@ -5917,9 +5917,9 @@  discard block
 block discarded – undo
5917 5917
 					if ($_winmail_nr == $wantedPart.'@'.$mime_id)
5918 5918
 					{
5919 5919
 						//error_log(__METHOD__.__LINE__.'#'.$structure_mime.'#'.$filename.'#'.array2string($attachment));
5920
-						if (!isset($attachment['filename'])||empty($attachment['filename'])) $attachment['filename'] = $part->getName();
5920
+						if (!isset($attachment['filename']) || empty($attachment['filename'])) $attachment['filename'] = $part->getName();
5921 5921
 						if (($cid = $part->getContentId())) $attachment['cid'] = $cid;
5922
-						if (empty($attachment['filename'])) $attachment['filename'] = (isset($attachment['cid'])&&!empty($attachment['cid'])?$attachment['cid']:lang("unknown").'_Uid'.$_uid.'_Part'.$mime_id).'.'.MimeMagic::mime2ext($attachment['mimeType']);
5922
+						if (empty($attachment['filename'])) $attachment['filename'] = (isset($attachment['cid']) && !empty($attachment['cid']) ? $attachment['cid'] : lang("unknown").'_Uid'.$_uid.'_Part'.$mime_id).'.'.MimeMagic::mime2ext($attachment['mimeType']);
5923 5923
 						$wmattach = $attachment;
5924 5924
 						$wmattach['attachment'] = $part->getContents(array('stream'=>$_stream));
5925 5925
 
@@ -5929,7 +5929,7 @@  discard block
 block discarded – undo
5929 5929
 			if ($tnefResolved)
5930 5930
 			{
5931 5931
 				$ext = MimeMagic::mime2ext($wmattach['mimeType']);
5932
-				if ($ext && stripos($wmattach['filename'],'.')===false && stripos($wmattach['filename'],$ext)===false) $wmattach['filename'] = trim($wmattach['filename']).'.'.$ext;
5932
+				if ($ext && stripos($wmattach['filename'], '.') === false && stripos($wmattach['filename'], $ext) === false) $wmattach['filename'] = trim($wmattach['filename']).'.'.$ext;
5933 5933
 				$attachmentData = array(
5934 5934
 					'type'       => $wmattach['mimeType'],
5935 5935
 					'filename'   => $wmattach['filename'],
@@ -5953,21 +5953,21 @@  discard block
 block discarded – undo
5953 5953
 	 *	true:
5954 5954
 	 * @return Horde_Mime_Part
5955 5955
 	 */
5956
-	function getAttachmentByCID($_uid, $_cid, $_part, $_stream=null)
5956
+	function getAttachmentByCID($_uid, $_cid, $_part, $_stream = null)
5957 5957
 	{
5958 5958
 		// some static variables to avoid fetching the same mail multiple times
5959
-		static $uid=null, $part=null, $structure=null;
5959
+		static $uid = null, $part = null, $structure = null;
5960 5960
 		//error_log(__METHOD__.' ('.__LINE__.') '.":$_uid, $_cid, $_part");
5961 5961
 
5962
-		if(empty($_cid)) return false;
5962
+		if (empty($_cid)) return false;
5963 5963
 
5964 5964
 		if ($_uid != $uid || $_part != $part)
5965 5965
 		{
5966
-			$structure = $this->getStructure($uid=$_uid, $part=$_part);
5966
+			$structure = $this->getStructure($uid = $_uid, $part = $_part);
5967 5967
 		}
5968 5968
 		/** @var Horde_Mime_Part */
5969 5969
 		$attachment = null;
5970
-		foreach($structure->contentTypeMap() as $mime_id => $mime_type)
5970
+		foreach ($structure->contentTypeMap() as $mime_id => $mime_type)
5971 5971
 		{
5972 5972
 			$part = $structure->getPart($mime_id);
5973 5973
 
@@ -6019,16 +6019,16 @@  discard block
 block discarded – undo
6019 6019
 	 * @param string  $_mimetype to decide wether to try to fetch part as binary or not
6020 6020
 	 * @return Horde_Mime_Part
6021 6021
 	 */
6022
-	public function fetchPartContents($_uid, Horde_Mime_Part $part=null, $_stream=false, $_preserveSeen=false, $_mimetype=null)
6022
+	public function fetchPartContents($_uid, Horde_Mime_Part $part = null, $_stream = false, $_preserveSeen = false, $_mimetype = null)
6023 6023
 	{
6024
-		if (is_null($part)) return null;//new Horde_Mime_Part;
6024
+		if (is_null($part)) return null; //new Horde_Mime_Part;
6025 6025
 		$encoding = null;
6026 6026
 		$fetchAsBinary = true;
6027
-		if ($_mimetype && strtolower($_mimetype)=='message/rfc822') $fetchAsBinary = false;
6027
+		if ($_mimetype && strtolower($_mimetype) == 'message/rfc822') $fetchAsBinary = false;
6028 6028
 		// we need to set content on structure to decode transfer encoding
6029 6029
 		$part->setContents(
6030 6030
 			$this->getBodyPart($_uid, $part->getMimeId(), null, $_preserveSeen, $_stream, $encoding, $fetchAsBinary),
6031
-			array('encoding' => (!$fetchAsBinary&&!$encoding?'8bit':$encoding)));
6031
+			array('encoding' => (!$fetchAsBinary && !$encoding ? '8bit' : $encoding)));
6032 6032
 
6033 6033
 		return $part;
6034 6034
 	}
@@ -6046,17 +6046,17 @@  discard block
 block discarded – undo
6046 6046
 	 * @return the id of the message appended or exception
6047 6047
 	 * @throws Exception\WrongUserinput
6048 6048
 	 */
6049
-	function appendMessage($_folderName, $_header, $_body, $_flags='\\Recent')
6049
+	function appendMessage($_folderName, $_header, $_body, $_flags = '\\Recent')
6050 6050
 	{
6051 6051
 		if (!is_resource($_header))
6052 6052
 		{
6053
-			if (stripos($_header,'message-id:')===false)
6053
+			if (stripos($_header, 'message-id:') === false)
6054 6054
 			{
6055 6055
 				$_header = 'Message-ID: <'.self::getRandomString().'@localhost>'."\n".$_header;
6056 6056
 			}
6057 6057
 			//error_log(__METHOD__.' ('.__LINE__.') '."$_folderName, $_header, $_body, $_flags");
6058
-			$_header = ltrim(str_replace("\n","\r\n",$_header));
6059
-			$_header .= str_replace("\n","\r\n",$_body);
6058
+			$_header = ltrim(str_replace("\n", "\r\n", $_header));
6059
+			$_header .= str_replace("\n", "\r\n", $_body);
6060 6060
 		}
6061 6061
 		// the recent flag is the default enforced here ; as we assume the _flags is always set,
6062 6062
 		// we default it to hordes default (Recent) (, other wise we should not pass the parameter
@@ -6074,7 +6074,7 @@  discard block
 block discarded – undo
6074 6074
 			// searched for the message-id then returning the uid found
6075 6075
 			//$dataNflags[] = array('data'=>array(array('t'=>'text','v'=>"$header"."$body")), 'flags'=>array($_flags));
6076 6076
 			$dataNflags[] = array('data' => $_header, 'flags'=>array($_flags));
6077
-			$messageid = $this->icServer->append($_folderName,$dataNflags);
6077
+			$messageid = $this->icServer->append($_folderName, $dataNflags);
6078 6078
 		}
6079 6079
 		catch (\Exception $e)
6080 6080
 		{
@@ -6086,7 +6086,7 @@  discard block
 block discarded – undo
6086 6086
 		//$messageid = true; // for debug reasons only
6087 6087
 		if ($messageid === true || empty($messageid)) // try to figure out the message uid
6088 6088
 		{
6089
-			$list = $this->getHeaders($_folderName, $_startMessage=1, 1, 'INTERNALDATE', true, array(),null, false);
6089
+			$list = $this->getHeaders($_folderName, $_startMessage = 1, 1, 'INTERNALDATE', true, array(), null, false);
6090 6090
 			if ($list)
6091 6091
 			{
6092 6092
 				if (self::$debug) error_log(__METHOD__.' ('.__LINE__.') '.' MessageUid:'.$messageid.' but found:'.array2string($list));
@@ -6126,27 +6126,27 @@  discard block
 block discarded – undo
6126 6126
 	 *				'attachments'=>$attachments,
6127 6127
 	 *				'headers'=>$headers,; boolean false on failure
6128 6128
 	 */
6129
-	static function get_mailcontent(&$mailClass,$uid,$partid='',$mailbox='', $preserveHTML = false, $addHeaderSection=true, $includeAttachments=true)
6129
+	static function get_mailcontent(&$mailClass, $uid, $partid = '', $mailbox = '', $preserveHTML = false, $addHeaderSection = true, $includeAttachments = true)
6130 6130
 	{
6131 6131
 			//echo __METHOD__." called for $uid,$partid <br>";
6132
-			$headers = $mailClass->getMessageHeader($uid,$partid,true,false,$mailbox);
6132
+			$headers = $mailClass->getMessageHeader($uid, $partid, true, false, $mailbox);
6133 6133
 			if (empty($headers)) return false;
6134 6134
 			// dont force retrieval of the textpart, let mailClass preferences decide
6135
-			$bodyParts = $mailClass->getMessageBody($uid,($preserveHTML?'always_display':'only_if_no_text'),$partid,null,false,$mailbox);
6135
+			$bodyParts = $mailClass->getMessageBody($uid, ($preserveHTML ? 'always_display' : 'only_if_no_text'), $partid, null, false, $mailbox);
6136 6136
 			// if we do not want HTML but there is no TextRepresentation with the message itself, try converting
6137
-			if ( !$preserveHTML && $bodyParts[0]['mimeType']=='text/html')
6137
+			if (!$preserveHTML && $bodyParts[0]['mimeType'] == 'text/html')
6138 6138
 			{
6139
-				foreach($bodyParts as $i => $part)
6139
+				foreach ($bodyParts as $i => $part)
6140 6140
 				{
6141
-					if ($bodyParts[$i]['mimeType']=='text/html')
6141
+					if ($bodyParts[$i]['mimeType'] == 'text/html')
6142 6142
 					{
6143
-						$bodyParts[$i]['body'] = Mail\Html::convertHTMLToText($bodyParts[$i]['body'],$bodyParts[$i]['charSet'],true,$stripalltags=true);
6144
-						$bodyParts[$i]['mimeType']='text/plain';
6143
+						$bodyParts[$i]['body'] = Mail\Html::convertHTMLToText($bodyParts[$i]['body'], $bodyParts[$i]['charSet'], true, $stripalltags = true);
6144
+						$bodyParts[$i]['mimeType'] = 'text/plain';
6145 6145
 					}
6146 6146
 				}
6147 6147
 			}
6148 6148
 			//error_log(array2string($bodyParts));
6149
-			$attachments = $includeAttachments?$mailClass->getMessageAttachments($uid,$partid,null,true,false,true,$mailbox):array();
6149
+			$attachments = $includeAttachments ? $mailClass->getMessageAttachments($uid, $partid, null, true, false, true, $mailbox) : array();
6150 6150
 
6151 6151
 			if ($mailClass->isSentFolder($mailbox)) $mailaddress = $headers['TO'];
6152 6152
 			elseif (isset($headers['FROM'])) $mailaddress = $headers['FROM'];
@@ -6157,7 +6157,7 @@  discard block
 block discarded – undo
6157 6157
 
6158 6158
 			$message = self::getdisplayableBody($mailClass, $bodyParts, $preserveHTML);
6159 6159
 			if ($preserveHTML && $mailClass->activeMimeType == 'text/plain') $message = '<pre>'.$message.'</pre>';
6160
-			$headdata = ($addHeaderSection ? self::createHeaderInfoSection($headers, '',$preserveHTML) : '');
6160
+			$headdata = ($addHeaderSection ? self::createHeaderInfoSection($headers, '', $preserveHTML) : '');
6161 6161
 			$message = $headdata.$message;
6162 6162
 			//echo __METHOD__.'<br>';
6163 6163
 			//_debug_array($attachments);
@@ -6173,25 +6173,25 @@  discard block
 block discarded – undo
6173 6173
 						//_debug_array($mailClass->getMessageHeader($uid, $attachment['partID']));
6174 6174
 						//_debug_array($mailClass->getMessageBody($uid,'', $attachment['partID']));
6175 6175
 						//_debug_array($mailClass->getMessageAttachments($uid, $attachment['partID']));
6176
-						$mailcontent = self::get_mailcontent($mailClass,$uid,$attachment['partID'],$mailbox);
6177
-						$headdata ='';
6176
+						$mailcontent = self::get_mailcontent($mailClass, $uid, $attachment['partID'], $mailbox);
6177
+						$headdata = '';
6178 6178
 						if ($mailcontent['headers'])
6179 6179
 						{
6180
-							$headdata = self::createHeaderInfoSection($mailcontent['headers'],'',$preserveHTML);
6180
+							$headdata = self::createHeaderInfoSection($mailcontent['headers'], '', $preserveHTML);
6181 6181
 						}
6182 6182
 						if ($mailcontent['message'])
6183 6183
 						{
6184
-							$tempname =tempnam($GLOBALS['egw_info']['server']['temp_dir'],$GLOBALS['egw_info']['flags']['currentapp']."_");
6184
+							$tempname = tempnam($GLOBALS['egw_info']['server']['temp_dir'], $GLOBALS['egw_info']['flags']['currentapp']."_");
6185 6185
 							$attachedMessages[] = array(
6186 6186
 								'type' => 'TEXT/PLAIN',
6187 6187
 								'name' => $mailcontent['subject'].'.txt',
6188 6188
 								'tmp_name' => $tempname,
6189 6189
 							);
6190
-							$tmpfile = fopen($tempname,'w');
6191
-							fwrite($tmpfile,$headdata.$mailcontent['message']);
6190
+							$tmpfile = fopen($tempname, 'w');
6191
+							fwrite($tmpfile, $headdata.$mailcontent['message']);
6192 6192
 							fclose($tmpfile);
6193 6193
 						}
6194
-						foreach($mailcontent['attachments'] as &$tmpval)
6194
+						foreach ($mailcontent['attachments'] as &$tmpval)
6195 6195
 						{
6196 6196
 							$attachedMessages[] = $tmpval;
6197 6197
 						}
@@ -6199,36 +6199,36 @@  discard block
 block discarded – undo
6199 6199
 					}
6200 6200
 					else
6201 6201
 					{
6202
-						$attachments[$num] = array_merge($attachments[$num],$mailClass->getAttachment($uid, $attachment['partID'],0,false,false));
6202
+						$attachments[$num] = array_merge($attachments[$num], $mailClass->getAttachment($uid, $attachment['partID'], 0, false, false));
6203 6203
 
6204
-						if (empty($attachments[$num]['attachment'])&&$attachments[$num]['cid'])
6204
+						if (empty($attachments[$num]['attachment']) && $attachments[$num]['cid'])
6205 6205
 						{
6206
-							$c = $mailClass->getAttachmentByCID($uid, $attachment['cid'], $attachment['partID'],true);
6206
+							$c = $mailClass->getAttachmentByCID($uid, $attachment['cid'], $attachment['partID'], true);
6207 6207
 							$attachments[$num]['attachment'] = $c->getContents();
6208 6208
 						}
6209 6209
 						// no attempt to convert, if we dont know about the charset
6210
-						if (isset($attachments[$num]['charset'])&&!empty($attachments[$num]['charset'])) {
6210
+						if (isset($attachments[$num]['charset']) && !empty($attachments[$num]['charset'])) {
6211 6211
 							// we do not try guessing the charset, if it is not set
6212 6212
 							//if ($attachments[$num]['charset']===false) $attachments[$num]['charset'] = Translation::detect_encoding($attachments[$num]['attachment']);
6213
-							Translation::convert($attachments[$num]['attachment'],$attachments[$num]['charset']);
6213
+							Translation::convert($attachments[$num]['attachment'], $attachments[$num]['charset']);
6214 6214
 						}
6215
-						if(in_array($attachments[$num]['name'], $file_list))
6215
+						if (in_array($attachments[$num]['name'], $file_list))
6216 6216
 						{
6217 6217
 							$dupe_count[$attachments[$num]['name']]++;
6218
-							$attachments[$num]['name'] = pathinfo($attachments[$num]['name'], PATHINFO_FILENAME) .
6219
-								' ('.($dupe_count[$attachments[$num]['name']] + 1).')' . '.' .
6218
+							$attachments[$num]['name'] = pathinfo($attachments[$num]['name'], PATHINFO_FILENAME).
6219
+								' ('.($dupe_count[$attachments[$num]['name']] + 1).')'.'.'.
6220 6220
 								pathinfo($attachments[$num]['name'], PATHINFO_EXTENSION);
6221 6221
 						}
6222 6222
 						$attachments[$num]['type'] = $attachments[$num]['mimeType'];
6223
-						$attachments[$num]['tmp_name'] = tempnam($GLOBALS['egw_info']['server']['temp_dir'],$GLOBALS['egw_info']['flags']['currentapp']."_");
6224
-						$tmpfile = fopen($attachments[$num]['tmp_name'],'w');
6225
-						fwrite($tmpfile,$attachments[$num]['attachment']);
6223
+						$attachments[$num]['tmp_name'] = tempnam($GLOBALS['egw_info']['server']['temp_dir'], $GLOBALS['egw_info']['flags']['currentapp']."_");
6224
+						$tmpfile = fopen($attachments[$num]['tmp_name'], 'w');
6225
+						fwrite($tmpfile, $attachments[$num]['attachment']);
6226 6226
 						fclose($tmpfile);
6227 6227
 						$file_list[] = $attachments[$num]['name'];
6228 6228
 						unset($attachments[$num]['attachment']);
6229 6229
 					}
6230 6230
 				}
6231
-				if (is_array($attachedMessages)) $attachments = array_merge($attachments,$attachedMessages);
6231
+				if (is_array($attachedMessages)) $attachments = array_merge($attachments, $attachedMessages);
6232 6232
 			}
6233 6233
 			return array(
6234 6234
 					'mailaddress'=>$mailaddress,
@@ -6250,10 +6250,10 @@  discard block
 block discarded – undo
6250 6250
 	{
6251 6251
 		$c = 0;
6252 6252
 		// use the standardIdentity
6253
-		foreach($_identities as $key => $acc) {
6254
-			if ($c==0) $identity = $acc;
6253
+		foreach ($_identities as $key => $acc) {
6254
+			if ($c == 0) $identity = $acc;
6255 6255
 			//error_log(__METHOD__.__LINE__." $key == $_profile_id ");
6256
-			if ($key==$_profile_id) $identity = $acc;
6256
+			if ($key == $_profile_id) $identity = $acc;
6257 6257
 			$c++;
6258 6258
 		}
6259 6259
 		return $identity;
@@ -6265,29 +6265,29 @@  discard block
 block discarded – undo
6265 6265
 	 * @param bool createHTML do it with HTML breaks
6266 6266
 	 * @return string a preformatted string with the information of the header worked into it
6267 6267
 	 */
6268
-	static function createHeaderInfoSection($header,$headline='', $createHTML = false)
6268
+	static function createHeaderInfoSection($header, $headline = '', $createHTML = false)
6269 6269
 	{
6270 6270
 		$headdata = null;
6271 6271
 		//error_log(__METHOD__.' ('.__LINE__.') '.array2string($header).function_backtrace());
6272
-		if ($header['SUBJECT']) $headdata = lang('subject').': '.$header['SUBJECT'].($createHTML?"<br />":"\n");
6273
-		if ($header['FROM']) $headdata .= lang('from').': '.self::convertAddressArrayToString($header['FROM'], $createHTML).($createHTML?"<br />":"\n");
6274
-		if ($header['SENDER']) $headdata .= lang('sender').': '.self::convertAddressArrayToString($header['SENDER'], $createHTML).($createHTML?"<br />":"\n");
6275
-		if ($header['TO']) $headdata .= lang('to').': '.self::convertAddressArrayToString($header['TO'], $createHTML).($createHTML?"<br />":"\n");
6276
-		if ($header['CC']) $headdata .= lang('cc').': '.self::convertAddressArrayToString($header['CC'], $createHTML).($createHTML?"<br />":"\n");
6277
-		if ($header['BCC']) $headdata .= lang('bcc').': '.self::convertAddressArrayToString($header['BCC'], $createHTML).($createHTML?"<br />":"\n");
6278
-		if ($header['DATE']) $headdata .= lang('date').': '.$header['DATE'].($createHTML?"<br />":"\n");
6279
-		if ($header['PRIORITY'] && $header['PRIORITY'] != 'normal') $headdata .= lang('priority').': '.$header['PRIORITY'].($createHTML?"<br />":"\n");
6280
-		if ($header['IMPORTANCE'] && $header['IMPORTANCE'] !='normal') $headdata .= lang('importance').': '.$header['IMPORTANCE'].($createHTML?"<br />":"\n");
6272
+		if ($header['SUBJECT']) $headdata = lang('subject').': '.$header['SUBJECT'].($createHTML ? "<br />" : "\n");
6273
+		if ($header['FROM']) $headdata .= lang('from').': '.self::convertAddressArrayToString($header['FROM'], $createHTML).($createHTML ? "<br />" : "\n");
6274
+		if ($header['SENDER']) $headdata .= lang('sender').': '.self::convertAddressArrayToString($header['SENDER'], $createHTML).($createHTML ? "<br />" : "\n");
6275
+		if ($header['TO']) $headdata .= lang('to').': '.self::convertAddressArrayToString($header['TO'], $createHTML).($createHTML ? "<br />" : "\n");
6276
+		if ($header['CC']) $headdata .= lang('cc').': '.self::convertAddressArrayToString($header['CC'], $createHTML).($createHTML ? "<br />" : "\n");
6277
+		if ($header['BCC']) $headdata .= lang('bcc').': '.self::convertAddressArrayToString($header['BCC'], $createHTML).($createHTML ? "<br />" : "\n");
6278
+		if ($header['DATE']) $headdata .= lang('date').': '.$header['DATE'].($createHTML ? "<br />" : "\n");
6279
+		if ($header['PRIORITY'] && $header['PRIORITY'] != 'normal') $headdata .= lang('priority').': '.$header['PRIORITY'].($createHTML ? "<br />" : "\n");
6280
+		if ($header['IMPORTANCE'] && $header['IMPORTANCE'] != 'normal') $headdata .= lang('importance').': '.$header['IMPORTANCE'].($createHTML ? "<br />" : "\n");
6281 6281
 		//if ($mailcontent['headers']['ORGANIZATION']) $headdata .= lang('organization').': '.$mailcontent['headers']['ORGANIZATION']."\
6282 6282
 		if (!empty($headdata))
6283 6283
 		{
6284
-			if (!empty($headline) && $headline != 'SUPPRESS') $headdata = "---------------------------- $headline ----------------------------".($createHTML?"<br />":"\n").$headdata;
6285
-			if (empty($headline)) $headdata = ($headline != 'SUPPRESS'?"--------------------------------------------------------".($createHTML?"<br />":"\n"):'').$headdata;
6286
-			$headdata .= ($headline != 'SUPPRESS'?"--------------------------------------------------------".($createHTML?"<br />":"\n"):'');
6284
+			if (!empty($headline) && $headline != 'SUPPRESS') $headdata = "---------------------------- $headline ----------------------------".($createHTML ? "<br />" : "\n").$headdata;
6285
+			if (empty($headline)) $headdata = ($headline != 'SUPPRESS' ? "--------------------------------------------------------".($createHTML ? "<br />" : "\n") : '').$headdata;
6286
+			$headdata .= ($headline != 'SUPPRESS' ? "--------------------------------------------------------".($createHTML ? "<br />" : "\n") : '');
6287 6287
 		}
6288 6288
 		else
6289 6289
 		{
6290
-			$headdata = ($headline != 'SUPPRESS'?"--------------------------------------------------------".($createHTML?"<br />":"\n"):'');
6290
+			$headdata = ($headline != 'SUPPRESS' ? "--------------------------------------------------------".($createHTML ? "<br />" : "\n") : '');
6291 6291
 		}
6292 6292
 		return $headdata;
6293 6293
 	}
@@ -6300,8 +6300,8 @@  discard block
 block discarded – undo
6300 6300
 	 */
6301 6301
 	static function adaptSubjectForImport($subject)
6302 6302
 	{
6303
-		$subject = str_replace('$$','__',($subject?$subject:lang('(no subject)')));
6304
-		$subject = str_ireplace(array('[FWD]','[',']','{','}','<','>'),array('Fwd:',' ',' ',' ',' ',' ',' '),trim($subject));
6303
+		$subject = str_replace('$$', '__', ($subject ? $subject : lang('(no subject)')));
6304
+		$subject = str_ireplace(array('[FWD]', '[', ']', '{', '}', '<', '>'), array('Fwd:', ' ', ' ', ' ', ' ', ' ', ' '), trim($subject));
6305 6305
 		return $subject;
6306 6306
 	}
6307 6307
 
@@ -6313,15 +6313,15 @@  discard block
 block discarded – undo
6313 6313
 	static function convertAddressArrayToString($rfcAddressArray)
6314 6314
 	{
6315 6315
 		//error_log(__METHOD__.' ('.__LINE__.') '.array2string($rfcAddressArray));
6316
-		$returnAddr ='';
6316
+		$returnAddr = '';
6317 6317
 		if (is_array($rfcAddressArray))
6318 6318
 		{
6319
-			foreach((array)$rfcAddressArray as $addressData) {
6319
+			foreach ((array)$rfcAddressArray as $addressData) {
6320 6320
 				//error_log(__METHOD__.' ('.__LINE__.') '.array2string($addressData));
6321
-				if($addressData['MAILBOX_NAME'] == 'NIL') {
6321
+				if ($addressData['MAILBOX_NAME'] == 'NIL') {
6322 6322
 					continue;
6323 6323
 				}
6324
-				if(strtolower($addressData['MAILBOX_NAME']) == 'undisclosed-recipients') {
6324
+				if (strtolower($addressData['MAILBOX_NAME']) == 'undisclosed-recipients') {
6325 6325
 					continue;
6326 6326
 				}
6327 6327
 				if ($addressData['RFC822_EMAIL'])
@@ -6330,7 +6330,7 @@  discard block
 block discarded – undo
6330 6330
 				}
6331 6331
 				else
6332 6332
 				{
6333
-					$emailaddress = ($addressData['PERSONAL_NAME']?$addressData['PERSONAL_NAME'].' <'.$addressData['EMAIL'].'>':$addressData['EMAIL']);
6333
+					$emailaddress = ($addressData['PERSONAL_NAME'] ? $addressData['PERSONAL_NAME'].' <'.$addressData['EMAIL'].'>' : $addressData['EMAIL']);
6334 6334
 					$addressObjectA = self::parseAddressList($emailaddress);
6335 6335
 				}
6336 6336
 				$addressObject = $addressObjectA[0];
@@ -6339,10 +6339,10 @@  discard block
 block discarded – undo
6339 6339
 				//$mb =(string)$addressObject->mailbox;
6340 6340
 				//$h = (string)$addressObject->host;
6341 6341
 				//$p = (string)$addressObject->personal;
6342
-				$returnAddr .= (strlen($returnAddr)>0?',':'');
6342
+				$returnAddr .= (strlen($returnAddr) > 0 ? ',' : '');
6343 6343
 				//error_log(__METHOD__.' ('.__LINE__.') '.$p.' <'.$mb.'@'.$h.'>');
6344 6344
 				$buff = imap_rfc822_write_address($addressObject->mailbox, Horde_Idna::decode($addressObject->host), $addressObject->personal);
6345
-				$buff = str_replace(array('<','>','"\'','\'"'),array('[',']','"','"'),$buff);
6345
+				$buff = str_replace(array('<', '>', '"\'', '\'"'), array('[', ']', '"', '"'), $buff);
6346 6346
 				//error_log(__METHOD__.' ('.__LINE__.') '.' Address: '.$returnAddr);
6347 6347
 				$returnAddr .= $buff;
6348 6348
 			}
@@ -6350,8 +6350,8 @@  discard block
 block discarded – undo
6350 6350
 		else
6351 6351
 		{
6352 6352
 			// do not mess with strings, return them untouched /* ToDo: validate string as Address */
6353
-			$rfcAddressArray = self::decode_header($rfcAddressArray,true);
6354
-			$rfcAddressArray = str_replace(array('<','>','"\'','\'"'),array('[',']','"','"'),$rfcAddressArray);
6353
+			$rfcAddressArray = self::decode_header($rfcAddressArray, true);
6354
+			$rfcAddressArray = str_replace(array('<', '>', '"\'', '\'"'), array('[', ']', '"', '"'), $rfcAddressArray);
6355 6355
 			if (is_string($rfcAddressArray)) return $rfcAddressArray;
6356 6356
 		}
6357 6357
 		return $returnAddr;
@@ -6365,12 +6365,12 @@  discard block
 block discarded – undo
6365 6365
 	 * @param string &$err error-message on error
6366 6366
 	 * @return string/boolean merged content or false on error
6367 6367
 	 */
6368
-	static function merge($content,$ids,$mimetype='')
6368
+	static function merge($content, $ids, $mimetype = '')
6369 6369
 	{
6370 6370
 		$mergeobj = new Contacts\Merge();
6371 6371
 
6372
-		if (empty($mimetype)) $mimetype = (strlen(strip_tags($content)) == strlen($content) ?'text/plain':'text/html');
6373
-		$rv = $mergeobj->merge_string($content,$ids,$err='',$mimetype, array(), self::$displayCharset);
6372
+		if (empty($mimetype)) $mimetype = (strlen(strip_tags($content)) == strlen($content) ? 'text/plain' : 'text/html');
6373
+		$rv = $mergeobj->merge_string($content, $ids, $err = '', $mimetype, array(), self::$displayCharset);
6374 6374
 		if (empty($rv) && !empty($content) && !empty($err)) $rv = $content;
6375 6375
 		if (!empty($err) && !empty($content) && !empty($ids)) error_log(__METHOD__.' ('.__LINE__.') '.' Merge failed for Ids:'.array2string($ids).' ContentType:'.$mimetype.' Content:'.$content.' Reason:'.array2string($err));
6376 6376
 		return $rv;
@@ -6412,12 +6412,12 @@  discard block
 block discarded – undo
6412 6412
 		else
6413 6413
 			settype($bytes, 'integer');
6414 6414
 
6415
-		return $bytes . ' ' . $type ;
6415
+		return $bytes.' '.$type;
6416 6416
 	}
6417 6417
 
6418 6418
 	static function detect_qp(&$sting) {
6419 6419
 		$needle = '/(=[0-9][A-F])|(=[A-F][0-9])|(=[A-F][A-F])|(=[0-9][0-9])/';
6420
-		return preg_match("$needle",$string);
6420
+		return preg_match("$needle", $string);
6421 6421
 	}
6422 6422
 
6423 6423
 	/**
@@ -6430,11 +6430,11 @@  discard block
 block discarded – undo
6430 6430
 	 * @param string $_methodNline - Information where the log was taken
6431 6431
 	 * @return void
6432 6432
 	 */
6433
-	static function logRunTimes($_starttime,$_endtime=null,$_message='',$_methodNline='')
6433
+	static function logRunTimes($_starttime, $_endtime = null, $_message = '', $_methodNline = '')
6434 6434
 	{
6435 6435
 		if (is_null($_endtime)) $_endtime = microtime(true);
6436 6436
 		$usagetime = microtime(true) - $_starttime;
6437
-		if (self::$debugTimes) error_log($_methodNline.' took:'.number_format($usagetime,5).'(s) '.($_message?'Details:'.$_message:''));
6437
+		if (self::$debugTimes) error_log($_methodNline.' took:'.number_format($usagetime, 5).'(s) '.($_message ? 'Details:'.$_message : ''));
6438 6438
 	}
6439 6439
 
6440 6440
 	/**
@@ -6447,9 +6447,9 @@  discard block
 block discarded – undo
6447 6447
 	 *
6448 6448
 	 * @throws Exception\WrongUserinput
6449 6449
 	 */
6450
-	static function checkFileBasics(&$_formData, $IDtoAddToFileName='', $reqMimeType='message/rfc822')
6450
+	static function checkFileBasics(&$_formData, $IDtoAddToFileName = '', $reqMimeType = 'message/rfc822')
6451 6451
 	{
6452
-		if (parse_url($_formData['file'],PHP_URL_SCHEME) == 'egw-data') return $_formData['file'];
6452
+		if (parse_url($_formData['file'], PHP_URL_SCHEME) == 'egw-data') return $_formData['file'];
6453 6453
 
6454 6454
 		//error_log(__METHOD__.__FILE__.array2string($_formData).' Id:'.$IDtoAddToFileName.' ReqMimeType:'.$reqMimeType);
6455 6455
 		$importfailed = $tmpFileName = false;
@@ -6459,7 +6459,7 @@  discard block
 block discarded – undo
6459 6459
 			$importfailed = true;
6460 6460
 			$alert_msg .= lang("Empty file %1 ignored.", $_formData['name']);
6461 6461
 		}
6462
-		elseif (parse_url($_formData['file'],PHP_URL_SCHEME) == 'vfs' || is_uploaded_file($_formData['file']) ||
6462
+		elseif (parse_url($_formData['file'], PHP_URL_SCHEME) == 'vfs' || is_uploaded_file($_formData['file']) ||
6463 6463
 			realpath(dirname($_formData['file'])) == realpath($GLOBALS['egw_info']['server']['temp_dir']))
6464 6464
 		{
6465 6465
 			// ensure existance of eGW temp dir
@@ -6467,7 +6467,7 @@  discard block
 block discarded – undo
6467 6467
 			// and different from any other temp file location set in php.ini
6468 6468
 			if (!file_exists($GLOBALS['egw_info']['server']['temp_dir']))
6469 6469
 			{
6470
-				@mkdir($GLOBALS['egw_info']['server']['temp_dir'],0700);
6470
+				@mkdir($GLOBALS['egw_info']['server']['temp_dir'], 0700);
6471 6471
 			}
6472 6472
 
6473 6473
 			// if we were NOT able to create this temp directory, then make an ERROR report
@@ -6494,14 +6494,14 @@  discard block
 block discarded – undo
6494 6494
 			// maybe its application/octet-stream -> this may mean that we could not determine the type
6495 6495
 			// so we check for the suffix too
6496 6496
 			// trust vfs mime-types, trust the mimetype if it contains a method
6497
-			if ((substr($_formData['file'],0,6) !== 'vfs://' || $_formData['type'] == 'application/octet-stream') && stripos($_formData['type'],'method=')===false)
6497
+			if ((substr($_formData['file'], 0, 6) !== 'vfs://' || $_formData['type'] == 'application/octet-stream') && stripos($_formData['type'], 'method=') === false)
6498 6498
 			{
6499
-				$buff = explode('.',$_formData['name']);
6499
+				$buff = explode('.', $_formData['name']);
6500 6500
 				$suffix = '';
6501 6501
 				if (is_array($buff)) $suffix = array_pop($buff); // take the last extension to check with ext2mime
6502 6502
 				if (!empty($suffix)) $sfxMimeType = MimeMagic::ext2mime($suffix);
6503 6503
 				if (!empty($suffix) && !empty($sfxMimeType) &&
6504
-					(strlen(trim($_formData['type']))==0 || (strtolower(trim($_formData['type'])) != $sfxMimeType)))
6504
+					(strlen(trim($_formData['type'])) == 0 || (strtolower(trim($_formData['type'])) != $sfxMimeType)))
6505 6505
 				{
6506 6506
 					error_log(__METHOD__.' ('.__LINE__.') '.' Data:'.array2string($_formData));
6507 6507
 					error_log(__METHOD__.' ('.__LINE__.') '.' Form reported Mimetype:'.$_formData['type'].' but seems to be:'.$sfxMimeType);
@@ -6516,13 +6516,13 @@  discard block
 block discarded – undo
6516 6516
 			if ($reqMimeType)
6517 6517
 			{
6518 6518
 				// so if PHP did not pass any file_type info, then substitute the rfc default value
6519
-				if (substr(strtolower(trim($_formData['type'])),0,strlen($mime_type_default)) != $mime_type_default)
6519
+				if (substr(strtolower(trim($_formData['type'])), 0, strlen($mime_type_default)) != $mime_type_default)
6520 6520
 				{
6521 6521
 					if (!(strtolower(trim($_formData['type'])) == "application/octet-stream" && $sfxMimeType == $reqMimeType))
6522 6522
 					{
6523 6523
 						//error_log("Message rejected, no message/rfc. Is:".$_formData['type']);
6524 6524
 						$importfailed = true;
6525
-						$alert_msg .= lang("File rejected, no %2. Is:%1",$_formData['type'],$reqMimeType);
6525
+						$alert_msg .= lang("File rejected, no %2. Is:%1", $_formData['type'], $reqMimeType);
6526 6526
 					}
6527 6527
 					if ((strtolower(trim($_formData['type'])) != $reqMimeType && $sfxMimeType == $reqMimeType))
6528 6528
 					{
@@ -6531,17 +6531,17 @@  discard block
 block discarded – undo
6531 6531
 				}
6532 6532
 			}
6533 6533
 			// as FreeBSD seems to have problems with the generated temp names we append some more random stuff
6534
-			$randomString = chr(rand(65,90)).chr(rand(48,57)).chr(rand(65,90)).chr(rand(48,57)).chr(rand(65,90));
6534
+			$randomString = chr(rand(65, 90)).chr(rand(48, 57)).chr(rand(65, 90)).chr(rand(48, 57)).chr(rand(65, 90));
6535 6535
 			$tmpFileName = $GLOBALS['egw_info']['user']['account_id'].
6536 6536
 				trim($IDtoAddToFileName).basename($_formData['file']).'_'.$randomString;
6537 6537
 
6538
-			if (parse_url($_formData['file'],PHP_URL_SCHEME) == 'vfs')
6538
+			if (parse_url($_formData['file'], PHP_URL_SCHEME) == 'vfs')
6539 6539
 			{
6540
-				$tmpFileName = $_formData['file'];	// no need to store it somewhere
6540
+				$tmpFileName = $_formData['file']; // no need to store it somewhere
6541 6541
 			}
6542 6542
 			elseif (is_uploaded_file($_formData['file']))
6543 6543
 			{
6544
-				move_uploaded_file($_formData['file'], $GLOBALS['egw_info']['server']['temp_dir'].'/'.$tmpFileName);	// requirement for safe_mode!
6544
+				move_uploaded_file($_formData['file'], $GLOBALS['egw_info']['server']['temp_dir'].'/'.$tmpFileName); // requirement for safe_mode!
6545 6545
 			}
6546 6546
 			else
6547 6547
 			{
@@ -6550,7 +6550,7 @@  discard block
 block discarded – undo
6550 6550
 		} else {
6551 6551
 			//error_log("Import of message ".$_formData['file']." failes to meet basic restrictions");
6552 6552
 			$importfailed = true;
6553
-			$alert_msg .= lang("Processing of file %1 failed. Failed to meet basic restrictions.",$_formData['name']);
6553
+			$alert_msg .= lang("Processing of file %1 failed. Failed to meet basic restrictions.", $_formData['name']);
6554 6554
 		}
6555 6555
 		if ($importfailed == true)
6556 6556
 		{
@@ -6558,7 +6558,7 @@  discard block
 block discarded – undo
6558 6558
 		}
6559 6559
 		else
6560 6560
 		{
6561
-			if (parse_url($tmpFileName,PHP_URL_SCHEME) == 'vfs')
6561
+			if (parse_url($tmpFileName, PHP_URL_SCHEME) == 'vfs')
6562 6562
 			{
6563 6563
 				Vfs::load_wrapper('vfs');
6564 6564
 			}
@@ -6583,7 +6583,7 @@  discard block
 block discarded – undo
6583 6583
 		$images = null;
6584 6584
 		if (preg_match_all("/(src|background)=\"(.*)\"/Ui", $_html2parse, $images) && isset($images[2]))
6585 6585
 		{
6586
-			foreach($images[2] as $i => $url)
6586
+			foreach ($images[2] as $i => $url)
6587 6587
 			{
6588 6588
 				//$isData = false;
6589 6589
 				$basedir = $data = '';
@@ -6595,20 +6595,20 @@  discard block
 block discarded – undo
6595 6595
 					$filename = basename($url);
6596 6596
 					if (($directory = dirname($url)) == '.') $directory = '';
6597 6597
 					$ext = pathinfo($filename, PATHINFO_EXTENSION);
6598
-					$mimeType  = MimeMagic::ext2mime($ext);
6599
-					if ( strlen($directory) > 1 && substr($directory,-1) != '/') { $directory .= '/'; }
6598
+					$mimeType = MimeMagic::ext2mime($ext);
6599
+					if (strlen($directory) > 1 && substr($directory, -1) != '/') { $directory .= '/'; }
6600 6600
 					$myUrl = $directory.$filename;
6601
-					if ($myUrl[0]=='/') // local path -> we only allow path's that are available via http/https (or vfs)
6601
+					if ($myUrl[0] == '/') // local path -> we only allow path's that are available via http/https (or vfs)
6602 6602
 					{
6603
-						$basedir = ($_SERVER['HTTPS']?'https://':'http://'.$_SERVER['HTTP_HOST']);
6603
+						$basedir = ($_SERVER['HTTPS'] ? 'https://' : 'http://'.$_SERVER['HTTP_HOST']);
6604 6604
 					}
6605 6605
 					// use vfs instead of url containing webdav.php
6606 6606
 					// ToDo: we should test if the webdav url is of our own scope, as we cannot handle foreign
6607 6607
 					// webdav.php urls as vfs
6608
-					if (strpos($myUrl,'/webdav.php') !== false) // we have a webdav link, so we build a vfs/sqlfs link of it.
6608
+					if (strpos($myUrl, '/webdav.php') !== false) // we have a webdav link, so we build a vfs/sqlfs link of it.
6609 6609
 					{
6610 6610
 						Vfs::load_wrapper('vfs');
6611
-						list(,$myUrl) = explode('/webdav.php',$myUrl,2);
6611
+						list(,$myUrl) = explode('/webdav.php', $myUrl, 2);
6612 6612
 						$basedir = 'vfs://default';
6613 6613
 						$needTempFile = false;
6614 6614
 					}
@@ -6621,11 +6621,11 @@  discard block
 block discarded – undo
6621 6621
 						// Strips the url and store it into a temp for further procss
6622 6622
 						$tmp_url = html_entity_decode($myUrl);
6623 6623
 
6624
-						parse_str(parse_url($tmp_url, PHP_URL_QUERY),$URI_params);
6624
+						parse_str(parse_url($tmp_url, PHP_URL_QUERY), $URI_params);
6625 6625
 						if ($URI_params['mailbox'] && $URI_params['uid'] && $URI_params['cid'])
6626 6626
 						{
6627 6627
 							$mail_bo->reopen(base64_decode($URI_params['mailbox']));
6628
-							$attachment = $mail_bo->getAttachmentByCID($URI_params['uid'], base64_decode($URI_params['cid']),base64_decode($URI_params['partID']),true);
6628
+							$attachment = $mail_bo->getAttachmentByCID($URI_params['uid'], base64_decode($URI_params['cid']), base64_decode($URI_params['partID']), true);
6629 6629
 							$mail_bo->closeConnection();
6630 6630
 							if ($attachment)
6631 6631
 							{
@@ -6636,32 +6636,32 @@  discard block
 block discarded – undo
6636 6636
 						}
6637 6637
 					}
6638 6638
 
6639
-					if ( strlen($basedir) > 1 && substr($basedir,-1) != '/' && $myUrl[0]!='/') { $basedir .= '/'; }
6640
-					if ($needTempFile && !$attachment && substr($myUrl,0,4) !== "http") $data = file_get_contents($basedir.urldecode($myUrl));
6639
+					if (strlen($basedir) > 1 && substr($basedir, -1) != '/' && $myUrl[0] != '/') { $basedir .= '/'; }
6640
+					if ($needTempFile && !$attachment && substr($myUrl, 0, 4) !== "http") $data = file_get_contents($basedir.urldecode($myUrl));
6641 6641
 				}
6642
-				if (substr($url,0,strlen('data:'))=='data:')
6642
+				if (substr($url, 0, strlen('data:')) == 'data:')
6643 6643
 				{
6644 6644
 					//error_log(__METHOD__.' ('.__LINE__.') '.' -> '.$i.': '.array2string($images[$i]));
6645 6645
 					// we only support base64 encoded data
6646
-					$tmp = substr($url,strlen('data:'));
6647
-					list($mimeType,$data_base64) = explode(';base64,',$tmp);
6646
+					$tmp = substr($url, strlen('data:'));
6647
+					list($mimeType, $data_base64) = explode(';base64,', $tmp);
6648 6648
 					$data = base64_decode($data_base64);
6649 6649
 					// FF currently does NOT add any mime-type
6650 6650
 					if (strtolower(substr($mimeType, 0, 6)) != 'image/')
6651 6651
 					{
6652 6652
 						$mimeType = MimeMagic::analyze_data($data);
6653 6653
 					}
6654
-					list($what,$exactly) = explode('/',$mimeType);
6654
+					list($what, $exactly) = explode('/', $mimeType);
6655 6655
 					$needTempFile = true;
6656
-					$filename = ($what?$what:'data').$imageC++.'.'.$exactly;
6656
+					$filename = ($what ? $what : 'data').$imageC++.'.'.$exactly;
6657 6657
 				}
6658 6658
 				if ($data || $needTempFile === false)
6659 6659
 				{
6660 6660
 					if ($needTempFile)
6661 6661
 					{
6662
-						$attachment_file =tempnam($GLOBALS['egw_info']['server']['temp_dir'],$GLOBALS['egw_info']['flags']['currentapp']."_");
6663
-						$tmpfile = fopen($attachment_file,'w');
6664
-						fwrite($tmpfile,$data);
6662
+						$attachment_file = tempnam($GLOBALS['egw_info']['server']['temp_dir'], $GLOBALS['egw_info']['flags']['currentapp']."_");
6663
+						$tmpfile = fopen($attachment_file, 'w');
6664
+						fwrite($tmpfile, $data);
6665 6665
 						fclose($tmpfile);
6666 6666
 					}
6667 6667
 					else
@@ -6672,7 +6672,7 @@  discard block
 block discarded – undo
6672 6672
 					// (or similar) in all cases (when cut&paste). This may lead to more attached files, in case
6673 6673
 					// we use the same image multiple times, but, if we do this, we should try to detect that
6674 6674
 					// on upload. filename itself is not sufficient to determine the sameness of images
6675
-					$cid = 'cid:' . md5($attachment_file);
6675
+					$cid = 'cid:'.md5($attachment_file);
6676 6676
 					if ($_mailObject->AddEmbeddedImage($attachment_file, substr($cid, 4), urldecode($filename), $mimeType) !== null)
6677 6677
 					{
6678 6678
 						//$_html2parse = preg_replace("/".$images[1][$i]."=\"".preg_quote($url, '/')."\"/Ui", $images[1][$i]."=\"".$cid."\"", $_html2parse);
@@ -6701,10 +6701,10 @@  discard block
 block discarded – undo
6701 6701
 	 * @param string& $importID ID for the imported message, used by attachments to identify them unambiguously
6702 6702
 	 * @return mixed array of messages with success and failed messages or exception
6703 6703
 	 */
6704
-	function importMessageToMergeAndSend(Storage\Merge $bo_merge, $document, $SendAndMergeTocontacts, &$_folder, &$importID='')
6704
+	function importMessageToMergeAndSend(Storage\Merge $bo_merge, $document, $SendAndMergeTocontacts, &$_folder, &$importID = '')
6705 6705
 	{
6706 6706
 		$importfailed = false;
6707
-		$processStats = array('success'=>array(),'failed'=>array());
6707
+		$processStats = array('success'=>array(), 'failed'=>array());
6708 6708
 		if (empty($SendAndMergeTocontacts))
6709 6709
 		{
6710 6710
 			$importfailed = true;
@@ -6745,7 +6745,7 @@  discard block
 block discarded – undo
6745 6745
 				$_folder = $this->getSentFolder();
6746 6746
 			}
6747 6747
 			$delimiter = $this->getHierarchyDelimiter();
6748
-			if($_folder=='INBOX'.$delimiter) $_folder='INBOX';
6748
+			if ($_folder == 'INBOX'.$delimiter) $_folder = 'INBOX';
6749 6749
 			if ($importfailed === false)
6750 6750
 			{
6751 6751
 				$Subject = $mailObject->getHeader('Subject');
@@ -6763,9 +6763,9 @@  discard block
 block discarded – undo
6763 6763
 				{
6764 6764
 					$mailObject->clearReplyTos();
6765 6765
 					$activeMailProfiles = $this->mail->getAccountIdentities($this->profileID);
6766
-					$activeMailProfile = self::getStandardIdentityForProfile($activeMailProfiles,$this->profileID);
6766
+					$activeMailProfile = self::getStandardIdentityForProfile($activeMailProfiles, $this->profileID);
6767 6767
 
6768
-					$mailObject->addReplyTo(Horde_Idna::encode($activeMailProfile['ident_email']),Mail::generateIdentityString($activeMailProfile,false));
6768
+					$mailObject->addReplyTo(Horde_Idna::encode($activeMailProfile['ident_email']), Mail::generateIdentityString($activeMailProfile, false));
6769 6769
 				}
6770 6770
 				foreach ($SendAndMergeTocontacts as $k => $val)
6771 6771
 				{
@@ -6779,12 +6779,12 @@  discard block
 block discarded – undo
6779 6779
 						//error_log(__METHOD__.' ('.__LINE__.') '.array2string($mailObject));
6780 6780
 
6781 6781
 						// Parse destinations for placeholders
6782
-						foreach(Mailer::$type2header as $type => $h)
6782
+						foreach (Mailer::$type2header as $type => $h)
6783 6783
 						{
6784 6784
 							//error_log('ID ' . $val . ' ' .$type . ': ' . $mailObject->getHeader(Mailer::$type2header[$type]) . ' -> ' .$bo_merge->merge_string($mailObject->getHeader(Mailer::$type2header[$type]),$val,$e,'text/plain',array(),self::$displayCharset));
6785
-							$merged = $bo_merge->merge_string($mailObject->getHeader(Mailer::$type2header[$type]),$val,$e,'text/plain',array(),self::$displayCharset);
6786
-							$mailObject->addAddress($merged,'',$type);
6787
-							if($type == 'to')
6785
+							$merged = $bo_merge->merge_string($mailObject->getHeader(Mailer::$type2header[$type]), $val, $e, 'text/plain', array(), self::$displayCharset);
6786
+							$mailObject->addAddress($merged, '', $type);
6787
+							if ($type == 'to')
6788 6788
 							{
6789 6789
 								$email = $merged;
6790 6790
 							}
@@ -6797,26 +6797,26 @@  discard block
 block discarded – undo
6797 6797
 							//error_log(__METHOD__.' ('.__LINE__.') '.' ID:'.$val.' Data:'.array2string($contact));
6798 6798
 							$email = ($contact['email'] ? $contact['email'] : $contact['email_home']);
6799 6799
 							$nfn = ($contact['n_fn'] ? $contact['n_fn'] : $contact['n_given'].' '.$contact['n_family']);
6800
-							if($email)
6800
+							if ($email)
6801 6801
 							{
6802 6802
 								$mailObject->addAddress(Horde_Idna::encode($email), $nfn);
6803 6803
 							}
6804 6804
 						}
6805 6805
 
6806 6806
 						$activeMailProfiles = $this->getAccountIdentities($this->profileID);
6807
-						$activeMailProfile = self::getStandardIdentityForProfile($activeMailProfiles,$this->profileID);
6807
+						$activeMailProfile = self::getStandardIdentityForProfile($activeMailProfiles, $this->profileID);
6808 6808
 						//error_log(__METHOD__.' ('.__LINE__.') '.array2string($activeMailProfile));
6809 6809
 						$mailObject->setFrom($activeMailProfile['ident_email'],
6810
-							self::generateIdentityString($activeMailProfile,false));
6810
+							self::generateIdentityString($activeMailProfile, false));
6811 6811
 
6812 6812
 						$mailObject->removeHeader('Message-ID');
6813 6813
 						$mailObject->removeHeader('Date');
6814 6814
 						$mailObject->clearCustomHeaders();
6815 6815
 						$mailObject->addHeader('Subject', $bo_merge->merge_string($Subject, $val, $e, 'text/plain', array(), self::$displayCharset));
6816 6816
 						//error_log(__METHOD__.' ('.__LINE__.') '.' ContentType:'.$mailObject->BodyContentType);
6817
-						if($text_body) $text_body->setContents($bo_merge->merge_string($Body, $val, $e, 'text/plain', array(), self::$displayCharset),array('encoding'=>Horde_Mime_Part::DEFAULT_ENCODING));
6817
+						if ($text_body) $text_body->setContents($bo_merge->merge_string($Body, $val, $e, 'text/plain', array(), self::$displayCharset), array('encoding'=>Horde_Mime_Part::DEFAULT_ENCODING));
6818 6818
 						//error_log(__METHOD__.' ('.__LINE__.') '.' Result:'.$mailObject->Body.' error:'.array2string($e));
6819
-						if($html_body) $html_body->setContents($bo_merge->merge_string($AltBody, $val, $e, 'text/html', array(), self::$displayCharset),array('encoding'=>Horde_Mime_Part::DEFAULT_ENCODING));
6819
+						if ($html_body) $html_body->setContents($bo_merge->merge_string($AltBody, $val, $e, 'text/html', array(), self::$displayCharset), array('encoding'=>Horde_Mime_Part::DEFAULT_ENCODING));
6820 6820
 
6821 6821
 						//error_log(__METHOD__.' ('.__LINE__.') '.array2string($mailObject));
6822 6822
 						// set a higher timeout for big messages
@@ -6825,7 +6825,7 @@  discard block
 block discarded – undo
6825 6825
 						try {
6826 6826
 							$mailObject->send();
6827 6827
 						}
6828
-						catch(Exception $e) {
6828
+						catch (Exception $e) {
6829 6829
 							$sendOK = false;
6830 6830
 							$errorInfo = $e->getMessage();
6831 6831
 							//error_log(__METHOD__.' ('.__LINE__.') '.array2string($errorInfo));
@@ -6839,41 +6839,41 @@  discard block
 block discarded – undo
6839 6839
 						$mailObject->clearCustomHeaders();
6840 6840
 
6841 6841
 						// Parse destinations for placeholders
6842
-						foreach(Mailer::$type2header as $type => $h)
6842
+						foreach (Mailer::$type2header as $type => $h)
6843 6843
 						{
6844
-							$merged = $bo_merge->merge_string($mailObject->getHeader(Mailer::$type2header[$type]),$val,$e,'text/plain',array(),self::$displayCharset);
6844
+							$merged = $bo_merge->merge_string($mailObject->getHeader(Mailer::$type2header[$type]), $val, $e, 'text/plain', array(), self::$displayCharset);
6845 6845
 							//error_log($type . ': ' . $mailObject->getHeader(Mailer::$type2header[$type]) . ' -> ' .$merged);
6846
-							$mailObject->addAddress(trim($merged,'"'),'',$type);
6846
+							$mailObject->addAddress(trim($merged, '"'), '', $type);
6847 6847
 						}
6848 6848
 
6849 6849
 						// No addresses from placeholders?  Treat it as just a contact ID
6850
-						if (count($mailObject->getAddresses('to',true)) == 0 &&
6850
+						if (count($mailObject->getAddresses('to', true)) == 0 &&
6851 6851
 							is_numeric($val) || $GLOBALS['egw']->accounts->name2id($val)) // do the merge
6852 6852
 						{
6853 6853
 							$contact = $bo_merge->contacts->read($val);
6854 6854
 							//error_log(__METHOD__.' ('.__LINE__.') '.array2string($contact));
6855 6855
 							$email = ($contact['email'] ? $contact['email'] : $contact['email_home']);
6856 6856
 							$nfn = ($contact['n_fn'] ? $contact['n_fn'] : $contact['n_given'].' '.$contact['n_family']);
6857
-							if($email)
6857
+							if ($email)
6858 6858
 							{
6859 6859
 								$mailObject->addAddress(Horde_Idna::encode($email), $nfn);
6860 6860
 							}
6861 6861
 						}
6862 6862
 						$mailObject->addHeader('Subject', $bo_merge->merge_string($Subject, $val, $e, 'text/plain', array(), self::$displayCharset));
6863 6863
 						//error_log(__METHOD__.' ('.__LINE__.') '.' ContentType:'.$mailObject->BodyContentType);
6864
-						if (!empty($Body)) $text_body->setContents($bo_merge->merge_string($Body, $val, $e, 'text/plain', array(), self::$displayCharset),array('encoding'=>Horde_Mime_Part::DEFAULT_ENCODING));
6864
+						if (!empty($Body)) $text_body->setContents($bo_merge->merge_string($Body, $val, $e, 'text/plain', array(), self::$displayCharset), array('encoding'=>Horde_Mime_Part::DEFAULT_ENCODING));
6865 6865
 						//error_log(__METHOD__.' ('.__LINE__.') '.' Result:'.$mailObject->Body.' error:'.array2string($e));
6866
-						if (!empty($AltBody)) $html_body->setContents($bo_merge->merge_string($AltBody, $val, $e, 'text/html', array(), self::$displayCharset),array('encoding'=>Horde_Mime_Part::DEFAULT_ENCODING));
6866
+						if (!empty($AltBody)) $html_body->setContents($bo_merge->merge_string($AltBody, $val, $e, 'text/html', array(), self::$displayCharset), array('encoding'=>Horde_Mime_Part::DEFAULT_ENCODING));
6867 6867
 						$_folder = $this->getDraftFolder();
6868 6868
 					}
6869 6869
 					if ($sendOK || $openAsDraft)
6870 6870
 					{
6871
-						if ($this->folderExists($_folder,true))
6871
+						if ($this->folderExists($_folder, true))
6872 6872
 						{
6873
-						    if($this->isSentFolder($_folder))
6873
+						    if ($this->isSentFolder($_folder))
6874 6874
 							{
6875 6875
 						        $flags = '\\Seen';
6876
-						    } elseif($this->isDraftFolder($_folder)) {
6876
+						    } elseif ($this->isDraftFolder($_folder)) {
6877 6877
 						        $flags = '\\Draft';
6878 6878
 						    } else {
6879 6879
 						        $flags = '';
@@ -6881,7 +6881,7 @@  discard block
 block discarded – undo
6881 6881
 							$savefailed = false;
6882 6882
 							try
6883 6883
 							{
6884
-								$messageUid =$this->appendMessage($_folder,
6884
+								$messageUid = $this->appendMessage($_folder,
6885 6885
 									$mailObject->getRaw(),
6886 6886
 									null,
6887 6887
 									$flags);
@@ -6889,10 +6889,10 @@  discard block
 block discarded – undo
6889 6889
 							catch (\Exception\WrongUserinput $e)
6890 6890
 							{
6891 6891
 								$savefailed = true;
6892
-								$alert_msg .= lang("Save of message %1 failed. Could not save message to folder %2 due to: %3",$Subject,$_folder,$e->getMessage());
6892
+								$alert_msg .= lang("Save of message %1 failed. Could not save message to folder %2 due to: %3", $Subject, $_folder, $e->getMessage());
6893 6893
 							}
6894 6894
 							// no send, save successful, and message_uid present
6895
-							if ($savefailed===false && $messageUid && is_null($sendOK))
6895
+							if ($savefailed === false && $messageUid && is_null($sendOK))
6896 6896
 							{
6897 6897
 								$importID = $messageUid;
6898 6898
 								$openComposeWindow = true;
@@ -6901,20 +6901,20 @@  discard block
 block discarded – undo
6901 6901
 						else
6902 6902
 						{
6903 6903
 							$savefailed = true;
6904
-							$alert_msg .= lang("Saving of message %1 failed. Destination Folder %2 does not exist.",$Subject,$_folder);
6904
+							$alert_msg .= lang("Saving of message %1 failed. Destination Folder %2 does not exist.", $Subject, $_folder);
6905 6905
 						}
6906 6906
 						if ($sendOK)
6907 6907
 						{
6908
-							$processStats['success'][$val] = 'Send succeeded to '.$nfn.'<'.$email.'>'.($savefailed?' but failed to store to Folder:'.$_folder:'');
6908
+							$processStats['success'][$val] = 'Send succeeded to '.$nfn.'<'.$email.'>'.($savefailed ? ' but failed to store to Folder:'.$_folder : '');
6909 6909
 						}
6910 6910
 						else
6911 6911
 						{
6912
-							if (!$openComposeWindow) $processStats['failed'][$val] = $errorInfo?$errorInfo:'Send failed to '.$nfn.'<'.$email.'> See error_log for details';
6912
+							if (!$openComposeWindow) $processStats['failed'][$val] = $errorInfo ? $errorInfo : 'Send failed to '.$nfn.'<'.$email.'> See error_log for details';
6913 6913
 						}
6914 6914
 					}
6915
-					if (!is_null($sendOK) && $sendOK===false && is_null($openComposeWindow))
6915
+					if (!is_null($sendOK) && $sendOK === false && is_null($openComposeWindow))
6916 6916
 					{
6917
-						$processStats['failed'][$val] = $errorInfo?$errorInfo:'Send failed to '.$nfn.'<'.$email.'> See error_log for details';
6917
+						$processStats['failed'][$val] = $errorInfo ? $errorInfo : 'Send failed to '.$nfn.'<'.$email.'> See error_log for details';
6918 6918
 					}
6919 6919
 				}
6920 6920
 			}
@@ -6977,13 +6977,13 @@  discard block
 block discarded – undo
6977 6977
 	 * @param string &$bccAddresses (reference; default empty string; used to transport bcc addresses to the caller)
6978 6978
 	 * @throws Exception\WrongParameter when the required Horde_Mail_Part not found
6979 6979
 	 */
6980
-	function parseRawMessageIntoMailObject(Mailer $mailer, $message, $force8bitOnPrimaryPart=false, &$bccAddresses='')
6980
+	function parseRawMessageIntoMailObject(Mailer $mailer, $message, $force8bitOnPrimaryPart = false, &$bccAddresses = '')
6981 6981
 	{
6982 6982
 		if (is_string($message) || is_resource($message))
6983 6983
 		{
6984 6984
 			$structure = Horde_Mime_Part::parseMessage($message);
6985 6985
 			//error_log(__METHOD__.__LINE__.'#'.$structure->getPrimaryType().'#');
6986
-			if ($force8bitOnPrimaryPart&&$structure->getPrimaryType()=='text')
6986
+			if ($force8bitOnPrimaryPart && $structure->getPrimaryType() == 'text')
6987 6987
 			{
6988 6988
 				$structure->setTransferEncoding('8bit');
6989 6989
 				$structure->setCharset('utf-8');
@@ -6992,19 +6992,18 @@  discard block
 block discarded – undo
6992 6992
 			//error_log(__METHOD__.__LINE__.':'.array2string($structure));
6993 6993
 
6994 6994
 			// unfortunately parseMessage does NOT return parsed headers (we assume header is shorter then 8k)
6995
-			$start = is_string($message) ? substr($message, 0, 8192) :
6996
-				(fseek($message, 0, SEEK_SET) == -1 ? '' : fread($message, 8192));
6995
+			$start = is_string($message) ? substr($message, 0, 8192) : (fseek($message, 0, SEEK_SET) == -1 ? '' : fread($message, 8192));
6997 6996
 
6998 6997
 			$length = strpos($start, Horde_Mime_Part::RFC_EOL.Horde_Mime_Part::RFC_EOL);
6999
-			if ($length===false) $length = strlen($start);
7000
-			$headers = Horde_Mime_Headers::parseHeaders(substr($start, 0,$length));
6998
+			if ($length === false) $length = strlen($start);
6999
+			$headers = Horde_Mime_Headers::parseHeaders(substr($start, 0, $length));
7001 7000
 
7002
-			foreach($headers->toArray(array('nowrap' => true)) as $header => $value)
7001
+			foreach ($headers->toArray(array('nowrap' => true)) as $header => $value)
7003 7002
 			{
7004
-				foreach((array)$value as $n => $val)
7003
+				foreach ((array)$value as $n => $val)
7005 7004
 				{
7006 7005
 					$overwrite = !$n;
7007
-					switch($header)
7006
+					switch ($header)
7008 7007
 					{
7009 7008
 						case 'Content-Transfer-Encoding':
7010 7009
 							//as we parse the message and this sets the part with a Content-Transfer-Encoding, we
@@ -7014,7 +7013,7 @@  discard block
 block discarded – undo
7014 7013
 							break;
7015 7014
 						default:
7016 7015
 							//error_log(__METHOD__.__LINE__.':'.$header.'->'.$val);
7017
-							if (strtolower($header)=='bcc') $bccAddresses .= $val;
7016
+							if (strtolower($header) == 'bcc') $bccAddresses .= $val;
7018 7017
 							$mailer->addHeader($header, $val, $overwrite);
7019 7018
 							//error_log(__METHOD__.__LINE__.':'.'getHeader('.$header.')'.array2string($mailer->getHeader($header)).(strtolower($header)=='bcc'?$bccAddresses:''));
7020 7019
 					}
@@ -7027,7 +7026,7 @@  discard block
 block discarded – undo
7027 7026
 		}
7028 7027
 		else
7029 7028
 		{
7030
-			if (($type = gettype($message)) == 'object') $type = get_class ($message);
7029
+			if (($type = gettype($message)) == 'object') $type = get_class($message);
7031 7030
 			throw new Exception\WrongParameter('Wrong parameter type for message: '.$type);
7032 7031
 		}
7033 7032
 	}
@@ -7041,50 +7040,50 @@  discard block
 block discarded – undo
7041 7040
 	 * @param string $default_domain
7042 7041
 	 * @return Horde_Mail_Rfc822_List iteratable Horde_Mail_Rfc822_Address objects with attributes mailbox, host, personal and valid
7043 7042
 	 */
7044
-	public static function parseAddressList($addresses, $default_domain=null)
7043
+	public static function parseAddressList($addresses, $default_domain = null)
7045 7044
 	{
7046 7045
 		$rfc822 = new Horde_Mail_Rfc822();
7047 7046
 		$ret = $rfc822->parseAddressList($addresses, $default_domain ? array('default_domain' => $default_domain) : array());
7048 7047
 		//error_log(__METHOD__.__LINE__.'#'.array2string($addresses).'#'.array2string($ret).'#'.$ret->count().'#'.$ret->count.function_backtrace());
7049
-		if ((empty($ret) || $ret->count()==0)&& is_string($addresses) && strlen($addresses)>0)
7048
+		if ((empty($ret) || $ret->count() == 0) && is_string($addresses) && strlen($addresses) > 0)
7050 7049
 		{
7051 7050
 			$matches = array();
7052
-			preg_match_all("/[\w\.,-.,_.,0-9.]+@[\w\.,-.,_.,0-9.]+/",$addresses,$matches);
7051
+			preg_match_all("/[\w\.,-.,_.,0-9.]+@[\w\.,-.,_.,0-9.]+/", $addresses, $matches);
7053 7052
 			//error_log(__METHOD__.__LINE__.array2string($matches));
7054
-			foreach ($matches[0] as &$match) {$match = trim($match,', ');}
7055
-			$addresses = implode(',',$matches[0]);
7053
+			foreach ($matches[0] as &$match) {$match = trim($match, ', '); }
7054
+			$addresses = implode(',', $matches[0]);
7056 7055
 			//error_log(__METHOD__.__LINE__.array2string($addresses));
7057 7056
 			$ret = $rfc822->parseAddressList($addresses, $default_domain ? array('default_domain' => $default_domain) : array());
7058 7057
 			//error_log(__METHOD__.__LINE__.'#'.array2string($addresses).'#'.array2string($ret).'#'.$ret->count().'#'.$ret->count);
7059 7058
 		}
7060
-		$previousFailed=false;
7059
+		$previousFailed = false;
7061 7060
 		$ret2 = new Horde_Mail_Rfc822_List();
7062 7061
 		// handle known problems on emailaddresses
7063
-		foreach($ret as $i => $adr)
7062
+		foreach ($ret as $i => $adr)
7064 7063
 		{
7065 7064
 			//mailaddresses enclosed in single quotes like '[email protected]' show up as 'me as mailbox and you.com' as host
7066
-			if ($adr->mailbox && stripos($adr->mailbox,"'")== 0 &&
7067
-					$adr->host && stripos($adr->host,"'")== (strlen($adr->host) -1))
7065
+			if ($adr->mailbox && stripos($adr->mailbox, "'") == 0 &&
7066
+					$adr->host && stripos($adr->host, "'") == (strlen($adr->host) - 1))
7068 7067
 			{
7069
-				$adr->mailbox = str_replace("'","",$adr->mailbox);
7070
-				$adr->host = str_replace("'","",$adr->host);
7068
+				$adr->mailbox = str_replace("'", "", $adr->mailbox);
7069
+				$adr->host = str_replace("'", "", $adr->host);
7071 7070
 			}
7072 7071
 			// no mailbox or host part as 'Xr\xc3\xa4hlyz, User <[email protected]>' is parsed as 2 addresses separated by ','
7073 7072
 			//#'Xr\xc3\xa4hlyz, User <[email protected]>'
7074 7073
 			//#Horde_Mail_Rfc822_List Object([_data:protected] => Array(
7075 7074
 			//[0] => Horde_Mail_Rfc822_Address Object([comment] => Array()[mailbox] => Xr\xc3\xa4hlyz[_host:protected] => [_personal:protected] => )
7076 7075
 			//[1] => Horde_Mail_Rfc822_Address Object([comment] => Array()[mailbox] => mailboxpart1.mailboxpart2[_host:protected] => youthost.com[_personal:protected] => User))[_filter:protected] => Array()[_ptr:protected] => )#2#,
7077
-			if (strlen($adr->mailbox)==0||strlen($adr->host)==0)
7076
+			if (strlen($adr->mailbox) == 0 || strlen($adr->host) == 0)
7078 7077
 			{
7079
-				$remember = ($adr->mailbox?$adr->mailbox:($adr->host?$adr->host:''));
7080
-				$previousFailed=true;
7078
+				$remember = ($adr->mailbox ? $adr->mailbox : ($adr->host ? $adr->host : ''));
7079
+				$previousFailed = true;
7081 7080
 				//error_log(__METHOD__.__LINE__."('$addresses', $default_domain) parsed $i: mailbox=$adr->mailbox, host=$adr->host, personal=$adr->personal");
7082 7081
 			}
7083 7082
 			else
7084 7083
 			{
7085
-				if ($previousFailed && $remember) $adr->personal = $remember. ' ' . $adr->personal;
7084
+				if ($previousFailed && $remember) $adr->personal = $remember.' '.$adr->personal;
7086 7085
 				$remember = '';
7087
-				$previousFailed=false;
7086
+				$previousFailed = false;
7088 7087
 				//error_log(__METHOD__.__LINE__."('$addresses', $default_domain) parsed $i: mailbox=$adr->mailbox, host=$adr->host, personal=$adr->personal");
7089 7088
 				$ret2->add($adr);
7090 7089
 			}
@@ -7100,7 +7099,7 @@  discard block
 block discarded – undo
7100 7099
 	 * @param string $_folder
7101 7100
 	 * @return boolean
7102 7101
 	 */
7103
-	function sendMDN($uid,$_folder)
7102
+	function sendMDN($uid, $_folder)
7104 7103
 	{
7105 7104
 		$acc = Mail\Account::read($this->profileID);
7106 7105
 		$identity = Mail\Account::read_identity($acc['ident_id'], true, null, $acc);
@@ -7130,7 +7129,7 @@  discard block
 block discarded – undo
7130 7129
 	 */
7131 7130
 	function addAccount($_hookValues)
7132 7131
 	{
7133
-		error_log(__METHOD__.' ('.__LINE__.') '.' NOT DONE YET!' . ' hookValue = '. $_hookValues);
7132
+		error_log(__METHOD__.' ('.__LINE__.') '.' NOT DONE YET!'.' hookValue = '.$_hookValues);
7134 7133
 
7135 7134
 	}
7136 7135
 
@@ -7144,7 +7143,7 @@  discard block
 block discarded – undo
7144 7143
 	 */
7145 7144
 	function deleteAccount($_hookValues)
7146 7145
 	{
7147
-		error_log(__METHOD__.' ('.__LINE__.') '.' NOT DONE YET!' . ' hookValue = '. $_hookValues);
7146
+		error_log(__METHOD__.' ('.__LINE__.') '.' NOT DONE YET!'.' hookValue = '.$_hookValues);
7148 7147
 
7149 7148
 	}
7150 7149
 
@@ -7158,7 +7157,7 @@  discard block
 block discarded – undo
7158 7157
 	 */
7159 7158
 	function updateAccount($_hookValues)
7160 7159
 	{
7161
-		error_log(__METHOD__.' ('.__LINE__.') '.' NOT DONE YET!' . ' hookValue = '. $_hookValues);
7160
+		error_log(__METHOD__.' ('.__LINE__.') '.' NOT DONE YET!'.' hookValue = '.$_hookValues);
7162 7161
 
7163 7162
 	}
7164 7163
 }
Please login to merge, or discard this patch.
Braces   +1825 added lines, -545 removed lines patch added patch discarded remove patch
@@ -200,7 +200,10 @@  discard block
 block discarded – undo
200 200
 	public static function getInstance($_restoreSession=true, &$_profileID=0, $_validate=true, $_oldImapServerObject=false, $_reuseCache=null)
201 201
 	{
202 202
 		//$_restoreSession=false;
203
-		if (is_null($_reuseCache)) $_reuseCache = $_restoreSession;
203
+		if (is_null($_reuseCache))
204
+		{
205
+			$_reuseCache = $_restoreSession;
206
+		}
204 207
 		//error_log(__METHOD__.' ('.__LINE__.') '.' RestoreSession:'.$_restoreSession.' ProfileId:'.$_profileID.'/'.Mail\Account::get_default_acc_id().' for user:'.$GLOBALS['egw_info']['user']['account_lid'].' called from:'.function_backtrace());
205 208
 		//error_log(__METHOD__.' ('.__LINE__.') '.array2string($_oldImapServerObject));
206 209
 		self::$profileDefunct = Cache::getCache(Cache::INSTANCE,'email','profileDefunct'.trim($GLOBALS['egw_info']['user']['account_id']),null,array(),5*1);
@@ -231,9 +234,15 @@  discard block
 block discarded – undo
231 234
 			{
232 235
 				$profileID = Mail\Account::get_default_acc_id();
233 236
 			}
234
-			if ($profileID!=$_profileID) $_restoreSession==false;
237
+			if ($profileID!=$_profileID)
238
+			{
239
+				$_restoreSession==false;
240
+			}
235 241
 			$_profileID=$profileID;
236
-			if (self::$debug) error_log(__METHOD__.' ('.__LINE__.') '.' called with profileID==0 using '.$profileID.' instead->'.function_backtrace());
242
+			if (self::$debug)
243
+			{
244
+				error_log(__METHOD__.' ('.__LINE__.') '.' called with profileID==0 using '.$profileID.' instead->'.function_backtrace());
245
+			}
237 246
 		}
238 247
 		// no validation or restoreSession for old ImapServer Object, just fetch it and return it
239 248
 		if ($_oldImapServerObject===true)
@@ -272,7 +281,8 @@  discard block
 block discarded – undo
272 281
 				// TODO: merge mailprefs into userprefs, for easy treatment
273 282
 				self::$instances[$_profileID]->mailPreferences = $GLOBALS['egw_info']['user']['preferences']['mail'];
274 283
 				self::$instances[$_profileID]->htmlOptions  = self::$instances[$_profileID]->mailPreferences['htmlOptions'];
275
-			} catch (\Exception $e)
284
+			}
285
+			catch (\Exception $e)
276 286
 			{
277 287
 				$newprofileID = Mail\Account::get_default_acc_id();
278 288
 				// try loading the default profile for the user
@@ -290,9 +300,15 @@  discard block
 block discarded – undo
290 300
 			self::storeActiveProfileIDToPref(self::$instances[$_profileID]->icServer, $_profileID, $_validate );
291 301
 		}
292 302
 		self::$instances[$_profileID]->profileID = $_profileID;
293
-		if (!isset(self::$instances[$_profileID]->idna2)) self::$instances[$_profileID]->idna2 = new Horde_Idna;
303
+		if (!isset(self::$instances[$_profileID]->idna2))
304
+		{
305
+			self::$instances[$_profileID]->idna2 = new Horde_Idna;
306
+		}
294 307
 		//if ($_profileID==0); error_log(__METHOD__.' ('.__LINE__.') '.' RestoreSession:'.$_restoreSession.' ProfileId:'.$_profileID);
295
-		if (is_null(self::$mailConfig)) self::$mailConfig = Config::read('mail');
308
+		if (is_null(self::$mailConfig))
309
+		{
310
+			self::$mailConfig = Config::read('mail');
311
+		}
296 312
 		return self::$instances[$_profileID];
297 313
 	}
298 314
 
@@ -317,14 +333,20 @@  discard block
 block discarded – undo
317 333
 			}
318 334
 			catch (\Exception $e)
319 335
 			{
320
-				if ($_profileID != Mail\Account::get_default_acc_id()) $_profileID = Mail\Account::get_default_acc_id();
336
+				if ($_profileID != Mail\Account::get_default_acc_id())
337
+				{
338
+					$_profileID = Mail\Account::get_default_acc_id();
339
+				}
321 340
 				error_log(__METHOD__.__LINE__.' '.$e->getMessage());
322 341
 				return false;
323 342
 			}
324 343
 		}
325 344
 		if ($oldProfileID != $_profileID)
326 345
 		{
327
-			if ($oldProfileID && $_profileID==0) $_profileID = $oldProfileID;
346
+			if ($oldProfileID && $_profileID==0)
347
+			{
348
+				$_profileID = $oldProfileID;
349
+			}
328 350
 			$GLOBALS['egw']->preferences->add('mail','ActiveProfileID',$_profileID,'user');
329 351
 			// save prefs
330 352
 			$GLOBALS['egw']->preferences->save_repository(true);
@@ -354,11 +376,17 @@  discard block
 block discarded – undo
354 376
 				{
355 377
 					return $_acc_id;
356 378
 				}
357
-				if (self::$debug) error_log(__METHOD__."($_acc_id) account NOT valid, no imap-host!");
379
+				if (self::$debug)
380
+				{
381
+					error_log(__METHOD__."($_acc_id) account NOT valid, no imap-host!");
382
+				}
358 383
 			}
359 384
 			catch (\Exception $e) {
360 385
 				unset($e);
361
-				if (self::$debug) error_log(__METHOD__."($_acc_id) account NOT found!");
386
+				if (self::$debug)
387
+				{
388
+					error_log(__METHOD__."($_acc_id) account NOT found!");
389
+				}
362 390
 			}
363 391
 		}
364 392
 		// no account specified or specified account not found or not valid
@@ -367,11 +395,17 @@  discard block
 block discarded – undo
367 395
 		{
368 396
 			if (!empty($imap_host) && ($account = Mail\Account::read($acc_id)) && $account->is_imap())
369 397
 			{
370
-				if (self::$debug && $_acc_id) error_log(__METHOD__."($_acc_id) using $acc_id instead");
398
+				if (self::$debug && $_acc_id)
399
+				{
400
+					error_log(__METHOD__."($_acc_id) using $acc_id instead");
401
+				}
371 402
 				return $acc_id;
372 403
 			}
373 404
 		}
374
-		if (self::$debug) error_log(__METHOD__."($_acc_id) NO valid account found!");
405
+		if (self::$debug)
406
+		{
407
+			error_log(__METHOD__."($_acc_id) NO valid account found!");
408
+		}
375 409
 		return 0;
376 410
 	}
377 411
 
@@ -387,10 +421,19 @@  discard block
 block discarded – undo
387 421
 	 */
388 422
 	private function __construct($_displayCharset='utf-8',$_restoreSession=true, $_profileID=0, $_oldImapServerObject=false, $_reuseCache=null)
389 423
 	{
390
-		if (is_null($_reuseCache)) $_reuseCache = $_restoreSession;
391
-		if (!empty($_displayCharset)) self::$displayCharset = $_displayCharset;
424
+		if (is_null($_reuseCache))
425
+		{
426
+			$_reuseCache = $_restoreSession;
427
+		}
428
+		if (!empty($_displayCharset))
429
+		{
430
+			self::$displayCharset = $_displayCharset;
431
+		}
392 432
 		// not nummeric, we assume we only want an empty class object
393
-		if (!is_numeric($_profileID)) return true;
433
+		if (!is_numeric($_profileID))
434
+		{
435
+			return true;
436
+		}
394 437
 		if ($_restoreSession)
395 438
 		{
396 439
 			//error_log(__METHOD__." Session restore ".function_backtrace());
@@ -405,7 +448,10 @@  discard block
 block discarded – undo
405 448
 			$firstMessage = $this->sessionData['previewMessage'];
406 449
 			$this->sessionData = array();
407 450
 		}
408
-		if (!$_reuseCache) $this->forcePrefReload($_profileID,!$_reuseCache);
451
+		if (!$_reuseCache)
452
+		{
453
+			$this->forcePrefReload($_profileID,!$_reuseCache);
454
+		}
409 455
 		try
410 456
 		{
411 457
 			$this->profileID = self::validateProfileID($_profileID);
@@ -429,7 +475,10 @@  discard block
 block discarded – undo
429 475
 			$_profileID = $this->profileID = $GLOBALS['egw_info']['user']['preferences']['mail']['ActiveProfileID'] = $this->icServer->ImapServerId;
430 476
 		}
431 477
 
432
-		if (is_null(self::$mailConfig)) self::$mailConfig = Config::read('mail');
478
+		if (is_null(self::$mailConfig))
479
+		{
480
+			self::$mailConfig = Config::read('mail');
481
+		}
433 482
 	}
434 483
 
435 484
 	/**
@@ -458,7 +507,10 @@  discard block
 block discarded – undo
458 507
 		// unset the mail_preferences session object, to force the reload/rebuild
459 508
 		Cache::setSession('mail','mail_preferences',serialize(array()));
460 509
 		Cache::setSession('emailadmin','session_data',serialize(array()));
461
-		if ($_resetFolderObjects) self::resetFolderObjectCache($_profile_id);
510
+		if ($_resetFolderObjects)
511
+		{
512
+			self::resetFolderObjectCache($_profile_id);
513
+		}
462 514
 	}
463 515
 
464 516
 	/**
@@ -468,7 +520,10 @@  discard block
 block discarded – undo
468 520
 	{
469 521
 		$this->sessionData = array();//Cache::getCache(Cache::SESSION,'mail','session_data',$callback=null,$callback_params=array(),$expiration=60*60*1);
470 522
 		self::$activeFolderCache = Cache::getCache(Cache::INSTANCE,'email','activeMailbox'.trim($GLOBALS['egw_info']['user']['account_id']),null,array(),60*60*10);
471
-		if (!empty(self::$activeFolderCache[$this->profileID])) $this->sessionData['mailbox'] = self::$activeFolderCache[$this->profileID];
523
+		if (!empty(self::$activeFolderCache[$this->profileID]))
524
+		{
525
+			$this->sessionData['mailbox'] = self::$activeFolderCache[$this->profileID];
526
+		}
472 527
 	}
473 528
 
474 529
 	/**
@@ -477,7 +532,10 @@  discard block
 block discarded – undo
477 532
 	function saveSessionData()
478 533
 	{
479 534
 		//error_log(__METHOD__.' ('.__LINE__.') '.array2string(array_keys($this->sessionData)));
480
-		if (!empty($this->sessionData['mailbox'])) self::$activeFolderCache[$this->profileID]=$this->sessionData['mailbox'];
535
+		if (!empty($this->sessionData['mailbox']))
536
+		{
537
+			self::$activeFolderCache[$this->profileID]=$this->sessionData['mailbox'];
538
+		}
481 539
 		if (isset(self::$activeFolderCache) && is_array(self::$activeFolderCache))
482 540
 		{
483 541
 			Cache::setCache(Cache::INSTANCE,'email','activeMailbox'.trim($GLOBALS['egw_info']['user']['account_id']),self::$activeFolderCache, 60*60*10);
@@ -498,8 +556,14 @@  discard block
 block discarded – undo
498 556
 	 */
499 557
 	static function unsetCachedObjects($_profileID=null)
500 558
 	{
501
-		if (is_null($_profileID)) $_profileID = Mail\Account::get_default_acc_id();
502
-		if (is_array($_profileID) && $_profileID['account_id']) $account_id = $_profileID['account_id'];
559
+		if (is_null($_profileID))
560
+		{
561
+			$_profileID = Mail\Account::get_default_acc_id();
562
+		}
563
+		if (is_array($_profileID) && $_profileID['account_id'])
564
+		{
565
+			$account_id = $_profileID['account_id'];
566
+		}
503 567
 		//error_log(__METHOD__.__LINE__.' called with ProfileID:'.array2string($_profileID).' from '.function_backtrace());
504 568
 		if (!is_array($_profileID) && (is_numeric($_profileID) || !(stripos($_profileID,'tracker_')===false)))
505 569
 		{
@@ -532,7 +596,10 @@  discard block
 block discarded – undo
532 596
 				Cache::setCache(Cache::INSTANCE,'email','vacationNotice'.trim($account_id),$vacationCached, $expiration=60*60*24*1);
533 597
 			}
534 598
 
535
-			if (isset(self::$instances[$_profileID])) unset(self::$instances[$_profileID]);
599
+			if (isset(self::$instances[$_profileID]))
600
+			{
601
+				unset(self::$instances[$_profileID]);
602
+			}
536 603
 		}
537 604
 		if (is_array($_profileID) && $_profileID['location'] == 'clear_cache')
538 605
 		{
@@ -561,7 +628,10 @@  discard block
 block discarded – undo
561 628
 	static function resetConnectionErrorCache($_ImapServerId=null,$account_id=null)
562 629
 	{
563 630
 		//error_log(__METHOD__.' ('.__LINE__.') '.' for Profile:'.array2string($_ImapServerId) .' for user:'.trim($account_id));
564
-		if (is_null($account_id)) $account_id = $GLOBALS['egw_info']['user']['account_id'];
631
+		if (is_null($account_id))
632
+		{
633
+			$account_id = $GLOBALS['egw_info']['user']['account_id'];
634
+		}
565 635
 		if (is_array($_ImapServerId))
566 636
 		{
567 637
 			// called via hook
@@ -600,7 +670,10 @@  discard block
 block discarded – undo
600 670
 	static function resetFolderObjectCache($_ImapServerId=null,$account_id=null)
601 671
 	{
602 672
 		//error_log(__METHOD__.' ('.__LINE__.') '.' called for Profile:'.array2string($_ImapServerId).'->'.function_backtrace());
603
-		if (is_null($account_id)) $account_id = $GLOBALS['egw_info']['user']['account_id'];
673
+		if (is_null($account_id))
674
+		{
675
+			$account_id = $GLOBALS['egw_info']['user']['account_id'];
676
+		}
604 677
 		// on [location] => verify_settings we coud either use [prefs] => Array([ActiveProfileID] => 9, .. as $_ImapServerId
605 678
 		// or treat it as not given. we try that path
606 679
 		if (is_null($_ImapServerId)||is_array($_ImapServerId))
@@ -674,10 +747,14 @@  discard block
 block discarded – undo
674 747
 
675 748
 		$userEMailAdresses = array($acc['ident_email']=>$acc['ident_realname']);
676 749
 
677
-		foreach($identities as $ik => $ident) {
750
+		foreach($identities as $ik => $ident)
751
+		{
678 752
 			//error_log(__METHOD__.' ('.__LINE__.') '.':'.$ik.'->'.array2string($ident));
679 753
 			$identity = Mail\Account::read_identity($ik);
680
-			if (!empty($identity['ident_email']) && !isset($userEMailAdresses[$identity['ident_email']])) $userEMailAdresses[$identity['ident_email']] = $identity['ident_realname'];
754
+			if (!empty($identity['ident_email']) && !isset($userEMailAdresses[$identity['ident_email']]))
755
+			{
756
+				$userEMailAdresses[$identity['ident_email']] = $identity['ident_realname'];
757
+			}
681 758
 		}
682 759
 		//error_log(__METHOD__.' ('.__LINE__.') '.array2string($userEMailAdresses));
683 760
 		return $userEMailAdresses;
@@ -695,13 +772,20 @@  discard block
 block discarded – undo
695 772
 		foreach(Mail\Account::search($only_current_user=($_accountToSearch?$_accountToSearch:true), $just_name=true) as $acc_id => $identity_name)
696 773
 		{
697 774
 			$acc = Mail\Account::read($acc_id,($_accountToSearch?$_accountToSearch:null));
698
-			if (!$resolve_placeholders) $userEMailAdresses[$acc['ident_id']] = array('acc_id'=>$acc_id,'ident_id'=>$acc['ident_id'],'ident_email'=>$acc['ident_email'],'ident_org'=>$acc['ident_org'],'ident_realname'=>$acc['ident_realname'],'ident_signature'=>$acc['ident_signature'],'ident_name'=>$acc['ident_name']);
775
+			if (!$resolve_placeholders)
776
+			{
777
+				$userEMailAdresses[$acc['ident_id']] = array('acc_id'=>$acc_id,'ident_id'=>$acc['ident_id'],'ident_email'=>$acc['ident_email'],'ident_org'=>$acc['ident_org'],'ident_realname'=>$acc['ident_realname'],'ident_signature'=>$acc['ident_signature'],'ident_name'=>$acc['ident_name']);
778
+			}
699 779
 
700
-			foreach(Mail\Account::identities($acc) as $ik => $ident) {
780
+			foreach(Mail\Account::identities($acc) as $ik => $ident)
781
+			{
701 782
 				//error_log(__METHOD__.' ('.__LINE__.') '.':'.$ik.'->'.array2string($ident));
702 783
 				$identity = Mail\Account::read_identity($ik,$resolve_placeholders);
703 784
 				//error_log(__METHOD__.' ('.__LINE__.') '.':'.$ik.'->'.array2string($identity));
704
-				if (!isset($userEMailAdresses[$identity['ident_id']])) $userEMailAdresses[$identity['ident_id']] = array('acc_id'=>$acc_id,'ident_id'=>$identity['ident_id'],'ident_email'=>$identity['ident_email'],'ident_org'=>$identity['ident_org'],'ident_realname'=>$identity['ident_realname'],'ident_signature'=>$identity['ident_signature'],'ident_name'=>$identity['ident_name']);
785
+				if (!isset($userEMailAdresses[$identity['ident_id']]))
786
+				{
787
+					$userEMailAdresses[$identity['ident_id']] = array('acc_id'=>$acc_id,'ident_id'=>$identity['ident_id'],'ident_email'=>$identity['ident_email'],'ident_org'=>$identity['ident_org'],'ident_realname'=>$identity['ident_realname'],'ident_signature'=>$identity['ident_signature'],'ident_name'=>$identity['ident_name']);
788
+				}
705 789
 			}
706 790
 		}
707 791
 		//error_log(__METHOD__.' ('.__LINE__.') '.array2string($userEMailAdresses));
@@ -721,12 +805,16 @@  discard block
 block discarded – undo
721 805
 			$account = Mail\Account::read($account);
722 806
 		}
723 807
 		$userEMailAdresses = array();
724
-		foreach(Mail\Account::identities($account, true, 'params') as $ik => $ident) {
808
+		foreach(Mail\Account::identities($account, true, 'params') as $ik => $ident)
809
+		{
725 810
 			//error_log(__METHOD__.' ('.__LINE__.') '.':'.$ik.'->'.array2string($ident));
726 811
 			$identity = Mail\Account::read_identity($ik,true,null,$account);
727 812
 			//error_log(__METHOD__.' ('.__LINE__.') '.':'.$ik.'->'.array2string($identity));
728 813
 			// standardIdentity has ident_id==acc_id (as it is done within account->identities)
729
-			if (empty($identity['ident_id'])) $identity['ident_id'] = $identity['acc_id'];
814
+			if (empty($identity['ident_id']))
815
+			{
816
+				$identity['ident_id'] = $identity['acc_id'];
817
+			}
730 818
 			if (!isset($userEMailAdresses[$identity['ident_id']]))
731 819
 			{
732 820
 				$userEMailAdresses[$identity['ident_id']] = array('acc_id'=>$identity['acc_id'],
@@ -769,15 +857,25 @@  discard block
 block discarded – undo
769 857
 		// account select box
770 858
 		$selectedID = $this->profileID;
771 859
 		$allAccountData = Mail\Account::search($only_current_user=true, false, null);
772
-		if ($allAccountData) {
860
+		if ($allAccountData)
861
+		{
773 862
 			$rememberFirst=$selectedFound=null;
774 863
 			foreach ($allAccountData as $tmpkey => $icServers)
775 864
 			{
776
-				if (is_null($rememberFirst)) $rememberFirst = $tmpkey;
777
-				if ($tmpkey == $selectedID) $selectedFound=true;
865
+				if (is_null($rememberFirst))
866
+				{
867
+					$rememberFirst = $tmpkey;
868
+				}
869
+				if ($tmpkey == $selectedID)
870
+				{
871
+					$selectedFound=true;
872
+				}
778 873
 				//error_log(__METHOD__.' ('.__LINE__.') '.' Key:'.$tmpkey.'->'.array2string($icServers->acc_imap_host));
779 874
 				$host = $icServers->acc_imap_host;
780
-				if (empty($host)) continue;
875
+				if (empty($host))
876
+				{
877
+					continue;
878
+				}
781 879
 				$identities[$icServers->acc_id] = $icServers['ident_realname'].' '.$icServers['ident_org'].' <'.$icServers['ident_email'].'>';
782 880
 				//error_log(__METHOD__.' ('.__LINE__.') '.' Key:'.$tmpkey.'->'.array2string($identities[$icServers->acc_id]));
783 881
 			}
@@ -837,7 +935,10 @@  discard block
 block discarded – undo
837 935
 	 */
838 936
 	function reopen($_foldername)
839 937
 	{
840
-		if (self::$debugTimes) $starttime = microtime (true);
938
+		if (self::$debugTimes)
939
+		{
940
+			$starttime = microtime (true);
941
+		}
841 942
 
842 943
 		//error_log(__METHOD__.' ('.__LINE__.') '."('$_foldername') ".function_backtrace());
843 944
 		// TODO: trying to reduce traffic to the IMAP Server here, introduces problems with fetching the bodies of
@@ -847,12 +948,16 @@  discard block
 block discarded – undo
847 948
 		//{
848 949
 			//error_log( __METHOD__.' ('.__LINE__.') '." $_foldername ".function_backtrace());
849 950
 			//error_log(__METHOD__.' ('.__LINE__.') '.' Connected with icServer for Profile:'.$this->profileID.'?'.print_r($this->icServer->_connected,true));
850
-			if ($this->folderIsSelectable($_foldername)) {
951
+			if ($this->folderIsSelectable($_foldername))
952
+			{
851 953
 				$this->icServer->openMailbox($_foldername);
852 954
 			}
853 955
 			$folderOpened = $_foldername;
854 956
 		//}
855
-		if (self::$debugTimes) self::logRunTimes($starttime,null,'Folder:'.$_foldername,__METHOD__.' ('.__LINE__.') ');
957
+		if (self::$debugTimes)
958
+		{
959
+			self::logRunTimes($starttime,null,'Folder:'.$_foldername,__METHOD__.' ('.__LINE__.') ');
960
+		}
856 961
 	}
857 962
 
858 963
 
@@ -867,13 +972,22 @@  discard block
 block discarded – undo
867 972
 	{
868 973
 		//error_log( "-------------------------->open connection ".function_backtrace());
869 974
 		//error_log(__METHOD__.' ('.__LINE__.') '.' ->'.array2string($this->icServer));
870
-		if (self::$debugTimes) $starttime = microtime (true);
975
+		if (self::$debugTimes)
976
+		{
977
+			$starttime = microtime (true);
978
+		}
871 979
 		$mailbox=null;
872 980
 		try
873 981
 		{
874
-			if(isset($this->sessionData['mailbox'])&&$this->folderExists($this->sessionData['mailbox'])) $mailbox = $this->sessionData['mailbox'];
875
-			if (empty($mailbox)) $mailbox = $this->icServer->getCurrentMailbox();
876
-/*
982
+			if(isset($this->sessionData['mailbox'])&&$this->folderExists($this->sessionData['mailbox']))
983
+			{
984
+				$mailbox = $this->sessionData['mailbox'];
985
+			}
986
+			if (empty($mailbox))
987
+			{
988
+				$mailbox = $this->icServer->getCurrentMailbox();
989
+			}
990
+			/*
877 991
 			if (isset(Mail\Imap::$supports_keywords[$_icServerID]))
878 992
 			{
879 993
 				$this->icServer->openMailbox($mailbox);
@@ -898,7 +1012,10 @@  discard block
 block discarded – undo
898 1012
 			error_log(__METHOD__.' ('.__LINE__.') '."->open connection for Server with profileID:".$_icServerID." trying to examine ($mailbox) failed!".$e->getMessage());
899 1013
 			throw new Exception(__METHOD__." failed to ".__METHOD__." on Profile to $_icServerID while trying to examine $mailbox:".$e->getMessage());
900 1014
 		}
901
-		if (self::$debugTimes) self::logRunTimes($starttime,null,'ProfileID:'.$_icServerID,__METHOD__.' ('.__LINE__.') ');
1015
+		if (self::$debugTimes)
1016
+		{
1017
+			self::logRunTimes($starttime,null,'ProfileID:'.$_icServerID,__METHOD__.' ('.__LINE__.') ');
1018
+		}
902 1019
 	}
903 1020
 
904 1021
 	/**
@@ -910,7 +1027,10 @@  discard block
 block discarded – undo
910 1027
 	function getQuotaRoot()
911 1028
 	{
912 1029
 		static $quota;
913
-		if (isset($quota)) return $quota;
1030
+		if (isset($quota))
1031
+		{
1032
+			return $quota;
1033
+		}
914 1034
 		if (isset(self::$profileDefunct[$this->profileID]) && strlen(self::$profileDefunct[$this->profileID]))
915 1035
 		{
916 1036
 			// something is wrong. Do not proceed. either no folder or profile is marked as defunct for this request
@@ -919,7 +1039,8 @@  discard block
 block discarded – undo
919 1039
 		try
920 1040
 		{
921 1041
 			$this->icServer->getCurrentMailbox();
922
-			if(!$this->icServer->hasCapability('QUOTA')) {
1042
+			if(!$this->icServer->hasCapability('QUOTA'))
1043
+			{
923 1044
 				$quota = false;
924 1045
 				return false;
925 1046
 			}
@@ -937,12 +1058,15 @@  discard block
 block discarded – undo
937 1058
 			}
938 1059
 		}
939 1060
 		//error_log(__METHOD__.' ('.__LINE__.') '.array2string($quota));
940
-		if(is_array($quota)) {
1061
+		if(is_array($quota))
1062
+		{
941 1063
 			$quota = array(
942 1064
 				'usage'	=> $quota['USED'],
943 1065
 				'limit'	=> $quota['QMAX'],
944 1066
 			);
945
-		} else {
1067
+		}
1068
+		else
1069
+		{
946 1070
 			$quota = false;
947 1071
 		}
948 1072
 		return $quota;
@@ -958,7 +1082,11 @@  discard block
 block discarded – undo
958 1082
 	static function getTimeOut($_use='IMAP')
959 1083
 	{
960 1084
 		$timeout = $GLOBALS['egw_info']['user']['preferences']['mail']['connectionTimeout'];
961
-		if (empty($timeout)) $timeout = ($_use=='SIEVE'?10:20); // this is the default value
1085
+		if (empty($timeout))
1086
+		{
1087
+			$timeout = ($_use=='SIEVE'?10:20);
1088
+		}
1089
+		// this is the default value
962 1090
 		return $timeout;
963 1091
 	}
964 1092
 
@@ -976,9 +1104,13 @@  discard block
 block discarded – undo
976 1104
 		$foldersNameSpace = array();
977 1105
 		$delimiter = $this->getHierarchyDelimiter();
978 1106
 		// TODO: cache by $this->icServer->ImapServerId
979
-		if (is_null($nameSpace)) $nameSpace = $this->icServer->getNameSpaceArray();
1107
+		if (is_null($nameSpace))
1108
+		{
1109
+			$nameSpace = $this->icServer->getNameSpaceArray();
1110
+		}
980 1111
 		//error_log(__METHOD__.' ('.__LINE__.') '.array2string($nameSpace));
981
-		if (is_array($nameSpace)) {
1112
+		if (is_array($nameSpace))
1113
+		{
982 1114
 			foreach($nameSpace as $type => $singleNameSpaceArray)
983 1115
 			{
984 1116
 				foreach ($singleNameSpaceArray as $singleNameSpace)
@@ -995,7 +1127,9 @@  discard block
 block discarded – undo
995 1127
 						$_foldersNameSpace['prefix_present'] = 'forced';
996 1128
 						// uw-imap server with mailbox prefix or dovecot maybe
997 1129
 						$_foldersNameSpace['prefix'] = 'mail';
998
-					} else {
1130
+					}
1131
+					else
1132
+					{
999 1133
 						$_foldersNameSpace['prefix_present'] = !empty($singleNameSpace['name']);
1000 1134
 						$_foldersNameSpace['prefix'] = $singleNameSpace['name'];
1001 1135
 					}
@@ -1022,7 +1156,10 @@  discard block
 block discarded – undo
1022 1156
 		foreach($nameSpace as &$singleNameSpace)
1023 1157
 		{
1024 1158
 			//if (substr($singleNameSpace['prefix'],0,strlen($folderName))==$folderName) return $singleNameSpace['prefix'];
1025
-			if (substr($folderName,0,strlen($singleNameSpace['prefix']))==$singleNameSpace['prefix']) return $singleNameSpace['prefix'];
1159
+			if (substr($folderName,0,strlen($singleNameSpace['prefix']))==$singleNameSpace['prefix'])
1160
+			{
1161
+				return $singleNameSpace['prefix'];
1162
+			}
1026 1163
 		}
1027 1164
 		return "";
1028 1165
 	}
@@ -1036,8 +1173,14 @@  discard block
 block discarded – undo
1036 1173
 	function getHierarchyDelimiter($_useCache=true)
1037 1174
 	{
1038 1175
 		static $HierarchyDelimiter = null;
1039
-		if (is_null($HierarchyDelimiter)) $HierarchyDelimiter = Cache::getCache(Cache::INSTANCE,'email','HierarchyDelimiter'.trim($GLOBALS['egw_info']['user']['account_id']),null,array(),60*60*24*5);
1040
-		if ($_useCache===false) unset($HierarchyDelimiter[$this->icServer->ImapServerId]);
1176
+		if (is_null($HierarchyDelimiter))
1177
+		{
1178
+			$HierarchyDelimiter = Cache::getCache(Cache::INSTANCE,'email','HierarchyDelimiter'.trim($GLOBALS['egw_info']['user']['account_id']),null,array(),60*60*24*5);
1179
+		}
1180
+		if ($_useCache===false)
1181
+		{
1182
+			unset($HierarchyDelimiter[$this->icServer->ImapServerId]);
1183
+		}
1041 1184
 		if (isset($HierarchyDelimiter[$this->icServer->ImapServerId])&&!empty($HierarchyDelimiter[$this->icServer->ImapServerId]))
1042 1185
 		{
1043 1186
 			return $HierarchyDelimiter[$this->icServer->ImapServerId];
@@ -1071,14 +1214,19 @@  discard block
 block discarded – undo
1071 1214
 	{
1072 1215
 		//error_log(__METHOD__.' ('.__LINE__.') '.':'.$this->icServer->ImapServerId.' Connected:'.$this->icServer->_connected);
1073 1216
 		static $_specialUseFolders = null;
1074
-		if (is_null($_specialUseFolders)||empty($_specialUseFolders)) $_specialUseFolders = Cache::getCache(Cache::INSTANCE,'email','specialUseFolders'.trim($GLOBALS['egw_info']['user']['account_id']),null,array(),60*60*24*5);
1217
+		if (is_null($_specialUseFolders)||empty($_specialUseFolders))
1218
+		{
1219
+			$_specialUseFolders = Cache::getCache(Cache::INSTANCE,'email','specialUseFolders'.trim($GLOBALS['egw_info']['user']['account_id']),null,array(),60*60*24*5);
1220
+		}
1075 1221
 		//error_log(__METHOD__.' ('.__LINE__.') '.array2string($this->icServer->acc_folder_trash));
1076 1222
 		//error_log(__METHOD__.' ('.__LINE__.') '.array2string($this->icServer->acc_folder_sent));
1077 1223
 		//error_log(__METHOD__.' ('.__LINE__.') '.array2string($this->icServer->acc_folder_draft));
1078 1224
 		//error_log(__METHOD__.' ('.__LINE__.') '.array2string($this->icServer->acc_folder_template));
1079 1225
 		self::$specialUseFolders = $_specialUseFolders[$this->icServer->ImapServerId];
1080 1226
 		if (isset($_specialUseFolders[$this->icServer->ImapServerId]) && !empty($_specialUseFolders[$this->icServer->ImapServerId]))
1081
-			return $_specialUseFolders[$this->icServer->ImapServerId];
1227
+		{
1228
+					return $_specialUseFolders[$this->icServer->ImapServerId];
1229
+		}
1082 1230
 		$_specialUseFolders[$this->icServer->ImapServerId]=array();
1083 1231
 		//if (!empty($this->icServer->acc_folder_trash) && !isset($_specialUseFolders[$this->icServer->ImapServerId][$this->icServer->acc_folder_trash]))
1084 1232
 			$_specialUseFolders[$this->icServer->ImapServerId][$this->icServer->acc_folder_trash]='Trash';
@@ -1106,7 +1254,8 @@  discard block
 block discarded – undo
1106 1254
 	function folderIsSelectable($folderToSelect)
1107 1255
 	{
1108 1256
 		$retval = true;
1109
-		if($folderToSelect && ($folderStatus = $this->getFolderStatus($folderToSelect,false,true))) {
1257
+		if($folderToSelect && ($folderStatus = $this->getFolderStatus($folderToSelect,false,true)))
1258
+		{
1110 1259
 			if (!empty($folderStatus['attributes']) && stripos(array2string($folderStatus['attributes']),'noselect')!==false)
1111 1260
 			{
1112 1261
 				$retval = false;
@@ -1159,7 +1308,10 @@  discard block
 block discarded – undo
1159 1308
 	 */
1160 1309
 	function getFolderStatus($_folderName,$ignoreStatusCache=false,$basicInfoOnly=false,$fetchSubscribedInfo=true)
1161 1310
 	{
1162
-		if (self::$debug) error_log(__METHOD__.' ('.__LINE__.') '." called with:$_folderName,$ignoreStatusCache,$basicInfoOnly");
1311
+		if (self::$debug)
1312
+		{
1313
+			error_log(__METHOD__.' ('.__LINE__.') '." called with:$_folderName,$ignoreStatusCache,$basicInfoOnly");
1314
+		}
1163 1315
 		if (!is_string($_folderName) || empty($_folderName)||(isset(self::$profileDefunct[$this->profileID]) && strlen(self::$profileDefunct[$this->profileID])))
1164 1316
 		{
1165 1317
 			// something is wrong. Do not proceed. either no folder or profile is marked as defunct for this request
@@ -1171,7 +1323,10 @@  discard block
 block discarded – undo
1171 1323
 		{
1172 1324
 			$folderInfoCache = $folderBasicInfo[$this->profileID];
1173 1325
 		}
1174
-		if (isset($folderInfoCache[$_folderName]) && $ignoreStatusCache==false && $basicInfoOnly) return $folderInfoCache[$_folderName];
1326
+		if (isset($folderInfoCache[$_folderName]) && $ignoreStatusCache==false && $basicInfoOnly)
1327
+		{
1328
+			return $folderInfoCache[$_folderName];
1329
+		}
1175 1330
 		$retValue = array();
1176 1331
 		$retValue['subscribed'] = false;
1177 1332
 /*
@@ -1200,7 +1355,10 @@  discard block
 block discarded – undo
1200 1355
 			if (is_array($ret))
1201 1356
 			{
1202 1357
 				$retkeys = array_keys($ret);
1203
-				if ($retkeys[0]==$_folderName) $folderInfoCache[$_folderName] = $ret[$retkeys[0]];
1358
+				if ($retkeys[0]==$_folderName)
1359
+				{
1360
+					$folderInfoCache[$_folderName] = $ret[$retkeys[0]];
1361
+				}
1204 1362
 			}
1205 1363
 			else
1206 1364
 			{
@@ -1209,7 +1367,8 @@  discard block
 block discarded – undo
1209 1367
 		}
1210 1368
 		$folderInfo = $folderInfoCache[$_folderName];
1211 1369
 		//error_log(__METHOD__.' ('.__LINE__.') '.array2string($folderInfo).'->'.function_backtrace());
1212
-		if($ignoreStatusCache||!$folderInfo|| !is_array($folderInfo)) {
1370
+		if($ignoreStatusCache||!$folderInfo|| !is_array($folderInfo))
1371
+		{
1213 1372
 			try
1214 1373
 			{
1215 1374
 				$folderInfo = $this->_getStatus($_folderName,$ignoreStatusCache);
@@ -1244,7 +1403,8 @@  discard block
 block discarded – undo
1244 1403
 		$retValue['shortName']		= array_pop($shortNameParts);
1245 1404
 		$retValue['displayName']	= $_folderName;
1246 1405
 		$retValue['shortDisplayName']	= $retValue['shortName'];
1247
-		if(strtoupper($retValue['shortName']) == 'INBOX') {
1406
+		if(strtoupper($retValue['shortName']) == 'INBOX')
1407
+		{
1248 1408
 			$retValue['displayName']	= lang('INBOX');
1249 1409
 			$retValue['shortDisplayName']	= lang('INBOX');
1250 1410
 		}
@@ -1253,7 +1413,10 @@  discard block
 block discarded – undo
1253 1413
 		{
1254 1414
 			$retValue['displayName'] = $retValue['shortDisplayName'] = lang($retValue['shortName']);
1255 1415
 		}
1256
-		if ($folderInfo) $folderBasicInfo[$this->profileID][$_folderName]=$retValue;
1416
+		if ($folderInfo)
1417
+		{
1418
+			$folderBasicInfo[$this->profileID][$_folderName]=$retValue;
1419
+		}
1257 1420
 		//error_log(__METHOD__.' ('.__LINE__.') '.' '.$_folderName.array2string($retValue['attributes']));
1258 1421
 		if ($basicInfoOnly || (isset($retValue['attributes']) && stripos(array2string($retValue['attributes']),'noselect')!==false))
1259 1422
 		{
@@ -1265,24 +1428,34 @@  discard block
 block discarded – undo
1265 1428
 		static $subscribedFolders = null;
1266 1429
 		static $nameSpace = null;
1267 1430
 		static $prefix = null;
1268
-		if (is_null($nameSpace) || empty($nameSpace[$this->profileID])) $nameSpace[$this->profileID] = $this->_getNameSpaces();
1431
+		if (is_null($nameSpace) || empty($nameSpace[$this->profileID]))
1432
+		{
1433
+			$nameSpace[$this->profileID] = $this->_getNameSpaces();
1434
+		}
1269 1435
 		if (!empty($nameSpace[$this->profileID]))
1270 1436
 		{
1271 1437
 			$nsNoPersonal=array();
1272 1438
 			foreach($nameSpace[$this->profileID] as &$ns)
1273 1439
 			{
1274
-				if ($ns['type']!='personal') $nsNoPersonal[]=$ns;
1440
+				if ($ns['type']!='personal')
1441
+				{
1442
+					$nsNoPersonal[]=$ns;
1443
+				}
1275 1444
 			}
1276 1445
 			$nameSpace[$this->profileID]=$nsNoPersonal;
1277 1446
 		}
1278
-		if (is_null($prefix) || empty($prefix[$this->profileID]) || empty($prefix[$this->profileID][$_folderName])) $prefix[$this->profileID][$_folderName] = $this->getFolderPrefixFromNamespace($nameSpace[$this->profileID], $_folderName);
1447
+		if (is_null($prefix) || empty($prefix[$this->profileID]) || empty($prefix[$this->profileID][$_folderName]))
1448
+		{
1449
+			$prefix[$this->profileID][$_folderName] = $this->getFolderPrefixFromNamespace($nameSpace[$this->profileID], $_folderName);
1450
+		}
1279 1451
 
1280 1452
 		if ($fetchSubscribedInfo && is_null($subscribedFolders) || empty($subscribedFolders[$this->profileID]))
1281 1453
 		{
1282 1454
 			$subscribedFolders[$this->profileID] = $this->icServer->listSubscribedMailboxes();
1283 1455
 		}
1284 1456
 
1285
-		if($fetchSubscribedInfo && is_array($subscribedFolders[$this->profileID]) && in_array($_folderName,$subscribedFolders[$this->profileID])) {
1457
+		if($fetchSubscribedInfo && is_array($subscribedFolders[$this->profileID]) && in_array($_folderName,$subscribedFolders[$this->profileID]))
1458
+		{
1286 1459
 			$retValue['subscribed'] = true;
1287 1460
 		}
1288 1461
 
@@ -1301,8 +1474,7 @@  discard block
 block discarded – undo
1301 1474
 				(isset($this->mailPreferences['trustServersUnseenInfo']) &&
1302 1475
 				$this->mailPreferences['trustServersUnseenInfo']==2 &&
1303 1476
 				$prefix[$this->profileID][$_folderName] != '' && stripos($_folderName,$prefix[$this->profileID][$_folderName]) !== false)
1304
-			)
1305
-			{
1477
+			) {
1306 1478
 				//error_log(__METHOD__." returned folderStatus for Folder $_folderName:".print_r($prefix,true).' TS:'.$this->mailPreferences['trustServersUnseenInfo']);
1307 1479
 				// we filter for the combined status of unseen and undeleted, as this is what we show in list
1308 1480
 				try
@@ -1314,13 +1486,19 @@  discard block
 block discarded – undo
1314 1486
 				}
1315 1487
 				catch (\Exception $ee)
1316 1488
 				{
1317
-					if (self::$debug) error_log(__METHOD__." could not fetch/calculate unseen counter for $_folderName Reason:'".$ee->getMessage()."' but requested.");
1489
+					if (self::$debug)
1490
+					{
1491
+						error_log(__METHOD__." could not fetch/calculate unseen counter for $_folderName Reason:'".$ee->getMessage()."' but requested.");
1492
+					}
1318 1493
 				}
1319 1494
 			}
1320 1495
 		}
1321 1496
 		catch (\Exception $e)
1322 1497
 		{
1323
-			if (self::$debug) error_log(__METHOD__." returned folderStatus for Folder $_folderName:".print_r($e->getMessage(),true));
1498
+			if (self::$debug)
1499
+			{
1500
+				error_log(__METHOD__." returned folderStatus for Folder $_folderName:".print_r($e->getMessage(),true));
1501
+			}
1324 1502
 		}
1325 1503
 
1326 1504
 		return $retValue;
@@ -1345,8 +1523,14 @@  discard block
 block discarded – undo
1345 1523
 	function getHeaders($_folderName, $_startMessage, $_numberOfMessages, $_sort, $_reverse, $_filter, $_thisUIDOnly=null, $_cacheResult=true, $_fetchPreviews=false)
1346 1524
 	{
1347 1525
 		//self::$debug=true;
1348
-		if (self::$debug) error_log(__METHOD__.' ('.__LINE__.') '.function_backtrace());
1349
-		if (self::$debug) error_log(__METHOD__.' ('.__LINE__.') '."$_folderName,$_startMessage, $_numberOfMessages, $_sort, $_reverse, ".array2string($_filter).", $_thisUIDOnly");
1526
+		if (self::$debug)
1527
+		{
1528
+			error_log(__METHOD__.' ('.__LINE__.') '.function_backtrace());
1529
+		}
1530
+		if (self::$debug)
1531
+		{
1532
+			error_log(__METHOD__.' ('.__LINE__.') '."$_folderName,$_startMessage, $_numberOfMessages, $_sort, $_reverse, ".array2string($_filter).", $_thisUIDOnly");
1533
+		}
1350 1534
 		$reverse = (bool)$_reverse;
1351 1535
 		// get the list of messages to fetch
1352 1536
 		$this->reopen($_folderName);
@@ -1367,21 +1551,34 @@  discard block
 block discarded – undo
1367 1551
 				//$_filter['range'] ="$start:$end";
1368 1552
 				//$_filter['range'] ="$_startMessage:*";
1369 1553
 			}
1370
-			if (self::$debug) error_log(__METHOD__.' ('.__LINE__.') '."$_folderName, $_sort, $reverse, ".array2string($_filter).", $rByUid");
1371
-			if (self::$debug||self::$debugTimes) $starttime = microtime (true);
1554
+			if (self::$debug)
1555
+			{
1556
+				error_log(__METHOD__.' ('.__LINE__.') '."$_folderName, $_sort, $reverse, ".array2string($_filter).", $rByUid");
1557
+			}
1558
+			if (self::$debug||self::$debugTimes)
1559
+			{
1560
+				$starttime = microtime (true);
1561
+			}
1372 1562
 			//see this example below for a 12 week datefilter (since)
1373 1563
 			//$_filter = array('status'=>array('UNDELETED'),'type'=>"SINCE",'string'=> date("d-M-Y", $starttime-(3600*24*7*12)));
1374 1564
 			$_sortResult = $this->getSortedList($_folderName, $_sort, $reverse, $_filter, $rByUid, $_cacheResult);
1375 1565
 			$sortResult = $_sortResult['match']->ids;
1376 1566
 			//$modseq = $_sortResult['modseq'];
1377 1567
 			//error_log(__METHOD__.' ('.__LINE__.') '.'Modsequence:'.$modseq);
1378
-			if (self::$debug||self::$debugTimes) self::logRunTimes($starttime,null,' call getSortedList for Folder:'.$_folderName.' Filter:'.array2string($_filter).' Ids:'.array2string($_thisUIDOnly),__METHOD__.' ('.__LINE__.') ');
1568
+			if (self::$debug||self::$debugTimes)
1569
+			{
1570
+				self::logRunTimes($starttime,null,' call getSortedList for Folder:'.$_folderName.' Filter:'.array2string($_filter).' Ids:'.array2string($_thisUIDOnly),__METHOD__.' ('.__LINE__.') ');
1571
+			}
1379 1572
 
1380
-			if (self::$debug) error_log(__METHOD__.' ('.__LINE__.') '.array2string($sortResult));
1573
+			if (self::$debug)
1574
+			{
1575
+				error_log(__METHOD__.' ('.__LINE__.') '.array2string($sortResult));
1576
+			}
1381 1577
 			#$this->icServer->setDebug(false);
1382 1578
 			#print "</pre>";
1383 1579
 			// nothing found
1384
-			if(!is_array($sortResult) || empty($sortResult)) {
1580
+			if(!is_array($sortResult) || empty($sortResult))
1581
+			{
1385 1582
 				$retValue = array();
1386 1583
 				$retValue['info']['total']	= 0;
1387 1584
 				$retValue['info']['first']	= 0;
@@ -1393,7 +1590,8 @@  discard block
 block discarded – undo
1393 1590
 			#_debug_array($sortResult);
1394 1591
 			#_debug_array(array_slice($sortResult, -5, -2));
1395 1592
 			//error_log("REVERSE: $reverse");
1396
-			if($reverse === true) {
1593
+			if($reverse === true)
1594
+			{
1397 1595
 				if  ($_startMessage<=$total)
1398 1596
 				{
1399 1597
 					$startMessage = $_startMessage-1;
@@ -1405,7 +1603,10 @@  discard block
 block discarded – undo
1405 1603
 					{
1406 1604
 						$numberOfMessages = $total%$_numberOfMessages;
1407 1605
 						//$numberOfMessages = abs($_startMessage-$total-1);
1408
-						if ($numberOfMessages>0 && $numberOfMessages<=$_numberOfMessages) $_numberOfMessages = $numberOfMessages;
1606
+						if ($numberOfMessages>0 && $numberOfMessages<=$_numberOfMessages)
1607
+						{
1608
+							$_numberOfMessages = $numberOfMessages;
1609
+						}
1409 1610
 						//error_log(__METHOD__.' ('.__LINE__.') '.' Start:'.$_startMessage.' NumberOfMessages:'.$_numberOfMessages.' Total:'.$total);
1410 1611
 					}
1411 1612
 					$startMessage=($total-$_numberOfMessages)-1;
@@ -1419,19 +1620,36 @@  discard block
 block discarded – undo
1419 1620
 					//$retValue['info']['first'] = $startMessage;
1420 1621
 					//$retValue['info']['last'] = $total;
1421 1622
 				}
1422
-				if($startMessage > 0) {
1423
-					if (self::$debug) error_log(__METHOD__.' ('.__LINE__.') '.' StartMessage:'.(-($_numberOfMessages+$startMessage)).', '.-$startMessage.' Number of Messages:'.count($sortResult));
1623
+				if($startMessage > 0)
1624
+				{
1625
+					if (self::$debug)
1626
+					{
1627
+						error_log(__METHOD__.' ('.__LINE__.') '.' StartMessage:'.(-($_numberOfMessages+$startMessage)).', '.-$startMessage.' Number of Messages:'.count($sortResult));
1628
+					}
1424 1629
 					$sortResult = array_slice($sortResult, -($_numberOfMessages+$startMessage), -$startMessage);
1425
-				} else {
1426
-					if (self::$debug) error_log(__METHOD__.' ('.__LINE__.') '.' StartMessage:'.(-($_numberOfMessages+($_startMessage-1))).', AllTheRest, Number of Messages:'.count($sortResult));
1630
+				}
1631
+				else
1632
+				{
1633
+					if (self::$debug)
1634
+					{
1635
+						error_log(__METHOD__.' ('.__LINE__.') '.' StartMessage:'.(-($_numberOfMessages+($_startMessage-1))).', AllTheRest, Number of Messages:'.count($sortResult));
1636
+					}
1427 1637
 					$sortResult = array_slice($sortResult, -($_numberOfMessages+($_startMessage-1)));
1428 1638
 				}
1429 1639
 				$sortResult = array_reverse($sortResult);
1430
-			} else {
1431
-				if (self::$debug) error_log(__METHOD__.' ('.__LINE__.') '.' StartMessage:'.($_startMessage-1).', '.$_numberOfMessages.' Number of Messages:'.count($sortResult));
1640
+			}
1641
+			else
1642
+			{
1643
+				if (self::$debug)
1644
+				{
1645
+					error_log(__METHOD__.' ('.__LINE__.') '.' StartMessage:'.($_startMessage-1).', '.$_numberOfMessages.' Number of Messages:'.count($sortResult));
1646
+				}
1432 1647
 				$sortResult = array_slice($sortResult, $_startMessage-1, $_numberOfMessages);
1433 1648
 			}
1434
-			if (self::$debug) error_log(__METHOD__.' ('.__LINE__.') '.array2string($sortResult));
1649
+			if (self::$debug)
1650
+			{
1651
+				error_log(__METHOD__.' ('.__LINE__.') '.array2string($sortResult));
1652
+			}
1435 1653
 		}
1436 1654
 		else
1437 1655
 		{
@@ -1440,7 +1658,10 @@  discard block
 block discarded – undo
1440 1658
 
1441 1659
 
1442 1660
 		// fetch the data for the selected messages
1443
-		if (self::$debug||self::$debugTimes) $starttime = microtime(true);
1661
+		if (self::$debug||self::$debugTimes)
1662
+		{
1663
+			$starttime = microtime(true);
1664
+		}
1444 1665
 		try
1445 1666
 		{
1446 1667
 			$uidsToFetch = new Horde_Imap_Client_Ids();
@@ -1464,7 +1685,10 @@  discard block
 block discarded – undo
1464 1685
 			$fquery->flags();
1465 1686
 			$fquery->imapDate();// needed to ensure getImapDate fetches the internaldate, not the current time
1466 1687
 			// if $_fetchPreviews is activated fetch part of the messages too
1467
-			if ($_fetchPreviews) $fquery->fullText(array('peek'=>true,'length'=>((int)$_fetchPreviews<5000?5000:$_fetchPreviews),'start'=>0));
1688
+			if ($_fetchPreviews)
1689
+			{
1690
+				$fquery->fullText(array('peek'=>true,'length'=>((int)$_fetchPreviews<5000?5000:$_fetchPreviews),'start'=>0));
1691
+			}
1468 1692
 			$headersNew = $this->icServer->fetch($_folderName, $fquery, array(
1469 1693
 				'ids' => $uidsToFetch,
1470 1694
 			));
@@ -1487,14 +1711,20 @@  discard block
 block discarded – undo
1487 1711
 
1488 1712
 		$cnt = 0;
1489 1713
 
1490
-		foreach((array)$sortResult as $uid) {
1714
+		foreach((array)$sortResult as $uid)
1715
+		{
1491 1716
 			$sortOrder[$uid] = $cnt++;
1492 1717
 		}
1493 1718
 
1494 1719
 		$count = 0;
1495
-		if (is_object($headersNew)) {
1496
-			if (self::$debug||self::$debugTimes) $starttime = microtime(true);
1497
-			foreach($headersNew->ids() as $id) {
1720
+		if (is_object($headersNew))
1721
+		{
1722
+			if (self::$debug||self::$debugTimes)
1723
+			{
1724
+				$starttime = microtime(true);
1725
+			}
1726
+			foreach($headersNew->ids() as $id)
1727
+			{
1498 1728
 				$_headerObject = $headersNew->get($id);
1499 1729
 				//error_log(__METHOD__.' ('.__LINE__.') '.array2string($_headerObject));
1500 1730
 				$headerObject = array();
@@ -1507,7 +1737,10 @@  discard block
 block discarded – undo
1507 1737
 				// Get already cached headers, 'fetchHeaders' is a label matchimg above
1508 1738
 				$headerForPrio = $_headerObject->getHeaders('fetchHeaders',Horde_Imap_Client_Data_Fetch::HEADER_PARSE)->toArray();
1509 1739
 				// Try to fetch header with key='' as some servers might have no fetchHeaders index. e.g. yandex.com
1510
-				if (empty($headerForPrio)) $headerForPrio = $_headerObject->getHeaders('',Horde_Imap_Client_Data_Fetch::HEADER_PARSE)->toArray();
1740
+				if (empty($headerForPrio))
1741
+				{
1742
+					$headerForPrio = $_headerObject->getHeaders('',Horde_Imap_Client_Data_Fetch::HEADER_PARSE)->toArray();
1743
+				}
1511 1744
 				//fetch the fullMsg part if all conditions match to be available in case $_headerObject->getHeaders returns
1512 1745
 				//nothing worthwhile (as it does for googlemail accounts, when preview is switched on
1513 1746
 				if ($_fetchPreviews)
@@ -1518,12 +1751,16 @@  discard block
 block discarded – undo
1518 1751
 					if (empty($headerForPrio)||(is_array($headerForPrio)&&count($headerForPrio)===1&&$headerForPrio['']))
1519 1752
 					{
1520 1753
 						$length = strpos($bodyPreview, Horde_Mime_Part::RFC_EOL.Horde_Mime_Part::RFC_EOL);
1521
-						if ($length===false) $length = strlen($bodyPreview);
1754
+						if ($length===false)
1755
+						{
1756
+							$length = strlen($bodyPreview);
1757
+						}
1522 1758
 						$headerForPrio =  Horde_Mime_Headers::parseHeaders(substr($bodyPreview, 0,$length))->toArray();
1523 1759
 					}
1524 1760
 				}
1525 1761
 				$headerForPrio = array_change_key_case($headerForPrio, CASE_UPPER);
1526
-				if (self::$debug) {
1762
+				if (self::$debug)
1763
+				{
1527 1764
 					error_log(__METHOD__.' ('.__LINE__.') '.array2string($_headerObject).'UID:'.$_headerObject->getUid().' Size:'.$_headerObject->getSize().' Date:'.$_headerObject->getImapDate().'/'.DateTime::to($_headerObject->getImapDate(),'Y-m-d H:i:s'));
1528 1765
 					error_log(__METHOD__.' ('.__LINE__.') '.array2string($headerForPrio));
1529 1766
 				}
@@ -1533,11 +1770,16 @@  discard block
 block discarded – undo
1533 1770
 					$total--;
1534 1771
 					continue;
1535 1772
 				}
1536
-				if ( isset($headerForPrio['DISPOSITION-NOTIFICATION-TO']) ) {
1773
+				if ( isset($headerForPrio['DISPOSITION-NOTIFICATION-TO']) )
1774
+				{
1537 1775
 					$headerObject['DISPOSITION-NOTIFICATION-TO'] = self::decode_header(trim($headerForPrio['DISPOSITION-NOTIFICATION-TO']));
1538
-				} else if ( isset($headerForPrio['RETURN-RECEIPT-TO']) ) {
1776
+				}
1777
+				else if ( isset($headerForPrio['RETURN-RECEIPT-TO']) )
1778
+				{
1539 1779
 					$headerObject['DISPOSITION-NOTIFICATION-TO'] = self::decode_header(trim($headerForPrio['RETURN-RECEIPT-TO']));
1540
-				} else if ( isset($headerForPrio['X-CONFIRM-READING-TO']) ) {
1780
+				}
1781
+				else if ( isset($headerForPrio['X-CONFIRM-READING-TO']) )
1782
+				{
1541 1783
 					$headerObject['DISPOSITION-NOTIFICATION-TO'] = self::decode_header(trim($headerForPrio['X-CONFIRM-READING-TO']));
1542 1784
 				} /*else $sent_not = "";*/
1543 1785
 				//error_log(__METHOD__.' ('.__LINE__.') '.array2string($headerObject));
@@ -1569,7 +1811,11 @@  discard block
 block discarded – undo
1569 1811
 						$rfcAddr = self::parseAddressList($ad); // does some fixing of known problems too
1570 1812
 						foreach ($rfcAddr as $_rfcAddr)
1571 1813
 						{
1572
-							if (!$_rfcAddr->valid)	continue; // skip. not a valid address
1814
+							if (!$_rfcAddr->valid)
1815
+							{
1816
+								continue;
1817
+							}
1818
+							// skip. not a valid address
1573 1819
 							$address[] = imap_rfc822_write_address($_rfcAddr->mailbox,$_rfcAddr->host,$_rfcAddr->personal);
1574 1820
 						}
1575 1821
 					}
@@ -1585,7 +1831,10 @@  discard block
 block discarded – undo
1585 1831
 				{
1586 1832
 					// $bodyPreview is populated at the beginning of the loop, as it may be
1587 1833
 					// needed to parse the Headers of the Message
1588
-					if (empty($bodyPreview)) $bodyPreview = $_headerObject->getFullMsg();
1834
+					if (empty($bodyPreview))
1835
+					{
1836
+						$bodyPreview = $_headerObject->getFullMsg();
1837
+					}
1589 1838
 					//error_log(__METHOD__.' ('.__LINE__.') '.array2string($bodyPreview));
1590 1839
 					$base = Horde_Mime_Part::parseMessage($bodyPreview);
1591 1840
 					foreach($base->partIterator() as $part)
@@ -1598,7 +1847,8 @@  discard block
 block discarded – undo
1598 1847
 												'encode' => Horde_Mime_Part::ENCODE_BINARY,	// otherwise we cant recode charset
1599 1848
 											)), $charset, 'utf-8');
1600 1849
 							$headerObject['BODYPREVIEW']=trim(str_replace(array("\r\n","\r","\n"),' ',mb_substr(Translation::convert_jsonsafe($buffer),0,((int)$_fetchPreviews<300?300:$_fetchPreviews))));
1601
-						} elseif (empty($headerObject['BODYPREVIEW'])&&$part->getPrimaryType()== 'multipart')
1850
+						}
1851
+						elseif (empty($headerObject['BODYPREVIEW'])&&$part->getPrimaryType()== 'multipart')
1602 1852
 						{
1603 1853
 							//error_log(__METHOD__.' ('.__LINE__.') '.array2string($part));
1604 1854
 						}
@@ -1614,7 +1864,10 @@  discard block
 block discarded – undo
1614 1864
 				$messageMimeType='';
1615 1865
 				foreach ($mailStructureObject->contentTypeMap() as $mime_id => $mime_type)
1616 1866
 				{
1617
-					if ($mime_id==0 || $messageMimeType==='') $messageMimeType = $mime_type;
1867
+					if ($mime_id==0 || $messageMimeType==='')
1868
+					{
1869
+						$messageMimeType = $mime_type;
1870
+					}
1618 1871
 					$part = $mailStructureObject->getPart($mime_id);
1619 1872
 					$partdisposition = $part->getDisposition();
1620 1873
 					$partPrimaryType = $part->getPrimaryType();
@@ -1624,7 +1877,8 @@  discard block
 block discarded – undo
1624 1877
 					// bodypreview could be found (multipart/....)
1625 1878
 					if ($_fetchPreviews && empty($headerObject['BODYPREVIEW'])&&($partPrimaryType == 'text') &&
1626 1879
 						((intval($mime_id) === 1) || !$mime_id) &&
1627
-						($partdisposition !== 'attachment')) {
1880
+						($partdisposition !== 'attachment'))
1881
+					{
1628 1882
 							$_structure=$part;
1629 1883
 							$this->fetchPartContents($uid, $_structure, false,true);
1630 1884
 							$headerObject['BODYPREVIEW']=trim(str_replace(array("\r\n","\r","\n"),' ',mb_substr(Mail\Html::convertHTMLToText($_structure->getContents()),0,((int)$_fetchPreviews<300?300:$_fetchPreviews))));
@@ -1646,10 +1900,19 @@  discard block
 block discarded – undo
1646 1900
 					if ($mime_type=='message/rfc822')
1647 1901
 					{
1648 1902
 						//error_log(__METHOD__.' ('.__LINE__.') '.' Uid:'.$uid.'->'.$mime_id.':'.array2string($part->contentTypeMap()));
1649
-						foreach($part->contentTypeMap() as $sub_id => $sub_type) { if ($sub_id != $mime_id) $skipParts[$sub_id] = $sub_type;}
1903
+						foreach($part->contentTypeMap() as $sub_id => $sub_type)
1904
+						{
1905
+if ($sub_id != $mime_id)
1906
+						{
1907
+							$skipParts[$sub_id] = $sub_type;
1908
+						}
1909
+						}
1650 1910
 					}
1651 1911
 					//error_log(__METHOD__.' ('.__LINE__.') '.' Uid:'.$uid.'->'.$mime_id.' Disp:'.$partdisposition.' Type:'.$partPrimaryType.' Skip:'.array2string($skipParts));
1652
-					if (array_key_exists($mime_id,$skipParts)) continue;
1912
+					if (array_key_exists($mime_id,$skipParts))
1913
+					{
1914
+						continue;
1915
+					}
1653 1916
 					if ($partdisposition=='attachment' ||
1654 1917
 						($partdisposition=='inline'&&$partPrimaryType == 'image'&&$mime_type=='image/tiff') || // as we are not able to display tiffs
1655 1918
 						($partdisposition=='inline'&&$partPrimaryType == 'image'&&empty($cid)) ||
@@ -1660,7 +1923,10 @@  discard block
 block discarded – undo
1660 1923
 						$headerObject['ATTACHMENTS'][$mime_id]['uid']=$uid;
1661 1924
 						$headerObject['ATTACHMENTS'][$mime_id]['cid'] = $cid;
1662 1925
 						$headerObject['ATTACHMENTS'][$mime_id]['partID']=$mime_id;
1663
-						if (!isset($headerObject['ATTACHMENTS'][$mime_id]['name']))$headerObject['ATTACHMENTS'][$mime_id]['name']=$part->getName();
1926
+						if (!isset($headerObject['ATTACHMENTS'][$mime_id]['name']))
1927
+						{
1928
+							$headerObject['ATTACHMENTS'][$mime_id]['name']=$part->getName();
1929
+						}
1664 1930
 						if (!strcasecmp($headerObject['ATTACHMENTS'][$mime_id]['name'],'winmail.dat') ||
1665 1931
 							$headerObject['ATTACHMENTS'][$mime_id]['mimeType']=='application/ms-tnef')
1666 1932
 						{
@@ -1674,18 +1940,27 @@  discard block
 block discarded – undo
1674 1940
 				//error_log(__METHOD__.' ('.__LINE__.') '.' FindBody (plain):'.array2string($mailStructureObject->findBody('plain')));
1675 1941
 				//error_log(__METHOD__.' ('.__LINE__.') '.' FindBody (html):'.array2string($mailStructureObject->findBody('html')));
1676 1942
 				//if($count == 0) error_log(__METHOD__.array2string($headerObject));
1677
-				if (empty($headerObject['UID'])) continue;
1943
+				if (empty($headerObject['UID']))
1944
+				{
1945
+					continue;
1946
+				}
1678 1947
 				//$uid = ($rByUid ? $headerObject['UID'] : $headerObject['MSG_NUM']);
1679 1948
 				// make dates like "Mon, 23 Apr 2007 10:11:06 UT" working with strtotime
1680
-				if(substr($headerObject['DATE'],-2) === 'UT') {
1949
+				if(substr($headerObject['DATE'],-2) === 'UT')
1950
+				{
1681 1951
 					$headerObject['DATE'] .= 'C';
1682 1952
 				}
1683
-				if(substr($headerObject['INTERNALDATE'],-2) === 'UT') {
1953
+				if(substr($headerObject['INTERNALDATE'],-2) === 'UT')
1954
+				{
1684 1955
 					$headerObject['INTERNALDATE'] .= 'C';
1685 1956
 				}
1686 1957
 				//error_log(__METHOD__.' ('.__LINE__.') '.' '.$headerObject['SUBJECT'].'->'.$headerObject['DATE'].'<->'.$headerObject['INTERNALDATE'] .'#');
1687 1958
 				//error_log(__METHOD__.' ('.__LINE__.') '.' '.$this->decode_subject($headerObject['SUBJECT']).'->'.$headerObject['DATE']);
1688
-				if (isset($headerObject['ATTACHMENTS']) && count($headerObject['ATTACHMENTS'])) foreach ($headerObject['ATTACHMENTS'] as &$a) { $retValue['header'][$sortOrder[$uid]]['attachments'][]=$a;}
1959
+				if (isset($headerObject['ATTACHMENTS']) && count($headerObject['ATTACHMENTS']))
1960
+				{
1961
+					foreach ($headerObject['ATTACHMENTS'] as &$a) { $retValue['header'][$sortOrder[$uid]]['attachments'][]=$a;
1962
+				}
1963
+				}
1689 1964
 				$retValue['header'][$sortOrder[$uid]]['subject']	= $this->decode_subject($headerObject['SUBJECT']);
1690 1965
 				$retValue['header'][$sortOrder[$uid]]['size'] 		= $headerObject['SIZE'];
1691 1966
 				$retValue['header'][$sortOrder[$uid]]['date']		= self::_strtotime(($headerObject['DATE']&&!($headerObject['DATE']=='NIL')?$headerObject['DATE']:$headerObject['INTERNALDATE']),'ts',true);
@@ -1696,25 +1971,35 @@  discard block
 block discarded – undo
1696 1971
 				$retValue['header'][$sortOrder[$uid]]['bodypreview']		= $headerObject['BODYPREVIEW'];
1697 1972
 				$retValue['header'][$sortOrder[$uid]]['priority']		= ($headerObject['PRIORITY']?$headerObject['PRIORITY']:3);
1698 1973
 				//error_log(__METHOD__.' ('.__LINE__.') '.' '.array2string($retValue['header'][$sortOrder[$uid]]));
1699
-				if (isset($headerObject['DISPOSITION-NOTIFICATION-TO'])) $retValue['header'][$sortOrder[$uid]]['disposition-notification-to'] = $headerObject['DISPOSITION-NOTIFICATION-TO'];
1700
-				if (is_array($headerObject['FLAGS'])) {
1974
+				if (isset($headerObject['DISPOSITION-NOTIFICATION-TO']))
1975
+				{
1976
+					$retValue['header'][$sortOrder[$uid]]['disposition-notification-to'] = $headerObject['DISPOSITION-NOTIFICATION-TO'];
1977
+				}
1978
+				if (is_array($headerObject['FLAGS']))
1979
+				{
1701 1980
 					$retValue['header'][$sortOrder[$uid]] = array_merge($retValue['header'][$sortOrder[$uid]],self::prepareFlagsArray($headerObject));
1702 1981
 				}
1703 1982
 				//error_log(__METHOD__.' ('.__LINE__.') '.$headerObject['SUBJECT'].'->'.array2string($_headerObject->getEnvelope()->__get('from')));
1704
-				if(is_array($headerObject['FROM']) && $headerObject['FROM'][0]) {
1983
+				if(is_array($headerObject['FROM']) && $headerObject['FROM'][0])
1984
+				{
1705 1985
 					$retValue['header'][$sortOrder[$uid]]['sender_address'] = self::decode_header($headerObject['FROM'][0],true);
1706 1986
 				}
1707
-				if(is_array($headerObject['REPLY-TO']) && $headerObject['REPLY-TO'][0]) {
1987
+				if(is_array($headerObject['REPLY-TO']) && $headerObject['REPLY-TO'][0])
1988
+				{
1708 1989
 					$retValue['header'][$sortOrder[$uid]]['reply_to_address'] = self::decode_header($headerObject['REPLY-TO'][0],true);
1709 1990
 				}
1710
-				if(is_array($headerObject['TO']) && $headerObject['TO'][0]) {
1991
+				if(is_array($headerObject['TO']) && $headerObject['TO'][0])
1992
+				{
1711 1993
 					$retValue['header'][$sortOrder[$uid]]['to_address'] = self::decode_header($headerObject['TO'][0],true);
1712 1994
 					if (count($headerObject['TO'])>1)
1713 1995
 					{
1714 1996
 						$ki=0;
1715 1997
 						foreach($headerObject['TO'] as $k => $add)
1716 1998
 						{
1717
-							if ($k==0) continue;
1999
+							if ($k==0)
2000
+							{
2001
+								continue;
2002
+							}
1718 2003
 							//error_log(__METHOD__.' ('.__LINE__.') '."-> $k:".array2string($add));
1719 2004
 							$retValue['header'][$sortOrder[$uid]]['additional_to_addresses'][$ki] = self::decode_header($add,true);
1720 2005
 							//error_log(__METHOD__.' ('.__LINE__.') '.array2string($retValue['header'][$sortOrder[$uid]]['additional_to_addresses'][$ki]));
@@ -1722,7 +2007,8 @@  discard block
 block discarded – undo
1722 2007
 						}
1723 2008
 					}
1724 2009
 				}
1725
-				if(is_array($headerObject['CC']) && count($headerObject['CC'])>0) {
2010
+				if(is_array($headerObject['CC']) && count($headerObject['CC'])>0)
2011
+				{
1726 2012
 					$ki=0;
1727 2013
 					foreach($headerObject['CC'] as $k => $add)
1728 2014
 					{
@@ -1736,27 +2022,41 @@  discard block
 block discarded – undo
1736 2022
 
1737 2023
 				$count++;
1738 2024
 			}
1739
-			if (self::$debug||self::$debugTimes) self::logRunTimes($starttime,null,' fetching Headers and stuff for Folder:'.$_folderName,__METHOD__.' ('.__LINE__.') ');
2025
+			if (self::$debug||self::$debugTimes)
2026
+			{
2027
+				self::logRunTimes($starttime,null,' fetching Headers and stuff for Folder:'.$_folderName,__METHOD__.' ('.__LINE__.') ');
2028
+			}
1740 2029
 			//self::$debug=false;
1741 2030
 			// sort the messages to the requested displayorder
1742
-			if(is_array($retValue['header'])) {
2031
+			if(is_array($retValue['header']))
2032
+			{
1743 2033
 				$countMessages = $total;
1744
-				if (isset($_filter['range'])) $countMessages = self::$folderStatusCache[$this->profileID][$_folderName]['messages'];
2034
+				if (isset($_filter['range']))
2035
+				{
2036
+					$countMessages = self::$folderStatusCache[$this->profileID][$_folderName]['messages'];
2037
+				}
1745 2038
 				ksort($retValue['header']);
1746 2039
 				$retValue['info']['total']	= $total;
1747 2040
 				//if ($_startMessage>$total) $_startMessage = $total-($count-1);
1748 2041
 				$retValue['info']['first']	= $_startMessage;
1749 2042
 				$retValue['info']['last']	= $_startMessage + $count - 1 ;
1750 2043
 				return $retValue;
1751
-			} else {
2044
+			}
2045
+			else
2046
+			{
1752 2047
 				$retValue = array();
1753 2048
 				$retValue['info']['total']	= 0;
1754 2049
 				$retValue['info']['first']	= 0;
1755 2050
 				$retValue['info']['last']	= 0;
1756 2051
 				return $retValue;
1757 2052
 			}
1758
-		} else {
1759
-			if ($headersNew == null && empty($_thisUIDOnly)) error_log(__METHOD__." -> retrieval of Message Details to Query $queryString failed: ".print_r($headersNew,TRUE));
2053
+		}
2054
+		else
2055
+		{
2056
+			if ($headersNew == null && empty($_thisUIDOnly))
2057
+			{
2058
+				error_log(__METHOD__." -> retrieval of Message Details to Query $queryString failed: ".print_r($headersNew,TRUE));
2059
+			}
1760 2060
 			$retValue = array();
1761 2061
 			$retValue['info']['total']  = 0;
1762 2062
 			$retValue['info']['first']  = 0;
@@ -1773,7 +2073,10 @@  discard block
 block discarded – undo
1773 2073
 	 */
1774 2074
 	static function prepareFlagsArray($headerObject)
1775 2075
 	{
1776
-		if (is_array($headerObject['FLAGS'])) $headerFlags = array_map('strtolower',$headerObject['FLAGS']);
2076
+		if (is_array($headerObject['FLAGS']))
2077
+		{
2078
+			$headerFlags = array_map('strtolower',$headerObject['FLAGS']);
2079
+		}
1777 2080
 		$retValue = array();
1778 2081
 		$retValue['recent']		= in_array('\\recent', $headerFlags);
1779 2082
 		$retValue['flagged']	= in_array('\\flagged', $headerFlags);
@@ -1824,26 +2127,45 @@  discard block
 block discarded – undo
1824 2127
 		//error_log(__METHOD__.' ('.__LINE__.') '.' Filter:'.array2string($_filter));
1825 2128
 		$try2useCache = true;
1826 2129
 		static $eMailListContainsDeletedMessages = null;
1827
-		if (is_null($eMailListContainsDeletedMessages)) $eMailListContainsDeletedMessages = Cache::getCache(Cache::INSTANCE,'email','eMailListContainsDeletedMessages'.trim($GLOBALS['egw_info']['user']['account_id']),null,array(),60*60*1);
2130
+		if (is_null($eMailListContainsDeletedMessages))
2131
+		{
2132
+			$eMailListContainsDeletedMessages = Cache::getCache(Cache::INSTANCE,'email','eMailListContainsDeletedMessages'.trim($GLOBALS['egw_info']['user']['account_id']),null,array(),60*60*1);
2133
+		}
1828 2134
 		// this indicates, that there is no Filter set, and the returned set/subset should not contain DELETED Messages, nor filtered for UNDELETED
1829 2135
 		if ($setSession==true && ((strpos(array2string($_filter), 'UNDELETED') === false && strpos(array2string($_filter), 'DELETED') === false)))
1830 2136
 		{
1831
-			if (self::$debugTimes) $starttime = microtime(true);
1832
-			if (is_null($eMailListContainsDeletedMessages) || empty($eMailListContainsDeletedMessages[$this->profileID]) || empty($eMailListContainsDeletedMessages[$this->profileID][$_folderName])) $eMailListContainsDeletedMessages = Cache::getCache(Cache::INSTANCE,'email','eMailListContainsDeletedMessages'.trim($GLOBALS['egw_info']['user']['account_id']),null,array(),60*60*1);
2137
+			if (self::$debugTimes)
2138
+			{
2139
+				$starttime = microtime(true);
2140
+			}
2141
+			if (is_null($eMailListContainsDeletedMessages) || empty($eMailListContainsDeletedMessages[$this->profileID]) || empty($eMailListContainsDeletedMessages[$this->profileID][$_folderName]))
2142
+			{
2143
+				$eMailListContainsDeletedMessages = Cache::getCache(Cache::INSTANCE,'email','eMailListContainsDeletedMessages'.trim($GLOBALS['egw_info']['user']['account_id']),null,array(),60*60*1);
2144
+			}
1833 2145
 			$five=true;
1834 2146
 			$dReverse=1;
1835 2147
 			$deletedMessages = $this->getSortedList($_folderName, 0, $dReverse, array('status'=>array('DELETED')),$five,false);
1836
-			if (self::$debug) error_log(__METHOD__.' ('.__LINE__.') Found DeletedMessages:'.array2string($eMailListContainsDeletedMessages));
1837
-			$eMailListContainsDeletedMessages[$this->profileID][$_folderName] =$deletedMessages['count'];
1838
-			Cache::setCache(Cache::INSTANCE,'email','eMailListContainsDeletedMessages'.trim($GLOBALS['egw_info']['user']['account_id']),$eMailListContainsDeletedMessages, 60*60*1);
1839
-			if (self::$debugTimes) self::logRunTimes($starttime,null,'setting eMailListContainsDeletedMessages for Profile:'.$this->profileID.' Folder:'.$_folderName.' to '.$eMailListContainsDeletedMessages[$this->profileID][$_folderName],__METHOD__.' ('.__LINE__.') ');			//error_log(__METHOD__.' ('.__LINE__.') '.' Profile:'.$this->profileID.' Folder:'.$_folderName.' -> EXISTS/SessStat:'.array2string($folderStatus['MESSAGES']).'/'.self::$folderStatusCache[$this->profileID][$_folderName]['messages'].' ListContDelMsg/SessDeleted:'.$eMailListContainsDeletedMessages[$this->profileID][$_folderName].'/'.self::$folderStatusCache[$this->profileID][$_folderName]['deleted']);
2148
+			if (self::$debug)
2149
+			{
2150
+				error_log(__METHOD__.' ('.__LINE__.') Found DeletedMessages:'.array2string($eMailListContainsDeletedMessages));
2151
+			}
2152
+			$eMailListContainsDeletedMessages[$this->profileID][$_folderName] =$deletedMessages['count'];
2153
+			Cache::setCache(Cache::INSTANCE,'email','eMailListContainsDeletedMessages'.trim($GLOBALS['egw_info']['user']['account_id']),$eMailListContainsDeletedMessages, 60*60*1);
2154
+			if (self::$debugTimes)
2155
+			{
2156
+				self::logRunTimes($starttime,null,'setting eMailListContainsDeletedMessages for Profile:'.$this->profileID.' Folder:'.$_folderName.' to '.$eMailListContainsDeletedMessages[$this->profileID][$_folderName],__METHOD__.' ('.__LINE__.') ');
2157
+			}
2158
+			//error_log(__METHOD__.' ('.__LINE__.') '.' Profile:'.$this->profileID.' Folder:'.$_folderName.' -> EXISTS/SessStat:'.array2string($folderStatus['MESSAGES']).'/'.self::$folderStatusCache[$this->profileID][$_folderName]['messages'].' ListContDelMsg/SessDeleted:'.$eMailListContainsDeletedMessages[$this->profileID][$_folderName].'/'.self::$folderStatusCache[$this->profileID][$_folderName]['deleted']);
1840 2159
 		}
1841 2160
 		$try2useCache = false;
1842 2161
 		//self::$supportsORinQuery[$this->profileID]=true;
1843 2162
 		if (is_null(self::$supportsORinQuery) || !isset(self::$supportsORinQuery[$this->profileID]))
1844 2163
 		{
1845 2164
 			self::$supportsORinQuery = Cache::getCache(Cache::INSTANCE,'email','supportsORinQuery'.trim($GLOBALS['egw_info']['user']['account_id']),null,array(),60*60*10);
1846
-			if (!isset(self::$supportsORinQuery[$this->profileID])) self::$supportsORinQuery[$this->profileID]=true;
2165
+			if (!isset(self::$supportsORinQuery[$this->profileID]))
2166
+			{
2167
+				self::$supportsORinQuery[$this->profileID]=true;
2168
+			}
1847 2169
 		}
1848 2170
 		//error_log(__METHOD__.' ('.__LINE__.') '.array2string($_filter).' SupportsOrInQuery:'.self::$supportsORinQuery[$this->profileID]);
1849 2171
 		$filter = $this->createIMAPFilter($_folderName, $_filter,self::$supportsORinQuery[$this->profileID]);
@@ -1854,15 +2176,26 @@  discard block
 block discarded – undo
1854 2176
 		}
1855 2177
 		//_debug_array($filter);
1856 2178
 		//error_log(__METHOD__.' ('.__LINE__.') '.array2string($filter).'#'.array2string($this->icServer->capability()));
1857
-		if($this->icServer->hasCapability('SORT')) {
2179
+		if($this->icServer->hasCapability('SORT'))
2180
+		{
1858 2181
 			// when using an orQuery and we sort by date. sort seems to fail on certain servers => ZIMBRA with Horde_Imap_Client
1859 2182
 			// thus we translate the search request from date to Horde_Imap_Client::SORT_SEQUENCE (which should be the same, if
1860 2183
 			// there is no messing with the dates)
1861 2184
 			//if (self::$supportsORinQuery[$this->profileID]&&$_sort=='date'&&$_filter['type']=='quick'&&!empty($_filter['string']))$_sort='INTERNALDATE';
1862
-			if (self::$debug) error_log(__METHOD__." Mailserver has SORT Capability, SortBy: ".array2string($_sort)." Reverse: $_reverse");
2185
+			if (self::$debug)
2186
+			{
2187
+				error_log(__METHOD__." Mailserver has SORT Capability, SortBy: ".array2string($_sort)." Reverse: $_reverse");
2188
+			}
1863 2189
 			$sortOrder = $this->_getSortString($_sort, $_reverse);
1864
-			if ($_reverse && in_array(Horde_Imap_Client::SORT_REVERSE,$sortOrder)) $_reverse=false; // as we reversed the result already
1865
-			if (self::$debug) error_log(__METHOD__." Mailserver runs SORT: SortBy:".array2string($_sort)."->".array2string($sortOrder)." Filter: ".array2string($filter));
2190
+			if ($_reverse && in_array(Horde_Imap_Client::SORT_REVERSE,$sortOrder))
2191
+			{
2192
+				$_reverse=false;
2193
+			}
2194
+			// as we reversed the result already
2195
+			if (self::$debug)
2196
+			{
2197
+				error_log(__METHOD__." Mailserver runs SORT: SortBy:".array2string($_sort)."->".array2string($sortOrder)." Filter: ".array2string($filter));
2198
+			}
1866 2199
 			try
1867 2200
 			{
1868 2201
 				$sortResult = $this->icServer->search($_folderName, $filter, array(
@@ -1874,7 +2207,10 @@  discard block
 block discarded – undo
1874 2207
 				//error_log(__METHOD__.'('.__LINE__.'):'.$e->getMessage());
1875 2208
 				$resultByUid = false;
1876 2209
 				$sortOrder = array(Horde_Imap_Client::SORT_SEQUENCE);
1877
-				if ($_reverse) array_unshift($sortOrder,Horde_Imap_Client::SORT_REVERSE);
2210
+				if ($_reverse)
2211
+				{
2212
+					array_unshift($sortOrder,Horde_Imap_Client::SORT_REVERSE);
2213
+				}
1878 2214
 				try
1879 2215
 				{
1880 2216
 					$sortResult = $this->icServer->search($_folderName, $filter, array(
@@ -1886,9 +2222,17 @@  discard block
 block discarded – undo
1886 2222
 					$sortResult = self::$folderStatusCache[$this->profileID][$_folderName]['sortResult'];
1887 2223
 				}
1888 2224
 			}
1889
-			if (self::$debug) error_log(__METHOD__.print_r($sortResult,true));
1890
-		} else {
1891
-			if (self::$debug) error_log(__METHOD__." Mailserver has NO SORT Capability");
2225
+			if (self::$debug)
2226
+			{
2227
+				error_log(__METHOD__.print_r($sortResult,true));
2228
+			}
2229
+		}
2230
+		else
2231
+		{
2232
+			if (self::$debug)
2233
+			{
2234
+				error_log(__METHOD__." Mailserver has NO SORT Capability");
2235
+			}
1892 2236
 			//$sortOrder = array(Horde_Imap_Client::SORT_SEQUENCE);
1893 2237
 			//if ($_reverse) array_unshift($sortOrder,Horde_Imap_Client::SORT_REVERSE);
1894 2238
 			try
@@ -1902,7 +2246,10 @@  discard block
 block discarded – undo
1902 2246
 				// possible error OR Query. But Horde gives no detailed Info :-(
1903 2247
 				self::$supportsORinQuery[$this->profileID]=false;
1904 2248
 				Cache::setCache(Cache::INSTANCE,'email','supportsORinQuery'.trim($GLOBALS['egw_info']['user']['account_id']),self::$supportsORinQuery,60*60*10);
1905
-				if (self::$debug) error_log(__METHOD__.__LINE__." Mailserver seems to have NO OR Capability for Search:".$sortResult->message);
2249
+				if (self::$debug)
2250
+				{
2251
+					error_log(__METHOD__.__LINE__." Mailserver seems to have NO OR Capability for Search:".$sortResult->message);
2252
+				}
1906 2253
 				$filter = $this->createIMAPFilter($_folderName, $_filter, self::$supportsORinQuery[$this->profileID]);
1907 2254
 				try
1908 2255
 				{
@@ -1913,11 +2260,15 @@  discard block
 block discarded – undo
1913 2260
 				{
1914 2261
 				}
1915 2262
 			}
1916
-			if(is_array($sortResult['match'])) {
2263
+			if(is_array($sortResult['match']))
2264
+			{
1917 2265
 					// not sure that this is going so succeed as $sortResult['match'] is a hordeObject
1918 2266
 					sort($sortResult['match'], SORT_NUMERIC);
1919 2267
 			}
1920
-			if (self::$debug) error_log(__METHOD__." using Filter:".print_r($filter,true)." ->".print_r($sortResult,true));
2268
+			if (self::$debug)
2269
+			{
2270
+				error_log(__METHOD__." using Filter:".print_r($filter,true)." ->".print_r($sortResult,true));
2271
+			}
1921 2272
 		}
1922 2273
 		if ($setSession)
1923 2274
 		{
@@ -1946,7 +2297,8 @@  discard block
 block discarded – undo
1946 2297
 		$_reverse=false;
1947 2298
 		if (is_numeric($_sort))
1948 2299
 		{
1949
-			switch($_sort) {
2300
+			switch($_sort)
2301
+			{
1950 2302
 				case 2:
1951 2303
 					$retValue = array(Horde_Imap_Client::SORT_FROM);
1952 2304
 					break;
@@ -1968,7 +2320,8 @@  discard block
 block discarded – undo
1968 2320
 		}
1969 2321
 		else
1970 2322
 		{
1971
-			switch(strtoupper($_sort)) {
2323
+			switch(strtoupper($_sort))
2324
+			{
1972 2325
 				case 'FROMADDRESS':
1973 2326
 					$retValue = array(Horde_Imap_Client::SORT_FROM);
1974 2327
 					break;
@@ -1994,7 +2347,10 @@  discard block
 block discarded – undo
1994 2347
 					break;
1995 2348
 			}
1996 2349
 		}
1997
-		if ($_reverse) array_unshift($retValue,Horde_Imap_Client::SORT_REVERSE);
2350
+		if ($_reverse)
2351
+		{
2352
+			array_unshift($retValue,Horde_Imap_Client::SORT_REVERSE);
2353
+		}
1998 2354
 		//error_log(__METHOD__.' ('.__LINE__.') '.' '.($_reverse?'REVERSE ':'').$_sort.'->'.$retValue);
1999 2355
 		return $retValue;
2000 2356
 	}
@@ -2013,7 +2369,10 @@  discard block
 block discarded – undo
2013 2369
 		$imapFilter->charset('UTF-8');
2014 2370
 
2015 2371
 		//_debug_array($_criterias);
2016
-		if (self::$debug) error_log(__METHOD__.' ('.__LINE__.') '.' Criterias:'.(!is_array($_criterias)?" none -> returning":array2string($_criterias)));
2372
+		if (self::$debug)
2373
+		{
2374
+			error_log(__METHOD__.' ('.__LINE__.') '.' Criterias:'.(!is_array($_criterias)?" none -> returning":array2string($_criterias)));
2375
+		}
2017 2376
 		if((!is_array($_criterias) || $_criterias['status']=='any') &&
2018 2377
 			(!isset($_criterias['string']) || empty($_criterias['string'])) &&
2019 2378
 			(!isset($_criterias['range'])|| empty($_criterias['range']) ||
@@ -2028,11 +2387,13 @@  discard block
 block discarded – undo
2028 2387
 		// statusQuery MUST be placed first, as search for subject/mailbody and such is
2029 2388
 		// depending on charset. flagSearch is not BUT messes the charset if called afterwards
2030 2389
 		$statusQueryValid = false;
2031
-		foreach((array)$_criterias['status'] as $k => $criteria) {
2390
+		foreach((array)$_criterias['status'] as $k => $criteria)
2391
+		{
2032 2392
 			$imapStatusFilter = new Horde_Imap_Client_Search_Query();
2033 2393
 			$imapStatusFilter->charset('UTF-8');
2034 2394
 			$criteria = strtoupper($criteria);
2035
-			switch ($criteria) {
2395
+			switch ($criteria)
2396
+			{
2036 2397
 				case 'ANSWERED':
2037 2398
 				case 'DELETED':
2038 2399
 				case 'FLAGGED':
@@ -2115,9 +2476,11 @@  discard block
 block discarded – undo
2115 2476
 		$imapSearchFilter = new Horde_Imap_Client_Search_Query();
2116 2477
 		$imapSearchFilter->charset('UTF-8');
2117 2478
 
2118
-		if(!empty($_criterias['string'])) {
2479
+		if(!empty($_criterias['string']))
2480
+		{
2119 2481
 			$criteria = strtoupper($_criterias['type']);
2120
-			switch ($criteria) {
2482
+			switch ($criteria)
2483
+			{
2121 2484
 				case 'BYDATE':
2122 2485
 				case 'QUICK':
2123 2486
 				case 'QUICKWITHCC':
@@ -2125,9 +2488,12 @@  discard block
 block discarded – undo
2125 2488
 					//$imapSearchFilter->charset('UTF-8');
2126 2489
 					$imapFilter2 = new Horde_Imap_Client_Search_Query();
2127 2490
 					$imapFilter2->charset('UTF-8');
2128
-					if($this->isSentFolder($_folder)) {
2491
+					if($this->isSentFolder($_folder))
2492
+					{
2129 2493
 						$imapFilter2->headerText('TO', $_criterias['string'], $not=false);
2130
-					} else {
2494
+					}
2495
+					else
2496
+					{
2131 2497
 						$imapFilter2->headerText('FROM', $_criterias['string'], $not=false);
2132 2498
 					}
2133 2499
 					if ($_supportsOrInQuery)
@@ -2158,7 +2524,10 @@  discard block
 block discarded – undo
2158 2524
 											'GB'=>1024*1000*1000,'G'=>1024*1000*1000,
2159 2525
 											'TB'=>1024*1000*1000*1000,'T'=>1024*1000*1000*1000);
2160 2526
 						$numberinBytes=(float)$_criterias['string'];
2161
-						if (isset($multipleBy[$unit])) $numberinBytes=(float)$_criterias['string']*$multipleBy[$unit];
2527
+						if (isset($multipleBy[$unit]))
2528
+						{
2529
+							$numberinBytes=(float)$_criterias['string']*$multipleBy[$unit];
2530
+						}
2162 2531
 						//error_log(__METHOD__.__LINE__.'#'.$_criterias['string'].'->'.(float)$_criterias['string'].'#'.$unit.' ='.$numberinBytes);
2163 2532
 						$_criterias['string']=$numberinBytes;
2164 2533
 					}
@@ -2195,8 +2564,14 @@  discard block
 block discarded – undo
2195 2564
 					break;
2196 2565
 			}
2197 2566
 		}
2198
-		if ($statusQueryValid && !$queryValid) $queryValid=true;
2199
-		if ($queryValid) $imapFilter->andSearch($imapSearchFilter);
2567
+		if ($statusQueryValid && !$queryValid)
2568
+		{
2569
+			$queryValid=true;
2570
+		}
2571
+		if ($queryValid)
2572
+		{
2573
+			$imapFilter->andSearch($imapSearchFilter);
2574
+		}
2200 2575
 
2201 2576
 		if (isset($_criterias['range']) && !empty($_criterias['range']))
2202 2577
 		{
@@ -2211,7 +2586,8 @@  discard block
 block discarded – undo
2211 2586
 				unset($_criterias['before']);
2212 2587
 				$criteria=$_criterias['range']='ON';
2213 2588
 			}
2214
-			switch ($criteria) {
2589
+			switch ($criteria)
2590
+			{
2215 2591
 				case 'BETWEEN':
2216 2592
 					//try to be smart about missing
2217 2593
 					//enddate
@@ -2247,8 +2623,14 @@  discard block
 block discarded – undo
2247 2623
 					$rangeValid = true;
2248 2624
 					break;
2249 2625
 			}
2250
-			if ($rangeValid && !$queryValid) $queryValid=true;
2251
-			if ($rangeValid) $imapFilter->andSearch($imapRangeFilter);
2626
+			if ($rangeValid && !$queryValid)
2627
+			{
2628
+				$queryValid=true;
2629
+			}
2630
+			if ($rangeValid)
2631
+			{
2632
+				$imapFilter->andSearch($imapRangeFilter);
2633
+			}
2252 2634
 		}
2253 2635
 		if (self::$debug)
2254 2636
 		{
@@ -2256,10 +2638,13 @@  discard block
 block discarded – undo
2256 2638
 			$query_str = $imapFilter->build();
2257 2639
 			//error_log(__METHOD__.' ('.__LINE__.') '.' '.$query_str['query'].' created by Criterias:'.(!is_array($_criterias)?" none -> returning":array2string($_criterias)));
2258 2640
 		}
2259
-		if($queryValid==false) {
2641
+		if($queryValid==false)
2642
+		{
2260 2643
 			$imapFilter->flag('DELETED', $set=false);
2261 2644
 			return $imapFilter;
2262
-		} else {
2645
+		}
2646
+		else
2647
+		{
2263 2648
 			return $imapFilter;
2264 2649
 		}
2265 2650
 	}
@@ -2316,7 +2701,10 @@  discard block
 block discarded – undo
2316 2701
 					}
2317 2702
 					$stringA[] = imap_rfc822_write_address($_rfcAddr->mailbox,Horde_Idna::decode($_rfcAddr->host),$_rfcAddr->personal);
2318 2703
 				}
2319
-				if (!empty($stringA)) $_string = implode(',',$stringA);
2704
+				if (!empty($stringA))
2705
+				{
2706
+					$_string = implode(',',$stringA);
2707
+				}
2320 2708
 			}
2321 2709
 			if ($_tryIDNConversion==='FORCE')
2322 2710
 			{
@@ -2341,7 +2729,10 @@  discard block
 block discarded – undo
2341 2729
 		{
2342 2730
 			return 'No Subject';
2343 2731
 		}
2344
-		if ($decode) $_string = self::decode_header($_string);
2732
+		if ($decode)
2733
+		{
2734
+			$_string = self::decode_header($_string);
2735
+		}
2345 2736
 		// make sure its utf-8
2346 2737
 		$test = @json_encode($_string);
2347 2738
 		if (($test=="null" || $test === false || is_null($test)) && strlen($_string)>0)
@@ -2379,7 +2770,8 @@  discard block
 block discarded – undo
2379 2770
 	 * @param string _parent the parent foldername
2380 2771
 	 * @return ISO-8859-1 / UTF7-IMAP encoded string
2381 2772
 	 */
2382
-	function _encodeFolderName($_folderName) {
2773
+	function _encodeFolderName($_folderName)
2774
+	{
2383 2775
 		return Translation::convert($_folderName, self::$displayCharset, 'ISO-8859-1');
2384 2776
 		#return Translation::convert($_folderName, self::$displayCharset, 'UTF7-IMAP');
2385 2777
 	}
@@ -2395,21 +2787,36 @@  discard block
 block discarded – undo
2395 2787
 	 */
2396 2788
 	function createFolder($_parent, $_folderName, &$_error)
2397 2789
 	{
2398
-		if (self::$debug) error_log(__METHOD__.' ('.__LINE__.') '."->"."$_parent, $_folderName called from:".function_backtrace());
2790
+		if (self::$debug)
2791
+		{
2792
+			error_log(__METHOD__.' ('.__LINE__.') '."->"."$_parent, $_folderName called from:".function_backtrace());
2793
+		}
2399 2794
 		$parent		= $_parent;//$this->_encodeFolderName($_parent);
2400 2795
 		$folderName	= $_folderName;//$this->_encodeFolderName($_folderName);
2401 2796
 
2402
-		if(empty($parent)) {
2797
+		if(empty($parent))
2798
+		{
2403 2799
 			$newFolderName = $folderName;
2404
-		} else {
2800
+		}
2801
+		else
2802
+		{
2405 2803
 			$HierarchyDelimiter = $this->getHierarchyDelimiter();
2406 2804
 			$newFolderName = $parent . $HierarchyDelimiter . $folderName;
2407 2805
 		}
2408
-		if (empty($newFolderName)) return false;
2409
-		if (self::$debug) error_log(__METHOD__.' ('.__LINE__.') '.'->'.$newFolderName);
2806
+		if (empty($newFolderName))
2807
+		{
2808
+			return false;
2809
+		}
2810
+		if (self::$debug)
2811
+		{
2812
+			error_log(__METHOD__.' ('.__LINE__.') '.'->'.$newFolderName);
2813
+		}
2410 2814
 		if ($this->folderExists($newFolderName,true))
2411 2815
 		{
2412
-			if (self::$debug) error_log(__METHOD__.' ('.__LINE__.') '." Folder $newFolderName already exists.");
2816
+			if (self::$debug)
2817
+			{
2818
+				error_log(__METHOD__.' ('.__LINE__.') '." Folder $newFolderName already exists.");
2819
+			}
2413 2820
 			return $newFolderName;
2414 2821
 		}
2415 2822
 		try
@@ -2457,13 +2864,19 @@  discard block
 block discarded – undo
2457 2864
 		$parent		= $_parent;//$this->_encodeFolderName($_parent);
2458 2865
 		$folderName	= $_folderName;//$this->_encodeFolderName($_folderName);
2459 2866
 
2460
-		if(empty($parent)) {
2867
+		if(empty($parent))
2868
+		{
2461 2869
 			$newFolderName = $folderName;
2462
-		} else {
2870
+		}
2871
+		else
2872
+		{
2463 2873
 			$HierarchyDelimiter = $this->getHierarchyDelimiter();
2464 2874
 			$newFolderName = $parent . $HierarchyDelimiter . $folderName;
2465 2875
 		}
2466
-		if (self::$debug) error_log("create folder: $newFolderName");
2876
+		if (self::$debug)
2877
+		{
2878
+			error_log("create folder: $newFolderName");
2879
+		}
2467 2880
 		try
2468 2881
 		{
2469 2882
 			$this->icServer->renameMailbox($oldFolderName, $newFolderName);
@@ -2537,8 +2950,14 @@  discard block
 block discarded – undo
2537 2950
 	 */
2538 2951
 	function getFolderObjects($_subscribedOnly=false, $_getCounters=false, $_alwaysGetDefaultFolders=false,$_useCacheIfPossible=true)
2539 2952
 	{
2540
-		if (self::$debug) error_log(__METHOD__.' ('.__LINE__.') '.' ServerID:'.$this->icServer->ImapServerId.", subscribedOnly:$_subscribedOnly, getCounters:$_getCounters, alwaysGetDefaultFolders:$_alwaysGetDefaultFolders, _useCacheIfPossible:$_useCacheIfPossible");
2541
-		if (self::$debugTimes) $starttime = microtime (true);
2953
+		if (self::$debug)
2954
+		{
2955
+			error_log(__METHOD__.' ('.__LINE__.') '.' ServerID:'.$this->icServer->ImapServerId.", subscribedOnly:$_subscribedOnly, getCounters:$_getCounters, alwaysGetDefaultFolders:$_alwaysGetDefaultFolders, _useCacheIfPossible:$_useCacheIfPossible");
2956
+		}
2957
+		if (self::$debugTimes)
2958
+		{
2959
+			$starttime = microtime (true);
2960
+		}
2542 2961
 		static $folders2return;
2543 2962
 		//$_subscribedOnly=false;
2544 2963
 		// always use static on single request if info is available;
@@ -2546,23 +2965,35 @@  discard block
 block discarded – undo
2546 2965
 		// set $_useCacheIfPossible to false !
2547 2966
 		if ($_useCacheIfPossible && isset($folders2return[$this->icServer->ImapServerId]) && !empty($folders2return[$this->icServer->ImapServerId]))
2548 2967
 		{
2549
-			if (self::$debugTimes) self::logRunTimes($starttime,null,'using static',__METHOD__.' ('.__LINE__.') ');
2968
+			if (self::$debugTimes)
2969
+			{
2970
+				self::logRunTimes($starttime,null,'using static',__METHOD__.' ('.__LINE__.') ');
2971
+			}
2550 2972
 			return $folders2return[$this->icServer->ImapServerId];
2551 2973
 		}
2552 2974
 
2553 2975
 		if ($_subscribedOnly && $_getCounters===false)
2554 2976
 		{
2555
-			if (is_null($folders2return)) $folders2return = Cache::getCache(Cache::INSTANCE,'email','folderObjects'.trim($GLOBALS['egw_info']['user']['account_id']),null,array(),60*60*1);
2977
+			if (is_null($folders2return))
2978
+			{
2979
+				$folders2return = Cache::getCache(Cache::INSTANCE,'email','folderObjects'.trim($GLOBALS['egw_info']['user']['account_id']),null,array(),60*60*1);
2980
+			}
2556 2981
 			if ($_useCacheIfPossible && isset($folders2return[$this->icServer->ImapServerId]) && !empty($folders2return[$this->icServer->ImapServerId]))
2557 2982
 			{
2558 2983
 				//error_log(__METHOD__.' ('.__LINE__.') '.' using Cached folderObjects'.array2string($folders2return[$this->icServer->ImapServerId]));
2559
-				if (self::$debugTimes) self::logRunTimes($starttime,null,'from Cache',__METHOD__.' ('.__LINE__.') ');
2984
+				if (self::$debugTimes)
2985
+				{
2986
+					self::logRunTimes($starttime,null,'from Cache',__METHOD__.' ('.__LINE__.') ');
2987
+				}
2560 2988
 				return $folders2return[$this->icServer->ImapServerId];
2561 2989
 			}
2562 2990
 		}
2563 2991
 		// use $folderBasicInfo for holding attributes and other basic folderinfo $folderBasicInfo[$this->icServer->ImapServerId]
2564 2992
 		static $folderBasicInfo;
2565
-		if (is_null($folderBasicInfo)||!isset($folderBasicInfo[$this->icServer->ImapServerId])) $folderBasicInfo = Cache::getCache(Cache::INSTANCE,'email','folderBasicInfo'.trim($GLOBALS['egw_info']['user']['account_id']),null,array(),60*60*1);
2993
+		if (is_null($folderBasicInfo)||!isset($folderBasicInfo[$this->icServer->ImapServerId]))
2994
+		{
2995
+			$folderBasicInfo = Cache::getCache(Cache::INSTANCE,'email','folderBasicInfo'.trim($GLOBALS['egw_info']['user']['account_id']),null,array(),60*60*1);
2996
+		}
2566 2997
 		//error_log(__METHOD__.' ('.__LINE__.') '.array2string(array_keys($folderBasicInfo[$this->icServer->ImapServerId])));
2567 2998
 
2568 2999
 		$delimiter = $this->getHierarchyDelimiter();
@@ -2575,7 +3006,8 @@  discard block
 block discarded – undo
2575 3006
 		$inboxData->shortFolderName	= 'INBOX';
2576 3007
 		$inboxData->shortDisplayName	= lang('INBOX');
2577 3008
 		$inboxData->subscribed = true;
2578
-		if($_getCounters == true) {
3009
+		if($_getCounters == true)
3010
+		{
2579 3011
 			$inboxData->counter = $this->getMailBoxCounters('INBOX');
2580 3012
 		}
2581 3013
 		// force unsubscribed by preference showAllFoldersInFolderPane
@@ -2594,12 +3026,14 @@  discard block
 block discarded – undo
2594 3026
 		//error_log(__METHOD__.__LINE__.array2string($nameSpace));
2595 3027
 		if (is_array($nameSpace))
2596 3028
 		{
2597
-			foreach($nameSpace as $k => $singleNameSpace) {
3029
+			foreach($nameSpace as $k => $singleNameSpace)
3030
+			{
2598 3031
 				$type = $singleNameSpace['type'];
2599 3032
 				// the following line (assumption that for the same namespace the delimiter should be equal) may be wrong
2600 3033
 				$foldersNameSpace[$type]['delimiter']  = $singleNameSpace['delimiter'];
2601 3034
 
2602
-				if(is_array($singleNameSpace)&&$fetchedAllInOneGo==false) {
3035
+				if(is_array($singleNameSpace)&&$fetchedAllInOneGo==false)
3036
+				{
2603 3037
 					// fetch and sort the subscribed folders
2604 3038
 					// we alway fetch the subscribed, as this provides the only way to tell
2605 3039
 					// if a folder is subscribed or not
@@ -2650,8 +3084,12 @@  discard block
 block discarded – undo
2650 3084
 							}
2651 3085
 						}
2652 3086
 						//error_log(__METHOD__.' ('.__LINE__.') '.' '.$type.'->'.array2string($foldersNameSpace[$type]['subscribed']));
2653
-						if (!is_array($foldersNameSpace[$type]['all'])) $foldersNameSpace[$type]['all'] = array();
2654
-						if ($_subscribedOnly == true && !empty($foldersNameSpace[$type]['subscribed'])) {
3087
+						if (!is_array($foldersNameSpace[$type]['all']))
3088
+						{
3089
+							$foldersNameSpace[$type]['all'] = array();
3090
+						}
3091
+						if ($_subscribedOnly == true && !empty($foldersNameSpace[$type]['subscribed']))
3092
+						{
2655 3093
 							continue;
2656 3094
 						}
2657 3095
 
@@ -2681,7 +3119,8 @@  discard block
 block discarded – undo
2681 3119
 					}
2682 3120
 
2683 3121
 					//error_log(__METHOD__.' ('.__LINE__.') '.' '.$type.'->'.array2string($allMailboxesExt));
2684
-					foreach ($allMailboxesExt as $mbx) {
3122
+					foreach ($allMailboxesExt as $mbx)
3123
+					{
2685 3124
 						if (!isset($folderBasicInfo[$this->icServer->ImapServerId][$mbx['MAILBOX']]))
2686 3125
 						{
2687 3126
 							$folderBasicInfo[$this->icServer->ImapServerId][$mbx['MAILBOX']]=array(
@@ -2704,20 +3143,33 @@  discard block
 block discarded – undo
2704 3143
 						if (isset($allMailBoxesExtSorted[$mbx['MAILBOX']])||
2705 3144
 							isset($allMailBoxesExtSorted[$mbx['MAILBOX'].$foldersNameSpace[$type]['delimiter']])||
2706 3145
 							(substr($mbx['MAILBOX'],-1)==$foldersNameSpace[$type]['delimiter'] && isset($allMailBoxesExtSorted[substr($mbx['MAILBOX'],0,-1)]))
2707
-						) continue;
3146
+						)
3147
+						{
3148
+							continue;
3149
+						}
2708 3150
 
2709 3151
 						//echo '#'.$mbx['MAILBOX'].':'.array2string($mbx)."#<br>";
2710 3152
 						$allMailBoxesExtSorted[$mbx['MAILBOX']] = $mbx;
2711 3153
 					}
2712
-					if (is_array($allMailBoxesExtSorted)) ksort($allMailBoxesExtSorted);
3154
+					if (is_array($allMailBoxesExtSorted))
3155
+					{
3156
+						ksort($allMailBoxesExtSorted);
3157
+					}
2713 3158
 					//_debug_array(array_keys($allMailBoxesExtSorted));
2714 3159
 					$allMailboxes = array();
2715
-					foreach ((array)$allMailBoxesExtSorted as $mbx) {
2716
-						if (!in_array($mbx['MAILBOX'],$allMailboxes)) $allMailboxes[] = $mbx['MAILBOX'];
3160
+					foreach ((array)$allMailBoxesExtSorted as $mbx)
3161
+					{
3162
+						if (!in_array($mbx['MAILBOX'],$allMailboxes))
3163
+						{
3164
+							$allMailboxes[] = $mbx['MAILBOX'];
3165
+						}
2717 3166
 						//echo "Result:";_debug_array($allMailboxes);
2718 3167
 					}
2719 3168
 					$foldersNameSpace[$type]['all'] = $allMailboxes;
2720
-					if (is_array($foldersNameSpace[$type]['all'])) sort($foldersNameSpace[$type]['all']);
3169
+					if (is_array($foldersNameSpace[$type]['all']))
3170
+					{
3171
+						sort($foldersNameSpace[$type]['all']);
3172
+					}
2721 3173
 				}
2722 3174
 			}
2723 3175
 		}
@@ -2726,24 +3178,50 @@  discard block
 block discarded – undo
2726 3178
 		//echo "<br>FolderNameSpace To Process:";_debug_array($foldersNameSpace);
2727 3179
 		$autoFolderObjects = $folders = array();
2728 3180
 		$autofolder_exists = array();
2729
-		foreach( array('personal', 'others', 'shared') as $type) {
2730
-			if(isset($foldersNameSpace[$type])) {
2731
-				if($_subscribedOnly) {
2732
-					if( !empty($foldersNameSpace[$type]['subscribed']) ) $listOfFolders = $foldersNameSpace[$type]['subscribed'];
2733
-				} else {
2734
-					if( !empty($foldersNameSpace[$type]['all'])) $listOfFolders = $foldersNameSpace[$type]['all'];
2735
-				}
2736
-				foreach((array)$listOfFolders as $folderName) {
3181
+		foreach( array('personal', 'others', 'shared') as $type)
3182
+		{
3183
+			if(isset($foldersNameSpace[$type]))
3184
+			{
3185
+				if($_subscribedOnly)
3186
+				{
3187
+					if( !empty($foldersNameSpace[$type]['subscribed']) )
3188
+					{
3189
+						$listOfFolders = $foldersNameSpace[$type]['subscribed'];
3190
+					}
3191
+				}
3192
+				else
3193
+				{
3194
+					if( !empty($foldersNameSpace[$type]['all']))
3195
+					{
3196
+						$listOfFolders = $foldersNameSpace[$type]['all'];
3197
+					}
3198
+				}
3199
+				foreach((array)$listOfFolders as $folderName)
3200
+				{
2737 3201
 					//echo "<br>FolderToCheck:$folderName<br>";
2738 3202
 					//error_log(__METHOD__.__LINE__.'#Delimiter:'.$delimiter.':#'.$folderName);
2739
-					if ($_subscribedOnly && empty($foldersNameSpace[$type]['all'])) continue;//when subscribedonly, we fetch all folders in one go.
2740
-					if($_subscribedOnly && !(in_array($folderName, $foldersNameSpace[$type]['all'])||in_array($folderName.$foldersNameSpace[$type]['delimiter'], $foldersNameSpace[$type]['all']))) {
3203
+					if ($_subscribedOnly && empty($foldersNameSpace[$type]['all']))
3204
+					{
3205
+						continue;
3206
+					}
3207
+					//when subscribedonly, we fetch all folders in one go.
3208
+					if($_subscribedOnly && !(in_array($folderName, $foldersNameSpace[$type]['all'])||in_array($folderName.$foldersNameSpace[$type]['delimiter'], $foldersNameSpace[$type]['all'])))
3209
+					{
2741 3210
 						#echo "$folderName failed to be here <br>";
2742 3211
 						continue;
2743 3212
 					}
2744
-					if (isset($folders[$folderName])) continue;
2745
-					if (isset($autoFolderObjects[$folderName])) continue;
2746
-					if (empty($delimiter)||$delimiter != $foldersNameSpace[$type]['delimiter']) $delimiter = $foldersNameSpace[$type]['delimiter'];
3213
+					if (isset($folders[$folderName]))
3214
+					{
3215
+						continue;
3216
+					}
3217
+					if (isset($autoFolderObjects[$folderName]))
3218
+					{
3219
+						continue;
3220
+					}
3221
+					if (empty($delimiter)||$delimiter != $foldersNameSpace[$type]['delimiter'])
3222
+					{
3223
+						$delimiter = $foldersNameSpace[$type]['delimiter'];
3224
+					}
2747 3225
 					$folderParts = explode($delimiter, $folderName);
2748 3226
 					$shortName = array_pop($folderParts);
2749 3227
 
@@ -2751,17 +3229,20 @@  discard block
 block discarded – undo
2751 3229
 					$folderObject->delimiter	= $delimiter;
2752 3230
 					$folderObject->folderName	= $folderName;
2753 3231
 					$folderObject->shortFolderName	= $shortName;
2754
-					if(!$_subscribedOnly) {
3232
+					if(!$_subscribedOnly)
3233
+					{
2755 3234
 						#echo $folderName."->".$type."<br>";
2756 3235
 						#_debug_array($foldersNameSpace[$type]['subscribed']);
2757 3236
 						$folderObject->subscribed = in_array($folderName, (array)$foldersNameSpace[$type]['subscribed']);
2758 3237
 					}
2759 3238
 
2760
-					if($_getCounters == true) {
3239
+					if($_getCounters == true)
3240
+					{
2761 3241
 						//error_log(__METHOD__.' ('.__LINE__.') '.' getCounter forFolder:'.$folderName);
2762 3242
 						$folderObject->counter = $this->getMailBoxCounters($folderName);
2763 3243
 					}
2764
-					if(strtoupper($folderName) == 'INBOX') {
3244
+					if(strtoupper($folderName) == 'INBOX')
3245
+					{
2765 3246
 						$folderName = 'INBOX';
2766 3247
 						$folderObject->folderName	= 'INBOX';
2767 3248
 						$folderObject->shortFolderName	= 'INBOX';
@@ -2769,24 +3250,34 @@  discard block
 block discarded – undo
2769 3250
 						$folderObject->shortDisplayName = lang('INBOX');
2770 3251
 						$folderObject->subscribed	= true;
2771 3252
 					// translate the automatic Folders (Sent, Drafts, ...) like the INBOX
2772
-					} elseif (in_array($shortName,self::$autoFolders)) {
3253
+					}
3254
+					elseif (in_array($shortName,self::$autoFolders))
3255
+					{
2773 3256
 						$tmpfolderparts = explode($delimiter,$folderObject->folderName);
2774 3257
 						array_pop($tmpfolderparts);
2775 3258
 						$folderObject->displayName = implode($delimiter,$tmpfolderparts).$delimiter.lang($shortName);
2776 3259
 						$folderObject->shortDisplayName = lang($shortName);
2777 3260
 						unset($tmpfolderparts);
2778
-					} else {
3261
+					}
3262
+					else
3263
+					{
2779 3264
 						$folderObject->displayName = $folderObject->folderName;
2780 3265
 						$folderObject->shortDisplayName = $shortName;
2781 3266
 					}
2782 3267
 					//$folderName = $folderName;
2783
-					if (in_array($shortName,self::$autoFolders)&&self::searchValueInFolderObjects($shortName,$autoFolderObjects)===false) {
3268
+					if (in_array($shortName,self::$autoFolders)&&self::searchValueInFolderObjects($shortName,$autoFolderObjects)===false)
3269
+					{
2784 3270
 						$autoFolderObjects[$folderName] = $folderObject;
2785
-					} else {
3271
+					}
3272
+					else
3273
+					{
2786 3274
 						$folders[$folderName] = $folderObject;
2787 3275
 					}
2788 3276
 					//error_log(__METHOD__.' ('.__LINE__.') '.':'.$folderObject->folderName);
2789
-					if (!isset(self::$specialUseFolders)) $this->getSpecialUseFolders ();
3277
+					if (!isset(self::$specialUseFolders))
3278
+					{
3279
+						$this->getSpecialUseFolders ();
3280
+					}
2790 3281
 					if (isset(self::$specialUseFolders[$folderName]))
2791 3282
 					{
2792 3283
 						$autofolder_exists[$folderName] = self::$specialUseFolders[$folderName];
@@ -2794,7 +3285,8 @@  discard block
 block discarded – undo
2794 3285
 				}
2795 3286
 			}
2796 3287
 		}
2797
-		if (is_array($autoFolderObjects) && !empty($autoFolderObjects)) {
3288
+		if (is_array($autoFolderObjects) && !empty($autoFolderObjects))
3289
+		{
2798 3290
 			uasort($autoFolderObjects,array($this,"sortByAutoFolderPos"));
2799 3291
 		}
2800 3292
 		// check if some standard folders are missing and need to be created
@@ -2803,7 +3295,10 @@  discard block
 block discarded – undo
2803 3295
 			// if new folders have been created, re-read folders ignoring the cache
2804 3296
 			return $this->getFolderObjects($_subscribedOnly, $_getCounters, $_alwaysGetDefaultFolders, false);	// false = do NOT use cache
2805 3297
 		}
2806
-		if (is_array($folders)) uasort($folders,array($this,"sortByDisplayName"));
3298
+		if (is_array($folders))
3299
+		{
3300
+			uasort($folders,array($this,"sortByDisplayName"));
3301
+		}
2807 3302
 		//$folders2return = array_merge($autoFolderObjects,$folders);
2808 3303
 		//_debug_array($folders2return); #exit;
2809 3304
 		$folders2return[$this->icServer->ImapServerId] = array_merge((array)$inboxFolderObject,(array)$autoFolderObjects,(array)$folders);
@@ -2815,7 +3310,10 @@  discard block
 block discarded – undo
2815 3310
 			Cache::setCache(Cache::INSTANCE,'email','folderObjects'.trim($GLOBALS['egw_info']['user']['account_id']),$folders2return,$expiration=60*60*1);
2816 3311
 		}
2817 3312
 		Cache::setCache(Cache::INSTANCE,'email','folderBasicInfo'.trim($GLOBALS['egw_info']['user']['account_id']),$folderBasicInfo,$expiration=60*60*1);
2818
-		if (self::$debugTimes) self::logRunTimes($starttime,null,function_backtrace(),__METHOD__.' ('.__LINE__.') ');
3313
+		if (self::$debugTimes)
3314
+		{
3315
+			self::logRunTimes($starttime,null,function_backtrace(),__METHOD__.' ('.__LINE__.') ');
3316
+		}
2819 3317
 		return $folders2return[$this->icServer->ImapServerId];
2820 3318
 	}
2821 3319
 
@@ -2843,31 +3341,44 @@  discard block
 block discarded – undo
2843 3341
 
2844 3342
 		$folders = $nameSpace =  array();
2845 3343
 		$nameSpaceTmp = $this->_getNameSpaces();
2846
-		foreach($nameSpaceTmp as $k => $singleNameSpace) {
3344
+		foreach($nameSpaceTmp as $k => $singleNameSpace)
3345
+		{
2847 3346
 			$nameSpace[$singleNameSpace['type']]=$singleNameSpace;
2848 3347
 		}
2849 3348
 		unset($nameSpaceTmp);
2850 3349
 
2851 3350
 		//error_log(__METHOD__.__LINE__.array2string($nameSpace));
2852 3351
 		// Get special use folders
2853
-		if (!isset(self::$specialUseFolders)) $this->getSpecialUseFolders (); // Set self::$specialUseFolders
3352
+		if (!isset(self::$specialUseFolders))
3353
+		{
3354
+			$this->getSpecialUseFolders ();
3355
+		}
3356
+		// Set self::$specialUseFolders
2854 3357
 		// topLevelQueries generally ignore the $_search param. Except for Config::examineNamespace
2855
-		if ($_onlyTopLevel) // top level leaves
3358
+		if ($_onlyTopLevel)
3359
+		{
3360
+			// top level leaves
2856 3361
 		{
2857 3362
 			// Get top mailboxes of icServer
2858 3363
 			$topFolders = $this->icServer->getMailboxes("", 2, true);
3364
+		}
2859 3365
 			// Trigger examination of namespace to retrieve
2860 3366
 			// folders located in other and shared; needed only for some servers
2861
-			if (is_null(self::$mailConfig)) self::$mailConfig = Config::read('mail');
3367
+			if (is_null(self::$mailConfig))
3368
+			{
3369
+				self::$mailConfig = Config::read('mail');
3370
+			}
2862 3371
 			if (self::$mailConfig['examineNamespace'])
2863 3372
 			{
2864 3373
 				$prefixes=array();
2865 3374
 				if (is_array($nameSpace))
2866 3375
 				{
2867
-					foreach($nameSpace as $k => $singleNameSpace) {
3376
+					foreach($nameSpace as $k => $singleNameSpace)
3377
+					{
2868 3378
 						$type = $singleNameSpace['type'];
2869 3379
 
2870
-						if(is_array($singleNameSpace) && $singleNameSpace['prefix']){
3380
+						if(is_array($singleNameSpace) && $singleNameSpace['prefix'])
3381
+						{
2871 3382
 							$prefixes[$type] = $singleNameSpace['prefix'];
2872 3383
 							//regard extra care for nameSpacequeries when configured AND respect $_search
2873 3384
 							$result = $this->icServer->getMailboxes($singleNameSpace['prefix'], $_search==0?0:2, true);
@@ -2943,7 +3454,10 @@  discard block
 block discarded – undo
2943 3454
 							$nFolders [$path] = $folder;
2944 3455
 						}
2945 3456
 					}
2946
-					if (is_array($aFolders)) uasort ($aFolders, array($this,'sortByAutofolder'));
3457
+					if (is_array($aFolders))
3458
+					{
3459
+						uasort ($aFolders, array($this,'sortByAutofolder'));
3460
+					}
2947 3461
 					//ksort($aFolders);
2948 3462
 
2949 3463
 					// Sort none auto folders base on mailbox name
@@ -2953,12 +3467,17 @@  discard block
 block discarded – undo
2953 3467
 				}
2954 3468
 				else
2955 3469
 				{
2956
-					if (is_array($subFolders)) ksort($subFolders);
3470
+					if (is_array($subFolders))
3471
+					{
3472
+						ksort($subFolders);
3473
+					}
2957 3474
 				}
2958 3475
 				$folders = array_merge($folders,(array)$mainFolder, (array)$subFolders);
2959 3476
 			}
2960 3477
 		}
2961
-		elseif ($_nodePath) // single node
3478
+		elseif ($_nodePath)
3479
+		{
3480
+			// single node
2962 3481
 		{
2963 3482
 			switch ($_search)
2964 3483
 			{
@@ -2966,6 +3485,7 @@  discard block
 block discarded – undo
2966 3485
 				case 0:
2967 3486
 				case 2:
2968 3487
 					$path = $_nodePath.''.$delimiter;
3488
+		}
2969 3489
 					break;
2970 3490
 				// Node itself
2971 3491
 				// shouldn't contain next level delimiter
@@ -2984,11 +3504,14 @@  discard block
 block discarded – undo
2984 3504
 
2985 3505
 			uasort($folders,array($this,'sortByMailbox'));//ksort($folders);
2986 3506
 		}
2987
-		elseif(!$_nodePath) // all
3507
+		elseif(!$_nodePath)
3508
+		{
3509
+			// all
2988 3510
 		{
2989 3511
 			if ($_subscribedOnly)
2990 3512
 			{
2991 3513
 				$folders = $this->icServer->listSubscribedMailboxes('', 0, true);
3514
+		}
2992 3515
 			}
2993 3516
 			else
2994 3517
 			{
@@ -3000,7 +3523,10 @@  discard block
 block discarded – undo
3000 3523
 		{
3001 3524
 			// SORTING FOLDERS
3002 3525
 			//self::$debugTimes=true;
3003
-			if (self::$debugTimes) $starttime = microtime (true);
3526
+			if (self::$debugTimes)
3527
+			{
3528
+				$starttime = microtime (true);
3529
+			}
3004 3530
 			// Merge of all auto folders and specialusefolders
3005 3531
 			$autoFoldersTmp = array_unique((array_merge(self::$autoFolders, array_values(self::$specialUseFolders))));
3006 3532
 			uasort($folders,array($this,'sortByMailbox'));//ksort($folders);
@@ -3010,73 +3536,103 @@  discard block
 block discarded – undo
3010 3536
 			$isGoogleMail=false;
3011 3537
 			foreach($autoFoldersTmp as $afk=>$aF)
3012 3538
 			{
3013
-				if (!isset($mySpecialUseFolders[$aF]) && $aF) $mySpecialUseFolders[$aF]=$this->getFolderByType($aF,false);
3539
+				if (!isset($mySpecialUseFolders[$aF]) && $aF)
3540
+				{
3541
+					$mySpecialUseFolders[$aF]=$this->getFolderByType($aF,false);
3542
+				}
3014 3543
 				//error_log($afk.':'.$aF.'->'.$mySpecialUseFolders[$aF]);
3015 3544
 			}
3016 3545
 			//error_log(array2string($mySpecialUseFolders));
3017
-			foreach ($tmpFolders as $k => $f) {
3546
+			foreach ($tmpFolders as $k => $f)
3547
+			{
3018 3548
 				$sorted=false;
3019
-				if (strtoupper(substr($k,0,5))=='INBOX') {
3020
-					if (strtoupper($k)=='INBOX') {
3549
+				if (strtoupper(substr($k,0,5))=='INBOX')
3550
+				{
3551
+					if (strtoupper($k)=='INBOX')
3552
+					{
3021 3553
 						//error_log(__METHOD__.__LINE__.':'.strtoupper(substr($k,0,5)).':'.$k);
3022 3554
 						$inboxFolderObject[$k]=$f;
3023 3555
 						unset($folders[$k]);
3024 3556
 						$sorted=true;
3025
-					} else {
3557
+					}
3558
+					else
3559
+					{
3026 3560
 						$isAutoFolder=false;
3027 3561
 						foreach($autoFoldersTmp as $afk=>$aF)
3028 3562
 						{
3029 3563
 							//error_log(__METHOD__.__LINE__.$k.':'.$aF.'->'.$mySpecialUseFolders[$aF]);
3030 3564
 							if($aF && strlen($mySpecialUseFolders[$aF])&&/*strlen($k)>=strlen($mySpecialUseFolders[$aF])&&*/
3031 3565
 								($mySpecialUseFolders[$aF]==$k || substr($k,0,strlen($mySpecialUseFolders[$aF].$delimiter))==$mySpecialUseFolders[$aF].$delimiter || //k may be child of an autofolder
3032
-								stristr($mySpecialUseFolders[$aF],$k.$delimiter)!==false)) // k is parent of an autofolder
3566
+								stristr($mySpecialUseFolders[$aF],$k.$delimiter)!==false))
3567
+							{
3568
+								// k is parent of an autofolder
3033 3569
 							{
3034 3570
 								//error_log(__METHOD__.__LINE__.$k.'->'.$mySpecialUseFolders[$aF]);
3035 3571
 								$isAutoFolder=true;
3572
+							}
3036 3573
 								$autoFolderObjects[$k]=$f;
3037 3574
 								break;
3038 3575
 							}
3039 3576
 						}
3040
-						if ($isAutoFolder==false) $inboxSubFolderObjects[$k]=$f;
3577
+						if ($isAutoFolder==false)
3578
+						{
3579
+							$inboxSubFolderObjects[$k]=$f;
3580
+						}
3041 3581
 						unset($folders[$k]);
3042 3582
 						$sorted=true;
3043 3583
 					}
3044
-				} elseif (strtoupper(substr($k,0,13))=='[GOOGLE MAIL]') {
3584
+				}
3585
+				elseif (strtoupper(substr($k,0,13))=='[GOOGLE MAIL]')
3586
+				{
3045 3587
 					$isGoogleMail=true;
3046
-					if (strtoupper($k)=='[GOOGLE MAIL]') {
3588
+					if (strtoupper($k)=='[GOOGLE MAIL]')
3589
+					{
3047 3590
 						$googleMailFolderObject[$k]=$f;
3048 3591
 						unset($folders[$k]);
3049 3592
 						$sorted=true;
3050
-					} else {
3593
+					}
3594
+					else
3595
+					{
3051 3596
 						$isAutoFolder=false;
3052 3597
 						foreach($autoFoldersTmp as $afk=>$aF)
3053 3598
 						{
3054 3599
 							//error_log($k.':'.$aF.'->'.$mySpecialUseFolders[$aF]);
3055 3600
 							if($aF && strlen($mySpecialUseFolders[$aF])&&/*strlen($k)>=strlen($mySpecialUseFolders[$aF])&&*/
3056 3601
 								($mySpecialUseFolders[$aF]==$k || substr($k,0,strlen($mySpecialUseFolders[$aF].$delimiter))==$mySpecialUseFolders[$aF].$delimiter|| //k may be child of an autofolder
3057
-								stristr($mySpecialUseFolders[$aF],$k.$delimiter)!==false)) // k is parent of an autofolder
3602
+								stristr($mySpecialUseFolders[$aF],$k.$delimiter)!==false))
3603
+							{
3604
+								// k is parent of an autofolder
3058 3605
 							{
3059 3606
 								//error_log($k.'->'.$mySpecialUseFolders[$aF]);
3060 3607
 								$isAutoFolder=true;
3608
+							}
3061 3609
 								$googleAutoFolderObjects[$k]=$f;
3062 3610
 								break;
3063 3611
 							}
3064 3612
 						}
3065
-						if ($isAutoFolder==false) $googleSubFolderObjects[$k]=$f;
3613
+						if ($isAutoFolder==false)
3614
+						{
3615
+							$googleSubFolderObjects[$k]=$f;
3616
+						}
3066 3617
 						unset($folders[$k]);
3067 3618
 						$sorted=true;
3068 3619
 					}
3069
-				} else {
3620
+				}
3621
+				else
3622
+				{
3070 3623
 					$isAutoFolder=false;
3071 3624
 					foreach($autoFoldersTmp as $afk=>$aF)
3072 3625
 					{
3073 3626
 						//error_log($k.':'.$aF.'->'.$mySpecialUseFolders[$aF]);
3074 3627
 						if($aF && strlen($mySpecialUseFolders[$aF])&&/*strlen($k)>=strlen($mySpecialUseFolders[$aF])&&*/
3075 3628
 								($mySpecialUseFolders[$aF]==$k || substr($k,0,strlen($mySpecialUseFolders[$aF].$delimiter))==$mySpecialUseFolders[$aF].$delimiter|| //k may be child of an autofolder
3076
-								stristr($mySpecialUseFolders[$aF],$k.$delimiter)!==false)) // k is parent of an autofolder
3629
+								stristr($mySpecialUseFolders[$aF],$k.$delimiter)!==false))
3630
+						{
3631
+							// k is parent of an autofolder
3077 3632
 						{
3078 3633
 							//error_log($k.'->'.$mySpecialUseFolders[$aF]);
3079 3634
 							$isAutoFolder=true;
3635
+						}
3080 3636
 							$autoFolderObjects[$k]=$f;
3081 3637
 							unset($folders[$k]);
3082 3638
 							$sorted=true;
@@ -3092,7 +3648,8 @@  discard block
 block discarded – undo
3092 3648
 						if ($nameSpace[$type]['prefix_present']&&$nameSpace[$type]['prefix'])
3093 3649
 						{
3094 3650
 							if (substr($k,0,strlen($nameSpace[$type]['prefix']))==$nameSpace[$type]['prefix']||
3095
-								substr($k,0,strlen($nameSpace[$type]['prefix'])-strlen($nameSpace[$type]['delimiter']))==substr($nameSpace[$type]['prefix'],0,strlen($nameSpace[$type]['delimiter'])*-1)) {
3651
+								substr($k,0,strlen($nameSpace[$type]['prefix'])-strlen($nameSpace[$type]['delimiter']))==substr($nameSpace[$type]['prefix'],0,strlen($nameSpace[$type]['delimiter'])*-1))
3652
+							{
3096 3653
 								//error_log(__METHOD__.__LINE__.':'.substr($k,0,strlen($nameSpace[$type]['prefix'])).':'.$k);
3097 3654
 								$typeFolderObject[$type][$k]=$f;
3098 3655
 								unset($folders[$k]);
@@ -3119,9 +3676,12 @@  discard block
 block discarded – undo
3119 3676
 				}
3120 3677
 			}
3121 3678
 			//error_log(__METHOD__.__LINE__.array2string($autoFolderObjects));
3122
-			if (!$isGoogleMail) {
3679
+			if (!$isGoogleMail)
3680
+			{
3123 3681
 				$folders = array_merge($inboxFolderObject,$autoFolderObjects,(array)$inboxSubFolderObjects,(array)$folders,(array)$typeFolderObject['others'],(array)$typeFolderObject['shared']);
3124
-			} else {
3682
+			}
3683
+			else
3684
+			{
3125 3685
 				// avoid calling sortByAutoFolder as it is not regarding subfolders
3126 3686
 				$gAutoFolderObjectsTmp = $googleAutoFolderObjects;
3127 3687
 				unset($googleAutoFolderObjects);
@@ -3138,7 +3698,10 @@  discard block
 block discarded – undo
3138 3698
 				}
3139 3699
 				$folders = array_merge($inboxFolderObject,$autoFolderObjects,(array)$folders,(array)$googleMailFolderObject,$googleAutoFolderObjects,$googleSubFolderObjects,(array)$typeFolderObject['others'],(array)$typeFolderObject['shared']);
3140 3700
 			}
3141
-			if (self::$debugTimes) self::logRunTimes($starttime,null,function_backtrace(),__METHOD__.' ('.__LINE__.') Sorting:');
3701
+			if (self::$debugTimes)
3702
+			{
3703
+				self::logRunTimes($starttime,null,function_backtrace(),__METHOD__.' ('.__LINE__.') Sorting:');
3704
+			}
3142 3705
 			//self::$debugTimes=false;
3143 3706
 		}
3144 3707
 		// Get counter information and add them to each fetched folders array
@@ -3188,7 +3751,13 @@  discard block
 block discarded – undo
3188 3751
 		$rv = false;
3189 3752
 		foreach ($haystack as $k => $v)
3190 3753
 		{
3191
-			foreach($v as &$sv) {if (trim($sv)==trim($needle)) return $k;}
3754
+			foreach($v as &$sv)
3755
+			{
3756
+if (trim($sv)==trim($needle))
3757
+			{
3758
+				return $k;
3759
+			}
3760
+			}
3192 3761
 		}
3193 3762
 		return $rv;
3194 3763
 	}
@@ -3215,7 +3784,10 @@  discard block
 block discarded – undo
3215 3784
 	 */
3216 3785
 	static function pathToFolderData ($_path, $_hDelimiter)
3217 3786
 	{
3218
-		if (!strpos($_path, self::DELIMITER)) $_path = self::DELIMITER.$_path;
3787
+		if (!strpos($_path, self::DELIMITER))
3788
+		{
3789
+			$_path = self::DELIMITER.$_path;
3790
+		}
3219 3791
 		list(,$path) = explode(self::DELIMITER, $_path);
3220 3792
 		$path_chain = $parts = explode($_hDelimiter, $path);
3221 3793
 		$name = array_pop($parts);
@@ -3244,7 +3816,10 @@  discard block
 block discarded – undo
3244 3816
 		$b = self::pathToFolderData($_b['MAILBOX'], $_b['delimiter']);
3245 3817
 		$pos1 = array_search(trim($a['name']),self::$autoFolders);
3246 3818
 		$pos2 = array_search(trim($b['name']),self::$autoFolders);
3247
-		if ($pos1 == $pos2) return 0;
3819
+		if ($pos1 == $pos2)
3820
+		{
3821
+			return 0;
3822
+		}
3248 3823
 		return ($pos1 < $pos2) ? -1 : 1;
3249 3824
 	}
3250 3825
 
@@ -3275,7 +3850,10 @@  discard block
 block discarded – undo
3275 3850
 		// 0, 1 und -1
3276 3851
 		$pos1 = array_search(trim($a->shortFolderName),self::$autoFolders);
3277 3852
 		$pos2 = array_search(trim($b->shortFolderName),self::$autoFolders);
3278
-		if ($pos1 == $pos2) return 0;
3853
+		if ($pos1 == $pos2)
3854
+		{
3855
+			return 0;
3856
+		}
3279 3857
 		return ($pos1 < $pos2) ? -1 : 1;
3280 3858
 	}
3281 3859
 
@@ -3296,11 +3874,18 @@  discard block
 block discarded – undo
3296 3874
 		}
3297 3875
 		catch (\Exception $e)
3298 3876
 		{
3299
-			if (self::$debug) error_log(__METHOD__." returned FolderStatus for Folder $folderName:".$e->getMessage());
3877
+			if (self::$debug)
3878
+			{
3879
+				error_log(__METHOD__." returned FolderStatus for Folder $folderName:".$e->getMessage());
3880
+			}
3300 3881
 			return false;
3301 3882
 		}
3302
-		if(is_array($folderStatus)) {
3303
-			if ($_returnObject===false) return $folderStatus;
3883
+		if(is_array($folderStatus))
3884
+		{
3885
+			if ($_returnObject===false)
3886
+			{
3887
+				return $folderStatus;
3888
+			}
3304 3889
 			$status =  new \stdClass;
3305 3890
 			$status->messages   = $folderStatus['MESSAGES'];
3306 3891
 			$status->unseen     = $folderStatus['UNSEEN'];
@@ -3327,7 +3912,8 @@  discard block
 block discarded – undo
3327 3912
 	{
3328 3913
 		#echo __METHOD__." retrieve SubFolders for $_mailbox$delimiter <br>";
3329 3914
 		$maxreclevel=25;
3330
-		if ($reclevel > $maxreclevel) {
3915
+		if ($reclevel > $maxreclevel)
3916
+		{
3331 3917
 			error_log( __METHOD__." Recursion Level Exeeded ($reclevel) while looking up $_mailbox$delimiter ");
3332 3918
 			return array();
3333 3919
 		}
@@ -3341,7 +3927,8 @@  discard block
 block discarded – undo
3341 3927
 //error_log(__METHOD__.' ('.__LINE__.') '.' Delimiter:'.array2string($delimiter));
3342 3928
 //error_log(__METHOD__.' ('.__LINE__.') '.array2string($mbx));
3343 3929
 		// Example: Array([INBOX/GaGa] => Array([MAILBOX] => INBOX/GaGa[ATTRIBUTES] => Array([0] => \\unmarked)[delimiter] => /))
3344
-		if (is_array($mbx[$mbxkeys[0]]["ATTRIBUTES"]) && (in_array('\HasChildren',$mbx[$mbxkeys[0]]["ATTRIBUTES"]) || in_array('\Haschildren',$mbx[$mbxkeys[0]]["ATTRIBUTES"]) || in_array('\haschildren',$mbx[$mbxkeys[0]]["ATTRIBUTES"]))) {
3930
+		if (is_array($mbx[$mbxkeys[0]]["ATTRIBUTES"]) && (in_array('\HasChildren',$mbx[$mbxkeys[0]]["ATTRIBUTES"]) || in_array('\Haschildren',$mbx[$mbxkeys[0]]["ATTRIBUTES"]) || in_array('\haschildren',$mbx[$mbxkeys[0]]["ATTRIBUTES"])))
3931
+		{
3345 3932
 			// if there are children fetch them
3346 3933
 			//echo $mbx[$mbxkeys[0]]['MAILBOX']."<br>";
3347 3934
 
@@ -3349,7 +3936,8 @@  discard block
 block discarded – undo
3349 3936
 			//$buff = $this->icServer->getMailboxes($mbx[$mbxkeys[0]]['MAILBOX'],2,false);
3350 3937
 			//_debug_array($buff);
3351 3938
 			$allMailboxes = array();
3352
-			foreach ($buff as $mbxname) {
3939
+			foreach ($buff as $mbxname)
3940
+			{
3353 3941
 //error_log(__METHOD__.' ('.__LINE__.') '.array2string($mbxname));
3354 3942
 				$mbxname = preg_replace('~'.($delimiter == '.' ? "\\".$delimiter:$delimiter).'+~s',$delimiter,$mbxname['MAILBOX']);
3355 3943
 				#echo "About to recur in level $reclevel:".$mbxname."<br>";
@@ -3358,9 +3946,14 @@  discard block
 block discarded – undo
3358 3946
 					$allMailboxes = array_merge($allMailboxes, self::getMailBoxesRecursive($mbxname, $delimiter, $prefix, $reclevel));
3359 3947
 				}
3360 3948
 			}
3361
-			if (!(in_array('\NoSelect',$mbx[$mbxkeys[0]]["ATTRIBUTES"]) || in_array('\Noselect',$mbx[$mbxkeys[0]]["ATTRIBUTES"]) || in_array('\noselect',$mbx[$mbxkeys[0]]["ATTRIBUTES"]))) $allMailboxes[] = $mbx[$mbxkeys[0]]['MAILBOX'];
3949
+			if (!(in_array('\NoSelect',$mbx[$mbxkeys[0]]["ATTRIBUTES"]) || in_array('\Noselect',$mbx[$mbxkeys[0]]["ATTRIBUTES"]) || in_array('\noselect',$mbx[$mbxkeys[0]]["ATTRIBUTES"])))
3950
+			{
3951
+				$allMailboxes[] = $mbx[$mbxkeys[0]]['MAILBOX'];
3952
+			}
3362 3953
 			return $allMailboxes;
3363
-		} else {
3954
+		}
3955
+		else
3956
+		{
3364 3957
 			return array($_mailbox);
3365 3958
 		}
3366 3959
 	}
@@ -3384,14 +3977,21 @@  discard block
 block discarded – undo
3384 3977
 			'Outbox'   => array('profileKey'=>'acc_folder_outbox','autoFolderName'=>'Outbox'),
3385 3978
 			'Archive'   => array('profileKey'=>'acc_folder_archive','autoFolderName'=>'Archive'),
3386 3979
 		);
3387
-		if ($_type == 'Templates') $_type = 'Template';	// for some reason self::$autofolders uses 'Templates'!
3980
+		if ($_type == 'Templates')
3981
+		{
3982
+			$_type = 'Template';
3983
+		}
3984
+		// for some reason self::$autofolders uses 'Templates'!
3388 3985
 		$created = false;
3389 3986
 		if (!isset($types[$_type]))
3390 3987
 		{
3391 3988
 			error_log(__METHOD__.' ('.__LINE__.') '.' '.$_type.' not supported for '.__METHOD__);
3392 3989
 			return false;
3393 3990
 		}
3394
-		if (is_null(self::$specialUseFolders) || empty(self::$specialUseFolders)) self::$specialUseFolders = $this->getSpecialUseFolders();
3991
+		if (is_null(self::$specialUseFolders) || empty(self::$specialUseFolders))
3992
+		{
3993
+			self::$specialUseFolders = $this->getSpecialUseFolders();
3994
+		}
3395 3995
 
3396 3996
 		//highest precedence
3397 3997
 		try
@@ -3401,25 +4001,39 @@  discard block
 block discarded – undo
3401 4001
 		catch (\Exception $e)
3402 4002
 		{
3403 4003
 			// we know that outbox is not supported, but we use this here, as we autocreate expected SpecialUseFolders in this function
3404
-			if ($_type != 'Outbox') error_log(__METHOD__.' ('.__LINE__.') '.' Failed to retrieve Folder'.$_folderName." for ".array2string($types[$_type]).":".$e->getMessage());
4004
+			if ($_type != 'Outbox')
4005
+			{
4006
+				error_log(__METHOD__.' ('.__LINE__.') '.' Failed to retrieve Folder'.$_folderName." for ".array2string($types[$_type]).":".$e->getMessage());
4007
+			}
3405 4008
 			$_folderName = false;
3406 4009
 		}
3407 4010
 		// do not try to autocreate configured Archive-Folder. Return false if configured folder does not exist
3408
-		if ($_type == 'Archive') {
3409
-			if ($_folderName && $_checkexistance && strtolower($_folderName) !='none' && !$this->folderExists($_folderName,true)) {
4011
+		if ($_type == 'Archive')
4012
+		{
4013
+			if ($_folderName && $_checkexistance && strtolower($_folderName) !='none' && !$this->folderExists($_folderName,true))
4014
+			{
3410 4015
 				return false;
3411
-			} else {
4016
+			}
4017
+			else
4018
+			{
3412 4019
 				return $_folderName;
3413 4020
 			}
3414 4021
 
3415 4022
 		}
3416 4023
 		// does the folder exist??? (is configured/preset, but non-existent)
3417
-		if ($_folderName && $_checkexistance && strtolower($_folderName) !='none' && !$this->folderExists($_folderName,true)) {
4024
+		if ($_folderName && $_checkexistance && strtolower($_folderName) !='none' && !$this->folderExists($_folderName,true))
4025
+		{
3418 4026
 			try
3419 4027
 			{
3420 4028
 				$error = null;
3421
-				if (($_folderName = $this->createFolder('', $_folderName, $error))) $created = true;
3422
-				if ($error) error_log(__METHOD__.' ('.__LINE__.') '.' Failed to create Folder '.$_folderName." for $_type:".$error);
4029
+				if (($_folderName = $this->createFolder('', $_folderName, $error)))
4030
+				{
4031
+					$created = true;
4032
+				}
4033
+				if ($error)
4034
+				{
4035
+					error_log(__METHOD__.' ('.__LINE__.') '.' Failed to create Folder '.$_folderName." for $_type:".$error);
4036
+				}
3423 4037
 			}
3424 4038
 			catch(Exception $e)
3425 4039
 			{
@@ -3428,9 +4042,16 @@  discard block
 block discarded – undo
3428 4042
 			}
3429 4043
 		}
3430 4044
 		// not sure yet if false is the correct behavior on none
3431
-		if ($_folderName =='none') return 'none' ; //false;
4045
+		if ($_folderName =='none')
4046
+		{
4047
+			return 'none' ;
4048
+		}
4049
+		//false;
3432 4050
 		//no (valid) folder found yet; try specialUseFolders
3433
-		if (empty($_folderName) && is_array(self::$specialUseFolders) && ($f = array_search($_type,self::$specialUseFolders))) $_folderName = $f;
4051
+		if (empty($_folderName) && is_array(self::$specialUseFolders) && ($f = array_search($_type,self::$specialUseFolders)))
4052
+		{
4053
+			$_folderName = $f;
4054
+		}
3434 4055
 		//no specialUseFolder; try some Defaults
3435 4056
 		if (empty($_folderName) && isset($types[$_type]))
3436 4057
 		{
@@ -3456,7 +4077,10 @@  discard block
 block discarded – undo
3456 4077
 					$error = null;
3457 4078
 					$this->createFolder('', $prefix.$types[$_type]['autoFolderName'],$error);
3458 4079
 					$_folderName = $prefix.$types[$_type]['autoFolderName'];
3459
-					if ($error) error_log(__METHOD__.' ('.__LINE__.') '.' Failed to create Folder '.$_folderName." for $_type:".$error);
4080
+					if ($error)
4081
+					{
4082
+						error_log(__METHOD__.' ('.__LINE__.') '.' Failed to create Folder '.$_folderName." for $_type:".$error);
4083
+					}
3460 4084
 				}
3461 4085
 				catch(Exception $e)
3462 4086
 				{
@@ -3559,25 +4183,35 @@  discard block
 block discarded – undo
3559 4183
 	function isSentFolder($_folderName, $_checkexistance=TRUE, $_exactMatch=false)
3560 4184
 	{
3561 4185
 		$sentFolder = $this->getSentFolder($_checkexistance);
3562
-		if(empty($sentFolder)) {
4186
+		if(empty($sentFolder))
4187
+		{
3563 4188
 			return false;
3564 4189
 		}
3565 4190
 		// does the folder exist???
3566
-		if ($_checkexistance && !$this->folderExists($_folderName)) {
4191
+		if ($_checkexistance && !$this->folderExists($_folderName))
4192
+		{
3567 4193
 			return false;
3568 4194
 		}
3569 4195
 
3570 4196
 		if ($_exactMatch)
3571 4197
 		{
3572
-			if(false !== stripos($_folderName, $sentFolder)&& strlen($_folderName)==strlen($sentFolder)) {
4198
+			if(false !== stripos($_folderName, $sentFolder)&& strlen($_folderName)==strlen($sentFolder))
4199
+			{
3573 4200
 				return true;
3574
-			} else {
4201
+			}
4202
+			else
4203
+			{
3575 4204
 				return false;
3576 4205
 			}
3577
-		} else {
3578
-			if(false !== stripos($_folderName, $sentFolder)) {
4206
+		}
4207
+		else
4208
+		{
4209
+			if(false !== stripos($_folderName, $sentFolder))
4210
+			{
3579 4211
 				return true;
3580
-			} else {
4212
+			}
4213
+			else
4214
+			{
3581 4215
 				return false;
3582 4216
 			}
3583 4217
 		}
@@ -3592,23 +4226,33 @@  discard block
 block discarded – undo
3592 4226
 	 */
3593 4227
 	function isOutbox($_folderName, $_checkexistance=TRUE, $_exactMatch=false)
3594 4228
 	{
3595
-		if (stripos($_folderName, 'Outbox')===false) {
4229
+		if (stripos($_folderName, 'Outbox')===false)
4230
+		{
3596 4231
 			return false;
3597 4232
 		}
3598 4233
 		// does the folder exist???
3599
-		if ($_checkexistance && $GLOBALS['egw_info']['user']['apps']['activesync'] && !$this->folderExists($_folderName)) {
4234
+		if ($_checkexistance && $GLOBALS['egw_info']['user']['apps']['activesync'] && !$this->folderExists($_folderName))
4235
+		{
3600 4236
 			$outboxFolder = $this->getOutboxFolder($_checkexistance);
3601 4237
 			if ($_exactMatch)
3602 4238
 			{
3603
-				if(false !== stripos($_folderName, $outboxFolder)&& strlen($_folderName)==strlen($outboxFolder)) {
4239
+				if(false !== stripos($_folderName, $outboxFolder)&& strlen($_folderName)==strlen($outboxFolder))
4240
+				{
3604 4241
 					return true;
3605
-				} else {
4242
+				}
4243
+				else
4244
+				{
3606 4245
 					return false;
3607 4246
 				}
3608
-			} else {
3609
-				if(false !== stripos($_folderName, $outboxFolder)) {
4247
+			}
4248
+			else
4249
+			{
4250
+				if(false !== stripos($_folderName, $outboxFolder))
4251
+				{
3610 4252
 					return true;
3611
-				} else {
4253
+				}
4254
+				else
4255
+				{
3612 4256
 					return false;
3613 4257
 				}
3614 4258
 			}
@@ -3626,25 +4270,38 @@  discard block
 block discarded – undo
3626 4270
 	function isDraftFolder($_folderName, $_checkexistance=TRUE, $_exactMatch=false)
3627 4271
 	{
3628 4272
 		$draftFolder = $this->getDraftFolder($_checkexistance);
3629
-		if(empty($draftFolder)) {
4273
+		if(empty($draftFolder))
4274
+		{
3630 4275
 			return false;
3631 4276
 		}
3632 4277
 		// does the folder exist???
3633
-		if ($_checkexistance && !$this->folderExists($_folderName)) {
4278
+		if ($_checkexistance && !$this->folderExists($_folderName))
4279
+		{
3634 4280
 			return false;
3635 4281
 		}
3636
-		if (is_a($_folderName,"Horde_Imap_Client_Mailbox")) $_folderName = $_folderName->utf8;
4282
+		if (is_a($_folderName,"Horde_Imap_Client_Mailbox"))
4283
+		{
4284
+			$_folderName = $_folderName->utf8;
4285
+		}
3637 4286
 		if ($_exactMatch)
3638 4287
 		{
3639
-			if(false !== stripos($_folderName, $draftFolder)&& strlen($_folderName)==strlen($draftFolder)) {
4288
+			if(false !== stripos($_folderName, $draftFolder)&& strlen($_folderName)==strlen($draftFolder))
4289
+			{
4290
+				return true;
4291
+			}
4292
+			else
4293
+			{
4294
+				return false;
4295
+			}
4296
+		}
4297
+		else
4298
+		{
4299
+			if(false !== stripos($_folderName, $draftFolder))
4300
+			{
3640 4301
 				return true;
3641
-			} else {
3642
-				return false;
3643 4302
 			}
3644
-		} else {
3645
-			if(false !== stripos($_folderName, $draftFolder)) {
3646
-				return true;
3647
-			} else {
4303
+			else
4304
+			{
3648 4305
 				return false;
3649 4306
 			}
3650 4307
 		}
@@ -3660,25 +4317,35 @@  discard block
 block discarded – undo
3660 4317
 	function isTrashFolder($_folderName, $_checkexistance=TRUE, $_exactMatch=false)
3661 4318
 	{
3662 4319
 		$trashFolder = $this->getTrashFolder($_checkexistance);
3663
-		if(empty($trashFolder)) {
4320
+		if(empty($trashFolder))
4321
+		{
3664 4322
 			return false;
3665 4323
 		}
3666 4324
 		// does the folder exist???
3667
-		if ($_checkexistance && !$this->folderExists($_folderName)) {
4325
+		if ($_checkexistance && !$this->folderExists($_folderName))
4326
+		{
3668 4327
 			return false;
3669 4328
 		}
3670 4329
 
3671 4330
 		if ($_exactMatch)
3672 4331
 		{
3673
-			if(false !== stripos($_folderName, $trashFolder)&& strlen($_folderName)==strlen($trashFolder)) {
4332
+			if(false !== stripos($_folderName, $trashFolder)&& strlen($_folderName)==strlen($trashFolder))
4333
+			{
3674 4334
 				return true;
3675
-			} else {
4335
+			}
4336
+			else
4337
+			{
3676 4338
 				return false;
3677 4339
 			}
3678
-		} else {
3679
-			if(false !== stripos($_folderName, $trashFolder)) {
4340
+		}
4341
+		else
4342
+		{
4343
+			if(false !== stripos($_folderName, $trashFolder))
4344
+			{
3680 4345
 				return true;
3681
-			} else {
4346
+			}
4347
+			else
4348
+			{
3682 4349
 				return false;
3683 4350
 			}
3684 4351
 		}
@@ -3694,24 +4361,34 @@  discard block
 block discarded – undo
3694 4361
 	function isTemplateFolder($_folderName, $_checkexistance=TRUE, $_exactMatch=false)
3695 4362
 	{
3696 4363
 		$templateFolder = $this->getTemplateFolder($_checkexistance);
3697
-		if(empty($templateFolder)) {
4364
+		if(empty($templateFolder))
4365
+		{
3698 4366
 			return false;
3699 4367
 		}
3700 4368
 		// does the folder exist???
3701
-		if ($_checkexistance && !$this->folderExists($_folderName)) {
4369
+		if ($_checkexistance && !$this->folderExists($_folderName))
4370
+		{
3702 4371
 			return false;
3703 4372
 		}
3704 4373
 		if ($_exactMatch)
3705 4374
 		{
3706
-			if(false !== stripos($_folderName, $templateFolder)&& strlen($_folderName)==strlen($templateFolder)) {
4375
+			if(false !== stripos($_folderName, $templateFolder)&& strlen($_folderName)==strlen($templateFolder))
4376
+			{
3707 4377
 				return true;
3708
-			} else {
4378
+			}
4379
+			else
4380
+			{
3709 4381
 				return false;
3710 4382
 			}
3711
-		} else {
3712
-			if(false !== stripos($_folderName, $templateFolder)) {
4383
+		}
4384
+		else
4385
+		{
4386
+			if(false !== stripos($_folderName, $templateFolder))
4387
+			{
3713 4388
 				return true;
3714
-			} else {
4389
+			}
4390
+			else
4391
+			{
3715 4392
 				return false;
3716 4393
 			}
3717 4394
 		}
@@ -3730,15 +4407,27 @@  discard block
 block discarded – undo
3730 4407
 		if (empty($_folder))
3731 4408
 		{
3732 4409
 			// this error is more or less without significance, unless we force the check
3733
-			if ($_forceCheck===true) error_log(__METHOD__.' ('.__LINE__.') '.' Called with empty Folder:'.$_folder.function_backtrace());
4410
+			if ($_forceCheck===true)
4411
+			{
4412
+				error_log(__METHOD__.' ('.__LINE__.') '.' Called with empty Folder:'.$_folder.function_backtrace());
4413
+			}
3734 4414
 			return false;
3735 4415
 		}
3736 4416
 		// when check is not enforced , we assume a folder represented as Horde_Imap_Client_Mailbox as existing folder
3737
-		if (is_a($_folder,"Horde_Imap_Client_Mailbox")&&$_forceCheck===false) return true;
3738
-		if (is_a($_folder,"Horde_Imap_Client_Mailbox")) $_folder =  $_folder->utf8;
4417
+		if (is_a($_folder,"Horde_Imap_Client_Mailbox")&&$_forceCheck===false)
4418
+		{
4419
+			return true;
4420
+		}
4421
+		if (is_a($_folder,"Horde_Imap_Client_Mailbox"))
4422
+		{
4423
+			$_folder =  $_folder->utf8;
4424
+		}
3739 4425
 		// reduce traffic within the Instance per User; Expire every 5 hours
3740 4426
 		//error_log(__METHOD__.' ('.__LINE__.') '.' Called with Folder:'.$_folder.function_backtrace());
3741
-		if (is_null($folderInfo)) $folderInfo = Cache::getCache(Cache::INSTANCE,'email','icServerFolderExistsInfo'.trim($GLOBALS['egw_info']['user']['account_id']),null,array(),$expiration=60*60*5);
4427
+		if (is_null($folderInfo))
4428
+		{
4429
+			$folderInfo = Cache::getCache(Cache::INSTANCE,'email','icServerFolderExistsInfo'.trim($GLOBALS['egw_info']['user']['account_id']),null,array(),$expiration=60*60*5);
4430
+		}
3742 4431
 		//error_log(__METHOD__.' ('.__LINE__.') '.'Cached Info on Folder:'.$_folder.' for Profile:'.$this->profileID.($forceCheck?'(forcedCheck)':'').':'.array2string($folderInfo));
3743 4432
 		if (!empty($folderInfo) && isset($folderInfo[$this->profileID]) && isset($folderInfo[$this->profileID][$_folder]) && $forceCheck===false)
3744 4433
 		{
@@ -3756,7 +4445,8 @@  discard block
 block discarded – undo
3756 4445
 
3757 4446
 		// does the folder exist???
3758 4447
 		//error_log(__METHOD__."->Connected?".$this->icServer->_connected.", ".$_folder.", ".($forceCheck?' forceCheck activated':'dont check on server'));
3759
-		if ( $forceCheck || empty($folderInfo) || !isset($folderInfo[$this->profileID]) || !isset($folderInfo[$this->profileID][$_folder])) {
4448
+		if ( $forceCheck || empty($folderInfo) || !isset($folderInfo[$this->profileID]) || !isset($folderInfo[$this->profileID][$_folder]))
4449
+		{
3760 4450
 			//error_log(__METHOD__."->NotConnected and forceCheck with profile:".$this->profileID);
3761 4451
 			//return false;
3762 4452
 			//try to connect
@@ -3797,9 +4487,12 @@  discard block
 block discarded – undo
3797 4487
 
3798 4488
 		$this->icServer->openMailbox($folderName);
3799 4489
 
3800
-		if(strtolower($folderName) == strtolower($trashFolder) && $deleteOptions == "move_to_trash") {
4490
+		if(strtolower($folderName) == strtolower($trashFolder) && $deleteOptions == "move_to_trash")
4491
+		{
3801 4492
 			$this->deleteMessages('all',$folderName,'remove_immediately');
3802
-		} else {
4493
+		}
4494
+		else
4495
+		{
3803 4496
 			$this->icServer->expunge($folderName);
3804 4497
 		}
3805 4498
 	}
@@ -3818,10 +4511,16 @@  discard block
 block discarded – undo
3818 4511
 	{
3819 4512
 		//error_log(__METHOD__.' ('.__LINE__.') '.'->'.array2string($_messageUID).','.array2string($_folder).', '.$_forceDeleteMethod);
3820 4513
 		$oldMailbox = '';
3821
-		if (is_null($_folder) || empty($_folder)) $_folder = $this->sessionData['mailbox'];
4514
+		if (is_null($_folder) || empty($_folder))
4515
+		{
4516
+			$_folder = $this->sessionData['mailbox'];
4517
+		}
3822 4518
 		if (empty($_messageUID))
3823 4519
 		{
3824
-			if (self::$debug) error_log(__METHOD__." no messages Message(s): ".implode(',',$_messageUID));
4520
+			if (self::$debug)
4521
+			{
4522
+				error_log(__METHOD__." no messages Message(s): ".implode(',',$_messageUID));
4523
+			}
3825 4524
 			return false;
3826 4525
 		}
3827 4526
 		elseif ($_messageUID==='all')
@@ -3831,32 +4530,48 @@  discard block
 block discarded – undo
3831 4530
 		else
3832 4531
 		{
3833 4532
 			$uidsToDelete = new Horde_Imap_Client_Ids();
3834
-			if (!(is_object($_messageUID) || is_array($_messageUID))) $_messageUID = (array)$_messageUID;
4533
+			if (!(is_object($_messageUID) || is_array($_messageUID)))
4534
+			{
4535
+				$_messageUID = (array)$_messageUID;
4536
+			}
3835 4537
 			$uidsToDelete->add($_messageUID);
3836 4538
 		}
3837 4539
 		$deleteOptions = $_forceDeleteMethod; // use forceDeleteMethod if not "no", or unknown method
3838
-		if ($_forceDeleteMethod === 'no' || !in_array($_forceDeleteMethod,array('move_to_trash',"mark_as_deleted","remove_immediately"))) $deleteOptions  = ($this->mailPreferences['deleteOptions']?$this->mailPreferences['deleteOptions']:"mark_as_deleted");
4540
+		if ($_forceDeleteMethod === 'no' || !in_array($_forceDeleteMethod,array('move_to_trash',"mark_as_deleted","remove_immediately")))
4541
+		{
4542
+			$deleteOptions  = ($this->mailPreferences['deleteOptions']?$this->mailPreferences['deleteOptions']:"mark_as_deleted");
4543
+		}
3839 4544
 		//error_log(__METHOD__.' ('.__LINE__.') '.'->'.array2string($_messageUID).','.$_folder.'/'.$this->sessionData['mailbox'].' Option:'.$deleteOptions);
3840 4545
 		$trashFolder    = $this->getTrashFolder();
3841 4546
 		$draftFolder	= $this->getDraftFolder(); //$GLOBALS['egw_info']['user']['preferences']['mail']['draftFolder'];
3842 4547
 		$templateFolder = $this->getTemplateFolder(); //$GLOBALS['egw_info']['user']['preferences']['mail']['templateFolder'];
3843 4548
 		if((strtolower($_folder) == strtolower($trashFolder) && $deleteOptions == "move_to_trash") ||
3844
-		   (strtolower($_folder) == strtolower($draftFolder))) {
4549
+		   (strtolower($_folder) == strtolower($draftFolder)))
4550
+		{
3845 4551
 			$deleteOptions = "remove_immediately";
3846 4552
 		}
3847
-		if($this->icServer->getCurrentMailbox() != $_folder) {
4553
+		if($this->icServer->getCurrentMailbox() != $_folder)
4554
+		{
3848 4555
 			$oldMailbox = $this->icServer->getCurrentMailbox();
3849 4556
 			$this->icServer->openMailbox($_folder);
3850 4557
 		}
3851 4558
 		//error_log(__METHOD__.' ('.__LINE__.') '.'->'.array2string($_messageUID).','.$_folder.'/'.$this->sessionData['mailbox'].' Option:'.$deleteOptions);
3852 4559
 		$updateCache = false;
3853
-		switch($deleteOptions) {
4560
+		switch($deleteOptions)
4561
+		{
3854 4562
 			case "move_to_trash":
3855 4563
 				//error_log(__METHOD__.' ('.__LINE__.') ');
3856 4564
 				$updateCache = true;
3857
-				if(!empty($trashFolder)) {
3858
-					if (self::$debug) error_log(__METHOD__.' ('.__LINE__.') '.implode(' : ', $_messageUID));
3859
-					if (self::$debug) error_log(__METHOD__.' ('.__LINE__.') '."$trashFolder <= $_folder / ". $this->sessionData['mailbox']);
4565
+				if(!empty($trashFolder))
4566
+				{
4567
+					if (self::$debug)
4568
+					{
4569
+						error_log(__METHOD__.' ('.__LINE__.') '.implode(' : ', $_messageUID));
4570
+					}
4571
+					if (self::$debug)
4572
+					{
4573
+						error_log(__METHOD__.' ('.__LINE__.') '."$trashFolder <= $_folder / ". $this->sessionData['mailbox']);
4574
+					}
3860 4575
 					// copy messages
3861 4576
 					try
3862 4577
 					{
@@ -3872,7 +4587,10 @@  discard block
 block discarded – undo
3872 4587
 			case "mark_as_deleted":
3873 4588
 				//error_log(__METHOD__.' ('.__LINE__.') ');
3874 4589
 				// mark messages as deleted
3875
-				if (is_null($_messageUID)) $_messageUID='all';
4590
+				if (is_null($_messageUID))
4591
+				{
4592
+					$_messageUID='all';
4593
+				}
3876 4594
 				foreach((array)$_messageUID as $key =>$uid)
3877 4595
 				{
3878 4596
 					//flag messages, that are flagged for deletion as seen too
@@ -3880,7 +4598,10 @@  discard block
 block discarded – undo
3880 4598
 					$flags = $this->getFlags($uid);
3881 4599
 					$this->flagMessages('delete', $uid, $_folder);
3882 4600
 					//error_log(__METHOD__.' ('.__LINE__.') '.array2string($flags));
3883
-					if (strpos( array2string($flags),'Deleted')!==false) $undelete[] = $uid;
4601
+					if (strpos( array2string($flags),'Deleted')!==false)
4602
+					{
4603
+						$undelete[] = $uid;
4604
+					}
3884 4605
 					unset($flags);
3885 4606
 				}
3886 4607
 				foreach((array)$undelete as $key =>$uid)
@@ -3892,7 +4613,10 @@  discard block
 block discarded – undo
3892 4613
 			case "remove_immediately":
3893 4614
 				//error_log(__METHOD__.' ('.__LINE__.') ');
3894 4615
 				$updateCache = true;
3895
-				if (is_null($_messageUID)) $_messageUID='all';
4616
+				if (is_null($_messageUID))
4617
+				{
4618
+					$_messageUID='all';
4619
+				}
3896 4620
 				if (is_object($_messageUID))
3897 4621
 				{
3898 4622
 					$this->flagMessages('delete', $_messageUID, $_folder);
@@ -3909,7 +4633,8 @@  discard block
 block discarded – undo
3909 4633
 				$this->icServer->expunge($_folder);
3910 4634
 				break;
3911 4635
 		}
3912
-		if($oldMailbox != '') {
4636
+		if($oldMailbox != '')
4637
+		{
3913 4638
 			$this->icServer->openMailbox($oldMailbox);
3914 4639
 		}
3915 4640
 
@@ -3923,11 +4648,15 @@  discard block
 block discarded – undo
3923 4648
 	 *
3924 4649
 	 * @return null/array flags
3925 4650
 	 */
3926
-	function getFlags ($_messageUID) {
4651
+	function getFlags ($_messageUID)
4652
+	{
3927 4653
 		try
3928 4654
 		{
3929 4655
 			$uidsToFetch = new Horde_Imap_Client_Ids();
3930
-			if (!(is_object($_messageUID) || is_array($_messageUID))) $_messageUID = (array)$_messageUID;
4656
+			if (!(is_object($_messageUID) || is_array($_messageUID)))
4657
+			{
4658
+				$_messageUID = (array)$_messageUID;
4659
+			}
3931 4660
 			$uidsToFetch->add($_messageUID);
3932 4661
 			$_folderName = $this->icServer->getCurrentMailbox();
3933 4662
 			$fquery = new Horde_Imap_Client_Fetch_Query();
@@ -3935,8 +4664,10 @@  discard block
 block discarded – undo
3935 4664
 			$headersNew = $this->icServer->fetch($_folderName, $fquery, array(
3936 4665
 				'ids' => $uidsToFetch,
3937 4666
 			));
3938
-			if (is_object($headersNew)) {
3939
-				foreach($headersNew->ids() as $id) {
4667
+			if (is_object($headersNew))
4668
+			{
4669
+				foreach($headersNew->ids() as $id)
4670
+				{
3940 4671
 					$_headerObject = $headersNew->get($id);
3941 4672
 					$flags = $_headerObject->getFlags();
3942 4673
 				}
@@ -3961,10 +4692,16 @@  discard block
 block discarded – undo
3961 4692
 	 */
3962 4693
 	function getNotifyFlags ($_messageUID, $flags=null)
3963 4694
 	{
3964
-		if (self::$debug) error_log(__METHOD__.$_messageUID.' Flags:'.array2string($flags));
4695
+		if (self::$debug)
4696
+		{
4697
+			error_log(__METHOD__.$_messageUID.' Flags:'.array2string($flags));
4698
+		}
3965 4699
 		try
3966 4700
 		{
3967
-			if($flags===null) $flags =  $this->getFlags($_messageUID);
4701
+			if($flags===null)
4702
+			{
4703
+				$flags =  $this->getFlags($_messageUID);
4704
+			}
3968 4705
 		}
3969 4706
 		catch (\Exception $e)
3970 4707
 		{
@@ -3972,10 +4709,14 @@  discard block
 block discarded – undo
3972 4709
 		}
3973 4710
 
3974 4711
 		if ( stripos( array2string($flags),'MDNSent')!==false)
3975
-			return true;
4712
+		{
4713
+					return true;
4714
+		}
3976 4715
 
3977 4716
 		if ( stripos( array2string($flags),'MDNnotSent')!==false)
3978
-			return false;
4717
+		{
4718
+					return false;
4719
+		}
3979 4720
 
3980 4721
 		return null;
3981 4722
 	}
@@ -3996,7 +4737,10 @@  discard block
 block discarded – undo
3996 4737
 		//error_log(__METHOD__.' ('.__LINE__.') '.'->' .$_flag." ".array2string($_messageUID).",$_folder /".$this->sessionData['mailbox']);
3997 4738
 		if (empty($_messageUID))
3998 4739
 		{
3999
-			if (self::$debug) error_log(__METHOD__." no messages Message(s): ".implode(',',$_messageUID));
4740
+			if (self::$debug)
4741
+			{
4742
+				error_log(__METHOD__." no messages Message(s): ".implode(',',$_messageUID));
4743
+			}
4000 4744
 			return false;
4001 4745
 		}
4002 4746
 		$this->icServer->openMailbox(($_folder?$_folder:$this->sessionData['mailbox']));
@@ -4004,7 +4748,10 @@  discard block
 block discarded – undo
4004 4748
 		if (is_array($_messageUID)&& count($_messageUID)>50)
4005 4749
 		{
4006 4750
 			$count = $this->getMailBoxCounters($folder,true);
4007
-			if ($count->messages == count($_messageUID)) $_messageUID='all';
4751
+			if ($count->messages == count($_messageUID))
4752
+			{
4753
+				$_messageUID='all';
4754
+			}
4008 4755
 		}
4009 4756
 
4010 4757
 		if ($_messageUID==='all')
@@ -4013,7 +4760,10 @@  discard block
 block discarded – undo
4013 4760
 		}
4014 4761
 		else
4015 4762
 		{
4016
-			if (!(is_object($_messageUID) || is_array($_messageUID))) $_messageUID = (array)$_messageUID;
4763
+			if (!(is_object($_messageUID) || is_array($_messageUID)))
4764
+			{
4765
+				$_messageUID = (array)$_messageUID;
4766
+			}
4017 4767
 			$messageUIDs = array_chunk($_messageUID,50,true);
4018 4768
 		}
4019 4769
 		try
@@ -4029,7 +4779,8 @@  discard block
 block discarded – undo
4029 4779
 					$uidsToModify = new Horde_Imap_Client_Ids();
4030 4780
 					$uidsToModify->add($uids);
4031 4781
 				}
4032
-				switch($_flag) {
4782
+				switch($_flag)
4783
+				{
4033 4784
 					case "delete":
4034 4785
 						$ret = $this->icServer->store($folder, array('add'=>array('\\Deleted'), 'ids'=> $uidsToModify));
4035 4786
 						break;
@@ -4115,7 +4866,10 @@  discard block
 block discarded – undo
4115 4866
 		{
4116 4867
 			error_log(__METHOD__.__LINE__.' Error, could not flag messages in folder '.$folder.' Reason:'.$e->getMessage());
4117 4868
 		}
4118
-		if ($folder instanceof Horde_Imap_Client_Mailbox) $_folder = $folder->utf8;
4869
+		if ($folder instanceof Horde_Imap_Client_Mailbox)
4870
+		{
4871
+			$_folder = $folder->utf8;
4872
+		}
4119 4873
 		//error_log(__METHOD__.__LINE__.'#'.$this->icServer->ImapServerId.'#'.array2string($_folder).'#');
4120 4874
 		self::$folderStatusCache[$this->icServer->ImapServerId][(!empty($_folder)?$_folder: $this->sessionData['mailbox'])]['uidValidity'] = 0;
4121 4875
 
@@ -4144,7 +4898,10 @@  discard block
 block discarded – undo
4144 4898
 		//$deleteOptions  = $GLOBALS['egw_info']["user"]["preferences"]["mail"]["deleteOptions"];
4145 4899
 		if (empty($_messageUID))
4146 4900
 		{
4147
-			if (self::$debug) error_log(__METHOD__." no Message(s): ".implode(',',$_messageUID));
4901
+			if (self::$debug)
4902
+			{
4903
+				error_log(__METHOD__." no Message(s): ".implode(',',$_messageUID));
4904
+			}
4148 4905
 			return false;
4149 4906
 		}
4150 4907
 		elseif ($_messageUID==='all')
@@ -4156,7 +4913,10 @@  discard block
 block discarded – undo
4156 4913
 		{
4157 4914
 			//error_log(__METHOD__." Message(s): ".implode(',',$_messageUID));
4158 4915
 			$uidsToMove = new Horde_Imap_Client_Ids();
4159
-			if (!(is_object($_messageUID) || is_array($_messageUID))) $_messageUID = (array)$_messageUID;
4916
+			if (!(is_object($_messageUID) || is_array($_messageUID)))
4917
+			{
4918
+				$_messageUID = (array)$_messageUID;
4919
+			}
4160 4920
 			$uidsToMove->add($_messageUID);
4161 4921
 		}
4162 4922
 		$sourceFolder = (!empty($currentFolder)?$currentFolder: $this->sessionData['mailbox']);
@@ -4178,12 +4938,14 @@  discard block
 block discarded – undo
4178 4938
 
4179 4939
 			//error_log(__METHOD__.' ('.__LINE__.') '.' Sourceserver:'.$source->ImapServerId.' mailheaders:'.array2string($headersNew));
4180 4940
 
4181
-			if (is_object($headersNew)) {
4941
+			if (is_object($headersNew))
4942
+			{
4182 4943
 				$c=0;
4183 4944
 				$retUid = new Horde_Imap_Client_Ids();
4184 4945
 				// we copy chunks of 5 to avoid too much memory and/or server stress
4185 4946
 				// some servers seem not to allow/support the appendig of multiple messages. so we are down to one
4186
-				foreach($headersNew as &$_headerObject) {
4947
+				foreach($headersNew as &$_headerObject)
4948
+				{
4187 4949
 					$c++;
4188 4950
 					$flags = $_headerObject->getFlags(); //unseen status seems to be lost when retrieving the full message
4189 4951
 					$date = $_headerObject->getImapDate();
@@ -4267,7 +5029,11 @@  discard block
 block discarded – undo
4267 5029
 	{
4268 5030
 		try {
4269 5031
 			$date = new DateTime($_date);	// parse date & time including timezone (throws exception, if not parsable)
4270
-			if ($convert2usertime) $date->setUser();	// convert to user-time
5032
+			if ($convert2usertime)
5033
+			{
5034
+				$date->setUser();
5035
+			}
5036
+			// convert to user-time
4271 5037
 			$date2return = $date->format($format);
4272 5038
 		}
4273 5039
 		catch(\Exception $e)
@@ -4299,9 +5065,15 @@  discard block
 block discarded – undo
4299 5065
 	static function htmlentities($_string, $_charset=false)
4300 5066
 	{
4301 5067
 		//setting the charset (if not given)
4302
-		if ($_charset===false) $_charset = self::$displayCharset;
5068
+		if ($_charset===false)
5069
+		{
5070
+			$_charset = self::$displayCharset;
5071
+		}
4303 5072
 		$string = @htmlentities($_string, ENT_QUOTES, $_charset, false);
4304
-		if (empty($string) && !empty($_string)) $string = @htmlentities(Translation::convert($_string,Translation::detect_encoding($_string),$_charset),ENT_QUOTES | ENT_IGNORE,$_charset, false);
5073
+		if (empty($string) && !empty($_string))
5074
+		{
5075
+			$string = @htmlentities(Translation::convert($_string,Translation::detect_encoding($_string),$_charset),ENT_QUOTES | ENT_IGNORE,$_charset, false);
5076
+		}
4305 5077
 		return $string;
4306 5078
 	}
4307 5079
 
@@ -4321,18 +5093,41 @@  discard block
 block discarded – undo
4321 5093
 		$_html = str_replace(array('&amp;amp;','<DIV><BR></DIV>',"<DIV>&nbsp;</DIV>",'<div>&nbsp;</div>','</td></font>','<br><td>','<tr></tr>','<o:p></o:p>','<o:p>','</o:p>'),
4322 5094
 							 array('&amp;',    '<BR>',           '<BR>',             '<BR>',             '</font></td>','<td>',    '',         '',           '',  ''),$_html);
4323 5095
 		//$_html = str_replace(array('&amp;amp;'),array('&amp;'),$_html);
4324
-		if (stripos($_html,'style')!==false) Mail\Html::replaceTagsCompletley($_html,'style'); // clean out empty or pagewide style definitions / left over tags
4325
-		if (stripos($_html,'head')!==false) Mail\Html::replaceTagsCompletley($_html,'head'); // Strip out stuff in head
5096
+		if (stripos($_html,'style')!==false)
5097
+		{
5098
+			Mail\Html::replaceTagsCompletley($_html,'style');
5099
+		}
5100
+		// clean out empty or pagewide style definitions / left over tags
5101
+		if (stripos($_html,'head')!==false)
5102
+		{
5103
+			Mail\Html::replaceTagsCompletley($_html,'head');
5104
+		}
5105
+		// Strip out stuff in head
4326 5106
 		//if (stripos($_html,'![if')!==false && stripos($_html,'<![endif]>')!==false) Mail\Html::replaceTagsCompletley($_html,'!\[if','<!\[endif\]>',false); // Strip out stuff in ifs
4327 5107
 		//if (stripos($_html,'!--[if')!==false && stripos($_html,'<![endif]-->')!==false) Mail\Html::replaceTagsCompletley($_html,'!--\[if','<!\[endif\]-->',false); // Strip out stuff in ifs
4328 5108
 		//error_log(__METHOD__.' ('.__LINE__.') '.$_html);
4329 5109
 
4330
-		if (get_magic_quotes_gpc() === 1) $_html = stripslashes($_html);
5110
+		if (get_magic_quotes_gpc() === 1)
5111
+		{
5112
+			$_html = stripslashes($_html);
5113
+		}
4331 5114
 		// Strip out doctype in head, as htmlLawed cannot handle it TODO: Consider extracting it and adding it afterwards
4332
-		if (stripos($_html,'!doctype')!==false) Mail\Html::replaceTagsCompletley($_html,'!doctype');
4333
-		if (stripos($_html,'?xml:namespace')!==false) Mail\Html::replaceTagsCompletley($_html,'\?xml:namespace','/>',false);
4334
-		if (stripos($_html,'?xml version')!==false) Mail\Html::replaceTagsCompletley($_html,'\?xml version','\?>',false);
4335
-		if (strpos($_html,'!CURSOR')!==false) Mail\Html::replaceTagsCompletley($_html,'!CURSOR');
5115
+		if (stripos($_html,'!doctype')!==false)
5116
+		{
5117
+			Mail\Html::replaceTagsCompletley($_html,'!doctype');
5118
+		}
5119
+		if (stripos($_html,'?xml:namespace')!==false)
5120
+		{
5121
+			Mail\Html::replaceTagsCompletley($_html,'\?xml:namespace','/>',false);
5122
+		}
5123
+		if (stripos($_html,'?xml version')!==false)
5124
+		{
5125
+			Mail\Html::replaceTagsCompletley($_html,'\?xml version','\?>',false);
5126
+		}
5127
+		if (strpos($_html,'!CURSOR')!==false)
5128
+		{
5129
+			Mail\Html::replaceTagsCompletley($_html,'!CURSOR');
5130
+		}
4336 5131
 		// htmLawed filter only the 'body'
4337 5132
 		//preg_match('`(<htm.+?<body[^>]*>)(.+?)(</body>.*?</html>)`ims', $_html, $matches);
4338 5133
 		//if ($matches[2])
@@ -4371,8 +5166,10 @@  discard block
 block discarded – undo
4371 5166
 		//$charSet = 'iso-8859-1';//self::$displayCharset; //'iso-8859-1'; // self::displayCharset seems to be asmarter fallback than iso-8859-1
4372 5167
 		$CharsetFound=false;
4373 5168
 		//echo "#".$_mimePartObject->encoding.'#<br>';
4374
-		if(is_array($_mimePartObject->parameters)) {
4375
-			if(isset($_mimePartObject->parameters['CHARSET'])) {
5169
+		if(is_array($_mimePartObject->parameters))
5170
+		{
5171
+			if(isset($_mimePartObject->parameters['CHARSET']))
5172
+			{
4376 5173
 				$charSet = $_mimePartObject->parameters['CHARSET'];
4377 5174
 				$CharsetFound=true;
4378 5175
 			}
@@ -4393,7 +5190,10 @@  discard block
 block discarded – undo
4393 5190
 	function decodeMimePart($_mimeMessage, $_encoding, $_charset = '')
4394 5191
 	{
4395 5192
 		// decode the part
4396
-		if (self::$debug) error_log(__METHOD__."() with $_encoding and $_charset:".print_r($_mimeMessage,true));
5193
+		if (self::$debug)
5194
+		{
5195
+			error_log(__METHOD__."() with $_encoding and $_charset:".print_r($_mimeMessage,true));
5196
+		}
4397 5197
 		switch (strtoupper($_encoding))
4398 5198
 		{
4399 5199
 			case 'BASE64':
@@ -4434,13 +5234,19 @@  discard block
 block discarded – undo
4434 5234
 		// sometimes there are 3 parts, when there is an ics/ical attached/included-> we want to show that
4435 5235
 		// as attachment AND as abstracted ical information (we use our notification style here).
4436 5236
 		$partText = $partCalendar = $partHTML = null;
4437
-		if (self::$debug) _debug_array(array("METHOD"=>__METHOD__,"LINE"=>__LINE__,"STRUCTURE"=>$_structure));
5237
+		if (self::$debug)
5238
+		{
5239
+			_debug_array(array("METHOD"=>__METHOD__,"LINE"=>__LINE__,"STRUCTURE"=>$_structure));
5240
+		}
4438 5241
 		//error_log(__METHOD__.' ('.__LINE__.') ');
4439 5242
 		$ignore_first_part = true;
4440 5243
 		foreach($_structure->contentTypeMap() as $mime_id => $mime_type)
4441 5244
 		{
4442 5245
 			//error_log(__METHOD__."($_uid, ".$_structure->getMimeId().") $mime_id: $mime_type"." ignoreFirstPart:".$ignore_first_part);
4443
-			if (self::$debug) echo __METHOD__."($_uid, partID=".$_structure->getMimeId().") $mime_id: $mime_type<br>";
5246
+			if (self::$debug)
5247
+			{
5248
+				echo __METHOD__."($_uid, partID=".$_structure->getMimeId().") $mime_id: $mime_type<br>";
5249
+			}
4444 5250
 
4445 5251
 			if ($ignore_first_part)
4446 5252
 			{
@@ -4456,15 +5262,24 @@  discard block
 block discarded – undo
4456 5262
 					switch($mimePart->getSubType())
4457 5263
 					{
4458 5264
 						case 'plain':
4459
-							if ($mimePart->getBytes() > 0) $partText = $mimePart;
5265
+							if ($mimePart->getBytes() > 0)
5266
+							{
5267
+								$partText = $mimePart;
5268
+							}
4460 5269
 							break;
4461 5270
 
4462 5271
 						case 'html':
4463
-							if ($mimePart->getBytes() > 0)  $partHTML = $mimePart;
5272
+							if ($mimePart->getBytes() > 0)
5273
+							{
5274
+								$partHTML = $mimePart;
5275
+							}
4464 5276
 							break;
4465 5277
 
4466 5278
 						case 'calendar':
4467
-							if ($mimePart->getBytes() > 0)  $partCalendar = $mimePart;
5279
+							if ($mimePart->getBytes() > 0)
5280
+							{
5281
+								$partCalendar = $mimePart;
5282
+							}
4468 5283
 							break;
4469 5284
 					}
4470 5285
 					break;
@@ -4477,7 +5292,10 @@  discard block
 block discarded – undo
4477 5292
 							if (count($mimePart->getParts()) > 1)
4478 5293
 							{
4479 5294
 								// in a multipart alternative we treat the multipart/related as html part
4480
-								if (self::$debug) error_log(__METHOD__." process MULTIPART/".$mimePart->getSubType()." with array as subparts");
5295
+								if (self::$debug)
5296
+								{
5297
+									error_log(__METHOD__." process MULTIPART/".$mimePart->getSubType()." with array as subparts");
5298
+								}
4481 5299
 								$partHTML = $mimePart;
4482 5300
 								break 3; // GET OUT OF LOOP, will be processed according to type
4483 5301
 							}
@@ -4558,9 +5376,15 @@  discard block
 block discarded – undo
4558 5376
 	 */
4559 5377
 	function getMultipartMixed($_uid, Horde_Mime_Part $_structure, $_htmlMode, $_preserveSeen = false, &$skipParts=array())
4560 5378
 	{
4561
-		if (self::$debug) echo __METHOD__."$_uid, $_htmlMode<br>";
5379
+		if (self::$debug)
5380
+		{
5381
+			echo __METHOD__."$_uid, $_htmlMode<br>";
5382
+		}
4562 5383
 		$bodyPart = array();
4563
-		if (self::$debug) _debug_array($_structure);
5384
+		if (self::$debug)
5385
+		{
5386
+			_debug_array($_structure);
5387
+		}
4564 5388
 
4565 5389
 		$ignore_first_part = true;
4566 5390
 		//$skipParts = array();
@@ -4568,7 +5392,10 @@  discard block
 block discarded – undo
4568 5392
 		foreach($_structure->contentTypeMap() as $mime_id => $mime_type)
4569 5393
 		{
4570 5394
 			//error_log(__METHOD__."($_uid, ".$_structure->getMimeId().") $mime_id: $mime_type");
4571
-			if (self::$debug) echo __METHOD__."($_uid, partID=".$_structure->getMimeId().") $mime_id: $mime_type<br>";
5395
+			if (self::$debug)
5396
+			{
5397
+				echo __METHOD__."($_uid, partID=".$_structure->getMimeId().") $mime_id: $mime_type<br>";
5398
+			}
4572 5399
 			if ($ignore_first_part)
4573 5400
 			{
4574 5401
 				$ignore_first_part = false;
@@ -4586,7 +5413,10 @@  discard block
 block discarded – undo
4586 5413
 			switch($part->getPrimaryType())
4587 5414
 			{
4588 5415
 				case 'multipart':
4589
-					if ($part->getDisposition() == 'attachment') continue;
5416
+					if ($part->getDisposition() == 'attachment')
5417
+					{
5418
+						continue;
5419
+					}
4590 5420
 					switch($part->getSubType())
4591 5421
 					{
4592 5422
 						case 'alternative':
@@ -4651,7 +5481,9 @@  discard block
 block discarded – undo
4651 5481
 					if($part->getSubType() == 'rfc822' || $part->getDisposition() == 'attachment')
4652 5482
 					{
4653 5483
 						$skipParts[$mime_id.'.0'] = $mime_type;
4654
-						foreach($part->contentTypeMap() as $sub_id => $sub_type){ $skipParts[$sub_id] = $sub_type;}
5484
+						foreach($part->contentTypeMap() as $sub_id => $sub_type)
5485
+						{
5486
+$skipParts[$sub_id] = $sub_type;}
4655 5487
 						//error_log(__METHOD__.' ('.__LINE__.') '.' Uid:'.$_uid.' Part:'.$mime_id.':'.array2string($skipParts));
4656 5488
 						//break 2;
4657 5489
 					}
@@ -4694,7 +5526,10 @@  discard block
 block discarded – undo
4694 5526
 	 */
4695 5527
 	function getBodyPart($_uid, $_partID=null, $_folder=null, $_preserveSeen=false, $_stream=false, &$_encoding=null, $_tryDecodingServerside=true)
4696 5528
 	{
4697
-		if (self::$debug) error_log( __METHOD__.__LINE__."(".array2string($_uid).", $_partID, $_folder, $_preserveSeen, $_stream, $_encoding, $_tryDecodingServerside)");
5529
+		if (self::$debug)
5530
+		{
5531
+			error_log( __METHOD__.__LINE__."(".array2string($_uid).", $_partID, $_folder, $_preserveSeen, $_stream, $_encoding, $_tryDecodingServerside)");
5532
+		}
4698 5533
 
4699 5534
 		if (empty($_folder))
4700 5535
 		{
@@ -4703,7 +5538,10 @@  discard block
 block discarded – undo
4703 5538
 		//error_log(__METHOD__.' ('.__LINE__.') '.array2string($_folder).'/'.$this->icServer->getCurrentMailbox().'/'. $this->sessionData['mailbox']);
4704 5539
 		// querying contents of body part
4705 5540
 		$uidsToFetch = new Horde_Imap_Client_Ids();
4706
-		if (!(is_object($_uid) || is_array($_uid))) $_uid = (array)$_uid;
5541
+		if (!(is_object($_uid) || is_array($_uid)))
5542
+		{
5543
+			$_uid = (array)$_uid;
5544
+		}
4707 5545
 		$uidsToFetch->add($_uid);
4708 5546
 
4709 5547
 		$fquery = new Horde_Imap_Client_Fetch_Query();
@@ -4711,9 +5549,12 @@  discard block
 block discarded – undo
4711 5549
 			'peek' => $_preserveSeen,
4712 5550
 			'decode' => true,	// try decode on server, does NOT neccessary work
4713 5551
 		);
4714
-		if ($_tryDecodingServerside===false)// || ($_tryDecodingServerside&&$this->isDraftFolder($_folder)))
5552
+		if ($_tryDecodingServerside===false)
5553
+		{
5554
+			// || ($_tryDecodingServerside&&$this->isDraftFolder($_folder)))
4715 5555
 		{
4716 5556
 			$_tryDecodingServerside=false;
5557
+		}
4717 5558
 			$fetchParams = array(
4718 5559
 				'peek' => $_preserveSeen,
4719 5560
 			);
@@ -4755,7 +5596,10 @@  discard block
 block discarded – undo
4755 5596
 	{
4756 5597
 		//error_log(__METHOD__.' ('.__LINE__.') '.'->'.$_uid.':'.array2string($_structure).' '.function_backtrace());
4757 5598
 		$bodyPart = array();
4758
-		if (self::$debug) _debug_array(array($_structure,function_backtrace()));
5599
+		if (self::$debug)
5600
+		{
5601
+			_debug_array(array($_structure,function_backtrace()));
5602
+		}
4759 5603
 
4760 5604
 		if($_structure->getSubType() == 'html' && !in_array($_htmlMode, array('html_only', 'always_display', 'only_if_no_text')))
4761 5605
 		{
@@ -4806,8 +5650,12 @@  discard block
 block discarded – undo
4806 5650
 	 */
4807 5651
 	function getMessageBody($_uid, $_htmlOptions='', $_partID=null, Horde_Mime_Part $_structure=null, $_preserveSeen = false, $_folder = '', &$calendar_part=null)
4808 5652
 	{
4809
-		if (self::$debug) echo __METHOD__."$_uid, $_htmlOptions, $_partID<br>";
4810
-		if($_htmlOptions != '') {
5653
+		if (self::$debug)
5654
+		{
5655
+			echo __METHOD__."$_uid, $_htmlOptions, $_partID<br>";
5656
+		}
5657
+		if($_htmlOptions != '')
5658
+		{
4811 5659
 			$this->htmlOptions = $_htmlOptions;
4812 5660
 		}
4813 5661
 		if (empty($_folder))
@@ -4896,7 +5744,9 @@  discard block
 block discarded – undo
4896 5744
 						default:
4897 5745
 							$bodyPart = array($this->getTextPart($_uid, $_structure, $this->htmlOptions, $_preserveSeen));
4898 5746
 					}
4899
-				} else {
5747
+				}
5748
+				else
5749
+				{
4900 5750
 					// what if the structure->disposition is attachment ,...
4901 5751
 				}
4902 5752
 				return self::normalizeBodyParts($bodyPart);
@@ -4907,13 +5757,18 @@  discard block
 block discarded – undo
4907 5757
 				{
4908 5758
 					case 'rfc822':
4909 5759
 						$newStructure = $_structure->getParts();
4910
-						if (self::$debug) {echo __METHOD__." Message -> RFC -> NewStructure:"; _debug_array($newStructure[0]);}
5760
+						if (self::$debug)
5761
+						{
5762
+echo __METHOD__." Message -> RFC -> NewStructure:"; _debug_array($newStructure[0]);}
4911 5763
 						return self::normalizeBodyParts($this->getMessageBody($_uid, $_htmlOptions, $newStructure[0]->getMimeId(), $newStructure[0], $_preserveSeen, $_folder));
4912 5764
 				}
4913 5765
 				break;
4914 5766
 
4915 5767
 			default:
4916
-				if (self::$debug) _debug_array($_structure);
5768
+				if (self::$debug)
5769
+				{
5770
+					_debug_array($_structure);
5771
+				}
4917 5772
 				return array(
4918 5773
 					array(
4919 5774
 						'body'		=> lang('The mimeparser can not parse this message.').$_structure->getType(),
@@ -4937,9 +5792,12 @@  discard block
 block discarded – undo
4937 5792
 		{
4938 5793
 			foreach($_bodyParts as $singleBodyPart)
4939 5794
 			{
4940
-				if (!isset($singleBodyPart['body'])) {
5795
+				if (!isset($singleBodyPart['body']))
5796
+				{
4941 5797
 					$buff = self::normalizeBodyParts($singleBodyPart);
4942
-					foreach ((array)$buff as $val) { $body2return[] = $val;}
5798
+					foreach ((array)$buff as $val)
5799
+					{
5800
+$body2return[] = $val;}
4943 5801
 					continue;
4944 5802
 				}
4945 5803
 				$body2return[] = $singleBodyPart;
@@ -4965,13 +5823,20 @@  discard block
 block discarded – undo
4965 5823
 		$message='';
4966 5824
 		for($i=0; $i<count($bodyParts); $i++)
4967 5825
 		{
4968
-			if (!isset($bodyParts[$i]['body'])) {
5826
+			if (!isset($bodyParts[$i]['body']))
5827
+			{
4969 5828
 				$bodyParts[$i]['body'] = self::getdisplayableBody($mailClass, $bodyParts[$i], $preserveHTML, $useTidy);
4970 5829
 				$message .= empty($bodyParts[$i]['body'])?'':$bodyParts[$i]['body'];
4971 5830
 				continue;
4972 5831
 			}
4973
-			if (isset($bodyParts[$i]['error'])) continue;
4974
-			if (empty($bodyParts[$i]['body'])) continue;
5832
+			if (isset($bodyParts[$i]['error']))
5833
+			{
5834
+				continue;
5835
+			}
5836
+			if (empty($bodyParts[$i]['body']))
5837
+			{
5838
+				continue;
5839
+			}
4975 5840
 			// some characterreplacements, as they fail to translate
4976 5841
 			$sar = array(
4977 5842
 				'@(\x84|\x93|\x94)@',
@@ -4998,13 +5863,17 @@  discard block
 block discarded – undo
4998 5863
 				$bodyParts[$i]['body'] = preg_replace($sar,$rar,$bodyParts[$i]['body']);
4999 5864
 			}
5000 5865
 
5001
-			if ($bodyParts[$i]['charSet']===false) $bodyParts[$i]['charSet'] = Translation::detect_encoding($bodyParts[$i]['body']);
5866
+			if ($bodyParts[$i]['charSet']===false)
5867
+			{
5868
+				$bodyParts[$i]['charSet'] = Translation::detect_encoding($bodyParts[$i]['body']);
5869
+			}
5002 5870
 			// add line breaks to $bodyParts
5003 5871
 			//error_log(__METHOD__.' ('.__LINE__.') '.' Charset:'.$bodyParts[$i]['charSet'].'->'.$bodyParts[$i]['body']);
5004 5872
 			$newBody  = Translation::convert_jsonsafe($bodyParts[$i]['body'], $bodyParts[$i]['charSet']);
5005 5873
 			//error_log(__METHOD__.' ('.__LINE__.') '.' MimeType:'.$bodyParts[$i]['mimeType'].'->'.$newBody);
5006 5874
 			$mailClass->activeMimeType = 'text/plain';
5007
-			if ($bodyParts[$i]['mimeType'] == 'text/html') {
5875
+			if ($bodyParts[$i]['mimeType'] == 'text/html')
5876
+			{
5008 5877
 				$mailClass->activeMimeType = $bodyParts[$i]['mimeType'];
5009 5878
 				if (!$preserveHTML)
5010 5879
 				{
@@ -5050,15 +5919,28 @@  discard block
 block discarded – undo
5050 5919
 						// as we switched off HTMLaweds tidy functionality
5051 5920
 						$newBody = str_replace(array('&amp;amp;','<DIV><BR></DIV>',"<DIV>&nbsp;</DIV>",'<div>&nbsp;</div>'),array('&amp;','<BR>','<BR>','<BR>'),$newBody);
5052 5921
 						$newBody = $htmLawed->run($newBody,self::$htmLawed_config);
5053
-						if ($hasOther && $preserveHTML) $newBody = $matches[1]. $newBody. $matches[3];
5922
+						if ($hasOther && $preserveHTML)
5923
+						{
5924
+							$newBody = $matches[1]. $newBody. $matches[3];
5925
+						}
5054 5926
 						$alreadyHtmlLawed=true;
5055 5927
 					}
5056 5928
 					//error_log(__METHOD__.' ('.__LINE__.') '.' after purify:'.$newBody);
5057
-					if ($preserveHTML==false) $newBody = Mail\Html::convertHTMLToText($newBody,self::$displayCharset,true,true);
5929
+					if ($preserveHTML==false)
5930
+					{
5931
+						$newBody = Mail\Html::convertHTMLToText($newBody,self::$displayCharset,true,true);
5932
+					}
5058 5933
 					//error_log(__METHOD__.' ('.__LINE__.') '.' after convertHTMLToText:'.$newBody);
5059
-					if ($preserveHTML==false) $newBody = nl2br($newBody); // we need this, as htmLawed removes \r\n
5934
+					if ($preserveHTML==false)
5935
+					{
5936
+						$newBody = nl2br($newBody);
5937
+					}
5938
+					// we need this, as htmLawed removes \r\n
5060 5939
 					/*if (!$alreadyHtmlLawed) */ $mailClass->getCleanHTML($newBody); // remove stuff we regard as unwanted
5061
-					if ($preserveHTML==false) $newBody = str_replace("<br />","\r\n",$newBody);
5940
+					if ($preserveHTML==false)
5941
+					{
5942
+						$newBody = str_replace("<br />","\r\n",$newBody);
5943
+					}
5062 5944
 					//error_log(__METHOD__.' ('.__LINE__.') '.' after getClean:'.$newBody);
5063 5945
 				}
5064 5946
 				$message .= $newBody;
@@ -5095,12 +5977,12 @@  discard block
 block discarded – undo
5095 5977
 				  substr($line,0,strlen($dontbreaklinesstartingwith)) != $dontbreaklinesstartingwith
5096 5978
 				 )
5097 5979
 				)
5098
-			   )
5099
-			{
5980
+			   ) {
5100 5981
 				$s=explode(" ", $line);
5101 5982
 				$line = "";
5102 5983
 				$linecnt = 0;
5103
-				foreach ($s as &$v) {
5984
+				foreach ($s as &$v)
5985
+				{
5104 5986
 					$cnt = strlen($v);
5105 5987
 					// only break long words within the wordboundaries,
5106 5988
 					// but it may destroy links, so we check for href and dont do it if we find one
@@ -5110,14 +5992,20 @@  discard block
 block discarded – undo
5110 5992
 						$v=wordwrap($v, $allowedLength, $cut, true);
5111 5993
 					}
5112 5994
 					// the rest should be broken at the start of the new word that exceeds the limit
5113
-					if ($linecnt+$cnt > $allowedLength) {
5995
+					if ($linecnt+$cnt > $allowedLength)
5996
+					{
5114 5997
 						$v=$cut.$v;
5115 5998
 						#$linecnt = 0;
5116 5999
 						$linecnt =strlen($v)-strlen($cut);
5117
-					} else {
6000
+					}
6001
+					else
6002
+					{
5118 6003
 						$linecnt += $cnt;
5119 6004
 					}
5120
-					if (strlen($v)) $line .= (strlen($line) ? " " : "").$v;
6005
+					if (strlen($v))
6006
+					{
6007
+						$line .= (strlen($line) ? " " : "").$v;
6008
+					}
5121 6009
 				}
5122 6010
 			}
5123 6011
 			$newStr .= $line . "\n";
@@ -5138,11 +6026,18 @@  discard block
 block discarded – undo
5138 6026
 	function getMessageEnvelope($_uid, $_partID = '',$decode=false, $_folder='', $_useHeaderInsteadOfEnvelope=false)
5139 6027
 	{
5140 6028
 		//error_log(__METHOD__.' ('.__LINE__.') '.":$_uid,$_partID,$decode,$_folder".function_backtrace());
5141
-		if (empty($_folder)) $_folder = ($this->sessionData['mailbox']? $this->sessionData['mailbox'] : $this->icServer->getCurrentMailbox());
6029
+		if (empty($_folder))
6030
+		{
6031
+			$_folder = ($this->sessionData['mailbox']? $this->sessionData['mailbox'] : $this->icServer->getCurrentMailbox());
6032
+		}
5142 6033
 		//error_log(__METHOD__.' ('.__LINE__.') '.":$_uid,$_partID,$decode,$_folder");
5143
-		if((empty($_partID)||$_partID=='null')&&$_useHeaderInsteadOfEnvelope===false) {
6034
+		if((empty($_partID)||$_partID=='null')&&$_useHeaderInsteadOfEnvelope===false)
6035
+		{
5144 6036
 			$uidsToFetch = new Horde_Imap_Client_Ids();
5145
-			if (!(is_object($_uid) || is_array($_uid))) $_uid = (array)$_uid;
6037
+			if (!(is_object($_uid) || is_array($_uid)))
6038
+			{
6039
+				$_uid = (array)$_uid;
6040
+			}
5146 6041
 			$uidsToFetch->add($_uid);
5147 6042
 
5148 6043
 			$fquery = new Horde_Imap_Client_Fetch_Query();
@@ -5152,8 +6047,10 @@  discard block
 block discarded – undo
5152 6047
 			$headersNew = $this->icServer->fetch($_folder, $fquery, array(
5153 6048
 				'ids' => $uidsToFetch,
5154 6049
 			));
5155
-			if (is_object($headersNew)) {
5156
-				foreach($headersNew as &$_headerObject) {
6050
+			if (is_object($headersNew))
6051
+			{
6052
+				foreach($headersNew as &$_headerObject)
6053
+				{
5157 6054
 					$env = $_headerObject->getEnvelope();
5158 6055
 					//_debug_array($envFields->singleFields());
5159 6056
 					$singleFields = $envFields->singleFields();
@@ -5170,7 +6067,10 @@  discard block
 block discarded – undo
5170 6067
 								//error_log(__METHOD__.' ('.__LINE__.') '.$v.'->'.array2string($env->$v->addresses));
5171 6068
 								$envelope[$v]=$env->$v->addresses;
5172 6069
 								$address = array();
5173
-								if (!is_array($envelope[$v])) break;
6070
+								if (!is_array($envelope[$v]))
6071
+								{
6072
+									break;
6073
+								}
5174 6074
 								foreach ($envelope[$v] as $k => $ad)
5175 6075
 								{
5176 6076
 									if (stripos($ad,'@')===false)
@@ -5207,7 +6107,9 @@  discard block
 block discarded – undo
5207 6107
 				}
5208 6108
 			}
5209 6109
 			return $envelope;
5210
-		} else {
6110
+		}
6111
+		else
6112
+		{
5211 6113
 
5212 6114
 			$headers = $this->getMessageHeader($_uid, $_partID, true,true,$_folder);
5213 6115
 
@@ -5218,19 +6120,43 @@  discard block
 block discarded – undo
5218 6120
 				'SUBJECT'	=> ($decode ? self::decode_header($headers['SUBJECT']):$headers['SUBJECT']),
5219 6121
 				'MESSAGE_ID'	=> $headers['MESSAGE-ID']
5220 6122
 			);
5221
-			if (isset($headers['IN-REPLY-TO'])) $newData['IN-REPLY-TO'] = $headers['IN-REPLY-TO'];
5222
-			if (isset($headers['REFERENCES'])) $newData['REFERENCES'] = $headers['REFERENCES'];
5223
-			if (isset($headers['THREAD-TOPIC'])) $newData['THREAD-TOPIC'] = $headers['THREAD-TOPIC'];
5224
-			if (isset($headers['THREAD-INDEX'])) $newData['THREAD-INDEX'] = $headers['THREAD-INDEX'];
5225
-			if (isset($headers['LIST-ID'])) $newData['LIST-ID'] = $headers['LIST-ID'];
5226
-			if (isset($headers['SIZE'])) $newData['SIZE'] = $headers['SIZE'];
6123
+			if (isset($headers['IN-REPLY-TO']))
6124
+			{
6125
+				$newData['IN-REPLY-TO'] = $headers['IN-REPLY-TO'];
6126
+			}
6127
+			if (isset($headers['REFERENCES']))
6128
+			{
6129
+				$newData['REFERENCES'] = $headers['REFERENCES'];
6130
+			}
6131
+			if (isset($headers['THREAD-TOPIC']))
6132
+			{
6133
+				$newData['THREAD-TOPIC'] = $headers['THREAD-TOPIC'];
6134
+			}
6135
+			if (isset($headers['THREAD-INDEX']))
6136
+			{
6137
+				$newData['THREAD-INDEX'] = $headers['THREAD-INDEX'];
6138
+			}
6139
+			if (isset($headers['LIST-ID']))
6140
+			{
6141
+				$newData['LIST-ID'] = $headers['LIST-ID'];
6142
+			}
6143
+			if (isset($headers['SIZE']))
6144
+			{
6145
+				$newData['SIZE'] = $headers['SIZE'];
6146
+			}
5227 6147
 			//_debug_array($newData);
5228 6148
 			$recepientList = array('FROM', 'TO', 'CC', 'BCC', 'SENDER', 'REPLY-TO');
5229
-			foreach($recepientList as $recepientType) {
5230
-				if(isset($headers[$recepientType])) {
5231
-					if ($decode) $headers[$recepientType] =  self::decode_header($headers[$recepientType],true);
6149
+			foreach($recepientList as $recepientType)
6150
+			{
6151
+				if(isset($headers[$recepientType]))
6152
+				{
6153
+					if ($decode)
6154
+					{
6155
+						$headers[$recepientType] =  self::decode_header($headers[$recepientType],true);
6156
+					}
5232 6157
 					//error_log(__METHOD__.__LINE__." ".$recepientType."->".array2string($headers[$recepientType]));
5233
-					foreach(self::parseAddressList($headers[$recepientType]) as $singleAddress) {
6158
+					foreach(self::parseAddressList($headers[$recepientType]) as $singleAddress)
6159
+					{
5234 6160
 						$addressData = array(
5235 6161
 							'PERSONAL_NAME'		=> $singleAddress->personal ? $singleAddress->personal : 'NIL',
5236 6162
 							'AT_DOMAIN_LIST'	=> $singleAddress->adl ? $singleAddress->adl : 'NIL',
@@ -5238,17 +6164,25 @@  discard block
 block discarded – undo
5238 6164
 							'HOST_NAME'		=> $singleAddress->host ? $singleAddress->host : 'NIL',
5239 6165
 							'EMAIL'			=> $singleAddress->host ? $singleAddress->mailbox.'@'.$singleAddress->host : $singleAddress->mailbox,
5240 6166
 						);
5241
-						if($addressData['PERSONAL_NAME'] != 'NIL') {
6167
+						if($addressData['PERSONAL_NAME'] != 'NIL')
6168
+						{
5242 6169
 							$addressData['RFC822_EMAIL'] = imap_rfc822_write_address($singleAddress->mailbox, $singleAddress->host, $singleAddress->personal);
5243
-						} else {
6170
+						}
6171
+						else
6172
+						{
5244 6173
 							$addressData['RFC822_EMAIL'] = 'NIL';
5245 6174
 						}
5246 6175
 						$newData[$recepientType][] = ($addressData['RFC822_EMAIL']!='NIL'?$addressData['RFC822_EMAIL']:$addressData['EMAIL']);//$addressData;
5247 6176
 					}
5248
-				} else {
5249
-					if($recepientType == 'SENDER' || $recepientType == 'REPLY-TO') {
6177
+				}
6178
+				else
6179
+				{
6180
+					if($recepientType == 'SENDER' || $recepientType == 'REPLY-TO')
6181
+					{
5250 6182
 						$newData[$recepientType] = $newData['FROM'];
5251
-					} else {
6183
+					}
6184
+					else
6185
+					{
5252 6186
 						$newData[$recepientType] = array();
5253 6187
 					}
5254 6188
 				}
@@ -5271,9 +6205,15 @@  discard block
 block discarded – undo
5271 6205
 	function getMessageHeader($_uid, $_partID = '',$decode=false, $preserveUnSeen=false, $_folder='')
5272 6206
 	{
5273 6207
 		//error_log(__METHOD__.' ('.__LINE__.') '.':'.$_uid.', '.$_partID.', '.$decode.', '.$preserveUnSeen.', '.$_folder);
5274
-		if (empty($_folder)) $_folder = ($this->sessionData['mailbox']? $this->sessionData['mailbox'] : $this->icServer->getCurrentMailbox());
6208
+		if (empty($_folder))
6209
+		{
6210
+			$_folder = ($this->sessionData['mailbox']? $this->sessionData['mailbox'] : $this->icServer->getCurrentMailbox());
6211
+		}
5275 6212
 		$uidsToFetch = new Horde_Imap_Client_Ids();
5276
-		if (!(is_object($_uid) || is_array($_uid))) $_uid = (array)$_uid;
6213
+		if (!(is_object($_uid) || is_array($_uid)))
6214
+		{
6215
+			$_uid = (array)$_uid;
6216
+		}
5277 6217
 		$uidsToFetch->add($_uid);
5278 6218
 
5279 6219
 		$fquery = new Horde_Imap_Client_Fetch_Query();
@@ -5291,7 +6231,8 @@  discard block
 block discarded – undo
5291 6231
 		$headersNew = $this->icServer->fetch($_folder, $fquery, array(
5292 6232
 			'ids' => $uidsToFetch,
5293 6233
 		));
5294
-		if (is_object($headersNew)) {
6234
+		if (is_object($headersNew))
6235
+		{
5295 6236
 			foreach($headersNew as $_fetchObject)
5296 6237
 			{
5297 6238
 				$headers = $_fetchObject->getHeaderText(0,Horde_Imap_Client_Data_Fetch::HEADER_PARSE);
@@ -5313,11 +6254,17 @@  discard block
 block discarded – undo
5313 6254
 			}
5314 6255
 			if ($decode === 'object')
5315 6256
 			{
5316
-				if (is_object($headers)) $headers->setUserAgent('EGroupware API '.$GLOBALS['egw_info']['server']['versions']['phpgwapi']);
6257
+				if (is_object($headers))
6258
+				{
6259
+					$headers->setUserAgent('EGroupware API '.$GLOBALS['egw_info']['server']['versions']['phpgwapi']);
6260
+				}
5317 6261
 				return $headers;
5318 6262
 			}
5319 6263
 			$retValue = is_object($headers) ? $headers->toArray():array();
5320
-			if ($size) $retValue['size'] = $size;
6264
+			if ($size)
6265
+			{
6266
+				$retValue['size'] = $size;
6267
+			}
5321 6268
 		}
5322 6269
 		$retValue = array_change_key_case($retValue,CASE_UPPER);
5323 6270
 		//error_log(__METHOD__.' ('.__LINE__.') '.array2string($retValue));
@@ -5349,10 +6296,16 @@  discard block
 block discarded – undo
5349 6296
 	function getMessageRawHeader($_uid, $_partID = '', $_folder = '')
5350 6297
 	{
5351 6298
 		static $rawHeaders;
5352
-		if (empty($_folder)) $_folder = ($this->sessionData['mailbox']? $this->sessionData['mailbox'] : $this->icServer->getCurrentMailbox());
6299
+		if (empty($_folder))
6300
+		{
6301
+			$_folder = ($this->sessionData['mailbox']? $this->sessionData['mailbox'] : $this->icServer->getCurrentMailbox());
6302
+		}
5353 6303
 		//error_log(__METHOD__.' ('.__LINE__.') '." Try Using Cache for raw Header $_uid, $_partID in Folder $_folder");
5354 6304
 
5355
-		if (is_null($rawHeaders)||!is_array($rawHeaders)) $rawHeaders = Cache::getCache(Cache::INSTANCE,'email','rawHeadersCache'.trim($GLOBALS['egw_info']['user']['account_id']),null,array(),60*60*1);
6305
+		if (is_null($rawHeaders)||!is_array($rawHeaders))
6306
+		{
6307
+			$rawHeaders = Cache::getCache(Cache::INSTANCE,'email','rawHeadersCache'.trim($GLOBALS['egw_info']['user']['account_id']),null,array(),60*60*1);
6308
+		}
5356 6309
 		if (isset($rawHeaders[$this->icServer->ImapServerId][(string)$_folder][$_uid][(empty($_partID)?'NIL':$_partID)]))
5357 6310
 		{
5358 6311
 			//error_log(__METHOD__.' ('.__LINE__.') '." Using Cache for raw Header $_uid, $_partID in Folder $_folder");
@@ -5360,7 +6313,10 @@  discard block
 block discarded – undo
5360 6313
 		}
5361 6314
 		$uidsToFetch = new Horde_Imap_Client_Ids();
5362 6315
 		$uid = $_uid;
5363
-		if (!(is_object($_uid) || is_array($_uid))) $uid = (array)$_uid;
6316
+		if (!(is_object($_uid) || is_array($_uid)))
6317
+		{
6318
+			$uid = (array)$_uid;
6319
+		}
5364 6320
 		$uidsToFetch->add($uid);
5365 6321
 
5366 6322
 		$fquery = new Horde_Imap_Client_Fetch_Query();
@@ -5376,8 +6332,10 @@  discard block
 block discarded – undo
5376 6332
 		$headersNew = $this->icServer->fetch($_folder, $fquery, array(
5377 6333
 			'ids' => $uidsToFetch,
5378 6334
 		));
5379
-		if (is_object($headersNew)) {
5380
-			foreach($headersNew as &$_headerObject) {
6335
+		if (is_object($headersNew))
6336
+		{
6337
+			foreach($headersNew as &$_headerObject)
6338
+			{
5381 6339
 				$retValue = $_headerObject->getHeaderText();
5382 6340
 				if ($_partID != '')
5383 6341
 				{
@@ -5405,22 +6363,33 @@  discard block
 block discarded – undo
5405 6363
 	static function &getStyles($_bodyParts)
5406 6364
 	{
5407 6365
 		$style = '';
5408
-		if (empty($_bodyParts)) return "";
5409
-		foreach((array)$_bodyParts as $singleBodyPart) {
5410
-			if (!isset($singleBodyPart['body'])) {
6366
+		if (empty($_bodyParts))
6367
+		{
6368
+			return "";
6369
+		}
6370
+		foreach((array)$_bodyParts as $singleBodyPart)
6371
+		{
6372
+			if (!isset($singleBodyPart['body']))
6373
+			{
5411 6374
 				$singleBodyPart['body'] = self::getStyles($singleBodyPart);
5412 6375
 				$style .= $singleBodyPart['body'];
5413 6376
 				continue;
5414 6377
 			}
5415 6378
 
5416
-			if ($singleBodyPart['charSet']===false) $singleBodyPart['charSet'] = Translation::detect_encoding($singleBodyPart['body']);
6379
+			if ($singleBodyPart['charSet']===false)
6380
+			{
6381
+				$singleBodyPart['charSet'] = Translation::detect_encoding($singleBodyPart['body']);
6382
+			}
5417 6383
 			$singleBodyPart['body'] = Translation::convert(
5418 6384
 				$singleBodyPart['body'],
5419 6385
 				strtolower($singleBodyPart['charSet'])
5420 6386
 			);
5421 6387
 			$ct = 0;
5422 6388
 			$newStyle=array();
5423
-			if (stripos($singleBodyPart['body'],'<style')!==false)  $ct = preg_match_all('#<style(?:\s.*)?>(.+)</style>#isU', $singleBodyPart['body'], $newStyle);
6389
+			if (stripos($singleBodyPart['body'],'<style')!==false)
6390
+			{
6391
+				$ct = preg_match_all('#<style(?:\s.*)?>(.+)</style>#isU', $singleBodyPart['body'], $newStyle);
6392
+			}
5424 6393
 			if ($ct>0)
5425 6394
 			{
5426 6395
 				//error_log(__METHOD__.' ('.__LINE__.') '.'#'.$ct.'#'.array2string($newStyle));
@@ -5452,7 +6421,11 @@  discard block
 block discarded – undo
5452 6421
 		// CSS Security
5453 6422
 		// http://code.google.com/p/browsersec/wiki/Part1#Cascading_stylesheets
5454 6423
 		$css = preg_replace('/(javascript|expression|-moz-binding)/i','',$style);
5455
-		if (stripos($css,'script')!==false) Mail\Html::replaceTagsCompletley($css,'script'); // Strip out script that may be included
6424
+		if (stripos($css,'script')!==false)
6425
+		{
6426
+			Mail\Html::replaceTagsCompletley($css,'script');
6427
+		}
6428
+		// Strip out script that may be included
5456 6429
 		// we need this, as styledefinitions are enclosed with curly brackets; and template stuff tries to replace everything between curly brackets that is having no horizontal whitespace
5457 6430
 		// as the comments as <!-- styledefinition --> in stylesheet are outdated, and ck-editor does not understand it, we remove it
5458 6431
 		$css = str_replace(array(':','<!--','-->'),array(': ','',''),$css);
@@ -5474,8 +6447,14 @@  discard block
 block discarded – undo
5474 6447
 	{
5475 6448
 		//TODO: caching einbauen static!
5476 6449
 		static $rawBody;
5477
-		if (is_null($rawBody)) $rawBody = array();
5478
-		if (empty($_folder)) $_folder = ($this->sessionData['mailbox']? $this->sessionData['mailbox'] : $this->icServer->getCurrentMailbox());
6450
+		if (is_null($rawBody))
6451
+		{
6452
+			$rawBody = array();
6453
+		}
6454
+		if (empty($_folder))
6455
+		{
6456
+			$_folder = ($this->sessionData['mailbox']? $this->sessionData['mailbox'] : $this->icServer->getCurrentMailbox());
6457
+		}
5479 6458
 		if (!$_stream && isset($rawBody[$this->icServer->ImapServerId][$_folder][$_uid][(empty($_partID)?'NIL':$_partID)]))
5480 6459
 		{
5481 6460
 			//error_log(__METHOD__.' ('.__LINE__.') '." Using Cache for raw Body $_uid, $_partID in Folder $_folder");
@@ -5484,7 +6463,10 @@  discard block
 block discarded – undo
5484 6463
 
5485 6464
 		$uidsToFetch = new Horde_Imap_Client_Ids();
5486 6465
 		$uid = $_uid;
5487
-		if (!(is_object($_uid) || is_array($_uid))) $uid = (array)$_uid;
6466
+		if (!(is_object($_uid) || is_array($_uid)))
6467
+		{
6468
+			$uid = (array)$_uid;
6469
+		}
5488 6470
 		$uidsToFetch->add($uid);
5489 6471
 
5490 6472
 		$fquery = new Horde_Imap_Client_Fetch_Query();
@@ -5497,8 +6479,10 @@  discard block
 block discarded – undo
5497 6479
 		$headersNew = $this->icServer->fetch($_folder, $fquery, array(
5498 6480
 			'ids' => $uidsToFetch,
5499 6481
 		));
5500
-		if (is_object($headersNew)) {
5501
-			foreach($headersNew as &$_headerObject) {
6482
+		if (is_object($headersNew))
6483
+		{
6484
+			foreach($headersNew as &$_headerObject)
6485
+			{
5502 6486
 				$body = $_headerObject->getFullMsg($_stream);
5503 6487
 				if ($_partID != '')
5504 6488
 				{
@@ -5534,14 +6518,20 @@  discard block
 block discarded – undo
5534 6518
 	 */
5535 6519
 	function getStructure($_uid, $_partID=null, $_folder=null, $_preserveSeen=false)
5536 6520
 	{
5537
-		if (self::$debug) error_log( __METHOD__.' ('.__LINE__.') '.":$_uid, $_partID");
6521
+		if (self::$debug)
6522
+		{
6523
+			error_log( __METHOD__.' ('.__LINE__.') '.":$_uid, $_partID");
6524
+		}
5538 6525
 
5539 6526
 		if (empty($_folder))
5540 6527
 		{
5541 6528
 			$_folder = ($this->sessionData['mailbox']? $this->sessionData['mailbox'] : $this->icServer->getCurrentMailbox());
5542 6529
 		}
5543 6530
 		$uidsToFetch = new Horde_Imap_Client_Ids();
5544
-		if (!(is_object($_uid) || is_array($_uid))) $_uid = (array)$_uid;
6531
+		if (!(is_object($_uid) || is_array($_uid)))
6532
+		{
6533
+			$_uid = (array)$_uid;
6534
+		}
5545 6535
 		$uidsToFetch->add($_uid);
5546 6536
 		try
5547 6537
 		{
@@ -5550,7 +6540,10 @@  discard block
 block discarded – undo
5550 6540
 	//		$fquery->envelope();
5551 6541
 	//		$fquery->size();
5552 6542
 			$_fquery->structure();
5553
-			if ($_partID) $_fquery->bodyPart($_partID, array('peek' => $_preserveSeen));
6543
+			if ($_partID)
6544
+			{
6545
+				$_fquery->bodyPart($_partID, array('peek' => $_preserveSeen));
6546
+			}
5554 6547
 
5555 6548
 			$mail = $this->icServer->fetch($_folder, $_fquery, array(
5556 6549
 				'ids' => $uidsToFetch,
@@ -5581,16 +6574,28 @@  discard block
 block discarded – undo
5581 6574
 	 */
5582 6575
 	function getMessageAttachments($_uid, $_partID=null, Horde_Mime_Part $_structure=null, $fetchEmbeddedImages=true, $fetchTextCalendar=false, $resolveTNEF=true, $_folder='')
5583 6576
 	{
5584
-		if (self::$debug) error_log( __METHOD__.":$_uid, $_partID");
5585
-		if (empty($_folder)) $_folder = ($this->sessionData['mailbox']? $this->sessionData['mailbox'] : $this->icServer->getCurrentMailbox());
6577
+		if (self::$debug)
6578
+		{
6579
+			error_log( __METHOD__.":$_uid, $_partID");
6580
+		}
6581
+		if (empty($_folder))
6582
+		{
6583
+			$_folder = ($this->sessionData['mailbox']? $this->sessionData['mailbox'] : $this->icServer->getCurrentMailbox());
6584
+		}
5586 6585
 		$attachments = array();
5587 6586
 		if (!isset($_structure))
5588 6587
 		{
5589 6588
 			$_structure = $this->getStructure($_uid, $_partID,$_folder,true);
5590 6589
 			//error_log(__METHOD__.' ('.__LINE__.') '.':'.print_r($_structure->contentTypeMap(),true));
5591 6590
 		}
5592
-		if (!$_structure || !$_structure->contentTypeMap()) return array();
5593
-		if (!empty($_partID)) $_structure = $_structure->getPart($_partID);
6591
+		if (!$_structure || !$_structure->contentTypeMap())
6592
+		{
6593
+			return array();
6594
+		}
6595
+		if (!empty($_partID))
6596
+		{
6597
+			$_structure = $_structure->getPart($_partID);
6598
+		}
5594 6599
 		$skipParts = array();
5595 6600
 		$tnefParts = array();
5596 6601
 		$skip = 0;
@@ -5619,7 +6624,13 @@  discard block
 block discarded – undo
5619 6624
 			if ($mime_type=='message/rfc822' && $_partID!=$mime_id)
5620 6625
 			{
5621 6626
 				//error_log(__METHOD__.' ('.__LINE__.') '.' Uid:'.$uid.'->'.$mime_id.':'.array2string($part->contentTypeMap()));
5622
-				foreach($part->contentTypeMap() as $sub_id => $sub_type) {if ($sub_id != $mime_id) $skipParts[$sub_id] = $sub_type;}
6627
+				foreach($part->contentTypeMap() as $sub_id => $sub_type)
6628
+				{
6629
+if ($sub_id != $mime_id)
6630
+				{
6631
+					$skipParts[$sub_id] = $sub_type;
6632
+				}
6633
+				}
5623 6634
 			}
5624 6635
 			if (empty($partDisposition) && $partPrimaryType != 'multipart' && $partPrimaryType != 'text')
5625 6636
 			{
@@ -5630,7 +6641,10 @@  discard block
 block discarded – undo
5630 6641
 				$partDisposition='attachment';
5631 6642
 			}
5632 6643
 			//error_log(__METHOD__.' ('.__LINE__.') '.' Uid:'.$uid.' Part:'.$_partID.'->'.$mime_id.':'.array2string($skipParts));
5633
-			if (array_key_exists($mime_id,$skipParts)) continue;
6644
+			if (array_key_exists($mime_id,$skipParts))
6645
+			{
6646
+				continue;
6647
+			}
5634 6648
 
5635 6649
 			if ($partDisposition == 'attachment' ||
5636 6650
 				(($partDisposition == 'inline' || empty($partDisposition)) && $partPrimaryType == 'image' && $part->getContentId()=='') ||
@@ -5641,23 +6655,41 @@  discard block
 block discarded – undo
5641 6655
 			{
5642 6656
 				// if type is message/rfc822 and _partID is given, and MimeID equals partID
5643 6657
 				// we attempt to fetch "ourselves"
5644
-				if ($_partID==$part->getMimeId() && $part->getPrimaryType()=='message') continue;
6658
+				if ($_partID==$part->getMimeId() && $part->getPrimaryType()=='message')
6659
+				{
6660
+					continue;
6661
+				}
5645 6662
 				$attachment = $part->getAllDispositionParameters();
5646 6663
 				$attachment['disposition'] = $part->getDisposition();
5647 6664
 				$attachment['mimeType'] = $mime_type;
5648 6665
 				$attachment['uid'] = $_uid;
5649 6666
 				$attachment['partID'] = $mime_id;
5650
-				if (!isset($attachment['name'])||empty($attachment['name'])) $attachment['name'] = $part->getName();
6667
+				if (!isset($attachment['name'])||empty($attachment['name']))
6668
+				{
6669
+					$attachment['name'] = $part->getName();
6670
+				}
5651 6671
 				if ($fetchTextCalendar)
5652 6672
 				{
5653 6673
 					//error_log(__METHOD__.' ('.__LINE__.') '.array2string($part->getAllContentTypeParameters()));
5654 6674
 					$method = $part->getContentTypeParameter('method');
5655
-					if ($method) $attachment['method'] = $method;
5656
-					if (!isset($attachment['name'])) $attachment['name'] = 'event.ics';
6675
+					if ($method)
6676
+					{
6677
+						$attachment['method'] = $method;
6678
+					}
6679
+					if (!isset($attachment['name']))
6680
+					{
6681
+						$attachment['name'] = 'event.ics';
6682
+					}
5657 6683
 				}
5658 6684
 				$attachment['size'] = $part->getBytes();
5659
-				if (($cid = $part->getContentId())) $attachment['cid'] = $cid;
5660
-				if (empty($attachment['name'])) $attachment['name'] = (isset($attachment['cid'])&&!empty($attachment['cid'])?$attachment['cid']:lang("unknown").'_Uid'.$_uid.'_Part'.$mime_id).'.'.MimeMagic::mime2ext($mime_type);
6685
+				if (($cid = $part->getContentId()))
6686
+				{
6687
+					$attachment['cid'] = $cid;
6688
+				}
6689
+				if (empty($attachment['name']))
6690
+				{
6691
+					$attachment['name'] = (isset($attachment['cid'])&&!empty($attachment['cid'])?$attachment['cid']:lang("unknown").'_Uid'.$_uid.'_Part'.$mime_id).'.'.MimeMagic::mime2ext($mime_type);
6692
+				}
5661 6693
 				//error_log(__METHOD__.' ('.__LINE__.') '.' Uid:'.$uid.' Part:'.$_partID.'->'.$mime_id.':'.array2string($attachment));
5662 6694
 				//typical winmail.dat attachment is
5663 6695
 				//Array([size] => 1462762[filename] => winmail.dat[mimeType] => application/ms-tnef[uid] => 100[partID] => 2[name] => winmail.dat)
@@ -5693,14 +6725,26 @@  discard block
 block discarded – undo
5693 6725
 						$attachment['uid'] = $tnp['uid'];
5694 6726
 						$attachment['partID'] = $tnp['partID'];
5695 6727
 						$attachment['is_winmail'] = $tnp['uid'].'@'.$tnp['partID'].'@'.$mime_id;
5696
-						if (!isset($attachment['name'])||empty($attachment['name'])) $attachment['name'] = $part->getName();
6728
+						if (!isset($attachment['name'])||empty($attachment['name']))
6729
+						{
6730
+							$attachment['name'] = $part->getName();
6731
+						}
5697 6732
 						$attachment['size'] = $part->getBytes();
5698
-						if (($cid = $part->getContentId())) $attachment['cid'] = $cid;
5699
-						if (empty($attachment['name'])) $attachment['name'] = (isset($attachment['cid'])&&!empty($attachment['cid'])?$attachment['cid']:lang("unknown").'_Uid'.$_uid.'_Part'.$mime_id).'.'.MimeMagic::mime2ext($attachment['mimeType']);
6733
+						if (($cid = $part->getContentId()))
6734
+						{
6735
+							$attachment['cid'] = $cid;
6736
+						}
6737
+						if (empty($attachment['name']))
6738
+						{
6739
+							$attachment['name'] = (isset($attachment['cid'])&&!empty($attachment['cid'])?$attachment['cid']:lang("unknown").'_Uid'.$_uid.'_Part'.$mime_id).'.'.MimeMagic::mime2ext($attachment['mimeType']);
6740
+						}
5700 6741
 						$attachments[] = $attachment;
5701 6742
 					}
5702 6743
 				}
5703
-				if ($tnefResolved===false) $attachments[]=$tnp;
6744
+				if ($tnefResolved===false)
6745
+				{
6746
+					$attachments[]=$tnp;
6747
+				}
5704 6748
 			}
5705 6749
 		}
5706 6750
 		//error_log(__METHOD__.__LINE__.array2string($attachments));
@@ -5804,8 +6848,14 @@  discard block
 block discarded – undo
5804 6848
 
5805 6849
 				$attachment = $part->getAllDispositionParameters();
5806 6850
 				$attachment['mimeType'] = $part->getType();
5807
-				if (!isset($attachment['filename'])||empty($attachment['filename'])) $attachment['filename'] = $part->getName();
5808
-				if (($cid = $part->getContentId())) $attachment['cid'] = $cid;
6851
+				if (!isset($attachment['filename'])||empty($attachment['filename']))
6852
+				{
6853
+					$attachment['filename'] = $part->getName();
6854
+				}
6855
+				if (($cid = $part->getContentId()))
6856
+				{
6857
+					$attachment['cid'] = $cid;
6858
+				}
5809 6859
 				if (empty($attachment['filename']))
5810 6860
 				{
5811 6861
 					$attachment['filename'] = (isset($attachment['cid'])&&!empty($attachment['cid'])?
@@ -5817,7 +6867,10 @@  discard block
 block discarded – undo
5817 6867
 				$attachments[$_uid.'@'.$_partID.'@'.$mime_id] = $attachment;
5818 6868
 			}
5819 6869
 		}
5820
-		if (!is_array($attachments)) return false;
6870
+		if (!is_array($attachments))
6871
+		{
6872
+			return false;
6873
+		}
5821 6874
 		return $attachments;
5822 6875
 	}
5823 6876
 
@@ -5836,10 +6889,16 @@  discard block
 block discarded – undo
5836 6889
 	function getAttachment($_uid, $_partID, $_winmail_nr=0, $_returnPart=true, $_stream=false, $_folder=null)
5837 6890
 	{
5838 6891
 		//error_log(__METHOD__.__LINE__."Uid:$_uid, PartId:$_partID, WinMailNr:$_winmail_nr, ReturnPart:$_returnPart, Stream:$_stream, Folder:$_folder".function_backtrace());
5839
-		if (!isset($_folder)) $_folder = ($this->sessionData['mailbox']? $this->sessionData['mailbox'] : $this->icServer->getCurrentMailbox());
6892
+		if (!isset($_folder))
6893
+		{
6894
+			$_folder = ($this->sessionData['mailbox']? $this->sessionData['mailbox'] : $this->icServer->getCurrentMailbox());
6895
+		}
5840 6896
 
5841 6897
 		$uidsToFetch = new Horde_Imap_Client_Ids();
5842
-		if (!(is_object($_uid) || is_array($_uid))) $_uid = (array)$_uid;
6898
+		if (!(is_object($_uid) || is_array($_uid)))
6899
+		{
6900
+			$_uid = (array)$_uid;
6901
+		}
5843 6902
 		$uidsToFetch->add($_uid);
5844 6903
 
5845 6904
 		$fquery = new Horde_Imap_Client_Fetch_Query();
@@ -5848,8 +6907,10 @@  discard block
 block discarded – undo
5848 6907
 		$headersNew = $this->icServer->fetch($_folder, $fquery, array(
5849 6908
 			'ids' => $uidsToFetch,
5850 6909
 		));
5851
-		if (is_object($headersNew)) {
5852
-			foreach($headersNew as $id=>$_headerObject) {
6910
+		if (is_object($headersNew))
6911
+		{
6912
+			foreach($headersNew as $id=>$_headerObject)
6913
+			{
5853 6914
 				$body = $_headerObject->getFullMsg();
5854 6915
 				if ($_partID != '')
5855 6916
 				{
@@ -5863,7 +6924,10 @@  discard block
 block discarded – undo
5863 6924
 					}
5864 6925
 					// if $partDisposition is empty, we assume attachment, and hope that the function
5865 6926
 					// itself is only triggered to fetch attachments
5866
-					if (empty($partDisposition)) $partDisposition='attachment';
6927
+					if (empty($partDisposition))
6928
+					{
6929
+						$partDisposition='attachment';
6930
+					}
5867 6931
 					if ($part && ($partDisposition=='attachment' || $partDisposition=='inline' || ($part->getPrimaryType() == 'text' && $part->getSubType() == 'calendar')))
5868 6932
 					{
5869 6933
 						//$headerObject=$part->getAllDispositionParameters();//not used anywhere around here
@@ -5872,13 +6936,19 @@  discard block
 block discarded – undo
5872 6936
 						$charset = $part->getContentTypeParameter('charset');
5873 6937
 						//$structure_bytes = $part->getBytes(); $structure_partID=$part->getMimeId(); error_log(__METHOD__.__LINE__." fetchPartContents(".array2string($_uid).", $structure_partID, $_stream, $_preserveSeen,$structure_mime)" );
5874 6938
 						$this->fetchPartContents($_uid, $part, $_stream, $_preserveSeen=true,$structure_mime);
5875
-						if ($_returnPart) return $part;
6939
+						if ($_returnPart)
6940
+						{
6941
+							return $part;
6942
+						}
5876 6943
 					}
5877 6944
 				}
5878 6945
 			}
5879 6946
 		}
5880 6947
 		$ext = MimeMagic::mime2ext($structure_mime);
5881
-		if ($ext && stripos($filename,'.')===false && stripos($filename,$ext)===false) $filename = trim($filename).'.'.$ext;
6948
+		if ($ext && stripos($filename,'.')===false && stripos($filename,$ext)===false)
6949
+		{
6950
+			$filename = trim($filename).'.'.$ext;
6951
+		}
5882 6952
 		if (!$part)
5883 6953
 		{
5884 6954
 			throw new Exception\WrongParameter("Error: Could not fetch attachment for Uid=".array2string($_uid).", PartId=$_partID, WinMailNr=$_winmail_nr, folder=$_folder");
@@ -5894,7 +6964,10 @@  discard block
 block discarded – undo
5894 6964
 		);
5895 6965
 
5896 6966
 		// try guessing the mimetype, if we get the application/octet-stream
5897
-		if (strtolower($attachmentData['type']) == 'application/octet-stream') $attachmentData['type'] = MimeMagic::filename2mime($attachmentData['filename']);
6967
+		if (strtolower($attachmentData['type']) == 'application/octet-stream')
6968
+		{
6969
+			$attachmentData['type'] = MimeMagic::filename2mime($attachmentData['filename']);
6970
+		}
5898 6971
 		# if the attachment holds a winmail number and is a winmail.dat then we have to handle that.
5899 6972
 		if ( $filename == 'winmail.dat' && $_winmail_nr)
5900 6973
 		{
@@ -5917,9 +6990,18 @@  discard block
 block discarded – undo
5917 6990
 					if ($_winmail_nr == $wantedPart.'@'.$mime_id)
5918 6991
 					{
5919 6992
 						//error_log(__METHOD__.__LINE__.'#'.$structure_mime.'#'.$filename.'#'.array2string($attachment));
5920
-						if (!isset($attachment['filename'])||empty($attachment['filename'])) $attachment['filename'] = $part->getName();
5921
-						if (($cid = $part->getContentId())) $attachment['cid'] = $cid;
5922
-						if (empty($attachment['filename'])) $attachment['filename'] = (isset($attachment['cid'])&&!empty($attachment['cid'])?$attachment['cid']:lang("unknown").'_Uid'.$_uid.'_Part'.$mime_id).'.'.MimeMagic::mime2ext($attachment['mimeType']);
6993
+						if (!isset($attachment['filename'])||empty($attachment['filename']))
6994
+						{
6995
+							$attachment['filename'] = $part->getName();
6996
+						}
6997
+						if (($cid = $part->getContentId()))
6998
+						{
6999
+							$attachment['cid'] = $cid;
7000
+						}
7001
+						if (empty($attachment['filename']))
7002
+						{
7003
+							$attachment['filename'] = (isset($attachment['cid'])&&!empty($attachment['cid'])?$attachment['cid']:lang("unknown").'_Uid'.$_uid.'_Part'.$mime_id).'.'.MimeMagic::mime2ext($attachment['mimeType']);
7004
+						}
5923 7005
 						$wmattach = $attachment;
5924 7006
 						$wmattach['attachment'] = $part->getContents(array('stream'=>$_stream));
5925 7007
 
@@ -5929,7 +7011,10 @@  discard block
 block discarded – undo
5929 7011
 			if ($tnefResolved)
5930 7012
 			{
5931 7013
 				$ext = MimeMagic::mime2ext($wmattach['mimeType']);
5932
-				if ($ext && stripos($wmattach['filename'],'.')===false && stripos($wmattach['filename'],$ext)===false) $wmattach['filename'] = trim($wmattach['filename']).'.'.$ext;
7014
+				if ($ext && stripos($wmattach['filename'],'.')===false && stripos($wmattach['filename'],$ext)===false)
7015
+				{
7016
+					$wmattach['filename'] = trim($wmattach['filename']).'.'.$ext;
7017
+				}
5933 7018
 				$attachmentData = array(
5934 7019
 					'type'       => $wmattach['mimeType'],
5935 7020
 					'filename'   => $wmattach['filename'],
@@ -5959,7 +7044,10 @@  discard block
 block discarded – undo
5959 7044
 		static $uid=null, $part=null, $structure=null;
5960 7045
 		//error_log(__METHOD__.' ('.__LINE__.') '.":$_uid, $_cid, $_part");
5961 7046
 
5962
-		if(empty($_cid)) return false;
7047
+		if(empty($_cid))
7048
+		{
7049
+			return false;
7050
+		}
5963 7051
 
5964 7052
 		if ($_uid != $uid || $_part != $part)
5965 7053
 		{
@@ -5984,13 +7072,19 @@  discard block
 block discarded – undo
5984 7072
 					$attachment = $part;
5985 7073
 				}
5986 7074
 				// everything else we only consider after we checked all
5987
-				if (!isset($attachment)) $attachment = $part;
7075
+				if (!isset($attachment))
7076
+				{
7077
+					$attachment = $part;
7078
+				}
5988 7079
 				// do we want content fetched, can be done later, if not needed
5989 7080
 				if (isset($_stream))
5990 7081
 				{
5991 7082
 					$this->fetchPartContents($_uid, $attachment, $_stream);
5992 7083
 				}
5993
-				if (isset($attachment)) break;
7084
+				if (isset($attachment))
7085
+				{
7086
+					break;
7087
+				}
5994 7088
 			}
5995 7089
 		}
5996 7090
 		// set name as filename, if not set
@@ -6021,10 +7115,17 @@  discard block
 block discarded – undo
6021 7115
 	 */
6022 7116
 	public function fetchPartContents($_uid, Horde_Mime_Part $part=null, $_stream=false, $_preserveSeen=false, $_mimetype=null)
6023 7117
 	{
6024
-		if (is_null($part)) return null;//new Horde_Mime_Part;
7118
+		if (is_null($part))
7119
+		{
7120
+			return null;
7121
+		}
7122
+		//new Horde_Mime_Part;
6025 7123
 		$encoding = null;
6026 7124
 		$fetchAsBinary = true;
6027
-		if ($_mimetype && strtolower($_mimetype)=='message/rfc822') $fetchAsBinary = false;
7125
+		if ($_mimetype && strtolower($_mimetype)=='message/rfc822')
7126
+		{
7127
+			$fetchAsBinary = false;
7128
+		}
6028 7129
 		// we need to set content on structure to decode transfer encoding
6029 7130
 		$part->setContents(
6030 7131
 			$this->getBodyPart($_uid, $part->getMimeId(), null, $_preserveSeen, $_stream, $encoding, $fetchAsBinary),
@@ -6061,7 +7162,10 @@  discard block
 block discarded – undo
6061 7162
 		// the recent flag is the default enforced here ; as we assume the _flags is always set,
6062 7163
 		// we default it to hordes default (Recent) (, other wise we should not pass the parameter
6063 7164
 		// for flags at all)
6064
-		if (empty($_flags)) $_flags = '\\Recent';
7165
+		if (empty($_flags))
7166
+		{
7167
+			$_flags = '\\Recent';
7168
+		}
6065 7169
 		//if (!is_array($_flags) && stripos($_flags,',')!==false) $_flags=explode(',',$_flags);
6066 7170
 		//if (!is_array($_flags)) $_flags = (array) $_flags;
6067 7171
 		try
@@ -6078,18 +7182,27 @@  discard block
 block discarded – undo
6078 7182
 		}
6079 7183
 		catch (\Exception $e)
6080 7184
 		{
6081
-			if (self::$debug) error_log("Could not append Message: ".$e->getMessage());
7185
+			if (self::$debug)
7186
+			{
7187
+				error_log("Could not append Message: ".$e->getMessage());
7188
+			}
6082 7189
 			throw new Exception\WrongUserinput(lang("Could not append Message:").' '.$e->getMessage().': '.$e->details);
6083 7190
 			//return false;
6084 7191
 		}
6085 7192
 		//error_log(__METHOD__.' ('.__LINE__.') '.' appended UID:'.$messageid);
6086 7193
 		//$messageid = true; // for debug reasons only
6087
-		if ($messageid === true || empty($messageid)) // try to figure out the message uid
7194
+		if ($messageid === true || empty($messageid))
7195
+		{
7196
+			// try to figure out the message uid
6088 7197
 		{
6089 7198
 			$list = $this->getHeaders($_folderName, $_startMessage=1, 1, 'INTERNALDATE', true, array(),null, false);
7199
+		}
6090 7200
 			if ($list)
6091 7201
 			{
6092
-				if (self::$debug) error_log(__METHOD__.' ('.__LINE__.') '.' MessageUid:'.$messageid.' but found:'.array2string($list));
7202
+				if (self::$debug)
7203
+				{
7204
+					error_log(__METHOD__.' ('.__LINE__.') '.' MessageUid:'.$messageid.' but found:'.array2string($list));
7205
+				}
6093 7206
 				$messageid = $list['header'][0]['uid'];
6094 7207
 			}
6095 7208
 		}
@@ -6130,7 +7243,10 @@  discard block
 block discarded – undo
6130 7243
 	{
6131 7244
 			//echo __METHOD__." called for $uid,$partid <br>";
6132 7245
 			$headers = $mailClass->getMessageHeader($uid,$partid,true,false,$mailbox);
6133
-			if (empty($headers)) return false;
7246
+			if (empty($headers))
7247
+			{
7248
+				return false;
7249
+			}
6134 7250
 			// dont force retrieval of the textpart, let mailClass preferences decide
6135 7251
 			$bodyParts = $mailClass->getMessageBody($uid,($preserveHTML?'always_display':'only_if_no_text'),$partid,null,false,$mailbox);
6136 7252
 			// if we do not want HTML but there is no TextRepresentation with the message itself, try converting
@@ -6148,15 +7264,30 @@  discard block
 block discarded – undo
6148 7264
 			//error_log(array2string($bodyParts));
6149 7265
 			$attachments = $includeAttachments?$mailClass->getMessageAttachments($uid,$partid,null,true,false,true,$mailbox):array();
6150 7266
 
6151
-			if ($mailClass->isSentFolder($mailbox)) $mailaddress = $headers['TO'];
6152
-			elseif (isset($headers['FROM'])) $mailaddress = $headers['FROM'];
6153
-			elseif (isset($headers['SENDER'])) $mailaddress = $headers['SENDER'];
6154
-			if (isset($headers['CC'])) $mailaddress .= ','.$headers['CC'];
7267
+			if ($mailClass->isSentFolder($mailbox))
7268
+			{
7269
+				$mailaddress = $headers['TO'];
7270
+			}
7271
+			elseif (isset($headers['FROM']))
7272
+			{
7273
+				$mailaddress = $headers['FROM'];
7274
+			}
7275
+			elseif (isset($headers['SENDER']))
7276
+			{
7277
+				$mailaddress = $headers['SENDER'];
7278
+			}
7279
+			if (isset($headers['CC']))
7280
+			{
7281
+				$mailaddress .= ','.$headers['CC'];
7282
+			}
6155 7283
 			//_debug_array(array($headers,$mailaddress));
6156 7284
 			$subject = $headers['SUBJECT'];
6157 7285
 
6158 7286
 			$message = self::getdisplayableBody($mailClass, $bodyParts, $preserveHTML);
6159
-			if ($preserveHTML && $mailClass->activeMimeType == 'text/plain') $message = '<pre>'.$message.'</pre>';
7287
+			if ($preserveHTML && $mailClass->activeMimeType == 'text/plain')
7288
+			{
7289
+				$message = '<pre>'.$message.'</pre>';
7290
+			}
6160 7291
 			$headdata = ($addHeaderSection ? self::createHeaderInfoSection($headers, '',$preserveHTML) : '');
6161 7292
 			$message = $headdata.$message;
6162 7293
 			//echo __METHOD__.'<br>';
@@ -6207,7 +7338,8 @@  discard block
 block discarded – undo
6207 7338
 							$attachments[$num]['attachment'] = $c->getContents();
6208 7339
 						}
6209 7340
 						// no attempt to convert, if we dont know about the charset
6210
-						if (isset($attachments[$num]['charset'])&&!empty($attachments[$num]['charset'])) {
7341
+						if (isset($attachments[$num]['charset'])&&!empty($attachments[$num]['charset']))
7342
+						{
6211 7343
 							// we do not try guessing the charset, if it is not set
6212 7344
 							//if ($attachments[$num]['charset']===false) $attachments[$num]['charset'] = Translation::detect_encoding($attachments[$num]['attachment']);
6213 7345
 							Translation::convert($attachments[$num]['attachment'],$attachments[$num]['charset']);
@@ -6228,7 +7360,10 @@  discard block
 block discarded – undo
6228 7360
 						unset($attachments[$num]['attachment']);
6229 7361
 					}
6230 7362
 				}
6231
-				if (is_array($attachedMessages)) $attachments = array_merge($attachments,$attachedMessages);
7363
+				if (is_array($attachedMessages))
7364
+				{
7365
+					$attachments = array_merge($attachments,$attachedMessages);
7366
+				}
6232 7367
 			}
6233 7368
 			return array(
6234 7369
 					'mailaddress'=>$mailaddress,
@@ -6250,10 +7385,17 @@  discard block
 block discarded – undo
6250 7385
 	{
6251 7386
 		$c = 0;
6252 7387
 		// use the standardIdentity
6253
-		foreach($_identities as $key => $acc) {
6254
-			if ($c==0) $identity = $acc;
7388
+		foreach($_identities as $key => $acc)
7389
+		{
7390
+			if ($c==0)
7391
+			{
7392
+				$identity = $acc;
7393
+			}
6255 7394
 			//error_log(__METHOD__.__LINE__." $key == $_profile_id ");
6256
-			if ($key==$_profile_id) $identity = $acc;
7395
+			if ($key==$_profile_id)
7396
+			{
7397
+				$identity = $acc;
7398
+			}
6257 7399
 			$c++;
6258 7400
 		}
6259 7401
 		return $identity;
@@ -6269,20 +7411,53 @@  discard block
 block discarded – undo
6269 7411
 	{
6270 7412
 		$headdata = null;
6271 7413
 		//error_log(__METHOD__.' ('.__LINE__.') '.array2string($header).function_backtrace());
6272
-		if ($header['SUBJECT']) $headdata = lang('subject').': '.$header['SUBJECT'].($createHTML?"<br />":"\n");
6273
-		if ($header['FROM']) $headdata .= lang('from').': '.self::convertAddressArrayToString($header['FROM'], $createHTML).($createHTML?"<br />":"\n");
6274
-		if ($header['SENDER']) $headdata .= lang('sender').': '.self::convertAddressArrayToString($header['SENDER'], $createHTML).($createHTML?"<br />":"\n");
6275
-		if ($header['TO']) $headdata .= lang('to').': '.self::convertAddressArrayToString($header['TO'], $createHTML).($createHTML?"<br />":"\n");
6276
-		if ($header['CC']) $headdata .= lang('cc').': '.self::convertAddressArrayToString($header['CC'], $createHTML).($createHTML?"<br />":"\n");
6277
-		if ($header['BCC']) $headdata .= lang('bcc').': '.self::convertAddressArrayToString($header['BCC'], $createHTML).($createHTML?"<br />":"\n");
6278
-		if ($header['DATE']) $headdata .= lang('date').': '.$header['DATE'].($createHTML?"<br />":"\n");
6279
-		if ($header['PRIORITY'] && $header['PRIORITY'] != 'normal') $headdata .= lang('priority').': '.$header['PRIORITY'].($createHTML?"<br />":"\n");
6280
-		if ($header['IMPORTANCE'] && $header['IMPORTANCE'] !='normal') $headdata .= lang('importance').': '.$header['IMPORTANCE'].($createHTML?"<br />":"\n");
7414
+		if ($header['SUBJECT'])
7415
+		{
7416
+			$headdata = lang('subject').': '.$header['SUBJECT'].($createHTML?"<br />":"\n");
7417
+		}
7418
+		if ($header['FROM'])
7419
+		{
7420
+			$headdata .= lang('from').': '.self::convertAddressArrayToString($header['FROM'], $createHTML).($createHTML?"<br />":"\n");
7421
+		}
7422
+		if ($header['SENDER'])
7423
+		{
7424
+			$headdata .= lang('sender').': '.self::convertAddressArrayToString($header['SENDER'], $createHTML).($createHTML?"<br />":"\n");
7425
+		}
7426
+		if ($header['TO'])
7427
+		{
7428
+			$headdata .= lang('to').': '.self::convertAddressArrayToString($header['TO'], $createHTML).($createHTML?"<br />":"\n");
7429
+		}
7430
+		if ($header['CC'])
7431
+		{
7432
+			$headdata .= lang('cc').': '.self::convertAddressArrayToString($header['CC'], $createHTML).($createHTML?"<br />":"\n");
7433
+		}
7434
+		if ($header['BCC'])
7435
+		{
7436
+			$headdata .= lang('bcc').': '.self::convertAddressArrayToString($header['BCC'], $createHTML).($createHTML?"<br />":"\n");
7437
+		}
7438
+		if ($header['DATE'])
7439
+		{
7440
+			$headdata .= lang('date').': '.$header['DATE'].($createHTML?"<br />":"\n");
7441
+		}
7442
+		if ($header['PRIORITY'] && $header['PRIORITY'] != 'normal')
7443
+		{
7444
+			$headdata .= lang('priority').': '.$header['PRIORITY'].($createHTML?"<br />":"\n");
7445
+		}
7446
+		if ($header['IMPORTANCE'] && $header['IMPORTANCE'] !='normal')
7447
+		{
7448
+			$headdata .= lang('importance').': '.$header['IMPORTANCE'].($createHTML?"<br />":"\n");
7449
+		}
6281 7450
 		//if ($mailcontent['headers']['ORGANIZATION']) $headdata .= lang('organization').': '.$mailcontent['headers']['ORGANIZATION']."\
6282 7451
 		if (!empty($headdata))
6283 7452
 		{
6284
-			if (!empty($headline) && $headline != 'SUPPRESS') $headdata = "---------------------------- $headline ----------------------------".($createHTML?"<br />":"\n").$headdata;
6285
-			if (empty($headline)) $headdata = ($headline != 'SUPPRESS'?"--------------------------------------------------------".($createHTML?"<br />":"\n"):'').$headdata;
7453
+			if (!empty($headline) && $headline != 'SUPPRESS')
7454
+			{
7455
+				$headdata = "---------------------------- $headline ----------------------------".($createHTML?"<br />":"\n").$headdata;
7456
+			}
7457
+			if (empty($headline))
7458
+			{
7459
+				$headdata = ($headline != 'SUPPRESS'?"--------------------------------------------------------".($createHTML?"<br />":"\n"):'').$headdata;
7460
+			}
6286 7461
 			$headdata .= ($headline != 'SUPPRESS'?"--------------------------------------------------------".($createHTML?"<br />":"\n"):'');
6287 7462
 		}
6288 7463
 		else
@@ -6316,12 +7491,15 @@  discard block
 block discarded – undo
6316 7491
 		$returnAddr ='';
6317 7492
 		if (is_array($rfcAddressArray))
6318 7493
 		{
6319
-			foreach((array)$rfcAddressArray as $addressData) {
7494
+			foreach((array)$rfcAddressArray as $addressData)
7495
+			{
6320 7496
 				//error_log(__METHOD__.' ('.__LINE__.') '.array2string($addressData));
6321
-				if($addressData['MAILBOX_NAME'] == 'NIL') {
7497
+				if($addressData['MAILBOX_NAME'] == 'NIL')
7498
+				{
6322 7499
 					continue;
6323 7500
 				}
6324
-				if(strtolower($addressData['MAILBOX_NAME']) == 'undisclosed-recipients') {
7501
+				if(strtolower($addressData['MAILBOX_NAME']) == 'undisclosed-recipients')
7502
+				{
6325 7503
 					continue;
6326 7504
 				}
6327 7505
 				if ($addressData['RFC822_EMAIL'])
@@ -6335,7 +7513,10 @@  discard block
 block discarded – undo
6335 7513
 				}
6336 7514
 				$addressObject = $addressObjectA[0];
6337 7515
 				//error_log(__METHOD__.' ('.__LINE__.') '.array2string($addressObject));
6338
-				if (!$addressObject->valid) continue;
7516
+				if (!$addressObject->valid)
7517
+				{
7518
+					continue;
7519
+				}
6339 7520
 				//$mb =(string)$addressObject->mailbox;
6340 7521
 				//$h = (string)$addressObject->host;
6341 7522
 				//$p = (string)$addressObject->personal;
@@ -6352,7 +7533,10 @@  discard block
 block discarded – undo
6352 7533
 			// do not mess with strings, return them untouched /* ToDo: validate string as Address */
6353 7534
 			$rfcAddressArray = self::decode_header($rfcAddressArray,true);
6354 7535
 			$rfcAddressArray = str_replace(array('<','>','"\'','\'"'),array('[',']','"','"'),$rfcAddressArray);
6355
-			if (is_string($rfcAddressArray)) return $rfcAddressArray;
7536
+			if (is_string($rfcAddressArray))
7537
+			{
7538
+				return $rfcAddressArray;
7539
+			}
6356 7540
 		}
6357 7541
 		return $returnAddr;
6358 7542
 	}
@@ -6369,10 +7553,19 @@  discard block
 block discarded – undo
6369 7553
 	{
6370 7554
 		$mergeobj = new Contacts\Merge();
6371 7555
 
6372
-		if (empty($mimetype)) $mimetype = (strlen(strip_tags($content)) == strlen($content) ?'text/plain':'text/html');
7556
+		if (empty($mimetype))
7557
+		{
7558
+			$mimetype = (strlen(strip_tags($content)) == strlen($content) ?'text/plain':'text/html');
7559
+		}
6373 7560
 		$rv = $mergeobj->merge_string($content,$ids,$err='',$mimetype, array(), self::$displayCharset);
6374
-		if (empty($rv) && !empty($content) && !empty($err)) $rv = $content;
6375
-		if (!empty($err) && !empty($content) && !empty($ids)) error_log(__METHOD__.' ('.__LINE__.') '.' Merge failed for Ids:'.array2string($ids).' ContentType:'.$mimetype.' Content:'.$content.' Reason:'.array2string($err));
7561
+		if (empty($rv) && !empty($content) && !empty($err))
7562
+		{
7563
+			$rv = $content;
7564
+		}
7565
+		if (!empty($err) && !empty($content) && !empty($ids))
7566
+		{
7567
+			error_log(__METHOD__.' ('.__LINE__.') '.' Merge failed for Ids:'.array2string($ids).' ContentType:'.$mimetype.' Content:'.$content.' Reason:'.array2string($err));
7568
+		}
6376 7569
 		return $rv;
6377 7570
 	}
6378 7571
 
@@ -6409,13 +7602,15 @@  discard block
 block discarded – undo
6409 7602
 			settype($bytes, 'integer');
6410 7603
 			$bytes /= 10;
6411 7604
 		}
6412
-		else
6413
-			settype($bytes, 'integer');
7605
+		else {
7606
+					settype($bytes, 'integer');
7607
+		}
6414 7608
 
6415 7609
 		return $bytes . ' ' . $type ;
6416 7610
 	}
6417 7611
 
6418
-	static function detect_qp(&$sting) {
7612
+	static function detect_qp(&$sting)
7613
+	{
6419 7614
 		$needle = '/(=[0-9][A-F])|(=[A-F][0-9])|(=[A-F][A-F])|(=[0-9][0-9])/';
6420 7615
 		return preg_match("$needle",$string);
6421 7616
 	}
@@ -6432,9 +7627,15 @@  discard block
 block discarded – undo
6432 7627
 	 */
6433 7628
 	static function logRunTimes($_starttime,$_endtime=null,$_message='',$_methodNline='')
6434 7629
 	{
6435
-		if (is_null($_endtime)) $_endtime = microtime(true);
7630
+		if (is_null($_endtime))
7631
+		{
7632
+			$_endtime = microtime(true);
7633
+		}
6436 7634
 		$usagetime = microtime(true) - $_starttime;
6437
-		if (self::$debugTimes) error_log($_methodNline.' took:'.number_format($usagetime,5).'(s) '.($_message?'Details:'.$_message:''));
7635
+		if (self::$debugTimes)
7636
+		{
7637
+			error_log($_methodNline.' took:'.number_format($usagetime,5).'(s) '.($_message?'Details:'.$_message:''));
7638
+		}
6438 7639
 	}
6439 7640
 
6440 7641
 	/**
@@ -6449,7 +7650,10 @@  discard block
 block discarded – undo
6449 7650
 	 */
6450 7651
 	static function checkFileBasics(&$_formData, $IDtoAddToFileName='', $reqMimeType='message/rfc822')
6451 7652
 	{
6452
-		if (parse_url($_formData['file'],PHP_URL_SCHEME) == 'egw-data') return $_formData['file'];
7653
+		if (parse_url($_formData['file'],PHP_URL_SCHEME) == 'egw-data')
7654
+		{
7655
+			return $_formData['file'];
7656
+		}
6453 7657
 
6454 7658
 		//error_log(__METHOD__.__FILE__.array2string($_formData).' Id:'.$IDtoAddToFileName.' ReqMimeType:'.$reqMimeType);
6455 7659
 		$importfailed = $tmpFileName = false;
@@ -6498,8 +7702,15 @@  discard block
 block discarded – undo
6498 7702
 			{
6499 7703
 				$buff = explode('.',$_formData['name']);
6500 7704
 				$suffix = '';
6501
-				if (is_array($buff)) $suffix = array_pop($buff); // take the last extension to check with ext2mime
6502
-				if (!empty($suffix)) $sfxMimeType = MimeMagic::ext2mime($suffix);
7705
+				if (is_array($buff))
7706
+				{
7707
+					$suffix = array_pop($buff);
7708
+				}
7709
+				// take the last extension to check with ext2mime
7710
+				if (!empty($suffix))
7711
+				{
7712
+					$sfxMimeType = MimeMagic::ext2mime($suffix);
7713
+				}
6503 7714
 				if (!empty($suffix) && !empty($sfxMimeType) &&
6504 7715
 					(strlen(trim($_formData['type']))==0 || (strtolower(trim($_formData['type'])) != $sfxMimeType)))
6505 7716
 				{
@@ -6547,7 +7758,9 @@  discard block
 block discarded – undo
6547 7758
 			{
6548 7759
 				rename($_formData['file'], $GLOBALS['egw_info']['server']['temp_dir'].'/'.$tmpFileName);
6549 7760
 			}
6550
-		} else {
7761
+		}
7762
+		else
7763
+		{
6551 7764
 			//error_log("Import of message ".$_formData['file']." failes to meet basic restrictions");
6552 7765
 			$importfailed = true;
6553 7766
 			$alert_msg .= lang("Processing of file %1 failed. Failed to meet basic restrictions.",$_formData['name']);
@@ -6593,21 +7806,32 @@  discard block
 block discarded – undo
6593 7806
 				if (substr($url, 0, 5) !== 'data:')
6594 7807
 				{
6595 7808
 					$filename = basename($url);
6596
-					if (($directory = dirname($url)) == '.') $directory = '';
7809
+					if (($directory = dirname($url)) == '.')
7810
+					{
7811
+						$directory = '';
7812
+					}
6597 7813
 					$ext = pathinfo($filename, PATHINFO_EXTENSION);
6598 7814
 					$mimeType  = MimeMagic::ext2mime($ext);
6599
-					if ( strlen($directory) > 1 && substr($directory,-1) != '/') { $directory .= '/'; }
7815
+					if ( strlen($directory) > 1 && substr($directory,-1) != '/')
7816
+					{
7817
+$directory .= '/'; }
6600 7818
 					$myUrl = $directory.$filename;
6601
-					if ($myUrl[0]=='/') // local path -> we only allow path's that are available via http/https (or vfs)
7819
+					if ($myUrl[0]=='/')
7820
+					{
7821
+						// local path -> we only allow path's that are available via http/https (or vfs)
6602 7822
 					{
6603 7823
 						$basedir = ($_SERVER['HTTPS']?'https://':'http://'.$_SERVER['HTTP_HOST']);
6604 7824
 					}
7825
+					}
6605 7826
 					// use vfs instead of url containing webdav.php
6606 7827
 					// ToDo: we should test if the webdav url is of our own scope, as we cannot handle foreign
6607 7828
 					// webdav.php urls as vfs
6608
-					if (strpos($myUrl,'/webdav.php') !== false) // we have a webdav link, so we build a vfs/sqlfs link of it.
7829
+					if (strpos($myUrl,'/webdav.php') !== false)
7830
+					{
7831
+						// we have a webdav link, so we build a vfs/sqlfs link of it.
6609 7832
 					{
6610 7833
 						Vfs::load_wrapper('vfs');
7834
+					}
6611 7835
 						list(,$myUrl) = explode('/webdav.php',$myUrl,2);
6612 7836
 						$basedir = 'vfs://default';
6613 7837
 						$needTempFile = false;
@@ -6636,8 +7860,13 @@  discard block
 block discarded – undo
6636 7860
 						}
6637 7861
 					}
6638 7862
 
6639
-					if ( strlen($basedir) > 1 && substr($basedir,-1) != '/' && $myUrl[0]!='/') { $basedir .= '/'; }
6640
-					if ($needTempFile && !$attachment && substr($myUrl,0,4) !== "http") $data = file_get_contents($basedir.urldecode($myUrl));
7863
+					if ( strlen($basedir) > 1 && substr($basedir,-1) != '/' && $myUrl[0]!='/')
7864
+					{
7865
+$basedir .= '/'; }
7866
+					if ($needTempFile && !$attachment && substr($myUrl,0,4) !== "http")
7867
+					{
7868
+						$data = file_get_contents($basedir.urldecode($myUrl));
7869
+					}
6641 7870
 				}
6642 7871
 				if (substr($url,0,strlen('data:'))=='data:')
6643 7872
 				{
@@ -6745,7 +7974,10 @@  discard block
 block discarded – undo
6745 7974
 				$_folder = $this->getSentFolder();
6746 7975
 			}
6747 7976
 			$delimiter = $this->getHierarchyDelimiter();
6748
-			if($_folder=='INBOX'.$delimiter) $_folder='INBOX';
7977
+			if($_folder=='INBOX'.$delimiter)
7978
+			{
7979
+				$_folder='INBOX';
7980
+			}
6749 7981
 			if ($importfailed === false)
6750 7982
 			{
6751 7983
 				$Subject = $mailObject->getHeader('Subject');
@@ -6774,7 +8006,9 @@  discard block
 block discarded – undo
6774 8006
 					//error_log(__METHOD__.' ('.__LINE__.') '.' Id To Merge:'.$val);
6775 8007
 					if (/*$GLOBALS['egw_info']['flags']['currentapp'] == 'addressbook' &&*/
6776 8008
 						count($SendAndMergeTocontacts) > 1 && $val &&
6777
-						(is_numeric($val) || $GLOBALS['egw']->accounts->name2id($val))) // do the merge
8009
+						(is_numeric($val) || $GLOBALS['egw']->accounts->name2id($val)))
8010
+					{
8011
+						// do the merge
6778 8012
 					{
6779 8013
 						//error_log(__METHOD__.' ('.__LINE__.') '.array2string($mailObject));
6780 8014
 
@@ -6783,6 +8017,7 @@  discard block
 block discarded – undo
6783 8017
 						{
6784 8018
 							//error_log('ID ' . $val . ' ' .$type . ': ' . $mailObject->getHeader(Mailer::$type2header[$type]) . ' -> ' .$bo_merge->merge_string($mailObject->getHeader(Mailer::$type2header[$type]),$val,$e,'text/plain',array(),self::$displayCharset));
6785 8019
 							$merged = $bo_merge->merge_string($mailObject->getHeader(Mailer::$type2header[$type]),$val,$e,'text/plain',array(),self::$displayCharset);
8020
+					}
6786 8021
 							$mailObject->addAddress($merged,'',$type);
6787 8022
 							if($type == 'to')
6788 8023
 							{
@@ -6814,9 +8049,15 @@  discard block
 block discarded – undo
6814 8049
 						$mailObject->clearCustomHeaders();
6815 8050
 						$mailObject->addHeader('Subject', $bo_merge->merge_string($Subject, $val, $e, 'text/plain', array(), self::$displayCharset));
6816 8051
 						//error_log(__METHOD__.' ('.__LINE__.') '.' ContentType:'.$mailObject->BodyContentType);
6817
-						if($text_body) $text_body->setContents($bo_merge->merge_string($Body, $val, $e, 'text/plain', array(), self::$displayCharset),array('encoding'=>Horde_Mime_Part::DEFAULT_ENCODING));
8052
+						if($text_body)
8053
+						{
8054
+							$text_body->setContents($bo_merge->merge_string($Body, $val, $e, 'text/plain', array(), self::$displayCharset),array('encoding'=>Horde_Mime_Part::DEFAULT_ENCODING));
8055
+						}
6818 8056
 						//error_log(__METHOD__.' ('.__LINE__.') '.' Result:'.$mailObject->Body.' error:'.array2string($e));
6819
-						if($html_body) $html_body->setContents($bo_merge->merge_string($AltBody, $val, $e, 'text/html', array(), self::$displayCharset),array('encoding'=>Horde_Mime_Part::DEFAULT_ENCODING));
8057
+						if($html_body)
8058
+						{
8059
+							$html_body->setContents($bo_merge->merge_string($AltBody, $val, $e, 'text/html', array(), self::$displayCharset),array('encoding'=>Horde_Mime_Part::DEFAULT_ENCODING));
8060
+						}
6820 8061
 
6821 8062
 						//error_log(__METHOD__.' ('.__LINE__.') '.array2string($mailObject));
6822 8063
 						// set a higher timeout for big messages
@@ -6831,9 +8072,12 @@  discard block
 block discarded – undo
6831 8072
 							//error_log(__METHOD__.' ('.__LINE__.') '.array2string($errorInfo));
6832 8073
 						}
6833 8074
 					}
6834
-					elseif (!$k)	// 1. entry, further entries will fail for apps other then addressbook
8075
+					elseif (!$k)
8076
+					{
8077
+						// 1. entry, further entries will fail for apps other then addressbook
6835 8078
 					{
6836 8079
 						$openAsDraft = true;
8080
+					}
6837 8081
 						$mailObject->removeHeader('Message-ID');
6838 8082
 						$mailObject->removeHeader('Date');
6839 8083
 						$mailObject->clearCustomHeaders();
@@ -6848,9 +8092,12 @@  discard block
 block discarded – undo
6848 8092
 
6849 8093
 						// No addresses from placeholders?  Treat it as just a contact ID
6850 8094
 						if (count($mailObject->getAddresses('to',true)) == 0 &&
6851
-							is_numeric($val) || $GLOBALS['egw']->accounts->name2id($val)) // do the merge
8095
+							is_numeric($val) || $GLOBALS['egw']->accounts->name2id($val))
8096
+						{
8097
+							// do the merge
6852 8098
 						{
6853 8099
 							$contact = $bo_merge->contacts->read($val);
8100
+						}
6854 8101
 							//error_log(__METHOD__.' ('.__LINE__.') '.array2string($contact));
6855 8102
 							$email = ($contact['email'] ? $contact['email'] : $contact['email_home']);
6856 8103
 							$nfn = ($contact['n_fn'] ? $contact['n_fn'] : $contact['n_given'].' '.$contact['n_family']);
@@ -6861,9 +8108,15 @@  discard block
 block discarded – undo
6861 8108
 						}
6862 8109
 						$mailObject->addHeader('Subject', $bo_merge->merge_string($Subject, $val, $e, 'text/plain', array(), self::$displayCharset));
6863 8110
 						//error_log(__METHOD__.' ('.__LINE__.') '.' ContentType:'.$mailObject->BodyContentType);
6864
-						if (!empty($Body)) $text_body->setContents($bo_merge->merge_string($Body, $val, $e, 'text/plain', array(), self::$displayCharset),array('encoding'=>Horde_Mime_Part::DEFAULT_ENCODING));
8111
+						if (!empty($Body))
8112
+						{
8113
+							$text_body->setContents($bo_merge->merge_string($Body, $val, $e, 'text/plain', array(), self::$displayCharset),array('encoding'=>Horde_Mime_Part::DEFAULT_ENCODING));
8114
+						}
6865 8115
 						//error_log(__METHOD__.' ('.__LINE__.') '.' Result:'.$mailObject->Body.' error:'.array2string($e));
6866
-						if (!empty($AltBody)) $html_body->setContents($bo_merge->merge_string($AltBody, $val, $e, 'text/html', array(), self::$displayCharset),array('encoding'=>Horde_Mime_Part::DEFAULT_ENCODING));
8116
+						if (!empty($AltBody))
8117
+						{
8118
+							$html_body->setContents($bo_merge->merge_string($AltBody, $val, $e, 'text/html', array(), self::$displayCharset),array('encoding'=>Horde_Mime_Part::DEFAULT_ENCODING));
8119
+						}
6867 8120
 						$_folder = $this->getDraftFolder();
6868 8121
 					}
6869 8122
 					if ($sendOK || $openAsDraft)
@@ -6871,11 +8124,15 @@  discard block
 block discarded – undo
6871 8124
 						if ($this->folderExists($_folder,true))
6872 8125
 						{
6873 8126
 						    if($this->isSentFolder($_folder))
6874
-							{
8127
+						    {
6875 8128
 						        $flags = '\\Seen';
6876
-						    } elseif($this->isDraftFolder($_folder)) {
8129
+						    }
8130
+						    elseif($this->isDraftFolder($_folder))
8131
+						    {
6877 8132
 						        $flags = '\\Draft';
6878
-						    } else {
8133
+						    }
8134
+						    else
8135
+						    {
6879 8136
 						        $flags = '';
6880 8137
 						    }
6881 8138
 							$savefailed = false;
@@ -6909,7 +8166,10 @@  discard block
 block discarded – undo
6909 8166
 						}
6910 8167
 						else
6911 8168
 						{
6912
-							if (!$openComposeWindow) $processStats['failed'][$val] = $errorInfo?$errorInfo:'Send failed to '.$nfn.'<'.$email.'> See error_log for details';
8169
+							if (!$openComposeWindow)
8170
+							{
8171
+								$processStats['failed'][$val] = $errorInfo?$errorInfo:'Send failed to '.$nfn.'<'.$email.'> See error_log for details';
8172
+							}
6913 8173
 						}
6914 8174
 					}
6915 8175
 					if (!is_null($sendOK) && $sendOK===false && is_null($openComposeWindow))
@@ -6957,7 +8217,10 @@  discard block
 block discarded – undo
6957 8217
 				$tmpFileName = $GLOBALS['egw_info']['server']['temp_dir'].'/'.basename($tmpFileName);
6958 8218
 				break;
6959 8219
 		}
6960
-		if (!isset($message)) $message = fopen($tmpFileName, 'r');
8220
+		if (!isset($message))
8221
+		{
8222
+			$message = fopen($tmpFileName, 'r');
8223
+		}
6961 8224
 
6962 8225
 		if (!$message)
6963 8226
 		{
@@ -6996,7 +8259,10 @@  discard block
 block discarded – undo
6996 8259
 				(fseek($message, 0, SEEK_SET) == -1 ? '' : fread($message, 8192));
6997 8260
 
6998 8261
 			$length = strpos($start, Horde_Mime_Part::RFC_EOL.Horde_Mime_Part::RFC_EOL);
6999
-			if ($length===false) $length = strlen($start);
8262
+			if ($length===false)
8263
+			{
8264
+				$length = strlen($start);
8265
+			}
7000 8266
 			$headers = Horde_Mime_Headers::parseHeaders(substr($start, 0,$length));
7001 8267
 
7002 8268
 			foreach($headers->toArray(array('nowrap' => true)) as $header => $value)
@@ -7014,7 +8280,10 @@  discard block
 block discarded – undo
7014 8280
 							break;
7015 8281
 						default:
7016 8282
 							//error_log(__METHOD__.__LINE__.':'.$header.'->'.$val);
7017
-							if (strtolower($header)=='bcc') $bccAddresses .= $val;
8283
+							if (strtolower($header)=='bcc')
8284
+							{
8285
+								$bccAddresses .= $val;
8286
+							}
7018 8287
 							$mailer->addHeader($header, $val, $overwrite);
7019 8288
 							//error_log(__METHOD__.__LINE__.':'.'getHeader('.$header.')'.array2string($mailer->getHeader($header)).(strtolower($header)=='bcc'?$bccAddresses:''));
7020 8289
 					}
@@ -7027,7 +8296,10 @@  discard block
 block discarded – undo
7027 8296
 		}
7028 8297
 		else
7029 8298
 		{
7030
-			if (($type = gettype($message)) == 'object') $type = get_class ($message);
8299
+			if (($type = gettype($message)) == 'object')
8300
+			{
8301
+				$type = get_class ($message);
8302
+			}
7031 8303
 			throw new Exception\WrongParameter('Wrong parameter type for message: '.$type);
7032 8304
 		}
7033 8305
 	}
@@ -7051,7 +8323,9 @@  discard block
 block discarded – undo
7051 8323
 			$matches = array();
7052 8324
 			preg_match_all("/[\w\.,-.,_.,0-9.]+@[\w\.,-.,_.,0-9.]+/",$addresses,$matches);
7053 8325
 			//error_log(__METHOD__.__LINE__.array2string($matches));
7054
-			foreach ($matches[0] as &$match) {$match = trim($match,', ');}
8326
+			foreach ($matches[0] as &$match)
8327
+			{
8328
+$match = trim($match,', ');}
7055 8329
 			$addresses = implode(',',$matches[0]);
7056 8330
 			//error_log(__METHOD__.__LINE__.array2string($addresses));
7057 8331
 			$ret = $rfc822->parseAddressList($addresses, $default_domain ? array('default_domain' => $default_domain) : array());
@@ -7082,7 +8356,10 @@  discard block
 block discarded – undo
7082 8356
 			}
7083 8357
 			else
7084 8358
 			{
7085
-				if ($previousFailed && $remember) $adr->personal = $remember. ' ' . $adr->personal;
8359
+				if ($previousFailed && $remember)
8360
+				{
8361
+					$adr->personal = $remember. ' ' . $adr->personal;
8362
+				}
7086 8363
 				$remember = '';
7087 8364
 				$previousFailed=false;
7088 8365
 				//error_log(__METHOD__.__LINE__."('$addresses', $default_domain) parsed $i: mailbox=$adr->mailbox, host=$adr->host, personal=$adr->personal");
@@ -7104,7 +8381,10 @@  discard block
 block discarded – undo
7104 8381
 	{
7105 8382
 		$acc = Mail\Account::read($this->profileID);
7106 8383
 		$identity = Mail\Account::read_identity($acc['ident_id'], true, null, $acc);
7107
-		if (self::$debug) error_log(__METHOD__.__LINE__.array2string($identity));
8384
+		if (self::$debug)
8385
+		{
8386
+			error_log(__METHOD__.__LINE__.array2string($identity));
8387
+		}
7108 8388
 		$headers = $this->getMessageHeader($uid, '', 'object', true, $_folder);
7109 8389
 
7110 8390
 		$mdn = new Horde_Mime_Mdn($headers);
Please login to merge, or discard this patch.
mail/inc/class.mail_zpush.inc.php 2 patches
Spacing   +350 added lines, -351 removed lines patch added patch discarded remove patch
@@ -90,23 +90,23 @@  discard block
 block discarded – undo
90 90
 		$this->backend = $backend;
91 91
 		if (!isset($GLOBALS['egw_info']['user']['preferences']['activesync']['mail-ActiveSyncProfileID']))
92 92
 		{
93
-			if ($this->debugLevel>1) error_log(__METHOD__.__LINE__.' Noprefs set: using 0 as default');
93
+			if ($this->debugLevel > 1) error_log(__METHOD__.__LINE__.' Noprefs set: using 0 as default');
94 94
 			// globals preferences add appname varname value
95
-			$GLOBALS['egw']->preferences->add('activesync','mail-ActiveSyncProfileID',0,'user');
95
+			$GLOBALS['egw']->preferences->add('activesync', 'mail-ActiveSyncProfileID', 0, 'user');
96 96
 			// save prefs
97 97
 			$GLOBALS['egw']->preferences->save_repository(true);
98 98
 		}
99
-		if ($this->debugLevel>1) error_log(__METHOD__.__LINE__.' ActiveProfileID:'.array2string(self::$profileID));
99
+		if ($this->debugLevel > 1) error_log(__METHOD__.__LINE__.' ActiveProfileID:'.array2string(self::$profileID));
100 100
 
101 101
 		if (is_null(self::$profileID))
102 102
 		{
103
-			if ($this->debugLevel>1) error_log(__METHOD__.__LINE__.' self::ProfileID isNUll:'.array2string(self::$profileID));
104
-			self::$profileID =& Api\Cache::getSession('mail','activeSyncProfileID');
105
-			if ($this->debugLevel>1) error_log(__METHOD__.__LINE__.' ActiveProfileID (after reading Cache):'.array2string(self::$profileID));
103
+			if ($this->debugLevel > 1) error_log(__METHOD__.__LINE__.' self::ProfileID isNUll:'.array2string(self::$profileID));
104
+			self::$profileID = & Api\Cache::getSession('mail', 'activeSyncProfileID');
105
+			if ($this->debugLevel > 1) error_log(__METHOD__.__LINE__.' ActiveProfileID (after reading Cache):'.array2string(self::$profileID));
106 106
 		}
107 107
 		if (isset($GLOBALS['egw_info']['user']['preferences']['activesync']['mail-ActiveSyncProfileID']))
108 108
 		{
109
-			if ($this->debugLevel>1) error_log(__METHOD__.__LINE__.' Pref for ProfileID:'.array2string($GLOBALS['egw_info']['user']['preferences']['activesync']['mail-ActiveSyncProfileID']));
109
+			if ($this->debugLevel > 1) error_log(__METHOD__.__LINE__.' Pref for ProfileID:'.array2string($GLOBALS['egw_info']['user']['preferences']['activesync']['mail-ActiveSyncProfileID']));
110 110
 			if ($GLOBALS['egw_info']['user']['preferences']['activesync']['mail-ActiveSyncProfileID'] == 'G')
111 111
 			{
112 112
 				self::$profileID = 'G'; // this should trigger the fetch of the first negative profile (or if no negative profile is available the firstb there is)
@@ -116,7 +116,7 @@  discard block
 block discarded – undo
116 116
 				self::$profileID = (int)$GLOBALS['egw_info']['user']['preferences']['activesync']['mail-ActiveSyncProfileID'];
117 117
 			}
118 118
 		}
119
-		if ($this->debugLevel>1) error_log(__METHOD__.__LINE__.' Profile Selected (after reading Prefs):'.array2string(self::$profileID));
119
+		if ($this->debugLevel > 1) error_log(__METHOD__.__LINE__.' Profile Selected (after reading Prefs):'.array2string(self::$profileID));
120 120
 
121 121
 		// verify we are on an existing profile, if not running in setup (settings can not be static according to interface!)
122 122
 		if (!isset($GLOBALS['egw_setup']))
@@ -124,12 +124,12 @@  discard block
 block discarded – undo
124 124
 			try {
125 125
 				Mail\Account::read(self::$profileID);
126 126
 			}
127
-			catch(Exception $e) {
127
+			catch (Exception $e) {
128 128
 				unset($e);
129 129
 				self::$profileID = Mail\Account::get_default_acc_id();
130 130
 			}
131 131
 		}
132
-		if ($this->debugLevel>0) error_log(__METHOD__.'::'.__LINE__.' ProfileSelected:'.self::$profileID);
132
+		if ($this->debugLevel > 0) error_log(__METHOD__.'::'.__LINE__.' ProfileSelected:'.self::$profileID);
133 133
 		//$this->debugLevel=0;
134 134
 	}
135 135
 
@@ -242,13 +242,13 @@  discard block
 block discarded – undo
242 242
 			$this->__construct($this->backend);
243 243
 
244 244
 			try {
245
-				$this->_connect(0,true);
245
+				$this->_connect(0, true);
246 246
 				$this->_disconnect();
247 247
 
248 248
 				if (!$this->_wasteID) $errors[] = lang('No valid %1 folder configured!', '<b>'.lang('trash').'</b>');
249 249
 				if (!$this->_sentID) $errors[] = lang('No valid %1 folder configured!', '<b>'.lang('send').'</b>');
250 250
 			}
251
-			catch(Exception $e) {
251
+			catch (Exception $e) {
252 252
 				$errors[] = lang('Can not open IMAP connection').': '.$e->getMessage();
253 253
 			}
254 254
 			if ($errors)
@@ -266,7 +266,7 @@  discard block
 block discarded – undo
266 266
 	 * @param int $account integer id of account to use
267 267
 	 * @todo support different accounts
268 268
 	 */
269
-	private function _connect($account=0)
269
+	private function _connect($account = 0)
270 270
 	{
271 271
 		if (!$account) $account = self::$profileID ? self::$profileID : 0;
272 272
 		if ($this->mail && $this->account != $account) $this->_disconnect();
@@ -279,7 +279,7 @@  discard block
 block discarded – undo
279 279
 			$this->account = $account;
280 280
 			// todo: tell mail which account to use
281 281
 			//error_log(__METHOD__.__LINE__.' create object with ProfileID:'.array2string(self::$profileID));
282
-			$this->mail = Mail::getInstance(false,self::$profileID,true,false,true);
282
+			$this->mail = Mail::getInstance(false, self::$profileID, true, false, true);
283 283
 			if (self::$profileID == 0 && isset($this->mail->icServer->ImapServerId) && !empty($this->mail->icServer->ImapServerId)) self::$profileID = $this->mail->icServer->ImapServerId;
284 284
 		}
285 285
 		else
@@ -287,7 +287,7 @@  discard block
 block discarded – undo
287 287
 			//error_log(__METHOD__.__LINE__." connect with profileID: ".self::$profileID);
288 288
 			if (self::$profileID == 0 && isset($this->mail->icServer->ImapServerId) && !empty($this->mail->icServer->ImapServerId)) self::$profileID = $this->mail->icServer->ImapServerId;
289 289
 		}
290
-		$this->mail->openConnection(self::$profileID,false);
290
+		$this->mail->openConnection(self::$profileID, false);
291 291
 
292 292
 		$this->_wasteID = $this->mail->getTrashFolder(false);
293 293
 		//error_log(__METHOD__.__LINE__.' TrashFolder:'.$this->_wasteID);
@@ -302,7 +302,7 @@  discard block
 block discarded – undo
302 302
 	 */
303 303
 	private function _disconnect()
304 304
 	{
305
-		if ($this->debugLevel>0) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__);
305
+		if ($this->debugLevel > 0) ZLog::Write(LOGLEVEL_DEBUG, __METHOD__);
306 306
 		if ($this->mail) $this->mail->closeConnection();
307 307
 
308 308
 		unset($this->mail);
@@ -318,24 +318,24 @@  discard block
 block discarded – undo
318 318
 	public function GetFolderList()
319 319
 	{
320 320
 		$folderlist = array();
321
-		if ($this->debugLevel>0) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__);
321
+		if ($this->debugLevel > 0) ZLog::Write(LOGLEVEL_DEBUG, __METHOD__.__LINE__);
322 322
 		/*foreach($available_accounts as $account)*/ $account = 0;
323 323
 		{
324 324
 			$this->_connect($account);
325
-			if (!isset($this->folders)) $this->folders = $this->mail->getFolderObjects(true,false,$_alwaysGetDefaultFolders=true);
326
-			if ($this->debugLevel>1) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.array2string($this->folders));
325
+			if (!isset($this->folders)) $this->folders = $this->mail->getFolderObjects(true, false, $_alwaysGetDefaultFolders = true);
326
+			if ($this->debugLevel > 1) ZLog::Write(LOGLEVEL_DEBUG, __METHOD__.__LINE__.array2string($this->folders));
327 327
 
328 328
 			foreach ($this->folders as $folder => $folderObj) {
329
-				if ($this->debugLevel>1) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.' folder='.$folder);
329
+				if ($this->debugLevel > 1) ZLog::Write(LOGLEVEL_DEBUG, __METHOD__.__LINE__.' folder='.$folder);
330 330
 				$folderlist[] = $f = array(
331
-					'id'     => $this->createID($account,$folder),
331
+					'id'     => $this->createID($account, $folder),
332 332
 					'mod'    => $folderObj->shortDisplayName,
333
-					'parent' => $this->getParentID($account,$folder),
333
+					'parent' => $this->getParentID($account, $folder),
334 334
 				);
335
-				if ($this->debugLevel>1) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."() returning ".array2string($f));
335
+				if ($this->debugLevel > 1) ZLog::Write(LOGLEVEL_DEBUG, __METHOD__."() returning ".array2string($f));
336 336
 			}
337 337
 		}
338
-		if ($this->debugLevel>0) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."() returning ".array2string($folderlist));
338
+		if ($this->debugLevel > 0) ZLog::Write(LOGLEVEL_DEBUG, __METHOD__."() returning ".array2string($folderlist));
339 339
 
340 340
 		return $folderlist;
341 341
 	}
@@ -384,84 +384,84 @@  discard block
 block discarded – undo
384 384
 		$ClientSideMeetingRequest = false;
385 385
 		$allowSendingInvitations = 'sendifnocalnotif';
386 386
 		if (isset($GLOBALS['egw_info']['user']['preferences']['activesync']['mail-allowSendingInvitations']) &&
387
-			$GLOBALS['egw_info']['user']['preferences']['activesync']['mail-allowSendingInvitations']=='nosend')
387
+			$GLOBALS['egw_info']['user']['preferences']['activesync']['mail-allowSendingInvitations'] == 'nosend')
388 388
 		{
389 389
 			$allowSendingInvitations = false;
390 390
 		}
391 391
 		elseif (isset($GLOBALS['egw_info']['user']['preferences']['activesync']['mail-allowSendingInvitations']) &&
392
-			$GLOBALS['egw_info']['user']['preferences']['activesync']['mail-allowSendingInvitations']!='nosend')
392
+			$GLOBALS['egw_info']['user']['preferences']['activesync']['mail-allowSendingInvitations'] != 'nosend')
393 393
 		{
394 394
 			$allowSendingInvitations = $GLOBALS['egw_info']['user']['preferences']['activesync']['mail-allowSendingInvitations'];
395 395
 		}
396
-		$smartdata_task = ($smartdata->replyflag?'reply':($smartdata->forwardflag?'forward':'new'));
396
+		$smartdata_task = ($smartdata->replyflag ? 'reply' : ($smartdata->forwardflag ? 'forward' : 'new'));
397 397
 
398
-   		ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__ . (isset($smartdata->mime) ? $smartdata->mime : ""). "task: ".(isset($smartdata_task) ? $smartdata_task : "")." itemid: ".(isset($smartdata->source->itemid) ? $smartdata->source->itemid : "")." folder: ".(isset($smartdata->source->folderid) ? $smartdata->source->folderid : ""));
399
-		if ($this->debugLevel>0) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."(".__LINE__."): Smartdata = ".array2string($smartdata));
398
+   		ZLog::Write(LOGLEVEL_DEBUG, __METHOD__.__LINE__.(isset($smartdata->mime) ? $smartdata->mime : "")."task: ".(isset($smartdata_task) ? $smartdata_task : "")." itemid: ".(isset($smartdata->source->itemid) ? $smartdata->source->itemid : "")." folder: ".(isset($smartdata->source->folderid) ? $smartdata->source->folderid : ""));
399
+		if ($this->debugLevel > 0) ZLog::Write(LOGLEVEL_DEBUG, __METHOD__."(".__LINE__."): Smartdata = ".array2string($smartdata));
400 400
 		//error_log("IMAP-Sendmail: Smartdata = ".array2string($smartdata));
401 401
 
402 402
 		// initialize our Mail
403
-		if (!isset($this->mail)) $this->mail = Mail::getInstance(false,self::$profileID,true,false,true);
403
+		if (!isset($this->mail)) $this->mail = Mail::getInstance(false, self::$profileID, true, false, true);
404 404
 		$activeMailProfiles = $this->mail->getAccountIdentities(self::$profileID);
405 405
 		// use the standardIdentity
406
-		$activeMailProfile = Mail::getStandardIdentityForProfile($activeMailProfiles,self::$profileID);
406
+		$activeMailProfile = Mail::getStandardIdentityForProfile($activeMailProfiles, self::$profileID);
407 407
 
408
-		ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."(".__LINE__.")".' ProfileID:'.self::$profileID.' ActiveMailProfile:'.array2string($activeMailProfile));
408
+		ZLog::Write(LOGLEVEL_DEBUG, __METHOD__."(".__LINE__.")".' ProfileID:'.self::$profileID.' ActiveMailProfile:'.array2string($activeMailProfile));
409 409
 		// collect identity / signature for later usage, and to determine if we may have to manipulate TransferEncoding and Charset
410 410
 		try
411 411
 		{
412 412
 			$acc = Mail\Account::read($this->mail->icServer->ImapServerId);
413 413
 			//error_log(__METHOD__.__LINE__.array2string($acc));
414
-			$_signature = Mail\Account::read_identity($acc['ident_id'],true);
414
+			$_signature = Mail\Account::read_identity($acc['ident_id'], true);
415 415
 		}
416 416
 		catch (Exception $e)
417 417
 		{
418
-			$_signature=array();
418
+			$_signature = array();
419 419
 		}
420 420
 		$signature = $_signature['ident_signature'];
421 421
 		if ((isset($preferencesArray['disableRulerForSignatureSeparation']) &&
422 422
 			$preferencesArray['disableRulerForSignatureSeparation']) ||
423
-			empty($signature) || trim(Api\Mail\Html::convertHTMLToText($signature)) =='')
423
+			empty($signature) || trim(Api\Mail\Html::convertHTMLToText($signature)) == '')
424 424
 		{
425 425
 			$disableRuler = true;
426 426
 		}
427 427
 		$beforePlain = $beforeHtml = "";
428
-		$beforeHtml = ($disableRuler ?'&nbsp;<br>':'&nbsp;<br><hr style="border:dotted 1px silver; width:90%; border:dotted 1px silver;">');
429
-		$beforePlain = ($disableRuler ?"\r\n\r\n":"\r\n\r\n-- \r\n");
430
-		$sigText = Mail::merge($signature,array($GLOBALS['egw']->accounts->id2name($GLOBALS['egw_info']['user']['account_id'],'person_id')));
431
-		if ($this->debugLevel>0) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.' Signature to use:'.$sigText);
428
+		$beforeHtml = ($disableRuler ? '&nbsp;<br>' : '&nbsp;<br><hr style="border:dotted 1px silver; width:90%; border:dotted 1px silver;">');
429
+		$beforePlain = ($disableRuler ? "\r\n\r\n" : "\r\n\r\n-- \r\n");
430
+		$sigText = Mail::merge($signature, array($GLOBALS['egw']->accounts->id2name($GLOBALS['egw_info']['user']['account_id'], 'person_id')));
431
+		if ($this->debugLevel > 0) ZLog::Write(LOGLEVEL_DEBUG, __METHOD__.__LINE__.' Signature to use:'.$sigText);
432 432
 		$sigTextHtml = $beforeHtml.$sigText;
433 433
 		$sigTextPlain = $beforePlain.Api\Mail\Html::convertHTMLToText($sigText);
434 434
 
435
-		$force8bit=false;
436
-		if (Api\Translation::detect_encoding($sigTextPlain)!='ascii') $force8bit=true;
435
+		$force8bit = false;
436
+		if (Api\Translation::detect_encoding($sigTextPlain) != 'ascii') $force8bit = true;
437 437
 		// initialize the new Api\Mailer object for sending
438 438
 		$mailObject = new Api\Mailer(self::$profileID);
439
-		$bccAddresses='';
440
-		$this->mail->parseRawMessageIntoMailObject($mailObject,$smartdata->mime,$force8bit,$bccAddresses);
439
+		$bccAddresses = '';
440
+		$this->mail->parseRawMessageIntoMailObject($mailObject, $smartdata->mime, $force8bit, $bccAddresses);
441 441
 		// Horde SMTP Class uses utf-8 by default. as we set charset always to utf-8
442
-		$mailObject->Sender  = $activeMailProfile['ident_email'];
443
-		$mailObject->setFrom($activeMailProfile['ident_email'],Mail::generateIdentityString($activeMailProfile,false));
442
+		$mailObject->Sender = $activeMailProfile['ident_email'];
443
+		$mailObject->setFrom($activeMailProfile['ident_email'], Mail::generateIdentityString($activeMailProfile, false));
444 444
 		$mailObject->addHeader('X-Mailer', 'mail-Activesync');
445 445
 
446 446
 		// prepare addressee list; moved the adding of addresses to the mailobject down
447 447
 		// to
448
-		foreach(Mail::parseAddressList($mailObject->getHeader("To")) as $addressObject) {
448
+		foreach (Mail::parseAddressList($mailObject->getHeader("To")) as $addressObject) {
449 449
 			if (!$addressObject->valid) continue;
450
-			ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."(".__LINE__.") Header Sentmail To: ".array2string($addressObject) );
450
+			ZLog::Write(LOGLEVEL_DEBUG, __METHOD__."(".__LINE__.") Header Sentmail To: ".array2string($addressObject));
451 451
 			//$mailObject->AddAddress($addressObject->mailbox. ($addressObject->host ? '@'.$addressObject->host : ''),$addressObject->personal);
452 452
 			$toMailAddr[] = imap_rfc822_write_address($addressObject->mailbox, $addressObject->host, $addressObject->personal);
453 453
 		}
454 454
 		// CC
455
-		foreach(Mail::parseAddressList($mailObject->getHeader("Cc")) as $addressObject) {
455
+		foreach (Mail::parseAddressList($mailObject->getHeader("Cc")) as $addressObject) {
456 456
 			if (!$addressObject->valid) continue;
457
-			ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."(".__LINE__.") Header Sentmail CC: ".array2string($addressObject) );
457
+			ZLog::Write(LOGLEVEL_DEBUG, __METHOD__."(".__LINE__.") Header Sentmail CC: ".array2string($addressObject));
458 458
 			//$mailObject->AddCC($addressObject->mailbox. ($addressObject->host ? '@'.$addressObject->host : ''),$addressObject->personal);
459 459
 			$ccMailAddr[] = imap_rfc822_write_address($addressObject->mailbox, $addressObject->host, $addressObject->personal);
460 460
 		}
461 461
 		// BCC
462
-		foreach(Mail::parseAddressList(($bccAddresses?$bccAddresses:$mailObject->getHeader("Bcc"))) as $addressObject) {
462
+		foreach (Mail::parseAddressList(($bccAddresses ? $bccAddresses : $mailObject->getHeader("Bcc"))) as $addressObject) {
463 463
 			if (!$addressObject->valid) continue;
464
-			ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."(".__LINE__.") Header Sentmail BCC: ".array2string($addressObject) );
464
+			ZLog::Write(LOGLEVEL_DEBUG, __METHOD__."(".__LINE__.") Header Sentmail BCC: ".array2string($addressObject));
465 465
 			//$mailObject->AddBCC($addressObject->mailbox. ($addressObject->host ? '@'.$addressObject->host : ''),$addressObject->personal);
466 466
 			$bccMailAddr[] = imap_rfc822_write_address($addressObject->mailbox, $addressObject->host, $addressObject->personal);
467 467
 		}
@@ -470,7 +470,7 @@  discard block
 block discarded – undo
470 470
 		$use_orgbody = false;
471 471
 
472 472
 		$k = 'Content-Type';
473
-		$ContentType =$mailObject->getHeader('Content-Type');
473
+		$ContentType = $mailObject->getHeader('Content-Type');
474 474
 		//error_log(__METHOD__.__LINE__." Header Sentmail original Header (filtered): " . $k.  " = ".trim($ContentType));
475 475
 		// if the message is a multipart message, then we should use the sent body
476 476
 		if (preg_match("/multipart/i", $ContentType)) {
@@ -490,43 +490,43 @@  discard block
 block discarded – undo
490 490
 			$k == "Content-Type" && preg_match("/multipart/i", $ContentType))) {
491 491
 			$use_orgbody = true;
492 492
 		}
493
-		$Body =  $AltBody = "";
493
+		$Body = $AltBody = "";
494 494
 		// get body of the transmitted message
495 495
 		// if this is a simple message, no structure at all
496 496
 		if (preg_match("/text/i", $ContentType))
497 497
 		{
498
-			$simpleBodyType = (preg_match("/html/i", $ContentType)?'text/html':'text/plain');
498
+			$simpleBodyType = (preg_match("/html/i", $ContentType) ? 'text/html' : 'text/plain');
499 499
 			$bodyObj = $mailObject->findBody(preg_match("/html/i", $ContentType) ? 'html' : 'plain');
500
-			$body = preg_replace("/(<|&lt;)*(([\w\.,-.,_.,0-9.]+)@([\w\.,-.,_.,0-9.]+))(>|&gt;)*/i","[$2]", $bodyObj ?$bodyObj->getContents() : null);
501
-			if  ($simpleBodyType == "text/plain")
500
+			$body = preg_replace("/(<|&lt;)*(([\w\.,-.,_.,0-9.]+)@([\w\.,-.,_.,0-9.]+))(>|&gt;)*/i", "[$2]", $bodyObj ? $bodyObj->getContents() : null);
501
+			if ($simpleBodyType == "text/plain")
502 502
 			{
503 503
 				$Body = $body;
504 504
 				$AltBody = "<pre>".nl2br($body)."</pre>";
505
-				ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."(".__LINE__.") fetched Body as :". $simpleBodyType.'=> Created AltBody');
505
+				ZLog::Write(LOGLEVEL_DEBUG, __METHOD__."(".__LINE__.") fetched Body as :".$simpleBodyType.'=> Created AltBody');
506 506
 			}
507 507
 			else
508 508
 			{
509 509
 				$AltBody = $body;
510
-				$Body =  trim(Api\Mail\Html::convertHTMLToText($body));
511
-				ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."(".__LINE__.") fetched Body as :". $simpleBodyType.'=> Created Body');
510
+				$Body = trim(Api\Mail\Html::convertHTMLToText($body));
511
+				ZLog::Write(LOGLEVEL_DEBUG, __METHOD__."(".__LINE__.") fetched Body as :".$simpleBodyType.'=> Created Body');
512 512
 			}
513 513
 		}
514 514
 		else
515 515
 		{
516 516
 			// if this is a structured message
517 517
 			// prefer plain over html
518
-			$Body = preg_replace("/(<|&lt;)*(([\w\.,-.,_.,0-9.]+)@([\w\.,-.,_.,0-9.]+))(>|&gt;)*/i","[$2]",
518
+			$Body = preg_replace("/(<|&lt;)*(([\w\.,-.,_.,0-9.]+)@([\w\.,-.,_.,0-9.]+))(>|&gt;)*/i", "[$2]",
519 519
 				($text_body = $mailObject->findBody('plain')) ? $text_body->getContents() : null);
520
-			$AltBody = preg_replace("/(<|&lt;)*(([\w\.,-.,_.,0-9.]+)@([\w\.,-.,_.,0-9.]+))(>|&gt;)*/i","[$2]",
520
+			$AltBody = preg_replace("/(<|&lt;)*(([\w\.,-.,_.,0-9.]+)@([\w\.,-.,_.,0-9.]+))(>|&gt;)*/i", "[$2]",
521 521
 				($html_body = $mailObject->findBody('html')) ? $html_body->getContents() : null);
522 522
 		}
523
-		if ($this->debugLevel>1 && $Body) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."(".__LINE__.") fetched Body as with MessageContentType:". $ContentType.'=>'.$Body);
524
-		if ($this->debugLevel>1 && $AltBody) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."(".__LINE__.") fetched AltBody as with MessageContentType:". $ContentType.'=>'.$AltBody);
523
+		if ($this->debugLevel > 1 && $Body) ZLog::Write(LOGLEVEL_DEBUG, __METHOD__."(".__LINE__.") fetched Body as with MessageContentType:".$ContentType.'=>'.$Body);
524
+		if ($this->debugLevel > 1 && $AltBody) ZLog::Write(LOGLEVEL_DEBUG, __METHOD__."(".__LINE__.") fetched AltBody as with MessageContentType:".$ContentType.'=>'.$AltBody);
525 525
 		//error_log(__METHOD__.__LINE__.array2string($mailObject));
526 526
 		// if this is a multipart message with a boundary, we must use the original body
527 527
 		//if ($this->debugLevel>2) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.' mailObject after Inital Parse:'.array2string($mailObject));
528 528
         if ($use_orgbody) {
529
-    	    ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."(".__LINE__.") use_orgbody = true ContentType:".$ContentType);
529
+    	    ZLog::Write(LOGLEVEL_DEBUG, __METHOD__."(".__LINE__.") use_orgbody = true ContentType:".$ContentType);
530 530
  			// if it is a ClientSideMeetingRequest, we report it as send at all times
531 531
 			if (($cal_body = $mailObject->findBody('calendar')) &&
532 532
 				($cSMRMethod = $cal_body->getContentTypeParameter('method')))
@@ -535,21 +535,21 @@  discard block
 block discarded – undo
535 535
 				{
536 536
 					$organizer = calendar_ical::getIcalOrganizer($cal_body->getContents());
537 537
 				}
538
-				if ($this->debugLevel) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."(".__LINE__.") we have a Client Side Meeting Request from organizer=$organizer");
538
+				if ($this->debugLevel) ZLog::Write(LOGLEVEL_DEBUG, __METHOD__."(".__LINE__.") we have a Client Side Meeting Request from organizer=$organizer");
539 539
 				$ClientSideMeetingRequest = true;
540 540
 			}
541 541
         }
542 542
 		// now handle the addressee list
543 543
 		$toCount = 0;
544 544
 		//error_log(__METHOD__.__LINE__.array2string($toMailAddr));
545
-		foreach((array)$toMailAddr as $address) {
546
-			foreach(Mail::parseAddressList((get_magic_quotes_gpc()?stripslashes($address):$address)) as $addressObject) {
547
-				$emailAddress = $addressObject->mailbox. ($addressObject->host ? '@'.$addressObject->host : '');
545
+		foreach ((array)$toMailAddr as $address) {
546
+			foreach (Mail::parseAddressList((get_magic_quotes_gpc() ? stripslashes($address) : $address)) as $addressObject) {
547
+				$emailAddress = $addressObject->mailbox.($addressObject->host ? '@'.$addressObject->host : '');
548 548
 				if ($ClientSideMeetingRequest === true && $allowSendingInvitations == 'sendifnocalnotif' &&
549 549
 					calendar_boupdate::email_update_requested($emailAddress, isset($cSMRMethod) ? $cSMRMethod : 'REQUEST',
550 550
 						$organizer && !strcasecmp($emailAddress, $organizer) ? 'CHAIR' : ''))
551 551
 				{
552
-					ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."(".__LINE__.") skiping mail to organizer '$organizer', as it will be send by calendar app");
552
+					ZLog::Write(LOGLEVEL_DEBUG, __METHOD__."(".__LINE__.") skiping mail to organizer '$organizer', as it will be send by calendar app");
553 553
 					continue;
554 554
 				}
555 555
 				$mailObject->AddAddress($emailAddress, $addressObject->personal);
@@ -557,29 +557,29 @@  discard block
 block discarded – undo
557 557
 			}
558 558
 		}
559 559
 		$ccCount = 0;
560
-		foreach((array)$ccMailAddr as $address) {
561
-			foreach(Mail::parseAddressList((get_magic_quotes_gpc()?stripslashes($address):$address)) as $addressObject) {
562
-				$emailAddress = $addressObject->mailbox. ($addressObject->host ? '@'.$addressObject->host : '');
560
+		foreach ((array)$ccMailAddr as $address) {
561
+			foreach (Mail::parseAddressList((get_magic_quotes_gpc() ? stripslashes($address) : $address)) as $addressObject) {
562
+				$emailAddress = $addressObject->mailbox.($addressObject->host ? '@'.$addressObject->host : '');
563 563
 				if ($ClientSideMeetingRequest === true && $allowSendingInvitations == 'sendifnocalnotif' && calendar_boupdate::email_update_requested($emailAddress)) continue;
564 564
 				$mailObject->AddCC($emailAddress, $addressObject->personal);
565 565
 				$ccCount++;
566 566
 			}
567 567
 		}
568 568
 		$bccCount = 0;
569
-		foreach((array)$bccMailAddr as $address) {
570
-			foreach(Mail::parseAddressList((get_magic_quotes_gpc()?stripslashes($address):$address)) as $addressObject) {
571
-				$emailAddress = $addressObject->mailbox. ($addressObject->host ? '@'.$addressObject->host : '');
569
+		foreach ((array)$bccMailAddr as $address) {
570
+			foreach (Mail::parseAddressList((get_magic_quotes_gpc() ? stripslashes($address) : $address)) as $addressObject) {
571
+				$emailAddress = $addressObject->mailbox.($addressObject->host ? '@'.$addressObject->host : '');
572 572
 				if ($ClientSideMeetingRequest === true && $allowSendingInvitations == 'sendifnocalnotif' && calendar_boupdate::email_update_requested($emailAddress)) continue;
573 573
 				$mailObject->AddBCC($emailAddress, $addressObject->personal);
574 574
 				$bccCount++;
575 575
 			}
576 576
 		}
577 577
 		// typical organizer reply will end here with nothing send --> return true, because we suppressed the send above
578
-		if ($toCount+$ccCount+$bccCount == 0)
578
+		if ($toCount + $ccCount + $bccCount == 0)
579 579
 		{
580 580
 			return $ClientSideMeetingRequest && $allowSendingInvitations === 'sendifnocalnotif' && $organizer ? true : 0; // noone to send mail to
581 581
 		}
582
-		if ($ClientSideMeetingRequest === true && $allowSendingInvitations===false) return true;
582
+		if ($ClientSideMeetingRequest === true && $allowSendingInvitations === false) return true;
583 583
 		// as we use our mailer (horde mailer) it is detecting / setting the mimetype by itself while creating the mail
584 584
 /*
585 585
 		if ($this->debugLevel>2) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.' retrieved Body:'.$body);
@@ -596,26 +596,26 @@  discard block
 block discarded – undo
596 596
 		{
597 597
 			// now get on, and fetch the original mail
598 598
 			$uid = $smartdata->source->itemid;
599
-			ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."(".__LINE__.") IMAP Smartreply is called with FolderID:".$smartdata->source->folderid.' and ItemID:'.$smartdata->source->itemid);
599
+			ZLog::Write(LOGLEVEL_DEBUG, __METHOD__."(".__LINE__.") IMAP Smartreply is called with FolderID:".$smartdata->source->folderid.' and ItemID:'.$smartdata->source->itemid);
600 600
 			$this->splitID($smartdata->source->folderid, $account, $folder);
601 601
 
602 602
 			$this->mail->reopen($folder);
603 603
 			$bodyStruct = $this->mail->getMessageBody($uid, 'html_only');
604
-			$bodyBUFFHtml = $this->mail->getdisplayableBody($this->mail,$bodyStruct,true,false);
605
-			if ($this->debugLevel>3) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.' html_only:'.$bodyBUFFHtml);
606
-		    if ($bodyBUFFHtml != "" && (is_array($bodyStruct) && $bodyStruct[0]['mimeType']=='text/html')) {
604
+			$bodyBUFFHtml = $this->mail->getdisplayableBody($this->mail, $bodyStruct, true, false);
605
+			if ($this->debugLevel > 3) ZLog::Write(LOGLEVEL_DEBUG, __METHOD__.__LINE__.' html_only:'.$bodyBUFFHtml);
606
+		    if ($bodyBUFFHtml != "" && (is_array($bodyStruct) && $bodyStruct[0]['mimeType'] == 'text/html')) {
607 607
 				// may be html
608
-				if ($this->debugLevel>0) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."(".__LINE__.") MIME Body".' Type:html (fetched with html_only):'.$bodyBUFFHtml);
608
+				if ($this->debugLevel > 0) ZLog::Write(LOGLEVEL_DEBUG, __METHOD__."(".__LINE__.") MIME Body".' Type:html (fetched with html_only):'.$bodyBUFFHtml);
609 609
 				$AltBody = $AltBody."</br>".$bodyBUFFHtml.$sigTextHtml;
610 610
 				$isreply = true;
611 611
 			}
612 612
 			// plain text Message part
613
-			ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."(".__LINE__.") MIME Body".' Type:plain, fetch text:');
613
+			ZLog::Write(LOGLEVEL_DEBUG, __METHOD__."(".__LINE__.") MIME Body".' Type:plain, fetch text:');
614 614
 			// if the new part of the message is html, we must preserve it, and handle that the original mail is text/plain
615
-			$bodyStruct = $this->mail->getMessageBody($uid,'never_display');//'never_display');
616
-			$bodyBUFF = $this->mail->getdisplayableBody($this->mail,$bodyStruct,false,false);
617
-			if ($bodyBUFF != "" && (is_array($bodyStruct) && $bodyStruct[0]['mimeType']=='text/plain')) {
618
-				if ($this->debugLevel>0) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."(".__LINE__.") MIME Body".' Type:plain (fetched with never_display):'.$bodyBUFF);
615
+			$bodyStruct = $this->mail->getMessageBody($uid, 'never_display'); //'never_display');
616
+			$bodyBUFF = $this->mail->getdisplayableBody($this->mail, $bodyStruct, false, false);
617
+			if ($bodyBUFF != "" && (is_array($bodyStruct) && $bodyStruct[0]['mimeType'] == 'text/plain')) {
618
+				if ($this->debugLevel > 0) ZLog::Write(LOGLEVEL_DEBUG, __METHOD__."(".__LINE__.") MIME Body".' Type:plain (fetched with never_display):'.$bodyBUFF);
619 619
 				$Body = $Body."\r\n".$bodyBUFF.$sigTextPlain;
620 620
 				$isreply = true;
621 621
 			}
@@ -623,12 +623,12 @@  discard block
 block discarded – undo
623 623
 			{
624 624
 				$isreply = true;
625 625
 				$AltBody = $AltBody."</br><pre>".nl2br($bodyBUFF).'</pre>'.$sigTextHtml;
626
-				if ($this->debugLevel>0) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__." no Api\Html Body found use modified plaintext body for txt/html: ".$AltBody);
626
+				if ($this->debugLevel > 0) ZLog::Write(LOGLEVEL_DEBUG, __METHOD__.__LINE__." no Api\Html Body found use modified plaintext body for txt/html: ".$AltBody);
627 627
 			}
628 628
 		}
629 629
 
630 630
 		// how to forward and other prefs
631
-		$preferencesArray =& $GLOBALS['egw_info']['user']['preferences']['mail'];
631
+		$preferencesArray = & $GLOBALS['egw_info']['user']['preferences']['mail'];
632 632
 
633 633
 		// forward -------------------------------------------------------------------------
634 634
 		if ($smartdata_task == 'forward' && isset($smartdata->source->itemid) &&
@@ -638,7 +638,7 @@  discard block
 block discarded – undo
638 638
 		{
639 639
 			//force the default for the forwarding -> asmail
640 640
 			if (is_array($preferencesArray)) {
641
-				if (!array_key_exists('message_forwarding',$preferencesArray)
641
+				if (!array_key_exists('message_forwarding', $preferencesArray)
642 642
 					|| !isset($preferencesArray['message_forwarding'])
643 643
 					|| empty($preferencesArray['message_forwarding'])) $preferencesArray['message_forwarding'] = 'asmail';
644 644
 			} else {
@@ -646,18 +646,18 @@  discard block
 block discarded – undo
646 646
 			}
647 647
 			// construct the uid of the message out of the itemid - seems to be the uid, no construction needed
648 648
 			$uid = $smartdata->source->itemid;
649
-			ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."(".__LINE__.")IMAP Smartfordward is called with FolderID:".$smartdata->source->folderid.' and ItemID:'.$smartdata->source->itemid);
649
+			ZLog::Write(LOGLEVEL_DEBUG, __METHOD__."(".__LINE__.")IMAP Smartfordward is called with FolderID:".$smartdata->source->folderid.' and ItemID:'.$smartdata->source->itemid);
650 650
 			$this->splitID($smartdata->source->folderid, $account, $folder);
651 651
 
652 652
 			$this->mail->reopen($folder);
653 653
             // receive entire mail (header + body)
654 654
 			// get message headers for specified message
655
-			$headers	= $this->mail->getMessageEnvelope($uid, $_partID, true, $folder);
655
+			$headers = $this->mail->getMessageEnvelope($uid, $_partID, true, $folder);
656 656
 			// build a new mime message, forward entire old mail as file
657 657
 			if ($preferencesArray['message_forwarding'] == 'asmail')
658 658
 			{
659
-				$rawHeader      = $this->mail->getMessageRawHeader($smartdata->source->itemid, $_partID,$folder);
660
-				$rawBody        = $this->mail->getMessageRawBody($smartdata->source->itemid, $_partID,$folder);
659
+				$rawHeader      = $this->mail->getMessageRawHeader($smartdata->source->itemid, $_partID, $folder);
660
+				$rawBody        = $this->mail->getMessageRawBody($smartdata->source->itemid, $_partID, $folder);
661 661
 				$mailObject->AddStringAttachment($rawHeader.$rawBody, $headers['SUBJECT'].'.eml', 'message/rfc822');
662 662
 				$AltBody = $AltBody."</br>".lang("See Attachments for Content of the Orignial Mail").$sigTextHtml;
663 663
 				$Body = $Body."\r\n".lang("See Attachments for Content of the Orignial Mail").$sigTextPlain;
@@ -667,50 +667,50 @@  discard block
 block discarded – undo
667 667
 			{
668 668
 				// now get on, and fetch the original mail
669 669
 				$uid = $smartdata->source->itemid;
670
-				ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."(".__LINE__.") IMAP Smartreply is called with FolderID:".$smartdata->source->folderid.' and ItemID:'.$smartdata->source->itemid);
670
+				ZLog::Write(LOGLEVEL_DEBUG, __METHOD__."(".__LINE__.") IMAP Smartreply is called with FolderID:".$smartdata->source->folderid.' and ItemID:'.$smartdata->source->itemid);
671 671
 				$this->splitID($smartdata->source->folderid, $account, $folder);
672 672
 
673 673
 				$this->mail->reopen($folder);
674 674
 				$bodyStruct = $this->mail->getMessageBody($uid, 'html_only');
675
-				$bodyBUFFHtml = $this->mail->getdisplayableBody($this->mail,$bodyStruct,true,false);
676
-				if ($this->debugLevel>0) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.' html_only:'.$bodyBUFFHtml);
677
-				if ($bodyBUFFHtml != "" && (is_array($bodyStruct) && $bodyStruct[0]['mimeType']=='text/html')) {
675
+				$bodyBUFFHtml = $this->mail->getdisplayableBody($this->mail, $bodyStruct, true, false);
676
+				if ($this->debugLevel > 0) ZLog::Write(LOGLEVEL_DEBUG, __METHOD__.__LINE__.' html_only:'.$bodyBUFFHtml);
677
+				if ($bodyBUFFHtml != "" && (is_array($bodyStruct) && $bodyStruct[0]['mimeType'] == 'text/html')) {
678 678
 					// may be html
679
-					if ($this->debugLevel>0) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."(".__LINE__.") MIME Body".' Type:html (fetched with html_only):'.$bodyBUFFHtml);
679
+					if ($this->debugLevel > 0) ZLog::Write(LOGLEVEL_DEBUG, __METHOD__."(".__LINE__.") MIME Body".' Type:html (fetched with html_only):'.$bodyBUFFHtml);
680 680
 					$AltBody = $AltBody."</br>".$bodyBUFFHtml.$sigTextHtml;
681 681
 					$isforward = true;
682 682
 				}
683 683
 				// plain text Message part
684
-				if ($this->debugLevel>0) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."(".__LINE__.") MIME Body".' Type:plain, fetch text:');
684
+				if ($this->debugLevel > 0) ZLog::Write(LOGLEVEL_DEBUG, __METHOD__."(".__LINE__.") MIME Body".' Type:plain, fetch text:');
685 685
 				// if the new part of the message is html, we must preserve it, and handle that the original mail is text/plain
686
-				$bodyStruct = $this->mail->getMessageBody($uid,'never_display');//'never_display');
687
-				$bodyBUFF = $this->mail->getdisplayableBody($this->mail,$bodyStruct,false,false);
688
-				if ($bodyBUFF != "" && (is_array($bodyStruct) && $bodyStruct[0]['mimeType']=='text/plain')) {
689
-					if ($this->debugLevel>0) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."(".__LINE__.") MIME Body".' Type:plain (fetched with never_display):'.$bodyBUFF);
686
+				$bodyStruct = $this->mail->getMessageBody($uid, 'never_display'); //'never_display');
687
+				$bodyBUFF = $this->mail->getdisplayableBody($this->mail, $bodyStruct, false, false);
688
+				if ($bodyBUFF != "" && (is_array($bodyStruct) && $bodyStruct[0]['mimeType'] == 'text/plain')) {
689
+					if ($this->debugLevel > 0) ZLog::Write(LOGLEVEL_DEBUG, __METHOD__."(".__LINE__.") MIME Body".' Type:plain (fetched with never_display):'.$bodyBUFF);
690 690
 					$Body = $Body."\r\n".$bodyBUFF.$sigTextPlain;
691 691
 					$isforward = true;
692 692
 				}
693 693
 				if (!empty($bodyBUFF) && empty($bodyBUFFHtml) && !empty($AltBody))
694 694
 				{
695 695
 					$AltBody = $AltBody."</br><pre>".nl2br($bodyBUFF).'</pre>'.$sigTextHtml;
696
-					if ($this->debugLevel>0) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__." no html Body found use modified plaintext body for txt/html: ".$AltBody);
696
+					if ($this->debugLevel > 0) ZLog::Write(LOGLEVEL_DEBUG, __METHOD__.__LINE__." no html Body found use modified plaintext body for txt/html: ".$AltBody);
697 697
 					$isforward = true;
698 698
 				}
699 699
 				// get all the attachments and add them too.
700 700
 				// start handle Attachments
701 701
 				//												$_uid, $_partID=null, Horde_Mime_Part $_structure=null, $fetchEmbeddedImages=true, $fetchTextCalendar=false, $resolveTNEF=true, $_folderName=''
702
-				$attachments = $this->mail->getMessageAttachments($uid, null,          null,								true,						false,				 true			, $folder);
702
+				$attachments = $this->mail->getMessageAttachments($uid, null, null, true, false, true, $folder);
703 703
 				$attachmentNames = false;
704
-				if (is_array($attachments) && count($attachments)>0)
704
+				if (is_array($attachments) && count($attachments) > 0)
705 705
 				{
706
-					ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.' gather Attachments for BodyCreation of/for MessageID:'.$uid.' found:'.count($attachments));
707
-					foreach((array)$attachments as $key => $attachment)
706
+					ZLog::Write(LOGLEVEL_DEBUG, __METHOD__.__LINE__.' gather Attachments for BodyCreation of/for MessageID:'.$uid.' found:'.count($attachments));
707
+					foreach ((array)$attachments as $key => $attachment)
708 708
 					{
709
-						if ($this->debugLevel>0) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.' Key:'.$key.'->'.array2string($attachment));
709
+						if ($this->debugLevel > 0) ZLog::Write(LOGLEVEL_DEBUG, __METHOD__.__LINE__.' Key:'.$key.'->'.array2string($attachment));
710 710
 						$attachmentNames .= $attachment['name']."\n";
711
-						$attachmentData	= $this->mail->getAttachment($uid, $attachment['partID'],0,false,false,$folder);
711
+						$attachmentData = $this->mail->getAttachment($uid, $attachment['partID'], 0, false, false, $folder);
712 712
 						/*$x =*/ $mailObject->AddStringAttachment($attachmentData['attachment'], $attachment['name'], $attachment['mimeType']);
713
-						ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.' added part with number:'.$x);
713
+						ZLog::Write(LOGLEVEL_DEBUG, __METHOD__.__LINE__.' added part with number:'.$x);
714 714
 					}
715 715
 				}
716 716
 			}
@@ -725,38 +725,38 @@  discard block
 block discarded – undo
725 725
 		// now set the body
726 726
 		if ($AltBody && ($html_body = $mailObject->findBody('html')))
727 727
 		{
728
-			if ($this->debugLevel>1) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.' -> '.$AltBody);
728
+			if ($this->debugLevel > 1) ZLog::Write(LOGLEVEL_DEBUG, __METHOD__.__LINE__.' -> '.$AltBody);
729 729
 			//error_log(__METHOD__.__LINE__.' html:'.$AltBody);
730
-			$html_body->setContents($AltBody,array('encoding'=>Horde_Mime_Part::DEFAULT_ENCODING));
730
+			$html_body->setContents($AltBody, array('encoding'=>Horde_Mime_Part::DEFAULT_ENCODING));
731 731
 		}
732 732
 		if ($Body && ($text_body = $mailObject->findBody('plain')))
733 733
 		{
734
-			if ($this->debugLevel>1) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.' -> '.$Body);
734
+			if ($this->debugLevel > 1) ZLog::Write(LOGLEVEL_DEBUG, __METHOD__.__LINE__.' -> '.$Body);
735 735
 			//error_log(__METHOD__.__LINE__.' text:'.$Body);
736
-			$text_body->setContents($Body,array('encoding'=>Horde_Mime_Part::DEFAULT_ENCODING));
736
+			$text_body->setContents($Body, array('encoding'=>Horde_Mime_Part::DEFAULT_ENCODING));
737 737
 		}
738 738
 		//advanced debugging
739 739
 		// Horde SMTP Class uses utf-8 by default.
740 740
         //ZLog::Write(LOGLEVEL_DEBUG, "IMAP-SendMail: parsed message: ". print_r($message,1));
741
-		if ($this->debugLevel>2) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."(".__LINE__."): MailObject:".array2string($mailObject));
741
+		if ($this->debugLevel > 2) ZLog::Write(LOGLEVEL_DEBUG, __METHOD__."(".__LINE__."): MailObject:".array2string($mailObject));
742 742
 
743 743
 		// set a higher timeout for big messages
744 744
 		@set_time_limit(120);
745
-		ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.' -> '.' about to send ....');
745
+		ZLog::Write(LOGLEVEL_DEBUG, __METHOD__.__LINE__.' -> '.' about to send ....');
746 746
 		// send
747 747
 		$send = true;
748 748
 		try {
749 749
 			$mailObject->Send();
750 750
 		}
751
-		catch(Exception $e) {
752
-			ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."(".__LINE__.") The email could not be sent. Last-SMTP-error: ". $e->getMessage());
751
+		catch (Exception $e) {
752
+			ZLog::Write(LOGLEVEL_DEBUG, __METHOD__."(".__LINE__.") The email could not be sent. Last-SMTP-error: ".$e->getMessage());
753 753
 			$send = false;
754 754
 		}
755 755
 
756
-		if (( $smartdata_task == 'reply' || $smartdata_task == 'forward') && $send == true)
756
+		if (($smartdata_task == 'reply' || $smartdata_task == 'forward') && $send == true)
757 757
 		{
758 758
 			$uid = $smartdata->source->itemid;
759
-			ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.' tASK:'.$smartdata_task." FolderID:".$smartdata->source->folderid.' and ItemID:'.$smartdata->source->itemid);
759
+			ZLog::Write(LOGLEVEL_DEBUG, __METHOD__.__LINE__.' tASK:'.$smartdata_task." FolderID:".$smartdata->source->folderid.' and ItemID:'.$smartdata->source->itemid);
760 760
 			$this->splitID($smartdata->source->folderid, $account, $folder);
761 761
 			//error_log(__METHOD__.__LINE__.' Folder:'.$folder.' Uid:'.$uid);
762 762
 			$this->mail->reopen($folder);
@@ -764,90 +764,90 @@  discard block
 block discarded – undo
764 764
 			// unless your templatefolder is a subfolder of your draftfolder, and the message is in there
765 765
 			if ($this->mail->isDraftFolder($folder) && !$this->mail->isTemplateFolder($folder))
766 766
 			{
767
-				$this->mail->deleteMessages(array($uid),$folder);
767
+				$this->mail->deleteMessages(array($uid), $folder);
768 768
 			} else {
769
-				$this->mail->flagMessages("answered", array($uid),$folder);
770
-				if ($smartdata_task== "forward")
769
+				$this->mail->flagMessages("answered", array($uid), $folder);
770
+				if ($smartdata_task == "forward")
771 771
 				{
772
-					$this->mail->flagMessages("forwarded", array($uid),$folder);
772
+					$this->mail->flagMessages("forwarded", array($uid), $folder);
773 773
 				}
774 774
 			}
775 775
 		}
776 776
 
777
-		$asf = ($send ? true:false); // initalize accordingly
778
-		if (/*($smartdata->saveinsent==1 || !isset($smartdata->saveinsent)) && */  $send==true && $this->mail->mailPreferences['sendOptions'] != 'send_only')
777
+		$asf = ($send ? true : false); // initalize accordingly
778
+		if (/*($smartdata->saveinsent==1 || !isset($smartdata->saveinsent)) && */  $send == true && $this->mail->mailPreferences['sendOptions'] != 'send_only')
779 779
 		{
780 780
 			$asf = false;
781 781
 			$sentFolder = $this->mail->getSentFolder();
782 782
 			if ($this->_sentID) {
783 783
 				$folderArray[] = $this->_sentID;
784 784
 			}
785
-			else if(isset($sentFolder) && $sentFolder != 'none')
785
+			else if (isset($sentFolder) && $sentFolder != 'none')
786 786
 			{
787 787
 				$folderArray[] = $sentFolder;
788 788
 			}
789 789
 			// No Sent folder set, try defaults
790 790
 			else
791 791
 			{
792
-				ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."(".__LINE__.") IMAP-SendMail: No Sent mailbox set");
792
+				ZLog::Write(LOGLEVEL_DEBUG, __METHOD__."(".__LINE__.") IMAP-SendMail: No Sent mailbox set");
793 793
 				// we dont try guessing
794 794
 				$asf = true;
795 795
 			}
796 796
 			if (count($folderArray) > 0) {
797
-				foreach((array)$bccMailAddr as $address) {
798
-					foreach(Mail::parseAddressList((get_magic_quotes_gpc()?stripslashes($address):$address)) as $addressObject) {
799
-						$emailAddress = $addressObject->mailbox. ($addressObject->host ? '@'.$addressObject->host : '');
797
+				foreach ((array)$bccMailAddr as $address) {
798
+					foreach (Mail::parseAddressList((get_magic_quotes_gpc() ? stripslashes($address) : $address)) as $addressObject) {
799
+						$emailAddress = $addressObject->mailbox.($addressObject->host ? '@'.$addressObject->host : '');
800 800
 						$mailAddr[] = array($emailAddress, $addressObject->personal);
801 801
 					}
802 802
 				}
803 803
 				//$BCCmail='';
804
-				if (count($mailAddr)>0) $mailObject->forceBccHeader();
804
+				if (count($mailAddr) > 0) $mailObject->forceBccHeader();
805 805
 				//$BCCmail = $mailObject->AddrAppend("Bcc",$mailAddr);
806
-				foreach($folderArray as $folderName) {
807
-					if($this->mail->isSentFolder($folderName)) {
806
+				foreach ($folderArray as $folderName) {
807
+					if ($this->mail->isSentFolder($folderName)) {
808 808
 						$flags = '\\Seen';
809
-					} elseif($this->mail->isDraftFolder($folderName)) {
809
+					} elseif ($this->mail->isDraftFolder($folderName)) {
810 810
 						$flags = '\\Draft';
811 811
 					} else {
812 812
 						$flags = '';
813 813
 					}
814 814
 					$asf = true;
815 815
 					//ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.'->'.array2string($this->mail->icServer));
816
-					$this->mail->openConnection(self::$profileID,false);
816
+					$this->mail->openConnection(self::$profileID, false);
817 817
 					if ($this->mail->folderExists($folderName)) {
818 818
 						try
819 819
 						{
820
-							$this->mail->appendMessage($folderName,$mailObject->getRaw(), null,
820
+							$this->mail->appendMessage($folderName, $mailObject->getRaw(), null,
821 821
 									$flags);
822 822
 						}
823 823
 						catch (Api\Exception\WrongUserinput $e)
824 824
 						{
825 825
 							//$asf = false;
826
-							ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.'->'.lang("Import of message %1 failed. Could not save message to folder %2 due to: %3",$mailObject->getHeader('Subject'),$folderName,$e->getMessage()));
826
+							ZLog::Write(LOGLEVEL_DEBUG, __METHOD__.__LINE__.'->'.lang("Import of message %1 failed. Could not save message to folder %2 due to: %3", $mailObject->getHeader('Subject'), $folderName, $e->getMessage()));
827 827
 						}
828 828
 					}
829 829
 					else
830 830
 					{
831 831
 						//$asf = false;
832
-						ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.'->'.lang("Import of message %1 failed. Destination Folder %2 does not exist.",$mailObject->getHeader('Subject'),$folderName));
832
+						ZLog::Write(LOGLEVEL_DEBUG, __METHOD__.__LINE__.'->'.lang("Import of message %1 failed. Destination Folder %2 does not exist.", $mailObject->getHeader('Subject'), $folderName));
833 833
 					}
834
-			        ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."(".__LINE__."): Outgoing mail saved in configured 'Sent' folder '".$folderName."': ". (($asf)?"success":"failed"));
834
+			        ZLog::Write(LOGLEVEL_DEBUG, __METHOD__."(".__LINE__."): Outgoing mail saved in configured 'Sent' folder '".$folderName."': ".(($asf) ? "success" : "failed"));
835 835
 				}
836 836
 				//$this->mail->closeConnection();
837 837
 			}
838 838
 		}
839 839
 
840
-		$this->debugLevel=0;
840
+		$this->debugLevel = 0;
841 841
 
842 842
 		if ($send && $asf)
843 843
 		{
844
-			ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.' -> send successfully');
844
+			ZLog::Write(LOGLEVEL_DEBUG, __METHOD__.__LINE__.' -> send successfully');
845 845
 			return true;
846 846
 		}
847 847
 		else
848 848
 		{
849
-			ZLog::Write(LOGLEVEL_DEBUG,__METHOD__." returning ".($ClientSideMeetingRequest ? true : 120)." (MailSubmissionFailed)".($ClientSideMeetingRequest ?" is ClientSideMeetingRequest (we ignore the failure)":""));
850
-			return ($ClientSideMeetingRequest ? true : 120);   //MAIL Submission failed, see MS-ASCMD
849
+			ZLog::Write(LOGLEVEL_DEBUG, __METHOD__." returning ".($ClientSideMeetingRequest ? true : 120)." (MailSubmissionFailed)".($ClientSideMeetingRequest ? " is ClientSideMeetingRequest (we ignore the failure)" : ""));
850
+			return ($ClientSideMeetingRequest ? true : 120); //MAIL Submission failed, see MS-ASCMD
851 851
 		}
852 852
 	}
853 853
 
@@ -865,43 +865,43 @@  discard block
 block discarded – undo
865 865
 	public function GetMessage($folderid, $id, $contentparameters)
866 866
 	{
867 867
 		//$this->debugLevel=4;
868
-		ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.' FolderID:'.$folderid.' ID:'.$id.' ContentParams='.array2string($contentparameters));
868
+		ZLog::Write(LOGLEVEL_DEBUG, __METHOD__.__LINE__.' FolderID:'.$folderid.' ID:'.$id.' ContentParams='.array2string($contentparameters));
869 869
 		$truncsize = Utils::GetTruncSize($contentparameters->GetTruncation());
870 870
 		$mimesupport = $contentparameters->GetMimeSupport();
871
-		ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."() truncsize=$truncsize, mimeSupport=".array2string($mimesupport));
871
+		ZLog::Write(LOGLEVEL_DEBUG, __METHOD__."() truncsize=$truncsize, mimeSupport=".array2string($mimesupport));
872 872
 		$bodypreference = $contentparameters->GetBodyPreference(); /* fmbiete's contribution r1528, ZP-320 */
873 873
 
874 874
 		// fix for z-push bug returning additional bodypreference type 4, even if only 1 is requested and mimessupport = 0
875 875
 		if (!$mimesupport && ($key = array_search('4', $bodypreference))) unset($bodypreference[$key]);
876 876
 
877 877
 		//$this->debugLevel=4;
878
-		if (!isset($this->mail)) $this->mail = Mail::getInstance(false,self::$profileID,true,false,true);
879
-		ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.' FolderID:'.$folderid.' ID:'.$id.' TruncSize:'.$truncsize.' Bodypreference: '.array2string($bodypreference));
878
+		if (!isset($this->mail)) $this->mail = Mail::getInstance(false, self::$profileID, true, false, true);
879
+		ZLog::Write(LOGLEVEL_DEBUG, __METHOD__.__LINE__.' FolderID:'.$folderid.' ID:'.$id.' TruncSize:'.$truncsize.' Bodypreference: '.array2string($bodypreference));
880 880
 		$account = $_folderName = $xid = null;
881
-		$this->splitID($folderid,$account,$_folderName,$xid);
881
+		$this->splitID($folderid, $account, $_folderName, $xid);
882 882
 		$this->mail->reopen($_folderName);
883
-		$messages = $this->fetchMessages($folderid, NULL, $id, true);	// true: return all headers
883
+		$messages = $this->fetchMessages($folderid, NULL, $id, true); // true: return all headers
884 884
 		$headers = $messages[$id];
885
-		if ($this->debugLevel>3) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.array2string($headers));
885
+		if ($this->debugLevel > 3) ZLog::Write(LOGLEVEL_DEBUG, __METHOD__.__LINE__.array2string($headers));
886 886
 		// StatMessage should reopen the folder in question, so we dont need folderids in the following statements.
887 887
 		if ($headers)
888 888
 		{
889
-			ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__." Message $id with stat ".array2string($headers));
889
+			ZLog::Write(LOGLEVEL_DEBUG, __METHOD__.__LINE__." Message $id with stat ".array2string($headers));
890 890
 			// initialize the object
891 891
 			$output = new SyncMail();
892 892
 			//$rawHeaders = $this->mail->getMessageRawHeader($id);
893 893
 			// simple style
894 894
 			// start AS12 Stuff (bodypreference === false) case = old behaviour
895
-			if ($this->debugLevel>0) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__. ' for message with ID:'.$id.' with headers:'.array2string($headers));
895
+			if ($this->debugLevel > 0) ZLog::Write(LOGLEVEL_DEBUG, __METHOD__.__LINE__.' for message with ID:'.$id.' with headers:'.array2string($headers));
896 896
 
897 897
 			if ($bodypreference === false) {
898
-				$bodyStruct = $this->mail->getMessageBody($id, 'only_if_no_text', '', null, true,$_folderName);
899
-				$raw_body = $this->mail->getdisplayableBody($this->mail,$bodyStruct,false,false);
898
+				$bodyStruct = $this->mail->getMessageBody($id, 'only_if_no_text', '', null, true, $_folderName);
899
+				$raw_body = $this->mail->getdisplayableBody($this->mail, $bodyStruct, false, false);
900 900
 				//$body = html_entity_decode($body,ENT_QUOTES,$this->mail->detect_encoding($body));
901
-				if (stripos($raw_body,'<style')!==false) $body = preg_replace("/<style.*?<\/style>/is", "", $raw_body); // in case there is only a html part
901
+				if (stripos($raw_body, '<style') !== false) $body = preg_replace("/<style.*?<\/style>/is", "", $raw_body); // in case there is only a html part
902 902
 				// remove all other html
903 903
 				$body = strip_tags($raw_body);
904
-				if(strlen($body) > $truncsize) {
904
+				if (strlen($body) > $truncsize) {
905 905
 					$body = Utils::Utf8_truncate($body, $truncsize);
906 906
 					$output->bodytruncated = 1;
907 907
 				}
@@ -915,7 +915,7 @@  discard block
 block discarded – undo
915 915
 			else // style with bodypreferences
916 916
 			{
917 917
 				//Select body type preference
918
-				$bpReturnType = 1;//SYNC_BODYPREFERENCE_PLAIN;
918
+				$bpReturnType = 1; //SYNC_BODYPREFERENCE_PLAIN;
919 919
 				if ($bodypreference !== false) {
920 920
 					// bodypreference can occur multiple times
921 921
 					// usually we would use Utils::GetBodyPreferenceBestMatch($bodypreference);
@@ -929,12 +929,12 @@  discard block
 block discarded – undo
929 929
 					}
930 930
 */
931 931
 				}
932
-				ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__." getBodyPreferenceBestMatch: ".array2string($bpReturnType));
932
+				ZLog::Write(LOGLEVEL_DEBUG, __METHOD__.__LINE__." getBodyPreferenceBestMatch: ".array2string($bpReturnType));
933 933
 				// set the protocoll class
934 934
 				$output->asbody = new SyncBaseBody();
935 935
 
936 936
 				// return full mime-message without any (charset) conversation directly as stream
937
-				if ($bpReturnType==SYNC_BODYPREFERENCE_MIME)
937
+				if ($bpReturnType == SYNC_BODYPREFERENCE_MIME)
938 938
 				{
939 939
 					//SYNC_BODYPREFERENCE_MIME
940 940
 					$output->asbody->type = SYNC_BODYPREFERENCE_MIME;
@@ -943,58 +943,58 @@  discard block
 block discarded – undo
943 943
 					fseek($stream, 0, SEEK_SET);
944 944
 					$output->asbody->data = $stream;
945 945
 					$output->asbody->estimatedDataSize = $fstat['size'];
946
-					ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__." bodypreference 4=SYNC_BODYPREFERENCE_MIME=full mime message requested, size=$fstat[size]");
946
+					ZLog::Write(LOGLEVEL_DEBUG, __METHOD__.__LINE__." bodypreference 4=SYNC_BODYPREFERENCE_MIME=full mime message requested, size=$fstat[size]");
947 947
 				}
948 948
 				else
949 949
 				{
950 950
 					// fetch the body (try to gather data only once)
951
-					$css ='';
952
-					$bodyStruct = $this->mail->getMessageBody($id, 'html_only', '', null, true,$_folderName);
953
-					if ($this->debugLevel>2) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.' html_only Struct:'.array2string($bodyStruct));
954
-					$body = $this->mail->getdisplayableBody($this->mail,$bodyStruct,true,false);
955
-					if ($this->debugLevel>3) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.' html_only:'.$body);
956
-					if ($body != "" && (is_array($bodyStruct) && $bodyStruct[0]['mimeType']=='text/html')) {
951
+					$css = '';
952
+					$bodyStruct = $this->mail->getMessageBody($id, 'html_only', '', null, true, $_folderName);
953
+					if ($this->debugLevel > 2) ZLog::Write(LOGLEVEL_DEBUG, __METHOD__.__LINE__.' html_only Struct:'.array2string($bodyStruct));
954
+					$body = $this->mail->getdisplayableBody($this->mail, $bodyStruct, true, false);
955
+					if ($this->debugLevel > 3) ZLog::Write(LOGLEVEL_DEBUG, __METHOD__.__LINE__.' html_only:'.$body);
956
+					if ($body != "" && (is_array($bodyStruct) && $bodyStruct[0]['mimeType'] == 'text/html')) {
957 957
 						// may be html
958
-						if ($this->debugLevel>0) ZLog::Write(LOGLEVEL_DEBUG, "MIME Body".' Type:html (fetched with html_only)');
958
+						if ($this->debugLevel > 0) ZLog::Write(LOGLEVEL_DEBUG, "MIME Body".' Type:html (fetched with html_only)');
959 959
 						$css = $this->mail->getStyles($bodyStruct);
960
-						$output->nativebodytype=2;
960
+						$output->nativebodytype = 2;
961 961
 					} else {
962 962
 						// plain text Message
963
-						if ($this->debugLevel>0) ZLog::Write(LOGLEVEL_DEBUG, "MIME Body".' Type:plain, fetch text (HTML, if no text available)');
964
-						$output->nativebodytype=1;
965
-						$bodyStruct = $this->mail->getMessageBody($id,'never_display', '', null, true,$_folderName); //'only_if_no_text');
966
-						if ($this->debugLevel>3) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.' plain text Struct:'.array2string($bodyStruct));
967
-						$body = $this->mail->getdisplayableBody($this->mail,$bodyStruct,false,false);
968
-						if ($this->debugLevel>3) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.' never display html(plain text only):'.$body);
963
+						if ($this->debugLevel > 0) ZLog::Write(LOGLEVEL_DEBUG, "MIME Body".' Type:plain, fetch text (HTML, if no text available)');
964
+						$output->nativebodytype = 1;
965
+						$bodyStruct = $this->mail->getMessageBody($id, 'never_display', '', null, true, $_folderName); //'only_if_no_text');
966
+						if ($this->debugLevel > 3) ZLog::Write(LOGLEVEL_DEBUG, __METHOD__.__LINE__.' plain text Struct:'.array2string($bodyStruct));
967
+						$body = $this->mail->getdisplayableBody($this->mail, $bodyStruct, false, false);
968
+						if ($this->debugLevel > 3) ZLog::Write(LOGLEVEL_DEBUG, __METHOD__.__LINE__.' never display html(plain text only):'.$body);
969 969
 					}
970 970
 					// whatever format decode (using the correct encoding)
971
-					if ($this->debugLevel>3) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__."MIME Body".' Type:'.($output->nativebodytype==2?' html ':' plain ').$body);
971
+					if ($this->debugLevel > 3) ZLog::Write(LOGLEVEL_DEBUG, __METHOD__.__LINE__."MIME Body".' Type:'.($output->nativebodytype == 2 ? ' html ' : ' plain ').$body);
972 972
 					//$body = html_entity_decode($body,ENT_QUOTES,$this->mail->detect_encoding($body));
973 973
 					// prepare plaintextbody
974
-					$plainBody='';
974
+					$plainBody = '';
975 975
 					if ($output->nativebodytype == 2)
976 976
 					{
977
-						$bodyStructplain = $this->mail->getMessageBody($id,'never_display', '', null, true,$_folderName); //'only_if_no_text');
978
-						if(isset($bodyStructplain[0])&&isset($bodyStructplain[0]['error'])&&$bodyStructplain[0]['error']==1)
977
+						$bodyStructplain = $this->mail->getMessageBody($id, 'never_display', '', null, true, $_folderName); //'only_if_no_text');
978
+						if (isset($bodyStructplain[0]) && isset($bodyStructplain[0]['error']) && $bodyStructplain[0]['error'] == 1)
979 979
 						{
980 980
 							$plainBody = Api\Mail\Html::convertHTMLToText($body); // always display with preserved HTML
981 981
 						}
982 982
 						else
983 983
 						{
984
-							$plainBody = $this->mail->getdisplayableBody($this->mail,$bodyStructplain,false,false);
984
+							$plainBody = $this->mail->getdisplayableBody($this->mail, $bodyStructplain, false, false);
985 985
 						}
986 986
 					}
987 987
 					//if ($this->debugLevel>0) ZLog::Write(LOGLEVEL_DEBUG, "MIME Body".$body);
988
-					$plainBody = preg_replace("/<style.*?<\/style>/is", "", (strlen($plainBody)?$plainBody:$body));
988
+					$plainBody = preg_replace("/<style.*?<\/style>/is", "", (strlen($plainBody) ? $plainBody : $body));
989 989
 					// remove all other html
990
-					$plainBody = preg_replace("/<br.*>/is","\r\n",$plainBody);
990
+					$plainBody = preg_replace("/<br.*>/is", "\r\n", $plainBody);
991 991
 					$plainBody = strip_tags($plainBody);
992
-					if ($this->debugLevel>3 && $output->nativebodytype==1) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.' Plain Text:'.$plainBody);
992
+					if ($this->debugLevel > 3 && $output->nativebodytype == 1) ZLog::Write(LOGLEVEL_DEBUG, __METHOD__.__LINE__.' Plain Text:'.$plainBody);
993 993
 					//$body = str_replace("\n","\r\n", str_replace("\r","",$body)); // do we need that?
994 994
 
995
-					if ($bpReturnType==2) //SYNC_BODYPREFERENCE_HTML
995
+					if ($bpReturnType == 2) //SYNC_BODYPREFERENCE_HTML
996 996
 					{
997
-						if ($this->debugLevel>0) ZLog::Write(LOGLEVEL_DEBUG, "HTML Body with requested pref 2");
997
+						if ($this->debugLevel > 0) ZLog::Write(LOGLEVEL_DEBUG, "HTML Body with requested pref 2");
998 998
 						// Send HTML if requested and native type was html
999 999
 						$output->asbody->type = 2;
1000 1000
 						$htmlbody = '<html>'.
@@ -1004,23 +1004,23 @@  discard block
 block discarded – undo
1004 1004
 							$css.
1005 1005
 							'</head>'.
1006 1006
 							'<body>';
1007
-						if ($output->nativebodytype==2)
1007
+						if ($output->nativebodytype == 2)
1008 1008
 						{
1009
-							if ($css) Api\Mail\Html::replaceTagsCompletley($body,'style');
1009
+							if ($css) Api\Mail\Html::replaceTagsCompletley($body, 'style');
1010 1010
 							// as we fetch html, and body is HTML, we may not need to handle this
1011 1011
 							$htmlbody .= $body;
1012 1012
 						}
1013 1013
 						else
1014 1014
 						{
1015 1015
 							// html requested but got only plaintext, so fake html
1016
-							$htmlbody .= str_replace("\n","<BR>",str_replace("\r","<BR>", str_replace("\r\n","<BR>",$plainBody)));
1016
+							$htmlbody .= str_replace("\n", "<BR>", str_replace("\r", "<BR>", str_replace("\r\n", "<BR>", $plainBody)));
1017 1017
 						}
1018 1018
 						$htmlbody .= '</body>'.
1019 1019
 								'</html>';
1020 1020
 
1021
-						if(isset($truncsize) && strlen($htmlbody) > $truncsize)
1021
+						if (isset($truncsize) && strlen($htmlbody) > $truncsize)
1022 1022
 						{
1023
-							$htmlbody = Utils::Utf8_truncate($htmlbody,$truncsize);
1023
+							$htmlbody = Utils::Utf8_truncate($htmlbody, $truncsize);
1024 1024
 							$output->asbody->truncated = 1;
1025 1025
 						}
1026 1026
 						// output->nativebodytype is used as marker that the original message was of type ... but is now converted to, as type 2 is requested.
@@ -1031,7 +1031,7 @@  discard block
 block discarded – undo
1031 1031
 					else
1032 1032
 					{
1033 1033
 						// Send Plaintext as Fallback or if original body is plainttext
1034
-						if ($this->debugLevel>0) ZLog::Write(LOGLEVEL_DEBUG, "Plaintext Body:".$plainBody);
1034
+						if ($this->debugLevel > 0) ZLog::Write(LOGLEVEL_DEBUG, "Plaintext Body:".$plainBody);
1035 1035
 						/* we use plainBody (set above) instead
1036 1036
 						$bodyStruct = $this->mail->getMessageBody($id,'only_if_no_text'); //'never_display');
1037 1037
 						$plain = $this->mail->getdisplayableBody($this->mail,$bodyStruct);
@@ -1041,7 +1041,7 @@  discard block
 block discarded – undo
1041 1041
 						*/
1042 1042
 						$output->asbody->type = 1;
1043 1043
 						$output->nativebodytype = 1;
1044
-						if(isset($truncsize) &&
1044
+						if (isset($truncsize) &&
1045 1045
 							strlen($plainBody) > $truncsize)
1046 1046
 						{
1047 1047
 							$plainBody = Utils::Utf8_truncate($plainBody, $truncsize);
@@ -1060,7 +1060,7 @@  discard block
 block discarded – undo
1060 1060
 				}
1061 1061
 			}
1062 1062
 			// end AS12 Stuff
1063
-			ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.' gather Header info:'.$headers['subject'].' from:'.$headers['date']);
1063
+			ZLog::Write(LOGLEVEL_DEBUG, __METHOD__.__LINE__.' gather Header info:'.$headers['subject'].' from:'.$headers['date']);
1064 1064
 			$output->read = $headers["flags"];
1065 1065
 
1066 1066
 			$output->flag = new SyncMailFlags();
@@ -1080,9 +1080,8 @@  discard block
 block discarded – undo
1080 1080
 				$output->lastverexecuted = AS_FORWARD;
1081 1081
 			}
1082 1082
 			$output->subject = $headers['subject'];
1083
-			$output->importance = $headers['priority'] > 3 ? 0 :
1084
-				($headers['priority'] < 3 ? 2 : 1) ;
1085
-			$output->datereceived = $this->mail->_strtotime($headers['date'],'ts',true);
1083
+			$output->importance = $headers['priority'] > 3 ? 0 : ($headers['priority'] < 3 ? 2 : 1);
1084
+			$output->datereceived = $this->mail->_strtotime($headers['date'], 'ts', true);
1086 1085
 			$output->to = $headers['to_address'];
1087 1086
 			if ($headers['to']) $output->displayto = $headers['to_address']; //$headers['FETCHED_HEADER']['to_name']
1088 1087
 			$output->from = $headers['sender_address'];
@@ -1090,8 +1089,8 @@  discard block
 block discarded – undo
1090 1089
 			if (isset($headers['reply_to_address']) && $headers['reply_to_address']) $output->reply_to = $headers['reply_to_address'];
1091 1090
 
1092 1091
 			$output->messageclass = "IPM.Note";
1093
-			if (stripos($headers['mimetype'],'multipart')!== false &&
1094
-				stripos($headers['mimetype'],'signed')!== false)
1092
+			if (stripos($headers['mimetype'], 'multipart') !== false &&
1093
+				stripos($headers['mimetype'], 'signed') !== false)
1095 1094
 			{
1096 1095
 				$output->messageclass = "IPM.Note.SMIME.MultipartSigned";
1097 1096
 			}
@@ -1100,20 +1099,20 @@  discard block
 block discarded – undo
1100 1099
 			}
1101 1100
 
1102 1101
 			// start handle Attachments (include text/calendar multipart alternative)
1103
-			$attachments = $this->mail->getMessageAttachments($id, $_partID='', $_structure=null, $fetchEmbeddedImages=true, $fetchTextCalendar=true, true, $_folderName);
1102
+			$attachments = $this->mail->getMessageAttachments($id, $_partID = '', $_structure = null, $fetchEmbeddedImages = true, $fetchTextCalendar = true, true, $_folderName);
1104 1103
 			// Attachments should not needed for MIME messages, so skip this part if bpReturnType==4
1105
-			if (/*$bpReturnType != SYNC_BODYPREFERENCE_MIME &&*/ is_array($attachments) && count($attachments)>0)
1104
+			if (/*$bpReturnType != SYNC_BODYPREFERENCE_MIME &&*/ is_array($attachments) && count($attachments) > 0)
1106 1105
 			{
1107
-				ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.' gather Attachments for MessageID:'.$id.' found:'.count($attachments));
1106
+				ZLog::Write(LOGLEVEL_DEBUG, __METHOD__.__LINE__.' gather Attachments for MessageID:'.$id.' found:'.count($attachments));
1108 1107
 				//error_log(__METHOD__.__LINE__.array2string($attachments));
1109 1108
 				foreach ($attachments as $key => $attach)
1110 1109
 				{
1111
-					if ($this->debugLevel>0) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.' Key:'.$key.'->'.array2string($attach));
1110
+					if ($this->debugLevel > 0) ZLog::Write(LOGLEVEL_DEBUG, __METHOD__.__LINE__.' Key:'.$key.'->'.array2string($attach));
1112 1111
 
1113 1112
 					// pass meeting requests to calendar plugin
1114 1113
 					if (strtolower($attach['mimeType']) == 'text/calendar' && strtolower($attach['method']) == 'request' &&
1115 1114
 						isset($GLOBALS['egw_info']['user']['apps']['calendar']) &&
1116
-						($attachment = $this->mail->getAttachment($id, $attach['partID'],0,false,false,$_folderName)) &&
1115
+						($attachment = $this->mail->getAttachment($id, $attach['partID'], 0, false, false, $_folderName)) &&
1117 1116
 						($output->meetingrequest = calendar_zpush::meetingRequest($attachment['attachment'])))
1118 1117
 					{
1119 1118
 						//overwrite the globalobjId from calendar object, as: if you delete the mail, that is
@@ -1123,7 +1122,7 @@  discard block
 block discarded – undo
1123 1122
 						$output->messageclass = "IPM.Schedule.Meeting.Request";
1124 1123
 						//$output->messageclass = "IPM.Schedule.Meeting";
1125 1124
 						unset($attachment);
1126
-						continue;	// do NOT add attachment as attachment
1125
+						continue; // do NOT add attachment as attachment
1127 1126
 					}
1128 1127
 					if (Request::GetProtocolVersion() >= 12.0) {
1129 1128
 						$attachment = new SyncBaseAttachment();
@@ -1131,33 +1130,33 @@  discard block
 block discarded – undo
1131 1130
 							$output->asattachments = array();
1132 1131
 						$attachment->estimatedDataSize = $attach['size'];
1133 1132
 						$attachment->method = 1;
1134
-						$attachment->filereference = $folderid . ":" . $id . ":" . $attach['partID'];
1133
+						$attachment->filereference = $folderid.":".$id.":".$attach['partID'];
1135 1134
 					} else {
1136 1135
 						$attachment = new SyncAttachment();
1137 1136
 						if (!isset($output->attachments) || !is_array($output->attachments))
1138 1137
 							$output->attachments = array();
1139 1138
 						$attachment->attsize = $attach['size'];
1140 1139
 						$attachment->attmethod = 1;
1141
-						$attachment->attname = $folderid . ":" . $id . ":" . $attach['partID'];//$key;
1140
+						$attachment->attname = $folderid.":".$id.":".$attach['partID']; //$key;
1142 1141
 					}
1143 1142
 
1144 1143
 					$attachment->displayname = $attach['name'];
1145 1144
 					//error_log(__METHOD__.__LINE__.'->'.$folderid . ":" . $id . ":" . $attach['partID']);
1146 1145
 
1147
-					$attachment->attoid = "";//isset($part->headers['content-id']) ? trim($part->headers['content-id']) : "";
1146
+					$attachment->attoid = ""; //isset($part->headers['content-id']) ? trim($part->headers['content-id']) : "";
1148 1147
 					//$attachment->isinline=0; // if not inline, do not use isinline
1149
-					if (!empty($attach['cid']) && $attach['cid'] <> 'NIL' )
1148
+					if (!empty($attach['cid']) && $attach['cid'] <> 'NIL')
1150 1149
 					{
1151 1150
 						if ($bpReturnType != 4 && $attach['disposition'] == 'inline')
1152 1151
 						{
1153 1152
 							$attachment->isinline = true;
1154 1153
 						}
1155 1154
 						if (Request::GetProtocolVersion() >= 12.0) {
1156
-							$attachment->method=1;
1157
-							$attachment->contentid= str_replace(array("<",">"), "",$attach['cid']);
1155
+							$attachment->method = 1;
1156
+							$attachment->contentid = str_replace(array("<", ">"), "", $attach['cid']);
1158 1157
 						} else {
1159
-							$attachment->attmethod=6;
1160
-							$attachment->attoid = str_replace(array("<",">"), "",$attach['cid']);
1158
+							$attachment->attmethod = 6;
1159
+							$attachment->attoid = str_replace(array("<", ">"), "", $attach['cid']);
1161 1160
 						}
1162 1161
 						//	ZLog::Write(LOGLEVEL_DEBUG, "'".$part->headers['content-id']."'  ".$attachment->contentid);
1163 1162
 						$attachment->contenttype = trim($attach['mimeType']);
@@ -1178,7 +1177,7 @@  discard block
 block discarded – undo
1178 1177
             // Language Code Page ID: http://msdn.microsoft.com/en-us/library/windows/desktop/dd317756%28v=vs.85%29.aspx
1179 1178
             $output->internetcpid = INTERNET_CPID_UTF8;
1180 1179
 
1181
-			if ($this->debugLevel>3) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.array2string($output));
1180
+			if ($this->debugLevel > 3) ZLog::Write(LOGLEVEL_DEBUG, __METHOD__.__LINE__.array2string($output));
1182 1181
 //$this->debugLevel=0;
1183 1182
 			return $output;
1184 1183
 		}
@@ -1201,30 +1200,30 @@  discard block
 block discarded – undo
1201 1200
 	{
1202 1201
 		if (!class_exists('calendar_zpush'))
1203 1202
 		{
1204
-			ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."(...) no EGroupware calendar installed!");
1203
+			ZLog::Write(LOGLEVEL_DEBUG, __METHOD__."(...) no EGroupware calendar installed!");
1205 1204
 			return null;
1206 1205
 		}
1207 1206
 		if (!($stat = $this->StatMessage($folderid, $requestid)))
1208 1207
 		{
1209
-			ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."($requestid, '$folderid', $response) returning FALSE (can NOT stat message)");
1208
+			ZLog::Write(LOGLEVEL_DEBUG, __METHOD__."($requestid, '$folderid', $response) returning FALSE (can NOT stat message)");
1210 1209
 			return false;
1211 1210
 		}
1212 1211
 		$ret = false;
1213
-		foreach($this->mail->getMessageAttachments($requestid, $_partID='', $_structure=null, $fetchEmbeddedImages=true, $fetchTextCalendar=true) as $key => $attach)
1212
+		foreach ($this->mail->getMessageAttachments($requestid, $_partID = '', $_structure = null, $fetchEmbeddedImages = true, $fetchTextCalendar = true) as $key => $attach)
1214 1213
 		{
1215 1214
 			if (strtolower($attach['mimeType']) == 'text/calendar' && strtolower($attach['method']) == 'request' &&
1216
-				($attachment = $this->mail->getAttachment($requestid, $attach['partID'],0,false)))
1215
+				($attachment = $this->mail->getAttachment($requestid, $attach['partID'], 0, false)))
1217 1216
 			{
1218
-				ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."($requestid, '$folderid', $response) iCal found, calling now backend->MeetingResponse('$attachment[attachment]')");
1217
+				ZLog::Write(LOGLEVEL_DEBUG, __METHOD__."($requestid, '$folderid', $response) iCal found, calling now backend->MeetingResponse('$attachment[attachment]')");
1219 1218
 
1220 1219
 				// calling backend again with iCal attachment, to let calendar add the event
1221 1220
 				$ret = $this->backend->MeetingResponse($attachment['attachment'],
1222
-					$this->backend->createID('calendar',$GLOBALS['egw_info']['user']['account_id']),
1221
+					$this->backend->createID('calendar', $GLOBALS['egw_info']['user']['account_id']),
1223 1222
 					$response);
1224 1223
 				break;
1225 1224
 			}
1226 1225
 		}
1227
-		ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."($requestid, '$folderid', $response) returning ".array2string($ret));
1226
+		ZLog::Write(LOGLEVEL_DEBUG, __METHOD__."($requestid, '$folderid', $response) returning ".array2string($ret));
1228 1227
 		return $ret;
1229 1228
 	}
1230 1229
 
@@ -1238,9 +1237,9 @@  discard block
 block discarded – undo
1238 1237
      * @param string $attname - should contain (folder)id
1239 1238
 	 * @return SyncItemOperationsAttachment-object
1240 1239
 	 */
1241
-	function GetAttachmentData($fid,$attname) {
1242
-		ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.": $fid (attname: '$attname')");
1243
-		return $this->_GetAttachmentData($fid,$attname);
1240
+	function GetAttachmentData($fid, $attname) {
1241
+		ZLog::Write(LOGLEVEL_DEBUG, __METHOD__.": $fid (attname: '$attname')");
1242
+		return $this->_GetAttachmentData($fid, $attname);
1244 1243
 	}
1245 1244
 
1246 1245
 	/**
@@ -1253,9 +1252,9 @@  discard block
 block discarded – undo
1253 1252
      * @param string $attname - should contain (folder)id
1254 1253
 	 * @return SyncItemOperationsAttachment-object
1255 1254
 	 */
1256
-	function ItemOperationsGetAttachmentData($fid,$attname) {
1257
-		ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.": $fid (attname: '$attname')");
1258
-		return $this->_GetAttachmentData($fid,$attname);
1255
+	function ItemOperationsGetAttachmentData($fid, $attname) {
1256
+		ZLog::Write(LOGLEVEL_DEBUG, __METHOD__.": $fid (attname: '$attname')");
1257
+		return $this->_GetAttachmentData($fid, $attname);
1259 1258
 	}
1260 1259
 
1261 1260
 	/**
@@ -1267,23 +1266,23 @@  discard block
 block discarded – undo
1267 1266
      * @param string $attname - should contain (folder)id
1268 1267
 	 * @return SyncItemOperationsAttachment-object
1269 1268
 	 */
1270
-	private function _GetAttachmentData($fid,$attname)
1269
+	private function _GetAttachmentData($fid, $attname)
1271 1270
 	{
1272
-		ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.": $fid (attname: '$attname')".function_backtrace());
1271
+		ZLog::Write(LOGLEVEL_DEBUG, __METHOD__.": $fid (attname: '$attname')".function_backtrace());
1273 1272
 		//error_log(__METHOD__.__LINE__." Fid: $fid (attname: '$attname')");
1274 1273
 		list($folderid, $id, $part) = explode(":", $attname);
1275 1274
 
1276 1275
 		$this->splitID($folderid, $account, $folder);
1277 1276
 
1278
-		if (!isset($this->mail)) $this->mail = Mail::getInstance(false,self::$profileID,true,false,true);
1277
+		if (!isset($this->mail)) $this->mail = Mail::getInstance(false, self::$profileID, true, false, true);
1279 1278
 
1280 1279
 		$this->mail->reopen($folder);
1281
-		$attachment = $this->mail->getAttachment($id,$part,0,false,true,$folder);
1280
+		$attachment = $this->mail->getAttachment($id, $part, 0, false, true, $folder);
1282 1281
 		$SIOattachment = new SyncItemOperationsAttachment();
1283
-		fseek($attachment['attachment'], 0, SEEK_SET);	// z-push requires stream seeked to start
1282
+		fseek($attachment['attachment'], 0, SEEK_SET); // z-push requires stream seeked to start
1284 1283
 		$SIOattachment->data = $attachment['attachment'];
1285 1284
 		//ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.": $fid (attname: '$attname') Data:".$attachment['attachment']);
1286
-		if (isset($attachment['type']) )
1285
+		if (isset($attachment['type']))
1287 1286
 			$SIOattachment->contenttype = $attachment['type'];
1288 1287
 
1289 1288
 		unset($attachment);
@@ -1326,17 +1325,17 @@  discard block
 block discarded – undo
1326 1325
 	 */
1327 1326
 	function ChangeMessage($folderid, $id, $message, $contentParameters)
1328 1327
 	{
1329
-		ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__." $folderid, $id,".array2string($message).",".array2string($contentParameters));
1328
+		ZLog::Write(LOGLEVEL_DEBUG, __METHOD__.__LINE__." $folderid, $id,".array2string($message).",".array2string($contentParameters));
1330 1329
 		//unset($folderid, $id, $message, $contentParameters);
1331 1330
 		$account = $folder = null;
1332 1331
 		$this->splitID($folderid, $account, $folder);
1333 1332
 		if (isset($message->flag)) {
1334 1333
 			if (isset($message->flag->flagstatus) && $message->flag->flagstatus == 2) {
1335
-				$rv = $this->mail->flagMessages((($message->flag->flagstatus == 2) ? "flagged" : "unflagged"), $id,$folder);
1336
-				ZLog::Write(LOGLEVEL_DEBUG,__METHOD__." -> set ".array2string($id).' in Folder '.$folder." as " . (($message->flag->flagstatus == 2) ? "flagged" : "unflagged") . "-->". $rv);
1334
+				$rv = $this->mail->flagMessages((($message->flag->flagstatus == 2) ? "flagged" : "unflagged"), $id, $folder);
1335
+				ZLog::Write(LOGLEVEL_DEBUG, __METHOD__." -> set ".array2string($id).' in Folder '.$folder." as ".(($message->flag->flagstatus == 2) ? "flagged" : "unflagged")."-->".$rv);
1337 1336
 			} else {
1338
-				$rv = $this->mail->flagMessages("unflagged", $id,$folder);
1339
-				ZLog::Write(LOGLEVEL_DEBUG,__METHOD__." -> set ".array2string($id).' in Folder '.$folder." as " . "unflagged" . "-->". $rv);
1337
+				$rv = $this->mail->flagMessages("unflagged", $id, $folder);
1338
+				ZLog::Write(LOGLEVEL_DEBUG, __METHOD__." -> set ".array2string($id).' in Folder '.$folder." as "."unflagged"."-->".$rv);
1340 1339
 			}
1341 1340
 		}
1342 1341
 		return $this->StatMessage($folderid, $id);
@@ -1358,23 +1357,23 @@  discard block
 block discarded – undo
1358 1357
 	 */
1359 1358
 	public function MoveMessage($folderid, $id, $newfolderid, $contentParameters)
1360 1359
 	{
1361
-		unset($contentParameters);	// not used, but required by function signature
1360
+		unset($contentParameters); // not used, but required by function signature
1362 1361
 		ZLog::Write(LOGLEVEL_DEBUG, "IMAP-MoveMessage: (sfid: '$folderid'  id: '$id'  dfid: '$newfolderid' )");
1363 1362
 		$account = $srcFolder = $destFolder = null;
1364 1363
 		$this->splitID($folderid, $account, $srcFolder);
1365 1364
 		$this->splitID($newfolderid, $account, $destFolder);
1366 1365
 		ZLog::Write(LOGLEVEL_DEBUG, "IMAP-MoveMessage: (SourceFolder: '$srcFolder'  id: '$id'  DestFolder: '$destFolder' )");
1367
-		if (!isset($this->mail)) $this->mail = Mail::getInstance(false,self::$profileID,true,false,true);
1366
+		if (!isset($this->mail)) $this->mail = Mail::getInstance(false, self::$profileID, true, false, true);
1368 1367
 		$this->mail->reopen($destFolder);
1369 1368
 		$status = $this->mail->getFolderStatus($destFolder);
1370 1369
 		$uidNext = $status['uidnext'];
1371 1370
 		$this->mail->reopen($srcFolder);
1372 1371
 
1373 1372
 		// move message
1374
-		$rv = $this->mail->moveMessages($destFolder,(array)$id,true,$srcFolder,true);
1375
-		ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.": New Status of $destFolder :".array2string($status).", ReturnValOf moveMessage".array2string($rv)); // this may be true, so try using the nextUID value by examine
1373
+		$rv = $this->mail->moveMessages($destFolder, (array)$id, true, $srcFolder, true);
1374
+		ZLog::Write(LOGLEVEL_DEBUG, __METHOD__.__LINE__.": New Status of $destFolder :".array2string($status).", ReturnValOf moveMessage".array2string($rv)); // this may be true, so try using the nextUID value by examine
1376 1375
 		// return the new id "as string"
1377
-		return ($rv===true ? $uidNext : $rv[$id]) . "";
1376
+		return ($rv === true ? $uidNext : $rv[$id])."";
1378 1377
 	}
1379 1378
 
1380 1379
 	/**
@@ -1382,7 +1381,7 @@  discard block
 block discarded – undo
1382 1381
 	 *
1383 1382
 	 *  @param int $cutoffdate =null timestamp with cutoffdate, default 12 weeks
1384 1383
 	 */
1385
-	public function GetMessageList($folderid, $cutoffdate=NULL)
1384
+	public function GetMessageList($folderid, $cutoffdate = NULL)
1386 1385
 	{
1387 1386
 		if ($cutoffdate > 0)
1388 1387
 		{
@@ -1395,8 +1394,8 @@  discard block
 block discarded – undo
1395 1394
 			{
1396 1395
 				$maximumSyncRangeInDays = $GLOBALS['egw_info']['user']['preferences']['activesync']['mail-maximumSyncRange'];
1397 1396
 			}
1398
-			$cutoffdate = (is_numeric($maximumSyncRangeInDays) ? Api\DateTime::to('now','ts')-(3600*24*$maximumSyncRangeInDays):null);
1399
-			if (is_numeric($maximumSyncRangeInDays)) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.' Client set no truncationdate. Using '.$maximumSyncRangeInDays.' days.'.date("d-M-Y", $cutoffdate));
1397
+			$cutoffdate = (is_numeric($maximumSyncRangeInDays) ? Api\DateTime::to('now', 'ts') - (3600 * 24 * $maximumSyncRangeInDays) : null);
1398
+			if (is_numeric($maximumSyncRangeInDays)) ZLog::Write(LOGLEVEL_DEBUG, __METHOD__.' Client set no truncationdate. Using '.$maximumSyncRangeInDays.' days.'.date("d-M-Y", $cutoffdate));
1400 1399
 		}
1401 1400
 		return $this->fetchMessages($folderid, $cutoffdate);
1402 1401
 	}
@@ -1414,11 +1413,11 @@  discard block
 block discarded – undo
1414 1413
 	 * @param boolean $return_all_headers =false true: additinal contain all headers eg. "subject"
1415 1414
 	 * @return array uid => array StatMessage($folderid, $_id)
1416 1415
 	 */
1417
-	private function fetchMessages($folderid, $cutoffdate=NULL, $_id=NULL, $return_all_headers=false)
1416
+	private function fetchMessages($folderid, $cutoffdate = NULL, $_id = NULL, $return_all_headers = false)
1418 1417
 	{
1419 1418
 		static $headers = array();
1420 1419
 
1421
-		if ($this->debugLevel>1) $gstarttime = microtime (true);
1420
+		if ($this->debugLevel > 1) $gstarttime = microtime(true);
1422 1421
 		//ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__);
1423 1422
 		$rv_messages = array();
1424 1423
 		// if the message is still available within the class, we use it instead of fetching it again
@@ -1429,64 +1428,64 @@  discard block
 block discarded – undo
1429 1428
 		}
1430 1429
 		else
1431 1430
 		{
1432
-			$headers = array();	// clear cache to not use too much memory
1431
+			$headers = array(); // clear cache to not use too much memory
1433 1432
 
1434
-			if ($this->debugLevel>1) $starttime = microtime (true);
1433
+			if ($this->debugLevel > 1) $starttime = microtime(true);
1435 1434
 			$this->_connect($this->account);
1436
-			if ($this->debugLevel>1)
1435
+			if ($this->debugLevel > 1)
1437 1436
 			{
1438 1437
 				$endtime = microtime(true) - $starttime;
1439
-				ZLog::Write(LOGLEVEL_DEBUG,__METHOD__. " connect took : ".$endtime.' for account:'.$this->account);
1438
+				ZLog::Write(LOGLEVEL_DEBUG, __METHOD__." connect took : ".$endtime.' for account:'.$this->account);
1440 1439
 			}
1441 1440
 			$messagelist = $_filter = array();
1442 1441
 			// if not connected, any further action must fail
1443
-			if (!empty($cutoffdate)) $_filter = array('status'=>array('UNDELETED'),'range'=>"SINCE",'date'=> date("d-M-Y", $cutoffdate));
1444
-			if ($this->debugLevel>1) $starttime = microtime (true);
1442
+			if (!empty($cutoffdate)) $_filter = array('status'=>array('UNDELETED'), 'range'=>"SINCE", 'date'=> date("d-M-Y", $cutoffdate));
1443
+			if ($this->debugLevel > 1) $starttime = microtime(true);
1445 1444
 			$account = $_folderName = $id = null;
1446
-			$this->splitID($folderid,$account,$_folderName,$id);
1447
-			if ($this->debugLevel>1)
1445
+			$this->splitID($folderid, $account, $_folderName, $id);
1446
+			if ($this->debugLevel > 1)
1448 1447
 			{
1449 1448
 				$endtime = microtime(true) - $starttime;
1450
-				ZLog::Write(LOGLEVEL_DEBUG,__METHOD__. " splitID took : ".$endtime.' for FolderID:'.$folderid);
1449
+				ZLog::Write(LOGLEVEL_DEBUG, __METHOD__." splitID took : ".$endtime.' for FolderID:'.$folderid);
1451 1450
 			}
1452
-			if ($this->debugLevel>1) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.' for Folder:'.$_folderName.' Filter:'.array2string($_filter).' Ids:'.array2string($_id).'/'.$id);
1453
-			if ($this->debugLevel>1) $starttime = microtime (true);
1454
-			$_numberOfMessages = (empty($cutoffdate)?250:99999);
1455
-			$rv_messages = $this->mail->getHeaders($_folderName, $_startMessage=1, $_numberOfMessages, $_sort=0, $_reverse=false, $_filter, $_id);
1456
-			if ($this->debugLevel>1)
1451
+			if ($this->debugLevel > 1) ZLog::Write(LOGLEVEL_DEBUG, __METHOD__.' for Folder:'.$_folderName.' Filter:'.array2string($_filter).' Ids:'.array2string($_id).'/'.$id);
1452
+			if ($this->debugLevel > 1) $starttime = microtime(true);
1453
+			$_numberOfMessages = (empty($cutoffdate) ? 250 : 99999);
1454
+			$rv_messages = $this->mail->getHeaders($_folderName, $_startMessage = 1, $_numberOfMessages, $_sort = 0, $_reverse = false, $_filter, $_id);
1455
+			if ($this->debugLevel > 1)
1457 1456
 			{
1458 1457
 				$endtime = microtime(true) - $starttime;
1459
-				ZLog::Write(LOGLEVEL_DEBUG,__METHOD__. " getHeaders call took : ".$endtime.' for FolderID:'.$_folderName);
1458
+				ZLog::Write(LOGLEVEL_DEBUG, __METHOD__." getHeaders call took : ".$endtime.' for FolderID:'.$_folderName);
1460 1459
 			}
1461 1460
 		}
1462
-		if ($_id == NULL && $this->debugLevel>1)  ZLog::Write(LOGLEVEL_DEBUG,__METHOD__." found :". count($rv_messages['header']));
1461
+		if ($_id == NULL && $this->debugLevel > 1)  ZLog::Write(LOGLEVEL_DEBUG, __METHOD__." found :".count($rv_messages['header']));
1463 1462
 		//ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.' Result:'.array2string($rv_messages));
1464 1463
 		$messagelist = array();
1465
-		if (!isset($rv_messages['header'])||empty($rv_messages['header'])) return $messagelist;
1464
+		if (!isset($rv_messages['header']) || empty($rv_messages['header'])) return $messagelist;
1466 1465
 		//if ($_returnModHash) $messageFolderHash = array();
1467 1466
 		foreach ((array)$rv_messages['header'] as $k => $vars)
1468 1467
 		{
1469
-			if ($this->debugLevel>3) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.' ID to process:'.$vars['uid'].' Subject:'.$vars['subject']);
1468
+			if ($this->debugLevel > 3) ZLog::Write(LOGLEVEL_DEBUG, __METHOD__.__LINE__.' ID to process:'.$vars['uid'].' Subject:'.$vars['subject']);
1470 1469
 			$headers[$vars['uid']] = $vars;
1471
-			if ($this->debugLevel>3) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.' MailID:'.$k.'->'.array2string($vars));
1470
+			if ($this->debugLevel > 3) ZLog::Write(LOGLEVEL_DEBUG, __METHOD__.__LINE__.' MailID:'.$k.'->'.array2string($vars));
1472 1471
 			if (!empty($vars['deleted'])) continue; // cut of deleted messages
1473 1472
 			if ($cutoffdate && $vars['date'] < $cutoffdate) continue; // message is out of range for cutoffdate, ignore it
1474
-			if ($this->debugLevel>0) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.' ID to report:'.$vars['uid'].' Subject:'.$vars['subject']);
1473
+			if ($this->debugLevel > 0) ZLog::Write(LOGLEVEL_DEBUG, __METHOD__.__LINE__.' ID to report:'.$vars['uid'].' Subject:'.$vars['subject']);
1475 1474
 			$mess = $return_all_headers ? $vars : array();
1476 1475
 			$mess["mod"] = self::doFlagsMod($vars).$vars['date'];
1477 1476
 			$mess["id"] = $vars['uid'];
1478 1477
 			// 'seen' aka 'read' is the only flag we want to know about
1479 1478
 			$mess["flags"] = 0;
1480 1479
 			// outlook supports additional flags, set them to 0
1481
-			if($vars["seen"]) $mess["flags"] = 1;
1482
-			if ($this->debugLevel>3) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.array2string($mess));
1480
+			if ($vars["seen"]) $mess["flags"] = 1;
1481
+			if ($this->debugLevel > 3) ZLog::Write(LOGLEVEL_DEBUG, __METHOD__.__LINE__.array2string($mess));
1483 1482
 			$messagelist[$vars['uid']] = $mess;
1484 1483
 			unset($mess);
1485 1484
 		}
1486
-		if ($this->debugLevel>1)
1485
+		if ($this->debugLevel > 1)
1487 1486
 		{
1488 1487
 			$endtime = microtime(true) - $gstarttime;
1489
-			ZLog::Write(LOGLEVEL_DEBUG,__METHOD__. " total time used : ".$endtime.' for Folder:'.$_folderName.' Filter:'.array2string($_filter).' Ids:'.array2string($_id).'/'.$id);
1488
+			ZLog::Write(LOGLEVEL_DEBUG, __METHOD__." total time used : ".$endtime.' for Folder:'.$_folderName.' Filter:'.array2string($_filter).' Ids:'.array2string($_id).'/'.$id);
1490 1489
 		}
1491 1490
 		return $messagelist;
1492 1491
 	}
@@ -1537,32 +1536,32 @@  discard block
 block discarded – undo
1537 1536
 	public function getSearchResultsMailbox($_searchquery)
1538 1537
 	{
1539 1538
 		//$this->debugLevel=1;
1540
-		$searchquery=$_searchquery->GetDataArray();
1539
+		$searchquery = $_searchquery->GetDataArray();
1541 1540
 		if (!is_array($searchquery)) return array();
1542
-		if ($this->debugLevel>0) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.array2string($searchquery));
1541
+		if ($this->debugLevel > 0) ZLog::Write(LOGLEVEL_DEBUG, __METHOD__.__LINE__.array2string($searchquery));
1543 1542
 
1544 1543
 		if (isset($searchquery['searchrebuildresults'])) {
1545 1544
 			$rebuildresults = $searchquery['searchrebuildresults'];
1546 1545
 		} else {
1547 1546
 			$rebuildresults = false;
1548 1547
 		}
1549
-		if ($this->debugLevel>0) ZLog::Write(LOGLEVEL_DEBUG,  'RebuildResults ['.$rebuildresults.']' );
1548
+		if ($this->debugLevel > 0) ZLog::Write(LOGLEVEL_DEBUG, 'RebuildResults ['.$rebuildresults.']');
1550 1549
 
1551 1550
 		if (isset($searchquery['deeptraversal'])) {
1552 1551
 			$deeptraversal = $searchquery['deeptraversal'];
1553 1552
 		} else {
1554 1553
 			$deeptraversal = false;
1555 1554
 		}
1556
-		if ($this->debugLevel>0) ZLog::Write(LOGLEVEL_DEBUG,  'DeepTraversal ['.$deeptraversal.']' );
1555
+		if ($this->debugLevel > 0) ZLog::Write(LOGLEVEL_DEBUG, 'DeepTraversal ['.$deeptraversal.']');
1557 1556
 
1558 1557
 		if (isset($searchquery['searchrange'])) {
1559
-			$range = explode("-",$_searchquery->GetSearchRange());
1560
-			$start =$range[0] + 1;
1558
+			$range = explode("-", $_searchquery->GetSearchRange());
1559
+			$start = $range[0] + 1;
1561 1560
 			$limit = $range[1] - $range[0] + 1;
1562 1561
 		} else {
1563 1562
 			$range = false;
1564 1563
 		}
1565
-		if ($this->debugLevel>0) ZLog::Write(LOGLEVEL_DEBUG,  'Range ['.print_r($range, true).']' );
1564
+		if ($this->debugLevel > 0) ZLog::Write(LOGLEVEL_DEBUG, 'Range ['.print_r($range, true).']');
1566 1565
 
1567 1566
 		//foreach($searchquery['query'] as $k => $value) {
1568 1567
 		//	$query = $value;
@@ -1585,15 +1584,15 @@  discard block
 block discarded – undo
1585 1584
 		}
1586 1585
 		if (!$folderid)
1587 1586
 		{
1588
-			$_folderName = ($this->mail->sessionData['mailbox']?$this->mail->sessionData['mailbox']:'INBOX');
1589
-			$folderid = $this->createID($account=0,$_folderName);
1587
+			$_folderName = ($this->mail->sessionData['mailbox'] ? $this->mail->sessionData['mailbox'] : 'INBOX');
1588
+			$folderid = $this->createID($account = 0, $_folderName);
1590 1589
 		}
1591
-		$rv = $this->splitID($folderid,$account,$_folderName,$id);
1592
-		ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.' ProfileID:'.self::$profileID.' FolderID:'.$folderid.' Foldername:'.$_folderName);
1590
+		$rv = $this->splitID($folderid, $account, $_folderName, $id);
1591
+		ZLog::Write(LOGLEVEL_DEBUG, __METHOD__.__LINE__.' ProfileID:'.self::$profileID.' FolderID:'.$folderid.' Foldername:'.$_folderName);
1593 1592
 		$this->_connect($account);
1594 1593
 		// this should not be needed ???
1595
-		Mail::$supportsORinQuery[self::$profileID]=true; // trigger quicksearch (if possible)
1596
-		$_filter = array('type'=> (Mail::$supportsORinQuery[self::$profileID]?'quick':'subject'),
1594
+		Mail::$supportsORinQuery[self::$profileID] = true; // trigger quicksearch (if possible)
1595
+		$_filter = array('type'=> (Mail::$supportsORinQuery[self::$profileID] ? 'quick' : 'subject'),
1597 1596
 						 'string'=> $searchText,
1598 1597
 						 'status'=>'any'
1599 1598
 						);
@@ -1608,22 +1607,22 @@  discard block
 block discarded – undo
1608 1607
 		 * 		[searchvalueless] => 2015-07-14T15:11:00.000Z , BEFORE
1609 1608
 		 */
1610 1609
 			$_filter['range'] = "BETWEEN";
1611
-			list($sincedate,$crap) = explode('T',$searchquery['searchvaluegreater']);
1612
-			list($beforedate,$crap) = explode('T',$searchquery['searchvalueless']);
1613
-			$_filter['before'] = date("d-M-Y", Api\DateTime::to($beforedate,'ts'));
1614
-			$_filter['since'] = date("d-M-Y", Api\DateTime::to($sincedate,'ts'));
1610
+			list($sincedate, $crap) = explode('T', $searchquery['searchvaluegreater']);
1611
+			list($beforedate, $crap) = explode('T', $searchquery['searchvalueless']);
1612
+			$_filter['before'] = date("d-M-Y", Api\DateTime::to($beforedate, 'ts'));
1613
+			$_filter['since'] = date("d-M-Y", Api\DateTime::to($sincedate, 'ts'));
1615 1614
 		}
1616 1615
 		//$_filter[] = array('type'=>"SINCE",'string'=> date("d-M-Y", $cutoffdate));
1617
-		if ($this->debugLevel>1) ZLog::Write(LOGLEVEL_DEBUG, __METHOD__.' for Folder:'.$_folderName.' Filter:'.array2string($_filter));
1618
-		$rv_messages = $this->mail->getHeaders($_folderName, $_startMessage=($range?$start:1), $_numberOfMessages=($limit?$limit:9999999), $_sort=0, $_reverse=false, $_filter, $_id=NULL);
1616
+		if ($this->debugLevel > 1) ZLog::Write(LOGLEVEL_DEBUG, __METHOD__.' for Folder:'.$_folderName.' Filter:'.array2string($_filter));
1617
+		$rv_messages = $this->mail->getHeaders($_folderName, $_startMessage = ($range ? $start : 1), $_numberOfMessages = ($limit ? $limit : 9999999), $_sort = 0, $_reverse = false, $_filter, $_id = NULL);
1619 1618
 		//ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.array2string($rv_messages));
1620
-		$list=array();
1619
+		$list = array();
1621 1620
 
1622 1621
 		$cnt = count($rv_messages['header']);
1623 1622
 		//$list['status'] = 1;
1624 1623
 		$list['searchtotal'] = $cnt;
1625 1624
 		$list["range"] = $_searchquery->GetSearchRange();
1626
-		foreach((array)$rv_messages['header'] as $i => $vars)
1625
+		foreach ((array)$rv_messages['header'] as $i => $vars)
1627 1626
 		{
1628 1627
 			$list[] = array(
1629 1628
 				"class" => "Email",
@@ -1643,20 +1642,20 @@  discard block
 block discarded – undo
1643 1642
 	 * @param string $folder
1644 1643
 	 * @return string
1645 1644
 	 */
1646
-	private function getParentID($account,$folder)
1645
+	private function getParentID($account, $folder)
1647 1646
 	{
1648 1647
 		$this->_connect($account);
1649
-		if (!isset($this->folders)) $this->folders = $this->mail->getFolderObjects(true,false);
1648
+		if (!isset($this->folders)) $this->folders = $this->mail->getFolderObjects(true, false);
1650 1649
 
1651 1650
 		$mailFolder = $this->folders[$folder];
1652 1651
 		if (!isset($mailFolder)) return false;
1653
-		$delimiter = (isset($mailFolder->delimiter)?$mailFolder->delimiter:$this->mail->getHierarchyDelimiter());
1654
-		$parent = explode($delimiter,$folder);
1652
+		$delimiter = (isset($mailFolder->delimiter) ? $mailFolder->delimiter : $this->mail->getHierarchyDelimiter());
1653
+		$parent = explode($delimiter, $folder);
1655 1654
 		array_pop($parent);
1656
-		$parent = implode($delimiter,$parent);
1655
+		$parent = implode($delimiter, $parent);
1657 1656
 
1658 1657
 		$id = $parent && $this->folders[$parent] ? $this->createID($account, $parent) : '0';
1659
-		if ($this->debugLevel>1) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."('$folder') --> parent=$parent --> $id");
1658
+		if ($this->debugLevel > 1) ZLog::Write(LOGLEVEL_DEBUG, __METHOD__."('$folder') --> parent=$parent --> $id");
1660 1659
 		return $id;
1661 1660
 	}
1662 1661
 
@@ -1676,48 +1675,48 @@  discard block
 block discarded – undo
1676 1675
 			$account = $folder = null;
1677 1676
 			$this->splitID($id, $account, $folder);
1678 1677
 		}
1679
-		catch(Exception $e) {
1680
-			ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.' failed for '.$e->getMessage());
1681
-			return $folderObj=false;
1678
+		catch (Exception $e) {
1679
+			ZLog::Write(LOGLEVEL_DEBUG, __METHOD__.__LINE__.' failed for '.$e->getMessage());
1680
+			return $folderObj = false;
1682 1681
 		}
1683 1682
 		$this->_connect($account);
1684
-		if (!isset($this->folders)) $this->folders = $this->mail->getFolderObjects(true,false);
1683
+		if (!isset($this->folders)) $this->folders = $this->mail->getFolderObjects(true, false);
1685 1684
 
1686 1685
 		$mailFolder = $this->folders[$folder];
1687
-		if (!isset($mailFolder)) return $folderObj=false;
1686
+		if (!isset($mailFolder)) return $folderObj = false;
1688 1687
 
1689 1688
 		$folderObj = new SyncFolder();
1690 1689
 		$folderObj->serverid = $id;
1691
-		$folderObj->parentid = $this->getParentID($account,$folder);
1690
+		$folderObj->parentid = $this->getParentID($account, $folder);
1692 1691
 		$folderObj->displayname = $mailFolder->shortDisplayName;
1693
-		if ($this->debugLevel>1) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__." ID: $id, Account:$account, Folder:$folder");
1692
+		if ($this->debugLevel > 1) ZLog::Write(LOGLEVEL_DEBUG, __METHOD__.__LINE__." ID: $id, Account:$account, Folder:$folder");
1694 1693
 		// get folder-type
1695
-		foreach($this->folders as $inbox => $mailFolder) break;
1694
+		foreach ($this->folders as $inbox => $mailFolder) break;
1696 1695
 		if ($folder == $inbox)
1697 1696
 		{
1698 1697
 			$folderObj->type = SYNC_FOLDER_TYPE_INBOX;
1699 1698
 		}
1700
-		elseif($this->mail->isDraftFolder($folder, false, true))
1699
+		elseif ($this->mail->isDraftFolder($folder, false, true))
1701 1700
 		{
1702 1701
 			//ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.' isDraft');
1703 1702
 			$folderObj->type = SYNC_FOLDER_TYPE_DRAFTS;
1704 1703
 			$folderObj->parentid = 0; // required by devices
1705 1704
 		}
1706
-		elseif($this->mail->isTrashFolder($folder, false, true))
1705
+		elseif ($this->mail->isTrashFolder($folder, false, true))
1707 1706
 		{
1708 1707
 			$folderObj->type = SYNC_FOLDER_TYPE_WASTEBASKET;
1709 1708
 			$this->_wasteID = $folder;
1710 1709
 			//error_log(__METHOD__.__LINE__.' TrashFolder:'.$this->_wasteID);
1711 1710
 			$folderObj->parentid = 0; // required by devices
1712 1711
 		}
1713
-		elseif($this->mail->isSentFolder($folder, false, true))
1712
+		elseif ($this->mail->isSentFolder($folder, false, true))
1714 1713
 		{
1715 1714
 			$folderObj->type = SYNC_FOLDER_TYPE_SENTMAIL;
1716 1715
 			$folderObj->parentid = 0; // required by devices
1717 1716
 			$this->_sentID = $folder;
1718 1717
 			//error_log(__METHOD__.__LINE__.' SentFolder:'.$this->_sentID);
1719 1718
 		}
1720
-		elseif($this->mail->isOutbox($folder, false, true))
1719
+		elseif ($this->mail->isOutbox($folder, false, true))
1721 1720
 		{
1722 1721
 			//ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.' isOutbox');
1723 1722
 			$folderObj->type = SYNC_FOLDER_TYPE_OUTBOX;
@@ -1729,7 +1728,7 @@  discard block
 block discarded – undo
1729 1728
 			$folderObj->type = SYNC_FOLDER_TYPE_USER_MAIL;
1730 1729
 		}
1731 1730
 
1732
-		if ($this->debugLevel>1) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."($id) --> $folder --> type=$folderObj->type, parentID=$folderObj->parentid, displayname=$folderObj->displayname");
1731
+		if ($this->debugLevel > 1) ZLog::Write(LOGLEVEL_DEBUG, __METHOD__."($id) --> $folder --> type=$folderObj->type, parentID=$folderObj->parentid, displayname=$folderObj->displayname");
1733 1732
 		return $folderObj;
1734 1733
 	}
1735 1734
 
@@ -1777,18 +1776,18 @@  discard block
 block discarded – undo
1777 1776
 
1778 1777
 		if ($type != 'mail') return false;
1779 1778
 
1780
-		if (!isset($this->mail)) $this->mail = Mail::getInstance(false,self::$profileID,true,false,true);
1779
+		if (!isset($this->mail)) $this->mail = Mail::getInstance(false, self::$profileID, true, false, true);
1781 1780
 
1782 1781
         $this->mail->reopen($folder);
1783 1782
 
1784
-		if (!($status = $this->mail->getFolderStatus($folder,$ignoreStatusCache=true)))
1783
+		if (!($status = $this->mail->getFolderStatus($folder, $ignoreStatusCache = true)))
1785 1784
 		{
1786
-            ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.": could not stat folder $folder ");
1785
+            ZLog::Write(LOGLEVEL_DEBUG, __METHOD__.": could not stat folder $folder ");
1787 1786
             return false;
1788 1787
         }
1789
-		$syncstate = "M:". $status['messages'] ."-R:". $status['recent'] ."-U:". $status['unseen']."-NUID:".$status['uidnext']."-UIDV:".$status['uidvalidity'];
1788
+		$syncstate = "M:".$status['messages']."-R:".$status['recent']."-U:".$status['unseen']."-NUID:".$status['uidnext']."-UIDV:".$status['uidvalidity'];
1790 1789
 
1791
-		ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."($folderid, ...) $folder ($account) returning ".array2string($syncstate));
1790
+		ZLog::Write(LOGLEVEL_DEBUG, __METHOD__."($folderid, ...) $folder ($account) returning ".array2string($syncstate));
1792 1791
 		return array();
1793 1792
 	}
1794 1793
 
@@ -1801,8 +1800,8 @@  discard block
 block discarded – undo
1801 1800
 	function GetWasteBasket()
1802 1801
 	{
1803 1802
 		$this->_connect($this->account);
1804
-		$id = $this->createID($account=0, $this->_wasteID);
1805
-		ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__."() account=$this->account returned $id for folder $this->_wasteID");
1803
+		$id = $this->createID($account = 0, $this->_wasteID);
1804
+		ZLog::Write(LOGLEVEL_DEBUG, __METHOD__.__LINE__."() account=$this->account returned $id for folder $this->_wasteID");
1806 1805
 		return $id;
1807 1806
 	}
1808 1807
 
@@ -1823,7 +1822,7 @@  discard block
 block discarded – undo
1823 1822
      */
1824 1823
     public function DeleteMessage($folderid, $id, $contentParameters)
1825 1824
 	{
1826
-		unset($contentParameters);	// not used, but required by function signature
1825
+		unset($contentParameters); // not used, but required by function signature
1827 1826
 		ZLog::Write(LOGLEVEL_DEBUG, "IMAP-DeleteMessage: (fid: '$folderid'  id: '$id' )");
1828 1827
 		/*
1829 1828
 		$this->imap_reopenFolder($folderid);
@@ -1834,7 +1833,7 @@  discard block
 block discarded – undo
1834 1833
 		// we may have to split folderid
1835 1834
 		$account = $folder = null;
1836 1835
 		$this->splitID($folderid, $account, $folder);
1837
-		ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.' '.$folderid.'->'.$folder);
1836
+		ZLog::Write(LOGLEVEL_DEBUG, __METHOD__.__LINE__.' '.$folderid.'->'.$folder);
1838 1837
 		$_messageUID = (array)$id;
1839 1838
 
1840 1839
 		$this->_connect($this->account);
@@ -1846,9 +1845,9 @@  discard block
 block discarded – undo
1846 1845
 		catch (Api\Exception $e)
1847 1846
 		{
1848 1847
 			$error = $e->getMessage();
1849
-			ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__." $_messageUID, $folder ->".$error);
1848
+			ZLog::Write(LOGLEVEL_DEBUG, __METHOD__.__LINE__." $_messageUID, $folder ->".$error);
1850 1849
 			// if the server thinks the message does not exist report deletion as success
1851
-			if (stripos($error,'[NONEXISTENT]')!==false) return true;
1850
+			if (stripos($error, '[NONEXISTENT]') !== false) return true;
1852 1851
 			return false;
1853 1852
 		}
1854 1853
 
@@ -1882,15 +1881,15 @@  discard block
 block discarded – undo
1882 1881
      */
1883 1882
     public function SetReadFlag($folderid, $id, $flags, $contentParameters)
1884 1883
 	{
1885
-		unset($contentParameters);	// not used, but required by function signature
1884
+		unset($contentParameters); // not used, but required by function signature
1886 1885
 		// ZLog::Write(LOGLEVEL_DEBUG, "IMAP-SetReadFlag: (fid: '$folderid'  id: '$id'  flags: '$flags' )");
1887 1886
 		$account = $folder = null;
1888 1887
 		$this->splitID($folderid, $account, $folder);
1889 1888
 
1890 1889
 		$_messageUID = (array)$id;
1891 1890
 		$this->_connect($this->account);
1892
-		$rv = $this->mail->flagMessages((($flags) ? "read" : "unread"), $_messageUID,$folder);
1893
-		ZLog::Write(LOGLEVEL_DEBUG, "IMAP-SetReadFlag -> set ".array2string($_messageUID).' in Folder '.$folder." as " . (($flags) ? "read" : "unread") . "-->". $rv);
1891
+		$rv = $this->mail->flagMessages((($flags) ? "read" : "unread"), $_messageUID, $folder);
1892
+		ZLog::Write(LOGLEVEL_DEBUG, "IMAP-SetReadFlag -> set ".array2string($_messageUID).' in Folder '.$folder." as ".(($flags) ? "read" : "unread")."-->".$rv);
1894 1893
 
1895 1894
 		return $rv;
1896 1895
 	}
@@ -1908,7 +1907,7 @@  discard block
 block discarded – undo
1908 1907
 	 */
1909 1908
 	public function ChangeFolder($id, $oldid, $displayname, $type)
1910 1909
 	{
1911
-		ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."('$id', '$oldid', '$displayname', $type)");
1910
+		ZLog::Write(LOGLEVEL_DEBUG, __METHOD__."('$id', '$oldid', '$displayname', $type)");
1912 1911
 		$account = $parent_id = null;
1913 1912
 		$this->splitID($id, $account, $parentFolder, $app);
1914 1913
 
@@ -1925,17 +1924,17 @@  discard block
 block discarded – undo
1925 1924
 			$this->splitID($oldid, $account, $oldFolder, $app);
1926 1925
 			$old_hash = $this->folder2hash($account, $oldFolder);
1927 1926
 		}
1928
-		ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.":{$action}Folder('$id'=>($parentFolder ($parent_id)), '$oldid'".($oldid?"=>($oldFolder ($old_hash))":'').", '$displayname', $type)");
1927
+		ZLog::Write(LOGLEVEL_DEBUG, __METHOD__.":{$action}Folder('$id'=>($parentFolder ($parent_id)), '$oldid'".($oldid ? "=>($oldFolder ($old_hash))" : '').", '$displayname', $type)");
1929 1928
 		$this->_connect($this->account);
1930 1929
 		try
1931 1930
 		{
1932
-			if ($action=='rename')
1931
+			if ($action == 'rename')
1933 1932
 			{
1934 1933
 				$newFolderName = $this->mail->renameFolder($oldFolder, $parentFolder, $displayname);
1935 1934
 			}
1936
-			elseif ($action=='create')
1935
+			elseif ($action == 'create')
1937 1936
 			{
1938
-				$error=null;
1937
+				$error = null;
1939 1938
 				$newFolderName = $this->mail->createFolder($parentFolder, $displayname, $error);
1940 1939
 			}
1941 1940
 		}
@@ -1947,7 +1946,7 @@  discard block
 block discarded – undo
1947 1946
 		$newHash = $this->rename_folder_hash($account, $old_hash, $newFolderName);
1948 1947
 		$newID = $this->createID($account, $newHash);
1949 1948
 
1950
-		ZLog::Write(LOGLEVEL_DEBUG,":{$action}Folder('$id'=>($parentFolder), '$oldid'".($oldid?"=>($oldFolder)":'').", '$displayname' => $newFolderName (ID:$newID))");
1949
+		ZLog::Write(LOGLEVEL_DEBUG, ":{$action}Folder('$id'=>($parentFolder), '$oldid'".($oldid ? "=>($oldFolder)" : '').", '$displayname' => $newFolderName (ID:$newID))");
1951 1950
 		return $this->StatFolder($newID);
1952 1951
 	}
1953 1952
 
@@ -1960,13 +1959,13 @@  discard block
 block discarded – undo
1960 1959
 	 * @throws StatusException              could throw specific SYNC_FSSTATUS_* exceptions
1961 1960
 	 * @return boolean true or false on error
1962 1961
 	 */
1963
-	public function DeleteFolder($id, $parentid=false)
1962
+	public function DeleteFolder($id, $parentid = false)
1964 1963
 	{
1965 1964
 		$account = $parent_id = $app = null;
1966 1965
 		$this->splitID($id, $account, $folder, $app);
1967 1966
 		$old_hash = $this->folder2hash($account, $folder);
1968 1967
 		if ($parentid) $this->splitID($parentid, $account, $parentfolder, $app);
1969
-		ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."( '$id (-> $folder)','$parentid ".($parentid?'(->'.$parentfolder.')':'')."') called!");
1968
+		ZLog::Write(LOGLEVEL_DEBUG, __METHOD__."( '$id (-> $folder)','$parentid ".($parentid ? '(->'.$parentfolder.')' : '')."') called!");
1970 1969
 		$ret = $this->mail->deleteFolder($folder);
1971 1970
 		if ($ret) $newHash = $this->rename_folder_hash($account, $old_hash, "##Dele#edFolder#$folder##");
1972 1971
 		return $ret;
@@ -1988,8 +1987,8 @@  discard block
 block discarded – undo
1988 1987
 		$this->_connect($this->account);
1989 1988
 		$account = $folder = null;
1990 1989
 		$this->splitID($folderid, $account, $folder);
1991
-		$rv = $this->mail->flagMessages((($flags->flagstatus == 2) ? "flagged" : "unflagged"), $_messageUID,$folder);
1992
-		ZLog::Write(LOGLEVEL_DEBUG, "IMAP-SetFlaggedFlag -> set ".array2string($_messageUID).' in Folder '.$folder." as " . (($flags->flagstatus == 2) ? "flagged" : "unflagged") . "-->". $rv);
1990
+		$rv = $this->mail->flagMessages((($flags->flagstatus == 2) ? "flagged" : "unflagged"), $_messageUID, $folder);
1991
+		ZLog::Write(LOGLEVEL_DEBUG, "IMAP-SetFlaggedFlag -> set ".array2string($_messageUID).' in Folder '.$folder." as ".(($flags->flagstatus == 2) ? "flagged" : "unflagged")."-->".$rv);
1993 1992
 
1994 1993
 		return $rv;
1995 1994
 	}
@@ -2003,17 +2002,17 @@  discard block
 block discarded – undo
2003 2002
 	 * @return string
2004 2003
 	 * @throws Api\Exception\WrongParameter
2005 2004
 	 */
2006
-	private function createID($account,$folder,$id=0)
2005
+	private function createID($account, $folder, $id = 0)
2007 2006
 	{
2008 2007
 		if (!is_numeric($folder))
2009 2008
 		{
2010 2009
 			// convert string $folder in numeric id
2011
-			$folder = $this->folder2hash($account,$f=$folder);
2010
+			$folder = $this->folder2hash($account, $f = $folder);
2012 2011
 		}
2013 2012
 
2014 2013
 		$str = $this->backend->createID($account, $folder, $id);
2015 2014
 
2016
-		if ($this->debugLevel>1) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."($account,'$f',$id) type=$account, folder=$folder --> '$str'");
2015
+		if ($this->debugLevel > 1) ZLog::Write(LOGLEVEL_DEBUG, __METHOD__."($account,'$f',$id) type=$account, folder=$folder --> '$str'");
2017 2016
 
2018 2017
 		return $str;
2019 2018
 	}
@@ -2027,14 +2026,14 @@  discard block
 block discarded – undo
2027 2026
 	 * @param int &$appid=null (for mail=mail is to be expected)
2028 2027
 	 * @throws Api\Exception\WrongParameter
2029 2028
 	 */
2030
-	private function splitID($str,&$account,&$folder,&$appid=null)
2029
+	private function splitID($str, &$account, &$folder, &$appid = null)
2031 2030
 	{
2032 2031
 		$this->backend->splitID($str, $account, $folder, $appid);
2033 2032
 
2034 2033
 		// convert numeric folder-id back to folder name
2035
-		$folder = $this->hash2folder($account,$f=$folder);
2034
+		$folder = $this->hash2folder($account, $f = $folder);
2036 2035
 
2037
-		if ($this->debugLevel>1) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."('$str','$account','$folder',$appid)");
2036
+		if ($this->debugLevel > 1) ZLog::Write(LOGLEVEL_DEBUG, __METHOD__."('$str','$account','$folder',$appid)");
2038 2037
 	}
2039 2038
 
2040 2039
 	/**
@@ -2051,9 +2050,9 @@  discard block
 block discarded – undo
2051 2050
 	 * @param string $folder
2052 2051
 	 * @return int
2053 2052
 	 */
2054
-	private function folder2hash($account,$folder)
2053
+	private function folder2hash($account, $folder)
2055 2054
 	{
2056
-		if(!isset($this->folderHashes)) $this->readFolderHashes();
2055
+		if (!isset($this->folderHashes)) $this->readFolderHashes();
2057 2056
 
2058 2057
 		if (($index = array_search($folder, (array)$this->folderHashes[$account])) === false)
2059 2058
 		{
@@ -2074,9 +2073,9 @@  discard block
 block discarded – undo
2074 2073
 	 * @param int $index
2075 2074
 	 * @return string NULL if not used so far
2076 2075
 	 */
2077
-	private function hash2folder($account,$index)
2076
+	private function hash2folder($account, $index)
2078 2077
 	{
2079
-		if(!isset($this->folderHashes)) $this->readFolderHashes();
2078
+		if (!isset($this->folderHashes)) $this->readFolderHashes();
2080 2079
 
2081 2080
 		return isset($this->folderHashes[$account]) ? $this->folderHashes[$account][$index] : null;
2082 2081
 	}
@@ -2132,9 +2131,9 @@  discard block
 block discarded – undo
2132 2131
 			if ((file_exists($file = $this->hashFile()) || file_exists($file = $this->hashFile(true))) &&
2133 2132
 				($hashes = file_get_contents($file)))
2134 2133
 			{
2135
-				$this->folderHashes = json_decode($hashes,true);
2134
+				$this->folderHashes = json_decode($hashes, true);
2136 2135
 				// fallback in case hashes have been serialized instead of being json-encoded
2137
-				if (json_last_error()!=JSON_ERROR_NONE)
2136
+				if (json_last_error() != JSON_ERROR_NONE)
2138 2137
 				{
2139 2138
 					//error_log(__METHOD__.__LINE__." error decoding with json");
2140 2139
 					$this->folderHashes = unserialize($hashes);
@@ -2180,9 +2179,9 @@  discard block
 block discarded – undo
2180 2179
 	 * @param boolean $old =false true: return old / pre-15 hash-file
2181 2180
 	 * @throws Api\Exception\AssertionFailed
2182 2181
 	 */
2183
-	private function hashFile($old=false)
2182
+	private function hashFile($old = false)
2184 2183
 	{
2185
-		if (!($dev_id=Request::GetDeviceID()))
2184
+		if (!($dev_id = Request::GetDeviceID()))
2186 2185
 		{
2187 2186
 			throw new Api\Exception\AssertionFailed(__METHOD__."() no DeviceID set!");
2188 2187
 		}
Please login to merge, or discard this patch.
Braces   +605 added lines, -177 removed lines patch added patch discarded remove patch
@@ -84,29 +84,47 @@  discard block
 block discarded – undo
84 84
 	 */
85 85
 	public function __construct(activesync_backend $backend)
86 86
 	{
87
-		if ($GLOBALS['egw_setup']) return;
87
+		if ($GLOBALS['egw_setup'])
88
+		{
89
+			return;
90
+		}
88 91
 
89 92
 		//$this->debugLevel=2;
90 93
 		$this->backend = $backend;
91 94
 		if (!isset($GLOBALS['egw_info']['user']['preferences']['activesync']['mail-ActiveSyncProfileID']))
92 95
 		{
93
-			if ($this->debugLevel>1) error_log(__METHOD__.__LINE__.' Noprefs set: using 0 as default');
96
+			if ($this->debugLevel>1)
97
+			{
98
+				error_log(__METHOD__.__LINE__.' Noprefs set: using 0 as default');
99
+			}
94 100
 			// globals preferences add appname varname value
95 101
 			$GLOBALS['egw']->preferences->add('activesync','mail-ActiveSyncProfileID',0,'user');
96 102
 			// save prefs
97 103
 			$GLOBALS['egw']->preferences->save_repository(true);
98 104
 		}
99
-		if ($this->debugLevel>1) error_log(__METHOD__.__LINE__.' ActiveProfileID:'.array2string(self::$profileID));
105
+		if ($this->debugLevel>1)
106
+		{
107
+			error_log(__METHOD__.__LINE__.' ActiveProfileID:'.array2string(self::$profileID));
108
+		}
100 109
 
101 110
 		if (is_null(self::$profileID))
102 111
 		{
103
-			if ($this->debugLevel>1) error_log(__METHOD__.__LINE__.' self::ProfileID isNUll:'.array2string(self::$profileID));
112
+			if ($this->debugLevel>1)
113
+			{
114
+				error_log(__METHOD__.__LINE__.' self::ProfileID isNUll:'.array2string(self::$profileID));
115
+			}
104 116
 			self::$profileID =& Api\Cache::getSession('mail','activeSyncProfileID');
105
-			if ($this->debugLevel>1) error_log(__METHOD__.__LINE__.' ActiveProfileID (after reading Cache):'.array2string(self::$profileID));
117
+			if ($this->debugLevel>1)
118
+			{
119
+				error_log(__METHOD__.__LINE__.' ActiveProfileID (after reading Cache):'.array2string(self::$profileID));
120
+			}
106 121
 		}
107 122
 		if (isset($GLOBALS['egw_info']['user']['preferences']['activesync']['mail-ActiveSyncProfileID']))
108 123
 		{
109
-			if ($this->debugLevel>1) error_log(__METHOD__.__LINE__.' Pref for ProfileID:'.array2string($GLOBALS['egw_info']['user']['preferences']['activesync']['mail-ActiveSyncProfileID']));
124
+			if ($this->debugLevel>1)
125
+			{
126
+				error_log(__METHOD__.__LINE__.' Pref for ProfileID:'.array2string($GLOBALS['egw_info']['user']['preferences']['activesync']['mail-ActiveSyncProfileID']));
127
+			}
110 128
 			if ($GLOBALS['egw_info']['user']['preferences']['activesync']['mail-ActiveSyncProfileID'] == 'G')
111 129
 			{
112 130
 				self::$profileID = 'G'; // this should trigger the fetch of the first negative profile (or if no negative profile is available the firstb there is)
@@ -116,7 +134,10 @@  discard block
 block discarded – undo
116 134
 				self::$profileID = (int)$GLOBALS['egw_info']['user']['preferences']['activesync']['mail-ActiveSyncProfileID'];
117 135
 			}
118 136
 		}
119
-		if ($this->debugLevel>1) error_log(__METHOD__.__LINE__.' Profile Selected (after reading Prefs):'.array2string(self::$profileID));
137
+		if ($this->debugLevel>1)
138
+		{
139
+			error_log(__METHOD__.__LINE__.' Profile Selected (after reading Prefs):'.array2string(self::$profileID));
140
+		}
120 141
 
121 142
 		// verify we are on an existing profile, if not running in setup (settings can not be static according to interface!)
122 143
 		if (!isset($GLOBALS['egw_setup']))
@@ -129,7 +150,10 @@  discard block
 block discarded – undo
129 150
 				self::$profileID = Mail\Account::get_default_acc_id();
130 151
 			}
131 152
 		}
132
-		if ($this->debugLevel>0) error_log(__METHOD__.'::'.__LINE__.' ProfileSelected:'.self::$profileID);
153
+		if ($this->debugLevel>0)
154
+		{
155
+			error_log(__METHOD__.'::'.__LINE__.' ProfileSelected:'.self::$profileID);
156
+		}
133 157
 		//$this->debugLevel=0;
134 158
 	}
135 159
 
@@ -245,8 +269,14 @@  discard block
 block discarded – undo
245 269
 				$this->_connect(0,true);
246 270
 				$this->_disconnect();
247 271
 
248
-				if (!$this->_wasteID) $errors[] = lang('No valid %1 folder configured!', '<b>'.lang('trash').'</b>');
249
-				if (!$this->_sentID) $errors[] = lang('No valid %1 folder configured!', '<b>'.lang('send').'</b>');
272
+				if (!$this->_wasteID)
273
+				{
274
+					$errors[] = lang('No valid %1 folder configured!', '<b>'.lang('trash').'</b>');
275
+				}
276
+				if (!$this->_sentID)
277
+				{
278
+					$errors[] = lang('No valid %1 folder configured!', '<b>'.lang('send').'</b>');
279
+				}
250 280
 			}
251 281
 			catch(Exception $e) {
252 282
 				$errors[] = lang('Can not open IMAP connection').': '.$e->getMessage();
@@ -268,8 +298,14 @@  discard block
 block discarded – undo
268 298
 	 */
269 299
 	private function _connect($account=0)
270 300
 	{
271
-		if (!$account) $account = self::$profileID ? self::$profileID : 0;
272
-		if ($this->mail && $this->account != $account) $this->_disconnect();
301
+		if (!$account)
302
+		{
303
+			$account = self::$profileID ? self::$profileID : 0;
304
+		}
305
+		if ($this->mail && $this->account != $account)
306
+		{
307
+			$this->_disconnect();
308
+		}
273 309
 
274 310
 		$this->_wasteID = false;
275 311
 		$this->_sentID = false;
@@ -280,12 +316,18 @@  discard block
 block discarded – undo
280 316
 			// todo: tell mail which account to use
281 317
 			//error_log(__METHOD__.__LINE__.' create object with ProfileID:'.array2string(self::$profileID));
282 318
 			$this->mail = Mail::getInstance(false,self::$profileID,true,false,true);
283
-			if (self::$profileID == 0 && isset($this->mail->icServer->ImapServerId) && !empty($this->mail->icServer->ImapServerId)) self::$profileID = $this->mail->icServer->ImapServerId;
319
+			if (self::$profileID == 0 && isset($this->mail->icServer->ImapServerId) && !empty($this->mail->icServer->ImapServerId))
320
+			{
321
+				self::$profileID = $this->mail->icServer->ImapServerId;
322
+			}
284 323
 		}
285 324
 		else
286 325
 		{
287 326
 			//error_log(__METHOD__.__LINE__." connect with profileID: ".self::$profileID);
288
-			if (self::$profileID == 0 && isset($this->mail->icServer->ImapServerId) && !empty($this->mail->icServer->ImapServerId)) self::$profileID = $this->mail->icServer->ImapServerId;
327
+			if (self::$profileID == 0 && isset($this->mail->icServer->ImapServerId) && !empty($this->mail->icServer->ImapServerId))
328
+			{
329
+				self::$profileID = $this->mail->icServer->ImapServerId;
330
+			}
289 331
 		}
290 332
 		$this->mail->openConnection(self::$profileID,false);
291 333
 
@@ -302,8 +344,14 @@  discard block
 block discarded – undo
302 344
 	 */
303 345
 	private function _disconnect()
304 346
 	{
305
-		if ($this->debugLevel>0) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__);
306
-		if ($this->mail) $this->mail->closeConnection();
347
+		if ($this->debugLevel>0)
348
+		{
349
+			ZLog::Write(LOGLEVEL_DEBUG,__METHOD__);
350
+		}
351
+		if ($this->mail)
352
+		{
353
+			$this->mail->closeConnection();
354
+		}
307 355
 
308 356
 		unset($this->mail);
309 357
 		unset($this->account);
@@ -318,24 +366,43 @@  discard block
 block discarded – undo
318 366
 	public function GetFolderList()
319 367
 	{
320 368
 		$folderlist = array();
321
-		if ($this->debugLevel>0) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__);
369
+		if ($this->debugLevel>0)
370
+		{
371
+			ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__);
372
+		}
322 373
 		/*foreach($available_accounts as $account)*/ $account = 0;
323 374
 		{
324 375
 			$this->_connect($account);
325
-			if (!isset($this->folders)) $this->folders = $this->mail->getFolderObjects(true,false,$_alwaysGetDefaultFolders=true);
326
-			if ($this->debugLevel>1) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.array2string($this->folders));
376
+			if (!isset($this->folders))
377
+			{
378
+				$this->folders = $this->mail->getFolderObjects(true,false,$_alwaysGetDefaultFolders=true);
379
+			}
380
+			if ($this->debugLevel>1)
381
+			{
382
+				ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.array2string($this->folders));
383
+			}
327 384
 
328
-			foreach ($this->folders as $folder => $folderObj) {
329
-				if ($this->debugLevel>1) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.' folder='.$folder);
385
+			foreach ($this->folders as $folder => $folderObj)
386
+			{
387
+				if ($this->debugLevel>1)
388
+				{
389
+					ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.' folder='.$folder);
390
+				}
330 391
 				$folderlist[] = $f = array(
331 392
 					'id'     => $this->createID($account,$folder),
332 393
 					'mod'    => $folderObj->shortDisplayName,
333 394
 					'parent' => $this->getParentID($account,$folder),
334 395
 				);
335
-				if ($this->debugLevel>1) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."() returning ".array2string($f));
396
+				if ($this->debugLevel>1)
397
+				{
398
+					ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."() returning ".array2string($f));
399
+				}
336 400
 			}
337 401
 		}
338
-		if ($this->debugLevel>0) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."() returning ".array2string($folderlist));
402
+		if ($this->debugLevel>0)
403
+		{
404
+			ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."() returning ".array2string($folderlist));
405
+		}
339 406
 
340 407
 		return $folderlist;
341 408
 	}
@@ -396,11 +463,17 @@  discard block
 block discarded – undo
396 463
 		$smartdata_task = ($smartdata->replyflag?'reply':($smartdata->forwardflag?'forward':'new'));
397 464
 
398 465
    		ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__ . (isset($smartdata->mime) ? $smartdata->mime : ""). "task: ".(isset($smartdata_task) ? $smartdata_task : "")." itemid: ".(isset($smartdata->source->itemid) ? $smartdata->source->itemid : "")." folder: ".(isset($smartdata->source->folderid) ? $smartdata->source->folderid : ""));
399
-		if ($this->debugLevel>0) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."(".__LINE__."): Smartdata = ".array2string($smartdata));
466
+		if ($this->debugLevel>0)
467
+		{
468
+			ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."(".__LINE__."): Smartdata = ".array2string($smartdata));
469
+		}
400 470
 		//error_log("IMAP-Sendmail: Smartdata = ".array2string($smartdata));
401 471
 
402 472
 		// initialize our Mail
403
-		if (!isset($this->mail)) $this->mail = Mail::getInstance(false,self::$profileID,true,false,true);
473
+		if (!isset($this->mail))
474
+		{
475
+			$this->mail = Mail::getInstance(false,self::$profileID,true,false,true);
476
+		}
404 477
 		$activeMailProfiles = $this->mail->getAccountIdentities(self::$profileID);
405 478
 		// use the standardIdentity
406 479
 		$activeMailProfile = Mail::getStandardIdentityForProfile($activeMailProfiles,self::$profileID);
@@ -428,12 +501,18 @@  discard block
 block discarded – undo
428 501
 		$beforeHtml = ($disableRuler ?'&nbsp;<br>':'&nbsp;<br><hr style="border:dotted 1px silver; width:90%; border:dotted 1px silver;">');
429 502
 		$beforePlain = ($disableRuler ?"\r\n\r\n":"\r\n\r\n-- \r\n");
430 503
 		$sigText = Mail::merge($signature,array($GLOBALS['egw']->accounts->id2name($GLOBALS['egw_info']['user']['account_id'],'person_id')));
431
-		if ($this->debugLevel>0) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.' Signature to use:'.$sigText);
504
+		if ($this->debugLevel>0)
505
+		{
506
+			ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.' Signature to use:'.$sigText);
507
+		}
432 508
 		$sigTextHtml = $beforeHtml.$sigText;
433 509
 		$sigTextPlain = $beforePlain.Api\Mail\Html::convertHTMLToText($sigText);
434 510
 
435 511
 		$force8bit=false;
436
-		if (Api\Translation::detect_encoding($sigTextPlain)!='ascii') $force8bit=true;
512
+		if (Api\Translation::detect_encoding($sigTextPlain)!='ascii')
513
+		{
514
+			$force8bit=true;
515
+		}
437 516
 		// initialize the new Api\Mailer object for sending
438 517
 		$mailObject = new Api\Mailer(self::$profileID);
439 518
 		$bccAddresses='';
@@ -445,22 +524,34 @@  discard block
 block discarded – undo
445 524
 
446 525
 		// prepare addressee list; moved the adding of addresses to the mailobject down
447 526
 		// to
448
-		foreach(Mail::parseAddressList($mailObject->getHeader("To")) as $addressObject) {
449
-			if (!$addressObject->valid) continue;
527
+		foreach(Mail::parseAddressList($mailObject->getHeader("To")) as $addressObject)
528
+		{
529
+			if (!$addressObject->valid)
530
+			{
531
+				continue;
532
+			}
450 533
 			ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."(".__LINE__.") Header Sentmail To: ".array2string($addressObject) );
451 534
 			//$mailObject->AddAddress($addressObject->mailbox. ($addressObject->host ? '@'.$addressObject->host : ''),$addressObject->personal);
452 535
 			$toMailAddr[] = imap_rfc822_write_address($addressObject->mailbox, $addressObject->host, $addressObject->personal);
453 536
 		}
454 537
 		// CC
455
-		foreach(Mail::parseAddressList($mailObject->getHeader("Cc")) as $addressObject) {
456
-			if (!$addressObject->valid) continue;
538
+		foreach(Mail::parseAddressList($mailObject->getHeader("Cc")) as $addressObject)
539
+		{
540
+			if (!$addressObject->valid)
541
+			{
542
+				continue;
543
+			}
457 544
 			ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."(".__LINE__.") Header Sentmail CC: ".array2string($addressObject) );
458 545
 			//$mailObject->AddCC($addressObject->mailbox. ($addressObject->host ? '@'.$addressObject->host : ''),$addressObject->personal);
459 546
 			$ccMailAddr[] = imap_rfc822_write_address($addressObject->mailbox, $addressObject->host, $addressObject->personal);
460 547
 		}
461 548
 		// BCC
462
-		foreach(Mail::parseAddressList(($bccAddresses?$bccAddresses:$mailObject->getHeader("Bcc"))) as $addressObject) {
463
-			if (!$addressObject->valid) continue;
549
+		foreach(Mail::parseAddressList(($bccAddresses?$bccAddresses:$mailObject->getHeader("Bcc"))) as $addressObject)
550
+		{
551
+			if (!$addressObject->valid)
552
+			{
553
+				continue;
554
+			}
464 555
 			ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."(".__LINE__.") Header Sentmail BCC: ".array2string($addressObject) );
465 556
 			//$mailObject->AddBCC($addressObject->mailbox. ($addressObject->host ? '@'.$addressObject->host : ''),$addressObject->personal);
466 557
 			$bccMailAddr[] = imap_rfc822_write_address($addressObject->mailbox, $addressObject->host, $addressObject->personal);
@@ -473,12 +564,14 @@  discard block
 block discarded – undo
473 564
 		$ContentType =$mailObject->getHeader('Content-Type');
474 565
 		//error_log(__METHOD__.__LINE__." Header Sentmail original Header (filtered): " . $k.  " = ".trim($ContentType));
475 566
 		// if the message is a multipart message, then we should use the sent body
476
-		if (preg_match("/multipart/i", $ContentType)) {
567
+		if (preg_match("/multipart/i", $ContentType))
568
+		{
477 569
 			$use_orgbody = true;
478 570
 		}
479 571
 
480 572
 		// save the original content-type header for the body part when forwarding
481
-		if ($smartdata_task == 'forward' && $smartdata->source->itemid && !$use_orgbody) {
573
+		if ($smartdata_task == 'forward' && $smartdata->source->itemid && !$use_orgbody)
574
+		{
482 575
 			//continue; // ignore
483 576
 		}
484 577
 		// horde/egw_ mailer does everything as utf-8, the following should not be needed
@@ -487,7 +580,8 @@  discard block
 block discarded – undo
487 580
 		// if the message is a multipart message, then we should use the sent body
488 581
 		if (($smartdata_task == 'new' || $smartdata_task == 'reply' || $smartdata_task == 'forward') &&
489 582
 			((isset($smartdata->replacemime) && $smartdata->replacemime == true) ||
490
-			$k == "Content-Type" && preg_match("/multipart/i", $ContentType))) {
583
+			$k == "Content-Type" && preg_match("/multipart/i", $ContentType)))
584
+		{
491 585
 			$use_orgbody = true;
492 586
 		}
493 587
 		$Body =  $AltBody = "";
@@ -520,12 +614,19 @@  discard block
 block discarded – undo
520 614
 			$AltBody = preg_replace("/(<|&lt;)*(([\w\.,-.,_.,0-9.]+)@([\w\.,-.,_.,0-9.]+))(>|&gt;)*/i","[$2]",
521 615
 				($html_body = $mailObject->findBody('html')) ? $html_body->getContents() : null);
522 616
 		}
523
-		if ($this->debugLevel>1 && $Body) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."(".__LINE__.") fetched Body as with MessageContentType:". $ContentType.'=>'.$Body);
524
-		if ($this->debugLevel>1 && $AltBody) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."(".__LINE__.") fetched AltBody as with MessageContentType:". $ContentType.'=>'.$AltBody);
617
+		if ($this->debugLevel>1 && $Body)
618
+		{
619
+			ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."(".__LINE__.") fetched Body as with MessageContentType:". $ContentType.'=>'.$Body);
620
+		}
621
+		if ($this->debugLevel>1 && $AltBody)
622
+		{
623
+			ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."(".__LINE__.") fetched AltBody as with MessageContentType:". $ContentType.'=>'.$AltBody);
624
+		}
525 625
 		//error_log(__METHOD__.__LINE__.array2string($mailObject));
526 626
 		// if this is a multipart message with a boundary, we must use the original body
527 627
 		//if ($this->debugLevel>2) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.' mailObject after Inital Parse:'.array2string($mailObject));
528
-        if ($use_orgbody) {
628
+        if ($use_orgbody)
629
+        {
529 630
     	    ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."(".__LINE__.") use_orgbody = true ContentType:".$ContentType);
530 631
  			// if it is a ClientSideMeetingRequest, we report it as send at all times
531 632
 			if (($cal_body = $mailObject->findBody('calendar')) &&
@@ -535,15 +636,20 @@  discard block
 block discarded – undo
535 636
 				{
536 637
 					$organizer = calendar_ical::getIcalOrganizer($cal_body->getContents());
537 638
 				}
538
-				if ($this->debugLevel) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."(".__LINE__.") we have a Client Side Meeting Request from organizer=$organizer");
639
+				if ($this->debugLevel)
640
+				{
641
+					ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."(".__LINE__.") we have a Client Side Meeting Request from organizer=$organizer");
642
+				}
539 643
 				$ClientSideMeetingRequest = true;
540 644
 			}
541 645
         }
542 646
 		// now handle the addressee list
543 647
 		$toCount = 0;
544 648
 		//error_log(__METHOD__.__LINE__.array2string($toMailAddr));
545
-		foreach((array)$toMailAddr as $address) {
546
-			foreach(Mail::parseAddressList((get_magic_quotes_gpc()?stripslashes($address):$address)) as $addressObject) {
649
+		foreach((array)$toMailAddr as $address)
650
+		{
651
+			foreach(Mail::parseAddressList((get_magic_quotes_gpc()?stripslashes($address):$address)) as $addressObject)
652
+			{
547 653
 				$emailAddress = $addressObject->mailbox. ($addressObject->host ? '@'.$addressObject->host : '');
548 654
 				if ($ClientSideMeetingRequest === true && $allowSendingInvitations == 'sendifnocalnotif' &&
549 655
 					calendar_boupdate::email_update_requested($emailAddress, isset($cSMRMethod) ? $cSMRMethod : 'REQUEST',
@@ -557,19 +663,29 @@  discard block
 block discarded – undo
557 663
 			}
558 664
 		}
559 665
 		$ccCount = 0;
560
-		foreach((array)$ccMailAddr as $address) {
561
-			foreach(Mail::parseAddressList((get_magic_quotes_gpc()?stripslashes($address):$address)) as $addressObject) {
666
+		foreach((array)$ccMailAddr as $address)
667
+		{
668
+			foreach(Mail::parseAddressList((get_magic_quotes_gpc()?stripslashes($address):$address)) as $addressObject)
669
+			{
562 670
 				$emailAddress = $addressObject->mailbox. ($addressObject->host ? '@'.$addressObject->host : '');
563
-				if ($ClientSideMeetingRequest === true && $allowSendingInvitations == 'sendifnocalnotif' && calendar_boupdate::email_update_requested($emailAddress)) continue;
671
+				if ($ClientSideMeetingRequest === true && $allowSendingInvitations == 'sendifnocalnotif' && calendar_boupdate::email_update_requested($emailAddress))
672
+				{
673
+					continue;
674
+				}
564 675
 				$mailObject->AddCC($emailAddress, $addressObject->personal);
565 676
 				$ccCount++;
566 677
 			}
567 678
 		}
568 679
 		$bccCount = 0;
569
-		foreach((array)$bccMailAddr as $address) {
570
-			foreach(Mail::parseAddressList((get_magic_quotes_gpc()?stripslashes($address):$address)) as $addressObject) {
680
+		foreach((array)$bccMailAddr as $address)
681
+		{
682
+			foreach(Mail::parseAddressList((get_magic_quotes_gpc()?stripslashes($address):$address)) as $addressObject)
683
+			{
571 684
 				$emailAddress = $addressObject->mailbox. ($addressObject->host ? '@'.$addressObject->host : '');
572
-				if ($ClientSideMeetingRequest === true && $allowSendingInvitations == 'sendifnocalnotif' && calendar_boupdate::email_update_requested($emailAddress)) continue;
685
+				if ($ClientSideMeetingRequest === true && $allowSendingInvitations == 'sendifnocalnotif' && calendar_boupdate::email_update_requested($emailAddress))
686
+				{
687
+					continue;
688
+				}
573 689
 				$mailObject->AddBCC($emailAddress, $addressObject->personal);
574 690
 				$bccCount++;
575 691
 			}
@@ -579,7 +695,10 @@  discard block
 block discarded – undo
579 695
 		{
580 696
 			return $ClientSideMeetingRequest && $allowSendingInvitations === 'sendifnocalnotif' && $organizer ? true : 0; // noone to send mail to
581 697
 		}
582
-		if ($ClientSideMeetingRequest === true && $allowSendingInvitations===false) return true;
698
+		if ($ClientSideMeetingRequest === true && $allowSendingInvitations===false)
699
+		{
700
+			return true;
701
+		}
583 702
 		// as we use our mailer (horde mailer) it is detecting / setting the mimetype by itself while creating the mail
584 703
 /*
585 704
 		if ($this->debugLevel>2) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.' retrieved Body:'.$body);
@@ -602,10 +721,17 @@  discard block
 block discarded – undo
602 721
 			$this->mail->reopen($folder);
603 722
 			$bodyStruct = $this->mail->getMessageBody($uid, 'html_only');
604 723
 			$bodyBUFFHtml = $this->mail->getdisplayableBody($this->mail,$bodyStruct,true,false);
605
-			if ($this->debugLevel>3) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.' html_only:'.$bodyBUFFHtml);
606
-		    if ($bodyBUFFHtml != "" && (is_array($bodyStruct) && $bodyStruct[0]['mimeType']=='text/html')) {
724
+			if ($this->debugLevel>3)
725
+			{
726
+				ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.' html_only:'.$bodyBUFFHtml);
727
+			}
728
+		    if ($bodyBUFFHtml != "" && (is_array($bodyStruct) && $bodyStruct[0]['mimeType']=='text/html'))
729
+		    {
607 730
 				// may be html
608
-				if ($this->debugLevel>0) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."(".__LINE__.") MIME Body".' Type:html (fetched with html_only):'.$bodyBUFFHtml);
731
+				if ($this->debugLevel>0)
732
+				{
733
+					ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."(".__LINE__.") MIME Body".' Type:html (fetched with html_only):'.$bodyBUFFHtml);
734
+				}
609 735
 				$AltBody = $AltBody."</br>".$bodyBUFFHtml.$sigTextHtml;
610 736
 				$isreply = true;
611 737
 			}
@@ -614,8 +740,12 @@  discard block
 block discarded – undo
614 740
 			// if the new part of the message is html, we must preserve it, and handle that the original mail is text/plain
615 741
 			$bodyStruct = $this->mail->getMessageBody($uid,'never_display');//'never_display');
616 742
 			$bodyBUFF = $this->mail->getdisplayableBody($this->mail,$bodyStruct,false,false);
617
-			if ($bodyBUFF != "" && (is_array($bodyStruct) && $bodyStruct[0]['mimeType']=='text/plain')) {
618
-				if ($this->debugLevel>0) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."(".__LINE__.") MIME Body".' Type:plain (fetched with never_display):'.$bodyBUFF);
743
+			if ($bodyBUFF != "" && (is_array($bodyStruct) && $bodyStruct[0]['mimeType']=='text/plain'))
744
+			{
745
+				if ($this->debugLevel>0)
746
+				{
747
+					ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."(".__LINE__.") MIME Body".' Type:plain (fetched with never_display):'.$bodyBUFF);
748
+				}
619 749
 				$Body = $Body."\r\n".$bodyBUFF.$sigTextPlain;
620 750
 				$isreply = true;
621 751
 			}
@@ -623,7 +753,10 @@  discard block
 block discarded – undo
623 753
 			{
624 754
 				$isreply = true;
625 755
 				$AltBody = $AltBody."</br><pre>".nl2br($bodyBUFF).'</pre>'.$sigTextHtml;
626
-				if ($this->debugLevel>0) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__." no Api\Html Body found use modified plaintext body for txt/html: ".$AltBody);
756
+				if ($this->debugLevel>0)
757
+				{
758
+					ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__." no Api\Html Body found use modified plaintext body for txt/html: ".$AltBody);
759
+				}
627 760
 			}
628 761
 		}
629 762
 
@@ -637,11 +770,17 @@  discard block
 block discarded – undo
637 770
 			(isset($smartdata->replacemime) && $smartdata->replacemime == false)))
638 771
 		{
639 772
 			//force the default for the forwarding -> asmail
640
-			if (is_array($preferencesArray)) {
773
+			if (is_array($preferencesArray))
774
+			{
641 775
 				if (!array_key_exists('message_forwarding',$preferencesArray)
642 776
 					|| !isset($preferencesArray['message_forwarding'])
643
-					|| empty($preferencesArray['message_forwarding'])) $preferencesArray['message_forwarding'] = 'asmail';
644
-			} else {
777
+					|| empty($preferencesArray['message_forwarding']))
778
+				{
779
+					$preferencesArray['message_forwarding'] = 'asmail';
780
+				}
781
+			}
782
+			else
783
+			{
645 784
 				$preferencesArray['message_forwarding'] = 'asmail';
646 785
 			}
647 786
 			// construct the uid of the message out of the itemid - seems to be the uid, no construction needed
@@ -673,27 +812,44 @@  discard block
 block discarded – undo
673 812
 				$this->mail->reopen($folder);
674 813
 				$bodyStruct = $this->mail->getMessageBody($uid, 'html_only');
675 814
 				$bodyBUFFHtml = $this->mail->getdisplayableBody($this->mail,$bodyStruct,true,false);
676
-				if ($this->debugLevel>0) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.' html_only:'.$bodyBUFFHtml);
677
-				if ($bodyBUFFHtml != "" && (is_array($bodyStruct) && $bodyStruct[0]['mimeType']=='text/html')) {
815
+				if ($this->debugLevel>0)
816
+				{
817
+					ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.' html_only:'.$bodyBUFFHtml);
818
+				}
819
+				if ($bodyBUFFHtml != "" && (is_array($bodyStruct) && $bodyStruct[0]['mimeType']=='text/html'))
820
+				{
678 821
 					// may be html
679
-					if ($this->debugLevel>0) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."(".__LINE__.") MIME Body".' Type:html (fetched with html_only):'.$bodyBUFFHtml);
822
+					if ($this->debugLevel>0)
823
+					{
824
+						ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."(".__LINE__.") MIME Body".' Type:html (fetched with html_only):'.$bodyBUFFHtml);
825
+					}
680 826
 					$AltBody = $AltBody."</br>".$bodyBUFFHtml.$sigTextHtml;
681 827
 					$isforward = true;
682 828
 				}
683 829
 				// plain text Message part
684
-				if ($this->debugLevel>0) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."(".__LINE__.") MIME Body".' Type:plain, fetch text:');
830
+				if ($this->debugLevel>0)
831
+				{
832
+					ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."(".__LINE__.") MIME Body".' Type:plain, fetch text:');
833
+				}
685 834
 				// if the new part of the message is html, we must preserve it, and handle that the original mail is text/plain
686 835
 				$bodyStruct = $this->mail->getMessageBody($uid,'never_display');//'never_display');
687 836
 				$bodyBUFF = $this->mail->getdisplayableBody($this->mail,$bodyStruct,false,false);
688
-				if ($bodyBUFF != "" && (is_array($bodyStruct) && $bodyStruct[0]['mimeType']=='text/plain')) {
689
-					if ($this->debugLevel>0) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."(".__LINE__.") MIME Body".' Type:plain (fetched with never_display):'.$bodyBUFF);
837
+				if ($bodyBUFF != "" && (is_array($bodyStruct) && $bodyStruct[0]['mimeType']=='text/plain'))
838
+				{
839
+					if ($this->debugLevel>0)
840
+					{
841
+						ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."(".__LINE__.") MIME Body".' Type:plain (fetched with never_display):'.$bodyBUFF);
842
+					}
690 843
 					$Body = $Body."\r\n".$bodyBUFF.$sigTextPlain;
691 844
 					$isforward = true;
692 845
 				}
693 846
 				if (!empty($bodyBUFF) && empty($bodyBUFFHtml) && !empty($AltBody))
694 847
 				{
695 848
 					$AltBody = $AltBody."</br><pre>".nl2br($bodyBUFF).'</pre>'.$sigTextHtml;
696
-					if ($this->debugLevel>0) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__." no html Body found use modified plaintext body for txt/html: ".$AltBody);
849
+					if ($this->debugLevel>0)
850
+					{
851
+						ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__." no html Body found use modified plaintext body for txt/html: ".$AltBody);
852
+					}
697 853
 					$isforward = true;
698 854
 				}
699 855
 				// get all the attachments and add them too.
@@ -706,7 +862,10 @@  discard block
 block discarded – undo
706 862
 					ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.' gather Attachments for BodyCreation of/for MessageID:'.$uid.' found:'.count($attachments));
707 863
 					foreach((array)$attachments as $key => $attachment)
708 864
 					{
709
-						if ($this->debugLevel>0) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.' Key:'.$key.'->'.array2string($attachment));
865
+						if ($this->debugLevel>0)
866
+						{
867
+							ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.' Key:'.$key.'->'.array2string($attachment));
868
+						}
710 869
 						$attachmentNames .= $attachment['name']."\n";
711 870
 						$attachmentData	= $this->mail->getAttachment($uid, $attachment['partID'],0,false,false,$folder);
712 871
 						/*$x =*/ $mailObject->AddStringAttachment($attachmentData['attachment'], $attachment['name'], $attachment['mimeType']);
@@ -725,20 +884,29 @@  discard block
 block discarded – undo
725 884
 		// now set the body
726 885
 		if ($AltBody && ($html_body = $mailObject->findBody('html')))
727 886
 		{
728
-			if ($this->debugLevel>1) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.' -> '.$AltBody);
887
+			if ($this->debugLevel>1)
888
+			{
889
+				ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.' -> '.$AltBody);
890
+			}
729 891
 			//error_log(__METHOD__.__LINE__.' html:'.$AltBody);
730 892
 			$html_body->setContents($AltBody,array('encoding'=>Horde_Mime_Part::DEFAULT_ENCODING));
731 893
 		}
732 894
 		if ($Body && ($text_body = $mailObject->findBody('plain')))
733 895
 		{
734
-			if ($this->debugLevel>1) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.' -> '.$Body);
896
+			if ($this->debugLevel>1)
897
+			{
898
+				ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.' -> '.$Body);
899
+			}
735 900
 			//error_log(__METHOD__.__LINE__.' text:'.$Body);
736 901
 			$text_body->setContents($Body,array('encoding'=>Horde_Mime_Part::DEFAULT_ENCODING));
737 902
 		}
738 903
 		//advanced debugging
739 904
 		// Horde SMTP Class uses utf-8 by default.
740 905
         //ZLog::Write(LOGLEVEL_DEBUG, "IMAP-SendMail: parsed message: ". print_r($message,1));
741
-		if ($this->debugLevel>2) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."(".__LINE__."): MailObject:".array2string($mailObject));
906
+		if ($this->debugLevel>2)
907
+		{
908
+			ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."(".__LINE__."): MailObject:".array2string($mailObject));
909
+		}
742 910
 
743 911
 		// set a higher timeout for big messages
744 912
 		@set_time_limit(120);
@@ -765,7 +933,9 @@  discard block
 block discarded – undo
765 933
 			if ($this->mail->isDraftFolder($folder) && !$this->mail->isTemplateFolder($folder))
766 934
 			{
767 935
 				$this->mail->deleteMessages(array($uid),$folder);
768
-			} else {
936
+			}
937
+			else
938
+			{
769 939
 				$this->mail->flagMessages("answered", array($uid),$folder);
770 940
 				if ($smartdata_task== "forward")
771 941
 				{
@@ -779,7 +949,8 @@  discard block
 block discarded – undo
779 949
 		{
780 950
 			$asf = false;
781 951
 			$sentFolder = $this->mail->getSentFolder();
782
-			if ($this->_sentID) {
952
+			if ($this->_sentID)
953
+			{
783 954
 				$folderArray[] = $this->_sentID;
784 955
 			}
785 956
 			else if(isset($sentFolder) && $sentFolder != 'none')
@@ -793,28 +964,41 @@  discard block
 block discarded – undo
793 964
 				// we dont try guessing
794 965
 				$asf = true;
795 966
 			}
796
-			if (count($folderArray) > 0) {
797
-				foreach((array)$bccMailAddr as $address) {
798
-					foreach(Mail::parseAddressList((get_magic_quotes_gpc()?stripslashes($address):$address)) as $addressObject) {
967
+			if (count($folderArray) > 0)
968
+			{
969
+				foreach((array)$bccMailAddr as $address)
970
+				{
971
+					foreach(Mail::parseAddressList((get_magic_quotes_gpc()?stripslashes($address):$address)) as $addressObject)
972
+					{
799 973
 						$emailAddress = $addressObject->mailbox. ($addressObject->host ? '@'.$addressObject->host : '');
800 974
 						$mailAddr[] = array($emailAddress, $addressObject->personal);
801 975
 					}
802 976
 				}
803 977
 				//$BCCmail='';
804
-				if (count($mailAddr)>0) $mailObject->forceBccHeader();
978
+				if (count($mailAddr)>0)
979
+				{
980
+					$mailObject->forceBccHeader();
981
+				}
805 982
 				//$BCCmail = $mailObject->AddrAppend("Bcc",$mailAddr);
806
-				foreach($folderArray as $folderName) {
807
-					if($this->mail->isSentFolder($folderName)) {
983
+				foreach($folderArray as $folderName)
984
+				{
985
+					if($this->mail->isSentFolder($folderName))
986
+					{
808 987
 						$flags = '\\Seen';
809
-					} elseif($this->mail->isDraftFolder($folderName)) {
988
+					}
989
+					elseif($this->mail->isDraftFolder($folderName))
990
+					{
810 991
 						$flags = '\\Draft';
811
-					} else {
992
+					}
993
+					else
994
+					{
812 995
 						$flags = '';
813 996
 					}
814 997
 					$asf = true;
815 998
 					//ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.'->'.array2string($this->mail->icServer));
816 999
 					$this->mail->openConnection(self::$profileID,false);
817
-					if ($this->mail->folderExists($folderName)) {
1000
+					if ($this->mail->folderExists($folderName))
1001
+					{
818 1002
 						try
819 1003
 						{
820 1004
 							$this->mail->appendMessage($folderName,$mailObject->getRaw(), null,
@@ -872,17 +1056,26 @@  discard block
 block discarded – undo
872 1056
 		$bodypreference = $contentparameters->GetBodyPreference(); /* fmbiete's contribution r1528, ZP-320 */
873 1057
 
874 1058
 		// fix for z-push bug returning additional bodypreference type 4, even if only 1 is requested and mimessupport = 0
875
-		if (!$mimesupport && ($key = array_search('4', $bodypreference))) unset($bodypreference[$key]);
1059
+		if (!$mimesupport && ($key = array_search('4', $bodypreference)))
1060
+		{
1061
+			unset($bodypreference[$key]);
1062
+		}
876 1063
 
877 1064
 		//$this->debugLevel=4;
878
-		if (!isset($this->mail)) $this->mail = Mail::getInstance(false,self::$profileID,true,false,true);
1065
+		if (!isset($this->mail))
1066
+		{
1067
+			$this->mail = Mail::getInstance(false,self::$profileID,true,false,true);
1068
+		}
879 1069
 		ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.' FolderID:'.$folderid.' ID:'.$id.' TruncSize:'.$truncsize.' Bodypreference: '.array2string($bodypreference));
880 1070
 		$account = $_folderName = $xid = null;
881 1071
 		$this->splitID($folderid,$account,$_folderName,$xid);
882 1072
 		$this->mail->reopen($_folderName);
883 1073
 		$messages = $this->fetchMessages($folderid, NULL, $id, true);	// true: return all headers
884 1074
 		$headers = $messages[$id];
885
-		if ($this->debugLevel>3) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.array2string($headers));
1075
+		if ($this->debugLevel>3)
1076
+		{
1077
+			ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.array2string($headers));
1078
+		}
886 1079
 		// StatMessage should reopen the folder in question, so we dont need folderids in the following statements.
887 1080
 		if ($headers)
888 1081
 		{
@@ -892,16 +1085,25 @@  discard block
 block discarded – undo
892 1085
 			//$rawHeaders = $this->mail->getMessageRawHeader($id);
893 1086
 			// simple style
894 1087
 			// start AS12 Stuff (bodypreference === false) case = old behaviour
895
-			if ($this->debugLevel>0) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__. ' for message with ID:'.$id.' with headers:'.array2string($headers));
1088
+			if ($this->debugLevel>0)
1089
+			{
1090
+				ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__. ' for message with ID:'.$id.' with headers:'.array2string($headers));
1091
+			}
896 1092
 
897
-			if ($bodypreference === false) {
1093
+			if ($bodypreference === false)
1094
+			{
898 1095
 				$bodyStruct = $this->mail->getMessageBody($id, 'only_if_no_text', '', null, true,$_folderName);
899 1096
 				$raw_body = $this->mail->getdisplayableBody($this->mail,$bodyStruct,false,false);
900 1097
 				//$body = html_entity_decode($body,ENT_QUOTES,$this->mail->detect_encoding($body));
901
-				if (stripos($raw_body,'<style')!==false) $body = preg_replace("/<style.*?<\/style>/is", "", $raw_body); // in case there is only a html part
1098
+				if (stripos($raw_body,'<style')!==false)
1099
+				{
1100
+					$body = preg_replace("/<style.*?<\/style>/is", "", $raw_body);
1101
+				}
1102
+				// in case there is only a html part
902 1103
 				// remove all other html
903 1104
 				$body = strip_tags($raw_body);
904
-				if(strlen($body) > $truncsize) {
1105
+				if(strlen($body) > $truncsize)
1106
+				{
905 1107
 					$body = Utils::Utf8_truncate($body, $truncsize);
906 1108
 					$output->bodytruncated = 1;
907 1109
 				}
@@ -916,7 +1118,8 @@  discard block
 block discarded – undo
916 1118
 			{
917 1119
 				//Select body type preference
918 1120
 				$bpReturnType = 1;//SYNC_BODYPREFERENCE_PLAIN;
919
-				if ($bodypreference !== false) {
1121
+				if ($bodypreference !== false)
1122
+				{
920 1123
 					// bodypreference can occur multiple times
921 1124
 					// usually we would use Utils::GetBodyPreferenceBestMatch($bodypreference);
922 1125
 					$bpReturnType = Utils::GetBodyPreferenceBestMatch($bodypreference);
@@ -950,25 +1153,49 @@  discard block
 block discarded – undo
950 1153
 					// fetch the body (try to gather data only once)
951 1154
 					$css ='';
952 1155
 					$bodyStruct = $this->mail->getMessageBody($id, 'html_only', '', null, true,$_folderName);
953
-					if ($this->debugLevel>2) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.' html_only Struct:'.array2string($bodyStruct));
1156
+					if ($this->debugLevel>2)
1157
+					{
1158
+						ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.' html_only Struct:'.array2string($bodyStruct));
1159
+					}
954 1160
 					$body = $this->mail->getdisplayableBody($this->mail,$bodyStruct,true,false);
955
-					if ($this->debugLevel>3) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.' html_only:'.$body);
956
-					if ($body != "" && (is_array($bodyStruct) && $bodyStruct[0]['mimeType']=='text/html')) {
1161
+					if ($this->debugLevel>3)
1162
+					{
1163
+						ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.' html_only:'.$body);
1164
+					}
1165
+					if ($body != "" && (is_array($bodyStruct) && $bodyStruct[0]['mimeType']=='text/html'))
1166
+					{
957 1167
 						// may be html
958
-						if ($this->debugLevel>0) ZLog::Write(LOGLEVEL_DEBUG, "MIME Body".' Type:html (fetched with html_only)');
1168
+						if ($this->debugLevel>0)
1169
+						{
1170
+							ZLog::Write(LOGLEVEL_DEBUG, "MIME Body".' Type:html (fetched with html_only)');
1171
+						}
959 1172
 						$css = $this->mail->getStyles($bodyStruct);
960 1173
 						$output->nativebodytype=2;
961
-					} else {
1174
+					}
1175
+					else
1176
+					{
962 1177
 						// plain text Message
963
-						if ($this->debugLevel>0) ZLog::Write(LOGLEVEL_DEBUG, "MIME Body".' Type:plain, fetch text (HTML, if no text available)');
1178
+						if ($this->debugLevel>0)
1179
+						{
1180
+							ZLog::Write(LOGLEVEL_DEBUG, "MIME Body".' Type:plain, fetch text (HTML, if no text available)');
1181
+						}
964 1182
 						$output->nativebodytype=1;
965 1183
 						$bodyStruct = $this->mail->getMessageBody($id,'never_display', '', null, true,$_folderName); //'only_if_no_text');
966
-						if ($this->debugLevel>3) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.' plain text Struct:'.array2string($bodyStruct));
1184
+						if ($this->debugLevel>3)
1185
+						{
1186
+							ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.' plain text Struct:'.array2string($bodyStruct));
1187
+						}
967 1188
 						$body = $this->mail->getdisplayableBody($this->mail,$bodyStruct,false,false);
968
-						if ($this->debugLevel>3) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.' never display html(plain text only):'.$body);
1189
+						if ($this->debugLevel>3)
1190
+						{
1191
+							ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.' never display html(plain text only):'.$body);
1192
+						}
969 1193
 					}
970 1194
 					// whatever format decode (using the correct encoding)
971
-					if ($this->debugLevel>3) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__."MIME Body".' Type:'.($output->nativebodytype==2?' html ':' plain ').$body);
1195
+					if ($this->debugLevel>3)
1196
+					{
1197
+						ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__."MIME Body".' Type:'.($output->nativebodytype==2?' html ':' plain ').$body);
1198
+					}
972 1199
 					//$body = html_entity_decode($body,ENT_QUOTES,$this->mail->detect_encoding($body));
973 1200
 					// prepare plaintextbody
974 1201
 					$plainBody='';
@@ -989,12 +1216,18 @@  discard block
 block discarded – undo
989 1216
 					// remove all other html
990 1217
 					$plainBody = preg_replace("/<br.*>/is","\r\n",$plainBody);
991 1218
 					$plainBody = strip_tags($plainBody);
992
-					if ($this->debugLevel>3 && $output->nativebodytype==1) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.' Plain Text:'.$plainBody);
1219
+					if ($this->debugLevel>3 && $output->nativebodytype==1)
1220
+					{
1221
+						ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.' Plain Text:'.$plainBody);
1222
+					}
993 1223
 					//$body = str_replace("\n","\r\n", str_replace("\r","",$body)); // do we need that?
994 1224
 
995
-					if ($bpReturnType==2) //SYNC_BODYPREFERENCE_HTML
1225
+					if ($bpReturnType==2)
1226
+					{
1227
+						//SYNC_BODYPREFERENCE_HTML
996 1228
 					{
997 1229
 						if ($this->debugLevel>0) ZLog::Write(LOGLEVEL_DEBUG, "HTML Body with requested pref 2");
1230
+					}
998 1231
 						// Send HTML if requested and native type was html
999 1232
 						$output->asbody->type = 2;
1000 1233
 						$htmlbody = '<html>'.
@@ -1006,7 +1239,10 @@  discard block
 block discarded – undo
1006 1239
 							'<body>';
1007 1240
 						if ($output->nativebodytype==2)
1008 1241
 						{
1009
-							if ($css) Api\Mail\Html::replaceTagsCompletley($body,'style');
1242
+							if ($css)
1243
+							{
1244
+								Api\Mail\Html::replaceTagsCompletley($body,'style');
1245
+							}
1010 1246
 							// as we fetch html, and body is HTML, we may not need to handle this
1011 1247
 							$htmlbody .= $body;
1012 1248
 						}
@@ -1031,7 +1267,10 @@  discard block
 block discarded – undo
1031 1267
 					else
1032 1268
 					{
1033 1269
 						// Send Plaintext as Fallback or if original body is plainttext
1034
-						if ($this->debugLevel>0) ZLog::Write(LOGLEVEL_DEBUG, "Plaintext Body:".$plainBody);
1270
+						if ($this->debugLevel>0)
1271
+						{
1272
+							ZLog::Write(LOGLEVEL_DEBUG, "Plaintext Body:".$plainBody);
1273
+						}
1035 1274
 						/* we use plainBody (set above) instead
1036 1275
 						$bodyStruct = $this->mail->getMessageBody($id,'only_if_no_text'); //'never_display');
1037 1276
 						$plain = $this->mail->getdisplayableBody($this->mail,$bodyStruct);
@@ -1068,7 +1307,9 @@  discard block
 block discarded – undo
1068 1307
 			{
1069 1308
 				$output->flag->flagstatus = 2;
1070 1309
 				//$output->flag->flagtype = "Flag for Follow up";
1071
-			} else {
1310
+			}
1311
+			else
1312
+			{
1072 1313
 				$output->flag->flagstatus = 0;
1073 1314
 			}
1074 1315
 			if ($headers['answered'])
@@ -1084,10 +1325,20 @@  discard block
 block discarded – undo
1084 1325
 				($headers['priority'] < 3 ? 2 : 1) ;
1085 1326
 			$output->datereceived = $this->mail->_strtotime($headers['date'],'ts',true);
1086 1327
 			$output->to = $headers['to_address'];
1087
-			if ($headers['to']) $output->displayto = $headers['to_address']; //$headers['FETCHED_HEADER']['to_name']
1328
+			if ($headers['to'])
1329
+			{
1330
+				$output->displayto = $headers['to_address'];
1331
+			}
1332
+			//$headers['FETCHED_HEADER']['to_name']
1088 1333
 			$output->from = $headers['sender_address'];
1089
-			if (isset($headers['cc_addresses']) && $headers['cc_addresses']) $output->cc = $headers['cc_addresses'];
1090
-			if (isset($headers['reply_to_address']) && $headers['reply_to_address']) $output->reply_to = $headers['reply_to_address'];
1334
+			if (isset($headers['cc_addresses']) && $headers['cc_addresses'])
1335
+			{
1336
+				$output->cc = $headers['cc_addresses'];
1337
+			}
1338
+			if (isset($headers['reply_to_address']) && $headers['reply_to_address'])
1339
+			{
1340
+				$output->reply_to = $headers['reply_to_address'];
1341
+			}
1091 1342
 
1092 1343
 			$output->messageclass = "IPM.Note";
1093 1344
 			if (stripos($headers['mimetype'],'multipart')!== false &&
@@ -1095,7 +1346,8 @@  discard block
 block discarded – undo
1095 1346
 			{
1096 1347
 				$output->messageclass = "IPM.Note.SMIME.MultipartSigned";
1097 1348
 			}
1098
-			if (Request::GetProtocolVersion() >= 12.0) {
1349
+			if (Request::GetProtocolVersion() >= 12.0)
1350
+			{
1099 1351
 				$output->contentclass = "urn:content-classes:message";
1100 1352
 			}
1101 1353
 
@@ -1108,7 +1360,10 @@  discard block
 block discarded – undo
1108 1360
 				//error_log(__METHOD__.__LINE__.array2string($attachments));
1109 1361
 				foreach ($attachments as $key => $attach)
1110 1362
 				{
1111
-					if ($this->debugLevel>0) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.' Key:'.$key.'->'.array2string($attach));
1363
+					if ($this->debugLevel>0)
1364
+					{
1365
+						ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.' Key:'.$key.'->'.array2string($attach));
1366
+					}
1112 1367
 
1113 1368
 					// pass meeting requests to calendar plugin
1114 1369
 					if (strtolower($attach['mimeType']) == 'text/calendar' && strtolower($attach['method']) == 'request' &&
@@ -1125,17 +1380,24 @@  discard block
 block discarded – undo
1125 1380
 						unset($attachment);
1126 1381
 						continue;	// do NOT add attachment as attachment
1127 1382
 					}
1128
-					if (Request::GetProtocolVersion() >= 12.0) {
1383
+					if (Request::GetProtocolVersion() >= 12.0)
1384
+					{
1129 1385
 						$attachment = new SyncBaseAttachment();
1130 1386
 						if (!isset($output->asattachments) || !is_array($output->asattachments))
1131
-							$output->asattachments = array();
1387
+						{
1388
+													$output->asattachments = array();
1389
+						}
1132 1390
 						$attachment->estimatedDataSize = $attach['size'];
1133 1391
 						$attachment->method = 1;
1134 1392
 						$attachment->filereference = $folderid . ":" . $id . ":" . $attach['partID'];
1135
-					} else {
1393
+					}
1394
+					else
1395
+					{
1136 1396
 						$attachment = new SyncAttachment();
1137 1397
 						if (!isset($output->attachments) || !is_array($output->attachments))
1138
-							$output->attachments = array();
1398
+						{
1399
+													$output->attachments = array();
1400
+						}
1139 1401
 						$attachment->attsize = $attach['size'];
1140 1402
 						$attachment->attmethod = 1;
1141 1403
 						$attachment->attname = $folderid . ":" . $id . ":" . $attach['partID'];//$key;
@@ -1152,10 +1414,13 @@  discard block
 block discarded – undo
1152 1414
 						{
1153 1415
 							$attachment->isinline = true;
1154 1416
 						}
1155
-						if (Request::GetProtocolVersion() >= 12.0) {
1417
+						if (Request::GetProtocolVersion() >= 12.0)
1418
+						{
1156 1419
 							$attachment->method=1;
1157 1420
 							$attachment->contentid= str_replace(array("<",">"), "",$attach['cid']);
1158
-						} else {
1421
+						}
1422
+						else
1423
+						{
1159 1424
 							$attachment->attmethod=6;
1160 1425
 							$attachment->attoid = str_replace(array("<",">"), "",$attach['cid']);
1161 1426
 						}
@@ -1163,9 +1428,12 @@  discard block
 block discarded – undo
1163 1428
 						$attachment->contenttype = trim($attach['mimeType']);
1164 1429
 						//	ZLog::Write(LOGLEVEL_DEBUG, "'".$part->headers['content-type']."'  ".$attachment->contentid);
1165 1430
 					}
1166
-					if (Request::GetProtocolVersion() >= 12.0) {
1431
+					if (Request::GetProtocolVersion() >= 12.0)
1432
+					{
1167 1433
 						array_push($output->asattachments, $attachment);
1168
-					} else {
1434
+					}
1435
+					else
1436
+					{
1169 1437
 						array_push($output->attachments, $attachment);
1170 1438
 					}
1171 1439
 					unset($attachment);
@@ -1178,8 +1446,11 @@  discard block
 block discarded – undo
1178 1446
             // Language Code Page ID: http://msdn.microsoft.com/en-us/library/windows/desktop/dd317756%28v=vs.85%29.aspx
1179 1447
             $output->internetcpid = INTERNET_CPID_UTF8;
1180 1448
 
1181
-			if ($this->debugLevel>3) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.array2string($output));
1182
-//$this->debugLevel=0;
1449
+			if ($this->debugLevel>3)
1450
+			{
1451
+				ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.array2string($output));
1452
+			}
1453
+			//$this->debugLevel=0;
1183 1454
 			return $output;
1184 1455
 		}
1185 1456
 //$this->debugLevel=0;
@@ -1238,7 +1509,8 @@  discard block
 block discarded – undo
1238 1509
      * @param string $attname - should contain (folder)id
1239 1510
 	 * @return SyncItemOperationsAttachment-object
1240 1511
 	 */
1241
-	function GetAttachmentData($fid,$attname) {
1512
+	function GetAttachmentData($fid,$attname)
1513
+	{
1242 1514
 		ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.": $fid (attname: '$attname')");
1243 1515
 		return $this->_GetAttachmentData($fid,$attname);
1244 1516
 	}
@@ -1253,7 +1525,8 @@  discard block
 block discarded – undo
1253 1525
      * @param string $attname - should contain (folder)id
1254 1526
 	 * @return SyncItemOperationsAttachment-object
1255 1527
 	 */
1256
-	function ItemOperationsGetAttachmentData($fid,$attname) {
1528
+	function ItemOperationsGetAttachmentData($fid,$attname)
1529
+	{
1257 1530
 		ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.": $fid (attname: '$attname')");
1258 1531
 		return $this->_GetAttachmentData($fid,$attname);
1259 1532
 	}
@@ -1275,7 +1548,10 @@  discard block
 block discarded – undo
1275 1548
 
1276 1549
 		$this->splitID($folderid, $account, $folder);
1277 1550
 
1278
-		if (!isset($this->mail)) $this->mail = Mail::getInstance(false,self::$profileID,true,false,true);
1551
+		if (!isset($this->mail))
1552
+		{
1553
+			$this->mail = Mail::getInstance(false,self::$profileID,true,false,true);
1554
+		}
1279 1555
 
1280 1556
 		$this->mail->reopen($folder);
1281 1557
 		$attachment = $this->mail->getAttachment($id,$part,0,false,true,$folder);
@@ -1284,7 +1560,9 @@  discard block
 block discarded – undo
1284 1560
 		$SIOattachment->data = $attachment['attachment'];
1285 1561
 		//ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.": $fid (attname: '$attname') Data:".$attachment['attachment']);
1286 1562
 		if (isset($attachment['type']) )
1287
-			$SIOattachment->contenttype = $attachment['type'];
1563
+		{
1564
+					$SIOattachment->contenttype = $attachment['type'];
1565
+		}
1288 1566
 
1289 1567
 		unset($attachment);
1290 1568
 
@@ -1330,11 +1608,15 @@  discard block
 block discarded – undo
1330 1608
 		//unset($folderid, $id, $message, $contentParameters);
1331 1609
 		$account = $folder = null;
1332 1610
 		$this->splitID($folderid, $account, $folder);
1333
-		if (isset($message->flag)) {
1334
-			if (isset($message->flag->flagstatus) && $message->flag->flagstatus == 2) {
1611
+		if (isset($message->flag))
1612
+		{
1613
+			if (isset($message->flag->flagstatus) && $message->flag->flagstatus == 2)
1614
+			{
1335 1615
 				$rv = $this->mail->flagMessages((($message->flag->flagstatus == 2) ? "flagged" : "unflagged"), $id,$folder);
1336 1616
 				ZLog::Write(LOGLEVEL_DEBUG,__METHOD__." -> set ".array2string($id).' in Folder '.$folder." as " . (($message->flag->flagstatus == 2) ? "flagged" : "unflagged") . "-->". $rv);
1337
-			} else {
1617
+			}
1618
+			else
1619
+			{
1338 1620
 				$rv = $this->mail->flagMessages("unflagged", $id,$folder);
1339 1621
 				ZLog::Write(LOGLEVEL_DEBUG,__METHOD__." -> set ".array2string($id).' in Folder '.$folder." as " . "unflagged" . "-->". $rv);
1340 1622
 			}
@@ -1364,7 +1646,10 @@  discard block
 block discarded – undo
1364 1646
 		$this->splitID($folderid, $account, $srcFolder);
1365 1647
 		$this->splitID($newfolderid, $account, $destFolder);
1366 1648
 		ZLog::Write(LOGLEVEL_DEBUG, "IMAP-MoveMessage: (SourceFolder: '$srcFolder'  id: '$id'  DestFolder: '$destFolder' )");
1367
-		if (!isset($this->mail)) $this->mail = Mail::getInstance(false,self::$profileID,true,false,true);
1649
+		if (!isset($this->mail))
1650
+		{
1651
+			$this->mail = Mail::getInstance(false,self::$profileID,true,false,true);
1652
+		}
1368 1653
 		$this->mail->reopen($destFolder);
1369 1654
 		$status = $this->mail->getFolderStatus($destFolder);
1370 1655
 		$uidNext = $status['uidnext'];
@@ -1396,7 +1681,10 @@  discard block
 block discarded – undo
1396 1681
 				$maximumSyncRangeInDays = $GLOBALS['egw_info']['user']['preferences']['activesync']['mail-maximumSyncRange'];
1397 1682
 			}
1398 1683
 			$cutoffdate = (is_numeric($maximumSyncRangeInDays) ? Api\DateTime::to('now','ts')-(3600*24*$maximumSyncRangeInDays):null);
1399
-			if (is_numeric($maximumSyncRangeInDays)) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.' Client set no truncationdate. Using '.$maximumSyncRangeInDays.' days.'.date("d-M-Y", $cutoffdate));
1684
+			if (is_numeric($maximumSyncRangeInDays))
1685
+			{
1686
+				ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.' Client set no truncationdate. Using '.$maximumSyncRangeInDays.' days.'.date("d-M-Y", $cutoffdate));
1687
+			}
1400 1688
 		}
1401 1689
 		return $this->fetchMessages($folderid, $cutoffdate);
1402 1690
 	}
@@ -1418,7 +1706,10 @@  discard block
 block discarded – undo
1418 1706
 	{
1419 1707
 		static $headers = array();
1420 1708
 
1421
-		if ($this->debugLevel>1) $gstarttime = microtime (true);
1709
+		if ($this->debugLevel>1)
1710
+		{
1711
+			$gstarttime = microtime (true);
1712
+		}
1422 1713
 		//ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__);
1423 1714
 		$rv_messages = array();
1424 1715
 		// if the message is still available within the class, we use it instead of fetching it again
@@ -1431,7 +1722,10 @@  discard block
 block discarded – undo
1431 1722
 		{
1432 1723
 			$headers = array();	// clear cache to not use too much memory
1433 1724
 
1434
-			if ($this->debugLevel>1) $starttime = microtime (true);
1725
+			if ($this->debugLevel>1)
1726
+			{
1727
+				$starttime = microtime (true);
1728
+			}
1435 1729
 			$this->_connect($this->account);
1436 1730
 			if ($this->debugLevel>1)
1437 1731
 			{
@@ -1440,8 +1734,14 @@  discard block
 block discarded – undo
1440 1734
 			}
1441 1735
 			$messagelist = $_filter = array();
1442 1736
 			// if not connected, any further action must fail
1443
-			if (!empty($cutoffdate)) $_filter = array('status'=>array('UNDELETED'),'range'=>"SINCE",'date'=> date("d-M-Y", $cutoffdate));
1444
-			if ($this->debugLevel>1) $starttime = microtime (true);
1737
+			if (!empty($cutoffdate))
1738
+			{
1739
+				$_filter = array('status'=>array('UNDELETED'),'range'=>"SINCE",'date'=> date("d-M-Y", $cutoffdate));
1740
+			}
1741
+			if ($this->debugLevel>1)
1742
+			{
1743
+				$starttime = microtime (true);
1744
+			}
1445 1745
 			$account = $_folderName = $id = null;
1446 1746
 			$this->splitID($folderid,$account,$_folderName,$id);
1447 1747
 			if ($this->debugLevel>1)
@@ -1449,8 +1749,14 @@  discard block
 block discarded – undo
1449 1749
 				$endtime = microtime(true) - $starttime;
1450 1750
 				ZLog::Write(LOGLEVEL_DEBUG,__METHOD__. " splitID took : ".$endtime.' for FolderID:'.$folderid);
1451 1751
 			}
1452
-			if ($this->debugLevel>1) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.' for Folder:'.$_folderName.' Filter:'.array2string($_filter).' Ids:'.array2string($_id).'/'.$id);
1453
-			if ($this->debugLevel>1) $starttime = microtime (true);
1752
+			if ($this->debugLevel>1)
1753
+			{
1754
+				ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.' for Folder:'.$_folderName.' Filter:'.array2string($_filter).' Ids:'.array2string($_id).'/'.$id);
1755
+			}
1756
+			if ($this->debugLevel>1)
1757
+			{
1758
+				$starttime = microtime (true);
1759
+			}
1454 1760
 			$_numberOfMessages = (empty($cutoffdate)?250:99999);
1455 1761
 			$rv_messages = $this->mail->getHeaders($_folderName, $_startMessage=1, $_numberOfMessages, $_sort=0, $_reverse=false, $_filter, $_id);
1456 1762
 			if ($this->debugLevel>1)
@@ -1459,27 +1765,56 @@  discard block
 block discarded – undo
1459 1765
 				ZLog::Write(LOGLEVEL_DEBUG,__METHOD__. " getHeaders call took : ".$endtime.' for FolderID:'.$_folderName);
1460 1766
 			}
1461 1767
 		}
1462
-		if ($_id == NULL && $this->debugLevel>1)  ZLog::Write(LOGLEVEL_DEBUG,__METHOD__." found :". count($rv_messages['header']));
1768
+		if ($_id == NULL && $this->debugLevel>1)
1769
+		{
1770
+			ZLog::Write(LOGLEVEL_DEBUG,__METHOD__." found :". count($rv_messages['header']));
1771
+		}
1463 1772
 		//ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.' Result:'.array2string($rv_messages));
1464 1773
 		$messagelist = array();
1465
-		if (!isset($rv_messages['header'])||empty($rv_messages['header'])) return $messagelist;
1774
+		if (!isset($rv_messages['header'])||empty($rv_messages['header']))
1775
+		{
1776
+			return $messagelist;
1777
+		}
1466 1778
 		//if ($_returnModHash) $messageFolderHash = array();
1467 1779
 		foreach ((array)$rv_messages['header'] as $k => $vars)
1468 1780
 		{
1469
-			if ($this->debugLevel>3) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.' ID to process:'.$vars['uid'].' Subject:'.$vars['subject']);
1781
+			if ($this->debugLevel>3)
1782
+			{
1783
+				ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.' ID to process:'.$vars['uid'].' Subject:'.$vars['subject']);
1784
+			}
1470 1785
 			$headers[$vars['uid']] = $vars;
1471
-			if ($this->debugLevel>3) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.' MailID:'.$k.'->'.array2string($vars));
1472
-			if (!empty($vars['deleted'])) continue; // cut of deleted messages
1473
-			if ($cutoffdate && $vars['date'] < $cutoffdate) continue; // message is out of range for cutoffdate, ignore it
1474
-			if ($this->debugLevel>0) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.' ID to report:'.$vars['uid'].' Subject:'.$vars['subject']);
1786
+			if ($this->debugLevel>3)
1787
+			{
1788
+				ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.' MailID:'.$k.'->'.array2string($vars));
1789
+			}
1790
+			if (!empty($vars['deleted']))
1791
+			{
1792
+				continue;
1793
+			}
1794
+			// cut of deleted messages
1795
+			if ($cutoffdate && $vars['date'] < $cutoffdate)
1796
+			{
1797
+				continue;
1798
+			}
1799
+			// message is out of range for cutoffdate, ignore it
1800
+			if ($this->debugLevel>0)
1801
+			{
1802
+				ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.' ID to report:'.$vars['uid'].' Subject:'.$vars['subject']);
1803
+			}
1475 1804
 			$mess = $return_all_headers ? $vars : array();
1476 1805
 			$mess["mod"] = self::doFlagsMod($vars).$vars['date'];
1477 1806
 			$mess["id"] = $vars['uid'];
1478 1807
 			// 'seen' aka 'read' is the only flag we want to know about
1479 1808
 			$mess["flags"] = 0;
1480 1809
 			// outlook supports additional flags, set them to 0
1481
-			if($vars["seen"]) $mess["flags"] = 1;
1482
-			if ($this->debugLevel>3) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.array2string($mess));
1810
+			if($vars["seen"])
1811
+			{
1812
+				$mess["flags"] = 1;
1813
+			}
1814
+			if ($this->debugLevel>3)
1815
+			{
1816
+				ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.array2string($mess));
1817
+			}
1483 1818
 			$messagelist[$vars['uid']] = $mess;
1484 1819
 			unset($mess);
1485 1820
 		}
@@ -1504,9 +1839,18 @@  discard block
 block discarded – undo
1504 1839
 	static function doFlagsMod($headerFlags)
1505 1840
 	{
1506 1841
 		$flags = 'nnn';
1507
-		if ($headerFlags['flagged']) $flags[0] = 'f';
1508
-		if ($headerFlags['answered']) $flags[1] = 'a';
1509
-		if ($headerFlags['forwarded']) $flags[2] = 'f';
1842
+		if ($headerFlags['flagged'])
1843
+		{
1844
+			$flags[0] = 'f';
1845
+		}
1846
+		if ($headerFlags['answered'])
1847
+		{
1848
+			$flags[1] = 'a';
1849
+		}
1850
+		if ($headerFlags['forwarded'])
1851
+		{
1852
+			$flags[2] = 'f';
1853
+		}
1510 1854
 		//ZLog::Write(LOGLEVEL_DEBUG, __METHOD__.'('.array2string($headerFlags).') returning '.array2string($flags));
1511 1855
 		return $flags;
1512 1856
 	}
@@ -1538,31 +1882,55 @@  discard block
 block discarded – undo
1538 1882
 	{
1539 1883
 		//$this->debugLevel=1;
1540 1884
 		$searchquery=$_searchquery->GetDataArray();
1541
-		if (!is_array($searchquery)) return array();
1542
-		if ($this->debugLevel>0) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.array2string($searchquery));
1885
+		if (!is_array($searchquery))
1886
+		{
1887
+			return array();
1888
+		}
1889
+		if ($this->debugLevel>0)
1890
+		{
1891
+			ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.array2string($searchquery));
1892
+		}
1543 1893
 
1544
-		if (isset($searchquery['searchrebuildresults'])) {
1894
+		if (isset($searchquery['searchrebuildresults']))
1895
+		{
1545 1896
 			$rebuildresults = $searchquery['searchrebuildresults'];
1546
-		} else {
1897
+		}
1898
+		else
1899
+		{
1547 1900
 			$rebuildresults = false;
1548 1901
 		}
1549
-		if ($this->debugLevel>0) ZLog::Write(LOGLEVEL_DEBUG,  'RebuildResults ['.$rebuildresults.']' );
1902
+		if ($this->debugLevel>0)
1903
+		{
1904
+			ZLog::Write(LOGLEVEL_DEBUG,  'RebuildResults ['.$rebuildresults.']' );
1905
+		}
1550 1906
 
1551
-		if (isset($searchquery['deeptraversal'])) {
1907
+		if (isset($searchquery['deeptraversal']))
1908
+		{
1552 1909
 			$deeptraversal = $searchquery['deeptraversal'];
1553
-		} else {
1910
+		}
1911
+		else
1912
+		{
1554 1913
 			$deeptraversal = false;
1555 1914
 		}
1556
-		if ($this->debugLevel>0) ZLog::Write(LOGLEVEL_DEBUG,  'DeepTraversal ['.$deeptraversal.']' );
1915
+		if ($this->debugLevel>0)
1916
+		{
1917
+			ZLog::Write(LOGLEVEL_DEBUG,  'DeepTraversal ['.$deeptraversal.']' );
1918
+		}
1557 1919
 
1558
-		if (isset($searchquery['searchrange'])) {
1920
+		if (isset($searchquery['searchrange']))
1921
+		{
1559 1922
 			$range = explode("-",$_searchquery->GetSearchRange());
1560 1923
 			$start =$range[0] + 1;
1561 1924
 			$limit = $range[1] - $range[0] + 1;
1562
-		} else {
1925
+		}
1926
+		else
1927
+		{
1563 1928
 			$range = false;
1564 1929
 		}
1565
-		if ($this->debugLevel>0) ZLog::Write(LOGLEVEL_DEBUG,  'Range ['.print_r($range, true).']' );
1930
+		if ($this->debugLevel>0)
1931
+		{
1932
+			ZLog::Write(LOGLEVEL_DEBUG,  'Range ['.print_r($range, true).']' );
1933
+		}
1566 1934
 
1567 1935
 		//foreach($searchquery['query'] as $k => $value) {
1568 1936
 		//	$query = $value;
@@ -1614,7 +1982,10 @@  discard block
 block discarded – undo
1614 1982
 			$_filter['since'] = date("d-M-Y", Api\DateTime::to($sincedate,'ts'));
1615 1983
 		}
1616 1984
 		//$_filter[] = array('type'=>"SINCE",'string'=> date("d-M-Y", $cutoffdate));
1617
-		if ($this->debugLevel>1) ZLog::Write(LOGLEVEL_DEBUG, __METHOD__.' for Folder:'.$_folderName.' Filter:'.array2string($_filter));
1985
+		if ($this->debugLevel>1)
1986
+		{
1987
+			ZLog::Write(LOGLEVEL_DEBUG, __METHOD__.' for Folder:'.$_folderName.' Filter:'.array2string($_filter));
1988
+		}
1618 1989
 		$rv_messages = $this->mail->getHeaders($_folderName, $_startMessage=($range?$start:1), $_numberOfMessages=($limit?$limit:9999999), $_sort=0, $_reverse=false, $_filter, $_id=NULL);
1619 1990
 		//ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.array2string($rv_messages));
1620 1991
 		$list=array();
@@ -1646,17 +2017,26 @@  discard block
 block discarded – undo
1646 2017
 	private function getParentID($account,$folder)
1647 2018
 	{
1648 2019
 		$this->_connect($account);
1649
-		if (!isset($this->folders)) $this->folders = $this->mail->getFolderObjects(true,false);
2020
+		if (!isset($this->folders))
2021
+		{
2022
+			$this->folders = $this->mail->getFolderObjects(true,false);
2023
+		}
1650 2024
 
1651 2025
 		$mailFolder = $this->folders[$folder];
1652
-		if (!isset($mailFolder)) return false;
2026
+		if (!isset($mailFolder))
2027
+		{
2028
+			return false;
2029
+		}
1653 2030
 		$delimiter = (isset($mailFolder->delimiter)?$mailFolder->delimiter:$this->mail->getHierarchyDelimiter());
1654 2031
 		$parent = explode($delimiter,$folder);
1655 2032
 		array_pop($parent);
1656 2033
 		$parent = implode($delimiter,$parent);
1657 2034
 
1658 2035
 		$id = $parent && $this->folders[$parent] ? $this->createID($account, $parent) : '0';
1659
-		if ($this->debugLevel>1) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."('$folder') --> parent=$parent --> $id");
2036
+		if ($this->debugLevel>1)
2037
+		{
2038
+			ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."('$folder') --> parent=$parent --> $id");
2039
+		}
1660 2040
 		return $id;
1661 2041
 	}
1662 2042
 
@@ -1670,7 +2050,10 @@  discard block
 block discarded – undo
1670 2050
 	{
1671 2051
 		static $last_id = null;
1672 2052
 		static $folderObj = null;
1673
-		if (isset($last_id) && $last_id === $id) return $folderObj;
2053
+		if (isset($last_id) && $last_id === $id)
2054
+		{
2055
+			return $folderObj;
2056
+		}
1674 2057
 
1675 2058
 		try {
1676 2059
 			$account = $folder = null;
@@ -1681,18 +2064,30 @@  discard block
 block discarded – undo
1681 2064
 			return $folderObj=false;
1682 2065
 		}
1683 2066
 		$this->_connect($account);
1684
-		if (!isset($this->folders)) $this->folders = $this->mail->getFolderObjects(true,false);
2067
+		if (!isset($this->folders))
2068
+		{
2069
+			$this->folders = $this->mail->getFolderObjects(true,false);
2070
+		}
1685 2071
 
1686 2072
 		$mailFolder = $this->folders[$folder];
1687
-		if (!isset($mailFolder)) return $folderObj=false;
2073
+		if (!isset($mailFolder))
2074
+		{
2075
+			return $folderObj=false;
2076
+		}
1688 2077
 
1689 2078
 		$folderObj = new SyncFolder();
1690 2079
 		$folderObj->serverid = $id;
1691 2080
 		$folderObj->parentid = $this->getParentID($account,$folder);
1692 2081
 		$folderObj->displayname = $mailFolder->shortDisplayName;
1693
-		if ($this->debugLevel>1) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__." ID: $id, Account:$account, Folder:$folder");
2082
+		if ($this->debugLevel>1)
2083
+		{
2084
+			ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__." ID: $id, Account:$account, Folder:$folder");
2085
+		}
1694 2086
 		// get folder-type
1695
-		foreach($this->folders as $inbox => $mailFolder) break;
2087
+		foreach($this->folders as $inbox => $mailFolder)
2088
+		{
2089
+			break;
2090
+		}
1696 2091
 		if ($folder == $inbox)
1697 2092
 		{
1698 2093
 			$folderObj->type = SYNC_FOLDER_TYPE_INBOX;
@@ -1729,7 +2124,10 @@  discard block
 block discarded – undo
1729 2124
 			$folderObj->type = SYNC_FOLDER_TYPE_USER_MAIL;
1730 2125
 		}
1731 2126
 
1732
-		if ($this->debugLevel>1) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."($id) --> $folder --> type=$folderObj->type, parentID=$folderObj->parentid, displayname=$folderObj->displayname");
2127
+		if ($this->debugLevel>1)
2128
+		{
2129
+			ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."($id) --> $folder --> type=$folderObj->type, parentID=$folderObj->parentid, displayname=$folderObj->displayname");
2130
+		}
1733 2131
 		return $folderObj;
1734 2132
 	}
1735 2133
 
@@ -1773,11 +2171,20 @@  discard block
 block discarded – undo
1773 2171
 	{
1774 2172
 		$account = $folder = null;
1775 2173
 		$this->splitID($folderid, $account, $folder);
1776
-		if (is_numeric($account)) $type = 'mail';
2174
+		if (is_numeric($account))
2175
+		{
2176
+			$type = 'mail';
2177
+		}
1777 2178
 
1778
-		if ($type != 'mail') return false;
2179
+		if ($type != 'mail')
2180
+		{
2181
+			return false;
2182
+		}
1779 2183
 
1780
-		if (!isset($this->mail)) $this->mail = Mail::getInstance(false,self::$profileID,true,false,true);
2184
+		if (!isset($this->mail))
2185
+		{
2186
+			$this->mail = Mail::getInstance(false,self::$profileID,true,false,true);
2187
+		}
1781 2188
 
1782 2189
         $this->mail->reopen($folder);
1783 2190
 
@@ -1822,7 +2229,7 @@  discard block
 block discarded – undo
1822 2229
      * @throws StatusException              could throw specific SYNC_STATUS_* exceptions
1823 2230
      */
1824 2231
     public function DeleteMessage($folderid, $id, $contentParameters)
1825
-	{
2232
+    {
1826 2233
 		unset($contentParameters);	// not used, but required by function signature
1827 2234
 		ZLog::Write(LOGLEVEL_DEBUG, "IMAP-DeleteMessage: (fid: '$folderid'  id: '$id' )");
1828 2235
 		/*
@@ -1848,7 +2255,10 @@  discard block
 block discarded – undo
1848 2255
 			$error = $e->getMessage();
1849 2256
 			ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__." $_messageUID, $folder ->".$error);
1850 2257
 			// if the server thinks the message does not exist report deletion as success
1851
-			if (stripos($error,'[NONEXISTENT]')!==false) return true;
2258
+			if (stripos($error,'[NONEXISTENT]')!==false)
2259
+			{
2260
+				return true;
2261
+			}
1852 2262
 			return false;
1853 2263
 		}
1854 2264
 
@@ -1881,7 +2291,7 @@  discard block
 block discarded – undo
1881 2291
      * @throws StatusException              could throw specific SYNC_STATUS_* exceptions
1882 2292
      */
1883 2293
     public function SetReadFlag($folderid, $id, $flags, $contentParameters)
1884
-	{
2294
+    {
1885 2295
 		unset($contentParameters);	// not used, but required by function signature
1886 2296
 		// ZLog::Write(LOGLEVEL_DEBUG, "IMAP-SetReadFlag: (fid: '$folderid'  id: '$id'  flags: '$flags' )");
1887 2297
 		$account = $folder = null;
@@ -1965,10 +2375,16 @@  discard block
 block discarded – undo
1965 2375
 		$account = $parent_id = $app = null;
1966 2376
 		$this->splitID($id, $account, $folder, $app);
1967 2377
 		$old_hash = $this->folder2hash($account, $folder);
1968
-		if ($parentid) $this->splitID($parentid, $account, $parentfolder, $app);
2378
+		if ($parentid)
2379
+		{
2380
+			$this->splitID($parentid, $account, $parentfolder, $app);
2381
+		}
1969 2382
 		ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."( '$id (-> $folder)','$parentid ".($parentid?'(->'.$parentfolder.')':'')."') called!");
1970 2383
 		$ret = $this->mail->deleteFolder($folder);
1971
-		if ($ret) $newHash = $this->rename_folder_hash($account, $old_hash, "##Dele#edFolder#$folder##");
2384
+		if ($ret)
2385
+		{
2386
+			$newHash = $this->rename_folder_hash($account, $old_hash, "##Dele#edFolder#$folder##");
2387
+		}
1972 2388
 		return $ret;
1973 2389
 	}
1974 2390
 
@@ -2013,7 +2429,10 @@  discard block
 block discarded – undo
2013 2429
 
2014 2430
 		$str = $this->backend->createID($account, $folder, $id);
2015 2431
 
2016
-		if ($this->debugLevel>1) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."($account,'$f',$id) type=$account, folder=$folder --> '$str'");
2432
+		if ($this->debugLevel>1)
2433
+		{
2434
+			ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."($account,'$f',$id) type=$account, folder=$folder --> '$str'");
2435
+		}
2017 2436
 
2018 2437
 		return $str;
2019 2438
 	}
@@ -2034,7 +2453,10 @@  discard block
 block discarded – undo
2034 2453
 		// convert numeric folder-id back to folder name
2035 2454
 		$folder = $this->hash2folder($account,$f=$folder);
2036 2455
 
2037
-		if ($this->debugLevel>1) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."('$str','$account','$folder',$appid)");
2456
+		if ($this->debugLevel>1)
2457
+		{
2458
+			ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."('$str','$account','$folder',$appid)");
2459
+		}
2038 2460
 	}
2039 2461
 
2040 2462
 	/**
@@ -2053,7 +2475,10 @@  discard block
 block discarded – undo
2053 2475
 	 */
2054 2476
 	private function folder2hash($account,$folder)
2055 2477
 	{
2056
-		if(!isset($this->folderHashes)) $this->readFolderHashes();
2478
+		if(!isset($this->folderHashes))
2479
+		{
2480
+			$this->readFolderHashes();
2481
+		}
2057 2482
 
2058 2483
 		if (($index = array_search($folder, (array)$this->folderHashes[$account])) === false)
2059 2484
 		{
@@ -2076,7 +2501,10 @@  discard block
 block discarded – undo
2076 2501
 	 */
2077 2502
 	private function hash2folder($account,$index)
2078 2503
 	{
2079
-		if(!isset($this->folderHashes)) $this->readFolderHashes();
2504
+		if(!isset($this->folderHashes))
2505
+		{
2506
+			$this->readFolderHashes();
2507
+		}
2080 2508
 
2081 2509
 		return isset($this->folderHashes[$account]) ? $this->folderHashes[$account][$index] : null;
2082 2510
 	}
Please login to merge, or discard this patch.