[Модуль] Simple Calendar (app_calendar)
Модератор: immortal
-
- Сообщения: 2084
- Зарегистрирован: Пт апр 07, 2017 12:20 pm
- Благодарил (а): 313 раз
- Поблагодарили: 457 раз
Re: Календарь/менеджер задач
у меня 506 такая
$due_time_next_month=mktime(1, 1, 1, date('m', $time_next_month), $tmp[2], date('Y', $time_next_month));
512 такая
} elseif ($rec['REPEAT_TYPE']==9) {
$due_time_next_month=mktime(1, 1, 1, date('m', $time_next_month), $tmp[2], date('Y', $time_next_month));
512 такая
} elseif ($rec['REPEAT_TYPE']==9) {
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
-
- Сообщения: 1554
- Зарегистрирован: Сб янв 13, 2018 5:00 pm
- Благодарил (а): 39 раз
- Поблагодарили: 574 раза
Re: Календарь/менеджер задач
Вот так должна выглядеть функция task_done
Код: Выделить всё
function task_done($id) {
//DebMes("Task $id is DONE! Congratulations!!!");
$rec=SQLSelectOne("SELECT * FROM calendar_events WHERE ID='".(int)$id."'");
$rec['DONE_WHEN']=date('Y-m-d H:i:s');
$rec['IS_DONE']=1;
$tmp=explode('-', $rec['DUE']);
$due_time=mktime(1, 1, 1, $tmp[1], $tmp[2], $tmp[0]);
if ($rec['IS_REPEATING']) {
$rec['IS_DONE']=0;
if ($rec['REPEAT_TYPE']==1) {
// yearly task
$due_time_next_year=mktime(1, 1, 1, $tmp[1], $tmp[2], $tmp[0]+1);
$rec['DUE']=date('Y-m-d', $due_time_next_year);
} elseif ($rec['REPEAT_TYPE']==2) {
// monthly task
$time_next_month=$due_time+31*24*60*60;
$due_time_next_month=mktime(1, 1, 1, date('m', $time_next_month), $tmp[2], date('Y', $time_next_month));
$rec['DUE']=date('Y-m-d', $due_time_next_month);
} elseif ($rec['REPEAT_TYPE']==3) {
// weekly task
$due_time_next_week=$due_time+7*24*60*60;
$rec['DUE']=date('Y-m-d', $due_time_next_week);
} elseif ($rec['REPEAT_TYPE']==9) {
// custom repeat task
if ($rec['IS_REPEATING_AFTER']) {
$rec['DUE']=date('Y-m-d', time()+$rec['REPEAT_IN']*24*60*60);
} else {
$rec['DUE']=date('Y-m-d', $due_time+$rec['REPEAT_IN']*24*60*60);
}
}
}
$rec['LOG']=date('Y-m-d H:i:s').' Task marked DONE'."\n".$rec['LOG'];
SQLUpdate('calendar_events', $rec);
if ($rec['DONE_SCRIPT_ID']) {
runScript($rec['DONE_SCRIPT_ID'], $rec);
}
}
- Рейтинг: 1.16%
-
- Сообщения: 2084
- Зарегистрирован: Пт апр 07, 2017 12:20 pm
- Благодарил (а): 313 раз
- Поблагодарили: 457 раз
Re: Календарь/менеджер задач
пропадает в пропущенных с 59, до 28 дней, потом в сегодня задваивается, потом одна остается и растет с каждым нажатием месяц (и в скоро +30 дней)
п.с. еще вопрос, а LOG не нужно будет чистить и можно ли автоматом?
п.с. еще вопрос, а LOG не нужно будет чистить и можно ли автоматом?
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
-
- Сообщения: 1554
- Зарегистрирован: Сб янв 13, 2018 5:00 pm
- Благодарил (а): 39 раз
- Поблагодарили: 574 раза
Re: Календарь/менеджер задач
Чтобы не двоились сегодняшние таски надо найти строчку 255 (у меня) и добавить в ней AND IS_REPEATING=0, чтобы получилось так
$tasks_today=SQLSelect("SELECT calendar_events.*,calendar_categories.ICON FROM calendar_events left join calendar_categories on calendar_events.calendar_category_id=calendar_categories.id WHERE TO_DAYS(DUE)=TO_DAYS(NOW()) AND IS_DONE=0 AND IS_TASK=1 AND IS_REPEATING=0 ORDER BY IS_TASK DESC");
$tasks_today=SQLSelect("SELECT calendar_events.*,calendar_categories.ICON FROM calendar_events left join calendar_categories on calendar_events.calendar_category_id=calendar_categories.id WHERE TO_DAYS(DUE)=TO_DAYS(NOW()) AND IS_DONE=0 AND IS_TASK=1 AND IS_REPEATING=0 ORDER BY IS_TASK DESC");
-
- Сообщения: 2084
- Зарегистрирован: Пт апр 07, 2017 12:20 pm
- Благодарил (а): 313 раз
- Поблагодарили: 457 раз
Re: Календарь/менеджер задач
разобрался почему строки не совпадают, я с последним видимо напутал ((
обновил, внес оба изменения, задваивание пропало в обоих, но не уходит из сегодня, только месяц прибавляет (во я озадачил всех, сорри)
обновил, внес оба изменения, задваивание пропало в обоих, но не уходит из сегодня, только месяц прибавляет (во я озадачил всех, сорри)
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
-
- Сообщения: 1554
- Зарегистрирован: Сб янв 13, 2018 5:00 pm
- Благодарил (а): 39 раз
- Поблагодарили: 574 раза
Re: Календарь/менеджер задач
По поводу лога - там тип поля TEXT, так что специально чистить не надо - я так понимаю это такая идея автора - чтобы в этом поле хранилась вся история выполнения таска...
-
- Сообщения: 1554
- Зарегистрирован: Сб янв 13, 2018 5:00 pm
- Благодарил (а): 39 раз
- Поблагодарили: 574 раза
Re: Календарь/менеджер задач
Мда - и не пропадёт, потому что для повторяющихся ежемесячных сравнивается только день. Ну тогда так надо сделатьLogrus писал(а):разобрался почему строки не совпадают, я с последним видимо напутал ((
обновил, внес оба изменения, задваивание пропало в обоих, но не уходит из сегодня, только месяц прибавляет (во я озадачил всех, сорри)
СпойлерПоказать
Код: Выделить всё
$tasks_today=SQLSelect("SELECT calendar_events.*,calendar_categories.ICON FROM calendar_events left join calendar_categories on calendar_events.calendar_category_id=calendar_categories.id WHERE TO_DAYS(DUE)=TO_DAYS(NOW()) AND IS_DONE=0 AND IS_TASK=1 ORDER BY IS_TASK DESC");
if ($tasks_today) {
foreach($tasks_today as $k=>$v) {
$events_today[]=$v;
//$calendar_categories[$k1]['EVENTS_TODAY'][]=$v;
}
}
$events_early_today=SQLSelect("SELECT calendar_events.*,calendar_categories.ICON FROM calendar_events left join calendar_categories on calendar_events.calendar_category_id=calendar_categories.id WHERE TO_DAYS(DATE(CONCAT_WS('-', DATE_FORMAT(NOW(), '%Y'), DATE_FORMAT(DUE, '%m'), DATE_FORMAT(DUE, '%d'))))=TO_DAYS(NOW()) AND IS_REPEATING=1 AND REPEAT_TYPE=1 AND IS_TASK=0 ORDER BY IS_TASK DESC");
if ($events_early_today) {
foreach($events_early_today as $k=>$v) {
$events_today[]=$v;
//$calendar_categories[$k1]['EVENTS_TODAY'][]=$v;
}
}
$events_monthly_today=SQLSelect("SELECT calendar_events.*,calendar_categories.ICON FROM calendar_events left join calendar_categories on calendar_events.calendar_category_id=calendar_categories.id WHERE TO_DAYS(DATE(CONCAT_WS('-', DATE_FORMAT(NOW(), '%Y'), DATE_FORMAT(NOW(), '%m'), DATE_FORMAT(DUE, '%d'))))=TO_DAYS(NOW()) AND IS_REPEATING=1 AND REPEAT_TYPE=2 AND IS_TASK=0 ORDER BY IS_TASK DESC");
if ($events_monthly_today) {
foreach($events_monthly_today as $k=>$v) {
$events_today[]=$v;
//$calendar_categories[$k1]['EVENTS_TODAY'][]=$v;
}
}
$events_weekly_today=SQLSelect("SELECT calendar_events.*,calendar_categories.ICON FROM calendar_events left join calendar_categories on calendar_events.calendar_category_id=calendar_categories.id WHERE DATE_FORMAT(DUE, '%w')=DATE_FORMAT(NOW(), '%w') AND IS_REPEATING=1 AND REPEAT_TYPE=3 AND IS_TASK=0 ORDER BY IS_TASK DESC");
- Рейтинг: 1.16%
-
- Сообщения: 2084
- Зарегистрирован: Пт апр 07, 2017 12:20 pm
- Благодарил (а): 313 раз
- Поблагодарили: 457 раз
Re: Календарь/менеджер задач
"специально чистить не надо" - в смысле они будет само, то что оно полезно понятно, не раздует, то я вот натыкал уже, охххх )))
еще раз все обновил, изменения внес, не уходит из сегодня ( (это к двум поста выше)
п.с. заменил, и само пропало, дату откатил, появилось в пропущенных, кликнул ушло в выполненные
СПАСИБО
еще раз все обновил, изменения внес, не уходит из сегодня ( (это к двум поста выше)
п.с. заменил, и само пропало, дату откатил, появилось в пропущенных, кликнул ушло в выполненные
СПАСИБО
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
-
- Сообщения: 1554
- Зарегистрирован: Сб янв 13, 2018 5:00 pm
- Благодарил (а): 39 раз
- Поблагодарили: 574 раза
Re: Календарь/менеджер задач
В смысле там будет хранится столько текста сколько надо По логике это поле, наверное, надо выводить при редактировании задачи, примерно как это сделано в шаблонахLogrus писал(а):"специально чистить не надо" - в смысле они будет само, то что оно полезно понятно, не раздует, то я вот натыкал уже, охххх )))
Ну и хорошо - ошибку выявили, локализовали и исправилиLogrus писал(а): п.с. заменил, и само пропало, дату откатил, появилось в пропущенных, кликнул ушло в выполненные
СПАСИБО
- Рейтинг: 1.16%
- webms
- Сообщения: 498
- Зарегистрирован: Чт дек 15, 2016 3:13 am
- Благодарил (а): 221 раз
- Поблагодарили: 88 раз
Re: Календарь/менеджер задач
Готово!
PS: Со временем мб какие то идеи еще придут, сделаю. Отправьте пожалуйста новый дизайн и обновленный код Сергею.
PS: Со временем мб какие то идеи еще придут, сделаю. Отправьте пожалуйста новый дизайн и обновленный код Сергею.
- Вложения
-
- 2018-03-22_18-02-57.png (26.39 КБ) 3250 просмотров
-
- new_templates_calendar.zip
- (29.02 КБ) 97 скачиваний
- Рейтинг: 2.33%