From 247bc6ae5c51d80672796fb65b48b1e0566ec5a9 Mon Sep 17 00:00:00 2001 From: asus Date: Tue, 14 Nov 2023 12:55:54 +0100 Subject: [PATCH] added more check to the plugin menu --- README.md | 12 ++ plug/{map_prof_apikey.zip => map_prof.zip} | Bin 47870 -> 47879 bytes plug/map_prof/srcs/map/mp_get_events.php | 6 +- srcs/plugins/map_prof/map_prof_hooks.php | 16 +- .../map_prof/srcs/map/mp_get_events.php | 198 ++++++++---------- .../map_prof/srcs/menu/mp_menu_content.php | 3 + 6 files changed, 122 insertions(+), 113 deletions(-) rename plug/{map_prof_apikey.zip => map_prof.zip} (87%) diff --git a/README.md b/README.md index c2b9c26..c560ac7 100644 --- a/README.md +++ b/README.md @@ -17,6 +17,18 @@ --- +- I made a script that goes through all posts each time the map is loaded, + extracts the right info, creates the "locations" object as a global variable, + and serves it to the front end js. It also get the coordinates, but only + when a post is published, and it adds them in the meta field of the post + - that's absurd, all the info should be added to the meta field, and only + reevaluated when post is saved or change status +- I made a rapid check of some errors in plugin menu, but that would be much + better to add the errors to a common place, maybe a post meta fiel, during + the processing of the data + +--- + # 1. MAP ## 1.1. v2 2023 diff --git a/plug/map_prof_apikey.zip b/plug/map_prof.zip similarity index 87% rename from plug/map_prof_apikey.zip rename to plug/map_prof.zip index ca62696eb0d252478faa02a841e03893263958d3..c53028763c2b072800a4583ee5ace06843615f2c 100644 GIT binary patch delta 2216 zcmezOm8tz36K{YwGm8i_0}u#J$eqZm!VIJ)ThEr-=y%@(#NKS+$t26H2^1_Sl-?YW zCd3NjY);Ky!30(+kf#Y&W|L>g3}zG*eq|9X>dy_|(wXq^5Dx=Gx-tWU^5lYMnaS3h zxi-%!yUA65QleMk$6;PGc^*5fr2B@udO4QuyRvIb;^gft6}xl!uWr}KxwRt5AT{=P zhUmcD%SMu3!Hy_27PUQCq%udqqM^ zSvQ?}tXgnfaMdLB!w>+kW3wmbv?3#hs0eD_O1vZ`!n&&F0XQS!vrXc|CPkN-mzdg6)$=BJb6_ zOkUpwE2`Ju$l15^jEHVPYQ3;c(y83E##QY78?SpMrJasdUc$Jud)A-%;WUj+jWfMN;3ze&< ztUq}}{nq_ATNRg`*ch`d!6-5Nwn0tRtn9f5YkN%_8#i{IV=SMVbIs$|EswhM;!mw} zqko^b+x*`emcTd|V%xLAUnbjk7Ei9*%(=O+c?CN-!N_zcGJ+WmJvAI)#{VgnY+#1< z?28Z){w3Dn)HT_6xv84anb$#Lw-_06^xlDKC_liPk;$GJo|Y%CSZ*VVRq5oP%j0=b zG*3=lk&Y&Eb43E0h}+5-ITT&D7}2dfu+kQXl|rks(2VO`m4+tr2SZKq>P$2>FIS`M zidmB>iq%<@&&Nqj{=i#DLB+WNRgO)eXS=xPlC#UjT@yWN3K&AJ$!{F7#Ix= zyhdCgngPt8JaJtrnuW~kGjJQp!2mL{bG#SGXpr~PEOyf z!xYy%xv*Jn^6t%|XqMasN(y%ZC8Z~;ZBequX&*S4!a+qm3`j7jK$!v!e;p;dCnt7G zO`f}j7l;4$Z_#1$11U0^EWcHh6pMsWEUM|5e4s~EiHku2Y&#=^1kh>NGV|nRTXmS$ zf>div{$KNX~U@|kVgXkp5-U5Bx8vf*}TD-wcJ z0L7Q)lhED97FmNceL7T95mBU{?dk>EpC>pW+&;11Er*>kuj zFW7;eCJyb;VX~SJR=~Pb70q+zJ9U^oECNeb?UW_Ohx{l$7F!^m3=} zyLZ2R4)^YVcjSPAa9JOR$BXaZ83CgOsjxgNum*S8({$knnoGst(ma#WQrn7%;VB3@^TR1&S{8*WBb<1LD zxvAD>3R4$Uv4oXfX>gwrboq_ha>bRZrpB9ut~$u6u330XckMz>kg>&&s_9& z#hU_mpPgrQ0=_<|H~bdmc_wG)(N+_M@<8_gpPg>6j{e^_b*0vduOcFP zjK-^YzWbL~l+Ig`ec`$5ETK8<%Cq{Si`+ifdd|JIVZ+@!GUevCp8eQ*r)EFH&A9U4 zLZbg3XL*jl-!8vr?=?FjVrh0< z%ttLJSGw)JSMgfo9qTu$85o#dw0y8`(pf3bc%ff+8dFG55lmRN(6&g8J=rfP>*Kc6phi?QLs_17Sp0m={X zW@NHwh9}a=8<*RN!jy9PGA@8Coy@c%o);ex>PhHdDds(Hj;w@ zWaOmvzA)n$pvFSz$zRr|;?@iVzxM-=ajw2l-p1nfSYbI)o?B-y(v;Gbgs_FuB4Mu}>D*s!Pb&=&jO>#gogoD&sJ5 z{Z<{uC6n)LwX?<b^J7C^4u8`lXJK6;;^HCn+~Jea%o1r$=kOp;IQQl(6pG@lN)EtPqy44ie^>x4jm?| zIY3F#$@6xgN7iYeq~Uz9B;QU|G@TARb(o$n0!udUlqKZIeLJNYnI_-bDUZXEe7kg* w^p{NjuvBDnz%CUus~Ullr*Rl*DmcFRFL0Jphv7ytkO diff --git a/plug/map_prof/srcs/map/mp_get_events.php b/plug/map_prof/srcs/map/mp_get_events.php index dad16c4..42e22c3 100644 --- a/plug/map_prof/srcs/map/mp_get_events.php +++ b/plug/map_prof/srcs/map/mp_get_events.php @@ -131,8 +131,10 @@ function mp_fill_fields_value($id) { // add mode irl or online (irl: true | false) $presentiel = get_field("mode", $id); $event->irl = false; - if ($presentiel[0] === "En présentiel") - $event->irl = true; + if (isset($presentiel[0])) { + if ($presentiel[0] === "En présentiel") + $event->irl = true; + } // add post url $event->url = get_post_permalink($id); diff --git a/srcs/plugins/map_prof/map_prof_hooks.php b/srcs/plugins/map_prof/map_prof_hooks.php index 9bb0097..ad99a6a 100644 --- a/srcs/plugins/map_prof/map_prof_hooks.php +++ b/srcs/plugins/map_prof/map_prof_hooks.php @@ -57,12 +57,20 @@ function mp_ljdp_map() { mp_enqueue_scripts_and_styles(); $events = mp_get_published_events(); // mp_get_events.php - //mp_console_log("events: " . $events); - //foreach ($events as $event) - // mp_console_log($event); + //mp_console_log("events: "); + //mp_console_log($events); + foreach ($events as $event) { + if (gettype($event->categorie) === "array") { + mp_console_log($event->categorie); + } + if (str_starts_with($event->categorie, '["')) { + mp_console_log($event->categorie); + } + } $locations = mp_sort_events($events); // mp_get_locations.php - //mp_console_log("locations: " . $locations); + //mp_console_log("locations: "); + //mp_console_log($locations); $filters = mp_get_filters($events); // mp_get_filters.php diff --git a/srcs/plugins/map_prof/srcs/map/mp_get_events.php b/srcs/plugins/map_prof/srcs/map/mp_get_events.php index dad16c4..508ff4b 100644 --- a/srcs/plugins/map_prof/srcs/map/mp_get_events.php +++ b/srcs/plugins/map_prof/srcs/map/mp_get_events.php @@ -32,51 +32,44 @@ /* GET_POST_CUSTOM : - 1 _cf7_2_post_form_submitted : "yes" - 2 _edit_last : "3" - 3 _edit_lock : "1695215530:3" - 4 _encloseme : "1" - 5 _et_builder_dynamic_assets_loading_attr_threshold : "3" - 6 _pingme : "1" - 7 _thumbnail_id : "32583" - 8 _wp_old_date : "2023-09-06" - - 1 activite_concerne : "les enseignants de français langue étrangère ou français langue seconde" - 2 adresse : "" - 3 adresse_courriel : "ivan.centre@gmail.com" - 4 adresse_courriel_de_contact : "ivan.centre@gmail.com" - 5 categorie : "Conférence/Table ronde/Salon" - 6 composition : `a:4:{i:0;s:62:"Association de professeurs de français membre du réseau FIPF";i:1;s:38:"Ambassade de France/Institut français";i:2;s:27:"Université membre de l'AUF";i:3;s:23:"Organe de presse locale";}` - 7 composition_1 : "Association des professeurs de français de Serbie" - 8 composition_2 : "Institut français de Serbie" - 9 composition_3 : "Faculté de philosophie de l'Université de Nis" - 10 composition_4 : "Média et Reforme Centre" - 11 composition_autres : "" - 12 date : "2023-11-23" - 13 depenses_prevues : "4000" - 14 description_courte : `L'activité prévue: "Pensez vert, sauvez la Terre". Mettre FLE au service de l'écologie!` - 15 description_longue : `L'activité "Pensez vert, sauvez la Terre" est composée de deux segments: a) concours national destiné aux professeurs de FLE qui auront pour tâche de concevoir les fiches pédagogiques à partir de trois films écologiques courts métrages: https://vimeo.com/124807861; https://vimeo.com/120562699; https://vimeo.com/63528500; b) conférences nationales qui se feront en ligne et en présentiel. L'objectif est de faire prendre conscience de la problématique relative au changement climatique et à la biodiversité mais aussi d’encourager les enseignants d'intégrer le FLE au service de l'écologie! \r\n` - 16 fichier : "https://local_lejourduprof.com/wp-content/uploads/2023/09/Budget_previsionnel_JIPF_2023-1.docx" - 17 financement : 'a:1:{i:0;s:3:"oui";}' - 18 fonction : "Président" - 19 heure_de_debut : "10:00" - 20 heure_de_fin : "18:00" - 21 institution : "Association des professeurs de français de Serbie" - 22 lien_internet : "http://www.apfs.edu.rs" - 23 liste_des_depenses : "" - 24 mode : 'a:1:{i:0;s:8:"En ligne";}' - 25 montant_demande : "2000" - 26 nom : "JOVANOVIĆ" - 27 participation : "1000" - 28 pays : "Serbie" - 29 plan_de_communication : "Avant le projet: organisation d'une conférence de presse pour parler de l'activité; création des affiches de l'activité; annoncer le projet dans les médias et sur les réseaux sociaux ainsi que sur les sites des partenaires concernés.\r\n\r\nPendant le projet: communication sur les réseaux sociaux et sur les sites des partenaires concernés.\r\n\r\nAprès le projet: médias, réseaux sociaux et les sites des partenaires concernés." - 30 prenom : "Ivan" - 31 public_vise : "1000, enseignants de FLE, étudiants, lycéens bilingues" - 32 recettes_prevues : "0" - 33 resultat_attendu : "Les enseignants seront mobilisés face à la langue française et le mettront au service de l'écologie globale! Grâce à leur engagement et leur dévouement auprès des élèves ils seront motivés de les faire sensibiliser sur les causes et les effets de l’érosion de la biodiversité, de leur monter le rôle important de l'apprentissage du français dans la préservation de la Terre et de sa population. Aussi, Cette activité a pour l’ambition de construire la nécessité d’acquérir les compétences à leur activité future à une citoyenneté éco active. On développera chez eux des compétences de communication, d’expression orale, d’expression écrite, d’argumentation, de justification." - 34 resultats_attendus : "Les enseignants seront mobilisés face à la langue française et le mettront au service de l'écologie globale! Grâce à leur engagement et leur dévouement auprès des élèves ils seront motivés de les faire sensibiliser sur les causes et les effets de l’érosion de la biodiversité, de leur monter le rôle important de l'apprentissage du français dans la préservation de la Terre et de sa population. Aussi, Cette activité a pour l’ambition de construire la nécessité d’acquérir les compétences à leur activité future à une citoyenneté éco active. On développera chez eux des compétences de communication, d’expression orale, d’expression écrite, d’argumentation, de justification." - 35 se_connecter : "meet.google.com/mnu-czps-rrh " - 36 telephone : "+381649997389" + activite_concerne : "les enseignants de français langue étrangère ou français langue seconde" + adresse : "Institut français du Liban, Beirut, Lebanon" + adresse_courriel : "ihoteit@hotmail.com" + adresse_courriel_de_contact : "ihoteit@hotmail.com" + categorie : "Rencontre/Témoignage" + composition : [ "Association de professeurs de français membre du réseau FIPF", "Ambassade de France/Institut français", "Bureau ou représentation de l'OIF" ] + composition_1 : "Association Libanaise des Enseignants de Français, ALEF" + composition_2 : "Institut français au Liban" + composition_3 : "Représentation OIF" + composition_4 : "" + composition_autres : "" + date : "2023-11-23" + depenses_prevues : " collation, pins-souvenirs , déplacements, filmage et photos, affiches, secrétariat et frais divers" + description_courte : "Une rencontre-témoignage festive en présence des décideurs, des acteurs de la francophonie au Liban, pays fier de son plurilinguisme et sa diversité\n" + description_longue : "Enseignants et élèves témoigneront des opportunités et des atouts que l’enseignement et l’apprentissage du français leur offrent à tous les niveaux : éducatif, personnel, professionnel, social, interculturel et humain. Leur amour pour le français, moyen d’ouverture au monde francophone ainsi qu’à l’international, est sans égal dans un pays plurilingue comme le Liban !\nUne réception clôturera cette belle journée de tous ceux qui œuvrent pour l’expansion de la langue et des valeurs françaises et francophones.\nProgramme\nOuverture: Discours des officiels\nChansons et musique. Trois performances musicales animeraient la cérémonie, au début, au milieu et à la fin\ntémoignages des enseignants .\n\n\n" + engagement : "" + fichier : "https://lejourdesprofs.org/wp-content/uploads/2023/09/Budget_previsionnel_JIPF_2023-envoye.docx" + financement : [ 'a:1:{i:0;s:3:"oui";}' ] + fonction : "Secrétaire Générale" + heure_de_debut : "16H " + heure_de_fin : "18H" + institution : "Association Libanaise des Enseignants de Français,ALEF" + lien_internet : "http://alef-liban.org" + liste_des_depenses : "collation, pins-souvenirs , déplacements, filmage et photos, gestion de la communication , suivi logistique et technique, affiches , secrétariat et frais divers .\n" + location : { address:"VGJ7+34P, Beyrouth, Liban", approximate:false, city:"Beyrouth", country:"Liban", street:"", coordinates:{ lat:33.8802185, lng:35.5128288 } } + mode : [ "En présentiel" ] + montant_demande : "1400 euros" + nom : "Slim-Hoteit" + participation : "100 participants" + pays : "" + plan_de_communication : "Avant : diffusion très large de l'information concernant la JIPF : réseaux sociaux et sites internet ALEF, FIPF, IFprof et journaux (L'Orient le Jour)\nPendant : présence des journalistes et couverture en directe sur la page facebook de l'ALEF\nAprès : large diffusion des rapports ,photos et vidéos dans la presse et sur les réseaux sociaux" + prenom : "Ilham" + public_vise : "100 personnes: officiels, enseignants, élèves, étudiants " + recettes_prevues : "Participation de l'ALEF: gestion de la communication avant, pendant et après , suivi logistique et technique" + resultat_attendu : " les recettes couvriront les dépenses" + resultats_attendus : "Echanger dans une ambiance festive et rendre hommage aux enseignantes et enseignants le jour de leur fete internationale" + se_connecter : "" + telephone : "009613180576" */ function mp_get_published_posts() { @@ -107,20 +100,25 @@ function mp_fill_fields_value($id) { // add fields $fields = array( - "heure_de_debut", - "heure_de_fin", - "categorie", - "date", - "pays", - "ville", - "adresse", - "prenom", - "nom", - "location", + "heure_de_debut" => "string", + "heure_de_fin" => "string", + "categorie" => "string", + "date" => "string", + "pays" => "string", + "adresse" => "string", + "prenom" => "string", + "nom" => "string", + "location" => "object", ); $event = (object)[]; - foreach($fields as $field) { + foreach($fields as $field => $of_type) { $value = get_field($field, $id); + + //$actual_type = gettype($value); + //if ($actual_type !== $of_type) { + // mp_console_log("field '" . $field . "' has a value of type '" . $actual_type . "' instead of '" . $of_type . "'"); + //} + if ($value === "↓") $value = "Autre"; if (gettype($value) === "string") @@ -131,8 +129,10 @@ function mp_fill_fields_value($id) { // add mode irl or online (irl: true | false) $presentiel = get_field("mode", $id); $event->irl = false; - if ($presentiel[0] === "En présentiel") - $event->irl = true; + if (isset($presentiel[0])) { + if ($presentiel[0] === "En présentiel") + $event->irl = true; + } // add post url $event->url = get_post_permalink($id); @@ -143,33 +143,6 @@ function mp_fill_fields_value($id) { function mp_get_published_events() { $posts_list = mp_get_published_posts(); -// mp_console_log("posts :"); -// mp_console_log($posts_list); -// foreach ($posts_list as $post) { -// mp_console_log("--------------- post :"); -// $id = $post->ID; -// mp_console_log("id: " . $id); -// mp_console_log("adresse: " . $event->adresse); -// mp_console_log("pays: " . $event->pays); -// mp_console_log("ville: " . $event->ville); -// mp_console_log("irl: " . $event->irl); -// mp_console_log($event); -// -// $fields = get_fields($id); -// mp_console_log("fields:"); -// mp_console_log($fields); -// $field_heure = get_field("heure_de_debut", $id); -// mp_console_log("field_heure: " . $field_heure); -// $post_metas = get_post_meta($id); -// mp_console_log("post_metas:"); -// mp_console_log($post_metas); -// $post_custom = get_post_custom($id); -// mp_console_log("post_custom:"); -// mp_console_log($post_custom); -// foreach( $fields as $name => $value ) -// mp_console_log($name . " : " . $value); -// } - $events = []; foreach ($posts_list as $post) { $event = mp_fill_fields_value($post->ID); @@ -182,30 +155,41 @@ function mp_get_published_events() { } /* - event : {} + event : {} - heure_de_debut : ""; - heure_de_fin : ""; - - categorie : ""; - - date : ""; - - pays : ""; - - ville : ""; - - adresse : ""; - - prenom : ""; - - nom : ""; - - irl : bool; - - id : x; - - index : x (default null); - - title : ""; - - url : ""; - - location : {} - - street : ""; - - city : ""; - - country : ""; - - address : ""; - - approximate : bool; - - coordinates : {} - - lat : x; - - lng : x; + - categorie : ""; + - date : ""; + - pays : ""; + - ville : ""; + - adresse : ""; + - prenom : ""; + - nom : ""; + - irl : bool; + - id : x; + - index : x (default null); + - title : ""; + - url : ""; + - location : {} + - street : ""; + - city : ""; + - country : ""; + - address : ""; + - approximate : bool; + - coordinates : {} + - lat : x; + - lng : x; + + + + + +-------------------------- + +Object { +} + + */ diff --git a/srcs/plugins/map_prof/srcs/menu/mp_menu_content.php b/srcs/plugins/map_prof/srcs/menu/mp_menu_content.php index 20b5e0c..0462bc0 100644 --- a/srcs/plugins/map_prof/srcs/menu/mp_menu_content.php +++ b/srcs/plugins/map_prof/srcs/menu/mp_menu_content.php @@ -65,6 +65,9 @@ function mp_bad_categories($posts_list) { //mp_console_log("categorie:"); //mp_console_log($value); } + if (str_starts_with($value, '["')) { + array_push($posts_bad_categories, $post); + } } return $posts_bad_categories; }