Current File : /home/pacjaorg/public_html/kmm/plugins/djclassifieds/leaflet/layouts/form.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;

$lat = $displayData['lat'];
$lng = $displayData['lng'];
$isnew = $displayData['isnew'];
$tile_data = $displayData['tile_data'];
$par = $displayData['par'];
$params = $displayData['params'];

?>

<script>
    var djmap;
    var djmarker;
    var my_lat;
    var my_lng;

    jQuery(document).ready(function(){
        my_lat = "<?php echo $lat; ?>";
        my_lng = "<?php echo $lng; ?>";
        var start_lat = my_lat;
        var start_lng = my_lng;
        var zoom = "<?php echo $par->get('gm_zoom','10'); ?>";
        var scrollWheelZoom = "<?php echo $par->get('gm_scrollwheel','1') ? true : false; ?>";

        var mapOptions = {
            center: new L.LatLng(my_lat, my_lng),
            scrollWheelZoom: scrollWheelZoom,
            zoom: zoom
        };

        djmap = new L.Map("djmap", mapOptions);
        L.tileLayer("<?php echo $tile_data[0]; ?>", <?php echo json_encode($tile_data[1]); ?>).addTo(djmap);
        djmap.attributionControl.setPrefix("<?php echo addslashes($tile_data[2]); ?>");

        djmarker = new L.Marker([my_lat, my_lng], {draggable: true, autoPan: true});
        djmarker.on("moveend",function(e){
            my_lat = e.target._latlng.lat;
            my_lng = e.target._latlng.lng;
            jQuery("#latitude").val(my_lat);
            jQuery("#longitude").val(my_lng);
        });
        djmap.addLayer(djmarker);

        jQuery("#latitude").change(function(){
            my_lat = jQuery(this).val();
            var coord = new L.LatLng(my_lat, my_lng);
            djmarker.setLatLng(coord);
            djmap.panTo(coord);
        });
        jQuery("#longitude").change(function(){
            my_lng = jQuery(this).val();
            var coord = new L.LatLng(my_lat, my_lng);
            djmarker.setLatLng(coord);
            djmap.panTo(coord);
        });

        jQuery("#map_use_my_location").click(function(){
            if(navigator.geolocation){
                navigator.geolocation.getCurrentPosition(showDJPosition);
            }else{
                console.error("<?php echo JText::_('COM_DJCLASSIFIEDS_GEOLOCATION_IS_NOT_SUPPORTED_BY_THIS_BROWSER'); ?>");
            }
        });

        function showDJPosition(position)
        {
            setDJLocationCookie(position);
            
            my_lat = position.coords.latitude;
            my_lng = position.coords.longitude;				
            jQuery("#latitude").val(my_lat);
            jQuery("#longitude").val(my_lng);
            var coord = new L.LatLng(my_lat, my_lng);
            djmarker.setLatLng(coord);
            djmap.panTo(coord);

            jQuery.ajax({
                url: '<?php echo JRoute::_('index.php'); ?>',
                type: "post",
                dataType: "json",
                data: {
                    "option": "com_ajax",
                    "group": "djclassifieds",
                    "plugin": "leafletGetLocationReverse",
                    "format": "json",
                    "lat": my_lat,
                    "lng": my_lng
                }
            }).done(function (response, textStatus, jqXHR){
                if(textStatus == "success" && response){
                    if(response.display_name && jQuery("#address").length && !jQuery("#address").val()){
                        jQuery("#address").val(response.display_name);
                    }
                    if(response.address && response.address.postcode && jQuery("#post_code").length && !jQuery("#post_code").val()){
                        jQuery("#post_code").val(response.address.postcode);
                    }
                }
            });
        }

        jQuery("#map_update_latlng").click(function(){
            updateLatLngFromAddress();
        });

        <?php if($isnew){ ?>
            jQuery(document).on("change", "#address, [name=\'regions[]\']", function(){
                updateLatLngFromAddress();
            });
        <?php } ?>

        function updateLatLngFromAddress()
        {
            var address_arr = [];
            jQuery("[name=\"regions[]\"]").each(function(){
                if(jQuery(this).val() && parseInt(jQuery(this).val())){
                    var $reg = jQuery(this).find("option:selected");
                    if($reg.attr("data-geoloc") != "0"){
                        address_arr.push($reg.text());
                    }
                }
            });
            if(jQuery("#address").val()){
                address_arr.push(jQuery("#address").val());
            }

            var address = address_arr.join(", ");
            var postcode = jQuery("#post_code").length ? jQuery("#post_code").val() : "";

            if(!address && !postcode){
                if(jQuery('#reg_0').val() == '' || jQuery('#reg_0').val() == '0'){
                    my_lat = '';
                    my_lng = '';
                    jQuery("#latitude").val(my_lat);
                    jQuery("#longitude").val(my_lng);
                    var coord = new L.LatLng(start_lat, start_lng);
                    djmarker.setLatLng(coord);
                    djmap.panTo(coord);
                }
                return;
            }

            jQuery.ajax({
                url: '<?php echo JRoute::_('index.php'); ?>',
                type: "post",
                dataType: "json",
                data: {
                    "option": "com_ajax",
                    "group": "djclassifieds",
                    "plugin": "leafletGetLocation",
                    "format": "json",
                    "address": address,
                    "postcode": postcode
                }
            }).done(function (response, textStatus, jqXHR){
                if(textStatus == "success" && response){
                    my_lat = response.lat;
                    my_lng = response.lng;
                    jQuery("#latitude").val(my_lat);
                    jQuery("#longitude").val(my_lng);
                    var coord = new L.LatLng(my_lat, my_lng);
                    djmarker.setLatLng(coord);
                    djmap.panTo(coord);
                }else{
                    jQuery("#mapalert").show();
                    setTimeout(function(){
                        jQuery("#mapalert").hide();
                    }, 3000);
                }
            });
        }
    });

</script>
Site is undergoing maintenance

PACJA Events

Maintenance mode is on

Site will be available soon. Thank you for your patience!