From e10c8cb6a7c5ddb92e977047c8a8b127ee08a89c Mon Sep 17 00:00:00 2001 From: garvinhicking Date: Fri, 13 May 2005 12:30:55 +0000 Subject: [PATCH] Fix PDF thumbnail creation. --- docs/NEWS | 3 +++ include/functions_images.inc.php | 14 ++++++++------ 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/docs/NEWS b/docs/NEWS index 77c28bd..fd203e5 100644 --- a/docs/NEWS +++ b/docs/NEWS @@ -3,6 +3,9 @@ Version 0.8.1 () ------------------------------------------------------------------------ + * Fix missing PDF thumbnail creation (imagemagick only) + (garvinhicking) + * Fix possible arbitrary media file upload for editors (garvinhicking, sesser, nohn) diff --git a/include/functions_images.inc.php b/include/functions_images.inc.php index d8ca99a..0b7d762 100644 --- a/include/functions_images.inc.php +++ b/include/functions_images.inc.php @@ -312,15 +312,17 @@ function serendipity_makeThumbnail($file, $directory = '', $size = false) { } else { $r = array($size, $size); $newSize = $size . 'x' . $size; - if ($ft_mime != 'application/pdf') { - $cmd = escapeshellcmd($serendipity['convert']) . ' -antialias -scale '. serendipity_escapeshellarg($newSize) .' '. serendipity_escapeshellarg($infile) .' '. serendipity_escapeshellarg($outfile); + if ($fdim['mime'] == 'application/pdf') { + $cmd = escapeshellcmd($serendipity['convert']) . ' -antialias -flatten -scale '. serendipity_escapeshellarg($newSize) .' '. serendipity_escapeshellarg($infile) .' '. serendipity_escapeshellarg($outfile . '.png'); } else { - $cmd = escapeshellcmd($serendipity['convert']) . ' -antialias -flatten -scale '. serendipity_escapeshellarg($newSize) .' '. serendipity_escapeshellarg($infile) .' '. serendipity_escapeshellarg($outfile .'.png'); + $cmd = escapeshellcmd($serendipity['convert']) . ' -antialias -scale '. serendipity_escapeshellarg($newSize) .' '. serendipity_escapeshellarg($infile) .' '. serendipity_escapeshellarg($outfile); } exec($cmd, $output, $result); if ( $result != 0 ) { echo '
'. sprintf(IMAGICK_EXEC_ERROR, $cmd, $output[0], $result) .'
'; $r = false; // return failure + } else { + touch($outfile); } unset($output, $result); } @@ -1258,11 +1260,11 @@ function serendipity_getimagesize($file, $ft_mime = '', $suf = '') { } if ($ft_mime == 'application/pdf') { - $fdim = array(1000,1000,24, '', 'bits'=> 24, 'channels' => '3', 'mime' => 'application/pdf'); + $fdim = array(1000,1000,24, '', 'bits'=> 24, 'channels' => '3', 'mime' => 'application/pdf'); + } else { + $fdim = @getimagesize($file); } - $fdim = @getimagesize($file); - if (is_array($fdim)) { if (empty($fdim['mime'])) { $fdim['mime'] = $ft_mime; -- 2.39.5