protected function getDomain() { $r = '!(?:(\\w+)://)?(?:(\\w+)\\:(\\w+)@)?([^/:]+)?(?:\\:(\\d*))?([^#?]+)?(?:\\?([^#]+))?(?:#(.+$))?!i'; preg_match($r, Tools::getHttpHost(false, false), $out); if (preg_match('/^(((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]{1}[0-9]|[1-9]).)' . '{1}((25[0-5]|2[0-4][0-9]|[1]{1}[0-9]{2}|[1-9]{1}[0-9]|[0-9]).)' . '{2}((25[0-5]|2[0-4][0-9]|[1]{1}[0-9]{2}|[1-9]{1}[0-9]|[0-9]){1}))$/', $out[4])) { return false; } if (!strstr(Tools::getHttpHost(false, false), '.')) { return false; } $domain = $out[4]; $subDomains = SubDomain::getSubDomains(); if ($subDomains === false) { die(Tools::displayError('Bad SubDomain SQL query.')); } foreach ($subDomains as $subDomain) { $subDomainLength = strlen($subDomain) + 1; if (strncmp($subDomain . '.', $domain, $subDomainLength) == 0) { $domain = substr($domain, $subDomainLength); } } return $domain; }