bugzilla-4intranet/show-mail-groups.cgi

46 lines
1.3 KiB
Perl
Executable File

#!/usr/bin/perl -wT
# -*- Mode: perl; indent-tabs-mode: nil -*-
# ------------------------------------------------------------------------
# For Bug 12253
use strict;
use lib qw(. lib);
use Bugzilla;
use Bugzilla::User;
use Bugzilla::Config;
use Bugzilla::Constants;
use Bugzilla::Auth;
use Bugzilla::Util;
Bugzilla->login(LOGIN_REQUIRED);
my $cgi = Bugzilla->cgi;
my $template = Bugzilla->template;
my $dbh = Bugzilla->dbh;
my $user = Bugzilla->user;
my $userid = $user->id;
my $sql = "SELECT DISTINCT userid, login_name, realname FROM profiles WHERE realname LIKE ? ORDER BY 2";
my @bind = ("Группа%");
my $vars = {};
$vars->{users} = $dbh->selectall_arrayref($sql, {Slice=>{}}, @bind);
$sql =
"SELECT profiles.login_name FROM profiles, watch
WHERE profiles.userid=watch.watcher AND watch.watched=?
ORDER BY
SUBSTR(profiles.login_name, INSTR(profiles.login_name, '\@')+1),
LEFT(profiles.login_name, INSTR(profiles.login_name, '\@'))";
foreach my $user (@{$vars->{users}})
{
my $users_in_group = $dbh->selectall_arrayref($sql, {Slice=>{}}, $user->{userid});
$user->{list} = join ', ', map { $_->{login_name} } @$users_in_group;
}
$cgi->send_header();
$template->process('list-of-mail-groups.html.tmpl', $vars)
|| ThrowTemplateError($template->error());