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 roadwarrior server = OpenVPN Roadwarrior Server
WARNING: untranslated string: pakfire invalid tree = Invalid repository selected
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 roadwarrior server = OpenVPN Roadwarrior Server
WARNING: untranslated string: hostile networks total = Total Hostile Networks
WARNING: untranslated string: ids provider eol = (EOL)
WARNING: untranslated string: load average = Load Average
+WARNING: untranslated string: oops something went wrong = Oops, something went wrong...
WARNING: untranslated string: ovpn roadwarrior server = OpenVPN Roadwarrior Server
WARNING: untranslated string: pakfire ago = ago.
WARNING: untranslated string: processors = Processors
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 roadwarrior server
< quick control
< load average
< log drop hostile in
< log drop hostile out
+< oops something went wrong
< openvpn cert expires soon
< openvpn cert has expired
< ovpn roadwarrior server
< ids provider eol
< ids unsupported provider
< load average
+< oops something went wrong
< ovpn roadwarrior server
< processors
< reg_file_data_sampling
< 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();
- }
- &Header::openbox('100%', 'LEFT', $Lang::tr{'advanced server'});
+
+ # Show any errors
+ &Header::errorbox($errormessage);
+
+ &Header::opensection();
+
print <<END;
<form method='post' enctype='multipart/form-data'>
<table width='100%' border=0>
&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 ($cryptoerror) {
&Header::openbox('100%', 'LEFT', $Lang::tr{'crypto error'});
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',