/
bugnote_view_inc.php
128 lines (119 loc) · 4.14 KB
/
bugnote_view_inc.php
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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
<?php
# Mantis - a php based bugtracking system
# Copyright (C) 2000 - 2002 Kenzaburo Ito - kenito@300baud.org
# Copyright (C) 2002 - 2004 Mantis Team - mantisbt-dev@lists.sourceforge.net
# This program is distributed under the terms and conditions of the GPL
# See the files README and LICENSE for details
# --------------------------------------------------------
# $Id: bugnote_view_inc.php,v 1.12 2004-01-11 07:16:06 vboctor Exp $
# --------------------------------------------------------
?>
<?php
# This include file prints out the list of bugnotes attached to the bug
# $f_bug_id must be set and be set to the bug id
?>
<?php
$t_core_path = config_get( 'core_path' );
require_once( $t_core_path.'current_user_api.php' );
?>
<?php
# grab the user id currently logged in
$t_user_id = auth_get_current_user_id();
if ( !access_has_bug_level( config_get( 'private_bugnote_threshold' ), $f_bug_id ) ) {
$t_restriction = 'AND view_state=' . VS_PUBLIC;
} else {
$t_restriction = '';
}
$t_bugnote_table = config_get( 'mantis_bugnote_table' );
$t_bugnote_text_table = config_get( 'mantis_bugnote_text_table' );
$t_bugnote_order = config_get( 'bugnote_order' );
# get the bugnote data
$query = "SELECT *,UNIX_TIMESTAMP(date_submitted) as date_submitted
FROM $t_bugnote_table
WHERE bug_id='$f_bug_id' $t_restriction
ORDER BY date_submitted $t_bugnote_order";
$result = db_query( $query );
$num_notes = db_num_rows( $result );
?>
<?php # Bugnotes BEGIN ?>
<a name="bugnotes" id="bugnotes" /><br />
<table class="width100" cellspacing="1">
<?php
# no bugnotes
if ( 0 == $num_notes ) {
?>
<tr>
<td class="center" colspan="2">
<?php echo lang_get( 'no_bugnotes_msg' ) ?>
</td>
</tr>
<?php } else { # print bugnotes ?>
<tr>
<td class="form-title" colspan="2">
<?php echo lang_get( 'bug_notes_title' ) ?>
</td>
</tr>
<?php
for ( $i=0; $i < $num_notes; $i++ ) {
# prefix all bugnote data with v3_
$row = db_fetch_array( $result );
extract( $row, EXTR_PREFIX_ALL, 'v3' );
$v3_date_submitted = date( config_get( 'normal_date_format' ), ( $v3_date_submitted ) );
# grab the bugnote text and id and prefix with v3_
$query = "SELECT note
FROM $t_bugnote_text_table
WHERE id='$v3_bugnote_text_id'";
$result2 = db_query( $query );
$row = db_fetch_array( $result2 );
$v3_note = $row['note'];
$v3_note = string_display_links( $v3_note );
if ( VS_PRIVATE == $v3_view_state ) {
$t_bugnote_css = 'bugnote-private';
$t_bugnote_note_css = 'bugnote-note-private';
} else {
$t_bugnote_css = 'bugnote-public';
$t_bugnote_note_css = 'bugnote-note-public';
}
?>
<tr class="bugnote">
<td class="<?php echo $t_bugnote_css ?>">
<?php print_user( $v3_reporter_id ) ?>
<?php if ( VS_PRIVATE == $v3_view_state ) { ?>
<span class="small">[ <?php echo lang_get( 'private' ) ?> ]</span>
<?php } ?>
<br />
<span class="small"><?php echo $v3_date_submitted ?></span><br /><br />
<span class="small">
<?php
# only admins and the bugnote creator can edit/delete this bugnote
# bug must be open to be editable
if ( bug_get_field( $f_bug_id, 'status' ) < config_get( 'bug_resolved_status_threshold' ) ) {
if ( ( access_has_bug_level( config_get( 'manage_project_threshold' ), $f_bug_id ) ) ||
( ( $v3_reporter_id == $t_user_id ) && ( ON == config_get( 'bugnote_allow_user_edit_delete' ) ) ) ) {
print_bracket_link( 'bugnote_edit_page.php?bugnote_id='.$v3_id, lang_get( 'bugnote_edit_link' ) );
print_bracket_link( 'bugnote_delete.php?bugnote_id='.$v3_id, lang_get( 'delete_link' ) );
if ( access_has_bug_level( config_get( 'private_bugnote_threshold' ), $f_bug_id ) ) {
if ( VS_PRIVATE == $v3_view_state ) {
print_bracket_link('bugnote_set_view_state.php?private=0&bugnote_id='.$v3_id, lang_get( 'make_public' ));
} else {
print_bracket_link('bugnote_set_view_state.php?private=1&bugnote_id='.$v3_id, lang_get( 'make_private' ));
}
}
}
}
?>
</span>
</td>
<td class="<?php echo $t_bugnote_note_css ?>">
<?php echo $v3_note ?>
</td>
</tr>
<tr>
<td class="spacer" colspan="2"> </td>
</tr>
<?php
} # end for loop
} # end else
?>
</table>
<?php # Bugnotes END ?>