Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/ONLYOFFICE/onlyoffice-nextcloud.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Linnik <sergey.linnik@onlyoffice.com>2020-09-10 10:59:02 +0300
committerSergey Linnik <sergey.linnik@onlyoffice.com>2020-09-15 11:26:35 +0300
commitf8c77e190fcaa928145adcd6d379028b6e86aebe (patch)
treee2a1fafc440acc7f1d6605acc4c76b1c64612e57
parent41c15da4dd9ac15a82ffe7c5fa1885140bfebe90 (diff)
forcesave setting
-rw-r--r--controller/editorcontroller.php8
-rw-r--r--controller/settingscontroller.php4
-rw-r--r--js/settings.js2
-rw-r--r--lib/appconfig.php27
-rw-r--r--templates/settings.php10
5 files changed, 47 insertions, 4 deletions
diff --git a/controller/editorcontroller.php b/controller/editorcontroller.php
index 19ea1ca..df6835c 100644
--- a/controller/editorcontroller.php
+++ b/controller/editorcontroller.php
@@ -868,9 +868,6 @@ class EditorController extends Controller {
],
"documentType" => $format["type"],
"editorConfig" => [
- "customization" => [
- "forcesave" => true
- ],
"lang" => str_replace("_", "-", \OC::$server->getL10NFactory("")->get("")->getLanguageCode()),
"region" => str_replace("_", "-", \OC::$server->getL10NFactory("")->findLocale())
]
@@ -1107,6 +1104,11 @@ class EditorController extends Controller {
$params["editorConfig"]["customization"]["feedback"] = true;
}
+ //default is false
+ if ($this->config->GetCustomizationForcesave() === true) {
+ $params["editorConfig"]["customization"]["forcesave"] = true;
+ }
+
//default is true
if ($this->config->GetCustomizationHelp() === false) {
$params["editorConfig"]["customization"]["help"] = false;
diff --git a/controller/settingscontroller.php b/controller/settingscontroller.php
index 0fc88e1..654248b 100644
--- a/controller/settingscontroller.php
+++ b/controller/settingscontroller.php
@@ -117,6 +117,7 @@ class SettingsController extends Controller {
"chat" => $this->config->GetCustomizationChat(),
"compactHeader" => $this->config->GetCustomizationCompactHeader(),
"feedback" => $this->config->GetCustomizationFeedback(),
+ "forcesave" => $this->config->GetCustomizationForcesave(),
"help" => $this->config->GetCustomizationHelp(),
"toolbarNoTabs" => $this->config->GetCustomizationToolbarNoTabs(),
"successful" => $this->config->SettingsAreSuccessful(),
@@ -188,6 +189,7 @@ class SettingsController extends Controller {
* @param bool $chat - display chat
* @param bool $compactHeader - display compact header
* @param bool $feedback - display feedback
+ * @param bool $forcesave - forcesave
* @param bool $help - display help
* @param bool $toolbarNoTabs - display toolbar tab
* @param string $reviewDisplay - review viewing mode
@@ -201,6 +203,7 @@ class SettingsController extends Controller {
$chat,
$compactHeader,
$feedback,
+ $forcesave,
$help,
$toolbarNoTabs,
$reviewDisplay
@@ -213,6 +216,7 @@ class SettingsController extends Controller {
$this->config->SetCustomizationChat($chat);
$this->config->SetCustomizationCompactHeader($compactHeader);
$this->config->SetCustomizationFeedback($feedback);
+ $this->config->SetCustomizationForcesave($forcesave);
$this->config->SetCustomizationHelp($help);
$this->config->SetCustomizationToolbarNoTabs($toolbarNoTabs);
$this->config->SetCustomizationReviewDisplay($reviewDisplay);
diff --git a/js/settings.js b/js/settings.js
index 1ac8d61..1c1a7ed 100644
--- a/js/settings.js
+++ b/js/settings.js
@@ -197,6 +197,7 @@
var chat = $("#onlyofficeChat").is(":checked");
var compactHeader = $("#onlyofficeCompactHeader").is(":checked");
var feedback = $("#onlyofficeFeedback").is(":checked");
+ var forcesave = $("#onlyofficeForcesave").is(":checked");
var help = $("#onlyofficeHelp").is(":checked");
var toolbarNoTabs = !$("#onlyofficeToolbarNoTabs").is(":checked");
var reviewDisplay = $("input[type='radio'][name='reviewDisplay']:checked").attr("id").replace("onlyofficeReviewDisplay_", "");
@@ -212,6 +213,7 @@
chat: chat,
compactHeader: compactHeader,
feedback: feedback,
+ forcesave: forcesave,
help: help,
toolbarNoTabs: toolbarNoTabs,
reviewDisplay: reviewDisplay
diff --git a/lib/appconfig.php b/lib/appconfig.php
index e0a51d7..36479ac 100644
--- a/lib/appconfig.php
+++ b/lib/appconfig.php
@@ -131,6 +131,13 @@ class AppConfig {
private $_customizationFeedback = "customizationFeedback";
/**
+ * The config key for the forcesave setting
+ *
+ * @var string
+ */
+ private $_customizationForcesave = "customizationForcesave";
+
+ /**
* The config key for the help display setting
*
* @var string
@@ -659,6 +666,26 @@ class AppConfig {
}
/**
+ * Save forcesave setting
+ *
+ * @param bool $value - forcesave
+ */
+ public function SetCustomizationForcesave($value) {
+ $this->logger->info("Set forcesave: " . json_encode($value), ["app" => $this->appName]);
+
+ $this->config->setAppValue($this->appName, $this->_customizationForcesave, json_encode($value));
+ }
+
+ /**
+ * Get forcesave setting
+ *
+ * @return bool
+ */
+ public function GetCustomizationForcesave() {
+ return $this->config->getAppValue($this->appName, $this->_customizationForcesave, "false") === "true";
+ }
+
+ /**
* Save help display setting
*
* @param bool $value - display help
diff --git a/templates/settings.php b/templates/settings.php
index 2b4ab7f..ea0e913 100644
--- a/templates/settings.php
+++ b/templates/settings.php
@@ -144,7 +144,15 @@
<a target="_blank" class="icon-info svg" title="" href="https://api.onlyoffice.com/editors/config/editor/customization" data-original-title="<?php p($l->t("View details")) ?>"></a>
</h3>
- <p><?php p($l->t("The customization section allows personalizing the editor interface")) ?></p>
+ <p>
+ <input type="checkbox" class="checkbox" id="onlyofficeForcesave"
+ <?php if ($_["forcesave"]) { ?>checked="checked"<?php } ?> />
+ <label for="onlyofficeForcesave"><?php p($l->t("Keep intermediate versions when editing")) ?></label>
+ </p>
+
+ <p class="onlyoffice-header">
+ <?php p($l->t("The customization section allows personalizing the editor interface")) ?>
+ </p>
<p>
<input type="checkbox" class="checkbox" id="onlyofficeChat"