Passed
Push — master ( 8b6d8e...bffb34 )
by Morris
13:17 queued 11s
created
lib/public/Contacts/ContactsMenu/IContactsStore.php 1 patch
Indentation   +16 added lines, -16 removed lines patch added patch discarded remove patch
@@ -10,22 +10,22 @@
 block discarded – undo
10 10
 interface IContactsStore {
11 11
 
12 12
 
13
-	/**
14
-	 * @param IUser $user
15
-	 * @param $filter
16
-	 * @return IEntry[]
17
-	 * @since 13.0.0
18
-	 */
19
-	public function getContacts(IUser $user, $filter);
13
+    /**
14
+     * @param IUser $user
15
+     * @param $filter
16
+     * @return IEntry[]
17
+     * @since 13.0.0
18
+     */
19
+    public function getContacts(IUser $user, $filter);
20 20
 
21
-	/**
22
-	 * @brief finds a contact by specifying the property to search on ($shareType) and the value ($shareWith)
23
-	 * @param IUser $user
24
-	 * @param integer $shareType
25
-	 * @param string $shareWith
26
-	 * @return IEntry|null
27
-	 * @since 13.0.0
28
-	 */
29
-	public function findOne(IUser $user, $shareType, $shareWith);
21
+    /**
22
+     * @brief finds a contact by specifying the property to search on ($shareType) and the value ($shareWith)
23
+     * @param IUser $user
24
+     * @param integer $shareType
25
+     * @param string $shareWith
26
+     * @return IEntry|null
27
+     * @since 13.0.0
28
+     */
29
+    public function findOne(IUser $user, $shareType, $shareWith);
30 30
 
31 31
 }
Please login to merge, or discard this patch.
apps/dav/lib/CalDAV/Principal/Collection.php 1 patch
Indentation   +9 added lines, -9 removed lines patch added patch discarded remove patch
@@ -32,14 +32,14 @@
 block discarded – undo
32 32
  */
33 33
 class Collection extends \Sabre\CalDAV\Principal\Collection {
34 34
 
35
-	/**
36
-	 * Returns a child object based on principal information
37
-	 *
38
-	 * @param array $principalInfo
39
-	 * @return User
40
-	 */
41
-	function getChildForPrincipal(array $principalInfo) {
42
-		return new User($this->principalBackend, $principalInfo);
43
-	}
35
+    /**
36
+     * Returns a child object based on principal information
37
+     *
38
+     * @param array $principalInfo
39
+     * @return User
40
+     */
41
+    function getChildForPrincipal(array $principalInfo) {
42
+        return new User($this->principalBackend, $principalInfo);
43
+    }
44 44
 
45 45
 }
Please login to merge, or discard this patch.
apps/dav/lib/CalDAV/Principal/User.php 1 patch
Indentation   +21 added lines, -21 removed lines patch added patch discarded remove patch
@@ -30,26 +30,26 @@
 block discarded – undo
30 30
  */
31 31
 class User extends \Sabre\CalDAV\Principal\User {
32 32
 
33
-	/**
34
-	 * Returns a list of ACE's for this node.
35
-	 *
36
-	 * Each ACE has the following properties:
37
-	 *   * 'privilege', a string such as {DAV:}read or {DAV:}write. These are
38
-	 *     currently the only supported privileges
39
-	 *   * 'principal', a url to the principal who owns the node
40
-	 *   * 'protected' (optional), indicating that this ACE is not allowed to
41
-	 *      be updated.
42
-	 *
43
-	 * @return array
44
-	 */
45
-	function getACL() {
46
-		$acl = parent::getACL();
47
-		$acl[] = [
48
-			'privilege' => '{DAV:}read',
49
-			'principal' => '{DAV:}authenticated',
50
-			'protected' => true,
51
-		];
52
-		return $acl;
53
-	}
33
+    /**
34
+     * Returns a list of ACE's for this node.
35
+     *
36
+     * Each ACE has the following properties:
37
+     *   * 'privilege', a string such as {DAV:}read or {DAV:}write. These are
38
+     *     currently the only supported privileges
39
+     *   * 'principal', a url to the principal who owns the node
40
+     *   * 'protected' (optional), indicating that this ACE is not allowed to
41
+     *      be updated.
42
+     *
43
+     * @return array
44
+     */
45
+    function getACL() {
46
+        $acl = parent::getACL();
47
+        $acl[] = [
48
+            'privilege' => '{DAV:}read',
49
+            'principal' => '{DAV:}authenticated',
50
+            'protected' => true,
51
+        ];
52
+        return $acl;
53
+    }
54 54
 
55 55
 }
Please login to merge, or discard this patch.
lib/private/Repair/NC13/RepairInvalidPaths.php 1 patch
Indentation   +160 added lines, -160 removed lines patch added patch discarded remove patch
@@ -29,164 +29,164 @@
 block discarded – undo
29 29
 use OCP\Migration\IRepairStep;
30 30
 
31 31
 class RepairInvalidPaths implements IRepairStep {
32
-	const MAX_ROWS = 1000;
33
-
34
-	/** @var IDBConnection */
35
-	private $connection;
36
-	/** @var IConfig */
37
-	private $config;
38
-
39
-	private $getIdQuery;
40
-	private $updateQuery;
41
-	private $reparentQuery;
42
-	private $deleteQuery;
43
-
44
-	public function __construct(IDBConnection $connection, IConfig $config) {
45
-		$this->connection = $connection;
46
-		$this->config = $config;
47
-	}
48
-
49
-
50
-	public function getName() {
51
-		return 'Repair invalid paths in file cache';
52
-	}
53
-
54
-	/**
55
-	 * @return \Generator
56
-	 * @suppress SqlInjectionChecker
57
-	 */
58
-	private function getInvalidEntries() {
59
-		$builder = $this->connection->getQueryBuilder();
60
-
61
-		$computedPath = $builder->func()->concat(
62
-			'p.path',
63
-			$builder->func()->concat($builder->createNamedParameter('/'), 'f.name')
64
-		);
65
-
66
-		//select f.path, f.parent,p.path from oc_filecache f inner join oc_filecache p on f.parent=p.fileid and p.path!='' where f.path != p.path || '/' || f.name;
67
-		$builder->select('f.fileid', 'f.path', 'f.name', 'f.parent', 'f.storage')
68
-			->selectAlias('p.path', 'parent_path')
69
-			->selectAlias('p.storage', 'parent_storage')
70
-			->from('filecache', 'f')
71
-			->innerJoin('f', 'filecache', 'p', $builder->expr()->andX(
72
-				$builder->expr()->eq('f.parent', 'p.fileid'),
73
-				$builder->expr()->nonEmptyString('p.name')
74
-			))
75
-			->where($builder->expr()->neq('f.path', $computedPath))
76
-			->setMaxResults(self::MAX_ROWS);
77
-
78
-		do {
79
-			$result = $builder->execute();
80
-			$rows = $result->fetchAll();
81
-			foreach ($rows as $row) {
82
-				yield $row;
83
-			}
84
-			$result->closeCursor();
85
-		} while (count($rows) > 0);
86
-	}
87
-
88
-	private function getId($storage, $path) {
89
-		if (!$this->getIdQuery) {
90
-			$builder = $this->connection->getQueryBuilder();
91
-
92
-			$this->getIdQuery = $builder->select('fileid')
93
-				->from('filecache')
94
-				->where($builder->expr()->eq('storage', $builder->createParameter('storage')))
95
-				->andWhere($builder->expr()->eq('path_hash', $builder->createParameter('path_hash')));
96
-		}
97
-
98
-		$this->getIdQuery->setParameter('storage', $storage, IQueryBuilder::PARAM_INT);
99
-		$this->getIdQuery->setParameter('path_hash', md5($path));
100
-
101
-		return $this->getIdQuery->execute()->fetchColumn();
102
-	}
103
-
104
-	/**
105
-	 * @param string $fileid
106
-	 * @param string $newPath
107
-	 * @param string $newStorage
108
-	 * @suppress SqlInjectionChecker
109
-	 */
110
-	private function update($fileid, $newPath, $newStorage) {
111
-		if (!$this->updateQuery) {
112
-			$builder = $this->connection->getQueryBuilder();
113
-
114
-			$this->updateQuery = $builder->update('filecache')
115
-				->set('path', $builder->createParameter('newpath'))
116
-				->set('path_hash', $builder->func()->md5($builder->createParameter('newpath')))
117
-				->set('storage', $builder->createParameter('newstorage'))
118
-				->where($builder->expr()->eq('fileid', $builder->createParameter('fileid')));
119
-		}
120
-
121
-		$this->updateQuery->setParameter('newpath', $newPath);
122
-		$this->updateQuery->setParameter('newstorage', $newStorage);
123
-		$this->updateQuery->setParameter('fileid', $fileid, IQueryBuilder::PARAM_INT);
124
-
125
-		$this->updateQuery->execute();
126
-	}
127
-
128
-	private function reparent($from, $to) {
129
-		if (!$this->reparentQuery) {
130
-			$builder = $this->connection->getQueryBuilder();
131
-
132
-			$this->reparentQuery = $builder->update('filecache')
133
-				->set('parent', $builder->createParameter('to'))
134
-				->where($builder->expr()->eq('fileid', $builder->createParameter('from')));
135
-		}
136
-
137
-		$this->reparentQuery->setParameter('from', $from);
138
-		$this->reparentQuery->setParameter('to', $to);
139
-
140
-		$this->reparentQuery->execute();
141
-	}
142
-
143
-	private function delete($fileid) {
144
-		if (!$this->deleteQuery) {
145
-			$builder = $this->connection->getQueryBuilder();
146
-
147
-			$this->deleteQuery = $builder->delete('filecache')
148
-				->where($builder->expr()->eq('fileid', $builder->createParameter('fileid')));
149
-		}
150
-
151
-		$this->deleteQuery->setParameter('fileid', $fileid, IQueryBuilder::PARAM_INT);
152
-
153
-		$this->deleteQuery->execute();
154
-	}
155
-
156
-	private function repair() {
157
-		$this->connection->beginTransaction();
158
-		$entries = $this->getInvalidEntries();
159
-		$count = 0;
160
-		foreach ($entries as $entry) {
161
-			$count++;
162
-			$calculatedPath = $entry['parent_path'] . '/' . $entry['name'];
163
-			if ($newId = $this->getId($entry['parent_storage'], $calculatedPath)) {
164
-				// a new entry with the correct path has already been created, reuse that one and delete the incorrect entry
165
-				$this->reparent($entry['fileid'], $newId);
166
-				$this->delete($entry['fileid']);
167
-			} else {
168
-				$this->update($entry['fileid'], $calculatedPath, $entry['parent_storage']);
169
-			}
170
-		}
171
-		$this->connection->commit();
172
-		return $count;
173
-	}
174
-
175
-	private function shouldRun() {
176
-		$versionFromBeforeUpdate = $this->config->getSystemValue('version', '0.0.0');
177
-
178
-		// was added to 11.0.5.2, 12.0.0.30 and 13.0.0.1
179
-		$shouldRun = version_compare($versionFromBeforeUpdate, '11.0.5.2', '<');
180
-		$shouldRun |= version_compare($versionFromBeforeUpdate, '12.0.0.0', '>=') && version_compare($versionFromBeforeUpdate, '12.0.0.30', '<');
181
-		$shouldRun |= version_compare($versionFromBeforeUpdate, '13.0.0.0', '==');
182
-		return $shouldRun;
183
-	}
184
-
185
-	public function run(IOutput $output) {
186
-		if ($this->shouldRun()) {
187
-			$count = $this->repair();
188
-
189
-			$output->info('Repaired ' . $count . ' paths');
190
-		}
191
-	}
32
+    const MAX_ROWS = 1000;
33
+
34
+    /** @var IDBConnection */
35
+    private $connection;
36
+    /** @var IConfig */
37
+    private $config;
38
+
39
+    private $getIdQuery;
40
+    private $updateQuery;
41
+    private $reparentQuery;
42
+    private $deleteQuery;
43
+
44
+    public function __construct(IDBConnection $connection, IConfig $config) {
45
+        $this->connection = $connection;
46
+        $this->config = $config;
47
+    }
48
+
49
+
50
+    public function getName() {
51
+        return 'Repair invalid paths in file cache';
52
+    }
53
+
54
+    /**
55
+     * @return \Generator
56
+     * @suppress SqlInjectionChecker
57
+     */
58
+    private function getInvalidEntries() {
59
+        $builder = $this->connection->getQueryBuilder();
60
+
61
+        $computedPath = $builder->func()->concat(
62
+            'p.path',
63
+            $builder->func()->concat($builder->createNamedParameter('/'), 'f.name')
64
+        );
65
+
66
+        //select f.path, f.parent,p.path from oc_filecache f inner join oc_filecache p on f.parent=p.fileid and p.path!='' where f.path != p.path || '/' || f.name;
67
+        $builder->select('f.fileid', 'f.path', 'f.name', 'f.parent', 'f.storage')
68
+            ->selectAlias('p.path', 'parent_path')
69
+            ->selectAlias('p.storage', 'parent_storage')
70
+            ->from('filecache', 'f')
71
+            ->innerJoin('f', 'filecache', 'p', $builder->expr()->andX(
72
+                $builder->expr()->eq('f.parent', 'p.fileid'),
73
+                $builder->expr()->nonEmptyString('p.name')
74
+            ))
75
+            ->where($builder->expr()->neq('f.path', $computedPath))
76
+            ->setMaxResults(self::MAX_ROWS);
77
+
78
+        do {
79
+            $result = $builder->execute();
80
+            $rows = $result->fetchAll();
81
+            foreach ($rows as $row) {
82
+                yield $row;
83
+            }
84
+            $result->closeCursor();
85
+        } while (count($rows) > 0);
86
+    }
87
+
88
+    private function getId($storage, $path) {
89
+        if (!$this->getIdQuery) {
90
+            $builder = $this->connection->getQueryBuilder();
91
+
92
+            $this->getIdQuery = $builder->select('fileid')
93
+                ->from('filecache')
94
+                ->where($builder->expr()->eq('storage', $builder->createParameter('storage')))
95
+                ->andWhere($builder->expr()->eq('path_hash', $builder->createParameter('path_hash')));
96
+        }
97
+
98
+        $this->getIdQuery->setParameter('storage', $storage, IQueryBuilder::PARAM_INT);
99
+        $this->getIdQuery->setParameter('path_hash', md5($path));
100
+
101
+        return $this->getIdQuery->execute()->fetchColumn();
102
+    }
103
+
104
+    /**
105
+     * @param string $fileid
106
+     * @param string $newPath
107
+     * @param string $newStorage
108
+     * @suppress SqlInjectionChecker
109
+     */
110
+    private function update($fileid, $newPath, $newStorage) {
111
+        if (!$this->updateQuery) {
112
+            $builder = $this->connection->getQueryBuilder();
113
+
114
+            $this->updateQuery = $builder->update('filecache')
115
+                ->set('path', $builder->createParameter('newpath'))
116
+                ->set('path_hash', $builder->func()->md5($builder->createParameter('newpath')))
117
+                ->set('storage', $builder->createParameter('newstorage'))
118
+                ->where($builder->expr()->eq('fileid', $builder->createParameter('fileid')));
119
+        }
120
+
121
+        $this->updateQuery->setParameter('newpath', $newPath);
122
+        $this->updateQuery->setParameter('newstorage', $newStorage);
123
+        $this->updateQuery->setParameter('fileid', $fileid, IQueryBuilder::PARAM_INT);
124
+
125
+        $this->updateQuery->execute();
126
+    }
127
+
128
+    private function reparent($from, $to) {
129
+        if (!$this->reparentQuery) {
130
+            $builder = $this->connection->getQueryBuilder();
131
+
132
+            $this->reparentQuery = $builder->update('filecache')
133
+                ->set('parent', $builder->createParameter('to'))
134
+                ->where($builder->expr()->eq('fileid', $builder->createParameter('from')));
135
+        }
136
+
137
+        $this->reparentQuery->setParameter('from', $from);
138
+        $this->reparentQuery->setParameter('to', $to);
139
+
140
+        $this->reparentQuery->execute();
141
+    }
142
+
143
+    private function delete($fileid) {
144
+        if (!$this->deleteQuery) {
145
+            $builder = $this->connection->getQueryBuilder();
146
+
147
+            $this->deleteQuery = $builder->delete('filecache')
148
+                ->where($builder->expr()->eq('fileid', $builder->createParameter('fileid')));
149
+        }
150
+
151
+        $this->deleteQuery->setParameter('fileid', $fileid, IQueryBuilder::PARAM_INT);
152
+
153
+        $this->deleteQuery->execute();
154
+    }
155
+
156
+    private function repair() {
157
+        $this->connection->beginTransaction();
158
+        $entries = $this->getInvalidEntries();
159
+        $count = 0;
160
+        foreach ($entries as $entry) {
161
+            $count++;
162
+            $calculatedPath = $entry['parent_path'] . '/' . $entry['name'];
163
+            if ($newId = $this->getId($entry['parent_storage'], $calculatedPath)) {
164
+                // a new entry with the correct path has already been created, reuse that one and delete the incorrect entry
165
+                $this->reparent($entry['fileid'], $newId);
166
+                $this->delete($entry['fileid']);
167
+            } else {
168
+                $this->update($entry['fileid'], $calculatedPath, $entry['parent_storage']);
169
+            }
170
+        }
171
+        $this->connection->commit();
172
+        return $count;
173
+    }
174
+
175
+    private function shouldRun() {
176
+        $versionFromBeforeUpdate = $this->config->getSystemValue('version', '0.0.0');
177
+
178
+        // was added to 11.0.5.2, 12.0.0.30 and 13.0.0.1
179
+        $shouldRun = version_compare($versionFromBeforeUpdate, '11.0.5.2', '<');
180
+        $shouldRun |= version_compare($versionFromBeforeUpdate, '12.0.0.0', '>=') && version_compare($versionFromBeforeUpdate, '12.0.0.30', '<');
181
+        $shouldRun |= version_compare($versionFromBeforeUpdate, '13.0.0.0', '==');
182
+        return $shouldRun;
183
+    }
184
+
185
+    public function run(IOutput $output) {
186
+        if ($this->shouldRun()) {
187
+            $count = $this->repair();
188
+
189
+            $output->info('Repaired ' . $count . ' paths');
190
+        }
191
+    }
192 192
 }
Please login to merge, or discard this patch.
lib/private/Remote/Credentials.php 1 patch
Indentation   +24 added lines, -24 removed lines patch added patch discarded remove patch
@@ -25,31 +25,31 @@
 block discarded – undo
25 25
 use OCP\Remote\ICredentials;
26 26
 
27 27
 class Credentials implements ICredentials {
28
-	/** @var string */
29
-	private $user;
30
-	/** @var string */
31
-	private $password;
28
+    /** @var string */
29
+    private $user;
30
+    /** @var string */
31
+    private $password;
32 32
 
33
-	/**
34
-	 * @param string $user
35
-	 * @param string $password
36
-	 */
37
-	public function __construct($user, $password) {
38
-		$this->user = $user;
39
-		$this->password = $password;
40
-	}
33
+    /**
34
+     * @param string $user
35
+     * @param string $password
36
+     */
37
+    public function __construct($user, $password) {
38
+        $this->user = $user;
39
+        $this->password = $password;
40
+    }
41 41
 
42
-	/**
43
-	 * @return string
44
-	 */
45
-	public function getUsername() {
46
-		return $this->user;
47
-	}
42
+    /**
43
+     * @return string
44
+     */
45
+    public function getUsername() {
46
+        return $this->user;
47
+    }
48 48
 
49
-	/**
50
-	 * @return string
51
-	 */
52
-	public function getPassword() {
53
-		return $this->password;
54
-	}
49
+    /**
50
+     * @return string
51
+     */
52
+    public function getPassword() {
53
+        return $this->password;
54
+    }
55 55
 }
Please login to merge, or discard this patch.
lib/public/Remote/Api/IUserApi.php 1 patch
Indentation   +7 added lines, -7 removed lines patch added patch discarded remove patch
@@ -27,11 +27,11 @@
 block discarded – undo
27 27
  * @since 13.0.0
28 28
  */
29 29
 interface IUserApi {
30
-	/**
31
-	 * @param string $userId
32
-	 * @return IUser
33
-	 *
34
-	 * @since 13.0.0
35
-	 */
36
-	public function getUser($userId);
30
+    /**
31
+     * @param string $userId
32
+     * @return IUser
33
+     *
34
+     * @since 13.0.0
35
+     */
36
+    public function getUser($userId);
37 37
 }
Please login to merge, or discard this patch.
lib/public/Remote/Api/ICapabilitiesApi.php 1 patch
Indentation   +6 added lines, -6 removed lines patch added patch discarded remove patch
@@ -25,10 +25,10 @@
 block discarded – undo
25 25
  * @since 13.0.0
26 26
  */
27 27
 interface ICapabilitiesApi {
28
-	/**
29
-	 * @return array The capabilities in the form of [$appId => [$capability => $value]]
30
-	 *
31
-	 * @since 13.0.0
32
-	 */
33
-	public function getCapabilities();
28
+    /**
29
+     * @return array The capabilities in the form of [$appId => [$capability => $value]]
30
+     *
31
+     * @since 13.0.0
32
+     */
33
+    public function getCapabilities();
34 34
 }
Please login to merge, or discard this patch.
lib/public/Remote/Api/IApiFactory.php 1 patch
Indentation   +8 added lines, -8 removed lines patch added patch discarded remove patch
@@ -28,12 +28,12 @@
 block discarded – undo
28 28
  * @since 13.0.0
29 29
  */
30 30
 interface IApiFactory {
31
-	/**
32
-	 * @param IInstance $instance
33
-	 * @param ICredentials $credentials
34
-	 * @return IApiCollection
35
-	 *
36
-	 * @since 13.0.0
37
-	 */
38
-	public function getApiCollection(IInstance $instance, ICredentials $credentials);
31
+    /**
32
+     * @param IInstance $instance
33
+     * @param ICredentials $credentials
34
+     * @return IApiCollection
35
+     *
36
+     * @since 13.0.0
37
+     */
38
+    public function getApiCollection(IInstance $instance, ICredentials $credentials);
39 39
 }
Please login to merge, or discard this patch.
lib/public/Remote/Api/IApiCollection.php 1 patch
Indentation   +12 added lines, -12 removed lines patch added patch discarded remove patch
@@ -27,17 +27,17 @@
 block discarded – undo
27 27
  * @since 13.0.0
28 28
  */
29 29
 interface IApiCollection {
30
-	/**
31
-	 * @return IUserApi
32
-	 *
33
-	 * @since 13.0.0
34
-	 */
35
-	public function getUserApi();
30
+    /**
31
+     * @return IUserApi
32
+     *
33
+     * @since 13.0.0
34
+     */
35
+    public function getUserApi();
36 36
 
37
-	/**
38
-	 * @return ICapabilitiesApi
39
-	 *
40
-	 * @since 13.0.0
41
-	 */
42
-	public function getCapabilitiesApi();
37
+    /**
38
+     * @return ICapabilitiesApi
39
+     *
40
+     * @since 13.0.0
41
+     */
42
+    public function getCapabilitiesApi();
43 43
 }
Please login to merge, or discard this patch.