canUserCreatesNewZonesIn($data['type'], $data['relid'])) { throw new \Exception(lang::T( 'addonCA','dashboard', 'errors' ,'you_cant_add_new_zones_within_this_group' )); } if(GlobalSettingHelper::getSetting(GlobalSettingEnum::OWNED_DOMAINS_ONLY) == 'on' && !in_array($data['zone_name'], $ClientHelper->getClientDomains())) { throw new \Exception(lang::T( 'addonCA','dashboard', 'errors' ,'you_cant_use_domain_that_does_not_belong_to_you' )); } self::validateIP($data); } public static function isValidZoneDeleteData( $data, $zone ) { $ClientHelper = new ClientHelper($data['userid']); if(!$ClientHelper->isZoneOwnedByClient($zone) && !$_SESSION['adminid']) { throw new \Exception(lang::T( 'addonCA','dashboard', 'errors' ,'you_cant_remove_this_zone_because_it_is_not_belongs_to_you' )); } } public static function isValidZoneID( $id ) { if(empty($id) || !is_integer( $id )) { throw new \Exception(lang::T( 'addonCA','dashboard', 'errors' ,'invalid_zone_id' )); } } public static function isValidModuleConfig( $modulename, $config ) { if(empty($modulename) || empty($config)) { throw new \Exception(lang::T( 'addonCA','dashboard', 'errors' ,'invalid_module_config' )); } } public static function validateBlockIP( $data ) { /* * not used now */ list($str,$pool,$mask) = explode('|',$input['zone_ip']); $input['zone_ip'] = $input['zone_ip_from_block']; } public static function validateIP( $data ) { $IP = new utils\IP($data['zone_ip']); if(!empty($data['zone_ip']) && (!$IP->isValid() || $data['type'] != '0' || $data['relid'] != '0')) { IPHelper::validateIfClientCanUseIP($data['userid'], $data['type'], $data['relid'], $data['zone_ip'], true); } } }