.
/**
* Word 2000 export page
* The bugs displayed in print_all_bug_page.php are saved in a .doc file
* The IE icon allows to see or directly print the same result
*
* @package MantisBT
* @copyright Copyright 2000 - 2002 Kenzaburo Ito - kenito@300baud.org
* @copyright Copyright 2002 MantisBT Team - mantisbt-dev@lists.sourceforge.net
* @link http://www.mantisbt.org
*
* @uses core.php
* @uses access_api.php
* @uses authentication_api.php
* @uses bug_api.php
* @uses bugnote_api.php
* @uses category_api.php
* @uses config_api.php
* @uses constant_inc.php
* @uses custom_field_api.php
* @uses date_api.php
* @uses file_api.php
* @uses filter_api.php
* @uses gpc_api.php
* @uses helper_api.php
* @uses html_api.php
* @uses http_api.php
* @uses lang_api.php
* @uses prepare_api.php
* @uses print_api.php
* @uses profile_api.php
* @uses project_api.php
* @uses string_api.php
*/
require_once( 'core.php' );
require_api( 'access_api.php' );
require_api( 'authentication_api.php' );
require_api( 'bug_api.php' );
require_api( 'bugnote_api.php' );
require_api( 'category_api.php' );
require_api( 'config_api.php' );
require_api( 'constant_inc.php' );
require_api( 'custom_field_api.php' );
require_api( 'date_api.php' );
require_api( 'file_api.php' );
require_api( 'filter_api.php' );
require_api( 'gpc_api.php' );
require_api( 'helper_api.php' );
require_api( 'html_api.php' );
require_api( 'http_api.php' );
require_api( 'lang_api.php' );
require_api( 'prepare_api.php' );
require_api( 'print_api.php' );
require_api( 'profile_api.php' );
require_api( 'project_api.php' );
require_api( 'string_api.php' );
auth_ensure_user_authenticated();
$f_type_page = gpc_get_string( 'type_page', 'word' );
$f_search = gpc_get_string( 'search', false ); # @todo need a better default
$f_offset = gpc_get_int( 'offset', 0 );
$f_export = gpc_get_string( 'export' );
$f_show_flag = gpc_get_bool( 'show_flag' );
helper_begin_long_process();
# word or html export
if( $f_type_page != 'html' ) {
$t_export_title = helper_get_default_export_filename( '' );
$t_export_title = preg_replace( '/[\/:*?"<>|]/', '', $t_export_title );
$t_export_title .= '.doc';
# Make sure that IE can download the attachments under https.
header( 'Pragma: public' );
header( 'Content-Type: application/msword' );
http_content_disposition_header( $t_export_title );
}
# This is where we used to do the entire actual filter ourselves
$t_page_number = gpc_get_int( 'page_number', 1 );
$t_per_page = -1;
$t_bug_count = null;
$t_page_count = null;
$t_result = filter_get_bug_rows( $t_page_number, $t_per_page, $t_page_count, $t_bug_count );
$t_row_count = count( $t_result );
# Headers depending on intended output
if( $f_type_page == 'html' ) {
html_page_top1();
html_head_end();
html_body_begin();
} else {
echo '';
html_body_begin();
}
$f_bug_arr = explode( ',', $f_export );
$t_count_exported = 0;
$t_date_format = config_get( 'normal_date_format' );
$t_short_date_format = config_get( 'short_date_format' );
$t_lang_bug_view_title = lang_get( 'bug_view_title' );
$t_lang_id = lang_get( 'id' );
$t_lang_category = lang_get( 'category' );
$t_lang_severity = lang_get( 'severity' );
$t_lang_reproducibility = lang_get( 'reproducibility' );
$t_lang_date_submitted = lang_get( 'date_submitted' );
$t_lang_last_update = lang_get( 'last_update' );
$t_lang_reporter = lang_get( 'reporter' );
$t_lang_assigned_to = lang_get( 'assigned_to' );
$t_lang_platform = lang_get( 'platform' );
$t_lang_due_date = lang_get( 'due_date' );
$t_lang_os = lang_get( 'os' );
$t_lang_os_version = lang_get( 'os_version' );
$t_lang_fixed_in_version = lang_get( 'fixed_in_version' );
$t_lang_resolution = lang_get( 'resolution' );
$t_lang_priority = lang_get( 'priority' );
$t_lang_product_build = lang_get( 'product_build' );
$t_lang_eta = lang_get( 'eta' );
$t_lang_status = lang_get( 'status' );
$t_lang_product_version = lang_get( 'product_version' );
$t_lang_no_bugnotes_msg = lang_get( 'no_bugnotes_msg' );
$t_lang_projection = lang_get( 'projection' );
$t_lang_target_version = lang_get( 'target_version' );
$t_lang_summary = lang_get( 'summary' );
$t_lang_description = lang_get( 'description' );
$t_lang_steps_to_reproduce = lang_get( 'steps_to_reproduce' );
$t_lang_additional_information = lang_get( 'additional_information' );
$t_lang_bug_notes_title = lang_get( 'bug_notes_title' );
$t_lang_system_profile = lang_get( 'system_profile' );
$t_lang_attached_files = lang_get( 'attached_files' );
$t_lang_tags = lang_get( 'tags' );
$t_fields = config_get( 'bug_view_page_fields' );
$t_fields = columns_filter_disabled( $t_fields );
$t_show_tags = in_array( 'tags', $t_fields ) && access_has_global_level( config_get( 'tag_view_threshold' ) );
$t_current_user_id = auth_get_current_user_id();
$t_user_bugnote_order = user_pref_get_pref( $t_current_user_id, 'bugnote_order' );
for( $j=0; $j < $t_row_count; $j++ ) {
$t_bug = $t_result[$j];
$t_id = $t_bug->id;
if( $j % 50 == 0 ) {
# to save ram as report will list data once, clear cache after 50 bugs
bug_clear_cache_all();
bugnote_clear_cache();
}
# display the available and selected bugs
if( in_array( $t_id, $f_bug_arr ) || !$f_show_flag ) {
if( $t_count_exported > 0 ) {
echo '
';
}
$t_count_exported++;
$t_last_updated = date( $g_short_date_format, $t_bug->last_updated );
# grab the project name
$t_project_name = project_get_field( $t_bug->project_id, 'name' );
$t_category_name = category_full_name( $t_bug->category_id, false );
?>
|
|||||||||||||||||
severity, auth_get_current_user_id(), $t_bug->project_id ) ?> | reproducibility, auth_get_current_user_id(), $t_bug->project_id ) ?> | date_submitted ) ?> | last_updated ) ?> | ||||||||||||||
|
|||||||||||||||||
reporter_id, $t_id ) ?> | platform ) ?> | due_date ) ) { echo date( $t_short_date_format, $t_bug->due_date ); print "\t\t | \n"; } } else { ?>|||||||||||||||
handler_id, $t_id ); } ?> | os ) ?> | ||||||||||||||||
priority, auth_get_current_user_id(), $t_bug->project_id ) ?> | os_build ) ?> | ||||||||||||||||
status, auth_get_current_user_id(), $t_bug->project_id ) ?> | version ) ?> | ||||||||||||||||
build ) ?> | resolution, auth_get_current_user_id(), $t_bug->project_id ) ?> | ||||||||||||||||
projection, auth_get_current_user_id(), $t_bug->project_id ) ?> | |||||||||||||||||
eta, auth_get_current_user_id(), $t_bug->project_id ) ?> | fixed_in_version ) ?> | ||||||||||||||||
target_version ) ?> | |||||||||||||||||
|
|||||||||||||||||
summary ) ?> | |||||||||||||||||
description ) ?> | |||||||||||||||||
id ) ) ?> | |||||||||||||||||
steps_to_reproduce ) ?> | |||||||||||||||||
additional_information ) ?> | |||||||||||||||||
';
}
$c_filename = string_display_line( $t_attachment['display_name'] );
$c_download_url = htmlspecialchars( $t_attachment['download_url'] );
$c_filesize = number_format( $t_attachment['size'] );
$c_date_added = date( $t_date_format, $t_attachment['date_added'] );
echo $c_filename . ' (' . $c_filesize . ' ' . lang_get( 'bytes' )
. ') ' . $c_date_added . ' ' . string_display_links( $t_path . $c_download_url ); if( $t_attachment['preview'] && $t_attachment['type'] == 'image' && $f_type_page == 'html' ) { echo ' '; } } ?> |
|||||||||||||||||
|