diff --git a/core/commands/IssueViewCommand.php b/core/commands/IssueViewCommand.php index 76ec85bb86..8bb6eb8cf7 100644 --- a/core/commands/IssueViewCommand.php +++ b/core/commands/IssueViewCommand.php @@ -103,127 +103,127 @@ protected function process() { global $g_project_override; $g_project_override = $t_project_id; - $t_output_issue = array(); - $t_output_configs = array(); + $t_issue_view = array(); + $t_flags = array(); # Fields to show on the issue view page $t_fields = config_get( 'bug_view_page_fields' ); $t_fields = columns_filter_disabled( $t_fields ); - $t_output_configs['summary_show'] = in_array( 'summary', $t_fields ); - $t_output_configs['description_show'] = in_array( 'description', $t_fields ); + $t_flags['summary_show'] = in_array( 'summary', $t_fields ); + $t_flags['description_show'] = in_array( 'description', $t_fields ); # Versions $t_show_versions = version_should_show_product_version( $t_project_id ); - $t_output_configs['versions_show'] = $t_show_versions; - $t_output_configs['versions_product_version_show'] = $t_show_versions && in_array( 'product_version', $t_fields ); - $t_output_configs['versions_fixed_in_version_show'] = $t_show_versions && in_array( 'fixed_in_version', $t_fields ); + $t_flags['versions_show'] = $t_show_versions; + $t_flags['versions_product_version_show'] = $t_show_versions && in_array( 'product_version', $t_fields ); + $t_flags['versions_fixed_in_version_show'] = $t_show_versions && in_array( 'fixed_in_version', $t_fields ); - $t_output_configs['versions_product_build_show'] = + $t_flags['versions_product_build_show'] = $t_show_versions && in_array( 'product_build', $t_fields ) && config_get( 'enable_product_build' ) == ON; - $t_output_configs['versions_target_version_show'] = + $t_flags['versions_target_version_show'] = $t_show_versions && in_array( 'target_version', $t_fields ) && access_has_bug_level( config_get( 'roadmap_view_threshold' ), $t_issue_id ); - $t_output_issue['form_title'] = lang_get( 'bug_view_title' ); + $t_issue_view['form_title'] = lang_get( 'bug_view_title' ); if( config_get_global( 'wiki_enable' ) == ON ) { - $t_output_issue['wiki_link'] = 'wiki.php?id=' . $t_issue_id; + $t_issue_view['wiki_link'] = 'wiki.php?id=' . $t_issue_id; } - $t_output_configs['history_show'] = + $t_flags['history_show'] = config_get( 'history_default_visible' ) && access_has_bug_level( config_get( 'view_history_threshold' ), $t_issue_id ); - $t_output_configs['reminder_can_add'] = + $t_flags['reminder_can_add'] = !current_user_is_anonymous() && !bug_is_readonly( $t_issue_id ) && access_has_bug_level( config_get( 'bug_reminder_threshold' ), $t_issue_id ); if( in_array( 'id', $t_fields ) ) { - $t_output_issue['id_formatted'] = bug_format_id( $t_issue_id ); + $t_issue_view['id_formatted'] = bug_format_id( $t_issue_id ); } if( in_array( 'date_submitted', $t_fields ) ) { - $t_output_issue['created_at'] = date( config_get( 'normal_date_format' ), strtotime( $t_issue['created_at'] ) ); + $t_issue_view['created_at'] = date( config_get( 'normal_date_format' ), strtotime( $t_issue['created_at'] ) ); } if( in_array( 'last_updated', $t_fields ) ) { - $t_output_issue['updated_at'] = date( config_get( 'normal_date_format' ), strtotime( $t_issue['updated_at'] ) ); + $t_issue_view['updated_at'] = date( config_get( 'normal_date_format' ), strtotime( $t_issue['updated_at'] ) ); } - $t_output_configs['additional_information_show'] = + $t_flags['additional_information_show'] = isset( $t_issue['additional_information'] ) && !is_blank( $t_issue['additional_information'] ) && in_array( 'additional_info', $t_fields ); - $t_output_configs['steps_to_reproduce_show'] = + $t_flags['steps_to_reproduce_show'] = isset( $t_issue['steps_to_reproduce'] ) && !is_blank( $t_issue['steps_to_reproduce'] ) && in_array( 'steps_to_reproduce', $t_fields ); - $t_output_configs['tags_show'] = + $t_flags['tags_show'] = in_array( 'tags', $t_fields ) && access_has_bug_level( config_get( 'tag_view_threshold' ), $t_issue_id ); - $t_output_configs['tags_can_attach'] = - $t_output_configs['tags_show'] && + $t_flags['tags_can_attach'] = + $t_flags['tags_show'] && !$t_force_readonly && access_has_bug_level( config_get( 'tag_attach_threshold' ), $t_issue_id ); # Due date $t_show_due_date = in_array( 'due_date', $t_fields ) && access_has_bug_level( config_get( 'due_date_view_threshold' ), $t_issue_id ); if( $t_show_due_date ) { - $t_output_issue['overdue'] = bug_is_overdue( $t_issue_id ); + $t_issue_view['overdue'] = bug_is_overdue( $t_issue_id ); if( isset( $t_issue['due_date'] ) ) { - $t_output_issue['due_date'] = date( config_get( 'normal_date_format' ), strtotime( $t_issue['due_date'] ) ); + $t_issue_view['due_date'] = date( config_get( 'normal_date_format' ), strtotime( $t_issue['due_date'] ) ); } else { - $t_output_issue['due_date'] = ''; + $t_issue_view['due_date'] = ''; } } - $t_output_configs['relationships_show'] = true; - $t_output_configs['relationships_can_update'] = + $t_flags['relationships_show'] = true; + $t_flags['relationships_can_update'] = !$t_force_readonly && !bug_is_readonly( $t_issue_id ) && access_has_bug_level( config_get( 'update_bug_threshold' ), $t_issue_id ); - $t_output_configs['sponsorships_show'] = + $t_flags['sponsorships_show'] = config_get( 'enable_sponsorship' ) && access_has_bug_level( config_get( 'view_sponsorship_total_threshold' ), $t_issue_id ); - $t_output_configs['profiles_show'] = config_get( 'enable_profiles' ) != OFF; - $t_output_configs['profiles_platform_show'] = $t_output_configs['profiles_show'] && in_array( 'platform', $t_fields ); - $t_output_configs['profiles_os_show'] = $t_output_configs['profiles_show'] && in_array( 'os', $t_fields ); - $t_output_configs['profiles_os_version_show'] = $t_output_configs['profiles_show'] && in_array( 'os_version', $t_fields ); + $t_flags['profiles_show'] = config_get( 'enable_profiles' ) != OFF; + $t_flags['profiles_platform_show'] = $t_flags['profiles_show'] && in_array( 'platform', $t_fields ); + $t_flags['profiles_os_show'] = $t_flags['profiles_show'] && in_array( 'os', $t_fields ); + $t_flags['profiles_os_version_show'] = $t_flags['profiles_show'] && in_array( 'os_version', $t_fields ); - $t_output_configs['monitor_show'] = + $t_flags['monitor_show'] = !$t_force_readonly && access_has_bug_level( config_get( 'show_monitor_list_threshold' ), $t_issue_id ); - if( $t_output_configs['monitor_show'] ) { - $t_output_configs['monitor_can_delete'] = access_has_bug_level( config_get( 'monitor_delete_others_bug_threshold' ), $t_issue_id ) ? true : false; - $t_output_configs['monitor_can_add'] = access_has_bug_level( config_get( 'monitor_add_others_bug_threshold' ), $t_issue_id ) ? true : false; + if( $t_flags['monitor_show'] ) { + $t_flags['monitor_can_delete'] = access_has_bug_level( config_get( 'monitor_delete_others_bug_threshold' ), $t_issue_id ) ? true : false; + $t_flags['monitor_can_add'] = access_has_bug_level( config_get( 'monitor_add_others_bug_threshold' ), $t_issue_id ) ? true : false; } $t_related_custom_field_ids = custom_field_get_linked_ids( $t_project_id ); custom_field_cache_values( array( $t_issue_id ), $t_related_custom_field_ids ); $t_links = event_signal( 'EVENT_MENU_ISSUE', $t_issue_id ); - $t_output_issue['links'] = $t_links; + $t_issue_view['links'] = $t_links; # Mark the added issue as visited so that it appears on the last visited list. last_visited_issue( $t_issue_id ); return array( 'issue' => $t_issue, - 'issue_view' => $t_output_issue, - 'flags' => $t_output_configs ); + 'issue_view' => $t_issue_view, + 'flags' => $t_flags ); } }