my $title = shift;
- print "<section class=\"section is-box\">\n";
+ my @classes = ("section", "is-box", @_);
+
+ print "<section class=\"@classes\">\n";
# Show the title
if ($title) {
print "</section>";
}
+sub errorbox($) {
+ my @errors = grep { $_ ne "" } @_;
+
+ # Do nothing if there are no errors
+ return unless (@errors);
+
+ # Open a new box
+ &openbox('100%', 'left', $Lang::tr{'oops something went wrong'}, "is-error");
+
+ # Print all error messages
+ print "<ul>\n";
+ foreach my $error (@errors) {
+ print "<li>$error</li>\n";
+ }
+ print "</ul>\n";
+
+ # Close the box again
+ &closebox();
+}
+
sub graph($) {
my $title = shift;
WARNING: untranslated string: log drop hostile out = Log dropped packets TO hostile networks
WARNING: untranslated string: netbios nameserver daemon = NetBIOS Nameserver Daemon
WARNING: untranslated string: no entries = No entries at the moment.
+WARNING: untranslated string: oops something went wrong = Oops, something went wrong...
WARNING: untranslated string: optional = Optional
WARNING: untranslated string: ovpn ciphers = Ciphers
WARNING: untranslated string: ovpn crypto settings = Cryptographic Settings
WARNING: untranslated string: only digits allowed in holdoff field = Only digits allowed in holdoff field
WARNING: untranslated string: only digits allowed in max retries field = Only digits allowed in max retries field.
WARNING: untranslated string: only digits allowed in the idle timeout = Only digits allowed in the idle timeout.
+WARNING: untranslated string: oops something went wrong = Oops, something went wrong...
WARNING: untranslated string: open connections = Open Connections
WARNING: untranslated string: openssl produced an error = OpenSSL produced an error
WARNING: untranslated string: openvpn cert expires soon = Expires Soon
WARNING: untranslated string: log drop hostile in = Log dropped packets FROM hostile networks
WARNING: untranslated string: log drop hostile out = Log dropped packets TO hostile networks
WARNING: untranslated string: no data = unknown string
+WARNING: untranslated string: oops something went wrong = Oops, something went wrong...
WARNING: untranslated string: openvpn cert expires soon = Expires Soon
WARNING: untranslated string: openvpn cert has expired = Expired
WARNING: untranslated string: ovpn ciphers = Ciphers
WARNING: untranslated string: guardian service = unknown string
WARNING: untranslated string: hostile networks total = Total Hostile Networks
WARNING: untranslated string: load average = unknown string
+WARNING: untranslated string: oops something went wrong = Oops, something went wrong...
WARNING: untranslated string: ovpn ciphers = Ciphers
WARNING: untranslated string: ovpn crypto settings = Cryptographic Settings
WARNING: untranslated string: ovpn dhcp settings = DHCP Settings
WARNING: untranslated string: one month = One Month
WARNING: untranslated string: one week = One Week
WARNING: untranslated string: one year = One Year
+WARNING: untranslated string: oops something went wrong = Oops, something went wrong...
WARNING: untranslated string: open connections = Open Connections
WARNING: untranslated string: openvpn cert expires soon = Expires Soon
WARNING: untranslated string: openvpn cert has expired = Expired
WARNING: untranslated string: one month = One Month
WARNING: untranslated string: one week = One Week
WARNING: untranslated string: one year = One Year
+WARNING: untranslated string: oops something went wrong = Oops, something went wrong...
WARNING: untranslated string: open connections = Open Connections
WARNING: untranslated string: openvpn cert expires soon = Expires Soon
WARNING: untranslated string: openvpn cert has expired = Expired
WARNING: untranslated string: one month = One Month
WARNING: untranslated string: one week = One Week
WARNING: untranslated string: one year = One Year
+WARNING: untranslated string: oops something went wrong = Oops, something went wrong...
WARNING: untranslated string: open connections = Open Connections
WARNING: untranslated string: openvpn cert expires soon = Expires Soon
WARNING: untranslated string: openvpn cert has expired = Expired
WARNING: untranslated string: one month = One Month
WARNING: untranslated string: one week = One Week
WARNING: untranslated string: one year = One Year
+WARNING: untranslated string: oops something went wrong = Oops, something went wrong...
WARNING: untranslated string: open connections = Open Connections
WARNING: untranslated string: openvpn cert expires soon = Expires Soon
WARNING: untranslated string: openvpn cert has expired = Expired
WARNING: untranslated string: no entries = No entries at the moment.
WARNING: untranslated string: not affected = Not Affected
WARNING: untranslated string: not validating = Not validating
+WARNING: untranslated string: oops something went wrong = Oops, something went wrong...
WARNING: untranslated string: open connections = Open Connections
WARNING: untranslated string: openvpn cert expires soon = Expires Soon
WARNING: untranslated string: openvpn cert has expired = Expired
< no entries
< notes
< okay
+< oops something went wrong
< optional
< ovpn ciphers
< ovpn crypto settings
< invalid ip or hostname
< log drop hostile in
< log drop hostile out
+< oops something went wrong
< openvpn cert expires soon
< openvpn cert has expired
< ovpn ciphers
< g.dtm
< g.lite
< hostile networks total
+< oops something went wrong
< ovpn ciphers
< ovpn crypto settings
< ovpn dhcp settings
< one month
< one week
< one year
+< oops something went wrong
< open connections
< openvpn cert expires soon
< openvpn cert has expired
< one month
< one week
< one year
+< oops something went wrong
< open connections
< openvpn cert expires soon
< openvpn cert has expired
< one month
< one week
< one year
+< oops something went wrong
< open connections
< openvpn cert expires soon
< openvpn cert has expired
< one month
< one week
< one year
+< oops something went wrong
< open connections
< openvpn cert expires soon
< openvpn cert has expired
< not affected
< not validating
< okay
+< oops something went wrong
< open connections
< openvpn cert expires soon
< openvpn cert has expired
&Header::showhttpheaders();
&Header::openpage($Lang::tr{'ovpn'}, 1, '');
&Header::openbigbox('100%', 'LEFT', '', '');
- if ($errormessage) {
- &Header::openbox('100%', 'LEFT', $Lang::tr{'error messages'});
- print "<class name='base'>$errormessage";
- print " </class>";
- &Header::closebox();
- }
+
+ # Show any errors
+ &Header::errorbox($errormessage);
+
&Header::openbox('100%', 'LEFT', "$Lang::tr{'generate root/host certificates'}:");
print <<END;
<form method='post' enctype='multipart/form-data'>
&Header::showhttpheaders();
&Header::openpage($Lang::tr{'status ovpn'}, 1, '');
&Header::openbigbox('100%', 'LEFT', '', $errormessage);
- if ($errormessage) {
- &Header::openbox('100%', 'LEFT', $Lang::tr{'error messages'});
- print "<class name='base'>$errormessage\n";
- print " </class>\n";
- &Header::closebox();
- }
+
+ # Show any errors
+ &Header::errorbox($errormessage);
&Header::opensection();
&Header::openpage($Lang::tr{'status ovpn'}, 1, '');
&Header::openbigbox('100%', 'LEFT', '', $errormessage);
- if ($errormessage) {
- &Header::openbox('100%', 'LEFT', $Lang::tr{'error messages'});
- print "<class name='base'>$errormessage\n";
- print " </class>\n";
- &Header::closebox();
- }
+ # Show any errors and warnings
+ &Header::errorbox($errormessage);
if ($warnmessage) {
&Header::openbox('100%', 'LEFT', $Lang::tr{'warning messages'});
border: 1px solid var(--color-grey);
}
+section.is-error {
+ color: var(--color-red);
+ border: 1px solid var(--color-red);
+}
+
+section.is-error ul {
+ margin-bottom: 0 !important;
+}
+
section .title {
margin-bottom: 1rem;
border-bottom: 1px solid var(--color-grey);
'only digits allowed in max retries field' => 'Only digits allowed in max retries field.',
'only digits allowed in the idle timeout' => 'Only digits allowed in the idle timeout.',
'only red' => 'Only RED',
+'oops something went wrong' => 'Oops, something went wrong...',
'open connections' => 'Open Connections',
'open to all' => 'Override external access to ALL',
'openssl produced an error' => 'OpenSSL produced an error',