173 lines
4.0 KiB
PHP
173 lines
4.0 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!');
|
|
}
|
|
|
|
|
|
|
|
|
|
/*
|
|
* custom action in php on custom form submission
|
|
* custom forms are not processed by divi form builder
|
|
* so they don't change between hooks before and after process
|
|
*
|
|
*/
|
|
function admin_validate_prof_CIPF($form_id, $post_array, $form_type) {
|
|
PLGNTLS_class::debug_infos();
|
|
$admin_validate_prof_field = PLGNTLS_class::ADMIN_VALIDATE_PROF_FIELD;
|
|
|
|
if ($form_type !== 'custom')
|
|
return;
|
|
error_log("---");
|
|
error_log("in test_form_CIPF");
|
|
// error_log("form_id");
|
|
// error_log(json_encode($form_id));
|
|
// error_log("post_array");
|
|
// error_log(json_encode($post_array));
|
|
// error_log("form_type");
|
|
// error_log(json_encode($form_type));
|
|
|
|
$field_id = $post_array['field_id'];
|
|
$contains_id = in_array($admin_validate_prof_field, $field_id);
|
|
if ($contains_id === false)
|
|
return;
|
|
|
|
/* custom action */
|
|
}
|
|
add_action('df_before_process', 'admin_validate_prof_CIPF', 10, 3);
|
|
|
|
|
|
/*
|
|
before :
|
|
|
|
|
|
in test_form_CIPF
|
|
form_id
|
|
""
|
|
post_array
|
|
{"field_title":["\u00c9tat du compte"],"field_name":["de_fb_compte-actif"],"field_id":["de_fb_field_1"],"form_type_confirm":""}
|
|
form_type
|
|
"custom"
|
|
|
|
---
|
|
|
|
after :
|
|
|
|
|
|
in test_form_CIPF
|
|
form_id
|
|
""
|
|
post_array
|
|
{"field_title":["\u00c9tat du compte"],"field_name":["de_fb_compte-actif"],"field_id":["de_fb_field_1"],"form_type_confirm":""}
|
|
form_type
|
|
"custom"
|
|
|
|
---
|
|
|
|
exploded view :
|
|
|
|
{
|
|
"field_title":["\u00c9tat du compte"],
|
|
"field_name":["de_fb_compte-actif"],
|
|
"field_id":["de_fb_field_1"],
|
|
"form_type_confirm":""
|
|
}
|
|
|
|
|
|
{
|
|
"field_title":["\u00c9tat du compte"],
|
|
"field_name":["de_fb_compte-actif"],
|
|
"field_id":["de_fb_field_1"],
|
|
"compte-actif":"Actif",
|
|
"form_type_confirm":""
|
|
}
|
|
CIPF_admin_activation_prof
|
|
{
|
|
"field_title":["\u00c9tat du compte"],
|
|
"field_name":["compte-actif"],
|
|
"field_id":["cipf_admin_activation_prof"],
|
|
"compte-actif":"Inactif",
|
|
"form_type_confirm":""
|
|
}
|
|
|
|
--- with field test :
|
|
|
|
{
|
|
"field_title":["\u00c9tat du compte","test"],
|
|
"field_name":["compte-actif","de_fb_field_3"],
|
|
"field_id":["cipf_admin_activation_prof","de_fb_field_3"],
|
|
"field_3":"",
|
|
"form_type_confirm":""
|
|
}
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
/*
|
|
* ABORTED
|
|
* tried to receive the form in ajax from front with wp REST API
|
|
* but I cannot verify if the user is logged in
|
|
* so it does not work
|
|
*
|
|
function admin_validate_prof_form_CIPF($request) {
|
|
PLGNTLS_class::debug_infos();
|
|
$slug_page_redirection = PLGNTLS_class::SLUG_PAGE_REDIRECTION;
|
|
|
|
error_log("-----");
|
|
error_log("inside admin_validate_prof_form_CIPF");
|
|
error_log("request");
|
|
error_log(json_encode($request));
|
|
error_log("_POST");
|
|
error_log(json_encode($_POST));
|
|
// _POST : {"field_title":["\u00c9tat du compte"],"field_name":["compte-actif"],"field_id":["cipf_admin_activate_prof"],"form_key":"40781-1","unique_id":"91eed9aa-2b92-4da7-a0b4-e94f24515223","form_type":"custom","divi-form-submit":"yes","form_id":"","form_type_confirm":""}
|
|
|
|
// Set up nocache headers before redirecting : https://developer.wordpress.org/reference/functions/wp_safe_redirect/#user-contributed-notes
|
|
nocache_headers();
|
|
$redirect_url = home_url() . '/' . $slug_page_redirection;
|
|
wp_redirect($redirect_url, 301);
|
|
exit;
|
|
}
|
|
function endpoint_form_admin_activate_prof_CIPF() {
|
|
PLGNTLS_class::debug_infos();
|
|
$base_rest_route = PLGNTLS_class::URL_BASE_REST_ROUTE;
|
|
|
|
register_rest_route($base_rest_route, '/admin_prof_activate_form', array(
|
|
'methods' => 'POST',
|
|
'callback' => 'admin_validate_prof_form_CIPF',
|
|
));
|
|
};
|
|
add_action('rest_api_init', 'endpoint_form_admin_activate_prof_CIPF');
|
|
*/
|
|
|
|
|
|
|
|
|
|
/*
|
|
* ABORTED
|
|
* enqueue script that should prevent the form to submit, but does not work
|
|
*
|
|
function admin_validate_prof_prevent_CIPF() {
|
|
PLGNTLS_class::debug_infos();
|
|
$handle = 'admin_prevent_submit';
|
|
$url = PLGNTLS_class::root_url() . 'js/admin_prevent_submit.js';
|
|
$dependencies = array();
|
|
$version = null;
|
|
$defer = true;
|
|
wp_enqueue_script($handle, $url, $dependencies, $version, $defer);
|
|
}
|
|
add_action('wp_enqueue_scripts', 'admin_validate_prof_prevent_CIPF');
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
?>
|