FirewallOptionService.php 1.3 KB

1234567891011121314151617181920212223242526272829303132333435
  1. <?php
  2. namespace ModulesGarden\ProxmoxAddon\App\Services\Cloud;
  3. use ModulesGarden\ProxmoxAddon\App\Services\ApiService;
  4. use ModulesGarden\ProxmoxAddon\Core\UI\Traits\WhmcsParams;
  5. use function ModulesGarden\ProxmoxAddon\Core\Helper\sl;
  6. class FirewallOptionService
  7. {
  8. use WhmcsParams;
  9. use ApiService;
  10. use ProductService;
  11. public function update(){
  12. $attributes = [
  13. "enable" => $this->configuration()->isFirewalOptionEnable() ? 1 : 0,
  14. "dhcp" => $this->configuration()->isFirewalOptionDhcp()? 1 : 0,
  15. "ndp" => $this->configuration()->isFirewalOptionNdp()? 1 : 0,
  16. "radv" => $this->configuration()->isFirewalOptionRadv() ? 1 : 0,
  17. "macfilter" => $this->configuration()->isFirewalOptionMacfilter() ? 1 : 0,
  18. "ipfilter" => $this->configuration()->isFirewalOptionIpfilter() ? 1 : 0,
  19. ];
  20. if( $this->configuration()->firewalOptionPolicyIn){
  21. $attributes['policy_in'] = $this->configuration()->firewalOptionPolicyIn;
  22. }
  23. if( $this->configuration()->firewalOptionPolicyOut){
  24. $attributes['policy_out'] = $this->configuration()->firewalOptionPolicyOut;
  25. }
  26. sl('Vm')->getVm()->firewallOptions()->setAttributes($attributes)->update();
  27. }
  28. }