* @author Bertrand Mansion * @version 1.0 * @since PHP4.04pl1 * @access public */ class MoodleQuickForm_submit extends HTML_QuickForm_submit { function MoodleQuickForm_submit($elementName=null, $value=null, $attributes=null) { parent::HTML_QuickForm_submit($elementName, $value, $attributes); } /** * Called by HTML_QuickForm whenever form event is made on this element * * @param string $event Name of event * @param mixed $arg event arguments * @param object $caller calling object * @since 1.0 * @access public * @return void */ function onQuickFormEvent($event, $arg, &$caller) { switch ($event) { case 'createElement': parent::onQuickFormEvent($event, $arg, $caller); if ($caller->isNoSubmitButton($arg[0])){ //need this to bypass client validation //for buttons that submit but do not process the //whole form. $onClick = $this->getAttribute('onclick'); $skip = 'skipClientValidation = true;'; $onClick = ($onClick !== null)?$skip.' '.$onClick:$skip; $this->updateAttributes(array('onclick'=>$onClick)); } return true; break; } return parent::onQuickFormEvent($event, $arg, $caller); } // end func onQuickFormEvent /** * Slightly different container template when frozen. Don't want to display a submit * button if the form is frozen. * * @return string */ function getElementTemplateType(){ if ($this->_flagFrozen){ return 'nodisplay'; } else { return 'default'; } } function freeze(){ $this->_flagFrozen = true; } } ?>