Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
bugzilla
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
etersoft
bugzilla
Commits
658f2f56
Commit
658f2f56
authored
Mar 11, 2000
by
terry%mozilla.org
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Italicize the "Additional Comments From" stuff, so that you can tell
the difference between new comments and people copying stuff in from old comments.
parent
1f9f6d76
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
134 additions
and
96 deletions
+134
-96
bug_form.pl
bug_form.pl
+2
-88
globals.pl
globals.pl
+125
-1
long_list.cgi
long_list.cgi
+1
-1
process_bug.cgi
process_bug.cgi
+4
-4
processmail
processmail
+2
-2
No files found.
bug_form.pl
View file @
658f2f56
...
...
@@ -40,89 +40,6 @@ sub bug_form_pl_sillyness {
$zz
=
@::legal_severity
;
}
my
%
knownattachments
;
# This routine quoteUrls contains inspirations from the HTML::FromText CPAN
# module by Gareth Rees <garethr@cre.canon.co.uk>. It has been heavily hacked,
# all that is really recognizable from the original is bits of the regular
# expressions.
sub
quoteUrls
{
my
$text
=
shift
;
# Take a copy; don't modify in-place.
return
$text
unless
$text
;
my
$base
=
Param
(
'urlbase'
);
my
$protocol
=
join
'|'
,
qw(afs cid ftp gopher http https mid news nntp prospero telnet wais)
;
my
%
options
=
(
metachars
=>
1
,
@_
);
my
$count
=
0
;
# Now, quote any "#" characters so they won't confuse stuff later
$text
=~
s/#/%#/g
;
# Next, find anything that looks like a URL or an email address and
# pull them out the the text, replacing them with a "##<digits>##
# marker, and writing them into an array. All this confusion is
# necessary so that we don't match on something we've already replaced,
# which can happen if you do multiple s///g operations.
my
@things
;
while
(
$text
=~
s%((mailto:)?([\w\.\-\+\=]+\@[\w\-]+(?:\.[\w\-]+)+)\b|
(\b((?:$protocol):[^ \t\n<>"]+[\w/])))%"##$count##"%exo
)
{
my
$item
=
$&
;
$item
=
value_quote
(
$item
);
if
(
$item
!~
m/^$protocol:/o
&&
$item
!~
/^mailto:/
)
{
# We must have grabbed this one because it looks like an email
# address.
$item
=
qq{<A HREF="mailto:$item">$item</A>}
;
}
else
{
$item
=
qq{<A HREF="$item">$item</A>}
;
}
$things
[
$count
++
]
=
$item
;
}
while
(
$text
=~
s/\bbug(\s|%\#)*(\d+)/"##$count##"/ei
)
{
my
$item
=
$&
;
my
$num
=
$2
;
$item
=
value_quote
(
$item
);
# Not really necessary, since we know
# there's no special chars in it.
$item
=
qq{<A HREF="show_bug.cgi?id=$num">$item</A>}
;
$things
[
$count
++
]
=
$item
;
}
while
(
$text
=~
s/\*\*\* This bug has been marked as a duplicate of (\d+) \*\*\*/"##$count##"/ei
)
{
my
$item
=
$&
;
my
$num
=
$1
;
$item
=~
s@\d+@<A HREF="show_bug.cgi?id=$num">$num</A>@
;
$things
[
$count
++
]
=
$item
;
}
while
(
$text
=~
s/Created an attachment \(id=(\d+)\)/"##$count##"/e
)
{
my
$item
=
$&
;
my
$num
=
$1
;
if
(
exists
$knownattachments
{
$num
})
{
$item
=
qq{<A HREF="showattachment.cgi?attach_id=$num">$item</A>}
;
}
$things
[
$count
++
]
=
$item
;
}
$text
=
value_quote
(
$text
);
$text
=~
s/\
/\n/g
;
# Stuff everything back from the array.
for
(
my
$i
=
0
;
$i
<
$count
;
$i
++
)
{
$text
=~
s/##$i##/$things[$i]/e
;
}
# And undo the quoting of "#" characters.
$text
=~
s/%#/#/g
;
return
$text
;
}
my
$loginok
=
quietly_check_login
();
my
$id
=
$::FORM
{
'id'
};
...
...
@@ -208,7 +125,7 @@ print qq{<FORM NAME="changeform" METHOD="POST" ACTION="process_bug.cgi">\n};
# print qq{<INPUT TYPE="HIDDEN" NAME="orig-$i" VALUE="$q">\n};
# }
$bug
{
'long_desc'
}
=
GetLongDescription
(
$id
);
$bug
{
'long_desc'
}
=
GetLongDescription
AsHTML
(
$id
);
my
$longdesclength
=
length
(
$bug
{
'long_desc'
});
GetVersionTable
();
...
...
@@ -370,7 +287,6 @@ while (MoreSQLData()) {
my
$link
=
"showattachment.cgi?attach_id=$attachid"
;
$desc
=
value_quote
(
$desc
);
print
qq{<td><a href="$link">$date</a></td><td colspan=4>$desc</td></tr><tr><td></td>}
;
$knownattachments
{
$attachid
}
=
1
;
}
print
"<td colspan=6><a href=\"createattachment.cgi?id=$id\">Create a new attachment</a> (proposed patch, testcase, etc.)</td></tr></table>\n"
;
...
...
@@ -550,11 +466,9 @@ print "
<table><tr><td align=left><B>Description:</B></td>
<td align=right width=100%>Opened: $bug{'creation_ts'}</td></tr></table>
<HR>
<PRE>
"
;
print
quoteUrls
(
$bug
{
'long_desc'
},
email
=>
1
,
urls
=>
1
)
;
print
$bug
{
'long_desc'
}
;
print
"
</PRE>
<HR>\n"
;
# To add back option of editing the long description, insert after the above
...
...
globals.pl
View file @
658f2f56
...
...
@@ -562,7 +562,88 @@ sub DBNameToIdAndCheck {
exit
(
0
);
}
sub
GetLongDescription
{
# This routine quoteUrls contains inspirations from the HTML::FromText CPAN
# module by Gareth Rees <garethr@cre.canon.co.uk>. It has been heavily hacked,
# all that is really recognizable from the original is bits of the regular
# expressions.
sub
quoteUrls
{
my
(
$knownattachments
,
$text
)
=
(
@_
);
return
$text
unless
$text
;
my
$base
=
Param
(
'urlbase'
);
my
$protocol
=
join
'|'
,
qw(afs cid ftp gopher http https mid news nntp prospero telnet wais)
;
my
%
options
=
(
metachars
=>
1
,
@_
);
my
$count
=
0
;
# Now, quote any "#" characters so they won't confuse stuff later
$text
=~
s/#/%#/g
;
# Next, find anything that looks like a URL or an email address and
# pull them out the the text, replacing them with a "##<digits>##
# marker, and writing them into an array. All this confusion is
# necessary so that we don't match on something we've already replaced,
# which can happen if you do multiple s///g operations.
my
@things
;
while
(
$text
=~
s%((mailto:)?([\w\.\-\+\=]+\@[\w\-]+(?:\.[\w\-]+)+)\b|
(\b((?:$protocol):[^ \t\n<>"]+[\w/])))%"##$count##"%exo
)
{
my
$item
=
$&
;
$item
=
value_quote
(
$item
);
if
(
$item
!~
m/^$protocol:/o
&&
$item
!~
/^mailto:/
)
{
# We must have grabbed this one because it looks like an email
# address.
$item
=
qq{<A HREF="mailto:$item">$item</A>}
;
}
else
{
$item
=
qq{<A HREF="$item">$item</A>}
;
}
$things
[
$count
++
]
=
$item
;
}
while
(
$text
=~
s/\bbug(\s|%\#)*(\d+)/"##$count##"/ei
)
{
my
$item
=
$&
;
my
$num
=
$2
;
$item
=
value_quote
(
$item
);
# Not really necessary, since we know
# there's no special chars in it.
$item
=
qq{<A HREF="show_bug.cgi?id=$num">$item</A>}
;
$things
[
$count
++
]
=
$item
;
}
while
(
$text
=~
s/\*\*\* This bug has been marked as a duplicate of (\d+) \*\*\*/"##$count##"/ei
)
{
my
$item
=
$&
;
my
$num
=
$1
;
$item
=~
s@\d+@<A HREF="show_bug.cgi?id=$num">$num</A>@
;
$things
[
$count
++
]
=
$item
;
}
while
(
$text
=~
s/Created an attachment \(id=(\d+)\)/"##$count##"/e
)
{
my
$item
=
$&
;
my
$num
=
$1
;
if
(
$knownattachments
->
{
$num
})
{
$item
=
qq{<A HREF="showattachment.cgi?attach_id=$num">$item</A>}
;
}
$things
[
$count
++
]
=
$item
;
}
$text
=
value_quote
(
$text
);
$text
=~
s/\
/\n/g
;
# Stuff everything back from the array.
for
(
my
$i
=
0
;
$i
<
$count
;
$i
++
)
{
$text
=~
s/##$i##/$things[$i]/e
;
}
# And undo the quoting of "#" characters.
$text
=~
s/%#/#/g
;
return
$text
;
}
sub
GetLongDescriptionAsText
{
my
(
$id
,
$start
,
$end
)
=
(
@_
);
my
$result
=
""
;
my
$count
=
0
;
...
...
@@ -598,6 +679,49 @@ sub GetLongDescription {
}
sub
GetLongDescriptionAsHTML
{
my
(
$id
,
$start
,
$end
)
=
(
@_
);
my
$result
=
""
;
my
$count
=
0
;
my
%
knownattachments
;
SendSQL
(
"SELECT attach_id FROM attachments WHERE bug_id = $id"
);
while
(
MoreSQLData
())
{
$knownattachments
{
FetchOneColumn
()}
=
1
;
}
my
(
$query
)
=
(
"SELECT profiles.login_name, longdescs.bug_when, "
.
" longdescs.thetext "
.
"FROM longdescs, profiles "
.
"WHERE profiles.userid = longdescs.who "
.
" AND longdescs.bug_id = $id "
);
if
(
$start
&&
$start
=~
/[1-9]/
)
{
# If the start is all zeros, then don't do this (because we want to
# not emit a leading "Addition Comments" line in that case.)
$query
.=
"AND longdescs.bug_when > '$start'"
;
$count
=
1
;
}
if
(
$end
)
{
$query
.=
"AND longdescs.bug_when <= '$end'"
;
}
$query
.=
"ORDER BY longdescs.bug_when"
;
SendSQL
(
$query
);
while
(
MoreSQLData
())
{
my
(
$who
,
$when
,
$text
)
=
(
FetchSQLData
());
if
(
$count
)
{
$result
.=
"<BR><BR><I>------- Additional Comments From "
.
qq{<A HREF="$who">$who</A> }
.
time2str
(
"%Y-%m-%d %H:%M"
,
str2time
(
$when
))
.
" -------</I><BR>\n"
;
}
$result
.=
"<PRE>"
.
quoteUrls
(
\%
knownattachments
,
$text
)
.
"</PRE>\n"
;
$count
++
;
}
return
$result
;
}
sub
ShowCcList
{
my
(
$num
)
=
(
@_
);
my
@ccids
;
...
...
long_list.cgi
View file @
658f2f56
...
...
@@ -116,7 +116,7 @@ foreach my $bug (split(/:/, $::FORM{'buglist'})) {
html_quote
(
$status_whiteboard
)
.
"\n"
;
}
print
"<TR><TD><B>Description:</B>\n</TABLE>\n"
;
print
"<PRE>"
.
html_quote
(
GetLongDescription
(
$bug
))
.
"</PRE>\n"
;
print
GetLongDescriptionAsHTML
(
$bug
)
;
print
"<HR>\n"
;
}
}
process_bug.cgi
View file @
658f2f56
...
...
@@ -609,14 +609,14 @@ The changes made were:
<p>
"
;
DumpBugActivity
(
$id
,
$delta_ts
);
my
$longdesc
=
GetLongDescription
(
$id
);
my
$longdesc
=
GetLongDescription
AsHTML
(
$id
);
my
$longchanged
=
0
;
if
(
length
(
$longdesc
)
>
$::FORM
{
'longdesclength'
})
{
$longchanged
=
1
;
print
"<P>Added text to the long description:<blockquote>
<pre>
"
;
print
html_quote
(
substr
(
$longdesc
,
$::FORM
{
'longdesclength'
})
);
print
"</
pre></
blockquote>\n"
;
print
"<P>Added text to the long description:<blockquote>"
;
print
substr
(
$longdesc
,
$::FORM
{
'longdesclength'
}
);
print
"</blockquote>\n"
;
}
SendSQL
(
"unlock tables"
);
print
"You have the following choices: <ul>\n"
;
...
...
processmail
View file @
658f2f56
...
...
@@ -199,7 +199,7 @@ sub GetBugText {
$status_whiteboard
=
"StatusWhiteboard: $::bug{'status_whiteboard'}\n"
;
}
$::bug
{
'long_desc'
}
=
GetLongDescription
(
$id
);
$::bug
{
'long_desc'
}
=
GetLongDescription
AsText
(
$id
);
my
@cclist
;
@cclist
=
split
(
/,/
,
ShowCcList
(
$id
));
...
...
@@ -455,7 +455,7 @@ sub NewProcessOneBug {
}
my
$newcomments
=
GetLongDescription
(
$id
,
$start
,
$end
);
my
$newcomments
=
GetLongDescription
AsText
(
$id
,
$start
,
$end
);
my
$count
=
0
;
for
my
$person
(
$values
{
'assigned_to'
},
$values
{
'reporter'
},
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment