/**
  * Save Field
  */
 function save($data)
 {
     $data = is_array($data) ? implode("\n", $data) : '';
     return parent::save($data);
 }
Пример #2
0
 /**
  * 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);
 }
Пример #4
0
	/**
	 * Save Field
	 */
	function save($data)
	{
		$data = $data == 'n' ? '' : implode("\n", $data);
		return parent::save($data);
	}