[Модуль] Simple Calendar (app_calendar)
Модератор: immortal
Re: Календарь/менеджер задач
Перед этими 3 селектами должны быть ещё 2...
Эти 3 отвечают за повторяющиеся события - ежегодные, ежемесячные и еженедельные. А перед ними - сегодняшние не повторяющиеся события и задачи на сегодня
И дата там [DUE] => 2018-03-23, не знаю как у вас, у меня ещё 22...
Эти 3 отвечают за повторяющиеся события - ежегодные, ежемесячные и еженедельные. А перед ними - сегодняшние не повторяющиеся события и задачи на сегодня
И дата там [DUE] => 2018-03-23, не знаю как у вас, у меня ещё 22...
Re: Календарь/менеджер задач
с датой правильно, с двумя до видел, и это видимо я так "заменил"
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
Re: Календарь/менеджер задач
Сергею отправил, вроде б я там ничего не "накосячил" (но все может быть
), пару мелочей поправил.
Ребятам огромное Спасибо, для себя (вынес несколько полезных уроков, правда большую часть не понял, а вопросов еще больше)
Ребятам огромное Спасибо, для себя (вынес несколько полезных уроков, правда большую часть не понял, а вопросов еще больше)
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
Re: Календарь/менеджер задач
Кстати да, а почему не произносит больше будущие задачи и просроченные?
Код: Выделить всё
function dayss($day)
{
$a = substr($day, strlen($day) - 1, 1);
if ($a == 1) $str = "день";
if ($a == 2 || $a == 3 || $a == 4) $str = "дня";
if ($a == 5 || $a == 6 || $a == 7 || $a == 8 || $a == 9 || $a == 0) $str = "дней";
return $str;
}
$stateOff = $params['PropushhennyeDela'];
if (file_exists('./modules/app_calendar/app_calendar.class.php'))
{
include_once('./modules/app_calendar/app_calendar.class.php');
$calendar = new app_calendar();
$calendar -> usual($out);
$events = $out['EVENTS_TODAY'];
$say_phrase = '';
if (is_array($events))
{
$total = count($events);
$tasks = array();
$cals = array();
for ($i = 0; $i < $total; $i++)
{
if ($events[$i]['IS_TASK'] == '1' && $events[$i]['IS_DONE'] != '1')
{
$tasks[] = $events[$i]['TITLE'];
}
elseif($events[$i]['IS_TASK'] != '1')
{
$cals[] = $events[$i]['TITLE'];
}
}
$total_tasks = count($tasks);
if ($total_tasks)
{
$say_phrase.= "У вас на сегодня запланированы задачи. ";
for ($i = 0; $i < $total_tasks; $i++)
{
$say_phrase.= ($i + 1).". ".$tasks[$i].". ";
}
}
else
{
//say("Никаких задач не запланировано.",2);
}
$total_cals = count($cals);
if ($total_cals)
{
$say_phrase.= ("Сегодняшние события. ");
for ($i = 0; $i < $total_cals; $i++)
{
$say_phrase.= $cals[$i].'. ';
}
}
else
{
//say("Уведомлений нет.",2);
}
}
if ($stateOff != 'OFF') { //вызывается параметром, если ничего не пришло - будет говорить.
$events = $out['EVENTS_PAST'];
if ($events[0]['TITLE'])
{
$say_phrase.= " Напоминаю пропущенные задачи. ";
$total_tasks = count($events);
for ($i = 0; $i < $total_tasks; $i++)
{
$say_phrase.= ($i + 1).". ".$events[$i]['TITLE'].". ";
}
}
}
$events = $out['EVENTS_PASTPLAN'];
if ($events[0]['TITLE'])
{
$say_phrase.= "Напоминаю что";
$total_tasks = count($events);
for ($i = 0; $i < $total_tasks; $i++)
{
$datetime1 = date_create($events[$i]['DUE']);
$datetime2 = date_create(date('Y-m-d'));
$timeRASCHET = date_diff($datetime1, $datetime2);
$say_phrase.= " через ";
$say_phrase.= $timeRASCHET -> days." ".dayss($timeRASCHET -> days)." ".$events[$i]['TITLE'].". ";
}
}
}
if ($say_phrase)
{
sleep(2);
echo $say_phrase;
//rs('DemoSay', $say_phrase); //Алиса говорит, но в чат не пишет.
//say($say_phrase,3);
}
Re: Календарь/менеджер задач
А вообще было бы здорово как то разделить еще по категориям, но я там понимаю решение уже есть выше, пока не ковырял код.
Re: Календарь/менеджер задач
$out['EVENTS_PAST']=$events_past;
поправил, обнови с гита, сравни со своим
EVENTS_PASTPLAN работает
поправил, обнови с гита, сравни со своим
EVENTS_PASTPLAN работает
fandaymon писал(а):Для отладки всего что связано с выводом текстом куда-нибудь, в телеграмм или просто в say, очень помогает сделать сценарий
include_once('./modules/app_calendar/app_calendar.class.php');
$calendar=new app_calendar();
$calendar->usual($out);
$events=$out['EVENTS_TODAY'];
и добавить строчку print_r($events); Сразу видно будет что и в каком виде попало в этим самые EVENTS_TODAY...
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
Re: Календарь/менеджер задач
EVENT_PAST и EVENT SOON теперь по категориям разделены, поэтому там надо не просто $out['EVENTS_PAST'] брать, а $out['CALENDAR_CATEGORIES']
и дальше делать цикл по категориям, и для каждой категории будут свои EVENTS_PAST и EVENT_SOON
что-то типа такого
и дальше делать цикл по категориям, и для каждой категории будут свои EVENTS_PAST и EVENT_SOON
что-то типа такого
Код: Выделить всё
$calendar_categories=$out['CALENDAR_CATEGORIES'];
foreach ($calendar_categories as $category) {
$events_past=$category['EVENTS_PAST'];
$events_soon=$category['EVENTS_SOON'];
foreach ($events_past as $event) {
// $category([TITLE]) - здесь будет название категории
// Перебираем в цикле всё просроченное, связанное с этой категорией
}
foreach ($events_soon as $event) {
// $category([TITLE]) - здесь будет название категории
// Перебираем в цикле всё что скоро будет, связанное с этой категорией
}
} Re: Календарь/менеджер задач
https://github.com/sergejey/majordomo-a ... 3b649b8bfe
это отменить?
п.с. с EVENT SOON вопрос, но пока даже сформулировать не могу (
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
Re: Календарь/менеджер задач
Сложно сказать как там всё в шаблонах берётся и не будут ли путаться разные event_past при выводе в usual и не будет ли в таком варианте в events_past данные только по последней категории - надо эксперементироватьLogrus писал(а):"кирпич"
)))
https://github.com/sergejey/majordomo-a ... 3b649b8bfe
это отменить?
п.с. с EVENT SOON вопрос, но пока даже сформулировать не могу (
Re: Календарь/менеджер задач
я сейчас и SOON раскомментировал, сайагенда и мой вариант пропущенных нормально отработали, с выводом замечаний не увидел
п.с. думаю можно и принимать, а там уже и ошибки если есть всем отлавливать (оставлю так, на гите SOON закомментирован)
п.п.с на сцене календаря вторая полоса прокрутки при категориях вид портит
п.с. думаю можно и принимать, а там уже и ошибки если есть всем отлавливать (оставлю так, на гите SOON закомментирован)
п.п.с на сцене календаря вторая полоса прокрутки при категориях вид портит
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо