From 440aa59b2836010137f263ff84adb2c48efd9d94 Mon Sep 17 00:00:00 2001 From: nikitozzzzzzz Date: Thu, 15 Feb 2018 11:08:14 +0200 Subject: [PATCH] - fixed replace placeholders for not logged in users; - small notice fix; --- includes/core/class-shortcodes.php | 33 ++++++++++++++-------------- includes/core/class-user.php | 5 +++-- includes/core/um-filters-navmenu.php | 5 +++-- 3 files changed, 22 insertions(+), 21 deletions(-) diff --git a/includes/core/class-shortcodes.php b/includes/core/class-shortcodes.php index 1b411f95..a42088a1 100644 --- a/includes/core/class-shortcodes.php +++ b/includes/core/class-shortcodes.php @@ -598,29 +598,28 @@ if ( ! class_exists( 'Shortcodes' ) ) { //$matches = false; foreach ( $pattern_array as $pattern ) { - $value = ''; if ( preg_match( $pattern, $str ) ) { - $usermeta = str_replace( '{', '', $pattern ); - $usermeta = str_replace( '}', '', $usermeta ); + $value = ''; + if ( is_user_logged_in() ) { + $usermeta = str_replace( '{', '', $pattern ); + $usermeta = str_replace( '}', '', $usermeta ); - if ( $usermeta == 'user_avatar_small' ) { - $value = get_avatar( um_user( 'ID' ), 40 ); - } elseif ( um_user( $usermeta ) ) { - $value = um_user( $usermeta ); - } - - if ( $usermeta == 'username' ) { - $value = um_user( 'user_login' ); - } - - $value = apply_filters( "um_profile_tag_hook__{$usermeta}", $value, um_user( 'ID' ) ); - - if ( $value ) { - $str = preg_replace( '/' . $pattern . '/', $value, $str ); + if ( $usermeta == 'user_avatar_small' ) { + $value = get_avatar( um_user( 'ID' ), 40 ); + } elseif ( um_user( $usermeta ) ) { + $value = um_user( $usermeta ); + } + + if ( $usermeta == 'username' ) { + $value = um_user( 'user_login' ); + } + + $value = apply_filters( "um_profile_tag_hook__{$usermeta}", $value, um_user( 'ID' ) ); } + $str = preg_replace( '/' . $pattern . '/', $value, $str ); } } diff --git a/includes/core/class-user.php b/includes/core/class-user.php index f955e490..3b49e398 100644 --- a/includes/core/class-user.php +++ b/includes/core/class-user.php @@ -913,6 +913,7 @@ if ( ! class_exists( 'User' ) ) { UM()->mail()->send( um_user('user_email'), 'inactive_email' ); } + /*** *** @delete user ***/ @@ -1173,8 +1174,8 @@ if ( ! class_exists( 'User' ) ) { $exclude_roles = array_diff( array_keys( $wp_roles->roles ), array_merge( $role_keys, array( 'subscriber' ) ) ); - if ( in_array( $args['role'], $exclude_roles ) ) { - unset($args['role']); + if ( isset( $args['role'] ) && in_array( $args['role'], $exclude_roles ) ) { + unset( $args['role'] ); } wp_update_user( $args ); diff --git a/includes/core/um-filters-navmenu.php b/includes/core/um-filters-navmenu.php index b80d24c4..e439fd01 100644 --- a/includes/core/um-filters-navmenu.php +++ b/includes/core/um-filters-navmenu.php @@ -12,9 +12,10 @@ if ( ! defined( 'ABSPATH' ) ) exit; * @return mixed */ function um_add_custom_message_to_menu( $items, $args ) { - // this feature required logged in user - if ( ! is_user_logged_in() ) + if ( ! is_user_logged_in() ) { + $items = UM()->shortcodes()->convert_user_tags( $items ); return $items; + } um_fetch_user( get_current_user_id() ); $items = UM()->shortcodes()->convert_user_tags( $items );