mirror of
https://github.com/nuxsmin/sysPass.git
synced 2026-03-19 06:46:49 +01:00
* [ADD] Added session data encryption.
This commit is contained in:
@@ -29,6 +29,7 @@ defined('APP_ROOT') || die();
|
||||
use SP\Core\Exceptions\SPException;
|
||||
use SP\DataModel\TrackData;
|
||||
use SP\Mgmt\Tracks\Track;
|
||||
use SP\Util\Util;
|
||||
|
||||
/**
|
||||
* Class ApiUtil
|
||||
@@ -47,7 +48,7 @@ class ApiUtil
|
||||
try {
|
||||
$TrackData = new TrackData();
|
||||
$TrackData->setTrackSource('API');
|
||||
$TrackData->setTrackIp($_SERVER['REMOTE_ADDR']);
|
||||
$TrackData->setTrackIp(Util::getClientAddress());
|
||||
|
||||
Track::getItem($TrackData)->add();
|
||||
} catch (SPException $e) {
|
||||
|
||||
@@ -31,6 +31,7 @@ use SP\Config\Config;
|
||||
use SP\Config\ConfigData;
|
||||
use SP\Config\ConfigDB;
|
||||
use SP\Core\ActionsInterface;
|
||||
use SP\Core\Crypt\CryptSessionHandler;
|
||||
use SP\Core\CryptMasterPass;
|
||||
use SP\Core\DiFactory;
|
||||
use SP\Core\Init;
|
||||
@@ -428,6 +429,7 @@ class ConfigController extends ControllerBase implements ActionsInterface
|
||||
$this->view->assign('configBackupDate', date('r', $this->configDB['config_backupdate']));
|
||||
$this->view->assign('plugins', PluginUtil::getLoadedPlugins());
|
||||
$this->view->assign('locale', Language::$localeStatus ?: sprintf('%s (%s)', Config::getConfig()->getSiteLang(), __('No instalado')));
|
||||
$this->view->assign('securedSession', CryptSessionHandler::$isSecured);
|
||||
|
||||
$this->view->append('tabs', ['title' => __('Información')]);
|
||||
$this->view->assign('tabIndex', $this->getTabIndex(), 'info');
|
||||
|
||||
@@ -190,7 +190,7 @@ class LoginController
|
||||
try {
|
||||
$TrackData = new TrackData();
|
||||
$TrackData->setTrackSource('Login');
|
||||
$TrackData->setTrackIp($_SERVER['REMOTE_ADDR']);
|
||||
$TrackData->setTrackIp(Util::getClientAddress());
|
||||
|
||||
$attempts = count(Track::getItem($TrackData)->getTracksForClientFromTime(time() - self::TIME_TRACKING));
|
||||
} catch (SPException $e) {
|
||||
@@ -220,7 +220,7 @@ class LoginController
|
||||
try {
|
||||
$TrackData = new TrackData();
|
||||
$TrackData->setTrackSource('Login');
|
||||
$TrackData->setTrackIp($_SERVER['REMOTE_ADDR']);
|
||||
$TrackData->setTrackIp(Util::getClientAddress());
|
||||
|
||||
Track::getItem($TrackData)->add();
|
||||
} catch (SPException $e) {
|
||||
|
||||
@@ -606,8 +606,8 @@ class MainController extends ControllerBase implements ActionsInterface
|
||||
$Message = new NoticeMessage();
|
||||
$Message->setTitle(__('Enlace visualizado'));
|
||||
$Message->addDescription(sprintf('%s : %s', __('Cuenta'), $PublicLink->getItemId()));
|
||||
$Message->addDescription(sprintf('%s : %s', __('Origen'), Checks::demoIsEnabled() ? '*.*.*.*' : $_SERVER['REMOTE_ADDR']));
|
||||
$Message->addDescription(sprintf('%s : %s', __('Agente'), $_SERVER['HTTP_USER_AGENT']));
|
||||
$Message->addDescription(sprintf('%s : %s', __('Origen'), Checks::demoIsEnabled() ? '*.*.*.*' : Util::getClientAddress()));
|
||||
$Message->addDescription(sprintf('%s : %s', __('Agente'), Request::getRequestHeaders('HTTP_USER_AGENT')));
|
||||
$Message->addDescription(sprintf('HTTPS : %s', Checks::httpsEnabled() ? 'ON' : 'OFF'));
|
||||
|
||||
|
||||
|
||||
@@ -24,99 +24,40 @@
|
||||
|
||||
namespace SP\Core\Crypt;
|
||||
|
||||
use Defuse\Crypto\Exception\CryptoException;
|
||||
use Defuse\Crypto\Key;
|
||||
use SP\Core\Init;
|
||||
use SP\Http\Request;
|
||||
use SP\Util\Checks;
|
||||
|
||||
/**
|
||||
* Class Cookie
|
||||
*
|
||||
* @package SP\Core\Crypt
|
||||
*/
|
||||
class Cookie
|
||||
abstract class Cookie
|
||||
{
|
||||
/**
|
||||
* Nombre de la cookie
|
||||
*/
|
||||
const COOKIE_NAME = 'SYSPASS_SK';
|
||||
/**
|
||||
* @var Key
|
||||
*/
|
||||
public static $Key;
|
||||
|
||||
/**
|
||||
* Obtener una llave de encriptación
|
||||
*
|
||||
* @param string $key
|
||||
* @return Key|false|string
|
||||
*/
|
||||
public static function getKey($key = null)
|
||||
{
|
||||
$key = $key === null ? self::getCypher() : $key;
|
||||
|
||||
if (isset($_COOKIE[Cookie::COOKIE_NAME])) {
|
||||
/** @var Vault $Vault */
|
||||
$Vault = unserialize($_COOKIE[Cookie::COOKIE_NAME]);
|
||||
|
||||
if ($Vault !== false
|
||||
&& ($Vault instanceof Vault) === true
|
||||
) {
|
||||
try {
|
||||
return Key::loadFromAsciiSafeString($Vault->getData($key));
|
||||
} catch (CryptoException $e) {
|
||||
debugLog($e->getMessage());
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
} elseif ((self::$Key instanceof Key) === true) {
|
||||
return self::$Key;
|
||||
} else {
|
||||
return self::saveKey($key);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Devolver la llave de cifrado
|
||||
* Firmar la cookie para autentificación
|
||||
*
|
||||
* @param string $data
|
||||
* @param string $cypher
|
||||
* @return string
|
||||
*/
|
||||
private static function getCypher()
|
||||
protected final function sign($data, $cypher)
|
||||
{
|
||||
return md5(Request::getRequestHeaders('User-Agent'));
|
||||
$data = base64_encode($data);
|
||||
|
||||
return hash_hmac('sha256', $data, $cypher) . ';' . $data;
|
||||
}
|
||||
|
||||
/**
|
||||
* Guardar una llave de encriptación
|
||||
* Comprobar la firma de la cookie y devolver los datos
|
||||
*
|
||||
* @param $key
|
||||
* @return Key|bool
|
||||
* @param string $data
|
||||
* @param string $cypher
|
||||
* @return bool|string
|
||||
*/
|
||||
public static function saveKey($key)
|
||||
protected final function getCookieData($data, $cypher)
|
||||
{
|
||||
if (empty($key)) {
|
||||
return false;
|
||||
}
|
||||
list($signature, $data) = explode(';', $data, 2);
|
||||
|
||||
try {
|
||||
self::$Key = Key::createNewRandomKey();
|
||||
|
||||
$Vault = new Vault();
|
||||
$Vault->saveData(self::$Key->saveToAsciiSafeString(), $key);
|
||||
|
||||
// $timeout = ini_get('session.gc_maxlifetime') ?: 3600;
|
||||
|
||||
if (setcookie(Cookie::COOKIE_NAME, serialize($Vault), 0, Init::$WEBURI, Checks::httpsEnabled())) {
|
||||
return self::$Key;
|
||||
} else {
|
||||
self::$Key = null;
|
||||
}
|
||||
} catch (CryptoException $e) {
|
||||
debugLog($e->getMessage());
|
||||
if (!empty($signature) && !empty($data)) {
|
||||
return hash_equals($signature, hash_hmac('sha256', $data, $cypher)) ? base64_decode($data) : false;
|
||||
}
|
||||
|
||||
return false;
|
||||
|
||||
@@ -35,6 +35,10 @@ use Defuse\Crypto\Key;
|
||||
*/
|
||||
class CryptSessionHandler extends \SessionHandler
|
||||
{
|
||||
/**
|
||||
* @var bool Indica si la sesión está encriptada
|
||||
*/
|
||||
public static $isSecured = false;
|
||||
/**
|
||||
* @var Key
|
||||
*/
|
||||
@@ -70,10 +74,14 @@ class CryptSessionHandler extends \SessionHandler
|
||||
return '';
|
||||
} else {
|
||||
try {
|
||||
self::$isSecured = true;
|
||||
|
||||
return Crypt::decrypt($data, $this->Key);
|
||||
} catch (CryptoException $e) {
|
||||
debugLog($e->getMessage());
|
||||
|
||||
self::$isSecured = false;
|
||||
|
||||
return '';
|
||||
}
|
||||
}
|
||||
@@ -102,6 +110,8 @@ class CryptSessionHandler extends \SessionHandler
|
||||
try {
|
||||
$data = Crypt::encrypt($data, $this->Key);
|
||||
|
||||
self::$isSecured = true;
|
||||
|
||||
return parent::write($id, $data);
|
||||
} catch (CryptoException $e) {
|
||||
debugLog($e->getMessage());
|
||||
|
||||
147
inc/SP/Core/Crypt/SecureKeyCookie.class.php
Normal file
147
inc/SP/Core/Crypt/SecureKeyCookie.class.php
Normal file
@@ -0,0 +1,147 @@
|
||||
<?php
|
||||
/**
|
||||
* sysPass
|
||||
*
|
||||
* @author nuxsmin
|
||||
* @link http://syspass.org
|
||||
* @copyright 2012-2017, Rubén Domínguez nuxsmin@$syspass.org
|
||||
*
|
||||
* This file is part of sysPass.
|
||||
*
|
||||
* sysPass is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* sysPass is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with sysPass. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
namespace SP\Core\Crypt;
|
||||
|
||||
use Defuse\Crypto\Exception\CryptoException;
|
||||
use Defuse\Crypto\Key;
|
||||
use SP\Core\Init;
|
||||
use SP\Http\Request;
|
||||
use SP\Util\Checks;
|
||||
use SP\Util\Util;
|
||||
|
||||
/**
|
||||
* Class SecureKeyCookie
|
||||
*
|
||||
* @package SP\Core\Crypt
|
||||
*/
|
||||
class SecureKeyCookie extends Cookie
|
||||
{
|
||||
/**
|
||||
* Nombre de la cookie
|
||||
*/
|
||||
const COOKIE_NAME = 'SYSPASS_SK';
|
||||
/**
|
||||
* Llave usada para encriptar los datos
|
||||
*
|
||||
* @var Key
|
||||
*/
|
||||
protected $SecuredKey;
|
||||
|
||||
/**
|
||||
* Obtener una llave de encriptación
|
||||
*
|
||||
* @param string $key
|
||||
* @return Key|false|string
|
||||
*/
|
||||
public static function getKey($key = null)
|
||||
{
|
||||
$Cookie = new SecureKeyCookie();
|
||||
|
||||
$key = $key === null ? $Cookie->getCypher() : $key;
|
||||
|
||||
if (isset($_COOKIE[SecureKeyCookie::COOKIE_NAME])) {
|
||||
$data = $Cookie->getCookieData($_COOKIE[SecureKeyCookie::COOKIE_NAME], $key);
|
||||
|
||||
if ($data === false) {
|
||||
debugLog('Cookie verification error.');
|
||||
|
||||
return $Cookie->saveKey($key);
|
||||
}
|
||||
|
||||
/** @var Vault $Vault */
|
||||
$Vault = unserialize($data);
|
||||
|
||||
if ($Vault !== false
|
||||
&& ($Vault instanceof Vault) === true
|
||||
) {
|
||||
try {
|
||||
return Key::loadFromAsciiSafeString($Vault->getData($key));
|
||||
} catch (CryptoException $e) {
|
||||
debugLog($e->getMessage());
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
} elseif (($Cookie->getSecuredKey() instanceof Key) === true) {
|
||||
return $Cookie->getSecuredKey();
|
||||
} else {
|
||||
return $Cookie->saveKey($key);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Devolver la llave de cifrado para los datos de la cookie
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getCypher()
|
||||
{
|
||||
return md5(Request::getRequestHeaders('User-Agent') . Util::getClientAddress());
|
||||
}
|
||||
|
||||
/**
|
||||
* Guardar una llave de encriptación
|
||||
*
|
||||
* @param $key
|
||||
* @return Key|bool
|
||||
*/
|
||||
public function saveKey($key)
|
||||
{
|
||||
if (empty($key)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
debugLog('Generating a new session key.');
|
||||
|
||||
try {
|
||||
$this->SecuredKey = Key::createNewRandomKey();
|
||||
|
||||
$Vault = new Vault();
|
||||
$Vault->saveData($this->SecuredKey->saveToAsciiSafeString(), $key);
|
||||
|
||||
// $timeout = ini_get('session.gc_maxlifetime') ?: 3600;
|
||||
|
||||
if (setcookie(SecureKeyCookie::COOKIE_NAME, $this->sign(serialize($Vault), $key), 0, Init::$WEBURI, Checks::httpsEnabled())) {
|
||||
return $this->SecuredKey;
|
||||
} else {
|
||||
unset($this->SecuredKey);
|
||||
}
|
||||
} catch (CryptoException $e) {
|
||||
debugLog($e->getMessage());
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Key
|
||||
*/
|
||||
public function getSecuredKey()
|
||||
{
|
||||
return $this->SecuredKey;
|
||||
}
|
||||
}
|
||||
@@ -29,7 +29,7 @@ use SP\Account\AccountAcl;
|
||||
use SP\Auth\Browser\Browser;
|
||||
use SP\Config\Config;
|
||||
use SP\Controller\MainController;
|
||||
use SP\Core\Crypt\Cookie;
|
||||
use SP\Core\Crypt\SecureKeyCookie;
|
||||
use SP\Core\Crypt\CryptSessionHandler;
|
||||
use SP\Core\Exceptions\SPException;
|
||||
use SP\Core\Plugin\PluginUtil;
|
||||
@@ -110,12 +110,12 @@ class Init
|
||||
// Establecer el lenguaje por defecto
|
||||
Language::setLocales('en_US');
|
||||
|
||||
// Iniciar la sesión de PHP
|
||||
self::startSession();
|
||||
|
||||
// Establecer las rutas de la aplicación
|
||||
self::setPaths();
|
||||
|
||||
// Iniciar la sesión de PHP
|
||||
self::startSession();
|
||||
|
||||
// Cargar la configuración
|
||||
self::loadConfig();
|
||||
|
||||
@@ -300,7 +300,7 @@ class Init
|
||||
@ini_set('session.cookie_httponly', '1');
|
||||
@ini_set('session.save_handler', 'files');
|
||||
|
||||
$Key = Cookie::getKey();
|
||||
$Key = SecureKeyCookie::getKey();
|
||||
|
||||
if ($Key !== false) {
|
||||
session_set_save_handler(new CryptSessionHandler($Key), true);
|
||||
@@ -569,8 +569,8 @@ class Init
|
||||
|
||||
if ($check === true
|
||||
|| Checks::isAjax()
|
||||
|| (Request::analyze('a') === 'upgrade' && Request::analyze('type') !== '')
|
||||
|| Request::analyze('nodbupgrade', 0) === 1
|
||||
|| (Request::analyze('a') === 'upgrade' && Request::analyze('type') !== '')
|
||||
|| (self::$LOCK > 0 && self::isLoggedIn() && self::$LOCK === Session::getUserData()->getUserId())
|
||||
) {
|
||||
return true;
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
namespace SP\Core;
|
||||
|
||||
use SP\Config\Config;
|
||||
use SP\Http\Request;
|
||||
use SP\Mgmt\Users\UserPreferences;
|
||||
|
||||
defined('APP_ROOT') || die();
|
||||
@@ -126,8 +127,10 @@ class Language
|
||||
*/
|
||||
private function getBrowserLang()
|
||||
{
|
||||
if (isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) {
|
||||
return str_replace('-', '_', substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 5));
|
||||
$lang = Request::getRequestHeaders('HTTP_ACCEPT_LANGUAGE');
|
||||
|
||||
if ($lang) {
|
||||
return str_replace('-', '_', substr($lang, 0, 5));
|
||||
} else {
|
||||
return '';
|
||||
}
|
||||
|
||||
@@ -44,9 +44,11 @@ class Request
|
||||
*/
|
||||
public static function checkReferer($method)
|
||||
{
|
||||
if (!isset($_SERVER['HTTP_REFERER'])
|
||||
$referer = self::getRequestHeaders('HTTP_REFERER');
|
||||
|
||||
if (!$referer
|
||||
|| $_SERVER['REQUEST_METHOD'] !== strtoupper($method)
|
||||
|| !preg_match('#' . Init::$WEBROOT . '/.*$#', $_SERVER['HTTP_REFERER'])
|
||||
|| !preg_match('#' . Init::$WEBROOT . '/.*$#', $referer)
|
||||
) {
|
||||
Init::initError(__('No es posible acceder directamente a este archivo'));
|
||||
exit();
|
||||
@@ -83,11 +85,11 @@ class Request
|
||||
* Obtener los valores de variables $_GET y $_POST
|
||||
* y devolverlos limpios con el tipo correcto o esperado.
|
||||
*
|
||||
* @param string $param con el parámetro a consultar
|
||||
* @param mixed $default valor por defecto a devolver
|
||||
* @param bool $check comprobar si el parámetro está presente
|
||||
* @param mixed $force valor devuelto si el parámeto está definido
|
||||
* @param bool $sanitize escapar/eliminar carácteres especiales
|
||||
* @param string $param con el parámetro a consultar
|
||||
* @param mixed $default valor por defecto a devolver
|
||||
* @param bool $check comprobar si el parámetro está presente
|
||||
* @param mixed $force valor devuelto si el parámeto está definido
|
||||
* @param bool $sanitize escapar/eliminar carácteres especiales
|
||||
* @return mixed si está presente el parámeto en la petición devuelve bool. Si lo está, devuelve el valor.
|
||||
*/
|
||||
public static function analyze($param, $default = '', $check = false, $force = false, $sanitize = true)
|
||||
@@ -148,13 +150,13 @@ class Request
|
||||
*/
|
||||
public static function getRequestHeaders($header = '')
|
||||
{
|
||||
$headers = self::getApacheHeaders();
|
||||
|
||||
if (!empty($header)) {
|
||||
return array_key_exists($header, $headers) ? trim($headers[$header]) : '';
|
||||
$header = strpos($header, 'HTTP_') === false ? 'HTTP_' . str_replace('-', '_', strtoupper($header)) : $header;
|
||||
|
||||
return isset($_SERVER[$header]) ? $_SERVER[$header] : '';
|
||||
}
|
||||
|
||||
return $headers;
|
||||
return self::getApacheHeaders();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -162,7 +164,7 @@ class Request
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public static function getApacheHeaders()
|
||||
private static function getApacheHeaders()
|
||||
{
|
||||
if (function_exists('\apache_request_headers')) {
|
||||
return apache_request_headers();
|
||||
@@ -172,7 +174,7 @@ class Request
|
||||
|
||||
foreach ($_SERVER as $key => $value) {
|
||||
if (strpos($key, 'HTTP_') === 0) {
|
||||
$key = str_replace(' ', '-', ucwords(strtolower(str_replace('_', ' ', substr($key, 5)))));
|
||||
$key = ucwords(strtolower(str_replace('_', '-', substr($key, 5))), '-');
|
||||
$headers[$key] = $value;
|
||||
} else {
|
||||
$headers[$key] = $value;
|
||||
|
||||
@@ -61,7 +61,7 @@ class Email
|
||||
if ($isEvent === true) {
|
||||
$performer = Session::getUserData()->getUserLogin() ?: __('N/D');
|
||||
$body[] = sprintf('%s: %s', Html::strongText(__('Acción')), $LogMessage->getAction(true));
|
||||
$body[] = sprintf('%s: %s (%s)', Html::strongText(__('Realizado por')), $performer, $_SERVER['REMOTE_ADDR']);
|
||||
$body[] = sprintf('%s: %s (%s)', Html::strongText(__('Realizado por')), $performer, Util::getClientAddress());
|
||||
|
||||
$Mail->addCC(Config::getConfig()->getMailFrom());
|
||||
}
|
||||
|
||||
@@ -165,23 +165,23 @@ class Log extends ActionLog
|
||||
|
||||
$description = trim($this->LogMessage->getDescription(true) . PHP_EOL . $this->LogMessage->getDetails(true));
|
||||
|
||||
$query = 'INSERT INTO log SET ' .
|
||||
'log_date = UNIX_TIMESTAMP(),' .
|
||||
'log_login = :login,' .
|
||||
'log_userId = :userId,' .
|
||||
'log_ipAddress = :ipAddress,' .
|
||||
'log_action = :action,' .
|
||||
'log_level = :level,' .
|
||||
'log_description = :description';
|
||||
$query = 'INSERT INTO log SET
|
||||
log_date = UNIX_TIMESTAMP(),
|
||||
log_login = ?,
|
||||
log_userId = ?,
|
||||
log_ipAddress = ?,
|
||||
log_action = ?,
|
||||
log_level = ?,
|
||||
log_description = ?';
|
||||
|
||||
$Data = new QueryData();
|
||||
$Data->setQuery($query);
|
||||
$Data->addParam(Session::getUserData()->getUserLogin(), 'login');
|
||||
$Data->addParam(Session::getUserData()->getUserId(), 'userId');
|
||||
$Data->addParam($_SERVER['REMOTE_ADDR'], 'ipAddress');
|
||||
$Data->addParam(utf8_encode($this->LogMessage->getAction(true)), 'action');
|
||||
$Data->addParam($this->getLogLevel(), 'level');
|
||||
$Data->addParam(utf8_encode($description), 'description');
|
||||
$Data->addParam(Session::getUserData()->getUserLogin());
|
||||
$Data->addParam(Session::getUserData()->getUserId());
|
||||
$Data->addParam(Util::getClientAddress());
|
||||
$Data->addParam(utf8_encode($this->LogMessage->getAction(true)));
|
||||
$Data->addParam($this->getLogLevel());
|
||||
$Data->addParam(utf8_encode($description));
|
||||
|
||||
if ($resetDescription === true) {
|
||||
$this->LogMessage->resetDescription();
|
||||
@@ -217,7 +217,7 @@ class Log extends ActionLog
|
||||
$msg .= $this->LogMessage->getAction(true) . '|';
|
||||
$msg .= $description . '|';
|
||||
$msg .= '0|';
|
||||
$msg .= sprintf('ip_addr="%s" user_name="%s"', $_SERVER['REMOTE_ADDR'], Session::getUserData()->getUserLogin());
|
||||
$msg .= sprintf('ip_addr="%s" user_name="%s"', Util::getClientAddress(), Session::getUserData()->getUserLogin());
|
||||
|
||||
$Syslog = new Syslog();
|
||||
$Syslog->setIsRemote(Checks::remoteSyslogIsEnabled());
|
||||
|
||||
@@ -66,7 +66,7 @@ class PublicLink extends PublicLinkBase implements ItemInterface
|
||||
public function addLinkView()
|
||||
{
|
||||
$this->itemData->addCountViews();
|
||||
$this->updateUseInfo($_SERVER['REMOTE_ADDR']);
|
||||
$this->updateUseInfo(Util::getClientAddress());
|
||||
|
||||
$Log = new Log();
|
||||
$LogMessage = $Log->getLogMessage();
|
||||
|
||||
@@ -30,6 +30,7 @@ use SP\Core\Exceptions\SPException;
|
||||
use SP\Core\Init;
|
||||
use SP\Core\Session;
|
||||
use SP\Html\Html;
|
||||
use SP\Http\Request;
|
||||
use SP\Log\Log;
|
||||
use SP\Log\LogUtil;
|
||||
|
||||
@@ -686,4 +687,14 @@ class Util
|
||||
|
||||
return touch($sysTmp . DIRECTORY_SEPARATOR . $file) ? $sysTmp : false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Devolver la dirección IP del cliente
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public static function getClientAddress()
|
||||
{
|
||||
return Request::getRequestHeaders('X-Forwarded-For') ?: $_SERVER['REMOTE_ADDR'];
|
||||
}
|
||||
}
|
||||
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@@ -8,8 +8,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: sysPass\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-03-01 01:52+0100\n"
|
||||
"PO-Revision-Date: 2017-03-02 22:45+0100\n"
|
||||
"POT-Creation-Date: 2017-03-05 08:22+0100\n"
|
||||
"PO-Revision-Date: 2017-03-05 08:24+0100\n"
|
||||
"Last-Translator: nuxsmin <nuxsmin@syspass.org>\n"
|
||||
"Language-Team: nuxsmin@syspass.org\n"
|
||||
"Language: en_US\n"
|
||||
@@ -152,11 +152,11 @@ msgstr "Account"
|
||||
#: ../../../../inc/SP/Controller/ItemActionController.class.php:749
|
||||
#: ../../../../inc/SP/Controller/LoginController.class.php:445
|
||||
#: ../../../../inc/SP/Controller/LoginController.class.php:472
|
||||
#: ../../../../inc/SP/Controller/LoginController.class.php:512
|
||||
#: ../../../../inc/SP/Controller/LoginController.class.php:530
|
||||
#: ../../../../inc/SP/Controller/LoginController.class.php:538
|
||||
#: ../../../../inc/SP/Controller/LoginController.class.php:514
|
||||
#: ../../../../inc/SP/Controller/LoginController.class.php:532
|
||||
#: ../../../../inc/SP/Controller/LoginController.class.php:540
|
||||
#: ../../../../inc/SP/Controller/MainActionController.class.php:125
|
||||
#: ../../../../inc/SP/Core/Init.class.php:445
|
||||
#: ../../../../inc/SP/Core/Init.class.php:451
|
||||
#: ../../../../inc/SP/Mgmt/Files/File.class.php:96
|
||||
#: ../../../../inc/SP/Mgmt/PublicLinks/PublicLink.class.php:75
|
||||
#: ../../../../inc/themes/material-blue/views/itemshow/customfields.inc:31
|
||||
@@ -218,7 +218,7 @@ msgid "Compruebe datos de usuario o consulte con el administrador"
|
||||
msgstr "Please, check the user data or contact to the administrator"
|
||||
|
||||
#: ../../../../ajax/ajax_passReset.php:88
|
||||
#: ../../../../inc/SP/Mgmt/Users/UserPass.class.php:321
|
||||
#: ../../../../inc/SP/Mgmt/Users/UserPass.class.php:329
|
||||
msgid "Modificar Clave Usuario"
|
||||
msgstr "Edit User Password"
|
||||
|
||||
@@ -229,14 +229,14 @@ msgid "Clave actualizada"
|
||||
msgstr "Password updated"
|
||||
|
||||
#: ../../../../ajax/ajax_passReset.php:102
|
||||
#: ../../../../inc/SP/Auth/Database/Database.class.php:95
|
||||
#: ../../../../inc/SP/Auth/Database/Database.class.php:92
|
||||
#: ../../../../inc/SP/Controller/Grids/Items.class.php:474
|
||||
#: ../../../../inc/SP/Controller/ItemActionController.class.php:231
|
||||
#: ../../../../inc/SP/Controller/ItemActionController.class.php:246
|
||||
#: ../../../../inc/SP/Controller/ItemActionController.class.php:267
|
||||
#: ../../../../inc/SP/Controller/ItemActionController.class.php:278
|
||||
#: ../../../../inc/SP/Mgmt/Users/UserMigrate.class.php:106
|
||||
#: ../../../../inc/SP/Mgmt/Users/UserPass.class.php:322
|
||||
#: ../../../../inc/SP/Mgmt/Users/UserPass.class.php:330
|
||||
#: ../../../../inc/themes/material-blue/views/itemshow/users.inc:37
|
||||
#: ../../../../inc/themes/material-blue/views/itemshow/userspass.inc:23
|
||||
msgid "Login"
|
||||
@@ -285,14 +285,14 @@ msgstr "Error while creating the account"
|
||||
#: ../../../../inc/SP/Api/ApiBase.class.php:200
|
||||
#: ../../../../inc/SP/Api/ApiBase.class.php:203
|
||||
#: ../../../../inc/SP/Api/ApiRequest.class.php:147
|
||||
#: ../../../../inc/SP/Api/ApiUtil.class.php:54
|
||||
#: ../../../../inc/SP/Api/ApiUtil.class.php:55
|
||||
#: ../../../../inc/SP/Controller/LoginController.class.php:199
|
||||
#: ../../../../inc/SP/Controller/LoginController.class.php:227
|
||||
#: ../../../../inc/SP/Controller/LoginController.class.php:246
|
||||
#: ../../../../inc/SP/Controller/LoginController.class.php:342
|
||||
#: ../../../../inc/SP/Controller/LoginController.class.php:373
|
||||
#: ../../../../inc/SP/Controller/LoginController.class.php:463
|
||||
#: ../../../../inc/SP/Controller/LoginController.class.php:487
|
||||
#: ../../../../inc/SP/Controller/LoginController.class.php:489
|
||||
#: ../../../../inc/SP/Core/OldCrypt.class.php:169
|
||||
#: ../../../../inc/SP/Core/OldCrypt.class.php:181
|
||||
#: ../../../../inc/SP/Import/XmlFileImport.class.php:106
|
||||
@@ -307,7 +307,7 @@ msgstr "Error while creating the account"
|
||||
#: ../../../../inc/SP/Mgmt/CustomFields/CustomFieldsUtil.class.php:159
|
||||
#: ../../../../inc/SP/Mgmt/CustomFields/CustomFieldsUtil.class.php:208
|
||||
#: ../../../../inc/SP/Mgmt/CustomFields/CustomFieldsUtil.class.php:229
|
||||
#: ../../../../inc/SP/Mgmt/Users/UserPass.class.php:245
|
||||
#: ../../../../inc/SP/Mgmt/Users/UserPass.class.php:252
|
||||
#: ../../../../inc/SP/Mgmt/Users/UserPassRecover.class.php:134
|
||||
msgid "Error interno"
|
||||
msgstr "Internal error"
|
||||
@@ -702,7 +702,7 @@ msgstr "Customer Id to filter on"
|
||||
#: ../../../../inc/SP/Api/SyspassApi.class.php:496
|
||||
#: ../../../../inc/themes/material-blue/views/account/account-editpass.inc:18
|
||||
#: ../../../../inc/themes/material-blue/views/account/account-link.inc:16
|
||||
#: ../../../../inc/themes/material-blue/views/account/account.inc:48
|
||||
#: ../../../../inc/themes/material-blue/views/account/account.inc:49
|
||||
#: ../../../../inc/themes/material-blue/views/account/request.inc:19
|
||||
msgid "Nombre de cuenta"
|
||||
msgstr "Account name"
|
||||
@@ -726,8 +726,8 @@ msgstr "Customer Id"
|
||||
#: ../../../../inc/themes/material-blue/views/account/account-link.inc:76
|
||||
#: ../../../../inc/themes/material-blue/views/account/account-link.inc:79
|
||||
#: ../../../../inc/themes/material-blue/views/account/account-link.inc:87
|
||||
#: ../../../../inc/themes/material-blue/views/account/account.inc:123
|
||||
#: ../../../../inc/themes/material-blue/views/account/account.inc:130
|
||||
#: ../../../../inc/themes/material-blue/views/account/account.inc:124
|
||||
#: ../../../../inc/themes/material-blue/views/account/account.inc:131
|
||||
#: ../../../../inc/themes/material-blue/views/account/viewpass.inc:31
|
||||
#: ../../../../inc/themes/material-blue/views/config/encryption.inc:266
|
||||
#: ../../../../inc/themes/material-blue/views/config/encryption.inc:269
|
||||
@@ -751,18 +751,18 @@ msgid "Clave"
|
||||
msgstr "Password"
|
||||
|
||||
#: ../../../../inc/SP/Api/SyspassApi.class.php:500
|
||||
#: ../../../../inc/themes/material-blue/views/account/account.inc:117
|
||||
#: ../../../../inc/themes/material-blue/views/account/account.inc:118
|
||||
msgid "Usuario de acceso"
|
||||
msgstr "Access user"
|
||||
|
||||
#: ../../../../inc/SP/Api/SyspassApi.class.php:501
|
||||
#: ../../../../inc/themes/material-blue/views/account/account.inc:105
|
||||
#: ../../../../inc/themes/material-blue/views/account/account.inc:106
|
||||
msgid "URL o IP de acceso"
|
||||
msgstr "Access URL or IP"
|
||||
|
||||
#: ../../../../inc/SP/Api/SyspassApi.class.php:502
|
||||
#: ../../../../inc/themes/material-blue/views/account/account-link.inc:72
|
||||
#: ../../../../inc/themes/material-blue/views/account/account.inc:172
|
||||
#: ../../../../inc/themes/material-blue/views/account/account.inc:174
|
||||
#: ../../../../inc/themes/material-blue/views/itemshow/users.inc:135
|
||||
msgid "Notas sobre la cuenta"
|
||||
msgstr "Notes about the account"
|
||||
@@ -881,9 +881,9 @@ msgstr "Error while searching the user on LDAP"
|
||||
#: ../../../../inc/SP/Controller/LoginController.class.php:260
|
||||
#: ../../../../inc/SP/Controller/LoginController.class.php:367
|
||||
#: ../../../../inc/SP/Controller/LoginController.class.php:446
|
||||
#: ../../../../inc/SP/Controller/LoginController.class.php:506
|
||||
#: ../../../../inc/SP/Controller/LoginController.class.php:531
|
||||
#: ../../../../inc/SP/Core/Init.class.php:609
|
||||
#: ../../../../inc/SP/Controller/LoginController.class.php:508
|
||||
#: ../../../../inc/SP/Controller/LoginController.class.php:533
|
||||
#: ../../../../inc/SP/Core/Init.class.php:615
|
||||
#: ../../../../inc/SP/Mgmt/PublicLinks/PublicLink.class.php:77
|
||||
#: ../../../../inc/SP/Mgmt/Users/UserLdapSync.class.php:99
|
||||
#: ../../../../inc/SP/Mgmt/Users/UserPreferencesUtil.class.php:64
|
||||
@@ -892,7 +892,7 @@ msgstr "Error while searching the user on LDAP"
|
||||
#: ../../../../inc/themes/material-blue/views/account/account-editpass.inc:51
|
||||
#: ../../../../inc/themes/material-blue/views/account/account-link.inc:54
|
||||
#: ../../../../inc/themes/material-blue/views/account/account-link.inc:60
|
||||
#: ../../../../inc/themes/material-blue/views/account/account.inc:110
|
||||
#: ../../../../inc/themes/material-blue/views/account/account.inc:111
|
||||
#: ../../../../inc/themes/material-blue/views/account/viewpass.inc:20
|
||||
#: ../../../../inc/themes/material-blue/views/accountsearch/rows.inc:63
|
||||
#: ../../../../inc/themes/material-blue/views/config/general-proxy.inc:47
|
||||
@@ -1040,8 +1040,8 @@ msgstr "More Actions"
|
||||
#: ../../../../inc/themes/material-blue/views/account/account-editpass.inc:29
|
||||
#: ../../../../inc/themes/material-blue/views/account/account-link.inc:21
|
||||
#: ../../../../inc/themes/material-blue/views/account/account-link.inc:27
|
||||
#: ../../../../inc/themes/material-blue/views/account/account.inc:53
|
||||
#: ../../../../inc/themes/material-blue/views/account/account.inc:55
|
||||
#: ../../../../inc/themes/material-blue/views/account/account.inc:54
|
||||
#: ../../../../inc/themes/material-blue/views/account/account.inc:56
|
||||
#: ../../../../inc/themes/material-blue/views/account/request.inc:24
|
||||
#: ../../../../inc/themes/material-blue/views/account/request.inc:31
|
||||
#: ../../../../inc/themes/material-blue/views/accountsearch/rows.inc:21
|
||||
@@ -1059,8 +1059,8 @@ msgstr "Sort by Name"
|
||||
#: ../../../../inc/SP/Controller/AccountSearchController.class.php:361
|
||||
#: ../../../../inc/themes/material-blue/views/account/account-link.inc:32
|
||||
#: ../../../../inc/themes/material-blue/views/account/account-link.inc:38
|
||||
#: ../../../../inc/themes/material-blue/views/account/account.inc:76
|
||||
#: ../../../../inc/themes/material-blue/views/account/account.inc:78
|
||||
#: ../../../../inc/themes/material-blue/views/account/account.inc:77
|
||||
#: ../../../../inc/themes/material-blue/views/account/account.inc:79
|
||||
#: ../../../../inc/themes/material-blue/views/accountsearch/rows.inc:57
|
||||
msgid "Categoría"
|
||||
msgstr "Category"
|
||||
@@ -1078,7 +1078,7 @@ msgstr "Sort by Username"
|
||||
#: ../../../../inc/themes/material-blue/views/account/account-editpass.inc:40
|
||||
#: ../../../../inc/themes/material-blue/views/account/account-link.inc:43
|
||||
#: ../../../../inc/themes/material-blue/views/account/account-link.inc:49
|
||||
#: ../../../../inc/themes/material-blue/views/account/account.inc:99
|
||||
#: ../../../../inc/themes/material-blue/views/account/account.inc:100
|
||||
#: ../../../../inc/themes/material-blue/views/accountsearch/rows.inc:68
|
||||
msgid "URL / IP"
|
||||
msgstr "URL / IP"
|
||||
@@ -1116,7 +1116,7 @@ msgstr "Connection successful"
|
||||
|
||||
#: ../../../../inc/SP/Controller/ChecksController.class.php:138
|
||||
#: ../../../../inc/SP/Controller/MainActionController.class.php:124
|
||||
#: ../../../../inc/SP/Core/Init.class.php:444
|
||||
#: ../../../../inc/SP/Core/Init.class.php:450
|
||||
#: ../../../../inc/SP/Core/Upgrade/Upgrade.class.php:148
|
||||
#: ../../../../inc/SP/Core/Upgrade/Upgrade.class.php:159
|
||||
#: ../../../../inc/SP/Core/Upgrade/Upgrade.class.php:374
|
||||
@@ -1158,7 +1158,7 @@ msgid "Sección"
|
||||
msgstr "Section"
|
||||
|
||||
#: ../../../../inc/SP/Controller/ConfigActionController.class.php:211
|
||||
#: ../../../../inc/SP/Controller/ConfigController.class.php:153
|
||||
#: ../../../../inc/SP/Controller/ConfigController.class.php:154
|
||||
#: ../../../../inc/themes/material-blue/views/itemshow/profiles.inc:226
|
||||
#: ../../../../inc/themes/material-blue/views/main/install.inc:132
|
||||
msgid "General"
|
||||
@@ -1192,7 +1192,7 @@ msgid "El tamaño máximo por archivo es de 16MB"
|
||||
msgstr "The maximum size per file is 16MB"
|
||||
|
||||
#: ../../../../inc/SP/Controller/ConfigActionController.class.php:300
|
||||
#: ../../../../inc/SP/Controller/ConfigController.class.php:202
|
||||
#: ../../../../inc/SP/Controller/ConfigController.class.php:203
|
||||
#: ../../../../inc/SP/Controller/Grids/Items.class.php:365
|
||||
#: ../../../../inc/SP/Controller/MainController.class.php:615
|
||||
#: ../../../../inc/SP/Mgmt/CustomFields/CustomFieldTypes.class.php:90
|
||||
@@ -1228,7 +1228,7 @@ msgid "DokuWiki deshabilitada"
|
||||
msgstr "DokuWiki disabled"
|
||||
|
||||
#: ../../../../inc/SP/Controller/ConfigActionController.class.php:364
|
||||
#: ../../../../inc/SP/Controller/ConfigController.class.php:234
|
||||
#: ../../../../inc/SP/Controller/ConfigController.class.php:235
|
||||
#: ../../../../inc/SP/Mgmt/CustomFields/CustomFieldTypes.class.php:63
|
||||
#: ../../../../inc/themes/material-blue/views/config/wiki.inc:10
|
||||
msgid "Wiki"
|
||||
@@ -1247,7 +1247,7 @@ msgid "LDAP deshabilitado"
|
||||
msgstr "LDAP disabled"
|
||||
|
||||
#: ../../../../inc/SP/Controller/ConfigActionController.class.php:411
|
||||
#: ../../../../inc/SP/Controller/ConfigController.class.php:267
|
||||
#: ../../../../inc/SP/Controller/ConfigController.class.php:268
|
||||
#: ../../../../inc/themes/material-blue/views/config/ldap.inc:7
|
||||
msgid "LDAP"
|
||||
msgstr "LDAP"
|
||||
@@ -1265,7 +1265,7 @@ msgid "Correo deshabilitado"
|
||||
msgstr "Mail disabled"
|
||||
|
||||
#: ../../../../inc/SP/Controller/ConfigActionController.class.php:464
|
||||
#: ../../../../inc/SP/Controller/ConfigController.class.php:298
|
||||
#: ../../../../inc/SP/Controller/ConfigController.class.php:299
|
||||
#: ../../../../inc/themes/material-blue/views/config/mail.inc:7
|
||||
msgid "Correo"
|
||||
msgstr "Mail"
|
||||
@@ -1391,45 +1391,45 @@ msgstr "Error while exporting"
|
||||
msgid "Proceso de exportación finalizado"
|
||||
msgstr "Export process finished"
|
||||
|
||||
#: ../../../../inc/SP/Controller/ConfigController.class.php:327
|
||||
#: ../../../../inc/SP/Controller/ConfigController.class.php:328
|
||||
#: ../../../../inc/SP/Core/Acl.class.php:217
|
||||
#: ../../../../inc/themes/material-blue/views/itemshow/profiles.inc:233
|
||||
msgid "Encriptación"
|
||||
msgstr "Encryption"
|
||||
|
||||
#: ../../../../inc/SP/Controller/ConfigController.class.php:372
|
||||
#: ../../../../inc/SP/Controller/ConfigController.class.php:373
|
||||
msgid "Último backup"
|
||||
msgstr "Last backup"
|
||||
|
||||
#: ../../../../inc/SP/Controller/ConfigController.class.php:372
|
||||
#: ../../../../inc/SP/Controller/ConfigController.class.php:373
|
||||
msgid "No se encontraron backups"
|
||||
msgstr "There aren't any backups available"
|
||||
|
||||
#: ../../../../inc/SP/Controller/ConfigController.class.php:383
|
||||
#: ../../../../inc/SP/Controller/ConfigController.class.php:384
|
||||
msgid "Última exportación"
|
||||
msgstr "Last export"
|
||||
|
||||
#: ../../../../inc/SP/Controller/ConfigController.class.php:383
|
||||
#: ../../../../inc/SP/Controller/ConfigController.class.php:384
|
||||
msgid "No se encontró archivo de exportación"
|
||||
msgstr "No export file found"
|
||||
|
||||
#: ../../../../inc/SP/Controller/ConfigController.class.php:385
|
||||
#: ../../../../inc/SP/Controller/ConfigController.class.php:386
|
||||
#: ../../../../inc/SP/Core/Acl.class.php:218
|
||||
#: ../../../../inc/themes/material-blue/views/config/backup.inc:7
|
||||
msgid "Copia de Seguridad"
|
||||
msgstr "Backup"
|
||||
|
||||
#: ../../../../inc/SP/Controller/ConfigController.class.php:407
|
||||
#: ../../../../inc/SP/Controller/ConfigController.class.php:408
|
||||
#: ../../../../inc/SP/Import/Import.class.php:66
|
||||
#: ../../../../inc/SP/Import/ImportBase.class.php:78
|
||||
msgid "Importar Cuentas"
|
||||
msgstr "Import Accounts"
|
||||
|
||||
#: ../../../../inc/SP/Controller/ConfigController.class.php:430
|
||||
#: ../../../../inc/SP/Controller/ConfigController.class.php:431
|
||||
msgid "No instalado"
|
||||
msgstr "Not installed"
|
||||
|
||||
#: ../../../../inc/SP/Controller/ConfigController.class.php:432
|
||||
#: ../../../../inc/SP/Controller/ConfigController.class.php:434
|
||||
#: ../../../../inc/SP/Controller/MainController.class.php:617
|
||||
#: ../../../../inc/themes/material-blue/inc/Icons.class.php:77
|
||||
msgid "Información"
|
||||
@@ -1444,7 +1444,7 @@ msgstr "Option unavailable"
|
||||
#: ../../../../inc/SP/Controller/ControllerBase.class.php:277
|
||||
#: ../../../../inc/SP/Controller/ControllerBase.class.php:278
|
||||
#: ../../../../inc/SP/Controller/ControllerBase.class.php:280
|
||||
#: ../../../../inc/SP/Core/Init.class.php:309
|
||||
#: ../../../../inc/SP/Core/Init.class.php:315
|
||||
msgid "Consulte con el administrador"
|
||||
msgstr "Please contact to the administrator"
|
||||
|
||||
@@ -1509,7 +1509,7 @@ msgstr "Search for Category"
|
||||
#: ../../../../inc/SP/Controller/Grids/Items.class.php:90
|
||||
#: ../../../../inc/SP/Controller/Grids/Items.class.php:91
|
||||
#: ../../../../inc/SP/Controller/ItemShowController.class.php:191
|
||||
#: ../../../../inc/themes/material-blue/views/account/account.inc:89
|
||||
#: ../../../../inc/themes/material-blue/views/account/account.inc:90
|
||||
msgid "Nueva Categoría"
|
||||
msgstr "New Category"
|
||||
|
||||
@@ -1533,7 +1533,7 @@ msgstr "Search for Customer"
|
||||
#: ../../../../inc/SP/Controller/Grids/Items.class.php:164
|
||||
#: ../../../../inc/SP/Controller/Grids/Items.class.php:165
|
||||
#: ../../../../inc/SP/Controller/ItemShowController.class.php:178
|
||||
#: ../../../../inc/themes/material-blue/views/account/account.inc:66
|
||||
#: ../../../../inc/themes/material-blue/views/account/account.inc:67
|
||||
msgid "Nuevo Cliente"
|
||||
msgstr "New Customer"
|
||||
|
||||
@@ -1553,7 +1553,7 @@ msgstr "Module"
|
||||
#: ../../../../inc/SP/Controller/Grids/Items.class.php:222
|
||||
#: ../../../../inc/SP/Mgmt/CustomFields/CustomFieldsUtil.class.php:59
|
||||
#: ../../../../inc/SP/Mgmt/CustomFields/CustomFieldsUtil.class.php:130
|
||||
#: ../../../../inc/themes/material-blue/views/account/account.inc:256
|
||||
#: ../../../../inc/themes/material-blue/views/account/account.inc:258
|
||||
#: ../../../../inc/themes/material-blue/views/itemshow/profiles.inc:175
|
||||
msgid "Campos Personalizados"
|
||||
msgstr "Custom Fields"
|
||||
@@ -1616,7 +1616,7 @@ msgstr "Search for Account"
|
||||
#: ../../../../inc/SP/Controller/Grids/Notices.class.php:54
|
||||
#: ../../../../inc/SP/Mgmt/CustomFields/CustomFieldTypes.class.php:65
|
||||
#: ../../../../inc/themes/material-blue/views/account/account-editpass.inc:85
|
||||
#: ../../../../inc/themes/material-blue/views/account/account.inc:156
|
||||
#: ../../../../inc/themes/material-blue/views/account/account.inc:158
|
||||
#: ../../../../inc/themes/material-blue/views/noticeshow/notices.inc:64
|
||||
#: ../../../../inc/themes/material-blue/views/noticeshow/notices.inc:71
|
||||
#: ../../../../inc/themes/material-blue/views/wiki/wikipage.inc:24
|
||||
@@ -1862,8 +1862,8 @@ msgid "Eliminar Enlace"
|
||||
msgstr "Delete Link"
|
||||
|
||||
#: ../../../../inc/SP/Controller/Grids/Items.class.php:926
|
||||
#: ../../../../inc/themes/material-blue/views/account/account.inc:176
|
||||
#: ../../../../inc/themes/material-blue/views/account/account.inc:178
|
||||
#: ../../../../inc/themes/material-blue/views/account/account.inc:180
|
||||
#: ../../../../inc/themes/material-blue/views/itemshow/profiles.inc:210
|
||||
msgid "Etiquetas"
|
||||
msgstr "Tags"
|
||||
@@ -2348,8 +2348,8 @@ msgstr "User/Pass not entered"
|
||||
|
||||
#: ../../../../inc/SP/Controller/LoginController.class.php:150
|
||||
#: ../../../../inc/SP/Controller/LoginController.class.php:449
|
||||
#: ../../../../inc/SP/Controller/LoginController.class.php:505
|
||||
#: ../../../../inc/SP/Controller/LoginController.class.php:529
|
||||
#: ../../../../inc/SP/Controller/LoginController.class.php:507
|
||||
#: ../../../../inc/SP/Controller/LoginController.class.php:531
|
||||
msgid "Login incorrecto"
|
||||
msgstr "Incorrect login"
|
||||
|
||||
@@ -2405,13 +2405,13 @@ msgstr "The user has no associated groups"
|
||||
msgid "Servidor LDAP"
|
||||
msgstr "LDAP Server"
|
||||
|
||||
#: ../../../../inc/SP/Controller/LoginController.class.php:532
|
||||
#: ../../../../inc/SP/Controller/LoginController.class.php:534
|
||||
msgid "Autentificación"
|
||||
msgstr "Authentication"
|
||||
|
||||
#: ../../../../inc/SP/Controller/MainActionController.class.php:62
|
||||
#: ../../../../inc/SP/Controller/MainActionController.class.php:122
|
||||
#: ../../../../inc/SP/Core/Init.class.php:442
|
||||
#: ../../../../inc/SP/Core/Init.class.php:448
|
||||
msgid "Actualización"
|
||||
msgstr "Update"
|
||||
|
||||
@@ -2433,7 +2433,7 @@ msgid "En 5 segundos será redirigido al login"
|
||||
msgstr "You will be redirected to log in within 5 seconds"
|
||||
|
||||
#: ../../../../inc/SP/Controller/MainActionController.class.php:123
|
||||
#: ../../../../inc/SP/Core/Init.class.php:443 ../../../../res/upgrade.php:121
|
||||
#: ../../../../inc/SP/Core/Init.class.php:449 ../../../../res/upgrade.php:121
|
||||
msgid "Actualización de versión realizada."
|
||||
msgstr "Version updating done."
|
||||
|
||||
@@ -2456,12 +2456,12 @@ msgid "Registro de Eventos"
|
||||
msgstr "Event Log"
|
||||
|
||||
#: ../../../../inc/SP/Controller/MainController.class.php:367
|
||||
#: ../../../../inc/SP/Core/Init.class.php:138
|
||||
#: ../../../../inc/SP/Core/Init.class.php:140
|
||||
msgid "Versión de PHP requerida >= "
|
||||
msgstr "Required PHP version >="
|
||||
|
||||
#: ../../../../inc/SP/Controller/MainController.class.php:368
|
||||
#: ../../../../inc/SP/Core/Init.class.php:139
|
||||
#: ../../../../inc/SP/Core/Init.class.php:141
|
||||
msgid ""
|
||||
"Actualice la versión de PHP para que la aplicación funcione correctamente"
|
||||
msgstr "Please update the PHP version to run sysPass"
|
||||
@@ -2674,56 +2674,56 @@ msgstr "Observer not initialized"
|
||||
msgid "Es necesario un objeto"
|
||||
msgstr "An object is needed"
|
||||
|
||||
#: ../../../../inc/SP/Core/Init.class.php:166
|
||||
#: ../../../../inc/SP/Core/Init.class.php:168
|
||||
msgid "Error en la verificación de la base de datos"
|
||||
msgstr "Error while checking the database"
|
||||
|
||||
#: ../../../../inc/SP/Core/Init.class.php:305
|
||||
#: ../../../../inc/SP/Core/Init.class.php:311
|
||||
msgid "Sesión"
|
||||
msgstr "Session"
|
||||
|
||||
#: ../../../../inc/SP/Core/Init.class.php:305
|
||||
#: ../../../../inc/SP/Core/Init.class.php:309
|
||||
#: ../../../../inc/SP/Core/Init.class.php:311
|
||||
#: ../../../../inc/SP/Core/Init.class.php:315
|
||||
msgid "La sesión no puede ser inicializada"
|
||||
msgstr "Session cannot be initialized"
|
||||
|
||||
#: ../../../../inc/SP/Core/Init.class.php:465
|
||||
#: ../../../../inc/SP/Core/Init.class.php:471
|
||||
msgid "El directorio \"/config\" no existe"
|
||||
msgstr "The \"/config\" directory does not exist."
|
||||
|
||||
#: ../../../../inc/SP/Core/Init.class.php:470
|
||||
#: ../../../../inc/SP/Core/Init.class.php:476
|
||||
msgid "No es posible escribir en el directorio \"config\""
|
||||
msgstr "Unable to write into the \"/config\" directory"
|
||||
|
||||
#: ../../../../inc/SP/Core/Init.class.php:477
|
||||
#: ../../../../inc/SP/Core/Init.class.php:483
|
||||
msgid "Los permisos del directorio \"/config\" son incorrectos"
|
||||
msgstr "The \"/config\" directory permissions are wrong"
|
||||
|
||||
#: ../../../../inc/SP/Core/Init.class.php:477
|
||||
#: ../../../../inc/SP/Core/Init.class.php:483
|
||||
msgid "Actual:"
|
||||
msgstr "Current:"
|
||||
|
||||
#: ../../../../inc/SP/Core/Init.class.php:477
|
||||
#: ../../../../inc/SP/Core/Init.class.php:483
|
||||
msgid "Necesario: 750"
|
||||
msgstr "Needed: 750"
|
||||
|
||||
#: ../../../../inc/SP/Core/Init.class.php:573
|
||||
#: ../../../../inc/SP/Core/Init.class.php:579
|
||||
msgid "Aplicación en mantenimiento"
|
||||
msgstr "Application in maintenance"
|
||||
|
||||
#: ../../../../inc/SP/Core/Init.class.php:573
|
||||
#: ../../../../inc/SP/Core/Init.class.php:579
|
||||
msgid "En breve estará operativa"
|
||||
msgstr "It will be running shortly"
|
||||
|
||||
#: ../../../../inc/SP/Core/Init.class.php:608
|
||||
#: ../../../../inc/SP/Core/Init.class.php:614
|
||||
msgid "Finalizar sesión"
|
||||
msgstr "Logout session"
|
||||
|
||||
#: ../../../../inc/SP/Core/Init.class.php:610
|
||||
#: ../../../../inc/SP/Core/Init.class.php:616
|
||||
msgid "Tiempo inactivo"
|
||||
msgstr "Inactive time"
|
||||
|
||||
#: ../../../../inc/SP/Core/Init.class.php:611
|
||||
#: ../../../../inc/SP/Core/Init.class.php:617
|
||||
msgid "Tiempo total"
|
||||
msgstr "Total time"
|
||||
|
||||
@@ -2979,7 +2979,7 @@ msgstr "Error while creating the customer"
|
||||
msgid "Actualizando IDs de grupos"
|
||||
msgstr "Updating groups ID"
|
||||
|
||||
#: ../../../../inc/SP/Core/Upgrade/Group.class.php:103
|
||||
#: ../../../../inc/SP/Core/Upgrade/Group.class.php:115
|
||||
#: ../../../../inc/SP/Mgmt/Groups/Group.class.php:67
|
||||
msgid "Error al crear el grupo"
|
||||
msgstr "Error while creating the group"
|
||||
@@ -3028,8 +3028,8 @@ msgid "Actualización de la Base de Datos realizada correctamente."
|
||||
msgstr "Database updating was completed successfully."
|
||||
|
||||
#: ../../../../inc/SP/Core/Upgrade/Upgrade.class.php:240
|
||||
#: ../../../../inc/SP/Mgmt/Users/User.class.php:336
|
||||
#: ../../../../inc/SP/Mgmt/Users/User.class.php:393
|
||||
#: ../../../../inc/SP/Mgmt/Users/User.class.php:338
|
||||
#: ../../../../inc/SP/Mgmt/Users/User.class.php:396
|
||||
msgid "Error al obtener los datos del usuario"
|
||||
msgstr "Error while retrieving the user's data"
|
||||
|
||||
@@ -3052,7 +3052,7 @@ msgstr "If you are an administrator, click on the link: %s"
|
||||
|
||||
#: ../../../../inc/SP/Core/Upgrade/Upgrade.class.php:507
|
||||
#: ../../../../inc/themes/material-blue/inc/Icons.class.php:57
|
||||
#: ../../../../inc/themes/material-blue/views/main/upgrade.inc:168
|
||||
#: ../../../../inc/themes/material-blue/views/main/upgrade.inc:172
|
||||
msgid "Actualizar"
|
||||
msgstr "Update"
|
||||
|
||||
@@ -3183,7 +3183,7 @@ msgstr "An email is needed"
|
||||
msgid "No es posible eliminar, usuario en uso"
|
||||
msgstr "Unable to delete, user in use"
|
||||
|
||||
#: ../../../../inc/SP/Http/Request.class.php:51
|
||||
#: ../../../../inc/SP/Http/Request.class.php:53
|
||||
msgid "No es posible acceder directamente a este archivo"
|
||||
msgstr "Unable to access to this file"
|
||||
|
||||
@@ -3701,8 +3701,8 @@ msgstr "Error while updating the user"
|
||||
msgid "Error al obtener los usuarios"
|
||||
msgstr "Error while retrieving the users"
|
||||
|
||||
#: ../../../../inc/SP/Mgmt/Users/User.class.php:279
|
||||
#: ../../../../inc/SP/Mgmt/Users/UserPass.class.php:315
|
||||
#: ../../../../inc/SP/Mgmt/Users/User.class.php:280
|
||||
#: ../../../../inc/SP/Mgmt/Users/UserPass.class.php:323
|
||||
msgid "Error al modificar la clave"
|
||||
msgstr "Error while updating the password"
|
||||
|
||||
@@ -3814,7 +3814,7 @@ msgstr "Error while sending the data"
|
||||
msgid "Error de codificación"
|
||||
msgstr "Encoding error"
|
||||
|
||||
#: ../../../../inc/SP/Util/Util.class.php:320
|
||||
#: ../../../../inc/SP/Util/Util.class.php:321
|
||||
msgid "Respuesta"
|
||||
msgstr "Response"
|
||||
|
||||
@@ -4035,13 +4035,13 @@ msgid "Seleccionar Perfil"
|
||||
msgstr "Select Profile"
|
||||
|
||||
#: ../../../../js/strings.js.php:50
|
||||
#: ../../../../inc/themes/material-blue/views/account/account.inc:59
|
||||
#: ../../../../inc/themes/material-blue/views/account/account.inc:60
|
||||
#: ../../../../inc/themes/material-blue/views/accountsearch/searchbox.inc:49
|
||||
msgid "Seleccionar Cliente"
|
||||
msgstr "Select Customer"
|
||||
|
||||
#: ../../../../js/strings.js.php:51
|
||||
#: ../../../../inc/themes/material-blue/views/account/account.inc:82
|
||||
#: ../../../../inc/themes/material-blue/views/account/account.inc:83
|
||||
#: ../../../../inc/themes/material-blue/views/accountsearch/searchbox.inc:57
|
||||
msgid "Seleccionar Categoría"
|
||||
msgstr "Select Category"
|
||||
@@ -4185,8 +4185,8 @@ msgid ""
|
||||
msgstr "Performing task. Please, do not close the browser window/tab."
|
||||
|
||||
#: ../../../../inc/themes/material-blue/views/account/account-editpass.inc:67
|
||||
#: ../../../../inc/themes/material-blue/views/account/account.inc:135
|
||||
#: ../../../../inc/themes/material-blue/views/account/account.inc:142
|
||||
#: ../../../../inc/themes/material-blue/views/account/account.inc:136
|
||||
#: ../../../../inc/themes/material-blue/views/account/account.inc:143
|
||||
#: ../../../../inc/themes/material-blue/views/itemshow/users.inc:115
|
||||
#: ../../../../inc/themes/material-blue/views/itemshow/users.inc:122
|
||||
#: ../../../../inc/themes/material-blue/views/itemshow/userspass.inc:47
|
||||
@@ -4197,14 +4197,14 @@ msgid "Clave (repetir)"
|
||||
msgstr "Password (repeat)"
|
||||
|
||||
#: ../../../../inc/themes/material-blue/views/account/account-editpass.inc:78
|
||||
#: ../../../../inc/themes/material-blue/views/account/account.inc:149
|
||||
#: ../../../../inc/themes/material-blue/views/account/account.inc:150
|
||||
#: ../../../../inc/themes/material-blue/views/account/details.inc:131
|
||||
#: ../../../../inc/themes/material-blue/views/account/details.inc:133
|
||||
msgid "Fecha Caducidad Clave"
|
||||
msgstr "Password Expiry Date"
|
||||
|
||||
#: ../../../../inc/themes/material-blue/views/account/account-editpass.inc:88
|
||||
#: ../../../../inc/themes/material-blue/views/account/account.inc:160
|
||||
#: ../../../../inc/themes/material-blue/views/account/account.inc:162
|
||||
msgid "Seleccionar Fecha"
|
||||
msgstr "Select date"
|
||||
|
||||
@@ -4216,7 +4216,7 @@ msgstr "Select date"
|
||||
#: ../../../../inc/themes/material-blue/views/config/encryption.inc:286
|
||||
#: ../../../../inc/themes/material-blue/views/config/general.inc:29
|
||||
#: ../../../../inc/themes/material-blue/views/config/import.inc:89
|
||||
#: ../../../../inc/themes/material-blue/views/config/info.inc:128
|
||||
#: ../../../../inc/themes/material-blue/views/config/info.inc:145
|
||||
#: ../../../../inc/themes/material-blue/views/config/ldap.inc:283
|
||||
#: ../../../../inc/themes/material-blue/views/config/mail.inc:150
|
||||
#: ../../../../inc/themes/material-blue/views/config/wiki.inc:276
|
||||
@@ -4226,7 +4226,7 @@ msgid "Atrás"
|
||||
msgstr "Back"
|
||||
|
||||
#: ../../../../inc/themes/material-blue/views/account/account-link.inc:65
|
||||
#: ../../../../inc/themes/material-blue/views/account/account.inc:165
|
||||
#: ../../../../inc/themes/material-blue/views/account/account.inc:167
|
||||
#: ../../../../inc/themes/material-blue/views/accountsearch/rows.inc:140
|
||||
#: ../../../../inc/themes/material-blue/views/itemshow/users.inc:129
|
||||
msgid "Notas"
|
||||
@@ -4285,30 +4285,30 @@ msgstr "Private for Group"
|
||||
msgid "Histórico"
|
||||
msgstr "History"
|
||||
|
||||
#: ../../../../inc/themes/material-blue/views/account/account.inc:182
|
||||
#: ../../../../inc/themes/material-blue/views/account/account.inc:184
|
||||
msgid "Seleccionar Etiquetas"
|
||||
msgstr "Select Tags"
|
||||
|
||||
#: ../../../../inc/themes/material-blue/views/account/account.inc:193
|
||||
#: ../../../../inc/themes/material-blue/views/account/account.inc:195
|
||||
#: ../../../../inc/themes/material-blue/views/account/account.inc:197
|
||||
#: ../../../../inc/themes/material-blue/views/account/viewpass.inc:9
|
||||
msgid "Cuenta Vinculada"
|
||||
msgstr "Linked Account"
|
||||
|
||||
#: ../../../../inc/themes/material-blue/views/account/account.inc:203
|
||||
#: ../../../../inc/themes/material-blue/views/account/account.inc:205
|
||||
msgid "Seleccionar Cuenta"
|
||||
msgstr "Select Account"
|
||||
|
||||
#: ../../../../inc/themes/material-blue/views/account/account.inc:210
|
||||
#: ../../../../inc/themes/material-blue/views/account/account.inc:212
|
||||
#: ../../../../inc/themes/material-blue/views/account/account.inc:214
|
||||
msgid "Historial"
|
||||
msgstr "History"
|
||||
|
||||
#: ../../../../inc/themes/material-blue/views/account/account.inc:217
|
||||
#: ../../../../inc/themes/material-blue/views/account/account.inc:219
|
||||
msgid "Seleccionar fecha"
|
||||
msgstr "Select date"
|
||||
|
||||
#: ../../../../inc/themes/material-blue/views/account/account.inc:229
|
||||
#: ../../../../inc/themes/material-blue/views/account/account.inc:231
|
||||
#: ../../../../inc/themes/material-blue/views/account/details.inc:35
|
||||
#: ../../../../inc/themes/material-blue/views/account/details.inc:37
|
||||
#: ../../../../inc/themes/material-blue/views/itemshow/users.inc:199
|
||||
@@ -4316,9 +4316,9 @@ msgstr "Select date"
|
||||
msgid "Última Modificación"
|
||||
msgstr "Last Modification"
|
||||
|
||||
#: ../../../../inc/themes/material-blue/views/account/account.inc:236
|
||||
#: ../../../../inc/themes/material-blue/views/account/account.inc:238
|
||||
#: ../../../../inc/themes/material-blue/views/account/account.inc:241
|
||||
#: ../../../../inc/themes/material-blue/views/account/account.inc:240
|
||||
#: ../../../../inc/themes/material-blue/views/account/account.inc:243
|
||||
msgid "Enlace Público"
|
||||
msgstr "Public Link"
|
||||
|
||||
@@ -4750,7 +4750,7 @@ msgstr "Last Change"
|
||||
|
||||
#: ../../../../inc/themes/material-blue/views/config/encryption.inc:29
|
||||
#: ../../../../inc/themes/material-blue/views/config/encryption.inc:37
|
||||
#: ../../../../inc/themes/material-blue/views/main/upgrade.inc:127
|
||||
#: ../../../../inc/themes/material-blue/views/main/upgrade.inc:130
|
||||
msgid "Clave Maestra actual"
|
||||
msgstr "Current Master Password"
|
||||
|
||||
@@ -4785,7 +4785,7 @@ msgid "Los usuarios deberán de introducir la nueva clave maestra."
|
||||
msgstr "Users will need to enter the new Master Password."
|
||||
|
||||
#: ../../../../inc/themes/material-blue/views/config/encryption.inc:104
|
||||
#: ../../../../inc/themes/material-blue/views/main/upgrade.inc:115
|
||||
#: ../../../../inc/themes/material-blue/views/main/upgrade.inc:118
|
||||
#, php-format
|
||||
msgid ""
|
||||
"Se van a actualizar %s cuentas. Este proceso puede tardar algo de tiempo."
|
||||
@@ -4812,7 +4812,7 @@ msgstr ""
|
||||
"that includes numbers, letters and symbols."
|
||||
|
||||
#: ../../../../inc/themes/material-blue/views/config/encryption.inc:142
|
||||
#: ../../../../inc/themes/material-blue/views/main/upgrade.inc:117
|
||||
#: ../../../../inc/themes/material-blue/views/main/upgrade.inc:120
|
||||
#, php-format
|
||||
msgid "Para más información consulte: %s"
|
||||
msgstr "You could get more info on: %s"
|
||||
@@ -5189,7 +5189,24 @@ msgstr ""
|
||||
"locales. More info at Wiki."
|
||||
|
||||
#: ../../../../inc/themes/material-blue/views/config/info.inc:99
|
||||
#: ../../../../inc/themes/material-blue/views/config/info.inc:102
|
||||
#: ../../../../inc/themes/material-blue/views/config/info.inc:109
|
||||
msgid "Sesión Encriptada"
|
||||
msgstr "Encrypted Session"
|
||||
|
||||
#: ../../../../inc/themes/material-blue/views/config/info.inc:104
|
||||
msgid "Indica si los datos de la sesión están encriptados en el servidor"
|
||||
msgstr "Tells whether the session data are encrypted in the server or not"
|
||||
|
||||
#: ../../../../inc/themes/material-blue/views/config/info.inc:111
|
||||
msgid "Sí"
|
||||
msgstr "Yes"
|
||||
|
||||
#: ../../../../inc/themes/material-blue/views/config/info.inc:111
|
||||
msgid "No"
|
||||
msgstr "No"
|
||||
|
||||
#: ../../../../inc/themes/material-blue/views/config/info.inc:116
|
||||
#: ../../../../inc/themes/material-blue/views/config/info.inc:119
|
||||
msgid "Plugins Cargados"
|
||||
msgstr "Loaded Plugins"
|
||||
|
||||
@@ -5907,15 +5924,15 @@ msgstr "Enter a valid category ID for the accounts"
|
||||
msgid "Introducir un ID de cliente válido para cuentas"
|
||||
msgstr "Enter a valid customer ID for the accounts"
|
||||
|
||||
#: ../../../../inc/themes/material-blue/views/main/upgrade.inc:93
|
||||
#: ../../../../inc/themes/material-blue/views/main/upgrade.inc:96
|
||||
msgid "Introducir un ID de grupo válido para usuarios"
|
||||
msgstr "Enter a valid group ID for the users"
|
||||
|
||||
#: ../../../../inc/themes/material-blue/views/main/upgrade.inc:103
|
||||
#: ../../../../inc/themes/material-blue/views/main/upgrade.inc:106
|
||||
msgid "Introducir un ID de perfil válido para usuarios"
|
||||
msgstr "Enter a valid profile ID for the users"
|
||||
|
||||
#: ../../../../inc/themes/material-blue/views/main/upgrade.inc:113
|
||||
#: ../../../../inc/themes/material-blue/views/main/upgrade.inc:116
|
||||
msgid ""
|
||||
"Esta actualización utiliza un nuevo esquema de encriptación, por lo que es "
|
||||
"necesario reencriptar los datos almacenados"
|
||||
@@ -5923,19 +5940,19 @@ msgstr ""
|
||||
"This update uses a new encryption schema, so it will be needed to reencrypt "
|
||||
"the whole encrypted data."
|
||||
|
||||
#: ../../../../inc/themes/material-blue/views/main/upgrade.inc:135
|
||||
#: ../../../../inc/themes/material-blue/views/main/upgrade.inc:138
|
||||
msgid "Introducir login de usuario válido"
|
||||
msgstr "Enter a valid user login"
|
||||
|
||||
#: ../../../../inc/themes/material-blue/views/main/upgrade.inc:147
|
||||
#: ../../../../inc/themes/material-blue/views/main/upgrade.inc:150
|
||||
msgid "He realizado una copia de seguridad completa de sysPass"
|
||||
msgstr "I've done a full sysPass backup"
|
||||
|
||||
#: ../../../../inc/themes/material-blue/views/main/upgrade.inc:160
|
||||
#: ../../../../inc/themes/material-blue/views/main/upgrade.inc:164
|
||||
msgid "Por favor espere mientras el proceso se ejecuta"
|
||||
msgstr "Please, wait while the process is running"
|
||||
|
||||
#: ../../../../inc/themes/material-blue/views/main/upgrade.inc:170
|
||||
#: ../../../../inc/themes/material-blue/views/main/upgrade.inc:174
|
||||
msgid "Iniciar Actualización"
|
||||
msgstr "Start Update"
|
||||
|
||||
|
||||
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@@ -94,6 +94,23 @@
|
||||
<?php echo $locale; ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="descField">
|
||||
<?php echo __('Sesión Encriptada'); ?>
|
||||
<div id="help-infosession"
|
||||
class="icon material-icons <?php echo $icons->getIconHelp()->getClass(); ?>"><?php echo $icons->getIconHelp()->getIcon(); ?></div>
|
||||
<div class="mdl-tooltip mdl-tooltip--large" for="help-infosession">
|
||||
<p>
|
||||
<?php echo __('Indica si los datos de la sesión están encriptados en el servidor'); ?>
|
||||
</p>
|
||||
</div>
|
||||
</td>
|
||||
<td class="valField">
|
||||
<div class="lowres-title"><?php echo __('Sesión Encriptada'); ?></div>
|
||||
|
||||
<?php echo $securedSession ? __('Sí') : __('No'); ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="descField">
|
||||
<?php echo __('Plugins Cargados'); ?>
|
||||
|
||||
Reference in New Issue
Block a user