diff --git a/inc/SP/Controller/ConfigActionController.class.php b/inc/SP/Controller/ConfigActionController.class.php index 6dd85078..22d21e42 100644 --- a/inc/SP/Controller/ConfigActionController.class.php +++ b/inc/SP/Controller/ConfigActionController.class.php @@ -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() { diff --git a/inc/SP/Core/Language.class.php b/inc/SP/Core/Language.class.php index 95e3f73c..0f51b09e 100644 --- a/inc/SP/Core/Language.class.php +++ b/inc/SP/Core/Language.class.php @@ -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() { diff --git a/inc/SP/Http/Request.class.php b/inc/SP/Http/Request.class.php index a735ddfb..b0cb8e2a 100644 --- a/inc/SP/Http/Request.class.php +++ b/inc/SP/Http/Request.class.php @@ -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)); - } } \ No newline at end of file diff --git a/inc/SP/Log/Log.class.php b/inc/SP/Log/Log.class.php index e02e9d68..302995ab 100644 --- a/inc/SP/Log/Log.class.php +++ b/inc/SP/Log/Log.class.php @@ -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; }