_group = 'checkboxgroup' . $attributes['group']; unset($attributes['group']); if (is_null($attributes)) { $attributes = array(); $attributes['class'] .= " $this->_group"; } elseif (is_array($attributes)) { if (isset($attributes['class'])) { $attributes['class'] .= " $this->_group"; } else { $attributes['class'] = $this->_group; } } elseif ($strpos = stripos($attributes, 'class="')) { $attributes = str_ireplace('class="', 'class="' . $this->_group . ' ', $attributes); } else { $attributes .= ' class="' . $this->_group . '"'; } } parent::HTML_QuickForm_advcheckbox($elementName, $elementLabel, $text, $attributes, $values); } //end constructor /** * set html for help button * * @access public * @param array $help array of arguments to make a help button * @param string $function function name to call to get html */ function setHelpButton($helpbuttonargs, $function='helpbutton'){ if (!is_array($helpbuttonargs)){ $helpbuttonargs=array($helpbuttonargs); }else{ $helpbuttonargs=$helpbuttonargs; } //we do this to to return html instead of printing it //without having to specify it in every call to make a button. if ('helpbutton' == $function){ $defaultargs=array('', '', 'moodle', true, false, '', true); $helpbuttonargs=$helpbuttonargs + $defaultargs ; } $this->_helpbutton=call_user_func_array($function, $helpbuttonargs); } /** * get html for help button * * @access public * @return string html for help button */ function getHelpButton(){ return $this->_helpbutton; } /** * Automatically generates and assigns an 'id' attribute for the element. * * Currently used to ensure that labels work on radio buttons and * advcheckboxes. Per idea of Alexander Radivanovich. * Overriden in moodleforms to remove qf_ prefix. * * @access private * @return void */ function _generateId() { static $idx = 1; if (!$this->getAttribute('id')) { $this->updateAttributes(array('id' => 'id_'.substr(md5(microtime() . $idx++), 0, 6))); } } // end func _generateId function toHtml() { return '' . parent::toHtml() . ''; } /** * Returns the disabled field. Accessibility: the return "[ ]" from parent * class is not acceptable for screenreader users, and we DO want a label. * @return string */ function getFrozenHtml() { //$this->_generateId(); $output = 'getChecked()) { $output .= 'checked="checked" />'.$this->_getPersistantData(); } else { $output .= '/>'; } return $output; } //end func getFrozenHtml } ?>