Умный дом говорит какой сегодня церковный православный праздник или день памяти.
А также, если выполнять в Cron, к примеру, каждые 2-3 часа (чаще не рекомендую, может заколебать ), с параметром "change=1", будет сообщать только "Великие православные праздники", типа "Покров Пресвятой Богородицы" и подобные.
Данные получает с сайта kalendar-365.ru
Версия сырая, могут быть ошибки.
Если есть мысли как оптимизировать улучшить код, пишите в теме.
Код сценария religiousToday:
Код: Выделить всё
if (isset($params["level"])) $level = $params["level"]; else $level = 1;
if (!isOnline('Internet')) { say("Нет доступа в Интернет!", $level); return; }
if (isset($params["change"])) $change = $params["change"];
$page_url = "http://kalendar-365.ru/orthodox/today";
//делаем до 10 запросов, т.к. сайт иногда не отвечает с первого раза
for ($i = 0; $i <= 10; $i++) {
if (!$page_cont) $page_cont = file_get_contents($page_url);
}
if ($page_cont) {
$page_cont = str_replace("\r", "", $page_cont);
$page_cont = str_replace("\n", "", $page_cont);
//<div class="holyday"></div>
preg_match_all("/<div class=\"holyday\">(.*?)<\/div>/ui", $page_cont, $match0);
//<span class="cl"></span>
preg_match_all("/<span class=\"cl\">(.*?)<\/span>/ui", $page_cont, $match);
if ($match0[1][0] && $match[1][0]) {
$ret = "Церковные православные события сегодня: ";
for ($i = 0; $i < count($match0[1]); $i++) {
$ret .= trim($match0[1][$i]) . ", " . trim($match[1][$i]) . ".; ";
if (stristr(trim($match0[1][$i]), "Великий праздник")) {
$ret_warning = "Сегодня Великий праздник, " . trim($match[1][$i]) . ".";
}
}
}
}
if ($ret && !$change) {
sg("ThisComputer.religiousToday", $ret);
say($ret, $level);
echo "<br>" . $ret;
}
if ($ret_warning && $change) {
say($ret_warning, 1);
echo "<br>" . $ret_warning;
}
Crontab: 24 */2 * * *
Код: Выделить всё
runScript("religiousToday", array("change"=>"1"));
P/S. Модераторы. Если я опубликовал не в тот раздел тему, пожалуйста перенесите, поправьте.Церковные православные события сегодня: День памяти, Священноисповедника Николая (Могилевского), митрополита Алма-Атинского.; День памяти, Перенесение из Мальты в Гатчину части Древа Животворящего Креста Господня, Филермской иконы Божией Матери и десной руки Иоанна Крестителя.; День памяти, Мучеников Прова, Тараха и Андроника.; День памяти, Преподобного Амфилохия Глушицкого, игумена.; День памяти, Преподобного Космы, епископа Маиумского, творца канонов.;