aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
m---------3rdparty0
-rw-r--r--apps/files_sharing/appinfo/version2
-rw-r--r--apps/files_sharing/lib/external/scanner.php1
-rw-r--r--apps/files_sharing/tests/unsharechildren.php8
-rw-r--r--apps/files_trashbin/appinfo/version2
-rw-r--r--apps/files_versions/appinfo/version2
-rw-r--r--apps/user_ldap/appinfo/version2
-rw-r--r--apps/user_webdavauth/appinfo/version2
-rw-r--r--lib/private/app.php2
-rw-r--r--lib/private/files/config/mountprovidercollection.php10
-rw-r--r--lib/private/files/utils/scanner.php5
-rw-r--r--tests/lib/files/utils/scanner.php43
12 files changed, 65 insertions, 14 deletions
diff --git a/3rdparty b/3rdparty
-Subproject a79a7ee86b70db60fee8caa7caaad11be9fd004
+Subproject 2e896dfaa036d60362e314a30b7f55dcc91a109
diff --git a/apps/files_sharing/appinfo/version b/apps/files_sharing/appinfo/version
index ee6cdce3c29..b6160487433 100644
--- a/apps/files_sharing/appinfo/version
+++ b/apps/files_sharing/appinfo/version
@@ -1 +1 @@
-0.6.1
+0.6.2
diff --git a/apps/files_sharing/lib/external/scanner.php b/apps/files_sharing/lib/external/scanner.php
index 06708452c73..60eb7c8dacd 100644
--- a/apps/files_sharing/lib/external/scanner.php
+++ b/apps/files_sharing/lib/external/scanner.php
@@ -49,7 +49,6 @@ class Scanner extends \OC\Files\Cache\Scanner {
* @param int $parentId
* @param array | null $cacheData existing data in the cache for the file to be scanned
* @param bool $lock set to false to disable getting an additional read lock during scanning
- * @param array | null $cacheData existing data in the cache for the file to be scanned
* @return array an array of metadata of the scanned file
*/
public function scanFile($file, $reuseExisting = 0, $parentId = -1, $cacheData = null, $lock = true) {
diff --git a/apps/files_sharing/tests/unsharechildren.php b/apps/files_sharing/tests/unsharechildren.php
index 0cf551c0500..c57070ba641 100644
--- a/apps/files_sharing/tests/unsharechildren.php
+++ b/apps/files_sharing/tests/unsharechildren.php
@@ -40,7 +40,7 @@ class UnshareChildren extends TestCase {
\OCP\Util::connectHook('OC_Filesystem', 'post_delete', '\OCA\Files_Sharing\Hooks', 'unshareChildren');
$this->folder = self::TEST_FOLDER_NAME;
- $this->subfolder = '/subfolder_share_api_test';
+ $this->subfolder = '/subfolder_share_api_test';
$this->subsubfolder = '/subsubfolder_share_api_test';
$this->filename = '/share-api-test';
@@ -49,12 +49,14 @@ class UnshareChildren extends TestCase {
$this->view->mkdir($this->folder);
$this->view->mkdir($this->folder . $this->subfolder);
$this->view->mkdir($this->folder . $this->subfolder . $this->subsubfolder);
- $this->view->file_put_contents($this->folder.$this->filename, $this->data);
+ $this->view->file_put_contents($this->folder . $this->filename, $this->data);
$this->view->file_put_contents($this->folder . $this->subfolder . $this->filename, $this->data);
}
protected function tearDown() {
- $this->view->deleteAll($this->folder);
+ if ($this->view) {
+ $this->view->deleteAll($this->folder);
+ }
self::$tempStorage = null;
diff --git a/apps/files_trashbin/appinfo/version b/apps/files_trashbin/appinfo/version
index b6160487433..844f6a91acb 100644
--- a/apps/files_trashbin/appinfo/version
+++ b/apps/files_trashbin/appinfo/version
@@ -1 +1 @@
-0.6.2
+0.6.3
diff --git a/apps/files_versions/appinfo/version b/apps/files_versions/appinfo/version
index 90a27f9cea6..af0b7ddbffd 100644
--- a/apps/files_versions/appinfo/version
+++ b/apps/files_versions/appinfo/version
@@ -1 +1 @@
-1.0.5
+1.0.6
diff --git a/apps/user_ldap/appinfo/version b/apps/user_ldap/appinfo/version
index a918a2aa18d..ee6cdce3c29 100644
--- a/apps/user_ldap/appinfo/version
+++ b/apps/user_ldap/appinfo/version
@@ -1 +1 @@
-0.6.0
+0.6.1
diff --git a/apps/user_webdavauth/appinfo/version b/apps/user_webdavauth/appinfo/version
index 238afc2b279..a3fdef3af89 100644
--- a/apps/user_webdavauth/appinfo/version
+++ b/apps/user_webdavauth/appinfo/version
@@ -1 +1 @@
-1.1.0.1
+1.1.0.2
diff --git a/lib/private/app.php b/lib/private/app.php
index d5e07ffdbcc..e45d9ac07ba 100644
--- a/lib/private/app.php
+++ b/lib/private/app.php
@@ -1174,6 +1174,8 @@ class OC_App {
$appData = self::getAppInfo($appId);
if (array_key_exists('ocsid', $appData)) {
OC_Appconfig::setValue($appId, 'ocsid', $appData['ocsid']);
+ } elseif(OC_Appconfig::getValue($appId, 'ocsid', null) !== null) {
+ OC_Appconfig::deleteKey($appId, 'ocsid');
}
foreach ($appData['remote'] as $name => $path) {
OCP\CONFIG::setAppValue('core', 'remote_' . $name, $appId . '/' . $path);
diff --git a/lib/private/files/config/mountprovidercollection.php b/lib/private/files/config/mountprovidercollection.php
index a14a6ef796f..c75c64ae445 100644
--- a/lib/private/files/config/mountprovidercollection.php
+++ b/lib/private/files/config/mountprovidercollection.php
@@ -57,8 +57,14 @@ class MountProviderCollection implements IMountProviderCollection, Emitter {
*/
public function getMountsForUser(IUser $user) {
$loader = $this->loader;
- return array_reduce($this->providers, function ($mounts, IMountProvider $provider) use ($user, $loader) {
- return array_merge($mounts, $provider->getMountsForUser($user, $loader));
+ $mounts = array_map(function (IMountProvider $provider) use ($user, $loader) {
+ return $provider->getMountsForUser($user, $loader);
+ }, $this->providers);
+ $mounts = array_filter($mounts, function ($result) {
+ return is_array($result);
+ });
+ return array_reduce($mounts, function (array $mounts, array $providerMounts) {
+ return array_merge($mounts, $providerMounts);
}, array());
}
diff --git a/lib/private/files/utils/scanner.php b/lib/private/files/utils/scanner.php
index 23a9e26b3bc..3d68eb530a2 100644
--- a/lib/private/files/utils/scanner.php
+++ b/lib/private/files/utils/scanner.php
@@ -76,11 +76,10 @@ class Scanner extends PublicEmitter {
//TODO: move to the node based fileapi once that's done
\OC_Util::tearDownFS();
\OC_Util::setupFS($this->user);
- $absolutePath = Filesystem::getView()->getAbsolutePath($dir);
$mountManager = Filesystem::getMountManager();
- $mounts = $mountManager->findIn($absolutePath);
- $mounts[] = $mountManager->find($absolutePath);
+ $mounts = $mountManager->findIn($dir);
+ $mounts[] = $mountManager->find($dir);
$mounts = array_reverse($mounts); //start with the mount of $dir
return $mounts;
diff --git a/tests/lib/files/utils/scanner.php b/tests/lib/files/utils/scanner.php
index dfc683c1bcf..ca64b1db72e 100644
--- a/tests/lib/files/utils/scanner.php
+++ b/tests/lib/files/utils/scanner.php
@@ -11,6 +11,8 @@ namespace Test\Files\Utils;
use OC\Files\Filesystem;
use OC\Files\Mount\MountPoint;
use OC\Files\Storage\Temporary;
+use OCP\Files\Storage\IStorageFactory;
+use OCP\IUser;
class TestScanner extends \OC\Files\Utils\Scanner {
/**
@@ -39,14 +41,22 @@ class TestScanner extends \OC\Files\Utils\Scanner {
}
class Scanner extends \Test\TestCase {
+ /**
+ * @var \OC_User_Dummy
+ */
+ private $userBackend;
+
protected function setUp() {
parent::setUp();
+ $this->userBackend = new \OC_User_Dummy();
+ \OC::$server->getUserManager()->registerBackend($this->userBackend);
$this->loginAsUser();
}
protected function tearDown() {
$this->logout();
+ \OC::$server->getUserManager()->removeBackend($this->userBackend);
parent::tearDown();
}
@@ -94,6 +104,39 @@ class Scanner extends \Test\TestCase {
$this->assertEquals($old, $new);
}
+ public function testScanSubMount() {
+ $uid = $this->getUniqueID();
+ $this->userBackend->createUser($uid, 'test');
+
+ $mountProvider = $this->getMock('\OCP\Files\Config\IMountProvider');
+
+ $storage = new Temporary(array());
+ $mount = new MountPoint($storage, '/' . $uid . '/files/foo');
+
+ $mountProvider->expects($this->any())
+ ->method('getMountsForUser')
+ ->will($this->returnCallback(function (IUser $user, IStorageFactory $storageFactory) use ($mount, $uid) {
+ if ($user->getUID() === $uid) {
+ return [$mount];
+ } else {
+ return [];
+ }
+ }));
+
+ \OC::$server->getMountProviderCollection()->registerProvider($mountProvider);
+ $cache = $storage->getCache();
+
+ $storage->mkdir('folder');
+ $storage->file_put_contents('foo.txt', 'qwerty');
+ $storage->file_put_contents('folder/bar.txt', 'qwerty');
+
+ $scanner = new \OC\Files\Utils\Scanner($uid, \OC::$server->getDatabaseConnection());
+
+ $this->assertFalse($cache->inCache('folder/bar.txt'));
+ $scanner->scan('/' . $uid . '/files/foo');
+ $this->assertTrue($cache->inCache('folder/bar.txt'));
+ }
+
public function testChangePropagator() {
/**
* @var \OC\Files\Cache\ChangePropagator $propagator