コード例 #1
0
ファイル: Event.php プロジェクト: Rademade/MedOptima
 private function _process(Google_Event $event)
 {
     $event->setSummary($this->_getReservationSummary());
     $event->setDescription($this->_getReservationDescription());
     $timeBegin = DateTime::createFromTimestamp($this->_reservation->getFinalVisitTime());
     $timeEnd = DateTime::createFromTimestamp($this->_reservation->getVisitEndTime());
     $timeEventBegin = new Google_EventDateTime();
     $timeEventEnd = new Google_EventDateTime();
     $timeEventBegin->setDateTime($timeBegin->getGoogleApiDatetime());
     $timeEventEnd->setDateTime($timeEnd->getGoogleApiDatetime());
     $event->setStart($timeEventBegin);
     $event->setEnd($timeEventEnd);
     return $event;
 }
コード例 #2
0
 public function AddActivitat($id, $timestamp_inici, $timestamp_fi, $organitzador, $email, $titol, $link, $location, $summary, $description, $calendarid, $color_id, $idS)
 {
     date_default_timezone_set('Europe/Madrid');
     //echo date(DateTime::RFC3339,mktime(17,30,00,1,14,2013));
     $E = new Google_Event();
     $O = new Google_EventOrganizer();
     $O->setDisplayName($titol);
     $O->setEmail($email);
     $E->setOrganizer($O);
     $E->setSummary($titol);
     $E->setHtmlLink($link);
     $E->setLocation($location);
     $E->setDescription(html_entity_decode(strip_tags($description)));
     $start = new Google_EventDateTime();
     $start->setDateTime(date(DateTime::RFC3339, $timestamp_inici));
     $E->setStart($start);
     $end = new Google_EventDateTime();
     $end->setDateTime(date(DateTime::RFC3339, $timestamp_fi));
     $E->setEnd($end);
     $E->setColorId($color_id);
     $this->cal->events->insert(OptionsPeer::getString('GOOGLE_CALENDAR_ID', $idS), $E);
 }
コード例 #3
0
 /**
  * Add unavailable period event to Google Calendar.
  * 
  * @param array $provider Contains the provider record data.
  * @param array $unavailable Contains unavailable period's data.
  * @return Google_Event Returns the google event's object.
  */
 public function add_unavailable($provider, $unavailable)
 {
     $this->CI->load->helper('general');
     $event = new Google_Event();
     $event->setSummary('Unavailable');
     $event->setDescription($unavailable['notes']);
     $start = new Google_EventDateTime();
     $start->setDateTime(date3339(strtotime($unavailable['start_datetime'])));
     $event->setStart($start);
     $end = new Google_EventDateTime();
     $end->setDateTime(date3339(strtotime($unavailable['end_datetime'])));
     $event->setEnd($end);
     // Add the new event to the google calendar.
     $created_event = $this->service->events->insert($provider['settings']['google_calendar'], $event);
     return $created_event;
 }
コード例 #4
0
function insertGoogleCalendarEvent($resrvation_id)
{
    if ($resrvation_id) {
        try {
            $resrvation_details = getReservationDetailFromId($resrvation_id);
            $calendar_id = getCalendarIdFromProperty($resrvation_details['PropertyID']);
            $row_credential = getGoogleCredential();
            $eventstartdate = date('Y-m-d', strtotime($resrvation_details['ArrivalDate']));
            $eventenddate = date('Y-m-d', strtotime($resrvation_details['DepartureDate']) + 86400);
            $esd = $eventstartdate . ' 00:00:00';
            $eed = $eventenddate . ' 10:00:00';
            $pst = new DateTimeZone('America/Los_Angeles');
            $gmt = new DateTimeZone('GMT');
            $dates = new DateTime($esd, $pst);
            $dates->setTimezone($gmt);
            $eventstartdate = $dates->format('Y-m-d') . 'T' . $dates->format('H:i:s') . 'Z';
            $datee = new DateTime($eed, $pst);
            $datee->setTimezone($gmt);
            $eventenddate = $datee->format('Y-m-d') . 'T' . $datee->format('H:i:s') . 'Z';
            //change as per client requirement to display full period from checkin to checkout on google calender
            //$eventenddate = date('Y-m-d',(strtotime($resrvation_details['DepartureDate']) + 172800)); // 86400 122400
            $tenantname = stripslashes($resrvation_details['FirstName']);
            if ($resrvation_details['MiddleName']) {
                $tenantname .= ' ' . stripslashes($resrvation_details['MiddleName']);
            }
            $tenantname .= ' ' . stripslashes($resrvation_details['LastName']);
            $tenantemail = stripslashes($resrvation_details['Email']);
            $tenantphone = stripslashes($resrvation_details['TelephoneNumber']);
            $tenantdayphone = stripslashes($resrvation_details['DaytimePhone']);
            $tenantstaypurpose = stripslashes($resrvation_details['StayPurpose']);
            //Event Summery i.e. Event Title
            $summery = 'Reservation Period - ' . $tenantname;
            //Event Description
            $description = "Tenant Details:\n\r Name: {$tenantname}\n\r Email: {$tenantemail}\n\r Phone: {$tenantphone}\n\r Day Phone: {$tenantdayphone}\n\r Stay Purpose: {$tenantstaypurpose}";
            include_once 'src/Google_Client.php';
            include_once 'src/contrib/Google_CalendarService.php';
            $client = new Google_Client();
            $client->setClientId($row_credential['ClientId']);
            $client->setClientSecret($row_credential['ClientSecret']);
            $client->setRedirectUri($row_credential['RedirectUri']);
            $client->setDeveloperKey($row_credential['DeveloperKey']);
            $cal = new Google_CalendarService($client);
            $client->setAccessToken($row_credential['AccessToken']);
            if ($client->getAccessToken()) {
                $eventendtime = new Google_EventDateTime();
                $eventendtime->setDateTime($eventenddate);
                $eventstarttime = new Google_EventDateTime();
                $eventstarttime->setDateTime($eventstartdate);
                $addevent = new Google_Event();
                $addevent->setEnd($eventendtime);
                $addevent->setStart($eventstarttime);
                $addevent->setDescription($description);
                $addevent->setSummary($summery);
                $eventadresp = $cal->events->insert($calendar_id, $addevent);
                updateEventId($resrvation_id, $eventadresp['id']);
            }
        } catch (Exception $e) {
            /* echo '<pre>';
            			print_r($e);
            			echo '</pre>';
            			exit; */
            //log error for debbug
            $response = json_encode($e);
            $insert_errsql = "INSERT INTO debug_calendarerr SET Response='" . mysql_real_escape_string($response) . "', ReservePropertyId='" . $resrvation_id . "'";
            $result_errsql = mysql_query($insert_errsql);
        }
    }
}
コード例 #5
0
ファイル: googlecal.php プロジェクト: hoalangoc/ftf
 }
 $seevent = Engine_Api::_()->getItem('event', $event_id);
 if (is_null($seevent)) {
     $_SESSION['google_calendar_message'] = Zend_Registry::get("Zend_Translate")->_("This event is not existed!");
     $url = $view->url(array('id' => $event_id), 'event_profile', true);
     header('location: ' . $url);
     exit;
 }
 #Create Google Event
 $event = new Google_Event();
 #Set Summary
 $event->setSummary(html_entity_decode($seevent->getTitle(), ENT_QUOTES, 'UTF-8'));
 #Set Description
 $sDescription = strip_tags(html_entity_decode($seevent->description, ENT_QUOTES, 'UTF-8'));
 $sEventUrl = $seevent->getHref();
 $event->setDescription($sDescription);
 #Set Location
 $sLocation = html_entity_decode($seevent->location, ENT_QUOTES, 'UTF-8');
 if ($seevent->address != '') {
     $sLocation .= ', ' . html_entity_decode($seevent->address, ENT_QUOTES, 'UTF-8');
 }
 if ($seevent->city != '') {
     $sLocation .= ', ' . html_entity_decode($seevent->city, ENT_QUOTES, 'UTF-8');
 }
 $event->setLocation($sLocation);
 $strStart = Engine_Api::_()->ynevent()->getDateStringForCalendar($seevent->starttime);
 $strEnd = Engine_Api::_()->ynevent()->getDateStringForCalendar($seevent->endtime);
 #Set Start time
 $start = new Google_EventDateTime();
 $start->setDateTime($strStart);
 $event->setStart($start);
コード例 #6
0
ファイル: GoogleCalendar.php プロジェクト: balrok/aiajaya
 protected function createGoogleEventFromTermin($termin, $event = null)
 {
     // 'id' => '761',
     // 'datum' => '10.10.2012',
     // 'titel' => 'Dynamische Meditation',
     // 'untertitel' => 'mit Milam Horn --Anm: 0175-86 57 233',
     // 'zeit' => '06:00 Uhr',
     // 'url' => '',
     // 'from' => '1349848800',
     // 'to' => '1349848801',
     // 'gId' => '',
     if (!$event) {
         $event = new Google_Event();
     }
     $event->setSummary($termin->titel);
     $untertitel = str_replace('--', '<br/>', $termin->untertitel);
     $untertitel .= '<hr/>' . str_replace('--', '<br/>', $termin->datum) . ' ' . str_replace('--', '<br/>', $termin->zeit);
     if ($termin->url) {
         $untertitel .= '<hr/><a href="' . $termin->url . '">Weitere Informationen</a>';
     }
     $event->setDescription($untertitel);
     $to = $termin->to;
     $from = $termin->from;
     $days = 1;
     while ($to - $from > 60 * 60 * 24) {
         $to -= 60 * 60 * 24;
         $days++;
     }
     $start = new Google_EventDateTime();
     $start->setDateTime(date('Y-m-d\\TH:i:s', $from));
     $start->setTimezone('Europe/Berlin');
     $event->setStart($start);
     $end = new Google_EventDateTime();
     $end->setDateTime(date('Y-m-d\\TH:i:s', $to));
     $end->setTimezone('Europe/Berlin');
     $event->setEnd($end);
     if ($days > 1) {
         $freq = "RRULE:FREQ=DAILY;COUNT=" . $days;
         $event->setRecurrence(array($freq));
     }
     return $event;
 }
コード例 #7
0
ファイル: requests.php プロジェクト: jrgsf/giggity
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);
    }
}
コード例 #8
0
ファイル: Main.php プロジェクト: kokkez/shineisp
 /**
  * Execute the upload of the file to the calendar service
  * 
  * @param string $sourcefile
  * @return boolean
  */
 public static function newEvent($summary, $location, $description = null, $datestart = null, $dateend = null)
 {
     try {
         if (empty($datestart)) {
             $datestart = date('Y-m-d');
         }
         if (empty($dateend)) {
             $dateend = date('Y-m-d');
         }
         $calendar = Settings::findbyParam('calendar_calendarid');
         if ($calendar) {
             $cal = self::$calendar;
             if (is_object($cal) && !empty($cal)) {
                 $event = new Google_Event();
                 $event->setSummary($summary);
                 // Event name
                 $event->setLocation($location);
                 // Event location
                 $start = new Google_EventDateTime();
                 $start->setDate($datestart);
                 $event->setStart($start);
                 $end = new Google_EventDateTime();
                 $end->setDate($dateend);
                 $event->setEnd($end);
                 $event->setDescription($description);
                 $createdEvent = $cal->events->insert($calendar, $event);
                 Shineisp_Commons_Utilities::log("The Event has been created!", "plugin_calendar.log");
                 return true;
             }
         }
         return false;
     } catch (Exception $e) {
         return $e->getMessage();
     }
 }