'one, two, three']; /** * Creates the options array * * @return array */ protected function getOptions() { $options = explode(',', $this->config['values']); $options = array_map('trim', $options); $options = array_filter($options); return $options; } /** * A single checkbox, additional values are ignored * * @param string $name * @param string $rawvalue * @param string $htmlID * * @return string */ public function valueEditor($name, $rawvalue, $htmlID) { $options = $this->getOptions(); $opt = array_shift($options); if ($rawvalue == $opt) { $checked = 'checked'; } else { $checked = ''; } $opt = hsc($opt); $params = [ 'name' => $name, 'value' => $opt, 'class' => 'struct_' . strtolower($this->getClass()), 'type' => 'checkbox', 'id' => $htmlID, 'checked' => $checked ]; $attributes = buildAttributes($params, true); return ""; } /** * Multiple checkboxes * * @param string $name * @param \string[] $rawvalues * @param string $htmlID * * @return string */ public function multiValueEditor($name, $rawvalues, $htmlID) { $class = 'struct_' . strtolower($this->getClass()); $html = ''; foreach ($this->getOptions() as $opt) { if (in_array($opt, $rawvalues)) { $checked = 'checked'; } else { $checked = ''; } $params = [ 'name' => $name . '[]', 'value' => $opt, 'class' => $class, 'type' => 'checkbox', 'id' => $htmlID, 'checked' => $checked ]; $attributes = buildAttributes($params, true); $htmlID = ''; $opt = hsc($opt); $html .= ""; } return $html; } }