Advertisement
Fraggy

Saving custom fields

May 22nd, 2012
236
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 9.06 KB | None | 0 0
  1. //checking user role in profile page
  2. add_action( 'show_user_profile', 'user_fields_for_admin', 10);
  3. add_action( 'edit_user_profile', 'user_fields_for_admin', 10);
  4. function user_fields_for_admin( $user ){
  5.   //Setting up variables to hold the registration data
  6.     $selected_register = esc_attr(get_the_author_meta( 'registered_as', $user->ID ));
  7.     $selected = get_the_author_meta( 'unit_type', $user->ID );
  8.     $selected_unit_number = esc_attr(get_the_author_meta( 'unit_number', $user->ID) );
  9.     $first_name = esc_attr(get_the_author_meta( 'first_name', $user->ID));
  10.     $last_name = esc_attr(get_the_author_meta( 'last_name', $user->ID));
  11.     $owner1_address = esc_attr(get_the_author_meta( 'owner1_address', $user->ID));
  12.     $owner1_tel_day = esc_attr(get_the_author_meta( 'owner1_tel_day', $user->ID));
  13.     $owner1_tel_night = esc_attr(get_the_author_meta( 'owner1_tel_night', $user->ID));
  14.     $emergency_contact_name = esc_attr(get_the_author_meta( 'emergency_contact_name', $user->ID));
  15.     $emergency_contact_tel_day = esc_attr(get_the_author_meta( 'emergency_contact_tel_day', $user->ID));
  16.     $emergency_contact_tel_night = esc_attr(get_the_author_meta( 'emergency_contact_tel_night', $user->ID));
  17.    
  18.   echo '<h2 class="imperial-title">Registration Info</h2>';
  19.  echo '<table class="form-table registered-as-table"><tbody>
  20.         <tr>';
  21.     echo '<th>Registered as</th>';
  22.     echo '<td>';
  23.     echo '<select name="registered_as" id="registered_as">';
  24.     echo '<option value=""';  echo ($selected_register == "")?  'selected="selected"' : ''; echo '></option>';
  25.     echo '<option value="Owner"'; echo ($selected_register == "Owner")?  'selected="selected"' : ''; echo '>Owner</option>';
  26.     echo '<option value="Tenant/Occupier"'; echo ($selected_register == "Tenant/Occupier")?  'selected="selected"' : ''; echo '>Tenant/Occupier</option>';
  27.     echo '<option value="Board"'; echo ($selected_register == "Board")?  'selected="selected"' : ''; echo '>Board Member</option>';
  28.     echo '<option value="Contractor"'; echo ($selected_register == "Contractor")?  'selected="selected"' : ''; echo '>Contractor</option>';
  29.     echo '<option value="Condo Management Company"'; echo ($selected_register == "Condo Management Company")?  'selected="selected"' : ''; echo '>Condo Management Company</option>';
  30.     echo '</select></td>';
  31.     echo '</tr>';
  32.     echo '</tbody></table>';
  33.  switch ($user->roles[0]) {
  34.   //THIS IS FOR PENDING USERS
  35.  
  36.   case 'pending':
  37.     //If PENDING and OWNER show these fields. Note that these are only a selection of the person registering so that they can be
  38.    
  39.     if ($selected_register == "Owner"){
  40.         echo '<h2>Pending Owner Registration Information</h2>';
  41.     //SELECT BOX FOR REGISTERED AS
  42.     echo '<div class="pending-user error"><p><strong>THIS USER IS PENDING PLEASE UPDATE THEIR ROLE</strong></p></div>';
  43.    
  44.     echo '<p>The following is just the name and contact details of people registering as owners. The rest will be shown once you have changed their role to "Owner"</p>';
  45.     //OWNER DETAILS
  46.         echo '<h3>Owner Details</h3>';
  47.     echo '<table class="form-table"><tbody><tr>';
  48.             //FIRST NAME
  49.             echo '<tr><th>First Name</th>';
  50.             echo '<td><input type="text" name="first_name" id="first_name1" value="'; echo $first_name; echo '" class="regular-text" /></td>';
  51.             echo '</tr>';
  52.             //LAST NAME
  53.             echo '<tr><th>Last Name</th>';
  54.             echo '<td><input type="text" name="last_name" id="last_name1" value="'; echo $last_name; echo '" class="regular-text" /></td>';
  55.             echo '</tr>';
  56.             //ADDRESS
  57.             echo '<tr><th>Owner Address</th>';
  58.             echo '<td><input style="width:400px;" type="text" name="owner1_address" id="owner1_address" value="'; echo $owner1_address; echo '" class="regular-text" /></td>';
  59.             echo '</tr>';  
  60.             //TELEPHONE
  61.             echo '<tr><th>Owner Telephone</th>';
  62.             echo '<td><input type="text" name="owner1_tel_day" id="owner1_tel_day" value="'; echo $owner1_tel_day; echo '" class="regular-text" /></td>';
  63.             echo '</tr>';       echo '</tbody></table>';
  64.  
  65.     //UNIT DETAILS
  66.         echo '<h3>Unit Details</h3>';      
  67.         echo '<table class="form-table"><tbody><tr>';
  68.             //UNIT TYPE
  69.             echo '<th>Unit Type</th>';
  70.             echo '<td>';
  71.             echo '<select name="unit_type" id="unit_type">';
  72.             echo '<option value=""';  echo ($selected == "")?  'selected="selected"' : ''; echo '></option>';
  73.             echo '<option value="Residential"'; echo ($selected == "Residential")?  'selected="selected"' : ''; echo '>Residential</option>';
  74.             echo '<option value="Commercial"'; echo ($selected == "Commercial")?  'selected="selected"' : ''; echo '>Commercial</option>';
  75.             echo '</select></td></tr>';
  76.             //UNIT NUMBER
  77.             echo '<tr><th>Unit Number</th>';
  78.             echo '<td><input type="text" name="unit_number" id="unit_number" value="'; echo $selected_unit_number; echo '" class="regular-text" /></td>';
  79.             echo '</tr>';
  80.             echo '</tbody></table>';
  81.     }
  82.     //IF REGISTERED AS BOARD SHOW BOARD FIELDS
  83.     elseif ($selected_register == "Board") {
  84.         echo 'Board fields will go in here';   
  85.     }
  86.         break;
  87.  
  88.   //THIS IS OWNERS
  89.   case 'owner':
  90.     //OWNER DETAILS
  91.         echo '<h3>Owner Details</h3>';
  92.         echo '<table class="form-table"><tbody><tr>';
  93.             //FIRST NAME
  94.             echo '<tr><th>First Name</th>';
  95.             echo '<td><input type="text" name="first_name" id="first_name1" value="'; echo $first_name; echo '" class="regular-text" /></td>';
  96.             echo '</tr>';
  97.             //LAST NAME
  98.             echo '<tr><th>Last Name</th>';
  99.             echo '<td><input type="text" name="last_name" id="last_name1" value="'; echo $last_name; echo '" class="regular-text" /></td>';
  100.             echo '</tr>';
  101.             //ADDRESS
  102.             echo '<tr><th>Owner Address</th>';
  103.             echo '<td><input style="width:400px;" type="text" name="owner1_address" id="owner1_address" value="'; echo $owner1_address; echo '" class="regular-text" /></td>';
  104.             echo '</tr>';  
  105.             //TELEPHONE DAY
  106.             echo '<tr><th>Owner Telephone - Day</th>';
  107.             echo '<td><input type="text" name="owner1_tel_day" id="owner1_tel_day" value="'; echo $owner1_tel_day; echo '" class="regular-text" /></td>';
  108.             echo '</tr>';  
  109.             //TELEPHONE NIGHT
  110.             echo '<tr><th>Owner Telephone - Night</th>';
  111.             echo '<td><input type="text" name="owner1_tel_night" id="owner1_tel_night" value="'; echo $owner1_tel_night; echo '" class="regular-text" /></td>';
  112.             echo '</tr>';      
  113.             //EMERGENCY CONTACT
  114.             echo '<tr><th>Emergency Contact</th>';
  115.             echo '<td><input type="text" name="emergency_contact_name" id="emergency_contact_name" value="'; echo $emergency_contact_name; echo '" class="regular-text" /></td>';
  116.             echo '</tr>';
  117.             //EMERGENCY CONTACT TEL DAY
  118.             echo '<tr><th>Emergency Contact Telephone - Day</th>';
  119.             echo '<td><input type="text" name="emergency_contact_tel_day" id="emergency_contact_tel_day" value="'; echo $emergency_contact_tel_day; echo '" class="regular-text" /></td>';
  120.             echo '</tr>';  
  121.             //EMERGENCY CONTACT TEL NIGHT
  122.             echo '<tr><th>Emergency Contact Telephone - Night</th>';
  123.             echo '<td><input type="text" name="emergency_contact_tel_night" id="emergency_contact_tel_night" value="'; echo $emergency_contact_tel_night; echo '" class="regular-text" /></td>';
  124.             echo '</tr>';                      
  125.            
  126.         echo '</tbody></table>';
  127.  
  128.     //UNIT DETAILS
  129.         echo '<h3>Unit Details</h3>';      
  130.         echo '<table class="form-table"><tbody><tr>';
  131.             //UNIT TYPE
  132.             echo '<th>Unit Type</th>';
  133.             echo '<td>';
  134.             echo '<select name="unit_type" id="unit_type">';
  135.             echo '<option value=""';  echo ($selected == "")?  'selected="selected"' : ''; echo '></option>';
  136.             echo '<option value="Residential"'; echo ($selected == "Residential")?  'selected="selected"' : ''; echo '>Residential</option>';
  137.             echo '<option value="Commercial"'; echo ($selected == "Commercial")?  'selected="selected"' : ''; echo '>Commercial</option>';
  138.             echo '</select></td></tr>';
  139.             //UNIT NUMBER
  140.             echo '<tr><th>Unit Number</th>';
  141.             echo '<td><input type="text" name="unit_number" id="unit_number" value="'; echo $selected_unit_number; echo '" class="regular-text" /></td>';
  142.             echo '</tr>';
  143.             echo '</tbody></table>';    
  144.             break;
  145.  }
  146. }
  147.  
  148.  
  149.  
  150. //saving the user fields
  151. add_action( 'personal_options_update', 'save_user_fields' );
  152. add_action( 'edit_user_profile_update', 'save_user_fields' );
  153.  
  154. function save_user_fields( $user_id ) {
  155.     if ( !current_user_can( 'edit_user', $user_id ) )
  156.         return false;
  157.     update_usermeta( $user_id, 'unit_type', $_POST['unit_type'] );
  158.     update_usermeta( $user_id, 'registered_as', $_POST['registered_as'] );
  159.     update_usermeta( $user_id, 'date_registered', $_POST['date_registered'] );
  160.     update_usermeta( $user_id, 'unit_number', $_POST['unit_number'] );
  161.     update_usermeta( $user_id, 'first_name', $_POST['first_name'] );
  162.     update_usermeta( $user_id, 'last_name', $_POST['last_name'] );
  163.     update_usermeta( $user_id, 'owner1_address', $_POST['owner1_address'] );
  164.     update_usermeta( $user_id, 'owner1_tel_day', $_POST['owner1_tel_day'] );
  165.     update_usermeta( $user_id, 'owner1_tel_night', $_POST['owner1_tel_night'] );
  166.     update_usermeta( $user_id, 'emergency_contact_name', $_POST['emergency_contact_name'] );
  167.     update_usermeta( $user_id, 'emergency_contact_tel_day', $_POST['emergency_contact_tel_day'] );
  168.     update_usermeta( $user_id, 'emergency_contact_tel_night', $_POST['emergency_contact_tel_night'] );
  169. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement