File manager - Edit - /home/verseaumee/zenit/components/com_sppagebuilder/addons/openstreetmap/site.php
Back
<?php /** * @package SP Page Builder * @author JoomShaper http://www.joomshaper.com * @copyright Copyright (c) 2010 - 2021 JoomShaper * @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 or later */ //no direct accees defined ('_JEXEC') or die ('Restricted access'); class SppagebuilderAddonOpenstreetmap extends SppagebuilderAddons { public function render() { $settings = $this->addon->settings; $class = (isset($settings->class) && $settings->class) ? $settings->class : ''; //Options $map_style = (isset($settings->map_style) && $settings->map_style) ? $settings->map_style : 'Wikimedia'; $zoom = (isset($settings->zoom) && $settings->zoom) ? $settings->zoom : 0; $mousescroll = (isset($settings->mousescroll) && $settings->mousescroll) ? $settings->mousescroll : 0; $dragging = (isset($settings->dragging) && $settings->dragging) ? $settings->dragging : 0; $zoomcontrol = (isset($settings->zoomcontrol) && $settings->zoomcontrol) ? $settings->zoomcontrol : 0; $attribution = (isset($settings->attribution) && $settings->attribution) ? $settings->attribution : 0; $total_location = []; if((array) $settings->multi_location_items){ foreach($settings->multi_location_items as $key => $item){ $lat_long = explode(',', $item->location_item); $address_text = str_replace("'", "'", $item->location_popup_text); $custom_icon = (isset($item->custom_icon) && $item->custom_icon) ? $item->custom_icon : ''; $custom_icon_src = isset($custom_icon->src) ? $custom_icon->src : $custom_icon; if($custom_icon_src){ if(strpos($custom_icon_src, "http://") !== false || strpos($custom_icon_src, "https://") !== false){ $custom_icon = $custom_icon_src; } else { $custom_icon = JURI::base(true) . '/' . $custom_icon_src; } } $total_location[] = array( 'address'=>$address_text, 'latitude'=>$lat_long[0], 'longitude'=>$lat_long[1], 'custom_icon'=>$custom_icon ); } } $location_json = json_encode($total_location); $output = ''; if($location_json){ $output .= '<div class="sppb-addon-openstreetmap-wrapper">'; $output .= '<div class="sppb-addon-content">'; $output .= '<div id="sppb-addon-osm-' . $this->addon->id .'" class="sppb-addon-openstreetmap '.$class.'" data-location=\''.$location_json.'\' data-mapstyle="' . $map_style . '" data-mapzoom="'. $zoom .'" data-mousescroll="'. $mousescroll .'" data-dragging="'. $dragging .'" data-zoomcontrol="'. $zoomcontrol .'" data-attribution="'. $attribution .'"></div>'; $output .= '</div>'; $output .= '</div>'; } return $output; } public function scripts() { return array( JURI::base(true) . '/components/com_sppagebuilder/assets/js/leaflet.js', JURI::base(true) . '/components/com_sppagebuilder/assets/js/leaflet.provider.js', ); } public function stylesheets() { return array(JURI::base(true) . '/components/com_sppagebuilder/assets/css/leaflet.css'); } public function css() { $addon_id = '#sppb-addon-' . $this->addon->id; $settings = $this->addon->settings; $height = (isset($settings->height) && $settings->height) ? $settings->height : 0; $height_sm = (isset($settings->height_sm) && $settings->height_sm) ? $settings->height_sm : 0; $height_xs = (isset($settings->height_xs) && $settings->height_xs) ? $settings->height_xs : 0; $css = ''; if($height) { $css .= $addon_id . ' .sppb-addon-openstreetmap {'; $css .= 'height:' . (int) $height . 'px;'; $css .= '}'; } if ($height_sm) { $css .= '@media (min-width: 768px) and (max-width: 991px) {'; $css .= $addon_id . ' .sppb-addon-openstreetmap {'; $css .= 'height:' . (int) $height_sm . 'px;'; $css .= '}'; $css .= '}'; } if ($height_xs) { $css .= '@media (max-width: 767px) {'; $css .= $addon_id . ' .sppb-addon-openstreetmap {'; $css .= 'height:' . (int) $height_xs . 'px;'; $css .= '}'; $css .= '}'; } return $css; } public static function getTemplate() { $output = ' <# let location_addr = []; if(_.isObject(data.multi_location_items) && data.multi_location_items){ _.each(data.multi_location_items, function(item){ let latLong = _.split(item.location_item, ","); var custom_icon = {} if (typeof item.custom_icon !== "undefined" && typeof item.custom_icon.src !== "undefined") { custom_icon = item.custom_icon } else { custom_icon = {src: item.custom_icon} } if(custom_icon.src){ if(custom_icon.src?.indexOf("http://") == 0 || custom_icon.src?.indexOf("https://") == 0){ custom_icon = custom_icon.src; } else { custom_icon = pagebuilder_base + "/" + custom_icon.src; } } let mainObj = [{ address: item.location_popup_text, latitude: latLong[0], longitude: latLong[1], custom_icon: custom_icon }]; location_addr = _.concat(location_addr, mainObj); }) } let location_json = JSON.stringify(location_addr); #> <style type="text/css"> #sppb-addon-{{ data.id }} .sppb-addon-openstreetmap { <# if(_.isObject(data.height)){ #> height: {{ data.height.md }}px; <# } else { #> height: {{ data.height }}px; <# } #> } @media (min-width: 768px) and (max-width: 991px) { #sppb-addon-{{ data.id }} .sppb-addon-openstreetmap { <# if(_.isObject(data.height)){ #> height: {{ data.height.sm }}px; <# } #> } } @media (max-width: 767px) { #sppb-addon-{{ data.id }} .sppb-addon-openstreetmap { <# if(_.isObject(data.height)){ #> height: {{ data.height.xs }}px; <# } #> } } </style> <div class="sppb-addon-openstreetmap-wrapper edit-view"> <div class="sppb-addon-content"> <div id="sppb-addon-osm-{{ data.id }}" class="sppb-addon-openstreetmap {{data.class}}" data-location=\'{{location_json}}\' data-mapstyle="{{data.map_style}}" data-mapzoom="{{data.zoom}}" data-mousescroll="{{data.mousescroll}}" data-dragging="{{data.dragging}}" data-zoomcontrol="{{data.zoomcontrol}}" data-attribution="{{data.attribution}}"></div> </div> </div> '; return $output; } }
| ver. 1.4 |
Github
|
.
| PHP 8.5.7 | Generation time: 0 |
proxy
|
phpinfo
|
Settings