diff options
author | Sergey Linnik <sergey.linnik@onlyoffice.com> | 2020-09-10 10:59:02 +0300 |
---|---|---|
committer | Sergey Linnik <sergey.linnik@onlyoffice.com> | 2020-09-15 11:26:35 +0300 |
commit | f8c77e190fcaa928145adcd6d379028b6e86aebe (patch) | |
tree | e2a1fafc440acc7f1d6605acc4c76b1c64612e57 | |
parent | 41c15da4dd9ac15a82ffe7c5fa1885140bfebe90 (diff) |
forcesave setting
-rw-r--r-- | controller/editorcontroller.php | 8 | ||||
-rw-r--r-- | controller/settingscontroller.php | 4 | ||||
-rw-r--r-- | js/settings.js | 2 | ||||
-rw-r--r-- | lib/appconfig.php | 27 | ||||
-rw-r--r-- | templates/settings.php | 10 |
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" |