@ -25,119 +25,22 @@ class Unicalendar
{
require ( BASE_DIR . '/modules/unicalendar/lang/ru.php' ); // загружаем файл ленгов для php переменных
// подключаем JS скрипты и CSS файлы календаря в секцию head
$eventCalendar_css = '<link rel="stylesheet" href="' . ABS_PATH . 'modules/unicalendar/css/eventCalendar.css" type="text/css" media="screen" charset="utf-8" />' ;
$eventCalendar_theme_responsive_css = '<link rel="stylesheet" href="' . ABS_PATH . 'modules/unicalendar/css/eventCalendar_theme_responsive.css" type="text/css" media="screen" charset="utf-8" />' ;
$moment_js = '<script src="' . ABS_PATH . 'modules/unicalendar/js/moment.js" type="text/javascript" charset="utf-8" ></script>' ;
$jquery_eventCalendar_js = '<script src="' . ABS_PATH . 'modules/unicalendar/js/jquery.eventCalendar.js" type="text/javascript" charset="utf-8" ></script>' ;
$eventCalendar_css = '<link rel="stylesheet" href="' . ABS_PATH . 'modules/unicalendar/css/eventCalendar.css" type="text/css" media="screen" />' ;
$eventCalendar_theme_responsive_css = '<link rel="stylesheet" href="' . ABS_PATH . 'modules/unicalendar/css/eventCalendar_theme_responsive.css" type="text/css" media="screen" />' ;
$moment_js = '<script src="' . ABS_PATH . 'modules/unicalendar/js/moment.js" type="text/javascript"></script>' ;
$jquery_eventCalendar_js = '<script src="' . ABS_PATH . 'modules/unicalendar/js/jquery.eventCalendar.js" type="text/javascript"></script>' ;
$GLOBALS [ 'user_header' ][ 'module_unicalendar_' ] = $eventCalendar_css . " \n " . $eventCalendar_theme_responsive_css . " \n " . $moment_js . " \n " . $jquery_eventCalendar_js ;
global $AVE_DB , $AVE_Template ;
$sql = $AVE_DB -> Query ( "
SELECT *
FROM " . PREFIX . " _module_unicalendar
WHERE id = ' " . $id . " '
" );
$unicalendars = array ();
while ( $row = $sql -> FetchAssocArray ())
{
array_push ( $unicalendars , $row );
}
foreach ( $unicalendars as $k => $v )
{
$uevents = $v [ 'uca_events' ];
$urubric_id = $v [ 'uca_rubric_id' ];
$udoc_id = $v [ 'uca_doc_id' ];
$uca_day = $v [ 'uca_day' ];
$uca_scroll = $v [ 'uca_scroll' ];
$uca_link = $v [ 'uca_link' ];
$uca_descript = $v [ 'uca_descript' ];
}
// Если выбрали вывести все документы из заданной рубрики - документы с Id=1 (Главная) и 404 страница - выводиться не будут!
if ( $uevents != '' && $uevents == '1' ){
$sql = $AVE_DB -> Query ( "
SELECT Id, document_alias, document_title, document_published, document_meta_description
FROM " . PREFIX . " _documents
WHERE rubric_id = ' " . $urubric_id . " ' AND Id !=1 && Id != ' " . PAGE_NOT_FOUND_ID . " '
" );
$results = array ();
while ( $row = $sql -> FetchAssocArray ())
{
array_push ( $results , $row );
}
//получаем данные всех документов из заданной рубрики циклом, формируем строку JSON
foreach ( $results as $k => $v )
{
$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' ] . " \" }, " ;
}
$js_data_files = " $ (function() { " . " var data " . $id . " = [ " . $uni_data . " ]; $ ( \" #eventCalendar " . $id . " \" ).eventCalendar( { jsonData: data " . $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 файл для календаря с названием dataXXX.js - где XXX = Id календаря
$fdir = " /modules/unicalendar/js/data-files/ " ;
mkdir ( BASE_DIR . $fdir , 0777 , true );
chmod ( BASE_DIR . $fdir , 0777 );
$df = fopen ( BASE_DIR . " /modules/unicalendar/js/data-files/data " . $id . " .js " , " w " )
or die ( $uca_not_write_file ); // ругаемся если нет прав на запись в директорию data-files !
flock ( $df , 2 );
fwrite ( $df , $js_data_files );
flock ( $df , 3 );
fclose ( $df );
// Записываем в секции <head> подключение js файла с данными календаря, согласно Id этого календаря
// подключаем в секции <head> js файл с данным , согласно Id календаря
$data_dir = " /modules/unicalendar/js/data-files " ;
$filename = BASE_DIR . $data_dir . " /data " . $id . " .js " ;
if ( file_exists ( $filename ))
{
$GLOBALS [ 'user_header' ][ 'module_unicalendar_' . $id ] = '<script src="' . ABS_PATH . 'modules/unicalendar/js/data-files/data' . $id . '.js" type="text/javascript" charset="utf-8"></script>' ; // подключаем в секции <head> js файл с данным , согласно Id календаря
}
else {
echo $uca_file_not_found . $id . " .js " ; // если не смогли подключить файл -выводим сообщение-подсказку
};
}
// Если выбрали вывести выбранные документы из заданной рубрики - документы с Id=1 (Главная) и 404 страница - выводиться не будут!
if ( $uevents != '' && $uevents == '2' ){
$sql = $AVE_DB -> Query ( "
SELECT Id, document_alias, document_title, document_published, document_meta_description
FROM " . PREFIX . " _documents
WHERE rubric_id = ' " . $urubric_id . " ' AND Id !=1 && Id != ' " . PAGE_NOT_FOUND_ID . " ' AND $udoc_id
" );
$results = array ();
while ( $row = $sql -> FetchAssocArray ())
{
array_push ( $results , $row );
}
//получаем данные выбранных документов из заданной рубрики циклом, формируем строку JSON
foreach ( $results as $k => $v )
{
$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' ] . " \" }, " ;
}
$js_data_files = " $ (function() { " . " var data " . $id . " = [ " . $uni_data . " ]; $ ( \" #eventCalendar " . $id . " \" ).eventCalendar( { jsonData: data " . $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 файл для календаря с названием dataXXX.js - где XXX = Id календаря
$fdir = " /modules/unicalendar/js/data-files/ " ;
mkdir ( BASE_DIR . $fdir , 0777 , true );
chmod ( BASE_DIR . $fdir , 0777 );
$df = fopen ( BASE_DIR . " /modules/unicalendar/js/data-files/data " . $id . " .js " , " w " )
or die ( $uca_not_write_file ); // ругаемся если нет прав на запись в директорию data-files !
flock ( $df , 2 );
fwrite ( $df , $js_data_files );
flock ( $df , 3 );
fclose ( $df );
// Записываем в секции <head> подключение js файла с данными календаря, согласно Id этого календаря
$data_dir = " /modules/unicalendar/js/data-files " ;
$filename = BASE_DIR . $data_dir . " /data " . $id . " .js " ;
if ( file_exists ( $filename ))
{
$GLOBALS [ 'user_header' ][ 'module_unicalendar_' . $id ] = '<script src="' . ABS_PATH . 'modules/unicalendar/js/data-files/data' . $id . '.js" type="text/javascript" charset="utf-8"></script>' ; // подключаем в секции <head> js файл с данным , согласно Id календаря
$GLOBALS [ 'user_header' ][ 'module_unicalendar_' . $id ] = '<script src="' . ABS_PATH . 'modules/unicalendar/js/data-files/data' . $id . '.js" type="text/javascript"></script>' ;
}
else {
echo $uca_file_not_found . $id . " .js " ; // если не смогли подключить файл -выводим сообщение-подсказку
};
}
global $AVE_Template ;
$AVE_Template -> assign ( 'id' , $id );
$AVE_Template -> display ( $tpl_dir . 'unicalendar.tpl' );
}
@ -234,6 +137,91 @@ class Unicalendar
uca_scroll = ' " . $_POST [ 'uca_scroll' ] . " ',
uca_descript = ' " . $_POST [ 'uca_descript' ] . " '
" );
// Получаем обновленные данные календаря
require ( BASE_DIR . '/modules/unicalendar/lang/ru.php' ); // загружаем файл ленгов для php переменных
$sql = $AVE_DB -> Query ( "
SELECT *
FROM " . PREFIX . " _module_unicalendar
WHERE id = id
" );
$unicalendars = array ();
while ( $row = $sql -> FetchAssocArray ())
{
array_push ( $unicalendars , $row );
}
foreach ( $unicalendars as $k => $v )
{
$uca_id = $v [ 'id' ];
$uevents = $v [ 'uca_events' ];
$urubric_id = $v [ 'uca_rubric_id' ];
$udoc_id = $v [ 'uca_doc_id' ];
$uca_day = $v [ 'uca_day' ];
$uca_scroll = $v [ 'uca_scroll' ];
$uca_link = $v [ 'uca_link' ];
$uca_descript = $v [ 'uca_descript' ];
}
// Если выбрали вывести все документы из заданной рубрики - документы с Id=1 (Главная) и 404 страница - выводиться не будут!
if ( $uevents != '' && $uevents == '1' ){
$sql = $AVE_DB -> Query ( "
SELECT Id, document_alias, document_title, document_published, document_meta_description
FROM " . PREFIX . " _documents
WHERE rubric_id = ' " . $urubric_id . " ' AND Id !=1 && Id != ' " . PAGE_NOT_FOUND_ID . " '
" );
$results = array ();
while ( $row = $sql -> FetchAssocArray ())
{
array_push ( $results , $row );
}
//получаем данные всех документов из заданной рубрики циклом, формируем строку JSON
foreach ( $results as $k => $v )
{
$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' ] . " \" }, " ;
}
$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 файл для календаря с названием dataXXX.js - где XXX = Id календаря
$fdir = " /modules/unicalendar/js/data-files/ " ;
mkdir ( BASE_DIR . $fdir , 0777 , true );
chmod ( BASE_DIR . $fdir , 0777 );
$df = fopen ( BASE_DIR . " /modules/unicalendar/js/data-files/data " . $uca_id . " .js " , " w " )
or die ( $uca_not_write_file ); // ругаемся если нет прав на запись в директорию data-files !
flock ( $df , 2 );
fwrite ( $df , $js_data_files );
flock ( $df , 3 );
fclose ( $df );
}
// Если выбрали вывести все документы из заданной рубрики - документы с Id=1 (Главная) и 404 страница - выводиться не будут!
if ( $uevents != '' && $uevents == '2' ){
$sql = $AVE_DB -> Query ( "
SELECT Id, document_alias, document_title, document_published, document_meta_description
FROM " . PREFIX . " _documents
WHERE rubric_id = ' " . $urubric_id . " ' AND Id !=1 && Id != ' " . PAGE_NOT_FOUND_ID . " ' AND $udoc_id
" );
$results = array ();
while ( $row = $sql -> FetchAssocArray ())
{
array_push ( $results , $row );
}
//получаем данные всех документов из заданной рубрики циклом, формируем строку JSON
foreach ( $results as $k => $v )
{
$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' ] . " \" }, " ;
}
$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 файл для календаря с названием dataXXX.js - где XXX = Id календаря
$fdir = " /modules/unicalendar/js/data-files/ " ;
mkdir ( BASE_DIR . $fdir , 0777 , true );
chmod ( BASE_DIR . $fdir , 0777 );
$df = fopen ( BASE_DIR . " /modules/unicalendar/js/data-files/data " . $uca_id . " .js " , " w " )
or die ( $uca_not_write_file ); // ругаемся если нет прав на запись в директорию data-files !
flock ( $df , 2 );
fwrite ( $df , $js_data_files );
flock ( $df , 3 );
fclose ( $df );
}
}
header ( 'Location:index.php?do=modules&action=modedit&mod=unicalendar&moduleaction=1' . $alert );
exit ;
@ -319,10 +307,94 @@ class Unicalendar
uca_descript = ' " . $_POST [ 'uca_descript' ] . " '
WHERE id = ' " . $unicalendar_id . " '
" );
$as = array ();
$as -> $_POST [ 'uca_title' ];
$as -> $_POST [ 'uca_rubric_title' ];
echo json_encode ( $as );
$as = array ();
$as -> $_POST [ 'uca_title' ];
$as -> $_POST [ 'uca_rubric_title' ];
echo json_encode ( $as );
// Получаем обновленные данные календаря
require ( BASE_DIR . '/modules/unicalendar/lang/ru.php' ); // загружаем файл ленгов для php переменных
$sql = $AVE_DB -> Query ( "
SELECT *
FROM " . PREFIX . " _module_unicalendar
WHERE id = ' " . $unicalendar_id . " '
" );
$unicalendars = array ();
while ( $row = $sql -> FetchAssocArray ())
{
array_push ( $unicalendars , $row );
}
foreach ( $unicalendars as $k => $v )
{
$uevents = $v [ 'uca_events' ];
$urubric_id = $v [ 'uca_rubric_id' ];
$udoc_id = $v [ 'uca_doc_id' ];
$uca_day = $v [ 'uca_day' ];
$uca_scroll = $v [ 'uca_scroll' ];
$uca_link = $v [ 'uca_link' ];
$uca_descript = $v [ 'uca_descript' ];
}
// Если выбрали вывести все документы из заданной рубрики - документы с Id=1 (Главная) и 404 страница - выводиться не будут!
if ( $uevents != '' && $uevents == '1' ){
$sql = $AVE_DB -> Query ( "
SELECT Id, document_alias, document_title, document_published, document_meta_description
FROM " . PREFIX . " _documents
WHERE rubric_id = ' " . $urubric_id . " ' AND Id !=1 && Id != ' " . PAGE_NOT_FOUND_ID . " '
" );
$results = array ();
while ( $row = $sql -> FetchAssocArray ())
{
array_push ( $results , $row );
}
//получаем данные всех документов из заданной рубрики циклом, формируем строку JSON
foreach ( $results as $k => $v )
{
$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' ] . " \" }, " ;
}
$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 файл для календаря с названием dataXXX.js - где XXX = Id календаря
$fdir = " /modules/unicalendar/js/data-files/ " ;
mkdir ( BASE_DIR . $fdir , 0777 , true );
chmod ( BASE_DIR . $fdir , 0777 );
$df = fopen ( BASE_DIR . " /modules/unicalendar/js/data-files/data " . $unicalendar_id . " .js " , " w " )
or die ( $uca_not_write_file ); // ругаемся если нет прав на запись в директорию data-files !
flock ( $df , 2 );
fwrite ( $df , $js_data_files );
flock ( $df , 3 );
fclose ( $df );
}
// Если выбрали вывести выбранные документы из заданной рубрики - документы с Id=1 (Главная) и 404 страница - выводиться не будут!
if ( $uevents != '' && $uevents == '2' ){
$sql = $AVE_DB -> Query ( "
SELECT Id, document_alias, document_title, document_published, document_meta_description
FROM " . PREFIX . " _documents
WHERE rubric_id = ' " . $urubric_id . " ' AND Id !=1 && Id != ' " . PAGE_NOT_FOUND_ID . " ' AND $udoc_id
" );
$results = array ();
while ( $row = $sql -> FetchAssocArray ())
{
array_push ( $results , $row );
}
//получаем данные выбранных документов из заданной рубрики циклом, формируем строку JSON
foreach ( $results as $k => $v )
{
$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' ] . " \" }, " ;
}
$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 файл для календаря с названием dataXXX.js - где XXX = Id календаря
$fdir = " /modules/unicalendar/js/data-files/ " ;
mkdir ( BASE_DIR . $fdir , 0777 , true );
chmod ( BASE_DIR . $fdir , 0777 );
$df = fopen ( BASE_DIR . " /modules/unicalendar/js/data-files/data " . $unicalendar_id . " .js " , " w " )
or die ( $uca_not_write_file ); // ругаемся если нет прав на запись в директорию data-files !
flock ( $df , 2 );
fwrite ( $df , $js_data_files );
flock ( $df , 3 );
fclose ( $df );
}
exit ;
}