Guest User

Untitled

a guest
Jan 18th, 2019
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.81 KB | None | 0 0
  1. if( ! function_exists( 'jh_child_extra_register_fields' ) ) {
  2. function jh_child_extra_register_fields() {
  3. ?>
  4. <p>
  5. <label for="jobhunt_register_first_name"><?php esc_html_e( 'First Name', 'jobhunt' ); ?>
  6. <input name="jobhunt_first_name" id="jobhunt_register_first_name" class="required" type="text"/>
  7. </label>
  8. </p>
  9. <p>
  10. <label for="jobhunt_register_last_name"><?php esc_html_e( 'Last Name', 'jobhunt' ); ?>
  11. <input name="jobhunt_last_name" id="jobhunt_register_last_name" class="required" type="text"/>
  12. </label>
  13. </p>
  14. <?php
  15. }
  16. }
  17. add_action( 'jobhunt_registration_form_fields_before', 'jh_child_extra_register_fields' );
  18.  
  19. // register a new user function override
  20. if ( ! function_exists( 'jobhunt_add_new_member' ) ) {
  21. function jobhunt_add_new_member() {
  22. if ( isset( $_POST["jobhunt_register_check"] ) && wp_verify_nonce( $_POST['jobhunt_register_nonce'], 'jobhunt-register-nonce' ) ) {
  23. if ( ! isset( $_POST['confirm_email'] ) || $_POST['confirm_email'] !== '' ) {
  24. home_url( '/' );
  25. exit;
  26. }
  27.  
  28. $default_role = 'subscriber';
  29. $available_roles = array( 'subscriber' );
  30.  
  31. if ( jobhunt_is_woocommerce_activated() ) {
  32. $available_roles[] = 'customer';
  33. $default_role = 'customer';
  34. }
  35.  
  36. if ( jobhunt_is_wp_job_manager_activated() ) {
  37. $available_roles[] = 'employer';
  38. }
  39.  
  40. if ( jobhunt_is_wp_resume_manager_activated() ) {
  41. $available_roles[] = 'candidate';
  42. $default_role = 'candidate';
  43. }
  44.  
  45. $user_email = sanitize_email( $_POST["jobhunt_user_email"] );
  46. $user_role = ! empty( $_POST["jobhunt_user_role"] ) && in_array( $_POST["jobhunt_user_role"], $available_roles ) ? sanitize_text_field( $_POST["jobhunt_user_role"] ) : $default_role;
  47.  
  48. if ( ! empty( $_POST["jobhunt_user_login"] ) ) {
  49. $user_login = sanitize_user( $_POST["jobhunt_user_login"] );
  50. } else {
  51. $user_login = sanitize_user( current( explode( '@', $user_email ) ), true );
  52.  
  53. // Ensure username is unique.
  54. $append = 1;
  55. $o_user_login = $user_login;
  56.  
  57. while ( username_exists( $user_login ) ) {
  58. $user_login = $o_user_login . $append;
  59. $append++;
  60. }
  61. }
  62.  
  63. // Customer first name.
  64. if ( isset( $_POST['jobhunt_first_name'] ) ) {
  65. $first_name = jobhunt_clean( $_POST['jobhunt_first_name'] );
  66. } else {
  67. $first_name = '';
  68. }
  69.  
  70. // Customer last name.
  71. if ( isset( $_POST['jobhunt_last_name'] ) ) {
  72. $last_name = jobhunt_clean( $_POST['jobhunt_last_name'] );
  73. } else {
  74. $last_name = '';
  75. }
  76.  
  77. if( username_exists( $user_login ) && apply_filters( 'jobhunt_register_user_login_enabled', true ) ) {
  78. // Username already registered
  79. jobhunt_form_errors()->add('username_unavailable', esc_html__('Username already taken','jobhunt'));
  80. }
  81. if( ! validate_username( $user_login ) && apply_filters( 'jobhunt_register_user_login_enabled', true ) ) {
  82. // invalid username
  83. jobhunt_form_errors()->add('username_invalid', esc_html__('Invalid username','jobhunt'));
  84. }
  85. if( $user_login == '' && apply_filters( 'jobhunt_register_user_login_enabled', true ) ) {
  86. // empty username
  87. jobhunt_form_errors()->add('username_empty', esc_html__('Please enter a username','jobhunt'));
  88. }
  89. if( ! is_email( $user_email ) ) {
  90. //invalid email
  91. jobhunt_form_errors()->add('email_invalid', esc_html__('Invalid email','jobhunt'));
  92. }
  93. if( email_exists( $user_email ) ) {
  94. //Email address already registered
  95. jobhunt_form_errors()->add('email_used', esc_html__('Email already registered','jobhunt'));
  96. }
  97.  
  98. if( $first_name == '' && apply_filters( 'jobhunt_register_user_first_last_name_required', true ) ) {
  99. // empty username
  100. jobhunt_form_errors()->add('first_name_empty', esc_html__('Please enter a First Name','jobhunt'));
  101. }
  102.  
  103. if( $last_name == '' && apply_filters( 'jobhunt_register_user_first_last_name_required', true ) ) {
  104. // empty username
  105. jobhunt_form_errors()->add('last_name_empty', esc_html__('Please enter a Last Name','jobhunt'));
  106. }
  107.  
  108. $password = wp_generate_password();
  109. $password_generated = true;
  110.  
  111. if ( apply_filters( 'jobhunt_register_user_password_enabled', false ) && !empty( $_POST['jobhunt_user_pass'] ) ) {
  112. $password = $_POST['jobhunt_user_pass'];
  113. }
  114.  
  115. $errors = jobhunt_form_errors()->get_error_messages();
  116.  
  117. // only create the user in if there are no errors
  118. if( empty( $errors ) ) {
  119.  
  120. $new_user_id = wp_insert_user( array(
  121. 'user_login' => $user_login,
  122. 'user_pass' => $password,
  123. 'user_email' => $user_email,
  124. 'user_registered' => date('Y-m-d H:i:s'),
  125. 'role' => $user_role,
  126. 'first_name' => $first_name,
  127. 'last_name' => $last_name,
  128. ) );
  129.  
  130. if( $new_user_id ) {
  131. // send an email to the admin alerting them of the registration
  132. wp_new_user_notification( $new_user_id, null, 'both' );
  133.  
  134. // log the new user in
  135. $creds = array();
  136. $creds['user_login'] = $user_login;
  137. $creds['user_password'] = $password;
  138. $creds['remember'] = true;
  139.  
  140. $user = wp_signon( $creds, false );
  141. // send the newly created user to the home page after logging them in
  142. if ( is_wp_error( $user ) ) {
  143. echo wp_kses_post( $user->get_error_message() );
  144. } else {
  145. $oUser = get_user_by( 'login', $creds['user_login'] );
  146. $aUser = get_object_vars( $oUser );
  147. $sRole = $aUser['roles'][0];
  148. if( get_option( 'job_manager_job_dashboard_page_id' ) ) {
  149. $job_url = get_permalink( get_option( 'job_manager_job_dashboard_page_id' ) );
  150. } else {
  151. $job_url = home_url( '/' );
  152. }
  153.  
  154. if( get_option( 'resume_manager_candidate_dashboard_page_id' ) ) {
  155. $resume_url = get_permalink( get_option( 'resume_manager_candidate_dashboard_page_id' ) );
  156. } else {
  157. $resume_url= home_url( '/' );
  158. }
  159.  
  160. switch( $sRole ) {
  161. case 'candidate':
  162. $redirect_url = $resume_url;
  163. break;
  164. case 'employer':
  165. $redirect_url = $job_url;
  166. break;
  167.  
  168. default:
  169. $redirect_url = home_url( '/' );
  170. break;
  171. }
  172.  
  173. wp_safe_redirect( $redirect_url );
  174. }
  175. exit;
  176. }
  177. }
  178. }
  179. }
  180. }
Add Comment
Please, Sign In to add comment