diff --git a/assets/js/um-scripts.js b/assets/js/um-scripts.js index 6761cd6a..4a24e4ae 100644 --- a/assets/js/um-scripts.js +++ b/assets/js/um-scripts.js @@ -79,7 +79,7 @@ function um_init_datetimepicker() { function init_tipsy() { - if( typeof(jQuery.fn.tipsy) === "function" ){ + if ( typeof( jQuery.fn.tipsy ) === "function" ) { jQuery('.um-tip-n').tipsy({gravity: 'n', opacity: 1, live: 'a.live', offset: 3 }); jQuery('.um-tip-w').tipsy({gravity: 'w', opacity: 1, live: 'a.live', offset: 3 }); jQuery('.um-tip-e').tipsy({gravity: 'e', opacity: 1, live: 'a.live', offset: 3 }); diff --git a/includes/admin/core/class-admin-enqueue.php b/includes/admin/core/class-admin-enqueue.php index efb1cc0b..4d1ce960 100644 --- a/includes/admin/core/class-admin-enqueue.php +++ b/includes/admin/core/class-admin-enqueue.php @@ -173,7 +173,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Enqueue' ) ) { */ function load_role_wrapper() { wp_register_script( 'um_admin_role_wrapper', $this->js_url . 'um-admin-role-wrapper.js', array( 'jquery' ), ultimatemember_version, true ); - $localize_roles_data = get_option( 'um_roles' ); + $localize_roles_data = get_option( 'um_roles', array() ); wp_localize_script( 'um_admin_role_wrapper', 'um_roles', (array) $localize_roles_data ); wp_enqueue_script( 'um_admin_role_wrapper' ); } diff --git a/includes/admin/core/class-admin-metabox.php b/includes/admin/core/class-admin-metabox.php index 8773ee3b..e600797b 100644 --- a/includes/admin/core/class-admin-metabox.php +++ b/includes/admin/core/class-admin-metabox.php @@ -40,6 +40,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) { function __construct() { $this->in_edit = false; $this->edit_mode_value = null; + $this->edit_array = []; add_action( 'admin_head', array( &$this, 'admin_head' ), 9); add_action( 'admin_footer', array( &$this, 'load_modal_content' ), 9); @@ -1233,7 +1234,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) { if ( $this->in_edit == true ) { // we're editing a field $real_attr = substr( $attribute, 1 ); - $this->edit_mode_value = (isset( $this->edit_array[ $real_attr ] ) ) ? $this->edit_array[ $real_attr ] : null; + $this->edit_mode_value = isset( $this->edit_array[ $real_attr ] ) ? $this->edit_array[ $real_attr ] : null; } switch ( $attribute ) { diff --git a/includes/admin/core/list-tables/roles-list-table.php b/includes/admin/core/list-tables/roles-list-table.php index 00b25ff2..31e94f5e 100644 --- a/includes/admin/core/list-tables/roles-list-table.php +++ b/includes/admin/core/list-tables/roles-list-table.php @@ -27,7 +27,7 @@ if ( isset( $_GET['action'] ) ) { um_js_redirect( $redirect ); } - $um_roles = get_option( 'um_roles' ); + $um_roles = get_option( 'um_roles', array() ); $um_custom_roles = array(); foreach ( $role_keys as $k => $role_key ) { @@ -426,7 +426,7 @@ $ListTable->set_sortable_columns( array( $users_count = count_users(); $roles = array(); -$role_keys = get_option( 'um_roles' ); +$role_keys = get_option( 'um_roles', array() ); if ( $role_keys ) { foreach ( $role_keys as $role_key ) { diff --git a/includes/admin/templates/role/role-edit.php b/includes/admin/templates/role/role-edit.php index ced3cbd0..497b2bd8 100644 --- a/includes/admin/templates/role/role-edit.php +++ b/includes/admin/templates/role/role-edit.php @@ -117,7 +117,7 @@ if ( ! empty( $_POST['role'] ) ) { if ( '' == $error ) { if ( 'add' == sanitize_key( $_GET['tab'] ) ) { - $roles = get_option( 'um_roles' ); + $roles = get_option( 'um_roles', array() ); $roles[] = $id; update_option( 'um_roles', $roles ); diff --git a/includes/core/class-builtin.php b/includes/core/class-builtin.php index ed11148d..7f279366 100644 --- a/includes/core/class-builtin.php +++ b/includes/core/class-builtin.php @@ -633,7 +633,7 @@ if ( ! class_exists( 'um\core\Builtin' ) ) { function set_predefined_fields() { global $wp_roles; - $role_keys = get_option( 'um_roles' ); + $role_keys = get_option( 'um_roles', array() ); if ( ! empty( $role_keys ) && is_array( $role_keys ) ) { $role_keys = array_map( function( $item ) { return 'um_' . $item; diff --git a/includes/core/class-fields.php b/includes/core/class-fields.php index 33ed449a..749df4a8 100644 --- a/includes/core/class-fields.php +++ b/includes/core/class-fields.php @@ -978,7 +978,7 @@ if ( ! class_exists( 'um\core\Fields' ) ) { if ( strstr( $key, 'role_' ) || $key == 'role' ) { $field_value = strtolower( UM()->roles()->get_editable_priority_user_role( um_user( 'ID' ) ) ); - $role_keys = get_option( 'um_roles' ); + $role_keys = get_option( 'um_roles', array() ); if ( ! empty( $role_keys ) ) { if ( in_array( $field_value, $role_keys ) ) { @@ -1125,7 +1125,7 @@ if ( ! class_exists( 'um\core\Fields' ) ) { if ( strstr( $key, 'role_' ) || $key == 'role' ) { $um_user_value = strtolower( UM()->roles()->get_editable_priority_user_role( um_user( 'ID' ) ) ); - $role_keys = get_option( 'um_roles' ); + $role_keys = get_option( 'um_roles', array() ); if ( ! empty( $role_keys ) ) { if ( in_array( $um_user_value, $role_keys ) ) { diff --git a/includes/core/class-roles-capabilities.php b/includes/core/class-roles-capabilities.php index 60102c26..233e7cec 100644 --- a/includes/core/class-roles-capabilities.php +++ b/includes/core/class-roles-capabilities.php @@ -32,7 +32,7 @@ if ( ! class_exists( 'um\core\Roles_Capabilities' ) ) { function um_on_roles_update( $option, $old_value, $value ) { global $wp_roles; - if ( isset( $wp_roles->role_key ) && $option == $wp_roles->role_key ) { + if ( is_object( $wp_roles ) && isset( $wp_roles->role_key ) && $option == $wp_roles->role_key ) { foreach ( $value as $role_key => $role_data ) { $role_keys = get_option( 'um_roles', array() ); $role_keys = array_map( function( $item ) { @@ -126,10 +126,11 @@ if ( ! class_exists( 'um\core\Roles_Capabilities' ) ) { */ function is_role_custom( $role ) { // User has roles so look for a UM Role one - $role_keys = get_option( 'um_roles' ); + $role_keys = get_option( 'um_roles', array() ); - if ( empty( $role_keys ) ) + if ( empty( $role_keys ) ) { return false; + } $role_keys = array_map( function( $item ) { return 'um_' . $item; @@ -385,7 +386,7 @@ if ( ! class_exists( 'um\core\Roles_Capabilities' ) ) { return false; // User has roles so look for a UM Role one - $um_roles_keys = get_option( 'um_roles' ); + $um_roles_keys = get_option( 'um_roles', array() ); if ( ! empty( $um_roles_keys ) ) { $um_roles_keys = array_map( function( $item ) { @@ -453,7 +454,7 @@ if ( ! class_exists( 'um\core\Roles_Capabilities' ) ) { return false; // User has roles so look for a UM Role one - $um_roles_keys = get_option( 'um_roles' ); + $um_roles_keys = get_option( 'um_roles', array() ); if ( ! empty( $um_roles_keys ) ) { $um_roles_keys = array_map( function( $item ) { @@ -495,15 +496,17 @@ if ( ! class_exists( 'um\core\Roles_Capabilities' ) ) { */ function get_um_user_role( $user_id ) { // User has roles so look for a UM Role one - $um_roles_keys = get_option( 'um_roles' ); + $um_roles_keys = get_option( 'um_roles', array() ); - if ( empty( $um_roles_keys ) ) + if ( empty( $um_roles_keys ) ) { return false; + } $user = get_userdata( $user_id ); - if ( empty( $user->roles ) ) + if ( empty( $user->roles ) ) { return false; + } $um_roles_keys = array_map( function( $item ) { return 'um_' . $item; @@ -511,8 +514,9 @@ if ( ! class_exists( 'um\core\Roles_Capabilities' ) ) { $user_um_roles_array = array_intersect( $um_roles_keys, array_values( $user->roles ) ); - if ( empty( $user_um_roles_array ) ) + if ( empty( $user_um_roles_array ) ) { return false; + } return array_shift( $user_um_roles_array ); } diff --git a/includes/core/class-user.php b/includes/core/class-user.php index 08b31861..dc35f97d 100644 --- a/includes/core/class-user.php +++ b/includes/core/class-user.php @@ -729,7 +729,7 @@ if ( ! class_exists( 'um\core\User' ) ) { public function secondary_role_field( $content, $userdata ) { $roles = array(); - $role_keys = get_option( 'um_roles' ); + $role_keys = get_option( 'um_roles', array() ); if ( $role_keys ) { foreach ( $role_keys as $role_key ) { $role_meta = get_option( "um_role_{$role_key}_meta" ); @@ -1858,12 +1858,12 @@ if ( ! class_exists( 'um\core\User' ) ) { //if isset roles argument validate role to properly for security reasons if ( isset( $args['role'] ) ) { global $wp_roles; - $um_roles = get_option( 'um_roles' ); + $um_roles = get_option( 'um_roles', array() ); if ( ! empty( $um_roles ) ) { $role_keys = array_map( function( $item ) { return 'um_' . $item; - }, get_option( 'um_roles' ) ); + }, $um_roles ); } else { $role_keys = array(); } diff --git a/includes/core/um-actions-form.php b/includes/core/um-actions-form.php index 54e9354b..ef85d941 100644 --- a/includes/core/um-actions-form.php +++ b/includes/core/um-actions-form.php @@ -536,13 +536,21 @@ function um_submit_form_errors_hook_( $args ) { if ( isset( $array['min_chars'] ) && $array['min_chars'] > 0 ) { if ( $args[ $key ] && strlen( utf8_decode( $args[ $key ] ) ) < $array['min_chars'] ) { - UM()->form()->add_error( $key, sprintf( __( 'Your %s must contain at least %s characters', 'ultimate-member' ), $array['label'], $array['min_chars'] ) ); + if ( empty( $array['label'] ) ) { + UM()->form()->add_error( $key, sprintf( __( 'This field must contain at least %s characters', 'ultimate-member' ), $array['min_chars'] ) ); + } else { + UM()->form()->add_error( $key, sprintf( __( 'Your %s must contain at least %s characters', 'ultimate-member' ), $array['label'], $array['min_chars'] ) ); + } } } if ( isset( $array['max_chars'] ) && $array['max_chars'] > 0 ) { if ( $args[ $key ] && strlen( utf8_decode( $args[ $key ] ) ) > $array['max_chars'] ) { - UM()->form()->add_error( $key, sprintf( __( 'Your %s must contain less than %s characters', 'ultimate-member' ), $array['label'], $array['max_chars'] ) ); + if ( empty( $array['label'] ) ) { + UM()->form()->add_error( $key, sprintf( __( 'This field must contain less than %s characters', 'ultimate-member' ), $array['max_chars'] ) ); + } else { + UM()->form()->add_error( $key, sprintf( __( 'Your %s must contain less than %s characters', 'ultimate-member' ), $array['label'], $array['max_chars'] ) ); + } } } diff --git a/includes/core/um-actions-profile.php b/includes/core/um-actions-profile.php index b81ef5a6..b5efa328 100644 --- a/includes/core/um-actions-profile.php +++ b/includes/core/um-actions-profile.php @@ -380,7 +380,7 @@ function um_user_edit_profile( $args ) { global $wp_roles; $role_keys = array_map( function( $item ) { return 'um_' . $item; - }, get_option( 'um_roles' ) ); + }, get_option( 'um_roles', array() ) ); $exclude_roles = array_diff( array_keys( $wp_roles->roles ), array_merge( $role_keys, array( 'subscriber' ) ) ); if ( ! in_array( $args['submitted']['role'], $exclude_roles ) ) { @@ -400,7 +400,7 @@ function um_user_edit_profile( $args ) { global $wp_roles; $role_keys = array_map( function( $item ) { return 'um_' . $item; - }, get_option( 'um_roles' ) ); + }, get_option( 'um_roles', array() ) ); $exclude_roles = array_diff( array_keys( $wp_roles->roles ), array_merge( $role_keys, array( 'subscriber' ) ) ); if ( ! in_array( $args['submitted']['role'], $exclude_roles ) ) { @@ -598,7 +598,7 @@ function um_restore_default_roles( $user_id, $args, $to_update ) { $role_keys = array_map( function( $item ) { return 'um_' . $item; - }, get_option( 'um_roles' ) ); + }, get_option( 'um_roles', array() ) ); $leave_roles = array_diff( $args['roles_before_upgrade'], array_merge( $role_keys, array( 'subscriber' ) ) ); diff --git a/includes/core/um-actions-register.php b/includes/core/um-actions-register.php index 7ef63bd5..7277d24c 100644 --- a/includes/core/um-actions-register.php +++ b/includes/core/um-actions-register.php @@ -400,12 +400,12 @@ function um_submit_form_register( $args ) { //get user role from field Role dropdown or radio if ( isset( $args['role'] ) ) { global $wp_roles; - $um_roles = get_option( 'um_roles' ); + $um_roles = get_option( 'um_roles', array() ); if ( ! empty( $um_roles ) ) { $role_keys = array_map( function( $item ) { return 'um_' . $item; - }, get_option( 'um_roles' ) ); + }, $um_roles ); } else { $role_keys = array(); } diff --git a/uninstall.php b/uninstall.php index 0a48b647..b87c6086 100644 --- a/uninstall.php +++ b/uninstall.php @@ -69,7 +69,7 @@ if ( ! empty( $delete_options ) ) { } //remove user role meta - $role_keys = get_option( 'um_roles' ); + $role_keys = get_option( 'um_roles', array() ); if ( $role_keys ) { foreach ( $role_keys as $role_key ) { delete_option( 'um_role_' . $role_key . '_meta' );