Changeset 3650 for trunk/bp-xprofile.php
- Timestamp:
- 01/04/2011 12:33:48 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/bp-xprofile.php
r3643 r3650 226 226 if ( !isset( $_POST['field_' . $field_id] ) ) { 227 227 228 if ( is_numeric( $_POST['field_' . $field_id . '_day'] ) ) {228 if ( !empty( $_POST['field_' . $field_id . '_day'] ) && is_numeric( $_POST['field_' . $field_id . '_day'] ) ) { 229 229 /* Concatenate the values. */ 230 230 $date_value = $_POST['field_' . $field_id . '_day'] . ' ' . … … 251 251 /* Now we've checked for required fields, lets save the values. */ 252 252 foreach ( (array)$posted_field_ids as $field_id ) { 253 if ( !xprofile_set_field_data( $field_id, $bp->displayed_user->id, $_POST['field_' . $field_id], $is_required[$field_id] ) ) 253 254 // Certain types of fields (checkboxes, multiselects) may come through empty. Save them as an empty array so that they don't get overwritten by the default on the next edit. 255 if ( empty( $_POST['field_' . $field_id] ) ) 256 $value = array(); 257 else 258 $value = $_POST['field_' . $field_id]; 259 260 if ( !xprofile_set_field_data( $field_id, $bp->displayed_user->id, $value, $is_required[$field_id] ) ) 254 261 $errors = true; 255 262 else 256 do_action( 'xprofile_profile_field_data_updated', $field_id, $ _POST['field_' . $field_id]);263 do_action( 'xprofile_profile_field_data_updated', $field_id, $value ); 257 264 } 258 265 … … 668 675 return false; 669 676 670 /* If the value is empty, then delete any field data that exists */ 671 if ( empty( $value ) ) { 677 $field = new BP_XProfile_Field( $field_id ); 678 679 // If the value is empty, then delete any field data that exists, unless the field is of a 680 // type where null values are semantically meaningful 681 if ( empty( $value ) && 'checkbox' != $field->type && 'multiselectbox' != $field->type ) { 672 682 xprofile_delete_field_data( $field_id, $user_id ); 673 683 return true; 674 684 } 675 676 $field = new BP_XProfile_Field( $field_id );677 685 678 686 /* Check the value is an acceptable value */ … … 688 696 unset( $value[$i] ); 689 697 } 690 691 if ( empty( $value ) )692 return false;693 698 694 699 /* Reset the keys by merging with an empty array */
Note: See TracChangeset
for help on using the changeset viewer.