Browse Source

обновление до версии 1.2.5

master
root 8 years ago
parent
commit
3e7410319d
  1. 4
      README.md
  2. 31
      unicalendar/class.unicalendar.php
  3. 2
      unicalendar/lang/ru.php
  4. 4
      unicalendar/lang/ru.txt
  5. 2
      unicalendar/module.php
  6. 6
      unicalendar/sql.php
  7. 46
      unicalendar/templates/admin_unicalendar_edit.tpl
  8. 66
      unicalendar/templates/admin_unicalendar_list.tpl

4
README.md

@ -2,7 +2,7 @@
# Модуль Unicalendar - календарь событий # Модуль Unicalendar - календарь событий
### адаптирован для AVE.CMS v3.1.9 ### адаптирован для AVE.CMS v3.2
![Module Unicalendar](https://gitget.ru/img/unicalendar.png "Модуль Unicalendar") ![Module Unicalendar](https://gitget.ru/img/unicalendar.png "Модуль Unicalendar")
@ -14,6 +14,8 @@
##### Changelog: ##### Changelog:
##### 25.06.2017 - обновление модуля - версия 1.2.5 - Добавлен выбор формата даты для публичной части календаря, проверка условий при создании календаря
##### 15.05.2017 - обновление модуля - версия 1.2.4 - Исправлено: jQuery Form Styler - ограничивал раскрытие select по высоте; Исправлено ленг файл .php будет подключаться, в зависимости от языка Администратора (в админ-панели) и Пользователя (в публичной части) ##### 15.05.2017 - обновление модуля - версия 1.2.4 - Исправлено: jQuery Form Styler - ограничивал раскрытие select по высоте; Исправлено ленг файл .php будет подключаться, в зависимости от языка Администратора (в админ-панели) и Пользователя (в публичной части)
##### 14.05.2017 - обновление модуля - версия 1.2.3 - изменен алгоритм проверки актуальности календарей ##### 14.05.2017 - обновление модуля - версия 1.2.3 - изменен алгоритм проверки актуальности календарей

31
unicalendar/class.unicalendar.php

@ -127,6 +127,7 @@ class Unicalendar
SET SET
id = '', id = '',
uca_title = '" . $_POST['uca_title'] . "', uca_title = '" . $_POST['uca_title'] . "',
uca_date_format = '" . $_POST['uca_date_format'] . "',
uca_events = '" . $_POST['uca_events'] . "', uca_events = '" . $_POST['uca_events'] . "',
uca_rubric_id = '" . $_POST['uca_rubric_id'] . "', uca_rubric_id = '" . $_POST['uca_rubric_id'] . "',
uca_rubric_title = '" . $_POST['uca_rubric_title'] . "', uca_rubric_title = '" . $_POST['uca_rubric_title'] . "',
@ -152,6 +153,7 @@ class Unicalendar
foreach ( $unicalendars as $k=>$v ) foreach ( $unicalendars as $k=>$v )
{ {
$uca_id = $v['id']; $uca_id = $v['id'];
$uca_dfrm = $v['uca_date_format'];
$uevents = $v['uca_events']; $uevents = $v['uca_events'];
$urubric_id = $v['uca_rubric_id']; $urubric_id = $v['uca_rubric_id'];
$udoc_id = $v['uca_doc_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']."\" },"; $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="; $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 документов в категории на момент создания календаря и записываем значение в БД // Получаем Id документов в категории на момент создания календаря и записываем значение в БД
$rubric_count ='Id='.$rubric_count; $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']."\" },"; $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'].","; $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 календаря // Создаем js файл для календаря с названием dataXXX.js - где XXX = Id календаря
$fdir = "/modules/unicalendar/js/data-files/"; $fdir = "/modules/unicalendar/js/data-files/";
@ -309,6 +311,7 @@ class Unicalendar
" . PREFIX . "_module_unicalendar " . PREFIX . "_module_unicalendar
SET SET
uca_title = '" . $_POST['uca_title'] . "', uca_title = '" . $_POST['uca_title'] . "',
uca_date_format = '" . $_POST['uca_date_format'] . "',
uca_doc_id = '" . $_POST['uca_doc_id'] . "', uca_doc_id = '" . $_POST['uca_doc_id'] . "',
uca_events = '" . $_POST['uca_events'] . "', uca_events = '" . $_POST['uca_events'] . "',
uca_rubric_id = '" . $_POST['uca_rubric_id'] . "', uca_rubric_id = '" . $_POST['uca_rubric_id'] . "',
@ -338,6 +341,7 @@ class Unicalendar
foreach ( $unicalendars as $k=>$v ) foreach ( $unicalendars as $k=>$v )
{ {
$uevents = $v['uca_events']; $uevents = $v['uca_events'];
$uca_dfrm = $v['uca_date_format'];
$urubric_id = $v['uca_rubric_id']; $urubric_id = $v['uca_rubric_id'];
$udoc_id = $v['uca_doc_id']; $udoc_id = $v['uca_doc_id'];
$uca_day = $v['uca_day']; $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']."\" },"; $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="; $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 документов в категории на момент создания календаря и записываем значение в БД // Получаем Id документов в категории на момент создания календаря и записываем значение в БД
$rubric_count ='Id='.$rubric_count; $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']."\" },"; $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'].","; $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 календаря // Создаем js файл для календаря с названием dataXXX.js - где XXX = Id календаря
$fdir = "/modules/unicalendar/js/data-files/"; $fdir = "/modules/unicalendar/js/data-files/";
@ -484,6 +488,25 @@ class Unicalendar
} }
echo $doc_count = chop($doc_count, ' ,'); 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; exit;
} }

2
unicalendar/lang/ru.php

@ -7,7 +7,7 @@ $uca_real_events = "события:";
$uca_next_events = "Следующие события:"; $uca_next_events = "Следующие события:";
$uca_look_events = "Смотреть"; $uca_look_events = "Смотреть";
$uca_months_events = "[ \"Январь\", \"Февраль\", \"Март\", \"Апрель\", \"Май\", \"Июнь\", \"Июль\", \"Август\", \"Сентябрь\", \"Октябрь\", \"Ноябрь\", \"Декабрь\" ]"; $uca_months_events = "[ \"Январь\", \"Февраль\", \"Март\", \"Апрель\", \"Май\", \"Июнь\", \"Июль\", \"Август\", \"Сентябрь\", \"Октябрь\", \"Ноябрь\", \"Декабрь\" ]";
$uca_monshort_events = "[ \"Янв\", \"Фев\", \"Мар\", \"Апр\", \"Май\", \"Июн\", \"Июл\", \"Авг\", \"Сен\", \"Окт\", \"Ноя\", \"Дек\" ]"; $uca_monshort_events = "[ \"января\", \"февраля\", \"марта\", \"апреля\", \"мая\", \"июня\", \"июля\", \"августа\", \"сентября\", \"октября\", \"ноября\", \"декабря\" ]";
$uca_weekdays_events = "[ \"Воскресенье\", \"Понедельник\", \"Вторник\", \"Среда\", \"Четверг\", \"Пятница\", \"Суббота\" ]"; $uca_weekdays_events = "[ \"Воскресенье\", \"Понедельник\", \"Вторник\", \"Среда\", \"Четверг\", \"Пятница\", \"Суббота\" ]";
$uca_wdayshort_events = "[ \"Вс\", \"Пн\", \"Вт\", \"Ср\", \"Чт\", \"Пт\", \"Сб\" ]"; $uca_wdayshort_events = "[ \"Вс\", \"Пн\", \"Вт\", \"Ср\", \"Чт\", \"Пт\", \"Сб\" ]";
$uca_wdaymin_events = "[ \"Вс\", \"Пн\", \"Вт\", \"Ср\", \"Чт\", \"Пт\", \"Сб\" ]"; $uca_wdaymin_events = "[ \"Вс\", \"Пн\", \"Вт\", \"Ср\", \"Чт\", \"Пт\", \"Сб\" ]";

4
unicalendar/lang/ru.txt

@ -1,6 +1,6 @@
[admin] [admin]
ModName = "Управление модулем Unicalendar" ModName = "Управление модулем Unicalendar"
ModTitle = "В данном разделе находится список всех календарей.<br> Так же, вы можете создать новый календарь." ModTitle = "В данном разделе находится список всех календарей.<br> Так же, вы можете создать новый календарь.<br><strong style='color:red'> Внимание! </strong><br>Вы не можете создать календарь, если рубрика содержит:<br> a) только два документа - Главная и Ошибка 404 <br> b) только один документ: или Главная или Ошибка 404 <br> В остальных случаях документы <strong style='color:#177BBB'>Главная страница </strong>и <strong style='color:#177BBB'>Ошибка 404 </strong>не будут выводиться при создании календарей."
UCA_LIST = "Список календарей" UCA_LIST = "Список календарей"
UCA_NEW = "Создать новый календарь" UCA_NEW = "Создать новый календарь"
UCA_NO_ITEMS = "В настоящий момент не существует ни одного календаря." UCA_NO_ITEMS = "В настоящий момент не существует ни одного календаря."
@ -22,8 +22,10 @@ UCA_LIST_SELDOC_RUB = "Выводит выбранные документы
UCA_TITLE_WARNING = "Не заполнено поле Название календаря" UCA_TITLE_WARNING = "Не заполнено поле Название календаря"
UCA_EVENTS_WARNING = "События для этого календаря не заданы..." UCA_EVENTS_WARNING = "События для этого календаря не заданы..."
UCA_SEL_RUB_WARNING = "Не выбрана рубрика!" UCA_SEL_RUB_WARNING = "Не выбрана рубрика!"
UCA_SEL_RUB_ID_DOC = "Вы не можете создать календарь из рубрики, которая либо содержит только два документа: Главная и Ошибка 404, либо только один документ: или Главная или Ошибка 404"
UCA_SEL_DOC_WARNING = "Не выбран ни один документ!" UCA_SEL_DOC_WARNING = "Не выбран ни один документ!"
UCA_SEL_EVENTS_WARNING = "Не выбран тип событий календаря!" UCA_SEL_EVENTS_WARNING = "Не выбран тип событий календаря!"
UCA_PUBLIC_DATE = "Формат даты публичной части календаря"
UCA_OPEN_LIKS = "Открывать ссылки событий календаря в новом окне" UCA_OPEN_LIKS = "Открывать ссылки событий календаря в новом окне"
UCA_YES = "Да" UCA_YES = "Да"
UCA_NO = "Нет" UCA_NO = "Нет"

2
unicalendar/module.php

@ -14,7 +14,7 @@ if (defined('ACP'))
{ {
$modul['ModuleName'] = 'Универсальный календарь событий'; $modul['ModuleName'] = 'Универсальный календарь событий';
$modul['ModuleSysName'] = 'unicalendar'; $modul['ModuleSysName'] = 'unicalendar';
$modul['ModuleVersion'] = '1.2.4'; $modul['ModuleVersion'] = '1.2.5';
$modul['ModuleDescription'] = '<br>Модуль позволяет создавать различные календари событий. <br> Для вывода календаря используйте системный тег <strong>[mod_unicalendar:XXX]</strong>'; $modul['ModuleDescription'] = '<br>Модуль позволяет создавать различные календари событий. <br> Для вывода календаря используйте системный тег <strong>[mod_unicalendar:XXX]</strong>';
$modul['ModuleAutor'] = 'Repellent'; $modul['ModuleAutor'] = 'Repellent';
$modul['ModuleCopyright'] = '&copy; AVE.cms Team 2017'; $modul['ModuleCopyright'] = '&copy; AVE.cms Team 2017';

6
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` ( $module_sql_install[] = "CREATE TABLE `CPPREFIX_module_unicalendar` (
`id` int(10) unsigned NOT NULL auto_increment, `id` int(10) unsigned NOT NULL auto_increment,
`uca_title` varchar(255) NOT NULL, `uca_title` varchar(255) NOT NULL,
`uca_date_format` varchar(255) NOT NULL,
`uca_events` varchar(10) NOT NULL, `uca_events` varchar(10) NOT NULL,
`uca_rubric_id` varchar(10) NOT NULL, `uca_rubric_id` varchar(10) NOT NULL,
`uca_rubric_title` varchar(255) NOT NULL, `uca_rubric_title` varchar(255) NOT NULL,
@ -61,4 +62,9 @@ $module_sql_update[] = "
ALTER TABLE `CPPREFIX_module_unicalendar` ALTER TABLE `CPPREFIX_module_unicalendar`
DROP IF EXISTS `uca_rub_doc_count` 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`";
?> ?>

46
unicalendar/templates/admin_unicalendar_edit.tpl

@ -41,6 +41,24 @@
<input name="uca_title" type="text" id="uca_title" value="{$unicalendars.uca_title|escape}" style="width:300px" /> <input name="uca_title" type="text" id="uca_title" value="{$unicalendars.uca_title|escape}" style="width:300px" />
</td> </td>
</tr> </tr>
<tr class="noborder">
<td width="180">{#UCA_PUBLIC_DATE#}</td>
<td>
<input name="uca_date_format" type="hidden" id="uca_date_format" value="{$unicalendars.uca_date_format|escape}"/>
<input type="radio" name="u_date_format" class="u_date_format" value="dddd, DD MMM YYYY" {if $unicalendars.uca_date_format == 'dddd, DD MMM YYYY'} checked="checked" {/if}>
<label class="code" style="background: #fff; margin-right: 5px; margin-left: 5px;" for="">{$smarty.now|date_format:'%A, %d %B %Y'|pretty_date}</label>
<input type="radio" name="u_date_format" class="u_date_format" value="dddd, DD-MM-YYYY" {if $unicalendars.uca_date_format == 'dddd, DD-MM-YYYY'} checked="checked" {/if}>
<label class="code" style="background: #fff; margin-right: 5px; margin-left: 5px;" for="">{$smarty.now|date_format:'%A, %d-%m-%Y'|pretty_date}</label>
<input type="radio" name="u_date_format" class="u_date_format" value="dddd, YYYY-MM-DD" {if $unicalendars.uca_date_format == 'dddd, YYYY-MM-DD'} checked="checked" {/if}>
<label class="code" style="background: #fff; margin-right: 5px; margin-left: 5px;" for="">{$smarty.now|date_format:'%A, %Y-%m-%d'|pretty_date}</label>
<input type="radio" name="u_date_format" class="u_date_format" value="DD MMM YYYY" {if $unicalendars.uca_date_format == 'DD MMM YYYY'} checked="checked" {/if}>
<label class="code" style="background: #fff; margin-right: 5px; margin-left: 5px;" for="">{$smarty.now|date_format:'%d %B %Y'|pretty_date}</label>
<input type="radio" name="u_date_format" class="u_date_format" value="DD-MM-YYYY" {if $unicalendars.uca_date_format == 'DD-MM-YYYY'} checked="checked" {/if}>
<label class="code" style="background: #fff; margin-right: 5px; margin-left: 5px;" for="">{$smarty.now|date_format:'%d-%m-%Y'|pretty_date}</label>
<input type="radio" name="u_date_format" class="u_date_format" value="YYYY-MM-DD" {if $unicalendars.uca_date_format == 'YYYY-MM-DD'} checked="checked" {/if}>
<label class="code" style="background: #fff; margin-right: 5px; margin-left: 5px;" for="">{$smarty.now|date_format:'%Y-%m-%d'|pretty_date}</label>
</td>
</tr>
<tr class="noborder"> <tr class="noborder">
<td width="180">{#UCA_OPEN_LIKS#}</td> <td width="180">{#UCA_OPEN_LIKS#}</td>
<td> <td>
@ -120,6 +138,24 @@
<input name="uca_title" type="text" id="uca_title" value="{$unicalendars.uca_title|escape}" style="width:300px" /> <input name="uca_title" type="text" id="uca_title" value="{$unicalendars.uca_title|escape}" style="width:300px" />
</td> </td>
</tr> </tr>
<tr class="noborder">
<td width="180">{#UCA_PUBLIC_DATE#}</td>
<td>
<input name="uca_date_format" type="hidden" id="uca_date_format" value="{$unicalendars.uca_date_format|escape}"/>
<input type="radio" name="u_date_format" class="u_date_format" value="dddd, DD MMM YYYY" {if $unicalendars.uca_date_format == 'dddd, DD MMM YYYY'} checked="checked" {/if}>
<label class="code" style="background: #fff; margin-right: 5px; margin-left: 5px;" for="">{$smarty.now|date_format:'%A, %d %B %Y'|pretty_date}</label>
<input type="radio" name="u_date_format" class="u_date_format" value="dddd, DD-MM-YYYY" {if $unicalendars.uca_date_format == 'dddd, DD-MM-YYYY'} checked="checked" {/if}>
<label class="code" style="background: #fff; margin-right: 5px; margin-left: 5px;" for="">{$smarty.now|date_format:'%A, %d-%m-%Y'|pretty_date}</label>
<input type="radio" name="u_date_format" class="u_date_format" value="dddd, YYYY-MM-DD" {if $unicalendars.uca_date_format == 'dddd, YYYY-MM-DD'} checked="checked" {/if}>
<label class="code" style="background: #fff; margin-right: 5px; margin-left: 5px;" for="">{$smarty.now|date_format:'%A, %Y-%m-%d'|pretty_date}</label>
<input type="radio" name="u_date_format" class="u_date_format" value="DD MMM YYYY" {if $unicalendars.uca_date_format == 'DD MMM YYYY'} checked="checked" {/if}>
<label class="code" style="background: #fff; margin-right: 5px; margin-left: 5px;" for="">{$smarty.now|date_format:'%d %B %Y'|pretty_date}</label>
<input type="radio" name="u_date_format" class="u_date_format" value="DD-MM-YYYY" {if $unicalendars.uca_date_format == 'DD-MM-YYYY'} checked="checked" {/if}>
<label class="code" style="background: #fff; margin-right: 5px; margin-left: 5px;" for="">{$smarty.now|date_format:'%d-%m-%Y'|pretty_date}</label>
<input type="radio" name="u_date_format" class="u_date_format" value="YYYY-MM-DD" {if $unicalendars.uca_date_format == 'YYYY-MM-DD'} checked="checked" {/if}>
<label class="code" style="background: #fff; margin-right: 5px; margin-left: 5px;" for="">{$smarty.now|date_format:'%Y-%m-%d'|pretty_date}</label>
</td>
</tr>
<tr class="noborder"> <tr class="noborder">
<td width="180">{#UCA_OPEN_LIKS#}</td> <td width="180">{#UCA_OPEN_LIKS#}</td>
<td> <td>
@ -285,6 +321,13 @@
$('#uca_title').focus(function(){ldelim} $('#uca_title').focus(function(){ldelim}
$('#uca_title').val(''); $('#uca_title').val('');
{rdelim});// END обнуляем значение value у input Название календаря при событии focus {rdelim});// END обнуляем значение value у input Название календаря при событии focus
// START получаем значение радиокнопки формат даты и пишем в input значение
$(".u_date_format").on('change', function() {ldelim}
$('#uca_date_format').val('');
var u_date_format = $('input[name="u_date_format"]:checked').val();
$('#uca_date_format').val(u_date_format);
{rdelim});// END получаем значение радиокнопки формат даты и пишем в input значение
// START получаем значение радиокнопки открыть ссылку и пишем в input значение // START получаем значение радиокнопки открыть ссылку и пишем в input значение
$(".u_link").on('change', function() {ldelim} $(".u_link").on('change', function() {ldelim}
@ -350,6 +393,7 @@
$("#btn_save_edit").on('click', function() {ldelim} $("#btn_save_edit").on('click', function() {ldelim}
var uca_events = $('#uca_events').val(); var uca_events = $('#uca_events').val();
var uca_title = $('#uca_title').val(); var uca_title = $('#uca_title').val();
var uca_date_format = $('#uca_date_format').val();
var uca_link = $('#uca_link').val(); var uca_link = $('#uca_link').val();
var uca_day = $('#uca_day').val(); var uca_day = $('#uca_day').val();
var uca_scroll = $('#uca_scroll').val(); var uca_scroll = $('#uca_scroll').val();
@ -367,7 +411,7 @@
$.ajax({ldelim} $.ajax({ldelim}
type: 'POST', type: 'POST',
url: 'index.php?do=modules&action=modedit&mod=unicalendar&moduleaction=edit_save&id={$unicalendars.id}&cp={$sess}', url: 'index.php?do=modules&action=modedit&mod=unicalendar&moduleaction=edit_save&id={$unicalendars.id}&cp={$sess}',
data: {ldelim}uca_events:uca_events,uca_title:uca_title,uca_link:uca_link,uca_day:uca_day,uca_scroll:uca_scroll,uca_descript:uca_descript,uca_rubric_id:uca_rubric_id,uca_rubric_title:uca_rubric_title,uca_doc_id:uca_doc_id{rdelim}, data: {ldelim}uca_events:uca_events,uca_title:uca_title,uca_date_format:uca_date_format,uca_link:uca_link,uca_day:uca_day,uca_scroll:uca_scroll,uca_descript:uca_descript,uca_rubric_id:uca_rubric_id,uca_rubric_title:uca_rubric_title,uca_doc_id:uca_doc_id{rdelim},
success: function(data) {ldelim} success: function(data) {ldelim}
$('#ed_title').html(uca_title); $('#ed_title').html(uca_title);
$('#title_rub').html('&nbsp;&nbsp;'+uca_rubric_title); $('#title_rub').html('&nbsp;&nbsp;'+uca_rubric_title);

66
unicalendar/templates/admin_unicalendar_list.tpl

@ -163,6 +163,24 @@
<input placeholder="{#UCA_TITLE#}" name="uca_title" type="text" id="uca_title" value="" style="width:300px" /> <input placeholder="{#UCA_TITLE#}" name="uca_title" type="text" id="uca_title" value="" style="width:300px" />
</td> </td>
</tr> </tr>
<tr class="noborder">
<td width="180">{#UCA_PUBLIC_DATE#}</td>
<td>
<input name="uca_date_format" type="hidden" id="uca_date_format" value="dddd, DD MMM YYYY"/>
<input type="radio" name="u_date_format" class="u_date_format" value="dddd, DD MMM YYYY" checked="checked">
<label class="code" style="background: #fff; margin-right: 5px; margin-left: 5px;" for="">{$smarty.now|date_format:'%A, %d %B %Y'|pretty_date}</label>
<input type="radio" name="u_date_format" class="u_date_format" value="dddd, DD-MM-YYYY">
<label class="code" style="background: #fff; margin-right: 5px; margin-left: 5px;" for="">{$smarty.now|date_format:'%A, %d-%m-%Y'|pretty_date}</label>
<input type="radio" name="u_date_format" class="u_date_format" value="dddd, YYYY-MM-DD">
<label class="code" style="background: #fff; margin-right: 5px; margin-left: 5px;" for="">{$smarty.now|date_format:'%A, %Y-%m-%d'|pretty_date}</label>
<input type="radio" name="u_date_format" class="u_date_format" value="DD MMM YYYY">
<label class="code" style="background: #fff; margin-right: 5px; margin-left: 5px;" for="">{$smarty.now|date_format:'%d %B %Y'|pretty_date}</label>
<input type="radio" name="u_date_format" class="u_date_format" value="DD-MM-YYYY">
<label class="code" style="background: #fff; margin-right: 5px; margin-left: 5px;" for="">{$smarty.now|date_format:'%d-%m-%Y'|pretty_date}</label>
<input type="radio" name="u_date_format" class="u_date_format" value="YYYY-MM-DD">
<label class="code" style="background: #fff; margin-right: 5px; margin-left: 5px;" for="">{$smarty.now|date_format:'%Y-%m-%d'|pretty_date}</label>
</td>
</tr>
<tr class="noborder"> <tr class="noborder">
<td width="180">{#UCA_OPEN_LIKS#}</td> <td width="180">{#UCA_OPEN_LIKS#}</td>
<td> <td>
@ -222,6 +240,7 @@
<td colspan="2"> <td colspan="2">
<div class="pr12" style="display: table; padding: 5px 0px 5px 0px;"> <div class="pr12" style="display: table; padding: 5px 0px 5px 0px;">
<a id="btn_ucasub" class="btn blueBtn" href="javascript:void(0);">{#UCA_BTN_CREATE#}</a> <a id="btn_ucasub" class="btn blueBtn" href="javascript:void(0);">{#UCA_BTN_CREATE#}</a>
<input name="i_block_create_calendar" type="hidden" id="i_block_create_calendar" value="0"/>
</div> </div>
</td> </td>
</tr> </tr>
@ -361,6 +380,13 @@
{rdelim}); {rdelim});
{rdelim});// END CHECK - отмечаем - снимаем чекбоксы документов по одному и пишем в input значение {rdelim});// END CHECK - отмечаем - снимаем чекбоксы документов по одному и пишем в input значение
// START получаем значение радиокнопки формат даты и пишем в input значение
$(".u_date_format").on('change', function() {ldelim}
$('#uca_date_format').val('');
var u_date_format = $('input[name="u_date_format"]:checked').val();
$('#uca_date_format').val(u_date_format);
{rdelim});// END получаем значение радиокнопки формат даты и пишем в input значение
// START получаем значение радиокнопки открыть ссылку и пишем в input значение // START получаем значение радиокнопки открыть ссылку и пишем в input значение
$(".u_link").on('change', function() {ldelim} $(".u_link").on('change', function() {ldelim}
$('#uca_link').val(''); $('#uca_link').val('');
@ -396,14 +422,42 @@
var check_fields_events = $('#uca_events').val(); var check_fields_events = $('#uca_events').val();
var check_fields_rubric_id = $('#uca_rubric_id').val(); var check_fields_rubric_id = $('#uca_rubric_id').val();
var check_fields_doc_id = $ ('#uca_doc_id').val(); var check_fields_doc_id = $ ('#uca_doc_id').val();
$('#i_block_create_calendar').val('0');
if (check_fields_events == '1' && check_fields_rubric_id !='') // START проверяем и запрещаем создавать календарь, если рубрика содержит только один или два документа, Id которых равны либо главной странице либо странице 404 , либо и то и другое.
{ldelim}
$.ajax({ldelim}// START если условия выше соответствуют - делаем ajax запрос
type: 'POST',
url: 'index.php?do=modules&action=modedit&mod=unicalendar&moduleaction=events_new&cp={$sess}',
async: false,
data: {ldelim}allowed_rub:'allowed_rub',allowed_rub_id:check_fields_rubric_id{rdelim},
success: function(data) {ldelim}
var f_block_create_calendar = '0';//создаем переменную
var f_id_str = data.split(',');// преобразуем строку в массив
var f_count_str = f_id_str.length;// считаем количество элементов в массиве
if (f_count_str == '2' && f_id_str[0] == '1' && f_id_str[1] == {$smarty.const.PAGE_NOT_FOUND_ID} || f_count_str == '1' && f_id_str[0] == '1' || f_count_str == '1' && f_id_str[0] == {$smarty.const.PAGE_NOT_FOUND_ID})// проверка условий
{ldelim}
f_block_create_calendar = '1'; // пишем в переменную 1, если условия для запрета совпали
$('#i_block_create_calendar').val(f_block_create_calendar);
{rdelim} else {ldelim}
f_block_create_calendar = '0'; // пишем в переменную 0, если условия для запрета не совпали
$('#i_block_create_calendar').val(f_block_create_calendar);
{rdelim};
{rdelim},
{rdelim});// END если условия выше соответствуют - делаем ajax запрос
{rdelim}; // END проверяем и запрещаем создавать календарь, если рубрика содержит только один или два документа, Id которых равны либо главной странице либо странице 404 , либо и то и другое.
var block_create_calendar = $('#i_block_create_calendar').val();
if (block_create_calendar != '1'){ldelim}// не сохраняем если в рубрике ТОЛЬКО или главная страница или 404 стр. или то и другое.
if (check_fields_title !=''){ldelim}// не сохраняем если не указан заголовок if (check_fields_title !=''){ldelim}// не сохраняем если не указан заголовок
if (check_fields_events !=''){ldelim}// не сохраняем если не указан тип событий календаря if (check_fields_events !=''){ldelim}// не сохраняем если не указан тип событий календаря
if (check_fields_rubric_id !=''){ldelim}// не сохраняем если не выбрана рубрика if (check_fields_rubric_id !=''){ldelim}// не сохраняем если не выбрана рубрика
if (check_fields_events == '1' && check_fields_rubric_id !='' || check_fields_events == '2' && check_fields_doc_id !='Id= ' && check_fields_doc_id !=''){ldelim}// не сохраняем если не выьран ни один документ if (check_fields_events == '1' && check_fields_rubric_id !='' || check_fields_events == '2' && check_fields_doc_id !='Id= ' && check_fields_doc_id !=''){ldelim}// не сохраняем если не выбран ни один документ
$.ajax({ldelim} $.ajax({ldelim}
type: 'POST', type: 'POST',
@ -420,6 +474,7 @@
{rdelim} {rdelim}
{rdelim}); {rdelim});
{rdelim} else {ldelim} {rdelim} else {ldelim}
alert("{#UCA_SEL_DOC_WARNING#}"); alert("{#UCA_SEL_DOC_WARNING#}");
{rdelim}; {rdelim};
@ -435,6 +490,13 @@
{rdelim} else {ldelim} {rdelim} else {ldelim}
alert("{#UCA_TITLE_WARNING#}"); alert("{#UCA_TITLE_WARNING#}");
{rdelim}; {rdelim};
{rdelim} else {ldelim}
alert("{#UCA_SEL_RUB_ID_DOC#}");
{rdelim};
{rdelim}); // END Если произошло событие на кнопке "Добавить" - записываем в БД {rdelim}); // END Если произошло событие на кнопке "Добавить" - записываем в БД
// Копируем системные теги при клике в буфер обмена // Копируем системные теги при клике в буфер обмена

Loading…
Cancel
Save