BP_XProfile_Field_Type_Datebox::admin_save_settings( int $field_id, array $settings )
Save settings from the field edit screen in the Dashboard.
Description
Parameters
- $field_id
-
(Required) ID of the field.
- $settings
-
(Required) Array of settings.
Return
(bool) True on success.
Source
File: bp-xprofile/classes/class-bp-xprofile-field-type-datebox.php
public function admin_save_settings( $field_id, $settings ) {
$existing_settings = self::get_field_settings( $field_id );
$saved_settings = array();
foreach ( array_keys( $existing_settings ) as $setting ) {
switch ( $setting ) {
case 'range_relative_start' :
case 'range_relative_end' :
$op_key = $setting . '_type';
if ( isset( $settings[ $op_key ] ) && 'past' === $settings[ $op_key ] ) {
$value = 0 - intval( $settings[ $setting ] );
} else {
$value = intval( $settings[ $setting ] );
}
$saved_settings[ $setting ] = $value;
break;
default :
if ( isset( $settings[ $setting ] ) ) {
$saved_settings[ $setting ] = $settings[ $setting ];
}
break;
}
}
// Sanitize and validate saved settings.
$saved_settings = self::validate_settings( $saved_settings );
foreach ( $saved_settings as $setting_key => $setting_value ) {
bp_xprofile_update_meta( $field_id, 'field', $setting_key, $setting_value );
}
return true;
}
Questions?
We're always happy to help with code or other questions you might have! Search our developer docs, contact support, or connect with our sales team.