]> source.dussan.org Git - nextcloud-server.git/commitdiff
remote now unneeded AvatarPermissions repair step 3284/head
authorRobin Appelman <robin@icewind.nl>
Thu, 26 Jan 2017 15:21:47 +0000 (16:21 +0100)
committerRobin Appelman <robin@icewind.nl>
Thu, 26 Jan 2017 18:24:55 +0000 (19:24 +0100)
Avatars are now stored in appdata

Signed-off-by: Robin Appelman <robin@icewind.nl>
lib/composer/composer/autoload_classmap.php
lib/composer/composer/autoload_static.php
lib/private/Repair.php
lib/private/Repair/AvatarPermissions.php [deleted file]
tests/lib/Repair/AvatarPermissionsTest.php [deleted file]

index 84b5dc637bce68018a644eae987d2cc1587c7559..5e00b31ae410dfcdc9051b1d44d11f8c1a25ffef 100644 (file)
@@ -666,7 +666,6 @@ return array(
     'OC\\Repair' => $baseDir . '/lib/private/Repair.php',
     'OC\\RepairException' => $baseDir . '/lib/private/RepairException.php',
     'OC\\Repair\\AssetCache' => $baseDir . '/lib/private/Repair/AssetCache.php',
-    'OC\\Repair\\AvatarPermissions' => $baseDir . '/lib/private/Repair/AvatarPermissions.php',
     'OC\\Repair\\CleanTags' => $baseDir . '/lib/private/Repair/CleanTags.php',
     'OC\\Repair\\Collation' => $baseDir . '/lib/private/Repair/Collation.php',
     'OC\\Repair\\DropOldJobs' => $baseDir . '/lib/private/Repair/DropOldJobs.php',
index 01edabe6889d73559f032c3b1687b6eb4fb8ac03..040a1e0d2d37db99cd4f8ac52ee5f3655283aecc 100644 (file)
@@ -696,7 +696,6 @@ class ComposerStaticInit53792487c5a8370acc0b06b1a864ff4c
         'OC\\Repair' => __DIR__ . '/../../..' . '/lib/private/Repair.php',
         'OC\\RepairException' => __DIR__ . '/../../..' . '/lib/private/RepairException.php',
         'OC\\Repair\\AssetCache' => __DIR__ . '/../../..' . '/lib/private/Repair/AssetCache.php',
-        'OC\\Repair\\AvatarPermissions' => __DIR__ . '/../../..' . '/lib/private/Repair/AvatarPermissions.php',
         'OC\\Repair\\CleanTags' => __DIR__ . '/../../..' . '/lib/private/Repair/CleanTags.php',
         'OC\\Repair\\Collation' => __DIR__ . '/../../..' . '/lib/private/Repair/Collation.php',
         'OC\\Repair\\DropOldJobs' => __DIR__ . '/../../..' . '/lib/private/Repair/DropOldJobs.php',
index f1bf586b49d1a89f7ac5c7b8f05dc47a37e1edc1..e8d466cd844c7e81bf14e9435da73f8cf1c4b0cb 100644 (file)
@@ -31,7 +31,6 @@
 namespace OC;
 
 use OC\Repair\AssetCache;
-use OC\Repair\AvatarPermissions;
 use OC\Repair\CleanTags;
 use OC\Repair\Collation;
 use OC\Repair\DropOldJobs;
@@ -142,7 +141,6 @@ class Repair implements IOutput{
                        new RepairInvalidShares(\OC::$server->getConfig(), \OC::$server->getDatabaseConnection()),
                        new SharePropagation(\OC::$server->getConfig()),
                        new RemoveOldShares(\OC::$server->getDatabaseConnection()),
-                       new AvatarPermissions(\OC::$server->getDatabaseConnection()),
                        new RemoveRootShares(\OC::$server->getDatabaseConnection(), \OC::$server->getUserManager(), \OC::$server->getLazyRootFolder()),
                        new RepairUnmergedShares(
                                \OC::$server->getConfig(),
diff --git a/lib/private/Repair/AvatarPermissions.php b/lib/private/Repair/AvatarPermissions.php
deleted file mode 100644 (file)
index 9d75062..0000000
+++ /dev/null
@@ -1,116 +0,0 @@
-<?php
-/**
- * @copyright Copyright (c) 2016, ownCloud, Inc.
- *
- * @author Roeland Jago Douma <roeland@famdouma.nl>
- *
- * @license AGPL-3.0
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program.  If not, see <http://www.gnu.org/licenses/>
- *
- */
-namespace OC\Repair;
-
-use Doctrine\DBAL\Platforms\OraclePlatform;
-use OCP\IDBConnection;
-use OCP\Migration\IOutput;
-use OCP\Migration\IRepairStep;
-
-/**
- * Class AvatarPermissions
- *
- * @package OC\Repair
- */
-class AvatarPermissions implements IRepairStep {
-       /** @var IDBConnection */
-       private $connection;
-
-       /**
-        * AvatarPermissions constructor.
-        *
-        * @param IDBConnection $connection
-        */
-       public function __construct(IDBConnection $connection) {
-               $this->connection = $connection;
-       }
-
-       /**
-        * @return string
-        */
-       public function getName() {
-               return 'Fix permissions so avatars can be stored again';
-       }
-
-       /**
-        * @param IOutput $output
-        */
-       public function run(IOutput $output) {
-               $output->startProgress(2);
-               $this->fixUserRootPermissions();
-               $output->advance();
-               $this->fixAvatarPermissions();
-               $output->finishProgress();
-       }
-
-       /**
-        * Make sure all user roots have permissions 23 (all but share)
-        */
-       protected function fixUserRootPermissions() {
-               $qb = $this->connection->getQueryBuilder();
-               $qb2 = $this->connection->getQueryBuilder();
-
-               $qb->select('numeric_id')
-                       ->from('storages')
-                       ->where($qb->expr()->like('id', $qb2->createParameter('like')));
-
-               if ($this->connection->getDatabasePlatform() instanceof OraclePlatform) {
-                       // '' is null on oracle
-                       $path = $qb2->expr()->isNull('path');
-               } else {
-                       $path = $qb2->expr()->eq('path', $qb2->createNamedParameter(''));
-               }
-
-               $qb2->update('filecache')
-                       ->set('permissions', $qb2->createNamedParameter(23))
-                       ->where($path)
-                       ->andWhere($qb2->expr()->in('storage', $qb2->createFunction($qb->getSQL())))
-                       ->andWhere($qb2->expr()->neq('permissions', $qb2->createNamedParameter(23)))
-                       ->setParameter('like', 'home::%');
-
-
-               $qb2->execute();
-       }
-
-       /**
-        * Make sure all avatar files in the user roots have permission 27
-        */
-       protected function fixAvatarPermissions() {
-               $qb = $this->connection->getQueryBuilder();
-               $qb2 = $this->connection->getQueryBuilder();
-
-               $qb->select('numeric_id')
-                       ->from('storages')
-                       ->where($qb->expr()->like('id', $qb2->createParameter('like')));
-
-               $qb2->update('filecache')
-                       ->set('permissions', $qb2->createNamedParameter(27))
-                       ->where($qb2->expr()->like('path', $qb2->createNamedParameter('avatar.%')))
-                       ->andWhere($qb2->expr()->in('storage', $qb2->createFunction($qb->getSQL())))
-                       ->andWhere($qb2->expr()->neq('permissions', $qb2->createNamedParameter(27)))
-                       ->setParameter('like', 'home::%');
-
-               $qb2->execute();
-       }
-
-}
-
diff --git a/tests/lib/Repair/AvatarPermissionsTest.php b/tests/lib/Repair/AvatarPermissionsTest.php
deleted file mode 100644 (file)
index e3f582d..0000000
+++ /dev/null
@@ -1,189 +0,0 @@
-<?php
-/**
- * @author Roeland Jago Douma <rullzer@owncloud.com>
- *
- * @copyright Copyright (c) 2016, ownCloud, Inc.
- * @license AGPL-3.0
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program.  If not, see <http://www.gnu.org/licenses/>
- *
- */
-namespace Test\Repair;
-
-/**
- * Test for fixing the userRoot and avatar permissions
- *
- * @group DB
- *
- * @see \OC\Repair\AvatarPermissionsTest
- */
-class AvatarPermissionsTest extends \Test\TestCase {
-
-       /** @var \OC\Repair\AvatarPermissions */
-       protected $repair;
-
-       /** @var \OCP\IDBConnection */
-       protected $connection;
-
-       protected function setUp() {
-               parent::setUp();
-
-               $this->connection = \OC::$server->getDatabaseConnection();
-               $this->repair = new \OC\Repair\AvatarPermissions($this->connection);
-               $this->cleanUpTables();
-       }
-
-       protected function tearDown() {
-               $this->cleanUpTables();
-
-               parent::tearDown();
-       }
-
-       protected function cleanUpTables() {
-               $qb = $this->connection->getQueryBuilder();
-               $qb->delete('filecache')->execute();
-               $qb->delete('storages')->execute();
-       }
-
-       public function dataFixUserRootPermissions() {
-               return [
-                       ['home::user', '', 0, 23],
-                       ['home::user', 'foo', 0, 0],
-                       ['home::user', 'avatar.jpg', 0, 0],
-                       ['ABC::user', '', 0, 0],
-                       ['ABC::user', 'foo', 0, 0],
-               ];
-       }
-
-       /**
-        * @dataProvider dataFixUserRootPermissions
-        *
-        * @param string $storageId
-        * @param string $path
-        * @param int $permissionsBefore
-        * @param int $permissionsAfter
-        */
-       public function testFixUserRootPermissions($storageId, $path, $permissionsBefore, $permissionsAfter) {
-               $userStorage = $this->addStorage($storageId);
-               $userHome = $this->addFileCacheEntry($userStorage, $path, $permissionsBefore);
-
-               $this->invokePrivate($this->repair, 'fixUserRootPermissions', []);
-
-               $this->verifyPermissions($userHome, $permissionsAfter);
-       }
-
-       public function dataFixAvatarPermissions() {
-               return [
-                       ['home::user', '', 0, 0],
-                       ['home::user', 'avatar.jpg', 0, 27],
-                       ['home::user', 'avatar.png', 0, 27],
-                       ['home::user', 'avatar.32.png', 0, 27],
-                       ['home::user', 'mine.txt', 0, 0],
-                       ['ABC::user', '', 0, 0],
-                       ['ABC::user', 'avatar.jpg', 0, 0],
-                       ['ABC::user', 'avatar.png', 0, 0],
-                       ['ABC::user', 'avatar.32.png', 0, 0],
-                       ['ABC::user', 'mine.txt', 0, 0],
-               ];
-       }
-
-       /**
-        * @dataProvider dataFixAvatarPermissions
-        *
-        * @param string $storageId
-        * @param string $path
-        * @param int $permissionsBefore
-        * @param int $permissionsAfter
-        */
-       public function testFixAvatarPermissions($storageId, $path, $permissionsBefore, $permissionsAfter) {
-               $userStorage = $this->addStorage($storageId);
-               $userHome = $this->addFileCacheEntry($userStorage, $path, $permissionsBefore);
-
-               $this->invokePrivate($this->repair, 'fixAvatarPermissions', []);
-
-               $this->verifyPermissions($userHome, $permissionsAfter);
-       }
-
-       /**
-        * Add a new storage
-        *
-        * @param string $id
-        * @return int The numeric id
-        */
-       protected function addStorage($id) {
-               $qb = $this->connection->getQueryBuilder();
-
-               $qb->insert('storages')
-                       ->values([
-                               'id' => $qb->createNamedParameter($id)
-                       ]);
-
-               $qb->execute();
-
-               return $qb->getLastInsertId();
-       }
-
-       /**
-        * Add a filecache entry
-        *
-        * @param int $storage
-        * @param string $path
-        * @param int $permissions
-        *
-        * @return int The fileid
-        */
-       protected function addFileCacheEntry($storage, $path, $permissions) {
-               $qb = $this->connection->getQueryBuilder();
-
-               $qb->insert('filecache')
-                       ->values([
-                               'path' => $qb->createNamedParameter($path),
-                               'path_hash' => $qb->createNamedParameter(md5($path)),
-                               'parent' => $qb->createNamedParameter(42),
-                               'mimetype' => $qb->createNamedParameter(23),
-                               'mimepart' => $qb->createNamedParameter(32),
-                               'size' => $qb->createNamedParameter(16),
-                               'mtime' => $qb->createNamedParameter(1),
-                               'storage_mtime' => $qb->createNamedParameter(2),
-                               'encrypted' => $qb->createNamedParameter(0),
-                               'unencrypted_size' => $qb->createNamedParameter(0),
-                               'storage' => $qb->createNamedParameter($storage),
-                               'permissions' => $qb->createNamedParameter($permissions),
-                       ]);
-
-               $qb->execute();
-
-               return $qb->getLastInsertId();
-       }
-
-       /**
-        * @param int $fileId
-        * @param int $permissions
-        */
-       protected function verifyPermissions($fileId, $permissions) {
-               $qb = $this->connection->getQueryBuilder();
-
-               $qb->select('permissions')
-                       ->from('filecache')
-                       ->where($qb->expr()->eq('fileid', $qb->createNamedParameter($fileId)));
-
-               $cursor = $qb->execute();
-
-               $data = $cursor->fetch();
-               $cursor->closeCursor();
-
-               $this->assertSame($permissions, (int)$data['permissions']);
-       }
-
-
-}