'', 'type' => 'checkbox', 'class' => 'checklist', 'options' => array(), ); protected $protect = array('name', 'type'); public function __construct($name) { $this->data['name'] = $name; } public function __get($key) { if ($key == 'value') { // Return the currently checked values $array = array(); foreach ($this->data['options'] as $id => $opt) { // Return the options that are checked ($opt[1] === TRUE) and $array[] = $id; } return $array; } return parent::__get($key); } public function render() { // Import base data $base_data = $this->data; // Make it an array $base_data['name'] .= '[]'; // Newline $nl = "\n"; $checklist = ''; return $checklist; } protected function load_value() { foreach ($this->data['options'] as $val => $checked) { if ($input = $this->input_value($this->data['name'])) { $this->data['options'][$val][1] = in_array($val, $input); } else { $this->data['options'][$val][1] = FALSE; } } } } // End Form Checklist