wp-user-manager.php
2.14 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<?php
if ( ! defined( 'ABSPATH' ) ) exit;
if( !is_plugin_active( 'wp-user-manager/wp-user-manager.php' ) ){
return;
}
class ACUI_WP_User_Manager{
function __construct(){
add_filter( 'acui_force_reset_password_edit_profile_url', array( $this, 'force_reset_password_edit_profile_url' ) );
add_filter( 'acui_force_reset_password_redirect_condition', array( $this, 'force_reset_password_redirect_condition' ), 10 , 1 );
add_action( 'wpum_account_page_content', array( $this, 'force_reset_password_notice' ), 1 );
add_action( 'wpum_after_user_password_recovery', array( $this, 'force_reset_save_account_details' ) );
add_action( 'wpum_account_page_content', array( $this, 'maybe_force_reset_save_account_details' ), 0 );
}
function force_reset_password_edit_profile_url(){
global $wpdb;
$query = "SELECT ID FROM ".$wpdb->posts." WHERE post_content LIKE '%[wpum_account]%' AND post_status = 'publish'";
$results = $wpdb->get_results( $query );
$result = $results[0];
return get_permalink( $result->ID ) . "/password";
}
function force_reset_password_redirect_condition( $condition ){
global $post;
return ( $post instanceof WP_Post ) ? has_shortcode( $post->post_content, 'wpum_account' ) : $condition;
}
function force_reset_password_notice(){
if ( get_user_meta( get_current_user_id(), 'acui_force_reset_password', true ) ) {
echo apply_filters( 'acui_force_reset_password_message', __( '<span class="acui_force_reset_password_message">Please change your password</span>', 'import-users-from-csv-with-meta' ) );
}
}
function force_reset_save_account_details( $user_id ){
delete_user_meta( $user_id, 'acui_force_reset_password' );
}
function maybe_force_reset_save_account_details(){
if( !isset( $_GET ) || empty( $_GET ) )
return;
if( isset( $_GET['password-updated'] ) && $_GET['password-updated'] == 'success' && isset( $_GET['tab'] ) && $_GET['tab'] == 'password' )
delete_user_meta( get_current_user_id(), 'acui_force_reset_password' );
}
}
new ACUI_WP_User_Manager();