// Cargar las variables de sesión del usuario SessionUtil::loadUserSession($User); $Log->addDescription(sprintf('%s: %s', _('Usuario'), $userLogin)); $Log->addDescription(sprintf('%s: %s', _('Perfil'), SP\Profile::getProfileNameById($User->getUserProfileId()))); $Log->addDescription(sprintf('%s: %s', _('Grupo'), SP\Groups::getGroupNameById($User->getUserGroupId()))); $Log->writeLog(); } else { SP\Response::printJSON(_('Error interno')); } $UserPrefs = \SP\UserPreferences::getPreferences($User->getUserId()); if ($UserPrefs->isUse2Fa()) { SP\Session::set2FApassed(false); $url = SP\Init::$WEBURI . '/index.php?a=2fa&i=' . $User->getUserId() . '&t=' . time() . '&f=1'; SP\Response::printJSON($url, 0); } else { SP\Session::set2FApassed(true); } SP\Language::setLanguage(true); SP\Themes::setTheme(true); SP\Session::setUserPreferences($UserPrefs); $params = array(); // Comprobar si existen parámetros adicionales en URL via POST para pasarlos por GET foreach ($_POST as $param => $value) { \SP\Html::sanitize($param); \SP\Html::sanitize($value); if (!strncmp($param, 'g_', 2)) { $params[] = substr($param, 2) . '=' . $value; } } $urlParams = count($params) > 0 ? '?' . implode('&', $params) : ''; SP\Response::printJSON('index.php' . $urlParams, 0);
/** * Obtener los datos para el interface de login */ public function getLogin() { $this->view->addTemplate('login'); $this->view->addTemplate('footer'); $this->view->addTemplate('body-end'); $this->view->assign('demoEnabled', Util::demoIsEnabled()); $this->view->assign('mailEnabled', Util::mailIsEnabled()); $this->view->assign('isLogout', Request::analyze('logout', false, true)); $this->view->assign('updated', Init::$UPDATED === true); $this->view->assign('newFeatures', array(_('Nuevo estilo visual basado en Material Design Lite by Google'), _('Usuarios en múltiples grupos'), _('Previsualización de imágenes'), _('Mostrar claves como imágenes'), _('Campos personalizados'), _('API de consultas'), _('Autentificación en 2 pasos'), _('Complejidad de generador de claves'), _('Consultas especiales'), _('Exportación a XML'), _('Clave maestra temporal'), _('Importación de cuentas desde sysPass, KeePass, KeePassX y CSV'), _('Optimización del código y mayor rapidez de carga'), _('Mejoras de seguridad en XSS e inyección SQL'))); // Comprobar y parsear los parámetros GET para pasarlos como POST en los inputs $this->view->assign('getParams'); if (count($_GET) > 0) { foreach ($_GET as $param => $value) { $getParams['g_' . \SP\Html::sanitize($param)] = \SP\Html::sanitize($value); } $this->view->assign('getParams', $getParams); } }