From 2b53b13ff7b7cb98f81d5ef98214a91dedc124af Mon Sep 17 00:00:00 2001 From: Andrew Nicols Date: Mon, 23 Mar 2015 09:13:26 +0800 Subject: [PATCH] MDL-49627 core: Update uses of generate_image_thumbnail This removes the need to write tempfiles in these locations. --- lib/filestorage/file_storage.php | 12 +++--------- mod/label/lib.php | 6 +----- repository/filesystem/lib.php | 3 +-- 3 files changed, 5 insertions(+), 16 deletions(-) diff --git a/lib/filestorage/file_storage.php b/lib/filestorage/file_storage.php index f3aca13f889..c832f619057 100644 --- a/lib/filestorage/file_storage.php +++ b/lib/filestorage/file_storage.php @@ -384,25 +384,19 @@ class file_storage { global $CFG; require_once($CFG->libdir.'/gdlib.php'); - $tmproot = make_temp_directory('thumbnails'); - $tmpfilepath = $tmproot.'/'.$file->get_contenthash(); - $file->copy_content_to($tmpfilepath); - if ($mode === 'tinyicon') { - $data = generate_image_thumbnail($tmpfilepath, 24, 24); + $data = $file->generate_image_thumbnail(24, 24); } else if ($mode === 'thumb') { - $data = generate_image_thumbnail($tmpfilepath, 90, 90); + $data = $file->generate_image_thumbnail(90, 90); } else if ($mode === 'bigthumb') { - $data = generate_image_thumbnail($tmpfilepath, 250, 250); + $data = $file->generate_image_thumbnail(250, 250); } else { throw new file_exception('storedfileproblem', 'Invalid preview mode requested'); } - unlink($tmpfilepath); - return $data; } diff --git a/mod/label/lib.php b/mod/label/lib.php index 3a88079fc47..49837b9ea6a 100644 --- a/mod/label/lib.php +++ b/mod/label/lib.php @@ -290,11 +290,7 @@ function label_generate_resized_image(stored_file $file, $maxwidth, $maxheight) $mimetype = $file->get_mimetype(); if ($mimetype === 'image/gif' or $mimetype === 'image/jpeg' or $mimetype === 'image/png') { require_once($CFG->libdir.'/gdlib.php'); - $tmproot = make_temp_directory('mod_label'); - $tmpfilepath = $tmproot.'/'.$file->get_contenthash(); - $file->copy_content_to($tmpfilepath); - $data = generate_image_thumbnail($tmpfilepath, $width, $height); - unlink($tmpfilepath); + $data = $file->generate_image_thumbnail($width, $height); if (!empty($data)) { $fs = get_file_storage(); diff --git a/repository/filesystem/lib.php b/repository/filesystem/lib.php index 578f36fabba..1585d883ac5 100644 --- a/repository/filesystem/lib.php +++ b/repository/filesystem/lib.php @@ -486,7 +486,6 @@ class repository_filesystem extends repository { return null; } $filename = sha1($filecontents); - unset($filecontents); // Try to get generated thumbnail for this file. $fs = get_file_storage(); @@ -499,7 +498,7 @@ class repository_filesystem extends repository { } else { $size = 24; } - if (!$data = @generate_image_thumbnail($origfile, $size, $size)) { + if (!$data = generate_image_thumbnail_from_string($filecontents, $size, $size)) { // Generation failed. return null; }