PluginProbe ʕ •ᴥ•ʔ
JetBackup – Backup, Restore & Migrate / 3.1.22.4
JetBackup – Backup, Restore & Migrate v3.1.22.4
3.1.22.4 3.1.22.3 1.4.3 1.4.4 1.4.5 1.4.6 1.4.7 1.4.8 1.4.8.1 1.4.9 1.5.0 1.5.1 1.5.1.1 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.6.0 1.6.10 1.6.11 1.6.12 1.6.13 1.6.15 1.6.5.1 1.6.8.8 1.6.9 1.6.9.1 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7.5 2.0.8.7 2.0.9.11 2.0.9.14 2.0.9.15 2.0.9.6 2.0.9.7 2.0.9.9 3.1.10.7 3.1.11.1 3.1.12.3 3.1.13.4 3.1.14.17 3.1.15.4 3.1.16.1 3.1.17.5 3.1.18.10 3.1.18.8 3.1.18.9 3.1.19.8 3.1.20.3 3.1.21.3 3.1.7.9 3.1.9.2 trunk 1.1.90 1.1.91 1.2.0 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.3.6 1.3.7 1.3.8 1.3.9 1.4.0 1.4.1 1.4.2
backup / src / JetBackup / Ajax / Calls / ManageSettingsPerformance.php
backup / src / JetBackup / Ajax / Calls Last commit date
.htaccess 1 year ago AbortQueueItem.php 1 year ago AddToQueue.php 3 months ago ClearAlerts.php 1 year ago ClearCompletedQueueItems.php 1 year ago CreateSupportUser.php 1 year ago DeleteBackupJob.php 1 year ago DeleteDestination.php 1 year ago DeleteDownload.php 1 year ago DeleteSchedule.php 1 year ago DeleteSnapshot.php 1 year ago DestinationSetExportConfig.php 1 year ago DuplicateBackupJob.php 1 year ago EditBackupNotes.php 1 year ago EnableBackupJob.php 1 year ago EnableDestination.php 1 year ago ExecuteCron.php 1 year ago FileManager.php 10 months ago GetBackup.php 1 year ago GetBackupJob.php 1 year ago GetDashboard.php 1 year ago GetDatabaseTables.php 1 year ago GetDestination.php 1 year ago GetLog.php 1 year ago GetQRCode.php 1 year ago GetQueueItem.php 1 year ago GetSchedule.php 1 year ago GetSettingsAutomation.php 1 year ago GetSettingsGeneral.php 1 year ago GetSettingsIntegrations.php 1 year ago GetSettingsLogging.php 1 year ago GetSettingsMaintenance.php 1 year ago GetSettingsNotifications.php 1 year ago GetSettingsPerformance.php 1 year ago GetSettingsRestore.php 1 year ago GetSettingsSecurity.php 1 year ago GetSettingsUpdates.php 1 year ago GetSystemInfo.php 11 months ago ListAlerts.php 1 year ago ListBackupJobs.php 1 year ago ListBackups.php 1 year ago ListDatabaseTables.php 1 year ago ListDestinations.php 1 year ago ListDownloads.php 1 year ago ListQueueItems.php 4 months ago ListSchedules.php 1 year ago LockSnapshot.php 1 year ago ManageBackupJob.php 1 year ago ManageDestination.php 1 year ago ManageSchedule.php 3 months ago ManageSettingsAutomation.php 10 months ago ManageSettingsGeneral.php 4 months ago ManageSettingsIntegrations.php 1 year ago ManageSettingsLogging.php 1 year ago ManageSettingsMaintenance.php 1 year ago ManageSettingsNotifications.php 1 year ago ManageSettingsPerformance.php 1 year ago ManageSettingsRestore.php 1 year ago ManageSettingsSecurity.php 1 week ago ManageSettingsUpdates.php 1 year ago ManageShowcase.php 1 year ago PanelPreload.php 1 year ago SendTestEmail.php 1 year ago StartOverQueueItem.php 1 year ago ValidateDestination.php 1 year ago ValidateMFA.php 1 year ago index.html 1 year ago web.config 1 year ago
ManageSettingsPerformance.php
94 lines
1 <?php
2
3 namespace JetBackup\Ajax\Calls;
4
5 use JetBackup\Ajax\aAjax;
6 use JetBackup\Exception\AjaxException;
7 use JetBackup\Exception\FieldsValidationException;
8 use JetBackup\Exception\IOException;
9 use JetBackup\Factory;
10 use JetBackup\Settings\Performance;
11 use JetBackup\UserInput\UserInput;
12 use SleekDB\Exceptions\InvalidArgumentException;
13
14 if (!defined( '__JETBACKUP__')) die('Direct access is not allowed');
15
16 class ManageSettingsPerformance extends aAjax {
17
18 /**
19 * @return int
20 * @throws AjaxException
21 */
22 private function _getReadChunkSize(): int { return $this->getUserInput(Performance::READ_CHUNK_SIZE, 0, UserInput::UINT); }
23
24 /**
25 * @return int
26 * @throws AjaxException
27 */
28 private function _getExecutionTime(): int { return $this->getUserInput(Performance::EXECUTION_TIME, 0, UserInput::UINT); }
29
30 /**
31 * @return bool
32 * @throws AjaxException
33 */
34 private function _getSQLCleanupRevisions(): bool { return $this->getUserInput(Performance::SQL_CLEANUP_REVISIONS, false, UserInput::BOOL); }
35
36 /**
37 * @return bool
38 * @throws AjaxException
39 */
40 private function _getUseDefaultExcludes(): bool { return $this->getUserInput(Performance::USE_DEFAULT_EXCLUDES, false, UserInput::BOOL); }
41
42 /**
43 * @return bool
44 * @throws AjaxException
45 */
46 private function _getExcludeNestedSites(): bool { return $this->getUserInput(Performance::EXCLUDE_NESTED_SITES, false, UserInput::BOOL); }
47
48 /**
49 * @return bool
50 * @throws AjaxException
51 */
52 private function _getUseDefaultDBExcludes(): bool { return $this->getUserInput(Performance::USE_DEFAULT_DB_EXCLUDES, false, UserInput::BOOL); }
53
54 /**
55 * @return bool
56 * @throws AjaxException
57 */
58 private function _getGzipCompressArchive(): bool { return $this->getUserInput(Performance::GZIP_COMPRESS_ARCHIVE, false, UserInput::BOOL); }
59
60 /**
61 * @return bool
62 * @throws AjaxException
63 */
64 private function _getGzipCompressDB(): bool { return $this->getUserInput(Performance::GZIP_COMPRESS_DB, false, UserInput::BOOL); }
65
66 /**
67 * @return void
68 * @throws AjaxException
69 * @throws FieldsValidationException
70 * @throws \SleekDB\Exceptions\IOException
71 * @throws InvalidArgumentException
72 */
73 public function execute(): void {
74
75 $settings = Factory::getSettingsPerformance();
76
77 if($this->isset(Performance::READ_CHUNK_SIZE)) $settings->setReadChunkSize($this->_getReadChunkSize());
78 if($this->isset(Performance::EXECUTION_TIME)) $settings->setExecutionTime($this->_getExecutionTime());
79 if($this->isset(Performance::SQL_CLEANUP_REVISIONS)) $settings->setSQLCleanupRevisionsEnabled($this->_getSQLCleanupRevisions());
80 if($this->isset(Performance::USE_DEFAULT_EXCLUDES)) $settings->setUseDefaultExcludes($this->_getUseDefaultExcludes());
81 if($this->isset(Performance::EXCLUDE_NESTED_SITES)) $settings->setExcludeNestedSites($this->_getExcludeNestedSites());
82 if($this->isset(Performance::USE_DEFAULT_DB_EXCLUDES)) $settings->setUseDefaultDBExcludes($this->_getUseDefaultDBExcludes());
83 if($this->isset(Performance::GZIP_COMPRESS_ARCHIVE)) $settings->setGzipCompressArchive($this->_getGzipCompressArchive());
84 if($this->isset(Performance::GZIP_COMPRESS_DB)) $settings->setGzipCompressDB($this->_getGzipCompressDB());
85
86 $settings->validateFields();
87 $settings->save();
88
89 $this->setResponseMessage('Saved Successfully');
90 $this->setResponseData($this->isCLI() ? $settings->getDisplayCLI() : $settings->getDisplay());
91 }
92 }
93
94