- reorganized files

- fixed error in partner edti/creation page
This commit is contained in:
asus
2024-04-04 14:03:24 +02:00
parent 91a67d955b
commit c87ba760fc
13 changed files with 181 additions and 100 deletions

View File

@@ -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');
?>