diff --git a/README.md b/README.md
index 19e9186..5c45921 100644
--- a/README.md
+++ b/README.md
@@ -2,7 +2,7 @@
# Модуль Unicalendar - календарь событий
-### адаптирован для AVE.CMS v3.1.9
+### адаптирован для AVE.CMS v3.2
![Module Unicalendar](https://gitget.ru/img/unicalendar.png "Модуль Unicalendar")
@@ -14,6 +14,8 @@
##### Changelog:
+##### 25.06.2017 - обновление модуля - версия 1.2.5 - Добавлен выбор формата даты для публичной части календаря, проверка условий при создании календаря
+
##### 15.05.2017 - обновление модуля - версия 1.2.4 - Исправлено: jQuery Form Styler - ограничивал раскрытие select по высоте; Исправлено ленг файл .php будет подключаться, в зависимости от языка Администратора (в админ-панели) и Пользователя (в публичной части)
##### 14.05.2017 - обновление модуля - версия 1.2.3 - изменен алгоритм проверки актуальности календарей
diff --git a/unicalendar/class.unicalendar.php b/unicalendar/class.unicalendar.php
index 217c626..28b8036 100644
--- a/unicalendar/class.unicalendar.php
+++ b/unicalendar/class.unicalendar.php
@@ -127,6 +127,7 @@ class Unicalendar
SET
id = '',
uca_title = '" . $_POST['uca_title'] . "',
+ uca_date_format = '" . $_POST['uca_date_format'] . "',
uca_events = '" . $_POST['uca_events'] . "',
uca_rubric_id = '" . $_POST['uca_rubric_id'] . "',
uca_rubric_title = '" . $_POST['uca_rubric_title'] . "',
@@ -152,6 +153,7 @@ class Unicalendar
foreach ( $unicalendars as $k=>$v )
{
$uca_id = $v['id'];
+ $uca_dfrm = $v['uca_date_format'];
$uevents = $v['uca_events'];
$urubric_id = $v['uca_rubric_id'];
$udoc_id = $v['uca_doc_id'];
@@ -178,7 +180,7 @@ class Unicalendar
$uni_data .= "{ \"date\": \"".pretty_date(strftime('%Y-%m-%d %H:%M:%S', $v['document_published']))."\", \"title\": \"".$v['document_title']."\", \"description\": \"".$v['document_meta_description']."\", \"url\": \"".$v['document_alias']."\" },";
$rubric_count .= $v['Id']." OR Id=";
}
- $js_data_files = "$(function(){"."var data".$uca_id." = [".$uni_data."]; $(\"#eventCalendar".$uca_id."\").eventCalendar({jsonData: data".$uca_id.", jsonDateFormat: \"human\", startWeekOnMonday: ".$uca_day.", eventsScrollable: ".$uca_scroll.", openEventInNewWindow: ".$uca_link.", dateFormat: \"dddd DD-MM-YYYY\", showDescription: ".$uca_descript.", locales: {locale: \"".$uca_locale."\", txt_noEvents: \"".$uca_no_events."\", txt_SpecificEvents_prev: \"\", txt_SpecificEvents_after: \"".$uca_real_events."\", txt_NextEvents: \"".$uca_next_events."\", txt_GoToEventUrl: \"".$uca_look_events."\", moment: {\"months\" : ".$uca_months_events.", \"monthsShort\" : ".$uca_monshort_events.", \"weekdays\" : ".$uca_weekdays_events.", \"weekdaysShort\" : ".$uca_wdayshort_events.", \"weekdaysMin\" : ".$uca_wdaymin_events."}}});});";
+ $js_data_files = "$(function(){"."var data".$uca_id." = [".$uni_data."]; $(\"#eventCalendar".$uca_id."\").eventCalendar({jsonData: data".$uca_id.", jsonDateFormat: \"human\", startWeekOnMonday: ".$uca_day.", eventsScrollable: ".$uca_scroll.", openEventInNewWindow: ".$uca_link.", dateFormat: \"".$uca_dfrm."\", showDescription: ".$uca_descript.", locales: {locale: \"".$uca_locale."\", txt_noEvents: \"".$uca_no_events."\", txt_SpecificEvents_prev: \"\", txt_SpecificEvents_after: \"".$uca_real_events."\", txt_NextEvents: \"".$uca_next_events."\", txt_GoToEventUrl: \"".$uca_look_events."\", moment: {\"months\" : ".$uca_months_events.", \"monthsShort\" : ".$uca_monshort_events.", \"weekdays\" : ".$uca_weekdays_events.", \"weekdaysShort\" : ".$uca_wdayshort_events.", \"weekdaysMin\" : ".$uca_wdaymin_events."}}});});";
// Получаем Id документов в категории на момент создания календаря и записываем значение в БД
$rubric_count ='Id='.$rubric_count;
@@ -222,7 +224,7 @@ class Unicalendar
$uni_data .= "{ \"date\": \"".pretty_date(strftime('%Y-%m-%d %H:%M:%S', $v['document_published']))."\", \"title\": \"".$v['document_title']."\", \"description\": \"".$v['document_meta_description']."\", \"url\": \"".$v['document_alias']."\" },";
$rubric_count .= $v['Id'].",";
}
- $js_data_files = "$(function(){"."var data".$uca_id." = [".$uni_data."]; $(\"#eventCalendar".$uca_id."\").eventCalendar({jsonData: data".$uca_id.", jsonDateFormat: \"human\", startWeekOnMonday: ".$uca_day.", eventsScrollable: ".$uca_scroll.", openEventInNewWindow: ".$uca_link.", dateFormat: \"dddd DD-MM-YYYY\", showDescription: ".$uca_descript.", locales: {locale: \"".$uca_locale."\", txt_noEvents: \"".$uca_no_events."\", txt_SpecificEvents_prev: \"\", txt_SpecificEvents_after: \"".$uca_real_events."\", txt_NextEvents: \"".$uca_next_events."\", txt_GoToEventUrl: \"".$uca_look_events."\", moment: {\"months\" : ".$uca_months_events.", \"monthsShort\" : ".$uca_monshort_events.", \"weekdays\" : ".$uca_weekdays_events.", \"weekdaysShort\" : ".$uca_wdayshort_events.", \"weekdaysMin\" : ".$uca_wdaymin_events."}}});});";
+ $js_data_files = "$(function(){"."var data".$uca_id." = [".$uni_data."]; $(\"#eventCalendar".$uca_id."\").eventCalendar({jsonData: data".$uca_id.", jsonDateFormat: \"human\", startWeekOnMonday: ".$uca_day.", eventsScrollable: ".$uca_scroll.", openEventInNewWindow: ".$uca_link.", dateFormat: \"".$uca_dfrm."\", showDescription: ".$uca_descript.", locales: {locale: \"".$uca_locale."\", txt_noEvents: \"".$uca_no_events."\", txt_SpecificEvents_prev: \"\", txt_SpecificEvents_after: \"".$uca_real_events."\", txt_NextEvents: \"".$uca_next_events."\", txt_GoToEventUrl: \"".$uca_look_events."\", moment: {\"months\" : ".$uca_months_events.", \"monthsShort\" : ".$uca_monshort_events.", \"weekdays\" : ".$uca_weekdays_events.", \"weekdaysShort\" : ".$uca_wdayshort_events.", \"weekdaysMin\" : ".$uca_wdaymin_events."}}});});";
// Создаем js файл для календаря с названием dataXXX.js - где XXX = Id календаря
$fdir = "/modules/unicalendar/js/data-files/";
@@ -309,6 +311,7 @@ class Unicalendar
" . PREFIX . "_module_unicalendar
SET
uca_title = '" . $_POST['uca_title'] . "',
+ uca_date_format = '" . $_POST['uca_date_format'] . "',
uca_doc_id = '" . $_POST['uca_doc_id'] . "',
uca_events = '" . $_POST['uca_events'] . "',
uca_rubric_id = '" . $_POST['uca_rubric_id'] . "',
@@ -338,6 +341,7 @@ class Unicalendar
foreach ( $unicalendars as $k=>$v )
{
$uevents = $v['uca_events'];
+ $uca_dfrm = $v['uca_date_format'];
$urubric_id = $v['uca_rubric_id'];
$udoc_id = $v['uca_doc_id'];
$uca_day = $v['uca_day'];
@@ -363,7 +367,7 @@ class Unicalendar
$uni_data .= "{ \"date\": \"".pretty_date(strftime('%Y-%m-%d %H:%M:%S', $v['document_published']))."\", \"title\": \"".$v['document_title']."\", \"description\": \"".$v['document_meta_description']."\", \"url\": \"".$v['document_alias']."\" },";
$rubric_count .= $v['Id']." OR Id=";
}
- $js_data_files = "$(function(){"."var data".$unicalendar_id." = [".$uni_data."]; $(\"#eventCalendar".$unicalendar_id."\").eventCalendar({jsonData: data".$unicalendar_id.", jsonDateFormat: \"human\", startWeekOnMonday: ".$uca_day.", eventsScrollable: ".$uca_scroll.", openEventInNewWindow: ".$uca_link.", dateFormat: \"dddd DD-MM-YYYY\", showDescription: ".$uca_descript.", locales: {locale: \"".$uca_locale."\", txt_noEvents: \"".$uca_no_events."\", txt_SpecificEvents_prev: \"\", txt_SpecificEvents_after: \"".$uca_real_events."\", txt_NextEvents: \"".$uca_next_events."\", txt_GoToEventUrl: \"".$uca_look_events."\", moment: {\"months\" : ".$uca_months_events.", \"monthsShort\" : ".$uca_monshort_events.", \"weekdays\" : ".$uca_weekdays_events.", \"weekdaysShort\" : ".$uca_wdayshort_events.", \"weekdaysMin\" : ".$uca_wdaymin_events."}}});});";
+ $js_data_files = "$(function(){"."var data".$unicalendar_id." = [".$uni_data."]; $(\"#eventCalendar".$unicalendar_id."\").eventCalendar({jsonData: data".$unicalendar_id.", jsonDateFormat: \"human\", startWeekOnMonday: ".$uca_day.", eventsScrollable: ".$uca_scroll.", openEventInNewWindow: ".$uca_link.", dateFormat: \"".$uca_dfrm."\", showDescription: ".$uca_descript.", locales: {locale: \"".$uca_locale."\", txt_noEvents: \"".$uca_no_events."\", txt_SpecificEvents_prev: \"\", txt_SpecificEvents_after: \"".$uca_real_events."\", txt_NextEvents: \"".$uca_next_events."\", txt_GoToEventUrl: \"".$uca_look_events."\", moment: {\"months\" : ".$uca_months_events.", \"monthsShort\" : ".$uca_monshort_events.", \"weekdays\" : ".$uca_weekdays_events.", \"weekdaysShort\" : ".$uca_wdayshort_events.", \"weekdaysMin\" : ".$uca_wdaymin_events."}}});});";
// Получаем Id документов в категории на момент создания календаря и записываем значение в БД
$rubric_count ='Id='.$rubric_count;
@@ -407,7 +411,7 @@ class Unicalendar
$uni_data .= "{ \"date\": \"".pretty_date(strftime('%Y-%m-%d %H:%M:%S', $v['document_published']))."\", \"title\": \"".$v['document_title']."\", \"description\": \"".$v['document_meta_description']."\", \"url\": \"".$v['document_alias']."\" },";
$rubric_count .= $v['Id'].",";
}
- $js_data_files = "$(function(){"."var data".$unicalendar_id." = [".$uni_data."]; $(\"#eventCalendar".$unicalendar_id."\").eventCalendar({jsonData: data".$unicalendar_id.", jsonDateFormat: \"human\", startWeekOnMonday: ".$uca_day.", eventsScrollable: ".$uca_scroll.", openEventInNewWindow: ".$uca_link.", dateFormat: \"dddd DD-MM-YYYY\", showDescription: ".$uca_descript.", locales: {locale: \"".$uca_locale."\", txt_noEvents: \"".$uca_no_events."\", txt_SpecificEvents_prev: \"\", txt_SpecificEvents_after: \"".$uca_real_events."\", txt_NextEvents: \"".$uca_next_events."\", txt_GoToEventUrl: \"".$uca_look_events."\", moment: {\"months\" : ".$uca_months_events.", \"monthsShort\" : ".$uca_monshort_events.", \"weekdays\" : ".$uca_weekdays_events.", \"weekdaysShort\" : ".$uca_wdayshort_events.", \"weekdaysMin\" : ".$uca_wdaymin_events."}}});});";
+ $js_data_files = "$(function(){"."var data".$unicalendar_id." = [".$uni_data."]; $(\"#eventCalendar".$unicalendar_id."\").eventCalendar({jsonData: data".$unicalendar_id.", jsonDateFormat: \"human\", startWeekOnMonday: ".$uca_day.", eventsScrollable: ".$uca_scroll.", openEventInNewWindow: ".$uca_link.", dateFormat: \"".$uca_dfrm."\", showDescription: ".$uca_descript.", locales: {locale: \"".$uca_locale."\", txt_noEvents: \"".$uca_no_events."\", txt_SpecificEvents_prev: \"\", txt_SpecificEvents_after: \"".$uca_real_events."\", txt_NextEvents: \"".$uca_next_events."\", txt_GoToEventUrl: \"".$uca_look_events."\", moment: {\"months\" : ".$uca_months_events.", \"monthsShort\" : ".$uca_monshort_events.", \"weekdays\" : ".$uca_weekdays_events.", \"weekdaysShort\" : ".$uca_wdayshort_events.", \"weekdaysMin\" : ".$uca_wdaymin_events."}}});});";
// Создаем js файл для календаря с названием dataXXX.js - где XXX = Id календаря
$fdir = "/modules/unicalendar/js/data-files/";
@@ -484,6 +488,25 @@ class Unicalendar
}
echo $doc_count = chop($doc_count, ' ,');
}
+ if (isset($_POST['allowed_rub'])) //если пришел запрос "проверяем и запрещаем создавать календарь, если рубрика содержит только один или два документа, Id которых равны либо главной странице либо странице 404 , либо и то и другое"
+ {
+ global $AVE_DB;
+ $sql = $AVE_DB->Query("
+ SELECT Id
+ FROM " . PREFIX . "_documents
+ WHERE rubric_id = '" . $_POST['allowed_rub_id'] . "'
+ ");
+ $all_doc_rub = array();
+ while ($row = $sql->FetchAssocArray())
+ {
+ array_push($all_doc_rub, $row);
+ }
+ foreach ( $all_doc_rub as $k=>$v )
+ {
+ $doc_count .= $v['Id'].",";
+ }
+ echo $doc_count = chop($doc_count, ' ,');
+ }
exit;
}
diff --git a/unicalendar/lang/ru.php b/unicalendar/lang/ru.php
index 8cb35c7..42d6f51 100644
--- a/unicalendar/lang/ru.php
+++ b/unicalendar/lang/ru.php
@@ -7,7 +7,7 @@ $uca_real_events = "события:";
$uca_next_events = "Следующие события:";
$uca_look_events = "Смотреть";
$uca_months_events = "[ \"Январь\", \"Февраль\", \"Март\", \"Апрель\", \"Май\", \"Июнь\", \"Июль\", \"Август\", \"Сентябрь\", \"Октябрь\", \"Ноябрь\", \"Декабрь\" ]";
-$uca_monshort_events = "[ \"Янв\", \"Фев\", \"Мар\", \"Апр\", \"Май\", \"Июн\", \"Июл\", \"Авг\", \"Сен\", \"Окт\", \"Ноя\", \"Дек\" ]";
+$uca_monshort_events = "[ \"января\", \"февраля\", \"марта\", \"апреля\", \"мая\", \"июня\", \"июля\", \"августа\", \"сентября\", \"октября\", \"ноября\", \"декабря\" ]";
$uca_weekdays_events = "[ \"Воскресенье\", \"Понедельник\", \"Вторник\", \"Среда\", \"Четверг\", \"Пятница\", \"Суббота\" ]";
$uca_wdayshort_events = "[ \"Вс\", \"Пн\", \"Вт\", \"Ср\", \"Чт\", \"Пт\", \"Сб\" ]";
$uca_wdaymin_events = "[ \"Вс\", \"Пн\", \"Вт\", \"Ср\", \"Чт\", \"Пт\", \"Сб\" ]";
diff --git a/unicalendar/lang/ru.txt b/unicalendar/lang/ru.txt
index 1f57a20..5f2e266 100644
--- a/unicalendar/lang/ru.txt
+++ b/unicalendar/lang/ru.txt
@@ -1,6 +1,6 @@
[admin]
ModName = "Управление модулем Unicalendar"
-ModTitle = "В данном разделе находится список всех календарей.
Так же, вы можете создать новый календарь."
+ModTitle = "В данном разделе находится список всех календарей.
Так же, вы можете создать новый календарь.
Внимание!
Вы не можете создать календарь, если рубрика содержит:
a) только два документа - Главная и Ошибка 404
b) только один документ: или Главная или Ошибка 404
В остальных случаях документы Главная страница и Ошибка 404 не будут выводиться при создании календарей."
UCA_LIST = "Список календарей"
UCA_NEW = "Создать новый календарь"
UCA_NO_ITEMS = "В настоящий момент не существует ни одного календаря."
@@ -22,8 +22,10 @@ UCA_LIST_SELDOC_RUB = "Выводит выбранные документы
UCA_TITLE_WARNING = "Не заполнено поле Название календаря"
UCA_EVENTS_WARNING = "События для этого календаря не заданы..."
UCA_SEL_RUB_WARNING = "Не выбрана рубрика!"
+UCA_SEL_RUB_ID_DOC = "Вы не можете создать календарь из рубрики, которая либо содержит только два документа: Главная и Ошибка 404, либо только один документ: или Главная или Ошибка 404"
UCA_SEL_DOC_WARNING = "Не выбран ни один документ!"
UCA_SEL_EVENTS_WARNING = "Не выбран тип событий календаря!"
+UCA_PUBLIC_DATE = "Формат даты публичной части календаря"
UCA_OPEN_LIKS = "Открывать ссылки событий календаря в новом окне"
UCA_YES = "Да"
UCA_NO = "Нет"
diff --git a/unicalendar/module.php b/unicalendar/module.php
index 8c3f51d..cfa9083 100644
--- a/unicalendar/module.php
+++ b/unicalendar/module.php
@@ -14,7 +14,7 @@ if (defined('ACP'))
{
$modul['ModuleName'] = 'Универсальный календарь событий';
$modul['ModuleSysName'] = 'unicalendar';
- $modul['ModuleVersion'] = '1.2.4';
+ $modul['ModuleVersion'] = '1.2.5';
$modul['ModuleDescription'] = '
Модуль позволяет создавать различные календари событий.
Для вывода календаря используйте системный тег [mod_unicalendar:XXX]';
$modul['ModuleAutor'] = 'Repellent';
$modul['ModuleCopyright'] = '© AVE.cms Team 2017';
diff --git a/unicalendar/sql.php b/unicalendar/sql.php
index 9817c31..bfd249a 100644
--- a/unicalendar/sql.php
+++ b/unicalendar/sql.php
@@ -22,6 +22,7 @@ $module_sql_deinstall[] = "DROP TABLE IF EXISTS `CPPREFIX_module_unicalendar`";
$module_sql_install[] = "CREATE TABLE `CPPREFIX_module_unicalendar` (
`id` int(10) unsigned NOT NULL auto_increment,
`uca_title` varchar(255) NOT NULL,
+ `uca_date_format` varchar(255) NOT NULL,
`uca_events` varchar(10) NOT NULL,
`uca_rubric_id` varchar(10) NOT NULL,
`uca_rubric_title` varchar(255) NOT NULL,
@@ -61,4 +62,9 @@ $module_sql_update[] = "
ALTER TABLE `CPPREFIX_module_unicalendar`
DROP IF EXISTS `uca_rub_doc_count`
";
+ // Обновление таблицы в версии модуля v1.2.5
+$module_sql_update[] = "
+ ALTER TABLE `CPPREFIX_module_unicalendar`
+ ADD IF NOT EXISTS `uca_date_format` varchar(255) NOT NULL
+ AFTER `uca_title`";
?>
\ No newline at end of file
diff --git a/unicalendar/templates/admin_unicalendar_edit.tpl b/unicalendar/templates/admin_unicalendar_edit.tpl
index 40cb8b9..7c27ad4 100644
--- a/unicalendar/templates/admin_unicalendar_edit.tpl
+++ b/unicalendar/templates/admin_unicalendar_edit.tpl
@@ -41,6 +41,24 @@
+