2018-05-05 22:35:58 +02:00
|
|
|
<?php
|
|
|
|
/**
|
|
|
|
* Piwik - free/libre analytics platform
|
|
|
|
*
|
|
|
|
* @link http://piwik.org
|
|
|
|
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
|
|
|
|
*/
|
|
|
|
|
|
|
|
namespace Piwik\Plugins\LanguageToogle;
|
|
|
|
|
|
|
|
use Piwik\Menu\MenuTop;
|
|
|
|
use Piwik\Piwik;
|
|
|
|
use Piwik\Plugins\LanguagesManager\API;
|
|
|
|
|
|
|
|
|
|
|
|
class Menu extends \Piwik\Plugin\Menu
|
|
|
|
{
|
|
|
|
public function configureTopMenu(MenuTop $menu) {
|
|
|
|
if (Piwik::hasUserSuperUserAccess()) {
|
2018-05-06 12:01:20 +02:00
|
|
|
$additionalParams = ["returnModule" => Piwik::getModule(), "returnAction" => Piwik::getAction()];
|
2018-05-05 22:35:58 +02:00
|
|
|
$settings = new UserSettings();
|
2018-05-07 11:50:37 +02:00
|
|
|
if (empty($settings->availableLanguages)) {
|
2018-05-05 22:35:58 +02:00
|
|
|
return false;
|
|
|
|
}
|
2018-05-06 13:10:45 +02:00
|
|
|
$languages = [];
|
|
|
|
foreach (API::getInstance()->getAvailableLanguageNames() as $lang) {
|
|
|
|
$languages[$lang["code"]] = $lang;
|
|
|
|
}
|
2018-05-07 11:50:37 +02:00
|
|
|
foreach ($settings->availableLanguages->getValue() as $setting) {
|
2020-10-10 18:48:18 +02:00
|
|
|
$code = $setting["languageCode"];
|
2018-05-06 13:10:45 +02:00
|
|
|
if (isset($languages[$code])) {
|
|
|
|
$additionalParams["lang"] = $code;
|
2020-10-10 18:48:18 +02:00
|
|
|
$menu->addItem(Piwik::translate("Intl_Language_" . $code), null, $this->urlForDefaultAction($additionalParams), $orderId = 35);
|
2018-05-05 22:35:58 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|