Инструкция по использованию calendar.php

17 октября 2005 года.

Внимание! Просьба к тем, кто уже установил скрипт.
Поменяйте адрес скрипта с www.days.ru на script.days.ru!
Скрипт будет работать несколько быстрее.

Инструкция предназначена для православных вебмастеров, желающих разместить на своих страницах постоянно обновляемую информацию о текущем дне по Православному  календарю.

О разработчиках:

программа (calendar.php) -  Иван www.hristianstvo.ru 

данные (XML файлы) - Дмитрий www.days.ru 
 

Правила использования

Скрипт предназначен для использования только на православных сайтах.

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

Лучшей проверкой на соответствие Вашего сайта предъявляемым требованиям будет его регистрация в каталоге www.hristianstvo.ru .

Если страничка, на которой Вы разместили скрипт имеет очень большую посещаемость - пожалуйста, установите на своем сайте скрипт кеширования  или свяжитесь со мной по почте script@days.ru, чтобы мы могли найти способ уменьшения нагрузки на мой сайт. 

Принцип работы и варианты использования

1й вариант (JavaScript)

Используется java-script на Вашей страничке и программа calendar.php на сайте script.days.ru.
Достаточно разместить на  html-страничке одну или несколько строчек с java-script кодом.
При просмотре пользователем Вашей странички, java-script запускает на сайте script.days.ru программу, которая собирает информацию о текущем дне, а результат её работы вставляется в заданное вами место на страничке.
Это самый простой вариант, доступный любому вебмастеру и не предъявляющий никаких требований к серверу.

2й вариант (PHP)

Вы можете написать свой код на PHP для обработки и вывода календарной информации. Для получения данных с script.days.ru вы должны будете добавить в Ваш код 2 строчки.

 

require("http://script.days.ru/php.php?var=varname&php=1);
$arra=unserialize(stripslashes($varname));

 

Массив $arra будет содержать все данные одного дня. Изменять формат данных можно, добавляя общие параметры. Параметр php=1 обрамляет возвращаемый скриптом код тегами <?php и ?>. Параметр var задает имя переменной, которой в скрипте присваивается значение . Если параметр var не использовать, скрипт возвратит только данные.

Тестовый пример и формат возвращаемых данных можно посмотреть здесь.

Принцип работы. В соответствии с установленными общими параметрами скрипт на стороне сервера производит формирование всех данных одного дня, укладывает их в массив, сериализует, экранирует спецсимволы и, полученный результат в виде строки отправляет в ответ на запрос. Если установлены параметры php и var - возвращаемый ответ принтмает вид php-скрипта в котором переменной присваивается строчное значение. Ваш скрипт должен распаковать эту переменную в массив, который затем можно использовать. Страницы дней календаря days.ru работают по такому же принципу.


Это очень гибкий и весьма простой вариант, доступный любому вебмастеру, знающему PHP и предъявляющий самые простейшие требования к серверу.

3й вариант(XML)

Используется  написанная Вами программка на любом языке (asp, php,pl и др.), обрабатывающая XML файлы с информацией, лежащие на сервере script.days.ru Программка может быть сделана по образцу calendar.php и запускаться на Вашем сервере или на script.days.ru .

Это самый гибкий вариант, дающий Вам максимум возможностей.

Прочие варианты

Вы можете дополнительно обрабатывать результаты работы calendar.php, с помощью скриптов, работающих на клиентской или серверной стороне. Вы можете периодически скачивать XML файлы к себе на сервер и обрабатывать их там по собственному желанию. 

Предлагайте другие варианты, пишите script@days.ru

Описание запуска скрипта и его параметров

 Скрипт можно запускать двух режимах: упрощенном и расширенном

Упрощенный режим.

В нужном месте html-страницы достаточно вставить одну строчку кода:

<script language="Javascript" src="http://script.days.ru/calendar.php"></script>

Результат:

Совет: Для немосковских сайтов - применяйте параметр hrams=0 и hram=0, чтобы отключить вывод престольных праздников в московских храмах.

Формат вывода можно изменить с помощью параметров
В скобках указаны значения параметра по умолчанию. 
Обычно, значение 1  включает регулируемый параметром режим, 0- выключает.

Все параметры имеют "значения по умолчанию", и Вы можете не устанавливать те параметры, "значения по умолчанию" которых  Вам подходят.

Параметры упрощенного режима:

chten (1) - печатать в конце календаря Евангельские чтения;
hrams (1) - печатать список престольных праздников;

Общие параметры:

advanced(0)- включение расширенного режима
name (1) - в тексте календаря имена святых выводить ссылками на жития;
life (0) - выводить ссылку на житие святого отдельно;
icon (1) - выводить ссылку на икону/иконы святого;
trop (1) - выводить ссылку на тропарь святому;
hram (1) - выводить ссылку на храмы в честь святого;
relics (0) - выводить ссылку на святыни;
images (0) - выводить ссылки на житие, иконы, храм, тропарь в виде картинок;
date (0) - выводить календарь на конкретный день года (в формате ммдд, например, 0427 - 27 апреля н.ст.);
target (1) - все ссылки открывать в новом окне (target=_blank);
tmshift (0) - сдвиг времени (в часах) часового пояса относительно Москвы - необходимо для правильной работы календаря в других часовых поясах;
encoding ('w') - кодировка русских букв (возможные варианты: 'k' для 'koi8-r', 'w' для 'win', 'd' для 'dos', 'm' для 'mac').
ssi
(0) - выдавать вместо javascript-кода "чистый" html-код для включения календаря с помощью SSI;
vek (0) - выводить год кончины, прославления, перенесения мощей или век жизни святого.
bold (0) - выделять жирным шрифтом имена особо почитаемых святых.
para (0) - разбивать текст на абзацы.
tipikon (0) - выводить значки типикона.
trapeza (1) - выводить сведения о трапезе.
feofan (0) - выводить "Мысли на каждый день года" свт. Феофана Затворника..
short (1) - выводить краткий календарь.
css (0) - добавлять имена классов css.
mesta (1) - в список храмов помещать только храмы расположенные в выбранных местах.
1-Москва, 2- СПб, 3-Московская область, 4- Ленинградская область, all-все. Можно перечислить несколько параметров через запятую.
church (0) В список святых, празднуемых РПЦ, можно добавить святых других Православных Церквей. 0-РПЦ, 1- РПЦ+РПЦЗ, all-все.
dayicon(0) выводить икону дня.
iconsmaxw - установить максимальную ширину иконы. При превышении - икона дня не будет выводиться.
 

                    Совет: Для подбора параметров  используйте калькулятор параметров.

Пример -  выведем календарь за  27 сентября, отключим список храмов, ссылки сделаем в виде картинок:

<script language="Javascript" src="http://script.days.ru/calendar.php?images=1&hrams=0&date=0927"></script>

Результат:

Совет Если круг Ваших посетителей охватывает далекие от Москвы часовые пояса - используйте  код, выводящий календарь в соответствии с датой на компьютере читателя: 

<script language="Javascript">
var d=new Date();
var to=-4-d.getTimezoneOffset()/60;
document.write ( '<script language="Javascript" src="http://script.days.ru/calendar.php?tmshift='+to +'"><\/script>');
</script>

Расширенный режим.

В расширенном режиме вы можете произвольно выбирать, располагать и оформлять необходимые вам фрагменты календаря.
 

В начале страницы, например, после тега <body>,  необходимо вставить код с параметром advanced=1 :

<script language="Javascript" src="http://script.days.ru/calendar.php?advanced=1&date=0927"></script>

(Для наглядности, в примере используется дополнительный параметр, устанавливающий дату - 27 сентября, а также feofan=1 и dayicon=1, для демонстрации работы соответствующих фенкций)

Затем, в любых других местах страницы разместить следующие инструкции на java-script:

Выводимый фрагмент Инструкция Результат
дата print_day()   
седмица-неделя-суббота print_week()   
праздник print_holiday()  
пост print_post()  
трапеза print_trapeza()  
святые дня print_saints()

Евангельские чтения дня print_chten()  
Храмы с престольными праздниками в этот день print_hrams()  
"Мысли на каждый день года" свт. Феофана
Затворника. Необходимо установить параметр feofan=1
print_feofan()  
Вывод "иконы дня"
Необходимо установить параметр dayicon=1
print_icon()  

В расширенном режиме можно применять все общие параметры

В следующем примере демонстрируются возможности оформления календаря в расширенном режиме:

 

   
 
 

 

 

Исходный код:

<script language="Javascript"
src="http://script.days.ru/calendar.php?advanced=1&date=0927"></script>
<p align=
"center"><b><font face="Arial" size="5">
<script language
="Javascript">print_day(); </script></font></b></p>
<p align=
"center"><b><font color="#FF0000" size="3" face="Arial">&nbsp;
<script language
="Javascript">print_holiday(); </script></font></b>
<p align=
"center">&nbsp;
<table border="0" cellpadding="5" cellspacing="0" width="100%">
<tr>
<td width=
"50%"><b>
<script language
="Javascript">print_week()</script></b></td>
<td width=
"50%" align="right">
<script language
="Javascript">print_post(); </script>&nbsp;<br>
<i>
<script language="Javascript">print_trapeza();</script></i></td>
</tr>
</table>
<table border=
"0" cellpadding="5" cellspacing="0" width="100%">
<tr>
<td width=
"70%" valign="top">
<script language
="Javascript">print_saints(); </script>
<p>
&nbsp;
<script language
="Javascript">print_chten(); </script></td>
<td width=
"30%" bgcolor="#CCCCCC"><font size="1" face="Arial">&nbsp;
<script language
="Javascript">print_hrams(); </script>
</font></td></tr>
</table>

Сайты, использующие предлагаемый сервис.

Более 200 православных сайтов уже используют calendar.php

Список сайтов с описаниями и ссылками.

 История  изменений в проекте:

Другие сервисы для православных вебмастеров на script.days.ru :

"Икона дня" на Вашем сайте.

Просьба!

Если Вы будете использовать этот сервис, напишите нам об этом: script@days.ru
Мы разместим ссылку на Вашу страницу в списке сайтов, установивших calendar.php. 

Каталог Православное Христианство.Ру