{% trans_default_domain 'security' %}
<h3>
    <span class="fas fa-archive"></span>
    {% trans %}View IDS log{% endtrans %}
    {{ pageSetVar('title', 'View IDS log'|trans) }}
</h3>

<ul class="nav nav-modulelinks">
    <li class="nav-item">
        <a href="{{ path('zikulasecuritycentermodule_idslog_export') }}" title="{% trans %}Download the entire log to a CSV file{% endtrans %}" class="nav-link"><i class="fas fa-download"></i> {% trans %}Export IDS Log{% endtrans %}</a>
    </li>
    <li class="nav-item">
        <a href="{{ path('zikulasecuritycentermodule_idslog_purge') }}" title="{% trans %}Delete the entire log.{% endtrans %}" class="nav-link"><i class="fas fa-trash-alt"></i> {% trans %}Purge IDS Log{% endtrans %}</a>
    </li>
</ul>

{% if paginator.numResults > 0 %}
    {{ form_start(filterForm, {attr: {id: 'zikulaSecurityCenterModuleIdsLogFilterForm', class: 'navbar-form', role: 'navigation'}}) }}
    {{ form_errors(filterForm) }}
    <fieldset>
        <legend>{% trans %}Filter{% endtrans %}</legend>
        {{ form_row(filterForm.uid) }}
        {{ form_row(filterForm.name) }}
        {{ form_row(filterForm.tag) }}
        {{ form_row(filterForm.value) }}
        {{ form_row(filterForm.page) }}
        {{ form_row(filterForm.ip) }}
        {{ form_row(filterForm.impact) }}
        {% if hasFilters %}
            <a href="{{ path('zikulasecuritycentermodule_idslog_view') }}" title="{% trans %}Clear filter{% endtrans %}" class="btn btn-secondary"><i class="fas fa-times"></i> {% trans %}Clear filter{% endtrans %}</a>
        {% endif %}
    </fieldset>
    {{ form_end(filterForm) }}
    <div class="table-responsive">
    <table class="table table-bordered table-striped">
        <colgroup>
            <col id="cName" />
            <col id="cTag" />
            <col id="cValue" />
            <col id="cPage" />
            <col id="cUsername" />
            <col id="cIp" />
            <col id="cImpact" />
            <col id="cFilters" />
            <col id="cDate" />
            <col id="cActions" />
        </colgroup>
        <thead>
            <tr>
                <th id="hName" scope="col" class="text-left">
                    <a href="{{ sort.name.url }}" title="{% trans with {'%s': 'name'} %}Sort by %s{% endtrans %}" class="{{ sort.name.class }}">{% trans %}Name{% endtrans %}</a>
                </th>
                <th id="hTag" scope="col" class="text-left">
                    <a href="{{ sort.tag.url }}" title="{% trans with {'%s': 'tag'} %}Sort by %s{% endtrans %}" class="{{ sort.tag.class }}">{% trans %}Tag{% endtrans %}</a>
                </th>
                <th id="hValue" scope="col" class="text-left">
                    <a href="{{ sort.value.url }}" title="{% trans with {'%s': 'value'} %}Sort by %s{% endtrans %}" class="{{ sort.value.class }}">{% trans %}Value{% endtrans %}</a>
                </th>
                <th id="hPage" scope="col" class="text-left">
                    <a href="{{ sort.page.url }}" title="{% trans with {'%s': 'page'} %}Sort by %s{% endtrans %}" class="{{ sort.page.class }}">{% trans %}Page{% endtrans %}</a>
                </th>
                <th id="hUsername" scope="col" class="text-left">
                    <a href="{{ sort.username.url }}" title="{% trans with {'%s': 'user name'} %}Sort by %s{% endtrans %}" class="{{ sort.username.class }}">{% trans %}User Name{% endtrans %}</a>
                </th>
                <th id="hIp" scope="col" class="text-left">
                    <a href="{{ sort.ip.url }}" title="{% trans with {'%s': 'ip address'} %}Sort by %s{% endtrans %}" class="{{ sort.ip.class }}">{% trans %}IP{% endtrans %}</a>
                </th>
                <th id="hImpact" scope="col" class="text-left">
                    <a href="{{ sort.impact.url }}" title="{% trans with {'%s': 'impact'} %}Sort by %s{% endtrans %}" class="{{ sort.impact.class }}">{% trans %}Impact{% endtrans %}</a>
                </th>
                <th id="hFilters" scope="col" class="text-left">
                    {% trans %}PHPIDS filters used{% endtrans %}
                </th>
                <th id="hDate" scope="col" class="text-left">
                    <a href="{{ sort.date.url }}+DESC" title="{% trans with {'%s': 'date'} %}Sort by %s{% endtrans %}" class="{{ sort.date.class }}">{% trans %}Date{% endtrans %}</a>
                </th>
                <th id="hActions" scope="col" class="text-right">
                    {% trans %}Actions{% endtrans %}
                </th>
            </tr>
        </thead>
        <tbody>
            {% set csrfToken = csrf_token('delete-idsentry') %}
            {% for event in paginator.results %}
                <tr>
                    <td headers="hName">{{ event.name }}</td>
                    <td headers="hTag">{{ event.tag }}</td>
                    <td headers="hValue">{{ event.value }}</td>
                    <td headers="hPage">{{ event.page }}</td>
                    <td headers="hUsername">{{ event.user.uname }}</td>
                    <td headers="hIp">{{ event.ip }}</td>
                    <td headers="hImpact">{{ event.impact }}</td>
                    <td headers="hFilters">
                    {% for filter in event.filters|php('unserialize') %}
                        <a id="f_{{ event.id }}_{{ loop.index }}" href="#f_{{ event.id }}_{{ loop.index }}_content" title="{% trans with {'%s': filter.id} %}PHPIDS filter %s{% endtrans %}" class="eventfilter">{{ filter.id }}</a>{% if not loop.last %}, {% endif %}
                        <div id="f_{{ event.id }}_{{ loop.index }}_content" style="display: none">
                            <p><strong>{% trans %}Impact{% endtrans %}:</strong> {{ filter.impact }}</p>
                            <p><strong>{% trans %}Description{% endtrans %}:</strong> {{ filter.description }}</p>
                            <p><strong>{% trans %}Rule{% endtrans %}:</strong> {{ filter.rule }}</p>
                        </div>
                    {% endfor %}
                    </td>
                    <td headers="hDate">{{ event.date|format_date('medium') }}</td>
                    <td headers="hActions" class="text-right">
                        <a href="{{ path('zikulasecuritycentermodule_idslog_deleteentry', {id: event.id, token: csrfToken}) }}"><i class="fas fa-times"></i></a>
                    </td>
                </tr>
            {% endfor %}
        </tbody>
    </table>
    </div>
    {{ include(paginator.template) }}
{% else %}
    <p class="alert alert-info text-center">{% trans %}No logged intrusions found.{% endtrans %}</p>
{% endif %}
{{ pageAddAsset('javascript', zasset('@ZikulaSecurityCenterModule:js/ZikulaSecurityCenterModule.IdsLogFilter.js')) }}
