Files
2024_WEBSITE_fipf/plugins/cipf_plugin/php/prof_check_page.php
2024-03-07 22:35:39 +01:00

124 lines
2.8 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!');
}
function handle_prof_is_activ_CIPF($author_id) {
$acf_prof_is_activ = PLGNTLS_class::ACF_PROF_IS_ACTIV;
$slug_wait_activation = PLGNTLS_class::SLUG_PROF_INACTIV;
$acf_id = 'user_' . $author_id;
/*
* if prof is activ, do nothing more
*
*/
$is_activ = get_field($acf_prof_is_activ, $acf_id);
if ($is_activ === 'Actif')
return;
/*
* else if prof inactiv
* if is admin or other allowed roles, see the page anyway
* no need to handle allowed roles, it's already
* taken care by author_restriction.php
*
*/
$user_id = get_current_user_id();
if ($user_id !== $author_id)
return;
/*
* if prof is activ
* redirect to waiting page
*
*/
$redirection_prof_inactiv = home_url() . '/' . $slug_wait_activation;
wp_redirect($redirection_prof_inactiv, 301);
exit;
}
/*
* check meta field 'cipf_payement_status'
* if field value is 'success'
* - hide block 'failure'
* - and update field to '', so it will not show next time
* if field value is 'started'
* - hide bloc success
* (we assume it means the order didn't go well)
* (it does not really makes sens, but ok for the moment)
* if field value is ''
* - hide both 'success' and 'failure' blocs
*
* .cipf_prof_paiement_message -> on row, added display none in page css
* #cipf_prof_paiement_reussi -> on row
* #cipf_prof_paiement_echoue -> on row
*
*/
function show_prof_paiement_messages_CIPF($user_id) {
/*
* if prof is inactive, do nothing more
*
*/
$acf_prof_is_activ = PLGNTLS_class::ACF_PROF_IS_ACTIV;
$acf_id = 'user_' . $user_id;
$is_activ = get_field($acf_prof_is_activ, $acf_id);
if (is_null($is_activ) || empty($is_activ))
return;
if ($is_activ === 'Inactif')
return;
$cipf_prof_payement = new PLGNTLS_class();
$payement_status2 = get_user_meta($user_id, 'cipf_payement_status');
$payement_status = get_user_meta($user_id, 'cipf_payement_status', true);
if ($payement_status === 'success') {
$cipf_prof_payement->add_to_front(array(
array( 'css' => '#cipf_prof_paiement_reussi {display: block;}' )
));
}
else if ($payement_status === 'started') {
$cipf_prof_payement->add_to_front(array(
array( 'css' => '#cipf_prof_paiement_echoue {display: block;}' )
));
}
update_user_meta($user_id, 'cipf_payement_status', '');
}
/*
* series of check to do before printing a prof author page
*
*/
function check_prof_page_CIPF() {
// is an author page
if (!is_author())
return;
// the way to find the id of the author of an author_page
$author_id = get_queried_object_id();
handle_prof_is_activ_CIPF($author_id);
show_prof_paiement_messages_CIPF($author_id);
}
add_action('template_redirect', 'check_prof_page_CIPF', 11);
?>