mirror of
https://github.com/moodle/moodle.git
synced 2025-04-21 00:12:56 +02:00
added 2 new methods to form class data_submitted and setDefault
Fixed bug in id generation
This commit is contained in:
parent
89656c6129
commit
230a910a0b
@ -177,10 +177,9 @@
|
||||
|
||||
/// If data submitted, then process and store.
|
||||
|
||||
if ($mform->validate()) {
|
||||
|
||||
$fromform=(object)$mform->exportValues();
|
||||
if ($fromform=$mform->data_submitted()) {
|
||||
|
||||
|
||||
if (!empty($fromform->enrolstartdisabled)){
|
||||
$fromform->enrolstartdate = 0;
|
||||
}
|
||||
|
@ -204,10 +204,10 @@
|
||||
"((this.selectedIndex==0)?true:false);"));
|
||||
$mods = array(0=>get_string('allownone'));
|
||||
$mods += get_records_menu("modules", '','','','id, name');
|
||||
$disabled=($mform->exportValue('restrictmodules')==0) ? " =\"disabled\"" : "";
|
||||
$disabled=($mform->exportValue('restrictmodules')===0) ? array('disabled' => 'disabled') : array();
|
||||
$mform->addElement('select', 'allowedmods', get_string("to"),$mods,
|
||||
array('multiple'=>"multiple", 'size'=>"10", 'id'=>"allowedmods",
|
||||
'disabled' => $disabled));
|
||||
array('multiple'=>"multiple", 'size'=>"10", 'id'=>"allowedmods")
|
||||
+$disabled);
|
||||
}else {
|
||||
$mform->addElement('hidden', 'restrictmodules', $default->restrictmodules);
|
||||
}
|
||||
|
@ -199,6 +199,37 @@ class moodleform extends HTML_QuickForm_DHTMLRulesTableless{
|
||||
return $unfiltered;
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Initializes a default form value
|
||||
*
|
||||
* @param string $elementname element name
|
||||
* @param mixed $values values for that element name
|
||||
* @param mixed $filter (optional) filter(s) to apply to default value
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
function setDefault($elementName='', $defaultValue = null, $filter = null){
|
||||
$this->setDefaults(array($elementName =>$defaultValue), $filter);
|
||||
} // end func setDefault
|
||||
/**
|
||||
* Returns 'safe' elements' values
|
||||
*
|
||||
* Unlike getSubmitValues(), this will return only the values
|
||||
* corresponding to the elements present in the form.
|
||||
* This function also runs validate() and returns false if the form doesn't validate
|
||||
*
|
||||
* @param mixed Array/string of element names, whose values we want. If not set then return all elements.
|
||||
* @access public
|
||||
* @return object An object with property values set to elements' values
|
||||
* @throws HTML_QuickForm_Error
|
||||
*/
|
||||
function data_submitted($elementList = null, $addslashes=true){
|
||||
if (!$this->validate()){
|
||||
return false;
|
||||
}else{
|
||||
return (object)$this->exportValues($elementList, $addslashes);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@ -310,7 +341,12 @@ class moodleform_renderer extends HTML_QuickForm_Renderer_Tableless{
|
||||
|
||||
}
|
||||
$this->_templates[$element->getName()]=$html;
|
||||
$element->updateAttributes(array('id'=>'id_'.$element->getAttribute('id')));
|
||||
if (!is_null($element->getAttribute('id'))) {
|
||||
$id = $element->getAttribute('id');
|
||||
} else {
|
||||
$id = $element->getName();
|
||||
}
|
||||
$element->updateAttributes(array('id'=>'id_'.$id));
|
||||
parent::renderElement($element, $required, $error);
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user