- removed custom user function and put it in custer
- changed main file for cipf instead of fipfcard - reset some fields after prof form validation
This commit is contained in:
134
plugins/cipf_plugin/php/profs_profil.php
Normal file
134
plugins/cipf_plugin/php/profs_profil.php
Normal file
@@ -0,0 +1,134 @@
|
||||
<?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) {
|
||||
PLGNTLS_class::debug_infos();
|
||||
$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['_name'], $acf_id);
|
||||
if ($is_activ === $acf_prof_is_activ['activ'])
|
||||
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;
|
||||
|
||||
// Set up nocache headers before redirecting : https://developer.wordpress.org/reference/functions/wp_safe_redirect/#user-contributed-notes
|
||||
nocache_headers();
|
||||
wp_redirect($redirection_prof_inactiv, 301);
|
||||
exit;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* check acf field payment_status
|
||||
* if field value is 'success'
|
||||
* - show block 'failure'
|
||||
* - and update field to 'nothing', so it will not show next time
|
||||
* if field value is 'failure'
|
||||
* - show bloc success
|
||||
* - and update field to 'nothing', so it will not show next time
|
||||
* if field value is 'nothing'
|
||||
* - do nothing (keep blocs hidden)
|
||||
* if field value is 'started'
|
||||
* - do nothing (keep blocs hidden)
|
||||
*
|
||||
* .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) {
|
||||
PLGNTLS_class::debug_infos();
|
||||
$acf_prof_is_activ = PLGNTLS_class::ACF_PROF_IS_ACTIV;
|
||||
$acf_payment_status = PLGNTLS_class::ACF_CARD_PAYMENT_STATE;
|
||||
|
||||
$acf_id = 'user_' . $user_id;
|
||||
|
||||
/*
|
||||
* if prof is inactive, do nothing more
|
||||
*
|
||||
*/
|
||||
$is_activ = get_field($acf_prof_is_activ['_name'], $acf_id);
|
||||
if (is_null($is_activ))
|
||||
return;
|
||||
if (empty($is_activ))
|
||||
return;
|
||||
if ($is_activ === $acf_prof_is_activ['activ'])
|
||||
return;
|
||||
|
||||
$cipf_prof_payement = new PLGNTLS_class();
|
||||
|
||||
$payement_status = get_field($acf_payment_status['_name'], $acf_id);
|
||||
if ($payement_status === $acf_payment_status['success']) {
|
||||
$cipf_prof_payement->add_to_front(array(
|
||||
array( 'css' => '.cipf_prof_paiement_message#cipf_prof_paiement_reussi {display: block;}' )
|
||||
));
|
||||
}
|
||||
else if ($payement_status === $acf_payment_status['failure']) {
|
||||
$cipf_prof_payement->add_to_front(array(
|
||||
array( 'css' => '.cipf_prof_paiement_message#cipf_prof_paiement_echoue {display: block;}' )
|
||||
));
|
||||
}
|
||||
|
||||
update_field($acf_payment_status['_name'], $acf_payment_status['nothing'], $acf_id);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* series of check to do before printing a prof author page
|
||||
*
|
||||
*/
|
||||
function check_prof_page_CIPF() {
|
||||
PLGNTLS_class::debug_infos();
|
||||
|
||||
// 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);
|
||||
|
||||
|
||||
|
||||
?>
|
||||
Reference in New Issue
Block a user