1
0
mirror of https://github.com/e107inc/e107.git synced 2025-08-12 01:25:01 +02:00

Language selection simplification

Bug #4325 fixed
USERLAN deprecated
Bug #3485 possible fix
work in progress
This commit is contained in:
marj
2009-08-03 21:12:45 +00:00
parent 3969281f30
commit 5e093d018e
2 changed files with 110 additions and 53 deletions

View File

@@ -1,43 +1,48 @@
// $Id: languagelinks.sc,v 1.2 2007-10-30 23:34:01 e107coders Exp $
//<? $Id: languagelinks.sc,v 1.3 2009-08-03 21:12:45 marj_nl_fr Exp $
global $pref;
$sep = (defined("LANGLINKS_SEPARATOR")) ? LANGLINKS_SEPARATOR : "|&nbsp;";
$cursub = explode(".",$_SERVER['HTTP_HOST']);
if( ! defined('LANGLINKS_SEPARATOR'))
{
define('LANGLINKS_SEPARATOR', '&nbsp;|&nbsp;');
}
//$cursub = explode('.', $_SERVER['HTTP_HOST']);
require_once(e_HANDLER."language_class.php");
$lng = new language;
require_once(e_HANDLER.'language_class.php');
$slng = new language;
if($parm)
if($parm)
{
$languageList = explode(',', $parm);
}
else
{
$languageList = explode(',', e_LANLIST);
sort($languageList);
}
if(count($languageList) < 2)
{
return;
}
foreach($languageList as $languageFolder)
{
$code = $slng->convert($languageFolder);
$name = $slng->toNative($languageFolder);
//$subdom = (isset($cursub[2])) ? $cursub[0] : '';
if(varset($pref['multilanguage_subdomain']))
{
$tmp = explode(",",$parm);
$code = ($languageFolder == $pref['sitelanguage']) ? 'www.' : $code;
$link = (e_QUERY)
? str_replace($_SERVER['HTTP_HOST'], $code.'.'.e_DOMAIN, e_SELF).'?'.e_QUERY
: str_replace($_SERVER['HTTP_HOST'], $code.'.'.e_DOMAIN, e_SELF);
}
else
{
$tmp = explode(",",e_LANLIST);
sort($tmp);
$link = (e_QUERY) ? e_SELF.'?['.$code.']'.e_QUERY : e_SELF.'?['.$code.']';
}
$class = ($languageFolder == e_LANGUAGE) ? 'languagelink_active' : 'languagelink';
$ret[] = "\n<a class='{$class}' href='{$link}'>{$name}</a>";
}
if(count($tmp) < 2)
{
return;
}
foreach($tmp as $val)
{
$code = $lng->convert($val);
$name = $lng->toNative($val);
$subdom = (isset($cursub[2])) ? $cursub[0] : "";
if(isset($pref['multilanguage_subdomain']) && $pref['multilanguage_subdomain']){
$link = (e_QUERY) ? str_replace($_SERVER['HTTP_HOST'],$code.".".e_DOMAIN,e_SELF)."?".e_QUERY : str_replace($_SERVER['HTTP_HOST'],$code.".".e_DOMAIN,e_SELF);
}
else{
$link = (e_QUERY) ? e_SELF."?[".$code."]".e_QUERY : e_SELF."?[".$code."]";
}
if(isset($pref['multilanguage_subdomain']) && $pref['multilanguage_subdomain'] && $val == $pref['sitelanguage']){
$link = str_replace($code.".".e_DOMAIN,"www.".e_DOMAIN,$link);
}
$class = ($val == e_LANGUAGE) ? "languagelink_active" : "languagelink";
$ret[] = "<a class='{$class}' href='{$link}' title=\"".$name."\">".$name."</a>\n";
}
return implode($sep,$ret);
return implode(LANGLINKS_SEPARATOR, $ret);