Merge branch 'MDL-52217-30' of git://github.com/andrewnicols/moodle into MOODLE_30_STABLE

This commit is contained in:
David Monllao
2016-02-16 05:56:56 +08:00
4 changed files with 29 additions and 8 deletions
+17
View File
@@ -4608,6 +4608,23 @@ function xmldb_main_upgrade($oldversion) {
// Moodle v3.0.0 release upgrade line.
// Put any upgrade step following this.
if ($oldversion < 2015111602.07) {
$root = $CFG->tempdir . '/download';
if (is_dir($root)) {
// Fetch each repository type - include all repos, not just enabled.
$repositories = $DB->get_records('repository', array(), '', 'type');
foreach ($repositories as $id => $repository) {
$directory = $root . '/repository_' . $repository->type;
if (is_dir($directory)) {
fulldelete($directory);
}
}
}
// Main savepoint reached.
upgrade_main_savepoint(true, 2015111602.07);
}
return true;
}
+5 -7
View File
@@ -1663,18 +1663,16 @@ abstract class repository implements cacheable_object {
}
/**
* Decide where to save the file, can be overwriten by subclass
* Get a unique file path in which to save the file.
*
* The filename returned will be removed at the end of the request and
* should not be relied upon to exist in subsequent requests.
*
* @param string $filename file name
* @return file path
*/
public function prepare_file($filename) {
global $CFG;
$dir = make_temp_directory('download/'.get_class($this).'/');
while (empty($filename) || file_exists($dir.$filename)) {
$filename = uniqid('', true).'_'.time().'.tmp';
}
return $dir.$filename;
return sprintf('%s/%s', make_request_directory(), $filename);
}
/**
+6
View File
@@ -3,6 +3,12 @@ information provided here is intended especially for developers. Full
details of the repository API are available on Moodle docs:
http://docs.moodle.org/dev/Repository_API
=== 3.0.3 ===
* The prepare_file() function will now return a file in a per-request directory which will
be automatically cleaned at the end of the request.
No modifications should be required as a result of this change.
=== 2.8 ===
* Repositories working with Moodle files must replace serialize() with json_encode() in the
+1 -1
View File
@@ -29,7 +29,7 @@
defined('MOODLE_INTERNAL') || die();
$version = 2015111602.06; // 20151116 = branching date YYYYMMDD - do not modify!
$version = 2015111602.07; // 20151116 = branching date YYYYMMDD - do not modify!
// RR = release increments - 00 in DEV branches.
// .XX = incremental changes.