fix allow roles edit and delete members

This commit is contained in:
Denis Baranov
2018-05-31 08:28:27 +03:00
parent 0b21ba4139
commit 7977d69c5d
3 changed files with 80 additions and 80 deletions
+3 -3
View File
@@ -25,9 +25,9 @@ function um_action_request_process() {
} }
} }
if ( isset( $_REQUEST['um_action'] ) && $_REQUEST['um_action'] != "edit" && ! current_user_can( 'edit_users' ) ) { // 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') ); // wp_die( __( 'You do not have enough permissions to do that.','ultimate-member') );
} // }
if ( isset( $_REQUEST['uid'] ) ) { if ( isset( $_REQUEST['uid'] ) ) {
$uid = $_REQUEST['uid']; $uid = $_REQUEST['uid'];
+73 -73
View File
@@ -1059,7 +1059,7 @@ function um_add_edit_icon( $args ) {
if (!is_user_logged_in()) return; // not allowed for guests 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) { if (UM()->fields()->editing == true) {
@@ -1071,91 +1071,91 @@ function um_add_edit_icon( $args ) {
</div> </div>
<?php } else { ?> <?php
} else {
if (!um_is_myprofile() && ( UM()->roles()->um_current_user_can( 'edit', um_profile_id() ) || UM()->roles()->um_current_user_can( 'delete', um_profile_id() ) ) ) {
<div class="um-profile-edit um-profile-headericon"> ?>
<a href="#" class="um-profile-edit-a"><i class="um-faicon-cog"></i></a> <div class="um-profile-edit um-profile-headericon">
<?php <a href="#" class="um-profile-edit-a"><i class="um-faicon-cog"></i></a>
$items = array( <?php
'editprofile' => '<a href="' . um_edit_profile_url() . '" class="real_url">' . __( 'Edit Profile', 'ultimate-member' ) . '</a>', $items = UM()->user()->get_admin_actions();
'myaccount' => '<a href="' . um_get_core_page( 'account' ) . '" class="real_url">' . __( 'My Account', 'ultimate-member' ) . '</a>', if ( UM()->roles()->um_current_user_can( 'edit', um_profile_id() ) ) {
'logout' => '<a href="' . um_get_core_page( 'logout' ) . '" class="real_url">' . __( 'Logout', 'ultimate-member' ) . '</a>', $items['editprofile'] = '<a href="' . um_edit_profile_url() . '" class="real_url">' . __( 'Edit Profile', 'ultimate-member' ) . '</a>';
'cancel' => '<a href="#" class="um-dropdown-hide">' . __( 'Cancel', 'ultimate-member' ) . '</a>', }
); /**
* 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
* <?php add_filter( 'um_profile_edit_menu_items', 'function_name', 10, 2 ); ?>
* @example
* <?php
* add_filter( 'um_profile_edit_menu_items', 'my_profile_edit_menu_items', 10, 2 );
* function my_profile_edit_menu_items( $items, $user_id ) {
* // your code here
* return $items;
* }
* ?>
*/
$items = apply_filters( 'um_profile_edit_menu_items', $items, um_profile_id() );
$cancel = $items['cancel']; $items['cancel'] = '<a href="#" class="um-dropdown-hide">' . __( 'Cancel', 'ultimate-member' ) . '</a>';
if (!um_is_myprofile()) { } else {
if (isset( UM()->user()->cannot_edit ) && UM()->user()->cannot_edit == 1) return;
?>
$actions = UM()->user()->get_admin_actions(); <div class="um-profile-edit um-profile-headericon">
unset( $items['myaccount'] ); <a href="#" class="um-profile-edit-a"><i class="um-faicon-cog"></i></a>
unset( $items['logout'] );
unset( $items['cancel'] );
if (is_array( $actions )) { <?php
$items = array_merge( $items, $actions );
}
/** $items = array(
* UM hook 'editprofile' => '<a href="' . um_edit_profile_url() . '" class="real_url">' . __( 'Edit Profile', 'ultimate-member' ) . '</a>',
* 'myaccount' => '<a href="' . um_get_core_page( 'account' ) . '" class="real_url">' . __( 'My Account', 'ultimate-member' ) . '</a>',
* @type filter 'logout' => '<a href="' . um_get_core_page( 'logout' ) . '" class="real_url">' . __( 'Logout', 'ultimate-member' ) . '</a>',
* @title um_profile_edit_menu_items 'cancel' => '<a href="#" class="um-dropdown-hide">' . __( 'Cancel', 'ultimate-member' ) . '</a>',
* @description Edit menu items on profile page );
* @input_vars /**
* [{"var":"$items","type":"array","desc":"User Menu"}, * UM hook
* {"var":"$user_id","type":"int","desc":"Profile ID"}] *
* @change_log * @type filter
* ["Since: 2.0"] * @title um_myprofile_edit_menu_items
* @usage * @description Edit menu items on my profile page
* <?php add_filter( 'um_profile_edit_menu_items', 'function_name', 10, 2 ); ?> * @input_vars
* @example * [{"var":"$items","type":"array","desc":"User Menu"}]
* <?php * @change_log
* add_filter( 'um_profile_edit_menu_items', 'my_profile_edit_menu_items', 10, 2 ); * ["Since: 2.0"]
* function my_profile_edit_menu_items( $items, $user_id ) { * @usage
* // your code here * <?php add_filter( 'um_myprofile_edit_menu_items', 'function_name', 10, 1 ); ?>
* return $items; * @example
* } * <?php
* ?> * add_filter( 'um_myprofile_edit_menu_items', 'my_myprofile_edit_menu_items', 10, 1 );
*/ * function my_myprofile_edit_menu_items( $items ) {
$items = apply_filters( 'um_profile_edit_menu_items', $items, um_profile_id() ); * // your code here
* return $items;
* }
* ?>
*/
$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
* <?php add_filter( 'um_myprofile_edit_menu_items', 'function_name', 10, 1 ); ?>
* @example
* <?php
* add_filter( 'um_myprofile_edit_menu_items', 'my_myprofile_edit_menu_items', 10, 1 );
* function my_myprofile_edit_menu_items( $items ) {
* // your code here
* return $items;
* }
* ?>
*/
$items = apply_filters( 'um_myprofile_edit_menu_items', $items );
}
UM()->profile()->new_ui( $args['header_menu'], 'div.um-profile-edit', 'click', $items );
?>
</div> </div>
+4 -4
View File
@@ -14,7 +14,7 @@ function um_admin_user_actions_hook( $actions ) {
um_fetch_user( um_profile_id() ); 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' ){ if ( um_user('account_status') == 'awaiting_admin_review' ){
$actions['um_approve_membership'] = array( 'label' => __('Approve Membership','ultimate-member') ); $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') ); $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') ) { if ( current_user_can('delete_users') ) {