<?php ini_set('display_errors', 'On'); if (!defined('sugarEntry')) { define('sugarEntry', true); } require_once "modules/GoogleSync/GoogleSync.php"; GoogleSync::init(); GoogleSync::test();
function GoogleCalendarSync() { require_once 'modules/GoogleSync/GoogleSync.php'; global $timedate; GoogleSync::init(); $usr = new User(); $users = $usr->get_full_list(); foreach ($users as $user) { $client = GoogleSync::getClient($user); if ($client != false) { $service = new Zend_Gdata_Calendar($client); try { $listFeed = $service->getCalendarEventFeed(); foreach ($listFeed as $calendar) { $id = $calendar->id; $googleSync = new GoogleSync(); $list = $googleSync->get_list('', "{$googleSync->table_name}.google_id='{$id}'"); if ($list['row_count'] > 0) { $event = BeanFactory::getBean($list['list'][0]->parent_name); $event->retrieve($list['list'][0]->parent_id); $event->name = $calendar->title->text; if (!preg_match('/event.private$/', $calendar->visibility->value)) { $event->description = $calendar->content->text; } GoogleSync::setDates($event, $calendar->when[0]->startTime, 0); switch ($event->module_dir) { case 'Calls': $event->name = preg_replace('/^Звонок: /ui', '', $calendar->title->text); GoogleSync::setReminder($event, $calendar->when[0]->reminders[0]); GoogleSync::setDuration(&$event, $calendar->when[0]->startTime, $calendar->when[0]->endTime); break; case 'Meetings': $event->name = preg_replace('/^Звонок: /ui', '', $calendar->title->text); GoogleSync::setReminder($event, $calendar->when[0]->reminders[0]); GoogleSync::setDuration(&$event, $calendar->when[0]->startTime, $calendar->when[0]->endTime); $event->location = $calendar->where[0]->valueString; break; case 'Tasks': $event->name = preg_replace('/^Задача: /ui', '', $calendar->title->text); GoogleSync::setDates($event, $calendar->when[0]->endTime, 1); break; } $event->from_where = 'GOOGLE'; $event->save(); } else { if (preg_match('/^Звонок/ui', $calendar->title->text)) { $event = new Call(); $event->name = preg_replace('/^Звонок: /ui', '', $calendar->title->text); GoogleSync::setReminder($event, $calendar->when[0]->reminders[0]); GoogleSync::setDuration(&$event, $calendar->when[0]->startTime, $calendar->when[0]->endTime); } elseif (preg_match('/^Встреча/ui', $calendar->title->text)) { $event = new Meeting(); $event->name = preg_replace('/^Встреча: /ui', '', $calendar->title->text); GoogleSync::setReminder($event, $calendar->when[0]->reminders[0]); GoogleSync::setDuration(&$event, $calendar->when[0]->startTime, $calendar->when[0]->endTime); $event->location = $calendar->where[0]->valueString; } elseif (preg_match('/^Задача/ui', $calendar->title->text)) { $event = new Task(); $event->name = preg_replace('/^Задача: /ui', '', $calendar->title->text); GoogleSync::setDates($event, $calendar->when[0]->endTime, 1); } if (isset($event)) { if (!preg_match('/event.private$/', $calendar->visibility->value)) { $event->description = $calendar->content->text; } GoogleSync::setDates($event, $calendar->when[0]->startTime, 0); $event->from_where = 'GOOGLE'; $event->assigned_user_id = $user->id; $event_id = $event->save(); $googleSync->parent_name = $event->module_dir; $googleSync->parent_id = $event_id; $googleSync->google_id = $id; $googleSync->user_id = $user->id; $googleSync->save(); } } } } catch (Zend_Gdata_App_Exception $e) { } } } return true; }