function ap_user_fields($args = '', $group = false) { if (ap_get_displayed_user_id() != get_current_user_id()) { return; } if (!$group) { $group = !isset($_GET['group']) ? 'basic' : sanitize_text_field($_GET['group']); } echo ap_user_get_fields($args, $group); }
/** * Process user profile and account fields */ public function ap_user_profile_form() { $user_id = get_current_user_id(); $group = sanitize_text_field($_POST['group']); if (!ap_user_can_edit_profile()) { $this->result = array('message' => 'no_permission'); return; } if (!ap_verify_nonce('nonce_user_profile_' . $user_id . '_' . $group)) { ap_send_json(ap_ajax_responce('something_wrong')); } $user_fields = ap_get_user_fields($group, $user_id); $validate_fields = array(); foreach ($user_fields as $field) { if (isset($field['sanitize'])) { $validate_fields[$field['name']]['sanitize'] = $field['sanitize']; } if ($field['validate']) { $validate_fields[$field['name']]['validate'] = $field['validate']; } } $validate = new AnsPress_Validation($validate_fields); $ap_errors = $validate->get_errors(); // If error in form then return. if ($validate->have_error()) { ap_send_json(ap_ajax_responce(array('form' => $_POST['ap_form_action'], 'message_type' => 'error', 'message' => __('Check missing fields and then re-submit.', 'ap'), 'errors' => $ap_errors))); return; } $fields = $validate->get_sanitized_fields(); $default_fields = array('name', 'first_name', 'last_name', 'nickname', 'display_name', 'user_email', 'description'); if (is_array($user_fields) && !empty($user_fields)) { foreach ($user_fields as $field) { if (isset($fields[$field['name']]) && in_array($field['name'], $default_fields)) { wp_update_user(array('ID' => $user_id, $field['name'] => $fields[$field['name']])); // If email is updated then send verification email. if ($field['name'] == 'user_email') { wp_new_user_notification($user_id, null, 'both'); } } elseif ($field['name'] == 'password' && $_POST['password'] == $_POST['password-1']) { wp_set_password($_POST['password'], $user_id); } elseif (isset($fields[$field['name']])) { update_user_meta($user_id, $field['name'], $fields[$field['name']]); } } } $this->result = array('message' => 'profile_updated_successfully', 'action' => 'updated_user_field', 'do' => array('updateHtml' => '#ap_user_profile_form'), 'html' => ap_user_get_fields('', $group)); }
/** * Load user profile field form */ public function load_user_field_form() { $user_id = get_current_user_id(); $field_name = sanitize_text_field(wp_unslash($_POST['field'])); if (!is_user_logged_in() || !ap_verify_nonce('user_field_form_' . $field_name . '_' . $user_id)) { $this->send('no_permission'); } else { if (ap_has_users(array('ID' => $user_id))) { while (ap_users()) { ap_the_user(); $form = ap_user_get_fields(array('show_only' => $field_name, 'form' => array('field_hidden' => false, 'hide_footer' => false, 'show_cancel' => true, 'is_ajaxified' => true, 'submit_button' => __('Update', 'anspress-question-answer')))); $this->send(array('action' => 'user_field_form_loaded', 'do' => array('updateHtml' => '#user_field_form_' . $field_name), 'html' => $form->get_form())); } } } $this->something_wrong(); }
public function load_user_field_form() { $user_id = get_current_user_id(); $field_name = sanitize_text_field($_POST['field']); if (!is_user_logged_in() || !wp_verify_nonce($_POST['__nonce'], 'user_field_form_' . $field_name . '_' . $user_id)) { ap_send_json(ap_ajax_responce('no_permission')); } else { if (ap_has_users(array('ID' => $user_id))) { while (ap_users()) { ap_the_user(); $form = ap_user_get_fields(array('show_only' => $field_name, 'form' => array('field_hidden' => false, 'hide_footer' => false, 'show_cancel' => true, 'is_ajaxified' => true, 'submit_button' => __('Update', 'ap')))); ap_send_json(ap_ajax_responce(array('action' => 'user_field_form_loaded', 'do' => 'updateHtml', 'container' => '#user_field_form_' . $field_name, 'html' => $form->get_form()))); } } } ap_send_json(ap_ajax_responce('something_wrong')); die; }