{% set ishidden = 0 %}
<div class="rule-right">
{% if paginator.start > 0 %}
<div class="rule-right-item rule-right-arrow">
{% set num = paginator.results - paginator.start %}
{% set queryParams = app.request.attributes.all._route_params|merge(app.request.query.all) %}
{% if num == 0 %}
{% set queryParams = queryParams|filter((v, k) => k != 'start') %}
{% else %}
{% set queryParams = queryParams|merge({'start': paginator.newp}) %}
{% endif %}
<a href="{{ path(app.request.attributes.get('_route'), queryParams) }}">←</a>
</div>
{% endif %}
{% for i in 1..paginator.count %}
{% if paginator.count > 1 %}
{% if (i < 6) or (paginator.aa == i - 2) or (paginator.aa == i - 1) or (paginator.aa == i) or (i > paginator.count - 5) %}
{% set ishidden = 1 %}
<div class="rule-right-item{% if paginator.aa == i-1 %} active {%endif%}">
{% if paginator.aa == i - 1 %}
{{ i }}
{% else %}
{% set num = paginator.results * (i - 1) %}
{% set queryParams = app.request.attributes.all._route_params|merge(app.request.query.all) %}
{% if num == 0 %}
{% set queryParams = queryParams|filter((v, k) => k != 'start') %}
{% else %}
{% set queryParams = queryParams|merge({'start': num}) %}
{% endif %}
<a href="{{ path(app.request.attributes.get('_route'), queryParams) }}">{{ i }}</a>
{% endif %}
</div>
{% endif %}
{% else %}
{% if ishidden == 1 %}
<div class="rule-right-item">...</div>
{% endif %}
{% set ishidden = 0 %}
{% endif %}
{% endfor %}
{% if paginator.start < paginator.cnt - paginator.results %}
{% set newp = paginator.start + paginator.results %}
<div class="rule-right-item rule-right-arrow">
<a href="{{ path(app.request.attributes.get('_route'), app.request.attributes.all._route_params|merge(app.request.query.all)|merge({'start': newp})) }}">→</a>
</div>
{% endif %}
{% if paginator.count > 1 %}
<div class="gotopage">
<div class="rule-right-item rule-right-page">
<input type="text" name="goto" placeholder="{{ paginator.aa + 1 }}">
</div>
<div class="rule-right-item rule-right-arrow rule-right-goto">
<a href="{{ path(app.request.attributes.get('_route'), app.request.attributes.all._route_params|merge(app.request.query.all)|merge({'start': 'x'})) }}" data-results="{{ paginator.results }}">{{ labels.get('block-modal-city-1')|raw }}</a>
</div>
</div>
{% endif %}
</div>
<div class="m-rule-right">
{% if paginator.start > 0 %}
<div class="rule-right-item rule-right-arrow">
{% set num = paginator.results - paginator.start %}
{% set queryParams = app.request.attributes.all._route_params|merge(app.request.query.all) %}
{% if num == 0 %}
{% set queryParams = queryParams|filter((v, k) => k != 'start') %}
{% else %}
{% set queryParams = queryParams|merge({'start': paginator.newp}) %}
{% endif %}
<a href="{{ path(app.request.attributes.get('_route'), queryParams) }}">←</a>
</div>
{% endif %}
{% for i in 1..paginator.count %}
{% if paginator.count > 1 %}
{% if (i < 2) or (paginator.aa == i - 2) or (paginator.aa == i - 1) or (paginator.aa == i) or (i > paginator.count - 1) or ((paginator.aa == 3) and (i < 3)) or ((paginator.aa == paginator.count - 4) and (i > paginator.count - 4)) %}
{% set ishidden = 1 %}
<div class="rule-right-item{% if paginator.aa == i-1 %} active {%endif%}">
{% if paginator.aa == i - 1 %}
{{ i }}
{% else %}
{% set num = paginator.results * (i - 1) %}
{% set queryParams = app.request.attributes.all._route_params|merge(app.request.query.all) %}
{% if num == 0 %}
{% set queryParams = queryParams|filter((v, k) => k != 'start') %}
{% else %}
{% set queryParams = queryParams|merge({'start': num}) %}
{% endif %}
<a href="{{ path(app.request.attributes.get('_route'), queryParams) }}">{{ i }}</a>
{# {% set num = paginator.results * (i - 1) %}
<a href="{{ path(app.request.attributes.get('_route'), app.request.attributes.all._route_params|merge(app.request.query.all)|merge({'start': num})) }}">{{ i }}</a> #}
{% endif %}
</div>
{% endif %}
{% else %}
{% if ishidden == 1 %}
<div class="rule-right-item">...</div>
{% endif %}
{% endif %}
{% endfor %}
{% if paginator.start < paginator.cnt - paginator.results %}
{% set newp = paginator.start + paginator.results %}
<div class="rule-right-item rule-right-arrow">
<a href="{{ path(app.request.attributes.get('_route'), app.request.attributes.all._route_params|merge(app.request.query.all)|merge({'start': newp})) }}">→</a>
</div>
{% endif %}
{% if paginator.count > 1 %}
<div class="gotopage">
<div class="rule-right-item rule-right-page">
<input type="text" name="goto" placeholder="{{ paginator.aa + 1}}">
</div>
<div class="rule-right-item rule-right-arrow rule-right-goto">
<a href="{{ path(app.request.attributes.get('_route'), app.request.attributes.all._route_params|merge(app.request.query.all)|merge({'start': 'x'})) }}" data-results="{{ paginator.results }}">{{ labels.get('block-modal-city-1')|raw }}</a>
</div>
</div>
{% endif %}
</div>
<span class="rule-left">
{{ labels.get('rule-1')|raw }}
<b>{{ paginator.start + 1 }}</b>
{{ labels.get('rule-2')|raw }}
<b>
{% if paginator.start + paginator.results > paginator.cnt %}
{{ paginator.cnt }}
{% else %}
{{ paginator.start + paginator.results }}
{% endif %}
</b>
({{ labels.get('rule-3')|raw }} <b>{{ paginator.cnt }}</b>
<span class="hidden-xs">
{% if paginator.name == 'search' %}
{{ labels.get('rule-4')|raw -}}
{% elseif paginator.name == 'prod' %}
{{ labels.get('rule-4')|raw -}}
{% elseif paginator.name == 'user' %}
{{ labels.get('rule-5')|raw -}}
{% elseif paginator.name == 'articles' %}
{{ labels.get('rule-5')|raw -}}
{% elseif paginator.name == 'comments' %}
{{ labels.get('rule-6')|raw -}}
{% elseif paginator.name == 'cart' %}
{{ labels.get('rule-4')|raw -}}
{% else %}
{{ labels.get('rule-7')|raw -}}
{% endif %}</span>)
</span>
<div class="clear"></div>