From 474df4948eb7388841c71c8912f720e6cd21d01a Mon Sep 17 00:00:00 2001 From: Cameron Date: Wed, 6 Nov 2013 17:47:58 -0800 Subject: [PATCH] Fix for duplicate e_MENU lans in query. --- e107_core/shortcodes/single/languagelinks.php | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/e107_core/shortcodes/single/languagelinks.php b/e107_core/shortcodes/single/languagelinks.php index af3f79c0e..628ca35b4 100644 --- a/e107_core/shortcodes/single/languagelinks.php +++ b/e107_core/shortcodes/single/languagelinks.php @@ -96,23 +96,38 @@ function languagelinks_shortcode($parm = '') { $code = ($languageFolder == e107::getPref('sitelanguage')) ? 'www' : $code; if(LANGLINKS_HOME) + { $link = str_replace($_SERVER['HTTP_HOST'], $code.'.'.e_DOMAIN, SITEURL); + } else + { $link = (!LANGLINKS_NOQUERY) ? str_replace($_SERVER['HTTP_HOST'], $code.'.'.e_DOMAIN, e_REQUEST_URL) // includes query string : str_replace($_SERVER['HTTP_HOST'], $code.'.'.e_DOMAIN, e_REQUEST_SELF); // excludes query string + } } else { // TODO - switch to elan=Language query when possible (now it'll break the old DOT query string format) if(LANGLINKS_HOME) + { $link = SITEURL.'?elan='.$languageFolder; + } else - $link = (!LANGLINKS_NOQUERY) ? e_REQUEST_SELF.'?['.$code.']'.e_QUERY : e_REQUEST_SELF.'?elan='.$languageFolder; + { + $e_QUERY = str_replace('['.e_MENU.']',"",e_QUERY); + $link = (!LANGLINKS_NOQUERY) ? e_REQUEST_SELF.'?['.$code.']'.$e_QUERY : e_REQUEST_SELF.'?elan='.$languageFolder; + } } + $class = ($languageFolder == e_LANGUAGE) ? 'languagelink_active' : 'languagelink'; + $ret[] = "\n{$name}"; } return implode(LANGLINKS_SEPARATOR, $ret); -} \ No newline at end of file +} + + + +