Разработка дополнительных модулей, подключение различных приложений.
Модератор: immortal
-
Logrus
- Сообщения: 2113
- Зарегистрирован: Пт апр 07, 2017 12:20 pm
-
Благодарил (а):
317 раз
-
Поблагодарили:
466 раз
Сообщение
Logrus » Чт мар 22, 2018 9:08 pm
Logrus писал(а):на сегодня задачи показываются, а события нет (ранее не проверял в событиях праздники их пока не было)
Код: Выделить всё
$uname = $this->getProperty('fullName');
$user_id = SQLSelectOne("SELECT * FROM users WHERE NAME='".$uname."'");
$tlg_id = SQLSelectOne("SELECT * FROM tlg_user WHERE MEMBER_ID='".$user_id['ID']."'");
include_once('./modules/app_calendar/app_calendar.class.php');
$calendar=new app_calendar();
$calendar->usual($out);
$events=$out['EVENTS_TODAY'];
$say_phrase='';
$v=1;
$w=1;
if (is_array($out['EVENTS_TODAY'])) {
foreach($events as $event) {
if ( $event['CALENDAR_CATEGORY_ID'] == '0' && $event['USER_ID'] == $user_id['ID'] && $event['IS_TASK'] != '1' ) {
//события пользователю любой категории
$say_phrase.=$uname.", ваши события на сегодня: ".$event['TITLE'].". ";
$v='';
}
}
if($v) $say_phrase.=$uname.", для вас на сегодня событий нет. ";
foreach($events as $event) {
if ( $event['USER_ID'] == $user_id['ID'] && $event['IS_TASK'] == '1' ) {
//задачи пользователю
$say_phrase.="Ваши задачи на сегодня: ".$event['TITLE'].". ";
$w='';
}
}
if($w) $say_phrase.="Задач для вас на сегодня нет. ";
/*По категориям пользователю*/
foreach($events as $event) {
if ( $event['USER_ID'] == $user_id['ID'] && $event['IS_TASK'] != '1' ) {
//Именины
if ( $event['CALENDAR_CATEGORY_ID'] == '9' ) {
$say_phrase.="Ура. У вас сегодня Именины! А еще именины у: ".$event['TITLE'].". ";
}
//ДР
if ( $event['CALENDAR_CATEGORY_ID'] == '1' ) {
$say_phrase.="Поздравляем! ".$event['TITLE'].". ";
}
//Напоминания
if ( $event['CALENDAR_CATEGORY_ID'] == '3' ) {
$say_phrase.="Для Вас напоминание на сегодня: ".$event['TITLE'].". ";
}
//Семейные праздники
if ( $event['CALENDAR_CATEGORY_ID'] == '8' ) {
$say_phrase.="Не забудьте про семейный праздник, сегодня ".$event['TITLE'].". ";
}
//Православные праздники
if ( $event['CALENDAR_CATEGORY_ID'] == '7' ) {
$say_phrase.="Православные сегодня отмечают ".$event['TITLE'].". ";
}
//Праздники РФ
if ( $event['CALENDAR_CATEGORY_ID'] == '5' ) {
$say_phrase.="Вся Россия сегодня отмечает ".$event['TITLE'].", с чем и поздравляю!";
}
}
}
} else {
$say_phrase.="Ну надо же, ни событий, ни задач. Халява.";
}
$this->setProperty('UserEvents', $say_phrase);
include_once(DIR_MODULES . 'telegram/telegram.class.php');
$telegram_module = new telegram();
$telegram_module->sendMessageToUser($tlg_id['USER_ID'], $say_phrase);
название проверка, категория праздники, пользователь алекс, то в задаче, то в событии
Logrus, [22.03.18 23:00]
Александр, для вас на сегодня событий нет. Ваши задачи на сегодня: проверка.
Logrus, [22.03.18 23:01]
Ну надо же, ни событий, ни задач. Халява.
Telegram |
Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с
10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) )))
Спасибо
-
webms
- Сообщения: 498
- Зарегистрирован: Чт дек 15, 2016 3:13 am
-
Благодарил (а):
221 раз
-
Поблагодарили:
88 раз
Сообщение
webms » Чт мар 22, 2018 9:09 pm
fandaymon писал(а):Для выполненных стоит условие TO_DAYS(NOW())-TO_DAYS(DONE_WHEN)<=1. Т.е. должны показываться только сделанные вчера и сегодня. Можно посмотреть что в этих задачах за Done_When стоит...
Извини, я когда делал шаблон обновлял его галочками (то ставил, то убирал)
Все ок
-
fandaymon
- Сообщения: 1570
- Зарегистрирован: Сб янв 13, 2018 5:00 pm
-
Благодарил (а):
40 раз
-
Поблагодарили:
578 раз
Сообщение
fandaymon » Чт мар 22, 2018 9:24 pm
IS_TASK int - его надо просто с 1 сравниватью Нет - дело не в этом.
Там же получается так
1 цикл - ищем события с нулевой категорией - не находим
2 цикл - ищем задачи - находим
3 цикл ищем события - не находим
Вроде всё правильно отрабатывает - 2 цикл пишет что есть задача, 3 - что нету событий. Логика скрипта изначально не очень правильная.
Последний раз редактировалось
fandaymon Чт мар 22, 2018 9:45 pm, всего редактировалось 1 раз.
-
Logrus
- Сообщения: 2113
- Зарегистрирован: Пт апр 07, 2017 12:20 pm
-
Благодарил (а):
317 раз
-
Поблагодарили:
466 раз
Сообщение
Logrus » Чт мар 22, 2018 9:41 pm

- ноль.PNG (47.15 КБ) 3628 просмотров

- событие.PNG (7.93 КБ) 3628 просмотров

- задача.PNG (9.86 КБ) 3628 просмотров
проверка
п.с. и сорри но я уже не понимаю и несколько потерял нить разговора (((
Telegram |
Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с
10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) )))
Спасибо
-
Logrus
- Сообщения: 2113
- Зарегистрирован: Пт апр 07, 2017 12:20 pm
-
Благодарил (а):
317 раз
-
Поблагодарили:
466 раз
Сообщение
Logrus » Чт мар 22, 2018 10:02 pm
выше с метода в телеграмм тоже не отправляет, а про это на предыдущей писал
и извиняюсь, я то для себя понятно сказал )))
вот остальным (((
п.с.
1.
на сегодня задачи показываются, а события нет (ранее не проверял в событиях праздники их пока не было)
и отправка в телеграмм
2. решить с путями
cms vs img
первая папка по умолчанию бэкапится, во второй и иконки ко всем модулям хранятся
3.
в админке с графой сделано не понятно, вроде б не отображается
хз, что-то запутался вчера там вроде б были отметки
4.
"fandaymon, я заметил что выполненные задачи не убираются с страницы уже третий день"
у меня вроде б нет такой проблемы или не заметил пока
Telegram |
Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с
10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) )))
Спасибо
-
fandaymon
- Сообщения: 1570
- Зарегистрирован: Сб янв 13, 2018 5:00 pm
-
Благодарил (а):
40 раз
-
Поблагодарили:
578 раз
Сообщение
fandaymon » Чт мар 22, 2018 10:12 pm
Logrus писал(а):выше с метода в телеграмм тоже не отправляет, а про это на предыдущей писал
и извиняюсь, я то для себя понятно сказал )))
вот остальным (((
Про телеграмм - если в событии указывается что оно для всех пользователей, то в этом событии event['USER_ID'] будет равен 0 и проверку не пройдёт. Т.е. вместо
Код: Выделить всё
if ( $event['CALENDAR_CATEGORY_ID'] == '0' && $event['USER_ID'] == $user_id['ID'] && $event['IS_TASK'] != '1' ) {
//события пользователю любой категории
надо проверять
Код: Выделить всё
if ( ($event['USER_ID'] == $user_id['ID'] or $event['USER_ID'] ==0) and ($event['IS_TASK'] ==0)) {
- За это сообщение автора fandaymon поблагодарил:
- Logrus (Чт мар 22, 2018 11:06 pm)
-
fandaymon
- Сообщения: 1570
- Зарегистрирован: Сб янв 13, 2018 5:00 pm
-
Благодарил (а):
40 раз
-
Поблагодарили:
578 раз
Сообщение
fandaymon » Чт мар 22, 2018 10:23 pm
Про cms и img - у меня сложилось впечатление, что img для иконок связанных с модулём, т.е. то что идёт вместе с инсталяшкой модуля, а cms - это то что у каждого пользователся своё. Т.е. так как оно сейчас сделано, так вроде бы и правильно.
Но я могу ошибаться - с Сергеем не знаком и как он задумывал точно -я не знаю

-
fandaymon
- Сообщения: 1570
- Зарегистрирован: Сб янв 13, 2018 5:00 pm
-
Благодарил (а):
40 раз
-
Поблагодарили:
578 раз
Сообщение
fandaymon » Чт мар 22, 2018 10:28 pm
Для отладки всего что связано с выводом текстом куда-нибудь, в телеграмм или просто в 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...
- За это сообщение автора fandaymon поблагодарил:
- Logrus (Чт мар 22, 2018 10:58 pm)
-
Logrus
- Сообщения: 2113
- Зарегистрирован: Пт апр 07, 2017 12:20 pm
-
Благодарил (а):
317 раз
-
Поблагодарили:
466 раз
Сообщение
Logrus » Чт мар 22, 2018 10:57 pm
задача
Array ( [0] => Array ( [ID] => 27 [TITLE] => проверка [SYSTEM] => [NOTES] => [DUE] => 2018-03-23 [ADDED] => 2018-03-22 20:44:59 [DONE_WHEN] => [IS_TASK] => 1 [IS_DONE] => 0 [IS_NODATE] => 0 [IS_REPEATING] => 0 [REPEAT_TYPE] => 1 [WEEK_DAYS] => [IS_REPEATING_AFTER] => 0 [REPEAT_IN] => 3 [USER_ID] => 5 [LOCATION_ID] => 0 [CALENDAR_CATEGORY_ID] => 2 [DONE_SCRIPT_ID] => 0 [DONE_CODE] => [LOG] => [ICON] => ) )
переделал ее на событие
т.е. полностью пусто
Код: Выделить всё
$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");
if ($events_weekly_today) {
foreach($events_weekly_today as $k=>$v) {
$events_today[]=$v;
//$calendar_categories[$k1]['EVENTS_TODAY'][]=$v;
}
}
if ($events_today) {
$out['EVENTS_TODAY']=$events_today;
}
IS_REPEATING=1 я хз, не оно

- хз.PNG (27.77 КБ) 3589 просмотров
в событие (но я хз что сделал, в смысле на что это влияет)
Array ( [0] => Array ( [ID] => 27 [TITLE] => проверка [SYSTEM] => [NOTES] => [DUE] => 2018-03-23 [ADDED] => 2018-03-22 20:44:59 [DONE_WHEN] => [IS_TASK] => 0 [IS_DONE] => 0 [IS_NODATE] => 0 [IS_REPEATING] => 0 [REPEAT_TYPE] => 1 [WEEK_DAYS] => [IS_REPEATING_AFTER] => 0 [REPEAT_IN] => 3 [USER_ID] => 5 [LOCATION_ID] => 0 [CALENDAR_CATEGORY_ID] => 2 [DONE_SCRIPT_ID] => 0 [DONE_CODE] => [LOG] => [ICON] => ) )
это я ей повтор не поставил?
Последний раз редактировалось
Logrus Чт мар 22, 2018 11:29 pm, всего редактировалось 3 раза.
Telegram |
Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с
10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) )))
Спасибо