From 27c15ac2afddb8b279688e1a0c68c8db71957600 Mon Sep 17 00:00:00 2001 From: secretr Date: Sun, 21 Nov 2010 09:08:18 +0000 Subject: [PATCH] admin language related obsolete code, minor language/redirect handlers improvements --- .../shortcodes/batch/admin_shortcodes.php | 41 +++++++++++-------- e107_handlers/language_class.php | 10 +++-- e107_handlers/redirection_class.php | 4 ++ 3 files changed, 35 insertions(+), 20 deletions(-) diff --git a/e107_core/shortcodes/batch/admin_shortcodes.php b/e107_core/shortcodes/batch/admin_shortcodes.php index 76b99a150..1bd4280b4 100644 --- a/e107_core/shortcodes/batch/admin_shortcodes.php +++ b/e107_core/shortcodes/batch/admin_shortcodes.php @@ -139,11 +139,14 @@ class admin_shortcodes function sc_admin_lang($parm) { - global $e107, $sql, $pref; - if (!ADMIN || !$pref['multilanguage']) { return ''; } - - include_lan(e_PLUGIN.'user_menu/languages/'.e_LANGUAGE.'.php'); + + $e107 = e107::getInstance(); + $sql = e107::getDb(); + $pref = e107::getPref(); + + e107::plugLan('user_menu', '', true); + $params = array(); parse_str($parm, $params); @@ -159,13 +162,16 @@ class admin_shortcodes } } - require_once(e_HANDLER.'language_class.php'); - $slng = new language; - + $slng = e107::getLanguage(); if(!getperms($sql->mySQLlanguage) && $lanperms) { - $sql->mySQLlanguage = ($lanperms[0] != $pref['sitelanguage']) ? $lanperms[0] : ""; + $slng->set($lanperms[0]); + if ($pref['user_tracking'] == "session" && $pref['multilanguage_subdomain']) + { + e107::getRedirect()->redirect($slng->subdomainUrl($lanperms[0])); + } + /*$sql->mySQLlanguage = ($lanperms[0] != $pref['sitelanguage']) ? $lanperms[0] : ""; if ($pref['user_tracking'] == "session") { $_SESSION['e107language_'.$pref['cookie_name']] = $lanperms[0]; @@ -177,19 +183,19 @@ class admin_shortcodes { setcookie('e107language_'.$pref['cookie_name'], $lanperms[0], time() + 86400, '/'); $_COOKIE['e107language_'.$pref['cookie_name']]= $lanperms[0]; - } + }*/ } if(varset($GLOBALS['mySQLtablelist'])) { - foreach($GLOBALS['mySQLtablelist'] as $tabs) - { - $clang = strtolower($sql->mySQLlanguage); - if(strpos($tabs,"lan_".$clang) && $clang !="") + foreach($GLOBALS['mySQLtablelist'] as $tabs) { - $aff[] = str_replace(MPREFIX."lan_".$clang."_","",$tabs); + $clang = strtolower($sql->mySQLlanguage); + if(strpos($tabs,"lan_".$clang) && $clang !="") + { + $aff[] = str_replace(MPREFIX."lan_".$clang."_","",$tabs); + } } - } } $text .= " @@ -220,6 +226,7 @@ class admin_shortcodes $select = ''; if(isset($pref['multilanguage_subdomain']) && $pref['multilanguage_subdomain']) { + // TODO - JS independent $select .= " "; } - elseif(isset($params['nobutton'])) + /*elseif(isset($params['nobutton'])) { $select .= "
@@ -247,7 +254,7 @@ class admin_shortcodes
"; - } + }*/ else { $select .= " diff --git a/e107_handlers/language_class.php b/e107_handlers/language_class.php index cfb5e0dff..d1357cb43 100644 --- a/e107_handlers/language_class.php +++ b/e107_handlers/language_class.php @@ -438,13 +438,17 @@ class language{ /** * Set the Language (Constants, $_SESSION and $_COOKIE) for the current page. - * @return + * @param string $language force set + * @return void */ - function set() + function set($language = null) { $pref = e107::getPref(); $session = e107::getSession(); // default core session namespace - + if($language && ($language = $this->isValid($language))) // force set + { + $this->detect = $language; + } if($this->detect) // Language-Change Trigger Detected. { // new - e_language moved to e107 namespace - $_SESSION['e107']['e_language'] diff --git a/e107_handlers/redirection_class.php b/e107_handlers/redirection_class.php index 796a7ec62..c3a78cd74 100644 --- a/e107_handlers/redirection_class.php +++ b/e107_handlers/redirection_class.php @@ -309,6 +309,10 @@ class redirection */ public function redirect($url, $replace = TRUE, $http_response_code = NULL) { + if(session_id()) + { + e107::getSession()->end(); + } if(NULL == $http_response_code) { header('Location: '.$url, $replace);