Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorvipsoft <vipsoft@59fd770c-687e-43c8-a1e3-f5a4ff64c105>2009-08-18 08:37:06 +0400
committervipsoft <vipsoft@59fd770c-687e-43c8-a1e3-f5a4ff64c105>2009-08-18 08:37:06 +0400
commit9e179f124cb2173d3415a92d50f3480bdd969a32 (patch)
tree9b4d8522dae5901f6791b94dc6338e8e467cea8b /plugins/LanguagesManager
parented72eb45133ef34e819d39351eac15562a82e5a7 (diff)
fixes #939 - refactor saveLanguage() from Installation and CoreUpdater controllers
Added Piwik_LanguagesManager_API::getLanguageForSession() and setLanguageForSession()
Diffstat (limited to 'plugins/LanguagesManager')
-rw-r--r--plugins/LanguagesManager/API.php22
-rw-r--r--plugins/LanguagesManager/Controller.php16
-rw-r--r--plugins/LanguagesManager/LanguagesManager.php6
-rw-r--r--plugins/LanguagesManager/templates/languages.tpl2
4 files changed, 33 insertions, 13 deletions
diff --git a/plugins/LanguagesManager/API.php b/plugins/LanguagesManager/API.php
index 5aaf5c484a..9b0d3eb589 100644
--- a/plugins/LanguagesManager/API.php
+++ b/plugins/LanguagesManager/API.php
@@ -129,4 +129,26 @@ class Piwik_LanguagesManager_API
ON DUPLICATE KEY UPDATE language=?',
$paramsBind);
}
+
+ /**
+ * @param
+ */
+ static public function getLanguageForSession()
+ {
+ $session = new Zend_Session_Namespace("LanguagesManager");
+ if(isset($session->language))
+ {
+ return $session->language;
+ }
+ return null;
+ }
+
+ /**
+ * @param
+ */
+ static public function setLanguageForSession($language)
+ {
+ $session = new Zend_Session_Namespace("LanguagesManager");
+ $session->language = $language;
+ }
}
diff --git a/plugins/LanguagesManager/Controller.php b/plugins/LanguagesManager/Controller.php
index 5c7a8c40e2..ca99f8728b 100644
--- a/plugins/LanguagesManager/Controller.php
+++ b/plugins/LanguagesManager/Controller.php
@@ -22,14 +22,14 @@ class Piwik_LanguagesManager_Controller extends Piwik_Controller
public function saveLanguage()
{
$language = Piwik_Common::getRequestVar('language');
- $currentUser = Piwik::getCurrentUserLogin();
- $session = new Zend_Session_Namespace("LanguagesManager");
- $session->language = $language;
- if($currentUser !== 'anonymous')
- {
- Piwik_LanguagesManager_API::setLanguageForUser($currentUser, $language);
+ Piwik_LanguagesManager_API::setLanguageForSession($language);
+ if(Zend_Registry::isRegistered('access')) {
+ $currentUser = Piwik::getCurrentUserLogin();
+ if($currentUser && $currentUser !== 'anonymous')
+ {
+ Piwik_LanguagesManager_API::setLanguageForUser($currentUser, $language);
+ }
}
Piwik_Url::redirectToReferer();
- }
-
+ }
}
diff --git a/plugins/LanguagesManager/LanguagesManager.php b/plugins/LanguagesManager/LanguagesManager.php
index 4e38cb1562..87f09fec64 100644
--- a/plugins/LanguagesManager/LanguagesManager.php
+++ b/plugins/LanguagesManager/LanguagesManager.php
@@ -131,10 +131,9 @@ class Piwik_LanguagesManager extends Piwik_Plugin
*/
static protected function getLanguageFromPreferences()
{
- $session = new Zend_Session_Namespace("LanguagesManager");
- if(isset($session->language))
+ if ($language = Piwik_LanguagesManager_API::getLanguageForSession())
{
- return $session->language;
+ return $language;
}
try {
@@ -144,5 +143,4 @@ class Piwik_LanguagesManager extends Piwik_Plugin
return false;
}
}
-
}
diff --git a/plugins/LanguagesManager/templates/languages.tpl b/plugins/LanguagesManager/templates/languages.tpl
index ee4a6d32cb..a7ebf9ff03 100644
--- a/plugins/LanguagesManager/templates/languages.tpl
+++ b/plugins/LanguagesManager/templates/languages.tpl
@@ -1,6 +1,6 @@
<span class="topBarElem" style="padding-right:70px">
<span id="languageSelection" style="display:none;position:absolute">
- <form action="index.php?module=LanguagesManager&action=saveLanguage" method="get">
+ <form action="index.php?{if $currentModule != ''}module=LanguagesManager&{/if}action=saveLanguage" method="get">
<select name="language">
<option value="{$currentLanguageCode}">{$currentLanguageName}</option>
{foreach from=$languages item=language}