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
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Ivan Ivlev
bugzilla
Commits
7b16c745
You need to sign in or sign up before continuing.
Commit
7b16c745
authored
Jun 12, 2000
by
endico%mozilla.org
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
'Bug' data was in a global var. different bugs were sharing this and overwritig each other.
parent
9e45f64b
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
93 additions
and
93 deletions
+93
-93
Bug.pm
Bug.pm
+46
-46
Bug.pm
Bugzilla/Bug.pm
+46
-46
xml.cgi
xml.cgi
+1
-1
No files found.
Bug.pm
View file @
7b16c745
...
@@ -30,14 +30,13 @@ require "globals.pl";
...
@@ -30,14 +30,13 @@ require "globals.pl";
require
"CGI.pl"
;
require
"CGI.pl"
;
package
Bug
;
package
Bug
;
use
CGI::
Carp
qw(fatalsToBrowser)
;
use
CGI::
Carp
qw(fatalsToBrowser)
;
my
%
bug
;
my
%
ok_field
;
my
%
ok_field
;
for
my
$key
(
qw (bug_id
product
version
rep_platform
op_sys
bug_status
for
my
$key
(
qw (bug_id
product
version
rep_platform
op_sys
bug_status
resolution
priority
bug_severity
component
assigned_to
resolution
priority
bug_severity
component
assigned_to
reporter
bug_file_loc
short_desc
target_milestone
reporter
bug_file_loc
short_desc
target_milestone
qa_contact
status_whiteboard
creation_ts
groupset
qa_contact
status_whiteboard
creation_ts
groupset
delta_ts
votes
)
){
delta_ts
error
votes
)
){
$ok_field
{
$key
}
++
;
$ok_field
{
$key
}
++
;
}
}
...
@@ -45,6 +44,7 @@ for my $key (qw (bug_id product version rep_platform op_sys bug_status
...
@@ -45,6 +44,7 @@ for my $key (qw (bug_id product version rep_platform op_sys bug_status
#
#
sub
new
{
sub
new
{
my
$type
=
shift
();
my
$type
=
shift
();
my
%
bug
;
# create a ref to an empty hash and bless it
# create a ref to an empty hash and bless it
#
#
...
@@ -119,45 +119,45 @@ sub initBug {
...
@@ -119,45 +119,45 @@ sub initBug {
"groupset"
,
"delta_ts"
,
"votes"
)
{
"groupset"
,
"delta_ts"
,
"votes"
)
{
$fields
{
$field
}
=
shift
@row
;
$fields
{
$field
}
=
shift
@row
;
if
(
$fields
{
$field
})
{
if
(
$fields
{
$field
})
{
$
bug
{
$field
}
=
$fields
{
$field
};
$
self
->
{
$field
}
=
$fields
{
$field
};
}
}
$count
++
;
$count
++
;
}
}
}
else
{
}
else
{
&::
SendSQL
(
"select groupset from bugs where bug_id = $bug_id"
);
&::
SendSQL
(
"select groupset from bugs where bug_id = $bug_id"
);
if
(
@row
=
&::
FetchSQLData
())
{
if
(
@row
=
&::
FetchSQLData
())
{
$
bug
{
'bug_id'
}
=
$bug_id
;
$
self
->
{
'bug_id'
}
=
$bug_id
;
$
bug
{
'error'
}
=
"NotPermitted"
;
$
self
->
{
'error'
}
=
"NotPermitted"
;
return
$self
;
return
$self
;
}
else
{
}
else
{
$
bug
{
'bug_id'
}
=
$bug_id
;
$
self
->
{
'bug_id'
}
=
$bug_id
;
$
bug
{
'error'
}
=
"NotFound"
;
$
self
->
{
'error'
}
=
"NotFound"
;
return
$self
;
return
$self
;
}
}
}
}
if
(
$
bug
{
'short_desc'
})
{
if
(
$
self
->
{
'short_desc'
})
{
$
bug
{
'short_desc'
}
=
QuoteXMLChars
(
$bug
{
'short_desc'
}
);
$
self
->
{
'short_desc'
}
=
QuoteXMLChars
(
$self
->
{
'short_desc'
}
);
}
}
if
(
defined
$
bug
{
'status_whiteboard'
})
{
if
(
defined
$
self
->
{
'status_whiteboard'
})
{
$
bug
{
'status_whiteboard'
}
=
QuoteXMLChars
(
$bug
{
'status_whiteboard'
});
$
self
->
{
'status_whiteboard'
}
=
QuoteXMLChars
(
$self
->
{
'status_whiteboard'
});
}
}
$
bug
{
'assigned_to'
}
=
&::
DBID_to_real_or_loginname
(
$bug
{
'assigned_to'
});
$
self
->
{
'assigned_to'
}
=
&::
DBID_to_real_or_loginname
(
$self
->
{
'assigned_to'
});
$
bug
{
'reporter'
}
=
&::
DBID_to_real_or_loginname
(
$bug
{
'reporter'
});
$
self
->
{
'reporter'
}
=
&::
DBID_to_real_or_loginname
(
$self
->
{
'reporter'
});
my
$ccSet
=
new
RelationSet
;
my
$ccSet
=
new
RelationSet
;
$ccSet
->
mergeFromDB
(
"select who from cc where bug_id=$bug_id"
);
$ccSet
->
mergeFromDB
(
"select who from cc where bug_id=$bug_id"
);
my
@cc
=
$ccSet
->
toArrayOfStrings
();
my
@cc
=
$ccSet
->
toArrayOfStrings
();
if
(
@cc
)
{
if
(
@cc
)
{
$
bug
{
'cc'
}
=
\
@cc
;
$
self
->
{
'cc'
}
=
\
@cc
;
}
}
if
(
&::
Param
(
"useqacontact"
)
&&
(
defined
$
bug
{
'qa_contact'
})
)
{
if
(
&::
Param
(
"useqacontact"
)
&&
(
defined
$
self
->
{
'qa_contact'
})
)
{
my
$name
=
$
bug
{
'qa_contact'
}
>
0
?
&::
DBID_to_name
(
$bug
{
'qa_contact'
})
:
""
;
my
$name
=
$
self
->
{
'qa_contact'
}
>
0
?
&::
DBID_to_name
(
$self
->
{
'qa_contact'
})
:
""
;
if
(
$name
)
{
if
(
$name
)
{
$
bug
{
'qa_contact'
}
=
$name
;
$
self
->
{
'qa_contact'
}
=
$name
;
}
}
}
}
...
@@ -172,7 +172,7 @@ sub initBug {
...
@@ -172,7 +172,7 @@ sub initBug {
push
(
@list
,
&::
FetchOneColumn
());
push
(
@list
,
&::
FetchOneColumn
());
}
}
if
(
@list
)
{
if
(
@list
)
{
$
bug
{
'keywords'
}
=
&::
html_quote
(
join
(
', '
,
@list
));
$
self
->
{
'keywords'
}
=
&::
html_quote
(
join
(
', '
,
@list
));
}
}
}
}
...
@@ -192,7 +192,7 @@ sub initBug {
...
@@ -192,7 +192,7 @@ sub initBug {
}
}
}
}
if
(
@attachments
)
{
if
(
@attachments
)
{
$
bug
{
'attachments'
}
=
\
@attachments
;
$
self
->
{
'attachments'
}
=
\
@attachments
;
}
}
&::
SendSQL
(
"select bug_id, who, bug_when, thetext
&::
SendSQL
(
"select bug_id, who, bug_when, thetext
...
@@ -208,17 +208,17 @@ sub initBug {
...
@@ -208,17 +208,17 @@ sub initBug {
push
@longdescs
,
\%
longdesc
;
push
@longdescs
,
\%
longdesc
;
}
}
if
(
@longdescs
)
{
if
(
@longdescs
)
{
$
bug
{
'longdescs'
}
=
\
@longdescs
;
$
self
->
{
'longdescs'
}
=
\
@longdescs
;
}
}
if
(
&::
Param
(
"usedependencies"
))
{
if
(
&::
Param
(
"usedependencies"
))
{
my
@depends
=
EmitDependList
(
"blocked"
,
"dependson"
,
$bug_id
);
my
@depends
=
EmitDependList
(
"blocked"
,
"dependson"
,
$bug_id
);
if
(
@depends
)
{
if
(
@depends
)
{
$
bug
{
'dependson'
}
=
\
@depends
;
$
self
->
{
'dependson'
}
=
\
@depends
;
}
}
my
@blocks
=
EmitDependList
(
"dependson"
,
"blocked"
,
$bug_id
);
my
@blocks
=
EmitDependList
(
"dependson"
,
"blocked"
,
$bug_id
);
if
(
@blocks
)
{
if
(
@blocks
)
{
$
bug
{
'blocks'
}
=
\
@blocks
;
$
self
->
{
'blocks'
}
=
\
@blocks
;
}
}
}
}
return
$self
;
return
$self
;
...
@@ -234,9 +234,9 @@ sub emitXML {
...
@@ -234,9 +234,9 @@ sub emitXML {
my
$xml
;
my
$xml
;
if
(
exists
$
bug
{
'error'
})
{
if
(
exists
$
self
->
{
'error'
})
{
$xml
.=
"<bug error=\"$
bug
{'error'}\">\n"
;
$xml
.=
"<bug error=\"$
self->
{'error'}\">\n"
;
$xml
.=
" <bug_id>$
bug
{'bug_id'}</bug_id>\n"
;
$xml
.=
" <bug_id>$
self->
{'bug_id'}</bug_id>\n"
;
$xml
.=
"</bug>\n"
;
$xml
.=
"</bug>\n"
;
return
$xml
;
return
$xml
;
}
}
...
@@ -248,41 +248,41 @@ sub emitXML {
...
@@ -248,41 +248,41 @@ sub emitXML {
"component"
,
"reporter"
,
"target_milestone"
,
"bug_severity"
,
"component"
,
"reporter"
,
"target_milestone"
,
"bug_severity"
,
"creation_ts"
,
"qa_contact"
,
"op_sys"
,
"resolution"
,
"bug_file_loc"
,
"creation_ts"
,
"qa_contact"
,
"op_sys"
,
"resolution"
,
"bug_file_loc"
,
"short_desc"
,
"keywords"
,
"status_whiteboard"
)
{
"short_desc"
,
"keywords"
,
"status_whiteboard"
)
{
if
(
$
bug
{
$field
})
{
if
(
$
self
->
{
$field
})
{
$xml
.=
" <$field>"
.
$
bug
{
$field
}
.
"</$field>\n"
;
$xml
.=
" <$field>"
.
$
self
->
{
$field
}
.
"</$field>\n"
;
}
}
}
}
foreach
my
$field
(
"dependson"
,
"blocks"
,
"cc"
)
{
foreach
my
$field
(
"dependson"
,
"blocks"
,
"cc"
)
{
if
(
defined
$
bug
{
$field
})
{
if
(
defined
$
self
->
{
$field
})
{
for
(
my
$i
=
0
;
$i
<
@
{
$
bug
{
$field
}}
;
$i
++
)
{
for
(
my
$i
=
0
;
$i
<
@
{
$
self
->
{
$field
}}
;
$i
++
)
{
$xml
.=
" <$field>"
.
$
bug
{
$field
}[
$i
]
.
"</$field>\n"
;
$xml
.=
" <$field>"
.
$
self
->
{
$field
}[
$i
]
.
"</$field>\n"
;
}
}
}
}
}
}
if
(
defined
$
bug
{
'longdescs'
})
{
if
(
defined
$
self
->
{
'longdescs'
})
{
for
(
my
$i
=
0
;
$i
<
@
{
$
bug
{
'longdescs'
}}
;
$i
++
)
{
for
(
my
$i
=
0
;
$i
<
@
{
$
self
->
{
'longdescs'
}}
;
$i
++
)
{
$xml
.=
" <long_desc>\n"
;
$xml
.=
" <long_desc>\n"
;
$xml
.=
" <who>"
.
&::
DBID_to_name
(
$
bug
{
'longdescs'
}[
$i
]
->
{
'who'
})
$xml
.=
" <who>"
.
&::
DBID_to_name
(
$
self
->
{
'longdescs'
}[
$i
]
->
{
'who'
})
.
"</who>\n"
;
.
"</who>\n"
;
$xml
.=
" <bug_when>"
.
$
bug
{
'longdescs'
}[
$i
]
->
{
'bug_when'
}
$xml
.=
" <bug_when>"
.
$
self
->
{
'longdescs'
}[
$i
]
->
{
'bug_when'
}
.
"</bug_when>\n"
;
.
"</bug_when>\n"
;
$xml
.=
" <thetext>"
.
QuoteXMLChars
(
$
bug
{
'longdescs'
}[
$i
]
->
{
'thetext'
})
$xml
.=
" <thetext>"
.
QuoteXMLChars
(
$
self
->
{
'longdescs'
}[
$i
]
->
{
'thetext'
})
.
"</thetext>\n"
;
.
"</thetext>\n"
;
$xml
.=
" </long_desc>\n"
;
$xml
.=
" </long_desc>\n"
;
}
}
}
}
if
(
defined
$
bug
{
'attachments'
})
{
if
(
defined
$
self
->
{
'attachments'
})
{
for
(
my
$i
=
0
;
$i
<
@
{
$
bug
{
'attachments'
}}
;
$i
++
)
{
for
(
my
$i
=
0
;
$i
<
@
{
$
self
->
{
'attachments'
}}
;
$i
++
)
{
$xml
.=
" <attachment>\n"
;
$xml
.=
" <attachment>\n"
;
$xml
.=
" <attachid>"
.
$
bug
{
'attachments'
}[
$i
]
->
{
'attachid'
}
$xml
.=
" <attachid>"
.
$
self
->
{
'attachments'
}[
$i
]
->
{
'attachid'
}
.
"</attachid>\n"
;
.
"</attachid>\n"
;
$xml
.=
" <date>"
.
$
bug
{
'attachments'
}[
$i
]
->
{
'date'
}
.
"</date>\n"
;
$xml
.=
" <date>"
.
$
self
->
{
'attachments'
}[
$i
]
->
{
'date'
}
.
"</date>\n"
;
$xml
.=
" <desc>"
.
$
bug
{
'attachments'
}[
$i
]
->
{
'desc'
}
.
"</desc>\n"
;
$xml
.=
" <desc>"
.
$
self
->
{
'attachments'
}[
$i
]
->
{
'desc'
}
.
"</desc>\n"
;
# $xml .= " <type>" . $
bug
{'attachments'}[$i]->{'type'} . "</type>\n";
# $xml .= " <type>" . $
self->
{'attachments'}[$i]->{'type'} . "</type>\n";
# $xml .= " <data>" . $
bug
{'attachments'}[$i]->{'data'} . "</data>\n";
# $xml .= " <data>" . $
self->
{'attachments'}[$i]->{'data'} . "</data>\n";
$xml
.=
" </attachment>\n"
;
$xml
.=
" </attachment>\n"
;
}
}
}
}
...
@@ -355,12 +355,12 @@ sub AUTOLOAD {
...
@@ -355,12 +355,12 @@ sub AUTOLOAD {
$attr
=~
s/.*:://
;
$attr
=~
s/.*:://
;
return
unless
$attr
=~
/[^A-Z]/
;
return
unless
$attr
=~
/[^A-Z]/
;
if
(
@_
)
{
if
(
@_
)
{
$
bug
{
$attr
}
=
shift
;
$
self
->
{
$attr
}
=
shift
;
return
;
return
;
}
}
confess
"invalid bug attribute $attr"
unless
$ok_field
{
$attr
};
confess
(
"invalid bug attribute $attr"
)
unless
$ok_field
{
$attr
};
if
(
defined
$
bug
{
$attr
})
{
if
(
defined
$
self
->
{
$attr
})
{
return
$
bug
{
$attr
};
return
$
self
->
{
$attr
};
}
else
{
}
else
{
return
''
;
return
''
;
}
}
...
...
Bugzilla/Bug.pm
View file @
7b16c745
...
@@ -30,14 +30,13 @@ require "globals.pl";
...
@@ -30,14 +30,13 @@ require "globals.pl";
require
"CGI.pl"
;
require
"CGI.pl"
;
package
Bug
;
package
Bug
;
use
CGI::
Carp
qw(fatalsToBrowser)
;
use
CGI::
Carp
qw(fatalsToBrowser)
;
my
%
bug
;
my
%
ok_field
;
my
%
ok_field
;
for
my
$key
(
qw (bug_id
product
version
rep_platform
op_sys
bug_status
for
my
$key
(
qw (bug_id
product
version
rep_platform
op_sys
bug_status
resolution
priority
bug_severity
component
assigned_to
resolution
priority
bug_severity
component
assigned_to
reporter
bug_file_loc
short_desc
target_milestone
reporter
bug_file_loc
short_desc
target_milestone
qa_contact
status_whiteboard
creation_ts
groupset
qa_contact
status_whiteboard
creation_ts
groupset
delta_ts
votes
)
){
delta_ts
error
votes
)
){
$ok_field
{
$key
}
++
;
$ok_field
{
$key
}
++
;
}
}
...
@@ -45,6 +44,7 @@ for my $key (qw (bug_id product version rep_platform op_sys bug_status
...
@@ -45,6 +44,7 @@ for my $key (qw (bug_id product version rep_platform op_sys bug_status
#
#
sub
new
{
sub
new
{
my
$type
=
shift
();
my
$type
=
shift
();
my
%
bug
;
# create a ref to an empty hash and bless it
# create a ref to an empty hash and bless it
#
#
...
@@ -119,45 +119,45 @@ sub initBug {
...
@@ -119,45 +119,45 @@ sub initBug {
"groupset"
,
"delta_ts"
,
"votes"
)
{
"groupset"
,
"delta_ts"
,
"votes"
)
{
$fields
{
$field
}
=
shift
@row
;
$fields
{
$field
}
=
shift
@row
;
if
(
$fields
{
$field
})
{
if
(
$fields
{
$field
})
{
$
bug
{
$field
}
=
$fields
{
$field
};
$
self
->
{
$field
}
=
$fields
{
$field
};
}
}
$count
++
;
$count
++
;
}
}
}
else
{
}
else
{
&::
SendSQL
(
"select groupset from bugs where bug_id = $bug_id"
);
&::
SendSQL
(
"select groupset from bugs where bug_id = $bug_id"
);
if
(
@row
=
&::
FetchSQLData
())
{
if
(
@row
=
&::
FetchSQLData
())
{
$
bug
{
'bug_id'
}
=
$bug_id
;
$
self
->
{
'bug_id'
}
=
$bug_id
;
$
bug
{
'error'
}
=
"NotPermitted"
;
$
self
->
{
'error'
}
=
"NotPermitted"
;
return
$self
;
return
$self
;
}
else
{
}
else
{
$
bug
{
'bug_id'
}
=
$bug_id
;
$
self
->
{
'bug_id'
}
=
$bug_id
;
$
bug
{
'error'
}
=
"NotFound"
;
$
self
->
{
'error'
}
=
"NotFound"
;
return
$self
;
return
$self
;
}
}
}
}
if
(
$
bug
{
'short_desc'
})
{
if
(
$
self
->
{
'short_desc'
})
{
$
bug
{
'short_desc'
}
=
QuoteXMLChars
(
$bug
{
'short_desc'
}
);
$
self
->
{
'short_desc'
}
=
QuoteXMLChars
(
$self
->
{
'short_desc'
}
);
}
}
if
(
defined
$
bug
{
'status_whiteboard'
})
{
if
(
defined
$
self
->
{
'status_whiteboard'
})
{
$
bug
{
'status_whiteboard'
}
=
QuoteXMLChars
(
$bug
{
'status_whiteboard'
});
$
self
->
{
'status_whiteboard'
}
=
QuoteXMLChars
(
$self
->
{
'status_whiteboard'
});
}
}
$
bug
{
'assigned_to'
}
=
&::
DBID_to_real_or_loginname
(
$bug
{
'assigned_to'
});
$
self
->
{
'assigned_to'
}
=
&::
DBID_to_real_or_loginname
(
$self
->
{
'assigned_to'
});
$
bug
{
'reporter'
}
=
&::
DBID_to_real_or_loginname
(
$bug
{
'reporter'
});
$
self
->
{
'reporter'
}
=
&::
DBID_to_real_or_loginname
(
$self
->
{
'reporter'
});
my
$ccSet
=
new
RelationSet
;
my
$ccSet
=
new
RelationSet
;
$ccSet
->
mergeFromDB
(
"select who from cc where bug_id=$bug_id"
);
$ccSet
->
mergeFromDB
(
"select who from cc where bug_id=$bug_id"
);
my
@cc
=
$ccSet
->
toArrayOfStrings
();
my
@cc
=
$ccSet
->
toArrayOfStrings
();
if
(
@cc
)
{
if
(
@cc
)
{
$
bug
{
'cc'
}
=
\
@cc
;
$
self
->
{
'cc'
}
=
\
@cc
;
}
}
if
(
&::
Param
(
"useqacontact"
)
&&
(
defined
$
bug
{
'qa_contact'
})
)
{
if
(
&::
Param
(
"useqacontact"
)
&&
(
defined
$
self
->
{
'qa_contact'
})
)
{
my
$name
=
$
bug
{
'qa_contact'
}
>
0
?
&::
DBID_to_name
(
$bug
{
'qa_contact'
})
:
""
;
my
$name
=
$
self
->
{
'qa_contact'
}
>
0
?
&::
DBID_to_name
(
$self
->
{
'qa_contact'
})
:
""
;
if
(
$name
)
{
if
(
$name
)
{
$
bug
{
'qa_contact'
}
=
$name
;
$
self
->
{
'qa_contact'
}
=
$name
;
}
}
}
}
...
@@ -172,7 +172,7 @@ sub initBug {
...
@@ -172,7 +172,7 @@ sub initBug {
push
(
@list
,
&::
FetchOneColumn
());
push
(
@list
,
&::
FetchOneColumn
());
}
}
if
(
@list
)
{
if
(
@list
)
{
$
bug
{
'keywords'
}
=
&::
html_quote
(
join
(
', '
,
@list
));
$
self
->
{
'keywords'
}
=
&::
html_quote
(
join
(
', '
,
@list
));
}
}
}
}
...
@@ -192,7 +192,7 @@ sub initBug {
...
@@ -192,7 +192,7 @@ sub initBug {
}
}
}
}
if
(
@attachments
)
{
if
(
@attachments
)
{
$
bug
{
'attachments'
}
=
\
@attachments
;
$
self
->
{
'attachments'
}
=
\
@attachments
;
}
}
&::
SendSQL
(
"select bug_id, who, bug_when, thetext
&::
SendSQL
(
"select bug_id, who, bug_when, thetext
...
@@ -208,17 +208,17 @@ sub initBug {
...
@@ -208,17 +208,17 @@ sub initBug {
push
@longdescs
,
\%
longdesc
;
push
@longdescs
,
\%
longdesc
;
}
}
if
(
@longdescs
)
{
if
(
@longdescs
)
{
$
bug
{
'longdescs'
}
=
\
@longdescs
;
$
self
->
{
'longdescs'
}
=
\
@longdescs
;
}
}
if
(
&::
Param
(
"usedependencies"
))
{
if
(
&::
Param
(
"usedependencies"
))
{
my
@depends
=
EmitDependList
(
"blocked"
,
"dependson"
,
$bug_id
);
my
@depends
=
EmitDependList
(
"blocked"
,
"dependson"
,
$bug_id
);
if
(
@depends
)
{
if
(
@depends
)
{
$
bug
{
'dependson'
}
=
\
@depends
;
$
self
->
{
'dependson'
}
=
\
@depends
;
}
}
my
@blocks
=
EmitDependList
(
"dependson"
,
"blocked"
,
$bug_id
);
my
@blocks
=
EmitDependList
(
"dependson"
,
"blocked"
,
$bug_id
);
if
(
@blocks
)
{
if
(
@blocks
)
{
$
bug
{
'blocks'
}
=
\
@blocks
;
$
self
->
{
'blocks'
}
=
\
@blocks
;
}
}
}
}
return
$self
;
return
$self
;
...
@@ -234,9 +234,9 @@ sub emitXML {
...
@@ -234,9 +234,9 @@ sub emitXML {
my
$xml
;
my
$xml
;
if
(
exists
$
bug
{
'error'
})
{
if
(
exists
$
self
->
{
'error'
})
{
$xml
.=
"<bug error=\"$
bug
{'error'}\">\n"
;
$xml
.=
"<bug error=\"$
self->
{'error'}\">\n"
;
$xml
.=
" <bug_id>$
bug
{'bug_id'}</bug_id>\n"
;
$xml
.=
" <bug_id>$
self->
{'bug_id'}</bug_id>\n"
;
$xml
.=
"</bug>\n"
;
$xml
.=
"</bug>\n"
;
return
$xml
;
return
$xml
;
}
}
...
@@ -248,41 +248,41 @@ sub emitXML {
...
@@ -248,41 +248,41 @@ sub emitXML {
"component"
,
"reporter"
,
"target_milestone"
,
"bug_severity"
,
"component"
,
"reporter"
,
"target_milestone"
,
"bug_severity"
,
"creation_ts"
,
"qa_contact"
,
"op_sys"
,
"resolution"
,
"bug_file_loc"
,
"creation_ts"
,
"qa_contact"
,
"op_sys"
,
"resolution"
,
"bug_file_loc"
,
"short_desc"
,
"keywords"
,
"status_whiteboard"
)
{
"short_desc"
,
"keywords"
,
"status_whiteboard"
)
{
if
(
$
bug
{
$field
})
{
if
(
$
self
->
{
$field
})
{
$xml
.=
" <$field>"
.
$
bug
{
$field
}
.
"</$field>\n"
;
$xml
.=
" <$field>"
.
$
self
->
{
$field
}
.
"</$field>\n"
;
}
}
}
}
foreach
my
$field
(
"dependson"
,
"blocks"
,
"cc"
)
{
foreach
my
$field
(
"dependson"
,
"blocks"
,
"cc"
)
{
if
(
defined
$
bug
{
$field
})
{
if
(
defined
$
self
->
{
$field
})
{
for
(
my
$i
=
0
;
$i
<
@
{
$
bug
{
$field
}}
;
$i
++
)
{
for
(
my
$i
=
0
;
$i
<
@
{
$
self
->
{
$field
}}
;
$i
++
)
{
$xml
.=
" <$field>"
.
$
bug
{
$field
}[
$i
]
.
"</$field>\n"
;
$xml
.=
" <$field>"
.
$
self
->
{
$field
}[
$i
]
.
"</$field>\n"
;
}
}
}
}
}
}
if
(
defined
$
bug
{
'longdescs'
})
{
if
(
defined
$
self
->
{
'longdescs'
})
{
for
(
my
$i
=
0
;
$i
<
@
{
$
bug
{
'longdescs'
}}
;
$i
++
)
{
for
(
my
$i
=
0
;
$i
<
@
{
$
self
->
{
'longdescs'
}}
;
$i
++
)
{
$xml
.=
" <long_desc>\n"
;
$xml
.=
" <long_desc>\n"
;
$xml
.=
" <who>"
.
&::
DBID_to_name
(
$
bug
{
'longdescs'
}[
$i
]
->
{
'who'
})
$xml
.=
" <who>"
.
&::
DBID_to_name
(
$
self
->
{
'longdescs'
}[
$i
]
->
{
'who'
})
.
"</who>\n"
;
.
"</who>\n"
;
$xml
.=
" <bug_when>"
.
$
bug
{
'longdescs'
}[
$i
]
->
{
'bug_when'
}
$xml
.=
" <bug_when>"
.
$
self
->
{
'longdescs'
}[
$i
]
->
{
'bug_when'
}
.
"</bug_when>\n"
;
.
"</bug_when>\n"
;
$xml
.=
" <thetext>"
.
QuoteXMLChars
(
$
bug
{
'longdescs'
}[
$i
]
->
{
'thetext'
})
$xml
.=
" <thetext>"
.
QuoteXMLChars
(
$
self
->
{
'longdescs'
}[
$i
]
->
{
'thetext'
})
.
"</thetext>\n"
;
.
"</thetext>\n"
;
$xml
.=
" </long_desc>\n"
;
$xml
.=
" </long_desc>\n"
;
}
}
}
}
if
(
defined
$
bug
{
'attachments'
})
{
if
(
defined
$
self
->
{
'attachments'
})
{
for
(
my
$i
=
0
;
$i
<
@
{
$
bug
{
'attachments'
}}
;
$i
++
)
{
for
(
my
$i
=
0
;
$i
<
@
{
$
self
->
{
'attachments'
}}
;
$i
++
)
{
$xml
.=
" <attachment>\n"
;
$xml
.=
" <attachment>\n"
;
$xml
.=
" <attachid>"
.
$
bug
{
'attachments'
}[
$i
]
->
{
'attachid'
}
$xml
.=
" <attachid>"
.
$
self
->
{
'attachments'
}[
$i
]
->
{
'attachid'
}
.
"</attachid>\n"
;
.
"</attachid>\n"
;
$xml
.=
" <date>"
.
$
bug
{
'attachments'
}[
$i
]
->
{
'date'
}
.
"</date>\n"
;
$xml
.=
" <date>"
.
$
self
->
{
'attachments'
}[
$i
]
->
{
'date'
}
.
"</date>\n"
;
$xml
.=
" <desc>"
.
$
bug
{
'attachments'
}[
$i
]
->
{
'desc'
}
.
"</desc>\n"
;
$xml
.=
" <desc>"
.
$
self
->
{
'attachments'
}[
$i
]
->
{
'desc'
}
.
"</desc>\n"
;
# $xml .= " <type>" . $
bug
{'attachments'}[$i]->{'type'} . "</type>\n";
# $xml .= " <type>" . $
self->
{'attachments'}[$i]->{'type'} . "</type>\n";
# $xml .= " <data>" . $
bug
{'attachments'}[$i]->{'data'} . "</data>\n";
# $xml .= " <data>" . $
self->
{'attachments'}[$i]->{'data'} . "</data>\n";
$xml
.=
" </attachment>\n"
;
$xml
.=
" </attachment>\n"
;
}
}
}
}
...
@@ -355,12 +355,12 @@ sub AUTOLOAD {
...
@@ -355,12 +355,12 @@ sub AUTOLOAD {
$attr
=~
s/.*:://
;
$attr
=~
s/.*:://
;
return
unless
$attr
=~
/[^A-Z]/
;
return
unless
$attr
=~
/[^A-Z]/
;
if
(
@_
)
{
if
(
@_
)
{
$
bug
{
$attr
}
=
shift
;
$
self
->
{
$attr
}
=
shift
;
return
;
return
;
}
}
confess
"invalid bug attribute $attr"
unless
$ok_field
{
$attr
};
confess
(
"invalid bug attribute $attr"
)
unless
$ok_field
{
$attr
};
if
(
defined
$
bug
{
$attr
})
{
if
(
defined
$
self
->
{
$attr
})
{
return
$
bug
{
$attr
};
return
$
self
->
{
$attr
};
}
else
{
}
else
{
return
''
;
return
''
;
}
}
...
...
xml.cgi
View file @
7b16c745
...
@@ -53,6 +53,6 @@ print Bug::XML_Header( Param("urlbase"), $::param{'version'},
...
@@ -53,6 +53,6 @@ print Bug::XML_Header( Param("urlbase"), $::param{'version'},
foreach
my
$id
(
@ids
)
{
foreach
my
$id
(
@ids
)
{
my
$bug
=
new
Bug
(
$id
,
$::userid
);
my
$bug
=
new
Bug
(
$id
,
$::userid
);
print
$bug
->
emitXML
;
print
$bug
->
emitXML
;
$bug
->
bug_status
(
"BLAH"
);
}
}
print
Bug::
XML_Footer
;
print
Bug::
XML_Footer
;
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