Passed
Push — 16.1 ( 004f52...4b9eb7 )
by Nathan
22:12
created
calendar/inc/class.calendar_bo.inc.php 1 patch
Spacing   +302 added lines, -304 removed lines patch added patch discarded remove patch
@@ -17,12 +17,12 @@  discard block
 block discarded – undo
17 17
 
18 18
 if (!defined('ACL_TYPE_IDENTIFER'))	// used to mark ACL-values for the debug_message methode
19 19
 {
20
-	define('ACL_TYPE_IDENTIFER','***ACL***');
20
+	define('ACL_TYPE_IDENTIFER', '***ACL***');
21 21
 }
22 22
 
23
-define('HOUR_s',60*60);
24
-define('DAY_s',24*HOUR_s);
25
-define('WEEK_s',7*DAY_s);
23
+define('HOUR_s', 60 * 60);
24
+define('DAY_s', 24 * HOUR_s);
25
+define('WEEK_s', 7 * DAY_s);
26 26
 
27 27
 /**
28 28
  * Required (!) include, as we use the MCAL_* constants, BEFORE instanciating (and therefore autoloading) the class
@@ -71,7 +71,7 @@  discard block
 block discarded – undo
71 71
 	 *	4 = function-calls to exported conversation-functions like date2ts, date2array, ...
72 72
 	 *	5 = function-calls to private functions
73 73
 	 */
74
-	var $debug=false;
74
+	var $debug = false;
75 75
 
76 76
 	/**
77 77
 	 * @var int $now timestamp in server-time
@@ -101,12 +101,12 @@  discard block
 block discarded – undo
101 101
 	/**
102 102
 	 * @var int $user nummerical id of the current user-id
103 103
 	 */
104
-	var $user=0;
104
+	var $user = 0;
105 105
 
106 106
 	/**
107 107
 	 * @var array $grants grants of the current user, array with user-id / ored-ACL-rights pairs
108 108
 	 */
109
-	var $grants=array();
109
+	var $grants = array();
110 110
 
111 111
 	/**
112 112
 	 * @var array $verbose_status translated 1-char status values to a verbose name, run through lang() by the constructor
@@ -219,15 +219,15 @@  discard block
 block discarded – undo
219 219
 	 */
220 220
 	function __construct()
221 221
 	{
222
-		if ($this->debug > 0) $this->debug_message('calendar_bo::bocal() started',True);
222
+		if ($this->debug > 0) $this->debug_message('calendar_bo::bocal() started', True);
223 223
 
224 224
 		$this->so = new calendar_so();
225 225
 
226
-		$this->common_prefs =& $GLOBALS['egw_info']['user']['preferences']['common'];
227
-		$this->cal_prefs =& $GLOBALS['egw_info']['user']['preferences']['calendar'];
226
+		$this->common_prefs = & $GLOBALS['egw_info']['user']['preferences']['common'];
227
+		$this->cal_prefs = & $GLOBALS['egw_info']['user']['preferences']['calendar'];
228 228
 
229 229
 		$this->now = time();
230
-		$this->now_su = Api\DateTime::server2user($this->now,'ts');
230
+		$this->now_su = Api\DateTime::server2user($this->now, 'ts');
231 231
 
232 232
 		$this->user = $GLOBALS['egw_info']['user']['account_id'];
233 233
 
@@ -236,7 +236,7 @@  discard block
 block discarded – undo
236 236
 		if (!is_array($this->resources = Api\Cache::getSession('calendar', 'resources')))
237 237
 		{
238 238
 			$this->resources = array();
239
-			foreach(Api\Hooks::process('calendar_resources') as $app => $data)
239
+			foreach (Api\Hooks::process('calendar_resources') as $app => $data)
240 240
 			{
241 241
 				if ($data && $data['type'])
242 242
 				{
@@ -249,8 +249,8 @@  discard block
 block discarded – undo
249 249
 				'app'  => 'email',
250 250
 			);
251 251
 			$this->resources['l'] = array(
252
-				'type' => 'l',// one char type-identifier for this resources
253
-				'info' => __CLASS__ .'::mailing_lists',// info method, returns array with id, type & name for a given id
252
+				'type' => 'l', // one char type-identifier for this resources
253
+				'info' => __CLASS__.'::mailing_lists', // info method, returns array with id, type & name for a given id
254 254
 				'app' => 'Distribution list'
255 255
 			);
256 256
 			$this->resources[''] = array(
@@ -258,22 +258,22 @@  discard block
 block discarded – undo
258 258
 				'app' => 'api-accounts',
259 259
 			);
260 260
 			$this->resources['l'] = array(
261
-				'type' => 'l',// one char type-identifier for this resources
262
-				'info' => __CLASS__ .'::mailing_lists',// info method, returns array with id, type & name for a given id
261
+				'type' => 'l', // one char type-identifier for this resources
262
+				'info' => __CLASS__.'::mailing_lists', // info method, returns array with id, type & name for a given id
263 263
 				'app' => 'Distribution list'
264 264
 			);
265 265
 			Api\Cache::setSession('calendar', 'resources', $this->resources);
266 266
 		}
267 267
 		//error_log(__METHOD__ . " registered resources=". array2string($this->resources));
268 268
 
269
-		$this->config = Api\Config::read('calendar');	// only used for horizont, regular calendar config is under phpgwapi
269
+		$this->config = Api\Config::read('calendar'); // only used for horizont, regular calendar config is under phpgwapi
270 270
 		$this->require_acl_invite = $GLOBALS['egw_info']['server']['require_acl_invite'];
271 271
 
272
-		$this->categories = new Api\Categories($this->user,'calendar');
272
+		$this->categories = new Api\Categories($this->user, 'calendar');
273 273
 
274 274
 		$this->customfields = Api\Storage\Customfields::get('calendar');
275 275
 
276
-		foreach($this->alarms as $secs => &$label)
276
+		foreach ($this->alarms as $secs => &$label)
277 277
 		{
278 278
 			$label = self::secs2label($secs);
279 279
 		}
@@ -289,15 +289,15 @@  discard block
 block discarded – undo
289 289
 	{
290 290
 		if ($secs <= 3600)
291 291
 		{
292
-			$label = lang('%1 minutes', $secs/60);
292
+			$label = lang('%1 minutes', $secs / 60);
293 293
 		}
294
-		elseif($secs <= 86400)
294
+		elseif ($secs <= 86400)
295 295
 		{
296
-			$label = lang('%1 hours', $secs/3600);
296
+			$label = lang('%1 hours', $secs / 3600);
297 297
 		}
298 298
 		else
299 299
 		{
300
-			$label = lang('%1 days', $secs/86400);
300
+			$label = lang('%1 days', $secs / 86400);
301 301
 		}
302 302
 		return $label;
303 303
 	}
@@ -313,12 +313,12 @@  discard block
 block discarded – undo
313 313
 		if (!$ids) return null;
314 314
 
315 315
 		$data = array();
316
-		foreach((array)$ids as $id)
316
+		foreach ((array)$ids as $id)
317 317
 		{
318 318
 			$email = $id;
319 319
 			$name = '';
320 320
 			$matches = null;
321
-			if (preg_match('/^(.*) *<([a-z0-9_.@-]{8,})>$/iU',$email,$matches))
321
+			if (preg_match('/^(.*) *<([a-z0-9_.@-]{8,})>$/iU', $email, $matches))
322 322
 			{
323 323
 				$name = $matches[1];
324 324
 				$email = $matches[2];
@@ -342,7 +342,7 @@  discard block
 block discarded – undo
342 342
 	 */
343 343
 	static function mailing_lists($ids)
344 344
 	{
345
-		if(!is_array($ids))
345
+		if (!is_array($ids))
346 346
 		{
347 347
 			$ids = array($ids);
348 348
 		}
@@ -351,7 +351,7 @@  discard block
 block discarded – undo
351 351
 		// Email list
352 352
 		$contacts_obj = new Api\Contacts();
353 353
 		$bo = new calendar_bo();
354
-		foreach($ids as $id)
354
+		foreach ($ids as $id)
355 355
 		{
356 356
 			$list = $contacts_obj->read_list((int)$id);
357 357
 
@@ -378,22 +378,22 @@  discard block
 block discarded – undo
378 378
 	 *
379 379
 	 * @return array
380 380
 	 */
381
-	public function enum_mailing_list($id, $ignore_acl= false, $use_freebusy = true)
381
+	public function enum_mailing_list($id, $ignore_acl = false, $use_freebusy = true)
382 382
 	{
383 383
 		$contact_list = array();
384 384
 		$contacts = new Api\Contacts();
385
-		if($contacts->check_list((int)substr($id,1), ACL::READ) || (int)substr($id,1) < 0)
385
+		if ($contacts->check_list((int)substr($id, 1), ACL::READ) || (int)substr($id, 1) < 0)
386 386
 		{
387
-			$options = array('list' => substr($id,1));
388
-			$lists = $contacts->search('',true,'','','',false,'AND',false,$options);
389
-			if(!$lists)
387
+			$options = array('list' => substr($id, 1));
388
+			$lists = $contacts->search('', true, '', '', '', false, 'AND', false, $options);
389
+			if (!$lists)
390 390
 			{
391 391
 				return $contact_list;
392 392
 			}
393
-			foreach($lists as &$contact)
393
+			foreach ($lists as &$contact)
394 394
 			{
395 395
 				// Check for user account
396
-				if (($account_id = $GLOBALS['egw']->accounts->name2id($contact['id'],'person_id')))
396
+				if (($account_id = $GLOBALS['egw']->accounts->name2id($contact['id'], 'person_id')))
397 397
 				{
398 398
 					$contact = ''.$account_id;
399 399
 				}
@@ -401,9 +401,9 @@  discard block
 block discarded – undo
401 401
 				{
402 402
 					$contact = 'c'.$contact['id'];
403 403
 				}
404
-				if ($ignore_acl || $this->check_perms(ACL::READ|self::ACL_READ_FOR_PARTICIPANTS|($use_freebusy?self::ACL_FREEBUSY:0),0,$contact))
404
+				if ($ignore_acl || $this->check_perms(ACL::READ|self::ACL_READ_FOR_PARTICIPANTS|($use_freebusy ?self::ACL_FREEBUSY : 0), 0, $contact))
405 405
 				{
406
-					if ($contact && !in_array($contact,$contact_list))	// already added?
406
+					if ($contact && !in_array($contact, $contact_list))	// already added?
407 407
 					{
408 408
 						$contact_list[] = $contact;
409 409
 					}
@@ -422,12 +422,12 @@  discard block
 block discarded – undo
422 422
 	function enum_groups(&$event)
423 423
 	{
424 424
 		$added = 0;
425
-		foreach(array_keys($event['participants']) as $uid)
425
+		foreach (array_keys($event['participants']) as $uid)
426 426
 		{
427 427
 			if (is_numeric($uid) && $GLOBALS['egw']->accounts->get_type($uid) == 'g' &&
428 428
 				($members = $GLOBALS['egw']->accounts->members($uid, true)))
429 429
 			{
430
-				foreach($members as $member)
430
+				foreach ($members as $member)
431 431
 				{
432 432
 					if (!isset($event['participants'][$member]))
433 433
 					{
@@ -449,7 +449,7 @@  discard block
 block discarded – undo
449 449
 	 * @param boolean $use_freebusy =true should freebusy rights are taken into account, default true, can be set to false eg. for a search
450 450
 	 * @return array of user-ids
451 451
 	 */
452
-	private function resolve_users($_users, $no_enum_groups=true, $ignore_acl=false, $use_freebusy=true)
452
+	private function resolve_users($_users, $no_enum_groups = true, $ignore_acl = false, $use_freebusy = true)
453 453
 	{
454 454
 		if (!is_array($_users))
455 455
 		{
@@ -457,35 +457,35 @@  discard block
 block discarded – undo
457 457
 		}
458 458
 		// only query calendars of users, we have READ-grants from
459 459
 		$users = array();
460
-		foreach($_users as $user)
460
+		foreach ($_users as $user)
461 461
 		{
462 462
 			$user = trim($user);
463 463
 			
464 464
 			// Handle email lists
465
-			if(!is_numeric($user) && $user[0] == 'l')
465
+			if (!is_numeric($user) && $user[0] == 'l')
466 466
 			{
467
-				foreach($this->enum_mailing_list($user, $ignore_acl, $use_freebusy) as $contact)
467
+				foreach ($this->enum_mailing_list($user, $ignore_acl, $use_freebusy) as $contact)
468 468
 				{
469
-					if ($contact && !in_array($contact,$users))	// already added?
469
+					if ($contact && !in_array($contact, $users))	// already added?
470 470
 					{
471 471
 						$users[] = $contact;
472 472
 					}
473 473
 				}
474 474
 				continue;
475 475
 			}
476
-			if ($ignore_acl || $this->check_perms(ACL::READ|self::ACL_READ_FOR_PARTICIPANTS|($use_freebusy?self::ACL_FREEBUSY:0),0,$user))
476
+			if ($ignore_acl || $this->check_perms(ACL::READ|self::ACL_READ_FOR_PARTICIPANTS|($use_freebusy ?self::ACL_FREEBUSY : 0), 0, $user))
477 477
 			{
478
-				if ($user && !in_array($user,$users))	// already added?
478
+				if ($user && !in_array($user, $users))	// already added?
479 479
 				{
480 480
 					// General expansion check
481 481
 					if (!is_numeric($user) && $this->resources[$user[0]]['info'])
482 482
 					{
483 483
 						$info = $this->resource_info($user);
484
-						if($info && $info['resources'])
484
+						if ($info && $info['resources'])
485 485
 						{
486
-							foreach($info['resources'] as $_user)
486
+							foreach ($info['resources'] as $_user)
487 487
 							{
488
-								if($_user && !in_array($_user, $users))
488
+								if ($_user && !in_array($_user, $users))
489 489
 								{
490 490
 									$users[] = $_user;
491 491
 								}
@@ -498,7 +498,7 @@  discard block
 block discarded – undo
498 498
 			}
499 499
 			elseif ($GLOBALS['egw']->accounts->get_type($user) != 'g')
500 500
 			{
501
-				continue;	// for non-groups (eg. users), we stop here if we have no read-rights
501
+				continue; // for non-groups (eg. users), we stop here if we have no read-rights
502 502
 			}
503 503
 			// the further code is only for real users
504 504
 			if (!is_numeric($user)) continue;
@@ -511,11 +511,11 @@  discard block
 block discarded – undo
511 511
 				$members = $GLOBALS['egw']->accounts->members($user, true);
512 512
 				if (is_array($members))
513 513
 				{
514
-					foreach($members as $member)
514
+					foreach ($members as $member)
515 515
 					{
516 516
 						// use only members which gave the user a read-grant
517 517
 						if (!in_array($member, $users) &&
518
-							($ignore_acl || $this->check_perms(Acl::READ|($use_freebusy?self::ACL_FREEBUSY:0),0,$member)))
518
+							($ignore_acl || $this->check_perms(Acl::READ|($use_freebusy ?self::ACL_FREEBUSY : 0), 0, $member)))
519 519
 						{
520 520
 							$users[] = $member;
521 521
 						}
@@ -527,9 +527,9 @@  discard block
 block discarded – undo
527 527
 				$memberships = $GLOBALS['egw']->accounts->memberships($user, true);
528 528
 				if (is_array($memberships))
529 529
 				{
530
-					foreach($memberships as $group)
530
+					foreach ($memberships as $group)
531 531
 					{
532
-						if (!in_array($group,$users))
532
+						if (!in_array($group, $users))
533 533
 						{
534 534
 							$users[] = $group;
535 535
 						}
@@ -570,18 +570,18 @@  discard block
 block discarded – undo
570 570
 	 * @return iterator|array|boolean array of events or array with YYYYMMDD strings / array of events pairs (depending on $daywise param)
571 571
 	 *	or false if there are no read-grants from _any_ of the requested users or iterator/recordset if cols are given
572 572
 	 */
573
-	function &search($params,$sql_filter=null)
573
+	function &search($params, $sql_filter = null)
574 574
 	{
575 575
 		$params_in = $params;
576 576
 
577
-		$params['sql_filter'] = $sql_filter;	// dont allow to set it via UI or xmlrpc
577
+		$params['sql_filter'] = $sql_filter; // dont allow to set it via UI or xmlrpc
578 578
 
579 579
 		// check if any resource wants to hook into
580
-		foreach($this->resources as $data)
580
+		foreach ($this->resources as $data)
581 581
 		{
582 582
 			if (isset($data['search_filter']))
583 583
 			{
584
-				$params = ExecMethod($data['search_filter'],$params);
584
+				$params = ExecMethod($data['search_filter'], $params);
585 585
 			}
586 586
 		}
587 587
 
@@ -599,9 +599,9 @@  discard block
 block discarded – undo
599 599
 		if (!empty($params['query']))
600 600
 		{
601 601
 			$params['private_grants'] = array();
602
-			foreach($this->grants as $user => $rights)
602
+			foreach ($this->grants as $user => $rights)
603 603
 			{
604
-				if ($rights & Acl::PRIVAT) $params['private_grants'][] = $user;
604
+				if ($rights&Acl::PRIVAT) $params['private_grants'][] = $user;
605 605
 			}
606 606
 		}
607 607
 
@@ -627,49 +627,49 @@  discard block
 block discarded – undo
627 627
 		$params['enum_recuring'] = $enum_recuring = $daywise || !isset($params['enum_recuring']) || !!$params['enum_recuring'];
628 628
 		$cat_id = isset($params['cat_id']) ? $params['cat_id'] : 0;
629 629
 		$filter = isset($params['filter']) ? $params['filter'] : 'all';
630
-		$offset = isset($params['offset']) && $params['offset'] !== false ? (int) $params['offset'] : false;
630
+		$offset = isset($params['offset']) && $params['offset'] !== false ? (int)$params['offset'] : false;
631 631
 		// socal::search() returns rejected group-invitations, as only the user not also the group is rejected
632 632
 		// as we cant remove them efficiantly in SQL, we kick them out here, but only if just one user is displayed
633 633
 		$users_in = (array)$params_in['users'];
634
-		$remove_rejected_by_user = !in_array($filter,array('all','rejected','everything')) &&
634
+		$remove_rejected_by_user = !in_array($filter, array('all', 'rejected', 'everything')) &&
635 635
 			count($users_in) == 1 && $users_in[0] > 0 ? $users_in[0] : null;
636 636
 		//error_log(__METHOD__.'('.array2string($params_in).", $sql_filter) params[users]=".array2string($params['users']).' --> remove_rejected_by_user='.array2string($remove_rejected_by_user));
637 637
 
638 638
 		if ($this->debug && ($this->debug > 1 || $this->debug == 'search'))
639 639
 		{
640 640
 			$this->debug_message('calendar_bo::search(%1) start=%2, end=%3, daywise=%4, cat_id=%5, filter=%6, query=%7, offset=%8, num_rows=%9, order=%10, sql_filter=%11)',
641
-				True,$params,$start,$end,$daywise,$cat_id,$filter,$params['query'],$offset,(int)$params['num_rows'],$params['order'],$params['sql_filter']);
641
+				True, $params, $start, $end, $daywise, $cat_id, $filter, $params['query'], $offset, (int)$params['num_rows'], $params['order'], $params['sql_filter']);
642 642
 		}
643 643
 		// date2ts(,true) converts to server time, db2data converts again to user-time
644
-		$events =& $this->so->search(isset($start) ? $this->date2ts($start,true) : null,isset($end) ? $this->date2ts($end,true) : null,
645
-			$users,$cat_id,$filter,$offset,(int)$params['num_rows'],$params,$remove_rejected_by_user);
644
+		$events = & $this->so->search(isset($start) ? $this->date2ts($start, true) : null, isset($end) ? $this->date2ts($end, true) : null,
645
+			$users, $cat_id, $filter, $offset, (int)$params['num_rows'], $params, $remove_rejected_by_user);
646 646
 
647 647
 		if (isset($params['cols']))
648 648
 		{
649 649
 			return $events;
650 650
 		}
651 651
 		$this->total = $this->so->total;
652
-		$this->db2data($events,isset($params['date_format']) ? $params['date_format'] : 'ts');
652
+		$this->db2data($events, isset($params['date_format']) ? $params['date_format'] : 'ts');
653 653
 
654 654
 		//echo "<p align=right>remove_rejected_by_user=$remove_rejected_by_user, filter=$filter, params[users]=".print_r($param['users'])."</p>\n";
655
-		foreach($events as $id => $event)
655
+		foreach ($events as $id => $event)
656 656
 		{
657 657
 			if ($params['enum_groups'] && $this->enum_groups($event))
658 658
 			{
659 659
 				$events[$id] = $event;
660 660
 			}
661 661
 			$matches = null;
662
-			if (!(int)$event['id'] && preg_match('/^([a-z_]+)([0-9]+)$/',$event['id'],$matches))
662
+			if (!(int)$event['id'] && preg_match('/^([a-z_]+)([0-9]+)$/', $event['id'], $matches))
663 663
 			{
664
-				$is_private = self::integration_get_private($matches[1],$matches[2],$event);
664
+				$is_private = self::integration_get_private($matches[1], $matches[2], $event);
665 665
 			}
666 666
 			else
667 667
 			{
668
-				$is_private = !$this->check_perms(Acl::READ,$event);
668
+				$is_private = !$this->check_perms(Acl::READ, $event);
669 669
 			}
670 670
 			if (!$params['ignore_acl'] && ($is_private || (!$event['public'] && $filter == 'hideprivate')))
671 671
 			{
672
-				$this->clear_private_infos($events[$id],$users);
672
+				$this->clear_private_infos($events[$id], $users);
673 673
 			}
674 674
 		}
675 675
 
@@ -677,18 +677,18 @@  discard block
 block discarded – undo
677 677
 		{
678 678
 			if ($this->debug && ($this->debug > 2 || $this->debug == 'search'))
679 679
 			{
680
-				$this->debug_message('socalendar::search daywise sorting from %1 to %2 of %3',False,$start,$end,$events);
680
+				$this->debug_message('socalendar::search daywise sorting from %1 to %2 of %3', False, $start, $end, $events);
681 681
 			}
682 682
 			// create empty entries for each day in the reported time
683
-			for($ts = $start; $ts <= $end; $ts += DAY_s) // good enough for array creation, but see while loop below.
683
+			for ($ts = $start; $ts <= $end; $ts += DAY_s) // good enough for array creation, but see while loop below.
684 684
 			{
685 685
 				$daysEvents[$this->date2string($ts)] = array();
686 686
 			}
687
-			foreach($events as $k => $event)
687
+			foreach ($events as $k => $event)
688 688
 			{
689
-				$e_start = max($this->date2ts($event['start']),$start);
689
+				$e_start = max($this->date2ts($event['start']), $start);
690 690
 				// $event['end']['raw']-1 to allow events to end on a full hour/day without the need to enter it as minute=59
691
-				$e_end   = min($this->date2ts($event['end'])-1,$end);
691
+				$e_end   = min($this->date2ts($event['end']) - 1, $end);
692 692
 
693 693
 				// add event to each day in the reported time
694 694
 				$ts = $e_start;
@@ -697,23 +697,23 @@  discard block
 block discarded – undo
697 697
 				$ymd = null;
698 698
 				while ($ts <= $e_end)
699 699
 				{
700
-					$daysEvents[$ymd = $this->date2string($ts)][] =& $events[$k];
701
-					$ts = strtotime("+1 day",$ts);
700
+					$daysEvents[$ymd = $this->date2string($ts)][] = & $events[$k];
701
+					$ts = strtotime("+1 day", $ts);
702 702
 				}
703 703
 				if ($ymd != ($last = $this->date2string($e_end)))
704 704
 				{
705
-					$daysEvents[$last][] =& $events[$k];
705
+					$daysEvents[$last][] = & $events[$k];
706 706
 				}
707 707
 			}
708
-			$events =& $daysEvents;
708
+			$events = & $daysEvents;
709 709
 			if ($this->debug && ($this->debug > 2 || $this->debug == 'search'))
710 710
 			{
711
-				$this->debug_message('socalendar::search daywise events=%1',False,$events);
711
+				$this->debug_message('socalendar::search daywise events=%1', False, $events);
712 712
 			}
713 713
 		}
714 714
 		if ($this->debug && ($this->debug > 0 || $this->debug == 'search'))
715 715
 		{
716
-			$this->debug_message('calendar_bo::search(%1)=%2',True,$params,$events);
716
+			$this->debug_message('calendar_bo::search(%1)=%2', True, $params, $events);
717 717
 		}
718 718
 		//error_log(__METHOD__."() returning ".count($events)." entries, total=$this->total ".function_backtrace());
719 719
 		return $events;
@@ -726,9 +726,9 @@  discard block
 block discarded – undo
726 726
 	 * @param string $part
727 727
 	 * @return array
728 728
 	 */
729
-	static function integration_get_data($app,$part=null)
729
+	static function integration_get_data($app, $part = null)
730 730
 	{
731
-		static $integration_data=null;
731
+		static $integration_data = null;
732 732
 
733 733
 		if (!isset($integration_data))
734 734
 		{
@@ -750,14 +750,14 @@  discard block
 block discarded – undo
750 750
 	 * @param int|string $id
751 751
 	 * @return string
752 752
 	 */
753
-	static function integration_get_private($app,$id,$event)
753
+	static function integration_get_private($app, $id, $event)
754 754
 	{
755
-		$app_data = self::integration_get_data($app,'is_private');
755
+		$app_data = self::integration_get_data($app, 'is_private');
756 756
 
757 757
 		// no method, fall back to link title
758 758
 		if (is_null($app_data))
759 759
 		{
760
-			$is_private = !Link::title($app,$id);
760
+			$is_private = !Link::title($app, $id);
761 761
 		}
762 762
 		// boolean value to make all events of $app public (false) or private (true)
763 763
 		elseif (is_bool($app_data))
@@ -766,7 +766,7 @@  discard block
 block discarded – undo
766 766
 		}
767 767
 		else
768 768
 		{
769
-			$is_private = (bool)ExecMethod2($app_data,$id,$event);
769
+			$is_private = (bool)ExecMethod2($app_data, $id, $event);
770 770
 		}
771 771
 		//echo '<p>'.__METHOD__."($app,$id,) app_data=".array2string($app_data).' returning '.array2string($is_private)."</p>\n";
772 772
 		return $is_private;
@@ -780,7 +780,7 @@  discard block
 block discarded – undo
780 780
 	 * @param array &$event
781 781
 	 * @param array $allowed_participants ids of the allowed participants, eg. the ones the search is over or eg. the owner of the calendar
782 782
 	 */
783
-	function clear_private_infos(&$event,$allowed_participants = array())
783
+	function clear_private_infos(&$event, $allowed_participants = array())
784 784
 	{
785 785
 		if ($event == false) return;
786 786
 		if (!is_array($event['participants'])) error_log(__METHOD__.'('.array2string($event).', '.array2string($allowed_participants).') NO PARTICIPANTS '.function_backtrace());
@@ -796,19 +796,19 @@  discard block
 block discarded – undo
796 796
 			'owner'		=> $event['owner'],
797 797
 			'uid'	=> $event['uid'],
798 798
 			'etag'	=> $event['etag'],
799
-			'participants' => array_intersect_key($event['participants'],array_flip($allowed_participants)),
799
+			'participants' => array_intersect_key($event['participants'], array_flip($allowed_participants)),
800 800
 			'public'=> 0,
801
-			'category' => $event['category'],	// category is visible anyway, eg. by using planner by cat
801
+			'category' => $event['category'], // category is visible anyway, eg. by using planner by cat
802 802
 			'non_blocking' => $event['non_blocking'],
803 803
 			'caldav_name' => $event['caldav_name'],
804 804
 		// we need full recurrence information, as they are relevant free/busy information
805
-		)+($event['recur_type'] ? array(
805
+		) + ($event['recur_type'] ? array(
806 806
 			'recur_type'     => $event['recur_type'],
807 807
 			'recur_interval' => $event['recur_interval'],
808 808
 			'recur_data'     => $event['recur_data'],
809 809
 			'recur_enddate'  => $event['recur_enddate'],
810 810
 			'recur_exception'=> $event['recur_exception'],
811
-		):array(
811
+		) : array(
812 812
 			'reference'      => $event['reference'],
813 813
 			'recurrence'     => $event['recurrence'],
814 814
 		));
@@ -822,15 +822,15 @@  discard block
 block discarded – undo
822 822
 	 */
823 823
 	function check_move_horizont($_new_horizont)
824 824
 	{
825
-		if ((int) $this->debug >= 2 || $this->debug == 'check_move_horizont')
825
+		if ((int)$this->debug >= 2 || $this->debug == 'check_move_horizont')
826 826
 		{
827
-			$this->debug_message('calendar_bo::check_move_horizont(%1) horizont=%2',true,$_new_horizont,(int)$this->config['horizont']);
827
+			$this->debug_message('calendar_bo::check_move_horizont(%1) horizont=%2', true, $_new_horizont, (int)$this->config['horizont']);
828 828
 		}
829
-		$new_horizont = $this->date2ts($_new_horizont,true);	// now we are in server-time, where this function operates
829
+		$new_horizont = $this->date2ts($_new_horizont, true); // now we are in server-time, where this function operates
830 830
 
831 831
 		if ($new_horizont <= $this->config['horizont'])	// no move necessary
832 832
 		{
833
-			if ($this->debug == 'check_move_horizont') $this->debug_message('calendar_bo::check_move_horizont(%1) horizont=%2 is bigger ==> nothing to do',true,$new_horizont,(int)$this->config['horizont']);
833
+			if ($this->debug == 'check_move_horizont') $this->debug_message('calendar_bo::check_move_horizont(%1) horizont=%2 is bigger ==> nothing to do', true, $new_horizont, (int)$this->config['horizont']);
834 834
 			return;
835 835
 		}
836 836
 		if (!empty($GLOBALS['egw_info']['server']['calendar_horizont']))
@@ -838,15 +838,15 @@  discard block
 block discarded – undo
838 838
 			$maxdays = abs($GLOBALS['egw_info']['server']['calendar_horizont']);
839 839
 		}
840 840
 		if (empty($maxdays)) $maxdays = 1000; // old default
841
-		if ($new_horizont > time()+$maxdays*DAY_s)		// some user tries to "look" more then the maximum number of days in the future
841
+		if ($new_horizont > time() + $maxdays * DAY_s)		// some user tries to "look" more then the maximum number of days in the future
842 842
 		{
843
-			if ($this->debug == 'check_move_horizont') $this->debug_message('calendar_bo::check_move_horizont(%1) horizont=%2 new horizont more then %3 days from now --> ignoring it',true,$new_horizont,(int)$this->config['horizont'],$maxdays);
844
-			$this->warnings['horizont'] = lang('Requested date %1 outside allowed range of %2 days: recurring events obmitted!', Api\DateTime::to($new_horizont,true), $maxdays);
843
+			if ($this->debug == 'check_move_horizont') $this->debug_message('calendar_bo::check_move_horizont(%1) horizont=%2 new horizont more then %3 days from now --> ignoring it', true, $new_horizont, (int)$this->config['horizont'], $maxdays);
844
+			$this->warnings['horizont'] = lang('Requested date %1 outside allowed range of %2 days: recurring events obmitted!', Api\DateTime::to($new_horizont, true), $maxdays);
845 845
 			return;
846 846
 		}
847
-		if ($new_horizont < time()+31*DAY_s)
847
+		if ($new_horizont < time() + 31 * DAY_s)
848 848
 		{
849
-			$new_horizont = time()+31*DAY_s;
849
+			$new_horizont = time() + 31 * DAY_s;
850 850
 		}
851 851
 		$old_horizont = $this->config['horizont'];
852 852
 		$this->config['horizont'] = $new_horizont;
@@ -854,21 +854,21 @@  discard block
 block discarded – undo
854 854
 		// create further recurrences for all recurring and not yet (at the old horizont) ended events
855 855
 		if (($recuring = $this->so->unfinished_recuring($old_horizont)))
856 856
 		{
857
-			@set_time_limit(0);	// disable time-limit, in case it takes longer to calculate the recurrences
858
-			foreach($this->read(array_keys($recuring)) as $cal_id => $event)
857
+			@set_time_limit(0); // disable time-limit, in case it takes longer to calculate the recurrences
858
+			foreach ($this->read(array_keys($recuring)) as $cal_id => $event)
859 859
 			{
860 860
 				if ($this->debug == 'check_move_horizont')
861 861
 				{
862
-					$this->debug_message('calendar_bo::check_move_horizont(%1): calling set_recurrences(%2,%3)',true,$new_horizont,$event,$old_horizont);
862
+					$this->debug_message('calendar_bo::check_move_horizont(%1): calling set_recurrences(%2,%3)', true, $new_horizont, $event, $old_horizont);
863 863
 				}
864 864
 				// insert everything behind max(cal_start), which can be less then $old_horizont because of bugs in the past
865
-				$this->set_recurrences($event,Api\DateTime::server2user($recuring[$cal_id]+1));	// set_recurences operates in user-time!
865
+				$this->set_recurrences($event, Api\DateTime::server2user($recuring[$cal_id] + 1)); // set_recurences operates in user-time!
866 866
 			}
867 867
 		}
868 868
 		// update the horizont
869
-		Api\Config::save_value('horizont',$this->config['horizont'],'calendar');
869
+		Api\Config::save_value('horizont', $this->config['horizont'], 'calendar');
870 870
 
871
-		if ($this->debug == 'check_move_horizont') $this->debug_message('calendar_bo::check_move_horizont(%1) new horizont=%2, exiting',true,$new_horizont,(int)$this->config['horizont']);
871
+		if ($this->debug == 'check_move_horizont') $this->debug_message('calendar_bo::check_move_horizont(%1) new horizont=%2, exiting', true, $new_horizont, (int)$this->config['horizont']);
872 872
 	}
873 873
 
874 874
 	/**
@@ -879,11 +879,11 @@  discard block
 block discarded – undo
879 879
 	 * @param array $event
880 880
 	 * @param mixed $start =0 minimum start-time for new recurrences or !$start = since the start of the event
881 881
 	 */
882
-	function set_recurrences($event,$start=0)
882
+	function set_recurrences($event, $start = 0)
883 883
 	{
884
-		if ($this->debug && ((int) $this->debug >= 2 || $this->debug == 'set_recurrences' || $this->debug == 'check_move_horizont'))
884
+		if ($this->debug && ((int)$this->debug >= 2 || $this->debug == 'set_recurrences' || $this->debug == 'check_move_horizont'))
885 885
 		{
886
-			$this->debug_message('calendar_bo::set_recurrences(%1,%2)',true,$event,$start);
886
+			$this->debug_message('calendar_bo::set_recurrences(%1,%2)', true, $event, $start);
887 887
 		}
888 888
 		// check if the caller gave us enough information and if not read it from the DB
889 889
 		if (!isset($event['participants']) || !isset($event['start']) || !isset($event['end']))
@@ -904,29 +904,29 @@  discard block
 block discarded – undo
904 904
 		$read_start = new Api\DateTime($event_read['start']);
905 905
 
906 906
 		$events = array();
907
-		$this->insert_all_recurrences($event,$start,$this->date2usertime($this->config['horizont']),$events);
907
+		$this->insert_all_recurrences($event, $start, $this->date2usertime($this->config['horizont']), $events);
908 908
 
909 909
 		$exceptions = array();
910
-		foreach((array)$event['recur_exception'] as $exception)
910
+		foreach ((array)$event['recur_exception'] as $exception)
911 911
 		{
912
-			$exceptions[] = Api\DateTime::to($exception, true);	// true = date
912
+			$exceptions[] = Api\DateTime::to($exception, true); // true = date
913 913
 		}
914
-		foreach($events as $event)
914
+		foreach ($events as $event)
915 915
 		{
916 916
 			$is_exception = in_array(Api\DateTime::to($event['start'], true), $exceptions);
917
-			$start = $this->date2ts($event['start'],true);
917
+			$start = $this->date2ts($event['start'], true);
918 918
 			if ($event['whole_day'])
919 919
 			{
920 920
 				$start = new Api\DateTime($event['start'], Api\DateTime::$server_timezone);
921
-				$start->setTime(0,0,0);
921
+				$start->setTime(0, 0, 0);
922 922
 				$start = $start->format('ts');
923 923
 				$time = $this->so->startOfDay(new Api\DateTime($event['end'], Api\DateTime::$user_timezone));
924 924
 				$time->setTime(23, 59, 59);
925
-				$end = $this->date2ts($time,true);
925
+				$end = $this->date2ts($time, true);
926 926
 			}
927 927
 			else
928 928
 			{
929
-				$end = $this->date2ts($event['end'],true);
929
+				$end = $this->date2ts($event['end'], true);
930 930
 			}
931 931
 			//error_log(__METHOD__."() start=".Api\DateTime::to($start).", is_exception=".array2string($is_exception));
932 932
 			$this->so->recurrence($event['id'], $start, $end, $event['participants'], $is_exception);
@@ -942,7 +942,7 @@  discard block
 block discarded – undo
942 942
 	 * @param array &$events array of event-arrays (reference)
943 943
 	 * @param $date_format ='ts' date-formats: 'ts'=timestamp, 'server'=timestamp in server-time, 'array'=array or string with date-format
944 944
 	 */
945
-	function db2data(&$events,$date_format='ts')
945
+	function db2data(&$events, $date_format = 'ts')
946 946
 	{
947 947
 		if (!is_array($events)) echo "<p>calendar_bo::db2data(\$events,$date_format) \$events is no array<br />\n".function_backtrace()."</p>\n";
948 948
 		foreach ($events as &$event)
@@ -955,65 +955,65 @@  discard block
 block discarded – undo
955 955
 			// database returns timestamps as string, convert them to integer
956 956
 			// to avoid misinterpretation by Api\DateTime as Ymd string
957 957
 			// (this will fail on 32bit systems for times > 2038!)
958
-			$event['start'] = (int)$event['start'];	// this is for isWholeDay(), which also calls Api\DateTime
958
+			$event['start'] = (int)$event['start']; // this is for isWholeDay(), which also calls Api\DateTime
959 959
 			$event['end'] = (int)$event['end'];
960 960
 			$event['whole_day'] = self::isWholeDay($event);
961 961
 			if ($event['whole_day'] && $date_format != 'server')
962 962
 			{
963 963
 				// Adjust dates to user TZ
964
-				$stime =& $this->so->startOfDay(new Api\DateTime((int)$event['start'], Api\DateTime::$server_timezone), $event['tzid']);
964
+				$stime = & $this->so->startOfDay(new Api\DateTime((int)$event['start'], Api\DateTime::$server_timezone), $event['tzid']);
965 965
 				$event['start'] = Api\DateTime::to($stime, $date_format);
966
-				$time =& $this->so->startOfDay(new Api\DateTime((int)$event['end'], Api\DateTime::$server_timezone), $event['tzid']);
966
+				$time = & $this->so->startOfDay(new Api\DateTime((int)$event['end'], Api\DateTime::$server_timezone), $event['tzid']);
967 967
 				$time->setTime(23, 59, 59);
968 968
 				$event['end'] = Api\DateTime::to($time, $date_format);
969 969
 				if (!empty($event['recurrence']))
970 970
 				{
971
-					$time =& $this->so->startOfDay(new Api\DateTime((int)$event['recurrence'], Api\DateTime::$server_timezone), $event['tzid']);
971
+					$time = & $this->so->startOfDay(new Api\DateTime((int)$event['recurrence'], Api\DateTime::$server_timezone), $event['tzid']);
972 972
 					$event['recurrence'] = Api\DateTime::to($time, $date_format);
973 973
 				}
974 974
 				if (!empty($event['recur_enddate']))
975 975
 				{
976
-					$time =& $this->so->startOfDay(new Api\DateTime((int)$event['recur_enddate'], Api\DateTime::$server_timezone), $event['tzid']);
976
+					$time = & $this->so->startOfDay(new Api\DateTime((int)$event['recur_enddate'], Api\DateTime::$server_timezone), $event['tzid']);
977 977
 					$time->setTime(23, 59, 59);
978 978
 					$event['recur_enddate'] = Api\DateTime::to($time, $date_format);
979 979
 				}
980
-				$timestamps = array('modified','created','deleted');
980
+				$timestamps = array('modified', 'created', 'deleted');
981 981
 			}
982 982
 			else
983 983
 			{
984
-				$timestamps = array('start','end','modified','created','recur_enddate','recurrence','recur_date','deleted');
984
+				$timestamps = array('start', 'end', 'modified', 'created', 'recur_enddate', 'recurrence', 'recur_date', 'deleted');
985 985
 			}
986 986
 			// we convert here from the server-time timestamps to user-time and (optional) to a different date-format!
987 987
 			foreach ($timestamps as $ts)
988 988
 			{
989 989
 				if (!empty($event[$ts]))
990 990
 				{
991
-					$event[$ts] = $this->date2usertime((int)$event[$ts],$date_format);
991
+					$event[$ts] = $this->date2usertime((int)$event[$ts], $date_format);
992 992
 				}
993 993
 			}
994 994
 			// same with the recur exceptions
995 995
 			if (isset($event['recur_exception']) && is_array($event['recur_exception']))
996 996
 			{
997
-				foreach($event['recur_exception'] as &$date)
997
+				foreach ($event['recur_exception'] as &$date)
998 998
 				{
999 999
 					if ($event['whole_day'] && $date_format != 'server')
1000 1000
 					{
1001 1001
 						// Adjust dates to user TZ
1002
-						$time =& $this->so->startOfDay(new Api\DateTime((int)$date, Api\DateTime::$server_timezone), $event['tzid']);
1002
+						$time = & $this->so->startOfDay(new Api\DateTime((int)$date, Api\DateTime::$server_timezone), $event['tzid']);
1003 1003
 						$date = Api\DateTime::to($time, $date_format);
1004 1004
 					}
1005 1005
 					else
1006 1006
 					{
1007
-						$date = $this->date2usertime((int)$date,$date_format);
1007
+						$date = $this->date2usertime((int)$date, $date_format);
1008 1008
 					}
1009 1009
 				}
1010 1010
 			}
1011 1011
 			// same with the alarms
1012 1012
 			if (isset($event['alarm']) && is_array($event['alarm']))
1013 1013
 			{
1014
-				foreach($event['alarm'] as &$alarm)
1014
+				foreach ($event['alarm'] as &$alarm)
1015 1015
 				{
1016
-					$alarm['time'] = $this->date2usertime((int)$alarm['time'],$date_format);
1016
+					$alarm['time'] = $this->date2usertime((int)$alarm['time'], $date_format);
1017 1017
 				}
1018 1018
 			}
1019 1019
 		}
@@ -1026,11 +1026,11 @@  discard block
 block discarded – undo
1026 1026
 	 * @param string $date_format ='ts' date-formats: 'ts'=timestamp, 'server'=timestamp in server-time, 'array'=array or string with date-format
1027 1027
 	 * @return mixed depending of $date_format
1028 1028
 	 */
1029
-	function date2usertime($ts,$date_format='ts')
1029
+	function date2usertime($ts, $date_format = 'ts')
1030 1030
 	{
1031 1031
 		if (empty($ts) || $date_format == 'server') return $ts;
1032 1032
 
1033
-		return Api\DateTime::server2user($ts,$date_format);
1033
+		return Api\DateTime::server2user($ts, $date_format);
1034 1034
 	}
1035 1035
 
1036 1036
 	/**
@@ -1044,7 +1044,7 @@  discard block
 block discarded – undo
1044 1044
 	 * 	but call clear_private_infos() with the given users
1045 1045
 	 * @return boolean|array event or array of id => event pairs, false if the acl-check went wrong, null if $ids not found
1046 1046
 	 */
1047
-	function read($ids,$date=null,$ignore_acl=False,$date_format='ts',$clear_private_infos_users=null)
1047
+	function read($ids, $date = null, $ignore_acl = False, $date_format = 'ts', $clear_private_infos_users = null)
1048 1048
 	{
1049 1049
 		if (!$ids) return false;
1050 1050
 
@@ -1053,21 +1053,21 @@  discard block
 block discarded – undo
1053 1053
 		$return = null;
1054 1054
 
1055 1055
 		$check = $clear_private_infos_users ? self::ACL_FREEBUSY : Acl::READ;
1056
-		if ($ignore_acl || is_array($ids) || ($return = $this->check_perms($check,$ids,0,$date_format,$date)))
1056
+		if ($ignore_acl || is_array($ids) || ($return = $this->check_perms($check, $ids, 0, $date_format, $date)))
1057 1057
 		{
1058 1058
 			if (is_array($ids) || !isset(self::$cached_event['id']) || self::$cached_event['id'] != $ids ||
1059 1059
 				self::$cached_event_date_format != $date_format ||
1060 1060
 				self::$cached_event['recur_type'] != MCAL_RECUR_NONE && self::$cached_event_date != $date)
1061 1061
 			{
1062
-				$events = $this->so->read($ids,$date ? $this->date2ts($date,true) : 0);
1062
+				$events = $this->so->read($ids, $date ? $this->date2ts($date, true) : 0);
1063 1063
 
1064 1064
 				if ($events)
1065 1065
 				{
1066
-					$this->db2data($events,$date_format);
1066
+					$this->db2data($events, $date_format);
1067 1067
 
1068 1068
 					if (is_array($ids))
1069 1069
 					{
1070
-						$return =& $events;
1070
+						$return = & $events;
1071 1071
 					}
1072 1072
 					else
1073 1073
 					{
@@ -1083,13 +1083,13 @@  discard block
 block discarded – undo
1083 1083
 				$return = self::$cached_event;
1084 1084
 			}
1085 1085
 		}
1086
-		if ($clear_private_infos_users && !is_array($ids) && !$this->check_perms(Acl::READ,$return))
1086
+		if ($clear_private_infos_users && !is_array($ids) && !$this->check_perms(Acl::READ, $return))
1087 1087
 		{
1088 1088
 			$this->clear_private_infos($return, (array)$clear_private_infos_users);
1089 1089
 		}
1090 1090
 		if ($this->debug && ($this->debug > 1 || $this->debug == 'read'))
1091 1091
 		{
1092
-			$this->debug_message('calendar_bo::read(%1,%2,%3,%4,%5)=%6',True,$ids,$date,$ignore_acl,$date_format,$clear_private_infos_users,$return);
1092
+			$this->debug_message('calendar_bo::read(%1,%2,%3,%4,%5)=%6', True, $ids, $date, $ignore_acl, $date_format, $clear_private_infos_users, $return);
1093 1093
 		}
1094 1094
 		return $return;
1095 1095
 	}
@@ -1107,17 +1107,17 @@  discard block
 block discarded – undo
1107 1107
 	 * @param array $events where the repetions get inserted
1108 1108
 	 * @param array $recur_exceptions with date (in Ymd) as key (and True as values), seems not to be used anymore
1109 1109
 	 */
1110
-	function insert_all_recurrences($event,$_start,$end,&$events)
1110
+	function insert_all_recurrences($event, $_start, $end, &$events)
1111 1111
 	{
1112
-		if ((int) $this->debug >= 3 || $this->debug == 'set_recurrences' || $this->debug == 'check_move_horizont' || $this->debug == 'insert_all_recurrences')
1112
+		if ((int)$this->debug >= 3 || $this->debug == 'set_recurrences' || $this->debug == 'check_move_horizont' || $this->debug == 'insert_all_recurrences')
1113 1113
 		{
1114
-			$this->debug_message(__METHOD__.'(%1,%2,%3,&$events)',true,$event,$_start,$end);
1114
+			$this->debug_message(__METHOD__.'(%1,%2,%3,&$events)', true, $event, $_start, $end);
1115 1115
 		}
1116 1116
 		$end_in = $end;
1117 1117
 
1118 1118
 		$start = $this->date2ts($_start);
1119 1119
 		$event_start_ts = $this->date2ts($event['start']);
1120
-		$event_length = $this->date2ts($event['end']) - $event_start_ts;	// we use a constant event-length, NOT a constant end-time!
1120
+		$event_length = $this->date2ts($event['end']) - $event_start_ts; // we use a constant event-length, NOT a constant end-time!
1121 1121
 
1122 1122
 		// if $end is before recur_enddate, use it instead
1123 1123
 		if (!$event['recur_enddate'] || $this->date2ts($event['recur_enddate']) > $this->date2ts($end))
@@ -1126,39 +1126,38 @@  discard block
 block discarded – undo
1126 1126
 			// insert at least the event itself, if it's behind the horizont
1127 1127
 			$event['recur_enddate'] = $this->date2ts($end) < $this->date2ts($event['end']) ? $event['end'] : $end;
1128 1128
 		}
1129
-		$event['recur_enddate'] = is_a($event['recur_enddate'],'DateTime') ?
1130
-				$event['recur_enddate'] :
1131
-				new Api\DateTime($event['recur_enddate'], calendar_timezones::DateTimeZone($event['tzid']));
1129
+		$event['recur_enddate'] = is_a($event['recur_enddate'], 'DateTime') ?
1130
+				$event['recur_enddate'] : new Api\DateTime($event['recur_enddate'], calendar_timezones::DateTimeZone($event['tzid']));
1132 1131
 		// unset exceptions, as we need to add them as recurrence too, but marked as exception
1133 1132
 		unset($event['recur_exception']);
1134 1133
 		// loop over all recurrences and insert them, if they are after $start
1135
- 		$rrule = calendar_rrule::event2rrule($event, !$event['whole_day'], Api\DateTime::$user_timezone->getName());	// true = we operate in usertime, like the rest of calendar_bo
1136
-		foreach($rrule as $time)
1134
+ 		$rrule = calendar_rrule::event2rrule($event, !$event['whole_day'], Api\DateTime::$user_timezone->getName()); // true = we operate in usertime, like the rest of calendar_bo
1135
+		foreach ($rrule as $time)
1137 1136
 		{
1138
-			$time->setUser();	// $time is in timezone of event, convert it to usertime used here
1139
-			if($event['whole_day'])
1137
+			$time->setUser(); // $time is in timezone of event, convert it to usertime used here
1138
+			if ($event['whole_day'])
1140 1139
 			{
1141 1140
 				// All day events are processed in server timezone
1142 1141
 				$time->setServer();
1143
-				$time->setTime(0,0,0);
1142
+				$time->setTime(0, 0, 0);
1144 1143
 			}
1145
-			if (($ts = $this->date2ts($time)) < $start-$event_length)
1144
+			if (($ts = $this->date2ts($time)) < $start - $event_length)
1146 1145
 			{
1147 1146
 				//echo "<p>".$time." --> ignored as $ts < $start-$event_length</p>\n";
1148
-				continue;	// to early or original event (returned by interator too)
1147
+				continue; // to early or original event (returned by interator too)
1149 1148
 			}
1150 1149
 
1151 1150
 			$ts_end = $ts + $event_length;
1152 1151
 			// adjust ts_end for whole day events in case it does not fit due to
1153 1152
 			// spans over summer/wintertime adjusted days
1154
-			if($event['whole_day'] && ($arr_end = $this->date2array($ts_end)) &&
1153
+			if ($event['whole_day'] && ($arr_end = $this->date2array($ts_end)) &&
1155 1154
 				!($arr_end['hour'] == 23 && $arr_end['minute'] == 59 && $arr_end['second'] == 59))
1156 1155
 			{
1157 1156
 				$arr_end['hour'] = 23;
1158 1157
 				$arr_end['minute'] = 59;
1159 1158
 				$arr_end['second'] = 59;
1160 1159
 				$ts_end_guess = $this->date2ts($arr_end);
1161
-				if($ts_end_guess - $ts_end > DAY_s/2)
1160
+				if ($ts_end_guess - $ts_end > DAY_s / 2)
1162 1161
 				{
1163 1162
 					$ts_end = $ts_end_guess - DAY_s; // $ts_end_guess was one day too far in the future
1164 1163
 				}
@@ -1172,11 +1171,11 @@  discard block
 block discarded – undo
1172 1171
 			$event['end'] = $ts_end;
1173 1172
 			$events[] = $event;
1174 1173
 		}
1175
-		if ($this->debug && ((int) $this->debug > 2 || $this->debug == 'set_recurrences' || $this->debug == 'check_move_horizont' || $this->debug == 'insert_all_recurrences'))
1174
+		if ($this->debug && ((int)$this->debug > 2 || $this->debug == 'set_recurrences' || $this->debug == 'check_move_horizont' || $this->debug == 'insert_all_recurrences'))
1176 1175
 		{
1177 1176
 			$event['start'] = $event_start_ts;
1178 1177
 			$event['end'] = $event_start_ts + $event_length;
1179
-			$this->debug_message(__METHOD__.'(%1,start=%2,end=%3,events) events=%5',True,$event,$_start,$end_in,$events);
1178
+			$this->debug_message(__METHOD__.'(%1,start=%2,end=%3,events) events=%5', True, $event, $_start, $end_in, $events);
1180 1179
 		}
1181 1180
 	}
1182 1181
 
@@ -1187,18 +1186,18 @@  discard block
 block discarded – undo
1187 1186
 	 * @param array $event event to insert, it has start- and end-date of the first recurrence, not of $date_ymd
1188 1187
 	 * @param int|string $date_ymd of the date of the event
1189 1188
 	 */
1190
-	function add_adjusted_event(&$events,$event,$date_ymd)
1189
+	function add_adjusted_event(&$events, $event, $date_ymd)
1191 1190
 	{
1192 1191
 		$event_in = $event;
1193 1192
 		// calculate the new start- and end-time
1194 1193
 		$length_s = $this->date2ts($event['end']) - $this->date2ts($event['start']);
1195 1194
 		$event_start_arr = $this->date2array($event['start']);
1196 1195
 
1197
-		$date_arr = $this->date2array((string) $date_ymd);
1196
+		$date_arr = $this->date2array((string)$date_ymd);
1198 1197
 		$date_arr['hour'] = $event_start_arr['hour'];
1199 1198
 		$date_arr['minute'] = $event_start_arr['minute'];
1200 1199
 		$date_arr['second'] = $event_start_arr['second'];
1201
-		unset($date_arr['raw']);	// else date2ts would use it
1200
+		unset($date_arr['raw']); // else date2ts would use it
1202 1201
 		$event['start'] = $this->date2ts($date_arr);
1203 1202
 		$event['end'] = $event['start'] + $length_s;
1204 1203
 
@@ -1206,7 +1205,7 @@  discard block
 block discarded – undo
1206 1205
 
1207 1206
 		if ($this->debug && ($this->debug > 2 || $this->debug == 'add_adjust_event'))
1208 1207
 		{
1209
-			$this->debug_message('calendar_bo::add_adjust_event(,%1,%2) as %3',True,$event_in,$date_ymd,$event);
1208
+			$this->debug_message('calendar_bo::add_adjust_event(,%1,%2) as %3', True, $event_in, $date_ymd, $event);
1210 1209
 		}
1211 1210
 	}
1212 1211
 
@@ -1230,22 +1229,22 @@  discard block
 block discarded – undo
1230 1229
 			{
1231 1230
 				$info = array(
1232 1231
 					'res_id'    => $uid,
1233
-					'email' => $GLOBALS['egw']->accounts->id2name($uid,'account_email'),
1234
-					'name'  => trim($GLOBALS['egw']->accounts->id2name($uid,'account_firstname'). ' ' .
1235
-					$GLOBALS['egw']->accounts->id2name($uid,'account_lastname')),
1232
+					'email' => $GLOBALS['egw']->accounts->id2name($uid, 'account_email'),
1233
+					'name'  => trim($GLOBALS['egw']->accounts->id2name($uid, 'account_firstname').' '.
1234
+					$GLOBALS['egw']->accounts->id2name($uid, 'account_lastname')),
1236 1235
 					'type'  => $GLOBALS['egw']->accounts->get_type($uid),
1237 1236
 					'app'   => 'accounts',
1238 1237
 				);
1239 1238
 			}
1240 1239
 			else
1241 1240
 			{
1242
-				list($info) = $this->resources[$uid[0]]['info'] ? ExecMethod($this->resources[$uid[0]]['info'],substr($uid,1)) : false;
1241
+				list($info) = $this->resources[$uid[0]]['info'] ? ExecMethod($this->resources[$uid[0]]['info'], substr($uid, 1)) : false;
1243 1242
 				if ($info)
1244 1243
 				{
1245 1244
 					$info['type'] = $uid[0];
1246 1245
 					if (!$info['email'] && $info['responsible'])
1247 1246
 					{
1248
-						$info['email'] = $GLOBALS['egw']->accounts->id2name($info['responsible'],'account_email');
1247
+						$info['email'] = $GLOBALS['egw']->accounts->id2name($info['responsible'], 'account_email');
1249 1248
 					}
1250 1249
 					$info['app'] = $this->resources[$uid[0]]['app'];
1251 1250
 				}
@@ -1254,7 +1253,7 @@  discard block
 block discarded – undo
1254 1253
 		}
1255 1254
 		if ($this->debug && ($this->debug > 2 || $this->debug == 'resource_info'))
1256 1255
 		{
1257
-			$this->debug_message('calendar_bo::resource_info(%1) = %2',True,$uid,$res_info_cache[$uid]);
1256
+			$this->debug_message('calendar_bo::resource_info(%1) = %2', True, $uid, $res_info_cache[$uid]);
1258 1257
 		}
1259 1258
 		return $res_info_cache[$uid];
1260 1259
 	}
@@ -1275,7 +1274,7 @@  discard block
 block discarded – undo
1275 1274
 	 * @param int $user =null for which user to check, default current user
1276 1275
 	 * @return boolean true permission granted, false for permission denied or null if event not found
1277 1276
 	 */
1278
-	function check_perms($needed,$event=0,$other=0,$date_format='ts',$date_to_read=null,$user=null)
1277
+	function check_perms($needed, $event = 0, $other = 0, $date_format = 'ts', $date_to_read = null, $user = null)
1279 1278
 	{
1280 1279
 		if (!$user) $user = $this->user;
1281 1280
 		if ($user == $this->user)
@@ -1284,13 +1283,13 @@  discard block
 block discarded – undo
1284 1283
 		}
1285 1284
 		else
1286 1285
 		{
1287
-			$grants = $GLOBALS['egw']->acl->get_grants('calendar',true,$user);
1286
+			$grants = $GLOBALS['egw']->acl->get_grants('calendar', true, $user);
1288 1287
 		}
1289 1288
 
1290 1289
 		if ($other && !is_numeric($other))
1291 1290
 		{
1292 1291
 			$resource = $this->resource_info($other);
1293
-			return $needed & $resource['rights'];
1292
+			return $needed&$resource['rights'];
1294 1293
 		}
1295 1294
 		if (is_int($event) && $event == 0)
1296 1295
 		{
@@ -1300,15 +1299,15 @@  discard block
 block discarded – undo
1300 1299
 		{
1301 1300
 			if (!is_array($event))
1302 1301
 			{
1303
-				$event = $this->read($event,$date_to_read,true,$date_format);	// = no ACL check !!!
1302
+				$event = $this->read($event, $date_to_read, true, $date_format); // = no ACL check !!!
1304 1303
 			}
1305 1304
 			if (!is_array($event))
1306 1305
 			{
1307 1306
 				if ($this->xmlrpc)
1308 1307
 				{
1309
-					$GLOBALS['server']->xmlrpc_error($GLOBALS['xmlrpcerr']['not_exist'],$GLOBALS['xmlrpcstr']['not_exist']);
1308
+					$GLOBALS['server']->xmlrpc_error($GLOBALS['xmlrpcerr']['not_exist'], $GLOBALS['xmlrpcstr']['not_exist']);
1310 1309
 				}
1311
-				return null;	// event not found
1310
+				return null; // event not found
1312 1311
 			}
1313 1312
 			$owner = $event['owner'];
1314 1313
 			$private = !$event['public'];
@@ -1316,7 +1315,7 @@  discard block
 block discarded – undo
1316 1315
 		$grant = $grants[$owner];
1317 1316
 
1318 1317
 		// now any ACL rights (but invite rights!) implicate FREEBUSY rights (at least READ has to include FREEBUSY)
1319
-		if ($grant & ~self::ACL_INVITE) $grant |= self::ACL_FREEBUSY;
1318
+		if ($grant&~self::ACL_INVITE) $grant |= self::ACL_FREEBUSY;
1320 1319
 
1321 1320
 		if (is_array($event) && ($needed == Acl::READ || $needed == self::ACL_FREEBUSY))
1322 1321
 		{
@@ -1325,15 +1324,15 @@  discard block
 block discarded – undo
1325 1324
 			//
1326 1325
 			if ($event['participants'] && is_array($event['participants']))
1327 1326
 			{
1328
-				foreach(array_keys($event['participants']) as $uid)
1327
+				foreach (array_keys($event['participants']) as $uid)
1329 1328
 				{
1330
-					if ($uid == $user || $uid < 0 && in_array($user, (array)$GLOBALS['egw']->accounts->members($uid,true)))
1329
+					if ($uid == $user || $uid < 0 && in_array($user, (array)$GLOBALS['egw']->accounts->members($uid, true)))
1331 1330
 					{
1332 1331
 						// if we are a participant, we have an implicite FREEBUSY, READ and PRIVAT grant
1333
-						$grant |= self::ACL_FREEBUSY | Acl::READ | Acl::PRIVAT;
1332
+						$grant |= self::ACL_FREEBUSY|Acl::READ|Acl::PRIVAT;
1334 1333
 						break;
1335 1334
 					}
1336
-					elseif ($grants[$uid] & Acl::READ)
1335
+					elseif ($grants[$uid]&Acl::READ)
1337 1336
 					{
1338 1337
 						// if we have a READ grant from a participant, we dont give an implicit privat grant too
1339 1338
 						$grant |= Acl::READ;
@@ -1352,12 +1351,12 @@  discard block
 block discarded – undo
1352 1351
 		}
1353 1352
 		if ($GLOBALS['egw']->accounts->get_type($owner) == 'g' && $needed == Acl::ADD)
1354 1353
 		{
1355
-			$access = False;	// a group can't be the owner of an event
1354
+			$access = False; // a group can't be the owner of an event
1356 1355
 		}
1357 1356
 		else
1358 1357
 		{
1359
-			$access = $user == $owner || $grant & $needed
1360
-				&& ($needed == self::ACL_FREEBUSY || !$private || $grant & Acl::PRIVAT);
1358
+			$access = $user == $owner || $grant&$needed
1359
+				&& ($needed == self::ACL_FREEBUSY || !$private || $grant&Acl::PRIVAT);
1361 1360
 		}
1362 1361
 		// do NOT allow users to purge deleted events, if we dont have 'userpurge' enabled
1363 1362
 		if ($access && $needed == Acl::DELETE && $event['deleted'] &&
@@ -1368,7 +1367,7 @@  discard block
 block discarded – undo
1368 1367
 		}
1369 1368
 		if ($this->debug && ($this->debug > 2 || $this->debug == 'check_perms'))
1370 1369
 		{
1371
-			$this->debug_message('calendar_bo::check_perms(%1,%2,other=%3,%4,%5,user=%6)=%7',True,ACL_TYPE_IDENTIFER.$needed,$event,$other,$date_format,$date_to_read,$user,$access);
1370
+			$this->debug_message('calendar_bo::check_perms(%1,%2,other=%3,%4,%5,user=%6)=%7', True, ACL_TYPE_IDENTIFER.$needed, $event, $other, $date_format, $date_to_read, $user, $access);
1372 1371
 		}
1373 1372
 		//error_log(__METHOD__."($needed,".array2string($event).",$other,...,$user) returning ".array2string($access));
1374 1373
 		return $access;
@@ -1383,9 +1382,9 @@  discard block
 block discarded – undo
1383 1382
 	 *	array with keys 'second', 'minute', 'hour', 'day' or 'mday' (depricated !), 'month' and 'year'
1384 1383
 	 * @param boolean $user2server =False conversion between user- and server-time; default False == Off
1385 1384
 	 */
1386
-	static function date2ts($date,$user2server=False)
1385
+	static function date2ts($date, $user2server = False)
1387 1386
 	{
1388
-		return $user2server ? Api\DateTime::user2server($date,'ts') : Api\DateTime::to($date,'ts');
1387
+		return $user2server ? Api\DateTime::user2server($date, 'ts') : Api\DateTime::to($date, 'ts');
1389 1388
 	}
1390 1389
 
1391 1390
 	/**
@@ -1395,9 +1394,9 @@  discard block
 block discarded – undo
1395 1394
 	 * @param boolean $server2user conversation between user- and server-time default False == Off
1396 1395
 	 * @return array with keys 'second', 'minute', 'hour', 'day', 'month', 'year', 'raw' (timestamp) and 'full' (Ymd-string)
1397 1396
 	 */
1398
-	static function date2array($date,$server2user=False)
1397
+	static function date2array($date, $server2user = False)
1399 1398
 	{
1400
-		return $server2user ? Api\DateTime::server2user($date,'array') : Api\DateTime::to($date,'array');
1399
+		return $server2user ? Api\DateTime::server2user($date, 'array') : Api\DateTime::to($date, 'array');
1401 1400
 	}
1402 1401
 
1403 1402
 	/**
@@ -1408,9 +1407,9 @@  discard block
 block discarded – undo
1408 1407
 	 * @param string $format ='Ymd' format of the date to return, eg. 'Y-m-d\TH:i:sO' (2005-11-01T15:30:00+0100)
1409 1408
 	 * @return string date formatted according to $format
1410 1409
 	 */
1411
-	static function date2string($date,$server2user=False,$format='Ymd')
1410
+	static function date2string($date, $server2user = False, $format = 'Ymd')
1412 1411
 	{
1413
-		return $server2user ? Api\DateTime::server2user($date,$format) : Api\DateTime::to($date,$format);
1412
+		return $server2user ? Api\DateTime::server2user($date, $format) : Api\DateTime::to($date, $format);
1414 1413
 	}
1415 1414
 
1416 1415
 	/**
@@ -1420,9 +1419,9 @@  discard block
 block discarded – undo
1420 1419
 	 * @param string|boolean $format ='' default common_prefs[dateformat], common_prefs[timeformat], false=time only, true=date only
1421 1420
 	 * @return string the formated date (incl. time)
1422 1421
 	 */
1423
-	static function format_date($date,$format='')
1422
+	static function format_date($date, $format = '')
1424 1423
 	{
1425
-		return Api\DateTime::to($date,$format);
1424
+		return Api\DateTime::to($date, $format);
1426 1425
 	}
1427 1426
 
1428 1427
 	/**
@@ -1444,7 +1443,7 @@  discard block
 block discarded – undo
1444 1443
 	 * @param mixed $param a variable number of parameters, to be inserted in $msg
1445 1444
 	 *	arrays get serialized with print_r() !
1446 1445
 	 */
1447
-	static function debug_message($msg,$backtrace=True)
1446
+	static function debug_message($msg, $backtrace = True)
1448 1447
 	{
1449 1448
 		static $acl2string = array(
1450 1449
 			0               => 'ACL-UNKNOWN',
@@ -1455,22 +1454,22 @@  discard block
 block discarded – undo
1455 1454
 			Acl::PRIVAT => 'ACL_PRIVATE',
1456 1455
 			self::ACL_FREEBUSY => 'ACL_FREEBUSY',
1457 1456
 		);
1458
-		for($i = 2; $i < func_num_args(); ++$i)
1457
+		for ($i = 2; $i < func_num_args(); ++$i)
1459 1458
 		{
1460 1459
 			$param = func_get_arg($i);
1461 1460
 
1462 1461
 			if (is_null($param))
1463 1462
 			{
1464
-				$param='NULL';
1463
+				$param = 'NULL';
1465 1464
 			}
1466 1465
 			else
1467 1466
 			{
1468
-				switch(gettype($param))
1467
+				switch (gettype($param))
1469 1468
 				{
1470 1469
 					case 'string':
1471
-						if (substr($param,0,strlen(ACL_TYPE_IDENTIFER))== ACL_TYPE_IDENTIFER)
1470
+						if (substr($param, 0, strlen(ACL_TYPE_IDENTIFER)) == ACL_TYPE_IDENTIFER)
1472 1471
 						{
1473
-							$param = (int) substr($param,strlen(ACL_TYPE_IDENTIFER));
1472
+							$param = (int)substr($param, strlen(ACL_TYPE_IDENTIFER));
1474 1473
 							$param = (isset($acl2string[$param]) ? $acl2string[$param] : $acl2string[0])." ($param)";
1475 1474
 						}
1476 1475
 						else
@@ -1493,11 +1492,11 @@  discard block
 block discarded – undo
1493 1492
 						$param = $param ? 'True' : 'False';
1494 1493
 						break;
1495 1494
 					case 'integer':
1496
-						if ($param >= mktime(0,0,0,1,1,2000)) $param = adodb_date('Y-m-d H:i:s',$param)." ($param)";
1495
+						if ($param >= mktime(0, 0, 0, 1, 1, 2000)) $param = adodb_date('Y-m-d H:i:s', $param)." ($param)";
1497 1496
 						break;
1498 1497
 				}
1499 1498
 			}
1500
-			$msg = str_replace('%'.($i-1),$param,$msg);
1499
+			$msg = str_replace('%'.($i - 1), $param, $msg);
1501 1500
 		}
1502 1501
 		error_log($msg);
1503 1502
 		if ($backtrace) error_log(function_backtrace(1));
@@ -1512,7 +1511,7 @@  discard block
 block discarded – undo
1512 1511
 	 * @param boolean $display_day =false should a day-name prefix the date, eg. monday June 20, 2006
1513 1512
 	 * @return string with formated date
1514 1513
 	 */
1515
-	function long_date($_first,$last=0,$display_time=false,$display_day=false)
1514
+	function long_date($_first, $last = 0, $display_time = false, $display_day = false)
1516 1515
 	{
1517 1516
 		$first = $this->date2array($_first);
1518 1517
 		if ($last)
@@ -1527,27 +1526,27 @@  discard block
 block discarded – undo
1527 1526
 
1528 1527
 		if ($display_day)
1529 1528
 		{
1530
-			$range = lang(adodb_date('l',$first['raw'])).($this->common_prefs['dateformat'][0] != 'd' ? ' ' : ', ');
1529
+			$range = lang(adodb_date('l', $first['raw'])).($this->common_prefs['dateformat'][0] != 'd' ? ' ' : ', ');
1531 1530
 		}
1532 1531
 		for ($i = 0; $i < 5; $i += 2)
1533 1532
 		{
1534
-			switch($datefmt[$i])
1533
+			switch ($datefmt[$i])
1535 1534
 			{
1536 1535
 				case 'd':
1537
-					$range .= $first['day'] . ($datefmt[1] == '.' ? '.' : '');
1536
+					$range .= $first['day'].($datefmt[1] == '.' ? '.' : '');
1538 1537
 					if ($first['month'] != $last['month'] || $first['year'] != $last['year'])
1539 1538
 					{
1540 1539
 						if (!$month_before_day)
1541 1540
 						{
1542
-							$range .= ' '.lang(strftime('%B',$first['raw']));
1541
+							$range .= ' '.lang(strftime('%B', $first['raw']));
1543 1542
 						}
1544 1543
 						if ($first['year'] != $last['year'] && $datefmt[0] != 'Y')
1545 1544
 						{
1546
-							$range .= ($datefmt[0] != 'd' ? ', ' : ' ') . $first['year'];
1545
+							$range .= ($datefmt[0] != 'd' ? ', ' : ' ').$first['year'];
1547 1546
 						}
1548 1547
 						if ($display_time)
1549 1548
 						{
1550
-							$range .= ' '.adodb_date($timefmt,$first['raw']);
1549
+							$range .= ' '.adodb_date($timefmt, $first['raw']);
1551 1550
 						}
1552 1551
 						if (!$last)
1553 1552
 						{
@@ -1557,43 +1556,43 @@  discard block
 block discarded – undo
1557 1556
 
1558 1557
 						if ($first['year'] != $last['year'] && $datefmt[0] == 'Y')
1559 1558
 						{
1560
-							$range .= $last['year'] . ', ';
1559
+							$range .= $last['year'].', ';
1561 1560
 						}
1562 1561
 
1563 1562
 						if ($month_before_day)
1564 1563
 						{
1565
-							$range .= lang(strftime('%B',$last['raw']));
1564
+							$range .= lang(strftime('%B', $last['raw']));
1566 1565
 						}
1567 1566
 					}
1568 1567
 					else
1569 1568
 					{
1570 1569
 						if ($display_time)
1571 1570
 						{
1572
-							$range .= ' '.adodb_date($timefmt,$first['raw']);
1571
+							$range .= ' '.adodb_date($timefmt, $first['raw']);
1573 1572
 						}
1574 1573
 						$range .= ' - ';
1575 1574
 					}
1576
-					$range .= ' ' . $last['day'] . ($datefmt[1] == '.' ? '.' : '');
1575
+					$range .= ' '.$last['day'].($datefmt[1] == '.' ? '.' : '');
1577 1576
 					break;
1578 1577
 				case 'm':
1579 1578
 				case 'M':
1580
-					$range .= ' '.lang(strftime('%B',$month_before_day ? $first['raw'] : $last['raw'])) . ' ';
1579
+					$range .= ' '.lang(strftime('%B', $month_before_day ? $first['raw'] : $last['raw'])).' ';
1581 1580
 					break;
1582 1581
 				case 'Y':
1583 1582
 					if ($datefmt[0] != 'm')
1584 1583
 					{
1585
-						$range .= ' ' . ($datefmt[0] == 'Y' ? $first['year'].($datefmt[2] == 'd' ? ', ' : ' ') : $last['year'].' ');
1584
+						$range .= ' '.($datefmt[0] == 'Y' ? $first['year'].($datefmt[2] == 'd' ? ', ' : ' ') : $last['year'].' ');
1586 1585
 					}
1587 1586
 					break;
1588 1587
 			}
1589 1588
 		}
1590 1589
 		if ($display_time && $last)
1591 1590
 		{
1592
-			$range .= ' '.adodb_date($timefmt,$last['raw']);
1591
+			$range .= ' '.adodb_date($timefmt, $last['raw']);
1593 1592
 		}
1594 1593
 		if ($datefmt[4] == 'Y' && $datefmt[0] == 'm')
1595 1594
 		{
1596
-			$range .= ', ' . $last['year'];
1595
+			$range .= ', '.$last['year'];
1597 1596
 		}
1598 1597
 		return $range;
1599 1598
 	}
@@ -1605,25 +1604,25 @@  discard block
 block discarded – undo
1605 1604
 	 * @param int $end_m end time in minutes since 0h
1606 1605
 	 * @param boolean $both =false display the end-time too, duration is always displayed
1607 1606
 	 */
1608
-	function timespan($start_m,$end_m,$both=false)
1607
+	function timespan($start_m, $end_m, $both = false)
1609 1608
 	{
1610 1609
 		$duration = $end_m - $start_m;
1611
-		if ($end_m == 24*60-1) ++$duration;
1612
-		$duration = floor($duration/60).lang('h').($duration%60 ? $duration%60 : '');
1610
+		if ($end_m == 24 * 60 - 1) ++$duration;
1611
+		$duration = floor($duration / 60).lang('h').($duration % 60 ? $duration % 60 : '');
1613 1612
 
1614
-		$timespan = $t = Api\DateTime::to('20000101T'.sprintf('%02d',$start_m/60).sprintf('%02d',$start_m%60).'00', false);
1613
+		$timespan = $t = Api\DateTime::to('20000101T'.sprintf('%02d', $start_m / 60).sprintf('%02d', $start_m % 60).'00', false);
1615 1614
 
1616 1615
 		if ($both)	// end-time too
1617 1616
 		{
1618
-			$timespan .= ' - '.Api\DateTime::to('20000101T'.sprintf('%02d',$end_m/60).sprintf('%02d',$end_m%60).'00', false);
1617
+			$timespan .= ' - '.Api\DateTime::to('20000101T'.sprintf('%02d', $end_m / 60).sprintf('%02d', $end_m % 60).'00', false);
1619 1618
 			// dont double am/pm if they are the same in both times
1620
-			if ($this->common_prefs['timeformat'] == 12 && substr($timespan,-2) == substr($t,-2))
1619
+			if ($this->common_prefs['timeformat'] == 12 && substr($timespan, -2) == substr($t, -2))
1621 1620
 			{
1622
-				$timespan = str_replace($t,substr($t,0,-3),$timespan);
1621
+				$timespan = str_replace($t, substr($t, 0, -3), $timespan);
1623 1622
 			}
1624 1623
 			$timespan .= ':';
1625 1624
 		}
1626
-		return $timespan . ' ' . $duration;
1625
+		return $timespan.' '.$duration;
1627 1626
 	}
1628 1627
 
1629 1628
 	/**
@@ -1634,7 +1633,7 @@  discard block
 block discarded – undo
1634 1633
 	* @param boolean $append_email =false append email (Name <email>)
1635 1634
 	* @return string with name
1636 1635
 	*/
1637
-	function participant_name($id,$use_type=false, $append_email=false)
1636
+	function participant_name($id, $use_type = false, $append_email = false)
1638 1637
 	{
1639 1638
 		static $id2lid = array();
1640 1639
 		static $id2email = array();
@@ -1655,7 +1654,7 @@  discard block
 block discarded – undo
1655 1654
 			else
1656 1655
 			{
1657 1656
 				$id2lid[$id] = Api\Accounts::username($id);
1658
-				$id2email[$id] = $GLOBALS['egw']->accounts->id2name($id,'account_email');
1657
+				$id2email[$id] = $GLOBALS['egw']->accounts->id2name($id, 'account_email');
1659 1658
 			}
1660 1659
 		}
1661 1660
 		return $id2lid[$id].(($append_email || $id[0] == 'e') && $id2email[$id] ? ' <'.$id2email[$id].'>' : '');
@@ -1669,37 +1668,37 @@  discard block
 block discarded – undo
1669 1668
 	* @param boolean $show_group_invitation =false show group-invitations (status == 'G') or not (default)
1670 1669
 	* @return array with id / names with status pairs
1671 1670
 	*/
1672
-	function participants($event,$long_status=false,$show_group_invitation=false)
1671
+	function participants($event, $long_status = false, $show_group_invitation = false)
1673 1672
 	{
1674 1673
 		//error_log(__METHOD__.__LINE__.array2string($event['participants']));
1675 1674
 		$names = array();
1676
-		foreach((array)$event['participants'] as $id => $status)
1675
+		foreach ((array)$event['participants'] as $id => $status)
1677 1676
 		{
1678 1677
 			if (!is_string($status)) continue;
1679 1678
 			$quantity = $role = null;
1680
-			calendar_so::split_status($status,$quantity,$role);
1679
+			calendar_so::split_status($status, $quantity, $role);
1681 1680
 
1682
-			if ($status == 'G' && !$show_group_invitation) continue;	// dont show group-invitation
1681
+			if ($status == 'G' && !$show_group_invitation) continue; // dont show group-invitation
1683 1682
 
1684 1683
 			$lang_status = lang($this->verbose_status[$status]);
1685 1684
 			if (!$long_status)
1686 1685
 			{
1687
-				switch($status[0])
1686
+				switch ($status[0])
1688 1687
 				{
1689 1688
 					case 'A':	// accepted
1690
-						$status = Api\Html::image('calendar','accepted',$lang_status);
1689
+						$status = Api\Html::image('calendar', 'accepted', $lang_status);
1691 1690
 						break;
1692 1691
 					case 'R':	// rejected
1693
-						$status = Api\Html::image('calendar','rejected',$lang_status);
1692
+						$status = Api\Html::image('calendar', 'rejected', $lang_status);
1694 1693
 						break;
1695 1694
 					case 'T':	// tentative
1696
-						$status = Api\Html::image('calendar','tentative',$lang_status);
1695
+						$status = Api\Html::image('calendar', 'tentative', $lang_status);
1697 1696
 						break;
1698 1697
 					case 'U':	// no response = unknown
1699
-						$status = Api\Html::image('calendar','needs-action',$lang_status);
1698
+						$status = Api\Html::image('calendar', 'needs-action', $lang_status);
1700 1699
 						break;
1701 1700
 					case 'D':	// delegated
1702
-						$status = Api\Html::image('calendar','forward',$lang_status);
1701
+						$status = Api\Html::image('calendar', 'forward', $lang_status);
1703 1702
 						break;
1704 1703
 					case 'G':	// group invitation
1705 1704
 						// Todo: Image, seems not to be used
@@ -1721,13 +1720,13 @@  discard block
 block discarded – undo
1721 1720
 					$role = lang($this->roles[$role]);
1722 1721
 				}
1723 1722
 				// allow to use cats as roles (beside regular iCal ones)
1724
-				elseif (substr($role,0,6) == 'X-CAT-' && ($cat_id = (int)substr($role,6)) > 0)
1723
+				elseif (substr($role, 0, 6) == 'X-CAT-' && ($cat_id = (int)substr($role, 6)) > 0)
1725 1724
 				{
1726 1725
 					$role = $GLOBALS['egw']->categories->id2name($cat_id);
1727 1726
 				}
1728 1727
 				else
1729 1728
 				{
1730
-					$role = lang(str_replace('X-','',$role));
1729
+					$role = lang(str_replace('X-', '', $role));
1731 1730
 				}
1732 1731
 				$names[$id] .= ' '.$role;
1733 1732
 			}
@@ -1744,13 +1743,13 @@  discard block
 block discarded – undo
1744 1743
 	* @param int $color color of the category, if multiple cats, the color of the last one with color is returned
1745 1744
 	* @return array with id / names
1746 1745
 	*/
1747
-	function categories($category,&$color)
1746
+	function categories($category, &$color)
1748 1747
 	{
1749 1748
 		static $id2cat = array();
1750 1749
 		$cats = array();
1751 1750
 		$color = 0;
1752 1751
 
1753
-		foreach(explode(',',$category) as $cat_id)
1752
+		foreach (explode(',', $category) as $cat_id)
1754 1753
 		{
1755 1754
 			if (!$cat_id) continue;
1756 1755
 
@@ -1765,7 +1764,7 @@  discard block
 block discarded – undo
1765 1764
 			{
1766 1765
 				$color = $cat['data']['color'];
1767 1766
 			}
1768
-			elseif(preg_match('/(#[0-9A-Fa-f]{6})/', $cat['description'], $parts))
1767
+			elseif (preg_match('/(#[0-9A-Fa-f]{6})/', $cat['description'], $parts))
1769 1768
 			{
1770 1769
 				$color = $parts[1];
1771 1770
 			}
@@ -1777,12 +1776,12 @@  discard block
 block discarded – undo
1777 1776
 	/**
1778 1777
 	 *  This is called only by list_cals().  It was moved here to remove fatal error in php5 beta4
1779 1778
 	 */
1780
-	private static function _list_cals_add($id,&$users,&$groups)
1779
+	private static function _list_cals_add($id, &$users, &$groups)
1781 1780
 	{
1782 1781
 		$name = Api\Accounts::username($id);
1783 1782
 		if (!($egw_name = $GLOBALS['egw']->accounts->id2name($id)))
1784 1783
 		{
1785
-			return;	// do not return no longer existing accounts which eg. still mentioned in acl
1784
+			return; // do not return no longer existing accounts which eg. still mentioned in acl
1786 1785
 		}
1787 1786
 		if (($type = $GLOBALS['egw']->accounts->get_type($id)) == 'g')
1788 1787
 		{
@@ -1794,7 +1793,7 @@  discard block
 block discarded – undo
1794 1793
 		}
1795 1794
 		$arr[$id] = array(
1796 1795
 			'grantor' => $id,
1797
-			'value'   => ($type == 'g' ? 'g_' : '') . $id,
1796
+			'value'   => ($type == 'g' ? 'g_' : '').$id,
1798 1797
 			'name'    => $name,
1799 1798
 			'sname'	  => $egw_name
1800 1799
 		);
@@ -1816,26 +1815,26 @@  discard block
 block discarded – undo
1816 1815
 	 * @param int $user account_id of user to generate list for
1817 1816
 	 * @param array $grants =null calendar grants from user, or null to query them from acl class
1818 1817
 	 */
1819
-	public static function list_calendars($user, array $grants=null)
1818
+	public static function list_calendars($user, array $grants = null)
1820 1819
 	{
1821 1820
 		if (is_null($grants)) $grants = $GLOBALS['egw']->acl->get_grants('calendar', true, $user);
1822 1821
 
1823 1822
 		$users = $groups = array();
1824
-		foreach(array_keys($grants) as $id)
1823
+		foreach (array_keys($grants) as $id)
1825 1824
 		{
1826
-			self::_list_cals_add($id,$users,$groups);
1825
+			self::_list_cals_add($id, $users, $groups);
1827 1826
 		}
1828 1827
 		if (($memberships = $GLOBALS['egw']->accounts->memberships($user, true)))
1829 1828
 		{
1830
-			foreach($memberships as $group)
1829
+			foreach ($memberships as $group)
1831 1830
 			{
1832
-				self::_list_cals_add($group,$users,$groups);
1831
+				self::_list_cals_add($group, $users, $groups);
1833 1832
 
1834
-				if (($account_perms = $GLOBALS['egw']->acl->get_ids_for_location($group,Acl::READ,'calendar')))
1833
+				if (($account_perms = $GLOBALS['egw']->acl->get_ids_for_location($group, Acl::READ, 'calendar')))
1835 1834
 				{
1836
-					foreach($account_perms as $id)
1835
+					foreach ($account_perms as $id)
1837 1836
 					{
1838
-						self::_list_cals_add($id,$users,$groups);
1837
+						self::_list_cals_add($id, $users, $groups);
1839 1838
 					}
1840 1839
 				}
1841 1840
 			}
@@ -1843,7 +1842,7 @@  discard block
 block discarded – undo
1843 1842
 		usort($users, array(__CLASS__, 'name_cmp'));
1844 1843
 		usort($groups, array(__CLASS__, 'name_cmp'));
1845 1844
 
1846
-		return array_merge($users, $groups);	// users first and then groups, both alphabeticaly
1845
+		return array_merge($users, $groups); // users first and then groups, both alphabeticaly
1847 1846
 	}
1848 1847
 
1849 1848
 	/**
@@ -1883,28 +1882,27 @@  discard block
 block discarded – undo
1883 1882
 	 *	month: numerical month
1884 1883
 	 *	occurence: numerical year or 0 for every year
1885 1884
 	 */
1886
-	function read_holidays($year=0)
1885
+	function read_holidays($year = 0)
1887 1886
 	{
1888
-		if (!$year) $year = (int) date('Y',$this->now_su);
1887
+		if (!$year) $year = (int)date('Y', $this->now_su);
1889 1888
 
1890 1889
 		$holidays = calendar_holidays::read(
1891 1890
 				!empty($GLOBALS['egw_info']['server']['ical_holiday_url']) ?
1892
-				$GLOBALS['egw_info']['server']['ical_holiday_url'] :
1893
-				$GLOBALS['egw_info']['user']['preferences']['common']['country'], $year);
1891
+				$GLOBALS['egw_info']['server']['ical_holiday_url'] : $GLOBALS['egw_info']['user']['preferences']['common']['country'], $year);
1894 1892
 
1895 1893
 		// search for birthdays
1896 1894
 		if ($GLOBALS['egw_info']['server']['hide_birthdays'] != 'yes')
1897 1895
 		{
1898 1896
 			$contacts = new Api\Contacts();
1899
-			foreach($contacts->get_addressbooks() as $owner => $name)
1897
+			foreach ($contacts->get_addressbooks() as $owner => $name)
1900 1898
 			{
1901 1899
 				$holidays += $contacts->read_birthdays($owner, $year);
1902 1900
 			}
1903 1901
 		}
1904 1902
 
1905
-		if ((int) $this->debug >= 2 || $this->debug == 'read_holidays')
1903
+		if ((int)$this->debug >= 2 || $this->debug == 'read_holidays')
1906 1904
 		{
1907
-			$this->debug_message('calendar_bo::read_holidays(%1)=%2',true,$year,$holidays);
1905
+			$this->debug_message('calendar_bo::read_holidays(%1)=%2', true, $year, $holidays);
1908 1906
 		}
1909 1907
 		return $holidays;
1910 1908
 	}
@@ -1915,10 +1913,10 @@  discard block
 block discarded – undo
1915 1913
 	 * @param type $event
1916 1914
 	 * @return array array of selected calendar fields
1917 1915
 	 */
1918
-	public static function get_link_options ($event = array())
1916
+	public static function get_link_options($event = array())
1919 1917
 	{
1920
-		unset($event);	// not used, but required by function signature
1921
-		$options = array (
1918
+		unset($event); // not used, but required by function signature
1919
+		$options = array(
1922 1920
 			'end' => lang('End date'),
1923 1921
 			'id' => lang('ID'),
1924 1922
 			'owner' => lang('Event owner'),
@@ -1945,7 +1943,7 @@  discard block
 block discarded – undo
1945 1943
 			list($id, $recur) = explode('-', $event, 2);
1946 1944
 			$event = $this->read($id, $recur);
1947 1945
 		}
1948
-		else if (!is_array($event) && (int) $event > 0)
1946
+		else if (!is_array($event) && (int)$event > 0)
1949 1947
 		{
1950 1948
 			$event = $this->read($event);
1951 1949
 		}
@@ -1953,7 +1951,7 @@  discard block
 block discarded – undo
1953 1951
 		{
1954 1952
 			return $event;
1955 1953
 		}
1956
-		$type = explode(',',$this->cal_prefs['link_title']);
1954
+		$type = explode(',', $this->cal_prefs['link_title']);
1957 1955
 		if (is_array($type))
1958 1956
 		{
1959 1957
 			foreach ($type as &$val)
@@ -1979,10 +1977,10 @@  discard block
 block discarded – undo
1979 1977
 						$extra_fields [] = $event[$val];
1980 1978
 				}
1981 1979
 			}
1982
-			$str_fields = implode(', ',$extra_fields);
1983
-			if (is_array($extra_fields)) return $this->format_date($event['start']) . ': ' . $event['title'] . ($str_fields? ', ' . $str_fields:'');
1980
+			$str_fields = implode(', ', $extra_fields);
1981
+			if (is_array($extra_fields)) return $this->format_date($event['start']).': '.$event['title'].($str_fields ? ', '.$str_fields : '');
1984 1982
 		}
1985
-		return $this->format_date($event['start']) . ': ' . $event['title'];
1983
+		return $this->format_date($event['start']).': '.$event['title'];
1986 1984
 	}
1987 1985
 
1988 1986
 	/**
@@ -2001,10 +1999,10 @@  discard block
 block discarded – undo
2001 1999
 			'offset' =>	$options['start'],
2002 2000
 			'order' => 'cal_start DESC',
2003 2001
 		);
2004
-		if($options['num_rows']) {
2002
+		if ($options['num_rows']) {
2005 2003
 			$query['num_rows'] = $options['num_rows'];
2006 2004
 		}
2007
-		foreach((array) $this->search($query) as $event)
2005
+		foreach ((array)$this->search($query) as $event)
2008 2006
 		{
2009 2007
 			$result[$event['id']] = $this->link_title($event);
2010 2008
 		}
@@ -2021,11 +2019,11 @@  discard block
 block discarded – undo
2021 2019
 	 * @param int $user =null for which user to check, default current user
2022 2020
 	 * @return boolean true if access is granted or false otherwise
2023 2021
 	 */
2024
-	function file_access($id,$check,$rel_path,$user=null)
2022
+	function file_access($id, $check, $rel_path, $user = null)
2025 2023
 	{
2026
-		unset($rel_path);	// not used, but required by function signature
2024
+		unset($rel_path); // not used, but required by function signature
2027 2025
 
2028
-		return $this->check_perms($check,$id,0,'ts',null,$user);
2026
+		return $this->check_perms($check, $id, 0, 'ts', null, $user);
2029 2027
 	}
2030 2028
 
2031 2029
 	/**
@@ -2041,36 +2039,36 @@  discard block
 block discarded – undo
2041 2039
 		}
2042 2040
 		Api\Cache::setSession('calendar', 'default_prefs_set', 'set');
2043 2041
 
2044
-		$default_prefs =& $GLOBALS['egw']->preferences->default['calendar'];
2045
-		$forced_prefs  =& $GLOBALS['egw']->preferences->forced['calendar'];
2042
+		$default_prefs = & $GLOBALS['egw']->preferences->default['calendar'];
2043
+		$forced_prefs  = & $GLOBALS['egw']->preferences->forced['calendar'];
2046 2044
 
2047
-		$subject = lang('Calendar Event') . ' - $$action$$: $$startdate$$ $$title$$'."\n";
2045
+		$subject = lang('Calendar Event').' - $$action$$: $$startdate$$ $$title$$'."\n";
2048 2046
 		$values = array(
2049
-			'notifyAdded'     => $subject . lang ('You have a meeting scheduled for %1','$$startdate$$'),
2050
-			'notifyCanceled'  => $subject . lang ('Your meeting scheduled for %1 has been canceled','$$startdate$$'),
2051
-			'notifyModified'  => $subject . lang ('Your meeting that had been scheduled for %1 has been rescheduled to %2','$$olddate$$','$$startdate$$'),
2052
-			'notifyDisinvited'=> $subject . lang ('You have been disinvited from the meeting at %1','$$startdate$$'),
2053
-			'notifyResponse'  => $subject . lang ('On %1 %2 %3 your meeting request for %4','$$date$$','$$fullname$$','$$action$$','$$startdate$$'),
2054
-			'notifyAlarm'     => lang('Alarm for %1 at %2 in %3','$$title$$','$$startdate$$','$$location$$')."\n".lang ('Here is your requested alarm.'),
2047
+			'notifyAdded'     => $subject.lang('You have a meeting scheduled for %1', '$$startdate$$'),
2048
+			'notifyCanceled'  => $subject.lang('Your meeting scheduled for %1 has been canceled', '$$startdate$$'),
2049
+			'notifyModified'  => $subject.lang('Your meeting that had been scheduled for %1 has been rescheduled to %2', '$$olddate$$', '$$startdate$$'),
2050
+			'notifyDisinvited'=> $subject.lang('You have been disinvited from the meeting at %1', '$$startdate$$'),
2051
+			'notifyResponse'  => $subject.lang('On %1 %2 %3 your meeting request for %4', '$$date$$', '$$fullname$$', '$$action$$', '$$startdate$$'),
2052
+			'notifyAlarm'     => lang('Alarm for %1 at %2 in %3', '$$title$$', '$$startdate$$', '$$location$$')."\n".lang('Here is your requested alarm.'),
2055 2053
 			'interval'        => 30,
2056 2054
 		);
2057
-		foreach($values as $var => $default)
2055
+		foreach ($values as $var => $default)
2058 2056
 		{
2059
-			$type = substr($var,0,6) == 'notify' ? 'forced' : 'default';
2057
+			$type = substr($var, 0, 6) == 'notify' ? 'forced' : 'default';
2060 2058
 
2061 2059
 			// only set, if neither default nor forced pref exists
2062 2060
 			if ((!isset($default_prefs[$var]) || (string)$default_prefs[$var] === '') && (!isset($forced_prefs[$var]) || (string)$forced_prefs[$var] === ''))
2063 2061
 			{
2064
-				$GLOBALS['egw']->preferences->add('calendar',$var,$default,'default');	// always store default, even if we have a forced too
2065
-				if ($type == 'forced') $GLOBALS['egw']->preferences->add('calendar',$var,$default,'forced');
2062
+				$GLOBALS['egw']->preferences->add('calendar', $var, $default, 'default'); // always store default, even if we have a forced too
2063
+				if ($type == 'forced') $GLOBALS['egw']->preferences->add('calendar', $var, $default, 'forced');
2066 2064
 				$this->cal_prefs[$var] = $default;
2067 2065
 				$need_save = True;
2068 2066
 			}
2069 2067
 		}
2070 2068
 		if ($need_save)
2071 2069
 		{
2072
-			$GLOBALS['egw']->preferences->save_repository(False,'default');
2073
-			$GLOBALS['egw']->preferences->save_repository(False,'forced');
2070
+			$GLOBALS['egw']->preferences->save_repository(False, 'default');
2071
+			$GLOBALS['egw']->preferences->save_repository(False, 'forced');
2074 2072
 		}
2075 2073
 	}
2076 2074
 
@@ -2080,7 +2078,7 @@  discard block
 block discarded – undo
2080 2078
 	 * @param int|string $user account_id or account_lid
2081 2079
 	 * @param string $pw =null password
2082 2080
 	 */
2083
-	static function freebusy_url($user='',$pw=null)
2081
+	static function freebusy_url($user = '', $pw = null)
2084 2082
 	{
2085 2083
 		if (is_numeric($user)) $user = $GLOBALS['egw']->accounts->id2name($user);
2086 2084
 
@@ -2093,8 +2091,8 @@  discard block
 block discarded – undo
2093 2091
 		elseif ($GLOBALS['egw_info']['user']['preferences']['calendar']['freebusy'] == 2)
2094 2092
 		{
2095 2093
 			$credentials = $GLOBALS['egw_info']['user']['account_lid']
2096
-				. ':' . $GLOBALS['egw_info']['user']['passwd'];
2097
-			$credentials = '&cred=' . base64_encode($credentials);
2094
+				. ':'.$GLOBALS['egw_info']['user']['passwd'];
2095
+			$credentials = '&cred='.base64_encode($credentials);
2098 2096
 		}
2099 2097
 		return (!$GLOBALS['egw_info']['server']['webserver_url'] || $GLOBALS['egw_info']['server']['webserver_url'][0] == '/' ?
2100 2098
 			($_SERVER['HTTPS'] ? 'https://' : 'http://').$_SERVER['HTTP_HOST'] : '').
@@ -2126,11 +2124,11 @@  discard block
 block discarded – undo
2126 2124
 	 * @param string &$schedule_tag=null on return schedule-tag (egw_cal.cal_id:egw_cal.cal_etag, no participant modifications!)
2127 2125
 	 * @return string|boolean string with etag or false
2128 2126
 	 */
2129
-	function get_etag($entry, &$schedule_tag=null)
2127
+	function get_etag($entry, &$schedule_tag = null)
2130 2128
 	{
2131 2129
 		if (!is_array($entry))
2132 2130
 		{
2133
-			list($id,$recur_date) = explode(':',$entry);
2131
+			list($id, $recur_date) = explode(':', $entry);
2134 2132
 			$entry = $this->read($id, $recur_date, true, 'server');
2135 2133
 		}
2136 2134
 		$etag = $schedule_tag = $entry['id'].':'.$entry['etag'];
@@ -2148,15 +2146,15 @@  discard block
 block discarded – undo
2148 2146
 	 * @param boolean $master_only =false only check recurance master (egw_cal_user.recur_date=0)
2149 2147
 	 * @return integer
2150 2148
 	 */
2151
-	public function get_ctag($user, $filter='owner', $master_only=false)
2149
+	public function get_ctag($user, $filter = 'owner', $master_only = false)
2152 2150
 	{
2153 2151
 		if ($this->debug > 1) $startime = microtime(true);
2154 2152
 
2155 2153
 		// resolve users to add memberships for users and members for groups
2156 2154
 		$users = $this->resolve_users($user);
2157
-		$ctag = $users ? $this->so->get_ctag($users, $filter == 'owner', $master_only) : 0;	// no rights, return 0 as ctag (otherwise we get SQL error!)
2155
+		$ctag = $users ? $this->so->get_ctag($users, $filter == 'owner', $master_only) : 0; // no rights, return 0 as ctag (otherwise we get SQL error!)
2158 2156
 
2159
-		if ($this->debug > 1) error_log(__METHOD__. "($user, '$filter', $master_only) = $ctag = ".date('Y-m-d H:i:s',$ctag)." took ".(microtime(true)-$startime)." secs");
2157
+		if ($this->debug > 1) error_log(__METHOD__."($user, '$filter', $master_only) = $ctag = ".date('Y-m-d H:i:s', $ctag)." took ".(microtime(true) - $startime)." secs");
2160 2158
 		return $ctag;
2161 2159
 	}
2162 2160
 
@@ -2176,7 +2174,7 @@  discard block
 block discarded – undo
2176 2174
 
2177 2175
 		$content = array(
2178 2176
 			'info_cat'       => $GLOBALS['egw']->categories->check_list(Acl::READ, $calendar['category']),
2179
-			'info_priority'  => $calendar['priority'] ,
2177
+			'info_priority'  => $calendar['priority'],
2180 2178
 			'info_public'    => $calendar['public'] != 'private',
2181 2179
 			'info_subject'   => $calendar['title'],
2182 2180
 			'info_des'       => $calendar['description'],
@@ -2191,7 +2189,7 @@  discard block
 block discarded – undo
2191 2189
 		$content['link_app'][] = $calendar['info_link']['app'];
2192 2190
 		$content['link_id'][]  = $calendar['info_link']['id'];
2193 2191
 		// Copy claendar's links
2194
-		foreach(Link::get_links('calendar',$calendar['id'],'','link_lastmod DESC',true) as $link)
2192
+		foreach (Link::get_links('calendar', $calendar['id'], '', 'link_lastmod DESC', true) as $link)
2195 2193
 		{
2196 2194
 			if ($link['app'] != Link::VFS_APPNAME)
2197 2195
 			{
@@ -2204,7 +2202,7 @@  discard block
 block discarded – undo
2204 2202
 			}
2205 2203
 		}
2206 2204
 		// Copy same custom fields
2207
-		foreach(array_keys(Api\Storage\Customfields::get('infolog')) as $name)
2205
+		foreach (array_keys(Api\Storage\Customfields::get('infolog')) as $name)
2208 2206
 		{
2209 2207
 			if ($this->customfields[$name]) $content['#'.$name] = $calendar['#'.$name];
2210 2208
 		}
@@ -2222,20 +2220,20 @@  discard block
 block discarded – undo
2222 2220
 	function timesheet_set($data)
2223 2221
 	{
2224 2222
 		$set = array();
2225
-		list($id,$recurrence) = explode(':',$data['id']);
2226
-		if ((int)$id && ($event = $this->read($id,$recurrence)))
2223
+		list($id, $recurrence) = explode(':', $data['id']);
2224
+		if ((int)$id && ($event = $this->read($id, $recurrence)))
2227 2225
 		{
2228 2226
 			$set['ts_start'] = $event['start'];
2229 2227
 			$set['ts_title'] = $this->link_title($event);
2230
-			$set['start_time'] = Api\DateTime::to($event['start'],'H:i');
2228
+			$set['start_time'] = Api\DateTime::to($event['start'], 'H:i');
2231 2229
 			$set['ts_description'] = $event['description'];
2232
-			if ($this->isWholeDay($event)) $event['end']++;	// whole day events are 1sec short
2230
+			if ($this->isWholeDay($event)) $event['end']++; // whole day events are 1sec short
2233 2231
 			$set['ts_duration']	= ($event['end'] - $event['start']) / 60;
2234 2232
 			$set['ts_quantity'] = ($event['end'] - $event['start']) / 3600;
2235
-			$set['end_time'] = null;	// unset end-time
2233
+			$set['end_time'] = null; // unset end-time
2236 2234
 			$set['cat_id'] = (int)$event['category'];
2237 2235
 
2238
-			foreach(Link::get_links('calendar',$id,'','link_lastmod DESC',true) as $link)
2236
+			foreach (Link::get_links('calendar', $id, '', 'link_lastmod DESC', true) as $link)
2239 2237
 			{
2240 2238
 				if ($link['app'] != 'timesheet' && $link['app'] != Link::VFS_APPNAME)
2241 2239
 				{
Please login to merge, or discard this patch.