|
|
@@ -1,86 +0,0 @@
|
|
|
-<?php
|
|
|
-
|
|
|
-
|
|
|
-namespace ModulesGarden\Servers\ProxmoxCloudVps\App\UI\VmCreate\Validators;
|
|
|
-
|
|
|
-
|
|
|
-use ModulesGarden\ProxmoxAddon\App\Services\Cloud\ResourceManager;
|
|
|
-use ModulesGarden\Servers\ProxmoxCloudVps\Core\UI\Widget\Forms\Validators\BaseValidator;
|
|
|
-use ModulesGarden\Servers\ProxmoxCloudVps\Core\UI\Traits\WhmcsParams;
|
|
|
-use ModulesGarden\Servers\ProxmoxCloudVps\App\Enum\ConfigurableOption;
|
|
|
-
|
|
|
-class RessourceValidator extends BaseValidator
|
|
|
-{
|
|
|
- protected function validate($data, $additionalData = null)
|
|
|
- {
|
|
|
- $resurceManager = new ResourceManager();
|
|
|
- $additionalSize = 0;
|
|
|
- $diskResource = $resurceManager ->disk();
|
|
|
-
|
|
|
- logModuleCall(
|
|
|
- 'proxmoxCloud',
|
|
|
- __FUNCTION__,
|
|
|
- $data,
|
|
|
- 'Debug',
|
|
|
- $diskResource
|
|
|
- );
|
|
|
- return true;
|
|
|
-
|
|
|
- $diskResource->setTotal($diskResource->getTotal()-$additionalSize);
|
|
|
- if ($this->isWhmcsConfigOption(ConfigurableOption::STORAGE)) {
|
|
|
- $this->maxValue = $this->getWhmcsConfigOption(ConfigurableOption::STORAGE) - $diskResource->getUsed();
|
|
|
- } else {
|
|
|
- $this->maxValue = $diskResource->free();
|
|
|
- }
|
|
|
- if ($this->maxValue > $diskResource->getMax()) {
|
|
|
- $this->addValidationError('PleaseProvideANumericValueBetween', false, ['minValue' => $this->minValue, 'maxValue' => $diskResource->getMax()]);
|
|
|
- return false;
|
|
|
- }
|
|
|
-
|
|
|
- $this->minValue = $diskResource->getMin();
|
|
|
- if(preg_match("/\./", $data)){
|
|
|
- $this->addValidationError('PleaseProvideANumericValueBetween', false, ['minValue' => $this->minValue, 'maxValue' => $this->maxValue]);
|
|
|
- return false;
|
|
|
- }
|
|
|
- if (is_numeric($data) && $this->minValue === 0 && $this->maxValue === 0)
|
|
|
- {
|
|
|
- return true;
|
|
|
- }
|
|
|
- //Min & Max
|
|
|
- if (is_numeric($data) && $this->minValue <= ((int)$data) && ((int)$data) <= $this->maxValue)
|
|
|
- {
|
|
|
- return true;
|
|
|
- }
|
|
|
- //Min
|
|
|
- else
|
|
|
- {
|
|
|
- if (is_numeric($data) && !is_numeric($this->maxValue) && $this->minValue <= ((int)$data))
|
|
|
- {
|
|
|
- return true;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- if ($this->minValue === $this->maxValue)
|
|
|
- {
|
|
|
- $this->addValidationError('PleaseProvideANumericValue');
|
|
|
-
|
|
|
- return false;
|
|
|
- }
|
|
|
-
|
|
|
- if (is_numeric($this->minValue) && is_numeric($this->maxValue))
|
|
|
- {
|
|
|
- $this->addValidationError('PleaseProvideANumericValueBetween', false, ['minValue' => $this->minValue, 'maxValue' => $this->maxValue]);
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- if (is_numeric($this->minValue) && !is_numeric($this->maxValue))
|
|
|
- {
|
|
|
- $this->addValidationError('PleaseProvideANumericValueFrom', false, ['minValue' => $this->minValue]);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- return false;
|
|
|
- }
|
|
|
-
|
|
|
-}
|