diff --git a/admin.php b/admin.php index f47c338..334deb7 100644 --- a/admin.php +++ b/admin.php @@ -26,7 +26,6 @@ function cartopress_options() { '', - 'width' => '100%', - 'height' => '300px', - 'x' => 0, - 'y' => 0, - 'zoom' => 1, - 'filter' => '1=1' - ), $atts )); - - if (empty($table)) - return; - - $mapId = rand(); - - $output = ' -
- - '; - return $output; +if ( !function_exists( 'add_action' ) ) { + echo "Hi there! I'm just a plugin, not much I can do when called directly."; + exit; } -function check_shortcode($posts) { - if ( empty($posts) ) - return $posts; - foreach ($posts as $post) { - if ( stripos($post->post_content, '[cartodb') !== false ) - { - wp_enqueue_style('cartodb', 'http://libs.cartocdn.com/cartodb.js/v2/themes/css/cartodb.css'); - wp_enqueue_style('cartopress', '/wp-content/plugins/cartopress/assets/css/cartopress.css'); - wp_enqueue_script('cartodb','http://libs.cartocdn.com/cartodb.js/v2/cartodb.js', array('jquery')); - wp_enqueue_script('cartopress', '/wp-content/plugins/cartopress/assets/js/script.js', array('jquery', 'cartodb')); - } - break; +if ( !function_exists('cp_define_constants') ): + function cp_define_constants() { + define('CP_PLUGIN_BOOTSTRAP', __FILE__ ); + define('CP_PLUGIN_DIR', dirname(CP_PLUGIN_BOOTSTRAP)); +// define('CP_PLUGIN_URI', plugin_dir_url(CP_PLUGIN_BOOTSTRAP)); + define('CP_PLUGIN_URI', 'http://wordpress/wp-content/plugins/cartopress/'); } - return $posts; +endif; + +if ( !function_exists('cartodb_tag_func') ): + function cartodb_tag_func( $atts ) { + extract(shortcode_atts( array( + 'table' => '', + 'width' => '100%', + 'height' => '300px', + 'x' => 0, + 'y' => 0, + 'zoom' => 1, + 'filter' => '1=1' + ), $atts )); + + if (empty($table)) + return; + + $mapId = rand(); + + $output = ' + + + '; + return $output; + } +endif; + +if ( !function_exists('check_shortcode') ): + function check_shortcode($posts) { + if ( empty($posts) ) + return $posts; + + foreach ($posts as $post) { + if ( stripos($post->post_content, '[cartodb') !== false ) + { + wp_enqueue_style('cartodb', 'http://libs.cartocdn.com/cartodb.js/v2/themes/css/cartodb.css'); + wp_enqueue_style('cartopress', '/wp-content/plugins/cartopress/assets/css/cartopress.css'); + wp_enqueue_script('cartodb','http://libs.cartocdn.com/cartodb.js/v2/cartodb.js', array('jquery')); + wp_enqueue_script('cartopress', '/wp-content/plugins/cartopress/assets/js/script.js', array('jquery', 'cartodb')); + } + break; + } + return $posts; } +endif; + +cp_define_constants(); + +if ( is_admin() ) + require_once dirname( __FILE__ ) . '/admin.php'; add_action('the_posts', 'check_shortcode'); add_shortcode( 'cartodb', 'cartodb_tag_func' ); diff --git a/include/shortcode_builder_form.php b/include/shortcode_builder_form.php new file mode 100644 index 0000000..90a6a33 --- /dev/null +++ b/include/shortcode_builder_form.php @@ -0,0 +1,32 @@ +. + */ + + $settings = array(); + + $json_string = file_get_contents(CGMP_PLUGIN_DATA_DIR."/".CGMP_JSON_DATA_HTML_ELEMENTS_FORM_PARAMS); + $parsed_json = json_decode($json_string, true); + + if (is_array($parsed_json)) { + foreach ($parsed_json as $data_chunk) { + cgmp_set_values_for_html_rendering($settings, $data_chunk); + } + } + + $template_values = cgmp_build_template_values($settings); + $map_configuration_template = cgmp_render_template_with_values($template_values, CGMP_HTML_TEMPLATE_MAP_CONFIGURATION_FORM); +?> diff --git a/metabox.php b/metabox.php new file mode 100644 index 0000000..0dc33bd --- /dev/null +++ b/metabox.php @@ -0,0 +1,57 @@ +. +*/ + +add_action('admin_menu', 'cgmp_google_map_meta_boxes'); + +if ( !function_exists('cgmp_google_map_meta_boxes') ): +function cgmp_google_map_meta_boxes() { + $id = "google_map_shortcode_builder"; + $title = "AZ :: Google Map Shortcode Builder"; + $context = "normal"; + + $setting_builder_location = get_option(CGMP_DB_SETTINGS_BUILDER_LOCATION); + if (isset($setting_builder_location) && $setting_builder_location == "true") { + add_meta_box($id, $title, 'cgmp_render_shortcode_builder_form', 'post', $context, 'high'); + add_meta_box($id, $title, 'cgmp_render_shortcode_builder_form', 'page', $context, 'high'); + } + + $custom_post_types = get_option(CGMP_DB_SETTINGS_CUSTOM_POST_TYPES); + if (isset($custom_post_types) && trim($custom_post_types) != "") { + $custom_post_types_arr = explode(",", $custom_post_types); + foreach ($custom_post_types_arr as $type) { + $type = trim(strtolower($type)); + if ($type == 'page' || $type == 'post') { + continue; + } + add_meta_box($id, $title, 'cgmp_render_shortcode_builder_form', $type, $context, 'high'); + } + } +} +endif; + + +if ( !function_exists('cgmp_render_shortcode_builder_form') ): +function cgmp_render_shortcode_builder_form() { + + include_once(CGMP_PLUGIN_INCLUDE_DIR.'/shortcode_builder_form.php'); + echo cgmp_render_template_with_values(array("MAP_CONFIGURATION_FORM_TOKEN" => $map_configuration_template), "map_shortcode_builder_metabox.tpl"); +} +endif; + +?>