function geoRedirects() { // booyashacka! $geoRedirects = get_option('geoposty_redirects'); if (empty($geoRedirects)) { return; } $cleanURL = $_SERVER['REQUEST_URI']; // check the URL for ? parameters and remove if necessary $getPosition = strpos($cleanURL, '?'); if ($getPosition > 0) { $cleanURL = substr($_SERVER['REQUEST_URI'], 0, $getPosition); } foreach ($geoRedirects as $redirect) { if ($redirect['source'] == $cleanURL) { if ($redirect['radius'] > 1) { if (geoDistanceFrom($redirect['radiuslocation']) > $redirect['radius']) { continue; } } else { if (!geoLocationContent($redirect['location'], $redirect['locationaddress'])) { continue; } } // get just the parameters if ($getPosition > 0) { $urlParameters = substr($_SERVER['REQUEST_URI'], $getPosition - strlen($_SERVER['REQUEST_URI'])); } wp_redirect($redirect['destination'] . $urlParameters, '302'); die; } } }
function widget($args, $instance) { global $posty_plugin_url; $geoPosty = getGeoPosty(); if (!empty($instance['distancefrom']) && $instance['miles'] > 1) { if ($instance['reverse'] && geoDistanceFrom($instance['distancefrom']) < $instance['miles']) { return false; } elseif (!$instance['reverse'] && geoDistanceFrom($instance['distancefrom']) > $instance['miles']) { return false; } } $locationTest = geoLocationContent($instance['locationtype'], $instance['location'], $instance['reverse']); if (!$locationTest) { return false; } recordGeoStats('w_business'); extract($args, EXTR_SKIP); echo $args['before_widget']; echo $args['before_title'] . do_shortcode(stripslashes($instance['title'])) . $args['after_title']; echo '<div id="geoGoogleBusiness"></div>'; echo '<script type="text/javascript"> googleBusinessSearch(' . $geoPosty['Latitude'] . ', ' . $geoPosty['Longitude'] . ', \'' . $instance['search'] . '\', \'' . $instance['results'] . '\'); </script>'; //boo-urns echo $args['after_widget']; }
function geoWeatherShortcode($attributes) { recordGeoStats('weather'); extract(shortcode_atts(array('image' => 'on', 'measurement' => 'Farenheit', 'humidity' => 'on', 'wind' => 'on', 'miles' => '', 'distancefrom' => '', 'locationtype' => '', 'location' => '', 'reverse' => false), $attributes)); if (!empty($distancefrom) && $miles > 1) { if ($reverse && geoDistanceFrom($distancefrom) < $miles) { return false; } elseif (!$reverse && geoDistanceFrom($distancefrom) > $miles) { return false; } } $locationTest = geoLocationContent($locationtype, $location, $reverse); if (!$locationTest) { return false; } return geoWeather($image, $measurement, $humidity, $wind); }