summaryrefslogtreecommitdiffstats
path: root/CGI.pl
diff options
context:
space:
mode:
authorgerv%gerv.net <>2002-05-08 06:28:39 +0200
committergerv%gerv.net <>2002-05-08 06:28:39 +0200
commitd756467055959872b1a443d2c60417135b0d05e9 (patch)
treed1f3401ac634e7cc5407d6340f068aa44e0470e9 /CGI.pl
parent4afae456014ff01ee01e11279fc5a9b5f4f7b5bf (diff)
downloadbugzilla-d756467055959872b1a443d2c60417135b0d05e9.tar.gz
bugzilla-d756467055959872b1a443d2c60417135b0d05e9.tar.xz
Bug 140435 - Templatise GetCommandMenu. Patch by gerv; r=bbaetz, justdave.
Diffstat (limited to 'CGI.pl')
-rw-r--r--CGI.pl43
1 files changed, 43 insertions, 0 deletions
diff --git a/CGI.pl b/CGI.pl
index b62913d36..f5ce6fb35 100644
--- a/CGI.pl
+++ b/CGI.pl
@@ -480,9 +480,52 @@ sub quietly_check_login() {
if (!$loginok) {
delete $::COOKIE{"Bugzilla_login"};
}
+
+ $vars->{'user'} = GetUserInfo($::userid);
+
return $loginok;
}
+# Populate a hash with information about this user.
+sub GetUserInfo {
+ my ($userid) = (@_);
+ my %user;
+ my @queries;
+ my %groups;
+
+ # No info if not logged in
+ return \%user if ($userid == 0);
+
+ $user{'login'} = $::COOKIE{"Bugzilla_login"};
+ $user{'userid'} = $userid;
+
+ SendSQL("SELECT mybugslink, realname, groupset FROM profiles " .
+ "WHERE userid = $userid");
+ ($user{'showmybugslink'}, $user{'realname'}, $user{'groupset'}) =
+ FetchSQLData();
+
+ SendSQL("SELECT name, query, linkinfooter FROM namedqueries " .
+ "WHERE userid = $userid");
+ while (MoreSQLData()) {
+ my %query;
+ ($query{'name'}, $query{'query'}, $query{'linkinfooter'}) =
+ FetchSQLData();
+ push(@queries, \%query);
+ }
+
+ $user{'queries'} = \@queries;
+
+ SendSQL("select name, (bit & $user{'groupset'}) != 0 from groups");
+ while (MoreSQLData()) {
+ my ($name, $bit) = FetchSQLData();
+ $groups{$name} = $bit;
+ }
+
+ $user{'groups'} = \%groups;
+
+ return \%user;
+}
+
sub CheckEmailSyntax {
my ($addr) = (@_);
my $match = Param('emailregexp');