mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-30 08:12:05 +00:00
Bug 282686: Multiple projects sharing the same Bugzilla codebase (different datastores) - Patch by guillomovitch@zarb.org r=wurblzap a=justdave
This commit is contained in:
parent
4d0de4219f
commit
56c732047e
@ -50,11 +50,23 @@ use base qw(Exporter);
|
||||
# graphs (since the path will be wrong in the HTML). This will be fixed at
|
||||
# some point.
|
||||
|
||||
# constant paths
|
||||
our $libpath = '.';
|
||||
our $localconfig = "$libpath/localconfig";
|
||||
our $datadir = "$libpath/data";
|
||||
our $attachdir = "$datadir/attachments";
|
||||
our $templatedir = "$libpath/template";
|
||||
|
||||
# variable paths
|
||||
our $project;
|
||||
our $localconfig;
|
||||
our $datadir;
|
||||
if ($ENV{'PROJECT'} && $ENV{'PROJECT'} =~ /^(\w+)$/) {
|
||||
$project = $1;
|
||||
$localconfig = "$libpath/localconfig.$project";
|
||||
$datadir = "$libpath/data/$project";
|
||||
} else {
|
||||
$localconfig = "$libpath/localconfig";
|
||||
$datadir = "$libpath/data";
|
||||
}
|
||||
our $attachdir = "$datadir/attachments";
|
||||
our $webdotdir = "$datadir/webdot";
|
||||
|
||||
# Module stuff
|
||||
@ -71,8 +83,8 @@ our $webdotdir = "$datadir/webdot";
|
||||
(
|
||||
admin => [qw(GetParamList UpdateParams SetParam WriteParams)],
|
||||
db => [qw($db_driver $db_host $db_port $db_name $db_user $db_pass $db_sock)],
|
||||
locations => [qw($libpath $localconfig $attachdir
|
||||
$datadir $templatedir $webdotdir)],
|
||||
locations => [qw($libpath $localconfig $attachdir $datadir $templatedir
|
||||
$webdotdir $project)],
|
||||
);
|
||||
Exporter::export_ok_tags('admin', 'db', 'locations');
|
||||
|
||||
|
@ -34,7 +34,7 @@ package Bugzilla::Template;
|
||||
use strict;
|
||||
|
||||
use Bugzilla::Constants;
|
||||
use Bugzilla::Config qw(:DEFAULT $templatedir $datadir);
|
||||
use Bugzilla::Config qw(:DEFAULT $templatedir $datadir $project);
|
||||
use Bugzilla::Util;
|
||||
use Bugzilla::User;
|
||||
use Bugzilla::Error;
|
||||
@ -110,10 +110,21 @@ sub getTemplateIncludePath {
|
||||
}
|
||||
my $languages = trim(Param('languages'));
|
||||
if (not ($languages =~ /,/)) {
|
||||
return $template_include_path =
|
||||
["$templatedir/$languages/custom",
|
||||
"$templatedir/$languages/extension",
|
||||
"$templatedir/$languages/default"];
|
||||
if ($project) {
|
||||
$template_include_path = [
|
||||
"$templatedir/$languages/$project",
|
||||
"$templatedir/$languages/custom",
|
||||
"$templatedir/$languages/extension",
|
||||
"$templatedir/$languages/default"
|
||||
];
|
||||
} else {
|
||||
$template_include_path = [
|
||||
"$templatedir/$languages/custom",
|
||||
"$templatedir/$languages/extension",
|
||||
"$templatedir/$languages/default"
|
||||
];
|
||||
}
|
||||
return $template_include_path;
|
||||
}
|
||||
my @languages = sortAcceptLanguage($languages);
|
||||
my @accept_language = sortAcceptLanguage($ENV{'HTTP_ACCEPT_LANGUAGE'} || "" );
|
||||
@ -129,11 +140,27 @@ sub getTemplateIncludePath {
|
||||
}
|
||||
}
|
||||
push(@usedlanguages, Param('defaultlanguage'));
|
||||
return $template_include_path =
|
||||
[map(("$templatedir/$_/custom",
|
||||
"$templatedir/$_/extension",
|
||||
"$templatedir/$_/default"),
|
||||
@usedlanguages)];
|
||||
if ($project) {
|
||||
$template_include_path = [
|
||||
map((
|
||||
"$templatedir/$_/$project",
|
||||
"$templatedir/$_/custom",
|
||||
"$templatedir/$_/extension",
|
||||
"$templatedir/$_/default"
|
||||
), @usedlanguages
|
||||
)
|
||||
];
|
||||
} else {
|
||||
$template_include_path = [
|
||||
map((
|
||||
"$templatedir/$_/custom",
|
||||
"$templatedir/$_/extension",
|
||||
"$templatedir/$_/default"
|
||||
), @usedlanguages
|
||||
)
|
||||
];
|
||||
}
|
||||
return $template_include_path;
|
||||
}
|
||||
|
||||
sub put_header {
|
||||
|
Loading…
Reference in New Issue
Block a user