Advertisement
Guest User

Restrict Content Pro + Jobify

a guest
May 13th, 2014
260
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.66 KB | None | 0 0
  1. //extra registration fields
  2. /**
  3. * Adds the custom fields to the registration form and profile editor
  4. *
  5. */
  6. function pw_rcp_add_user_fields() {
  7.  
  8. $jobtitle = get_user_meta( get_current_user_id(), 'rcp_jobtitle', true );
  9. $companyname = get_user_meta( get_current_user_id(), 'rcp_companyname', true );
  10. $telephone = get_user_meta( get_current_user_id(), 'rcp_telephone', true );
  11. $address = get_user_meta( get_current_user_id(), 'rcp_address', true );
  12.  
  13. ?>
  14. <p id="rcp_jobtitle_wrap">
  15. <label for="rcp_jobtitle"><?php _e( 'Job Title', 'rcp' ); ?></label>
  16. <input name="rcp_jobtitle" id="rcp_jobtitle" type="text" value="<?php echo esc_attr( $jobtitle ); ?>"/>
  17. </p>
  18. <p id="rcp_companyname_wrap">
  19. <label for="rcp_companyname"><?php _e( 'Company Name', 'rcp' ); ?></label>
  20. <input name="rcp_companyname" id="rcp_companyname" type="text" value="<?php echo esc_attr( $companyname ); ?>"/>
  21. </p>
  22. <p id="rcp_telephone_wrap">
  23. <label for="rcp_telephone"><?php _e( 'Telephone', 'rcp' ); ?></label>
  24. <input name="rcp_telephone" id="rcp_telephone" type="text" value="<?php echo esc_attr( $telephone ); ?>"/>
  25. </p>
  26. <p id="rcp_address_wrap">
  27. <label for="rcp_address"><?php _e( 'Address', 'rcp' ); ?></label>
  28. <input name="rcp_address" id="rcp_address" type="text" value="<?php echo esc_attr( $address ); ?>"/>
  29. </p>
  30. <?php
  31. }
  32. add_action( 'rcp_after_password_registration_field', 'pw_rcp_add_user_fields' );
  33. add_action( 'rcp_profile_editor_after', 'pw_rcp_add_user_fields' );
  34.  
  35. //add edit member screen fields
  36. /**
  37. * Adds the custom fields to the member edit screen
  38. *
  39. */
  40. function pw_rcp_add_member_edit_fields( $user_id = 0 ) {
  41.  
  42. $jobtitle = get_user_meta( get_current_user_id(), 'rcp_jobtitle', true );
  43. $companyname = get_user_meta( get_current_user_id(), 'rcp_companyname', true );
  44. $telephone = get_user_meta( get_current_user_id(), 'rcp_telephone', true );
  45. $address = get_user_meta( get_current_user_id(), 'rcp_address', true );
  46.  
  47. ?>
  48. <tr valign="top">
  49. <th scope="row" valign="top">
  50. <label for="rcp_jobtitle"><?php _e( 'Job Title', 'rcp' ); ?></label>
  51. </th>
  52. <td>
  53. <input name="rcp_jobtitle" id="rcp_jobtitle" type="text" value="<?php echo esc_attr( $jobtitle ); ?>"/>
  54. <p class="description"><?php _e( 'Job Title', 'rcp' ); ?></p>
  55. </td>
  56. </tr>
  57. <tr valign="top">
  58. <th scope="row" valign="top">
  59. <label for="rcp_companyname"><?php _e( 'Company Name', 'rcp' ); ?></label>
  60. </th>
  61. <td>
  62. <input name="rcp_companyname" id="rcp_companyname" type="text" value="<?php echo esc_attr( $companyname ); ?>"/>
  63. <p class="description"><?php _e( 'Company Name', 'rcp' ); ?></p>
  64. </td>
  65. </tr>
  66. <tr valign="top">
  67. <th scope="row" valign="top">
  68. <label for="rcp_telephone"><?php _e( 'Telephone', 'rcp' ); ?></label>
  69. </th>
  70. <td>
  71. <input name="rcp_telephone" id="rcp_telephone" type="text" value="<?php echo esc_attr( $telephone ); ?>"/>
  72. <p class="description"><?php _e( 'Telephone', 'rcp' ); ?></p>
  73. </td>
  74. </tr>
  75. <tr valign="top">
  76. <th scope="row" valign="top">
  77. <label for="rcp_address"><?php _e( 'Address', 'rcp' ); ?></label>
  78. </th>
  79. <td>
  80. <input name="rcp_address" id="rcp_address" type="text" value="<?php echo esc_attr( $address ); ?>"/>
  81. <p class="description"><?php _e( 'Address', 'rcp' ); ?></p>
  82. </td>
  83. </tr>
  84. <?php
  85. }
  86. add_action( 'rcp_edit_member_after', 'pw_rcp_add_member_edit_fields' );
  87.  
  88. //check for errors
  89. /**
  90. * Determines if there are problems with the registration data submitted
  91. *
  92. */
  93. function pw_rcp_validate_user_fields_on_register( $posted ) {
  94.  
  95. if( empty( $posted['rcp_jobtitle'] ) ) {
  96. rcp_errors()->add( 'invalid_jobtitle', __( 'Please enter your job title', 'rcp' ), 'register' );
  97. }
  98.  
  99. if( empty( $posted['rcp_companyname'] ) ) {
  100. rcp_errors()->add( 'invalid_companyname', __( 'Please enter your company name', 'rcp' ), 'register' );
  101. }
  102.  
  103. if( empty( $posted['rcp_telephone'] ) ) {
  104. rcp_errors()->add( 'invalid_telephone', __( 'Please enter your telephone', 'rcp' ), 'register' );
  105. }
  106.  
  107. if( empty( $posted['rcp_address'] ) ) {
  108. rcp_errors()->add( 'invalid_address', __( 'Please enter your address', 'rcp' ), 'register' );
  109. }
  110.  
  111. }
  112. add_action( 'rcp_form_errors', 'pw_rcp_validate_user_fields_on_register', 10 );
  113.  
  114. //save data
  115. /**
  116. * Stores the information submitted during registration
  117. *
  118. */
  119. function pw_rcp_save_user_fields_on_register( $posted, $user_id ) {
  120.  
  121. if( ! empty( $posted['rcp_jobtitle'] ) ) {
  122. update_user_meta( $user_id, 'rcp_jobtitle', sanitize_text_field( $posted['rcp_jobtitle'] ) );
  123. }
  124.  
  125. if( ! empty( $posted['rcp_companyname'] ) ) {
  126. update_user_meta( $user_id, 'rcp_companyname', sanitize_text_field( $posted['rcp_companyname'] ) );
  127. }
  128.  
  129. if( ! empty( $posted['rcp_telephone'] ) ) {
  130. update_user_meta( $user_id, 'rcp_telephone', sanitize_text_field( $posted['rcp_telephone'] ) );
  131. }
  132.  
  133. if( ! empty( $posted['rcp_address'] ) ) {
  134. update_user_meta( $user_id, 'rcp_address', sanitize_text_field( $posted['rcp_address'] ) );
  135. }
  136.  
  137. }
  138. add_action( 'rcp_form_processing', 'pw_rcp_save_user_fields_on_register', 10, 2 );
  139.  
  140. //member or profile edit save
  141. /**
  142. * Stores the information submitted profile update
  143. *
  144. */
  145. function pw_rcp_save_user_fields_on_profile_save( $user_id ) {
  146.  
  147. if( ! empty( $_POST['rcp_jobtitle'] ) ) {
  148. update_user_meta( $user_id, 'rcp_jobtitle', sanitize_text_field( $_POST['rcp_jobtitle'] ) );
  149. }
  150.  
  151. if( ! empty( $_POST['rcp_companyname'] ) ) {
  152. update_user_meta( $user_id, 'rcp_companyname', sanitize_text_field( $_POST['rcp_companyname'] ) );
  153. }
  154.  
  155. if( ! empty( $_POST['rcp_telephone'] ) ) {
  156. update_user_meta( $user_id, 'rcp_telephone', sanitize_text_field( $_POST['rcp_telephone'] ) );
  157. }
  158.  
  159. if( ! empty( $_POST['rcp_address'] ) ) {
  160. update_user_meta( $user_id, 'rcp_address', sanitize_text_field( $_POST['rcp_address'] ) );
  161. }
  162.  
  163. }
  164. add_action( 'rcp_user_profile_updated', 'pw_rcp_save_user_fields_on_profile_save', 10 );
  165. add_action( 'rcp_edit_member', 'pw_rcp_save_user_fields_on_profile_save', 10 );
  166.  
  167. //agree to our terms of use
  168. function pippin_rcp_terms_of_use_field() {
  169. ob_start(); ?>
  170. <p>
  171. <input name="rcp_terms_agreement" id="rcp_terms_agreement" class="required" type="checkbox" />
  172. <label for="rcp_terms_agreement"><?php _e('Agree to our Terms & Conditions', 'rcp'); ?></label>
  173. </p>
  174. <?php
  175. echo ob_get_clean();
  176. }
  177. add_action('rcp_after_password_registration_field', 'pippin_rcp_terms_of_use_field');
  178.  
  179. function pippin_rcp_check_for_agreement($posted) {
  180. if(!isset($posted['rcp_terms_agreement'])) {
  181. //the field was not checked
  182. rcp_errors()->add('agree_to_terms', __('You must agree to our terms of use', 'rcp'), 'register');
  183. }
  184. }
  185. add_action('rcp_form_errors', 'pippin_rcp_check_for_agreement');
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement