| 1 |
<?php |
| 2 |
/** |
| 3 |
* @package VikBooking |
| 4 |
* @subpackage com_vikbooking |
| 5 |
* @author Alessio Gaggii - e4j - Extensionsforjoomla.com |
| 6 |
* @copyright Copyright (C) 2018 e4j - Extensionsforjoomla.com. All rights reserved. |
| 7 |
* @license GNU General Public License version 2 or later; see LICENSE |
| 8 |
* @link https://vikwp.com |
| 9 |
*/ |
| 10 |
|
| 11 |
defined('ABSPATH') or die('No script kiddies please!'); |
| 12 |
|
| 13 |
$vbo_app = VikBooking::getVboApplication(); |
| 14 |
$geo = VikBooking::getGeocodingInstance()->loadAssets(); |
| 15 |
$geo_supported = $geo->isSupported(); |
| 16 |
$rooms_params = count($this->row) ? json_decode($this->row['params'], true) : array(); |
| 17 |
|
| 18 |
if ($geo_supported) { |
| 19 |
?> |
| 20 |
<div class="vbo-modal-overlay-block vbo-modal-overlay-block-geomap"> |
| 21 |
<a class="vbo-modal-overlay-close" href="javascript: void(0);"></a> |
| 22 |
<div class="vbo-modal-overlay-content vbo-modal-overlay-content-geomap"> |
| 23 |
<div class="vbo-modal-overlay-content-head vbo-modal-overlay-content-head-geomap"> |
| 24 |
<h3><span id="vbo-modal-geomap-title"><?php VikBookingIcons::e('map-marker-alt'); ?> <?php echo JText::translate('VBO_GEO_CUSTOMIZE_MARKER') ?></span> <span class="vbo-modal-overlay-close-times" onclick="hideVboModalGeoMap();">×</span></h3> |
| 25 |
</div> |
| 26 |
<div class="vbo-modal-overlay-content-body vbo-modal-overlay-content-body-scroll"> |
| 27 |
<div class="vbo-cust-geo-marker-wrapper" style="display: none;"> |
| 28 |
<div class="vbo-cust-geo-marker-top"> |
| 29 |
<label for="vbo-geo-marker-icntype"><?php echo JText::translate('VBO_MARKER_ICN_TYPE'); ?></label> |
| 30 |
<select id="vbo-geo-marker-icntype" onchange="vboCustomizeMarkerChangeIconType(this.value);"> |
| 31 |
<option value="google"><?php echo JText::translate('VBO_MARKER_ICN_TYPE_GMAPS'); ?></option> |
| 32 |
<option value="symbol"><?php echo JText::translate('VBO_MARKER_ICN_TYPE_SVG'); ?></option> |
| 33 |
<option value="icon"><?php echo JText::translate('VBO_MARKER_ICN_TYPE_IMG'); ?></option> |
| 34 |
</select> |
| 35 |
</div> |
| 36 |
<div class="vbo-cust-geo-marker-bottom" style="display: none;" data-geomarker="symbol"> |
| 37 |
<div class="vbo-cust-geo-marker-svg-list"> |
| 38 |
<?php |
| 39 |
$symbols = $geo->getMarkerSymbols(); |
| 40 |
foreach ($symbols as $symbol) { |
| 41 |
$data_attr = array( |
| 42 |
'data-markerapply="0"', |
| 43 |
'data-markerid="' . $symbol->id . '"', |
| 44 |
'data-markergroup="' . (isset($symbol->group) ? $symbol->group : '') . '"', |
| 45 |
'data-markerpointx="' . (isset($symbol->width) ? ($symbol->width / 2) : '') . '"', |
| 46 |
'data-markerpointy="' . (isset($symbol->height) ? ($symbol->height / 2) : '') . '"', |
| 47 |
); |
| 48 |
?> |
| 49 |
<div class="vbo-cust-geo-marker-svg" <?php echo implode(' ', $data_attr); ?> onclick="vboCustomizeMarkerSelectSymbol(this);"> |
| 50 |
<div class="vbo-cust-geo-marker-svg-name"> |
| 51 |
<span><?php echo $symbol->name; ?></span> |
| 52 |
</div> |
| 53 |
<div class="vbo-cust-geo-marker-svg-icon"> |
| 54 |
<svg style="<?php echo !empty($symbol->fill) ? ('fill: ' . $symbol->fill . ';') : ''; echo !empty($symbol->opacity) ? ('opacity: ' . $symbol->opacity . ';') : ''; ?>"> |
| 55 |
<path d="<?php echo $symbol->path; ?>" /> |
| 56 |
</svg> |
| 57 |
</div> |
| 58 |
<div class="vbo-cust-geo-marker-svg-remove"> |
| 59 |
<span onclick="vboCustomizeMarkerDeleteSymbol(this);"><?php VikBookingIcons::e('trash'); ?></span> |
| 60 |
</div> |
| 61 |
</div> |
| 62 |
<?php |
| 63 |
} |
| 64 |
?> |
| 65 |
<div class="vbo-cust-geo-marker-svg vbo-cust-geo-marker-svg-addnew" data-markerapply="0" data-markerid="" onclick="vboCustomizeMarkerSelectSymbol(this);"> |
| 66 |
<div class="vbo-cust-geo-marker-svg-name"> |
| 67 |
<span><?php echo JText::translate('VBO_ADD_NEW'); ?></span> |
| 68 |
</div> |
| 69 |
<div class="vbo-cust-geo-marker-svg-icon"> |
| 70 |
<span><?php VikBookingIcons::e('plus-circle'); ?></span> |
| 71 |
</div> |
| 72 |
</div> |
| 73 |
</div> |
| 74 |
<div class="vbo-cust-geo-marker-svg-adjust" style="display: none;"> |
| 75 |
<div class="vbo-geo-marker-param-container vbo-cust-geo-marker-svg-newfield" style="display: none;"> |
| 76 |
<div class="vbo-geo-marker-param-label"><?php echo JText::translate('VBO_NEW_SVG_ICN_NAME'); ?></div> |
| 77 |
<div class="vbo-geo-marker-param-setting"> |
| 78 |
<input type="text" id="vbo-newsvg-name" value="" /> |
| 79 |
</div> |
| 80 |
</div> |
| 81 |
<div class="vbo-geo-marker-param-container vbo-cust-geo-marker-svg-newfield" style="display: none;"> |
| 82 |
<div class="vbo-geo-marker-param-label"> |
| 83 |
<?php |
| 84 |
echo $vbo_app->createPopover(array('title' => JText::translate('VBO_SVG_PATH'), 'content' => JText::translate('VBO_SVG_PATH_HELP'))); |
| 85 |
echo ' ' . JText::translate('VBO_SVG_PATH'); |
| 86 |
?> |
| 87 |
</div> |
| 88 |
<div class="vbo-geo-marker-param-setting"> |
| 89 |
<textarea id="vbo-newsvg-path" onkeyup="vboCustomizeMarkerSanitizeCustomSymbol();"></textarea> |
| 90 |
</div> |
| 91 |
</div> |
| 92 |
<div class="vbo-geo-marker-param-container vbo-cust-geo-marker-svg-newfield" style="display: none;"> |
| 93 |
<div class="vbo-geo-marker-param-setting"> |
| 94 |
<button type="button" class="btn vbo-config-btn" onclick="vboCustomizeMarkerAddCustomSymbol();"><?php VikBookingIcons::e('plus-circle'); ?> <?php echo JText::translate('VBCONFIGCLOSINGDATEADD'); ?></button> |
| 95 |
<button type="button" class="btn btn-secondary" onclick="vboCustomizeMarkerCancelCustomSymbol();"><?php VikBookingIcons::e('times-circle'); ?> <?php echo JText::translate('VBANNULLA'); ?></button> |
| 96 |
</div> |
| 97 |
</div> |
| 98 |
<div class="vbo-geo-marker-param-container"> |
| 99 |
<div class="vbo-geo-marker-param-label"><?php echo JText::translate('VBO_FILL_COLOR'); ?></div> |
| 100 |
<div class="vbo-geo-marker-param-setting"> |
| 101 |
<span class="vbo-inspector-colorpicker-wrap"> |
| 102 |
<span class="vbo-inspector-colorpicker"><?php VikBookingIcons::e('palette'); ?></span> |
| 103 |
</span> |
| 104 |
<input type="hidden" id="vbo-geo-marker-fillcolor" value="" /> |
| 105 |
</div> |
| 106 |
</div> |
| 107 |
<div class="vbo-geo-marker-param-container"> |
| 108 |
<div class="vbo-geo-marker-param-label"><?php echo JText::translate('VBO_OPACITY'); ?></div> |
| 109 |
<div class="vbo-geo-marker-param-setting"> |
| 110 |
<input type="number" id="vbo-geo-marker-opacity" value="" min="0.1" max="1" step="0.1" /> |
| 111 |
</div> |
| 112 |
</div> |
| 113 |
</div> |
| 114 |
</div> |
| 115 |
<div class="vbo-cust-geo-marker-bottom" style="display: none;" data-geomarker="icon"> |
| 116 |
<div class="vbo-geo-marker-param-container"> |
| 117 |
<div class="vbo-geo-marker-param-label"><?php echo JText::translate('VBPVIEWOPTIONALSSEVEN'); ?></div> |
| 118 |
<div class="vbo-geo-marker-param-setting"> |
| 119 |
<?php echo $vbo_app->getMediaField('marker_icon_img', null); ?> |
| 120 |
</div> |
| 121 |
</div> |
| 122 |
<div class="vbo-geo-marker-param-container"> |
| 123 |
<div class="vbo-geo-marker-param-label"><?php echo JText::translate('VBO_WIDTH'); ?></div> |
| 124 |
<div class="vbo-geo-marker-param-setting"> |
| 125 |
<input type="number" id="vbo-geo-marker-icon-width" value="" min="0" step="1" /> px |
| 126 |
</div> |
| 127 |
</div> |
| 128 |
<div class="vbo-geo-marker-param-container"> |
| 129 |
<div class="vbo-geo-marker-param-label"><?php echo JText::translate('VBO_HEIGHT'); ?></div> |
| 130 |
<div class="vbo-geo-marker-param-setting"> |
| 131 |
<input type="number" id="vbo-geo-marker-icon-height" value="" min="0" step="1" /> px |
| 132 |
</div> |
| 133 |
</div> |
| 134 |
</div> |
| 135 |
<div class="vbo-cust-geo-marker-save"> |
| 136 |
<button type="button" class="btn btn-success" onclick="vboCustomizeMarkerApply();"><?php VikBookingIcons::e('check'); ?> <?php echo JText::translate('VBAPPLY'); ?></button> |
| 137 |
</div> |
| 138 |
</div> |
| 139 |
<div class="vbo-cust-geo-overlay-wrapper" style="display: none;"> |
| 140 |
<div class="vbo-cust-geo-overlay-inner"> |
| 141 |
<div class="vbo-geo-marker-param-container"> |
| 142 |
<div class="vbo-geo-marker-param-label"><?php echo JText::translate('VBPVIEWOPTIONALSSEVEN'); ?></div> |
| 143 |
<div class="vbo-geo-marker-param-setting"> |
| 144 |
<?php |
| 145 |
$set_overlay_img = $geo->getRoomGeoParams($rooms_params, 'overlay_img'); |
| 146 |
if (!empty($set_overlay_img)) { |
| 147 |
$set_overlay_img = str_replace(JUri::root(), '', $set_overlay_img); |
| 148 |
} |
| 149 |
echo $vbo_app->getMediaField('map_overlay_img', $set_overlay_img); |
| 150 |
?> |
| 151 |
</div> |
| 152 |
</div> |
| 153 |
<div class="vbo-geo-marker-param-container"> |
| 154 |
<div class="vbo-geo-marker-param-setting"> |
| 155 |
<p class="info notice-noicon"><?php echo JText::translate('VBO_GEO_MAP_GOVERLAY_COORDS_HELP'); ?></p> |
| 156 |
<button type="button" id="vbo-overlay-copy-bounds" class="btn vbo-config-btn" onclick="vboOverlayCopyBounds();" style="display: none;"><?php echo VikBookingIcons::e('crop-alt'); ?> <?php echo JText::translate('VBO_GEO_MAP_COPYBOUNDS'); ?></button> |
| 157 |
</div> |
| 158 |
</div> |
| 159 |
<div class="vbo-geo-marker-params-group"> |
| 160 |
<div class="vbo-geo-marker-param-container"> |
| 161 |
<div class="vbo-geo-marker-param-label"><?php echo JText::translate('VBO_COORD_SOUTH'); ?></div> |
| 162 |
<div class="vbo-geo-marker-param-setting"> |
| 163 |
<input type="number" id="vbo-geo-map-overlay-south" class="vbo-large-input-number" value="<?php echo $geo->getRoomGeoParams($rooms_params, 'overlay_south', ''); ?>" min="-90" max="90" step="any" /> |
| 164 |
</div> |
| 165 |
</div> |
| 166 |
<div class="vbo-geo-marker-param-container"> |
| 167 |
<div class="vbo-geo-marker-param-label"><?php echo JText::translate('VBO_COORD_WEST'); ?></div> |
| 168 |
<div class="vbo-geo-marker-param-setting"> |
| 169 |
<input type="number" id="vbo-geo-map-overlay-west" class="vbo-large-input-number" value="<?php echo $geo->getRoomGeoParams($rooms_params, 'overlay_west', ''); ?>" min="-180" max="180" step="any" /> |
| 170 |
</div> |
| 171 |
</div> |
| 172 |
<div class="vbo-geo-marker-param-container"> |
| 173 |
<div class="vbo-geo-marker-param-label"><?php echo JText::translate('VBO_COORD_NORTH'); ?></div> |
| 174 |
<div class="vbo-geo-marker-param-setting"> |
| 175 |
<input type="number" id="vbo-geo-map-overlay-north" class="vbo-large-input-number" value="<?php echo $geo->getRoomGeoParams($rooms_params, 'overlay_north', ''); ?>" min="-90" max="90" step="any" /> |
| 176 |
</div> |
| 177 |
</div> |
| 178 |
<div class="vbo-geo-marker-param-container"> |
| 179 |
<div class="vbo-geo-marker-param-label"><?php echo JText::translate('VBO_COORD_EAST'); ?></div> |
| 180 |
<div class="vbo-geo-marker-param-setting"> |
| 181 |
<input type="number" id="vbo-geo-map-overlay-east" class="vbo-large-input-number" value="<?php echo $geo->getRoomGeoParams($rooms_params, 'overlay_east', ''); ?>" min="-180" max="180" step="any" /> |
| 182 |
</div> |
| 183 |
</div> |
| 184 |
</div> |
| 185 |
</div> |
| 186 |
<div class="vbo-cust-geo-marker-save"> |
| 187 |
<button type="button" class="btn btn-success" onclick="vboGroundOverlayApply();"><?php VikBookingIcons::e('check'); ?> <?php echo JText::translate('VBAPPLY'); ?></button> |
| 188 |
</div> |
| 189 |
</div> |
| 190 |
</div> |
| 191 |
</div> |
| 192 |
</div> |
| 193 |
<?php |
| 194 |
} |
| 195 |
|