Completed
Push — master ( 57201d...c47d8a )
by Klaus
39:22
created
api/src/Mail.php 1 patch
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.
mail/inc/class.mail_zpush.inc.php 1 patch
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.