"MDL-25634 Filepicker upload should handle files which exceed max_post_size directive...
authorDongsheng Cai <unoter@gmail.com>
Fri, 10 Dec 2010 04:13:09 +0000 (04:13 +0000)
committerDongsheng Cai <unoter@gmail.com>
Fri, 10 Dec 2010 04:13:09 +0000 (04:13 +0000)
lang/en/repository.php
repository/repository_ajax.php

index 8a986ad..9664ff6 100644 (file)
@@ -90,6 +90,7 @@ $string['enternewname'] = 'Please enter the new file name';
 $string['error'] = 'An unknown error occurred!';
 $string['errornotyourfile'] = 'You cannot pick file which is not added by your';
 $string['erroruniquename'] = 'Repository instance name should be unique';
+$string['errorpostmaxsize'] = 'The uploaded file may exceed max_post_size directive in php.ini.';
 $string['existingrepository'] = 'This repository already exists';
 $string['federatedsearch'] = 'Federated search';
 $string['fileexists'] = 'File name already being used, please use another name';
index 13c0c36..f460f78 100755 (executable)
@@ -52,12 +52,19 @@ $saveas_path   = optional_param('savepath', '/', PARAM_PATH);   // save as file
 $search_text   = optional_param('s', '', PARAM_CLEANHTML);
 $linkexternal  = optional_param('linkexternal', '', PARAM_ALPHA);
 
+@header('Content-type: text/plain');
+
+// if uploaded file is larger than post_max_size (php.ini) setting, $_POST content will lost
+if (empty($_POST) && !empty($action)) {
+    $err->error = get_string('errorpostmaxsize', 'repository');
+    die(json_encode($err));
+}
+
 list($context, $course, $cm) = get_context_info_array($contextid);
 require_login($course, false, $cm);
 $PAGE->set_context($context);
 
 echo $OUTPUT->header(); // send headers
-@header('Content-type: text/html');
 
 if (!confirm_sesskey()) {
     $err->error = get_string('invalidsesskey');