diff options
-rw-r--r-- | CHANGELOG.md | 3 | ||||
-rw-r--r-- | appinfo/info.xml | 4 | ||||
-rw-r--r-- | controller/callbackcontroller.php | 9 | ||||
-rw-r--r-- | controller/settingscontroller.php | 4 | ||||
-rw-r--r-- | lib/adminsettings.php | 22 | ||||
-rw-r--r-- | lib/crypt.php | 8 | ||||
-rw-r--r-- | lib/documentservice.php | 32 |
7 files changed, 56 insertions, 26 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index 9db56e1..9fecb28 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,8 @@ # Change Log +## 1.0.3 +- compatible with ownCloud 10 + ## 1.0.2 ### Added - logging diff --git a/appinfo/info.xml b/appinfo/info.xml index ceccf6d..62f37ed 100644 --- a/appinfo/info.xml +++ b/appinfo/info.xml @@ -7,7 +7,7 @@ <description>ONLYOFFICE integration app enables users to edit Office documents within ONLYOFFICE from OwnCloud. This will create a new Open in ONLYOFFICE action within the document library for Office documents. This allows multiple users to collaborate in real time and to save back those changes to OwnCloud.</description> <licence>AGPL</licence> <author>Ascensio System SIA</author> - <version>1.0.2</version> + <version>1.0.3</version> <namespace>Onlyoffice</namespace> <types> <filesystem/> @@ -28,7 +28,7 @@ <screenshot>https://raw.githubusercontent.com/ONLYOFFICE/onlyoffice-owncloud/master/screenshots/open.png</screenshot> <screenshot>https://raw.githubusercontent.com/ONLYOFFICE/onlyoffice-owncloud/master/screenshots/settings.png</screenshot> <dependencies> - <owncloud min-version="9.0" max-version="9.2" /> + <owncloud min-version="9.0" max-version="10.0" /> <nextcloud min-version="11" max-version="11"/> </dependencies> <settings> diff --git a/controller/callbackcontroller.php b/controller/callbackcontroller.php index f69901f..a749013 100644 --- a/controller/callbackcontroller.php +++ b/controller/callbackcontroller.php @@ -158,9 +158,9 @@ class CallbackController extends Controller { */ public function download($doc) { - $hashData = $this->crypt->ReadHash($doc); + list ($hashData, $error) = $this->crypt->ReadHash($doc); if ($hashData === NULL) { - $this->logger->info("Download with empty or not correct hash", array("app" => $this->appName)); + $this->logger->info("Download with empty or not correct hash: " . $error, array("app" => $this->appName)); return new JSONResponse(["message" => $this->trans->t("Access deny")], Http::STATUS_FORBIDDEN); } if ($hashData->action !== "download") { @@ -209,9 +209,9 @@ class CallbackController extends Controller { */ public function track($doc, $users, $key, $status, $url) { - $hashData = $this->crypt->ReadHash($doc); + list ($hashData, $error) = $this->crypt->ReadHash($doc); if ($hashData === NULL) { - $this->logger->info("Track with empty or not correct hash", array("app" => $this->appName)); + $this->logger->info("Track with empty or not correct hash: " . $error, array("app" => $this->appName)); return new JSONResponse(["message" => $this->trans->t("Access deny")], Http::STATUS_FORBIDDEN); } if ($hashData->action !== "track") { @@ -269,6 +269,7 @@ class CallbackController extends Controller { break; case "Editing": + case "Closed": $error = 0; break; } diff --git a/controller/settingscontroller.php b/controller/settingscontroller.php index 33290b8..6366d2e 100644 --- a/controller/settingscontroller.php +++ b/controller/settingscontroller.php @@ -145,6 +145,10 @@ class SettingsController extends Controller { $this->logger->debug("CommandRequest on check: " . json_encode($commandResponse), array("app" => $this->appName)); + if (empty($commandResponse)) { + throw new \Exception($this->trans->t("Error occurred in the document service")); + } + $version = floatval($commandResponse->version); if ($version < 4.2) { throw new \Exception($this->trans->t("Not supported version")); diff --git a/lib/adminsettings.php b/lib/adminsettings.php index 11c0f55..7ab7a2a 100644 --- a/lib/adminsettings.php +++ b/lib/adminsettings.php @@ -39,7 +39,25 @@ class AdminSettings implements ISettings { } /** - * Print config section + * Print config section (ownCloud 10) + * + * @return TemplateResponse + */ + public function getPanel() { + return $this->getForm(); + } + + /** + * Get section ID (ownCloud 10) + * + * @return string + */ + public function getSectionID() { + return "general"; + } + + /** + * Print config section (Nextcloud) * * @return TemplateResponse */ @@ -51,7 +69,7 @@ class AdminSettings implements ISettings { } /** - * Get section ID + * Get section ID (Nextcloud) * * @return string */ diff --git a/lib/crypt.php b/lib/crypt.php index 14222d2..a83a723 100644 --- a/lib/crypt.php +++ b/lib/crypt.php @@ -71,8 +71,9 @@ class Crypt { */ public function ReadHash($hash) { $result = NULL; + $error = NULL; if ($hash === NULL) { - return $result; + return [$result, "hash is empty"]; } try { $payload = base64_decode($hash); @@ -82,10 +83,13 @@ class Crypt { if ($payloadParts[0] === $encode) { $result = json_decode($payloadParts[1]); + } else { + $error = "hash not equal"; } } catch (\Exception $e) { + $error = $e->getMessage(); } - return $result; + return [$result, $error]; } /** diff --git a/lib/documentservice.php b/lib/documentservice.php index a0c0140..71f0f6f 100644 --- a/lib/documentservice.php +++ b/lib/documentservice.php @@ -216,41 +216,41 @@ class DocumentService { * @return null */ function ProcessConvServResponceError($errorCode) { - $errorMessageTemplate = $this->trans->t("Error occurred in the document service: "); + $errorMessageTemplate = $this->trans->t("Error occurred in the document service"); $errorMessage = ""; switch ($errorCode) { case -20: - $errorMessage = $errorMessageTemplate . "Error encrypt signature"; + $errorMessage = $errorMessageTemplate . ": Error encrypt signature"; break; case -8: - $errorMessage = $errorMessageTemplate . "Invalid token"; + $errorMessage = $errorMessageTemplate . ": Invalid token"; break; case -7: - $errorMessage = $errorMessageTemplate . "Error document request"; + $errorMessage = $errorMessageTemplate . ": Error document request"; break; case -6: - $errorMessage = $errorMessageTemplate . "Error while accessing the conversion result database"; + $errorMessage = $errorMessageTemplate . ": Error while accessing the conversion result database"; break; case -5: - $errorMessage = $errorMessageTemplate . "Error unexpected guid"; + $errorMessage = $errorMessageTemplate . ": Error unexpected guid"; break; case -4: - $errorMessage = $errorMessageTemplate . "Error while downloading the document file to be converted."; + $errorMessage = $errorMessageTemplate . ": Error while downloading the document file to be converted."; break; case -3: - $errorMessage = $errorMessageTemplate . "Conversion error"; + $errorMessage = $errorMessageTemplate . ": Conversion error"; break; case -2: - $errorMessage = $errorMessageTemplate . "Timeout conversion error"; + $errorMessage = $errorMessageTemplate . ": Timeout conversion error"; break; case -1: - $errorMessage = $errorMessageTemplate . "Unknown error"; + $errorMessage = $errorMessageTemplate . ": Unknown error"; break; case 0: break; default: - $errorMessage = $errorMessageTemplate . "ErrorCode = " . $errorCode; + $errorMessage = $errorMessageTemplate . ": ErrorCode = " . $errorCode; break; } @@ -321,23 +321,23 @@ class DocumentService { * @return null */ function ProcessCommandServResponceError($errorCode) { - $errorMessageTemplate = $this->trans->t("Error occurred in the document service: "); + $errorMessageTemplate = $this->trans->t("Error occurred in the document service"); $errorMessage = ""; switch ($errorCode) { case 6: - $errorMessage = $errorMessageTemplate . "Invalid token"; + $errorMessage = $errorMessageTemplate . ": Invalid token"; break; case 5: - $errorMessage = $errorMessageTemplate . "Command not correсt"; + $errorMessage = $errorMessageTemplate . ": Command not correсt"; break; case 3: - $errorMessage = $errorMessageTemplate . "Internal server error"; + $errorMessage = $errorMessageTemplate . ": Internal server error"; break; case 0: return; default: - $errorMessage = $errorMessageTemplate . "ErrorCode = " . $errorCode; + $errorMessage = $errorMessageTemplate . ": ErrorCode = " . $errorCode; break; } |