Ejemplo n.º 1
0
 /**
  * Factory method to instantiate a kolab_calendar object
  *
  * @param string  Calendar ID (encoded IMAP folder name)
  * @param object  calendar plugin object
  * @return object kolab_calendar instance
  */
 public static function factory($id, $calendar)
 {
     $imap = $calendar->rc->get_storage();
     $imap_folder = kolab_storage::id_decode($id);
     $info = $imap->folder_info($imap_folder, true);
     if (empty($info) || $info['noselect'] || strpos(kolab_storage::folder_type($imap_folder), 'event') !== 0) {
         return new kolab_user_calendar($imap_folder, $calendar);
     } else {
         return new kolab_calendar($imap_folder, $calendar);
     }
 }
 /**
  * Get the kolab_calendar instance for the given calendar ID
  *
  * @param string List identifier (encoded imap folder name)
  * @return object kolab_storage_folder Object nor null if list doesn't exist
  */
 protected function get_folder($id)
 {
     // create list and folder instance if necesary
     if (!$this->lists[$id]) {
         $folder = kolab_storage::get_folder(kolab_storage::id_decode($id));
         if ($folder->type) {
             $this->folders[$id] = $folder;
             $this->lists[$id] = $this->folder_props($folder, $this->rc->config->get('kolab_tasklists', array()));
         }
     }
     return $this->folders[$id];
 }