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