Bug 162151 - Fix page.cgi's method of finding templates. It now looks in a "pages" subdirectory of the template directory. Patch by gerv; r=bbaetz.

This commit is contained in:
gerv%gerv.net 2002-09-18 07:20:18 +00:00
Родитель 4d38edc7b0
Коммит 3e896ac3ed
4 изменённых файлов: 21 добавлений и 30 удалений

Просмотреть файл

@ -51,9 +51,9 @@ Bugzilla::Config - Configuration parameters for Bugzilla
use Bugzilla::Config qw(:db); use Bugzilla::Config qw(:db);
print "Connecting to $db_name as $db_user with $db_pass\n"; print "Connecting to $db_name as $db_user with $db_pass\n";
# These variables do not belong in localconfig, and need to go # This variable does not belong in localconfig, and needs to go
# somewhere better # somewhere better
use Bugzilla::Config($contenttypes $pages) use Bugzilla::Config($contenttypes)
=head1 DESCRIPTION =head1 DESCRIPTION
@ -75,7 +75,7 @@ use Bugzilla::Util;
# when it shouldn't # when it shouldn't
# ChmodDataFile is here until that stuff all moves out of globals.pl # ChmodDataFile is here until that stuff all moves out of globals.pl
# into this file # into this file
@Bugzilla::Config::EXPORT_OK = qw($contenttypes $pages ChmodDataFile); @Bugzilla::Config::EXPORT_OK = qw($contenttypes ChmodDataFile);
%Bugzilla::Config::EXPORT_TAGS = %Bugzilla::Config::EXPORT_TAGS =
( (
admin => [qw(GetParamList UpdateParams SetParam WriteParams)], admin => [qw(GetParamList UpdateParams SetParam WriteParams)],

Просмотреть файл

@ -568,17 +568,6 @@ $contenttypes = {
LocalVar('pages', '
#
# A mapping from tags to template names for the general page display system,
# page.cgi.
#
%pages = (
);
');
if ($newstuff ne "") { if ($newstuff ne "") {
print "\nThis version of Bugzilla contains some variables that you may want\n", print "\nThis version of Bugzilla contains some variables that you may want\n",
"to change and adapt to your local settings. Please edit the file\n", "to change and adapt to your local settings. Please edit the file\n",

Просмотреть файл

@ -23,9 +23,9 @@
############################################################################### ###############################################################################
# This CGI is a general template display engine. To display templates using it, # This CGI is a general template display engine. To display templates using it,
# add them to the %pages hash in localconfig with a tag to refer to them by, # put them in the "pages" subdirectory of template/en/default, call them
# then call page.cgi?page=<tag> . Tags may only contain the letters A-Z (in # "foo.<ctype>.tmpl" and use the URL page.cgi?id=foo.<ctype> , where <ctype> is
# either case), numbers 0-9, the underscore "_" and the hyphen "-". # a content-type, e.g. html.
############################################################################### ###############################################################################
use strict; use strict;
@ -33,21 +33,23 @@ use strict;
use lib "."; use lib ".";
require "CGI.pl"; require "CGI.pl";
use vars qw($template $vars %pages); use vars qw($template $vars);
ConnectToDatabase(); ConnectToDatabase();
quietly_check_login(); quietly_check_login();
if (defined $::FORM{'id'}) { if (defined $::FORM{'id'}) {
$::FORM{'id'} =~ s/[^\w-]//g; $::FORM{'id'} =~ s/[^\w-\.]//g;
$::FORM{'id'} =~ /(.*)(\.(.*))?/;
if ($pages{$::FORM{'id'}}) { my $format = GetFormat($1, undef, $3);
print "Content-Type: text/html\n\n";
$template->process($pages{$::FORM{'id'}}, $vars) print "Content-Type: $format->{'ctype'}\n\n";
|| ThrowTemplateError($template->error());
exit; $template->process("pages/$format->{'template'}", $vars)
} || ThrowTemplateError($template->error());
}
else {
ThrowUserError("no_page_specified");
} }
ThrowUserError("page_not_found");

Просмотреть файл

@ -217,9 +217,9 @@
[% title = "No New Quips" %] [% title = "No New Quips" %]
This site does not permit the addition of new quips. This site does not permit the addition of new quips.
[% ELSIF error == "page_not_found" %] [% ELSIF error == "no_page_specified" %]
[% title = "Page not found" %] [% title = "No Page Specified" %]
The page you requested cannot be found. You did not specify the id of a page to display.
[% ELSIF error == "reassign_to_empty" %] [% ELSIF error == "reassign_to_empty" %]
[% title = "Illegal Reassignment" %] [% title = "Illegal Reassignment" %]