/** * @see \wcf\system\upload\IUploadFileValidationStrategy::validate() */ public function validate(UploadFile $uploadFile) { if ($uploadFile->getErrorCode() != 0) { $uploadFile->setValidationErrorType('uploadFailed'); return false; } if ($uploadFile->getFilesize() > $this->maxFilesize) { $uploadFile->setValidationErrorType('tooLarge'); return false; } if (!preg_match($this->fileExtensionRegex, mb_strtolower($uploadFile->getFilename()))) { $uploadFile->setValidationErrorType('invalidExtension'); return false; } return true; }
//if password matches the retype, encrypt the user's password if ($password == $password_again) { //password encryption $crypt_password = password_encrypt($password); } else { $error_flag++; } $temp = explode(".", $_FILES["avatar"]["name"]); $extension = end($temp); $destination .= "{$username}\\"; // try to create a new upload object try { $upload = new UploadFile($destination, "image"); $upload->setMaxSize($imageMaxSize); $upload->upload(false); $filename = $upload->getFilename(); $msgResult = $upload->getmessages(); } catch (Exception $e) { $msgResult[] = $e->getMessage(); } //upload user and avatar to db if ($error_flag == 0) { $query = "CALL add_user('" . $username . "', '" . $crypt_password . "' ,'" . $filename . "' , '" . $extension . "' , '" . $email . "' , '" . date('Y-m-d') . "' )"; if ($result = $db->query($query)) { $_SESSION['user'] = $username; echo "<script> location.href=\"account.php\" </script>"; if (isset($msgResult)) { foreach ($msgResult as $msg) { echo $msg . "*"; } }