mirror of
https://github.com/nextcloud/all-in-one.git
synced 2026-02-04 04:56:52 +00:00
Make collabora_additional_options an attribute
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
This commit is contained in:
parent
ca35006a85
commit
228440f2a8
4 changed files with 24 additions and 24 deletions
|
|
@ -121,7 +121,7 @@ $app->get('/containers', function (Request $request, Response $response, array $
|
||||||
'skip_domain_validation' => $configurationManager->shouldDomainValidationBeSkipped($skip_domain_validation),
|
'skip_domain_validation' => $configurationManager->shouldDomainValidationBeSkipped($skip_domain_validation),
|
||||||
'talk_port' => $configurationManager->GetTalkPort(),
|
'talk_port' => $configurationManager->GetTalkPort(),
|
||||||
'collabora_dictionaries' => $configurationManager->collabora_dictionaries,
|
'collabora_dictionaries' => $configurationManager->collabora_dictionaries,
|
||||||
'collabora_additional_options' => $configurationManager->GetAdditionalCollaboraOptions(),
|
'collabora_additional_options' => $configurationManager->collabora_additional_options,
|
||||||
'automatic_updates' => $configurationManager->areAutomaticUpdatesEnabled(),
|
'automatic_updates' => $configurationManager->areAutomaticUpdatesEnabled(),
|
||||||
'is_backup_section_enabled' => $configurationManager->isBackupSectionEnabled(),
|
'is_backup_section_enabled' => $configurationManager->isBackupSectionEnabled(),
|
||||||
'is_imaginary_enabled' => $configurationManager->isImaginaryEnabled,
|
'is_imaginary_enabled' => $configurationManager->isImaginaryEnabled,
|
||||||
|
|
|
||||||
|
|
@ -121,12 +121,12 @@ readonly class ConfigurationController {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isset($request->getParsedBody()['delete_collabora_additional_options'])) {
|
if (isset($request->getParsedBody()['delete_collabora_additional_options'])) {
|
||||||
$this->configurationManager->DeleteAdditionalCollaboraOptions();
|
$this->configurationManager->deleteAdditionalCollaboraOptions();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isset($request->getParsedBody()['collabora_additional_options'])) {
|
if (isset($request->getParsedBody()['collabora_additional_options'])) {
|
||||||
$additionalCollaboraOptions = $request->getParsedBody()['collabora_additional_options'] ?? '';
|
$additionalCollaboraOptions = $request->getParsedBody()['collabora_additional_options'] ?? '';
|
||||||
$this->configurationManager->SetAdditionalCollaboraOptions($additionalCollaboraOptions);
|
$this->configurationManager->collabora_additional_options = $additionalCollaboraOptions;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isset($request->getParsedBody()['delete_borg_backup_location_vars'])) {
|
if (isset($request->getParsedBody()['delete_borg_backup_location_vars'])) {
|
||||||
|
|
|
||||||
|
|
@ -148,6 +148,18 @@ class ConfigurationManager
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @throws InvalidSettingConfigurationException
|
||||||
|
*/
|
||||||
|
public string $collabora_additional_options {
|
||||||
|
get => $this->get('collabora_additional_options', '');
|
||||||
|
set {
|
||||||
|
// This throws an exception if the validation fails.
|
||||||
|
$this->validateCollaboraAdditionalOptions($value);
|
||||||
|
$this->set('collabora_additional_options', $value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public function GetConfig() : array
|
public function GetConfig() : array
|
||||||
{
|
{
|
||||||
if ($this->config === [] && file_exists(DataConst::GetConfigFile()))
|
if ($this->config === [] && file_exists(DataConst::GetConfigFile()))
|
||||||
|
|
@ -866,7 +878,7 @@ class ConfigurationManager
|
||||||
/**
|
/**
|
||||||
* @throws InvalidSettingConfigurationException
|
* @throws InvalidSettingConfigurationException
|
||||||
*/
|
*/
|
||||||
public function SetAdditionalCollaboraOptions(string $additionalCollaboraOptions) : void {
|
private function validateCollaboraAdditionalOptions(string $additionalCollaboraOptions) : void {
|
||||||
if ($additionalCollaboraOptions === "") {
|
if ($additionalCollaboraOptions === "") {
|
||||||
throw new InvalidSettingConfigurationException("The additional options must not be empty!");
|
throw new InvalidSettingConfigurationException("The additional options must not be empty!");
|
||||||
}
|
}
|
||||||
|
|
@ -874,32 +886,20 @@ class ConfigurationManager
|
||||||
if (!preg_match("#^--o:#", $additionalCollaboraOptions)) {
|
if (!preg_match("#^--o:#", $additionalCollaboraOptions)) {
|
||||||
throw new InvalidSettingConfigurationException("The entered options must start with '--o:'. So the config does not seem to be a valid!");
|
throw new InvalidSettingConfigurationException("The entered options must start with '--o:'. So the config does not seem to be a valid!");
|
||||||
}
|
}
|
||||||
|
|
||||||
$config = $this->GetConfig();
|
|
||||||
$config['collabora_additional_options'] = $additionalCollaboraOptions;
|
|
||||||
$this->WriteConfig($config);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function GetAdditionalCollaboraOptions() : string {
|
|
||||||
$config = $this->GetConfig();
|
|
||||||
if(!isset($config['collabora_additional_options'])) {
|
|
||||||
$config['collabora_additional_options'] = '';
|
|
||||||
}
|
|
||||||
|
|
||||||
return $config['collabora_additional_options'];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function isCollaboraSubscriptionEnabled() : bool {
|
public function isCollaboraSubscriptionEnabled() : bool {
|
||||||
if (str_contains($this->GetAdditionalCollaboraOptions(), '--o:support_key=')) {
|
if (str_contains($this->collabora_additional_options, '--o:support_key=')) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function DeleteAdditionalCollaboraOptions() : void {
|
/**
|
||||||
$config = $this->GetConfig();
|
* Provide an extra method since the corresponding attribute setter prevents setting an empty value.
|
||||||
$config['collabora_additional_options'] = '';
|
*/
|
||||||
$this->WriteConfig($config);
|
public function deleteAdditionalCollaboraOptions() : void {
|
||||||
|
$this->set('collabora_additional_options', '');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function GetApacheAdditionalNetwork() : string {
|
public function GetApacheAdditionalNetwork() : string {
|
||||||
|
|
|
||||||
|
|
@ -427,8 +427,8 @@ readonly class DockerActionManager {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Additional Collabora options
|
// Additional Collabora options
|
||||||
if ($this->configurationManager->GetAdditionalCollaboraOptions() !== '') {
|
if ($this->configurationManager->collabora_additional_options !== '') {
|
||||||
$requestBody['Cmd'] = [$this->configurationManager->GetAdditionalCollaboraOptions()];
|
$requestBody['Cmd'] = [$this->configurationManager->collabora_additional_options];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue