mirror of
https://github.com/moodle/moodle.git
synced 2025-04-16 14:02:32 +02:00
Changes to improve robustness of uploads, and make things compatible
with PHP 4.3.0. Also some translation fixes with upload strings.
This commit is contained in:
parent
8556ae8641
commit
3b7c1de95e
@ -92,18 +92,25 @@
|
||||
|
||||
case "upload":
|
||||
html_header($course, $wdir);
|
||||
if ($save) {
|
||||
if (!is_uploaded_file($userfile['tmp_name']) and $userfile['size'] > 0) {
|
||||
echo "<P>Error: That was not a valid file.";
|
||||
if (!empty($_FILES['userfile'])) {
|
||||
$userfile = $_FILES['userfile'];
|
||||
} else {
|
||||
$save = false;
|
||||
}
|
||||
if (!empty($save)) {
|
||||
if (!is_uploaded_file($userfile['tmp_name']) or $userfile['size'] == 0) {
|
||||
notify(get_string("uploadnofilefound"));
|
||||
} else {
|
||||
$userfile_name = clean_filename($userfile['name']);
|
||||
if ($userfile_name) {
|
||||
$newfile = "$basedir$wdir/$userfile_name";
|
||||
if (move_uploaded_file($userfile['tmp_name'], $newfile)) {
|
||||
echo "Uploaded $userfile_name (".$userfile['type'].") to $wdir";
|
||||
$a = NULL;
|
||||
$a->file = "$userfile_name (".$userfile['type'].")";
|
||||
$a->directory = $wdir;
|
||||
print_string("uploadedfileto", "", $a);
|
||||
} else {
|
||||
echo "A problem occurred while uploading '$userfile_name'";
|
||||
echo " (possibly it was too large)";
|
||||
notify(get_string("uploadproblem", "", $userfile_name));
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -113,23 +120,28 @@
|
||||
$upload_max_filesize = get_max_upload_file_size();
|
||||
$filesize = display_size($upload_max_filesize);
|
||||
|
||||
echo "<P>Upload a file (maximum size $filesize) into <B>$wdir</B>:";
|
||||
$struploadafile = get_string("uploadafile");
|
||||
$struploadthisfile = get_string("uploadthisfile");
|
||||
$strmaxsize = get_string("maxsize", "", $filesize);
|
||||
$strcancel = get_string("cancel");
|
||||
|
||||
echo "<P>$struploadafile ($strmaxsize) --> <B>$wdir</B>";
|
||||
echo "<TABLE><TR><TD COLSPAN=2>";
|
||||
echo "<FORM ENCTYPE=\"multipart/form-data\" METHOD=\"post\" ACTION=index.php>";
|
||||
echo " <INPUT TYPE=hidden NAME=MAX_FILE_SIZE value=\"$upload_max_filesize\">";
|
||||
echo " <INPUT TYPE=hidden NAME=id VALUE=$id>";
|
||||
echo " <INPUT TYPE=hidden NAME=wdir VALUE=$wdir>";
|
||||
echo " <INPUT TYPE=hidden NAME=action VALUE=upload>";
|
||||
echo " <INPUT NAME=\"userfile\" TYPE=\"file\" size=\"50\">";
|
||||
echo " <INPUT NAME=\"userfile\" TYPE=\"file\" size=\"60\">";
|
||||
echo " </TD><TR><TD WIDTH=10>";
|
||||
echo " <INPUT TYPE=submit NAME=save VALUE=\"Upload this file\">";
|
||||
echo " <INPUT TYPE=submit NAME=save VALUE=\"$struploadthisfile\">";
|
||||
echo "</FORM>";
|
||||
echo "</TD><TD WIDTH=100%>";
|
||||
echo "<FORM ACTION=index.php METHOD=get>";
|
||||
echo " <INPUT TYPE=hidden NAME=id VALUE=$id>";
|
||||
echo " <INPUT TYPE=hidden NAME=wdir VALUE=$wdir>";
|
||||
echo " <INPUT TYPE=hidden NAME=action VALUE=cancel>";
|
||||
echo " <INPUT TYPE=submit VALUE=\"Cancel\">";
|
||||
echo " <INPUT TYPE=submit VALUE=\"$strcancel\">";
|
||||
echo "</FORM>";
|
||||
echo "</TD></TR></TABLE>";
|
||||
}
|
||||
|
@ -496,6 +496,9 @@ $string['updatingain'] = "Updating a \$a->what in \$a->in";
|
||||
$string['updatethis'] = "Update this \$a";
|
||||
$string['upload'] = "Upload";
|
||||
$string['uploadafile'] = "Upload a file";
|
||||
$string['uploadedfileto'] = "Uploaded \$a->file to \$a->directory";
|
||||
$string['uploadnofilefound'] = "No file was found - are you sure you selected one to upload?";
|
||||
$string['uploadproblem'] = "An unknown problem occurred while uploading the file '\$a' (perhaps it was too large?)";
|
||||
$string['uploadthisfile'] = "Upload this file";
|
||||
$string['userdeleted'] = "This user account has been deleted";
|
||||
$string['userdescription'] = "Description";
|
||||
|
@ -5,7 +5,9 @@
|
||||
|
||||
require_variable($id); // Assignment ID
|
||||
|
||||
$newfile = $HTTP_POST_FILES["newfile"];
|
||||
if (!empty($_FILES['newfile'])) {
|
||||
$newfile = $_FILES['newfile'];
|
||||
}
|
||||
|
||||
if (! $assignment = get_record("assignment", "id", $id)) {
|
||||
error("Not a valid assignment ID");
|
||||
@ -41,7 +43,10 @@
|
||||
error("Sorry, an error in the system prevents you from uploading files: contact your teacher or system administrator");
|
||||
}
|
||||
|
||||
if (is_uploaded_file($newfile['tmp_name']) and $newfile['size'] > 0) {
|
||||
if (empty($newfile)) {
|
||||
notify(get_string("uploadnofilefound", "assignment") );
|
||||
|
||||
} else if (is_uploaded_file($newfile['tmp_name']) and $newfile['size'] > 0) {
|
||||
if ($newfile['size'] > $assignment->maxbytes) {
|
||||
notify(get_string("uploadfiletoobig", "assignment", $assignment->maxbytes));
|
||||
} else {
|
||||
|
@ -1159,10 +1159,10 @@ function forum_print_attachments($post, $return=NULL) {
|
||||
|
||||
function forum_add_attachment($post, $newfile) {
|
||||
// $post is a full post record, including course and forum
|
||||
// $newfile is a full upload array from HTTP_POST_FILES
|
||||
// $newfile is a full upload array from $_FILES
|
||||
// If successful, this function returns the name of the file
|
||||
|
||||
if (!isset($newfile['name'])) {
|
||||
if (empty($newfile['name'])) {
|
||||
return "";
|
||||
}
|
||||
|
||||
|
@ -15,7 +15,7 @@
|
||||
$post->subject = strip_tags($post->subject); // Strip all tags
|
||||
$post->message = clean_text($post->message, $post->format); // Clean up any bad tags
|
||||
|
||||
$post->attachment = $HTTP_POST_FILES["attachment"];
|
||||
$post->attachment = $_FILES["attachment"];
|
||||
|
||||
if (!$post->subject and !$post->message) {
|
||||
error(get_string("emptymessage", "forum"));
|
||||
|
Loading…
x
Reference in New Issue
Block a user