Навеяло: Чудеса автоматизации или как отправляют SMS настоящие гики.
Если люди делают такие изощрения — значит сильно надо.
За пару часов был разработан класс для добавления в Google Calendar событий. А уже календарь гугла станет нам слать СМСки.
Для использования нам нужно правильно настроить наш каллендарь(стоит завести для этого отдельный аккаунт):
1. Установить часовой пояс календаря такойже как на сервере.
2. Настроить СМС уведомления (Настройки -> Настройка для мобильных устройств)
3. Настроить уведомление по умолчанию для календаря.(Настроки календаря — Уведомления)
Ставим по умолчанию уведомить за 1 минуту до события по СМС. Можно добавить Дополнительно уведомление по почте.
Всё. Календарь подготовлен.
Для работы скрипта нам понядобится часть ZendFramework.
Набор классов gdata: framework.zend.com/download/gdata.
И код скрипта с классом и примером использования:
$timecorr — переменная корректировки времени.
Время на сервере и время гугла могут различаться изза неверного времени сервера. Не всегда есть возможность это исправить.
По сути — этим параметром подгоняем нужное время так, чтобы уведомление приходило не позднее, чем через минуту после события.
Если люди делают такие изощрения — значит сильно надо.
За пару часов был разработан класс для добавления в Google Calendar событий. А уже календарь гугла станет нам слать СМСки.
Для использования нам нужно правильно настроить наш каллендарь(стоит завести для этого отдельный аккаунт):
1. Установить часовой пояс календаря такойже как на сервере.
2. Настроить СМС уведомления (Настройки -> Настройка для мобильных устройств)
3. Настроить уведомление по умолчанию для календаря.(Настроки календаря — Уведомления)
Ставим по умолчанию уведомить за 1 минуту до события по СМС. Можно добавить Дополнительно уведомление по почте.
Всё. Календарь подготовлен.
Для работы скрипта нам понядобится часть ZendFramework.
Набор классов gdata: framework.zend.com/download/gdata.
И код скрипта с классом и примером использования:
<?
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');
class GCAlerter
{
public $gcCalendar;
public $gcTimeCorrect;
public function __construct($user, $pass, $tc)
{
$client = Zend_Gdata_ClientLogin::getHttpClient($user, $pass, "cl");
$this->gcCalendar = new Zend_Gdata_Calendar($client);
$this->gcTimeCorrect = $tc;
}
public function Alert($text)
{
$quickAddText = "$text ".date("h:i",time() + $this->gcTimeCorrect);
$event = $this->gcCalendar->newEventEntry();
$event->content = $this->gcCalendar->newContent($quickAddText);
$event->quickAdd = $this->gcCalendar->newQuickAdd('true');
$newEvent = $this->gcCalendar->insertEvent($event);
return $newEvent->id->text;
}
}
$user = "mycal@gmail.com";
$pass = 'mypass';
$timecorr = 2*60;// 2*60 = 2 min, 10*60 = 10min
$gcAlerter = new GCAlerter($user, $pass, $timecorr);
$gcAlerter->Alert("OMG I`m die!!!");
?>
* This source code was highlighted with Source Code Highlighter.
$timecorr — переменная корректировки времени.
Время на сервере и время гугла могут различаться изза неверного времени сервера. Не всегда есть возможность это исправить.
По сути — этим параметром подгоняем нужное время так, чтобы уведомление приходило не позднее, чем через минуту после события.