Merge branch 'MDL-23872_M' of git://github.com/nebgor/moodle
authorEloy Lafuente (stronk7) <stronk7@moodle.org>
Tue, 16 Aug 2011 09:51:24 +0000 (11:51 +0200)
committerEloy Lafuente (stronk7) <stronk7@moodle.org>
Tue, 16 Aug 2011 09:51:24 +0000 (11:51 +0200)
1  2 
lib/formslib.php

diff --combined lib/formslib.php
@@@ -1576,6 -1576,10 +1576,10 @@@ class MoodleQuickForm extends HTML_Quic
              }
          }
  
+         if (is_array($this->_constantValues)) {
+             $unfiltered = HTML_QuickForm::arrayMerge($unfiltered, $this->_constantValues);
+         }
          return $unfiltered;
      }
      /**
@@@ -1731,12 -1735,6 +1735,12 @@@ var skipClientValidation = false
  
  function qf_errorHandler(element, _qfMsg) {
    div = element.parentNode;
 +
 +  if ((div == undefined) || (element.name == undefined)) {
 +    //no checking can be done for undefined elements so let server handle it.
 +    return true;
 +  }
 +
    if (_qfMsg != \'\') {
      var errorSpan = document.getElementById(\'id_error_\'+element.name);
      if (!errorSpan) {
                  $elementName);
              $js .= '
  function validate_' . $this->_formName . '_' . $escapedElementName . '(element) {
 +  if (undefined == element) {
 +     //required element was not found, then let form be submitted without client side validation
 +     return true;
 +  }
    var value = \'\';
    var errFlag = new Array();
    var _qfGroups = {};
    var _qfMsg = \'\';
    var frm = element.parentNode;
 -  while (frm && frm.nodeName.toUpperCase() != "FORM") {
 -    frm = frm.parentNode;
 +  if ((undefined != element.name) && (frm != undefined)) {
 +      while (frm && frm.nodeName.toUpperCase() != "FORM") {
 +        frm = frm.parentNode;
 +      }
 +    ' . join("\n", $jsArr) . '
 +      return qf_errorHandler(element, _qfMsg);
 +  } else {
 +    //element name should be defined else error msg will not be displayed.
 +    return true;
    }
 -' . join("\n", $jsArr) . '
 -  return qf_errorHandler(element, _qfMsg);
  }
  ';
              $validateJS .= '