aboutsummaryrefslogtreecommitdiff
path: root/www/rt34/files/multiple-lib-RT_pm_in
diff options
context:
space:
mode:
Diffstat (limited to 'www/rt34/files/multiple-lib-RT_pm_in')
-rw-r--r--www/rt34/files/multiple-lib-RT_pm_in62
1 files changed, 62 insertions, 0 deletions
diff --git a/www/rt34/files/multiple-lib-RT_pm_in b/www/rt34/files/multiple-lib-RT_pm_in
new file mode 100644
index 000000000000..dbabff75b1f4
--- /dev/null
+++ b/www/rt34/files/multiple-lib-RT_pm_in
@@ -0,0 +1,62 @@
+Index: lib/RT.pm.in
+--- rt-3.4.2-pristine/lib/RT.pm.in 2005-05-11 20:36:48.098851448 -0400
++++ rt-3.4.2/lib/RT.pm.in 2005-05-11 20:41:52.026647400 -0400
+@@ -98,6 +98,60 @@
+ # via the web interface)
+ $MasonSessionDir = '@MASON_SESSION_PATH@';
+
++=item import
++
++Allow override of various internal paths.
++
++ RT->import (
++ RT_INSTANCE_PATH => '/usr/local/rt/stuff',
++ SITE_CONFIG_FILE => '/etc/stuff.pm',
++ ...
++ );
++
++If RT_INSTANCE_PATH is set in the arguments (or in %ENV)
++then it replaces the old value of $BasePath in the following
++variables:
++ $SITE_CONFIG_FILE
++ $LocalPath
++ $LocalEtcPath
++ $LocalLexiconPath
++ $MasonLocalComponentRoot
++ $MasonDataDir
++ $MasonSessionDir
++
++Beyond that, those individual values can be set explicitly
++by arguments.
++
++=cut
++
++sub import {
++no strict 'refs';
++ shift;
++ my %args = @_;
++ return unless ( scalar (keys %args) || $ENV{RT_INSTANCE_PATH} );
++
++ my @variables = qw (
++ SITE_CONFIG_FILE
++ LocalPath
++ LocalEtcPath
++ LocalLexiconPath
++ MasonLocalComponentRoot
++ MasonDataDir
++ MasonSessionDir
++ );
++
++ my $RT_INSTANCE_PATH = $args{RT_INSTANCE_PATH} || $ENV{RT_INSTANCE_PATH};
++ if ($RT_INSTANCE_PATH) {
++ foreach my $vref (@variables) {
++ $$vref =~ s/^\Q$BasePath\E/$RT_INSTANCE_PATH/;
++ }
++ }
++ foreach my $vref (@variables) {
++ $$vref = $args{$vref} if defined ( $args{$vref} );
++ }
++
++use strict 'refs';
++}
+