📁
SKYSHELL MANAGER
PHP v8.2.31
Create
Create
Path:
root
/
home
/
thevaxnx
/
nativize.com
/
staging
/
wp-includes
/
js
/
tinymce
/
themes
/
Name
Size
Perm
Actions
📁
inlite
-
0755
🗑️
🏷️
🔒
📁
modern
-
0755
🗑️
🏷️
🔒
📄
wp-links-opml.php
6.83 KB
0444
🗑️
🏷️
⬇️
✏️
🔒
Edit: historyView.ptt
[% BLOCK lower_pagination %] <div ng-if="showLowerPagination(meta.[% report %])"> <div class="row hidden-xs hidden-sm"> <div class="col-xs-12 col-md-offset-7 col-md-5"> <p class="text-right">[% locale.maketext("Displaying [_1] to [_2] out of [_3] records", "{{ meta.${report}.pageNumberStart }}", "{{ meta.${report}.pageNumberEnd }}", "{{ meta.${report}.totalRows }}") %]</p> </div> </div> <div class="row search-page-container"> <div class="navbar-right col-xs-12 col-sm-12 col-md-5 col-lg-5"> <div class="pagination-container hidden-xs hidden-sm"> <page-size id="lower[% report | ucfirst %]PageSize" allowed-sizes="meta.pageSizes" total-items="meta.[% report %].totalRows" ng-model="meta.[% report %].pageSize" show-all="false" ng-change="changePageSize('[% report %]')"> </page-size> <uib-pagination id="lower[% report | ucfirst %]Pager" ng-change="fetchPage('[% report %]', page)" ng-model="meta.[% report %].pageNumber" max-size="meta.maxPages" items-per-page="meta.[% report %].pageSize" total-items="meta.[% report %].totalRows" direction-links="true" boundary-links="true" rotate="false" first-text="<<" last-text=">>" previous-text="<" next-text=">" class="pagination-small"> </uib-pagination> </div> </div> </div> </div> [% END %] <section id="actionArea"> <div class="row"> <div class="col-xs-12 col-sm-6 col-md-6"> <form class="form-inline"> <div class="form-group"> <label for="selectTable" class="col-sm-12 control-label">[% locale.maketext("Select a Report:") %]</label> </div> <div class="form-group"> <div class="col-sm-8"> <select name="selectTable" id="selectTable" class="form-control" ng-model="selectedTable" ng-disabled="loadingPageData" ng-change="loadTable()"> <option value="failedLogins" selected="selected"> [% locale.maketext('Failed Logins') %]</option> <option value="users"> [% locale.maketext('Blocked Users') %]</option> <option value="brutes"> [% locale.maketext('Blocked IP Addresses') %]</option> <option value="excessiveBrutes"> [% locale.maketext('One-day Blocks') %]</option> </select> </div> </div> </form> </div> <div class="col-xs-12 col-sm-6 col-md-6"> <div class="pull-right"> <button type="button" spinner-id="refreshHistory" cp-action="refreshLogins()" button-class="btn-default" ng-disabled="loadingPageData">[% locale.maketext("Refresh") %]</button> <button type="button" spinner-id="clearHistory" cp-action="clearHistory()" button-class="btn-primary" ng-disabled="clearingHistory">[% locale.maketext("Remove Blocks and Clear Reports") %]</button> </div> </div> </div> </section> <div ng-switch on="selectedTable"> <section id="brutes" ng-switch-when="brutes"> <h3>[% locale.maketext("Blocked IP Addresses") %]</h3> <p>{{ blockedIPsDescription(config_settings) }}</p> <div class="alert alert-info" ng-show="!config_settings.ip_based_protection"> <span class="glyphicon glyphicon-info-sign"></span> <div class="alert-message"> [% locale.maketext("[asis,IP] Address-based protection is currently disabled. [asis,cPHulk] will not create new blocks, but existing blocks will remain.") %] </div> </div> <div class="row search-page-container"> <div class="col-xs-12 col-sm-12 col-md-7 col-lg-7"> <div class="search-container"> <label for="brutesFilter">[% locale.maketext("Filter") %]</label> <div class="search"> <search id="brutesFilter" ng-model="meta.brutes.filterValue" ng-change="search('brutes')"></search> </div> </div> </div> <div class="col-xs-12 col-sm-12 col-md-5 col-lg-5"> <div class="pagination-container hidden-xs hidden-sm"> <page-size id="topBrutesPageSize" allowed-sizes="meta.pageSizes" total-items="meta.brutes.totalRows" ng-model="meta.brutes.pageSize" show-all="false" ng-change="changePageSize('brutes')"> </page-size> <uib-pagination id="topBrutesPager" ng-change="fetchPage('brutes', page)" ng-model="meta.brutes.pageNumber" max-size="meta.maxPages" items-per-page="meta.brutes.pageSize" total-items="meta.brutes.totalRows" direction-links="true" boundary-links="true" rotate="false" first-text="<<" last-text=">>" previous-text="<" next-text=">" class="pagination-small"> </uib-pagination> </div> </div> </div> <div class="row hidden-xs hidden-sm"> <div class="col-xs-12 col-md-offset-7 col-md-5"> <p class="text-right">[% locale.maketext("Displaying [_1] to [_2] out of [_3] records", "{{ meta.brutes.pageNumberStart }}", "{{ meta.brutes.pageNumberEnd }}", "{{ meta.brutes.totalRows }}") %]</p> </div> </div> <table id="brutesTable" class="table table-striped table-condensed"> <thead> <th> <span toggle-sort id="sortIp" onsort="sortBruteList" sort-meta="meta.brutes" sort-field="ip"> [% locale.maketext('IP Address') %] </span> </th> <th> <span toggle-sort id="sortCountry" onsort="sortBruteList" sort-meta="meta.brutes" sort-field="country_code"> [% locale.maketext('Country') %] </span> </th> <th> <span toggle-sort id="sortComments" onsort="sortBruteList" sort-meta="meta.brutes" sort-field="notes"> [% locale.maketext('Notes') %] </span> </th> <th> <span toggle-sort id="sortBegin" onsort="sortBruteList" sort-meta="meta.brutes" sort-field="logintime"> [% locale.maketext('Begin Time') %] </span> <th> <span toggle-sort id="sortExpTime" onsort="sortBruteList" sort-meta="meta.brutes" sort-field="exptime"> [% locale.maketext('Expiration Time') %] </span> </th> <th> <span toggle-sort id="sortTimeLeft" onsort="sortBruteList" sort-meta="meta.brutes" sort-field="timeleft" sort-type="numeric"> [% locale.maketext('Minutes Remaining') %] </span> </th> <th> [% locale.maketext('Actions') %] </th> </thead> <tbody ng-class="{ 'table-overlay': updatingPageData }"> <tr ng-repeat="brute in brutes"> <td>{{ brute.ip }}</td> <td>{{ brute.country_code }}</td> <td ng-bind-html="brute.notes"></td> <td>{{ brute.logintime }}</td> <td>{{ brute.exptime }}</td> <td>{{ brute.timeleft }}</td> <td> <button name="unblock_brute_{{ $id }}" id="unblock_brute_{{ $id }}" class="btn btn-link" ng-click="unBlockAddress(brute.ip, $event)"> <span class='glyphicon glyphicon-trash'></span> [% locale.maketext('Remove Block') %]</button> </td> </tr> <tr class="info emptyrow" ng-hide="brutes.length" ng-switch="loadingPageData"> <td colspan="7" id="noRecords" ng-switch-when="true"> <i id="loading_brutes_spinner" class="fas fa-spinner fa-spin"></i> [% locale.maketext('The system is retrieving the Blocked IP Addresses list.') %] </td> <td colspan="7" id="noRecords" ng-switch-default>[% locale.maketext('The Blocked IP Addresses list is empty.') %]</td> </tr> </tbody> </table> [% INCLUDE lower_pagination report='brutes' %] <div class="search-page-container visible-sm-block visible-xs-block hidden-lg hidden-md"> <div class="row"> <div class="col-xs-12 col-sm-12"> <div> <uib-pagination id="bottomBrutesPager" ng-change="fetchPage('brutes', page)" ng-model="meta.brutes.pageNumber" max-size="meta.maxPages" items-per-page="meta.brutes.pageSize" total-items="meta.brutes.totalRows" direction-links="true" boundary-links="true" rotate="false" first-text="<<" last-text=">>" previous-text="<" next-text=">"></uib-pagination> </div> </div> </div> <div class="row"> <div class="col-xs-12 col-sm-12"> <p>[% locale.maketext("Displaying [_1] to [_2] out of [_3] records", "{{ meta.brutes.pageNumberStart }}", "{{ meta.brutes.pageNumberEnd }}", "{{ meta.brutes.totalRows }}") %]</p> </div> </div> </div> </section> <section id="excessiveBrutes" ng-switch-when="excessiveBrutes"> <h3>[% locale.maketext("One-day Blocks") %]</h3> <p>[% locale.maketext('The system blocks IP addresses with excessive login failures for a duration of “[_1]” [numerate,_1,day,days].', "1") %]</p> <div class="alert alert-info" ng-show="!config_settings.ip_based_protection"> <span class="glyphicon glyphicon-info-sign"></span> <div class="alert-message"> [% locale.maketext("[asis,IP] Address-based protection is currently disabled. [asis,cPHulk] will not create new blocks, but existing blocks will remain.") %] </div> </div> <div class="row search-page-container"> <div class="col-xs-12 col-sm-12 col-md-7 col-lg-7"> <div class="search-container"> <label for="excessiveBrutesFilter">[% locale.maketext("Filter") %]</label> <div class="search"> <search id="excessiveBrutesFilter" ng-model="meta.excessiveBrutes.filterValue" ng-change="search('excessiveBrutes')"></search> </div> </div> </div> <div class="col-xs-12 col-sm-12 col-md-5 col-lg-5"> <div class="pagination-container hidden-xs hidden-sm"> <page-size id="topExcessiveBrutesPageSize" allowed-sizes="meta.pageSizes" total-items="meta.excessiveBrutes.totalRows" ng-model="meta.excessiveBrutes.pageSize" show-all="false" ng-change="changePageSize('excessiveBrutes')"> </page-size> <uib-pagination id="topExcessiveBrutesPager" ng-change="fetchPage('excessiveBrutes', page)" ng-model="meta.excessiveBrutes.pageNumber" max-size="meta.maxPages" items-per-page="meta.excessiveBrutes.pageSize" total-items="meta.excessiveBrutes.totalRows" direction-links="true" boundary-links="true" rotate="false" first-text="<<" last-text=">>" previous-text="<" next-text=">" class="pagination-small"> </uib-pagination> </div> </div> </div> <div class="row hidden-xs hidden-sm"> <div class="col-xs-12 col-md-offset-7 col-md-5"> <p class="text-right">[% locale.maketext("Displaying [_1] to [_2] out of [_3] records", "{{ meta.excessiveBrutes.pageNumberStart }}", "{{ meta.excessiveBrutes.pageNumberEnd }}", "{{ meta.excessiveBrutes.totalRows }}") %]</p> </div> </div> <table id="excessiveBrutesTable" class="table table-striped table-condensed"> <thead> <th> <span toggle-sort id="sortIp" onsort="sortExcessiveBruteList" sort-meta="meta.excessiveBrutes" sort-field="ip"> [% locale.maketext('IP Address') %] </span> </th> <th> <span toggle-sort id="sortCountry" onsort="sortExcessiveBruteList" sort-meta="meta.excessiveBrutes" sort-field="country_code"> [% locale.maketext('Country') %] </span> </th> <th> <span toggle-sort id="sortComments" onsort="sortExcessiveBruteList" sort-meta="meta.excessiveBrutes" sort-field="notes"> [% locale.maketext('Notes') %] </span> </th> <th> <span toggle-sort id="sortBegin" onsort="sortExcessiveBruteList" sort-meta="meta.excessiveBrutes" sort-field="logintime"> [% locale.maketext('Begin Time') %] </span> </th> <th> <span toggle-sort id="sortExpTime" onsort="sortExcessiveBruteList" sort-meta="meta.excessiveBrutes" sort-field="exptime"> [% locale.maketext('Expiration Time') %] </span> </th> <th> <span toggle-sort id="sortTimeLeft" onsort="sortExcessiveBruteList" sort-meta="meta.excessiveBrutes" sort-field="timeleft" sort-type="numeric"> [% locale.maketext('Minutes Remaining') %] </span> </th> <th> [% locale.maketext('Actions') %] </th> </thead> <tbody ng-class="{ 'table-overlay': updatingPageData }"> <tr ng-repeat="brute in excessiveBrutes"> <td>{{ brute.ip }}</td> <td>{{ brute.country_code }}</td> <td ng-bind-html="brute.notes"></td> <td>{{ brute.logintime }}</td> <td>{{ brute.exptime }}</td> <td>{{ brute.timeleft }}</td> <td> <button name="unblock_excessive_brute_{{ $id }}" id="unblock_excessive_brute_{{ $id }}" class="btn btn-link" ng-click="unBlockAddress(brute.ip, $event)"> <span class='glyphicon glyphicon-trash'></span> [% locale.maketext('Remove Block') %]</button> </td> </tr> <tr class="info emptyrow" ng-hide="excessiveBrutes.length" ng-switch="loadingPageData"> <td colspan="7" id="noRecords" ng-switch-when="true"> <i id="loading_brutes_spinner" class="fas fa-spinner fa-spin"></i> [% locale.maketext('The system is retrieving the One-day Blocks list.') %] </td> <td colspan="7" id="noRecords" ng-switch-default>[% locale.maketext('The One-day Blocks list is empty.') %]</td> </tr> </tbody> </table> [% INCLUDE lower_pagination report='excessiveBrutes' %] <div class="search-page-container visible-sm-block visible-xs-block hidden-lg hidden-md"> <div class="row"> <div class="col-xs-12 col-sm-12"> <div> <uib-pagination id="bottomExcessiveBrutesPager" ng-change="fetchPage('excessiveBrutes', page)" ng-model="meta.excessiveBrutes.pageNumber" max-size="meta.maxPages" items-per-page="meta.excessiveBrutes.pageSize" total-items="meta.excessiveBrutes.totalRows" direction-links="true" boundary-links="true" rotate="false" first-text="<<" last-text=">>" previous-text="<" next-text=">"></uib-pagination> </div> </div> </div> <div class="row"> <div class="col-xs-12 col-sm-12"> <p>[% locale.maketext("Displaying [_1] to [_2] out of [_3] records", "{{ meta.excessiveBrutes.pageNumberStart }}", "{{ meta.excessiveBrutes.pageNumberEnd }}", "{{ meta.excessiveBrutes.totalRows }}") %]</p> </div> </div> </div> </section> <section id="blockedUsers" ng-switch-when="users"> <h3>[% locale.maketext("Blocked Users") %]</h3> <p> {{ blockedUsersDescription(config_settings) }} </p> <div class="alert alert-info" ng-show="!config_settings.username_based_protection && !config_settings.username_based_protection_local_origin"> <span class="glyphicon glyphicon-info-sign"></span> <div class="alert-message"> [% locale.maketext("Username-based protection is currently disabled. [asis,cPHulk] will not lock user accounts, but existing account locks will remain.") %] </div> </div> <div class="row search-page-container"> <div class="col-xs-12 col-sm-12 col-md-7 col-lg-7"> <div class="search-container"> <label for="blockedUsersFilter">[% locale.maketext("Filter") %]</label> <div class="search"> <search id="blockedUsersFilter" ng-model="meta.users.filterValue" ng-change="search('users')"></search> </div> </div> </div> <div class="col-xs-12 col-sm-12 col-md-5 col-lg-5"> <div class="pagination-container hidden-xs hidden-sm"> <page-size id="topBlockedUsersPageSize" allowed-sizes="meta.pageSizes" total-items="meta.users.totalRows" ng-model="meta.users.pageSize" show-all="false" ng-change="changePageSize('users')"> </page-size> <uib-pagination id="topBlockedUsersPager" ng-change="fetchPage('users', page)" ng-model="meta.users.pageNumber" max-size="meta.maxPages" items-per-page="meta.users.pageSize" total-items="meta.users.totalRows" direction-links="true" boundary-links="true" rotate="false" first-text="<<" last-text=">>" previous-text="<" next-text=">" class="pagination-small"> </uib-pagination> </div> </div> </div> <div class="row hidden-xs hidden-sm"> <div class="col-xs-12 col-md-offset-7 col-md-5"> <p class="text-right">[% locale.maketext("Displaying [_1] to [_2] out of [_3] records", "{{ meta.users.pageNumberStart }}", "{{ meta.users.pageNumberEnd }}", "{{ meta.users.totalRows }}") %]</p> </div> </div> <table id="blockedUsersTable" class="table table-striped table-condensed"> <thead> <th> <span toggle-sort id="sortUser" onsort="sortBlockedUsers" sort-meta="meta.users" sort-field="user"> [% locale.maketext('User') %] </span> </th> <th> <span toggle-sort id="sortLoginIP Address" onsort="sortBlockedUsers" sort-meta="meta.users" sort-field="ip"> [% locale.maketext('IP Address') %] </span> </th> <th> <span toggle-sort id="sortLoginCountry" onsort="sortBlockedUsers" sort-meta="meta.users" sort-field="country_code"> [% locale.maketext('Country') %] </span> </th> <th> <span toggle-sort id="sortService" onsort="sortBlockedUsers" sort-meta="meta.users" sort-field="service"> [% locale.maketext('Service') %] </span> </th> <th> <span toggle-sort id="sortAuthService" onsort="sortBlockedUsers" sort-meta="meta.users" sort-field="authservice"> [% locale.maketext('Authentication Service') %] </span> </th> <th> <span toggle-sort id="sortLoginTime" onsort="sortBlockedUsers" sort-meta="meta.users" sort-field="logintime"> [% locale.maketext('Login Time') %] </span> </th> <th> <span toggle-sort id="sortExpTime" onsort="sortBlockedUsers" sort-meta="meta.users" sort-field="exptime"> [% locale.maketext('Expiration Time') %] </span> </th> <th> <span toggle-sort id="sortTimeLeft" onsort="sortBlockedUsers" sort-meta="meta.users" sort-field="timeleft" sort-type="numeric"> [% locale.maketext('Minutes Remaining') %] </span> </th> </thead> <tbody ng-class="{ 'table-overlay': updatingPageData }"> <tr ng-repeat="user in users"> <td ng-bind-html="user.user"></td> <td>{{ user.ip }}</td> <td>{{ user.country_code }}</td> <td ng-bind-html="user.service"></td> <td ng-bind-html="user.authservice"></td> <td>{{ user.logintime }}</td> <td>{{ user.exptime }}</td> <td>{{ user.timeleft }}</td> </tr> <tr class="info emptyrow" ng-hide="users.length" ng-switch="loadingPageData"> <td colspan="8" id="noRecords" ng-switch-when="true"> <i id="loading_users_spinner" class="fas fa-spinner fa-spin"></i> [% locale.maketext('The system is retrieving the Blocked Users list.') %] </td> <td colspan="8" id="noRecords" ng-switch-default>[% locale.maketext('The Blocked Users list is empty.') %]</td> </tr> </tbody> </table> [% INCLUDE lower_pagination report='users' %] <div class="search-page-container visible-sm-block visible-xs-block hidden-lg hidden-md"> <div class="row"> <div class="col-xs-12 col-sm-12"> <div> <uib-pagination id="bottomBlockedUsersPager" ng-change="fetchPage('users', page)" ng-model="meta.users.pageNumber" max-size="meta.maxPages" items-per-page="meta.users.pageSize" total-items="meta.users.totalRows" direction-links="true" boundary-links="true" rotate="false" first-text="<<" last-text=">>" previous-text="<" next-text=">"></uib-pagination> </div> </div> </div> <div class="row"> <div class="col-xs-12 col-sm-12"> <p>[% locale.maketext("Displaying [_1] to [_2] out of [_3] records", "{{ meta.users.pageNumberStart }}", "{{ meta.users.pageNumberEnd }}", "{{ meta.users.totalRows }}") %]</p> </div> </div> </div> </section> <section id="failedLogins" ng-switch-default> <h3>[% locale.maketext("Failed Logins") %]</h3> <p>{{ lookbackPeriodMinsDescription(config_settings) }}</p> <div class="row search-page-container"> <div class="col-xs-12 col-sm-12 col-md-7 col-lg-7"> <div class="search-container"> <label for="failedLoginsFilter">[% locale.maketext("Filter") %]</label> <div class="search"> <search id="failedLoginsFilter" ng-model="meta.logins.filterValue" ng-change="search('logins')"></search> </div> </div> </div> <div class="col-xs-12 col-sm-12 col-md-5 col-lg-5"> <div class="pagination-container hidden-xs hidden-sm"> <page-size id="topFailedLoginsPageSize" allowed-sizes="meta.pageSizes" total-items="meta.logins.totalRows" ng-model="meta.logins.pageSize" show-all="false" ng-change="changePageSize('logins')"> </page-size> <uib-pagination id="topFailedLoginsPager" ng-change="fetchPage('logins', page)" ng-model="meta.logins.pageNumber" max-size="meta.maxPages" items-per-page="meta.logins.pageSize" total-items="meta.logins.totalRows" direction-links="true" boundary-links="true" rotate="false" first-text="<<" last-text=">>" previous-text="<" next-text=">" class="pagination-small"> </uib-pagination> </div> </div> </div> <div class="row hidden-xs hidden-sm"> <div class="col-xs-12 col-md-offset-7 col-md-5"> <p class="text-right">[% locale.maketext("Displaying [_1] to [_2] out of [_3] records", "{{ meta.logins.pageNumberStart }}", "{{ meta.logins.pageNumberEnd }}", "{{ meta.logins.totalRows }}") %]</p> </div> </div> <table id="failedLoginsTable" class="table table-striped table-condensed"> <thead> <th> <span toggle-sort id="sortUser" onsort="sortLoginList" sort-meta="meta.logins" sort-field="user"> [% locale.maketext('User') %] </span> </th> <th> <span toggle-sort id="sortLoginIP Address" onsort="sortLoginList" sort-meta="meta.logins" sort-field="ip"> [% locale.maketext('IP Address') %] </span> </th> <th> <span toggle-sort id="sortCountry" onsort="sortLoginList" sort-meta="meta.logins" sort-field="country_code"> [% locale.maketext('Country') %] </span> </th> <th> <span toggle-sort id="sortService" onsort="sortLoginList" sort-meta="meta.logins" sort-field="service"> [% locale.maketext('Service') %] </span> </th> <th> <span toggle-sort id="sortAuthService" onsort="sortLoginList" sort-meta="meta.logins" sort-field="authservice"> [% locale.maketext('Authentication Service') %] </span> </th> <th> <span toggle-sort id="sortLoginTime" onsort="sortLoginList" sort-meta="meta.logins" sort-field="logintime"> [% locale.maketext('Login Time') %] </span> </th> <th> <span toggle-sort id="sortExpTime" onsort="sortLoginList" sort-meta="meta.logins" sort-field="exptime"> [% locale.maketext('Expiration Time') %] </span> </th> <th> <span toggle-sort id="sortTimeLeft" onsort="sortLoginList" sort-meta="meta.logins" sort-field="timeleft" sort-type="numeric"> [% locale.maketext('Minutes Remaining') %] </span> </th> </thead> <tbody ng-class="{ 'table-overlay': updatingPageData }"> <tr ng-repeat="failure in logins"> <td ng-bind-html="failure.user"></td> <td>{{ failure.ip }}</td> <td>{{ failure.country_code }}</td> <td ng-bind-html="failure.service"></td> <td ng-bind-html="failure.authservice"></td> <td>{{ failure.logintime }}</td> <td>{{ failure.exptime }}</td> <td>{{ failure.timeleft }}</td> </tr> <tr class="info emptyrow" ng-hide="logins.length" ng-switch="loadingPageData"> <td colspan="8" id="noRecords" ng-switch-when="true"> <i id="loading_logins_spinner" class="fas fa-spinner fa-spin"></i> [% locale.maketext('The system is retrieving the Failed Logins list.') %] </td> <td colspan="8" id="noRecords" ng-switch-default>[% locale.maketext('The Failed Logins list is empty.') %]</td> </tr> </tbody> </table> [% INCLUDE lower_pagination report='logins' %] <div class="search-page-container visible-sm-block visible-xs-block hidden-lg hidden-md"> <div class="row"> <div class="col-xs-12 col-sm-12"> <div> <uib-pagination id="bottomFailedLoginsPager" ng-change="fetchPage('logins', page)" ng-model="meta.logins.pageNumber" max-size="meta.maxPages" items-per-page="meta.logins.pageSize" total-items="meta.logins.totalRows" direction-links="true" boundary-links="true" rotate="false" first-text="<<" last-text=">>" previous-text="<" next-text=">"></uib-pagination> </div> </div> </div> <div class="row"> <div class="col-xs-12 col-sm-12"> <p>[% locale.maketext("Displaying [_1] to [_2] out of [_3] records", "{{ meta.logins.pageNumberStart }}", "{{ meta.logins.pageNumberEnd }}", "{{ meta.logins.totalRows }}") %]</p> </div> </div> </div> </section> </div>
Save