diff --git a/app/modules/web/Controllers/Helpers/Account/AccountActionsDto.php b/app/modules/web/Controllers/Helpers/Account/AccountActionsDto.php index cdb84952..b2bbb663 100644 --- a/app/modules/web/Controllers/Helpers/Account/AccountActionsDto.php +++ b/app/modules/web/Controllers/Helpers/Account/AccountActionsDto.php @@ -44,9 +44,13 @@ final class AccountActionsDto */ private $accountParentId; /** - * @var bool + * @var int */ private $publicLinkId; + /** + * @var int + */ + private $publicLinkCreatorId; /** * AccountActionsDto constructor. @@ -103,7 +107,7 @@ final class AccountActionsDto } /** - * @return bool + * @return int */ public function getPublicLinkId() { @@ -111,10 +115,26 @@ final class AccountActionsDto } /** - * @param bool $publicLinkId + * @param int $publicLinkId */ - public function setPublicLinkId($publicLinkId) + public function setPublicLinkId(int $publicLinkId) { - $this->publicLinkId = (int)$publicLinkId; + $this->publicLinkId = $publicLinkId; + } + + /** + * @return int + */ + public function getPublicLinkCreatorId() + { + return $this->publicLinkCreatorId; + } + + /** + * @param int $publicLinkCreatorId + */ + public function setPublicLinkCreatorId(int $publicLinkCreatorId) + { + $this->publicLinkCreatorId = $publicLinkCreatorId; } } \ No newline at end of file diff --git a/app/modules/web/Controllers/Helpers/Account/AccountActionsHelper.php b/app/modules/web/Controllers/Helpers/Account/AccountActionsHelper.php index 1429deda..82452612 100644 --- a/app/modules/web/Controllers/Helpers/Account/AccountActionsHelper.php +++ b/app/modules/web/Controllers/Helpers/Account/AccountActionsHelper.php @@ -73,12 +73,12 @@ final class AccountActionsHelper extends HelperBase /** * Set icons for view * - * @param \SP\Services\Account\AccountAcl $accountAcl - * @param AccountActionsDto $accountActionsDto + * @param AccountAcl $accountAcl + * @param AccountActionsDto $accountActionsDto * * @return DataGridAction[] */ - public function getActionsForAccount(\SP\Services\Account\AccountAcl $accountAcl, AccountActionsDto $accountActionsDto) + public function getActionsForAccount(AccountAcl $accountAcl, AccountActionsDto $accountActionsDto) { $actions = []; @@ -249,13 +249,15 @@ final class AccountActionsHelper extends HelperBase /** * Set icons for view * - * @param \SP\Services\Account\AccountAcl $accountAcl - * @param AccountActionsDto $accountActionsDto + * @param AccountAcl $accountAcl + * @param AccountActionsDto $accountActionsDto * * @return DataGridAction[] */ public function getActionsGrouppedForAccount(AccountAcl $accountAcl, AccountActionsDto $accountActionsDto) { + $userData = $this->context->getUserData(); + $actions = []; if ($accountAcl->isShowDelete()) { @@ -268,10 +270,30 @@ final class AccountActionsHelper extends HelperBase && $accountAcl->isShowLink() && $accountAcl->isShowViewPass() ) { - $action = $accountActionsDto->getPublicLinkId() ? $this->getPublicLinkRefreshAction() : $this->getPublicLinkAction(); - $itemId = $accountActionsDto->getPublicLinkId() ?: $accountActionsDto->getAccountId(); + $itemId = $accountActionsDto->getPublicLinkId(); - $actions[] = $action->addData('item-id', $itemId); + if ($itemId) { + $actionRefresh = $this->getPublicLinkRefreshAction(); + $actionRefresh->addData('item-id', $itemId); + $actionRefresh->addData('account-id', $accountActionsDto->getAccountId()); + + $actions[] = $actionRefresh; + + if ($userData->getIsAdminApp() + || $userData->getId() === $accountActionsDto->getPublicLinkCreatorId() + ) { + $actionDelete = $this->getPublicLinkDeleteAction(); + $actionDelete->addData('item-id', $itemId); + $actionDelete->addData('account-id', $accountActionsDto->getAccountId()); + + $actions[] = $actionDelete; + } + } else { + $action = $this->getPublicLinkAction(); + $action->addData('account-id', $accountActionsDto->getAccountId()); + + $actions[] = $action; + } } if ($accountAcl->isShowViewPass()) { @@ -342,6 +364,29 @@ final class AccountActionsHelper extends HelperBase return $action; } + /** + * @return DataGridAction + */ + public function getPublicLinkDeleteAction() + { + $icon = clone $this->icons->getIconPublicLink(); + $icon->setIcon('link_off'); + + $action = new DataGridAction(); + $action->setId(ActionsInterface::PUBLICLINK_DELETE); + $action->setName(__('Eliminar Enlace Público')); + $action->setTitle(__('Eliminar Enlace Público')); + $action->addClass('btn-action'); + $action->setIcon($icon); + $action->addData('action-route', Acl::getActionRoute(ActionsInterface::PUBLICLINK_DELETE)); + $action->addData('action-sk', $this->sk); + $action->addData('onclick', 'link/delete'); + $action->addData('action-next', Acl::getActionRoute(ActionsInterface::ACCOUNT_VIEW)); + $action->addAttribute('type', 'button'); + + return $action; + } + /** * @return DataGridAction */ diff --git a/app/modules/web/Controllers/Helpers/Account/AccountHelper.php b/app/modules/web/Controllers/Helpers/Account/AccountHelper.php index 1b90b601..a6a6c0d8 100644 --- a/app/modules/web/Controllers/Helpers/Account/AccountHelper.php +++ b/app/modules/web/Controllers/Helpers/Account/AccountHelper.php @@ -168,6 +168,7 @@ final class AccountHelper extends HelperBase try { $publicLinkData = $this->publicLinkService->getHashForItem($this->accountId); $accountActionsDto->setPublicLinkId($publicLinkData->getId()); + $accountActionsDto->setPublicLinkCreatorId($publicLinkData->getUserId()); $this->view->assign('publicLinkUrl', PublicLinkService::getLinkForHash($publicLinkData->getHash())); $this->view->assign('publicLinkId', $publicLinkData->getId()); diff --git a/app/modules/web/Controllers/PublicLinkController.php b/app/modules/web/Controllers/PublicLinkController.php index 68ef748d..6cbbb51a 100644 --- a/app/modules/web/Controllers/PublicLinkController.php +++ b/app/modules/web/Controllers/PublicLinkController.php @@ -59,6 +59,9 @@ final class PublicLinkController extends ControllerBase implements CrudControlle /** * Search action * + * @return bool + * @throws \DI\DependencyException + * @throws \DI\NotFoundException * @throws \SP\Core\Exceptions\ConstraintException * @throws \SP\Core\Exceptions\QueryException */ @@ -79,6 +82,8 @@ final class PublicLinkController extends ControllerBase implements CrudControlle * getSearchGrid * * @return $this + * @throws \DI\DependencyException + * @throws \DI\NotFoundException * @throws \SP\Core\Exceptions\ConstraintException * @throws \SP\Core\Exceptions\QueryException */ diff --git a/lib/SP/Services/Install/Installer.php b/lib/SP/Services/Install/Installer.php index 8e301321..504ddbb0 100644 --- a/lib/SP/Services/Install/Installer.php +++ b/lib/SP/Services/Install/Installer.php @@ -57,7 +57,7 @@ final class Installer extends Service */ const VERSION = [3, 0, 0]; const VERSION_TEXT = '3.0-beta'; - const BUILD = 18100701; + const BUILD = 18100801; /** * @var DatabaseSetupInterface diff --git a/public/js/app-actions.js b/public/js/app-actions.js index 25027f93..f1d6c02f 100644 --- a/public/js/app-actions.js +++ b/public/js/app-actions.js @@ -1003,12 +1003,12 @@ sysPass.Actions = function (log) { log.info("link:save"); const request = function (notify) { - const itemId = $obj.data("item-id"); + const accountId = $obj.data("account-id"); const opts = sysPassApp.requests.getRequestOpts(); - if (itemId) { - opts.url = ajaxUrl.entrypoint + "?r=" + $obj.data("action-route") + "/" + itemId + "/" + notify; + if (accountId) { + opts.url = ajaxUrl.entrypoint + "?r=" + $obj.data("action-route") + "/" + accountId + "/" + notify; } else { opts.url = ajaxUrl.entrypoint + "?r=" + $obj.data("action-route"); opts.data = $obj.serialize(); @@ -1018,7 +1018,7 @@ sysPass.Actions = function (log) { sysPassApp.msg.out(json); if (json.status === 0) { - getContent({r: $obj.data("action-next") + "/" + itemId}); + getContent({r: $obj.data("action-next") + "/" + accountId}); } }); }; @@ -1045,6 +1045,42 @@ sysPass.Actions = function (log) { } }); }, + delete: function ($obj) { + log.info("link:delete"); + + const atext = "

" + sysPassApp.config.LANG[12] + "

"; + + mdlDialog().show({ + text: atext, + negative: { + title: sysPassApp.config.LANG[44], + onClick: function (e) { + e.preventDefault(); + + sysPassApp.msg.error(sysPassApp.config.LANG[44]); + } + }, + positive: { + title: sysPassApp.config.LANG[43], + onClick: function (e) { + e.preventDefault(); + + const itemId = $obj.data("item-id"); + const opts = sysPassApp.requests.getRequestOpts(); + + opts.url = ajaxUrl.entrypoint + "?r=" + $obj.data("action-route") + "/" + itemId; + + sysPassApp.requests.getActionCall(opts, function (json) { + sysPassApp.msg.out(json); + + if (json.status === 0) { + getContent({r: $obj.data("action-next") + "/" + $obj.data("account-id")}); + } + }); + } + } + }); + }, refresh: function ($obj) { log.info("link:refresh"); @@ -1069,7 +1105,7 @@ sysPass.Actions = function (log) { if (actionNext) { getContent({ - r: actionNext + "/" + itemId + r: actionNext + "/" + $obj.data("account-id") }); } else { getContent({ diff --git a/public/js/app-actions.min.js b/public/js/app-actions.min.js index 4f8c1188..0d5445c8 100644 --- a/public/js/app-actions.min.js +++ b/public/js/app-actions.min.js @@ -1,53 +1,54 @@ -var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.findInternal=function(d,l,e){d instanceof String&&(d=String(d));for(var f=d.length,k=0;k'+b+""),h=c.find("img");if(0===h.length)return k(b);h.hide();$.magnificPopup.open({items:{src:c,type:"inline"}, -callbacks:{open:function(){var a=this;h.on("click",function(){a.close()});setTimeout(function(){var a=sysPassApp.util.resizeImage(h);c.css({backgroundColor:"#fff",width:a.width,height:"auto"});h.show("slow")},500)}}})},q=function(){$.magnificPopup.close()},n={view:function(a){d.info("account:show");f(sysPassApp.requests.getRouteForQuery(a.data("action-route"),a.data("item-id")),"account")},viewHistory:function(a){d.info("account:showHistory");f(sysPassApp.requests.getRouteForQuery(a.data("action-route"), -a.val()),"account")},edit:function(a){d.info("account:edit");f(sysPassApp.requests.getRouteForQuery(a.data("action-route"),a.data("item-id")),"account")},delete:function(a){d.info("account:delete");var b='

'+sysPassApp.config.LANG[3]+"

";mdlDialog().show({text:b,negative:{title:sysPassApp.config.LANG[44],onClick:function(a){a.preventDefault();sysPassApp.msg.error(sysPassApp.config.LANG[44])}},positive:{title:sysPassApp.config.LANG[43],onClick:function(c){c= -sysPassApp.requests.getRequestOpts();c.url=e.entrypoint;c.data={r:"account/saveDelete/"+a.data("item-id"),sk:sysPassApp.sk.get()};sysPassApp.requests.getActionCall(c,function(c){sysPassApp.msg.out(c);n.search(a)})}}})},viewPass:function(a){d.info("account:viewPass");var b=a.data("parent-id")||0,c=0===b?a.data("item-id"):b,h=sysPassApp.requests.getRequestOpts();h.url=e.entrypoint;h.method="get";h.data={r:a.data("action-route")+"/"+c+"/"+b,sk:sysPassApp.sk.get(),isAjax:1};sysPassApp.requests.getActionCall(h, -function(a){0!==a.status?sysPassApp.msg.out(a):(a=$(a.data.html),k(a),l=setTimeout(function(){q()},3E4),a.on("mouseleave",function(){clearTimeout(l);l=setTimeout(function(){q()},3E4)}).on("mouseenter",function(){0!==l&&clearTimeout(l)}))})},viewPassHistory:function(a){d.info("account:viewPassHistory");n.viewPass(a)},copyPass:function(a){d.info("account:copyPass");var b=a.data("parent-id");b=0===b?a.data("item-id"):b;var c=sysPassApp.requests.getRequestOpts();c.url=e.entrypoint;c.method="get";c.async= -!1;c.data={r:a.data("action-route")+"/"+b,sk:sysPassApp.sk.get(),isAjax:1};return sysPassApp.requests.getActionCall(c)},copyPassHistory:function(a){d.info("account:copyPassHistory");n.copyPassHistory(a)},copy:function(a){d.info("account:copy");f(sysPassApp.requests.getRouteForQuery(a.data("action-route"),a.data("item-id")),"account")},saveFavorite:function(a,b){d.info("account:saveFavorite");var c="on"===a.data("status"),h=c?a.data("action-route-off"):a.data("action-route-on"),r=sysPassApp.requests.getRequestOpts(); -r.url=e.entrypoint;r.data={r:h+"/"+a.data("item-id"),sk:sysPassApp.sk.get(),isAjax:1};sysPassApp.requests.getActionCall(r,function(h){sysPassApp.msg.out(h);0===h.status&&(a.data("status",c?"off":"on"),"function"===typeof b&&b())})},request:function(a){d.info("account:request");var b=sysPassApp.requests.getRequestOpts();b.url=e.entrypoint+"?r="+a.data("action-route")+"/"+a.data("item-id");b.data=a.serialize();sysPassApp.requests.getActionCall(b,function(a){sysPassApp.msg.out(a);0===a.status&&void 0!== -a.data.nextAction&&f({r:a.data.nextAction.nextAction},"account")})},menu:function(a){a.hide();a.parent().children(".actions-optional").show(250)},sort:function(a){d.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"));n.search()},editPass:function(a){d.info("account:editpass");var b=a.data("parent-id");b=void 0===b?a.data("item-id"):b;f(sysPassApp.requests.getRouteForQuery(a.data("action-route"), -b),"account")},saveEditRestore:function(a){d.info("account:restore");var b=sysPassApp.requests.getRequestOpts();b.url=e.entrypoint+"?r="+a.data("action-route")+"/"+a.data("history-id")+"/"+a.data("item-id");b.data=a.serialize();sysPassApp.requests.getActionCall(b,function(a){sysPassApp.msg.out(a);void 0!==a.data.itemId&&void 0!==a.data.nextAction&&f(sysPassApp.requests.getRouteForQuery(a.data.nextAction,a.data.itemId),"account")})},listFiles:function(a){d.info("account:getfiles");var b=sysPassApp.requests.getRequestOpts(); -b.method="get";b.type="html";b.url=e.entrypoint;b.data={r:a.data("action-route")+"/"+a.data("item-id"),del:a.data("delete"),sk:sysPassApp.sk.get()};sysPassApp.requests.getActionCall(b,function(c){a.html(c)})},search:function(a){d.info("account:search");var b=$("#frmSearch");b.find("input[name='sk']").val(sysPassApp.sk.get());b.find("input[name='skey']").val();b.find("input[name='sorder']").val();void 0!==a&&b.find("input[name='start']").val(0);a=sysPassApp.requests.getRequestOpts();a.url=e.entrypoint+ -"?r="+b.data("action-route");a.method="get";a.data=b.serialize();sysPassApp.requests.getActionCall(a,function(a){10===a.status&&sysPassApp.msg.out(a);sysPassApp.sk.set(a.data.sk);$("#res-content").empty().html(a.data.html)})},save:function(a){d.info("account:save");var b=sysPassApp.requests.getRequestOpts();b.url=e.entrypoint+"?r="+a.data("action-route")+"/"+a.data("item-id");b.data=a.serialize();$("select.select-box-tags[data-hash][data-updated=true]").each(function(a,h){b.data+="&"+h.getAttribute("id")+ -"_update=1"});sysPassApp.requests.getActionCall(b,function(a){sysPassApp.msg.out(a);void 0!==a.data.itemId&&void 0!==a.data.nextAction&&f(sysPassApp.requests.getRouteForQuery(a.data.nextAction,a.data.itemId),"account")})}},u={get:function(a){d.info("items:get");var b=a[0].selectize;b.clearOptions();b.load(function(c){var h=sysPassApp.requests.getRequestOpts();h.url=e.entrypoint;h.method="get";h.data={r:a.data("action-route")+"/"+a.data("item-id"),sk:a.data("sk")};sysPassApp.requests.getActionCall(h, -function(h){c(h.data);b.setValue(a.data("selected-id"),!0);sysPassApp.triggers.updateFormHash()})})},update:function(a){d.info("items:update");var b=$("#"+a.data("item-dst"))[0].selectize,c=b.getValue();b.clearOptions();b.load(function(h){var d=sysPassApp.requests.getRequestOpts();d.url=e.entrypoint;d.method="get";d.data={r:a.data("item-route"),sk:sysPassApp.sk.get()};sysPassApp.requests.getActionCall(d,function(a){h(a);b.setValue(c,!0)})})}},w={logout:function(){sysPassApp.util.redirect("index.php?r=login/logout")}, -login:function(a){d.info("main:login");var b=sysPassApp.requests.getRequestOpts();b.url=e.entrypoint+"?r="+a.data("route");b.method="get";b.data=a.serialize();sysPassApp.requests.getActionCall(b,function(b){var c=$(".extra-hidden");switch(b.status){case 0:sysPassApp.util.redirect(b.data.url);break;case 2:sysPassApp.msg.out(b);a.find("input[type='text'],input[type='password']").val("");a.find("input:visible:first").focus();0";mdlDialog().show({text:b,negative:{title:sysPassApp.config.LANG[44],onClick:function(a){a.preventDefault();sysPassApp.msg.error(sysPassApp.config.LANG[44])}},positive:{title:sysPassApp.config.LANG[43],onClick:function(b){var c; -(b=a.find("input[name='taskId']").val())&&(c=v(b));var d=sysPassApp.requests.getRequestOpts();d.url=e.entrypoint+"?r="+a.data("action-route");d.method="get";d.useFullLoading=!!b;d.data=a.serialize();sysPassApp.requests.getActionCall(d,function(b){sysPassApp.msg.out(b);0!==b.status?a.find(":input[name=key]").val(""):(void 0!==c&&c.close(),setTimeout(function(){sysPassApp.util.redirect("index.php")},5E3))})}}})},getUpdates:function(){d.info("main:getUpdates");var a=sysPassApp.requests.getRequestOpts(); +var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.findInternal=function(c,l,e){c instanceof String&&(c=String(c));for(var f=c.length,k=0;k'+b+""),h=d.find("img");if(0===h.length)return k(b);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=sysPassApp.util.resizeImage(h);d.css({backgroundColor:"#fff",width:a.width,height:"auto"});h.show("slow")},500)}}})},q=function(){$.magnificPopup.close()},n={view:function(a){c.info("account:show");f(sysPassApp.requests.getRouteForQuery(a.data("action-route"),a.data("item-id")),"account")},viewHistory:function(a){c.info("account:showHistory");f(sysPassApp.requests.getRouteForQuery(a.data("action-route"), +a.val()),"account")},edit:function(a){c.info("account:edit");f(sysPassApp.requests.getRouteForQuery(a.data("action-route"),a.data("item-id")),"account")},delete:function(a){c.info("account:delete");var b='

'+sysPassApp.config.LANG[3]+"

";mdlDialog().show({text:b,negative:{title:sysPassApp.config.LANG[44],onClick:function(a){a.preventDefault();sysPassApp.msg.error(sysPassApp.config.LANG[44])}},positive:{title:sysPassApp.config.LANG[43],onClick:function(d){d= +sysPassApp.requests.getRequestOpts();d.url=e.entrypoint;d.data={r:"account/saveDelete/"+a.data("item-id"),sk:sysPassApp.sk.get()};sysPassApp.requests.getActionCall(d,function(d){sysPassApp.msg.out(d);n.search(a)})}}})},viewPass:function(a){c.info("account:viewPass");var b=a.data("parent-id")||0,d=0===b?a.data("item-id"):b,h=sysPassApp.requests.getRequestOpts();h.url=e.entrypoint;h.method="get";h.data={r:a.data("action-route")+"/"+d+"/"+b,sk:sysPassApp.sk.get(),isAjax:1};sysPassApp.requests.getActionCall(h, +function(a){0!==a.status?sysPassApp.msg.out(a):(a=$(a.data.html),k(a),l=setTimeout(function(){q()},3E4),a.on("mouseleave",function(){clearTimeout(l);l=setTimeout(function(){q()},3E4)}).on("mouseenter",function(){0!==l&&clearTimeout(l)}))})},viewPassHistory:function(a){c.info("account:viewPassHistory");n.viewPass(a)},copyPass:function(a){c.info("account:copyPass");var b=a.data("parent-id");b=0===b?a.data("item-id"):b;var d=sysPassApp.requests.getRequestOpts();d.url=e.entrypoint;d.method="get";d.async= +!1;d.data={r:a.data("action-route")+"/"+b,sk:sysPassApp.sk.get(),isAjax:1};return sysPassApp.requests.getActionCall(d)},copyPassHistory:function(a){c.info("account:copyPassHistory");n.copyPassHistory(a)},copy:function(a){c.info("account:copy");f(sysPassApp.requests.getRouteForQuery(a.data("action-route"),a.data("item-id")),"account")},saveFavorite:function(a,b){c.info("account:saveFavorite");var d="on"===a.data("status"),h=d?a.data("action-route-off"):a.data("action-route-on"),r=sysPassApp.requests.getRequestOpts(); +r.url=e.entrypoint;r.data={r:h+"/"+a.data("item-id"),sk:sysPassApp.sk.get(),isAjax:1};sysPassApp.requests.getActionCall(r,function(h){sysPassApp.msg.out(h);0===h.status&&(a.data("status",d?"off":"on"),"function"===typeof b&&b())})},request:function(a){c.info("account:request");var b=sysPassApp.requests.getRequestOpts();b.url=e.entrypoint+"?r="+a.data("action-route")+"/"+a.data("item-id");b.data=a.serialize();sysPassApp.requests.getActionCall(b,function(a){sysPassApp.msg.out(a);0===a.status&&void 0!== +a.data.nextAction&&f({r:a.data.nextAction.nextAction},"account")})},menu:function(a){a.hide();a.parent().children(".actions-optional").show(250)},sort:function(a){c.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"));n.search()},editPass:function(a){c.info("account:editpass");var b=a.data("parent-id");b=void 0===b?a.data("item-id"):b;f(sysPassApp.requests.getRouteForQuery(a.data("action-route"), +b),"account")},saveEditRestore:function(a){c.info("account:restore");var b=sysPassApp.requests.getRequestOpts();b.url=e.entrypoint+"?r="+a.data("action-route")+"/"+a.data("history-id")+"/"+a.data("item-id");b.data=a.serialize();sysPassApp.requests.getActionCall(b,function(a){sysPassApp.msg.out(a);void 0!==a.data.itemId&&void 0!==a.data.nextAction&&f(sysPassApp.requests.getRouteForQuery(a.data.nextAction,a.data.itemId),"account")})},listFiles:function(a){c.info("account:getfiles");var b=sysPassApp.requests.getRequestOpts(); +b.method="get";b.type="html";b.url=e.entrypoint;b.data={r:a.data("action-route")+"/"+a.data("item-id"),del:a.data("delete"),sk:sysPassApp.sk.get()};sysPassApp.requests.getActionCall(b,function(d){a.html(d)})},search:function(a){c.info("account:search");var b=$("#frmSearch");b.find("input[name='sk']").val(sysPassApp.sk.get());b.find("input[name='skey']").val();b.find("input[name='sorder']").val();void 0!==a&&b.find("input[name='start']").val(0);a=sysPassApp.requests.getRequestOpts();a.url=e.entrypoint+ +"?r="+b.data("action-route");a.method="get";a.data=b.serialize();sysPassApp.requests.getActionCall(a,function(a){10===a.status&&sysPassApp.msg.out(a);sysPassApp.sk.set(a.data.sk);$("#res-content").empty().html(a.data.html)})},save:function(a){c.info("account:save");var b=sysPassApp.requests.getRequestOpts();b.url=e.entrypoint+"?r="+a.data("action-route")+"/"+a.data("item-id");b.data=a.serialize();$("select.select-box-tags[data-hash][data-updated=true]").each(function(a,h){b.data+="&"+h.getAttribute("id")+ +"_update=1"});sysPassApp.requests.getActionCall(b,function(a){sysPassApp.msg.out(a);void 0!==a.data.itemId&&void 0!==a.data.nextAction&&f(sysPassApp.requests.getRouteForQuery(a.data.nextAction,a.data.itemId),"account")})}},u={get:function(a){c.info("items:get");var b=a[0].selectize;b.clearOptions();b.load(function(d){var h=sysPassApp.requests.getRequestOpts();h.url=e.entrypoint;h.method="get";h.data={r:a.data("action-route")+"/"+a.data("item-id"),sk:a.data("sk")};sysPassApp.requests.getActionCall(h, +function(h){d(h.data);b.setValue(a.data("selected-id"),!0);sysPassApp.triggers.updateFormHash()})})},update:function(a){c.info("items:update");var b=$("#"+a.data("item-dst"))[0].selectize,d=b.getValue();b.clearOptions();b.load(function(h){var c=sysPassApp.requests.getRequestOpts();c.url=e.entrypoint;c.method="get";c.data={r:a.data("item-route"),sk:sysPassApp.sk.get()};sysPassApp.requests.getActionCall(c,function(a){h(a);b.setValue(d,!0)})})}},w={logout:function(){sysPassApp.util.redirect("index.php?r=login/logout")}, +login:function(a){c.info("main:login");var b=sysPassApp.requests.getRequestOpts();b.url=e.entrypoint+"?r="+a.data("route");b.method="get";b.data=a.serialize();sysPassApp.requests.getActionCall(b,function(b){var d=$(".extra-hidden");switch(b.status){case 0:sysPassApp.util.redirect(b.data.url);break;case 2:sysPassApp.msg.out(b);a.find("input[type='text'],input[type='password']").val("");a.find("input:visible:first").focus();0";mdlDialog().show({text:b,negative:{title:sysPassApp.config.LANG[44],onClick:function(a){a.preventDefault();sysPassApp.msg.error(sysPassApp.config.LANG[44])}},positive:{title:sysPassApp.config.LANG[43],onClick:function(b){var d; +(b=a.find("input[name='taskId']").val())&&(d=v(b));var c=sysPassApp.requests.getRequestOpts();c.url=e.entrypoint+"?r="+a.data("action-route");c.method="get";c.useFullLoading=!!b;c.data=a.serialize();sysPassApp.requests.getActionCall(c,function(b){sysPassApp.msg.out(b);0!==b.status?a.find(":input[name=key]").val(""):(void 0!==d&&d.close(),setTimeout(function(){sysPassApp.util.redirect("index.php")},5E3))})}}})},getUpdates:function(){c.info("main:getUpdates");var a=sysPassApp.requests.getRequestOpts(); a.url=e.entrypoint+"?r=status/checkRelease";a.method="get";a.timeout=1E4;a.useLoading=!1;a.data={isAjax:1};var b=$("#updates");sysPassApp.requests.getActionCall(a,function(a){0===a.status?0'+a.data.title+'
cloud_download
'+a.data.description+""): b.html('
check_circle
'+sysPassApp.config.LANG[68]+""):b.html('
warning
'+sysPassApp.config.LANG[69]+"");void 0!==componentHandler&&componentHandler.upgradeDom()},function(){b.html('
warning
'+ -sysPassApp.config.LANG[69]+"")})},getNotices:function(){d.info("main:getNotices");var a=sysPassApp.requests.getRequestOpts();a.url=e.entrypoint+"?r=status/checkNotices";a.method="get";a.timeout=1E4;a.useLoading=!1;a.data={isAjax:1};var b=$("#notices");sysPassApp.requests.getActionCall(a,function(a){0===a.status&&0
")})},getNotices:function(){c.info("main:getNotices");var a=sysPassApp.requests.getRequestOpts();a.url=e.entrypoint+"?r=status/checkNotices";a.method="get";a.timeout=1E4;a.useLoading=!1;a.data={isAjax:1};var b=$("#notices");sysPassApp.requests.getActionCall(a,function(a){0===a.status&&0
feedback
'+sysPassApp.config.LANG[70]+"
"+a.data.map(function(a){return a.title}).join("
")+"
");void 0!==componentHandler&&componentHandler.upgradeDom()})}},g={state:{tab:{index:0,refresh:!0,route:""},itemId:0,update:function(a){var b=$("#content").find("[id^='tabs-'].is-active");0
";a=a.data("selection");var d=[];if(a&&($(a).find(".is-selected").each(function(){d.push($(this).data("item-id"))}),0===d.length))return;mdlDialog().show({text:c, -negative:{title:sysPassApp.config.LANG[44],onClick:function(a){a.preventDefault();sysPassApp.msg.error(sysPassApp.config.LANG[44])}},positive:{title:sysPassApp.config.LANG[43],onClick:function(a){a.preventDefault();"function"===typeof b&&b(d)}}})}},v=function(a){var b=$("#taskStatus");b.empty().html(sysPassApp.config.LANG[62]);var c=sysPassApp.requests.getRequestOpts();c.method="get";c.url=e.entrypoint+"?r=task/runTask/"+a;return sysPassApp.requests.getActionEvent(c,function(a){a=a.task+" - "+a.message+ -" - "+a.time+" - "+a.progress+"%";a+="
"+sysPassApp.config.LANG[62];b.empty().html(a)})};return{doAction:function(a,b){a={r:a.r+(void 0!==a.itemId?"/"+a.itemId:""),isAjax:1};var c=sysPassApp.requests.getRequestOpts();c.url=e.entrypoint;c.method="get";c.type="html";c.addHistory=!0;c.data=a;sysPassApp.requests.getActionCall(c,function(a){var c=$("#content");c.empty().html(a);a=sysPassApp.triggers.views;a.common(c);if(void 0!==b&&"function"===typeof a[b])a[b]();c=$(".mdl-layout__content");0";mdlDialog().show({text:b,negative:{title:sysPassApp.config.LANG[44],onClick:function(a){a.preventDefault();sysPassApp.msg.error(sysPassApp.config.LANG[44])}},positive:{title:sysPassApp.config.LANG[43],onClick:function(b){b=sysPassApp.requests.getRequestOpts();b.url=e.entrypoint;b.method="get";b.data={r:a.data("action-route")+"/"+a.data("item-id"),sk:sysPassApp.sk.get()}; -sysPassApp.requests.getActionCall(b,function(a){sysPassApp.msg.out(a);0===a.status&&n.listFiles($("#list-account-files"))})}}})}},checks:{wiki:function(a){d.info("checks:wiki");a=$(a.data("src"));a.find("[name='sk']").val(sysPassApp.sk.get());var b=sysPassApp.requests.getRequestOpts();b.url=e.entrypoint;b.data=a.serialize();sysPassApp.requests.getActionCall(b,function(a){sysPassApp.msg.out(a);0===a.status&&$("#dokuWikiResCheck").html(a.data)})}},config:{save:function(a){d.info("config:save");g.save(a)}, -masterpass:function(a){var b='

'+sysPassApp.config.LANG[59]+"

";mdlDialog().show({text:b,negative:{title:sysPassApp.config.LANG[44],onClick:function(b){b.preventDefault();sysPassApp.msg.error(sysPassApp.config.LANG[44]);a.find(":input[type=password]").val("")}},positive:{title:sysPassApp.config.LANG[43],onClick:function(b){var c;(b=a.find("input[name='taskId']").val())&&(c=v(b));var d=sysPassApp.requests.getRequestOpts();d.url=e.entrypoint;d.useFullLoading= -!!b;d.data=a.serialize();sysPassApp.requests.getActionCall(d,function(b){sysPassApp.msg.out(b);a.find(":input[type=password]").val("");void 0!==c&&c.close()})}}})},backup:function(a){d.info("config:backup");g.state.update(a);var b=sysPassApp.requests.getRequestOpts();b.url=e.entrypoint+"?r="+a.data("action-route");b.useFullLoading=!0;b.data=a.serialize()+"&sk="+sysPassApp.sk.get();sysPassApp.requests.getActionCall(b,function(a){sysPassApp.msg.out(a);0===a.status&&f({r:g.state.tab.route,tabIndex:g.state.tab.index})})}, -export:function(a){d.info("config:export");g.save(a)},import:function(a){d.info("config:import");var b=sysPassApp.requests.getRequestOpts();b.url=e.entrypoint+"?r="+a.data("action-route");b.data=a.serialize()+"&sk="+sysPassApp.sk.get();sysPassApp.requests.getActionCall(b,function(a){sysPassApp.msg.out(a)})},refreshMpass:function(a){d.info("config:import");var b=sysPassApp.requests.getRequestOpts();b.url=e.entrypoint+"?r="+a.data("action-route");b.data={sk:a.data("sk"),isAjax:1};sysPassApp.requests.getActionCall(b, -function(a){sysPassApp.msg.out(a)})},mailCheck:function(a){d.info("config:mailCheck");var b=$(a.data("src")),c=sysPassApp.requests.getRequestOpts();c.url=e.entrypoint+"?r="+a.data("action-route");c.data=b.serialize()+"&sk="+sysPassApp.sk.get();sysPassApp.requests.getActionCall(c,function(a){sysPassApp.msg.out(a)})}},main:w,user:{showSettings:function(a){d.info("user:showSettings");f({r:a.data("action-route")},"userSettings")},saveSettings:function(a){d.info("user:saveSettings");g.save(a)},password:function(a){d.info("user:password"); -var b=sysPassApp.requests.getRequestOpts();b.type="html";b.method="get";b.url=e.entrypoint;b.data={r:a.data("action-route")+"/"+a.data("item-id"),sk:sysPassApp.sk.get(),isAjax:1};sysPassApp.requests.getActionCall(b,function(a){0===a.length?w.logout():k(a)})},passreset:function(a){d.info("user:passreset");var b=sysPassApp.requests.getRequestOpts();b.url=e.entrypoint+"/?r="+a.data("action-route");b.data=a.serialize();sysPassApp.requests.getActionCall(b,function(a){sysPassApp.msg.out(a);0===a.status&& -setTimeout(function(){sysPassApp.util.redirect("index.php")},2E3)})}},link:{save:function(a){d.info("link:save");var b=function(b){var c=a.data("item-id"),d=sysPassApp.requests.getRequestOpts();c?d.url=e.entrypoint+"?r="+a.data("action-route")+"/"+c+"/"+b:(d.url=e.entrypoint+"?r="+a.data("action-route"),d.data=a.serialize());sysPassApp.requests.getActionCall(d,function(b){sysPassApp.msg.out(b);0===b.status&&f({r:a.data("action-next")+"/"+c})})},c='

'+sysPassApp.config.LANG[48]+ -"

";mdlDialog().show({text:c,negative:{title:sysPassApp.config.LANG[44],onClick:function(a){a.preventDefault();b(0)}},positive:{title:sysPassApp.config.LANG[43],onClick:function(a){a.preventDefault();b(1)}}})},refresh:function(a){d.info("link:refresh");g.state.update(a);var b=a.data("item-id"),c=sysPassApp.requests.getRequestOpts();c.url=e.entrypoint;c.method="get";c.data={r:a.data("action-route")+"/"+b,sk:sysPassApp.sk.get(),isAjax:1};sysPassApp.requests.getActionCall(c,function(c){sysPassApp.msg.out(c); -0===c.status&&((c=a.data("action-next"))?f({r:c+"/"+b}):f({r:g.state.tab.route,tabIndex:g.state.tab.index}))})}},eventlog:{clear:function(a){var b='

'+sysPassApp.config.LANG[20]+"

";mdlDialog().show({text:b,negative:{title:sysPassApp.config.LANG[44],onClick:function(a){a.preventDefault();sysPassApp.msg.error(sysPassApp.config.LANG[44])}},positive:{title:sysPassApp.config.LANG[43],onClick:function(b){b.preventDefault();g.save(a)}}})}},ajaxUrl:e,plugin:{toggle:function(a){d.info("plugin:enable"); -g.save(a,function(){setTimeout(function(){sysPassApp.util.redirect("index.php")},2E3)})},reset:function(a){d.info("plugin:reset");var b='

'+sysPassApp.config.LANG[58]+"

";mdlDialog().show({text:b,negative:{title:sysPassApp.config.LANG[44],onClick:function(a){a.preventDefault();sysPassApp.msg.error(sysPassApp.config.LANG[44])}},positive:{title:sysPassApp.config.LANG[43],onClick:function(b){b.preventDefault();g.save(a)}}})},search:function(a){d.info("plugin:search"); -m.search(a)},show:function(a){d.info("plugin:show");t.show(a)},save:function(a){d.info("plugin:save");var b=sysPassApp.requests.getRequestOpts();b.url=e.entrypoint+"?r="+a.data("route");b.data=a.serialize();sysPassApp.requests.getActionCall(b,function(b){sysPassApp.msg.out(b);0===b.status&&(f({r:a.data("action-next")}),$.magnificPopup.close())})},nav:function(a){d.info("plugin:nav");m.nav(a)}},notification:{check:function(a){d.info("notification:check");var b=sysPassApp.requests.getRequestOpts(); -b.url=e.entrypoint;b.method="get";b.data={r:a.data("action-route")+"/"+a.data("item-id"),sk:sysPassApp.sk.get(),isAjax:1};sysPassApp.requests.getActionCall(b,function(b){sysPassApp.msg.out(b);0===b.status&&f({r:a.data("action-next")});sysPassApp.sk.set(b.csrf)})},search:function(a){d.info("notification:search");m.search(a)},show:function(a){d.info("notification:show");t.show(a)},save:function(a){d.info("notification:save");var b=sysPassApp.requests.getRequestOpts();b.url=e.entrypoint+"?r="+a.data("route"); -b.data=a.serialize();sysPassApp.requests.getActionCall(b,function(b){sysPassApp.msg.out(b);0===b.status&&(f({r:a.data("action-next")}),$.magnificPopup.close())})},delete:function(a){d.info("notification:delete");m.delete(a,function(b){var c=a.data("item-id"),d=sysPassApp.requests.getRequestOpts();d.url=e.entrypoint;d.method="get";d.data={r:a.data("action-route")+(c?"/"+c:""),items:b,sk:sysPassApp.sk.get(),isAjax:1};sysPassApp.requests.getActionCall(d,function(b){sysPassApp.msg.out(b);f({r:a.data("action-next")})})})}, -getActive:function(){d.info("notification:getActive");var a=sysPassApp.requests.getRequestOpts();a.url=e.entrypoint;a.method="get";a.data={r:"items/notifications",sk:sysPassApp.sk.get(),isAjax:1};sysPassApp.requests.getActionCall(a,function(a){return a})},nav:function(a){d.info("eventlog:nav");m.nav(a)}},wiki:{show:function(a){d.info("wiki:show");var b=sysPassApp.requests.getRequestOpts();b.url=e.entrypoint;b.method="get";b.data={pageName:a.data("pagename"),actionId:a.data("action-id"),sk:sysPassApp.sk.get(), -isAjax:1};sysPassApp.requests.getActionCall(b,function(a){0!==a.status?sysPassApp.msg.out(a):k(a.data.html)})}},items:u,ldap:{check:function(a){d.info("ldap:check");var b=$(a.data("src")),c=sysPassApp.requests.getRequestOpts();c.url=e.entrypoint+"?r="+a.data("action-route");c.data=b.serialize()+"&sk="+sysPassApp.sk.get();sysPassApp.requests.getActionCall(c,function(a){sysPassApp.msg.out(a);0===a.status&&void 0!==a.data.template&&void 0!==a.data.items&&k(a.data.template,{open:function(){var b=$("#ldap-results").find(".list-wrap").empty(); -a.data.items.forEach(function(a){b.append(sysPassApp.theme.html.getList(a.items,a.icon))})}})})},import:function(a){d.info("ldap:import");var b='

'+sysPassApp.config.LANG[57]+"

";mdlDialog().show({text:b,negative:{title:sysPassApp.config.LANG[44],onClick:function(a){a.preventDefault();sysPassApp.msg.error(sysPassApp.config.LANG[44])}},positive:{title:sysPassApp.config.LANG[43],onClick:function(b){b=$(a.data("src"));var c=sysPassApp.requests.getRequestOpts(); -c.url=e.entrypoint+"?r="+a.data("action-route");c.data=b.serialize()+"&sk="+sysPassApp.sk.get();sysPassApp.requests.getActionCall(c,function(a){sysPassApp.msg.out(a)})}}})}},track:{unlock:function(a){d.info("track:unlock");var b=sysPassApp.requests.getRequestOpts();b.url=e.entrypoint;b.method="get";b.data={r:a.data("action-route")+"/"+a.data("item-id"),sk:sysPassApp.sk.get(),isAjax:1};sysPassApp.requests.getActionCall(b,function(b){sysPassApp.msg.out(b);g.refresh(a)})},clear:function(a){d.info("track:clear"); -var b='

'+sysPassApp.config.LANG[71]+"

";mdlDialog().show({text:b,negative:{title:sysPassApp.config.LANG[44],onClick:function(a){a.preventDefault();sysPassApp.msg.error(sysPassApp.config.LANG[44])}},positive:{title:sysPassApp.config.LANG[43],onClick:function(b){b.preventDefault();g.save(a)}}})}}}}; +b.data("tab-index"),g.state.tab.route=b.data("tab-route"),g.state.itemId=a.data("item-id"))}},save:function(a,b){c.info("tabs:save");g.state.update(a);var d=sysPassApp.requests.getRequestOpts();d.url=e.entrypoint+"?r="+a.data("action-route");d.method=a.data("action-method")||"post";d.data=a.serialize()+"&sk="+sysPassApp.sk.get();sysPassApp.requests.getActionCall(d,function(d){sysPassApp.msg.out(d);0===d.status&&("function"===typeof b&&b(),void 0!==a.data("reload")?(c.info("reload"),setTimeout(function(){sysPassApp.util.redirect("index.php")}, +2E3)):!0===g.state.tab.refresh&&(c.info("refresh"),f({r:g.state.tab.route,tabIndex:g.state.tab.index})))})},refresh:function(a){this.state.update(a);f({r:this.state.tab.route,tabIndex:this.state.tab.index})}},t={show:function(a){c.info("appMgmt:show");g.state.update(a);var b=sysPassApp.requests.getRequestOpts();b.url=e.entrypoint;b.method="get";b.data={r:a.data("action-route")+"/"+a.data("item-id"),sk:sysPassApp.sk.get(),isAjax:1};sysPassApp.requests.getActionCall(b,function(b){if(0!==b.status)sysPassApp.msg.out(b); +else{var d=a.data("item-dst");k(b.data.html,{open:function(){d&&(g.state.tab.refresh=!1)},close:function(){d&&u.update(a)}})}})},delete:function(a){c.info("appMgmt:delete");g.state.update(a);m.delete(a,function(b){var d=a.data("item-id"),c=sysPassApp.requests.getRequestOpts();c.url=e.entrypoint;c.method="get";c.data={r:a.data("action-route")+(0";a=a.data("selection");var c=[];if(a&&($(a).find(".is-selected").each(function(){c.push($(this).data("item-id"))}),0===c.length))return;mdlDialog().show({text:d, +negative:{title:sysPassApp.config.LANG[44],onClick:function(a){a.preventDefault();sysPassApp.msg.error(sysPassApp.config.LANG[44])}},positive:{title:sysPassApp.config.LANG[43],onClick:function(a){a.preventDefault();"function"===typeof b&&b(c)}}})}},v=function(a){var b=$("#taskStatus");b.empty().html(sysPassApp.config.LANG[62]);var d=sysPassApp.requests.getRequestOpts();d.method="get";d.url=e.entrypoint+"?r=task/runTask/"+a;return sysPassApp.requests.getActionEvent(d,function(a){a=a.task+" - "+a.message+ +" - "+a.time+" - "+a.progress+"%";a+="
"+sysPassApp.config.LANG[62];b.empty().html(a)})};return{doAction:function(a,b){a={r:a.r+(void 0!==a.itemId?"/"+a.itemId:""),isAjax:1};var d=sysPassApp.requests.getRequestOpts();d.url=e.entrypoint;d.method="get";d.type="html";d.addHistory=!0;d.data=a;sysPassApp.requests.getActionCall(d,function(a){var d=$("#content");d.empty().html(a);a=sysPassApp.triggers.views;a.common(d);if(void 0!==b&&"function"===typeof a[b])a[b]();d=$(".mdl-layout__content");0";mdlDialog().show({text:b,negative:{title:sysPassApp.config.LANG[44],onClick:function(a){a.preventDefault();sysPassApp.msg.error(sysPassApp.config.LANG[44])}},positive:{title:sysPassApp.config.LANG[43],onClick:function(b){b=sysPassApp.requests.getRequestOpts();b.url=e.entrypoint;b.method="get";b.data={r:a.data("action-route")+"/"+a.data("item-id"),sk:sysPassApp.sk.get()}; +sysPassApp.requests.getActionCall(b,function(a){sysPassApp.msg.out(a);0===a.status&&n.listFiles($("#list-account-files"))})}}})}},checks:{wiki:function(a){c.info("checks:wiki");a=$(a.data("src"));a.find("[name='sk']").val(sysPassApp.sk.get());var b=sysPassApp.requests.getRequestOpts();b.url=e.entrypoint;b.data=a.serialize();sysPassApp.requests.getActionCall(b,function(a){sysPassApp.msg.out(a);0===a.status&&$("#dokuWikiResCheck").html(a.data)})}},config:{save:function(a){c.info("config:save");g.save(a)}, +masterpass:function(a){var b='

'+sysPassApp.config.LANG[59]+"

";mdlDialog().show({text:b,negative:{title:sysPassApp.config.LANG[44],onClick:function(b){b.preventDefault();sysPassApp.msg.error(sysPassApp.config.LANG[44]);a.find(":input[type=password]").val("")}},positive:{title:sysPassApp.config.LANG[43],onClick:function(b){var d;(b=a.find("input[name='taskId']").val())&&(d=v(b));var c=sysPassApp.requests.getRequestOpts();c.url=e.entrypoint;c.useFullLoading= +!!b;c.data=a.serialize();sysPassApp.requests.getActionCall(c,function(b){sysPassApp.msg.out(b);a.find(":input[type=password]").val("");void 0!==d&&d.close()})}}})},backup:function(a){c.info("config:backup");g.state.update(a);var b=sysPassApp.requests.getRequestOpts();b.url=e.entrypoint+"?r="+a.data("action-route");b.useFullLoading=!0;b.data=a.serialize()+"&sk="+sysPassApp.sk.get();sysPassApp.requests.getActionCall(b,function(a){sysPassApp.msg.out(a);0===a.status&&f({r:g.state.tab.route,tabIndex:g.state.tab.index})})}, +export:function(a){c.info("config:export");g.save(a)},import:function(a){c.info("config:import");var b=sysPassApp.requests.getRequestOpts();b.url=e.entrypoint+"?r="+a.data("action-route");b.data=a.serialize()+"&sk="+sysPassApp.sk.get();sysPassApp.requests.getActionCall(b,function(a){sysPassApp.msg.out(a)})},refreshMpass:function(a){c.info("config:import");var b=sysPassApp.requests.getRequestOpts();b.url=e.entrypoint+"?r="+a.data("action-route");b.data={sk:a.data("sk"),isAjax:1};sysPassApp.requests.getActionCall(b, +function(a){sysPassApp.msg.out(a)})},mailCheck:function(a){c.info("config:mailCheck");var b=$(a.data("src")),d=sysPassApp.requests.getRequestOpts();d.url=e.entrypoint+"?r="+a.data("action-route");d.data=b.serialize()+"&sk="+sysPassApp.sk.get();sysPassApp.requests.getActionCall(d,function(a){sysPassApp.msg.out(a)})}},main:w,user:{showSettings:function(a){c.info("user:showSettings");f({r:a.data("action-route")},"userSettings")},saveSettings:function(a){c.info("user:saveSettings");g.save(a)},password:function(a){c.info("user:password"); +var b=sysPassApp.requests.getRequestOpts();b.type="html";b.method="get";b.url=e.entrypoint;b.data={r:a.data("action-route")+"/"+a.data("item-id"),sk:sysPassApp.sk.get(),isAjax:1};sysPassApp.requests.getActionCall(b,function(a){0===a.length?w.logout():k(a)})},passreset:function(a){c.info("user:passreset");var b=sysPassApp.requests.getRequestOpts();b.url=e.entrypoint+"/?r="+a.data("action-route");b.data=a.serialize();sysPassApp.requests.getActionCall(b,function(a){sysPassApp.msg.out(a);0===a.status&& +setTimeout(function(){sysPassApp.util.redirect("index.php")},2E3)})}},link:{save:function(a){c.info("link:save");var b=function(b){var d=a.data("account-id"),c=sysPassApp.requests.getRequestOpts();d?c.url=e.entrypoint+"?r="+a.data("action-route")+"/"+d+"/"+b:(c.url=e.entrypoint+"?r="+a.data("action-route"),c.data=a.serialize());sysPassApp.requests.getActionCall(c,function(b){sysPassApp.msg.out(b);0===b.status&&f({r:a.data("action-next")+"/"+d})})},d='

'+sysPassApp.config.LANG[48]+ +"

";mdlDialog().show({text:d,negative:{title:sysPassApp.config.LANG[44],onClick:function(a){a.preventDefault();b(0)}},positive:{title:sysPassApp.config.LANG[43],onClick:function(a){a.preventDefault();b(1)}}})},delete:function(a){c.info("link:delete");var b='

'+sysPassApp.config.LANG[12]+"

";mdlDialog().show({text:b,negative:{title:sysPassApp.config.LANG[44],onClick:function(a){a.preventDefault();sysPassApp.msg.error(sysPassApp.config.LANG[44])}}, +positive:{title:sysPassApp.config.LANG[43],onClick:function(b){b.preventDefault();b=a.data("item-id");var d=sysPassApp.requests.getRequestOpts();d.url=e.entrypoint+"?r="+a.data("action-route")+"/"+b;sysPassApp.requests.getActionCall(d,function(b){sysPassApp.msg.out(b);0===b.status&&f({r:a.data("action-next")+"/"+a.data("account-id")})})}}})},refresh:function(a){c.info("link:refresh");g.state.update(a);var b=a.data("item-id"),d=sysPassApp.requests.getRequestOpts();d.url=e.entrypoint;d.method="get"; +d.data={r:a.data("action-route")+"/"+b,sk:sysPassApp.sk.get(),isAjax:1};sysPassApp.requests.getActionCall(d,function(b){sysPassApp.msg.out(b);0===b.status&&((b=a.data("action-next"))?f({r:b+"/"+a.data("account-id")}):f({r:g.state.tab.route,tabIndex:g.state.tab.index}))})}},eventlog:{clear:function(a){var b='

'+sysPassApp.config.LANG[20]+"

";mdlDialog().show({text:b,negative:{title:sysPassApp.config.LANG[44],onClick:function(a){a.preventDefault();sysPassApp.msg.error(sysPassApp.config.LANG[44])}}, +positive:{title:sysPassApp.config.LANG[43],onClick:function(b){b.preventDefault();g.save(a)}}})}},ajaxUrl:e,plugin:{toggle:function(a){c.info("plugin:enable");g.save(a,function(){setTimeout(function(){sysPassApp.util.redirect("index.php")},2E3)})},reset:function(a){c.info("plugin:reset");var b='

'+sysPassApp.config.LANG[58]+"

";mdlDialog().show({text:b,negative:{title:sysPassApp.config.LANG[44],onClick:function(a){a.preventDefault();sysPassApp.msg.error(sysPassApp.config.LANG[44])}}, +positive:{title:sysPassApp.config.LANG[43],onClick:function(b){b.preventDefault();g.save(a)}}})},search:function(a){c.info("plugin:search");m.search(a)},show:function(a){c.info("plugin:show");t.show(a)},save:function(a){c.info("plugin:save");var b=sysPassApp.requests.getRequestOpts();b.url=e.entrypoint+"?r="+a.data("route");b.data=a.serialize();sysPassApp.requests.getActionCall(b,function(b){sysPassApp.msg.out(b);0===b.status&&(f({r:a.data("action-next")}),$.magnificPopup.close())})},nav:function(a){c.info("plugin:nav"); +m.nav(a)}},notification:{check:function(a){c.info("notification:check");var b=sysPassApp.requests.getRequestOpts();b.url=e.entrypoint;b.method="get";b.data={r:a.data("action-route")+"/"+a.data("item-id"),sk:sysPassApp.sk.get(),isAjax:1};sysPassApp.requests.getActionCall(b,function(b){sysPassApp.msg.out(b);0===b.status&&f({r:a.data("action-next")});sysPassApp.sk.set(b.csrf)})},search:function(a){c.info("notification:search");m.search(a)},show:function(a){c.info("notification:show");t.show(a)},save:function(a){c.info("notification:save"); +var b=sysPassApp.requests.getRequestOpts();b.url=e.entrypoint+"?r="+a.data("route");b.data=a.serialize();sysPassApp.requests.getActionCall(b,function(b){sysPassApp.msg.out(b);0===b.status&&(f({r:a.data("action-next")}),$.magnificPopup.close())})},delete:function(a){c.info("notification:delete");m.delete(a,function(b){var d=a.data("item-id"),c=sysPassApp.requests.getRequestOpts();c.url=e.entrypoint;c.method="get";c.data={r:a.data("action-route")+(d?"/"+d:""),items:b,sk:sysPassApp.sk.get(),isAjax:1}; +sysPassApp.requests.getActionCall(c,function(b){sysPassApp.msg.out(b);f({r:a.data("action-next")})})})},getActive:function(){c.info("notification:getActive");var a=sysPassApp.requests.getRequestOpts();a.url=e.entrypoint;a.method="get";a.data={r:"items/notifications",sk:sysPassApp.sk.get(),isAjax:1};sysPassApp.requests.getActionCall(a,function(a){return a})},nav:function(a){c.info("eventlog:nav");m.nav(a)}},wiki:{show:function(a){c.info("wiki:show");var b=sysPassApp.requests.getRequestOpts();b.url= +e.entrypoint;b.method="get";b.data={pageName:a.data("pagename"),actionId:a.data("action-id"),sk:sysPassApp.sk.get(),isAjax:1};sysPassApp.requests.getActionCall(b,function(a){0!==a.status?sysPassApp.msg.out(a):k(a.data.html)})}},items:u,ldap:{check:function(a){c.info("ldap:check");var b=$(a.data("src")),d=sysPassApp.requests.getRequestOpts();d.url=e.entrypoint+"?r="+a.data("action-route");d.data=b.serialize()+"&sk="+sysPassApp.sk.get();sysPassApp.requests.getActionCall(d,function(a){sysPassApp.msg.out(a); +0===a.status&&void 0!==a.data.template&&void 0!==a.data.items&&k(a.data.template,{open:function(){var b=$("#ldap-results").find(".list-wrap").empty();a.data.items.forEach(function(a){b.append(sysPassApp.theme.html.getList(a.items,a.icon))})}})})},import:function(a){c.info("ldap:import");var b='

'+sysPassApp.config.LANG[57]+"

";mdlDialog().show({text:b,negative:{title:sysPassApp.config.LANG[44],onClick:function(a){a.preventDefault();sysPassApp.msg.error(sysPassApp.config.LANG[44])}}, +positive:{title:sysPassApp.config.LANG[43],onClick:function(b){b=$(a.data("src"));var d=sysPassApp.requests.getRequestOpts();d.url=e.entrypoint+"?r="+a.data("action-route");d.data=b.serialize()+"&sk="+sysPassApp.sk.get();sysPassApp.requests.getActionCall(d,function(a){sysPassApp.msg.out(a)})}}})}},track:{unlock:function(a){c.info("track:unlock");var b=sysPassApp.requests.getRequestOpts();b.url=e.entrypoint;b.method="get";b.data={r:a.data("action-route")+"/"+a.data("item-id"),sk:sysPassApp.sk.get(), +isAjax:1};sysPassApp.requests.getActionCall(b,function(b){sysPassApp.msg.out(b);g.refresh(a)})},clear:function(a){c.info("track:clear");var b='

'+sysPassApp.config.LANG[71]+"

";mdlDialog().show({text:b,negative:{title:sysPassApp.config.LANG[44],onClick:function(a){a.preventDefault();sysPassApp.msg.error(sysPassApp.config.LANG[44])}},positive:{title:sysPassApp.config.LANG[43],onClick:function(b){b.preventDefault();g.save(a)}}})}}}};