Exemplo n.º 1
0
 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);
             }
         }
     }
 }
Exemplo n.º 2
0
 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;
 }
Exemplo n.º 3
0
 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;
     }
 }