/**
  * Default constructor
  */
 public function __construct($cal)
 {
     $this->cal = $cal;
     $this->rc = $cal->rc;
     $this->freebusy = true;
     parent::__construct($cal);
     // Set debug state
     if (self::$debug === null) {
         self::$debug = $this->rc->config->get('calendar_ical_debug', false);
     }
     $this->_init_sync_clients();
 }
 /**
  * Default constructor
  */
 public function __construct($cal)
 {
     $this->cal = $cal;
     $this->rc = $cal->rc;
     if (!$this->cal->timezone) {
         try {
             $this->cal->timezone = new DateTimeZone($this->rc->config->get('timezone', 'UTC'));
         } catch (Exception $e) {
             $this->cal->timezone = new DateTimeZone('UTC');
         }
     }
     $this->crypt_key = $this->rc->config->get("calendar_crypt_key", "%E`c{2;<J2F^4_&._BxfQ<5Pf3qv!m{e");
     $this->freebusy = true;
     parent::__construct($cal);
     // Set debug state
     if (self::$debug === null) {
         self::$debug = $this->rc->config->get('calendar_caldav_debug', false);
     }
     $this->_init_sync_clients();
 }