Files
2024_WEBSITE_fipf/plugins/cipf_plugin/php/partners_form.php

166 lines
6.7 KiB
PHP

<?php
/*
* it means someone outside wp is accessing the file, in this case kill it.
*/
if (!defined('ABSPATH')) {
die('You can not access this file!');
}
/*
* the earliest hook to use is_..() is parse_query
* -> https://developer.wordpress.org/apis/hooks/action-reference/
*
*/
function is_partner_form_creation_page_CIPF() {
Plgntls::debug_infos();
$slug_partner_create_page = Cipf::SLUG_PARTNER_CREATE_PAGE;
/*
* only for the partner form creation page
* first available hook is parse_query
* -> https://developer.wordpress.org/apis/hooks/action-reference/
* 584 : wordpress_docker/volumes/wp_volume/wp-includes/query.php
* 4427 : wordpress_docker/volumes/wp_volume/wp-includes/class-wp-query.php
*
*/
if (!is_page($slug_partner_create_page)) {
return false;
}
return true;
}
/*
* action to be done at the init state of the page
*
*/
function partner_form_creation_page_init_CIPF() {
Plgntls::debug_infos(2);
if (!is_partner_CIPF()) {
return;
}
Plgntls::debug_infos();
// https://developer.wordpress.org/reference/functions/get_query_var/#more-information
global $wp;
$wp->add_query_var('pid');
}
add_action('init','partner_form_creation_page_init_CIPF');
/*
* check if partner can access the form to create a new page
*
*/
function partner_form_creation_page_CIPF() {
Plgntls::debug_infos(2);
if (!is_partner_CIPF()) {
return;
}
if (!is_partner_form_creation_page_CIPF()) {
return;
}
Plgntls::debug_infos();
/*
* -> if partner don't have page yet && this is not edit page -> let him access it
* if partner dont' have page yet && this is edit page -> redirect him
* if partner have page && this is not edit page -> redirect him
* -> if partner have page && this is edit page && this edit its page -> let him access it
* if partner have page && this is edit page && this dont edit its page -> redirect him
*
* to check for pid, add 'pid' to query vars in 'init' hook
* -> https://developer.wordpress.org/reference/functions/get_query_var/#more-information
*
*/
$is_edit_id = get_query_var('pid', false);
$partner_post = has_partner_post();
if (false === $partner_post) {
if (false === $is_edit_id) {
return;
}
}
else {
$post_id = $partner_post->ID;
if ($is_edit_id == $post_id) {
return;
}
}
redirection_profil_CIPF();
}
add_action('template_redirect', 'partner_form_creation_page_CIPF');
/*
* actions after partner form is validated
*
*/
function partner_after_form_CIPF($form_id, $post_array, $form_type) {
Plgntls::debug_infos(2);
$form_partner_id = Cipf::FORM_PARTNER_PAGE_ID;
if ($form_partner_id !== $form_id) {
return;
}
Plgntls::debug_infos();
// error_log("form_id: " . json_encode($form_id));
// error_log("post_array: " . json_encode($post_array));
// error_log("form_type: " . json_encode($form_type));
$post_id = $post_array['ID'];
}
add_action('df_after_process', 'partner_after_form_CIPF', 10, 3);
/*
is_offer_1: false
offer_1 date: {"date":"2024-04-10 00:15:06.000000","timezone_type":3,"timezone":"UTC"}
is_offer_2: true
offer_2 date: {"date":"2024-04-18 00:15:06.000000","timezone_type":3,"timezone":"UTC"}
is_offer_3: false
offer_3 date: false
form_id: "crea_partenaire"
post_array: {
"post_status":"publish",
"field_title":["Nom commercial","Votre site Internet","Dans quelle rubrique devez-vous para\u00eetre ? ","L\\'accroche en t\u00eate de page","Pr\u00e9sentez-vous","Votre logo ","Image principale","Voulez-vous afficher cette offre ?","Dur\u00e9e de l\\'offre","Validit\u00e9 de l\\'offre","Titre","Texte de l\\'offre","Image (facultatif)","Voulez-vous afficher cette offre ?","Dur\u00e9e de l\\'offre","Validit\u00e9 de l\\'offre","Titre","Texte de l\\'offre","Image (facultatif)","Voulez-vous afficher cette offre ?","Dur\u00e9e de l\\'offre","Validit\u00e9 de l\\'offre","Titre","Texte de l\\'offre","Image (facultatif)","slug"],
"post_title":"La FIPF",
"meta_input":{"url_partenaire":"","_url_partenaire":"field_65cb83096d020","logo_partenaire":"40770","_logo_partenaire":"field_65cb79150ac4f","afficher_offre_1":"Afficher","_afficher_offre_1":"field_65d8cf09395a5","duree_offre_1":"Permanente","_duree_offre_1":"field_65f81843cc36e","fin_offre_1":[],"offre_1_titre":"La F\u00e9d\u00e9ration internationale des professeurs de fran\u00e7ais","_offre_1_titre":"field_65d8bbf6b4651","offre_1_txt":"Participez \u00e0 tous les congr\u00e8s de la FIPF au tarif \u00ab\u00a0membre\u00a0\u00bb (r\u00e9duction de 20% en moyenne) et gagnez les actes du dernier congr\u00e8s mondial \u00e0 Li\u00e8ge en version \u00e9lectronique.\r\nAcc\u00e9dez gratuitement \u00e0 la biblioth\u00e8que num\u00e9rique de la FIPF, qui regroupe les anciens num\u00e9ros du \u00ab\u00a0Fran\u00e7ais dans le monde\u00a0\u00bb et des \u00ab\u00a0Dialogues et Cultures\u00a0\u00bb (et d\u2019autres publications qui seront encore ajout\u00e9es).","_offre_1_txt":"field_65d8bc395bf88","offre_1_image":"","_offre_1_image":"field_65d8bc5d5bf8b","afficher_offre_2":"Masquer","_afficher_offre_2":"field_65e20fb8785ba","duree_offre_2":[],"fin_offre_2":[],"offre_2_titre":[],"offre_2_txt":[],"offre_2_image":"41438","_offre_2_image":"field_65d8bc6e5bf8c","afficher_offre_3":"Masquer","_afficher_offre_3":"field_65d8cf48395a6","duree_offre_3":[],"fin_offre_3":[],"offre_3_titre":[],"offre_3_txt":[],"offre_3_image":"","_offre_3_image":"field_65d8bc8c5bf8e"},
"tax_input":{"category":[1]},
"post_excerpt":"R\u00e9duction de 20 % aux congr\u00e8s et acc\u00e8s \u00e0 la biblioth\u00e8que num\u00e9rique",
"post_content":"La F\u00e9d\u00e9ration Internationale des Professeurs de Fran\u00e7ais anime depuis 1969\u00a0<strong>le r\u00e9seau mondial des associations d\u2019enseignants de fran\u00e7ais<\/strong>. Elle contribue au d\u00e9veloppement des associations affili\u00e9es et, \u00e0 travers elles, \u00e0 la promotion de la langue fran\u00e7aise. Au service de la communaut\u00e9 internationale des professeurs de fran\u00e7ais, la FIPF est un acteur important de la francophonie.\r\nLa FIPF, c\u2019est aujourd\u2019hui\u00a0<strong>200 associations locales<\/strong>\u00a0et nationales et\u00a0<strong>80 000 enseignants<\/strong>, dans plus de\u00a0<strong>120 pays des 5 continents<\/strong>. La FIPF s\u2019adresse non seulement aux professeurs de fran\u00e7ais \u2013 langue maternelle, langue seconde ou langue \u00e9trang\u00e8re \u2013 adh\u00e9rents du r\u00e9seau FIPF, mais aussi \u00e0 tous les professeurs de fran\u00e7ais \u00e0 travers le monde, ainsi qu\u2019\u00e0 tous les passionn\u00e9s de la langue fran\u00e7aise et des cultures francophones.\r\n\r\nBienvenue \u00e0 tous les amis de la francophonie !",
"_ajax_linking_nonce":"540c4df3e2",
"post_thumbnail":"40771",
"post_name":"la-fipf",
"ID":"40772",
"form_type_confirm":"",
"post_type":"post",
"post_date":"2024-03-08 06:44:39"
}
form_type: "post"
*/
?>