2 Commits

Author SHA1 Message Date
mariano 7143d721fb fix true/false toggle switch 2026-05-20 10:26:50 +02:00
mariano fe9223a617 fix internet_enabled 2026-05-20 10:13:30 +02:00
2 changed files with 8 additions and 15 deletions
+2 -4
View File
@@ -88,16 +88,14 @@ class AssetController
case 'set_internet_mode': case 'set_internet_mode':
if (Profile::canCurrentUser(UPDATE)) { if (Profile::canCurrentUser(UPDATE)) {
$internet_mode = (int) $request->request->get('internet_mode', 0); $enabled = (int) $request->request->get('internet_mode', 0) === 1;
$serverAsset = new ServerAsset();
$link = ServerAsset::getLinkForAsset($itemtype, $items_id, true); $link = ServerAsset::getLinkForAsset($itemtype, $items_id, true);
if ($link) { if ($link) {
$server = new Server(); $server = new Server();
if ($server->getFromDB((int) $link['plugin_urbackup_servers_id'])) { if ($server->getFromDB((int) $link['plugin_urbackup_servers_id'])) {
$api = new UrbackupApiClient($server); $api = new UrbackupApiClient($server);
$client_name = (string) ($item->fields['name'] ?? ''); $client_name = (string) ($item->fields['name'] ?? '');
$setting_key = $api->getInternetModeSettingKey(); $api->saveInternetMode($client_name, $enabled);
$api->changeClientSetting($client_name, $setting_key, $internet_mode);
} }
} }
} }
+6 -11
View File
@@ -37,7 +37,7 @@ class UrbackupApiClient
private string $server_version = ''; private string $server_version = '';
private bool $is_version_2_5_or_higher = false; private bool $is_version_2_4_or_higher = false;
/** /**
* Constructor. * Constructor.
@@ -52,15 +52,10 @@ class UrbackupApiClient
$this->password = (string) ($server->fields['api_password'] ?? ''); $this->password = (string) ($server->fields['api_password'] ?? '');
$this->ignore_ssl = ((int) ($server->fields['ignore_ssl'] ?? 0)) === 1; $this->ignore_ssl = ((int) ($server->fields['ignore_ssl'] ?? 0)) === 1;
$this->server_version = (string) ($server->fields['server_version'] ?? ''); $this->server_version = (string) ($server->fields['server_version'] ?? '');
$this->is_version_2_5_or_higher = $this->detectVersion2_5OrHigher(); $this->is_version_2_4_or_higher = $this->detectVersion2_4OrHigher();
} }
/** private function detectVersion2_4OrHigher(): bool
* Detect if server version is 2.5 or higher.
*
* @return bool
*/
private function detectVersion2_5OrHigher(): bool
{ {
if ($this->server_version === '') { if ($this->server_version === '') {
return false; return false;
@@ -77,7 +72,7 @@ class UrbackupApiClient
if ($major > 2) { if ($major > 2) {
return true; return true;
} }
if ($major === 2 && $minor >= 5) { if ($major === 2 && $minor >= 4) {
return true; return true;
} }
@@ -91,7 +86,7 @@ class UrbackupApiClient
*/ */
public function getInternetModeSettingKey(): string public function getInternetModeSettingKey(): string
{ {
return $this->is_version_2_5_or_higher ? 'internet_mode_enabled' : 'internet_mode'; return $this->is_version_2_4_or_higher ? 'internet_mode_enabled' : 'internet_mode';
} }
/** /**
@@ -391,7 +386,7 @@ class UrbackupApiClient
'sa' => 'clientsettings_save', 'sa' => 'clientsettings_save',
't_clientid' => $client_id, 't_clientid' => $client_id,
'overwrite' => 'true', 'overwrite' => 'true',
$key => $enabled ? '1' : '0', $key => $enabled ? 'true' : 'false',
]; ];
$data = $this->apiAction('settings', $params); $data = $this->apiAction('settings', $params);