Files
2024_WEBSITE_fipf/plugins/xtxpatch/php/menu/admin_menu.php
2024-04-03 16:23:14 +02:00

177 lines
12 KiB
PHP

<?php
namespace XTXPATCH;
/*
* it means someone outside wp is accessing the file, in this case kill it.
*/
if (!defined('ABSPATH')) {
die('You can not access this file!');
}
/*
* creates the plugin menu
*
*/
function add_plugin_menu() {
\Plgntls_xtx::add_menu(__NAMESPACE__.'\menu_content');
}
add_action('admin_menu', __NAMESPACE__.'\add_plugin_menu');
/*
* the construction of the admin menu page
*
*/
function menu_content() {
$option_register_email = Xtxpatch::OPTION_REGISTER_EMAIL;
$option_register_email_name = $option_register_email['_name'];
$option_register_email_value = \Plgntls_xtx::get_option_safe($option_register_email);
ob_start();
include(\Plgntls_xtx::root_path() . 'html/admin_menu.html');
echo ob_get_clean();
}
function define_register_email($request, $option_name, $option_value, $option_default) {
/*
* email
*
*/
$email = '';
if (isset($request['email'])) {
$email = $request['email'];
}
/*
* is email ?
*
*/
$is_email_prof = false;
if (isset($request['is_email_prof']) && $request['is_email_prof'] === 'on') {
$is_email_prof = true;
}
$is_email_partner = false;
if (isset($request['is_email_partner']) && $request['is_email_partner'] === 'on') {
$is_email_partner = true;
}
/*
* update the option with new values
*
*/
$option_data = array(
'email' => $email,
'is_email_prof' => $is_email_prof,
'is_email_partner' => $is_email_partner,
);
\Plgntls_xtx::update_option_safe($option_name, $option_data);
}
/*
* use this filter to check if the role should allow registration email
* ../../../wordpress_docker/volumes/wp_volume/wp-includes/pluggable.php
* 2210 : $send_notification_to_user = apply_filters( 'wp_send_new_user_notification_to_user', true, $user );
*
*/
function send_registration_email($send, $user) {
$role_partner = Xtxpatch::ROLE_PARTNER;
$role_prof = Xtxpatch::ROLE_PROF;
$option_register_email = Xtxpatch::OPTION_REGISTER_EMAIL;
$email_option = \Plgntls_xtx::get_option_safe($option_register_email['_name']);
$roles = wp_roles()->role_names;
error_log("roles: " . json_encode($roles));
/*
roles: {
"administrator":"Administrator",
"professeur__professeure":"Professeur\u00a0\/ professeure",
"partenaire":"Partenaire",
"fipf":"FIPF",
"fipf_clone":"FIPF Clone"
}
roles: {
"roles":{
"administrator":{"name":"Administrator","capabilities":{"switch_themes":true,"edit_themes":true,"activate_plugins":true,"edit_plugins":true,"edit_users":true,"edit_files":true,"manage_options":true,"moderate_comments":true,"manage_categories":true,"manage_links":true,"upload_files":true,"import":true,"unfiltered_html":true,"edit_posts":true,"edit_others_posts":true,"edit_published_posts":true,"publish_posts":true,"edit_pages":true,"read":true,"level_10":true,"level_9":true,"level_8":true,"level_7":true,"level_6":true,"level_5":true,"level_4":true,"level_3":true,"level_2":true,"level_1":true,"level_0":true,"edit_others_pages":true,"edit_published_pages":true,"publish_pages":true,"delete_pages":true,"delete_others_pages":true,"delete_published_pages":true,"delete_posts":true,"delete_others_posts":true,"delete_published_posts":true,"delete_private_posts":true,"edit_private_posts":true,"read_private_posts":true,"delete_private_pages":true,"edit_private_pages":true,"read_private_pages":true,"delete_users":true,"create_users":true,"unfiltered_upload":true,"edit_dashboard":true,"update_plugins":true,"delete_plugins":true,"install_plugins":true,"update_themes":true,"install_themes":true,"update_core":true,"list_users":true,"remove_users":true,"promote_users":true,"edit_theme_options":true,"delete_themes":true,"export":true,"copy_posts":true,"et_support_center":true,"et_support_center_system":true,"et_support_center_remote_access":true,"et_support_center_documentation":true,"et_support_center_safe_mode":true,"et_support_center_logs":true,"happyforms_manage_form":true,"manage_security":true,"restrict_content":true,"list_roles":true,"create_roles":true,"delete_roles":true,"edit_roles":true,"campaign_form_submit":true,"view_custom_menu":true}},
"professeur__professeure":{"name":"Professeur\u00a0\/ professeure","capabilities":{"unfiltered_html":true,"upload_files":true,"campaign_form_submit":true,"copy_posts":true,"delete_others_posts":true,"delete_posts":true,"delete_private_posts":true,"delete_published_posts":true,"edit_others_posts":true,"edit_posts":true,"edit_private_posts":true,"edit_published_posts":true,"manage_links":true,"publish_posts":true,"read_private_posts":true,"delete_others_pages":true,"delete_pages":true,"delete_private_pages":true,"delete_published_pages":true,"edit_others_pages":true,"edit_pages":true,"edit_private_pages":true,"edit_published_pages":true,"manage_categories":true,"publish_pages":true,"read_private_pages":true,"e2pdf":true,"e2pdf_templates":true,"e2pdf_settings":true,"e2pdf_license":true,"e2pdf_debug":true}},
"partenaire":{"name":"Partenaire","capabilities":{"campaign_form_submit":true,"copy_posts":true,"delete_others_posts":true,"delete_posts":true,"delete_private_posts":true,"delete_published_posts":true,"edit_others_posts":true,"edit_posts":true,"edit_private_posts":true,"edit_published_posts":true,"manage_categories":true,"manage_links":true,"publish_posts":true,"read_private_posts":true,"unfiltered_html":true,"upload_files":true,"delete_others_pages":true,"delete_pages":true,"delete_private_pages":true,"delete_published_pages":true,"edit_others_pages":true,"edit_pages":true,"edit_private_pages":true,"edit_published_pages":true,"publish_pages":true,"read_private_pages":true}},
"fipf":{"name":"FIPF","capabilities":{"campaign_form_submit":true,"delete_others_posts":true,"delete_posts":true,"delete_private_posts":true,"delete_published_posts":true,"edit_others_posts":true,"edit_posts":true,"edit_private_posts":true,"edit_published_posts":true,"manage_links":true,"publish_posts":true,"read_private_posts":true,"unfiltered_html":true,"upload_files":true,"view_custom_menu":true,"list_users":true,"create_users":true,"edit_users":true,"moderate_comments":true,"edit_dashboard":true,"read":true,"delete_roles":true}},
"fipf_clone":{"name":"FIPF Clone","capabilities":{"campaign_form_submit":true,"create_users":true,"delete_others_posts":true,"delete_posts":true,"delete_private_posts":true,"delete_published_posts":true,"edit_dashboard":true,"edit_others_posts":true,"edit_posts":true,"edit_private_posts":true,"edit_published_posts":true,"edit_users":true,"list_users":true,"manage_links":true,"moderate_comments":true,"publish_posts":true,"read":true,"read_private_posts":true,"remove_users":true,"unfiltered_html":true,"upload_files":true,"view_custom_menu":true}}
},
"role_objects":{
"administrator":{"name":"administrator","capabilities":{"switch_themes":true,"edit_themes":true,"activate_plugins":true,"edit_plugins":true,"edit_users":true,"edit_files":true,"manage_options":true,"moderate_comments":true,"manage_categories":true,"manage_links":true,"upload_files":true,"import":true,"unfiltered_html":true,"edit_posts":true,"edit_others_posts":true,"edit_published_posts":true,"publish_posts":true,"edit_pages":true,"read":true,"level_10":true,"level_9":true,"level_8":true,"level_7":true,"level_6":true,"level_5":true,"level_4":true,"level_3":true,"level_2":true,"level_1":true,"level_0":true,"edit_others_pages":true,"edit_published_pages":true,"publish_pages":true,"delete_pages":true,"delete_others_pages":true,"delete_published_pages":true,"delete_posts":true,"delete_others_posts":true,"delete_published_posts":true,"delete_private_posts":true,"edit_private_posts":true,"read_private_posts":true,"delete_private_pages":true,"edit_private_pages":true,"read_private_pages":true,"delete_users":true,"create_users":true,"unfiltered_upload":true,"edit_dashboard":true,"update_plugins":true,"delete_plugins":true,"install_plugins":true,"update_themes":true,"install_themes":true,"update_core":true,"list_users":true,"remove_users":true,"promote_users":true,"edit_theme_options":true,"delete_themes":true,"export":true,"copy_posts":true,"et_support_center":true,"et_support_center_system":true,"et_support_center_remote_access":true,"et_support_center_documentation":true,"et_support_center_safe_mode":true,"et_support_center_logs":true,"happyforms_manage_form":true,"manage_security":true,"restrict_content":true,"list_roles":true,"create_roles":true,"delete_roles":true,"edit_roles":true,"campaign_form_submit":true,"view_custom_menu":true}},
"professeur__professeure":{"name":"professeur__professeure","capabilities":{"unfiltered_html":true,"upload_files":true,"campaign_form_submit":true,"copy_posts":true,"delete_others_posts":true,"delete_posts":true,"delete_private_posts":true,"delete_published_posts":true,"edit_others_posts":true,"edit_posts":true,"edit_private_posts":true,"edit_published_posts":true,"manage_links":true,"publish_posts":true,"read_private_posts":true,"delete_others_pages":true,"delete_pages":true,"delete_private_pages":true,"delete_published_pages":true,"edit_others_pages":true,"edit_pages":true,"edit_private_pages":true,"edit_published_pages":true,"manage_categories":true,"publish_pages":true,"read_private_pages":true,"e2pdf":true,"e2pdf_templates":true,"e2pdf_settings":true,"e2pdf_license":true,"e2pdf_debug":true}},
"partenaire":{"name":"partenaire","capabilities":{"campaign_form_submit":true,"copy_posts":true,"delete_others_posts":true,"delete_posts":true,"delete_private_posts":true,"delete_published_posts":true,"edit_others_posts":true,"edit_posts":true,"edit_private_posts":true,"edit_published_posts":true,"manage_categories":true,"manage_links":true,"publish_posts":true,"read_private_posts":true,"unfiltered_html":true,"upload_files":true,"delete_others_pages":true,"delete_pages":true,"delete_private_pages":true,"delete_published_pages":true,"edit_others_pages":true,"edit_pages":true,"edit_private_pages":true,"edit_published_pages":true,"publish_pages":true,"read_private_pages":true}},
"fipf":{"name":"fipf","capabilities":{"campaign_form_submit":true,"delete_others_posts":true,"delete_posts":true,"delete_private_posts":true,"delete_published_posts":true,"edit_others_posts":true,"edit_posts":true,"edit_private_posts":true,"edit_published_posts":true,"manage_links":true,"publish_posts":true,"read_private_posts":true,"unfiltered_html":true,"upload_files":true,"view_custom_menu":true,"list_users":true,"create_users":true,"edit_users":true,"moderate_comments":true,"edit_dashboard":true,"read":true,"delete_roles":true}},
"fipf_clone":{"name":"fipf_clone","capabilities":{"campaign_form_submit":true,"create_users":true,"delete_others_posts":true,"delete_posts":true,"delete_private_posts":true,"delete_published_posts":true,"edit_dashboard":true,"edit_others_posts":true,"edit_posts":true,"edit_private_posts":true,"edit_published_posts":true,"edit_users":true,"list_users":true,"manage_links":true,"moderate_comments":true,"publish_posts":true,"read":true,"read_private_posts":true,"remove_users":true,"unfiltered_html":true,"upload_files":true,"view_custom_menu":true}}
},
"role_names":{
"administrator":"Administrator",
"professeur__professeure":"Professeur\u00a0\/ professeure",
"partenaire":"Partenaire",
"fipf":"FIPF",
"fipf_clone":"FIPF Clone"
},
"role_key":"wp_503463_user_roles",
"use_db":true
}
*/
if (user_can($user, $role_prof)) {
$send = $email_option['is_email_prof'];
}
else if (user_can($user, $role_partner)) {
$send = $email_option['is_email_partner'];
}
return $send;
}
add_filter( 'wp_send_new_user_notification_to_user', __NAMESPACE__.'\send_registration_email', 10, 2);
/*
* use this filter to modify the message of the notification email
* you can use the specials custer expansions as $$<field>$$
* ../../../wordpress_docker/volumes/wp_volume/wp-content/plugins/easy-login-woocommerce/includes/class-xoo-el-form-handler.php
* 24 : add_filter( 'wp_new_user_notification_email', array( __CLASS__, 'newuser_notification_email' ), 20, 3 );
*
*/
function filter_regitration_email($wp_new_user_notification_email, $user, $blogname) {
$option_register_email = Xtxpatch::OPTION_REGISTER_EMAIL;
$email_option = \Plgntls_xtx::get_option_safe($option_register_email['_name']);
$wp_new_user_notification_email['message'] = $email_option['email'];
return $wp_new_user_notification_email;
}
add_filter('wp_new_user_notification_email', __NAMESPACE__.'\filter_regitration_email', 21, 3);
?>