$self->{action} =~ s/( |-|,|#)/_/g;
$self->{version} = "2.2.0";
- $self->{dbversion} = "2.2.0";
$main::lxdebug->leave_sub();
$msg =~ s/\n/<br>/g;
$self->header;
-
- print qq|
- <body>
-
- <h2 class=error>Error!</h2>
-
- <p><b>$msg</b>
-
- </body>
- </html>
- |;
+ $self->show_generic_error($msg);
die "Error: $msg\n";
$main::lxdebug->leave_sub();
}
+use Data::Dumper;
sub parse_html_template {
$main::lxdebug->enter_sub();
- my ($self, $myconfig, $file) = @_;
+ my ($self, $file, $additional_params) = @_;
- if (-f "templates/webpages/${file}_" . $myconfig->{"countrycode"} .
+ if (-f "templates/webpages/${file}_" . $main::myconfig{"countrycode"} .
".html") {
- $file = "templates/webpages/${file}_" . $myconfig->{"countrycode"} .
+ if ((-f ".developer") &&
+ (-f "templates/webpages/${file}_master.html") &&
+ ((stat("templates/webpages/${file}_master.html"))[9] >
+ (stat("templates/webpages/${file}_" . $main::myconfig{"countrycode"} .
+ ".html"))[9])) {
+ my $info = "Developper information: templates/webpages/${file}_master.html is newer than the localized version.\n" .
+ "Please re-run 'locales.pl' in 'locale/" . $main::myconfig{"countrycode"} . "'.";
+ print(qq|<pre>$info</pre>|);
+ die($info);
+ }
+
+ $file = "templates/webpages/${file}_" . $main::myconfig{"countrycode"} .
".html";
} elsif (-f "templates/webpages/${file}.html") {
$file = "templates/webpages/${file}.html";
} else {
- $self->error("Web page template '${file}' not found.");
+ my $info = "Web page template '${file}' not found.\n" .
+ "Please re-run 'locales.pl' in 'locale/" . $main::myconfig{"countrycode"} . "'.";
+ print(qq|<pre>$info</pre>|);
+ die($info);
}
my $template = HTML::Template->new("filename" => $file,
"case_sensitive" => 1,
"loop_context_vars" => 1,
"global_vars" => 1);
- my @params = $template->param();
- if (grep("DEBUG", @params) && $self->{"DEBUG"}) {
- $template->param("DEBUG" => "<br><em>DEBUG INFORMATION:</em><pre>" .
- $self->{"DEBUG"} . "</pre>");
+ $additional_params = {} unless ($additional_params);
+ if ($self->{"DEBUG"}) {
+ $additional_params->{"DEBUG"} = $self->{"DEBUG"};
+ }
+
+ if ($additional_params->{"DEBUG"}) {
+ $additional_params->{"DEBUG"} =
+ "<br><em>DEBUG INFORMATION:</em><pre>" . $additional_params->{"DEBUG"} . "</pre>";
}
- foreach my $key (keys(%{$self})) {
- if (("DEBUG" ne $key) && grep(${key}, @params)) {
+ my @additional_param_names = keys(%{$additional_params});
+
+ foreach my $key ($template->param()) {
+ if (grep(/^${key}$/, @additional_param_names)) {
+ $template->param($key => $additional_params->{$key});
+ } else {
$template->param($key => $self->{$key});
}
}
}
sub show_generic_error {
- my ($self, $myconfig, $error, $title) = @_;
+ my ($self, $error, $title) = @_;
- $self->{"title"} = $title if ($title);
+ my $add_params = {};
+ $add_params->{"title"} = $title if ($title);
$self->{"label_error"} = $error;
- print($self->parse_html_template($myconfig, "generic/error"));
+ print($self->parse_html_template("generic/error", $add_params));
}
# write Trigger JavaScript-Code ($qty = quantity of Triggers)