mirror of
https://github.com/moodle/moodle.git
synced 2025-05-03 23:07:27 +02:00
MDL-41907 Repositories: Maintain the sortorder of a file when overwriting it.
This commit is contained in:
parent
83f26f6407
commit
ffc8e307f3
@ -2567,6 +2567,8 @@ abstract class repository implements cacheable_object {
|
|||||||
if ($tempfile = $fs->get_file($user_context->id, 'user', 'draft', $itemid, $newfilepath, $newfilename)) {
|
if ($tempfile = $fs->get_file($user_context->id, 'user', 'draft', $itemid, $newfilepath, $newfilename)) {
|
||||||
// Remember original file source field.
|
// Remember original file source field.
|
||||||
$source = @unserialize($file->get_source());
|
$source = @unserialize($file->get_source());
|
||||||
|
// Remember the original sortorder.
|
||||||
|
$sortorder = $file->get_sortorder();
|
||||||
if ($tempfile->is_external_file()) {
|
if ($tempfile->is_external_file()) {
|
||||||
// New file is a reference. Check that existing file does not have any other files referencing to it
|
// New file is a reference. Check that existing file does not have any other files referencing to it
|
||||||
if (isset($source->original) && $fs->search_references_count($source->original)) {
|
if (isset($source->original) && $fs->search_references_count($source->original)) {
|
||||||
@ -2585,6 +2587,7 @@ abstract class repository implements cacheable_object {
|
|||||||
$newfilesource->original = $source->original;
|
$newfilesource->original = $source->original;
|
||||||
$newfile->set_source(serialize($newfilesource));
|
$newfile->set_source(serialize($newfilesource));
|
||||||
}
|
}
|
||||||
|
$newfile->set_sortorder($sortorder);
|
||||||
// remove temp file
|
// remove temp file
|
||||||
$tempfile->delete();
|
$tempfile->delete();
|
||||||
return true;
|
return true;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user