mirror of
https://github.com/nuxsmin/sysPass.git
synced 2026-03-12 11:26:55 +01:00
* [MOD] Improved import messages
* [MOD] Improved notifications handler * [MOD] Code refactoring * [FIX] Bugfixes
This commit is contained in:
@@ -34,6 +34,7 @@ use SP\Core\Events\EventMessage;
|
||||
use SP\Core\Exceptions\SPException;
|
||||
use SP\Core\Exceptions\ValidationException;
|
||||
use SP\Core\Session\Session;
|
||||
use SP\Core\UI\ThemeIconsBase;
|
||||
use SP\DataModel\AccountExtData;
|
||||
use SP\Http\JsonResponse;
|
||||
use SP\Http\Request;
|
||||
@@ -68,6 +69,10 @@ class AccountController extends ControllerBase implements CrudControllerInterfac
|
||||
* @var AccountService
|
||||
*/
|
||||
protected $accountService;
|
||||
/**
|
||||
* @var ThemeIconsBase
|
||||
*/
|
||||
protected $icons;
|
||||
|
||||
/**
|
||||
* Index action
|
||||
@@ -183,24 +188,6 @@ class AccountController extends ControllerBase implements CrudControllerInterfac
|
||||
) {
|
||||
$publicLinkService->addLinkView($publicLinkData);
|
||||
|
||||
// if ($publicLinkData->isNotify()) {
|
||||
// $Message = new NoticeMessage();
|
||||
// $Message->setTitle(__('Enlace visualizado'));
|
||||
// $Message->addDescription(sprintf('%s : %s', __('Cuenta'), $PublicLink->getItemId()));
|
||||
// $Message->addDescription(sprintf('%s : %s', __('Origen'), $this->configData->isDemoEnabled() ? '*.*.*.*' : HttpUtil::getClientAddress(true)));
|
||||
// $Message->addDescription(sprintf('%s : %s', __('Agente'), Request::getRequestHeaders('HTTP_USER_AGENT')));
|
||||
// $Message->addDescription(sprintf('HTTPS : %s', Checks::httpsEnabled() ? 'ON' : 'OFF'));
|
||||
//
|
||||
//
|
||||
// $NoticeData = new NoticeData();
|
||||
// $NoticeData->setNoticeComponent(__('Cuentas'));
|
||||
// $NoticeData->setNoticeDescription($Message);
|
||||
// $NoticeData->setNoticeType(__('Información'));
|
||||
// $NoticeData->setNoticeUserId($PublicLink->getPublicLinkUserId());
|
||||
//
|
||||
// Notice::getItem($NoticeData)->add();
|
||||
// }
|
||||
|
||||
$this->accountService->incrementViewCounter($publicLinkData->getItemId());
|
||||
$this->accountService->incrementDecryptCounter($publicLinkData->getItemId());
|
||||
|
||||
@@ -229,11 +216,15 @@ class AccountController extends ControllerBase implements CrudControllerInterfac
|
||||
|
||||
$this->view->assign('accountData', $accountData);
|
||||
|
||||
$this->eventDispatcher->notifyEvent('show.account.link', new Event($this,
|
||||
EventMessage::factory()
|
||||
->addDescription(__('Enlace visualizado'))
|
||||
->addDetail(__('Cuenta'), $accountData->getName())
|
||||
->addDetail(__('Cliente'), $accountData->getClientName()))
|
||||
$this->eventDispatcher->notifyEvent('show.account.link',
|
||||
new Event($this, EventMessage::factory()
|
||||
->addDescription(__u('Enlace visualizado'))
|
||||
->addDetail(__u('Cuenta'), $accountData->getName())
|
||||
->addDetail(__u('Cliente'), $accountData->getClientName())
|
||||
->addDetail(__u('Agente'), $this->router->request()->headers()->get('User-Agent'))
|
||||
->addDetail(__u('HTTPS'), $this->router->request()->isSecure() ? __u('ON') : __u('OFF'))
|
||||
->addData('userId', $publicLinkData->getUserId())
|
||||
->addData('notify', $publicLinkData->isNotify()))
|
||||
);
|
||||
} else {
|
||||
ErrorUtil::showErrorInView($this->view, ErrorUtil::ERR_PAGE_NO_PERMISSION, 'account-link');
|
||||
@@ -886,5 +877,6 @@ class AccountController extends ControllerBase implements CrudControllerInterfac
|
||||
}
|
||||
|
||||
$this->accountService = $this->dic->get(AccountService::class);
|
||||
$this->icons = $this->theme->getIcons();
|
||||
}
|
||||
}
|
||||
@@ -130,6 +130,8 @@ class ConfigEncryptionController extends SimpleControllerBase
|
||||
}
|
||||
} else {
|
||||
try {
|
||||
$this->eventDispatcher->notifyEvent('update.masterPassword.hash', new Event($this));
|
||||
|
||||
$configService->save('masterPwd', Hash::hashKey($newMasterPass));
|
||||
$configService->save('lastupdatempass', time());
|
||||
} catch (\Exception $e) {
|
||||
@@ -183,7 +185,7 @@ class ConfigEncryptionController extends SimpleControllerBase
|
||||
$groupId = Request::analyzeInt('tmpass_group');
|
||||
$sendEmail = Request::analyzeBool('tmpass_chkSendEmail');
|
||||
|
||||
if ($sendEmail && $groupId) {
|
||||
if ($this->configData->isMailEnabled() && $sendEmail && $groupId) {
|
||||
$mailMessage = new MailMessage();
|
||||
$mailMessage->setTitle(sprintf(__('Clave Maestra %s'), Util::getAppInfo('appname')));
|
||||
$mailMessage->addDescription(__('Se ha generado una nueva clave para el acceso a sysPass y se solicitará en el siguiente inicio.'));
|
||||
|
||||
@@ -64,6 +64,9 @@ class ConfigImportController extends SimpleControllerBase
|
||||
$importParams->setCsvDelimiter(Request::analyzeString('csvDelimiter'));
|
||||
|
||||
try {
|
||||
|
||||
$this->eventDispatcher->notifyEvent('run.import.start', new Event($this));
|
||||
|
||||
$counter = $this->dic->get(ImportService::class)
|
||||
->doImport($importParams, new FileImport($this->router->request()->files()->get('inFile')));
|
||||
|
||||
|
||||
@@ -37,7 +37,6 @@ use SP\Core\Exceptions\FileNotFoundException;
|
||||
use SP\Core\Language;
|
||||
use SP\Core\Session\Session;
|
||||
use SP\Core\UI\Theme;
|
||||
use SP\Core\UI\ThemeIconsBase;
|
||||
use SP\DataModel\ProfileData;
|
||||
use SP\Modules\Web\Controllers\Helpers\LayoutHelper;
|
||||
use SP\Mvc\Controller\ControllerTrait;
|
||||
@@ -75,10 +74,6 @@ abstract class ControllerBase
|
||||
* @var string Nombre de la acción
|
||||
*/
|
||||
protected $actionName;
|
||||
/**
|
||||
* @var ThemeIconsBase Instancia de los iconos del tema visual
|
||||
*/
|
||||
protected $icons;
|
||||
/**
|
||||
* @var string Nombre del controlador
|
||||
*/
|
||||
@@ -158,8 +153,6 @@ abstract class ControllerBase
|
||||
|
||||
$this->view->setBase(strtolower($this->controllerName));
|
||||
|
||||
$this->icons = $this->theme->getIcons();
|
||||
|
||||
$this->isAjax = $this->router->request()->headers()->get('X_REQUESTED_WITH') === 'XMLHttpRequest';
|
||||
|
||||
if ($this->session->isLoggedIn()) {
|
||||
@@ -189,8 +182,8 @@ abstract class ControllerBase
|
||||
$this->view->assign('userIsAdminAcc', $this->userData->getIsAdminAcc());
|
||||
$this->view->assign('themeUri', $this->view->getTheme()->getThemeUri());
|
||||
$this->view->assign('isDemo', $this->configData->isDemoEnabled());
|
||||
$this->view->assign('icons', clone $this->icons);
|
||||
$this->view->assign('configData', clone $this->configData);
|
||||
$this->view->assign('icons', $this->theme->getIcons());
|
||||
$this->view->assign('configData', $this->configData);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -236,7 +236,7 @@ class AccountActionsHelper extends HelperBase
|
||||
$action->setTitle(__('Crear Enlace Público'));
|
||||
$action->addClass('btn-action');
|
||||
$action->setIcon($this->icons->getIconPublicLink());
|
||||
$action->addData('action-route', 'publicLink/saveCreate');
|
||||
$action->addData('action-route', 'publicLink/saveCreateFromAccount');
|
||||
$action->addData('action-sk', $this->sk);
|
||||
$action->addData('onclick', 'link/save');
|
||||
$action->addData('action-next', Acl::getActionRoute(ActionsInterface::ACCOUNT_VIEW));
|
||||
|
||||
@@ -93,7 +93,7 @@ class AccountHelper extends HelperBase
|
||||
* Sets account's view variables
|
||||
*
|
||||
* @param AccountDetailsResponse $accountDetailsResponse
|
||||
* @param int $actionId
|
||||
* @param int $actionId
|
||||
* @throws AccountPermissionException
|
||||
* @throws SPException
|
||||
* @throws UnauthorizedPageException
|
||||
@@ -131,12 +131,17 @@ class AccountHelper extends HelperBase
|
||||
if ($this->configData->isPublinksEnabled() && $this->accountAcl->isShowLink()) {
|
||||
$publicLinkData = $this->publicLinkService->getHashForItem($this->accountId);
|
||||
|
||||
$publicLinkUrl = $publicLinkData ? PublicLinkService::getLinkForHash($publicLinkData->getHash()) : null;
|
||||
$hasPublicLink = !empty($publicLinkData);
|
||||
|
||||
$publicLinkUrl = $hasPublicLink ? PublicLinkService::getLinkForHash($publicLinkData->getHash()) : null;
|
||||
|
||||
$this->view->assign('publicLinkUrl', $publicLinkUrl);
|
||||
$this->view->assign('publicLinkId', $publicLinkData ? $publicLinkData->getId() : 0);
|
||||
$this->view->assign('publicLinkId', $hasPublicLink ? $publicLinkData->getId() : 0);
|
||||
$this->view->assign('publicLinkShow', true);
|
||||
|
||||
$accountActionsDto->setPublicLinkId($publicLinkData->getId());
|
||||
if ($hasPublicLink) {
|
||||
$accountActionsDto->setPublicLinkId($publicLinkData->getId());
|
||||
}
|
||||
} else {
|
||||
$this->view->assign('publicLinkShow', false);
|
||||
}
|
||||
@@ -289,7 +294,7 @@ class AccountHelper extends HelperBase
|
||||
* Sets account's view variables
|
||||
*
|
||||
* @param AccountDetailsResponse $accountDetailsResponse
|
||||
* @param int $actionId
|
||||
* @param int $actionId
|
||||
* @return bool
|
||||
* @throws UnauthorizedPageException
|
||||
* @throws UpdatedMasterPassException
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
/**
|
||||
* sysPass
|
||||
*
|
||||
* @author nuxsmin
|
||||
* @author nuxsmin
|
||||
* @link https://syspass.org
|
||||
* @copyright 2012-2018, Rubén Domínguez nuxsmin@$syspass.org
|
||||
*
|
||||
@@ -30,9 +30,11 @@ use SP\Core\Events\Event;
|
||||
use SP\Core\Events\EventMessage;
|
||||
use SP\Core\Exceptions\SPException;
|
||||
use SP\Core\Exceptions\ValidationException;
|
||||
use SP\DataModel\PublicLinkData;
|
||||
use SP\DataModel\PublicLinkListData;
|
||||
use SP\Http\JsonResponse;
|
||||
use SP\Http\Request;
|
||||
use SP\Mgmt\PublicLinks\PublicLink;
|
||||
use SP\Modules\Web\Controllers\Helpers\ItemsGridHelper;
|
||||
use SP\Modules\Web\Controllers\Traits\ItemTrait;
|
||||
use SP\Modules\Web\Controllers\Traits\JsonTrait;
|
||||
@@ -41,6 +43,7 @@ use SP\Mvc\Controller\CrudControllerInterface;
|
||||
use SP\Mvc\View\Components\SelectItemAdapter;
|
||||
use SP\Services\Account\AccountService;
|
||||
use SP\Services\PublicLink\PublicLinkService;
|
||||
use SP\Util\Util;
|
||||
|
||||
/**
|
||||
* Class PublicLinkController
|
||||
@@ -277,6 +280,39 @@ class PublicLinkController extends ControllerBase implements CrudControllerInter
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Saves create action
|
||||
*
|
||||
* @param int $accountId
|
||||
* @param int $notify
|
||||
* @throws \Psr\Container\ContainerExceptionInterface
|
||||
* @throws \Psr\Container\NotFoundExceptionInterface
|
||||
*/
|
||||
public function saveCreateFromAccountAction($accountId, $notify)
|
||||
{
|
||||
if (!$this->acl->checkUserAccess(ActionsInterface::PUBLICLINK_CREATE)) {
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
$publicLinkData = new PublicLinkData();
|
||||
$publicLinkData->setTypeId(PublicLink::TYPE_ACCOUNT);
|
||||
$publicLinkData->setItemId($accountId);
|
||||
$publicLinkData->setNotify((bool)$notify);
|
||||
$publicLinkData->setHash(Util::generateRandomBytes());
|
||||
|
||||
$this->publicLinkService->create($publicLinkData);
|
||||
|
||||
$this->eventDispatcher->notifyEvent('create.publicLink.account', new Event($this));
|
||||
|
||||
$this->returnJsonResponse(JsonResponse::JSON_SUCCESS, __u('Enlace creado'));
|
||||
} catch (\Exception $e) {
|
||||
processException($e);
|
||||
|
||||
$this->returnJsonResponseException($e);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Saves edit action
|
||||
*
|
||||
@@ -284,7 +320,7 @@ class PublicLinkController extends ControllerBase implements CrudControllerInter
|
||||
*/
|
||||
public function saveEditAction($id)
|
||||
{
|
||||
|
||||
throw new \RuntimeException('Not implemented');
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -28,6 +28,7 @@ use DI\Container;
|
||||
use Interop\Container\ContainerInterface;
|
||||
use Klein\Klein;
|
||||
use SP\Config\Config;
|
||||
use SP\Config\ConfigData;
|
||||
use SP\Core\Acl\Acl;
|
||||
use SP\Core\Acl\UnauthorizedPageException;
|
||||
use SP\Core\Events\EventDispatcher;
|
||||
@@ -80,6 +81,10 @@ abstract class SimpleControllerBase
|
||||
* @var Acl
|
||||
*/
|
||||
protected $acl;
|
||||
/**
|
||||
* @var ConfigData
|
||||
*/
|
||||
protected $configData;
|
||||
|
||||
/**
|
||||
* SimpleControllerBase constructor.
|
||||
@@ -97,6 +102,7 @@ abstract class SimpleControllerBase
|
||||
$this->actionName = $actionName;
|
||||
|
||||
$this->config = $this->dic->get(Config::class);
|
||||
$this->configData = $this->config->getConfigData();
|
||||
$this->session = $this->dic->get(Session::class);
|
||||
$this->theme = $this->dic->get(Theme::class);
|
||||
$this->eventDispatcher = $this->dic->get(EventDispatcher::class);
|
||||
|
||||
@@ -1,4 +1,8 @@
|
||||
<?php /** @var $icons \Theme\Icons */ ?>
|
||||
<?php
|
||||
/**
|
||||
* @var $icons \Theme\Icons
|
||||
* @var $configData \SP\Config\ConfigData
|
||||
*/ ?>
|
||||
|
||||
<form method="post" name="frmCrypt" id="frmCrypt" class="form-action"
|
||||
data-onsubmit="config/save"
|
||||
@@ -230,7 +234,8 @@
|
||||
<td class="valField">
|
||||
<label class="mdl-switch mdl-js-switch mdl-js-ripple-effect" for="tmpass_chkSendEmail">
|
||||
<input type="checkbox" id="tmpass_chkSendEmail"
|
||||
class="mdl-switch__input mdl-color-text--indigo-400" name="tmpass_chkSendEmail"/>
|
||||
class="mdl-switch__input mdl-color-text--indigo-400"
|
||||
name="tmpass_chkSendEmail" <?php echo !$configData->isMailEnabled() ? 'disabled' : ''; ?> />
|
||||
<span class="mdl-switch__label"><?php echo __('Enviar correo'); ?></span>
|
||||
</label>
|
||||
</td>
|
||||
@@ -243,9 +248,9 @@
|
||||
<div class="lowres-title"><?php echo __('Grupo'); ?></div>
|
||||
|
||||
<select id="tmpass_group" name="tmpass_group"
|
||||
class="select-box select-box-deselect">
|
||||
class="select-box select-box-deselect" <?php echo !$configData->isMailEnabled() ? 'disabled' : ''; ?>>
|
||||
<option value=""><?php echo __('Seleccionar Grupo'); ?></option>
|
||||
<?php /** @var \SP\Mvc\View\Components\SelectItem[] $groups */
|
||||
<?php /** @var \SP\Mvc\View\Components\SelectItem[] $userGroups */
|
||||
foreach ($userGroups as $userGroup): ?>
|
||||
<option
|
||||
value="<?php echo $userGroup->getId(); ?>"><?php echo $userGroup->getName(); ?></option>
|
||||
|
||||
@@ -311,7 +311,7 @@ class AccountSearchFilter
|
||||
$orderKey[] = 'A.clientName';
|
||||
break;
|
||||
default :
|
||||
$orderKey[] = 'A.name';
|
||||
$orderKey[] = 'A.clientName, A.name';
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
/**
|
||||
* sysPass
|
||||
*
|
||||
* @author nuxsmin
|
||||
* @author nuxsmin
|
||||
* @link https://syspass.org
|
||||
* @copyright 2012-2018, Rubén Domínguez nuxsmin@$syspass.org
|
||||
*
|
||||
@@ -25,9 +25,7 @@
|
||||
namespace SP\Controller\Grids;
|
||||
|
||||
use SP\Config\ConfigData;
|
||||
use SP\Core\ActionsInterface;
|
||||
use SP\Core\SessionUtil;
|
||||
use SP\Core\Traits\InjectableTrait;
|
||||
use SP\Core\Session\Session;
|
||||
use SP\Core\UI\Theme;
|
||||
use SP\Core\UI\ThemeIconsBase;
|
||||
use SP\Html\DataGrid\DataGridActionSearch;
|
||||
@@ -38,10 +36,8 @@ use SP\Html\DataGrid\DataGridPager;
|
||||
*
|
||||
* @package SP\Controller\Grids
|
||||
*/
|
||||
abstract class GridBase implements ActionsInterface
|
||||
abstract class GridBase
|
||||
{
|
||||
use InjectableTrait;
|
||||
|
||||
/**
|
||||
* @var ThemeIconsBase
|
||||
*/
|
||||
@@ -65,27 +61,43 @@ abstract class GridBase implements ActionsInterface
|
||||
/**
|
||||
* @var Theme
|
||||
*/
|
||||
protected $Theme;
|
||||
protected $theme;
|
||||
|
||||
/**
|
||||
* Grids constructor.
|
||||
* @param Theme $theme
|
||||
* @param Session $session
|
||||
*/
|
||||
public function __construct()
|
||||
public function __construct(Theme $theme, Session $session)
|
||||
{
|
||||
$this->injectDependencies();
|
||||
|
||||
$this->sk = SessionUtil::getSessionKey();
|
||||
$this->icons = $this->Theme->getIcons();
|
||||
$this->sk = $session->getSecurityKey();
|
||||
$this->icons = $this->theme->getIcons();
|
||||
}
|
||||
|
||||
/**
|
||||
* @param ConfigData $configData
|
||||
* @param Theme $theme
|
||||
* @param Theme $theme
|
||||
*/
|
||||
public function inject(ConfigData $configData, Theme $theme)
|
||||
{
|
||||
$this->ConfigData = $configData;
|
||||
$this->Theme = $theme;
|
||||
$this->theme = $theme;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param boolean $filter
|
||||
*/
|
||||
public function setFilter($filter)
|
||||
{
|
||||
$this->filter = $filter;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param int $queryTimeStart
|
||||
*/
|
||||
public function setQueryTimeStart($queryTimeStart)
|
||||
{
|
||||
$this->queryTimeStart = $queryTimeStart;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -108,20 +120,4 @@ abstract class GridBase implements ActionsInterface
|
||||
|
||||
return $GridPager;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param boolean $filter
|
||||
*/
|
||||
public function setFilter($filter)
|
||||
{
|
||||
$this->filter = $filter;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param int $queryTimeStart
|
||||
*/
|
||||
public function setQueryTimeStart($queryTimeStart)
|
||||
{
|
||||
$this->queryTimeStart = $queryTimeStart;
|
||||
}
|
||||
}
|
||||
@@ -60,7 +60,7 @@ class Theme implements ThemeInterface
|
||||
*/
|
||||
protected $viewsPath = '';
|
||||
/**
|
||||
* @var ThemeIconsInterface
|
||||
* @var ThemeIconsBase
|
||||
*/
|
||||
protected $icons;
|
||||
/**
|
||||
@@ -228,11 +228,11 @@ class Theme implements ThemeInterface
|
||||
}
|
||||
|
||||
/**
|
||||
* @return ThemeIconsInterface
|
||||
* @return ThemeIconsBase
|
||||
*/
|
||||
public function getIcons()
|
||||
{
|
||||
return $this->icons;
|
||||
return clone $this->icons;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -45,6 +45,7 @@ class LogHandler extends Provider implements EventReceiver
|
||||
'exception',
|
||||
'save.',
|
||||
'show.account.pass',
|
||||
'show.account.link',
|
||||
'copy.account.pass',
|
||||
'clear.eventlog',
|
||||
'login.',
|
||||
|
||||
@@ -24,7 +24,6 @@
|
||||
|
||||
namespace SP\Providers\Notification;
|
||||
|
||||
|
||||
use SP\Core\Events\Event;
|
||||
use SP\Core\Events\EventReceiver;
|
||||
use SP\DataModel\NotificationData;
|
||||
@@ -39,7 +38,10 @@ use SplSubject;
|
||||
*/
|
||||
class NotificationHandler extends Provider implements EventReceiver
|
||||
{
|
||||
const EVENTS = ['request.account'];
|
||||
const EVENTS = [
|
||||
'request.account',
|
||||
'show.account.link'
|
||||
];
|
||||
|
||||
/**
|
||||
* @var NotificationService
|
||||
@@ -62,9 +64,24 @@ class NotificationHandler extends Provider implements EventReceiver
|
||||
* Evento de actualización
|
||||
*
|
||||
* @param string $eventType Nombre del evento
|
||||
* @param Event $event Objeto del evento
|
||||
* @param Event $event Objeto del evento
|
||||
*/
|
||||
public function updateEvent($eventType, Event $event)
|
||||
{
|
||||
switch ($eventType) {
|
||||
case 'request.account':
|
||||
$this->requestAccountNotification($event);
|
||||
break;
|
||||
case 'show.account.link':
|
||||
$this->showAccountLinkNotification($event);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Event $event
|
||||
*/
|
||||
protected function requestAccountNotification(Event $event)
|
||||
{
|
||||
$eventMessage = $event->getEventMessage();
|
||||
$data = $eventMessage->getData();
|
||||
@@ -76,11 +93,38 @@ class NotificationHandler extends Provider implements EventReceiver
|
||||
$notificationData->setUserId($userId);
|
||||
$notificationData->setDescription($eventMessage);
|
||||
|
||||
try {
|
||||
$this->notificationService->create($notificationData);
|
||||
} catch (\Exception $e) {
|
||||
processException($e);
|
||||
}
|
||||
$this->notify($notificationData);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param NotificationData $notificationData
|
||||
*/
|
||||
protected function notify(NotificationData $notificationData)
|
||||
{
|
||||
try {
|
||||
$this->notificationService->create($notificationData);
|
||||
} catch (\Exception $e) {
|
||||
processException($e);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Event $event
|
||||
*/
|
||||
protected function showAccountLinkNotification(Event $event)
|
||||
{
|
||||
$eventMessage = $event->getEventMessage();
|
||||
$data = $eventMessage->getData();
|
||||
|
||||
if ($data['notify'] === true) {
|
||||
$notificationData = new NotificationData();
|
||||
$notificationData->setType(__('Notificación'));
|
||||
$notificationData->setComponent(__('Cuentas'));
|
||||
$notificationData->setUserId($data['userId']);
|
||||
$notificationData->setDescription($eventMessage);
|
||||
|
||||
$this->notify($notificationData);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -25,6 +25,8 @@
|
||||
|
||||
namespace SP\Services\Import;
|
||||
|
||||
use SP\Core\Events\Event;
|
||||
use SP\Core\Events\EventMessage;
|
||||
use SP\Services\Service;
|
||||
use SP\Storage\Database;
|
||||
use SP\Storage\DbWrapper;
|
||||
@@ -49,7 +51,7 @@ class ImportService extends Service
|
||||
* Iniciar la importación de cuentas.
|
||||
*
|
||||
* @param ImportParams $importParams
|
||||
* @param FileImport $fileImport
|
||||
* @param FileImport $fileImport
|
||||
* @return int
|
||||
* @throws \Exception
|
||||
* @throws \Psr\Container\ContainerExceptionInterface
|
||||
@@ -78,6 +80,11 @@ class ImportService extends Service
|
||||
return $counter;
|
||||
} catch (\Exception $e) {
|
||||
if (DbWrapper::rollbackTransaction($db)) {
|
||||
$this->eventDispatcher->notifyEvent('run.import.rollback',
|
||||
new Event($this, EventMessage::factory()
|
||||
->addDescription(__u('Rollback')))
|
||||
);
|
||||
|
||||
debugLog('Rollback');
|
||||
}
|
||||
|
||||
|
||||
@@ -47,8 +47,18 @@ class KeepassImport extends XmlImportBase implements ImportInterface
|
||||
*/
|
||||
public function doImport()
|
||||
{
|
||||
$this->eventDispatcher->notifyEvent('run.import.keepass.start',
|
||||
new Event($this, EventMessage::factory()
|
||||
->addDescription(__u('Importación XML KeePass')))
|
||||
);
|
||||
|
||||
$this->process();
|
||||
|
||||
$this->eventDispatcher->notifyEvent('run.import.keepass.end',
|
||||
new Event($this, EventMessage::factory()
|
||||
->addDescription(__u('Importación XML KeePass')))
|
||||
);
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
@@ -63,7 +73,7 @@ class KeepassImport extends XmlImportBase implements ImportInterface
|
||||
|
||||
$this->eventDispatcher->notifyEvent('run.import.keepass.client',
|
||||
new Event($this, EventMessage::factory()
|
||||
->addDetail(__('Cliente creado'), 'KeePass'))
|
||||
->addDetail(__u('Cliente creado'), 'KeePass'))
|
||||
);
|
||||
|
||||
foreach ($this->getItems() as $group => $entry) {
|
||||
@@ -72,7 +82,7 @@ class KeepassImport extends XmlImportBase implements ImportInterface
|
||||
|
||||
$this->eventDispatcher->notifyEvent('run.import.keepass.category',
|
||||
new Event($this, EventMessage::factory()
|
||||
->addDetail(__('Categoría importada'), $group))
|
||||
->addDetail(__u('Categoría importada'), $group))
|
||||
);
|
||||
|
||||
if (count($entry) > 0) {
|
||||
@@ -91,7 +101,7 @@ class KeepassImport extends XmlImportBase implements ImportInterface
|
||||
$this->eventDispatcher->notifyEvent('run.import.keepass.account',
|
||||
new Event($this,
|
||||
EventMessage::factory()
|
||||
->addDetail(__('Cuenta importada'), $accountRequest->name))
|
||||
->addDetail(__u('Cuenta importada'), $accountRequest->name))
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -53,6 +53,11 @@ class SyspassImport extends XmlImportBase implements ImportInterface
|
||||
public function doImport()
|
||||
{
|
||||
try {
|
||||
$this->eventDispatcher->notifyEvent('run.import.syspass.start',
|
||||
new Event($this, EventMessage::factory()
|
||||
->addDescription(__u('Importación XML sysPass')))
|
||||
);
|
||||
|
||||
if ($this->importParams->getImportMasterPwd() !== '') {
|
||||
$this->mPassValidHash = Hash::checkHashKey($this->importParams->getImportMasterPwd(), ConfigDB::getValue('masterPwd'));
|
||||
}
|
||||
@@ -78,6 +83,11 @@ class SyspassImport extends XmlImportBase implements ImportInterface
|
||||
$this->processTags();
|
||||
$this->processAccounts();
|
||||
|
||||
$this->eventDispatcher->notifyEvent('run.import.syspass.end',
|
||||
new Event($this, EventMessage::factory()
|
||||
->addDescription(__u('Importación XML sysPass')))
|
||||
);
|
||||
|
||||
return $this;
|
||||
} catch (ImportException $e) {
|
||||
throw $e;
|
||||
@@ -153,7 +163,7 @@ class SyspassImport extends XmlImportBase implements ImportInterface
|
||||
|
||||
$this->eventDispatcher->notifyEvent('run.import.syspass.decryption',
|
||||
new Event($this, EventMessage::factory()
|
||||
->addDescription(__('Datos desencriptados')))
|
||||
->addDescription(__u('Datos desencriptados')))
|
||||
);
|
||||
}
|
||||
|
||||
@@ -186,7 +196,7 @@ class SyspassImport extends XmlImportBase implements ImportInterface
|
||||
|
||||
$this->eventDispatcher->notifyEvent('run.import.syspass.category',
|
||||
new Event($this, EventMessage::factory()
|
||||
->addDetail(__('Categoría importada'), $categoryData->getName()))
|
||||
->addDetail(__u('Categoría importada'), $categoryData->getName()))
|
||||
);
|
||||
} catch (\Exception $e) {
|
||||
processException($e);
|
||||
@@ -223,7 +233,7 @@ class SyspassImport extends XmlImportBase implements ImportInterface
|
||||
|
||||
$this->eventDispatcher->notifyEvent('run.import.syspass.client',
|
||||
new Event($this, EventMessage::factory()
|
||||
->addDetail(__('Cliente importado'), $clientData->getName()))
|
||||
->addDetail(__u('Cliente importado'), $clientData->getName()))
|
||||
);
|
||||
} catch (\Exception $e) {
|
||||
processException($e);
|
||||
@@ -261,7 +271,7 @@ class SyspassImport extends XmlImportBase implements ImportInterface
|
||||
|
||||
$this->eventDispatcher->notifyEvent('run.import.syspass.customer',
|
||||
new Event($this, EventMessage::factory()
|
||||
->addDetail(__('Cliente importado'), $clientData->getName()))
|
||||
->addDetail(__u('Cliente importado'), $clientData->getName()))
|
||||
);
|
||||
} catch (\Exception $e) {
|
||||
processException($e);
|
||||
@@ -295,7 +305,7 @@ class SyspassImport extends XmlImportBase implements ImportInterface
|
||||
|
||||
$this->eventDispatcher->notifyEvent('run.import.syspass.tag',
|
||||
new Event($this, EventMessage::factory()
|
||||
->addDetail(__('Etiqueta importada'), $tagData->getName()))
|
||||
->addDetail(__u('Etiqueta importada'), $tagData->getName()))
|
||||
);
|
||||
} catch (\Exception $e) {
|
||||
processException($e);
|
||||
@@ -354,7 +364,7 @@ class SyspassImport extends XmlImportBase implements ImportInterface
|
||||
|
||||
$this->eventDispatcher->notifyEvent('run.import.syspass.account',
|
||||
new Event($this, EventMessage::factory()
|
||||
->addDetail(__('Cuenta importada'), $accountRequest->name))
|
||||
->addDetail(__u('Cuenta importada'), $accountRequest->name))
|
||||
);
|
||||
} catch (\Exception $e) {
|
||||
processException($e);
|
||||
|
||||
@@ -96,7 +96,7 @@ abstract class XmlImportBase
|
||||
sprintf(__('El nodo "%s" no existe'), $nodeName)
|
||||
);
|
||||
}
|
||||
|
||||
} else {
|
||||
if (!is_callable($callback)) {
|
||||
throw new ImportException(__u('Método inválido'), ImportException::WARNING);
|
||||
}
|
||||
|
||||
@@ -717,7 +717,7 @@ class Util
|
||||
*/
|
||||
public static function unlockApp()
|
||||
{
|
||||
return unlink(LOCK_FILE);
|
||||
return @unlink(LOCK_FILE);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -952,16 +952,26 @@ sysPass.Actions = function (Common) {
|
||||
save: function ($obj) {
|
||||
log.info("link:save");
|
||||
|
||||
const itemId = $obj.data("item-id");
|
||||
const request = function (notify) {
|
||||
const itemId = $obj.data("item-id");
|
||||
|
||||
const opts = Common.appRequests().getRequestOpts();
|
||||
opts.url = ajaxUrl.entrypoint;
|
||||
opts.data = {
|
||||
r: $obj.data("action-route"),
|
||||
accountId: itemId,
|
||||
notify: 0,
|
||||
sk: Common.sk.get(),
|
||||
isAjax: 1
|
||||
const opts = Common.appRequests().getRequestOpts();
|
||||
opts.url = ajaxUrl.entrypoint;
|
||||
opts.data = {
|
||||
r: $obj.data("action-route"),
|
||||
accountId: itemId,
|
||||
notify: notify,
|
||||
sk: Common.sk.get(),
|
||||
isAjax: 1
|
||||
};
|
||||
|
||||
Common.appRequests().getActionCall(opts, function (json) {
|
||||
Common.msg.out(json);
|
||||
|
||||
if (json.status === 0) {
|
||||
getContent({r: $obj.data("action-next") + "/" + itemId});
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
const atext = "<div id=\"alert\"><p id=\"alert-text\">" + Common.config().LANG[48] + "</p></div>";
|
||||
@@ -973,13 +983,7 @@ sysPass.Actions = function (Common) {
|
||||
onClick: function (e) {
|
||||
e.preventDefault();
|
||||
|
||||
Common.appRequests().getActionCall(opts, function (json) {
|
||||
Common.msg.out(json);
|
||||
|
||||
if (json.status === 0) {
|
||||
getContent({r: $obj.data("action-next") + "/" + itemId});
|
||||
}
|
||||
});
|
||||
request(0);
|
||||
}
|
||||
},
|
||||
positive: {
|
||||
@@ -987,17 +991,7 @@ sysPass.Actions = function (Common) {
|
||||
onClick: function (e) {
|
||||
e.preventDefault();
|
||||
|
||||
opts.data.notify = 1;
|
||||
|
||||
Common.appRequests().getActionCall(opts, function (json) {
|
||||
Common.msg.out(json);
|
||||
|
||||
if (json.status === 0) {
|
||||
getContent({
|
||||
r: $obj.data("action-next") + "/" + itemId
|
||||
});
|
||||
}
|
||||
});
|
||||
request(1);
|
||||
}
|
||||
}
|
||||
});
|
||||
@@ -1071,7 +1065,7 @@ sysPass.Actions = function (Common) {
|
||||
const opts = Common.appRequests().getRequestOpts();
|
||||
opts.url = ajaxUrl.entrypoint + "?r=" + $obj.data("action-route");
|
||||
opts.method = $obj.data("action-method") || "post";
|
||||
opts.data = $obj.serialize();
|
||||
opts.data = $obj.serialize() + "&sk=" + Common.sk.get();
|
||||
|
||||
Common.appRequests().getActionCall(opts, function (json) {
|
||||
Common.msg.out(json);
|
||||
|
||||
56
public/js/app-actions.min.js
vendored
56
public/js/app-actions.min.js
vendored
@@ -1,44 +1,44 @@
|
||||
var $jscomp={scope:{},findInternal:function(b,e,l){b instanceof String&&(b=String(b));for(var f=b.length,g=0;g<f;g++){var m=b[g];if(e.call(l,m,g,b))return{i:g,v:m}}return{i:-1,v:void 0}}};$jscomp.defineProperty="function"==typeof Object.defineProperties?Object.defineProperty:function(b,e,l){if(l.get||l.set)throw new TypeError("ES3 does not support getters and setters.");b!=Array.prototype&&b!=Object.prototype&&(b[e]=l.value)};
|
||||
$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,e,l,f){if(e){l=$jscomp.global;b=b.split(".");for(f=0;f<b.length-1;f++){var g=b[f];g in l||(l[g]={});l=l[g]}b=b[b.length-1];f=l[b];e=e(f);e!=f&&null!=e&&$jscomp.defineProperty(l,b,{configurable:!0,writable:!0,value:e})}};
|
||||
var $jscomp={scope:{},findInternal:function(b,e,l){b instanceof String&&(b=String(b));for(var f=b.length,h=0;h<f;h++){var m=b[h];if(e.call(l,m,h,b))return{i:h,v:m}}return{i:-1,v:void 0}}};$jscomp.defineProperty="function"==typeof Object.defineProperties?Object.defineProperty:function(b,e,l){if(l.get||l.set)throw new TypeError("ES3 does not support getters and setters.");b!=Array.prototype&&b!=Object.prototype&&(b[e]=l.value)};
|
||||
$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,e,l,f){if(e){l=$jscomp.global;b=b.split(".");for(f=0;f<b.length-1;f++){var h=b[f];h in l||(l[h]={});l=l[h]}b=b[b.length-1];f=l[b];e=e(f);e!=f&&null!=e&&$jscomp.defineProperty(l,b,{configurable:!0,writable:!0,value:e})}};
|
||||
$jscomp.polyfill("Array.prototype.find",function(b){return b?b:function(b,l){return $jscomp.findInternal(this,b,l).v}},"es6-impl","es3");
|
||||
sysPass.Actions=function(b){var e=b.log,l=0,f={entrypoint:"/index.php"};Object.freeze(f);var g=function(a,c){e.info("getContent");a.isAjax=1;var d=b.appRequests().getRequestOpts();d.url=f.entrypoint;d.method="get";d.type="html";d.addHistory=!0;d.data=a;b.appRequests().getActionCall(d,function(a){var d=$("#content");d.empty().html(a);a=b.triggers().views;a.common(d);if(void 0!==c&&"function"===typeof a[c])a[c]();d=$(".mdl-layout__content");0<d.scrollTop()&&d.animate({scrollTop:0},1E3)})},m=function(a,
|
||||
c){$.magnificPopup.open({items:{src:a||"",type:"inline"},callbacks:{open:function(){var a=$("#box-popup");b.appTriggers().views.common(a);a.find(":input:text:visible:first").focus();void 0!==c&&"function"===typeof c.open&&c.open()},close:function(){void 0!==c&&"function"===typeof c.close&&c.close()}},showCloseBtn:!1})},v=function(a,c){var d=$('<div id="box-popup" class="image">'+c+"</div>"),h=d.find("img");if(0===h.length)return m(c);h.hide();$.magnificPopup.open({items:{src:d,type:"inline"},callbacks:{open:function(){var a=
|
||||
this;h.on("click",function(){a.close()});setTimeout(function(){var a=b.resizeImage(h);d.css({backgroundColor:"#fff",width:a.width,height:"auto"});h.show("slow")},500)}}})},p={view:function(a){e.info("account:show");g(b.appRequests().getRouteForQuery(a.data("action-route"),a.data("item-id")),"account")},viewHistory:function(a){e.info("account:showHistory");g(b.appRequests().getRouteForQuery(a.data("action-route"),a.val()),"account")},edit:function(a){e.info("account:edit");g(b.appRequests().getRouteForQuery(a.data("action-route"),
|
||||
sysPass.Actions=function(b){var e=b.log,l=0,f={entrypoint:"/index.php"};Object.freeze(f);var h=function(a,c){e.info("getContent");a.isAjax=1;var d=b.appRequests().getRequestOpts();d.url=f.entrypoint;d.method="get";d.type="html";d.addHistory=!0;d.data=a;b.appRequests().getActionCall(d,function(a){var d=$("#content");d.empty().html(a);a=b.triggers().views;a.common(d);if(void 0!==c&&"function"===typeof a[c])a[c]();d=$(".mdl-layout__content");0<d.scrollTop()&&d.animate({scrollTop:0},1E3)})},m=function(a,
|
||||
c){$.magnificPopup.open({items:{src:a||"",type:"inline"},callbacks:{open:function(){var a=$("#box-popup");b.appTriggers().views.common(a);a.find(":input:text:visible:first").focus();void 0!==c&&"function"===typeof c.open&&c.open()},close:function(){void 0!==c&&"function"===typeof c.close&&c.close()}},showCloseBtn:!1})},v=function(a,c){var d=$('<div id="box-popup" class="image">'+c+"</div>"),g=d.find("img");if(0===g.length)return m(c);g.hide();$.magnificPopup.open({items:{src:d,type:"inline"},callbacks:{open:function(){var a=
|
||||
this;g.on("click",function(){a.close()});setTimeout(function(){var a=b.resizeImage(g);d.css({backgroundColor:"#fff",width:a.width,height:"auto"});g.show("slow")},500)}}})},p={view:function(a){e.info("account:show");h(b.appRequests().getRouteForQuery(a.data("action-route"),a.data("item-id")),"account")},viewHistory:function(a){e.info("account:showHistory");h(b.appRequests().getRouteForQuery(a.data("action-route"),a.val()),"account")},edit:function(a){e.info("account:edit");h(b.appRequests().getRouteForQuery(a.data("action-route"),
|
||||
a.data("item-id")),"account")},"delete":function(a){e.info("account:delete");var c='<div id="alert"><p id="alert-text">'+b.config().LANG[3]+"</p></div>";mdlDialog().show({text:c,negative:{title:b.config().LANG[44],onClick:function(a){a.preventDefault();b.msg.error(b.config().LANG[44])}},positive:{title:b.config().LANG[43],onClick:function(d){d=b.appRequests().getRequestOpts();d.url=f.entrypoint;d.data={r:"account/saveDelete/"+a.data("item-id"),sk:b.sk.get()};b.appRequests().getActionCall(d,function(d){b.msg.out(d);
|
||||
p.search(a)})}}})},viewPass:function(a){e.info("account:showpass");var c=a.data("parent-id")||0,c=0===c?a.data("item-id"):c,d=a.data("history")||0,h=b.appRequests().getRequestOpts();h.url=f.entrypoint;h.method="get";h.data={r:a.data("action-route")+"/"+c+"/"+d,sk:b.sk.get(),isAjax:1};b.appRequests().getActionCall(h,function(a){0!==a.status?b.msg.out(a):(a=$(a.data.html),m(a),l=setTimeout(function(){$.magnificPopup.close()},3E4),a.on("mouseleave",function(){clearTimeout(l);l=setTimeout(function(){$.magnificPopup.close()},
|
||||
3E4)}).on("mouseenter",function(){0!==l&&clearTimeout(l)}))})},copyPass:function(a){e.info("account:copypass");var c=a.data("parent-id"),c=0===c?a.data("item-id"):c,d=b.appRequests().getRequestOpts();d.url=f.entrypoint;d.method="get";d.async=!1;d.data={r:a.data("action-route")+"/"+c+"/"+a.data("history"),sk:b.sk.get(),isAjax:1};return b.appRequests().getActionCall(d)},copy:function(a){e.info("account:copy");g(b.appRequests().getRouteForQuery(a.data("action-route"),a.data("item-id")),"account")},saveFavorite:function(a,
|
||||
c){e.info("account:saveFavorite");var d="on"===a.data("status"),h=d?a.data("action-route-off"):a.data("action-route-on"),q=b.appRequests().getRequestOpts();q.url=f.entrypoint;q.data={r:h+"/"+a.data("item-id"),sk:b.sk.get(),isAjax:1};b.appRequests().getActionCall(q,function(h){b.msg.out(h);0===h.status&&(a.data("status",d?"off":"on"),"function"===typeof c&&c())})},request:function(a){e.info("account:request");var c=b.appRequests().getRequestOpts();c.url=f.entrypoint+"?r="+a.data("action-route")+"/"+
|
||||
a.data("item-id");c.data=a.serialize();b.appRequests().getActionCall(c,function(a){b.msg.out(a);0===a.status&&void 0!==a.data.nextAction&&g({r:a.data.nextAction.nextAction},"account")})},menu:function(a){a.hide();a.parent().children(".actions-optional").show(250)},sort:function(a){e.info("account:sort");var b=$("#frmSearch");b.find('input[name="skey"]').val(a.data("key"));b.find('input[name="sorder"]').val(a.data("dir"));b.find('input[name="start"]').val(a.data("start"));p.search()},editPass:function(a){e.info("account:editpass");
|
||||
var c=a.data("parent-id"),c=void 0===c?a.data("item-id"):c;g(b.appRequests().getRouteForQuery(a.data("action-route"),c),"account")},saveEditRestore:function(a){e.info("account:restore");var c=b.appRequests().getRequestOpts();c.url=f.entrypoint+"?r="+a.data("action-route")+"/"+a.data("history-id")+"/"+a.data("item-id");c.data=a.serialize();b.appRequests().getActionCall(c,function(a){b.msg.out(a);void 0!==a.data.itemId&&void 0!==a.data.nextAction&&g(b.appRequests().getRouteForQuery(a.data.nextAction,
|
||||
p.search(a)})}}})},viewPass:function(a){e.info("account:showpass");var c=a.data("parent-id")||0,c=0===c?a.data("item-id"):c,d=a.data("history")||0,g=b.appRequests().getRequestOpts();g.url=f.entrypoint;g.method="get";g.data={r:a.data("action-route")+"/"+c+"/"+d,sk:b.sk.get(),isAjax:1};b.appRequests().getActionCall(g,function(a){0!==a.status?b.msg.out(a):(a=$(a.data.html),m(a),l=setTimeout(function(){$.magnificPopup.close()},3E4),a.on("mouseleave",function(){clearTimeout(l);l=setTimeout(function(){$.magnificPopup.close()},
|
||||
3E4)}).on("mouseenter",function(){0!==l&&clearTimeout(l)}))})},copyPass:function(a){e.info("account:copypass");var c=a.data("parent-id"),c=0===c?a.data("item-id"):c,d=b.appRequests().getRequestOpts();d.url=f.entrypoint;d.method="get";d.async=!1;d.data={r:a.data("action-route")+"/"+c+"/"+a.data("history"),sk:b.sk.get(),isAjax:1};return b.appRequests().getActionCall(d)},copy:function(a){e.info("account:copy");h(b.appRequests().getRouteForQuery(a.data("action-route"),a.data("item-id")),"account")},saveFavorite:function(a,
|
||||
c){e.info("account:saveFavorite");var d="on"===a.data("status"),g=d?a.data("action-route-off"):a.data("action-route-on"),q=b.appRequests().getRequestOpts();q.url=f.entrypoint;q.data={r:g+"/"+a.data("item-id"),sk:b.sk.get(),isAjax:1};b.appRequests().getActionCall(q,function(g){b.msg.out(g);0===g.status&&(a.data("status",d?"off":"on"),"function"===typeof c&&c())})},request:function(a){e.info("account:request");var c=b.appRequests().getRequestOpts();c.url=f.entrypoint+"?r="+a.data("action-route")+"/"+
|
||||
a.data("item-id");c.data=a.serialize();b.appRequests().getActionCall(c,function(a){b.msg.out(a);0===a.status&&void 0!==a.data.nextAction&&h({r:a.data.nextAction.nextAction},"account")})},menu:function(a){a.hide();a.parent().children(".actions-optional").show(250)},sort:function(a){e.info("account:sort");var b=$("#frmSearch");b.find('input[name="skey"]').val(a.data("key"));b.find('input[name="sorder"]').val(a.data("dir"));b.find('input[name="start"]').val(a.data("start"));p.search()},editPass:function(a){e.info("account:editpass");
|
||||
var c=a.data("parent-id"),c=void 0===c?a.data("item-id"):c;h(b.appRequests().getRouteForQuery(a.data("action-route"),c),"account")},saveEditRestore:function(a){e.info("account:restore");var c=b.appRequests().getRequestOpts();c.url=f.entrypoint+"?r="+a.data("action-route")+"/"+a.data("history-id")+"/"+a.data("item-id");c.data=a.serialize();b.appRequests().getActionCall(c,function(a){b.msg.out(a);void 0!==a.data.itemId&&void 0!==a.data.nextAction&&h(b.appRequests().getRouteForQuery(a.data.nextAction,
|
||||
a.data.itemId),"account")})},listFiles:function(a){e.info("account:getfiles");var c=b.appRequests().getRequestOpts();c.method="get";c.type="html";c.url=f.entrypoint;c.data={r:a.data("action-route")+"/"+a.data("item-id"),del:a.data("delete"),sk:b.sk.get()};b.appRequests().getActionCall(c,function(b){a.html(b)})},search:function(a){e.info("account:search");var c=$("#frmSearch");c.find("input[name='sk']").val(b.sk.get());c.find("input[name='skey']").val();c.find("input[name='sorder']").val();void 0!==
|
||||
a&&c.find("input[name='start']").val(0);a=b.appRequests().getRequestOpts();a.url=f.entrypoint+"?r="+c.data("action-route");a.method="get";a.data=c.serialize();b.appRequests().getActionCall(a,function(a){10===a.status&&b.msg.out(a);b.sk.set(a.data.sk);$("#res-content").empty().html(a.data.html)})},save:function(a){e.info("account:save");var c=b.appRequests().getRequestOpts();c.url=f.entrypoint+"?r="+a.data("action-route")+"/"+a.data("item-id");c.data=a.serialize();b.appRequests().getActionCall(c,function(a){b.msg.out(a);
|
||||
void 0!==a.data.itemId&&void 0!==a.data.nextAction&&g(b.appRequests().getRouteForQuery(a.data.nextAction,a.data.itemId),"account")})}},r={get:function(a){e.info("items:get");var c=a[0].selectize;c.clearOptions();c.load(function(d){var h=b.appRequests().getRequestOpts();h.url=f.entrypoint;h.method="get";h.data={r:a.data("action-route")+"/"+a.data("item-id"),sk:a.data("sk")};b.appRequests().getActionCall(h,function(h){d(h.data);c.setValue(a.data("selected-id"),!0);b.appTriggers().updateFormHash()})})},
|
||||
void 0!==a.data.itemId&&void 0!==a.data.nextAction&&h(b.appRequests().getRouteForQuery(a.data.nextAction,a.data.itemId),"account")})}},r={get:function(a){e.info("items:get");var c=a[0].selectize;c.clearOptions();c.load(function(d){var g=b.appRequests().getRequestOpts();g.url=f.entrypoint;g.method="get";g.data={r:a.data("action-route")+"/"+a.data("item-id"),sk:a.data("sk")};b.appRequests().getActionCall(g,function(g){d(g.data);c.setValue(a.data("selected-id"),!0);b.appTriggers().updateFormHash()})})},
|
||||
update:function(a){e.info("items:update");var c=$("#"+a.data("item-dst"))[0].selectize;c.clearOptions();c.load(function(d){var c=b.appRequests().getRequestOpts();c.url=f.entrypoint;c.method="get";c.data={r:a.data("item-route"),sk:b.sk.get()};b.appRequests().getActionCall(c,function(a){d(a)})})}},t={logout:function(){b.redirect("index.php?r=login/logout")},login:function(a){e.info("main:login");var c=b.appRequests().getRequestOpts();c.url=f.entrypoint+"?r="+a.data("route");c.method="get";c.data=a.serialize();
|
||||
b.appRequests().getActionCall(c,function(d){var c=$(".extra-hidden");switch(d.status){case 0:b.redirect(d.data.url);break;case 2:b.msg.out(d);a.find("input[type='text'],input[type='password']").val("");a.find("input:first").focus();0<c.length&&c.hide();$("#mpass").prop("disabled",!1).val("");$("#smpass").show();break;case 5:b.msg.out(d);a.find("input[type='text'],input[type='password']").val("");a.find("input:first").focus();0<c.length&&c.hide();$("#oldpass").prop("disabled",!1).val("");$("#soldpass").show();
|
||||
break;default:b.msg.out(d),a.find("input[type='text'],input[type='password']").val(""),a.find("input:first").focus()}})},install:function(a){e.info("main:install");var c=b.appRequests().getRequestOpts();c.url=f.entrypoint+"?r="+a.data("route");c.data=a.serialize();b.appRequests().getActionCall(c,function(a){b.msg.out(a);0===a.status&&setTimeout(function(){b.redirect("index.php?r=login/index")},1E3)})},upgrade:function(a){e.info("main:upgrade");var c='<div id="alert"><p id="alert-text">'+b.config().LANG[59]+
|
||||
b.appRequests().getActionCall(c,function(c){var d=$(".extra-hidden");switch(c.status){case 0:b.redirect(c.data.url);break;case 2:b.msg.out(c);a.find("input[type='text'],input[type='password']").val("");a.find("input:first").focus();0<d.length&&d.hide();$("#mpass").prop("disabled",!1).val("");$("#smpass").show();break;case 5:b.msg.out(c);a.find("input[type='text'],input[type='password']").val("");a.find("input:first").focus();0<d.length&&d.hide();$("#oldpass").prop("disabled",!1).val("");$("#soldpass").show();
|
||||
break;default:b.msg.out(c),a.find("input[type='text'],input[type='password']").val(""),a.find("input:first").focus()}})},install:function(a){e.info("main:install");var c=b.appRequests().getRequestOpts();c.url=f.entrypoint+"?r="+a.data("route");c.data=a.serialize();b.appRequests().getActionCall(c,function(a){b.msg.out(a);0===a.status&&setTimeout(function(){b.redirect("index.php?r=login/index")},1E3)})},upgrade:function(a){e.info("main:upgrade");var c='<div id="alert"><p id="alert-text">'+b.config().LANG[59]+
|
||||
"</p></div>";mdlDialog().show({text:c,negative:{title:b.config().LANG[44],onClick:function(a){a.preventDefault();b.msg.error(b.config().LANG[44])}},positive:{title:b.config().LANG[43],onClick:function(c){c=a.find("input[name='useTask']");var d=$("#taskStatus");d.empty().html(b.config().LANG[62]);0<c.length&&1==c.val()&&(c=b.appRequests().getRequestOpts(),c.url=f.entrypoint,c.data={source:a.find("input[name='lock']").val(),taskId:a.find("input[name='taskId']").val()},b.appRequests().getActionEvent(c,
|
||||
function(a){a=a.task+" - "+a.message+" - "+a.time+" - "+a.progress+"%";a+="<br>"+b.config().LANG[62];d.empty().html(a)}));c=b.appRequests().getRequestOpts();c.url=f.entrypoint;c.method="get";c.useFullLoading=!0;c.data=a.serialize();b.appRequests().getActionCall(c,function(c){b.msg.out(c);0!==c.status?a.find(":input[name=h]").val(""):(void 0!==task&&task.close(),setTimeout(function(){b.redirect("index.php")},5E3))})}}})},getUpdates:function(){e.info("main:getUpdates");var a=b.appRequests().getRequestOpts();
|
||||
a.url=f.entrypoint;a.type="html";a.method="get";a.timeout=1E4;a.useLoading=!1;a.data={isAjax:1};b.appRequests().getActionCall(a,function(a){$("#updates").html(a);void 0!==componentHandler&&componentHandler.upgradeDom()},function(){$("#updates").html("!")})}},k={state:{tab:{index:0,refresh:!0,route:""},itemId:0,update:function(a){var b=$("#content").find("[id^='tabs-'].is-active");0<b.length&&(k.state.tab.refresh=!a.data("item-dst"),k.state.tab.index=b.data("tab-index"),k.state.tab.route=b.data("tab-route"),
|
||||
k.state.itemId=a.data("item-id"))}},save:function(a,c){e.info("tabs:save");k.state.update(a);var d=b.appRequests().getRequestOpts();d.url=f.entrypoint+"?r="+a.data("action-route");d.method=a.data("action-method")||"post";d.data=a.serialize();b.appRequests().getActionCall(d,function(d){b.msg.out(d);0===d.status&&("function"===typeof c&&c(),!0===k.state.tab.refresh?g({r:k.state.tab.route,tabIndex:k.state.tab.index}):void 0!==a.data("reload")&&(e.info("reload"),setTimeout(function(){b.redirect("index.php")},
|
||||
k.state.itemId=a.data("item-id"))}},save:function(a,c){e.info("tabs:save");k.state.update(a);var d=b.appRequests().getRequestOpts();d.url=f.entrypoint+"?r="+a.data("action-route");d.method=a.data("action-method")||"post";d.data=a.serialize()+"&sk="+b.sk.get();b.appRequests().getActionCall(d,function(d){b.msg.out(d);0===d.status&&("function"===typeof c&&c(),!0===k.state.tab.refresh?h({r:k.state.tab.route,tabIndex:k.state.tab.index}):void 0!==a.data("reload")&&(e.info("reload"),setTimeout(function(){b.redirect("index.php")},
|
||||
2E3)))})}},u={show:function(a){e.info("appMgmt:show");k.state.update(a);var c=b.appRequests().getRequestOpts();c.url=f.entrypoint;c.method="get";c.data={r:a.data("action-route")+"/"+a.data("item-id"),sk:b.sk.get(),isAjax:1};b.appRequests().getActionCall(c,function(c){if(0!==c.status)b.msg.out(c);else{var d=a.data("item-dst");m(c.data.html,{open:function(){d&&(k.state.tab.refresh=!1)},close:function(){d&&r.update(a)}})}})},"delete":function(a){e.info("appMgmt:delete");k.state.update(a);n["delete"](a,
|
||||
function(c){var d=a.data("item-id"),h=b.appRequests().getRequestOpts();h.url=f.entrypoint;h.method="get";h.data={r:a.data("action-route")+(d&&"/"+d),items:c,sk:b.sk.get(),isAjax:1};b.appRequests().getActionCall(h,function(a){b.msg.out(a);g({r:k.state.tab.route,tabIndex:k.state.tab.index})})})},save:function(a){e.info("appMgmt:save");k.save(a,function(){$.magnificPopup.close()})},search:function(a){e.info("appMgmt:search");n.search(a)},nav:function(a){e.info("appMgmt:nav");n.nav(a)}},n={search:function(a){e.info("grid:search");
|
||||
function(c){var d=a.data("item-id"),g=b.appRequests().getRequestOpts();g.url=f.entrypoint;g.method="get";g.data={r:a.data("action-route")+(d&&"/"+d),items:c,sk:b.sk.get(),isAjax:1};b.appRequests().getActionCall(g,function(a){b.msg.out(a);h({r:k.state.tab.route,tabIndex:k.state.tab.index})})})},save:function(a){e.info("appMgmt:save");k.save(a,function(){$.magnificPopup.close()})},search:function(a){e.info("appMgmt:search");n.search(a)},nav:function(a){e.info("appMgmt:nav");n.nav(a)}},n={search:function(a){e.info("grid:search");
|
||||
var c=$(a.data("target")),d=b.appRequests().getRequestOpts();d.url=f.entrypoint+"?r="+a.data("action-route");d.method="get";d.data=a.serialize();b.appRequests().getActionCall(d,function(a){0===a.status?c.html(a.data.html):c.html(b.msg.html.error(a.description));b.sk.set(a.csrf)})},nav:function(a,c){e.info("grid:nav");var d=$("#"+a.data("action-form"));d.find("[name='start']").val(a.data("start"));d.find("[name='count']").val(a.data("count"));d.find("[name='sk']").val(b.sk.get());"function"===typeof c?
|
||||
c(d):n.search(d)},"delete":function(a,c){var d='<div id="alert"><p id="alert-text">'+b.config().LANG[12]+"</p></div>",e=a.data("selection"),f=[];if(e&&($(e).find(".is-selected").each(function(){f.push($(this).data("item-id"))}),0===f.length))return;mdlDialog().show({text:d,negative:{title:b.config().LANG[44],onClick:function(a){a.preventDefault();b.msg.error(b.config().LANG[44])}},positive:{title:b.config().LANG[43],onClick:function(a){a.preventDefault();"function"===typeof c&&c(f)}}})}};return{doAction:function(a,
|
||||
c(d):n.search(d)},"delete":function(a,c){var d='<div id="alert"><p id="alert-text">'+b.config().LANG[12]+"</p></div>",g=a.data("selection"),e=[];if(g&&($(g).find(".is-selected").each(function(){e.push($(this).data("item-id"))}),0===e.length))return;mdlDialog().show({text:d,negative:{title:b.config().LANG[44],onClick:function(a){a.preventDefault();b.msg.error(b.config().LANG[44])}},positive:{title:b.config().LANG[43],onClick:function(a){a.preventDefault();"function"===typeof c&&c(e)}}})}};return{doAction:function(a,
|
||||
c){var d={r:a.r+(void 0!==a.itemId?"/"+a.itemId:""),isAjax:1},e=b.appRequests().getRequestOpts();e.url=f.entrypoint;e.method="get";e.type="html";e.addHistory=!0;e.data=d;b.appRequests().getActionCall(e,function(a){var d=$("#content");d.empty().html(a);a=b.triggers().views;a.common(d);if(void 0!==c&&"function"===typeof a[c])a[c]();d=$(".mdl-layout__content");0<d.scrollTop()&&d.animate({scrollTop:0},1E3)})},appMgmt:u,account:p,file:{view:function(a){e.info("file:view");var c=b.appRequests().getRequestOpts();
|
||||
c.url=f.entrypoint;c.method="get";c.data={r:a.data("action-route")+"/"+a.data("item-id"),sk:b.sk.get()};b.appRequests().getActionCall(c,function(c){if(1===c.status)return b.msg.out(c);v(a,c.data.html)})},download:function(a){e.info("file:download");a={r:a.data("action-route")+"/"+a.data("item-id"),sk:b.sk.get()};$.fileDownload(f.entrypoint,{httpMethod:"GET",data:a})},"delete":function(a){e.info("file:delete");var c='<div id="alert"><p id="alert-text">'+b.config().LANG[15]+"</p></div>";mdlDialog().show({text:c,
|
||||
negative:{title:b.config().LANG[44],onClick:function(a){a.preventDefault();b.msg.error(b.config().LANG[44])}},positive:{title:b.config().LANG[43],onClick:function(c){c=b.appRequests().getRequestOpts();c.url=f.entrypoint;c.method="get";c.data={r:a.data("action-route")+"/"+a.data("item-id"),sk:b.sk.get()};b.appRequests().getActionCall(c,function(a){b.msg.out(a);0===a.status&&p.listFiles($("#list-account-files"))})}}})}},checks:{wiki:function(a){e.info("checks:wiki");a=$(a.data("src"));a.find("[name='sk']").val(b.sk.get());
|
||||
var c=b.appRequests().getRequestOpts();c.url=f.entrypoint;c.data=a.serialize();b.appRequests().getActionCall(c,function(a){b.msg.out(a);0===a.status&&$("#dokuWikiResCheck").html(a.data)})}},config:{save:function(a){e.info("config:save");k.save(a)},masterpass:function(a){var c='<div id="alert"><p id="alert-text">'+b.config().LANG[59]+"</p></div>";mdlDialog().show({text:c,negative:{title:b.config().LANG[44],onClick:function(c){c.preventDefault();b.msg.error(b.config().LANG[44]);a.find(":input[type=password]").val("")}},
|
||||
positive:{title:b.config().LANG[43],onClick:function(c){c=a.find("input[name='useTask']");var d=$("#taskStatus");d.empty().html(b.config().LANG[62]);0<c.length&&1==c.val()&&(c=b.appRequests().getRequestOpts(),c.url=f.entrypoint,c.data={source:a.find("input[name='lock']").val(),taskId:a.find("input[name='taskId']").val()},b.appRequests().getActionEvent(c,function(a){a=a.task+" - "+a.message+" - "+a.time+" - "+a.progress+"%";a+="<br>"+b.config().LANG[62];d.empty().html(a)}));c=b.appRequests().getRequestOpts();
|
||||
c.url=f.entrypoint;c.useFullLoading=!0;c.data=a.serialize();b.appRequests().getActionCall(c,function(c){b.msg.out(c);a.find(":input[type=password]").val("");void 0!==task&&task.close()})}}})},backup:function(a){e.info("config:backup");k.state.update(a);var c=b.appRequests().getRequestOpts();c.url=f.entrypoint+"?r="+a.data("action-route");c.useFullLoading=!0;c.data=a.serialize();b.appRequests().getActionCall(c,function(a){b.msg.out(a);0===a.status&&g({r:k.state.tab.route,tabIndex:k.state.tab.index})})},
|
||||
c.url=f.entrypoint;c.useFullLoading=!0;c.data=a.serialize();b.appRequests().getActionCall(c,function(c){b.msg.out(c);a.find(":input[type=password]").val("");void 0!==task&&task.close()})}}})},backup:function(a){e.info("config:backup");k.state.update(a);var c=b.appRequests().getRequestOpts();c.url=f.entrypoint+"?r="+a.data("action-route");c.useFullLoading=!0;c.data=a.serialize();b.appRequests().getActionCall(c,function(a){b.msg.out(a);0===a.status&&h({r:k.state.tab.route,tabIndex:k.state.tab.index})})},
|
||||
"export":function(a){e.info("config:export");k.save(a)},"import":function(a){e.info("config:import");var c=b.appRequests().getRequestOpts();c.url=f.entrypoint+"?r="+a.data("action-route");c.data=a.serialize();b.appRequests().getActionCall(c,function(a){b.msg.out(a)})},refreshMpass:function(a){e.info("config:import");var c=b.appRequests().getRequestOpts();c.url=f.entrypoint+"?r="+a.data("action-route");c.data={sk:a.data("sk"),isAjax:1};b.appRequests().getActionCall(c,function(a){b.msg.out(a)})}},main:t,
|
||||
user:{showSettings:function(a){e.info("user:showSettings");g({r:a.data("action-route")},"userSettings")},saveSettings:function(a){e.info("user:saveSettings");k.save(a)},password:function(a){e.info("user:password");var c=b.appRequests().getRequestOpts();c.type="html";c.method="get";c.url=f.entrypoint;c.data={r:a.data("action-route")+"/"+a.data("item-id"),sk:b.sk.get(),isAjax:1};b.appRequests().getActionCall(c,function(a){0===a.length?t.logout():m(a)})},passreset:function(a){e.info("user:passreset");
|
||||
var c=b.appRequests().getRequestOpts();c.url=f.entrypoint+"/?r="+a.data("action-route");c.data=a.serialize();b.appRequests().getActionCall(c,function(a){b.msg.out(a);0===a.status&&setTimeout(function(){b.redirect("index.php")},2E3)})}},link:{save:function(a){e.info("link:save");var c=a.data("item-id"),d=b.appRequests().getRequestOpts();d.url=f.entrypoint;d.data={r:a.data("action-route"),accountId:c,notify:0,sk:b.sk.get(),isAjax:1};var h='<div id="alert"><p id="alert-text">'+b.config().LANG[48]+"</p></div>";
|
||||
mdlDialog().show({text:h,negative:{title:b.config().LANG[44],onClick:function(e){e.preventDefault();b.appRequests().getActionCall(d,function(d){b.msg.out(d);0===d.status&&g({r:a.data("action-next")+"/"+c})})}},positive:{title:b.config().LANG[43],onClick:function(e){e.preventDefault();d.data.notify=1;b.appRequests().getActionCall(d,function(d){b.msg.out(d);0===d.status&&g({r:a.data("action-next")+"/"+c})})}}})},refresh:function(a){e.info("link:refresh");k.state.update(a);var c=a.data("item-id"),d=
|
||||
b.appRequests().getRequestOpts();d.url=f.entrypoint;d.method="get";d.data={r:a.data("action-route")+"/"+c,sk:b.sk.get(),isAjax:1};b.appRequests().getActionCall(d,function(d){b.msg.out(d);0===d.status&&((d=a.data("action-next"))?g({r:d+"/"+c}):g({r:k.state.tab.route,tabIndex:k.state.tab.index}))})}},eventlog:{search:function(a){e.info("eventlog:search");n.search(a)},nav:function(a){e.info("eventlog:nav");n.nav(a)},clear:function(a){var c='<div id="alert"><p id="alert-text">'+b.config().LANG[20]+"</p></div>";
|
||||
mdlDialog().show({text:c,negative:{title:b.config().LANG[44],onClick:function(a){a.preventDefault();b.msg.error(b.config().LANG[44])}},positive:{title:b.config().LANG[43],onClick:function(c){c.preventDefault();c=b.appRequests().getRequestOpts();c.url=f.entrypoint+"?r="+a.data("action-route");c.method="get";c.data={sk:b.sk.get(),isAjax:1};b.appRequests().getActionCall(c,function(c){b.msg.out(c);0===c.status&&g({r:a.data("nextaction")});b.sk.set(c.csrf)})}}})}},ajaxUrl:f,plugin:{toggle:function(a){e.info("plugin:enable");
|
||||
k.save(a,function(){setTimeout(function(){b.redirect("index.php")},2E3)})},reset:function(a){e.info("plugin:reset");var c='<div id="alert"><p id="alert-text">'+b.config().LANG[58]+"</p></div>";mdlDialog().show({text:c,negative:{title:b.config().LANG[44],onClick:function(a){a.preventDefault();b.msg.error(b.config().LANG[44])}},positive:{title:b.config().LANG[43],onClick:function(b){b.preventDefault();k.save(a)}}})}},notification:{check:function(a){e.info("notification:check");var c=b.appRequests().getRequestOpts();
|
||||
c.url=f.entrypoint;c.method="get";c.data={r:a.data("action-route")+"/"+a.data("item-id"),sk:b.sk.get(),isAjax:1};b.appRequests().getActionCall(c,function(c){b.msg.out(c);0===c.status&&g({r:a.data("nextaction")});b.sk.set(c.csrf)})},search:function(a){e.info("notification:search");n.search(a)},show:function(a){e.info("notification:show");u.show(a)},save:function(a){e.info("notification:save");var c=b.appRequests().getRequestOpts();c.url=f.entrypoint+"?r="+a.data("route");c.data=a.serialize();b.appRequests().getActionCall(c,
|
||||
function(c){b.msg.out(c);0===c.status&&(g({r:a.data("nextaction")}),$.magnificPopup.close())})},"delete":function(a){e.info("notification:delete");n["delete"](a,function(c){var d=a.data("item-id"),e=b.appRequests().getRequestOpts();e.url=f.entrypoint;e.method="get";e.data={r:a.data("action-route")+(d?"/"+d:""),items:c,sk:b.sk.get(),isAjax:1};b.appRequests().getActionCall(e,function(c){b.msg.out(c);g({r:a.data("nextaction")})})})},getActive:function(){e.info("notification:getActive");var a=b.appRequests().getRequestOpts();
|
||||
a.url=f.entrypoint;a.method="get";a.data={r:"items/notifications",sk:b.sk.get(),isAjax:1};b.appRequests().getActionCall(a,function(a){return a})},nav:function(a){e.info("eventlog:nav");n.nav(a)}},wiki:{show:function(a){e.info("wiki:show");var c=b.appRequests().getRequestOpts();c.url=f.entrypoint;c.method="get";c.data={pageName:a.data("pagename"),actionId:a.data("action-id"),sk:b.sk.get(),isAjax:1};b.appRequests().getActionCall(c,function(a){0!==a.status?b.msg.out(a):m(a.data.html)})}},items:r,ldap:{check:function(a){e.info("ldap:check");
|
||||
var c=$(a.data("src"));c.find("[name='sk']").val(b.sk.get());var d=b.appRequests().getRequestOpts();d.url=f.entrypoint+"?r="+a.data("action-route");d.data=c.serialize();b.appRequests().getActionCall(d,function(a){b.msg.out(a);0===a.status&&void 0!==a.data.template&&void 0!==a.data.items&&m(a.data.template,{open:function(){var c=$("#ldap-results").find(".list-wrap").empty();a.data.items.forEach(function(a){c.append(b.appTheme().html.getList(a.items,a.icon))})}})})},"import":function(a){e.info("ldap:import");
|
||||
var c='<div id="alert"><p id="alert-text">'+b.config().LANG[57]+"</p></div>";mdlDialog().show({text:c,negative:{title:b.config().LANG[44],onClick:function(a){a.preventDefault();b.msg.error(b.config().LANG[44])}},positive:{title:b.config().LANG[43],onClick:function(c){c=$(a.data("src"));c.find("[name='sk']").val(b.sk.get());var d=b.appRequests().getRequestOpts();d.url=f.entrypoint+"?r="+a.data("action-route");d.data=c.serialize();b.appRequests().getActionCall(d,function(a){b.msg.out(a)})}}})}}}};
|
||||
user:{showSettings:function(a){e.info("user:showSettings");h({r:a.data("action-route")},"userSettings")},saveSettings:function(a){e.info("user:saveSettings");k.save(a)},password:function(a){e.info("user:password");var c=b.appRequests().getRequestOpts();c.type="html";c.method="get";c.url=f.entrypoint;c.data={r:a.data("action-route")+"/"+a.data("item-id"),sk:b.sk.get(),isAjax:1};b.appRequests().getActionCall(c,function(a){0===a.length?t.logout():m(a)})},passreset:function(a){e.info("user:passreset");
|
||||
var c=b.appRequests().getRequestOpts();c.url=f.entrypoint+"/?r="+a.data("action-route");c.data=a.serialize();b.appRequests().getActionCall(c,function(a){b.msg.out(a);0===a.status&&setTimeout(function(){b.redirect("index.php")},2E3)})}},link:{save:function(a){e.info("link:save");var c=function(c){var d=a.data("item-id"),e=b.appRequests().getRequestOpts();e.url=f.entrypoint;e.data={r:a.data("action-route"),accountId:d,notify:c,sk:b.sk.get(),isAjax:1};b.appRequests().getActionCall(e,function(c){b.msg.out(c);
|
||||
0===c.status&&h({r:a.data("action-next")+"/"+d})})},d='<div id="alert"><p id="alert-text">'+b.config().LANG[48]+"</p></div>";mdlDialog().show({text:d,negative:{title:b.config().LANG[44],onClick:function(a){a.preventDefault();c(0)}},positive:{title:b.config().LANG[43],onClick:function(a){a.preventDefault();c(1)}}})},refresh:function(a){e.info("link:refresh");k.state.update(a);var c=a.data("item-id"),d=b.appRequests().getRequestOpts();d.url=f.entrypoint;d.method="get";d.data={r:a.data("action-route")+
|
||||
"/"+c,sk:b.sk.get(),isAjax:1};b.appRequests().getActionCall(d,function(d){b.msg.out(d);0===d.status&&((d=a.data("action-next"))?h({r:d+"/"+c}):h({r:k.state.tab.route,tabIndex:k.state.tab.index}))})}},eventlog:{search:function(a){e.info("eventlog:search");n.search(a)},nav:function(a){e.info("eventlog:nav");n.nav(a)},clear:function(a){var c='<div id="alert"><p id="alert-text">'+b.config().LANG[20]+"</p></div>";mdlDialog().show({text:c,negative:{title:b.config().LANG[44],onClick:function(a){a.preventDefault();
|
||||
b.msg.error(b.config().LANG[44])}},positive:{title:b.config().LANG[43],onClick:function(c){c.preventDefault();c=b.appRequests().getRequestOpts();c.url=f.entrypoint+"?r="+a.data("action-route");c.method="get";c.data={sk:b.sk.get(),isAjax:1};b.appRequests().getActionCall(c,function(c){b.msg.out(c);0===c.status&&h({r:a.data("nextaction")});b.sk.set(c.csrf)})}}})}},ajaxUrl:f,plugin:{toggle:function(a){e.info("plugin:enable");k.save(a,function(){setTimeout(function(){b.redirect("index.php")},2E3)})},reset:function(a){e.info("plugin:reset");
|
||||
var c='<div id="alert"><p id="alert-text">'+b.config().LANG[58]+"</p></div>";mdlDialog().show({text:c,negative:{title:b.config().LANG[44],onClick:function(a){a.preventDefault();b.msg.error(b.config().LANG[44])}},positive:{title:b.config().LANG[43],onClick:function(b){b.preventDefault();k.save(a)}}})}},notification:{check:function(a){e.info("notification:check");var c=b.appRequests().getRequestOpts();c.url=f.entrypoint;c.method="get";c.data={r:a.data("action-route")+"/"+a.data("item-id"),sk:b.sk.get(),
|
||||
isAjax:1};b.appRequests().getActionCall(c,function(c){b.msg.out(c);0===c.status&&h({r:a.data("nextaction")});b.sk.set(c.csrf)})},search:function(a){e.info("notification:search");n.search(a)},show:function(a){e.info("notification:show");u.show(a)},save:function(a){e.info("notification:save");var c=b.appRequests().getRequestOpts();c.url=f.entrypoint+"?r="+a.data("route");c.data=a.serialize();b.appRequests().getActionCall(c,function(c){b.msg.out(c);0===c.status&&(h({r:a.data("nextaction")}),$.magnificPopup.close())})},
|
||||
"delete":function(a){e.info("notification:delete");n["delete"](a,function(c){var d=a.data("item-id"),e=b.appRequests().getRequestOpts();e.url=f.entrypoint;e.method="get";e.data={r:a.data("action-route")+(d?"/"+d:""),items:c,sk:b.sk.get(),isAjax:1};b.appRequests().getActionCall(e,function(c){b.msg.out(c);h({r:a.data("nextaction")})})})},getActive:function(){e.info("notification:getActive");var a=b.appRequests().getRequestOpts();a.url=f.entrypoint;a.method="get";a.data={r:"items/notifications",sk:b.sk.get(),
|
||||
isAjax:1};b.appRequests().getActionCall(a,function(a){return a})},nav:function(a){e.info("eventlog:nav");n.nav(a)}},wiki:{show:function(a){e.info("wiki:show");var c=b.appRequests().getRequestOpts();c.url=f.entrypoint;c.method="get";c.data={pageName:a.data("pagename"),actionId:a.data("action-id"),sk:b.sk.get(),isAjax:1};b.appRequests().getActionCall(c,function(a){0!==a.status?b.msg.out(a):m(a.data.html)})}},items:r,ldap:{check:function(a){e.info("ldap:check");var c=$(a.data("src"));c.find("[name='sk']").val(b.sk.get());
|
||||
var d=b.appRequests().getRequestOpts();d.url=f.entrypoint+"?r="+a.data("action-route");d.data=c.serialize();b.appRequests().getActionCall(d,function(a){b.msg.out(a);0===a.status&&void 0!==a.data.template&&void 0!==a.data.items&&m(a.data.template,{open:function(){var c=$("#ldap-results").find(".list-wrap").empty();a.data.items.forEach(function(a){c.append(b.appTheme().html.getList(a.items,a.icon))})}})})},"import":function(a){e.info("ldap:import");var c='<div id="alert"><p id="alert-text">'+b.config().LANG[57]+
|
||||
"</p></div>";mdlDialog().show({text:c,negative:{title:b.config().LANG[44],onClick:function(a){a.preventDefault();b.msg.error(b.config().LANG[44])}},positive:{title:b.config().LANG[43],onClick:function(c){c=$(a.data("src"));c.find("[name='sk']").val(b.sk.get());var d=b.appRequests().getRequestOpts();d.url=f.entrypoint+"?r="+a.data("action-route");d.data=c.serialize();b.appRequests().getActionCall(d,function(a){b.msg.out(a)})}}})}}}};
|
||||
|
||||
Reference in New Issue
Block a user