mirror of
https://github.com/10h30/ultimatemember.git
synced 2026-07-19 06:33:50 +09:00
fix allow roles edit and delete members
This commit is contained in:
@@ -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'];
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|
||||||
|
|||||||
@@ -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') ) {
|
||||||
|
|||||||
Reference in New Issue
Block a user