Преглед на файлове

Verify whether type is correct

`$this->info` can very well contain an empty array or possibly other values. This means that when this code path is called a PHP Fatal error might get thrown which is not what we want.
tags/v8.0.0alpha2
Lukas Reschke преди 9 години
родител
ревизия
ceaaab6295
променени са 2 файла, в които са добавени 15 реда и са изтрити 18 реда
  1. 12
    16
      core/ajax/preview.php
  2. 3
    2
      lib/private/preview.php

+ 12
- 16
core/ajax/preview.php Целия файл

@@ -29,21 +29,17 @@ if ($maxX === 0 || $maxY === 0) {
exit;
}

try {
$preview = new \OC\Preview(\OC_User::getUser(), 'files');
$info = \OC\Files\Filesystem::getFileInfo($file);
if (!$always and !$preview->isAvailable($info)) {
\OC_Response::setStatus(404);
} else {
$preview->setFile($file);
$preview->setMaxX($maxX);
$preview->setMaxY($maxY);
$preview->setScalingUp($scalingUp);
$preview->setKeepAspect($keepAspect);
$preview->showPreview();
}
$preview = new \OC\Preview(\OC_User::getUser(), 'files');

} catch (\Exception $e) {
\OC_Response::setStatus(500);
\OC_Log::write('core', $e->getmessage(), \OC_Log::DEBUG);
$info = \OC\Files\Filesystem::getFileInfo($file);

if (!$info instanceof OCP\Files\FileInfo || !$always && !$preview->isAvailable($info)) {
\OC_Response::setStatus(404);
} else {
$preview->setFile($file);
$preview->setMaxX($maxX);
$preview->setMaxY($maxY);
$preview->setScalingUp($scalingUp);
$preview->setKeepAspect($keepAspect);
$preview->showPreview();
}

+ 3
- 2
lib/private/preview.php Целия файл

@@ -200,14 +200,15 @@ class Preview {
/**
* set the path of the file you want a thumbnail from
* @param string $file
* @return \OC\Preview $this
* @return $this
*/
public function setFile($file) {
$this->file = $file;
$this->info = null;

if ($file !== '') {
$this->getFileInfo();
if($this->info !== null && $this->info !== false) {
if($this->info instanceof \OCP\Files\FileInfo) {
$this->mimeType = $this->info->getMimetype();
}
}

Loading…
Отказ
Запис