mirror of
https://github.com/10h30/ultimatemember.git
synced 2026-06-05 15:09:37 +09:00
- reviewed um_pre_profile_shortcode();
This commit is contained in:
@@ -1363,54 +1363,50 @@ function um_profile_header( $args ) {
|
||||
}
|
||||
add_action( 'um_profile_header', 'um_profile_header', 9 );
|
||||
|
||||
|
||||
/**
|
||||
* Adds profile permissions to view/edit
|
||||
* Adds profile permissions to view/edit.
|
||||
*
|
||||
* @param $args
|
||||
* @param array $args
|
||||
*/
|
||||
function um_pre_profile_shortcode( $args ) {
|
||||
if ( ! array_key_exists( 'mode', $args ) ) {
|
||||
// It handles only UM Profile forms.
|
||||
if ( ! array_key_exists( 'mode', $args ) || 'profile' !== $args['mode'] ) {
|
||||
return;
|
||||
}
|
||||
$mode = $args['mode'];
|
||||
|
||||
if ( 'profile' === $mode ) {
|
||||
if ( UM()->fields()->editing ) {
|
||||
if ( um_get_requested_user() ) {
|
||||
if ( ! UM()->roles()->um_current_user_can( 'edit', um_get_requested_user() ) ) {
|
||||
um_redirect_home( um_get_requested_user(), um_is_myprofile() );
|
||||
}
|
||||
um_fetch_user( um_get_requested_user() );
|
||||
if ( UM()->fields()->editing ) {
|
||||
if ( um_get_requested_user() ) {
|
||||
if ( ! UM()->roles()->um_current_user_can( 'edit', um_get_requested_user() ) ) {
|
||||
um_redirect_home( um_get_requested_user(), um_is_myprofile() );
|
||||
}
|
||||
um_fetch_user( um_get_requested_user() );
|
||||
}
|
||||
} else {
|
||||
UM()->fields()->viewing = 1;
|
||||
|
||||
if ( um_get_requested_user() ) {
|
||||
if ( ! um_is_myprofile() && ! um_can_view_profile( um_get_requested_user() ) ) {
|
||||
um_redirect_home( um_get_requested_user(), um_is_myprofile() );
|
||||
}
|
||||
|
||||
if ( ! UM()->roles()->um_current_user_can( 'edit', um_get_requested_user() ) ) {
|
||||
UM()->user()->cannot_edit = 1;
|
||||
}
|
||||
|
||||
um_fetch_user( um_get_requested_user() );
|
||||
} else {
|
||||
UM()->fields()->viewing = 1;
|
||||
if ( ! is_user_logged_in() ) {
|
||||
um_redirect_home( um_get_requested_user(), um_is_myprofile() );
|
||||
}
|
||||
|
||||
if ( um_get_requested_user() ) {
|
||||
if ( ! um_can_view_profile( um_get_requested_user() ) && ! um_is_myprofile() ) {
|
||||
um_redirect_home( um_get_requested_user(), um_is_myprofile() );
|
||||
}
|
||||
|
||||
if ( ! UM()->roles()->um_current_user_can( 'edit', um_get_requested_user() ) ) {
|
||||
UM()->user()->cannot_edit = 1;
|
||||
}
|
||||
|
||||
um_fetch_user( um_get_requested_user() );
|
||||
} else {
|
||||
if ( ! is_user_logged_in() ) {
|
||||
um_redirect_home( um_get_requested_user(), um_is_myprofile() );
|
||||
}
|
||||
|
||||
if ( ! um_user( 'can_edit_profile' ) ) {
|
||||
UM()->user()->cannot_edit = 1;
|
||||
}
|
||||
if ( ! um_user( 'can_edit_profile' ) ) {
|
||||
UM()->user()->cannot_edit = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
add_action( 'um_pre_profile_shortcode', 'um_pre_profile_shortcode' );
|
||||
|
||||
|
||||
/**
|
||||
* Display the edit profile icon
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user