Пример #1
0
function saveToCalendar($gig, $calendartype = 'private')
{
    // print_r($gig_details = getGigTextDescription($gig, 'calendar')); exit();
    // return; //FIXME
    global $calendars;
    extract($calendars[$calendartype]);
    if ($calendartype == 'public' && !$gig['public_description']) {
        return;
    }
    $cal = getGoogleClient();
    $event = new Google_Event();
    $gig_details = "";
    $title = $gig['title'];
    if ($calendartype == 'private') {
        if ($gig['type'] == 'gig') {
            $prefix = 'Proposed';
            if ($gig['approved'] == 1) {
                $prefix = 'Gig';
            } else {
                if ($gig['approved'] == -1) {
                    $prefix = 'Declined';
                }
            }
            $title = "{$prefix}: {$title}";
        } else {
            if ($gig['tactical']) {
                $members = gigs_fetchMembers();
                $title .= ": " . $members[$gig['tactical']]['name'];
            }
        }
        $gig_details = getGigTextDescription($gig, 'calendar');
        if (!$gig[$start_field]) {
            $start_field = 'band_start';
        }
    } else {
        $gig_details = $gig['public_description'];
    }
    $event->setSummary($title);
    $event->setLocation($gig['location']);
    $event->setStart(newDateTime($gig['date'], $gig[$start_field]));
    $event->setEnd(newDateTime($gig['date'], $gig[$end_field]));
    $event->setDescription($gig_details);
    $createdEvent = '';
    try {
        if ($gig[$id_field]) {
            $event->setSequence(time());
            $createdEvent = $cal->events->update($calendar_id, $gig[$id_field], $event);
        } else {
            $createdEvent = $cal->events->insert($calendar_id, $event);
            $google_gig_id = $createdEvent->getId();
            dbwrite("update gigs set {$id_field} = '" . dbEscape($google_gig_id) . "' where gig_id = {$gig['gig_id']}");
        }
    } catch (Exception $e) {
        //trigger_error('Error creating google calendar entry: '.$e->getMessage(), E_USER_ERROR);
    }
    if (!$createdEvent) {
        //trigger_error('Error creating google calendar entry', E_USER_ERROR);
    }
}