Overview

Packages

  • Kronolith
  • None

Classes

  • Kronolith
  • Kronolith_Ajax_Application
  • Kronolith_Ajax_Imple_ContactAutoCompleter
  • Kronolith_Ajax_Imple_Embed
  • Kronolith_Ajax_Imple_TagActions
  • Kronolith_Ajax_Imple_TagAutoCompleter
  • Kronolith_Api
  • Kronolith_Calendar
  • Kronolith_Calendar_External
  • Kronolith_Calendar_External_Tasks
  • Kronolith_Calendar_Holiday
  • Kronolith_Calendar_Internal
  • Kronolith_Calendar_Remote
  • Kronolith_Calendar_Resource
  • Kronolith_Calendars_Base
  • Kronolith_Calendars_Default
  • Kronolith_Calendars_Kolab
  • Kronolith_Day
  • Kronolith_Driver
  • Kronolith_Driver_Holidays
  • Kronolith_Driver_Horde
  • Kronolith_Driver_Ical
  • Kronolith_Driver_Kolab
  • Kronolith_Driver_Mock
  • Kronolith_Driver_Resource
  • Kronolith_Driver_Sql
  • Kronolith_Event
  • Kronolith_Event_Holidays
  • Kronolith_Event_Horde
  • Kronolith_Event_Ical
  • Kronolith_Event_Kolab
  • Kronolith_Event_Resource
  • Kronolith_Event_Sql
  • Kronolith_Exception
  • Kronolith_Factory_Calendars
  • Kronolith_Factory_Geo
  • Kronolith_Form_CreateCalendar
  • Kronolith_Form_CreateResource
  • Kronolith_Form_CreateResourceGroup
  • Kronolith_Form_DeleteCalendar
  • Kronolith_Form_DeleteResource
  • Kronolith_Form_DeleteResourceGroup
  • Kronolith_Form_EditCalendar
  • Kronolith_Form_EditRemoteCalendar
  • Kronolith_Form_EditResource
  • Kronolith_Form_EditResourceGroup
  • Kronolith_Form_SubscribeRemoteCalendar
  • Kronolith_Form_UnsubscribeRemoteCalendar
  • Kronolith_FreeBusy
  • Kronolith_FreeBusy_View
  • Kronolith_FreeBusy_View_Day
  • Kronolith_FreeBusy_View_Month
  • Kronolith_FreeBusy_View_Week
  • Kronolith_FreeBusy_View_Workweek
  • Kronolith_Geo_Base
  • Kronolith_Geo_Mysql
  • Kronolith_Geo_Sql
  • Kronolith_LoginTasks_SystemTask_Upgrade
  • Kronolith_LoginTasks_Task_PurgeEvents
  • Kronolith_Notification_Listener_AjaxStatus
  • Kronolith_Resource
  • Kronolith_Resource_Base
  • Kronolith_Resource_Group
  • Kronolith_Resource_Single
  • Kronolith_Storage
  • Kronolith_Storage_Kolab
  • Kronolith_Storage_Sql
  • Kronolith_Tagger
  • Kronolith_Test
  • Kronolith_View_Day
  • Kronolith_View_DeleteEvent
  • Kronolith_View_EditEvent
  • Kronolith_View_Event
  • Kronolith_View_ExportEvent
  • Kronolith_View_Month
  • Kronolith_View_Week
  • Kronolith_View_WorkWeek
  • Kronolith_View_Year
  • Overview
  • Package
  • Class
  • Tree
  1: <?php
  2: /**
  3:  * Kronolith_Calendar_Resource defines an API for single internal resource
  4:  * calendars.
  5:  *
  6:  * Copyright 2010-2012 Horde LLC (http://www.horde.org/)
  7:  *
  8:  * See the enclosed file COPYING for license information (GPL). If you
  9:  * did not receive this file, see http://www.horde.org/licenses/gpl.
 10:  *
 11:  * @author  Jan Schneider <jan@horde.org>
 12:  * @package Kronolith
 13:  */
 14: class Kronolith_Calendar_Resource extends Kronolith_Calendar
 15: {
 16:     /**
 17:      * The share of this calendar.
 18:      *
 19:      * @var Kronolith_Resource_Single
 20:      */
 21:     protected $_resource;
 22: 
 23:     /**
 24:      * Constructor.
 25:      *
 26:      * @param array $params  A hash with any parameters that this calendar
 27:      *                       might need.
 28:      *                       Required parameters:
 29:      *                       - share: The share of this calendar.
 30:      */
 31:     public function __construct($params = array())
 32:     {
 33:         if (!isset($params['resource'])) {
 34:             throw new BadMethodCallException('resource parameter is missing.');
 35:         }
 36:         if (!($params['resource'] instanceof Kronolith_Resource_Single)) {
 37:             throw new InvalidArgumentException('resource parameter is not a Kronolith_Resource_Single object.');
 38:         }
 39:         parent::__construct($params);
 40:     }
 41: 
 42:     /**
 43:      * Returns the owner of this calendar.
 44:      *
 45:      * @return string  This calendar's owner.
 46:      */
 47:     public function owner()
 48:     {
 49:         // @TODO: what to return here? Resources do not currently have owners.
 50:         return '';
 51:     }
 52: 
 53:     /**
 54:      * Returns the name of this calendar.
 55:      *
 56:      * @return string  This calendar's name.
 57:      */
 58:     public function name()
 59:     {
 60:         return $this->_resource->get('name');
 61:     }
 62: 
 63:     /**
 64:      * Returns the description of this calendar.
 65:      *
 66:      * @return string  This calendar's description.
 67:      */
 68:     public function description()
 69:     {
 70:         return $this->_resource->get('description');
 71:     }
 72: 
 73:     /**
 74:      * Encapsulates permissions checking.
 75:      *
 76:      * @param integer $permission  The permission to check for.
 77:      * @param string $user         The user to check permissions for. Defaults
 78:      *                             to the current user.
 79:      * @param string $creator      An event creator, to check for creator
 80:      *                             permissions.
 81:      *
 82:      * @return boolean  Whether the user has the permission on this calendar.
 83:      */
 84:     public function hasPermission($permission, $user = null, $creator = null)
 85:     {
 86:         return $this->_resource->hasPermission($user, $permission, $creator);
 87:     }
 88: 
 89:     /**
 90:      * Whether this calendar is supposed to be displayed in lists.
 91:      *
 92:      * @return boolean  True if this calendar should be displayed.
 93:      */
 94:     public function display()
 95:     {
 96:         // @TODO Will have to revisit this when resource management is
 97:         // added to dynamic view.
 98:         return false;
 99:     }
100: 
101: }
102: 
API documentation generated by ApiGen