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

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

Модератор: immortal

gagarin74
Сообщения: 330
Зарегистрирован: Пн апр 06, 2015 9:51 am
Благодарил (а): 37 раз
Поблагодарили: 22 раза

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

Сообщение gagarin74 » Чт июн 25, 2015 2:28 pm

эх,,,, жалко.
А ещё один глупый вопрос.А контакты можно как либо красиво разместить в умненьком доме.
Типо завести новую учетку в гугле для всей семьи и туда напихать все контакты.(телефоны фотки итд итп)
На контакт навел -на выбор написать письмо или смс отправить итд итп (это как для примера)
aurodionov
Сообщения: 87
Зарегистрирован: Пн янв 27, 2014 2:50 pm
Откуда: Россия, Тюмень
Благодарил (а): 12 раз
Поблагодарили: 14 раз

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

Сообщение aurodionov » Вс июн 28, 2015 9:04 pm

Так можно дома webdav запилить, например онклоуд ,и с него тащить, или не?

Пишу с пульта....
Аватара пользователя
m-malva
Сообщения: 291
Зарегистрирован: Чт фев 26, 2015 1:38 am
Откуда: Санкт-Петербург
Благодарил (а): 16 раз
Поблагодарили: 66 раз
Контактная информация:

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

Сообщение m-malva » Вт авг 18, 2015 11:25 pm

Камрады, можете скинуть простой пример кода для поиска событий в календаре?
Есть у кого такой?
Скажем найти событие "День рождения Ивана Смирнова" или "Именины Леонид"

Может есть смысл по аналогии календаря сделать справочник контактов?
Аватара пользователя
m-malva
Сообщения: 291
Зарегистрирован: Чт фев 26, 2015 1:38 am
Откуда: Санкт-Петербург
Благодарил (а): 16 раз
Поблагодарили: 66 раз
Контактная информация:

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

Сообщение m-malva » Ср авг 19, 2015 4:47 pm

Похоже придется делать самому, своими кривыми руками.
Вот примерно что хочется. Только не так коряво как здесь.
Снимок.PNG
Снимок.PNG (10.47 КБ) 8656 просмотров

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

runScript("EVENTS", array('VALUE'=>"день рождения"));
EVENTS

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

function days($d) {
    $y = $d % 10;
    $x = $d / 10 % 10;
    if ($x && $x == 1) return "дней";
    if ($y == 1) return "день";
    if ($y == 2) return "дня";
    if ($y == 3) return "дня";
    if ($y == 4) return "дня";

 return "дней";
}

include_once('./modules/app_calendar/app_calendar.class.php');
 $calendar=new app_calendar();
 $calendar->usual($out);
 $events=$out['EVENTS_SOON'];
 $findme=mb_convert_case($params['VALUE'], MB_CASE_LOWER, "UTF-8");
 if (is_array($events)) {
  $total=count($events);
  $cals=array();
  for($i=0;$i<$total;$i++) {
   if ($events[$i]['IS_TASK']!='1') {
    $str=mb_convert_case($events[$i]['TITLE'], MB_CASE_LOWER, "UTF-8");
    $pos = strripos($str, $findme);
    if ($pos === false) {
    }else{
    $msg = $events[$i]['TITLE'];
    $age = $events[$i]['AGE'];
     say($msg." через ".$age.' '.days($age),5);
    }
   }
  }
 }

if("$msg"==""){
 say('По запросу "'.$params['VALUE'].'" нет совпадений',5);
}

И как изменять глубину EVENTS_SOON ?
Аватара пользователя
m-malva
Сообщения: 291
Зарегистрирован: Чт фев 26, 2015 1:38 am
Откуда: Санкт-Петербург
Благодарил (а): 16 раз
Поблагодарили: 66 раз
Контактная информация:

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

Сообщение m-malva » Пт сен 04, 2015 1:30 pm

Сергей, может в calendar_events добавить NEXTRUN и при достижении условий или редактировании его обновлять.
а то в разрезе проверять DUE а потом IS_REPEATING и REPEAT_TYPE итд.

Хочется вот такой календарик но не очень понимаю как без NEXTRUN его рисовать.
[img]
Снимок.PNG
Снимок.PNG (19.72 КБ) 8590 просмотров
[/img]
каждый раз все пересчитывать? с учетом условий повтора исходя из даты?
LocalBrownie
Сообщения: 66
Зарегистрирован: Пт июл 11, 2014 11:08 am
Благодарил (а): 16 раз
Поблагодарили: 9 раз

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

Сообщение LocalBrownie » Сб окт 03, 2015 1:15 am

Сергей, а как надо из скрипта прописывать эвент в календарь вместе с названием скрипта для "выполнения по завершению"?
Пишу:
$rec['TITLE']="Сегодня перенесенный выходной!";
$rec['DUE']=$pv; // срок выполнения
$rec['IS_TASK']=0;
$rec['ADDED']=date('Y-m-d H:i:s');
$rec['DONE_SCRIPT_ID'] = "Set_Holiday";
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
$rec['ID']=SQLInsert('calendar_events', $rec);

Эвент создается, а в поле скрипта пусто. :(
Аватара пользователя
sergejey
Site Admin
Сообщения: 4284
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1559 раз
Контактная информация:

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

Сообщение sergejey » Пн окт 05, 2015 3:39 pm

LocalBrownie писал(а):Сергей, а как надо из скрипта прописывать эвент в календарь вместе с названием скрипта для "выполнения по завершению"?
$rec['DONE_SCRIPT_ID'] = "Set_Holiday";
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
$rec['ID']=SQLInsert('calendar_events', $rec);

Эвент создается, а в поле скрипта пусто. :(
$rec['DONE_SCRIPT_ID'] должен содержать число, соответствующее ID сценария. ID можно подсмотреть в строке браузера, если зайти в редактирование сценария.
За это сообщение автора sergejey поблагодарил:
LocalBrownie (Пн окт 05, 2015 4:46 pm)
Рейтинг: 1.16%

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
LocalBrownie
Сообщения: 66
Зарегистрирован: Пт июл 11, 2014 11:08 am
Благодарил (а): 16 раз
Поблагодарили: 9 раз

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

Сообщение LocalBrownie » Пн окт 05, 2015 4:50 pm

sergejey писал(а):$rec['DONE_SCRIPT_ID'] должен содержать число, соответствующее ID сценария. ID можно подсмотреть в строке браузера, если зайти в редактирование сценария.
Спасибо!
Так срабатывает!

$rec['DONE_SCRIPT_ID'] = "39";
Zaezd2008
Сообщения: 165
Зарегистрирован: Чт ноя 13, 2014 8:56 pm
Благодарил (а): 23 раза
Поблагодарили: 7 раз

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

Сообщение Zaezd2008 » Вс май 22, 2016 2:16 pm

А как увеличить шрифт в календаре и продуктах заодно?

И еще вопрос, как поправить код, не записывается, когда событий нет в текущий день:

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

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) {
    for($i=0;$i<$total_tasks;$i++) {
     $zadacha.=($i+1).". ".$tasks[$i].". ";
     SetGlobal('menu.Zadacha',$zadacha);
    }
  } else {
   SetGlobal('menu.Zadacha','Задачи отсутствуют');
  }
  $total_cals=count($cals);  
  if ($total_cals) {
    for($i=0;$i<$total_cals;$i++) {
     $sobitiya.=($i+1).". ".$cals[$i].". ";
     SetGlobal('menu.Sobitiya',$sobitiya);
    
  }}  
  else {
   SetGlobal('menu.Sobitiya','События отсутствуют');
  }
 }
 $events=$out['EVENTS_PAST'];
 if ($events[0]['TITLE']) {
  $total_tasks=count($events);
  for($i=0;$i<$total_tasks;$i++) {
   $zadachaP.=($i+1).". ".$events[$i]['TITLE'].". ";
   SetGlobal('menu.ZadachaP',$zadachaP);
  }
 }
 else {
   SetGlobal('menu.ZadachaP','Отсутствуют');
  }
}
}
 
LocalBrownie
Сообщения: 66
Зарегистрирован: Пт июл 11, 2014 11:08 am
Благодарил (а): 16 раз
Поблагодарили: 9 раз

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

Сообщение LocalBrownie » Чт сен 08, 2016 4:12 pm

Доброго времени суток!
Глупый вопрос к Сергею, или может еще кто знает...
Может это только у меня, а может не только.
При установке тёмной темы МД при редактировании событий календаря все дропбоксы как бы пустые.... На самом деле там что-то выбрано, но что именно - не видно, потому что надписи белым по белому.
Чтобы долго не обьяснять - выглядит примерно так:
СпойлерПоказать
calendar.jpg
calendar.jpg (24.99 КБ) 7010 просмотров
Становится видно что там выбрано только если открыть список. Да и то видно только то что выбрано.
Пытался сам найти - не получилось.
Кто-нибудь, ткните носом, плиз, где цвет шрифта/фона для дропбоксов поменять?!
Ответить