public static function handle_all(array $fields_values, $user_id) { $user_fields = WJ_FieldUser::get_all($user_id); if (isset($user_fields) && !empty($user_fields)) { foreach ($user_fields as $user_field) { $key = $user_field->column_name(); // check if there is a value for this custom field if (array_key_exists($key, $fields_values)) { // set value $new_value = $fields_values[$key]; // extra process for specific types if ($user_field->field->type === 'checkbox') { // limit the value between [0,1] $new_value = min(max(0, (int) $new_value), 1); } else { if ($user_field->field->type === 'date') { // get date parameters $year = isset($fields_values[$key]['year']) ? (int) $fields_values[$key]['year'] : (int) strftime('%Y'); $month = isset($fields_values[$key]['month']) ? (int) $fields_values[$key]['month'] : 1; $day = isset($fields_values[$key]['day']) ? (int) $fields_values[$key]['day'] : 1; $new_value = null; if ($year !== 0 && $month !== 0 && $day !== 0) { // make timestamp from date parameters $new_value = mktime(0, 0, 0, $month, $day, $year); } } } // update value $user_field->update($new_value); } } } }
private function replace_cfield_shortcodes($tag_value) { $replacement = ''; if (isset($tag_value)) { $user_id = (int) $this->receiver->user_id; $field_id = (int) $tag_value; $field_user = new WJ_FieldUser(); $field_user->set(array('user_id' => $user_id, 'field_id' => $field_id)); $value = $field_user->value(); // If we don't have a value, we return the empty string. if (isset($value)) { // Check if the field value needs formatting output. switch ($field_user->field->type) { case 'checkbox': if ($value == 1) { $value = "Yes"; } else { $value = "No"; } break; case 'date': $value = date('F j, Y', $value); break; default: break; } $replacement = $value; } else { $replacement = ''; } } return $replacement; }
public static function render_all($user_id) { $fields = WJ_FieldUser::get_all($user_id); if (isset($fields)) { $output = ''; foreach ($fields as $field) { $field_render = new self($field); $output .= '<tr>' . '<th scope="row">' . $field_render->label() . '</th><td>' . $field_render->input() . '</td></tr>'; } return $output; } else { return null; } }