fixed error in checks partner own page and modify to draft

This commit is contained in:
asus
2024-04-04 17:35:32 +02:00
parent 4948298b8a
commit 29834a9b9b
4 changed files with 107 additions and 39 deletions

View File

@@ -10,43 +10,30 @@ if (!defined('ABSPATH')) {
/*
* utility function that checks if the current page is owned by the logged in partner
* checks if the current page is owned by the logged in partner
* dont work in 'init' hook
* works in 'wp' hook
*
*/
function is_own_partner() {
function is_own_partner_CIPF() {
Plgntls::debug_infos(2);
$role_partner = Cipf::ROLE_PARTNER;
/*
* is_single() will only return true for published post
* so instead checks for both is_singular and post_type
*
if (!is_partner()) {
return false;
}
if (!is_single()) {
return false;
}
if (!is_singular()) {
return false;
}
error_log("post type: " . get_post_type());
if (get_post_type() !== 'post') {
return false;
}
*/
Plgntls::debug_infos();
if (!is_user_logged_in()) {
return false;
}
if (!current_user_can($role_partner)) {
return false;
}
global $post;
if (is_null($post)) {
return false;
}
Plgntls::debug_infos();
$current_post_author = (int)($post->post_author);
$current_post_author_id = (int)($post->post_author);
$current_user_id = (int)get_current_user_id();
if ($current_user_id !== $current_post_author) {
if ($current_user_id !== $current_post_author_id) {
return false;
}
@@ -55,6 +42,29 @@ error_log("post type: " . get_post_type());
/*
* action to be done at the init state of the page
*
*/
function partner_page_init_CIPF() {
Plgntls::debug_infos(2);
if (!is_partner()) {
return;
}
Plgntls::debug_infos();
// https://developer.wordpress.org/reference/functions/get_query_var/#more-information
global $wp;
$wp->add_query_var('action');
}
add_action('init','partner_page_init_CIPF');
/*
* upload scripts and styles on partner page
*
@@ -79,10 +89,10 @@ function partner_page_scripts_CIPF() {
/*
* then check if is partner own page
*
if (!is_own_partner()) {
*/
if (!is_own_partner_CIPF()) {
return;
}
*/
/*
* on partner own page, load css to show own stuff
@@ -100,23 +110,23 @@ add_action('wp_enqueue_scripts', 'partner_page_scripts_CIPF', 11);
*
*/
function toggle_partner_page_CIPF() {
Plgntls::debug_infos();
Plgntls::debug_infos(2);
$toggle_partner_page = Cipf::QUERY_TOGGLE_PARTNER_PAGE;
/*
* check if :
* - is own partner
* - has query action
* to check for 'action' query, add 'action' to query vars in 'init' hook
* -> https://developer.wordpress.org/reference/functions/get_query_var/#more-information
*
*/
if (!is_own_partner()) {
if (!is_own_partner_CIPF()) {
return;
}
Plgntls::debug_infos();
if (!isset($_GET['action'])) {
return;
}
if ($_GET['action'] !== $toggle_partner_page) {
$is_action_toggle = get_query_var('action', false);
if ($is_action_toggle !== $toggle_partner_page) {
return;
}
@@ -159,7 +169,62 @@ function toggle_partner_page_CIPF() {
}
//add_action('template_redirect', 'toggle_partner_page_CIPF');
add_action('template_redirect', 'toggle_partner_page_CIPF');
/*
* if url uses post id : /?p=40772
* make redirects to its post_name version : /la-fipf
*
*/
//function partner_page_check_url_CIPF() {
// Plgntls::debug_infos(2);
// if (!is_own_partner_CIPF()) {
// return;
// }
// Plgntls::debug_infos();
//
// /*
// * get the post name
// *
// */
// $post_id = get_the_ID();
// $current_post = get_post($post_id);
// if (is_null($current_post)) {
// return;
// }
//
// /*
// *
// *
// $is_query_id = get_query_var('p', false);
// if (false === $is_query_id) {
// return;
// }
// else {
// wp_safe_redirect(home_url($current_post->post_name));
// }
// */
// $current_url = untrailingslashit(get_permalink());
// if (false === $current_url) {
// return;
// }
// $url = untrailingslashit(home_url($current_post->post_name));
//global $wp;
//error_log("wp: " . json_encode($wp));
//error_log("wp->request: " . json_encode($wp->request));
//error_log("url: " . json_encode($url));
//error_log("current_url: " . json_encode($current_url));
//error_log("current_post->post_name: " . json_encode($current_post->post_name));
// if ($url !== $current_url) {
// wp_safe_redirect(home_url($current_post->post_name));
// exit;
// }
//}
//add_action('template_redirect', 'partner_page_check_url_CIPF');
@@ -173,7 +238,7 @@ function page_partner_check_CIPF() {
Plgntls::debug_infos(2);
// is partner own page
if (!is_own_partner()) {
if (!is_own_partner_CIPF()) {
return;
}
Plgntls::debug_infos();