Metaregistrar\EPP\eppHelloResponse::validateServices PHP Method

validateServices() public method

public validateServices ( $language, $version )
    public function validateServices($language, $version)
    {
        $resultcode = $this->getResultCode();
        if ($resultcode != 1000) {
            $errormessage = $this->getResultMessage();
            $value = $this->getResultValue();
            $errorstring = "Error {$resultcode}: {$errormessage} ({$value})";
            throw new eppException($errorstring);
        }
        $versions = $this->getVersions();
        $versionok = false;
        $supported = '';
        if (is_array($versions)) {
            foreach ($versions as $ver) {
                if ($ver == $version) {
                    $versionok = true;
                }
                $supported .= $ver . ' ';
            }
        }
        if (!$versionok) {
            throw new eppException($this->version . ' is not a supported version, supported versions: ' . $supported);
        }
        $languages = $this->getLanguages();
        $languageok = false;
        $supported = '';
        if (is_array($languages)) {
            foreach ($languages as $lang) {
                if ($lang == $language) {
                    $languageok = true;
                }
                $supported .= $lang . ' ';
            }
        }
        if (!$languageok) {
            throw new eppException($this->language . ' is not a supported language, supported languages: ' . $supported);
        }
        $servs = $this->getServices();
        if (is_array($this->objuri)) {
            foreach ($this->objuri as $type => $objuri) {
                if ($type != 'epp') {
                    $objuriok = false;
                    $supported = '';
                    foreach ($servs as $service) {
                        if ($service == $objuri) {
                            $objuriok = true;
                        }
                        $supported .= $service . ' ';
                    }
                    if (!$objuriok) {
                        throw new eppException($objuri . ' is not supported, supported services: ' . $supported);
                    }
                }
            }
        }
        $exts = $this->getExtensions();
        if (is_array($this->exturi)) {
            foreach ($this->exturi as $exturi) {
                $exturiok = false;
                $supported = '';
                foreach ($exts as $extension) {
                    if ($extension == $exturi) {
                        $exturiok = true;
                    }
                    $supported .= $extension . ' ';
                }
                if (!$exturiok) {
                    throw new eppException($exturi . ' extension is not supported, supported extensions: ' . $supported);
                }
            }
        }
    }