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); }
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'); } } }