blob: 436de43551dcb21bd3ec56872bd8862f44e9e5b0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
#!/usr/bin/perl -T
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
use strict;
use warnings;
use 5.10.1;
use lib qw(. lib);
use Bugzilla;
use Bugzilla::Constants;
use Bugzilla::Error;
use Bugzilla::Util;
use Bugzilla::Bug;
my $cgi = Bugzilla->cgi;
my $template = Bugzilla->template;
my $vars = {};
###############################################################################
# Begin Data/Security Validation
###############################################################################
# Check whether or not the user is currently logged in.
my $user = Bugzilla->login(LOGIN_REQUIRED);
# Make sure the bug ID is a positive integer representing an existing
# bug that the user is authorized to access.
my $bug_id = $cgi->param('id');
my $bug = Bugzilla::Bug->check($bug_id);
###############################################################################
# End Data/Security Validation
###############################################################################
my $comment_id = $cgi->param('comment_id');
# The comment ID must belong to this bug.
my ($comment) = grep($_->id == $comment_id, @{$bug->comments});
$comment
|| ThrowUserError("invalid_comment_id",
{comment_id => scalar $cgi->param('comment_id')});
if ($comment->is_private && !$user->is_insider) {
ThrowUserError('comment_is_private', {id => $comment->id});
}
$vars->{'bug'} = $bug;
$vars->{'comment'} = $comment;
print $cgi->header();
$template->process("bug/activity/comments.html.tmpl", $vars)
|| ThrowTemplateError($template->error());
|