Passed
Push — master ( ee5902...38cbd1 )
by Roeland
21:13 queued 09:21
created
apps/files_sharing/lib/ShareBackend/File.php 1 patch
Indentation   +196 added lines, -196 removed lines patch added patch discarded remove patch
@@ -38,219 +38,219 @@
 block discarded – undo
38 38
 use OCA\FederatedFileSharing\FederatedShareProvider;
39 39
 
40 40
 class File implements \OCP\Share_Backend_File_Dependent {
41
-	public const FORMAT_SHARED_STORAGE = 0;
42
-	public const FORMAT_GET_FOLDER_CONTENTS = 1;
43
-	public const FORMAT_FILE_APP_ROOT = 2;
44
-	public const FORMAT_OPENDIR = 3;
45
-	public const FORMAT_GET_ALL = 4;
46
-	public const FORMAT_PERMISSIONS = 5;
47
-	public const FORMAT_TARGET_NAMES = 6;
41
+    public const FORMAT_SHARED_STORAGE = 0;
42
+    public const FORMAT_GET_FOLDER_CONTENTS = 1;
43
+    public const FORMAT_FILE_APP_ROOT = 2;
44
+    public const FORMAT_OPENDIR = 3;
45
+    public const FORMAT_GET_ALL = 4;
46
+    public const FORMAT_PERMISSIONS = 5;
47
+    public const FORMAT_TARGET_NAMES = 6;
48 48
 
49
-	private $path;
49
+    private $path;
50 50
 
51
-	/** @var FederatedShareProvider */
52
-	private $federatedShareProvider;
51
+    /** @var FederatedShareProvider */
52
+    private $federatedShareProvider;
53 53
 
54
-	public function __construct(FederatedShareProvider $federatedShareProvider = null) {
55
-		if ($federatedShareProvider) {
56
-			$this->federatedShareProvider = $federatedShareProvider;
57
-		} else {
58
-			$federatedSharingApp = \OC::$server->query(Application::class);
59
-			$this->federatedShareProvider = $federatedSharingApp->getFederatedShareProvider();
60
-		}
61
-	}
54
+    public function __construct(FederatedShareProvider $federatedShareProvider = null) {
55
+        if ($federatedShareProvider) {
56
+            $this->federatedShareProvider = $federatedShareProvider;
57
+        } else {
58
+            $federatedSharingApp = \OC::$server->query(Application::class);
59
+            $this->federatedShareProvider = $federatedSharingApp->getFederatedShareProvider();
60
+        }
61
+    }
62 62
 
63
-	public function isValidSource($itemSource, $uidOwner) {
64
-		try {
65
-			$path = \OC\Files\Filesystem::getPath($itemSource);
66
-			// FIXME: attributes should not be set here,
67
-			// keeping this pattern for now to avoid unexpected
68
-			// regressions
69
-			$this->path = \OC\Files\Filesystem::normalizePath(basename($path));
70
-			return true;
71
-		} catch (\OCP\Files\NotFoundException $e) {
72
-			return false;
73
-		}
74
-	}
63
+    public function isValidSource($itemSource, $uidOwner) {
64
+        try {
65
+            $path = \OC\Files\Filesystem::getPath($itemSource);
66
+            // FIXME: attributes should not be set here,
67
+            // keeping this pattern for now to avoid unexpected
68
+            // regressions
69
+            $this->path = \OC\Files\Filesystem::normalizePath(basename($path));
70
+            return true;
71
+        } catch (\OCP\Files\NotFoundException $e) {
72
+            return false;
73
+        }
74
+    }
75 75
 
76
-	public function getFilePath($itemSource, $uidOwner) {
77
-		if (isset($this->path)) {
78
-			$path = $this->path;
79
-			$this->path = null;
80
-			return $path;
81
-		} else {
82
-			try {
83
-				$path = \OC\Files\Filesystem::getPath($itemSource);
84
-				return $path;
85
-			} catch (\OCP\Files\NotFoundException $e) {
86
-				return false;
87
-			}
88
-		}
89
-	}
76
+    public function getFilePath($itemSource, $uidOwner) {
77
+        if (isset($this->path)) {
78
+            $path = $this->path;
79
+            $this->path = null;
80
+            return $path;
81
+        } else {
82
+            try {
83
+                $path = \OC\Files\Filesystem::getPath($itemSource);
84
+                return $path;
85
+            } catch (\OCP\Files\NotFoundException $e) {
86
+                return false;
87
+            }
88
+        }
89
+    }
90 90
 
91
-	/**
92
-	 * create unique target
93
-	 * @param string $filePath
94
-	 * @param string $shareWith
95
-	 * @param array $exclude (optional)
96
-	 * @return string
97
-	 */
98
-	public function generateTarget($filePath, $shareWith, $exclude = null) {
99
-		$shareFolder = \OCA\Files_Sharing\Helper::getShareFolder();
100
-		$target = \OC\Files\Filesystem::normalizePath($shareFolder . '/' . basename($filePath));
91
+    /**
92
+     * create unique target
93
+     * @param string $filePath
94
+     * @param string $shareWith
95
+     * @param array $exclude (optional)
96
+     * @return string
97
+     */
98
+    public function generateTarget($filePath, $shareWith, $exclude = null) {
99
+        $shareFolder = \OCA\Files_Sharing\Helper::getShareFolder();
100
+        $target = \OC\Files\Filesystem::normalizePath($shareFolder . '/' . basename($filePath));
101 101
 
102
-		// for group shares we return the target right away
103
-		if ($shareWith === false) {
104
-			return $target;
105
-		}
102
+        // for group shares we return the target right away
103
+        if ($shareWith === false) {
104
+            return $target;
105
+        }
106 106
 
107
-		\OC\Files\Filesystem::initMountPoints($shareWith);
108
-		$view = new \OC\Files\View('/' . $shareWith . '/files');
107
+        \OC\Files\Filesystem::initMountPoints($shareWith);
108
+        $view = new \OC\Files\View('/' . $shareWith . '/files');
109 109
 
110
-		if (!$view->is_dir($shareFolder)) {
111
-			$dir = '';
112
-			$subdirs = explode('/', $shareFolder);
113
-			foreach ($subdirs as $subdir) {
114
-				$dir = $dir . '/' . $subdir;
115
-				if (!$view->is_dir($dir)) {
116
-					$view->mkdir($dir);
117
-				}
118
-			}
119
-		}
110
+        if (!$view->is_dir($shareFolder)) {
111
+            $dir = '';
112
+            $subdirs = explode('/', $shareFolder);
113
+            foreach ($subdirs as $subdir) {
114
+                $dir = $dir . '/' . $subdir;
115
+                if (!$view->is_dir($dir)) {
116
+                    $view->mkdir($dir);
117
+                }
118
+            }
119
+        }
120 120
 
121
-		$excludeList = is_array($exclude) ? $exclude : [];
121
+        $excludeList = is_array($exclude) ? $exclude : [];
122 122
 
123
-		return \OCA\Files_Sharing\Helper::generateUniqueTarget($target, $excludeList, $view);
124
-	}
123
+        return \OCA\Files_Sharing\Helper::generateUniqueTarget($target, $excludeList, $view);
124
+    }
125 125
 
126
-	public function formatItems($items, $format, $parameters = null) {
127
-		if ($format === self::FORMAT_SHARED_STORAGE) {
128
-			// Only 1 item should come through for this format call
129
-			$item = array_shift($items);
130
-			return [
131
-				'parent' => $item['parent'],
132
-				'path' => $item['path'],
133
-				'storage' => $item['storage'],
134
-				'permissions' => $item['permissions'],
135
-				'uid_owner' => $item['uid_owner'],
136
-			];
137
-		} elseif ($format === self::FORMAT_GET_FOLDER_CONTENTS) {
138
-			$files = [];
139
-			foreach ($items as $item) {
140
-				$file = [];
141
-				$file['fileid'] = $item['file_source'];
142
-				$file['storage'] = $item['storage'];
143
-				$file['path'] = $item['file_target'];
144
-				$file['parent'] = $item['file_parent'];
145
-				$file['name'] = basename($item['file_target']);
146
-				$file['mimetype'] = $item['mimetype'];
147
-				$file['mimepart'] = $item['mimepart'];
148
-				$file['mtime'] = $item['mtime'];
149
-				$file['encrypted'] = $item['encrypted'];
150
-				$file['etag'] = $item['etag'];
151
-				$file['uid_owner'] = $item['uid_owner'];
152
-				$file['displayname_owner'] = $item['displayname_owner'];
126
+    public function formatItems($items, $format, $parameters = null) {
127
+        if ($format === self::FORMAT_SHARED_STORAGE) {
128
+            // Only 1 item should come through for this format call
129
+            $item = array_shift($items);
130
+            return [
131
+                'parent' => $item['parent'],
132
+                'path' => $item['path'],
133
+                'storage' => $item['storage'],
134
+                'permissions' => $item['permissions'],
135
+                'uid_owner' => $item['uid_owner'],
136
+            ];
137
+        } elseif ($format === self::FORMAT_GET_FOLDER_CONTENTS) {
138
+            $files = [];
139
+            foreach ($items as $item) {
140
+                $file = [];
141
+                $file['fileid'] = $item['file_source'];
142
+                $file['storage'] = $item['storage'];
143
+                $file['path'] = $item['file_target'];
144
+                $file['parent'] = $item['file_parent'];
145
+                $file['name'] = basename($item['file_target']);
146
+                $file['mimetype'] = $item['mimetype'];
147
+                $file['mimepart'] = $item['mimepart'];
148
+                $file['mtime'] = $item['mtime'];
149
+                $file['encrypted'] = $item['encrypted'];
150
+                $file['etag'] = $item['etag'];
151
+                $file['uid_owner'] = $item['uid_owner'];
152
+                $file['displayname_owner'] = $item['displayname_owner'];
153 153
 
154
-				$storage = \OC\Files\Filesystem::getStorage('/');
155
-				$cache = $storage->getCache();
156
-				$file['size'] = $item['size'];
157
-				$files[] = $file;
158
-			}
159
-			return $files;
160
-		} elseif ($format === self::FORMAT_OPENDIR) {
161
-			$files = [];
162
-			foreach ($items as $item) {
163
-				$files[] = basename($item['file_target']);
164
-			}
165
-			return $files;
166
-		} elseif ($format === self::FORMAT_GET_ALL) {
167
-			$ids = [];
168
-			foreach ($items as $item) {
169
-				$ids[] = $item['file_source'];
170
-			}
171
-			return $ids;
172
-		} elseif ($format === self::FORMAT_PERMISSIONS) {
173
-			$filePermissions = [];
174
-			foreach ($items as $item) {
175
-				$filePermissions[$item['file_source']] = $item['permissions'];
176
-			}
177
-			return $filePermissions;
178
-		} elseif ($format === self::FORMAT_TARGET_NAMES) {
179
-			$targets = [];
180
-			foreach ($items as $item) {
181
-				$targets[] = $item['file_target'];
182
-			}
183
-			return $targets;
184
-		}
185
-		return [];
186
-	}
154
+                $storage = \OC\Files\Filesystem::getStorage('/');
155
+                $cache = $storage->getCache();
156
+                $file['size'] = $item['size'];
157
+                $files[] = $file;
158
+            }
159
+            return $files;
160
+        } elseif ($format === self::FORMAT_OPENDIR) {
161
+            $files = [];
162
+            foreach ($items as $item) {
163
+                $files[] = basename($item['file_target']);
164
+            }
165
+            return $files;
166
+        } elseif ($format === self::FORMAT_GET_ALL) {
167
+            $ids = [];
168
+            foreach ($items as $item) {
169
+                $ids[] = $item['file_source'];
170
+            }
171
+            return $ids;
172
+        } elseif ($format === self::FORMAT_PERMISSIONS) {
173
+            $filePermissions = [];
174
+            foreach ($items as $item) {
175
+                $filePermissions[$item['file_source']] = $item['permissions'];
176
+            }
177
+            return $filePermissions;
178
+        } elseif ($format === self::FORMAT_TARGET_NAMES) {
179
+            $targets = [];
180
+            foreach ($items as $item) {
181
+                $targets[] = $item['file_target'];
182
+            }
183
+            return $targets;
184
+        }
185
+        return [];
186
+    }
187 187
 
188
-	/**
189
-	 * check if server2server share is enabled
190
-	 *
191
-	 * @param int $shareType
192
-	 * @return boolean
193
-	 */
194
-	public function isShareTypeAllowed($shareType) {
195
-		if ($shareType === \OCP\Share::SHARE_TYPE_REMOTE) {
196
-			return $this->federatedShareProvider->isOutgoingServer2serverShareEnabled();
197
-		}
188
+    /**
189
+     * check if server2server share is enabled
190
+     *
191
+     * @param int $shareType
192
+     * @return boolean
193
+     */
194
+    public function isShareTypeAllowed($shareType) {
195
+        if ($shareType === \OCP\Share::SHARE_TYPE_REMOTE) {
196
+            return $this->federatedShareProvider->isOutgoingServer2serverShareEnabled();
197
+        }
198 198
 
199
-		if ($shareType === \OCP\Share::SHARE_TYPE_REMOTE_GROUP) {
200
-			return $this->federatedShareProvider->isOutgoingServer2serverGroupShareEnabled();
201
-		}
199
+        if ($shareType === \OCP\Share::SHARE_TYPE_REMOTE_GROUP) {
200
+            return $this->federatedShareProvider->isOutgoingServer2serverGroupShareEnabled();
201
+        }
202 202
 
203
-		return true;
204
-	}
203
+        return true;
204
+    }
205 205
 
206
-	/**
207
-	 * resolve reshares to return the correct source item
208
-	 * @param array $source
209
-	 * @return array source item
210
-	 */
211
-	protected static function resolveReshares($source) {
212
-		if (isset($source['parent'])) {
213
-			$parent = $source['parent'];
214
-			while (isset($parent)) {
215
-				$qb = \OC::$server->getDatabaseConnection()->getQueryBuilder();
216
-				$qb->select('parent', 'uid_owner')
217
-					->from('share')
218
-					->where(
219
-						$qb->expr()->eq('id', $qb->createNamedParameter($parent))
220
-					);
221
-				$result = $qb->execute();
222
-				$item = $result->fetch();
223
-				$result->closeCursor();
224
-				if (isset($item['parent'])) {
225
-					$parent = $item['parent'];
226
-				} else {
227
-					$fileOwner = $item['uid_owner'];
228
-					break;
229
-				}
230
-			}
231
-		} else {
232
-			$fileOwner = $source['uid_owner'];
233
-		}
234
-		if (isset($fileOwner)) {
235
-			$source['fileOwner'] = $fileOwner;
236
-		} else {
237
-			\OC::$server->getLogger()->error('No owner found for reshare', ['app' => 'files_sharing']);
238
-		}
206
+    /**
207
+     * resolve reshares to return the correct source item
208
+     * @param array $source
209
+     * @return array source item
210
+     */
211
+    protected static function resolveReshares($source) {
212
+        if (isset($source['parent'])) {
213
+            $parent = $source['parent'];
214
+            while (isset($parent)) {
215
+                $qb = \OC::$server->getDatabaseConnection()->getQueryBuilder();
216
+                $qb->select('parent', 'uid_owner')
217
+                    ->from('share')
218
+                    ->where(
219
+                        $qb->expr()->eq('id', $qb->createNamedParameter($parent))
220
+                    );
221
+                $result = $qb->execute();
222
+                $item = $result->fetch();
223
+                $result->closeCursor();
224
+                if (isset($item['parent'])) {
225
+                    $parent = $item['parent'];
226
+                } else {
227
+                    $fileOwner = $item['uid_owner'];
228
+                    break;
229
+                }
230
+            }
231
+        } else {
232
+            $fileOwner = $source['uid_owner'];
233
+        }
234
+        if (isset($fileOwner)) {
235
+            $source['fileOwner'] = $fileOwner;
236
+        } else {
237
+            \OC::$server->getLogger()->error('No owner found for reshare', ['app' => 'files_sharing']);
238
+        }
239 239
 
240
-		return $source;
241
-	}
240
+        return $source;
241
+    }
242 242
 
243
-	/**
244
-	 * @param string $target
245
-	 * @param array $share
246
-	 * @return array|false source item
247
-	 */
248
-	public static function getSource($target, $share) {
249
-		if ($share['item_type'] === 'folder' && $target !== '') {
250
-			// note: in case of ext storage mount points the path might be empty
251
-			// which would cause a leading slash to appear
252
-			$share['path'] = ltrim($share['path'] . '/' . $target, '/');
253
-		}
254
-		return self::resolveReshares($share);
255
-	}
243
+    /**
244
+     * @param string $target
245
+     * @param array $share
246
+     * @return array|false source item
247
+     */
248
+    public static function getSource($target, $share) {
249
+        if ($share['item_type'] === 'folder' && $target !== '') {
250
+            // note: in case of ext storage mount points the path might be empty
251
+            // which would cause a leading slash to appear
252
+            $share['path'] = ltrim($share['path'] . '/' . $target, '/');
253
+        }
254
+        return self::resolveReshares($share);
255
+    }
256 256
 }
Please login to merge, or discard this patch.