[Модуль] Simple Calendar (app_calendar)

Разработка дополнительных модулей, подключение различных приложений.

Модератор: immortal

VladPTZ
Сообщения: 395
Зарегистрирован: Вт май 31, 2016 6:56 pm
Откуда: Россия Карелия Петрозаводск
Благодарил (а): 95 раз
Поблагодарили: 57 раз

Re: Календарь/менеджер задач

Сообщение VladPTZ » Ср июл 18, 2018 11:04 am

Ставлю галку "без конкретной даты", жму сохранить, снова открываю эту задачу, галки "без конкретной даты" не стоит а стоит текущая дата а на следующий день эта задача числится просроченой.
Это баг?
Сервер МД на x86 micro pc ssd + HDD, OC Debian, терминал Xiaomi Redmi note 7
Мои исходники для мд управляемых устройств https://github.com/vgamaev/ESPMDDEVICE
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: Календарь/менеджер задач

Сообщение nick7zmail » Ср июл 18, 2018 3:47 pm

fandaymon писал(а):
nick7zmail писал(а):
Пт июл 13, 2018 8:14 am
Эмм...как так у вас календарь то разъезжается? По идее таблицей должен быть, и вне зависимости от разрешения ничего никуда не уедет.

Отправлено с моего Xperia XZ1 Compact через Tapatalk
То-то и оно что он дивами сделан и что-то из установок в меню на эти дивы действует...

PS. Везде, кроме меню рамка рисуется внутри бокса, а в меню почему-то снаружи и из-за этого увеличивается ширина квадратика-даты....
Не проще распихать div-ы в табличку? Норм всё и везде будет, на всех разрешениях.

Отправлено с моего Xperia XZ1 Compact через Tapatalk


Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
fandaymon
Сообщения: 1553
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 39 раз
Поблагодарили: 574 раза

Re: Календарь/менеджер задач

Сообщение fandaymon » Ср июл 18, 2018 5:18 pm

nick7zmail писал(а):
Ср июл 18, 2018 3:47 pm
fandaymon писал(а):
nick7zmail писал(а):
Пт июл 13, 2018 8:14 am
Эмм...как так у вас календарь то разъезжается? По идее таблицей должен быть, и вне зависимости от разрешения ничего никуда не уедет.

Отправлено с моего Xperia XZ1 Compact через Tapatalk
То-то и оно что он дивами сделан и что-то из установок в меню на эти дивы действует...

PS. Везде, кроме меню рамка рисуется внутри бокса, а в меню почему-то снаружи и из-за этого увеличивается ширина квадратика-даты....
Не проще распихать div-ы в табличку? Норм всё и везде будет, на всех разрешениях.

Отправлено с моего Xperia XZ1 Compact через Tapatalk
Не проще, так как если делать дивами, то можно воспользоваться выводом рекордсета в шаблон. Но если бы не получилось так, то конечно пришлось бы таблицу рисовать
fandaymon
Сообщения: 1553
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 39 раз
Поблагодарили: 574 раза

Re: Календарь/менеджер задач

Сообщение fandaymon » Ср июл 18, 2018 5:45 pm

VladPTZ писал(а):
Ср июл 18, 2018 11:04 am
Ставлю галку "без конкретной даты", жму сохранить, снова открываю эту задачу, галки "без конкретной даты" не стоит а стоит текущая дата а на следующий день эта задача числится просроченой.
Это баг?
Да - почему-то в модуле отключено сохранение флажка Без даты... Не знаю почему. Может быть потому что дата тогда отображается в виде 00/00/0000
VladPTZ
Сообщения: 395
Зарегистрирован: Вт май 31, 2016 6:56 pm
Откуда: Россия Карелия Петрозаводск
Благодарил (а): 95 раз
Поблагодарили: 57 раз

Re: Календарь/менеджер задач

Сообщение VladPTZ » Вт июл 24, 2018 1:09 pm

Скрипт (на основе скрипта из документации) проговаривает задачи (или отправляет например телеграм) и события при попадании заданного пользователя в загаданную геозону.
Добавляется в Сценарии под именем CalendarSay_GeoLocation

Код: Выделить всё

if (file_exists('./modules/app_calendar/app_calendar.class.php'))
{
    Define('TEMP_APP_CALENDAR_SOONLIMIT', '5'); //лимит дней которые проговаривает
    include_once('./modules/app_calendar/app_calendar.class.php');
    $calendar = new app_calendar();
    $calendar -> usual($out);
    $events = $out['EVENTS_TODAY'];
    $say_phrase = '';
 	$LocationID = $params['LocationID'];
 	$UserID = $params['UserID'];
    if ($events)
    {
        $tasks = '';
        $cals = '';
        $i = 0;
        $j = 0;
        foreach($events as $ev)
        {
            if ($ev['IS_DONE'] == 0 and $ev['LOCATION_ID'] == $LocationID and $ev['USER_ID'] == $UserID)
            {
                $i++;
                $tasks.= $i.'. '.$ev['TITLE'].'. ';
            }  
        }
        if ($i != 0) $say_phrase.= "У вас на сегодня запланированы задачи, ".$tasks;
        //if ($j != 0) $say_phrase.= "Сегодняшние события, ".$cals;
    }
        $events = $out['CALENDAR_CATEGORIES'];
        $i = 0;
        $tasks = '';
        if ($events)
        {
            foreach($events as $category)
            {
                $events_past = $category['EVENTS_PAST'];
                if ($events_past)
                {
                    //$tasks.= 'из категории: '.$category['TITLE'].'. '; //Если нужно перед пропущенными задачами указывать категорию   
                    foreach($events_past as $ev)
                    {
                     	if ($ev['LOCATION_ID'] == $LocationID and $ev['USER_ID'] == $UserID)
             			{
                           $i++;
                           $tasks.= $i.'. '.$ev['TITLE'].'. ';
                        }
                     
                    }
                }
            }
            if ($i != 0) $say_phrase.= " Напоминаю пропущенные задачи, ".$tasks;
        }
    $events = $out['CALENDAR_CATEGORIES'];
    $tasks = '';
    $i = 0;
    if ($events)
    {
        foreach($events as $category)
        {
            $events_soon = $category['EVENTS_SOON'];
            if ($events_soon)
            {
                //$say_phrase.= ' в категории: '.$category['TITLE'].'. ';
                foreach($events_soon as $ev)
                {
                 	if ($ev['LOCATION_ID'] == $LocationID and $ev['USER_ID'] == $UserID)
           			{
                        $i++;
                        $tasks.= " через ".$ev['AGE']." ".$ev['DAYS']." ".$ev['TITLE'].". ";
                    }
                }
            }
        }
     if ($i != 0) $say_phrase.= "Напоминаю что".$tasks;
    }
    if ($say_phrase)
    {
        //echo $say_phrase;
        say($say_phrase, 3);
    }
} 
Вызов скрипта при попадании в геозону, в модуле gps добавить в действие.

Код: Выделить всё

$UserID = 5; //5
$LocationID = "1"; //Гараж
runScript("CalendarSay_GeoLocation", array('LocationID' => $LocationID, 'UserID' => $UserID));
За это сообщение автора VladPTZ поблагодарили (всего 3):
webms (Вт июл 24, 2018 1:34 pm) • alex.frost (Ср авг 15, 2018 2:47 pm) • Strangeman (Пт окт 12, 2018 4:32 pm)
Рейтинг: 3.49%
Сервер МД на x86 micro pc ssd + HDD, OC Debian, терминал Xiaomi Redmi note 7
Мои исходники для мд управляемых устройств https://github.com/vgamaev/ESPMDDEVICE
Аватара пользователя
webms
Сообщения: 498
Зарегистрирован: Чт дек 15, 2016 3:13 am
Благодарил (а): 221 раз
Поблагодарили: 88 раз

Re: Календарь/менеджер задач

Сообщение webms » Вт окт 09, 2018 11:28 am

Всем привет
А кто может пофиксить
-чтоб не показывал сколько дней прошло если стоит галочка на "без конкретной даты"
-и убрать "-" (минус) с "прошло -N дней".
Вложения
Clip2net_181009112458.png
Clip2net_181009112458.png (50.39 КБ) 3579 просмотров
Clip2net_181009112357.png
Clip2net_181009112357.png (27.13 КБ) 3579 просмотров
Аватара пользователя
Strangeman
Сообщения: 208
Зарегистрирован: Ср янв 16, 2013 6:35 pm
Откуда: Золотарево
Благодарил (а): 101 раз
Поблагодарили: 19 раз
Контактная информация:

Re: Календарь/менеджер задач

Сообщение Strangeman » Пт окт 12, 2018 4:36 pm

Планируется ли развитие менеджера задач, а конкретно введение иерархии?
Что-то типа такого:

Код: Выделить всё

Построить дом
 Залить фундамент
  Посчитать количество бетона
  Посчитать количество арматуры
 Выложить стены
  Заказать материалы  
   Посчитать количество кирпича
   Посчитать количество раствора
Основной: Z99Le, Debian 10, модули на ESP-12F с собственной логикой. С сервером связаны, но работоспособны и без него.
Тестовый: Cubieboard2, Armbian Buster (сейчас Bionic) 5.4.y
VladPTZ
Сообщения: 395
Зарегистрирован: Вт май 31, 2016 6:56 pm
Откуда: Россия Карелия Петрозаводск
Благодарил (а): 95 раз
Поблагодарили: 57 раз

Re: [Модуль] Simple Calendar (app_calendar)

Сообщение VladPTZ » Пн ноя 26, 2018 6:09 pm

Тестовая машина на вмвари с ubuntu 18 php 7.2
Ставил по инструкции установка на linux
База чистая с инструкции.
При работе с модулям наблюдаю такую картину.

Код: Выделить всё

Error
Details
http://10.0.1.228/admin.php?pd=&md=panel&inst=&action=app_calendar
1364: Field 'NOTES' doesn't have a default value
INSERT INTO `settings`(`NAME`, `VALUE`, `DEFAULTVALUE`, `TITLE`, `TYPE`, `DATA`) VALUES('APP_CALENDAR_SHOWCALENDAR', '1', '1', 'Показывать календарь в Делах и Событиях', 'yesno', '')
Backtrace

#0 /var/www/lib/mysqli.class.php(396): custom_error->__construct('1364: Field 'NO...', 0)
#1 /var/www/lib/mysqli.class.php(185): mysql->Error('INSERT INTO `se...', 0)
#2 /var/www/lib/mysqli.class.php(329): mysql->Exec('INSERT INTO `se...')
#3 /var/www/lib/sqlFunctions.class.php(111): mysql->Insert('settings', Array)
#4 /var/www/modules/app_calendar/app_calendar.class.php(170): SQLInsert('settings', Array)
#5 /var/www/modules/app_calendar/app_calendar.class.php(106): app_calendar->checkSettings()
#6 /var/www/lib/jTemplate.class.php(713) : eval()'d code(8): app_calendar->run()
#7 /var/www/lib/jTemplate.class.php(713): eval()
#8 /var/www/lib/jTemplate.class.php(195): jTemplate->parseModules('...', Array, './templates/')
#9 /var/www/lib/jTemplate.class.php(109): jTemplate->parse('...', Array, './templates/')
#10 /var/www/lib/parser.class.php(93): jTemplate->__construct('./templates/pan...', Array, Object(panel))
#11 /var/www/lib/parser.class.php(63): parser->jtemplate_parse('./templates/pan...', Array)
#12 /var/www/modules/panel.class.php(180): parser->__construct('./templates/pan...', Array, Object(panel))
#13 /var/www/admin.php(34): panel->run()
#14 {main}

Error
Details
http://10.0.1.228/admin.php?pd=&md=panel&inst=&action=app_calendar
1364: Field 'NOTES' doesn't have a default value
INSERT INTO `settings`(`NAME`, `VALUE`, `DEFAULTVALUE`, `TITLE`, `TYPE`, `DATA`) VALUES('APP_CALENDAR_SHOWCALENDAR', '1', '1', 'Показывать календарь в Делах и Событиях', 'yesno', '')
Backtrace

#0 /var/www/lib/mysqli.class.php(396): custom_error->__construct('1364: Field 'NO...', 0)
#1 /var/www/lib/mysqli.class.php(331): mysql->Error('INSERT INTO `se...')
#2 /var/www/lib/sqlFunctions.class.php(111): mysql->Insert('settings', Array)
#3 /var/www/modules/app_calendar/app_calendar.class.php(170): SQLInsert('settings', Array)
#4 /var/www/modules/app_calendar/app_calendar.class.php(106): app_calendar->checkSettings()
#5 /var/www/lib/jTemplate.class.php(713) : eval()'d code(8): app_calendar->run()
#6 /var/www/lib/jTemplate.class.php(713): eval()
#7 /var/www/lib/jTemplate.class.php(195): jTemplate->parseModules('...', Array, './templates/')
#8 /var/www/lib/jTemplate.class.php(109): jTemplate->parse('...', Array, './templates/')
#9 /var/www/lib/parser.class.php(93): jTemplate->__construct('./templates/pan...', Array, Object(panel))
#10 /var/www/lib/parser.class.php(63): parser->jtemplate_parse('./templates/pan...', Array)
#11 /var/www/modules/panel.class.php(180): parser->__construct('./templates/pan...', Array, Object(panel))
#12 /var/www/admin.php(34): panel->run()
#13 {main}
На основной машине с ubuntu 18 php 7.2
Ставил по инструкции установка на linux
База рабочая используется не один год, пока такие проблемы еще не наблюдал.
Почиму на машине с чистой базой такие ошибки?
Сервер МД на x86 micro pc ssd + HDD, OC Debian, терминал Xiaomi Redmi note 7
Мои исходники для мд управляемых устройств https://github.com/vgamaev/ESPMDDEVICE
fandaymon
Сообщения: 1553
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 39 раз
Поблагодарили: 574 раза

Re: [Модуль] Simple Calendar (app_calendar)

Сообщение fandaymon » Пн ноя 26, 2018 6:15 pm

VladPTZ писал(а):
Пн ноя 26, 2018 6:09 pm
Тестовая машина на вмвари с ubuntu 18 php 7.2
Ставил по инструкции установка на linux
База чистая с инструкции.
При работе с модулям наблюдаю такую картину.

Код: Выделить всё

Error
Details
http://10.0.1.228/admin.php?pd=&md=panel&inst=&action=app_calendar
1364: Field 'NOTES' doesn't have a default value
INSERT INTO `settings`(`NAME`, `VALUE`, `DEFAULTVALUE`, `TITLE`, `TYPE`, `DATA`) VALUES('APP_CALENDAR_SHOWCALENDAR', '1', '1', 'Показывать календарь в Делах и Событиях', 'yesno', '')
Backtrace

#0 /var/www/lib/mysqli.class.php(396): custom_error->__construct('1364: Field 'NO...', 0)
#1 /var/www/lib/mysqli.class.php(185): mysql->Error('INSERT INTO `se...', 0)
#2 /var/www/lib/mysqli.class.php(329): mysql->Exec('INSERT INTO `se...')
#3 /var/www/lib/sqlFunctions.class.php(111): mysql->Insert('settings', Array)
#4 /var/www/modules/app_calendar/app_calendar.class.php(170): SQLInsert('settings', Array)
#5 /var/www/modules/app_calendar/app_calendar.class.php(106): app_calendar->checkSettings()
#6 /var/www/lib/jTemplate.class.php(713) : eval()'d code(8): app_calendar->run()
#7 /var/www/lib/jTemplate.class.php(713): eval()
#8 /var/www/lib/jTemplate.class.php(195): jTemplate->parseModules('...', Array, './templates/')
#9 /var/www/lib/jTemplate.class.php(109): jTemplate->parse('...', Array, './templates/')
#10 /var/www/lib/parser.class.php(93): jTemplate->__construct('./templates/pan...', Array, Object(panel))
#11 /var/www/lib/parser.class.php(63): parser->jtemplate_parse('./templates/pan...', Array)
#12 /var/www/modules/panel.class.php(180): parser->__construct('./templates/pan...', Array, Object(panel))
#13 /var/www/admin.php(34): panel->run()
#14 {main}

Error
Details
http://10.0.1.228/admin.php?pd=&md=panel&inst=&action=app_calendar
1364: Field 'NOTES' doesn't have a default value
INSERT INTO `settings`(`NAME`, `VALUE`, `DEFAULTVALUE`, `TITLE`, `TYPE`, `DATA`) VALUES('APP_CALENDAR_SHOWCALENDAR', '1', '1', 'Показывать календарь в Делах и Событиях', 'yesno', '')
Backtrace

#0 /var/www/lib/mysqli.class.php(396): custom_error->__construct('1364: Field 'NO...', 0)
#1 /var/www/lib/mysqli.class.php(331): mysql->Error('INSERT INTO `se...')
#2 /var/www/lib/sqlFunctions.class.php(111): mysql->Insert('settings', Array)
#3 /var/www/modules/app_calendar/app_calendar.class.php(170): SQLInsert('settings', Array)
#4 /var/www/modules/app_calendar/app_calendar.class.php(106): app_calendar->checkSettings()
#5 /var/www/lib/jTemplate.class.php(713) : eval()'d code(8): app_calendar->run()
#6 /var/www/lib/jTemplate.class.php(713): eval()
#7 /var/www/lib/jTemplate.class.php(195): jTemplate->parseModules('...', Array, './templates/')
#8 /var/www/lib/jTemplate.class.php(109): jTemplate->parse('...', Array, './templates/')
#9 /var/www/lib/parser.class.php(93): jTemplate->__construct('./templates/pan...', Array, Object(panel))
#10 /var/www/lib/parser.class.php(63): parser->jtemplate_parse('./templates/pan...', Array)
#11 /var/www/modules/panel.class.php(180): parser->__construct('./templates/pan...', Array, Object(panel))
#12 /var/www/admin.php(34): panel->run()
#13 {main}
На основной машине с ubuntu 18 php 7.2
Ставил по инструкции установка на linux
База рабочая используется не один год, пока такие проблемы еще не наблюдал.
Почиму на машине с чистой базой такие ошибки?
mysql (mariadb) какая-то новая версия, которой не нравится отстутствие значения по умолчанию в поле NOTES
fandaymon
Сообщения: 1553
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 39 раз
Поблагодарили: 574 раза

Re: [Модуль] Simple Calendar (app_calendar)

Сообщение fandaymon » Пн дек 03, 2018 1:48 am

Поправил работу с ивнетами без даты
За это сообщение автора fandaymon поблагодарили (всего 3):
Logrus (Пн дек 03, 2018 5:32 am) • VladPTZ (Пн дек 03, 2018 9:16 am) • webms (Пн дек 03, 2018 9:28 am)
Рейтинг: 3.49%
Ответить