2014-01-02 14:41:00 +00:00
|
|
|
<?php
|
|
|
|
|
|
|
|
/*
|
|
|
|
Plugin Name: Simple Location
|
|
|
|
Plugin URI: http://www.danballard.com/
|
|
|
|
Description: Auto tags posts with city, country info
|
|
|
|
Version: 0.1
|
|
|
|
Author: Dan Ballard
|
|
|
|
Author URI: http://www.danballard.com
|
|
|
|
Minimum WordPress Version Required: 3.8
|
|
|
|
Tested up to: 3.8
|
|
|
|
*/
|
|
|
|
|
|
|
|
if ( is_admin() ) {
|
|
|
|
add_action( 'admin_menu', 'add_options_menu' );
|
|
|
|
add_action( 'admin_init', 'reg_settings' );
|
2014-01-07 01:26:41 +00:00
|
|
|
add_action( 'admin_menu', 'add_meta_to_edit' );
|
|
|
|
add_action( 'edit_attachment', 'simple_location_post_save' );
|
|
|
|
add_action( 'save_post', 'simple_location_post_save' );
|
|
|
|
|
2014-01-02 14:41:00 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
function add_options_menu() {
|
|
|
|
add_options_page('Simple Location Options', 'Simple Location', 'manage_options', 'simple-location', 'options_page');
|
|
|
|
}
|
|
|
|
|
2014-01-07 01:26:41 +00:00
|
|
|
function add_meta_to_edit() {
|
|
|
|
add_meta_box('simple-location-meta', 'Simple Location', 'simple_location_meta', 'post', 'normal');
|
|
|
|
}
|
|
|
|
|
|
|
|
function simple_location_post_save($post_id) {
|
|
|
|
if ($_POST['city'] == '' || $_POST['country'] == '') {
|
|
|
|
$key = get_option('simple-location-api-key');
|
|
|
|
if ($key != '') {
|
|
|
|
include('ip2locationlite.class.php');
|
|
|
|
$ipLite = new ip2location_lite;
|
|
|
|
$ipLite->setKey($key);
|
|
|
|
$locations = $ipLite->getCity($_SERVER['REMOTE_ADDR']);
|
2014-01-07 02:12:27 +00:00
|
|
|
print_r($locations);
|
2014-01-07 01:59:19 +00:00
|
|
|
}
|
2014-01-07 01:26:41 +00:00
|
|
|
}
|
|
|
|
if ($_POST['city'] == '') {
|
|
|
|
$_POST['city'] = $locations['cityName'];
|
|
|
|
}
|
|
|
|
update_post_meta($post_id, '_simple_location_city', sanitize_text_field($_POST['city']));
|
|
|
|
if ($_POST['country'] == '') {
|
|
|
|
$_POST['country'] = $locations['countryName'];
|
|
|
|
}
|
|
|
|
update_post_meta($post_id, '_simple_location_country', sanitize_text_field($_POST['country']));
|
|
|
|
}
|
|
|
|
|
|
|
|
function simple_location_meta() {
|
|
|
|
include( plugin_dir_path(__FILE__) . 'post-form.php');
|
|
|
|
}
|
|
|
|
|
2014-01-02 14:41:00 +00:00
|
|
|
function options_page() {
|
|
|
|
include( plugin_dir_path(__FILE__) . 'options.php');
|
|
|
|
}
|
|
|
|
|
|
|
|
function reg_settings() {
|
2014-01-07 01:26:41 +00:00
|
|
|
register_setting( 'simple-location-options', 'simple-location-api-key' );
|
2014-01-02 14:41:00 +00:00
|
|
|
}
|
2014-01-07 01:26:41 +00:00
|
|
|
|