Example #1
0
 public function read_new_email_subject()
 {
     $GoogleAPI = GoogleAppsAPI::getInstance();
     $client = $GoogleAPI->getClient();
     $service = new Google_Service_Gmail($client);
     $pageToken = NULL;
     $userId = 'me';
     $messages = array();
     $opt_param = array('labelIds' => 'UNREAD');
     do {
         try {
             if ($pageToken) {
                 $opt_param['pageToken'] = $pageToken;
             }
             $messagesResponse = $service->users_messages->listUsersMessages($userId, $opt_param);
             if ($messagesResponse->getMessages()) {
                 $messages = array_merge($messages, $messagesResponse->getMessages());
                 $pageToken = $messagesResponse->getNextPageToken();
             }
         } catch (Exception $e) {
             print 'An error occurred: ' . $e->getMessage();
         }
     } while ($pageToken);
     $speak_emails = array();
     $mail_key = 1;
     foreach ($messages as $message) {
         $message = $service->users_messages->get($userId, $message->getId());
         $headers = $message->payload['modelData']['headers'];
         foreach ($headers as $key => $header) {
             if ($header['name'] == 'Subject') {
                 $subject = $header['value'];
             }
             if ($header['name'] == 'From') {
                 $from = $header['value'];
             }
             if ($header['name'] == 'Date') {
                 $from = $header['value'];
             }
         }
         $speak_emails[$mail_key] = "mail " . $mail_key . ": " . $subject . " Sent by " . $from . " ";
         $mail_key += 1;
     }
     $responses = array("Okay, here we go. ", "Here are your new mails. ");
     $response = $responses[array_rand($responses, 1)] . implode(": ", $speak_emails);
     if ($this->speak) {
         TTS::Speak($response);
     }
 }
Example #2
0
 public function getUpcomingScheduleTomorrow()
 {
     $GoogleAPI = GoogleAppsAPI::getInstance();
     $client = $GoogleAPI->getClient();
     $service = new Google_Service_Calendar($client);
     $calendarId = $this->CalendarID;
     $optParams = array('orderBy' => 'startTime', 'singleEvents' => TRUE, 'timeMin' => date('c', mktime(0, 0, 0, $this->current_date['mon'], $this->current_date['mday'] + 1, $this->current_date['year'])), 'timeMax' => date('c', mktime(23, 59, 59, $this->current_date['mon'], $this->current_date['mday'] + 1, $this->current_date['year'])));
     $results = $service->events->listEvents($calendarId, $optParams);
     if (count($results->getItems()) == 0) {
         return false;
     } else {
         $return = array();
         foreach ($results->getItems() as $event) {
             $start = $event->start->dateTime;
             if (empty($start)) {
                 $start = $event->start->date;
                 $end = $event->end->date;
             }
             //printf("%s (%s)\n", $event->getSummary(), $start);
             $return[] = array('summary' => $event->getSummary(), 'start' => $start, 'end' => $end, 'location' => $event->location);
         }
         return $return;
     }
 }