-1, 'post_status' => 'any', 'post_type' => 'post', ); $posts_list = get_posts($get_posts_args); return $posts_list; } function mp_posts_published($posts_list) { $posts_published = []; foreach ($posts_list as $post) { $status = $post->post_status; if ($status == "publish") array_push($posts_published, $post); } return $posts_published; } function mp_have_no_address($posts_list) { $posts_no_address = []; foreach ($posts_list as $post) { $address = mp_get_address($post->ID); if (empty($address)) array_push($posts_no_address, $post); } return $posts_no_address; } function mp_have_no_coordinates($posts_list) { $posts_no_coordinates = []; foreach ($posts_list as $post) { $location = get_field("location", $post->ID); if (empty($location)) array_push($posts_no_coordinates, $post); else if (empty($location->coordinates)) array_push($posts_no_coordinates, $post); } return $posts_no_coordinates; } function mp_bad_categories($posts_list) { $posts_bad_categories = []; foreach ($posts_list as $post) { $value = get_field("categorie", $post->ID); if (! is_string($value)) { array_push($posts_bad_categories, $post); //mp_console_log("categorie:"); //mp_console_log($value); } if (str_starts_with($value, '["')) { array_push($posts_bad_categories, $post); } } return $posts_bad_categories; } function count_publish($arr_posts) { return($arr_posts->post_status === "publish"); } function mp_show_list_posts_no_address($posts) { $all_posts = count($posts); $published_posts = count(array_filter($posts, "count_publish")); echo <<
ATTENTION !
HTML; echo "$all_posts"; echo "$published_posts"; echo ''; if (count($posts) == 1) echo " article n'a pas d'adresse :"; else echo " articles n'ont pas d'adresses :"; echo <<
ATTENTION !
HTML; echo "$all_posts"; echo "$published_posts"; echo ''; if (count($posts) == 1) echo " article à sa catégorie mal formatée :"; else echo " articles ont leur catégorie mal formatée :"; echo <<
INFORMATION :
HTML; echo "$all_posts"; echo "$published_posts"; echo ''; if (count($posts) == 1) echo " article n'a pas de coordonnees :"; else echo " articles n'ont pas de coordonnees :"; echo <<
pour actualiser les coordonnees d'un article, il suffit de le remettre en "brouillon" puis de le publier a nouveau
HTML; } function mp_show_post_number($posts_list, $posts_published) { echo <<nombre d'articles au total : HTML; echo count($posts_list); echo " (dont "; echo count($posts_published) . ""; if (count($posts_published) == 1) echo " publié)"; else echo " publiés)"; } function mp_show_api_key_n_ip() { global $mp_api_key; global $mp_api_key_geo; echo <<l'adresse ip du serveur est : HTML; $external_ip = mp_get_ip(); echo $external_ip; echo << HTML; echo <<les cles api de google maps utilisees sont :(elles sont inscrites dans ./settings/mp_required.php)
HTML; // need to use an api key with special restrictions : // https://stackoverflow.com/questions/42167695/api-key-browser-api-keys-cannot-have-referer-restrictions-when-used-with-this-ap echo << → pour la carte : cette cle api peut etre restreinte par url, et par api avec l'api "Maps Javascript API"→ pour les coordonnees : cette cle api ne doit pas etre restreinte par url, elle peut etre restreinte par adresse ip du serveur, et par api avec l'api "Geocoding API"
→ pour utiliser une seule cle api : cette cle api ne doit pas etre restreinte ni par url ni par adresse ip, elle peut etre restreinte par api avec les deux apis "Maps Javascript API" et "Geocoding API"
HTML; } function ljdp_map_plugin_content() { $posts_list = mp_get_all_posts(); //mp_console_log("posts_list: "); //mp_console_log($posts_list); $posts_published = mp_posts_published($posts_list); $posts_no_address = mp_have_no_address($posts_list); //mp_console_log("posts_no_address: "); //mp_console_log($posts_no_address); $posts_no_coordinates = mp_have_no_coordinates($posts_list); //mp_console_log("posts_no_coordinates: "); //mp_console_log($posts_no_coordinates); $posts_bad_categories = mp_bad_categories($posts_list); //mp_console_log("posts_bad_categories: "); //mp_console_log($posts_bad_categories); echo << li { list-style-position: outside; margin-left: 10px; } input.hide_not_published:checked ~ ul li:not(.jipf_post_publish) { display: none; } .count_published_posts { display: none; } input.hide_not_published:checked ~ p .count_all_posts { display: none; } input.hide_not_published:checked ~ p .count_published_posts { display: inline; }