Class iSchedule

Description

A class for handling iScheduling requests.

Located in /inc/iSchedule.php (line 25)


	
			
Variable Summary
 mixed $domain
 mixed $parsed
 mixed $selector
Method Summary
 iSchedule __construct ()
 void getCapabilities ([ $domain = null])
 void getServer ()
 void getTxt ()
 void parseDKIM (string $sig)
 void parseTxt ()
 void parseURI ( $uri)
 void queryCapabilities ( $capability, [ $domain = null])
 void sendRequest ( $address,  $type,  $data)
 void setTxt ( $dk)
 void signDKIM (array $headers, string $body)
 void validateKey ()
 void validateRequest ()
 void verifySignature ()
Variables
mixed $domain (line 29)
  • access: public
mixed $parsed (line 27)
  • access: public
mixed $selector (line 28)
  • access: public
Methods
Constructor __construct (line 51)
iSchedule __construct ()
getCapabilities (line 256)

get capabilities from remote server

void getCapabilities ([ $domain = null])
  • $domain
getServer (line 193)

finds a remote calendar server via DNS SRV records

void getServer ()
getTxt (line 78)

gets the domainkey TXT record from DNS

void getTxt ()
parseDKIM (line 506)

parses and validates DK header

void parseDKIM (string $sig)
  • string $sig: the value of the DKIM-Signature header
parseTxt (line 122)

parses DNS TXT record from domainkey lookup

void parseTxt ()
parseURI (line 584)

split up a mailto uri into domain and user components

TODO handle other uri types (eg http)

void parseURI ( $uri)
  • $uri
queryCapabilities (line 294)

query capabilities retrieved from server

void queryCapabilities ( $capability, [ $domain = null])
  • $capability
  • $domain
sendRequest (line 403)

send request to remote server

$address should be an email address or an array of email addresses all with the same domain $type should be in the format COMPONENT/METHOD eg (VFREEBUSY, VEVENT/REQUEST, VEVENT/REPLY, etc. ) $data is the vcalendar data N.B. must already be rendered into text format

void sendRequest ( $address,  $type,  $data)
  • $address
  • $type
  • $data
setTxt (line 114)

strictly for testing purposes

void setTxt ( $dk)
  • $dk
signDKIM (line 361)

signs a POST body and headers

void signDKIM (array $headers, string $body)
  • string $body: the body of the POST
  • array $headers: the headers to sign as passed to header ();
validateKey (line 144)

validates that domainkey is acceptable for the current request

void validateKey ()
validateRequest (line 645)

checks that current request has a valid DKIM signature signed by a currently valid key from DNS

void validateRequest ()
verifySignature (line 599)

verifies parsed DKIM header is valid for current message with a signature from the public key in DNS

TODO handle multiple headers of the same name

void verifySignature ()

Documentation generated on Sun, 17 Jun 2012 10:27:59 +0000 by phpDocumentor 1.4.3