Validator.php 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. <?php
  2. /*
  3. * To change this license header, choose License Headers in Project Properties.
  4. * To change this template file, choose Tools | Templates
  5. * and open the template in the editor.
  6. */
  7. /**
  8. * Description of Validator
  9. *
  10. * @author Vitalii Aloksa
  11. */
  12. namespace MGModule\DNSManager2\mgLibs\ModuleAPI;
  13. use \MGModule\DNSManager2\mgLibs\custom\dns\utils;
  14. use \MGModule\DNSManager2\mgLibs\custom\reverse\IPHelper;
  15. use \MGModule\DNSManager2\mgLibs\custom\manager\ClientHelper;
  16. use \MGModule\DNSManager2\mgLibs\lang;
  17. use \MGModule\DNSManager2\mgLibs\custom\manager\GlobalSettingHelper;
  18. use MGModule\DNSManager2\models\custom\globalsetting\GlobalSettingEnum;
  19. class Validator
  20. {
  21. public static function isValidZoneCreateData( $data )
  22. {
  23. $ClientHelper = new ClientHelper($data['userid']);
  24. if(!$ClientHelper->canUserCreatesNewZonesIn($data['type'], $data['relid']))
  25. {
  26. throw new \Exception(lang::T( 'addonCA','dashboard', 'errors' ,'you_cant_add_new_zones_within_this_group' ));
  27. }
  28. if(GlobalSettingHelper::getSetting(GlobalSettingEnum::OWNED_DOMAINS_ONLY) == 'on' && !in_array($data['zone_name'], $ClientHelper->getClientDomains()))
  29. {
  30. throw new \Exception(lang::T( 'addonCA','dashboard', 'errors' ,'you_cant_use_domain_that_does_not_belong_to_you' ));
  31. }
  32. self::validateIP($data);
  33. }
  34. public static function isValidZoneDeleteData( $data, $zone )
  35. {
  36. $ClientHelper = new ClientHelper($data['userid']);
  37. if(!$ClientHelper->isZoneOwnedByClient($zone) && !$_SESSION['adminid'])
  38. {
  39. throw new \Exception(lang::T( 'addonCA','dashboard', 'errors' ,'you_cant_remove_this_zone_because_it_is_not_belongs_to_you' ));
  40. }
  41. }
  42. public static function isValidZoneID( $id )
  43. {
  44. if(empty($id) || !is_integer( $id ))
  45. {
  46. throw new \Exception(lang::T( 'addonCA','dashboard', 'errors' ,'invalid_zone_id' ));
  47. }
  48. }
  49. public static function isValidModuleConfig( $modulename, $config )
  50. {
  51. if(empty($modulename) || empty($config))
  52. {
  53. throw new \Exception(lang::T( 'addonCA','dashboard', 'errors' ,'invalid_module_config' ));
  54. }
  55. }
  56. public static function validateBlockIP( $data )
  57. {
  58. /*
  59. * not used now
  60. */
  61. list($str,$pool,$mask) = explode('|',$input['zone_ip']);
  62. $input['zone_ip'] = $input['zone_ip_from_block'];
  63. }
  64. public static function validateIP( $data )
  65. {
  66. $IP = new utils\IP($data['zone_ip']);
  67. if(!empty($data['zone_ip']) && (!$IP->isValid() || $data['type'] != '0' || $data['relid'] != '0'))
  68. {
  69. IPHelper::validateIfClientCanUseIP($data['userid'], $data['type'], $data['relid'], $data['zone_ip'], true);
  70. }
  71. }
  72. }