[ Index ] |
|
Code source de Mantis 1.1.0rc3 |
1 <?php 2 # Mantis - a php based bugtracking system 3 4 # Copyright (C) 2000 - 2002 Kenzaburo Ito - kenito@300baud.org 5 # Copyright (C) 2002 - 2007 Mantis Team - mantisbt-dev@lists.sourceforge.net 6 7 # Mantis is free software: you can redistribute it and/or modify 8 # it under the terms of the GNU General Public License as published by 9 # the Free Software Foundation, either version 2 of the License, or 10 # (at your option) any later version. 11 # 12 # Mantis is distributed in the hope that it will be useful, 13 # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 # GNU General Public License for more details. 16 # 17 # You should have received a copy of the GNU General Public License 18 # along with Mantis. If not, see <http://www.gnu.org/licenses/>. 19 20 # -------------------------------------------------------- 21 # $Id: manage_config_workflow_set.php,v 1.9.2.1 2007-10-13 22:33:26 giallu Exp $ 22 # -------------------------------------------------------- 23 24 require_once ( 'core.php' ); 25 26 $t_core_path = config_get( 'core_path' ); 27 require_once( $t_core_path.'email_api.php' ); 28 29 auth_reauthenticate(); 30 31 $t_can_change_level = min( config_get_access( 'notify_flags' ), config_get_access( 'default_notify_flags' ) ); 32 access_ensure_project_level( $t_can_change_level ); 33 34 $t_redirect_url = 'manage_config_workflow_page.php'; 35 $t_project = helper_get_current_project(); 36 $t_access = current_user_get_access_level(); 37 38 html_page_top1( lang_get( 'manage_workflow_config' ) ); 39 html_meta_redirect( $t_redirect_url ); 40 html_page_top2(); 41 42 # process the changes to threshold values 43 $t_valid_thresholds = array( 'bug_submit_status', 'bug_resolved_status_threshold', 'bug_reopen_status' ); 44 45 foreach( $t_valid_thresholds as $t_threshold ) { 46 if( config_get_access( $t_threshold ) <= $t_access ) { 47 $f_value = gpc_get( 'threshold_' . $t_threshold ); 48 $f_access = gpc_get( 'access_' . $t_threshold ); 49 if ( $f_value != config_get( $t_threshold ) ) { 50 config_set( $t_threshold, $f_value, NO_USER, $t_project, $f_access ); 51 } 52 } 53 } 54 55 # process the workflow by reversing the flags to a matrix and creating the appropriate string 56 if( config_get_access( 'status_enum_workflow' ) <= $t_access ) { 57 $f_value = gpc_get( 'flag', array() ); 58 $f_access = gpc_get( 'workflow_access' ); 59 $t_matrix = array(); 60 61 foreach( $f_value as $t_transition ) { 62 list( $t_from, $t_to ) = split( ':', $t_transition ); 63 $t_matrix[$t_from][$t_to] = ''; 64 } 65 $t_statuses = get_enum_to_array( config_get( 'status_enum_string' ) ); 66 foreach( $t_statuses as $t_state => $t_label) { 67 $t_workflow_row = ''; 68 $t_default = gpc_get_int( 'default_' . $t_state ); 69 if ( isset( $t_matrix[$t_state] ) && isset( $t_matrix[$t_state][$t_default] ) ) { 70 $t_workflow_row .= $t_default . ':' . get_enum_element( 'status', $t_default ); 71 unset( $t_matrix[$t_state][$t_default] ); 72 $t_first = false; 73 } else { 74 # error default state isn't in the matrix 75 echo '<p>' . sprintf( lang_get( 'default_not_in_flow' ), get_enum_element( 'status', $t_default ), get_enum_element( 'status', $t_state ) ) . '</p>'; 76 $t_first = true; 77 } 78 if ( isset( $t_matrix[$t_state] ) ) { 79 foreach ( $t_matrix[$t_state] as $t_next_state => $t_junk ) { 80 if ( false == $t_first ) { 81 $t_workflow_row .= ','; 82 } 83 $t_workflow_row .= $t_next_state . ':' . get_enum_element( 'status', $t_next_state ); 84 $t_first = false; 85 } 86 } 87 if ( '' <> $t_workflow_row ) { 88 $t_workflow[$t_state] = $t_workflow_row; 89 } 90 } 91 if ( $t_workflow != config_get( 'status_enum_workflow' ) ) { 92 config_set( 'status_enum_workflow', $t_workflow, NO_USER, $t_project, $f_access ); 93 } 94 } 95 96 # process the access level changes 97 if( config_get_access( 'status_enum_workflow' ) <= $t_access ) { 98 # get changes to access level to change these values 99 $f_access = gpc_get( 'status_access' ); 100 101 # walk through the status labels to set the status threshold 102 $t_enum_status = explode_enum_string( config_get( 'status_enum_string' ) ); 103 $t_set_status = array(); 104 foreach( $t_statuses as $t_status_id => $t_status_label) { 105 $f_level = gpc_get( 'access_change_' . $t_status_id ); 106 if ( NEW_ == $t_status_id ) { 107 if ( (int)$f_level != config_get( 'report_bug_threshold' ) ) { 108 config_set( 'report_bug_threshold', (int)$f_level, ALL_USERS, $t_project, $f_access ); 109 } 110 } else { 111 $t_set_status[$t_status_id] = (int)$f_level; 112 } 113 } 114 115 if ( $t_set_status != config_get( 'set_status_threshold' ) ) { 116 config_set( 'set_status_threshold', $t_set_status, ALL_USERS, $t_project, $f_access ); 117 } 118 } 119 ?> 120 121 <br /> 122 <div align="center"> 123 <?php 124 echo lang_get( 'operation_successful' ) . '<br />'; 125 print_bracket_link( $t_redirect_url, lang_get( 'proceed' ) ); 126 ?> 127 </div> 128 129 <?php html_page_bottom1( __FILE__ ) ?>
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Thu Nov 29 09:42:17 2007 | par Balluche grâce à PHPXref 0.7 |
![]() |