/**
  * Processes the field data
  *
  * @return string
  */
 function process()
 {
     foreach ($this->field_data as $field => $data) {
         $this->field_data[$field] = Fieldtype::process_field_data('text', $data);
     }
     return $this->field_data;
 }
예제 #2
0
 public function process()
 {
     if (isset($_FILES['page']['name']['yaml'][$this->fieldname])) {
         $grid_field = $_FILES['page']['name']['yaml'][$this->fieldname];
         foreach ($grid_field as $index => $fields) {
             foreach ($fields as $field => $value) {
                 if (array_get($this->settings['fields'][$field], 'type') === 'file') {
                     if ($value != '') {
                         $file_values = array('name' => $_FILES['page']['name']['yaml'][$this->fieldname][$index][$field], 'type' => $_FILES['page']['type']['yaml'][$this->fieldname][$index][$field], 'tmp_name' => $_FILES['page']['tmp_name']['yaml'][$this->fieldname][$index][$field], 'error' => $_FILES['page']['error']['yaml'][$this->fieldname][$index][$field], 'size' => $_FILES['page']['size']['yaml'][$this->fieldname][$index][$field]);
                         $this->field_data[$index][$field] = Fieldtype::process_field_data('file', $file_values, $this->settings['fields'][$field]);
                     } else {
                         if (isset($this->field_data[$index]["{$field}_remove"])) {
                             $this->field_data[$index][$field] = '';
                         } else {
                             $this->field_data[$index][$field] = isset($this->field_data[$index][$field]) ? $this->field_data[$index][$field] : '';
                         }
                     }
                     // unset the remove column
                     if (isset($this->field_data[$index]["{$field}_remove"])) {
                         unset($this->field_data[$index]["{$field}_remove"]);
                     }
                 }
             }
         }
     }
     foreach ($this->field_data as $row => $column) {
         foreach ($column as $field => $data) {
             $the_field_type = array_get($this->settings['fields'][$field], 'type', 'text');
             if ($the_field_type !== 'file') {
                 $this->field_data[$row][$field] = Fieldtype::process_field_data($the_field_type, $data);
             }
         }
     }
     // if $this->field_data doesn't contain real values, make it an empty string for the people
     if (Helper::isEmptyArray($this->field_data)) {
         $this->field_data = "";
     }
     return $this->field_data;
 }
예제 #3
0
파일: routes.php 프로젝트: jalmelb/24hl2015
     if (isset($settings['type']) && $settings['type'] == 'checkbox' && !isset($form_data['yaml'][$field])) {
         $form_data['yaml'][$field] = 0;
     }
 }
 /*
 |--------------------------------------------------------------------------
 | Fieldtype Process Method
 |--------------------------------------------------------------------------
 |
 | Fieldtypes get the opportunity to process their own data.
 | That happens right here.
 |
 */
 foreach ($form_data['yaml'] as $field => $value) {
     if (isset($field_settings[$field]['type'])) {
         $file_data[$field] = Fieldtype::process_field_data($field_settings[$field]['type'], $value, $field_settings[$field], $field);
     } else {
         $file_data[$field] = $value;
     }
 }
 /*
 |--------------------------------------------------------------------------
 | Clean up data
 |--------------------------------------------------------------------------
 |
 | We make the assumption that all fields INSIDE the fieldset are editable
 | and all those OUTSIDE should be left alone. So we filter the submission
 | against the original fieldset and and wipe out empty fields to keep page 
 | variables clean. Not present = null = consistent data types = happy devs.
 |
 */
예제 #4
0
    public function process()
    {
        foreach ($this->field_data as $row => $column) {
            foreach ($column as $field => $data) {
                $settings = $this->settings['fields'][$field];
                $the_field_type = array_get($settings, 'type', 'text');
                $this->field_data[$row][$field] = Fieldtype::process_field_data($the_field_type, $data, $settings);
            }
        }

        // if $this->field_data doesn't contain real values, make it an empty string for the people
        if (Helper::isEmptyArray($this->field_data)) {
            $this->field_data = "";
        }        

        return $this->field_data;
    }
 /**
  * Process data after submission
  * 
  * @return $array
  */
 public function process()
 {
     // Process fieldtypes
     foreach ($this->field_data as $set_index => $set_data) {
         $set_name = $set_data['type'];
         $set_fields = array_get($this->settings['sets'][$set_name], 'fields', array());
         unset($set_data['type']);
         foreach ($set_data as $set_field_name => $set_field_data) {
             $set_field_settings = $set_fields[$set_field_name];
             $the_field_type = array_get($set_field_settings, 'type', 'text');
             $field_name = $the_field_type == 'grid' ? "{$this->fieldname}:{$set_index}:{$set_field_name}" : $this->fieldname;
             $this->field_data[$set_index][$set_field_name] = Fieldtype::process_field_data($the_field_type, $set_field_data, $set_field_settings, $field_name);
         }
     }
     // JavaScript will move the fields around.
     // We just want the indexes to be reset.
     return array_values($this->field_data);
 }
예제 #6
0
파일: ft.grid.php 프로젝트: nob/joi
 public function process()
 {
     if (isset($_FILES['page']['name']['yaml'][$this->fieldname])) {
         $grid_field = $_FILES['page']['name']['yaml'][$this->fieldname];
         foreach ($grid_field as $index => $fields) {
             foreach ($fields as $field => $value) {
                 if (array_get($this->settings['fields'][$field], 'type') === 'file') {
                     if ($value != '') {
                         $file_values = array('name' => $_FILES['page']['name']['yaml'][$this->fieldname][$index][$field], 'type' => $_FILES['page']['type']['yaml'][$this->fieldname][$index][$field], 'tmp_name' => $_FILES['page']['tmp_name']['yaml'][$this->fieldname][$index][$field], 'error' => $_FILES['page']['error']['yaml'][$this->fieldname][$index][$field], 'size' => $_FILES['page']['size']['yaml'][$this->fieldname][$index][$field]);
                         $this->field_data[$index][$field] = Fieldtype::process_field_data('file', $file_values, $this->settings['fields'][$field]);
                     } else {
                         if (isset($this->field_data[$index]["{$field}_remove"])) {
                             $this->field_data[$index][$field] = '';
                         } else {
                             $this->field_data[$index][$field] = isset($this->field_data[$index][$field]) ? $this->field_data[$index][$field] : '';
                         }
                     }
                     // unset the remove column
                     if (isset($this->field_data[$index]["{$field}_remove"])) {
                         unset($this->field_data[$index]["{$field}_remove"]);
                     }
                 }
             }
         }
     }
     foreach ($this->field_data as $row => $column) {
         foreach ($column as $field => $data) {
             if (isset($this->settings['fields'][$field]) && $this->settings['fields'][$field]['type'] != 'file') {
                 $this->field_data[$row][$field] = Fieldtype::process_field_data($this->settings['fields'][$field]['type'], $data);
             }
         }
     }
     return $this->field_data;
 }
        Session::setFlash('member_old_values', $submission);
        Session::setFlash('member_errors', $errors);
        $admin_app->redirect($admin_app->request()->getReferrer());
        return;
    }
    // set variables
    foreach ($submission as $key => $value) {
        if ($key == 'password' && $value == '') {
            continue;
        }
        $field_config = array_get($config, $key, array());
        // only save values if save_value isn't false
        if (array_get($field_config, 'save_value', true)) {
            // fieldtype processing if there's a type
            if (isset($config[$key]['type'])) {
                $value = Fieldtype::process_field_data($config[$key]['type'], $value, $config[$key], $key);
            }
            $member->set($key, $value);
        } else {
            $member->remove($key);
        }
    }
    // save member
    $member->save();
    // REDIRECT
    $admin_app->flash('success', Localization::fetch('member_saved'));
    $url = CP_Helper::show_page('members') ? $admin_app->urlFor('members') : $admin_app->urlFor('pages');
    $admin_app->redirect($url);
});
// GET: MEMBER
// --------------------------------------------------------