/** * Save Field */ function save($data) { $data = is_array($data) ? implode("\n", $data) : ''; return parent::save($data); }
/** * All Options */ function replace_all_options($data, $params = array(), $tagdata = FALSE, $options = FALSE, $iterator_count = 0) { if (!$tagdata) { return "<ul>\n" . $this->replace_all_options($data, $params, " <li>{option}</li>\n") . "</ul>"; } PT_Multi_Fieldtype::prep_field_data($data); $r = ''; if ($options === FALSE) { $options = $this->settings['options']; } if ($options) { // optional sorting if (isset($params['sort']) && $params['sort']) { $sort = strtolower($params['sort']); if ($sort == 'asc') { asort($options); } else { if ($sort == 'desc') { arsort($options); } } } // prepare for {switch} and {count} tags $this->prep_iterators($tagdata); $this->_iterator_count += $iterator_count; foreach ($options as $option_name => $option) { if (is_array($option)) { $sub_params = array_merge($params, array('backspace' => '0')); $r .= $this->replace_all_options($data, $sub_params, $tagdata, $option, $this->_iterator_count); } else { // copy $tagdata $option_tagdata = $tagdata; // simple var swaps $option_tagdata = $this->EE->TMPL->swap_var_single('option', $option, $option_tagdata); $option_tagdata = $this->EE->TMPL->swap_var_single('option_name', $option_name, $option_tagdata); $option_tagdata = $this->EE->TMPL->swap_var_single('selected', in_array($option_name, $data) ? 1 : 0, $option_tagdata); // parse {switch} and {count} tags $this->parse_iterators($option_tagdata); $r .= $option_tagdata; } } if (isset($params['backspace']) && $params['backspace']) { $r = substr($r, 0, -$params['backspace']); } } return $r; }
/** * Replace Tag */ function replace_tag($data, $params = array(), $tagdata = FALSE) { if (!isset($this->settings['options']) || !$this->settings['options'] || count($this->settings['options']) < 2) { return $data; } return parent::replace_tag($data, $params, $tagdata); }
/** * Save Field */ function save($data) { $data = $data == 'n' ? '' : implode("\n", $data); return parent::save($data); }