Current File : /home/pacjaorg/public_html/kmm/plugins/djclassifieds/leaflet/layouts/item.php |
<?php
/**
* @package DJ-Classifieds
* @copyright Copyright (C) DJ-Extensions.com, All rights reserved.
* @license http://www.gnu.org/licenses GNU/GPL
* @author url: http://dj-extensions.com
* @author email contact@dj-extensions.com
*/
defined('_JEXEC') or die;
$view_type = $displayData['view_type'];
$item = $displayData['item'];
$icon_img = $displayData['icon_img'];
$icon_size = $displayData['icon_size'];
$tile_data = $displayData['tile_data'];
$par = $displayData['par'];
$params = $displayData['params'];
$app = JFactory::getApplication();
echo '<div id="djmap" style="width:100%;'.($app->isClient('administrator') ? 'height:300px;' : 'height:210px;').'display:none;"></div>';
if($par->get('gm_img_on_start', 0) && !$app->isClient('administrator')){
echo '<div id="show_map_outer" class="show_map_outer"><img src="'.DJClassifiedsTheme::getImgAssetPath('map_blank.png').'" alt="" /><button type="button" id="show_map_btn" class="button">'.JText::_('COM_DJCLASSIFIEDS_SHOW_MAP').'</button></div>';
}
if($view_type != 'profile'){
if($par->get('show_lat_lng', 0) && !$app->isClient('administrator') && floatval($item->latitude) && floatval($item->longitude)){
echo '<div class="geo_coordinates">'.JText::_('COM_DJCLASSIFIEDS_GEOGRAPHIC_COORDINATES').': <span>('.rtrim($item->latitude,'0').', '.rtrim($item->longitude,'0').')</span></div>';
}
if($par->get('show_lat_lng', 0) && !$app->isClient('administrator')){
echo '<div class="map_info">'.JText::_('COM_DJCLASSIFIEDS_MAP_ACCURACY').'</div>';
}
if($par->get('show_gm_driving', 0) && !$app->isClient('administrator')){
echo '<form action="'.JRoute::_('index.php').'" method="post" class="gm_drive_dir" target="_blank">
<label>'.JText::_('COM_DJCLASSIFIEDS_DRIVE_DIRECTIONS').'</label>
<input type="hidden" name="option" value="com_ajax">
<input type="hidden" name="group" value="djclassifieds">
<input type="hidden" name="plugin" value="leafletDriveDirections">
<input type="hidden" name="format" value="raw">
<input type="hidden" name="lat" value="'.$item->latitude.'">
<input type="hidden" name="lng" value="'.$item->longitude.'">
<input type="text" class="inputbox" name="saddr" placeholder="'.JText::_('COM_DJCLASSIFIEDS_ENTER_ADDRESS').'">
<input class="button" type="submit" value="'.JText::_('COM_DJCLASSIFIEDS_DIRECTIONS_SEARCH').'">
</form>';
if(isset($_COOKIE["djcf_latlon"])){
$lat_lng = str_ireplace('_', ',', $_COOKIE["djcf_latlon"]);
echo '<a class="gm_drive_dir_l" target="_blank" href="https://www.openstreetmap.org/directions?route='.$lat_lng.';'.$item->latitude.','.$item->longitude.'">'.JText::_('COM_DJCLASSIFIEDS_OR_USE_LOCALIZATION').'<span></span></a>';
}else{
echo '<span class="gm_drive_dir_l"><button class="button" onclick="getDJDriveLocation()">'.JText::_('COM_DJCLASSIFIEDS_OR_USE_LOCALIZATION').'</button><span></span></span>';
echo '<script>
function getDJDriveLocation()
{
if(navigator.geolocation){
navigator.geolocation.getCurrentPosition(showDJDrivePosition);
}else{
console.error("'.JText::_('COM_DJCLASSIFIEDS_GEOLOCATION_IS_NOT_SUPPORTED_BY_THIS_BROWSER').'");
}
}
function showDJDrivePosition(position)
{
setDJLocationCookie(position);
window.open("https://www.openstreetmap.org/directions?route="+position.coords.latitude+","+position.coords.longitude+";'.$item->latitude.','.$item->longitude.'");
}
</script>';
}
}
}
echo '<script>
var djmap;
var djmarker;
jQuery(document).ready(function(){
if(jQuery("#show_map_btn").length){
jQuery("#show_map_btn").click(function(){
jQuery("#show_map_outer").empty();
mapInit();
});
}else{
mapInit();
}
function mapInit(){
var lat = "'.$item->latitude.'";
var lng = "'.$item->longitude.'";
var zoom = "'.$par->get('gm_zoom','10').'";
var scrollWheelZoom = "'.($par->get('gm_scrollwheel','1') ? true : false).'";
var myIcon = L.icon({
iconUrl: "'.$icon_img.'",
iconSize: ['.$icon_size[0].', '.$icon_size[1].'],
iconAnchor: '.($icon_img ? '['.($icon_size[0]/2).', '.$icon_size[1].']' : 'null').'
});
var mapOptions = {
center: new L.LatLng(lat, lng),
scrollWheelZoom: scrollWheelZoom,
//layers: new L.TileLayer("https://a.tiles.mapbox.com/v3/mapbox.world-bright/{z}/{x}/{y}.png"),
zoom: zoom
};
djmap = new L.Map("djmap", mapOptions);
L.tileLayer("'.$tile_data[0].'", '.json_encode($tile_data[1]).').addTo(djmap);
djmap.attributionControl.setPrefix("'.addslashes($tile_data[2]).'");
var opts = {};
'.($icon_img ? 'opts.icon = myIcon;' : '').'
'.($app->isClient('administrator') ? 'opts.draggable = true;opts.autoPan = true;' : '').'
djmarker = new L.Marker([lat, lng], opts);
djmarker.bindPopup("<div style=\"width:200px\"><b>'.addslashes(($item->name ? $item->name : '')).'</b>'.($item->intro_desc ? '<br>'.addslashes(str_replace(array("\n","\r","\r\n"), '',$item->intro_desc)) : '').'</div>"'.($icon_img ? ', {offset: L.point(0, -'.($icon_size[1]/2).')}' : '').');
'.($app->isClient('administrator') ? '
djmarker.on("moveend",function(e){
my_lat = e.target._latlng.lat;
my_lng = e.target._latlng.lng;
jQuery("#jform_latitude").val(my_lat);
jQuery("#jform_longitude").val(my_lng);
});
jQuery("#jform_latitude").change(function(){
my_lat = jQuery(this).val();
coord = new L.LatLng(my_lat, my_lng);
djmarker.setLatLng(coord);
djmap.panTo(coord);
});
jQuery("#jform_longitude").change(function(){
my_lng = jQuery(this).val();
coord = new L.LatLng(my_lat, my_lng);
djmarker.setLatLng(coord);
djmap.panTo(coord);
});
' : '').'
djmap.addLayer(djmarker);
jQuery("a[href=\"#location\"]").on("shown",function(e){
djmap.invalidateSize();
});
jQuery("button[aria-controls=\"location\"]").on("click",function(e){
djmap.invalidateSize();
});
jQuery("#djmap").show();
djmap.invalidateSize();
}
});
</script>';