* [MOD] Plugins module icon is now on main menu

* [MOD] Code refactoring
This commit is contained in:
nuxsmin
2018-08-31 00:11:55 +02:00
parent b106ae6892
commit 42471b4680
13 changed files with 252 additions and 302 deletions

View File

@@ -132,7 +132,7 @@ final class PluginGrid extends GridBase
$gridActionSearch->setType(DataGridActionType::SEARCH_ITEM);
$gridActionSearch->setName('frmSearchPlugin');
$gridActionSearch->setTitle(__('Buscar Plugin'));
$gridActionSearch->setOnSubmitFunction('appMgmt/search');
$gridActionSearch->setOnSubmitFunction('plugin/search');
$gridActionSearch->addData('action-route', Acl::getActionRoute(ActionsInterface::PLUGIN_SEARCH));
return $gridActionSearch;
@@ -149,7 +149,7 @@ final class PluginGrid extends GridBase
$gridAction->setName(__('Ver Plugin'));
$gridAction->setTitle(__('Ver Plugin'));
$gridAction->setIcon($this->icons->getIconView());
$gridAction->setOnClickFunction('appMgmt/show');
$gridAction->setOnClickFunction('plugin/show');
$gridAction->setFilterRowSource('available', 0);
$gridAction->addData('action-route', Acl::getActionRoute(ActionsInterface::PLUGIN_VIEW));

View File

@@ -256,6 +256,7 @@ final class LayoutHelper extends HelperBase
public function getMenu(Acl $acl)
{
$icons = $this->theme->getIcons();
$actions = [];
$actionSearch = new DataGridAction();
$actionSearch->setId(ActionsInterface::ACCOUNT);
@@ -267,7 +268,7 @@ final class LayoutHelper extends HelperBase
'route' => Acl::getActionRoute(ActionsInterface::ACCOUNT)
]);
$this->view->append('actions', $actionSearch);
$actions[] = $actionSearch;
if ($acl->checkUserAccess(ActionsInterface::ACCOUNT_CREATE)) {
$actionNewAccount = new DataGridAction();
@@ -280,7 +281,7 @@ final class LayoutHelper extends HelperBase
'route' => Acl::getActionRoute(ActionsInterface::ACCOUNT_CREATE)
]);
$this->view->append('actions', $actionNewAccount);
$actions[] = $actionNewAccount;
}
if ($acl->checkUserAccess(ActionsInterface::ACCESS_MANAGE)) {
@@ -294,7 +295,7 @@ final class LayoutHelper extends HelperBase
'route' => Acl::getActionRoute(ActionsInterface::ACCESS_MANAGE)
]);
$this->view->append('actions', $actionAccessManager);
$actions[] = $actionAccessManager;
}
if ($acl->checkUserAccess(ActionsInterface::ITEMS_MANAGE)) {
@@ -308,7 +309,7 @@ final class LayoutHelper extends HelperBase
'route' => Acl::getActionRoute(ActionsInterface::ITEMS_MANAGE)
]);
$this->view->append('actions', $actionItemManager);
$actions[] = $actionItemManager;
}
if ($acl->checkUserAccess(ActionsInterface::CONFIG)) {
@@ -322,7 +323,7 @@ final class LayoutHelper extends HelperBase
'route' => Acl::getActionRoute(ActionsInterface::CONFIG)
]);
$this->view->append('actions', $actionConfigManager);
$actions[] = $actionConfigManager;
}
if ($acl->checkUserAccess(ActionsInterface::EVENTLOG) && $this->configData->isLogEnabled()) {
@@ -336,9 +337,24 @@ final class LayoutHelper extends HelperBase
'route' => Acl::getActionRoute(ActionsInterface::EVENTLOG)
]);
$this->view->append('actions', $actionEventlog);
$actions[] = $actionEventlog;
}
if ($acl->checkUserAccess(ActionsInterface::PLUGIN)) {
$actionPlugins = new DataGridAction();
$actionPlugins->setId(ActionsInterface::PLUGIN);
$actionPlugins->setTitle(__('Plugins'));
$actionPlugins->setIcon($icons->getIconByName('extension'));
$actionPlugins->setData([
'historyReset' => 1,
'view' => 'plugin',
'route' => Acl::getActionRoute(ActionsInterface::PLUGIN)
]);
$actions[] = $actionPlugins;
}
$this->view->assign('actions', $actions);
$this->view->assign('useMenu', true);
}

View File

@@ -34,7 +34,6 @@ use SP\Modules\Web\Controllers\Helpers\Grid\ClientGrid;
use SP\Modules\Web\Controllers\Helpers\Grid\CustomFieldGrid;
use SP\Modules\Web\Controllers\Helpers\Grid\FileGrid;
use SP\Modules\Web\Controllers\Helpers\Grid\ItemPresetGrid;
use SP\Modules\Web\Controllers\Helpers\Grid\PluginGrid;
use SP\Modules\Web\Controllers\Helpers\Grid\TagGrid;
use SP\Modules\Web\Controllers\Helpers\TabsGridHelper;
use SP\Services\Account\AccountFileService;
@@ -44,7 +43,6 @@ use SP\Services\Category\CategoryService;
use SP\Services\Client\ClientService;
use SP\Services\CustomField\CustomFieldDefService;
use SP\Services\ItemPreset\ItemPresetService;
use SP\Services\Plugin\PluginService;
use SP\Services\Tag\TagService;
/**
@@ -117,10 +115,6 @@ final class ItemManagerController extends ControllerBase
$this->tabsGridHelper->addTab($this->getItemPresetList());
}
if ($this->checkAccess(Acl::PLUGIN)) {
$this->tabsGridHelper->addTab($this->getPluginsList());
}
$this->eventDispatcher->notifyEvent('show.itemlist.items', new Event($this));
$this->tabsGridHelper->renderTabs(Acl::getActionRoute(Acl::ITEMS_MANAGE), $this->request->analyzeInt('tabIndex', 0));
@@ -240,20 +234,6 @@ final class ItemManagerController extends ControllerBase
->updatePager();
}
/**
* Returns plugins' data tab
*
* @return \SP\Html\DataGrid\DataGridTab
* @throws \SP\Core\Exceptions\ConstraintException
* @throws \SP\Core\Exceptions\QueryException
*/
protected function getPluginsList()
{
return $this->dic->get(PluginGrid::class)
->getGrid($this->dic->get(PluginService::class)->search($this->itemSearchData))
->updatePager();
}
/**
* @return TabsGridHelper
*/

View File

@@ -34,6 +34,7 @@ use SP\Http\JsonResponse;
use SP\Modules\Web\Controllers\Helpers\Grid\PluginGrid;
use SP\Modules\Web\Controllers\Traits\ItemTrait;
use SP\Modules\Web\Controllers\Traits\JsonTrait;
use SP\Plugin\PluginManager;
use SP\Services\Plugin\PluginService;
/**
@@ -98,7 +99,6 @@ final class PluginController extends ControllerBase
}
$this->view->addTemplate('datagrid-table', 'grid');
$this->view->assign('index', $this->request->analyzeInt('activetab', 0));
$this->view->assign('data', $this->getSearchGrid());
return $this->returnJsonResponseData(['html' => $this->render()]);
@@ -147,8 +147,10 @@ final class PluginController extends ControllerBase
$this->view->addTemplate('plugin');
$pluginData = $pluginId ? $this->pluginService->getById($pluginId) : new PluginData();
$pluginInfo = $this->dic->get(PluginManager::class)->getPluginInfo($pluginData->name);
$this->view->assign('plugin', $pluginData);
$this->view->assign('pluginInfo', $pluginInfo);
$this->view->assign('sk', $this->session->generateSecurityKey());
$this->view->assign('nextAction', Acl::getActionRoute(Acl::ITEMS_MANAGE));

View File

@@ -29,52 +29,46 @@ use SP\Core\UI\ThemeIcons;
use SP\Html\Assets\FontIcon;
$themeIcons = new ThemeIcons();
// Iconos de Acciones
$themeIcons->iconAdd = new FontIcon('add', 'mdl-color-text--indigo-A200', __u('Añadir'));
$themeIcons->iconView = new FontIcon('visibility', 'mdl-color-text--indigo-A200', __u('Ver Detalles'));
$themeIcons->iconViewPass = new FontIcon('lock_open', 'mdl-color-text--indigo-A200', __u('Ver Clave'));
$themeIcons->iconEdit = new FontIcon('mode_edit', 'mdl-color-text--amber-A200', __u('Editar'));
$themeIcons->iconDelete = new FontIcon('remove_circle', 'mdl-color-text--red-A200', __u('Eliminar'));
$themeIcons->iconEditPass = new FontIcon('lock_outline', 'mdl-color-text--amber-A200', __u('Cambiar Clave'));
$themeIcons->iconAppAdmin = new FontIcon('star', 'mdl-color-text--amber-A100', __u('Admin Aplicación'));
$themeIcons->iconAccAdmin = new FontIcon('star_half', 'mdl-color-text--amber-A100', __u('Admin Cuentas'));
$themeIcons->iconLdapUser = new FontIcon('business', 'mdl-color-text--deep-purple-A100', __u('Usuario de LDAP'));
$themeIcons->iconDisabled = new FontIcon('error', 'mdl-color-text--red-A100', __u('Deshabilitado'));
$themeIcons->iconEnabled = new FontIcon('check_circle', 'mdl-color-text--teal-500', __u('Habilitado'));
$themeIcons->iconRefresh = new FontIcon('refresh', 'mdl-color-text--teal-500', __u('Actualizar'));
$themeIcons->iconCopy = new FontIcon('content_copy', 'mdl-color-text--indigo-A200', __u('Copiar'));
$themeIcons->iconClipboard = new FontIcon('content_paste', 'mdl-color-text--indigo-A200');
$themeIcons->iconEmail = new FontIcon('email', 'mdl-color-text--indigo-A200', __u('Email'));
$themeIcons->iconOptional = new FontIcon('settings');
$themeIcons->iconPublicLink = new FontIcon('link', 'mdl-color-text--teal-500');
$themeIcons->iconBack = new FontIcon('arrow_back', 'mdl-color-text--indigo-A200', __u('Volver'));
$themeIcons->iconRestore = new FontIcon('restore', 'mdl-color-text--teal-500', __u('Restaurar'));
$themeIcons->iconSave = new FontIcon('save', 'mdl-color-text--teal-500', __u('Guardar'));
$themeIcons->iconHelp = new FontIcon('help_outline', 'mdl-color-text--indigo-A100', __u('Ayuda'));
$themeIcons->iconClear = new FontIcon('clear_all', 'mdl-color--indigo-A200', __u('Limpiar'));
$themeIcons->iconPlay = new FontIcon('play_circle_filled', 'mdl-color-text--teal-500', __u('Realizar'));
$themeIcons->iconDownload = new FontIcon('file_download', 'mdl-color-text--indigo-A200', __u('Descargar'));
$themeIcons->iconWarning = new FontIcon('warning', 'mdl-color-text--amber-A100', __u('Aviso'));
$themeIcons->iconCheck = new FontIcon('cached', 'mdl-color-text--indigo-A200', __u('Comprobar'));
$themeIcons->iconSearch = new FontIcon('search', 'mdl-color-text--indigo-A200', __u('Buscar'));
$themeIcons->iconAccount = new FontIcon('account_box', 'mdl-color-text--indigo-A200');
$themeIcons->iconGroup = new FontIcon('group_work', 'mdl-color-text--indigo-A200');
$themeIcons->iconSettings = new FontIcon('settings', 'mdl-color-text--indigo-A200', __u('Configuración'));
$themeIcons->iconHeadline = new FontIcon('view_headline', 'mdl-color-text--indigo-A200');
$themeIcons->iconInfo = new FontIcon('info_outline', 'mdl-color-text--indigo-A200', __u('Información'));
$themeIcons->iconCritical = new FontIcon('error_outline', 'mdl-color-text--red-A200', __u('Crítico'));
$themeIcons->iconNotices = new FontIcon('notifications', 'mdl-color-text--indigo-A200', __u('Notificaciones'));
$themeIcons->iconRemove = new FontIcon('remove', 'mdl-color-text--indigo-A200', __u('Eliminar'));
// Iconos de Navegación
$themeIcons->iconNavPrev = new FontIcon('chevron_left', null, __u('Página anterior'));
$themeIcons->iconNavNext = new FontIcon('chevron_right', null, __u('Página siguiente'));
$themeIcons->iconNavFirst = new FontIcon('arrow_back', null, __u('Primera página'));
$themeIcons->iconNavLast = new FontIcon('arrow_forward', null, __u('Última página'));
// Iconos de Ordenación
$themeIcons->iconUp = new FontIcon('arrow_drop_up');
$themeIcons->iconDown = new FontIcon('arrow_drop_down');
$themeIcons->addIcon('add', new FontIcon('add', 'mdl-color-text--indigo-A200', __u('Añadir')));
$themeIcons->addIcon('view', new FontIcon('visibility', 'mdl-color-text--indigo-A200', __u('Ver Detalles')));
$themeIcons->addIcon('viewPass', new FontIcon('lock_open', 'mdl-color-text--indigo-A200', __u('Ver Clave')));
$themeIcons->addIcon('edit', new FontIcon('mode_edit', 'mdl-color-text--amber-A200', __u('Editar')));
$themeIcons->addIcon('delete', new FontIcon('remove_circle', 'mdl-color-text--red-A200', __u('Eliminar')));
$themeIcons->addIcon('editPass', new FontIcon('lock_outline', 'mdl-color-text--amber-A200', __u('Cambiar Clave')));
$themeIcons->addIcon('appAdmin', new FontIcon('star', 'mdl-color-text--amber-A100', __u('Admin Aplicación')));
$themeIcons->addIcon('accAdmin', new FontIcon('star_half', 'mdl-color-text--amber-A100', __u('Admin Cuentas')));
$themeIcons->addIcon('ldapUser', new FontIcon('business', 'mdl-color-text--deep-purple-A100', __u('Usuario de LDAP')));
$themeIcons->addIcon('disabled', new FontIcon('error', 'mdl-color-text--red-A100', __u('Deshabilitado')));
$themeIcons->addIcon('enabled', new FontIcon('check_circle', 'mdl-color-text--teal-500', __u('Habilitado')));
$themeIcons->addIcon('refresh', new FontIcon('refresh', 'mdl-color-text--teal-500', __u('Actualizar')));
$themeIcons->addIcon('copy', new FontIcon('content_copy', 'mdl-color-text--indigo-A200', __u('Copiar')));
$themeIcons->addIcon('clipboard', new FontIcon('content_paste', 'mdl-color-text--indigo-A200'));
$themeIcons->addIcon('email', new FontIcon('email', 'mdl-color-text--indigo-A200', __u('Email')));
$themeIcons->addIcon('optional', new FontIcon('settings'));
$themeIcons->addIcon('publicLink', new FontIcon('link', 'mdl-color-text--teal-500'));
$themeIcons->addIcon('back', new FontIcon('arrow_back', 'mdl-color-text--indigo-A200', __u('Volver')));
$themeIcons->addIcon('restore', new FontIcon('restore', 'mdl-color-text--teal-500', __u('Restaurar')));
$themeIcons->addIcon('save', new FontIcon('save', 'mdl-color-text--teal-500', __u('Guardar')));
$themeIcons->addIcon('help', new FontIcon('help_outline', 'mdl-color-text--indigo-A100', __u('Ayuda')));
$themeIcons->addIcon('clear', new FontIcon('clear_all', 'mdl-color--indigo-A200', __u('Limpiar')));
$themeIcons->addIcon('play', new FontIcon('play_circle_filled', 'mdl-color-text--teal-500', __u('Realizar')));
$themeIcons->addIcon('download', new FontIcon('file_download', 'mdl-color-text--indigo-A200', __u('Descargar')));
$themeIcons->addIcon('warning', new FontIcon('warning', 'mdl-color-text--amber-A100', __u('Aviso')));
$themeIcons->addIcon('check', new FontIcon('cached', 'mdl-color-text--indigo-A200', __u('Comprobar')));
$themeIcons->addIcon('search', new FontIcon('search', 'mdl-color-text--indigo-A200', __u('Buscar')));
$themeIcons->addIcon('account', new FontIcon('account_box', 'mdl-color-text--indigo-A200'));
$themeIcons->addIcon('group', new FontIcon('group_work', 'mdl-color-text--indigo-A200'));
$themeIcons->addIcon('settings', new FontIcon('settings', 'mdl-color-text--indigo-A200', __u('Configuración')));
$themeIcons->addIcon('headline', new FontIcon('view_headline', 'mdl-color-text--indigo-A200'));
$themeIcons->addIcon('info', new FontIcon('info_outline', 'mdl-color-text--indigo-A200', __u('Información')));
$themeIcons->addIcon('critical', new FontIcon('error_outline', 'mdl-color-text--red-A200', __u('Crítico')));
$themeIcons->addIcon('notices', new FontIcon('notifications', 'mdl-color-text--indigo-A200', __u('Notificaciones')));
$themeIcons->addIcon('remove', new FontIcon('remove', 'mdl-color-text--indigo-A200', __u('Eliminar')));
$themeIcons->addIcon('previous', new FontIcon('chevron_left', null, __u('Página anterior')));
$themeIcons->addIcon('next', new FontIcon('chevron_right', null, __u('Página siguiente')));
$themeIcons->addIcon('first', new FontIcon('arrow_back', null, __u('Primera página')));
$themeIcons->addIcon('last', new FontIcon('arrow_forward', null, __u('Última página')));
$themeIcons->addIcon('up', new FontIcon('arrow_drop_up'));
$themeIcons->addIcon('down', new FontIcon('arrow_drop_down'));
return $themeIcons;

View File

@@ -6,8 +6,7 @@
* @var $action SP\Html\DataGrid\DataGridAction|SP\Html\DataGrid\DataGridActionSearch
*/
if (!isset($index)): $index = 0; endif;
?>
if (!isset($index)): $index = 0; endif; ?>
<div class="tab-actions">
<ul>
@@ -92,7 +91,7 @@ if (!isset($index)): $index = 0; endif;
<li class="btn-action mdl-menu__item"
data-selection="#data-table-<?php echo $data->getId(); ?>"
data-onclick="<?php echo $action->getOnClick(); ?>"
<?php foreach ($action->getData() as $dataName => $dataValue): echo 'data-', $dataName, '=', '"', $dataValue, '"'; endforeach; ?>>
<?php foreach ($action->getData() as $dataName => $dataValue): echo 'data-', $dataName, '=', '"', $dataValue, '"'; endforeach; ?>>
<i class="material-icons <?php echo $action->getIcon()->getClass(); ?>"><?php echo $action->getIcon()->getIcon(); ?></i>
<?php echo $action->getTitle(); ?>
</li>

View File

@@ -0,0 +1,4 @@
<h5 class="datagrid-header-title"><?php echo __('Plugins'); ?></h5>
<?php
/** @var \SP\Mvc\View\Template $this */
include $this->includeTemplate('datagrid-grid', 'grid');

View File

@@ -1,8 +1,11 @@
<?php
/** @var \SP\DataModel\PluginData $plugin */
/** @var \SP\Plugin\PluginInterface $pluginInfo */
/** @var \SP\Core\UI\ThemeIcons $icons */
/**
* @var \SP\DataModel\PluginData $plugin
* @var \SP\Plugin\PluginInterface $pluginInfo
* @var \SP\Core\UI\ThemeIcons $icons
*/
?>
<div id="box-popup">
<h2 class="center"><?php echo $header; ?><i class="btn-popup-close material-icons">close</i></h2>
@@ -15,7 +18,7 @@
<div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label">
<input id="name" name="name" type="text"
class="mdl-textfield__input mdl-color-text--indigo-400"
value="<?php echo $plugin->getName(); ?>" <?php echo $isReadonly; ?>>
value="<?php echo $plugin->getName(); ?>" <?php echo $readonly; ?>>
<label class="mdl-textfield__label"
for="name"><?php echo __('Nombre del plugin'); ?></label>
</div>
@@ -27,7 +30,7 @@
<div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label">
<input id="version" name="version" type="text"
class="mdl-textfield__input mdl-color-text--indigo-400"
value="<?php echo implode('.', $pluginInfo->getVersion()); ?>" <?php echo $isReadonly; ?>>
value="<?php echo implode('.', $pluginInfo->getVersion()); ?>" <?php echo $readonly; ?>>
<label class="mdl-textfield__label"
for="version"><?php echo __('Versión del plugin'); ?></label>
</div>
@@ -39,7 +42,7 @@
<div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label">
<input id="compatible_version" name="compatible_version" type="text"
class="mdl-textfield__input mdl-color-text--indigo-400"
value="<?php echo implode('.', $pluginInfo->getCompatibleVersion()); ?>" <?php echo $isReadonly; ?>>
value="<?php echo implode('.', $pluginInfo->getCompatibleVersion()); ?>" <?php echo $readonly; ?>>
<label class="mdl-textfield__label"
for="compatible_version"><?php echo __('Versión de sysPass compatible'); ?></label>
</div>
@@ -51,7 +54,7 @@
<div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label">
<input id="author" name="author" type="text"
class="mdl-textfield__input mdl-color-text--indigo-400"
value="<?php echo $pluginInfo->getAuthor(); ?>" <?php echo $isReadonly; ?>>
value="<?php echo $pluginInfo->getAuthor(); ?>" <?php echo $readonly; ?>>
<label class="mdl-textfield__label"
for="author"><?php echo __('Autor del plugin'); ?></label>
</div>

View File

@@ -163,7 +163,9 @@ final class Theme implements ThemeInterface
private function initIcons()
{
try {
if (!$this->fileCache->isExpired(self::ICONS_CACHE_FILE, self::CACHE_EXPIRE)) {
if ($this->context->getAppStatus() !== SessionContext::APP_STATUS_RELOADED
&& !$this->fileCache->isExpired(self::ICONS_CACHE_FILE, self::CACHE_EXPIRE)
) {
$this->icons = $this->fileCache->load(self::ICONS_CACHE_FILE);
logger('Loaded icons cache', 'INFO');

View File

@@ -25,7 +25,7 @@
namespace SP\Core\UI;
use SP\Html\Assets\FontIcon;
use SP\Html\Assets\ImageIcon;
use SP\Html\Assets\IconInterface;
defined('APP_ROOT') || die();
@@ -36,414 +36,359 @@ defined('APP_ROOT') || die();
*/
class ThemeIcons
{
/** @var FontIcon|ImageIcon */
public $iconAdd;
/** @var FontIcon|ImageIcon */
public $iconView;
/** @var FontIcon|ImageIcon */
public $iconEdit;
/** @var FontIcon|ImageIcon */
public $iconDelete;
/** @var FontIcon|ImageIcon */
public $iconNavPrev;
/** @var FontIcon|ImageIcon */
public $iconNavNext;
/** @var FontIcon|ImageIcon */
public $iconNavFirst;
/** @var FontIcon|ImageIcon */
public $iconNavLast;
/** @var FontIcon|ImageIcon */
public $iconEditPass;
/** @var FontIcon|ImageIcon */
public $iconAppAdmin;
/** @var FontIcon|ImageIcon */
public $iconAccAdmin;
/** @var FontIcon|ImageIcon */
public $iconLdapUser;
/** @var FontIcon|ImageIcon */
public $iconDisabled;
/** @var FontIcon|ImageIcon */
public $iconEnabled;
/** @var FontIcon|ImageIcon */
public $iconViewPass;
/** @var FontIcon|ImageIcon */
public $iconCopy;
/** @var FontIcon|ImageIcon */
public $iconClipboard;
/** @var FontIcon|ImageIcon */
public $iconEmail;
/** @var FontIcon|ImageIcon */
public $iconOptional;
/** @var FontIcon|ImageIcon */
public $iconUp;
/** @var FontIcon|ImageIcon */
public $iconDown;
/** @var FontIcon|ImageIcon */
public $iconRefresh;
/** @var FontIcon|ImageIcon */
public $iconPublicLink;
/** @var FontIcon|ImageIcon */
public $iconBack;
/** @var FontIcon|ImageIcon */
public $iconRestore;
/** @var FontIcon|ImageIcon */
public $iconSave;
/** @var FontIcon|ImageIcon */
public $iconHelp;
/** @var FontIcon|ImageIcon */
public $iconClear;
/** @var FontIcon|ImageIcon */
public $iconPlay;
/** @var FontIcon|ImageIcon */
public $iconDownload;
/** @var FontIcon|ImageIcon */
public $iconWarning;
/** @var FontIcon|ImageIcon */
public $iconCheck;
/** @var FontIcon|ImageIcon */
public $iconSearch;
/** @var FontIcon|ImageIcon */
public $iconAccount;
/** @var FontIcon|ImageIcon */
public $iconGroup;
/** @var FontIcon|ImageIcon */
public $iconSettings;
/** @var FontIcon|ImageIcon */
public $iconHeadline;
/** @var FontIcon|ImageIcon */
public $iconInfo;
/** @var FontIcon|ImageIcon */
public $iconCritical;
/** @var FontIcon|ImageIcon */
public $iconNotices;
/** @var FontIcon|ImageIcon */
public $iconRemove;
/**
* @var IconInterface[]
*/
private $icons = [];
/**
* @return FontIcon|ImageIcon
* @return IconInterface
*/
public function getIconWarning()
{
return $this->iconWarning;
return $this->getIconByName('warning');
}
/**
* @return FontIcon|ImageIcon
* @param string $name
*
* @return IconInterface
*/
public function getIconByName(string $name)
{
if (isset($this->icons[$name])) {
return $this->icons[$name];
}
return new FontIcon($name, 'mdl-color-text--indigo-A200');
}
/**
* @return IconInterface
*/
public function getIconDownload()
{
return $this->iconDownload;
return $this->getIconByName('download');
}
/**
* @return FontIcon|ImageIcon
* @return IconInterface
*/
public function getIconClear()
{
return $this->iconClear;
return $this->getIconByName('clear');
}
/**
* @return FontIcon|ImageIcon
* @return IconInterface
*/
public function getIconPlay()
{
return $this->iconPlay;
return $this->getIconByName('play');
}
/**
* @return FontIcon|ImageIcon
* @return IconInterface
*/
public function getIconHelp()
{
return $this->iconHelp;
return $this->getIconByName('help');
}
/**
* @return FontIcon|ImageIcon
* @return IconInterface
*/
public function getIconPublicLink()
{
return $this->iconPublicLink;
return $this->getIconByName('publicLink');
}
/**
* @return FontIcon|ImageIcon
* @return IconInterface
*/
public function getIconBack()
{
return $this->iconBack;
return $this->getIconByName('back');
}
/**
* @return FontIcon|ImageIcon
* @return IconInterface
*/
public function getIconRestore()
{
return $this->iconRestore;
return $this->getIconByName('restore');
}
/**
* @return FontIcon|ImageIcon
* @return IconInterface
*/
public function getIconSave()
{
return $this->iconSave;
return $this->getIconByName('save');
}
/**
* @return FontIcon|ImageIcon
* @return IconInterface
*/
public function getIconUp()
{
return $this->iconUp;
return $this->getIconByName('up');
}
/**
* @return FontIcon|ImageIcon
* @return IconInterface
*/
public function getIconDown()
{
return $this->iconDown;
return $this->getIconByName('down');
}
/**
* @return FontIcon|ImageIcon
* @return IconInterface
*/
public function getIconViewPass()
{
return $this->iconViewPass;
return $this->getIconByName('viewPass');
}
/**
* @return FontIcon|ImageIcon
* @return IconInterface
*/
public function getIconCopy()
{
return $this->iconCopy;
return $this->getIconByName('copy');
}
/**
* @return FontIcon|ImageIcon
* @return IconInterface
*/
public function getIconClipboard()
{
return $this->iconClipboard;
return $this->getIconByName('clipboard');
}
/**
* @return FontIcon|ImageIcon
* @return IconInterface
*/
public function getIconEmail()
{
return $this->iconEmail;
return $this->getIconByName('email');
}
/**
* @return FontIcon|ImageIcon
* @return IconInterface
*/
public function getIconRefresh()
{
return $this->iconRefresh;
return $this->getIconByName('refresh');
}
/**
* @return FontIcon|ImageIcon
* @return IconInterface
*/
public function getIconEditPass()
{
return $this->iconEditPass;
return $this->getIconByName('editPass');
}
/**
* @return FontIcon|ImageIcon
* @return IconInterface
*/
public function getIconAppAdmin()
{
return $this->iconAppAdmin;
return $this->getIconByName('appAdmin');
}
/**
* @return FontIcon|ImageIcon
* @return IconInterface
*/
public function getIconAccAdmin()
{
return $this->iconAccAdmin;
return $this->getIconByName('accAdmin');
}
/**
* @return FontIcon|ImageIcon
* @return IconInterface
*/
public function getIconLdapUser()
{
return $this->iconLdapUser;
return $this->getIconByName('ldapUser');
}
/**
* @return FontIcon|ImageIcon
* @return IconInterface
*/
public function getIconDisabled()
{
return $this->iconDisabled;
return $this->getIconByName('disabled');
}
/**
* @return FontIcon|ImageIcon
* @return IconInterface
*/
public function getIconNavPrev()
{
return $this->iconNavPrev;
return $this->getIconByName('previous');
}
/**
* @return FontIcon|ImageIcon
* @return IconInterface
*/
public function getIconNavNext()
{
return $this->iconNavNext;
return $this->getIconByName('next');
}
/**
* @return FontIcon|ImageIcon
* @return IconInterface
*/
public function getIconNavFirst()
{
return $this->iconNavFirst;
return $this->getIconByName('first');
}
/**
* @return FontIcon|ImageIcon
* @return IconInterface
*/
public function getIconNavLast()
{
return $this->iconNavLast;
return $this->getIconByName('last');
}
/**
* @return FontIcon|ImageIcon
* @return IconInterface
*/
public function getIconAdd()
{
return $this->iconAdd;
return $this->getIconByName('add');
}
/**
* @return FontIcon|ImageIcon
* @return IconInterface
*/
public function getIconView()
{
return $this->iconView;
return $this->getIconByName('view');
}
/**
* @return FontIcon|ImageIcon
* @return IconInterface
*/
public function getIconEdit()
{
return $this->iconEdit;
return $this->getIconByName('edit');
}
/**
* @return FontIcon|ImageIcon
* @return IconInterface
*/
public function getIconDelete()
{
return $this->iconDelete;
return $this->getIconByName('delete');
}
/**
* @return FontIcon|ImageIcon
* @return IconInterface
*/
public function getIconOptional()
{
return $this->iconOptional;
return $this->getIconByName('optional');
}
/**
* @return FontIcon|ImageIcon
* @return IconInterface
*/
public function getIconCheck()
{
return $this->iconCheck;
return $this->getIconByName('check');
}
/**
* @return FontIcon|ImageIcon
* @return IconInterface
*/
public function getIconSearch()
{
return $this->iconSearch;
return $this->getIconByName('search');
}
/**
* @return FontIcon|ImageIcon
* @return IconInterface
*/
public function getIconAccount()
{
return $this->iconAccount;
return $this->getIconByName('account');
}
/**
* @return FontIcon|ImageIcon
* @return IconInterface
*/
public function getIconGroup()
{
return $this->iconGroup;
return $this->getIconByName('group');
}
/**
* @return FontIcon|ImageIcon
* @return IconInterface
*/
public function getIconSettings()
{
return $this->iconSettings;
return $this->getIconByName('settings');
}
/**
* @return FontIcon|ImageIcon
* @return IconInterface
*/
public function getIconHeadline()
{
return $this->iconHeadline;
return $this->getIconByName('headline');
}
/**
* @return FontIcon|ImageIcon
* @return IconInterface
*/
public function getIconInfo()
{
return $this->iconInfo;
return $this->getIconByName('info');
}
/**
* @return FontIcon|ImageIcon
* @return IconInterface
*/
public function getIconCritical()
{
return $this->iconCritical;
return $this->getIconByName('critical');
}
/**
* @return FontIcon|ImageIcon
* @return IconInterface
*/
public function getIconEnabled()
{
return $this->iconEnabled;
return $this->getIconByName('enabled');
}
/**
* @return FontIcon|ImageIcon
* @return IconInterface
*/
public function getIconNotices()
{
return $this->iconNotices;
return $this->getIconByName('notices');
}
/**
* @return FontIcon|ImageIcon
* @return IconInterface
*/
public function getIconRemove()
{
return $this->iconRemove;
return $this->getIconByName('remove');
}
/**
* @param string $alias
* @param IconInterface $icon
*/
public function addIcon(string $alias, IconInterface $icon)
{
$this->icons[$alias] = $icon;
}
}

View File

@@ -1348,6 +1348,38 @@ sysPass.Actions = function (Common) {
}
}
});
},
search: function ($obj) {
log.info("plugin:search");
grid.search($obj);
},
show: function ($obj) {
log.info("plugin:show");
appMgmt.show($obj);
},
save: function ($obj) {
log.info("plugin:save");
const opts = Common.appRequests().getRequestOpts();
opts.url = ajaxUrl.entrypoint + "?r=" + $obj.data("route");
opts.data = $obj.serialize();
Common.appRequests().getActionCall(opts, function (json) {
Common.msg.out(json);
if (json.status === 0) {
getContent({r: $obj.data("action-next")});
$.magnificPopup.close();
}
});
},
nav: function ($obj) {
log.info("plugin:nav");
grid.nav($obj);
}
};

View File

@@ -1,49 +1,49 @@
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)};
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 n=b[g];if(e.call(l,n,g,b))return{i:g,v:n}}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?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})}};
$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})},w=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=
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)})},n=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})},w=function(a,c){var d=$('<div id="box-popup" class="image">'+c+"</div>"),h=d.find("img");if(0===h.length)return n(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"),
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:viewPass");var c=a.data("parent-id")||0,d=0===c?a.data("item-id"):c,h=b.appRequests().getRequestOpts();h.url=f.entrypoint;h.method="get";h.data={r:a.data("action-route")+"/"+d+"/"+c,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()},
p.search(a)})}}})},viewPass:function(a){e.info("account:viewPass");var c=a.data("parent-id")||0,d=0===c?a.data("item-id"):c,h=b.appRequests().getRequestOpts();h.url=f.entrypoint;h.method="get";h.data={r:a.data("action-route")+"/"+d+"/"+c,sk:b.sk.get(),isAjax:1};b.appRequests().getActionCall(h,function(a){0!==a.status?b.msg.out(a):(a=$(a.data.html),n(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)}))})},viewPassHistory:function(a){e.info("account:viewPassHistory");p.viewPass(a)},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,sk:b.sk.get(),isAjax:1};return b.appRequests().getActionCall(d)},copyPassHistory:function(a){e.info("account:copyPassHistory");p.copyPassHistory(a)},
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,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();$("select.select-box-tags[data-hash][data-updated=true]").each(function(a,b){c.data+="&"+b.getAttribute("id")+"_update=1"});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=
c.url=f.entrypoint+"?r="+a.data("action-route")+"/"+a.data("item-id");c.data=a.serialize();$("select.select-box-tags[data-hash][data-updated=true]").each(function(a,b){c.data+="&"+b.getAttribute("id")+"_update=1"});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")})}},t={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()})})},update:function(a){e.info("items:update");var c=$("#"+a.data("item-dst"))[0].selectize;c.clearOptions();c.load(function(c){var d=b.appRequests().getRequestOpts();d.url=f.entrypoint;d.method="get";d.data={r:a.data("item-route"),sk:b.sk.get()};
b.appRequests().getActionCall(d,function(a){c(a)})})}},u={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(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();
b.appRequests().getActionCall(d,function(a){c(a)})})}},v={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(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){var d;(c=
a.find("input[name='taskId']").val())&&(d=t(c));var e=b.appRequests().getRequestOpts();e.url=f.entrypoint+"?r="+a.data("action-route");e.method="get";e.useFullLoading=!!c;e.data=a.serialize();b.appRequests().getActionCall(e,function(c){b.msg.out(c);0!==c.status?a.find(":input[name=key]").val(""):(void 0!==d&&d.close(),setTimeout(function(){b.redirect("index.php")},5E3))})}}})},getUpdates:function(){e.info("main:getUpdates");var a=b.appRequests().getRequestOpts();a.url=f.entrypoint+"?r=status/checkRelease";
a.find("input[name='taskId']").val())&&(d=u(c));var e=b.appRequests().getRequestOpts();e.url=f.entrypoint+"?r="+a.data("action-route");e.method="get";e.useFullLoading=!!c;e.data=a.serialize();b.appRequests().getActionCall(e,function(c){b.msg.out(c);0!==c.status?a.find(":input[name=key]").val(""):(void 0!==d&&d.close(),setTimeout(function(){b.redirect("index.php")},5E3))})}}})},getUpdates:function(){e.info("main:getUpdates");var a=b.appRequests().getRequestOpts();a.url=f.entrypoint+"?r=status/checkRelease";
a.method="get";a.timeout=1E4;a.useLoading=!1;a.data={isAjax:1};var c=$("#updates");b.appRequests().getActionCall(a,function(a){0===a.status?0<a.data.length?c.html('<a id="link-updates" href="'+a.data.url+'" target="_blank">'+a.data.title+'<div id="help-hasupdates" class="icon material-icons mdl-color-text--indigo-200">cloud_download</div></a><span for="link-updates" class="mdl-tooltip mdl-tooltip--top mdl-tooltip--large">'+a.data.description+"</span>"):c.html('<div id="updates-info" class="icon material-icons mdl-color-text--teal-200">check_circle</div><span for="updates-info" class="mdl-tooltip mdl-tooltip--top mdl-tooltip--large">'+
b.config().LANG[68]+"</span>"):c.html('<div id="updates-info" class="icon material-icons mdl-color-text--amber-200">warning</div><span for="updates-info" class="mdl-tooltip mdl-tooltip--top mdl-tooltip--large">'+b.config().LANG[69]+"</span>");void 0!==componentHandler&&componentHandler.upgradeDom()},function(){c.html('<div id="updates-info" class="icon material-icons mdl-color-text--amber-200">warning</div><span for="updates-info" class="mdl-tooltip mdl-tooltip--top mdl-tooltip--large">'+b.config().LANG[69]+
"</span>")})},getNotices:function(){e.info("main:getNotices");var a=b.appRequests().getRequestOpts();a.url=f.entrypoint+"?r=status/checkNotices";a.method="get";a.timeout=1E4;a.useLoading=!1;a.data={isAjax:1};var c=$("#notices");b.appRequests().getActionCall(a,function(a){0===a.status&&0<a.data.length&&c.html('<a href="https://github.com/nuxsmin/sysPass/labels/Notices" target="_blank"><div id="notices-info" class="material-icons mdl-badge mdl-badge--overlap mdl-color-text--amber-200" data-badge="'+
a.data.length+'">feedback</div></a><span for="notices-info" class="mdl-tooltip mdl-tooltip--top mdl-tooltip--large"><div class="notices-title">'+b.config().LANG[70]+"</div>"+a.data.map(function(a){return a.title}).join("<br>")+"</span>");void 0!==componentHandler&&componentHandler.upgradeDom()})}},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()+"&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?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")},2E3)))})}},v={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");console.info(d);var h=b.appRequests().getRequestOpts();h.url=f.entrypoint;h.method="get";h.data={r:a.data("action-route")+(0<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");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>",h=a.data("selection"),e=[];if(h&&($(h).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)}}})}},t=function(a){var c=$("#taskStatus");c.empty().html(b.config().LANG[62]);var d=b.appRequests().getRequestOpts();d.method="get";d.url=f.entrypoint+"?r=task/runTask/"+a;return b.appRequests().getActionEvent(d,function(a){a=a.task+" - "+a.message+" - "+a.time+" - "+a.progress+"%";a+="<br>"+b.config().LANG[62];c.empty().html(a)})};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:v,account:p,accountManager:{restore:function(a){e.info("accountManager:restore");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")+
(e.info("reload"),setTimeout(function(){b.redirect("index.php")},2E3)))})}},r={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");n(c.data.html,{open:function(){d&&(k.state.tab.refresh=!1)},close:function(){d&&t.update(a)}})}})},"delete":function(a){e.info("appMgmt:delete");
k.state.update(a);m["delete"](a,function(c){var d=a.data("item-id");console.info(d);var h=b.appRequests().getRequestOpts();h.url=f.entrypoint;h.method="get";h.data={r:a.data("action-route")+(0<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");m.search(a)},nav:function(a){e.info("appMgmt:nav");
m.nav(a)}},m={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):m.search(d)},"delete":function(a,c){var d='<div id="alert"><p id="alert-text">'+b.config().LANG[12]+"</p></div>",h=a.data("selection"),e=[];if(h&&($(h).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)}}})}},u=function(a){var c=$("#taskStatus");c.empty().html(b.config().LANG[62]);var d=b.appRequests().getRequestOpts();d.method="get";d.url=f.entrypoint+"?r=task/runTask/"+a;return b.appRequests().getActionEvent(d,function(a){a=a.task+" - "+a.message+" - "+a.time+" - "+a.progress+"%";a+="<br>"+b.config().LANG[62];c.empty().html(a)})};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:r,account:p,accountManager:{restore:function(a){e.info("accountManager:restore");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}))})}},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(0!==c.status)return b.msg.out(c);w(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){var d;(c=a.find("input[name='taskId']").val())&&(d=t(c));var e=b.appRequests().getRequestOpts();e.url=f.entrypoint;e.useFullLoading=!!c;e.data=a.serialize();b.appRequests().getActionCall(e,
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){var d;(c=a.find("input[name='taskId']").val())&&(d=u(c));var e=b.appRequests().getRequestOpts();e.url=f.entrypoint;e.useFullLoading=!!c;e.data=a.serialize();b.appRequests().getActionCall(e,
function(c){b.msg.out(c);a.find(":input[type=password]").val("");void 0!==d&&d.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()+"&sk="+b.sk.get();b.appRequests().getActionCall(c,function(a){b.msg.out(a);0===a.status&&g({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()+"&sk="+b.sk.get();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)})},mailCheck:function(a){e.info("config:mailCheck");var c=$(a.data("src")),d=b.appRequests().getRequestOpts();
d.url=f.entrypoint+"?r="+a.data("action-route");d.data=c.serialize()+"&sk="+b.sk.get();b.appRequests().getActionCall(d,function(a){b.msg.out(a)})}},main:u,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?u.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();
d.url=f.entrypoint+"?r="+a.data("action-route");d.data=c.serialize()+"&sk="+b.sk.get();b.appRequests().getActionCall(d,function(a){b.msg.out(a)})}},main:v,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?v.logout():n(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();
d?e.url=f.entrypoint+"?r="+a.data("action-route")+"/"+d+"/"+c:(e.url=f.entrypoint+"?r="+a.data("action-route"),e.data=a.serialize());b.appRequests().getActionCall(e,function(c){b.msg.out(c);0===c.status&&g({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"))?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)},
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");m.search(a)},nav:function(a){e.info("eventlog:nav");m.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("action-next")});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("action-next")});b.sk.set(c.csrf)})},search:function(a){e.info("notification:search");n.search(a)},show:function(a){e.info("notification:show");v.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("action-next")}),$.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("action-next")})})})},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")),d=b.appRequests().getRequestOpts();d.url=f.entrypoint+"?r="+a.data("action-route");d.data=c.serialize()+"&sk="+b.sk.get();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"));var d=b.appRequests().getRequestOpts();d.url=f.entrypoint+"?r="+a.data("action-route");
d.data=c.serialize()+"&sk="+b.sk.get();b.appRequests().getActionCall(d,function(a){b.msg.out(a)})}}})}}}};
k.save(a)}}})},search:function(a){e.info("plugin:search");m.search(a)},show:function(a){e.info("plugin:show");r.show(a)},save:function(a){e.info("plugin: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("action-next")}),$.magnificPopup.close())})},nav:function(a){e.info("plugin:nav");m.nav(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("action-next")});b.sk.set(c.csrf)})},search:function(a){e.info("notification:search");m.search(a)},show:function(a){e.info("notification:show");r.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("action-next")}),$.magnificPopup.close())})},"delete":function(a){e.info("notification:delete");m["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("action-next")})})})},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");m.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):
n(a.data.html)})}},items:t,ldap:{check:function(a){e.info("ldap:check");var c=$(a.data("src")),d=b.appRequests().getRequestOpts();d.url=f.entrypoint+"?r="+a.data("action-route");d.data=c.serialize()+"&sk="+b.sk.get();b.appRequests().getActionCall(d,function(a){b.msg.out(a);0===a.status&&void 0!==a.data.template&&void 0!==a.data.items&&n(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"));var d=b.appRequests().getRequestOpts();d.url=f.entrypoint+"?r="+a.data("action-route");d.data=c.serialize()+"&sk="+b.sk.get();b.appRequests().getActionCall(d,function(a){b.msg.out(a)})}}})}}}};

View File

@@ -1,30 +1,3 @@
<!--
~ sysPass
~
~ @author nuxsmin
~ @link http://syspass.org
~ @copyright 2012-2017, Rubén Domínguez nuxsmin@$syspass.org
~
~ This file is part of sysPass.
~
~ sysPass is free software: you can redistribute it and/or modify
~ it under the terms of the GNU General Public License as published by
~ the Free Software Foundation, either version 3 of the License, or
~ (at your option) any later version.
~
~ sysPass is distributed in the hope that it will be useful,
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
~ GNU General Public License for more details.
~
~ You should have received a copy of the GNU General Public License
~ along with sysPass. If not, see <http://www.gnu.org/licenses/>.
-->
<!DOCTYPE html>
<html lang="en" class=" is-copy-enabled">
<head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# object: http://ogp.me/ns/object# article: http://ogp.me/ns/article# profile: http://ogp.me/ns/profile#">