From 6ac2272d6f7c291f15a8aab8fa58a7d2e42b7aa8 Mon Sep 17 00:00:00 2001 From: root Date: Sun, 8 Oct 2017 18:51:47 +0500 Subject: [PATCH] =?UTF-8?q?=D0=BE=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D0=BC=D0=BE=D0=B4=D1=83=D0=BB=D1=8F=20?= =?UTF-8?q?=D0=B4=D0=BE=20=D0=B2=D0=B5=D1=80=D1=81=D0=B8=D0=B8=201.1.3b?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 + gmap/class.gmap.php | 24 +++- gmap/js/data-files/index.php | 4 + gmap/lang/en.txt | 1 + gmap/lang/ru.txt | 1 + gmap/lang/ua.txt | 1 + gmap/module.php | 2 +- gmap/templates/map.tpl | 264 +---------------------------------- 8 files changed, 38 insertions(+), 261 deletions(-) create mode 100644 gmap/js/data-files/index.php diff --git a/README.md b/README.md index 073052e..e86a061 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,8 @@ ##### Changelog: +##### 08.10.2017 - обновление модуля до версии 1.1.3b - Удалена JS функция document.write(), все js-скрипты выненсены в файлы т подключаются в сеции head + ##### 01.07.2017 - обновление модуля до версии 1.1.2b - Фикс подключения файлового менеджера elfinder - изменение путей lib/redactor/elfinder/inc/ на lib/redactor/elfinder/php/ ##### 12.06.2017 - обновление модуля до версии 1.1.1b - Фикс подключения файлового менеджера elfinder - изменение путей lib/redactor/elfinder/php/ на lib/redactor/elfinder/inc/ diff --git a/gmap/class.gmap.php b/gmap/class.gmap.php index 6d0630d..eadc2a2 100644 --- a/gmap/class.gmap.php +++ b/gmap/class.gmap.php @@ -46,8 +46,20 @@ class Gmap $AVE_Template->assign('gmap', $row_gs); $AVE_Template->assign('markers', json_encode($markers)); - $AVE_Template->assign('api_key', GOOGLE_MAP_API_KEY); - $AVE_Template->display($tpl_dir . 'map.tpl'); + $output = $AVE_Template->fetch($tpl_dir . 'map.tpl'); + $GLOBALS['user_header']['module_unicalendar_'] = ''; + // Создаем js файл для календаря с названием dataXXX.js - где XXX = Id карты + $fdir = "/modules/gmap/js/data-files/"; + mkdir(BASE_DIR . $fdir, 0777, true); + chmod(BASE_DIR . $fdir, 0777); + $df = fopen(BASE_DIR . "/modules/gmap/js/data-files/data".$gmap_id.".js", "w") + or die('You do not have write permission!');// ругаемся если нет прав на запись в директорию data-files ! + flock($df,2); + fwrite($df, $output); + flock($df,3); + fclose($df); + $GLOBALS['user_header']['module_unicalendar_' . $gmap_id] = ''; + echo '
'; } /** @@ -633,7 +645,13 @@ class Gmap $AVE_DB->Query("DELETE FROM " . PREFIX . "_module_gmap WHERE id = '" . $gmap_id . "'"); $AVE_DB->Query("DELETE FROM " . PREFIX . "_module_gmap_markers WHERE gmap_id = '" . $gmap_id . "'"); - + // Удаляем js файл с данными из директории /modules/gmap/js/data-files/ + $data_dir = "/modules/gmap/js/data-files"; + $filename = BASE_DIR .$data_dir."/data".$gmap_id.".js"; + if (file_exists($filename)) + { + unlink($filename); + } header('Location:index.php?do=modules&action=modedit&mod=gmap&moduleaction=1&cp=' . SESSION); exit; } diff --git a/gmap/js/data-files/index.php b/gmap/js/data-files/index.php new file mode 100644 index 0000000..4ca25aa --- /dev/null +++ b/gmap/js/data-files/index.php @@ -0,0 +1,4 @@ + \ No newline at end of file diff --git a/gmap/lang/en.txt b/gmap/lang/en.txt index fe0f188..097f63b 100644 --- a/gmap/lang/en.txt +++ b/gmap/lang/en.txt @@ -124,3 +124,4 @@ Gmap_mar_map_ret = "Закончить редактирование и верн Gmap_mar_map_retry = "Вернуться к созданию маркеров" Gmap_mar_editsave = "Сохранить изменения" Gmap_mar_key_street = "Это поле является ключом! Если оно заполнено - в маркере будет включен вывод строки, состоящей из полей: Город или населенный пункт, Улица, Строение-офис. Если это поле (Улица) незаполнено - перечисленные поля выводиться не будут!" +Gmap_write_permission = "У вас нет прав на запись!" diff --git a/gmap/lang/ru.txt b/gmap/lang/ru.txt index fe0f188..097f63b 100644 --- a/gmap/lang/ru.txt +++ b/gmap/lang/ru.txt @@ -124,3 +124,4 @@ Gmap_mar_map_ret = "Закончить редактирование и верн Gmap_mar_map_retry = "Вернуться к созданию маркеров" Gmap_mar_editsave = "Сохранить изменения" Gmap_mar_key_street = "Это поле является ключом! Если оно заполнено - в маркере будет включен вывод строки, состоящей из полей: Город или населенный пункт, Улица, Строение-офис. Если это поле (Улица) незаполнено - перечисленные поля выводиться не будут!" +Gmap_write_permission = "У вас нет прав на запись!" diff --git a/gmap/lang/ua.txt b/gmap/lang/ua.txt index fe0f188..097f63b 100644 --- a/gmap/lang/ua.txt +++ b/gmap/lang/ua.txt @@ -124,3 +124,4 @@ Gmap_mar_map_ret = "Закончить редактирование и верн Gmap_mar_map_retry = "Вернуться к созданию маркеров" Gmap_mar_editsave = "Сохранить изменения" Gmap_mar_key_street = "Это поле является ключом! Если оно заполнено - в маркере будет включен вывод строки, состоящей из полей: Город или населенный пункт, Улица, Строение-офис. Если это поле (Улица) незаполнено - перечисленные поля выводиться не будут!" +Gmap_write_permission = "У вас нет прав на запись!" diff --git a/gmap/module.php b/gmap/module.php index a594177..7c49011 100644 --- a/gmap/module.php +++ b/gmap/module.php @@ -14,7 +14,7 @@ if (defined('ACP')) { $modul['ModuleName'] = 'GMap'; $modul['ModuleSysName'] = 'gmap'; - $modul['ModuleVersion'] = '1.1.2b'; + $modul['ModuleVersion'] = '1.1.3b'; $modul['ModuleDescription'] = 'Gmap
Для того, чтобы осуществить просмотр карты, необходимо разместить системный тег [mod_gmap:XXX] в теле какого-либо документа'; $modul['ModuleAutor'] = 'OcPh | Project Manager Duncan | Upgrade module 2016-2017 Repellent'; $modul['ModuleCopyright'] = '© 2016-2017 AVE.cms Team'; diff --git a/gmap/templates/map.tpl b/gmap/templates/map.tpl index 5f01fe7..06da66e 100644 --- a/gmap/templates/map.tpl +++ b/gmap/templates/map.tpl @@ -1,257 +1,7 @@ -
- - - - +function loadMapsAPI(){ldelim}if(window.google&&google.maps)return;{rdelim}window.initMap=function(){ldelim}{rdelim} +loadMapsAPI();$(document).ready(function(){ldelim}loadMap{$gmap.id}();{rdelim});var defaultZoom{$gmap.id}={$gmap.gmap_zoom};var map{$gmap.id};var infowindow{$gmap.id};var markerList{$gmap.id}=[];function loadMap{$gmap.id}(){ldelim}console.log('loadMap');var defaultLatlng{$gmap.id}=new google.maps.LatLng({$gmap.latitude},{$gmap.longitude});var myOptions{$gmap.id}={ldelim}zoom:defaultZoom{$gmap.id},center:defaultLatlng{$gmap.id},mapTypeId:google.maps.MapTypeId.ROADMAP{rdelim};map{$gmap.id}=new google.maps.Map(document.getElementById("myMap{$gmap.id}"),myOptions{$gmap.id});infowindow{$gmap.id}=new google.maps.InfoWindow({ldelim}maxWidth:700{rdelim});loadMarkers{$gmap.id}();{rdelim} +function loadMarkers{$gmap.id}(){ldelim}var lmarkers{$gmap.id}={$markers};$.each(lmarkers{$gmap.id},function(i,item){ldelim}loadMarker{$gmap.id}(item);{rdelim});{rdelim} +function loadMarker{$gmap.id}(markerData){ldelim}var myLatlng=new google.maps.LatLng(markerData['latitude'],markerData['longitude']);var image='/modules/gmap/images/'+markerData['image']+'.png';if(markerData['img_title']!='/modules/gmap/img/no_image.png'){ldelim}var a_stimg="";{rdelim}else{ldelim}var a_stimg="";{rdelim};if(markerData['marker_cat_title']!=''){ldelim}if(markerData['marker_cat_link']=='/'||markerData['marker_cat_link']=='javascript:void(0);'){ldelim}var a_categ="
  • "+markerData['marker_cat_title']+"
  • ";{rdelim}else{ldelim}var a_categ="
  • "+markerData['marker_cat_title']+"
  • ";{rdelim}{rdelim}else{ldelim}var a_categ='';{rdelim};if(markerData['title']!=''){ldelim}if(markerData['title_link']=='/'||markerData['title_link']=='javascript:void(0);'){ldelim}var a_title="
  • "+markerData['title']+"
  • ";{rdelim}else{ldelim}var a_title="
  • "+markerData['title']+"
  • ";{rdelim}{rdelim}else{ldelim}var a_title='';{rdelim};if(markerData['marker_street']!=''){ldelim}var a_city="
  • "+markerData['marker_city']+", "+markerData['marker_street']+", "+markerData['marker_building']+"
  • ";{rdelim}else{ldelim}var a_city='';{rdelim};if(markerData['marker_dopfield']!=''){ldelim}var a_dopfield="
  • "+markerData['marker_dopfield']+"
  • ";{rdelim}else{ldelim}var a_dopfield='';{rdelim};if(markerData['marker_phone']!=''){ldelim}var a_phone="
  • "+markerData['marker_phone']+"
  • ";{rdelim}else{ldelim}var a_phone='';{rdelim};if(markerData['marker_www']!=''){ldelim}var a_placeholders=new Array('http://www.','https://www.','http://','https://');var a_www="
  • "+str_replace(a_placeholders,'www.',markerData['marker_www'])+"
  • ";{rdelim}else{ldelim} +var a_www='';{rdelim};var a_divs="
    ";var a_dive="
    ";var a_uls="