Compare commits
2 Commits
1dc84aa5eb
...
7143d721fb
| Author | SHA1 | Date | |
|---|---|---|---|
| 7143d721fb | |||
| fe9223a617 |
@@ -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);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
Reference in New Issue
Block a user