Commit 653f3b3217ec997e35d4f71d3e758bed483b3fcb

Authored by Paul Barrett
1 parent ccf64b4c

Second attempt at a method to ensure thumbnail paths are correct for creation

Committed by: Paul Barrett
plugins/thumbnails/thumbnails.php
... ... @@ -158,9 +158,22 @@ class thumbnailGenerator extends BaseProcessor
158 158 $pdfFile = str_replace('/', '\\', $pdfFile);
159 159  
160 160 $thumbnaildir = $default->internalVarDirectory.DIRECTORY_SEPARATOR.'thumbnails';
161   - $thumbnaildir = str_replace('/', '\\', $thumbnaildir);
162   - $thumbnailfile = $thumbnaildir.DIRECTORY_SEPARATOR.$this->document->iId.'.jpg';
  161 + if (WINDOWS_OS) {
  162 + $thumbnaildir = str_replace('/', '\\', $thumbnaildir);
  163 + }
163 164  
  165 + if (!preg_match('/' . str_replace('/', '\/', str_replace('\\', '\\\\', KT_DIR)) . '/', $thumbnaildir))
  166 + {
  167 + if (WINDOWS_OS) {
  168 + $thumbnaildir = KT_DIR . '\\' . trim($thumbnaildir, '\\');
  169 + }
  170 + else {
  171 + $thumbnaildir = KT_DIR . '/' . trim($thumbnaildir, '/');
  172 + }
  173 + }
  174 +
  175 + $thumbnailfile = $thumbnaildir.DIRECTORY_SEPARATOR.$this->document->iId.'.jpg';
  176 +
164 177 //if thumbail dir does not exist, generate one and add an index file to block access
165 178 if (!file_exists($thumbnaildir)) {
166 179 mkdir($thumbnaildir, 0755);
... ... @@ -225,16 +238,31 @@ class ThumbnailViewlet extends KTDocumentViewlet {
225 238 global $default;
226 239 $varDir = $default->internalVarDirectory;
227 240 $thumbnailfile = $varDir . '/thumbnails/'.$documentId.'.jpg';
  241 +
  242 + if (WINDOWS_OS) {
  243 + $varDir = str_replace('/', '\\', $varDir);
  244 + }
  245 +
  246 + if (!preg_match('/' . str_replace('/', '\/', str_replace('\\', '\\\\', KT_DIR)) . '/', $thumbnaildir))
  247 + {
  248 + if (WINDOWS_OS) {
  249 + $varDir = KT_DIR . '\\' . trim($varDir, '\\');
  250 + }
  251 + else {
  252 + $varDir = KT_DIR . '/' . trim($varDir, '/');
  253 + }
  254 + }
  255 +
  256 + $thumbnailCheck = $varDir . '/thumbnails/'.$documentId.'.jpg';
228 257  
229 258 // if the thumbnail doesn't exist try to create it
230   - if (!file_exists($thumbnailfile)){
  259 + if (!file_exists($thumbnailCheck)){
231 260 $thumbnailer = new thumbnailGenerator();
232 261 $thumbnailer->setDocument($this->oDocument);
233 262 $thumbnailer->processDocument();
234 263  
235   - $thumbcheck = $thumbnailfile;
236 264 // if it still doesn't exist, return an empty string
237   - if (!file_exists($thumbcheck)) {
  265 + if (!file_exists($thumbnailCheck)) {
238 266 return '';
239 267 }
240 268 }
... ...