Beispiel #1
0
 public function parseFields($fields, $data, $multilang = false, $escape = false)
 {
     // Loop through fields
     foreach ($fields as $fieldID => $field) {
         // Do we have a single value field?
         if ($this->getValueFormat($field['type']) != 'multiple' && $field['type'] != 'section') {
             $keyword = 'data_' . $field['keyword'] . ($multilang && $field['multilang'] ? '_' . session::item('language') : '');
             $value = isset($data[$keyword]) ? $data[$keyword] : '';
             // Do we have multiple option field?
             if ($this->isMultiValue($field['type'])) {
                 if (isset($field['items'][$value])) {
                     $data[$keyword] = array($value => $escape ? text_helper::entities($field['items'][$value]) : $field['items'][$value]);
                 } else {
                     $data[$keyword] = '';
                 }
             } elseif ($this->getValueFormat($field['type']) == 'location') {
                 if ($value) {
                     $data[$keyword] = array($value => $escape && (!isset($field['html']) || !$field['html']) ? text_helper::entities(geo_helper::getCountry($value)) : geo_helper::getCountry($value));
                 }
                 if ($data['data_' . $field['keyword'] . '_state']) {
                     $data[$keyword . '_state'] = array($data['data_' . $field['keyword'] . '_state'] => $escape && (!isset($field['html']) || !$field['html']) ? text_helper::entities($data['data_' . $field['keyword'] . '_state_name']) : $data['data_' . $field['keyword'] . '_state_name']);
                 }
                 if ($data['data_' . $field['keyword'] . '_city']) {
                     $data[$keyword . '_city'] = array($data['data_' . $field['keyword'] . '_city'] => $escape && (!isset($field['html']) || !$field['html']) ? text_helper::entities($data['data_' . $field['keyword'] . '_city_name']) : $data['data_' . $field['keyword'] . '_city_name']);
                 }
             } elseif ($this->getValueFormat($field['type']) == 'country') {
                 if ($value) {
                     $data[$keyword] = array($value => $escape && (!isset($field['html']) || !$field['html']) ? text_helper::entities(geo_helper::getCountry($value)) : geo_helper::getCountry($value));
                 }
             } else {
                 $data[$keyword] = $escape && (!isset($field['html']) || !$field['html']) ? text_helper::entities($value) : $value;
             }
         }
     }
     return $data;
 }