function delete_event_calendar_extern($event){
            ajx_current("empty");
            if($event->getExtCalId() > 0){
                require_once 'Zend/Loader.php';

                Zend_Loader::loadClass('Zend_Gdata');
                Zend_Loader::loadClass('Zend_Gdata_AuthSub');
                Zend_Loader::loadClass('Zend_Gdata_ClientLogin');
                Zend_Loader::loadClass('Zend_Gdata_Calendar');

                $users = ExternalCalendarUsers::findByContactId();
                $calendar = ExternalCalendars::findById($event->getExtCalId());

                $user = $users->getAuthUser();
                $pass = $users->getAuthPass();
                $service = Zend_Gdata_Calendar::AUTH_SERVICE_NAME;
				
                try
                {
	                $client = Zend_Gdata_ClientLogin::getHttpClient($user,$pass,$service);
	
	                $event_id = 'http://www.google.com/calendar/feeds/'.$calendar->getCalendarUser().'/private/full/'.$event->getSpecialID();
	
	                $gcal = new Zend_Gdata_Calendar($client);
	
	                $edit_event = $gcal->getCalendarEventEntry($event_id);
	                $edit_event->delete(); 
	            }
	            catch(Exception $e)
	            {
	                flash_error($e->getMessage());
	                ajx_current("empty");
	            }
            }            
        }
 function created_event_google_calendar($object, $event)
 {
     require_once 'Zend/Loader.php';
     Zend_Loader::loadClass('Zend_Gdata');
     Zend_Loader::loadClass('Zend_Gdata_AuthSub');
     Zend_Loader::loadClass('Zend_Gdata_ClientLogin');
     Zend_Loader::loadClass('Zend_Gdata_Calendar');
     $users = ExternalCalendarUsers::findByContactId();
     $calendar = ExternalCalendars::findById($event->getExtCalId());
     $user = $users->getAuthUser();
     $pass = $users->getAuthPass();
     $service = Zend_Gdata_Calendar::AUTH_SERVICE_NAME;
     $client = Zend_Gdata_ClientLogin::getHttpClient($user, $pass, $service);
     $calendarUrl = 'http://www.google.com/calendar/feeds/' . $calendar->getCalendarUser() . '/private/full';
     $gdataCal = new Zend_Gdata_Calendar($client);
     $newEvent = $gdataCal->newEventEntry();
     $newEvent->title = $gdataCal->newTitle($event->getObjectName());
     $newEvent->content = $gdataCal->newContent($event->getDescription());
     $star_time = explode(" ", $event->getStart()->format("Y-m-d H:i:s"));
     $end_time = explode(" ", $event->getDuration()->format("Y-m-d H:i:s"));
     if ($event->getTypeId() == 2) {
         $when = $gdataCal->newWhen();
         $when->startTime = $star_time[0];
         $when->endTime = $end_time[0];
         $newEvent->when = array($when);
     } else {
         $when = $gdataCal->newWhen();
         $when->startTime = $star_time[0] . "T" . $star_time[1] . ".000-00:00";
         $when->endTime = $end_time[0] . "T" . $end_time[1] . ".000-00:00";
         $newEvent->when = array($when);
     }
     // insert event
     $createdEvent = $gdataCal->insertEvent($newEvent, $calendarUrl);
     $event_id = explode("/", $createdEvent->id->text);
     $special_id = end($event_id);
     $event->setSpecialID($special_id);
     $event->setExtCalId($calendar->getId());
     $event->save();
 }
 function sync_event_on_extern_calendar($event, $user = null, $calendar = null)
 {
     //check external user
     if (is_null($user)) {
         $user = ExternalCalendarUsers::findByContactId();
     }
     if (!$user instanceof ExternalCalendarUser) {
         return;
     }
     //check external calendar
     if (is_null($calendar)) {
         $calendar = ExternalCalendars::findById($event->getExtCalId());
     }
     if (!$calendar instanceof ExternalCalendar) {
         return;
     }
     //check if calendar sync is activated
     if ($calendar->getSync() == 0) {
         return;
     }
     //connect with google
     $service = $this->connect_with_google_calendar($user);
     $this->update_event_on_google_calendar($event, $calendar, $user, $service);
 }