Example #1
0
function inline_js_tabbed_map()
{
    global $epl_settings;
    $epl_am_single_map_height = isset($epl_settings['epl_am_single_map_height']) ? intval($epl_settings['epl_am_single_map_height']) : 400;
    $position = isset($epl_settings['epl_am_infobox_position']) ? $epl_settings['epl_am_infobox_position'] : 'top';
    $coordinates = epl_am_get_position_coordinates($position);
    $coord_left = $coordinates[0];
    $coord_top = $coordinates[1];
    if (!is_epl_post()) {
        return;
    }
    global $property;
    if ($property->get_property_meta('property_address_display') == 'yes') {
        $property_address_coordinates = $property->get_property_meta('property_address_coordinates');
    } else {
        $property_address_coordinates = '';
    }
    // if coordinates are not present than geocode address to get coordinates
    if (trim($property_address_coordinates) == '') {
        if ($property->get_property_meta('property_address_display') == 'yes') {
            $address = epl_property_get_the_full_address();
        } else {
            $address = $property->get_property_meta('property_address_suburb') . ', ';
            $address .= $property->get_property_meta('property_address_state') . ', ';
            $address .= $property->get_property_meta('property_address_postal_code');
        }
        $address = apply_filters('epl_map_address', $address);
        $address = urlencode(strtolower(trim($address)));
        $geourl = "http://maps.google.com/maps/api/geocode/json?address=" . urlencode($address) . "&sensor=false";
        $response = epl_remote_url_get($geourl);
        if (!empty($response)) {
            $geocoordinates = $response[0]->geometry->location->lat . ',' . $response[0]->geometry->location->lng;
            update_post_meta($property->post->ID, 'property_address_coordinates', $geocoordinates);
            $property_address_coordinates = $property->get_property_meta('property_address_coordinates');
        }
    }
    $title = $property->post->post_title;
    $zoom = apply_filters('epl_am_tabbed_map_zoom', 16);
    $zoom_sat = $zoom + 2;
    $content = epl_am_make_infobox();
    $map_start = isset($epl_settings['epl_am_default_map_type']) ? $epl_settings['epl_am_default_map_type'] : 'SATELLITE';
    $marker_icon = apply_filters('epl_am_marker_icon', epl_am_get_property_image($property));
    ?>
	<script>
		var boxText = '<?php 
    echo $content;
    ?>
';
		var myOptions = {
			 content: boxText,
			disableAutoPan: false,
            maxWidth: 0,
            pixelOffset: new google.maps.Size(<?php 
    echo $coord_left;
    ?>
, <?php 
    echo $coord_top;
    ?>
),
            alignBottom: false,
            zIndex: null,
            closeBoxMargin: "10px 2px 2px 2px",
            closeBoxURL: "<?php 
    echo EPL_AM_PLUGIN_URL_IMAGES . 'close.png';
    ?>
",
            infoBoxClearance: new google.maps.Size(10, 30),
            isHidden: false,
            pane: "floatPane",
            enableEventPropagation: false
		};
		var infowindow = new InfoBox(myOptions);
		var mapsat,maptransit,mapbike,mapstreet;
		window.onload = function() {

			var g = google.maps;
			
			// satellite
			if (jQuery('#epl_adv_tab_map_sat').length > 0) {

				var satcoords = new g.LatLng(<?php 
    echo $property_address_coordinates;
    ?>
);
				mapsat = new g.Map(document.getElementById("epl_adv_tab_map_sat"), {
					center: satcoords,
					zoom: <?php 
    echo $zoom_sat;
    ?>
,
					mapTypeId: google.maps.MapTypeId.<?php 
    echo $map_start;
    ?>
,
					streetViewControl: true,
					<?php 
    echo epl_get_option('epl_am_disable_mousescroll') == 1 ? 'scrollwheel: false,' : '';
    ?>
					zoomControlOptions: {
						style: g.ZoomControlStyle.SMALL
					}
				});

				var markersat = new google.maps.Marker({
					position: satcoords,
					map: mapsat,
					title: '<?php 
    echo $title;
    ?>
',
					icon : '<?php 
    echo $marker_icon;
    ?>
'
				});
			
				google.maps.event.addListener(markersat, 'click', function() {
					infowindow.open(mapsat,markersat);
					mapsat.panTo(satcoords);
				}); 
			
				// resize map on window resize
				google.maps.event.addDomListener(window, "resize", function() {
					var center = mapsat.getCenter();
					google.maps.event.trigger(mapsat, "resize");
					mapsat.setCenter(center);
				});
			}
			
			// Transit
			if (jQuery('#epl_adv_tab_map_transit').length > 0) {
				var transit = new g.LatLng(<?php 
    echo $property_address_coordinates;
    ?>
);
				maptransit = new g.Map(document.getElementById("epl_adv_tab_map_transit"), {
					center: transit,
					zoom: <?php 
    echo $zoom;
    ?>
,
					mapTypeId: google.maps.MapTypeId.ROADMAP,
					streetViewControl: false,
					<?php 
    echo epl_get_option('epl_am_disable_mousescroll') == 1 ? 'scrollwheel: false,' : '';
    ?>
					zoomControlOptions: {
						style: g.ZoomControlStyle.SMALL
					}
				});

				var markertransit = new google.maps.Marker({
					position: transit,
					map: maptransit,
					title: '<?php 
    echo $title;
    ?>
',
					icon : '<?php 
    echo $marker_icon;
    ?>
'

				});

				var transitLayer = new google.maps.TransitLayer();
				transitLayer.setMap(maptransit);

				google.maps.event.addListener(markertransit, 'click', function() {
					infowindow.open(maptransit,markertransit);
					maptransit.panTo(transit);
				});
			
				// resize map on window resize
				google.maps.event.addDomListener(window, "resize", function() {
					var center = maptransit.getCenter();
					google.maps.event.trigger(maptransit, "resize");
					maptransit.setCenter(center);
				});
			}
			
			// Bike
			if (jQuery('#epl_adv_tab_map_bike').length > 0) {
				var bikeCoord = new g.LatLng(<?php 
    echo $property_address_coordinates;
    ?>
);
				mapbike = new g.Map(document.getElementById("epl_adv_tab_map_bike"), {
					center: bikeCoord,
					zoom: <?php 
    echo $zoom;
    ?>
,
					mapTypeId: google.maps.MapTypeId.ROADMAP,
					streetViewControl: false,
					<?php 
    echo epl_get_option('epl_am_disable_mousescroll') == 1 ? 'scrollwheel: false,' : '';
    ?>
					zoomControlOptions: {
						style: g.ZoomControlStyle.SMALL
					}
				});

				var markerbike = new google.maps.Marker({
				position: bikeCoord,
				map: mapbike,
				title: '<?php 
    echo $title;
    ?>
',
				icon : '<?php 
    echo $marker_icon;
    ?>
'
				});

				var bikeLayer = new google.maps.BicyclingLayer();
				bikeLayer.setMap(mapbike);

				google.maps.event.addListener(markerbike, 'click', function() {
					infowindow.open(mapbike,markerbike);
					mapbike.panTo(bikeCoord);
				});
			
				// resize map on window resize
				google.maps.event.addDomListener(window, "resize", function() {
					var center = mapbike.getCenter();
					google.maps.event.trigger(mapbike, "resize");
					mapbike.setCenter(center);
				});
			}
			
			// street view
			if (jQuery('#epl_adv_tab_map_street').length > 0) {
				var streetCoord = new g.LatLng(<?php 
    echo $property_address_coordinates;
    ?>
);
			
				mapstreet = new google.maps.StreetViewPanorama( document.getElementById("epl_adv_tab_map_street"), {
					position: streetCoord,
					zoom: 1,
					pov: {
					  heading: 0,
					  pitch: 0
					},
					<?php 
    echo epl_get_option('epl_am_disable_mousescroll') == 1 ? 'scrollwheel: false,' : '';
    ?>
				});
			
				mapstreet.setVisible(true);
			
				// street view marker
				var markerstreet = new google.maps.Marker({
					position: satcoords,
					map: mapstreet,
					title: '<?php 
    echo $title;
    ?>
',
					icon : '<?php 
    echo $marker_icon;
    ?>
'
				});

				// resize map on window resize
				google.maps.event.addDomListener(window, "resize", function() {
					google.maps.event.trigger(mapstreet, "resize");
				});
			}
		};
	 
		/*** Tabbed map on single pages ****/
	
		jQuery(document).ready(function($) {
			
			/* tabs for maps on single properties pages for different view types */
			jQuery('ul.map-tabs li').click(function(){
				var map_tab_id = jQuery(this).attr('onclick');

				jQuery('ul.map-tabs li').removeClass('current');
				jQuery('.author-tab-content').removeClass('current');

				jQuery(this).addClass('current');
				jQuery("#"+map_tab_id).addClass('current');
			});
	


			if($('.epl_adv_map_list').length) {
				$('ul.epl_adv_map_list li').on('click',function(){
					$('ul.epl_adv_map_list li').removeClass('maptab-current');
					$(this).addClass('maptab-current');
					$(".epl_adv_tab_map").hide();
					$("#epl_adv_tab_map_"+$(this).data('map')).show();
					
					switch($(this).data('map')){
						case 'sat':
							var center = mapsat.getCenter();
							google.maps.event.trigger(mapsat, "resize");
							mapsat.setCenter(center);
						break;
						case 'transit':
							var center = maptransit.getCenter();
							google.maps.event.trigger(maptransit, "resize");
							maptransit.setCenter(center);
						break;
						case 'bike':
							var center = mapbike.getCenter();
							google.maps.event.trigger(mapbike, "resize");
							mapbike.setCenter(center);
						break;
						case 'street':
							var center = mapstreet.getPosition();
							google.maps.event.trigger(mapstreet, "resize");
							mapstreet.setPosition(center);
						break;
						case 'comparables':
							comparablesmap 	= myGmap.gmap3('get');
							var center 	= comparablesmap.getCenter();
							google.maps.event.trigger(comparablesmap, 'resize');
							comparablesmap.setCenter(new google.maps.LatLng (<?php 
    echo $property_address_coordinates;
    ?>
) );
							comparablesmap.setZoom(comparablesmap.getZoom());
							comparablesmap.panToBounds(comparablesmap.getBounds());
						break;
					}
				});
			}
			

			var eplsingleMapHeight = '';
			if($('.epl_tabbed_map_wrapper').length) {
			
				if($('#epl_adv_tab_map_gallery').length && $('#epl_adv_tab_map_gallery').find('.epl_slider_container').length) { 
					var eplsingleMapHeight = jQuery('.epl-slider-single-wrapper').actual('height');
					jQuery('.epl_tabbed_map_wrapper ').height(eplsingleMapHeight);
					jQuery('.epl_tabbed_map_wrapper ').find('.slider-map').height(eplsingleMapHeight);
					jQuery('[id^="epl_adv_tab_map_"]').each(function() {
					  jQuery(this).height(eplsingleMapHeight);
					});

				} else {
					var wrapHeight, wrapWidth = $('.epl_tabbed_map_wrapper').width();
					// calculate ratio for height
					eplsingleMapHeight = ( parseFloat('<?php 
    echo $epl_am_single_map_height;
    ?>
')*100) /wrapWidth;
					var wrapHeight = (wrapWidth * parseFloat(eplsingleMapHeight) ) / 100;
					$('.epl_tabbed_map_wrapper').height(wrapHeight);
					$('.epl_adv_tab_map div').css("max-height",wrapHeight);
					$('#epl-advanced-map').css("height",wrapHeight);
					$('#epl-advanced-map > div:first').css("height",wrapHeight);
				}

			}
			
			// attempt to make maps responsive
			$( window ).resize(function() {
				if($('.epl_tabbed_map_wrapper').length) {
					if($('#epl_adv_tab_map_gallery').length && $('#epl_adv_tab_map_gallery').find('.epl_slider_container').length) { 
						var eplsingleMapHeight = jQuery('.epl-slider-single-wrapper').actual('height');
						jQuery('.epl_tabbed_map_wrapper ').height(eplsingleMapHeight);
						jQuery('.epl_tabbed_map_wrapper ').find('.slider-map').height(eplsingleMapHeight);
						jQuery('[id^="epl_adv_tab_map_"]').each(function() {
						  jQuery(this).height(eplsingleMapHeight);
						});

					} else {
						var wrapHeight, wrapWidth = $('.epl_tabbed_map_wrapper').width();
						// calculate ratio for height 
						var wrapHeight = (wrapWidth * parseFloat(eplsingleMapHeight) ) / 100;
						$('.epl_tabbed_map_wrapper').height(wrapHeight);
						$('.epl_adv_tab_map div').css("max-height",wrapHeight);
						$('#epl-advanced-map').css("height",wrapHeight);
						$('#epl-advanced-map > div:first').css("height",wrapHeight);
					}
				}
			});
		});
	 

	</script>

	<?php 
}
function epl_get_currency_symbol($amount = null)
{
    $_amount = $amount;
    $opt = epl_get_option('epl_general_options');
    $symbol = epl_get_element('epl_currency_symbol', $opt, '');
    $location = epl_get_element('epl_currency_symbol_location', $opt, 'b');
    if ($symbol) {
        if ($location == 'b') {
            $amount = epl_prefix($symbol, $amount);
        } else {
            $amount = epl_suffix(' ' . $symbol, $amount);
        }
    }
    $amount = apply_filters('epl_get_currency_symbol', $amount, $_amount, $symbol, $location);
    return $amount;
}
function epl_get_currency_symbol()
{
    $v = epl_get_option('epl_general_options');
    return isset($v['epl_currency_symbol']) ? $v['epl_currency_symbol'] : '';
}
Example #4
0
 * Uninstall Easy Property Listings
 *
 * @package     EPL
 * @subpackage  Uninstall
 * @copyright   Copyright (c) 2014, Merv Barrett
 * @license     http://opensource.org/licenses/gpl-2.0.php GNU Public License
 * @since       2.2
*/
// Exit if accessed directly
if (!defined('WP_UNINSTALL_PLUGIN')) {
    exit;
}
// Load EPL file
include_once 'easy-property-listings.php';
global $wpdb, $wp_roles;
if (epl_get_option('uninstall_on_delete') == 1) {
    /** Delete All the Custom Post Types */
    $epl_taxonomies = array('location', 'tax_feature', 'tax_business_listing');
    $epl_post_types = array('property', 'rental', 'land', 'rural', 'commercial', 'commercial_land');
    foreach ($epl_post_types as $post_type) {
        $epl_taxonomies = array_merge($epl_taxonomies, get_object_taxonomies($post_type));
        $items = get_posts(array('post_type' => $post_type, 'post_status' => 'any', 'numberposts' => -1, 'fields' => 'ids'));
        if ($items) {
            foreach ($items as $item) {
                wp_delete_post($item, true);
            }
        }
    }
    /** Delete All the Terms & Taxonomies */
    foreach (array_unique(array_filter($epl_taxonomies)) as $taxonomy) {
        $terms = $wpdb->get_results($wpdb->prepare("SELECT t.*, tt.* FROM {$wpdb->terms} AS t INNER JOIN {$wpdb->term_taxonomy} AS tt ON t.term_id = tt.term_id WHERE tt.taxonomy IN ('%s') ORDER BY t.name ASC", $taxonomy));
function epl_wpimport_is_post_to_update($pid, $xml_node)
{
    global $epl_wpimport;
    //add_action('pmxi_before_post_import', 'epl_wpimport_post_saved_notification', 10, 1);
    $live_import = function_exists('epl_get_option') ? epl_get_option('epl_wpimport_skip_update') : 'off';
    if ($live_import == 'on' && get_post_meta($pid, 'property_mod_date', true) != '') {
        /** only update posts if new data is available **/
        $postmodtime = epl_feedsync_format_date(get_post_meta($pid, 'property_mod_date', true));
        $updatemodtime = epl_feedsync_format_date($xml_node['@attributes']['modTime']);
        if (strtotime($updatemodtime) > strtotime($postmodtime)) {
            epl_wpimport_notification('update', $pid);
            // update
            return true;
        }
        epl_wpimport_notification('skip_unchanged', $pid);
        // Don't update
        return false;
    }
    epl_wpimport_notification('skip', $pid);
    // Don't update
    return true;
}