diff --git a/main/inc/lib/pear/HTML/QuickForm.php b/main/inc/lib/pear/HTML/QuickForm.php
index 6502190fa5..61c3a93274 100755
--- a/main/inc/lib/pear/HTML/QuickForm.php
+++ b/main/inc/lib/pear/HTML/QuickForm.php
@@ -1003,6 +1003,7 @@ class HTML_QuickForm extends HTML_Common
* @param string $validation (optional)Where to perform validation: "server", "client"
* @param boolean $reset Client-side validation: reset the form element to its original value if there is an error?
* @param boolean $force Force the rule to be applied, even if the target form element does not exist
+ * @param array|string $dependent needed when comparing values
* @since 1.0
* @access public
*/
@@ -1452,14 +1453,14 @@ class HTML_QuickForm extends HTML_Common
if (!$this->isElementRequired($target)) {
if (!isset($submitValue) || '' == $submitValue) {
continue 2;
- // Fix for bug #3501: we shouldn't validate not uploaded files, either.
- // Unfortunately, we can't just use $element->isUploadedFile() since
- // the element in question can be buried in group. Thus this hack.
- // See also bug #12014, we should only consider a file that has
- // status UPLOAD_ERR_NO_FILE as not uploaded, in all other cases
- // validation should be performed, so that e.g. 'maxfilesize' rule
- // will display an error if status is UPLOAD_ERR_INI_SIZE
- // or UPLOAD_ERR_FORM_SIZE
+ // Fix for bug #3501: we shouldn't validate not uploaded files, either.
+ // Unfortunately, we can't just use $element->isUploadedFile() since
+ // the element in question can be buried in group. Thus this hack.
+ // See also bug #12014, we should only consider a file that has
+ // status UPLOAD_ERR_NO_FILE as not uploaded, in all other cases
+ // validation should be performed, so that e.g. 'maxfilesize' rule
+ // will display an error if status is UPLOAD_ERR_INI_SIZE
+ // or UPLOAD_ERR_FORM_SIZE
} elseif (is_array($submitValue)) {
if (false === ($pos = strpos($target, '['))) {
$isUpload = !empty($this->_submitFiles[$target]);
@@ -1480,12 +1481,21 @@ class HTML_QuickForm extends HTML_Common
}
}
- if (isset($rule['dependent']) && is_array($rule['dependent'])) {
+ if (isset($rule['dependent'])) {
$values = array($submitValue);
- foreach ($rule['dependent'] as $elName) {
- $values[] = $this->getSubmitValue($elName);
+ if (is_array($rule['dependent'])) {
+ foreach ($rule['dependent'] as $elName) {
+ $values[] = $this->getSubmitValue($elName);
+ }
+ } else {
+ $values[] = $rule['dependent'];
}
- $result = $registry->validate($rule['type'], $values, $rule['format'], true);
+ $result = $registry->validate(
+ $rule['type'],
+ $values,
+ $rule['format'],
+ true
+ );
} elseif (is_array($submitValue) && !isset($rule['howmany'])) {
$result = $registry->validate($rule['type'], $submitValue, $rule['format'], true);
} else {
@@ -1524,7 +1534,7 @@ class HTML_QuickForm extends HTML_Common
/**
* Displays elements without HTML input tags
*
- * @param mixed $elementList array or string of element(s) to be frozen
+ * @param mixed $elementList array or string of element(s) to be frozen
* @since 1.0
* @access public
* @throws HTML_QuickForm_Error