diff --git a/srcs/plugins/map_prof/map_prof_hooks.php b/srcs/plugins/map_prof/map_prof_hooks.php index e984563..c9b5151 100644 --- a/srcs/plugins/map_prof/map_prof_hooks.php +++ b/srcs/plugins/map_prof/map_prof_hooks.php @@ -17,11 +17,14 @@ Author URI: */ include_once(dirname(__FILE__) . '/mp_console_log.php'); + +require_once(dirname(__FILE__) . '/settings/mp_required.php'); +require_once(dirname(__FILE__) . '/settings/mp_optionnals.php'); +require_once(dirname(__FILE__) . '/settings/mp_globals.php'); + require_once(dirname(__FILE__) . '/mp_url_api.php'); require_once(dirname(__FILE__) . '/mp_add_to_scripts.php'); require_once(dirname(__FILE__) . '/mp_get_coordinates.php'); -require_once(dirname(__FILE__) . '/settings/mp_required.php'); -require_once(dirname(__FILE__) . '/settings/mp_optionnals.php'); require_once(dirname(__FILE__) . '/mp_get_events.php'); require_once(dirname(__FILE__) . '/mp_sort_events.php'); require_once(dirname(__FILE__) . '/mp_get_filters.php'); @@ -31,62 +34,6 @@ require_once(dirname(__FILE__) . '/mp_address_errors.php'); -/** - * global variables : - */ - -$mp_icon_base_url = '/wp-content/plugins/map_prof/images/'; -$mp_icon_url = $mp_icon_base_url . $mp_icon_file; -$mp_icon_cluster_url = $mp_icon_base_url . $mp_icon_cluster_file; - -$mp_icon_size = [40, 40]; -if (isset($mp_settings_icon_size)) { - if (is_array($mp_settings_icon_size)) { - if (count($mp_settings_icon_size) === 2) { - if ( is_numeric($mp_settings_icon_size[0]) && is_numeric($mp_settings_icon_size[1]) ) { - $mp_icon_size = $mp_settings_icon_size; - } - } - } -} - -$mp_icon_color = "#ba197a"; -if (isset($mp_settings_icon_color)) - $mp_icon_color = $mp_settings_icon_color; - -$mp_icon_size_factor = 2.5; -if (isset($mp_settings_icon_size_factor)) - $mp_icon_size_factor = $mp_settings_icon_size_factor; - -$mp_coordinates_default = (object)["lat" => 46.227638, "lng" => 2.213749]; // france -if (isset($mp_settings_coordinates_default)) - $mp_coordinates_default = $mp_settings_coordinates_default; - -$mp_icon_color = "#ba197a"; -$mp_icon_color_back = "#ffffff99"; -if (isset($mp_settings_icon_color)) - $mp_icon_color = $mp_settings_icon_color; -if (isset($mp_settings_icon_color_back)) - $mp_icon_color_back = $mp_settings_icon_color_back; - -$mp_icon_stroke_width = 6; -if (isset($mp_settings_icon_stroke_width)) - $mp_icon_stroke_width = $mp_settings_icon_stroke_width; - - -/** - * to add a tag, like defer or async, to a script - */ - -function mp_tag_scripts($tag, $handle) { - if ('mp_googe_api' === $handle) - return str_replace(' src="', ' async src="', $tag); - return $tag; -} -add_filter('script_loader_tag', 'mp_tag_scripts', 10, 2); - - - /** @@ -127,12 +74,7 @@ function mp_ljdp_map() { ); mp_add_to_scripts($to_add); - $filters_fields = array( - "pays", - "ville", - "categorie", - ); - $filters = mp_get_filters($locations, $filters_fields); + $filters = mp_get_filters($locations); /* * * * * * * * @@ -197,6 +139,14 @@ add_shortcode('ljdp_errors_map', 'mp_errors_map'); function post_published_coordinates($id, $post) { $location = mp_get_coordinates($id); + /* + coordinates; + street; + city; + country; + address; + approximate; + */ if ( ! add_post_meta( $id, 'location', $location, true ) ) update_post_meta( $id, 'location', $location ); diff --git a/srcs/plugins/map_prof/mp_get_coordinates.php b/srcs/plugins/map_prof/mp_get_coordinates.php index 3fa4315..86ac9f0 100644 --- a/srcs/plugins/map_prof/mp_get_coordinates.php +++ b/srcs/plugins/map_prof/mp_get_coordinates.php @@ -36,13 +36,19 @@ function mp_get_coordinates($id) { $location->address = $content->results[0]->formatted_address; foreach ($content->results[0]->address_components as $component) { if (in_array("street_number", $component->types)) - $location->street = " " . $component->long_name; - else if (in_array("route", $component->types)) - $location->street .= " " . $component->long_name; + $location->street = $component->long_name; + else if (in_array("route", $component->types)) { + if (strlen($location->street) != 0) + $location->street .= " "; + $location->street .= $component->long_name; + } else if (in_array("locality", $component->types)) - $location->city .= " " . $component->long_name; - else if (in_array("postal_town", $component->types)) - $location->city .= " " . $component->long_name; + $location->city .= $component->long_name; + else if (in_array("postal_town", $component->types)) { + if (strlen($location->city) != 0) + $location->city .= "/"; + $location->city .= $component->long_name; + } else if (in_array("country", $component->types)) $location->country = $component->long_name; } diff --git a/srcs/plugins/map_prof/mp_get_filters.php b/srcs/plugins/map_prof/mp_get_filters.php index aff5310..3dc21f9 100644 --- a/srcs/plugins/map_prof/mp_get_filters.php +++ b/srcs/plugins/map_prof/mp_get_filters.php @@ -13,14 +13,15 @@ function mp_add_filters(&$filter, $value) { function mp_get_filters($locations, $filters_fields) { $filters = (object)[]; - foreach ($filters_fields as $field) { - $filters->$field = []; - foreach ($locations as $loc) { - foreach ($loc->events as $event) { - mp_add_filters($filters->$field, $event->$field); - } - } + $filters->pays = []; + $filters->ville = []; + $filters->categorie = []; + + foreach ($locations as $loc) { + $location = $loc->events[0]->location; + mp_add_filters($filters->$field, $event->$field); } + mp_console_log("filters:"); mp_console_log($filters); } diff --git a/srcs/plugins/map_prof/settings/mp_globals.php b/srcs/plugins/map_prof/settings/mp_globals.php new file mode 100644 index 0000000..ce79e22 --- /dev/null +++ b/srcs/plugins/map_prof/settings/mp_globals.php @@ -0,0 +1,45 @@ + 46.227638, "lng" => 2.213749]; // france +if (isset($mp_settings_coordinates_default)) + $mp_coordinates_default = $mp_settings_coordinates_default; + +$mp_icon_color = "#ba197a"; +$mp_icon_color_back = "#ffffff99"; +if (isset($mp_settings_icon_color)) + $mp_icon_color = $mp_settings_icon_color; +if (isset($mp_settings_icon_color_back)) + $mp_icon_color_back = $mp_settings_icon_color_back; + +$mp_icon_stroke_width = 6; +if (isset($mp_settings_icon_stroke_width)) + $mp_icon_stroke_width = $mp_settings_icon_stroke_width; + +?>