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_External_Tasks defines an API for single task lists.
 4:  *
 5:  * Copyright 2010-2012 Horde LLC (http://www.horde.org/)
 6:  *
 7:  * See the enclosed file COPYING for license information (GPL). If you
 8:  * did not receive this file, see http://www.horde.org/licenses/gpl.
 9:  *
10:  * @author  Jan Schneider <jan@horde.org>
11:  * @package Kronolith
12:  */
13: class Kronolith_Calendar_External_Tasks extends Kronolith_Calendar_External
14: {
15:     /**
16:      * The share of this task list.
17:      *
18:      * @var Horde_Share_Object
19:      */
20:     protected $_share;
21: 
22:     /**
23:      * Constructor.
24:      *
25:      * @param array $params  A hash with any parameters that this calendar
26:      *                       might need.
27:      *                       Required parameters:
28:      *                       - share: The share of this calendar.
29:      */
30:     public function __construct($params = array())
31:     {
32:         if (!isset($params['share'])) {
33:             throw new BadMethodCallException('share parameter is missing');
34:         }
35:         Kronolith_Calendar::__construct($params);
36:     }
37: 
38:     /**
39:      * Returns a hash representing this calendar.
40:      *
41:      * @return array  A simple hash.
42:      */
43:     public function toHash()
44:     {
45:         $owner = $GLOBALS['registry']->getAuth() &&
46:             $this->_share->get('owner') == $GLOBALS['registry']->getAuth();
47: 
48:         $hash = parent::toHash();
49:         $hash['name']  = $this->_share->get('name')
50:           . ($owner || !$this->_share->get('owner') ? '' : ' [' . $GLOBALS['registry']->convertUsername($this->_share->get('owner'), false) . ']');
51:         $hash['desc'] = (string)$this->_share->get('desc');
52:         $hash['owner'] = $owner;
53:         $hash['fg']    = Kronolith::foregroundColor($this->_share);
54:         $hash['bg']    = Kronolith::backgroundColor($this->_share);
55:         $hash['show']  = in_array('tasks/' . $this->_share->getName(), $GLOBALS['display_external_calendars']);
56:         $hash['edit']  = $this->_share->hasPermission($GLOBALS['registry']->getAuth(), Horde_Perms::EDIT);
57:         $hash['sub']   = Horde::url($GLOBALS['registry']->get('webroot', 'horde') . ($GLOBALS['conf']['urls']['pretty'] == 'rewrite' ? '/rpc/nag/' : '/rpc.php/nag/'), true, -1)
58:             . ($this->_share->get('owner') ? $this->_share->get('owner') : '-system-') . '/'
59:             . $this->_share->getName() . '.ics';
60:         if ($owner) {
61:             $hash['perms'] = Kronolith::permissionToJson($this->_share->getPermission());
62:         }
63: 
64:         return $hash;
65:     }
66: }
67: 
API documentation generated by ApiGen