array( 'url' => 'http://tile.openstreetmap.org/{z}/{x}/{y}.png', 'requires_key' => false, 'nicename' => 'OpenStreetMap', 'attribution' => 'Map data © OpenStreetMap contributors' ), 'openstreetmap_blackandwhite' => array( 'url' => 'http://{s}.www.toolserver.org/tiles/bw-mapnik/{z}/{x}/{y}.png', 'requires_key' => false, 'nicename' => 'OpenStreetMap Black and White', 'attribution' => '© OpenStreetMap contributors, CC-BY-SA' ), 'cloudmade' => array( 'url' => "http://{s}.tile.cloudmade.com/{api_key}/997/256/{z}/{x}/{y}.png", 'requires_key' => true, 'nicename' => 'CloudMade', 'attribution' => 'Map data © OpenStreetMap contributors, CC-BY-SA, Imagery © CloudMade' ) ); /*-------------------------------------------------------------------------------------- * * Constructor * - This function is called when the field class is initalized on each page. * - Here you can add filters / actions and setup any other functionality for your field * * @author Elliot Condon * @since 2.2.0 * *-------------------------------------------------------------------------------------*/ function __construct($parent) { // do not delete! parent::__construct($parent); // set name / title $this->name = 'leaflet_field'; $this->title = __('Leaflet Field'); $this->defaults = array( 'lat' => '55.606', 'lng' => '13.002', 'zoom_level' => 13, 'height' => 400, 'api_key' => '', 'map_provider' => 'openstreetmap' ); // settings // settings $this->settings = array( 'path' => $this->helpers_get_path( __FILE__ ), 'dir' => $this->helpers_get_dir( __FILE__ ), 'version' => '1.2.1' ); } /* * helpers_get_path * * @description: calculates the path (works for plugin / theme folders) * @since: 3.6 * @created: 30/01/13 */ function helpers_get_path( $file ) { return trailingslashit(dirname($file)); } /* * helpers_get_dir * * @description: calculates the directory (works for plugin / theme folders) * @since: 3.6 * @created: 30/01/13 */ function helpers_get_dir( $file ) { $dir = trailingslashit(dirname($file)); $count = 0; // sanitize for Win32 installs $dir = str_replace('\\' ,'/', $dir); // if file is in plugins folder $wp_plugin_dir = str_replace('\\' ,'/', WP_PLUGIN_DIR); $dir = str_replace($wp_plugin_dir, WP_PLUGIN_URL, $dir, $count); if( $count < 1 ) { // if file is in wp-content folder $wp_content_dir = str_replace('\\' ,'/', WP_CONTENT_DIR); $dir = str_replace($wp_content_dir, WP_CONTENT_URL, $dir, $count); } if( $count < 1 ) { // if file is in ??? folder $wp_dir = str_replace('\\' ,'/', ABSPATH); $dir = str_replace($wp_dir, site_url('/'), $dir); } return $dir; } /*-------------------------------------------------------------------------------------- * * create_options * - this function is called from core/field_meta_box.php to create extra options * for your field * * @params * - $key (int) - the $_POST obejct key required to save the options to the field * - $field (array) - the field object * * @author Elliot Condon * @since 2.2.0 * *-------------------------------------------------------------------------------------*/ function create_options($key, $field) { // defaults? $field = array_merge($this->defaults, $field); // Create Field Options HTML ?>