197 lines
7.2 KiB
PHP
197 lines
7.2 KiB
PHP
<?php
|
||
|
||
/*
|
||
GET_POST :
|
||
|
||
1 ID: 29693
|
||
2 comment_count: "0"
|
||
3 comment_status: "closed"
|
||
4 filter: "raw"
|
||
5 guid: "https://local_lejourduprof.com/?p=29693"
|
||
6 menu_order: 0
|
||
7 ping_status: "closed"
|
||
8 pinged: ""
|
||
9 post_author: "1"
|
||
10 post_content: ""
|
||
11 post_content_filtered: ""
|
||
12 post_date: "2022-11-04 18:05:49"
|
||
13 post_date_gmt: "2022-11-04 17:05:49"
|
||
14 post_excerpt: "Les enseignants vont présenter les projets développés dans leurs classes et partager leurs pratiques et expériences."
|
||
15 post_mime_type: ""
|
||
16 post_modified: "2022-11-05 09:39:46"
|
||
17 post_modified_gmt: "2022-11-05 08:39:46"
|
||
18 post_name: "construisons-ensemble-lavenir"
|
||
19 post_parent: 0
|
||
20 post_password: ""
|
||
21 post_status: "draft"
|
||
22 post_title: "Construisons ensemble l'avenir"
|
||
23 post_type: "post"
|
||
24 to_ping: ""
|
||
*/
|
||
|
||
/*
|
||
GET_POST_CUSTOM :
|
||
|
||
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() {
|
||
|
||
$get_posts_args = array(
|
||
'numberposts' => -1,
|
||
'post_status' => 'publish',
|
||
'post_type' => 'post',
|
||
);
|
||
$posts_published = get_posts($get_posts_args);
|
||
|
||
return $posts_published;
|
||
}
|
||
|
||
function mp_fill_fields_value($id) {
|
||
|
||
/*
|
||
* get_field is an ACF function
|
||
* in "pure" worpdress use :
|
||
* get_post_meta or get_post_custom
|
||
* - https://developer.wordpress.org/reference/functions/get_post_meta/
|
||
* - https://developer.wordpress.org/reference/functions/get_post_custom/
|
||
* if you try to use `get_fields(id)` to retrieve all the acf7 custom fields,
|
||
* sometimes it fails eventhough you can get a specific value with `get_field(value, id)`,
|
||
* it's because acf7 didn´t insert the field itself and so some hidden data is not there :
|
||
* - https://coreysalzano.com/wordpress/acf-get_fields-not-working-but-get_field-does/
|
||
*/
|
||
|
||
// add fields
|
||
$fields = array(
|
||
"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 => $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")
|
||
$value = trim($value, " ");
|
||
$event->$field = $value;
|
||
}
|
||
|
||
// add mode irl or online (irl: true | false)
|
||
$presentiel = get_field("mode", $id);
|
||
$event->irl = false;
|
||
if (isset($presentiel[0])) {
|
||
if ($presentiel[0] === "En présentiel")
|
||
$event->irl = true;
|
||
}
|
||
|
||
// add post url
|
||
$event->url = get_post_permalink($id);
|
||
|
||
return $event;
|
||
}
|
||
|
||
function mp_get_published_events() {
|
||
$posts_list = mp_get_published_posts();
|
||
|
||
$events = [];
|
||
foreach ($posts_list as $post) {
|
||
$event = mp_fill_fields_value($post->ID);
|
||
$event->id = $post->ID;
|
||
$event->title = trim($post->post_title, " ");
|
||
$event->index = null;
|
||
array_push($events, $event);
|
||
}
|
||
return $events;
|
||
}
|
||
|
||
/*
|
||
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;
|
||
|
||
|
||
|
||
|
||
|
||
--------------------------
|
||
|
||
Object {
|
||
}
|
||
|
||
|
||
*/
|
||
|
||
|
||
?>
|