Commit bb13cb54 authored by bugreport%peshkin.net's avatar bugreport%peshkin.net

Bug 164623 - xml.cgi - attachments is broken and insiders not enforced

2xr=bbaetz
parent 64a4f61f
......@@ -187,34 +187,33 @@ sub initBug {
}
}
&::SendSQL("select attach_id, creation_ts, description
&::SendSQL("select attach_id, creation_ts, isprivate, description
from attachments
where bug_id = $bug_id");
my @attachments;
while (&::MoreSQLData()) {
my ($attachid, $date, $desc) = (&::FetchSQLData());
if ($date =~ /^(\d\d)(\d\d)(\d\d)(\d\d)(\d\d)(\d\d)(\d\d)$/) {
$date = "$3/$4/$2 $5:$6";
my ($attachid, $date, $isprivate, $desc) = (&::FetchSQLData());
my %attach;
$attach{'attachid'} = $attachid;
$attach{'isprivate'} = $isprivate;
$attach{'date'} = $date;
$attach{'desc'} = $desc;
push @attachments, \%attach;
}
}
if (@attachments) {
$self->{'attachments'} = \@attachments;
}
&::SendSQL("select bug_id, who, bug_when, thetext
&::SendSQL("select bug_id, who, bug_when, isprivate, thetext
from longdescs
where bug_id = $bug_id");
my @longdescs;
while (&::MoreSQLData()) {
my ($bug_id, $who, $bug_when, $thetext) = (&::FetchSQLData());
my ($bug_id, $who, $bug_when, $isprivate, $thetext) = (&::FetchSQLData());
my %longdesc;
$longdesc{'who'} = $who;
$longdesc{'bug_when'} = $bug_when;
$longdesc{'isprivate'} = $isprivate;
$longdesc{'thetext'} = $thetext;
push @longdescs, \%longdesc;
}
......@@ -273,6 +272,9 @@ sub emitXML {
if (defined $self->{'longdescs'}) {
for (my $i=0 ; $i < @{$self->{'longdescs'}} ; $i++) {
next if ($self->{'longdescs'}[$i]->{'isprivate'}
&& &::Param("insidergroup")
&& !&::UserInGroup(&::Param("insidergroup")));
$xml .= " <long_desc>\n";
$xml .= " <who>" . &::DBID_to_name($self->{'longdescs'}[$i]->{'who'})
. "</who>\n";
......@@ -286,6 +288,9 @@ sub emitXML {
if (defined $self->{'attachments'}) {
for (my $i=0 ; $i < @{$self->{'attachments'}} ; $i++) {
next if ($self->{'attachments'}[$i]->{'isprivate'}
&& &::Param("insidergroup")
&& !&::UserInGroup(&::Param("insidergroup")));
$xml .= " <attachment>\n";
$xml .= " <attachid>" . $self->{'attachments'}[$i]->{'attachid'}
. "</attachid>\n";
......
......@@ -187,34 +187,33 @@ sub initBug {
}
}
&::SendSQL("select attach_id, creation_ts, description
&::SendSQL("select attach_id, creation_ts, isprivate, description
from attachments
where bug_id = $bug_id");
my @attachments;
while (&::MoreSQLData()) {
my ($attachid, $date, $desc) = (&::FetchSQLData());
if ($date =~ /^(\d\d)(\d\d)(\d\d)(\d\d)(\d\d)(\d\d)(\d\d)$/) {
$date = "$3/$4/$2 $5:$6";
my ($attachid, $date, $isprivate, $desc) = (&::FetchSQLData());
my %attach;
$attach{'attachid'} = $attachid;
$attach{'isprivate'} = $isprivate;
$attach{'date'} = $date;
$attach{'desc'} = $desc;
push @attachments, \%attach;
}
}
if (@attachments) {
$self->{'attachments'} = \@attachments;
}
&::SendSQL("select bug_id, who, bug_when, thetext
&::SendSQL("select bug_id, who, bug_when, isprivate, thetext
from longdescs
where bug_id = $bug_id");
my @longdescs;
while (&::MoreSQLData()) {
my ($bug_id, $who, $bug_when, $thetext) = (&::FetchSQLData());
my ($bug_id, $who, $bug_when, $isprivate, $thetext) = (&::FetchSQLData());
my %longdesc;
$longdesc{'who'} = $who;
$longdesc{'bug_when'} = $bug_when;
$longdesc{'isprivate'} = $isprivate;
$longdesc{'thetext'} = $thetext;
push @longdescs, \%longdesc;
}
......@@ -273,6 +272,9 @@ sub emitXML {
if (defined $self->{'longdescs'}) {
for (my $i=0 ; $i < @{$self->{'longdescs'}} ; $i++) {
next if ($self->{'longdescs'}[$i]->{'isprivate'}
&& &::Param("insidergroup")
&& !&::UserInGroup(&::Param("insidergroup")));
$xml .= " <long_desc>\n";
$xml .= " <who>" . &::DBID_to_name($self->{'longdescs'}[$i]->{'who'})
. "</who>\n";
......@@ -286,6 +288,9 @@ sub emitXML {
if (defined $self->{'attachments'}) {
for (my $i=0 ; $i < @{$self->{'attachments'}} ; $i++) {
next if ($self->{'attachments'}[$i]->{'isprivate'}
&& &::Param("insidergroup")
&& !&::UserInGroup(&::Param("insidergroup")));
$xml .= " <attachment>\n";
$xml .= " <attachid>" . $self->{'attachments'}[$i]->{'attachid'}
. "</attachid>\n";
......
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