diff --git a/main/exercice/hotspot.class.php b/main/exercice/hotspot.class.php index 24c18433bb..4d78418350 100755 --- a/main/exercice/hotspot.class.php +++ b/main/exercice/hotspot.class.php @@ -25,10 +25,13 @@ class HotSpot extends Question { } - function createForm (&$form, $fck_config=0) + /** + * @param FormValidator $form + * @param int $fck_config + */ + public function createForm (&$form, $fck_config=0) { parent::createForm($form, $fck_config); - global $text, $class; if (!isset($_GET['editQuestion'])) { $form->addElement('file','imageUpload',array('', get_lang('UploadJpgPicture')) ); diff --git a/main/inc/lib/formvalidator/Rule/FileName.php b/main/inc/lib/formvalidator/Rule/FileName.php new file mode 100644 index 0000000000..68b83f40c7 --- /dev/null +++ b/main/inc/lib/formvalidator/Rule/FileName.php @@ -0,0 +1,26 @@ += @filesize($elementValue['tmp_name'])); + } +} diff --git a/main/inc/lib/formvalidator/Rule/MimeType.php b/main/inc/lib/formvalidator/Rule/MimeType.php new file mode 100644 index 0000000000..c92c997785 --- /dev/null +++ b/main/inc/lib/formvalidator/Rule/MimeType.php @@ -0,0 +1,29 @@ + 'HTML_QuickForm_Rule_HTML', 'CAPTCHA' => 'HTML_QuickForm_Rule_CAPTCHA', 'date' => 'HTML_QuickForm_Rule_Date', - 'compare_datetime_text' => 'HTML_QuickForm_Rule_CompareDateTimeText' + 'compare_datetime_text' => 'HTML_QuickForm_Rule_CompareDateTimeText', + 'uploadedfile' => 'HTML_QuickForm_Rule_UploadFile', + 'maxfilesize', 'HTML_QuickForm_Rule_MaxFileSize', + 'mimetype', 'HTML_QuickForm_Rule_MimeType', + 'filename', 'HTML_QuickForm_Rule_FileName' ); $class = $rules[$ruleName]; diff --git a/main/inc/lib/pear/HTML/QuickForm/file.php b/main/inc/lib/pear/HTML/QuickForm/file.php index fbe915ae5b..d112fa5d8c 100755 --- a/main/inc/lib/pear/HTML/QuickForm/file.php +++ b/main/inc/lib/pear/HTML/QuickForm/file.php @@ -23,14 +23,6 @@ * @link http://pear.php.net/package/HTML_QuickForm */ -// register file-related rules -if (class_exists('HTML_QuickForm')) { - HTML_QuickForm::registerRule('uploadedfile', 'callback', '_ruleIsUploadedFile', 'HTML_QuickForm_file'); - HTML_QuickForm::registerRule('maxfilesize', 'callback', '_ruleCheckMaxFileSize', 'HTML_QuickForm_file'); - HTML_QuickForm::registerRule('mimetype', 'callback', '_ruleCheckMimeType', 'HTML_QuickForm_file'); - HTML_QuickForm::registerRule('filename', 'callback', '_ruleCheckFileName', 'HTML_QuickForm_file'); -} - /** * HTML class for a file upload field * @@ -221,6 +213,7 @@ class HTML_QuickForm_file extends HTML_QuickForm_input return HTML_QuickForm_file::_ruleIsUploadedFile($this->_value); } // end func isUploadedFile + // }}} // {{{ _ruleIsUploadedFile() @@ -244,70 +237,6 @@ class HTML_QuickForm_file extends HTML_QuickForm_input // }}} // {{{ _ruleCheckMaxFileSize() - /** - * Checks that the file does not exceed the max file size - * - * @param array Uploaded file info (from $_FILES) - * @param int Max file size - * @access private - * @return bool true if filesize is lower than maxsize, false otherwise - */ - function _ruleCheckMaxFileSize($elementValue, $maxSize) - { - if (!empty($elementValue['error']) && - (UPLOAD_ERR_FORM_SIZE == $elementValue['error'] || UPLOAD_ERR_INI_SIZE == $elementValue['error'])) { - return false; - } - if (!HTML_QuickForm_file::_ruleIsUploadedFile($elementValue)) { - return true; - } - return ($maxSize >= @filesize($elementValue['tmp_name'])); - } // end func _ruleCheckMaxFileSize - - // }}} - // {{{ _ruleCheckMimeType() - - /** - * Checks if the given element contains an uploaded file of the right mime type - * - * @param array Uploaded file info (from $_FILES) - * @param mixed Mime Type (can be an array of allowed types) - * @access private - * @return bool true if mimetype is correct, false otherwise - */ - function _ruleCheckMimeType($elementValue, $mimeType) - { - if (!HTML_QuickForm_file::_ruleIsUploadedFile($elementValue)) { - return true; - } - if (is_array($mimeType)) { - return in_array($elementValue['type'], $mimeType); - } - return $elementValue['type'] == $mimeType; - } // end func _ruleCheckMimeType - - // }}} - // {{{ _ruleCheckFileName() - - /** - * Checks if the given element contains an uploaded file of the filename regex - * - * @param array Uploaded file info (from $_FILES) - * @param string Regular expression - * @access private - * @return bool true if name matches regex, false otherwise - */ - function _ruleCheckFileName($elementValue, $regex) - { - if (!HTML_QuickForm_file::_ruleIsUploadedFile($elementValue)) { - return true; - } - return (bool)preg_match($regex, $elementValue['name']); - } // end func _ruleCheckFileName - - // }}} - // {{{ _findValue() - /** * Tries to find the element value from the values array *