Ank-Google-Map plugin.')); } if (!class_exists( 'Ank_Google_Map_Option_Page' ) ) { class Ank_Google_Map_Option_Page { function __construct() { /* Add settings link under admin->settings menu->ank google map */ add_action('admin_menu', array($this, 'agm_settings_menu')); /* Some (Notice) text on top of option page */ add_action('admin_notices', array($this, 'agm_admin_notice')); /*add custom screen options panel wp v3.0+*/ add_filter('screen_settings', array($this,'agm_print_screen_options'),10,2); /* register ajax save function */ if ( is_admin() ) { add_action('wp_ajax_' . AGM_AJAX_ACTION, array(&$this, 'agm_save_screen_options')); } } /*END construct*/ function agm_settings_menu() { $page_hook_suffix =add_submenu_page('options-general.php', 'Ank Google Map', 'Ank Google Map', 'manage_options', AGM_PLUGIN_SLUG, array($this, 'AGM_Option_Page')); /* load color picker on plugin options page only */ add_action('admin_print_scripts-'. $page_hook_suffix, array($this, 'agm_add_color_picker')); /* add help drop down menu on option page wp v3.3+ */ if ( version_compare( $GLOBALS['wp_version'], '3.3', '>=' ) ) { add_action( "load-$page_hook_suffix", array( $this, 'agm_help_menu_tab' ) ); } } function AGM_Option_Page(){ if (!current_user_can('manage_options')) { wp_die(__('You do not have sufficient permissions to access this page.')); } /* * Empty option array */ $agm_options=array(); /* * Fetch settings from database once */ $agm_options = get_option('ank_google_map'); if (isset($_POST['save_agm_form'])) { /* * WP inbuilt form security check */ check_admin_referer('agm_form','_wpnonce-agm_form'); /* * Begin sanitize inputs */ $agm_options['plugin_ver'] = esc_attr(AGM_PLUGIN_VERSION); $agm_options['div_width'] = sanitize_text_field($_POST['div_width']); $agm_options['div_height'] = sanitize_text_field($_POST['div_height']); $agm_options['div_width_unit'] = intval(sanitize_text_field($_POST['div_width_unit'])); $agm_options['div_border_color'] = sanitize_text_field($_POST['div_border_color']); $agm_options['map_Lat'] = sanitize_text_field($_POST['map_Lat']); $agm_options['map_Lng'] = sanitize_text_field($_POST['map_Lng']); $agm_options['map_zoom'] = intval($_POST['map_zoom']); $agm_options['map_control_1']=(isset($_POST['map_control_1']))?'1':'0'; $agm_options['map_control_2']=(isset($_POST['map_control_2']))?'1':'0'; $agm_options['map_control_3']=(isset($_POST['map_control_3']))?'1':'0'; $agm_options['map_control_4']=(isset($_POST['map_control_4']))?'1':'0'; $agm_options['map_control_5']=(isset($_POST['map_control_5']))?'1':'0'; $agm_options['map_lang_code'] = sanitize_text_field($_POST['map_lang_code']); $agm_options['map_type'] = intval($_POST['map_type']); $agm_options['marker_on']=(isset($_POST['marker_on']))?'1':'0'; $agm_options['marker_title'] = sanitize_text_field($_POST['marker_title']); $agm_options['marker_anim'] = intval($_POST['marker_anim']); $agm_options['marker_color'] = intval($_POST['marker_color']); $agm_options['info_on']=(isset($_POST['info_on']))?'1':'0'; $agm_options['info_state']=(isset($_POST['info_state']))?'1':'0'; /* * Lets allow some html in info window * This is same as like we make a new post */ $agm_options['info_text'] = balanceTags(wp_kses_post($_POST['info_text']),true); /* * @Regx => http://stackoverflow.com/questions/7549669/php-validate-latitude-longitude-strings-in-decimal-format */ if (!preg_match("/^[-]?(([0-8]?[0-9])\.(\d+))|(90(\.0+)?)$/", $agm_options['map_Lat'])) { echo "
Nothing saved, Invalid Latitude Value.
"; } elseif (!preg_match("/^[-]?((((1[0-7][0-9])|([0-9]?[0-9]))\.(\d+))|180(\.0+)?)$/", $agm_options['map_Lng'])) { echo "
Nothing saved, Invalid Longitude Value.
"; } elseif (strlen($agm_options['info_text']) > 1000) { echo "
Nothing saved, Info Window Text should not exceed 1000 characters . Current Length is: " . strlen($agm_options['info_text']) . "
"; } else { /* Save posted data back to database */ update_option('ank_google_map', $agm_options); echo "

Your settings has been saved. You can always use [ank_google_map] shortcode.

"; /*create/update a file that contains js code*/ global $Ank_Google_Map_Obj; if(isset($Ank_Google_Map_Obj)&&is_object($Ank_Google_Map_Obj)){ if($Ank_Google_Map_Obj->agm_create_js_file()===false){ echo "
Unable to create JS file in plugin directory. Please make this plugin's folder writable.
"; } }else{ wp_die('test'); } } }/*if isset post ends*/ ?>

Ank Google Map (v) Settings

It seems that a caching/performance plugin is active on this site. Please manually invalidate/flush that plugin cache to reflect the settings you saved here.
"; } /* Display notice if current wp installation does not support color picker */ if(version_compare($GLOBALS['wp_version'],'3.5','<')){ echo "
Color Picker won't work here. Please upgrade your WordPress to latest (v3.5+).
"; } ?>

Map Canvas Options

Map Canvas Width: Choose % (percent) to make it responsive
Map Canvas Height: Height will be in px
Border Color: Border will be 1px solid.

Configure Map Options

Latitude:
Longitude:
Zoom Level:
Disable Controls: type="checkbox" name="map_control_1" id="map_control_1">
type="checkbox" name="map_control_2" id="map_control_2">
type="checkbox" name="map_control_3" id="map_control_3">
type="checkbox" name="map_control_4" id="map_control_4">
type="checkbox" name="map_control_5" id="map_control_5">
Language Code:
Map Type:

Quick Tip: Right click on this map to set new Latitude and Longitude values. You can also drag marker to your desired location to set that point as the new center of map.

Marker Options

Enable marker: type="checkbox" name="marker_on" id="agm_mark_on">
Marker Title: Don't use html tags here (max 200 characters)
Marker Animation:
Marker Color:

Info Window Options

Enable Info Window: type="checkbox" name="info_on" id="agm_info_on">
Info Window State: type="checkbox" name="info_state" id="agm_info_state">
Info Window Text: agm_get_editor(stripslashes($agm_options['info_text']),$agm_options['te_meta_1'],$agm_options['te_meta_2'],$agm_options['te_meta_3']);?> HTML tags are allowed, Max 1000 characters.

Created with ♥ by Ankur Kumar | Fork on GitHub | View on WordPress.org

Showing Debugging Info:
'; var_dump($agm_options); echo '


'; }?> add_help_tab( array( 'id' => 'agm-overview', 'title' => 'Overview', 'content' =>'

Thanks for using "Ank Google Map"
'. 'This plugin allows you to put a custom Google Map on your website. Just configure options below and '. 'save your settings. Copy/paste [ank_google_map] short-code on your page/post/widget to view your map.

' ) ); $curr_screen->add_help_tab( array( 'id' => 'agm-troubleshoot', 'title' => 'Troubleshoot', 'content' =>'

Things to remember
'. '

' ) ); $curr_screen->add_help_tab( array( 'id' => 'agm-more-info', 'title' => 'More', 'content' =>'

Need more information ?
'. 'A brief FAQ is available on plugin's official website.'. 'OR click here for more.
'. 'Support is only available on WordPress Forums, click here to ask anything about this plugin.
'. 'You can also report a bug at plugin's GitHub page.'. 'I will try to reply as soon as possible.

' ) ); /*help sidebar links */ $curr_screen->set_help_sidebar( '

Quick Links

' . '

Plugin FAQ

' . '

Plugin Home

' ); } function agm_admin_notice() { /* * Print notice text on top of our option page only */ $dir = is_rtl() ? 'left' : 'right'; if(strpos( get_current_screen()->id, AGM_PLUGIN_SLUG ) !== false) echo "

Explore More, Just click here ⟹

"; } function agm_print_screen_options($current, $screen) { /* * @source http://www.w-shadow.com/blog/2010/06/29/adding-stuff-to-wordpress-screen-options/ */ if(strpos( $screen->id, AGM_PLUGIN_SLUG ) !== false){ $options= get_option('ank_google_map'); $current.='
Text Editor Options
'; $current.='
'; $current.='
'; } return $current; } function agm_save_screen_options() { if(isset($_GET['action'])&&$_GET['action']===AGM_AJAX_ACTION){ /* * WP inbuilt form security check */ check_ajax_referer(AGM_AJAX_ACTION,'_wpnonce-agm_meta_form'); $options = get_option('ank_google_map'); $options['te_meta_1']=(isset($_GET['agm_load_editor']))?'1':'0'; $options['te_meta_2']=(isset($_GET['agm_load_media']))?'1':'0'; $options['te_meta_3']=(isset($_GET['agm_load_teeny']))?'1':'0'; update_option('ank_google_map', $options); die('1'); } } function agm_get_editor($content='',$load,$media=0,$teeny=0) { /** * decide if browser support editor or not */ if ( user_can_richedit() && $load==='1') { $teeny=($teeny=='1')? true:false; $media=($media=='1')? true:false; wp_editor( $content,'agm-info-editor', array( 'media_buttons' => $media, 'textarea_name' => 'info_text', 'textarea_rows' => 5, 'teeny' => $teeny, 'quicktags' =>true ) ); } else { /* * else Show normal text-area to user */ echo ''; } } function agm_add_color_picker() { /* * Add the color picker js + css file (for settings page only) * Available for wp v3.5+ only */ if(version_compare($GLOBALS['wp_version'],3.5)>=0){ wp_enqueue_style('wp-color-picker'); wp_enqueue_script('wp-color-picker'); } } } /*end class agm option page*/ } /*end if isset class exists*/ ?>