| Server IP : 213.186.33.4 / Your IP : 216.73.216.193 Web Server : Apache System : Linux webm006.cluster103.gra.hosting.ovh.net 5.15.206-ovh-vps-grsec-zfs-classid #1 SMP Fri May 15 02:41:25 UTC 2026 x86_64 User : awebpaca ( 35430) PHP Version : 8.5.0 Disable Function : _dyuweyrj4,_dyuweyrj4r,dl MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/a/w/e/awebpaca/piwik/plugins/LanguagesManager/ |
Upload File : |
<?php
/**
* Matomo - free/libre analytics platform
*
* @link https://matomo.org
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
*
*
*/
namespace Piwik\Plugins\LanguagesManager;
use Piwik\Common;
use Piwik\Db;
use Piwik\DbHelper;
class Model
{
private static $rawPrefix = 'user_language';
private $table;
public function __construct()
{
$this->table = Common::prefixTable(self::$rawPrefix);
}
public function deleteUserLanguage($userLogin)
{
Db::query('DELETE FROM ' . $this->table . ' WHERE login = ?', $userLogin);
}
/**
* Returns the language for the user
*
* @param string $userLogin
* @return string
*/
public function getLanguageForUser($userLogin)
{
return Db::fetchOne('SELECT language FROM ' . $this->table .
' WHERE login = ? ', array($userLogin));
}
/**
* Sets the language for the user
*
* @param string $login
* @param string $languageCode
* @return bool
*/
public function setLanguageForUser($login, $languageCode)
{
$query = 'INSERT INTO ' . $this->table .
' (login, language) VALUES (?,?) ON DUPLICATE KEY UPDATE language=?';
$bind = array($login, $languageCode, $languageCode);
Db::query($query, $bind);
return true;
}
/**
* Returns whether the given user has chosen to use 12 hour clock
*
* @param $userLogin
* @return bool
* @throws \Exception
*/
public function uses12HourClock($userLogin)
{
return (bool) Db::fetchOne('SELECT use_12_hour_clock FROM ' . $this->table .
' WHERE login = ? ', array($userLogin));
}
/**
* Sets whether the given user wants to use 12 hout clock
*
* @param string $login
* @param string $use12HourClock
* @return bool
*/
public function set12HourClock($login, $use12HourClock)
{
$query = 'INSERT INTO ' . $this->table .
' (login, use_12_hour_clock) VALUES (?,?) ON DUPLICATE KEY UPDATE use_12_hour_clock=?';
$bind = array($login, $use12HourClock, $use12HourClock);
Db::query($query, $bind);
return true;
}
public static function install()
{
$userLanguage = "login VARCHAR( 100 ) NOT NULL ,
language VARCHAR( 10 ) NOT NULL ,
use_12_hour_clock TINYINT(1) NOT NULL DEFAULT 0 ,
PRIMARY KEY ( login )";
DbHelper::createTable(self::$rawPrefix, $userLanguage);
}
public static function uninstall()
{
Db::dropTables(Common::prefixTable(self::$rawPrefix));
}
}