Merge pull request #13179 from owncloud/fix-fatal-php-error-for-not-existing-files

Verify whether type is correct
This commit is contained in:
Lukas Reschke 2015-01-09 02:27:51 +01:00
commit 6c59253978
2 changed files with 15 additions and 18 deletions

View File

@ -29,21 +29,17 @@ if ($maxX === 0 || $maxY === 0) {
exit; exit;
} }
try { $preview = new \OC\Preview(\OC_User::getUser(), 'files');
$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();
}
} catch (\Exception $e) { $info = \OC\Files\Filesystem::getFileInfo($file);
\OC_Response::setStatus(500);
\OC_Log::write('core', $e->getmessage(), \OC_Log::DEBUG); 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();
} }

View File

@ -200,14 +200,15 @@ class Preview {
/** /**
* set the path of the file you want a thumbnail from * set the path of the file you want a thumbnail from
* @param string $file * @param string $file
* @return \OC\Preview $this * @return $this
*/ */
public function setFile($file) { public function setFile($file) {
$this->file = $file; $this->file = $file;
$this->info = null; $this->info = null;
if ($file !== '') { if ($file !== '') {
$this->getFileInfo(); $this->getFileInfo();
if($this->info !== null && $this->info !== false) { if($this->info instanceof \OCP\Files\FileInfo) {
$this->mimeType = $this->info->getMimetype(); $this->mimeType = $this->info->getMimetype();
} }
} }