diff --git a/includes/admin/core/class-admin-settings.php b/includes/admin/core/class-admin-settings.php
index 29b62c94..cabdcb26 100644
--- a/includes/admin/core/class-admin-settings.php
+++ b/includes/admin/core/class-admin-settings.php
@@ -1019,6 +1019,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Settings' ) ) {
'name_dash' => __( 'First and Last Name with \'-\'', 'ultimate-member' ),
'name_plus' => __( 'First and Last Name with \'+\'', 'ultimate-member' ),
'user_id' => __( 'User ID', 'ultimate-member' ),
+ 'hash' => __( 'Unique hash string', 'ultimate-member' ),
),
'placeholder' => __( 'Select...', 'ultimate-member' ),
),
@@ -2439,9 +2440,11 @@ if ( ! class_exists( 'um\admin\core\Admin_Settings' ) ) {
} elseif ( ! empty( $_POST['um_options']['permalink_base'] ) ) {
if ( ! empty( $this->need_change_permalinks ) ) {
- $users = get_users( array(
- 'fields' => 'ids',
- ) );
+ $users = get_users(
+ array(
+ 'fields' => 'ids',
+ )
+ );
if ( ! empty( $users ) ) {
foreach ( $users as $user_id ) {
UM()->user()->generate_profile_slug( $user_id );
@@ -3701,12 +3704,12 @@ Use Only Cookies: options()->get( 'permalink_base' );
$user_id = $wpdb->get_var(
- "SELECT user_id
- FROM {$wpdb->usermeta}
- WHERE meta_key = 'um_user_profile_url_slug_{$permalink_base}' AND
- meta_value = '{$slug}'
- ORDER BY umeta_id ASC
- LIMIT 1"
+ $wpdb->prepare(
+ "SELECT user_id
+ FROM {$wpdb->usermeta}
+ WHERE meta_key = %s AND
+ meta_value = %s
+ ORDER BY umeta_id ASC
+ LIMIT 1",
+ 'um_user_profile_url_slug_' . $permalink_base,
+ $slug
+ )
);
if ( ! empty( $user_id ) ) {
- return $user_id;
+ return absint( $user_id );
}
return false;
@@ -374,9 +378,7 @@ if ( ! class_exists( 'um\core\Permalinks' ) ) {
$user_in_url = '';
- $full_name = str_replace( "'", "", $full_name );
- $full_name = str_replace( "&", "", $full_name );
- $full_name = str_replace( "/", "", $full_name );
+ $full_name = str_replace( array( "'", '&', '/' ), '', $full_name );
switch ( $permalink_base ) {
case 'name': // dotted
diff --git a/includes/core/class-rewrite.php b/includes/core/class-rewrite.php
index 3cca8331..8595d2b7 100644
--- a/includes/core/class-rewrite.php
+++ b/includes/core/class-rewrite.php
@@ -1,65 +1,59 @@
config()->permalinks['user'] ) ) {
$user_page_id = UM()->config()->permalinks['user'];
- $user = get_post( $user_page_id );
+ $user = get_post( $user_page_id );
if ( isset( $user->post_name ) ) {
-
- $user_slug = $user->post_name;
+ $user_slug = $user->post_name;
$newrules[ $user_slug . '/([^/]+)/?$' ] = 'index.php?page_id=' . $user_page_id . '&um_user=$matches[1]';
}
@@ -104,12 +96,11 @@ if ( ! class_exists( 'um\core\Rewrite' ) ) {
$active_languages = $sitepress->get_active_languages();
foreach ( $active_languages as $language_code => $language ) {
-
- $lang_post_id = wpml_object_id_filter( $user_page_id, 'post', false, $language_code );
+ $lang_post_id = wpml_object_id_filter( $user_page_id, 'post', false, $language_code );
$lang_post_obj = get_post( $lang_post_id );
- if ( isset( $lang_post_obj->post_name ) && $lang_post_obj->post_name != $user->post_name ) {
- $user_slug = $lang_post_obj->post_name;
+ if ( isset( $lang_post_obj->post_name ) && $lang_post_obj->post_name !== $user->post_name ) {
+ $user_slug = $lang_post_obj->post_name;
$newrules[ $user_slug . '/([^/]+)/?$' ] = 'index.php?page_id=' . $lang_post_id . '&um_user=$matches[1]&lang=' . $language_code;
}
}
@@ -117,13 +108,11 @@ if ( ! class_exists( 'um\core\Rewrite' ) ) {
}
if ( isset( UM()->config()->permalinks['account'] ) ) {
-
$account_page_id = UM()->config()->permalinks['account'];
- $account = get_post( $account_page_id );
+ $account = get_post( $account_page_id );
if ( isset( $account->post_name ) ) {
-
- $account_slug = $account->post_name;
+ $account_slug = $account->post_name;
$newrules[ $account_slug . '/([^/]+)?$' ] = 'index.php?page_id=' . $account_page_id . '&um_tab=$matches[1]';
}
@@ -133,12 +122,11 @@ if ( ! class_exists( 'um\core\Rewrite' ) ) {
$active_languages = $sitepress->get_active_languages();
foreach ( $active_languages as $language_code => $language ) {
-
- $lang_post_id = wpml_object_id_filter( $account_page_id, 'post', false, $language_code );
+ $lang_post_id = wpml_object_id_filter( $account_page_id, 'post', false, $language_code );
$lang_post_obj = get_post( $lang_post_id );
- if ( isset( $lang_post_obj->post_name ) && $lang_post_obj->post_name != $account->post_name ) {
- $account_slug = $lang_post_obj->post_name;
+ if ( isset( $lang_post_obj->post_name ) && $lang_post_obj->post_name !== $account->post_name ) {
+ $account_slug = $lang_post_obj->post_name;
$newrules[ $account_slug . '/([^/]+)/?$' ] = 'index.php?page_id=' . $lang_post_id . '&um_user=$matches[1]&lang=' . $language_code;
}
}
@@ -148,47 +136,41 @@ if ( ! class_exists( 'um\core\Rewrite' ) ) {
return $newrules + $rules;
}
-
/**
- * Author page to user profile redirect
+ * Author page to user profile redirect.
*/
- function redirect_author_page() {
- if ( UM()->options()->get( 'author_redirect' ) && is_author() ) {
+ public function redirect_author_page() {
+ if ( is_author() && UM()->options()->get( 'author_redirect' ) ) {
$id = get_query_var( 'author' );
um_fetch_user( $id );
- exit( wp_redirect( um_user_profile_url() ) );
+ wp_safe_redirect( um_user_profile_url() );
+ exit;
}
}
-
/**
- * Locate/display a profile
+ * Locate/display a profile.
*/
- function locate_user_profile() {
+ public function locate_user_profile() {
+ $permalink_base = UM()->options()->get( 'permalink_base' );
if ( um_queried_user() && um_is_core_page( 'user' ) ) {
-
- if ( UM()->options()->get( 'permalink_base' ) == 'user_login' ) {
-
+ if ( 'user_login' === $permalink_base ) {
$user_id = username_exists( um_queried_user() );
-
//Try
if ( ! $user_id ) {
- $permalink_base = UM()->options()->get( 'permalink_base' );
-
// Search by Profile Slug
$args = array(
- "fields" => 'ids',
+ 'fields' => 'ids',
'meta_query' => array(
array(
- 'key' => 'um_user_profile_url_slug_' . $permalink_base,
- 'value' => strtolower( um_queried_user() ),
- 'compare' => '='
- )
+ 'key' => 'um_user_profile_url_slug_' . $permalink_base,
+ 'value' => strtolower( um_queried_user() ),
+ 'compare' => '=',
+ ),
),
- 'number' => 1
+ 'number' => 1,
);
-
$ids = new \WP_User_Query( $args );
if ( $ids->total_users > 0 ) {
$user_id = current( $ids->get_results() );
@@ -197,10 +179,10 @@ if ( ! class_exists( 'um\core\Rewrite' ) ) {
// Try nice name
if ( ! $user_id ) {
- $slug = um_queried_user();
- $slug = str_replace( '.', '-', $slug );
+ $slug = um_queried_user();
+ $slug = str_replace( '.', '-', $slug );
$the_user = get_user_by( 'slug', $slug );
- if ( isset( $the_user->ID ) ){
+ if ( isset( $the_user->ID ) ) {
$user_id = $the_user->ID;
}
@@ -211,56 +193,46 @@ if ( ! class_exists( 'um\core\Rewrite' ) ) {
if ( ! $user_id ) {
$user_id = UM()->user()->user_exists_by_email_as_username( $slug );
}
-
}
-
}
- if ( UM()->options()->get( 'permalink_base' ) == 'user_id' ) {
+ if ( 'user_id' === $permalink_base ) {
$user_id = UM()->user()->user_exists_by_id( um_queried_user() );
}
- if ( in_array( UM()->options()->get( 'permalink_base' ), array( 'name', 'name_dash', 'name_dot', 'name_plus' ) ) ) {
+ if ( 'hash' === $permalink_base ) {
+ $user_id = UM()->user()->user_exists_by_hash( um_queried_user() );
+ }
+
+ if ( in_array( $permalink_base, array( 'name', 'name_dash', 'name_dot', 'name_plus' ), true ) ) {
$user_id = UM()->user()->user_exists_by_name( um_queried_user() );
}
/** USER EXISTS SET USER AND CONTINUE **/
- if ( $user_id ) {
-
+ if ( ! empty( $user_id ) ) {
um_set_requested_user( $user_id );
-
/**
- * UM hook
+ * Fires after setting requested user.
*
- * @type action
- * @title um_access_profile
- * @description Action on user access profile
- * @input_vars
- * [{"var":"$user_id","type":"int","desc":"User ID"}]
- * @change_log
- * ["Since: 2.0"]
- * @usage add_action( 'um_access_profile', 'function_name', 10, 1 );
- * @example
- * Some action on user access profile and requested user isset.
* add_action( 'um_access_profile', 'my_access_profile', 10, 1 );
* function my_access_profile( $user_id ) {
* // your code here
* }
- * ?>
*/
do_action( 'um_access_profile', $user_id );
-
} else {
-
- exit( wp_redirect( um_get_core_page( 'user' ) ) );
-
+ wp_safe_redirect( um_get_core_page( 'user' ) );
+ exit;
}
-
} elseif ( um_is_core_page( 'user' ) ) {
-
if ( is_user_logged_in() ) { // just redirect to their profile
-
$query = UM()->permalinks()->get_query_array();
$url = um_user_profile_url( um_user( 'ID' ) );
@@ -270,41 +242,33 @@ if ( ! class_exists( 'um\core\Rewrite' ) ) {
$url = add_query_arg( $key, $val, $url );
}
}
-
- exit( wp_redirect( $url ) );
- } else {
-
- /**
- * UM hook
- *
- * @type filter
- * @title um_locate_user_profile_not_loggedin__redirect
- * @description Change redirect URL from user profile for not logged in user
- * @input_vars
- * [{"var":"$url","type":"string","desc":"Redirect URL"}]
- * @change_log
- * ["Since: 2.0"]
- * @usage
- *
- * @example
- *
- */
- $redirect_to = apply_filters( 'um_locate_user_profile_not_loggedin__redirect', home_url() );
- if ( ! empty( $redirect_to ) ) {
- exit( wp_redirect( $redirect_to ) );
- }
-
+ wp_safe_redirect( $url );
+ exit;
}
+ /**
+ * Filters the redirect URL from user profile for not logged-in user.
+ *
+ * @param {string} $url Redirect URL. By default, it's a home page.
+ *
+ * @return {string} Redirect URL.
+ *
+ * @since 1.3.x
+ * @hook um_locate_user_profile_not_loggedin__redirect
+ *
+ * @example
>
+
- id = $user_id;
+ $this->id = $user_id;
$this->usermeta = get_user_meta( $user_id );
- $this->data = get_userdata( $this->id );
+ $this->data = get_userdata( $this->id );
} elseif ( is_user_logged_in() && $clean == false ) {
- $this->id = get_current_user_id();
- $this->usermeta = get_user_meta($this->id);
- $this->data = get_userdata($this->id);
+ $this->id = get_current_user_id();
+ $this->usermeta = get_user_meta( $this->id );
+ $this->data = get_userdata( $this->id );
} else {
- $this->id = 0;
+ $this->id = 0;
$this->usermeta = null;
- $this->data = null;
+ $this->data = null;
}
@@ -1203,54 +1224,54 @@ if ( ! class_exists( 'um\core\User' ) ) {
// add user data
$this->data = $this->toArray( $this->data );
- foreach ( $this->data as $k=>$v ) {
- if ( $k == 'roles') {
- $this->profile['wp_roles'] = implode(',',$v);
- } else if ( is_array( $v ) ) {
- foreach($v as $k2 => $v2){
- $this->profile[$k2] = $v2;
+ foreach ( $this->data as $k => $v ) {
+ if ( $k == 'roles' ) {
+ $this->profile['wp_roles'] = implode( ',', $v );
+ } elseif ( is_array( $v ) ) {
+ foreach ( $v as $k2 => $v2 ) {
+ $this->profile[ $k2 ] = $v2;
}
} else {
- $this->profile[$k] = $v;
+ $this->profile[ $k ] = $v;
}
}
// add account status
- if ( !isset( $this->usermeta['account_status'][0] ) ) {
+ if ( ! isset( $this->usermeta['account_status'][0] ) ) {
$this->usermeta['account_status'][0] = 'approved';
}
if ( $this->usermeta['account_status'][0] == 'approved' ) {
- $this->usermeta['account_status_name'][0] = __('Approved','ultimate-member');
+ $this->usermeta['account_status_name'][0] = __( 'Approved', 'ultimate-member' );
}
if ( $this->usermeta['account_status'][0] == 'awaiting_email_confirmation' ) {
- $this->usermeta['account_status_name'][0] = __('Awaiting E-mail Confirmation','ultimate-member');
+ $this->usermeta['account_status_name'][0] = __( 'Awaiting E-mail Confirmation', 'ultimate-member' );
}
if ( $this->usermeta['account_status'][0] == 'awaiting_admin_review' ) {
- $this->usermeta['account_status_name'][0] = __('Pending Review','ultimate-member');
+ $this->usermeta['account_status_name'][0] = __( 'Pending Review', 'ultimate-member' );
}
if ( $this->usermeta['account_status'][0] == 'rejected' ) {
- $this->usermeta['account_status_name'][0] = __('Membership Rejected','ultimate-member');
+ $this->usermeta['account_status_name'][0] = __( 'Membership Rejected', 'ultimate-member' );
}
if ( $this->usermeta['account_status'][0] == 'inactive' ) {
- $this->usermeta['account_status_name'][0] = __('Membership Inactive','ultimate-member');
+ $this->usermeta['account_status_name'][0] = __( 'Membership Inactive', 'ultimate-member' );
}
// add user meta
foreach ( $this->usermeta as $k => $v ) {
- if ( $k == 'display_name') {
+ if ( $k == 'display_name' ) {
continue;
}
$this->profile[ $k ] = $v[0];
}
// add permissions
- $user_role = UM()->roles()->get_priority_user_role( $this->id );
- $this->profile['role'] = $user_role;
+ $user_role = UM()->roles()->get_priority_user_role( $this->id );
+ $this->profile['role'] = $user_role;
$this->profile['roles'] = UM()->roles()->get_all_user_roles( $this->id );
$role_meta = UM()->roles()->role_data( $user_role );
@@ -1285,7 +1306,7 @@ if ( ! class_exists( 'um\core\User' ) ) {
return array( $key => $item );
}, array_keys( $role_meta ), $role_meta );*/
- $this->profile = array_merge( $this->profile, (array)$role_meta );
+ $this->profile = array_merge( $this->profile, (array) $role_meta );
$this->profile['super_admin'] = ( is_super_admin( $this->id ) ) ? 1 : 0;
@@ -1296,7 +1317,6 @@ if ( ! class_exists( 'um\core\User' ) ) {
$this->setup_cache( $this->id, $this->profile );
}
-
}
}
@@ -1307,8 +1327,8 @@ if ( ! class_exists( 'um\core\User' ) ) {
*
* @param bool $clean
*/
- function reset( $clean = false ){
- $this->set(0, $clean);
+ function reset( $clean = false ) {
+ $this->set( 0, $clean );
}
/**
@@ -1645,7 +1665,7 @@ if ( ! class_exists( 'um\core\User' ) ) {
*
*/
function approve( $repeat = true ) {
- $user_id = um_user('ID');
+ $user_id = um_user( 'ID' );
if ( ! $repeat ) {
$status = get_user_meta( $user_id, 'account_status', true );
@@ -1828,7 +1848,7 @@ if ( ! class_exists( 'um\core\User' ) ) {
if ( is_multisite() ) {
if ( ! function_exists( 'wpmu_delete_user' ) ) {
- require_once( ABSPATH . 'wp-admin/includes/ms.php' );
+ require_once ABSPATH . 'wp-admin/includes/ms.php';
}
wpmu_delete_user( $this->id );
@@ -1836,7 +1856,7 @@ if ( ! class_exists( 'um\core\User' ) ) {
} else {
if ( ! function_exists( 'wp_delete_user' ) ) {
- require_once( ABSPATH . 'wp-admin/includes/user.php' );
+ require_once ABSPATH . 'wp-admin/includes/user.php';
}
wp_delete_user( $this->id );
@@ -1951,10 +1971,15 @@ if ( ! class_exists( 'um\core\User' ) ) {
}
foreach ( $actions as $id => $arr ) {
- $url = add_query_arg( array( 'um_action' => $id, 'uid' => um_profile_id() ) );
+ $url = add_query_arg(
+ array(
+ 'um_action' => $id,
+ 'uid' => um_profile_id(),
+ )
+ );
/*$url = add_query_arg( 'um_action', $id );
$url = add_query_arg( 'uid', um_profile_id(), $url );*/
- $items[] = '
' . esc_html( $arr['label'] ) . '';
+ $items[] = '
' . esc_html( $arr['label'] ) . '';
}
return $items;
}
@@ -2202,19 +2227,25 @@ if ( ! class_exists( 'um\core\User' ) ) {
$value = UM()->validation()->safe_name_in_url( $value );
- $ids = get_users( array( 'fields' => 'ID', 'meta_key' => $key, 'meta_value' => $value, 'meta_compare' => '=' ) );
+ $ids = get_users(
+ array(
+ 'fields' => 'ID',
+ 'meta_key' => $key,
+ 'meta_value' => $value,
+ 'meta_compare' => '=',
+ )
+ );
if ( ! isset( $ids ) || empty( $ids ) ) {
return false;
}
foreach ( $ids as $k => $id ) {
- if ( $id == um_user('ID') ) {
+ if ( $id == um_user( 'ID' ) ) {
unset( $ids[ $k ] );
} else {
$duplicates[] = $id;
}
-
}
if ( ! empty( $duplicates ) ) {
@@ -2231,29 +2262,28 @@ if ( ! class_exists( 'um\core\User' ) ) {
*
* @return bool
*/
- function user_exists_by_name( $value ) {
+ public function user_exists_by_name( $value ) {
// Permalink base
$permalink_base = UM()->options()->get( 'permalink_base' );
$raw_value = $value;
- $value = UM()->validation()->safe_name_in_url( $value );
- $value = um_clean_user_basename( $value );
+ $value = UM()->validation()->safe_name_in_url( $value );
+ $value = um_clean_user_basename( $value );
// Search by Profile Slug
$args = array(
- 'fields' => array( 'ID' ),
+ 'fields' => array( 'ID' ),
'meta_query' => array(
'relation' => 'OR',
array(
- 'key' => 'um_user_profile_url_slug_' . $permalink_base,
- 'value' => strtolower( $raw_value ),
- 'compare' => '=',
+ 'key' => 'um_user_profile_url_slug_' . $permalink_base,
+ 'value' => strtolower( $raw_value ),
+ 'compare' => '=',
),
),
);
-
$ids = new \WP_User_Query( $args );
if ( $ids->total_users > 0 ) {
@@ -2263,9 +2293,9 @@ if ( ! class_exists( 'um\core\User' ) ) {
// Search by Display Name or ID
$args = array(
- 'fields' => array( 'ID' ),
- 'search' => $value,
- 'search_columns' => array( 'display_name', 'ID' ),
+ 'fields' => array( 'ID' ),
+ 'search' => $value,
+ 'search_columns' => array( 'display_name', 'ID' ),
);
$ids = new \WP_User_Query( $args );
@@ -2275,17 +2305,15 @@ if ( ! class_exists( 'um\core\User' ) ) {
return $um_user_query->ID;
}
-
// Search By User Login
- $value = str_replace( ".", "_", $value );
- $value = str_replace( " ", "", $value );
+ $value = str_replace( array( '.', ' ' ), array( '_', '' ), $value );
$args = array(
- 'fields' => array( 'ID' ),
- 'search' => $value,
- 'search_columns' => array(
+ 'fields' => array( 'ID' ),
+ 'search' => $value,
+ 'search_columns' => array(
'user_login',
- )
+ ),
);
$ids = new \WP_User_Query( $args );
@@ -2321,7 +2349,7 @@ if ( ! class_exists( 'um\core\User' ) ) {
*
*/
- function user_exists_by_id( $user_id ) {
+ public function user_exists_by_id( $user_id ) {
$aux = get_userdata( absint( $user_id ) );
if ( $aux == false ) {
return false;
@@ -2330,6 +2358,38 @@ if ( ! class_exists( 'um\core\User' ) ) {
}
}
+ /**
+ * @param string $hash
+ *
+ * @return bool|int
+ */
+ public function user_exists_by_hash( $hash ) {
+ // Permalink base
+ $permalink_base = UM()->options()->get( 'permalink_base' );
+ $raw_value = $hash;
+
+ // Search by Profile Slug
+ $args = array(
+ 'fields' => array( 'ID' ),
+ 'meta_query' => array(
+ 'relation' => 'OR',
+ array(
+ 'key' => 'um_user_profile_url_slug_' . $permalink_base,
+ 'value' => strtolower( $raw_value ),
+ 'compare' => '=',
+ ),
+ ),
+ );
+
+ $ids = new \WP_User_Query( $args );
+
+ if ( $ids->total_users > 0 ) {
+ $um_user_query = current( $ids->get_results() );
+ return $um_user_query->ID;
+ }
+
+ return false;
+ }
/**
* This method checks if a user exists or not in your site based on the user email as username
@@ -2355,7 +2415,12 @@ if ( ! class_exists( 'um\core\User' ) ) {
$user_id = false;
- $ids = get_users( array( 'fields' => 'ID', 'meta_key' => 'um_email_as_username_' . $slug ) );
+ $ids = get_users(
+ array(
+ 'fields' => 'ID',
+ 'meta_key' => 'um_email_as_username_' . $slug,
+ )
+ );
if ( ! empty( $ids[0] ) ) {
$user_id = $ids[0];
}
@@ -2373,11 +2438,11 @@ if ( ! class_exists( 'um\core\User' ) ) {
function set_gravatar( $user_id ) {
um_fetch_user( $user_id );
- $email_address = um_user( 'user_email' );
+ $email_address = um_user( 'user_email' );
$hash_email_address = '';
if ( $email_address ) {
- $hash_email_address = md5( $email_address );
+ $hash_email_address = md5( $email_address );
$this->profile['synced_gravatar_hashed_id'] = $hash_email_address;
$this->update_usermeta_info( 'synced_gravatar_hashed_id' );
}
diff --git a/includes/core/um-filters-user.php b/includes/core/um-filters-user.php
index 6d8bfe8a..455651ca 100644
--- a/includes/core/um-filters-user.php
+++ b/includes/core/um-filters-user.php
@@ -1,47 +1,49 @@
-roles()->get_priority_user_role( get_current_user_id() ) );
- $can_edit_users = current_user_can( 'edit_users' ) && $role->has_cap( 'edit_users' );
+ $can_edit_users = null !== $role && current_user_can( 'edit_users' ) && $role->has_cap( 'edit_users' );
if ( $can_edit_users ) {
+ $account_status = um_user( 'account_status' );
- if ( um_user( 'account_status' ) == 'awaiting_admin_review' ) {
+ if ( 'awaiting_admin_review' === $account_status ) {
$actions['um_approve_membership'] = array( 'label' => __( 'Approve Membership', 'ultimate-member' ) );
- $actions['um_reject_membership'] = array( 'label' => __( 'Reject Membership', 'ultimate-member' ) );
+ $actions['um_reject_membership'] = array( 'label' => __( 'Reject Membership', 'ultimate-member' ) );
}
- if ( um_user( 'account_status' ) == 'rejected' ) {
+ if ( 'rejected' === $account_status ) {
$actions['um_approve_membership'] = array( 'label' => __( 'Approve Membership', 'ultimate-member' ) );
}
- if ( um_user( 'account_status' ) == 'approved' ) {
+ if ( 'approved' === $account_status ) {
$actions['um_put_as_pending'] = array( 'label' => __( 'Put as Pending Review', 'ultimate-member' ) );
}
- if ( um_user( 'account_status' ) == 'awaiting_email_confirmation' ) {
+ if ( 'awaiting_email_confirmation' === $account_status ) {
$actions['um_resend_activation'] = array( 'label' => __( 'Resend Activation E-mail', 'ultimate-member' ) );
}
- if ( um_user( 'account_status' ) != 'inactive' ) {
+ if ( 'inactive' !== $account_status ) {
$actions['um_deactivate'] = array( 'label' => __( 'Deactivate this account', 'ultimate-member' ) );
}
- if ( um_user( 'account_status' ) == 'inactive' ) {
+ if ( 'inactive' === $account_status ) {
$actions['um_reenable'] = array( 'label' => __( 'Reactivate this account', 'ultimate-member' ) );
}
-
}
if ( UM()->roles()->um_current_user_can( 'delete', $user_id ) ) {
@@ -56,226 +58,150 @@ function um_admin_user_actions_hook( $actions, $user_id ) {
}
add_filter( 'um_admin_user_actions_hook', 'um_admin_user_actions_hook', 10, 2 );
-
/**
- * Filter user basename
+ * Filter user basename.
+ *
* @param string $value
+ *
* @return string
- * @hook_filter: um_clean_user_basename_filter
*/
-function um_clean_user_basename_filter( $value, $raw ){
+function um_clean_user_basename_filter( $value, $raw ) {
$permalink_base = UM()->options()->get( 'permalink_base' );
$user_query = new WP_User_Query(
array(
- 'meta_query' => array(
- 'relation' => 'AND',
+ 'meta_query' => array(
+ 'relation' => 'AND',
array(
- 'key' => 'um_user_profile_url_slug_'.$permalink_base,
+ 'key' => 'um_user_profile_url_slug_' . $permalink_base,
'value' => $raw,
- 'compare' => '='
- )
+ 'compare' => '=',
+ ),
),
- 'fields' => array('ID')
+ 'fields' => array( 'ID' ),
)
-
);
- if( $user_query->total_users > 0 ){
-
+ if ( $user_query->total_users > 0 ) {
$result = current( $user_query->get_results() );
- $slugname = '';
-
- if( isset( $result->ID ) ){
- $slugname = get_user_meta( $result->ID, 'um_user_profile_url_slug_'.$permalink_base, true );
- $value = $slugname;
+ if ( isset( $result->ID ) ) {
+ $value = get_user_meta( $result->ID, 'um_user_profile_url_slug_' . $permalink_base, true );
}
}
/**
- * UM hook
+ * Filters the base user permalink value before cleaning.
*
- * @type filter
- * @title um_permalink_base_before_filter
- * @description Base permalink before
- * @input_vars
- * [{"var":"$permalink","type":"string","desc":"User Permalink"}]
- * @change_log
- * ["Since: 2.0"]
- * @usage
- *
- * @example
- * Change base permalink before cleaning.
* function my_permalink_base_before( $permalink ) {
* // your code here
* return $permalink;
* }
- * ?>
+ * add_filter( 'um_permalink_base_before_filter', 'my_permalink_base_before' );
*/
- $value = apply_filters( "um_permalink_base_before_filter", $value );
- $raw_value = $value;
+ $value = apply_filters( 'um_permalink_base_before_filter', $value );
+ $raw_value = $value;
+ $filter_slug = '';
- switch( $permalink_base ) {
+ switch ( $permalink_base ) {
case 'name':
-
-
- if( ! empty( $value ) && strrpos( $value ,"_") > -1 ){
+ if ( ! empty( $value ) && strrpos( $value, '_' ) > -1 ) {
$value = str_replace( '_', '. ', $value );
}
- if( ! empty( $value ) && strrpos( $value ,"_") > -1 ){
+ if ( ! empty( $value ) && strrpos( $value, '_' ) > -1 ) {
$value = str_replace( '_', '-', $value );
}
- if( ! empty( $value ) && strrpos( $value ,".") > -1 && strrpos( $raw_value ,"_" ) <= -1 ){
+ if ( ! empty( $value ) && strrpos( $value, '.' ) > -1 && strrpos( $raw_value, '_' ) <= -1 ) {
$value = str_replace( '.', ' ', $value );
}
- /**
- * UM hook
- *
- * @type filter
- * @title um_permalink_base_after_filter_name
- * @description Base permalink after if permalink is username
- * @input_vars
- * [{"var":"$permalink","type":"string","desc":"User Permalink"},
- * {"var":"$raw_permalink","type":"string","desc":"RAW User Permalink"}]
- * @change_log
- * ["Since: 2.0"]
- * @usage
- *
- * @example
- *
- */
- $value = apply_filters("um_permalink_base_after_filter_name", $value, $raw_value );
-
+ $filter_slug = '_' . $permalink_base;
break;
-
case 'name_dash':
-
- if( ! empty( $value ) && strrpos( $value ,"-") > -1 ){
+ if ( ! empty( $value ) && strrpos( $value, '-' ) > -1 ) {
$value = str_replace( '-', ' ', $value );
}
- if( ! empty( $value ) && strrpos( $value ,"_") > -1 ){
+ if ( ! empty( $value ) && strrpos( $value, '_' ) > -1 ) {
$value = str_replace( '_', '-', $value );
}
// Checks if last name has a dash
- if( ! empty( $value ) && strrpos( $value ,"_") > -1 ){
+ if ( ! empty( $value ) && strrpos( $value, '_' ) > -1 ) {
$value = str_replace( '_', '-', $value );
}
- /**
- * UM hook
- *
- * @type filter
- * @title um_permalink_base_after_filter_name_dash
- * @description Base permalink after if permalink is first name - last name
- * @input_vars
- * [{"var":"$permalink","type":"string","desc":"User Permalink"},
- * {"var":"$raw_permalink","type":"string","desc":"RAW User Permalink"}]
- * @change_log
- * ["Since: 2.0"]
- * @usage
- *
- * @example
- *
- */
- $value = apply_filters("um_permalink_base_after_filter_name_dash", $value, $raw_value );
-
+ $filter_slug = '_' . $permalink_base;
break;
-
-
case 'name_plus':
-
- if( ! empty( $value ) && strrpos( $value ,"+") > -1 ){
+ if ( ! empty( $value ) && strrpos( $value, '+' ) > -1 ) {
$value = str_replace( '+', ' ', $value );
}
- if( ! empty( $value ) && strrpos( $value ,"_") > -1 ){
+ if ( ! empty( $value ) && strrpos( $value, '_' ) > -1 ) {
$value = str_replace( '_', '+', $value );
}
- /**
- * UM hook
- *
- * @type filter
- * @title um_permalink_base_after_filter_name_plus
- * @description Base permalink after if permalink is first name + last name
- * @input_vars
- * [{"var":"$permalink","type":"string","desc":"User Permalink"},
- * {"var":"$raw_permalink","type":"string","desc":"RAW User Permalink"}]
- * @change_log
- * ["Since: 2.0"]
- * @usage
- *
- * @example
- *
- */
- $value = apply_filters("um_permalink_base_after_filter_name_plus", $value, $raw_value );
-
+ $filter_slug = '_' . $permalink_base;
break;
-
default:
-
// Checks if last name has a dash
- if( ! empty( $value ) && strrpos( $value ,"_") > -1 && substr( $value , "_") == 1 ){
+ if ( ! empty( $value ) && strrpos( $value, '_' ) > -1 ) {
$value = str_replace( '_', '-', $value );
}
-
- /**
- * UM hook
- *
- * @type filter
- * @title um_permalink_base_after_filter
- * @description Base permalink after for default permalink
- * @input_vars
- * [{"var":"$permalink","type":"string","desc":"User Permalink"},
- * {"var":"$raw_permalink","type":"string","desc":"RAW User Permalink"}]
- * @change_log
- * ["Since: 2.0"]
- * @usage
- *
- * @example
- *
- */
- $value = apply_filters("um_permalink_base_after_filter", $value, $raw_value );
-
break;
}
- return $value;
-
+ /**
+ * Filters the base user permalink value after cleaning.
+ * $filter_slug - can be empty '' or equals 'name', 'name_dash', 'name_plus'
+ *
+ * @param {string} $permalink User Profile permalink.
+ * @param {string} $raw_value The base user permalink value before cleaning.
+ *
+ * @return {string} User Profile permalink.
+ *
+ * @since 1.3.x
+ * @hook um_permalink_base_after_filter{$filter_slug}
+ *
+ * @example
Change base permalink after cleaning if permalink settings isn't connected with user first or last name.
+ * function my_permalink_base_after_filter( $permalink, $raw_permalink ) {
+ * // your code here
+ * return $permalink;
+ * }
+ * add_filter( 'um_permalink_base_after_filter', 'my_permalink_base_after_filter', 10, 2 );
+ * @example
Change base permalink after cleaning if permalink settings is a full name.
+ * function my_permalink_base_after_filter_name( $permalink, $raw_permalink ) {
+ * // your code here
+ * return $permalink;
+ * }
+ * add_filter( 'um_permalink_base_after_filter_name', 'my_permalink_base_after_filter_name', 10, 2 );
+ * @example
Change base permalink after cleaning if permalink settings is a full name connected by dash.
+ * function my_permalink_base_after_filter_name_dash( $permalink, $raw_permalink ) {
+ * // your code here
+ * return $permalink;
+ * }
+ * add_filter( 'um_permalink_base_after_filter_name_dash', 'my_permalink_base_after_filter_name_dash', 10, 2 );
+ * @example
Change base permalink after cleaning if permalink settings is a full name connected by plus.
+ * function my_permalink_base_after_filter_name_plus( $permalink, $raw_permalink ) {
+ * // your code here
+ * return $permalink;
+ * }
+ * add_filter( 'um_permalink_base_after_filter_name_plus', 'my_permalink_base_after_filter_name_plus', 10, 2 );
+ */
+ return apply_filters( "um_permalink_base_after_filter{$filter_slug}", $value, $raw_value );
}
add_filter( 'um_clean_user_basename_filter', 'um_clean_user_basename_filter', 2, 10 );
-
/**
* Filter before update profile to force utf8 strings
*
@@ -296,4 +222,4 @@ function um_before_update_profile( $changes, $user_id ) {
return $changes;
}
-add_filter( 'um_before_update_profile','um_before_update_profile', 10, 2 );
+add_filter( 'um_before_update_profile', 'um_before_update_profile', 10, 2 );