http://modulesgarden.com * CONTACT -> contact@modulesgarden.com * * * This software is furnished under a license and may be used and copied * only in accordance with the terms of such license and with the * inclusion of the above copyright notice. This software or any other * copies thereof may not be provided or otherwise made available to any * other person. No title to and ownership of the software is hereby * transferred. * * * ******************************************************************** */ namespace ModulesGarden\Servers\ProxmoxCloudVps\App\UI\Backup\Forms; use ModulesGarden\ProxmoxAddon\App\Services\Cloud\ProductService; use ModulesGarden\ProxmoxAddon\App\Enum\Cloud\ConfigurableOption; use ModulesGarden\Servers\ProxmoxCloudVps\App\UI\Backup\Providers\BackupProvider; use ModulesGarden\Servers\ProxmoxCloudVps\Core\UI\Interfaces\ClientArea; use ModulesGarden\Servers\ProxmoxCloudVps\Core\UI\Widget\Forms\BaseForm; use ModulesGarden\Servers\ProxmoxCloudVps\Core\UI\Widget\Forms\Fields\Select; use function ModulesGarden\Servers\ProxmoxCloudVps\Core\Helper\sl; class CreateForm extends BaseForm implements ClientArea { use ProductService; public function initContent() { $this->initIds('createBackupForm'); $this->setFormType('create'); $this->setProvider(new BackupProvider()); $backupFilesLimit = $this->configuration()->getBackupMaxFiles(); if ($this->isWhmcsConfigOption(ConfigurableOption::BACKUPS_FILES) && $this->getWhmcsConfigOption(ConfigurableOption::BACKUPS_FILES) != "-1") { $backupFilesLimit = $this->getWhmcsConfigOption(ConfigurableOption::BACKUPS_FILES); } if($backupFilesLimit == "-1"){ $backupFilesLimit = null; } if ($this->configuration()->isBackupRouting() && $backupFilesLimit) { sl("lang")->addReplacementConstant("backupFilesLimit" , $backupFilesLimit); $this->setInternalAlertMessage( sl("lang")->tr('Your routing backup limit is :backupFilesLimit:. When you exceed this limit, the last backup will be replaced with a new one.')); $this->setInternalAlertMessageRaw(true); } $this->initFields(); $this->loadDataToForm(); } public function getAllowedActions() { return ['create']; } private function initFields() { //compress $field = new Select('compress'); $field->setAvailableValues([ "0" => sl("lang")->tr("None"), "lzo" => sl("lang")->tr("LZO (fast)"), "gzip" => sl("lang")->tr("GZIP (good)"), "zstd" => sl("lang")->abtr("ZSTD (fast and good)") ]); $field->setDefaultValue('zstd'); $field->addClass('hidden'); $this->addField($field); //mode $field = new Select('mode'); $field->setAvailableValues([ "snapshot" => sl("lang")->tr("Snapshot"), "suspend" => sl("lang")->tr("Suspend") ]); $this->addField($field); } }