diff --git a/CHANGELOG.md b/CHANGELOG.md
index 9db56e13..9fecb282 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 ceccf6d2..62f37eda 100644
--- a/appinfo/info.xml
+++ b/appinfo/info.xml
@@ -7,7 +7,7 @@
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.
AGPL
Ascensio System SIA
- 1.0.2
+ 1.0.3
Onlyoffice
@@ -28,7 +28,7 @@
https://raw.githubusercontent.com/ONLYOFFICE/onlyoffice-owncloud/master/screenshots/open.png
https://raw.githubusercontent.com/ONLYOFFICE/onlyoffice-owncloud/master/screenshots/settings.png
-
+
diff --git a/controller/callbackcontroller.php b/controller/callbackcontroller.php
index f69901fa..a749013a 100644
--- a/controller/callbackcontroller.php
+++ b/controller/callbackcontroller.php
@@ -158,9 +158,9 @@ public function __construct($AppName,
*/
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 @@ public function download($doc) {
*/
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 @@ public function track($doc, $users, $key, $status, $url) {
break;
case "Editing":
+ case "Closed":
$error = 0;
break;
}
diff --git a/controller/settingscontroller.php b/controller/settingscontroller.php
index 33290b84..6366d2e2 100644
--- a/controller/settingscontroller.php
+++ b/controller/settingscontroller.php
@@ -145,6 +145,10 @@ private function checkDocServiceUrl() {
$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 11c0f55a..7ab7a2ae 100644
--- a/lib/adminsettings.php
+++ b/lib/adminsettings.php
@@ -39,7 +39,25 @@ public function __construct() {
}
/**
- * 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 @@ public function getForm() {
}
/**
- * Get section ID
+ * Get section ID (Nextcloud)
*
* @return string
*/
diff --git a/lib/crypt.php b/lib/crypt.php
index 14222d28..a83a723e 100644
--- a/lib/crypt.php
+++ b/lib/crypt.php
@@ -71,8 +71,9 @@ public function GetHash($object) {
*/
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 @@ public function ReadHash($hash) {
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 a0c01404..71f0f6f7 100644
--- a/lib/documentservice.php
+++ b/lib/documentservice.php
@@ -216,41 +216,41 @@ function SendRequestToConvertService($document_uri, $from_extension, $to_extensi
* @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 @@ function CommandRequest($method) {
* @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;
}