Overview

Packages

  • awl
    • caldav-client-v2
    • RRule
  • davical
    • authentication
      • drivers
    • caldav
    • DAViCalSession
    • DAVTicket
    • external-bind
    • feed
    • HTTPAuthSession
    • iSchedule
    • iSchedule-POST
    • logging
    • metrics
    • Principal
    • propfind
    • PublicSession
    • Request
    • Resource
    • tzservice
  • None

Classes

  • DAVPrincipal
  • Principal
  • Overview
  • Package
  • Class
  • Tree
  • Deprecated
  • Todo

Class DAVPrincipal

A class for things to do with a DAV Principal

Principal
Extended by DAVPrincipal
Package: davical\Principal
Copyright: Catalyst .Net Ltd, Morphoss Ltd http://www.morhposs.com/
License: GNU GPL v2 or later
Author: Andrew McMillan andrew@mcmillan.net.nz
Located at DAVPrincipal.php
Methods summary
public boolean
# __construct( mixed $parameters = null )

Constructor

Constructor

Parameters

$parameters

If null, an empty Principal is created. If it is an integer then that ID is read (if possible). If it is an array then the Principal matching the supplied elements is read. If it is an object then it is expected to be a 'usr' record that was read elsewhere.

Returns

boolean
Whether we actually read data from the DB to initialise the record.

Throws

Exception
When provided with an invalid $type parameter.

Overrides

Principal::__construct()
public
# InitialiseRecord( object $usr,… )

Initialise the Principal object from a $usr record from the DB.

Initialise the Principal object from a $usr record from the DB.

Parameters

$usr,…
The usr record from the DB.
public
# FetchProxyGroups( )

Split this out so we do it as infrequently as possible, given the cost.

Split this out so we do it as infrequently as possible, given the cost.

public
# ReadProxyGroup( )

Accessor for the read proxy group

Accessor for the read proxy group

public
# WriteProxyGroup( )

Accessor for the write proxy group

Accessor for the write proxy group

public
# ProxyFor( string $type )

Accessor for read or write proxy

Accessor for read or write proxy

Parameters

$type
  • which sort of proxy list is requested.
public
# GroupMembership( )

Accessor for the group membership - the groups this principal is a member of

Accessor for the group membership - the groups this principal is a member of

public
# GroupMemberSet( )

Accessor for the group member set - the members of this group

Accessor for the group member set - the members of this group

public boolean
# IsGroup( )

Is this a group principal?

Is this a group principal?

Returns

boolean
Whether this is a group principal
public string
# GetProperty( $property_id )

Return an arbitrary property

Return an arbitrary property

Returns

string
The name of the arbitrary property
public
# unique_tag( )

Returns the unique_tag (ETag or getctag) for this resource

Returns the unique_tag (ETag or getctag) for this resource

public
# calendar_home_set( )

Get the calendar_home_set, as lazily as possible

Get the calendar_home_set, as lazily as possible

public
# addressbook_home_set( )

Get the addressbook_home_set, as lazily as possible

Get the addressbook_home_set, as lazily as possible

public
# calendar_free_busy_set( )

The property calendar-free-busy-set has been dropped from draft 5 of the scheduling extensions for CalDAV, and is not present in the final official RFC (6638). Hence, by default we do not call this method and do not populate the property. Enable the config value $c->support_obsolete_free_busy_property if you really need it, however be aware that performance may be adversely affected if you do so, since the resulting query over the collection table is slow.

The property calendar-free-busy-set has been dropped from draft 5 of the scheduling extensions for CalDAV, and is not present in the final official RFC (6638). Hence, by default we do not call this method and do not populate the property. Enable the config value $c->support_obsolete_free_busy_property if you really need it, however be aware that performance may be adversely affected if you do so, since the resulting query over the collection table is slow.

public
# Privileges( )

Return the privileges bits for the current session user to this resource

Return the privileges bits for the current session user to this resource

public
# AsCollection( )

Returns a representation of the principal as a collection

Returns a representation of the principal as a collection

public
# PropertySearch( $parameters )
public
# PrincipalProperty( $tag, $prop, & $reply, & $denied )

Returns properties which are specific to this principal

Returns properties which are specific to this principal

public string
# RenderAsXML( array $properties, reference & $reply, boolean $props_only = false )

Render XML for a single Principal (user) from the DB

Render XML for a single Principal (user) from the DB

Parameters

$properties
The requested properties for this principal
$reply
A reference to the XMLDocument being used for the reply
$props_only
Default false. If true will only return the fragment with the properties, not a full response fragment.

Returns

string
An XML fragment with the requested properties for this principal
Methods inherited from Principal
Create(), Exists(), FetchCollections(), FetchDeadProperties(), Update(), __get(), __isset(), byEmail(), cacheDelete(), cacheFlush(), dav_name(), default_calendar(), email(), internal_url(), principal_id(), setUsername(), unCache(), updateableFields(), url(), user_no(), username()
Properties summary
protected RFC3744: $_is_group

Whether this is a group principal.

Whether this is a group principal.

#
Properties inherited from Principal
$by_email, $collection_id, $collections, $created, $date_format_type, $dav_name, $dead_properties, $default_calendar, $default_privileges, $displayname, $email, $email_ok, $exists, $fullname, $is_addressbook, $is_calendar, $is_principal, $locale, $modified, $original_request_url, $password, $principal_id, $privileges, $resourcetypes, $type_id, $url, $user_active, $user_no, $username
DAViCal API documentation generated by ApiGen