/** * Creates a recurring event on the authenticated user's default calendar with * the specified event details. * * @param Zend_Http_Client $client The authenticated client object * @param string $title The event title * @param string $desc The detailed description of the event * @param string $recurData The iCalendar recurring event syntax (RFC2445) * @return void */ function createRecurringEvent(Zend_Http_Client $client, $title = 'Tennis with Beth', $desc = 'Meet for a quick lesson', $where = 'On the courts', $recurData = null) { $gc = new Zend_Gdata_Calendar($client); $newEntry = $gc->newEventEntry(); $newEntry->title = $gc->newTitle(trim($title)); $newEntry->where = array($gc->newWhere($where)); $newEntry->content = $gc->newContent($desc); $newEntry->content->type = 'text'; /** * Due to the length of this recurrence syntax, we did not specify * it as a default parameter value directly */ if ($recurData == null) { $recurData = "DTSTART;VALUE=DATE:20070501\r\n" . "DTEND;VALUE=DATE:20070502\r\n" . "RRULE:FREQ=WEEKLY;BYDAY=Tu;UNTIL=20070904\r\n"; } $newEntry->recurrence = $gc->newRecurrence($recurData); $gc->post($newEntry->saveXML()); }