From 318d52e2f8977c983cccd6d2322a2afdc36da599 Mon Sep 17 00:00:00 2001 From: nuxsmin Date: Mon, 2 Feb 2015 04:07:04 +0100 Subject: [PATCH] * Updated header and PHPdoc syntax * Improved session cache's config parameters to reduce config file queries * Removed unused methods * Changed some SP_Crypt class methods to static and factorized some functions * Added some stuff to demo mode --- INSTALL | 2 +- ajax/ajax_accountSave.php | 10 +- ajax/ajax_appMgmtData.php | 2 +- ajax/ajax_appMgmtSave.php | 2 +- ajax/ajax_backup.php | 2 +- ajax/ajax_checkLdap.php | 2 +- ajax/ajax_checkUpds.php | 2 +- ajax/ajax_configSave.php | 2 +- ajax/ajax_doLogin.php | 2 +- ajax/ajax_eventlog.php | 2 +- ajax/ajax_files.php | 2 +- ajax/ajax_getContent.php | 2 +- ajax/ajax_getFiles.php | 2 +- ajax/ajax_import.php | 2 +- ajax/ajax_migrate.php | 2 +- ajax/ajax_passReset.php | 2 +- ajax/ajax_search.php | 2 +- ajax/ajax_sendRequest.php | 2 +- ajax/ajax_usrpass.php | 2 +- ajax/ajax_viewpass.php | 7 +- css/css.php | 2 +- css/styles.css | 25 + imgs/arrow-list.png | Bin 0 -> 1070 bytes imgs/gearscolorful.png | Bin 0 -> 6022 bytes inc/account.class.php | 126 +- inc/acl.class.php | 15 +- inc/auth.class.php | 22 +- inc/backup.class.php | 23 +- inc/category.class.php | 41 +- inc/common.class.php | 43 +- inc/config.class.php | 65 +- inc/crypt.class.php | 176 +- inc/customer.class.php | 53 +- inc/db.class.php | 29 +- inc/files.class.php | 34 +- inc/groups.class.php | 66 +- inc/html.class.php | 95 +- inc/import.class.php | 36 +- inc/init.php | 82 +- inc/installer.class.php | 57 +- inc/keepassimport.class.php | 16 +- inc/keepassximport.class.php | 17 +- inc/ldap.class.php | 40 +- inc/locales/de_DE/LC_MESSAGES/messages.mo | Bin 53324 -> 53324 bytes inc/locales/de_DE/LC_MESSAGES/messages.po | 100 +- inc/locales/en_US/LC_MESSAGES/messages.mo | Bin 50486 -> 52138 bytes inc/locales/en_US/LC_MESSAGES/messages.po | 146 +- inc/locales/fr_FR/LC_MESSAGES/messages.mo | Bin 55993 -> 55993 bytes inc/locales/fr_FR/LC_MESSAGES/messages.po | 1967 +++++++++++---------- inc/log.class.php | 15 +- inc/migrate.class.php | 94 +- inc/profiles.class.php | 39 +- inc/tpl/accounts.php | 2 +- inc/tpl/backup.php | 2 +- inc/tpl/categories.php | 2 +- inc/tpl/config.php | 62 +- inc/tpl/customers.php | 2 +- inc/tpl/editpass.php | 2 +- inc/tpl/error.php | 2 +- inc/tpl/eventlog.php | 2 +- inc/tpl/groups.php | 2 +- inc/tpl/install.php | 2 +- inc/tpl/login.php | 36 +- inc/tpl/main.php | 2 +- inc/tpl/masterpass.php | 4 +- inc/tpl/migrate.php | 10 +- inc/tpl/profiles.php | 2 +- inc/tpl/request.php | 2 +- inc/tpl/search.php | 2 +- inc/tpl/users.php | 2 +- inc/upgrade.class.php | 19 +- inc/users.class.php | 136 +- inc/util.class.php | 127 +- index.php | 2 +- js/js.php | 2 +- 75 files changed, 2160 insertions(+), 1743 deletions(-) create mode 100644 imgs/arrow-list.png create mode 100644 imgs/gearscolorful.png diff --git a/INSTALL b/INSTALL index 0b4526a0..475b45e4 100644 --- a/INSTALL +++ b/INSTALL @@ -3,7 +3,7 @@ * * @author nuxsmin * @link http://syspass.org - * @copyright 2012-2014 Rubén Domínguez nuxsmin@syspass.org + * @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org * * This file is part of sysPass. * diff --git a/ajax/ajax_accountSave.php b/ajax/ajax_accountSave.php index 22efcffe..62a16c06 100644 --- a/ajax/ajax_accountSave.php +++ b/ajax/ajax_accountSave.php @@ -5,7 +5,7 @@ * * @author nuxsmin * @link http://syspass.org - * @copyright 2012-2014 Rubén Domínguez nuxsmin@syspass.org + * @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org * * This file is part of sysPass. * @@ -117,23 +117,19 @@ if ($frmSaveType == 1) { } if ($frmSaveType == 1 || $frmSaveType == 4) { - $crypt = new SP_Crypt; - // Comprobar el módulo de encriptación if (!SP_Crypt::checkCryptModule()) { SP_Common::printJSON(_('No se puede usar el módulo de encriptación')); } // Encriptar clave de cuenta - $accountPass = $crypt->mkEncrypt($frmPassword); - //$accountURL = $crypt->mkEncrypt($frmUrl, $crypt->getSessionMasterPass()); - //$accountNotes = $crypt->mkEncrypt($frmNotes, $crypt->getSessionMasterPass()); + $accountPass = SP_Crypt::mkEncrypt($frmPassword); if ($accountPass === false || is_null($accountPass)) { SP_Common::printJSON(_('Error al generar datos cifrados')); } - $accountIV = $crypt->strInitialVector; + $accountIV = SP_Crypt::$strInitialVector; } $account = new SP_Account; diff --git a/ajax/ajax_appMgmtData.php b/ajax/ajax_appMgmtData.php index 5d6983a5..ed07d2d8 100644 --- a/ajax/ajax_appMgmtData.php +++ b/ajax/ajax_appMgmtData.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link http://syspass.org -* @copyright 2012-2014 Rubén Domínguez nuxsmin@syspass.org +* @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org * * This file is part of sysPass. * diff --git a/ajax/ajax_appMgmtSave.php b/ajax/ajax_appMgmtSave.php index 99ba2c4a..b0d0d3a2 100644 --- a/ajax/ajax_appMgmtSave.php +++ b/ajax/ajax_appMgmtSave.php @@ -5,7 +5,7 @@ * * @author nuxsmin * @link http://syspass.org - * @copyright 2012-2014 Rubén Domínguez nuxsmin@syspass.org + * @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org * * This file is part of sysPass. * diff --git a/ajax/ajax_backup.php b/ajax/ajax_backup.php index a57a29db..3341e4aa 100644 --- a/ajax/ajax_backup.php +++ b/ajax/ajax_backup.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link http://syspass.org - * @copyright 2012-2014 Rubén Domínguez nuxsmin@syspass.org + * @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org * * This file is part of sysPass. * diff --git a/ajax/ajax_checkLdap.php b/ajax/ajax_checkLdap.php index 5fbf2562..7432eae6 100644 --- a/ajax/ajax_checkLdap.php +++ b/ajax/ajax_checkLdap.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link http://syspass.org - * @copyright 2012-2014 Rubén Domínguez nuxsmin@syspass.org + * @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org * * This file is part of sysPass. * diff --git a/ajax/ajax_checkUpds.php b/ajax/ajax_checkUpds.php index d1a555a7..dc209f19 100644 --- a/ajax/ajax_checkUpds.php +++ b/ajax/ajax_checkUpds.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link http://syspass.org - * @copyright 2012-2014 Rubén Domínguez nuxsmin@syspass.org + * @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org * * This file is part of sysPass. * diff --git a/ajax/ajax_configSave.php b/ajax/ajax_configSave.php index 159bbaf2..13af3185 100644 --- a/ajax/ajax_configSave.php +++ b/ajax/ajax_configSave.php @@ -5,7 +5,7 @@ * * @author nuxsmin * @link http://syspass.org - * @copyright 2012-2014 Rubén Domínguez nuxsmin@syspass.org + * @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org * * This file is part of sysPass. * diff --git a/ajax/ajax_doLogin.php b/ajax/ajax_doLogin.php index 5c7d9d2e..d21d2d41 100644 --- a/ajax/ajax_doLogin.php +++ b/ajax/ajax_doLogin.php @@ -5,7 +5,7 @@ * * @author nuxsmin * @link http://syspass.org - * @copyright 2012-2014 Rubén Domínguez nuxsmin@syspass.org + * @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org * * This file is part of sysPass. * diff --git a/ajax/ajax_eventlog.php b/ajax/ajax_eventlog.php index 542df632..07811d96 100644 --- a/ajax/ajax_eventlog.php +++ b/ajax/ajax_eventlog.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link http://syspass.org -* @copyright 2012-2014 Rubén Domínguez nuxsmin@syspass.org +* @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org * * This file is part of sysPass. * diff --git a/ajax/ajax_files.php b/ajax/ajax_files.php index bb533892..22c41fae 100644 --- a/ajax/ajax_files.php +++ b/ajax/ajax_files.php @@ -5,7 +5,7 @@ * * @author nuxsmin * @link http://syspass.org - * @copyright 2012-2014 Rubén Domínguez nuxsmin@syspass.org + * @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org * * This file is part of sysPass. * diff --git a/ajax/ajax_getContent.php b/ajax/ajax_getContent.php index 70e2250d..500ca10c 100644 --- a/ajax/ajax_getContent.php +++ b/ajax/ajax_getContent.php @@ -5,7 +5,7 @@ * * @author nuxsmin * @link http://syspass.org - * @copyright 2012-2014 Rubén Domínguez nuxsmin@syspass.org + * @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org * * This file is part of sysPass. * diff --git a/ajax/ajax_getFiles.php b/ajax/ajax_getFiles.php index 066fcade..913150ad 100644 --- a/ajax/ajax_getFiles.php +++ b/ajax/ajax_getFiles.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link http://syspass.org - * @copyright 2012-2014 Rubén Domínguez nuxsmin@syspass.org + * @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org * * This file is part of sysPass. * diff --git a/ajax/ajax_import.php b/ajax/ajax_import.php index 1029a40a..0272aaab 100644 --- a/ajax/ajax_import.php +++ b/ajax/ajax_import.php @@ -1 +1 @@ -. * */ define('APP_ROOT', '..'); require_once APP_ROOT.DIRECTORY_SEPARATOR.'inc'.DIRECTORY_SEPARATOR.'init.php'; SP_Util::checkReferer('POST'); if (!SP_Init::isLoggedIn()) { SP_Common::printJSON(_('La sesión no se ha iniciado o ha caducado'), 10); } if (SP_Util::demoIsEnabled()) { SP_Common::printJSON(_('Ey, esto es una DEMO!!')); } $sk = SP_Common::parseParams('p', 'sk', false); if (!$sk || !SP_Common::checkSessionKey($sk)) { SP_Common::printJSON(_('CONSULTA INVÁLIDA')); } $res = SP_Import::doImport($_FILES["inFile"]); if (isset($res['error']) && is_array($res['error'])) { foreach ($res['error'] as $error) { $errors [] = $error['description']; $errors [] = $error['hint']; error_log($error['hint']); } $out = implode('\n\n', $errors); SP_Common::printJSON($out); } else if (is_array($res['ok'])) { $out = implode('\n\n', $res['ok']); SP_Common::printJSON($out, 0); } \ No newline at end of file +. * */ define('APP_ROOT', '..'); require_once APP_ROOT.DIRECTORY_SEPARATOR.'inc'.DIRECTORY_SEPARATOR.'init.php'; SP_Util::checkReferer('POST'); if (!SP_Init::isLoggedIn()) { SP_Common::printJSON(_('La sesión no se ha iniciado o ha caducado'), 10); } if (SP_Util::demoIsEnabled()) { SP_Common::printJSON(_('Ey, esto es una DEMO!!')); } $sk = SP_Common::parseParams('p', 'sk', false); if (!$sk || !SP_Common::checkSessionKey($sk)) { SP_Common::printJSON(_('CONSULTA INVÁLIDA')); } $res = SP_Import::doImport($_FILES["inFile"]); if (isset($res['error']) && is_array($res['error'])) { foreach ($res['error'] as $error) { $errors [] = $error['description']; $errors [] = $error['hint']; error_log($error['hint']); } $out = implode('\n\n', $errors); SP_Common::printJSON($out); } else if (is_array($res['ok'])) { $out = implode('\n\n', $res['ok']); SP_Common::printJSON($out, 0); } \ No newline at end of file diff --git a/ajax/ajax_migrate.php b/ajax/ajax_migrate.php index ec283414..17dcc5f8 100644 --- a/ajax/ajax_migrate.php +++ b/ajax/ajax_migrate.php @@ -1 +1 @@ -. * */ define('APP_ROOT', '..'); require_once APP_ROOT.DIRECTORY_SEPARATOR.'inc'.DIRECTORY_SEPARATOR.'init.php'; SP_Util::checkReferer('POST'); if (!SP_Init::isLoggedIn()) { SP_Common::printJSON(_('La sesión no se ha iniciado o ha caducado'), 10); } if (SP_Util::demoIsEnabled()) { SP_Common::printJSON(_('Ey, esto es una DEMO!!')); } $sk = SP_Common::parseParams('p', 'sk', false); if (!$sk || !SP_Common::checkSessionKey($sk)) { SP_Common::printJSON(_('CONSULTA INVÁLIDA')); } $frmDBUser = SP_Common::parseParams('p', 'dbuser'); $frmDBPass = SP_Common::parseParams('p', 'dbpass'); $frmDBName = SP_Common::parseParams('p', 'dbname'); $frmDBHost = SP_Common::parseParams('p', 'dbhost'); $frmMigrateEnabled = SP_Common::parseParams('p', 'chkmigrate', 0, false, 1); if (!$frmMigrateEnabled) { SP_Common::printJSON(_('Confirmar la importación de cuentas')); } if (!$frmDBUser) { SP_Common::printJSON(_('Es necesario un usuario de conexión')); } if (!$frmDBPass) { SP_Common::printJSON(_('Es necesaria una clave de conexión')); } if (!$frmDBName) { SP_Common::printJSON(_('Es necesario el nombre de la BBDD')); } if (!$frmDBHost) { SP_Common::printJSON(_('Es necesario un nombre de host')); } $options['dbhost'] = $frmDBHost; $options['dbname'] = $frmDBName; $options['dbuser'] = $frmDBUser; $options['dbpass'] = $frmDBPass; $res = SP_Migrate::migrate($options); if (is_array($res['error'])) { foreach ($res['error'] as $error) { $errors [] = $error['description']; $errors [] = $error['hint']; error_log($error['hint']); } $out = implode('
', $errors); SP_Common::printJSON($out); } else if (is_array($res['ok'])) { $out = implode('
', $res['ok']); SP_Common::printJSON($out, 0); } \ No newline at end of file +. * */ define('APP_ROOT', '..'); require_once APP_ROOT.DIRECTORY_SEPARATOR.'inc'.DIRECTORY_SEPARATOR.'init.php'; SP_Util::checkReferer('POST'); if (!SP_Init::isLoggedIn()) { SP_Common::printJSON(_('La sesión no se ha iniciado o ha caducado'), 10); } if (SP_Util::demoIsEnabled()) { SP_Common::printJSON(_('Ey, esto es una DEMO!!')); } $sk = SP_Common::parseParams('p', 'sk', false); if (!$sk || !SP_Common::checkSessionKey($sk)) { SP_Common::printJSON(_('CONSULTA INVÁLIDA')); } $frmDBUser = SP_Common::parseParams('p', 'dbuser'); $frmDBPass = SP_Common::parseParams('p', 'dbpass'); $frmDBName = SP_Common::parseParams('p', 'dbname'); $frmDBHost = SP_Common::parseParams('p', 'dbhost'); $frmMigrateEnabled = SP_Common::parseParams('p', 'chkmigrate', 0, false, 1); if (!$frmMigrateEnabled) { SP_Common::printJSON(_('Confirmar la importación de cuentas')); } if (!$frmDBUser) { SP_Common::printJSON(_('Es necesario un usuario de conexión')); } if (!$frmDBPass) { SP_Common::printJSON(_('Es necesaria una clave de conexión')); } if (!$frmDBName) { SP_Common::printJSON(_('Es necesario el nombre de la BBDD')); } if (!$frmDBHost) { SP_Common::printJSON(_('Es necesario un nombre de host')); } $options['dbhost'] = $frmDBHost; $options['dbname'] = $frmDBName; $options['dbuser'] = $frmDBUser; $options['dbpass'] = $frmDBPass; $res = SP_Migrate::migrate($options); if (is_array($res['error'])) { foreach ($res['error'] as $error) { $errors [] = $error['description']; $errors [] = $error['hint']; error_log($error['hint']); } $out = implode('
', $errors); SP_Common::printJSON($out); } else if (is_array($res['ok'])) { $out = implode('
', $res['ok']); SP_Common::printJSON($out, 0); } \ No newline at end of file diff --git a/ajax/ajax_passReset.php b/ajax/ajax_passReset.php index ad0b6f47..9a0eb9d9 100644 --- a/ajax/ajax_passReset.php +++ b/ajax/ajax_passReset.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link http://syspass.org - * @copyright 2012-2014 Rubén Domínguez nuxsmin@syspass.org + * @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org * * This file is part of sysPass. * diff --git a/ajax/ajax_search.php b/ajax/ajax_search.php index 1f97e0ed..bc9a3637 100644 --- a/ajax/ajax_search.php +++ b/ajax/ajax_search.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link http://syspass.org - * @copyright 2012-2014 Rubén Domínguez nuxsmin@syspass.org + * @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org * * This file is part of sysPass. * diff --git a/ajax/ajax_sendRequest.php b/ajax/ajax_sendRequest.php index 0ddf9bbd..f68ad25b 100644 --- a/ajax/ajax_sendRequest.php +++ b/ajax/ajax_sendRequest.php @@ -5,7 +5,7 @@ * * @author nuxsmin * @link http://syspass.org - * @copyright 2012-2014 Rubén Domínguez nuxsmin@syspass.org + * @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org * * This file is part of sysPass. * diff --git a/ajax/ajax_usrpass.php b/ajax/ajax_usrpass.php index 2ab5e283..5eb1b9f2 100644 --- a/ajax/ajax_usrpass.php +++ b/ajax/ajax_usrpass.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link http://syspass.org -* @copyright 2012-2014 Rubén Domínguez nuxsmin@syspass.org +* @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org * * This file is part of sysPass. * diff --git a/ajax/ajax_viewpass.php b/ajax/ajax_viewpass.php index 2e5c2ac7..bba9d9de 100644 --- a/ajax/ajax_viewpass.php +++ b/ajax/ajax_viewpass.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link http://syspass.org - * @copyright 2012-2014 Rubén Domínguez nuxsmin@syspass.org + * @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org * * This file is part of sysPass. * @@ -71,9 +71,8 @@ if (!SP_Users::checkUserUpdateMPass()) { } } -$crypt = new SP_Crypt; -$masterPass = $crypt->getSessionMasterPass(); -$accountClearPass = $crypt->decrypt($accountData->account_pass, $masterPass, $accountData->account_IV); +$masterPass = SP_Crypt::getSessionMasterPass(); +$accountClearPass = SP_Crypt::getDecrypt($accountData->account_pass, $masterPass, $accountData->account_IV); if (!$isHistory && $fullTxt) { $account->incrementDecryptCounter(); diff --git a/css/css.php b/css/css.php index 5c6f0448..61736985 100644 --- a/css/css.php +++ b/css/css.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link http://syspass.org - * @copyright 2012-2014 Rubén Domínguez nuxsmin@syspass.org + * @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org * * This file is part of sysPass. * diff --git a/css/styles.css b/css/styles.css index b395886c..f0332ad4 100644 --- a/css/styles.css +++ b/css/styles.css @@ -1748,4 +1748,29 @@ fieldset.warning a { #actions.installer div.buttons { margin-top: 1em; text-align: center; +} + +#whatsNewIcon {text-align: center;} +#whatsNewIcon img{width: 64px; height: 64px;} +#whatsNewIcon h2{display: inline-block; color: #555; font-size: 16px;} + +#whatsNew{ + margin: 0 auto; + width: 500px; + background-color: #fffde1; + padding: 2em; + line-height: 1.5em; + font-size: 16px; + color: #555; + border: 1px solid #d9d9d9; + margin-bottom: 3em; + display: none; +} + +#whatsNew ul{padding: 0; border: none;} +#whatsNew li { + padding-left: 37px; + background: url("../imgs/arrow-list.png") left center no-repeat; + line-height: 32px; + list-style: none; } \ No newline at end of file diff --git a/imgs/arrow-list.png b/imgs/arrow-list.png new file mode 100644 index 0000000000000000000000000000000000000000..d41cb0045d9835d129534bfbaa14c0a0cec8fcd9 GIT binary patch literal 1070 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 TFxIIk`?tnG*A!i);}rcr{?O1~ literal 0 HcmV?d00001 diff --git a/inc/account.class.php b/inc/account.class.php index c5402ff8..090e7a4c 100644 --- a/inc/account.class.php +++ b/inc/account.class.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link http://syspass.org - * @copyright 2012-2014 Rubén Domínguez nuxsmin@syspass.org + * @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org * * This file is part of sysPass. * @@ -67,9 +67,10 @@ class SP_Account var $cacheParams; /** - * @brief Obtener los datos de usuario y modificador de una cuenta + * Obtener los datos de usuario y modificador de una cuenta. + * * @param int $accountId con el Id de la cuenta - * @return object con el id de usuario y modificador. + * @return false|object con el id de usuario y modificador. */ public static function getAccountRequestData($accountId) { @@ -90,9 +91,10 @@ class SP_Account } /** - * @brief Obtiene el listado con el nombre de los usuaios de una cuenta + * Obtiene el listado con el nombre de los usuaios de una cuenta. + * * @param int $accountId con el Id de la cuenta - * @return array con los nombres de los usuarios ordenados + * @return false|array con los nombres de los usuarios ordenados */ public static function getAccountUsersName($accountId) { @@ -121,9 +123,10 @@ class SP_Account } /** - * @brief Obtener las cuentas de una búsqueda - * @param array $searchFilter filtros de búsqueda - * @return array resultado de la consulta + * Obtener las cuentas de una búsqueda. + * + * @param array $searchFilter Filtros de búsqueda + * @return bool Resultado de la consulta */ public function getAccounts($searchFilter) { @@ -251,10 +254,11 @@ class SP_Account } /** - * @brief Obtener los datos del histórico de una cuenta - * @return none + * Obtener los datos del histórico de una cuenta. + * Esta funcion realiza la consulta a la BBDD y guarda los datos del histórico + * en las variables de la clase. * - * Esta funcion realiza la consulta a la BBDD y guarda los datos del histórico en las variables de la clase. + * @return false|object */ public function getAccountHistory() { @@ -307,7 +311,8 @@ class SP_Account } /** - * @brief Actualiza los datos de una cuenta en la BBDD + * Actualiza los datos de una cuenta en la BBDD. + * * @param bool $isRestore si es una restauración de cuenta * @return bool */ @@ -372,7 +377,8 @@ class SP_Account } /** - * @brief Crear un nuevo registro de histório de cuenta en la BBDD + * Crear un nuevo registro de histório de cuenta en la BBDD. + * * @param bool $isDelete indica que la cuenta es eliminada * @return bool */ @@ -417,10 +423,10 @@ class SP_Account } /** - * @brief Obtener los datos de una cuenta - * @return none - * + * Obtener los datos de una cuenta. * Esta funcion realiza la consulta a la BBDD y guarda los datos en las variables de la clase. + * + * @return object|false */ public function getAccount() { @@ -474,12 +480,12 @@ class SP_Account } /** - * @brief Obtener los datos de una cuenta con el id - * @param array $params con los campos de la BBDD a obtener - * @return bool - * + * Obtener los datos de una cuenta con el id. * Se guardan los datos en la variable $cacheParams de la clase para consultarlos * posteriormente. + * + * @param array $params con los campos de la BBDD a obtener + * @return bool */ private function getAccountInfoById($params) { @@ -522,7 +528,8 @@ class SP_Account } /** - * @brief Crea una nueva cuenta en la BBDD + * Crea una nueva cuenta en la BBDD + * * @return bool */ public function createAccount() @@ -580,7 +587,8 @@ class SP_Account } /** - * @brief Elimina los datos de una cuenta en la BBDD + * Elimina los datos de una cuenta en la BBDD. + * * @return bool */ public function deleteAccount() @@ -621,8 +629,9 @@ class SP_Account } /** - * @brief Obtiene el listado del histórico de una cuenta - * @return array con los registros con id como clave y fecha - usuario como valor + * Obtiene el listado del histórico de una cuenta. + * + * @return false|array Con los registros con id como clave y fecha - usuario como valor */ public function getAccountHistoryList() { @@ -657,7 +666,8 @@ class SP_Account } /** - * @brief Incrementa el contador de visitas de una cuenta en la BBDD + * Incrementa el contador de visitas de una cuenta en la BBDD + * * @return bool */ public function incrementViewCounter() @@ -674,7 +684,8 @@ class SP_Account } /** - * @brief Incrementa el contador de vista de clave de una cuenta en la BBDD + * Incrementa el contador de vista de clave de una cuenta en la BBDD + * * @return bool */ public function incrementDecryptCounter() @@ -690,8 +701,9 @@ class SP_Account } /** - * @brief Obtiene el número de cuentas que un usuario puede ver - * @return int con el número de registros + * Obtiene el número de cuentas que un usuario puede ver. + * + * @return false|int con el número de registros */ public function getAccountMax() { @@ -721,7 +733,8 @@ class SP_Account } /** - * @brief Actualiza las claves de todas las cuentas con la nueva clave maestra + * Actualiza las claves de todas las cuentas con la nueva clave maestra. + * * @param string $currentMasterPass con la clave maestra actual * @param string $newMasterPass con la nueva clave maestra * @return bool @@ -741,8 +754,6 @@ class SP_Account // Limpiar 'text' para los próximos mensajes $message['text'] = array(); - $crypt = new SP_Crypt(); - if (!SP_Crypt::checkCryptModule()) { $message['text'][] = _('Error en el módulo de encriptación'); SP_Log::wrLogInfo($message); @@ -767,9 +778,9 @@ class SP_Account continue; } - $decryptedPass = $crypt->decrypt($account->account_pass, $currentMasterPass, $account->account_IV); - $this->accountPass = $crypt->mkEncrypt($decryptedPass, $newMasterPass); - $this->accountIV = $crypt->strInitialVector; + $decryptedPass = SP_Crypt::getDecrypt($account->account_pass, $currentMasterPass, $account->account_IV); + $this->accountPass = SP_Crypt::mkEncrypt($decryptedPass, $newMasterPass); + $this->accountIV = SP_Crypt::$strInitialVector; if ($this->accountPass === false) { $errorCount++; @@ -807,8 +818,9 @@ class SP_Account } /** - * @brief Obtener los datos relativos a la clave de todas las cuentas - * @return array con los datos de la clave + * Obtener los datos relativos a la clave de todas las cuentas. + * + * @return false|array Con los datos de la clave */ private function getAccountsPassData() { @@ -826,7 +838,8 @@ class SP_Account } /** - * @brief Actualiza la clave de una cuenta en la BBDD + * Actualiza la clave de una cuenta en la BBDD. + * * @param bool $isMassive para no actualizar el histórico ni enviar mensajes * @param bool $isRestore indica si es una restauración * @return bool @@ -874,7 +887,8 @@ class SP_Account } /** - * @brief Actualiza las claves de todas las cuentas en el histórico con la nueva clave maestra + * Actualiza las claves de todas las cuentas en el histórico con la nueva clave maestra. + * * @param string $currentMasterPass con la clave maestra actual * @param string $newMasterPass con la nueva clave maestra * @param string $newHash con el nuevo hash de la clave maestra @@ -894,8 +908,6 @@ class SP_Account // Limpiar 'text' para los próximos mensajes $message['text'] = array(); - $crypt = new SP_Crypt(); - if (!SP_Crypt::checkCryptModule()) { $message['text'][] = _('Error en el módulo de encriptación'); SP_Log::wrLogInfo($message); @@ -923,10 +935,10 @@ class SP_Account continue; } - $decryptedPass = $crypt->decrypt($account->acchistory_pass, $currentMasterPass, $account->acchistory_IV); + $decryptedPass = SP_Crypt::getDecrypt($account->acchistory_pass, $currentMasterPass, $account->acchistory_IV); - $this->accountPass = $crypt->mkEncrypt($decryptedPass, $newMasterPass); - $this->accountIV = $crypt->strInitialVector; + $this->accountPass = SP_Crypt::mkEncrypt($decryptedPass, $newMasterPass); + $this->accountIV = SP_Crypt::$strInitialVector; if ($this->accountPass === false) { $errorCount++; @@ -964,8 +976,9 @@ class SP_Account } /** - * @brief Obtener los datos relativo a la clave de todas las cuentas del histórico - * @return array con los datos de la clave + * Obtener los datos relativo a la clave de todas las cuentas del histórico. + * + * @return false|array con los datos de la clave */ private function getAccountsHistoryPassData() { @@ -983,7 +996,8 @@ class SP_Account } /** - * @brief Comprueba el hash de la clave maestra del registro de histórico de una cuenta + * Comprueba el hash de la clave maestra del registro de histórico de una cuenta. + * * @param int $id opcional, con el Id del registro a comprobar * @return bool */ @@ -1010,7 +1024,8 @@ class SP_Account } /** - * @brief Actualiza la clave del histórico de una cuenta en la BBDD + * Actualiza la clave del histórico de una cuenta en la BBDD. + * * @param int $id con el id del registro a actualizar * @param string $newHash con el hash de la clave maestra * @return bool @@ -1031,11 +1046,11 @@ class SP_Account } /** - * @brief Calcular el hash de los datos de una cuenta - * @return string con el hash - * + * Calcular el hash de los datos de una cuenta. * Esta función se utiliza para verificar si los datos de un formulario han sido cambiados * con respecto a los guardados + * + * @return string con el hash */ public function calcChangesHash() { @@ -1087,7 +1102,8 @@ class SP_Account } /** - * @brief Devolver datos de la cuenta para comprobación de accesos + * Devolver datos de la cuenta para comprobación de accesos. + * * @param int $accountId con el id de la cuenta * @return array con los datos de la cuenta */ @@ -1107,8 +1123,9 @@ class SP_Account } /** - * @brief Obtiene el listado usuarios con acceso a una cuenta - * @return array con los registros con id de cuenta como clave e id de usuario como valor + * Obtiene el listado usuarios con acceso a una cuenta. + * + * @return array Con los registros con id de cuenta como clave e id de usuario como valor */ public function getUsersAccount() { @@ -1140,7 +1157,8 @@ class SP_Account } /** - * @brief Obtiene el listado de grupos secundarios de una cuenta + * Obtiene el listado de grupos secundarios de una cuenta. + * * @return array con los registros con id de cuenta como clave e id de grupo como valor */ public function getGroupsAccount() diff --git a/inc/acl.class.php b/inc/acl.class.php index 9a5c1e45..d86519df 100644 --- a/inc/acl.class.php +++ b/inc/acl.class.php @@ -5,7 +5,7 @@ * * @author nuxsmin * @link http://syspass.org - * @copyright 2012-2014 Rubén Domínguez nuxsmin@syspass.org + * @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org * * This file is part of sysPass. * @@ -35,14 +35,14 @@ class SP_ACL static $accountCacheUserGroupsId; /** - * @brief Comprobar los permisos de acceso del usuario a los módulos de la aplicación - * @param string $strAction con el nombre de la acción - * @param int $userId opcional, con el Id del usuario - * @return bool - * + * Comprobar los permisos de acceso del usuario a los módulos de la aplicación. * Esta función comprueba los permisos del usuario para realizar una acción. * Si los permisos ya han sido obtenidos desde la BBDD, se utiliza el objeto creado * en la variable de sesión. + * + * @param string $strAction con el nombre de la acción + * @param int $userId opcional, con el Id del usuario + * @return bool */ public static function checkUserAccess($strAction, $userId = 0) { @@ -109,7 +109,8 @@ class SP_ACL } /** - * @brief Comprueba los permisos de acceso a una cuenta + * Comprueba los permisos de acceso a una cuenta. + * * @param string $action con la acción realizada * @param array $accountData con los datos de la cuenta a verificar * @return bool diff --git a/inc/auth.class.php b/inc/auth.class.php index 785365b7..7ddef49f 100644 --- a/inc/auth.class.php +++ b/inc/auth.class.php @@ -5,7 +5,7 @@ * * @author nuxsmin * @link http://syspass.org - * @copyright 2012-2014 Rubén Domínguez nuxsmin@syspass.org + * @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org * * This file is part of sysPass. * @@ -35,10 +35,11 @@ class SP_Auth static $userEmail; /** - * @brief Autentificación de usuarios con LDAP + * Autentificación de usuarios con LDAP. + * * @param string $userLogin con el login del usuario * @param string $userPass con la clave del usuario - * @return bool + * @return int|bool Número de error o boolean */ public static function authUserLDAP($userLogin, $userPass) { @@ -114,7 +115,8 @@ class SP_Auth } /** - * @brief Comprobar si el grupo de LDAP está habilitado + * Comprobar si el grupo de LDAP está habilitado. + * * @param string $group con el nombre del grupo * @return bool */ @@ -133,13 +135,14 @@ class SP_Auth } /** - * @brief Autentificación de usuarios con MySQL - * @param string $userLogin con el login del usuario - * @param string $userPass con la clave del usuario - * @return bool + * Autentificación de usuarios con MySQL. * * Esta función comprueba la clave del usuario. Si el usuario necesita ser migrado desde phpPMS, * se ejecuta el proceso para actualizar la clave. + * + * @param string $userLogin con el login del usuario + * @param string $userPass con la clave del usuario + * @return bool */ public static function authUserMySQL($userLogin, $userPass) { @@ -168,7 +171,8 @@ class SP_Auth } /** - * @brief Proceso para la recuperación de clave + * Proceso para la recuperación de clave. + * * @param string $login con el login del usuario * @param string $email con el email del usuario * @return bool diff --git a/inc/backup.class.php b/inc/backup.class.php index 2d7b1493..479b5e1f 100644 --- a/inc/backup.class.php +++ b/inc/backup.class.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link http://syspass.org - * @copyright 2012-2014 Rubén Domínguez nuxsmin@syspass.org + * @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org * * This file is part of sysPass. * @@ -31,11 +31,9 @@ defined('APP_ROOT') || die(_('No es posible acceder directamente a este archivo' class SP_Backup { /** - * @brief Realizar backup de la BBDD y aplicación - * @return array resultado + * Realizar backup de la BBDD y aplicación. * - * Realizar un backup completo de la BBDD y de la aplicación. - * Sólo es posible en entornos Linux + * @return bool */ public static function doBackup() { @@ -64,8 +62,9 @@ class SP_Backup } /** - * @brief Backup de las tablas de la BBDD + * Backup de las tablas de la BBDD. * Utilizar '*' para toda la BBDD o 'table1 table2 table3...' + * * @param string $tables * @param string $backupFile * @throws Exception @@ -143,7 +142,8 @@ class SP_Backup } /** - * @brief Realizar un backup de la aplicación y comprimirlo + * Realizar un backup de la aplicación y comprimirlo. + * * @param string $backupFile nombre del archivo de backup * @throws Exception * @return bool @@ -182,10 +182,10 @@ class SP_Backup } /** - * @brief Realizar un backup de la aplicación y comprimirlo usando aplicaciones del SO Linux + * Realizar un backup de la aplicación y comprimirlo usando aplicaciones del SO Linux. + * * @param string $backupFile nombre del archivo de backup - * @throws Exception - * @return bool + * @return int Con el código de salida del comando ejecutado */ private static function backupAppLegacyLinux($backupFile) { @@ -200,7 +200,8 @@ class SP_Backup } /** - * @brief Comprobar y crear el directorio de backups + * Comprobar y crear el directorio de backups. + * * @param string $backupDir ruta del directorio de backup * @throws Exception * @return bool diff --git a/inc/category.class.php b/inc/category.class.php index 99612408..b242f1a0 100644 --- a/inc/category.class.php +++ b/inc/category.class.php @@ -5,7 +5,7 @@ * * @author nuxsmin * @link http://syspass.org - * @copyright 2012-2014 Rubén Domínguez nuxsmin@syspass.org + * @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org * * This file is part of sysPass. * @@ -36,7 +36,8 @@ class SP_Category public static $categoryLastId; /** - * @brief Obtener el id de una categoría por el nombre + * Obtener el id de una categoría por el nombre. + * * @param string $categoryName con el nombre de la categoría * @return bool|int si la consulta es errónea devuelve bool. Si no hay registros o se obtiene el id, devuelve int */ @@ -59,7 +60,8 @@ class SP_Category } /** - * @brief Crear una nueva categoría en la BBDD + * Crear una nueva categoría en la BBDD. + * * @return bool */ public static function addCategory() @@ -84,7 +86,8 @@ class SP_Category } /** - * @brief Comprobar si existe una categoría duplicada + * Comprobar si existe una categoría duplicada. + * * @param int $id con el Id de la categoría a consultar * @return bool */ @@ -113,7 +116,8 @@ class SP_Category } /** - * @brief Eliminar una categoría de la BBDD + * Eliminar una categoría de la BBDD. + * * @param int $id con el id de la categoría * @return bool */ @@ -138,9 +142,10 @@ class SP_Category } /** - * @brief Obtiene el nombre de la categoría a partir del Id + * Obtiene el nombre de la categoría a partir del Id. + * * @param int $id con el Id de la categoría a consultar - * @return string con el nombre de la categoría + * @return false|string con el nombre de la categoría */ public static function getCategoryNameById($id) { @@ -157,7 +162,8 @@ class SP_Category } /** - * @brief Actualizar una categoría en la BBDD con el id + * Actualizar una categoría en la BBDD con el id. + * * @param int $id con el Id de la categoría a consultar * @return bool */ @@ -184,7 +190,8 @@ class SP_Category } /** - * @brief Obtener los datos de una categoría + * Obtener los datos de una categoría. + * * @param int $id con el Id de la categoría a consultar * @return array con el nombre de la columna como clave y los datos como valor */ @@ -210,7 +217,8 @@ class SP_Category } /** - * @brief Obtiene el listado de categorías + * Obtiene el listado de categorías. + * * @param int $id con el Id de la categoría * @param bool $retAssocArray para devolver un array asociativo * @return array con en id de categorioa como clave y en nombre como valor @@ -248,15 +256,13 @@ class SP_Category } /** - * @brief Comprobar si una categoría está en uso - * @param int $id con el Id de la categoría a consultar - * @return bool + * Comprobar si una categoría está en uso por cuentas. * - * Esta función comprueba si una categoría está en uso por cuentas. + * @param int $id con el Id de la categoría a consultar + * @return bool|string */ public static function checkCategoryInUse($id) { - $numAccounts = self::getCategoriesInAccounts($id); $out = ''; @@ -273,9 +279,10 @@ class SP_Category } /** - * @brief Obtener el número de cuentas que usan una categoría + * Obtener el número de cuentas que usan una categoría. + * * @param int $id con el Id de la categoría a consultar - * @return integer con el número total de cuentas + * @return false|integer con el número total de cuentas */ private static function getCategoriesInAccounts($id) { diff --git a/inc/common.class.php b/inc/common.class.php index 9d75331e..a90f11c8 100644 --- a/inc/common.class.php +++ b/inc/common.class.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link http://syspass.org - * @copyright 2012-2014 Rubén Domínguez nuxsmin@syspass.org + * @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org * * This file is part of sysPass. * @@ -31,7 +31,8 @@ defined('APP_ROOT') || die(_('No es posible acceder directamente a este archivo' class SP_Common { /** - * @brief Enviar un email + * Enviar un email utilizando la clase PHPMailer. + * * @param array $message con el nombre de la accióm y el texto del mensaje * @param string $mailTo con el destinatario * @param bool $isEvent para indicar si es um @@ -94,10 +95,11 @@ class SP_Common } /** - * @brief Inicializar la clase PHPMailer + * Inicializar la clase PHPMailer. + * * @param string $mailTo con la dirección del destinatario * @param string $action con la acción realizada - * @return object + * @return false|object */ public static function getEmailObject($mailTo, $action) { @@ -147,10 +149,11 @@ class SP_Common } /** - * @brief Devuelve una respuesta en formato XML con el estado y el mensaje + * Devuelve una respuesta en formato XML con el estado y el mensaje. + * * @param string $description mensaje a devolver * @param int $status devuelve el estado - * @return string documento XML + * @return bool */ public static function printXML($description, $status = 1) { @@ -171,11 +174,12 @@ class SP_Common } /** - * @brief Devuelve una respuesta en formato JSON con el estado y el mensaje + * Devuelve una respuesta en formato JSON con el estado y el mensaje. + * * @param string $description mensaje a devolver * @param int $status devuelve el estado * @param string $action con la accion a realizar - * @return string respuesta JSON + * @return bool */ public static function printJSON($description, $status = 1, $action = '') { @@ -195,10 +199,11 @@ class SP_Common } /** - * @brief Devuelve un icono de ayuda con el mensaje + * Devuelve un icono de ayuda con el mensaje. + * * @param int $type tipo de mensaje * @param int $id id del mensaje - * @return string con la etiqueta html + * @return string Con la etiqueta html del icono de ayuda */ public static function printHelpButton($type, $id) { @@ -233,21 +238,22 @@ class SP_Common $msgHelp[28] = _('Define el perfil de usuario por defecto para los nuevos usuarios de LDAP.'); if (array_key_exists($id, $msgHelp)) { - echo ''; + return ''; } } /** - * @brief Devuelve un hash para verificación de formularios + * Devuelve un hash para verificación de formularios. + * Esta función genera un hash que permite verificar la autenticidad de un formulario + * * @param bool $new si es necesrio regenerar el hash * @return string con el hash de verificación - * - * Esta función genera un hash que permite verificar la autenticidad de un formulario */ public static function getSessionKey($new = false) { $hash = sha1(time()); + // Generamos un nuevo hash si es necesario y lo guardamos en la sesión if (!isset($_SESSION["sk"]) || $new === true) { $_SESSION["sk"] = $hash; return $hash; @@ -257,7 +263,8 @@ class SP_Common } /** - * @brief Comprobar el hash de verificación de formularios + * Comprobar el hash de verificación de formularios. + * * @param string $key con el hash a comprobar * @return bool|string si no es correcto el hash devuelve bool. Si lo es, devuelve el hash actual. */ @@ -271,7 +278,9 @@ class SP_Common } /** - * @brief Obtener los valores de peticiones GET o POST y devolver limpios + * Obtener los valores de variables $_GET, $_POST, $_REQUEST o $_SESSION + * y devolverlos limpios con el tipo correcto o esperado. + * * @param string $method con el método a utilizar * @param string $param con el parámetro a consultar * @param mixed $default opcional, valor por defecto a devolver @@ -333,4 +342,4 @@ class SP_Common return $out; } } -} +} \ No newline at end of file diff --git a/inc/config.class.php b/inc/config.class.php index 7d7ef5b2..614afeba 100644 --- a/inc/config.class.php +++ b/inc/config.class.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link http://syspass.org - * @copyright 2012-2014 Rubén Domínguez nuxsmin@syspass.org + * @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org * * This file is part of sysPass. * @@ -49,11 +49,10 @@ class SP_Config private static $init = false; // La caché está llena?? /** - * @brief Obtiene un valor desde la configuración en la BBDD - * @param string $param con el parámetro de configuración - * @return string con el valor + * Obtiene un valor desde la configuración en la BBDD. * - * Obtener el valor de un parámetro almacenado en la BBDD + * @param string $param con el parámetro de configuración + * @return false|string con el valor */ public static function getConfigValue($param) { @@ -70,9 +69,9 @@ class SP_Config } /** - * @brief Obtener array con la configuración + * Obtener un array con la configuración almacenada en la BBDD. * - * Obtener un array con la configuración almacenada en la BBDD + * @return bool */ public static function getConfig() { @@ -89,16 +88,14 @@ class SP_Config $strKey = $config->config_parameter; $strValue = $config->config_value; self::$arrConfigValue[$strKey] = $strValue; - } } /** - * @brief Guardar la configuración + * Guardar la configuración en la BBDD. + * * @param bool $mkInsert realizar un 'insert'? * @return bool - * - * Guardar la configuración en la BBDD */ public static function writeConfig($mkInsert = false) { @@ -131,7 +128,8 @@ class SP_Config } /** - * @brief Guardar un parámetro de configuración + * Guardar un parámetro de configuración en la BBDD. + * * @param string $param con el parámetro a guardar * @param string $value con el calor a guardar * @return bool @@ -159,11 +157,10 @@ class SP_Config } /** - * @brief Cargar la configuración desde la BBDD + * Cargar la configuración desde la BBDD a variable global $CFG. + * * @param bool $force reescribir la variable global $CFG? * @return bool - * - * Cargar la configuración desde la BBDD y guardarla en una variable global $CFG */ public static function getDBConfig($force = false) { @@ -197,13 +194,11 @@ class SP_Config } /** - * @brief Obtiene un valor desde config.php + * Obtiene un valor de configuración desde el archivo config.php + * * @param string $key clave * @param string $default = null valor por defecto * @return string el valor o $default - * - * Esta función obtiene un valor desde config.php. Si no existe, - * $default será defuelto. */ public static function getValue($key, $default = null) { @@ -215,10 +210,9 @@ class SP_Config } /** - * @brief Carga el archivo de configuración - * @return bool + * Carga el archivo de configuración y lo guarda en caché. * - * Lee el archivo de configuración y lo guarda en caché + * @return bool */ private static function readData() { @@ -246,11 +240,10 @@ class SP_Config } /** - * @brief Lista todas las claves de configuración + * Lista todas las claves de configuración guardadas en config.php. + * * @param bool $full obtener todas las claves y sus valores * @return array con nombres de claves - * - * Esta función devuelve todas las claves guardadas en config.php. */ public static function getKeys($full = false) { @@ -264,12 +257,12 @@ class SP_Config } /** - * @brief Elimina una clave de la configuración - * @param string $key clave - * @return bool - * + * Elimina una clave de la configuración. * Esta función elimina una clave de config.php. Si no tiene permiso * de escritura en config.php, devolverá false. + * + * @param string $key clave + * @return bool */ public static function deleteKey($key) { @@ -287,7 +280,8 @@ class SP_Config } /** - * @brief Escribe en archivo de configuración + * Escribe en archivo de configuración. + * * @return bool */ public static function writeData() @@ -323,8 +317,7 @@ class SP_Config } /** - * @brief Establece los valores de configuración por defecto en config.php - * @return none + * Establece los valores de configuración por defecto en config.php */ public static function setDefaultValues() { @@ -354,13 +347,13 @@ class SP_Config } /** - * @brief Establece un valor + * Establece un valor en el archivo de configuración. + * Esta función establece el valor y reescribe config.php. Si el archivo + * no se puede escribir, devolverá false. + * * @param string $key clave * @param string $value valor * @return bool - * - * Esta función establece el valor y reescribe config.php. Si el archivo - * no se puede escribir, devolverá false. */ public static function setValue($key, $value) { diff --git a/inc/crypt.class.php b/inc/crypt.class.php index b7386f81..6774f51b 100644 --- a/inc/crypt.class.php +++ b/inc/crypt.class.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link http://syspass.org - * @copyright 2012-2014 Rubén Domínguez nuxsmin@syspass.org + * @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org * * This file is part of sysPass. * @@ -30,39 +30,35 @@ defined('APP_ROOT') || die(_('No es posible acceder directamente a este archivo' */ class SP_Crypt { - - public $strInitialVector; + public static $strInitialVector; /** - * @brief Comprobar si el módulo de encriptación está disponible + * Comprobar si el módulo de encriptación está disponible. + * * @return bool */ public static function checkCryptModule() { - $resEncDes = mcrypt_module_open('rijndael-256', '', 'cbc', ''); - - if ($resEncDes == false) { - return false; - } else { - return true; - } + return mcrypt_module_self_test(MCRYPT_RIJNDAEL_256); } /** - * @brief Generar un hash de una clave utilizando un salt + * Generar un hash de una clave utilizando un salt. + * * @param string $pwd con la clave a 'hashear' * @return string con el hash de la clave */ public static function mkHashPassword($pwd) { - $salt = bin2hex(mcrypt_create_iv(32, MCRYPT_DEV_URANDOM)); // Obtenemos 256 bits aleatorios en hexadecimal + $salt = bin2hex(self::getIV()); // Obtenemos 256 bits aleatorios en hexadecimal $hash = hash("sha256", $salt . $pwd); // Añadimos el salt a la clave y rehacemos el hash $hashPwd = $salt . $hash; return $hashPwd; } /** - * @brief Comprobar el hash de una clave + * Comprobar el hash de una clave. + * * @param string $pwd con la clave a comprobar * @param string $correctHash con el hash a comprobar * @return bool @@ -86,165 +82,129 @@ class SP_Crypt } /** - * @brief Crear un salt + * Crear un salt utilizando mcrypt. + * * @return string con el salt creado */ public static function makeHashSalt() { - do { - $cryptIV = self::createIV(); - $blnCheckIv = self::checkIV($cryptIV); - } while ($blnCheckIv == false); - - return $cryptIV; + return self::getIV(); } /** - * @brief Generar una clave encriptada + * Generar una clave encriptada. + * Esta función llama a los métodos privados para encriptar datos. + * * @param string $pwd con la clave a encriptar * @param string $masterPwd con la clave maestra * @return bool - * - * Esta función llama a los métodos privados para encriptar datos. */ - public function mkEncrypt($pwd, $masterPwd = "") + public static function mkEncrypt($pwd, $masterPwd = "") { - $masterPwd = (!$masterPwd) ? $this->getSessionMasterPass() : $masterPwd; + $masterPwd = (!$masterPwd) ? self::getSessionMasterPass() : $masterPwd; - do { - do { - $cryptIV = SP_Crypt::createIV(); - $blnCheckIv = SP_Crypt::checkIV($cryptIV); - } while ($blnCheckIv == false); - - $this->strInitialVector = $cryptIV; - - $cryptValue = $this->encrypt($pwd, $masterPwd, $cryptIV); - $blnCheckEncrypted = $this->checkEncryptedPass($cryptValue); - } while ($blnCheckEncrypted == false); + self::$strInitialVector = self::getIV(); + $cryptValue = self::encrypt($pwd, $masterPwd, self::$strInitialVector); return $cryptValue; } /** - * @brief Desencriptar la clave maestra de la sesión + * Desencriptar la clave maestra de la sesión. + * * @return string con la clave maestra */ - public function getSessionMasterPass() + public static function getSessionMasterPass() { - return $this->decrypt($_SESSION["mPass"], $_SESSION['mPassPwd'], $_SESSION['mPassIV']); + return self::getDecrypt($_SESSION["mPass"], $_SESSION['mPassPwd'], $_SESSION['mPassIV']); } /** - * @brief Desencriptar datos con la clave maestra + * Desencriptar datos con la clave maestra. + * * @param string $strEncrypted con los datos a desencriptar * @param string $strPassword con la clave maestra * @param string $cryptIV con el IV * @return string con los datos desencriptados */ - public function decrypt($strEncrypted, $strPassword, $cryptIV) + public static function getDecrypt($strEncrypted, $strPassword, $cryptIV) { - $resEncDes = mcrypt_module_open('rijndael-256', '', 'cbc', ''); - mcrypt_generic_init($resEncDes, $strPassword, $cryptIV); - $strDecrypted = trim(mdecrypt_generic($resEncDes, $strEncrypted)); + $mcryptRes = self::getMcryptResource(); + mcrypt_generic_init($mcryptRes, $strPassword, $cryptIV); + $strDecrypted = trim(mdecrypt_generic($mcryptRes, $strEncrypted)); - mcrypt_generic_deinit($resEncDes); - mcrypt_module_close($resEncDes); + mcrypt_generic_deinit($mcryptRes); + mcrypt_module_close($mcryptRes); return $strDecrypted; } /** - * @brief Crear el vector de inicialización + * Crear el vector de inicialización. + * * @return string con el IV */ - private static function createIV() + private static function getIV() { - $resEncDes = mcrypt_module_open('rijndael-256', '', 'cbc', ''); + $source = MCRYPT_DEV_URANDOM; + $mcryptRes = self::getMcryptResource(); + if (SP_Util::runningOnWindows() && (!defined('PHP_VERSION_ID') || PHP_VERSION_ID < 50300)) { - $cryptIV = mcrypt_create_iv(mcrypt_enc_get_iv_size($resEncDes), MCRYPT_RAND); - } else { - $cryptIV = mcrypt_create_iv(mcrypt_enc_get_iv_size($resEncDes), MCRYPT_DEV_URANDOM); + $source = MCRYPT_RAND; } - mcrypt_module_close($resEncDes); + + // Crear el IV y asegurar que tiene una longitud de 32 bytes + do { + $cryptIV = mcrypt_create_iv(mcrypt_enc_get_iv_size($mcryptRes), $source); + } while (strlen($cryptIV) < 32); + + mcrypt_module_close($mcryptRes); return $cryptIV; } /** - * @brief Comprobar si el vector de inicialización tiene la longitud correcta - * @param string $cryptIV con el IV - * @return bool - */ - private static function checkIV($cryptIV) - { - $strEscapeInitialVector = DB::escape($cryptIV); - - if (strlen($strEscapeInitialVector) != 32) { - return false; - } else { - return true; - } - } - - /** - * @brief Encriptar datos con la clave maestra + * Encriptar datos con la clave maestra. + * * @param string $strValue con los datos a encriptar * @param string $strPassword con la clave maestra * @param string $cryptIV con el IV * @return string con los datos encriptados */ - private function encrypt($strValue, $strPassword, $cryptIV) + private static function encrypt($strValue, $strPassword, $cryptIV) { - $resEncDes = mcrypt_module_open('rijndael-256', '', 'cbc', ''); - mcrypt_generic_init($resEncDes, $strPassword, $cryptIV); - $strEncrypted = mcrypt_generic($resEncDes, $strValue); - mcrypt_generic_deinit($resEncDes); + $mcryptRes = self::getMcryptResource(); + + mcrypt_generic_init($mcryptRes, $strPassword, $cryptIV); + $strEncrypted = mcrypt_generic($mcryptRes, $strValue); + mcrypt_generic_deinit($mcryptRes); return $strEncrypted; } /** - * @brief Comprobar datos encriptados - * @param string $strEncryptedPass con los datos encriptados - * @return bool + * Generar la clave maestra encriptada con la clave del usuario. * - * Esta función comprueba la longitud de los datos encriptados despues de - * escaparlos con mysqli - */ - private function checkEncryptedPass($strEncryptedPass) - { - $strEscapedEncryptedPass = DB::escape($strEncryptedPass); - - if (strlen($strEscapedEncryptedPass) != strlen($strEncryptedPass)) { - return false; - } else { - return true; - } - } - - /** - * @brief Generar la clave maestra encriptada con la clave del usuario * @param string $customPwd con la clave a encriptar * @param string $masterPwd con la clave maestra * @return string con la clave encriptada - * - * Esta función llama a los métodos privados para encriptar datos. */ - public function mkCustomMPassEncrypt($customPwd, $masterPwd) + public static function mkCustomMPassEncrypt($customPwd, $masterPwd) { - do { - do { - $cryptIV = SP_Crypt::createIV(); - $blnCheckIv = SP_Crypt::CheckIV($cryptIV); - } while ($blnCheckIv == false); - - $cryptValue = $this->encrypt($masterPwd, $customPwd, $cryptIV); - $blnCheckEncrypted = $this->checkEncryptedPass($cryptValue); - } while ($blnCheckEncrypted == false); - + $cryptIV = self::getIV(); + $cryptValue = self::encrypt($masterPwd, $customPwd, $cryptIV); $dataCrypt = array($cryptValue, $cryptIV); return $dataCrypt; } + + /** + * Método para obtener un recurso del módulo mcrypt. + * Se utiliza el algoritmo RIJNDAEL_256 en modo CBC + * + * @return resource + */ + private static function getMcryptResource(){ + return mcrypt_module_open(MCRYPT_RIJNDAEL_256, '', MCRYPT_MODE_CBC, ''); + } } \ No newline at end of file diff --git a/inc/customer.class.php b/inc/customer.class.php index 087e64d2..0d9e774a 100644 --- a/inc/customer.class.php +++ b/inc/customer.class.php @@ -5,7 +5,7 @@ * * @author nuxsmin * @link http://syspass.org - * @copyright 2012-2014 Rubén Domínguez nuxsmin@syspass.org + * @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org * * This file is part of sysPass. * @@ -38,7 +38,8 @@ class SP_Customer public static $customerHash; /** - * @brief Crear un nuevo cliente en la BBDD + * Crear un nuevo cliente en la BBDD. + * * @return bool */ public static function addCustomer() @@ -63,17 +64,17 @@ class SP_Customer } /** - * @brief Crear un hash con el nombre del cliente - * @return string con el hash generado - * + * Crear un hash con el nombre del cliente. * Esta función crear un hash para detectar clientes duplicados mediante * la eliminación de carácteres especiales y capitalización + * + * @return string con el hash generado */ private static function mkCustomerHash() { $charsSrc = array( - ".", " ", "_", ", ", "-", "; - ", "'", "\"", ":", "(", ")", "|", "/"); + ".", " ", "_", ", ", "-", ";", + "'", "\"", ":", "(", ")", "|", "/"); $newValue = strtolower(str_replace($charsSrc, '', DB::escape(self::$customerName))); $hashValue = md5($newValue); @@ -81,7 +82,8 @@ class SP_Customer } /** - * @brief Actualizar un cliente en la BBDD + * Actualizar un cliente en la BBDD. + * * @param int $id con el Id del cliente * @return bool */ @@ -109,7 +111,8 @@ class SP_Customer } /** - * @brief Eliminar un cliente de la BBDD + * Eliminar un cliente de la BBDD. + * * @param int $id con el Id del cliente a eliminar * @return bool */ @@ -134,9 +137,10 @@ class SP_Customer } /** - * @brief Obtener el Nombre de un cliente por su Id + * Obtener el Nombre de un cliente por su Id. + * * @param int $id con el Id del cliente - * @return string con el nombre del cliente + * @return false|string con el nombre del cliente */ public static function getCustomerById($id) { @@ -153,7 +157,8 @@ class SP_Customer } /** - * @brief Comprobar si existe un cliente duplicado comprobando el hash + * Comprobar si existe un cliente duplicado comprobando el hash. + * * @param int $id opcional con el Id del cliente * @return bool */ @@ -181,8 +186,9 @@ class SP_Customer } /** - * @brief Obtener el Id de un cliente por su nombre - * @return int con el Id del cliente + * Obtener el Id de un cliente por su nombre + * + * @return false|int Con el Id del cliente */ public static function getCustomerByName() { @@ -199,7 +205,8 @@ class SP_Customer } /** - * @brief Obtener los datos de un cliente + * Obtener los datos de un cliente. + * * @param int $id con el Id del cliente a consultar * @return array con el nombre de la columna como clave y los datos como valor */ @@ -225,7 +232,8 @@ class SP_Customer } /** - * @brief Obtener el listado de clientes + * Obtener el listado de clientes. + * * @param int $customerId con el Id del cliente * @param bool $retAssocArray para devolver un array asociativo * @return array con el id de cliente como clave y el nombre como valor @@ -263,11 +271,11 @@ class SP_Customer } /** - * @brief Comprobar si un cliente está en uso - * @param int $id con el Id del cliente a consultar - * @return bool - * + * Comprobar si un cliente está en uso. * Esta función comprueba si un cliente está en uso por cuentas. + * + * @param int $id con el Id del cliente a consultar + * @return int Con el número de cuentas */ public static function checkCustomerInUse($id) { @@ -276,9 +284,10 @@ class SP_Customer } /** - * @brief Obtener el número de cuentas que usan un cliente + * Obtener el número de cuentas que usan un cliente. + * * @param int $id con el Id del cliente a consultar - * @return integer con el número total de cuentas + * @return false|int con el número total de cuentas */ private static function getCustomerInAccounts($id) { diff --git a/inc/db.class.php b/inc/db.class.php index 6d3b2e38..468db306 100644 --- a/inc/db.class.php +++ b/inc/db.class.php @@ -5,7 +5,7 @@ * * @author nuxsmin * @link http://syspass.org - * @copyright 2012-2014 Rubén Domínguez nuxsmin@syspass.org + * @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org * * This file is part of sysPass. * @@ -41,7 +41,8 @@ class DB private static $_db; /** - * @brief Comprobar que la base de datos existe + * Comprobar que la base de datos existe. + * * @return bool */ public static function checkDatabaseExist() @@ -69,11 +70,11 @@ class DB } /** - * @brief Realizar la conexión con la BBDD - * @return bool - * + * Realizar la conexión con la BBDD. * Esta función utiliza mysqli para conectar con la base de datos. * Guarda el objeto creado en la variable $_db de la clase + * + * @return bool */ private static function connection() { @@ -118,13 +119,14 @@ class DB } /** - * @brief Obtener los datos para generar un select + * Obtener los datos para generar un select. + * * @param string $tblName con el nombre de la tabla a cunsultar * @param string $tblColId con el nombre de la columna del tipo Id a mostrar * @param string $tblColName con el nombre de la columna del tipo Name a mostrar * @param array $arrFilter con las columnas a filtrar * @param array $arrOrder con el orden de las columnas - * @return array con los valores del select con el Id como clave y el nombre como valor + * @return false|array con los valores del select con el Id como clave y el nombre como valor */ public static function getValuesForSelect($tblName, $tblColId, $tblColName, $arrFilter = NULL, $arrOrder = NULL) { @@ -152,7 +154,8 @@ class DB } /** - * @brief Obtener los resultados de una consulta + * Obtener los resultados de una consulta. + * * @param string $query con la consulta a realizar * @param string $querySource con el nombre de la función que realiza la consulta * @param bool $retArray devolver un array si la consulta tiene esultados @@ -181,11 +184,12 @@ class DB } /** - * @brief Realizar una consulta a la BBDD + * Realizar una consulta a la BBDD. + * * @param string $query con la consulta a realizar * @param string $querySource con el nombre de la función que realiza la consulta * @param bool $unbuffered realizar la consulta para obtener registro a registro - * @return bool|int devuelve bool si hay un error. Devuelve int con el número de registros + * @return false|int devuelve bool si hay un error. Devuelve int con el número de registros */ public static function doQuery($query, $querySource, $unbuffered = false) { @@ -249,11 +253,10 @@ class DB } /** - * @brief Escapar una cadena de texto + * Escapar una cadena de texto con funciones de mysqli. + * * @param string $str con la cadena a escapar * @return string con la cadena escapada - * - * Esta función utiliza mysqli para escapar cadenas de texto. */ public static function escape($str) { diff --git a/inc/files.class.php b/inc/files.class.php index 429b9972..3c35bad6 100644 --- a/inc/files.class.php +++ b/inc/files.class.php @@ -5,7 +5,7 @@ * * @author nuxsmin * @link http://syspass.org - * @copyright 2012-2014 Rubén Domínguez nuxsmin@syspass.org + * @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org * * This file is part of sysPass. * @@ -32,7 +32,8 @@ defined('APP_ROOT') || die(_('No es posible acceder directamente a este archivo' class SP_Files { /** - * @brief Guardar un archivo en la BBDD + * Guardar un archivo en la BBDD. + * * @param int $accountId * @param array $fileData con los datos y el contenido del archivo * @return bool @@ -64,11 +65,11 @@ class SP_Files } /** - * @brief Obtener un archivo desde la BBDD - * @param int $fileId con el Id del archivo - * @return object con los datos del archivo - * + * Obtener un archivo desde la BBDD. * Función para obtener un archivo y pasarlo al navegador como descarga o imagen en línea + * + * @param int $fileId con el Id del archivo + * @return false|object con los datos del archivo */ public static function fileDownload($fileId) { @@ -89,7 +90,8 @@ class SP_Files } /** - * @brief Eliminar un archivo de la BBDD + * Eliminar un archivo de la BBDD. + * * @param int $fileId con el Id del archivo * @return bool */ @@ -119,9 +121,10 @@ class SP_Files } /** - * @brief Obtener información de un archivo almacenado en la BBDD + * Obtener información de un archivo almacenado en la BBDD. + * * @param int $fileId con el Id del archivo - * @return object con el resultado de la consulta + * @return false|object con el resultado de la consulta */ public static function getFileInfo($fileId) { @@ -145,9 +148,10 @@ class SP_Files } /** - * @brief Obtener el listado de archivos de una cuenta + * Obtener el listado de archivos de una cuenta. + * * @param int $accountId con el Id de la cuenta - * @return array con los archivos de la cuenta. + * @return false|array con los archivos de la cuenta. */ public static function getFileList($accountId) { @@ -176,9 +180,10 @@ class SP_Files } /** - * @brief Obtener el número de archivo de una cuenta + * Obtener el número de archivo de una cuenta. + * * @param int $accountId con el Id de la cuenta - * @return int con el número de archivos + * @return false|int con el número de archivos */ public static function countFiles($accountId) { @@ -196,7 +201,8 @@ class SP_Files /** - * @brief Elimina los archivos de una cuenta en la BBDD + * Elimina los archivos de una cuenta en la BBDD. + * * @param int $accountId con el Id de la cuenta * @return bool */ diff --git a/inc/groups.class.php b/inc/groups.class.php index 9b655af1..d2ccd473 100644 --- a/inc/groups.class.php +++ b/inc/groups.class.php @@ -5,7 +5,7 @@ * * @author nuxsmin * @link http://syspass.org - * @copyright 2012-2014 Rubén Domínguez nuxsmin@syspass.org + * @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org * * This file is part of sysPass. * @@ -38,7 +38,8 @@ class SP_Groups static $queryLastId; /** - * @brief Obtener los datos de un grupo + * Obtener los datos de un grupo. + * * @param int $id con el Id del grupo a consultar * @return array con el nombre de la columna como clave y los datos como valor */ @@ -64,10 +65,11 @@ class SP_Groups } /** - * @brief Obtener los grupos de usuarios + * Obtener los grupos de usuarios. + * * @param int $groupId opcional, con el Id del grupo a consultar * @param bool $returnArray opcional, si se debe de devolver un array asociativo - * @return array con la lista de grupos + * @return false|array con la lista de grupos */ public static function getGroups($groupId = NULL, $returnArray = false) { @@ -101,7 +103,8 @@ class SP_Groups } /** - * @brief Comprobar si un grupo existe en la BBDD + * Comprobar si un grupo existe en la BBDD. + * * @return bool */ public static function checkGroupExist() @@ -132,7 +135,8 @@ class SP_Groups } /** - * @brief Añadir un nuevo grupo + * Añadir un nuevo grupo. + * * @return bool */ public static function addGroup() @@ -157,7 +161,8 @@ class SP_Groups } /** - * @brief Modificar un grupo + * Modificar un grupo. + * * @return bool */ public static function updateGroup() @@ -185,7 +190,8 @@ class SP_Groups } /** - * @brief Eliminar un grupo + * Eliminar un grupo. + * * @return bool */ public static function deleteGroup() @@ -211,10 +217,9 @@ class SP_Groups } /** - * @brief Comprobar si un grupo está en uso - * @return array con el número de usuarios/cuentas que usan el grupo + * Comprobar si un grupo está en uso por usuarios o cuentas. * - * Esta función comprueba si un grupo está en uso por usuarios o cuentas. + * @return array con el número de usuarios/cuentas que usan el grupo */ public static function checkGroupInUse() { @@ -224,8 +229,9 @@ class SP_Groups } /** - * @brief Obtener el número de usuarios que usan un grupo - * @return int con el número total de cuentas + * Obtener el número de usuarios que usan un grupo. + * + * @return false|int con el número total de cuentas */ private static function getGroupInUsers() { @@ -243,8 +249,9 @@ class SP_Groups } /** - * @brief Obtener el número de cuentas que usan un grupo como primario - * @return integer con el número total de cuentas + * Obtener el número de cuentas que usan un grupo como primario. + * + * @return false|int con el número total de cuentas */ private static function getGroupInAccounts() { @@ -262,8 +269,9 @@ class SP_Groups } /** - * @brief Obtener el número de cuentas que usan un grupo como secundario - * @return integer con el número total de cuentas + * Obtener el número de cuentas que usan un grupo como secundario. + * + * @return false|int con el número total de cuentas */ private static function getGroupInAccountsSec() { @@ -281,9 +289,10 @@ class SP_Groups } /** - * @brief Obtener el nombre de un grupo por a partir del Id + * Obtener el nombre de un grupo por a partir del Id. + * * @param int $id con el Id del grupo - * @return string con el nombre del grupo + * @return false|string con el nombre del grupo */ public static function getGroupNameById($id) { @@ -301,9 +310,10 @@ class SP_Groups } /** - * @brief Obtiene el listado con el nombre de los grupos de una cuenta + * Obtiene el listado con el nombre de los grupos de una cuenta. + * * @param int $accountId con el Id de la cuenta - * @return array con los nombres de los grupos ordenados + * @return false|array con los nombres de los grupos ordenados */ public static function getGroupsNameForAccount($accountId) { @@ -329,7 +339,8 @@ class SP_Groups } /** - * @brief Actualizar la asociación de grupos con cuentas + * Actualizar la asociación de grupos con cuentas. + * * @param int $accountId con el Id de la cuenta * @param array $groupsId con los grupos de la cuenta * @return bool @@ -344,7 +355,8 @@ class SP_Groups } /** - * @brief Eliminar la asociación de grupos con cuentas + * Eliminar la asociación de grupos con cuentas. + * * @param int $accountId con el Id de la cuenta * @param array $groupsId opcional con los grupos de la cuenta * @return bool @@ -371,7 +383,8 @@ class SP_Groups } /** - * @brief Crear asociación de grupos con cuentas + * Crear asociación de grupos con cuentas. + * * @param int $accountId con el Id de la cuenta * @param array $groupsId con los grupos de la cuenta * @return bool @@ -413,9 +426,10 @@ class SP_Groups } /** - * @brief Obtiene el listado de grupos de una cuenta + * Obtiene el listado de grupos de una cuenta. + * * @param int $accountId con el Id de la cuenta - * @return array con el Id de grupo + * @return false|array con el Id de grupo */ public static function getGroupsForAccount($accountId) { diff --git a/inc/html.class.php b/inc/html.class.php index a0cf95a7..feb455dd 100644 --- a/inc/html.class.php +++ b/inc/html.class.php @@ -5,7 +5,7 @@ * * @author nuxsmin * @link http://syspass.org - * @copyright 2012-2014 Rubén Domínguez nuxsmin@syspass.org + * @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org * * This file is part of sysPass. * @@ -35,13 +35,13 @@ class SP_Html private static $htmlPage = array(); /** - * @brief Crear un elemento del tipo SELECT + * Crear un elemento del tipo SELECT. + * Esta función genera un elemento SELECT con las propiedades y valores pasados. + * * @param array $arrValues con los valores del select * @param array $arrSelectProp con las propiedades del select * @param bool $useValue para usar el Id como valor * @return none - * - * Esta función genera un elemento SELECT con las propiedades y valores pasados. */ public static function printSelect($arrValues, $arrSelectProp, $useValue = true) { @@ -84,12 +84,12 @@ class SP_Html } /** - * @brief Mostrar la página HTML + * Mostrar la página HTML. + * Esta función es la encargada de devolver el código HTML al navegador. + * * @param string $page opcional con la página a mostar * @param array $err con los errores generados * @return none - * - * Esta función es la encargada de devolver el código HTML al navegador. */ public static function render($page = "main", $err = NULL) { @@ -125,10 +125,10 @@ class SP_Html } /** - * @brief Crear el header en HTML - * @return none - * + * Crear el header en HTML. * Esta función crea la cabecera de una página HTML + * + * @return none */ private static function makeHeader() { @@ -144,7 +144,8 @@ class SP_Html } /** - * @brief Devuelve información sobre la aplicación + * Devuelve información sobre la aplicación. + * * @param string $index con la key a devolver * @return array con las propiedades de la aplicación */ @@ -168,7 +169,8 @@ class SP_Html } /** - * @brief Establece los enlaces CSS de la página HTML + * Establece los enlaces CSS de la página HTML. + * * @return none */ public static function setCss() @@ -180,7 +182,8 @@ class SP_Html } /** - * @brief Establece los enlaces JAVASCRIPT de la página HTML + * Establece los enlaces JAVASCRIPT de la página HTML. + * * @return none */ public static function setJs() @@ -191,11 +194,11 @@ class SP_Html } /** - * @brief Crear el body en HTML + * Crear el body en HTML. + * Esta función crea el cuerpo de una página HTML + * * @param string $page con la página a cargar * @return none - * - * Esta función crea el cuerpo de una página HTML */ private static function makeBody($page) { @@ -213,11 +216,10 @@ class SP_Html } /** - * @brief Crear el pie de la página HTML + * Crear el pie de la página HTML. + * * @param string $page opcional con la paǵina a mostrar * @return none - * - * Esta función crea el pie de página en HTML */ public static function makeFooter($page = "main") { @@ -235,7 +237,8 @@ class SP_Html } /** - * @brief Cargar un archivo de plantilla + * Cargar un archivo de plantilla. + * * @param string $template con el nombre de la plantilla * @param array $tplvars con los datos a pasar a la plantilla * @return none @@ -252,7 +255,8 @@ class SP_Html } /** - * @brief Crea la barra de navegación para búsqueda de cuentas + * Crea la barra de navegación para búsqueda de cuentas. + * * @param int $intSortKey con el número de campo del filro * @param int $intCur con el número de página actual * @param int $intTotal con el número total de páginas @@ -293,7 +297,8 @@ class SP_Html } /** - * @brief Crea la barra de navegación para el registro de eventos + * Crea la barra de navegación para el registro de eventos. + * * @param int $intCur con el número de página actual * @param int $intTotal con el número total de páginas * @param int $intTime con el tiempo de carga de los resultados @@ -326,9 +331,10 @@ class SP_Html } /** - * @brief Limpia los datos recibidos de un formulario + * Limpia los datos recibidos de un formulario. + * * @param string $data con los datos a limpiar - * @return string con los datos limpiados + * @return false|string con los datos limpiados */ public static function sanitize(&$data) { @@ -373,7 +379,8 @@ class SP_Html } /** - * @brief Muestra una barra de información con los registros y tiempo de la consulta + * Muestra una barra de información con los registros y tiempo de la consulta. + * * @param int $intTotal con el total de registros devueltos * @param int $startTime con el tiempo de inicio de la consulta * @return none @@ -389,7 +396,8 @@ class SP_Html } /** - * @brief Truncar un texto a una determinada longitud + * Truncar un texto a una determinada longitud. + * * @param string $str con la cadena a truncar * @param int $len con la longitud máxima de la cadena * @return string con el texto truncado @@ -404,11 +412,11 @@ class SP_Html } /** - * @brief Devolver errores comunes + * Devolver errores comunes. + * Esta función muestra la página de error con el error indicado. + * * @param string $code con el código de error a mostrar * @return none - * - * Esta función muestra la página de error con el error indicado. */ public static function showCommonError($code) { @@ -429,11 +437,11 @@ class SP_Html } /** - * @brief Convertir un color RGB a HEX + * Convertir un color RGB a HEX + * From: http://bavotasan.com/2011/convert-hex-color-to-rgb-using-php/ + * * @param array $rgb con color en RGB * @return string - * - * From: http://bavotasan.com/2011/convert-hex-color-to-rgb-using-php/ */ public static function rgb2hex($rgb) { @@ -446,7 +454,8 @@ class SP_Html } /** - * @brief Devolver una tabla con el resultado de una consulta y acciones + * Devolver una tabla con el resultado de una consulta y acciones. + * * @param array $arrTableProp con las propiedades de la tabla * @param array $queryItems con los resultados de la consulta * @return none @@ -542,7 +551,8 @@ class SP_Html } /** - * @brief Devolver una cadena con el tag HTML strong + * Devolver una cadena con el tag HTML strong. + * * @param string $text con la cadena de texto * @return string */ @@ -552,7 +562,8 @@ class SP_Html } /** - * @brief Devolver un link HTML + * Devolver un link HTML. + * * @param string $text con la cadena de texto * @param string $link con el destino del enlace * @param string $title con el título del enlace @@ -568,18 +579,4 @@ class SP_Html return $anchor; } - - private static function minifier($files) - { - if (!is_array($files)) { - return false; - } - - foreach ($files as $file) { - //$output_min .= file_get_contents($file['src']); - include_once SP_Init::$SERVERROOT . DIRECTORY_SEPARATOR . $file['src']; - } - - //return $output_min; - } } diff --git a/inc/import.class.php b/inc/import.class.php index 14cfa154..e889b808 100644 --- a/inc/import.class.php +++ b/inc/import.class.php @@ -5,7 +5,7 @@ * * @author nuxsmin * @link http://syspass.org - * @copyright 2012-2014 Rubén Domínguez nuxsmin@syspass.org + * @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org * * This file is part of sysPass. * @@ -68,7 +68,8 @@ class SP_Import private static $tmpFile; /** - * @brief Iniciar la importación de cuentas + * Iniciar la importación de cuentas. + * * @param array $fileData con los datos del archivo * @return array resultado del proceso */ @@ -92,7 +93,8 @@ class SP_Import } /** - * @brief Leer los datos del archivo + * Leer los datos del archivo. + * * @param array $fileData con los datos del archivo * @throws ImportException * @return bool @@ -143,7 +145,8 @@ class SP_Import } /** - * @brief Leer los datos importados y formatearlos + * Leer los datos importados y formatearlos. + * * @throws ImportException * @return bool */ @@ -169,7 +172,8 @@ class SP_Import } /** - * @brief Crear una cuenta con los datos obtenidos + * Crear una cuenta con los datos obtenidos. + * * @param array $data con los datos de la cuenta * @throws ImportException * @return bool @@ -219,7 +223,8 @@ class SP_Import } /** - * @brief Encriptar la clave de una cuenta + * Encriptar la clave de una cuenta. + * * @param string $password con la clave de la cuenta * @throws ImportException * @return array con la clave y el IV @@ -230,29 +235,28 @@ class SP_Import return array('pass' => '', 'IV' => ''); } - $crypt = new SP_Crypt; - // Comprobar el módulo de encriptación if (!SP_Crypt::checkCryptModule()) { throw new ImportException('critical', _('Error interno'), _('No se puede usar el módulo de encriptación')); } // Encriptar clave - $data['pass'] = $crypt->mkEncrypt($password); + $data['pass'] = SP_Crypt::mkEncrypt($password); if (!empty($password) && ($data['pass'] === false || is_null($data['pass']))) { throw new ImportException('critical', _('Error interno'), _('Error al generar datos cifrados')); } - $data['IV'] = $crypt->strInitialVector; + $data['IV'] = SP_Crypt::$strInitialVector; return $data; } /** - * @brief Leer el archivo de KeePass a un objeto XML + * Leer el archivo de KeePass a un objeto XML. + * * @throws ImportException - * @return bool + * @return object Con los datos del archivo XML */ private static function readXMLFile() { @@ -264,9 +268,10 @@ class SP_Import } /** - * @brief Detectar la aplicación que generó el XML + * Detectar la aplicación que generó el XML. + * * @throws ImportException - * @return bool + * @return none */ private static function detectXMLFormat() { @@ -291,7 +296,8 @@ class SP_Import } /** - * @brief Leer la cabecera del archivo XML y obtener patrones de aplicaciones conocidas + * Leer la cabecera del archivo XML y obtener patrones de aplicaciones conocidas. + * * @return bool */ private static function parseFileHeader() diff --git a/inc/init.php b/inc/init.php index 543b781b..05283950 100644 --- a/inc/init.php +++ b/inc/init.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link http://syspass.org - * @copyright 2012-2014 Rubén Domínguez nuxsmin@syspass.org + * @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org * * This file is part of sysPass. * @@ -38,11 +38,11 @@ class SP_Init private static $SUBURI = ''; /** - * @brief Inicializar la aplicación - * @return none - * + * Inicializar la aplicación. * Esta función inicializa las variables de la aplicación y muestra la página * según el estado en el que se encuentre. + * + * @return none */ public static function init() { @@ -197,7 +197,8 @@ class SP_Init } /** - * SPL autoload + * SPL autoload. + * Cargador de clases */ public static function sysPassAutoload($classname) { @@ -212,11 +213,11 @@ class SP_Init } /** - * @brief Establecer las rutas de la aplicación - * @return none - * - * Esta función establece las rutasdel sistema de archivos y web de la aplicación. + * Establecer las rutas de la aplicación. + * Esta función establece las rutas del sistema de archivos y web de la aplicación. * La variables de clase definidas son $SERVERROOT, $WEBROOT y $SUBURI + + * @return none */ private static function setPaths() { @@ -260,10 +261,10 @@ class SP_Init } /** - * @brief Establece el lenguaje de la aplicación - * @returns none + * Establece el lenguaje de la aplicación. + * Esta función establece el lenguaje según esté definido en la configuración o en el navegador. * - * Esta función establece el lenguaje según esté definidi en la configuración o en el navegador. + * @returns none */ private static function selectLang() { @@ -292,7 +293,8 @@ class SP_Init } /** - * @brief Comprobar el archivo que realiza el include necesita inicialización + * Comprobar el archivo que realiza el include necesita inicialización. + * * @returns bool */ private static function checkInitSourceInclude() @@ -304,10 +306,10 @@ class SP_Init } /** - * @brief Comprobar el archivo de configuración. - * @return none - * + * Comprobar el archivo de configuración. * Esta función comprueba que el archivo de configuración exista y los permisos sean correctos. + * + * @return none */ private static function checkConfig() { @@ -331,7 +333,8 @@ class SP_Init } /** - * @brief Devuelve un eror utilizando la plantilla de rror + * Devuelve un eror utilizando la plantilla de rror. + * * @param string $str con la descripción del error * @param string $hint opcional, con una ayuda sobre el error * @returns none @@ -348,10 +351,10 @@ class SP_Init } /** - * @brief Comprueba que la aplicación esté instalada - * @return none - * + * Comprueba que la aplicación esté instalada * Esta función comprueba si la aplicación está instalada. Si no lo está, redirige al instalador. + * + * @return none */ private static function checkInstalled() { @@ -370,12 +373,12 @@ class SP_Init } /** - * @brief Comprobar si el modo mantenimeinto está activado - * @param bool $check sólo comprobar si está activado el modo - * @return bool - * + * Comprobar si el modo mantenimeinto está activado * Esta función comprueba si el modo mantenimiento está activado. * Devuelve un error 503 y un reintento de 120s al cliente. + * + * @param bool $check sólo comprobar si está activado el modo + * @return bool */ public static function checkMaintenanceMode($check = false) { @@ -399,7 +402,8 @@ class SP_Init } /** - * @brief Comrpueba y actualiza la versión de la aplicación + * Comrpueba y actualiza la versión de la aplicación. + * * @returns none */ private static function checkVersion() @@ -464,7 +468,8 @@ class SP_Init } /** - * @brief Inicialiar la sesión de usuario + * Inicialiar la sesión de usuario + * * @return none */ private static function initSession() @@ -518,8 +523,9 @@ class SP_Init } /** - * @brief Obtener el timeout de sesión desde la configuración - * @returns int con el tiempo en segundos + * Obtener el timeout de sesión desde la configuración. + * + * @return int con el tiempo en segundos */ private static function getSessionLifeTime() { @@ -533,7 +539,8 @@ class SP_Init } /** - * @brief Escribir la información de logout en el registro de eventos + * Escribir la información de logout en el registro de eventos. + * * @return none */ private static function wrLogoutInfo() @@ -551,8 +558,9 @@ class SP_Init } /** - * @brief Comprobar si hay que ejecutar acciones de URL - * @return bool + * Comprobar si hay que ejecutar acciones de URL. + * + * @return bool|none */ public static function checkRequestActions() { @@ -574,7 +582,8 @@ class SP_Init } /** - * @brief Deslogar el usuario actual y eliminar la información de sesión + * Deslogar el usuario actual y eliminar la información de sesión. + * * @return none */ private static function logout() @@ -586,7 +595,8 @@ class SP_Init } /** - * @brief Comprobar si el usuario está logado + * Comprobar si el usuario está logado. + * * @returns bool */ public static function isLoggedIn() @@ -599,10 +609,10 @@ class SP_Init } /** - * @brief Devuelve el tiempo actual en coma flotante - * @returns float con el tiempo actual - * + * Devuelve el tiempo actual en coma flotante. * Esta función se utiliza para calcular el tiempo de renderizado con coma flotante + * + * @returns float con el tiempo actual */ public static function microtime_float() { diff --git a/inc/installer.class.php b/inc/installer.class.php index 4f12ded4..97cda201 100644 --- a/inc/installer.class.php +++ b/inc/installer.class.php @@ -5,7 +5,7 @@ * * @author nuxsmin * @link http://syspass.org - * @copyright 2012-2014 Rubén Domínguez nuxsmin@syspass.org + * @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org * * This file is part of sysPass. * @@ -75,7 +75,8 @@ class SP_Installer private static $isHostingMode; /** - * @brief Iniciar instalación + * Iniciar instalación. + * * @param array $options datos de instalación * @return array resultado del proceso */ @@ -183,15 +184,15 @@ class SP_Installer } /** - * @brief Comprobar la conexión con la BBDD. + * Comprobar la conexión con la BBDD. + * Comprobar si la conexión con la base de datos para sysPass es posible con + * los datos facilitados. + * * @param string $dbhost host de conexión * @param string $dbadmin usuario de conexión * @param string $dbpass clave de conexión * @throws InstallerException * @return none - * - * Comprobar si la conexión con la base de datos para sysPass es posible con - * los datos facilitados. */ private static function checkDatabaseAdmin($dbhost, $dbadmin, $dbpass) { @@ -205,11 +206,11 @@ class SP_Installer } /** - * @brief Configurar la base de datos + * Configurar la base de datos. + * Esta función crea la base de datos y el usuario necesario para sysPass. + * * @throws InstallerException * @return none - * - * Esta función crea la base de datos y el usuario necesario para sysPass. */ private static function setupMySQLDatabase() { @@ -253,13 +254,13 @@ class SP_Installer } /** - * @brief Crear el usuario para conectar con la base de datos. + * Crear el usuario para conectar con la base de datos. + * Esta función crea el usuario para conectar con la base de datos. + * Si se marca en modo hosting, no se crea el usuario. + * * @param string $dbpassword clave del usuario de sysPass * @throws InstallerException * @return none - * - * Esta función crea el usuario para conectar con la base de datos. - * Si se marca en modo hosting, no se crea el usuario. */ private static function createDBUser($dbpassword) { @@ -277,13 +278,11 @@ class SP_Installer } /** - * @brief Crear la base de datos + * Crear la base de datos. + * * @param string $dbpassword clave del usuario de sysPass * @throws InstallerException * @return none - * - * Esta función crea la base de datos y asigna los permisos para el usuario de sysPass. - * Si se marca el modo hosting, no se establecen los permisos. */ private static function createMySQLDatabase($dbpassword) { @@ -309,7 +308,8 @@ class SP_Installer } /** - * @brief Comprobar si la base de datos indicada existe + * Comprobar si la base de datos indicada existe. + * * @return bool */ private static function checkDatabaseExist() @@ -333,11 +333,11 @@ class SP_Installer } /** - * @brief Crear la estructura de la base de datos + * Crear la estructura de la base de datos. + * Esta función crea la estructura de la base de datos a partir del archivo dbsctructure.sql. + * * @throws InstallerException * @return none - * - * Esta función crea la estructura de la base de datos a partir del archivo dbsctructure.sql. */ private static function createDBStructure() { @@ -376,11 +376,11 @@ class SP_Installer } /** - * @brief Crear el usuario admin de sysPass. + * Crear el usuario admin de sysPass. + * Esta función crea el grupo, perfil y usuario 'admin' para utilizar sysPass. + * * @throws InstallerException * @return none - * - * Esta función crea el grupo, perfil y usuario 'admin' para utilizar sysPass. */ private static function createAdminAccount() { @@ -419,7 +419,6 @@ class SP_Installer "pProfiles" => 1, "pEventlog" => 1); - SP_Profiles::$profileName = 'Admin'; if (!SP_Profiles::addProfile($profileProp)) { @@ -465,10 +464,10 @@ class SP_Installer } /** - * @brief Deshacer la instalación en caso de fallo - * @return none - * + * Deshacer la instalación en caso de fallo. * Esta función elimina la base de datos y el usuario de sysPass + * + * @return none */ private static function rollback() { @@ -479,4 +478,4 @@ class SP_Installer SP_Config::deleteKey('dbpass'); } -} +} \ No newline at end of file diff --git a/inc/keepassimport.class.php b/inc/keepassimport.class.php index 85f3cedc..34856aac 100644 --- a/inc/keepassimport.class.php +++ b/inc/keepassimport.class.php @@ -5,7 +5,7 @@ * * @author nuxsmin * @link http://syspass.org - * @copyright 2012-2014 Rubén Domínguez nuxsmin@syspass.org + * @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org * * This file is part of sysPass. * @@ -33,9 +33,9 @@ class SP_KeePassImport { /** - * @brief Iniciar la importación desde KeePass + * Iniciar la importación desde KeePass * @param object $xml - * @return bool + * @return none */ public static function addKeepassAccounts($xml) { @@ -43,11 +43,12 @@ class SP_KeePassImport } /** - * @brief Obtener los datos de las entradas de KeePass + * Obtener los datos de las entradas de KeePass. + * * @param object $entries con el objeto XML con las entradas * @param string $groupName con nombre del grupo a procesar * @throws ImportException - * @return bool + * @return none */ private static function getEntryData($entries, $groupName) { @@ -79,10 +80,11 @@ class SP_KeePassImport } /** - * @brief Obtener los grupos y procesar lan entradas de KeePass + * Obtener los grupos y procesar lan entradas de KeePass. + * * @param object $xml con objeto XML del archivo de KeePass * @throws ImportException - * @return bool + * @return none */ private static function getGroups($xml) { diff --git a/inc/keepassximport.class.php b/inc/keepassximport.class.php index 62174c3b..7b3d5273 100644 --- a/inc/keepassximport.class.php +++ b/inc/keepassximport.class.php @@ -5,7 +5,7 @@ * * @author nuxsmin * @link http://syspass.org - * @copyright 2012-2014 Rubén Domínguez nuxsmin@syspass.org + * @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org * * This file is part of sysPass. * @@ -33,9 +33,10 @@ class SP_KeePassXImport { /** - * @brief Iniciar la importación desde KeePass + * Iniciar la importación desde KeePass. + * * @param object $xml - * @return bool + * @return none */ public static function addKeepassXAccounts($xml) { @@ -43,11 +44,12 @@ class SP_KeePassXImport } /** - * @brief Obtener los datos de las entradas de KeePass + * Obtener los datos de las entradas de KeePass. + * * @param object $entries con el objeto XML con las entradas * @param string $groupName con nombre del grupo a procesar * @throws ImportException - * @return bool + * @return none */ private static function getEntryData($entries, $groupName) { @@ -64,10 +66,11 @@ class SP_KeePassXImport } /** - * @brief Obtener los grupos y procesar lan entradas de KeePass + * Obtener los grupos y procesar lan entradas de KeePass. + * * @param object $xml con objeto XML del archivo de KeePass * @throws ImportException - * @return bool + * @return none */ private static function getGroups($xml) { diff --git a/inc/ldap.class.php b/inc/ldap.class.php index 6f4a07b7..a03ae5f7 100644 --- a/inc/ldap.class.php +++ b/inc/ldap.class.php @@ -5,7 +5,7 @@ * * @author nuxsmin * @link http://syspass.org - * @copyright 2012-2014 Rubén Domínguez nuxsmin@syspass.org + * @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org * * This file is part of sysPass. * @@ -45,7 +45,8 @@ class SP_LDAP private static $ldapGroup; /** - * @brief Obtener el recurso de conexión a LDAP + * Obtener el recurso de conexión a LDAP. + * * @return resource */ public static function getConn() @@ -56,13 +57,14 @@ class SP_LDAP } /** - * @brief Comprobar la conexión al servidor de LDAP + * Comprobar la conexión al servidor de LDAP. + * * @param string $ldapServer con la dirección del servidor * @param string $bindDN con el usuario de conexión * @param string $bindPass con la clave del usuario de conexión * @param string $searchBase con la base para las búsquedas * @param string $ldapGroup con el grupo con los usuarios de acceso - * @return bool + * @return false|int Con el número de entradas encontradas */ public static function checkLDAPConn($ldapServer, $bindDN, $bindPass, $searchBase, $ldapGroup) { @@ -84,7 +86,8 @@ class SP_LDAP } /** - * @brief Realizar la conexión al servidor de LDAP + * Realizar la conexión al servidor de LDAP. + * * @throws Exception * @return bool */ @@ -109,7 +112,8 @@ class SP_LDAP } /** - * @brief Realizar la autentificación con el servidor de LDAP + * Realizar la autentificación con el servidor de LDAP. + * * @param string $userDN con el DN del usuario * @param string $userPass con la clave del usuario * @throws Exception @@ -136,7 +140,8 @@ class SP_LDAP } /** - * @brief Realizar una búsqueda de objetos en la ruta indicada + * Realizar una búsqueda de objetos en la ruta indicada. + * * @throws Exception * @return int con el número de resultados */ @@ -164,7 +169,8 @@ class SP_LDAP } /** - * @brief Obtener el RDN del grupo + * Obtener el RDN del grupo. + * * @throws Exception * @return string con el RDN del grupo */ @@ -222,7 +228,8 @@ class SP_LDAP } /** - * @brief Comprobar si los parámetros necesario de LDAP están establecidos + * Comprobar si los parámetros necesario de LDAP están establecidos. + * * @return bool */ public static function checkLDAPParams() @@ -247,7 +254,8 @@ class SP_LDAP } /** - * @brief Obtener el RDN del usuario que realiza el login + * Obtener el RDN del usuario que realiza el login. + * * @param string $userLogin con el login del usuario * @throws Exception * @return none @@ -298,7 +306,8 @@ class SP_LDAP } /** - * @brief Realizar la desconexión del servidor de LDAP + * Realizar la desconexión del servidor de LDAP. + * * @return none */ public static function unbind() @@ -307,7 +316,8 @@ class SP_LDAP } /** - * @brief Obtener los atributos del usuario + * Obtener los atributos del usuario. + * * @param array $attribs con los atributos a obtener * @return array con los atributos disponibles y sus valores */ @@ -337,7 +347,8 @@ class SP_LDAP } /** - * @brief Buscar al usuario en un grupo + * Buscar al usuario en un grupo. + * * @param string $userDN con el RDN del usuario * @throws Exception * @return bool @@ -389,7 +400,8 @@ class SP_LDAP } /** - * @brief Escapar carácteres especiales en el RDN de LDAP + * Escapar carácteres especiales en el RDN de LDAP. + * * @param string $dn con el RDN del usuario * @return string */ diff --git a/inc/locales/de_DE/LC_MESSAGES/messages.mo b/inc/locales/de_DE/LC_MESSAGES/messages.mo index d85209a16720469dd5aaade67cac0ec6a42b107e..7086122e192e7ad48cf87542f5653483761137b4 100644 GIT binary patch delta 34 ocmX@JfceY<<_+yF?4}BardGzLllxi}L2NTC1B1=mTBdme0NL3K?*IS* delta 34 lcmX@JfceY<<_+yF?8XX4Mpnkgllxi}p=^`Q+ghf10|41q3+n&? diff --git a/inc/locales/de_DE/LC_MESSAGES/messages.po b/inc/locales/de_DE/LC_MESSAGES/messages.po index 7dfd133e..1c79b6cb 100644 --- a/inc/locales/de_DE/LC_MESSAGES/messages.po +++ b/inc/locales/de_DE/LC_MESSAGES/messages.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: sysPass\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-01-23 22:33+0100\n" -"PO-Revision-Date: 2015-01-23 22:34+0100\n" +"POT-Creation-Date: 2015-01-25 15:35+0100\n" +"PO-Revision-Date: 2015-01-25 16:00+0100\n" "Last-Translator: nuxsmin \n" "Language-Team: \n" "Language: de_DE\n" @@ -2936,6 +2936,102 @@ msgstr "Passwort vergessen?" msgid "Aplicación actualizada correctamente" msgstr "Anwendung erfolgreich aktualisiert" +# New search interface with list or card like styles +#: ../../../../inc/tpl/login.php:84 +#, fuzzy +msgid "Nuevo interface de búsqueda con estilo de lista o tipo tarjeta" +msgstr "New search interface with list or card like styles" + +# Users and groups selection for account access +#: ../../../../inc/tpl/login.php:85 +#, fuzzy +msgid "Selección de grupos y usuarios de acceso a cuentas" +msgstr "Users and groups selection for account access" + +# Drag&Drop for files uploading +#: ../../../../inc/tpl/login.php:86 +#, fuzzy +msgid "Drag&Drop para subida de archivos" +msgstr "Drag&Drop for files uploading" + +# Copy Password to Clipboard +#: ../../../../inc/tpl/login.php:87 +#, fuzzy +msgid "Copiar clave al portapapeles" +msgstr "Copy password to clipboard" + +# Accounts history and restore points +#: ../../../../inc/tpl/login.php:88 +#, fuzzy +msgid "Historial de cuentas y restauración" +msgstr "Accounts history and restore points" + +# New categories and customers management +#: ../../../../inc/tpl/login.php:89 +#, fuzzy +msgid "Nueva gestión de categorías y clientes" +msgstr "New categories and customers management" + +# Reset password function for users +#: ../../../../inc/tpl/login.php:90 +#, fuzzy +msgid "Función de olvido de claves para usuarios" +msgstr "Reset password function for users" + +# Improved Active Directory and LDAP integration +#: ../../../../inc/tpl/login.php:91 +#, fuzzy +msgid "Integración con Active Directory y LDAP mejorada" +msgstr "Improved Active Directory and LDAP integration" + +# Email notifications with authentication +#: ../../../../inc/tpl/login.php:92 +#, fuzzy +msgid "Autentificación para notificaciones por correo" +msgstr "Email notifications with authentication" + +# Global account searching for unprivileged users +#: ../../../../inc/tpl/login.php:93 +#, fuzzy +msgid "Búsqueda global de cuentas para usuarios sin permisos" +msgstr "Global account searching for unprivileged users" + +# Request for Account Modification +#: ../../../../inc/tpl/login.php:94 +#, fuzzy +msgid "Solicitudes de modificación de cuentas para usuarios sin permisos" +msgstr "Requests for account modification for unprivileged users" + +# Accounts import from KeePass, KeePassX and CSV +#: ../../../../inc/tpl/login.php:95 +#, fuzzy +msgid "Importación de cuentas desde KeePass, KeePassX y CSV" +msgstr "Accounts import from KeePass, KeePassX and CSV" + +# Clone account function +#: ../../../../inc/tpl/login.php:96 +#, fuzzy +msgid "Función de copiar cuentas" +msgstr "Clone account function" + +# Code optimization and faster loading +#: ../../../../inc/tpl/login.php:97 +#, fuzzy +msgid "Optimización del código y mayor rapidez de carga" +msgstr "Code optimization and faster loading" + +# Improved security to prevent XSS and SQL injection +#: ../../../../inc/tpl/login.php:98 +#, fuzzy +msgid "Mejoras de seguridad en XSS e inyección SQL" +msgstr "Improved security to prevent XSS and SQL injection" + +# New Features +#: ../../../../inc/tpl/login.php:101 ../../../../inc/tpl/login.php:102 +#, fuzzy +msgid "Nuevas Características" +msgstr "New Features" + # Customer name #: ../../../../inc/tpl/customers.php:41 msgid "Nombre del cliente" diff --git a/inc/locales/en_US/LC_MESSAGES/messages.mo b/inc/locales/en_US/LC_MESSAGES/messages.mo index 93e4811c62293328ee8a783adf5b16cb12679603..659e5fec89a077cce1f0e85e247dcde0ad2fd2fa 100644 GIT binary patch delta 16676 zcma*u2XvHW;_va7KnT4g^iU@BUJ?kshTf%%2n@+23?`X4lLSI>009LALT`eIh)9P3 zA}Cdgtepi57FMx>fVe6O>iz!ad9us@f6qPVzGt6&p5EU#(cL|?py2k^1%sbQ7Fy}> zoCR@HkZBP>% zVok!5q_a^Ior9XdYOKWg&Q>Bd$T*G~_zP6W;Y?R6u8A73A*$m9)JlijbTZZ^Jq6Xz z1}uWF+w!wml=Mef7{A13_&tU*zEiognRyM=fNfDT?TVV|Ff50Os1Bx}CKALpxYXuf zK&|wBRQoSb6TO3~U$Bd5Umn$ORSec7(ujyE4#apIhf%l+xfafLREN8etKpnLP4o@a zfN!C8=o9PDSe|r=uI9*UqK+^YIdi8YYC^-hvj19HvMrc~I`d^1jvH;oEvU0UgzD%l zR>SvEE4hW5$X}@bN^~;=#Gob~hq{bCF%C0ON4=$6&}{t$GPHtgSP}n3U8eF0j#Cet zp;kN+wKL;T0|!tmnQdKR%eSI-;0Wq2yob&4W7J(J*4^}9E=XiJ8BI}_ZVtNed9016 zP&57(bu`gE9H$lzK^JCYQ(TQ2;H*vmhFU<~o@Sz5unOrxs3Vw!+R@-FBAU@s)E!ul z8h9s$w%B?LwUs4%IS%*9aiJzW9<}u|Y){s)O@ zrO%*NwB1%XhuW&Es0sdN4ezUlOaiqdF4RQgusZg}7)-J0`54*})P(k++MmQyjPJZd zL<4+g3$EMrT~#2zFyBv2q&%u#V^oLjP&?BVi(nsYf>Gs%`^ayN%xi}S%VM%N|$m~Eb)XogX5;zjI;w043 zK8Y^egj(RqLF~UOd_jh`=r3E*HQ2m%9kC7hkE6D1J8A-#P_JXbha9IhwnGizNA3+BA$RXwf)GA0s@986`Gt0snxCqr?7rO8)s@}J#0SXK?`L$5rgYKw1 zG7&YAAgcYd*a8n?9sCwGPRU{Bdl9TdL=8q*1E>#0E=J=Hn|}_QlD>wTU=&|1mB(Ro z9E6&{OjLiXu^t{k)&CS5<9*bQG#C+@P|)d5L=F9@4(FpfcoDUNQ>aUM1=X<7NPb~q zJ=Bp5MU_8+I@6a>D?WpD@i){&s*f_|J+T?-B#hSkzk-Oib}wq+3#f+QVtFj}uqm&N zI@3;A4iiy#VG35nt*Fa*3|;sZYM>ucM^tUJnLt<65st(1jPJ}+1Xo*kp$0mQs`wqc zu-GGJD;uFMZ9i20BvieHSOIsTCiDh|USFGEV2nAcN*GId9}Md3rW5I;hNv^XfqIRi zA2nNE6V*`@6p=JCO5rRl zin&-2*I`-Qh#GJ&R>5-}FHbfmwN7M?_QAd-F+VU4s6L}Zo@EW$qN)sH1d+Q8Cj@{XXZLnyf*|~10oqiN` z=Ypw3LT8DU$XJWof&EwmFQI1o3u>hiN#-t;#W2$G*0!jXc0k>oKG+Heqjqv0>P~FL zGI$i}Kj^$gL<8JFRs73VsNgX(u7}a&cf;y97FB-+>b+iqykX8O*ci(un=S5y8gL-$ zHGB-!em%CpBiKRj{|zG5$Y_va-t%6l0o|w_nSt7gRj7^*VLX0g%d1T^M--3R$xc`p zhoiQ5jLr9>z7O+J3tf#x7~k1LL^C>!8t4aXjm5lt?XVka#l5gLK5Tu$`U2J>|2#Ip z8>p36nB+JuF%DyJB6h(AsDA!|!G=U`6G_16$4tX<=psEGHPa1P84qFvzKgmC4z(`a*FP6aBsJCoMI{ROe$YwGg!oAoH!+a*c2kH!m zVnOtxZhab-!VD~iLF)q4C0mKb@c^pc32cY&q83&x!yI|*Ad#kIc+rJxP#wIAJ@6y! zfYl#2m+KL%OWKcm@7H2;d>gfce_F1+_qfz~xKwa`Ltbd|*HW(c+TiG0S>-%Co zOh#Rv#i)s#Ms-j$)8yAftz?XKJ~knJ2%F(G)LT$4%j`rnY9jSePXX6wQ9e}zlk70eBf)(+3)SY=1b;jpV^)A}{tJsjXXnOSA*N4h2!#dI8qQ&2l{4olC0#bmpiPFT*Cd33XKO1c|7lOQ@~?4)v*Q$;9GOf1qfKSE0%`V^_S1`mi*g zX;#u1wUa$i^@pPt;70A(W2hZ^5-a12SQUfEiRhQXr>K<`m}S0zQK*@Yz}7ei8{liG zt^5YHqKdQ4?}R#7g>)0t#CoG9G!pf8q@Z>(6ZK1NAu@rWlWPlhp|2d#Fno@sycpdvuZRj@mH~1`88O zBT@-7u@El8_P7i+(|1qhY!U&v&sy`pKv$?i> z9qLH-EoA?-lDEjv8GeeI*-xlD;XGrGAQF{!p~_=X19e5+iBaf6KdR&9sGZ!6s+Wf) z@B$XY4{iF(AQ4@fTd0Pm7MV-Z0E?4uhFVE`REG&z4}07E4Ajw0K^@gnEQu>o1HFJ+ z;BM4T97FYc25VsOeOvGoYGrq^1V$`2mP2(AgX*9Kmcllu9qWZ9aSS%YNvQhkFbucb z@?EG29!2$Y9H|#{&JxiUT}E~IqfLh`F&$M#-H8UMI}(efFu|sWpe|=3YQ>XL^=G4w zY@u}nYUO)SU%sOlsrUaQBBjZ=j(VN$p$3Y|H7l!)wMoZf430$A%dsxCzKpsHCs7N! zg1Ve{P!oz?YWl5>T0kp|()-`t7K~B`X)o%nn1P{Ni?v9v!*D!?W$_KvTX7lnT9#gB zK1_8`6HUOz=)vZ=47KvpsQ#{E=%4=!EjPbTTVWFlMqwn*L!Iqf)BrD8U&k_}FQP8z zHPni3pjLhlwPTSh%v;eKb>^e61&%{q_N6P>e_ghnHse*)E&nI#EI-E30H~SYu<4>J z&5@NwO)$o$n^`-fCO8PS_2W@H=Cw{kwOh23{nw1vlM#n+qgGO2mFb|2H3ron7RzB5 z)MXlO({79+oo&+#Py;@Pn!rBm5!8{MM%}r$gGAKvXQ)ec9jjr%)g~Q-+L5-XdY!EO zt)o#pI1#mDSvEZrHP9j~kE?C|F4R#RLG5htBoWQBrCU`71XT7HfB;50!^Y&g0w zfchP=0(IHmL!J2@)KOJjYwlD_)C5MNb}S9G@*HE(nNLJpz81BTZ8m)n)!+@A{~qd0 zKSS-rP1Jz*QEx@eIx|o`R6iXt8vCLqnvBhGGbZ8(82b1B@$1c2B%rpsA8IQHV-CGHR#hqw4R#XubbuiB!ceZNcBD-w9PV zn2y?_CNK_NI2rXjU=6CH6Sn*c)*$^eYNAma&45j?0_j1hev@tfTnzp9e=iZyN-m%} z`~ua%AE=d-d(KR-9cm&YQ7iGGI$nxux6PKHMzz0U%YQ-bK#5JJUNcmA-%Y&#>L`f} zbu%DI z3vRO+CsALp4{iE7)*xMAtGOF7sI7~~cpQtG*h=h#uV5qm6~nRSOJ>6Lu`cN@sDV>Z zcWnmNW_)KE5jA`TwW6<3EB)14YMV*dMSTxCp^k9o6nnRJ*d>Z__)mFzF*U|0Fgc z{Q(w2XNPGYj`|?AN9}Yv26fqH5owB>uou3IL$KmblRpWyqP18Y_h1P;idxxu)Pz1k z-SX?G9WA`e)USaNq#I!^jKeS-xr_Z*WHcGY@KG#+6Hya-9QDg$6KVo`QD=G7kI+(qi{U1c+Su%7>Z(vD`+G85TpayD-I@@8W z%ae}kAQ#o~AymD0Q1AcusQTf1%}&(7W~AF#C!%(4O^}GremiPrdu{r4)QV1{R{oJK zziHF=P+MAdpV_I(sFn7%=`pCYUx=DmE^6y{U;}*D8vLC|Lo#aZH?QG9)NP-Ns<;7l zmgleoUd3uyEzf)z+hbSKV^9;`h}xk%3>}g6Hfo{8517}qERqg7(L}W6F&KxH(EPRA5>@U-^}7PqZZk&Wek_k?LTS$b3K4DnP1Jz* zY`X9vGt($6M}9R_y;v-Rolye}#lb(W_@Bvi$8Pw(d z3WJS_6n)j)fq2xJxp53mM@`^k)R}&dHL&;*b3~0$-;Zvn0oA(oY=aM@Rks^2!K2?QS}qAi?;8Xy;S=4(&`Z?ow`s1=^I=}%A-{sFbppRptUjq0c4 z3G+**2Zs7bZFw$gC)b;F(8(jBvp$CE;52IB0w>M4zBFp4)ln0xk6K|H)WAKk6h4G{ z-NvKp`)ztUYC?-q?N?!C+!{&;`8`df1{v?6w&*r$i+@9HZLw44!xD{pk9(t5-XHZE z4M%P1G;D?kZ22|RfInLQL`}TpX*1y}Se)^l21K+atxy#PU=tjTn$Xjz6)nL=xE8gd zGpGr^jf3%X)C8Kn!9V-sIMkNEfCF$hw#WN6zs(uWzYrM-M6~6-Q3H)Y4KN;cb`w#z zdIoBu>#Y0HMfw72;@43-aTjZ1i?e3J!>|_Vnb;h+ppNd+S>At5;9q3u?7l&ro=lt*1Y7pi_s)N9ukHK9SMBS}GRc?PQeOw9)QW~LNS1nM$v#R$BNTFK{F82>;`q`*JSL<^(R6)_&GVi*oZ9o-1j#3o@;oQ}oy z`+uH^ILoXXu>ckFpIId4)6-!x_G2^Bdx@{cc^ZM|=mQN(*!Uxq6(c-H`VQemTlXdE zwg5h@Dsvl;(8hr zjuZUk>FG`WPQvSindF_b`A_3`+vXW-yy}@|PAc)eVT|99NEa#(v6Xh(3StWRo3ICA zn=PM=x#Yj70m!dp^S>tk3h_#)=L+TdkKUZRHm%F3Cylz-wSK)G0|~vA%X5N)JZwXQ zR|ywv!>2-}=Ep1Ky+t@`2Onzds5G3sbeo=!O-Z*Q)FBL|{2|kYGm)~`AV2=JmG$8% zO{G2ry}OO@94@yF^66wFvnj7myc|CGEFzI?Gv?T`gLaIWHeHtVS?UDa5{V^JgixJ$ zcfyy1{HG=jDv^$~dH=M&O8!_v5*2^4m77xb3-N0BJ>hMee*;~lQ>b4O^nx^jgvt2(3v!N4Q7O-*x0H{FA#<)!o#2H&L$e%AnYgTOSY8Im-x4s{~V!x4f56!vdP?w zdJ^zS8xKPtAy);AAA0KZvnY-AY0Q5fCEeIIs!qJVjq_KyQ;7Iq`4z1#@FbxaWxJ_A zl6Y(UoAkrD2YZp%mr#Vbp8WBh%VgwH=?`pR3lmkr##MO>p`ao>C&*7DtR!BX(37^E zNhc6*WZQU&|45ilSq1V|5&sGwBE6lkTJL{Lk61F51gI=}3kE`+XxT7)YE{hg3$`ylEJ3B_4|mQr-~Gh`5agcoeZ z`s9x#zJk1uY+g${a6QuZ2qkRVPn|Ku+Y>t4x@(AkNBmd92;vo}!|yleGs45*taX<07ww{}KMdCXMr5@;TIO$}5uUk&c{bl&v42w;-iEf#9I;cY{mYB2trBH4XHnpu++Aj z6{^J;wm!+AQ;WnCgcXDzsF;aO2>L_ve?JQ-UuH8m5N|=ff>?mCoS-M#I*hVhf}Ymo zxiH(7Deo9%yY&87C9>TX)Fu8J;Wia+Jy7{C;?JrTPd&=@^u_%+gR)hGC4}Dz>j-*Y zrhE(Wn}k8c-zBdg&c)m0l_7kg_iqxJKEf|#6ec|mBQS@skWiZNIiW0d^i0KT*Z~{h zaKaCSZG`EB2cMzTX=mHbq#&92M*1H^&=U+Na)yv(E4@MHW?NW_yoX6g;u73PxI>60 zv?cE!)XO9Mn=s9``6p$1qA2f1-XX%{#OD&ml7A8h;a2ifbpGEGsY2#zGV2hg67rt_ zktu|J)X|$#grMhH($h@T`4?uBKY(zWxC@sNUbf|nh{qB1Jg>1#)M-H8VtxN6k@*#w z^9Va^Mb-I3KX~4zJpZ{w-47@lWhV!%-@=PZRP7*!YWhi*TGedRAe7JV2eh_z+elG$p=(pyy@MdMZ^e)Md$w-k&0B%UOaCr5_KLU{vfL3s?Z9LnPG30oFRdKTe6>EK42*$qFZK{E>G5bs315b@1~=A^Sw z&q|CTJVLpbP>YcNba){CBk@xd)F4zQo{lSV1g<44H2npgBr^LDo;DfI^AtuCA4uM8 zf}1dv(39{S`5Or5iSHz|AQUEiOxR4j_i-ZTKSfE8r2d0XIr3hy8Q+Bdd?oQDVGso$ z67(D-)FeJBlrldSk$%dS&mgM@@fx=CcDCMcw)}x+&ib&tV{PvjY?_tnNze2qdlTJ> z-qU&Mt_-)|?MnCMXZg}S0au34?@ILf{T^T5;f{j~G;yV*`X;zjT}d8SViwKaR8h06 zK$hF@^#xo3FCBUOY2JV@koQ-oyM?P{c-{1o>dyAKXh?^d?hJQ^C)E?k`?<%7u$bXF4@A;D5UN-y&aXwl~Qa znxBUJU(?IGJtjQ7c5iPW)93g8&t>Ge{GLFjJIil&WBI?`_3J;d$|O&KR6mbrusaZF zoF5tG%5fzO9g$aRLVTg7o)p`b`K7zMCT4nBa(A!algMZ})a>8A>tI)!XOhqFPIBjU zN#0bbQ7946bOWB0EI%txa(U8SqlON3d0gJ~98aQI^w5X;=Y2lue9?k#SIY9Mk5;Hf zcZsQ9PQVjz24;D(Ifw)fA~DnBKfNoE$)N_8KcCsU6Gc8cB0Jfg=+QtEP9F(8p524~F(Z=RYzcg9TdXJv3Xa{hZy$aE(rdICNd^9Y?|-kVdG zgmv~NdNZ@wY;~6AOM2jXlJWm><%Z3OjVKb^%GIJ(yB2MiFP`K2Pa^NooTY{8^+0p38}nw+L+L=$=qvA#u?%XcryRnb$-5?O=tp@whS(m+SRlR zxF&`!c#g}Ro)o&(KEH<-k6RFM`gC{t40igYXS-9qNiP0RG5y`?DOv6mkMp0_-ZZ_W zu4KP2E&rZBaN*UbuKcWRQwuijla}H4WwQK{9*6pH;%n}8>g z8=sk@t;+Cwvf2I6#aC1AJGXWcuZ|8QYHxgz<{XSCh1Zr{Q;ozdUg9)1pG%m|{L^Ue z4D?KP_4K$ivv`-6cR$>;1!;4554;1REp)nxKh23@d9S%a3aey4ky-5@NwCE z_TFm-p%Iha0bV0l{(*gPcv_*x!?pXN(iFchD}(PJAGXk>Lx+=plE~+--|POcHbXqT Ye1Xis|0vJD>7lXyA9w7v<5R=`4>!-#oB#j- delta 15093 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 diff --git a/inc/locales/en_US/LC_MESSAGES/messages.po b/inc/locales/en_US/LC_MESSAGES/messages.po index 56d46cb6..f845961c 100644 --- a/inc/locales/en_US/LC_MESSAGES/messages.po +++ b/inc/locales/en_US/LC_MESSAGES/messages.po @@ -3,13 +3,13 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: -# Rubén D. , 2012-2014 +# Rubén D. , 2012-2015 msgid "" msgstr "" "Project-Id-Version: sysPass\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-01-17 11:24+0100\n" -"PO-Revision-Date: 2015-01-17 11:24+0100\n" +"POT-Creation-Date: 2015-01-25 15:19+0100\n" +"PO-Revision-Date: 2015-01-25 15:19+0100\n" "Last-Translator: nuxsmin \n" "Language-Team: \n" "Language: en_US\n" @@ -847,7 +847,7 @@ msgstr "Account" #: ../../../../ajax/ajax_doLogin.php:101 ../../../../ajax/ajax_doLogin.php:111 #: ../../../../ajax/ajax_doLogin.php:152 ../../../../res/test.php:64 #: ../../../../inc/init.php:546 ../../../../inc/users.class.php:788 -#: ../../../../inc/users.class.php:829 ../../../../inc/tpl/passreset.php:50 +#: ../../../../inc/users.class.php:829 ../../../../inc/tpl/passreset.php:51 #: ../../../../inc/tpl/request.php:49 ../../../../inc/tpl/login.php:35 #: ../../../../inc/tpl/login.php:44 ../../../../inc/tpl/install.php:89 #: ../../../../inc/tpl/install.php:90 ../../../../inc/tpl/editpass.php:53 @@ -857,7 +857,7 @@ msgid "Usuario" msgstr "User" #: ../../../../ajax/ajax_viewpass.php:99 ../../../../ajax/ajax_usrpass.php:53 -#: ../../../../ajax/ajax_usrpass.php:56 ../../../../inc/tpl/passreset.php:61 +#: ../../../../ajax/ajax_usrpass.php:56 ../../../../inc/tpl/passreset.php:62 #: ../../../../inc/tpl/login.php:37 ../../../../inc/tpl/login.php:45 #: ../../../../inc/tpl/install.php:99 ../../../../inc/tpl/install.php:100 #: ../../../../inc/tpl/editpass.php:57 ../../../../inc/tpl/accounts.php:250 @@ -1005,8 +1005,8 @@ msgstr "Generate random password" msgid "Clave (repetir)" msgstr "Password (repeat)" -#: ../../../../ajax/ajax_usrpass.php:65 ../../../../inc/tpl/passreset.php:64 -#: ../../../../inc/tpl/passreset.php:72 ../../../../inc/tpl/masterpass.php:63 +#: ../../../../ajax/ajax_usrpass.php:65 ../../../../inc/tpl/passreset.php:65 +#: ../../../../inc/tpl/passreset.php:73 ../../../../inc/tpl/masterpass.php:63 #: ../../../../inc/tpl/install.php:104 ../../../../inc/tpl/install.php:119 #: ../../../../inc/tpl/editpass.php:70 ../../../../inc/tpl/accounts.php:264 #: ../../../../inc/tpl/users.php:141 @@ -1105,87 +1105,87 @@ msgstr "The master password not saved or is wrong" msgid "Clave maestra incorrecta" msgstr "Invalid Master Password" -#: ../../../../js/js.php:44 +#: ../../../../js/js.php:45 msgid "Error en la consulta" msgstr "Error on query" -#: ../../../../js/js.php:45 +#: ../../../../js/js.php:46 msgid "Ha ocurrido un error" msgstr "There was an error" -#: ../../../../js/js.php:46 ../../../../inc/tpl/login.php:71 +#: ../../../../js/js.php:47 ../../../../inc/tpl/login.php:71 msgid "Sesión finalizada" msgstr "Session finished" -#: ../../../../js/js.php:47 +#: ../../../../js/js.php:48 msgid "Borrar la cuenta?" msgstr "Delete account?" -#: ../../../../js/js.php:48 +#: ../../../../js/js.php:49 msgid "Borrar el usuario?" msgstr "Delete user?" -#: ../../../../js/js.php:49 +#: ../../../../js/js.php:50 msgid "Guarde la configuración para que sea efectiva" msgstr "You should save configuration in order to take effect" -#: ../../../../js/js.php:50 +#: ../../../../js/js.php:51 msgid "Clave Generada" msgstr "Generated Password" -#: ../../../../js/js.php:51 +#: ../../../../js/js.php:52 msgid "Nivel alto" msgstr "High level" -#: ../../../../js/js.php:52 +#: ../../../../js/js.php:53 msgid "Nivel medio" msgstr "Average level" -#: ../../../../js/js.php:53 +#: ../../../../js/js.php:54 msgid "Nivel bajo" msgstr "Low level" -#: ../../../../js/js.php:54 +#: ../../../../js/js.php:55 msgid "Nivel muy alto" msgstr "Very high level" -#: ../../../../js/js.php:55 +#: ../../../../js/js.php:56 msgid "Utilizar al menos 8 caracteres" msgstr "You should use at least 8 characters" -#: ../../../../js/js.php:56 +#: ../../../../js/js.php:57 msgid "Borrar elemento?" msgstr "Delete item?" -#: ../../../../js/js.php:57 +#: ../../../../js/js.php:58 msgid "Página no encontrada" msgstr "Page not found" -#: ../../../../js/js.php:58 +#: ../../../../js/js.php:59 msgid "Archivo no soportado para visualizar" msgstr "File not supported for preview" -#: ../../../../js/js.php:59 +#: ../../../../js/js.php:60 msgid "Eliminar archivo?" msgstr "Delete file?" -#: ../../../../js/js.php:60 +#: ../../../../js/js.php:61 msgid "Su navegador no soporta subir archivos con HTML5" msgstr "Your browser does not support HTML5 file uploads" -#: ../../../../js/js.php:61 +#: ../../../../js/js.php:62 msgid "Demasiados archivos" msgstr "Too many files" -#: ../../../../js/js.php:62 +#: ../../../../js/js.php:63 msgid "No es posible guardar el archivo.
Tamaño máximo:" msgstr "Unable to save the file.
Max file size:" -#: ../../../../js/js.php:63 +#: ../../../../js/js.php:64 msgid "Extensión no permitida" msgstr "Extension not allowed" -#: ../../../../js/js.php:64 +#: ../../../../js/js.php:65 msgid "Vaciar el registro de eventos?" msgstr "Clear event log?" @@ -2194,55 +2194,55 @@ msgstr "In order to complete the process, please go to this URL:" msgid "Si no ha solicitado esta acción, ignore este mensaje." msgstr "If you have not requested this action, please dismiss this message." -#: ../../../../inc/tpl/passreset.php:46 +#: ../../../../inc/tpl/passreset.php:47 msgid "Solicitud de Cambio de Clave" msgstr "Request Password Change" -#: ../../../../inc/tpl/passreset.php:49 +#: ../../../../inc/tpl/passreset.php:50 msgid "Login del Usuario" msgstr "User login" -#: ../../../../inc/tpl/passreset.php:54 +#: ../../../../inc/tpl/passreset.php:55 msgid "Email del Usuario" msgstr "User's Email" -#: ../../../../inc/tpl/passreset.php:55 ../../../../inc/tpl/users.php:112 +#: ../../../../inc/tpl/passreset.php:56 ../../../../inc/tpl/users.php:112 msgid "Email" msgstr "Email" -#: ../../../../inc/tpl/passreset.php:60 +#: ../../../../inc/tpl/passreset.php:61 msgid "Nueva Clave" msgstr "New Password" -#: ../../../../inc/tpl/passreset.php:68 +#: ../../../../inc/tpl/passreset.php:69 msgid "Nueva Clave (Verificar)" msgstr "New Password (Verify)" -#: ../../../../inc/tpl/passreset.php:69 +#: ../../../../inc/tpl/passreset.php:70 msgid "Clave (Verificar)" msgstr "Password (Verify)" -#: ../../../../inc/tpl/passreset.php:82 +#: ../../../../inc/tpl/passreset.php:83 msgid "Volver" msgstr "Back" -#: ../../../../inc/tpl/passreset.php:82 +#: ../../../../inc/tpl/passreset.php:83 msgid "Volver a iniciar sesión" msgstr "Go back to login" -#: ../../../../inc/tpl/passreset.php:84 +#: ../../../../inc/tpl/passreset.php:85 msgid "Solicitar" msgstr "Request" -#: ../../../../inc/tpl/passreset.php:85 +#: ../../../../inc/tpl/passreset.php:86 msgid "Solicitar cambio de clave" msgstr "Request password change" -#: ../../../../inc/tpl/passreset.php:87 +#: ../../../../inc/tpl/passreset.php:88 msgid "Cambiar" msgstr "Change" -#: ../../../../inc/tpl/passreset.php:88 +#: ../../../../inc/tpl/passreset.php:89 msgid "Cambiar Clave" msgstr "Change password" @@ -2401,6 +2401,70 @@ msgstr "Lost your password?" msgid "Aplicación actualizada correctamente" msgstr "Application successfully updated" +#: ../../../../inc/tpl/login.php:84 +msgid "Nuevo interface de búsqueda con estilo de lista o tipo tarjeta" +msgstr "New search interface with list or card like styles" + +#: ../../../../inc/tpl/login.php:85 +msgid "Selección de grupos y usuarios de acceso a cuentas" +msgstr "Users and groups selection for account access" + +#: ../../../../inc/tpl/login.php:86 +msgid "Drag&Drop para subida de archivos" +msgstr "Drag&Drop for files uploading" + +#: ../../../../inc/tpl/login.php:87 +msgid "Copiar clave al portapapeles" +msgstr "Copy password to clipboard" + +#: ../../../../inc/tpl/login.php:88 +msgid "Historial de cuentas y restauración" +msgstr "Accounts history and restore points" + +#: ../../../../inc/tpl/login.php:89 +msgid "Nueva gestión de categorías y clientes" +msgstr "New categories and customers management" + +#: ../../../../inc/tpl/login.php:90 +msgid "Función de olvido de claves para usuarios" +msgstr "Reset password function for users" + +#: ../../../../inc/tpl/login.php:91 +msgid "Integración con Active Directory y LDAP mejorada" +msgstr "Improved Active Directory and LDAP integration" + +#: ../../../../inc/tpl/login.php:92 +msgid "Autentificación para notificaciones por correo" +msgstr "Email notifications with authentication" + +#: ../../../../inc/tpl/login.php:93 +msgid "Búsqueda global de cuentas para usuarios sin permisos" +msgstr "Global account searching for unprivileged users" + +#: ../../../../inc/tpl/login.php:94 +msgid "Solicitudes de modificación de cuentas para usuarios sin permisos" +msgstr "Requests for account modification for unprivileged users" + +#: ../../../../inc/tpl/login.php:95 +msgid "Importación de cuentas desde KeePass, KeePassX y CSV" +msgstr "Accounts import from KeePass, KeePassX and CSV" + +#: ../../../../inc/tpl/login.php:96 +msgid "Función de copiar cuentas" +msgstr "Clone account function" + +#: ../../../../inc/tpl/login.php:97 +msgid "Optimización del código y mayor rapidez de carga" +msgstr "Code optimization and faster loading" + +#: ../../../../inc/tpl/login.php:98 +msgid "Mejoras de seguridad en XSS e inyección SQL" +msgstr "Improved security to prevent XSS and SQL injection" + +#: ../../../../inc/tpl/login.php:101 ../../../../inc/tpl/login.php:102 +msgid "Nuevas Características" +msgstr "New Features" + #: ../../../../inc/tpl/customers.php:41 msgid "Nombre del cliente" msgstr "Customer name" diff --git a/inc/locales/fr_FR/LC_MESSAGES/messages.mo b/inc/locales/fr_FR/LC_MESSAGES/messages.mo index 43044b194ab74f6a2fadad6909a1a9886a7cb25c..4f53d16231f8eaaf9b8f07e4e26aba3e77b3bc18 100644 GIT binary patch delta 35 pcmdnFm3ik@<_&Ev97d)JhNf1g#*_P66xo4nGb;n*&D&a-!vNy13!nf1 delta 35 rcmdnFm3ik@<_&Ev9ERo!h6YxK29x_*6xodxj0~)d3^s3TVGaWT;gbuE diff --git a/inc/locales/fr_FR/LC_MESSAGES/messages.po b/inc/locales/fr_FR/LC_MESSAGES/messages.po index d4e1075c..5ae5d1cc 100644 --- a/inc/locales/fr_FR/LC_MESSAGES/messages.po +++ b/inc/locales/fr_FR/LC_MESSAGES/messages.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: sysPass\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-01-17 10:10+0100\n" -"PO-Revision-Date: 2015-01-23 20:20+0100\n" +"POT-Creation-Date: 2015-01-25 15:53+0100\n" +"PO-Revision-Date: 2015-01-25 16:03+0100\n" "Last-Translator: nuxsmin \n" "Language-Team: \n" "Language: fr_FR\n" @@ -17,1491 +17,1466 @@ msgstr "" "X-Poedit-SearchPath-0: ../../../..\n" # "Session not started or timed out" -#: ../../../..//ajax/ajax_appMgmtSave.php:34 -#: ../../../..//ajax/ajax_accountSave.php:33 -#: ../../../..//ajax/ajax_import.php:1 -#: ../../../..//ajax/ajax_configSave.php:33 -#: ../../../..//ajax/ajax_backup.php:32 ../../../..//ajax/ajax_migrate.php:1 -#: ../../../..//ajax/ajax_sendRequest.php:32 -#: ../../../..//ajax/ajax_checkLdap.php:32 +#: ../../../../ajax/ajax_appMgmtSave.php:34 +#: ../../../../ajax/ajax_accountSave.php:33 ../../../../ajax/ajax_import.php:1 +#: ../../../../ajax/ajax_configSave.php:33 ../../../../ajax/ajax_backup.php:32 +#: ../../../../ajax/ajax_migrate.php:1 +#: ../../../../ajax/ajax_sendRequest.php:32 +#: ../../../../ajax/ajax_checkLdap.php:32 msgid "La sesión no se ha iniciado o ha caducado" msgstr "Session non démarrée ou expirée" # "INVALID QUERY" -#: ../../../..//ajax/ajax_appMgmtSave.php:40 -#: ../../../..//ajax/ajax_accountSave.php:39 -#: ../../../..//ajax/ajax_import.php:1 -#: ../../../..//ajax/ajax_configSave.php:39 -#: ../../../..//ajax/ajax_backup.php:38 -#: ../../../..//ajax/ajax_passReset.php:34 ../../../..//ajax/ajax_files.php:40 -#: ../../../..//ajax/ajax_migrate.php:1 ../../../..//ajax/ajax_search.php:38 -#: ../../../..//ajax/ajax_sendRequest.php:38 -#: ../../../..//ajax/ajax_checkLdap.php:38 -#: ../../../..//ajax/ajax_getFiles.php:43 +#: ../../../../ajax/ajax_appMgmtSave.php:40 +#: ../../../../ajax/ajax_accountSave.php:39 ../../../../ajax/ajax_import.php:1 +#: ../../../../ajax/ajax_configSave.php:39 ../../../../ajax/ajax_backup.php:38 +#: ../../../../ajax/ajax_passReset.php:34 ../../../../ajax/ajax_files.php:40 +#: ../../../../ajax/ajax_migrate.php:1 ../../../../ajax/ajax_search.php:38 +#: ../../../../ajax/ajax_sendRequest.php:38 +#: ../../../../ajax/ajax_checkLdap.php:38 +#: ../../../../ajax/ajax_getFiles.php:43 msgid "CONSULTA INVÁLIDA" msgstr "REQUETE INVALIDE" # "An username is needed" -#: ../../../..//ajax/ajax_appMgmtSave.php:76 +#: ../../../../ajax/ajax_appMgmtSave.php:76 msgid "Es necesario un nombre de usuario" msgstr "Nom d'utilisateur requis" # "A login is needed" -#: ../../../..//ajax/ajax_appMgmtSave.php:80 +#: ../../../../ajax/ajax_appMgmtSave.php:80 msgid "Es necesario un login" msgstr "Login requis" # "A profile is needed" -#: ../../../..//ajax/ajax_appMgmtSave.php:84 +#: ../../../../ajax/ajax_appMgmtSave.php:84 msgid "Es necesario un perfil" msgstr "Profil requis" # "A group is needed" -#: ../../../..//ajax/ajax_appMgmtSave.php:88 +#: ../../../../ajax/ajax_appMgmtSave.php:88 msgid "Es necesario un grupo" msgstr "Groupe requis" # "An email is needed" -#: ../../../..//ajax/ajax_appMgmtSave.php:92 +#: ../../../../ajax/ajax_appMgmtSave.php:92 msgid "Es necesario un email" msgstr "Courriel requis" # "Duplicated user login " -#: ../../../..//ajax/ajax_appMgmtSave.php:110 +#: ../../../../ajax/ajax_appMgmtSave.php:110 msgid "Login de usuario duplicado" msgstr "Login utilisateur dupliqué" # "Duplicated user email" -#: ../../../..//ajax/ajax_appMgmtSave.php:113 +#: ../../../../ajax/ajax_appMgmtSave.php:113 msgid "Email de usuario duplicado" msgstr "Courriel de l'utilisateur dupliqué" # "Password cannot be blank" -#: ../../../..//ajax/ajax_appMgmtSave.php:119 -#: ../../../..//ajax/ajax_appMgmtSave.php:145 -#: ../../../..//ajax/ajax_accountSave.php:105 +#: ../../../../ajax/ajax_appMgmtSave.php:119 +#: ../../../../ajax/ajax_appMgmtSave.php:145 +#: ../../../../ajax/ajax_accountSave.php:105 msgid "La clave no puede estar en blanco" msgstr "Le mot de passe ne peut pas être blanc" # "The passwords do not match" -#: ../../../..//ajax/ajax_appMgmtSave.php:123 -#: ../../../..//ajax/ajax_appMgmtSave.php:149 -#: ../../../..//ajax/ajax_accountSave.php:83 -#: ../../../..//ajax/ajax_accountSave.php:109 +#: ../../../../ajax/ajax_appMgmtSave.php:123 +#: ../../../../ajax/ajax_appMgmtSave.php:149 +#: ../../../../ajax/ajax_accountSave.php:83 +#: ../../../../ajax/ajax_accountSave.php:109 msgid "Las claves no coinciden" msgstr "Les mots de passe ne correspondent pas" # "User added" -#: ../../../..//ajax/ajax_appMgmtSave.php:127 +#: ../../../../ajax/ajax_appMgmtSave.php:127 msgid "Usuario creado" msgstr "Utilisateur ajouté" # "Error on creating user" -#: ../../../..//ajax/ajax_appMgmtSave.php:130 +#: ../../../../ajax/ajax_appMgmtSave.php:130 msgid "Error al crear el usuario" msgstr "Erreur pendant la création d'utilisateur" # "User updated" -#: ../../../..//ajax/ajax_appMgmtSave.php:133 -#: ../../../..//inc/users.class.php:224 +#: ../../../../ajax/ajax_appMgmtSave.php:133 +#: ../../../../inc/users.class.php:224 msgid "Usuario actualizado" msgstr "Utilisateur actualisé" # "Error on user update" -#: ../../../..//ajax/ajax_appMgmtSave.php:136 +#: ../../../../ajax/ajax_appMgmtSave.php:136 msgid "Error al actualizar el usuario" msgstr "Erreur pendant l'actualisation de l'utilisateur" # "Ey, this is a DEMO!!" -#: ../../../..//ajax/ajax_appMgmtSave.php:141 -#: ../../../..//ajax/ajax_appMgmtSave.php:163 -#: ../../../..//ajax/ajax_import.php:1 -#: ../../../..//ajax/ajax_configSave.php:214 -#: ../../../..//ajax/ajax_migrate.php:1 +#: ../../../../ajax/ajax_appMgmtSave.php:141 +#: ../../../../ajax/ajax_appMgmtSave.php:163 +#: ../../../../ajax/ajax_import.php:1 ../../../../ajax/ajax_configSave.php:214 +#: ../../../../ajax/ajax_migrate.php:1 msgid "Ey, esto es una DEMO!!" msgstr "Hey, ceci est une DEMO" # "Password updated" -#: ../../../..//ajax/ajax_appMgmtSave.php:156 -#: ../../../..//ajax/ajax_accountSave.php:237 -#: ../../../..//ajax/ajax_passReset.php:79 +#: ../../../../ajax/ajax_appMgmtSave.php:156 +#: ../../../../ajax/ajax_accountSave.php:237 +#: ../../../../ajax/ajax_passReset.php:79 msgid "Clave actualizada" msgstr "Mot de passe actualisé" # "Error on updating password" -#: ../../../..//ajax/ajax_appMgmtSave.php:159 -#: ../../../..//ajax/ajax_passReset.php:83 +#: ../../../../ajax/ajax_appMgmtSave.php:159 +#: ../../../../ajax/ajax_passReset.php:83 msgid "Error al modificar la clave" msgstr "Erreur pendant la modification du mot de passe" # "Unable to delete, user in use" -#: ../../../..//ajax/ajax_appMgmtSave.php:169 +#: ../../../../ajax/ajax_appMgmtSave.php:169 msgid "No es posible eliminar, usuario en uso" msgstr "Impossible à supprimer, utilisateur en activité" # "User deleted" -#: ../../../..//ajax/ajax_appMgmtSave.php:173 +#: ../../../../ajax/ajax_appMgmtSave.php:173 msgid "Usuario eliminado" msgstr "Utilisateur supprimé" # "Error on user deletion" -#: ../../../..//ajax/ajax_appMgmtSave.php:176 +#: ../../../../ajax/ajax_appMgmtSave.php:176 msgid "Error al eliminar el usuario" msgstr "Erreur pendant la suppression de l'utilisateur" # "Invalid Action" -#: ../../../..//ajax/ajax_appMgmtSave.php:179 -#: ../../../..//ajax/ajax_appMgmtSave.php:240 -#: ../../../..//ajax/ajax_appMgmtSave.php:318 -#: ../../../..//ajax/ajax_appMgmtSave.php:369 -#: ../../../..//ajax/ajax_appMgmtSave.php:418 -#: ../../../..//ajax/ajax_accountSave.php:116 -#: ../../../..//ajax/ajax_accountSave.php:268 -#: ../../../..//ajax/ajax_configSave.php:229 +#: ../../../../ajax/ajax_appMgmtSave.php:179 +#: ../../../../ajax/ajax_appMgmtSave.php:240 +#: ../../../../ajax/ajax_appMgmtSave.php:318 +#: ../../../../ajax/ajax_appMgmtSave.php:369 +#: ../../../../ajax/ajax_appMgmtSave.php:418 +#: ../../../../ajax/ajax_accountSave.php:116 +#: ../../../../ajax/ajax_accountSave.php:268 +#: ../../../../ajax/ajax_configSave.php:229 msgid "Acción Inválida" msgstr "Action Invalide" # "A group name is needed" -#: ../../../..//ajax/ajax_appMgmtSave.php:188 +#: ../../../../ajax/ajax_appMgmtSave.php:188 msgid "Es necesario un nombre de grupo" msgstr "Nom de groupe requis" # "Duplicated group name" -#: ../../../..//ajax/ajax_appMgmtSave.php:196 +#: ../../../../ajax/ajax_appMgmtSave.php:196 msgid "Nombre de grupo duplicado" msgstr "Nom de groupe dupliqué" # "Group added" -#: ../../../..//ajax/ajax_appMgmtSave.php:201 +#: ../../../../ajax/ajax_appMgmtSave.php:201 msgid "Grupo creado" msgstr "Groupe ajouté" # "Error on group creation" -#: ../../../..//ajax/ajax_appMgmtSave.php:203 +#: ../../../../ajax/ajax_appMgmtSave.php:203 msgid "Error al crear el grupo" msgstr "Erreur pendant la création de groupe" # "Group updated" -#: ../../../..//ajax/ajax_appMgmtSave.php:207 +#: ../../../../ajax/ajax_appMgmtSave.php:207 msgid "Grupo actualizado" msgstr "Gropue actualisé" # "Error on updating group" -#: ../../../..//ajax/ajax_appMgmtSave.php:210 +#: ../../../../ajax/ajax_appMgmtSave.php:210 msgid "Error al actualizar el grupo" msgstr "Erreur pendant l'actualisation du groupe" # "Users" -#: ../../../..//ajax/ajax_appMgmtSave.php:221 -#: ../../../..//ajax/ajax_appMgmtSave.php:298 -#: ../../../..//inc/tpl/profiles.php:88 ../../../..//inc/tpl/accounts.php:281 +#: ../../../../ajax/ajax_appMgmtSave.php:221 +#: ../../../../ajax/ajax_appMgmtSave.php:298 +#: ../../../../inc/tpl/profiles.php:88 ../../../../inc/tpl/accounts.php:281 msgid "Usuarios" msgstr "Utilisateurs" # "Accounts" -#: ../../../..//ajax/ajax_appMgmtSave.php:225 -#: ../../../..//ajax/ajax_appMgmtSave.php:356 -#: ../../../..//inc/category.class.php:265 -#: ../../../..//inc/tpl/profiles.php:45 +#: ../../../../ajax/ajax_appMgmtSave.php:225 +#: ../../../../ajax/ajax_appMgmtSave.php:356 +#: ../../../../inc/category.class.php:265 ../../../../inc/tpl/profiles.php:45 msgid "Cuentas" msgstr "Comptes" # "Unable to delete" -#: ../../../..//ajax/ajax_appMgmtSave.php:228 -#: ../../../..//ajax/ajax_appMgmtSave.php:300 -#: ../../../..//ajax/ajax_appMgmtSave.php:358 -#: ../../../..//ajax/ajax_appMgmtSave.php:407 +#: ../../../../ajax/ajax_appMgmtSave.php:228 +#: ../../../../ajax/ajax_appMgmtSave.php:300 +#: ../../../../ajax/ajax_appMgmtSave.php:358 +#: ../../../../ajax/ajax_appMgmtSave.php:407 msgid "No es posible eliminar" msgstr "Impossible de supprimer" # "Group in use by:" -#: ../../../..//ajax/ajax_appMgmtSave.php:228 +#: ../../../../ajax/ajax_appMgmtSave.php:228 msgid "Grupo en uso por:" msgstr "Groupe utilisé par:" # "Group deleted" -#: ../../../..//ajax/ajax_appMgmtSave.php:233 +#: ../../../../ajax/ajax_appMgmtSave.php:233 msgid "Grupo eliminado" msgstr "Groupe supprimé" # "Error on group deletion" -#: ../../../..//ajax/ajax_appMgmtSave.php:236 +#: ../../../../ajax/ajax_appMgmtSave.php:236 msgid "Error al eliminar el grupo" msgstr "Erreur pendant la supression du groupe" # "A profile name is needed" -#: ../../../..//ajax/ajax_appMgmtSave.php:270 +#: ../../../../ajax/ajax_appMgmtSave.php:270 msgid "Es necesario un nombre de perfil" msgstr "Nom de profil requis" # "Duplicated profile name" -#: ../../../..//ajax/ajax_appMgmtSave.php:276 +#: ../../../../ajax/ajax_appMgmtSave.php:276 msgid "Nombre de perfil duplicado" msgstr "Nom de profil dupliqué" # "Profile added" -#: ../../../..//ajax/ajax_appMgmtSave.php:281 +#: ../../../../ajax/ajax_appMgmtSave.php:281 msgid "Perfil creado" msgstr "Profil ajouté" # "Error on creating profile" -#: ../../../..//ajax/ajax_appMgmtSave.php:284 +#: ../../../../ajax/ajax_appMgmtSave.php:284 msgid "Error al crear el perfil" msgstr "Erreur pendant la création de profil" # "Profile updated" -#: ../../../..//ajax/ajax_appMgmtSave.php:287 +#: ../../../../ajax/ajax_appMgmtSave.php:287 msgid "Perfil actualizado" msgstr "Profil actualisé" # "Error on updating profile" -#: ../../../..//ajax/ajax_appMgmtSave.php:290 +#: ../../../../ajax/ajax_appMgmtSave.php:290 msgid "Error al actualizar el perfil" msgstr "Erreur pendant l'actualisation du profil" # "Profiles in use by:" -#: ../../../..//ajax/ajax_appMgmtSave.php:300 +#: ../../../../ajax/ajax_appMgmtSave.php:300 msgid "Perfil en uso por:" msgstr "Profil utilisé par:" # "Delete Profile" -#: ../../../..//ajax/ajax_appMgmtSave.php:305 -#: ../../../..//ajax/ajax_getContent.php:201 +#: ../../../../ajax/ajax_appMgmtSave.php:305 +#: ../../../../ajax/ajax_getContent.php:201 msgid "Eliminar Perfil" msgstr "Supprimer Profil" # "Profile" -#: ../../../..//ajax/ajax_appMgmtSave.php:306 -#: ../../../..//ajax/ajax_getContent.php:114 -#: ../../../..//ajax/ajax_doLogin.php:153 -#: ../../../..//inc/profiles.class.php:203 -#: ../../../..//inc/profiles.class.php:254 ../../../..//inc/tpl/users.php:98 +#: ../../../../ajax/ajax_appMgmtSave.php:306 +#: ../../../../ajax/ajax_getContent.php:114 +#: ../../../../ajax/ajax_doLogin.php:153 +#: ../../../../inc/profiles.class.php:203 +#: ../../../../inc/profiles.class.php:254 ../../../../inc/tpl/users.php:98 msgid "Perfil" msgstr "Profil" # "Profile deleted" -#: ../../../..//ajax/ajax_appMgmtSave.php:311 +#: ../../../../ajax/ajax_appMgmtSave.php:311 msgid "Perfil eliminado" msgstr "Profil supprimé" # "Error on profile deletion" -#: ../../../..//ajax/ajax_appMgmtSave.php:314 +#: ../../../../ajax/ajax_appMgmtSave.php:314 msgid "Error al eliminar el perfil" msgstr "Erreur pendant la suppression du profil" # "A customer name needed" -#: ../../../..//ajax/ajax_appMgmtSave.php:327 -#: ../../../..//ajax/ajax_accountSave.php:71 -#: ../../../..//ajax/ajax_accountSave.php:88 +#: ../../../../ajax/ajax_appMgmtSave.php:327 +#: ../../../../ajax/ajax_accountSave.php:71 +#: ../../../../ajax/ajax_accountSave.php:88 msgid "Es necesario un nombre de cliente" msgstr "Nom de client requis" # "Duplicated customer name" -#: ../../../..//ajax/ajax_appMgmtSave.php:334 +#: ../../../../ajax/ajax_appMgmtSave.php:334 msgid "Nombre de cliente duplicado" msgstr "Nom de client dupliqué" # "Customer added" -#: ../../../..//ajax/ajax_appMgmtSave.php:339 +#: ../../../../ajax/ajax_appMgmtSave.php:339 msgid "Cliente creado" msgstr "Client ajouté" # "Error on creating customer" -#: ../../../..//ajax/ajax_appMgmtSave.php:341 -#: ../../../..//ajax/ajax_accountSave.php:152 -#: ../../../..//ajax/ajax_accountSave.php:201 +#: ../../../../ajax/ajax_appMgmtSave.php:341 +#: ../../../../ajax/ajax_accountSave.php:152 +#: ../../../../ajax/ajax_accountSave.php:201 msgid "Error al crear el cliente" msgstr "Erreur pendant la création du client" # "Customer updated" -#: ../../../..//ajax/ajax_appMgmtSave.php:345 +#: ../../../../ajax/ajax_appMgmtSave.php:345 msgid "Cliente actualizado" msgstr "Compte actualisé" # "Error on updating customer" -#: ../../../..//ajax/ajax_appMgmtSave.php:348 +#: ../../../../ajax/ajax_appMgmtSave.php:348 msgid "Error al actualizar el cliente" msgstr "Erreur pendant l'actualisation du client" # "Customer in use by:" -#: ../../../..//ajax/ajax_appMgmtSave.php:358 +#: ../../../../ajax/ajax_appMgmtSave.php:358 msgid "Cliente en uso por:" msgstr "Client utilisé par:" # "Customer deleted" -#: ../../../..//ajax/ajax_appMgmtSave.php:362 +#: ../../../../ajax/ajax_appMgmtSave.php:362 msgid "Cliente eliminado" msgstr "Client supprimé" # "Error on customer deletion" -#: ../../../..//ajax/ajax_appMgmtSave.php:365 +#: ../../../../ajax/ajax_appMgmtSave.php:365 msgid "Error al eliminar el cliente" msgstr "Erreur pendant la suppression du client" # "A category name needed" -#: ../../../..//ajax/ajax_appMgmtSave.php:378 +#: ../../../../ajax/ajax_appMgmtSave.php:378 msgid "Es necesario un nombre de categoría" msgstr "Nom de catégorie requis" # "Duplicated category name" -#: ../../../..//ajax/ajax_appMgmtSave.php:385 +#: ../../../../ajax/ajax_appMgmtSave.php:385 msgid "Nombre de categoría duplicado" msgstr "Nom de catégorie dupliqué" # "Category added" -#: ../../../..//ajax/ajax_appMgmtSave.php:390 +#: ../../../../ajax/ajax_appMgmtSave.php:390 msgid "Categoría creada" msgstr "Catégorie ajoutée" # "Error on creating category" -#: ../../../..//ajax/ajax_appMgmtSave.php:392 +#: ../../../../ajax/ajax_appMgmtSave.php:392 msgid "Error al crear la categoría" msgstr "Erreur pendant la création de la catégorie" # "Category updated" -#: ../../../..//ajax/ajax_appMgmtSave.php:396 +#: ../../../../ajax/ajax_appMgmtSave.php:396 msgid "Categoría actualizada" msgstr "Catégorie actualisée" # "Error on updating category" -#: ../../../..//ajax/ajax_appMgmtSave.php:399 +#: ../../../../ajax/ajax_appMgmtSave.php:399 msgid "Error al actualizar la categoría" msgstr "Erreur pendant l'actualisation de la categorie" # "Category in use by:" -#: ../../../..//ajax/ajax_appMgmtSave.php:407 +#: ../../../../ajax/ajax_appMgmtSave.php:407 msgid "Categoría en uso por:" msgstr "Catégorie utilisée par:" # "Category deleted" -#: ../../../..//ajax/ajax_appMgmtSave.php:411 +#: ../../../../ajax/ajax_appMgmtSave.php:411 msgid "Categoría eliminada" msgstr "Catégorie supprimée" # "Error on category deletion" -#: ../../../..//ajax/ajax_appMgmtSave.php:414 +#: ../../../../ajax/ajax_appMgmtSave.php:414 msgid "Error al eliminar la categoría" msgstr "Erreur pendant la suppression de la catégorie" # "Edit User" -#: ../../../..//ajax/ajax_appMgmtData.php:46 -#: ../../../..//ajax/ajax_getContent.php:137 +#: ../../../../ajax/ajax_appMgmtData.php:46 +#: ../../../../ajax/ajax_getContent.php:137 msgid "Editar Usuario" msgstr "Editer Utilisateur" # "New User" -#: ../../../..//ajax/ajax_appMgmtData.php:51 -#: ../../../..//ajax/ajax_getContent.php:135 -#: ../../../..//inc/users.class.php:787 +#: ../../../../ajax/ajax_appMgmtData.php:51 +#: ../../../../ajax/ajax_getContent.php:135 +#: ../../../../inc/users.class.php:787 msgid "Nuevo Usuario" msgstr "Nouvel Utilisateur" # "Edit Group" -#: ../../../..//ajax/ajax_appMgmtData.php:56 -#: ../../../..//ajax/ajax_getContent.php:168 +#: ../../../../ajax/ajax_appMgmtData.php:56 +#: ../../../../ajax/ajax_getContent.php:168 msgid "Editar Grupo" msgstr "Editer Groupe" # "New Group" -#: ../../../..//ajax/ajax_appMgmtData.php:61 -#: ../../../..//ajax/ajax_getContent.php:167 -#: ../../../..//inc/groups.class.php:150 +#: ../../../../ajax/ajax_appMgmtData.php:61 +#: ../../../../ajax/ajax_getContent.php:167 +#: ../../../../inc/groups.class.php:150 msgid "Nuevo Grupo" msgstr "Nouveau Groupe" # "Edit Profile" -#: ../../../..//ajax/ajax_appMgmtData.php:66 -#: ../../../..//ajax/ajax_getContent.php:200 +#: ../../../../ajax/ajax_appMgmtData.php:66 +#: ../../../../ajax/ajax_getContent.php:200 msgid "Editar Perfil" msgstr "Editer Profil" # "New Profile" -#: ../../../..//ajax/ajax_appMgmtData.php:71 -#: ../../../..//ajax/ajax_getContent.php:199 -#: ../../../..//inc/profiles.class.php:202 +#: ../../../../ajax/ajax_appMgmtData.php:71 +#: ../../../../ajax/ajax_getContent.php:199 +#: ../../../../inc/profiles.class.php:202 msgid "Nuevo Perfil" msgstr "Nouveau Profil" # "Edit Customer" -#: ../../../..//ajax/ajax_appMgmtData.php:76 -#: ../../../..//ajax/ajax_getContent.php:285 +#: ../../../../ajax/ajax_appMgmtData.php:76 +#: ../../../../ajax/ajax_getContent.php:285 msgid "Editar Cliente" msgstr "Editer Client" # "New Customer" -#: ../../../..//ajax/ajax_appMgmtData.php:81 -#: ../../../..//ajax/ajax_getContent.php:284 -#: ../../../..//inc/customer.class.php:56 +#: ../../../../ajax/ajax_appMgmtData.php:81 +#: ../../../../ajax/ajax_getContent.php:284 +#: ../../../../inc/customer.class.php:56 msgid "Nuevo Cliente" msgstr "Nouveau Client" # "Edit Category" -#: ../../../..//ajax/ajax_appMgmtData.php:86 -#: ../../../..//ajax/ajax_getContent.php:253 +#: ../../../../ajax/ajax_appMgmtData.php:86 +#: ../../../../ajax/ajax_getContent.php:253 msgid "Editar Categoría" msgstr "Editer Catégorie" # "New Category" -#: ../../../..//ajax/ajax_appMgmtData.php:91 -#: ../../../..//ajax/ajax_getContent.php:252 -#: ../../../..//inc/category.class.php:77 +#: ../../../../ajax/ajax_appMgmtData.php:91 +#: ../../../../ajax/ajax_getContent.php:252 +#: ../../../../inc/category.class.php:77 msgid "Nueva Categoría" msgstr "Nouvelle Catégorie" # "Download new version" -#: ../../../..//ajax/ajax_checkUpds.php:41 +#: ../../../../ajax/ajax_checkUpds.php:41 msgid "Descargar nueva versión" msgstr "Télécharger nouvelle version" # "Updated" -#: ../../../..//ajax/ajax_checkUpds.php:44 +#: ../../../../ajax/ajax_checkUpds.php:44 msgid "Actualizado" msgstr "Mis à jour" # "An account name needed" -#: ../../../..//ajax/ajax_accountSave.php:67 -#: ../../../..//ajax/ajax_accountSave.php:92 +#: ../../../../ajax/ajax_accountSave.php:67 +#: ../../../../ajax/ajax_accountSave.php:92 msgid "Es necesario un nombre de cuenta" msgstr "Nom de compte requis" # "An username is needed" -#: ../../../..//ajax/ajax_accountSave.php:75 -#: ../../../..//ajax/ajax_accountSave.php:96 +#: ../../../../ajax/ajax_accountSave.php:75 +#: ../../../../ajax/ajax_accountSave.php:96 msgid "Es necesario un usuario" msgstr "Nom d'utilisateur requis" # "A password is needed" -#: ../../../..//ajax/ajax_accountSave.php:79 +#: ../../../../ajax/ajax_accountSave.php:79 msgid "Es necesario una clave" msgstr "Mot de passe requis" # "Invalid Id" -#: ../../../..//ajax/ajax_accountSave.php:100 -#: ../../../..//ajax/ajax_accountSave.php:113 +#: ../../../../ajax/ajax_accountSave.php:100 +#: ../../../../ajax/ajax_accountSave.php:113 msgid "Id inválido" msgstr "Id Invalide" # "Crypto module cannot be loaded" -#: ../../../..//ajax/ajax_accountSave.php:124 -#: ../../../..//inc/import.class.php:237 +#: ../../../../ajax/ajax_accountSave.php:124 +#: ../../../../inc/import.class.php:237 msgid "No se puede usar el módulo de encriptación" msgstr "Le module d'encryption ne peut pas être chargé" # "Error on creating encryption data" -#: ../../../..//ajax/ajax_accountSave.php:133 -#: ../../../..//inc/import.class.php:244 +#: ../../../../ajax/ajax_accountSave.php:133 +#: ../../../../inc/import.class.php:244 msgid "Error al generar datos cifrados" msgstr "Erreur pendant la création des données d'encryption" # "Duplicated customer" -#: ../../../..//ajax/ajax_accountSave.php:148 -#: ../../../..//ajax/ajax_accountSave.php:197 +#: ../../../../ajax/ajax_accountSave.php:148 +#: ../../../../ajax/ajax_accountSave.php:197 msgid "Cliente duplicado" msgstr "Client dupliqué" # "Account added" -#: ../../../..//ajax/ajax_accountSave.php:176 +#: ../../../../ajax/ajax_accountSave.php:176 msgid "Cuenta creada" msgstr "Compte ajouté" # "Error on account creation" -#: ../../../..//ajax/ajax_accountSave.php:178 +#: ../../../../ajax/ajax_accountSave.php:178 msgid "Error al crear la cuenta" msgstr "Erreur pendant la création de compte" # "No changes" -#: ../../../..//ajax/ajax_accountSave.php:211 +#: ../../../../ajax/ajax_accountSave.php:211 msgid "Sin cambios" msgstr "Aucun changement" # "Account updated" -#: ../../../..//ajax/ajax_accountSave.php:216 -#: ../../../..//inc/account.class.php:364 +#: ../../../../ajax/ajax_accountSave.php:216 +#: ../../../../inc/account.class.php:364 msgid "Cuenta actualizada" msgstr "Compte actualisé" # "Error on updating account" -#: ../../../..//ajax/ajax_accountSave.php:218 +#: ../../../../ajax/ajax_accountSave.php:218 msgid "Error al modificar la cuenta" msgstr "Erreur pendant la modification du compte" # "Account deleted" -#: ../../../..//ajax/ajax_accountSave.php:225 +#: ../../../../ajax/ajax_accountSave.php:225 msgid "Cuenta eliminada" msgstr "Compte supprimé" # "Error on account deletion" -#: ../../../..//ajax/ajax_accountSave.php:227 +#: ../../../../ajax/ajax_accountSave.php:227 msgid "Error al eliminar la cuenta" msgstr "Erreur pendant la suppression du compte" # "Error on updating password" -#: ../../../..//ajax/ajax_accountSave.php:239 +#: ../../../../ajax/ajax_accountSave.php:239 msgid "Error al actualizar la clave" msgstr "Erreur pendant l'actualisation du mot de passe" # "Account restored" -#: ../../../..//ajax/ajax_accountSave.php:262 +#: ../../../../ajax/ajax_accountSave.php:262 msgid "Cuenta restaurada" msgstr "Compte restauré" # "Error on restoring account" -#: ../../../..//ajax/ajax_accountSave.php:265 +#: ../../../../ajax/ajax_accountSave.php:265 msgid "Error al restaurar cuenta" msgstr "Erreur pendant la restauration du compte" # "Event log cleared" -#: ../../../..//ajax/ajax_eventlog.php:43 +#: ../../../../ajax/ajax_eventlog.php:43 msgid "Registro de eventos vaciado" msgstr "Journal d'évènements nettoyé" # "Error on clearing event log" -#: ../../../..//ajax/ajax_eventlog.php:45 +#: ../../../../ajax/ajax_eventlog.php:45 msgid "Error al vaciar el registro de eventos" msgstr "Erreur pendant le nettoyage du journal d'évènements" # "Missing Wiki parameters" -#: ../../../..//ajax/ajax_configSave.php:96 +#: ../../../../ajax/ajax_configSave.php:96 msgid "Faltan parámetros de Wiki" msgstr "Paramètres Wiki manquants" # "Missing LDAP parameters" -#: ../../../..//ajax/ajax_configSave.php:107 +#: ../../../../ajax/ajax_configSave.php:107 msgid "Faltan parámetros de LDAP" msgstr "Paramètres LDAP manquants" # "Missing Mail parameters" -#: ../../../..//ajax/ajax_configSave.php:123 +#: ../../../../ajax/ajax_configSave.php:123 msgid "Faltan parámetros de Correo" msgstr "Paramètres de courriel manquants" # "The maximum file upload size is 16MB" -#: ../../../..//ajax/ajax_configSave.php:144 +#: ../../../../ajax/ajax_configSave.php:144 msgid "El tamaño máximo de archivo es de 16MB" msgstr "La taille maximum pour le chargement de fichier est de 16Mo" # "Edit Configuration" -#: ../../../..//ajax/ajax_configSave.php:161 +#: ../../../../ajax/ajax_configSave.php:161 msgid "Modificar Configuración" msgstr "Modifier Configuration" # "Configuration updated" -#: ../../../..//ajax/ajax_configSave.php:169 +#: ../../../../ajax/ajax_configSave.php:169 msgid "Configuración actualizada" msgstr "Configuration actualisée" # "Master Password updated" -#: ../../../..//ajax/ajax_configSave.php:178 -#: ../../../..//ajax/ajax_configSave.php:224 -#: ../../../..//ajax/ajax_viewpass.php:68 -#: ../../../..//ajax/ajax_viewpass.php:70 ../../../..//inc/html.class.php:419 +#: ../../../../ajax/ajax_configSave.php:178 +#: ../../../../ajax/ajax_configSave.php:224 +#: ../../../../ajax/ajax_viewpass.php:68 ../../../../ajax/ajax_viewpass.php:70 +#: ../../../../inc/html.class.php:419 msgid "Clave maestra actualizada" msgstr "Mot de passe maître actualisé" # "Restart session to update" -#: ../../../..//ajax/ajax_configSave.php:178 -#: ../../../..//ajax/ajax_viewpass.php:68 -#: ../../../..//ajax/ajax_viewpass.php:70 ../../../..//inc/html.class.php:419 +#: ../../../../ajax/ajax_configSave.php:178 +#: ../../../../ajax/ajax_viewpass.php:68 ../../../../ajax/ajax_viewpass.php:70 +#: ../../../../inc/html.class.php:419 msgid "Reinicie la sesión para cambiarla" msgstr "Redémarrez la session pour mettre à jour" # "Master Password needed" -#: ../../../..//ajax/ajax_configSave.php:182 +#: ../../../../ajax/ajax_configSave.php:182 msgid "Clave maestra no indicada" msgstr "Mot de passe maître requis" # "The password update must be confirmed" -#: ../../../..//ajax/ajax_configSave.php:186 +#: ../../../../ajax/ajax_configSave.php:186 msgid "Se ha de confirmar el cambio de clave" msgstr "Le changement de mot de passe doit être confirmé" # "The passwords are the same" -#: ../../../..//ajax/ajax_configSave.php:190 +#: ../../../../ajax/ajax_configSave.php:190 msgid "Las claves son idénticas" msgstr "Les mots de passe sont identiques" # "The master passwords do not match" -#: ../../../..//ajax/ajax_configSave.php:194 +#: ../../../../ajax/ajax_configSave.php:194 msgid "Las claves maestras no coinciden" msgstr "Les mots de passe maîtres ne correspondent pas" # "The current master password does not match" -#: ../../../..//ajax/ajax_configSave.php:198 +#: ../../../../ajax/ajax_configSave.php:198 msgid "La clave maestra actual no coincide" msgstr "Le mot de passe maître actuel ne correspond pas" # "Error on updating accounts' passwords" -#: ../../../..//ajax/ajax_configSave.php:207 +#: ../../../../ajax/ajax_configSave.php:207 msgid "Errores al actualizar las claves de las cuentas" msgstr "Erreur pendant la modification des mots de passe des comptes" # "Update Master Password" -#: ../../../..//ajax/ajax_configSave.php:221 -#: ../../../..//inc/account.class.php:736 +#: ../../../../ajax/ajax_configSave.php:221 +#: ../../../../inc/account.class.php:736 msgid "Actualizar Clave Maestra" msgstr "Mettre à jour le Mot de passe Maître" # "Error on saving master password's hash" -#: ../../../..//ajax/ajax_configSave.php:227 +#: ../../../../ajax/ajax_configSave.php:227 msgid "Error al guardar el hash de la clave maestra" msgstr "Erreur pendant la sauvegarde du hash du mot de passe maître" # "Incorrect parameters" -#: ../../../..//ajax/ajax_getContent.php:42 +#: ../../../../ajax/ajax_getContent.php:42 msgid "Parámetros incorrectos" msgstr "Paramètres Incorrects" # "Users Management" -#: ../../../..//ajax/ajax_getContent.php:100 ../../../..//inc/tpl/main.php:54 +#: ../../../../ajax/ajax_getContent.php:100 ../../../../inc/tpl/main.php:54 msgid "Gestión de Usuarios" msgstr "Gestion des Utilisateurs" # "Groups Management" -#: ../../../..//ajax/ajax_getContent.php:101 +#: ../../../../ajax/ajax_getContent.php:101 msgid "Gestión de Grupos" msgstr "Gestion des Groupes" # "Profiles Management" -#: ../../../..//ajax/ajax_getContent.php:102 +#: ../../../../ajax/ajax_getContent.php:102 msgid "Gestión de Perfiles" msgstr "Gestion des Profils" # "Name" -#: ../../../..//ajax/ajax_getContent.php:112 -#: ../../../..//ajax/ajax_getContent.php:158 -#: ../../../..//ajax/ajax_getContent.php:190 -#: ../../../..//ajax/ajax_getContent.php:243 -#: ../../../..//ajax/ajax_getContent.php:275 -#: ../../../..//ajax/ajax_search.php:125 ../../../..//ajax/ajax_search.php:236 -#: ../../../..//inc/tpl/request.php:38 ../../../..//inc/tpl/groups.php:39 -#: ../../../..//inc/tpl/customers.php:39 ../../../..//inc/tpl/profiles.php:39 -#: ../../../..//inc/tpl/editpass.php:40 ../../../..//inc/tpl/accounts.php:172 -#: ../../../..//inc/tpl/categories.php:39 ../../../..//inc/tpl/users.php:66 +#: ../../../../ajax/ajax_getContent.php:112 +#: ../../../../ajax/ajax_getContent.php:158 +#: ../../../../ajax/ajax_getContent.php:190 +#: ../../../../ajax/ajax_getContent.php:243 +#: ../../../../ajax/ajax_getContent.php:275 +#: ../../../../ajax/ajax_search.php:125 ../../../../ajax/ajax_search.php:236 +#: ../../../../inc/tpl/request.php:38 ../../../../inc/tpl/groups.php:39 +#: ../../../../inc/tpl/customers.php:39 ../../../../inc/tpl/profiles.php:39 +#: ../../../../inc/tpl/editpass.php:40 ../../../../inc/tpl/accounts.php:172 +#: ../../../../inc/tpl/categories.php:39 ../../../../inc/tpl/users.php:66 msgid "Nombre" msgstr "Nom" # "Login" -#: ../../../..//ajax/ajax_getContent.php:113 -#: ../../../..//ajax/ajax_passReset.php:74 -#: ../../../..//inc/users.class.php:866 ../../../..//inc/users.class.php:892 -#: ../../../..//inc/tpl/users.php:81 +#: ../../../../ajax/ajax_getContent.php:113 +#: ../../../../ajax/ajax_passReset.php:74 ../../../../inc/users.class.php:866 +#: ../../../../inc/users.class.php:892 ../../../../inc/tpl/users.php:81 msgid "Login" msgstr "Login" # "Group" -#: ../../../..//ajax/ajax_getContent.php:115 -#: ../../../..//ajax/ajax_doLogin.php:154 -#: ../../../..//inc/groups.class.php:151 ../../../..//inc/groups.class.php:179 -#: ../../../..//inc/groups.class.php:205 ../../../..//inc/tpl/config.php:329 -#: ../../../..//inc/tpl/users.php:105 +#: ../../../../ajax/ajax_getContent.php:115 +#: ../../../../ajax/ajax_doLogin.php:154 ../../../../inc/groups.class.php:151 +#: ../../../../inc/groups.class.php:179 ../../../../inc/groups.class.php:205 +#: ../../../../inc/tpl/config.php:329 ../../../../inc/tpl/users.php:105 msgid "Grupo" msgstr "Groupe" # "Properties" -#: ../../../..//ajax/ajax_getContent.php:116 +#: ../../../../ajax/ajax_getContent.php:116 msgid "Propiedades" msgstr "Propriétés" # "Application Admin" -#: ../../../..//ajax/ajax_getContent.php:122 ../../../..//inc/tpl/main.php:30 +#: ../../../../ajax/ajax_getContent.php:122 ../../../../inc/tpl/main.php:30 msgid "Admin Aplicación" msgstr "Admin Application" # "Account Admin" -#: ../../../..//ajax/ajax_getContent.php:123 +#: ../../../../ajax/ajax_getContent.php:123 msgid "Admin Cuentas" msgstr "Admin Comptes" # "LDAP User" -#: ../../../..//ajax/ajax_getContent.php:124 ../../../..//inc/tpl/users.php:87 +#: ../../../../ajax/ajax_getContent.php:124 ../../../../inc/tpl/users.php:87 msgid "Usuario de LDAP" msgstr "Utilisateur LDAP" # "Disabled" -#: ../../../..//ajax/ajax_getContent.php:125 -#: ../../../..//inc/tpl/users.php:164 +#: ../../../../ajax/ajax_getContent.php:125 ../../../../inc/tpl/users.php:164 msgid "Deshabilitado" msgstr "Désactivé" # "View User Details" -#: ../../../..//ajax/ajax_getContent.php:136 +#: ../../../../ajax/ajax_getContent.php:136 msgid "Ver Detalles de Usuario" msgstr "Voir détails du compte" # "Delete User" -#: ../../../..//ajax/ajax_getContent.php:138 -#: ../../../..//inc/users.class.php:891 +#: ../../../../ajax/ajax_getContent.php:138 +#: ../../../../inc/users.class.php:891 msgid "Eliminar Usuario" msgstr "Supprimer Utilisateur" # "Change User's Password" -#: ../../../..//ajax/ajax_getContent.php:139 +#: ../../../../ajax/ajax_getContent.php:139 msgid "Cambiar Clave de Usuario" msgstr "Changer mot de passe utilisateur" # "Description" -#: ../../../..//ajax/ajax_getContent.php:158 -#: ../../../..//ajax/ajax_getContent.php:243 -#: ../../../..//ajax/ajax_getContent.php:275 -#: ../../../..//ajax/ajax_sendRequest.php:62 -#: ../../../..//inc/tpl/groups.php:46 ../../../..//inc/tpl/customers.php:46 -#: ../../../..//inc/tpl/categories.php:46 ../../../..//inc/tpl/eventlog.php:68 +#: ../../../../ajax/ajax_getContent.php:158 +#: ../../../../ajax/ajax_getContent.php:243 +#: ../../../../ajax/ajax_getContent.php:275 +#: ../../../../ajax/ajax_sendRequest.php:62 ../../../../inc/tpl/groups.php:46 +#: ../../../../inc/tpl/customers.php:46 ../../../../inc/tpl/categories.php:46 +#: ../../../../inc/tpl/eventlog.php:68 msgid "Descripción" msgstr "Description" # "Delete Group" -#: ../../../..//ajax/ajax_getContent.php:169 -#: ../../../..//inc/groups.class.php:204 +#: ../../../../ajax/ajax_getContent.php:169 +#: ../../../../inc/groups.class.php:204 msgid "Eliminar Grupo" msgstr "Supprimer Groupe" # "Categories Management" -#: ../../../..//ajax/ajax_getContent.php:233 +#: ../../../../ajax/ajax_getContent.php:233 msgid "Gestión de Categorías" msgstr "Gestion des catégories" # "Customers Management" -#: ../../../..//ajax/ajax_getContent.php:234 +#: ../../../../ajax/ajax_getContent.php:234 msgid "Gestión de Clientes" msgstr "Gestion des Clients" # "Delete Category" -#: ../../../..//ajax/ajax_getContent.php:254 -#: ../../../..//inc/category.class.php:131 +#: ../../../../ajax/ajax_getContent.php:254 +#: ../../../../inc/category.class.php:131 msgid "Eliminar Categoría" msgstr "Supprimer Catégorie" # "Delete Customer" -#: ../../../..//ajax/ajax_getContent.php:286 -#: ../../../..//inc/customer.class.php:127 +#: ../../../../ajax/ajax_getContent.php:286 +#: ../../../../inc/customer.class.php:127 msgid "Eliminar Cliente" msgstr "Supprimer Client" # "Configuration" -#: ../../../..//ajax/ajax_getContent.php:319 -#: ../../../..//inc/config.class.php:124 ../../../..//inc/config.class.php:150 -#: ../../../..//inc/tpl/main.php:56 ../../../..//inc/tpl/profiles.php:71 +#: ../../../../ajax/ajax_getContent.php:319 +#: ../../../../inc/config.class.php:124 ../../../../inc/config.class.php:150 +#: ../../../../inc/tpl/main.php:56 ../../../../inc/tpl/profiles.php:71 msgid "Configuración" msgstr "Configuration" # "Master Password" -#: ../../../..//ajax/ajax_getContent.php:320 ../../../..//inc/tpl/login.php:40 -#: ../../../..//inc/tpl/login.php:48 ../../../..//inc/tpl/profiles.php:76 -#: ../../../..//inc/tpl/install.php:109 ../../../..//inc/tpl/install.php:114 -#: ../../../..//inc/tpl/install.php:115 +#: ../../../../ajax/ajax_getContent.php:320 ../../../../inc/tpl/login.php:40 +#: ../../../../inc/tpl/login.php:48 ../../../../inc/tpl/profiles.php:76 +#: ../../../../inc/tpl/install.php:109 ../../../../inc/tpl/install.php:114 +#: ../../../../inc/tpl/install.php:115 msgid "Clave Maestra" msgstr "Mot de passe Maître" # "Backup" -#: ../../../..//ajax/ajax_getContent.php:321 +#: ../../../../ajax/ajax_getContent.php:321 msgid "Copia de Seguridad" msgstr "Sauvegarde de sécurité" # "Import accounts from external sources" -#: ../../../..//ajax/ajax_getContent.php:322 +#: ../../../../ajax/ajax_getContent.php:322 msgid "Importar cuentas desde fuentes externas" msgstr "Importer les comptes à partir d'une source externe" # "Import Accounts" -#: ../../../..//ajax/ajax_getContent.php:322 -#: ../../../..//inc/migrate.class.php:394 ../../../..//inc/import.class.php:80 -#: ../../../..//inc/import.class.php:160 +#: ../../../../ajax/ajax_getContent.php:322 +#: ../../../../inc/migrate.class.php:394 ../../../../inc/import.class.php:80 +#: ../../../../inc/import.class.php:160 msgid "Importar Cuentas" msgstr "Importer Comptes" # "Error on doing backup" -#: ../../../..//ajax/ajax_backup.php:49 +#: ../../../../ajax/ajax_backup.php:49 msgid "Error al realizar el backup" msgstr "Erreur pendant la sauvegarde" # "Please, check the event log for more details" -#: ../../../..//ajax/ajax_backup.php:49 -#: ../../../..//ajax/ajax_checkLdap.php:54 -#: ../../../..//inc/migrate.class.php:115 ../../../..//inc/import.class.php:89 +#: ../../../../ajax/ajax_backup.php:49 ../../../../ajax/ajax_checkLdap.php:54 +#: ../../../../inc/migrate.class.php:115 ../../../../inc/import.class.php:89 msgid "Revise el registro de eventos para más detalles" msgstr "Veuillez consulter le journal des évènements pour plus de détail" # "Make Backup" -#: ../../../..//ajax/ajax_backup.php:52 ../../../..//inc/tpl/backup.php:82 +#: ../../../../ajax/ajax_backup.php:52 ../../../../inc/tpl/backup.php:82 msgid "Realizar Backup" msgstr "Effectuer une sauvegarde" # "Application and database backup successfully done" -#: ../../../..//ajax/ajax_backup.php:53 +#: ../../../../ajax/ajax_backup.php:53 msgid "Copia de la aplicación y base de datos realizada correctamente" msgstr "" "Sauvegarde de l'application et de la base de données effectuée correctement" # "Backup process finished" -#: ../../../..//ajax/ajax_backup.php:58 +#: ../../../../ajax/ajax_backup.php:58 msgid "Proceso de backup finalizado" msgstr "Processus de sauvegarde terminé" # "Password Recovery" -#: ../../../..//ajax/ajax_passReset.php:44 +#: ../../../../ajax/ajax_passReset.php:44 msgid "Recuperación de Clave" msgstr "Recupération de Mot de passe" # "Requested for" -#: ../../../..//ajax/ajax_passReset.php:48 -#: ../../../..//ajax/ajax_passReset.php:55 +#: ../../../../ajax/ajax_passReset.php:48 +#: ../../../../ajax/ajax_passReset.php:55 msgid "Solicitado para" msgstr "Requis pour" # "Request sent" -#: ../../../..//ajax/ajax_passReset.php:52 -#: ../../../..//ajax/ajax_sendRequest.php:71 +#: ../../../../ajax/ajax_passReset.php:52 +#: ../../../../ajax/ajax_sendRequest.php:71 msgid "Solicitud enviada" msgstr "Requête envoyée" # "You will receive an email to complete the request in short." -#: ../../../..//ajax/ajax_passReset.php:52 +#: ../../../../ajax/ajax_passReset.php:52 msgid "En breve recibirá un correo para completar la solicitud." msgstr "Vous recevrez un courriel de confirmation sous peu." # "The request cannot be done. Please contact to the administrator" -#: ../../../..//ajax/ajax_passReset.php:59 +#: ../../../../ajax/ajax_passReset.php:59 msgid "No se ha podido realizar la solicitud. Consulte con el administrador." msgstr "La requête ne peut aboutir. Veuillez contacter l'administrateur" # "Edit User Password" -#: ../../../..//ajax/ajax_passReset.php:73 -#: ../../../..//inc/users.class.php:865 +#: ../../../../ajax/ajax_passReset.php:73 ../../../../inc/users.class.php:865 msgid "Modificar Clave Usuario" msgstr "Modifier Mot de passe Utilisateur" # "The password is incorrect or do not match" -#: ../../../..//ajax/ajax_passReset.php:85 +#: ../../../../ajax/ajax_passReset.php:85 msgid "La clave es incorrecta o no coincide" msgstr "Le mot de passe est incorrect ou ne correspond pas" # "Files management disabled" -#: ../../../..//ajax/ajax_files.php:44 ../../../..//ajax/ajax_getFiles.php:36 +#: ../../../../ajax/ajax_files.php:44 ../../../../ajax/ajax_getFiles.php:36 msgid "Gestión de archivos deshabilitada" msgstr "Gestion des fichiers désactivé" # "There are no allowed extensions" -#: ../../../..//ajax/ajax_files.php:63 +#: ../../../../ajax/ajax_files.php:63 msgid "No hay extensiones permitidas" msgstr "Il n'y a pas d'extension permise" # "File type not allowed" -#: ../../../..//ajax/ajax_files.php:71 ../../../..//inc/import.class.php:111 +#: ../../../../ajax/ajax_files.php:71 ../../../../inc/import.class.php:111 msgid "Tipo de archivo no soportado" msgstr "Types de fichiers non supportés" # "Invalid file" -#: ../../../..//ajax/ajax_files.php:74 +#: ../../../../ajax/ajax_files.php:74 msgid "Archivo inválido" msgstr "Fichier invalide" # "Internal error on reading file" -#: ../../../..//ajax/ajax_files.php:87 ../../../..//ajax/ajax_files.php:99 -#: ../../../..//ajax/ajax_files.php:103 ../../../..//inc/import.class.php:122 -#: ../../../..//inc/import.class.php:130 +#: ../../../../ajax/ajax_files.php:87 ../../../../ajax/ajax_files.php:99 +#: ../../../../ajax/ajax_files.php:103 ../../../../inc/import.class.php:122 +#: ../../../../inc/import.class.php:130 msgid "Error interno al leer el archivo" msgstr "Erreur interne à la lecture du fichier" # "The file is bigger than" -#: ../../../..//ajax/ajax_files.php:91 +#: ../../../../ajax/ajax_files.php:91 msgid "El archivo es mayor de " msgstr "Fichier plus gros que" # "Upload File" -#: ../../../..//ajax/ajax_files.php:98 ../../../..//inc/files.class.php:51 +#: ../../../../ajax/ajax_files.php:98 ../../../../inc/files.class.php:51 msgid "Subir Archivo" msgstr "Charger Fichier" # "File saved" -#: ../../../..//ajax/ajax_files.php:107 +#: ../../../../ajax/ajax_files.php:107 msgid "Archivo guardado" msgstr "Fichier sauvegardé" # "Error on saving file" -#: ../../../..//ajax/ajax_files.php:109 +#: ../../../../ajax/ajax_files.php:109 msgid "No se pudo guardar el archivo" msgstr "Erreur pendant la sauvegarde de fichier" # "Invalid file ID" -#: ../../../..//ajax/ajax_files.php:116 ../../../..//ajax/ajax_files.php:174 +#: ../../../../ajax/ajax_files.php:116 ../../../../ajax/ajax_files.php:174 msgid "No es un ID de archivo válido" msgstr "ID de fichier invalide" # "The file does not exist" -#: ../../../..//ajax/ajax_files.php:124 ../../../..//inc/files.class.php:140 +#: ../../../../ajax/ajax_files.php:124 ../../../../inc/files.class.php:140 msgid "El archivo no existe" msgstr "Fichier inexistant" # "Download File" -#: ../../../..//ajax/ajax_files.php:133 ../../../..//ajax/ajax_getFiles.php:67 +#: ../../../../ajax/ajax_files.php:133 ../../../../ajax/ajax_getFiles.php:67 msgid "Descargar Archivo" msgstr "Télécharger Fichier" # "ID" -#: ../../../..//ajax/ajax_files.php:134 ../../../..//ajax/ajax_viewpass.php:82 -#: ../../../..//inc/files.class.php:107 ../../../..//inc/tpl/eventlog.php:53 +#: ../../../../ajax/ajax_files.php:134 ../../../../ajax/ajax_viewpass.php:82 +#: ../../../../inc/files.class.php:107 ../../../../inc/tpl/eventlog.php:53 msgid "ID" msgstr "ID" # "File" -#: ../../../..//ajax/ajax_files.php:135 ../../../..//inc/files.class.php:53 -#: ../../../..//inc/files.class.php:108 ../../../..//inc/tpl/migrate.php:110 +#: ../../../../ajax/ajax_files.php:135 ../../../../inc/files.class.php:53 +#: ../../../../inc/files.class.php:108 ../../../../inc/tpl/migrate.php:110 msgid "Archivo" msgstr "Fichier" # "Type" -#: ../../../..//ajax/ajax_files.php:136 ../../../..//inc/files.class.php:54 -#: ../../../..//inc/files.class.php:109 +#: ../../../../ajax/ajax_files.php:136 ../../../../inc/files.class.php:54 +#: ../../../../inc/files.class.php:109 msgid "Tipo" msgstr "Type" # "Size" -#: ../../../..//ajax/ajax_files.php:137 ../../../..//inc/files.class.php:55 -#: ../../../..//inc/files.class.php:110 +#: ../../../../ajax/ajax_files.php:137 ../../../../inc/files.class.php:55 +#: ../../../../inc/files.class.php:110 msgid "Tamaño" msgstr "Taille" # "File deleted" -#: ../../../..//ajax/ajax_files.php:178 +#: ../../../../ajax/ajax_files.php:178 msgid "Archivo eliminado" msgstr "Fichier supprimé" # "Error on file deletion" -#: ../../../..//ajax/ajax_files.php:180 +#: ../../../../ajax/ajax_files.php:180 msgid "Error al eliminar el archivo" msgstr "Erreur pendant la supression du fichier" # "Confirm account import" -#: ../../../..//ajax/ajax_migrate.php:1 +#: ../../../../ajax/ajax_migrate.php:1 msgid "Confirmar la importación de cuentas" msgstr "Confirmer l'importation des comptes" # "A connection username is needed" -#: ../../../..//ajax/ajax_migrate.php:1 +#: ../../../../ajax/ajax_migrate.php:1 msgid "Es necesario un usuario de conexión" msgstr "Nom d'utilisateur de connexion requis" # "The connection password is needed" -#: ../../../..//ajax/ajax_migrate.php:1 +#: ../../../../ajax/ajax_migrate.php:1 msgid "Es necesaria una clave de conexión" msgstr "Mot de passe de connexion requis" # "A database name is needed" -#: ../../../..//ajax/ajax_migrate.php:1 +#: ../../../../ajax/ajax_migrate.php:1 msgid "Es necesario el nombre de la BBDD" msgstr "Nom de base de données requis" # "A host name is needed" -#: ../../../..//ajax/ajax_migrate.php:1 +#: ../../../../ajax/ajax_migrate.php:1 msgid "Es necesario un nombre de host" msgstr "Nom d'hôte requis" # "You don't have permission to access to this account" -#: ../../../..//ajax/ajax_viewpass.php:52 -#: ../../../..//ajax/ajax_viewpass.php:58 ../../../..//inc/html.class.php:417 +#: ../../../../ajax/ajax_viewpass.php:52 ../../../../ajax/ajax_viewpass.php:58 +#: ../../../../inc/html.class.php:417 msgid "No tiene permisos para acceder a esta cuenta" msgstr "Vous n'avez pas les permissions pour accéder à ce compte" # "The master password does not match" -#: ../../../..//ajax/ajax_viewpass.php:61 +#: ../../../../ajax/ajax_viewpass.php:61 msgid "La clave maestra no coincide" msgstr "Le mot de passe maître ne correspond pas" # "View password" -#: ../../../..//ajax/ajax_viewpass.php:81 -#: ../../../..//ajax/ajax_search.php:291 ../../../..//inc/tpl/profiles.php:50 -#: ../../../..//inc/tpl/accounts.php:522 +#: ../../../../ajax/ajax_viewpass.php:81 ../../../../ajax/ajax_search.php:291 +#: ../../../../inc/tpl/profiles.php:50 ../../../../inc/tpl/accounts.php:522 msgid "Ver Clave" msgstr "Voir Mot de passe" # "Account" -#: ../../../..//ajax/ajax_viewpass.php:83 -#: ../../../..//ajax/ajax_sendRequest.php:60 -#: ../../../..//inc/files.class.php:52 ../../../..//inc/account.class.php:366 -#: ../../../..//inc/account.class.php:574 -#: ../../../..//inc/account.class.php:596 -#: ../../../..//inc/account.class.php:867 +#: ../../../../ajax/ajax_viewpass.php:83 +#: ../../../../ajax/ajax_sendRequest.php:60 ../../../../inc/files.class.php:52 +#: ../../../../inc/account.class.php:366 ../../../../inc/account.class.php:574 +#: ../../../../inc/account.class.php:596 ../../../../inc/account.class.php:867 msgid "Cuenta" msgstr "Compte" # "User" -#: ../../../..//ajax/ajax_viewpass.php:95 -#: ../../../..//ajax/ajax_search.php:131 ../../../..//ajax/ajax_search.php:248 -#: ../../../..//ajax/ajax_doLogin.php:77 ../../../..//ajax/ajax_doLogin.php:84 -#: ../../../..//ajax/ajax_doLogin.php:91 -#: ../../../..//ajax/ajax_doLogin.php:101 -#: ../../../..//ajax/ajax_doLogin.php:111 -#: ../../../..//ajax/ajax_doLogin.php:152 ../../../..//res/test.php:64 -#: ../../../..//inc/init.php:546 ../../../..//inc/users.class.php:788 -#: ../../../..//inc/users.class.php:829 ../../../..//inc/tpl/passreset.php:50 -#: ../../../..//inc/tpl/request.php:49 ../../../..//inc/tpl/login.php:35 -#: ../../../..//inc/tpl/login.php:44 ../../../..//inc/tpl/install.php:89 -#: ../../../..//inc/tpl/install.php:90 ../../../..//inc/tpl/editpass.php:53 -#: ../../../..//inc/tpl/accounts.php:233 ../../../..//inc/tpl/config.php:423 -#: ../../../..//inc/tpl/eventlog.php:62 +#: ../../../../ajax/ajax_viewpass.php:95 ../../../../ajax/ajax_search.php:131 +#: ../../../../ajax/ajax_search.php:248 ../../../../ajax/ajax_doLogin.php:77 +#: ../../../../ajax/ajax_doLogin.php:84 ../../../../ajax/ajax_doLogin.php:91 +#: ../../../../ajax/ajax_doLogin.php:101 ../../../../ajax/ajax_doLogin.php:111 +#: ../../../../ajax/ajax_doLogin.php:152 ../../../../res/test.php:64 +#: ../../../../inc/init.php:546 ../../../../inc/users.class.php:788 +#: ../../../../inc/users.class.php:829 ../../../../inc/tpl/passreset.php:51 +#: ../../../../inc/tpl/request.php:49 ../../../../inc/tpl/login.php:35 +#: ../../../../inc/tpl/login.php:44 ../../../../inc/tpl/install.php:89 +#: ../../../../inc/tpl/install.php:90 ../../../../inc/tpl/editpass.php:53 +#: ../../../../inc/tpl/accounts.php:233 ../../../../inc/tpl/config.php:423 +#: ../../../../inc/tpl/eventlog.php:62 msgid "Usuario" msgstr "Utilisateur" # "Password" -#: ../../../..//ajax/ajax_viewpass.php:99 -#: ../../../..//ajax/ajax_usrpass.php:53 ../../../..//ajax/ajax_usrpass.php:56 -#: ../../../..//inc/tpl/passreset.php:61 ../../../..//inc/tpl/login.php:37 -#: ../../../..//inc/tpl/login.php:45 ../../../..//inc/tpl/install.php:99 -#: ../../../..//inc/tpl/install.php:100 ../../../..//inc/tpl/editpass.php:57 -#: ../../../..//inc/tpl/accounts.php:250 ../../../..//inc/tpl/config.php:431 -#: ../../../..//inc/tpl/users.php:129 +#: ../../../../ajax/ajax_viewpass.php:99 ../../../../ajax/ajax_usrpass.php:53 +#: ../../../../ajax/ajax_usrpass.php:56 ../../../../inc/tpl/passreset.php:62 +#: ../../../../inc/tpl/login.php:37 ../../../../inc/tpl/login.php:45 +#: ../../../../inc/tpl/install.php:99 ../../../../inc/tpl/install.php:100 +#: ../../../../inc/tpl/editpass.php:57 ../../../../inc/tpl/accounts.php:250 +#: ../../../../inc/tpl/config.php:431 ../../../../inc/tpl/users.php:129 msgid "Clave" msgstr "Mot de passe" # "No records found" -#: ../../../..//ajax/ajax_search.php:108 ../../../..//inc/tpl/eventlog.php:42 +#: ../../../../ajax/ajax_search.php:108 ../../../../inc/tpl/eventlog.php:42 msgid "No se encontraron registros" msgstr "Aucun enregistrement trouvé" # "Sort by Customer" -#: ../../../..//ajax/ajax_search.php:122 +#: ../../../../ajax/ajax_search.php:122 msgid "Ordenar por Cliente" msgstr "Trié par Client" # "Customer" -#: ../../../..//ajax/ajax_search.php:122 ../../../..//ajax/ajax_search.php:231 -#: ../../../..//ajax/ajax_sendRequest.php:61 -#: ../../../..//inc/account.class.php:365 -#: ../../../..//inc/account.class.php:573 -#: ../../../..//inc/account.class.php:595 -#: ../../../..//inc/account.class.php:866 -#: ../../../..//inc/customer.class.php:57 -#: ../../../..//inc/customer.class.php:103 -#: ../../../..//inc/customer.class.php:128 ../../../..//inc/tpl/request.php:41 -#: ../../../..//inc/tpl/editpass.php:44 ../../../..//inc/tpl/accounts.php:188 +#: ../../../../ajax/ajax_search.php:122 ../../../../ajax/ajax_search.php:231 +#: ../../../../ajax/ajax_sendRequest.php:61 +#: ../../../../inc/account.class.php:365 ../../../../inc/account.class.php:573 +#: ../../../../inc/account.class.php:595 ../../../../inc/account.class.php:866 +#: ../../../../inc/customer.class.php:57 +#: ../../../../inc/customer.class.php:103 +#: ../../../../inc/customer.class.php:128 ../../../../inc/tpl/request.php:41 +#: ../../../../inc/tpl/editpass.php:44 ../../../../inc/tpl/accounts.php:188 msgid "Cliente" msgstr "Client" # "Sort by Name" -#: ../../../..//ajax/ajax_search.php:125 +#: ../../../../ajax/ajax_search.php:125 msgid "Ordenar por Nombre" msgstr "Trié par Nom" # "Sort by Category" -#: ../../../..//ajax/ajax_search.php:128 +#: ../../../../ajax/ajax_search.php:128 msgid "Ordenar por Categoría" msgstr "Trié par Catégorie" # "Category" -#: ../../../..//ajax/ajax_search.php:128 ../../../..//ajax/ajax_search.php:241 -#: ../../../..//inc/category.class.php:78 -#: ../../../..//inc/category.class.php:132 -#: ../../../..//inc/category.class.php:178 -#: ../../../..//inc/tpl/accounts.php:205 +#: ../../../../ajax/ajax_search.php:128 ../../../../ajax/ajax_search.php:241 +#: ../../../../inc/category.class.php:78 +#: ../../../../inc/category.class.php:132 +#: ../../../../inc/category.class.php:178 ../../../../inc/tpl/accounts.php:205 msgid "Categoría" msgstr "Catégorie" # "Sort by Username" -#: ../../../..//ajax/ajax_search.php:131 +#: ../../../../ajax/ajax_search.php:131 msgid "Ordenar por Usuario" msgstr "Trié par Nom d'utilisateur" # "Sort by URL / IP" -#: ../../../..//ajax/ajax_search.php:134 +#: ../../../../ajax/ajax_search.php:134 msgid "Ordenar por URL / IP" msgstr "Trié par URL / IP" # "URL / IP" -#: ../../../..//ajax/ajax_search.php:134 ../../../..//ajax/ajax_search.php:253 -#: ../../../..//inc/tpl/request.php:45 ../../../..//inc/tpl/editpass.php:48 -#: ../../../..//inc/tpl/accounts.php:217 +#: ../../../../ajax/ajax_search.php:134 ../../../../ajax/ajax_search.php:253 +#: ../../../../inc/tpl/request.php:45 ../../../../inc/tpl/editpass.php:48 +#: ../../../../inc/tpl/accounts.php:217 msgid "URL / IP" msgstr "URL / IP" # "Search in Wiki" -#: ../../../..//ajax/ajax_search.php:173 +#: ../../../../ajax/ajax_search.php:173 msgid "Buscar en Wiki" msgstr "Chercher dans Wiki" # "Account Details" -#: ../../../..//ajax/ajax_search.php:181 ../../../..//ajax/ajax_search.php:287 -#: ../../../..//inc/tpl/accounts.php:80 ../../../..//inc/tpl/accounts.php:91 +#: ../../../../ajax/ajax_search.php:181 ../../../../ajax/ajax_search.php:287 +#: ../../../../inc/tpl/accounts.php:80 ../../../../inc/tpl/accounts.php:91 msgid "Detalles de Cuenta" msgstr "Détails du Compte" # "Open link to" -#: ../../../..//ajax/ajax_search.php:199 ../../../..//ajax/ajax_search.php:201 +#: ../../../../ajax/ajax_search.php:199 ../../../../ajax/ajax_search.php:201 msgid "Abrir enlace a" msgstr "Ouvrir le lien vers" # "Notes" -#: ../../../..//ajax/ajax_search.php:260 ../../../..//inc/tpl/accounts.php:269 -#: ../../../..//inc/tpl/users.php:147 +#: ../../../../ajax/ajax_search.php:260 ../../../../inc/tpl/accounts.php:269 +#: ../../../../inc/tpl/users.php:147 msgid "Notas" msgstr "Notes" # "Attachments" -#: ../../../..//ajax/ajax_search.php:264 +#: ../../../../ajax/ajax_search.php:264 msgid "Archivos adjuntos" msgstr "Fichiers joints" # "Link to Wiki" -#: ../../../..//ajax/ajax_search.php:275 +#: ../../../../ajax/ajax_search.php:275 msgid "Enlace a Wiki" msgstr "Lien vers Wiki" # "Copy Password to Clipboard" -#: ../../../..//ajax/ajax_search.php:292 ../../../..//ajax/ajax_search.php:344 -#: ../../../..//inc/tpl/accounts.php:527 ../../../..//inc/tpl/accounts.php:616 +#: ../../../../ajax/ajax_search.php:292 ../../../../ajax/ajax_search.php:344 +#: ../../../../inc/tpl/accounts.php:527 ../../../../inc/tpl/accounts.php:616 msgid "Copiar Clave en Portapapeles" msgstr "Copier le mot de passe dans le presse papier" # "More Actions" -#: ../../../..//ajax/ajax_search.php:296 ../../../..//inc/html.class.php:536 +#: ../../../../ajax/ajax_search.php:296 ../../../../inc/html.class.php:536 msgid "Más Acciones" msgstr "Plus d'Actions" # "Edit Account" -#: ../../../..//ajax/ajax_search.php:300 ../../../..//inc/tpl/accounts.php:550 +#: ../../../../ajax/ajax_search.php:300 ../../../../inc/tpl/accounts.php:550 msgid "Modificar Cuenta" msgstr "Modifier Compte" # "Copy Account" -#: ../../../..//ajax/ajax_search.php:304 ../../../..//inc/tpl/accounts.php:53 +#: ../../../../ajax/ajax_search.php:304 ../../../../inc/tpl/accounts.php:53 msgid "Copiar Cuenta" msgstr "Copier Compte" # "Delete Account" -#: ../../../..//ajax/ajax_search.php:308 -#: ../../../..//inc/account.class.php:594 ../../../..//inc/tpl/accounts.php:73 -#: ../../../..//inc/tpl/accounts.php:562 +#: ../../../../ajax/ajax_search.php:308 ../../../../inc/account.class.php:594 +#: ../../../../inc/tpl/accounts.php:73 ../../../../inc/tpl/accounts.php:562 msgid "Eliminar Cuenta" msgstr "Supprimer Compte" # "Request Modification" -#: ../../../..//ajax/ajax_search.php:315 ../../../..//inc/tpl/accounts.php:555 +#: ../../../../ajax/ajax_search.php:315 ../../../../inc/tpl/accounts.php:555 msgid "Solicitar Modificación" msgstr "Demande Modification" # "Password Copied to Clipboard" -#: ../../../..//ajax/ajax_search.php:348 ../../../..//inc/tpl/accounts.php:620 +#: ../../../../ajax/ajax_search.php:348 ../../../../inc/tpl/accounts.php:620 msgid "Clave Copiada al Portapapeles" msgstr "Mot de passe copié dans le presse papier" # "A description is needed" -#: ../../../..//ajax/ajax_sendRequest.php:45 +#: ../../../../ajax/ajax_sendRequest.php:45 msgid "Es necesaria una descripción" msgstr "Description requise" # "Request for Account Modification" -#: ../../../..//ajax/ajax_sendRequest.php:58 +#: ../../../../ajax/ajax_sendRequest.php:58 msgid "Solicitud de Modificación de Cuenta" msgstr "Demande de modification de Compte" # "Requester" -#: ../../../..//ajax/ajax_sendRequest.php:59 +#: ../../../../ajax/ajax_sendRequest.php:59 msgid "Solicitante" msgstr "Demandeur" # "Error on sending request" -#: ../../../..//ajax/ajax_sendRequest.php:74 +#: ../../../../ajax/ajax_sendRequest.php:74 msgid "Error al enviar la solicitud" msgstr "Erreur à l'envoie de la demande" # "You don't have permission to do this operation" -#: ../../../..//ajax/ajax_usrpass.php:41 +#: ../../../../ajax/ajax_usrpass.php:41 msgid "No tiene permisos para realizar esta operación" msgstr "Vous n'avez pas les permissions pour effectuer cette opération" # "Password Change" -#: ../../../..//ajax/ajax_usrpass.php:48 ../../../..//inc/auth.class.php:185 -#: ../../../..//inc/tpl/users.php:166 +#: ../../../../ajax/ajax_usrpass.php:48 ../../../../inc/auth.class.php:185 +#: ../../../../inc/tpl/users.php:166 msgid "Cambio de Clave" msgstr "Changement de Mot de passe" # "Generate random password" -#: ../../../..//ajax/ajax_usrpass.php:57 ../../../..//inc/tpl/editpass.php:63 -#: ../../../..//inc/tpl/accounts.php:257 ../../../..//inc/tpl/users.php:133 +#: ../../../../ajax/ajax_usrpass.php:57 ../../../../inc/tpl/editpass.php:63 +#: ../../../../inc/tpl/accounts.php:257 ../../../../inc/tpl/users.php:133 msgid "Generar clave aleatoria" msgstr "Générer un mot de passe aléatoire" # "Password (repeat)" -#: ../../../..//ajax/ajax_usrpass.php:62 ../../../..//ajax/ajax_usrpass.php:64 -#: ../../../..//inc/tpl/editpass.php:68 ../../../..//inc/tpl/accounts.php:261 -#: ../../../..//inc/tpl/users.php:138 +#: ../../../../ajax/ajax_usrpass.php:62 ../../../../ajax/ajax_usrpass.php:64 +#: ../../../../inc/tpl/editpass.php:68 ../../../../inc/tpl/accounts.php:261 +#: ../../../../inc/tpl/users.php:138 msgid "Clave (repetir)" msgstr "Mot de passe (répéter)" # "Password strength level" -#: ../../../..//ajax/ajax_usrpass.php:65 ../../../..//inc/tpl/passreset.php:64 -#: ../../../..//inc/tpl/passreset.php:72 -#: ../../../..//inc/tpl/masterpass.php:63 ../../../..//inc/tpl/install.php:104 -#: ../../../..//inc/tpl/install.php:119 ../../../..//inc/tpl/editpass.php:70 -#: ../../../..//inc/tpl/accounts.php:264 ../../../..//inc/tpl/users.php:141 +#: ../../../../ajax/ajax_usrpass.php:65 ../../../../inc/tpl/passreset.php:65 +#: ../../../../inc/tpl/passreset.php:73 ../../../../inc/tpl/masterpass.php:63 +#: ../../../../inc/tpl/install.php:104 ../../../../inc/tpl/install.php:119 +#: ../../../../inc/tpl/editpass.php:70 ../../../../inc/tpl/accounts.php:264 +#: ../../../../inc/tpl/users.php:141 msgid "Nivel de fortaleza de la clave" msgstr "Niveau de sécurité du mot de passe" # "Save" -#: ../../../..//ajax/ajax_usrpass.php:81 -#: ../../../..//inc/tpl/masterpass.php:113 ../../../..//inc/tpl/groups.php:64 -#: ../../../..//inc/tpl/customers.php:64 ../../../..//inc/tpl/profiles.php:134 -#: ../../../..//inc/tpl/editpass.php:88 ../../../..//inc/tpl/accounts.php:536 -#: ../../../..//inc/tpl/categories.php:64 ../../../..//inc/tpl/config.php:488 -#: ../../../..//inc/tpl/users.php:210 +#: ../../../../ajax/ajax_usrpass.php:81 ../../../../inc/tpl/masterpass.php:113 +#: ../../../../inc/tpl/groups.php:64 ../../../../inc/tpl/customers.php:64 +#: ../../../../inc/tpl/profiles.php:134 ../../../../inc/tpl/editpass.php:88 +#: ../../../../inc/tpl/accounts.php:536 ../../../../inc/tpl/categories.php:64 +#: ../../../../inc/tpl/config.php:488 ../../../../inc/tpl/users.php:210 msgid "Guardar" msgstr "Sauver" # "LDAP parameters are not set" -#: ../../../..//ajax/ajax_checkLdap.php:48 ../../../..//inc/ldap.class.php:239 +#: ../../../../ajax/ajax_checkLdap.php:48 ../../../../inc/ldap.class.php:239 msgid "Los parámetros de LDAP no están configurados" msgstr "Les paramètres LDAP ne sont pas définis" # "Error on LDAP connection" -#: ../../../..//ajax/ajax_checkLdap.php:54 +#: ../../../../ajax/ajax_checkLdap.php:54 msgid "Error de conexión a LDAP" msgstr "Erreur de connexion LDAP" # "LDAP connection OK" -#: ../../../..//ajax/ajax_checkLdap.php:56 +#: ../../../../ajax/ajax_checkLdap.php:56 msgid "Conexión a LDAP correcta" msgstr "Connexion LDAP OK" # "Objects found" -#: ../../../..//ajax/ajax_checkLdap.php:56 +#: ../../../../ajax/ajax_checkLdap.php:56 msgid "Objetos encontrados" msgstr "Objet trouvé" # "Delete File" -#: ../../../..//ajax/ajax_getFiles.php:63 ../../../..//inc/files.class.php:106 +#: ../../../../ajax/ajax_getFiles.php:63 ../../../../inc/files.class.php:106 msgid "Eliminar Archivo" msgstr "Supprimer Fichier" # "View File" -#: ../../../..//ajax/ajax_getFiles.php:70 +#: ../../../../ajax/ajax_getFiles.php:70 msgid "Ver Archivo" msgstr "Voir Fichier" # "User/Pass not entered" -#: ../../../..//ajax/ajax_doLogin.php:41 +#: ../../../../ajax/ajax_doLogin.php:41 msgid "Usuario/Clave no introducidos" msgstr "Utilisateur/Mot de passe non saisi" # "Session start (LDAP)" -#: ../../../..//ajax/ajax_doLogin.php:54 ../../../..//ajax/ajax_doLogin.php:75 -#: ../../../..//ajax/ajax_doLogin.php:82 ../../../..//ajax/ajax_doLogin.php:89 +#: ../../../../ajax/ajax_doLogin.php:54 ../../../../ajax/ajax_doLogin.php:75 +#: ../../../../ajax/ajax_doLogin.php:82 ../../../../ajax/ajax_doLogin.php:89 msgid "Inicio sesión (LDAP)" msgstr "Début de session (LDAP)" # "Error on saving LDAP user data" -#: ../../../..//ajax/ajax_doLogin.php:60 +#: ../../../../ajax/ajax_doLogin.php:60 msgid "Error al guardar los datos de LDAP" msgstr "Erreur pendant la sauvegarde des données utilisateur LDAP" # "Internal error" -#: ../../../..//ajax/ajax_doLogin.php:63 ../../../..//ajax/ajax_doLogin.php:71 -#: ../../../..//ajax/ajax_doLogin.php:122 -#: ../../../..//inc/import.class.php:237 ../../../..//inc/import.class.php:244 -#: ../../../..//inc/import.class.php:262 +#: ../../../../ajax/ajax_doLogin.php:63 ../../../../ajax/ajax_doLogin.php:71 +#: ../../../../ajax/ajax_doLogin.php:122 ../../../../inc/import.class.php:237 +#: ../../../../inc/import.class.php:244 ../../../../inc/import.class.php:262 msgid "Error interno" msgstr "Erreur Interne" # "Error on updating user password in BD" -#: ../../../..//ajax/ajax_doLogin.php:68 +#: ../../../../ajax/ajax_doLogin.php:68 msgid "Error al actualizar la clave del usuario en la BBDD" msgstr "" "Erreur pendant l'actualisation du mot de passe utilisateur dans la base de " "données" # "Incorrect login" -#: ../../../..//ajax/ajax_doLogin.php:76 -#: ../../../..//ajax/ajax_doLogin.php:100 +#: ../../../../ajax/ajax_doLogin.php:76 ../../../../ajax/ajax_doLogin.php:100 msgid "Login incorrecto" msgstr "Login incorrecte" # "Wrong user/pass" -#: ../../../..//ajax/ajax_doLogin.php:80 ../../../..//ajax/ajax_doLogin.php:94 -#: ../../../..//ajax/ajax_doLogin.php:104 +#: ../../../../ajax/ajax_doLogin.php:80 ../../../../ajax/ajax_doLogin.php:94 +#: ../../../../ajax/ajax_doLogin.php:104 msgid "Usuario/Clave incorrectos" msgstr "Utilisateur/Mot de passe incorrecte" # "Account expired" -#: ../../../..//ajax/ajax_doLogin.php:83 ../../../..//ajax/ajax_doLogin.php:87 +#: ../../../../ajax/ajax_doLogin.php:83 ../../../../ajax/ajax_doLogin.php:87 msgid "Cuenta expirada" msgstr "Compte expiré" # "The user have no associated groups" -#: ../../../..//ajax/ajax_doLogin.php:90 +#: ../../../../ajax/ajax_doLogin.php:90 msgid "El usuario no tiene grupos asociados" msgstr "L'utilisateur n'a pas de groupe associé" # "Session start (MySQL)" -#: ../../../..//ajax/ajax_doLogin.php:96 +#: ../../../../ajax/ajax_doLogin.php:96 msgid "Inicio sesión (MySQL)" msgstr "Début de session (MySQL)" # "User disabled" -#: ../../../..//ajax/ajax_doLogin.php:110 -#: ../../../..//ajax/ajax_doLogin.php:114 +#: ../../../../ajax/ajax_doLogin.php:110 ../../../../ajax/ajax_doLogin.php:114 msgid "Usuario deshabilitado" msgstr "Utilisateur désactivé" # "Error on retrieving user data from DB" -#: ../../../..//ajax/ajax_doLogin.php:119 +#: ../../../../ajax/ajax_doLogin.php:119 msgid "Error al obtener los datos del usuario de la BBDD" msgstr "" "Erreur pendant la récupération des données utilisateur à partir de la BDD" # "The master password not saved or is wrong" -#: ../../../..//ajax/ajax_doLogin.php:127 +#: ../../../../ajax/ajax_doLogin.php:127 msgid "La clave maestra no ha sido guardada o es incorrecta" msgstr "Mot de passe maître non sauvegardé ou incorrecte" # "Invalid Master Password" -#: ../../../..//ajax/ajax_doLogin.php:130 -#: ../../../..//ajax/ajax_doLogin.php:133 +#: ../../../../ajax/ajax_doLogin.php:130 ../../../../ajax/ajax_doLogin.php:133 msgid "Clave maestra incorrecta" msgstr "Mot de passe maître invalide" # "Error on query" -#: ../../../..//js/js.php:44 +#: ../../../../js/js.php:45 msgid "Error en la consulta" msgstr "Erreur pendant la requête" # "There was an error" -#: ../../../..//js/js.php:45 +#: ../../../../js/js.php:46 msgid "Ha ocurrido un error" msgstr "Il y a une erreur" # "Session finished" -#: ../../../..//js/js.php:46 ../../../..//inc/tpl/login.php:71 +#: ../../../../js/js.php:47 ../../../../inc/tpl/login.php:71 msgid "Sesión finalizada" msgstr "Session terminée" # "Delete account?" -#: ../../../..//js/js.php:47 +#: ../../../../js/js.php:48 msgid "Borrar la cuenta?" msgstr "Supprimer compte?" # "Delete user?" -#: ../../../..//js/js.php:48 +#: ../../../../js/js.php:49 msgid "Borrar el usuario?" msgstr "Supprimer l'utilisateur?" # "You should save configuration in order to take effect" -#: ../../../..//js/js.php:49 +#: ../../../../js/js.php:50 msgid "Guarde la configuración para que sea efectiva" msgstr "" "Vous devez sauvegarder la configuration pour qu'elle soit prise en compte" # "Generated Password" -#: ../../../..//js/js.php:50 +#: ../../../../js/js.php:51 msgid "Clave Generada" msgstr "Mot de passe généré" # "High level" -#: ../../../..//js/js.php:51 +#: ../../../../js/js.php:52 msgid "Nivel alto" msgstr "Niveau haut" # "Average level" -#: ../../../..//js/js.php:52 +#: ../../../../js/js.php:53 msgid "Nivel medio" msgstr "Niveau moyen" # "Low level" -#: ../../../..//js/js.php:53 +#: ../../../../js/js.php:54 msgid "Nivel bajo" msgstr "Niveau bas" # "Very high level" -#: ../../../..//js/js.php:54 +#: ../../../../js/js.php:55 msgid "Nivel muy alto" msgstr "Niveau très haut" # "You should use at least 8 characters" -#: ../../../..//js/js.php:55 +#: ../../../../js/js.php:56 msgid "Utilizar al menos 8 caracteres" msgstr "Vous devriez utiliser au moins 8 caractères" # "Delete item?" -#: ../../../..//js/js.php:56 +#: ../../../../js/js.php:57 msgid "Borrar elemento?" msgstr "Supprimer élément?" # "Page not found" -#: ../../../..//js/js.php:57 +#: ../../../../js/js.php:58 msgid "Página no encontrada" msgstr "Page introuvable" # "File not supported for preview" -#: ../../../..//js/js.php:58 +#: ../../../../js/js.php:59 msgid "Archivo no soportado para visualizar" msgstr "Fichier non supporté pour la pré-visualisation" # "Delete file?" -#: ../../../..//js/js.php:59 +#: ../../../../js/js.php:60 msgid "Eliminar archivo?" msgstr "Supprimer fichier?" # "Your browser does not support HTML5 file uploads" -#: ../../../..//js/js.php:60 +#: ../../../../js/js.php:61 msgid "Su navegador no soporta subir archivos con HTML5" msgstr "Votre navigateur ne supporte pas le transfert de fichier HTML5" # "Too many files" -#: ../../../..//js/js.php:61 +#: ../../../../js/js.php:62 msgid "Demasiados archivos" msgstr "Trop de fichiers" # "Unable to save the file.
Max file size:" -#: ../../../..//js/js.php:62 +#: ../../../../js/js.php:63 msgid "No es posible guardar el archivo.
Tamaño máximo:" msgstr "Impossible de sauvegarder le fichier.
Taille maximale:" # "Extension not allowed" -#: ../../../..//js/js.php:63 +#: ../../../../js/js.php:64 msgid "Extensión no permitida" msgstr "Extension non autorisée" # "Clear event log?" -#: ../../../..//js/js.php:64 +#: ../../../../js/js.php:65 msgid "Vaciar el registro de eventos?" msgstr "Nettoyer le journal d'évènements" # "Unable to access to this file directly" -#: ../../../..//inc/groups.class.php:27 ../../../..//inc/util.class.php:26 -#: ../../../..//inc/util.class.php:288 ../../../..//inc/db.class.php:27 -#: ../../../..//inc/html.class.php:27 ../../../..//inc/files.class.php:27 -#: ../../../..//inc/backup.class.php:26 ../../../..//inc/ldap.class.php:27 -#: ../../../..//inc/config.class.php:26 ../../../..//inc/profiles.class.php:27 -#: ../../../..//inc/common.class.php:26 ../../../..//inc/account.class.php:26 -#: ../../../..//inc/init.php:26 ../../../..//inc/acl.class.php:27 -#: ../../../..//inc/upgrade.class.php:27 ../../../..//inc/migrate.class.php:26 -#: ../../../..//inc/keepassimport.class.php:27 -#: ../../../..//inc/installer.class.php:27 -#: ../../../..//inc/keepassximport.class.php:27 -#: ../../../..//inc/users.class.php:27 ../../../..//inc/log.class.php:26 -#: ../../../..//inc/crypt.class.php:26 ../../../..//inc/customer.class.php:27 -#: ../../../..//inc/category.class.php:27 ../../../..//inc/import.class.php:27 -#: ../../../..//inc/auth.class.php:27 ../../../..//inc/tpl/request.php:25 -#: ../../../..//inc/tpl/backup.php:26 ../../../..//inc/tpl/masterpass.php:26 -#: ../../../..//inc/tpl/groups.php:26 ../../../..//inc/tpl/migrate.php:26 -#: ../../../..//inc/tpl/login.php:26 ../../../..//inc/tpl/customers.php:26 -#: ../../../..//inc/tpl/main.php:26 ../../../..//inc/tpl/profiles.php:26 -#: ../../../..//inc/tpl/search.php:26 ../../../..//inc/tpl/editpass.php:25 -#: ../../../..//inc/tpl/accounts.php:26 ../../../..//inc/tpl/categories.php:26 -#: ../../../..//inc/tpl/config.php:26 ../../../..//inc/tpl/users.php:26 -#: ../../../..//inc/tpl/eventlog.php:26 +#: ../../../../inc/groups.class.php:27 ../../../../inc/util.class.php:26 +#: ../../../../inc/util.class.php:288 ../../../../inc/db.class.php:27 +#: ../../../../inc/html.class.php:27 ../../../../inc/files.class.php:27 +#: ../../../../inc/backup.class.php:26 ../../../../inc/ldap.class.php:27 +#: ../../../../inc/config.class.php:26 ../../../../inc/profiles.class.php:27 +#: ../../../../inc/common.class.php:26 ../../../../inc/account.class.php:26 +#: ../../../../inc/init.php:26 ../../../../inc/acl.class.php:27 +#: ../../../../inc/upgrade.class.php:27 ../../../../inc/migrate.class.php:26 +#: ../../../../inc/keepassimport.class.php:27 +#: ../../../../inc/installer.class.php:27 +#: ../../../../inc/keepassximport.class.php:27 +#: ../../../../inc/users.class.php:27 ../../../../inc/log.class.php:26 +#: ../../../../inc/crypt.class.php:26 ../../../../inc/customer.class.php:27 +#: ../../../../inc/category.class.php:27 ../../../../inc/import.class.php:27 +#: ../../../../inc/auth.class.php:27 ../../../../inc/tpl/request.php:25 +#: ../../../../inc/tpl/backup.php:26 ../../../../inc/tpl/masterpass.php:26 +#: ../../../../inc/tpl/groups.php:26 ../../../../inc/tpl/migrate.php:26 +#: ../../../../inc/tpl/login.php:26 ../../../../inc/tpl/customers.php:26 +#: ../../../../inc/tpl/main.php:26 ../../../../inc/tpl/profiles.php:26 +#: ../../../../inc/tpl/search.php:26 ../../../../inc/tpl/editpass.php:25 +#: ../../../../inc/tpl/accounts.php:26 ../../../../inc/tpl/categories.php:26 +#: ../../../../inc/tpl/config.php:26 ../../../../inc/tpl/users.php:26 +#: ../../../../inc/tpl/eventlog.php:26 msgid "No es posible acceder directamente a este archivo" msgstr "Impossible d'accéder directement à ce fichier" # "Edit Group" -#: ../../../..//inc/groups.class.php:178 +#: ../../../../inc/groups.class.php:178 msgid "Modificar Grupo" msgstr "Modifier Groupe" # "Required PHP version >= 5.1" -#: ../../../..//inc/util.class.php:115 +#: ../../../../inc/util.class.php:115 msgid "Versión de PHP requerida >= 5.1" msgstr "Version de PHP requis >= 5.1" # "Please update the PHP version to run sysPass" -#: ../../../..//inc/util.class.php:116 +#: ../../../../inc/util.class.php:116 msgid "" "Actualice la versión de PHP para que la aplicación funcione correctamente" msgstr "" @@ -1509,242 +1484,242 @@ msgstr "" "correctement" # "Module unavilable" -#: ../../../..//inc/util.class.php:136 ../../../..//inc/tpl/config.php:375 +#: ../../../../inc/util.class.php:136 ../../../../inc/tpl/config.php:375 msgid "Módulo no disponible" msgstr "Module indisponible" # "Without this module the application could not run correctly" -#: ../../../..//inc/util.class.php:137 +#: ../../../../inc/util.class.php:137 msgid "Sin este módulo la aplicación puede no funcionar correctamente." msgstr "Sans ce module, l'application ne peut pas fonctionner correctement." # "Unable to connect to the DB" -#: ../../../..//inc/db.class.php:93 ../../../..//inc/db.class.php:107 -#: ../../../..//inc/db.class.php:114 +#: ../../../../inc/db.class.php:93 ../../../../inc/db.class.php:107 +#: ../../../../inc/db.class.php:114 msgid "No es posible conectar con la BD" msgstr "Impossible de se connecter à la base de données" # "Please, check connection parameters" -#: ../../../..//inc/db.class.php:93 +#: ../../../../inc/db.class.php:93 msgid "Compruebe los datos de conexión" msgstr "Veillez vérifier les parmètres de connexion" # "Javascript is needed in order to run correctly" -#: ../../../..//inc/html.class.php:204 +#: ../../../../inc/html.class.php:204 msgid "Javascript es necesario para el correcto funcionamiento" msgstr "Javascript est requis pour fonctionner correctement" # "Help :: FAQ :: Changelog" -#: ../../../..//inc/html.class.php:229 +#: ../../../../inc/html.class.php:229 msgid "Ayuda :: FAQ :: Changelog" msgstr "Aide :: FAQ :: Changelog" # "A cygnux.org project" -#: ../../../..//inc/html.class.php:231 +#: ../../../../inc/html.class.php:231 msgid "Un proyecto de cygnux.org" msgstr "Un projet cygnux.org" # "Filter ON" -#: ../../../..//inc/html.class.php:273 +#: ../../../../inc/html.class.php:273 msgid "Filtro ON" msgstr "Filtre ON" # "Global ON" -#: ../../../..//inc/html.class.php:275 +#: ../../../../inc/html.class.php:275 msgid "Global ON" msgstr "Global ON" # "First page" -#: ../../../..//inc/html.class.php:280 ../../../..//inc/html.class.php:313 +#: ../../../../inc/html.class.php:280 ../../../../inc/html.class.php:313 msgid "Primera página" msgstr "Première page" # "Previous page" -#: ../../../..//inc/html.class.php:281 ../../../..//inc/html.class.php:314 +#: ../../../../inc/html.class.php:281 ../../../../inc/html.class.php:314 msgid "Página anterior" msgstr "Page précédante" # "Next page" -#: ../../../..//inc/html.class.php:288 ../../../..//inc/html.class.php:321 +#: ../../../../inc/html.class.php:288 ../../../../inc/html.class.php:321 msgid "Página siguiente" msgstr "Page suivante" # "Last page" -#: ../../../..//inc/html.class.php:289 ../../../..//inc/html.class.php:322 +#: ../../../../inc/html.class.php:289 ../../../../inc/html.class.php:322 msgid "Última página" msgstr "Dernière page" # "Option unavailable" -#: ../../../..//inc/html.class.php:416 +#: ../../../../inc/html.class.php:416 msgid "Opción no disponible" msgstr "Option indisponible" # "Please, contact to the administrator" -#: ../../../..//inc/html.class.php:416 ../../../..//inc/html.class.php:417 -#: ../../../..//inc/html.class.php:418 ../../../..//inc/init.php:484 +#: ../../../../inc/html.class.php:416 ../../../../inc/html.class.php:417 +#: ../../../../inc/html.class.php:418 ../../../../inc/init.php:484 msgid "Consulte con el administrador" msgstr "Veuillez contacter votre administrateur" # "You don't have permission to access to this page" -#: ../../../..//inc/html.class.php:418 +#: ../../../../inc/html.class.php:418 msgid "No tiene permisos para acceder a esta página" msgstr "Vous n'avez pas les permissions pour accéder à cette page" # "This operation is only available on Linux environments" -#: ../../../..//inc/backup.class.php:155 +#: ../../../../inc/backup.class.php:155 msgid "Esta operación sólo es posible en entornos Linux" msgstr "Cette opération est uniquement possible en environnement Linux" # "Error while doing backup in compatibility mode" -#: ../../../..//inc/backup.class.php:159 +#: ../../../../inc/backup.class.php:159 msgid "Error al realizar backup en modo compatibilidad" msgstr "Erreur pendant la sauvegarde en mode compatibilité" # "Check backup directory permissions" -#: ../../../..//inc/backup.class.php:217 +#: ../../../../inc/backup.class.php:217 msgid "Compruebe los permisos del directorio de backups" msgstr "Vérifiez les permissions du dossier de sauvegarde" # "Unable to connect to the LDAP server" -#: ../../../..//inc/ldap.class.php:97 ../../../..//inc/ldap.class.php:102 +#: ../../../../inc/ldap.class.php:97 ../../../../inc/ldap.class.php:102 msgid "No es posible conectar con el servidor de LDAP" msgstr "Impossible de se connecter au server LDAP" # "Connection error (BIND)" -#: ../../../..//inc/ldap.class.php:126 ../../../..//inc/ldap.class.php:132 +#: ../../../../inc/ldap.class.php:126 ../../../../inc/ldap.class.php:132 msgid "Error al conectar (BIND)" msgstr "Erreur de connexion (BIND)" # "Error on searching objects in base DN" -#: ../../../..//inc/ldap.class.php:154 ../../../..//inc/ldap.class.php:160 +#: ../../../../inc/ldap.class.php:154 ../../../../inc/ldap.class.php:160 msgid "Error al buscar objetos en DN base" msgstr "Erreur pendant la recherche d'objets dans la base DN" # "Error on searching group RDN" -#: ../../../..//inc/ldap.class.php:187 ../../../..//inc/ldap.class.php:193 -#: ../../../..//inc/ldap.class.php:200 ../../../..//inc/ldap.class.php:205 -#: ../../../..//inc/ldap.class.php:215 ../../../..//inc/ldap.class.php:220 +#: ../../../../inc/ldap.class.php:187 ../../../../inc/ldap.class.php:193 +#: ../../../../inc/ldap.class.php:200 ../../../../inc/ldap.class.php:205 +#: ../../../../inc/ldap.class.php:215 ../../../../inc/ldap.class.php:220 msgid "Error al buscar RDN de grupo" msgstr "Erreur pendant la recherche RDN du groupe" # "Group RDN found" -#: ../../../..//inc/ldap.class.php:208 +#: ../../../../inc/ldap.class.php:208 msgid "RDN de grupo encontrado" msgstr "RDN de groupe trouvé" # "Error on searching user DN" -#: ../../../..//inc/ldap.class.php:270 ../../../..//inc/ldap.class.php:276 -#: ../../../..//inc/ldap.class.php:291 ../../../..//inc/ldap.class.php:296 +#: ../../../../inc/ldap.class.php:270 ../../../../inc/ldap.class.php:276 +#: ../../../../inc/ldap.class.php:291 ../../../../inc/ldap.class.php:296 msgid "Error al buscar el DN del usuario" msgstr "Erreur pendant la recherche du DN de l'utilisateur" # "Error on searching user on LDAP" -#: ../../../..//inc/ldap.class.php:283 ../../../..//inc/ldap.class.php:288 +#: ../../../../inc/ldap.class.php:283 ../../../../inc/ldap.class.php:288 msgid "Error al localizar el usuario en LDAP" msgstr "Erreur pendant la recherche de l'utilisateur dans l'annuaire LDAP" # "Error on searching users group" -#: ../../../..//inc/ldap.class.php:369 ../../../..//inc/ldap.class.php:375 +#: ../../../../inc/ldap.class.php:369 ../../../../inc/ldap.class.php:375 msgid "Error al buscar el grupo de usuarios" msgstr "Erreur pendant la recherche de groupe d'utilisateurs" # "No group found with that name" -#: ../../../..//inc/ldap.class.php:379 ../../../..//inc/ldap.class.php:385 +#: ../../../../inc/ldap.class.php:379 ../../../../inc/ldap.class.php:385 msgid "No se encontró el grupo con ese nombre" msgstr "Nom de groupe introuvable avec ce nom" # "Update Configuration" -#: ../../../..//inc/config.class.php:125 ../../../..//inc/config.class.php:151 +#: ../../../../inc/config.class.php:125 ../../../../inc/config.class.php:151 msgid "Modificar configuración" msgstr "Modifier configuration" # "Parameter" -#: ../../../..//inc/config.class.php:152 +#: ../../../../inc/config.class.php:152 msgid "Parámetro" msgstr "Paramètre" # "Value" -#: ../../../..//inc/config.class.php:153 +#: ../../../../inc/config.class.php:153 msgid "Valor" msgstr "Valeur" # "Unable to write in configuration file" -#: ../../../..//inc/config.class.php:312 +#: ../../../../inc/config.class.php:312 msgid "No es posible escribir el archivo de configuración" msgstr "Impossible d'écrire dans le fichier de configuration" # "Please, check the "config" directory permissions" -#: ../../../..//inc/config.class.php:313 +#: ../../../../inc/config.class.php:313 msgid "Compruebe los permisos del directorio \"config\"" msgstr "Vérifiez les permissions du dossier \"config\"" # "Edit Profile" -#: ../../../..//inc/profiles.class.php:253 +#: ../../../../inc/profiles.class.php:253 msgid "Modificar Perfil" msgstr "Modifier Profil" # "N/A" -#: ../../../..//inc/common.class.php:60 ../../../..//inc/users.class.php:107 +#: ../../../../inc/common.class.php:60 ../../../../inc/users.class.php:107 msgid "N/D" msgstr "N/A" # "Action" -#: ../../../..//inc/common.class.php:61 +#: ../../../../inc/common.class.php:61 msgid "Acción" msgstr "Action" # "Performed by" -#: ../../../..//inc/common.class.php:62 +#: ../../../../inc/common.class.php:62 msgid "Realizado por" msgstr "Réalisé par" # "Email sent" -#: ../../../..//inc/common.class.php:80 +#: ../../../../inc/common.class.php:80 msgid "Correo enviado" msgstr "Courriel envoyé" # "Error on sending email" -#: ../../../..//inc/common.class.php:82 +#: ../../../../inc/common.class.php:82 msgid "Error al enviar correo" msgstr "Erreur pendant l'envoi du courriel" # "Recipient" -#: ../../../..//inc/common.class.php:87 +#: ../../../../inc/common.class.php:87 msgid "Destinatario" msgstr "Destinataire" # "CC" -#: ../../../..//inc/common.class.php:88 +#: ../../../../inc/common.class.php:88 msgid "CC" msgstr "CC" # "Send Email" -#: ../../../..//inc/common.class.php:90 +#: ../../../../inc/common.class.php:90 msgid "Enviar Email" msgstr "Envoyer Courriel" # "Warning" -#: ../../../..//inc/common.class.php:144 +#: ../../../../inc/common.class.php:144 msgid "Aviso" msgstr "Avertissement" # "Enter phpPMS database connection user" -#: ../../../..//inc/common.class.php:205 +#: ../../../../inc/common.class.php:205 msgid "Indicar el usuario de conexión a la base de datos de phpPMS" msgstr "Saisir l'identifiant de connexion à la base de données phpPMS" # "Enter phpPMS database name" -#: ../../../..//inc/common.class.php:206 +#: ../../../../inc/common.class.php:206 msgid "Indicar el nombre de la base de datos de phpPMS" msgstr "Saisir le nom de la base de données phpPMS" # "Enter phpPMS database server name" -#: ../../../..//inc/common.class.php:207 +#: ../../../../inc/common.class.php:207 msgid "Indicar el servidor de la base de datos de phpPMS" msgstr "Saisir le nom du serveur de base de données phpPMS" # "" -#: ../../../..//inc/common.class.php:208 +#: ../../../../inc/common.class.php:208 msgid "" "Habilita el nombre de la cuenta de la búsqueda, como enlace a los detalles " "de la cuenta" @@ -1753,27 +1728,27 @@ msgstr "" "de recherche" # "Number of results that are shown per page when searching" -#: ../../../..//inc/common.class.php:209 +#: ../../../../inc/common.class.php:209 msgid "Número de resultados por página a mostrar, al realizar una búsqueda" msgstr "Nombre de résultats affichés par page lors d'une recherche" # "It enables upload/download the accounts' files" -#: ../../../..//inc/common.class.php:210 +#: ../../../../inc/common.class.php:210 msgid "Habilita la subida/descarga de archivos para las cuentas" msgstr "Active le Chargement/Téléchargement des fichiers de comptes" # "Sets up the max upload file size." -#: ../../../..//inc/common.class.php:211 +#: ../../../../inc/common.class.php:211 msgid "Establece el tamaño máximo para subir archivos" msgstr "Définir la taille maximale pour le chargement de fichier" # "The absolute maximum is 16MB." -#: ../../../..//inc/common.class.php:211 +#: ../../../../inc/common.class.php:211 msgid "El máximo absuluto es de 16MB" msgstr "Le maximum absolue est de 16Mo." # "" -#: ../../../..//inc/common.class.php:212 +#: ../../../../inc/common.class.php:212 msgid "" "Habilita la opción de añadir un enlace a Wiki externa para los resultados de " "la búsqueda" @@ -1782,31 +1757,31 @@ msgstr "" "recherches" # "URL that wiki uses to do a page search on it." -#: ../../../..//inc/common.class.php:213 +#: ../../../../inc/common.class.php:213 msgid "" "URL que utiliza la wiki para realizar una búsqueda de una página en esta" msgstr "URL utilisé par wiki pour effectuer une recherche sur une page" # "It uses customer name as parameter." -#: ../../../..//inc/common.class.php:213 +#: ../../../../inc/common.class.php:213 msgid "Como parámetro se utiliza el nombre del cliente" msgstr "Utilise le nom d'utilsateur comme paramètre" # "Example" -#: ../../../..//inc/common.class.php:213 ../../../..//inc/common.class.php:214 -#: ../../../..//inc/common.class.php:217 ../../../..//inc/common.class.php:218 -#: ../../../..//inc/common.class.php:219 +#: ../../../../inc/common.class.php:213 ../../../../inc/common.class.php:214 +#: ../../../../inc/common.class.php:217 ../../../../inc/common.class.php:218 +#: ../../../../inc/common.class.php:219 msgid "Ejemplo" msgstr "Example" # "URL that wiki uses to access to page details on it." -#: ../../../..//inc/common.class.php:214 +#: ../../../../inc/common.class.php:214 msgid "" "URL que utiliza la wiki para acceder a los detalles de una página de ésta" msgstr "URL que Wiki utilise pour accéder aux détails d'un page sur celui-ci" # "The account name is used as wiki search variable parameter." -#: ../../../..//inc/common.class.php:214 +#: ../../../../inc/common.class.php:214 msgid "" "El nombre de la cuenta se utiliza como parámetro de la variable de búsqueda " "de la Wiki" @@ -1815,38 +1790,38 @@ msgstr "" "wiki" # "Preffix to select what accounts have a wiki page link" -#: ../../../..//inc/common.class.php:215 +#: ../../../../inc/common.class.php:215 msgid "" "Prefijo para determinar qué cuentas tienen un enlace a una página de la Wiki" msgstr "Préfix pour déterminer quels comptes aurront un lien Wiki." # "Examples" -#: ../../../..//inc/common.class.php:215 +#: ../../../../inc/common.class.php:215 msgid "Ejemplos" msgstr "Examples" # "It enables LDAP authentication" -#: ../../../..//inc/common.class.php:216 +#: ../../../../inc/common.class.php:216 msgid "Habilita de autentificación mediante servidor LDAP" msgstr "Active l'authentification LDAP" # "This method will switch to MySQL on failure" -#: ../../../..//inc/common.class.php:216 +#: ../../../../inc/common.class.php:216 msgid "Este método utilizará MySQL en caso de fallo" msgstr "Cette méthode basculera sur MySQL en cas d'échec" # "User to connect LDAP server" -#: ../../../..//inc/common.class.php:217 +#: ../../../../inc/common.class.php:217 msgid "Usuario para conectar con el servicio de LDAP" msgstr "Utilisateur pour se connecter au serveur LDAP" # "LDAP base to do users searches." -#: ../../../..//inc/common.class.php:218 +#: ../../../../inc/common.class.php:218 msgid "Base en la que realizar la búsqueda de usuarios de LDAP" msgstr "Base LDAP de recherche des utilisateurs" # "LDAP group that users belong to for access permission" -#: ../../../..//inc/common.class.php:219 +#: ../../../../inc/common.class.php:219 msgid "" "Grupo de LDAP al que debe de pertenecer el usuario para permitir el acceso" msgstr "" @@ -1854,22 +1829,22 @@ msgstr "" "permissions d'accès" # "LDAP server hostname or IP address" -#: ../../../..//inc/common.class.php:220 +#: ../../../../inc/common.class.php:220 msgid "Nombre o dirección IP del servidor de LDAP" msgstr "Nom ou adresse IP du serveur LDAP" # "Sets a new master password without re-encrypting the accounts." -#: ../../../..//inc/common.class.php:221 +#: ../../../../inc/common.class.php:221 msgid "Establece una nueva clave maestra sin re-encriptar las cuentas" msgstr "Définir un nouveau mot de passe maître sans ré-encrypter les comptes" # "LDAP bind user password" -#: ../../../..//inc/common.class.php:222 +#: ../../../../inc/common.class.php:222 msgid "Clave del usuario de conexión a LDAP" msgstr "Mot de passe utilisateur de connexion LDAP" # "" -#: ../../../..//inc/common.class.php:223 +#: ../../../../inc/common.class.php:223 msgid "" "En este modo no se puede acceder a la aplicación. Para deshabilitarlo es " "necesario modificar el archivo de configuración" @@ -1878,7 +1853,7 @@ msgstr "" "faire, vous devez modifier le fichier de configuration." # "Shows some information about application and performance." -#: ../../../..//inc/common.class.php:224 +#: ../../../../inc/common.class.php:224 msgid "" "Muestra información relativa a la configuración de la aplicación y " "rendimiento" @@ -1887,29 +1862,29 @@ msgstr "" "performances" # "It saves the actions done by the application." -#: ../../../..//inc/common.class.php:225 +#: ../../../../inc/common.class.php:225 msgid "Guarda las acciones realizadas en la aplicación" msgstr "Sauvegarde les actions effectuées par l'application" # "Check for application updates (only for administrators)." -#: ../../../..//inc/common.class.php:226 +#: ../../../../inc/common.class.php:226 msgid "" "Comprobar actualizaciones de la aplicación (sólo para los usuarios " "administradores)" msgstr "Vérifier les mises à jour de l'application (Administrateurs seulement)" # "Extensions max length is 4 characters." -#: ../../../..//inc/common.class.php:227 +#: ../../../../inc/common.class.php:227 msgid "Extensiones de máximo 4 caracteres." msgstr "Extensions de 4 caractères maxi" # "Write extension and press enter to add." -#: ../../../..//inc/common.class.php:227 +#: ../../../../inc/common.class.php:227 msgid "Escribir extensión y pulsar intro para añadir." msgstr "Ecrire l'extension puis pressez Entrée pour ajouter." # "" -#: ../../../..//inc/common.class.php:228 +#: ../../../../inc/common.class.php:228 msgid "" "Importar desde KeePass o KeePassX. El nombre del cliente será igual a " "KeePass o KeePassX" @@ -1918,17 +1893,17 @@ msgstr "" "de KeePass ou KeePassX" # "Import form a CSV file with the format" -#: ../../../..//inc/common.class.php:228 +#: ../../../../inc/common.class.php:228 msgid "Importar desde un archivo CSV con el formato" msgstr "Importer depuis un fichier CSV avec le format" # "account_name -#: ../../../..//inc/common.class.php:228 +#: ../../../../inc/common.class.php:228 msgid "nombre_de_cuenta;cliente;categoría;url;usuario;clave;notas" msgstr "nom_de_compte;client;categorie;url;utilisateur;mot_de_passe;notes" # "" -#: ../../../..//inc/common.class.php:228 +#: ../../../../inc/common.class.php:228 msgid "" "Si el cliente o la categoría no están creados, se crean automáticamente." msgstr "" @@ -1936,632 +1911,620 @@ msgstr "" "automatiquement." # "Allows to show the non-permission accounts only for searches." -#: ../../../..//inc/common.class.php:229 +#: ../../../../inc/common.class.php:229 msgid "" "Permite que las cuentas sin acceso sean visibles sólo para las búsquedas." msgstr "" "Permet l'affichage des comptes non autorisés pour la recherche uniquement" # "Enables to show account's search results like a card format." -#: ../../../..//inc/common.class.php:230 +#: ../../../../inc/common.class.php:230 msgid "Muestra los resultados de búsqueda de cuentas en formato tarjeta." msgstr "Active l'affichage des résultats de recherche comme format carte." # "Enables Active Directory LDAP connection mode." -#: ../../../..//inc/common.class.php:231 +#: ../../../../inc/common.class.php:231 msgid "Habilita el modo de conexión con LDAP de Active Directory." msgstr "Permet le mode de connexion actif avec l'annuaire LDAP" # "Define the default users group for new LDAP users" -#: ../../../..//inc/common.class.php:232 +#: ../../../../inc/common.class.php:232 msgid "" "Define el grupo de usuarios por defecto para los nuevos usuarios de LDAP." msgstr "" "Défini le groupe d'utilisateur par défaut pour les nouveaux utilisateurs LDAP" # "Define the default users profile for new LDAP users" -#: ../../../..//inc/common.class.php:233 +#: ../../../../inc/common.class.php:233 msgid "" "Define el perfil de usuario por defecto para los nuevos usuarios de LDAP." msgstr "Défini le profile par défaut pour les nouveaux utilisateurs LDAP" # "Error on updating history" -#: ../../../..//inc/account.class.php:320 -#: ../../../..//inc/account.class.php:842 +#: ../../../../inc/account.class.php:320 ../../../../inc/account.class.php:842 msgid "Error al actualizar el historial" msgstr "Erreur pendant l'actualisation de l'historique" # "Update Account" -#: ../../../..//inc/account.class.php:326 +#: ../../../../inc/account.class.php:326 msgid "Actualizar Cuenta" msgstr "Actualiser Compte" # "Error on updating secondary groups" -#: ../../../..//inc/account.class.php:329 -#: ../../../..//inc/account.class.php:555 +#: ../../../../inc/account.class.php:329 ../../../../inc/account.class.php:555 msgid "Error al actualizar los grupos secundarios" msgstr "Erreur pendant l'actualisation des groupes secondaires" # "Error on updating account's users" -#: ../../../..//inc/account.class.php:335 -#: ../../../..//inc/account.class.php:563 +#: ../../../../inc/account.class.php:335 ../../../../inc/account.class.php:563 msgid "Error al actualizar los usuarios de la cuenta" msgstr "Erreur pendant la modification des comptes utilisateurs" # "Account Restore" -#: ../../../..//inc/account.class.php:340 +#: ../../../../inc/account.class.php:340 msgid "Restaurar Cuenta" msgstr "Restaurer Compte" # "New Account" -#: ../../../..//inc/account.class.php:572 ../../../..//inc/tpl/main.php:53 -#: ../../../..//inc/tpl/accounts.php:47 +#: ../../../../inc/account.class.php:572 ../../../../inc/tpl/main.php:53 +#: ../../../../inc/tpl/accounts.php:47 msgid "Nueva Cuenta" msgstr "Nouveau Compte" # "ERROR: Operation failed" -#: ../../../..//inc/account.class.php:589 +#: ../../../../inc/account.class.php:589 msgid "ERROR: Error en la operación." msgstr "ERREUR: Echec de l'opération" # "Error on deleting account's groups" -#: ../../../..//inc/account.class.php:606 +#: ../../../../inc/account.class.php:606 msgid "Error al eliminar grupos asociados a la cuenta" msgstr "Erreur pendant la suppression du groupe du compte" # "Error on deleting account's users" -#: ../../../..//inc/account.class.php:610 +#: ../../../../inc/account.class.php:610 msgid "Error al eliminar usuarios asociados a la cuenta" msgstr "Erreur pendant la suppression des utilisateurs du compte" # "Error on deleting account's files" -#: ../../../..//inc/account.class.php:614 +#: ../../../../inc/account.class.php:614 msgid "Error al eliminar archivos asociados a la cuenta" msgstr "Erreur pendant la supression des fichiers du compte" # "Start" -#: ../../../..//inc/account.class.php:737 -#: ../../../..//inc/account.class.php:890 +#: ../../../../inc/account.class.php:737 ../../../../inc/account.class.php:890 msgid "Inicio" msgstr "Début" # "Error on encryption module" -#: ../../../..//inc/account.class.php:747 -#: ../../../..//inc/account.class.php:900 +#: ../../../../inc/account.class.php:747 ../../../../inc/account.class.php:900 msgid "Error en el módulo de encriptación" msgstr "Erreur dans le module d'encryption" # "Error on retrieving accounts' passwords" -#: ../../../..//inc/account.class.php:755 -#: ../../../..//inc/account.class.php:908 +#: ../../../../inc/account.class.php:755 ../../../../inc/account.class.php:908 msgid "Error al obtener las claves de las cuentas" msgstr "Erreur pendant la récupération des mot de passe des comptes" # "Error on updating account's password" -#: ../../../..//inc/account.class.php:781 +#: ../../../../inc/account.class.php:781 msgid "Fallo al actualizar la clave de la cuenta" msgstr "Erreur à la mise à jour des mots de passe des comptes" # "Accounts updated:" -#: ../../../..//inc/account.class.php:793 +#: ../../../../inc/account.class.php:793 msgid "Cuentas actualizadas:" msgstr "Comptes actualisés:" # "End" -#: ../../../..//inc/account.class.php:798 -#: ../../../..//inc/account.class.php:956 +#: ../../../../inc/account.class.php:798 ../../../../inc/account.class.php:956 msgid "Fin" msgstr "Fin" # "Update Password" -#: ../../../..//inc/account.class.php:865 +#: ../../../../inc/account.class.php:865 msgid "Modificar Clave" msgstr "Modifier Mot de passe" # "Update Master Password (H)" -#: ../../../..//inc/account.class.php:889 +#: ../../../../inc/account.class.php:889 msgid "Actualizar Clave Maestra (H)" msgstr "Mettre à jour le Mot de Passe Maître (H)" # "The record's master password does not match" -#: ../../../..//inc/account.class.php:922 +#: ../../../../inc/account.class.php:922 msgid "La clave maestra del registro no coincide" msgstr "Le mot de passe maître de l'enregistrement ne correspond pas" # "Error on updating history's master password" -#: ../../../..//inc/account.class.php:938 +#: ../../../../inc/account.class.php:938 msgid "Fallo al actualizar la clave del histórico" msgstr "Erreur pendant la mise à jour du mot de passe maître de l'historique" # "Records updated" -#: ../../../..//inc/account.class.php:951 +#: ../../../../inc/account.class.php:951 msgid "Registros actualizados:" msgstr "Enregistrements actualisés" # "Error on checking database" -#: ../../../..//inc/init.php:127 +#: ../../../../inc/init.php:127 msgid "Error en la verificación de la base de datos" msgstr "Erreur pendant la vérification de la base de données" # "The "/config" directory does not exist." -#: ../../../..//inc/init.php:316 +#: ../../../../inc/init.php:316 msgid "El directorio \"/config\" no existe" msgstr "Le dossier \"/config\" n'existe pas" # "Unable to write into the "/config" directory" -#: ../../../..//inc/init.php:321 +#: ../../../../inc/init.php:321 msgid "No es posible escribir en el directorio \"config\"" msgstr "Impossible d'écrire dans le dossier \"/config\"" # "The "/config" directory permissions are incorrect" -#: ../../../..//inc/init.php:329 +#: ../../../../inc/init.php:329 msgid "Los permisos del directorio \"/config\" son incorrectos" msgstr "Les permissions du dossier \"/config\" sont incorrectes" # "Current:" -#: ../../../..//inc/init.php:329 +#: ../../../../inc/init.php:329 msgid "Actual:" msgstr "Actuel" # "Needed: 750" -#: ../../../..//inc/init.php:329 +#: ../../../../inc/init.php:329 msgid "Necesario: 750" msgstr "Nécessaire: 750" # "Application in maintenance" -#: ../../../..//inc/init.php:395 +#: ../../../../inc/init.php:395 msgid "Aplicación en mantenimiento" msgstr "Application en maintenance" # "It will be running in short" -#: ../../../..//inc/init.php:395 +#: ../../../../inc/init.php:395 msgid "En breve estará operativa" msgstr "Sera opérationnel sous peu" # "The application needs to be updated" -#: ../../../..//inc/init.php:426 +#: ../../../../inc/init.php:426 msgid "La aplicación necesita actualizarse" msgstr "L'application a besoin d'être mis à jour" # "If you are an administrator, click on the link:" -#: ../../../..//inc/init.php:426 +#: ../../../../inc/init.php:426 msgid "Si es un administrador pulse en el enlace:" msgstr "Si vous êtes administrateur, cliquez sur le lien:" # "Update" -#: ../../../..//inc/init.php:426 ../../../..//inc/tpl/upgrade.php:54 +#: ../../../../inc/init.php:426 ../../../../inc/tpl/upgrade.php:54 msgid "Actualizar" msgstr "Mis à jour" # "Update" -#: ../../../..//inc/init.php:455 +#: ../../../../inc/init.php:455 msgid "Actualización" msgstr "Actualisation" # "Version updating done." -#: ../../../..//inc/init.php:456 +#: ../../../../inc/init.php:456 msgid "Actualización de versión realizada." msgstr "Mise à jour de version effectuée." # "Version" -#: ../../../..//inc/init.php:457 +#: ../../../../inc/init.php:457 msgid "Versión" msgstr "Version" # "Session" -#: ../../../..//inc/init.php:478 +#: ../../../../inc/init.php:478 msgid "Sesion" msgstr "Session" # "Session cannot be initialized" -#: ../../../..//inc/init.php:478 ../../../..//inc/init.php:483 +#: ../../../../inc/init.php:478 ../../../../inc/init.php:483 msgid "La sesión no puede ser inicializada" msgstr "La session ne peut pas être initialisée" # "Logout session" -#: ../../../..//inc/init.php:545 +#: ../../../../inc/init.php:545 msgid "Finalizar sesión" msgstr "Deconnexion" # "Inactive time" -#: ../../../..//inc/init.php:547 +#: ../../../../inc/init.php:547 msgid "Tiempo inactivo" msgstr "Temps d'inactivité" # "Total time" -#: ../../../..//inc/init.php:548 +#: ../../../../inc/init.php:548 msgid "Tiempo total" msgstr "Temps total" # "Access denied to" -#: ../../../..//inc/acl.class.php:104 +#: ../../../../inc/acl.class.php:104 msgid "Denegado acceso a" msgstr "Accès refusé pour" # "Error on updating database" -#: ../../../..//inc/upgrade.class.php:48 +#: ../../../../inc/upgrade.class.php:48 msgid "Error al aplicar la actualización de la Base de Datos" msgstr "Erreur pendant la mise à jour de la base de données." # "Please, check the event log for more details" -#: ../../../..//inc/upgrade.class.php:49 +#: ../../../../inc/upgrade.class.php:49 msgid "Compruebe el registro de eventos para más detalles" msgstr "Veuillez consulter le journal des évènements pour plus de détail" # "Sign in" -#: ../../../..//inc/upgrade.class.php:49 ../../../..//inc/tpl/login.php:51 +#: ../../../../inc/upgrade.class.php:49 ../../../../inc/tpl/login.php:51 msgid "Acceder" msgstr "Se connecter" # "Update DB" -#: ../../../..//inc/upgrade.class.php:64 +#: ../../../../inc/upgrade.class.php:64 msgid "Actualizar BBDD" msgstr "Mis à jour BDD" # "Database update not needed." -#: ../../../..//inc/upgrade.class.php:91 +#: ../../../../inc/upgrade.class.php:91 msgid "No es necesario actualizar la Base de Datos." msgstr "La mise à jour de la base de données n'est pas nécessaire." # "Error on updating database." -#: ../../../..//inc/upgrade.class.php:97 +#: ../../../../inc/upgrade.class.php:97 msgid "Error al aplicar la actualización de la Base de Datos." msgstr "Erreur pendant la mise à jour de la base de données." # "Database updating was done successfully." -#: ../../../..//inc/upgrade.class.php:104 +#: ../../../../inc/upgrade.class.php:104 msgid "Actualización de la Base de Datos realizada correctamente." msgstr "Mise à jour de la base de données effectuée." # "Update Configuration" -#: ../../../..//inc/upgrade.class.php:174 +#: ../../../../inc/upgrade.class.php:174 msgid "Actualizar Configuración" msgstr "Mettre à jour la Configuration" # "Configuration updating was done successfully." -#: ../../../..//inc/upgrade.class.php:175 +#: ../../../../inc/upgrade.class.php:175 msgid "Actualización de la Configuración realizada correctamente." msgstr "Mise à jour de la configuration effectuée correctement." # "Missing parameters" -#: ../../../..//inc/migrate.class.php:85 +#: ../../../../inc/migrate.class.php:85 msgid "Faltan parámetros" msgstr "Paramètres manquants" # "Import finished" -#: ../../../..//inc/migrate.class.php:114 ../../../..//inc/import.class.php:88 +#: ../../../../inc/migrate.class.php:114 ../../../../inc/import.class.php:88 msgid "Importación finalizada" msgstr "Importation terminée" # "Wrong MySQL user/pass" -#: ../../../..//inc/migrate.class.php:138 -#: ../../../..//inc/installer.class.php:202 +#: ../../../../inc/migrate.class.php:138 +#: ../../../../inc/installer.class.php:202 msgid "El usuario/clave de MySQL no es correcto" msgstr "Mauvais identifiant/mot de passe MySQL" # "Please, check database connection user" -#: ../../../..//inc/migrate.class.php:139 -#: ../../../..//inc/installer.class.php:203 +#: ../../../../inc/migrate.class.php:139 +#: ../../../../inc/installer.class.php:203 msgid "Verifique el usuario de conexión con la Base de Datos" msgstr "Veuillez vérifier l'utilsateur de connexion pour la base de données" # "Incompatible version" -#: ../../../..//inc/migrate.class.php:183 +#: ../../../../inc/migrate.class.php:183 msgid "La versión no es compatible" msgstr "Version incompatible" # "Please, update to the last version of phpPMS" -#: ../../../..//inc/migrate.class.php:184 +#: ../../../../inc/migrate.class.php:184 msgid "Actualice a la última versión de phpPMS" msgstr "Mettez à niveau la dernière version de phpPMS" # "Error on retrieving configuration" -#: ../../../..//inc/migrate.class.php:202 +#: ../../../../inc/migrate.class.php:202 msgid "Error al obtener la configuración" msgstr "Erreur pendant la récupération de la configuration" # "Error on cleaning table" -#: ../../../..//inc/migrate.class.php:252 -#: ../../../..//inc/migrate.class.php:266 +#: ../../../../inc/migrate.class.php:252 ../../../../inc/migrate.class.php:266 msgid "Error al vaciar tabla" msgstr "Erreur pendant le nettoyage de la table" # "Current user is not application administrator" -#: ../../../..//inc/migrate.class.php:271 +#: ../../../../inc/migrate.class.php:271 msgid "Usuario actual no es administrador de la aplicación" msgstr "L'utilisateur actuel n'est administrateur de l'application" # "Unable to create the customer" -#: ../../../..//inc/migrate.class.php:317 +#: ../../../../inc/migrate.class.php:317 msgid "No es posible crear el cliente" msgstr "Impossible de créer le client" # "Please, contact to the developer" -#: ../../../..//inc/migrate.class.php:318 +#: ../../../../inc/migrate.class.php:318 msgid "Contacte con el desarrollador" msgstr "Veuillez contacter le développeur" # "Import Customers" -#: ../../../..//inc/migrate.class.php:322 +#: ../../../../inc/migrate.class.php:322 msgid "Importar Clientes" msgstr "Importer Clients" # "Records" -#: ../../../..//inc/migrate.class.php:324 -#: ../../../..//inc/migrate.class.php:396 -#: ../../../..//inc/migrate.class.php:483 -#: ../../../..//inc/migrate.class.php:555 -#: ../../../..//inc/migrate.class.php:645 -#: ../../../..//inc/migrate.class.php:706 -#: ../../../..//inc/migrate.class.php:780 -#: ../../../..//inc/migrate.class.php:857 -#: ../../../..//inc/migrate.class.php:926 +#: ../../../../inc/migrate.class.php:324 ../../../../inc/migrate.class.php:396 +#: ../../../../inc/migrate.class.php:483 ../../../../inc/migrate.class.php:555 +#: ../../../../inc/migrate.class.php:645 ../../../../inc/migrate.class.php:706 +#: ../../../../inc/migrate.class.php:780 ../../../../inc/migrate.class.php:857 +#: ../../../../inc/migrate.class.php:926 msgid "Registros" msgstr "Enregistrements" # "Error on retrieving customer" -#: ../../../..//inc/migrate.class.php:343 +#: ../../../../inc/migrate.class.php:343 msgid "Error al obtener los clientes" msgstr "Erreur pendant la récupération des clients" # "Error on retrieving accounts" -#: ../../../..//inc/migrate.class.php:381 +#: ../../../../inc/migrate.class.php:381 msgid "Error al obtener cuentas" msgstr "Erreur pendant la récupération des comptes" # "Customer not found" -#: ../../../..//inc/migrate.class.php:421 +#: ../../../../inc/migrate.class.php:421 msgid "Cliente no encontrado" msgstr "Client introuvable" # "Error on importing account" -#: ../../../..//inc/migrate.class.php:447 +#: ../../../../inc/migrate.class.php:447 msgid "Error al migrar cuenta" msgstr "Erreur pendant l'importation des comptes" # "Error on retrieving accounts groups" -#: ../../../..//inc/migrate.class.php:468 +#: ../../../../inc/migrate.class.php:468 msgid "Error al obtener los grupos de cuentas" msgstr "Erreur pendant la récupération des groupes de comptes" # "Import Accounts Groups" -#: ../../../..//inc/migrate.class.php:481 +#: ../../../../inc/migrate.class.php:481 msgid "Importar Grupos de Cuentas" msgstr "Importer Groupes de Comptes" # "Error on accounts groups creation" -#: ../../../..//inc/migrate.class.php:503 +#: ../../../../inc/migrate.class.php:503 msgid "Error al crear grupos de cuentas" msgstr "Erreur pendant la création des groupes de comptes" # "Error on retrieving accounts history" -#: ../../../..//inc/migrate.class.php:540 +#: ../../../../inc/migrate.class.php:540 msgid "Error al obtener el historico de cuentas" msgstr "Erreur pendant la récupération de l'historique des comptes" # "Import Accounts History" -#: ../../../..//inc/migrate.class.php:553 +#: ../../../../inc/migrate.class.php:553 msgid "Importar Histórico de Cuentas" msgstr "Importer Historique des Comptes" # "Error on creating accounts history" -#: ../../../..//inc/migrate.class.php:605 +#: ../../../../inc/migrate.class.php:605 msgid "Error al crear historico de cuentas" msgstr "Erreur pendant la création de l'historique des comptes" # "Error on retrieving accounts files" -#: ../../../..//inc/migrate.class.php:630 +#: ../../../../inc/migrate.class.php:630 msgid "Error al obtener los archivos de cuentas" msgstr "Erreur pendant la récupération des fichiers des comptes" # "Import Accounts Files" -#: ../../../..//inc/migrate.class.php:643 +#: ../../../../inc/migrate.class.php:643 msgid "Importar Archivos de Cuentas" msgstr "Importer Fichiers de Comptes" # "Error on creating accounts files" -#: ../../../..//inc/migrate.class.php:670 +#: ../../../../inc/migrate.class.php:670 msgid "Error al crear archivos de cuentas" msgstr "Erreur pendant la création des fichiers de comptes" # "Error on retrieving accounts categories" -#: ../../../..//inc/migrate.class.php:691 +#: ../../../../inc/migrate.class.php:691 msgid "Error al obtener las categorías de cuentas" msgstr "Erreur pendant la récupération des catégorie de comtpes" # "Import Accounts Categories" -#: ../../../..//inc/migrate.class.php:704 +#: ../../../../inc/migrate.class.php:704 msgid "Importar Categorías de Cuentas" msgstr "Importer Catégories de Comptes" # "Error on retrieving accounts categories" -#: ../../../..//inc/migrate.class.php:727 +#: ../../../../inc/migrate.class.php:727 msgid "Error al crear categorías de cuentas" msgstr "Erreur pendant la récupération des catégories de comptes" # "Error on retrieving users" -#: ../../../..//inc/migrate.class.php:765 +#: ../../../../inc/migrate.class.php:765 msgid "Error al obtener los usuarios" msgstr "Erreur pendant la récupération des utilisateurs" # "Import Users" -#: ../../../..//inc/migrate.class.php:778 +#: ../../../../inc/migrate.class.php:778 msgid "Importar Usuarios" msgstr "Importer Utilisateurs" # "Error on creating users" -#: ../../../..//inc/migrate.class.php:820 +#: ../../../../inc/migrate.class.php:820 msgid "Error al crear usuarios" msgstr "Erreur pendant la création des utilisateurs" # "Error on retrieving users groups" -#: ../../../..//inc/migrate.class.php:842 +#: ../../../../inc/migrate.class.php:842 msgid "Error al obtener los grupos de usuarios" msgstr "Erreur pendant la récupération des groupes d'utilisateurs" # "Import Users Groups" -#: ../../../..//inc/migrate.class.php:855 +#: ../../../../inc/migrate.class.php:855 msgid "Importar Grupos de Usuarios" msgstr "Importer Groupes d'Utilisateurs" # "Error on adding users groups" -#: ../../../..//inc/migrate.class.php:879 +#: ../../../../inc/migrate.class.php:879 msgid "Error al crear los grupos de usuarios" msgstr "Erreur pendant l'ajout des groupes d'utilisateurs" # "Import Configuration" -#: ../../../..//inc/migrate.class.php:924 +#: ../../../../inc/migrate.class.php:924 msgid "Importar Configuración" msgstr "Importer Configuration" # "Enter the admin username" -#: ../../../..//inc/installer.class.php:89 +#: ../../../../inc/installer.class.php:89 msgid "Indicar nombre de usuario admin" msgstr "Saisir le nom de l'utilisateur admin" # "Admin user to login to the application" -#: ../../../..//inc/installer.class.php:90 +#: ../../../../inc/installer.class.php:90 msgid "Usuario admin para acceso a la aplicación" msgstr "Utilisateur admin pour se connecter à l'application" # "Enter the admin's password" -#: ../../../..//inc/installer.class.php:95 +#: ../../../../inc/installer.class.php:95 msgid "Indicar la clave de admin" msgstr "Saisir le mot de passe admin" # "Application administrator's password" -#: ../../../..//inc/installer.class.php:96 +#: ../../../../inc/installer.class.php:96 msgid "Clave del usuario admin de la aplicación" msgstr "Mot de passe administrateur de l'application" # "Enter the master password" -#: ../../../..//inc/installer.class.php:102 +#: ../../../../inc/installer.class.php:102 msgid "Indicar la clave maestra" msgstr "Saisir le mot de passe maître" # "Master password to encrypt the passwords" -#: ../../../..//inc/installer.class.php:103 +#: ../../../../inc/installer.class.php:103 msgid "Clave maestra para encriptar las claves" msgstr "Mot de passe maître pour crypter les mots de passe" # "Master password too short" -#: ../../../..//inc/installer.class.php:108 +#: ../../../../inc/installer.class.php:108 msgid "Clave maestra muy corta" msgstr "Mot de passe maître trop court" # "The master password length need to be at least 11 characters" -#: ../../../..//inc/installer.class.php:109 +#: ../../../../inc/installer.class.php:109 msgid "La longitud de la clave maestra ha de ser mayor de 11 caracteres" msgstr "La longueur du mot de passe maître doit être de 11 caractères au moins" # "Enter the database user" -#: ../../../..//inc/installer.class.php:115 +#: ../../../../inc/installer.class.php:115 msgid "Indicar el usuario de la BBDD" msgstr "Saisir l'utilisateur de la base de données" # "An user with database administrative rights" -#: ../../../..//inc/installer.class.php:116 +#: ../../../../inc/installer.class.php:116 msgid "Usuario con permisos de administrador de la Base de Datos" msgstr "Un utilisateur avec des droits d'administration sur la BDD" # "Enter the database password" -#: ../../../..//inc/installer.class.php:121 +#: ../../../../inc/installer.class.php:121 msgid "Indicar la clave de la BBDD" msgstr "Saisir le mot de passe de base de données" # "Database administartor's password" -#: ../../../..//inc/installer.class.php:122 +#: ../../../../inc/installer.class.php:122 msgid "Clave del usuario administrador de la Base de Datos" msgstr "Mot de passe administrateur de la base de données" # "Enter the database name" -#: ../../../..//inc/installer.class.php:127 +#: ../../../../inc/installer.class.php:127 msgid "Indicar el nombre de la BBDD" msgstr "Saisir le nom de la base de données" # "Application database name. eg. syspass" -#: ../../../..//inc/installer.class.php:128 +#: ../../../../inc/installer.class.php:128 msgid "Nombre para la BBDD de la aplicación pej. syspass" msgstr "Nom pour la BD de l'application. eg. syspass" # "Database name cannot contain "."" -#: ../../../..//inc/installer.class.php:133 +#: ../../../../inc/installer.class.php:133 msgid "El nombre de la BBDD no puede contener \".\"" msgstr "Le nom de la base de données ne peut pas contenir \".\"" # "Please, remove dots in database name" -#: ../../../..//inc/installer.class.php:134 +#: ../../../../inc/installer.class.php:134 msgid "Elimine los puntos del nombre de la Base de Datos" msgstr "Veuillez supprimer les points du nom de la base de données" # "Enter the database server" -#: ../../../..//inc/installer.class.php:140 +#: ../../../../inc/installer.class.php:140 msgid "Indicar el servidor de la BBDD" msgstr "Saisir le serveur de base de données" # "Server where the database will be installed" -#: ../../../..//inc/installer.class.php:141 +#: ../../../../inc/installer.class.php:141 msgid "Servidor donde se instalará la Base de Datos" msgstr "Serveur où la base de données sera installée" # "The database already exist" -#: ../../../..//inc/installer.class.php:248 +#: ../../../../inc/installer.class.php:248 msgid "La BBDD ya existe" msgstr "La base de données existe déjà" # "Enter a new database or delete the existing one" -#: ../../../..//inc/installer.class.php:249 +#: ../../../../inc/installer.class.php:249 msgid "Indique una nueva Base de Datos o elimine la existente" msgstr "" "Saisissez une nouvelle base de données ou supprimez celle qui existe déjà" # "The MySQL user already exist" -#: ../../../..//inc/installer.class.php:274 +#: ../../../../inc/installer.class.php:274 msgid "El usuario de MySQL ya existe" msgstr "L'utilisateur MySQL existe déjà" # "Enter a new username or delete the existing one" -#: ../../../..//inc/installer.class.php:275 +#: ../../../../inc/installer.class.php:275 msgid "Indique un nuevo usuario o elimine el existente" msgstr "Saisissez un nouvel utilisateur ou supprimez celui qui existe déjà" # "Error on DB creation" -#: ../../../..//inc/installer.class.php:294 -#: ../../../..//inc/installer.class.php:370 +#: ../../../../inc/installer.class.php:294 +#: ../../../../inc/installer.class.php:370 msgid "Error al crear la BBDD" msgstr "Erreur pendant la création de la BDD" # "Please, check database user permissions" -#: ../../../..//inc/installer.class.php:295 -#: ../../../..//inc/installer.class.php:306 +#: ../../../../inc/installer.class.php:295 +#: ../../../../inc/installer.class.php:306 msgid "Verifique los permisos del usuario de la Base de Datos" msgstr "" "Veuillez vérifier les permissions de l'utilisateur de la base de données" # "Error on setting database permissions" -#: ../../../..//inc/installer.class.php:305 +#: ../../../../inc/installer.class.php:305 msgid "Error al establecer permisos de la BBDD" msgstr "Erreur pendant l'affectation des permissions de la base de données" # "The database structure file does not exist" -#: ../../../..//inc/installer.class.php:348 +#: ../../../../inc/installer.class.php:348 msgid "El archivo de estructura de la BBDD no existe" msgstr "Fichier de structure de base de données inexistant" # "Unable to create the application database. Please, download it again." -#: ../../../..//inc/installer.class.php:349 +#: ../../../../inc/installer.class.php:349 msgid "No es posible crear la BBDD de la aplicación. Descárguela de nuevo." msgstr "" "Impossible de créer la base de donnée de l'application. Veuillez la " "télécharger de nouveau." # "Error on selecting database." -#: ../../../..//inc/installer.class.php:355 +#: ../../../../inc/installer.class.php:355 msgid "Error al seleccionar la BBDD" msgstr "Erreur pendant la sélection de la BDD" # "" -#: ../../../..//inc/installer.class.php:356 +#: ../../../../inc/installer.class.php:356 msgid "" "No es posible usar la Base de Datos para crear la estructura. Compruebe los " "permisos y que no exista." @@ -2570,712 +2533,806 @@ msgstr "" "les permissions et l'inexistantce de la structure." # "Error on creating database structure." -#: ../../../..//inc/installer.class.php:371 +#: ../../../../inc/installer.class.php:371 msgid "Error al crear la estructura de la Base de Datos." msgstr "Erreur pendant la création de la structure de la base de données." # "Error on creating "admin" group" -#: ../../../..//inc/installer.class.php:397 +#: ../../../../inc/installer.class.php:397 msgid "Error al crear el grupo \"admin\"" msgstr "Erreur pendant la création du groupe \"admin\"" # "Warn to developer" -#: ../../../..//inc/installer.class.php:398 -#: ../../../..//inc/installer.class.php:430 -#: ../../../..//inc/installer.class.php:448 -#: ../../../..//inc/installer.class.php:463 +#: ../../../../inc/installer.class.php:398 +#: ../../../../inc/installer.class.php:430 +#: ../../../../inc/installer.class.php:448 +#: ../../../../inc/installer.class.php:463 msgid "Informe al desarrollador" msgstr "Avertissez le développeur" # "Error on creating "admin" profile" -#: ../../../..//inc/installer.class.php:429 +#: ../../../../inc/installer.class.php:429 msgid "Error al crear el perfil \"admin\"" msgstr "Erreur pendant la création du profil \"admin\"" # "Error on creating "admin" user" -#: ../../../..//inc/installer.class.php:447 +#: ../../../../inc/installer.class.php:447 msgid "Error al crear el usuario \"admin\"" msgstr "Erreur pendant la création de l'utilisateur \"admin\"" # "Error on updating master password for user "admin"" -#: ../../../..//inc/installer.class.php:462 +#: ../../../../inc/installer.class.php:462 msgid "Error al actualizar la clave maestra del usuario \"admin\"" msgstr "" "Erreur pendant l'actualisation du mot de passe maître pour l'utilisateur " "\"admin\"" # "Account Activation" -#: ../../../..//inc/users.class.php:746 +#: ../../../../inc/users.class.php:746 msgid "Activación Cuenta" msgstr "Activation Compte" # "Your account activation is pending." -#: ../../../..//inc/users.class.php:747 +#: ../../../../inc/users.class.php:747 msgid "Su cuenta está pendiente de activación." msgstr "Votre compte est en attente d'activation." # "You will receive a confirmation email in short." -#: ../../../..//inc/users.class.php:748 +#: ../../../../inc/users.class.php:748 msgid "En breve recibirá un email de confirmación." msgstr "Vous recevrez un courriel de confirmation sous peu." # "Could not perform the password change request." -#: ../../../..//inc/users.class.php:792 ../../../..//inc/users.class.php:833 +#: ../../../../inc/users.class.php:792 ../../../../inc/users.class.php:833 msgid "No se pudo realizar la petición de cambio de clave." msgstr "Impossible d'effectuer la requête de changement de mot de passe." # "Edit User" -#: ../../../..//inc/users.class.php:828 +#: ../../../../inc/users.class.php:828 msgid "Modificar Usuario" msgstr "Modifier Utilisateur" # "Clear Events" -#: ../../../..//inc/log.class.php:80 +#: ../../../../inc/log.class.php:80 msgid "Vaciar Eventos" msgstr "Nettoyer les évènements" # "Clear event log" -#: ../../../..//inc/log.class.php:81 ../../../..//inc/tpl/eventlog.php:129 +#: ../../../../inc/log.class.php:81 ../../../../inc/tpl/eventlog.php:129 msgid "Vaciar registro de eventos" msgstr "Nettoyer le journal d'évènements" # "Update Customer" -#: ../../../..//inc/customer.class.php:102 +#: ../../../../inc/customer.class.php:102 msgid "Actualizar Cliente" msgstr "Mettre à jour Clients" # "Category Edit" -#: ../../../..//inc/category.class.php:177 +#: ../../../../inc/category.class.php:177 msgid "Modificar Categoría" msgstr "Modifier Catégorie" # "File successfully uploaded" -#: ../../../..//inc/import.class.php:103 +#: ../../../../inc/import.class.php:103 msgid "Archivo no subido correctamente" msgstr "Fichier transféré avec succès" # "Please, check the web server's user permissions" -#: ../../../..//inc/import.class.php:103 +#: ../../../../inc/import.class.php:103 msgid "Verifique los permisos del usuario del servidor web" msgstr "Veuillez vérifier les permissions de l'utilisateur du serveur web" # "Please, check file extension" -#: ../../../..//inc/import.class.php:111 +#: ../../../../inc/import.class.php:111 msgid "Compruebe la extensión del archivo" msgstr "Veuillez vérifier l'extension de fichier" # "Please, check PHP configuration for upload files" -#: ../../../..//inc/import.class.php:122 +#: ../../../../inc/import.class.php:122 msgid "Compruebe la configuración de PHP para subir archivos" msgstr "Veuillez vérifier la configuration PHP pour le transfert de fichier" # "Please, check temporary directory permissions" -#: ../../../..//inc/import.class.php:130 +#: ../../../../inc/import.class.php:130 msgid "Compruebe los permisos del directorio temporal" msgstr "Vérifiez les permissions du dossier temporaire" # "Mime type not supported" -#: ../../../..//inc/import.class.php:139 +#: ../../../../inc/import.class.php:139 msgid "Tipo mime no soportado" msgstr "Types mime non supporté" # "Please, check the file format" -#: ../../../..//inc/import.class.php:139 +#: ../../../../inc/import.class.php:139 msgid "Compruebe el formato del archivo" msgstr "Veuillez vérifiez le format de fichier" # "The number of fields is incorrect" -#: ../../../..//inc/import.class.php:156 +#: ../../../../inc/import.class.php:156 msgid "El número de campos es incorrecto" msgstr "Le nombre de champs est incorrect" # "Please, check the CSV file format" -#: ../../../..//inc/import.class.php:156 +#: ../../../../inc/import.class.php:156 msgid "Compruebe el formato del archivo CSV" msgstr "Veuilez vérifier le format du fichier CSV" # "Error on importing account" -#: ../../../..//inc/import.class.php:161 +#: ../../../../inc/import.class.php:161 msgid "Error importando cuenta" msgstr "Erreur pendant l'importation des comptes" # "Unable to process XML file" -#: ../../../..//inc/import.class.php:262 +#: ../../../../inc/import.class.php:262 msgid "No es posible procesar el archivo XML" msgstr "Impossible de traiter le fichier XML" # "XML file not supported" -#: ../../../..//inc/import.class.php:289 +#: ../../../../inc/import.class.php:289 msgid "Archivo XML no soportado" msgstr "Fichier XML non supportés" # "Unable to detect the application the data was exported from" -#: ../../../..//inc/import.class.php:289 +#: ../../../../inc/import.class.php:289 msgid "No es posible detectar la aplicación que exportó los datos" msgstr "" "Impossible de détecter l'application depuis laquelle les données ont été " "exportés" # "A request for changing your user password has been done." -#: ../../../..//inc/auth.class.php:186 +#: ../../../../inc/auth.class.php:186 msgid "Se ha solicitado el cambio de su clave de usuario." msgstr "" "Une demande de changement de mot de passe pour votre utilisateur a été faite" # "In order to complete the process, please go to this URL:" -#: ../../../..//inc/auth.class.php:188 +#: ../../../../inc/auth.class.php:188 msgid "Para completar el proceso es necesario que acceda a la siguiente URL:" msgstr "Afin de terminer le traitement, veuillez aller sur cet URL:" # "If you have not requested this action, please dismiss this message." -#: ../../../..//inc/auth.class.php:192 +#: ../../../../inc/auth.class.php:192 msgid "Si no ha solicitado esta acción, ignore este mensaje." msgstr "" "Si vous n'êtes pas à l'origine de cette demande, ne tenez pas compte de ce " "message." # "Request Password Change" -#: ../../../..//inc/tpl/passreset.php:46 +#: ../../../../inc/tpl/passreset.php:47 msgid "Solicitud de Cambio de Clave" msgstr "Demande de changement de Mot de passe" # "User login" -#: ../../../..//inc/tpl/passreset.php:49 +#: ../../../../inc/tpl/passreset.php:50 msgid "Login del Usuario" msgstr "Login de l'utilisateur" # "User's Email" -#: ../../../..//inc/tpl/passreset.php:54 +#: ../../../../inc/tpl/passreset.php:55 msgid "Email del Usuario" msgstr "Courriel de l'utilisateur" # "Email" -#: ../../../..//inc/tpl/passreset.php:55 ../../../..//inc/tpl/users.php:112 +#: ../../../../inc/tpl/passreset.php:56 ../../../../inc/tpl/users.php:112 msgid "Email" msgstr "Courriel" # "New Password" -#: ../../../..//inc/tpl/passreset.php:60 +#: ../../../../inc/tpl/passreset.php:61 msgid "Nueva Clave" msgstr "Nouveau Mot de passe" # "New Password (Verify)" -#: ../../../..//inc/tpl/passreset.php:68 +#: ../../../../inc/tpl/passreset.php:69 msgid "Nueva Clave (Verificar)" msgstr "Nouveau Mot de passe (Vérifier)" # "Password (Verify)" -#: ../../../..//inc/tpl/passreset.php:69 +#: ../../../../inc/tpl/passreset.php:70 msgid "Clave (Verificar)" msgstr "Mot de passe (Vérifier)" # "Back" -#: ../../../..//inc/tpl/passreset.php:82 +#: ../../../../inc/tpl/passreset.php:83 msgid "Volver" msgstr "Retour" # "Go back to login" -#: ../../../..//inc/tpl/passreset.php:82 +#: ../../../../inc/tpl/passreset.php:83 msgid "Volver a iniciar sesión" msgstr "Retour au login" # "Request" -#: ../../../..//inc/tpl/passreset.php:84 +#: ../../../../inc/tpl/passreset.php:85 msgid "Solicitar" msgstr "Demander" # "Request password change" -#: ../../../..//inc/tpl/passreset.php:85 +#: ../../../../inc/tpl/passreset.php:86 msgid "Solicitar cambio de clave" msgstr "Demander le changement de mot de passe" # "Change" -#: ../../../..//inc/tpl/passreset.php:87 +#: ../../../../inc/tpl/passreset.php:88 msgid "Cambiar" msgstr "Changer" # "Change password" -#: ../../../..//inc/tpl/passreset.php:88 +#: ../../../../inc/tpl/passreset.php:89 msgid "Cambiar Clave" msgstr "Changer Mot de passe" # "Request Account Modification" -#: ../../../..//inc/tpl/request.php:33 +#: ../../../../inc/tpl/request.php:33 msgid "Solicitar Modificación de Cuenta" msgstr "Demander modification de Compte" # "Request" -#: ../../../..//inc/tpl/request.php:54 +#: ../../../../inc/tpl/request.php:54 msgid "Petición" msgstr "Demande" # "Request description" -#: ../../../..//inc/tpl/request.php:56 +#: ../../../../inc/tpl/request.php:56 msgid "Descripción de la petición" msgstr "Description de la demande" # "Back" -#: ../../../..//inc/tpl/request.php:68 ../../../..//inc/tpl/editpass.php:84 -#: ../../../..//inc/tpl/accounts.php:508 +#: ../../../../inc/tpl/request.php:68 ../../../../inc/tpl/editpass.php:84 +#: ../../../../inc/tpl/accounts.php:508 msgid "Atrás" msgstr "Retour" # "Send" -#: ../../../..//inc/tpl/request.php:71 +#: ../../../../inc/tpl/request.php:71 msgid "Enviar" msgstr "Envoyer" # "Last backup" -#: ../../../..//inc/tpl/backup.php:42 +#: ../../../../inc/tpl/backup.php:42 msgid "Último backup" msgstr "Dernière sauvegarde" # "There are no backups available" -#: ../../../..//inc/tpl/backup.php:42 +#: ../../../../inc/tpl/backup.php:42 msgid "No se encontraron backups" msgstr "Il n'y a pas de sauvegarde disponible" # "Result" -#: ../../../..//inc/tpl/backup.php:48 +#: ../../../../inc/tpl/backup.php:48 msgid "Resultado" msgstr "Resultat" # "Download Current" -#: ../../../..//inc/tpl/backup.php:56 +#: ../../../../inc/tpl/backup.php:56 msgid "Descargar Actual" msgstr "Télécharger l'élément actuel" # "There are no backups for download" -#: ../../../..//inc/tpl/backup.php:64 +#: ../../../../inc/tpl/backup.php:64 msgid "No hay backups para descargar" msgstr "Il n'y a pas de sauvegarde à télécharger" # "Last Change" -#: ../../../..//inc/tpl/masterpass.php:42 +#: ../../../../inc/tpl/masterpass.php:42 msgid "Último cambio" msgstr "Dernier changement" # "Current Master Password" -#: ../../../..//inc/tpl/masterpass.php:51 +#: ../../../../inc/tpl/masterpass.php:51 msgid "Clave Maestra actual" msgstr "Mot de passe Maître actuel" # "New Master Password" -#: ../../../..//inc/tpl/masterpass.php:59 +#: ../../../../inc/tpl/masterpass.php:59 msgid "Nueva Clave Maestra" msgstr "Nouveau Mot de passe Maître" # "New Master Password (repeat)" -#: ../../../..//inc/tpl/masterpass.php:68 +#: ../../../../inc/tpl/masterpass.php:68 msgid "Nueva Clave Maestra (repetir)" msgstr "Nouveau Mot de passe Maître (répéter)" # "Do not modify accounts" -#: ../../../..//inc/tpl/masterpass.php:76 +#: ../../../../inc/tpl/masterpass.php:76 msgid "No modificar cuentas" msgstr "Ne pas modifier les comptes" # "NO" -#: ../../../..//inc/tpl/masterpass.php:80 -#: ../../../..//inc/tpl/masterpass.php:99 -#: ../../../..//inc/tpl/masterpass.php:125 ../../../..//inc/tpl/migrate.php:81 -#: ../../../..//inc/tpl/migrate.php:130 ../../../..//inc/tpl/accounts.php:305 -#: ../../../..//inc/tpl/accounts.php:336 ../../../..//inc/tpl/accounts.php:593 +#: ../../../../inc/tpl/masterpass.php:80 ../../../../inc/tpl/masterpass.php:99 +#: ../../../../inc/tpl/masterpass.php:125 ../../../../inc/tpl/migrate.php:81 +#: ../../../../inc/tpl/migrate.php:130 ../../../../inc/tpl/accounts.php:305 +#: ../../../../inc/tpl/accounts.php:336 ../../../../inc/tpl/accounts.php:593 msgid "NO" msgstr "NON" # "Confirm Change" -#: ../../../..//inc/tpl/masterpass.php:86 +#: ../../../../inc/tpl/masterpass.php:86 msgid "Confirmar cambio" msgstr "Confirmer changement" # "Warning" -#: ../../../..//inc/tpl/masterpass.php:89 -#: ../../../..//inc/tpl/masterpass.php:92 -#: ../../../..//inc/tpl/masterpass.php:95 ../../../..//inc/tpl/migrate.php:78 +#: ../../../../inc/tpl/masterpass.php:89 ../../../../inc/tpl/masterpass.php:92 +#: ../../../../inc/tpl/masterpass.php:95 ../../../../inc/tpl/migrate.php:78 msgid "Atención" msgstr "Attention" # "You should save the new password on a secure place" -#: ../../../..//inc/tpl/masterpass.php:90 +#: ../../../../inc/tpl/masterpass.php:90 msgid "Guarde la nueva clave en un lugar seguro." msgstr "Vous devriez sauvegarder le mot de passe dans un endroit sûre" # "All accounts passwords will be encrypted again." -#: ../../../..//inc/tpl/masterpass.php:93 +#: ../../../../inc/tpl/masterpass.php:93 msgid "Se volverán a encriptar las claves de todas las cuentas." msgstr "Tous les mots de passe des comptes seront encryptés de nouveau." # "Users will need to enter the new master key." -#: ../../../..//inc/tpl/masterpass.php:96 +#: ../../../../inc/tpl/masterpass.php:96 msgid "Los usuarios deberán de introducir la nueva clave maestra." msgstr "Les utilisateurs devront saisir un nouveau mot de passe maître." # "YES" -#: ../../../..//inc/tpl/masterpass.php:127 -#: ../../../..//inc/tpl/migrate.php:132 ../../../..//inc/tpl/accounts.php:305 -#: ../../../..//inc/tpl/accounts.php:336 ../../../..//inc/tpl/accounts.php:595 +#: ../../../../inc/tpl/masterpass.php:127 ../../../../inc/tpl/migrate.php:132 +#: ../../../../inc/tpl/accounts.php:305 ../../../../inc/tpl/accounts.php:336 +#: ../../../../inc/tpl/accounts.php:595 msgid "SI" msgstr "OUI" # "Group name" -#: ../../../..//inc/tpl/groups.php:41 +#: ../../../../inc/tpl/groups.php:41 msgid "Nombre del grupo" msgstr "Nom du groupe" # "Group description" -#: ../../../..//inc/tpl/groups.php:47 +#: ../../../../inc/tpl/groups.php:47 msgid "Descripción del grupo" msgstr "Description du groupe" # "phpPMS Import" -#: ../../../..//inc/tpl/migrate.php:33 +#: ../../../../inc/tpl/migrate.php:33 msgid "Importar phpPMS" msgstr "Importer phpPMS" # "DB Username" -#: ../../../..//inc/tpl/migrate.php:40 ../../../..//inc/tpl/install.php:131 -#: ../../../..//inc/tpl/install.php:132 +#: ../../../../inc/tpl/migrate.php:40 ../../../../inc/tpl/install.php:131 +#: ../../../../inc/tpl/install.php:132 msgid "Usuario BBDD" msgstr "Utilisateur BDD" # "DB Password" -#: ../../../..//inc/tpl/migrate.php:49 ../../../..//inc/tpl/install.php:139 -#: ../../../..//inc/tpl/install.php:140 +#: ../../../../inc/tpl/migrate.php:49 ../../../../inc/tpl/install.php:139 +#: ../../../../inc/tpl/install.php:140 msgid "Clave BBDD" msgstr "Mot de passe BDD" # "DB Name" -#: ../../../..//inc/tpl/migrate.php:57 ../../../..//inc/tpl/install.php:147 -#: ../../../..//inc/tpl/install.php:148 +#: ../../../../inc/tpl/migrate.php:57 ../../../../inc/tpl/install.php:147 +#: ../../../../inc/tpl/install.php:148 msgid "Nombre BBDD" msgstr "Nom BDD" # "DB Server" -#: ../../../..//inc/tpl/migrate.php:66 ../../../..//inc/tpl/install.php:156 -#: ../../../..//inc/tpl/install.php:157 +#: ../../../../inc/tpl/migrate.php:66 ../../../../inc/tpl/install.php:156 +#: ../../../../inc/tpl/install.php:157 msgid "Servidor BBDD" msgstr "Serveur BDD" # "Confirm" -#: ../../../..//inc/tpl/migrate.php:75 +#: ../../../../inc/tpl/migrate.php:75 msgid "Confirmar" msgstr "Confirmer" # "Current data will be removed (except current user)" -#: ../../../..//inc/tpl/migrate.php:79 +#: ../../../../inc/tpl/migrate.php:79 msgid "Los datos actuales serán borrados (excepto el usuario actual)" msgstr "Les données actuelles seront supprimées(sauf l'utilisateur actuel)" # "Start" -#: ../../../..//inc/tpl/migrate.php:97 +#: ../../../../inc/tpl/migrate.php:97 msgid "Iniciar" msgstr "Démarrer" # "CSV/XML Import" -#: ../../../..//inc/tpl/migrate.php:103 +#: ../../../../inc/tpl/migrate.php:103 msgid "Importar CSV/XML" msgstr "Importer CSV/XML" # "Drop files here or click to select" -#: ../../../..//inc/tpl/migrate.php:117 +#: ../../../../inc/tpl/migrate.php:117 msgid "Soltar archivo aquí o click para seleccionar" msgstr "Supprimer les fichier ici ou cliquez pour sélectionner" # "Lost your password?" -#: ../../../..//inc/tpl/login.php:65 +#: ../../../../inc/tpl/login.php:65 msgid "¿Olvidó su clave?" msgstr "Mot de passe oublié?" # "Application successfully updated" -#: ../../../..//inc/tpl/login.php:78 +#: ../../../../inc/tpl/login.php:78 msgid "Aplicación actualizada correctamente" msgstr "Application mis à jour avec succès" +# New search interface with list or card like styles +#: ../../../../inc/tpl/login.php:84 +#, fuzzy +msgid "Nuevo interface de búsqueda con estilo de lista o tipo tarjeta" +msgstr "New search interface with list or card like styles" + +# Users and groups selection for account access +#: ../../../../inc/tpl/login.php:85 +#, fuzzy +msgid "Selección de grupos y usuarios de acceso a cuentas" +msgstr "Users and groups selection for account access" + +# Drag&Drop for files uploading +#: ../../../../inc/tpl/login.php:86 +#, fuzzy +msgid "Drag&Drop para subida de archivos" +msgstr "Drag&Drop for files uploading" + +# "Copy Password to Clipboard" +#: ../../../../inc/tpl/login.php:87 +#, fuzzy +msgid "Copiar clave al portapapeles" +msgstr "Copier le mot de passe dans le presse papier" + +# Accounts history and restore points +#: ../../../../inc/tpl/login.php:88 +#, fuzzy +msgid "Historial de cuentas y restauración" +msgstr "Accounts history and restore points" + +# New categories and customers management +#: ../../../../inc/tpl/login.php:89 +#, fuzzy +msgid "Nueva gestión de categorías y clientes" +msgstr "New categories and customers management" + +# Reset password function for users +#: ../../../../inc/tpl/login.php:90 +#, fuzzy +msgid "Función de olvido de claves para usuarios" +msgstr "Reset password function for users" + +# Improved Active Directory and LDAP integration +#: ../../../../inc/tpl/login.php:91 +#, fuzzy +msgid "Integración con Active Directory y LDAP mejorada" +msgstr "Improved Active Directory and LDAP integration" + +# Email notifications with authentication +#: ../../../../inc/tpl/login.php:92 +#, fuzzy +msgid "Autentificación para notificaciones por correo" +msgstr "Email notifications with authentication" + +# Global account searching for unprivileged users +#: ../../../../inc/tpl/login.php:93 +#, fuzzy +msgid "Búsqueda global de cuentas para usuarios sin permisos" +msgstr "Global account searching for unprivileged users" + +# Requests for account modification for unprivileged users +#: ../../../../inc/tpl/login.php:94 +#, fuzzy +msgid "Solicitudes de modificación de cuentas para usuarios sin permisos" +msgstr "Requests for account modification for unprivileged users" + +# Accounts import from KeePass, KeePassX and CSV +#: ../../../../inc/tpl/login.php:95 +#, fuzzy +msgid "Importación de cuentas desde KeePass, KeePassX y CSV" +msgstr "Accounts import from KeePass, KeePassX and CSV" + +# Clone account function +#: ../../../../inc/tpl/login.php:96 +#, fuzzy +msgid "Función de copiar cuentas" +msgstr "Clone account function" + +# Code optimization and faster loading +#: ../../../../inc/tpl/login.php:97 +#, fuzzy +msgid "Optimización del código y mayor rapidez de carga" +msgstr "Code optimization and faster loading" + +# Improved security to prevent XSS and SQL injection +#: ../../../../inc/tpl/login.php:98 +#, fuzzy +msgid "Mejoras de seguridad en XSS e inyección SQL" +msgstr "Improved security to prevent XSS and SQL injection" + +# New Features +#: ../../../../inc/tpl/login.php:101 ../../../../inc/tpl/login.php:102 +#, fuzzy +msgid "Nuevas Características" +msgstr "New Features" + # "Customer name" -#: ../../../..//inc/tpl/customers.php:41 +#: ../../../../inc/tpl/customers.php:41 msgid "Nombre del cliente" msgstr "Nom du client" # "Customer description" -#: ../../../..//inc/tpl/customers.php:47 +#: ../../../../inc/tpl/customers.php:47 msgid "Descripción del cliente" msgstr "Description du client" # "Change user password" -#: ../../../..//inc/tpl/main.php:37 +#: ../../../../inc/tpl/main.php:37 msgid "Cambiar clave de usuario" msgstr "Changer mot de passe utilisateur" # "Sign out" -#: ../../../..//inc/tpl/main.php:44 +#: ../../../../inc/tpl/main.php:44 msgid "Salir" msgstr "Se déconnecter" # "Search" -#: ../../../..//inc/tpl/main.php:52 +#: ../../../../inc/tpl/main.php:52 msgid "Buscar" msgstr "Chercher" # "Customer and Categories management" -#: ../../../..//inc/tpl/main.php:55 +#: ../../../../inc/tpl/main.php:55 msgid "Gestión de Clientes y Categorías" msgstr "Gestion des clients et catégories" # "Event Log" -#: ../../../..//inc/tpl/main.php:57 ../../../..//inc/tpl/eventlog.php:37 +#: ../../../../inc/tpl/main.php:57 ../../../../inc/tpl/eventlog.php:37 msgid "Registro de Eventos" msgstr "Journal d'évènements" # "Profile name" -#: ../../../..//inc/tpl/profiles.php:41 +#: ../../../../inc/tpl/profiles.php:41 msgid "Nombre del perfil" msgstr "Nom du profil" # "View account details" -#: ../../../..//inc/tpl/profiles.php:48 +#: ../../../../inc/tpl/profiles.php:48 msgid "Ver detalles de cuenta" msgstr "Voir détails de compte" # "View" -#: ../../../..//inc/tpl/profiles.php:48 +#: ../../../../inc/tpl/profiles.php:48 msgid "Ver" msgstr "Voir" # "View account password" -#: ../../../..//inc/tpl/profiles.php:50 +#: ../../../../inc/tpl/profiles.php:50 msgid "Ver clave de cuenta" msgstr "Voir mot de passe de compte" # "View account history" -#: ../../../..//inc/tpl/profiles.php:53 +#: ../../../../inc/tpl/profiles.php:53 msgid "Ver historial de cuenta" msgstr "Voir historique de compte" # "View History" -#: ../../../..//inc/tpl/profiles.php:53 +#: ../../../../inc/tpl/profiles.php:53 msgid "Ver Historial" msgstr "Voir Historique" # "Edit account" -#: ../../../..//inc/tpl/profiles.php:55 +#: ../../../../inc/tpl/profiles.php:55 msgid "Editar cuenta" msgstr "Editer compte" # "Edit" -#: ../../../..//inc/tpl/profiles.php:55 +#: ../../../../inc/tpl/profiles.php:55 msgid "Editar" msgstr "Editer" # "Edit account password" -#: ../../../..//inc/tpl/profiles.php:58 +#: ../../../../inc/tpl/profiles.php:58 msgid "Editar clave de cuenta" msgstr "Editer mot de passe du compte" # "Edit Password" -#: ../../../..//inc/tpl/profiles.php:58 +#: ../../../../inc/tpl/profiles.php:58 msgid "Editar Clave" msgstr "Editer Mot de passe" # "Add new account" -#: ../../../..//inc/tpl/profiles.php:60 +#: ../../../../inc/tpl/profiles.php:60 msgid "Añadir nueva cuenta" msgstr "Ajouter nouveau compte" # "Add" -#: ../../../..//inc/tpl/profiles.php:60 +#: ../../../../inc/tpl/profiles.php:60 msgid "Añadir" msgstr "Ajouter" # "Delete account" -#: ../../../..//inc/tpl/profiles.php:63 +#: ../../../../inc/tpl/profiles.php:63 msgid "Borrar cuenta" msgstr "Supprimer compte" # "Delete" -#: ../../../..//inc/tpl/profiles.php:63 +#: ../../../../inc/tpl/profiles.php:63 msgid "Borrar" msgstr "Supprimer" # "View account files" -#: ../../../..//inc/tpl/profiles.php:65 +#: ../../../../inc/tpl/profiles.php:65 msgid "Ver archivos de cuenta" msgstr "Voir fichiers de compte" # "Files" -#: ../../../..//inc/tpl/profiles.php:65 ../../../..//inc/tpl/accounts.php:358 +#: ../../../../inc/tpl/profiles.php:65 ../../../../inc/tpl/accounts.php:358 msgid "Archivos" msgstr "Fichiers" # "General configuration" -#: ../../../..//inc/tpl/profiles.php:74 +#: ../../../../inc/tpl/profiles.php:74 msgid "Configuración general" msgstr "Configuration générale" # "General" -#: ../../../..//inc/tpl/profiles.php:74 +#: ../../../../inc/tpl/profiles.php:74 msgid "General" msgstr "Générale" # "Change master password" -#: ../../../..//inc/tpl/profiles.php:76 +#: ../../../../inc/tpl/profiles.php:76 msgid "Cambiar clave maestra" msgstr "Changer mot de passe maître" # "Perform backup" -#: ../../../..//inc/tpl/profiles.php:79 +#: ../../../../inc/tpl/profiles.php:79 msgid "Realizar copia de seguridad" msgstr "Effectuer une sauvegarde" # "Backup" -#: ../../../..//inc/tpl/profiles.php:79 +#: ../../../../inc/tpl/profiles.php:79 msgid "Backup" msgstr "Sauvegarde" # "Management" -#: ../../../..//inc/tpl/profiles.php:85 +#: ../../../../inc/tpl/profiles.php:85 msgid "Gestión" msgstr "Gestion" # "Users management" -#: ../../../..//inc/tpl/profiles.php:88 +#: ../../../../inc/tpl/profiles.php:88 msgid "Gestión de usuarios" msgstr "Gestion des utilisateurs" # "Groups management" -#: ../../../..//inc/tpl/profiles.php:90 +#: ../../../../inc/tpl/profiles.php:90 msgid "Gestión de grupos" msgstr "Gestion des groupes" # "Groups" -#: ../../../..//inc/tpl/profiles.php:90 ../../../..//inc/tpl/accounts.php:312 +#: ../../../../inc/tpl/profiles.php:90 ../../../../inc/tpl/accounts.php:312 msgid "Grupos" msgstr "Groupes" # "Profiles management" -#: ../../../..//inc/tpl/profiles.php:93 +#: ../../../../inc/tpl/profiles.php:93 msgid "Gestión de perfiles" msgstr "Gestion des profils" # "Profiles" -#: ../../../..//inc/tpl/profiles.php:93 +#: ../../../../inc/tpl/profiles.php:93 msgid "Perfiles" msgstr "Profils" # "Categories management" -#: ../../../..//inc/tpl/profiles.php:95 +#: ../../../../inc/tpl/profiles.php:95 msgid "Gestión de categorías" msgstr "Gestion des catégories" # "Categories" -#: ../../../..//inc/tpl/profiles.php:95 +#: ../../../../inc/tpl/profiles.php:95 msgid "Categorías" msgstr "Catégories" # "Customers management" -#: ../../../..//inc/tpl/profiles.php:98 +#: ../../../../inc/tpl/profiles.php:98 msgid "Gestión de clientes" msgstr "Gestion des clients" # "Customers" -#: ../../../..//inc/tpl/profiles.php:98 +#: ../../../../inc/tpl/profiles.php:98 msgid "Clientes" msgstr "Clients" # "Others" -#: ../../../..//inc/tpl/profiles.php:104 +#: ../../../../inc/tpl/profiles.php:104 msgid "Otros" msgstr "Autres" # "View event log" -#: ../../../..//inc/tpl/profiles.php:107 +#: ../../../../inc/tpl/profiles.php:107 msgid "Ver log de eventos" msgstr "Voir journal d'évènements" # "Event Log" -#: ../../../..//inc/tpl/profiles.php:107 +#: ../../../../inc/tpl/profiles.php:107 msgid "Log de Eventos" msgstr "Journal d'évènements" # "Clear" -#: ../../../..//inc/tpl/search.php:59 +#: ../../../../inc/tpl/search.php:59 msgid "Limpiar" msgstr "Nettoyer" # "Text to search" -#: ../../../..//inc/tpl/search.php:60 +#: ../../../../inc/tpl/search.php:60 msgid "Texto a buscar" msgstr "Text à chercher" # "Global search" -#: ../../../..//inc/tpl/search.php:63 +#: ../../../../inc/tpl/search.php:63 msgid "Búsqueda global" msgstr "Recherche globale" # "APP" -#: ../../../..//inc/tpl/search.php:77 +#: ../../../../inc/tpl/search.php:77 msgid "CPP" msgstr "APP" # "Accounts per page" -#: ../../../..//inc/tpl/search.php:77 +#: ../../../../inc/tpl/search.php:77 msgid "Cuentas por página" msgstr "Comptes par page" # "Select Customer" -#: ../../../..//inc/tpl/search.php:84 ../../../..//inc/tpl/accounts.php:572 +#: ../../../../inc/tpl/search.php:84 ../../../../inc/tpl/accounts.php:572 msgid "Seleccionar Cliente" msgstr "Sélectionner Client" # "No results" -#: ../../../..//inc/tpl/search.php:84 ../../../..//inc/tpl/search.php:85 -#: ../../../..//inc/tpl/accounts.php:574 ../../../..//inc/tpl/accounts.php:579 -#: ../../../..//inc/tpl/config.php:567 ../../../..//inc/tpl/config.php:572 -#: ../../../..//inc/tpl/users.php:220 ../../../..//inc/tpl/users.php:225 +#: ../../../../inc/tpl/search.php:84 ../../../../inc/tpl/search.php:85 +#: ../../../../inc/tpl/accounts.php:574 ../../../../inc/tpl/accounts.php:579 +#: ../../../../inc/tpl/config.php:567 ../../../../inc/tpl/config.php:572 +#: ../../../../inc/tpl/users.php:220 ../../../../inc/tpl/users.php:225 msgid "Sin resultados" msgstr "Aucun résultat" # "Select category" -#: ../../../..//inc/tpl/search.php:85 ../../../..//inc/tpl/accounts.php:577 +#: ../../../../inc/tpl/search.php:85 ../../../../inc/tpl/accounts.php:577 msgid "Seleccionar Categoría" msgstr "Sélectionner Catégorie" # "Installation finished" -#: ../../../..//inc/tpl/install.php:35 +#: ../../../../inc/tpl/install.php:35 msgid "Instalación finalizada" msgstr "Installation terminée" # "Click here to sign in" -#: ../../../..//inc/tpl/install.php:36 +#: ../../../../inc/tpl/install.php:36 msgid "Pulse aquí para acceder" msgstr "" "Pressez ici pour vous connecter" # "Installation" -#: ../../../..//inc/tpl/install.php:46 +#: ../../../../inc/tpl/install.php:46 msgid "Instalación " msgstr "Installation" # "This PHP version is vulnerable to NULL Byte attack CVE-2006-7243)" -#: ../../../..//inc/tpl/install.php:57 +#: ../../../../inc/tpl/install.php:57 msgid "La version de PHP es vulnerable al ataque NULL Byte (CVE-2006-7243)" msgstr "" "Cette version de PHP est vulnerable aux attaques NULL Byte (CVE-2006-7243)" # "Please update PHP version to run sysPass in a secure way" -#: ../../../..//inc/tpl/install.php:58 +#: ../../../../inc/tpl/install.php:58 msgid "Actualice la versión de PHP para usar sysPass de forma segura" msgstr "" "Mettez à jour votre version de PHP afin d'utiliser sysPass de manière " "sécurisée" # "Cannot find random number generator." -#: ../../../..//inc/tpl/install.php:62 +#: ../../../../inc/tpl/install.php:62 msgid "No se encuentra el generador de números aleatorios." msgstr "Impossible de trouver le générateur de nombres aléatoires." # "" -#: ../../../..//inc/tpl/install.php:63 +#: ../../../../inc/tpl/install.php:63 msgid "" "Sin esta función un atacante puede utilizar su cuenta al resetear la clave" msgstr "" @@ -3283,517 +3340,517 @@ msgstr "" "changement de mot de passe" # "Create sysPass admin account" -#: ../../../..//inc/tpl/install.php:85 +#: ../../../../inc/tpl/install.php:85 msgid "Crear cuenta de admin de sysPass" msgstr "Créer le compte admin sysPass" # "sysPass administrator's login" -#: ../../../..//inc/tpl/install.php:88 +#: ../../../../inc/tpl/install.php:88 msgid "Login del usuario administrador de sysPass" msgstr "Login administrateur de sysPass" # "Show Password" -#: ../../../..//inc/tpl/install.php:96 ../../../..//inc/tpl/install.php:97 -#: ../../../..//inc/tpl/install.php:111 ../../../..//inc/tpl/install.php:112 -#: ../../../..//inc/tpl/install.php:137 ../../../..//inc/tpl/install.php:138 +#: ../../../../inc/tpl/install.php:96 ../../../../inc/tpl/install.php:97 +#: ../../../../inc/tpl/install.php:111 ../../../../inc/tpl/install.php:112 +#: ../../../../inc/tpl/install.php:137 ../../../../inc/tpl/install.php:138 msgid "Mostrar Clave" msgstr "Afficher Mot de passe" # "DB Configuration" -#: ../../../..//inc/tpl/install.php:124 +#: ../../../../inc/tpl/install.php:124 msgid "Configurar BBDD" msgstr "Configuration BDD" # "User login with with database administrative rights" -#: ../../../..//inc/tpl/install.php:130 +#: ../../../../inc/tpl/install.php:130 msgid "Login de usuario con permisos de administrador de MySQL" msgstr "Un utilisateur avec des droits d'administration sur la BDD" # "sysPass database name" -#: ../../../..//inc/tpl/install.php:146 +#: ../../../../inc/tpl/install.php:146 msgid "Nombre de la base de datos para sysPass" msgstr "Nom de la base de données sysPass" # "sysPass database server name" -#: ../../../..//inc/tpl/install.php:155 +#: ../../../../inc/tpl/install.php:155 msgid "Nombre del servidor de la base de datos de sysPass" msgstr "Nom du serveur de base de données sysPass" # "It does not create or verify the user's permissions on the DB" -#: ../../../..//inc/tpl/install.php:165 +#: ../../../../inc/tpl/install.php:165 msgid "No crea ni verifica los permisos del usuario sobre la BBDD" msgstr "" "Ne crée pas ni ne vérifie les permissions de l'utilisateur dans la base de " "données" # "Hosting Mode" -#: ../../../..//inc/tpl/install.php:167 ../../../..//inc/tpl/install.php:185 -#: ../../../..//inc/tpl/install.php:187 +#: ../../../../inc/tpl/install.php:167 ../../../../inc/tpl/install.php:185 +#: ../../../../inc/tpl/install.php:187 msgid "Modo Hosting" msgstr "Mode Hébergé" # "Install" -#: ../../../..//inc/tpl/install.php:174 +#: ../../../../inc/tpl/install.php:174 msgid "Instalar" msgstr "Installer" # "Edit Account Password" -#: ../../../..//inc/tpl/editpass.php:35 ../../../..//inc/tpl/accounts.php:543 +#: ../../../../inc/tpl/editpass.php:35 ../../../../inc/tpl/accounts.php:543 msgid "Modificar Clave de Cuenta" msgstr "Modifier Mot de passe de Compte" # "The generated password will be shown here" -#: ../../../..//inc/tpl/editpass.php:60 ../../../..//inc/tpl/accounts.php:254 +#: ../../../../inc/tpl/editpass.php:60 ../../../../inc/tpl/accounts.php:254 msgid "La clave generada se mostrará aquí" msgstr "Le mot de passe généré sera affiché ici" # "Edit Account" -#: ../../../..//inc/tpl/accounts.php:63 +#: ../../../../inc/tpl/accounts.php:63 msgid "Editar Cuenta" msgstr "Editer Compte" # "Account name" -#: ../../../..//inc/tpl/accounts.php:177 +#: ../../../../inc/tpl/accounts.php:177 msgid "Nombre de cuenta" msgstr "Nom de compte" # "Search down or enter" -#: ../../../..//inc/tpl/accounts.php:196 +#: ../../../../inc/tpl/accounts.php:196 msgid "Buscar en desplegable o introducir" msgstr "Chercher dans la liste déroulante ou entrer" # "Access URL or IP" -#: ../../../..//inc/tpl/accounts.php:222 +#: ../../../../inc/tpl/accounts.php:222 msgid "URL o IP de acceso" msgstr "URL ou IP d'accès" # "Access user" -#: ../../../..//inc/tpl/accounts.php:238 +#: ../../../../inc/tpl/accounts.php:238 msgid "Usuario de acceso" msgstr "Utilisateur d'accès" # "Notes about the account" -#: ../../../..//inc/tpl/accounts.php:271 +#: ../../../../inc/tpl/accounts.php:271 msgid "Notas sobre la cuenta" msgstr "Notes sur le compte" # "Permissions" -#: ../../../..//inc/tpl/accounts.php:277 +#: ../../../../inc/tpl/accounts.php:277 msgid "Permisos" msgstr "Permissions" # "Enable Edit" -#: ../../../..//inc/tpl/accounts.php:304 ../../../..//inc/tpl/accounts.php:335 +#: ../../../../inc/tpl/accounts.php:304 ../../../../inc/tpl/accounts.php:335 msgid "Hablitar edición" msgstr "Activer l'Edition" # "Drop files here (max. 5) or click to select" -#: ../../../..//inc/tpl/accounts.php:371 +#: ../../../../inc/tpl/accounts.php:371 msgid "Soltar archivos aquí (max. 5) o click para seleccionar" msgstr "Déposer les fichier ici (max. 5) ou cliquez pour les sélectionner" # "Maximum file size" -#: ../../../..//inc/tpl/accounts.php:371 ../../../..//inc/tpl/config.php:193 +#: ../../../../inc/tpl/accounts.php:371 ../../../../inc/tpl/config.php:193 msgid "Tamaño máximo de archivo" msgstr "Taille maximale de fichier" # "History" -#: ../../../..//inc/tpl/accounts.php:383 +#: ../../../../inc/tpl/accounts.php:383 msgid "Historial" msgstr "Historique" # "Select date" -#: ../../../..//inc/tpl/accounts.php:398 +#: ../../../../inc/tpl/accounts.php:398 msgid "Seleccionar fecha" msgstr "Sélectionner date" # "Last Modification" -#: ../../../..//inc/tpl/accounts.php:405 ../../../..//inc/tpl/users.php:183 +#: ../../../../inc/tpl/accounts.php:405 ../../../../inc/tpl/users.php:183 msgid "Última Modificación" msgstr "Dernière modification" # "by" -#: ../../../..//inc/tpl/accounts.php:407 +#: ../../../../inc/tpl/accounts.php:407 msgid "por" msgstr "par" # "Visits" -#: ../../../..//inc/tpl/accounts.php:417 +#: ../../../../inc/tpl/accounts.php:417 msgid "Visitas" msgstr "Visites" # "Date Added" -#: ../../../..//inc/tpl/accounts.php:421 +#: ../../../../inc/tpl/accounts.php:421 msgid "Fecha Alta" msgstr "Date Ajoutée" # "Creator" -#: ../../../..//inc/tpl/accounts.php:425 +#: ../../../../inc/tpl/accounts.php:425 msgid "Creador" msgstr "Créateur" # "Main Group" -#: ../../../..//inc/tpl/accounts.php:429 +#: ../../../../inc/tpl/accounts.php:429 msgid "Grupo Principal" msgstr "Groupe Principal" # "Secondary Users" -#: ../../../..//inc/tpl/accounts.php:434 +#: ../../../../inc/tpl/accounts.php:434 msgid "Usuarios Secundarios" msgstr "Utilisateur Secondaires" # "Secondary Groups" -#: ../../../..//inc/tpl/accounts.php:455 +#: ../../../../inc/tpl/accounts.php:455 msgid "Grupos Secundarios" msgstr "Groupes Secondaires" # "Date Modified" -#: ../../../..//inc/tpl/accounts.php:477 +#: ../../../../inc/tpl/accounts.php:477 msgid "Fecha Edición" msgstr "Date Modifiée" # "Editor" -#: ../../../..//inc/tpl/accounts.php:481 +#: ../../../../inc/tpl/accounts.php:481 msgid "Editor" msgstr "Editeur" # "View Current" -#: ../../../..//inc/tpl/accounts.php:503 +#: ../../../../inc/tpl/accounts.php:503 msgid "Ver Actual" msgstr "Voir Actuel" # "Restore account from this point" -#: ../../../..//inc/tpl/accounts.php:515 +#: ../../../../inc/tpl/accounts.php:515 msgid "Restaurar cuenta desde este punto" msgstr "Restaurer les comptes à partir de ce point" # "Select secondary groups" -#: ../../../..//inc/tpl/accounts.php:582 +#: ../../../../inc/tpl/accounts.php:582 msgid "Seleccionar grupos secundarios" msgstr "Sélectionner les groupes secondaires" # "Select users" -#: ../../../..//inc/tpl/accounts.php:585 +#: ../../../../inc/tpl/accounts.php:585 msgid "Seleccionar usuarios" msgstr "Sélectionner utilisateurs" # "Category name" -#: ../../../..//inc/tpl/categories.php:41 +#: ../../../../inc/tpl/categories.php:41 msgid "Nombre de la categoría" msgstr "Nom de la catégorie" # "Category description" -#: ../../../..//inc/tpl/categories.php:47 +#: ../../../../inc/tpl/categories.php:47 msgid "Descripción de la categoría" msgstr "Description de la catégorie" # "Site" -#: ../../../..//inc/tpl/config.php:84 +#: ../../../../inc/tpl/config.php:84 msgid "Sitio" msgstr "Site" # "Language" -#: ../../../..//inc/tpl/config.php:92 +#: ../../../../inc/tpl/config.php:92 msgid "Idioma" msgstr "Langage" # "Session timeout (s)" -#: ../../../..//inc/tpl/config.php:106 +#: ../../../../inc/tpl/config.php:106 msgid "Timeout de sesión (s)" msgstr "Timeout de session (s)" # "Enable event log" -#: ../../../..//inc/tpl/config.php:114 +#: ../../../../inc/tpl/config.php:114 msgid "Habilitar log de eventos" msgstr "Active le journal des évènements" # "Enable debug" -#: ../../../..//inc/tpl/config.php:124 +#: ../../../../inc/tpl/config.php:124 msgid "Habilitar depuración" msgstr "Activer le mode debug" # "Maintenance mode" -#: ../../../..//inc/tpl/config.php:134 +#: ../../../../inc/tpl/config.php:134 msgid "Modo mantenimiento" msgstr "Mode maintenance" # "Check for updates" -#: ../../../..//inc/tpl/config.php:144 +#: ../../../../inc/tpl/config.php:144 msgid "Comprobar actualizaciones" msgstr "Vérifier les mises à jour" # "Account name as link" -#: ../../../..//inc/tpl/config.php:154 +#: ../../../../inc/tpl/config.php:154 msgid "Nombre de cuenta como enlace" msgstr "Nom de compte comme lien" # "Files management" -#: ../../../..//inc/tpl/config.php:164 +#: ../../../../inc/tpl/config.php:164 msgid "Gestión de archivos" msgstr "Gestion des fichiers" # "Global searches" -#: ../../../..//inc/tpl/config.php:174 +#: ../../../../inc/tpl/config.php:174 msgid "Búsquedas globales" msgstr "Recherches globales" # "Allowed file extensions" -#: ../../../..//inc/tpl/config.php:184 +#: ../../../../inc/tpl/config.php:184 msgid "Extensiones de archivos permitidas" msgstr "Extensions de fichiers permises" # "Results per page" -#: ../../../..//inc/tpl/config.php:202 +#: ../../../../inc/tpl/config.php:202 msgid "Resultados por página" msgstr "Resultats par page" # "Results like Cards" -#: ../../../..//inc/tpl/config.php:218 +#: ../../../../inc/tpl/config.php:218 msgid "Resultados en Tarjetas" msgstr "Résultats format cartes" # "Wiki" -#: ../../../..//inc/tpl/config.php:230 +#: ../../../../inc/tpl/config.php:230 msgid "Wiki" msgstr "Wiki" # "Enable Wiki links" -#: ../../../..//inc/tpl/config.php:236 +#: ../../../../inc/tpl/config.php:236 msgid "Habilitar enlaces Wiki" msgstr "Activer les liens Wiki" # "Wiki search URL" -#: ../../../..//inc/tpl/config.php:246 +#: ../../../../inc/tpl/config.php:246 msgid "URL de búsqueda Wiki" msgstr "URL de recherche Wiki" # "Wiki page URL" -#: ../../../..//inc/tpl/config.php:255 +#: ../../../../inc/tpl/config.php:255 msgid "URL de página en Wiki" msgstr "URL de page Wiki" # "Account name preffix" -#: ../../../..//inc/tpl/config.php:264 +#: ../../../../inc/tpl/config.php:264 msgid "Prefijo para nombre de cuenta" msgstr "Préfix de nom de compte" # "LDAP" -#: ../../../..//inc/tpl/config.php:276 +#: ../../../../inc/tpl/config.php:276 msgid "LDAP" msgstr "LDAP" # "Enable LDAP" -#: ../../../..//inc/tpl/config.php:283 +#: ../../../../inc/tpl/config.php:283 msgid "Habilitar LDAP" msgstr "Activer l'annuaire LDAP" # "Server" -#: ../../../..//inc/tpl/config.php:293 ../../../..//inc/tpl/config.php:398 +#: ../../../../inc/tpl/config.php:293 ../../../../inc/tpl/config.php:398 msgid "Servidor" msgstr "Serveur" # "Bind User" -#: ../../../..//inc/tpl/config.php:302 +#: ../../../../inc/tpl/config.php:302 msgid "Usuario de conexión" msgstr "Utilisateur de connexion" # "Bind Password" -#: ../../../..//inc/tpl/config.php:311 +#: ../../../../inc/tpl/config.php:311 msgid "Clave de conexión" msgstr "Mot de passe de connexion" # "Search base" -#: ../../../..//inc/tpl/config.php:320 +#: ../../../../inc/tpl/config.php:320 msgid "Base de búsqueda" msgstr "Base de recherche" # "Default Group" -#: ../../../..//inc/tpl/config.php:338 +#: ../../../../inc/tpl/config.php:338 msgid "Grupo por Defecto" msgstr "Groupe par défaut" # "Default Profile" -#: ../../../..//inc/tpl/config.php:347 +#: ../../../../inc/tpl/config.php:347 msgid "Perfil por Defecto" msgstr "Profil par défaut" # "Active Directory" -#: ../../../..//inc/tpl/config.php:356 +#: ../../../../inc/tpl/config.php:356 msgid "Active Directory" msgstr "Active Directory" # "Check" -#: ../../../..//inc/tpl/config.php:366 +#: ../../../../inc/tpl/config.php:366 msgid "Comprobar" msgstr "Vérifier" # "Check LDAP connection" -#: ../../../..//inc/tpl/config.php:369 +#: ../../../../inc/tpl/config.php:369 msgid "Comprobar conexión con LDAP" msgstr "Vérifier les connexions LDAP" # "Mail" -#: ../../../..//inc/tpl/config.php:383 +#: ../../../../inc/tpl/config.php:383 msgid "Correo" msgstr "Courriel" # "Enable email notifications" -#: ../../../..//inc/tpl/config.php:389 +#: ../../../../inc/tpl/config.php:389 msgid "Habilitar notificaciones de correo" msgstr "Activer les notifications par courriel" # "Port" -#: ../../../..//inc/tpl/config.php:406 +#: ../../../../inc/tpl/config.php:406 msgid "Puerto" msgstr "Port" # "Enable Authentication" -#: ../../../..//inc/tpl/config.php:414 +#: ../../../../inc/tpl/config.php:414 msgid "Habilitar Autentificación" msgstr "Activer l'authentification" # "Security" -#: ../../../..//inc/tpl/config.php:439 +#: ../../../../inc/tpl/config.php:439 msgid "Seguridad" msgstr "Sécurité" # "Disabled" -#: ../../../..//inc/tpl/config.php:445 +#: ../../../../inc/tpl/config.php:445 msgid "Deshabilitada" msgstr "Désactivé" # "Recipient email address" -#: ../../../..//inc/tpl/config.php:456 +#: ../../../../inc/tpl/config.php:456 msgid "Dirección de correo de envío" msgstr "Adresse courriel du destinataire" # "Enable requests by email" -#: ../../../..//inc/tpl/config.php:464 +#: ../../../../inc/tpl/config.php:464 msgid "Habilitar peticiones por correo" msgstr "Activer les demandes par courriel" # "Add extension" -#: ../../../..//inc/tpl/config.php:507 +#: ../../../../inc/tpl/config.php:507 msgid "Añadir extensión" msgstr "Ajouter extension" # "Delete extension" -#: ../../../..//inc/tpl/config.php:508 +#: ../../../../inc/tpl/config.php:508 msgid "Eliminar extensión" msgstr "Supprimer extension" # "Add filter" -#: ../../../..//inc/tpl/config.php:536 +#: ../../../../inc/tpl/config.php:536 msgid "Añadir filtro" msgstr "Ajouter filtre" # "Delete filter" -#: ../../../..//inc/tpl/config.php:537 +#: ../../../../inc/tpl/config.php:537 msgid "Eliminar filtro" msgstr "Supprimer filtre" # "Select Group" -#: ../../../..//inc/tpl/config.php:565 ../../../..//inc/tpl/users.php:223 +#: ../../../../inc/tpl/config.php:565 ../../../../inc/tpl/users.php:223 msgid "Seleccionar Grupo" msgstr "Sélectionner Groupe" # "Select Profile" -#: ../../../..//inc/tpl/config.php:570 ../../../..//inc/tpl/users.php:218 +#: ../../../../inc/tpl/config.php:570 ../../../../inc/tpl/users.php:218 msgid "Seleccionar Perfil" msgstr "Sélectionner Profil" # "Full username" -#: ../../../..//inc/tpl/users.php:71 +#: ../../../../inc/tpl/users.php:71 msgid "Nombre de usuario completo" msgstr "Nom complet d'utilisateur" # "Session login" -#: ../../../..//inc/tpl/users.php:85 +#: ../../../../inc/tpl/users.php:85 msgid "Login de inicio de sesión" msgstr "Login de début de session" # "Email address" -#: ../../../..//inc/tpl/users.php:117 +#: ../../../../inc/tpl/users.php:117 msgid "Dirección de correo" msgstr "Adresse courriel" # "Options" -#: ../../../..//inc/tpl/users.php:154 +#: ../../../../inc/tpl/users.php:154 msgid "Opciones" msgstr "Options" # "Application administrator" -#: ../../../..//inc/tpl/users.php:158 +#: ../../../../inc/tpl/users.php:158 msgid "Administrador de la aplicación" msgstr "Administrateur de l'application" # "Application Admin" -#: ../../../..//inc/tpl/users.php:158 +#: ../../../../inc/tpl/users.php:158 msgid "Admin. Aplicación" msgstr "Admin. Application" # "Accounts administrator" -#: ../../../..//inc/tpl/users.php:160 +#: ../../../../inc/tpl/users.php:160 msgid "Administrador de cuentas" msgstr "Administrateur des comptes" # "Accounts Admin" -#: ../../../..//inc/tpl/users.php:160 +#: ../../../../inc/tpl/users.php:160 msgid "Admin. Cuentas" msgstr "Admin. Comptes" # "Force password change" -#: ../../../..//inc/tpl/users.php:166 +#: ../../../../inc/tpl/users.php:166 msgid "Forzar cambio de clave" msgstr "Forcer le changement de Mot de passe" # "Entries" -#: ../../../..//inc/tpl/users.php:173 +#: ../../../../inc/tpl/users.php:173 msgid "Entradas" msgstr "Entrées" # "Last Access" -#: ../../../..//inc/tpl/users.php:178 +#: ../../../../inc/tpl/users.php:178 msgid "Último Acceso" msgstr "Dernier Accès" # "Master Password Date" -#: ../../../..//inc/tpl/users.php:188 +#: ../../../../inc/tpl/users.php:188 msgid "Fecha Clave Maestra" msgstr "Date du Mot de passe Maître" # "DB Update" -#: ../../../..//inc/tpl/upgrade.php:42 +#: ../../../../inc/tpl/upgrade.php:42 msgid "Actualización de BBDD" msgstr "Actualisation de la BDD" # "Enter Security Code" -#: ../../../..//inc/tpl/upgrade.php:44 +#: ../../../../inc/tpl/upgrade.php:44 msgid "Introducir Código de Seguridad" msgstr "Saisir le code de sécurité" # "Security Code" -#: ../../../..//inc/tpl/upgrade.php:45 +#: ../../../../inc/tpl/upgrade.php:45 msgid "Código de Seguridad" msgstr "code de sécurité" # "Start Update" -#: ../../../..//inc/tpl/upgrade.php:55 +#: ../../../../inc/tpl/upgrade.php:55 msgid "Iniciar Actualización" msgstr "Démarrer la mise à jour" # "Date / Time" -#: ../../../..//inc/tpl/eventlog.php:56 +#: ../../../../inc/tpl/eventlog.php:56 msgid "Fecha / Hora" msgstr "Date / Heure" # "Event" -#: ../../../..//inc/tpl/eventlog.php:59 +#: ../../../../inc/tpl/eventlog.php:59 msgid "Evento" msgstr "Evènement" # "IP" -#: ../../../..//inc/tpl/eventlog.php:65 +#: ../../../../inc/tpl/eventlog.php:65 msgid "IP" msgstr "IP" diff --git a/inc/log.class.php b/inc/log.class.php index 5503313f..35bdb00d 100644 --- a/inc/log.class.php +++ b/inc/log.class.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link http://syspass.org - * @copyright 2012-2014 Rubén Domínguez nuxsmin@syspass.org + * @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org * * This file is part of sysPass. * @@ -33,9 +33,10 @@ class SP_Log static $numRows; /** - * @brief Obtener los eventos guardados + * Obtener los eventos guardados. + * * @param int $start con el número de registro desde el que empezar - * @return array con el resultado de la consulta + * @return false|array con el resultado de la consulta */ public static function getEvents($start) { @@ -64,7 +65,8 @@ class SP_Log } /** - * @brief Limpiar el registro de eventos + * Limpiar el registro de eventos. + * * @return bool con el resultado */ public static function clearEvents() @@ -86,7 +88,8 @@ class SP_Log } /** - * @brief Crear un nuevo registro en el registro de eventos + * Crear un nuevo registro en el registro de eventos. + * * @param array $message con el nombre de la accióm y el texto del mensaje * @return bool */ @@ -117,4 +120,4 @@ class SP_Log return false; } } -} +} \ No newline at end of file diff --git a/inc/migrate.class.php b/inc/migrate.class.php index 8ebeaa51..483246d9 100644 --- a/inc/migrate.class.php +++ b/inc/migrate.class.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link http://syspass.org - * @copyright 2012-2014 Rubén Domínguez nuxsmin@syspass.org + * @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org * * This file is part of sysPass. * @@ -62,7 +62,7 @@ class MigrateException extends Exception */ class SP_Migrate { - private static $dbuser; +// private static $dbuser; private static $dbname; private static $dbhost; private static $dbc; // Database connection @@ -72,11 +72,10 @@ class SP_Migrate private static $oldConfig = array(); /** - * @brief Iniciar migración + * Iniciar migración desde phpPMS. + * * @param array $options datos de conexión * @return array resultado del proceso - * - * Iniciar el proceso de migración desde phpPMS */ public static function migrate($options) { @@ -118,16 +117,14 @@ class SP_Migrate } /** - * @brief Comprobar si la conexión con la BBDD. + * Comprobar si la conexión con la BBDD de phpPMS es posible. + * * @param string $dbhost host de conexión * @param string $dbadmin usuario de conexión * @param string $dbpass clave de conexión * @param string $dbname nombre de la base de datos * @throws MigrateException * @return none - * - * Comprobar si la conexión con la base de datos de phpPMS es posible con - * los datos facilitados. */ private static function checkDatabaseAdmin($dbhost, $dbadmin, $dbpass, $dbname) { @@ -141,11 +138,9 @@ class SP_Migrate } /** - * @brief Comprobar si la BBDD existe - * @return none + * Comprobar si la BBDD existe. * - * Comprobar si la conexión con la base de datos de phpPMS es posible con - * los datos facilitados. + * @return none */ private static function checkDatabaseExist() { @@ -168,7 +163,8 @@ class SP_Migrate } /** - * @brief Comprobar la versión de phpPMS + * Comprobar la versión de phpPMS. + * * @throws MigrateException * @return none */ @@ -186,7 +182,8 @@ class SP_Migrate } /** - * @brief Obtener la configuración desde desde phpPMS + * Obtener la configuración desde desde phpPMS. + * * @throws MigrateException * @return none */ @@ -209,9 +206,10 @@ class SP_Migrate } /** - * @brief Parsear los valores de configuración y adaptarlos + * Parsear los valores de configuración de phpPMS y adaptarlos a sysPass. + * * @param array $config con los datos de configuración - * @return none + * @return bool */ private static function parseSourceConfig($config) { @@ -232,11 +230,11 @@ class SP_Migrate } /** - * @brief Limpiar los datos de sysPass + * Limpiar los datos de sysPass. + * Limpiar las tablas de la base de sysPass para la importación. + * * @throws MigrateException * @return none - * - * Limpiar las tablas de la base de sysPass para la importación. */ private static function cleanCurrentDB() { @@ -274,7 +272,8 @@ class SP_Migrate } /** - * @brief Comprobar si el usuario actual es administrador de la aplicación + * Comprobar si el usuario actual es administrador de la aplicación. + * * @param int $currentUserId con el Id del usuario de la sesión actual * @return bool */ @@ -293,7 +292,8 @@ class SP_Migrate } /** - * @brief Migrar los clientes desde phpPMS + * Migrar los clientes desde phpPMS. + * * @throws MigrateException * @return array resultado */ @@ -329,7 +329,8 @@ class SP_Migrate } /** - * @brief Obtener los clientes desde phpPMS + * Obtener los clientes desde phpPMS. + * * @throws MigrateException * @return array con los clientes */ @@ -352,7 +353,8 @@ class SP_Migrate } /** - * @brief Migrar las cuentas desde phpPMS + * Migrar las cuentas desde phpPMS. + * * @throws MigrateException * @return array resultado */ @@ -401,7 +403,8 @@ class SP_Migrate } /** - * @brief Insertar una cuenta en sysPass + * Insertar una cuenta en sysPass. + * * @param array $account con los datos de la cuenta * @throws MigrateException * @return bool @@ -452,7 +455,8 @@ class SP_Migrate } /** - * @brief Migrar las grupos secundarios de las cuentas desde phpPMS + * Migrar las grupos secundarios de las cuentas desde phpPMS. + * * @throws MigrateException * @return array resultado */ @@ -487,7 +491,8 @@ class SP_Migrate } /** - * @brief Insertar los grupos secundarios de una cuenta en sysPass + * Insertar los grupos secundarios de una cuenta en sysPass. + * * @param array $accountGroup con los datos de los grupos secundarios * @throws MigrateException * @return bool @@ -508,7 +513,8 @@ class SP_Migrate } /** - * @brief Migrar el historail de las cuentas desde phpPMS + * Migrar el historail de las cuentas desde phpPMS. + * * @throws MigrateException * @return array resultado */ @@ -560,7 +566,8 @@ class SP_Migrate } /** - * @brief Insertar el historial de una cuenta en sysPass + * Insertar el historial de una cuenta en sysPass. + * * @param array $accountHistory con los datos del historial de la cuenta * @throws MigrateException * @return bool @@ -610,7 +617,8 @@ class SP_Migrate } /** - * @brief Migrar los archivos de de las cuentas desde phpPMS + * Migrar los archivos de de las cuentas desde phpPMS. + * * @throws MigrateException * @return array resultado */ @@ -650,7 +658,8 @@ class SP_Migrate } /** - * @brief Insertar los archivos de una cuenta en sysPass + * Insertar los archivos de una cuenta en sysPass. + * * @param array $accountFile con los datos del archivo * @throws MigrateException * @return bool @@ -675,7 +684,8 @@ class SP_Migrate } /** - * @brief Migrar las categorías de las cuentas desde phpPMS + * Migrar las categorías de las cuentas desde phpPMS. + * * @throws MigrateException * @return array resultado */ @@ -711,7 +721,8 @@ class SP_Migrate } /** - * @brief Insertar las categorías en sysPass + * Insertar las categorías en sysPass. + * * @param array $accountCategory con los datos de la categoría * @throws MigrateException * @return bool @@ -732,7 +743,8 @@ class SP_Migrate } /** - * @brief Migrar los usuarios desde desde phpPMS + * Migrar los usuarios desde desde phpPMS. + * * @throws MigrateException * @return array resultado */ @@ -785,7 +797,8 @@ class SP_Migrate } /** - * @brief Insertar los usuarios en sysPass + * Insertar los usuarios en sysPass. + * * @param array $users con los datos del usuario * @throws MigrateException * @return bool @@ -825,7 +838,8 @@ class SP_Migrate } /** - * @brief Migrar los grupos de usuarios desde desde phpPMS + * Migrar los grupos de usuarios desde desde phpPMS. + * * @throws MigrateException * @return array resultado */ @@ -862,7 +876,8 @@ class SP_Migrate } /** - * @brief Insertar los grupos de usuarios en sysPass + * Insertar los grupos de usuarios en sysPass. + * * @param array $usersGroups con los datos del grupo * @throws MigrateException * @return bool @@ -884,7 +899,8 @@ class SP_Migrate } /** - * @brief Migrar la configuración desde phpPMS + * Migrar la configuración desde phpPMS. + * * @return array resultado */ private static function migrateConfig() @@ -929,4 +945,4 @@ class SP_Migrate // self::$result['ok'][] = _('Importar Configuración')." - $num / $totalParams"; } -} +} \ No newline at end of file diff --git a/inc/profiles.class.php b/inc/profiles.class.php index 84ff6c85..8f87b97c 100644 --- a/inc/profiles.class.php +++ b/inc/profiles.class.php @@ -5,7 +5,7 @@ * * @author nuxsmin * @link http://syspass.org - * @copyright 2012-2014 Rubén Domínguez nuxsmin@syspass.org + * @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org * * This file is part of sysPass. * @@ -36,7 +36,7 @@ class SP_Profiles static $queryLastId; /** - * @brief Obtener los datos de un perfil + * Obtener los datos de un perfil * @param int $id con el Id del perfil a consultar * @return array con el nombre de la columna como clave y los datos como valor */ @@ -84,7 +84,7 @@ class SP_Profiles } /** - * @brief Obtener los datos de un perfil + * Obtener los datos de un perfil * @param int $profileId opcional, con el Id del perfil a consultar * @return array con la lista de perfiles */ @@ -129,7 +129,7 @@ class SP_Profiles } /** - * @brief Comprobar si un perfil existe + * Comprobar si un perfil existe * @return bool */ public static function checkProfileExist() @@ -160,7 +160,7 @@ class SP_Profiles } /** - * @brief Añadir un nuevo perfil + * Añadir un nuevo perfil * @param array $profileProp con las propiedades del perfil * @return bool */ @@ -209,7 +209,8 @@ class SP_Profiles } /** - * @brief Modificar un perfil + * Modificar un perfil. + * * @param array $profileProp con las propiedades del perfil * @return bool */ @@ -260,7 +261,8 @@ class SP_Profiles } /** - * @brief Eliminar un perfil + * Eliminar un perfil. + * * @return bool */ public static function deleteProfile() @@ -278,8 +280,9 @@ class SP_Profiles } /** - * @brief Comprobar si un perfil está en uso - * @return mixed string con el número de usuarios, o bool si no está en uso + * Comprobar si un perfil está en uso. + * + * @return bool|int Cadena con el número de usuarios, o bool si no está en uso */ public static function checkProfileInUse() { @@ -288,8 +291,9 @@ class SP_Profiles } /** - * @brief Obtener el número de usuarios que usan un perfil - * @return int con el número total de cuentas + * Obtener el número de usuarios que usan un perfil. + * + * @return false|int con el número total de cuentas */ private static function getProfileInUsers() { @@ -307,9 +311,10 @@ class SP_Profiles } /** - * @brief Obtener el nombre de un perfil por a partir del Id + * Obtener el nombre de un perfil por a partir del Id. + * * @param int $id con el Id del perfil - * @return string con el nombre del perfil + * @return false|string con el nombre del perfil */ public static function getProfileNameById($id) { @@ -327,11 +332,11 @@ class SP_Profiles } /** - * @brief Obtener el perfil de un usuario - * @param int $userId opcional con el Id del usuario - * @return object con los permisos del perfil del usuario - * + * Obtener el perfil de un usuario. * Si el usuario no es indicado, se obtiene el perfil del suuario de la sesión actual + * + * @param int $userId opcional con el Id del usuario + * @return false|object con los permisos del perfil del usuario */ public static function getProfileForUser($userId = 0) { diff --git a/inc/tpl/accounts.php b/inc/tpl/accounts.php index cf9b2691..40ad80e4 100644 --- a/inc/tpl/accounts.php +++ b/inc/tpl/accounts.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link http://syspass.org - * @copyright 2012-2014 Rubén Domínguez nuxsmin@syspass.org + * @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org * * This file is part of sysPass. * diff --git a/inc/tpl/backup.php b/inc/tpl/backup.php index f9779425..431f3cc7 100644 --- a/inc/tpl/backup.php +++ b/inc/tpl/backup.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link http://syspass.org - * @copyright 2012-2014 Rubén Domínguez nuxsmin@syspass.org + * @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org * * This file is part of sysPass. * diff --git a/inc/tpl/categories.php b/inc/tpl/categories.php index 49c6a6c1..f4c761c1 100644 --- a/inc/tpl/categories.php +++ b/inc/tpl/categories.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link http://syspass.org - * @copyright 2012-2014 Rubén Domínguez nuxsmin@syspass.org + * @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org * * This file is part of sysPass. * diff --git a/inc/tpl/config.php b/inc/tpl/config.php index 0b984f6b..f10a6f27 100644 --- a/inc/tpl/config.php +++ b/inc/tpl/config.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link http://syspass.org - * @copyright 2012-2014 Rubén Domínguez nuxsmin@syspass.org + * @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org * * This file is part of sysPass. * @@ -112,7 +112,7 @@ $profilesSelProp = array('name' => 'ldap_defaultprofile', - + @@ -122,7 +122,7 @@ $profilesSelProp = array('name' => 'ldap_defaultprofile', - + @@ -132,7 +132,7 @@ $profilesSelProp = array('name' => 'ldap_defaultprofile', - + @@ -142,7 +142,7 @@ $profilesSelProp = array('name' => 'ldap_defaultprofile', - + @@ -152,7 +152,7 @@ $profilesSelProp = array('name' => 'ldap_defaultprofile', - + @@ -162,7 +162,7 @@ $profilesSelProp = array('name' => 'ldap_defaultprofile', - + @@ -172,7 +172,7 @@ $profilesSelProp = array('name' => 'ldap_defaultprofile', - + @@ -182,7 +182,7 @@ $profilesSelProp = array('name' => 'ldap_defaultprofile', - + @@ -191,7 +191,7 @@ $profilesSelProp = array('name' => 'ldap_defaultprofile', - + /> @@ -200,7 +200,7 @@ $profilesSelProp = array('name' => 'ldap_defaultprofile', - + @@ -253,7 +253,7 @@ $profilesSelProp = array('name' => 'ldap_defaultprofile', - + @@ -262,7 +262,7 @@ $profilesSelProp = array('name' => 'ldap_defaultprofile', - + @@ -277,11 +277,11 @@ $profilesSelProp = array('name' => 'ldap_defaultprofile', - +
- + @@ -291,52 +291,52 @@ $profilesSelProp = array('name' => 'ldap_defaultprofile',
- + - + />
- + - + />
- + - + />
- + - + />
- + - + />
- + @@ -345,7 +345,7 @@ $profilesSelProp = array('name' => 'ldap_defaultprofile',
- + @@ -354,7 +354,7 @@ $profilesSelProp = array('name' => 'ldap_defaultprofile',
- + diff --git a/inc/tpl/customers.php b/inc/tpl/customers.php index 8ce2592f..18488372 100644 --- a/inc/tpl/customers.php +++ b/inc/tpl/customers.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link http://syspass.org - * @copyright 2012-2014 Rubén Domínguez nuxsmin@syspass.org + * @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org * * This file is part of sysPass. * diff --git a/inc/tpl/editpass.php b/inc/tpl/editpass.php index ae716a7d..eee0e8b3 100644 --- a/inc/tpl/editpass.php +++ b/inc/tpl/editpass.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link http://syspass.org - * @copyright 2012-2014 Rubén Domínguez nuxsmin@syspass.org + * @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org * * This file is part of sysPass. * diff --git a/inc/tpl/error.php b/inc/tpl/error.php index c1923fba..a55aac90 100644 --- a/inc/tpl/error.php +++ b/inc/tpl/error.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link http://syspass.org -* @copyright 2012-2014 Rubén Domínguez nuxsmin@syspass.org +* @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org * * This file is part of sysPass. * diff --git a/inc/tpl/eventlog.php b/inc/tpl/eventlog.php index 6752c155..54e8340b 100644 --- a/inc/tpl/eventlog.php +++ b/inc/tpl/eventlog.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link http://syspass.org - * @copyright 2012-2014 Rubén Domínguez nuxsmin@syspass.org + * @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org * * This file is part of sysPass. * diff --git a/inc/tpl/groups.php b/inc/tpl/groups.php index 63c8b026..c0b2d338 100644 --- a/inc/tpl/groups.php +++ b/inc/tpl/groups.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link http://syspass.org - * @copyright 2012-2014 Rubén Domínguez nuxsmin@syspass.org + * @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org * * This file is part of sysPass. * diff --git a/inc/tpl/install.php b/inc/tpl/install.php index 18ee88d3..800ab67e 100644 --- a/inc/tpl/install.php +++ b/inc/tpl/install.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link http://syspass.org - * @copyright 2012-2014 Rubén Domínguez nuxsmin@syspass.org + * @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org * * This file is part of sysPass. * diff --git a/inc/tpl/login.php b/inc/tpl/login.php index b635b30a..d9e3830c 100644 --- a/inc/tpl/login.php +++ b/inc/tpl/login.php @@ -76,4 +76,38 @@ defined('APP_ROOT') || die(_('No es posible acceder directamente a este archivo'
- \ No newline at end of file + + +'; + echo ''. _('Nuevas Características').''; + echo '

' . _('Nuevas Características') . '

'; + echo ''; + + echo '
'; + echo '
    '; + foreach ( $newFeatures as $feature) { + echo '
  • ' . $feature . '
  • '; + } + echo '
'; + echo '
'; +} +?> \ No newline at end of file diff --git a/inc/tpl/main.php b/inc/tpl/main.php index 119ee730..e6416faf 100644 --- a/inc/tpl/main.php +++ b/inc/tpl/main.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link http://syspass.org - * @copyright 2012-2014 Rubén Domínguez nuxsmin@syspass.org + * @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org * * This file is part of sysPass. * diff --git a/inc/tpl/masterpass.php b/inc/tpl/masterpass.php index 12d6cc3f..e1407fe8 100644 --- a/inc/tpl/masterpass.php +++ b/inc/tpl/masterpass.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link http://syspass.org - * @copyright 2012-2014 Rubén Domínguez nuxsmin@syspass.org + * @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org * * This file is part of sysPass. * @@ -74,7 +74,7 @@ $lastUpdateMPass = SP_Config::getConfigValue("lastupdatempass");
- + diff --git a/inc/tpl/migrate.php b/inc/tpl/migrate.php index 8e57a645..22a4c927 100644 --- a/inc/tpl/migrate.php +++ b/inc/tpl/migrate.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link http://syspass.org - * @copyright 2012-2014 Rubén Domínguez nuxsmin@syspass.org + * @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org * * This file is part of sysPass. * @@ -38,7 +38,7 @@ $onCloseAction = $data['onCloseAction'];
- + @@ -55,7 +55,7 @@ $onCloseAction = $data['onCloseAction'];
- + @@ -64,7 +64,7 @@ $onCloseAction = $data['onCloseAction'];
- + @@ -108,7 +108,7 @@ $onCloseAction = $data['onCloseAction'];
- +
diff --git a/inc/tpl/profiles.php b/inc/tpl/profiles.php index 06bd08a7..eca0cc71 100644 --- a/inc/tpl/profiles.php +++ b/inc/tpl/profiles.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link http://syspass.org - * @copyright 2012-2014 Rubén Domínguez nuxsmin@syspass.org + * @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org * * This file is part of sysPass. * diff --git a/inc/tpl/request.php b/inc/tpl/request.php index 615643ba..53c550dc 100644 --- a/inc/tpl/request.php +++ b/inc/tpl/request.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link http://syspass.org - * @copyright 2012-2014 Rubén Domínguez nuxsmin@syspass.org + * @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org * * This file is part of sysPass. * diff --git a/inc/tpl/search.php b/inc/tpl/search.php index cc52b959..81e74317 100644 --- a/inc/tpl/search.php +++ b/inc/tpl/search.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link http://syspass.org - * @copyright 2012-2014 Rubén Domínguez nuxsmin@syspass.org + * @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org * * This file is part of sysPass. * diff --git a/inc/tpl/users.php b/inc/tpl/users.php index 4cf5f479..690631ac 100644 --- a/inc/tpl/users.php +++ b/inc/tpl/users.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link http://syspass.org - * @copyright 2012-2014 Rubén Domínguez nuxsmin@syspass.org + * @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org * * This file is part of sysPass. * diff --git a/inc/upgrade.class.php b/inc/upgrade.class.php index c88b32f9..e0c8685d 100644 --- a/inc/upgrade.class.php +++ b/inc/upgrade.class.php @@ -5,7 +5,7 @@ * * @author nuxsmin * @link http://syspass.org - * @copyright 2012-2014 Rubén Domínguez nuxsmin@syspass.org + * @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org * * This file is part of sysPass. * @@ -35,7 +35,8 @@ class SP_Upgrade private static $cfgUpgrade = array(1124); /** - * @brief Inicia el proceso de actualización de la BBDD + * Inicia el proceso de actualización de la BBDD. + * * @param int $version con la versión de la BBDD actual * @returns bool */ @@ -55,7 +56,8 @@ class SP_Upgrade } /** - * @brief Actualiza la BBDD según la versión + * Actualiza la BBDD según la versión. + * * @param int $version con la versión a actualizar * @returns bool */ @@ -108,7 +110,8 @@ class SP_Upgrade } /** - * @brief Comprueba si es necesario actualizar la BBDD + * Comprueba si es necesario actualizar la BBDD. + * * @param int $version con el número de versión actual * @returns bool */ @@ -120,7 +123,8 @@ class SP_Upgrade } /** - * @brief Comprueba si es necesario actualizar la configuración + * Comprueba si es necesario actualizar la configuración. + * * @param int $version con el número de versión actual * @returns bool */ @@ -130,7 +134,8 @@ class SP_Upgrade } /** - * @brief Migrar valores de configuración + * Migrar valores de configuración. + * * @param int $version con el número de versión * @return bool */ @@ -177,4 +182,4 @@ class SP_Upgrade return true; } -} +} \ No newline at end of file diff --git a/inc/users.class.php b/inc/users.class.php index a1c47918..984a76cf 100644 --- a/inc/users.class.php +++ b/inc/users.class.php @@ -5,7 +5,7 @@ * * @author nuxsmin * @link http://syspass.org - * @copyright 2012-2014 Rubén Domínguez nuxsmin@syspass.org + * @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org * * This file is part of sysPass. * @@ -59,7 +59,8 @@ class SP_Users var $queryLastId; /** - * @brief Obtener los datos de un usuario + * Obtener los datos de un usuario. + * * @param int $id con el Id del usuario a consultar * @return array con el nombre de la columna como clave y los datos como valor */ @@ -117,9 +118,10 @@ class SP_Users } /** - * @brief Establecer las variables para la consulta de usuarios + * Establecer las variables para la consulta de usuarios. + * * @param int $itemId opcional, con el Id del usuario a consultar - * @return array con la lista de usuarios + * @return false|array con la lista de usuarios */ public static function getUsers($itemId = NULL) { @@ -172,7 +174,8 @@ class SP_Users } /** - * @brief Comprobar si un usuario está migrado desde phpPMS + * Comprobar si un usuario está migrado desde phpPMS. + * * @param string $userLogin con el login del usuario * @return bool */ @@ -195,7 +198,8 @@ class SP_Users } /** - * @brief Actualizar la clave de un usuario desde phpPMS + * Actualizar la clave de un usuario desde phpPMS. + * * @param string $userLogin con el login del usuario * @param string $userPass con la clave del usuario * @return bool @@ -229,7 +233,8 @@ class SP_Users } /** - * @brief Crear la clave de un usuario + * Crear la clave de un usuario. + * * @param string $userPass con la clave del usuario * @return array con la clave y salt del usuario */ @@ -242,7 +247,8 @@ class SP_Users } /** - * @brief Obtener el login de usuario a partir del Id + * Obtener el login de usuario a partir del Id. + * * @param int $id con el id del usuario * @return string con el login del usuario */ @@ -262,7 +268,8 @@ class SP_Users } /** - * @brief Comprobar si el usuario tiene actualizada la clave maestra actual + * Comprobar si el usuario tiene actualizada la clave maestra actual. + * * @param string $login opcional con el login del usuario * @return bool */ @@ -303,9 +310,10 @@ class SP_Users } /** - * @brief Obtener el Id de usuario a partir del login + * Obtener el Id de usuario a partir del login. + * * @param string $login con el login del usuario - * @return int con el Id del usuario + * @return false|int con el Id del usuario */ public static function getUserIdByLogin($login) { @@ -323,9 +331,10 @@ class SP_Users } /** - * @brief Obtiene el listado con el nombre de los usuarios de una cuenta + * Obtiene el listado con el nombre de los usuarios de una cuenta. + * * @param int $accountId con el id de la cuenta - * @return array con los nombres de los usuarios ordenados + * @return false|array con los nombres de los usuarios ordenados */ public static function getUsersNameForAccount($accountId) { @@ -351,7 +360,8 @@ class SP_Users } /** - * @brief Actualizar la asociación de grupos con cuentas + * Actualizar la asociación de grupos con cuentas. + * * @param int $accountId con el Id de la cuenta * @param array $usersId con los usuarios de la cuenta * @return bool @@ -366,7 +376,8 @@ class SP_Users } /** - * @brief Eliminar la asociación de grupos con cuentas + * Eliminar la asociación de grupos con cuentas. + * * @param int $accountId con el Id de la cuenta * @param array $usersId opcional con los grupos de la cuenta * @return bool @@ -393,7 +404,8 @@ class SP_Users } /** - * @brief Crear asociación de grupos con cuentas + * Crear asociación de grupos con cuentas. + * * @param int $accountId con el Id de la cuenta * @param array $usersId con los grupos de la cuenta * @return bool @@ -435,7 +447,8 @@ class SP_Users } /** - * @brief Obtiene el listado de grupos de una cuenta + * Obtiene el listado de grupos de una cuenta. + * * @param int $accountId con el id de la cuenta * @return object con el Id de grupo */ @@ -455,7 +468,8 @@ class SP_Users } /** - * @brief Comprobar si un usuario y email existen + * Comprobar si un usuario y email existen. + * * @param string $login con el login del usuario * @param string $email con el email del usuario * @return bool @@ -468,7 +482,8 @@ class SP_Users } /** - * @brief Obtener el email de un usuario + * Obtener el email de un usuario. + * * @param int $userId con el Id del usuario * @return string con el email del usuario */ @@ -488,7 +503,8 @@ class SP_Users } /** - * @brief Insertar un registro de recuperación de clave + * Insertar un registro de recuperación de clave. + * * @param string $login con el login del usuario * @param string $hash con el hash para el cambio * @return bool @@ -511,7 +527,8 @@ class SP_Users } /** - * @brief Comprobar si un usuario está deshabilitado + * Comprobar si un usuario está deshabilitado. + * * @param string $userLogin con el login del usuario * @return bool */ @@ -534,7 +551,8 @@ class SP_Users } /** - * @brief Comprobar si un usuario autentifica mediante LDAP + * Comprobar si un usuario autentifica mediante LDAP + * . * @param string $userLogin con el login del usuario * @return bool */ @@ -557,7 +575,8 @@ class SP_Users } /** - * @brief Comprobar el hash de recuperación de clave + * Comprobar el hash de recuperación de clave. + * * @param string $hash con el hash de recuperación * @return int con el Id del usuario */ @@ -579,7 +598,8 @@ class SP_Users } /** - * @brief Marcar como usado el hash de recuperación de clave + * Marcar como usado el hash de recuperación de clave. + * * @param string $hash con el hash de recuperación * @return bool */ @@ -596,7 +616,8 @@ class SP_Users } /** - * @brief Comprobar el límite de recuperaciones de clave + * Comprobar el límite de recuperaciones de clave. + * * @param string $login con el login del usuario * @return bool */ @@ -618,10 +639,10 @@ class SP_Users } /** - * @brief Obtener los datos de un usuario desde la BBDD - * @return bool - * + * Obtener los datos de un usuario desde la BBDD. * Esta función obtiene los datos de un usuario y los guarda en las variables de la clase. + * + * @return bool */ public function getUserInfo() { @@ -664,8 +685,9 @@ class SP_Users } /** - * @brief Comprobar si un usuario/email existen en la BBDD - * @return bool|int Devuelve bool si error y int si existe el usuario/email + * Comprobar si un usuario/email existen en la BBDD. + * + * @return false|int Devuelve bool si error y int si existe el usuario/email */ public function checkUserExist() { @@ -696,7 +718,8 @@ class SP_Users } /** - * @brief Comprobar si los datos del usuario de LDAP están en la BBDD + * Comprobar si los datos del usuario de LDAP están en la BBDD. + * * @return bool */ public function checkLDAPUserInDB() @@ -717,11 +740,11 @@ class SP_Users } /** - * @brief Crear un nuevo usuario en la BBDD con los datos de LDAP - * @return bool - * - * Esta función crea los unusario de LDAP en la BBDD para almacenar infomación del mismo + * Crear un nuevo usuario en la BBDD con los datos de LDAP. + * Esta función crea los usuarios de LDAP en la BBDD para almacenar infomación del mismo * y utilizarlo en caso de fallo de LDAP + * + * @return bool */ public function newUserLDAP() { @@ -754,7 +777,8 @@ class SP_Users } /** - * @brief Crear un usuario + * Crear un usuario. + * * @return bool */ public function addUser() @@ -800,7 +824,8 @@ class SP_Users } /** - * @brief Modificar un usuario + * Modificar un usuario. + * * @return bool */ public function updateUser() @@ -841,7 +866,8 @@ class SP_Users } /** - * @brief Modificar la clave de un usuario + * Modificar la clave de un usuario. + * * @return bool */ public function updateUserPass() @@ -872,7 +898,8 @@ class SP_Users } /** - * @brief Eliminar un usuario + * Eliminar un usuario. + * * @return bool */ public function deleteUser() @@ -898,7 +925,8 @@ class SP_Users } /** - * @brief Actualiza los datos de los usuarios de LDAP en la BBDD + * Actualiza los datos de los usuarios de LDAP en la BBDD. + * * @return bool */ public function updateLDAPUserInDB() @@ -922,7 +950,8 @@ class SP_Users } /** - * @brief Establece las variables de sesión del usuario + * Establece las variables de sesión del usuario. + * * @return none */ public function setUserSession() @@ -943,7 +972,8 @@ class SP_Users } /** - * @brief Actualiza el último inicio de sesión del usuario en la BBDD + * Actualiza el último inicio de sesión del usuario en la BBDD. + * * @return bool */ private function setUserLastLogin() @@ -961,7 +991,8 @@ class SP_Users } /** - * @brief Comprueba la clave maestra del usuario + * Comprueba la clave maestra del usuario. + * * @return bool */ public function checkUserMPass() @@ -983,9 +1014,10 @@ class SP_Users } /** - * @brief Desencriptar la clave maestra del usuario para la sesión + * Desencriptar la clave maestra del usuario para la sesión. + * * @param bool $showPass opcional, para devolver la clave desencriptada - * @return bool|string Devuelve bool se hay error o string si se devuelve la clave + * @return false|string Devuelve bool se hay error o string si se devuelve la clave */ public function getUserMPass($showPass = false) { @@ -999,8 +1031,7 @@ class SP_Users } if ($queryRes->user_mPass && $queryRes->user_mIV) { - $crypt = new SP_Crypt; - $clearMasterPass = $crypt->decrypt($queryRes->user_mPass, $this->getCypherPass(), $queryRes->user_mIV); + $clearMasterPass = SP_Crypt::getDecrypt($queryRes->user_mPass, $this->getCypherPass(), $queryRes->user_mIV); if (!$clearMasterPass) { return false; @@ -1011,7 +1042,7 @@ class SP_Users } else { $_SESSION['mPassPwd'] = substr(sha1(uniqid()), 0, 32); - $sessionMasterPass = $crypt->mkCustomMPassEncrypt($_SESSION["mPassPwd"], $clearMasterPass); + $sessionMasterPass = SP_Crypt::mkCustomMPassEncrypt($_SESSION["mPassPwd"], $clearMasterPass); $_SESSION['mPass'] = $sessionMasterPass[0]; $_SESSION['mPassIV'] = $sessionMasterPass[1]; @@ -1022,7 +1053,8 @@ class SP_Users } /** - * @brief Obtener una clave de cifrado basada en la clave del usuario y un salt + * Obtener una clave de cifrado basada en la clave del usuario y un salt. + * * @return string con la clave de cifrado */ private function getCypherPass() @@ -1034,7 +1066,8 @@ class SP_Users } /** - * @brief Actualizar la clave maestra del usuario en la BBDD + * Actualizar la clave maestra del usuario en la BBDD. + * * @param string $masterPwd con la clave maestra * @return bool */ @@ -1047,8 +1080,7 @@ class SP_Users } if (SP_Crypt::checkHashPass($masterPwd, $configMPass)) { - $crypt = new SP_Crypt; - $strUserMPwd = $crypt->mkCustomMPassEncrypt($this->getCypherPass(), $masterPwd); + $strUserMPwd = SP_Crypt::mkCustomMPassEncrypt($this->getCypherPass(), $masterPwd); if (!$strUserMPwd) { return false; diff --git a/inc/util.class.php b/inc/util.class.php index c197cf68..136e8bd7 100644 --- a/inc/util.class.php +++ b/inc/util.class.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link http://syspass.org - * @copyright 2012-2014 Rubén Domínguez nuxsmin@syspass.org + * @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org * * This file is part of sysPass. * @@ -31,7 +31,8 @@ defined('APP_ROOT') || die(_('No es posible acceder directamente a este archivo' class SP_Util { /** - * @brief Comprobar si la función de números aleatorios está disponible + * Comprobar si la función de números aleatorios está disponible. + * * @return bool */ public static function secureRNG_available() @@ -54,7 +55,8 @@ class SP_Util } /** - * @brief Comprobar si sysPass se ejecuta en W$indows + * Comprobar si sysPass se ejecuta en W$indows. + * * @return bool */ public static function runningOnWindows() @@ -63,7 +65,8 @@ class SP_Util } /** - * @brief Generar una cadena aleatoria usuando criptografía + * Generar una cadena aleatoria usuando criptografía. + * * @param int $length opcional, con la longitud de la cadena * @return string */ @@ -100,7 +103,8 @@ class SP_Util } /** - * @brief Comprobar la versión de PHP + * Comprobar la versión de PHP. + * * @return bool */ public static function checkPhpVersion() @@ -120,7 +124,8 @@ class SP_Util } /** - * @brief Comprobar los módulos necesarios + * Comprobar los módulos necesarios. + * * @return array con los módulos no disponibles */ public static function checkModules() @@ -144,7 +149,8 @@ class SP_Util } /** - * @brief Devuelve el valor de la variable enviada por un formulario + * Devuelve el valor de la variable enviada por un formulario. + * * @param string $s con el nombre de la variable * @param string $d con el valor por defecto * @return string con el valor de la variable @@ -160,7 +166,8 @@ class SP_Util } /** - * @brief Comprobar si el módulo de LDAP está instalado + * Comprobar si el módulo de LDAP está instalado. + * * @return bool */ public static function ldapIsAvailable() @@ -169,7 +176,8 @@ class SP_Util } /** - * @brief Devuelve la versión de sysPass + * Devuelve la versión de sysPass. + * * @return string con la versión */ public static function getVersionString() @@ -178,10 +186,11 @@ class SP_Util } /** - * @brief Comprobar si hay actualizaciones de sysPass disponibles desde internet (github.com) - * @return array|bool + * Comprobar si hay actualizaciones de sysPass disponibles desde internet (github.com) + * Esta función hace una petición a GitHub y parsea el JSON devuelto para verificar + * si la aplicación está actualizada * - * Esta función hace una petición a GitHub y parsea el JSON devuelto para verificar si la aplicación está actualizada + * @return array|bool */ public static function checkUpdates() { @@ -249,7 +258,8 @@ class SP_Util } /** - * @brief Comprobar si el módulo CURL está instalado + * Comprobar si el módulo CURL está instalado. + * * @return bool */ public static function curlIsAvailable() @@ -258,7 +268,8 @@ class SP_Util } /** - * @brief Devuelve la versión de sysPass + * Devuelve la versión de sysPass. + * * @param bool $retBuild devolver el número de compilación * @return array con el número de versión */ @@ -275,7 +286,8 @@ class SP_Util } /** - * @brief Comprobar el método utilizado para enviar un formulario + * Comprobar el método utilizado para enviar un formulario. + * * @param string $method con el método utilizado. * @return none */ @@ -291,7 +303,8 @@ class SP_Util } /** - * @brief Realiza el proceso de logout + * Realiza el proceso de logout. + * * @return none */ public static function logout() @@ -300,7 +313,8 @@ class SP_Util } /** - * @brief Obtener el tamaño máximo de subida de PHP + * Obtener el tamaño máximo de subida de PHP. + * * @return none */ public static function getMaxUpload() @@ -317,7 +331,8 @@ class SP_Util } /** - * @brief Comprobar si está en modo DEMO + * Comprobar si está en modo DEMO. + * * @return bool */ public static function demoIsEnabled() @@ -325,23 +340,25 @@ class SP_Util $enabled = SP_Common::parseParams('s', 'demo_enabled', 0); $reload = SP_Common::parseParams('s', 'reload', 0); - if ($enabled === 0 || $reload === 1) { - $enabled = $_SESSION['demo_enabled'] = SP_Config::getValue('demo_enabled', false); + if (!isset($_SESSION["demo_enabled"]) || $reload === 1) { + $enabled = $_SESSION['demo_enabled'] = SP_Config::getValue('demo_enabled', 0); } return self::boolval($enabled); } /** - * @brief Comprobar si está habilitada la gestión de archivos + * Comprobar si está habilitada la gestión de archivos. + * * @return bool */ public static function fileIsEnabled() { + $check = SP_Common::parseParams('s', 'files_enabled', false, true); $enabled = SP_Common::parseParams('s', 'files_enabled', 0); $reload = SP_Common::parseParams('s', 'reload', 0); - if ($enabled === 0 || $reload === 1) { + if (!isset($_SESSION["files_enabled"]) || $reload === 1) { $enabled = $_SESSION['files_enabled'] = SP_Config::getValue('files_enabled', false); } @@ -349,7 +366,8 @@ class SP_Util } /** - * @brief Comprobar si están habilitadas las notificaciones por correo + * Comprobar si están habilitadas las notificaciones por correo. + * * @return bool */ public static function mailIsEnabled() @@ -357,7 +375,7 @@ class SP_Util $enabled = SP_Common::parseParams('s', 'mail_enabled', 0); $reload = SP_Common::parseParams('s', 'reload', 0); - if ($enabled === 0 || $reload === 1) { + if (!isset($_SESSION["mail_enabled"]) || $reload === 1) { $enabled = $_SESSION['mail_enabled'] = SP_Config::getValue('mail_enabled', false); } @@ -365,7 +383,8 @@ class SP_Util } /** - * @brief Comprobar si está habilitada la Wiki + * Comprobar si está habilitada la Wiki. + * * @return bool */ public static function wikiIsEnabled() @@ -373,7 +392,7 @@ class SP_Util $enabled = SP_Common::parseParams('s', 'wiki_enabled', 0); $reload = SP_Common::parseParams('s', 'reload', 0); - if ($enabled === 0 || $reload === 1) { + if (!isset($_SESSION["wiki_enabled"]) || $reload === 1) { $enabled = $_SESSION['wiki_enabled'] = SP_Config::getValue('wiki_enabled', false); } @@ -381,7 +400,8 @@ class SP_Util } /** - * @brief Comprobar si están habilitadas las peticiones por correo + * Comprobar si están habilitadas las peticiones por correo. + * * @return bool */ public static function mailrequestIsEnabled() @@ -389,7 +409,7 @@ class SP_Util $enabled = SP_Common::parseParams('s', 'mail_requestsenabled', 0); $reload = SP_Common::parseParams('s', 'reload', 0); - if ($enabled === 0 || $reload === 1) { + if (!isset($_SESSION["mail_requestsenabled"]) || $reload === 1) { $enabled = $_SESSION['mail_requestsenabled'] = SP_Config::getValue('mail_requestsenabled', false); } @@ -397,7 +417,8 @@ class SP_Util } /** - * @brief Comprobar si está habilitado LDAP + * Comprobar si está habilitado LDAP. + * * @return bool */ public static function ldapIsEnabled() @@ -405,7 +426,7 @@ class SP_Util $enabled = SP_Common::parseParams('s', 'ldap_enabled', 0); $reload = SP_Common::parseParams('s', 'reload', 0); - if ($enabled === 0 || $reload === 1) { + if (!isset($_SESSION["ldap_enabled"]) || $reload === 1) { $enabled = $_SESSION['ldap_enabled'] = SP_Config::getValue('ldap_enabled', false); } @@ -413,7 +434,8 @@ class SP_Util } /** - * @brief Comprobar si está habilitado el log de eventos + * Comprobar si está habilitado el log de eventos. + * * @return bool */ public static function logIsEnabled() @@ -421,7 +443,7 @@ class SP_Util $enabled = SP_Common::parseParams('s', 'log_enabled', 0); $reload = SP_Common::parseParams('s', 'reload', 0); - if ($enabled === 0 || $reload === 1) { + if (!isset($_SESSION["log_enabled"]) || $reload === 1) { $enabled = $_SESSION['log_enabled'] = SP_Config::getValue('log_enabled', false); } @@ -429,7 +451,8 @@ class SP_Util } /** - * @brief Comprobar si está habilitado el formato de tarjeta en los resultados + * Comprobar si está habilitado el formato de tarjeta en los resultados. + * * @return bool */ public static function resultsCardsIsEnabled() @@ -437,7 +460,7 @@ class SP_Util $enabled = SP_Common::parseParams('s', 'resultsascards', 0); $reload = SP_Common::parseParams('s', 'reload', 0); - if ($enabled === 0 || $reload === 1) { + if (!isset($_SESSION["resultsascards"]) || $reload === 1) { $enabled = $_SESSION['resultsascards'] = SP_Config::getValue('resultsascards', false); } @@ -445,7 +468,8 @@ class SP_Util } /** - * @brief Establecer variable de sesión para recargar la aplicación + * Establecer variable de sesión para recargar la aplicación. + * * @return none */ public static function reload() @@ -458,7 +482,8 @@ class SP_Util } /** - * @brief Comprobar si se necesita recargar la aplicación + * Comprobar si se necesita recargar la aplicación. + * * @return none */ public static function checkReload() @@ -473,13 +498,13 @@ class SP_Util } /** - * @brief Devolver al navegador archivos CSS y JS comprimidos + * Devolver al navegador archivos CSS y JS comprimidos + * Método que devuelve un recurso CSS o JS comprimido. Si coincide el ETAG se + * devuelve el código HTTP/304 + * * @param string $type tipo de recurso a devolver * @param array $files archivos a parsear * @return none - * - * Método que devuelve un recurso CSS o JS comprimido. Si coincide el ETAG se - * devuelve el código HTTP/304 */ public static function getMinified($type, &$files) { @@ -537,9 +562,10 @@ class SP_Util } /** - * @brief Calcular el hash MD5 de varios archivos + * Calcular el hash MD5 de varios archivos. + * * @param array $files archivos a calcular - * @return string + * @return string Con el hash */ private static function getEtag(&$files) { @@ -554,7 +580,8 @@ class SP_Util } /** - * @brief Devolver las cabeceras enviadas desde el cliente + * Devolver las cabeceras enviadas desde el cliente. + * * @param string $header nombre de la cabecera a devolver * @return array */ @@ -586,7 +613,8 @@ class SP_Util } /** - * @brief Comprimir código javascript + * Comprimir código javascript. + * * @param string $buffer código a comprimir * @return string */ @@ -605,9 +633,11 @@ class SP_Util return $buffer; } - /** Checks a variable to see if it should be considered a boolean true or false. - * Also takes into account some text-based representations of true of false, - * such as 'false','N','yes','on','off', etc. + /** + * Checks a variable to see if it should be considered a boolean true or false. + * Also takes into account some text-based representations of true of false, + * such as 'false','N','yes','on','off', etc. + * * @author Samuel Levy * @param mixed $in The variable to check * @param bool $strict If set to false, consider everything that is not false to @@ -635,7 +665,8 @@ class SP_Util } /** - * @brief Recorrer un array y escapar los carácteres no válidos en Javascript + * Recorrer un array y escapar los carácteres no válidos en Javascript. + * * @param $array * @return array */ diff --git a/index.php b/index.php index 5b079509..58717203 100644 --- a/index.php +++ b/index.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link http://syspass.org -* @copyright 2012-2014 Rubén Domínguez nuxsmin@syspass.org +* @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org * * This file is part of sysPass. * diff --git a/js/js.php b/js/js.php index e15c9dd2..33b83f15 100644 --- a/js/js.php +++ b/js/js.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link http://syspass.org - * @copyright 2012-2014 Rubén Domínguez nuxsmin@syspass.org + * @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org * * This file is part of sysPass. *