From 7bed0cb0fca356a3f2fb03357c0f32cb528b7090 Mon Sep 17 00:00:00 2001 From: Ilyas Ronef Date: Wed, 2 Oct 2013 09:44:43 +0600 Subject: [PATCH 1/4] * Multiple calls of the snippet in the same document are available now (inline script is included without explicit version pass). --- ddYMap.php | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/ddYMap.php b/ddYMap.php index f4de23e..f4f0060 100644 --- a/ddYMap.php +++ b/ddYMap.php @@ -3,20 +3,20 @@ * ddYMap.php * @version 1.1 (2013-07-16) * - * @desc Выводит Яндекс.Карту на страницу. + * @desc A snippet that allows Yandex.Maps to be rendered on a page in a simple way. * - * @uses Сниппет ddGetDocumentField 2.4 (если координаты нужно получать, см. $getField). + * @uses The snippet ddGetDocumentField 2.4 (if position getting from another field is required, see $geoPos). * - * @note Внимание! На странице уже должен быть подключен jQuery. - * @note Из пары параметров coords / getField необходимо передавать лишь один. + * @note Attention! The jQuery library should be included on the page. + * @note From the pair of field/getField parameters one is required. * - * @param $geoPos {comma separated string} - Координаты на карте (Долгота и Широта, перечисленные через запятую). По умолчанию: ''. - * @param $getField {string} - Имя поля документа, содержащего координаты, значение которого необходимо получить. - * @param $getId {integer} - ID документа, значение поля которого нужно получить. По умолчанию: текущий документ. - * @param $mapElementId {string} - ID контейнера, где будет находиться Яндекс.Карта. По умолчанию: 'map'. - * @param $icon {string} - Изображение иконки для метки на карте. По умолчанию: без иконки (используется стандартная). - * @param $iconOffset {comma separated string} - Смещение иконки в пикселях относительно базового положения, задается в виде пары чисел, разделенных запятой (x, y). Базовое положение: иконка располагается горизонтально по центру точки ($geoPos), вертикально — над точкой. - * @param $scrollZoom {0; 1} - Разрешёно ли изменение масштаба карты колесом мыши? По умолчанию: 0. + * @param $geoPos {comma separated string} - Comma separated longitude and latitude. @required + * @param $getField {string} - A field name with position that is required to be got. + * @param $getId {integer} - Document ID with a field value needed to be received. Default: current document. + * @param $mapElementId {string} - Container ID which the map is required to be embed in. Default: 'map'. + * @param $icon {string} - An icon to use (relative address). Default: without (default icon). + * @param $iconOffset {comma separated string} - An offset of the icon in pixels (x, y).Basic position: the icon is horizontally centered with respect to x and its bottom position is y. Default: '0,0'. + * @param $scrollZoom {0; 1} - Allow zoom while scrolling. Default: 0. * * @link http://code.divandesign.biz/modx/ddymap/1.1 * @@ -76,6 +76,6 @@ $inlineScript .= '});});'; //Подключаем инлайн-скрипт с инициализацией - $modx->regClientStartupScript('', array('name' => '$.ddYMap.inline', 'version' => '1.0', 'plaintext' => true)); + $modx->regClientStartupScript('', array('plaintext' => true)); } ?> \ No newline at end of file From 67112722deba08840b185b88291b5674247b533d Mon Sep 17 00:00:00 2001 From: Ilyas Ronef Date: Wed, 2 Oct 2013 10:18:13 +0600 Subject: [PATCH 2/4] * The dollar sign isn't used as a global variable to avoid conflicts with other js-libraries in inline script. --- ddYMap.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ddYMap.php b/ddYMap.php index f4f0060..86884c6 100644 --- a/ddYMap.php +++ b/ddYMap.php @@ -42,7 +42,7 @@ $modx->regClientStartupScript('assets/js/jquery.ddYMap-1.0.min.js', array('name' => '$.ddYMap', 'version' => '1.0')); //Инлайн-скрипт инициализации - $inlineScript = '$(function(){$.ddYMap.init({elementId: "'.$mapElementId.'", latLng: new Array('.$geoPos.')'; + $inlineScript = '(function($){$(function(){$.ddYMap.init({elementId: "'.$mapElementId.'", latLng: new Array('.$geoPos.')'; //Если иконка задана if (!empty($icon)){ @@ -73,7 +73,7 @@ //Если нужен скролл колесом мыши, упомянем об этом if (isset($scrollZoom) && $scrollZoom == 1){$inlineScript .= ', scrollZoom: true';} - $inlineScript .= '});});'; + $inlineScript .= '});});})(jQuery);'; //Подключаем инлайн-скрипт с инициализацией $modx->regClientStartupScript('', array('plaintext' => true)); From e9e37154ec49dc40064d998acc38e821eb1d42a5 Mon Sep 17 00:00:00 2001 From: Ilyas Ronef Date: Wed, 2 Oct 2013 10:28:27 +0600 Subject: [PATCH 3/4] * An URL can be passed as a value for $icon parameter. --- ddYMap.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/ddYMap.php b/ddYMap.php index 86884c6..c98d43f 100644 --- a/ddYMap.php +++ b/ddYMap.php @@ -49,7 +49,10 @@ //путь иконки на сервере $icon = ltrim($icon, '/'); - if (file_exists($icon)){ + //Пытаемся открыть файл + $iconHandle = @fopen($icon, 'r'); + + if ($iconHandle){ //Получим её размеры $iconSize = getimagesize($icon); @@ -67,6 +70,8 @@ iconImageSize: ['.$iconSize[0].', '.$iconSize[1].'], iconImageOffset: ['.$resultIconOffset[0].', '.$resultIconOffset[1].'] }'; + + fclose($iconHandle); } } From c203a4dcff83846b0229eafa1de144e93ba8229f Mon Sep 17 00:00:00 2001 From: Ilyas Ronef Date: Wed, 2 Oct 2013 10:32:22 +0600 Subject: [PATCH 4/4] Prerelease 1.1.1 --- ddYMap.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ddYMap.php b/ddYMap.php index c98d43f..5ea61bc 100644 --- a/ddYMap.php +++ b/ddYMap.php @@ -1,7 +1,7 @@