FirewallOptionService.php 1.2 KB

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