Edit template for controller - Refine params copy and bring DB opens up to spec with UTF8

This commit is contained in:
2025-10-06 10:57:00 +01:00
parent 29f8de63fd
commit ecb846fc6c
119 changed files with 10059 additions and 36 deletions

View File

@@ -0,0 +1,122 @@
<div>
% my $retref = $c->stash("ret");
% my %ret = $retref ? %$retref : (ret => "");
% my @vars = split(/,/, $ret{vars} // "");
% my ($var1, $var2, $var3, $var4, $var5, $var6, $var7) = @vars;
<br>
% if (config->{debug} == 1) {
<pre>
<%= dumper $c->current_route %>
<%= dumper $c->stash("ret") %>
</pre>
% }
% if ($ret{"ret"} eq "") {
<div>
<%= $c->render_to_string(inline => l("pf_FIRST_PAGE_DESCRIPTION")); %>
</div>
% } elsif (index($ret{ret},"SUCCESS") != -1) {
<div>
<!--<h2> Operation Status Report</h2>-->
<%= $c->render_to_string(inline => l($ret{ret}, @vars[0..6])) %>
</div>
% } else {
<div class="text-danger">
<!--<h2> Operation Status Report - Error</h2>-->
<%= $c->render_to_string(inline => l($ret{ret}, @vars[0..6])) %>
</div>
% }
<br>
<h2><%= l "pf_CREATE_RULE" %></h2>
<form action="/smanager/portforwardingb" method="POST">
<br>
<div>
<%= l "pf_SUMMARY_ADD_DESC" %>
</div>
<br>
<div class="row g-3 align-items-center">
<div class="col-md-1">
<%= l "Protocol" %>
</div>
<div class="col-auto">
<%=select_field "proto"=>["TCP","UDP"], class => "form-select" %>
</div>
</div>
<br>
<div class="row g-3 align-items-center">
<div class="col-md-1">
<label for="inputSourcePort" class="col-form-label"><%= l "pf_LABEL_SOURCE_PORT" %></label>
</div>
<div class="col-auto">
<input type="text" name="sport" id="inputSourcePort" class="form-control" aria-describedby="Source Port">
</div>
</div>
<br>
<div class="row g-3 align-items-center">
<div class="col-md-1">
<label for="inputDestinationPort" class="col-form-label"><%= l "pf_LABEL_DESTINATION_PORT" %></label>
</div>
<div class="col-auto">
<input type="text" name="port" id="inputDestinationPort" class="form-control" aria-describedby="Destination Port">
</div>
</div>
<br>
<div class="row g-3 align-items-center">
<div class="col-md-1">
<label for="inputDestinationHost" class="col-form-label"><%= l "pf_LABEL_DESTINATION_HOST" %></label>
</div>
<div class="col-auto">
<input type="text" name="dhost" id="inputDestinationHost" class="form-control" aria-describedby="Destination Host">
</div>
</div>
<br>
<div class="row g-3 align-items-center">
<div class="col-md-1">
<label for="inputAllowHosts" class="col-form-label"><%= l "pf_ALLOW_HOSTS" %></label>
</div>
<div class="col-auto">
<input type="text" name="allow" id="inputAllowHosts" class="form-control" aria-describedby="Allow Hosts">
</div>
</div>
<br>
<div class="row g-3 align-items-center">
<div class="col-md-1">
<label for="inputRuleComment" class="col-form-label"><%= l "pf_RULE_COMMENT" %></label>
</div>
<div class="col-auto">
<input type="text" name="cmmnt" id="inputRuleComment" class="form-control" aria-describedby="Comment">
</div>
</div>
<br>
% my $btn = l("ADD");
<div class="row g-3 align-items-center">
<div class="col-md-1">
<button type="submit" class="btn btn-primary btn-sm"><%= $btn %></button>
</div>
</div>
</form>
</div>

View File

@@ -0,0 +1,98 @@
<div>
% my $proto = $pf_datas->{proto};
% my $sport = $pf_datas->{sport};
% my $dport = $pf_datas->{dport};
% my $dhost = $pf_datas->{dhost};
% my $cmmnt = $pf_datas->{cmmnt};
% my $allow = $pf_datas->{allow};
% if (config->{debug} == 1) {
<pre>
<%= dumper $c->current_route %>
<%= dumper $c->stash("ret") %>
<%= dumper %$pf_datas %>
</pre>
% }
<form action="/smanager/portforwardinge" method="POST">
<br>
<div>
<%= l "pf_SUMMARY_REMOVE_DESC" %>
</div>
<br>
<table>
<thead>
<th class="col-md-4">&nbsp</th>
<th class="col-md-4">&nbsp</th>
</thead>
<tbody>
<tr >
<td>
<%= l "Protocol" %>
</td>
<td>
<%= $proto %>
</td>
</tr>
<tr>
<td>
<%= l "pf_LABEL_SOURCE_PORT" %>
</td>
<td>
<%= $sport %>
</td>
<tr>
<tr>
<td>
<%= l "pf_LABEL_DESTINATION_HOST" %>
</td>
<td>
<%= $dport %>
</td>
</tr>
<tr>
<td>
<%= l "pf_LABEL_DESTINATION_PORT" %>
</td>
<td>
<%= $dhost %>
</td>
</tr>
<tr>
<td>
<%= l "pf_RULE_COMMENT" %>
</td>
<td>
<%= $cmmnt %>
</td>
</tr>
<tr>
<td>
<%= l "pf_ALLOW_HOSTS" %>
</td>
<td>
<%= $allow %>
</td>
</tr>
</tbody>
</table>
<br>
<%= hidden_field sport=>$sport %>
<%= hidden_field proto=>$proto %>
% my $btn = l("REMOVE");
<div class="row g-3 align-items-center">
<div class="col-md-1">
<button type="submit" class="btn btn-primary btn-sm"><%= $btn %></button>
</div>
</div>
</form>
</div>

View File

@@ -0,0 +1,111 @@
<div>
% my $retref = $c->stash("ret");
% my %ret = $retref ? %$retref : (ret => "");
% my @vars = split(/,/, $ret{vars} // "");
% my ($var1, $var2, $var3, $var4, $var5, $var6, $var7) = @vars;
% my $numtcpforwards = @$tcpforwards;
% my $numudpforwards = @$udpforwards;
% if ($c->app->config->{debug}) {
<pre>
<%= dumper { ret_data => \%ret } %>
</pre>
% }
% if ($ret{ret} eq "") {
<div>
<%= $c->render_to_string(inline => l("pf_FIRST_PAGE_DESCRIPTION")); %>
</div>
% } elsif (index($ret{ret},"SUCCESS") != -1) {
<div>
<h2> Operation Status Report</h2>
<%= $c->render_to_string(inline => l($ret{ret}, @vars[0..6])) %>
</div>
% } else {
<br>
<div class="text-danger">
<h2> Operation Status Report - Error</h2>
<%= $c->render_to_string(inline => l($ret{ret}, @vars[0..6])) %>
</div>
% }
<br>
<form action="/smanager/portforwardinga" method="POST">
% my $btn = l("pf_CREATE_RULE");
<div class="row g-3 align-items-center">
<div class="col-md-2">
<button type="submit" class="btn btn-primary btn-sm"><%= $btn %></button>
</div>
</div>
</form>
<br>
% if ($empty) {
<br>
<%= l "pf_NO_FORWARDS" %>
% } else {
<br>
<%= l "pf_SHOW_FORWARDS" %>
<br><br>
<table class="table table-bordered">
<thead>
<tr>
<th><%= l "Protocol" %></th>
<th><%= l "pf_LABEL_SOURCE_PORT" %></th>
<th><%= l "pf_LABEL_DESTINATION_HOST" %></th>
<th><%= l "pf_LABEL_DESTINATION_PORT" %></th>
<th><%= l "pf_ALLOW_HOSTS" %></th>
<th><%= l "pf_RULE_COMMENT" %></th>
<th class="text-center"><%= l "ACTION" %></th>
</tr>
</thead>
<tbody>
% my %forwards = ();
% $forwards{TCP} = $tcpforwards;
% $forwards{UDP} = $udpforwards;
% foreach my $proto (sort keys %forwards) {
% if (@{ $forwards{$proto} }) {
% foreach my $entry (@{ $forwards{$proto} }) {
<tr class="align-middle">
% my $sport = $entry->key;
% my $dhost = $entry->prop("DestHost");
% my $dport = $entry->prop("DestPort") || "";
% my $cmmnt = $entry->prop("Comment") || "";
% my $allow = $entry->prop("AllowHosts") || "";
<td><%= $proto %></td>
<td><%= $sport %></td>
<td><%= $dhost %></td>
<td><%= $dport %></td>
<td><%= $allow %></td>
<td><%= $cmmnt %></td>
% my $remove_text = l("REMOVE"); # Localized text
% my $csrf_token = "TOKEN"; # CSRF token for security
% my $actionRemove = qq{
% <a href="portforwardingd?CsrfDef=$csrf_token&trt=DEL&sport=$sport&proto=$proto">
% <button type="button" class="btn btn-primary btn-sm" title="$remove_text" >
% $remove_text
% </button>
% </a>
% };
<td class="text-center"><%= $c->render_to_string(inline => $actionRemove) %></td>
</tr>
% }
% }
% }
% }
</tbody>
</table>
<%= hidden_field "trt" => $pf_datas->{trt} %>
</div>