$_links
$_links : array
Links.
Kronolith external API interface.
This file defines Kronolith's external API interface. Other applications can interact with Kronolith through this API.
browse(string $path = '', array $properties = array()) : array
Browse through Kronolith's object tree.
string | $path | The level of the tree to browse. |
array | $properties | The item properties to return. Defaults to 'name', 'icon', and 'browseable'. |
The contents of $path
put(string $path, string $content, string $content_type) : array
Saves a file into the Kronolith tree.
string | $path | The path where to PUT the file. |
string | $content | The file content. |
string | $content_type | The file's content type. |
The event UIDs.
listCalendars(boolean $owneronly = false, integer $permission = null) : array
Returns all calendars a user has access to, according to several parameters/permission levels.
boolean | $owneronly | Only return calendars that this user owns? Defaults to false. |
integer | $permission | The permission to filter calendars by. |
The calendar list.
sources(boolean $writeable = false, boolean $sync_only = false) : array
Returns a list of available sources.
boolean | $writeable | If true, limits to writeable sources. |
boolean | $sync_only | Only include syncable sources. |
An array of the available sources. Keys are source IDs, values are source titles.
listUids(string|array $calendars = null, object $startstamp, object $endstamp) : array
Returns the ids of all the events that happen within a time period.
Only includes recurring events once per time period, and does not include events that represent exceptions, making this method useful for syncing purposes. For more control, use the listEvents method.
string|array | $calendars | The calendar to check for events. |
object | $startstamp | The start of the time range. |
object | $endstamp | The end of the time range. |
The event ids happening in this time period.
listBy(string $action, integer $timestamp, string $calendar = null, integer $end = null, boolean $isModSeq = false) : array
Returns an array of UIDs for events that have had $action happen since $timestamp.
string | $action | The action to check for - add, modify, or delete. |
integer | $timestamp | The time to start the search. |
string | $calendar | The calendar to search in. |
integer | $end | The optional ending timestamp |
boolean | $isModSeq | If true, $timestamp and $end are modification sequences and not timestamps. @since 4.1.1 |
An array of UIDs matching the action and time criteria.
getChanges(integer $start, integer $end, boolean $ignoreExceptions = true, boolean $isModSeq = false, string|array $calendars = null) : array
Method for obtaining all server changes between two timestamps. Basically a wrapper around listBy(), but returns an array containing all adds, edits and deletions. If $ignoreExceptions is true, events representing recurring event exceptions will not be included in the results.
integer | $start | The starting timestamp |
integer | $end | The ending timestamp. |
boolean | $ignoreExceptions | Do not include exceptions in results. |
boolean | $isModSeq | If true, $timestamp and $end are modification sequences and not timestamps. @since 4.1.1 |
string|array | $calendars | The sources to check. @since 4.2.0 |
An hash with 'add', 'modify' and 'delete' arrays.
getChangesByModSeq(integer $start, integer $end, string|array $calendars = null) : array
Return all changes occuring between the specified modification sequences.
integer | $start | The starting modseq. |
integer | $end | The ending modseq. |
string|array | $calendars | The sources to check. @since 4.2.0 |
The changes @see getChanges()
getActionTimestamp(string $uid, string $action, string $calendar = null, boolean $modSeq = false) : integer
Returns the timestamp of an operation for a given uid an action
string | $uid | The uid to look for. |
string | $action | The action to check for - add, modify, or delete. |
string | $calendar | The calendar to search in. |
boolean | $modSeq | Request a modification sequence instead of a timestamp. @since 4.1.1 |
The timestamp or modseq for this action.
getHighestModSeq(string $id = null) : integer
Return the largest modification sequence from the history backend.
string | $id | The calendar id to return the hightest MDOSEQ for. If null, the highest MODSEQ across all calendars is returned. @since 4.2.0 |
The MODSEQ value.
import(string $content, string $contentType, string $calendar = null, boolean $hash = false) : array
Imports an event represented in the specified content type.
string | $content | The content of the event. |
string | $contentType | What format is the data in? Currently supports: text/calendar text/x-vcalendar activesync |
string | $calendar | What calendar should the event be added to? |
boolean | $hash | If true, return a hash for EAS additions. @since 4.3.0 @todo Remove for 5.0 and make this the normal return. |
The event's UID.
quickAdd(string $text, string $calendar = null) : array
Imports an event parsed from a string.
string | $text | The text to parse into an event |
string | $calendar | The calendar into which the event will be imported. If 'null', the user's default calendar will be used. |
The UID of all events that were added.
export(string $uid, string $contentType, array $options = array(), array $calendars = null) : string
Exports an event, identified by UID, in the requested content type.
string | $uid | Identify the event to export. |
string | $contentType | What format should the data be in? A string with one of: text/calendar (VCALENDAR 2.0. Recommended as this is specified in rfc2445) text/x-vcalendar (old VCALENDAR 1.0 format. Still in wide use) activesync (Horde_ActiveSync_Message_Appointment) |
array | $options | Any additional options to be passed to the exporter. |
array | $calendars | Require event to be in these calendars. @since 4.2.0 |
The requested data.
exportCalendar(string $calendar, string $contentType) : string
Exports a calendar in the requested content type.
string | $calendar | The calendar to export. |
string | $contentType | What format should the data be in? A string with one of: text/calendar (VCALENDAR 2.0. Recommended as this is specified in rfc2445) text/x-vcalendar (old VCALENDAR 1.0 format. Still in wide use) |
The iCalendar representation of the calendar.
getAttachment(string $calendar, string $uid, string $filename) : array
Return an event attachment.
string | $calendar | The calendar ID. |
string | $uid | The UID of the event the file is attached to. |
string | $filename | The name of the file. |
An array containing the following keys: data (stream): A file pointer to the attachment data. content-type (string): The mime-type of the contents.
delete(string|array $uid, mixed $recurrenceId = null, string $range = null)
Deletes an event identified by UID.
string|array | $uid | A single UID or an array identifying the event(s) to delete. |
mixed | $recurrenceId | The reccurenceId for the event instance, if this is a deletion of a recurring event instance ($uid must not be an array). Either a string or Horde_Date object. |
string | $range | The range value if deleting a recurring event instance. Only supported values are null or Kronolith::RANGE_THISANDFUTURE. @since 4.1.5 |
replace(string $uid, mixed $content, string $contentType, string $calendar = null) : mixed
Replaces the event identified by UID with the content represented in the specified contentType.
string | $uid | Idenfity the event to replace. |
mixed | $content | The content of the event. String or Horde_Icalendar_Vevent |
string | $contentType | What format is the data in? Currently supports: text/calendar text/x-vcalendar (Ignored if content is Horde_Icalendar_Vevent) activesync (Horde_ActiveSync_Message_Appointment) |
string | $calendar | Ensure the event is replaced in the specified calendar. @since 4.2.0 |
For EAS operations, an array of 'uid' and 'atchash' are returned. @since 4.3.0
getFreeBusy(integer $startstamp = null, integer $endstamp = null, string $calendar = null) : \Horde_Icalendar_Vfreebusy
Generates free/busy information for a given time period.
integer | $startstamp | The start of the time period to retrieve. |
integer | $endstamp | The end of the time period to retrieve. |
string | $calendar | The calendar to view free/busy slots for. Defaults to the user's default calendar. |
A freebusy object that covers the specified time period.
lookupFreeBusy(string $email, boolean $json = false)
Attempt to lookup the free/busy information for the given email address.
string | The email to lookup free/busy information for. |
|
boolean | $json | Return the data in a simple json format. If false, returns the vCalander object. |
eventFromUID(string $uid, $calendar = null) : \Kronolith_Event
Retrieves a Kronolith_Event object, given an event UID.
string | $uid | The event's UID. |
$calendar |
A valid Kronolith_Event.
updateAttendee(\Horde_Icalendar_Vevent $response, string $sender = null)
Updates an attendee's response status for a specified event.
\Horde_Icalendar_Vevent | $response | A Horde_Icalendar_Vevent object, with a valid UID attribute that points to an existing event. This is typically the vEvent portion of an iTip meeting-request response, with the attendee's response in an ATTENDEE parameter. |
string | $sender | The email address of the person initiating the update. Attendees are only updated if this address matches. |
listEvents(integer $startstamp = null, integer $endstamp = null, array $calendars = null, boolean $showRecurrence = true, boolean $alarmsOnly = false, boolean $showRemote = true, boolean $hideExceptions = false, boolean $coverDates = true, $fetchTags = false) : array
Lists events for a given time period.
integer | $startstamp | The start of the time period to retrieve. |
integer | $endstamp | The end of the time period to retrieve. |
array | $calendars | The calendars to view events from. Defaults to the user's default calendar. |
boolean | $showRecurrence | Return every instance of a recurring event? If false, will only return recurring events once inside the $startDate - $endDate range. |
boolean | $alarmsOnly | Filter results for events with alarms. Defaults to false. |
boolean | $showRemote | Return events from remote calendars and listTimeObject API as well? |
boolean | $hideExceptions | Hide events that represent exceptions to a recurring event (events with baseid set)? |
boolean | $coverDates | Add multi-day events to all dates? |
$fetchTags |
A list of event hashes.
lock(string $calendar, string $event = null) : mixed
Places an exclusive lock for a calendar or an event.
string | $calendar | The id of the calendar to lock |
string | $event | The uid for the event to lock |
A lock ID on success, false if:
listTagInfo(array $tags = null, string $user = null) : array
Retrieve the list of used tag_names, tag_ids and the total number of resources that are linked to that tag.
array | $tags | An optional array of tag_ids. If omitted, all tags will be included. |
string | $user | Restrict result to those tagged by $user. |
An array containing tag_name, and total
searchTags(array $names, integer $max = 10, integer $from, string $resource_type = '', string $user = null, boolean $raw = false) : array
SearchTags API: Returns an application-agnostic array (useful for when doing a tag search across multiple applications)
The 'raw' results array can be returned instead by setting $raw = true.
array | $names | An array of tag_names to search for. |
integer | $max | The maximum number of resources to return. |
integer | $from | The number of the resource to start with. |
string | $resource_type | The resource type [event, calendar, ''] |
string | $user | Restrict results to resources owned by $user. |
boolean | $raw | Return the raw data? |
An array of results:
'title' - The title for this resource. 'desc' - A terse description of this resource. 'view_url' - The URL to view this resource. 'app' - The Horde application this resource belongs to.
getCalendar(string $id = null) : \Kronolith_Calendar
Return an internal calendar.
string | $id | The calendar uid (share name). |
The calendar object.
_addiCalEvent(\Horde_Icalendar_Vevent $content, \Kronolith_Driver $driver, boolean $exception = false) : string
Imports a single vEvent part to storage.
\Horde_Icalendar_Vevent | $content | The vEvent part |
\Kronolith_Driver | $driver | The kronolith driver |
boolean | $exception | Content represents an exception in a recurrence series. |
The new event's uid