@ -42,16 +42,16 @@ 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					 *  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					 * @see HTML_QuickForm::errorMessage()  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					 */  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					define('QUICKFORM_OK',                       1);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					define('QUICKFORM_ERROR',                   -1);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					define('QUICKFORM_INVALID_RULE',            -2);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					define('QUICKFORM_NONEXIST_ELEMENT',        -3);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					define('QUICKFORM_INVALID_FILTER',          -4);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					define('QUICKFORM_UNREGISTERED_ELEMENT',    -5);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					define('QUICKFORM_INVALID_ELEMENT_NAME',    -6);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					define('QUICKFORM_INVALID_PROCESS',         -7);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					define('QUICKFORM_DEPRECATED',              -8);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					define('QUICKFORM_INVALID_DATASOURCE',      -9);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					define('QUICKFORM_OK', 1);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					define('QUICKFORM_ERROR', -1);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					define('QUICKFORM_INVALID_RULE', -2);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					define('QUICKFORM_NONEXIST_ELEMENT', -3);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					define('QUICKFORM_INVALID_FILTER', -4);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					define('QUICKFORM_UNREGISTERED_ELEMENT', -5);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					define('QUICKFORM_INVALID_ELEMENT_NAME', -6);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					define('QUICKFORM_INVALID_PROCESS', -7);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					define('QUICKFORM_DEPRECATED', -8);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					define('QUICKFORM_INVALID_DATASOURCE', -9);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					/**#@-*/  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					// }}}  
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -216,9 +216,6 @@ class HTML_QuickForm extends HTML_Common 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     */  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    public $_flagSubmitted = false;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    // }}}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    // {{{ constructor  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    /**  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * Class constructor  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * @param    string      $formName          Form's name.  
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -229,8 +226,14 @@ class HTML_QuickForm extends HTML_Common 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * @param    bool        $trackSubmit       (optional)Whether to track if the form was submitted by adding a special hidden field  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * @access   public  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     */  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    public function __construct($formName='', $method='post', $action='', $target='', $attributes=null, $trackSubmit = false)  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    public function __construct(  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $formName = '',  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $method = 'post',  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $action = '',  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $target = '',  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $attributes = null,  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $trackSubmit = false  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    ) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        parent::__construct($attributes);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $method = (strtoupper($method) == 'GET') ? 'get' : 'post';  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $action = ($action == '') ? api_get_self() : $action;  
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -247,21 +250,8 @@ class HTML_QuickForm extends HTML_Common 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        ) + $target;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $this->updateAttributes($attributes);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        if (!$trackSubmit || isset($_REQUEST['_qf__' . $formName])) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            if (1 == get_magic_quotes_gpc()) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                $this->_submitValues = $this->_recursiveFilter('stripslashes', 'get' == $method? $_GET: $_POST);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                foreach ($_FILES as $keyFirst => $valFirst) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                    foreach ($valFirst as $keySecond => $valSecond) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                        if ('name' == $keySecond) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                            $this->_submitFiles[$keyFirst][$keySecond] = $this->_recursiveFilter('stripslashes', $valSecond);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                        } else {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                            $this->_submitFiles[$keyFirst][$keySecond] = $valSecond;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                        }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                    }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            } else {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                $this->_submitValues = 'get' == $method? $_GET: $_POST;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                $this->_submitFiles  = $_FILES;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            $this->_submitValues = 'get' == $method ? $_GET : $_POST;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            $this->_submitFiles = $_FILES;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            $this->_flagSubmitted = count($this->_submitValues) > 0 || count($this->_submitFiles) > 0;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        if ($trackSubmit) {  
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -294,10 +284,7 @@ class HTML_QuickForm extends HTML_Common 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					//                $this->_maxFileSize = intval($free_course_quota);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					//            }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					//        }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    } // end constructor  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    // }}}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    // {{{ apiVersion()  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    /**  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * Returns the current API version  
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -309,10 +296,7 @@ class HTML_QuickForm extends HTML_Common 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    function apiVersion()  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        return 3.2;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    } // end func apiVersion  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    // }}}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    // {{{ registerElementType()  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    /**  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * Registers a new element type  
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -327,10 +311,7 @@ class HTML_QuickForm extends HTML_Common 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    function registerElementType($typeName, $include, $className)  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $GLOBALS['HTML_QUICKFORM_ELEMENT_TYPES'][strtolower($typeName)] = array($include, $className);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    } // end func registerElementType  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    // }}}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    // {{{ registerRule()  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    /**  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * Registers a new validation rule  
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -347,10 +328,7 @@ class HTML_QuickForm extends HTML_Common 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $registry =&  HTML_QuickForm_RuleRegistry::singleton();  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $registry->registerRule($ruleName, $type, $data1, $data2);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    } // end func registerRule  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    // }}}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    // {{{ elementExists()  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    /**  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * Returns true if element is in the form  
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -365,10 +343,6 @@ class HTML_QuickForm extends HTML_Common 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        return isset($this->_elementIndex[$element]);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    // }}}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    // {{{ setDefaults()  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    /**  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * Initializes default form values  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     *  
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -403,10 +377,7 @@ class HTML_QuickForm extends HTML_Common 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                $this->_elements[$key]->onQuickFormEvent('updateValue', null, $this);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    } // end func setDefaults  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    // }}}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    // {{{ setConstants()  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    /**  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * Initializes constant form values.  
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -442,10 +413,7 @@ class HTML_QuickForm extends HTML_Common 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                $this->_elements[$key]->onQuickFormEvent('updateValue', null, $this);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    } // end func setConstants  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    // }}}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    // {{{ setMaxFileSize()  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    /**  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * Sets the value of MAX_FILE_SIZE hidden element  
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -466,10 +434,7 @@ class HTML_QuickForm extends HTML_Common 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            $el =&  $this->getElement('MAX_FILE_SIZE');  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            $el->updateAttributes(array('value' => $this->_maxFileSize));  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    } // end func setMaxFileSize  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    // }}}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    // {{{ getMaxFileSize()  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    /**  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * Returns the value of MAX_FILE_SIZE hidden element  
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -481,10 +446,7 @@ class HTML_QuickForm extends HTML_Common 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    public function getMaxFileSize()  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        return $this->_maxFileSize;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    } // end func getMaxFileSize  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    // }}}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    // {{{ & createElement()  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    /**  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * Creates a new form element of the given type.  
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -501,12 +463,13 @@ class HTML_QuickForm extends HTML_Common 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    public function & createElement($elementType)  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $args = func_get_args();  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $element = HTML_QuickForm::_loadElement('createElement', $elementType, array_slice($args, 1));  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $element = HTML_QuickForm::_loadElement(  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            'createElement',  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            $elementType,  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            array_slice($args, 1)  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        );  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        return $element;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    } // end func createElement  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    // }}}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    // {{{ _loadElement()  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    /**  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * Returns a form element of the given type  
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -578,9 +541,6 @@ class HTML_QuickForm extends HTML_Common 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        return $element;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    // }}}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    // {{{ addElement()  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    /**  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * Adds an element into the form  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     *  
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -701,9 +661,6 @@ class HTML_QuickForm extends HTML_Common 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        return $element;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    // }}}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    // {{{ addGroup()  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    /**  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * Adds an element group  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * @param    array      $elements       array of elements composing the group  
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -727,10 +684,7 @@ class HTML_QuickForm extends HTML_Common 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $group = &  $this->addElement('group', $name, $groupLabel, $elements, $separator, $appendName);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        return $group;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    } // end func addGroup  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    // }}}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    // {{{ & getElement()  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    /**  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * Returns a reference to the element  
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -791,7 +745,7 @@ class HTML_QuickForm extends HTML_Common 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * @access    public  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * @return    mixed     submitted element value or null if not set  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     */  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    function getSubmitValue($elementName)  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    public  function getSubmitValue($elementName)  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $value = null;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        if (isset($this->_submitValues[$elementName]) || isset($this->_submitFiles[$elementName])) {  
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -804,19 +758,20 @@ class HTML_QuickForm extends HTML_Common 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                    );  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        } elseif ('file' == $this->getElementType($elementName)) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            return $this->getElementValue($elementName);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        } elseif (false !== ($pos = strpos($elementName, '['))) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            $base = str_replace(  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                        array('\\', '\''), array('\\\\', '\\\''),  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                        substr($elementName, 0, $pos)  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                    );  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            $idx  = "['" . str_replace(  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                        array('\\', '\'', ']', '['), array('\\\\', '\\\'', '', "']['"),  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                        substr($elementName, $pos + 1, -1)  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                    ) . "']";  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                array('\\', '\''),  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                array('\\\\', '\\\''),  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                substr($elementName, 0, $pos)  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            );  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            $idx = "['".str_replace(  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                    array('\\', '\'', ']', '['),  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                    array('\\\\', '\\\'', '', "']['"),  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                    substr($elementName, $pos + 1, -1)  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                )."']";  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            if (isset($this->_submitValues[$base])) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                $value = eval("return (isset(\$this->_submitValues['{$base}']{$idx})) ? \$this->_submitValues['{$base}']{$idx} : null;");  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            }  
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -852,20 +807,9 @@ class HTML_QuickForm extends HTML_Common 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        if ($this->getElementType($elementName) == 'date_range_picker') {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            /** @var DateRangePicker $element */  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            $element = $this->getElement($elementName);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            $parsedDates = $element->parseDateRange($value);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            $validateFormat = $element->getAttribute('validate_format');  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            if (!$element->validateDates($parsedDates, $validateFormat)) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                $this->_errors[$elementName] = get_lang('CheckDates');  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            $this->_submitValues[$elementName.'_start'] = $parsedDates['start'];  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            $this->_submitValues[$elementName.'_end'] = $parsedDates['end'];  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $element = $this->getElement($elementName);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        if (method_exists($element, 'getSubmitValue')) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            $value = $element->getSubmitValue($value, $this->_submitValues, $this->_errors);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        return $value;  
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -891,9 +835,6 @@ class HTML_QuickForm extends HTML_Common 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    // }}}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    // {{{ getElementError()  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    /**  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * Returns error corresponding to validated element  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     *  
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -978,10 +919,7 @@ class HTML_QuickForm extends HTML_Common 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    } // end func updateElementAttr  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    // }}}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    // {{{ removeElement()  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    /**  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * Removes an element  
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -1029,13 +967,13 @@ class HTML_QuickForm extends HTML_Common 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * To validate grouped elements as separated entities,  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * use addGroupRule instead of addRule.  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     *  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * @param    string      $element        Form element name  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * @param    string      $message        Message to display for invalid data  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * @param    string      $type           Rule type, use getRegisteredRules() to get types  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * @param    string      $format         (optional)Required for extra rule data  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * @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    string $element Form element name  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * @param    string $message Message to display for invalid data  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * @param    string $type Rule type, use getRegisteredRules() to get types  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * @param    string $format (optional)Required for extra rule data  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * @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  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * @since    1.0  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * @access   public  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     */  
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -1046,7 +984,8 @@ class HTML_QuickForm extends HTML_Common 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $format = null,  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $validation = 'server',  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $reset = false,  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $force = false  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $force = false,  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $dependent = null  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    ) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        if (!$force) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            if (!is_array($element) & &  !$this->elementExists($element)) {  
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -1064,12 +1003,12 @@ class HTML_QuickForm extends HTML_Common 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        } elseif (is_string($newName)) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            $type = $newName;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        if (is_array($element)) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            $dependent = $element;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            $element   = array_shift($dependent);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        } else {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            $dependent = null;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            $element = array_shift($dependent);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        if ($type == 'required' || $type == 'uploadedfile') {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            $this->_required[] = $element;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        }  
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -1091,7 +1030,6 @@ class HTML_QuickForm extends HTML_Common 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        );  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    /**  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * Adds a validation rule for the given group of elements  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     *  
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -1356,32 +1294,7 @@ class HTML_QuickForm extends HTML_Common 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    function isRuleRegistered($name, $autoRegister = false)  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        return true;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        if (is_scalar($name) & &  isset($GLOBALS['_HTML_QuickForm_registered_rules'][$name])) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            return true;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        } elseif (!$autoRegister) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            return false;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $ruleName = false;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        if (is_object($name) & &  is_a($name, 'html_quickform_rule')) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            $ruleName = !empty($name->name)? $name->name: strtolower(get_class($name));  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        } elseif (is_string($name) & &  class_exists($name)) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            $parent = strtolower($name);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            do {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                if ('html_quickform_rule' == strtolower($parent)) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                    $ruleName = strtolower($name);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                    break;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            } while ($parent = get_parent_class($parent));  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        if ($ruleName) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            $registry =&  HTML_QuickForm_RuleRegistry::singleton();  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            $registry->registerRule($ruleName, null, $name);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        return $ruleName;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    } // end func isRuleRegistered  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    // }}}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    // {{{ getRegisteredRules()  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    /**  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * Returns an array of registered validation rules  
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -1501,7 +1414,6 @@ class HTML_QuickForm extends HTML_Common 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        foreach ($this->_rules as $target => $rules) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            $submitValue = $this->getSubmitValue($target);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            foreach ($rules as $rule) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                if ((isset($rule['group']) & &  isset($this->_errors[$rule['group']])) ||  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                     isset($this->_errors[$target])) {  
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -1538,6 +1450,7 @@ class HTML_QuickForm extends HTML_Common 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                        }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                    }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                if (isset($rule['dependent']) & &  is_array($rule['dependent'])) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                    $values = array($submitValue);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                    foreach ($rule['dependent'] as $elName) {  
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -1806,7 +1719,7 @@ class HTML_QuickForm extends HTML_Common 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     */  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    public function getSubmitValues($mergeFiles = false)  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        return $mergeFiles? HTML_QuickForm::arrayMerge($this->_submitValues, $this->_submitFiles): $this->_submitValues;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        return $mergeFiles  ? HTML_QuickForm::arrayMerge($this->_submitValues, $this->_submitFiles): $this->_submitValues;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    /**  
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -1842,7 +1755,7 @@ class HTML_QuickForm extends HTML_Common 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * @return mixed  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * @throws HTML_QuickForm_Error  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     */  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    function exportValue($element)  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    public  function exportValue($element)  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        if (!isset($this->_elementIndex[$element])) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            throw new \Exception("Element '$element' does not exist in HTML_QuickForm::getElementValue()");  
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -1873,7 +1786,7 @@ class HTML_QuickForm extends HTML_Common 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * @return  array   An assoc array of elements' values  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * @throws  HTML_QuickForm_Error  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     */  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    function exportValues($elementList = null)  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    public  function exportValues($elementList = null)  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $values = array();  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        if (null === $elementList) {