<form action="[% c.uri_for() %]" METHOD="POST">
<select name="country">
<option value="">--</option>
[% FOREACH country = c.model('Mirrors').country_list_with_mirror %]
<option value="[% country.code %]" [% "selected=select" IF country.code == c.req.param('country') %]>[% country.name | html %]</option>
[% END %]
</select>
<select name="protocol">
<option value="">--</option>
[% FOREACH p = c.model('Mirrors').protocol_list %]
<option value="[% p %]" [% "selected=select" IF p == c.req.param('protocol') %]>[% p %]</option>
[% END %]
</select>

<input type="submit">
</form>

[% db = c.model('Mirrors') %]
[% mirrorslist = db.find_mirrors({
    'protocol' => c.req.param('protocol'),
    'country'  => c.req.param('country'),
}) %]
[% FOREACH item = mirrorslist %]
[% IF loop.first %]
<table border=1>
<tr>
    <th>Server name</th>
    <th>Location</th>
    <th>Bandwidth</th>
    <th>Source</th>
    <th>Urls</th>
<tr>
[% END %]
<tr>
[% urls = db.find_urls({ "hostname" => item.hostname }) %]
<td>
<a href="[% c.uri_for('/mirrors', item.hostname) %]">[% item.hostname | html %]</a>
</td>
<td>
[% IF item.name %]
[% item.continent | html %], [% item.name | html %]
[% END %]
</td>
<td>
[% c.model('Mirrors').bandwidth_name(item.bandwidth) | html %]
</td>
<td>
[% item.syncfrom | html %]
</td>
<td>
[% IF item.public %]
[% FOREACH u = urls %]
[% IF u.valid %]
<a href="[% u.url %]">[% u.protocol %]</a>
[% ELSE %]
<span style="color: red">[% u.protocol %]</span>
[% END %]
[% END %]
[% ELSE %]
Private access
[% END %]
</td>
</tr>
[% IF loop.last %]
</table>
[% END %]
[% END %]