function export_google_calendar_for_user($user)
 {
     $service = $this->connect_with_google_calendar($user);
     if ($user->getSync() == 1) {
         $calendar_feng = ExternalCalendars::findFengCalendarByExtCalUserIdValue($user->getId());
         //get events starting from past 2 weeks
         $previous_week = strtotime("-2 week");
         $time_min = date(DATE_MYSQL, $previous_week);
         $events = ProjectEvents::findNoSync($user->getContactId(), $time_min, 100);
         $events_inv = ProjectEvents::findNoSyncInvitations($user->getContactId(), $time_min, 100);
         try {
             if ($calendar_feng instanceof ExternalCalendar) {
                 $events_and_inv = array_merge($events, $events_inv);
                 foreach ($events_and_inv as $event) {
                     $this->update_event_on_google_calendar($event, $calendar_feng, $user, $service);
                 }
                 //we ask for events in this calendar in order to prevent checking the uploaded events on the import
                 try {
                     $now = strtotime("now");
                     $time_min = date(DATE_RFC3339, $now);
                     $optParams['timeMin'] = $time_min;
                     $events = $service->events->listEvents($calendar_feng->getOriginalCalendarId(), $optParams);
                 } catch (Exception $e) {
                     Logger::log("Fail to get events from feng external calendar: " . $calendar->getId());
                     Logger::log($e->getMessage());
                 }
                 //update the calendar token
                 $nextSyncToken = $events->getNextSyncToken();
                 if ($nextSyncToken) {
                     $calendar_feng->setExternalCalendarPropertyValue("syncToken", $nextSyncToken);
                 }
             } else {
                 //create feng calendar on google if not exists and save it on feng
                 $instalation = explode("/", ROOT_URL);
                 $instalation_name = end($instalation);
                 $calendar_name = lang('feng calendar', $instalation_name);
                 $calendar_exists = false;
                 //check if calendar exists
                 try {
                     $calendarList = $service->calendarList->listCalendarList();
                     while (true) {
                         foreach ($calendarList->getItems() as $calendarListEntry) {
                             if ($calendarListEntry->getSummary() == $calendar_name) {
                                 $calendar_exists = true;
                                 $external_calendar = array('original_calendar_id' => $calendarListEntry->getId(), 'title' => $calendarListEntry->getSummary(), 'calendar_status' => 1);
                                 break;
                             }
                         }
                         $pageToken = $calendarList->getNextPageToken();
                         if ($pageToken) {
                             $optParams = array('pageToken' => $pageToken);
                             $calendarList = $service->calendarList->listCalendarList($optParams);
                         } else {
                             break;
                         }
                     }
                 } catch (Exception $e) {
                     Logger::log("Fail to get calendars list from google: " . $user->getContactId());
                     throw $e;
                 }
                 if (!$calendar_exists) {
                     $new_calendar = new Google_Service_Calendar_Calendar();
                     $new_calendar->setSummary($calendar_name);
                     //$calendar->setTimeZone('America/Los_Angeles');
                     $createdCalendar = $service->calendars->insert($new_calendar);
                     $external_calendar = array('original_calendar_id' => $createdCalendar->getId(), 'title' => $createdCalendar->getSummary(), 'calendar_status' => 1);
                 }
                 $calendar = new ExternalCalendar();
                 $calendar->setOriginalCalendarId($external_calendar['original_calendar_id']);
                 //$calendar->setCalendarVisibility($calendar_visibility);
                 $calendar->setCalendarName($external_calendar['title']);
                 $calendar->setExtCalUserId($user->getId());
                 $calendar->setCalendarFeng(1);
                 $calendar->setSync(1);
                 $calendar->save();
             }
             flash_success(lang('success add sync'));
             ajx_current("reload");
         } catch (Exception $e) {
             Logger::log($e->getMessage());
         }
     }
 }