Example #1
0
function upme_wpmember_user_register($user_id, $args)
{
    if (!upme_validate_wpmember()) {
        return;
    }
    $user_info = get_userdata($user_id);
    update_user_meta($user_id, 'first_name', $user_info->first_name);
    update_user_meta($user_id, 'last_name', $user_info->last_name);
    update_user_meta($user_id, 'display_name', $user_info->first_name . ' ' . $user_info->last_name);
    update_user_meta($user_id, 'upme_activation_status', "ACTIVE");
    update_user_meta($user_id, 'upme_approval_status', 'ACTIVE');
    update_user_meta($user_id, 'upme_user_profile_status', 'ACTIVE');
    update_user_meta($user_id, 'upme_wpmember_profile_status', 'INACTIVE');
    upme_update_user_cache($user_id);
}
 /**
  * Create a new user registration for UPME
  *
  * @access public
  * @since 1.0
  * @uses  handle_social_error,upme_new_user_notification,validate_email_confirmation
  *		  automatic_user_login, redirect_registered_users
  * @param object $result Result object created from the response generated from social network
  *		  This object will contain all the user profile data requested by the application
  * @return void 
  */
 public function register_user($result)
 {
     global $upme_register;
     /*  Check for succefull registration or login */
     if ($result->status) {
         if ($result->upme_network_type != 'twitter') {
             $user = get_user_by('email', $result->email);
         } else {
             $user = get_user_by('login', $result->username);
         }
         if (!$user) {
             /* Generate a custom username using the combination of first and last names plus a random
              * number for preventing duplication.
              */
             if ($result->upme_network_type != 'twitter') {
                 $username = strtolower($result->first_name . $result->last_name);
                 if (trim($username) == '') {
                     $username = $result->email;
                 }
                 if (username_exists($username)) {
                     $username = $username . rand(10, 99);
                 }
             } else {
                 $username = $result->username;
             }
             $sanitized_user_login = sanitize_user($username);
             /* Generate password */
             $user_pass = wp_generate_password(12, false);
             /* Create the new user */
             $user_id = wp_create_user($sanitized_user_login, $user_pass, $result->email);
             if (!is_wp_error($user_id)) {
                 update_user_meta($user_id, 'user_email', $result->email);
                 update_user_meta($user_id, 'upme_network_type', $result->upme_network_type);
                 wp_update_user(array('ID' => $user_id, 'display_name' => $result->first_name . ' ' . $result->last_name));
             }
             // Set intial details for users
             $user_info = get_userdata($user_id);
             update_user_meta($user_id, 'first_name', $result->first_name);
             update_user_meta($user_id, 'last_name', $result->last_name);
             update_user_meta($user_id, 'display_name', $result->first_name . ' ' . $result->last_name);
             $activation_status = 'ACTIVE';
             update_user_meta($user_id, 'upme_activation_status', "ACTIVE");
             // Set approval status when user profile approvals are enabled
             $approval_setting_status = $upme_register->validate_user_approval();
             if ($approval_setting_status) {
                 $approval_status = 'INACTIVE';
                 update_user_meta($user_id, 'upme_approval_status', $approval_status);
             } else {
                 $approval_status = 'ACTIVE';
                 update_user_meta($user_id, 'upme_approval_status', $approval_status);
             }
             // Set Profile Status to active by default
             update_user_meta($user_id, 'upme_user_profile_status', 'ACTIVE');
             // Set the password nag when user selected password setting is disabled
             // Set activation status and codes when selected password setting is enabled
             $upme_settings = get_option('upme_options');
             $set_pass = (bool) $upme_settings['set_password'];
             $activation_setting_status = $upme_register->validate_email_confirmation();
             if (!$set_pass) {
                 update_user_option($user_id, 'default_password_nag', true, true);
                 //Set up the Password change nag.
             }
             // if($activation_setting_status){
             //     $activation_status = 'INACTIVE';
             //     update_user_meta($user_id, 'upme_activation_status', $activation_status);
             // }else{
             //     $activation_status = 'ACTIVE';
             //     update_user_meta($user_id, 'upme_activation_status', $activation_status);
             // }
             // $activation_code = wp_generate_password(12, false);
             // update_user_meta($user_id, 'upme_activation_code',$activation_code);
             // Set automatic login based on the setting value in admin
             if ($upme_register->validate_automatic_login()) {
                 wp_set_auth_cookie($user_id, false, is_ssl());
             }
             /* action after Account Creation */
             do_action('upme_user_register', $user_id);
             if (!empty($activation_status) && 'INACTIVE' == $activation_status) {
                 upme_new_user_notification($user_id, $user_pass, $activation_status, $activation_code);
             } else {
                 wp_new_user_notification($user_id, $user_pass);
             }
             upme_update_user_cache($user_id);
             $this->redirect_registered_users($user_id, $activation_status, $approval_status, 'reg');
         } else {
             /* User already registered. Send him for automatic or manual login */
             $this->automatic_user_login($user->ID);
         }
     } else {
         /* Request failed due to an error from social network. Redirect the user to login form
          * with respective error key.
          */
         $type = isset($result->upme_network_type) ? $result->upme_network_type : 'Undefined';
         $error_code = isset($result->error_code) ? $result->error_code : 'Undefined';
         $this->handle_social_error($type, $error_code);
     }
 }
 function upme_register_backend_user($user_id)
 {
     $user_info = get_userdata($user_id);
     update_user_meta($user_id, 'first_name', $user_info->first_name);
     update_user_meta($user_id, 'last_name', $user_info->last_name);
     update_user_meta($user_id, 'display_name', $user_info->first_name . ' ' . $user_info->last_name);
     update_user_meta($user_id, 'upme_activation_status', "ACTIVE");
     update_user_meta($user_id, 'upme_approval_status', 'ACTIVE');
     update_user_meta($user_id, 'upme_user_profile_status', 'ACTIVE');
     upme_update_user_cache($user_id);
 }
 function upme_user_activation_handler()
 {
     $message = array();
     if (is_user_logged_in()) {
         return;
     }
     if (isset($_GET['upme_action']) && $_GET['upme_action'] == 'upme_activate') {
         $user_id = isset($_GET['upme_id']) ? $_GET['upme_id'] : '';
         $activation_code = isset($_GET['upme_activation_code']) ? $_GET['upme_activation_code'] : '';
         $act_status = get_user_meta($user_id, 'upme_activation_status', TRUE);
         if ('ACTIVE' == $act_status && $activation_code == get_user_meta($user_id, 'upme_activation_code', TRUE)) {
             if ('INACTIVE' == get_user_meta($user_id, 'upme_approval_status', TRUE)) {
             } else {
                 update_user_meta($user_id, 'upme_activation_status', "ACTIVE");
                 $message['msg'] = __('Account already activated. You can now login.', 'upme');
                 $message['status'] = 'success';
                 /* UPME Action for User Activation Failure */
                 do_action('upme_activation_failed', $user_id, $activation_code, $message['msg']);
                 // End Action
             }
         } else {
             if ($activation_code == get_user_meta($user_id, 'upme_activation_code', TRUE)) {
                 update_user_meta($user_id, 'upme_activation_status', "ACTIVE");
                 // Show messages based on approval status
                 if ('INACTIVE' == get_user_meta($user_id, 'upme_approval_status', TRUE)) {
                     $message['msg'] = __('Your email has been verified. Please wait for moderator approval.', 'upme');
                     $message['status'] = 'errors';
                 } else {
                     $message['msg'] = __('Activation successful. You can now login.', 'upme');
                     $message['status'] = 'success';
                 }
                 /* UPME Action for User Activation Success */
                 do_action('upme_activation_success', $user_id, $activation_code);
                 // End Action
                 upme_update_user_cache($user_id);
             } else {
                 $message['msg'] = __('Activation failed. Please use a valid activation code.', 'upme');
                 $message['status'] = 'errors';
                 /* UPME Action for User Activation Failure */
                 do_action('upme_activation_failed', $user_id, $activation_code, $message['msg']);
                 // End Action
             }
         }
     }
     return $message;
 }
function upme_upgrade_2_0_14()
{
    global $wpdb;
    $current_option = get_option('upme_options');
    $current_option['profile_view_status'] = '0';
    $current_option['display_profile_status'] = '0';
    // Add default user profile status as active to user meta table
    $users = get_users(array('fields' => 'ID'));
    foreach ($users as $key => $user_id) {
        // Setting for displaying or hiding individual profiles
        update_user_meta($user_id, 'upme_user_profile_status', 'ACTIVE');
        // Setting for approving users by adminstrative user
        update_user_meta($user_id, 'upme_approval_status', 'ACTIVE');
        upme_update_user_cache($user_id);
    }
    $current_option['html_profile_status_msg'] = __('This is a private profile. You are not allowed to view this profile.', 'upme');
    $current_option['html_profile_approval_pending_msg'] = __('This profile is pending approval. You will get a notification once the profile is approved.', 'upme');
    $current_option['profile_approval_status'] = '0';
    $current_option['ajax_profile_field_save'] = '0';
    $current_option['html_terms_and_conditions'] = __('I agree to Terms and Conditions.', 'upme');
    $current_option['accepting_terms_and_conditions'] = '0';
    update_option('upme_options', $current_option);
    // Remove existing password values on user meta table
    $qry = "DELETE FROM {$wpdb->usermeta} where meta_key='user_pass' or  meta_key='user_pass_confirm' ";
    $result = $wpdb->get_results($qry);
}
Example #6
0
 function upme_cron_user_cache()
 {
     global $wpdb;
     $current_option = get_option('upme_options');
     // Execute Only if set to yes
     if (isset($current_option['use_cron']) && $current_option['use_cron'] == '1') {
         $last_processed_user = get_option('upme_cron_processed_user_id');
         if ($last_processed_user == '') {
             $last_processed_user = 0;
         }
         $limit = 25;
         $user_query = "SELECT ID FROM " . $wpdb->users . " WHERE ID>'" . esc_sql($last_processed_user) . "' ORDER BY ID ASC LIMIT " . $limit;
         $users = $wpdb->get_results($user_query, 'ARRAY_A');
         $count = 0;
         foreach ($users as $key => $value) {
             upme_update_user_cache($value['ID']);
             update_option('upme_cron_processed_user_id', $value['ID']);
             $count++;
         }
         // All users completed, so resetting value to 0
         if ($count < $limit) {
             update_option('upme_cron_processed_user_id', '0');
         }
     }
 }