- reorganized files
- fixed error in partner edti/creation page
This commit is contained in:
@@ -9,6 +9,44 @@ if (!defined('ABSPATH')) {
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* 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
|
||||
*
|
||||
*/
|
||||
if (!is_page($slug_partner_create_page)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* action to be done at the init state of the page
|
||||
* cannot check if user is logged in or partner at this step
|
||||
*
|
||||
*/
|
||||
function partner_form_creation_page_init_CIPF() {
|
||||
Plgntls::debug_infos(2);
|
||||
|
||||
redirects_home_if_not_partner();
|
||||
|
||||
// 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');
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -18,33 +56,37 @@ if (!defined('ABSPATH')) {
|
||||
*/
|
||||
function partner_form_creation_page_CIPF() {
|
||||
Plgntls::debug_infos(2);
|
||||
$role_partner = Cipf::ROLE_PARTNER;
|
||||
$slug_partner_create_page = Cipf::SLUG_PARTNER_CREATE_PAGE;
|
||||
|
||||
/*
|
||||
* only for the partner form creation page
|
||||
*
|
||||
*/
|
||||
if (!is_page($slug_partner_create_page)) {
|
||||
redirects_home_if_not_partner();
|
||||
if (!is_partner_form_creation_page_CIPF()) {
|
||||
return;
|
||||
}
|
||||
Plgntls::debug_infos();
|
||||
|
||||
/*
|
||||
* redirect anyone that is not a partner
|
||||
* -> 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
|
||||
*
|
||||
*/
|
||||
if (!is_user_logged_in()) {
|
||||
redirect_home_CIPF();
|
||||
$is_edit_id = get_query_var('pid', false);
|
||||
$partner_post = has_partner_post();
|
||||
if (false === $partner_post) {
|
||||
if (false === $is_edit_id) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (!current_user_can($role_partner)) {
|
||||
redirect_home_CIPF();
|
||||
else {
|
||||
$post_id = $partner_post->ID;
|
||||
if ($is_edit_id == $post_id) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* if a partner already has a page, redirect it
|
||||
*
|
||||
*/
|
||||
redirection_profil_CIPF();
|
||||
}
|
||||
add_action('template_redirect', 'partner_form_creation_page_CIPF');
|
||||
@@ -62,5 +104,4 @@ add_action('template_redirect', 'partner_form_creation_page_CIPF');
|
||||
|
||||
|
||||
|
||||
|
||||
?>
|
||||
|
||||
Reference in New Issue
Block a user