SP\Util::logout(); } SP\Util::checkReload(); if (!SP\Request::analyze('actionId', 0, true)) { die('<div class="error">' . _('Parámetros incorrectos') . '</DIV>'); } $actionId = SP\Request::analyze('actionId'); $itemId = SP\Request::analyze('itemId', 0); $lastAction = SP\Request::analyze('lastAction', \SP\Controller\ActionsInterface::ACTION_ACC_SEARCH); $tpl = new SP\Template(); $tpl->assign('actionId', $actionId); $tpl->assign('id', $itemId); $tpl->assign('activeTabId', $itemId); $tpl->assign('lastAccountId', \SP\Session::getLastAcountId()); $tpl->assign('queryTimeStart', microtime()); $tpl->assign('userId', SP\Session::getUserId()); $tpl->assign('userGroupId', SP\Session::getUserGroupId()); $tpl->assign('userIsAdminApp', SP\Session::getUserIsAdminApp()); $tpl->assign('userIsAdminAcc', SP\Session::getUserIsAdminAcc()); $tpl->assign('themeUri', Themes::$themeUri); // Control de ruta de acciones if ($actionId != \SP\Controller\ActionsInterface::ACTION_ACC_SEARCH) { $actionsPath =& $_SESSION['actionsPath']; $actionsPath[] = $actionId; $actions = count($actionsPath); // Se eliminan las acciones ya realizadas if ($actions > 2 && $actionsPath[$actions - 3] == $actionId) { unset($actionsPath[$actions - 3]); unset($actionsPath[$actions - 2]); $actionsPath = array_values($actionsPath); $actions = count($actionsPath);
$accountName = SP\Request::analyze('name'); $accountLogin = SP\Request::analyze('login'); $accountPassword = SP\Request::analyzeEncrypted('pass'); $accountPasswordR = SP\Request::analyzeEncrypted('passR'); $categoryId = SP\Request::analyze('categoryId', 0); $accountOtherGroups = SP\Request::analyze('othergroups'); $accountOtherUsers = SP\Request::analyze('otherusers'); $accountNotes = SP\Request::analyze('notes'); $accountUrl = SP\Request::analyze('url'); $accountGroupEditEnabled = SP\Request::analyze('geditenabled', 0, false, 1); $accountUserEditEnabled = SP\Request::analyze('ueditenabled', 0, false, 1); $accountMainGroupId = SP\Request::analyze('mainGroupId', 0); $accountChangesHash = SP\Request::analyze('hash'); $customFields = SP\Request::analyze('customfield'); // Datos del Usuario $currentUserId = SP\Session::getUserId(); if ($accountMainGroupId === 0) { $accountMainGroupId = SP\Session::getUserGroupId(); } if ($actionId === \SP\Controller\ActionsInterface::ACTION_ACC_NEW || $actionId === \SP\Controller\ActionsInterface::ACTION_ACC_COPY) { // Comprobaciones para nueva cuenta if (!$accountName) { SP\Response::printJSON(_('Es necesario un nombre de cuenta')); } elseif (!$customerId && !$newCustomer) { SP\Response::printJSON(_('Es necesario un nombre de cliente')); } elseif (!$accountLogin) { SP\Response::printJSON(_('Es necesario un usuario')); } elseif (!$accountPassword || !$accountPasswordR) { SP\Response::printJSON(_('Es necesaria una clave')); } elseif (!$categoryId) { SP\Response::printJSON(_('Es necesario una categoría'));
if (SP\Util::demoIsEnabled() && UserUtil::getUserLoginById($itemId) == 'demo') { SP\Response::printJSON(_('Ey, esto es una DEMO!!')); } elseif (!$User->getUserPass() || !$userPassR) { SP\Response::printJSON(_('La clave no puede estar en blanco'), 2); } elseif ($User->getUserPass() != $userPassR) { SP\Response::printJSON(_('Las claves no coinciden'), 2); } if ($User->updateUserPass()) { SP\Response::printJSON(_('Clave actualizada'), 0); } SP\Response::printJSON(_('Error al modificar la clave')); // Eliminar usuario } elseif ($actionId === \SP\Controller\ActionsInterface::ACTION_USR_USERS_DELETE) { if (SP\Util::demoIsEnabled() && UserUtil::getUserLoginById($itemId) == 'demo') { SP\Response::printJSON(_('Ey, esto es una DEMO!!')); } elseif ($User->getUserId() == SP\Session::getUserId()) { SP\Response::printJSON(_('No es posible eliminar, usuario en uso')); } if ($User->deleteUser() && SP\CustomFields::deleteCustomFieldForItem($User->getUserId(), \SP\Controller\ActionsInterface::ACTION_USR_USERS)) { SP\Response::printJSON(_('Usuario eliminado'), 0, $doActionOnClose); } SP\Response::printJSON(_('Error al eliminar el usuario')); } } elseif ($actionId === \SP\Controller\ActionsInterface::ACTION_USR_GROUPS_NEW || $actionId === \SP\Controller\ActionsInterface::ACTION_USR_GROUPS_EDIT || $actionId === \SP\Controller\ActionsInterface::ACTION_USR_GROUPS_DELETE) { // Variables POST del formulario $frmGrpName = SP\Request::analyze('name'); $frmGrpDesc = SP\Request::analyze('description'); $frmGrpUsers = SP\Request::analyze('users'); if ($actionId === \SP\Controller\ActionsInterface::ACTION_USR_GROUPS_NEW || $actionId === \SP\Controller\ActionsInterface::ACTION_USR_GROUPS_EDIT) { if (!$frmGrpName) { SP\Response::printJSON(_('Es necesario un nombre de grupo'), 2);