Анонс переезда планировщика todoer в mboard + программное создание задачи
Благодаря Eraser'у осуществлён переезд планировщика в интерфейс mboard!
В админке по-прежнему есть доступ к задачам, но последнее время туда уже не захожу
несколько скринов:
а теперь - как создать задачу из кода:
Пример - приходит смс после оформления заказа в магазине, оформим это как задачку с напоминанием
смс Заказ 162658725 (9854.00руб.) доставим 30.03.2023 в период 13:00-17:00
отправитель VPROK.RU
//пришла новая смска - разбор
say("Новое СМС - отправитель ".$from.". ".$txt,2);
if($from == "VPROK.RU"){
$re = '/Заказ (\d+) \((.+)\) доставим (\d+.\d+.\d+) в период (.+)-(.+)/su';
$str = $txt;
if(preg_match($re, $str, $matches, PREG_OFFSET_CAPTURE, 0)){ //разберём по шаблону
$myDateTime = date_create_from_format('d.m.Y H:i', $matches[3][0].' '.$matches[4][0]);
$dt1 = date_format($myDateTime,'Y-m-d H:i:00'); //начало
$myDateTime = date_create_from_format('d.m.Y H:i', $matches[3][0].' '.$matches[5][0]);
$dt2 = date_format($myDateTime,'Y-m-d H:i:00'); //конец
if($matches[1][0]){ //добавим ссылку на заказ по его номеру
$txt .= " <a href='https://www.vprok.ru/profile/orders/status/" . $matches[1][0] ."' target='_blank'>К заказу</a>";
}
//заполним данные для задачи
$tsk = array(
'TITLE' => "Заказ Перекресток ".$matches[1][0]." из смс",
'DUE' => $dt1,
'END_TIME' => $dt2,
'NOTES' => $txt,//your notes
// 'BEGIN_CODE' => "say('задача началась!',1);", //code for beginning
// 'DONE_CODE' => "say('задача закончена!',1);", //code for ending
'AUTODONE' => 1, //autoends at end_time and done_code execs
'IS_REMIND' => 1, //установим напоминание
'REMIND_TIMER' => 10, //напоминание в фиксированное время
'REMIND_TIME' => date('Y-m-d H:i:00', strtotime($dt1) - 60*60), // напомним за час
'CATEGORY' => "Заказы", //категория
// ... and so on
);
include_once(DIR_MODULES . 'todoer/todoer.class.php');
$todo = new todoer();
$todo->create_new_task($tsk);
say("Задача добавлена в календарь",2);
}
}
в календаре это отобразится как-то так
Домодедово, Россия
На форуме: xor