public function getFullyQualifiedUrl($url)
{
$result = $url;
if (!isset($result) || $result == "") {
return $result;
}
$srcUrlParts = parse_url($result);
if (UrlHelper::isAbsoluteUrl($url) || UrlHelper::isProtocolRelativeUrl($url)) {
/* -- The URL is already a fully qualfied URL, do nothing */
} else {
$siteUrlOverride = craft()->config->get("siteUrlOverride", "seomatic");
if ($siteUrlOverride) {
$siteUrl = $siteUrlOverride;
} else {
$siteUrl = craft()->getSiteUrl();
}
$urlParts = parse_url($siteUrl);
$port = "";
if (isset($urlParts['port'])) {
$port = ":" . $urlParts['port'];
}
if (isset($urlParts['scheme']) && isset($urlParts['host'])) {
$siteUrl = $urlParts['scheme'] . "://" . $urlParts['host'] . $port . "/";
} else {
$siteUrl = "/";
}
if ($siteUrl[strlen($siteUrl) - 1] == '/' && $result[0] == '/') {
$siteUrl = rtrim($siteUrl, '/');
}
$result = $siteUrl . $result;
}
return $result;
}