blob: 3eba8c5097d1c03056bed18e9039159e7ea9d8da (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
<?php
/**
* Piwik - Open source web analytics
*
* @link http://piwik.org
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
*
* @category Piwik_Plugins
* @package LanguagesManager
*
*/
namespace Piwik\Plugins\LanguagesManager;
use Piwik\Piwik;
use Piwik\Common;
use Piwik\Plugins\LanguagesManager\API;
use Piwik\Url;
use Piwik\Plugins\LanguagesManager\LanguagesManager;
use Zend_Registry;
/**
* @package LanguagesManager
*/
class Controller extends \Piwik\Controller
{
/**
* anonymous = in the session
* authenticated user = in the session and in DB
*/
public function saveLanguage()
{
$language = Common::getRequestVar('language');
// Prevent CSRF only when piwik is not installed yet (During install user can change language)
if (Piwik::isInstalled()) {
$this->checkTokenInUrl();
}
LanguagesManager::setLanguageForSession($language);
if (Zend_Registry::isRegistered('access')) {
$currentUser = Piwik::getCurrentUserLogin();
if ($currentUser && $currentUser !== 'anonymous') {
API::getInstance()->setLanguageForUser($currentUser, $language);
}
}
Url::redirectToReferer();
}
}
|