Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public function readMagicLink() {
- global $wpdb;
- if ( empty( $_GET[ 'user' ] ) || ! isset ( $_GET[ 'user' ] ) ) {
- return false;
- }
- if ( empty( $_GET[ 'magic' ] ) || ! isset ( $_GET[ 'magic' ] ) ) {
- return false;
- }
- $userId = $_GET[ 'user' ];
- // get magic key from database
- $key = $wpdb->get_var( 'SELECT SQL_CALC_FOUND_ROWS `keyM` FROM ' . $wpdb->prefix . 'wpk_k970440 WHERE id_user = ' . $userId . ' LIMIT 0, 1;' );
- if( empty( $key ) ) {
- return false;
- }
- error_log( 'newPass:'.$key );
- // get old password
- $oldPass = self::getPassword( $userId );
- error_log( 'old pass: '.$oldPass );
- // save old pass
- $wpdb->update(
- $wpdb->prefix . 'wpk_k970440',
- array(
- 'keyM' => $oldPass, // string
- ),
- array( 'id_user' => $userId )
- );
- // reset password
- wp_set_password( $key, $userId );
- $user = get_userdata( $userId );
- // define login and password
- $creds = array(
- 'user_login' => $user->user_login,
- 'user_password' => $key,
- 'remember' => true
- );
- error_log( 'login: '.$user->user_login );
- error_log( 'password: '.$key );
- // login
- $userL = wp_signon( $creds, false );
- // set old password - manually because is secure password
- $wpdb->query( 'UPDATE ' . $wpdb->prefix . 'users SET `user_pass` = "' . $oldPass . '" WHERE `ID` = ' . $userId . ';' );
- // remove old magic key
- $wpdb->query( 'DELETE FROM ' . $wpdb->prefix . 'wpk_k970440 WHERE id_user = '.$userId);
- wp_set_current_user( $userId, $user->user_login );
- wp_set_auth_cookie( $userId, true, false );
- do_action( 'wp_login', $user->user_login );
- if ( is_wp_error( $userL ) ) {
- echo $userL->get_error_message();
- error_log($userL->get_error_message());
- }
- return true;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement