Пример #1
0
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;
        }
    }
}
Пример #2
0
 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'];
 }
Пример #3
0
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);
}