Code Duplication    Length = 4-5 lines in 7 locations

lib/Controller/PaperHiveController.php 7 locations

@@ 120-123 (lines=4) @@
117
	 */
118
	public function getPaperHiveBookURL($dir, $filename) {
119
		$bookId = $this->getBookIdforPath($dir, $filename);
120
		if (!$bookId) {
121
			$message = (string)$this->l->t('No such document found in database.');
122
			return new DataResponse(['message' => $message], Http::STATUS_BAD_REQUEST);
123
		}
124
		return new DataResponse($this->paperhive_base_url . $this->paperhive_base_document_url . $bookId, Http::STATUS_OK);
125
	}
126
@@ 212-215 (lines=4) @@
209
	public function generatePaperHiveDocument($dir, $bookID) {
210
		// Try to get the document
211
		$paperHiveObjectString = $this->fetchDocument($bookID);
212
		if ($paperHiveObjectString === false) {
213
			$message = (string)$this->l->t('Problem connecting to PaperHive.');
214
			return new DataResponse(['message' => $message], Http::STATUS_BAD_REQUEST);
215
		}
216
		$paperHiveObject = json_decode($paperHiveObjectString, true);
217
218
		// Check if correct response has been returned
@@ 219-222 (lines=4) @@
216
		$paperHiveObject = json_decode($paperHiveObjectString, true);
217
218
		// Check if correct response has been returned
219
		if (json_last_error() != JSON_ERROR_NONE) {
220
			$message = (string)$this->l->t('Received wrong response from PaperHive.');
221
			return new DataResponse(['message' => $message], Http::STATUS_BAD_REQUEST);
222
		}
223
224
		// Check if document is found
225
		if (!(isset($paperHiveObject['metadata']) && isset($paperHiveObject['metadata']['title']))) {
@@ 233-236 (lines=4) @@
230
		// Try fetching discussions
231
		$paperHiveDiscussionsString = $this->fetchDiscussions($bookID);
232
		$paperHiveDiscussions = json_decode($paperHiveDiscussionsString, true);
233
		if ($paperHiveDiscussionsString === false || json_last_error() != JSON_ERROR_NONE) {
234
			$message = (string)$this->l->t('Problem connecting to PaperHive to fetch discussions.');
235
			return new DataResponse(['message' => $message], Http::STATUS_BAD_REQUEST);
236
		}
237
		$discussionCount = -1;
238
		if (json_last_error() === JSON_ERROR_NONE && isset($paperHiveDiscussions['discussions'])) {
239
			$discussionCount = count($paperHiveDiscussions['discussions']);
@@ 252-255 (lines=4) @@
249
		}
250
251
		$exists = $this->view->file_exists($path);
252
		if ($exists) {
253
			$message = (string) $this->l->t('The file already exists.');
254
			return new DataResponse(['message' => $message], Http::STATUS_BAD_REQUEST);
255
		}
256
257
		try {
258
			$created = $this->view->touch($path);
@@ 259-262 (lines=4) @@
256
257
		try {
258
			$created = $this->view->touch($path);
259
			if(!$created) {
260
				$message = (string) $this->l->t('Could not save document.');
261
				return new DataResponse(['message' => $message], Http::STATUS_BAD_REQUEST);
262
			}
263
264
			$fileInfo = $this->view->getFileInfo($path);
265
			$inserted = $this->paperHiveMetadata->insertBookID($fileInfo['fileid'], $bookID);
@@ 266-270 (lines=5) @@
263
264
			$fileInfo = $this->view->getFileInfo($path);
265
			$inserted = $this->paperHiveMetadata->insertBookID($fileInfo['fileid'], $bookID);
266
			if(!$inserted) {
267
				$this->view->unlink($path);
268
				$message = (string) $this->l->t('Could not save document metadata.');
269
				return new DataResponse(['message' => $message], Http::STATUS_BAD_REQUEST);
270
			}
271
		} catch (LockedException $e) {
272
			$message = (string) $this->l->t('The file is locked.');
273
			return new DataResponse(['message' => $message], Http::STATUS_BAD_REQUEST);