| [ Index ] |
PHP Cross Reference of MantisBT |
[Summary view] [Print] [Text view]
1 <?php 2 # MantisBT - A PHP based bugtracking system 3 4 # MantisBT is free software: you can redistribute it and/or modify 5 # it under the terms of the GNU General Public License as published by 6 # the Free Software Foundation, either version 2 of the License, or 7 # (at your option) any later version. 8 # 9 # MantisBT is distributed in the hope that it will be useful, 10 # but WITHOUT ANY WARRANTY; without even the implied warranty of 11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 # GNU General Public License for more details. 13 # 14 # You should have received a copy of the GNU General Public License 15 # along with MantisBT. If not, see <http://www.gnu.org/licenses/>. 16 17 /** 18 * Insert the bugnote into the database then redirect to the bug page 19 * 20 * @package MantisBT 21 * @copyright Copyright (C) 2000 - 2002 Kenzaburo Ito - kenito@300baud.org 22 * @copyright Copyright (C) 2002 - 2011 MantisBT Team - mantisbt-dev@lists.sourceforge.net 23 * @link http://www.mantisbt.org 24 * 25 * @uses core.php 26 * @uses access_api.php 27 * @uses bug_api.php 28 * @uses bugnote_api.php 29 * @uses config_api.php 30 * @uses constant_inc.php 31 * @uses error_api.php 32 * @uses form_api.php 33 * @uses gpc_api.php 34 * @uses helper_api.php 35 * @uses lang_api.php 36 * @uses print_api.php 37 */ 38 39 /** 40 * MantisBT Core API's 41 */ 42 require_once ( 'core.php' ); 43 require_api( 'access_api.php' ); 44 require_api( 'bug_api.php' ); 45 require_api( 'bugnote_api.php' ); 46 require_api( 'config_api.php' ); 47 require_api( 'constant_inc.php' ); 48 require_api( 'error_api.php' ); 49 require_api( 'form_api.php' ); 50 require_api( 'gpc_api.php' ); 51 require_api( 'helper_api.php' ); 52 require_api( 'lang_api.php' ); 53 require_api( 'print_api.php' ); 54 55 form_security_validate( 'bugnote_add' ); 56 57 $f_bug_id = gpc_get_int( 'bug_id' ); 58 $f_private = gpc_get_bool( 'private' ); 59 $f_time_tracking = gpc_get_string( 'time_tracking', '0:00' ); 60 $f_bugnote_text = trim( gpc_get_string( 'bugnote_text', '' ) ); 61 62 $t_bug = bug_get( $f_bug_id, true ); 63 if( $t_bug->project_id != helper_get_current_project() ) { 64 # in case the current project is not the same project of the bug we are viewing... 65 # ... override the current project. This to avoid problems with categories and handlers lists etc. 66 $g_project_override = $t_bug->project_id; 67 } 68 69 if ( bug_is_readonly( $t_bug->id ) ) { 70 error_parameters( $t_bug->id ); 71 trigger_error( ERROR_BUG_READ_ONLY_ACTION_DENIED, ERROR ); 72 } 73 74 access_ensure_bug_level( config_get( 'add_bugnote_threshold' ), $t_bug->id ); 75 76 if ( $f_private ) { 77 access_ensure_bug_level( config_get( 'set_view_status_threshold' ), $t_bug->id ); 78 } 79 80 // We always set the note time to BUGNOTE, and the API will overwrite it with TIME_TRACKING 81 // if $f_time_tracking is not 0 and the time tracking feature is enabled. 82 $t_bugnote_id = bugnote_add( $t_bug->id, $f_bugnote_text, $f_time_tracking, $f_private, BUGNOTE ); 83 if ( !$t_bugnote_id ) { 84 error_parameters( lang_get( 'bugnote' ) ); 85 trigger_error( ERROR_EMPTY_FIELD, ERROR ); 86 } 87 88 # Handle the reassign on feedback feature. Note that this feature generally 89 # won't work very well with custom workflows as it makes a lot of assumptions 90 # that may not be true. It assumes you don't have any statuses in the workflow 91 # between 'bug_submit_status' and 'bug_feedback_status'. It assumes you only 92 # have one feedback, assigned and submitted status. 93 if ( config_get( 'reassign_on_feedback' ) && 94 $t_bug->status === config_get( 'bug_feedback_status' ) && 95 $t_bug->handler_id !== auth_get_current_user_id() && 96 $t_bug->reporter_id === auth_get_current_user_id() ) { 97 if ( $t_bug->handler_id !== NO_USER ) { 98 bug_set_field( $t_bug->id, 'status', config_get( 'bug_assigned_status' ) ); 99 } else { 100 bug_set_field( $t_bug->id, 'status', config_get( 'bug_submit_status' ) ); 101 } 102 } 103 104 form_security_purge( 'bugnote_add' ); 105 106 print_successful_redirect_to_bug( $t_bug->id );
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
| Generated: Thu Jul 28 15:48:31 2011 | Cross-referenced by PHPXref 0.7 |