{ return $val == '' ? array() : array_map('trim', explode(",", $val)); } function _setValue($config, $value) { $config->setValue(implode(", ", array_map('trim', $value))); } function _getDisplayString($val) { return implode($this->_getValue($val), ", "); } } SiteConfigType::register(new SiteConfigListType()); /* ----------------------------------------------------------- */ class SiteConfigPhpType extends SiteConfigType { function _getName() { return 'php'; } function _getValue($val) { return unserialize($val); } function _setValue($config, $value) { $config->setValue(serialize($value)); } } SiteConfigType::register(new SiteConfigPhpType());