- strict typing with UM settings;

- wpcs;
- hookdocs;
This commit is contained in:
Mykyta Synelnikov
2024-03-07 02:30:57 +02:00
parent 41e9a50e0b
commit 3b0e7f2f73
2 changed files with 137 additions and 173 deletions
+99 -123
View File
@@ -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 );
}
/**
+38 -50
View File
@@ -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
* <?php
* add_filter( 'um_language_locale', 'my_language_locale', 10, 1 );
* function my_language_locale( $locale ) {
* // your code here
* return $locale;
* @since 1.3.x
* @hook um_language_locale
*
* @param {string} $language_locale Current language locale.
*
* @return {string} Maybe changed language locale.
*
* @example <caption>Change UM language locale.</caption>
* 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
* <?php
* add_filter( 'um_language_textdomain', 'my_textdomain', 10, 1 );
* function my_textdomain( $domain ) {
* // your code here
* return $domain;
* @param {string} $textdomain Plugin's textdomain.
*
* @return {string} Maybe changed plugin's textdomain.
*
* @since 1.3.x
* @hook um_language_textdomain
*
* @example <caption>Change UM language locale.</caption>
* 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
* <?php
* add_filter( 'um_language_file', 'my_language_file', 10, 1 );
* function my_language_file( $language_file ) {
* // your code here
* @param {string} $language_file Default path to the language file.
*
* @return {string} Language file path.
*
* @since 1.3.x
* @hook um_language_file
*
* @example <caption>Change UM language file path.</caption>
* 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
*/