From 3b0e7f2f733a431a2ff0582b4367c05f26d28811 Mon Sep 17 00:00:00 2001 From: Mykyta Synelnikov Date: Thu, 7 Mar 2024 02:30:57 +0200 Subject: [PATCH] - strict typing with UM settings; - wpcs; - hookdocs; --- includes/class-config.php | 222 +++++++++++++++++--------------------- includes/class-init.php | 88 +++++++-------- 2 files changed, 137 insertions(+), 173 deletions(-) diff --git a/includes/class-config.php b/includes/class-config.php index 18fa98eb..de0cda8a 100644 --- a/includes/class-config.php +++ b/includes/class-config.php @@ -662,123 +662,85 @@ if ( ! class_exists( 'um\Config' ) ) { $this->permalinks = $this->get_core_pages(); $this->default_roles_metadata = array( - /* - * All caps map - * - * '_um_can_access_wpadmin' => 1, - '_um_can_not_see_adminbar' => 0, - '_um_can_edit_everyone' => 1, - '_um_can_edit_roles' => '', - '_um_can_delete_everyone' => 1, - '_um_can_delete_roles' => '', - '_um_after_delete' => '', - '_um_delete_redirect_url' => '', - '_um_can_edit_profile' => 1, - '_um_can_delete_profile' => 1, - '_um_default_homepage' => 1, - '_um_redirect_homepage' => '', - '_um_after_login' => 'redirect_admin', - '_um_login_redirect_url' => '', - '_um_after_logout' => 'redirect_home', - '_um_logout_redirect_url' => '', - '_um_can_view_all' => 1, - '_um_can_view_roles' => '', - '_um_can_make_private_profile' => 1, - '_um_can_access_private_profile' => 1, - '_um_status' => 'approved', - '_um_auto_approve_act' => 'redirect_profile', - '_um_auto_approve_url' => '', - '_um_login_email_activate' => '', - '_um_checkmail_action' => '', - '_um_checkmail_message' => '', - '_um_checkmail_url' => '', - '_um_url_email_activate' => '', - '_um_pending_action' => '', - '_um_pending_message' => '', - '_um_pending_url' => '', - * - * */ - - - 'subscriber' => array( - '_um_can_access_wpadmin' => 0, - '_um_can_not_see_adminbar' => 1, - '_um_can_edit_everyone' => 0, - '_um_can_delete_everyone' => 0, - '_um_can_edit_profile' => 1, - '_um_can_delete_profile' => 1, - '_um_after_login' => 'redirect_profile', - '_um_after_logout' => 'redirect_home', - '_um_default_homepage' => 1, - '_um_can_view_all' => 1, - '_um_can_make_private_profile' => 0, - '_um_can_access_private_profile' => 0, - '_um_status' => 'approved', - '_um_auto_approve_act' => 'redirect_profile', + 'subscriber' => array( + '_um_can_access_wpadmin' => 0, + '_um_can_not_see_adminbar' => 1, + '_um_can_edit_everyone' => 0, + '_um_can_delete_everyone' => 0, + '_um_can_edit_profile' => 1, + '_um_can_delete_profile' => 1, + '_um_after_login' => 'redirect_profile', + '_um_after_logout' => 'redirect_home', + '_um_default_homepage' => 1, + '_um_can_view_all' => 1, + '_um_can_make_private_profile' => 0, + '_um_can_access_private_profile' => 0, + '_um_status' => 'approved', + '_um_auto_approve_act' => 'redirect_profile', ), - 'author' => array( - '_um_can_access_wpadmin' => 0, - '_um_can_not_see_adminbar' => 1, - '_um_can_edit_everyone' => 0, - '_um_can_delete_everyone' => 0, - '_um_can_edit_profile' => 1, - '_um_can_delete_profile' => 1, - '_um_after_login' => 'redirect_profile', - '_um_after_logout' => 'redirect_home', - '_um_default_homepage' => 1, - '_um_can_view_all' => 1, - '_um_can_make_private_profile' => 0, - '_um_can_access_private_profile' => 0, - '_um_status' => 'approved', - '_um_auto_approve_act' => 'redirect_profile', + 'author' => array( + '_um_can_access_wpadmin' => 0, + '_um_can_not_see_adminbar' => 1, + '_um_can_edit_everyone' => 0, + '_um_can_delete_everyone' => 0, + '_um_can_edit_profile' => 1, + '_um_can_delete_profile' => 1, + '_um_after_login' => 'redirect_profile', + '_um_after_logout' => 'redirect_home', + '_um_default_homepage' => 1, + '_um_can_view_all' => 1, + '_um_can_make_private_profile' => 0, + '_um_can_access_private_profile' => 0, + '_um_status' => 'approved', + '_um_auto_approve_act' => 'redirect_profile', ), - 'contributor' => array( - '_um_can_access_wpadmin' => 0, - '_um_can_not_see_adminbar' => 1, - '_um_can_edit_everyone' => 0, - '_um_can_delete_everyone' => 0, - '_um_can_edit_profile' => 1, - '_um_can_delete_profile' => 1, - '_um_after_login' => 'redirect_profile', - '_um_after_logout' => 'redirect_home', - '_um_default_homepage' => 1, - '_um_can_view_all' => 1, - '_um_can_make_private_profile' => 0, - '_um_can_access_private_profile' => 0, - '_um_status' => 'approved', - '_um_auto_approve_act' => 'redirect_profile', + 'contributor' => array( + '_um_can_access_wpadmin' => 0, + '_um_can_not_see_adminbar' => 1, + '_um_can_edit_everyone' => 0, + '_um_can_delete_everyone' => 0, + '_um_can_edit_profile' => 1, + '_um_can_delete_profile' => 1, + '_um_after_login' => 'redirect_profile', + '_um_after_logout' => 'redirect_home', + '_um_default_homepage' => 1, + '_um_can_view_all' => 1, + '_um_can_make_private_profile' => 0, + '_um_can_access_private_profile' => 0, + '_um_status' => 'approved', + '_um_auto_approve_act' => 'redirect_profile', ), - 'editor' => array( - '_um_can_access_wpadmin' => 0, - '_um_can_not_see_adminbar' => 1, - '_um_can_edit_everyone' => 0, - '_um_can_delete_everyone' => 0, - '_um_can_edit_profile' => 1, - '_um_can_delete_profile' => 1, - '_um_after_login' => 'redirect_profile', - '_um_after_logout' => 'redirect_home', - '_um_default_homepage' => 1, - '_um_can_view_all' => 1, - '_um_can_make_private_profile' => 0, - '_um_can_access_private_profile' => 0, - '_um_status' => 'approved', - '_um_auto_approve_act' => 'redirect_profile', + 'editor' => array( + '_um_can_access_wpadmin' => 0, + '_um_can_not_see_adminbar' => 1, + '_um_can_edit_everyone' => 0, + '_um_can_delete_everyone' => 0, + '_um_can_edit_profile' => 1, + '_um_can_delete_profile' => 1, + '_um_after_login' => 'redirect_profile', + '_um_after_logout' => 'redirect_home', + '_um_default_homepage' => 1, + '_um_can_view_all' => 1, + '_um_can_make_private_profile' => 0, + '_um_can_access_private_profile' => 0, + '_um_status' => 'approved', + '_um_auto_approve_act' => 'redirect_profile', ), 'administrator' => array( - '_um_can_access_wpadmin' => 1, - '_um_can_not_see_adminbar' => 0, - '_um_can_edit_everyone' => 1, - '_um_can_delete_everyone' => 1, - '_um_can_edit_profile' => 1, - '_um_can_delete_profile' => 1, - '_um_default_homepage' => 1, - '_um_after_login' => 'redirect_admin', - '_um_after_logout' => 'redirect_home', - '_um_can_view_all' => 1, - '_um_can_make_private_profile' => 1, - '_um_can_access_private_profile' => 1, - '_um_status' => 'approved', - '_um_auto_approve_act' => 'redirect_profile', + '_um_can_access_wpadmin' => 1, + '_um_can_not_see_adminbar' => 0, + '_um_can_edit_everyone' => 1, + '_um_can_delete_everyone' => 1, + '_um_can_edit_profile' => 1, + '_um_can_delete_profile' => 1, + '_um_default_homepage' => 1, + '_um_after_login' => 'redirect_admin', + '_um_after_logout' => 'redirect_home', + '_um_can_view_all' => 1, + '_um_can_make_private_profile' => 1, + '_um_can_access_private_profile' => 1, + '_um_status' => 'approved', + '_um_auto_approve_act' => 'redirect_profile', ), ); @@ -826,20 +788,34 @@ if ( ! class_exists( 'um\Config' ) ) { return $permalink; } - /** * @todo make config class not cycled */ - function set_core_page() { - $this->core_pages = apply_filters( 'um_core_pages', array( - 'user' => array( 'title' => __( 'User', 'ultimate-member' ) ), - 'login' => array( 'title' => __( 'Login', 'ultimate-member' ) ), - 'register' => array( 'title' => __( 'Register', 'ultimate-member' ) ), - 'members' => array( 'title' => __( 'Members', 'ultimate-member' ) ), - 'logout' => array( 'title' => __( 'Logout', 'ultimate-member' ) ), - 'account' => array( 'title' => __( 'Account', 'ultimate-member' ) ), - 'password-reset' => array( 'title' => __( 'Password Reset', 'ultimate-member' ) ), - ) ); + public function set_core_page() { + $this->core_pages = array( + 'user' => array( + 'title' => __( 'User', 'ultimate-member' ), + ), + 'login' => array( + 'title' => __( 'Login', 'ultimate-member' ), + ), + 'register' => array( + 'title' => __( 'Register', 'ultimate-member' ), + ), + 'members' => array( + 'title' => __( 'Members', 'ultimate-member' ), + ), + 'logout' => array( + 'title' => __( 'Logout', 'ultimate-member' ), + ), + 'account' => array( + 'title' => __( 'Account', 'ultimate-member' ), + ), + 'password-reset' => array( + 'title' => __( 'Password Reset', 'ultimate-member' ), + ), + ); + $this->core_pages = apply_filters( 'um_core_pages', $this->core_pages ); } /** diff --git a/includes/class-init.php b/includes/class-init.php index 0a7d33b4..886697f8 100644 --- a/includes/class-init.php +++ b/includes/class-init.php @@ -235,7 +235,6 @@ if ( ! class_exists( 'UM' ) ) { } } - /** * Loading UM textdomain * @@ -246,71 +245,61 @@ if ( ! class_exists( 'UM' ) ) { $language_locale = get_user_locale(); /** - * UM hook + * Filters the language locale before loading textdomain. * - * @type filter - * @title um_language_locale - * @description Change UM language locale - * @input_vars - * [{"var":"$locale","type":"string","desc":"UM language locale"}] - * @change_log - * ["Since: 2.0"] - * @usage add_filter( 'um_language_locale', 'function_name', 10, 1 ); - * @example - * Change UM language locale. + * function my_um_language_locale( $language_locale ) { + * $language_locale = 'es_ES'; + * return $language_locale; * } - * ?> + * add_filter( 'um_language_locale', 'my_um_language_locale' ); */ $language_locale = apply_filters( 'um_language_locale', $language_locale ); - /** - * UM hook + * Filters the plugin's textdomain. * - * @type filter - * @title um_language_textdomain - * @description Change UM textdomain - * @input_vars - * [{"var":"$domain","type":"string","desc":"UM Textdomain"}] - * @change_log - * ["Since: 2.0"] - * @usage add_filter( 'um_language_textdomain', 'function_name', 10, 1 ); - * @example - * Change UM language locale. + * function my_um_language_textdomain( $textdomain ) { + * $language_locale = 'ultimate-member-custom'; + * return $textdomain; * } - * ?> + * add_filter( 'um_language_textdomain', 'my_um_language_textdomain' ); */ $language_domain = apply_filters( 'um_language_textdomain', 'ultimate-member' ); $language_file = WP_LANG_DIR . '/plugins/' . $language_domain . '-' . $language_locale . '.mo'; /** - * UM hook + * Filters the path to the language file (*.mo). * - * @type filter - * @title um_language_file - * @description Change UM language file path - * @input_vars - * [{"var":"$language_file","type":"string","desc":"UM language file path"}] - * @change_log - * ["Since: 2.0"] - * @usage add_filter( 'um_language_file', 'function_name', 10, 1 ); - * @example - * Change UM language file path. + * function my_um_language_file( $language_file ) { + * $language_file = '{path-to-language-file}'; * return $language_file; * } - * ?> + * add_filter( 'um_language_file', 'my_um_language_file' ); */ $language_file = apply_filters( 'um_language_file', $language_file ); @@ -321,7 +310,6 @@ if ( ! class_exists( 'UM' ) ) { load_textdomain( $language_domain, $language_file ); } - /** * 1.3.x active extensions deactivate for properly running 2.0.x AJAX upgrades */