Exemplo n.º 1
0
 function wpestate_ajax_register_form()
 {
     if (!check_ajax_referer('register_ajax_nonce', 'security-register', true) == 1) {
         check_ajax_referer('register_ajax_nonce', 'security-register-mobile');
     }
     $allowed_html = array();
     $user_email = trim(wp_kses($_POST['user_email_register'], $allowed_html));
     $user_name = trim(wp_kses($_POST['user_login_register'], $allowed_html));
     if (preg_match("/^[0-9A-Za-z_]+\$/", $user_name) == 0) {
         echo json_encode(array('register' => false, 'message' => esc_html__('Invalid username (do not use special characters or spaces)!', 'wpestate')));
         die;
     }
     if ($user_email == '' || $user_name == '') {
         echo json_encode(array('register' => false, 'message' => esc_html__('Username and/or Email field is empty!', 'wpestate')));
         exit;
     }
     if (filter_var($user_email, FILTER_VALIDATE_EMAIL) === false) {
         echo json_encode(array('register' => false, 'message' => esc_html__('The email doesn\'t look right!', 'wpestate')));
         exit;
     }
     $domain = substr(strrchr($user_email, "@"), 1);
     if (!checkdnsrr($domain)) {
         echo json_encode(array('register' => false, 'message' => esc_html__('The email\'s domain doesn\'t look right!', 'wpestate')));
         exit;
     }
     $user_id = username_exists($user_name);
     if ($user_id) {
         echo json_encode(array('register' => false, 'message' => esc_html__('Username already exists.  Please choose a new one.!', 'wpestate')));
         exit;
     }
     if (!$user_id and email_exists($user_email) == false) {
         $random_password = wp_generate_password($length = 12, $include_standard_special_chars = false);
         $user_id = wp_create_user($user_name, $random_password, $user_email);
         if (is_wp_error($user_id)) {
             print_r($user_id);
         } else {
             echo json_encode(array('register' => true, 'message' => esc_html__('An email with the generated password was sent', 'wpestate')));
             wpestate_update_profile($user_id);
             wpestate_wp_new_user_notification($user_id, $random_password);
             wpestate_register_as_user($user_name, $user_id);
         }
     } else {
         echo json_encode(array('register' => false, 'message' => esc_html__('Email already exists.  Please choose a new one!', 'wpestate')));
     }
     die;
 }
Exemplo n.º 2
0
 function wpestate_register_user_via_google($email, $full_name, $openid_identity_code)
 {
     if (email_exists($email)) {
         if (username_exists($full_name)) {
             return;
         } else {
             $user_id = wp_create_user($full_name, $openid_identity_code, ' ');
             wpestate_update_profile($user_id);
             wpestate_register_as_user($full_name, $user_id);
         }
     } else {
         if (username_exists($full_name)) {
             return;
         } else {
             $user_id = wp_create_user($full_name, $openid_identity_code, $email);
             wpestate_update_profile($user_id);
             wpestate_register_as_user($full_name, $user_id);
         }
     }
 }
Exemplo n.º 3
0
 function wpestate_ajax_register_form()
 {
     if (!check_ajax_referer('register_ajax_nonce', 'security-register', true) == 1) {
         check_ajax_referer('register_ajax_nonce', 'security-register-mobile');
     }
     $allowed_html = array();
     $user_email = trim(wp_kses($_POST['user_email_register'], $allowed_html));
     $user_name = trim(wp_kses($_POST['user_login_register'], $allowed_html));
     $user_password = trim(wp_kses($_POST['user_password_register'], $allowed_html));
     if (preg_match("/^[0-9A-Za-z_]+\$/", $user_name) == 0) {
         echo json_encode(array('register' => false, 'message' => esc_html__('Invalid username (do not use special characters or spaces)!', 'wpestate')));
         die;
     }
     if ($user_email == '' || $user_name == '') {
         echo json_encode(array('register' => false, 'message' => esc_html__('Username and/or Email field is empty!', 'wpestate')));
         exit;
     }
     if (filter_var($user_email, FILTER_VALIDATE_EMAIL) === false) {
         echo json_encode(array('register' => false, 'message' => esc_html__('The email doesn\'t look right!', 'wpestate')));
         exit;
     }
     $domain = substr(strrchr($user_email, "@"), 1);
     if (!checkdnsrr($domain)) {
         echo json_encode(array('register' => false, 'message' => esc_html__('The email\'s domain doesn\'t look right!', 'wpestate')));
         exit;
     }
     $user_id = username_exists($user_name);
     if ($user_id) {
         echo json_encode(array('register' => false, 'message' => esc_html__('Username already exists.  Please choose a new one.!', 'wpestate')));
         exit;
     }
     if (!$user_id and email_exists($user_email) == false) {
         $user_id = wp_create_user($user_name, $user_password, $user_email);
         if (is_wp_error($user_id)) {
             print_r($user_id);
         } else {
             echo json_encode(array('register' => true, 'message' => esc_html__('A new account has been created successfully.', 'wpestate')));
             wpestate_update_profile($user_id);
             wpestate_wp_new_user_notification($user_id, $user_password);
             wpestate_register_as_user($user_name, $user_id);
             $vsessionid = session_id();
             session_start();
             if (empty($vsessionid)) {
                 session_name('PHPSESSID');
             }
             wp_clear_auth_cookie();
             $info = array();
             $info['user_login'] = $user_name;
             $info['user_password'] = $user_password;
             $info['remember'] = true;
             $user_signon = wp_signon($info, true);
             if (is_wp_error($user_signon)) {
                 echo json_encode(array('register' => false, 'message' => esc_html__('Wrong username or password!', 'wpestate')));
             } else {
                 wp_set_current_user($user_signon->ID);
                 do_action('set_current_user');
                 global $current_user;
                 $current_user = wp_get_current_user();
                 wpestate_update_old_users($user_signon->ID);
             }
         }
     } else {
         echo json_encode(array('register' => false, 'message' => esc_html__('Email already exists.  Please choose a new one!', 'wpestate')));
     }
     die;
 }