* [FIX] Fixed lagnguage selection for Polish. Related #124. Thanks to @wseredynski

* [ADD] Set fallback locale to en_US
* [MOD] Improved request handling.
* [MOD] Improved saved config parameters handling.
This commit is contained in:
nuxsmin
2017-01-14 12:16:07 +01:00
parent f768dff795
commit faff6f8fe4
4 changed files with 39 additions and 53 deletions

View File

@@ -156,7 +156,7 @@ class ConfigActionController implements ItemControllerInterface
$Config->setSyslogRemoteEnabled($remoteSyslogEnabled);
$Config->setSyslogServer($syslogServer);
$Config->setSyslogPort($syslogPort);
} else {
} elseif ($Config->isSyslogEnabled()) {
$Config->setSyslogRemoteEnabled(false);
$Log->addDescription(_('Syslog remoto deshabilitado'));
@@ -232,7 +232,7 @@ class ConfigActionController implements ItemControllerInterface
$Config->setProxyPass($proxyPass);
$Log->addDescription(_('Proxy habiltado'));
} else {
} elseif ($Config->isProxyEnabled()) {
$Config->setProxyEnabled(false);
$Log->addDescription(_('Proxy deshabilitado'));
@@ -302,7 +302,7 @@ class ConfigActionController implements ItemControllerInterface
$Config->setWikiFilter(explode(',', $wikiFilter));
$Log->addDescription(_('Wiki habiltada'));
} else {
} elseif ($Config->isWikiEnabled()) {
$Config->setWikiEnabled(false);
$Log->addDescription(_('Wiki deshabilitada'));
@@ -329,7 +329,7 @@ class ConfigActionController implements ItemControllerInterface
$Config->setDokuwikiNamespace($dokuWikiNamespace);
$Log->addDescription(_('DokuWiki habiltada'));
} else {
} elseif ($Config->isDokuwikiEnabled()) {
$Config->setDokuwikiEnabled(false);
$Log->addDescription(_('DokuWiki deshabilitada'));
@@ -377,7 +377,7 @@ class ConfigActionController implements ItemControllerInterface
$Config->setLdapBindPass($ldapBindPass);
$Log->addDescription(_('LDAP habiltado'));
} else {
} elseif ($Config->isLdapEnabled()) {
$Config->setLdapEnabled(false);
$Log->addDescription(_('LDAP deshabilitado'));
@@ -428,7 +428,7 @@ class ConfigActionController implements ItemControllerInterface
}
$Log->addDescription(_('Correo habiltado'));
} else {
} elseif ($Config->isMailEnabled()) {
$Config->setMailEnabled(false);
$Config->setMailRequestsEnabled(false);
$Config->setMailAuthenabled(false);
@@ -445,6 +445,7 @@ class ConfigActionController implements ItemControllerInterface
* Acción para cambio de clave maestra
*
* @throws \SP\Core\Exceptions\SPException
* @throws \SP\Core\Exceptions\InvalidClassException
*/
protected function masterPassAction()
{

View File

@@ -59,6 +59,7 @@ class Language
* Establecer el lenguaje a utilizar
*
* @param bool $force Forzar la detección del lenguaje para los inicios de sesión
* @throws \SP\Core\Exceptions\InvalidClassException
*/
public static function setLanguage($force = false)
{
@@ -83,6 +84,7 @@ class Language
* Devuelve el lenguaje del usuario
*
* @return bool
* @throws \SP\Core\Exceptions\InvalidClassException
*/
private function getUserLang()
{
@@ -146,10 +148,11 @@ class Language
private static function setLocales($lang)
{
$lang .= '.utf8';
$fallback = 'en_US.utf8';
putenv('LANG=' . $lang);
self::$localeStatus = setlocale(LC_MESSAGES, $lang);
setlocale(LC_ALL, $lang);
self::$localeStatus = setlocale(LC_MESSAGES, $lang, $fallback);
setlocale(LC_ALL, $lang, $fallback);
bindtextdomain('messages', LOCALES_PATH);
textdomain('messages');
bind_textdomain_codeset('messages', 'UTF-8');
@@ -169,14 +172,14 @@ class Language
'Deutsch' => 'de_DE',
'Magyar' => 'hu_HU',
'Français' => 'fr_FR',
'Polskie' => 'po_PO',
'Polski' => 'po_PO',
'русский' => 'ru_RU',
'Nederlands' => 'nl_NL'
];
}
/**
* Establecer el lenguaje global para las trdducciones
* Establecer el lenguaje global para las traducciones
*/
public static function setAppLocales()
{
@@ -184,7 +187,7 @@ class Language
}
/**
* Restablecer el lenguaje global para las trdducciones
* Restablecer el lenguaje global para las traducciones
*/
public static function unsetAppLocales()
{

View File

@@ -2,8 +2,8 @@
/**
* sysPass
*
* @author nuxsmin
* @link http://syspass.org
* @author nuxsmin
* @link http://syspass.org
* @copyright 2012-2017, Rubén Domínguez nuxsmin@$syspass.org
*
* This file is part of sysPass.
@@ -39,6 +39,8 @@ class Request
* Comprobar el método utilizado para enviar un formulario.
*
* @param string $method con el método utilizado.
* @throws \SP\Core\Exceptions\FileNotFoundException
* @throws \SP\Core\Exceptions\SPException
*/
public static function checkReferer($method)
{
@@ -70,7 +72,7 @@ class Request
$CryptPKI = new CryptPKI();
$clearData = $CryptPKI->decryptRSA(base64_decode($encryptedData));
} catch (\Exception $e) {
error_log($e->getMessage());
debugLog($e->getMessage());
return $encryptedData;
}
@@ -90,28 +92,15 @@ class Request
*/
public static function analyze($param, $default = '', $check = false, $force = false, $sanitize = true)
{
switch ($_SERVER['REQUEST_METHOD']) {
case 'GET':
if (!isset($_GET[$param])) {
return $force ? !$force : $default;
}
$value = &$_GET[$param];
break;
case 'POST':
if (!isset($_POST[$param])) {
return $force ? !$force : $default;
}
$value = &$_POST[$param];
break;
}
if ($check) {
if (!isset($_REQUEST[$param])) {
return $force ? !$force : $default;
} elseif ($check) {
return true;
} elseif ($force) {
return $force;
}
return self::parse($value, $default, $sanitize);
return self::parse($_REQUEST[$param], $default, $sanitize);
}
/**
@@ -130,15 +119,11 @@ class Request
}
return $value;
}
if ((is_numeric($value) || is_numeric($default))
} elseif ((is_numeric($value) || is_numeric($default))
&& !is_string($default)
) {
return (int)$value;
}
if (is_string($value)) {
} elseif (is_string($value)) {
return ($sanitize === true) ? Html::sanitize($value) : (string)$value;
}
@@ -218,6 +203,18 @@ class Request
return count($params) > 0 ? '?' . implode('&', $params) : '';
}
/**
* Devuelve un nombre de archivo seguro
*
* @param $file
* @param null $base
* @return string
*/
public static function getSecureAppFile($file, $base = null)
{
return basename(self::getSecureAppPath($file, $base));
}
/**
* Devolver una ruta segura para
*
@@ -239,16 +236,4 @@ class Request
return $realPath;
}
}
/**
* Devuelve un nombre de archivo seguro
*
* @param $file
* @param null $base
* @return string
*/
public static function getSecureAppFile($file, $base = null)
{
return basename(self::getSecureAppPath($file, $base));
}
}

View File

@@ -115,6 +115,7 @@ class Log extends ActionLog
*
* @param bool $resetDescription Restablecer la descripción
* @return bool
* @throws \SP\Core\Exceptions\SPException
*/
public function writeLog($resetDescription = false)
{
@@ -134,8 +135,6 @@ class Log extends ActionLog
$this->sendToSyslog();
}
Language::setAppLocales();
$description = trim($this->getDescription() . PHP_EOL . $this->getDetails());
$query = 'INSERT INTO log SET ' .
@@ -162,8 +161,6 @@ class Log extends ActionLog
$query = DB::getQuery($Data);
Language::unsetAppLocales();
return $query;
}