Merge pull request #14640 from owncloud/rescanversionsonlyonce

Only rescan versions once in trashbin
This commit is contained in:
Thomas Müller 2015-03-11 00:54:20 +01:00
commit 1757d01604
1 changed files with 13 additions and 3 deletions

View File

@ -32,6 +32,13 @@ class Trashbin {
// unit: percentage; 50% of available disk space/quota
const DEFAULTMAXSIZE = 50;
/**
* Whether versions have already be rescanned during this PHP request
*
* @var bool
*/
private static $scannedVersions = false;
public static function getUidAndFilename($filename) {
$uid = \OC\Files\Filesystem::getOwner($filename);
\OC\Files\Filesystem::initMountPoints($uid);
@ -825,9 +832,12 @@ class Trashbin {
$versions = array();
//force rescan of versions, local storage may not have updated the cache
/** @var \OC\Files\Storage\Storage $storage */
list($storage, ) = $view->resolvePath('/');
$storage->getScanner()->scan('files_trashbin');
if (!self::$scannedVersions) {
/** @var \OC\Files\Storage\Storage $storage */
list($storage, ) = $view->resolvePath('/');
$storage->getScanner()->scan('files_trashbin/versions');
self::$scannedVersions = true;
}
if ($timestamp) {
// fetch for old versions