Commit acbf5833 authored by mkanat%kerio.com's avatar mkanat%kerio.com

Bug 282128: query.cgi: Eliminate deprecated Bugzilla::DB routines

Patch By Max Kanat-Alexander <mkanat@kerio.com> r=LpSolit, a=myk
parent 07e9d0d2
...@@ -23,6 +23,7 @@ ...@@ -23,6 +23,7 @@
# Matthias Radestock <matthias@sorted.org> # Matthias Radestock <matthias@sorted.org>
# Gervase Markham <gerv@gerv.net> # Gervase Markham <gerv@gerv.net>
# Byron Jones <bugzilla@glob.com.au> # Byron Jones <bugzilla@glob.com.au>
# Max Kanat-Alexander <mkanat@kerio.com>
use strict; use strict;
use lib "."; use lib ".";
...@@ -54,6 +55,7 @@ use vars qw( ...@@ -54,6 +55,7 @@ use vars qw(
); );
my $cgi = Bugzilla->cgi; my $cgi = Bugzilla->cgi;
my $dbh = Bugzilla->dbh;
if (defined $::FORM{"GoAheadAndLogIn"}) { if (defined $::FORM{"GoAheadAndLogIn"}) {
# We got here from a login page, probably from relogin.cgi. We better # We got here from a login page, probably from relogin.cgi. We better
...@@ -83,17 +85,20 @@ if ($userid) { ...@@ -83,17 +85,20 @@ if ($userid) {
foreach my $ref (@oldquerycookies) { foreach my $ref (@oldquerycookies) {
my ($name, $cookiename, $value) = (@$ref); my ($name, $cookiename, $value) = (@$ref);
if ($value) { if ($value) {
my $qname = SqlQuote($name); # If the query name contains invalid characters, don't import.
SendSQL("LOCK TABLES namedqueries WRITE"); $name =~ /[<>&]/ && next;
SendSQL("SELECT query FROM namedqueries " . trick_taint($name);
"WHERE userid = $userid AND name = $qname"); $dbh->do("LOCK TABLES namedqueries WRITE");
my $query = FetchOneColumn(); my $query = $dbh->selectrow_array(
"SELECT query FROM namedqueries " .
"WHERE userid = ? AND name = ?",
undef, ($userid, $name));
if (!$query) { if (!$query) {
SendSQL("INSERT INTO namedqueries " . $dbh->do("INSERT INTO namedqueries " .
"(userid, name, query) VALUES " . "(userid, name, query) VALUES " .
"($userid, $qname, " . SqlQuote($value) . ")"); "(?, ?, ?)", undef, ($userid, $name, $value));
} }
SendSQL("UNLOCK TABLES"); $dbh->do("UNLOCK TABLES");
} }
$cgi->send_cookie(-name => $cookiename, $cgi->send_cookie(-name => $cookiename,
-expires => "Fri, 01-Jan-2038 00:00:00 GMT"); -expires => "Fri, 01-Jan-2038 00:00:00 GMT");
...@@ -103,17 +108,19 @@ if ($userid) { ...@@ -103,17 +108,19 @@ if ($userid) {
if ($::FORM{'nukedefaultquery'}) { if ($::FORM{'nukedefaultquery'}) {
if ($userid) { if ($userid) {
SendSQL("DELETE FROM namedqueries " . $dbh->do("DELETE FROM namedqueries" .
"WHERE userid = $userid AND name = " . SqlQuote(DEFAULT_QUERY_NAME)); " WHERE userid = ? AND name = ?",
undef, ($userid, DEFAULT_QUERY_NAME));
} }
$::buffer = ""; $::buffer = "";
} }
my $userdefaultquery; my $userdefaultquery;
if ($userid) { if ($userid) {
SendSQL("SELECT query FROM namedqueries " . $userdefaultquery = $dbh->selectrow_array(
"WHERE userid = $userid AND name = " . SqlQuote(DEFAULT_QUERY_NAME)); "SELECT query FROM namedqueries " .
$userdefaultquery = FetchOneColumn(); "WHERE userid = ? AND name = ?",
undef, ($userid, DEFAULT_QUERY_NAME));
} }
my %default; my %default;
...@@ -389,15 +396,11 @@ $default{'charts'} = \@charts; ...@@ -389,15 +396,11 @@ $default{'charts'} = \@charts;
# Named queries # Named queries
if ($userid) { if ($userid) {
my @namedqueries; $vars->{'namedqueries'} = $dbh->selectcol_arrayref(
SendSQL("SELECT name FROM namedqueries " . "SELECT name FROM namedqueries " .
"WHERE userid = $userid AND name != " . SqlQuote(DEFAULT_QUERY_NAME) . "WHERE userid = ? AND name != ?" .
"ORDER BY name"); "ORDER BY name",
while (MoreSQLData()) { undef, ($userid, DEFAULT_QUERY_NAME));
push(@namedqueries, FetchOneColumn());
}
$vars->{'namedqueries'} = \@namedqueries;
} }
# Sort order # Sort order
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment