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,47 @@
%#
%# Generated by SM2Gen version:0.8 Chameleon version:4.5.4 On Python:3.12.3 at 2024-12-01 15:22:43
%#
<div>
<script>
window.onload = function() {
SelectInput();
};
</script>
% if (config->{debug} == 1) {
<pre>
%= dumper $lets_data
</pre>
% }
% my $btn = l("Apply");
%= form_for "letsencryptu" => (method => "POST") => begin
% param "trt" => $lets_data->{trt} unless param "trt";
%= hidden_field "trt" => $lets_data->{trt}
%# Inputs etc in here.
<h1 class=""><%=l("lets_Check_all_domains")%></h1>
<h2 class=""><%=l("lets_Loop_through_checking_the_letsencrypt")%></h2>
<span class="">
%=l("lets_All_domains_check_result")
</span>
<span class="">
% param "AllDomainsCheck" => $lets_data->{AllDomainsCheck} unless param "AllDomainsCheck";
%= text_area "AllDomainsCheck", cols=>40, rows=>10, Readonly=>"true"
</span><br>
<span class="">
%my $back_text = l("Back"); # Localized text
%my $actionBack = qq{
% <a href="letsencryptd">
% <input class="" type="submit" value="$back_text">
% </a>
%};
<%= $c->render_to_string(inline => $actionBack) %>
</span>
%# Probably finally by a submit.
%end
</div>

View File

@@ -0,0 +1,68 @@
%#
%# Generated by SM2Gen version:0.8 Chameleon version:4.5.4 On Python:3.12.3 at 2024-12-01 15:22:43
%#
<div>
<!-- reetp Move to JS file -->
<!--
<script>
window.onload = function() {
SelectInput();
};
</script>
-->
% if (config->{debug} == 1) {
<pre>
<%= dumper $lets_data %>
</pre>
% }
% my $btn = l("Apply");
<!-- reetp could change this to a form -->
<!-- <form action="/smanager/letsencryptu" method="POST"> -->
%# Inputs etc in here.
<h1><%= l ("lets_Check_all_enabled_domains")%></h1>
<br>
<h2><%= l ("lets_Loop_through_checking_the_letsencrypt")%></h2>
<br>
<!-- Domains being checked -->
<div class="row g-3 align-items-center">
<div class="col-md-1">
<%= l ("lets_Enabled_domains_check_result") %>
</div>
<div class="col-auto">
% param "EnabledDomainsCheck" => $lets_data->{EnabledDomainsCheck} unless param "EnabledDomainsCheck";
%= text_area "EnabledDomainsCheck", cols=>40, rows=>10, Readonly=>"true"
</div>
</div>
<br>
<!-- results box-->
% my $back_text = l("Back"); # Localized text
%# param "trt" => $lets_data->{trt} unless param "trt";
%#= hidden_field "trt" => $lets_data->{trt}
<div class="row g-3 align-items-center">
<div class="col-md-2">
<a href="letsencryptd" class="btn btn-primary btn-sm btn-sm" role="button"><%= $back_text %></a>
</div>
</div>
<!--
</form>
-->
</div>

View File

@@ -0,0 +1,77 @@
%#
%# Generated by SM2Gen version:0.8 Chameleon version:4.5.4 On Python:3.12.3 at 2024-12-01 15:22:43
%#
<div>
<!--
<script>
window.onload = function() {
SelectInput();
};
</script>
-->
% if (config->{debug} == 1) {
<pre>
%= dumper $lets_data
</pre>
% }
% my $btn = l("Apply");
<!-- <form action="/smanager/letsencrypt" method="POST"> -->
%# Inputs etc in here.
<h1><%=l("lets_Check_just_one_domain")%></h1>
<br>
<h2><%=l("lets_Loop_through_and_check_the")%></h2>
<br>
<!-- Domain being checked -->
<div class="row g-3 align-items-center">
<div class="col-md-1">
<%= l ("lets_Domains_name") %>
</div>
<div class="col-auto">
% param "OneDomainToCheck" => $lets_data->{OneDomainToCheck} unless param "OneDomainToCheck";
%= text_field "OneDomainToCheck", size => "50", class => "" , pattern=>".*" , placeholder=>"OneDomainToCheck", Readonly=>"true"
</div>
</div>
<br>
<!-- results box-->
<div class="row g-3 align-items-center">
<div class="col-md-1">
<%= l ("lets_One_domain_check_result") %>
</div>
<div class="col-auto">
% param "OneDomainsCheck" => $lets_data->{OneDomainsCheck} unless param "OneDomainsCheck";
%= text_area "OneDomainsCheck", cols=>40, rows=>10, Readonly=>"true"
</div>
</div>
<br>
% my $back_text = l("Back"); # Localized text
%# param "trt" => $lets_data->{trt} unless param "trt";
%#= hidden_field "trt" => $lets_data->{trt}
<div class="row g-3 align-items-center">
<div class="col-md-2">
<a href="letsencryptd" class="btn btn-primary btn-sm btn-sm" role="button"><%= $back_text %></a>
</div>
</div>
<!-- </form> -->
</div>

View File

@@ -0,0 +1,208 @@
%#
%# Generated by SM2Gen version:0.8 Chameleon version:4.5.4 On Python:3.12.3 at 2024-12-01 15:22:43
%#
<div>
<!-- reetp Move to JS file -->
<!--
<script>
window.onload = function() {
SelectInput();
};
</script>
-->
% if (config->{debug} == 1) {
<pre>
<%= dumper $lets_data %>
</pre>
% }
<br>
<!-- reetp could change this to a form -->
<!-- <form action="/smanager/letsencryptu" method="POST"> -->
%# my $btn = l("Apply");
%# param "trt" => $lets_data->{trt} unless param "trt";
%#= hidden_field "trt" => $lets_data->{trt}
% my $linkbtn = l ("MODIFY");
%# Inputs etc in here.
%# reetp Needs some language translations?
<div class="row g-3 align-items-center">
<div class="col-md-1">
<%= l("Config") %>
</div>
<div class="col-auto">
<a href="letsencryptd?trt=PARAMS" class="btn btn-outline-primary btn-sm" role="button"><%= $linkbtn %></a>
</div>
</div>
<br>
%#= link_to l("Config"), "letsencryptd?trt=PARAMS" , class=> "link link2"
<div class="row g-3 align-items-center">
<div class="col-md-1">
<%= l ("Check_ALL_DOMAINS") %>
</div>
<div class="col-auto">
<a href="letsencryptd?trt=CHECKALLDOMAINS" class="btn btn-outline-primary btn-sm" role="button"><%= $linkbtn %></a>
</div>
</div>
%#= link_to l("Check_ALL_DOMAINS"), "letsencryptd?trt=CHECKALLDOMAINS" , class=> "link link3"
<br>
<div class="row g-3 align-items-center">
<div class="col-md-1">
<%= l ("Check_ALL_ENABLED_DOMAINS") %>
</div>
<div class="col-auto">
<a href="letsencryptd?trt=CHECKALLENABLEDDOMAINS" class="btn btn-outline-primary btn-sm" role="button"><%= $linkbtn %></a>
</div>
</div>
%#= link_to l("Check_ALL_ENABLED_DOMAINS"), "letsencryptd?trt=CHECKALLENABLEDDOMAINS" , class=> "link link4"
<!-- </form> -->
<br><br>
<h2><%=l("lets_For_this_Server") %></h2>
<br>
<div class="row g-3 align-items-center">
<div class="col-md-1">
<%= l ("lets_Internal_IP") %>
</div>
<div class="col-auto">
% param "InternalIP" => $lets_data->{InternalIP} unless param "InternalIP";
%= text_field "InternalIP", size => "50", class => "" , pattern=>".*" , placeholder=>"InternalIP", Readonly=>"true"
</div>
</div>
<br>
<div class="row g-3 align-items-center">
<div class="col-md-1">
<%= l ("lets_External_Interface_IP") %>
</div>
<div class="col-auto">
% param "ExternalIP" => $lets_data->{ExternalIP} unless param "ExternalIP";
%= text_field "ExternalIP", size => "50", class => "" , pattern=>".*" , placeholder=>"ExternalIP", Readonly=>"true"
</div>
</div>
<br>
<div class="row g-3 align-items-center">
<div class="col-md-1">
<%= l ("lets_Internet_IP") %>
</div>
<div class="col-auto">
% param "InternetIP" => $lets_data->{InternetIP} unless param "InternetIP";
%= text_field "InternetIP", size => "50", class => "" , pattern=>".*" , placeholder=>"InternetIP", Readonly=>"true"
</div>
</div>
<br><br>
<h2><%=l("lets_Current_certificate_details") %></h2>
<br>
<div class="row g-3 align-items-center">
<div class="col-md-1">
<%= l ("Issuer") %>
</div>
<div class="col-auto">
% param "Issuer" => $lets_data->{Issuer} unless param "Issuer";
%= text_field "Issuer", size => "50", class => "" , pattern=>".*" , placeholder=>"Issuer", Readonly=>"true"
</div>
</div>
<br>
<div class="row g-3 align-items-center">
<div class="col-md-1">
<%= l ("Expiry") %>
</div>
<div class="col-auto">
% param "Expiry" => $lets_data->{Expiry} unless param "Expiry";
%= text_field "Expiry", size => "50", class => "" , pattern=>".*" , placeholder=>"Expiry", Readonly=>"true"
</div>
</div>
<br>
<div class="row g-3 align-items-center">
<div class="col-md-1">
<%= l ("lets_Not_Before") %>
</div>
<div class="col-auto">
% param "NotBefore" => $lets_data->{NotBefore} unless param "NotBefore";
%= text_field "NotBefore", size => "50", class => "" , pattern=>".*" , placeholder=>"NotBefore", Readonly=>"true"
</div>
</div>
<br><br>
<h2 class=""><%=l("lets_List_of_Domains_and_Hosts") %></h2>
<br>
% $linkbtn = l "Check";
<table class="table table-bordered">
<thead>
<tr table-head-row>
<th><%= l ("lets_Domain_name_/_HOSTNAME") %></th>
<th><%= l ("lets_Brief_description") %></th>
<th><%= l ("Content") %></th>
<th><%= l ("lets_LABEL_NAMESERVERS") %></th>
<th><%= l ("lets_LABEL_POINT") %></th>
<th><%= l ("lets_LABEL_LECERT") %></th>
<th><%= l ("lets_IS_IN_CERT") %></th>
<th><%= l ("Check") %></th>
</tr>
</thead>
<tbody>
% my $control_data = $c->stash("DomainList");
% foreach my $row (@$control_data) {
% my $link = $c->render_to_string(inline=>$row->{"Table1-CHECK"});
% my $type = $c->render_to_string(inline=>$row->{"Table1-TYPE"});
<tr>
% if ($type eq "Domain\n"){
<td><%=$c->render_to_string(inline=>$row->{"Table1-Domain name / HOSTNAME"}) %></td>
% }
% if ($type eq "Host\n") {
<td><i class="bi bi-arrow-return-right"> </i><%=$c->render_to_string(inline=>$row->{"Table1-Domain name / HOSTNAME"}) %></td>
% }
<td><%=$c->render_to_string(inline=>$row->{"Table1-Brief description"}) %></td>
<td><%=$c->render_to_string(inline=>$row->{"Table1-Content"}) %></td>
<td><%=$c->render_to_string(inline=>$row->{"Table1-LABEL_NAMESERVERS"}) %></td>
<td><%=$c->render_to_string(inline=>$row->{"Table1-LABEL_POINT"}) %></td>
<td><%=$c->render_to_string(inline=>$row->{"Table1-LABEL_LECERT"}) %></td>
<td><%=$c->render_to_string(inline=>$row->{"Table1-IS_IN_CERT"}) %></td>
% if ($link ne "") {
<td><a href= "<%= $link %>" class="btn btn-outline-primary btn-sm" role="button" > <%= $linkbtn %></a></td>
% } else {
<td>&nbsp</td>
% }
</tr>
% }
</tbody>
</table>
</div>

View File

@@ -0,0 +1,152 @@
%#
%# Generated by SM2Gen version:0.8 Chameleon version:4.5.4 On Python:3.12.3 at 2024-12-01 15:22:43
%#
<div>
<!-- reetp This needs fixing -->
<!--
<script>
window.onload = function() {
SelectInput();
};
</script>
-->
% if (config->{debug} == 1) {
<pre>
<%= dumper $lets_data %>
</pre>
% }
<form action="/smanager/letsencryptu" method="POST">
% param "trt" => $lets_data->{trt} unless param "trt";
%= hidden_field "trt" => $lets_data->{trt}
%# Inputs etc in here.
<h2 class=""><%=l("lets_Manage_letsencrypt-config_settings:") %></h2>
<br>
<div>
<%= l ("lets_CONFIG_LETSENCRYPT") %>
</div>
<div class="row g-3 align-items-center">
<div class="col-md-1">
<%= l ("lets_SERVICE_STATUS") %>
</div>
<div class="col-auto">
% my @status_options = selected_field([["Disabled" => "disabled"], ["Enabled" => "enabled"], ["TEST" => "test"]], $lets_data->{status});
%= select_field "status" => @status_options, class => "form-select"
</div>
</div>
<br>
<div class="row g-3 align-items-center">
<div class="col-md-1">
<%= l ("lets_HOOKSCRIPT_STATUS") %>
</div>
<div class="col-auto">
% my @hookScript_options = [["Disabled" => "disabled"], ["Enabled" => "enabled"]];
% param "hookScript" => $lets_data->{hookScript} unless param "hookScript";
%= select_field "hookScript" => @hookScript_options, class => "form-select"
</div>
</div>
<br>
<div class="row g-3 align-items-center">
<div class="col-md-1">
<%= l ("lets_HOSTOVERRIDE_STATUS") %>
</div>
<div class="col-auto">
% my @hostOverride_options = [["Disabled" => "disabled"], ["Yes" => "yes"]];
% param "hostOverride" => $lets_data->{hostOverride} unless param "hostOverride";
%= select_field "hostOverride" => @hostOverride_options, class => "form-select"
</div>
</div>
<br>
<div class="row g-3 align-items-center">
<div class="col-md-1">
<%= l ("lets_ACCEPT_TERMS_STATUS") %>
</div>
<div class="col-auto">
% my @ACCEPT_TERMS_options = [["Disabled" => "disabled"], ["Yes" => "yes"]];
% param "ACCEPT_TERMS" => $lets_data->{ACCEPT_TERMS} unless param "ACCEPT_TERMS";
%= select_field "ACCEPT_TERMS" => @ACCEPT_TERMS_options, class => "form-select"
</div>
</div>
<br>
<div class="row g-3 align-items-center">
<div class="col-md-1">
<%= l ("lets_API_STATUS") %>
</div>
<div class="col-auto">
% my @API_options = [["2" => "2"]];
% param "API" => $lets_data->{API} unless param "API";
%= select_field "API" => @API_options, class => "form-select"
</div>
</div>
<br>
<div class="row g-3 align-items-center">
<div class="col-md-1">
<%= l ("lets_KEYSIZE_STATUS") %>
</div>
<div class="col-auto">
% my @keysize_options = [["2048" => "2048"], ["3072" => "3072"], ["4096" => "4096"]];
% param "keysize" => $lets_data->{keysize} unless param "keysize";
%= select_field "keysize" => @keysize_options, class => "form-select"
</div>
</div>
<br>
<div class="row g-3 align-items-center">
<div class="col-md-1">
<%= l ("lets_CONFIGUREMODE_STATUS") %>
</div>
<div class="col-auto">
% my @configure_options = [["ALL" => "all"], ["Domains" => "domains"], ["HOSTS" => "hosts"], ["NONE" => "none"]];
% param "configure" => $lets_data->{configure} unless param "configure";
%= select_field "configure" => @configure_options, class => "form-select"
</div>
</div>
<br>
<div class="row g-3 align-items-center">
<div class="col-md-1">
<label for="email_address" class="col-form-label"><%= l ("Email") %></label>
</div>
<div class="col-auto">
% param "email" => $lets_data->{email} unless param "email";
<input type="email" name="email" id="email_address" class="form-control" aria-describedby="Email Address" value="<%= $lets_data->{email} %>">
</div>
</div>
<br>
% my $btn = l("Apply");
<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,45 @@
%#
%# Generated by SM2Gen version:0.8 Chameleon version:4.5.4 On Python:3.12.3 at 2024-12-01 15:22:43
%#
<div id="Letsencrypt-CHECKALLDOMAINS" class="partial Letsencrypt-CHECKALLDOMAINS">
<script>
window.onload = function() {
SelectInput();
};
</script>
% if (config->{debug} == 1) {
<pre>
%= dumper $lets_data
</pre>
% }
% my $btn = l("Apply");
%= form_for "letsencryptu" => (method => "POST") => begin
% param "trt" => $lets_data->{trt} unless param "trt";
%= hidden_field "trt" => $lets_data->{trt}
%# Inputs etc in here.
<h1 class="head"><%=l("lets_Check_all_domains")%></h1>
<h2 class="subh"><%=l("lets_Loop_through_checking_the_letsencrypt")%></h2>
<span class=label>
%=l("lets_All_domains_check_result")
</span><span class=data>
% param "AllDomainsCheck" => $lets_data->{AllDomainsCheck} unless param "AllDomainsCheck";
%= text_area "AllDomainsCheck", cols=>40, rows=>10, Readonly=>"true"
</span><br>
<span class="data">
%my $back_text = l("Back"); # Localized text
%my $actionBack = qq{
% <a href="letsencryptd">
% <input class="action back" type="submit" value="$back_text">
% </a>
%};
<%= $c->render_to_string(inline => $actionBack) %>
</span>
%# Probably finally by a submit.
%end
</div>

View File

@@ -0,0 +1,45 @@
%#
%# Generated by SM2Gen version:0.8 Chameleon version:4.5.4 On Python:3.12.3 at 2024-12-01 15:22:43
%#
<div id="Letsencrypt-CHECKALLENABLEDDOMAINS" class="partial Letsencrypt-CHECKALLENABLEDDOMAINS">
<script>
window.onload = function() {
SelectInput();
};
</script>
% if (config->{debug} == 1) {
<pre>
%= dumper $lets_data
</pre>
% }
% my $btn = l("Apply");
%= form_for "letsencryptu" => (method => "POST") => begin
% param "trt" => $lets_data->{trt} unless param "trt";
%= hidden_field "trt" => $lets_data->{trt}
%# Inputs etc in here.
<h1 class="head"><%=l("lets_Check_all_enabled_domains")%></h1>
<h2 class="subh"><%=l("lets_Loop_through_checking_the_letsencrypt")%></h2>
<span class=label>
%=l("lets_Enabled_domains_check_result")
</span><span class=data>
% param "EnabledDomainsCheck" => $lets_data->{EnabledDomainsCheck} unless param "EnabledDomainsCheck";
%= text_area "EnabledDomainsCheck", cols=>40, rows=>10, Readonly=>"true"
</span><br>
<span class="data">
%my $back_text = l("Back"); # Localized text
%my $actionBack = qq{
% <a href="letsencryptd">
% <input class="action back" type="submit" value="$back_text">
% </a>
%};
<%= $c->render_to_string(inline => $actionBack) %>
</span>
%# Probably finally by a submit.
%end
</div>

View File

@@ -0,0 +1,52 @@
%#
%# Generated by SM2Gen version:0.8 Chameleon version:4.5.4 On Python:3.12.3 at 2024-12-01 15:22:43
%#
<div id="Letsencrypt-CHECKONEDOMAIN" class="partial Letsencrypt-CHECKONEDOMAIN">
<script>
window.onload = function() {
SelectInput();
};
</script>
% if (config->{debug} == 1) {
<pre>
%= dumper $lets_data
</pre>
% }
% my $btn = l("Apply");
%= form_for "letsencryptu" => (method => "POST") => begin
% param "trt" => $lets_data->{trt} unless param "trt";
%= hidden_field "trt" => $lets_data->{trt}
%# Inputs etc in here.
<h1 class="head"><%=l("lets_Check_just_one_domain")%></h1>
<h2 class="subh"><%=l("lets_Loop_through_and_check_the")%></h2>
<p><span class=label>
%=l("lets_Domains_name")
</span><span class=data>
% param "OneDomainToCheck" => $lets_data->{OneDomainToCheck} unless param "OneDomainToCheck";
%= text_field "OneDomainToCheck", size => "50", class => "textinput OneDomainToCheck" , pattern=>".*" , placeholder=>"OneDomainToCheck", Readonly=>"true"
<br></span></p>
<span class=label>
%=l("lets_One_domain_check_result")
</span><span class=data>
% param "OneDomainsCheck" => $lets_data->{OneDomainsCheck} unless param "OneDomainsCheck";
%= text_area "OneDomainsCheck", cols=>40, rows=>10, Readonly=>"true"
</span><br>
<span class="data">
%my $back_text = l("Back"); # Localized text
%my $actionBack = qq{
% <a href="letsencryptd">
% <input class="action back" type="submit" value="$back_text">
% </a>
%};
<%= $c->render_to_string(inline => $actionBack) %>
</span>
%# Probably finally by a submit.
%end
</div>

View File

@@ -0,0 +1,133 @@
%#
%# Generated by SM2Gen version:0.8 Chameleon version:4.5.4 On Python:3.12.3 at 2024-12-01 15:22:43
%#
<div id="Letsencrypt-LIST" class="partial Letsencrypt-LIST">
<script>
window.onload = function() {
SelectInput();
};
</script>
% if (config->{debug} == 1) {
<pre>
%= dumper $lets_data
</pre>
% }
% my $btn = l("Apply");
%= form_for "letsencryptu" => (method => "POST") => begin
% param "trt" => $lets_data->{trt} unless param "trt";
%= hidden_field "trt" => $lets_data->{trt}
%# Inputs etc in here.
<div class=inline-buttons>
<a href="letsencryptd?trt=PARAMS" class="link link2">
%= l("Config")
</a>
%#= link_to l("Config"), "letsencryptd?trt=PARAMS" , class=>"link link2"
<a href="letsencryptd?trt=CHECKALLDOMAINS" class="link link3">
%= l("Check_ALL_DOMAINS")
</a>
%#= link_to l("Check_ALL_DOMAINS"), "letsencryptd?trt=CHECKALLDOMAINS" , class=>"link link3"
<a href="letsencryptd?trt=CHECKALLENABLEDDOMAINS" class="link link4">
%= l("Check_ALL_ENABLED_DOMAINS")
</a>
%#= link_to l("Check_ALL_ENABLED_DOMAINS"), "letsencryptd?trt=CHECKALLENABLEDDOMAINS" , class=>"link link4"
</div>
<h2 class="subh2"><%=l("lets_For_this_Server")%></h2>
<p><span class=label>
%=l("lets_Internal_IP")
</span><span class=data>
% param "InternalIP" => $lets_data->{InternalIP} unless param "InternalIP";
%= text_field "InternalIP", size => "50", class => "textinput InternalIP" , pattern=>".*" , placeholder=>"InternalIP", Readonly=>"true"
<br></span></p>
<p><span class=label>
%=l("lets_External_Interface_IP")
</span><span class=data>
% param "ExternalIP" => $lets_data->{ExternalIP} unless param "ExternalIP";
%= text_field "ExternalIP", size => "50", class => "textinput ExternalIP" , pattern=>".*" , placeholder=>"ExternalIP", Readonly=>"true"
<br></span></p>
<p><span class=label>
%=l("lets_Internet_IP")
</span><span class=data>
% param "InternetIP" => $lets_data->{InternetIP} unless param "InternetIP";
%= text_field "InternetIP", size => "50", class => "textinput InternetIP" , pattern=>".*" , placeholder=>"InternetIP", Readonly=>"true"
<br></span></p>
<h2 class="subh3"><%=l("lets_Current_certificate_details")%></h2>
<p><span class=label>
%=l("Issuer")
</span><span class=data>
% param "Issuer" => $lets_data->{Issuer} unless param "Issuer";
%= text_field "Issuer", size => "50", class => "textinput Issuer" , pattern=>".*" , placeholder=>"Issuer", Readonly=>"true"
<br></span></p>
<p><span class=label>
%=l("Expiry")
</span><span class=data>
% param "Expiry" => $lets_data->{Expiry} unless param "Expiry";
%= text_field "Expiry", size => "50", class => "textinput Expiry" , pattern=>".*" , placeholder=>"Expiry", Readonly=>"true"
<br></span></p>
<p><span class=label>
%=l("lets_Not_Before")
</span><span class=data>
% param "NotBefore" => $lets_data->{NotBefore} unless param "NotBefore";
%= text_field "NotBefore", size => "50", class => "textinput NotBefore" , pattern=>".*" , placeholder=>"NotBefore", Readonly=>"true"
<br></span></p>
<h2 class="subh4"><%=l("lets_List_of_Domains_and_Hosts")%></h2>
% my $linkbtn = l "Check";
<br /><table class="sme-border TableSort sme-table tabl1 ">
<thead class="tabl1">
<tr table-head-row>
<th class="sme-border table-head-col table-head-col-Domain name / HOSTNAME "><%=l("lets_Domain_name_/_HOSTNAME")%></th>
<th class="sme-border table-head-col table-head-col-Brief description "><%=l("lets_Brief_description")%></th>
<th class="sme-border table-head-col table-head-col-Content "><%=l("Content")%></th>
<th class="sme-border table-head-col table-head-col-LABEL_NAMESERVERS "><%=l("lets_LABEL_NAMESERVERS")%></th>
<th class="sme-border table-head-col table-head-col-LABEL_POINT "><%=l("lets_LABEL_POINT")%></th>
<th class="sme-border table-head-col table-head-col-LABEL_LECERT "><%=l("lets_LABEL_LECERT")%></th>
<th class="sme-border table-head-col table-head-col-IS_IN_CERT "><%=l("lets_IS_IN_CERT")%></th>
<th class="sme-border table-head-col table-head-col-CHECK "><%=l("Check")%></th>
</tr>
</thead>
<tbody class="tabl1">
% my $control_data = $c->stash("DomainList");
% foreach my $row (@$control_data) {
% my $link = $c->render_to_string(inline=>$row->{"Table1-CHECK"});
<tr class="table-row">
<td class="sme-border table-col table-col-Table1-Domain name / HOSTNAME"><%=$c->render_to_string(inline=>$row->{"Table1-Domain name / HOSTNAME"})%></td>
<td class="sme-border table-col table-col-Table1-Brief description"><%=$c->render_to_string(inline=>$row->{"Table1-Brief description"})%></td>
<td class="sme-border table-col table-col-Table1-Content"><%=$c->render_to_string(inline=>$row->{"Table1-Content"})%></td>
<td class="sme-border table-col table-col-Table1-LABEL_NAMESERVERS"><%=$c->render_to_string(inline=>$row->{"Table1-LABEL_NAMESERVERS"})%></td>
<td class="sme-border table-col table-col-Table1-LABEL_POINT"><%=$c->render_to_string(inline=>$row->{"Table1-LABEL_POINT"})%></td>
<td class="sme-border table-col table-col-Table1-LABEL_LECERT"><%=$c->render_to_string(inline=>$row->{"Table1-LABEL_LECERT"})%></td>
<td class="sme-border table-col table-col-Table1-IS_IN_CERT"><%=$c->render_to_string(inline=>$row->{"Table1-IS_IN_CERT"})%></td>
% if ($link ne "") {
<td><a href= "<%= $link %>" class="btn btn-outline-primary btn-sm" role="button" > <%= $linkbtn %></a></td>
% } else {
<td>&nbsp</td>
% }
</tr>
%}
</tbody>
</table>
%# Probably finally by a submit.
%end
</div>

View File

@@ -0,0 +1,98 @@
%#
%# Generated by SM2Gen version:0.8 Chameleon version:4.5.4 On Python:3.12.3 at 2024-12-01 15:22:43
%#
<div id="Letsencrypt-PARAMS" class="partial Letsencrypt-PARAMS">
<script>
window.onload = function() {
SelectInput();
};
</script>
% if (config->{debug} == 1) {
<pre>
%= dumper $lets_data
</pre>
% }
% my $btn = l("Apply");
%= form_for "letsencryptu" => (method => "POST") => begin
% param "trt" => $lets_data->{trt} unless param "trt";
%= hidden_field "trt" => $lets_data->{trt}
%# Inputs etc in here.
<h2 class="subh"><%=l("lets_Manage_letsencrypt-config_settings:")%></h2>
<p class="paragraph para1">
%=l("lets_CONFIG_LETSENCRYPT")
</p>
<p><span class=label>
%=l("lets_SERVICE_STATUS")
</span><span class=data>
%# my @status_options = [["Disabled" => "disabled"], ["Enabled" => "enabled"], ["TEST" => "test"]];
% my @status_options = selected_field([["Disabled" => "disabled"], ["Enabled" => "enabled"], ["TEST" => "test"]], $lets_data->{status});
%# param "status" => $lets_data->{status} unless param "status";
%= select_field "status" => @status_options, class => "input"
<br></span> </p>
<p><span class=label>
%=l("lets_HOOKSCRIPT_STATUS")
</span><span class=data>
% my @hookScript_options = [["Disabled" => "disabled"], ["Enabled" => "enabled"]];
% param "hookScript" => $lets_data->{hookScript} unless param "hookScript";
%= select_field "hookScript" => @hookScript_options, class => "input"
<br></span> </p>
<p><span class=label>
%=l("lets_HOSTOVERRIDE_STATUS")
</span><span class=data>
% my @hostOverride_options = [["Disabled" => "disabled"], ["Yes" => "yes"]];
% param "hostOverride" => $lets_data->{hostOverride} unless param "hostOverride";
%= select_field "hostOverride" => @hostOverride_options, class => "input"
<br></span> </p>
<p><span class=label>
%=l("lets_ACCEPT_TERMS_STATUS")
</span><span class=data>
% my @ACCEPT_TERMS_options = [["Disabled" => "disabled"], ["Yes" => "yes"]];
% param "ACCEPT_TERMS" => $lets_data->{ACCEPT_TERMS} unless param "ACCEPT_TERMS";
%= select_field "ACCEPT_TERMS" => @ACCEPT_TERMS_options, class => "input"
<br></span> </p>
<p><span class=label>
%=l("lets_API_STATUS")
</span><span class=data>
% my @API_options = [["2" => "2"]];
% param "API" => $lets_data->{API} unless param "API";
%= select_field "API" => @API_options, class => "input"
<br></span> </p>
<p><span class=label>
%=l("lets_KEYSIZE_STATUS")
</span><span class=data>
% my @keysize_options = [["2048" => "2048"], ["3072" => "3072"], ["4096" => "4096"]];
% param "keysize" => $lets_data->{keysize} unless param "keysize";
%= select_field "keysize" => @keysize_options, class => "input"
<br></span> </p>
<p><span class=label>
%=l("lets_CONFIGUREMODE_STATUS")
</span><span class=data>
% my @configure_options = [["ALL" => "all"], ["Domains" => "domains"], ["HOSTS" => "hosts"], ["NONE" => "none"]];
% param "configure" => $lets_data->{configure} unless param "configure";
%= select_field "configure" => @configure_options, class => "input"
<br></span> </p>
<p><span class=label>
%=l("Email")
</span><span class=data>
% param "email" => $lets_data->{email} unless param "email";
%=email_field "email", class => "emai8"
</span></p>
<span class="data">
%= submit_button l("Save"), class => "action subm9"
</span>
%# Probably finally by a submit.
%end
</div>

View File

@@ -0,0 +1,44 @@
#
# Lex file for Letsencrypt generated on 2025-07-17 09:52:29
#
'lets_ACCEPT_TERMS_STATUS' => 'Accept Terms Status',
'lets_All_domains_check_result' => 'All domains check result',
'lets_API_STATUS' => 'API Status',
'lets_Brief_description' => 'Brief description',
'lets_Check_all_domains' => 'Check all domains',
'lets_CHECK_ALL_DOMAINS' => 'Check All Domains',
'lets_Check_all_enabled_domains' => 'Check all enabled domains',
'lets_CHECK_ALL_ENABLED_DOMAINS' => 'Check All Enabled Domains',
'lets_Check_just_one_domain' => 'Check just one domain',
'lets_CHECKALLDOMAINS_panel_action_was_successful' => 'Check all domains panel action was successful',
'lets_CHECKALLENABLEDDOMAINS_panel_action_was_successful' => 'Check all enabled domains panel action was successful',
'lets_CHECKONEDOMAIN_panel_action_was_successful' => 'Check one domain panel action was successful',
'lets_CONFIG_LETSENCRYPT' => 'Configure Letsencrypt',
'lets_CONFIGUREMODE_STATUS' => 'Configure mode Status',
'lets_Current_certificate_details' => 'Current certificate details',
'lets_Domain_name_/_HOSTNAME' => 'Domain name / HOSTNAME',
'lets_Domains_name' => 'Domains name',
'lets_Enabled_domains_check_result' => 'Enabled domains check result',
'lets_Error_Status_Report' => 'Error Status Report',
'lets_External_Interface_IP' => 'External Interface IP',
'lets_For_this_Server' => 'For this Server',
'lets_HOOKSCRIPT_STATUS' => 'Hookscript Status',
'lets_HOSTOVERRIDE_STATUS' => 'Hostoverride Status',
'lets_Internal_IP' => 'Internal IP',
'lets_Internet_IP' => 'Internet IP',
'lets_IS_IN_CERT' => 'Is in certificate',
'lets_KEYSIZE_STATUS' => 'Keysize Status',
'lets_LABEL_LECERT' => 'Label secret',
'lets_LABEL_NAMESERVERS' => 'Label timeservers',
'lets_LABEL_POINT' => 'Label Point',
'lets_Letsencrypt_certificate' => 'Letsencrypt certificate',
'lets_List_of_Domains_and_Hosts' => 'List of Domains and Hosts',
'lets_LIST_panel_action_was_successful' => 'List panel action was successful',
'lets_Loop_through_and_check_the' => 'Loop through and check the letsencrypt status for a specific domain',
'lets_Loop_through_checking_the_letsencrypt' => 'Loop through checking the letsencrypt status for each configured domain which is enabled',
'lets_Manage_letsencrypt-config_settings:' => 'Manage letsencrypt-config settings',
'lets_Not_Before' => 'Not Before',
'lets_One_domain_check_result' => 'One domain check result',
'lets_PARAMS_panel_action_was_successful' => 'Parameter panel action was successful',
'lets_SERVICE_STATUS' => 'Service Status',
'lets_Status_Report' => 'Status Report',