]>
src.bluestatic.org Git - bugdar.git/blob - showreport.php
2 /*=====================================================================*\
3 || ################################################################### ||
4 || # BugStrike [#]version[#]
5 || # --------------------------------------------------------------- # ||
6 || # Copyright ©2002-[#]year[#] by Iris Studios, Inc. All Rights Reserved. # ||
7 || # This file may not be reproduced in any way without permission. # ||
8 || # --------------------------------------------------------------- # ||
9 || # User License Agreement at http://www.iris-studios.com/license/ # ||
10 || ################################################################### ||
11 \*=====================================================================*/
13 $fetchtemplates = array (
15 'showreport_attachment' ,
19 require_once ( './global.php' );
21 if (! can_perform ( 'canviewbugs' ))
23 $message- > error_permission ();
26 // ###################################################################
28 // -------------------------------------------------------------------
30 $bug = $db- > query_first ( "
31 SELECT bug.*, user.displayname, user.email, user.showemail
32 FROM " . TABLE_PREFIX
. "bug AS bug
33 LEFT JOIN " . TABLE_PREFIX
. "user AS user
34 ON (bug.userid = user.userid)
35 WHERE bug.bugid = " . intval ( $bugsys- > in
[ 'bugid' ])
40 $message- > error ( 'alert: bad bug' );
43 if ( $bug [ 'hidden' ] AND ! can_perform ( 'canviewhidden' ))
45 $message- > error_permission ();
48 // -------------------------------------------------------------------
50 $bug [ 'userinfo' ] = construct_user_display ( $bug );
51 $bug [ 'product' ] = $bugsys- > datastore
[ 'product' ][ " $bug [productid]" ][ 'title' ];
52 $bug [ 'component' ] = (( $bug [ 'componentid' ]) ? $bugsys- > datastore
[ 'product' ][ " $bug [componentid]" ][ 'title' ] : '' );
53 $bug [ 'version' ] = $bugsys- > datastore
[ 'version' ][ " $bug [versionid]" ][ 'version' ];
54 $bug [ 'status' ] = $bugsys- > datastore
[ 'status' ][ " $bug [status]" ][ 'status' ];
55 $bug [ 'resolution' ] = $bugsys- > datastore
[ 'resolution' ][ " $bug [resolution]" ][ 'resolution' ];
56 $bug [ 'severity' ] = $bugsys- > datastore
[ 'severity' ][ " $bug [severity]" ][ 'severity' ];
57 $bug [ 'priority' ] = $bugsys- > datastore
[ 'priority' ][ " $bug [priority]" ][ 'priority' ];
59 $assigninfo = $bugsys- > datastore
[ 'assignto' ][ " $bug [assignedto]" ];
60 $bug [ 'assigninfo' ] = (( is_array ( $assigninfo )) ? construct_user_display ( $assigninfo ) : '' );
62 $show [ 'editreport' ] = (((( can_perform ( 'caneditown' ) AND $bugsys- > userinfo
[ 'userid' ] == $comment [ 'userid' ]) OR can_perform ( 'caneditothers' )) AND can_perform ( 'caneditinfo' )) ? true : false );
64 $duplicateof = $db- > query_first ( "SELECT bugid, summary FROM " . TABLE_PREFIX
. "bug WHERE bugid = $bug [duplicateof]" );
66 $duplicates = $db- > query ( "SELECT bugid, summary FROM " . TABLE_PREFIX
. "bug WHERE duplicateof = $bug [bugid]" );
67 while ( $duplicate = $db- > fetch_array ( $duplicates ))
69 $dupelist [] = "<a href= \" showreport.php?bugid= $duplicate [bugid] \" target= \" _blank \" > $duplicate [summary]</a>" ;
71 $dupelist = implode ( ', ' , $dupelist );
73 if ( $bug [ 'dependency' ])
75 $dependencies = $db- > query ( "SELECT bugid, summary FROM " . TABLE_PREFIX
. "bug WHERE bugid IN ( $bug [dependency])" );
76 while ( $dependency = $db- > fetch_array ( $dependencies ))
78 $depends [] = "<a href= \" showreport.php?bugid= $dependency [bugid] \" title= \" $dependency [summary] \" target= \" _blank \" > $dependency [bugid]</a>" ;
80 $dependencies = implode ( ' ' , $depends );
83 $favourite = ( bool ) $db- > query_first ( "SELECT * FROM " . TABLE_PREFIX
. "favourite WHERE bugid = $bug [bugid] AND userid = " . $bugsys- > userinfo
[ 'userid' ]);
84 $favouritetext = (( $favourite ) ? 'Remove from Favourites' : 'Add to Favourites' );
86 // -------------------------------------------------------------------
90 $allfields = $db- > query ( "
92 FROM " . TABLE_PREFIX
. "bugfield AS bugfield
93 LEFT JOIN " . TABLE_PREFIX
. "bugfieldpermission AS permission
94 ON (bugfield.fieldid = permission.fieldid)
95 WHERE permission.mask <> 0
96 AND permission.usergroupid = {$bugsys->userinfo['usergroupid']} "
98 while ( $field = $db- > fetch_array ( $allfields ))
100 $fieldlist [ " $field [fieldid]" ] = $field ;
103 $fieldvalues = $db- > query_first ( "SELECT * FROM " . TABLE_PREFIX
. "bugvaluefill WHERE bugid = $bug [bugid]" );
105 foreach ( $fieldlist AS $fieldid => $field )
107 if ( is_null ( $fieldvalues [ "field $fieldid" ]))
109 if ( $field ['type'] == 'select_single')
111 if ( $field ['usedefault'])
113 $temp = unserialize( $field ['selects']);
114 $value = trim( $temp [0]);
123 $value = $field ['defaultvalue'];
128 $value = $fieldvalues [" field
$fieldid" ];
131 $customfields .= "<div><strong> $field [name]:</strong> " ;
133 if ( $field [ 'type' ] == 'input_text' OR $field [ 'type' ] == 'select_single' )
135 $customfields .= $value ;
137 else if ( $field [ 'type' ] == 'input_checkbox' )
139 $customfields .= (( $value ) ? 'True' : 'False' );
141 $customfeilds .= "</div> \n\n " ;
144 // -------------------------------------------------------------------
146 $words = explode ( ' ' , $bugsys- > in
[ 'hilight' ]);
147 foreach ( $words AS $word )
151 $word = preg_quote ( $bugsys- > unsanitize ( $word ));
152 $hilight [] = $temp = trim ( preg_replace ( '#[^0-9a-zA-Z_ ]#' , '' , $word ));
156 // -------------------------------------------------------------------
158 $show [ 'getattachments' ] = (( can_perform ( 'cangetattach' ) OR can_perform ( 'caneditattach' )) ? true : false );
159 $show [ 'putattachments' ] = (( can_perform ( 'canputattach' ) OR can_perform ( 'caneditattach' )) ? true : false );
161 if ( $show [ 'getattachments' ] OR $show [ 'putattachments' ])
163 $attachments_fetch = $db- > query ( "
164 SELECT attachment.*, user.email, user.showemail,
166 FROM " . TABLE_PREFIX
. "attachment AS attachment
167 LEFT JOIN " . TABLE_PREFIX
. "user AS user
168 ON (attachment.userid = user.userid)
169 WHERE attachment.bugid = $bug [bugid]
170 ORDER BY attachment.dateline"
172 while ( $attachment = $db- > fetch_array ( $attachments_fetch ))
174 $show [ 'editattach' ] = (( can_perform ( 'caneditattach' ) OR ( $attachment [ 'userid' ] == $bugsys- > userinfo
[ 'userid' ] AND can_perform ( 'canputattach' ))) ? true : false );
175 $attachment [ 'date' ] = datelike ( 'standard' , $attachment [ 'dateline' ]);
176 $attachment [ 'user' ] = construct_user_display ( $attachment , false );
177 eval ( ' $attachments .= "' . $template- > fetch ( 'showreport_attachment' ) . '";' );
181 // -------------------------------------------------------------------
184 $vote = $db- > query_first ( "SELECT *, FIND_IN_SET(" . $bugsys- > userinfo
[ 'userid' ] . ", userids) AS uservote FROM " . TABLE_PREFIX
. "vote WHERE bugid = $bug [bugid]" );
186 $vote [ 'total' ] = $vote [ 'votefor' ] +
$vote [ 'voteagainst' ];
187 $vote [ 'forpercent' ] = round ( $vote [ 'votefor' ] / $vote [ 'total' ], 3 ) * 100 ;
188 $vote [ 'againstpercent' ] = round ( $vote [ 'voteagainst' ] / $vote [ 'total' ], 3 ) * 100 ;
190 $show [ 'vote' ] = (( can_perform ( 'canvote' ) AND ! $vote [ 'uservote' ]) ? true : false );
192 // -------------------------------------------------------------------
194 $comments_fetch = $db- > query ( "
195 SELECT comment.*, user.email, user.showemail, user.displayname
196 FROM " . TABLE_PREFIX
. "comment AS comment
197 LEFT JOIN " . TABLE_PREFIX
. "user AS user
198 ON (comment.userid = user.userid)
199 WHERE comment.bugid = $bug [bugid]" . ((! can_perform ( 'canviewhidden' )) ? "
200 AND !hidden" : '' ) . "
201 ORDER BY comment.dateline ASC"
203 while ( $comment = $db- > fetch_array ( $comments_fetch ))
205 $comment [ 'posttime' ] = datelike ( 'standard' , $comment [ 'dateline' ]);
206 $comment [ 'postby' ] = construct_user_display ( $comment );
207 $show [ 'editcomment' ] = ((( can_perform ( 'caneditown' ) AND $bugsys- > userinfo
[ 'userid' ] == $comment [ 'userid' ]) OR can_perform ( 'caneditothers' )) ? true : false );
209 if ( is_array ( $hilight ))
211 foreach ( $hilight AS $id => $find )
214 $replace = "<span style= \" background-color: yellow; font-weight: bold; color: red; \" > \\ 1</span>" ;
215 $comment [ 'comment_parsed' ] = preg_replace ( $find , $replace , $comment [ 'comment_parsed' ]);
219 eval ( ' $comments .= "' . $template- > fetch ( 'showreport_comment' ) . '";' );
222 $show [ 'newreply' ] = (( can_perform ( 'canpostcomments' )) ? true : false );
224 if ( is_array ( $hilight ))
226 foreach ( $hilight AS $id => $find )
229 $replace = "<span style= \" background-color: yellow; font-weight: bold; color: red; \" > \\ 1</span>" ;
230 $bug [ 'summary' ] = preg_replace ( $find , $replace , $bug [ 'summary' ]);
234 eval ( ' $template- >flush("' . $template- > fetch ( 'SHOWREPORT' ) . '");' );
236 /*=====================================================================*\
237 || ###################################################################
240 || ###################################################################
241 \*=====================================================================*/