From e0f406840925be059ea3768714174b2c7bf4b350 Mon Sep 17 00:00:00 2001 From: jamiesensei Date: Sun, 12 Nov 2006 11:30:12 +0000 Subject: [PATCH] new element type 'selectyesno' and some clean up to code for modvisible and modgroupmode elements. --- lib/form/modgroupmode.php | 25 +++--------------- lib/form/modvisible.php | 33 ++--------------------- lib/form/selectyesno.php | 55 +++++++++++++++++++++++++++++++++++++++ lib/formslib.php | 1 + 4 files changed, 61 insertions(+), 53 deletions(-) create mode 100644 lib/form/selectyesno.php diff --git a/lib/form/modgroupmode.php b/lib/form/modgroupmode.php index a45d6cfbcc..3a10ce8bfa 100644 --- a/lib/form/modgroupmode.php +++ b/lib/form/modgroupmode.php @@ -3,7 +3,7 @@ global $CFG; require_once "$CFG->libdir/form/select.php"; /** - * HTML class for a editor format drop down element + * HTML class for a drop down element to select groupmode in an activity mod update form * * @author Jamie Pratt * @access public @@ -26,9 +26,6 @@ class MoodleQuickForm_modgroupmode extends MoodleQuickForm_select{ HTML_QuickForm_element::HTML_QuickForm_element($elementName, $elementLabel, $attributes, null); $this->_type = 'modgroupmode'; - /*if ($options['course']->groupmodeforce){ - $this->updateAttributes(array('disabled'=>'disabled')); - }*/ } //end constructor @@ -47,26 +44,10 @@ class MoodleQuickForm_modgroupmode extends MoodleQuickForm_select{ switch ($event) { case 'createElement': $choices=array(); - $choices[NOGROUPS] = get_string('groupsnone'); - $choices[SEPARATEGROUPS] = get_string('groupsseparate'); - $choices[VISIBLEGROUPS] = get_string('groupsvisible'); + $choices[0] = get_string('no'); + $choices[1] = get_string('yes'); $this->load($choices); break; - /*case 'updateValue' : - $value = $this->_findValue($caller->_constantValues); - if (null === $value) { - $value = $this->_findValue($caller->_submitValues); - if (null === $value && (!$caller->isSubmitted() || !$this->getMultiple())) { - $value = $this->_findValue($caller->_defaultValues); - } - } - if (null !== $value) { - $this->setValue($value); - }else{ - $this->setValue(groupmode($options['course'], $options['cm'])); - } - return true; - break;*/ } return parent::onQuickFormEvent($event, $arg, $caller); } diff --git a/lib/form/modvisible.php b/lib/form/modvisible.php index fd89b68bb3..0f91e668ed 100644 --- a/lib/form/modvisible.php +++ b/lib/form/modvisible.php @@ -3,15 +3,13 @@ global $CFG; require_once "$CFG->libdir/form/select.php"; /** - * HTML class for a editor format drop down element + * HTML class for a drop down element to select visibility in an activity mod update form * * @author Jamie Pratt * @access public */ class MoodleQuickForm_modvisible extends MoodleQuickForm_select{ - - /** * Class constructor * @@ -48,36 +46,9 @@ class MoodleQuickForm_modvisible extends MoodleQuickForm_select{ $choices[0] = get_string('hide'); $this->load($choices); break; - /*case 'updateValue' : - $value = $this->_findValue($caller->_constantValues); - if (null === $value) { - $value = $this->_findValue($caller->_submitValues); - if (null === $value && (!$caller->isSubmitted() || !$this->getMultiple())) { - $value = $this->_findValue($caller->_defaultValues); - } - } - if (null !== $value) { - $this->setValue($value); - }else{ - $this->setValue($this->_modVisible($this->_options['hiddensection'], - $this->_options['cm'])); - } - return true; - break;*/ + } return parent::onQuickFormEvent($event, $arg, $caller); } -/* function _modVisible($hiddensection, $cm){ - if ($cm) { - $visible = $cm->visible; - } else { - $visible = true; - } - if ($hiddensection) { - $visible = false; - } - return $visible; - }*/ - } ?> \ No newline at end of file diff --git a/lib/form/selectyesno.php b/lib/form/selectyesno.php new file mode 100644 index 0000000000..1f4df1c6ea --- /dev/null +++ b/lib/form/selectyesno.php @@ -0,0 +1,55 @@ +libdir/form/select.php"; + +/** + * HTML class for a simple yes/ no drop down element + * + * @author Jamie Pratt + * @access public + */ +class MoodleQuickForm_selectyesno extends MoodleQuickForm_select{ + + + /** + * Class constructor + * + * @param string Select name attribute + * @param mixed Label(s) for the select + * @param mixed Either a typical HTML attribute string or an associative array + * @param mixed $options ignored + * @access public + * @return void + */ + function MoodleQuickForm_selectyesno($elementName=null, $elementLabel=null, $attributes=null, $options=null) + { + HTML_QuickForm_element::HTML_QuickForm_element($elementName, $elementLabel, $attributes, null); + $this->_type = 'selectyesno'; + + } //end constructor + + /** + * 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 mixed + */ + function onQuickFormEvent($event, $arg, &$caller) + { + switch ($event) { + case 'createElement': + $choices=array(); + $choices[0] = get_string('no'); + $choices[1] = get_string('yes'); + $this->load($choices); + break; + } + return parent::onQuickFormEvent($event, $arg, $caller); + } + +} +?> \ No newline at end of file diff --git a/lib/formslib.php b/lib/formslib.php index c5811c6cb2..8ac8d8bd59 100644 --- a/lib/formslib.php +++ b/lib/formslib.php @@ -934,5 +934,6 @@ MoodleQuickForm::registerElementType('static', "$CFG->libdir/form/static.php", ' MoodleQuickForm::registerElementType('hidden', "$CFG->libdir/form/hidden.php", 'MoodleQuickForm_hidden'); MoodleQuickForm::registerElementType('modvisible', "$CFG->libdir/form/modvisible.php", 'MoodleQuickForm_modvisible'); MoodleQuickForm::registerElementType('modgroupmode', "$CFG->libdir/form/modgroupmode.php", 'MoodleQuickForm_modgroupmode'); +MoodleQuickForm::registerElementType('selectyesno', "$CFG->libdir/form/selectyesno.php", 'MoodleQuickForm_selectyesno'); ?> \ No newline at end of file -- 2.39.5