2015-05-14 08:44:38 +02:00
|
|
|
<TMPL_INCLUDE NAME="header.tpl">
|
|
|
|
|
|
|
|
<title>LemonLDAP::NG sessions explorer</title>
|
|
|
|
</head>
|
|
|
|
|
2017-01-18 00:17:23 +01:00
|
|
|
<body ng-app="llngSessionsExplorer" ng-controller="SessionsExplorerCtrl" ng-csp>
|
2015-05-14 08:44:38 +02:00
|
|
|
|
|
|
|
<TMPL_INCLUDE NAME="menubar.tpl">
|
|
|
|
|
|
|
|
<div id="content" class="row container-fluid">
|
|
|
|
<div id="pleaseWait" ng-show="waiting"><span trspan="waitingForDatas"></span></div>
|
|
|
|
|
|
|
|
<!-- Tree -->
|
|
|
|
<aside id="left" class="col-lg-4 col-md-4 col-sm-5 col-xs-12 scrollable " ng-class="{'hidden-xs':!showT}" role="complementary">
|
|
|
|
<div class="navbar navbar-default">
|
2015-09-07 10:16:58 +02:00
|
|
|
<div class="navbar-collapse">
|
2017-03-24 16:03:40 +01:00
|
|
|
<ul class="nav navbar-nav" role="grid">
|
2017-03-24 16:25:55 +01:00
|
|
|
<li uib-dropdown>
|
|
|
|
<a id="navsso" name="menu" uib-dropdown-toggle data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"><i class="glyphicon glyphicon-user"></i> {{translate('ssoSessions')}} <span class="caret"></span></a>
|
|
|
|
<ul uib-dropdown-menu aria-labelled-by="navsso">
|
|
|
|
<li><a id="a-users" href="#" role="row"><i class="glyphicon glyphicon-user"></i> {{translate('users')}}</a></li>
|
2018-06-21 22:52:22 +02:00
|
|
|
<li><a id="a-ip" href="#!/ipAddr" role="row"><i class="glyphicon glyphicon-sort-by-order"></i> {{translate('ipAddresses')}}</a></li>
|
|
|
|
<li><a id="a-multi" href="#!/doubleIp" role="row"><i class="glyphicon glyphicon-exclamation-sign"></i> {{translate('multiIp')}}</a></li>
|
|
|
|
<li><a id="a-starttime" href="#!/_startTime" role="row"><i class="glyphicon glyphicon-hourglass"></i> {{translate('_startTime')}}</a></li>
|
|
|
|
<li><a id="a-updatetime" href="#!/_updateTime" role="row"><i class="glyphicon glyphicon-hourglass"></i> {{translate('_updateTime')}}</a></li>
|
2017-03-24 16:25:55 +01:00
|
|
|
</ul>
|
|
|
|
</li>
|
2018-06-21 22:52:22 +02:00
|
|
|
<li><a id="a-persistent" href="#!/persistent" role="row"><i class="glyphicon glyphicon-exclamation-sign"></i> {{translate('persistentSessions')}}</a></li>
|
2015-09-07 10:16:58 +02:00
|
|
|
</ul>
|
|
|
|
</div>
|
2015-05-14 08:44:38 +02:00
|
|
|
</div>
|
2016-06-15 08:12:43 +02:00
|
|
|
<div class="text-center"><p class="badge">{{total}} <span trspan="session_s"></span></p></div>
|
2015-05-14 08:44:38 +02:00
|
|
|
<div class="region region-sidebar-first">
|
|
|
|
<section id="block-superfish-1" class="block block-superfish clearfix">
|
|
|
|
<div ui-tree data-drag-enabled="false" id="tree-root">
|
2017-01-18 00:17:23 +01:00
|
|
|
<div ng-show="data.length==0" class="center">
|
2015-05-14 08:44:38 +02:00
|
|
|
<span class="label label-warning" trspan="noDatas"></span>
|
|
|
|
</div>
|
|
|
|
<ol ui-tree-nodes="" ng-model="data">
|
|
|
|
<li ng-repeat="node in data track by node.id" ui-tree-node ng-include="'nodes_renderer.html'" collapsed="true"></li>
|
|
|
|
</ol>
|
|
|
|
</div>
|
|
|
|
</section>
|
|
|
|
</div>
|
|
|
|
<div class="hresizer hidden-xs" resizer="vertical" resizer-left="#left" resizer-right="#right"></div>
|
|
|
|
</aside>
|
|
|
|
|
|
|
|
<!-- Right(main) div -->
|
2016-01-24 09:05:53 +01:00
|
|
|
<div id="right" class="col-lg-8 col-md-8 col-sm-7 col-xs-12 scrollable" ng-class="{'hidden-xs':showT&&!showM}">
|
2015-05-14 08:44:38 +02:00
|
|
|
<!-- Menu buttons -->
|
2018-03-11 23:33:55 +01:00
|
|
|
<div ng-if="currentSession" class="lmmenu navbar navbar-default" ng-class="{'hidden-xs':!showM}">
|
2015-05-14 08:44:38 +02:00
|
|
|
<div class="navbar-collapse" ng-class="{'collapse':!showM}" id="formmenu">
|
|
|
|
<ul class="nav navbar-nav">
|
|
|
|
<li ng-if="currentSession" ng-repeat="button in menu.session" ng-include="'menubutton.html'"></li>
|
|
|
|
<li ng-if="currentSession===null" ng-repeat="button in menu.home" ng-include="'menubutton.html'"></li>
|
2016-01-24 09:05:53 +01:00
|
|
|
<li uib-dropdown class="visible-xs">
|
|
|
|
<a id="langmenu" name="menu" uib-dropdown-toggle data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Menu <span class="caret"></span></a>
|
2017-03-24 16:03:40 +01:00
|
|
|
<ul uib-dropdown-menu aria-labelled-by="langmenu" role="grid">
|
|
|
|
<li ng-repeat="link in links"><a href="{{link.target}}" role="row"><i ng-if="link.icon" class="glyphicon glyphicon-{{link.icon}}"></i> {{translate(link.title)}}</a></li>
|
|
|
|
<li ng-repeat="menulink in menulinks"><a href="{{menulink.target}}" role="row"><i ng-if="menulink.icon" class="glyphicon glyphicon-{{menulink.icon}}"></i> {{translate(menulink.title)}}</a></li>
|
2016-01-05 16:11:36 +01:00
|
|
|
<li ng-include="'languages.html'"></li>
|
|
|
|
</ul>
|
|
|
|
</li>
|
2015-05-14 08:44:38 +02:00
|
|
|
</ul>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="panel panel-default" ng-hide="currentSession===null">
|
2015-07-09 17:38:35 +02:00
|
|
|
<div class="panel-heading">
|
2015-09-07 10:17:02 +02:00
|
|
|
<h1 class="panel-title text-center">{{translate("sessionTitle")}} {{currentSession.id}}</h1>
|
2015-05-14 08:44:38 +02:00
|
|
|
</div>
|
2015-07-09 17:38:35 +02:00
|
|
|
<div class="panel-body">
|
2015-05-14 08:44:38 +02:00
|
|
|
<div class="alert alert-info">
|
|
|
|
<strong>{{translate("sessionStartedAt")}}</strong>
|
|
|
|
{{localeDate(currentSession._utime)}}
|
|
|
|
</div>
|
|
|
|
<div ng-model="currentSession.nodes">
|
|
|
|
<div ng-repeat="node in currentSession.nodes" ng-include="'session_attr.html'"></div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<script type="text/ng-template" id="session_attr.html">
|
2015-09-07 10:17:02 +02:00
|
|
|
<div class="panel panel-default" ng-if="node.nodes">
|
|
|
|
<div class="panel-heading">
|
|
|
|
<h2 class="panel-title text-center">{{translateP(node.title)}}</h2>
|
|
|
|
</div>
|
|
|
|
<table class="table table-striped" ng-model="node.nodes">
|
|
|
|
<tr ng-repeat="node in node.nodes" ng-include="'session_attr.html'"></tr>
|
|
|
|
</table>
|
2015-05-14 08:44:38 +02:00
|
|
|
</div>
|
|
|
|
<div ng-if="!node.nodes">
|
2018-04-19 16:28:49 +02:00
|
|
|
<th ng-if="node.title!='UBK' && node.title!='TOTP' && node.title!='U2F'">{{translate(node.title)}}</th>
|
|
|
|
<td ng-if="node.title!='type' && node.title!='UBK' && node.title!='TOTP' && node.title!='U2F' " >${{node.title}}</td>
|
|
|
|
<td ng-if="node.title=='TOTP' || node.title=='UBK' || node.title=='U2F'">{{node.title}}</td>
|
|
|
|
<th ng-if="node.title=='type'">{{translate(node.value)}}</th>
|
2018-04-28 22:35:18 +02:00
|
|
|
<td class="col-md-3" ng-if="node.title!='type'" >{{node.value}}</td>
|
2018-04-19 16:28:49 +02:00
|
|
|
<th ng-if="node.title=='type'">{{translate(node.epoch)}}</th>
|
2018-04-28 22:35:18 +02:00
|
|
|
<td class="col-md-3" ng-if="node.title=='TOTP' || node.title=='UBK' || node.title=='U2F'">{{localeDate(node.epoch)}}</td>
|
2018-04-19 16:28:49 +02:00
|
|
|
<td></td>
|
2015-05-14 08:44:38 +02:00
|
|
|
</div>
|
|
|
|
</script>
|
|
|
|
|
|
|
|
<script type="text/ng-template" id="nodes_renderer.html">
|
2015-09-07 10:17:00 +02:00
|
|
|
<div ui-tree-handle class="tree-node tree-node-content panel-info" ng-class="{'bg-info':this.$modelValue===currentScope.$modelValue,'tree-node-default':this.$modelValue!==currentScope.$modelValue}">
|
2015-05-14 08:44:38 +02:00
|
|
|
<span ng-if="node.value">
|
2015-09-07 10:17:00 +02:00
|
|
|
<a id="a-{{node.value}}" class="btn btn-node btn-sm" ng-click="stoggle(this)">
|
2015-05-14 08:44:38 +02:00
|
|
|
<span class="glyphicon" ng-class="{'glyphicon-chevron-right': collapsed,'glyphicon-chevron-down': !collapsed}"></span>
|
|
|
|
</a>
|
2016-03-15 23:11:26 +01:00
|
|
|
<span id="s-{{node.value}}" ng-click="stoggle(this)">{{node.title || node.value}} <span class="badge">{{node.count}}</span></span>
|
2015-05-14 08:44:38 +02:00
|
|
|
</span>
|
|
|
|
<span ng-if="node.session">
|
2015-09-07 10:17:00 +02:00
|
|
|
<a class="btn btn-node btn-sm" ng-click="displaySession(this)">
|
2015-09-07 10:17:02 +02:00
|
|
|
<span class="glyphicon glyphicon-eye-open"></span>
|
2015-05-14 08:44:38 +02:00
|
|
|
</a>
|
|
|
|
<span id="s-{{node.session}}" ng-click="displaySession(this)">{{localeDate(node.date)}}</span>
|
|
|
|
</span>
|
|
|
|
</div>
|
|
|
|
<ol ui-tree-nodes="" ng-model="node.nodes" ng-class="{hidden: collapsed}">
|
|
|
|
<li ng-repeat="node in node.nodes track by node.id" ui-tree-node ng-include="'nodes_renderer.html'" collapsed="true"></li>
|
|
|
|
</ol>
|
|
|
|
</script>
|
|
|
|
|
|
|
|
<TMPL_INCLUDE NAME="scripts.tpl">
|
|
|
|
|
2016-01-18 13:13:16 +01:00
|
|
|
<!-- //if:jsminified
|
|
|
|
<script type="text/javascript" src="<TMPL_VAR NAME="STATIC_PREFIX">js/sessions.min.js"></script>
|
|
|
|
//else -->
|
|
|
|
<script type="text/javascript" src="<TMPL_VAR NAME="STATIC_PREFIX">js/sessions.js"></script>
|
|
|
|
<!-- //endif -->
|
2015-05-14 08:44:38 +02:00
|
|
|
|
|
|
|
<TMPL_INCLUDE NAME="footer.tpl">
|