Commit faf20e8444bcdaace5698499c45524307105e331
1 parent
eb5cf7a7
Set thumbnailer to attempt creation of thumbnail on display if not already exists
Showing
1 changed file
with
14 additions
and
2 deletions
plugins/thumbnails/thumbnails.php
| @@ -146,10 +146,12 @@ class thumbnailGenerator extends BaseProcessor { | @@ -146,10 +146,12 @@ class thumbnailGenerator extends BaseProcessor { | ||
| 146 | $default->log->debug('Thumbnail Generator Plugin: PDF file does not exist, cannot generate a thumbnail'); | 146 | $default->log->debug('Thumbnail Generator Plugin: PDF file does not exist, cannot generate a thumbnail'); |
| 147 | return false; | 147 | return false; |
| 148 | } | 148 | } |
| 149 | + | ||
| 149 | // if a previous version of the thumbnail exists - delete it | 150 | // if a previous version of the thumbnail exists - delete it |
| 150 | if (file_exists($thumbnailfile)) { | 151 | if (file_exists($thumbnailfile)) { |
| 151 | @unlink($thumbnailfile); | 152 | @unlink($thumbnailfile); |
| 152 | } | 153 | } |
| 154 | + | ||
| 153 | // do generation | 155 | // do generation |
| 154 | if (extension_loaded('imagick')) { | 156 | if (extension_loaded('imagick')) { |
| 155 | $result= shell_exec("convert -size 200x200 {$pdfFile}[0] -resize 200x200 $thumbnailfile"); | 157 | $result= shell_exec("convert -size 200x200 {$pdfFile}[0] -resize 200x200 $thumbnailfile"); |
| @@ -179,8 +181,18 @@ class ThumbnailViewlet extends KTDocumentViewlet { | @@ -179,8 +181,18 @@ class ThumbnailViewlet extends KTDocumentViewlet { | ||
| 179 | $pdfDir = $default->pdfDirectory; | 181 | $pdfDir = $default->pdfDirectory; |
| 180 | $thumbnailfile = $pdfDir . '/thumbnails/'.$documentId.'.jpg'; | 182 | $thumbnailfile = $pdfDir . '/thumbnails/'.$documentId.'.jpg'; |
| 181 | 183 | ||
| 182 | - // check that file exists | ||
| 183 | - if (!file_exists($thumbnailfile)) return ''; | 184 | + // check that file exists, attempt to create if not |
| 185 | + if (!file_exists($thumbnailfile)) | ||
| 186 | + { | ||
| 187 | + // try to create, return on failure | ||
| 188 | + $thumbnailer = new thumbnailGenerator(); | ||
| 189 | + $thumbnailer->setDocument($this->oDocument); | ||
| 190 | + $thumbnailer->processDocument(); | ||
| 191 | + if (!file_exists($thumbnailfile)) { | ||
| 192 | + return ''; | ||
| 193 | + } | ||
| 194 | + } | ||
| 195 | + | ||
| 184 | // NOTE this is to turn the config setting for the PDF directory into a proper URL and not a path | 196 | // NOTE this is to turn the config setting for the PDF directory into a proper URL and not a path |
| 185 | $thumbnailUrl = str_replace($default->varDirectory, 'var/', $thumbnailfile); | 197 | $thumbnailUrl = str_replace($default->varDirectory, 'var/', $thumbnailfile); |
| 186 | $oTemplate->setData(array('thumbnail' => $thumbnailUrl)); | 198 | $oTemplate->setData(array('thumbnail' => $thumbnailUrl)); |