$_CONF['app']['language'] = $objTemp->getId(); $_CONF['app']['languageAbbr'] = $objTemp->getAbbr(); $_CONF['app']['languageName'] = $objTemp->getName(); $_CONF['app']['languageDefault'] = $objTemp->default; } else { //*** Get default language. $objLang = ContentLanguage::getDefault(); $_CONF['app']['language'] = $objLang->getId(); $_CONF['app']['languageAbbr'] = $objLang->getAbbr(); $_CONF['app']['languageName'] = $objLang->getName(); $_CONF['app']['languageDefault'] = $objLang->default; } } else { if (isset($_SESSION["userlanguage"]) && isset($_SESSION["userlanguage"]["abbr"])) { //*** Test if the language still exists. $objTemp = ContentLanguage::selectByAbbr($_SESSION["userlanguage"]["abbr"]); if (is_object($objTemp)) { //*** Get language from session. $_CONF['app']['language'] = $objTemp->getId(); $_CONF['app']['languageAbbr'] = $objTemp->getAbbr(); $_CONF['app']['languageName'] = $objTemp->getName(); $_CONF['app']['languageDefault'] = $objTemp->default; } else { //*** Get default language. $objLang = ContentLanguage::getDefault(); $_CONF['app']['language'] = $objLang->getId(); $_CONF['app']['languageAbbr'] = $objLang->getAbbr(); $_CONF['app']['languageName'] = $objLang->getName(); $_CONF['app']['languageDefault'] = $objLang->default; } } else {
public function getLink($blnAbsolute = TRUE, $strAddQuery = "", $strLanguageAbbr = NULL) { $objCms = PCMS_Client::getInstance(); $intLanguageId = null; if (is_null($strLanguageAbbr)) { $objLang = $objCms->getLanguage(); $strLangAbbr = $objLang->getAbbr(); $intLanguageId = $objLang->getId(); } else { $objLang = ContentLanguage::selectByAbbr($strLanguageAbbr); if (is_object($objLang)) { $strLangAbbr = $objLang->getAbbr(); $intLanguageId = $objLang->getId(); } else { $strLangAbbr = ""; } } if ($this->isPage) { $varReturn = $this->getId(); if (!is_null($varReturn)) { $varReturn = $blnAbsolute ? "/" : ""; $varReturn .= !$objLang->default || !is_null($strLanguageAbbr) ? "language/{$strLangAbbr}/" : ""; $varReturn .= "eid/{$this->getId()}"; } if ($objCms->usesAliases() && is_object($this->objElement)) { $strAlias = $this->objElement->getAlias($intLanguageId); if (!empty($strAlias)) { $varReturn = $blnAbsolute ? "/" : ""; $varReturn .= !$objLang->default || !is_null($strLanguageAbbr) ? "language/{$strLangAbbr}/" : ""; $varReturn .= $strAlias; } } if (!empty($strAddQuery)) { $varReturn .= "?" . $strAddQuery; } } else { ///*** Find the closest element that represents a complete page. $intPageId = $this->getPageId(); $objPageParent = $objCms->getElementById($intPageId); if (!is_null($intPageId) && is_object($objPageParent)) { $varReturn = $blnAbsolute ? "/" : ""; $varReturn .= !$objLang->default || !is_null($strLanguageAbbr) ? "language/{$strLangAbbr}/" : ""; $varReturn .= "eid/{$objPageParent->getId()}"; } if ($objCms->usesAliases() && is_object($objPageParent->objElement)) { $strAlias = $objPageParent->objElement->getAlias($intLanguageId); if (!empty($strAlias)) { $varReturn = $blnAbsolute ? "/" : ""; $varReturn .= !$objLang->default || !is_null($strLanguageAbbr) ? "language/{$strLangAbbr}/" : ""; $varReturn .= $strAlias; } } if (!empty($strAddQuery)) { $varReturn .= "?" . $strAddQuery; } $varReturn .= "#label_{$this->getId()}"; } return $varReturn; }