https://github.com/sergejey/majordomo-t ... s.php#L576
только про формат записей не забудь
Модуль text_calendar
Модератор: immortal
-
- Сообщения: 2113
- Зарегистрирован: Пт апр 07, 2017 12:20 pm
- Благодарил (а): 317 раз
- Поблагодарили: 466 раз
Re: Модуль text_calendar
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
- CheBuraw
- Сообщения: 36
- Зарегистрирован: Ср авг 23, 2017 6:29 pm
- Благодарил (а): 13 раз
- Поблагодарили: 15 раз
Re: Модуль text_calendar
Спасибо за то что отозвались. Я поковырялся и решил пойти иным путемLogrus писал(а): ↑Ср янв 01, 2025 6:19 amhttps://github.com/sergejey/majordomo-t ... s.php#L576
только про формат записей не забудь

В данном модуле есть возможность подгружать данные из внешнего календаря, указав путь до него. Для Яндекса это проблем не вызвало, там можно получить открытую ссылку, а вот mail.ru тут замудрил и так просто нельзя получить ссылку на *.ics файл календаря.
По закону подлости мой основной рабочий календарь на mail.ru.
При помощи нейросетки решил замутить микросервис для Docker который бы по ссылке, логина и паролю на mail.ru забирал будущие (те что будут после момента синхронизации) события и паковал их в файл calendar.ics
Теперь мне не требуется городить огород с записью в БД, все отрабатывает штатным функционалом модуля text_calendar.
Если кому потребуется данный микросервис (для установки в Docker), то я его выложил на GitHUB. Там конечно все небезопасно и работает он только с одним календарем, но для моих задач этого достаточно.
Пример интерфейса микросервиса CalDAV2iCalПоказать
!Не обязательно! Небольшая модификация кода Модуля text_calendarПоказать
По умолчанию загружаемые данные из календаря в модуле не отображают время начала события. Так как для меня это важная информация, то немного скорректировав файл /var/www/modules/text_calendar/text_calendar.class.php
исходный фрагмент:
скорректированный фрагмент:
И в модуле теперь это выглядит так:
исходный фрагмент:
Код: Выделить всё
if (isset($result[0])) {
foreach ($result as $item) {
$events[] = $item->summary;
}
}
Код: Выделить всё
if (isset($result[0])) {
foreach ($result as $item) {
$dtstart = new DateTime($item->dtstart);
// $events[] = $item->summary;
$events[] = " " . $dtstart->format('H:i') . " | " . $item->summary;
}
}