mirror of
https://github.com/nuxsmin/sysPass.git
synced 2026-03-12 11:26:55 +01:00
Merge remote-tracking branch 'origin/auth' into auth
Conflicts: js/app-actions.min.js js/app-main.min.js
This commit is contained in:
@@ -75,7 +75,7 @@ $Acl->setAccountData($Account->getAccountDataForACL());
|
||||
|
||||
if (!Acl::checkUserAccess(Acl::ACTION_ACC_VIEW_PASS) || !$Acl->checkAccountAccess()) {
|
||||
Response::printJson(_('No tiene permisos para acceder a esta cuenta'));
|
||||
} elseif (!UserPass::checkUserUpdateMPass(Session::getUserData()->getUserId())) {
|
||||
} elseif (!UserPass::getItem(Session::getUserData())->checkUserUpdateMPass()) {
|
||||
Response::printJson(_('Clave maestra actualizada') . '<br>' . _('Reinicie la sesión para cambiarla'));
|
||||
}
|
||||
|
||||
|
||||
@@ -363,7 +363,7 @@ if ($actionId === ActionsInterface::ACTION_CFG_GENERAL
|
||||
$confirmPassChange = Request::analyze('confirmPassChange', 0, false, 1);
|
||||
$noAccountPassChange = Request::analyze('chkNoAccountChange', 0, false, 1);
|
||||
|
||||
if (!UserPass::checkUserUpdateMPass(Session::getUserData()->getUserId())) {
|
||||
if (!UserPass::getItem(Session::getUserData())->checkUserUpdateMPass()) {
|
||||
$Json->setDescription(_('Clave maestra actualizada'));
|
||||
$Json->addMessage(_('Reinicie la sesión para cambiarla'));
|
||||
Json::returnJson($Json);
|
||||
|
||||
2
css/magnific-popup.min.css
vendored
2
css/magnific-popup.min.css
vendored
File diff suppressed because one or more lines are too long
@@ -102,11 +102,12 @@ abstract class ApiBase
|
||||
User::getItem($UserData)->getById($this->userId);
|
||||
|
||||
$UserPass = UserPass::getItem($UserData);
|
||||
$Auth = new Auth($UserData);
|
||||
|
||||
if (!$UserData->isUserIsDisabled()
|
||||
&& Auth::authUserMySQL($UserData)
|
||||
&& $Auth->doAuth()
|
||||
&& $UserPass->loadUserMPass()
|
||||
&& UserPass::checkUserUpdateMPass($UserData->getUserId())
|
||||
&& $UserPass->checkUserUpdateMPass()
|
||||
) {
|
||||
$this->mPass = $UserPass->getClearUserMPass();
|
||||
SessionUtil::loadUserSession($UserData);
|
||||
|
||||
@@ -125,12 +125,12 @@ class Auth extends PluginAwareBase
|
||||
|
||||
$Ldap = Config::getConfig()->isLdapAds() ? new LdapMsAds() : new LdapStd();
|
||||
|
||||
if (!$Ldap->authenticate($this->UserData)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$LdapAuthData = $Ldap->getLdapAuthData();
|
||||
|
||||
if (!$Ldap->authenticate($this->UserData)) {
|
||||
return $LdapAuthData->getAuthenticated() === 1 ? $LdapAuthData : false;
|
||||
}
|
||||
|
||||
// Comprobamos si la cuenta está bloqueada o expirada
|
||||
if ($LdapAuthData->getExpire() > 0) {
|
||||
$LdapAuthData->setStatusCode(701);
|
||||
|
||||
@@ -173,6 +173,8 @@ abstract class LdapBase implements LdapInterface, AuthInterface
|
||||
$Log->addDetails('LDAP DN', $dn);
|
||||
$Log->writeLog();
|
||||
|
||||
$this->getLdapAuthData()->setAuthenticated(1);
|
||||
|
||||
throw new SPException(SPException::SP_ERROR, $Log->getDescription());
|
||||
}
|
||||
|
||||
@@ -642,7 +644,7 @@ abstract class LdapBase implements LdapInterface, AuthInterface
|
||||
$error = ldap_error($this->ldapHandler);
|
||||
$errno = ldap_errno($this->ldapHandler);
|
||||
|
||||
$this->LdapAuthData->setAuthenticated($error);
|
||||
$this->LdapAuthData->setAuthenticated(0);
|
||||
$this->LdapAuthData->setStatusCode($errno);
|
||||
|
||||
return sprintf('%s (%d)', $error, $errno);
|
||||
|
||||
@@ -152,7 +152,7 @@ class AccountController extends ControllerBase implements ActionsInterface
|
||||
if (!Acl::checkUserAccess($this->getAction())) {
|
||||
$this->showError(self::ERR_PAGE_NO_PERMISSION);
|
||||
return false;
|
||||
} elseif (!UserPass::checkUserUpdateMPass($this->UserData->getUserId())) {
|
||||
} elseif (!UserPass::getItem($this->UserData)->checkUserUpdateMPass()) {
|
||||
$this->showError(self::ERR_UPDATE_MPASS);
|
||||
return false;
|
||||
} elseif ($this->id > 0) {
|
||||
|
||||
@@ -60,6 +60,12 @@ use SP\Util\Util;
|
||||
*/
|
||||
class LoginController
|
||||
{
|
||||
const STATUS_INVALID_LOGIN = 1;
|
||||
const STATUS_INVALID_MASTER_PASS = 2;
|
||||
const STATUS_USER_DISABLED = 3;
|
||||
const STATUS_INTERNAL_ERROR = 4;
|
||||
const STATUS_NEED_OLD_PASS = 5;
|
||||
|
||||
/**
|
||||
* @var JsonResponse
|
||||
*/
|
||||
@@ -108,11 +114,12 @@ class LoginController
|
||||
$result = $Auth->doAuth();
|
||||
|
||||
if ($result !== false) {
|
||||
foreach ($result as $auth){
|
||||
// Ejecutar la acción asociada al tipo de autentificación
|
||||
foreach ($result as $auth) {
|
||||
$this->{$auth['auth']}($auth['data']);
|
||||
}
|
||||
} else {
|
||||
throw new AuthException(SPException::SP_INFO, _('Usuario/Clave incorrectos'));
|
||||
throw new AuthException(SPException::SP_INFO, _('Login incorrecto'), '', self::STATUS_INVALID_LOGIN);
|
||||
}
|
||||
|
||||
$this->getUserData($userPass);
|
||||
@@ -122,6 +129,8 @@ class LoginController
|
||||
$this->loadUserPreferences();
|
||||
} catch (SPException $e) {
|
||||
$this->jsonResponse->setDescription($e->getMessage());
|
||||
$this->jsonResponse->setStatus($e->getCode());
|
||||
|
||||
Json::returnJson($this->jsonResponse);
|
||||
}
|
||||
|
||||
@@ -149,7 +158,7 @@ class LoginController
|
||||
$this->Log->addDescription(_('Error al obtener los datos del usuario de la BBDD'));
|
||||
$this->Log->writeLog();
|
||||
|
||||
throw new AuthException(SPException::SP_ERROR, _('Error interno'));
|
||||
throw new AuthException(SPException::SP_ERROR, _('Error interno'), '', self::STATUS_INTERNAL_ERROR);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -168,7 +177,7 @@ class LoginController
|
||||
$this->Log->addDetails(_('Usuario'), $this->UserData->getUserLogin());
|
||||
$this->Log->writeLog();
|
||||
|
||||
throw new AuthException(SPException::SP_INFO, _('Usuario deshabilitado'));
|
||||
throw new AuthException(SPException::SP_INFO, _('Usuario deshabilitado'), '', self::STATUS_USER_DISABLED);
|
||||
}
|
||||
|
||||
return false;
|
||||
@@ -225,7 +234,7 @@ class LoginController
|
||||
$this->Log->addDescription(_('Error al obtener la clave maestra del usuario'));
|
||||
$this->Log->writeLog();
|
||||
|
||||
throw new AuthException(SPException::SP_ERROR, _('Error interno'));
|
||||
throw new AuthException(SPException::SP_ERROR, _('Error interno'), '', self::STATUS_INTERNAL_ERROR);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -239,17 +248,11 @@ class LoginController
|
||||
$this->Log->resetDescription();
|
||||
|
||||
$masterPass = Request::analyzeEncrypted('mpass');
|
||||
$oldPass = Request::analyzeEncrypted('oldpass');
|
||||
|
||||
$UserPass = UserPass::getItem($this->UserData);
|
||||
|
||||
// Comprobamos que la clave maestra del usuario es correcta y está actualizada
|
||||
if (!$masterPass
|
||||
&& (!$UserPass->loadUserMPass() || !UserPass::checkUserUpdateMPass($this->UserData->getUserId()))
|
||||
) {
|
||||
$this->jsonResponse->setStatus(2);
|
||||
|
||||
throw new AuthException(SPException::SP_INFO, _('La clave maestra no ha sido guardada o es incorrecta'));
|
||||
} elseif ($masterPass) {
|
||||
if ($masterPass) {
|
||||
if (CryptMasterPass::checkTempMasterPass($masterPass)) {
|
||||
$masterPass = CryptMasterPass::getTempMasterPass($masterPass);
|
||||
}
|
||||
@@ -258,9 +261,28 @@ class LoginController
|
||||
$this->Log->addDescription(_('Clave maestra incorrecta'));
|
||||
$this->Log->writeLog();
|
||||
|
||||
$this->jsonResponse->setStatus(2);
|
||||
throw new AuthException(SPException::SP_INFO, _('Clave maestra incorrecta'), '', self::STATUS_INVALID_MASTER_PASS);
|
||||
} else {
|
||||
Log::writeNewLog(_('Login'), _('Clave maestra actualizada'));
|
||||
}
|
||||
} else if ($oldPass) {
|
||||
if (!$UserPass->updateMasterPass($oldPass)) {
|
||||
$this->Log->addDescription(_('Clave maestra incorrecta'));
|
||||
$this->Log->writeLog();
|
||||
|
||||
throw new AuthException(SPException::SP_INFO, _('Clave maestra incorrecta'));
|
||||
throw new AuthException(SPException::SP_INFO, _('Clave maestra incorrecta'), '', self::STATUS_INVALID_MASTER_PASS);
|
||||
} else {
|
||||
Log::writeNewLog(_('Login'), _('Clave maestra actualizada'));
|
||||
}
|
||||
} else {
|
||||
$loadMPass = $UserPass->loadUserMPass();
|
||||
|
||||
// Comprobar si es necesario actualizar la clave maestra
|
||||
if ($loadMPass === false) {
|
||||
throw new AuthException(SPException::SP_INFO, _('Es necesaria su clave anterior'), '', self::STATUS_NEED_OLD_PASS);
|
||||
// La clave no está establecida o se ha sido cambiada por el administrador
|
||||
} else if ($loadMPass === null || !$UserPass->checkUserUpdateMPass()) {
|
||||
throw new AuthException(SPException::SP_INFO, _('La clave maestra no ha sido guardada o es incorrecta'), '', self::STATUS_INVALID_MASTER_PASS);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -309,17 +331,25 @@ class LoginController
|
||||
|
||||
if ($LdapAuthData->getStatusCode() === 49) {
|
||||
$this->Log->addDescription(_('Login incorrecto'));
|
||||
$this->Log->writeLog();
|
||||
|
||||
throw new AuthException(SPException::SP_INFO, $this->Log->getDescription(), '', self::STATUS_INVALID_LOGIN);
|
||||
} elseif ($LdapAuthData->getStatusCode() === 701) {
|
||||
$this->Log->addDescription(_('Cuenta expirada'));
|
||||
$this->Log->writeLog();
|
||||
|
||||
throw new AuthException(SPException::SP_INFO, $this->Log->getDescription(), '', self::STATUS_USER_DISABLED);
|
||||
} else if ($LdapAuthData->getStatusCode() === 702) {
|
||||
$this->Log->addDescription(_('El usuario no tiene grupos asociados'));
|
||||
$this->Log->writeLog();
|
||||
|
||||
throw new AuthException(SPException::SP_INFO, $this->Log->getDescription(), '', self::STATUS_USER_DISABLED);
|
||||
} else {
|
||||
$this->Log->addDescription(_('Error interno'));
|
||||
$this->Log->writeLog();
|
||||
|
||||
throw new AuthException(SPException::SP_INFO, $this->Log->getDescription(), '', self::STATUS_INTERNAL_ERROR);
|
||||
}
|
||||
|
||||
$this->Log->writeLog();
|
||||
|
||||
throw new AuthException(SPException::SP_INFO, $this->Log->getDescription());
|
||||
}
|
||||
|
||||
$this->UserData->setUserName($LdapAuthData->getName());
|
||||
@@ -342,7 +372,7 @@ class LoginController
|
||||
$this->Log->addDescription($e->getMessage());
|
||||
$this->Log->writeLog();
|
||||
|
||||
throw new AuthException(SPException::SP_ERROR, _('Error interno'));
|
||||
throw new AuthException(SPException::SP_ERROR, _('Error interno'), '', self::STATUS_INTERNAL_ERROR);
|
||||
}
|
||||
|
||||
return true;
|
||||
@@ -365,7 +395,7 @@ class LoginController
|
||||
$this->Log->addDetails(_('Usuario'), $this->UserData->getUserLogin());
|
||||
$this->Log->writeLog();
|
||||
|
||||
throw new AuthException(SPException::SP_INFO, _('Usuario/Clave incorrectos'));
|
||||
throw new AuthException(SPException::SP_INFO, $this->Log->getDescription(), '', self::STATUS_INVALID_LOGIN);
|
||||
}
|
||||
|
||||
$this->Log->addDetails(_('Tipo'), __FUNCTION__);
|
||||
@@ -388,10 +418,10 @@ class LoginController
|
||||
$this->Log->addDescription(_('Login incorrecto'));
|
||||
$this->Log->addDetails(_('Tipo'), __FUNCTION__);
|
||||
$this->Log->addDetails(_('Usuario'), $this->UserData->getUserLogin());
|
||||
$this->Log->addDetails(_('Autentificación'), sprintf('%s (%s)', AuthUtil::getServerAuthType(), AuthUtil::getServerAuthUser()));
|
||||
$this->Log->addDetails(_('Autentificación'), sprintf('%s (%s)', AuthUtil::getServerAuthType(), $AuthData->getName()));
|
||||
$this->Log->writeLog();
|
||||
|
||||
throw new AuthException(SPException::SP_INFO, _('Usuario/Clave incorrectos'));
|
||||
throw new AuthException(SPException::SP_INFO, $this->Log->getDescription(), '', self::STATUS_INVALID_LOGIN);
|
||||
}
|
||||
|
||||
return true;
|
||||
|
||||
@@ -36,6 +36,10 @@ use SplSubject;
|
||||
*/
|
||||
abstract class PluginAwareBase implements SplSubject
|
||||
{
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
protected $state;
|
||||
/**
|
||||
* @var SplObserver[]
|
||||
*/
|
||||
@@ -93,4 +97,15 @@ abstract class PluginAwareBase implements SplSubject
|
||||
$observer->update($this);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Notificar un estado
|
||||
*
|
||||
* @param $state
|
||||
*/
|
||||
protected function notifyState($state)
|
||||
{
|
||||
$this->state = $state;
|
||||
$this->notify();
|
||||
}
|
||||
}
|
||||
@@ -62,34 +62,6 @@ class UserPass extends UserBase
|
||||
parent::__construct($itemData);
|
||||
}
|
||||
|
||||
/**
|
||||
* Comprobar si el usuario tiene actualizada la clave maestra actual.
|
||||
*
|
||||
* @param string $userId El id del usuario
|
||||
* @return bool
|
||||
*/
|
||||
public static function checkUserUpdateMPass($userId)
|
||||
{
|
||||
$configMPassTime = ConfigDB::getValue('lastupdatempass');
|
||||
|
||||
if ($configMPassTime === false) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$query = /** @lang SQL */
|
||||
'SELECT user_lastUpdateMPass FROM usrData WHERE user_id = ? LIMIT 1';
|
||||
|
||||
$Data = new QueryData();
|
||||
$Data->setMapClassName('SP\DataModel\UserPassData');
|
||||
$Data->setQuery($query);
|
||||
$Data->addParam($userId);
|
||||
|
||||
/** @var UserPassData $queryRes */
|
||||
$queryRes = DB::getResults($Data);
|
||||
|
||||
return ($queryRes !== false && $queryRes->getUserLastUpdateMPass() > $configMPassTime);
|
||||
}
|
||||
|
||||
/**
|
||||
* Obtener el IV del usuario a partir del Id.
|
||||
*
|
||||
@@ -114,6 +86,33 @@ class UserPass extends UserBase
|
||||
return $queryRes->user_mIV;
|
||||
}
|
||||
|
||||
/**
|
||||
* Comprobar si el usuario tiene actualizada la clave maestra actual.
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function checkUserUpdateMPass()
|
||||
{
|
||||
$configMPassTime = ConfigDB::getValue('lastupdatempass');
|
||||
|
||||
if ($configMPassTime === false) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$query = /** @lang SQL */
|
||||
'SELECT user_lastUpdateMPass FROM usrData WHERE user_id = ? LIMIT 1';
|
||||
|
||||
$Data = new QueryData();
|
||||
$Data->setMapClassName('SP\DataModel\UserPassData');
|
||||
$Data->setQuery($query);
|
||||
$Data->addParam($this->itemData->getUserId());
|
||||
|
||||
/** @var UserPassData $queryRes */
|
||||
$queryRes = DB::getResults($Data);
|
||||
|
||||
return ($queryRes !== false && $queryRes->getUserLastUpdateMPass() > $configMPassTime);
|
||||
}
|
||||
|
||||
/**
|
||||
* Modificar la clave de un usuario.
|
||||
*
|
||||
@@ -137,8 +136,8 @@ class UserPass extends UserBase
|
||||
|
||||
$Data = new QueryData();
|
||||
$Data->setQuery($query);
|
||||
$Data->addParam($passdata['pass'], 'pass');
|
||||
$Data->addParam($passdata['salt'], 'hashSalt');
|
||||
$Data->addParam($passdata['pass']);
|
||||
$Data->addParam($passdata['salt']);
|
||||
$Data->addParam($userId);
|
||||
|
||||
if (DB::getQuery($Data) === false) {
|
||||
@@ -182,6 +181,8 @@ class UserPass extends UserBase
|
||||
|| null === $configHashMPass
|
||||
) {
|
||||
return false;
|
||||
} elseif ($userMPass === null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
// Comprobamos el hash de la clave del usuario con la guardada
|
||||
@@ -196,9 +197,10 @@ class UserPass extends UserBase
|
||||
/**
|
||||
* Desencriptar la clave maestra del usuario para la sesión.
|
||||
*
|
||||
* @param string $cypher Clave de cifrado
|
||||
* @return false|string Devuelve bool se hay error o string si se devuelve la clave
|
||||
*/
|
||||
public function getUserMPass()
|
||||
public function getUserMPass($cypher = null)
|
||||
{
|
||||
$query = /** @lang SQL */
|
||||
'SELECT user_mPass, user_mIV FROM usrData WHERE user_id = ? LIMIT 1';
|
||||
@@ -207,25 +209,30 @@ class UserPass extends UserBase
|
||||
$Data->setQuery($query);
|
||||
$Data->addParam($this->itemData->getUserId());
|
||||
|
||||
/** @var UserPassData $queryRes */
|
||||
$queryRes = DB::getResults($Data);
|
||||
|
||||
if ($queryRes === false) {
|
||||
return false;
|
||||
} elseif ($queryRes->user_mPass === null
|
||||
|| $queryRes->user_mIV === null
|
||||
) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return Crypt::getDecrypt($queryRes->user_mPass, $queryRes->user_mIV, $this->getCypherPass());
|
||||
// return ($showPass === true) ? $clearMasterPass : SessionUtil::saveSessionMPass($clearMasterPass);
|
||||
return Crypt::getDecrypt($queryRes->user_mPass, $queryRes->user_mIV, $this->getCypherPass($cypher));
|
||||
}
|
||||
|
||||
/**
|
||||
* Obtener una clave de cifrado basada en la clave del usuario y un salt.
|
||||
*
|
||||
* @param string $cypher Clave de cifrado
|
||||
* @return string con la clave de cifrado
|
||||
*/
|
||||
private function getCypherPass()
|
||||
private function getCypherPass($cypher = null)
|
||||
{
|
||||
return Crypt::generateAesKey($this->itemData->getUserPass() . $this->itemData->getUserLogin());
|
||||
$pass = $cypher === null ? $this->itemData->getUserPass() : $cypher;
|
||||
|
||||
return Crypt::generateAesKey($pass . $this->itemData->getUserLogin());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -278,4 +285,21 @@ class UserPass extends UserBase
|
||||
{
|
||||
return $this->clearUserMPass;
|
||||
}
|
||||
|
||||
/**
|
||||
* Actualizar la clave maestra con la clave anterior del usuario
|
||||
*
|
||||
* @param $oldUserPass
|
||||
* @return bool
|
||||
*/
|
||||
public function updateMasterPass($oldUserPass)
|
||||
{
|
||||
$masterPass = $this->getUserMPass($oldUserPass);
|
||||
|
||||
if ($masterPass) {
|
||||
return $this->updateUserMPass($masterPass);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -37,9 +37,6 @@ sysPass.Theme = function (Common) {
|
||||
|
||||
// Actualizar componentes de MDL cargados con AJAX
|
||||
componentHandler.upgradeDom();
|
||||
|
||||
// Activar tooltips
|
||||
//activeTooltip();
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
2
inc/themes/material-blue/js/app-theme.min.js
vendored
2
inc/themes/material-blue/js/app-theme.min.js
vendored
@@ -1,5 +1,5 @@
|
||||
var $jscomp={scope:{},findInternal:function(a,f,d){a instanceof String&&(a=String(a));for(var g=a.length,h=0;h<g;h++){var m=a[h];if(f.call(d,m,h,a))return{i:h,v:m}}return{i:-1,v:void 0}}};$jscomp.defineProperty="function"==typeof Object.defineProperties?Object.defineProperty:function(a,f,d){if(d.get||d.set)throw new TypeError("ES3 does not support getters and setters.");a!=Array.prototype&&a!=Object.prototype&&(a[f]=d.value)};
|
||||
$jscomp.getGlobal=function(a){return"undefined"!=typeof window&&window===a?a:"undefined"!=typeof global?global:a};$jscomp.global=$jscomp.getGlobal(this);$jscomp.polyfill=function(a,f,d,g){if(f){d=$jscomp.global;a=a.split(".");for(g=0;g<a.length-1;g++){var h=a[g];h in d||(d[h]={});d=d[h]}a=a[a.length-1];g=d[a];f=f(g);f!=g&&null!=f&&$jscomp.defineProperty(d,a,{configurable:!0,writable:!0,value:f})}};
|
||||
$jscomp.getGlobal=function(a){return"undefined"!=typeof window&&window===a?a:"undefined"!=typeof global&&null!=global?global:a};$jscomp.global=$jscomp.getGlobal(this);$jscomp.polyfill=function(a,f,d,g){if(f){d=$jscomp.global;a=a.split(".");for(g=0;g<a.length-1;g++){var h=a[g];h in d||(d[h]={});d=d[h]}a=a[a.length-1];g=d[a];f=f(g);f!=g&&null!=f&&$jscomp.defineProperty(d,a,{configurable:!0,writable:!0,value:f})}};
|
||||
$jscomp.polyfill("Array.prototype.find",function(a){return a?a:function(a,d){return $jscomp.findInternal(this,a,d).v}},"es6-impl","es3");
|
||||
sysPass.Theme=function(a){var f=a.log,d=function(a){"undefined"===typeof a&&(a=$("body"));a.find(".active-tooltip").tooltip({content:function(){return $(this).attr("title")},tooltipClass:"tooltip"})},g=function(b){for(var l=0,e="",c;l<a.passwordData.complexity.numlength;){c=Math.floor(100*Math.random())%94+33;if(!a.passwordData.complexity.symbols){if(33<=c&&47>=c)continue;if(58<=c&&64>=c)continue;if(91<=c&&96>=c)continue;if(123<=c&&126>=c)continue}!a.passwordData.complexity.numbers&&48<=c&&57>=c||
|
||||
!a.passwordData.complexity.uppercase&&65<=c&&90>=c||(l++,e+=String.fromCharCode(c))}$("#viewPass").attr("title",e);var k=zxcvbn(e);a.passwordData.passLength=e.length;b?(l=b.parent(),c=$("#"+b.attr("id")+"R"),a.outputResult(k,b),b=new MaterialTextfield,l.find("input:password").val(e),l.addClass(b.CssClasses_.IS_DIRTY).removeClass(b.CssClasses_.IS_INVALID),c.val(e).parent().addClass(b.CssClasses_.IS_DIRTY).removeClass(b.CssClasses_.IS_INVALID),a.encryptFormValue(c),l.find("#passLevel").show(500)):(a.outputResult(k),
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
var $jscomp={scope:{},findInternal:function(a,c,b){a instanceof String&&(a=String(a));for(var e=a.length,d=0;d<e;d++){var f=a[d];if(c.call(b,f,d,a))return{i:d,v:f}}return{i:-1,v:void 0}}};$jscomp.defineProperty="function"==typeof Object.defineProperties?Object.defineProperty:function(a,c,b){if(b.get||b.set)throw new TypeError("ES3 does not support getters and setters.");a!=Array.prototype&&a!=Object.prototype&&(a[c]=b.value)};
|
||||
$jscomp.getGlobal=function(a){return"undefined"!=typeof window&&window===a?a:"undefined"!=typeof global?global:a};$jscomp.global=$jscomp.getGlobal(this);$jscomp.polyfill=function(a,c,b,e){if(c){b=$jscomp.global;a=a.split(".");for(e=0;e<a.length-1;e++){var d=a[e];d in b||(b[d]={});b=b[d]}a=a[a.length-1];e=b[a];c=c(e);c!=e&&null!=c&&$jscomp.defineProperty(b,a,{configurable:!0,writable:!0,value:c})}};
|
||||
$jscomp.getGlobal=function(a){return"undefined"!=typeof window&&window===a?a:"undefined"!=typeof global&&null!=global?global:a};$jscomp.global=$jscomp.getGlobal(this);$jscomp.polyfill=function(a,c,b,e){if(c){b=$jscomp.global;a=a.split(".");for(e=0;e<a.length-1;e++){var d=a[e];d in b||(b[d]={});b=b[d]}a=a[a.length-1];e=b[a];c=c(e);c!=e&&null!=c&&$jscomp.defineProperty(b,a,{configurable:!0,writable:!0,value:c})}};
|
||||
$jscomp.polyfill("Array.prototype.find",function(a){return a?a:function(a,b){return $jscomp.findInternal(this,a,b).v}},"es6-impl","es3");function showLoading(){$(".loading-container").remove();$('<div id="orrsLoader" class="loading-container"><div><div class="mdl-spinner mdl-js-spinner is-active"></div></div></div>').appendTo("body");componentHandler.upgradeElements($(".mdl-spinner").get());setTimeout(function(){$("#orrsLoader").css({opacity:1})},1)}
|
||||
function hideLoading(){$("#orrsLoader").css({opacity:0});setTimeout(function(){$("#orrsLoader").remove()},400)}
|
||||
function showDialog(a){a=$.extend({id:"orrsDiag",title:null,text:null,neutral:!1,negative:!1,positive:!1,cancelable:!0,contentStyle:null,onLoaded:!1,hideOther:!0},a);a.hideOther&&($(".dialog-container").remove(),$(document).unbind("keyup.dialog"));$('<div id="'+a.id+'" class="dialog-container"><div class="mdl-card mdl-shadow--16dp" id="'+a.id+'_content"></div></div>').appendTo("body");var c=$("#"+a.id),b=c.find(".mdl-card");null!=a.contentStyle&&b.css(a.contentStyle);null!=a.title&&$("<header>"+a.title+
|
||||
|
||||
@@ -63,6 +63,17 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="soldpass" style="display: none">
|
||||
<i class="material-icons">vpn_key</i>
|
||||
<div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label">
|
||||
<input id="oldpass" name="oldpass" type="password"
|
||||
class="mdl-textfield__input mdl-color-text--indigo-400"
|
||||
maxlength="80" autocomplete="off">
|
||||
<label class="mdl-textfield__label"
|
||||
for="oldpass"><?php echo _('Clave Anterior'); ?></label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="smpass" style="display: none">
|
||||
<i class="material-icons">vpn_key</i>
|
||||
<div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label">
|
||||
|
||||
@@ -72,11 +72,4 @@
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</main>
|
||||
<script>
|
||||
sysPassApp.sk.set("<?php echo $sk; ?>");
|
||||
|
||||
$('#btnBack').click(function () {
|
||||
window.history.back();
|
||||
});
|
||||
</script>
|
||||
</main>
|
||||
@@ -301,6 +301,15 @@ sysPass.Actions = function (Common) {
|
||||
$("#mpass").prop("disabled", false).val("");
|
||||
$("#smpass").show();
|
||||
break;
|
||||
case 5:
|
||||
Common.msg.out(json);
|
||||
|
||||
$obj.find("input[type='text'],input[type='password']").val("");
|
||||
$obj.find("input:first").focus();
|
||||
|
||||
$("#oldpass").prop("disabled", false).val("");
|
||||
$("#soldpass").show();
|
||||
break;
|
||||
default:
|
||||
Common.msg.out(json);
|
||||
|
||||
|
||||
56
js/app-actions.min.js
vendored
56
js/app-actions.min.js
vendored
@@ -1,34 +1,36 @@
|
||||
var $jscomp={scope:{},findInternal:function(c,d,h){c instanceof String&&(c=String(c));for(var e=c.length,f=0;f<e;f++){var m=c[f];if(d.call(h,m,f,c))return{i:f,v:m}}return{i:-1,v:void 0}}};$jscomp.defineProperty="function"==typeof Object.defineProperties?Object.defineProperty:function(c,d,h){if(h.get||h.set)throw new TypeError("ES3 does not support getters and setters.");c!=Array.prototype&&c!=Object.prototype&&(c[d]=h.value)};
|
||||
$jscomp.getGlobal=function(c){return"undefined"!=typeof window&&window===c?c:"undefined"!=typeof global?global:c};$jscomp.global=$jscomp.getGlobal(this);$jscomp.polyfill=function(c,d,h,e){if(d){h=$jscomp.global;c=c.split(".");for(e=0;e<c.length-1;e++){var f=c[e];f in h||(h[f]={});h=h[f]}c=c[c.length-1];e=h[c];d=d(e);d!=e&&null!=d&&$jscomp.defineProperty(h,c,{configurable:!0,writable:!0,value:d})}};
|
||||
$jscomp.getGlobal=function(c){return"undefined"!=typeof window&&window===c?c:"undefined"!=typeof global&&null!=global?global:c};$jscomp.global=$jscomp.getGlobal(this);$jscomp.polyfill=function(c,d,h,e){if(d){h=$jscomp.global;c=c.split(".");for(e=0;e<c.length-1;e++){var f=c[e];f in h||(h[f]={});h=h[f]}c=c[c.length-1];e=h[c];d=d(e);d!=e&&null!=d&&$jscomp.defineProperty(h,c,{configurable:!0,writable:!0,value:d})}};
|
||||
$jscomp.polyfill("Array.prototype.find",function(c){return c?c:function(c,h){return $jscomp.findInternal(this,c,h).v}},"es6-impl","es3");
|
||||
sysPass.Actions=function(c){var d=c.log,h=0,e={doAction:"/ajax/ajax_getContent.php",updateItems:"/ajax/ajax_getItems.php",user:{savePreferences:"/ajax/ajax_userPrefsSave.php",password:"/ajax/ajax_usrpass.php",passreset:"/ajax/ajax_passReset.php"},main:{login:"/ajax/ajax_doLogin.php",install:"/ajax/ajax_install.php",twofa:"/ajax/ajax_2fa.php",getUpdates:"/ajax/ajax_checkUpds.php"},checks:"/ajax/ajax_checkConnection.php",config:{save:"/ajax/ajax_configSave.php","export":"/ajax/ajax_export.php","import":"/ajax/ajax_import.php"},
|
||||
sysPass.Actions=function(c){var d=c.log,h,e={doAction:"/ajax/ajax_getContent.php",updateItems:"/ajax/ajax_getItems.php",user:{savePreferences:"/ajax/ajax_userPrefsSave.php",password:"/ajax/ajax_usrpass.php",passreset:"/ajax/ajax_passReset.php"},main:{login:"/ajax/ajax_doLogin.php",install:"/ajax/ajax_install.php",twofa:"/ajax/ajax_2fa.php",getUpdates:"/ajax/ajax_checkUpds.php"},checks:"/ajax/ajax_checkConnection.php",config:{save:"/ajax/ajax_configSave.php","export":"/ajax/ajax_export.php","import":"/ajax/ajax_import.php"},
|
||||
file:"/ajax/ajax_filesMgmt.php",link:"/ajax/ajax_itemSave.php",account:{save:"/ajax/ajax_itemSave.php",showPass:"/ajax/ajax_accViewPass.php",saveFavorite:"/ajax/ajax_itemSave.php",request:"/ajax/ajax_sendRequest.php",getFiles:"/ajax/ajax_accGetFiles.php",search:"/ajax/ajax_accSearch.php"},appMgmt:{show:"/ajax/ajax_itemShow.php",save:"/ajax/ajax_itemSave.php",search:"/ajax/ajax_itemSearch.php"},eventlog:"/ajax/ajax_eventlog.php",wiki:{show:"/ajax/ajax_wiki.php"}},f=function(a){a={actionId:a.actionId,
|
||||
itemId:"undefined"!==typeof a.itemId?a.itemId:0,isAjax:1};var b=c.appRequests().getRequestOpts();b.url=e.doAction;b.type="html";b.addHistory=!0;b.data=a;c.appRequests().getActionCall(b,function(c){$("#content").empty().html(c)})},m=function(a){d.info("updateItems");var b=$("#"+a.data("item-dst"))[0].selectize;b.clearOptions();b.load(function(b){var g=c.appRequests().getRequestOpts();g.url=e.updateItems;g.method="get";g.data={sk:c.sk.get(),itemType:a.data("item-type")};c.appRequests().getActionCall(g,
|
||||
function(c){b(c.items)})})},p=function(a,b){$.magnificPopup.open({items:{src:b,type:"inline"},callbacks:{open:function(){c.appTriggers().views.common("#fancyContainer")},close:function(){a.data("item-dst")&&m(a)}},showCloseBtn:!1})},r=function(a,b){var g=$('<div id="fancyContainer" class="image">'+b+"</div>"),d=g.find("img");d.hide();$.magnificPopup.open({items:{src:g,type:"inline"},callbacks:{open:function(){var a=this;d.on("click",function(){a.close()});setTimeout(function(){var a=c.resizeImage(d);
|
||||
g.css({backgroundColor:"#fff",width:a.width,height:"auto"});d.show("slow")},500)}}})},q={logout:function(){var a=window.location.search;c.redirect(0<a.length?"index.php"+a+"&logout=1":"index.php?logout=1")},login:function(a){d.info("main:login");var b=c.appRequests().getRequestOpts();b.url=e.main.login;b.data=a.serialize();c.appRequests().getActionCall(b,function(b){switch(b.status){case 0:c.redirect(b.data.url);break;case 2:c.msg.out(b);a.find("input[type='text'],input[type='password']").val("");
|
||||
a.find("input:first").focus();$("#mpass").prop("disabled",!1).val("");$("#smpass").show();break;default:c.msg.out(b),a.find("input[type='text'],input[type='password']").val(""),a.find("input:first").focus()}})},install:function(a){d.info("main:install");var b=c.appRequests().getRequestOpts();b.url=e.main.install;b.data=a.serialize();c.appRequests().getActionCall(b,function(a){c.msg.out(a);0==a.status&&setTimeout(function(){c.redirect("index.php")},1E3)})},twofa:function(a){d.info("main:twofa");var b=
|
||||
c.appRequests().getRequestOpts();b.url=e.main.twofa;b.data=a.serialize();c.appRequests().getActionCall(b,function(a){c.msg.out(a);0==a.status&&setTimeout(function(){c.redirect("index.php")},1E3)})},getUpdates:function(a){d.info("main:getUpdates");a=c.appRequests().getRequestOpts();a.url=e.main.getUpdates;a.type="html";a.method="get";a.timeout=1E4;a.useLoading=!1;a.data={isAjax:1};c.appRequests().getActionCall(a,function(a){$("#updates").html(a);"undefined"!==typeof componentHandler&&componentHandler.upgradeDom()},
|
||||
function(){$("#updates").html("!")})}},l={show:function(a){d.info("account:show");f({actionId:a.data("action-id"),itemId:a.data("item-id")})},showHistory:function(a){d.info("account:showHistory");f({actionId:a.data("action-id"),itemId:a.val()})},edit:function(a){d.info("account:edit");f({actionId:a.data("action-id"),itemId:a.data("item-id")})},"delete":function(a){d.info("account:delete");var b='<div id="alert"><p id="alert-text">'+c.config().LANG[3]+"</p></div>";showDialog({text:b,negative:{title:c.config().LANG[44],
|
||||
onClick:function(a){a.preventDefault();c.msg.error(c.config().LANG[44])}},positive:{title:c.config().LANG[43],onClick:function(b){b=c.appRequests().getRequestOpts();b.url=e.account.save;b.data={itemId:a.data("item-id"),actionId:a.data("action-id"),sk:c.sk.get()};c.appRequests().getActionCall(b,function(a){c.msg.out(a);l.search()})}}})},showpass:function(a){d.info("account:showpass");var b=c.appRequests().getRequestOpts();b.url=e.appMgmt.show;b.data={itemId:a.data("item-id"),actionId:a.data("action-id"),
|
||||
isHistory:a.data("history"),isFull:1,sk:c.sk.get(),isAjax:1};c.appRequests().getActionCall(b,function(b){0!==b.status?c.msg.out(b):(b=$(b.data.html),p(a,b),b.on("mouseleave",function(){clearTimeout(h);h=setTimeout(function(){$.magnificPopup.close()},3E4)}).on("mouseenter",function(){0!==h&&clearTimeout(h)}))})},copypass:function(a){d.info("account:copypass");var b=c.appRequests().getRequestOpts();b.url=e.appMgmt.show;b.async=!1;b.data={itemId:a.data("item-id"),actionId:a.data("action-id"),isHistory:a.data("history"),
|
||||
isFull:0,sk:c.sk.get(),isAjax:1};a=c.appRequests().getActionCall(b);"undefined"!==typeof a.responseJSON.csrf&&c.sk.set(a.responseJSON.csrf);return a},copy:function(a){d.info("account:copy");f({actionId:a.data("action-id"),itemId:a.data("item-id")})},savefavorite:function(a,b){d.info("account:saveFavorite");var g="on"===a.data("status"),k={actionId:g?a.data("action-id-off"):a.data("action-id-on"),itemId:a.data("item-id"),sk:c.sk.get(),isAjax:1},f=c.appRequests().getRequestOpts();f.url=e.account.saveFavorite;
|
||||
f.data=k;c.appRequests().getActionCall(f,function(d){c.msg.out(d);0===d.status&&(a.data("status",g?"off":"on"),"function"===typeof b&&b())})},request:function(a){d.info("account:request");var b=c.appRequests().getRequestOpts();b.url=e.account.request;b.data=a.serialize();c.appRequests().getActionCall(b,function(a){c.msg.out(a)})},menu:function(a){a.hide();a.parent().children(".actions-optional").show(250)},sort:function(a){d.info("account:sort");var c=$("#frmSearch");c.find('input[name="skey"]').val(a.data("key"));
|
||||
c.find('input[name="sorder"]').val(a.data("dir"));c.find('input[name="start"]').val(a.data("start"));l.search()},editpass:function(a){d.info("account:editpass");f({actionId:a.data("action-id"),itemId:a.data("item-id")})},restore:function(a){d.info("account:restore");l.save(a)},getfiles:function(a){d.info("account:getfiles");var b=c.appRequests().getRequestOpts();b.method="get";b.type="html";b.url=e.account.getFiles;b.data={id:a.data("item-id"),del:a.data("delete"),sk:c.sk.get()};c.appRequests().getActionCall(b,
|
||||
function(c){a.html(c)})},search:function(){d.info("account:search");var a=$("#frmSearch");a.find("input[name='sk']").val(c.sk.get());a.find("input[name='skey']").val();a.find("input[name='sorder']").val();var b=c.appRequests().getRequestOpts();b.url=e.account.search;b.data=a.serialize();c.appRequests().getActionCall(b,function(b){10===b.status&&c.msg.out(b);c.sk.set(b.sk);$("#res-content").empty().html(b.html);a.find("input:first").focus()})},save:function(a){d.info("account:save");var b=c.appRequests().getRequestOpts();
|
||||
b.url=e.account.save;b.data=a.serialize();c.appRequests().getActionCall(b,function(a){c.msg.out(a)})}},n={refreshTab:!0,show:function(a){d.info("appMgmt:show");if(a.data("item-dst")||!a.data("activetab"))n.refreshTab=!1;var b=c.appRequests().getRequestOpts();b.url=e.appMgmt.show;b.data={itemId:a.data("item-id"),actionId:a.data("action-id"),activeTab:a.data("activetab"),sk:c.sk.get(),isAjax:1};c.appRequests().getActionCall(b,function(b){0!==b.status?c.msg.out(b):p(a,b.data.html)})},"delete":function(a){d.info("appMgmt:delete");
|
||||
var b='<div id="alert"><p id="alert-text">'+c.config().LANG[12]+"</p></div>",g=a.data("selection"),k=[];if(g&&($(g).find(".is-selected").each(function(a,c){var b=$(this);k.push(b.data("item-id"))}),0===k.length))return;showDialog({text:b,negative:{title:c.config().LANG[44],onClick:function(a){a.preventDefault();c.msg.error(c.config().LANG[44])}},positive:{title:c.config().LANG[43],onClick:function(b){b.preventDefault();b=c.appRequests().getRequestOpts();b.url=e.appMgmt.save;b.data={itemId:g?k:a.data("item-id"),
|
||||
actionId:a.data("action-id"),sk:c.sk.get(),isAjax:1};c.appRequests().getActionCall(b,function(b){c.msg.out(b);a.data("nextaction-id")&&f({actionId:a.data("nextaction-id"),itemId:a.data("activetab")})})}}})},save:function(a){d.info("appMgmt:save");var b=c.appRequests().getRequestOpts();b.url=e.appMgmt.save;b.data=a.serialize();c.appRequests().getActionCall(b,function(b){c.msg.out(b);0===b.status&&(!0===n.refreshTab&&f({actionId:a.data("nextaction-id"),itemId:a.data("activetab")}),$.magnificPopup.close())})},
|
||||
search:function(a){d.info("appMgmt:search");var b=$(a.data("target")),g=c.appRequests().getRequestOpts();g.url=e.appMgmt.search;g.data=a.serialize();c.appRequests().getActionCall(g,function(a){0===a.status?b.html(a.data.html):b.html(c.msg.html.error(a.description));c.sk.set(a.csrf)})},nav:function(a){d.info("appMgmt:nav");var b=$("#"+a.data("action-form"));b.find("[name='start']").val(a.data("start"));b.find("[name='count']").val(a.data("count"));b.find("[name='sk']").val(c.sk.get());n.search(b)},
|
||||
ldapSync:function(a){d.info("appMgmt:ldapSync");var b='<div id="alert"><p id="alert-text">'+c.config().LANG[57]+"</p></div>";showDialog({text:b,negative:{title:c.config().LANG[44],onClick:function(a){a.preventDefault();c.msg.error(c.config().LANG[44])}},positive:{title:c.config().LANG[43],onClick:function(b){b=c.appRequests().getRequestOpts();b.url=e.appMgmt.save;b.data={actionId:a.data("action-id"),sk:c.sk.get(),isAjax:1};c.appRequests().getActionCall(b,function(a){c.msg.out(a)})}}})}};return{doAction:f,
|
||||
appMgmt:n,account:l,file:{view:function(a){d.info("file:view");var b=c.appRequests().getRequestOpts();b.url=e.file;b.type="html";b.data={fileId:a.data("item-id"),sk:c.sk.get(),actionId:a.data("action-id")};c.appRequests().getActionCall(b,function(b){"undefined"!==typeof b.status&&1===b.status?c.msg.out(b):b?r(a,b):c.msg.error(c.config().LANG[14])})},download:function(a){d.info("file:download");a={fileId:a.data("item-id"),sk:c.sk.get(),actionId:a.data("action-id")};$.fileDownload(c.config().APP_ROOT+
|
||||
e.file,{httpMethod:"POST",data:a})},"delete":function(a){d.info("file:delete");var b='<div id="alert"><p id="alert-text">'+c.config().LANG[15]+"</p></div>";showDialog({text:b,negative:{title:c.config().LANG[44],onClick:function(a){a.preventDefault();c.msg.error(c.config().LANG[44])}},positive:{title:c.config().LANG[43],onClick:function(b){b=c.appRequests().getRequestOpts();b.url=e.file;b.data={fileId:a.data("item-id"),actionId:a.data("action-id"),sk:c.sk.get()};c.appRequests().getActionCall(b,function(a){c.msg.out(a);
|
||||
0===a.status&&(a=$("#list-account-files"),l.getfiles(a))})}}})}},checks:{ldap:function(a){d.info("checks:ldap");a=$(a.data("src"));a.find("[name='sk']").val(c.sk.get());var b=c.appRequests().getRequestOpts();b.url=e.checks;b.data=a.serialize();c.appRequests().getActionCall(b,function(a){c.msg.out(a);var b=$("#ldap-results");b.find(".list-wrap").html(c.appTheme().html.getList(a.data));b.show("slow")})},wiki:function(a){d.info("checks:wiki");a=$(a.data("src"));a.find("[name='sk']").val(c.sk.get());
|
||||
var b=c.appRequests().getRequestOpts();b.url=e.checks;b.data=a.serialize();c.appRequests().getActionCall(b,function(a){c.msg.out(a);0===a.status&&$("#dokuWikiResCheck").html(a.data)})}},config:{save:function(a){d.info("config:save");var b=c.appRequests().getRequestOpts();b.url=e.config.save;b.data=a.serialize();c.appRequests().getActionCall(b,function(b){c.msg.out(b);0===b.status&&"undefined"!==typeof a.data("nextaction-id")&&f({actionId:a.data("nextaction-id"),itemId:a.data("activetab")})})},backup:function(a){d.info("config:backup");
|
||||
var b=c.appRequests().getRequestOpts();b.url=e.config["export"];b.data=a.serialize();c.appRequests().getActionCall(b,function(b){c.msg.out(b);0===b.status&&"undefined"!==typeof a.data("nextaction-id")&&f({actionId:a.data("nextaction-id"),itemId:a.data("activetab")})})},"export":function(a){d.info("config:export");var b=c.appRequests().getRequestOpts();b.url=e.config["export"];b.data=a.serialize();c.appRequests().getActionCall(b,function(b){c.msg.out(b);0===b.status&&"undefined"!==typeof a.data("nextaction-id")&&
|
||||
f({actionId:a.data("nextaction-id"),itemId:a.data("activetab")})})},"import":function(a){d.info("config:import");var b=c.appRequests().getRequestOpts();b.url=e.config["import"];b.data=a.serialize();c.appRequests().getActionCall(b,function(b){c.msg.out(b);0===b.status&&"undefined"!==typeof a.data("nextaction-id")&&f({actionId:a.data("nextaction-id"),itemId:a.data("activetab")})})}},main:q,user:{savePreferences:function(a){d.info("user:savePreferences");var b=c.appRequests().getRequestOpts();b.url=
|
||||
e.user.savePreferences;b.data=a.serialize();c.appRequests().getActionCall(b,function(a){c.msg.out(a);setTimeout(function(){window.location.replace("index.php")},2E3)})},saveSecurity:function(a){d.info("user:saveSecurity");var b=c.appRequests().getRequestOpts();b.url=e.user.savePreferences;b.data=a.serialize();c.appRequests().getActionCall(b,function(b){c.msg.out(b);f({actionId:a.data("nextaction-id"),itemId:a.data("activetab")})})},password:function(a){d.info("user:password");var b=c.appRequests().getRequestOpts();
|
||||
b.type="html";b.method="get";b.url=e.user.password;b.data={actionId:a.data("action-id"),itemId:a.data("item-id"),sk:a.data("sk"),isAjax:1};c.appRequests().getActionCall(b,function(b){0===b.length?q.logout():p(a,b)})},passreset:function(a){d.info("user:passreset");var b=c.appRequests().getRequestOpts();b.url=e.user.passreset;b.data=a.serialize();c.appRequests().getActionCall(b,function(a){c.msg.out(a)})}},link:{save:function(a){d.info("link:save");var b=c.appRequests().getRequestOpts();b.url=e.link;
|
||||
b.data={itemId:a.data("item-id"),actionId:a.data("action-id"),sk:c.sk.get(),isAjax:1};a='<div id="alert"><p id="alert-text">'+c.config().LANG[48]+"</p></div>";showDialog({text:a,negative:{title:c.config().LANG[44],onClick:function(a){a.preventDefault();c.appRequests().getActionCall(b,function(a){c.msg.out(a)})}},positive:{title:c.config().LANG[43],onClick:function(a){a.preventDefault();b.data.notify=1;c.appRequests().getActionCall(b,function(a){c.msg.out(a)})}}})},refresh:function(a){d.info("link:refresh");
|
||||
function(c){b(c.items)})})},q=function(a,b){$.magnificPopup.open({items:{src:b,type:"inline"},callbacks:{open:function(){c.appTriggers().views.common("#fancyContainer")},close:function(){a.data("item-dst")&&m(a)}},showCloseBtn:!1})},r=function(a,b){var g=$('<div id="fancyContainer" class="image">'+b+"</div>"),d=g.find("img");d.hide();$.magnificPopup.open({items:{src:g,type:"inline"},callbacks:{open:function(){var a=this;d.on("click",function(){a.close()});setTimeout(function(){var a=c.resizeImage(d);
|
||||
g.css({backgroundColor:"#fff",width:a.width,height:"auto"});d.show("slow")},500)}}})},p={logout:function(){var a=window.location.search;c.redirect(0<a.length?"index.php"+a+"&logout=1":"index.php?logout=1")},login:function(a){d.info("main:login");var b=c.appRequests().getRequestOpts();b.url=e.main.login;b.data=a.serialize();c.appRequests().getActionCall(b,function(b){switch(b.status){case 0:c.redirect(b.data.url);break;case 2:c.msg.out(b);a.find("input[type='text'],input[type='password']").val("");
|
||||
a.find("input:first").focus();$("#mpass").prop("disabled",!1).val("");$("#smpass").show();break;case 5:c.msg.out(b);a.find("input[type='text'],input[type='password']").val("");a.find("input:first").focus();$("#oldpass").prop("disabled",!1).val("");$("#soldpass").show();break;default:c.msg.out(b),a.find("input[type='text'],input[type='password']").val(""),a.find("input:first").focus()}})},install:function(a){d.info("main:install");var b=c.appRequests().getRequestOpts();b.url=e.main.install;b.data=
|
||||
a.serialize();c.appRequests().getActionCall(b,function(a){c.msg.out(a);0==a.status&&setTimeout(function(){c.redirect("index.php")},1E3)})},twofa:function(a){d.info("main:twofa");var b=c.appRequests().getRequestOpts();b.url=e.main.twofa;b.data=a.serialize();c.appRequests().getActionCall(b,function(a){c.msg.out(a);0==a.status&&setTimeout(function(){c.redirect("index.php")},1E3)})},getUpdates:function(a){d.info("main:getUpdates");a=c.appRequests().getRequestOpts();a.url=e.main.getUpdates;a.type="html";
|
||||
a.method="get";a.timeout=1E4;a.useLoading=!1;a.data={isAjax:1};c.appRequests().getActionCall(a,function(a){$("#updates").html(a);"undefined"!==typeof componentHandler&&componentHandler.upgradeDom()},function(){$("#updates").html("!")})}},l={show:function(a){d.info("account:show");f({actionId:a.data("action-id"),itemId:a.data("item-id")})},showHistory:function(a){d.info("account:showHistory");f({actionId:a.data("action-id"),itemId:a.val()})},edit:function(a){d.info("account:edit");f({actionId:a.data("action-id"),
|
||||
itemId:a.data("item-id")})},"delete":function(a){d.info("account:delete");var b='<div id="alert"><p id="alert-text">'+c.config().LANG[3]+"</p></div>";showDialog({text:b,negative:{title:c.config().LANG[44],onClick:function(a){a.preventDefault();c.msg.error(c.config().LANG[44])}},positive:{title:c.config().LANG[43],onClick:function(b){b=c.appRequests().getRequestOpts();b.url=e.account.save;b.data={itemId:a.data("item-id"),actionId:a.data("action-id"),sk:c.sk.get()};c.appRequests().getActionCall(b,function(a){c.msg.out(a);
|
||||
l.search()})}}})},showpass:function(a){d.info("account:showpass");var b=c.appRequests().getRequestOpts();b.url=e.account.showPass;b.data={itemId:a.data("item-id"),isHistory:a.data("history"),isFull:a.data("full"),isAjax:1};c.appRequests().getActionCall(b,function(a){if(10===a.status)p.logout();else{var b;$("<div></div>").dialog({modal:!0,title:c.config().LANG[47],width:"auto",open:function(){b=$(this);var g,d="";g='<button class="dialog-clip-user-button ui-button ui-widget ui-state-default ui-corner-all ui-button-text-icon-primary" data-clipboard-target=".dialog-user-text"><span class="ui-button-icon-primary ui-icon ui-icon-clipboard"></span><span class="ui-button-text">'+
|
||||
c.config().LANG[33]+"</span></button>";var e='<button class="dialog-clip-pass-button ui-button ui-widget ui-state-default ui-corner-all ui-button-text-icon-primary" data-clipboard-target=".dialog-pass-text"><span class="ui-button-icon-primary ui-icon ui-icon-clipboard"></span><span class="ui-button-text">'+c.config().LANG[34]+"</span></button>",d=a.useimage,k='<p class="dialog-user-text">'+a.acclogin+"</p>";0===a.status?(0===d?d='<p class="dialog-pass-text">'+a.accpass+"</p>":(d='<img class="dialog-pass-text" src="data:image/png;base64,'+
|
||||
a.accpass+'" />',e=""),g=k+d+'<div class="dialog-buttons">'+g+e+"</div>"):(g='<span class="altTxtRed">'+a.description+"</span>",b.dialog("option","buttons",[{text:"Ok",icons:{primary:"ui-icon-close"},click:function(){b.dialog("close")}}]));b.html(g);b.dialog("option","position","center");b.parent().on("mouseleave",function(){clearTimeout(h);h=setTimeout(function(){b.dialog("close")},3E4)})},close:function(){clearTimeout(h);b.dialog("destroy")}})}})},copypass:function(a){d.info("account:copypass");
|
||||
var b=c.appRequests().getRequestOpts();b.url=e.account.showPass;b.async=!1;b.data={itemId:a.data("item-id"),isHistory:a.data("history"),isAjax:1};return c.appRequests().getActionCall(b)},copy:function(a){d.info("account:copy");f({actionId:a.data("action-id"),itemId:a.data("item-id")})},savefavorite:function(a,b){d.info("account:saveFavorite");var g="on"===a.data("status"),k={actionId:g?a.data("action-id-off"):a.data("action-id-on"),itemId:a.data("item-id"),sk:c.sk.get(),isAjax:1},f=c.appRequests().getRequestOpts();
|
||||
f.url=e.account.saveFavorite;f.data=k;c.appRequests().getActionCall(f,function(d){c.msg.out(d);0===d.status&&(a.data("status",g?"off":"on"),"function"===typeof b&&b())})},request:function(a){d.info("account:request");var b=c.appRequests().getRequestOpts();b.url=e.account.request;b.data=a.serialize();c.appRequests().getActionCall(b,function(a){c.msg.out(a)})},menu:function(a){a.hide();a.parent().children(".actions-optional").show(250)},sort:function(a){d.info("account:sort");var c=$("#frmSearch");
|
||||
c.find('input[name="skey"]').val(a.data("key"));c.find('input[name="sorder"]').val(a.data("dir"));c.find('input[name="start"]').val(a.data("start"));l.search()},editpass:function(a){d.info("account:editpass");f({actionId:a.data("action-id"),itemId:a.data("item-id")})},restore:function(a){d.info("account:restore");l.save(a)},getfiles:function(a){d.info("account:getfiles");var b=c.appRequests().getRequestOpts();b.method="get";b.type="html";b.url=e.account.getFiles;b.data={id:a.data("item-id"),del:a.data("delete"),
|
||||
sk:c.sk.get()};c.appRequests().getActionCall(b,function(c){a.html(c)})},search:function(){d.info("account:search");var a=$("#frmSearch");a.find("input[name='sk']").val(c.sk.get());a.find("input[name='skey']").val();a.find("input[name='sorder']").val();var b=c.appRequests().getRequestOpts();b.url=e.account.search;b.data=a.serialize();c.appRequests().getActionCall(b,function(b){10===b.status&&c.msg.out(b);c.sk.set(b.sk);$("#res-content").empty().html(b.html);a.find("input:first").focus()})},save:function(a){d.info("account:save");
|
||||
var b=c.appRequests().getRequestOpts();b.url=e.account.save;b.data=a.serialize();c.appRequests().getActionCall(b,function(a){c.msg.out(a)})}},n={refreshTab:!0,show:function(a){d.info("appMgmt:show");if(a.data("item-dst")||!a.data("activetab"))n.refreshTab=!1;var b=c.appRequests().getRequestOpts();b.url=e.appMgmt.show;b.data={itemId:a.data("item-id"),actionId:a.data("action-id"),activeTab:a.data("activetab"),sk:c.sk.get(),isAjax:1};c.appRequests().getActionCall(b,function(b){0!==b.status?c.msg.out(b):
|
||||
q(a,b.data.html)})},"delete":function(a){d.info("appMgmt:delete");var b='<div id="alert"><p id="alert-text">'+c.config().LANG[12]+"</p></div>",g=a.data("selection"),k=[];if(g&&($(g).find(".is-selected").each(function(a,c){var b=$(this);k.push(b.data("item-id"))}),0===k.length))return;showDialog({text:b,negative:{title:c.config().LANG[44],onClick:function(a){a.preventDefault();c.msg.error(c.config().LANG[44])}},positive:{title:c.config().LANG[43],onClick:function(b){b.preventDefault();b=c.appRequests().getRequestOpts();
|
||||
b.url=e.appMgmt.save;b.data={itemId:g?k:a.data("item-id"),actionId:a.data("action-id"),sk:c.sk.get(),isAjax:1};c.appRequests().getActionCall(b,function(b){c.msg.out(b);a.data("nextaction-id")&&f({actionId:a.data("nextaction-id"),itemId:a.data("activetab")})})}}})},save:function(a){d.info("appMgmt:save");var b=c.appRequests().getRequestOpts();b.url=e.appMgmt.save;b.data=a.serialize();c.appRequests().getActionCall(b,function(b){c.msg.out(b);0===b.status&&(!0===n.refreshTab&&f({actionId:a.data("nextaction-id"),
|
||||
itemId:a.data("activetab")}),$.magnificPopup.close())})},search:function(a){d.info("appMgmt:search");var b=$(a.data("target")),g=c.appRequests().getRequestOpts();g.url=e.appMgmt.search;g.data=a.serialize();c.appRequests().getActionCall(g,function(a){0===a.status?b.html(a.data.html):b.html(c.msg.html.error(a.description));c.sk.set(a.csrf)})},nav:function(a){d.info("appMgmt:nav");var b=$("#"+a.data("action-form"));b.find("[name='start']").val(a.data("start"));b.find("[name='count']").val(a.data("count"));
|
||||
b.find("[name='sk']").val(c.sk.get());n.search(b)},ldapSync:function(a){d.info("appMgmt:ldapSync");var b='<div id="alert"><p id="alert-text">'+c.config().LANG[57]+"</p></div>";showDialog({text:b,negative:{title:c.config().LANG[44],onClick:function(a){a.preventDefault();c.msg.error(c.config().LANG[44])}},positive:{title:c.config().LANG[43],onClick:function(b){b=c.appRequests().getRequestOpts();b.url=e.appMgmt.save;b.data={actionId:a.data("action-id"),sk:c.sk.get(),isAjax:1};c.appRequests().getActionCall(b,
|
||||
function(a){c.msg.out(a)})}}})}};return{doAction:f,appMgmt:n,account:l,file:{view:function(a){d.info("file:view");var b=c.appRequests().getRequestOpts();b.url=e.file;b.type="html";b.data={fileId:a.data("item-id"),sk:c.sk.get(),actionId:a.data("action-id")};c.appRequests().getActionCall(b,function(b){"undefined"!==typeof b.status&&1===b.status?c.msg.out(b):b?r(a,b):c.msg.error(c.config().LANG[14])})},download:function(a){d.info("file:download");a={fileId:a.data("item-id"),sk:c.sk.get(),actionId:a.data("action-id")};
|
||||
$.fileDownload(c.config().APP_ROOT+e.file,{httpMethod:"POST",data:a})},"delete":function(a){d.info("file:delete");var b='<div id="alert"><p id="alert-text">'+c.config().LANG[15]+"</p></div>";showDialog({text:b,negative:{title:c.config().LANG[44],onClick:function(a){a.preventDefault();c.msg.error(c.config().LANG[44])}},positive:{title:c.config().LANG[43],onClick:function(b){b=c.appRequests().getRequestOpts();b.url=e.file;b.data={fileId:a.data("item-id"),actionId:a.data("action-id"),sk:c.sk.get()};
|
||||
c.appRequests().getActionCall(b,function(a){c.msg.out(a);0===a.status&&(a=$("#list-account-files"),l.getfiles(a))})}}})}},checks:{ldap:function(a){d.info("checks:ldap");a=$(a.data("src"));a.find("[name='sk']").val(c.sk.get());var b=c.appRequests().getRequestOpts();b.url=e.checks;b.data=a.serialize();c.appRequests().getActionCall(b,function(a){c.msg.out(a);var b=$("#ldap-results");b.find(".list-wrap").html(c.appTheme().html.getList(a.data));b.show("slow")})},wiki:function(a){d.info("checks:wiki");
|
||||
a=$(a.data("src"));a.find("[name='sk']").val(c.sk.get());var b=c.appRequests().getRequestOpts();b.url=e.checks;b.data=a.serialize();c.appRequests().getActionCall(b,function(a){c.msg.out(a);0===a.status&&$("#dokuWikiResCheck").html(a.data)})}},config:{save:function(a){d.info("config:save");var b=c.appRequests().getRequestOpts();b.url=e.config.save;b.data=a.serialize();c.appRequests().getActionCall(b,function(b){c.msg.out(b);0===b.status&&"undefined"!==typeof a.data("nextaction-id")&&f({actionId:a.data("nextaction-id"),
|
||||
itemId:a.data("activetab")})})},backup:function(a){d.info("config:backup");var b=c.appRequests().getRequestOpts();b.url=e.config["export"];b.data=a.serialize();c.appRequests().getActionCall(b,function(b){c.msg.out(b);0===b.status&&"undefined"!==typeof a.data("nextaction-id")&&f({actionId:a.data("nextaction-id"),itemId:a.data("activetab")})})},"export":function(a){d.info("config:export");var b=c.appRequests().getRequestOpts();b.url=e.config["export"];b.data=a.serialize();c.appRequests().getActionCall(b,
|
||||
function(b){c.msg.out(b);0===b.status&&"undefined"!==typeof a.data("nextaction-id")&&f({actionId:a.data("nextaction-id"),itemId:a.data("activetab")})})},"import":function(a){d.info("config:import");var b=c.appRequests().getRequestOpts();b.url=e.config["import"];b.data=a.serialize();c.appRequests().getActionCall(b,function(b){c.msg.out(b);0===b.status&&"undefined"!==typeof a.data("nextaction-id")&&f({actionId:a.data("nextaction-id"),itemId:a.data("activetab")})})}},main:p,user:{savePreferences:function(a){d.info("user:savePreferences");
|
||||
var b=c.appRequests().getRequestOpts();b.url=e.user.savePreferences;b.data=a.serialize();c.appRequests().getActionCall(b,function(a){c.msg.out(a);setTimeout(function(){window.location.replace("index.php")},2E3)})},saveSecurity:function(a){d.info("user:saveSecurity");var b=c.appRequests().getRequestOpts();b.url=e.user.savePreferences;b.data=a.serialize();c.appRequests().getActionCall(b,function(b){c.msg.out(b);f({actionId:a.data("nextaction-id"),itemId:a.data("activetab")})})},password:function(a){d.info("user:password");
|
||||
var b=c.appRequests().getRequestOpts();b.type="html";b.method="get";b.url=e.user.password;b.data={actionId:a.data("action-id"),itemId:a.data("item-id"),sk:a.data("sk"),isAjax:1};c.appRequests().getActionCall(b,function(b){0===b.length?p.logout():q(a,b)})},passreset:function(a){d.info("user:passreset");var b=c.appRequests().getRequestOpts();b.url=e.user.passreset;b.data=a.serialize();c.appRequests().getActionCall(b,function(a){c.msg.out(a)})}},link:{save:function(a){d.info("link:save");var b=c.appRequests().getRequestOpts();
|
||||
b.url=e.link;b.data={itemId:a.data("item-id"),actionId:a.data("action-id"),sk:c.sk.get(),isAjax:1};a='<div id="alert"><p id="alert-text">'+c.config().LANG[48]+"</p></div>";showDialog({text:a,negative:{title:c.config().LANG[44],onClick:function(a){a.preventDefault();c.appRequests().getActionCall(b,function(a){c.msg.out(a)})}},positive:{title:c.config().LANG[43],onClick:function(a){a.preventDefault();b.data.notify=1;c.appRequests().getActionCall(b,function(a){c.msg.out(a)})}}})},refresh:function(a){d.info("link:refresh");
|
||||
var b={itemId:a.data("item-id"),actionId:a.data("action-id"),sk:c.sk.get(),activeTab:a.data("activetab")},g=c.appRequests().getRequestOpts();g.url=e.link;g.data=b;c.appRequests().getActionCall(g,function(b){c.msg.out(b);0===b.status&&f({actionId:a.data("nextaction-id"),itemId:a.data("activetab")})})}},eventlog:{nav:function(a){if("undefined"===typeof a.data("start"))return!1;var b=c.appRequests().getRequestOpts();b.url=e.eventlog;b.type="html";b.data={start:a.data("start"),current:a.data("current")};
|
||||
c.appRequests().getActionCall(b,function(a){$("#content").html(a);c.scrollUp()})},clear:function(a){var b='<div id="alert"><p id="alert-text">'+c.config().LANG[20]+"</p></div>";showDialog({text:b,negative:{title:c.config().LANG[44],onClick:function(a){a.preventDefault();c.msg.error(c.config().LANG[44])}},positive:{title:c.config().LANG[43],onClick:function(b){b.preventDefault();b=c.appRequests().getRequestOpts();b.url=e.eventlog;b.data={clear:1,sk:c.sk.get(),isAjax:1};c.appRequests().getActionCall(b,
|
||||
function(b){c.msg.out(b);0==b.status&&f({actionId:a.data("nextaction-id")})})}}})}},ajaxUrl:e}};
|
||||
|
||||
@@ -140,6 +140,10 @@ sysPass.Main = function () {
|
||||
if ($("footer").length > 0) {
|
||||
appTriggers.views.footer();
|
||||
}
|
||||
|
||||
$('#btnBack').click(function () {
|
||||
redirect("index.php");
|
||||
});
|
||||
};
|
||||
|
||||
// Mostrar mensaje de aviso
|
||||
|
||||
34
js/app-main.min.js
vendored
34
js/app-main.min.js
vendored
@@ -1,21 +1,21 @@
|
||||
var $jscomp={scope:{}};$jscomp.defineProperty="function"==typeof Object.defineProperties?Object.defineProperty:function(a,f,e){if(e.get||e.set)throw new TypeError("ES3 does not support getters and setters.");a!=Array.prototype&&a!=Object.prototype&&(a[f]=e.value)};$jscomp.getGlobal=function(a){return"undefined"!=typeof window&&window===a?a:"undefined"!=typeof global?global:a};$jscomp.global=$jscomp.getGlobal(this);$jscomp.SYMBOL_PREFIX="jscomp_symbol_";
|
||||
var $jscomp={scope:{}};$jscomp.defineProperty="function"==typeof Object.defineProperties?Object.defineProperty:function(a,f,e){if(e.get||e.set)throw new TypeError("ES3 does not support getters and setters.");a!=Array.prototype&&a!=Object.prototype&&(a[f]=e.value)};$jscomp.getGlobal=function(a){return"undefined"!=typeof window&&window===a?a:"undefined"!=typeof global&&null!=global?global:a};$jscomp.global=$jscomp.getGlobal(this);$jscomp.SYMBOL_PREFIX="jscomp_symbol_";
|
||||
$jscomp.initSymbol=function(){$jscomp.initSymbol=function(){};$jscomp.global.Symbol||($jscomp.global.Symbol=$jscomp.Symbol)};$jscomp.symbolCounter_=0;$jscomp.Symbol=function(a){return $jscomp.SYMBOL_PREFIX+(a||"")+$jscomp.symbolCounter_++};
|
||||
$jscomp.initSymbolIterator=function(){$jscomp.initSymbol();var a=$jscomp.global.Symbol.iterator;a||(a=$jscomp.global.Symbol.iterator=$jscomp.global.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&$jscomp.defineProperty(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return $jscomp.arrayIterator(this)}});$jscomp.initSymbolIterator=function(){}};$jscomp.arrayIterator=function(a){var f=0;return $jscomp.iteratorPrototype(function(){return f<a.length?{done:!1,value:a[f++]}:{done:!0}})};
|
||||
$jscomp.iteratorPrototype=function(a){$jscomp.initSymbolIterator();a={next:a};a[$jscomp.global.Symbol.iterator]=function(){return this};return a};$jscomp.array=$jscomp.array||{};$jscomp.iteratorFromArray=function(a,f){$jscomp.initSymbolIterator();a instanceof String&&(a+="");var e=0,c={next:function(){if(e<a.length){var g=e++;return{value:f(g,a[g]),done:!1}}c.next=function(){return{done:!0,value:void 0}};return c.next()}};c[Symbol.iterator]=function(){return c};return c};
|
||||
$jscomp.polyfill=function(a,f,e,c){if(f){e=$jscomp.global;a=a.split(".");for(c=0;c<a.length-1;c++){var g=a[c];g in e||(e[g]={});e=e[g]}a=a[a.length-1];c=e[a];f=f(c);f!=c&&null!=f&&$jscomp.defineProperty(e,a,{configurable:!0,writable:!0,value:f})}};$jscomp.polyfill("Array.prototype.keys",function(a){return a?a:function(){return $jscomp.iteratorFromArray(this,function(a){return a})}},"es6-impl","es3");
|
||||
$jscomp.findInternal=function(a,f,e){a instanceof String&&(a=String(a));for(var c=a.length,g=0;g<c;g++){var l=a[g];if(f.call(e,l,g,a))return{i:g,v:l}}return{i:-1,v:void 0}};$jscomp.polyfill("Array.prototype.find",function(a){return a?a:function(a,e){return $jscomp.findInternal(this,a,e).v}},"es6-impl","es3");
|
||||
sysPass.Main=function(){var a={APP_ROOT:"",LANG:[],PK:"",MAX_FILE_SIZE:1024,CRYPT:new JSEncrypt,CHECK_UPDATES:!1,TIMEZONE:"",LOCALE:"",DEBUG:""},f={passLength:0,minPasswordLength:8,complexity:{numbers:!0,symbols:!0,uppercase:!0,numlength:12}},e={},c={},g={},l={},q={},n={},h={log:function(b){!0===a.DEBUG&&console.log(b)},info:function(b){!0===a.DEBUG&&console.info(b)},error:function(a){console.error(a)},warn:function(a){console.warn(a)}};toastr.options={closeButton:!1,debug:!1,newestOnTop:!1,progressBar:!1,
|
||||
positionClass:"toast-top-center",preventDuplicates:!1,onclick:null,showDuration:"300",hideDuration:"1000",timeOut:"5000",extendedTimeOut:"1000",showEasing:"swing",hideEasing:"linear",showMethod:"fadeIn",hideMethod:"fadeOut"};var k={ok:function(a){toastr.success(a)},error:function(a){toastr.error(a)},warn:function(a){toastr.warning(a)},info:function(a){toastr.info(a)},out:function(a){if("object"===typeof a){var b=a.status,d=a.description;"undefined"!==typeof a.messages&&0<a.messages.length&&(d=d+"<br>"+
|
||||
a.messages.join("<br>"));switch(b){case 0:k.ok(d);break;case 1:case 2:k.error(d);break;case 3:k.warn(d);break;case 10:g.main.logout()}}},html:{error:function(b){return'<p class="error round">Oops...<br>'+a.LANG[1]+"<br>"+b+"</p>"}}},w=function(b){h.info("getEnvironment");var p=window.location.pathname.split("/"),d=window.location.protocol+"//"+window.location.host+function(){for(var a="",b=1;b<=p.length-2;b++)a+="/"+p[b];return a}(),c=l.getRequestOpts();c.url=d+"/ajax/ajax_getEnvironment.php";c.method=
|
||||
"get";c.async=!1;c.useLoading=!1;c.data={isAjax:1};l.getActionCall(c,function(d){a.APP_ROOT=d.app_root;a.LANG=d.lang;a.PK=d.pk;a.CHECK_UPDATES=d.check_updates;a.CRYPT.setPublicKey(d.pk);a.TIMEZONE=d.timezone;a.LOCALE=d.locale;a.DEBUG=d.debug;"function"===typeof b&&b()})},u={get:function(){h.info("sk:get");return $("#container").attr("data-sk")},set:function(a){h.info("sk:set");$("#container").attr("data-sk",a)}},x=function(){var a=$("#container");if(!a.hasClass("content-no-auto-resize")){var c=$("#content").height()+
|
||||
200;a.css("height",c)}},y=function(){$("html, body").animate({scrollTop:0},"slow")},z=function(a){window.location.replace(a)},A=function(b){var c=function(){return{actionId:b.data("action-id"),itemId:b.data("item-id"),sk:u.get()}},d={requestDoneAction:"",requestData:function(a){c=function(){return a}},beforeSendAction:"",url:""},e=function(a){if("undefined"===typeof d.url||""===d.url)return!1;var b=new FormData;b.append("inFile",a);b.append("isAjax",1);var m=c();Object.keys(m).forEach(function(a){h.info(a);
|
||||
b.append(a,m[a])});a=l.getRequestOpts();a.url=d.url;a.processData=!1;a.contentType=!1;a.data=b;l.getActionCall(a,function(a){var b=a.status;a=a.description;0===b?("function"===typeof d.requestDoneAction&&d.requestDoneAction(),k.ok(a)):10===b?g.main.logout():k.error(a)})},f=function(d){if(5<d.length)k.error(a.LANG[17]+" (Max: 5)");else for(var c=0;c<d.length;c++){var m=d[c];if(m.size/1E3>a.MAX_FILE_SIZE)k.error(a.LANG[18]+"<br>"+m.name+" (Max: "+a.MAX_FILE_SIZE+")");else{var f;a:{f=m.name;for(var p=
|
||||
b.data("files-ext").toLowerCase().split(","),g=0;g<=p.length;g++)if(-1!==f.indexOf(p[g])){f=!0;break a}f=!1}f?e(d[c]):k.error(a.LANG[19]+"<br>"+m.name)}}},t=function(a){var b=$("#fileUploadForm");!1===a&&b.hide();a=b.find("input[type='file']");a.on("change",function(){"function"===typeof d.beforeSendAction&&d.beforeSendAction();f(this.files)});return a};window.File&&window.FileList&&window.FileReader?function(){h.info("fileUpload:init");var a=t(!1);b.on("dragover dragenter",function(a){h.info("fileUpload:drag");
|
||||
a.stopPropagation();a.preventDefault()});b.on("drop",function(a){h.info("fileUpload:drop");a.stopPropagation();a.preventDefault();"function"===typeof d.beforeSendAction&&d.beforeSendAction();f(a.dataTransfer.files)});b.on("click",function(){a.click()})}():t(!0);return d},B=function(a){h.info("checkPassLevel");f.passLength=a.val().length;v(zxcvbn(a.val()),a)},v=function(b,c){h.info("outputResult");var d=$(".passLevel-"+c.attr("id")),e=b.score;d.show();d.removeClass("weak good strong strongest");0===
|
||||
f.passLength?d.attr("title","").empty():f.passLength<f.minPasswordLength?d.attr("title",a.LANG[11]).addClass("weak"):0===e?d.attr("title",a.LANG[9]+" - "+b.feedback.warning).addClass("weak"):1===e||2===e?d.attr("title",a.LANG[8]+" - "+b.feedback.warning).addClass("good"):3===e?d.attr("title",a.LANG[7]).addClass("strong"):4===e&&d.attr("title",a.LANG[10]).addClass("strongest")},C=function(b){$(b).find(".checkbox").button({icons:{primary:"ui-icon-transferthick-e-w"}}).click(function(){var b=$(this);
|
||||
!0===b.prop("checked")?b.button("option","label",a.LANG[40]):b.button("option","label",a.LANG[41])})},r=function(b){h.info("encryptFormValue");var c=b.val();""!==c&&parseInt(b.attr("data-length"))!==c.length&&(c=a.CRYPT.encrypt(c),b.val(c),b.attr("data-length",c.length))},D=function(){h.info("initializeClipboard");var b=new Clipboard(".clip-pass-button",{text:function(a){return g.account.copypass($(a)).responseJSON.data.accpass}});b.on("success",function(b){k.ok(a.LANG[45])});b.on("error",function(b){k.error(a.LANG[46])});
|
||||
var b=new Clipboard(".dialog-clip-pass-button"),c=new Clipboard(".dialog-clip-user-button");b.on("success",function(a){$(".dialog-user-text").removeClass("dialog-clip-copy");$(".dialog-pass-text").addClass("dialog-clip-copy");a.clearSelection()});c.on("success",function(a){$(".dialog-pass-text").removeClass("dialog-clip-copy");$(".dialog-user-text").addClass("dialog-clip-copy");a.clearSelection()})},E=function(){h.info("bindPassEncrypt");$("body").on("blur",":input[type=password]",function(a){a=$(this);
|
||||
a.hasClass("passwordfield__no-pki")||r(a)}).on("keypress",":input[type=password]",function(a){13===a.keyCode&&(a.preventDefault(),a=$(this),r(a),a.closest("form").submit())})},F=function(a,c){console.info("Eval: "+a);if("function"===typeof a)a(c);else throw Error("Function not found: "+a);},G=function(a){h.info("resizeImage");var b=.9*$(window).width(),c=.9*$(window).height(),f={calc:0,main:0,secondary:0,factor:.9},e={width:a.width(),height:a.height()},g=e.width/e.height,k=function(a){1<g?a.calc=
|
||||
a.main/g:1>g&&(a.calc=a.main*g);a.calc>a.secondary&&(a.main*=a.factor,k(a));return a},l=function(){f.main=c;f.secondary=b;var d=k(f);a.css({width:d.calc,height:d.main});e.width=d.calc;e.height=d.main};e.width>b?function(){f.main=b;f.secondary=c;var d=k(f);a.css({width:d.main,height:d.calc});e.width=d.main;e.height=d.calc}():e.height>c&&l();return e},H=function(){return $.extend({log:h,config:function(){return a},appTheme:function(){return e},appActions:function(){return g},appTriggers:function(){return c},
|
||||
appRequests:function(){return l},evalAction:F,resizeImage:G},q)},I=function(){return{actions:function(){return g},triggers:function(){return c},theme:function(){return e},sk:u,msg:k,log:h,passToClip:0,passwordData:f,outputResult:v,checkboxDetect:C,checkPassLevel:B,encryptFormValue:r,fileUpload:A,redirect:z,scrollUp:y,setContentSize:x}};(function(){h.info("init");q=I();n=H();c=sysPass.Triggers(n);g=sysPass.Actions(n);l=sysPass.Requests(n);w(function(){""!==a.PK&&E();"function"===typeof sysPass.Theme&&
|
||||
(e=sysPass.Theme(n));!0===a.CHECK_UPDATES&&g.main.getUpdates();D();h.info("setupCallbacks");switch($("#container").data("page")){case "login":c.views.login();break;case "2fa":c.views.twofa();break;case "passreset":c.views.passreset()}0<$("footer").length&&c.views.footer()})})();return q};
|
||||
$jscomp.findInternal=function(a,f,e){a instanceof String&&(a=String(a));for(var c=a.length,g=0;g<c;g++){var m=a[g];if(f.call(e,m,g,a))return{i:g,v:m}}return{i:-1,v:void 0}};$jscomp.polyfill("Array.prototype.find",function(a){return a?a:function(a,e){return $jscomp.findInternal(this,a,e).v}},"es6-impl","es3");
|
||||
sysPass.Main=function(){var a={APP_ROOT:"",LANG:[],PK:"",MAX_FILE_SIZE:1024,CRYPT:new JSEncrypt,CHECK_UPDATES:!1,TIMEZONE:"",LOCALE:"",DEBUG:""},f={passLength:0,minPasswordLength:8,complexity:{numbers:!0,symbols:!0,uppercase:!0,numlength:12}},e={},c={},g={},m={},r={},q={},h={log:function(b){!0===a.DEBUG&&console.log(b)},info:function(b){!0===a.DEBUG&&console.info(b)},error:function(a){console.error(a)},warn:function(a){console.warn(a)}};toastr.options={closeButton:!1,debug:!1,newestOnTop:!1,progressBar:!1,
|
||||
positionClass:"toast-top-center",preventDuplicates:!1,onclick:null,showDuration:"300",hideDuration:"1000",timeOut:"5000",extendedTimeOut:"1000",showEasing:"swing",hideEasing:"linear",showMethod:"fadeIn",hideMethod:"fadeOut"};var x=function(){h.info("setupCallbacks");switch($("#container").data("page")){case "login":c.views.login();break;case "2fa":c.views.twofa();break;case "passreset":c.views.passreset()}0<$("footer").length&&c.views.footer();$("#btnBack").click(function(){u("index.php")})},l={ok:function(a){toastr.success(a)},
|
||||
error:function(a){toastr.error(a)},warn:function(a){toastr.warning(a)},info:function(a){toastr.info(a)},out:function(a){if("object"===typeof a){var b=a.status,d=a.description;"undefined"!==typeof a.messages&&0<a.messages.length&&(d=d+"<br>"+a.messages.join("<br>"));switch(b){case 0:l.ok(d);break;case 1:case 2:l.error(d);break;case 3:l.warn(d);break;case 10:g.main.logout()}}},html:{error:function(b){return'<p class="error round">Oops...<br>'+a.LANG[1]+"<br>"+b+"</p>"}}},y=function(b){h.info("getEnvironment");
|
||||
var k=window.location.pathname.split("/"),d=window.location.protocol+"//"+window.location.host+function(){for(var a="",b=1;b<=k.length-2;b++)a+="/"+k[b];return a}(),n=m.getRequestOpts();n.url=d+"/ajax/ajax_getEnvironment.php";n.method="get";n.async=!1;n.useLoading=!1;n.data={isAjax:1};m.getActionCall(n,function(d){a.APP_ROOT=d.app_root;a.LANG=d.lang;a.PK=d.pk;a.CHECK_UPDATES=d.check_updates;a.CRYPT.setPublicKey(d.pk);a.TIMEZONE=d.timezone;a.LOCALE=d.locale;a.DEBUG=d.debug;"function"===typeof b&&b()})},
|
||||
v={get:function(){h.info("sk:get");return $("#container").attr("data-sk")},set:function(a){h.info("sk:set");$("#container").attr("data-sk",a)}},z=function(){var a=$("#container");if(!a.hasClass("content-no-auto-resize")){var k=$("#content").height()+200;a.css("height",k)}},A=function(){$("html, body").animate({scrollTop:0},"slow")},u=function(a){window.location.replace(a)},B=function(b){var k=function(){return{actionId:b.data("action-id"),itemId:b.data("item-id"),sk:v.get()}},d={requestDoneAction:"",
|
||||
requestData:function(a){k=function(){return a}},beforeSendAction:"",url:""},n=function(a){if("undefined"===typeof d.url||""===d.url)return!1;var b=new FormData;b.append("inFile",a);b.append("isAjax",1);var p=k();Object.keys(p).forEach(function(a){h.info(a);b.append(a,p[a])});a=m.getRequestOpts();a.url=d.url;a.processData=!1;a.contentType=!1;a.data=b;m.getActionCall(a,function(a){var b=a.status;a=a.description;0===b?("function"===typeof d.requestDoneAction&&d.requestDoneAction(),l.ok(a)):10===b?g.main.logout():
|
||||
l.error(a)})},c=function(d){if(5<d.length)l.error(a.LANG[17]+" (Max: 5)");else for(var k=0;k<d.length;k++){var p=d[k];if(p.size/1E3>a.MAX_FILE_SIZE)l.error(a.LANG[18]+"<br>"+p.name+" (Max: "+a.MAX_FILE_SIZE+")");else{var c;a:{c=p.name;for(var e=b.data("files-ext").toLowerCase().split(","),f=0;f<=e.length;f++)if(-1!==c.indexOf(e[f])){c=!0;break a}c=!1}c?n(d[k]):l.error(a.LANG[19]+"<br>"+p.name)}}},e=function(a){var b=$("#fileUploadForm");!1===a&&b.hide();a=b.find("input[type='file']");a.on("change",
|
||||
function(){"function"===typeof d.beforeSendAction&&d.beforeSendAction();c(this.files)});return a};window.File&&window.FileList&&window.FileReader?function(){h.info("fileUpload:init");var a=e(!1);b.on("dragover dragenter",function(a){h.info("fileUpload:drag");a.stopPropagation();a.preventDefault()});b.on("drop",function(a){h.info("fileUpload:drop");a.stopPropagation();a.preventDefault();"function"===typeof d.beforeSendAction&&d.beforeSendAction();c(a.dataTransfer.files)});b.on("click",function(){a.click()})}():
|
||||
e(!0);return d},C=function(a){h.info("checkPassLevel");f.passLength=a.val().length;w(zxcvbn(a.val()),a)},w=function(b,k){h.info("outputResult");var d=$(".passLevel-"+k.attr("id")),c=b.score;d.show();d.removeClass("weak good strong strongest");0===f.passLength?d.attr("title","").empty():f.passLength<f.minPasswordLength?d.attr("title",a.LANG[11]).addClass("weak"):0===c?d.attr("title",a.LANG[9]+" - "+b.feedback.warning).addClass("weak"):1===c||2===c?d.attr("title",a.LANG[8]+" - "+b.feedback.warning).addClass("good"):
|
||||
3===c?d.attr("title",a.LANG[7]).addClass("strong"):4===c&&d.attr("title",a.LANG[10]).addClass("strongest")},D=function(b){$(b).find(".checkbox").button({icons:{primary:"ui-icon-transferthick-e-w"}}).click(function(){var b=$(this);!0===b.prop("checked")?b.button("option","label",a.LANG[40]):b.button("option","label",a.LANG[41])})},t=function(b){h.info("encryptFormValue");var c=b.val();""!==c&&parseInt(b.attr("data-length"))!==c.length&&(c=a.CRYPT.encrypt(c),b.val(c),b.attr("data-length",c.length))},
|
||||
E=function(){h.info("initializeClipboard");var b=new Clipboard(".clip-pass-button",{text:function(a){return g.account.copypass($(a)).responseJSON.accpass}});b.on("success",function(b){l.ok(a.LANG[45])});b.on("error",function(b){l.error(a.LANG[46])});var b=new Clipboard(".dialog-clip-pass-button"),c=new Clipboard(".dialog-clip-user-button");b.on("success",function(a){$(".dialog-pass-text").addClass("dialog-clip-pass-copy round");a.clearSelection()});c.on("success",function(a){a.clearSelection()})},
|
||||
F=function(){h.info("bindPassEncrypt");$("body").on("blur",":input[type=password]",function(a){a=$(this);a.hasClass("passwordfield__no-pki")||t(a)}).on("keypress",":input[type=password]",function(a){13===a.keyCode&&(a.preventDefault(),a=$(this),t(a),a.closest("form").submit())})},G=function(a,c){console.info("Eval: "+a);if("function"===typeof a)a(c);else throw Error("Function not found: "+a);},H=function(a){h.info("resizeImage");var b=.9*$(window).width(),c=.9*$(window).height(),e={width:a.width(),
|
||||
height:a.height()},f={calc:0,main:0,secondary:0,factor:.9,rel:e.width/e.height},g=function(a){a.main>a.secondary?a.calc=a.main/a.rel:a.main<a.secondary&&(a.calc=a.main*a.rel);a.calc>a.secondary&&(a.main*=a.factor,g(a));return a},l=function(){f.main=b;f.secondary=c;var d=g(f);a.css({width:d.main,height:d.calc});e.width=d.main;e.height=d.calc},m=function(){f.main=c;f.secondary=b;var d=g(f);a.css({width:d.calc,height:d.main});e.width=d.calc;e.height=d.main};e.width>b?l():e.height>c&&(h.info("height"),
|
||||
m());return e},I=function(){return $.extend({log:h,config:function(){return a},appTheme:function(){return e},appActions:function(){return g},appTriggers:function(){return c},appRequests:function(){return m},evalAction:G,resizeImage:H},r)},J=function(){return{actions:function(){return g},triggers:function(){return c},theme:function(){return e},sk:v,msg:l,log:h,passToClip:0,passwordData:f,outputResult:w,checkboxDetect:D,checkPassLevel:C,encryptFormValue:t,fileUpload:B,redirect:u,scrollUp:A,setContentSize:z}};
|
||||
(function(){h.info("init");r=J();q=I();c=sysPass.Triggers(q);g=sysPass.Actions(q);m=sysPass.Requests(q);y(function(){""!==a.PK&&F();"function"===typeof sysPass.Theme&&(e=sysPass.Theme(q));!0===a.CHECK_UPDATES&&g.main.getUpdates();E();x()})})();return r};
|
||||
|
||||
2
js/app-triggers.min.js
vendored
2
js/app-triggers.min.js
vendored
@@ -1,5 +1,5 @@
|
||||
var $jscomp={scope:{},findInternal:function(b,c,e){b instanceof String&&(b=String(b));for(var f=b.length,a=0;a<f;a++){var d=b[a];if(c.call(e,d,a,b))return{i:a,v:d}}return{i:-1,v:void 0}}};$jscomp.defineProperty="function"==typeof Object.defineProperties?Object.defineProperty:function(b,c,e){if(e.get||e.set)throw new TypeError("ES3 does not support getters and setters.");b!=Array.prototype&&b!=Object.prototype&&(b[c]=e.value)};
|
||||
$jscomp.getGlobal=function(b){return"undefined"!=typeof window&&window===b?b:"undefined"!=typeof global?global:b};$jscomp.global=$jscomp.getGlobal(this);$jscomp.polyfill=function(b,c,e,f){if(c){e=$jscomp.global;b=b.split(".");for(f=0;f<b.length-1;f++){var a=b[f];a in e||(e[a]={});e=e[a]}b=b[b.length-1];f=e[b];c=c(f);c!=f&&null!=c&&$jscomp.defineProperty(e,b,{configurable:!0,writable:!0,value:c})}};
|
||||
$jscomp.getGlobal=function(b){return"undefined"!=typeof window&&window===b?b:"undefined"!=typeof global&&null!=global?global:b};$jscomp.global=$jscomp.getGlobal(this);$jscomp.polyfill=function(b,c,e,f){if(c){e=$jscomp.global;b=b.split(".");for(f=0;f<b.length-1;f++){var a=b[f];a in e||(e[a]={});e=e[a]}b=b[b.length-1];f=e[b];c=c(f);c!=f&&null!=c&&$jscomp.defineProperty(e,b,{configurable:!0,writable:!0,value:c})}};
|
||||
$jscomp.polyfill("Array.prototype.find",function(b){return b?b:function(b,e){return $jscomp.findInternal(this,b,e).v}},"es6-impl","es3");
|
||||
sysPass.Triggers=function(b){var c=b.log,e=function(a){var d={valueField:"id",labelField:"name",searchField:["name"]};a.find(".select-box").each(function(a){var c=$(this);d.plugins=c.hasClass("select-box-deselect")?{clear_selection:{title:b.config().LANG[51]}}:{};if(c.data("onchange")){var g=c.data("onchange").split("/");d.onChange=function(a){if(0<a)if(2===g.length)sysPassApp.actions()[g[0]][g[1]](c);else sysPassApp.actions()[g[0]](c)}}c.selectize(d)});a.find("#allowed_exts").selectize({create:function(a){return{value:a.toUpperCase(),
|
||||
text:a.toUpperCase()}},createFilter:/^[a-z0-9]{1,4}$/i,plugins:["remove_button"]});a.find("#wikifilter").selectize({create:!0,createFilter:/^[a-z0-9._-]+$/i,plugins:["remove_button"]})},f=function(){c.info("bodyHooks");$("body").on("click",".btn-action[data-onclick],.btn-action-pager[data-onclick]",function(){var a=$(this),d=a.data("onclick").split("/"),c=b.appActions();if(2===d.length)c[d[0]][d[1]](a);else c[d[0]](a)}).on("click",".btn-back",function(){var a=b.appRequests();if(0<a.history.length()){c.info("back");
|
||||
|
||||
2
js/jquery.magnific-popup.min.js
vendored
2
js/jquery.magnific-popup.min.js
vendored
@@ -1,5 +1,5 @@
|
||||
var $jscomp={scope:{},findInternal:function(e,a,h){e instanceof String&&(e=String(e));for(var g=e.length,n=0;n<g;n++){var p=e[n];if(a.call(h,p,n,e))return{i:n,v:p}}return{i:-1,v:void 0}}};$jscomp.defineProperty="function"==typeof Object.defineProperties?Object.defineProperty:function(e,a,h){if(h.get||h.set)throw new TypeError("ES3 does not support getters and setters.");e!=Array.prototype&&e!=Object.prototype&&(e[a]=h.value)};
|
||||
$jscomp.getGlobal=function(e){return"undefined"!=typeof window&&window===e?e:"undefined"!=typeof global?global:e};$jscomp.global=$jscomp.getGlobal(this);$jscomp.polyfill=function(e,a,h,g){if(a){h=$jscomp.global;e=e.split(".");for(g=0;g<e.length-1;g++){var n=e[g];n in h||(h[n]={});h=h[n]}e=e[e.length-1];g=h[e];a=a(g);a!=g&&null!=a&&$jscomp.defineProperty(h,e,{configurable:!0,writable:!0,value:a})}};
|
||||
$jscomp.getGlobal=function(e){return"undefined"!=typeof window&&window===e?e:"undefined"!=typeof global&&null!=global?global:e};$jscomp.global=$jscomp.getGlobal(this);$jscomp.polyfill=function(e,a,h,g){if(a){h=$jscomp.global;e=e.split(".");for(g=0;g<e.length-1;g++){var n=e[g];n in h||(h[n]={});h=h[n]}e=e[e.length-1];g=h[e];a=a(g);a!=g&&null!=a&&$jscomp.defineProperty(h,e,{configurable:!0,writable:!0,value:a})}};
|
||||
$jscomp.polyfill("Array.prototype.find",function(e){return e?e:function(a,e){return $jscomp.findInternal(this,a,e).v}},"es6-impl","es3");
|
||||
(function(e){"function"===typeof define&&define.amd?define(["jquery"],e):"object"===typeof exports?e(require("jquery")):e(window.jQuery||window.Zepto)})(function(e){var a,h=function(){},g=!!window.jQuery,n,p=e(window),q,x,t,G,k=function(b,c){a.ev.on("mfp"+b+".mfp",c)},u=function(a,c,d,f){var b=document.createElement("div");b.className="mfp-"+a;d&&(b.innerHTML=d);f?c&&c.appendChild(b):(b=e(b),c&&b.appendTo(c));return b},m=function(b,c){a.ev.triggerHandler("mfp"+b,c);a.st.callbacks&&(b=b.charAt(0).toLowerCase()+
|
||||
b.slice(1),a.st.callbacks[b]&&a.st.callbacks[b].apply(a,e.isArray(c)?c:[c]))},A=function(b){b===G&&a.currTemplate.closeBtn||(a.currTemplate.closeBtn=e(a.st.closeMarkup.replace("%title%",a.st.tClose)),G=b);return a.currTemplate.closeBtn},B=function(){e.magnificPopup.instance||(a=new h,a.init(),e.magnificPopup.instance=a)},K=function(){var a=document.createElement("p").style,c=["ms","O","Moz","Webkit"];if(void 0!==a.transition)return!0;for(;c.length;)if(c.pop()+"Transition"in a)return!0;return!1};h.prototype=
|
||||
|
||||
Reference in New Issue
Block a user