Completed
Push — master ( 93853c...0bd975 )
by Klaus
26:31 queued 06:23
created
mail/inc/class.mail_ui.inc.php 1 patch
Spacing   +819 added lines, -826 removed lines patch added patch discarded remove patch
@@ -40,8 +40,7 @@  discard block
 block discarded – undo
40 40
 	 *
41 41
 	 * @var array
42 42
 	 */
43
-	var $public_functions = array
44
-	(
43
+	var $public_functions = array(
45 44
 		'index' => True,
46 45
 		'displayHeader'	=> True,
47 46
 		'displayMessage'	=> True,
@@ -92,17 +91,17 @@  discard block
 block discarded – undo
92 91
 	 * @var array
93 92
 	 */
94 93
 	var $searchTypes = array(
95
-		'quick'		=> 'quicksearch',	// lang('quicksearch')
96
-		'quickwithcc'=> 'quicksearch (with cc)',	// lang('quicksearch (with cc)')
97
-		'subject'	=> 'subject',		// lang('subject')
98
-		'body'		=> 'message body',	// lang('message body')
99
-		'from'		=> 'from',			// lang('from')
100
-		'to'		=> 'to',			// lang('to')
101
-		'cc'		=> 'cc',			// lang('cc')
102
-		'text'		=> 'whole message',	// lang('whole message')
103
-		'larger'		=> 'greater than',	// lang('greater than')
104
-		'smaller'		=> 'less than',	// lang('less than')
105
-		'bydate' 	=> 'Selected date range (with quicksearch)',// lang('Selected date range (with quicksearch)')
94
+		'quick'		=> 'quicksearch', // lang('quicksearch')
95
+		'quickwithcc'=> 'quicksearch (with cc)', // lang('quicksearch (with cc)')
96
+		'subject'	=> 'subject', // lang('subject')
97
+		'body'		=> 'message body', // lang('message body')
98
+		'from'		=> 'from', // lang('from')
99
+		'to'		=> 'to', // lang('to')
100
+		'cc'		=> 'cc', // lang('cc')
101
+		'text'		=> 'whole message', // lang('whole message')
102
+		'larger'		=> 'greater than', // lang('greater than')
103
+		'smaller'		=> 'less than', // lang('less than')
104
+		'bydate' 	=> 'Selected date range (with quicksearch)', // lang('Selected date range (with quicksearch)')
106 105
 	);
107 106
 
108 107
 	/**
@@ -111,12 +110,12 @@  discard block
 block discarded – undo
111 110
 	 * @var array
112 111
 	 */
113 112
 	var $statusTypes = array(
114
-		'any'		=> 'any status',// lang('any status')
115
-		'flagged'	=> 'flagged',	// lang('flagged')
116
-		'unseen'	=> 'unread',	// lang('unread')
117
-		'answered'	=> 'replied',	// lang('replied')
118
-		'seen'		=> 'read',		// lang('read')
119
-		'deleted'	=> 'deleted',	// lang('deleted')
113
+		'any'		=> 'any status', // lang('any status')
114
+		'flagged'	=> 'flagged', // lang('flagged')
115
+		'unseen'	=> 'unread', // lang('unread')
116
+		'answered'	=> 'replied', // lang('replied')
117
+		'seen'		=> 'read', // lang('read')
118
+		'deleted'	=> 'deleted', // lang('deleted')
120 119
 	);
121 120
 
122 121
 	/**
@@ -124,12 +123,12 @@  discard block
 block discarded – undo
124 123
 	 *
125 124
 	 * @param boolean $run_constructor =true false: no not run constructor and therefore do NOT connect to imap server
126 125
 	 */
127
-	function __construct($run_constructor=true)
126
+	function __construct($run_constructor = true)
128 127
 	{
129 128
 		$this->mail_tree = new mail_tree($this);
130 129
 		if (!$run_constructor) return;
131 130
 
132
-		if (Mail::$debugTimes) $starttime = microtime (true);
131
+		if (Mail::$debugTimes) $starttime = microtime(true);
133 132
 		// no autohide of the sidebox, as we use it for folderlist now.
134 133
 		unset($GLOBALS['egw_info']['user']['preferences']['common']['auto_hide_sidebox']);
135 134
 
@@ -145,13 +144,13 @@  discard block
 block discarded – undo
145 144
 		}
146 145
 
147 146
 		try {
148
-			$this->mail_bo = Mail::getInstance(true,self::$icServerID, true, false, true);
147
+			$this->mail_bo = Mail::getInstance(true, self::$icServerID, true, false, true);
149 148
 			if (Mail::$debug) error_log(__METHOD__.__LINE__.' Fetched IC Server:'.self::$icServerID.'/'.$this->mail_bo->profileID.':'.function_backtrace());
150 149
 			//error_log(__METHOD__.__LINE__.array2string($this->mail_bo->icServer));
151 150
 
152 151
 			// RegEx to minimize extra openConnection
153 152
 			$needle = '/^(?!mail)/';
154
-			if (!preg_match($needle,$_GET['menuaction']) && !Api\Json\Request::isJSONRequest())
153
+			if (!preg_match($needle, $_GET['menuaction']) && !Api\Json\Request::isJSONRequest())
155 154
 			{
156 155
 				//error_log(__METHOD__.__LINE__.' Fetched IC Server openConnection:'.self::$icServerID.'/'.$this->mail_bo->profileID.':'.function_backtrace());
157 156
 				//openConnection gathers SpecialUseFolderInformation and Delimiter Info
@@ -161,9 +160,9 @@  discard block
 block discarded – undo
161 160
 		catch (Exception $e)
162 161
 		{
163 162
 			// redirect to mail wizard to handle it (redirect works for ajax too)
164
-			self::callWizard($e->getMessage(),true,'error');
163
+			self::callWizard($e->getMessage(), true, 'error');
165 164
 		}
166
-		if (Mail::$debugTimes) Mail::logRunTimes($starttime,null,'',__METHOD__.__LINE__);
165
+		if (Mail::$debugTimes) Mail::logRunTimes($starttime, null, '', __METHOD__.__LINE__);
167 166
 	}
168 167
 
169 168
 	/**
@@ -173,10 +172,10 @@  discard block
 block discarded – undo
173 172
 	 * @param boolean $exit If true, will call exit() after opening the wizardpopup
174 173
 	 * @param string $msg_type = 'success' message type
175 174
 	 */
176
-	static function callWizard($message, $exit=true, $msg_type='success')
175
+	static function callWizard($message, $exit = true, $msg_type = 'success')
177 176
 	{
178 177
 		//error_log(__METHOD__."('$message', $exit) ".function_backtrace());
179
-		$linkData=(self::$icServerID ? array(
178
+		$linkData = (self::$icServerID ? array(
180 179
 				'menuaction' => 'mail.mail_wizard.edit',
181 180
 				'acc_id' => self::$icServerID,
182 181
 			) : array(
@@ -190,11 +189,11 @@  discard block
 block discarded – undo
190 189
 		{
191 190
 			$response = Api\Json\Response::get();
192 191
 			$windowName = "editMailAccount".self::$icServerID;
193
-			$response->call("egw.open_link", Egw::link('/index.php', $linkData), $windowName, "600x480",null,true);
192
+			$response->call("egw.open_link", Egw::link('/index.php', $linkData), $windowName, "600x480", null, true);
194 193
 			Framework::message($message, 'error');
195 194
 			if ($_GET['menuaction'] == 'mail.mail_ui.index')
196 195
 			{
197
-				$response->call('framework.setSidebox','mail',array(),'md5');
196
+				$response->call('framework.setSidebox', 'mail', array(), 'md5');
198 197
 			}
199 198
 			if ($exit)
200 199
 			{
@@ -203,8 +202,8 @@  discard block
 block discarded – undo
203 202
 		}
204 203
 		else	// regular GET request eg. in idots template
205 204
 		{
206
-			Framework::popup(Framework::link('/index.php',$linkData));
207
-			$GLOBALS['egw']->framework->render($message,'',true);
205
+			Framework::popup(Framework::link('/index.php', $linkData));
206
+			$GLOBALS['egw']->framework->render($message, '', true);
208 207
 			if ($exit)
209 208
 			{
210 209
 				exit();
@@ -220,9 +219,9 @@  discard block
 block discarded – undo
220 219
 	 *
221 220
 	 * @throws Api\Exception
222 221
 	 */
223
-	function changeProfile($_icServerID,$unsetCache=false)
222
+	function changeProfile($_icServerID, $unsetCache = false)
224 223
 	{
225
-		if (Mail::$debugTimes) $starttime = microtime (true);
224
+		if (Mail::$debugTimes) $starttime = microtime(true);
226 225
 		if (self::$icServerID != $_icServerID)
227 226
 		{
228 227
 			self::$icServerID = $_icServerID;
@@ -230,35 +229,35 @@  discard block
 block discarded – undo
230 229
 		if (Mail::$debug) error_log(__METHOD__.__LINE__.'->'.self::$icServerID.'<->'.$_icServerID);
231 230
 
232 231
 		if ($unsetCache) Mail::unsetCachedObjects(self::$icServerID);
233
-		$this->mail_bo = Mail::getInstance(false,self::$icServerID,true, false, true);
232
+		$this->mail_bo = Mail::getInstance(false, self::$icServerID, true, false, true);
234 233
 		if (Mail::$debug) error_log(__METHOD__.__LINE__.' Fetched IC Server:'.self::$icServerID.'/'.$this->mail_bo->profileID.':'.function_backtrace());
235 234
 		// no icServer Object: something failed big time
236
-		if (!isset($this->mail_bo->icServer) || $this->mail_bo->icServer->ImapServerId<>$_icServerID)
235
+		if (!isset($this->mail_bo->icServer) || $this->mail_bo->icServer->ImapServerId <> $_icServerID)
237 236
 		{
238 237
 			self::$icServerID = $_icServerID;
239 238
 			throw new Api\Exception('Profile change failed!');
240 239
 		}
241 240
 
242 241
 		// save session varchar
243
-		$oldicServerID =& Api\Cache::getSession('mail','activeProfileID');
242
+		$oldicServerID = & Api\Cache::getSession('mail', 'activeProfileID');
244 243
 		if ($oldicServerID <> self::$icServerID) $this->mail_bo->openConnection(self::$icServerID);
245 244
 		if (true) $oldicServerID = self::$icServerID;
246
-		if (!Mail::storeActiveProfileIDToPref($this->mail_bo->icServer, self::$icServerID, true ))
245
+		if (!Mail::storeActiveProfileIDToPref($this->mail_bo->icServer, self::$icServerID, true))
247 246
 		{
248 247
 			throw new Api\Exception(__METHOD__." failed to change Profile to $_icServerID");
249 248
 		}
250 249
 
251
-		if (Mail::$debugTimes) Mail::logRunTimes($starttime,null,'',__METHOD__.__LINE__);
250
+		if (Mail::$debugTimes) Mail::logRunTimes($starttime, null, '', __METHOD__.__LINE__);
252 251
 	}
253 252
 
254 253
 	/**
255 254
 	 * Ajax function to request next branch of a tree branch
256 255
 	 */
257
-	static function ajax_tree_autoloading ($_id = null)
256
+	static function ajax_tree_autoloading($_id = null)
258 257
 	{
259 258
 		$mail_ui = new mail_ui();
260 259
 		$id = $_id ? $_id : $_GET['id'];
261
-		Etemplate\Widget\Tree::send_quote_json($mail_ui->mail_tree->getTree($id,'',1,false));
260
+		Etemplate\Widget\Tree::send_quote_json($mail_ui->mail_tree->getTree($id, '', 1, false));
262 261
 	}
263 262
 
264 263
 	/**
@@ -267,11 +266,11 @@  discard block
 block discarded – undo
267 266
 	 * @param array $content
268 267
 	 * @param type $msg
269 268
 	 */
270
-	function subscription(array $content=null ,$msg=null)
269
+	function subscription(array $content = null, $msg = null)
271 270
 	{
272 271
 		$stmpl = new Etemplate('mail.subscribe');
273 272
 
274
-		if(is_array($content))
273
+		if (is_array($content))
275 274
 		{
276 275
 			$profileId = $content['profileId'];
277 276
 		}
@@ -281,14 +280,14 @@  discard block
 block discarded – undo
281 280
 		}
282 281
 		// Initial tree's options, the rest would be loaded dynamicaly by autoloading,
283 282
 		// triggered from client-side. Also, we keep this here as
284
-		$sel_options['foldertree'] =  $this->mail_tree->getTree(null,$profileId,1,true,false,true);
283
+		$sel_options['foldertree'] = $this->mail_tree->getTree(null, $profileId, 1, true, false, true);
285 284
 
286 285
 		//Get all subscribed folders
287 286
 		// as getting all subscribed folders is very fast operation
288 287
 		// we can use it to get a comparison base for folders which
289 288
 		// got subscribed or unsubscribed by the user
290 289
 		try {
291
-			$subscribed = $this->mail_bo->icServer->listSubscribedMailboxes('',0,true);
290
+			$subscribed = $this->mail_bo->icServer->listSubscribedMailboxes('', 0, true);
292 291
 		} catch (Exception $ex) {
293 292
 			Framework::message($ex->getMessage());
294 293
 		}
@@ -299,7 +298,7 @@  discard block
 block discarded – undo
299 298
 
300 299
 			foreach ($subscribed as $folder)
301 300
 			{
302
-				$folderName = $profileId . self::$delimiter . $folder['MAILBOX'];
301
+				$folderName = $profileId.self::$delimiter.$folder['MAILBOX'];
303 302
 				array_push($content['foldertree'], $folderName);
304 303
 			}
305 304
 		}
@@ -313,9 +312,9 @@  discard block
 block discarded – undo
313 312
 				{
314 313
 					// do not let user (un)subscribe namespace roots eg. "other", "user" or "INBOX", same for tree-root/account itself
315 314
 					$namespace_roots = array($profileId);
316
-					foreach($this->mail_bo->_getNameSpaces() as $namespace)
315
+					foreach ($this->mail_bo->_getNameSpaces() as $namespace)
317 316
 					{
318
-						$namespace_roots[] = $profileId . self::$delimiter . str_replace($namespace['delimiter'], '', $namespace['prefix']);
317
+						$namespace_roots[] = $profileId.self::$delimiter.str_replace($namespace['delimiter'], '', $namespace['prefix']);
319 318
 					}
320 319
 					$to_unsubscribe = $to_subscribe = array();
321 320
 					foreach ($content['foldertree'] as $path => $value)
@@ -323,7 +322,7 @@  discard block
 block discarded – undo
323 322
 						list(,$node) = explode($profileId.self::$delimiter, $path);
324 323
 						if ($node)
325 324
 						{
326
-							if (is_array($subscribed) && $subscribed[$node] && !$value['value']) $to_unsubscribe []= $node;
325
+							if (is_array($subscribed) && $subscribed[$node] && !$value['value']) $to_unsubscribe [] = $node;
327 326
 							if (is_array($subscribed) && !$subscribed[$node] && $value['value']) $to_subscribe [] = $node;
328 327
 							if ($value['value']) $cont[] = $path;
329 328
 						}
@@ -333,7 +332,7 @@  discard block
 block discarded – undo
333 332
 					// set foldertree options to basic node in order to avoid initial autoloading
334 333
 					// from client side, as no options would trigger that.
335 334
 					$sel_options['foldertree'] = array('id' => '0', 'item'=> array());
336
-					foreach(array_merge($to_subscribe, $to_unsubscribe) as $mailbox)
335
+					foreach (array_merge($to_subscribe, $to_unsubscribe) as $mailbox)
337 336
 					{
338 337
 						if (in_array($profileId.self::$delimiter.$mailbox, $namespace_roots, true))
339 338
 						{
@@ -369,18 +368,18 @@  discard block
 block discarded – undo
369 368
 						}
370 369
 					}
371 370
 					// update foldertree in main window
372
-					$parentFolder='INBOX';
371
+					$parentFolder = 'INBOX';
373 372
 					$refreshData = array(
374 373
 						$profileId => lang($parentFolder),
375 374
 					);
376 375
 					$response = Api\Json\Response::get();
377
-					foreach($refreshData as $folder => &$name)
376
+					foreach ($refreshData as $folder => &$name)
378 377
 					{
379
-						$name = $this->mail_tree->getTree($folder, $profileId,1,true,true,true);
378
+						$name = $this->mail_tree->getTree($folder, $profileId, 1, true, true, true);
380 379
 					}
381 380
 					// give success/error message to opener and popup itself
382 381
 					//$response->call('opener.app.mail.subscription_refresh',$refreshData);
383
-					$response->call('opener.app.mail.mail_reloadNode',$refreshData);
382
+					$response->call('opener.app.mail.mail_reloadNode', $refreshData);
384 383
 
385 384
 					Framework::refresh_opener($msg, 'mail', null, null, null, null, null, $msg_type);
386 385
 					if ($button == 'apply')
@@ -400,7 +399,7 @@  discard block
 block discarded – undo
400 399
 
401 400
 		$readonlys = array();
402 401
 
403
-		$stmpl->exec('mail.mail_ui.subscription', $content,$sel_options,$readonlys,$preserv,2);
402
+		$stmpl->exec('mail.mail_ui.subscription', $content, $sel_options, $readonlys, $preserv, 2);
404 403
 	}
405 404
 
406 405
 	/**
@@ -409,12 +408,12 @@  discard block
 block discarded – undo
409 408
 	 * @param array $content
410 409
 	 * @param string $msg
411 410
 	 */
412
-	function index(array $content=null,$msg=null)
411
+	function index(array $content = null, $msg = null)
413 412
 	{
414 413
 		//error_log(__METHOD__.__LINE__.array2string($content));
415
-		try	{
414
+		try {
416 415
 				//error_log(__METHOD__.__LINE__.function_backtrace());
417
-				if (Mail::$debugTimes) $starttime = microtime (true);
416
+				if (Mail::$debugTimes) $starttime = microtime(true);
418 417
 				$this->mail_bo->restoreSessionData();
419 418
 				$sessionFolder = $this->mail_bo->sessionData['mailbox'];
420 419
 				if ($this->mail_bo->folderExists($sessionFolder))
@@ -435,20 +434,20 @@  discard block
 block discarded – undo
435 434
 					{
436 435
 						// These only set on first load
437 436
 						$content[self::$nm_index] = array(
438
-							'filter'         => 'any',	// filter is used to choose the mailbox
439
-							'lettersearch'   => false,	// I  show a lettersearch
440
-							'searchletter'   =>	false,	// I0 active letter of the lettersearch or false for [all]
441
-							'start'          =>	0,		// IO position in list
442
-							'order'          =>	'date',	// IO name of the column to sort after (optional for the sortheaders)
443
-							'sort'           =>	'DESC',	// IO direction of the sort: 'ASC' or 'DESC'
437
+							'filter'         => 'any', // filter is used to choose the mailbox
438
+							'lettersearch'   => false, // I  show a lettersearch
439
+							'searchletter'   =>	false, // I0 active letter of the lettersearch or false for [all]
440
+							'start'          =>	0, // IO position in list
441
+							'order'          =>	'date', // IO name of the column to sort after (optional for the sortheaders)
442
+							'sort'           =>	'DESC', // IO direction of the sort: 'ASC' or 'DESC'
444 443
 						);
445 444
 					}
446 445
 					if (Api\Header\UserAgent::mobile()) $content[self::$nm_index]['header_row'] = 'mail.index.header_right';
447 446
 				}
448 447
 
449 448
 				// These must always be set, even if $content is an array
450
-				$content[self::$nm_index]['cat_is_select'] = true;    // Category select is just a normal selectbox
451
-				$content[self::$nm_index]['no_filter2'] = false;       // Disable second filter
449
+				$content[self::$nm_index]['cat_is_select'] = true; // Category select is just a normal selectbox
450
+				$content[self::$nm_index]['no_filter2'] = false; // Disable second filter
452 451
 				try
453 452
 				{
454 453
 					$content[self::$nm_index]['actions'] = self::get_actions();
@@ -456,15 +455,15 @@  discard block
 block discarded – undo
456 455
 				catch (Exception $e)
457 456
 				{
458 457
 					// do not exit here. mail-tree should be build. if we exit here, we never get there
459
-					self::callWizard($e->getMessage().($e->details?', '.$e->details:''),false, 'error');
458
+					self::callWizard($e->getMessage().($e->details ? ', '.$e->details : ''), false, 'error');
460 459
 					unset($e);
461 460
 					//return false;
462 461
 				}
463
-				$content[self::$nm_index]['row_id'] = 'row_id';	     // is a concatenation of trim($GLOBALS['egw_info']['user']['account_id']):profileID:base64_encode(FOLDERNAME):uid
462
+				$content[self::$nm_index]['row_id'] = 'row_id'; // is a concatenation of trim($GLOBALS['egw_info']['user']['account_id']):profileID:base64_encode(FOLDERNAME):uid
464 463
 				$content[self::$nm_index]['placeholder_actions'] = array('composeasnew');
465 464
 				$content[self::$nm_index]['get_rows'] = 'mail_ui::get_rows';
466
-				$content[self::$nm_index]['num_rows'] = 0;      // Do not send any rows with initial request
467
-				$content[self::$nm_index]['default_cols'] = 'status,attachments,subject,address,date,size';	// I  columns to use if there's no user or default pref (! as first char uses all but the named columns), default all columns
465
+				$content[self::$nm_index]['num_rows'] = 0; // Do not send any rows with initial request
466
+				$content[self::$nm_index]['default_cols'] = 'status,attachments,subject,address,date,size'; // I  columns to use if there's no user or default pref (! as first char uses all but the named columns), default all columns
468 467
 				$content[self::$nm_index]['csv_fields'] = false;
469 468
 				if ($msg)
470 469
 				{
@@ -476,11 +475,11 @@  discard block
 block discarded – undo
476 475
 					unset($content['msg']);
477 476
 				}
478 477
 				// call getQuotaRoot asynchronously in getRows by initiating a client Server roundtrip
479
-				$quota = false;//$this->mail_bo->getQuotaRoot();
480
-				if($quota !== false && $quota['limit'] != 'NOT SET') {
478
+				$quota = false; //$this->mail_bo->getQuotaRoot();
479
+				if ($quota !== false && $quota['limit'] != 'NOT SET') {
481 480
 					$quotainfo = $this->quotaDisplay($quota['usage'], $quota['limit']);
482 481
 					$content[self::$nm_index]['quota'] = $sel_options[self::$nm_index]['quota'] = $quotainfo['text'];
483
-					$content[self::$nm_index]['quotainpercent'] = $sel_options[self::$nm_index]['quotainpercent'] =  (string)$quotainfo['percent'];
482
+					$content[self::$nm_index]['quotainpercent'] = $sel_options[self::$nm_index]['quotainpercent'] = (string)$quotainfo['percent'];
484 483
 					$content[self::$nm_index]['quotaclass'] = $sel_options[self::$nm_index]['quotaclass'] = $quotainfo['class'];
485 484
 					$content[self::$nm_index]['quotanotsupported'] = $sel_options[self::$nm_index]['quotanotsupported'] = "";
486 485
 				} else {
@@ -489,43 +488,43 @@  discard block
 block discarded – undo
489 488
 					$content[self::$nm_index]['quotanotsupported'] = $sel_options[self::$nm_index]['quotanotsupported'] = "mail_DisplayNone";
490 489
 				}
491 490
 				// call gatherVacation asynchronously in getRows by initiating a client Server roundtrip
492
-				$vacation = false;//$this->gatherVacation();
491
+				$vacation = false; //$this->gatherVacation();
493 492
 				//error_log(__METHOD__.__LINE__.' Server:'.self::$icServerID.' Sieve Enabled:'.array2string($vacation));
494
-				if($vacation) {
495
-					if (is_array($vacation) && ($vacation['status'] == 'on' || $vacation['status']=='by_date' && $vacation['end_date'] > time()))
493
+				if ($vacation) {
494
+					if (is_array($vacation) && ($vacation['status'] == 'on' || $vacation['status'] == 'by_date' && $vacation['end_date'] > time()))
496 495
 					{
497 496
 						$dtfrmt = $GLOBALS['egw_info']['user']['preferences']['common']['dateformat']/*.' '.($GLOBALS['egw_info']['user']['preferences']['common']['timeformat']!='24'?'h:i a':'H:i')*/;
498 497
 						$content[self::$nm_index]['vacationnotice'] = $sel_options[self::$nm_index]['vacationnotice'] = lang('Vacation notice is active');
499
-						$content[self::$nm_index]['vacationrange'] = $sel_options[self::$nm_index]['vacationrange'] = ($vacation['status']=='by_date'? Api\DateTime::server2user($vacation['start_date'],$dtfrmt,true).($vacation['end_date']>$vacation['start_date']?'->'.Api\DateTime::server2user($vacation['end_date']+ 24*3600-1,$dtfrmt,true):''):'');
498
+						$content[self::$nm_index]['vacationrange'] = $sel_options[self::$nm_index]['vacationrange'] = ($vacation['status'] == 'by_date' ? Api\DateTime::server2user($vacation['start_date'], $dtfrmt, true).($vacation['end_date'] > $vacation['start_date'] ? '->'.Api\DateTime::server2user($vacation['end_date'] + 24 * 3600 - 1, $dtfrmt, true) : '') : '');
500 499
 					}
501 500
 				}
502
-				if ($vacation==false)
501
+				if ($vacation == false)
503 502
 				{
504 503
 					$content[self::$nm_index]['vacationnotice'] = $sel_options[self::$nm_index]['vacationnotice'] = '';
505 504
 					$content[self::$nm_index]['vacationrange'] = $sel_options[self::$nm_index]['vacationrange'] = '';
506 505
 				}
507 506
 				//$zstarttime = microtime (true);
508
-				$sel_options[self::$nm_index]['foldertree'] = $this->mail_tree->getInitialIndexTree(null, $this->mail_bo->profileID, null, !$this->mail_bo->mailPreferences['showAllFoldersInFolderPane'],!$this->mail_bo->mailPreferences['showAllFoldersInFolderPane']);
507
+				$sel_options[self::$nm_index]['foldertree'] = $this->mail_tree->getInitialIndexTree(null, $this->mail_bo->profileID, null, !$this->mail_bo->mailPreferences['showAllFoldersInFolderPane'], !$this->mail_bo->mailPreferences['showAllFoldersInFolderPane']);
509 508
 				//$zendtime = microtime(true) - $zstarttime;
510 509
 				//error_log(__METHOD__.__LINE__. " time used: ".$zendtime);
511
-				$content[self::$nm_index]['selectedFolder'] = $this->mail_bo->profileID.self::$delimiter.(!empty($this->mail_bo->sessionData['mailbox'])?$this->mail_bo->sessionData['mailbox']:'INBOX');
510
+				$content[self::$nm_index]['selectedFolder'] = $this->mail_bo->profileID.self::$delimiter.(!empty($this->mail_bo->sessionData['mailbox']) ? $this->mail_bo->sessionData['mailbox'] : 'INBOX');
512 511
 				// since we are connected,(and selected the folder) we check for capabilities SUPPORTS_KEYWORDS to eventually add the keyword filters
513
-				if ( $this->mail_bo->icServer->hasCapability('SUPPORTS_KEYWORDS'))
512
+				if ($this->mail_bo->icServer->hasCapability('SUPPORTS_KEYWORDS'))
514 513
 				{
515
-					$this->statusTypes = array_merge($this->statusTypes,array(
516
-						'keyword1'	=> 'important',//lang('important'),
517
-						'keyword2'	=> 'job',	//lang('job'),
518
-						'keyword3'	=> 'personal',//lang('personal'),
519
-						'keyword4'	=> 'to do',	//lang('to do'),
520
-						'keyword5'	=> 'later',	//lang('later'),
514
+					$this->statusTypes = array_merge($this->statusTypes, array(
515
+						'keyword1'	=> 'important', //lang('important'),
516
+						'keyword2'	=> 'job', //lang('job'),
517
+						'keyword3'	=> 'personal', //lang('personal'),
518
+						'keyword4'	=> 'to do', //lang('to do'),
519
+						'keyword5'	=> 'later', //lang('later'),
521 520
 					));
522 521
 				}
523 522
 				else
524 523
 				{
525
-					$keywords = array('keyword1','keyword2','keyword3','keyword4','keyword5');
526
-					foreach($keywords as &$k)
524
+					$keywords = array('keyword1', 'keyword2', 'keyword3', 'keyword4', 'keyword5');
525
+					foreach ($keywords as &$k)
527 526
 					{
528
-						if (array_key_exists($k,$this->statusTypes)) unset($this->statusTypes[$k]);
527
+						if (array_key_exists($k, $this->statusTypes)) unset($this->statusTypes[$k]);
529 528
 					}
530 529
 				}
531 530
 
@@ -536,8 +535,8 @@  discard block
 block discarded – undo
536 535
 
537 536
 				if (is_null(Mail::$supportsORinQuery) || !isset(Mail::$supportsORinQuery[$this->mail_bo->profileID]))
538 537
 				{
539
-					Mail::$supportsORinQuery = Api\Cache::getCache(Api\Cache::INSTANCE, 'email', 'supportsORinQuery'.trim($GLOBALS['egw_info']['user']['account_id']), null, array(), 60*60*10);
540
-					if (!isset(Mail::$supportsORinQuery[$this->mail_bo->profileID])) Mail::$supportsORinQuery[$this->mail_bo->profileID]=true;
538
+					Mail::$supportsORinQuery = Api\Cache::getCache(Api\Cache::INSTANCE, 'email', 'supportsORinQuery'.trim($GLOBALS['egw_info']['user']['account_id']), null, array(), 60 * 60 * 10);
539
+					if (!isset(Mail::$supportsORinQuery[$this->mail_bo->profileID])) Mail::$supportsORinQuery[$this->mail_bo->profileID] = true;
541 540
 				}
542 541
 				if (!Mail::$supportsORinQuery[$this->mail_bo->profileID])
543 542
 				{
@@ -549,7 +548,7 @@  discard block
 block discarded – undo
549 548
 				//error_log(__METHOD__.__LINE__.array2string($GLOBALS['egw_info']['user']['preferences']['mail']['ActiveSearchType']));
550 549
 				$content[self::$nm_index]['cat_id'] = $GLOBALS['egw_info']['user']['preferences']['mail']['ActiveSearchType'];
551 550
 				$sel_options['filter'] = $this->statusTypes;
552
-				$sel_options['filter2'] = array(''=>lang('No details'),1=>lang('Details'));
551
+				$sel_options['filter2'] = array(''=>lang('No details'), 1=>lang('Details'));
553 552
 				$content[self::$nm_index]['filter2'] = $GLOBALS['egw_info']['user']['preferences']['mail']['ShowDetails'];
554 553
 
555 554
 				$etpl = new Etemplate('mail.index');
@@ -557,7 +556,7 @@  discard block
 block discarded – undo
557 556
 				$content[self::$nm_index]['cat_id_onchange'] = "app.mail.mail_searchtype_change()";
558 557
 				// Start at 2 so auto-added copy+paste actions show up as second group
559 558
 				// Needed because there's no 'select all' action to push things down
560
-				$group=1;
559
+				$group = 1;
561 560
 				// Set tree actions
562 561
 				$tree_actions = array(
563 562
 					'drop_move_mail' => array(
@@ -638,12 +637,12 @@  discard block
 block discarded – undo
638 637
 						'onExecute' => 'javaScript:app.mail.edit_sieve',
639 638
 
640 639
 						'enabled'	=> 'javaScript:app.mail.sieve_enabled',
641
-						'icon' => 'mail/filter',	// funnel
640
+						'icon' => 'mail/filter', // funnel
642 641
 						'hideOnMobile' => true
643 642
 					),
644 643
 					'vacation' => array(
645 644
 						'caption' => 'Vacation notice',
646
-						'icon' => 'mail/navbar',	// mail as in admin
645
+						'icon' => 'mail/navbar', // mail as in admin
647 646
 						'onExecute' => 'javaScript:app.mail.edit_vacation',
648 647
 						'enabled'	=> 'javaScript:app.mail.sieve_enabled',
649 648
 					),
@@ -684,8 +683,8 @@  discard block
 block discarded – undo
684 683
 					unset($tree_actions['subscribe']);
685 684
 					unset($tree_actions['unsubscribe']);
686 685
 				}
687
-				++$group;	// put delete in own group
688
-				switch($GLOBALS['egw_info']['user']['preferences']['mail']['deleteOptions'])
686
+				++$group; // put delete in own group
687
+				switch ($GLOBALS['egw_info']['user']['preferences']['mail']['deleteOptions'])
689 688
 				{
690 689
 					case 'move_to_trash':
691 690
 						$tree_actions['empty_trash'] = array(
@@ -717,8 +716,8 @@  discard block
 block discarded – undo
717 716
 						'group'	=> $group,
718 717
 					);
719 718
 				}
720
-				$tree_actions['sieve']['group']	= $tree_actions['vacation']['group'] = ++$group;	// new group for filter
721
-				$tree_actions['edit_account']['group'] = $tree_actions['edit_acl']['group']	= ++$group;
719
+				$tree_actions['sieve']['group'] = $tree_actions['vacation']['group'] = ++$group; // new group for filter
720
+				$tree_actions['edit_account']['group'] = $tree_actions['edit_acl']['group'] = ++$group;
722 721
 
723 722
 
724 723
 				// enforce global (group-specific) ACL
@@ -744,7 +743,7 @@  discard block
 block discarded – undo
744 743
 					// to existing folders, it should only affect add/rename/move/delete
745 744
 				}
746 745
 
747
-				$etpl->setElementAttribute(self::$nm_index.'[foldertree]','actions', $tree_actions);
746
+				$etpl->setElementAttribute(self::$nm_index.'[foldertree]', 'actions', $tree_actions);
748 747
 
749 748
 				// sending preview toolbar actions
750 749
 				if ($content['mailSplitter']) $etpl->setElementAttribute('mailPreview[toolbar]', 'actions', $this->get_toolbar_actions());
@@ -755,22 +754,22 @@  discard block
 block discarded – undo
755 754
 				//we use the category "filter" option as specifier where we want to search (quick, subject, from, to, etc. ....)
756 755
 				if (empty($content[self::$nm_index]['cat_id']) || empty($content[self::$nm_index]['search']))
757 756
 				{
758
-					$content[self::$nm_index]['cat_id']=($content[self::$nm_index]['cat_id']?(!Mail::$supportsORinQuery[$this->mail_bo->profileID]&&($content[self::$nm_index]['cat_id']=='quick'||$content[self::$nm_index]['cat_id']=='quickwithcc')?'subject':$content[self::$nm_index]['cat_id']):(Mail::$supportsORinQuery[$this->mail_bo->profileID]?'quick':'subject'));
757
+					$content[self::$nm_index]['cat_id'] = ($content[self::$nm_index]['cat_id'] ? (!Mail::$supportsORinQuery[$this->mail_bo->profileID] && ($content[self::$nm_index]['cat_id'] == 'quick' || $content[self::$nm_index]['cat_id'] == 'quickwithcc') ? 'subject' : $content[self::$nm_index]['cat_id']) : (Mail::$supportsORinQuery[$this->mail_bo->profileID] ? 'quick' : 'subject'));
759 758
 				}
760 759
 				$readonlys = $preserv = array();
761
-				if (Mail::$debugTimes) Mail::logRunTimes($starttime,null,'',__METHOD__.__LINE__);
760
+				if (Mail::$debugTimes) Mail::logRunTimes($starttime, null, '', __METHOD__.__LINE__);
762 761
 		}
763 762
 		catch (Exception $e)
764 763
 		{
765 764
 			// do not exit here. mail-tree should be build. if we exit here, we never get there
766
-			error_log(__METHOD__.__LINE__.$e->getMessage().($e->details?', '.$e->details:''));
767
-			self::callWizard(__METHOD__.$e->getMessage().$e->getMessage().($e->details?', '.$e->details:''),false, 'error');
765
+			error_log(__METHOD__.__LINE__.$e->getMessage().($e->details ? ', '.$e->details : ''));
766
+			self::callWizard(__METHOD__.$e->getMessage().$e->getMessage().($e->details ? ', '.$e->details : ''), false, 'error');
768 767
 			//return false;
769 768
 		}
770 769
 		// Check preview pane is enabled, then show spliter
771 770
 		if ($this->mail_bo->mailPreferences['previewPane']) $etpl->setElementAttribute('mail.index.spliter', 'template', 'mail.index.nospliter');
772 771
 
773
-		return $etpl->exec('mail.mail_ui.index',$content,$sel_options,$readonlys,$preserv);
772
+		return $etpl->exec('mail.mail_ui.index', $content, $sel_options, $readonlys, $preserv);
774 773
 	}
775 774
 
776 775
 	/**
@@ -780,19 +779,19 @@  discard block
 block discarded – undo
780 779
 	 * @param {string} $_folderName name of mailbox needs to be subcribe or unsubscribed
781 780
 	 * @param {boolean} $_status set true for subscribe and false to unsubscribe
782 781
 	 */
783
-	public function ajax_foldersubscription($_acc_id,$_folderName, $_status)
782
+	public function ajax_foldersubscription($_acc_id, $_folderName, $_status)
784 783
 	{
785 784
 		//Change the Mail object to related profileId
786 785
 		$this->changeProfile($_acc_id);
787 786
 
788
-		if($this->mail_bo->icServer->subscribeMailbox($_folderName, $_status))
787
+		if ($this->mail_bo->icServer->subscribeMailbox($_folderName, $_status))
789 788
 		{
790 789
 			$this->mail_bo->resetFolderObjectCache($_acc_id);
791
-			$this->ajax_reloadNode($_acc_id,!$this->mail_bo->mailPreferences['showAllFoldersInFolderPane']);
790
+			$this->ajax_reloadNode($_acc_id, !$this->mail_bo->mailPreferences['showAllFoldersInFolderPane']);
792 791
 		}
793 792
 		else
794 793
 		{
795
-			error_log(__METHOD__.__LINE__."()". lang('Folder %1 %2 failed!',$_folderName,$_status?'subscribed':'unsubscribed'));
794
+			error_log(__METHOD__.__LINE__."()".lang('Folder %1 %2 failed!', $_folderName, $_status ? 'subscribed' : 'unsubscribed'));
796 795
 		}
797 796
 	}
798 797
 
@@ -804,25 +803,25 @@  discard block
 block discarded – undo
804 803
 	 * @param string $_nodeID if of node whos children are requested
805 804
 	 * @param boolean $_subscribedOnly flag to tell wether to fetch all or only subscribed (default)
806 805
 	 */
807
-	public function ajax_foldertree($_nodeID = null,$_subscribedOnly=null)
806
+	public function ajax_foldertree($_nodeID = null, $_subscribedOnly = null)
808 807
 	{
809 808
 		$nodeID = $_GET['id'];
810 809
 		if (!is_null($_nodeID)) $nodeID = $_nodeID;
811
-		$subscribedOnly = (bool)(!is_null($_subscribedOnly)?$_subscribedOnly:!$this->mail_bo->mailPreferences['showAllFoldersInFolderPane']);
810
+		$subscribedOnly = (bool)(!is_null($_subscribedOnly) ? $_subscribedOnly : !$this->mail_bo->mailPreferences['showAllFoldersInFolderPane']);
812 811
 		$fetchCounters = !is_null($_nodeID);
813
-		list($_profileID,$_folderName) = explode(self::$delimiter,$nodeID,2);
812
+		list($_profileID, $_folderName) = explode(self::$delimiter, $nodeID, 2);
814 813
 
815 814
 		if (!empty($_folderName)) $fetchCounters = true;
816 815
 
817 816
 		// Check if it is called for refresh root
818 817
 		// then we need to reinitialized the index tree
819
-		if(!$nodeID && !$_profileID)
818
+		if (!$nodeID && !$_profileID)
820 819
 		{
821
-			$data = $this->mail_tree->getInitialIndexTree(null,null,null,null,true,!$this->mail_bo->mailPreferences['showAllFoldersInFolderPane']);
820
+			$data = $this->mail_tree->getInitialIndexTree(null, null, null, null, true, !$this->mail_bo->mailPreferences['showAllFoldersInFolderPane']);
822 821
 		}
823 822
 		else
824 823
 		{
825
-			$data = $this->mail_tree->getTree($nodeID,$_profileID,0, false,$subscribedOnly,!$this->mail_bo->mailPreferences['showAllFoldersInFolderPane']);
824
+			$data = $this->mail_tree->getTree($nodeID, $_profileID, 0, false, $subscribedOnly, !$this->mail_bo->mailPreferences['showAllFoldersInFolderPane']);
826 825
 		}
827 826
 		if (!is_null($_nodeID)) return $data;
828 827
 		Etemplate\Widget\Tree::send_quote_json($data);
@@ -838,17 +837,17 @@  discard block
 block discarded – undo
838 837
 	 */
839 838
 	static function findNode($_out, $_nodeID, $childElements = false)
840 839
 	{
841
-		foreach($_out['item'] as $node)
840
+		foreach ($_out['item'] as $node)
842 841
 		{
843
-			if (strcmp($node['id'],$_nodeID)===0)
842
+			if (strcmp($node['id'], $_nodeID) === 0)
844 843
 			{
845 844
 				//error_log(__METHOD__.__LINE__.':'.$_nodeID.'->'.$node['id']);
846
-				return ($childElements?$node['item']:$node);
845
+				return ($childElements ? $node['item'] : $node);
847 846
 			}
848
-			elseif (is_array($node['item']) && strncmp($node['id'],$_nodeID,strlen($node['id']))===0 && strlen($_nodeID)>strlen($node['id']))
847
+			elseif (is_array($node['item']) && strncmp($node['id'], $_nodeID, strlen($node['id'])) === 0 && strlen($_nodeID) > strlen($node['id']))
849 848
 			{
850 849
 				//error_log(__METHOD__.__LINE__.' descend into '.$node['id']);
851
-				return self::findNode($node,$_nodeID,$childElements);
850
+				return self::findNode($node, $_nodeID, $childElements);
852 851
 			}
853 852
 		}
854 853
 	}
@@ -862,7 +861,7 @@  discard block
 block discarded – undo
862 861
 	 */
863 862
 	private function get_actions()
864 863
 	{
865
-		static $accArray=array(); // buffer identity names on single request
864
+		static $accArray = array(); // buffer identity names on single request
866 865
 		// duplicated from mail_hooks
867 866
 		static $deleteOptions = array(
868 867
 			'move_to_trash'		=> 'move to trash',
@@ -873,12 +872,12 @@  discard block
 block discarded – undo
873 872
 		$lastFolderUsedForMove = null;
874 873
 		$moveactions = array();
875 874
 		$archiveFolder = $this->mail_bo->getArchiveFolder();
876
-		$lastFoldersUsedForMoveCont = Api\Cache::getCache(Api\Cache::INSTANCE,'email','lastFolderUsedForMove'.trim($GLOBALS['egw_info']['user']['account_id']),null,array(),$expiration=60*60*1);
875
+		$lastFoldersUsedForMoveCont = Api\Cache::getCache(Api\Cache::INSTANCE, 'email', 'lastFolderUsedForMove'.trim($GLOBALS['egw_info']['user']['account_id']), null, array(), $expiration = 60 * 60 * 1);
877 876
 		//error_log(__METHOD__.__LINE__." StoredFolders->".array2string($lastFoldersUsedForMoveCont));
878 877
 		//error_log(__METHOD__.__LINE__.' ProfileId:'.$this->mail_bo->profileID." StoredFolders->(".count($lastFoldersUsedForMoveCont[$this->mail_bo->profileID]).") ".array2string($lastFoldersUsedForMoveCont[$this->mail_bo->profileID]));
879 878
 		if (is_null($accArray))
880 879
 		{
881
-			foreach(Mail\Account::search($only_current_user=true, false) as $acc_id => $accountObj)
880
+			foreach (Mail\Account::search($only_current_user = true, false) as $acc_id => $accountObj)
882 881
 			{
883 882
 				//error_log(__METHOD__.__LINE__.array2string($accountObj));
884 883
 				if (!$accountObj->is_imap())
@@ -886,22 +885,22 @@  discard block
 block discarded – undo
886 885
 					// not to be used for IMAP Foldertree, as there is no Imap host
887 886
 					continue;
888 887
 				}
889
-				$identity_name = Mail\Account::identity_name($accountObj,true,$GLOBALS['egw_info']['user']['acount_id']);
890
-				$accArray[$acc_id] = str_replace(array('<','>'),array('[',']'),$identity_name);// as angle brackets are quoted, display in Javascript messages when used is ugly, so use square brackets instead
888
+				$identity_name = Mail\Account::identity_name($accountObj, true, $GLOBALS['egw_info']['user']['acount_id']);
889
+				$accArray[$acc_id] = str_replace(array('<', '>'), array('[', ']'), $identity_name); // as angle brackets are quoted, display in Javascript messages when used is ugly, so use square brackets instead
891 890
 			}
892 891
 		}
893
-		if (!is_array($lastFoldersUsedForMoveCont)) $lastFoldersUsedForMoveCont=array();
892
+		if (!is_array($lastFoldersUsedForMoveCont)) $lastFoldersUsedForMoveCont = array();
894 893
 		foreach (array_keys($lastFoldersUsedForMoveCont) as $pid)
895 894
 		{
896
-			if ($this->mail_bo->profileID==$pid && isset($lastFoldersUsedForMoveCont[$this->mail_bo->profileID]))
895
+			if ($this->mail_bo->profileID == $pid && isset($lastFoldersUsedForMoveCont[$this->mail_bo->profileID]))
897 896
 			{
898 897
 				$_folder = $this->mail_bo->icServer->getCurrentMailbox();
899 898
 				//error_log(__METHOD__.__LINE__.' '.$_folder."<->".$lastFoldersUsedForMoveCont[$this->mail_bo->profileID].function_backtrace());
900
-				$counter =1;
899
+				$counter = 1;
901 900
 				foreach ($lastFoldersUsedForMoveCont[$this->mail_bo->profileID] as $i => $lastFolderUsedForMoveCont)
902 901
 				{
903 902
 					$moveaction = 'move_';
904
-					if ($_folder!=$i)
903
+					if ($_folder != $i)
905 904
 					{
906 905
 						$moveaction .= $lastFolderUsedForMoveCont;
907 906
 						//error_log(__METHOD__.__LINE__.'#'.$moveaction);
@@ -912,7 +911,7 @@  discard block
 block discarded – undo
912 911
 							$fS['profileName'] = $accArray[$this->mail_bo->profileID];
913 912
 							$fS['shortDisplayName'] = $i;
914 913
 							$moveactions[$moveaction] = $fS;
915
-							$counter ++;
914
+							$counter++;
916 915
 						}
917 916
 						else
918 917
 						{
@@ -922,9 +921,9 @@  discard block
 block discarded – undo
922 921
 					}
923 922
 				}
924 923
 			}
925
-			elseif ($this->mail_bo->profileID!=$pid && isset($lastFoldersUsedForMoveCont[$pid]) && !empty($lastFoldersUsedForMoveCont[$pid]))
924
+			elseif ($this->mail_bo->profileID != $pid && isset($lastFoldersUsedForMoveCont[$pid]) && !empty($lastFoldersUsedForMoveCont[$pid]))
926 925
 			{
927
-				$counter =1;
926
+				$counter = 1;
928 927
 				foreach ($lastFoldersUsedForMoveCont[$pid] as $i => $lastFolderUsedForMoveCont)
929 928
 				{
930 929
 					//error_log(__METHOD__.__LINE__."$i => $lastFolderUsedForMoveCont");
@@ -937,19 +936,19 @@  discard block
 block discarded – undo
937 936
 						$fS['profileName'] = $accArray[$pid];
938 937
 						$fS['shortDisplayName'] = $i;
939 938
 						$moveactions[$moveaction] = $fS;
940
-						$counter ++;
939
+						$counter++;
941 940
 					}
942 941
 				}
943 942
 			}
944 943
 		}
945
-		Api\Cache::setCache(Api\Cache::INSTANCE,'email','lastFolderUsedForMove'.trim($GLOBALS['egw_info']['user']['account_id']),$lastFoldersUsedForMoveCont, $expiration=60*60*1);
944
+		Api\Cache::setCache(Api\Cache::INSTANCE, 'email', 'lastFolderUsedForMove'.trim($GLOBALS['egw_info']['user']['account_id']), $lastFoldersUsedForMoveCont, $expiration = 60 * 60 * 1);
946 945
 		$group = 0;
947
-		$actions =  array(
946
+		$actions = array(
948 947
 			'open' => array(
949 948
 				'caption' => lang('Open'),
950 949
 				'icon' => 'view',
951 950
 				'group' => ++$group,
952
-				'onExecute' => Api\Header\UserAgent::mobile()?'javaScript:app.mail.mobileView':'javaScript:app.mail.mail_open',
951
+				'onExecute' => Api\Header\UserAgent::mobile() ? 'javaScript:app.mail.mobileView' : 'javaScript:app.mail.mail_open',
953 952
 				'allowOnMultiple' => false,
954 953
 				'default' => true,
955 954
 				'mobileViewTemplate' => 'view?'.filemtime(Api\Etemplate\Widget\Template::rel2path('/mail/templates/mobile/view.xet'))
@@ -1002,20 +1001,20 @@  discard block
 block discarded – undo
1002 1001
 				'allowOnMultiple' => false,
1003 1002
 			)
1004 1003
 		);
1005
-		$macounter=0;
1004
+		$macounter = 0;
1006 1005
 		if (!empty($moveactions))
1007 1006
 		{
1008 1007
 			//error_log(__METHOD__.__LINE__.array2string($moveactions));
1009
-			$children=array();
1010
-			$pID=0;
1008
+			$children = array();
1009
+			$pID = 0;
1011 1010
 			foreach ($moveactions as $moveaction => $lastFolderUsedForMove)
1012 1011
 			{
1013
-				$group = ($pID != $lastFolderUsedForMove['profileID'] && $macounter>0? $group+1 : $group);
1012
+				$group = ($pID != $lastFolderUsedForMove['profileID'] && $macounter > 0 ? $group + 1 : $group);
1014 1013
 				//error_log(__METHOD__.__LINE__."#$pID != ".$lastFolderUsedForMove['profileID']."#".$macounter.'#'.$groupCounter.'#');
1015 1014
 				$children = array_merge($children,
1016 1015
 					array(
1017 1016
 						$moveaction => array(
1018
-							'caption' => (!empty($lastFolderUsedForMove['profileName'])?$lastFolderUsedForMove['profileName']:'('.$lastFolderUsedForMove['profileID'].')').': '.(isset($lastFolderUsedForMove['shortDisplayName'])?$lastFolderUsedForMove['shortDisplayName']:''),
1017
+							'caption' => (!empty($lastFolderUsedForMove['profileName']) ? $lastFolderUsedForMove['profileName'] : '('.$lastFolderUsedForMove['profileID'].')').': '.(isset($lastFolderUsedForMove['shortDisplayName']) ? $lastFolderUsedForMove['shortDisplayName'] : ''),
1019 1018
 							'icon' => 'move',
1020 1019
 							'group' => $group,
1021 1020
 							'onExecute' => 'javaScript:app.mail.mail_move2folder',
@@ -1026,7 +1025,7 @@  discard block
 block discarded – undo
1026 1025
 				$pID = $lastFolderUsedForMove['profileID'];
1027 1026
 				$macounter++;
1028 1027
 			}
1029
-			$actions['moveto'] =	array(
1028
+			$actions['moveto'] = array(
1030 1029
 				'caption' => lang('Move selected to'),
1031 1030
 				'icon' => 'move',
1032 1031
 				'group' => $group,
@@ -1069,7 +1068,7 @@  discard block
 block discarded – undo
1069 1068
 				'icon' => 'tracker/navbar',
1070 1069
 				'onExecute' => 'javaScript:app.mail.mail_integrate',
1071 1070
 				'popup' => Link::get_registry('tracker', 'add_popup'),
1072
-				'mail_import' => Api\Hooks::single(array('location' => 'mail_import'),'tracker'),
1071
+				'mail_import' => Api\Hooks::single(array('location' => 'mail_import'), 'tracker'),
1073 1072
 				'allowOnMultiple' => false,
1074 1073
 			),
1075 1074
 			'calendar' => array(
@@ -1288,24 +1287,24 @@  discard block
 block discarded – undo
1288 1287
 	 * @param array &$rows
1289 1288
 	 * @param array &$readonlys
1290 1289
 	 */
1291
-	public static function get_rows(&$query,&$rows,&$readonlys)
1290
+	public static function get_rows(&$query, &$rows, &$readonlys)
1292 1291
 	{
1293
-		unset($readonlys);	// not used, but required by function signature
1292
+		unset($readonlys); // not used, but required by function signature
1294 1293
 
1295 1294
 		// handle possible profile change in get_rows
1296 1295
 		if (!empty($query['selectedFolder']))
1297 1296
 		{
1298
-			list($_profileID,$folderName) = explode(self::$delimiter, $query['selectedFolder'], 2);
1297
+			list($_profileID, $folderName) = explode(self::$delimiter, $query['selectedFolder'], 2);
1299 1298
 			if (is_numeric(($_profileID)) && $_profileID != $GLOBALS['egw_info']['user']['preferences']['mail']['ActiveProfileID'])
1300 1299
 			{
1301 1300
 				try {
1302
-					$mail_ui = new mail_ui(false);	// do NOT run constructor, as we change profile anyway
1301
+					$mail_ui = new mail_ui(false); // do NOT run constructor, as we change profile anyway
1303 1302
 					$mail_ui->changeProfile($_profileID);
1304 1303
 					$query['actions'] = $mail_ui->get_actions();
1305 1304
 				}
1306
-				catch(Exception $e)
1305
+				catch (Exception $e)
1307 1306
 				{
1308
-					$rows=array();
1307
+					$rows = array();
1309 1308
 					return 0;
1310 1309
 				}
1311 1310
 				if (empty($folderName)) $query['selectedFolder'] = $_profileID.self::$delimiter.'INBOX';
@@ -1313,7 +1312,7 @@  discard block
 block discarded – undo
1313 1312
 		}
1314 1313
 		if (!isset($mail_ui))
1315 1314
 		{
1316
-			$mail_ui = new mail_ui(true);	// run constructor for current profile
1315
+			$mail_ui = new mail_ui(true); // run constructor for current profile
1317 1316
 			if (empty($query['selectedFolder'])) $query['selectedFolder'] = $mail_ui->mail_bo->profileID.self::$delimiter.'INBOX';
1318 1317
 		}
1319 1318
 		//error_log(__METHOD__.__LINE__.' SelectedFolder:'.$query['selectedFolder'].' Start:'.$query['start'].' NumRows:'.$query['num_rows'].array2string($query['order']).'->'.array2string($query['sort']));
@@ -1322,68 +1321,68 @@  discard block
 block discarded – undo
1322 1321
 		//$query['search'] is the phrase in the searchbox
1323 1322
 
1324 1323
 		$mail_ui->mail_bo->restoreSessionData();
1325
-		if (isset($query['selectedFolder'])) $mail_ui->mail_bo->sessionData['mailbox']=$query['selectedFolder'];
1324
+		if (isset($query['selectedFolder'])) $mail_ui->mail_bo->sessionData['mailbox'] = $query['selectedFolder'];
1326 1325
 		$mail_ui->mail_bo->saveSessionData();
1327 1326
 
1328 1327
 		$sRToFetch = null;
1329
-		list($_profileID,$_folderName) = explode(self::$delimiter,$query['selectedFolder'],2);
1330
-		if (strpos($_folderName,self::$delimiter)!==false)
1328
+		list($_profileID, $_folderName) = explode(self::$delimiter, $query['selectedFolder'], 2);
1329
+		if (strpos($_folderName, self::$delimiter) !== false)
1331 1330
 		{
1332
-			list($app,$_profileID,$_folderName) = explode(self::$delimiter,$_folderName,3);
1331
+			list($app, $_profileID, $_folderName) = explode(self::$delimiter, $_folderName, 3);
1333 1332
 			unset($app);
1334 1333
 		}
1335 1334
 		//save selected Folder to sessionData (mailbox)->currentFolder
1336
-		if (isset($query['selectedFolder'])) $mail_ui->mail_bo->sessionData['mailbox']=$_folderName;
1337
-		$toSchema = false;//decides to select list schema with column to selected (if false fromaddress is default)
1335
+		if (isset($query['selectedFolder'])) $mail_ui->mail_bo->sessionData['mailbox'] = $_folderName;
1336
+		$toSchema = false; //decides to select list schema with column to selected (if false fromaddress is default)
1338 1337
 		if ($mail_ui->mail_bo->folderExists($_folderName))
1339 1338
 		{
1340
-			$toSchema = $mail_ui->mail_bo->isDraftFolder($_folderName,false)||$mail_ui->mail_bo->isSentFolder($_folderName,false)||$mail_ui->mail_bo->isTemplateFolder($_folderName,false);
1339
+			$toSchema = $mail_ui->mail_bo->isDraftFolder($_folderName, false) || $mail_ui->mail_bo->isSentFolder($_folderName, false) || $mail_ui->mail_bo->isTemplateFolder($_folderName, false);
1341 1340
 		}
1342 1341
 		else
1343 1342
 		{
1344 1343
 			// take the extra time on failure
1345
-			if (!$mail_ui->mail_bo->folderExists($_folderName,true))
1344
+			if (!$mail_ui->mail_bo->folderExists($_folderName, true))
1346 1345
 			{
1347 1346
 				//error_log(__METHOD__.__LINE__.' Test on Folder:'.$_folderName.' failed; Using INBOX instead');
1348
-				$query['selectedFolder']=$mail_ui->mail_bo->sessionData['mailbox']=$_folderName='INBOX';
1347
+				$query['selectedFolder'] = $mail_ui->mail_bo->sessionData['mailbox'] = $_folderName = 'INBOX';
1349 1348
 			}
1350 1349
 		}
1351 1350
 		$mail_ui->mail_bo->saveSessionData();
1352 1351
 		$rowsFetched['messages'] = null;
1353
-		$offset = $query['start']+1; // we always start with 1
1352
+		$offset = $query['start'] + 1; // we always start with 1
1354 1353
 		$maxMessages = $query['num_rows'];
1355 1354
 		//error_log(__METHOD__.__LINE__.array2string($query));
1356
-		$sort = ($query['order']=='address'?($toSchema?'toaddress':'fromaddress'):$query['order']);
1357
-		if (!empty($query['search'])||($query['cat_id']=='bydate' && (!empty($query['startdate'])||!empty($query['enddate']))))
1355
+		$sort = ($query['order'] == 'address' ? ($toSchema ? 'toaddress' : 'fromaddress') : $query['order']);
1356
+		if (!empty($query['search']) || ($query['cat_id'] == 'bydate' && (!empty($query['startdate']) || !empty($query['enddate']))))
1358 1357
 		{
1359 1358
 			if (is_null(Mail::$supportsORinQuery) || !isset(Mail::$supportsORinQuery[$mail_ui->mail_bo->profileID]))
1360 1359
 			{
1361
-				Mail::$supportsORinQuery = Api\Cache::getCache(Api\Cache::INSTANCE,'email','supportsORinQuery'.trim($GLOBALS['egw_info']['user']['account_id']), null, array(), 60*60*10);
1360
+				Mail::$supportsORinQuery = Api\Cache::getCache(Api\Cache::INSTANCE, 'email', 'supportsORinQuery'.trim($GLOBALS['egw_info']['user']['account_id']), null, array(), 60 * 60 * 10);
1362 1361
 				if (!isset(Mail::$supportsORinQuery[$mail_ui->mail_bo->profileID]))
1363 1362
 				{
1364
-					Mail::$supportsORinQuery[$mail_ui->mail_bo->profileID]=true;
1363
+					Mail::$supportsORinQuery[$mail_ui->mail_bo->profileID] = true;
1365 1364
 				}
1366 1365
 			}
1367 1366
 			//error_log(__METHOD__.__LINE__.' Startdate:'.$query['startdate'].' Enddate'.$query['enddate']);
1368 1367
 			$cutoffdate = $cutoffdate2 = null;
1369
-			if ($query['startdate']) $cutoffdate = Api\DateTime::to($query['startdate'],'ts');//SINCE, enddate
1370
-			if ($query['enddate']) $cutoffdate2 = Api\DateTime::to($query['enddate'],'ts');//BEFORE, startdate
1368
+			if ($query['startdate']) $cutoffdate = Api\DateTime::to($query['startdate'], 'ts'); //SINCE, enddate
1369
+			if ($query['enddate']) $cutoffdate2 = Api\DateTime::to($query['enddate'], 'ts'); //BEFORE, startdate
1371 1370
 			//error_log(__METHOD__.__LINE__.' Startdate:'.$cutoffdate2.' Enddate'.$cutoffdate);
1372 1371
 			$filter = array(
1373
-				'filterName' => (Mail::$supportsORinQuery[$mail_ui->mail_bo->profileID]?lang('quicksearch'):lang('subject')),
1374
-				'type' => ($query['cat_id']?$query['cat_id']:(Mail::$supportsORinQuery[$mail_ui->mail_bo->profileID]?'quick':'subject')),
1372
+				'filterName' => (Mail::$supportsORinQuery[$mail_ui->mail_bo->profileID] ? lang('quicksearch') : lang('subject')),
1373
+				'type' => ($query['cat_id'] ? $query['cat_id'] : (Mail::$supportsORinQuery[$mail_ui->mail_bo->profileID] ? 'quick' : 'subject')),
1375 1374
 				'string' => $query['search'],
1376 1375
 				'status' => 'any',
1377 1376
 				//'range'=>"BETWEEN",'since'=> date("d-M-Y", $cutoffdate),'before'=> date("d-M-Y", $cutoffdate2)
1378 1377
 			);
1379
-			if ($query['enddate']||$query['startdate']) {
1378
+			if ($query['enddate'] || $query['startdate']) {
1380 1379
 				$filter['range'] = "BETWEEN";
1381 1380
 				if ($cutoffdate) {
1382
-					$filter[(empty($cutoffdate2)?'date':'since')] =  date("d-M-Y", $cutoffdate);
1381
+					$filter[(empty($cutoffdate2) ? 'date' : 'since')] = date("d-M-Y", $cutoffdate);
1383 1382
 					if (empty($cutoffdate2)) $filter['range'] = "SINCE";
1384 1383
 				}
1385 1384
 				if ($cutoffdate2) {
1386
-					$filter[(empty($cutoffdate)?'date':'before')] =  date("d-M-Y", $cutoffdate2);
1385
+					$filter[(empty($cutoffdate) ? 'date' : 'before')] = date("d-M-Y", $cutoffdate2);
1387 1386
 					if (empty($cutoffdate)) $filter['range'] = "BEFORE";
1388 1387
 				}
1389 1388
 			}
@@ -1396,17 +1395,17 @@  discard block
 block discarded – undo
1396 1395
 		{
1397 1396
 			$filter['status'] = $query['filter'];
1398 1397
 		}
1399
-		$reverse = ($query['sort']=='ASC'?false:true);
1398
+		$reverse = ($query['sort'] == 'ASC' ? false : true);
1400 1399
 		$prefchanged = false;
1401
-		if (!isset($GLOBALS['egw_info']['user']['preferences']['mail']['ActiveSearchType']) || ($query['cat_id'] !=$GLOBALS['egw_info']['user']['preferences']['mail']['ActiveSearchType']))
1400
+		if (!isset($GLOBALS['egw_info']['user']['preferences']['mail']['ActiveSearchType']) || ($query['cat_id'] != $GLOBALS['egw_info']['user']['preferences']['mail']['ActiveSearchType']))
1402 1401
 		{
1403 1402
 			//error_log(__METHOD__.__LINE__.' Changing userPref ActivesearchType:'.$query['cat_id']);
1404
-			$GLOBALS['egw']->preferences->add('mail','ActiveSearchType',$query['cat_id'],'user');
1403
+			$GLOBALS['egw']->preferences->add('mail', 'ActiveSearchType', $query['cat_id'], 'user');
1405 1404
 			$prefchanged = true;
1406 1405
 		}
1407
-		if (!isset($GLOBALS['egw_info']['user']['preferences']['mail']['ShowDetails']) || ($query['filter2'] !=$GLOBALS['egw_info']['user']['preferences']['mail']['ShowDetails']))
1406
+		if (!isset($GLOBALS['egw_info']['user']['preferences']['mail']['ShowDetails']) || ($query['filter2'] != $GLOBALS['egw_info']['user']['preferences']['mail']['ShowDetails']))
1408 1407
 		{
1409
-			$GLOBALS['egw']->preferences->add('mail','ShowDetails',$query['filter2'],'user');
1408
+			$GLOBALS['egw']->preferences->add('mail', 'ShowDetails', $query['filter2'], 'user');
1410 1409
 			$prefchanged = true;
1411 1410
 		}
1412 1411
 		if ($prefchanged)
@@ -1431,18 +1430,18 @@  discard block
 block discarded – undo
1431 1430
 					$sort,
1432 1431
 					$reverse,
1433 1432
 					$filter,
1434
-					$rByUid=true
1433
+					$rByUid = true
1435 1434
 				);
1436 1435
 				$rowsFetched['messages'] = $_sR['count'];
1437 1436
 				$ids = $_sR['match']->ids;
1438 1437
 				// if $sR is false, something failed fundamentally
1439
-				if($reverse === true) $ids = ($ids===false?array():array_reverse((array)$ids));
1440
-				$sR = array_slice((array)$ids,($offset==0?0:$offset-1),$maxMessages); // we need only $maxMessages of uids
1441
-				$sRToFetch = $sR;//array_slice($sR,0,50); // we fetch only the headers of a subset of the fetched uids
1438
+				if ($reverse === true) $ids = ($ids === false ? array() : array_reverse((array)$ids));
1439
+				$sR = array_slice((array)$ids, ($offset == 0 ? 0 : $offset - 1), $maxMessages); // we need only $maxMessages of uids
1440
+				$sRToFetch = $sR; //array_slice($sR,0,50); // we fetch only the headers of a subset of the fetched uids
1442 1441
 				//error_log(__METHOD__.__LINE__.' Rows fetched (UID only):'.count($sR).' Data:'.array2string($sR));
1443 1442
 				$maxMessages = 75;
1444 1443
 				$sortResultwH['header'] = array();
1445
-				if (count($sRToFetch)>0)
1444
+				if (count($sRToFetch) > 0)
1446 1445
 				{
1447 1446
 					//error_log(__METHOD__.__LINE__.' Headers to fetch with UIDs:'.count($sRToFetch).' Data:'.array2string($sRToFetch));
1448 1447
 					$sortResult = array();
@@ -1456,7 +1455,7 @@  discard block
 block discarded – undo
1456 1455
 						$filter,
1457 1456
 						$sRToFetch,
1458 1457
 						true, //cacheResult
1459
-						($query['filter2']?true:false) // fetchPreview
1458
+						($query['filter2'] ? true : false) // fetchPreview
1460 1459
 					);
1461 1460
 				}
1462 1461
 			}
@@ -1473,30 +1472,30 @@  discard block
 block discarded – undo
1473 1472
 					$filter,
1474 1473
 					null, // this uids only
1475 1474
 					true, // cacheResult
1476
-					($query['filter2']?true:false) // fetchPreview
1475
+					($query['filter2'] ? true : false) // fetchPreview
1477 1476
 				);
1478 1477
 				$rowsFetched['messages'] = $sortResultwH['info']['total'];
1479 1478
 			}
1480 1479
 		}
1481 1480
 		catch (Exception $e)
1482 1481
 		{
1483
-			$sortResultwH=array();
1484
-			$sR=array();
1482
+			$sortResultwH = array();
1483
+			$sR = array();
1485 1484
 			self::callWizard($e->getMessage(), false, 'error');
1486 1485
 		}
1487 1486
 		$response = Api\Json\Response::get();
1488 1487
 		// unlock immediately after fetching the rows
1489
-		if (stripos($_GET['menuaction'],'ajax_get_rows')!==false)
1488
+		if (stripos($_GET['menuaction'], 'ajax_get_rows') !== false)
1490 1489
 		{
1491 1490
 			//error_log(__METHOD__.__LINE__.' unlock tree ->'.$_GET['menuaction']);
1492 1491
 			$response->call('app.mail.unlock_tree');
1493 1492
 		}
1494 1493
 
1495
-		if (is_array($sR) && count($sR)>0)
1494
+		if (is_array($sR) && count($sR) > 0)
1496 1495
 		{
1497 1496
 			foreach ((array)$sR as $key => $v)
1498 1497
 			{
1499
-				if (array_key_exists($key,(array)$sortResultwH['header'])==true)
1498
+				if (array_key_exists($key, (array)$sortResultwH['header']) == true)
1500 1499
 				{
1501 1500
 					$sortResult['header'][] = $sortResultwH['header'][$key];
1502 1501
 				}
@@ -1514,12 +1513,12 @@  discard block
 block discarded – undo
1514 1513
 		if (empty($rowsFetched['messages'])) $rowsFetched['messages'] = $rowsFetched['rowsFetched'];
1515 1514
 
1516 1515
 		//error_log(__METHOD__.__LINE__.' Rows fetched:'.$rowsFetched.' Data:'.array2string($sortResult));
1517
-		$cols = array('row_id','uid','status','attachments','subject','address','toaddress','fromaddress','ccaddress','additionaltoaddress','date','size','modified','bodypreview');
1518
-		if ($GLOBALS['egw_info']['user']['preferences']['common']['select_mode']=='EGW_SELECTMODE_TOGGLE') unset($cols[0]);
1519
-		$rows = $mail_ui->header2gridelements($sortResult['header'],$cols, $_folderName, $folderType=$toSchema);
1516
+		$cols = array('row_id', 'uid', 'status', 'attachments', 'subject', 'address', 'toaddress', 'fromaddress', 'ccaddress', 'additionaltoaddress', 'date', 'size', 'modified', 'bodypreview');
1517
+		if ($GLOBALS['egw_info']['user']['preferences']['common']['select_mode'] == 'EGW_SELECTMODE_TOGGLE') unset($cols[0]);
1518
+		$rows = $mail_ui->header2gridelements($sortResult['header'], $cols, $_folderName, $folderType = $toSchema);
1520 1519
 		//error_log(__METHOD__.__LINE__.array2string($rows));
1521 1520
 
1522
-		if (Mail::$debugTimes) Mail::logRunTimes($starttime,null,'Folder:'.$_folderName.' Start:'.$query['start'].' NumRows:'.$query['num_rows'],__METHOD__.__LINE__);
1521
+		if (Mail::$debugTimes) Mail::logRunTimes($starttime, null, 'Folder:'.$_folderName.' Start:'.$query['start'].' NumRows:'.$query['num_rows'], __METHOD__.__LINE__);
1523 1522
 		return $rowsFetched['messages'];
1524 1523
 	}
1525 1524
 
@@ -1531,7 +1530,7 @@  discard block
 block discarded – undo
1531 1530
 	 * @param boolean $_prependApp to indicate that the app 'mail' is to be used for creating the rowID
1532 1531
 	 * @return string - a colon separated string in the form [app:]accountID:profileID:folder:message_uid
1533 1532
 	 */
1534
-	function createRowID($_folderName, $message_uid, $_prependApp=false)
1533
+	function createRowID($_folderName, $message_uid, $_prependApp = false)
1535 1534
 	{
1536 1535
 		return self::generateRowID($this->mail_bo->profileID, $_folderName, $message_uid, $_prependApp);
1537 1536
 	}
@@ -1545,9 +1544,9 @@  discard block
 block discarded – undo
1545 1544
 	 * @param boolean $_prependApp to indicate that the app 'mail' is to be used for creating the rowID
1546 1545
 	 * @return string - a colon separated string in the form [app:]accountID:profileID:folder:message_uid
1547 1546
 	 */
1548
-	static function generateRowID($_profileID, $_folderName, $message_uid, $_prependApp=false)
1547
+	static function generateRowID($_profileID, $_folderName, $message_uid, $_prependApp = false)
1549 1548
 	{
1550
-		return ($_prependApp?'mail'.self::$delimiter:'').trim($GLOBALS['egw_info']['user']['account_id']).self::$delimiter.$_profileID.self::$delimiter.base64_encode($_folderName).self::$delimiter.$message_uid;
1549
+		return ($_prependApp ? 'mail'.self::$delimiter : '').trim($GLOBALS['egw_info']['user']['account_id']).self::$delimiter.$_profileID.self::$delimiter.base64_encode($_folderName).self::$delimiter.$message_uid;
1551 1550
 	}
1552 1551
 
1553 1552
 	/**
@@ -1558,13 +1557,13 @@  discard block
 block discarded – undo
1558 1557
 	 */
1559 1558
 	static function splitRowID($_rowID)
1560 1559
 	{
1561
-		$res = explode(self::$delimiter,$_rowID);
1560
+		$res = explode(self::$delimiter, $_rowID);
1562 1561
 		// as a rowID is perceeded by app::, should be mail!
1563 1562
 		//error_log(__METHOD__.__LINE__.array2string($res).' [0] isInt:'.is_int($res[0]).' [0] isNumeric:'.is_numeric($res[0]).' [0] isString:'.is_string($res[0]).' Count:'.count($res));
1564
-		if (count($res)==4 && is_numeric($res[0]) )
1563
+		if (count($res) == 4 && is_numeric($res[0]))
1565 1564
 		{
1566 1565
 			// we have an own created rowID; prepend app=mail
1567
-			array_unshift($res,'mail');
1566
+			array_unshift($res, 'mail');
1568 1567
 		}
1569 1568
 		return array('app'=>$res[0], 'accountID'=>$res[1], 'profileID'=>$res[2], 'folder'=>base64_decode($res[3]), 'msgUID'=>$res[4]);
1570 1569
 	}
@@ -1578,56 +1577,56 @@  discard block
 block discarded – undo
1578 1577
 	{
1579 1578
 		$actions = $this->get_actions();
1580 1579
 		$arrActions = array('composeasnew', 'reply', 'reply_all', 'forward', 'flagged', 'delete', 'print',
1581
-			'infolog', 'tracker', 'calendar', 'save', 'view', 'read', 'label1',	'label2', 'label3',	'label4', 'label5');
1582
-		foreach( $arrActions as &$act)
1580
+			'infolog', 'tracker', 'calendar', 'save', 'view', 'read', 'label1', 'label2', 'label3', 'label4', 'label5');
1581
+		foreach ($arrActions as &$act)
1583 1582
 		{
1584 1583
 			//error_log(__METHOD__.__LINE__.' '.$act.'->'.array2string($actions[$act]));
1585 1584
 			switch ($act)
1586 1585
 			{
1587 1586
 				case 'forward':
1588
-					$actionsenabled[$act]=$actions[$act];
1587
+					$actionsenabled[$act] = $actions[$act];
1589 1588
 					break;
1590 1589
 				case 'save':
1591
-					$actionsenabled[$act]=$actions[$act];
1590
+					$actionsenabled[$act] = $actions[$act];
1592 1591
 
1593 1592
 					break;
1594 1593
 				case 'view':
1595
-					$actionsenabled[$act]=$actions[$act];
1594
+					$actionsenabled[$act] = $actions[$act];
1596 1595
 					break;
1597 1596
 				case 'flagged':
1598
-					$actionsenabled[$act]= $actions['mark']['children'][$act];
1597
+					$actionsenabled[$act] = $actions['mark']['children'][$act];
1599 1598
 					break;
1600 1599
 				case 'read':
1601
-					$actionsenabled[$act]= $actions['mark']['children'][$act];
1600
+					$actionsenabled[$act] = $actions['mark']['children'][$act];
1602 1601
 					break;
1603 1602
 				case 'label1':
1604 1603
 					$actions['mark']['children']['setLabel']['children'][$act]['caption'] = lang('important');
1605
-					$actionsenabled[$act]= $actions['mark']['children']['setLabel']['children'][$act];
1604
+					$actionsenabled[$act] = $actions['mark']['children']['setLabel']['children'][$act];
1606 1605
 					break;
1607 1606
 				case 'label2':
1608 1607
 					$actions['mark']['children']['setLabel']['children'][$act]['caption'] = lang('job');
1609
-					$actionsenabled[$act]= $actions['mark']['children']['setLabel']['children'][$act];
1608
+					$actionsenabled[$act] = $actions['mark']['children']['setLabel']['children'][$act];
1610 1609
 					break;
1611 1610
 				case 'label3':
1612 1611
 					$actions['mark']['children']['setLabel']['children'][$act]['caption'] = lang('personal');
1613
-					$actionsenabled[$act]= $actions['mark']['children']['setLabel']['children'][$act];
1612
+					$actionsenabled[$act] = $actions['mark']['children']['setLabel']['children'][$act];
1614 1613
 					break;
1615 1614
 				case 'label4':
1616 1615
 					$actions['mark']['children']['setLabel']['children'][$act]['caption'] = lang('to do');
1617
-					$actionsenabled[$act]= $actions['mark']['children']['setLabel']['children'][$act];
1616
+					$actionsenabled[$act] = $actions['mark']['children']['setLabel']['children'][$act];
1618 1617
 					break;
1619 1618
 				case 'label5':
1620 1619
 					$actions['mark']['children']['setLabel']['children'][$act]['caption'] = lang('later');
1621
-					$actionsenabled[$act]= $actions['mark']['children']['setLabel']['children'][$act];
1620
+					$actionsenabled[$act] = $actions['mark']['children']['setLabel']['children'][$act];
1622 1621
 					break;
1623 1622
 				default:
1624
-					if (isset($actions[$act])) $actionsenabled[$act]=$actions[$act];
1623
+					if (isset($actions[$act])) $actionsenabled[$act] = $actions[$act];
1625 1624
 			}
1626 1625
 		}
1627 1626
 		unset($actionsenabled['drag_mail']);
1628 1627
 		//error_log(array2string($actionsenabled['view']));
1629
-		unset($actionsenabled['view']['children']['openastext']);//not supported in preview
1630
-		unset($actionsenabled['view']['children']['openashtml']);//not supported in preview
1628
+		unset($actionsenabled['view']['children']['openastext']); //not supported in preview
1629
+		unset($actionsenabled['view']['children']['openashtml']); //not supported in preview
1631 1630
 
1632 1631
 		return $actionsenabled;
1633 1632
 	}
@@ -1641,45 +1640,45 @@  discard block
 block discarded – undo
1641 1640
 	 * @param array $_folderType used to determine if we need to populate from/to
1642 1641
 	 * @return array populated result array
1643 1642
 	 */
1644
-	public function header2gridelements($_headers, $cols, $_folderName, $_folderType=0)
1643
+	public function header2gridelements($_headers, $cols, $_folderName, $_folderType = 0)
1645 1644
 	{
1646 1645
 		if (Mail::$debugTimes) $starttime = microtime(true);
1647 1646
 		$rv = array();
1648
-		$i=0;
1649
-		foreach((array)$_headers as $header)
1647
+		$i = 0;
1648
+		foreach ((array)$_headers as $header)
1650 1649
 		{
1651 1650
 			$i++;
1652 1651
 			$data = array();
1653 1652
 			//error_log(__METHOD__.array2string($header));
1654 1653
 			$message_uid = $header['uid'];
1655 1654
 			$data['uid'] = $message_uid;
1656
-			$data['row_id']=$this->createRowID($_folderName,$message_uid);
1655
+			$data['row_id'] = $this->createRowID($_folderName, $message_uid);
1657 1656
 
1658 1657
 			$flags = "";
1659
-			if(!empty($header['recent'])) $flags .= "R";
1660
-			if(!empty($header['flagged'])) $flags .= "F";
1661
-			if(!empty($header['answered'])) $flags .= "A";
1662
-			if(!empty($header['forwarded'])) $flags .= "W";
1663
-			if(!empty($header['deleted'])) $flags .= "D";
1664
-			if(!empty($header['seen'])) $flags .= "S";
1665
-			if(!empty($header['label1'])) $flags .= "1";
1666
-			if(!empty($header['label2'])) $flags .= "2";
1667
-			if(!empty($header['label3'])) $flags .= "3";
1668
-			if(!empty($header['label4'])) $flags .= "4";
1669
-			if(!empty($header['label5'])) $flags .= "5";
1658
+			if (!empty($header['recent'])) $flags .= "R";
1659
+			if (!empty($header['flagged'])) $flags .= "F";
1660
+			if (!empty($header['answered'])) $flags .= "A";
1661
+			if (!empty($header['forwarded'])) $flags .= "W";
1662
+			if (!empty($header['deleted'])) $flags .= "D";
1663
+			if (!empty($header['seen'])) $flags .= "S";
1664
+			if (!empty($header['label1'])) $flags .= "1";
1665
+			if (!empty($header['label2'])) $flags .= "2";
1666
+			if (!empty($header['label3'])) $flags .= "3";
1667
+			if (!empty($header['label4'])) $flags .= "4";
1668
+			if (!empty($header['label5'])) $flags .= "5";
1670 1669
 
1671 1670
 			$data["status"] = "<span class=\"status_img\"></span>";
1672 1671
 			//error_log(__METHOD__.array2string($header).' Flags:'.$flags);
1673 1672
 
1674 1673
 			// the css for this row
1675
-			$is_recent=false;
1674
+			$is_recent = false;
1676 1675
 			$css_styles = array("mail");
1677 1676
 			if ($header['deleted']) {
1678 1677
 				$css_styles[] = 'deleted';
1679 1678
 			}
1680 1679
 			if ($header['recent'] && !($header['deleted'] || $header['seen'] || $header['answered'] || $header['forwarded'])) {
1681 1680
 				$css_styles[] = 'recent';
1682
-				$is_recent=true;
1681
+				$is_recent = true;
1683 1682
 			}
1684 1683
 			if ($header['priority'] < 3) {
1685 1684
 				$css_styles[] = 'prio_high';
@@ -1717,19 +1716,19 @@  discard block
 block discarded – undo
1717 1716
 			if (in_array("subject", $cols))
1718 1717
 			{
1719 1718
 				// filter out undisplayable characters
1720
-				$search = array('[\016]','[\017]',
1721
-					'[\020]','[\021]','[\022]','[\023]','[\024]','[\025]','[\026]','[\027]',
1722
-					'[\030]','[\031]','[\032]','[\033]','[\034]','[\035]','[\036]','[\037]');
1719
+				$search = array('[\016]', '[\017]',
1720
+					'[\020]', '[\021]', '[\022]', '[\023]', '[\024]', '[\025]', '[\026]', '[\027]',
1721
+					'[\030]', '[\031]', '[\032]', '[\033]', '[\034]', '[\035]', '[\036]', '[\037]');
1723 1722
 				$replace = '';
1724 1723
 
1725
-				$header['subject'] = preg_replace($search,$replace,$header['subject']);
1724
+				$header['subject'] = preg_replace($search, $replace, $header['subject']);
1726 1725
 				// curly brackets get messed up by the template!
1727 1726
 
1728 1727
 				if (!empty($header['subject'])) {
1729 1728
 					// make the subject shorter if it is to long
1730 1729
 					$subject = $header['subject'];
1731 1730
 				} else {
1732
-					$subject = '('. lang('no subject') .')';
1731
+					$subject = '('.lang('no subject').')';
1733 1732
 				}
1734 1733
 
1735 1734
 				$data["subject"] = $subject; // the mailsubject
@@ -1739,53 +1738,53 @@  discard block
 block discarded – undo
1739 1738
 			//error_log(__METHOD__.__LINE__.array2string($header));
1740 1739
 			if (in_array("attachments", $cols))
1741 1740
 			{
1742
-				if($header['mimetype'] == 'multipart/mixed' ||
1741
+				if ($header['mimetype'] == 'multipart/mixed' ||
1743 1742
 					$header['mimetype'] == 'multipart/signed' ||
1744 1743
 					$header['mimetype'] == 'multipart/related' ||
1745 1744
 					$header['mimetype'] == 'multipart/report' ||
1746 1745
 					$header['mimetype'] == 'text/calendar' ||
1747 1746
 					$header['mimetype'] == 'text/html' ||
1748
-					substr($header['mimetype'],0,11) == 'application' ||
1749
-					substr($header['mimetype'],0,5) == 'audio' ||
1750
-					substr($header['mimetype'],0,5) == 'video' ||
1747
+					substr($header['mimetype'], 0, 11) == 'application' ||
1748
+					substr($header['mimetype'], 0, 5) == 'audio' ||
1749
+					substr($header['mimetype'], 0, 5) == 'video' ||
1751 1750
 					$header['mimetype'] == 'multipart/alternative')
1752 1751
 				{
1753
-					$image = Api\Html::image('mail','attach');
1752
+					$image = Api\Html::image('mail', 'attach');
1754 1753
 					$imageHTMLBlock = '';
1755
-					$datarowid = $this->createRowID($_folderName,$message_uid,true);
1754
+					$datarowid = $this->createRowID($_folderName, $message_uid, true);
1756 1755
 					$attachments = $header['attachments'];
1757
-					if (count($attachments)<1)
1756
+					if (count($attachments) < 1)
1758 1757
 					{
1759 1758
 						$image = '&nbsp;';
1760 1759
 					}
1761
-					if (count($attachments)==1)
1760
+					if (count($attachments) == 1)
1762 1761
 					{
1763
-						$imageHTMLBlock = self::createAttachmentBlock($attachments, $datarowid, $header['uid'],$_folderName);
1764
-						$image = Api\Html::image('mail','attach',$attachments[0]['name'].(!empty($attachments[0]['mimeType'])?' ('.$attachments[0]['mimeType'].')':''));
1762
+						$imageHTMLBlock = self::createAttachmentBlock($attachments, $datarowid, $header['uid'], $_folderName);
1763
+						$image = Api\Html::image('mail', 'attach', $attachments[0]['name'].(!empty($attachments[0]['mimeType']) ? ' ('.$attachments[0]['mimeType'].')' : ''));
1765 1764
 					}
1766
-					if (count($attachments)>1)
1765
+					if (count($attachments) > 1)
1767 1766
 					{
1768
-						$imageHTMLBlock = self::createAttachmentBlock($attachments, $datarowid, $header['uid'],$_folderName);
1769
-						$image = Api\Html::image('mail','attach',lang('%1 attachments',count($attachments)));
1767
+						$imageHTMLBlock = self::createAttachmentBlock($attachments, $datarowid, $header['uid'], $_folderName);
1768
+						$image = Api\Html::image('mail', 'attach', lang('%1 attachments', count($attachments)));
1770 1769
 					}
1771 1770
 
1772 1771
 					$attachmentFlag = $image;
1773 1772
 				} else {
1774
-					$attachmentFlag ='&nbsp;';
1773
+					$attachmentFlag = '&nbsp;';
1775 1774
 				}
1776 1775
 				// show priority flag
1777 1776
 				if ($header['priority'] < 3) {
1778
-					 $image = Api\Html::image('mail','prio_high');
1777
+					 $image = Api\Html::image('mail', 'prio_high');
1779 1778
 				} elseif ($header['priority'] > 3) {
1780
-					$image = Api\Html::image('mail','prio_low');
1779
+					$image = Api\Html::image('mail', 'prio_low');
1781 1780
 				} else {
1782 1781
 					$image = '';
1783 1782
 				}
1784 1783
 				// show a flag for flagged messages
1785
-				$imageflagged ='';
1784
+				$imageflagged = '';
1786 1785
 				if ($header['flagged'])
1787 1786
 				{
1788
-					$imageflagged = Api\Html::image('mail','unread_flagged_small');
1787
+					$imageflagged = Api\Html::image('mail', 'unread_flagged_small');
1789 1788
 				}
1790 1789
 				$data["attachments"] = $image.$attachmentFlag.$imageflagged; // icon for attachments available
1791 1790
 			}
@@ -1794,7 +1793,7 @@  discard block
 block discarded – undo
1794 1793
 			if (in_array("toaddress", $cols))
1795 1794
 			{
1796 1795
 				// sent or drafts or template folder means foldertype > 0, use to address instead of from
1797
-				$data["toaddress"] = $header['to_address'];//Mail::htmlentities($header['to_address'],$this->charset);
1796
+				$data["toaddress"] = $header['to_address']; //Mail::htmlentities($header['to_address'],$this->charset);
1798 1797
 			}
1799 1798
 
1800 1799
 			if (in_array("additionaltoaddress", $cols))
@@ -1827,29 +1826,29 @@  discard block
 block discarded – undo
1827 1826
 			$data['flags'] = Array();
1828 1827
 			if ($header['seen']) $data["flags"]['read'] = 'read';
1829 1828
 			foreach ($css_styles as &$flag) {
1830
-				if ($flag!='mail')
1829
+				if ($flag != 'mail')
1831 1830
 				{
1832
-					if ($flag=='labelone') {$data["flags"]['label1'] = 'label1';}
1833
-					elseif ($flag=='labeltwo') {$data["flags"]['label2'] = 'label2';}
1834
-					elseif ($flag=='labelthree') {$data["flags"]['label3'] = 'label3';}
1835
-					elseif ($flag=='labelfour') {$data["flags"]['label4'] = 'label4';}
1836
-					elseif ($flag=='labelfive') {$data["flags"]['label5'] = 'label5';}
1837
-					elseif ($flag=='unseen') {unset($data["flags"]['read']);}
1831
+					if ($flag == 'labelone') {$data["flags"]['label1'] = 'label1'; }
1832
+					elseif ($flag == 'labeltwo') {$data["flags"]['label2'] = 'label2'; }
1833
+					elseif ($flag == 'labelthree') {$data["flags"]['label3'] = 'label3'; }
1834
+					elseif ($flag == 'labelfour') {$data["flags"]['label4'] = 'label4'; }
1835
+					elseif ($flag == 'labelfive') {$data["flags"]['label5'] = 'label5'; }
1836
+					elseif ($flag == 'unseen') {unset($data["flags"]['read']); }
1838 1837
 					else $data["flags"][$flag] = $flag;
1839 1838
 				}
1840 1839
 			}
1841 1840
 			if ($header['disposition-notification-to']) $data['dispositionnotificationto'] = $header['disposition-notification-to'];
1842
-			if (($header['mdnsent']||$header['mdnnotsent']|$header['seen'])&&isset($data['dispositionnotificationto'])) unset($data['dispositionnotificationto']);
1841
+			if (($header['mdnsent'] || $header['mdnnotsent']|$header['seen']) && isset($data['dispositionnotificationto'])) unset($data['dispositionnotificationto']);
1843 1842
 			$data['attachmentsBlock'] = $imageHTMLBlock;
1844
-			$data['address'] = ($_folderType?$data["toaddress"]:$data["fromaddress"]);
1845
-			if (in_array("bodypreview", $cols)&&$header['bodypreview'])
1843
+			$data['address'] = ($_folderType ? $data["toaddress"] : $data["fromaddress"]);
1844
+			if (in_array("bodypreview", $cols) && $header['bodypreview'])
1846 1845
 			{
1847 1846
 				$data["bodypreview"] = $header['bodypreview'];
1848 1847
 			}
1849 1848
 			$rv[] = $data;
1850 1849
 			//error_log(__METHOD__.__LINE__.array2string($data));
1851 1850
 		}
1852
-		if (Mail::$debugTimes) Mail::logRunTimes($starttime,null,'Folder:'.$_folderName,__METHOD__.__LINE__);
1851
+		if (Mail::$debugTimes) Mail::logRunTimes($starttime, null, 'Folder:'.$_folderName, __METHOD__.__LINE__);
1853 1852
 
1854 1853
 		// ToDo: call this ONLY if labels change
1855 1854
 		Etemplate\Widget::setElementAttribute('toolbar', 'actions', $this->get_toolbar_actions());
@@ -1864,8 +1863,8 @@  discard block
 block discarded – undo
1864 1863
 	 */
1865 1864
 	function displayHeader()
1866 1865
 	{
1867
-		if(isset($_GET['id'])) $rowID	= $_GET['id'];
1868
-		if(isset($_GET['part'])) $partID = $_GET['part'];
1866
+		if (isset($_GET['id'])) $rowID = $_GET['id'];
1867
+		if (isset($_GET['part'])) $partID = $_GET['part'];
1869 1868
 
1870 1869
 		$hA = self::splitRowID($rowID);
1871 1870
 		$uid = $hA['msgUID'];
@@ -1879,17 +1878,17 @@  discard block
 block discarded – undo
1879 1878
 		}
1880 1879
 
1881 1880
 		$this->mail_bo->reopen($mailbox);
1882
-		$headers_in	= $this->mail_bo->getMessageRawHeader($uid, $partID);
1881
+		$headers_in = $this->mail_bo->getMessageRawHeader($uid, $partID);
1883 1882
 
1884 1883
 		// add line breaks to $rawheaders
1885
-		$newRawHeaders = explode("\n",$headers_in);
1884
+		$newRawHeaders = explode("\n", $headers_in);
1886 1885
 		reset($newRawHeaders);
1887 1886
 
1888 1887
 		// reset $rawheaders
1889
-		$rawheaders 	= "";
1888
+		$rawheaders = "";
1890 1889
 		// create it new, with good line breaks
1891 1890
 		reset($newRawHeaders);
1892
-		while(list($key,$value) = @each($newRawHeaders)) {
1891
+		while (list($key, $value) = @each($newRawHeaders)) {
1893 1892
 			$rawheaders .= wordwrap($value, 90, "\n     ");
1894 1893
 		}
1895 1894
 
@@ -1901,7 +1900,7 @@  discard block
 block discarded – undo
1901 1900
 		}
1902 1901
 
1903 1902
 		header('Content-type: text/html; charset=iso-8859-1');
1904
-		print '<pre>'. htmlspecialchars($rawheaders, ENT_NOQUOTES, 'iso-8859-1') .'</pre>';
1903
+		print '<pre>'.htmlspecialchars($rawheaders, ENT_NOQUOTES, 'iso-8859-1').'</pre>';
1905 1904
 
1906 1905
 	}
1907 1906
 
@@ -1914,10 +1913,10 @@  discard block
 block discarded – undo
1914 1913
 	{
1915 1914
 		if (is_null($_requesteddata)) $_requesteddata = $_GET;
1916 1915
 
1917
-		$preventRedirect=false;
1918
-		if(isset($_requesteddata['id'])) $rowID	= $_requesteddata['id'];
1919
-		if(isset($_requesteddata['part'])) $partID = $_requesteddata['part']!='null'?$_requesteddata['part']:null;
1920
-		if(isset($_requesteddata['mode'])) $preventRedirect   = (($_requesteddata['mode']=='display' || $_requesteddata['mode'] == 'print')?true:false);
1916
+		$preventRedirect = false;
1917
+		if (isset($_requesteddata['id'])) $rowID = $_requesteddata['id'];
1918
+		if (isset($_requesteddata['part'])) $partID = $_requesteddata['part'] != 'null' ? $_requesteddata['part'] : null;
1919
+		if (isset($_requesteddata['mode'])) $preventRedirect = (($_requesteddata['mode'] == 'display' || $_requesteddata['mode'] == 'print') ? true : false);
1921 1920
 
1922 1921
 		$hA = self::splitRowID($rowID);
1923 1922
 		$uid = $hA['msgUID'];
@@ -1941,79 +1940,79 @@  discard block
 block discarded – undo
1941 1940
 		}
1942 1941
 		if (!$preventRedirect && ($this->mail_bo->isDraftFolder($mailbox) || $this->mail_bo->isTemplateFolder($mailbox)))
1943 1942
 		{
1944
-			Egw::redirect_link('/index.php',array('menuaction'=>'mail.mail_compose.compose','id'=>$rowID,'from'=>'composefromdraft'));
1943
+			Egw::redirect_link('/index.php', array('menuaction'=>'mail.mail_compose.compose', 'id'=>$rowID, 'from'=>'composefromdraft'));
1945 1944
 		}
1946 1945
 		$this->mail_bo->reopen($mailbox);
1947 1946
 		// retrieve the flags of the message, before touching it.
1948 1947
 		try
1949 1948
 		{
1950
-			$headers	= $this->mail_bo->getMessageHeader($uid, $partID,true,true,$mailbox);
1949
+			$headers = $this->mail_bo->getMessageHeader($uid, $partID, true, true, $mailbox);
1951 1950
 		}
1952 1951
 		catch (Api\Exception $e)
1953 1952
 		{
1954 1953
 			$error_msg[] = lang("ERROR: Message could not be displayed.");
1955
-			$error_msg[] = lang("In Mailbox: %1, with ID: %2, and PartID: %3",$mailbox,$uid,$partID);
1954
+			$error_msg[] = lang("In Mailbox: %1, with ID: %2, and PartID: %3", $mailbox, $uid, $partID);
1956 1955
 			Framework::message($e->getMessage(), 'error');
1957 1956
 		}
1958 1957
 		if (!empty($uid)) $this->mail_bo->getFlags($uid);
1959
-		$envelope	= $this->mail_bo->getMessageEnvelope($uid, $partID,true,$mailbox);
1958
+		$envelope = $this->mail_bo->getMessageEnvelope($uid, $partID, true, $mailbox);
1960 1959
 		//error_log(__METHOD__.__LINE__.array2string($envelope));
1961
-		$this->mail_bo->getMessageRawHeader($uid, $partID,$mailbox);
1960
+		$this->mail_bo->getMessageRawHeader($uid, $partID, $mailbox);
1962 1961
 		$fetchEmbeddedImages = false;
1963 1962
 		// if we are in HTML so its likely that we should show the embedded images; as a result
1964 1963
 		// we do NOT want to see those, that are embedded in the list of attachments
1965
-		if ($htmlOptions !='always_display') $fetchEmbeddedImages = true;
1966
-		$attachments	= $this->mail_bo->getMessageAttachments($uid, $partID, null, $fetchEmbeddedImages,true,true,$mailbox);
1964
+		if ($htmlOptions != 'always_display') $fetchEmbeddedImages = true;
1965
+		$attachments = $this->mail_bo->getMessageAttachments($uid, $partID, null, $fetchEmbeddedImages, true, true, $mailbox);
1967 1966
 		//error_log(__METHOD__.__LINE__.array2string($attachments));
1968 1967
 		$attachmentHTMLBlock = self::createAttachmentBlock($attachments, $rowID, $uid, $mailbox);
1969 1968
 
1970
-		$nonDisplayAbleCharacters = array('[\016]','[\017]',
1971
-				'[\020]','[\021]','[\022]','[\023]','[\024]','[\025]','[\026]','[\027]',
1972
-				'[\030]','[\031]','[\032]','[\033]','[\034]','[\035]','[\036]','[\037]');
1969
+		$nonDisplayAbleCharacters = array('[\016]', '[\017]',
1970
+				'[\020]', '[\021]', '[\022]', '[\023]', '[\024]', '[\025]', '[\026]', '[\027]',
1971
+				'[\030]', '[\031]', '[\032]', '[\033]', '[\034]', '[\035]', '[\036]', '[\037]');
1973 1972
 
1974 1973
 		//error_log(__METHOD__.__LINE__.$mailBody);
1975 1974
 		$this->mail_bo->closeConnection();
1976 1975
 		//$GLOBALS['egw_info']['flags']['currentapp'] = 'mail';//should not be needed
1977 1976
 		$etpl = new Etemplate('mail.display');
1978
-		$subject = $this->mail_bo->decode_subject(preg_replace($nonDisplayAbleCharacters,'',$envelope['SUBJECT']),false);
1977
+		$subject = $this->mail_bo->decode_subject(preg_replace($nonDisplayAbleCharacters, '', $envelope['SUBJECT']), false);
1979 1978
 
1980 1979
 		// Set up data for taglist widget(s)
1981
-		if ($envelope['FROM']==$envelope['SENDER']) unset($envelope['SENDER']);
1980
+		if ($envelope['FROM'] == $envelope['SENDER']) unset($envelope['SENDER']);
1982 1981
 		$sel_options = array();
1983
-		foreach(array('SENDER','FROM','TO','CC','BCC') as $field)
1982
+		foreach (array('SENDER', 'FROM', 'TO', 'CC', 'BCC') as $field)
1984 1983
 		{
1985 1984
 			if (!isset($envelope[$field])) continue;
1986
-			foreach($envelope[$field] as $field_data)
1985
+			foreach ($envelope[$field] as $field_data)
1987 1986
 			{
1988 1987
 				//error_log(__METHOD__.__LINE__.array2string($field_data));
1989 1988
 				$content[$field][] = $field_data;
1990 1989
 				$sel_options[$field][] = array(
1991 1990
 					// taglist requires these - not optional
1992 1991
 					'id' => $field_data,
1993
-					'label' => str_replace('"',"'",$field_data),
1992
+					'label' => str_replace('"', "'", $field_data),
1994 1993
 				);
1995 1994
 			}
1996 1995
 		}
1997 1996
 		$actionsenabled = $this->getDisplayToolbarActions();
1998 1997
 		$content['displayToolbaractions'] = json_encode($actionsenabled);
1999 1998
 		if (empty($subject)) $subject = lang('no subject');
2000
-		$content['msg'] = (is_array($error_msg)?implode("<br>",$error_msg):$error_msg);
1999
+		$content['msg'] = (is_array($error_msg) ? implode("<br>", $error_msg) : $error_msg);
2001 2000
 		// Send mail ID so we can use it for actions
2002 2001
 		$content['mail_id'] = $rowID;
2003 2002
 		if (!is_array($headers) || !isset($headers['DATE']))
2004 2003
 		{
2005
-			$headers['DATE'] = (is_array($envelope)&&$envelope['DATE']?$envelope['DATE']:'');
2004
+			$headers['DATE'] = (is_array($envelope) && $envelope['DATE'] ? $envelope['DATE'] : '');
2006 2005
 		}
2007
-		$content['mail_displaydate'] = Mail::_strtotime($headers['DATE'],'ts',true);
2006
+		$content['mail_displaydate'] = Mail::_strtotime($headers['DATE'], 'ts', true);
2008 2007
 		$content['mail_displaysubject'] = $subject;
2009
-		$linkData = array('menuaction'=>"mail.mail_ui.loadEmailBody","_messageID"=>$rowID);
2010
-		if (!empty($partID)) $linkData['_partID']=$partID;
2011
-		if ($htmlOptions != $this->mail_bo->htmlOptions) $linkData['_htmloptions']=$htmlOptions;
2012
-		$content['mailDisplayBodySrc'] = Egw::link('/index.php',$linkData);
2008
+		$linkData = array('menuaction'=>"mail.mail_ui.loadEmailBody", "_messageID"=>$rowID);
2009
+		if (!empty($partID)) $linkData['_partID'] = $partID;
2010
+		if ($htmlOptions != $this->mail_bo->htmlOptions) $linkData['_htmloptions'] = $htmlOptions;
2011
+		$content['mailDisplayBodySrc'] = Egw::link('/index.php', $linkData);
2013 2012
 		$content['mail_displayattachments'] = $attachmentHTMLBlock;
2014
-		$content['mail_id']=$rowID;
2015
-		$content['mailDisplayContainerClass']=(count($attachments)?"mailDisplayContainer mailDisplayContainerFixedHeight":"mailDisplayContainer mailDisplayContainerFullHeight");
2016
-		$content['mailDisplayAttachmentsClass']=(count($attachments)?"mailDisplayAttachments":"mail_DisplayNone");
2013
+		$content['mail_id'] = $rowID;
2014
+		$content['mailDisplayContainerClass'] = (count($attachments) ? "mailDisplayContainer mailDisplayContainerFixedHeight" : "mailDisplayContainer mailDisplayContainerFullHeight");
2015
+		$content['mailDisplayAttachmentsClass'] = (count($attachments) ? "mailDisplayAttachments" : "mail_DisplayNone");
2017 2016
 
2018 2017
 		// DRAG attachments actions
2019 2018
 		$etpl->setElementAttribute('mail_displayattachments', 'actions', array(
@@ -2030,22 +2029,22 @@  discard block
 block discarded – undo
2030 2029
 			$this->changeProfile($rememberServerID);
2031 2030
 		}
2032 2031
 
2033
-		$etpl->exec('mail.mail_ui.displayMessage',$content,$sel_options,$readonlys,$preserv,2);
2032
+		$etpl->exec('mail.mail_ui.displayMessage', $content, $sel_options, $readonlys, $preserv, 2);
2034 2033
 	}
2035 2034
 
2036 2035
 	/**
2037 2036
 	 * Build actions for display toolbar
2038 2037
 	 */
2039
-	function getDisplayToolbarActions ()
2038
+	function getDisplayToolbarActions()
2040 2039
 	{
2041 2040
 		$actions = $this->get_toolbar_actions();
2042
-		$actions['mark']['children']['flagged']=array(
2041
+		$actions['mark']['children']['flagged'] = array(
2043 2042
 			'group' => $actions['mark']['children']['flagged']['group'],
2044 2043
 			'caption' => 'Flagged',
2045 2044
 			'icon' => 'unread_flagged_small',
2046 2045
 			'onExecute' => 'javaScript:app.mail.mail_flag',
2047 2046
 		);
2048
-		$actions['mark']['children']['unflagged']=array(
2047
+		$actions['mark']['children']['unflagged'] = array(
2049 2048
 			'group' => $actions['mark']['children']['flagged']['group'],
2050 2049
 			'caption' => 'Unflagged',
2051 2050
 			'icon' => 'read_flagged_small',
@@ -2057,9 +2056,9 @@  discard block
 block discarded – undo
2057 2056
 		$compose = $actions['composeasnew'];
2058 2057
 		unset($actions['composeasnew']);
2059 2058
 
2060
-		$actions2 = array_reverse($actions,true);
2061
-		$actions2['composeasnew']= $compose;
2062
-		return array_reverse($actions2,true);
2059
+		$actions2 = array_reverse($actions, true);
2060
+		$actions2['composeasnew'] = $compose;
2061
+		return array_reverse($actions2, true);
2063 2062
 	}
2064 2063
 
2065 2064
 	/**
@@ -2072,22 +2071,22 @@  discard block
 block discarded – undo
2072 2071
 	 * @param boolean $_returnFullHTML flag wether to return HTML or data array
2073 2072
 	 * @return array|string data array or html or empty string
2074 2073
 	 */
2075
-	static function createAttachmentBlock($attachments, $rowID, $uid, $mailbox,$_returnFullHTML=false)
2074
+	static function createAttachmentBlock($attachments, $rowID, $uid, $mailbox, $_returnFullHTML = false)
2076 2075
 	{
2077
-		$attachmentHTMLBlock='';
2076
+		$attachmentHTMLBlock = '';
2078 2077
 		$attachmentHTML = array();
2079 2078
 		if (is_array($attachments) && count($attachments) > 0) {
2080
-			$url_img_vfs = Api\Html::image('filemanager','navbar', lang('Filemanager'), ' height="16"');
2081
-			$url_img_vfs_save_all = Api\Html::image('mail','save_all', lang('Save all'));
2079
+			$url_img_vfs = Api\Html::image('filemanager', 'navbar', lang('Filemanager'), ' height="16"');
2080
+			$url_img_vfs_save_all = Api\Html::image('mail', 'save_all', lang('Save all'));
2082 2081
 
2083 2082
 			foreach ($attachments as $key => $value)
2084 2083
 			{
2085
-				$attachmentHTML[$key]['filename']= ($value['name'] ? ( $value['filename'] ? $value['filename'] : $value['name'] ) : lang('(no subject)'));
2086
-				$attachmentHTML[$key]['filename'] = Api\Translation::convert_jsonsafe($attachmentHTML[$key]['filename'],'utf-8');
2084
+				$attachmentHTML[$key]['filename'] = ($value['name'] ? ($value['filename'] ? $value['filename'] : $value['name']) : lang('(no subject)'));
2085
+				$attachmentHTML[$key]['filename'] = Api\Translation::convert_jsonsafe($attachmentHTML[$key]['filename'], 'utf-8');
2087 2086
 				//error_log(array2string($value));
2088 2087
 				//error_log(strtoupper($value['mimeType']) .'<->'. Api\MimeMagic::filename2mime($attachmentHTML[$key]['filename']));
2089
-				if (strtoupper($value['mimeType']=='APPLICATION/OCTET-STREAM')) $value['mimeType'] = Api\MimeMagic::filename2mime($attachmentHTML[$key]['filename']);
2090
-				$attachmentHTML[$key]['type']=$value['mimeType'];
2088
+				if (strtoupper($value['mimeType'] == 'APPLICATION/OCTET-STREAM')) $value['mimeType'] = Api\MimeMagic::filename2mime($attachmentHTML[$key]['filename']);
2089
+				$attachmentHTML[$key]['type'] = $value['mimeType'];
2091 2090
 				$attachmentHTML[$key]['mimetype'] = Api\MimeMagic::mime2label($value['mimeType']);
2092 2091
 				$hA = self::splitRowID($rowID);
2093 2092
 				$uid = $hA['msgUID'];
@@ -2097,26 +2096,25 @@  discard block
 block discarded – undo
2097 2096
 				$attachmentHTML[$key]['mime_data'] = Link::set_data($value['mimeType'], 'EGroupware\\Api\\Mail::getAttachmentAccount', array(
2098 2097
 					$acc_id, $mailbox, $uid, $value['partID'], $value['is_winmail'], true
2099 2098
 				));
2100
-				$attachmentHTML[$key]['size']=Vfs::hsize($value['size']);
2101
-				$attachmentHTML[$key]['attachment_number']=$key;
2102
-				$attachmentHTML[$key]['partID']=$value['partID'];
2099
+				$attachmentHTML[$key]['size'] = Vfs::hsize($value['size']);
2100
+				$attachmentHTML[$key]['attachment_number'] = $key;
2101
+				$attachmentHTML[$key]['partID'] = $value['partID'];
2103 2102
 				$attachmentHTML[$key]['mail_id'] = $rowID;
2104
-				$attachmentHTML[$key]['winmailFlag']=$value['is_winmail'];
2103
+				$attachmentHTML[$key]['winmailFlag'] = $value['is_winmail'];
2105 2104
 				$attachmentHTML[$key]['classSaveAllPossiblyDisabled'] = "mail_DisplayNone";
2106 2105
 
2107
-				switch(strtoupper($value['mimeType']))
2106
+				switch (strtoupper($value['mimeType']))
2108 2107
 				{
2109 2108
 					case 'MESSAGE/RFC822':
2110
-						$linkData = array
2111
-						(
2109
+						$linkData = array(
2112 2110
 							'menuaction'	=> 'mail.mail_ui.displayMessage',
2113 2111
 							'mode'		=> 'display', //message/rfc822 attachments should be opened in display mode
2114 2112
 							'id'		=> $rowID,
2115 2113
 							'part'		=> $value['partID'],
2116 2114
 							'is_winmail'    => $value['is_winmail']
2117 2115
 						);
2118
-						$windowName = 'displayMessage_'. $rowID.'_'.$value['partID'];
2119
-						$linkView = "egw_openWindowCentered('".Egw::link('/index.php',$linkData)."','$windowName',700,egw_getWindowOuterHeight());";
2116
+						$windowName = 'displayMessage_'.$rowID.'_'.$value['partID'];
2117
+						$linkView = "egw_openWindowCentered('".Egw::link('/index.php', $linkData)."','$windowName',700,egw_getWindowOuterHeight());";
2120 2118
 						break;
2121 2119
 					case 'IMAGE/JPEG':
2122 2120
 					case 'IMAGE/PNG':
@@ -2127,7 +2125,7 @@  discard block
 block discarded – undo
2127 2125
 					case 'TEXT/HTML':
2128 2126
 					case 'TEXT/DIRECTORY':
2129 2127
 						$sfxMimeType = $value['mimeType'];
2130
-						$buff = explode('.',$value['name']);
2128
+						$buff = explode('.', $value['name']);
2131 2129
 						$suffix = '';
2132 2130
 						if (is_array($buff)) $suffix = array_pop($buff); // take the last extension to check with ext2mime
2133 2131
 						if (!empty($suffix)) $sfxMimeType = Api\MimeMagic::ext2mime($suffix);
@@ -2140,49 +2138,47 @@  discard block
 block discarded – undo
2140 2138
 					case 'TEXT/VCARD':
2141 2139
 					case 'TEXT/CALENDAR':
2142 2140
 					case 'TEXT/X-VCALENDAR':
2143
-						$linkData = array
2144
-						(
2141
+						$linkData = array(
2145 2142
 							'menuaction'	=> 'mail.mail_ui.getAttachment',
2146 2143
 							'id'		=> $rowID,
2147 2144
 							'part'		=> $value['partID'],
2148 2145
 							'is_winmail'    => $value['is_winmail'],
2149 2146
 							'mailbox'   => base64_encode($mailbox),
2150 2147
 						);
2151
-						$windowName = 'displayAttachment_'. $uid;
2148
+						$windowName = 'displayAttachment_'.$uid;
2152 2149
 						$reg = '800x600';
2153 2150
 						// handle calendar/vcard
2154
-						if (strtoupper($value['mimeType'])=='TEXT/CALENDAR')
2151
+						if (strtoupper($value['mimeType']) == 'TEXT/CALENDAR')
2155 2152
 						{
2156
-							$windowName = 'displayEvent_'. $rowID;
2157
-							$reg2 = Link::get_registry('calendar','view_popup');
2158
-							$attachmentHTML[$key]['popup']=(!empty($reg2) ? $reg2 : $reg);
2153
+							$windowName = 'displayEvent_'.$rowID;
2154
+							$reg2 = Link::get_registry('calendar', 'view_popup');
2155
+							$attachmentHTML[$key]['popup'] = (!empty($reg2) ? $reg2 : $reg);
2159 2156
 						}
2160
-						if (strtoupper($value['mimeType'])=='TEXT/X-VCARD' || strtoupper($value['mimeType'])=='TEXT/VCARD')
2157
+						if (strtoupper($value['mimeType']) == 'TEXT/X-VCARD' || strtoupper($value['mimeType']) == 'TEXT/VCARD')
2161 2158
 						{
2162
-							$windowName = 'displayContact_'. $rowID;
2163
-							$reg2 = Link::get_registry('addressbook','add_popup');
2164
-							$attachmentHTML[$key]['popup']=(!empty($reg2) ? $reg2 : $reg);
2159
+							$windowName = 'displayContact_'.$rowID;
2160
+							$reg2 = Link::get_registry('addressbook', 'add_popup');
2161
+							$attachmentHTML[$key]['popup'] = (!empty($reg2) ? $reg2 : $reg);
2165 2162
 						}
2166 2163
 						// apply to action
2167
-						list($width,$height) = explode('x',(!empty($reg2) ? $reg2 : $reg));
2168
-						$linkView = "egw_openWindowCentered('".Egw::link('/index.php',$linkData)."','$windowName',$width,$height);";
2164
+						list($width, $height) = explode('x', (!empty($reg2) ? $reg2 : $reg));
2165
+						$linkView = "egw_openWindowCentered('".Egw::link('/index.php', $linkData)."','$windowName',$width,$height);";
2169 2166
 						break;
2170 2167
 					default:
2171
-						$linkData = array
2172
-						(
2168
+						$linkData = array(
2173 2169
 							'menuaction'	=> 'mail.mail_ui.getAttachment',
2174 2170
 							'id'		=> $rowID,
2175 2171
 							'part'		=> $value['partID'],
2176 2172
 							'is_winmail'    => $value['is_winmail'],
2177 2173
 							'mailbox'   => base64_encode($mailbox),
2178 2174
 						);
2179
-						$linkView = "window.location.href = '".Egw::link('/index.php',$linkData)."';";
2175
+						$linkView = "window.location.href = '".Egw::link('/index.php', $linkData)."';";
2180 2176
 						break;
2181 2177
 				}
2182 2178
 				// we either use mime_data for server-side supported mime-types or mime_url for client-side or download
2183 2179
 				if (empty($attachmentHTML[$key]['mime_data']))
2184 2180
 				{
2185
-					$attachmentHTML[$key]['mime_url'] = Egw::link('/index.php',$linkData);
2181
+					$attachmentHTML[$key]['mime_url'] = Egw::link('/index.php', $linkData);
2186 2182
 					unset($attachmentHTML[$key]['mime_data']);
2187 2183
 				}
2188 2184
 				$attachmentHTML[$key]['windowName'] = $windowName;
@@ -2192,8 +2188,7 @@  discard block
 block discarded – undo
2192 2188
 					($value['name'] ? $value['name'] : lang('(no subject)')).
2193 2189
 					'</b></a>';
2194 2190
 
2195
-				$linkData = array
2196
-				(
2191
+				$linkData = array(
2197 2192
 					'menuaction'	=> 'mail.mail_ui.getAttachment',
2198 2193
 					'mode'		=> 'save',
2199 2194
 					'id'		=> $rowID,
@@ -2201,11 +2196,11 @@  discard block
 block discarded – undo
2201 2196
 					'is_winmail'    => $value['is_winmail'],
2202 2197
 					'mailbox'   => base64_encode($mailbox),
2203 2198
 				);
2204
-				$attachmentHTML[$key]['link_save'] ="<a href='".Egw::link('/index.php',$linkData)."' title='".$attachmentHTML[$key]['filename']."'>".Api\Html::image('mail','fileexport')."</a>";
2199
+				$attachmentHTML[$key]['link_save'] = "<a href='".Egw::link('/index.php', $linkData)."' title='".$attachmentHTML[$key]['filename']."'>".Api\Html::image('mail', 'fileexport')."</a>";
2205 2200
 
2206 2201
 				if ($GLOBALS['egw_info']['user']['apps']['filemanager'])
2207 2202
 				{
2208
-					$link_vfs_save = Egw::link('/index.php',array(
2203
+					$link_vfs_save = Egw::link('/index.php', array(
2209 2204
 						'menuaction' => 'filemanager.filemanager_select.select',
2210 2205
 						'mode' => 'saveas',
2211 2206
 						'name' => $value['name'],
@@ -2224,19 +2219,19 @@  discard block
 block discarded – undo
2224 2219
 							//$rowID
2225 2220
 							$ids["id[$ikey]"] = $rowID.'::'.$value['partID'].'::'.$value['is_winmail'].'::'.$value['name'];
2226 2221
 						}
2227
-						$link_vfs_save = Egw::link('/index.php',array(
2222
+						$link_vfs_save = Egw::link('/index.php', array(
2228 2223
 							'menuaction' => 'filemanager.filemanager_select.select',
2229 2224
 							'mode' => 'select-dir',
2230 2225
 							'method' => 'mail.mail_ui.vfsSaveAttachment',
2231 2226
 							'label' => lang('Save all'),
2232
-						)+$ids);
2227
+						) + $ids);
2233 2228
 						$vfs_save .= "<a href='#' onclick=\"egw_openWindowCentered('$link_vfs_save','vfs_save_attachment','640','530',window.outerWidth/2,window.outerHeight/2); return false;\">$url_img_vfs_save_all</a>";
2234 2229
 					}
2235 2230
 					$attachmentHTML[$key]['link_save'] .= $vfs_save;
2236 2231
 					//error_log(__METHOD__.__LINE__.$attachmentHTML[$key]['link_save']);
2237 2232
 				}
2238 2233
 			}
2239
-			$attachmentHTMLBlock="<table width='100%'>";
2234
+			$attachmentHTMLBlock = "<table width='100%'>";
2240 2235
 			foreach ((array)$attachmentHTML as $row)
2241 2236
 			{
2242 2237
 				$attachmentHTMLBlock .= "<tr><td><div class='useEllipsis'>".$row['link_view'].'</div></td>';
@@ -2254,7 +2249,7 @@  discard block
 block discarded – undo
2254 2249
 				unset($attachmentHTML[$ikey]['link_save']);
2255 2250
 			}
2256 2251
 		}
2257
-		return ($_returnFullHTML?$attachmentHTMLBlock:$attachmentHTML);
2252
+		return ($_returnFullHTML ? $attachmentHTMLBlock : $attachmentHTML);
2258 2253
 	}
2259 2254
 
2260 2255
 	/**
@@ -2265,7 +2260,7 @@  discard block
 block discarded – undo
2265 2260
 	 */
2266 2261
 	function gatherVacation($cachedVacations = array())
2267 2262
 	{
2268
-		$isVacationEnabled = $this->mail_bo->icServer->acc_sieve_enabled && ($this->mail_bo->icServer->acc_sieve_host||$this->mail_bo->icServer->acc_imap_host);
2263
+		$isVacationEnabled = $this->mail_bo->icServer->acc_sieve_enabled && ($this->mail_bo->icServer->acc_sieve_host || $this->mail_bo->icServer->acc_imap_host);
2269 2264
 		//error_log(__METHOD__.__LINE__.' Server:'.self::$icServerID.' Sieve Enabled:'.array2string($vacation));
2270 2265
 
2271 2266
 		if ($isVacationEnabled)
@@ -2278,7 +2273,7 @@  discard block
 block discarded – undo
2278 2273
 
2279 2274
 				$cachedVacations = array($sieveServer->acc_id => $vacation) + (array)$cachedVacations;
2280 2275
 				// Set vacation to the instance cache for particular account with expiration of one day
2281
-				Api\Cache::setCache(Api\Cache::INSTANCE, 'email', 'vacationNotice'.$GLOBALS['egw_info']['user']['account_lid'], $cachedVacations, 60*60*24);
2276
+				Api\Cache::setCache(Api\Cache::INSTANCE, 'email', 'vacationNotice'.$GLOBALS['egw_info']['user']['account_lid'], $cachedVacations, 60 * 60 * 24);
2282 2277
 			}
2283 2278
 			catch (PEAR_Exception $ex)
2284 2279
 			{
@@ -2299,36 +2294,36 @@  discard block
 block discarded – undo
2299 2294
 	function quotaDisplay($_usage, $_limit)
2300 2295
 	{
2301 2296
 
2302
-		if($_limit == 0) {
2303
-			$quotaPercent=100;
2297
+		if ($_limit == 0) {
2298
+			$quotaPercent = 100;
2304 2299
 		} else {
2305
-			$quotaPercent=round(($_usage*100)/$_limit);
2300
+			$quotaPercent = round(($_usage * 100) / $_limit);
2306 2301
 		}
2307 2302
 
2308
-		$quotaLimit=Mail::show_readable_size($_limit*1024);
2309
-		$quotaUsage=Mail::show_readable_size($_usage*1024);
2303
+		$quotaLimit = Mail::show_readable_size($_limit * 1024);
2304
+		$quotaUsage = Mail::show_readable_size($_usage * 1024);
2310 2305
 
2311 2306
 
2312
-		if($quotaPercent > 90 && $_limit>0) {
2313
-			$quotaBG='mail-index_QuotaRed';
2314
-		} elseif($quotaPercent > 80 && $_limit>0) {
2315
-			$quotaBG='mail-index_QuotaYellow';
2307
+		if ($quotaPercent > 90 && $_limit > 0) {
2308
+			$quotaBG = 'mail-index_QuotaRed';
2309
+		} elseif ($quotaPercent > 80 && $_limit > 0) {
2310
+			$quotaBG = 'mail-index_QuotaYellow';
2316 2311
 		} else {
2317
-			$quotaBG='mail-index_QuotaGreen';
2312
+			$quotaBG = 'mail-index_QuotaGreen';
2318 2313
 		}
2319 2314
 
2320
-		if($_limit > 0) {
2321
-			$quotaText = $quotaUsage .'/'.$quotaLimit;
2315
+		if ($_limit > 0) {
2316
+			$quotaText = $quotaUsage.'/'.$quotaLimit;
2322 2317
 		} else {
2323 2318
 			$quotaText = $quotaUsage;
2324 2319
 		}
2325 2320
 
2326
-		if($quotaPercent > 50) {
2321
+		if ($quotaPercent > 50) {
2327 2322
 		} else {
2328 2323
 		}
2329 2324
 		$quota['class'] = $quotaBG;
2330
-		$quota['text'] = lang('Quota: %1',$quotaText);
2331
-		$quota['percent'] = (string)round(($_usage*100)/$_limit);
2325
+		$quota['text'] = lang('Quota: %1', $quotaText);
2326
+		$quota['percent'] = (string)round(($_usage * 100) / $_limit);
2332 2327
 		return $quota;
2333 2328
 	}
2334 2329
 
@@ -2342,12 +2337,12 @@  discard block
 block discarded – undo
2342 2337
 		$uid	= $_GET['uid'];
2343 2338
 		$cid	= base64_decode($_GET['cid']);
2344 2339
 		$partID = urldecode($_GET['partID']);
2345
-		if (!empty($_GET['mailbox'])) $mailbox  = base64_decode($_GET['mailbox']);
2340
+		if (!empty($_GET['mailbox'])) $mailbox = base64_decode($_GET['mailbox']);
2346 2341
 
2347 2342
 		//error_log(__METHOD__.__LINE__.":$uid, $cid, $partID");
2348 2343
 		$this->mail_bo->reopen($mailbox);
2349 2344
 
2350
-		$attachment = $this->mail_bo->getAttachmentByCID($uid, $cid, $partID, true);	// true get contents as stream
2345
+		$attachment = $this->mail_bo->getAttachmentByCID($uid, $cid, $partID, true); // true get contents as stream
2351 2346
 
2352 2347
 		$this->mail_bo->closeConnection();
2353 2348
 
@@ -2355,8 +2350,8 @@  discard block
 block discarded – undo
2355 2350
 
2356 2351
 		if ($attachment)
2357 2352
 		{
2358
-			header("Content-Type: ". $attachment->getType());
2359
-			header('Content-Disposition: inline; filename="'. $attachment->getDispositionParameter('filename') .'"');
2353
+			header("Content-Type: ".$attachment->getType());
2354
+			header('Content-Disposition: inline; filename="'.$attachment->getDispositionParameter('filename').'"');
2360 2355
 			//header("Expires: 0");
2361 2356
 			// the next headers are for IE and SSL
2362 2357
 			//header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
@@ -2374,7 +2369,7 @@  discard block
 block discarded – undo
2374 2369
 
2375 2370
 	function getAttachment()
2376 2371
 	{
2377
-		if(isset($_GET['id'])) $rowID	= $_GET['id'];
2372
+		if (isset($_GET['id'])) $rowID = $_GET['id'];
2378 2373
 
2379 2374
 		$hA = self::splitRowID($rowID);
2380 2375
 		$uid = $hA['msgUID'];
@@ -2386,11 +2381,11 @@  discard block
 block discarded – undo
2386 2381
 			//error_log(__METHOD__.__LINE__.' change Profile to ->'.$icServerID);
2387 2382
 			$this->changeProfile($icServerID);
2388 2383
 		}
2389
-		$part		= $_GET['part'];
2384
+		$part = $_GET['part'];
2390 2385
 		$is_winmail = $_GET['is_winmail'] ? $_GET['is_winmail'] : 0;
2391 2386
 
2392 2387
 		$this->mail_bo->reopen($mailbox);
2393
-		$attachment = $this->mail_bo->getAttachment($uid,$part,$is_winmail,false);
2388
+		$attachment = $this->mail_bo->getAttachment($uid, $part, $is_winmail, false);
2394 2389
 		$this->mail_bo->closeConnection();
2395 2390
 		if ($rememberServerID != $this->mail_bo->profileID)
2396 2391
 		{
@@ -2405,7 +2400,7 @@  discard block
 block discarded – undo
2405 2400
 			if (strtoupper($attachment['type']) == 'TEXT/DIRECTORY' || empty($attachment['type']))
2406 2401
 			{
2407 2402
 				$sfxMimeType = $attachment['type'];
2408
-				$buff = explode('.',$attachment['filename']);
2403
+				$buff = explode('.', $attachment['filename']);
2409 2404
 				$suffix = '';
2410 2405
 				if (is_array($buff)) $suffix = array_pop($buff); // take the last extension to check with ext2mime
2411 2406
 				if (!empty($suffix)) $sfxMimeType = Api\MimeMagic::ext2mime($suffix);
@@ -2417,10 +2412,10 @@  discard block
 block discarded – undo
2417 2412
 			{
2418 2413
 				//error_log(__METHOD__."about to call calendar_ical");
2419 2414
 				$calendar_ical = new calendar_ical();
2420
-				$eventid = $calendar_ical->search($attachment['attachment'],-1);
2415
+				$eventid = $calendar_ical->search($attachment['attachment'], -1);
2421 2416
 				//error_log(__METHOD__.array2string($eventid));
2422 2417
 				if (!$eventid) $eventid = -1;
2423
-				$event = $calendar_ical->importVCal($attachment['attachment'],(is_array($eventid)?$eventid[0]:$eventid),null,true,0,'',null,$attachment['charset']);
2418
+				$event = $calendar_ical->importVCal($attachment['attachment'], (is_array($eventid) ? $eventid[0] : $eventid), null, true, 0, '', null, $attachment['charset']);
2424 2419
 				//error_log(__METHOD__.$event);
2425 2420
 				if ((int)$event > 0)
2426 2421
 				{
@@ -2428,7 +2423,7 @@  discard block
 block discarded – undo
2428 2423
 						'menuaction'      => 'calendar.calendar_uiforms.edit',
2429 2424
 						'cal_id'      => $event,
2430 2425
 					);
2431
-					Egw::redirect_link('../index.php',$vars);
2426
+					Egw::redirect_link('../index.php', $vars);
2432 2427
 				}
2433 2428
 				//Import failed, download content anyway
2434 2429
 			}
@@ -2443,13 +2438,13 @@  discard block
 block discarded – undo
2443 2438
 				{
2444 2439
 					$vcard['uid'] = trim($vcard['uid']);
2445 2440
 					//error_log(__METHOD__.__LINE__.print_r($vcard,true));
2446
-					$contact = $addressbook_vcal->find_contact($vcard,false);
2441
+					$contact = $addressbook_vcal->find_contact($vcard, false);
2447 2442
 				}
2448 2443
 				if (!$contact) $contact = null;
2449 2444
 				// if there are not enough fields in the vcard (or the parser was unable to correctly parse the vcard (as of VERSION:3.0 created by MSO))
2450
-				if ($contact || count($vcard)>2)
2445
+				if ($contact || count($vcard) > 2)
2451 2446
 				{
2452
-					$contact = $addressbook_vcal->addVCard($attachment['attachment'],(is_array($contact)?array_shift($contact):$contact),true,$attachment['charset']);
2447
+					$contact = $addressbook_vcal->addVCard($attachment['attachment'], (is_array($contact) ? array_shift($contact) : $contact), true, $attachment['charset']);
2453 2448
 				}
2454 2449
 				if ((int)$contact > 0)
2455 2450
 				{
@@ -2457,14 +2452,14 @@  discard block
 block discarded – undo
2457 2452
 						'menuaction'	=> 'addressbook.addressbook_ui.edit',
2458 2453
 						'contact_id'	=> $contact,
2459 2454
 					);
2460
-					Egw::redirect_link('../index.php',$vars);
2455
+					Egw::redirect_link('../index.php', $vars);
2461 2456
 				}
2462 2457
 				//Import failed, download content anyway
2463 2458
 			}
2464 2459
 		}
2465 2460
 		//error_log(__METHOD__.__LINE__.'->'.array2string($attachment));
2466
-		$filename = ($attachment['name']?$attachment['name']:($attachment['filename']?$attachment['filename']:$mailbox.'_uid'.$uid.'_part'.$part));
2467
-		Api\Header\Content::safe($attachment['attachment'], $filename, $attachment['type'], $size=0, True, $_GET['mode'] == "save");
2461
+		$filename = ($attachment['name'] ? $attachment['name'] : ($attachment['filename'] ? $attachment['filename'] : $mailbox.'_uid'.$uid.'_part'.$part));
2462
+		Api\Header\Content::safe($attachment['attachment'], $filename, $attachment['type'], $size = 0, True, $_GET['mode'] == "save");
2468 2463
 		echo $attachment['attachment'];
2469 2464
 
2470 2465
 		exit();
@@ -2479,9 +2474,9 @@  discard block
 block discarded – undo
2479 2474
 	function saveMessage()
2480 2475
 	{
2481 2476
 		$display = false;
2482
-		if(isset($_GET['id'])) $rowID	= $_GET['id'];
2483
-		if(isset($_GET['part'])) $partID = $_GET['part'];
2484
-		if (isset($_GET['location'])&& ($_GET['location']=='display'||$_GET['location']=='filemanager')) $display	= $_GET['location'];
2477
+		if (isset($_GET['id'])) $rowID = $_GET['id'];
2478
+		if (isset($_GET['part'])) $partID = $_GET['part'];
2479
+		if (isset($_GET['location']) && ($_GET['location'] == 'display' || $_GET['location'] == 'filemanager')) $display = $_GET['location'];
2485 2480
 
2486 2481
 		$hA = self::splitRowID($rowID);
2487 2482
 		$uid = $hA['msgUID'];
@@ -2509,14 +2504,14 @@  discard block
 block discarded – undo
2509 2504
 		if (!$display)
2510 2505
 		{
2511 2506
 			$headers = Horde_Mime_Headers::parseHeaders($message);
2512
-			$subject = str_replace('$$','__',Mail::decode_header($headers['SUBJECT']));
2513
-			Api\Header\Content::safe($message, $subject.".eml", $mime='message/rfc822', $size=0, true, true);
2507
+			$subject = str_replace('$$', '__', Mail::decode_header($headers['SUBJECT']));
2508
+			Api\Header\Content::safe($message, $subject.".eml", $mime = 'message/rfc822', $size = 0, true, true);
2514 2509
 			echo $message;
2515 2510
 		}
2516 2511
 		else
2517 2512
 		{
2518
-			Api\Header\Content::safe($message, $subject.".eml", $mime='text/html', $size=0, true, false);
2519
-			print '<pre>'. htmlspecialchars($message, ENT_NOQUOTES|ENT_SUBSTITUTE, 'utf-8') .'</pre>';
2513
+			Api\Header\Content::safe($message, $subject.".eml", $mime = 'text/html', $size = 0, true, false);
2514
+			print '<pre>'.htmlspecialchars($message, ENT_NOQUOTES|ENT_SUBSTITUTE, 'utf-8').'</pre>';
2520 2515
 		}
2521 2516
 	}
2522 2517
 
@@ -2528,18 +2523,18 @@  discard block
 block discarded – undo
2528 2523
 	 * @param boolean $close Return javascript to close the window
2529 2524
 	 * @return string|boolean javascript eg. to close the selector window if $close is true, or success/fail if $close is false
2530 2525
 	 */
2531
-	function vfsSaveMessage($ids,$path, $close = true)
2526
+	function vfsSaveMessage($ids, $path, $close = true)
2532 2527
 	{
2533 2528
 		//error_log(__METHOD__.' IDs:'.array2string($ids).' SaveToPath:'.$path);
2534 2529
 
2535 2530
 		if (is_array($ids) && !Vfs::is_writable($path) || !is_array($ids) && !Vfs::is_writable(dirname($path)))
2536 2531
 		{
2537
-			return 'alert("'.addslashes(lang('%1 is NOT writable by you!',$path)).'"); Egw(window).close();';
2532
+			return 'alert("'.addslashes(lang('%1 is NOT writable by you!', $path)).'"); Egw(window).close();';
2538 2533
 		}
2539 2534
 		Api\Translation::add_app('mail');
2540 2535
 
2541 2536
 		$rememberServerID = $this->mail_bo->profileID;
2542
-		foreach((array)$ids as $id)
2537
+		foreach ((array)$ids as $id)
2543 2538
 		{
2544 2539
 			$hA = self::splitRowID($id);
2545 2540
 			$uid = $hA['msgUID'];
@@ -2550,20 +2545,20 @@  discard block
 block discarded – undo
2550 2545
 				//error_log(__METHOD__.__LINE__.' change Profile to ->'.$icServerID);
2551 2546
 				$this->changeProfile($icServerID);
2552 2547
 			}
2553
-			$message = $this->mail_bo->getMessageRawBody($uid, $partID='', $mailbox);
2554
-			$err=null;
2555
-			if(Vfs::is_dir($path))
2548
+			$message = $this->mail_bo->getMessageRawBody($uid, $partID = '', $mailbox);
2549
+			$err = null;
2550
+			if (Vfs::is_dir($path))
2556 2551
 			{
2557
-				$headers = $this->mail_bo->getMessageHeader($uid,$partID,true,false,$mailbox);
2558
-				$file = $path . '/'.preg_replace('/[\f\n\t\v\\:*#?<>\|]/',"_",$headers['SUBJECT']).'.eml';
2552
+				$headers = $this->mail_bo->getMessageHeader($uid, $partID, true, false, $mailbox);
2553
+				$file = $path.'/'.preg_replace('/[\f\n\t\v\\:*#?<>\|]/', "_", $headers['SUBJECT']).'.eml';
2559 2554
 			}
2560 2555
 			else
2561 2556
 			{
2562 2557
 				$file = $path;
2563 2558
 			}
2564
-			if (!($fp = Vfs::fopen($file,'wb')) || !fwrite($fp,$message))
2559
+			if (!($fp = Vfs::fopen($file, 'wb')) || !fwrite($fp, $message))
2565 2560
 			{
2566
-				$err .= lang('Error saving %1!',$file);
2561
+				$err .= lang('Error saving %1!', $file);
2567 2562
 				$succeeded = false;
2568 2563
 			}
2569 2564
 			else
@@ -2573,10 +2568,10 @@  discard block
 block discarded – undo
2573 2568
 			if ($fp) fclose($fp);
2574 2569
 			if ($succeeded)
2575 2570
 			{
2576
-				unset($headers['SUBJECT']);//already in filename
2571
+				unset($headers['SUBJECT']); //already in filename
2577 2572
 				$infoSection = Mail::createHeaderInfoSection($headers, 'SUPPRESS', false);
2578
-				$props = array(array('name' => 'comment','val' => $infoSection));
2579
-				Vfs::proppatch($file,$props);
2573
+				$props = array(array('name' => 'comment', 'val' => $infoSection));
2574
+				Vfs::proppatch($file, $props);
2580 2575
 			}
2581 2576
 		}
2582 2577
 		if ($rememberServerID != $this->mail_bo->profileID)
@@ -2585,9 +2580,9 @@  discard block
 block discarded – undo
2585 2580
 			$this->changeProfile($rememberServerID);
2586 2581
 		}
2587 2582
 
2588
-		if($close)
2583
+		if ($close)
2589 2584
 		{
2590
-			Framework::window_close(($err?$err:null));
2585
+			Framework::window_close(($err ? $err : null));
2591 2586
 		}
2592 2587
 		else
2593 2588
 		{
@@ -2602,15 +2597,15 @@  discard block
 block discarded – undo
2602 2597
 	 * @param string $path path in vfs (no Vfs::PREFIX!), only directory for multiple id's ($ids is an array)
2603 2598
 	 * @return string javascript eg. to close the selector window
2604 2599
 	 */
2605
-	function vfsSaveAttachment($ids,$path)
2600
+	function vfsSaveAttachment($ids, $path)
2606 2601
 	{
2607 2602
 		//error_log(__METHOD__.__LINE__.'("'.array2string($ids).'","'.$path."\")');");
2608 2603
 
2609 2604
 		if (is_array($ids) && !Vfs::is_writable($path) || !is_array($ids) && !Vfs::is_writable(dirname($path)))
2610 2605
 		{
2611
-			return 'alert("'.addslashes(lang('%1 is NOT writable by you!',$path)).'"); Egw(window).close();';
2606
+			return 'alert("'.addslashes(lang('%1 is NOT writable by you!', $path)).'"); Egw(window).close();';
2612 2607
 		}
2613
-		$err=null;
2608
+		$err = null;
2614 2609
 		$dupe_count = array();
2615 2610
 		$rememberServerID = $this->mail_bo->profileID;
2616 2611
 
@@ -2620,12 +2615,12 @@  discard block
 block discarded – undo
2620 2615
 		 *
2621 2616
 		 * @return array an array of parameters
2622 2617
 		 */
2623
-		$getParams = function ($id) {
2624
-			list($app,$user,$serverID,$mailbox,$uid,$part,$is_winmail,$name) = explode('::',$id,8);
2625
-			$lId = implode('::',array($app,$user,$serverID,$mailbox,$uid));
2618
+		$getParams = function($id) {
2619
+			list($app, $user, $serverID, $mailbox, $uid, $part, $is_winmail, $name) = explode('::', $id, 8);
2620
+			$lId = implode('::', array($app, $user, $serverID, $mailbox, $uid));
2626 2621
 			$hA = mail_ui::splitRowID($lId);
2627 2622
 			return array(
2628
-				'is_winmail' => $is_winmail == "null" || !$is_winmail?false:$is_winmail,
2623
+				'is_winmail' => $is_winmail == "null" || !$is_winmail ? false : $is_winmail,
2629 2624
 				'user' => $user,
2630 2625
 				'name' => $name,
2631 2626
 				'part' => $part,
@@ -2637,8 +2632,8 @@  discard block
 block discarded – undo
2637 2632
 
2638 2633
 		//Examine the first attachment to see if attachment
2639 2634
 		//is winmail.dat embedded attachments.
2640
-		$isMultipleDownload=is_array($ids);
2641
-		$p = $getParams((is_array($ids)?$ids[0]:$ids));
2635
+		$isMultipleDownload = is_array($ids);
2636
+		$p = $getParams((is_array($ids) ? $ids[0] : $ids));
2642 2637
 		if ($p['is_winmail'])
2643 2638
 		{
2644 2639
 			if ($p['icServer'] && $p['icServer'] != $this->mail_bo->profileID)
@@ -2649,14 +2644,14 @@  discard block
 block discarded – undo
2649 2644
 			// Retrive all embedded attachments at once
2650 2645
 			// avoids to fetch heavy winmail.dat content
2651 2646
 			// for each file.
2652
-			$attachments = $this->mail_bo->getTnefAttachments($p['uid'],$p['part']);
2647
+			$attachments = $this->mail_bo->getTnefAttachments($p['uid'], $p['part']);
2653 2648
 		}
2654 2649
 
2655
-		foreach((array)$ids as $id)
2650
+		foreach ((array)$ids as $id)
2656 2651
 		{
2657 2652
 			$params = $getParams($id);
2658 2653
 			// when downloading a single file, name is not set
2659
-			if (!$params['name']&&isset($_GET['name'])&&!$isMultipleDownload) $params['name'] = $_GET['name'];
2654
+			if (!$params['name'] && isset($_GET['name']) && !$isMultipleDownload) $params['name'] = $_GET['name'];
2660 2655
 			if ($params['icServer'] && $params['icServer'] != $this->mail_bo->profileID)
2661 2656
 			{
2662 2657
 				//error_log(__METHOD__.__LINE__.' change Profile to ->'.$icServerID);
@@ -2674,25 +2669,25 @@  discard block
 block discarded – undo
2674 2669
 			}
2675 2670
 			else
2676 2671
 			{
2677
-				$attachment = $this->mail_bo->getAttachment($params['uid'],$params['part'],$params['is_winmail'],false);
2672
+				$attachment = $this->mail_bo->getAttachment($params['uid'], $params['part'], $params['is_winmail'], false);
2678 2673
 			}
2679 2674
 
2680 2675
 			$file = $params['name'];
2681 2676
 			// when $isMultipleDownload the path holds no filename
2682
-			while(Vfs::file_exists($path.($file && $isMultipleDownload ? '/'.$file : '')))
2677
+			while (Vfs::file_exists($path.($file && $isMultipleDownload ? '/'.$file : '')))
2683 2678
 			{
2684 2679
 				$dupe_count[$params['name']]++;
2685
-				$file = pathinfo($params['name'], PATHINFO_FILENAME) .
2686
-					' ('.($dupe_count[$params['name']] + 1).')' . '.' .
2680
+				$file = pathinfo($params['name'], PATHINFO_FILENAME).
2681
+					' ('.($dupe_count[$params['name']] + 1).')'.'.'.
2687 2682
 					pathinfo($params['name'], PATHINFO_EXTENSION);
2688 2683
 			}
2689 2684
 			$params['name'] = $file;
2690 2685
 			//error_log(__METHOD__.__LINE__.array2string($attachment));
2691 2686
 			// when $isMultipleDownload the path holds no filename
2692
-			if (!($fp = Vfs::fopen($file=$path.($params['name'] && $isMultipleDownload ? '/'.$params['name'] : ''),'wb')) ||
2693
-				!fwrite($fp,$attachment['attachment']))
2687
+			if (!($fp = Vfs::fopen($file = $path.($params['name'] && $isMultipleDownload ? '/'.$params['name'] : ''), 'wb')) ||
2688
+				!fwrite($fp, $attachment['attachment']))
2694 2689
 			{
2695
-				$err .= lang('Error saving %1!',$file);
2690
+				$err .= lang('Error saving %1!', $file);
2696 2691
 			}
2697 2692
 			if ($fp)
2698 2693
 			{
@@ -2705,21 +2700,21 @@  discard block
 block discarded – undo
2705 2700
 			//error_log(__METHOD__.__LINE__.' change Profile back to where we came from ->'.$rememberServerID);
2706 2701
 			$this->changeProfile($rememberServerID);
2707 2702
 		}
2708
-		Framework::window_close(($err?$err:null));
2703
+		Framework::window_close(($err ? $err : null));
2709 2704
 	}
2710 2705
 
2711 2706
 	/**
2712 2707
 	 * Zip all attachments and send to user
2713 2708
 	 * @param string $message_id = null
2714 2709
 	 */
2715
-	function download_zip($message_id=null)
2710
+	function download_zip($message_id = null)
2716 2711
 	{
2717 2712
 		//error_log(__METHOD__.__LINE__.array2string($_GET));
2718 2713
 		// First, get all attachment IDs
2719
-		if(isset($_GET['id'])) $message_id	= $_GET['id'];
2714
+		if (isset($_GET['id'])) $message_id = $_GET['id'];
2720 2715
 		//error_log(__METHOD__.__LINE__.$message_id);
2721 2716
 		$rememberServerID = $this->mail_bo->profileID;
2722
-		if(!is_numeric($message_id))
2717
+		if (!is_numeric($message_id))
2723 2718
 		{
2724 2719
 			$hA = self::splitRowID($message_id);
2725 2720
 			$message_id = $hA['msgUID'];
@@ -2737,30 +2732,30 @@  discard block
 block discarded – undo
2737 2732
 		}
2738 2733
 		// always fetch all, even inline (images)
2739 2734
 		$fetchEmbeddedImages = true;
2740
-		$attachments = $this->mail_bo->getMessageAttachments($message_id,null, null, $fetchEmbeddedImages, true,true,$mailbox);
2735
+		$attachments = $this->mail_bo->getMessageAttachments($message_id, null, null, $fetchEmbeddedImages, true, true, $mailbox);
2741 2736
 		// put them in VFS so they can be zipped
2742
-		$header = $this->mail_bo->getMessageHeader($message_id,'',true,false,$mailbox);
2737
+		$header = $this->mail_bo->getMessageHeader($message_id, '', true, false, $mailbox);
2743 2738
 		//get_home_dir may fetch the users startfolder if set; if not writeable, action will fail. TODO: use temp_dir
2744 2739
 		$homedir = '/home/'.$GLOBALS['egw_info']['user']['account_lid'];
2745
-		$temp_path = $homedir/*Vfs::get_home_dir()*/ . "/.mail_$message_id";
2746
-		if(Vfs::is_dir($temp_path)) Vfs::remove ($temp_path);
2740
+		$temp_path = $homedir/*Vfs::get_home_dir()*/."/.mail_$message_id";
2741
+		if (Vfs::is_dir($temp_path)) Vfs::remove($temp_path);
2747 2742
 
2748 2743
 		// Add subject to path, so it gets used as the file name
2749
-		$path = $temp_path . '/' . ($header['SUBJECT'] ? Vfs::encodePathComponent($header['SUBJECT']) : lang('mail')) .'/';
2750
-		if(!Vfs::mkdir($path, 0700, true))
2744
+		$path = $temp_path.'/'.($header['SUBJECT'] ? Vfs::encodePathComponent($header['SUBJECT']) : lang('mail')).'/';
2745
+		if (!Vfs::mkdir($path, 0700, true))
2751 2746
 		{
2752
-			Framework::message("Unable to open temp directory $path",'error');
2747
+			Framework::message("Unable to open temp directory $path", 'error');
2753 2748
 			return;
2754 2749
 		}
2755 2750
 
2756 2751
 		$file_list = array();
2757 2752
 		$dupe_count = array();
2758 2753
 		$this->mail_bo->reopen($mailbox);
2759
-		if ($attachments[0]['is_winmail'] && $attachments[0]['is_winmail']!='null')
2754
+		if ($attachments[0]['is_winmail'] && $attachments[0]['is_winmail'] != 'null')
2760 2755
 		{
2761
-			$tnefAttachments = $this->mail_bo->getTnefAttachments($message_id, $attachments[0]['partID'],true);
2756
+			$tnefAttachments = $this->mail_bo->getTnefAttachments($message_id, $attachments[0]['partID'], true);
2762 2757
 		}
2763
-		foreach($attachments as $file)
2758
+		foreach ($attachments as $file)
2764 2759
 		{
2765 2760
 			if ($file['is_winmail'])
2766 2761
 			{
@@ -2773,22 +2768,22 @@  discard block
 block discarded – undo
2773 2768
 			}
2774 2769
 			else
2775 2770
 			{
2776
-				$attachment = $this->mail_bo->getAttachment($message_id,$file['partID'],$file['is_winmail'],false,true);
2771
+				$attachment = $this->mail_bo->getAttachment($message_id, $file['partID'], $file['is_winmail'], false, true);
2777 2772
 			}
2778
-			$success=true;
2773
+			$success = true;
2779 2774
 			if (empty($file['filename'])) $file['filename'] = $file['name'];
2780
-			if(in_array($path.$file['filename'], $file_list))
2775
+			if (in_array($path.$file['filename'], $file_list))
2781 2776
 			{
2782 2777
 				$dupe_count[$path.$file['filename']]++;
2783
-				$file['filename'] = pathinfo($file['filename'], PATHINFO_FILENAME) .
2784
-					' ('.($dupe_count[$path.$file['filename']] + 1).')' . '.' .
2778
+				$file['filename'] = pathinfo($file['filename'], PATHINFO_FILENAME).
2779
+					' ('.($dupe_count[$path.$file['filename']] + 1).')'.'.'.
2785 2780
 					pathinfo($file['filename'], PATHINFO_EXTENSION);
2786 2781
 			}
2787
-			if (!($fp = Vfs::fopen($path.$file['filename'],'wb')) ||
2782
+			if (!($fp = Vfs::fopen($path.$file['filename'], 'wb')) ||
2788 2783
 				!(!fseek($attachment['attachment'], 0, SEEK_SET) && stream_copy_to_stream($attachment['attachment'], $fp)))
2789 2784
 			{
2790
-				$success=false;
2791
-				Framework::message("Unable to zip {$file['filename']}",'error');
2785
+				$success = false;
2786
+				Framework::message("Unable to zip {$file['filename']}", 'error');
2792 2787
 			}
2793 2788
 			if ($success) $file_list[] = $path.$file['filename'];
2794 2789
 			if ($fp) fclose($fp);
@@ -2809,7 +2804,7 @@  discard block
 block discarded – undo
2809 2804
 		exit();
2810 2805
 	}
2811 2806
 
2812
-	function get_load_email_data($uid, $partID, $mailbox,$htmlOptions=null)
2807
+	function get_load_email_data($uid, $partID, $mailbox, $htmlOptions = null)
2813 2808
 	{
2814 2809
 		// seems to be needed, as if we open a mail from notification popup that is
2815 2810
 		// located in a different folder, we experience: could not parse message
@@ -2821,19 +2816,19 @@  discard block
 block discarded – undo
2821 2816
 		if (empty($htmlOptions)) $htmlOptions = $this->mail_bo->htmlOptions;
2822 2817
 		// fetching structure now, to supply it to getMessageBody and getMessageAttachment, so it does not get fetched twice
2823 2818
 		$structure = $this->mail_bo->getStructure($uid, $partID, $mailbox, false);
2824
-		$bodyParts	= $this->mail_bo->getMessageBody($uid, ($htmlOptions?$htmlOptions:''), $partID, $structure, false, $mailbox);
2819
+		$bodyParts	= $this->mail_bo->getMessageBody($uid, ($htmlOptions ? $htmlOptions : ''), $partID, $structure, false, $mailbox);
2825 2820
 
2826 2821
 		//error_log(__METHOD__.__LINE__.array2string($bodyParts));
2827 2822
 		// attachments here are only fetched to determine if there is a meeting request
2828 2823
 		// and if. use the appropriate action. so we do not need embedded images
2829 2824
 		$fetchEmbeddedImages = false;
2830
-		$attachments = (array)$this->mail_bo->getMessageAttachments($uid, $partID, $structure, $fetchEmbeddedImages, true,true,$mailbox);
2825
+		$attachments = (array)$this->mail_bo->getMessageAttachments($uid, $partID, $structure, $fetchEmbeddedImages, true, true, $mailbox);
2831 2826
 		//error_log(__METHOD__.__LINE__.array2string($attachments));
2832 2827
 		foreach ($attachments as &$attach)
2833 2828
 		{
2834 2829
 			if (strtolower($attach['mimeType']) == 'text/calendar' &&
2835 2830
 				isset($GLOBALS['egw_info']['user']['apps']['calendar']) &&
2836
-				($attachment = $this->mail_bo->getAttachment($uid, $attach['partID'],$attach['is_winmail'],(strtolower($attach['mimeType']) == 'text/calendar'?false:true))))
2831
+				($attachment = $this->mail_bo->getAttachment($uid, $attach['partID'], $attach['is_winmail'], (strtolower($attach['mimeType']) == 'text/calendar' ? false : true))))
2837 2832
 			{
2838 2833
 				//error_log(__METHOD__.__LINE__.array2string($attachment));
2839 2834
 				Api\Cache::setSession('calendar', 'ical', array(
@@ -2844,28 +2839,28 @@  discard block
 block discarded – undo
2844 2839
 				));
2845 2840
 				$this->mail_bo->htmlOptions = $bufferHtmlOptions;
2846 2841
 				Api\Translation::add_app('calendar');
2847
-				return ExecMethod( 'calendar.calendar_uiforms.meeting',
2848
-					array('event'=>null,'msg'=>'','useSession'=>true)
2842
+				return ExecMethod('calendar.calendar_uiforms.meeting',
2843
+					array('event'=>null, 'msg'=>'', 'useSession'=>true)
2849 2844
 				);
2850 2845
 			}
2851 2846
 		}
2852 2847
 		// Compose the content of the frame
2853 2848
 		$frameHtml =
2854 2849
 			$this->get_email_header($this->mail_bo->getStyles($bodyParts)).
2855
-			$this->showBody($this->getdisplayableBody($bodyParts,true,false), false);
2850
+			$this->showBody($this->getdisplayableBody($bodyParts, true, false), false);
2856 2851
 		//IE10 eats away linebreaks preceeded by a whitespace in PRE sections
2857
-		$frameHtml = str_replace(" \r\n","\r\n",$frameHtml);
2852
+		$frameHtml = str_replace(" \r\n", "\r\n", $frameHtml);
2858 2853
 		$this->mail_bo->htmlOptions = $bufferHtmlOptions;
2859 2854
 
2860 2855
 		return $frameHtml;
2861 2856
 	}
2862 2857
 
2863
-	static function get_email_header($additionalStyle='')
2858
+	static function get_email_header($additionalStyle = '')
2864 2859
 	{
2865 2860
 		// egw_info[flags][css] already include <style> tags
2866 2861
 		$GLOBALS['egw_info']['flags']['css'] = preg_replace('|</?style[^>]*>|i', '', $additionalStyle);
2867
-		$GLOBALS['egw_info']['flags']['nofooter']=true;
2868
-		$GLOBALS['egw_info']['flags']['nonavbar']=true;
2862
+		$GLOBALS['egw_info']['flags']['nofooter'] = true;
2863
+		$GLOBALS['egw_info']['flags']['nonavbar'] = true;
2869 2864
 		// do NOT include any default CSS
2870 2865
 		Framework::includeCSS('mail', 'preview', true, true);
2871 2866
 
@@ -2876,35 +2871,35 @@  discard block
 block discarded – undo
2876 2871
 		return $GLOBALS['egw']->framework->header();
2877 2872
 	}
2878 2873
 
2879
-	function showBody(&$body, $print=true,$fullPageTags=true)
2874
+	function showBody(&$body, $print = true, $fullPageTags = true)
2880 2875
 	{
2881 2876
 		$BeginBody = '<div class="mailDisplayBody">
2882 2877
 <table width="100%" style="table-layout:fixed"><tr><td class="td_display">';
2883 2878
 
2884 2879
 		$EndBody = '</td></tr></table></div>';
2885 2880
 		if ($fullPageTags) $EndBody .= "</body></html>";
2886
-		if ($print)	{
2887
-			print $BeginBody. $body .$EndBody;
2881
+		if ($print) {
2882
+			print $BeginBody.$body.$EndBody;
2888 2883
 		} else {
2889
-			return $BeginBody. $body .$EndBody;
2884
+			return $BeginBody.$body.$EndBody;
2890 2885
 		}
2891 2886
 	}
2892 2887
 
2893
-	function &getdisplayableBody($_bodyParts,$modifyURI=true,$useTidy = true)
2888
+	function &getdisplayableBody($_bodyParts, $modifyURI = true, $useTidy = true)
2894 2889
 	{
2895
-		$bodyParts	= $_bodyParts;
2890
+		$bodyParts = $_bodyParts;
2896 2891
 
2897
-		$nonDisplayAbleCharacters = array('[\016]','[\017]',
2898
-				'[\020]','[\021]','[\022]','[\023]','[\024]','[\025]','[\026]','[\027]',
2899
-				'[\030]','[\031]','[\032]','[\033]','[\034]','[\035]','[\036]','[\037]');
2892
+		$nonDisplayAbleCharacters = array('[\016]', '[\017]',
2893
+				'[\020]', '[\021]', '[\022]', '[\023]', '[\024]', '[\025]', '[\026]', '[\027]',
2894
+				'[\030]', '[\031]', '[\032]', '[\033]', '[\034]', '[\035]', '[\036]', '[\037]');
2900 2895
 
2901 2896
 		$body = '';
2902 2897
 
2903 2898
 		//error_log(__METHOD__.array2string($bodyParts)); //exit;
2904 2899
 		if (empty($bodyParts)) return "";
2905
-		foreach((array)$bodyParts as $singleBodyPart) {
2900
+		foreach ((array)$bodyParts as $singleBodyPart) {
2906 2901
 			if (!isset($singleBodyPart['body'])) {
2907
-				$singleBodyPart['body'] = $this->getdisplayableBody($singleBodyPart,$modifyURI,$useTidy);
2902
+				$singleBodyPart['body'] = $this->getdisplayableBody($singleBodyPart, $modifyURI, $useTidy);
2908 2903
 				$body .= $singleBodyPart['body'];
2909 2904
 				continue;
2910 2905
 			}
@@ -2914,7 +2909,7 @@  discard block
 block discarded – undo
2914 2909
 				$body .= '';
2915 2910
 				continue;
2916 2911
 			}
2917
-			if(!empty($body)) {
2912
+			if (!empty($body)) {
2918 2913
 				$body .= '<hr style="border:dotted 1px silver;">';
2919 2914
 			}
2920 2915
 			//error_log($singleBodyPart['body']);
@@ -2939,22 +2934,22 @@  discard block
 block discarded – undo
2939 2934
 				'(R)',
2940 2935
 			);
2941 2936
 
2942
-			if(($singleBodyPart['mimeType'] == 'text/html' || $singleBodyPart['mimeType'] == 'text/plain') &&
2937
+			if (($singleBodyPart['mimeType'] == 'text/html' || $singleBodyPart['mimeType'] == 'text/plain') &&
2943 2938
 				strtoupper($singleBodyPart['charSet']) != 'UTF-8')
2944 2939
 			{
2945
-				$singleBodyPart['body'] = preg_replace($sar,$rar,$singleBodyPart['body']);
2940
+				$singleBodyPart['body'] = preg_replace($sar, $rar, $singleBodyPart['body']);
2946 2941
 			}
2947 2942
 			//error_log(__METHOD__.__LINE__.'reports:'.$singleBodyPart['charSet']);
2948
-			$singleBodyPart['body'] = Api\Translation::convert_jsonsafe($singleBodyPart['body'],$singleBodyPart['charSet']);
2943
+			$singleBodyPart['body'] = Api\Translation::convert_jsonsafe($singleBodyPart['body'], $singleBodyPart['charSet']);
2949 2944
 			//error_log(__METHOD__.__LINE__.array2string($singleBodyPart));
2950
-			if($singleBodyPart['mimeType'] == 'text/plain')
2945
+			if ($singleBodyPart['mimeType'] == 'text/plain')
2951 2946
 			{
2952
-				$newBody	= @htmlentities($singleBodyPart['body'],ENT_QUOTES, strtoupper(Mail::$displayCharset));
2947
+				$newBody = @htmlentities($singleBodyPart['body'], ENT_QUOTES, strtoupper(Mail::$displayCharset));
2953 2948
 				//error_log(__METHOD__.__LINE__.'..'.$newBody);
2954 2949
 				// if empty and charset is utf8 try sanitizing the string in question
2955
-				if (empty($newBody) && strtolower($singleBodyPart['charSet'])=='utf-8') $newBody = @htmlentities(iconv('utf-8', 'utf-8', $singleBodyPart['body']),ENT_QUOTES, strtoupper(Mail::$displayCharset));
2950
+				if (empty($newBody) && strtolower($singleBodyPart['charSet']) == 'utf-8') $newBody = @htmlentities(iconv('utf-8', 'utf-8', $singleBodyPart['body']), ENT_QUOTES, strtoupper(Mail::$displayCharset));
2956 2951
 				// if the conversion to htmlentities fails somehow, try without specifying the charset, which defaults to iso-
2957
-				if (empty($newBody)) $newBody    = htmlentities($singleBodyPart['body'],ENT_QUOTES);
2952
+				if (empty($newBody)) $newBody = htmlentities($singleBodyPart['body'], ENT_QUOTES);
2958 2953
 
2959 2954
 				// search http[s] links and make them as links available again
2960 2955
 				// to understand what's going on here, have a look at
@@ -2982,20 +2977,20 @@  discard block
 block discarded – undo
2982 2977
 				// since we do not display the message as HTML anymore we may want to insert good linebreaking (for visibility).
2983 2978
 				//error_log(__METHOD__.__LINE__.'..'.$newBody);
2984 2979
 				// dont break lines that start with > (&gt; as the text was processed with htmlentities before)
2985
-				$newBody	= "<pre>".Mail::wordwrap($newBody,90,"\n",'&gt;')."</pre>";
2980
+				$newBody = "<pre>".Mail::wordwrap($newBody, 90, "\n", '&gt;')."</pre>";
2986 2981
 			}
2987 2982
 			else
2988 2983
 			{
2989
-				$alreadyHtmlLawed=false;
2990
-				$newBody	= $singleBodyPart['body'];
2984
+				$alreadyHtmlLawed = false;
2985
+				$newBody = $singleBodyPart['body'];
2991 2986
 				//TODO:$newBody	= $this->highlightQuotes($newBody);
2992 2987
 				#error_log(print_r($newBody,true));
2993 2988
 				if ($useTidy && extension_loaded('tidy'))
2994 2989
 				{
2995 2990
 					$tidy = new tidy();
2996
-					$cleaned = $tidy->repairString($newBody, Mail::$tidy_config,'utf8');
2991
+					$cleaned = $tidy->repairString($newBody, Mail::$tidy_config, 'utf8');
2997 2992
 					// Found errors. Strip it all so there's some output
2998
-					if($tidy->getStatus() == 2)
2993
+					if ($tidy->getStatus() == 2)
2999 2994
 					{
3000 2995
 						error_log(__METHOD__.' ('.__LINE__.') '.' ->'.$tidy->errorBuffer);
3001 2996
 					}
@@ -3006,7 +3001,7 @@  discard block
 block discarded – undo
3006 3001
 					if (!$preserveHTML)	// ToDo KL: $preserveHTML is NOT initialised, so always if is dead code
3007 3002
 					{
3008 3003
 						// filter only the 'body', as we only want that part, if we throw away the Api\Html
3009
-						preg_match('`(<htm.+?<body[^>]*>)(.+?)(</body>.*?</html>)`ims', $newBody, $matches=array());
3004
+						preg_match('`(<htm.+?<body[^>]*>)(.+?)(</body>.*?</html>)`ims', $newBody, $matches = array());
3010 3005
 						if ($matches[2])
3011 3006
 						{
3012 3007
 							$hasOther = true;
@@ -3017,7 +3012,7 @@  discard block
 block discarded – undo
3017 3012
 				else
3018 3013
 				{
3019 3014
 					// htmLawed filter only the 'body'
3020
-					preg_match('`(<htm.+?<body[^>]*>)(.+?)(</body>.*?</html>)`ims', $newBody, $matches=array());
3015
+					preg_match('`(<htm.+?<body[^>]*>)(.+?)(</body>.*?</html>)`ims', $newBody, $matches = array());
3021 3016
 					if ($matches[2])
3022 3017
 					{
3023 3018
 						$hasOther = true;
@@ -3026,10 +3021,10 @@  discard block
 block discarded – undo
3026 3021
 					$htmLawed = new Api\Html\HtmLawed();
3027 3022
 					// the next line should not be needed, but produces better results on HTML 2 Text conversion,
3028 3023
 					// as we switched off HTMLaweds tidy functionality
3029
-					$newBody = str_replace(array('&amp;amp;','<DIV><BR></DIV>',"<DIV>&nbsp;</DIV>",'<div>&nbsp;</div>'),array('&amp;','<BR>','<BR>','<BR>'),$newBody);
3030
-					$newBody = $htmLawed->run($newBody,Mail::$htmLawed_config);
3031
-					if ($hasOther && $preserveHTML) $newBody = $matches[1]. $newBody. $matches[3];
3032
-					$alreadyHtmlLawed=true;
3024
+					$newBody = str_replace(array('&amp;amp;', '<DIV><BR></DIV>', "<DIV>&nbsp;</DIV>", '<div>&nbsp;</div>'), array('&amp;', '<BR>', '<BR>', '<BR>'), $newBody);
3025
+					$newBody = $htmLawed->run($newBody, Mail::$htmLawed_config);
3026
+					if ($hasOther && $preserveHTML) $newBody = $matches[1].$newBody.$matches[3];
3027
+					$alreadyHtmlLawed = true;
3033 3028
 				}
3034 3029
 				// do the cleanup, set for the use of purifier
3035 3030
 				//$newBodyBuff = $newBody;
@@ -3051,8 +3046,8 @@  discard block
 block discarded – undo
3051 3046
 				}
3052 3047
 */
3053 3048
 				// removes stuff between http and ?http
3054
-				$Protocol = '(http:\/\/|(ftp:\/\/|https:\/\/))';    // only http:// gets removed, other protocolls are shown
3055
-				$newBody = preg_replace('~'.$Protocol.'[^>]*\?'.$Protocol.'~sim','$1',$newBody); // removes stuff between http:// and ?http://
3049
+				$Protocol = '(http:\/\/|(ftp:\/\/|https:\/\/))'; // only http:// gets removed, other protocolls are shown
3050
+				$newBody = preg_replace('~'.$Protocol.'[^>]*\?'.$Protocol.'~sim', '$1', $newBody); // removes stuff between http:// and ?http://
3056 3051
 				// TRANSFORM MAILTO LINKS TO EMAILADDRESS ONLY, WILL BE SUBSTITUTED BY parseEmail TO CLICKABLE LINK
3057 3052
 				$newBody = preg_replace('/(?<!"|href=|href\s=\s|href=\s|href\s=)'.'mailto:([a-z0-9._-]+)@([a-z0-9_-]+)\.([a-z0-9._-]+)/i',
3058 3053
 					"\\1@\\2.\\3",
@@ -3065,7 +3060,7 @@  discard block
 block discarded – undo
3065 3060
 				// create links for inline images
3066 3061
 				if ($modifyURI)
3067 3062
 				{
3068
-					$newBody = self::resolve_inline_images ($newBody, $this->mailbox, $this->uid, $this->partID);
3063
+					$newBody = self::resolve_inline_images($newBody, $this->mailbox, $this->uid, $this->partID);
3069 3064
 				}
3070 3065
 				// email addresses / mailto links get now activated on client-side
3071 3066
 			}
@@ -3077,7 +3072,7 @@  discard block
 block discarded – undo
3077 3072
 		$body = preg_replace("/(\\\\\\\\)([\w,\\\\,-]+)/i",
3078 3073
 			"<a href=\"file:$1$2\" target=\"_blank\"><font color=\"blue\">$1$2</font></a>", $body);
3079 3074
 
3080
-		$body = preg_replace($nonDisplayAbleCharacters,'',$body);
3075
+		$body = preg_replace($nonDisplayAbleCharacters, '', $body);
3081 3076
 
3082 3077
 		return $body;
3083 3078
 	}
@@ -3092,7 +3087,7 @@  discard block
 block discarded – undo
3092 3087
 	 * @param string $_messageType = 'html', message type is either html or plain
3093 3088
 	 * @return string message body including all CID images replaced
3094 3089
 	 */
3095
-	public static function resolve_inline_images ($_body,$_mailbox, $_uid, $_partID, $_messageType = 'html')
3090
+	public static function resolve_inline_images($_body, $_mailbox, $_uid, $_partID, $_messageType = 'html')
3096 3091
 	{
3097 3092
 		if ($_messageType === 'plain')
3098 3093
 		{
@@ -3100,7 +3095,7 @@  discard block
 block discarded – undo
3100 3095
 		}
3101 3096
 		else
3102 3097
 		{
3103
-			foreach(array('src','url','background') as $type)
3098
+			foreach (array('src', 'url', 'background') as $type)
3104 3099
 			{
3105 3100
 				$_body = self::resolve_inline_image_byType($_body, $_mailbox, $_uid, $_partID, $type);
3106 3101
 			}
@@ -3119,7 +3114,7 @@  discard block
 block discarded – undo
3119 3114
 	 *	- types: {plain|src|url|background}
3120 3115
 	 * @return string returns body content including all CID replacements
3121 3116
 	 */
3122
-	public static function resolve_inline_image_byType ($_body,$_mailbox, $_uid, $_partID, $_type ='src')
3117
+	public static function resolve_inline_image_byType($_body, $_mailbox, $_uid, $_partID, $_type = 'src')
3123 3118
 	{
3124 3119
 		/**
3125 3120
 		 * Callback for preg_replace_callback function
@@ -3131,7 +3126,7 @@  discard block
 block discarded – undo
3131 3126
 		 * @param string $_type
3132 3127
 		 * @return string|boolean returns the replace
3133 3128
 		*/
3134
-		$replace_callback = function ($matches) use ($_mailbox,$_uid, $_partID,  $_type)
3129
+		$replace_callback = function($matches) use ($_mailbox, $_uid, $_partID, $_type)
3135 3130
 		{
3136 3131
 			if (!$_type)	return false;
3137 3132
 			$CID = '';
@@ -3153,11 +3148,11 @@  discard block
 block discarded – undo
3153 3148
 					break;
3154 3149
 			}
3155 3150
 
3156
-			static $cache = array();	// some caching, if mails containing the same image multiple times
3151
+			static $cache = array(); // some caching, if mails containing the same image multiple times
3157 3152
 
3158 3153
 			if (is_array($matches) && $CID)
3159 3154
 			{
3160
-				$linkData = array (
3155
+				$linkData = array(
3161 3156
 					'menuaction'    => 'mail.mail_ui.displayImage',
3162 3157
 					'uid'		=> $_uid,
3163 3158
 					'mailbox'	=> base64_encode($_mailbox),
@@ -3170,7 +3165,7 @@  discard block
 block discarded – undo
3170 3165
 				{
3171 3166
 					if (!isset($cache[$imageURL]))
3172 3167
 					{
3173
-						if ($_type !="background")
3168
+						if ($_type != "background")
3174 3169
 						{
3175 3170
 							$bo = Mail::getInstance(false, mail_ui::$icServerID);
3176 3171
 							$attachment = $bo->getAttachmentByCID($_uid, $CID, $_partID);
@@ -3211,16 +3206,16 @@  discard block
 block discarded – undo
3211 3206
 		};
3212 3207
 
3213 3208
 		// return new body content base on chosen type
3214
-		switch($_type)
3209
+		switch ($_type)
3215 3210
 		{
3216 3211
 			case"plain":
3217
-				return preg_replace_callback("/\[cid:(.*)\]/iU",$replace_callback,$_body);
3212
+				return preg_replace_callback("/\[cid:(.*)\]/iU", $replace_callback, $_body);
3218 3213
 			case "src":
3219
-				return preg_replace_callback("/src=(\"|\')cid:(.*)(\"|\')/iU",$replace_callback,$_body);
3214
+				return preg_replace_callback("/src=(\"|\')cid:(.*)(\"|\')/iU", $replace_callback, $_body);
3220 3215
 			case "url":
3221
-				return preg_replace_callback("/url\(cid:(.*)\);/iU",$replace_callback,$_body);
3216
+				return preg_replace_callback("/url\(cid:(.*)\);/iU", $replace_callback, $_body);
3222 3217
 			case "background":
3223
-				return preg_replace_callback("/background=(\"|\')cid:(.*)(\"|\')/iU",$replace_callback,$_body);
3218
+				return preg_replace_callback("/background=(\"|\')cid:(.*)(\"|\')/iU", $replace_callback, $_body);
3224 3219
 		}
3225 3220
 	}
3226 3221
 
@@ -3228,7 +3223,7 @@  discard block
 block discarded – undo
3228 3223
 	 * importMessage
3229 3224
 	 * @param array $content = null an array of content
3230 3225
 	 */
3231
-	function importMessage($content=null)
3226
+	function importMessage($content = null)
3232 3227
 	{
3233 3228
 		//error_log(__METHOD__.__LINE__.$this->mail_bo->getDraftFolder());
3234 3229
 
@@ -3250,7 +3245,7 @@  discard block
 block discarded – undo
3250 3245
 			}
3251 3246
 			$destination = $content['FOLDER'][0];
3252 3247
 
3253
-			if (stripos($destination,self::$delimiter)!==false) list($icServerID,$destination) = explode(self::$delimiter,$destination,2);
3248
+			if (stripos($destination, self::$delimiter) !== false) list($icServerID, $destination) = explode(self::$delimiter, $destination, 2);
3254 3249
 			if ($icServerID && $icServerID != $this->mail_bo->profileID)
3255 3250
 			{
3256 3251
 				//error_log(__METHOD__.__LINE__.' change Profile to ->'.$icServerID);
@@ -3261,32 +3256,31 @@  discard block
 block discarded – undo
3261 3256
 			$importFailed = false;
3262 3257
 			try
3263 3258
 			{
3264
-				$messageUid = $this->importMessageToFolder($file,$destination,$importID);
3265
-			    $linkData = array
3266
-			    (
3259
+				$messageUid = $this->importMessageToFolder($file, $destination, $importID);
3260
+			    $linkData = array(
3267 3261
 					'id' => $this->createRowID($destination, $messageUid, true),
3268 3262
 			    );
3269 3263
 			}
3270 3264
 			catch (Api\Exception\WrongUserinput $e)
3271 3265
 			{
3272
-					$importFailed=true;
3273
-					$content['msg']		= $e->getMessage();
3266
+					$importFailed = true;
3267
+					$content['msg'] = $e->getMessage();
3274 3268
 			}
3275 3269
 			if (!$importFailed)
3276 3270
 			{
3277 3271
 				list($width, $height) = explode('x', Link::get_registry('mail', 'add_popup'));
3278 3272
 				if ($width > 0 && $height > 0) Api\Json\Response::get()->call('resizeTo', $width, $height);
3279
-				ExecMethod2('mail.mail_ui.displayMessage',$linkData);
3273
+				ExecMethod2('mail.mail_ui.displayMessage', $linkData);
3280 3274
 				return;
3281 3275
 			}
3282 3276
 		}
3283 3277
 		if (!is_array($content)) $content = array();
3284
-		if (empty($content['FOLDER'])) $content['FOLDER']=(array)$this->mail_bo->getDraftFolder();
3285
-		if (!empty($content['FOLDER'])) $sel_options['FOLDER']=mail_compose::ajax_searchFolder(0,true);
3278
+		if (empty($content['FOLDER'])) $content['FOLDER'] = (array)$this->mail_bo->getDraftFolder();
3279
+		if (!empty($content['FOLDER'])) $sel_options['FOLDER'] = mail_compose::ajax_searchFolder(0, true);
3286 3280
 
3287 3281
 		$etpl = new Etemplate('mail.importMessage');
3288
-		$etpl->setElementAttribute('uploadForImport','onFinish','app.mail.uploadForImport');
3289
-		$etpl->exec('mail.mail_ui.importMessage',$content,$sel_options,array(),array(),2);
3282
+		$etpl->setElementAttribute('uploadForImport', 'onFinish', 'app.mail.uploadForImport');
3283
+		$etpl->exec('mail.mail_ui.importMessage', $content, $sel_options, array(), array(), 2);
3290 3284
 	}
3291 3285
 
3292 3286
 	/**
@@ -3298,7 +3292,7 @@  discard block
 block discarded – undo
3298 3292
 	 * @param string $importID ID for the imported message, used by attachments to identify them unambiguously
3299 3293
 	 * @return mixed $messageUID or exception
3300 3294
 	 */
3301
-	function importMessageToFolder($_formData,&$_folder,$importID='')
3295
+	function importMessageToFolder($_formData, &$_folder, $importID = '')
3302 3296
 	{
3303 3297
 		$importfailed = false;
3304 3298
 		//error_log(__METHOD__.__LINE__.array2string($_formData));
@@ -3306,7 +3300,7 @@  discard block
 block discarded – undo
3306 3300
 		// check if formdata meets basic restrictions (in tmp dir, or vfs, mimetype, etc.)
3307 3301
 		try
3308 3302
 		{
3309
-			$tmpFileName = Mail::checkFileBasics($_formData,$importID);
3303
+			$tmpFileName = Mail::checkFileBasics($_formData, $importID);
3310 3304
 		}
3311 3305
 		catch (Api\Exception\WrongUserinput $e)
3312 3306
 		{
@@ -3330,29 +3324,29 @@  discard block
 block discarded – undo
3330 3324
 			if (empty($_folder))
3331 3325
 			{
3332 3326
 				$importfailed = true;
3333
-				$alert_msg .= lang("Import of message %1 failed. Destination Folder not set.",$_formData['name']);
3327
+				$alert_msg .= lang("Import of message %1 failed. Destination Folder not set.", $_formData['name']);
3334 3328
 			}
3335 3329
 			$delimiter = $this->mail_bo->getHierarchyDelimiter();
3336
-			if($_folder=='INBOX'.$delimiter) $_folder='INBOX';
3330
+			if ($_folder == 'INBOX'.$delimiter) $_folder = 'INBOX';
3337 3331
 			if ($importfailed === false)
3338 3332
 			{
3339
-				if ($this->mail_bo->folderExists($_folder,true)) {
3333
+				if ($this->mail_bo->folderExists($_folder, true)) {
3340 3334
 					try
3341 3335
 					{
3342 3336
 						$messageUid = $this->mail_bo->appendMessage($_folder,
3343 3337
 							$mailObject->getRaw(),
3344
-							null,'\\Seen');
3338
+							null, '\\Seen');
3345 3339
 					}
3346 3340
 					catch (Api\Exception\WrongUserinput $e)
3347 3341
 					{
3348 3342
 						$importfailed = true;
3349
-						$alert_msg .= lang("Import of message %1 failed. Could not save message to folder %2 due to: %3",$_formData['name'],$_folder,$e->getMessage());
3343
+						$alert_msg .= lang("Import of message %1 failed. Could not save message to folder %2 due to: %3", $_formData['name'], $_folder, $e->getMessage());
3350 3344
 					}
3351 3345
 				}
3352 3346
 				else
3353 3347
 				{
3354 3348
 					$importfailed = true;
3355
-					$alert_msg .= lang("Import of message %1 failed. Destination Folder %2 does not exist.",$_formData['name'],$_folder);
3349
+					$alert_msg .= lang("Import of message %1 failed. Destination Folder %2 does not exist.", $_formData['name'], $_folder);
3356 3350
 				}
3357 3351
 			}
3358 3352
 		}
@@ -3378,9 +3372,9 @@  discard block
 block discarded – undo
3378 3372
 	 *								 $formData['size']	= 2136;
3379 3373
 	 * @return void
3380 3374
 	 */
3381
-	function importMessageFromVFS2DraftAndEdit($formData='')
3375
+	function importMessageFromVFS2DraftAndEdit($formData = '')
3382 3376
 	{
3383
-		$this->importMessageFromVFS2DraftAndDisplay($formData,'edit');
3377
+		$this->importMessageFromVFS2DraftAndDisplay($formData, 'edit');
3384 3378
 	}
3385 3379
 
3386 3380
 	/**
@@ -3395,7 +3389,7 @@  discard block
 block discarded – undo
3395 3389
 	 * @param string $mode mode to open ImportedMessage display and edit are supported
3396 3390
 	 * @return void
3397 3391
 	 */
3398
-	function importMessageFromVFS2DraftAndDisplay($formData='',$mode='display')
3392
+	function importMessageFromVFS2DraftAndDisplay($formData = '', $mode = 'display')
3399 3393
 	{
3400 3394
 		if (empty($formData)) if (isset($_REQUEST['formData'])) $formData = $_REQUEST['formData'];
3401 3395
 		//error_log(__METHOD__.__LINE__.':'.array2string($formData).' Mode:'.$mode.'->'.function_backtrace());
@@ -3408,43 +3402,42 @@  discard block
 block discarded – undo
3408 3402
 			$formData['file'] = 'egw-data://'.$formData['data'];
3409 3403
 		}
3410 3404
 		// name should be set to meet the requirements of checkFileBasics
3411
-		if (parse_url($formData['file'],PHP_URL_SCHEME) == 'vfs' && empty($formData['name']))
3405
+		if (parse_url($formData['file'], PHP_URL_SCHEME) == 'vfs' && empty($formData['name']))
3412 3406
 		{
3413
-			$buff = explode('/',$formData['file']);
3407
+			$buff = explode('/', $formData['file']);
3414 3408
 			if (is_array($buff)) $formData['name'] = array_pop($buff); // take the last part as name
3415 3409
 		}
3416 3410
 		// type should be set to meet the requirements of checkFileBasics
3417
-		if (parse_url($formData['file'],PHP_URL_SCHEME) == 'vfs' && empty($formData['type']))
3411
+		if (parse_url($formData['file'], PHP_URL_SCHEME) == 'vfs' && empty($formData['type']))
3418 3412
 		{
3419
-			$buff = explode('.',$formData['file']);
3413
+			$buff = explode('.', $formData['file']);
3420 3414
 			$suffix = '';
3421 3415
 			if (is_array($buff)) $suffix = array_pop($buff); // take the last extension to check with ext2mime
3422 3416
 			if (!empty($suffix)) $formData['type'] = Api\MimeMagic::ext2mime($suffix);
3423 3417
 		}
3424 3418
 		// size should be set to meet the requirements of checkFileBasics
3425
-		if (parse_url($formData['file'],PHP_URL_SCHEME) == 'vfs' && !isset($formData['size']))
3419
+		if (parse_url($formData['file'], PHP_URL_SCHEME) == 'vfs' && !isset($formData['size']))
3426 3420
 		{
3427 3421
 			$formData['size'] = strlen($formData['file']); // set some size, to meet requirements of checkFileBasics
3428 3422
 		}
3429 3423
 		try
3430 3424
 		{
3431
-			$messageUid = $this->importMessageToFolder($formData,$draftFolder,$importID);
3432
-			$linkData = array
3433
-			(
3434
-		        'menuaction'    => ($mode=='display'?'mail.mail_ui.displayMessage':'mail.mail_compose.composeFromDraft'),
3435
-				'id'		=> $this->createRowID($draftFolder,$messageUid,true),
3425
+			$messageUid = $this->importMessageToFolder($formData, $draftFolder, $importID);
3426
+			$linkData = array(
3427
+		        'menuaction'    => ($mode == 'display' ? 'mail.mail_ui.displayMessage' : 'mail.mail_compose.composeFromDraft'),
3428
+				'id'		=> $this->createRowID($draftFolder, $messageUid, true),
3436 3429
 				'deleteDraftOnClose' => 1,
3437 3430
 			);
3438
-			if ($mode!='display')
3431
+			if ($mode != 'display')
3439 3432
 			{
3440 3433
 				unset($linkData['deleteDraftOnClose']);
3441
-				$linkData['method']	='importMessageToMergeAndSend';
3434
+				$linkData['method'] = 'importMessageToMergeAndSend';
3442 3435
 			}
3443 3436
 			else
3444 3437
 			{
3445
-				$linkData['mode']=$mode;
3438
+				$linkData['mode'] = $mode;
3446 3439
 			}
3447
-			Egw::redirect_link('/index.php',$linkData);
3440
+			Egw::redirect_link('/index.php', $linkData);
3448 3441
 		}
3449 3442
 		catch (Api\Exception\WrongUserinput $e)
3450 3443
 		{
@@ -3459,13 +3452,13 @@  discard block
 block discarded – undo
3459 3452
 	 *
3460 3453
 	 * @return xajax response
3461 3454
 	 */
3462
-	function loadEmailBody($_messageID=null,$_partID=null,$_htmloptions=null)
3455
+	function loadEmailBody($_messageID = null, $_partID = null, $_htmloptions = null)
3463 3456
 	{
3464 3457
 		//error_log(__METHOD__.__LINE__.array2string($_GET));
3465 3458
 		if (!$_messageID && !empty($_GET['_messageID'])) $_messageID = $_GET['_messageID'];
3466 3459
 		if (!$_partID && !empty($_GET['_partID'])) $_partID = $_GET['_partID'];
3467 3460
 		if (!$_htmloptions && !empty($_GET['_htmloptions'])) $_htmloptions = $_GET['_htmloptions'];
3468
-		if(Mail::$debug) error_log(__METHOD__."->".print_r($_messageID,true).",$_partID,$_htmloptions");
3461
+		if (Mail::$debug) error_log(__METHOD__."->".print_r($_messageID, true).",$_partID,$_htmloptions");
3469 3462
 		if (empty($_messageID)) return "";
3470 3463
 		$uidA = self::splitRowID($_messageID);
3471 3464
 		$folder = $uidA['folder']; // all messages in one set are supposed to be within the same folder
@@ -3479,7 +3472,7 @@  discard block
 block discarded – undo
3479 3472
 			$this->changeProfile($icServerID);
3480 3473
 		}
3481 3474
 
3482
-		$bodyResponse = $this->get_load_email_data($messageID,$_partID,$folder,$_htmloptions);
3475
+		$bodyResponse = $this->get_load_email_data($messageID, $_partID, $folder, $_htmloptions);
3483 3476
 		Api\Session::cache_control(true);
3484 3477
 		//error_log(array2string($bodyResponse));
3485 3478
 		echo $bodyResponse;
@@ -3508,7 +3501,7 @@  discard block
 block discarded – undo
3508 3501
 			$oA = array();
3509 3502
 			foreach ($_folder as $_folderName)
3510 3503
 			{
3511
-				list($profileID,$folderName) = explode(self::$delimiter,$_folderName,2);
3504
+				list($profileID, $folderName) = explode(self::$delimiter, $_folderName, 2);
3512 3505
 				if (is_numeric($profileID))
3513 3506
 				{
3514 3507
 					if ($profileID != $this->mail_bo->profileID) continue; // only current connection
@@ -3516,19 +3509,19 @@  discard block
 block discarded – undo
3516 3509
 					{
3517 3510
 						try
3518 3511
 						{
3519
-							$fS = $this->mail_bo->getFolderStatus($folderName,false,false,false);
3512
+							$fS = $this->mail_bo->getFolderStatus($folderName, false, false, false);
3520 3513
 						}
3521 3514
 						catch (Exception $e)
3522 3515
 						{
3523 3516
 							continue;
3524 3517
 						}
3525
-						if (in_array($fS['shortDisplayName'],Mail::$autoFolders)) $fS['shortDisplayName']=lang($fS['shortDisplayName']);
3518
+						if (in_array($fS['shortDisplayName'], Mail::$autoFolders)) $fS['shortDisplayName'] = lang($fS['shortDisplayName']);
3526 3519
 						//error_log(__METHOD__.__LINE__.array2string($fS));
3527 3520
 						if ($fS['unseen'])
3528 3521
 						{
3529 3522
 							$oA[$_folderName] = $fS['shortDisplayName'].' ('.$fS['unseen'].')';
3530 3523
 						}
3531
-						if ($fS['unseen']==0 && $fS['shortDisplayName'])
3524
+						if ($fS['unseen'] == 0 && $fS['shortDisplayName'])
3532 3525
 						{
3533 3526
 							$oA[$_folderName] = $fS['shortDisplayName'];
3534 3527
 						}
@@ -3539,7 +3532,7 @@  discard block
 block discarded – undo
3539 3532
 			if ($oA)
3540 3533
 			{
3541 3534
 				$response = Api\Json\Response::get();
3542
-				$response->call('app.mail.mail_setFolderStatus',$oA);
3535
+				$response->call('app.mail.mail_setFolderStatus', $oA);
3543 3536
 			}
3544 3537
 		}
3545 3538
 	}
@@ -3553,14 +3546,14 @@  discard block
 block discarded – undo
3553 3546
 	function ajax_addFolder($_parentFolderName, $_newName)
3554 3547
 	{
3555 3548
 		//error_log(__METHOD__.__LINE__.' ParentFolderName:'.array2string($_parentFolderName).' NewName/Folder:'.array2string($_newName));
3556
-		$errorMessage='';
3549
+		$errorMessage = '';
3557 3550
 		if ($_parentFolderName)
3558 3551
 		{
3559 3552
 			$created = false;
3560 3553
 			$decodedFolderName = $this->mail_bo->decodeEntityFolderName($_parentFolderName);
3561 3554
 			//the conversion is handeled by horde, frontend interaction is all utf-8
3562 3555
 			$_newName = $this->mail_bo->decodeEntityFolderName($_newName);
3563
-			list($profileID,$parentFolderName) = explode(self::$delimiter,$decodedFolderName,2);
3556
+			list($profileID, $parentFolderName) = explode(self::$delimiter, $decodedFolderName, 2);
3564 3557
 			if (is_numeric($profileID))
3565 3558
 			{
3566 3559
 				if ($profileID != $this->mail_bo->profileID) return; // only current connection
@@ -3600,10 +3593,10 @@  discard block
 block discarded – undo
3600 3593
 
3601 3594
 				if (empty($del)) $del = $this->mail_bo->getHierarchyDelimiter(false);
3602 3595
 				*/
3603
-				$nA = explode($del,$_newName);
3596
+				$nA = explode($del, $_newName);
3604 3597
 
3605 3598
 				//error_log(__METHOD__.__LINE__."$folderName, $parentFolder, $_newName");
3606
-				if (!!empty($parentFolderName)) $oldFolderInfo = $this->mail_bo->getFolderStatus($parentFolderName,false);
3599
+				if (!!empty($parentFolderName)) $oldFolderInfo = $this->mail_bo->getFolderStatus($parentFolderName, false);
3607 3600
 				//error_log(__METHOD__.__LINE__.array2string($oldFolderInfo));
3608 3601
 
3609 3602
 				$this->mail_bo->reopen('INBOX');
@@ -3611,11 +3604,11 @@  discard block
 block discarded – undo
3611 3604
 				// if newName has delimiter ($del) in it, we need to create the subtree
3612 3605
 				if (!empty($nA))
3613 3606
 				{
3614
-					$c=0;
3615
-					foreach($nA as $sTName)
3607
+					$c = 0;
3608
+					foreach ($nA as $sTName)
3616 3609
 					{
3617
-						$error=null;
3618
-						if(($parentFolderName = $this->mail_bo->createFolder($parentFolderName, $sTName, $error)))
3610
+						$error = null;
3611
+						if (($parentFolderName = $this->mail_bo->createFolder($parentFolderName, $sTName, $error)))
3619 3612
 						{
3620 3613
 							$c++;
3621 3614
 						}
@@ -3624,16 +3617,16 @@  discard block
 block discarded – undo
3624 3617
 							$errorMessage .= $error;
3625 3618
 						}
3626 3619
 					}
3627
-					if ($c==count($nA)) $created=true;
3620
+					if ($c == count($nA)) $created = true;
3628 3621
 				}
3629 3622
 				if (!empty($parentName)) $this->mail_bo->reopen($parentName);
3630 3623
 			}
3631 3624
 			//error_log(__METHOD__.__LINE__.array2string($oA));
3632
-			if ($created===true)
3625
+			if ($created === true)
3633 3626
 			{
3634 3627
 				$this->mail_bo->resetFolderObjectCache($profileID);
3635 3628
 				$response = Api\Json\Response::get();
3636
-				if ( $oldFolderInfo['shortDisplayName'])
3629
+				if ($oldFolderInfo['shortDisplayName'])
3637 3630
 				{
3638 3631
 					$nodeInfo = array($_parentFolderName=>$oldFolderInfo['shortDisplayName']);
3639 3632
 				}
@@ -3641,14 +3634,14 @@  discard block
 block discarded – undo
3641 3634
 				{
3642 3635
 					$nodeInfo = array($profileID=>lang('INBOX'));
3643 3636
 				}
3644
-				$response->call('app.mail.mail_reloadNode',$nodeInfo);
3637
+				$response->call('app.mail.mail_reloadNode', $nodeInfo);
3645 3638
 			}
3646 3639
 			else
3647 3640
 			{
3648 3641
 				if ($errorMessage)
3649 3642
 				{
3650 3643
 					$response = Api\Json\Response::get();
3651
-					$response->call('egw.message',$errorMessage);
3644
+					$response->call('egw.message', $errorMessage);
3652 3645
 				}
3653 3646
 			}
3654 3647
 		}
@@ -3670,22 +3663,22 @@  discard block
 block discarded – undo
3670 3663
 			$_newName = $this->mail_bo->decodeEntityFolderName($_newName);
3671 3664
 			$del = $this->mail_bo->getHierarchyDelimiter(false);
3672 3665
 			$oA = array();
3673
-			list($profileID,$folderName) = explode(self::$delimiter,$decodedFolderName,2);
3666
+			list($profileID, $folderName) = explode(self::$delimiter, $decodedFolderName, 2);
3674 3667
 			$hasChildren = false;
3675 3668
 			if (is_numeric($profileID))
3676 3669
 			{
3677 3670
 				if ($profileID != $this->mail_bo->profileID) return; // only current connection
3678
-				$pA = explode($del,$folderName);
3671
+				$pA = explode($del, $folderName);
3679 3672
 				array_pop($pA);
3680
-				$parentFolder = implode($del,$pA);
3681
-				if (strtoupper($folderName)!= 'INBOX')
3673
+				$parentFolder = implode($del, $pA);
3674
+				if (strtoupper($folderName) != 'INBOX')
3682 3675
 				{
3683 3676
 					//error_log(__METHOD__.__LINE__."$folderName, $parentFolder, $_newName");
3684
-					$oldFolderInfo = $this->mail_bo->getFolderStatus($folderName,false);
3677
+					$oldFolderInfo = $this->mail_bo->getFolderStatus($folderName, false);
3685 3678
 					//error_log(__METHOD__.__LINE__.array2string($oldFolderInfo));
3686
-					if (!empty($oldFolderInfo['attributes']) && stripos(array2string($oldFolderInfo['attributes']),'\hasnochildren')=== false)
3679
+					if (!empty($oldFolderInfo['attributes']) && stripos(array2string($oldFolderInfo['attributes']), '\hasnochildren') === false)
3687 3680
 					{
3688
-						$hasChildren=true; // translates to: hasChildren -> dynamicLoading
3681
+						$hasChildren = true; // translates to: hasChildren -> dynamicLoading
3689 3682
 						$delimiter = $this->mail_bo->getHierarchyDelimiter();
3690 3683
 						$nameSpace = $this->mail_bo->_getNameSpaces();
3691 3684
 						$prefix = $this->mail_bo->getFolderPrefixFromNamespace($nameSpace, $folderName);
@@ -3702,7 +3695,7 @@  discard block
 block discarded – undo
3702 3695
 							else
3703 3696
 							{
3704 3697
 								$rv = $this->mail_bo->icServer->subscribeMailbox($folder, false);
3705
-								$fragments[$profileID.self::$delimiter.$folder] = substr($folder,strlen($folderName));
3698
+								$fragments[$profileID.self::$delimiter.$folder] = substr($folder, strlen($folderName));
3706 3699
 							}
3707 3700
 						}
3708 3701
 						//error_log(__METHOD__.__LINE__.' Fetched Subfolders->'.array2string($fragments));
@@ -3712,7 +3705,7 @@  discard block
 block discarded – undo
3712 3705
 					$success = false;
3713 3706
 					try
3714 3707
 					{
3715
-						if(($newFolderName = $this->mail_bo->renameFolder($folderName, $parentFolder, $_newName)))
3708
+						if (($newFolderName = $this->mail_bo->renameFolder($folderName, $parentFolder, $_newName)))
3716 3709
 						{
3717 3710
 							$this->mail_bo->resetFolderObjectCache($profileID);
3718 3711
 							//enforce the subscription to the newly named server, as it seems to fail for names with umlauts
@@ -3723,11 +3716,11 @@  discard block
 block discarded – undo
3723 3716
 					}
3724 3717
 					catch (Exception $e)
3725 3718
 					{
3726
-						$newFolderName=$folderName;
3719
+						$newFolderName = $folderName;
3727 3720
 						$msg = $e->getMessage();
3728 3721
 					}
3729 3722
 					$this->mail_bo->reopen($newFolderName);
3730
-					$fS = $this->mail_bo->getFolderStatus($newFolderName,false);
3723
+					$fS = $this->mail_bo->getFolderStatus($newFolderName, false);
3731 3724
 					//error_log(__METHOD__.__LINE__.array2string($fS));
3732 3725
 					if ($hasChildren)
3733 3726
 					{
@@ -3758,12 +3751,12 @@  discard block
 block discarded – undo
3758 3751
 					{
3759 3752
 						$oA[$_folderName]['desc'] = $fS['shortDisplayName'];
3760 3753
 					}
3761
-					foreach($fragments as $oldFolderName => $fragment)
3754
+					foreach ($fragments as $oldFolderName => $fragment)
3762 3755
 					{
3763 3756
 						//error_log(__METHOD__.__LINE__.':'.$oldFolderName.'->'.$profileID.self::$delimiter.$newFolderName.$fragment);
3764 3757
 						$oA[$oldFolderName]['id'] = $profileID.self::$delimiter.$newFolderName.$fragment;
3765 3758
 						$oA[$oldFolderName]['olddesc'] = '#skip-user-interaction-message#';
3766
-						$fS = $this->mail_bo->getFolderStatus($newFolderName.$fragment,false);
3759
+						$fS = $this->mail_bo->getFolderStatus($newFolderName.$fragment, false);
3767 3760
 						if ($fS['unseen'])
3768 3761
 						{
3769 3762
 							$oA[$oldFolderName]['desc'] = $fS['shortDisplayName'].' ('.$fS['unseen'].')';
@@ -3776,20 +3769,20 @@  discard block
 block discarded – undo
3776 3769
 					}
3777 3770
 				}
3778 3771
 			}
3779
-			if ($folderName==$this->mail_bo->sessionData['mailbox'])
3772
+			if ($folderName == $this->mail_bo->sessionData['mailbox'])
3780 3773
 			{
3781
-				$this->mail_bo->sessionData['mailbox']=$newFolderName;
3774
+				$this->mail_bo->sessionData['mailbox'] = $newFolderName;
3782 3775
 				$this->mail_bo->saveSessionData();
3783 3776
 			}
3784 3777
 			//error_log(__METHOD__.__LINE__.array2string($oA));
3785 3778
 			$response = Api\Json\Response::get();
3786 3779
 			if ($oA && $success)
3787 3780
 			{
3788
-				$response->call('app.mail.mail_setLeaf',$oA);
3781
+				$response->call('app.mail.mail_setLeaf', $oA);
3789 3782
 			}
3790 3783
 			else
3791 3784
 			{
3792
-				$response->call('egw.refresh',lang('failed to rename %1 ! Reason: %2',$oldFolderName,$msg),'mail');
3785
+				$response->call('egw.refresh', lang('failed to rename %1 ! Reason: %2', $oldFolderName, $msg), 'mail');
3793 3786
 			}
3794 3787
 		}
3795 3788
 	}
@@ -3801,7 +3794,7 @@  discard block
 block discarded – undo
3801 3794
 	 * @param boolean $_subscribedOnly = true
3802 3795
 	 * @return void
3803 3796
 	 */
3804
-	function ajax_reloadNode($_folderName,$_subscribedOnly=true)
3797
+	function ajax_reloadNode($_folderName, $_subscribedOnly = true)
3805 3798
 	{
3806 3799
 		Api\Translation::add_app('mail');
3807 3800
 		$oldPrefForSubscribedOnly = !$this->mail_bo->mailPreferences['showAllFoldersInFolderPane'];
@@ -3812,20 +3805,20 @@  discard block
 block discarded – undo
3812 3805
 
3813 3806
 		$decodedFolderName = $this->mail_bo->decodeEntityFolderName($_folderName);
3814 3807
 		$this->mail_bo->getHierarchyDelimiter(false);
3815
-		list($profileID,$folderName) = explode(self::$delimiter,$decodedFolderName,2);
3808
+		list($profileID, $folderName) = explode(self::$delimiter, $decodedFolderName, 2);
3816 3809
 		// if pref and required mode dont match -> reset the folderObject cache to ensure
3817 3810
 		// that we get what we request
3818 3811
 		if ($_subscribedOnly != $oldPrefForSubscribedOnly) $this->mail_bo->resetFolderObjectCache($profileID);
3819 3812
 		if ($profileID != $this->mail_bo->profileID) return; // only current connection
3820 3813
 		if (!empty($folderName))
3821 3814
 		{
3822
-			$parentFolder=(!empty($folderName)?$folderName:'INBOX');
3823
-			$folderInfo = $this->mail_bo->getFolderStatus($parentFolder,false,false,false);
3815
+			$parentFolder = (!empty($folderName) ? $folderName : 'INBOX');
3816
+			$folderInfo = $this->mail_bo->getFolderStatus($parentFolder, false, false, false);
3824 3817
 			if ($folderInfo['unseen'])
3825 3818
 			{
3826 3819
 				$folderInfo['shortDisplayName'] = $folderInfo['shortDisplayName'].' ('.$folderInfo['unseen'].')';
3827 3820
 			}
3828
-			if ($folderInfo['unseen']==0 && $folderInfo['shortDisplayName'])
3821
+			if ($folderInfo['unseen'] == 0 && $folderInfo['shortDisplayName'])
3829 3822
 			{
3830 3823
 				$folderInfo['shortDisplayName'] = $folderInfo['shortDisplayName'];
3831 3824
 			}
@@ -3841,11 +3834,11 @@  discard block
 block discarded – undo
3841 3834
 		}
3842 3835
 		// Send full info back in the response
3843 3836
 		$response = Api\Json\Response::get();
3844
-		foreach($refreshData as $folder => &$name)
3837
+		foreach ($refreshData as $folder => &$name)
3845 3838
 		{
3846
-			$name = $this->mail_tree->getTree($folder,$profileID,1,false, $_subscribedOnly,true);
3839
+			$name = $this->mail_tree->getTree($folder, $profileID, 1, false, $_subscribedOnly, true);
3847 3840
 		}
3848
-		$response->call('app.mail.mail_reloadNode',$refreshData);
3841
+		$response->call('app.mail.mail_reloadNode', $refreshData);
3849 3842
 
3850 3843
 	}
3851 3844
 
@@ -3861,7 +3854,7 @@  discard block
 block discarded – undo
3861 3854
 	 * @param type $_rowid row id from nm
3862 3855
 	 *
3863 3856
 	 */
3864
-	function ajax_resolveWinmail ($_rowid)
3857
+	function ajax_resolveWinmail($_rowid)
3865 3858
 	{
3866 3859
 		$response = Api\Json\Response::get();
3867 3860
 
@@ -3869,7 +3862,7 @@  discard block
 block discarded – undo
3869 3862
 		$uid = $idParts['msgUID'];
3870 3863
 		$mbox = $idParts['folder'];
3871 3864
 
3872
-		$attachments = $this->mail_bo->getMessageAttachments($uid, null, null, false,true,true,$mbox);
3865
+		$attachments = $this->mail_bo->getMessageAttachments($uid, null, null, false, true, true, $mbox);
3873 3866
 		if (is_array($attachments))
3874 3867
 		{
3875 3868
 			$attachments = $this->createAttachmentBlock($attachments, $_rowid, $uid, $mbox, false);
@@ -3897,30 +3890,30 @@  discard block
 block discarded – undo
3897 3890
 			$decodedFolderName = $this->mail_bo->decodeEntityFolderName($_folderName);
3898 3891
 			$_newLocation2 = $this->mail_bo->decodeEntityFolderName($_target);
3899 3892
 			$del = $this->mail_bo->getHierarchyDelimiter(false);
3900
-			list($profileID,$folderName) = explode(self::$delimiter,$decodedFolderName,2);
3901
-			list($newProfileID,$_newLocation) = explode(self::$delimiter,$_newLocation2,2);
3893
+			list($profileID, $folderName) = explode(self::$delimiter, $decodedFolderName, 2);
3894
+			list($newProfileID, $_newLocation) = explode(self::$delimiter, $_newLocation2, 2);
3902 3895
 			$hasChildren = false;
3903 3896
 			if (is_numeric($profileID))
3904 3897
 			{
3905 3898
 				if ($profileID != $this->mail_bo->profileID || $profileID != $newProfileID) return; // only current connection
3906
-				$pA = explode($del,$folderName);
3899
+				$pA = explode($del, $folderName);
3907 3900
 				$namePart = array_pop($pA);
3908 3901
 				$_newName = $namePart;
3909
-				$oldParentFolder = implode($del,$pA);
3902
+				$oldParentFolder = implode($del, $pA);
3910 3903
 				$parentFolder = $_newLocation;
3911 3904
 
3912
-				if (strtoupper($folderName)!= 'INBOX' &&
3905
+				if (strtoupper($folderName) != 'INBOX' &&
3913 3906
 					(($oldParentFolder === $parentFolder) || //$oldParentFolder == $parentFolder means move on same level
3914 3907
 					(($oldParentFolder != $parentFolder &&
3915
-					strlen($parentFolder)>0 && strlen($folderName)>0 &&
3916
-					strpos($parentFolder,$folderName)===false)))) // indicates that we move the older up the tree within its own branch
3908
+					strlen($parentFolder) > 0 && strlen($folderName) > 0 &&
3909
+					strpos($parentFolder, $folderName) === false)))) // indicates that we move the older up the tree within its own branch
3917 3910
 				{
3918 3911
 					//error_log(__METHOD__.__LINE__."$folderName, $parentFolder, $_newName");
3919
-					$oldFolderInfo = $this->mail_bo->getFolderStatus($folderName,false,false,false);
3912
+					$oldFolderInfo = $this->mail_bo->getFolderStatus($folderName, false, false, false);
3920 3913
 					//error_log(__METHOD__.__LINE__.array2string($oldFolderInfo));
3921
-					if (!empty($oldFolderInfo['attributes']) && stripos(array2string($oldFolderInfo['attributes']),'\hasnochildren')=== false)
3914
+					if (!empty($oldFolderInfo['attributes']) && stripos(array2string($oldFolderInfo['attributes']), '\hasnochildren') === false)
3922 3915
 					{
3923
-						$hasChildren=true; // translates to: hasChildren -> dynamicLoading
3916
+						$hasChildren = true; // translates to: hasChildren -> dynamicLoading
3924 3917
 						$delimiter = $this->mail_bo->getHierarchyDelimiter();
3925 3918
 						$nameSpace = $this->mail_bo->_getNameSpaces();
3926 3919
 						$prefix = $this->mail_bo->getFolderPrefixFromNamespace($nameSpace, $folderName);
@@ -3945,7 +3938,7 @@  discard block
 block discarded – undo
3945 3938
 					$success = false;
3946 3939
 					try
3947 3940
 					{
3948
-						if(($newFolderName = $this->mail_bo->renameFolder($folderName, $parentFolder, $_newName)))
3941
+						if (($newFolderName = $this->mail_bo->renameFolder($folderName, $parentFolder, $_newName)))
3949 3942
 						{
3950 3943
 							$this->mail_bo->resetFolderObjectCache($profileID);
3951 3944
 							//enforce the subscription to the newly named server, as it seems to fail for names with umlauts
@@ -3957,11 +3950,11 @@  discard block
 block discarded – undo
3957 3950
 					}
3958 3951
 					catch (Exception $e)
3959 3952
 					{
3960
-						$newFolderName=$folderName;
3953
+						$newFolderName = $folderName;
3961 3954
 						$msg = $e->getMessage();
3962 3955
 					}
3963 3956
 					$this->mail_bo->reopen($parentFolder);
3964
-					$this->mail_bo->getFolderStatus($parentFolder,false,false,false);
3957
+					$this->mail_bo->getFolderStatus($parentFolder, false, false, false);
3965 3958
 					//error_log(__METHOD__.__LINE__.array2string($fS));
3966 3959
 					if ($hasChildren)
3967 3960
 					{
@@ -3982,9 +3975,9 @@  discard block
 block discarded – undo
3982 3975
 					}
3983 3976
 				}
3984 3977
 			}
3985
-			if ($folderName==$this->mail_bo->sessionData['mailbox'])
3978
+			if ($folderName == $this->mail_bo->sessionData['mailbox'])
3986 3979
 			{
3987
-				$this->mail_bo->sessionData['mailbox']=$newFolderName;
3980
+				$this->mail_bo->sessionData['mailbox'] = $newFolderName;
3988 3981
 				$this->mail_bo->saveSessionData();
3989 3982
 			}
3990 3983
 			//error_log(__METHOD__.__LINE__.array2string($oA));
@@ -3993,26 +3986,26 @@  discard block
 block discarded – undo
3993 3986
 			{
3994 3987
 				Api\Translation::add_app('mail');
3995 3988
 
3996
-				$oldFolderInfo = $this->mail_bo->getFolderStatus($oldParentFolder,false,false,false);
3997
-				$folderInfo = $this->mail_bo->getFolderStatus($parentFolder,false,false,false);
3989
+				$oldFolderInfo = $this->mail_bo->getFolderStatus($oldParentFolder, false, false, false);
3990
+				$folderInfo = $this->mail_bo->getFolderStatus($parentFolder, false, false, false);
3998 3991
 				$refreshData = array(
3999 3992
 					$profileID.self::$delimiter.$oldParentFolder=>$oldFolderInfo['shortDisplayName'],
4000 3993
 					$profileID.self::$delimiter.$parentFolder=>$folderInfo['shortDisplayName']);
4001 3994
 				// if we move the folder within the same parent-branch of the tree, there is no need no refresh the upper part
4002
-				if (strlen($parentFolder)>strlen($oldParentFolder) && strpos($parentFolder,$oldParentFolder)!==false) unset($refreshData[$profileID.self::$delimiter.$parentFolder]);
4003
-				if (count($refreshData)>1 && strlen($oldParentFolder)>strlen($parentFolder) && strpos($oldParentFolder,$parentFolder)!==false) unset($refreshData[$profileID.self::$delimiter.$oldParentFolder]);
3995
+				if (strlen($parentFolder) > strlen($oldParentFolder) && strpos($parentFolder, $oldParentFolder) !== false) unset($refreshData[$profileID.self::$delimiter.$parentFolder]);
3996
+				if (count($refreshData) > 1 && strlen($oldParentFolder) > strlen($parentFolder) && strpos($oldParentFolder, $parentFolder) !== false) unset($refreshData[$profileID.self::$delimiter.$oldParentFolder]);
4004 3997
 
4005 3998
 				// Send full info back in the response
4006
-				foreach($refreshData as $folder => &$name)
3999
+				foreach ($refreshData as $folder => &$name)
4007 4000
 				{
4008
-					$name = $this->mail_tree->getTree($folder,$profileID,1,false,!$this->mail_bo->mailPreferences['showAllFoldersInFolderPane'],true);
4001
+					$name = $this->mail_tree->getTree($folder, $profileID, 1, false, !$this->mail_bo->mailPreferences['showAllFoldersInFolderPane'], true);
4009 4002
 				}
4010
-				$response->call('app.mail.mail_reloadNode',$refreshData);
4003
+				$response->call('app.mail.mail_reloadNode', $refreshData);
4011 4004
 
4012 4005
 			}
4013 4006
 			else
4014 4007
 			{
4015
-				$response->call('egw.refresh',lang('failed to move %1 ! Reason: %2',$folderName,$msg),'mail');
4008
+				$response->call('egw.refresh', lang('failed to move %1 ! Reason: %2', $folderName, $msg), 'mail');
4016 4009
 			}
4017 4010
 		}
4018 4011
 	}
@@ -4032,23 +4025,23 @@  discard block
 block discarded – undo
4032 4025
 			$decodedFolderName = $this->mail_bo->decodeEntityFolderName($_folderName);
4033 4026
 			$del = $this->mail_bo->getHierarchyDelimiter(false);
4034 4027
 			$oA = array();
4035
-			list($profileID,$folderName) = explode(self::$delimiter,$decodedFolderName,2);
4028
+			list($profileID, $folderName) = explode(self::$delimiter, $decodedFolderName, 2);
4036 4029
 			$hasChildren = false;
4037 4030
 			if (is_numeric($profileID))
4038 4031
 			{
4039 4032
 				if ($profileID != $this->mail_bo->profileID) return; // only current connection
4040
-				$pA = explode($del,$folderName);
4033
+				$pA = explode($del, $folderName);
4041 4034
 				array_pop($pA);
4042
-				if (strtoupper($folderName)!= 'INBOX')
4035
+				if (strtoupper($folderName) != 'INBOX')
4043 4036
 				{
4044 4037
 					//error_log(__METHOD__.__LINE__."$folderName,  implode($del,$pA), $_newName");
4045 4038
 					$oA = array();
4046 4039
 					$subFolders = array();
4047
-					$oldFolderInfo = $this->mail_bo->getFolderStatus($folderName,false,false,false);
4040
+					$oldFolderInfo = $this->mail_bo->getFolderStatus($folderName, false, false, false);
4048 4041
 					//error_log(__METHOD__.__LINE__.array2string($oldFolderInfo));
4049
-					if (!empty($oldFolderInfo['attributes']) && stripos(array2string($oldFolderInfo['attributes']),'\hasnochildren')=== false)
4042
+					if (!empty($oldFolderInfo['attributes']) && stripos(array2string($oldFolderInfo['attributes']), '\hasnochildren') === false)
4050 4043
 					{
4051
-						$hasChildren=true; // translates to: hasChildren -> dynamicLoading
4044
+						$hasChildren = true; // translates to: hasChildren -> dynamicLoading
4052 4045
 						$ftD = array();
4053 4046
 						$delimiter = $this->mail_bo->getHierarchyDelimiter();
4054 4047
 						$nameSpace = $this->mail_bo->_getNameSpaces();
@@ -4058,24 +4051,24 @@  discard block
 block discarded – undo
4058 4051
 						//error_log(__METHOD__.__LINE__.'->'."$folderName, $delimiter, $prefix");
4059 4052
 						foreach ($subFolders as $k => $f)
4060 4053
 						{
4061
-							$ftD[substr_count($f,$delimiter)][]=$f;
4054
+							$ftD[substr_count($f, $delimiter)][] = $f;
4062 4055
 						}
4063
-						krsort($ftD,SORT_NUMERIC);//sort per level
4056
+						krsort($ftD, SORT_NUMERIC); //sort per level
4064 4057
 						//we iterate per level of depth of the subtree, deepest nesting is to be deleted first, and then up the tree
4065
-						foreach($ftD as $k => $lc)//collection per level
4058
+						foreach ($ftD as $k => $lc)//collection per level
4066 4059
 						{
4067
-							foreach($lc as $f)//folders contained in that level
4060
+							foreach ($lc as $f)//folders contained in that level
4068 4061
 							{
4069 4062
 								try
4070 4063
 								{
4071 4064
 									//error_log(__METHOD__.__LINE__.array2string($f).'<->'.$folderName);
4072 4065
 									$this->mail_bo->deleteFolder($f);
4073 4066
 									$success = true;
4074
-									if ($f==$folderName) $oA[$_folderName] = $oldFolderInfo['shortDisplayName'];
4067
+									if ($f == $folderName) $oA[$_folderName] = $oldFolderInfo['shortDisplayName'];
4075 4068
 								}
4076 4069
 								catch (Exception $e)
4077 4070
 								{
4078
-									$msg .= ($msg?' ':'').lang("Failed to delete %1. Server responded:",$f).$e->getMessage();
4071
+									$msg .= ($msg ? ' ' : '').lang("Failed to delete %1. Server responded:", $f).$e->getMessage();
4079 4072
 									$success = false;
4080 4073
 								}
4081 4074
 							}
@@ -4106,11 +4099,11 @@  discard block
 block discarded – undo
4106 4099
 			if ($success)
4107 4100
 			{
4108 4101
 				//error_log(__METHOD__.__LINE__.array2string($oA));
4109
-				$response->call('app.mail.mail_removeLeaf',$oA);
4102
+				$response->call('app.mail.mail_removeLeaf', $oA);
4110 4103
 			}
4111 4104
 			else
4112 4105
 			{
4113
-				$response->call('egw.refresh',lang('failed to delete %1 ! Reason: %2',$oldFolderInfo['shortDisplayName'],$msg),'mail');
4106
+				$response->call('egw.refresh', lang('failed to delete %1 ! Reason: %2', $oldFolderInfo['shortDisplayName'], $msg), 'mail');
4114 4107
 			}
4115 4108
 		}
4116 4109
 	}
@@ -4124,7 +4117,7 @@  discard block
 block discarded – undo
4124 4117
 	 * @param bool $getFolders The client needs the folders for the profile
4125 4118
 	 * @return nothing
4126 4119
 	 */
4127
-	public static function ajax_changeProfile($icServerID, $getFolders = true, $exec_id=null)
4120
+	public static function ajax_changeProfile($icServerID, $getFolders = true, $exec_id = null)
4128 4121
 	{
4129 4122
 		$response = Api\Json\Response::get();
4130 4123
 
@@ -4132,7 +4125,7 @@  discard block
 block discarded – undo
4132 4125
 
4133 4126
 		if ($icServerID && $icServerID != $previous_id)
4134 4127
 		{
4135
-			$mail_ui = new mail_ui(false);	// do NOT run constructor, as we call changeProfile anyway
4128
+			$mail_ui = new mail_ui(false); // do NOT run constructor, as we call changeProfile anyway
4136 4129
 			try
4137 4130
 			{
4138 4131
 				$mail_ui->changeProfile($icServerID);
@@ -4148,23 +4141,23 @@  discard block
 block discarded – undo
4148 4141
 				}
4149 4142
 			}
4150 4143
 			catch (Exception $e) {
4151
-				self::callWizard($e->getMessage(),true, 'error');
4144
+				self::callWizard($e->getMessage(), true, 'error');
4152 4145
 			}
4153 4146
 		}
4154 4147
 		else
4155 4148
 		{
4156
-			$mail_ui = new mail_ui(true);	// run constructor
4149
+			$mail_ui = new mail_ui(true); // run constructor
4157 4150
 		}
4158 4151
 
4159 4152
 		// Send full info back in the response
4160
-		if($getFolders)
4153
+		if ($getFolders)
4161 4154
 		{
4162 4155
 			Api\Translation::add_app('mail');
4163 4156
 
4164 4157
 			$refreshData = array(
4165
-				$icServerID => $mail_ui->mail_tree->getTree(null,$icServerID,1,false,!$mail_ui->mail_bo->mailPreferences['showAllFoldersInFolderPane'],!$mail_ui->mail_bo->mailPreferences['showAllFoldersInFolderPane'])
4158
+				$icServerID => $mail_ui->mail_tree->getTree(null, $icServerID, 1, false, !$mail_ui->mail_bo->mailPreferences['showAllFoldersInFolderPane'], !$mail_ui->mail_bo->mailPreferences['showAllFoldersInFolderPane'])
4166 4159
 			);
4167
-			$response->call('app.mail.mail_reloadNode',$refreshData);
4160
+			$response->call('app.mail.mail_reloadNode', $refreshData);
4168 4161
 		}
4169 4162
 	}
4170 4163
 
@@ -4175,7 +4168,7 @@  discard block
 block discarded – undo
4175 4168
 	 *						if other than active profile; nothing is done!
4176 4169
 	 * @return nothing
4177 4170
 	 */
4178
-	public static function ajax_refreshVacationNotice($icServerID=null)
4171
+	public static function ajax_refreshVacationNotice($icServerID = null)
4179 4172
 	{
4180 4173
 		//Get vacation from cache if it's available
4181 4174
 		$cachedVacations = Api\Cache::getCache(Api\Cache::INSTANCE, 'email', 'vacationNotice'.$GLOBALS['egw_info']['user']['account_lid']);
@@ -4192,22 +4185,22 @@  discard block
 block discarded – undo
4192 4185
 			$vacation = $mail->gatherVacation($cachedVacations);
4193 4186
 		}
4194 4187
 
4195
-		if($vacation) {
4196
-			if (is_array($vacation) && ($vacation['status'] == 'on' || $vacation['status']=='by_date'))
4188
+		if ($vacation) {
4189
+			if (is_array($vacation) && ($vacation['status'] == 'on' || $vacation['status'] == 'by_date'))
4197 4190
 			{
4198 4191
 				$dtfrmt = $GLOBALS['egw_info']['user']['preferences']['common']['dateformat'];
4199 4192
 				$refreshData['vacationnotice'] = lang('Vacation notice is active');
4200
-				$refreshData['vacationrange'] = ($vacation['status']=='by_date'? Api\DateTime::server2user($vacation['start_date'],$dtfrmt,true).($vacation['end_date']>$vacation['start_date']?'->'.Api\DateTime::server2user($vacation['end_date']+ 24*3600-1,$dtfrmt,true):''):'');
4201
-				if ($vacation['status'] == 'by_date' && $vacation['end_date']+ 24*3600 < time())$refreshData = '';
4193
+				$refreshData['vacationrange'] = ($vacation['status'] == 'by_date' ? Api\DateTime::server2user($vacation['start_date'], $dtfrmt, true).($vacation['end_date'] > $vacation['start_date'] ? '->'.Api\DateTime::server2user($vacation['end_date'] + 24 * 3600 - 1, $dtfrmt, true) : '') : '');
4194
+				if ($vacation['status'] == 'by_date' && $vacation['end_date'] + 24 * 3600 < time())$refreshData = '';
4202 4195
 			}
4203 4196
 		}
4204
-		if ($vacation==false)
4197
+		if ($vacation == false)
4205 4198
 		{
4206
-			$refreshData['vacationnotice'] =  '';
4207
-			$refreshData['vacationrange'] =  '';
4199
+			$refreshData['vacationnotice'] = '';
4200
+			$refreshData['vacationrange'] = '';
4208 4201
 		}
4209 4202
 		$response = Api\Json\Response::get();
4210
-		$response->call('app.mail.mail_refreshVacationNotice',$refreshData);
4203
+		$response->call('app.mail.mail_refreshVacationNotice', $refreshData);
4211 4204
 	}
4212 4205
 
4213 4206
 	/**
@@ -4217,43 +4210,43 @@  discard block
 block discarded – undo
4217 4210
 	 *						if other than active profile; nothing is done!
4218 4211
 	 * @return nothing
4219 4212
 	 */
4220
-	function ajax_refreshFilters($icServerID=null)
4213
+	function ajax_refreshFilters($icServerID = null)
4221 4214
 	{
4222 4215
 		//error_log(__METHOD__.__LINE__.array2string($icServerId));
4223 4216
 		if (empty($icServerID)) $icServerID = $this->mail_bo->profileID;
4224 4217
 		if (is_null(Mail::$supportsORinQuery) || !isset(Mail::$supportsORinQuery[$this->mail_bo->profileID]))
4225 4218
 		{
4226
-			Mail::$supportsORinQuery = Api\Cache::getCache(Api\Cache::INSTANCE,'email','supportsORinQuery'.trim($GLOBALS['egw_info']['user']['account_id']), null, array(), 60*60*10);
4227
-			if (!isset(Mail::$supportsORinQuery[$this->mail_bo->profileID])) Mail::$supportsORinQuery[$this->mail_bo->profileID]=true;
4219
+			Mail::$supportsORinQuery = Api\Cache::getCache(Api\Cache::INSTANCE, 'email', 'supportsORinQuery'.trim($GLOBALS['egw_info']['user']['account_id']), null, array(), 60 * 60 * 10);
4220
+			if (!isset(Mail::$supportsORinQuery[$this->mail_bo->profileID])) Mail::$supportsORinQuery[$this->mail_bo->profileID] = true;
4228 4221
 		}
4229 4222
 		if (!Mail::$supportsORinQuery[$this->mail_bo->profileID])
4230 4223
 		{
4231 4224
 			unset($this->searchTypes['quick']);
4232 4225
 			unset($this->searchTypes['quickwithcc']);
4233 4226
 		}
4234
-		if ( $this->mail_bo->icServer->hasCapability('SUPPORTS_KEYWORDS'))
4227
+		if ($this->mail_bo->icServer->hasCapability('SUPPORTS_KEYWORDS'))
4235 4228
 		{
4236
-			$this->statusTypes = array_merge($this->statusTypes,array(
4237
-				'keyword1'	=> 'important',//lang('important'),
4238
-				'keyword2'	=> 'job',	//lang('job'),
4239
-				'keyword3'	=> 'personal',//lang('personal'),
4240
-				'keyword4'	=> 'to do',	//lang('to do'),
4241
-				'keyword5'	=> 'later',	//lang('later'),
4229
+			$this->statusTypes = array_merge($this->statusTypes, array(
4230
+				'keyword1'	=> 'important', //lang('important'),
4231
+				'keyword2'	=> 'job', //lang('job'),
4232
+				'keyword3'	=> 'personal', //lang('personal'),
4233
+				'keyword4'	=> 'to do', //lang('to do'),
4234
+				'keyword5'	=> 'later', //lang('later'),
4242 4235
 			));
4243 4236
 		}
4244 4237
 		else
4245 4238
 		{
4246
-			$keywords = array('keyword1','keyword2','keyword3','keyword4','keyword5');
4247
-			foreach($keywords as &$k)
4239
+			$keywords = array('keyword1', 'keyword2', 'keyword3', 'keyword4', 'keyword5');
4240
+			foreach ($keywords as &$k)
4248 4241
 			{
4249
-				if (array_key_exists($k,$this->statusTypes)) unset($this->statusTypes[$k]);
4242
+				if (array_key_exists($k, $this->statusTypes)) unset($this->statusTypes[$k]);
4250 4243
 			}
4251 4244
 		}
4252 4245
 
4253 4246
 		$response = Api\Json\Response::get();
4254
-		$response->call('app.mail.mail_refreshCatIdOptions',$this->searchTypes);
4255
-		$response->call('app.mail.mail_refreshFilterOptions',$this->statusTypes);
4256
-		$response->call('app.mail.mail_refreshFilter2Options',array(''=>lang('No details'),1=>lang('Details')));
4247
+		$response->call('app.mail.mail_refreshCatIdOptions', $this->searchTypes);
4248
+		$response->call('app.mail.mail_refreshFilterOptions', $this->statusTypes);
4249
+		$response->call('app.mail.mail_refreshFilter2Options', array(''=>lang('No details'), 1=>lang('Details')));
4257 4250
 
4258 4251
 	}
4259 4252
 
@@ -4262,7 +4255,7 @@  discard block
 block discarded – undo
4262 4255
 	 *
4263 4256
 	 * @return nothing
4264 4257
 	 */
4265
-	function ajax_refreshQuotaDisplay($icServerID=null)
4258
+	function ajax_refreshQuotaDisplay($icServerID = null)
4266 4259
 	{
4267 4260
 		//error_log(__METHOD__.__LINE__.array2string($icServerID));
4268 4261
 		Api\Translation::add_app('mail');
@@ -4282,10 +4275,10 @@  discard block
 block discarded – undo
4282 4275
 			unset($e);
4283 4276
 		}
4284 4277
 
4285
-		if($quota !== false && $quota['limit'] != 'NOT SET') {
4278
+		if ($quota !== false && $quota['limit'] != 'NOT SET') {
4286 4279
 			$quotainfo = $this->quotaDisplay($quota['usage'], $quota['limit']);
4287 4280
 			$content['quota'] = $sel_options[self::$nm_index]['quota'] = $quotainfo['text'];
4288
-			$content['quotainpercent'] = $sel_options[self::$nm_index]['quotainpercent'] =  (string)$quotainfo['percent'];
4281
+			$content['quotainpercent'] = $sel_options[self::$nm_index]['quotainpercent'] = (string)$quotainfo['percent'];
4289 4282
 			$content['quotaclass'] = $sel_options[self::$nm_index]['quotaclass'] = $quotainfo['class'];
4290 4283
 			$content['quotanotsupported'] = $sel_options[self::$nm_index]['quotanotsupported'] = "";
4291 4284
 		} else {
@@ -4299,7 +4292,7 @@  discard block
 block discarded – undo
4299 4292
 			$this->changeProfile($rememberServerID);
4300 4293
 		}
4301 4294
 		$response = Api\Json\Response::get();
4302
-		$response->call('app.mail.mail_setQuotaDisplay',array('data'=>$content));
4295
+		$response->call('app.mail.mail_setQuotaDisplay', array('data'=>$content));
4303 4296
 	}
4304 4297
 
4305 4298
 	/**
@@ -4321,34 +4314,34 @@  discard block
 block discarded – undo
4321 4314
 			$this->changeProfile($icServerID);
4322 4315
 		}
4323 4316
 		$junkFolder = $this->mail_bo->getJunkFolder();
4324
-		if(!empty($junkFolder)) {
4317
+		if (!empty($junkFolder)) {
4325 4318
 			if ($selectedFolder == $icServerID.self::$delimiter.$junkFolder)
4326 4319
 			{
4327 4320
 				// Lock the tree if the active folder is junk folder
4328 4321
 				$response->call('app.mail.lock_tree');
4329 4322
 			}
4330
-			$this->mail_bo->deleteMessages('all',$junkFolder,'remove_immediately');
4323
+			$this->mail_bo->deleteMessages('all', $junkFolder, 'remove_immediately');
4331 4324
 
4332 4325
 			$heirarchyDelimeter = $this->mail_bo->getHierarchyDelimiter(true);
4333
-			$fShortName =  array_pop(explode($heirarchyDelimeter, $junkFolder));
4326
+			$fShortName = array_pop(explode($heirarchyDelimeter, $junkFolder));
4334 4327
 			$fStatus = array(
4335 4328
 				$icServerID.self::$delimiter.$junkFolder => lang($fShortName)
4336 4329
 			);
4337 4330
 			//Call to reset folder status counter, after junkFolder triggered not from Junk folder
4338 4331
 			//-as we don't have junk folder specific information available on client-side we need to deal with it on server
4339
-			$response->call('app.mail.mail_setFolderStatus',$fStatus);
4332
+			$response->call('app.mail.mail_setFolderStatus', $fStatus);
4340 4333
 		}
4341 4334
 		if ($rememberServerID != $this->mail_bo->profileID)
4342 4335
 		{
4343
-			$oldFolderInfo = $this->mail_bo->getFolderStatus($junkFolder,false,false,false);
4344
-			$response->call('egw.message',lang('empty junk'));
4345
-			$response->call('app.mail.mail_reloadNode',array($icServerID.self::$delimiter.$junkFolder=>$oldFolderInfo['shortDisplayName']));
4336
+			$oldFolderInfo = $this->mail_bo->getFolderStatus($junkFolder, false, false, false);
4337
+			$response->call('egw.message', lang('empty junk'));
4338
+			$response->call('app.mail.mail_reloadNode', array($icServerID.self::$delimiter.$junkFolder=>$oldFolderInfo['shortDisplayName']));
4346 4339
 			//error_log(__METHOD__.__LINE__.' change Profile to ->'.$rememberServerID);
4347 4340
 			$this->changeProfile($rememberServerID);
4348 4341
 		}
4349 4342
 		else if ($selectedFolder == $icServerID.self::$delimiter.$junkFolder)
4350 4343
 		{
4351
-			$response->call('egw.refresh',lang('empty junk'),'mail');
4344
+			$response->call('egw.refresh', lang('empty junk'), 'mail');
4352 4345
 		}
4353 4346
 	}
4354 4347
 
@@ -4371,7 +4364,7 @@  discard block
 block discarded – undo
4371 4364
 			$this->changeProfile($icServerID);
4372 4365
 		}
4373 4366
 		$trashFolder = $this->mail_bo->getTrashFolder();
4374
-		if(!empty($trashFolder)) {
4367
+		if (!empty($trashFolder)) {
4375 4368
 			if ($selectedFolder == $icServerID.self::$delimiter.$trashFolder)
4376 4369
 			{
4377 4370
 				// Lock the tree if the active folder is Trash folder
@@ -4380,25 +4373,25 @@  discard block
 block discarded – undo
4380 4373
 			$this->mail_bo->compressFolder($trashFolder);
4381 4374
 
4382 4375
 			$heirarchyDelimeter = $this->mail_bo->getHierarchyDelimiter(true);
4383
-			$fShortName =  array_pop(explode($heirarchyDelimeter, $trashFolder));
4376
+			$fShortName = array_pop(explode($heirarchyDelimeter, $trashFolder));
4384 4377
 			$fStatus = array(
4385 4378
 				$icServerID.self::$delimiter.$trashFolder => lang($fShortName)
4386 4379
 			);
4387 4380
 			//Call to reset folder status counter, after emptyTrash triggered not from Trash folder
4388 4381
 			//-as we don't have trash folder specific information available on client-side we need to deal with it on server
4389
-			$response->call('app.mail.mail_setFolderStatus',$fStatus);
4382
+			$response->call('app.mail.mail_setFolderStatus', $fStatus);
4390 4383
 		}
4391 4384
 		if ($rememberServerID != $this->mail_bo->profileID)
4392 4385
 		{
4393
-			$oldFolderInfo = $this->mail_bo->getFolderStatus($trashFolder,false,false,false);
4394
-			$response->call('egw.message',lang('empty trash'));
4395
-			$response->call('app.mail.mail_reloadNode',array($icServerID.self::$delimiter.$trashFolder=>$oldFolderInfo['shortDisplayName']));
4386
+			$oldFolderInfo = $this->mail_bo->getFolderStatus($trashFolder, false, false, false);
4387
+			$response->call('egw.message', lang('empty trash'));
4388
+			$response->call('app.mail.mail_reloadNode', array($icServerID.self::$delimiter.$trashFolder=>$oldFolderInfo['shortDisplayName']));
4396 4389
 			//error_log(__METHOD__.__LINE__.' change Profile to ->'.$rememberServerID);
4397 4390
 			$this->changeProfile($rememberServerID);
4398 4391
 		}
4399 4392
 		else if ($selectedFolder == $icServerID.self::$delimiter.$trashFolder)
4400 4393
 		{
4401
-			$response->call('egw.refresh',lang('empty trash'),'mail');
4394
+			$response->call('egw.refresh', lang('empty trash'), 'mail');
4402 4395
 		}
4403 4396
 	}
4404 4397
 
@@ -4415,7 +4408,7 @@  discard block
 block discarded – undo
4415 4408
 
4416 4409
 		$this->mail_bo->restoreSessionData();
4417 4410
 		$decodedFolderName = $this->mail_bo->decodeEntityFolderName($_folderName);
4418
-		list($icServerID,$folderName) = explode(self::$delimiter,$decodedFolderName,2);
4411
+		list($icServerID, $folderName) = explode(self::$delimiter, $decodedFolderName, 2);
4419 4412
 
4420 4413
 		if (empty($folderName)) $folderName = $this->mail_bo->sessionData['mailbox'];
4421 4414
 		if ($this->mail_bo->folderExists($folderName))
@@ -4426,7 +4419,7 @@  discard block
 block discarded – undo
4426 4419
 				//error_log(__METHOD__.__LINE__.' change Profile to ->'.$icServerID);
4427 4420
 				$this->changeProfile($icServerID);
4428 4421
 			}
4429
-			if(!empty($_folderName)) {
4422
+			if (!empty($_folderName)) {
4430 4423
 				$this->mail_bo->compressFolder($folderName);
4431 4424
 			}
4432 4425
 			if ($rememberServerID != $this->mail_bo->profileID)
@@ -4435,7 +4428,7 @@  discard block
 block discarded – undo
4435 4428
 				$this->changeProfile($rememberServerID);
4436 4429
 			}
4437 4430
 			$response = Api\Json\Response::get();
4438
-			$response->call('egw.refresh',lang('compress folder').': '.$folderName,'mail');
4431
+			$response->call('egw.refresh', lang('compress folder').': '.$folderName, 'mail');
4439 4432
 		}
4440 4433
 	}
4441 4434
 
@@ -4448,10 +4441,10 @@  discard block
 block discarded – undo
4448 4441
 	 */
4449 4442
 	function ajax_sendMDN($_messageList)
4450 4443
 	{
4451
-		if(Mail::$debug) error_log(__METHOD__."->".array2string($_messageList));
4444
+		if (Mail::$debug) error_log(__METHOD__."->".array2string($_messageList));
4452 4445
 		$uidA = self::splitRowID($_messageList['msg'][0]);
4453 4446
 		$folder = $uidA['folder']; // all messages in one set are supposed to be within the same folder
4454
-		$this->mail_bo->sendMDN($uidA['msgUID'],$folder);
4447
+		$this->mail_bo->sendMDN($uidA['msgUID'], $folder);
4455 4448
 	}
4456 4449
 
4457 4450
 	/**
@@ -4463,14 +4456,14 @@  discard block
 block discarded – undo
4463 4456
 	 *
4464 4457
 	 * @return xajax response
4465 4458
 	 */
4466
-	function ajax_flagMessages($_flag, $_messageList, $_sendJsonResponse=true)
4459
+	function ajax_flagMessages($_flag, $_messageList, $_sendJsonResponse = true)
4467 4460
 	{
4468
-		if(Mail::$debug) error_log(__METHOD__."->".$_flag.':'.array2string($_messageList));
4461
+		if (Mail::$debug) error_log(__METHOD__."->".$_flag.':'.array2string($_messageList));
4469 4462
 		Api\Translation::add_app('mail');
4470
-		$alreadyFlagged=false;
4471
-		$flag2check='';
4463
+		$alreadyFlagged = false;
4464
+		$flag2check = '';
4472 4465
 		$filter2toggle = $query = array();
4473
-		if ($_messageList=='all' || !empty($_messageList['msg']))
4466
+		if ($_messageList == 'all' || !empty($_messageList['msg']))
4474 4467
 		{
4475 4468
 			if (isset($_messageList['all']) && $_messageList['all'])
4476 4469
 			{
@@ -4480,34 +4473,34 @@  discard block
 block discarded – undo
4480 4473
 				if (isset($_messageList['activeFilters']) && $_messageList['activeFilters'])
4481 4474
 				{
4482 4475
 					$query = $_messageList['activeFilters'];
4483
-					if (!empty($query['search']) || !empty($query['filter'])||($query['cat_id']=='bydate' && (!empty($query['startdate'])||!empty($query['enddate']))))
4476
+					if (!empty($query['search']) || !empty($query['filter']) || ($query['cat_id'] == 'bydate' && (!empty($query['startdate']) || !empty($query['enddate']))))
4484 4477
 					{
4485 4478
 						//([filterName] => Schnellsuche[type] => quick[string] => ebay[status] => any
4486 4479
 						if (is_null(Mail::$supportsORinQuery) || !isset(Mail::$supportsORinQuery[$this->mail_bo->profileID]))
4487 4480
 						{
4488
-							Mail::$supportsORinQuery = Api\Cache::getCache(Api\Cache::INSTANCE,'email','supportsORinQuery'.trim($GLOBALS['egw_info']['user']['account_id']), null, array(), 60*60*10);
4489
-							if (!isset(Mail::$supportsORinQuery[$this->mail_bo->profileID])) Mail::$supportsORinQuery[$this->mail_bo->profileID]=true;
4481
+							Mail::$supportsORinQuery = Api\Cache::getCache(Api\Cache::INSTANCE, 'email', 'supportsORinQuery'.trim($GLOBALS['egw_info']['user']['account_id']), null, array(), 60 * 60 * 10);
4482
+							if (!isset(Mail::$supportsORinQuery[$this->mail_bo->profileID])) Mail::$supportsORinQuery[$this->mail_bo->profileID] = true;
4490 4483
 						}
4491 4484
 						//error_log(__METHOD__.__LINE__.' Startdate:'.$query['startdate'].' Enddate'.$query['enddate']);
4492 4485
 						$cutoffdate = $cutoffdate2 = null;
4493
-						if ($query['startdate']) $cutoffdate = Api\DateTime::to($query['startdate'],'ts');//SINCE, enddate
4494
-						if ($query['enddate']) $cutoffdate2 = Api\DateTime::to($query['enddate'],'ts');//BEFORE, startdate
4486
+						if ($query['startdate']) $cutoffdate = Api\DateTime::to($query['startdate'], 'ts'); //SINCE, enddate
4487
+						if ($query['enddate']) $cutoffdate2 = Api\DateTime::to($query['enddate'], 'ts'); //BEFORE, startdate
4495 4488
 						//error_log(__METHOD__.__LINE__.' Startdate:'.$cutoffdate2.' Enddate'.$cutoffdate);
4496 4489
 						$filter = array(
4497
-							'filterName' => (Mail::$supportsORinQuery[$mail_ui->mail_bo->profileID]?lang('quicksearch'):lang('subject')),
4498
-							'type' => ($query['cat_id']?$query['cat_id']:(Mail::$supportsORinQuery[$mail_ui->mail_bo->profileID]?'quick':'subject')),
4490
+							'filterName' => (Mail::$supportsORinQuery[$mail_ui->mail_bo->profileID] ? lang('quicksearch') : lang('subject')),
4491
+							'type' => ($query['cat_id'] ? $query['cat_id'] : (Mail::$supportsORinQuery[$mail_ui->mail_bo->profileID] ? 'quick' : 'subject')),
4499 4492
 							'string' => $query['search'],
4500
-							'status' => 'any',//this is a status change. status will be manipulated later on
4493
+							'status' => 'any', //this is a status change. status will be manipulated later on
4501 4494
 							//'range'=>"BETWEEN",'since'=> date("d-M-Y", $cutoffdate),'before'=> date("d-M-Y", $cutoffdate2)
4502 4495
 						);
4503
-						if ($query['enddate']||$query['startdate']) {
4496
+						if ($query['enddate'] || $query['startdate']) {
4504 4497
 							$filter['range'] = "BETWEEN";
4505 4498
 							if ($cutoffdate) {
4506
-								$filter[(empty($cutoffdate2)?'date':'since')] =  date("d-M-Y", $cutoffdate);
4499
+								$filter[(empty($cutoffdate2) ? 'date' : 'since')] = date("d-M-Y", $cutoffdate);
4507 4500
 								if (empty($cutoffdate2)) $filter['range'] = "SINCE";
4508 4501
 							}
4509 4502
 							if ($cutoffdate2) {
4510
-								$filter[(empty($cutoffdate)?'date':'before')] =  date("d-M-Y", $cutoffdate2);
4503
+								$filter[(empty($cutoffdate) ? 'date' : 'before')] = date("d-M-Y", $cutoffdate2);
4511 4504
 								if (empty($cutoffdate)) $filter['range'] = "BEFORE";
4512 4505
 							}
4513 4506
 						}
@@ -4520,70 +4513,70 @@  discard block
 block discarded – undo
4520 4513
 					// flags read,flagged,label1,label2,label3,label4,label5 can be toggled: handle this when all mails in a folder
4521 4514
 					// should be affected serverside. here.
4522 4515
 					$messageList = $messageListForToggle = array();
4523
-					$flag2check = ($_flag=='read'?'seen':$_flag);
4524
-					if (in_array($_flag,array('read','flagged','label1','label2','label3','label4','label5')) &&
4525
-						!($flag2check==$query['filter'] || stripos($query['filter'],$flag2check)!==false))
4516
+					$flag2check = ($_flag == 'read' ? 'seen' : $_flag);
4517
+					if (in_array($_flag, array('read', 'flagged', 'label1', 'label2', 'label3', 'label4', 'label5')) &&
4518
+						!($flag2check == $query['filter'] || stripos($query['filter'], $flag2check) !== false))
4526 4519
 					{
4527 4520
 						$filter2toggle['status'] = array('un'.$_flag);
4528
-						if ($query['filter'] && $query['filter']!='any')
4521
+						if ($query['filter'] && $query['filter'] != 'any')
4529 4522
 						{
4530 4523
 							$filter2toggle['status'][] = $query['filter'];
4531 4524
 						}
4532 4525
 						$_sRt = $this->mail_bo->getSortedList(
4533 4526
 							$folder,
4534
-							$sort=0,
4535
-							$reverse=1,
4527
+							$sort = 0,
4528
+							$reverse = 1,
4536 4529
 							$filter2toggle,
4537
-							$rByUid=true,
4530
+							$rByUid = true,
4538 4531
 							false
4539 4532
 						);
4540 4533
 						$messageListForToggle = $_sRt['match']->ids;
4541 4534
 						$filter['status'] = array($_flag);
4542
-						if ($query['filter'] && $query['filter'] !='any')
4535
+						if ($query['filter'] && $query['filter'] != 'any')
4543 4536
 						{
4544 4537
 							$filter['status'][] = $query['filter'];
4545 4538
 						}
4546 4539
 						$_sR = $this->mail_bo->getSortedList(
4547 4540
 							$folder,
4548
-							$sort=0,
4549
-							$reverse=1,
4541
+							$sort = 0,
4542
+							$reverse = 1,
4550 4543
 							$filter,
4551
-							$rByUid=true,
4544
+							$rByUid = true,
4552 4545
 							false
4553 4546
 						);
4554 4547
 						$messageList = $_sR['match']->ids;
4555
-						if (count($messageListForToggle)>0)
4548
+						if (count($messageListForToggle) > 0)
4556 4549
 						{
4557 4550
 							$flag2set = (strtolower($_flag));
4558
-							if(Mail::$debug) error_log(__METHOD__.__LINE__." toggle un$_flag -> $flag2set ".array2string($filter2toggle).array2string($messageListForToggle));
4559
-							$this->mail_bo->flagMessages($flag2set, $messageListForToggle,$folder);
4551
+							if (Mail::$debug) error_log(__METHOD__.__LINE__." toggle un$_flag -> $flag2set ".array2string($filter2toggle).array2string($messageListForToggle));
4552
+							$this->mail_bo->flagMessages($flag2set, $messageListForToggle, $folder);
4560 4553
 						}
4561
-						if (count($messageList)>0)
4554
+						if (count($messageList) > 0)
4562 4555
 						{
4563 4556
 							$flag2set = 'un'.$_flag;
4564
-							if(Mail::$debug) error_log(__METHOD__.__LINE__." $_flag -> $flag2set ".array2string($filter).array2string($messageList));
4565
-							$this->mail_bo->flagMessages($flag2set, $messageList,$folder);
4557
+							if (Mail::$debug) error_log(__METHOD__.__LINE__." $_flag -> $flag2set ".array2string($filter).array2string($messageList));
4558
+							$this->mail_bo->flagMessages($flag2set, $messageList, $folder);
4566 4559
 						}
4567
-						$alreadyFlagged=true;
4560
+						$alreadyFlagged = true;
4568 4561
 					}
4569 4562
 					elseif (!empty($filter) &&
4570
-						(!in_array($_flag,array('read','flagged','label1','label2','label3','label4','label5')) ||
4571
-						(in_array($_flag,array('read','flagged','label1','label2','label3','label4','label5')) &&
4572
-						($flag2check==$query['filter'] || stripos($query['filter'],$flag2check)!==false))))
4563
+						(!in_array($_flag, array('read', 'flagged', 'label1', 'label2', 'label3', 'label4', 'label5')) ||
4564
+						(in_array($_flag, array('read', 'flagged', 'label1', 'label2', 'label3', 'label4', 'label5')) &&
4565
+						($flag2check == $query['filter'] || stripos($query['filter'], $flag2check) !== false))))
4573 4566
 					{
4574
-						if ($query['filter'] && $query['filter'] !='any')
4567
+						if ($query['filter'] && $query['filter'] != 'any')
4575 4568
 						{
4576 4569
 							$filter['status'] = $query['filter'];
4577 4570
 							// since we toggle and we toggle by the filtered flag we must must change _flag
4578
-							$_flag = ($query['filter']=='unseen' && $_flag=='read' ? 'read' : ($query['filter']=='seen'&& $_flag=='read'?'unread':($_flag==$query['filter']?'un'.$_flag:$_flag)));
4571
+							$_flag = ($query['filter'] == 'unseen' && $_flag == 'read' ? 'read' : ($query['filter'] == 'seen' && $_flag == 'read' ? 'unread' : ($_flag == $query['filter'] ? 'un'.$_flag : $_flag)));
4579 4572
 						}
4580
-						if(Mail::$debug) error_log(__METHOD__.__LINE__." flag all with $_flag on filter used:".array2string($filter));
4573
+						if (Mail::$debug) error_log(__METHOD__.__LINE__." flag all with $_flag on filter used:".array2string($filter));
4581 4574
 						$_sR = $this->mail_bo->getSortedList(
4582 4575
 							$folder,
4583
-							$sort=0,
4584
-							$reverse=1,
4576
+							$sort = 0,
4577
+							$reverse = 1,
4585 4578
 							$filter,
4586
-							$rByUid=true,
4579
+							$rByUid = true,
4587 4580
 							false
4588 4581
 						);
4589 4582
 						$messageList = $_sR['match']->ids;
@@ -4592,8 +4585,8 @@  discard block
 block discarded – undo
4592 4585
 					}
4593 4586
 					else
4594 4587
 					{
4595
-						if(Mail::$debug) error_log(__METHOD__.__LINE__." $_flag all ".array2string($filter));
4596
-						$alreadyFlagged=true;
4588
+						if (Mail::$debug) error_log(__METHOD__.__LINE__." $_flag all ".array2string($filter));
4589
+						$alreadyFlagged = true;
4597 4590
 						$uidA = self::splitRowID($_messageList['msg'][0]);
4598 4591
 						$folder = $uidA['folder']; // all messages in one set are supposed to be within the same folder
4599 4592
 						$this->mail_bo->flagMessages($_flag, 'all', $folder);
@@ -4607,41 +4600,41 @@  discard block
 block discarded – undo
4607 4600
 			}
4608 4601
 			if (!$alreadyFlagged)
4609 4602
 			{
4610
-				foreach($_messageList['msg'] as $rowID)
4603
+				foreach ($_messageList['msg'] as $rowID)
4611 4604
 				{
4612 4605
 					$hA = self::splitRowID($rowID);
4613 4606
 					$messageList[] = $hA['msgUID'];
4614 4607
 				}
4615
-				if(Mail::$debug) error_log(__METHOD__.__LINE__." $_flag in $folder:".array2string(((isset($_messageList['all']) && $_messageList['all']) ? 'all':$messageList)));
4616
-				$this->mail_bo->flagMessages($_flag, ((isset($_messageList['all']) && $_messageList['all']) ? 'all':$messageList),$folder);
4608
+				if (Mail::$debug) error_log(__METHOD__.__LINE__." $_flag in $folder:".array2string(((isset($_messageList['all']) && $_messageList['all']) ? 'all' : $messageList)));
4609
+				$this->mail_bo->flagMessages($_flag, ((isset($_messageList['all']) && $_messageList['all']) ? 'all' : $messageList), $folder);
4617 4610
 			}
4618 4611
 		}
4619 4612
 		else
4620 4613
 		{
4621
-			if(Mail::$debug) error_log(__METHOD__."-> No messages selected.");
4614
+			if (Mail::$debug) error_log(__METHOD__."-> No messages selected.");
4622 4615
 		}
4623 4616
 
4624 4617
 		if ($_sendJsonResponse)
4625 4618
 		{
4626
-			$flag=array(
4627
-				'label1'	=> 'important',//lang('important'),
4628
-				'label2'	=> 'job',	//lang('job'),
4629
-				'label3'	=> 'personal',//lang('personal'),
4630
-				'label4'	=> 'to do',	//lang('to do'),
4631
-				'label5'	=> 'later',	//lang('later'),
4619
+			$flag = array(
4620
+				'label1'	=> 'important', //lang('important'),
4621
+				'label2'	=> 'job', //lang('job'),
4622
+				'label3'	=> 'personal', //lang('personal'),
4623
+				'label4'	=> 'to do', //lang('to do'),
4624
+				'label5'	=> 'later', //lang('later'),
4632 4625
 			);
4633 4626
 			$response = Api\Json\Response::get();
4634 4627
 			if (isset($_messageList['msg']) && $_messageList['popup'])
4635 4628
 			{
4636
-				$response->call('egw.refresh',lang('flagged %1 messages as %2 in %3',$_messageList['msg'],lang(($flag[$_flag]?$flag[$_flag]:$_flag)),$folder),'mail', $_messageList['msg'], 'update');
4629
+				$response->call('egw.refresh', lang('flagged %1 messages as %2 in %3', $_messageList['msg'], lang(($flag[$_flag] ? $flag[$_flag] : $_flag)), $folder), 'mail', $_messageList['msg'], 'update');
4637 4630
 			}
4638
-			else if ((isset($_messageList['all']) && $_messageList['all']) || ($query['filter'] && ($flag2check==$query['filter'] || stripos($query['filter'],$flag2check)!==false)))
4631
+			else if ((isset($_messageList['all']) && $_messageList['all']) || ($query['filter'] && ($flag2check == $query['filter'] || stripos($query['filter'], $flag2check) !== false)))
4639 4632
 			{
4640
-				$response->call('egw.refresh',lang('flagged %1 messages as %2 in %3',(isset($_messageList['all']) && $_messageList['all']?lang('all'):count($_messageList['msg'])),lang(($flag[$_flag]?$flag[$_flag]:$_flag)),$folder),'mail');
4633
+				$response->call('egw.refresh', lang('flagged %1 messages as %2 in %3', (isset($_messageList['all']) && $_messageList['all'] ? lang('all') : count($_messageList['msg'])), lang(($flag[$_flag] ? $flag[$_flag] : $_flag)), $folder), 'mail');
4641 4634
 			}
4642 4635
 			else
4643 4636
 			{
4644
-				$response->call('egw.message',lang('flagged %1 messages as %2 in %3',(isset($_messageList['all']) && $_messageList['all']?lang('all'):count($_messageList['msg'])),lang(($flag[$_flag]?$flag[$_flag]:$_flag)),$folder));
4637
+				$response->call('egw.message', lang('flagged %1 messages as %2 in %3', (isset($_messageList['all']) && $_messageList['all'] ? lang('all') : count($_messageList['msg'])), lang(($flag[$_flag] ? $flag[$_flag] : $_flag)), $folder));
4645 4638
 			}
4646 4639
 		}
4647 4640
 	}
@@ -4653,12 +4646,12 @@  discard block
 block discarded – undo
4653 4646
 	 * @param string _forceDeleteMethod - method of deletion to be enforced
4654 4647
 	 * @return xajax response
4655 4648
 	 */
4656
-	function ajax_deleteMessages($_messageList,$_forceDeleteMethod=null)
4649
+	function ajax_deleteMessages($_messageList, $_forceDeleteMethod = null)
4657 4650
 	{
4658
-		if(Mail::$debug) error_log(__METHOD__."->".print_r($_messageList,true).' Method:'.$_forceDeleteMethod);
4651
+		if (Mail::$debug) error_log(__METHOD__."->".print_r($_messageList, true).' Method:'.$_forceDeleteMethod);
4659 4652
 		$error = null;
4660
-		$filtered =  false;
4661
-		if ($_messageList=='all' || !empty($_messageList['msg']))
4653
+		$filtered = false;
4654
+		if ($_messageList == 'all' || !empty($_messageList['msg']))
4662 4655
 		{
4663 4656
 			if (isset($_messageList['all']) && $_messageList['all'])
4664 4657
 			{
@@ -4668,34 +4661,34 @@  discard block
 block discarded – undo
4668 4661
 				if (isset($_messageList['activeFilters']) && $_messageList['activeFilters'])
4669 4662
 				{
4670 4663
 					$query = $_messageList['activeFilters'];
4671
-					if (!empty($query['search']) || !empty($query['filter'])||($query['cat_id']=='bydate' && (!empty($query['startdate'])||!empty($query['enddate']))))
4664
+					if (!empty($query['search']) || !empty($query['filter']) || ($query['cat_id'] == 'bydate' && (!empty($query['startdate']) || !empty($query['enddate']))))
4672 4665
 					{
4673 4666
 						//([filterName] => Schnellsuche[type] => quick[string] => ebay[status] => any
4674 4667
 						if (is_null(Mail::$supportsORinQuery) || !isset(Mail::$supportsORinQuery[$this->mail_bo->profileID]))
4675 4668
 						{
4676
-							Mail::$supportsORinQuery = Api\Cache::getCache(Api\Cache::INSTANCE,'email','supportsORinQuery'.trim($GLOBALS['egw_info']['user']['account_id']), null, array(), 60*60*10);
4677
-							if (!isset(Mail::$supportsORinQuery[$this->mail_bo->profileID])) Mail::$supportsORinQuery[$this->mail_bo->profileID]=true;
4669
+							Mail::$supportsORinQuery = Api\Cache::getCache(Api\Cache::INSTANCE, 'email', 'supportsORinQuery'.trim($GLOBALS['egw_info']['user']['account_id']), null, array(), 60 * 60 * 10);
4670
+							if (!isset(Mail::$supportsORinQuery[$this->mail_bo->profileID])) Mail::$supportsORinQuery[$this->mail_bo->profileID] = true;
4678 4671
 						}
4679
-						$filtered =  true;
4672
+						$filtered = true;
4680 4673
 						$cutoffdate = $cutoffdate2 = null;
4681
-						if ($query['startdate']) $cutoffdate = Api\DateTime::to($query['startdate'],'ts');//SINCE, enddate
4682
-						if ($query['enddate']) $cutoffdate2 = Api\DateTime::to($query['enddate'],'ts');//BEFORE, startdate
4674
+						if ($query['startdate']) $cutoffdate = Api\DateTime::to($query['startdate'], 'ts'); //SINCE, enddate
4675
+						if ($query['enddate']) $cutoffdate2 = Api\DateTime::to($query['enddate'], 'ts'); //BEFORE, startdate
4683 4676
 						//error_log(__METHOD__.__LINE__.' Startdate:'.$cutoffdate2.' Enddate'.$cutoffdate);
4684 4677
 						$filter = array(
4685
-							'filterName' => (Mail::$supportsORinQuery[$mail_ui->mail_bo->profileID]?lang('quicksearch'):lang('subject')),
4686
-							'type' => ($query['cat_id']?$query['cat_id']:(Mail::$supportsORinQuery[$mail_ui->mail_bo->profileID]?'quick':'subject')),
4678
+							'filterName' => (Mail::$supportsORinQuery[$mail_ui->mail_bo->profileID] ? lang('quicksearch') : lang('subject')),
4679
+							'type' => ($query['cat_id'] ? $query['cat_id'] : (Mail::$supportsORinQuery[$mail_ui->mail_bo->profileID] ? 'quick' : 'subject')),
4687 4680
 							'string' => $query['search'],
4688
-							'status' => (!empty($query['filter'])?$query['filter']:'any'),
4681
+							'status' => (!empty($query['filter']) ? $query['filter'] : 'any'),
4689 4682
 							//'range'=>"BETWEEN",'since'=> date("d-M-Y", $cutoffdate),'before'=> date("d-M-Y", $cutoffdate2)
4690 4683
 						);
4691
-						if ($query['enddate']||$query['startdate']) {
4684
+						if ($query['enddate'] || $query['startdate']) {
4692 4685
 							$filter['range'] = "BETWEEN";
4693 4686
 							if ($cutoffdate) {
4694
-								$filter[(empty($cutoffdate2)?'date':'since')] =  date("d-M-Y", $cutoffdate);
4687
+								$filter[(empty($cutoffdate2) ? 'date' : 'since')] = date("d-M-Y", $cutoffdate);
4695 4688
 								if (empty($cutoffdate2)) $filter['range'] = "SINCE";
4696 4689
 							}
4697 4690
 							if ($cutoffdate2) {
4698
-								$filter[(empty($cutoffdate)?'date':'before')] =  date("d-M-Y", $cutoffdate2);
4691
+								$filter[(empty($cutoffdate) ? 'date' : 'before')] = date("d-M-Y", $cutoffdate2);
4699 4692
 								if (empty($cutoffdate)) $filter['range'] = "BEFORE";
4700 4693
 							}
4701 4694
 						}
@@ -4709,7 +4702,7 @@  discard block
 block discarded – undo
4709 4702
 					$rByUid = true;
4710 4703
 					$_sR = $this->mail_bo->getSortedList(
4711 4704
 						$folder,
4712
-						$sort=0,
4705
+						$sort = 0,
4713 4706
 						$reverse,
4714 4707
 						$filter,
4715 4708
 						$rByUid,
@@ -4719,23 +4712,23 @@  discard block
 block discarded – undo
4719 4712
 				}
4720 4713
 				else
4721 4714
 				{
4722
-					$messageList='all';
4715
+					$messageList = 'all';
4723 4716
 				}
4724 4717
 				try
4725 4718
 				{
4726 4719
 					//error_log(__METHOD__.__LINE__."->".print_r($messageList,true).' folder:'.$folder.' Method:'.$_forceDeleteMethod);
4727
-					$this->mail_bo->deleteMessages(($messageList=='all' ? 'all':$messageList),$folder,(empty($_forceDeleteMethod)?'no':$_forceDeleteMethod));
4720
+					$this->mail_bo->deleteMessages(($messageList == 'all' ? 'all' : $messageList), $folder, (empty($_forceDeleteMethod) ? 'no' : $_forceDeleteMethod));
4728 4721
 				}
4729 4722
 				catch (Api\Exception $e)
4730 4723
 				{
4731
-					$error = str_replace('"',"'",$e->getMessage());
4724
+					$error = str_replace('"', "'", $e->getMessage());
4732 4725
 				}
4733 4726
 			}
4734 4727
 			else
4735 4728
 			{
4736 4729
 				$uidA = self::splitRowID($_messageList['msg'][0]);
4737 4730
 				$folder = $uidA['folder']; // all messages in one set are supposed to be within the same folder
4738
-				foreach($_messageList['msg'] as $rowID)
4731
+				foreach ($_messageList['msg'] as $rowID)
4739 4732
 				{
4740 4733
 					$hA = self::splitRowID($rowID);
4741 4734
 					$messageList[] = $hA['msgUID'];
@@ -4743,27 +4736,27 @@  discard block
 block discarded – undo
4743 4736
 				try
4744 4737
 				{
4745 4738
 					//error_log(__METHOD__.__LINE__."->".print_r($messageList,true).' folder:'.$folder.' Method:'.$_forceDeleteMethod);
4746
-					$this->mail_bo->deleteMessages($messageList,$folder,(empty($_forceDeleteMethod)?'no':$_forceDeleteMethod));
4739
+					$this->mail_bo->deleteMessages($messageList, $folder, (empty($_forceDeleteMethod) ? 'no' : $_forceDeleteMethod));
4747 4740
 				}
4748 4741
 				catch (Api\Exception $e)
4749 4742
 				{
4750
-					$error = str_replace('"',"'",$e->getMessage());
4743
+					$error = str_replace('"', "'", $e->getMessage());
4751 4744
 				}
4752 4745
 			}
4753 4746
 			$response = Api\Json\Response::get();
4754 4747
 			if (empty($error))
4755 4748
 			{
4756
-				$response->call('app.mail.mail_deleteMessagesShowResult',array('egw_message'=>lang('deleted %1 messages in %2',($messageList=='all'||$_messageList['all']?($filtered?lang('all filtered'):lang('all')):count($_messageList['msg'])),$folder),'msg'=>$_messageList['msg']));
4749
+				$response->call('app.mail.mail_deleteMessagesShowResult', array('egw_message'=>lang('deleted %1 messages in %2', ($messageList == 'all' || $_messageList['all'] ? ($filtered ? lang('all filtered') : lang('all')) : count($_messageList['msg'])), $folder), 'msg'=>$_messageList['msg']));
4757 4750
 			}
4758 4751
 			else
4759 4752
 			{
4760
-				$error = str_replace('\n',"\n",lang('mailserver reported:\n%1 \ndo you want to proceed by deleting the selected messages immediately (click ok)?\nif not, please try to empty your trashfolder before continuing. (click cancel)',$error));
4761
-				$response->call('app.mail.mail_retryForcedDelete',array('response'=>$error,'messageList'=>$_messageList));
4753
+				$error = str_replace('\n', "\n", lang('mailserver reported:\n%1 \ndo you want to proceed by deleting the selected messages immediately (click ok)?\nif not, please try to empty your trashfolder before continuing. (click cancel)', $error));
4754
+				$response->call('app.mail.mail_retryForcedDelete', array('response'=>$error, 'messageList'=>$_messageList));
4762 4755
 			}
4763 4756
 		}
4764 4757
 		else
4765 4758
 		{
4766
-			if(Mail::$debug) error_log(__METHOD__."-> No messages selected.");
4759
+			if (Mail::$debug) error_log(__METHOD__."-> No messages selected.");
4767 4760
 		}
4768 4761
 	}
4769 4762
 
@@ -4777,48 +4770,48 @@  discard block
 block discarded – undo
4777 4770
 	 *
4778 4771
 	 * @return xajax response
4779 4772
 	 */
4780
-	function ajax_copyMessages($_folderName, $_messageList, $_copyOrMove='copy', $_move2ArchiveMarker='_')
4773
+	function ajax_copyMessages($_folderName, $_messageList, $_copyOrMove = 'copy', $_move2ArchiveMarker = '_')
4781 4774
 	{
4782
-		if(Mail::$debug) error_log(__METHOD__."->".$_folderName.':'.print_r($_messageList,true).' Method:'.$_copyOrMove.' ArchiveMarker:'.$_move2ArchiveMarker);
4775
+		if (Mail::$debug) error_log(__METHOD__."->".$_folderName.':'.print_r($_messageList, true).' Method:'.$_copyOrMove.' ArchiveMarker:'.$_move2ArchiveMarker);
4783 4776
 		Api\Translation::add_app('mail');
4784 4777
 		$folderName = $this->mail_bo->decodeEntityFolderName($_folderName);
4785 4778
 		// only copy or move are supported as method
4786
-		if (!($_copyOrMove=='copy' || $_copyOrMove=='move')) $_copyOrMove='copy';
4787
-		list($targetProfileID,$targetFolder) = explode(self::$delimiter,$folderName,2);
4779
+		if (!($_copyOrMove == 'copy' || $_copyOrMove == 'move')) $_copyOrMove = 'copy';
4780
+		list($targetProfileID, $targetFolder) = explode(self::$delimiter, $folderName, 2);
4788 4781
 		// check if move2archive was called with the correct archiveFolder
4789 4782
 		$archiveFolder = $this->mail_bo->getArchiveFolder();
4790
-		if ($_move2ArchiveMarker=='2' && $targetFolder != $archiveFolder)
4783
+		if ($_move2ArchiveMarker == '2' && $targetFolder != $archiveFolder)
4791 4784
 		{
4792 4785
 			error_log(__METHOD__.__LINE__."#Move to Archive called with:"."$targetProfileID,$targetFolder");
4793 4786
 			$targetProfileID = $this->mail_bo->profileID;
4794 4787
 			$targetFolder = $archiveFolder;
4795 4788
 			error_log(__METHOD__.__LINE__."#Fixed ArchiveFolder:"."$targetProfileID,$targetFolder");
4796 4789
 		}
4797
-		$lastFoldersUsedForMoveCont = Api\Cache::getCache(Api\Cache::INSTANCE,'email','lastFolderUsedForMove'.trim($GLOBALS['egw_info']['user']['account_id']),null,array(),$expiration=60*60*1);
4790
+		$lastFoldersUsedForMoveCont = Api\Cache::getCache(Api\Cache::INSTANCE, 'email', 'lastFolderUsedForMove'.trim($GLOBALS['egw_info']['user']['account_id']), null, array(), $expiration = 60 * 60 * 1);
4798 4791
 		$changeFolderActions = false;
4799 4792
 		//error_log(__METHOD__.__LINE__."#"."$targetProfileID,$targetFolder");
4800 4793
 		//error_log(__METHOD__.__LINE__.array2string($lastFoldersUsedForMoveCont));
4801 4794
 		if (!isset($lastFoldersUsedForMoveCont[$targetProfileID][$targetFolder]))
4802 4795
 		{
4803 4796
 			//error_log(__METHOD__.__LINE__.array2string($lastFoldersUsedForMoveCont[$targetProfileID][$targetFolder]));
4804
-			if ($lastFoldersUsedForMoveCont[$targetProfileID] && count($lastFoldersUsedForMoveCont[$targetProfileID])>3)
4797
+			if ($lastFoldersUsedForMoveCont[$targetProfileID] && count($lastFoldersUsedForMoveCont[$targetProfileID]) > 3)
4805 4798
 			{
4806 4799
 				$keys = array_keys($lastFoldersUsedForMoveCont[$targetProfileID]);
4807
-				foreach( $keys as &$f)
4800
+				foreach ($keys as &$f)
4808 4801
 				{
4809
-					if (count($lastFoldersUsedForMoveCont[$targetProfileID])>9) unset($lastFoldersUsedForMoveCont[$targetProfileID][$f]);
4802
+					if (count($lastFoldersUsedForMoveCont[$targetProfileID]) > 9) unset($lastFoldersUsedForMoveCont[$targetProfileID][$f]);
4810 4803
 					else break;
4811 4804
 				}
4812 4805
 				//error_log(__METHOD__.__LINE__.array2string($lastFoldersUsedForMoveCont[$targetProfileID]));
4813 4806
 			}
4814 4807
 			//error_log(__METHOD__.__LINE__."#"."$targetProfileID,$targetFolder = $_folderName");
4815
-			$lastFoldersUsedForMoveCont[$targetProfileID][$targetFolder]=$folderName;
4808
+			$lastFoldersUsedForMoveCont[$targetProfileID][$targetFolder] = $folderName;
4816 4809
 			$changeFolderActions = true;
4817 4810
 		}
4818 4811
 		$filtered = false;
4819
-		if ($_messageList=='all' || !empty($_messageList['msg']))
4812
+		if ($_messageList == 'all' || !empty($_messageList['msg']))
4820 4813
 		{
4821
-			$error=false;
4814
+			$error = false;
4822 4815
 			if (isset($_messageList['all']) && $_messageList['all'])
4823 4816
 			{
4824 4817
 				// we have both messageIds AND allFlag folder information
@@ -4828,34 +4821,34 @@  discard block
 block discarded – undo
4828 4821
 				if (isset($_messageList['activeFilters']) && $_messageList['activeFilters'])
4829 4822
 				{
4830 4823
 					$query = $_messageList['activeFilters'];
4831
-					if (!empty($query['search']) || !empty($query['filter'])||($query['cat_id']=='bydate' && (!empty($query['startdate'])||!empty($query['enddate']))))
4824
+					if (!empty($query['search']) || !empty($query['filter']) || ($query['cat_id'] == 'bydate' && (!empty($query['startdate']) || !empty($query['enddate']))))
4832 4825
 					{
4833 4826
 						//([filterName] => Schnellsuche[type] => quick[string] => ebay[status] => any
4834 4827
 						if (is_null(Mail::$supportsORinQuery) || !isset(Mail::$supportsORinQuery[$this->mail_bo->profileID]))
4835 4828
 						{
4836
-							Mail::$supportsORinQuery = Api\Cache::getCache(Api\Cache::INSTANCE,'email','supportsORinQuery'.trim($GLOBALS['egw_info']['user']['account_id']), null, array(), 60*60*10);
4837
-							if (!isset(Mail::$supportsORinQuery[$this->mail_bo->profileID])) Mail::$supportsORinQuery[$this->mail_bo->profileID]=true;
4829
+							Mail::$supportsORinQuery = Api\Cache::getCache(Api\Cache::INSTANCE, 'email', 'supportsORinQuery'.trim($GLOBALS['egw_info']['user']['account_id']), null, array(), 60 * 60 * 10);
4830
+							if (!isset(Mail::$supportsORinQuery[$this->mail_bo->profileID])) Mail::$supportsORinQuery[$this->mail_bo->profileID] = true;
4838 4831
 						}
4839 4832
 						$filtered = true;
4840 4833
 						$cutoffdate = $cutoffdate2 = null;
4841
-						if ($query['startdate']) $cutoffdate = Api\DateTime::to($query['startdate'],'ts');//SINCE, enddate
4842
-						if ($query['enddate']) $cutoffdate2 = Api\DateTime::to($query['enddate'],'ts');//BEFORE, startdate
4834
+						if ($query['startdate']) $cutoffdate = Api\DateTime::to($query['startdate'], 'ts'); //SINCE, enddate
4835
+						if ($query['enddate']) $cutoffdate2 = Api\DateTime::to($query['enddate'], 'ts'); //BEFORE, startdate
4843 4836
 						//error_log(__METHOD__.__LINE__.' Startdate:'.$cutoffdate2.' Enddate'.$cutoffdate);
4844 4837
 						$filter = array(
4845
-							'filterName' => (Mail::$supportsORinQuery[$mail_ui->mail_bo->profileID]?lang('quicksearch'):lang('subject')),
4846
-							'type' => ($query['cat_id']?$query['cat_id']:(Mail::$supportsORinQuery[$mail_ui->mail_bo->profileID]?'quick':'subject')),
4838
+							'filterName' => (Mail::$supportsORinQuery[$mail_ui->mail_bo->profileID] ? lang('quicksearch') : lang('subject')),
4839
+							'type' => ($query['cat_id'] ? $query['cat_id'] : (Mail::$supportsORinQuery[$mail_ui->mail_bo->profileID] ? 'quick' : 'subject')),
4847 4840
 							'string' => $query['search'],
4848
-							'status' => (!empty($query['filter'])?$query['filter']:'any'),
4841
+							'status' => (!empty($query['filter']) ? $query['filter'] : 'any'),
4849 4842
 							//'range'=>"BETWEEN",'since'=> date("d-M-Y", $cutoffdate),'before'=> date("d-M-Y", $cutoffdate2)
4850 4843
 						);
4851
-						if ($query['enddate']||$query['startdate']) {
4844
+						if ($query['enddate'] || $query['startdate']) {
4852 4845
 							$filter['range'] = "BETWEEN";
4853 4846
 							if ($cutoffdate) {
4854
-								$filter[(empty($cutoffdate2)?'date':'since')] =  date("d-M-Y", $cutoffdate);
4847
+								$filter[(empty($cutoffdate2) ? 'date' : 'since')] = date("d-M-Y", $cutoffdate);
4855 4848
 								if (empty($cutoffdate2)) $filter['range'] = "SINCE";
4856 4849
 							}
4857 4850
 							if ($cutoffdate2) {
4858
-								$filter[(empty($cutoffdate)?'date':'before')] =  date("d-M-Y", $cutoffdate2);
4851
+								$filter[(empty($cutoffdate) ? 'date' : 'before')] = date("d-M-Y", $cutoffdate2);
4859 4852
 								if (empty($cutoffdate)) $filter['range'] = "BEFORE";
4860 4853
 							}
4861 4854
 						}
@@ -4868,70 +4861,70 @@  discard block
 block discarded – undo
4868 4861
 					$rByUid = true;
4869 4862
 					$_sR = $this->mail_bo->getSortedList(
4870 4863
 						$folder,
4871
-						$sort=0,
4864
+						$sort = 0,
4872 4865
 						$reverse,
4873 4866
 						$filter,
4874
-						$rByUid=true,
4867
+						$rByUid = true,
4875 4868
 						false
4876 4869
 					);
4877 4870
 					$messageList = $_sR['match']->ids;
4878
-					foreach($messageList as $uID)
4871
+					foreach ($messageList as $uID)
4879 4872
 					{
4880 4873
 						//error_log(__METHOD__.__LINE__.$uID);
4881
-						if ($_copyOrMove=='move')
4874
+						if ($_copyOrMove == 'move')
4882 4875
 						{
4883
-							$messageListForRefresh[] = self::generateRowID($sourceProfileID, $folderName, $uID, $_prependApp=false);
4876
+							$messageListForRefresh[] = self::generateRowID($sourceProfileID, $folderName, $uID, $_prependApp = false);
4884 4877
 						}
4885 4878
 					}
4886 4879
 				}
4887 4880
 				else
4888 4881
 				{
4889
-					$messageList='all';
4882
+					$messageList = 'all';
4890 4883
 				}
4891 4884
 				try
4892 4885
 				{
4893 4886
 					//error_log(__METHOD__.__LINE__."->".print_r($messageList,true).' folder:'.$folder.' Method:'.$_forceDeleteMethod.' '.$targetProfileID.'/'.$sourceProfileID);
4894
-					$this->mail_bo->moveMessages($targetFolder,$messageList,($_copyOrMove=='copy'?false:true),$folder,false,$sourceProfileID,($targetProfileID!=$sourceProfileID?$targetProfileID:null));
4887
+					$this->mail_bo->moveMessages($targetFolder, $messageList, ($_copyOrMove == 'copy' ? false : true), $folder, false, $sourceProfileID, ($targetProfileID != $sourceProfileID ? $targetProfileID : null));
4895 4888
 				}
4896 4889
 				catch (Api\Exception $e)
4897 4890
 				{
4898
-					$error = str_replace('"',"'",$e->getMessage());
4891
+					$error = str_replace('"', "'", $e->getMessage());
4899 4892
 				}
4900 4893
 			}
4901 4894
 			else
4902 4895
 			{
4903 4896
 				$messageList = array();
4904
-				while(count($_messageList['msg']) > 0)
4897
+				while (count($_messageList['msg']) > 0)
4905 4898
 				{
4906 4899
 					$uidA = self::splitRowID($_messageList['msg'][0]);
4907 4900
 					$folder = $uidA['folder']; // all messages in one set are supposed to be within the same folder
4908 4901
 					$sourceProfileID = $uidA['profileID'];
4909 4902
 					$moveList = array();
4910
-					foreach($_messageList['msg'] as $rowID)
4903
+					foreach ($_messageList['msg'] as $rowID)
4911 4904
 					{
4912 4905
 						$hA = self::splitRowID($rowID);
4913 4906
 
4914 4907
 						// If folder changes, stop and move what we've got
4915
-						if($hA['folder'] != $folder) break;
4908
+						if ($hA['folder'] != $folder) break;
4916 4909
 
4917 4910
 						array_shift($_messageList['msg']);
4918 4911
 						$messageList[] = $hA['msgUID'];
4919 4912
 						$moveList[] = $hA['msgUID'];
4920
-						if ($_copyOrMove=='move')
4913
+						if ($_copyOrMove == 'move')
4921 4914
 						{
4922
-							$helpvar = explode(self::$delimiter,$rowID);
4915
+							$helpvar = explode(self::$delimiter, $rowID);
4923 4916
 							array_shift($helpvar);
4924
-							$messageListForRefresh[]= implode(self::$delimiter,$helpvar);
4917
+							$messageListForRefresh[] = implode(self::$delimiter, $helpvar);
4925 4918
 						}
4926 4919
 					}
4927 4920
 					try
4928 4921
 					{
4929 4922
 						//error_log(__METHOD__.__LINE__."->".print_r($moveList,true).' folder:'.$folder.' Method:'.$_forceDeleteMethod.' '.$targetProfileID.'/'.$sourceProfileID);
4930
-						$this->mail_bo->moveMessages($targetFolder,$moveList,($_copyOrMove=='copy'?false:true),$folder,false,$sourceProfileID,($targetProfileID!=$sourceProfileID?$targetProfileID:null));
4923
+						$this->mail_bo->moveMessages($targetFolder, $moveList, ($_copyOrMove == 'copy' ? false : true), $folder, false, $sourceProfileID, ($targetProfileID != $sourceProfileID ? $targetProfileID : null));
4931 4924
 					}
4932 4925
 					catch (Api\Exception $e)
4933 4926
 					{
4934
-						$error = str_replace('"',"'",$e->getMessage());
4927
+						$error = str_replace('"', "'", $e->getMessage());
4935 4928
 					}
4936 4929
 				}
4937 4930
 			}
@@ -4944,30 +4937,30 @@  discard block
 block discarded – undo
4944 4937
 					unset($lastFoldersUsedForMoveCont[$targetProfileID][$targetFolder]);
4945 4938
 					$changeFolderActions = true;
4946 4939
 				}
4947
-				$response->call('egw.message',$error,"error");
4940
+				$response->call('egw.message', $error, "error");
4948 4941
 			}
4949 4942
 			else
4950 4943
 			{
4951
-				if ($_copyOrMove=='copy')
4944
+				if ($_copyOrMove == 'copy')
4952 4945
 				{
4953
-					$response->call('egw.message',lang('copied %1 message(s) from %2 to %3',($messageList=='all'||$_messageList['all']?($filtered?lang('all filtered'):lang('all')):count($messageList)),$folder,$targetFolder));
4946
+					$response->call('egw.message', lang('copied %1 message(s) from %2 to %3', ($messageList == 'all' || $_messageList['all'] ? ($filtered ? lang('all filtered') : lang('all')) : count($messageList)), $folder, $targetFolder));
4954 4947
 				}
4955 4948
 				else
4956 4949
 				{
4957
-					$response->call('egw.refresh',lang('moved %1 message(s) from %2 to %3',($messageList=='all'||$_messageList['all']?($filtered?lang('all filtered'):lang('all')):count($messageList)),$folder,$targetFolder),'mail',$messageListForRefresh,'delete');
4950
+					$response->call('egw.refresh', lang('moved %1 message(s) from %2 to %3', ($messageList == 'all' || $_messageList['all'] ? ($filtered ? lang('all filtered') : lang('all')) : count($messageList)), $folder, $targetFolder), 'mail', $messageListForRefresh, 'delete');
4958 4951
 				}
4959 4952
 			}
4960 4953
 			if ($changeFolderActions == true)
4961 4954
 			{
4962 4955
 				//error_log(__METHOD__.__LINE__.array2string($lastFoldersUsedForMoveCont));
4963
-				Api\Cache::setCache(Api\Cache::INSTANCE,'email','lastFolderUsedForMove'.trim($GLOBALS['egw_info']['user']['account_id']),$lastFoldersUsedForMoveCont, $expiration=60*60*1);
4956
+				Api\Cache::setCache(Api\Cache::INSTANCE, 'email', 'lastFolderUsedForMove'.trim($GLOBALS['egw_info']['user']['account_id']), $lastFoldersUsedForMoveCont, $expiration = 60 * 60 * 1);
4964 4957
 				$actionsnew = Etemplate\Widget\Nextmatch::egw_actions(self::get_actions());
4965
-				$response->call('app.mail.mail_rebuildActionsOnList',$actionsnew);
4958
+				$response->call('app.mail.mail_rebuildActionsOnList', $actionsnew);
4966 4959
 			}
4967 4960
 		}
4968 4961
 		else
4969 4962
 		{
4970
-			if(Mail::$debug) error_log(__METHOD__."-> No messages selected.");
4963
+			if (Mail::$debug) error_log(__METHOD__."-> No messages selected.");
4971 4964
 		}
4972 4965
 	}
4973 4966
 
@@ -4977,11 +4970,11 @@  discard block
 block discarded – undo
4977 4970
 	 *
4978 4971
 	 * @param type $_id
4979 4972
 	 */
4980
-	function ajax_folderMgmtTree_autoloading ($_id = null)
4973
+	function ajax_folderMgmtTree_autoloading($_id = null)
4981 4974
 	{
4982 4975
 		$mail_ui = new mail_ui();
4983
-		$id = $_id? $_id : $_GET['id'];
4984
-		Etemplate\Widget\Tree::send_quote_json($mail_ui->mail_tree->getTree($id,'',1,true,false,false,false));
4976
+		$id = $_id ? $_id : $_GET['id'];
4977
+		Etemplate\Widget\Tree::send_quote_json($mail_ui->mail_tree->getTree($id, '', 1, true, false, false, false));
4985 4978
 	}
4986 4979
 
4987 4980
 	/**
@@ -4989,15 +4982,15 @@  discard block
 block discarded – undo
4989 4982
 	 *
4990 4983
 	 * @param array $content content of dialog
4991 4984
 	 */
4992
-	function folderManagement (array $content = null)
4985
+	function folderManagement(array $content = null)
4993 4986
 	{
4994 4987
 		$dtmpl = new Etemplate('mail.folder_management');
4995
-		$profileID = $_GET['acc_id']? $_GET['acc_id']: $content['acc_id'];
4996
-		$sel_options['tree'] = $this->mail_tree->getTree(null,$profileID, 1, true, false, false);
4988
+		$profileID = $_GET['acc_id'] ? $_GET['acc_id'] : $content['acc_id'];
4989
+		$sel_options['tree'] = $this->mail_tree->getTree(null, $profileID, 1, true, false, false);
4997 4990
 
4998 4991
 		if (!is_array($content))
4999 4992
 		{
5000
-			$content = array ('acc_id' => $profileID);
4993
+			$content = array('acc_id' => $profileID);
5001 4994
 		}
5002 4995
 
5003 4996
 		$readonlys = array();
@@ -5005,7 +4998,7 @@  discard block
 block discarded – undo
5005 4998
 		$preserv = array(
5006 4999
 			'acc_id' => $content['acc_id'] // preserve acc id to be used in client-side
5007 5000
 		);
5008
-		$dtmpl->exec('mail.mail_ui.folderManagement', $content,$sel_options,$readonlys,$preserv,2);
5001
+		$dtmpl->exec('mail.mail_ui.folderManagement', $content, $sel_options, $readonlys, $preserv, 2);
5009 5002
 	}
5010 5003
 
5011 5004
 	/**
@@ -5015,11 +5008,11 @@  discard block
 block discarded – undo
5015 5008
 	 *
5016 5009
 	 * @param type $_folderName
5017 5010
 	 */
5018
-	function ajax_folderMgmt_delete ($_folderName)
5011
+	function ajax_folderMgmt_delete($_folderName)
5019 5012
 	{
5020 5013
 		if ($_folderName)
5021 5014
 		{
5022
-			$success = $this->ajax_deleteFolder($_folderName,true);
5015
+			$success = $this->ajax_deleteFolder($_folderName, true);
5023 5016
 			$response = Api\Json\Response::get();
5024 5017
 			list(,$folderName) = explode(self::$delimiter, $_folderName);
5025 5018
 			if ($success)
@@ -5028,7 +5021,7 @@  discard block
 block discarded – undo
5028 5021
 			}
5029 5022
 			else
5030 5023
 			{
5031
-				$res = lang("Failed to delete %1",$folderName);
5024
+				$res = lang("Failed to delete %1", $folderName);
5032 5025
 			}
5033 5026
 			$response->data($res);
5034 5027
 		}
Please login to merge, or discard this patch.
api/src/Mail.php 1 patch
Spacing   +1132 added lines, -1133 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
@@ -131,9 +131,9 @@  discard block
 block discarded – undo
131 131
 	static $htmLawed_config = array('comment'=>1, //remove comments
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
-		'balance'=>1,//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)
134
+		'balance'=>1, //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 135
 		'direct_list_nest' => 1,
136
-		'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
136
+		'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 137
 		// tidy eats away even some wanted whitespace, so we switch it off;
138 138
 		// we used it for its compacting and beautifying capabilities, which resulted in better html for further processing
139 139
 		'tidy'=>0,
@@ -148,13 +148,13 @@  discard block
 block discarded – undo
148 148
 	 *
149 149
 	 * @array
150 150
 	 */
151
-	static $aclShortCuts = array('' => array('label'=>'none','title'=>'The user has no rights whatsoever.'),
152
-		'lrs'		=> array('label'=>'readable','title'=>'Allows a user to read the contents of the mailbox.'),
153
-		'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.'),
154
-		'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.'),
155
-		'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.'),
156
-		'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.'),
157
-		'custom'	=> array('label'=>'custom','title'=>'User defined combination of rights for the ACL'),
151
+	static $aclShortCuts = array('' => array('label'=>'none', 'title'=>'The user has no rights whatsoever.'),
152
+		'lrs'		=> array('label'=>'readable', 'title'=>'Allows a user to read the contents of the mailbox.'),
153
+		'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.'),
154
+		'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.'),
155
+		'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.'),
156
+		'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.'),
157
+		'custom'	=> array('label'=>'custom', 'title'=>'User defined combination of rights for the ACL'),
158 158
 	);
159 159
 
160 160
 	/**
@@ -196,27 +196,27 @@  discard block
 block discarded – undo
196 196
 	 * @param boolean $_reuseCache = null if null it is set to the value of $_restoreSession
197 197
 	 * @return Mail
198 198
 	 */
199
-	public static function getInstance($_restoreSession=true, &$_profileID=0, $_validate=true, $_oldImapServerObject=false, $_reuseCache=null)
199
+	public static function getInstance($_restoreSession = true, &$_profileID = 0, $_validate = true, $_oldImapServerObject = false, $_reuseCache = null)
200 200
 	{
201 201
 		//$_restoreSession=false;
202 202
 		if (is_null($_reuseCache)) $_reuseCache = $_restoreSession;
203 203
 		//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());
204 204
 		//error_log(__METHOD__.' ('.__LINE__.') '.array2string($_oldImapServerObject));
205
-		if (isset(self::$profileDefunct[$_profileID]) && self::$profileDefunct[$_profileID]===true)
205
+		if (isset(self::$profileDefunct[$_profileID]) && self::$profileDefunct[$_profileID] === true)
206 206
 		{
207
-			throw new Exception(__METHOD__." failed to instanciate Mail for $_profileID / ".$this->profileID." with error:".$e->getMessage().($e->details?', '.$e->details:''));
207
+			throw new Exception(__METHOD__." failed to instanciate Mail for $_profileID / ".$this->profileID." with error:".$e->getMessage().($e->details ? ', '.$e->details : ''));
208 208
 		}
209 209
 		if ($_oldImapServerObject instanceof Mail\Imap)
210 210
 		{
211 211
 			if (!is_object(self::$instances[$_profileID]))
212 212
 			{
213
-				self::$instances[$_profileID] = new Mail('utf-8',false,$_profileID,false,$_reuseCache);
213
+				self::$instances[$_profileID] = new Mail('utf-8', false, $_profileID, false, $_reuseCache);
214 214
 			}
215 215
 			self::$instances[$_profileID]->icServer = $_oldImapServerObject;
216
-			self::$instances[$_profileID]->accountid= $_oldImapServerObject->ImapServerId;
217
-			self::$instances[$_profileID]->profileID= $_oldImapServerObject->ImapServerId;
216
+			self::$instances[$_profileID]->accountid = $_oldImapServerObject->ImapServerId;
217
+			self::$instances[$_profileID]->profileID = $_oldImapServerObject->ImapServerId;
218 218
 			self::$instances[$_profileID]->mailPreferences = $GLOBALS['egw_info']['user']['preferences']['mail'];
219
-			self::$instances[$_profileID]->htmlOptions  = self::$instances[$_profileID]->mailPreferences['htmlOptions'];
219
+			self::$instances[$_profileID]->htmlOptions = self::$instances[$_profileID]->mailPreferences['htmlOptions'];
220 220
 			return self::$instances[$_profileID];
221 221
 		}
222 222
 		if ($_profileID == 0)
@@ -229,14 +229,14 @@  discard block
 block discarded – undo
229 229
 			{
230 230
 				$profileID = Mail\Account::get_default_acc_id();
231 231
 			}
232
-			if ($profileID!=$_profileID) $_restoreSession==false;
233
-			$_profileID=$profileID;
232
+			if ($profileID != $_profileID) $_restoreSession == false;
233
+			$_profileID = $profileID;
234 234
 			if (self::$debug) error_log(__METHOD__.' ('.__LINE__.') '.' called with profileID==0 using '.$profileID.' instead->'.function_backtrace());
235 235
 		}
236 236
 		// no validation or restoreSession for old ImapServer Object, just fetch it and return it
237
-		if ($_oldImapServerObject===true)
237
+		if ($_oldImapServerObject === true)
238 238
 		{
239
-			return new Mail('utf-8',false,$_profileID,true,$_reuseCache);
239
+			return new Mail('utf-8', false, $_profileID, true, $_reuseCache);
240 240
 		}
241 241
 		if ($_profileID != 0 && $_validate)
242 242
 		{
@@ -256,9 +256,9 @@  discard block
 block discarded – undo
256 256
 			//Cache::setSession('mail','activeProfileID',$_profileID);
257 257
 		}
258 258
 		//error_log(__METHOD__.' ('.__LINE__.') '.' RestoreSession:'.$_restoreSession.' ProfileId:'.$_profileID.' called from:'.function_backtrace());
259
-		if ($_profileID && (!isset(self::$instances[$_profileID]) || $_restoreSession===false))
259
+		if ($_profileID && (!isset(self::$instances[$_profileID]) || $_restoreSession === false))
260 260
 		{
261
-			self::$instances[$_profileID] = new Mail('utf-8',$_restoreSession,$_profileID,false,$_reuseCache);
261
+			self::$instances[$_profileID] = new Mail('utf-8', $_restoreSession, $_profileID, false, $_reuseCache);
262 262
 		}
263 263
 		else
264 264
 		{
@@ -269,7 +269,7 @@  discard block
 block discarded – undo
269 269
 				self::$instances[$_profileID]->ogServer = Mail\Account::read($_profileID)->smtpServer();
270 270
 				// TODO: merge mailprefs into userprefs, for easy treatment
271 271
 				self::$instances[$_profileID]->mailPreferences = $GLOBALS['egw_info']['user']['preferences']['mail'];
272
-				self::$instances[$_profileID]->htmlOptions  = self::$instances[$_profileID]->mailPreferences['htmlOptions'];
272
+				self::$instances[$_profileID]->htmlOptions = self::$instances[$_profileID]->mailPreferences['htmlOptions'];
273 273
 			} catch (\Exception $e)
274 274
 			{
275 275
 				$newprofileID = Mail\Account::get_default_acc_id();
@@ -277,15 +277,15 @@  discard block
 block discarded – undo
277 277
 				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());
278 278
 				if ($newprofileID)
279 279
 				{
280
-					self::$instances[$newprofileID] = new Mail('utf-8',false,$newprofileID,false,$_reuseCache);
280
+					self::$instances[$newprofileID] = new Mail('utf-8', false, $newprofileID, false, $_reuseCache);
281 281
 					$_profileID = $newprofileID;
282 282
 				}
283 283
 				else
284 284
 				{
285
-					throw new Exception(__METHOD__." failed to load the Profile for ProfileID for $_profileID / ".$this->profileID." with error:".$e->getMessage().($e->details?', '.$e->details:''));
285
+					throw new Exception(__METHOD__." failed to load the Profile for ProfileID for $_profileID / ".$this->profileID." with error:".$e->getMessage().($e->details ? ', '.$e->details : ''));
286 286
 				}
287 287
 			}
288
-			self::storeActiveProfileIDToPref(self::$instances[$_profileID]->icServer, $_profileID, $_validate );
288
+			self::storeActiveProfileIDToPref(self::$instances[$_profileID]->icServer, $_profileID, $_validate);
289 289
 		}
290 290
 		self::$instances[$_profileID]->profileID = $_profileID;
291 291
 		if (!isset(self::$instances[$_profileID]->idna2)) self::$instances[$_profileID]->idna2 = new Horde_Idna;
@@ -301,7 +301,7 @@  discard block
 block discarded – undo
301 301
 	 * @param boolean $_testConnection = 0
302 302
 	 * @return mixed $_profileID or false on failed ConnectionTest
303 303
 	 */
304
-	public static function storeActiveProfileIDToPref($_icServerObject, $_profileID=0, $_testConnection=true)
304
+	public static function storeActiveProfileIDToPref($_icServerObject, $_profileID = 0, $_testConnection = true)
305 305
 	{
306 306
 		if (isset($GLOBALS['egw_info']['user']['preferences']['mail']['ActiveProfileID']) && !empty($GLOBALS['egw_info']['user']['preferences']['mail']['ActiveProfileID']))
307 307
 		{
@@ -322,12 +322,12 @@  discard block
 block discarded – undo
322 322
 		}
323 323
 		if ($oldProfileID != $_profileID)
324 324
 		{
325
-			if ($oldProfileID && $_profileID==0) $_profileID = $oldProfileID;
326
-			$GLOBALS['egw']->preferences->add('mail','ActiveProfileID',$_profileID,'user');
325
+			if ($oldProfileID && $_profileID == 0) $_profileID = $oldProfileID;
326
+			$GLOBALS['egw']->preferences->add('mail', 'ActiveProfileID', $_profileID, 'user');
327 327
 			// save prefs
328 328
 			$GLOBALS['egw']->preferences->save_repository(true);
329 329
 			$GLOBALS['egw_info']['user']['preferences']['mail']['ActiveProfileID'] = $_profileID;
330
-			Cache::setSession('mail','activeProfileID',$_profileID);
330
+			Cache::setSession('mail', 'activeProfileID', $_profileID);
331 331
 		}
332 332
 		return $_profileID;
333 333
 	}
@@ -342,7 +342,7 @@  discard block
 block discarded – undo
342 342
 	 * @param int $_acc_id = 0
343 343
 	 * @return int validated acc_id -> either acc_id given, or first valid one
344 344
 	 */
345
-	public static function validateProfileID($_acc_id=0)
345
+	public static function validateProfileID($_acc_id = 0)
346 346
 	{
347 347
 		if ($_acc_id)
348 348
 		{
@@ -361,7 +361,7 @@  discard block
 block discarded – undo
361 361
 		}
362 362
 		// no account specified or specified account not found or not valid
363 363
 		// --> search existing account for first valid one and return that
364
-		foreach(Mail\Account::search($only_current_user=true, 'acc_imap_host') as $acc_id => $imap_host)
364
+		foreach (Mail\Account::search($only_current_user = true, 'acc_imap_host') as $acc_id => $imap_host)
365 365
 		{
366 366
 			if (!empty($imap_host) && ($account = Mail\Account::read($acc_id)) && $account->is_imap())
367 367
 			{
@@ -383,7 +383,7 @@  discard block
 block discarded – undo
383 383
 	 * @param boolean $_oldImapServerObject = false
384 384
 	 * @param boolean $_reuseCache = null if null it is set to the value of $_restoreSession
385 385
 	 */
386
-	private function __construct($_displayCharset='utf-8',$_restoreSession=true, $_profileID=0, $_oldImapServerObject=false, $_reuseCache=null)
386
+	private function __construct($_displayCharset = 'utf-8', $_restoreSession = true, $_profileID = 0, $_oldImapServerObject = false, $_reuseCache = null)
387 387
 	{
388 388
 		if (is_null($_reuseCache)) $_reuseCache = $_restoreSession;
389 389
 		if (!empty($_displayCharset)) self::$displayCharset = $_displayCharset;
@@ -403,7 +403,7 @@  discard block
 block discarded – undo
403 403
 			$firstMessage = $this->sessionData['previewMessage'];
404 404
 			$this->sessionData = array();
405 405
 		}
406
-		if (!$_reuseCache) $this->forcePrefReload($_profileID,!$_reuseCache);
406
+		if (!$_reuseCache) $this->forcePrefReload($_profileID, !$_reuseCache);
407 407
 		try
408 408
 		{
409 409
 			$this->profileID = self::validateProfileID($_profileID);
@@ -417,11 +417,11 @@  discard block
 block discarded – undo
417 417
 			throw new Exception(__METHOD__." failed to instanciate Mail for $_profileID / ".$this->profileID." with error:".$e->getMessage());
418 418
 		}
419 419
 		//error_log(__METHOD__.' ('.__LINE__.') '.array2string($acc->imapServer()));
420
-		$this->icServer = ($_oldImapServerObject?$acc->oldImapServer():$acc->imapServer());
420
+		$this->icServer = ($_oldImapServerObject ? $acc->oldImapServer() : $acc->imapServer());
421 421
 		$this->ogServer = $acc->smtpServer();
422 422
 		// TODO: merge mailprefs into userprefs, for easy treatment
423 423
 		$this->mailPreferences = $GLOBALS['egw_info']['user']['preferences']['mail'];
424
-		$this->htmlOptions  = $this->mailPreferences['htmlOptions'];
424
+		$this->htmlOptions = $this->mailPreferences['htmlOptions'];
425 425
 		if (isset($this->icServer->ImapServerId) && !empty($this->icServer->ImapServerId))
426 426
 		{
427 427
 			$_profileID = $this->profileID = $GLOBALS['egw_info']['user']['preferences']['mail']['ActiveProfileID'] = $this->icServer->ImapServerId;
@@ -439,7 +439,7 @@  discard block
 block discarded – undo
439 439
 	public static function &forceEAProfileLoad($_profile_id)
440 440
 	{
441 441
 		self::unsetCachedObjects($_profile_id);
442
-		$mail = self::getInstance(false, $_profile_id,false);
442
+		$mail = self::getInstance(false, $_profile_id, false);
443 443
 		//_debug_array( $_profile_id);
444 444
 		$mail->icServer = Mail\Account::read($_profile_id)->imapServer();
445 445
 		$mail->ogServer = Mail\Account::read($_profile_id)->smtpServer();
@@ -451,11 +451,11 @@  discard block
 block discarded – undo
451 451
 	 * @param int $_profile_id
452 452
 	 * @param boolean $_resetFolderObjects
453 453
 	 */
454
-	public static function forcePrefReload($_profile_id=null,$_resetFolderObjects=true)
454
+	public static function forcePrefReload($_profile_id = null, $_resetFolderObjects = true)
455 455
 	{
456 456
 		// unset the mail_preferences session object, to force the reload/rebuild
457
-		Cache::setSession('mail','mail_preferences',serialize(array()));
458
-		Cache::setSession('emailadmin','session_data',serialize(array()));
457
+		Cache::setSession('mail', 'mail_preferences', serialize(array()));
458
+		Cache::setSession('emailadmin', 'session_data', serialize(array()));
459 459
 		if ($_resetFolderObjects) self::resetFolderObjectCache($_profile_id);
460 460
 	}
461 461
 
@@ -464,8 +464,8 @@  discard block
 block discarded – undo
464 464
 	 */
465 465
 	function restoreSessionData()
466 466
 	{
467
-		$this->sessionData = array();//Cache::getCache(Cache::SESSION,'mail','session_data',$callback=null,$callback_params=array(),$expiration=60*60*1);
468
-		self::$activeFolderCache = Cache::getCache(Cache::INSTANCE,'email','activeMailbox'.trim($GLOBALS['egw_info']['user']['account_id']),null,array(),60*60*10);
467
+		$this->sessionData = array(); //Cache::getCache(Cache::SESSION,'mail','session_data',$callback=null,$callback_params=array(),$expiration=60*60*1);
468
+		self::$activeFolderCache = Cache::getCache(Cache::INSTANCE, 'email', 'activeMailbox'.trim($GLOBALS['egw_info']['user']['account_id']), null, array(), 60 * 60 * 10);
469 469
 		if (!empty(self::$activeFolderCache[$this->profileID])) $this->sessionData['mailbox'] = self::$activeFolderCache[$this->profileID];
470 470
 	}
471 471
 
@@ -475,10 +475,10 @@  discard block
 block discarded – undo
475 475
 	function saveSessionData()
476 476
 	{
477 477
 		//error_log(__METHOD__.' ('.__LINE__.') '.array2string(array_keys($this->sessionData)));
478
-		if (!empty($this->sessionData['mailbox'])) self::$activeFolderCache[$this->profileID]=$this->sessionData['mailbox'];
478
+		if (!empty($this->sessionData['mailbox'])) self::$activeFolderCache[$this->profileID] = $this->sessionData['mailbox'];
479 479
 		if (isset(self::$activeFolderCache) && is_array(self::$activeFolderCache))
480 480
 		{
481
-			Cache::setCache(Cache::INSTANCE,'email','activeMailbox'.trim($GLOBALS['egw_info']['user']['account_id']),self::$activeFolderCache, 60*60*10);
481
+			Cache::setCache(Cache::INSTANCE, 'email', 'activeMailbox'.trim($GLOBALS['egw_info']['user']['account_id']), self::$activeFolderCache, 60 * 60 * 10);
482 482
 		}
483 483
 	}
484 484
 
@@ -494,40 +494,40 @@  discard block
 block discarded – undo
494 494
 	 * @param int $_profileID = null default profile of user as returned by getUserDefaultProfileID
495 495
 	 * @return void
496 496
 	 */
497
-	static function unsetCachedObjects($_profileID=null)
497
+	static function unsetCachedObjects($_profileID = null)
498 498
 	{
499 499
 		if (is_null($_profileID)) $_profileID = Mail\Account::get_default_acc_id();
500 500
 		if (is_array($_profileID) && $_profileID['account_id']) $account_id = $_profileID['account_id'];
501 501
 		//error_log(__METHOD__.__LINE__.' called with ProfileID:'.array2string($_profileID).' from '.function_backtrace());
502
-		if (!is_array($_profileID) && (is_numeric($_profileID) || !(stripos($_profileID,'tracker_')===false)))
502
+		if (!is_array($_profileID) && (is_numeric($_profileID) || !(stripos($_profileID, 'tracker_') === false)))
503 503
 		{
504 504
 			self::resetConnectionErrorCache($_profileID);
505
-			$rawHeadersCache = Cache::getCache(Cache::INSTANCE,'email','rawHeadersCache'.trim($account_id),$callback=null,$callback_params=array(),$expiration=60*60*1);
505
+			$rawHeadersCache = Cache::getCache(Cache::INSTANCE, 'email', 'rawHeadersCache'.trim($account_id), $callback = null, $callback_params = array(), $expiration = 60 * 60 * 1);
506 506
 			if (isset($rawHeadersCache[$_profileID]))
507 507
 			{
508 508
 				unset($rawHeadersCache[$_profileID]);
509
-				Cache::setCache(Cache::INSTANCE,'email','rawHeadersCache'.trim($account_id),$rawHeadersCache, $expiration=60*60*1);
509
+				Cache::setCache(Cache::INSTANCE, 'email', 'rawHeadersCache'.trim($account_id), $rawHeadersCache, $expiration = 60 * 60 * 1);
510 510
 			}
511
-			$HierarchyDelimiterCache = Cache::getCache(Cache::INSTANCE,'email','HierarchyDelimiter'.trim($account_id),$callback=null,$callback_params=array(),$expiration=60*60*24*5);
511
+			$HierarchyDelimiterCache = Cache::getCache(Cache::INSTANCE, 'email', 'HierarchyDelimiter'.trim($account_id), $callback = null, $callback_params = array(), $expiration = 60 * 60 * 24 * 5);
512 512
 			if (isset($HierarchyDelimiterCache[$_profileID]))
513 513
 			{
514 514
 				unset($HierarchyDelimiterCache[$_profileID]);
515
-				Cache::setCache(Cache::INSTANCE,'email','HierarchyDelimiter'.trim($account_id),$HierarchyDelimiterCache, $expiration=60*60*24*5);
515
+				Cache::setCache(Cache::INSTANCE, 'email', 'HierarchyDelimiter'.trim($account_id), $HierarchyDelimiterCache, $expiration = 60 * 60 * 24 * 5);
516 516
 			}
517 517
 			//reset folderObject cache, to trigger reload
518 518
 			self::resetFolderObjectCache($_profileID);
519 519
 			//reset counter of deleted messages per folder
520
-			$eMailListContainsDeletedMessages = Cache::getCache(Cache::INSTANCE,'email','eMailListContainsDeletedMessages'.trim($account_id),$callback=null,$callback_params=array(),$expiration=60*60*1);
520
+			$eMailListContainsDeletedMessages = Cache::getCache(Cache::INSTANCE, 'email', 'eMailListContainsDeletedMessages'.trim($account_id), $callback = null, $callback_params = array(), $expiration = 60 * 60 * 1);
521 521
 			if (isset($eMailListContainsDeletedMessages[$_profileID]))
522 522
 			{
523 523
 				unset($eMailListContainsDeletedMessages[$_profileID]);
524
-				Cache::setCache(Cache::INSTANCE,'email','eMailListContainsDeletedMessages'.trim($account_id),$eMailListContainsDeletedMessages, $expiration=60*60*1);
524
+				Cache::setCache(Cache::INSTANCE, 'email', 'eMailListContainsDeletedMessages'.trim($account_id), $eMailListContainsDeletedMessages, $expiration = 60 * 60 * 1);
525 525
 			}
526
-			$vacationCached = Cache::getCache(Cache::INSTANCE, 'email', 'vacationNotice'.trim($account_id),$callback=null,$callback_params=array(),$expiration=60*60*24*1);
526
+			$vacationCached = Cache::getCache(Cache::INSTANCE, 'email', 'vacationNotice'.trim($account_id), $callback = null, $callback_params = array(), $expiration = 60 * 60 * 24 * 1);
527 527
 			if (isset($vacationCached[$_profileID]))
528 528
 			{
529 529
 				unset($vacationCached[$_profileID]);
530
-				Cache::setCache(Cache::INSTANCE,'email','vacationNotice'.trim($account_id),$vacationCached, $expiration=60*60*24*1);
530
+				Cache::setCache(Cache::INSTANCE, 'email', 'vacationNotice'.trim($account_id), $vacationCached, $expiration = 60 * 60 * 24 * 1);
531 531
 			}
532 532
 
533 533
 			if (isset(self::$instances[$_profileID])) unset(self::$instances[$_profileID]);
@@ -535,17 +535,17 @@  discard block
 block discarded – undo
535 535
 		if (is_array($_profileID) && $_profileID['location'] == 'clear_cache')
536 536
 		{
537 537
 			// called via hook
538
-			foreach($GLOBALS['egw']->accounts->search(array('type' => 'accounts','order' => 'account_lid')) as $account)
538
+			foreach ($GLOBALS['egw']->accounts->search(array('type' => 'accounts', 'order' => 'account_lid')) as $account)
539 539
 			{
540 540
 				//error_log(__METHOD__.__LINE__.array2string($account));
541 541
 				$account_id = $account['account_id'];
542 542
 				$_profileID = null;
543
-				self::resetConnectionErrorCache($_profileID,$account_id);
544
-				self::resetFolderObjectCache($_profileID,$account_id);
545
-				Cache::setCache(Cache::INSTANCE,'email','rawHeadersCache'.trim($account_id),array(), 60*60*1);
546
-				Cache::setCache(Cache::INSTANCE,'email','HierarchyDelimiter'.trim($account_id),array(), 60*60*24*5);
547
-				Cache::setCache(Cache::INSTANCE,'email','eMailListContainsDeletedMessages'.trim($account_id),array(), 60*60*1);
548
-				Cache::setCache(Cache::INSTANCE,'email','vacationNotice'.trim($account_id),array(), 60*60*24*1);
543
+				self::resetConnectionErrorCache($_profileID, $account_id);
544
+				self::resetFolderObjectCache($_profileID, $account_id);
545
+				Cache::setCache(Cache::INSTANCE, 'email', 'rawHeadersCache'.trim($account_id), array(), 60 * 60 * 1);
546
+				Cache::setCache(Cache::INSTANCE, 'email', 'HierarchyDelimiter'.trim($account_id), array(), 60 * 60 * 24 * 5);
547
+				Cache::setCache(Cache::INSTANCE, 'email', 'eMailListContainsDeletedMessages'.trim($account_id), array(), 60 * 60 * 1);
548
+				Cache::setCache(Cache::INSTANCE, 'email', 'vacationNotice'.trim($account_id), array(), 60 * 60 * 24 * 1);
549 549
 			}
550 550
 		}
551 551
 	}
@@ -556,7 +556,7 @@  discard block
 block discarded – undo
556 556
 	 * @param int $_ImapServerId the profileID to look for
557 557
 	 * @param int $account_id the egw account to look for
558 558
 	 */
559
-	static function resetConnectionErrorCache($_ImapServerId=null,$account_id=null)
559
+	static function resetConnectionErrorCache($_ImapServerId = null, $account_id = null)
560 560
 	{
561 561
 		//error_log(__METHOD__.' ('.__LINE__.') '.' for Profile:'.array2string($_ImapServerId) .' for user:'.trim($account_id));
562 562
 		if (is_null($account_id)) $account_id = $GLOBALS['egw_info']['user']['account_id'];
@@ -574,19 +574,19 @@  discard block
 block discarded – undo
574 574
 		}
575 575
 		else
576 576
 		{
577
-			$isConError = Cache::getCache(Cache::INSTANCE,'email','icServerSIEVE_connectionError'.trim($account_id));
577
+			$isConError = Cache::getCache(Cache::INSTANCE, 'email', 'icServerSIEVE_connectionError'.trim($account_id));
578 578
 			if (isset($isConError[$_ImapServerId]))
579 579
 			{
580 580
 				unset($isConError[$_ImapServerId]);
581 581
 			}
582
-			$waitOnFailure = Cache::getCache(Cache::INSTANCE,'email','ActiveSyncWaitOnFailure'.trim($account_id),null,array(),60*60*2);
582
+			$waitOnFailure = Cache::getCache(Cache::INSTANCE, 'email', 'ActiveSyncWaitOnFailure'.trim($account_id), null, array(), 60 * 60 * 2);
583 583
 			if (isset($waitOnFailure[$_ImapServerId]))
584 584
 			{
585 585
 				unset($waitOnFailure[$_ImapServerId]);
586 586
 			}
587 587
 		}
588
-		Cache::setCache(Cache::INSTANCE,'email','icServerSIEVE_connectionError'.trim($account_id),$isConError,60*15);
589
-		Cache::setCache(Cache::INSTANCE,'email','ActiveSyncWaitOnFailure'.trim($account_id),$waitOnFailure,60*60*2);
588
+		Cache::setCache(Cache::INSTANCE, 'email', 'icServerSIEVE_connectionError'.trim($account_id), $isConError, 60 * 15);
589
+		Cache::setCache(Cache::INSTANCE, 'email', 'ActiveSyncWaitOnFailure'.trim($account_id), $waitOnFailure, 60 * 60 * 2);
590 590
 	}
591 591
 
592 592
 	/**
@@ -595,13 +595,13 @@  discard block
 block discarded – undo
595 595
 	 * @param int $_ImapServerId the profileID to look for
596 596
 	 * @param int $account_id the egw account to look for
597 597
 	 */
598
-	static function resetFolderObjectCache($_ImapServerId=null,$account_id=null)
598
+	static function resetFolderObjectCache($_ImapServerId = null, $account_id = null)
599 599
 	{
600 600
 		//error_log(__METHOD__.' ('.__LINE__.') '.' called for Profile:'.array2string($_ImapServerId).'->'.function_backtrace());
601 601
 		if (is_null($account_id)) $account_id = $GLOBALS['egw_info']['user']['account_id'];
602 602
 		// on [location] => verify_settings we coud either use [prefs] => Array([ActiveProfileID] => 9, .. as $_ImapServerId
603 603
 		// or treat it as not given. we try that path
604
-		if (is_null($_ImapServerId)||is_array($_ImapServerId))
604
+		if (is_null($_ImapServerId) || is_array($_ImapServerId))
605 605
 		{
606 606
 			$folders2return = array();
607 607
 			$folderInfo = array();
@@ -610,12 +610,12 @@  discard block
 block discarded – undo
610 610
 		}
611 611
 		else
612 612
 		{
613
-			$folders2return = Cache::getCache(Cache::INSTANCE,'email','folderObjects'.trim($account_id),null,array(),60*60*1);
613
+			$folders2return = Cache::getCache(Cache::INSTANCE, 'email', 'folderObjects'.trim($account_id), null, array(), 60 * 60 * 1);
614 614
 			if (!empty($folders2return) && isset($folders2return[$_ImapServerId]))
615 615
 			{
616 616
 				unset($folders2return[$_ImapServerId]);
617 617
 			}
618
-			$folderInfo = Cache::getCache(Cache::INSTANCE,'email','icServerFolderExistsInfo'.trim($account_id),null,array(),60*60*5);
618
+			$folderInfo = Cache::getCache(Cache::INSTANCE, 'email', 'icServerFolderExistsInfo'.trim($account_id), null, array(), 60 * 60 * 5);
619 619
 			if (!empty($folderInfo) && isset($folderInfo[$_ImapServerId]))
620 620
 			{
621 621
 				unset($folderInfo[$_ImapServerId]);
@@ -627,23 +627,23 @@  discard block
 block discarded – undo
627 627
 				unset($lastFolderUsedForMove[$_ImapServerId]);
628 628
 			}
629 629
 			*/
630
-			$folderBasicInfo = Cache::getCache(Cache::INSTANCE,'email','folderBasicInfo'.trim($account_id),null,array(),60*60*1);
630
+			$folderBasicInfo = Cache::getCache(Cache::INSTANCE, 'email', 'folderBasicInfo'.trim($account_id), null, array(), 60 * 60 * 1);
631 631
 			if (!empty($folderBasicInfo) && isset($folderBasicInfo[$_ImapServerId]))
632 632
 			{
633 633
 				unset($folderBasicInfo[$_ImapServerId]);
634 634
 			}
635
-			$_specialUseFolders = Cache::getCache(Cache::INSTANCE,'email','specialUseFolders'.trim($account_id),null,array(),60*60*12);
635
+			$_specialUseFolders = Cache::getCache(Cache::INSTANCE, 'email', 'specialUseFolders'.trim($account_id), null, array(), 60 * 60 * 12);
636 636
 			if (!empty($_specialUseFolders) && isset($_specialUseFolders[$_ImapServerId]))
637 637
 			{
638 638
 				unset($_specialUseFolders[$_ImapServerId]);
639
-				self::$specialUseFolders=null;
639
+				self::$specialUseFolders = null;
640 640
 			}
641 641
 		}
642
-		Cache::setCache(Cache::INSTANCE,'email','folderObjects'.trim($account_id),$folders2return, 60*60*1);
643
-		Cache::setCache(Cache::INSTANCE,'email','icServerFolderExistsInfo'.trim($account_id),$folderInfo,60*60*5);
642
+		Cache::setCache(Cache::INSTANCE, 'email', 'folderObjects'.trim($account_id), $folders2return, 60 * 60 * 1);
643
+		Cache::setCache(Cache::INSTANCE, 'email', 'icServerFolderExistsInfo'.trim($account_id), $folderInfo, 60 * 60 * 5);
644 644
 		//Cache::setCache(Cache::INSTANCE,'email','lastFolderUsedForMove'.trim($account_id),$lastFolderUsedForMove,$expiration=60*60*1);
645
-		Cache::setCache(Cache::INSTANCE,'email','folderBasicInfo'.trim($account_id),$folderBasicInfo,60*60*1);
646
-		Cache::setCache(Cache::INSTANCE,'email','specialUseFolders'.trim($account_id),$_specialUseFolders,60*60*12);
645
+		Cache::setCache(Cache::INSTANCE, 'email', 'folderBasicInfo'.trim($account_id), $folderBasicInfo, 60 * 60 * 1);
646
+		Cache::setCache(Cache::INSTANCE, 'email', 'specialUseFolders'.trim($account_id), $_specialUseFolders, 60 * 60 * 12);
647 647
 	}
648 648
 
649 649
 	/**
@@ -664,15 +664,15 @@  discard block
 block discarded – undo
664 664
 	 * @param string $_profileID the ID of the mailaccount to check for identities, if null current mail-account is used
665 665
 	 * @return array - array(email=>realname)
666 666
 	 */
667
-	function getUserEMailAddresses($_profileID=null)
667
+	function getUserEMailAddresses($_profileID = null)
668 668
 	{
669
-		$acc = Mail\Account::read((!empty($_profileID)?$_profileID:$this->profileID));
669
+		$acc = Mail\Account::read((!empty($_profileID) ? $_profileID : $this->profileID));
670 670
 		//error_log(__METHOD__.' ('.__LINE__.') '.':'.array2string($acc));
671 671
 		$identities = Mail\Account::identities($acc);
672 672
 
673 673
 		$userEMailAdresses = array($acc['ident_email']=>$acc['ident_realname']);
674 674
 
675
-		foreach($identities as $ik => $ident) {
675
+		foreach ($identities as $ik => $ident) {
676 676
 			//error_log(__METHOD__.' ('.__LINE__.') '.':'.$ik.'->'.array2string($ident));
677 677
 			$identity = Mail\Account::read_identity($ik);
678 678
 			if (!empty($identity['ident_email']) && !isset($userEMailAdresses[$identity['ident_email']])) $userEMailAdresses[$identity['ident_email']] = $identity['ident_realname'];
@@ -687,19 +687,19 @@  discard block
 block discarded – undo
687 687
 	 * @param boolean $resolve_placeholders wether or not resolve possible placeholders in identities
688 688
 	 * @return array - array(email=>realname)
689 689
 	 */
690
-	static function getAllIdentities($_accountToSearch=null,$resolve_placeholders=false)
690
+	static function getAllIdentities($_accountToSearch = null, $resolve_placeholders = false)
691 691
 	{
692 692
 		$userEMailAdresses = array();
693
-		foreach(Mail\Account::search($only_current_user=($_accountToSearch?$_accountToSearch:true), $just_name=true) as $acc_id => $identity_name)
693
+		foreach (Mail\Account::search($only_current_user = ($_accountToSearch ? $_accountToSearch : true), $just_name = true) as $acc_id => $identity_name)
694 694
 		{
695
-			$acc = Mail\Account::read($acc_id,($_accountToSearch?$_accountToSearch:null));
696
-			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']);
695
+			$acc = Mail\Account::read($acc_id, ($_accountToSearch ? $_accountToSearch : null));
696
+			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 697
 
698
-			foreach(Mail\Account::identities($acc) as $ik => $ident) {
698
+			foreach (Mail\Account::identities($acc) as $ik => $ident) {
699 699
 				//error_log(__METHOD__.' ('.__LINE__.') '.':'.$ik.'->'.array2string($ident));
700
-				$identity = Mail\Account::read_identity($ik,$resolve_placeholders);
700
+				$identity = Mail\Account::read_identity($ik, $resolve_placeholders);
701 701
 				//error_log(__METHOD__.' ('.__LINE__.') '.':'.$ik.'->'.array2string($identity));
702
-				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']);
702
+				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']);
703 703
 			}
704 704
 		}
705 705
 		//error_log(__METHOD__.' ('.__LINE__.') '.array2string($userEMailAdresses));
@@ -719,9 +719,9 @@  discard block
 block discarded – undo
719 719
 			$account = Mail\Account::read($account);
720 720
 		}
721 721
 		$userEMailAdresses = array();
722
-		foreach(Mail\Account::identities($account, true, 'params') as $ik => $ident) {
722
+		foreach (Mail\Account::identities($account, true, 'params') as $ik => $ident) {
723 723
 			//error_log(__METHOD__.' ('.__LINE__.') '.':'.$ik.'->'.array2string($ident));
724
-			$identity = Mail\Account::read_identity($ik,true,null,$account);
724
+			$identity = Mail\Account::read_identity($ik, true, null, $account);
725 725
 			//error_log(__METHOD__.' ('.__LINE__.') '.':'.$ik.'->'.array2string($identity));
726 726
 			// standardIdentity has ident_id==acc_id (as it is done within account->identities)
727 727
 			if (empty($identity['ident_id'])) $identity['ident_id'] = $identity['acc_id'];
@@ -748,9 +748,9 @@  discard block
 block discarded – undo
748 748
 	function getDefaultIdentity()
749 749
 	{
750 750
 		// retrieve the signature accociated with the identity
751
-		$id = $this->getIdentitiesWithAccounts($_accountData=array());
752
-		foreach(Mail\Account::identities($_accountData[$this->profileID] ?
753
-			$this->profileID : $_accountData[$id],false,'ident_id') as $accountData)
751
+		$id = $this->getIdentitiesWithAccounts($_accountData = array());
752
+		foreach (Mail\Account::identities($_accountData[$this->profileID] ?
753
+			$this->profileID : $_accountData[$id], false, 'ident_id') as $accountData)
754 754
 		{
755 755
 			return $accountData;
756 756
 		}
@@ -766,13 +766,13 @@  discard block
 block discarded – undo
766 766
 	{
767 767
 		// account select box
768 768
 		$selectedID = $this->profileID;
769
-		$allAccountData = Mail\Account::search($only_current_user=true, false, null);
769
+		$allAccountData = Mail\Account::search($only_current_user = true, false, null);
770 770
 		if ($allAccountData) {
771
-			$rememberFirst=$selectedFound=null;
771
+			$rememberFirst = $selectedFound = null;
772 772
 			foreach ($allAccountData as $tmpkey => $icServers)
773 773
 			{
774 774
 				if (is_null($rememberFirst)) $rememberFirst = $tmpkey;
775
-				if ($tmpkey == $selectedID) $selectedFound=true;
775
+				if ($tmpkey == $selectedID) $selectedFound = true;
776 776
 				//error_log(__METHOD__.' ('.__LINE__.') '.' Key:'.$tmpkey.'->'.array2string($icServers->acc_imap_host));
777 777
 				$host = $icServers->acc_imap_host;
778 778
 				if (empty($host)) continue;
@@ -780,7 +780,7 @@  discard block
 block discarded – undo
780 780
 				//error_log(__METHOD__.' ('.__LINE__.') '.' Key:'.$tmpkey.'->'.array2string($identities[$icServers->acc_id]));
781 781
 			}
782 782
 		}
783
-		return ($selectedFound?$selectedID:$rememberFirst);
783
+		return ($selectedFound ? $selectedID : $rememberFirst);
784 784
 	}
785 785
 
786 786
 	/**
@@ -790,7 +790,7 @@  discard block
 block discarded – undo
790 790
 	 * @var boolean $fullString full or false=NamePart only is returned
791 791
 	 * @return string - constructed of identity object data as defined in mailConfig
792 792
 	 */
793
-	static function generateIdentityString($identity, $fullString=true)
793
+	static function generateIdentityString($identity, $fullString = true)
794 794
 	{
795 795
 		//error_log(__METHOD__.' ('.__LINE__.') '.array2string($identity));
796 796
 		//if (is_null(self::$mailConfig)) self::$mailConfig = Config::read('mail');
@@ -801,16 +801,16 @@  discard block
 block discarded – undo
801 801
 		{
802 802
 			case 'email';
803 803
 				//$retData = str_replace('@',' ',$identity->emailAddress).($fullString===true?' <'.$identity->emailAddress.'>':'');
804
-				$retData = $identity['ident_email'].($fullString===true?' <'.$identity['ident_email'].'>':'');
804
+				$retData = $identity['ident_email'].($fullString === true ? ' <'.$identity['ident_email'].'>' : '');
805 805
 				break;
806 806
 			case 'nameNemail';
807
-				$retData = (!empty($identity['ident_realname'])?$identity['ident_realname']:substr_replace($identity['ident_email'],'',strpos($identity['ident_email'],'@'))).($fullString===true?' <'.$identity['ident_email'].'>':'');
807
+				$retData = (!empty($identity['ident_realname']) ? $identity['ident_realname'] : substr_replace($identity['ident_email'], '', strpos($identity['ident_email'], '@'))).($fullString === true ? ' <'.$identity['ident_email'].'>' : '');
808 808
 				break;
809 809
 			case 'orgNemail';
810
-				$retData = (!empty($identity['ident_org'])?$identity['ident_org']:substr_replace($identity['ident_email'],'',0,strpos($identity['ident_email'],'@')+1)).($fullString===true?' <'.$identity['ident_email'].'>':'');
810
+				$retData = (!empty($identity['ident_org']) ? $identity['ident_org'] : substr_replace($identity['ident_email'], '', 0, strpos($identity['ident_email'], '@') + 1)).($fullString === true ? ' <'.$identity['ident_email'].'>' : '');
811 811
 				break;
812 812
 			default:
813
-				$retData = $identity['ident_realname'].(!empty($identity['ident_org'])?' '.$identity['ident_org']:'').($fullString===true?' <'.$identity['ident_email'].'>':'');
813
+				$retData = $identity['ident_realname'].(!empty($identity['ident_org']) ? ' '.$identity['ident_org'] : '').($fullString === true ? ' <'.$identity['ident_email'].'>' : '');
814 814
 		}
815 815
 		return $retData;
816 816
 	}
@@ -835,7 +835,7 @@  discard block
 block discarded – undo
835 835
 	 */
836 836
 	function reopen($_foldername)
837 837
 	{
838
-		if (self::$debugTimes) $starttime = microtime (true);
838
+		if (self::$debugTimes) $starttime = microtime(true);
839 839
 
840 840
 		//error_log(__METHOD__.' ('.__LINE__.') '."('$_foldername') ".function_backtrace());
841 841
 		// TODO: trying to reduce traffic to the IMAP Server here, introduces problems with fetching the bodies of
@@ -850,7 +850,7 @@  discard block
 block discarded – undo
850 850
 			}
851 851
 			$folderOpened = $_foldername;
852 852
 		//}
853
-		if (self::$debugTimes) self::logRunTimes($starttime,null,'Folder:'.$_foldername,__METHOD__.' ('.__LINE__.') ');
853
+		if (self::$debugTimes) self::logRunTimes($starttime, null, 'Folder:'.$_foldername, __METHOD__.' ('.__LINE__.') ');
854 854
 	}
855 855
 
856 856
 
@@ -861,15 +861,15 @@  discard block
 block discarded – undo
861 861
 	 * @throws Horde_Imap_Client_Exception on connection error or authentication failure
862 862
 	 * @throws InvalidArgumentException on missing credentials
863 863
 	 */
864
-	function openConnection($_icServerID=0)
864
+	function openConnection($_icServerID = 0)
865 865
 	{
866 866
 		//error_log( "-------------------------->open connection ".function_backtrace());
867 867
 		//error_log(__METHOD__.' ('.__LINE__.') '.' ->'.array2string($this->icServer));
868
-		if (self::$debugTimes) $starttime = microtime (true);
869
-		$mailbox=null;
868
+		if (self::$debugTimes) $starttime = microtime(true);
869
+		$mailbox = null;
870 870
 		try
871 871
 		{
872
-			if(isset($this->sessionData['mailbox'])&&$this->folderExists($this->sessionData['mailbox'])) $mailbox = $this->sessionData['mailbox'];
872
+			if (isset($this->sessionData['mailbox']) && $this->folderExists($this->sessionData['mailbox'])) $mailbox = $this->sessionData['mailbox'];
873 873
 			if (empty($mailbox)) $mailbox = $this->icServer->getCurrentMailbox();
874 874
 /*
875 875
 			if (isset(Mail\Imap::$supports_keywords[$_icServerID]))
@@ -896,7 +896,7 @@  discard block
 block discarded – undo
896 896
 			error_log(__METHOD__.' ('.__LINE__.') '."->open connection for Server with profileID:".$_icServerID." trying to examine ($mailbox) failed!".$e->getMessage());
897 897
 			throw new Exception(__METHOD__." failed to ".__METHOD__." on Profile to $_icServerID while trying to examine $mailbox:".$e->getMessage());
898 898
 		}
899
-		if (self::$debugTimes) self::logRunTimes($starttime,null,'ProfileID:'.$_icServerID,__METHOD__.' ('.__LINE__.') ');
899
+		if (self::$debugTimes) self::logRunTimes($starttime, null, 'ProfileID:'.$_icServerID, __METHOD__.' ('.__LINE__.') ');
900 900
 	}
901 901
 
902 902
 	/**
@@ -909,7 +909,7 @@  discard block
 block discarded – undo
909 909
 	{
910 910
 		static $quota;
911 911
 		if (isset($quota)) return $quota;
912
-		if (isset(self::$profileDefunct[$this->profileID]) && self::$profileDefunct[$this->profileID]===true)
912
+		if (isset(self::$profileDefunct[$this->profileID]) && self::$profileDefunct[$this->profileID] === true)
913 913
 		{
914 914
 			// something is wrong. Do not proceed. either no folder or profile is marked as defunct for this request
915 915
 			return false;
@@ -917,7 +917,7 @@  discard block
 block discarded – undo
917 917
 		try
918 918
 		{
919 919
 			$this->icServer->getCurrentMailbox();
920
-			if(!$this->icServer->hasCapability('QUOTA')) {
920
+			if (!$this->icServer->hasCapability('QUOTA')) {
921 921
 				$quota = false;
922 922
 				return false;
923 923
 			}
@@ -927,14 +927,14 @@  discard block
 block discarded – undo
927 927
 		{
928 928
 			//error_log(__METHOD__.array2string($e));
929 929
 			//error_log(__METHOD__." failed to fetch quota on ".$this->profileID.' Reason:'.$e->getMessage().($e->details?', '.$e->details:'')/*.function_backtrace()*/);
930
-			if ($e->getCode()==102)
930
+			if ($e->getCode() == 102)
931 931
 			{
932
-				self::$profileDefunct[$this->profileID]=true;
933
-				throw new Exception(__METHOD__." failed to fetch quota on ".$this->profileID.' Reason:'.$e->getMessage().($e->details?', '.$e->details:''));
932
+				self::$profileDefunct[$this->profileID] = true;
933
+				throw new Exception(__METHOD__." failed to fetch quota on ".$this->profileID.' Reason:'.$e->getMessage().($e->details ? ', '.$e->details : ''));
934 934
 			}
935 935
 		}
936 936
 		//error_log(__METHOD__.' ('.__LINE__.') '.array2string($quota));
937
-		if(is_array($quota)) {
937
+		if (is_array($quota)) {
938 938
 			$quota = array(
939 939
 				'usage'	=> $quota['USED'],
940 940
 				'limit'	=> $quota['QMAX'],
@@ -952,10 +952,10 @@  discard block
 block discarded – undo
952 952
 	 *
953 953
 	 * @return int - timeout (either set or default 20/10)
954 954
 	 */
955
-	static function getTimeOut($_use='IMAP')
955
+	static function getTimeOut($_use = 'IMAP')
956 956
 	{
957 957
 		$timeout = $GLOBALS['egw_info']['user']['preferences']['mail']['connectionTimeout'];
958
-		if (empty($timeout)) $timeout = ($_use=='SIEVE'?10:20); // this is the default value
958
+		if (empty($timeout)) $timeout = ($_use == 'SIEVE' ? 10 : 20); // this is the default value
959 959
 		return $timeout;
960 960
 	}
961 961
 
@@ -976,18 +976,18 @@  discard block
 block discarded – undo
976 976
 		if (is_null($nameSpace)) $nameSpace = $this->icServer->getNameSpaceArray();
977 977
 		//error_log(__METHOD__.' ('.__LINE__.') '.array2string($nameSpace));
978 978
 		if (is_array($nameSpace)) {
979
-			foreach($nameSpace as $type => $singleNameSpaceArray)
979
+			foreach ($nameSpace as $type => $singleNameSpaceArray)
980 980
 			{
981 981
 				foreach ($singleNameSpaceArray as $singleNameSpace)
982 982
 				{
983 983
 					$_foldersNameSpace = array();
984
-					if($type == 'personal' && $singleNameSpace['name'] == '#mh/' && ($this->folderExists('Mail')||$this->folderExists('INBOX')))
984
+					if ($type == 'personal' && $singleNameSpace['name'] == '#mh/' && ($this->folderExists('Mail') || $this->folderExists('INBOX')))
985 985
 					{
986 986
 						$_foldersNameSpace['prefix_present'] = 'forced';
987 987
 						// uw-imap server with mailbox prefix or dovecot maybe
988
-						$_foldersNameSpace['prefix'] = ($this->folderExists('Mail')?'Mail':(!empty($singleNameSpace['name'])?$singleNameSpace['name']:''));
988
+						$_foldersNameSpace['prefix'] = ($this->folderExists('Mail') ? 'Mail' : (!empty($singleNameSpace['name']) ? $singleNameSpace['name'] : ''));
989 989
 					}
990
-					elseif($type == 'personal' && ($singleNameSpace['name'] == '#mh/') && $this->folderExists('mail'))
990
+					elseif ($type == 'personal' && ($singleNameSpace['name'] == '#mh/') && $this->folderExists('mail'))
991 991
 					{
992 992
 						$_foldersNameSpace['prefix_present'] = 'forced';
993 993
 						// uw-imap server with mailbox prefix or dovecot maybe
@@ -996,9 +996,9 @@  discard block
 block discarded – undo
996 996
 						$_foldersNameSpace['prefix_present'] = !empty($singleNameSpace['name']);
997 997
 						$_foldersNameSpace['prefix'] = $singleNameSpace['name'];
998 998
 					}
999
-					$_foldersNameSpace['delimiter'] = ($singleNameSpace['delimiter']?$singleNameSpace['delimiter']:$delimiter);
999
+					$_foldersNameSpace['delimiter'] = ($singleNameSpace['delimiter'] ? $singleNameSpace['delimiter'] : $delimiter);
1000 1000
 					$_foldersNameSpace['type'] = $type;
1001
-					$foldersNameSpace[] =$_foldersNameSpace;
1001
+					$foldersNameSpace[] = $_foldersNameSpace;
1002 1002
 				}
1003 1003
 				//echo "############## $type->".print_r($foldersNameSpace[$type],true)." ###################<br>";
1004 1004
 			}
@@ -1016,10 +1016,10 @@  discard block
 block discarded – undo
1016 1016
 	 */
1017 1017
 	function getFolderPrefixFromNamespace($nameSpace, $folderName)
1018 1018
 	{
1019
-		foreach($nameSpace as &$singleNameSpace)
1019
+		foreach ($nameSpace as &$singleNameSpace)
1020 1020
 		{
1021 1021
 			//if (substr($singleNameSpace['prefix'],0,strlen($folderName))==$folderName) return $singleNameSpace['prefix'];
1022
-			if (substr($folderName,0,strlen($singleNameSpace['prefix']))==$singleNameSpace['prefix']) return $singleNameSpace['prefix'];
1022
+			if (substr($folderName, 0, strlen($singleNameSpace['prefix'])) == $singleNameSpace['prefix']) return $singleNameSpace['prefix'];
1023 1023
 		}
1024 1024
 		return "";
1025 1025
 	}
@@ -1030,12 +1030,12 @@  discard block
 block discarded – undo
1030 1030
 	 * @var boolean $_useCache
1031 1031
 	 * @return string the hierarchyDelimiter
1032 1032
 	 */
1033
-	function getHierarchyDelimiter($_useCache=true)
1033
+	function getHierarchyDelimiter($_useCache = true)
1034 1034
 	{
1035 1035
 		static $HierarchyDelimiter = null;
1036
-		if (is_null($HierarchyDelimiter)) $HierarchyDelimiter = Cache::getCache(Cache::INSTANCE,'email','HierarchyDelimiter'.trim($GLOBALS['egw_info']['user']['account_id']),null,array(),60*60*24*5);
1037
-		if ($_useCache===false) unset($HierarchyDelimiter[$this->icServer->ImapServerId]);
1038
-		if (isset($HierarchyDelimiter[$this->icServer->ImapServerId])&&!empty($HierarchyDelimiter[$this->icServer->ImapServerId]))
1036
+		if (is_null($HierarchyDelimiter)) $HierarchyDelimiter = Cache::getCache(Cache::INSTANCE, 'email', 'HierarchyDelimiter'.trim($GLOBALS['egw_info']['user']['account_id']), null, array(), 60 * 60 * 24 * 5);
1037
+		if ($_useCache === false) unset($HierarchyDelimiter[$this->icServer->ImapServerId]);
1038
+		if (isset($HierarchyDelimiter[$this->icServer->ImapServerId]) && !empty($HierarchyDelimiter[$this->icServer->ImapServerId]))
1039 1039
 		{
1040 1040
 			return $HierarchyDelimiter[$this->icServer->ImapServerId];
1041 1041
 		}
@@ -1045,13 +1045,13 @@  discard block
 block discarded – undo
1045 1045
 			$this->icServer->getCurrentMailbox();
1046 1046
 			$HierarchyDelimiter[$this->icServer->ImapServerId] = $this->icServer->getDelimiter();
1047 1047
 		}
1048
-		catch(\Exception $e)
1048
+		catch (\Exception $e)
1049 1049
 		{
1050
-			if ($e->getCode()==102) self::$profileDefunct[$this->profileID]=true;
1050
+			if ($e->getCode() == 102) self::$profileDefunct[$this->profileID] = true;
1051 1051
 			unset($e);
1052 1052
 			$HierarchyDelimiter[$this->icServer->ImapServerId] = '/';
1053 1053
 		}
1054
-		Cache::setCache(Cache::INSTANCE,'email','HierarchyDelimiter'.trim($GLOBALS['egw_info']['user']['account_id']),$HierarchyDelimiter, 60*60*24*5);
1054
+		Cache::setCache(Cache::INSTANCE, 'email', 'HierarchyDelimiter'.trim($GLOBALS['egw_info']['user']['account_id']), $HierarchyDelimiter, 60 * 60 * 24 * 5);
1055 1055
 		return $HierarchyDelimiter[$this->icServer->ImapServerId];
1056 1056
 	}
1057 1057
 
@@ -1064,7 +1064,7 @@  discard block
 block discarded – undo
1064 1064
 	{
1065 1065
 		//error_log(__METHOD__.' ('.__LINE__.') '.':'.$this->icServer->ImapServerId.' Connected:'.$this->icServer->_connected);
1066 1066
 		static $_specialUseFolders = null;
1067
-		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);
1067
+		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);
1068 1068
 		//error_log(__METHOD__.' ('.__LINE__.') '.array2string($this->icServer->acc_folder_trash));
1069 1069
 		//error_log(__METHOD__.' ('.__LINE__.') '.array2string($this->icServer->acc_folder_sent));
1070 1070
 		//error_log(__METHOD__.' ('.__LINE__.') '.array2string($this->icServer->acc_folder_draft));
@@ -1072,20 +1072,20 @@  discard block
 block discarded – undo
1072 1072
 		self::$specialUseFolders = $_specialUseFolders[$this->icServer->ImapServerId];
1073 1073
 		if (isset($_specialUseFolders[$this->icServer->ImapServerId]) && !empty($_specialUseFolders[$this->icServer->ImapServerId]))
1074 1074
 			return $_specialUseFolders[$this->icServer->ImapServerId];
1075
-		$_specialUseFolders[$this->icServer->ImapServerId]=array();
1075
+		$_specialUseFolders[$this->icServer->ImapServerId] = array();
1076 1076
 		//if (!empty($this->icServer->acc_folder_trash) && !isset($_specialUseFolders[$this->icServer->ImapServerId][$this->icServer->acc_folder_trash]))
1077
-			$_specialUseFolders[$this->icServer->ImapServerId][$this->icServer->acc_folder_trash]='Trash';
1077
+			$_specialUseFolders[$this->icServer->ImapServerId][$this->icServer->acc_folder_trash] = 'Trash';
1078 1078
 		//if (!empty($this->icServer->acc_folder_draft) && !isset($_specialUseFolders[$this->icServer->ImapServerId][$this->icServer->acc_folder_draft]))
1079
-			$_specialUseFolders[$this->icServer->ImapServerId][$this->icServer->acc_folder_draft]='Drafts';
1079
+			$_specialUseFolders[$this->icServer->ImapServerId][$this->icServer->acc_folder_draft] = 'Drafts';
1080 1080
 		//if (!empty($this->icServer->acc_folder_sent) && !isset($_specialUseFolders[$this->icServer->ImapServerId][$this->icServer->acc_folder_sent]))
1081
-			$_specialUseFolders[$this->icServer->ImapServerId][$this->icServer->acc_folder_sent]='Sent';
1081
+			$_specialUseFolders[$this->icServer->ImapServerId][$this->icServer->acc_folder_sent] = 'Sent';
1082 1082
 		//if (!empty($this->icServer->acc_folder_template) && !isset($_specialUseFolders[$this->icServer->ImapServerId][$this->icServer->acc_folder_template]))
1083
-			$_specialUseFolders[$this->icServer->ImapServerId][$this->icServer->acc_folder_template]='Templates';
1084
-		$_specialUseFolders[$this->icServer->ImapServerId][$this->icServer->acc_folder_junk]='Junk';
1085
-		$_specialUseFolders[$this->icServer->ImapServerId][$this->icServer->acc_folder_archive]='Archive';
1083
+			$_specialUseFolders[$this->icServer->ImapServerId][$this->icServer->acc_folder_template] = 'Templates';
1084
+		$_specialUseFolders[$this->icServer->ImapServerId][$this->icServer->acc_folder_junk] = 'Junk';
1085
+		$_specialUseFolders[$this->icServer->ImapServerId][$this->icServer->acc_folder_archive] = 'Archive';
1086 1086
 		//error_log(__METHOD__.' ('.__LINE__.') '.array2string($_specialUseFolders));//.'<->'.array2string($this->icServer));
1087 1087
 		self::$specialUseFolders = $_specialUseFolders[$this->icServer->ImapServerId];
1088
-		Cache::setCache(Cache::INSTANCE,'email','specialUseFolders'.trim($GLOBALS['egw_info']['user']['account_id']),$_specialUseFolders, 60*60*24*5);
1088
+		Cache::setCache(Cache::INSTANCE, 'email', 'specialUseFolders'.trim($GLOBALS['egw_info']['user']['account_id']), $_specialUseFolders, 60 * 60 * 24 * 5);
1089 1089
 		return $_specialUseFolders[$this->icServer->ImapServerId];
1090 1090
 	}
1091 1091
 
@@ -1099,8 +1099,8 @@  discard block
 block discarded – undo
1099 1099
 	function folderIsSelectable($folderToSelect)
1100 1100
 	{
1101 1101
 		$retval = true;
1102
-		if($folderToSelect && ($folderStatus = $this->getFolderStatus($folderToSelect,false,true))) {
1103
-			if (!empty($folderStatus['attributes']) && stripos(array2string($folderStatus['attributes']),'noselect')!==false)
1102
+		if ($folderToSelect && ($folderStatus = $this->getFolderStatus($folderToSelect, false, true))) {
1103
+			if (!empty($folderStatus['attributes']) && stripos(array2string($folderStatus['attributes']), 'noselect') !== false)
1104 1104
 			{
1105 1105
 				$retval = false;
1106 1106
 			}
@@ -1120,7 +1120,7 @@  discard block
 block discarded – undo
1120 1120
 	 *
1121 1121
 	 * @throws Exception
1122 1122
 	 */
1123
-	function _getStatus($folderName,$ignoreStatusCache=false)
1123
+	function _getStatus($folderName, $ignoreStatusCache = false)
1124 1124
 	{
1125 1125
 		static $folderStatus = null;
1126 1126
 		if (!$ignoreStatusCache && isset($folderStatus[$this->icServer->ImapServerId][$folderName]))
@@ -1130,11 +1130,11 @@  discard block
 block discarded – undo
1130 1130
 		}
1131 1131
 		try
1132 1132
 		{
1133
-			$folderStatus[$this->icServer->ImapServerId][$folderName] = $this->icServer->getStatus($folderName,$ignoreStatusCache);
1133
+			$folderStatus[$this->icServer->ImapServerId][$folderName] = $this->icServer->getStatus($folderName, $ignoreStatusCache);
1134 1134
 		}
1135 1135
 		catch (\Exception $e)
1136 1136
 		{
1137
-			throw new Exception(__METHOD__.' ('.__LINE__.') '." failed for $folderName with error:".$e->getMessage().($e->details?', '.$e->details:''));
1137
+			throw new Exception(__METHOD__.' ('.__LINE__.') '." failed for $folderName with error:".$e->getMessage().($e->details ? ', '.$e->details : ''));
1138 1138
 		}
1139 1139
 		return $folderStatus[$this->icServer->ImapServerId][$folderName];
1140 1140
 	}
@@ -1150,10 +1150,10 @@  discard block
 block discarded – undo
1150 1150
 	 * @param fetchSubscribedInfo bool fetch Subscribed Info on folder
1151 1151
 	 * @return array
1152 1152
 	 */
1153
-	function getFolderStatus($_folderName,$ignoreStatusCache=false,$basicInfoOnly=false,$fetchSubscribedInfo=true)
1153
+	function getFolderStatus($_folderName, $ignoreStatusCache = false, $basicInfoOnly = false, $fetchSubscribedInfo = true)
1154 1154
 	{
1155 1155
 		if (self::$debug) error_log(__METHOD__.' ('.__LINE__.') '." called with:$_folderName,$ignoreStatusCache,$basicInfoOnly");
1156
-		if (!is_string($_folderName) || empty($_folderName)||(isset(self::$profileDefunct[$this->profileID]) && self::$profileDefunct[$this->profileID]===true))
1156
+		if (!is_string($_folderName) || empty($_folderName) || (isset(self::$profileDefunct[$this->profileID]) && self::$profileDefunct[$this->profileID] === true))
1157 1157
 		{
1158 1158
 			// something is wrong. Do not proceed. either no folder or profile is marked as defunct for this request
1159 1159
 			return false;
@@ -1164,7 +1164,7 @@  discard block
 block discarded – undo
1164 1164
 		{
1165 1165
 			$folderInfoCache = $folderBasicInfo[$this->profileID];
1166 1166
 		}
1167
-		if (isset($folderInfoCache[$_folderName]) && $ignoreStatusCache==false && $basicInfoOnly) return $folderInfoCache[$_folderName];
1167
+		if (isset($folderInfoCache[$_folderName]) && $ignoreStatusCache == false && $basicInfoOnly) return $folderInfoCache[$_folderName];
1168 1168
 		$retValue = array();
1169 1169
 		$retValue['subscribed'] = false;
1170 1170
 /*
@@ -1185,39 +1185,39 @@  discard block
 block discarded – undo
1185 1185
 			{
1186 1186
 				//error_log(__METHOD__.array2string($e));
1187 1187
 				//error_log(__METHOD__." failed to fetch Mailbox $_folderName on ".$this->profileID.' Reason:'.$e->getMessage().($e->details?', '.$e->details:'')/*.function_backtrace()*/);
1188
-				self::$profileDefunct[$this->profileID]=true;
1189
-				throw new Exception(__METHOD__." failed to fetch Mailbox $_folderName on ".$this->profileID.' Reason:'.$e->getMessage().($e->details?', '.$e->details:''));
1188
+				self::$profileDefunct[$this->profileID] = true;
1189
+				throw new Exception(__METHOD__." failed to fetch Mailbox $_folderName on ".$this->profileID.' Reason:'.$e->getMessage().($e->details ? ', '.$e->details : ''));
1190 1190
 			}
1191 1191
 			//error_log(__METHOD__.' ('.__LINE__.') '.$_folderName.' '.array2string($ret));
1192 1192
 			if (is_array($ret))
1193 1193
 			{
1194 1194
 				$retkeys = array_keys($ret);
1195
-				if ($retkeys[0]==$_folderName) $folderInfoCache[$_folderName] = $ret[$retkeys[0]];
1195
+				if ($retkeys[0] == $_folderName) $folderInfoCache[$_folderName] = $ret[$retkeys[0]];
1196 1196
 			}
1197 1197
 			else
1198 1198
 			{
1199
-				$folderInfoCache[$_folderName]=false;
1199
+				$folderInfoCache[$_folderName] = false;
1200 1200
 			}
1201 1201
 		}
1202 1202
 		$folderInfo = $folderInfoCache[$_folderName];
1203 1203
 		//error_log(__METHOD__.' ('.__LINE__.') '.array2string($folderInfo).'->'.function_backtrace());
1204
-		if($ignoreStatusCache||!$folderInfo|| !is_array($folderInfo)) {
1204
+		if ($ignoreStatusCache || !$folderInfo || !is_array($folderInfo)) {
1205 1205
 			try
1206 1206
 			{
1207
-				$folderInfo = $this->_getStatus($_folderName,$ignoreStatusCache);
1207
+				$folderInfo = $this->_getStatus($_folderName, $ignoreStatusCache);
1208 1208
 			}
1209 1209
 			catch (\Exception $e)
1210 1210
 			{
1211 1211
 				//error_log(__METHOD__.array2string($e));
1212
-				error_log(__METHOD__." failed to fetch status for $_folderName on ".$this->profileID.' Reason:'.$e->getMessage().($e->details?', '.$e->details:'')/*.function_backtrace()*/);
1213
-				self::$profileDefunct[$this->profileID]=true;
1212
+				error_log(__METHOD__." failed to fetch status for $_folderName on ".$this->profileID.' Reason:'.$e->getMessage().($e->details ? ', '.$e->details : '')/*.function_backtrace()*/);
1213
+				self::$profileDefunct[$this->profileID] = true;
1214 1214
 				//throw new Exception(__METHOD__." failed to fetch status for $_folderName on ".$this->profileID.' Reason:'.$e->getMessage().($e->details?', '.$e->details:''));
1215
-				$folderInfo=null;
1215
+				$folderInfo = null;
1216 1216
 			}
1217 1217
 			if (!is_array($folderInfo))
1218 1218
 			{
1219 1219
 				// no folder info, but there is a status returned for the folder: something is wrong, try to cope with it
1220
-				$folderInfo = is_array($folderInfo)?$folderInfo:array('HIERACHY_DELIMITER'=>$this->getHierarchyDelimiter(),
1220
+				$folderInfo = is_array($folderInfo) ? $folderInfo : array('HIERACHY_DELIMITER'=>$this->getHierarchyDelimiter(),
1221 1221
 					'ATTRIBUTES' => '');
1222 1222
 				if (!isset($folderInfo['HIERACHY_DELIMITER']) || empty($folderInfo['HIERACHY_DELIMITER']) || (isset($folderInfo['delimiter']) && empty($folderInfo['delimiter'])))
1223 1223
 				{
@@ -1229,24 +1229,24 @@  discard block
 block discarded – undo
1229 1229
 		#if(!is_array($folderInfo)) {
1230 1230
 		#	return false;
1231 1231
 		#}
1232
-		$retValue['delimiter']		= (isset($folderInfo['HIERACHY_DELIMITER']) && $folderInfo['HIERACHY_DELIMITER']?$folderInfo['HIERACHY_DELIMITER']:$folderInfo['delimiter']);
1233
-		$retValue['attributes']		= (isset($folderInfo['ATTRIBUTES']) && $folderInfo['ATTRIBUTES']?$folderInfo['ATTRIBUTES']:$folderInfo['attributes']);
1234
-		$shortNameParts			= explode($retValue['delimiter'], $_folderName);
1232
+		$retValue['delimiter']		= (isset($folderInfo['HIERACHY_DELIMITER']) && $folderInfo['HIERACHY_DELIMITER'] ? $folderInfo['HIERACHY_DELIMITER'] : $folderInfo['delimiter']);
1233
+		$retValue['attributes']		= (isset($folderInfo['ATTRIBUTES']) && $folderInfo['ATTRIBUTES'] ? $folderInfo['ATTRIBUTES'] : $folderInfo['attributes']);
1234
+		$shortNameParts = explode($retValue['delimiter'], $_folderName);
1235 1235
 		$retValue['shortName']		= array_pop($shortNameParts);
1236 1236
 		$retValue['displayName']	= $_folderName;
1237
-		$retValue['shortDisplayName']	= $retValue['shortName'];
1238
-		if(strtoupper($retValue['shortName']) == 'INBOX') {
1239
-			$retValue['displayName']	= lang('INBOX');
1240
-			$retValue['shortDisplayName']	= lang('INBOX');
1237
+		$retValue['shortDisplayName'] = $retValue['shortName'];
1238
+		if (strtoupper($retValue['shortName']) == 'INBOX') {
1239
+			$retValue['displayName'] = lang('INBOX');
1240
+			$retValue['shortDisplayName'] = lang('INBOX');
1241 1241
 		}
1242 1242
 		// translate the automatic Folders (Sent, Drafts, ...) like the INBOX
1243
-		elseif (in_array($retValue['shortName'],self::$autoFolders))
1243
+		elseif (in_array($retValue['shortName'], self::$autoFolders))
1244 1244
 		{
1245 1245
 			$retValue['displayName'] = $retValue['shortDisplayName'] = lang($retValue['shortName']);
1246 1246
 		}
1247
-		if ($folderInfo) $folderBasicInfo[$this->profileID][$_folderName]=$retValue;
1247
+		if ($folderInfo) $folderBasicInfo[$this->profileID][$_folderName] = $retValue;
1248 1248
 		//error_log(__METHOD__.' ('.__LINE__.') '.' '.$_folderName.array2string($retValue['attributes']));
1249
-		if ($basicInfoOnly || (isset($retValue['attributes']) && stripos(array2string($retValue['attributes']),'noselect')!==false))
1249
+		if ($basicInfoOnly || (isset($retValue['attributes']) && stripos(array2string($retValue['attributes']), 'noselect') !== false))
1250 1250
 		{
1251 1251
 			return $retValue;
1252 1252
 		}
@@ -1259,12 +1259,12 @@  discard block
 block discarded – undo
1259 1259
 		if (is_null($nameSpace) || empty($nameSpace[$this->profileID])) $nameSpace[$this->profileID] = $this->_getNameSpaces();
1260 1260
 		if (!empty($nameSpace[$this->profileID]))
1261 1261
 		{
1262
-			$nsNoPersonal=array();
1263
-			foreach($nameSpace[$this->profileID] as &$ns)
1262
+			$nsNoPersonal = array();
1263
+			foreach ($nameSpace[$this->profileID] as &$ns)
1264 1264
 			{
1265
-				if ($ns['type']!='personal') $nsNoPersonal[]=$ns;
1265
+				if ($ns['type'] != 'personal') $nsNoPersonal[] = $ns;
1266 1266
 			}
1267
-			$nameSpace[$this->profileID]=$nsNoPersonal;
1267
+			$nameSpace[$this->profileID] = $nsNoPersonal;
1268 1268
 		}
1269 1269
 		if (is_null($prefix) || empty($prefix[$this->profileID]) || empty($prefix[$this->profileID][$_folderName])) $prefix[$this->profileID][$_folderName] = $this->getFolderPrefixFromNamespace($nameSpace[$this->profileID], $_folderName);
1270 1270
 
@@ -1273,32 +1273,32 @@  discard block
 block discarded – undo
1273 1273
 			$subscribedFolders[$this->profileID] = $this->icServer->listSubscribedMailboxes();
1274 1274
 		}
1275 1275
 
1276
-		if($fetchSubscribedInfo && is_array($subscribedFolders[$this->profileID]) && in_array($_folderName,$subscribedFolders[$this->profileID])) {
1276
+		if ($fetchSubscribedInfo && is_array($subscribedFolders[$this->profileID]) && in_array($_folderName, $subscribedFolders[$this->profileID])) {
1277 1277
 			$retValue['subscribed'] = true;
1278 1278
 		}
1279 1279
 
1280 1280
 		try
1281 1281
 		{
1282 1282
 			//$folderStatus = $this->_getStatus($_folderName,$ignoreStatusCache);
1283
-			$folderStatus = $this->getMailBoxCounters($_folderName,false);
1284
-			$retValue['messages']		= $folderStatus['MESSAGES'];
1283
+			$folderStatus = $this->getMailBoxCounters($_folderName, false);
1284
+			$retValue['messages'] = $folderStatus['MESSAGES'];
1285 1285
 			$retValue['recent']		= $folderStatus['RECENT'];
1286
-			$retValue['uidnext']		= $folderStatus['UIDNEXT'];
1287
-			$retValue['uidvalidity']	= $folderStatus['UIDVALIDITY'];
1286
+			$retValue['uidnext'] = $folderStatus['UIDNEXT'];
1287
+			$retValue['uidvalidity'] = $folderStatus['UIDVALIDITY'];
1288 1288
 			$retValue['unseen']		= $folderStatus['UNSEEN'];
1289 1289
 			if (//$retValue['unseen']==0 &&
1290 1290
 				(isset($this->mailPreferences['trustServersUnseenInfo']) && // some servers dont serve the UNSEEN information
1291
-				$this->mailPreferences['trustServersUnseenInfo']==false) ||
1291
+				$this->mailPreferences['trustServersUnseenInfo'] == false) ||
1292 1292
 				(isset($this->mailPreferences['trustServersUnseenInfo']) &&
1293
-				$this->mailPreferences['trustServersUnseenInfo']==2 &&
1294
-				$prefix[$this->profileID][$_folderName] != '' && stripos($_folderName,$prefix[$this->profileID][$_folderName]) !== false)
1293
+				$this->mailPreferences['trustServersUnseenInfo'] == 2 &&
1294
+				$prefix[$this->profileID][$_folderName] != '' && stripos($_folderName, $prefix[$this->profileID][$_folderName]) !== false)
1295 1295
 			)
1296 1296
 			{
1297 1297
 				//error_log(__METHOD__." returned folderStatus for Folder $_folderName:".print_r($prefix,true).' TS:'.$this->mailPreferences['trustServersUnseenInfo']);
1298 1298
 				// we filter for the combined status of unseen and undeleted, as this is what we show in list
1299 1299
 				try
1300 1300
 				{
1301
-					$sortResult = $this->getSortedList($_folderName, $_sort=0, $_reverse=1, array('status'=>array('UNSEEN','UNDELETED')),$byUid=true,false);
1301
+					$sortResult = $this->getSortedList($_folderName, $_sort = 0, $_reverse = 1, array('status'=>array('UNSEEN', 'UNDELETED')), $byUid = true, false);
1302 1302
 					$retValue['unseen'] = $sortResult['count'];
1303 1303
 				}
1304 1304
 				catch (\Exception $ee)
@@ -1309,7 +1309,7 @@  discard block
 block discarded – undo
1309 1309
 		}
1310 1310
 		catch (\Exception $e)
1311 1311
 		{
1312
-			if (self::$debug) error_log(__METHOD__." returned folderStatus for Folder $_folderName:".print_r($e->getMessage(),true));
1312
+			if (self::$debug) error_log(__METHOD__." returned folderStatus for Folder $_folderName:".print_r($e->getMessage(), true));
1313 1313
 		}
1314 1314
 
1315 1315
 		return $retValue;
@@ -1331,7 +1331,7 @@  discard block
 block discarded – undo
1331 1331
 	 * @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))
1332 1332
 	 * @return array result as array(header=>array,total=>int,first=>int,last=>int)
1333 1333
 	 */
1334
-	function getHeaders($_folderName, $_startMessage, $_numberOfMessages, $_sort, $_reverse, $_filter, $_thisUIDOnly=null, $_cacheResult=true, $_fetchPreviews=false)
1334
+	function getHeaders($_folderName, $_startMessage, $_numberOfMessages, $_sort, $_reverse, $_filter, $_thisUIDOnly = null, $_cacheResult = true, $_fetchPreviews = false)
1335 1335
 	{
1336 1336
 		//self::$debug=true;
1337 1337
 		if (self::$debug) error_log(__METHOD__.' ('.__LINE__.') '.function_backtrace());
@@ -1344,7 +1344,7 @@  discard block
 block discarded – undo
1344 1344
 		$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
1345 1345
 		#print "<pre>";
1346 1346
 		#$this->icServer->setDebug(true);
1347
-		$total=0;
1347
+		$total = 0;
1348 1348
 		if ($_thisUIDOnly === null)
1349 1349
 		{
1350 1350
 			if (($_startMessage || $_numberOfMessages) && !isset($_filter['range']))
@@ -1357,24 +1357,24 @@  discard block
 block discarded – undo
1357 1357
 				//$_filter['range'] ="$_startMessage:*";
1358 1358
 			}
1359 1359
 			if (self::$debug) error_log(__METHOD__.' ('.__LINE__.') '."$_folderName, $_sort, $reverse, ".array2string($_filter).", $rByUid");
1360
-			if (self::$debug||self::$debugTimes) $starttime = microtime (true);
1360
+			if (self::$debug || self::$debugTimes) $starttime = microtime(true);
1361 1361
 			//see this example below for a 12 week datefilter (since)
1362 1362
 			//$_filter = array('status'=>array('UNDELETED'),'type'=>"SINCE",'string'=> date("d-M-Y", $starttime-(3600*24*7*12)));
1363 1363
 			$_sortResult = $this->getSortedList($_folderName, $_sort, $reverse, $_filter, $rByUid, $_cacheResult);
1364 1364
 			$sortResult = $_sortResult['match']->ids;
1365 1365
 			//$modseq = $_sortResult['modseq'];
1366 1366
 			//error_log(__METHOD__.' ('.__LINE__.') '.'Modsequence:'.$modseq);
1367
-			if (self::$debug||self::$debugTimes) self::logRunTimes($starttime,null,' call getSortedList for Folder:'.$_folderName.' Filter:'.array2string($_filter).' Ids:'.array2string($_thisUIDOnly),__METHOD__.' ('.__LINE__.') ');
1367
+			if (self::$debug || self::$debugTimes) self::logRunTimes($starttime, null, ' call getSortedList for Folder:'.$_folderName.' Filter:'.array2string($_filter).' Ids:'.array2string($_thisUIDOnly), __METHOD__.' ('.__LINE__.') ');
1368 1368
 
1369 1369
 			if (self::$debug) error_log(__METHOD__.' ('.__LINE__.') '.array2string($sortResult));
1370 1370
 			#$this->icServer->setDebug(false);
1371 1371
 			#print "</pre>";
1372 1372
 			// nothing found
1373
-			if(!is_array($sortResult) || empty($sortResult)) {
1373
+			if (!is_array($sortResult) || empty($sortResult)) {
1374 1374
 				$retValue = array();
1375 1375
 				$retValue['info']['total']	= 0;
1376 1376
 				$retValue['info']['first']	= 0;
1377
-				$retValue['info']['last']	= 0;
1377
+				$retValue['info']['last'] = 0;
1378 1378
 				return $retValue;
1379 1379
 			}
1380 1380
 
@@ -1382,54 +1382,54 @@  discard block
 block discarded – undo
1382 1382
 			#_debug_array($sortResult);
1383 1383
 			#_debug_array(array_slice($sortResult, -5, -2));
1384 1384
 			//error_log("REVERSE: $reverse");
1385
-			if($reverse === true) {
1386
-				if  ($_startMessage<=$total)
1385
+			if ($reverse === true) {
1386
+				if ($_startMessage <= $total)
1387 1387
 				{
1388
-					$startMessage = $_startMessage-1;
1388
+					$startMessage = $_startMessage - 1;
1389 1389
 				}
1390 1390
 				else
1391 1391
 				{
1392 1392
 					//error_log(__METHOD__.' ('.__LINE__.') '.' Start:'.$_startMessage.' NumberOfMessages:'.$_numberOfMessages.' Total:'.$total);
1393
-					if ($_startMessage+$_numberOfMessages>$total)
1393
+					if ($_startMessage + $_numberOfMessages > $total)
1394 1394
 					{
1395
-						$numberOfMessages = $total%$_numberOfMessages;
1395
+						$numberOfMessages = $total % $_numberOfMessages;
1396 1396
 						//$numberOfMessages = abs($_startMessage-$total-1);
1397
-						if ($numberOfMessages>0 && $numberOfMessages<=$_numberOfMessages) $_numberOfMessages = $numberOfMessages;
1397
+						if ($numberOfMessages > 0 && $numberOfMessages <= $_numberOfMessages) $_numberOfMessages = $numberOfMessages;
1398 1398
 						//error_log(__METHOD__.' ('.__LINE__.') '.' Start:'.$_startMessage.' NumberOfMessages:'.$_numberOfMessages.' Total:'.$total);
1399 1399
 					}
1400
-					$startMessage=($total-$_numberOfMessages)-1;
1400
+					$startMessage = ($total - $_numberOfMessages) - 1;
1401 1401
 					//$retValue['info']['first'] = $startMessage;
1402 1402
 					//$retValue['info']['last'] = $total;
1403 1403
 
1404 1404
 				}
1405
-				if ($startMessage+$_numberOfMessages>$total)
1405
+				if ($startMessage + $_numberOfMessages > $total)
1406 1406
 				{
1407
-					$_numberOfMessages = $_numberOfMessages-($total-($startMessage+$_numberOfMessages));
1407
+					$_numberOfMessages = $_numberOfMessages - ($total - ($startMessage + $_numberOfMessages));
1408 1408
 					//$retValue['info']['first'] = $startMessage;
1409 1409
 					//$retValue['info']['last'] = $total;
1410 1410
 				}
1411
-				if($startMessage > 0) {
1412
-					if (self::$debug) error_log(__METHOD__.' ('.__LINE__.') '.' StartMessage:'.(-($_numberOfMessages+$startMessage)).', '.-$startMessage.' Number of Messages:'.count($sortResult));
1413
-					$sortResult = array_slice($sortResult, -($_numberOfMessages+$startMessage), -$startMessage);
1411
+				if ($startMessage > 0) {
1412
+					if (self::$debug) error_log(__METHOD__.' ('.__LINE__.') '.' StartMessage:'.(-($_numberOfMessages + $startMessage)).', '.-$startMessage.' Number of Messages:'.count($sortResult));
1413
+					$sortResult = array_slice($sortResult, -($_numberOfMessages + $startMessage), -$startMessage);
1414 1414
 				} else {
1415
-					if (self::$debug) error_log(__METHOD__.' ('.__LINE__.') '.' StartMessage:'.(-($_numberOfMessages+($_startMessage-1))).', AllTheRest, Number of Messages:'.count($sortResult));
1416
-					$sortResult = array_slice($sortResult, -($_numberOfMessages+($_startMessage-1)));
1415
+					if (self::$debug) error_log(__METHOD__.' ('.__LINE__.') '.' StartMessage:'.(-($_numberOfMessages + ($_startMessage - 1))).', AllTheRest, Number of Messages:'.count($sortResult));
1416
+					$sortResult = array_slice($sortResult, -($_numberOfMessages + ($_startMessage - 1)));
1417 1417
 				}
1418 1418
 				$sortResult = array_reverse($sortResult);
1419 1419
 			} else {
1420
-				if (self::$debug) error_log(__METHOD__.' ('.__LINE__.') '.' StartMessage:'.($_startMessage-1).', '.$_numberOfMessages.' Number of Messages:'.count($sortResult));
1421
-				$sortResult = array_slice($sortResult, $_startMessage-1, $_numberOfMessages);
1420
+				if (self::$debug) error_log(__METHOD__.' ('.__LINE__.') '.' StartMessage:'.($_startMessage - 1).', '.$_numberOfMessages.' Number of Messages:'.count($sortResult));
1421
+				$sortResult = array_slice($sortResult, $_startMessage - 1, $_numberOfMessages);
1422 1422
 			}
1423 1423
 			if (self::$debug) error_log(__METHOD__.' ('.__LINE__.') '.array2string($sortResult));
1424 1424
 		}
1425 1425
 		else
1426 1426
 		{
1427
-			$sortResult = (is_array($_thisUIDOnly) ? $_thisUIDOnly:(array)$_thisUIDOnly);
1427
+			$sortResult = (is_array($_thisUIDOnly) ? $_thisUIDOnly : (array)$_thisUIDOnly);
1428 1428
 		}
1429 1429
 
1430 1430
 
1431 1431
 		// fetch the data for the selected messages
1432
-		if (self::$debug||self::$debugTimes) $starttime = microtime(true);
1432
+		if (self::$debug || self::$debugTimes) $starttime = microtime(true);
1433 1433
 		try
1434 1434
 		{
1435 1435
 			$uidsToFetch = new Horde_Imap_Client_Ids();
@@ -1438,22 +1438,22 @@  discard block
 block discarded – undo
1438 1438
 			$fquery = new Horde_Imap_Client_Fetch_Query();
1439 1439
 
1440 1440
 			// Pre-cache the headers we want, 'fetchHeaders' is a label into the cache
1441
-			$fquery->headers('fetchHeaders',array(
1442
-				'DISPOSITION-NOTIFICATION-TO','RETURN-RECEIPT-TO','X-CONFIRM-READING-TO',
1443
-				'DATE','SUBJECT','FROM','TO','CC',
1441
+			$fquery->headers('fetchHeaders', array(
1442
+				'DISPOSITION-NOTIFICATION-TO', 'RETURN-RECEIPT-TO', 'X-CONFIRM-READING-TO',
1443
+				'DATE', 'SUBJECT', 'FROM', 'TO', 'CC',
1444 1444
 				'X-PRIORITY'
1445
-			),array(
1445
+			), array(
1446 1446
 				// Cache headers, we'll look at them below
1447
-				'cache' => true,//$_cacheResult,
1447
+				'cache' => true, //$_cacheResult,
1448 1448
 				// Set peek so messages are not flagged as read
1449 1449
 				'peek' => true
1450 1450
 			));
1451 1451
 			$fquery->size();
1452 1452
 			$fquery->structure();
1453 1453
 			$fquery->flags();
1454
-			$fquery->imapDate();// needed to ensure getImapDate fetches the internaldate, not the current time
1454
+			$fquery->imapDate(); // needed to ensure getImapDate fetches the internaldate, not the current time
1455 1455
 			// if $_fetchPreviews is activated fetch part of the messages too
1456
-			if ($_fetchPreviews) $fquery->fullText(array('peek'=>true,'length'=>((int)$_fetchPreviews<5000?5000:$_fetchPreviews),'start'=>0));
1456
+			if ($_fetchPreviews) $fquery->fullText(array('peek'=>true, 'length'=>((int)$_fetchPreviews < 5000 ? 5000 : $_fetchPreviews), 'start'=>0));
1457 1457
 			$headersNew = $this->icServer->fetch($_folderName, $fquery, array(
1458 1458
 				'ids' => $uidsToFetch,
1459 1459
 			));
@@ -1464,9 +1464,9 @@  discard block
 block discarded – undo
1464 1464
 			$headersNew = array();
1465 1465
 			$sortResult = array();
1466 1466
 		}
1467
-		if (self::$debug||self::$debugTimes)
1467
+		if (self::$debug || self::$debugTimes)
1468 1468
 		{
1469
-			self::logRunTimes($starttime,null,'HordeFetch: for Folder:'.$_folderName.' Filter:'.array2string($_filter),__METHOD__.' ('.__LINE__.') ');
1469
+			self::logRunTimes($starttime, null, 'HordeFetch: for Folder:'.$_folderName.' Filter:'.array2string($_filter), __METHOD__.' ('.__LINE__.') ');
1470 1470
 			if (self::$debug)
1471 1471
 			{
1472 1472
 				$queryString = implode(',', $sortResult);
@@ -1476,27 +1476,27 @@  discard block
 block discarded – undo
1476 1476
 
1477 1477
 		$cnt = 0;
1478 1478
 
1479
-		foreach((array)$sortResult as $uid) {
1479
+		foreach ((array)$sortResult as $uid) {
1480 1480
 			$sortOrder[$uid] = $cnt++;
1481 1481
 		}
1482 1482
 
1483 1483
 		$count = 0;
1484 1484
 		if (is_object($headersNew)) {
1485
-			if (self::$debug||self::$debugTimes) $starttime = microtime(true);
1486
-			foreach($headersNew->ids() as $id) {
1485
+			if (self::$debug || self::$debugTimes) $starttime = microtime(true);
1486
+			foreach ($headersNew->ids() as $id) {
1487 1487
 				$_headerObject = $headersNew->get($id);
1488 1488
 				//error_log(__METHOD__.' ('.__LINE__.') '.array2string($_headerObject));
1489 1489
 				$headerObject = array();
1490 1490
 				$bodyPreview = null;
1491
-				$uid = $headerObject['UID']= ($_headerObject->getUid()?$_headerObject->getUid():$id);
1491
+				$uid = $headerObject['UID'] = ($_headerObject->getUid() ? $_headerObject->getUid() : $id);
1492 1492
 				$headerObject['MSG_NUM'] = $_headerObject->getSeq();
1493 1493
 				$headerObject['SIZE'] = $_headerObject->getSize();
1494 1494
 				$headerObject['INTERNALDATE'] = $_headerObject->getImapDate();
1495 1495
 
1496 1496
 				// Get already cached headers, 'fetchHeaders' is a label matchimg above
1497
-				$headerForPrio = $_headerObject->getHeaders('fetchHeaders',Horde_Imap_Client_Data_Fetch::HEADER_PARSE)->toArray();
1497
+				$headerForPrio = $_headerObject->getHeaders('fetchHeaders', Horde_Imap_Client_Data_Fetch::HEADER_PARSE)->toArray();
1498 1498
 				// Try to fetch header with key='' as some servers might have no fetchHeaders index. e.g. yandex.com
1499
-				if (empty($headerForPrio)) $headerForPrio = $_headerObject->getHeaders('',Horde_Imap_Client_Data_Fetch::HEADER_PARSE)->toArray();
1499
+				if (empty($headerForPrio)) $headerForPrio = $_headerObject->getHeaders('', Horde_Imap_Client_Data_Fetch::HEADER_PARSE)->toArray();
1500 1500
 				//fetch the fullMsg part if all conditions match to be available in case $_headerObject->getHeaders returns
1501 1501
 				//nothing worthwhile (as it does for googlemail accounts, when preview is switched on
1502 1502
 				if ($_fetchPreviews)
@@ -1504,16 +1504,16 @@  discard block
 block discarded – undo
1504 1504
 					// on enabled preview $bodyPreview is needed lateron. fetched here, for fallback-reasons
1505 1505
 					// in case of failed Header-Retrieval
1506 1506
 					$bodyPreview = $_headerObject->getFullMsg();
1507
-					if (empty($headerForPrio)||(is_array($headerForPrio)&&count($headerForPrio)===1&&$headerForPrio['']))
1507
+					if (empty($headerForPrio) || (is_array($headerForPrio) && count($headerForPrio) === 1 && $headerForPrio['']))
1508 1508
 					{
1509 1509
 						$length = strpos($bodyPreview, Horde_Mime_Part::RFC_EOL.Horde_Mime_Part::RFC_EOL);
1510
-						if ($length===false) $length = strlen($bodyPreview);
1511
-						$headerForPrio =  Horde_Mime_Headers::parseHeaders(substr($bodyPreview, 0,$length))->toArray();
1510
+						if ($length === false) $length = strlen($bodyPreview);
1511
+						$headerForPrio = Horde_Mime_Headers::parseHeaders(substr($bodyPreview, 0, $length))->toArray();
1512 1512
 					}
1513 1513
 				}
1514 1514
 				$headerForPrio = array_change_key_case($headerForPrio, CASE_UPPER);
1515 1515
 				if (self::$debug) {
1516
-					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'));
1516
+					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'));
1517 1517
 					error_log(__METHOD__.' ('.__LINE__.') '.array2string($headerForPrio));
1518 1518
 				}
1519 1519
 				// message deleted from server but cache still reporting its existence ; may happen on QRESYNC with No permanent modsequences
@@ -1522,21 +1522,21 @@  discard block
 block discarded – undo
1522 1522
 					$total--;
1523 1523
 					continue;
1524 1524
 				}
1525
-				if ( isset($headerForPrio['DISPOSITION-NOTIFICATION-TO']) ) {
1525
+				if (isset($headerForPrio['DISPOSITION-NOTIFICATION-TO'])) {
1526 1526
 					$headerObject['DISPOSITION-NOTIFICATION-TO'] = self::decode_header(trim($headerForPrio['DISPOSITION-NOTIFICATION-TO']));
1527
-				} else if ( isset($headerForPrio['RETURN-RECEIPT-TO']) ) {
1527
+				} else if (isset($headerForPrio['RETURN-RECEIPT-TO'])) {
1528 1528
 					$headerObject['DISPOSITION-NOTIFICATION-TO'] = self::decode_header(trim($headerForPrio['RETURN-RECEIPT-TO']));
1529
-				} else if ( isset($headerForPrio['X-CONFIRM-READING-TO']) ) {
1529
+				} else if (isset($headerForPrio['X-CONFIRM-READING-TO'])) {
1530 1530
 					$headerObject['DISPOSITION-NOTIFICATION-TO'] = self::decode_header(trim($headerForPrio['X-CONFIRM-READING-TO']));
1531 1531
 				} /*else $sent_not = "";*/
1532 1532
 				//error_log(__METHOD__.' ('.__LINE__.') '.array2string($headerObject));
1533 1533
 				$headerObject['DATE'] = $headerForPrio['DATE'];
1534
-				$headerObject['SUBJECT'] = (is_array($headerForPrio['SUBJECT'])?$headerForPrio['SUBJECT'][0]:$headerForPrio['SUBJECT']);
1535
-				$headerObject['FROM'] = (array)($headerForPrio['FROM']?$headerForPrio['FROM']:($headerForPrio['REPLY-TO']?$headerForPrio['REPLY-TO']:$headerForPrio['RETURN-PATH']));
1534
+				$headerObject['SUBJECT'] = (is_array($headerForPrio['SUBJECT']) ? $headerForPrio['SUBJECT'][0] : $headerForPrio['SUBJECT']);
1535
+				$headerObject['FROM'] = (array)($headerForPrio['FROM'] ? $headerForPrio['FROM'] : ($headerForPrio['REPLY-TO'] ? $headerForPrio['REPLY-TO'] : $headerForPrio['RETURN-PATH']));
1536 1536
 				$headerObject['TO'] = (array)$headerForPrio['TO'];
1537
-				$headerObject['CC'] = isset($headerForPrio['CC'])?(array)$headerForPrio['CC']:array();
1538
-				$headerObject['PRIORITY'] = isset($headerForPrio['X-PRIORITY'])?$headerForPrio['X-PRIORITY']:null;
1539
-				foreach (array('FROM','TO','CC') as $key)
1537
+				$headerObject['CC'] = isset($headerForPrio['CC']) ? (array)$headerForPrio['CC'] : array();
1538
+				$headerObject['PRIORITY'] = isset($headerForPrio['X-PRIORITY']) ? $headerForPrio['X-PRIORITY'] : null;
1539
+				foreach (array('FROM', 'TO', 'CC') as $key)
1540 1540
 				{
1541 1541
 					$address = array();
1542 1542
 					foreach ($headerObject[$key] as $k => $ad)
@@ -1558,13 +1558,13 @@  discard block
 block discarded – undo
1558 1558
 						foreach ($rfcAddr as $_rfcAddr)
1559 1559
 						{
1560 1560
 							if (!$_rfcAddr->valid)	continue; // skip. not a valid address
1561
-							$address[] = imap_rfc822_write_address($_rfcAddr->mailbox,$_rfcAddr->host,$_rfcAddr->personal);
1561
+							$address[] = imap_rfc822_write_address($_rfcAddr->mailbox, $_rfcAddr->host, $_rfcAddr->personal);
1562 1562
 						}
1563 1563
 					}
1564 1564
 					$headerObject[$key] = $address;
1565 1565
 				}
1566 1566
 				$headerObject['FLAGS'] = $_headerObject->getFlags();
1567
-				$headerObject['BODYPREVIEW']=null;
1567
+				$headerObject['BODYPREVIEW'] = null;
1568 1568
 				// this section fetches part of the message-body (if enabled) for some kind of preview
1569 1569
 				// if we fail to succeed, we fall back to the retrieval of the message-body with
1570 1570
 				// fetchPartContents (see below, when we iterate over the structure to determine the
@@ -1576,17 +1576,17 @@  discard block
 block discarded – undo
1576 1576
 					if (empty($bodyPreview)) $bodyPreview = $_headerObject->getFullMsg();
1577 1577
 					//error_log(__METHOD__.' ('.__LINE__.') '.array2string($bodyPreview));
1578 1578
 					$base = Horde_Mime_Part::parseMessage($bodyPreview);
1579
-					foreach($base->partIterator() as $part)
1579
+					foreach ($base->partIterator() as $part)
1580 1580
 					{
1581 1581
 						//error_log(__METHOD__.__LINE__.'Part:'.$part->getPrimaryType());
1582
-						if (empty($headerObject['BODYPREVIEW'])&&$part->getPrimaryType()== 'text')
1582
+						if (empty($headerObject['BODYPREVIEW']) && $part->getPrimaryType() == 'text')
1583 1583
 						{
1584 1584
 							$charset = $part->getContentTypeParameter('charset');
1585 1585
 							$buffer = Mail\Html::convertHTMLToText($part->toString(array(
1586
-												'encode' => Horde_Mime_Part::ENCODE_BINARY,	// otherwise we cant recode charset
1586
+												'encode' => Horde_Mime_Part::ENCODE_BINARY, // otherwise we cant recode charset
1587 1587
 											)), $charset, 'utf-8');
1588
-							$headerObject['BODYPREVIEW']=trim(str_replace(array("\r\n","\r","\n"),' ',mb_substr(Translation::convert_jsonsafe($buffer),0,((int)$_fetchPreviews<300?300:$_fetchPreviews))));
1589
-						} elseif (empty($headerObject['BODYPREVIEW'])&&$part->getPrimaryType()== 'multipart')
1588
+							$headerObject['BODYPREVIEW'] = trim(str_replace(array("\r\n", "\r", "\n"), ' ', mb_substr(Translation::convert_jsonsafe($buffer), 0, ((int)$_fetchPreviews < 300 ? 300 : $_fetchPreviews))));
1589
+						} elseif (empty($headerObject['BODYPREVIEW']) && $part->getPrimaryType() == 'multipart')
1590 1590
 						{
1591 1591
 							//error_log(__METHOD__.' ('.__LINE__.') '.array2string($part));
1592 1592
 						}
@@ -1597,12 +1597,12 @@  discard block
 block discarded – undo
1597 1597
 				//error_log(__METHOD__.' ('.__LINE__.') '.array2string($headerObject));
1598 1598
 				//error_log(__METHOD__.' ('.__LINE__.') '.' MimeMap:'.array2string($mailStructureObject->contentTypeMap()));
1599 1599
 				//foreach ($_headerObject->getStructure()->getParts() as $p => $part)
1600
-				$headerObject['ATTACHMENTS']=null;
1601
-				$skipParts=array();
1602
-				$messageMimeType='';
1600
+				$headerObject['ATTACHMENTS'] = null;
1601
+				$skipParts = array();
1602
+				$messageMimeType = '';
1603 1603
 				foreach ($mailStructureObject->contentTypeMap() as $mime_id => $mime_type)
1604 1604
 				{
1605
-					if ($mime_id==0 || $messageMimeType==='') $messageMimeType = $mime_type;
1605
+					if ($mime_id == 0 || $messageMimeType === '') $messageMimeType = $mime_type;
1606 1606
 					$part = $mailStructureObject->getPart($mime_id);
1607 1607
 					$partdisposition = $part->getDisposition();
1608 1608
 					$partPrimaryType = $part->getPrimaryType();
@@ -1610,16 +1610,16 @@  discard block
 block discarded – undo
1610 1610
 					// drawback here it is talking to the mailserver for each mail thus consuming
1611 1611
 					// more time than expected; so we call this section only when there is no
1612 1612
 					// bodypreview could be found (multipart/....)
1613
-					if ($_fetchPreviews && empty($headerObject['BODYPREVIEW'])&&($partPrimaryType == 'text') &&
1613
+					if ($_fetchPreviews && empty($headerObject['BODYPREVIEW']) && ($partPrimaryType == 'text') &&
1614 1614
 						((intval($mime_id) === 1) || !$mime_id) &&
1615 1615
 						($partdisposition !== 'attachment')) {
1616
-							$_structure=$part;
1617
-							$this->fetchPartContents($uid, $_structure, false,true);
1618
-							$headerObject['BODYPREVIEW']=trim(str_replace(array("\r\n","\r","\n"),' ',mb_substr(Mail\Html::convertHTMLToText($_structure->getContents()),0,((int)$_fetchPreviews<300?300:$_fetchPreviews))));
1619
-							$charSet=Translation::detect_encoding($headerObject['BODYPREVIEW']);
1616
+							$_structure = $part;
1617
+							$this->fetchPartContents($uid, $_structure, false, true);
1618
+							$headerObject['BODYPREVIEW'] = trim(str_replace(array("\r\n", "\r", "\n"), ' ', mb_substr(Mail\Html::convertHTMLToText($_structure->getContents()), 0, ((int)$_fetchPreviews < 300 ? 300 : $_fetchPreviews))));
1619
+							$charSet = Translation::detect_encoding($headerObject['BODYPREVIEW']);
1620 1620
 							// add line breaks to $bodyParts
1621 1621
 							//error_log(__METHOD__.' ('.__LINE__.') '.' Charset:'.$bodyParts[$i]['charSet'].'->'.$bodyParts[$i]['body']);
1622
-							$headerObject['BODYPREVIEW']  = Translation::convert_jsonsafe($headerObject['BODYPREVIEW'], $charSet);
1622
+							$headerObject['BODYPREVIEW'] = Translation::convert_jsonsafe($headerObject['BODYPREVIEW'], $charSet);
1623 1623
 							//error_log(__METHOD__.__LINE__.$headerObject['BODYPREVIEW']);
1624 1624
 					}
1625 1625
 					//error_log(__METHOD__.' ('.__LINE__.') '.' Uid:'.$uid.'->'.$mime_id.' Disp:'.$partdisposition.' Type:'.$partPrimaryType);
@@ -1629,28 +1629,28 @@  discard block
 block discarded – undo
1629 1629
 						// the presence of an cid does not necessarily indicate its inline. it may lack the needed
1630 1630
 						// link to show the image. Considering this: we "list" everything that matches the above criteria
1631 1631
 						// as attachment in order to not loose/miss information on our data
1632
-						$partdisposition='attachment';//($partPrimaryType == 'image'&&!empty($cid)?'inline':'attachment');
1632
+						$partdisposition = 'attachment'; //($partPrimaryType == 'image'&&!empty($cid)?'inline':'attachment');
1633 1633
 					}
1634
-					if ($mime_type=='message/rfc822')
1634
+					if ($mime_type == 'message/rfc822')
1635 1635
 					{
1636 1636
 						//error_log(__METHOD__.' ('.__LINE__.') '.' Uid:'.$uid.'->'.$mime_id.':'.array2string($part->contentTypeMap()));
1637
-						foreach($part->contentTypeMap() as $sub_id => $sub_type) { if ($sub_id != $mime_id) $skipParts[$sub_id] = $sub_type;}
1637
+						foreach ($part->contentTypeMap() as $sub_id => $sub_type) { if ($sub_id != $mime_id) $skipParts[$sub_id] = $sub_type; }
1638 1638
 					}
1639 1639
 					//error_log(__METHOD__.' ('.__LINE__.') '.' Uid:'.$uid.'->'.$mime_id.' Disp:'.$partdisposition.' Type:'.$partPrimaryType.' Skip:'.array2string($skipParts));
1640
-					if (array_key_exists($mime_id,$skipParts)) continue;
1641
-					if ($partdisposition=='attachment' ||
1642
-						($partdisposition=='inline'&&$partPrimaryType == 'image'&&$mime_type=='image/tiff') || // as we are not able to display tiffs
1643
-						($partdisposition=='inline'&&$partPrimaryType == 'image'&&empty($cid)) ||
1644
-						($partdisposition=='inline' && $partPrimaryType != 'image' && $partPrimaryType != 'multipart' && $partPrimaryType != 'text'))
1640
+					if (array_key_exists($mime_id, $skipParts)) continue;
1641
+					if ($partdisposition == 'attachment' ||
1642
+						($partdisposition == 'inline' && $partPrimaryType == 'image' && $mime_type == 'image/tiff') || // as we are not able to display tiffs
1643
+						($partdisposition == 'inline' && $partPrimaryType == 'image' && empty($cid)) ||
1644
+						($partdisposition == 'inline' && $partPrimaryType != 'image' && $partPrimaryType != 'multipart' && $partPrimaryType != 'text'))
1645 1645
 					{
1646
-						$headerObject['ATTACHMENTS'][$mime_id]=$part->getAllDispositionParameters();
1647
-						$headerObject['ATTACHMENTS'][$mime_id]['mimeType']=$mime_type;
1648
-						$headerObject['ATTACHMENTS'][$mime_id]['uid']=$uid;
1646
+						$headerObject['ATTACHMENTS'][$mime_id] = $part->getAllDispositionParameters();
1647
+						$headerObject['ATTACHMENTS'][$mime_id]['mimeType'] = $mime_type;
1648
+						$headerObject['ATTACHMENTS'][$mime_id]['uid'] = $uid;
1649 1649
 						$headerObject['ATTACHMENTS'][$mime_id]['cid'] = $cid;
1650
-						$headerObject['ATTACHMENTS'][$mime_id]['partID']=$mime_id;
1651
-						if (!isset($headerObject['ATTACHMENTS'][$mime_id]['name']))$headerObject['ATTACHMENTS'][$mime_id]['name']=$part->getName();
1652
-						if (!strcasecmp($headerObject['ATTACHMENTS'][$mime_id]['name'],'winmail.dat') ||
1653
-							$headerObject['ATTACHMENTS'][$mime_id]['mimeType']=='application/ms-tnef')
1650
+						$headerObject['ATTACHMENTS'][$mime_id]['partID'] = $mime_id;
1651
+						if (!isset($headerObject['ATTACHMENTS'][$mime_id]['name']))$headerObject['ATTACHMENTS'][$mime_id]['name'] = $part->getName();
1652
+						if (!strcasecmp($headerObject['ATTACHMENTS'][$mime_id]['name'], 'winmail.dat') ||
1653
+							$headerObject['ATTACHMENTS'][$mime_id]['mimeType'] == 'application/ms-tnef')
1654 1654
 						{
1655 1655
 							$headerObject['ATTACHMENTS'][$mime_id]['is_winmail'] = true;
1656 1656
 						}
@@ -1665,54 +1665,54 @@  discard block
 block discarded – undo
1665 1665
 				if (empty($headerObject['UID'])) continue;
1666 1666
 				//$uid = ($rByUid ? $headerObject['UID'] : $headerObject['MSG_NUM']);
1667 1667
 				// make dates like "Mon, 23 Apr 2007 10:11:06 UT" working with strtotime
1668
-				if(substr($headerObject['DATE'],-2) === 'UT') {
1668
+				if (substr($headerObject['DATE'], -2) === 'UT') {
1669 1669
 					$headerObject['DATE'] .= 'C';
1670 1670
 				}
1671
-				if(substr($headerObject['INTERNALDATE'],-2) === 'UT') {
1671
+				if (substr($headerObject['INTERNALDATE'], -2) === 'UT') {
1672 1672
 					$headerObject['INTERNALDATE'] .= 'C';
1673 1673
 				}
1674 1674
 				//error_log(__METHOD__.' ('.__LINE__.') '.' '.$headerObject['SUBJECT'].'->'.$headerObject['DATE'].'<->'.$headerObject['INTERNALDATE'] .'#');
1675 1675
 				//error_log(__METHOD__.' ('.__LINE__.') '.' '.$this->decode_subject($headerObject['SUBJECT']).'->'.$headerObject['DATE']);
1676
-				if (isset($headerObject['ATTACHMENTS']) && count($headerObject['ATTACHMENTS'])) foreach ($headerObject['ATTACHMENTS'] as &$a) { $retValue['header'][$sortOrder[$uid]]['attachments'][]=$a;}
1677
-				$retValue['header'][$sortOrder[$uid]]['subject']	= $this->decode_subject($headerObject['SUBJECT']);
1678
-				$retValue['header'][$sortOrder[$uid]]['size'] 		= $headerObject['SIZE'];
1679
-				$retValue['header'][$sortOrder[$uid]]['date']		= self::_strtotime(($headerObject['DATE']&&!($headerObject['DATE']=='NIL')?$headerObject['DATE']:$headerObject['INTERNALDATE']),'ts',true);
1680
-				$retValue['header'][$sortOrder[$uid]]['internaldate']= self::_strtotime($headerObject['INTERNALDATE'],'ts',true);
1681
-				$retValue['header'][$sortOrder[$uid]]['mimetype']	= $messageMimeType;
1682
-				$retValue['header'][$sortOrder[$uid]]['id']		= $headerObject['MSG_NUM'];
1683
-				$retValue['header'][$sortOrder[$uid]]['uid']		= $headerObject['UID'];
1684
-				$retValue['header'][$sortOrder[$uid]]['bodypreview']		= $headerObject['BODYPREVIEW'];
1685
-				$retValue['header'][$sortOrder[$uid]]['priority']		= ($headerObject['PRIORITY']?$headerObject['PRIORITY']:3);
1676
+				if (isset($headerObject['ATTACHMENTS']) && count($headerObject['ATTACHMENTS'])) foreach ($headerObject['ATTACHMENTS'] as &$a) { $retValue['header'][$sortOrder[$uid]]['attachments'][] = $a; }
1677
+				$retValue['header'][$sortOrder[$uid]]['subject'] = $this->decode_subject($headerObject['SUBJECT']);
1678
+				$retValue['header'][$sortOrder[$uid]]['size'] = $headerObject['SIZE'];
1679
+				$retValue['header'][$sortOrder[$uid]]['date'] = self::_strtotime(($headerObject['DATE'] && !($headerObject['DATE'] == 'NIL') ? $headerObject['DATE'] : $headerObject['INTERNALDATE']), 'ts', true);
1680
+				$retValue['header'][$sortOrder[$uid]]['internaldate'] = self::_strtotime($headerObject['INTERNALDATE'], 'ts', true);
1681
+				$retValue['header'][$sortOrder[$uid]]['mimetype'] = $messageMimeType;
1682
+				$retValue['header'][$sortOrder[$uid]]['id'] = $headerObject['MSG_NUM'];
1683
+				$retValue['header'][$sortOrder[$uid]]['uid'] = $headerObject['UID'];
1684
+				$retValue['header'][$sortOrder[$uid]]['bodypreview'] = $headerObject['BODYPREVIEW'];
1685
+				$retValue['header'][$sortOrder[$uid]]['priority'] = ($headerObject['PRIORITY'] ? $headerObject['PRIORITY'] : 3);
1686 1686
 				//error_log(__METHOD__.' ('.__LINE__.') '.' '.array2string($retValue['header'][$sortOrder[$uid]]));
1687 1687
 				if (isset($headerObject['DISPOSITION-NOTIFICATION-TO'])) $retValue['header'][$sortOrder[$uid]]['disposition-notification-to'] = $headerObject['DISPOSITION-NOTIFICATION-TO'];
1688 1688
 				if (is_array($headerObject['FLAGS'])) {
1689
-					$retValue['header'][$sortOrder[$uid]] = array_merge($retValue['header'][$sortOrder[$uid]],self::prepareFlagsArray($headerObject));
1689
+					$retValue['header'][$sortOrder[$uid]] = array_merge($retValue['header'][$sortOrder[$uid]], self::prepareFlagsArray($headerObject));
1690 1690
 				}
1691 1691
 				//error_log(__METHOD__.' ('.__LINE__.') '.$headerObject['SUBJECT'].'->'.array2string($_headerObject->getEnvelope()->__get('from')));
1692
-				if(is_array($headerObject['FROM']) && $headerObject['FROM'][0]) {
1693
-					$retValue['header'][$sortOrder[$uid]]['sender_address'] = self::decode_header($headerObject['FROM'][0],true);
1692
+				if (is_array($headerObject['FROM']) && $headerObject['FROM'][0]) {
1693
+					$retValue['header'][$sortOrder[$uid]]['sender_address'] = self::decode_header($headerObject['FROM'][0], true);
1694 1694
 				}
1695
-				if(is_array($headerObject['TO']) && $headerObject['TO'][0]) {
1696
-					$retValue['header'][$sortOrder[$uid]]['to_address'] = self::decode_header($headerObject['TO'][0],true);
1697
-					if (count($headerObject['TO'])>1)
1695
+				if (is_array($headerObject['TO']) && $headerObject['TO'][0]) {
1696
+					$retValue['header'][$sortOrder[$uid]]['to_address'] = self::decode_header($headerObject['TO'][0], true);
1697
+					if (count($headerObject['TO']) > 1)
1698 1698
 					{
1699
-						$ki=0;
1700
-						foreach($headerObject['TO'] as $k => $add)
1699
+						$ki = 0;
1700
+						foreach ($headerObject['TO'] as $k => $add)
1701 1701
 						{
1702
-							if ($k==0) continue;
1702
+							if ($k == 0) continue;
1703 1703
 							//error_log(__METHOD__.' ('.__LINE__.') '."-> $k:".array2string($add));
1704
-							$retValue['header'][$sortOrder[$uid]]['additional_to_addresses'][$ki] = self::decode_header($add,true);
1704
+							$retValue['header'][$sortOrder[$uid]]['additional_to_addresses'][$ki] = self::decode_header($add, true);
1705 1705
 							//error_log(__METHOD__.' ('.__LINE__.') '.array2string($retValue['header'][$sortOrder[$uid]]['additional_to_addresses'][$ki]));
1706 1706
 							$ki++;
1707 1707
 						}
1708 1708
 					}
1709 1709
 				}
1710
-				if(is_array($headerObject['CC']) && count($headerObject['CC'])>0) {
1711
-					$ki=0;
1712
-					foreach($headerObject['CC'] as $k => $add)
1710
+				if (is_array($headerObject['CC']) && count($headerObject['CC']) > 0) {
1711
+					$ki = 0;
1712
+					foreach ($headerObject['CC'] as $k => $add)
1713 1713
 					{
1714 1714
 						//error_log(__METHOD__.' ('.__LINE__.') '."-> $k:".array2string($add));
1715
-						$retValue['header'][$sortOrder[$uid]]['cc_addresses'][$ki] = self::decode_header($add,true);
1715
+						$retValue['header'][$sortOrder[$uid]]['cc_addresses'][$ki] = self::decode_header($add, true);
1716 1716
 						//error_log(__METHOD__.' ('.__LINE__.') '.array2string($retValue['header'][$sortOrder[$uid]]['additional_to_addresses'][$ki]));
1717 1717
 						$ki++;
1718 1718
 					}
@@ -1721,27 +1721,27 @@  discard block
 block discarded – undo
1721 1721
 
1722 1722
 				$count++;
1723 1723
 			}
1724
-			if (self::$debug||self::$debugTimes) self::logRunTimes($starttime,null,' fetching Headers and stuff for Folder:'.$_folderName,__METHOD__.' ('.__LINE__.') ');
1724
+			if (self::$debug || self::$debugTimes) self::logRunTimes($starttime, null, ' fetching Headers and stuff for Folder:'.$_folderName, __METHOD__.' ('.__LINE__.') ');
1725 1725
 			//self::$debug=false;
1726 1726
 			// sort the messages to the requested displayorder
1727
-			if(is_array($retValue['header'])) {
1727
+			if (is_array($retValue['header'])) {
1728 1728
 				$countMessages = $total;
1729 1729
 				if (isset($_filter['range'])) $countMessages = self::$folderStatusCache[$this->profileID][$_folderName]['messages'];
1730 1730
 				ksort($retValue['header']);
1731 1731
 				$retValue['info']['total']	= $total;
1732 1732
 				//if ($_startMessage>$total) $_startMessage = $total-($count-1);
1733 1733
 				$retValue['info']['first']	= $_startMessage;
1734
-				$retValue['info']['last']	= $_startMessage + $count - 1 ;
1734
+				$retValue['info']['last'] = $_startMessage + $count - 1;
1735 1735
 				return $retValue;
1736 1736
 			} else {
1737 1737
 				$retValue = array();
1738 1738
 				$retValue['info']['total']	= 0;
1739 1739
 				$retValue['info']['first']	= 0;
1740
-				$retValue['info']['last']	= 0;
1740
+				$retValue['info']['last'] = 0;
1741 1741
 				return $retValue;
1742 1742
 			}
1743 1743
 		} else {
1744
-			if ($headersNew == null && empty($_thisUIDOnly)) error_log(__METHOD__." -> retrieval of Message Details to Query $queryString failed: ".print_r($headersNew,TRUE));
1744
+			if ($headersNew == null && empty($_thisUIDOnly)) error_log(__METHOD__." -> retrieval of Message Details to Query $queryString failed: ".print_r($headersNew, TRUE));
1745 1745
 			$retValue = array();
1746 1746
 			$retValue['info']['total']  = 0;
1747 1747
 			$retValue['info']['first']  = 0;
@@ -1758,17 +1758,17 @@  discard block
 block discarded – undo
1758 1758
 	 */
1759 1759
 	static function prepareFlagsArray($headerObject)
1760 1760
 	{
1761
-		if (is_array($headerObject['FLAGS'])) $headerFlags = array_map('strtolower',$headerObject['FLAGS']);
1761
+		if (is_array($headerObject['FLAGS'])) $headerFlags = array_map('strtolower', $headerObject['FLAGS']);
1762 1762
 		$retValue = array();
1763 1763
 		$retValue['recent']		= in_array('\\recent', $headerFlags);
1764 1764
 		$retValue['flagged']	= in_array('\\flagged', $headerFlags);
1765
-		$retValue['answered']	= in_array('\\answered', $headerFlags);
1766
-		$retValue['forwarded']   = in_array('$forwarded', $headerFlags);
1765
+		$retValue['answered'] = in_array('\\answered', $headerFlags);
1766
+		$retValue['forwarded'] = in_array('$forwarded', $headerFlags);
1767 1767
 		$retValue['deleted']	= in_array('\\deleted', $headerFlags);
1768
-		$retValue['seen']		= in_array('\\seen', $headerFlags);
1769
-		$retValue['draft']		= in_array('\\draft', $headerFlags);
1770
-		$retValue['mdnsent']	= in_array('$mdnsent', $headerFlags)||in_array('mdnsent', $headerFlags);
1771
-		$retValue['mdnnotsent']	= in_array('$mdnnotsent', $headerFlags)||in_array('mdnnotsent', $headerFlags);
1768
+		$retValue['seen'] = in_array('\\seen', $headerFlags);
1769
+		$retValue['draft'] = in_array('\\draft', $headerFlags);
1770
+		$retValue['mdnsent']	= in_array('$mdnsent', $headerFlags) || in_array('mdnsent', $headerFlags);
1771
+		$retValue['mdnnotsent'] = in_array('$mdnnotsent', $headerFlags) || in_array('mdnnotsent', $headerFlags);
1772 1772
 		$retValue['label1']   = in_array('$label1', $headerFlags);
1773 1773
 		$retValue['label2']   = in_array('$label2', $headerFlags);
1774 1774
 		$retValue['label3']   = in_array('$label3', $headerFlags);
@@ -1792,12 +1792,12 @@  discard block
 block discarded – undo
1792 1792
 	 * @param bool $setSession if set to true the session will be populated with the result of the query
1793 1793
 	 * @return mixed bool/array false or array of ids
1794 1794
 	 */
1795
-	function getSortedList($_folderName, $_sort, &$_reverse, $_filter, &$resultByUid=true, $setSession=true)
1795
+	function getSortedList($_folderName, $_sort, &$_reverse, $_filter, &$resultByUid = true, $setSession = true)
1796 1796
 	{
1797 1797
 		static $cachedFolderStatus = null;
1798 1798
 		// in the past we needed examineMailbox to figure out if the server with the serverID support keywords
1799 1799
 		// this information is filled/provided by examineMailbox; but caching within one request seems o.k.
1800
-		if (is_null($cachedFolderStatus) || !isset($cachedFolderStatus[$this->profileID][$_folderName]) )
1800
+		if (is_null($cachedFolderStatus) || !isset($cachedFolderStatus[$this->profileID][$_folderName]))
1801 1801
 		{
1802 1802
 			$folderStatus = $cachedFolderStatus[$this->profileID][$_folderName] = $this->icServer->examineMailbox($_folderName);
1803 1803
 		}
@@ -1809,27 +1809,27 @@  discard block
 block discarded – undo
1809 1809
 		//error_log(__METHOD__.' ('.__LINE__.') '.' Filter:'.array2string($_filter));
1810 1810
 		$try2useCache = true;
1811 1811
 		static $eMailListContainsDeletedMessages = null;
1812
-		if (is_null($eMailListContainsDeletedMessages)) $eMailListContainsDeletedMessages = Cache::getCache(Cache::INSTANCE,'email','eMailListContainsDeletedMessages'.trim($GLOBALS['egw_info']['user']['account_id']),null,array(),60*60*1);
1812
+		if (is_null($eMailListContainsDeletedMessages)) $eMailListContainsDeletedMessages = Cache::getCache(Cache::INSTANCE, 'email', 'eMailListContainsDeletedMessages'.trim($GLOBALS['egw_info']['user']['account_id']), null, array(), 60 * 60 * 1);
1813 1813
 		// this indicates, that there is no Filter set, and the returned set/subset should not contain DELETED Messages, nor filtered for UNDELETED
1814
-		if ($setSession==true && ((strpos(array2string($_filter), 'UNDELETED') === false && strpos(array2string($_filter), 'DELETED') === false)))
1814
+		if ($setSession == true && ((strpos(array2string($_filter), 'UNDELETED') === false && strpos(array2string($_filter), 'DELETED') === false)))
1815 1815
 		{
1816 1816
 			if (self::$debugTimes) $starttime = microtime(true);
1817
-			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);
1818
-			$deletedMessages = $this->getSortedList($_folderName, 0, $three=1, array('status'=>array('DELETED')),$five=true,false);
1817
+			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);
1818
+			$deletedMessages = $this->getSortedList($_folderName, 0, $three = 1, array('status'=>array('DELETED')), $five = true, false);
1819 1819
 			if (self::$debug) error_log(__METHOD__.' ('.__LINE__.') Found DeletedMessages:'.array2string($eMailListContainsDeletedMessages));
1820
-			$eMailListContainsDeletedMessages[$this->profileID][$_folderName] =$deletedMessages['count'];
1821
-			Cache::setCache(Cache::INSTANCE,'email','eMailListContainsDeletedMessages'.trim($GLOBALS['egw_info']['user']['account_id']),$eMailListContainsDeletedMessages, 60*60*1);
1822
-			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']);
1820
+			$eMailListContainsDeletedMessages[$this->profileID][$_folderName] = $deletedMessages['count'];
1821
+			Cache::setCache(Cache::INSTANCE, 'email', 'eMailListContainsDeletedMessages'.trim($GLOBALS['egw_info']['user']['account_id']), $eMailListContainsDeletedMessages, 60 * 60 * 1);
1822
+			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']);
1823 1823
 		}
1824 1824
 		$try2useCache = false;
1825 1825
 		//self::$supportsORinQuery[$this->profileID]=true;
1826 1826
 		if (is_null(self::$supportsORinQuery) || !isset(self::$supportsORinQuery[$this->profileID]))
1827 1827
 		{
1828
-			self::$supportsORinQuery = Cache::getCache(Cache::INSTANCE,'email','supportsORinQuery'.trim($GLOBALS['egw_info']['user']['account_id']),null,array(),60*60*10);
1829
-			if (!isset(self::$supportsORinQuery[$this->profileID])) self::$supportsORinQuery[$this->profileID]=true;
1828
+			self::$supportsORinQuery = Cache::getCache(Cache::INSTANCE, 'email', 'supportsORinQuery'.trim($GLOBALS['egw_info']['user']['account_id']), null, array(), 60 * 60 * 10);
1829
+			if (!isset(self::$supportsORinQuery[$this->profileID])) self::$supportsORinQuery[$this->profileID] = true;
1830 1830
 		}
1831 1831
 		//error_log(__METHOD__.' ('.__LINE__.') '.array2string($_filter).' SupportsOrInQuery:'.self::$supportsORinQuery[$this->profileID]);
1832
-		$filter = $this->createIMAPFilter($_folderName, $_filter,self::$supportsORinQuery[$this->profileID]);
1832
+		$filter = $this->createIMAPFilter($_folderName, $_filter, self::$supportsORinQuery[$this->profileID]);
1833 1833
 		if (self::$debug)
1834 1834
 		{
1835 1835
 			$query_str = $filter->build();
@@ -1837,14 +1837,14 @@  discard block
 block discarded – undo
1837 1837
 		}
1838 1838
 		//_debug_array($filter);
1839 1839
 		//error_log(__METHOD__.' ('.__LINE__.') '.array2string($filter).'#'.array2string($this->icServer->capability()));
1840
-		if($this->icServer->hasCapability('SORT')) {
1840
+		if ($this->icServer->hasCapability('SORT')) {
1841 1841
 			// when using an orQuery and we sort by date. sort seems to fail on certain servers => ZIMBRA with Horde_Imap_Client
1842 1842
 			// thus we translate the search request from date to Horde_Imap_Client::SORT_SEQUENCE (which should be the same, if
1843 1843
 			// there is no messing with the dates)
1844 1844
 			//if (self::$supportsORinQuery[$this->profileID]&&$_sort=='date'&&$_filter['type']=='quick'&&!empty($_filter['string']))$_sort='INTERNALDATE';
1845 1845
 			if (self::$debug) error_log(__METHOD__." Mailserver has SORT Capability, SortBy: ".array2string($_sort)." Reverse: $_reverse");
1846 1846
 			$sortOrder = $this->_getSortString($_sort, $_reverse);
1847
-			if ($_reverse && in_array(Horde_Imap_Client::SORT_REVERSE,$sortOrder)) $_reverse=false; // as we reversed the result already
1847
+			if ($_reverse && in_array(Horde_Imap_Client::SORT_REVERSE, $sortOrder)) $_reverse = false; // as we reversed the result already
1848 1848
 			if (self::$debug) error_log(__METHOD__." Mailserver runs SORT: SortBy:".array2string($_sort)."->".array2string($sortOrder)." Filter: ".array2string($filter));
1849 1849
 			try
1850 1850
 			{
@@ -1852,24 +1852,24 @@  discard block
 block discarded – undo
1852 1852
 					'sort' => $sortOrder,));
1853 1853
 			// if there is an Error, we assume that the server is not capable of sorting
1854 1854
 			}
1855
-			catch(\Exception $e)
1855
+			catch (\Exception $e)
1856 1856
 			{
1857 1857
 				//error_log(__METHOD__.'('.__LINE__.'):'.$e->getMessage());
1858 1858
 				$resultByUid = false;
1859 1859
 				$sortOrder = array(Horde_Imap_Client::SORT_SEQUENCE);
1860
-				if ($_reverse) array_unshift($sortOrder,Horde_Imap_Client::SORT_REVERSE);
1860
+				if ($_reverse) array_unshift($sortOrder, Horde_Imap_Client::SORT_REVERSE);
1861 1861
 				try
1862 1862
 				{
1863 1863
 					$sortResult = $this->icServer->search($_folderName, $filter, array(
1864 1864
 						'sort' => $sortOrder));
1865 1865
 				}
1866
-				catch(\Exception $e)
1866
+				catch (\Exception $e)
1867 1867
 				{
1868 1868
 					error_log(__METHOD__.'('.__LINE__.'):'.$e->getMessage());
1869 1869
 					$sortResult = self::$folderStatusCache[$this->profileID][$_folderName]['sortResult'];
1870 1870
 				}
1871 1871
 			}
1872
-			if (self::$debug) error_log(__METHOD__.print_r($sortResult,true));
1872
+			if (self::$debug) error_log(__METHOD__.print_r($sortResult, true));
1873 1873
 		} else {
1874 1874
 			if (self::$debug) error_log(__METHOD__." Mailserver has NO SORT Capability");
1875 1875
 			//$sortOrder = array(Horde_Imap_Client::SORT_SEQUENCE);
@@ -1879,12 +1879,12 @@  discard block
 block discarded – undo
1879 1879
 				$sortResult = $this->icServer->search($_folderName, $filter, array()/*array(
1880 1880
 					'sort' => $sortOrder)*/);
1881 1881
 			}
1882
-			catch(\Exception $e)
1882
+			catch (\Exception $e)
1883 1883
 			{
1884 1884
 				//error_log(__METHOD__.'('.__LINE__.'):'.$e->getMessage());
1885 1885
 				// possible error OR Query. But Horde gives no detailed Info :-(
1886
-				self::$supportsORinQuery[$this->profileID]=false;
1887
-				Cache::setCache(Cache::INSTANCE,'email','supportsORinQuery'.trim($GLOBALS['egw_info']['user']['account_id']),self::$supportsORinQuery,60*60*10);
1886
+				self::$supportsORinQuery[$this->profileID] = false;
1887
+				Cache::setCache(Cache::INSTANCE, 'email', 'supportsORinQuery'.trim($GLOBALS['egw_info']['user']['account_id']), self::$supportsORinQuery, 60 * 60 * 10);
1888 1888
 				if (self::$debug) error_log(__METHOD__.__LINE__." Mailserver seems to have NO OR Capability for Search:".$sortResult->message);
1889 1889
 				$filter = $this->createIMAPFilter($_folderName, $_filter, self::$supportsORinQuery[$this->profileID]);
1890 1890
 				try
@@ -1892,25 +1892,25 @@  discard block
 block discarded – undo
1892 1892
 					$sortResult = $this->icServer->search($_folderName, $filter, array()/*array(
1893 1893
 						'sort' => $sortOrder)*/);
1894 1894
 				}
1895
-				catch(\Exception $e)
1895
+				catch (\Exception $e)
1896 1896
 				{
1897 1897
 				}
1898 1898
 			}
1899
-			if(is_array($sortResult['match'])) {
1899
+			if (is_array($sortResult['match'])) {
1900 1900
 					// not sure that this is going so succeed as $sortResult['match'] is a hordeObject
1901 1901
 					sort($sortResult['match'], SORT_NUMERIC);
1902 1902
 			}
1903
-			if (self::$debug) error_log(__METHOD__." using Filter:".print_r($filter,true)." ->".print_r($sortResult,true));
1903
+			if (self::$debug) error_log(__METHOD__." using Filter:".print_r($filter, true)." ->".print_r($sortResult, true));
1904 1904
 		}
1905 1905
 		if ($setSession)
1906 1906
 		{
1907 1907
 			self::$folderStatusCache[$this->profileID][$_folderName]['uidValidity'] = $folderStatus['UIDVALIDITY'];
1908
-			self::$folderStatusCache[$this->profileID][$_folderName]['messages']	= $folderStatus['MESSAGES'];
1908
+			self::$folderStatusCache[$this->profileID][$_folderName]['messages'] = $folderStatus['MESSAGES'];
1909 1909
 			self::$folderStatusCache[$this->profileID][$_folderName]['deleted']	= $eMailListContainsDeletedMessages[$this->profileID][$_folderName];
1910 1910
 			self::$folderStatusCache[$this->profileID][$_folderName]['uidnext']	= $folderStatus['UIDNEXT'];
1911
-			self::$folderStatusCache[$this->profileID][$_folderName]['filter']	= $_filter;
1911
+			self::$folderStatusCache[$this->profileID][$_folderName]['filter'] = $_filter;
1912 1912
 			self::$folderStatusCache[$this->profileID][$_folderName]['sortResult'] = $sortResult;
1913
-			self::$folderStatusCache[$this->profileID][$_folderName]['sort']	= $_sort;
1913
+			self::$folderStatusCache[$this->profileID][$_folderName]['sort'] = $_sort;
1914 1914
 		}
1915 1915
 		//error_log(__METHOD__." using Filter:".print_r($filter,true)." ->".print_r($sortResult,true));
1916 1916
 		//_debug_array($sortResult['match']->ids);
@@ -1924,12 +1924,12 @@  discard block
 block discarded – undo
1924 1924
 	 * @param bool _reverse wether to add REVERSE to the Sort String or not
1925 1925
 	 * @return the sort sequence for horde search
1926 1926
 	 */
1927
-	function _getSortString($_sort, $_reverse=false)
1927
+	function _getSortString($_sort, $_reverse = false)
1928 1928
 	{
1929
-		$_reverse=false;
1929
+		$_reverse = false;
1930 1930
 		if (is_numeric($_sort))
1931 1931
 		{
1932
-			switch($_sort) {
1932
+			switch ($_sort) {
1933 1933
 				case 2:
1934 1934
 					$retValue = array(Horde_Imap_Client::SORT_FROM);
1935 1935
 					break;
@@ -1951,7 +1951,7 @@  discard block
 block discarded – undo
1951 1951
 		}
1952 1952
 		else
1953 1953
 		{
1954
-			switch(strtoupper($_sort)) {
1954
+			switch (strtoupper($_sort)) {
1955 1955
 				case 'FROMADDRESS':
1956 1956
 					$retValue = array(Horde_Imap_Client::SORT_FROM);
1957 1957
 					break;
@@ -1977,7 +1977,7 @@  discard block
 block discarded – undo
1977 1977
 					break;
1978 1978
 			}
1979 1979
 		}
1980
-		if ($_reverse) array_unshift($retValue,Horde_Imap_Client::SORT_REVERSE);
1980
+		if ($_reverse) array_unshift($retValue, Horde_Imap_Client::SORT_REVERSE);
1981 1981
 		//error_log(__METHOD__.' ('.__LINE__.') '.' '.($_reverse?'REVERSE ':'').$_sort.'->'.$retValue);
1982 1982
 		return $retValue;
1983 1983
 	}
@@ -1990,28 +1990,28 @@  discard block
 block discarded – undo
1990 1990
 	 * @param boolean $_supportsOrInQuery wether to use the OR Query on QuickSearch
1991 1991
 	 * @return Horde_Imap_Client_Search_Query the IMAP filter
1992 1992
 	 */
1993
-	function createIMAPFilter($_folder, $_criterias, $_supportsOrInQuery=true)
1993
+	function createIMAPFilter($_folder, $_criterias, $_supportsOrInQuery = true)
1994 1994
 	{
1995 1995
 		$imapFilter = new Horde_Imap_Client_Search_Query();
1996 1996
 		$imapFilter->charset('UTF-8');
1997 1997
 
1998 1998
 		//_debug_array($_criterias);
1999
-		if (self::$debug) error_log(__METHOD__.' ('.__LINE__.') '.' Criterias:'.(!is_array($_criterias)?" none -> returning":array2string($_criterias)));
2000
-		if((!is_array($_criterias) || $_criterias['status']=='any') &&
1999
+		if (self::$debug) error_log(__METHOD__.' ('.__LINE__.') '.' Criterias:'.(!is_array($_criterias) ? " none -> returning" : array2string($_criterias)));
2000
+		if ((!is_array($_criterias) || $_criterias['status'] == 'any') &&
2001 2001
 			(!isset($_criterias['string']) || empty($_criterias['string'])) &&
2002
-			(!isset($_criterias['range'])|| empty($_criterias['range']) ||
2003
-			( !empty($_criterias['range'])&& ($_criterias['range']!='BETWEEN' && empty($_criterias['date'])||
2004
-			($_criterias['range']=='BETWEEN' && empty($_criterias['since'])&& empty($_criterias['before']))))))
2002
+			(!isset($_criterias['range']) || empty($_criterias['range']) ||
2003
+			(!empty($_criterias['range']) && ($_criterias['range'] != 'BETWEEN' && empty($_criterias['date']) ||
2004
+			($_criterias['range'] == 'BETWEEN' && empty($_criterias['since']) && empty($_criterias['before']))))))
2005 2005
 		{
2006 2006
 			//error_log(__METHOD__.' ('.__LINE__.') returning early Criterias:'.print_r($_criterias, true));
2007
-			$imapFilter->flag('DELETED', $set=false);
2007
+			$imapFilter->flag('DELETED', $set = false);
2008 2008
 			return $imapFilter;
2009 2009
 		}
2010 2010
 		$queryValid = false;
2011 2011
 		// statusQuery MUST be placed first, as search for subject/mailbody and such is
2012 2012
 		// depending on charset. flagSearch is not BUT messes the charset if called afterwards
2013 2013
 		$statusQueryValid = false;
2014
-		foreach((array)$_criterias['status'] as $k => $criteria) {
2014
+		foreach ((array)$_criterias['status'] as $k => $criteria) {
2015 2015
 			$imapStatusFilter = new Horde_Imap_Client_Search_Query();
2016 2016
 			$imapStatusFilter->charset('UTF-8');
2017 2017
 			$criteria = strtoupper($criteria);
@@ -2021,12 +2021,12 @@  discard block
 block discarded – undo
2021 2021
 				case 'FLAGGED':
2022 2022
 				case 'RECENT':
2023 2023
 				case 'SEEN':
2024
-					$imapStatusFilter->flag($criteria, $set=true);
2025
-					$queryValid = $statusQueryValid =true;
2024
+					$imapStatusFilter->flag($criteria, $set = true);
2025
+					$queryValid = $statusQueryValid = true;
2026 2026
 					break;
2027 2027
 				case 'READ':
2028
-					$imapStatusFilter->flag('SEEN', $set=true);
2029
-					$queryValid = $statusQueryValid =true;
2028
+					$imapStatusFilter->flag('SEEN', $set = true);
2029
+					$queryValid = $statusQueryValid = true;
2030 2030
 					break;
2031 2031
 				case 'LABEL1':
2032 2032
 				case 'KEYWORD1':
@@ -2038,38 +2038,38 @@  discard block
 block discarded – undo
2038 2038
 				case 'KEYWORD4':
2039 2039
 				case 'LABEL5':
2040 2040
 				case 'KEYWORD5':
2041
-					$imapStatusFilter->flag(str_ireplace('KEYWORD','$LABEL',$criteria), $set=true);
2042
-					$queryValid = $statusQueryValid =true;
2041
+					$imapStatusFilter->flag(str_ireplace('KEYWORD', '$LABEL', $criteria), $set = true);
2042
+					$queryValid = $statusQueryValid = true;
2043 2043
 					break;
2044 2044
 				case 'NEW':
2045
-					$imapStatusFilter->flag('RECENT', $set=true);
2046
-					$imapStatusFilter->flag('SEEN', $set=false);
2047
-					$queryValid = $statusQueryValid =true;
2045
+					$imapStatusFilter->flag('RECENT', $set = true);
2046
+					$imapStatusFilter->flag('SEEN', $set = false);
2047
+					$queryValid = $statusQueryValid = true;
2048 2048
 					break;
2049 2049
 				case 'OLD':
2050
-					$imapStatusFilter->flag('RECENT', $set=false);
2051
-					$queryValid = $statusQueryValid =true;
2050
+					$imapStatusFilter->flag('RECENT', $set = false);
2051
+					$queryValid = $statusQueryValid = true;
2052 2052
 					break;
2053 2053
 // operate only on system flags
2054 2054
 //        $systemflags = array(
2055 2055
 //            'ANSWERED', 'DELETED', 'DRAFT', 'FLAGGED', 'RECENT', 'SEEN'
2056 2056
 //        );
2057 2057
 				case 'UNANSWERED':
2058
-					$imapStatusFilter->flag('ANSWERED', $set=false);
2059
-					$queryValid = $statusQueryValid =true;
2058
+					$imapStatusFilter->flag('ANSWERED', $set = false);
2059
+					$queryValid = $statusQueryValid = true;
2060 2060
 					break;
2061 2061
 				case 'UNDELETED':
2062
-					$imapFilter->flag('DELETED', $set=false);
2062
+					$imapFilter->flag('DELETED', $set = false);
2063 2063
 					$queryValid = true;
2064 2064
 					break;
2065 2065
 				case 'UNFLAGGED':
2066
-					$imapStatusFilter->flag('FLAGGED', $set=false);
2067
-					$queryValid = $statusQueryValid =true;
2066
+					$imapStatusFilter->flag('FLAGGED', $set = false);
2067
+					$queryValid = $statusQueryValid = true;
2068 2068
 					break;
2069 2069
 				case 'UNREAD':
2070 2070
 				case 'UNSEEN':
2071
-					$imapStatusFilter->flag('SEEN', $set=false);
2072
-					$queryValid = $statusQueryValid =true;
2071
+					$imapStatusFilter->flag('SEEN', $set = false);
2072
+					$queryValid = $statusQueryValid = true;
2073 2073
 					break;
2074 2074
 				case 'UNLABEL1':
2075 2075
 				case 'UNKEYWORD1':
@@ -2081,8 +2081,8 @@  discard block
 block discarded – undo
2081 2081
 				case 'UNKEYWORD4':
2082 2082
 				case 'UNLABEL5':
2083 2083
 				case 'UNKEYWORD5':
2084
-					$imapStatusFilter->flag(str_ireplace(array('UNKEYWORD','UNLABEL'),'$LABEL',$criteria), $set=false);
2085
-					$queryValid = $statusQueryValid =true;
2084
+					$imapStatusFilter->flag(str_ireplace(array('UNKEYWORD', 'UNLABEL'), '$LABEL', $criteria), $set = false);
2085
+					$queryValid = $statusQueryValid = true;
2086 2086
 					break;
2087 2087
 				default:
2088 2088
 					$statusQueryValid = false;
@@ -2098,20 +2098,20 @@  discard block
 block discarded – undo
2098 2098
 		$imapSearchFilter = new Horde_Imap_Client_Search_Query();
2099 2099
 		$imapSearchFilter->charset('UTF-8');
2100 2100
 
2101
-		if(!empty($_criterias['string'])) {
2101
+		if (!empty($_criterias['string'])) {
2102 2102
 			$criteria = strtoupper($_criterias['type']);
2103 2103
 			switch ($criteria) {
2104 2104
 				case 'BYDATE':
2105 2105
 				case 'QUICK':
2106 2106
 				case 'QUICKWITHCC':
2107
-					$imapSearchFilter->headerText('SUBJECT', $_criterias['string'], $not=false);
2107
+					$imapSearchFilter->headerText('SUBJECT', $_criterias['string'], $not = false);
2108 2108
 					//$imapSearchFilter->charset('UTF-8');
2109 2109
 					$imapFilter2 = new Horde_Imap_Client_Search_Query();
2110 2110
 					$imapFilter2->charset('UTF-8');
2111
-					if($this->isSentFolder($_folder)) {
2112
-						$imapFilter2->headerText('TO', $_criterias['string'], $not=false);
2111
+					if ($this->isSentFolder($_folder)) {
2112
+						$imapFilter2->headerText('TO', $_criterias['string'], $not = false);
2113 2113
 					} else {
2114
-						$imapFilter2->headerText('FROM', $_criterias['string'], $not=false);
2114
+						$imapFilter2->headerText('FROM', $_criterias['string'], $not = false);
2115 2115
 					}
2116 2116
 					if ($_supportsOrInQuery)
2117 2117
 					{
@@ -2121,31 +2121,31 @@  discard block
 block discarded – undo
2121 2121
 					{
2122 2122
 						$imapSearchFilter->andSearch($imapFilter2);
2123 2123
 					}
2124
-					if ($_supportsOrInQuery && $criteria=='QUICKWITHCC')
2124
+					if ($_supportsOrInQuery && $criteria == 'QUICKWITHCC')
2125 2125
 					{
2126 2126
 						$imapFilter3 = new Horde_Imap_Client_Search_Query();
2127 2127
 						$imapFilter3->charset('UTF-8');
2128
-						$imapFilter3->headerText('CC', $_criterias['string'], $not=false);
2128
+						$imapFilter3->headerText('CC', $_criterias['string'], $not = false);
2129 2129
 						$imapSearchFilter->orSearch($imapFilter3);
2130 2130
 					}
2131 2131
 					$queryValid = true;
2132 2132
 					break;
2133 2133
 				case 'LARGER':
2134 2134
 				case 'SMALLER':
2135
-					if (strlen(trim($_criterias['string'])) != strlen((float) trim($_criterias['string'])))
2135
+					if (strlen(trim($_criterias['string'])) != strlen((float)trim($_criterias['string'])))
2136 2136
 					{
2137 2137
 						//examine string to evaluate size
2138
-						$unit = strtoupper(trim(substr(trim($_criterias['string']),strlen((float) trim($_criterias['string'])))));
2139
-						$multipleBy = array('KB'=>1024,'K'=>1024,
2140
-											'MB'=>1024*1000,'M'=>1024*1000,
2141
-											'GB'=>1024*1000*1000,'G'=>1024*1000*1000,
2142
-											'TB'=>1024*1000*1000*1000,'T'=>1024*1000*1000*1000);
2143
-						$numberinBytes=(float)$_criterias['string'];
2144
-						if (isset($multipleBy[$unit])) $numberinBytes=(float)$_criterias['string']*$multipleBy[$unit];
2138
+						$unit = strtoupper(trim(substr(trim($_criterias['string']), strlen((float)trim($_criterias['string'])))));
2139
+						$multipleBy = array('KB'=>1024, 'K'=>1024,
2140
+											'MB'=>1024 * 1000, 'M'=>1024 * 1000,
2141
+											'GB'=>1024 * 1000 * 1000, 'G'=>1024 * 1000 * 1000,
2142
+											'TB'=>1024 * 1000 * 1000 * 1000, 'T'=>1024 * 1000 * 1000 * 1000);
2143
+						$numberinBytes = (float)$_criterias['string'];
2144
+						if (isset($multipleBy[$unit])) $numberinBytes = (float)$_criterias['string'] * $multipleBy[$unit];
2145 2145
 						//error_log(__METHOD__.__LINE__.'#'.$_criterias['string'].'->'.(float)$_criterias['string'].'#'.$unit.' ='.$numberinBytes);
2146
-						$_criterias['string']=$numberinBytes;
2146
+						$_criterias['string'] = $numberinBytes;
2147 2147
 					}
2148
-					$imapSearchFilter->size( $_criterias['string'], ($criteria=='LARGER'?true:false), $not=false);
2148
+					$imapSearchFilter->size($_criterias['string'], ($criteria == 'LARGER' ? true : false), $not = false);
2149 2149
 					//$imapSearchFilter->charset('UTF-8');
2150 2150
 					$queryValid = true;
2151 2151
 					break;
@@ -2154,31 +2154,31 @@  discard block
 block discarded – undo
2154 2154
 				case 'CC':
2155 2155
 				case 'BCC':
2156 2156
 				case 'SUBJECT':
2157
-					$imapSearchFilter->headerText($criteria, $_criterias['string'], $not=false);
2157
+					$imapSearchFilter->headerText($criteria, $_criterias['string'], $not = false);
2158 2158
 					//$imapSearchFilter->charset('UTF-8');
2159 2159
 					$queryValid = true;
2160 2160
 					break;
2161 2161
 				case 'BODY':
2162 2162
 				case 'TEXT':
2163
-					$imapSearchFilter->text($_criterias['string'],($criteria=='BODY'?true:false), $not=false);
2163
+					$imapSearchFilter->text($_criterias['string'], ($criteria == 'BODY' ? true : false), $not = false);
2164 2164
 					//$imapSearchFilter->charset('UTF-8');
2165 2165
 					$queryValid = true;
2166 2166
 					break;
2167 2167
 				case 'SINCE':
2168
-					$imapSearchFilter->dateSearch(new DateTime($_criterias['string']), Horde_Imap_Client_Search_Query::DATE_SINCE, $header=true, $not=false);
2168
+					$imapSearchFilter->dateSearch(new DateTime($_criterias['string']), Horde_Imap_Client_Search_Query::DATE_SINCE, $header = true, $not = false);
2169 2169
 					$queryValid = true;
2170 2170
 					break;
2171 2171
 				case 'BEFORE':
2172
-					$imapSearchFilter->dateSearch(new DateTime($_criterias['string']), Horde_Imap_Client_Search_Query::DATE_BEFORE, $header=true, $not=false);
2172
+					$imapSearchFilter->dateSearch(new DateTime($_criterias['string']), Horde_Imap_Client_Search_Query::DATE_BEFORE, $header = true, $not = false);
2173 2173
 					$queryValid = true;
2174 2174
 					break;
2175 2175
 				case 'ON':
2176
-					$imapSearchFilter->dateSearch(new DateTime($_criterias['string']), Horde_Imap_Client_Search_Query::DATE_ON, $header=true, $not=false);
2176
+					$imapSearchFilter->dateSearch(new DateTime($_criterias['string']), Horde_Imap_Client_Search_Query::DATE_ON, $header = true, $not = false);
2177 2177
 					$queryValid = true;
2178 2178
 					break;
2179 2179
 			}
2180 2180
 		}
2181
-		if ($statusQueryValid && !$queryValid) $queryValid=true;
2181
+		if ($statusQueryValid && !$queryValid) $queryValid = true;
2182 2182
 		if ($queryValid) $imapFilter->andSearch($imapSearchFilter);
2183 2183
 
2184 2184
 		if (isset($_criterias['range']) && !empty($_criterias['range']))
@@ -2187,12 +2187,12 @@  discard block
 block discarded – undo
2187 2187
 			$imapRangeFilter = new Horde_Imap_Client_Search_Query();
2188 2188
 			$imapRangeFilter->charset('UTF-8');
2189 2189
 			$criteria = strtoupper($_criterias['range']);
2190
-			if ($_criterias['range'] == "BETWEEN" && isset($_criterias['since']) && isset($_criterias['before']) && $_criterias['since']==$_criterias['before'])
2190
+			if ($_criterias['range'] == "BETWEEN" && isset($_criterias['since']) && isset($_criterias['before']) && $_criterias['since'] == $_criterias['before'])
2191 2191
 			{
2192
-				$_criterias['date']=$_criterias['since'];
2192
+				$_criterias['date'] = $_criterias['since'];
2193 2193
 				unset($_criterias['since']);
2194 2194
 				unset($_criterias['before']);
2195
-				$criteria=$_criterias['range']='ON';
2195
+				$criteria = $_criterias['range'] = 'ON';
2196 2196
 			}
2197 2197
 			switch ($criteria) {
2198 2198
 				case 'BETWEEN':
@@ -2200,7 +2200,7 @@  discard block
 block discarded – undo
2200 2200
 					//enddate
2201 2201
 					if ($_criterias['since'])
2202 2202
 					{
2203
-						$imapRangeFilter->dateSearch(new DateTime($_criterias['since']), Horde_Imap_Client_Search_Query::DATE_SINCE, $header=true, $not=false);
2203
+						$imapRangeFilter->dateSearch(new DateTime($_criterias['since']), Horde_Imap_Client_Search_Query::DATE_SINCE, $header = true, $not = false);
2204 2204
 						$rangeValid = true;
2205 2205
 					}
2206 2206
 					//startdate
@@ -2209,28 +2209,28 @@  discard block
 block discarded – undo
2209 2209
 						$imapRangeFilter2 = new Horde_Imap_Client_Search_Query();
2210 2210
 						$imapRangeFilter2->charset('UTF-8');
2211 2211
 						//our before (startdate) is inklusive, as we work with "d-M-Y", we must add a day
2212
-						$_criterias['before'] = date("d-M-Y",DateTime::to($_criterias['before'],'ts')+(3600*24));
2213
-						$imapRangeFilter2->dateSearch(new DateTime($_criterias['before']), Horde_Imap_Client_Search_Query::DATE_BEFORE, $header=true, $not=false);
2212
+						$_criterias['before'] = date("d-M-Y", DateTime::to($_criterias['before'], 'ts') + (3600 * 24));
2213
+						$imapRangeFilter2->dateSearch(new DateTime($_criterias['before']), Horde_Imap_Client_Search_Query::DATE_BEFORE, $header = true, $not = false);
2214 2214
 						$imapRangeFilter->andSearch($imapRangeFilter2);
2215 2215
 						$rangeValid = true;
2216 2216
 					}
2217 2217
 					break;
2218 2218
 				case 'SINCE'://enddate
2219
-					$imapRangeFilter->dateSearch(new DateTime(($_criterias['since']?$_criterias['since']:$_criterias['date'])), Horde_Imap_Client_Search_Query::DATE_SINCE, $header=true, $not=false);
2219
+					$imapRangeFilter->dateSearch(new DateTime(($_criterias['since'] ? $_criterias['since'] : $_criterias['date'])), Horde_Imap_Client_Search_Query::DATE_SINCE, $header = true, $not = false);
2220 2220
 					$rangeValid = true;
2221 2221
 					break;
2222 2222
 				case 'BEFORE'://startdate
2223 2223
 					//our before (startdate) is inklusive, as we work with "d-M-Y", we must add a day
2224
-					$_criterias['before'] = date("d-M-Y",DateTime::to(($_criterias['before']?$_criterias['before']:$_criterias['date']),'ts')+(3600*24));
2225
-					$imapRangeFilter->dateSearch(new DateTime($_criterias['before']), Horde_Imap_Client_Search_Query::DATE_BEFORE, $header=true, $not=false);
2224
+					$_criterias['before'] = date("d-M-Y", DateTime::to(($_criterias['before'] ? $_criterias['before'] : $_criterias['date']), 'ts') + (3600 * 24));
2225
+					$imapRangeFilter->dateSearch(new DateTime($_criterias['before']), Horde_Imap_Client_Search_Query::DATE_BEFORE, $header = true, $not = false);
2226 2226
 					$rangeValid = true;
2227 2227
 					break;
2228 2228
 				case 'ON':
2229
-					$imapRangeFilter->dateSearch(new DateTime($_criterias['date']), Horde_Imap_Client_Search_Query::DATE_ON, $header=true, $not=false);
2229
+					$imapRangeFilter->dateSearch(new DateTime($_criterias['date']), Horde_Imap_Client_Search_Query::DATE_ON, $header = true, $not = false);
2230 2230
 					$rangeValid = true;
2231 2231
 					break;
2232 2232
 			}
2233
-			if ($rangeValid && !$queryValid) $queryValid=true;
2233
+			if ($rangeValid && !$queryValid) $queryValid = true;
2234 2234
 			if ($rangeValid) $imapFilter->andSearch($imapRangeFilter);
2235 2235
 		}
2236 2236
 		if (self::$debug)
@@ -2239,8 +2239,8 @@  discard block
 block discarded – undo
2239 2239
 			$query_str = $imapFilter->build();
2240 2240
 			//error_log(__METHOD__.' ('.__LINE__.') '.' '.$query_str['query'].' created by Criterias:'.(!is_array($_criterias)?" none -> returning":array2string($_criterias)));
2241 2241
 		}
2242
-		if($queryValid==false) {
2243
-			$imapFilter->flag('DELETED', $set=false);
2242
+		if ($queryValid == false) {
2243
+			$imapFilter->flag('DELETED', $set = false);
2244 2244
 			return $imapFilter;
2245 2245
 		} else {
2246 2246
 			return $imapFilter;
@@ -2254,11 +2254,11 @@  discard block
 block discarded – undo
2254 2254
 	 * @param  mixed/boolean $_tryIDNConversion (true/false AND FORCE): try IDN Conversion on domainparts of emailADRESSES
2255 2255
 	 * @return mixed - based on the input type
2256 2256
 	 */
2257
-	static function decode_header($_string, $_tryIDNConversion=false)
2257
+	static function decode_header($_string, $_tryIDNConversion = false)
2258 2258
 	{
2259 2259
 		if (is_array($_string))
2260 2260
 		{
2261
-			foreach($_string as $k=>$v)
2261
+			foreach ($_string as $k=>$v)
2262 2262
 			{
2263 2263
 				$_string[$k] = self::decode_header($v, $_tryIDNConversion);
2264 2264
 			}
@@ -2266,18 +2266,18 @@  discard block
 block discarded – undo
2266 2266
 		}
2267 2267
 		else
2268 2268
 		{
2269
-			$_string = Mail\Html::decodeMailHeader($_string,self::$displayCharset);
2269
+			$_string = Mail\Html::decodeMailHeader($_string, self::$displayCharset);
2270 2270
 			$test = @json_encode($_string);
2271 2271
 			//error_log(__METHOD__.__LINE__.' ->'.strlen($singleBodyPart['body']).' Error:'.json_last_error().'<- BodyPart:#'.$test.'#');
2272
-			if (($test=="null" || $test === false || is_null($test)) && strlen($_string)>0)
2272
+			if (($test == "null" || $test === false || is_null($test)) && strlen($_string) > 0)
2273 2273
 			{
2274 2274
 				// try to fix broken utf8
2275 2275
 				$x = utf8_encode($_string);
2276 2276
 				$test = @json_encode($x);
2277
-				if (($test=="null" || $test === false || is_null($test)) && strlen($_string)>0)
2277
+				if (($test == "null" || $test === false || is_null($test)) && strlen($_string) > 0)
2278 2278
 				{
2279 2279
 					// this should not be needed, unless something fails with charset detection/ wrong charset passed
2280
-					$_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));
2280
+					$_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));
2281 2281
 				}
2282 2282
 				else
2283 2283
 				{
@@ -2285,7 +2285,7 @@  discard block
 block discarded – undo
2285 2285
 				}
2286 2286
 			}
2287 2287
 
2288
-			if ($_tryIDNConversion===true && stripos($_string,'@')!==false)
2288
+			if ($_tryIDNConversion === true && stripos($_string, '@') !== false)
2289 2289
 			{
2290 2290
 				$rfcAddr = self::parseAddressList($_string);
2291 2291
 				$stringA = array();
@@ -2297,11 +2297,11 @@  discard block
 block discarded – undo
2297 2297
 						$stringA = array();
2298 2298
 						break; // skip idna conversion if we encounter an error here
2299 2299
 					}
2300
-					$stringA[] = imap_rfc822_write_address($_rfcAddr->mailbox,Horde_Idna::decode($_rfcAddr->host),$_rfcAddr->personal);
2300
+					$stringA[] = imap_rfc822_write_address($_rfcAddr->mailbox, Horde_Idna::decode($_rfcAddr->host), $_rfcAddr->personal);
2301 2301
 				}
2302
-				if (!empty($stringA)) $_string = implode(',',$stringA);
2302
+				if (!empty($stringA)) $_string = implode(',', $stringA);
2303 2303
 			}
2304
-			if ($_tryIDNConversion==='FORCE')
2304
+			if ($_tryIDNConversion === 'FORCE')
2305 2305
 			{
2306 2306
 				//error_log(__METHOD__.' ('.__LINE__.') '.'->'.$_string.'='.Horde_Idna::decode($_string));
2307 2307
 				$_string = Horde_Idna::decode($_string);
@@ -2317,17 +2317,17 @@  discard block
 block discarded – undo
2317 2317
 	 * @param  boolean $decode try decoding
2318 2318
 	 * @return mixed - based on the input type
2319 2319
 	 */
2320
-	function decode_subject($_string,$decode=true)
2320
+	function decode_subject($_string, $decode = true)
2321 2321
 	{
2322 2322
 		#$string = $_string;
2323
-		if($_string=='NIL')
2323
+		if ($_string == 'NIL')
2324 2324
 		{
2325 2325
 			return 'No Subject';
2326 2326
 		}
2327 2327
 		if ($decode) $_string = self::decode_header($_string);
2328 2328
 		// make sure its utf-8
2329 2329
 		$test = @json_encode($_string);
2330
-		if (($test=="null" || $test === false || is_null($test)) && strlen($_string)>0)
2330
+		if (($test == "null" || $test === false || is_null($test)) && strlen($_string) > 0)
2331 2331
 		{
2332 2332
 			$_string = utf8_encode($_string);
2333 2333
 		}
@@ -2379,18 +2379,18 @@  discard block
 block discarded – undo
2379 2379
 	function createFolder($_parent, $_folderName, &$_error)
2380 2380
 	{
2381 2381
 		if (self::$debug) error_log(__METHOD__.' ('.__LINE__.') '."->"."$_parent, $_folderName called from:".function_backtrace());
2382
-		$parent		= $_parent;//$this->_encodeFolderName($_parent);
2383
-		$folderName	= $_folderName;//$this->_encodeFolderName($_folderName);
2382
+		$parent = $_parent; //$this->_encodeFolderName($_parent);
2383
+		$folderName = $_folderName; //$this->_encodeFolderName($_folderName);
2384 2384
 
2385
-		if(empty($parent)) {
2385
+		if (empty($parent)) {
2386 2386
 			$newFolderName = $folderName;
2387 2387
 		} else {
2388 2388
 			$HierarchyDelimiter = $this->getHierarchyDelimiter();
2389
-			$newFolderName = $parent . $HierarchyDelimiter . $folderName;
2389
+			$newFolderName = $parent.$HierarchyDelimiter.$folderName;
2390 2390
 		}
2391 2391
 		if (empty($newFolderName)) return false;
2392 2392
 		if (self::$debug) error_log(__METHOD__.' ('.__LINE__.') '.'->'.$newFolderName);
2393
-		if ($this->folderExists($newFolderName,true))
2393
+		if ($this->folderExists($newFolderName, true))
2394 2394
 		{
2395 2395
 			if (self::$debug) error_log(__METHOD__.' ('.__LINE__.') '." Folder $newFolderName already exists.");
2396 2396
 			return $newFolderName;
@@ -2407,7 +2407,7 @@  discard block
 block discarded – undo
2407 2407
 		}
2408 2408
 		catch (\Exception $e)
2409 2409
 		{
2410
-			$_error = lang('Could not create Folder %1 Reason: %2',$newFolderName,$e->getMessage());
2410
+			$_error = lang('Could not create Folder %1 Reason: %2', $newFolderName, $e->getMessage());
2411 2411
 			error_log(__METHOD__.' ('.__LINE__.') '.' create Folder '.$newFolderName.'->'.$e->getMessage().' ('.$e->details.') Namespace:'.array2string($this->icServer->getNameSpaces()).function_backtrace());
2412 2412
 			return false;
2413 2413
 		}
@@ -2436,15 +2436,15 @@  discard block
 block discarded – undo
2436 2436
 	 */
2437 2437
 	function renameFolder($_oldFolderName, $_parent, $_folderName)
2438 2438
 	{
2439
-		$oldFolderName	= $_oldFolderName;//$this->_encodeFolderName($_oldFolderName);
2440
-		$parent		= $_parent;//$this->_encodeFolderName($_parent);
2441
-		$folderName	= $_folderName;//$this->_encodeFolderName($_folderName);
2439
+		$oldFolderName = $_oldFolderName; //$this->_encodeFolderName($_oldFolderName);
2440
+		$parent = $_parent; //$this->_encodeFolderName($_parent);
2441
+		$folderName = $_folderName; //$this->_encodeFolderName($_folderName);
2442 2442
 
2443
-		if(empty($parent)) {
2443
+		if (empty($parent)) {
2444 2444
 			$newFolderName = $folderName;
2445 2445
 		} else {
2446 2446
 			$HierarchyDelimiter = $this->getHierarchyDelimiter();
2447
-			$newFolderName = $parent . $HierarchyDelimiter . $folderName;
2447
+			$newFolderName = $parent.$HierarchyDelimiter.$folderName;
2448 2448
 		}
2449 2449
 		if (self::$debug) error_log("create folder: $newFolderName");
2450 2450
 		try
@@ -2453,10 +2453,10 @@  discard block
 block discarded – undo
2453 2453
 		}
2454 2454
 		catch (\Exception $e)
2455 2455
 		{
2456
-			throw new Exception(__METHOD__." failed for $oldFolderName (rename to: $newFolderName) with error:".$e->getMessage());;
2456
+			throw new Exception(__METHOD__." failed for $oldFolderName (rename to: $newFolderName) with error:".$e->getMessage()); ;
2457 2457
 		}
2458 2458
 		// clear FolderExistsInfoCache
2459
-		Cache::setCache(Cache::INSTANCE,'email','icServerFolderExistsInfo'.trim($GLOBALS['egw_info']['user']['account_id']),$folderInfo,60*60*5);
2459
+		Cache::setCache(Cache::INSTANCE, 'email', 'icServerFolderExistsInfo'.trim($GLOBALS['egw_info']['user']['account_id']), $folderInfo, 60 * 60 * 5);
2460 2460
 
2461 2461
 		return $newFolderName;
2462 2462
 
@@ -2475,15 +2475,15 @@  discard block
 block discarded – undo
2475 2475
 		//$folderName = $this->_encodeFolderName($_folderName);
2476 2476
 		try
2477 2477
 		{
2478
-			$this->icServer->subscribeMailbox($_folderName,false);
2478
+			$this->icServer->subscribeMailbox($_folderName, false);
2479 2479
 			$this->icServer->deleteMailbox($_folderName);
2480 2480
 		}
2481 2481
 		catch (\Exception $e)
2482 2482
 		{
2483
-			throw new Exception("Deleting Folder $_folderName failed! Error:".$e->getMessage());;
2483
+			throw new Exception("Deleting Folder $_folderName failed! Error:".$e->getMessage()); ;
2484 2484
 		}
2485 2485
 		// clear FolderExistsInfoCache
2486
-		Cache::setCache(Cache::INSTANCE,'email','icServerFolderExistsInfo'.trim($GLOBALS['egw_info']['user']['account_id']),$folderInfo,60*60*5);
2486
+		Cache::setCache(Cache::INSTANCE, 'email', 'icServerFolderExistsInfo'.trim($GLOBALS['egw_info']['user']['account_id']), $folderInfo, 60 * 60 * 5);
2487 2487
 
2488 2488
 		return true;
2489 2489
 	}
@@ -2518,10 +2518,10 @@  discard block
 block discarded – undo
2518 2518
 	 *
2519 2519
 	 * @return array with folder objects. eg.: INBOX => {inbox object}
2520 2520
 	 */
2521
-	function getFolderObjects($_subscribedOnly=false, $_getCounters=false, $_alwaysGetDefaultFolders=false,$_useCacheIfPossible=true)
2521
+	function getFolderObjects($_subscribedOnly = false, $_getCounters = false, $_alwaysGetDefaultFolders = false, $_useCacheIfPossible = true)
2522 2522
 	{
2523 2523
 		if (self::$debug) error_log(__METHOD__.' ('.__LINE__.') '.' ServerID:'.$this->icServer->ImapServerId.", subscribedOnly:$_subscribedOnly, getCounters:$_getCounters, alwaysGetDefaultFolders:$_alwaysGetDefaultFolders, _useCacheIfPossible:$_useCacheIfPossible");
2524
-		if (self::$debugTimes) $starttime = microtime (true);
2524
+		if (self::$debugTimes) $starttime = microtime(true);
2525 2525
 		static $folders2return;
2526 2526
 		//$_subscribedOnly=false;
2527 2527
 		// always use static on single request if info is available;
@@ -2529,42 +2529,42 @@  discard block
 block discarded – undo
2529 2529
 		// set $_useCacheIfPossible to false !
2530 2530
 		if ($_useCacheIfPossible && isset($folders2return[$this->icServer->ImapServerId]) && !empty($folders2return[$this->icServer->ImapServerId]))
2531 2531
 		{
2532
-			if (self::$debugTimes) self::logRunTimes($starttime,null,'using static',__METHOD__.' ('.__LINE__.') ');
2532
+			if (self::$debugTimes) self::logRunTimes($starttime, null, 'using static', __METHOD__.' ('.__LINE__.') ');
2533 2533
 			return $folders2return[$this->icServer->ImapServerId];
2534 2534
 		}
2535 2535
 
2536
-		if ($_subscribedOnly && $_getCounters===false)
2536
+		if ($_subscribedOnly && $_getCounters === false)
2537 2537
 		{
2538
-			if (is_null($folders2return)) $folders2return = Cache::getCache(Cache::INSTANCE,'email','folderObjects'.trim($GLOBALS['egw_info']['user']['account_id']),null,array(),60*60*1);
2538
+			if (is_null($folders2return)) $folders2return = Cache::getCache(Cache::INSTANCE, 'email', 'folderObjects'.trim($GLOBALS['egw_info']['user']['account_id']), null, array(), 60 * 60 * 1);
2539 2539
 			if ($_useCacheIfPossible && isset($folders2return[$this->icServer->ImapServerId]) && !empty($folders2return[$this->icServer->ImapServerId]))
2540 2540
 			{
2541 2541
 				//error_log(__METHOD__.' ('.__LINE__.') '.' using Cached folderObjects'.array2string($folders2return[$this->icServer->ImapServerId]));
2542
-				if (self::$debugTimes) self::logRunTimes($starttime,null,'from Cache',__METHOD__.' ('.__LINE__.') ');
2542
+				if (self::$debugTimes) self::logRunTimes($starttime, null, 'from Cache', __METHOD__.' ('.__LINE__.') ');
2543 2543
 				return $folders2return[$this->icServer->ImapServerId];
2544 2544
 			}
2545 2545
 		}
2546 2546
 		// use $folderBasicInfo for holding attributes and other basic folderinfo $folderBasicInfo[$this->icServer->ImapServerId]
2547 2547
 		static $folderBasicInfo;
2548
-		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);
2548
+		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);
2549 2549
 		//error_log(__METHOD__.' ('.__LINE__.') '.array2string(array_keys($folderBasicInfo[$this->icServer->ImapServerId])));
2550 2550
 
2551 2551
 		$delimiter = $this->getHierarchyDelimiter();
2552 2552
 
2553 2553
 		$inboxData = new \stdClass;
2554
-		$inboxData->name 		= 'INBOX';
2554
+		$inboxData->name = 'INBOX';
2555 2555
 		$inboxData->folderName		= 'INBOX';
2556
-		$inboxData->displayName		= lang('INBOX');
2556
+		$inboxData->displayName = lang('INBOX');
2557 2557
 		$inboxData->delimiter 		= $delimiter;
2558
-		$inboxData->shortFolderName	= 'INBOX';
2559
-		$inboxData->shortDisplayName	= lang('INBOX');
2558
+		$inboxData->shortFolderName = 'INBOX';
2559
+		$inboxData->shortDisplayName = lang('INBOX');
2560 2560
 		$inboxData->subscribed = true;
2561
-		if($_getCounters == true) {
2561
+		if ($_getCounters == true) {
2562 2562
 			$inboxData->counter = $this->getMailBoxCounters('INBOX');
2563 2563
 		}
2564 2564
 		// force unsubscribed by preference showAllFoldersInFolderPane
2565 2565
 		if ($_subscribedOnly == true &&
2566 2566
 			isset($this->mailPreferences['showAllFoldersInFolderPane']) &&
2567
-			$this->mailPreferences['showAllFoldersInFolderPane']==1)
2567
+			$this->mailPreferences['showAllFoldersInFolderPane'] == 1)
2568 2568
 		{
2569 2569
 			$_subscribedOnly = false;
2570 2570
 		}
@@ -2577,12 +2577,12 @@  discard block
 block discarded – undo
2577 2577
 		//error_log(__METHOD__.__LINE__.array2string($nameSpace));
2578 2578
 		if (is_array($nameSpace))
2579 2579
 		{
2580
-			foreach($nameSpace as $k => $singleNameSpace) {
2580
+			foreach ($nameSpace as $k => $singleNameSpace) {
2581 2581
 				$type = $singleNameSpace['type'];
2582 2582
 				// the following line (assumption that for the same namespace the delimiter should be equal) may be wrong
2583
-				$foldersNameSpace[$type]['delimiter']  = $singleNameSpace['delimiter'];
2583
+				$foldersNameSpace[$type]['delimiter'] = $singleNameSpace['delimiter'];
2584 2584
 
2585
-				if(is_array($singleNameSpace)&&$fetchedAllInOneGo==false) {
2585
+				if (is_array($singleNameSpace) && $fetchedAllInOneGo == false) {
2586 2586
 					// fetch and sort the subscribed folders
2587 2587
 					// we alway fetch the subscribed, as this provides the only way to tell
2588 2588
 					// if a folder is subscribed or not
@@ -2590,22 +2590,22 @@  discard block
 block discarded – undo
2590 2590
 					{
2591 2591
 						try
2592 2592
 						{
2593
-							$subscribedMailboxes = $this->icServer->listSubscribedMailboxes('',0,true);
2593
+							$subscribedMailboxes = $this->icServer->listSubscribedMailboxes('', 0, true);
2594 2594
 							if (!empty($subscribedMailboxes))
2595 2595
 							{
2596 2596
 								$fetchedAllInOneGo = true;
2597 2597
 							}
2598 2598
 							else
2599 2599
 							{
2600
-								$subscribedMailboxes = $this->icServer->listSubscribedMailboxes($singleNameSpace['prefix'],0,true);
2600
+								$subscribedMailboxes = $this->icServer->listSubscribedMailboxes($singleNameSpace['prefix'], 0, true);
2601 2601
 							}
2602 2602
 						}
2603
-						catch(Exception $e)
2603
+						catch (Exception $e)
2604 2604
 						{
2605 2605
 							continue;
2606 2606
 						}
2607 2607
 						//echo "subscribedMailboxes";_debug_array($subscribedMailboxes);
2608
-						$subscribedFoldersPerNS = (!empty($subscribedMailboxes)?array_keys($subscribedMailboxes):array());
2608
+						$subscribedFoldersPerNS = (!empty($subscribedMailboxes) ? array_keys($subscribedMailboxes) : array());
2609 2609
 						//if (is_array($foldersNameSpace[$type]['subscribed'])) sort($foldersNameSpace[$type]['subscribed']);
2610 2610
 						//_debug_array($foldersNameSpace);
2611 2611
 						//error_log(__METHOD__.__LINE__.array2string($singleNameSpace).':#:'.array2string($subscribedFoldersPerNS));
@@ -2615,18 +2615,18 @@  discard block
 block discarded – undo
2615 2615
 							foreach ($subscribedMailboxes as $k => $finfo)
2616 2616
 							{
2617 2617
 								//error_log(__METHOD__.__LINE__.$k.':#:'.array2string($finfo));
2618
-								$subscribedFoldersForCache[$this->icServer->ImapServerId][$k]=
2619
-								$folderBasicInfo[$this->icServer->ImapServerId][$k]=array(
2618
+								$subscribedFoldersForCache[$this->icServer->ImapServerId][$k] =
2619
+								$folderBasicInfo[$this->icServer->ImapServerId][$k] = array(
2620 2620
 									'MAILBOX'=>$finfo['MAILBOX'],
2621 2621
 									'ATTRIBUTES'=>$finfo['ATTRIBUTES'],
2622
-									'delimiter'=>$finfo['delimiter'],//lowercase for some reason???
2623
-									'SUBSCRIBED'=>$finfo['SUBSCRIBED'],//seeded by getMailboxes
2622
+									'delimiter'=>$finfo['delimiter'], //lowercase for some reason???
2623
+									'SUBSCRIBED'=>$finfo['SUBSCRIBED'], //seeded by getMailboxes
2624 2624
 								);
2625
-								if (empty($foldersNameSpace[$type]['subscribed']) || !in_array($k,$foldersNameSpace[$type]['subscribed']))
2625
+								if (empty($foldersNameSpace[$type]['subscribed']) || !in_array($k, $foldersNameSpace[$type]['subscribed']))
2626 2626
 								{
2627 2627
 									$foldersNameSpace[$type]['subscribed'][] = $k;
2628 2628
 								}
2629
-								if (empty($foldersNameSpace[$type]['all']) || !in_array($k,$foldersNameSpace[$type]['all']))
2629
+								if (empty($foldersNameSpace[$type]['all']) || !in_array($k, $foldersNameSpace[$type]['all']))
2630 2630
 								{
2631 2631
 									$foldersNameSpace[$type]['all'][] = $k;
2632 2632
 								}
@@ -2649,7 +2649,7 @@  discard block
 block discarded – undo
2649 2649
 						// that may produce problems, when encountering recursions probably
2650 2650
 						// horde is handling that, so we do not; keep that in mind!
2651 2651
 						//$allMailboxesExt = $this->icServer->getMailboxes($singleNameSpace['prefix'],2,true);
2652
-						$allMailboxesExt = $this->icServer->getMailboxes($singleNameSpace['prefix'],0,true);
2652
+						$allMailboxesExt = $this->icServer->getMailboxes($singleNameSpace['prefix'], 0, true);
2653 2653
 					}
2654 2654
 					catch (\Exception $e)
2655 2655
 					{
@@ -2667,26 +2667,26 @@  discard block
 block discarded – undo
2667 2667
 					foreach ($allMailboxesExt as $mbx) {
2668 2668
 						if (!isset($folderBasicInfo[$this->icServer->ImapServerId][$mbx['MAILBOX']]))
2669 2669
 						{
2670
-							$folderBasicInfo[$this->icServer->ImapServerId][$mbx['MAILBOX']]=array(
2670
+							$folderBasicInfo[$this->icServer->ImapServerId][$mbx['MAILBOX']] = array(
2671 2671
 								'MAILBOX'=>$mbx['MAILBOX'],
2672 2672
 								'ATTRIBUTES'=>$mbx['ATTRIBUTES'],
2673
-								'delimiter'=>$mbx['delimiter'],//lowercase for some reason???
2674
-								'SUBSCRIBED'=>$mbx['SUBSCRIBED'],//seeded by getMailboxes
2673
+								'delimiter'=>$mbx['delimiter'], //lowercase for some reason???
2674
+								'SUBSCRIBED'=>$mbx['SUBSCRIBED'], //seeded by getMailboxes
2675 2675
 							);
2676 2676
 							if ($mbx['SUBSCRIBED'] && !isset($subscribedFoldersForCache[$this->icServer->ImapServerId][$mbx['MAILBOX']]))
2677 2677
 							{
2678 2678
 								$subscribedFoldersForCache[$this->icServer->ImapServerId][$mbx['MAILBOX']] = $folderBasicInfo[$this->icServer->ImapServerId][$mbx['MAILBOX']];
2679 2679
 							}
2680 2680
 						}
2681
-						if ($mbx['SUBSCRIBED'] && (empty($foldersNameSpace[$type]['subscribed']) || !in_array($mbx['MAILBOX'],$foldersNameSpace[$type]['subscribed'])))
2681
+						if ($mbx['SUBSCRIBED'] && (empty($foldersNameSpace[$type]['subscribed']) || !in_array($mbx['MAILBOX'], $foldersNameSpace[$type]['subscribed'])))
2682 2682
 						{
2683 2683
 							$foldersNameSpace[$type]['subscribed'][] = $mbx['MAILBOX'];
2684 2684
 						}
2685 2685
 						//echo __METHOD__;_debug_array($mbx);
2686 2686
 						//error_log(__METHOD__.' ('.__LINE__.') '.array2string($mbx));
2687
-						if (isset($allMailBoxesExtSorted[$mbx['MAILBOX']])||
2688
-							isset($allMailBoxesExtSorted[$mbx['MAILBOX'].$foldersNameSpace[$type]['delimiter']])||
2689
-							(substr($mbx['MAILBOX'],-1)==$foldersNameSpace[$type]['delimiter'] && isset($allMailBoxesExtSorted[substr($mbx['MAILBOX'],0,-1)]))
2687
+						if (isset($allMailBoxesExtSorted[$mbx['MAILBOX']]) ||
2688
+							isset($allMailBoxesExtSorted[$mbx['MAILBOX'].$foldersNameSpace[$type]['delimiter']]) ||
2689
+							(substr($mbx['MAILBOX'], -1) == $foldersNameSpace[$type]['delimiter'] && isset($allMailBoxesExtSorted[substr($mbx['MAILBOX'], 0, -1)]))
2690 2690
 						) continue;
2691 2691
 
2692 2692
 						//echo '#'.$mbx['MAILBOX'].':'.array2string($mbx)."#<br>";
@@ -2696,7 +2696,7 @@  discard block
 block discarded – undo
2696 2696
 					//_debug_array(array_keys($allMailBoxesExtSorted));
2697 2697
 					$allMailboxes = array();
2698 2698
 					foreach ((array)$allMailBoxesExtSorted as $mbx) {
2699
-						if (!in_array($mbx['MAILBOX'],$allMailboxes)) $allMailboxes[] = $mbx['MAILBOX'];
2699
+						if (!in_array($mbx['MAILBOX'], $allMailboxes)) $allMailboxes[] = $mbx['MAILBOX'];
2700 2700
 						//echo "Result:";_debug_array($allMailboxes);
2701 2701
 					}
2702 2702
 					$foldersNameSpace[$type]['all'] = $allMailboxes;
@@ -2705,57 +2705,57 @@  discard block
 block discarded – undo
2705 2705
 			}
2706 2706
 		}
2707 2707
 		//subscribed folders may be used in getFolderStatus
2708
-		Cache::setCache(Cache::INSTANCE,'email','subscribedFolders'.trim($GLOBALS['egw_info']['user']['account_id']),$subscribedFoldersForCache,$expiration=60*60*1);
2708
+		Cache::setCache(Cache::INSTANCE, 'email', 'subscribedFolders'.trim($GLOBALS['egw_info']['user']['account_id']), $subscribedFoldersForCache, $expiration = 60 * 60 * 1);
2709 2709
 		//echo "<br>FolderNameSpace To Process:";_debug_array($foldersNameSpace);
2710 2710
 		$autoFolderObjects = $folders = array();
2711 2711
 		$autofolder_exists = array();
2712
-		foreach( array('personal', 'others', 'shared') as $type) {
2713
-			if(isset($foldersNameSpace[$type])) {
2714
-				if($_subscribedOnly) {
2715
-					if( !empty($foldersNameSpace[$type]['subscribed']) ) $listOfFolders = $foldersNameSpace[$type]['subscribed'];
2712
+		foreach (array('personal', 'others', 'shared') as $type) {
2713
+			if (isset($foldersNameSpace[$type])) {
2714
+				if ($_subscribedOnly) {
2715
+					if (!empty($foldersNameSpace[$type]['subscribed'])) $listOfFolders = $foldersNameSpace[$type]['subscribed'];
2716 2716
 				} else {
2717
-					if( !empty($foldersNameSpace[$type]['all'])) $listOfFolders = $foldersNameSpace[$type]['all'];
2717
+					if (!empty($foldersNameSpace[$type]['all'])) $listOfFolders = $foldersNameSpace[$type]['all'];
2718 2718
 				}
2719
-				foreach((array)$listOfFolders as $folderName) {
2719
+				foreach ((array)$listOfFolders as $folderName) {
2720 2720
 					//echo "<br>FolderToCheck:$folderName<br>";
2721 2721
 					//error_log(__METHOD__.__LINE__.'#Delimiter:'.$delimiter.':#'.$folderName);
2722
-					if ($_subscribedOnly && empty($foldersNameSpace[$type]['all'])) continue;//when subscribedonly, we fetch all folders in one go.
2723
-					if($_subscribedOnly && !(in_array($folderName, $foldersNameSpace[$type]['all'])||in_array($folderName.$foldersNameSpace[$type]['delimiter'], $foldersNameSpace[$type]['all']))) {
2722
+					if ($_subscribedOnly && empty($foldersNameSpace[$type]['all'])) continue; //when subscribedonly, we fetch all folders in one go.
2723
+					if ($_subscribedOnly && !(in_array($folderName, $foldersNameSpace[$type]['all']) || in_array($folderName.$foldersNameSpace[$type]['delimiter'], $foldersNameSpace[$type]['all']))) {
2724 2724
 						#echo "$folderName failed to be here <br>";
2725 2725
 						continue;
2726 2726
 					}
2727 2727
 					if (isset($folders[$folderName])) continue;
2728 2728
 					if (isset($autoFolderObjects[$folderName])) continue;
2729
-					if (empty($delimiter)||$delimiter != $foldersNameSpace[$type]['delimiter']) $delimiter = $foldersNameSpace[$type]['delimiter'];
2729
+					if (empty($delimiter) || $delimiter != $foldersNameSpace[$type]['delimiter']) $delimiter = $foldersNameSpace[$type]['delimiter'];
2730 2730
 					$folderParts = explode($delimiter, $folderName);
2731 2731
 					$shortName = array_pop($folderParts);
2732 2732
 
2733 2733
 					$folderObject = new \stdClass;
2734
-					$folderObject->delimiter	= $delimiter;
2735
-					$folderObject->folderName	= $folderName;
2736
-					$folderObject->shortFolderName	= $shortName;
2737
-					if(!$_subscribedOnly) {
2734
+					$folderObject->delimiter = $delimiter;
2735
+					$folderObject->folderName = $folderName;
2736
+					$folderObject->shortFolderName = $shortName;
2737
+					if (!$_subscribedOnly) {
2738 2738
 						#echo $folderName."->".$type."<br>";
2739 2739
 						#_debug_array($foldersNameSpace[$type]['subscribed']);
2740 2740
 						$folderObject->subscribed = in_array($folderName, (array)$foldersNameSpace[$type]['subscribed']);
2741 2741
 					}
2742 2742
 
2743
-					if($_getCounters == true) {
2743
+					if ($_getCounters == true) {
2744 2744
 						//error_log(__METHOD__.' ('.__LINE__.') '.' getCounter forFolder:'.$folderName);
2745 2745
 						$folderObject->counter = $this->getMailBoxCounters($folderName);
2746 2746
 					}
2747
-					if(strtoupper($folderName) == 'INBOX') {
2747
+					if (strtoupper($folderName) == 'INBOX') {
2748 2748
 						$folderName = 'INBOX';
2749
-						$folderObject->folderName	= 'INBOX';
2750
-						$folderObject->shortFolderName	= 'INBOX';
2751
-						$folderObject->displayName	= lang('INBOX');
2749
+						$folderObject->folderName = 'INBOX';
2750
+						$folderObject->shortFolderName = 'INBOX';
2751
+						$folderObject->displayName = lang('INBOX');
2752 2752
 						$folderObject->shortDisplayName = lang('INBOX');
2753
-						$folderObject->subscribed	= true;
2753
+						$folderObject->subscribed = true;
2754 2754
 					// translate the automatic Folders (Sent, Drafts, ...) like the INBOX
2755
-					} elseif (in_array($shortName,self::$autoFolders)) {
2756
-						$tmpfolderparts = explode($delimiter,$folderObject->folderName);
2755
+					} elseif (in_array($shortName, self::$autoFolders)) {
2756
+						$tmpfolderparts = explode($delimiter, $folderObject->folderName);
2757 2757
 						array_pop($tmpfolderparts);
2758
-						$folderObject->displayName = implode($delimiter,$tmpfolderparts).$delimiter.lang($shortName);
2758
+						$folderObject->displayName = implode($delimiter, $tmpfolderparts).$delimiter.lang($shortName);
2759 2759
 						$folderObject->shortDisplayName = lang($shortName);
2760 2760
 						unset($tmpfolderparts);
2761 2761
 					} else {
@@ -2763,13 +2763,13 @@  discard block
 block discarded – undo
2763 2763
 						$folderObject->shortDisplayName = $shortName;
2764 2764
 					}
2765 2765
 					//$folderName = $folderName;
2766
-					if (in_array($shortName,self::$autoFolders)&&self::searchValueInFolderObjects($shortName,$autoFolderObjects)===false) {
2766
+					if (in_array($shortName, self::$autoFolders) && self::searchValueInFolderObjects($shortName, $autoFolderObjects) === false) {
2767 2767
 						$autoFolderObjects[$folderName] = $folderObject;
2768 2768
 					} else {
2769 2769
 						$folders[$folderName] = $folderObject;
2770 2770
 					}
2771 2771
 					//error_log(__METHOD__.' ('.__LINE__.') '.':'.$folderObject->folderName);
2772
-					if (!isset(self::$specialUseFolders)) $this->getSpecialUseFolders ();
2772
+					if (!isset(self::$specialUseFolders)) $this->getSpecialUseFolders();
2773 2773
 					if (isset(self::$specialUseFolders[$folderName]))
2774 2774
 					{
2775 2775
 						$autofolder_exists[$folderName] = self::$specialUseFolders[$folderName];
@@ -2778,27 +2778,27 @@  discard block
 block discarded – undo
2778 2778
 			}
2779 2779
 		}
2780 2780
 		if (is_array($autoFolderObjects) && !empty($autoFolderObjects)) {
2781
-			uasort($autoFolderObjects,array($this,"sortByAutoFolderPos"));
2781
+			uasort($autoFolderObjects, array($this, "sortByAutoFolderPos"));
2782 2782
 		}
2783 2783
 		// check if some standard folders are missing and need to be created
2784 2784
 		if (count($autofolder_exists) < count(self::$autoFolders) && $this->check_create_autofolders($autofolder_exists))
2785 2785
 		{
2786 2786
 			// if new folders have been created, re-read folders ignoring the cache
2787
-			return $this->getFolderObjects($_subscribedOnly, $_getCounters, $_alwaysGetDefaultFolders, false);	// false = do NOT use cache
2787
+			return $this->getFolderObjects($_subscribedOnly, $_getCounters, $_alwaysGetDefaultFolders, false); // false = do NOT use cache
2788 2788
 		}
2789
-		if (is_array($folders)) uasort($folders,array($this,"sortByDisplayName"));
2789
+		if (is_array($folders)) uasort($folders, array($this, "sortByDisplayName"));
2790 2790
 		//$folders2return = array_merge($autoFolderObjects,$folders);
2791 2791
 		//_debug_array($folders2return); #exit;
2792
-		$folders2return[$this->icServer->ImapServerId] = array_merge((array)$inboxFolderObject,(array)$autoFolderObjects,(array)$folders);
2793
-		if (($_subscribedOnly && $_getCounters===false) ||
2794
-			($_subscribedOnly == false && $_getCounters===false &&
2792
+		$folders2return[$this->icServer->ImapServerId] = array_merge((array)$inboxFolderObject, (array)$autoFolderObjects, (array)$folders);
2793
+		if (($_subscribedOnly && $_getCounters === false) ||
2794
+			($_subscribedOnly == false && $_getCounters === false &&
2795 2795
 			isset($this->mailPreferences['showAllFoldersInFolderPane']) &&
2796
-			$this->mailPreferences['showAllFoldersInFolderPane']==1))
2796
+			$this->mailPreferences['showAllFoldersInFolderPane'] == 1))
2797 2797
 		{
2798
-			Cache::setCache(Cache::INSTANCE,'email','folderObjects'.trim($GLOBALS['egw_info']['user']['account_id']),$folders2return,$expiration=60*60*1);
2798
+			Cache::setCache(Cache::INSTANCE, 'email', 'folderObjects'.trim($GLOBALS['egw_info']['user']['account_id']), $folders2return, $expiration = 60 * 60 * 1);
2799 2799
 		}
2800
-		Cache::setCache(Cache::INSTANCE,'email','folderBasicInfo'.trim($GLOBALS['egw_info']['user']['account_id']),$folderBasicInfo,$expiration=60*60*1);
2801
-		if (self::$debugTimes) self::logRunTimes($starttime,null,function_backtrace(),__METHOD__.' ('.__LINE__.') ');
2800
+		Cache::setCache(Cache::INSTANCE, 'email', 'folderBasicInfo'.trim($GLOBALS['egw_info']['user']['account_id']), $folderBasicInfo, $expiration = 60 * 60 * 1);
2801
+		if (self::$debugTimes) self::logRunTimes($starttime, null, function_backtrace(), __METHOD__.' ('.__LINE__.') ');
2802 2802
 		return $folders2return[$this->icServer->ImapServerId];
2803 2803
 	}
2804 2804
 
@@ -2819,21 +2819,21 @@  discard block
 block discarded – undo
2819 2819
 	 *
2820 2820
 	 * @return array arrays of folders
2821 2821
 	 */
2822
-	function getFolderArrays ($_nodePath = null, $_onlyTopLevel = false, $_search= 2, $_subscribedOnly = false, $_getCounter = false)
2822
+	function getFolderArrays($_nodePath = null, $_onlyTopLevel = false, $_search = 2, $_subscribedOnly = false, $_getCounter = false)
2823 2823
 	{
2824 2824
 		// delimiter
2825 2825
 		$delimiter = $this->getHierarchyDelimiter();
2826 2826
 
2827
-		$folders = $nameSpace =  array();
2827
+		$folders = $nameSpace = array();
2828 2828
 		$nameSpaceTmp = $this->_getNameSpaces();
2829
-		foreach($nameSpaceTmp as $k => $singleNameSpace) {
2830
-			$nameSpace[$singleNameSpace['type']]=$singleNameSpace;
2829
+		foreach ($nameSpaceTmp as $k => $singleNameSpace) {
2830
+			$nameSpace[$singleNameSpace['type']] = $singleNameSpace;
2831 2831
 		}
2832 2832
 		unset($nameSpaceTmp);
2833 2833
 
2834 2834
 		//error_log(__METHOD__.__LINE__.array2string($nameSpace));
2835 2835
 		// Get special use folders
2836
-		if (!isset(self::$specialUseFolders)) $this->getSpecialUseFolders (); // Set self::$specialUseFolders
2836
+		if (!isset(self::$specialUseFolders)) $this->getSpecialUseFolders(); // Set self::$specialUseFolders
2837 2837
 		// topLevelQueries generally ignore the $_search param. Except for Config::examineNamespace
2838 2838
 		if ($_onlyTopLevel) // top level leaves
2839 2839
 		{
@@ -2844,20 +2844,20 @@  discard block
 block discarded – undo
2844 2844
 			if (is_null(self::$mailConfig)) self::$mailConfig = Config::read('mail');
2845 2845
 			if (self::$mailConfig['examineNamespace'])
2846 2846
 			{
2847
-				$prefixes=array();
2847
+				$prefixes = array();
2848 2848
 				if (is_array($nameSpace))
2849 2849
 				{
2850
-					foreach($nameSpace as $k => $singleNameSpace) {
2850
+					foreach ($nameSpace as $k => $singleNameSpace) {
2851 2851
 						$type = $singleNameSpace['type'];
2852 2852
 
2853
-						if(is_array($singleNameSpace) && $singleNameSpace['prefix']){
2853
+						if (is_array($singleNameSpace) && $singleNameSpace['prefix']) {
2854 2854
 							$prefixes[$type] = $singleNameSpace['prefix'];
2855 2855
 							//regard extra care for nameSpacequeries when configured AND respect $_search
2856
-							$result = $this->icServer->getMailboxes($singleNameSpace['prefix'], $_search==0?0:2, true);
2856
+							$result = $this->icServer->getMailboxes($singleNameSpace['prefix'], $_search == 0 ? 0 : 2, true);
2857 2857
 							if (is_array($result))
2858 2858
 							{
2859 2859
 								ksort($result);
2860
-								$topFolders = array_merge($topFolders,$result);
2860
+								$topFolders = array_merge($topFolders, $result);
2861 2861
 							}
2862 2862
 						}
2863 2863
 					}
@@ -2866,7 +2866,7 @@  discard block
 block discarded – undo
2866 2866
 
2867 2867
 			$autofolders = array();
2868 2868
 
2869
-			foreach(self::$specialUseFolders as $path => $folder)
2869
+			foreach (self::$specialUseFolders as $path => $folder)
2870 2870
 			{
2871 2871
 				if ($this->folderExists($path))
2872 2872
 				{
@@ -2874,9 +2874,9 @@  discard block
 block discarded – undo
2874 2874
 				}
2875 2875
 			}
2876 2876
 			// Check if the special use folders are there, otherwise try to create them
2877
-			if (count($autofolders) < count(self::$autoFolders) && $this->check_create_autofolders ($autofolders))
2877
+			if (count($autofolders) < count(self::$autoFolders) && $this->check_create_autofolders($autofolders))
2878 2878
 			{
2879
-				return $this->getFolderArrays ($_nodePath, $_onlyTopLevel, $_search, $_subscribedOnly, $_getCounter);
2879
+				return $this->getFolderArrays($_nodePath, $_onlyTopLevel, $_search, $_subscribedOnly, $_getCounter);
2880 2880
 			}
2881 2881
 
2882 2882
 			// now process topFolders for next level
@@ -2884,13 +2884,13 @@  discard block
 block discarded – undo
2884 2884
 			{
2885 2885
 				$pattern = "/\\".$delimiter."/";
2886 2886
 				$reference = preg_replace($pattern, '', $node['MAILBOX']);
2887
-				if(!empty($prefixes))
2887
+				if (!empty($prefixes))
2888 2888
 				{
2889 2889
 					$reference = '';
2890
-					$tmpArray = explode($delimiter,$node['MAILBOX']);
2891
-					foreach($tmpArray as $p)
2890
+					$tmpArray = explode($delimiter, $node['MAILBOX']);
2891
+					foreach ($tmpArray as $p)
2892 2892
 					{
2893
-						$reference = empty($reference)?$p:$reference.$delimiter.$p;
2893
+						$reference = empty($reference) ? $p : $reference.$delimiter.$p;
2894 2894
 					}
2895 2895
 				}
2896 2896
 				$mainFolder = $subFolders = array();
@@ -2926,19 +2926,19 @@  discard block
 block discarded – undo
2926 2926
 							$nFolders [$path] = $folder;
2927 2927
 						}
2928 2928
 					}
2929
-					if (is_array($aFolders)) uasort ($aFolders, array($this,'sortByAutofolder'));
2929
+					if (is_array($aFolders)) uasort($aFolders, array($this, 'sortByAutofolder'));
2930 2930
 					//ksort($aFolders);
2931 2931
 
2932 2932
 					// Sort none auto folders base on mailbox name
2933
-					uasort($nFolders,array($this,'sortByMailbox'));
2933
+					uasort($nFolders, array($this, 'sortByMailbox'));
2934 2934
 
2935
-					$subFolders = array_merge($aFolders,$nFolders);
2935
+					$subFolders = array_merge($aFolders, $nFolders);
2936 2936
 				}
2937 2937
 				else
2938 2938
 				{
2939 2939
 					if (is_array($subFolders)) ksort($subFolders);
2940 2940
 				}
2941
-				$folders = array_merge($folders,(array)$mainFolder, (array)$subFolders);
2941
+				$folders = array_merge($folders, (array)$mainFolder, (array)$subFolders);
2942 2942
 			}
2943 2943
 		}
2944 2944
 		elseif ($_nodePath) // single node
@@ -2965,9 +2965,9 @@  discard block
 block discarded – undo
2965 2965
 				$folders = $this->icServer->getMailboxes($path, $_search, true);
2966 2966
 			}
2967 2967
 
2968
-			uasort($folders,array($this,'sortByMailbox'));//ksort($folders);
2968
+			uasort($folders, array($this, 'sortByMailbox')); //ksort($folders);
2969 2969
 		}
2970
-		elseif(!$_nodePath) // all
2970
+		elseif (!$_nodePath) // all
2971 2971
 		{
2972 2972
 			if ($_subscribedOnly)
2973 2973
 			{
@@ -2983,101 +2983,101 @@  discard block
 block discarded – undo
2983 2983
 		{
2984 2984
 			// SORTING FOLDERS
2985 2985
 			//self::$debugTimes=true;
2986
-			if (self::$debugTimes) $starttime = microtime (true);
2986
+			if (self::$debugTimes) $starttime = microtime(true);
2987 2987
 			// Merge of all auto folders and specialusefolders
2988 2988
 			$autoFoldersTmp = array_unique((array_merge(self::$autoFolders, array_values(self::$specialUseFolders))));
2989
-			uasort($folders,array($this,'sortByMailbox'));//ksort($folders);
2989
+			uasort($folders, array($this, 'sortByMailbox')); //ksort($folders);
2990 2990
 			$tmpFolders = $folders;
2991
-			$inboxFolderObject=$inboxSubFolderObjects=$autoFolderObjects=$typeFolderObject=$mySpecialUseFolders=array();
2992
-			$googleMailFolderObject=$googleAutoFolderObjects=$googleSubFolderObjects=array();
2993
-			$isGoogleMail=false;
2994
-			foreach($autoFoldersTmp as $afk=>$aF)
2991
+			$inboxFolderObject = $inboxSubFolderObjects = $autoFolderObjects = $typeFolderObject = $mySpecialUseFolders = array();
2992
+			$googleMailFolderObject = $googleAutoFolderObjects = $googleSubFolderObjects = array();
2993
+			$isGoogleMail = false;
2994
+			foreach ($autoFoldersTmp as $afk=>$aF)
2995 2995
 			{
2996
-				if (!isset($mySpecialUseFolders[$aF]) && $aF) $mySpecialUseFolders[$aF]=$this->getFolderByType($aF,false);
2996
+				if (!isset($mySpecialUseFolders[$aF]) && $aF) $mySpecialUseFolders[$aF] = $this->getFolderByType($aF, false);
2997 2997
 				//error_log($afk.':'.$aF.'->'.$mySpecialUseFolders[$aF]);
2998 2998
 			}
2999 2999
 			//error_log(array2string($mySpecialUseFolders));
3000 3000
 			foreach ($tmpFolders as $k => $f) {
3001
-				$sorted=false;
3002
-				if (strtoupper(substr($k,0,5))=='INBOX') {
3003
-					if (strtoupper($k)=='INBOX') {
3001
+				$sorted = false;
3002
+				if (strtoupper(substr($k, 0, 5)) == 'INBOX') {
3003
+					if (strtoupper($k) == 'INBOX') {
3004 3004
 						//error_log(__METHOD__.__LINE__.':'.strtoupper(substr($k,0,5)).':'.$k);
3005
-						$inboxFolderObject[$k]=$f;
3005
+						$inboxFolderObject[$k] = $f;
3006 3006
 						unset($folders[$k]);
3007
-						$sorted=true;
3007
+						$sorted = true;
3008 3008
 					} else {
3009
-						$isAutoFolder=false;
3010
-						foreach($autoFoldersTmp as $afk=>$aF)
3009
+						$isAutoFolder = false;
3010
+						foreach ($autoFoldersTmp as $afk=>$aF)
3011 3011
 						{
3012 3012
 							//error_log(__METHOD__.__LINE__.$k.':'.$aF.'->'.$mySpecialUseFolders[$aF]);
3013
-							if($aF && strlen($mySpecialUseFolders[$aF])&&/*strlen($k)>=strlen($mySpecialUseFolders[$aF])&&*/
3014
-								($mySpecialUseFolders[$aF]==$k || substr($k,0,strlen($mySpecialUseFolders[$aF].$delimiter))==$mySpecialUseFolders[$aF].$delimiter || //k may be child of an autofolder
3015
-								stristr($mySpecialUseFolders[$aF],$k.$delimiter)!==false)) // k is parent of an autofolder
3013
+							if ($aF && strlen($mySpecialUseFolders[$aF]) && /*strlen($k)>=strlen($mySpecialUseFolders[$aF])&&*/
3014
+								($mySpecialUseFolders[$aF] == $k || substr($k, 0, strlen($mySpecialUseFolders[$aF].$delimiter)) == $mySpecialUseFolders[$aF].$delimiter || //k may be child of an autofolder
3015
+								stristr($mySpecialUseFolders[$aF], $k.$delimiter) !== false)) // k is parent of an autofolder
3016 3016
 							{
3017 3017
 								//error_log(__METHOD__.__LINE__.$k.'->'.$mySpecialUseFolders[$aF]);
3018
-								$isAutoFolder=true;
3019
-								$autoFolderObjects[$k]=$f;
3018
+								$isAutoFolder = true;
3019
+								$autoFolderObjects[$k] = $f;
3020 3020
 								break;
3021 3021
 							}
3022 3022
 						}
3023
-						if ($isAutoFolder==false) $inboxSubFolderObjects[$k]=$f;
3023
+						if ($isAutoFolder == false) $inboxSubFolderObjects[$k] = $f;
3024 3024
 						unset($folders[$k]);
3025
-						$sorted=true;
3025
+						$sorted = true;
3026 3026
 					}
3027
-				} elseif (strtoupper(substr($k,0,13))=='[GOOGLE MAIL]') {
3028
-					$isGoogleMail=true;
3029
-					if (strtoupper($k)=='[GOOGLE MAIL]') {
3030
-						$googleMailFolderObject[$k]=$f;
3027
+				} elseif (strtoupper(substr($k, 0, 13)) == '[GOOGLE MAIL]') {
3028
+					$isGoogleMail = true;
3029
+					if (strtoupper($k) == '[GOOGLE MAIL]') {
3030
+						$googleMailFolderObject[$k] = $f;
3031 3031
 						unset($folders[$k]);
3032
-						$sorted=true;
3032
+						$sorted = true;
3033 3033
 					} else {
3034
-						$isAutoFolder=false;
3035
-						foreach($autoFoldersTmp as $afk=>$aF)
3034
+						$isAutoFolder = false;
3035
+						foreach ($autoFoldersTmp as $afk=>$aF)
3036 3036
 						{
3037 3037
 							//error_log($k.':'.$aF.'->'.$mySpecialUseFolders[$aF]);
3038
-							if($aF && strlen($mySpecialUseFolders[$aF])&&/*strlen($k)>=strlen($mySpecialUseFolders[$aF])&&*/
3039
-								($mySpecialUseFolders[$aF]==$k || substr($k,0,strlen($mySpecialUseFolders[$aF].$delimiter))==$mySpecialUseFolders[$aF].$delimiter|| //k may be child of an autofolder
3040
-								stristr($mySpecialUseFolders[$aF],$k.$delimiter)!==false)) // k is parent of an autofolder
3038
+							if ($aF && strlen($mySpecialUseFolders[$aF]) && /*strlen($k)>=strlen($mySpecialUseFolders[$aF])&&*/
3039
+								($mySpecialUseFolders[$aF] == $k || substr($k, 0, strlen($mySpecialUseFolders[$aF].$delimiter)) == $mySpecialUseFolders[$aF].$delimiter || //k may be child of an autofolder
3040
+								stristr($mySpecialUseFolders[$aF], $k.$delimiter) !== false)) // k is parent of an autofolder
3041 3041
 							{
3042 3042
 								//error_log($k.'->'.$mySpecialUseFolders[$aF]);
3043
-								$isAutoFolder=true;
3044
-								$googleAutoFolderObjects[$k]=$f;
3043
+								$isAutoFolder = true;
3044
+								$googleAutoFolderObjects[$k] = $f;
3045 3045
 								break;
3046 3046
 							}
3047 3047
 						}
3048
-						if ($isAutoFolder==false) $googleSubFolderObjects[$k]=$f;
3048
+						if ($isAutoFolder == false) $googleSubFolderObjects[$k] = $f;
3049 3049
 						unset($folders[$k]);
3050
-						$sorted=true;
3050
+						$sorted = true;
3051 3051
 					}
3052 3052
 				} else {
3053
-					$isAutoFolder=false;
3054
-					foreach($autoFoldersTmp as $afk=>$aF)
3053
+					$isAutoFolder = false;
3054
+					foreach ($autoFoldersTmp as $afk=>$aF)
3055 3055
 					{
3056 3056
 						//error_log($k.':'.$aF.'->'.$mySpecialUseFolders[$aF]);
3057
-						if($aF && strlen($mySpecialUseFolders[$aF])&&/*strlen($k)>=strlen($mySpecialUseFolders[$aF])&&*/
3058
-								($mySpecialUseFolders[$aF]==$k || substr($k,0,strlen($mySpecialUseFolders[$aF].$delimiter))==$mySpecialUseFolders[$aF].$delimiter|| //k may be child of an autofolder
3059
-								stristr($mySpecialUseFolders[$aF],$k.$delimiter)!==false)) // k is parent of an autofolder
3057
+						if ($aF && strlen($mySpecialUseFolders[$aF]) && /*strlen($k)>=strlen($mySpecialUseFolders[$aF])&&*/
3058
+								($mySpecialUseFolders[$aF] == $k || substr($k, 0, strlen($mySpecialUseFolders[$aF].$delimiter)) == $mySpecialUseFolders[$aF].$delimiter || //k may be child of an autofolder
3059
+								stristr($mySpecialUseFolders[$aF], $k.$delimiter) !== false)) // k is parent of an autofolder
3060 3060
 						{
3061 3061
 							//error_log($k.'->'.$mySpecialUseFolders[$aF]);
3062
-							$isAutoFolder=true;
3063
-							$autoFolderObjects[$k]=$f;
3062
+							$isAutoFolder = true;
3063
+							$autoFolderObjects[$k] = $f;
3064 3064
 							unset($folders[$k]);
3065
-							$sorted=true;
3065
+							$sorted = true;
3066 3066
 							break;
3067 3067
 						}
3068 3068
 					}
3069 3069
 				}
3070 3070
 
3071
-				if ($sorted==false)
3071
+				if ($sorted == false)
3072 3072
 				{
3073
-					foreach(array('others','shared') as $type)
3073
+					foreach (array('others', 'shared') as $type)
3074 3074
 					{
3075
-						if ($nameSpace[$type]['prefix_present']&&$nameSpace[$type]['prefix'])
3075
+						if ($nameSpace[$type]['prefix_present'] && $nameSpace[$type]['prefix'])
3076 3076
 						{
3077
-							if (substr($k,0,strlen($nameSpace[$type]['prefix']))==$nameSpace[$type]['prefix']||
3078
-								substr($k,0,strlen($nameSpace[$type]['prefix'])-strlen($nameSpace[$type]['delimiter']))==substr($nameSpace[$type]['prefix'],0,strlen($nameSpace[$type]['delimiter'])*-1)) {
3077
+							if (substr($k, 0, strlen($nameSpace[$type]['prefix'])) == $nameSpace[$type]['prefix'] ||
3078
+								substr($k, 0, strlen($nameSpace[$type]['prefix']) - strlen($nameSpace[$type]['delimiter'])) == substr($nameSpace[$type]['prefix'], 0, strlen($nameSpace[$type]['delimiter']) * -1)) {
3079 3079
 								//error_log(__METHOD__.__LINE__.':'.substr($k,0,strlen($nameSpace[$type]['prefix'])).':'.$k);
3080
-								$typeFolderObject[$type][$k]=$f;
3080
+								$typeFolderObject[$type][$k] = $f;
3081 3081
 								unset($folders[$k]);
3082 3082
 							}
3083 3083
 						}
@@ -3088,40 +3088,40 @@  discard block
 block discarded – undo
3088 3088
 			// avoid calling sortByAutoFolder as it is not regarding subfolders
3089 3089
 			$autoFolderObjectsTmp = $autoFolderObjects;
3090 3090
 			unset($autoFolderObjects);
3091
-			uasort($autoFolderObjectsTmp, array($this,'sortByMailbox'));
3092
-			foreach($autoFoldersTmp as $afk=>$aF)
3091
+			uasort($autoFolderObjectsTmp, array($this, 'sortByMailbox'));
3092
+			foreach ($autoFoldersTmp as $afk=>$aF)
3093 3093
 			{
3094
-				foreach($autoFolderObjectsTmp as $k => $f)
3094
+				foreach ($autoFolderObjectsTmp as $k => $f)
3095 3095
 				{
3096
-					if($aF && ($mySpecialUseFolders[$aF]==$k ||
3097
-						substr($k,0,strlen($mySpecialUseFolders[$aF].$delimiter))==$mySpecialUseFolders[$aF].$delimiter ||
3098
-						stristr($mySpecialUseFolders[$aF],$k.$delimiter)!==false))
3096
+					if ($aF && ($mySpecialUseFolders[$aF] == $k ||
3097
+						substr($k, 0, strlen($mySpecialUseFolders[$aF].$delimiter)) == $mySpecialUseFolders[$aF].$delimiter ||
3098
+						stristr($mySpecialUseFolders[$aF], $k.$delimiter) !== false))
3099 3099
 					{
3100
-						$autoFolderObjects[$k]=$f;
3100
+						$autoFolderObjects[$k] = $f;
3101 3101
 					}
3102 3102
 				}
3103 3103
 			}
3104 3104
 			//error_log(__METHOD__.__LINE__.array2string($autoFolderObjects));
3105 3105
 			if (!$isGoogleMail) {
3106
-				$folders = array_merge($inboxFolderObject,$autoFolderObjects,(array)$inboxSubFolderObjects,(array)$folders,(array)$typeFolderObject['others'],(array)$typeFolderObject['shared']);
3106
+				$folders = array_merge($inboxFolderObject, $autoFolderObjects, (array)$inboxSubFolderObjects, (array)$folders, (array)$typeFolderObject['others'], (array)$typeFolderObject['shared']);
3107 3107
 			} else {
3108 3108
 				// avoid calling sortByAutoFolder as it is not regarding subfolders
3109 3109
 				$gAutoFolderObjectsTmp = $googleAutoFolderObjects;
3110 3110
 				unset($googleAutoFolderObjects);
3111
-				uasort($gAutoFolderObjectsTmp, array($this,'sortByMailbox'));
3112
-				foreach($autoFoldersTmp as $afk=>$aF)
3111
+				uasort($gAutoFolderObjectsTmp, array($this, 'sortByMailbox'));
3112
+				foreach ($autoFoldersTmp as $afk=>$aF)
3113 3113
 				{
3114
-					foreach($gAutoFolderObjectsTmp as $k => $f)
3114
+					foreach ($gAutoFolderObjectsTmp as $k => $f)
3115 3115
 					{
3116
-						if($aF && ($mySpecialUseFolders[$aF]==$k || substr($k,0,strlen($mySpecialUseFolders[$aF].$delimiter))==$mySpecialUseFolders[$aF].$delimiter))
3116
+						if ($aF && ($mySpecialUseFolders[$aF] == $k || substr($k, 0, strlen($mySpecialUseFolders[$aF].$delimiter)) == $mySpecialUseFolders[$aF].$delimiter))
3117 3117
 						{
3118
-							$googleAutoFolderObjects[$k]=$f;
3118
+							$googleAutoFolderObjects[$k] = $f;
3119 3119
 						}
3120 3120
 					}
3121 3121
 				}
3122
-				$folders = array_merge($inboxFolderObject,$autoFolderObjects,(array)$folders,(array)$googleMailFolderObject,$googleAutoFolderObjects,$googleSubFolderObjects,(array)$typeFolderObject['others'],(array)$typeFolderObject['shared']);
3122
+				$folders = array_merge($inboxFolderObject, $autoFolderObjects, (array)$folders, (array)$googleMailFolderObject, $googleAutoFolderObjects, $googleSubFolderObjects, (array)$typeFolderObject['others'], (array)$typeFolderObject['shared']);
3123 3123
 			}
3124
-			if (self::$debugTimes) self::logRunTimes($starttime,null,function_backtrace(),__METHOD__.' ('.__LINE__.') Sorting:');
3124
+			if (self::$debugTimes) self::logRunTimes($starttime, null, function_backtrace(), __METHOD__.' ('.__LINE__.') Sorting:');
3125 3125
 			//self::$debugTimes=false;
3126 3126
 		}
3127 3127
 		// Get counter information and add them to each fetched folders array
@@ -3143,10 +3143,10 @@  discard block
 block discarded – undo
3143 3143
 	 * @param array $autofolders_exists existing folders, no need to check their existance again
3144 3144
 	 * @return int number of new folders created
3145 3145
 	 */
3146
-	function check_create_autofolders(array $autofolders_exists=array())
3146
+	function check_create_autofolders(array $autofolders_exists = array())
3147 3147
 	{
3148 3148
 		$num_created = 0;
3149
-		foreach(self::$autoFolders as $folder)
3149
+		foreach (self::$autoFolders as $folder)
3150 3150
 		{
3151 3151
 			$created = false;
3152 3152
 			if (!in_array($folder, $autofolders_exists) && $this->_getSpecialUseFolder($folder, true, $created) &&
@@ -3171,7 +3171,7 @@  discard block
 block discarded – undo
3171 3171
 		$rv = false;
3172 3172
 		foreach ($haystack as $k => $v)
3173 3173
 		{
3174
-			foreach($v as &$sv) {if (trim($sv)==trim($needle)) return $k;}
3174
+			foreach ($v as &$sv) {if (trim($sv) == trim($needle)) return $k; }
3175 3175
 		}
3176 3176
 		return $rv;
3177 3177
 	}
@@ -3184,9 +3184,9 @@  discard block
 block discarded – undo
3184 3184
 	 * @param array $b array of folders
3185 3185
 	 * @return int expect values (0, 1 or -1)
3186 3186
 	 */
3187
-	function sortByMailbox($a,$b)
3187
+	function sortByMailbox($a, $b)
3188 3188
 	{
3189
-		return strcasecmp($a['MAILBOX'],$b['MAILBOX']);
3189
+		return strcasecmp($a['MAILBOX'], $b['MAILBOX']);
3190 3190
 	}
3191 3191
 
3192 3192
 	/**
@@ -3196,13 +3196,13 @@  discard block
 block discarded – undo
3196 3196
 	 * @param string $_hDelimiter hierarchy delimiter
3197 3197
 	 * @return array returns an array of data extracted from given node path
3198 3198
 	 */
3199
-	static function pathToFolderData ($_path, $_hDelimiter)
3199
+	static function pathToFolderData($_path, $_hDelimiter)
3200 3200
 	{
3201 3201
 		if (!strpos($_path, self::DELIMITER)) $_path = self::DELIMITER.$_path;
3202 3202
 		list(,$path) = explode(self::DELIMITER, $_path);
3203 3203
 		$path_chain = $parts = explode($_hDelimiter, $path);
3204 3204
 		$name = array_pop($parts);
3205
-		return array (
3205
+		return array(
3206 3206
 			'name' => $name,
3207 3207
 			'mailbox' => $path,
3208 3208
 			'parent' => implode($_hDelimiter, $parts),
@@ -3225,8 +3225,8 @@  discard block
 block discarded – undo
3225 3225
 		// 0, 1 und -1
3226 3226
 		$a = self::pathToFolderData($_a['MAILBOX'], $_a['delimiter']);
3227 3227
 		$b = self::pathToFolderData($_b['MAILBOX'], $_b['delimiter']);
3228
-		$pos1 = array_search(trim($a['name']),self::$autoFolders);
3229
-		$pos2 = array_search(trim($b['name']),self::$autoFolders);
3228
+		$pos1 = array_search(trim($a['name']), self::$autoFolders);
3229
+		$pos2 = array_search(trim($b['name']), self::$autoFolders);
3230 3230
 		if ($pos1 == $pos2) return 0;
3231 3231
 		return ($pos1 < $pos2) ? -1 : 1;
3232 3232
 	}
@@ -3239,10 +3239,10 @@  discard block
 block discarded – undo
3239 3239
 	 * @param object $b array of folderobjects
3240 3240
 	 * @return int expect values (0, 1 or -1)
3241 3241
 	 */
3242
-	function sortByDisplayName($a,$b)
3242
+	function sortByDisplayName($a, $b)
3243 3243
 	{
3244 3244
 		// 0, 1 und -1
3245
-		return strcasecmp($a->displayName,$b->displayName);
3245
+		return strcasecmp($a->displayName, $b->displayName);
3246 3246
 	}
3247 3247
 
3248 3248
 	/**
@@ -3253,11 +3253,11 @@  discard block
 block discarded – undo
3253 3253
 	 * @param object $b array of folderobjects
3254 3254
 	 * @return int expect values (0, 1 or -1)
3255 3255
 	 */
3256
-	function sortByAutoFolderPos($a,$b)
3256
+	function sortByAutoFolderPos($a, $b)
3257 3257
 	{
3258 3258
 		// 0, 1 und -1
3259
-		$pos1 = array_search(trim($a->shortFolderName),self::$autoFolders);
3260
-		$pos2 = array_search(trim($b->shortFolderName),self::$autoFolders);
3259
+		$pos1 = array_search(trim($a->shortFolderName), self::$autoFolders);
3260
+		$pos2 = array_search(trim($b->shortFolderName), self::$autoFolders);
3261 3261
 		if ($pos1 == $pos2) return 0;
3262 3262
 		return ($pos1 < $pos2) ? -1 : 1;
3263 3263
 	}
@@ -3270,7 +3270,7 @@  discard block
 block discarded – undo
3270 3270
 	 * @param boolean $_returnObject return the counters as object rather than an array
3271 3271
 	 * @return mixed false or array of counters array(MESSAGES,UNSEEN,RECENT,UIDNEXT,UIDVALIDITY) or object
3272 3272
 	 */
3273
-	function getMailBoxCounters($folderName,$_returnObject=true)
3273
+	function getMailBoxCounters($folderName, $_returnObject = true)
3274 3274
 	{
3275 3275
 		try
3276 3276
 		{
@@ -3282,9 +3282,9 @@  discard block
 block discarded – undo
3282 3282
 			if (self::$debug) error_log(__METHOD__." returned FolderStatus for Folder $folderName:".$e->getMessage());
3283 3283
 			return false;
3284 3284
 		}
3285
-		if(is_array($folderStatus)) {
3286
-			if ($_returnObject===false) return $folderStatus;
3287
-			$status =  new \stdClass;
3285
+		if (is_array($folderStatus)) {
3286
+			if ($_returnObject === false) return $folderStatus;
3287
+			$status = new \stdClass;
3288 3288
 			$status->messages   = $folderStatus['MESSAGES'];
3289 3289
 			$status->unseen     = $folderStatus['UNSEEN'];
3290 3290
 			$status->recent     = $folderStatus['RECENT'];
@@ -3306,42 +3306,42 @@  discard block
 block discarded – undo
3306 3306
 	 * @param string $reclevel 0, counter to keep track of the current recursionlevel
3307 3307
 	 * @return array of mailboxes
3308 3308
 	 */
3309
-	function getMailBoxesRecursive($_mailbox, $delimiter, $prefix, $reclevel=0)
3309
+	function getMailBoxesRecursive($_mailbox, $delimiter, $prefix, $reclevel = 0)
3310 3310
 	{
3311 3311
 		#echo __METHOD__." retrieve SubFolders for $_mailbox$delimiter <br>";
3312
-		$maxreclevel=25;
3312
+		$maxreclevel = 25;
3313 3313
 		if ($reclevel > $maxreclevel) {
3314
-			error_log( __METHOD__." Recursion Level Exeeded ($reclevel) while looking up $_mailbox$delimiter ");
3314
+			error_log(__METHOD__." Recursion Level Exeeded ($reclevel) while looking up $_mailbox$delimiter ");
3315 3315
 			return array();
3316 3316
 		}
3317 3317
 		$reclevel++;
3318 3318
 		// clean up double delimiters
3319
-		$_mailbox = preg_replace('~'.($delimiter == '.' ? "\\".$delimiter:$delimiter).'+~s',$delimiter,$_mailbox);
3319
+		$_mailbox = preg_replace('~'.($delimiter == '.' ? "\\".$delimiter : $delimiter).'+~s', $delimiter, $_mailbox);
3320 3320
 		//get that mailbox in question
3321
-		$mbx = $this->icServer->getMailboxes($_mailbox,1,true);
3321
+		$mbx = $this->icServer->getMailboxes($_mailbox, 1, true);
3322 3322
 		$mbxkeys = array_keys($mbx);
3323 3323
 		#_debug_array($mbx);
3324 3324
 //error_log(__METHOD__.' ('.__LINE__.') '.' Delimiter:'.array2string($delimiter));
3325 3325
 //error_log(__METHOD__.' ('.__LINE__.') '.array2string($mbx));
3326 3326
 		// Example: Array([INBOX/GaGa] => Array([MAILBOX] => INBOX/GaGa[ATTRIBUTES] => Array([0] => \\unmarked)[delimiter] => /))
3327
-		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"]))) {
3327
+		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"]))) {
3328 3328
 			// if there are children fetch them
3329 3329
 			//echo $mbx[$mbxkeys[0]]['MAILBOX']."<br>";
3330 3330
 
3331
-			$buff = $this->icServer->getMailboxes($mbx[$mbxkeys[0]]['MAILBOX'].($mbx[$mbxkeys[0]]['MAILBOX'] == $prefix ? '':$delimiter),2,false);
3331
+			$buff = $this->icServer->getMailboxes($mbx[$mbxkeys[0]]['MAILBOX'].($mbx[$mbxkeys[0]]['MAILBOX'] == $prefix ? '' : $delimiter), 2, false);
3332 3332
 			//$buff = $this->icServer->getMailboxes($mbx[$mbxkeys[0]]['MAILBOX'],2,false);
3333 3333
 			//_debug_array($buff);
3334 3334
 			$allMailboxes = array();
3335 3335
 			foreach ($buff as $mbxname) {
3336 3336
 //error_log(__METHOD__.' ('.__LINE__.') '.array2string($mbxname));
3337
-				$mbxname = preg_replace('~'.($delimiter == '.' ? "\\".$delimiter:$delimiter).'+~s',$delimiter,$mbxname['MAILBOX']);
3337
+				$mbxname = preg_replace('~'.($delimiter == '.' ? "\\".$delimiter : $delimiter).'+~s', $delimiter, $mbxname['MAILBOX']);
3338 3338
 				#echo "About to recur in level $reclevel:".$mbxname."<br>";
3339
-				if ( $mbxname != $mbx[$mbxkeys[0]]['MAILBOX'] && $mbxname != $prefix  && $mbxname != $mbx[$mbxkeys[0]]['MAILBOX'].$delimiter)
3339
+				if ($mbxname != $mbx[$mbxkeys[0]]['MAILBOX'] && $mbxname != $prefix && $mbxname != $mbx[$mbxkeys[0]]['MAILBOX'].$delimiter)
3340 3340
 				{
3341 3341
 					$allMailboxes = array_merge($allMailboxes, self::getMailBoxesRecursive($mbxname, $delimiter, $prefix, $reclevel));
3342 3342
 				}
3343 3343
 			}
3344
-			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'];
3344
+			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'];
3345 3345
 			return $allMailboxes;
3346 3346
 		} else {
3347 3347
 			return array($_mailbox);
@@ -3356,18 +3356,18 @@  discard block
 block discarded – undo
3356 3356
 	 * @param boolean& $created =null on return true: if folder was just created, false if not
3357 3357
 	 * @return mixed string or false
3358 3358
 	 */
3359
-	function _getSpecialUseFolder($_type, $_checkexistance=TRUE, &$created=null)
3359
+	function _getSpecialUseFolder($_type, $_checkexistance = TRUE, &$created = null)
3360 3360
 	{
3361 3361
 		static $types = array(
3362
-			'Drafts'   => array('profileKey'=>'acc_folder_draft','autoFolderName'=>'Drafts'),
3363
-			'Template' => array('profileKey'=>'acc_folder_template','autoFolderName'=>'Templates'),
3364
-			'Trash'    => array('profileKey'=>'acc_folder_trash','autoFolderName'=>'Trash'),
3365
-			'Sent'     => array('profileKey'=>'acc_folder_sent','autoFolderName'=>'Sent'),
3366
-			'Junk'     => array('profileKey'=>'acc_folder_junk','autoFolderName'=>'Junk'),
3367
-			'Outbox'   => array('profileKey'=>'acc_folder_outbox','autoFolderName'=>'Outbox'),
3368
-			'Archive'   => array('profileKey'=>'acc_folder_archive','autoFolderName'=>'Archive'),
3362
+			'Drafts'   => array('profileKey'=>'acc_folder_draft', 'autoFolderName'=>'Drafts'),
3363
+			'Template' => array('profileKey'=>'acc_folder_template', 'autoFolderName'=>'Templates'),
3364
+			'Trash'    => array('profileKey'=>'acc_folder_trash', 'autoFolderName'=>'Trash'),
3365
+			'Sent'     => array('profileKey'=>'acc_folder_sent', 'autoFolderName'=>'Sent'),
3366
+			'Junk'     => array('profileKey'=>'acc_folder_junk', 'autoFolderName'=>'Junk'),
3367
+			'Outbox'   => array('profileKey'=>'acc_folder_outbox', 'autoFolderName'=>'Outbox'),
3368
+			'Archive'   => array('profileKey'=>'acc_folder_archive', 'autoFolderName'=>'Archive'),
3369 3369
 		);
3370
-		if ($_type == 'Templates') $_type = 'Template';	// for some reason self::$autofolders uses 'Templates'!
3370
+		if ($_type == 'Templates') $_type = 'Template'; // for some reason self::$autofolders uses 'Templates'!
3371 3371
 		$created = false;
3372 3372
 		if (!isset($types[$_type]))
3373 3373
 		{
@@ -3389,7 +3389,7 @@  discard block
 block discarded – undo
3389 3389
 		}
3390 3390
 		// do not try to autocreate configured Archive-Folder. Return false if configured folder does not exist
3391 3391
 		if ($_type == 'Archive') {
3392
-			if ($_folderName && $_checkexistance && strtolower($_folderName) !='none' && !$this->folderExists($_folderName,true)) {
3392
+			if ($_folderName && $_checkexistance && strtolower($_folderName) != 'none' && !$this->folderExists($_folderName, true)) {
3393 3393
 				return false;
3394 3394
 			} else {
3395 3395
 				return $_folderName;
@@ -3397,38 +3397,38 @@  discard block
 block discarded – undo
3397 3397
 
3398 3398
 		}
3399 3399
 		// does the folder exist??? (is configured/preset, but non-existent)
3400
-		if ($_folderName && $_checkexistance && strtolower($_folderName) !='none' && !$this->folderExists($_folderName,true)) {
3400
+		if ($_folderName && $_checkexistance && strtolower($_folderName) != 'none' && !$this->folderExists($_folderName, true)) {
3401 3401
 			try
3402 3402
 			{
3403 3403
 				$error = null;
3404 3404
 				if (($_folderName = $this->createFolder('', $_folderName, $error))) $created = true;
3405 3405
 				if ($error) error_log(__METHOD__.' ('.__LINE__.') '.' Failed to create Folder '.$_folderName." for $_type:".$error);
3406 3406
 			}
3407
-			catch(Exception $e)
3407
+			catch (Exception $e)
3408 3408
 			{
3409 3409
 				error_log(__METHOD__.' ('.__LINE__.') '.' Failed to create Folder '.$_folderName." for $_type:".$e->getMessage().':'.function_backtrace());
3410 3410
 				$_folderName = false;
3411 3411
 			}
3412 3412
 		}
3413 3413
 		// not sure yet if false is the correct behavior on none
3414
-		if ($_folderName =='none') return 'none' ; //false;
3414
+		if ($_folderName == 'none') return 'none'; //false;
3415 3415
 		//no (valid) folder found yet; try specialUseFolders
3416
-		if (empty($_folderName) && is_array(self::$specialUseFolders) && ($f = array_search($_type,self::$specialUseFolders))) $_folderName = $f;
3416
+		if (empty($_folderName) && is_array(self::$specialUseFolders) && ($f = array_search($_type, self::$specialUseFolders))) $_folderName = $f;
3417 3417
 		//no specialUseFolder; try some Defaults
3418 3418
 		if (empty($_folderName) && isset($types[$_type]))
3419 3419
 		{
3420 3420
 			$nameSpace = $this->_getNameSpaces();
3421
-			$prefix='';
3421
+			$prefix = '';
3422 3422
 			foreach ($nameSpace as $nSp)
3423 3423
 			{
3424
-				if ($nSp['type']=='personal')
3424
+				if ($nSp['type'] == 'personal')
3425 3425
 				{
3426 3426
 					//error_log(__METHOD__.__LINE__.array2string($nSp));
3427 3427
 					$prefix = $nSp['prefix'];
3428 3428
 					break;
3429 3429
 				}
3430 3430
 			}
3431
-			if ($this->folderExists($prefix.$types[$_type]['autoFolderName'],true))
3431
+			if ($this->folderExists($prefix.$types[$_type]['autoFolderName'], true))
3432 3432
 			{
3433 3433
 				$_folderName = $prefix.$types[$_type]['autoFolderName'];
3434 3434
 			}
@@ -3437,11 +3437,11 @@  discard block
 block discarded – undo
3437 3437
 				try
3438 3438
 				{
3439 3439
 					$error = null;
3440
-					$this->createFolder('', $prefix.$types[$_type]['autoFolderName'],$error);
3440
+					$this->createFolder('', $prefix.$types[$_type]['autoFolderName'], $error);
3441 3441
 					$_folderName = $prefix.$types[$_type]['autoFolderName'];
3442 3442
 					if ($error) error_log(__METHOD__.' ('.__LINE__.') '.' Failed to create Folder '.$_folderName." for $_type:".$error);
3443 3443
 				}
3444
-				catch(Exception $e)
3444
+				catch (Exception $e)
3445 3445
 				{
3446 3446
 					error_log(__METHOD__.' ('.__LINE__.') '.' Failed to create Folder '.$_folderName." for $_type:".$e->getMessage());
3447 3447
 					$_folderName = false;
@@ -3457,7 +3457,7 @@  discard block
 block discarded – undo
3457 3457
 	 * @param boolean $_checkexistance trigger check for existance
3458 3458
 	 * @return mixed string or false
3459 3459
 	 */
3460
-	function getFolderByType($type, $_checkexistance=false)
3460
+	function getFolderByType($type, $_checkexistance = false)
3461 3461
 	{
3462 3462
 		return $this->_getSpecialUseFolder($type, $_checkexistance);
3463 3463
 	}
@@ -3467,7 +3467,7 @@  discard block
 block discarded – undo
3467 3467
 	 * @param boolean $_checkexistance trigger check for existance
3468 3468
 	 * @return mixed string or false
3469 3469
 	 */
3470
-	function getJunkFolder($_checkexistance=TRUE)
3470
+	function getJunkFolder($_checkexistance = TRUE)
3471 3471
 	{
3472 3472
 		return $this->_getSpecialUseFolder('Junk', $_checkexistance);
3473 3473
 	}
@@ -3477,7 +3477,7 @@  discard block
 block discarded – undo
3477 3477
 	 * @param boolean $_checkexistance trigger check for existance
3478 3478
 	 * @return mixed string or false
3479 3479
 	 */
3480
-	function getDraftFolder($_checkexistance=TRUE)
3480
+	function getDraftFolder($_checkexistance = TRUE)
3481 3481
 	{
3482 3482
 		return $this->_getSpecialUseFolder('Drafts', $_checkexistance);
3483 3483
 	}
@@ -3487,7 +3487,7 @@  discard block
 block discarded – undo
3487 3487
 	 * @param boolean $_checkexistance trigger check for existance
3488 3488
 	 * @return mixed string or false
3489 3489
 	 */
3490
-	function getTemplateFolder($_checkexistance=TRUE)
3490
+	function getTemplateFolder($_checkexistance = TRUE)
3491 3491
 	{
3492 3492
 		return $this->_getSpecialUseFolder('Template', $_checkexistance);
3493 3493
 	}
@@ -3497,7 +3497,7 @@  discard block
 block discarded – undo
3497 3497
 	 * @param boolean $_checkexistance trigger check for existance
3498 3498
 	 * @return mixed string or false
3499 3499
 	 */
3500
-	function getTrashFolder($_checkexistance=TRUE)
3500
+	function getTrashFolder($_checkexistance = TRUE)
3501 3501
 	{
3502 3502
 		return $this->_getSpecialUseFolder('Trash', $_checkexistance);
3503 3503
 	}
@@ -3507,7 +3507,7 @@  discard block
 block discarded – undo
3507 3507
 	 * @param boolean $_checkexistance trigger check for existance
3508 3508
 	 * @return mixed string or false
3509 3509
 	 */
3510
-	function getSentFolder($_checkexistance=TRUE)
3510
+	function getSentFolder($_checkexistance = TRUE)
3511 3511
 	{
3512 3512
 		return $this->_getSpecialUseFolder('Sent', $_checkexistance);
3513 3513
 	}
@@ -3517,7 +3517,7 @@  discard block
 block discarded – undo
3517 3517
 	 * @param boolean $_checkexistance trigger check for existance
3518 3518
 	 * @return mixed string or false
3519 3519
 	 */
3520
-	function getOutboxFolder($_checkexistance=TRUE)
3520
+	function getOutboxFolder($_checkexistance = TRUE)
3521 3521
 	{
3522 3522
 		return $this->_getSpecialUseFolder('Outbox', $_checkexistance);
3523 3523
 	}
@@ -3527,7 +3527,7 @@  discard block
 block discarded – undo
3527 3527
 	 * @param boolean $_checkexistance trigger check for existance . We do no autocreation for configured Archive folder
3528 3528
 	 * @return mixed string or false
3529 3529
 	 */
3530
-	function getArchiveFolder($_checkexistance=TRUE)
3530
+	function getArchiveFolder($_checkexistance = TRUE)
3531 3531
 	{
3532 3532
 		return $this->_getSpecialUseFolder('Archive', $_checkexistance);
3533 3533
 	}
@@ -3538,10 +3538,10 @@  discard block
 block discarded – undo
3538 3538
 	 * @param boolean $_checkexistance trigger check for existance
3539 3539
 	 * @return boolean
3540 3540
 	 */
3541
-	function isSentFolder($_folderName, $_checkexistance=TRUE)
3541
+	function isSentFolder($_folderName, $_checkexistance = TRUE)
3542 3542
 	{
3543 3543
 		$sentFolder = $this->getSentFolder($_checkexistance);
3544
-		if(empty($sentFolder)) {
3544
+		if (empty($sentFolder)) {
3545 3545
 			return false;
3546 3546
 		}
3547 3547
 		// does the folder exist???
@@ -3549,7 +3549,7 @@  discard block
 block discarded – undo
3549 3549
 			return false;
3550 3550
 		}
3551 3551
 
3552
-		if(false !== stripos($_folderName, $sentFolder)) {
3552
+		if (false !== stripos($_folderName, $sentFolder)) {
3553 3553
 			return true;
3554 3554
 		} else {
3555 3555
 			return false;
@@ -3562,15 +3562,15 @@  discard block
 block discarded – undo
3562 3562
 	 * @param boolean $_checkexistance trigger check for existance
3563 3563
 	 * @return boolean
3564 3564
 	 */
3565
-	function isOutbox($_folderName, $_checkexistance=TRUE)
3565
+	function isOutbox($_folderName, $_checkexistance = TRUE)
3566 3566
 	{
3567
-		if (stripos($_folderName, 'Outbox')===false) {
3567
+		if (stripos($_folderName, 'Outbox') === false) {
3568 3568
 			return false;
3569 3569
 		}
3570 3570
 		// does the folder exist???
3571 3571
 		if ($_checkexistance && $GLOBALS['egw_info']['user']['apps']['activesync'] && !$this->folderExists($_folderName)) {
3572 3572
 			$outboxFolder = $this->getOutboxFolder($_checkexistance);
3573
-			if(false !== stripos($_folderName, $outboxFolder)) {
3573
+			if (false !== stripos($_folderName, $outboxFolder)) {
3574 3574
 				return true;
3575 3575
 			} else {
3576 3576
 				return false;
@@ -3585,18 +3585,18 @@  discard block
 block discarded – undo
3585 3585
 	 * @param boolean $_checkexistance trigger check for existance
3586 3586
 	 * @return boolean
3587 3587
 	 */
3588
-	function isDraftFolder($_folderName, $_checkexistance=TRUE)
3588
+	function isDraftFolder($_folderName, $_checkexistance = TRUE)
3589 3589
 	{
3590 3590
 		$draftFolder = $this->getDraftFolder($_checkexistance);
3591
-		if(empty($draftFolder)) {
3591
+		if (empty($draftFolder)) {
3592 3592
 			return false;
3593 3593
 		}
3594 3594
 		// does the folder exist???
3595 3595
 		if ($_checkexistance && !$this->folderExists($_folderName)) {
3596 3596
 			return false;
3597 3597
 		}
3598
-		if (is_a($_folderName,"Horde_Imap_Client_Mailbox")) $_folderName = $_folderName->utf8;
3599
-		if(false !== stripos($_folderName, $draftFolder)) {
3598
+		if (is_a($_folderName, "Horde_Imap_Client_Mailbox")) $_folderName = $_folderName->utf8;
3599
+		if (false !== stripos($_folderName, $draftFolder)) {
3600 3600
 			return true;
3601 3601
 		} else {
3602 3602
 			return false;
@@ -3609,10 +3609,10 @@  discard block
 block discarded – undo
3609 3609
 	 * @param boolean $_checkexistance trigger check for existance
3610 3610
 	 * @return boolean
3611 3611
 	 */
3612
-	function isTrashFolder($_folderName, $_checkexistance=TRUE)
3612
+	function isTrashFolder($_folderName, $_checkexistance = TRUE)
3613 3613
 	{
3614 3614
 		$trashFolder = $this->getTrashFolder($_checkexistance);
3615
-		if(empty($trashFolder)) {
3615
+		if (empty($trashFolder)) {
3616 3616
 			return false;
3617 3617
 		}
3618 3618
 		// does the folder exist???
@@ -3620,7 +3620,7 @@  discard block
 block discarded – undo
3620 3620
 			return false;
3621 3621
 		}
3622 3622
 
3623
-		if(false !== stripos($_folderName, $trashFolder)) {
3623
+		if (false !== stripos($_folderName, $trashFolder)) {
3624 3624
 			return true;
3625 3625
 		} else {
3626 3626
 			return false;
@@ -3633,10 +3633,10 @@  discard block
 block discarded – undo
3633 3633
 	 * @param boolean $_checkexistance trigger check for existance
3634 3634
 	 * @return boolean
3635 3635
 	 */
3636
-	function isTemplateFolder($_folderName, $_checkexistance=TRUE)
3636
+	function isTemplateFolder($_folderName, $_checkexistance = TRUE)
3637 3637
 	{
3638 3638
 		$templateFolder = $this->getTemplateFolder($_checkexistance);
3639
-		if(empty($templateFolder)) {
3639
+		if (empty($templateFolder)) {
3640 3640
 			return false;
3641 3641
 		}
3642 3642
 		// does the folder exist???
@@ -3644,7 +3644,7 @@  discard block
 block discarded – undo
3644 3644
 			return false;
3645 3645
 		}
3646 3646
 
3647
-		if(false !== stripos($_folderName, $templateFolder)) {
3647
+		if (false !== stripos($_folderName, $templateFolder)) {
3648 3648
 			return true;
3649 3649
 		} else {
3650 3650
 			return false;
@@ -3657,24 +3657,24 @@  discard block
 block discarded – undo
3657 3657
 	 * @param boolean $_forceCheck trigger check for existance on icServer
3658 3658
 	 * @return mixed string or false
3659 3659
 	 */
3660
-	function folderExists($_folder, $_forceCheck=false)
3660
+	function folderExists($_folder, $_forceCheck = false)
3661 3661
 	{
3662 3662
 		static $folderInfo;
3663 3663
 		$forceCheck = $_forceCheck;
3664 3664
 		if (empty($_folder))
3665 3665
 		{
3666 3666
 			// this error is more or less without significance, unless we force the check
3667
-			if ($_forceCheck===true) error_log(__METHOD__.' ('.__LINE__.') '.' Called with empty Folder:'.$_folder.function_backtrace());
3667
+			if ($_forceCheck === true) error_log(__METHOD__.' ('.__LINE__.') '.' Called with empty Folder:'.$_folder.function_backtrace());
3668 3668
 			return false;
3669 3669
 		}
3670 3670
 		// when check is not enforced , we assume a folder represented as Horde_Imap_Client_Mailbox as existing folder
3671
-		if (is_a($_folder,"Horde_Imap_Client_Mailbox")&&$_forceCheck===false) return true;
3672
-		if (is_a($_folder,"Horde_Imap_Client_Mailbox")) $_folder =  $_folder->utf8;
3671
+		if (is_a($_folder, "Horde_Imap_Client_Mailbox") && $_forceCheck === false) return true;
3672
+		if (is_a($_folder, "Horde_Imap_Client_Mailbox")) $_folder = $_folder->utf8;
3673 3673
 		// reduce traffic within the Instance per User; Expire every 5 hours
3674 3674
 		//error_log(__METHOD__.' ('.__LINE__.') '.' Called with Folder:'.$_folder.function_backtrace());
3675
-		if (is_null($folderInfo)) $folderInfo = Cache::getCache(Cache::INSTANCE,'email','icServerFolderExistsInfo'.trim($GLOBALS['egw_info']['user']['account_id']),null,array(),$expiration=60*60*5);
3675
+		if (is_null($folderInfo)) $folderInfo = Cache::getCache(Cache::INSTANCE, 'email', 'icServerFolderExistsInfo'.trim($GLOBALS['egw_info']['user']['account_id']), null, array(), $expiration = 60 * 60 * 5);
3676 3676
 		//error_log(__METHOD__.' ('.__LINE__.') '.'Cached Info on Folder:'.$_folder.' for Profile:'.$this->profileID.($forceCheck?'(forcedCheck)':'').':'.array2string($folderInfo));
3677
-		if (!empty($folderInfo) && isset($folderInfo[$this->profileID]) && isset($folderInfo[$this->profileID][$_folder]) && $forceCheck===false)
3677
+		if (!empty($folderInfo) && isset($folderInfo[$this->profileID]) && isset($folderInfo[$this->profileID][$_folder]) && $forceCheck === false)
3678 3678
 		{
3679 3679
 			//error_log(__METHOD__.' ('.__LINE__.') '.' Using cached Info on Folder:'.$_folder.' for Profile:'.$this->profileID);
3680 3680
 			return $folderInfo[$this->profileID][$_folder];
@@ -3690,7 +3690,7 @@  discard block
 block discarded – undo
3690 3690
 
3691 3691
 		// does the folder exist???
3692 3692
 		//error_log(__METHOD__."->Connected?".$this->icServer->_connected.", ".$_folder.", ".($forceCheck?' forceCheck activated':'dont check on server'));
3693
-		if ( $forceCheck || empty($folderInfo) || !isset($folderInfo[$this->profileID]) || !isset($folderInfo[$this->profileID][$_folder])) {
3693
+		if ($forceCheck || empty($folderInfo) || !isset($folderInfo[$this->profileID]) || !isset($folderInfo[$this->profileID][$_folder])) {
3694 3694
 			//error_log(__METHOD__."->NotConnected and forceCheck with profile:".$this->profileID);
3695 3695
 			//return false;
3696 3696
 			//try to connect
@@ -3701,18 +3701,18 @@  discard block
 block discarded – undo
3701 3701
 		}
3702 3702
 		catch (\Exception $e)
3703 3703
 		{
3704
-			error_log(__METHOD__.__LINE__.$e->getMessage().($e->details?', '.$e->details:''));
3705
-			self::$profileDefunct[$this->profileID]=true;
3704
+			error_log(__METHOD__.__LINE__.$e->getMessage().($e->details ? ', '.$e->details : ''));
3705
+			self::$profileDefunct[$this->profileID] = true;
3706 3706
 			$folderInfo[$this->profileID][$_folder] = false;
3707 3707
 		}
3708 3708
 		//error_log(__METHOD__.' ('.__LINE__.') '.' Folder Exists:'.$folderInfo[$this->profileID][$_folder].function_backtrace());
3709 3709
 
3710
-		if(!empty($folderInfo) && isset($folderInfo[$this->profileID][$_folder]) &&
3710
+		if (!empty($folderInfo) && isset($folderInfo[$this->profileID][$_folder]) &&
3711 3711
 			$folderInfo[$this->profileID][$_folder] !== true)
3712 3712
 		{
3713 3713
 			$folderInfo[$this->profileID][$_folder] = false; // set to false, whatever it was (to have a valid returnvalue for the static return)
3714 3714
 		}
3715
-		Cache::setCache(Cache::INSTANCE,'email','icServerFolderExistsInfo'.trim($GLOBALS['egw_info']['user']['account_id']),$folderInfo,$expiration=60*60*5);
3715
+		Cache::setCache(Cache::INSTANCE, 'email', 'icServerFolderExistsInfo'.trim($GLOBALS['egw_info']['user']['account_id']), $folderInfo, $expiration = 60 * 60 * 5);
3716 3716
 		return (!empty($folderInfo) && isset($folderInfo[$this->profileID][$_folder]) ? $folderInfo[$this->profileID][$_folder] : false);
3717 3717
 	}
3718 3718
 
@@ -3725,14 +3725,14 @@  discard block
 block discarded – undo
3725 3725
 	 */
3726 3726
 	function compressFolder($_folderName = false)
3727 3727
 	{
3728
-		$folderName	= ($_folderName ? $_folderName : $this->sessionData['mailbox']);
3729
-		$deleteOptions	= $GLOBALS['egw_info']['user']['preferences']['mail']['deleteOptions'];
3730
-		$trashFolder	= $this->getTrashFolder();
3728
+		$folderName = ($_folderName ? $_folderName : $this->sessionData['mailbox']);
3729
+		$deleteOptions = $GLOBALS['egw_info']['user']['preferences']['mail']['deleteOptions'];
3730
+		$trashFolder = $this->getTrashFolder();
3731 3731
 
3732 3732
 		$this->icServer->openMailbox($folderName);
3733 3733
 
3734
-		if(strtolower($folderName) == strtolower($trashFolder) && $deleteOptions == "move_to_trash") {
3735
-			$this->deleteMessages('all',$folderName,'remove_immediately');
3734
+		if (strtolower($folderName) == strtolower($trashFolder) && $deleteOptions == "move_to_trash") {
3735
+			$this->deleteMessages('all', $folderName, 'remove_immediately');
3736 3736
 		} else {
3737 3737
 			$this->icServer->expunge($folderName);
3738 3738
 		}
@@ -3748,19 +3748,19 @@  discard block
 block discarded – undo
3748 3748
 	 * @return bool true, as we do not handle return values yet
3749 3749
 	 * @throws Exception
3750 3750
 	 */
3751
-	function deleteMessages($_messageUID, $_folder=NULL, $_forceDeleteMethod='no')
3751
+	function deleteMessages($_messageUID, $_folder = NULL, $_forceDeleteMethod = 'no')
3752 3752
 	{
3753 3753
 		//error_log(__METHOD__.' ('.__LINE__.') '.'->'.array2string($_messageUID).','.array2string($_folder).', '.$_forceDeleteMethod);
3754 3754
 		$oldMailbox = '';
3755 3755
 		if (is_null($_folder) || empty($_folder)) $_folder = $this->sessionData['mailbox'];
3756 3756
 		if (empty($_messageUID))
3757 3757
 		{
3758
-			if (self::$debug) error_log(__METHOD__." no messages Message(s): ".implode(',',$_messageUID));
3758
+			if (self::$debug) error_log(__METHOD__." no messages Message(s): ".implode(',', $_messageUID));
3759 3759
 			return false;
3760 3760
 		}
3761
-		elseif ($_messageUID==='all')
3761
+		elseif ($_messageUID === 'all')
3762 3762
 		{
3763
-			$_messageUID= null;
3763
+			$_messageUID = null;
3764 3764
 		}
3765 3765
 		else
3766 3766
 		{
@@ -3769,32 +3769,32 @@  discard block
 block discarded – undo
3769 3769
 			$uidsToDelete->add($_messageUID);
3770 3770
 		}
3771 3771
 		$deleteOptions = $_forceDeleteMethod; // use forceDeleteMethod if not "no", or unknown method
3772
-		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");
3772
+		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");
3773 3773
 		//error_log(__METHOD__.' ('.__LINE__.') '.'->'.array2string($_messageUID).','.$_folder.'/'.$this->sessionData['mailbox'].' Option:'.$deleteOptions);
3774 3774
 		$trashFolder    = $this->getTrashFolder();
3775
-		$draftFolder	= $this->getDraftFolder(); //$GLOBALS['egw_info']['user']['preferences']['mail']['draftFolder'];
3775
+		$draftFolder = $this->getDraftFolder(); //$GLOBALS['egw_info']['user']['preferences']['mail']['draftFolder'];
3776 3776
 		$templateFolder = $this->getTemplateFolder(); //$GLOBALS['egw_info']['user']['preferences']['mail']['templateFolder'];
3777
-		if((strtolower($_folder) == strtolower($trashFolder) && $deleteOptions == "move_to_trash") ||
3777
+		if ((strtolower($_folder) == strtolower($trashFolder) && $deleteOptions == "move_to_trash") ||
3778 3778
 		   (strtolower($_folder) == strtolower($draftFolder))) {
3779 3779
 			$deleteOptions = "remove_immediately";
3780 3780
 		}
3781
-		if($this->icServer->getCurrentMailbox() != $_folder) {
3781
+		if ($this->icServer->getCurrentMailbox() != $_folder) {
3782 3782
 			$oldMailbox = $this->icServer->getCurrentMailbox();
3783 3783
 			$this->icServer->openMailbox($_folder);
3784 3784
 		}
3785 3785
 		//error_log(__METHOD__.' ('.__LINE__.') '.'->'.array2string($_messageUID).','.$_folder.'/'.$this->sessionData['mailbox'].' Option:'.$deleteOptions);
3786 3786
 		$updateCache = false;
3787
-		switch($deleteOptions) {
3787
+		switch ($deleteOptions) {
3788 3788
 			case "move_to_trash":
3789 3789
 				//error_log(__METHOD__.' ('.__LINE__.') ');
3790 3790
 				$updateCache = true;
3791
-				if(!empty($trashFolder)) {
3791
+				if (!empty($trashFolder)) {
3792 3792
 					if (self::$debug) error_log(__METHOD__.' ('.__LINE__.') '.implode(' : ', $_messageUID));
3793
-					if (self::$debug) error_log(__METHOD__.' ('.__LINE__.') '."$trashFolder <= $_folder / ". $this->sessionData['mailbox']);
3793
+					if (self::$debug) error_log(__METHOD__.' ('.__LINE__.') '."$trashFolder <= $_folder / ".$this->sessionData['mailbox']);
3794 3794
 					// copy messages
3795 3795
 					try
3796 3796
 					{
3797
-						$this->icServer->copy($_folder, $trashFolder, array('ids'=>$uidsToDelete,'move'=>true));
3797
+						$this->icServer->copy($_folder, $trashFolder, array('ids'=>$uidsToDelete, 'move'=>true));
3798 3798
 					}
3799 3799
 					catch (\Exception $e)
3800 3800
 					{
@@ -3806,18 +3806,18 @@  discard block
 block discarded – undo
3806 3806
 			case "mark_as_deleted":
3807 3807
 				//error_log(__METHOD__.' ('.__LINE__.') ');
3808 3808
 				// mark messages as deleted
3809
-				if (is_null($_messageUID)) $_messageUID='all';
3810
-				foreach((array)$_messageUID as $key =>$uid)
3809
+				if (is_null($_messageUID)) $_messageUID = 'all';
3810
+				foreach ((array)$_messageUID as $key =>$uid)
3811 3811
 				{
3812 3812
 					//flag messages, that are flagged for deletion as seen too
3813 3813
 					$this->flagMessages('read', $uid, $_folder);
3814 3814
 					$flags = $this->getFlags($uid);
3815 3815
 					$this->flagMessages('delete', $uid, $_folder);
3816 3816
 					//error_log(__METHOD__.' ('.__LINE__.') '.array2string($flags));
3817
-					if (strpos( array2string($flags),'Deleted')!==false) $undelete[] = $uid;
3817
+					if (strpos(array2string($flags), 'Deleted') !== false) $undelete[] = $uid;
3818 3818
 					unset($flags);
3819 3819
 				}
3820
-				foreach((array)$undelete as $key =>$uid)
3820
+				foreach ((array)$undelete as $key =>$uid)
3821 3821
 				{
3822 3822
 					$this->flagMessages('undelete', $uid, $_folder);
3823 3823
 				}
@@ -3826,14 +3826,14 @@  discard block
 block discarded – undo
3826 3826
 			case "remove_immediately":
3827 3827
 				//error_log(__METHOD__.' ('.__LINE__.') ');
3828 3828
 				$updateCache = true;
3829
-				if (is_null($_messageUID)) $_messageUID='all';
3829
+				if (is_null($_messageUID)) $_messageUID = 'all';
3830 3830
 				if (is_object($_messageUID))
3831 3831
 				{
3832 3832
 					$this->flagMessages('delete', $_messageUID, $_folder);
3833 3833
 				}
3834 3834
 				else
3835 3835
 				{
3836
-					foreach((array)$_messageUID as $key =>$uid)
3836
+					foreach ((array)$_messageUID as $key =>$uid)
3837 3837
 					{
3838 3838
 						//flag messages, that are flagged for deletion as seen too
3839 3839
 						$this->flagMessages('delete', $uid, $_folder);
@@ -3843,7 +3843,7 @@  discard block
 block discarded – undo
3843 3843
 				$this->icServer->expunge($_folder);
3844 3844
 				break;
3845 3845
 		}
3846
-		if($oldMailbox != '') {
3846
+		if ($oldMailbox != '') {
3847 3847
 			$this->icServer->openMailbox($oldMailbox);
3848 3848
 		}
3849 3849
 
@@ -3857,7 +3857,7 @@  discard block
 block discarded – undo
3857 3857
 	 *
3858 3858
 	 * @return null/array flags
3859 3859
 	 */
3860
-	function getFlags ($_messageUID) {
3860
+	function getFlags($_messageUID) {
3861 3861
 		try
3862 3862
 		{
3863 3863
 			$uidsToFetch = new Horde_Imap_Client_Ids();
@@ -3870,7 +3870,7 @@  discard block
 block discarded – undo
3870 3870
 				'ids' => $uidsToFetch,
3871 3871
 			));
3872 3872
 			if (is_object($headersNew)) {
3873
-				foreach($headersNew->ids() as $id) {
3873
+				foreach ($headersNew->ids() as $id) {
3874 3874
 					$_headerObject = $headersNew->get($id);
3875 3875
 					$flags = $_headerObject->getFlags();
3876 3876
 				}
@@ -3893,22 +3893,22 @@  discard block
 block discarded – undo
3893 3893
 	 *
3894 3894
 	 * @return null/boolean
3895 3895
 	 */
3896
-	function getNotifyFlags ($_messageUID, $flags=null)
3896
+	function getNotifyFlags($_messageUID, $flags = null)
3897 3897
 	{
3898 3898
 		if (self::$debug) error_log(__METHOD__.$_messageUID.' Flags:'.array2string($flags));
3899 3899
 		try
3900 3900
 		{
3901
-			if($flags===null) $flags =  $this->getFlags($_messageUID);
3901
+			if ($flags === null) $flags = $this->getFlags($_messageUID);
3902 3902
 		}
3903 3903
 		catch (\Exception $e)
3904 3904
 		{
3905 3905
 			return null;
3906 3906
 		}
3907 3907
 
3908
-		if ( stripos( array2string($flags),'MDNSent')!==false)
3908
+		if (stripos(array2string($flags), 'MDNSent') !== false)
3909 3909
 			return true;
3910 3910
 
3911
-		if ( stripos( array2string($flags),'MDNnotSent')!==false)
3911
+		if (stripos(array2string($flags), 'MDNnotSent') !== false)
3912 3912
 			return false;
3913 3913
 
3914 3914
 		return null;
@@ -3925,45 +3925,45 @@  discard block
 block discarded – undo
3925 3925
 	 *
3926 3926
 	 * @return bool true, as we do not handle icserver->setFlags returnValue
3927 3927
 	 */
3928
-	function flagMessages($_flag, $_messageUID,$_folder=NULL)
3928
+	function flagMessages($_flag, $_messageUID, $_folder = NULL)
3929 3929
 	{
3930 3930
 		//error_log(__METHOD__.' ('.__LINE__.') '.'->' .$_flag." ".array2string($_messageUID).",$_folder /".$this->sessionData['mailbox']);
3931 3931
 		if (empty($_messageUID))
3932 3932
 		{
3933
-			if (self::$debug) error_log(__METHOD__." no messages Message(s): ".implode(',',$_messageUID));
3933
+			if (self::$debug) error_log(__METHOD__." no messages Message(s): ".implode(',', $_messageUID));
3934 3934
 			return false;
3935 3935
 		}
3936
-		$this->icServer->openMailbox(($_folder?$_folder:$this->sessionData['mailbox']));
3936
+		$this->icServer->openMailbox(($_folder ? $_folder : $this->sessionData['mailbox']));
3937 3937
 		$folder = $this->icServer->getCurrentMailbox();
3938
-		if (is_array($_messageUID)&& count($_messageUID)>50)
3938
+		if (is_array($_messageUID) && count($_messageUID) > 50)
3939 3939
 		{
3940
-			$count = $this->getMailBoxCounters($folder,true);
3941
-			if ($count->messages == count($_messageUID)) $_messageUID='all';
3940
+			$count = $this->getMailBoxCounters($folder, true);
3941
+			if ($count->messages == count($_messageUID)) $_messageUID = 'all';
3942 3942
 		}
3943 3943
 
3944
-		if ($_messageUID==='all')
3944
+		if ($_messageUID === 'all')
3945 3945
 		{
3946 3946
 			$messageUIDs = array('all');
3947 3947
 		}
3948 3948
 		else
3949 3949
 		{
3950 3950
 			if (!(is_object($_messageUID) || is_array($_messageUID))) $_messageUID = (array)$_messageUID;
3951
-			$messageUIDs = array_chunk($_messageUID,50,true);
3951
+			$messageUIDs = array_chunk($_messageUID, 50, true);
3952 3952
 		}
3953 3953
 		try
3954 3954
 		{
3955
-			foreach($messageUIDs as &$uids)
3955
+			foreach ($messageUIDs as &$uids)
3956 3956
 			{
3957
-				if ($uids==='all')
3957
+				if ($uids === 'all')
3958 3958
 				{
3959
-					$uidsToModify=null;
3959
+					$uidsToModify = null;
3960 3960
 				}
3961 3961
 				else
3962 3962
 				{
3963 3963
 					$uidsToModify = new Horde_Imap_Client_Ids();
3964 3964
 					$uidsToModify->add($uids);
3965 3965
 				}
3966
-				switch($_flag) {
3966
+				switch ($_flag) {
3967 3967
 					case "delete":
3968 3968
 						$ret = $this->icServer->store($folder, array('add'=>array('\\Deleted'), 'ids'=> $uidsToModify));
3969 3969
 						break;
@@ -3987,7 +3987,7 @@  discard block
 block discarded – undo
3987 3987
 						break;
3988 3988
 					case "unread":
3989 3989
 					case "unseen":
3990
-						$ret = $this->icServer->store($folder, array('remove'=>array('\\Seen','\\Answered','$Forwarded'), 'ids'=> $uidsToModify));
3990
+						$ret = $this->icServer->store($folder, array('remove'=>array('\\Seen', '\\Answered', '$Forwarded'), 'ids'=> $uidsToModify));
3991 3991
 						break;
3992 3992
 					case "mdnsent":
3993 3993
 						$ret = $this->icServer->store($folder, array('add'=>array('MDNSent'), 'ids'=> $uidsToModify));
@@ -4045,13 +4045,13 @@  discard block
 block discarded – undo
4045 4045
 				}
4046 4046
 			}
4047 4047
 		}
4048
-		catch(Exception $e)
4048
+		catch (Exception $e)
4049 4049
 		{
4050 4050
 			error_log(__METHOD__.__LINE__.' Error, could not flag messages in folder '.$folder.' Reason:'.$e->getMessage());
4051 4051
 		}
4052 4052
 		if ($folder instanceof Horde_Imap_Client_Mailbox) $_folder = $folder->utf8;
4053 4053
 		//error_log(__METHOD__.__LINE__.'#'.$this->icServer->ImapServerId.'#'.array2string($_folder).'#');
4054
-		self::$folderStatusCache[$this->icServer->ImapServerId][(!empty($_folder)?$_folder: $this->sessionData['mailbox'])]['uidValidity'] = 0;
4054
+		self::$folderStatusCache[$this->icServer->ImapServerId][(!empty($_folder) ? $_folder : $this->sessionData['mailbox'])]['uidValidity'] = 0;
4055 4055
 
4056 4056
 		//error_log(__METHOD__.' ('.__LINE__.') '.'->' .$_flag." ".array2string($_messageUID).",".($_folder?$_folder:$this->sessionData['mailbox']));
4057 4057
 		return true; // as we do not catch/examine setFlags returnValue
@@ -4072,19 +4072,19 @@  discard block
 block discarded – undo
4072 4072
 	 * @return mixed/bool true,false or new uid
4073 4073
 	 * @throws Exception
4074 4074
 	 */
4075
-	function moveMessages($_foldername, $_messageUID, $deleteAfterMove=true, $currentFolder = Null, $returnUIDs = false, $_sourceProfileID = Null, $_targetProfileID = Null)
4075
+	function moveMessages($_foldername, $_messageUID, $deleteAfterMove = true, $currentFolder = Null, $returnUIDs = false, $_sourceProfileID = Null, $_targetProfileID = Null)
4076 4076
 	{
4077
-		$source = Mail\Account::read(($_sourceProfileID?$_sourceProfileID:$this->icServer->ImapServerId))->imapServer();
4077
+		$source = Mail\Account::read(($_sourceProfileID ? $_sourceProfileID : $this->icServer->ImapServerId))->imapServer();
4078 4078
 		//$deleteOptions  = $GLOBALS['egw_info']["user"]["preferences"]["mail"]["deleteOptions"];
4079 4079
 		if (empty($_messageUID))
4080 4080
 		{
4081
-			if (self::$debug) error_log(__METHOD__." no Message(s): ".implode(',',$_messageUID));
4081
+			if (self::$debug) error_log(__METHOD__." no Message(s): ".implode(',', $_messageUID));
4082 4082
 			return false;
4083 4083
 		}
4084
-		elseif ($_messageUID==='all')
4084
+		elseif ($_messageUID === 'all')
4085 4085
 		{
4086 4086
 			//error_log(__METHOD__." all Message(s): ".implode(',',$_messageUID));
4087
-			$uidsToMove= null;
4087
+			$uidsToMove = null;
4088 4088
 		}
4089 4089
 		else
4090 4090
 		{
@@ -4093,7 +4093,7 @@  discard block
 block discarded – undo
4093 4093
 			if (!(is_object($_messageUID) || is_array($_messageUID))) $_messageUID = (array)$_messageUID;
4094 4094
 			$uidsToMove->add($_messageUID);
4095 4095
 		}
4096
-		$sourceFolder = (!empty($currentFolder)?$currentFolder: $this->sessionData['mailbox']);
4096
+		$sourceFolder = (!empty($currentFolder) ? $currentFolder : $this->sessionData['mailbox']);
4097 4097
 		//error_log(__METHOD__.__LINE__."$_targetProfileID !== ".array2string($source->ImapServerId));
4098 4098
 		if (!is_null($_targetProfileID) && $_targetProfileID !== $source->ImapServerId)
4099 4099
 		{
@@ -4113,19 +4113,19 @@  discard block
 block discarded – undo
4113 4113
 			//error_log(__METHOD__.' ('.__LINE__.') '.' Sourceserver:'.$source->ImapServerId.' mailheaders:'.array2string($headersNew));
4114 4114
 
4115 4115
 			if (is_object($headersNew)) {
4116
-				$c=0;
4116
+				$c = 0;
4117 4117
 				$retUid = new Horde_Imap_Client_Ids();
4118 4118
 				// we copy chunks of 5 to avoid too much memory and/or server stress
4119 4119
 				// some servers seem not to allow/support the appendig of multiple messages. so we are down to one
4120
-				foreach($headersNew as &$_headerObject) {
4120
+				foreach ($headersNew as &$_headerObject) {
4121 4121
 					$c++;
4122 4122
 					$flags = $_headerObject->getFlags(); //unseen status seems to be lost when retrieving the full message
4123 4123
 					$date = $_headerObject->getImapDate();
4124
-					$currentDate =  new Horde_Imap_Client_DateTime();
4124
+					$currentDate = new Horde_Imap_Client_DateTime();
4125 4125
 					// if the internal Date of the message equals the current date; try using the header date
4126
-					if ($date==$currentDate)
4126
+					if ($date == $currentDate)
4127 4127
 					{
4128
-						$headerForPrio = array_change_key_case($_headerObject->getHeaderText(0,Horde_Imap_Client_Data_Fetch::HEADER_PARSE)->toArray(), CASE_UPPER);
4128
+						$headerForPrio = array_change_key_case($_headerObject->getHeaderText(0, Horde_Imap_Client_Data_Fetch::HEADER_PARSE)->toArray(), CASE_UPPER);
4129 4129
 						//error_log(__METHOD__.__LINE__.'#'.array2string($date).'#'.array2string($currentDate).'#'.$headerForPrio['DATE']);
4130 4130
 						$date = new Horde_Imap_Client_DateTime($headerForPrio['DATE']);
4131 4131
 						//error_log(__METHOD__.__LINE__.'#'.array2string($date).'#'.array2string($currentDate).'#');
@@ -4134,20 +4134,20 @@  discard block
 block discarded – undo
4134 4134
 					//error_log(__METHOD__.' ('.__LINE__.') '.array2string($flags));
4135 4135
 					$body = $_headerObject->getFullMsg();
4136 4136
 					$dataNflags[] = array('data'=>$body, 'flags'=>$flags, 'internaldate'=>$date);
4137
-					if ($c==1)
4137
+					if ($c == 1)
4138 4138
 					{
4139 4139
 						$target = Mail\Account::read($_targetProfileID)->imapServer();
4140 4140
 						//error_log(__METHOD__.' ('.__LINE__.') '.' Sourceserver:'.$source->ImapServerId.' TargetServer:'.$_targetProfileID.' TargetFolderObject:'.array2string($_foldername));
4141 4141
 						$foldername = $target->getMailbox($_foldername);
4142 4142
 						// make sure the target folder is open and ready
4143 4143
 						$target->openMailbox($foldername);
4144
-						$ret = $target->append($foldername,$dataNflags);
4144
+						$ret = $target->append($foldername, $dataNflags);
4145 4145
 						$retUid->add($ret);
4146 4146
 						unset($dataNflags);
4147 4147
 						// sleep 500 miliseconds; AS some sERVERs seem not to be capable of the load this is
4148 4148
 						// inflicting in them. they "reply" with an unspecific IMAP Error
4149
-						time_nanosleep(0,500000);
4150
-						$c=0;
4149
+						time_nanosleep(0, 500000);
4150
+						$c = 0;
4151 4151
 					}
4152 4152
 				}
4153 4153
 				if (isset($dataNflags))
@@ -4157,7 +4157,7 @@  discard block
 block discarded – undo
4157 4157
 					$foldername = $target->getMailbox($_foldername);
4158 4158
 					// make sure the target folder is open and ready
4159 4159
 					$target->openMailbox($foldername);
4160
-					$ret = $target->append($foldername,$dataNflags);
4160
+					$ret = $target->append($foldername, $dataNflags);
4161 4161
 					$retUid->add($ret);
4162 4162
 					unset($dataNflags);
4163 4163
 				}
@@ -4168,7 +4168,7 @@  discard block
 block discarded – undo
4168 4168
 				{
4169 4169
 					$remember = $this->icServer;
4170 4170
 					$this->icServer = $source;
4171
-					$this->deleteMessages($_messageUID, $sourceFolder, $_forceDeleteMethod='remove_immediately');
4171
+					$this->deleteMessages($_messageUID, $sourceFolder, $_forceDeleteMethod = 'remove_immediately');
4172 4172
 					$this->icServer = $remember;
4173 4173
 				}
4174 4174
 			}
@@ -4177,7 +4177,7 @@  discard block
 block discarded – undo
4177 4177
 		{
4178 4178
 			try
4179 4179
 			{
4180
-				$retUid = $source->copy($sourceFolder, $_foldername, array('ids'=>$uidsToMove,'move'=>$deleteAfterMove));
4180
+				$retUid = $source->copy($sourceFolder, $_foldername, array('ids'=>$uidsToMove, 'move'=>$deleteAfterMove));
4181 4181
 			}
4182 4182
 			catch (exception $e)
4183 4183
 			{
@@ -4197,19 +4197,19 @@  discard block
 block discarded – undo
4197 4197
 	 * @param string $format ='' if none is passed, use user prefs
4198 4198
 	 * @return string returns the date as it is parseable by strtotime, or current timestamp if everything fails
4199 4199
 	 */
4200
-	static function _strtotime($_date='', $format='', $convert2usertime=false)
4200
+	static function _strtotime($_date = '', $format = '', $convert2usertime = false)
4201 4201
 	{
4202 4202
 		try {
4203
-			$date = new DateTime($_date);	// parse date & time including timezone (throws exception, if not parsable)
4204
-			if ($convert2usertime) $date->setUser();	// convert to user-time
4203
+			$date = new DateTime($_date); // parse date & time including timezone (throws exception, if not parsable)
4204
+			if ($convert2usertime) $date->setUser(); // convert to user-time
4205 4205
 			$date2return = $date->format($format);
4206 4206
 		}
4207
-		catch(\Exception $e)
4207
+		catch (\Exception $e)
4208 4208
 		{
4209
-			unset($e);	// not used
4209
+			unset($e); // not used
4210 4210
 
4211 4211
 			// remove last space-separated part and retry
4212
-			$parts = explode(' ',$_date);
4212
+			$parts = explode(' ', $_date);
4213 4213
 			if (count($parts) > 1)
4214 4214
 			{
4215 4215
 				array_pop($parts);
@@ -4230,12 +4230,12 @@  discard block
 block discarded – undo
4230 4230
 	 * @param mixed $_charset false or string -> Target charset, if false Mail displayCharset will be used
4231 4231
 	 * @return string
4232 4232
 	 */
4233
-	static function htmlentities($_string, $_charset=false)
4233
+	static function htmlentities($_string, $_charset = false)
4234 4234
 	{
4235 4235
 		//setting the charset (if not given)
4236
-		if ($_charset===false) $_charset = self::$displayCharset;
4236
+		if ($_charset === false) $_charset = self::$displayCharset;
4237 4237
 		$string = @htmlentities($_string, ENT_QUOTES, $_charset, false);
4238
-		if (empty($string) && !empty($_string)) $string = @htmlentities(Translation::convert($_string,Translation::detect_encoding($_string),$_charset),ENT_QUOTES | ENT_IGNORE,$_charset, false);
4238
+		if (empty($string) && !empty($_string)) $string = @htmlentities(Translation::convert($_string, Translation::detect_encoding($_string), $_charset), ENT_QUOTES|ENT_IGNORE, $_charset, false);
4239 4239
 		return $string;
4240 4240
 	}
4241 4241
 
@@ -4252,21 +4252,21 @@  discard block
 block discarded – undo
4252 4252
 		//$_html = str_replace("\t",' ',$_html);
4253 4253
 		//error_log(__METHOD__.__LINE__.':'.$_html);
4254 4254
 		//repair doubleencoded ampersands, and some stuff htmLawed stumbles upon with balancing switched on
4255
-		$_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>'),
4256
-							 array('&amp;',    '<BR>',           '<BR>',             '<BR>',             '</font></td>','<td>',    '',         '',           '',  ''),$_html);
4255
+		$_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>'),
4256
+							 array('&amp;', '<BR>', '<BR>', '<BR>', '</font></td>', '<td>', '', '', '', ''), $_html);
4257 4257
 		//$_html = str_replace(array('&amp;amp;'),array('&amp;'),$_html);
4258
-		if (stripos($_html,'style')!==false) Mail\Html::replaceTagsCompletley($_html,'style'); // clean out empty or pagewide style definitions / left over tags
4259
-		if (stripos($_html,'head')!==false) Mail\Html::replaceTagsCompletley($_html,'head'); // Strip out stuff in head
4258
+		if (stripos($_html, 'style') !== false) Mail\Html::replaceTagsCompletley($_html, 'style'); // clean out empty or pagewide style definitions / left over tags
4259
+		if (stripos($_html, 'head') !== false) Mail\Html::replaceTagsCompletley($_html, 'head'); // Strip out stuff in head
4260 4260
 		//if (stripos($_html,'![if')!==false && stripos($_html,'<![endif]>')!==false) Mail\Html::replaceTagsCompletley($_html,'!\[if','<!\[endif\]>',false); // Strip out stuff in ifs
4261 4261
 		//if (stripos($_html,'!--[if')!==false && stripos($_html,'<![endif]-->')!==false) Mail\Html::replaceTagsCompletley($_html,'!--\[if','<!\[endif\]-->',false); // Strip out stuff in ifs
4262 4262
 		//error_log(__METHOD__.' ('.__LINE__.') '.$_html);
4263 4263
 
4264 4264
 		if (get_magic_quotes_gpc() === 1) $_html = stripslashes($_html);
4265 4265
 		// Strip out doctype in head, as htmlLawed cannot handle it TODO: Consider extracting it and adding it afterwards
4266
-		if (stripos($_html,'!doctype')!==false) Mail\Html::replaceTagsCompletley($_html,'!doctype');
4267
-		if (stripos($_html,'?xml:namespace')!==false) Mail\Html::replaceTagsCompletley($_html,'\?xml:namespace','/>',false);
4268
-		if (stripos($_html,'?xml version')!==false) Mail\Html::replaceTagsCompletley($_html,'\?xml version','\?>',false);
4269
-		if (strpos($_html,'!CURSOR')!==false) Mail\Html::replaceTagsCompletley($_html,'!CURSOR');
4266
+		if (stripos($_html, '!doctype') !== false) Mail\Html::replaceTagsCompletley($_html, '!doctype');
4267
+		if (stripos($_html, '?xml:namespace') !== false) Mail\Html::replaceTagsCompletley($_html, '\?xml:namespace', '/>', false);
4268
+		if (stripos($_html, '?xml version') !== false) Mail\Html::replaceTagsCompletley($_html, '\?xml version', '\?>', false);
4269
+		if (strpos($_html, '!CURSOR') !== false) Mail\Html::replaceTagsCompletley($_html, '!CURSOR');
4270 4270
 		// htmLawed filter only the 'body'
4271 4271
 		//preg_match('`(<htm.+?<body[^>]*>)(.+?)(</body>.*?</html>)`ims', $_html, $matches);
4272 4272
 		//if ($matches[2])
@@ -4277,16 +4277,16 @@  discard block
 block discarded – undo
4277 4277
 		// purify got switched to htmLawed
4278 4278
 		// some testcode to test purifying / htmlawed
4279 4279
 		//$_html = "<BLOCKQUOTE>hi <div> there </div> kram <br> </blockquote>".$_html;
4280
-		$_html = Html\HtmLawed::purify($_html,self::$htmLawed_config,array(),true);
4280
+		$_html = Html\HtmLawed::purify($_html, self::$htmLawed_config, array(), true);
4281 4281
 		//if ($hasOther) $_html = $matches[1]. $_html. $matches[3];
4282 4282
 		// clean out comments , should not be needed as purify should do the job.
4283 4283
 		$search = array(
4284
-			'@url\(http:\/\/[^\)].*?\)@si',  // url calls e.g. in style definitions
4285
-			'@<!--[\s\S]*?[ \t\n\r]*-->@',         // Strip multi-line comments including CDATA
4284
+			'@url\(http:\/\/[^\)].*?\)@si', // url calls e.g. in style definitions
4285
+			'@<!--[\s\S]*?[ \t\n\r]*-->@', // Strip multi-line comments including CDATA
4286 4286
 		);
4287
-		$_html = preg_replace($search,"",$_html);
4287
+		$_html = preg_replace($search, "", $_html);
4288 4288
 		// remove non printable chars
4289
-		$_html = preg_replace('/([\000-\011])/','',$_html);
4289
+		$_html = preg_replace('/([\000-\011])/', '', $_html);
4290 4290
 		//error_log(__METHOD__.':'.__LINE__.':'.$_html);
4291 4291
 	}
4292 4292
 
@@ -4303,12 +4303,12 @@  discard block
 block discarded – undo
4303 4303
 	function getMimePartCharset($_mimePartObject)
4304 4304
 	{
4305 4305
 		//$charSet = 'iso-8859-1';//self::$displayCharset; //'iso-8859-1'; // self::displayCharset seems to be asmarter fallback than iso-8859-1
4306
-		$CharsetFound=false;
4306
+		$CharsetFound = false;
4307 4307
 		//echo "#".$_mimePartObject->encoding.'#<br>';
4308
-		if(is_array($_mimePartObject->parameters)) {
4309
-			if(isset($_mimePartObject->parameters['CHARSET'])) {
4308
+		if (is_array($_mimePartObject->parameters)) {
4309
+			if (isset($_mimePartObject->parameters['CHARSET'])) {
4310 4310
 				$charSet = $_mimePartObject->parameters['CHARSET'];
4311
-				$CharsetFound=true;
4311
+				$CharsetFound = true;
4312 4312
 			}
4313 4313
 		}
4314 4314
 		// this one is dirty, but until I find something that does the trick of detecting the encoding, ....
@@ -4327,7 +4327,7 @@  discard block
 block discarded – undo
4327 4327
 	function decodeMimePart($_mimeMessage, $_encoding, $_charset = '')
4328 4328
 	{
4329 4329
 		// decode the part
4330
-		if (self::$debug) error_log(__METHOD__."() with $_encoding and $_charset:".print_r($_mimeMessage,true));
4330
+		if (self::$debug) error_log(__METHOD__."() with $_encoding and $_charset:".print_r($_mimeMessage, true));
4331 4331
 		switch (strtoupper($_encoding))
4332 4332
 		{
4333 4333
 			case 'BASE64':
@@ -4367,10 +4367,10 @@  discard block
 block discarded – undo
4367 4367
 		// sometimes there are 3 parts, when there is an ics/ical attached/included-> we want to show that
4368 4368
 		// as attachment AND as abstracted ical information (we use our notification style here).
4369 4369
 		$partText = $partCalendar = $partHTML = null;
4370
-		if (self::$debug) _debug_array(array("METHOD"=>__METHOD__,"LINE"=>__LINE__,"STRUCTURE"=>$_structure));
4370
+		if (self::$debug) _debug_array(array("METHOD"=>__METHOD__, "LINE"=>__LINE__, "STRUCTURE"=>$_structure));
4371 4371
 		//error_log(__METHOD__.' ('.__LINE__.') ');
4372 4372
 		$ignore_first_part = true;
4373
-		foreach($_structure->contentTypeMap() as $mime_id => $mime_type)
4373
+		foreach ($_structure->contentTypeMap() as $mime_id => $mime_type)
4374 4374
 		{
4375 4375
 			//error_log(__METHOD__."($_uid, ".$_structure->getMimeId().") $mime_id: $mime_type"." ignoreFirstPart:".$ignore_first_part);
4376 4376
 			if (self::$debug) echo __METHOD__."($_uid, partID=".$_structure->getMimeId().") $mime_id: $mime_type<br>";
@@ -4378,15 +4378,15 @@  discard block
 block discarded – undo
4378 4378
 			if ($ignore_first_part)
4379 4379
 			{
4380 4380
 				$ignore_first_part = false;
4381
-				continue;	// ignore multipart/alternative itself
4381
+				continue; // ignore multipart/alternative itself
4382 4382
 			}
4383 4383
 
4384 4384
 			$mimePart = $_structure->getPart($mime_id);
4385 4385
 
4386
-			switch($mimePart->getPrimaryType())
4386
+			switch ($mimePart->getPrimaryType())
4387 4387
 			{
4388 4388
 				case 'text':
4389
-					switch($mimePart->getSubType())
4389
+					switch ($mimePart->getSubType())
4390 4390
 					{
4391 4391
 						case 'plain':
4392 4392
 							if ($mimePart->getBytes() > 0) $partText = $mimePart;
@@ -4399,7 +4399,7 @@  discard block
 block discarded – undo
4399 4399
 					break;
4400 4400
 
4401 4401
 				case 'multipart':
4402
-					switch($mimePart->getSubType())
4402
+					switch ($mimePart->getSubType())
4403 4403
 					{
4404 4404
 						case 'related':
4405 4405
 						case 'mixed':
@@ -4421,13 +4421,13 @@  discard block
 block discarded – undo
4421 4421
 			}
4422 4422
 		}
4423 4423
 
4424
-		switch($_htmlMode)
4424
+		switch ($_htmlMode)
4425 4425
 		{
4426 4426
 			case 'html_only':
4427 4427
 			case 'always_display':
4428 4428
 				if ($partHTML)
4429 4429
 				{
4430
-					switch($partHTML->getSubType())
4430
+					switch ($partHTML->getSubType())
4431 4431
 					{
4432 4432
 						case 'related':
4433 4433
 							return $this->getMultipartRelated($_uid, $partHTML, $_htmlMode, $_preserveSeen);
@@ -4439,7 +4439,7 @@  discard block
 block discarded – undo
4439 4439
 							return $this->getTextPart($_uid, $partHTML, $_htmlMode, $_preserveSeen);
4440 4440
 					}
4441 4441
 				}
4442
-				elseif ($partText && $_htmlMode=='always_display')
4442
+				elseif ($partText && $_htmlMode == 'always_display')
4443 4443
 				{
4444 4444
 					return $this->getTextPart($_uid, $partText, $_htmlMode, $_preserveSeen);
4445 4445
 				}
@@ -4485,7 +4485,7 @@  discard block
 block discarded – undo
4485 4485
 	 * @param array	&$skipParts - passed by reference to have control/knowledge which parts are already fetched
4486 4486
 	 * @return array containing the desired part
4487 4487
 	 */
4488
-	function getMultipartMixed($_uid, Horde_Mime_Part $_structure, $_htmlMode, $_preserveSeen = false, &$skipParts=array())
4488
+	function getMultipartMixed($_uid, Horde_Mime_Part $_structure, $_htmlMode, $_preserveSeen = false, &$skipParts = array())
4489 4489
 	{
4490 4490
 		if (self::$debug) echo __METHOD__."$_uid, $_htmlMode<br>";
4491 4491
 		$bodyPart = array();
@@ -4494,7 +4494,7 @@  discard block
 block discarded – undo
4494 4494
 		$ignore_first_part = true;
4495 4495
 		//$skipParts = array();
4496 4496
 		//error_log(__METHOD__.__LINE__.array2string($_structure->contentTypeMap()));
4497
-		foreach($_structure->contentTypeMap() as $mime_id => $mime_type)
4497
+		foreach ($_structure->contentTypeMap() as $mime_id => $mime_type)
4498 4498
 		{
4499 4499
 			//error_log(__METHOD__."($_uid, ".$_structure->getMimeId().") $mime_id: $mime_type");
4500 4500
 			if (self::$debug) echo __METHOD__."($_uid, partID=".$_structure->getMimeId().") $mime_id: $mime_type<br>";
@@ -4502,9 +4502,9 @@  discard block
 block discarded – undo
4502 4502
 			{
4503 4503
 				$ignore_first_part = false;
4504 4504
 				//error_log(__METHOD__."($_uid, ".$_structure->getMimeId().") SKIPPED FirstPart $mime_id: $mime_type");
4505
-				continue;	// ignore multipart/mixed itself
4505
+				continue; // ignore multipart/mixed itself
4506 4506
 			}
4507
-			if (array_key_exists($mime_id,$skipParts))
4507
+			if (array_key_exists($mime_id, $skipParts))
4508 4508
 			{
4509 4509
 				//error_log(__METHOD__."($_uid, ".$_structure->getMimeId().") SKIPPED $mime_id: $mime_type");
4510 4510
 				continue;
@@ -4512,11 +4512,11 @@  discard block
 block discarded – undo
4512 4512
 
4513 4513
 			$part = $_structure->getPart($mime_id);
4514 4514
 
4515
-			switch($part->getPrimaryType())
4515
+			switch ($part->getPrimaryType())
4516 4516
 			{
4517 4517
 				case 'multipart':
4518 4518
 					if ($part->getDisposition() == 'attachment') continue;
4519
-					switch($part->getSubType())
4519
+					switch ($part->getSubType())
4520 4520
 					{
4521 4521
 						case 'alternative':
4522 4522
 							return array($this->getMultipartAlternative($_uid, $part, $_htmlMode, $_preserveSeen));
@@ -4532,15 +4532,15 @@  discard block
 block discarded – undo
4532 4532
 					}
4533 4533
 					break;
4534 4534
 				case 'application':
4535
-					switch($part->getSubType())
4535
+					switch ($part->getSubType())
4536 4536
 					{
4537 4537
 						case 'pgp-encrypted':
4538
-							if (($part = $_structure->getPart($mime_id+1)) &&
4538
+							if (($part = $_structure->getPart($mime_id + 1)) &&
4539 4539
 								$part->getType() == 'application/octet-stream')
4540 4540
 							{
4541 4541
 								$this->fetchPartContents($_uid, $part);
4542
-								$skipParts[$mime_id]=$mime_type;
4543
-								$skipParts[$mime_id+1]=$part->getType();
4542
+								$skipParts[$mime_id] = $mime_type;
4543
+								$skipParts[$mime_id + 1] = $part->getType();
4544 4544
 								$bodyPart[] = array(
4545 4545
 									'body'		=> $part->getContents(array(
4546 4546
 										'stream' => false,
@@ -4554,15 +4554,15 @@  discard block
 block discarded – undo
4554 4554
 					break;
4555 4555
 
4556 4556
 				case 'text':
4557
-					switch($part->getSubType())
4557
+					switch ($part->getSubType())
4558 4558
 					{
4559 4559
 						case 'plain':
4560 4560
 						case 'html':
4561 4561
 						case 'calendar': // inline ics/ical files
4562
-							if($part->getDisposition() != 'attachment')
4562
+							if ($part->getDisposition() != 'attachment')
4563 4563
 							{
4564 4564
 								$bodyPart[] = $this->getTextPart($_uid, $part, $_htmlMode, $_preserveSeen);
4565
-								$skipParts[$mime_id]=$mime_type;
4565
+								$skipParts[$mime_id] = $mime_type;
4566 4566
 							}
4567 4567
 							//error_log(__METHOD__.' ('.__LINE__.') '.' ->'.$part->type."/".$part->subType.' -> BodyPart:'.array2string($bodyPart[count($bodyPart)-1]));
4568 4568
 							break;
@@ -4571,16 +4571,16 @@  discard block
 block discarded – undo
4571 4571
 
4572 4572
 				case 'message':
4573 4573
 					//skip attachments
4574
-					if($part->getSubType() == 'delivery-status' && $part->getDisposition() != 'attachment')
4574
+					if ($part->getSubType() == 'delivery-status' && $part->getDisposition() != 'attachment')
4575 4575
 					{
4576 4576
 						$bodyPart[] = $this->getTextPart($_uid, $part, $_htmlMode, $_preserveSeen);
4577
-						$skipParts[$mime_id]=$mime_type;
4577
+						$skipParts[$mime_id] = $mime_type;
4578 4578
 					}
4579 4579
 					// do not descend into attached Messages
4580
-					if($part->getSubType() == 'rfc822' || $part->getDisposition() == 'attachment')
4580
+					if ($part->getSubType() == 'rfc822' || $part->getDisposition() == 'attachment')
4581 4581
 					{
4582 4582
 						$skipParts[$mime_id.'.0'] = $mime_type;
4583
-						foreach($part->contentTypeMap() as $sub_id => $sub_type){ $skipParts[$sub_id] = $sub_type;}
4583
+						foreach ($part->contentTypeMap() as $sub_id => $sub_type) { $skipParts[$sub_id] = $sub_type; }
4584 4584
 						//error_log(__METHOD__.' ('.__LINE__.') '.' Uid:'.$_uid.' Part:'.$mime_id.':'.array2string($skipParts));
4585 4585
 						//break 2;
4586 4586
 					}
@@ -4621,13 +4621,13 @@  discard block
 block discarded – undo
4621 4621
 	 * @param boolean $_tryDecodingServerside = true; wether to try to fetch Data with BINARY instead of BODY
4622 4622
 	 * @return string|resource
4623 4623
 	 */
4624
-	function getBodyPart($_uid, $_partID=null, $_folder=null, $_preserveSeen=false, $_stream=false, &$_encoding=null, $_tryDecodingServerside=true)
4624
+	function getBodyPart($_uid, $_partID = null, $_folder = null, $_preserveSeen = false, $_stream = false, &$_encoding = null, $_tryDecodingServerside = true)
4625 4625
 	{
4626
-		if (self::$debug) error_log( __METHOD__.__LINE__."(".array2string($_uid).", $_partID, $_folder, $_preserveSeen, $_stream, $_encoding, $_tryDecodingServerside)");
4626
+		if (self::$debug) error_log(__METHOD__.__LINE__."(".array2string($_uid).", $_partID, $_folder, $_preserveSeen, $_stream, $_encoding, $_tryDecodingServerside)");
4627 4627
 
4628 4628
 		if (empty($_folder))
4629 4629
 		{
4630
-			$_folder = (isset($this->sessionData['mailbox'])&&$this->sessionData['mailbox']? $this->sessionData['mailbox'] : $this->icServer->getCurrentMailbox());
4630
+			$_folder = (isset($this->sessionData['mailbox']) && $this->sessionData['mailbox'] ? $this->sessionData['mailbox'] : $this->icServer->getCurrentMailbox());
4631 4631
 		}
4632 4632
 		//error_log(__METHOD__.' ('.__LINE__.') '.array2string($_folder).'/'.$this->icServer->getCurrentMailbox().'/'. $this->sessionData['mailbox']);
4633 4633
 		// querying contents of body part
@@ -4638,11 +4638,11 @@  discard block
 block discarded – undo
4638 4638
 		$fquery = new Horde_Imap_Client_Fetch_Query();
4639 4639
 		$fetchParams = array(
4640 4640
 			'peek' => $_preserveSeen,
4641
-			'decode' => true,	// try decode on server, does NOT neccessary work
4641
+			'decode' => true, // try decode on server, does NOT neccessary work
4642 4642
 		);
4643
-		if ($_tryDecodingServerside===false)// || ($_tryDecodingServerside&&$this->isDraftFolder($_folder)))
4643
+		if ($_tryDecodingServerside === false)// || ($_tryDecodingServerside&&$this->isDraftFolder($_folder)))
4644 4644
 		{
4645
-			$_tryDecodingServerside=false;
4645
+			$_tryDecodingServerside = false;
4646 4646
 			$fetchParams = array(
4647 4647
 				'peek' => $_preserveSeen,
4648 4648
 			);
@@ -4662,12 +4662,12 @@  discard block
 block discarded – undo
4662 4662
 		}
4663 4663
 		// if we get an empty result, server may have trouble fetching data with UID FETCH $_uid (BINARY.PEEK[$_partID])
4664 4664
 		// thus we trigger a second go with UID FETCH $_uid (BODY.PEEK[$_partID])
4665
-		if (empty($partToReturn)&&$_tryDecodingServerside===true)
4665
+		if (empty($partToReturn) && $_tryDecodingServerside === true)
4666 4666
 		{
4667 4667
 			error_log(__METHOD__.__LINE__.' failed to fetch bodyPart in  BINARY. Try BODY');
4668 4668
 			$partToReturn = $this->getBodyPart($_uid, $_partID, $_folder, $_preserveSeen, $_stream, $_encoding, false);
4669 4669
 		}
4670
-		return ($partToReturn?$partToReturn:null);
4670
+		return ($partToReturn ? $partToReturn : null);
4671 4671
 	}
4672 4672
 
4673 4673
 	/**
@@ -4680,13 +4680,13 @@  discard block
 block discarded – undo
4680 4680
 	 * @param boolean $_stream = false true return a stream, false return string
4681 4681
 	 * @return array containing the desired text part, mimeType and charset
4682 4682
 	 */
4683
-	function getTextPart($_uid, Horde_Mime_Part $_structure, $_htmlMode='', $_preserveSeen=false, $_stream=false)
4683
+	function getTextPart($_uid, Horde_Mime_Part $_structure, $_htmlMode = '', $_preserveSeen = false, $_stream = false)
4684 4684
 	{
4685 4685
 		//error_log(__METHOD__.' ('.__LINE__.') '.'->'.$_uid.':'.array2string($_structure).' '.function_backtrace());
4686 4686
 		$bodyPart = array();
4687
-		if (self::$debug) _debug_array(array($_structure,function_backtrace()));
4687
+		if (self::$debug) _debug_array(array($_structure, function_backtrace()));
4688 4688
 
4689
-		if($_structure->getSubType() == 'html' && !in_array($_htmlMode, array('html_only', 'always_display', 'only_if_no_text')))
4689
+		if ($_structure->getSubType() == 'html' && !in_array($_htmlMode, array('html_only', 'always_display', 'only_if_no_text')))
4690 4690
 		{
4691 4691
 			$bodyPart = array(
4692 4692
 				'error'		=> 1,
@@ -4732,10 +4732,10 @@  discard block
 block discarded – undo
4732 4732
 	 * @param string $_folder folder to work on
4733 4733
 	 * @return array containing the message body, mimeType and charset
4734 4734
 	 */
4735
-	function getMessageBody($_uid, $_htmlOptions='', $_partID=null, Horde_Mime_Part $_structure=null, $_preserveSeen = false, $_folder = '')
4735
+	function getMessageBody($_uid, $_htmlOptions = '', $_partID = null, Horde_Mime_Part $_structure = null, $_preserveSeen = false, $_folder = '')
4736 4736
 	{
4737 4737
 		if (self::$debug) echo __METHOD__."$_uid, $_htmlOptions, $_partID<br>";
4738
-		if($_htmlOptions != '') {
4738
+		if ($_htmlOptions != '') {
4739 4739
 			$this->htmlOptions = $_htmlOptions;
4740 4740
 		}
4741 4741
 		if (empty($_folder))
@@ -4756,7 +4756,7 @@  discard block
 block discarded – undo
4756 4756
 			return array(
4757 4757
 				array(
4758 4758
 					'error'		=> 1,
4759
-					'body'		=> 'Error: Could not fetch structure on mail:'.$_uid." as $_htmlOptions". 'for Mailprofile'.$this->icServer->ImapServerId.' User:'.$GLOBALS['egw_info']['user']['account_lid'],
4759
+					'body'		=> 'Error: Could not fetch structure on mail:'.$_uid." as $_htmlOptions".'for Mailprofile'.$this->icServer->ImapServerId.' User:'.$GLOBALS['egw_info']['user']['account_lid'],
4760 4760
 					'mimeType'	=> 'text/plain',
4761 4761
 					'charSet'	=> self::$displayCharset,
4762 4762
 				)
@@ -4769,7 +4769,7 @@  discard block
 block discarded – undo
4769 4769
 			//_debug_array($_structure->getMimeId()); exit;
4770 4770
 		}
4771 4771
 
4772
-		switch($_structure->getPrimaryType())
4772
+		switch ($_structure->getPrimaryType())
4773 4773
 		{
4774 4774
 			case 'application':
4775 4775
 				return array(
@@ -4781,7 +4781,7 @@  discard block
 block discarded – undo
4781 4781
 				);
4782 4782
 
4783 4783
 			case 'multipart':
4784
-				switch($_structure->getSubType())
4784
+				switch ($_structure->getSubType())
4785 4785
 				{
4786 4786
 					case 'alternative':
4787 4787
 						$bodyParts = array($this->getMultipartAlternative($_uid, $_structure, $this->htmlOptions, $_preserveSeen));
@@ -4815,7 +4815,7 @@  discard block
 block discarded – undo
4815 4815
 				$bodyPart = array();
4816 4816
 				if ($_structure->getDisposition() != 'attachment')
4817 4817
 				{
4818
-					switch($_structure->getSubType())
4818
+					switch ($_structure->getSubType())
4819 4819
 					{
4820 4820
 						case 'calendar':
4821 4821
 							// this is handeled in getTextPart
@@ -4831,11 +4831,11 @@  discard block
 block discarded – undo
4831 4831
 
4832 4832
 			case 'attachment':
4833 4833
 			case 'message':
4834
-				switch($_structure->getSubType())
4834
+				switch ($_structure->getSubType())
4835 4835
 				{
4836 4836
 					case 'rfc822':
4837 4837
 						$newStructure = $_structure->getParts();
4838
-						if (self::$debug) {echo __METHOD__." Message -> RFC -> NewStructure:"; _debug_array($newStructure[0]);}
4838
+						if (self::$debug) {echo __METHOD__." Message -> RFC -> NewStructure:"; _debug_array($newStructure[0]); }
4839 4839
 						return self::normalizeBodyParts($this->getMessageBody($_uid, $_htmlOptions, $newStructure[0]->getMimeId(), $newStructure[0], $_preserveSeen, $_folder));
4840 4840
 				}
4841 4841
 				break;
@@ -4863,11 +4863,11 @@  discard block
 block discarded – undo
4863 4863
 	{
4864 4864
 		if (is_array($_bodyParts))
4865 4865
 		{
4866
-			foreach($_bodyParts as $singleBodyPart)
4866
+			foreach ($_bodyParts as $singleBodyPart)
4867 4867
 			{
4868 4868
 				if (!isset($singleBodyPart['body'])) {
4869 4869
 					$buff = self::normalizeBodyParts($singleBodyPart);
4870
-					foreach ((array)$buff as $val) { $body2return[] = $val;}
4870
+					foreach ((array)$buff as $val) { $body2return[] = $val; }
4871 4871
 					continue;
4872 4872
 				}
4873 4873
 				$body2return[] = $singleBodyPart;
@@ -4888,14 +4888,14 @@  discard block
 block discarded – undo
4888 4888
 	 * @param boolean $useTidy  switch to use tidy
4889 4889
 	 * @return string a preformatted string with the mails converted to text
4890 4890
 	 */
4891
-	static function &getdisplayableBody(&$mailClass, $bodyParts, $preserveHTML = false,  $useTidy = true)
4891
+	static function &getdisplayableBody(&$mailClass, $bodyParts, $preserveHTML = false, $useTidy = true)
4892 4892
 	{
4893
-		$message='';
4894
-		for($i=0; $i<count($bodyParts); $i++)
4893
+		$message = '';
4894
+		for ($i = 0; $i < count($bodyParts); $i++)
4895 4895
 		{
4896 4896
 			if (!isset($bodyParts[$i]['body'])) {
4897 4897
 				$bodyParts[$i]['body'] = self::getdisplayableBody($mailClass, $bodyParts[$i], $preserveHTML, $useTidy);
4898
-				$message .= empty($bodyParts[$i]['body'])?'':$bodyParts[$i]['body'];
4898
+				$message .= empty($bodyParts[$i]['body']) ? '' : $bodyParts[$i]['body'];
4899 4899
 				continue;
4900 4900
 			}
4901 4901
 			if (isset($bodyParts[$i]['error'])) continue;
@@ -4920,32 +4920,32 @@  discard block
 block discarded – undo
4920 4920
 				'(R)',
4921 4921
 			);
4922 4922
 
4923
-			if(($bodyParts[$i]['mimeType'] == 'text/html' || $bodyParts[$i]['mimeType'] == 'text/plain') &&
4923
+			if (($bodyParts[$i]['mimeType'] == 'text/html' || $bodyParts[$i]['mimeType'] == 'text/plain') &&
4924 4924
 				strtoupper($bodyParts[$i]['charSet']) != 'UTF-8')
4925 4925
 			{
4926
-				$bodyParts[$i]['body'] = preg_replace($sar,$rar,$bodyParts[$i]['body']);
4926
+				$bodyParts[$i]['body'] = preg_replace($sar, $rar, $bodyParts[$i]['body']);
4927 4927
 			}
4928 4928
 
4929
-			if ($bodyParts[$i]['charSet']===false) $bodyParts[$i]['charSet'] = Translation::detect_encoding($bodyParts[$i]['body']);
4929
+			if ($bodyParts[$i]['charSet'] === false) $bodyParts[$i]['charSet'] = Translation::detect_encoding($bodyParts[$i]['body']);
4930 4930
 			// add line breaks to $bodyParts
4931 4931
 			//error_log(__METHOD__.' ('.__LINE__.') '.' Charset:'.$bodyParts[$i]['charSet'].'->'.$bodyParts[$i]['body']);
4932
-			$newBody  = Translation::convert_jsonsafe($bodyParts[$i]['body'], $bodyParts[$i]['charSet']);
4932
+			$newBody = Translation::convert_jsonsafe($bodyParts[$i]['body'], $bodyParts[$i]['charSet']);
4933 4933
 			//error_log(__METHOD__.' ('.__LINE__.') '.' MimeType:'.$bodyParts[$i]['mimeType'].'->'.$newBody);
4934 4934
 			$mailClass->activeMimeType = 'text/plain';
4935 4935
 			if ($bodyParts[$i]['mimeType'] == 'text/html') {
4936 4936
 				$mailClass->activeMimeType = $bodyParts[$i]['mimeType'];
4937 4937
 				if (!$preserveHTML)
4938 4938
 				{
4939
-					$alreadyHtmlLawed=false;
4939
+					$alreadyHtmlLawed = false;
4940 4940
 					// as Translation::convert reduces \r\n to \n and purifier eats \n -> peplace it with a single space
4941
-					$newBody = str_replace("\n"," ",$newBody);
4941
+					$newBody = str_replace("\n", " ", $newBody);
4942 4942
 					// convert HTML to text, as we dont want HTML in infologs
4943 4943
 					if ($useTidy && extension_loaded('tidy'))
4944 4944
 					{
4945 4945
 						$tidy = new tidy();
4946
-						$cleaned = $tidy->repairString($newBody, self::$tidy_config,'utf8');
4946
+						$cleaned = $tidy->repairString($newBody, self::$tidy_config, 'utf8');
4947 4947
 						// Found errors. Strip it all so there's some output
4948
-						if($tidy->getStatus() == 2)
4948
+						if ($tidy->getStatus() == 2)
4949 4949
 						{
4950 4950
 							error_log(__METHOD__.' ('.__LINE__.') '.' ->'.$tidy->errorBuffer);
4951 4951
 						}
@@ -4956,7 +4956,7 @@  discard block
 block discarded – undo
4956 4956
 						if (!$preserveHTML)
4957 4957
 						{
4958 4958
 							// filter only the 'body', as we only want that part, if we throw away the html
4959
-							preg_match('`(<htm.+?<body[^>]*>)(.+?)(</body>.*?</html>)`ims', $newBody, $matches=array());
4959
+							preg_match('`(<htm.+?<body[^>]*>)(.+?)(</body>.*?</html>)`ims', $newBody, $matches = array());
4960 4960
 							if ($matches[2])
4961 4961
 							{
4962 4962
 								$hasOther = true;
@@ -4967,7 +4967,7 @@  discard block
 block discarded – undo
4967 4967
 					else
4968 4968
 					{
4969 4969
 						// htmLawed filter only the 'body'
4970
-						preg_match('`(<htm.+?<body[^>]*>)(.+?)(</body>.*?</html>)`ims', $newBody, $matches=array());
4970
+						preg_match('`(<htm.+?<body[^>]*>)(.+?)(</body>.*?</html>)`ims', $newBody, $matches = array());
4971 4971
 						if ($matches[2])
4972 4972
 						{
4973 4973
 							$hasOther = true;
@@ -4976,17 +4976,17 @@  discard block
 block discarded – undo
4976 4976
 						$htmLawed = new Html\HtmLawed();
4977 4977
 						// the next line should not be needed, but produces better results on HTML 2 Text conversion,
4978 4978
 						// as we switched off HTMLaweds tidy functionality
4979
-						$newBody = str_replace(array('&amp;amp;','<DIV><BR></DIV>',"<DIV>&nbsp;</DIV>",'<div>&nbsp;</div>'),array('&amp;','<BR>','<BR>','<BR>'),$newBody);
4980
-						$newBody = $htmLawed->run($newBody,self::$htmLawed_config);
4981
-						if ($hasOther && $preserveHTML) $newBody = $matches[1]. $newBody. $matches[3];
4982
-						$alreadyHtmlLawed=true;
4979
+						$newBody = str_replace(array('&amp;amp;', '<DIV><BR></DIV>', "<DIV>&nbsp;</DIV>", '<div>&nbsp;</div>'), array('&amp;', '<BR>', '<BR>', '<BR>'), $newBody);
4980
+						$newBody = $htmLawed->run($newBody, self::$htmLawed_config);
4981
+						if ($hasOther && $preserveHTML) $newBody = $matches[1].$newBody.$matches[3];
4982
+						$alreadyHtmlLawed = true;
4983 4983
 					}
4984 4984
 					//error_log(__METHOD__.' ('.__LINE__.') '.' after purify:'.$newBody);
4985
-					if ($preserveHTML==false) $newBody = Mail\Html::convertHTMLToText($newBody,self::$displayCharset,true,true);
4985
+					if ($preserveHTML == false) $newBody = Mail\Html::convertHTMLToText($newBody, self::$displayCharset, true, true);
4986 4986
 					//error_log(__METHOD__.' ('.__LINE__.') '.' after convertHTMLToText:'.$newBody);
4987
-					if ($preserveHTML==false) $newBody = nl2br($newBody); // we need this, as htmLawed removes \r\n
4987
+					if ($preserveHTML == false) $newBody = nl2br($newBody); // we need this, as htmLawed removes \r\n
4988 4988
 					/*if (!$alreadyHtmlLawed) */ $mailClass->getCleanHTML($newBody); // remove stuff we regard as unwanted
4989
-					if ($preserveHTML==false) $newBody = str_replace("<br />","\r\n",$newBody);
4989
+					if ($preserveHTML == false) $newBody = str_replace("<br />", "\r\n", $newBody);
4990 4990
 					//error_log(__METHOD__.' ('.__LINE__.') '.' after getClean:'.$newBody);
4991 4991
 				}
4992 4992
 				$message .= $newBody;
@@ -4995,9 +4995,9 @@  discard block
 block discarded – undo
4995 4995
 			//error_log(__METHOD__.' ('.__LINE__.') '.' Body(after specialchars):'.$newBody);
4996 4996
 			//use Mail\Html::convertHTMLToText instead of strip_tags, (even message is plain text) as strip_tags eats away too much
4997 4997
 			//$newBody = strip_tags($newBody); //we need to fix broken tags (or just stuff like "<800 USD/p" )
4998
-			$newBody = Mail\Html::convertHTMLToText($newBody,self::$displayCharset,false,false);
4998
+			$newBody = Mail\Html::convertHTMLToText($newBody, self::$displayCharset, false, false);
4999 4999
 			//error_log(__METHOD__.' ('.__LINE__.') '.' Body(after strip tags):'.$newBody);
5000
-			$newBody = htmlspecialchars_decode($newBody,ENT_QUOTES);
5000
+			$newBody = htmlspecialchars_decode($newBody, ENT_QUOTES);
5001 5001
 			//error_log(__METHOD__.' ('.__LINE__.') '.' Body (after hmlspc_decode):'.$newBody);
5002 5002
 			$message .= $newBody;
5003 5003
 			//continue;
@@ -5005,27 +5005,27 @@  discard block
 block discarded – undo
5005 5005
 		return $message;
5006 5006
 	}
5007 5007
 
5008
-	static function wordwrap($str, $cols, $cut, $dontbreaklinesstartingwith=false)
5008
+	static function wordwrap($str, $cols, $cut, $dontbreaklinesstartingwith = false)
5009 5009
 	{
5010 5010
 		$lines = explode("\n", $str);
5011 5011
 		$newStr = '';
5012
-		foreach($lines as $line)
5012
+		foreach ($lines as $line)
5013 5013
 		{
5014 5014
 			// replace tabs by 8 space chars, or any tab only counts one char
5015 5015
 			//$line = str_replace("\t","        ",$line);
5016 5016
 			//$newStr .= wordwrap($line, $cols, $cut);
5017
-			$allowedLength = $cols-strlen($cut);
5017
+			$allowedLength = $cols - strlen($cut);
5018 5018
 			//dont try to break lines with links, chance is we mess up the text is way too big
5019
-			if (strlen($line) > $allowedLength && stripos($line,'href=')===false &&
5020
-				($dontbreaklinesstartingwith==false ||
5019
+			if (strlen($line) > $allowedLength && stripos($line, 'href=') === false &&
5020
+				($dontbreaklinesstartingwith == false ||
5021 5021
 				 ($dontbreaklinesstartingwith &&
5022
-				  strlen($dontbreaklinesstartingwith)>=1 &&
5023
-				  substr($line,0,strlen($dontbreaklinesstartingwith)) != $dontbreaklinesstartingwith
5022
+				  strlen($dontbreaklinesstartingwith) >= 1 &&
5023
+				  substr($line, 0, strlen($dontbreaklinesstartingwith)) != $dontbreaklinesstartingwith
5024 5024
 				 )
5025 5025
 				)
5026 5026
 			   )
5027 5027
 			{
5028
-				$s=explode(" ", $line);
5028
+				$s = explode(" ", $line);
5029 5029
 				$line = "";
5030 5030
 				$linecnt = 0;
5031 5031
 				foreach ($s as &$v) {
@@ -5033,22 +5033,22 @@  discard block
 block discarded – undo
5033 5033
 					// only break long words within the wordboundaries,
5034 5034
 					// but it may destroy links, so we check for href and dont do it if we find one
5035 5035
 					// we check for any html within the word, because we do not want to break html by accident
5036
-					if($cnt > $allowedLength && stripos($v,'href=')===false && stripos($v,'onclick=')===false && $cnt == strlen(html_entity_decode($v)))
5036
+					if ($cnt > $allowedLength && stripos($v, 'href=') === false && stripos($v, 'onclick=') === false && $cnt == strlen(html_entity_decode($v)))
5037 5037
 					{
5038
-						$v=wordwrap($v, $allowedLength, $cut, true);
5038
+						$v = wordwrap($v, $allowedLength, $cut, true);
5039 5039
 					}
5040 5040
 					// the rest should be broken at the start of the new word that exceeds the limit
5041
-					if ($linecnt+$cnt > $allowedLength) {
5042
-						$v=$cut.$v;
5041
+					if ($linecnt + $cnt > $allowedLength) {
5042
+						$v = $cut.$v;
5043 5043
 						#$linecnt = 0;
5044
-						$linecnt =strlen($v)-strlen($cut);
5044
+						$linecnt = strlen($v) - strlen($cut);
5045 5045
 					} else {
5046 5046
 						$linecnt += $cnt;
5047 5047
 					}
5048 5048
 					if (strlen($v)) $line .= (strlen($line) ? " " : "").$v;
5049 5049
 				}
5050 5050
 			}
5051
-			$newStr .= $line . "\n";
5051
+			$newStr .= $line."\n";
5052 5052
 		}
5053 5053
 		return $newStr;
5054 5054
 	}
@@ -5063,12 +5063,12 @@  discard block
 block discarded – undo
5063 5063
 	 * @param boolean $_useHeaderInsteadOfEnvelope - force getMessageHeader method to be used for fetching Envelope Information
5064 5064
 	 * @return array the message header
5065 5065
 	 */
5066
-	function getMessageEnvelope($_uid, $_partID = '',$decode=false, $_folder='', $_useHeaderInsteadOfEnvelope=false)
5066
+	function getMessageEnvelope($_uid, $_partID = '', $decode = false, $_folder = '', $_useHeaderInsteadOfEnvelope = false)
5067 5067
 	{
5068 5068
 		//error_log(__METHOD__.' ('.__LINE__.') '.":$_uid,$_partID,$decode,$_folder".function_backtrace());
5069
-		if (empty($_folder)) $_folder = ($this->sessionData['mailbox']? $this->sessionData['mailbox'] : $this->icServer->getCurrentMailbox());
5069
+		if (empty($_folder)) $_folder = ($this->sessionData['mailbox'] ? $this->sessionData['mailbox'] : $this->icServer->getCurrentMailbox());
5070 5070
 		//error_log(__METHOD__.' ('.__LINE__.') '.":$_uid,$_partID,$decode,$_folder");
5071
-		if((empty($_partID)||$_partID=='null')&&$_useHeaderInsteadOfEnvelope===false) {
5071
+		if ((empty($_partID) || $_partID == 'null') && $_useHeaderInsteadOfEnvelope === false) {
5072 5072
 			$uidsToFetch = new Horde_Imap_Client_Ids();
5073 5073
 			if (!(is_object($_uid) || is_array($_uid))) $_uid = (array)$_uid;
5074 5074
 			$uidsToFetch->add($_uid);
@@ -5081,7 +5081,7 @@  discard block
 block discarded – undo
5081 5081
 				'ids' => $uidsToFetch,
5082 5082
 			));
5083 5083
 			if (is_object($headersNew)) {
5084
-				foreach($headersNew as &$_headerObject) {
5084
+				foreach ($headersNew as &$_headerObject) {
5085 5085
 					$env = $_headerObject->getEnvelope();
5086 5086
 					//_debug_array($envFields->singleFields());
5087 5087
 					$singleFields = $envFields->singleFields();
@@ -5096,34 +5096,34 @@  discard block
 block discarded – undo
5096 5096
 							case 'bcc':
5097 5097
 							case 'sender':
5098 5098
 								//error_log(__METHOD__.' ('.__LINE__.') '.$v.'->'.array2string($env->$v->addresses));
5099
-								$envelope[$v]=$env->$v->addresses;
5099
+								$envelope[$v] = $env->$v->addresses;
5100 5100
 								$address = array();
5101 5101
 								if (!is_array($envelope[$v])) break;
5102 5102
 								foreach ($envelope[$v] as $k => $ad)
5103 5103
 								{
5104
-									if (stripos($ad,'@')===false)
5104
+									if (stripos($ad, '@') === false)
5105 5105
 									{
5106
-										$remember=$k;
5106
+										$remember = $k;
5107 5107
 									}
5108 5108
 									else
5109 5109
 									{
5110
-										$address[] = (!is_null($remember)?$envelope[$v][$remember].' ':'').$ad;
5111
-										$remember=null;
5110
+										$address[] = (!is_null($remember) ? $envelope[$v][$remember].' ' : '').$ad;
5111
+										$remember = null;
5112 5112
 									}
5113 5113
 								}
5114 5114
 								$envelope[$v] = $address;
5115 5115
 								break;
5116 5116
 							case 'date':
5117
-								$envelope[$v]=DateTime::to($env->$v);
5117
+								$envelope[$v] = DateTime::to($env->$v);
5118 5118
 								break;
5119 5119
 							default:
5120
-								$envelope[$v]=$env->$v;
5120
+								$envelope[$v] = $env->$v;
5121 5121
 						}
5122 5122
 					}
5123
-					$envelope['size']=$_headerObject->getSize();
5123
+					$envelope['size'] = $_headerObject->getSize();
5124 5124
 				}
5125 5125
 			}
5126
-			$envelope = array_change_key_case($envelope,CASE_UPPER);
5126
+			$envelope = array_change_key_case($envelope, CASE_UPPER);
5127 5127
 			//if ($decode) _debug_array($envelope);
5128 5128
 			//error_log(__METHOD__.' ('.__LINE__.') '.array2string($envelope));
5129 5129
 			if ($decode)
@@ -5131,19 +5131,19 @@  discard block
 block discarded – undo
5131 5131
 				foreach ($envelope as $key => $rvV)
5132 5132
 				{
5133 5133
 					//try idn conversion only on 'FROM', 'TO', 'CC', 'BCC', 'SENDER', 'REPLY-TO'
5134
-					$envelope[$key]=self::decode_header($rvV,in_array($key,array('FROM', 'TO', 'CC', 'BCC', 'SENDER', 'REPLY-TO')));
5134
+					$envelope[$key] = self::decode_header($rvV, in_array($key, array('FROM', 'TO', 'CC', 'BCC', 'SENDER', 'REPLY-TO')));
5135 5135
 				}
5136 5136
 			}
5137 5137
 			return $envelope;
5138 5138
 		} else {
5139 5139
 
5140
-			$headers = $this->getMessageHeader($_uid, $_partID, true,true,$_folder);
5140
+			$headers = $this->getMessageHeader($_uid, $_partID, true, true, $_folder);
5141 5141
 
5142 5142
 			//error_log(__METHOD__.' ('.__LINE__.') '.':'.array2string($headers));
5143 5143
 			//_debug_array($headers);
5144 5144
 			$newData = array(
5145 5145
 				'DATE'		=> $headers['DATE'],
5146
-				'SUBJECT'	=> ($decode ? self::decode_header($headers['SUBJECT']):$headers['SUBJECT']),
5146
+				'SUBJECT'	=> ($decode ? self::decode_header($headers['SUBJECT']) : $headers['SUBJECT']),
5147 5147
 				'MESSAGE_ID'	=> $headers['MESSAGE-ID']
5148 5148
 			);
5149 5149
 			if (isset($headers['IN-REPLY-TO'])) $newData['IN-REPLY-TO'] = $headers['IN-REPLY-TO'];
@@ -5154,11 +5154,11 @@  discard block
 block discarded – undo
5154 5154
 			if (isset($headers['SIZE'])) $newData['SIZE'] = $headers['SIZE'];
5155 5155
 			//_debug_array($newData);
5156 5156
 			$recepientList = array('FROM', 'TO', 'CC', 'BCC', 'SENDER', 'REPLY-TO');
5157
-			foreach($recepientList as $recepientType) {
5158
-				if(isset($headers[$recepientType])) {
5159
-					if ($decode) $headers[$recepientType] =  self::decode_header($headers[$recepientType],true);
5157
+			foreach ($recepientList as $recepientType) {
5158
+				if (isset($headers[$recepientType])) {
5159
+					if ($decode) $headers[$recepientType] = self::decode_header($headers[$recepientType], true);
5160 5160
 					//error_log(__METHOD__.__LINE__." ".$recepientType."->".array2string($headers[$recepientType]));
5161
-					foreach(self::parseAddressList($headers[$recepientType]) as $singleAddress) {
5161
+					foreach (self::parseAddressList($headers[$recepientType]) as $singleAddress) {
5162 5162
 						$addressData = array(
5163 5163
 							'PERSONAL_NAME'		=> $singleAddress->personal ? $singleAddress->personal : 'NIL',
5164 5164
 							'AT_DOMAIN_LIST'	=> $singleAddress->adl ? $singleAddress->adl : 'NIL',
@@ -5166,15 +5166,15 @@  discard block
 block discarded – undo
5166 5166
 							'HOST_NAME'		=> $singleAddress->host ? $singleAddress->host : 'NIL',
5167 5167
 							'EMAIL'			=> $singleAddress->host ? $singleAddress->mailbox.'@'.$singleAddress->host : $singleAddress->mailbox,
5168 5168
 						);
5169
-						if($addressData['PERSONAL_NAME'] != 'NIL') {
5169
+						if ($addressData['PERSONAL_NAME'] != 'NIL') {
5170 5170
 							$addressData['RFC822_EMAIL'] = imap_rfc822_write_address($singleAddress->mailbox, $singleAddress->host, $singleAddress->personal);
5171 5171
 						} else {
5172 5172
 							$addressData['RFC822_EMAIL'] = 'NIL';
5173 5173
 						}
5174
-						$newData[$recepientType][] = ($addressData['RFC822_EMAIL']!='NIL'?$addressData['RFC822_EMAIL']:$addressData['EMAIL']);//$addressData;
5174
+						$newData[$recepientType][] = ($addressData['RFC822_EMAIL'] != 'NIL' ? $addressData['RFC822_EMAIL'] : $addressData['EMAIL']); //$addressData;
5175 5175
 					}
5176 5176
 				} else {
5177
-					if($recepientType == 'SENDER' || $recepientType == 'REPLY-TO') {
5177
+					if ($recepientType == 'SENDER' || $recepientType == 'REPLY-TO') {
5178 5178
 						$newData[$recepientType] = $newData['FROM'];
5179 5179
 					} else {
5180 5180
 						$newData[$recepientType] = array();
@@ -5196,10 +5196,10 @@  discard block
 block discarded – undo
5196 5196
 	 * @param string $_folder folder to work on
5197 5197
 	 * @return array|Horde_Mime_Headers message header as array or object
5198 5198
 	 */
5199
-	function getMessageHeader($_uid, $_partID = '',$decode=false, $preserveUnSeen=false, $_folder='')
5199
+	function getMessageHeader($_uid, $_partID = '', $decode = false, $preserveUnSeen = false, $_folder = '')
5200 5200
 	{
5201 5201
 		//error_log(__METHOD__.' ('.__LINE__.') '.':'.$_uid.', '.$_partID.', '.$decode.', '.$preserveUnSeen.', '.$_folder);
5202
-		if (empty($_folder)) $_folder = ($this->sessionData['mailbox']? $this->sessionData['mailbox'] : $this->icServer->getCurrentMailbox());
5202
+		if (empty($_folder)) $_folder = ($this->sessionData['mailbox'] ? $this->sessionData['mailbox'] : $this->icServer->getCurrentMailbox());
5203 5203
 		$uidsToFetch = new Horde_Imap_Client_Ids();
5204 5204
 		if (!(is_object($_uid) || is_array($_uid))) $_uid = (array)$_uid;
5205 5205
 		$uidsToFetch->add($_uid);
@@ -5207,7 +5207,7 @@  discard block
 block discarded – undo
5207 5207
 		$fquery = new Horde_Imap_Client_Fetch_Query();
5208 5208
 		if ($_partID != '')
5209 5209
 		{
5210
-			$fquery->headerText(array('id'=>$_partID,'peek'=>$preserveUnSeen));
5210
+			$fquery->headerText(array('id'=>$_partID, 'peek'=>$preserveUnSeen));
5211 5211
 			$fquery->structure();
5212 5212
 		}
5213 5213
 		else
@@ -5220,18 +5220,18 @@  discard block
 block discarded – undo
5220 5220
 			'ids' => $uidsToFetch,
5221 5221
 		));
5222 5222
 		if (is_object($headersNew)) {
5223
-			foreach($headersNew as $_fetchObject)
5223
+			foreach ($headersNew as $_fetchObject)
5224 5224
 			{
5225
-				$headers = $_fetchObject->getHeaderText(0,Horde_Imap_Client_Data_Fetch::HEADER_PARSE);
5225
+				$headers = $_fetchObject->getHeaderText(0, Horde_Imap_Client_Data_Fetch::HEADER_PARSE);
5226 5226
 				if ($_partID != '')
5227 5227
 				{
5228 5228
 					$mailStructureObject = $_fetchObject->getStructure();
5229 5229
 					foreach ($mailStructureObject->contentTypeMap() as $mime_id => $mime_type)
5230 5230
 					{
5231
-						if ($mime_id==$_partID)
5231
+						if ($mime_id == $_partID)
5232 5232
 						{
5233 5233
 							//error_log(__METHOD__.' ('.__LINE__.') '."$mime_id == $_partID".array2string($_headerObject->getHeaderText($mime_id,Horde_Imap_Client_Data_Fetch::HEADER_PARSE)->toArray()));
5234
-							$headers = $_fetchObject->getHeaderText($mime_id,Horde_Imap_Client_Data_Fetch::HEADER_PARSE);
5234
+							$headers = $_fetchObject->getHeaderText($mime_id, Horde_Imap_Client_Data_Fetch::HEADER_PARSE);
5235 5235
 							break;
5236 5236
 						}
5237 5237
 					}
@@ -5244,15 +5244,15 @@  discard block
 block discarded – undo
5244 5244
 				if (is_object($headers)) $headers->setUserAgent('EGroupware API '.$GLOBALS['egw_info']['server']['versions']['phpgwapi']);
5245 5245
 				return $headers;
5246 5246
 			}
5247
-			$retValue = is_object($headers) ? $headers->toArray():array();
5247
+			$retValue = is_object($headers) ? $headers->toArray() : array();
5248 5248
 			if ($size) $retValue['size'] = $size;
5249 5249
 		}
5250
-		$retValue = array_change_key_case($retValue,CASE_UPPER);
5250
+		$retValue = array_change_key_case($retValue, CASE_UPPER);
5251 5251
 		//error_log(__METHOD__.' ('.__LINE__.') '.array2string($retValue));
5252 5252
 		// if SUBJECT is an array, use thelast one, as we assume something with the unfolding for the subject did not work
5253 5253
 		if (is_array($retValue['SUBJECT']))
5254 5254
 		{
5255
-			$retValue['SUBJECT'] = $retValue['SUBJECT'][count($retValue['SUBJECT'])-1];
5255
+			$retValue['SUBJECT'] = $retValue['SUBJECT'][count($retValue['SUBJECT']) - 1];
5256 5256
 		}
5257 5257
 		//error_log(__METHOD__.' ('.__LINE__.') '.':'.array2string($decode ? self::decode_header($retValue,true):$retValue));
5258 5258
 		if ($decode)
@@ -5260,7 +5260,7 @@  discard block
 block discarded – undo
5260 5260
 			foreach ($retValue as $key => $rvV)
5261 5261
 			{
5262 5262
 				//try idn conversion only on 'FROM', 'TO', 'CC', 'BCC', 'SENDER', 'REPLY-TO'
5263
-				$retValue[$key]=self::decode_header($rvV,in_array($key,array('FROM', 'TO', 'CC', 'BCC', 'SENDER', 'REPLY-TO')));
5263
+				$retValue[$key] = self::decode_header($rvV, in_array($key, array('FROM', 'TO', 'CC', 'BCC', 'SENDER', 'REPLY-TO')));
5264 5264
 			}
5265 5265
 		}
5266 5266
 		return $retValue;
@@ -5277,14 +5277,14 @@  discard block
 block discarded – undo
5277 5277
 	function getMessageRawHeader($_uid, $_partID = '', $_folder = '')
5278 5278
 	{
5279 5279
 		static $rawHeaders;
5280
-		if (empty($_folder)) $_folder = ($this->sessionData['mailbox']? $this->sessionData['mailbox'] : $this->icServer->getCurrentMailbox());
5280
+		if (empty($_folder)) $_folder = ($this->sessionData['mailbox'] ? $this->sessionData['mailbox'] : $this->icServer->getCurrentMailbox());
5281 5281
 		//error_log(__METHOD__.' ('.__LINE__.') '." Try Using Cache for raw Header $_uid, $_partID in Folder $_folder");
5282 5282
 
5283
-		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);
5284
-		if (isset($rawHeaders[$this->icServer->ImapServerId][(string)$_folder][$_uid][(empty($_partID)?'NIL':$_partID)]))
5283
+		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);
5284
+		if (isset($rawHeaders[$this->icServer->ImapServerId][(string)$_folder][$_uid][(empty($_partID) ? 'NIL' : $_partID)]))
5285 5285
 		{
5286 5286
 			//error_log(__METHOD__.' ('.__LINE__.') '." Using Cache for raw Header $_uid, $_partID in Folder $_folder");
5287
-			return $rawHeaders[$this->icServer->ImapServerId][(string)$_folder][$_uid][(empty($_partID)?'NIL':$_partID)];
5287
+			return $rawHeaders[$this->icServer->ImapServerId][(string)$_folder][$_uid][(empty($_partID) ? 'NIL' : $_partID)];
5288 5288
 		}
5289 5289
 		$uidsToFetch = new Horde_Imap_Client_Ids();
5290 5290
 		$uid = $_uid;
@@ -5294,7 +5294,7 @@  discard block
 block discarded – undo
5294 5294
 		$fquery = new Horde_Imap_Client_Fetch_Query();
5295 5295
 		if ($_partID != '')
5296 5296
 		{
5297
-			$fquery->headerText(array('id'=>$_partID,'peek'=>true));
5297
+			$fquery->headerText(array('id'=>$_partID, 'peek'=>true));
5298 5298
 			$fquery->structure();
5299 5299
 		}
5300 5300
 		else
@@ -5305,14 +5305,14 @@  discard block
 block discarded – undo
5305 5305
 			'ids' => $uidsToFetch,
5306 5306
 		));
5307 5307
 		if (is_object($headersNew)) {
5308
-			foreach($headersNew as &$_headerObject) {
5308
+			foreach ($headersNew as &$_headerObject) {
5309 5309
 				$retValue = $_headerObject->getHeaderText();
5310 5310
 				if ($_partID != '')
5311 5311
 				{
5312 5312
 					$mailStructureObject = $_headerObject->getStructure();
5313 5313
 					foreach ($mailStructureObject->contentTypeMap() as $mime_id => $mime_type)
5314 5314
 					{
5315
-						if ($mime_id==$_partID)
5315
+						if ($mime_id == $_partID)
5316 5316
 						{
5317 5317
 							$retValue = $_headerObject->getHeaderText($mime_id);
5318 5318
 						}
@@ -5320,8 +5320,8 @@  discard block
 block discarded – undo
5320 5320
 				}
5321 5321
 			}
5322 5322
 		}
5323
-		$rawHeaders[$this->icServer->ImapServerId][(string)$_folder][$_uid][(empty($_partID)?'NIL':$_partID)]=$retValue;
5324
-		Cache::setCache(Cache::INSTANCE,'email','rawHeadersCache'.trim($GLOBALS['egw_info']['user']['account_id']),$rawHeaders,60*60*1);
5323
+		$rawHeaders[$this->icServer->ImapServerId][(string)$_folder][$_uid][(empty($_partID) ? 'NIL' : $_partID)] = $retValue;
5324
+		Cache::setCache(Cache::INSTANCE, 'email', 'rawHeadersCache'.trim($GLOBALS['egw_info']['user']['account_id']), $rawHeaders, 60 * 60 * 1);
5325 5325
 		return $retValue;
5326 5326
 	}
5327 5327
 
@@ -5334,25 +5334,25 @@  discard block
 block discarded – undo
5334 5334
 	{
5335 5335
 		$style = '';
5336 5336
 		if (empty($_bodyParts)) return "";
5337
-		foreach((array)$_bodyParts as $singleBodyPart) {
5337
+		foreach ((array)$_bodyParts as $singleBodyPart) {
5338 5338
 			if (!isset($singleBodyPart['body'])) {
5339 5339
 				$singleBodyPart['body'] = self::getStyles($singleBodyPart);
5340 5340
 				$style .= $singleBodyPart['body'];
5341 5341
 				continue;
5342 5342
 			}
5343 5343
 
5344
-			if ($singleBodyPart['charSet']===false) $singleBodyPart['charSet'] = Translation::detect_encoding($singleBodyPart['body']);
5344
+			if ($singleBodyPart['charSet'] === false) $singleBodyPart['charSet'] = Translation::detect_encoding($singleBodyPart['body']);
5345 5345
 			$singleBodyPart['body'] = Translation::convert(
5346 5346
 				$singleBodyPart['body'],
5347 5347
 				strtolower($singleBodyPart['charSet'])
5348 5348
 			);
5349 5349
 			$ct = 0;
5350
-			$newStyle=array();
5351
-			if (stripos($singleBodyPart['body'],'<style')!==false)  $ct = preg_match_all('#<style(?:\s.*)?>(.+)</style>#isU', $singleBodyPart['body'], $newStyle);
5352
-			if ($ct>0)
5350
+			$newStyle = array();
5351
+			if (stripos($singleBodyPart['body'], '<style') !== false)  $ct = preg_match_all('#<style(?:\s.*)?>(.+)</style>#isU', $singleBodyPart['body'], $newStyle);
5352
+			if ($ct > 0)
5353 5353
 			{
5354 5354
 				//error_log(__METHOD__.' ('.__LINE__.') '.'#'.$ct.'#'.array2string($newStyle));
5355
-				$style2buffer = implode('',$newStyle[0]);
5355
+				$style2buffer = implode('', $newStyle[0]);
5356 5356
 			}
5357 5357
 			if ($style2buffer && strtoupper(self::$displayCharset) == 'UTF-8')
5358 5358
 			{
@@ -5360,7 +5360,7 @@  discard block
 block discarded – undo
5360 5360
 				$test = json_encode($style2buffer);
5361 5361
 				//error_log(__METHOD__.' ('.__LINE__.') '.'#'.$test.'# ->'.strlen($style2buffer).' Error:'.json_last_error());
5362 5362
 				//if (json_last_error() != JSON_ERROR_NONE && strlen($style2buffer)>0)
5363
-				if ($test=="null" && strlen($style2buffer)>0)
5363
+				if ($test == "null" && strlen($style2buffer) > 0)
5364 5364
 				{
5365 5365
 					// this should not be needed, unless something fails with charset detection/ wrong charset passed
5366 5366
 					error_log(__METHOD__.' ('.__LINE__.') '.' Found Invalid sequence for utf-8 in CSS:'.$style2buffer.' Charset Reported:'.$singleBodyPart['charSet'].' Carset Detected:'.Translation::detect_encoding($style2buffer));
@@ -5371,19 +5371,19 @@  discard block
 block discarded – undo
5371 5371
 		}
5372 5372
 		// clean out comments and stuff
5373 5373
 		$search = array(
5374
-			'@url\(http:\/\/[^\)].*?\)@si',  // url calls e.g. in style definitions
5374
+			'@url\(http:\/\/[^\)].*?\)@si', // url calls e.g. in style definitions
5375 5375
 //			'@<!--[\s\S]*?[ \t\n\r]*-->@',   // Strip multi-line comments including CDATA
5376 5376
 //			'@<!--[\s\S]*?[ \t\n\r]*--@',    // Strip broken multi-line comments including CDATA
5377 5377
 		);
5378
-		$style = preg_replace($search,"",$style);
5378
+		$style = preg_replace($search, "", $style);
5379 5379
 
5380 5380
 		// CSS Security
5381 5381
 		// http://code.google.com/p/browsersec/wiki/Part1#Cascading_stylesheets
5382
-		$css = preg_replace('/(javascript|expression|-moz-binding)/i','',$style);
5383
-		if (stripos($css,'script')!==false) Mail\Html::replaceTagsCompletley($css,'script'); // Strip out script that may be included
5382
+		$css = preg_replace('/(javascript|expression|-moz-binding)/i', '', $style);
5383
+		if (stripos($css, 'script') !== false) Mail\Html::replaceTagsCompletley($css, 'script'); // Strip out script that may be included
5384 5384
 		// 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
5385 5385
 		// as the comments as <!-- styledefinition --> in stylesheet are outdated, and ck-editor does not understand it, we remove it
5386
-		$css = str_replace(array(':','<!--','-->'),array(': ','',''),$css);
5386
+		$css = str_replace(array(':', '<!--', '-->'), array(': ', '', ''), $css);
5387 5387
 		//error_log(__METHOD__.' ('.__LINE__.') '.$css);
5388 5388
 		// TODO: we may have to strip urls and maybe comments and ifs
5389 5389
 		return $css;
@@ -5397,16 +5397,16 @@  discard block
 block discarded – undo
5397 5397
 	 * @param string $_folder folder to work on
5398 5398
 	 * @return string the message body
5399 5399
 	 */
5400
-	function getMessageRawBody($_uid, $_partID = '', $_folder='')
5400
+	function getMessageRawBody($_uid, $_partID = '', $_folder = '')
5401 5401
 	{
5402 5402
 		//TODO: caching einbauen static!
5403 5403
 		static $rawBody;
5404 5404
 		if (is_null($rawBody)) $rawBody = array();
5405
-		if (empty($_folder)) $_folder = ($this->sessionData['mailbox']? $this->sessionData['mailbox'] : $this->icServer->getCurrentMailbox());
5406
-		if (isset($rawBody[$this->icServer->ImapServerId][$_folder][$_uid][(empty($_partID)?'NIL':$_partID)]))
5405
+		if (empty($_folder)) $_folder = ($this->sessionData['mailbox'] ? $this->sessionData['mailbox'] : $this->icServer->getCurrentMailbox());
5406
+		if (isset($rawBody[$this->icServer->ImapServerId][$_folder][$_uid][(empty($_partID) ? 'NIL' : $_partID)]))
5407 5407
 		{
5408 5408
 			//error_log(__METHOD__.' ('.__LINE__.') '." Using Cache for raw Body $_uid, $_partID in Folder $_folder");
5409
-			return $rawBody[$this->icServer->ImapServerId][$_folder][$_uid][(empty($_partID)?'NIL':$_partID)];
5409
+			return $rawBody[$this->icServer->ImapServerId][$_folder][$_uid][(empty($_partID) ? 'NIL' : $_partID)];
5410 5410
 		}
5411 5411
 
5412 5412
 		$uidsToFetch = new Horde_Imap_Client_Ids();
@@ -5419,13 +5419,13 @@  discard block
 block discarded – undo
5419 5419
 		if ($_partID != '')
5420 5420
 		{
5421 5421
 			$fquery->structure();
5422
-			$fquery->bodyPart($_partID,array('peek'=>true));
5422
+			$fquery->bodyPart($_partID, array('peek'=>true));
5423 5423
 		}
5424 5424
 		$headersNew = $this->icServer->fetch($_folder, $fquery, array(
5425 5425
 			'ids' => $uidsToFetch,
5426 5426
 		));
5427 5427
 		if (is_object($headersNew)) {
5428
-			foreach($headersNew as &$_headerObject) {
5428
+			foreach ($headersNew as &$_headerObject) {
5429 5429
 				$body = $_headerObject->getFullMsg();
5430 5430
 				if ($_partID != '')
5431 5431
 				{
@@ -5433,7 +5433,7 @@  discard block
 block discarded – undo
5433 5433
 					//_debug_array($mailStructureObject->contentTypeMap());
5434 5434
 					foreach ($mailStructureObject->contentTypeMap() as $mime_id => $mime_type)
5435 5435
 					{
5436
-						if ($mime_id==$_partID)
5436
+						if ($mime_id == $_partID)
5437 5437
 						{
5438 5438
 							$body = $_headerObject->getBodyPart($mime_id);
5439 5439
 						}
@@ -5442,7 +5442,7 @@  discard block
 block discarded – undo
5442 5442
 			}
5443 5443
 		}
5444 5444
 		//error_log(__METHOD__.' ('.__LINE__.') '."[$this->icServer->ImapServerId][$_folder][$_uid][".(empty($_partID)?'NIL':$_partID)."]");
5445
-		$rawBody[$this->icServer->ImapServerId][$_folder][$_uid][(empty($_partID)?'NIL':$_partID)] = $body;
5445
+		$rawBody[$this->icServer->ImapServerId][$_folder][$_uid][(empty($_partID) ? 'NIL' : $_partID)] = $body;
5446 5446
 		return $body;
5447 5447
 	}
5448 5448
 
@@ -5456,13 +5456,13 @@  discard block
 block discarded – undo
5456 5456
 	 * @param Horde_Imap_Client_Fetch_Query $fquery=null default query just structure
5457 5457
 	 * @return Horde_Mime_Part
5458 5458
 	 */
5459
-	function getStructure($_uid, $_partID=null, $_folder=null, $_preserveSeen=false)
5459
+	function getStructure($_uid, $_partID = null, $_folder = null, $_preserveSeen = false)
5460 5460
 	{
5461
-		if (self::$debug) error_log( __METHOD__.' ('.__LINE__.') '.":$_uid, $_partID");
5461
+		if (self::$debug) error_log(__METHOD__.' ('.__LINE__.') '.":$_uid, $_partID");
5462 5462
 
5463 5463
 		if (empty($_folder))
5464 5464
 		{
5465
-			$_folder = ($this->sessionData['mailbox']? $this->sessionData['mailbox'] : $this->icServer->getCurrentMailbox());
5465
+			$_folder = ($this->sessionData['mailbox'] ? $this->sessionData['mailbox'] : $this->icServer->getCurrentMailbox());
5466 5466
 		}
5467 5467
 		$uidsToFetch = new Horde_Imap_Client_Ids();
5468 5468
 		if (!(is_object($_uid) || is_array($_uid))) $_uid = (array)$_uid;
@@ -5480,7 +5480,7 @@  discard block
 block discarded – undo
5480 5480
 				'ids' => $uidsToFetch,
5481 5481
 			))->first();
5482 5482
 
5483
-			return is_object($mail)?$mail->getStructure():null;
5483
+			return is_object($mail) ? $mail->getStructure() : null;
5484 5484
 		}
5485 5485
 		catch (\Exception $e)
5486 5486
 		{
@@ -5503,14 +5503,14 @@  discard block
 block discarded – undo
5503 5503
 	 * @param string $_folder folder to work on
5504 5504
 	 * @return array  an array of information about the attachment: array of array(name, size, mimeType, partID, encoding)
5505 5505
 	 */
5506
-	function getMessageAttachments($_uid, $_partID=null, Horde_Mime_Part $_structure=null, $fetchEmbeddedImages=true, $fetchTextCalendar=false, $resolveTNEF=true, $_folder='')
5506
+	function getMessageAttachments($_uid, $_partID = null, Horde_Mime_Part $_structure = null, $fetchEmbeddedImages = true, $fetchTextCalendar = false, $resolveTNEF = true, $_folder = '')
5507 5507
 	{
5508
-		if (self::$debug) error_log( __METHOD__.":$_uid, $_partID");
5509
-		if (empty($_folder)) $_folder = ($this->sessionData['mailbox']? $this->sessionData['mailbox'] : $this->icServer->getCurrentMailbox());
5508
+		if (self::$debug) error_log(__METHOD__.":$_uid, $_partID");
5509
+		if (empty($_folder)) $_folder = ($this->sessionData['mailbox'] ? $this->sessionData['mailbox'] : $this->icServer->getCurrentMailbox());
5510 5510
 		$attachments = array();
5511 5511
 		if (!isset($_structure))
5512 5512
 		{
5513
-			$_structure = $this->getStructure($_uid, $_partID,$_folder,true);
5513
+			$_structure = $this->getStructure($_uid, $_partID, $_folder, true);
5514 5514
 			//error_log(__METHOD__.' ('.__LINE__.') '.':'.print_r($_structure->contentTypeMap(),true));
5515 5515
 		}
5516 5516
 		if (!$_structure || !$_structure->contentTypeMap()) return array();
@@ -5518,7 +5518,7 @@  discard block
 block discarded – undo
5518 5518
 		$skipParts = array();
5519 5519
 		$tnefParts = array();
5520 5520
 		$skip = 0;
5521
-		foreach($_structure->contentTypeMap() as $mime_id => $mime_type)
5521
+		foreach ($_structure->contentTypeMap() as $mime_id => $mime_type)
5522 5522
 		{
5523 5523
 			// skip multipart/encrypted incl. its two sub-parts, as we show 2. sub-part as body to be decrypted client-side
5524 5524
 			if ($mime_type == 'multipart/encrypted')
@@ -5526,7 +5526,7 @@  discard block
 block discarded – undo
5526 5526
 				$skip = 2;
5527 5527
 				continue;
5528 5528
 			}
5529
-			elseif($skip)
5529
+			elseif ($skip)
5530 5530
 			{
5531 5531
 				$skip--;
5532 5532
 				continue;
@@ -5540,10 +5540,10 @@  discard block
 block discarded – undo
5540 5540
 			$partPrimaryType = $part->getPrimaryType();
5541 5541
 			// we only want to retrieve the attachments of the current mail, not those of possible
5542 5542
 			// attached mails
5543
-			if ($mime_type=='message/rfc822' && $_partID!=$mime_id)
5543
+			if ($mime_type == 'message/rfc822' && $_partID != $mime_id)
5544 5544
 			{
5545 5545
 				//error_log(__METHOD__.' ('.__LINE__.') '.' Uid:'.$uid.'->'.$mime_id.':'.array2string($part->contentTypeMap()));
5546
-				foreach($part->contentTypeMap() as $sub_id => $sub_type) {if ($sub_id != $mime_id) $skipParts[$sub_id] = $sub_type;}
5546
+				foreach ($part->contentTypeMap() as $sub_id => $sub_type) {if ($sub_id != $mime_id) $skipParts[$sub_id] = $sub_type; }
5547 5547
 			}
5548 5548
 			if (empty($partDisposition) && $partPrimaryType != 'multipart' && $partPrimaryType != 'text')
5549 5549
 			{
@@ -5551,27 +5551,27 @@  discard block
 block discarded – undo
5551 5551
 				// attachment with no link to show the attachment inline.
5552 5552
 				// Considering this: we "list" everything that matches the above criteria
5553 5553
 				// as attachment in order to not loose/miss information on our data
5554
-				$partDisposition='attachment';
5554
+				$partDisposition = 'attachment';
5555 5555
 			}
5556 5556
 			//error_log(__METHOD__.' ('.__LINE__.') '.' Uid:'.$uid.' Part:'.$_partID.'->'.$mime_id.':'.array2string($skipParts));
5557
-			if (array_key_exists($mime_id,$skipParts)) continue;
5557
+			if (array_key_exists($mime_id, $skipParts)) continue;
5558 5558
 
5559 5559
 			if ($partDisposition == 'attachment' ||
5560
-				(($partDisposition == 'inline' || empty($partDisposition)) && $partPrimaryType == 'image' && $part->getContentId()=='') ||
5560
+				(($partDisposition == 'inline' || empty($partDisposition)) && $partPrimaryType == 'image' && $part->getContentId() == '') ||
5561 5561
 				(($partDisposition == 'inline' || empty($partDisposition)) && $partPrimaryType != 'image' && $partPrimaryType != 'text' && $partPrimaryType != 'multipart') ||
5562
-				($mime_type=='image/tiff') || //always fetch. even if $fetchEmbeddedImages is false. as we cannot display tiffs
5562
+				($mime_type == 'image/tiff') || //always fetch. even if $fetchEmbeddedImages is false. as we cannot display tiffs
5563 5563
 				($fetchEmbeddedImages && ($partDisposition == 'inline' || empty($partDisposition)) && $partPrimaryType == 'image') ||
5564 5564
 				($fetchTextCalendar && $partPrimaryType == 'text' && $part->getSubType() == 'calendar'))
5565 5565
 			{
5566 5566
 				// if type is message/rfc822 and _partID is given, and MimeID equals partID
5567 5567
 				// we attempt to fetch "ourselves"
5568
-				if ($_partID==$part->getMimeId() && $part->getPrimaryType()=='message') continue;
5568
+				if ($_partID == $part->getMimeId() && $part->getPrimaryType() == 'message') continue;
5569 5569
 				$attachment = $part->getAllDispositionParameters();
5570 5570
 				$attachment['disposition'] = $part->getDisposition();
5571 5571
 				$attachment['mimeType'] = $mime_type;
5572 5572
 				$attachment['uid'] = $_uid;
5573 5573
 				$attachment['partID'] = $mime_id;
5574
-				if (!isset($attachment['name'])||empty($attachment['name'])) $attachment['name'] = $part->getName();
5574
+				if (!isset($attachment['name']) || empty($attachment['name'])) $attachment['name'] = $part->getName();
5575 5575
 				if ($fetchTextCalendar)
5576 5576
 				{
5577 5577
 					//error_log(__METHOD__.' ('.__LINE__.') '.array2string($part->getAllContentTypeParameters()));
@@ -5581,11 +5581,11 @@  discard block
 block discarded – undo
5581 5581
 				}
5582 5582
 				$attachment['size'] = $part->getBytes();
5583 5583
 				if (($cid = $part->getContentId())) $attachment['cid'] = $cid;
5584
-				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);
5584
+				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);
5585 5585
 				//error_log(__METHOD__.' ('.__LINE__.') '.' Uid:'.$uid.' Part:'.$_partID.'->'.$mime_id.':'.array2string($attachment));
5586 5586
 				//typical winmail.dat attachment is
5587 5587
 				//Array([size] => 1462762[filename] => winmail.dat[mimeType] => application/ms-tnef[uid] => 100[partID] => 2[name] => winmail.dat)
5588
-				if ($resolveTNEF && ($attachment['mimeType']=='application/ms-tnef' || !strcasecmp($attachment['name'],'winmail.dat')))
5588
+				if ($resolveTNEF && ($attachment['mimeType'] == 'application/ms-tnef' || !strcasecmp($attachment['name'], 'winmail.dat')))
5589 5589
 				{
5590 5590
 					$tnefParts[] = $attachment;
5591 5591
 				}
@@ -5600,31 +5600,31 @@  discard block
 block discarded – undo
5600 5600
 			//error_log(__METHOD__.__LINE__.array2string($tnefParts));
5601 5601
 			foreach ($tnefParts as $k => $tnp)
5602 5602
 			{
5603
-				$tnefResolved=false;
5604
-				$tnef_data = $this->getAttachment($tnp['uid'],$tnp['partID'],$k,false);
5603
+				$tnefResolved = false;
5604
+				$tnef_data = $this->getAttachment($tnp['uid'], $tnp['partID'], $k, false);
5605 5605
 				$myTnef = $this->tnef_decoder($tnef_data['attachment']);
5606 5606
 				//error_log(__METHOD__.__LINE__.array2string($myTnef->getParts()));
5607 5607
 				// Note: MimeId starts with 0, almost always, we cannot use that as winmail_id
5608 5608
 				// we need to build Something that meets the needs
5609 5609
 				if ($myTnef)
5610 5610
 				{
5611
-					foreach($myTnef->getParts() as $mime_id => $part)
5611
+					foreach ($myTnef->getParts() as $mime_id => $part)
5612 5612
 					{
5613
-						$tnefResolved=true;
5613
+						$tnefResolved = true;
5614 5614
 						$attachment = $part->getAllDispositionParameters();
5615 5615
 						$attachment['disposition'] = $part->getDisposition();
5616 5616
 						$attachment['mimeType'] = $part->getType();
5617 5617
 						$attachment['uid'] = $tnp['uid'];
5618 5618
 						$attachment['partID'] = $tnp['partID'];
5619 5619
 						$attachment['is_winmail'] = $tnp['uid'].'@'.$tnp['partID'].'@'.$mime_id;
5620
-						if (!isset($attachment['name'])||empty($attachment['name'])) $attachment['name'] = $part->getName();
5620
+						if (!isset($attachment['name']) || empty($attachment['name'])) $attachment['name'] = $part->getName();
5621 5621
 						$attachment['size'] = $part->getBytes();
5622 5622
 						if (($cid = $part->getContentId())) $attachment['cid'] = $cid;
5623
-						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']);
5623
+						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']);
5624 5624
 						$attachments[] = $attachment;
5625 5625
 					}
5626 5626
 				}
5627
-				if ($tnefResolved===false) $attachments[]=$tnp;
5627
+				if ($tnefResolved === false) $attachments[] = $tnp;
5628 5628
 			}
5629 5629
 		}
5630 5630
 		//error_log(__METHOD__.__LINE__.array2string($attachments));
@@ -5639,9 +5639,9 @@  discard block
 block discarded – undo
5639 5639
 	 * @return boolean|Horde_Mime_part Multipart/Mixed part decoded attachments |
5640 5640
 	 *	return false if there's no attachments or failure
5641 5641
 	 */
5642
-	public function tnef_decoder( $data )
5642
+	public function tnef_decoder($data)
5643 5643
 	{
5644
-		foreach(array('Horde_Compress', 'Horde_Icalendar', 'Horde_Mapi') as $class)
5644
+		foreach (array('Horde_Compress', 'Horde_Icalendar', 'Horde_Mapi') as $class)
5645 5645
 		{
5646 5646
 			if (!class_exists($class))
5647 5647
 			{
@@ -5673,7 +5673,7 @@  discard block
 block discarded – undo
5673 5673
 				$tmp_part->setContents($data['stream']);
5674 5674
 				$tmp_part->setDescription($data['name']);
5675 5675
 
5676
-				$type = $data['type'] . '/' . $data['subtype'];
5676
+				$type = $data['type'].'/'.$data['subtype'];
5677 5677
 				if (in_array($type, array('application/octet-stream', 'application/base64')))
5678 5678
 				{
5679 5679
 					$type = Horde_Mime_Magic::filenameToMIME($data['name']);
@@ -5716,24 +5716,24 @@  discard block
 block discarded – undo
5716 5716
 	 *
5717 5717
 	 * @return array returns an array of all resolved embeded attachments from winmail.dat
5718 5718
 	 */
5719
-	function getTnefAttachments ($_uid, $_partID, $_stream=false)
5719
+	function getTnefAttachments($_uid, $_partID, $_stream = false)
5720 5720
 	{
5721
-		$tnef_data = $this->getAttachment($_uid, $_partID,0,false);
5721
+		$tnef_data = $this->getAttachment($_uid, $_partID, 0, false);
5722 5722
 		$tnef_parts = $this->tnef_decoder($tnef_data['attachment']);
5723 5723
 		$attachments = array();
5724 5724
 		if ($tnef_parts)
5725 5725
 		{
5726
-			foreach($tnef_parts->getParts() as $mime_id => $part)
5726
+			foreach ($tnef_parts->getParts() as $mime_id => $part)
5727 5727
 			{
5728 5728
 
5729 5729
 				$attachment = $part->getAllDispositionParameters();
5730 5730
 				$attachment['mimeType'] = $part->getType();
5731
-				if (!isset($attachment['filename'])||empty($attachment['filename'])) $attachment['filename'] = $part->getName();
5731
+				if (!isset($attachment['filename']) || empty($attachment['filename'])) $attachment['filename'] = $part->getName();
5732 5732
 				if (($cid = $part->getContentId())) $attachment['cid'] = $cid;
5733 5733
 				if (empty($attachment['filename']))
5734 5734
 				{
5735
-					$attachment['filename'] = (isset($attachment['cid'])&&!empty($attachment['cid'])?
5736
-						$attachment['cid']:lang("unknown").'_Uid'.$_uid.'_Part'.$mime_id).'.'.MimeMagic::mime2ext($attachment['mimeType']);
5735
+					$attachment['filename'] = (isset($attachment['cid']) && !empty($attachment['cid']) ?
5736
+						$attachment['cid'] : lang("unknown").'_Uid'.$_uid.'_Part'.$mime_id).'.'.MimeMagic::mime2ext($attachment['mimeType']);
5737 5737
 				}
5738 5738
 
5739 5739
 				$attachment['attachment'] = $part->getContents(array('stream'=>$_stream));
@@ -5757,10 +5757,10 @@  discard block
 block discarded – undo
5757 5757
 	 *
5758 5758
 	 * @return array
5759 5759
 	 */
5760
-	function getAttachment($_uid, $_partID, $_winmail_nr=0, $_returnPart=true, $_stream=false, $_folder=null)
5760
+	function getAttachment($_uid, $_partID, $_winmail_nr = 0, $_returnPart = true, $_stream = false, $_folder = null)
5761 5761
 	{
5762 5762
 		//error_log(__METHOD__.__LINE__."Uid:$_uid, PartId:$_partID, WinMailNr:$_winmail_nr, ReturnPart:$_returnPart, Stream:$_stream, Folder:$_folder".function_backtrace());
5763
-		if (!isset($_folder)) $_folder = ($this->sessionData['mailbox']? $this->sessionData['mailbox'] : $this->icServer->getCurrentMailbox());
5763
+		if (!isset($_folder)) $_folder = ($this->sessionData['mailbox'] ? $this->sessionData['mailbox'] : $this->icServer->getCurrentMailbox());
5764 5764
 
5765 5765
 		$uidsToFetch = new Horde_Imap_Client_Ids();
5766 5766
 		if (!(is_object($_uid) || is_array($_uid))) $_uid = (array)$_uid;
@@ -5773,36 +5773,36 @@  discard block
 block discarded – undo
5773 5773
 			'ids' => $uidsToFetch,
5774 5774
 		));
5775 5775
 		if (is_object($headersNew)) {
5776
-			foreach($headersNew as $id=>$_headerObject) {
5776
+			foreach ($headersNew as $id=>$_headerObject) {
5777 5777
 				$body = $_headerObject->getFullMsg();
5778 5778
 				if ($_partID != '')
5779 5779
 				{
5780 5780
 					$mailStructureObject = $_headerObject->getStructure();
5781 5781
 					$mailStructureObject->contentTypeMap();
5782 5782
 					$part = $mailStructureObject->getPart($_partID);
5783
-					$partDisposition = ($part?$part->getDisposition():'failed');
5784
-					if ($partDisposition=='failed')
5783
+					$partDisposition = ($part ? $part->getDisposition() : 'failed');
5784
+					if ($partDisposition == 'failed')
5785 5785
 					{
5786 5786
 						error_log(__METHOD__.'('.__LINE__.'):'.array2string($_uid).','.$_partID.' ID:'.$id.' HObject:'.array2string($_headerObject).' StructureObject:'.array2string($mailStructureObject->contentTypeMap()).'->'.function_backtrace());
5787 5787
 					}
5788 5788
 					// if $partDisposition is empty, we assume attachment, and hope that the function
5789 5789
 					// itself is only triggered to fetch attachments
5790
-					if (empty($partDisposition)) $partDisposition='attachment';
5791
-					if ($part && ($partDisposition=='attachment' || $partDisposition=='inline' || ($part->getPrimaryType() == 'text' && $part->getSubType() == 'calendar')))
5790
+					if (empty($partDisposition)) $partDisposition = 'attachment';
5791
+					if ($part && ($partDisposition == 'attachment' || $partDisposition == 'inline' || ($part->getPrimaryType() == 'text' && $part->getSubType() == 'calendar')))
5792 5792
 					{
5793 5793
 						//$headerObject=$part->getAllDispositionParameters();//not used anywhere around here
5794 5794
 						$structure_mime = $part->getType();
5795 5795
 						$filename = $part->getName();
5796 5796
 						$charset = $part->getContentTypeParameter('charset');
5797 5797
 						//$structure_bytes = $part->getBytes(); $structure_partID=$part->getMimeId(); error_log(__METHOD__.__LINE__." fetchPartContents(".array2string($_uid).", $structure_partID, $_stream, $_preserveSeen,$structure_mime)" );
5798
-						$this->fetchPartContents($_uid, $part, $_stream, $_preserveSeen=true,$structure_mime);
5798
+						$this->fetchPartContents($_uid, $part, $_stream, $_preserveSeen = true, $structure_mime);
5799 5799
 						if ($_returnPart) return $part;
5800 5800
 					}
5801 5801
 				}
5802 5802
 			}
5803 5803
 		}
5804 5804
 		$ext = MimeMagic::mime2ext($structure_mime);
5805
-		if ($ext && stripos($filename,'.')===false && stripos($filename,$ext)===false) $filename = trim($filename).'.'.$ext;
5805
+		if ($ext && stripos($filename, '.') === false && stripos($filename, $ext) === false) $filename = trim($filename).'.'.$ext;
5806 5806
 		if (!$part)
5807 5807
 		{
5808 5808
 			throw new Exception\WrongParameter("Error: Could not fetch attachment for Uid=".array2string($_uid).", PartId=$_partID, WinMailNr=$_winmail_nr, folder=$_folder");
@@ -5820,20 +5820,20 @@  discard block
 block discarded – undo
5820 5820
 		// try guessing the mimetype, if we get the application/octet-stream
5821 5821
 		if (strtolower($attachmentData['type']) == 'application/octet-stream') $attachmentData['type'] = MimeMagic::filename2mime($attachmentData['filename']);
5822 5822
 		# if the attachment holds a winmail number and is a winmail.dat then we have to handle that.
5823
-		if ( $filename == 'winmail.dat' && $_winmail_nr)
5823
+		if ($filename == 'winmail.dat' && $_winmail_nr)
5824 5824
 		{
5825 5825
 			//by now _uid is of type array
5826
-			$tnefResolved=false;
5827
-			$wantedPart=$_uid[0].'@'.$_partID;
5826
+			$tnefResolved = false;
5827
+			$wantedPart = $_uid[0].'@'.$_partID;
5828 5828
 			$myTnef = $this->tnef_decoder($attachmentData['attachment']);
5829 5829
 			//error_log(__METHOD__.__LINE__.array2string($myTnef->getParts()));
5830 5830
 			// Note: MimeId starts with 0, almost always, we cannot use that as winmail_id
5831 5831
 			// we need to build Something that meets the needs
5832 5832
 			if ($myTnef)
5833 5833
 			{
5834
-				foreach($myTnef->getParts() as $mime_id => $part)
5834
+				foreach ($myTnef->getParts() as $mime_id => $part)
5835 5835
 				{
5836
-					$tnefResolved=true;
5836
+					$tnefResolved = true;
5837 5837
 					$attachment = $part->getAllDispositionParameters();
5838 5838
 					$attachment['mimeType'] = $part->getType();
5839 5839
 					//error_log(__METHOD__.__LINE__.'#'.$mime_id.'#'.$filename.'#'.array2string($attachment));
@@ -5841,9 +5841,9 @@  discard block
 block discarded – undo
5841 5841
 					if ($_winmail_nr == $wantedPart.'@'.$mime_id)
5842 5842
 					{
5843 5843
 						//error_log(__METHOD__.__LINE__.'#'.$structure_mime.'#'.$filename.'#'.array2string($attachment));
5844
-						if (!isset($attachment['filename'])||empty($attachment['filename'])) $attachment['filename'] = $part->getName();
5844
+						if (!isset($attachment['filename']) || empty($attachment['filename'])) $attachment['filename'] = $part->getName();
5845 5845
 						if (($cid = $part->getContentId())) $attachment['cid'] = $cid;
5846
-						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']);
5846
+						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']);
5847 5847
 						$wmattach = $attachment;
5848 5848
 						$wmattach['attachment'] = $part->getContents(array('stream'=>$_stream));
5849 5849
 
@@ -5853,7 +5853,7 @@  discard block
 block discarded – undo
5853 5853
 			if ($tnefResolved)
5854 5854
 			{
5855 5855
 				$ext = MimeMagic::mime2ext($wmattach['mimeType']);
5856
-				if ($ext && stripos($wmattach['filename'],'.')===false && stripos($wmattach['filename'],$ext)===false) $wmattach['filename'] = trim($wmattach['filename']).'.'.$ext;
5856
+				if ($ext && stripos($wmattach['filename'], '.') === false && stripos($wmattach['filename'], $ext) === false) $wmattach['filename'] = trim($wmattach['filename']).'.'.$ext;
5857 5857
 				$attachmentData = array(
5858 5858
 					'type'       => $wmattach['mimeType'],
5859 5859
 					'filename'   => $wmattach['filename'],
@@ -5877,21 +5877,21 @@  discard block
 block discarded – undo
5877 5877
 	 *	true:
5878 5878
 	 * @return Horde_Mime_Part
5879 5879
 	 */
5880
-	function getAttachmentByCID($_uid, $_cid, $_part, $_stream=null)
5880
+	function getAttachmentByCID($_uid, $_cid, $_part, $_stream = null)
5881 5881
 	{
5882 5882
 		// some static variables to avoid fetching the same mail multiple times
5883
-		static $uid=null, $part=null, $structure=null;
5883
+		static $uid = null, $part = null, $structure = null;
5884 5884
 		//error_log(__METHOD__.' ('.__LINE__.') '.":$_uid, $_cid, $_part");
5885 5885
 
5886
-		if(empty($_cid)) return false;
5886
+		if (empty($_cid)) return false;
5887 5887
 
5888 5888
 		if ($_uid != $uid || $_part != $part)
5889 5889
 		{
5890
-			$structure = $this->getStructure($uid=$_uid, $part=$_part);
5890
+			$structure = $this->getStructure($uid = $_uid, $part = $_part);
5891 5891
 		}
5892 5892
 		/** @var Horde_Mime_Part */
5893 5893
 		$attachment = null;
5894
-		foreach($structure->contentTypeMap() as $mime_id => $mime_type)
5894
+		foreach ($structure->contentTypeMap() as $mime_id => $mime_type)
5895 5895
 		{
5896 5896
 			$part = $structure->getPart($mime_id);
5897 5897
 
@@ -5943,16 +5943,16 @@  discard block
 block discarded – undo
5943 5943
 	 * @param string  $_mimetype to decide wether to try to fetch part as binary or not
5944 5944
 	 * @return Horde_Mime_Part
5945 5945
 	 */
5946
-	public function fetchPartContents($_uid, Horde_Mime_Part $part=null, $_stream=false, $_preserveSeen=false, $_mimetype=null)
5946
+	public function fetchPartContents($_uid, Horde_Mime_Part $part = null, $_stream = false, $_preserveSeen = false, $_mimetype = null)
5947 5947
 	{
5948
-		if (is_null($part)) return null;//new Horde_Mime_Part;
5948
+		if (is_null($part)) return null; //new Horde_Mime_Part;
5949 5949
 		$encoding = null;
5950 5950
 		$fetchAsBinary = true;
5951
-		if ($_mimetype && strtolower($_mimetype)=='message/rfc822') $fetchAsBinary = false;
5951
+		if ($_mimetype && strtolower($_mimetype) == 'message/rfc822') $fetchAsBinary = false;
5952 5952
 		// we need to set content on structure to decode transfer encoding
5953 5953
 		$part->setContents(
5954 5954
 			$this->getBodyPart($_uid, $part->getMimeId(), null, $_preserveSeen, $_stream, $encoding, $fetchAsBinary),
5955
-			array('encoding' => (!$fetchAsBinary&&!$encoding?'8bit':$encoding)));
5955
+			array('encoding' => (!$fetchAsBinary && !$encoding ? '8bit' : $encoding)));
5956 5956
 
5957 5957
 		return $part;
5958 5958
 	}
@@ -5970,17 +5970,17 @@  discard block
 block discarded – undo
5970 5970
 	 * @return the id of the message appended or exception
5971 5971
 	 * @throws Exception\WrongUserinput
5972 5972
 	 */
5973
-	function appendMessage($_folderName, $_header, $_body, $_flags='\\Recent')
5973
+	function appendMessage($_folderName, $_header, $_body, $_flags = '\\Recent')
5974 5974
 	{
5975 5975
 		if (!is_resource($_header))
5976 5976
 		{
5977
-			if (stripos($_header,'message-id:')===false)
5977
+			if (stripos($_header, 'message-id:') === false)
5978 5978
 			{
5979 5979
 				$_header = 'Message-ID: <'.self::getRandomString().'@localhost>'."\n".$_header;
5980 5980
 			}
5981 5981
 			//error_log(__METHOD__.' ('.__LINE__.') '."$_folderName, $_header, $_body, $_flags");
5982
-			$_header = ltrim(str_replace("\n","\r\n",$_header));
5983
-			$_header .= str_replace("\n","\r\n",$_body);
5982
+			$_header = ltrim(str_replace("\n", "\r\n", $_header));
5983
+			$_header .= str_replace("\n", "\r\n", $_body);
5984 5984
 		}
5985 5985
 		// the recent flag is the default enforced here ; as we assume the _flags is always set,
5986 5986
 		// we default it to hordes default (Recent) (, other wise we should not pass the parameter
@@ -5998,7 +5998,7 @@  discard block
 block discarded – undo
5998 5998
 			// searched for the message-id then returning the uid found
5999 5999
 			//$dataNflags[] = array('data'=>array(array('t'=>'text','v'=>"$header"."$body")), 'flags'=>array($_flags));
6000 6000
 			$dataNflags[] = array('data' => $_header, 'flags'=>array($_flags));
6001
-			$messageid = $this->icServer->append($_folderName,$dataNflags);
6001
+			$messageid = $this->icServer->append($_folderName, $dataNflags);
6002 6002
 		}
6003 6003
 		catch (\Exception $e)
6004 6004
 		{
@@ -6010,7 +6010,7 @@  discard block
 block discarded – undo
6010 6010
 		//$messageid = true; // for debug reasons only
6011 6011
 		if ($messageid === true || empty($messageid)) // try to figure out the message uid
6012 6012
 		{
6013
-			$list = $this->getHeaders($_folderName, $_startMessage=1, 1, 'INTERNALDATE', true, array(),null, false);
6013
+			$list = $this->getHeaders($_folderName, $_startMessage = 1, 1, 'INTERNALDATE', true, array(), null, false);
6014 6014
 			if ($list)
6015 6015
 			{
6016 6016
 				if (self::$debug) error_log(__METHOD__.' ('.__LINE__.') '.' MessageUid:'.$messageid.' but found:'.array2string($list));
@@ -6050,27 +6050,27 @@  discard block
 block discarded – undo
6050 6050
 	 *				'attachments'=>$attachments,
6051 6051
 	 *				'headers'=>$headers,; boolean false on failure
6052 6052
 	 */
6053
-	static function get_mailcontent(&$mailClass,$uid,$partid='',$mailbox='', $preserveHTML = false, $addHeaderSection=true, $includeAttachments=true)
6053
+	static function get_mailcontent(&$mailClass, $uid, $partid = '', $mailbox = '', $preserveHTML = false, $addHeaderSection = true, $includeAttachments = true)
6054 6054
 	{
6055 6055
 			//echo __METHOD__." called for $uid,$partid <br>";
6056
-			$headers = $mailClass->getMessageHeader($uid,$partid,true,false,$mailbox);
6056
+			$headers = $mailClass->getMessageHeader($uid, $partid, true, false, $mailbox);
6057 6057
 			if (empty($headers)) return false;
6058 6058
 			// dont force retrieval of the textpart, let mailClass preferences decide
6059
-			$bodyParts = $mailClass->getMessageBody($uid,($preserveHTML?'always_display':'only_if_no_text'),$partid,null,false,$mailbox);
6059
+			$bodyParts = $mailClass->getMessageBody($uid, ($preserveHTML ? 'always_display' : 'only_if_no_text'), $partid, null, false, $mailbox);
6060 6060
 			// if we do not want HTML but there is no TextRepresentation with the message itself, try converting
6061
-			if ( !$preserveHTML && $bodyParts[0]['mimeType']=='text/html')
6061
+			if (!$preserveHTML && $bodyParts[0]['mimeType'] == 'text/html')
6062 6062
 			{
6063
-				foreach($bodyParts as $i => $part)
6063
+				foreach ($bodyParts as $i => $part)
6064 6064
 				{
6065
-					if ($bodyParts[$i]['mimeType']=='text/html')
6065
+					if ($bodyParts[$i]['mimeType'] == 'text/html')
6066 6066
 					{
6067
-						$bodyParts[$i]['body'] = Mail\Html::convertHTMLToText($bodyParts[$i]['body'],$bodyParts[$i]['charSet'],true,$stripalltags=true);
6068
-						$bodyParts[$i]['mimeType']='text/plain';
6067
+						$bodyParts[$i]['body'] = Mail\Html::convertHTMLToText($bodyParts[$i]['body'], $bodyParts[$i]['charSet'], true, $stripalltags = true);
6068
+						$bodyParts[$i]['mimeType'] = 'text/plain';
6069 6069
 					}
6070 6070
 				}
6071 6071
 			}
6072 6072
 			//error_log(array2string($bodyParts));
6073
-			$attachments = $includeAttachments?$mailClass->getMessageAttachments($uid,$partid,null,true,false,true,$mailbox):array();
6073
+			$attachments = $includeAttachments ? $mailClass->getMessageAttachments($uid, $partid, null, true, false, true, $mailbox) : array();
6074 6074
 
6075 6075
 			if ($mailClass->isSentFolder($mailbox)) $mailaddress = $headers['TO'];
6076 6076
 			elseif (isset($headers['FROM'])) $mailaddress = $headers['FROM'];
@@ -6081,7 +6081,7 @@  discard block
 block discarded – undo
6081 6081
 
6082 6082
 			$message = self::getdisplayableBody($mailClass, $bodyParts, $preserveHTML);
6083 6083
 			if ($preserveHTML && $mailClass->activeMimeType == 'text/plain') $message = '<pre>'.$message.'</pre>';
6084
-			$headdata = ($addHeaderSection ? self::createHeaderInfoSection($headers, '',$preserveHTML) : '');
6084
+			$headdata = ($addHeaderSection ? self::createHeaderInfoSection($headers, '', $preserveHTML) : '');
6085 6085
 			$message = $headdata.$message;
6086 6086
 			//echo __METHOD__.'<br>';
6087 6087
 			//_debug_array($attachments);
@@ -6097,25 +6097,25 @@  discard block
 block discarded – undo
6097 6097
 						//_debug_array($mailClass->getMessageHeader($uid, $attachment['partID']));
6098 6098
 						//_debug_array($mailClass->getMessageBody($uid,'', $attachment['partID']));
6099 6099
 						//_debug_array($mailClass->getMessageAttachments($uid, $attachment['partID']));
6100
-						$mailcontent = self::get_mailcontent($mailClass,$uid,$attachment['partID'],$mailbox);
6101
-						$headdata ='';
6100
+						$mailcontent = self::get_mailcontent($mailClass, $uid, $attachment['partID'], $mailbox);
6101
+						$headdata = '';
6102 6102
 						if ($mailcontent['headers'])
6103 6103
 						{
6104
-							$headdata = self::createHeaderInfoSection($mailcontent['headers'],'',$preserveHTML);
6104
+							$headdata = self::createHeaderInfoSection($mailcontent['headers'], '', $preserveHTML);
6105 6105
 						}
6106 6106
 						if ($mailcontent['message'])
6107 6107
 						{
6108
-							$tempname =tempnam($GLOBALS['egw_info']['server']['temp_dir'],$GLOBALS['egw_info']['flags']['currentapp']."_");
6108
+							$tempname = tempnam($GLOBALS['egw_info']['server']['temp_dir'], $GLOBALS['egw_info']['flags']['currentapp']."_");
6109 6109
 							$attachedMessages[] = array(
6110 6110
 								'type' => 'TEXT/PLAIN',
6111 6111
 								'name' => $mailcontent['subject'].'.txt',
6112 6112
 								'tmp_name' => $tempname,
6113 6113
 							);
6114
-							$tmpfile = fopen($tempname,'w');
6115
-							fwrite($tmpfile,$headdata.$mailcontent['message']);
6114
+							$tmpfile = fopen($tempname, 'w');
6115
+							fwrite($tmpfile, $headdata.$mailcontent['message']);
6116 6116
 							fclose($tmpfile);
6117 6117
 						}
6118
-						foreach($mailcontent['attachments'] as &$tmpval)
6118
+						foreach ($mailcontent['attachments'] as &$tmpval)
6119 6119
 						{
6120 6120
 							$attachedMessages[] = $tmpval;
6121 6121
 						}
@@ -6123,36 +6123,36 @@  discard block
 block discarded – undo
6123 6123
 					}
6124 6124
 					else
6125 6125
 					{
6126
-						$attachments[$num] = array_merge($attachments[$num],$mailClass->getAttachment($uid, $attachment['partID'],0,false,false));
6126
+						$attachments[$num] = array_merge($attachments[$num], $mailClass->getAttachment($uid, $attachment['partID'], 0, false, false));
6127 6127
 
6128
-						if (empty($attachments[$num]['attachment'])&&$attachments[$num]['cid'])
6128
+						if (empty($attachments[$num]['attachment']) && $attachments[$num]['cid'])
6129 6129
 						{
6130
-							$c = $mailClass->getAttachmentByCID($uid, $attachment['cid'], $attachment['partID'],true);
6130
+							$c = $mailClass->getAttachmentByCID($uid, $attachment['cid'], $attachment['partID'], true);
6131 6131
 							$attachments[$num]['attachment'] = $c->getContents();
6132 6132
 						}
6133 6133
 						// no attempt to convert, if we dont know about the charset
6134
-						if (isset($attachments[$num]['charset'])&&!empty($attachments[$num]['charset'])) {
6134
+						if (isset($attachments[$num]['charset']) && !empty($attachments[$num]['charset'])) {
6135 6135
 							// we do not try guessing the charset, if it is not set
6136 6136
 							//if ($attachments[$num]['charset']===false) $attachments[$num]['charset'] = Translation::detect_encoding($attachments[$num]['attachment']);
6137
-							Translation::convert($attachments[$num]['attachment'],$attachments[$num]['charset']);
6137
+							Translation::convert($attachments[$num]['attachment'], $attachments[$num]['charset']);
6138 6138
 						}
6139
-						if(in_array($attachments[$num]['name'], $file_list))
6139
+						if (in_array($attachments[$num]['name'], $file_list))
6140 6140
 						{
6141 6141
 							$dupe_count[$attachments[$num]['name']]++;
6142
-							$attachments[$num]['name'] = pathinfo($attachments[$num]['name'], PATHINFO_FILENAME) .
6143
-								' ('.($dupe_count[$attachments[$num]['name']] + 1).')' . '.' .
6142
+							$attachments[$num]['name'] = pathinfo($attachments[$num]['name'], PATHINFO_FILENAME).
6143
+								' ('.($dupe_count[$attachments[$num]['name']] + 1).')'.'.'.
6144 6144
 								pathinfo($attachments[$num]['name'], PATHINFO_EXTENSION);
6145 6145
 						}
6146 6146
 						$attachments[$num]['type'] = $attachments[$num]['mimeType'];
6147
-						$attachments[$num]['tmp_name'] = tempnam($GLOBALS['egw_info']['server']['temp_dir'],$GLOBALS['egw_info']['flags']['currentapp']."_");
6148
-						$tmpfile = fopen($attachments[$num]['tmp_name'],'w');
6149
-						fwrite($tmpfile,$attachments[$num]['attachment']);
6147
+						$attachments[$num]['tmp_name'] = tempnam($GLOBALS['egw_info']['server']['temp_dir'], $GLOBALS['egw_info']['flags']['currentapp']."_");
6148
+						$tmpfile = fopen($attachments[$num]['tmp_name'], 'w');
6149
+						fwrite($tmpfile, $attachments[$num]['attachment']);
6150 6150
 						fclose($tmpfile);
6151 6151
 						$file_list[] = $attachments[$num]['name'];
6152 6152
 						unset($attachments[$num]['attachment']);
6153 6153
 					}
6154 6154
 				}
6155
-				if (is_array($attachedMessages)) $attachments = array_merge($attachments,$attachedMessages);
6155
+				if (is_array($attachedMessages)) $attachments = array_merge($attachments, $attachedMessages);
6156 6156
 			}
6157 6157
 			return array(
6158 6158
 					'mailaddress'=>$mailaddress,
@@ -6174,10 +6174,10 @@  discard block
 block discarded – undo
6174 6174
 	{
6175 6175
 		$c = 0;
6176 6176
 		// use the standardIdentity
6177
-		foreach($_identities as $key => $acc) {
6178
-			if ($c==0) $identity = $acc;
6177
+		foreach ($_identities as $key => $acc) {
6178
+			if ($c == 0) $identity = $acc;
6179 6179
 			//error_log(__METHOD__.__LINE__." $key == $_profile_id ");
6180
-			if ($key==$_profile_id) $identity = $acc;
6180
+			if ($key == $_profile_id) $identity = $acc;
6181 6181
 			$c++;
6182 6182
 		}
6183 6183
 		return $identity;
@@ -6189,29 +6189,29 @@  discard block
 block discarded – undo
6189 6189
 	 * @param bool createHTML do it with HTML breaks
6190 6190
 	 * @return string a preformatted string with the information of the header worked into it
6191 6191
 	 */
6192
-	static function createHeaderInfoSection($header,$headline='', $createHTML = false)
6192
+	static function createHeaderInfoSection($header, $headline = '', $createHTML = false)
6193 6193
 	{
6194 6194
 		$headdata = null;
6195 6195
 		//error_log(__METHOD__.' ('.__LINE__.') '.array2string($header).function_backtrace());
6196
-		if ($header['SUBJECT']) $headdata = lang('subject').': '.$header['SUBJECT'].($createHTML?"<br />":"\n");
6197
-		if ($header['FROM']) $headdata .= lang('from').': '.self::convertAddressArrayToString($header['FROM'], $createHTML).($createHTML?"<br />":"\n");
6198
-		if ($header['SENDER']) $headdata .= lang('sender').': '.self::convertAddressArrayToString($header['SENDER'], $createHTML).($createHTML?"<br />":"\n");
6199
-		if ($header['TO']) $headdata .= lang('to').': '.self::convertAddressArrayToString($header['TO'], $createHTML).($createHTML?"<br />":"\n");
6200
-		if ($header['CC']) $headdata .= lang('cc').': '.self::convertAddressArrayToString($header['CC'], $createHTML).($createHTML?"<br />":"\n");
6201
-		if ($header['BCC']) $headdata .= lang('bcc').': '.self::convertAddressArrayToString($header['BCC'], $createHTML).($createHTML?"<br />":"\n");
6202
-		if ($header['DATE']) $headdata .= lang('date').': '.$header['DATE'].($createHTML?"<br />":"\n");
6203
-		if ($header['PRIORITY'] && $header['PRIORITY'] != 'normal') $headdata .= lang('priority').': '.$header['PRIORITY'].($createHTML?"<br />":"\n");
6204
-		if ($header['IMPORTANCE'] && $header['IMPORTANCE'] !='normal') $headdata .= lang('importance').': '.$header['IMPORTANCE'].($createHTML?"<br />":"\n");
6196
+		if ($header['SUBJECT']) $headdata = lang('subject').': '.$header['SUBJECT'].($createHTML ? "<br />" : "\n");
6197
+		if ($header['FROM']) $headdata .= lang('from').': '.self::convertAddressArrayToString($header['FROM'], $createHTML).($createHTML ? "<br />" : "\n");
6198
+		if ($header['SENDER']) $headdata .= lang('sender').': '.self::convertAddressArrayToString($header['SENDER'], $createHTML).($createHTML ? "<br />" : "\n");
6199
+		if ($header['TO']) $headdata .= lang('to').': '.self::convertAddressArrayToString($header['TO'], $createHTML).($createHTML ? "<br />" : "\n");
6200
+		if ($header['CC']) $headdata .= lang('cc').': '.self::convertAddressArrayToString($header['CC'], $createHTML).($createHTML ? "<br />" : "\n");
6201
+		if ($header['BCC']) $headdata .= lang('bcc').': '.self::convertAddressArrayToString($header['BCC'], $createHTML).($createHTML ? "<br />" : "\n");
6202
+		if ($header['DATE']) $headdata .= lang('date').': '.$header['DATE'].($createHTML ? "<br />" : "\n");
6203
+		if ($header['PRIORITY'] && $header['PRIORITY'] != 'normal') $headdata .= lang('priority').': '.$header['PRIORITY'].($createHTML ? "<br />" : "\n");
6204
+		if ($header['IMPORTANCE'] && $header['IMPORTANCE'] != 'normal') $headdata .= lang('importance').': '.$header['IMPORTANCE'].($createHTML ? "<br />" : "\n");
6205 6205
 		//if ($mailcontent['headers']['ORGANIZATION']) $headdata .= lang('organization').': '.$mailcontent['headers']['ORGANIZATION']."\
6206 6206
 		if (!empty($headdata))
6207 6207
 		{
6208
-			if (!empty($headline) && $headline != 'SUPPRESS') $headdata = "---------------------------- $headline ----------------------------".($createHTML?"<br />":"\n").$headdata;
6209
-			if (empty($headline)) $headdata = ($headline != 'SUPPRESS'?"--------------------------------------------------------".($createHTML?"<br />":"\n"):'').$headdata;
6210
-			$headdata .= ($headline != 'SUPPRESS'?"--------------------------------------------------------".($createHTML?"<br />":"\n"):'');
6208
+			if (!empty($headline) && $headline != 'SUPPRESS') $headdata = "---------------------------- $headline ----------------------------".($createHTML ? "<br />" : "\n").$headdata;
6209
+			if (empty($headline)) $headdata = ($headline != 'SUPPRESS' ? "--------------------------------------------------------".($createHTML ? "<br />" : "\n") : '').$headdata;
6210
+			$headdata .= ($headline != 'SUPPRESS' ? "--------------------------------------------------------".($createHTML ? "<br />" : "\n") : '');
6211 6211
 		}
6212 6212
 		else
6213 6213
 		{
6214
-			$headdata = ($headline != 'SUPPRESS'?"--------------------------------------------------------".($createHTML?"<br />":"\n"):'');
6214
+			$headdata = ($headline != 'SUPPRESS' ? "--------------------------------------------------------".($createHTML ? "<br />" : "\n") : '');
6215 6215
 		}
6216 6216
 		return $headdata;
6217 6217
 	}
@@ -6224,8 +6224,8 @@  discard block
 block discarded – undo
6224 6224
 	 */
6225 6225
 	static function adaptSubjectForImport($subject)
6226 6226
 	{
6227
-		$subject = str_replace('$$','__',($subject?$subject:lang('(no subject)')));
6228
-		$subject = str_ireplace(array('[FWD]','[',']','{','}','<','>'),array('Fwd:',' ',' ',' ',' ',' ',' '),trim($subject));
6227
+		$subject = str_replace('$$', '__', ($subject ? $subject : lang('(no subject)')));
6228
+		$subject = str_ireplace(array('[FWD]', '[', ']', '{', '}', '<', '>'), array('Fwd:', ' ', ' ', ' ', ' ', ' ', ' '), trim($subject));
6229 6229
 		return $subject;
6230 6230
 	}
6231 6231
 
@@ -6237,15 +6237,15 @@  discard block
 block discarded – undo
6237 6237
 	static function convertAddressArrayToString($rfcAddressArray)
6238 6238
 	{
6239 6239
 		//error_log(__METHOD__.' ('.__LINE__.') '.array2string($rfcAddressArray));
6240
-		$returnAddr ='';
6240
+		$returnAddr = '';
6241 6241
 		if (is_array($rfcAddressArray))
6242 6242
 		{
6243
-			foreach((array)$rfcAddressArray as $addressData) {
6243
+			foreach ((array)$rfcAddressArray as $addressData) {
6244 6244
 				//error_log(__METHOD__.' ('.__LINE__.') '.array2string($addressData));
6245
-				if($addressData['MAILBOX_NAME'] == 'NIL') {
6245
+				if ($addressData['MAILBOX_NAME'] == 'NIL') {
6246 6246
 					continue;
6247 6247
 				}
6248
-				if(strtolower($addressData['MAILBOX_NAME']) == 'undisclosed-recipients') {
6248
+				if (strtolower($addressData['MAILBOX_NAME']) == 'undisclosed-recipients') {
6249 6249
 					continue;
6250 6250
 				}
6251 6251
 				if ($addressData['RFC822_EMAIL'])
@@ -6254,7 +6254,7 @@  discard block
 block discarded – undo
6254 6254
 				}
6255 6255
 				else
6256 6256
 				{
6257
-					$emailaddress = ($addressData['PERSONAL_NAME']?$addressData['PERSONAL_NAME'].' <'.$addressData['EMAIL'].'>':$addressData['EMAIL']);
6257
+					$emailaddress = ($addressData['PERSONAL_NAME'] ? $addressData['PERSONAL_NAME'].' <'.$addressData['EMAIL'].'>' : $addressData['EMAIL']);
6258 6258
 					$addressObjectA = self::parseAddressList($emailaddress);
6259 6259
 				}
6260 6260
 				$addressObject = $addressObjectA[0];
@@ -6263,10 +6263,10 @@  discard block
 block discarded – undo
6263 6263
 				//$mb =(string)$addressObject->mailbox;
6264 6264
 				//$h = (string)$addressObject->host;
6265 6265
 				//$p = (string)$addressObject->personal;
6266
-				$returnAddr .= (strlen($returnAddr)>0?',':'');
6266
+				$returnAddr .= (strlen($returnAddr) > 0 ? ',' : '');
6267 6267
 				//error_log(__METHOD__.' ('.__LINE__.') '.$p.' <'.$mb.'@'.$h.'>');
6268 6268
 				$buff = imap_rfc822_write_address($addressObject->mailbox, Horde_Idna::decode($addressObject->host), $addressObject->personal);
6269
-				$buff = str_replace(array('<','>','"\'','\'"'),array('[',']','"','"'),$buff);
6269
+				$buff = str_replace(array('<', '>', '"\'', '\'"'), array('[', ']', '"', '"'), $buff);
6270 6270
 				//error_log(__METHOD__.' ('.__LINE__.') '.' Address: '.$returnAddr);
6271 6271
 				$returnAddr .= $buff;
6272 6272
 			}
@@ -6274,8 +6274,8 @@  discard block
 block discarded – undo
6274 6274
 		else
6275 6275
 		{
6276 6276
 			// do not mess with strings, return them untouched /* ToDo: validate string as Address */
6277
-			$rfcAddressArray = self::decode_header($rfcAddressArray,true);
6278
-			$rfcAddressArray = str_replace(array('<','>','"\'','\'"'),array('[',']','"','"'),$rfcAddressArray);
6277
+			$rfcAddressArray = self::decode_header($rfcAddressArray, true);
6278
+			$rfcAddressArray = str_replace(array('<', '>', '"\'', '\'"'), array('[', ']', '"', '"'), $rfcAddressArray);
6279 6279
 			if (is_string($rfcAddressArray)) return $rfcAddressArray;
6280 6280
 		}
6281 6281
 		return $returnAddr;
@@ -6289,12 +6289,12 @@  discard block
 block discarded – undo
6289 6289
 	 * @param string &$err error-message on error
6290 6290
 	 * @return string/boolean merged content or false on error
6291 6291
 	 */
6292
-	static function merge($content,$ids,$mimetype='')
6292
+	static function merge($content, $ids, $mimetype = '')
6293 6293
 	{
6294 6294
 		$mergeobj = new Contacts\Merge();
6295 6295
 
6296
-		if (empty($mimetype)) $mimetype = (strlen(strip_tags($content)) == strlen($content) ?'text/plain':'text/html');
6297
-		$rv = $mergeobj->merge_string($content,$ids,$err='',$mimetype, array(), self::$displayCharset);
6296
+		if (empty($mimetype)) $mimetype = (strlen(strip_tags($content)) == strlen($content) ? 'text/plain' : 'text/html');
6297
+		$rv = $mergeobj->merge_string($content, $ids, $err = '', $mimetype, array(), self::$displayCharset);
6298 6298
 		if (empty($rv) && !empty($content) && !empty($err)) $rv = $content;
6299 6299
 		if (!empty($err) && !empty($content) && !empty($ids)) error_log(__METHOD__.' ('.__LINE__.') '.' Merge failed for Ids:'.array2string($ids).' ContentType:'.$mimetype.' Content:'.$content.' Reason:'.array2string($err));
6300 6300
 		return $rv;
@@ -6336,12 +6336,12 @@  discard block
 block discarded – undo
6336 6336
 		else
6337 6337
 			settype($bytes, 'integer');
6338 6338
 
6339
-		return $bytes . ' ' . $type ;
6339
+		return $bytes.' '.$type;
6340 6340
 	}
6341 6341
 
6342 6342
 	static function detect_qp(&$sting) {
6343 6343
 		$needle = '/(=[0-9][A-F])|(=[A-F][0-9])|(=[A-F][A-F])|(=[0-9][0-9])/';
6344
-		return preg_match("$needle",$string);
6344
+		return preg_match("$needle", $string);
6345 6345
 	}
6346 6346
 
6347 6347
 	/**
@@ -6354,11 +6354,11 @@  discard block
 block discarded – undo
6354 6354
 	 * @param string $_methodNline - Information where the log was taken
6355 6355
 	 * @return void
6356 6356
 	 */
6357
-	static function logRunTimes($_starttime,$_endtime=null,$_message='',$_methodNline='')
6357
+	static function logRunTimes($_starttime, $_endtime = null, $_message = '', $_methodNline = '')
6358 6358
 	{
6359 6359
 		if (is_null($_endtime)) $_endtime = microtime(true);
6360 6360
 		$usagetime = microtime(true) - $_starttime;
6361
-		if (self::$debugTimes) error_log($_methodNline.' took:'.number_format($usagetime,5).'(s) '.($_message?'Details:'.$_message:''));
6361
+		if (self::$debugTimes) error_log($_methodNline.' took:'.number_format($usagetime, 5).'(s) '.($_message ? 'Details:'.$_message : ''));
6362 6362
 	}
6363 6363
 
6364 6364
 	/**
@@ -6371,9 +6371,9 @@  discard block
 block discarded – undo
6371 6371
 	 *
6372 6372
 	 * @throws Exception\WrongUserinput
6373 6373
 	 */
6374
-	static function checkFileBasics(&$_formData, $IDtoAddToFileName='', $reqMimeType='message/rfc822')
6374
+	static function checkFileBasics(&$_formData, $IDtoAddToFileName = '', $reqMimeType = 'message/rfc822')
6375 6375
 	{
6376
-		if (parse_url($_formData['file'],PHP_URL_SCHEME) == 'egw-data') return $_formData['file'];
6376
+		if (parse_url($_formData['file'], PHP_URL_SCHEME) == 'egw-data') return $_formData['file'];
6377 6377
 
6378 6378
 		//error_log(__METHOD__.__FILE__.array2string($_formData).' Id:'.$IDtoAddToFileName.' ReqMimeType:'.$reqMimeType);
6379 6379
 		$importfailed = $tmpFileName = false;
@@ -6383,7 +6383,7 @@  discard block
 block discarded – undo
6383 6383
 			$importfailed = true;
6384 6384
 			$alert_msg .= lang("Empty file %1 ignored.", $_formData['name']);
6385 6385
 		}
6386
-		elseif (parse_url($_formData['file'],PHP_URL_SCHEME) == 'vfs' || is_uploaded_file($_formData['file']) ||
6386
+		elseif (parse_url($_formData['file'], PHP_URL_SCHEME) == 'vfs' || is_uploaded_file($_formData['file']) ||
6387 6387
 			realpath(dirname($_formData['file'])) == realpath($GLOBALS['egw_info']['server']['temp_dir']))
6388 6388
 		{
6389 6389
 			// ensure existance of eGW temp dir
@@ -6391,7 +6391,7 @@  discard block
 block discarded – undo
6391 6391
 			// and different from any other temp file location set in php.ini
6392 6392
 			if (!file_exists($GLOBALS['egw_info']['server']['temp_dir']))
6393 6393
 			{
6394
-				@mkdir($GLOBALS['egw_info']['server']['temp_dir'],0700);
6394
+				@mkdir($GLOBALS['egw_info']['server']['temp_dir'], 0700);
6395 6395
 			}
6396 6396
 
6397 6397
 			// if we were NOT able to create this temp directory, then make an ERROR report
@@ -6418,14 +6418,14 @@  discard block
 block discarded – undo
6418 6418
 			// maybe its application/octet-stream -> this may mean that we could not determine the type
6419 6419
 			// so we check for the suffix too
6420 6420
 			// trust vfs mime-types, trust the mimetype if it contains a method
6421
-			if ((substr($_formData['file'],0,6) !== 'vfs://' || $_formData['type'] == 'application/octet-stream') && stripos($_formData['type'],'method=')===false)
6421
+			if ((substr($_formData['file'], 0, 6) !== 'vfs://' || $_formData['type'] == 'application/octet-stream') && stripos($_formData['type'], 'method=') === false)
6422 6422
 			{
6423
-				$buff = explode('.',$_formData['name']);
6423
+				$buff = explode('.', $_formData['name']);
6424 6424
 				$suffix = '';
6425 6425
 				if (is_array($buff)) $suffix = array_pop($buff); // take the last extension to check with ext2mime
6426 6426
 				if (!empty($suffix)) $sfxMimeType = MimeMagic::ext2mime($suffix);
6427 6427
 				if (!empty($suffix) && !empty($sfxMimeType) &&
6428
-					(strlen(trim($_formData['type']))==0 || (strtolower(trim($_formData['type'])) != $sfxMimeType)))
6428
+					(strlen(trim($_formData['type'])) == 0 || (strtolower(trim($_formData['type'])) != $sfxMimeType)))
6429 6429
 				{
6430 6430
 					error_log(__METHOD__.' ('.__LINE__.') '.' Data:'.array2string($_formData));
6431 6431
 					error_log(__METHOD__.' ('.__LINE__.') '.' Form reported Mimetype:'.$_formData['type'].' but seems to be:'.$sfxMimeType);
@@ -6440,13 +6440,13 @@  discard block
 block discarded – undo
6440 6440
 			if ($reqMimeType)
6441 6441
 			{
6442 6442
 				// so if PHP did not pass any file_type info, then substitute the rfc default value
6443
-				if (substr(strtolower(trim($_formData['type'])),0,strlen($mime_type_default)) != $mime_type_default)
6443
+				if (substr(strtolower(trim($_formData['type'])), 0, strlen($mime_type_default)) != $mime_type_default)
6444 6444
 				{
6445 6445
 					if (!(strtolower(trim($_formData['type'])) == "application/octet-stream" && $sfxMimeType == $reqMimeType))
6446 6446
 					{
6447 6447
 						//error_log("Message rejected, no message/rfc. Is:".$_formData['type']);
6448 6448
 						$importfailed = true;
6449
-						$alert_msg .= lang("File rejected, no %2. Is:%1",$_formData['type'],$reqMimeType);
6449
+						$alert_msg .= lang("File rejected, no %2. Is:%1", $_formData['type'], $reqMimeType);
6450 6450
 					}
6451 6451
 					if ((strtolower(trim($_formData['type'])) != $reqMimeType && $sfxMimeType == $reqMimeType))
6452 6452
 					{
@@ -6455,17 +6455,17 @@  discard block
 block discarded – undo
6455 6455
 				}
6456 6456
 			}
6457 6457
 			// as FreeBSD seems to have problems with the generated temp names we append some more random stuff
6458
-			$randomString = chr(rand(65,90)).chr(rand(48,57)).chr(rand(65,90)).chr(rand(48,57)).chr(rand(65,90));
6458
+			$randomString = chr(rand(65, 90)).chr(rand(48, 57)).chr(rand(65, 90)).chr(rand(48, 57)).chr(rand(65, 90));
6459 6459
 			$tmpFileName = $GLOBALS['egw_info']['user']['account_id'].
6460 6460
 				trim($IDtoAddToFileName).basename($_formData['file']).'_'.$randomString;
6461 6461
 
6462
-			if (parse_url($_formData['file'],PHP_URL_SCHEME) == 'vfs')
6462
+			if (parse_url($_formData['file'], PHP_URL_SCHEME) == 'vfs')
6463 6463
 			{
6464
-				$tmpFileName = $_formData['file'];	// no need to store it somewhere
6464
+				$tmpFileName = $_formData['file']; // no need to store it somewhere
6465 6465
 			}
6466 6466
 			elseif (is_uploaded_file($_formData['file']))
6467 6467
 			{
6468
-				move_uploaded_file($_formData['file'], $GLOBALS['egw_info']['server']['temp_dir'].'/'.$tmpFileName);	// requirement for safe_mode!
6468
+				move_uploaded_file($_formData['file'], $GLOBALS['egw_info']['server']['temp_dir'].'/'.$tmpFileName); // requirement for safe_mode!
6469 6469
 			}
6470 6470
 			else
6471 6471
 			{
@@ -6474,7 +6474,7 @@  discard block
 block discarded – undo
6474 6474
 		} else {
6475 6475
 			//error_log("Import of message ".$_formData['file']." failes to meet basic restrictions");
6476 6476
 			$importfailed = true;
6477
-			$alert_msg .= lang("Processing of file %1 failed. Failed to meet basic restrictions.",$_formData['name']);
6477
+			$alert_msg .= lang("Processing of file %1 failed. Failed to meet basic restrictions.", $_formData['name']);
6478 6478
 		}
6479 6479
 		if ($importfailed == true)
6480 6480
 		{
@@ -6482,7 +6482,7 @@  discard block
 block discarded – undo
6482 6482
 		}
6483 6483
 		else
6484 6484
 		{
6485
-			if (parse_url($tmpFileName,PHP_URL_SCHEME) == 'vfs')
6485
+			if (parse_url($tmpFileName, PHP_URL_SCHEME) == 'vfs')
6486 6486
 			{
6487 6487
 				Vfs::load_wrapper('vfs');
6488 6488
 			}
@@ -6507,7 +6507,7 @@  discard block
 block discarded – undo
6507 6507
 		$images = null;
6508 6508
 		if (preg_match_all("/(src|background)=\"(.*)\"/Ui", $_html2parse, $images) && isset($images[2]))
6509 6509
 		{
6510
-			foreach($images[2] as $i => $url)
6510
+			foreach ($images[2] as $i => $url)
6511 6511
 			{
6512 6512
 				//$isData = false;
6513 6513
 				$basedir = $data = '';
@@ -6519,20 +6519,20 @@  discard block
 block discarded – undo
6519 6519
 					$filename = basename($url);
6520 6520
 					if (($directory = dirname($url)) == '.') $directory = '';
6521 6521
 					$ext = pathinfo($filename, PATHINFO_EXTENSION);
6522
-					$mimeType  = MimeMagic::ext2mime($ext);
6523
-					if ( strlen($directory) > 1 && substr($directory,-1) != '/') { $directory .= '/'; }
6522
+					$mimeType = MimeMagic::ext2mime($ext);
6523
+					if (strlen($directory) > 1 && substr($directory, -1) != '/') { $directory .= '/'; }
6524 6524
 					$myUrl = $directory.$filename;
6525
-					if ($myUrl[0]=='/') // local path -> we only allow path's that are available via http/https (or vfs)
6525
+					if ($myUrl[0] == '/') // local path -> we only allow path's that are available via http/https (or vfs)
6526 6526
 					{
6527
-						$basedir = ($_SERVER['HTTPS']?'https://':'http://'.$_SERVER['HTTP_HOST']);
6527
+						$basedir = ($_SERVER['HTTPS'] ? 'https://' : 'http://'.$_SERVER['HTTP_HOST']);
6528 6528
 					}
6529 6529
 					// use vfs instead of url containing webdav.php
6530 6530
 					// ToDo: we should test if the webdav url is of our own scope, as we cannot handle foreign
6531 6531
 					// webdav.php urls as vfs
6532
-					if (strpos($myUrl,'/webdav.php') !== false) // we have a webdav link, so we build a vfs/sqlfs link of it.
6532
+					if (strpos($myUrl, '/webdav.php') !== false) // we have a webdav link, so we build a vfs/sqlfs link of it.
6533 6533
 					{
6534 6534
 						Vfs::load_wrapper('vfs');
6535
-						list(,$myUrl) = explode('/webdav.php',$myUrl,2);
6535
+						list(,$myUrl) = explode('/webdav.php', $myUrl, 2);
6536 6536
 						$basedir = 'vfs://default';
6537 6537
 						$needTempFile = false;
6538 6538
 					}
@@ -6545,11 +6545,11 @@  discard block
 block discarded – undo
6545 6545
 						// Strips the url and store it into a temp for further procss
6546 6546
 						$tmp_url = html_entity_decode($myUrl);
6547 6547
 
6548
-						parse_str(parse_url($tmp_url, PHP_URL_QUERY),$URI_params);
6548
+						parse_str(parse_url($tmp_url, PHP_URL_QUERY), $URI_params);
6549 6549
 						if ($URI_params['mailbox'] && $URI_params['uid'] && $URI_params['cid'])
6550 6550
 						{
6551 6551
 							$mail_bo->reopen(base64_decode($URI_params['mailbox']));
6552
-							$attachment = $mail_bo->getAttachmentByCID($URI_params['uid'], base64_decode($URI_params['cid']),base64_decode($URI_params['partID']),true);
6552
+							$attachment = $mail_bo->getAttachmentByCID($URI_params['uid'], base64_decode($URI_params['cid']), base64_decode($URI_params['partID']), true);
6553 6553
 							$mail_bo->closeConnection();
6554 6554
 							if ($attachment)
6555 6555
 							{
@@ -6560,32 +6560,32 @@  discard block
 block discarded – undo
6560 6560
 						}
6561 6561
 					}
6562 6562
 
6563
-					if ( strlen($basedir) > 1 && substr($basedir,-1) != '/' && $myUrl[0]!='/') { $basedir .= '/'; }
6564
-					if ($needTempFile && !$attachment && substr($myUrl,0,4) !== "http") $data = file_get_contents($basedir.urldecode($myUrl));
6563
+					if (strlen($basedir) > 1 && substr($basedir, -1) != '/' && $myUrl[0] != '/') { $basedir .= '/'; }
6564
+					if ($needTempFile && !$attachment && substr($myUrl, 0, 4) !== "http") $data = file_get_contents($basedir.urldecode($myUrl));
6565 6565
 				}
6566
-				if (substr($url,0,strlen('data:'))=='data:')
6566
+				if (substr($url, 0, strlen('data:')) == 'data:')
6567 6567
 				{
6568 6568
 					//error_log(__METHOD__.' ('.__LINE__.') '.' -> '.$i.': '.array2string($images[$i]));
6569 6569
 					// we only support base64 encoded data
6570
-					$tmp = substr($url,strlen('data:'));
6571
-					list($mimeType,$data_base64) = explode(';base64,',$tmp);
6570
+					$tmp = substr($url, strlen('data:'));
6571
+					list($mimeType, $data_base64) = explode(';base64,', $tmp);
6572 6572
 					$data = base64_decode($data_base64);
6573 6573
 					// FF currently does NOT add any mime-type
6574 6574
 					if (strtolower(substr($mimeType, 0, 6)) != 'image/')
6575 6575
 					{
6576 6576
 						$mimeType = MimeMagic::analyze_data($data);
6577 6577
 					}
6578
-					list($what,$exactly) = explode('/',$mimeType);
6578
+					list($what, $exactly) = explode('/', $mimeType);
6579 6579
 					$needTempFile = true;
6580
-					$filename = ($what?$what:'data').$imageC++.'.'.$exactly;
6580
+					$filename = ($what ? $what : 'data').$imageC++.'.'.$exactly;
6581 6581
 				}
6582 6582
 				if ($data || $needTempFile === false)
6583 6583
 				{
6584 6584
 					if ($needTempFile)
6585 6585
 					{
6586
-						$attachment_file =tempnam($GLOBALS['egw_info']['server']['temp_dir'],$GLOBALS['egw_info']['flags']['currentapp']."_");
6587
-						$tmpfile = fopen($attachment_file,'w');
6588
-						fwrite($tmpfile,$data);
6586
+						$attachment_file = tempnam($GLOBALS['egw_info']['server']['temp_dir'], $GLOBALS['egw_info']['flags']['currentapp']."_");
6587
+						$tmpfile = fopen($attachment_file, 'w');
6588
+						fwrite($tmpfile, $data);
6589 6589
 						fclose($tmpfile);
6590 6590
 					}
6591 6591
 					else
@@ -6596,7 +6596,7 @@  discard block
 block discarded – undo
6596 6596
 					// (or similar) in all cases (when cut&paste). This may lead to more attached files, in case
6597 6597
 					// we use the same image multiple times, but, if we do this, we should try to detect that
6598 6598
 					// on upload. filename itself is not sufficient to determine the sameness of images
6599
-					$cid = 'cid:' . md5($attachment_file);
6599
+					$cid = 'cid:'.md5($attachment_file);
6600 6600
 					if ($_mailObject->AddEmbeddedImage($attachment_file, substr($cid, 4), urldecode($filename), $mimeType) !== null)
6601 6601
 					{
6602 6602
 						//$_html2parse = preg_replace("/".$images[1][$i]."=\"".preg_quote($url, '/')."\"/Ui", $images[1][$i]."=\"".$cid."\"", $_html2parse);
@@ -6618,10 +6618,10 @@  discard block
 block discarded – undo
6618 6618
 	 * @param string& $importID ID for the imported message, used by attachments to identify them unambiguously
6619 6619
 	 * @return mixed array of messages with success and failed messages or exception
6620 6620
 	 */
6621
-	function importMessageToMergeAndSend(Storage\Merge $bo_merge, $document, $SendAndMergeTocontacts, &$_folder, &$importID='')
6621
+	function importMessageToMergeAndSend(Storage\Merge $bo_merge, $document, $SendAndMergeTocontacts, &$_folder, &$importID = '')
6622 6622
 	{
6623 6623
 		$importfailed = false;
6624
-		$processStats = array('success'=>array(),'failed'=>array());
6624
+		$processStats = array('success'=>array(), 'failed'=>array());
6625 6625
 		if (empty($SendAndMergeTocontacts))
6626 6626
 		{
6627 6627
 			$importfailed = true;
@@ -6662,7 +6662,7 @@  discard block
 block discarded – undo
6662 6662
 				$_folder = $this->getSentFolder();
6663 6663
 			}
6664 6664
 			$delimiter = $this->getHierarchyDelimiter();
6665
-			if($_folder=='INBOX'.$delimiter) $_folder='INBOX';
6665
+			if ($_folder == 'INBOX'.$delimiter) $_folder = 'INBOX';
6666 6666
 			if ($importfailed === false)
6667 6667
 			{
6668 6668
 				$Subject = $mailObject->getHeader('Subject');
@@ -6680,9 +6680,9 @@  discard block
 block discarded – undo
6680 6680
 				{
6681 6681
 					$mailObject->clearReplyTos();
6682 6682
 					$activeMailProfiles = $this->mail->getAccountIdentities($this->profileID);
6683
-					$activeMailProfile = self::getStandardIdentityForProfile($activeMailProfiles,$this->profileID);
6683
+					$activeMailProfile = self::getStandardIdentityForProfile($activeMailProfiles, $this->profileID);
6684 6684
 
6685
-					$mailObject->addReplyTo(Horde_Idna::encode($activeMailProfile['ident_email']),Mail::generateIdentityString($activeMailProfile,false));
6685
+					$mailObject->addReplyTo(Horde_Idna::encode($activeMailProfile['ident_email']), Mail::generateIdentityString($activeMailProfile, false));
6686 6686
 				}
6687 6687
 				foreach ($SendAndMergeTocontacts as $k => $val)
6688 6688
 				{
@@ -6696,12 +6696,12 @@  discard block
 block discarded – undo
6696 6696
 						//error_log(__METHOD__.' ('.__LINE__.') '.array2string($mailObject));
6697 6697
 
6698 6698
 						// Parse destinations for placeholders
6699
-						foreach(Mailer::$type2header as $type => $h)
6699
+						foreach (Mailer::$type2header as $type => $h)
6700 6700
 						{
6701 6701
 							//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));
6702
-							$merged = $bo_merge->merge_string($mailObject->getHeader(Mailer::$type2header[$type]),$val,$e,'text/plain',array(),self::$displayCharset);
6703
-							$mailObject->addAddress($merged,'',$type);
6704
-							if($type == 'to')
6702
+							$merged = $bo_merge->merge_string($mailObject->getHeader(Mailer::$type2header[$type]), $val, $e, 'text/plain', array(), self::$displayCharset);
6703
+							$mailObject->addAddress($merged, '', $type);
6704
+							if ($type == 'to')
6705 6705
 							{
6706 6706
 								$email = $merged;
6707 6707
 							}
@@ -6714,26 +6714,26 @@  discard block
 block discarded – undo
6714 6714
 							//error_log(__METHOD__.' ('.__LINE__.') '.' ID:'.$val.' Data:'.array2string($contact));
6715 6715
 							$email = ($contact['email'] ? $contact['email'] : $contact['email_home']);
6716 6716
 							$nfn = ($contact['n_fn'] ? $contact['n_fn'] : $contact['n_given'].' '.$contact['n_family']);
6717
-							if($email)
6717
+							if ($email)
6718 6718
 							{
6719 6719
 								$mailObject->addAddress(Horde_Idna::encode($email), $nfn);
6720 6720
 							}
6721 6721
 						}
6722 6722
 
6723 6723
 						$activeMailProfiles = $this->getAccountIdentities($this->profileID);
6724
-						$activeMailProfile = self::getStandardIdentityForProfile($activeMailProfiles,$this->profileID);
6724
+						$activeMailProfile = self::getStandardIdentityForProfile($activeMailProfiles, $this->profileID);
6725 6725
 						//error_log(__METHOD__.' ('.__LINE__.') '.array2string($activeMailProfile));
6726 6726
 						$mailObject->setFrom($activeMailProfile['ident_email'],
6727
-							self::generateIdentityString($activeMailProfile,false));
6727
+							self::generateIdentityString($activeMailProfile, false));
6728 6728
 
6729 6729
 						$mailObject->removeHeader('Message-ID');
6730 6730
 						$mailObject->removeHeader('Date');
6731 6731
 						$mailObject->clearCustomHeaders();
6732 6732
 						$mailObject->addHeader('Subject', $bo_merge->merge_string($Subject, $val, $e, 'text/plain', array(), self::$displayCharset));
6733 6733
 						//error_log(__METHOD__.' ('.__LINE__.') '.' ContentType:'.$mailObject->BodyContentType);
6734
-						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));
6734
+						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));
6735 6735
 						//error_log(__METHOD__.' ('.__LINE__.') '.' Result:'.$mailObject->Body.' error:'.array2string($e));
6736
-						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));
6736
+						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));
6737 6737
 
6738 6738
 						//error_log(__METHOD__.' ('.__LINE__.') '.array2string($mailObject));
6739 6739
 						// set a higher timeout for big messages
@@ -6742,7 +6742,7 @@  discard block
 block discarded – undo
6742 6742
 						try {
6743 6743
 							$mailObject->send();
6744 6744
 						}
6745
-						catch(Exception $e) {
6745
+						catch (Exception $e) {
6746 6746
 							$sendOK = false;
6747 6747
 							$errorInfo = $e->getMessage();
6748 6748
 							//error_log(__METHOD__.' ('.__LINE__.') '.array2string($errorInfo));
@@ -6756,41 +6756,41 @@  discard block
 block discarded – undo
6756 6756
 						$mailObject->clearCustomHeaders();
6757 6757
 
6758 6758
 						// Parse destinations for placeholders
6759
-						foreach(Mailer::$type2header as $type => $h)
6759
+						foreach (Mailer::$type2header as $type => $h)
6760 6760
 						{
6761
-							$merged = $bo_merge->merge_string($mailObject->getHeader(Mailer::$type2header[$type]),$val,$e,'text/plain',array(),self::$displayCharset);
6761
+							$merged = $bo_merge->merge_string($mailObject->getHeader(Mailer::$type2header[$type]), $val, $e, 'text/plain', array(), self::$displayCharset);
6762 6762
 							//error_log($type . ': ' . $mailObject->getHeader(Mailer::$type2header[$type]) . ' -> ' .$merged);
6763
-							$mailObject->addAddress(trim($merged,'"'),'',$type);
6763
+							$mailObject->addAddress(trim($merged, '"'), '', $type);
6764 6764
 						}
6765 6765
 
6766 6766
 						// No addresses from placeholders?  Treat it as just a contact ID
6767
-						if (count($mailObject->getAddresses('to',true)) == 0 &&
6767
+						if (count($mailObject->getAddresses('to', true)) == 0 &&
6768 6768
 							is_numeric($val) || $GLOBALS['egw']->accounts->name2id($val)) // do the merge
6769 6769
 						{
6770 6770
 							$contact = $bo_merge->contacts->read($val);
6771 6771
 							//error_log(__METHOD__.' ('.__LINE__.') '.array2string($contact));
6772 6772
 							$email = ($contact['email'] ? $contact['email'] : $contact['email_home']);
6773 6773
 							$nfn = ($contact['n_fn'] ? $contact['n_fn'] : $contact['n_given'].' '.$contact['n_family']);
6774
-							if($email)
6774
+							if ($email)
6775 6775
 							{
6776 6776
 								$mailObject->addAddress(Horde_Idna::encode($email), $nfn);
6777 6777
 							}
6778 6778
 						}
6779 6779
 						$mailObject->addHeader('Subject', $bo_merge->merge_string($Subject, $val, $e, 'text/plain', array(), self::$displayCharset));
6780 6780
 						//error_log(__METHOD__.' ('.__LINE__.') '.' ContentType:'.$mailObject->BodyContentType);
6781
-						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));
6781
+						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));
6782 6782
 						//error_log(__METHOD__.' ('.__LINE__.') '.' Result:'.$mailObject->Body.' error:'.array2string($e));
6783
-						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));
6783
+						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));
6784 6784
 						$_folder = $this->getDraftFolder();
6785 6785
 					}
6786 6786
 					if ($sendOK || $openAsDraft)
6787 6787
 					{
6788
-						if ($this->folderExists($_folder,true))
6788
+						if ($this->folderExists($_folder, true))
6789 6789
 						{
6790
-						    if($this->isSentFolder($_folder))
6790
+						    if ($this->isSentFolder($_folder))
6791 6791
 							{
6792 6792
 						        $flags = '\\Seen';
6793
-						    } elseif($this->isDraftFolder($_folder)) {
6793
+						    } elseif ($this->isDraftFolder($_folder)) {
6794 6794
 						        $flags = '\\Draft';
6795 6795
 						    } else {
6796 6796
 						        $flags = '';
@@ -6798,7 +6798,7 @@  discard block
 block discarded – undo
6798 6798
 							$savefailed = false;
6799 6799
 							try
6800 6800
 							{
6801
-								$messageUid =$this->appendMessage($_folder,
6801
+								$messageUid = $this->appendMessage($_folder,
6802 6802
 									$mailObject->getRaw(),
6803 6803
 									null,
6804 6804
 									$flags);
@@ -6806,10 +6806,10 @@  discard block
 block discarded – undo
6806 6806
 							catch (\Exception\WrongUserinput $e)
6807 6807
 							{
6808 6808
 								$savefailed = true;
6809
-								$alert_msg .= lang("Save of message %1 failed. Could not save message to folder %2 due to: %3",$Subject,$_folder,$e->getMessage());
6809
+								$alert_msg .= lang("Save of message %1 failed. Could not save message to folder %2 due to: %3", $Subject, $_folder, $e->getMessage());
6810 6810
 							}
6811 6811
 							// no send, save successful, and message_uid present
6812
-							if ($savefailed===false && $messageUid && is_null($sendOK))
6812
+							if ($savefailed === false && $messageUid && is_null($sendOK))
6813 6813
 							{
6814 6814
 								$importID = $messageUid;
6815 6815
 								$openComposeWindow = true;
@@ -6818,20 +6818,20 @@  discard block
 block discarded – undo
6818 6818
 						else
6819 6819
 						{
6820 6820
 							$savefailed = true;
6821
-							$alert_msg .= lang("Saving of message %1 failed. Destination Folder %2 does not exist.",$Subject,$_folder);
6821
+							$alert_msg .= lang("Saving of message %1 failed. Destination Folder %2 does not exist.", $Subject, $_folder);
6822 6822
 						}
6823 6823
 						if ($sendOK)
6824 6824
 						{
6825
-							$processStats['success'][$val] = 'Send succeeded to '.$nfn.'<'.$email.'>'.($savefailed?' but failed to store to Folder:'.$_folder:'');
6825
+							$processStats['success'][$val] = 'Send succeeded to '.$nfn.'<'.$email.'>'.($savefailed ? ' but failed to store to Folder:'.$_folder : '');
6826 6826
 						}
6827 6827
 						else
6828 6828
 						{
6829
-							if (!$openComposeWindow) $processStats['failed'][$val] = $errorInfo?$errorInfo:'Send failed to '.$nfn.'<'.$email.'> See error_log for details';
6829
+							if (!$openComposeWindow) $processStats['failed'][$val] = $errorInfo ? $errorInfo : 'Send failed to '.$nfn.'<'.$email.'> See error_log for details';
6830 6830
 						}
6831 6831
 					}
6832
-					if (!is_null($sendOK) && $sendOK===false && is_null($openComposeWindow))
6832
+					if (!is_null($sendOK) && $sendOK === false && is_null($openComposeWindow))
6833 6833
 					{
6834
-						$processStats['failed'][$val] = $errorInfo?$errorInfo:'Send failed to '.$nfn.'<'.$email.'> See error_log for details';
6834
+						$processStats['failed'][$val] = $errorInfo ? $errorInfo : 'Send failed to '.$nfn.'<'.$email.'> See error_log for details';
6835 6835
 					}
6836 6836
 				}
6837 6837
 			}
@@ -6901,19 +6901,18 @@  discard block
 block discarded – undo
6901 6901
 			//error_log(__METHOD__.__LINE__.':'.array2string($structure));
6902 6902
 
6903 6903
 			// unfortunately parseMessage does NOT return parsed headers (we assume header is shorter then 8k)
6904
-			$start = is_string($message) ? substr($message, 0, 8192) :
6905
-				(fseek($message, 0, SEEK_SET) == -1 ? '' : fread($message, 8192));
6904
+			$start = is_string($message) ? substr($message, 0, 8192) : (fseek($message, 0, SEEK_SET) == -1 ? '' : fread($message, 8192));
6906 6905
 
6907 6906
 			$length = strpos($start, Horde_Mime_Part::RFC_EOL.Horde_Mime_Part::RFC_EOL);
6908
-			if ($length===false) $length = strlen($start);
6909
-			$headers = Horde_Mime_Headers::parseHeaders(substr($start, 0,$length));
6907
+			if ($length === false) $length = strlen($start);
6908
+			$headers = Horde_Mime_Headers::parseHeaders(substr($start, 0, $length));
6910 6909
 
6911
-			foreach($headers->toArray(array('nowrap' => true)) as $header => $value)
6910
+			foreach ($headers->toArray(array('nowrap' => true)) as $header => $value)
6912 6911
 			{
6913
-				foreach((array)$value as $n => $val)
6912
+				foreach ((array)$value as $n => $val)
6914 6913
 				{
6915 6914
 					$overwrite = !$n;
6916
-					switch($header)
6915
+					switch ($header)
6917 6916
 					{
6918 6917
 						case 'Content-Transfer-Encoding':
6919 6918
 							//as we parse the message and this sets the part with a Content-Transfer-Encoding, we
@@ -6934,7 +6933,7 @@  discard block
 block discarded – undo
6934 6933
 		}
6935 6934
 		else
6936 6935
 		{
6937
-			if (($type = gettype($message)) == 'object') $type = get_class ($message);
6936
+			if (($type = gettype($message)) == 'object') $type = get_class($message);
6938 6937
 			throw new Exception\WrongParameter('Wrong parameter type for message: '.$type);
6939 6938
 		}
6940 6939
 	}
@@ -6948,50 +6947,50 @@  discard block
 block discarded – undo
6948 6947
 	 * @param string $default_domain
6949 6948
 	 * @return Horde_Mail_Rfc822_List iteratable Horde_Mail_Rfc822_Address objects with attributes mailbox, host, personal and valid
6950 6949
 	 */
6951
-	public static function parseAddressList($addresses, $default_domain=null)
6950
+	public static function parseAddressList($addresses, $default_domain = null)
6952 6951
 	{
6953 6952
 		$rfc822 = new Horde_Mail_Rfc822();
6954 6953
 		$ret = $rfc822->parseAddressList($addresses, $default_domain ? array('default_domain' => $default_domain) : array());
6955 6954
 		//error_log(__METHOD__.__LINE__.'#'.array2string($addresses).'#'.array2string($ret).'#'.$ret->count().'#'.$ret->count.function_backtrace());
6956
-		if ((empty($ret) || $ret->count()==0)&& is_string($addresses) && strlen($addresses)>0)
6955
+		if ((empty($ret) || $ret->count() == 0) && is_string($addresses) && strlen($addresses) > 0)
6957 6956
 		{
6958 6957
 			$matches = array();
6959
-			preg_match_all("/[\w\.,-.,_.,0-9.]+@[\w\.,-.,_.,0-9.]+/",$addresses,$matches);
6958
+			preg_match_all("/[\w\.,-.,_.,0-9.]+@[\w\.,-.,_.,0-9.]+/", $addresses, $matches);
6960 6959
 			//error_log(__METHOD__.__LINE__.array2string($matches));
6961
-			foreach ($matches[0] as &$match) {$match = trim($match,', ');}
6962
-			$addresses = implode(',',$matches[0]);
6960
+			foreach ($matches[0] as &$match) {$match = trim($match, ', '); }
6961
+			$addresses = implode(',', $matches[0]);
6963 6962
 			//error_log(__METHOD__.__LINE__.array2string($addresses));
6964 6963
 			$ret = $rfc822->parseAddressList($addresses, $default_domain ? array('default_domain' => $default_domain) : array());
6965 6964
 			//error_log(__METHOD__.__LINE__.'#'.array2string($addresses).'#'.array2string($ret).'#'.$ret->count().'#'.$ret->count);
6966 6965
 		}
6967
-		$previousFailed=false;
6966
+		$previousFailed = false;
6968 6967
 		$ret2 = new Horde_Mail_Rfc822_List();
6969 6968
 		// handle known problems on emailaddresses
6970
-		foreach($ret as $i => $adr)
6969
+		foreach ($ret as $i => $adr)
6971 6970
 		{
6972 6971
 			//mailaddresses enclosed in single quotes like '[email protected]' show up as 'me as mailbox and you.com' as host
6973
-			if ($adr->mailbox && stripos($adr->mailbox,"'")== 0 &&
6974
-					$adr->host && stripos($adr->host,"'")== (strlen($adr->host) -1))
6972
+			if ($adr->mailbox && stripos($adr->mailbox, "'") == 0 &&
6973
+					$adr->host && stripos($adr->host, "'") == (strlen($adr->host) - 1))
6975 6974
 			{
6976
-				$adr->mailbox = str_replace("'","",$adr->mailbox);
6977
-				$adr->host = str_replace("'","",$adr->host);
6975
+				$adr->mailbox = str_replace("'", "", $adr->mailbox);
6976
+				$adr->host = str_replace("'", "", $adr->host);
6978 6977
 			}
6979 6978
 			// no mailbox or host part as 'Xr\xc3\xa4hlyz, User <[email protected]>' is parsed as 2 addresses separated by ','
6980 6979
 			//#'Xr\xc3\xa4hlyz, User <[email protected]>'
6981 6980
 			//#Horde_Mail_Rfc822_List Object([_data:protected] => Array(
6982 6981
 			//[0] => Horde_Mail_Rfc822_Address Object([comment] => Array()[mailbox] => Xr\xc3\xa4hlyz[_host:protected] => [_personal:protected] => )
6983 6982
 			//[1] => Horde_Mail_Rfc822_Address Object([comment] => Array()[mailbox] => mailboxpart1.mailboxpart2[_host:protected] => youthost.com[_personal:protected] => User))[_filter:protected] => Array()[_ptr:protected] => )#2#,
6984
-			if (strlen($adr->mailbox)==0||strlen($adr->host)==0)
6983
+			if (strlen($adr->mailbox) == 0 || strlen($adr->host) == 0)
6985 6984
 			{
6986
-				$remember = ($adr->mailbox?$adr->mailbox:($adr->host?$adr->host:''));
6987
-				$previousFailed=true;
6985
+				$remember = ($adr->mailbox ? $adr->mailbox : ($adr->host ? $adr->host : ''));
6986
+				$previousFailed = true;
6988 6987
 				//error_log(__METHOD__.__LINE__."('$addresses', $default_domain) parsed $i: mailbox=$adr->mailbox, host=$adr->host, personal=$adr->personal");
6989 6988
 			}
6990 6989
 			else
6991 6990
 			{
6992
-				if ($previousFailed && $remember) $adr->personal = $remember. ' ' . $adr->personal;
6991
+				if ($previousFailed && $remember) $adr->personal = $remember.' '.$adr->personal;
6993 6992
 				$remember = '';
6994
-				$previousFailed=false;
6993
+				$previousFailed = false;
6995 6994
 				//error_log(__METHOD__.__LINE__."('$addresses', $default_domain) parsed $i: mailbox=$adr->mailbox, host=$adr->host, personal=$adr->personal");
6996 6995
 				$ret2->add($adr);
6997 6996
 			}
@@ -7007,7 +7006,7 @@  discard block
 block discarded – undo
7007 7006
 	 * @param string $_folder
7008 7007
 	 * @return boolean
7009 7008
 	 */
7010
-	function sendMDN($uid,$_folder)
7009
+	function sendMDN($uid, $_folder)
7011 7010
 	{
7012 7011
 		$acc = Mail\Account::read($this->profileID);
7013 7012
 		$identity = Mail\Account::read_identity($acc['ident_id'], true, null, $acc);
@@ -7037,7 +7036,7 @@  discard block
 block discarded – undo
7037 7036
 	 */
7038 7037
 	function addAccount($_hookValues)
7039 7038
 	{
7040
-		error_log(__METHOD__.' ('.__LINE__.') '.' NOT DONE YET!' . ' hookValue = '. $_hookValues);
7039
+		error_log(__METHOD__.' ('.__LINE__.') '.' NOT DONE YET!'.' hookValue = '.$_hookValues);
7041 7040
 
7042 7041
 	}
7043 7042
 
@@ -7051,7 +7050,7 @@  discard block
 block discarded – undo
7051 7050
 	 */
7052 7051
 	function deleteAccount($_hookValues)
7053 7052
 	{
7054
-		error_log(__METHOD__.' ('.__LINE__.') '.' NOT DONE YET!' . ' hookValue = '. $_hookValues);
7053
+		error_log(__METHOD__.' ('.__LINE__.') '.' NOT DONE YET!'.' hookValue = '.$_hookValues);
7055 7054
 
7056 7055
 	}
7057 7056
 
@@ -7065,7 +7064,7 @@  discard block
 block discarded – undo
7065 7064
 	 */
7066 7065
 	function updateAccount($_hookValues)
7067 7066
 	{
7068
-		error_log(__METHOD__.' ('.__LINE__.') '.' NOT DONE YET!' . ' hookValue = '. $_hookValues);
7067
+		error_log(__METHOD__.' ('.__LINE__.') '.' NOT DONE YET!'.' hookValue = '.$_hookValues);
7069 7068
 
7070 7069
 	}
7071 7070
 }
Please login to merge, or discard this patch.