Viewing File: /usr/local/cpanel/whostmgr/docroot/templates/hulkd/views/hulkdBlacklistView.ptt

<div class="row">
    <div class="col-xs-12">
        <h3>[% locale.maketext('Blacklist') %]</h3>
        <div class="alert alert-info">
            <span class="glyphicon glyphicon-info-sign"></span>
            <div class="alert-message">
                [% locale.maketext('[output,strong,Note:] IP addresses on the blacklist can never log in to your server.') %]
            </div>
        </div>
    </div>
</div>
<div class="row">
    <div class="col-md-5">
        <div class="row batch-subform" id="blacklist_batch_subform">
            <div class="col-md-12">
                <form class="layout-medium" novalidate ng-submit="add_to_blacklist()" ng-hide="ip_being_edited">
                    <div class="form-group">
                        <label id="lblBlacklistBatchAdd" for="blacklist_batch_add">
                            [% locale.maketext('New Blacklist Records') %]
                        </label>
                        <span class="glyphicon glyphicon-info-sign"
                            role="tooltip"
                            tabindex="0"
                            aria-describedby="lblBlacklistBatchAdd"
                            uib-tooltip-template="'ip-examples-tooltip.html'"
                            tooltip-trigger="keyup click"
                            tooltip-placement="top"></span>
                        <textarea id="blacklist_batch_add"
                            class="form-control no-expand"
                            rows="10"
                            ng-model="new_blacklist_records"
                            placeholder="[% locale.maketext('Enter one or more IP addresses, one address per line.') %]"></textarea>
                        <span class="help-block">
                            <p>
                                [% locale.maketext('You may include an optional comment with each IP address.') %]<br/><br/>
                                <strong>[% locale.maketext('Example:') %]</strong>
                                <code>
                                    169.254.1.1 # [% locale.maketext('Comment for this IP address.') %]
                                </code>
                            </p>
                            <p>
                                [% locale.maketext('You can also paste in the contents of a previously downloaded blacklist.') %]
                            </p>
                        </span>
                    </div>
                    <div class="form-group">
                        <button type="submit" class="btn btn-primary btn-loading add_button">
                            <span ng-show="adding_batch_to_blacklist" class="glyphicon glyphicon-refresh fa-spin"></span>
                            <span ng-hide="adding_batch_to_blacklist" class="btn-label">[% locale.maketext('Add') %]</span>
                        </button>
                    </div>
                </form>
                <form class="layout-medium" novalidate id="blacklist_comment_editor" ng-show="ip_being_edited" ng-submit="update_blacklist_comment()">
                    <div class="form-group">
                        <label for="blacklist_current_ip">[% locale.maketext("IP Address") %]</label>
                        <input id="blacklist_current_ip" type="text" ng-model="current_ip" class="form-control" disabled>
                    </div>
                    <div class="form-group">
                        <label for="blacklist_current_comment">[% locale.maketext("Comment") %]</label>
                        <textarea ng-model="current_comment" id="blacklist_current_comment" rows="3" maxlength="255" placeholder="[% locale.maketext('Enter comment (255 characters maximum).') %]" class="form-control no-expand"></textarea>
                    </div>
                    <div class="form-group">
                        <button type="submit" class="btn btn-primary btn-loading add_button">
                            <span ng-show="updating_comment" class="glyphicon glyphicon-refresh fa-spin"></span>
                            <span ng-hide="updating_comment" class="btn-label">[% locale.maketext('Update') %]</span>
                        </button>
                        <button type="button" ng-hide="updating_comment" class="btn btn-link" ng-click="cancel_blacklist_editing()">[% locale.maketext('Cancel') %]</button>
                    </div>
                </form>
            </div>
        </div>
    </div>
    <div class="col-md-7">
        <div class="row search-page-container">
            <div class="col-lg-6 col-md-12 col-sm-12 col-xs-12">
                <div class="search-input-group input-group">
                    <input name="find" id="blacklist-search"
                                placeholder="[% locale.maketext('Search') %]"
                                class="form-control filter-list-input"
                                title="[% locale.maketext('Type in your search filter.') %]"
                                autocomplete="off"
                                ng-model="meta.filter"
                                ng-change="filterList()"
                                ng-debounce
                    />
                    <div id="blacklist-searchAction" class="input-group-btn search-list search">
                        <button class="btn btn-default" ng-click="toggleFilter()">
                            <span class="glyphicon" ng-class="{ 'glyphicon-search': !meta.filter, 'glyphicon-remove': meta.filter }" ></span>
                        </button>
                    </div>
                </div>
            </div>
            <div class="col-lg-6 col-md-12 col-sm-12 col-xs-12 text-right">
                <div class="pagination-container">
                    <page-size id="ddlPageSize"
                        allowed-sizes="meta.pageSizes"
                        total-items="meta.filteredItems"
                        ng-model="meta.pageSize"
                        show-all="true"
                        ng-change="selectPageSize()">
                    </page-size>
                    <uib-pagination id="topPager"
                        ng-change="selectPage(page)"
                        ng-model="meta.currentPage"
                        max-size="meta.maxPages"
                        items-per-page="meta.pageSize"
                        total-items="meta.filteredItems"
                        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">
            <div class="col-xs-12">
                <p class="text-right" ng-show="!meta.filter">
                    {{ LOCALE.maketext("Displaying [_1] to [_2] out of [quant,_3,record,records].", meta.pageNumberStart, meta.pageNumberEnd, meta.totalItems) }}
                </p>
                <p class="text-right" ng-show="meta.filter">
                    {{ LOCALE.maketext("Displaying [quant,_1,record,records] out of [quant,_2,record,records].", meta.filteredList ? meta.filteredList.length : 0, meta.totalItems) }}
                </p>
            </div>
        </div>
        <table id="blacklist_table" class="table table-striped">
            <colgroup>
                <col class="checkbox_colgroup">
                <col class="ip_colgroup">
                <col class="comment_colgroup">
                <col class="action_colgroup">
                <col class="gear_colgroup">
            </colgroup>
            <thead>
                <tr>
                    <th class="checkbox_column">
                        <input type="checkbox"
                            id="blacklist_select_all_checkbox"
                            title="[% locale.maketext('Click to select all IP addresses.') %]"
                            ng-disabled="!blacklist.length || ip_being_edited"
                            ng-click="toggle_blacklist_selection()">
                    </th>
                    <th class="ip_column">
                        <span toggle-sort id="sortIp" onsort="sortList" sort-meta="meta" sort-field="black_ip">
                            [% locale.maketext('IP Address') %]
                        </span>
                    </th>
                    <th class="comment_column">
                        <span toggle-sort id="sortComments" onsort="sortList" sort-meta="meta" sort-field="comment">
                            [% locale.maketext('Comment') %]
                        </span>
                    </th>
                    <th class="actions_header">[% locale.maketext('Actions') %]</th>
                    <th class="gear_column">
                        <span class="dropdown" uib-dropdown>
                        <a href class="dropdown-toggle" uib-dropdown-toggle ng-class="{disabled: ip_being_edited}">
                          <span class="fas fa-cog fa-lg"></span>
                        </a>
                        <ul class="dropdown-menu[%- IF locale.get_html_dir_attr() != 'rtl' -%] dropdown-menu-right[% END %] gear_menu" uib-dropdown-menu>
                            <li ng-class="{disabled: !blacklist.length || ip_being_edited}">
                                <a href ng-click="select_all_blacklist();">[% locale.maketext('Select All') %]</a>
                            </li>
                            <li ng-class="{disabled: !blacklist.length || ip_being_edited || !itemsAreChecked()}">
                                <a href ng-click="deselect_all_blacklist();">[% locale.maketext('Clear Selection') %]</a>
                            </li>
                            <li class="divider"></li>
                            <li ng-class="{disabled: !blacklist.length || ip_being_edited || !downloadAllLink }">
                                <a download="{{ downloadName() }}" ng-href="{{ downloadAllLink }}">[% locale.maketext('Download All') %]</a>
                            </li>
                            <li ng-class="{disabled: !blacklist.length || ip_being_edited || !itemsAreChecked() || !downloadSelectionLink}">
                                <a download="{{ downloadName() }}" href="{{ downloadSelectionLink }}">[% locale.maketext('Download Selected') %]</a>
                            </li>
                            <li class="divider"></li>
                            <li ng-class="{disabled: !blacklist.length || ip_being_edited}">
                                <a href ng-click="confirm_delete_all();">[% locale.maketext('Delete All') %]</a>
                            </li>
                            <li ng-class="{disabled: !blacklist.length || ip_being_edited || !itemsAreChecked()}">
                                <a href ng-click="confirm_blacklist_deletion();">[% locale.maketext('Delete Selected') %]</a>
                            </li>
                            <li class="divider"></li>
                            <li>
                                <a href ng-click="force_load_blacklist();">[% locale.maketext('Reload Blacklist from Server') %]</a>
                            </li>
                        </ul>
                      </span>
                    </th>
                </tr>
            </thead>
            <tbody>
                <tr id="empty_blacklist_notice"
                    class="info empty-row"
                    ng-show="loading || meta.totalItems === 0 || meta.filteredList.length === 0">
                    <td colspan="5">
                        <span id="loading_blacklist_message" ng-show="loading">
                            <i id="loading_blacklist_spinner" class="fas fa-spinner fa-spin"></i> [% locale.maketext('Loading blacklist data …') %]
                        </span>
                        <span id="empty_blacklist_message" ng-show="!loading && meta.totalItems === 0">
                            [% locale.maketext('The blacklist is empty.') %]
                        </span>
                        <span id="no_match_blacklist_message" ng-show="!loading && meta.totalItems > 0 && meta.filteredList.length === 0">
                            [% locale.maketext('No blacklist entries match the filter.') %]
                        </span>
                    </td>
                </tr>
                <tr ng-repeat="black_ip in meta.filteredList">
                    <td class="checkbox_column">
                        <input type="checkbox"
                            id="blacklist_{{black_ip}}_checked"
                            class="blacklist_select_item"
                            title="[% locale.maketext('Click to select “[_1]”.', '{{black_ip}}') %]"
                            data-ip="{{black_ip}}"
                            ng-disabled="ip_being_edited"
                            ng-click="check_blacklist_selection()">
                    </td>
                    <td class="ip_column" ng-bind-html="splitLongIp(black_ip)"></td>
                    <td class="comment_column wordbreak">{{blacklist_comments[black_ip]}}</td>
                    <td>
                        <button class="btn btn-link" ng-click="confirm_blacklist_deletion(black_ip)" ng-disabled="ip_being_edited" ng-attr-title="{{edit_tooltip(black_ip)}}">
                        <span class="glyphicon glyphicon-trash"></span>
                        [% locale.maketext('Delete') %]
                        </button>
                        <button class="btn btn-link" ng-click="edit_blacklist_ip(black_ip)" ng-disabled="ip_being_edited" ng-attr-title="{{delete_tooltip(black_ip)}}">
                        <span class="glyphicon glyphicon-pencil"></span>
                        [% locale.maketext('Edit') %]
                        </button>
                    </td>
                    <td></td>
                </tr>
            </tbody>
        </table>
    </div>
</div>

Back to Directory File Manager