diff --git a/includes/core/um-actions-core.php b/includes/core/um-actions-core.php index 2c85e9cb..70865693 100644 --- a/includes/core/um-actions-core.php +++ b/includes/core/um-actions-core.php @@ -25,9 +25,9 @@ function um_action_request_process() { } } - if ( isset( $_REQUEST['um_action'] ) && $_REQUEST['um_action'] != "edit" && ! current_user_can( 'edit_users' ) ) { - wp_die( __( 'You do not have enough permissions to do that.','ultimate-member') ); - } +// if ( isset( $_REQUEST['um_action'] ) && $_REQUEST['um_action'] != "edit" && ! current_user_can( 'edit_users' ) ) { +// wp_die( __( 'You do not have enough permissions to do that.','ultimate-member') ); +// } if ( isset( $_REQUEST['uid'] ) ) { $uid = $_REQUEST['uid']; diff --git a/includes/core/um-actions-profile.php b/includes/core/um-actions-profile.php index 803a3e88..e8efb2fd 100644 --- a/includes/core/um-actions-profile.php +++ b/includes/core/um-actions-profile.php @@ -1059,7 +1059,7 @@ function um_add_edit_icon( $args ) { if (!is_user_logged_in()) return; // not allowed for guests - if (isset( UM()->user()->cannot_edit ) && UM()->user()->cannot_edit == 1) return; // do not proceed if user cannot edit + // do not proceed if user cannot edit if (UM()->fields()->editing == true) { @@ -1071,91 +1071,91 @@ function um_add_edit_icon( $args ) { - + roles()->um_current_user_can( 'edit', um_profile_id() ) || UM()->roles()->um_current_user_can( 'delete', um_profile_id() ) ) ) { -
+ ?> - +
- - $items = array( - 'editprofile' => '' . __( 'Edit Profile', 'ultimate-member' ) . '', - 'myaccount' => '' . __( 'My Account', 'ultimate-member' ) . '', - 'logout' => '' . __( 'Logout', 'ultimate-member' ) . '', - 'cancel' => '' . __( 'Cancel', 'ultimate-member' ) . '', - ); + user()->get_admin_actions(); + if ( UM()->roles()->um_current_user_can( 'edit', um_profile_id() ) ) { + $items['editprofile'] = '' . __( 'Edit Profile', 'ultimate-member' ) . ''; + } + /** + * UM hook + * + * @type filter + * @title um_profile_edit_menu_items + * @description Edit menu items on profile page + * @input_vars + * [{"var":"$items","type":"array","desc":"User Menu"}, + * {"var":"$user_id","type":"int","desc":"Profile ID"}] + * @change_log + * ["Since: 2.0"] + * @usage + * + * @example + * + */ + $items = apply_filters( 'um_profile_edit_menu_items', $items, um_profile_id() ); - $cancel = $items['cancel']; + $items['cancel'] = '' . __( 'Cancel', 'ultimate-member' ) . ''; - if (!um_is_myprofile()) { + } else { + if (isset( UM()->user()->cannot_edit ) && UM()->user()->cannot_edit == 1) return; + ?> - $actions = UM()->user()->get_admin_actions(); +
- unset( $items['myaccount'] ); - unset( $items['logout'] ); - unset( $items['cancel'] ); + - if (is_array( $actions )) { - $items = array_merge( $items, $actions ); - } + - * @example - * - */ - $items = apply_filters( 'um_profile_edit_menu_items', $items, um_profile_id() ); + $items = array( + 'editprofile' => '' . __( 'Edit Profile', 'ultimate-member' ) . '', + 'myaccount' => '' . __( 'My Account', 'ultimate-member' ) . '', + 'logout' => '' . __( 'Logout', 'ultimate-member' ) . '', + 'cancel' => '' . __( 'Cancel', 'ultimate-member' ) . '', + ); + /** + * UM hook + * + * @type filter + * @title um_myprofile_edit_menu_items + * @description Edit menu items on my profile page + * @input_vars + * [{"var":"$items","type":"array","desc":"User Menu"}] + * @change_log + * ["Since: 2.0"] + * @usage + * + * @example + * + */ + $items = apply_filters( 'um_myprofile_edit_menu_items', $items ); - $items['cancel'] = $cancel; + } - } else { + UM()->profile()->new_ui( $args['header_menu'], 'div.um-profile-edit', 'click', $items ); - /** - * UM hook - * - * @type filter - * @title um_myprofile_edit_menu_items - * @description Edit menu items on my profile page - * @input_vars - * [{"var":"$items","type":"array","desc":"User Menu"}] - * @change_log - * ["Since: 2.0"] - * @usage - * - * @example - * - */ - $items = apply_filters( 'um_myprofile_edit_menu_items', $items ); - - } - - UM()->profile()->new_ui( $args['header_menu'], 'div.um-profile-edit', 'click', $items ); - - ?> + ?>
diff --git a/includes/core/um-filters-user.php b/includes/core/um-filters-user.php index 6fef1987..265160d7 100644 --- a/includes/core/um-filters-user.php +++ b/includes/core/um-filters-user.php @@ -14,7 +14,7 @@ function um_admin_user_actions_hook( $actions ) { um_fetch_user( um_profile_id() ); - if ( current_user_can('manage_options') ) { + if ( UM()->roles()->um_current_user_can( 'edit', um_profile_id() ) ) { if ( um_user('account_status') == 'awaiting_admin_review' ){ $actions['um_approve_membership'] = array( 'label' => __('Approve Membership','ultimate-member') ); @@ -41,10 +41,10 @@ function um_admin_user_actions_hook( $actions ) { $actions['um_reenable'] = array( 'label' => __('Reactivate this account','ultimate-member') ); } - if ( UM()->roles()->um_current_user_can( 'delete', um_profile_id() ) ) { - $actions['um_delete'] = array( 'label' => __('Delete this user','ultimate-member') ); - } + } + if ( UM()->roles()->um_current_user_can( 'delete', um_profile_id() ) ) { + $actions['um_delete'] = array( 'label' => __('Delete this user','ultimate-member') ); } if ( current_user_can('delete_users') ) {