Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
bugzilla
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
etersoft
bugzilla
Commits
0fccdb26
Commit
0fccdb26
authored
Sep 19, 2006
by
mkanat%bugzilla.org
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Bug 352235: Use Bugzilla->localconfig everywhere instead of :localconfig from Bugzilla::Config
Patch By Max Kanat-Alexander <mkanat@bugzilla.org> r=LpSolit, a=myk
parent
e1cdcb29
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
44 additions
and
46 deletions
+44
-46
PatchReader.pm
Bugzilla/Attachment/PatchReader.pm
+10
-6
Config.pm
Bugzilla/Config.pm
+1
-10
DB.pm
Bugzilla/DB.pm
+21
-14
Localconfig.pm
Bugzilla/Install/Localconfig.pm
+10
-9
testserver.pl
testserver.pl
+2
-7
No files found.
Bugzilla/Attachment/PatchReader.pm
View file @
0fccdb26
...
...
@@ -19,7 +19,6 @@ use strict;
package
Bugzilla::Attachment::
PatchReader
;
use
Bugzilla::
Config
qw(:localconfig)
;
use
Bugzilla::
Error
;
...
...
@@ -27,6 +26,7 @@ sub process_diff {
my
(
$attachment
,
$format
,
$context
)
=
@_
;
my
$dbh
=
Bugzilla
->
dbh
;
my
$cgi
=
Bugzilla
->
cgi
;
my
$lc
=
Bugzilla
->
localconfig
;
my
$vars
=
{};
my
(
$reader
,
$last_reader
)
=
setup_patch_readers
(
undef
,
$context
);
...
...
@@ -42,7 +42,7 @@ sub process_diff {
}
else
{
$vars
->
{
'other_patches'
}
=
[]
;
if
(
$
interdiffbin
&&
$diffpath
)
{
if
(
$
lc
->
{
interdiffbin
}
&&
$lc
->
{
diffpath
}
)
{
# Get list of attachments on this bug.
# Ignore the current patch, but select the one right before it
# chronologically.
...
...
@@ -84,6 +84,7 @@ sub process_diff {
sub
process_interdiff
{
my
(
$old_attachment
,
$new_attachment
,
$format
,
$context
)
=
@_
;
my
$cgi
=
Bugzilla
->
cgi
;
my
$lc
=
Bugzilla
->
localconfig
;
my
$vars
=
{};
# Get old patch data.
...
...
@@ -95,8 +96,8 @@ sub process_interdiff {
# Send through interdiff, send output directly to template.
# Must hack path so that interdiff will work.
$ENV
{
'PATH'
}
=
$
diffpath
;
open
my
$interdiff_fh
,
"$
interdiffbin
$old_filename $new_filename|"
;
$ENV
{
'PATH'
}
=
$
lc
->
{
diffpath
}
;
open
my
$interdiff_fh
,
"$
lc->{interdiffbin}
$old_filename $new_filename|"
;
binmode
$interdiff_fh
;
my
(
$reader
,
$last_reader
)
=
setup_patch_readers
(
""
,
$context
);
...
...
@@ -219,7 +220,9 @@ sub setup_patch_readers {
}
# Add in cvs context if we have the necessary info to do it
if
(
$context
ne
'patch'
&&
$cvsbin
&&
Bugzilla
->
params
->
{
'cvsroot_get'
})
{
if
(
$context
ne
'patch'
&&
Bugzilla
->
localconfig
->
{
cvsbin
}
&&
Bugzilla
->
params
->
{
'cvsroot_get'
})
{
require
PatchReader::
AddCVSContext
;
$last_reader
->
sends_data_to
(
new
PatchReader::
AddCVSContext
(
$context
,
Bugzilla
->
params
->
{
'cvsroot_get'
}));
...
...
@@ -246,7 +249,8 @@ sub setup_template_patch_reader {
$vars
->
{
'collapsed'
}
=
$cgi
->
param
(
'collapsed'
);
$vars
->
{
'context'
}
=
$context
;
$vars
->
{
'do_context'
}
=
$cvsbin
&&
Bugzilla
->
params
->
{
'cvsroot_get'
}
&&
!
$vars
->
{
'newid'
};
$vars
->
{
'do_context'
}
=
Bugzilla
->
localconfig
->
{
cvsbin
}
&&
Bugzilla
->
params
->
{
'cvsroot_get'
}
&&
!
$vars
->
{
'newid'
};
# Print everything out.
print
$cgi
->
header
(
-
type
=>
'text/html'
,
...
...
Bugzilla/Config.pm
View file @
0fccdb26
...
...
@@ -43,18 +43,13 @@ use File::Temp;
%
Bugzilla::Config::
EXPORT_TAGS
=
(
admin
=>
[
qw(update_params SetParam write_params)
],
db
=>
[
qw($db_driver $db_host $db_port $db_name $db_user $db_pass $db_sock
$db_check)
],
localconfig
=>
[
qw($cvsbin $interdiffbin $diffpath $webservergroup)
],
);
Exporter::
export_ok_tags
(
'admin'
,
'db'
,
'localconfig'
);
Exporter::
export_ok_tags
(
'admin'
);
use
vars
qw(@param_list)
;
# INITIALISATION CODE
# Perl throws a warning if we use bz_locations() directly after do.
our
$localconfig
=
bz_locations
()
->
{
'localconfig'
};
do
$localconfig
;
our
%
params
;
# Load in the param definitions
sub
_load_params
{
...
...
@@ -327,10 +322,6 @@ Bugzilla::Config - Configuration parameters for Bugzilla
SetParam($param, $value);
write_params();
# Localconfig variables may also be imported
use Bugzilla::Config qw(:db);
print "Connecting to $db_name as $db_user with $db_pass\n";
=head1 DESCRIPTION
This package contains ways to access Bugzilla configuration parameters.
...
...
Bugzilla/DB.pm
View file @
0fccdb26
...
...
@@ -35,7 +35,6 @@ use DBI;
# Inherit the DB class from DBI::db.
use
base
qw(DBI::db)
;
use
Bugzilla::
Config
qw(:db)
;
use
Bugzilla::
Constants
;
use
Bugzilla::Install::
Requirements
;
use
Bugzilla::Install::
Localconfig
;
...
...
@@ -81,14 +80,17 @@ sub connect_shadow {
die
"Tried to connect to non-existent shadowdb"
unless
$params
->
{
'shadowdb'
};
return
_connect
(
$db_driver
,
$params
->
{
"shadowdbhost"
},
my
$lc
=
Bugzilla
->
localconfig
;
return
_connect
(
$lc
->
{
db_driver
},
$params
->
{
"shadowdbhost"
},
$params
->
{
'shadowdb'
},
$params
->
{
"shadowdbport"
},
$params
->
{
"shadowdbsock"
},
$
db_user
,
$db_pass
);
$params
->
{
"shadowdbsock"
},
$
lc
->
{
db_user
},
$lc
->
{
db_pass
}
);
}
sub
connect_main
{
return
_connect
(
$db_driver
,
$db_host
,
$db_name
,
$db_port
,
$db_sock
,
$db_user
,
$db_pass
);
my
$lc
=
Bugzilla
->
localconfig
;
return
_connect
(
$lc
->
{
db_driver
},
$lc
->
{
db_host
},
$lc
->
{
db_name
},
$lc
->
{
db_port
},
$lc
->
{
db_sock
},
$lc
->
{
db_user
},
$lc
->
{
db_pass
});
}
sub
_connect
{
...
...
@@ -120,10 +122,11 @@ sub _handle_error {
sub
bz_check_requirements
{
my
(
$output
)
=
@_
;
my
$db
=
DB_MODULE
->
{
lc
(
$db_driver
)};
my
$lc
=
Bugzilla
->
localconfig
;
my
$db
=
DB_MODULE
->
{
lc
(
$lc
->
{
db_driver
})};
# Only certain values are allowed for $db_driver.
if
(
!
defined
$db
)
{
die
"$
db_driver
is not a valid choice for \$db_driver in"
die
"$
lc->{db_driver}
is not a valid choice for \$db_driver in"
.
bz_locations
()
->
{
'localconfig'
};
}
...
...
@@ -149,7 +152,7 @@ EOT
# We don't try to connect to the actual database if $db_check is
# disabled.
unless
(
$
db_check
)
{
unless
(
$
lc
->
{
db_check
}
)
{
print
"\n"
if
$output
;
return
;
}
...
...
@@ -186,6 +189,7 @@ sub bz_create_database {
my
$dbh
;
# See if we can connect to the actual Bugzilla database.
my
$conn_success
=
eval
{
$dbh
=
connect_main
();
};
my
$db_name
=
Bugzilla
->
localconfig
->
{
db_name
};
if
(
!
$conn_success
)
{
$dbh
=
_get_no_db_connection
();
...
...
@@ -209,12 +213,13 @@ sub bz_create_database {
sub
_get_no_db_connection
{
my
(
$sql_server
)
=
@_
;
my
$dbh
;
my
$lc
=
Bugzilla
->
localconfig
;
my
$conn_success
=
eval
{
$dbh
=
_connect
(
$
db_driver
,
$db_host
,
''
,
$db_port
,
$
db_sock
,
$db_user
,
$db_pass
);
$dbh
=
_connect
(
$
lc
->
{
db_driver
},
$lc
->
{
db_host
},
''
,
$lc
->
{
db_port
}
,
$
lc
->
{
db_sock
},
$lc
->
{
db_user
},
$lc
->
{
db_pass
}
);
};
if
(
!
$conn_success
)
{
my
$sql_server
=
DB_MODULE
->
{
lc
(
$
db_driver
)}
->
{
name
};
my
$sql_server
=
DB_MODULE
->
{
lc
(
$
lc
->
{
db_driver
}
)}
->
{
name
};
# Can't use $dbh->errstr because $dbh is undef.
my
$error
=
$
DBI::
errstr
;
chomp
(
$error
);
...
...
@@ -230,7 +235,8 @@ sub _get_no_db_connection {
# username, and db_new errors can show up on CGIs.
sub
_bz_connect_error_reasons
{
my
$lc_file
=
bz_locations
()
->
{
'localconfig'
};
my
$db
=
DB_MODULE
->
{
lc
(
$db_driver
)};
my
$lc
=
Bugzilla
->
localconfig
;
my
$db
=
DB_MODULE
->
{
lc
(
$lc
->
{
db_driver
})};
my
$server
=
$db
->
{
name
};
return
<<EOT;
...
...
@@ -241,7 +247,7 @@ This might have several reasons:
server configuration or the database access rights. Read the Bugzilla
Guide in the doc directory. The section about database configuration
should help.
* Your password for the '$
db_user
' user, specified in \$db_pass, is
* Your password for the '$
lc->{db_user}
' user, specified in \$db_pass, is
incorrect, in '$lc_file'.
* There is a subtle problem with Perl, DBI, or $server. Make
sure all settings in '$lc_file' are correct. If all else fails, set
...
...
@@ -355,7 +361,8 @@ sub bz_server_version {
sub
bz_last_key
{
my
(
$self
,
$table
,
$column
)
=
@_
;
return
$self
->
last_insert_id
(
$db_name
,
undef
,
$table
,
$column
);
return
$self
->
last_insert_id
(
Bugzilla
->
localconfig
->
{
db_name
},
undef
,
$table
,
$column
);
}
sub
bz_get_field_defs
{
...
...
Bugzilla/Install/Localconfig.pm
View file @
0fccdb26
...
...
@@ -10,6 +10,10 @@
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Initial Developer of the Original Code is Everything Solved.
# Portions created by Everything Solved are Copyright (C) 2006
# Everything Solved. All Rights Reserved.
#
# The Original Code is the Bugzilla Bug Tracking System.
#
# Contributor(s): Max Kanat-Alexander <mkanat@bugzilla.org>
...
...
@@ -39,10 +43,7 @@ our @EXPORT_OK = qw(
update_localconfig
)
;
# We write this constant as a sub because it has to call other
# subroutines.
sub
LOCALCONFIG_VARS
{
return
(
use
constant
LOCALCONFIG_VARS
=>
(
{
name
=>
'create_htaccess'
,
default
=>
1
,
...
...
@@ -156,7 +157,7 @@ EOT
},
{
name
=>
'cvsbin'
,
default
=>
&
_get_default_cvsbin
,
default
=>
\
&
_get_default_cvsbin
,
desc
=>
<<EOT
# For some optional functions of Bugzilla (such as the pretty-print patch
# viewer), we need the cvs binary to access files and revisions.
...
...
@@ -166,7 +167,7 @@ EOT
},
{
name
=>
'interdiffbin'
,
default
=>
&
_get_default_interdiffbin
,
default
=>
\
&
_get_default_interdiffbin
,
desc
=>
<<EOT
# For some optional functions of Bugzilla (such as the pretty-print patch
# viewer), we need the interdiff binary to make diffs between two patches.
...
...
@@ -176,14 +177,13 @@ EOT
},
{
name
=>
'diffpath'
,
default
=>
&
_get_default_diffpath
,
default
=>
\
&
_get_default_diffpath
,
desc
=>
<<EOT
# The interdiff feature needs diff, so we have to have that path.
# Please specify the directory name only; do not use trailing slash.
EOT
},
);
}
);
use
constant
OLD_LOCALCONFIG_VARS
=>
qw(
mysqlpath
...
...
@@ -280,6 +280,7 @@ sub update_localconfig {
my
$name
=
$var
->
{
name
};
if
(
!
defined
$localconfig
->
{
$name
})
{
push
(
@new_vars
,
$name
);
$var
->
{
default
}
=
&
{
$var
->
{
default
}}
if
ref
(
$var
->
{
default
})
eq
'CODE'
;
$localconfig
->
{
$name
}
=
$answer
->
{
$name
}
||
$var
->
{
default
};
}
}
...
...
testserver.pl
View file @
0fccdb26
...
...
@@ -21,14 +21,8 @@
use
strict
;
use
lib
"."
;
BEGIN
{
my
$envpath
=
$ENV
{
'PATH'
};
require
Bugzilla
;
$ENV
{
'PATH'
}
=
$envpath
;
}
use
Bugzilla
;
use
Bugzilla::
Constants
;
use
Bugzilla::
Config
qw(:localconfig)
;
use
Socket
;
...
...
@@ -62,6 +56,7 @@ if ($^O !~ /MSWin32/i) {
# Determine the numeric GID of $webservergroup
my
$webgroupnum
=
0
;
my
$webservergroup
=
Bugzilla
->
localconfig
->
{
webservergroup
};
if
(
$webservergroup
=~
/^(\d+)$/
)
{
$webgroupnum
=
$1
;
}
else
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment