Blame Identity/Models/Html/Mantis/1.1.2-1.fc9/print_all_bug_page_word.php

d6e8d8
d6e8d8
# Mantis - a php based bugtracking system
d6e8d8
d6e8d8
# Copyright (C) 2000 - 2002  Kenzaburo Ito - kenito@300baud.org
d6e8d8
# Copyright (C) 2002 - 2007  Mantis Team   - mantisbt-dev@lists.sourceforge.net
d6e8d8
d6e8d8
# Mantis is free software: you can redistribute it and/or modify
d6e8d8
# it under the terms of the GNU General Public License as published by
d6e8d8
# the Free Software Foundation, either version 2 of the License, or
d6e8d8
# (at your option) any later version.
d6e8d8
#
d6e8d8
# Mantis is distributed in the hope that it will be useful,
d6e8d8
# but WITHOUT ANY WARRANTY; without even the implied warranty of
d6e8d8
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
d6e8d8
# GNU General Public License for more details.
d6e8d8
#
d6e8d8
# You should have received a copy of the GNU General Public License
d6e8d8
# along with Mantis.  If not, see <http://www.gnu.org/licenses/>.
d6e8d8
d6e8d8
	# --------------------------------------------------------
d6e8d8
	# $Id: print_all_bug_page_word.php,v 1.65.2.1 2007-10-13 22:34:17 giallu Exp $
d6e8d8
	# --------------------------------------------------------
d6e8d8
?>
d6e8d8
d6e8d8
	# Word 2000 export page
d6e8d8
	# The bugs displayed in print_all_bug_page.php are saved in a .doc file
d6e8d8
	# The IE icon allows to see or directly print the same result
d6e8d8
?>
d6e8d8
d6e8d8
	require_once( 'core.php' );
d6e8d8
d6e8d8
	$t_core_path = config_get( 'core_path' );
d6e8d8
d6e8d8
	require_once( $t_core_path.'current_user_api.php' );
d6e8d8
	require_once( $t_core_path.'bug_api.php' );
d6e8d8
	require_once( $t_core_path.'custom_field_api.php' );
d6e8d8
	require_once( $t_core_path.'string_api.php' );
d6e8d8
	require_once( $t_core_path.'date_api.php' );
d6e8d8
?>
d6e8d8
d6e8d8
d6e8d8
	$f_type_page	= gpc_get_string( 'type_page', 'word' );
d6e8d8
	$f_search		= gpc_get_string( 'search', false ); # @@@ need a better default
d6e8d8
	$f_offset		= gpc_get_int( 'offset', 0 );
d6e8d8
	$f_export		= gpc_get_string( 'export' );
d6e8d8
	$f_show_flag	= gpc_get_bool( 'show_flag' );
d6e8d8
d6e8d8
	helper_begin_long_process();
d6e8d8
d6e8d8
	# word or html export
d6e8d8
	if ( $f_type_page != 'html' ) {
d6e8d8
		$t_export_title = helper_get_default_export_filename( '' );
d6e8d8
		$t_export_title = ereg_replace( '[\/:*?"<>|]', '', $t_export_title );
d6e8d8
d6e8d8
		# Make sure that IE can download the attachments under https.
d6e8d8
		header( 'Pragma: public' );
d6e8d8
d6e8d8
		header( 'Content-Type: application/msword' );
d6e8d8
d6e8d8
		if ( preg_match( "/MSIE/", $_SERVER["HTTP_USER_AGENT"] ) ) {
d6e8d8
                        header( 'Content-Disposition: attachment; filename="' . urlencode( $t_export_title ) . '.doc"' );
d6e8d8
                } else {
d6e8d8
                        header( 'Content-Disposition: attachment; filename="' . $t_export_title . '.doc"' );
d6e8d8
                }
d6e8d8
	}
d6e8d8
d6e8d8
	# This is where we used to do the entire actual filter ourselves
d6e8d8
	$t_page_number = gpc_get_int( 'page_number', 1 );
d6e8d8
	$t_per_page = -1;
d6e8d8
	$t_bug_count = null;
d6e8d8
	$t_page_count = null;
d6e8d8
d6e8d8
	$result = filter_get_bug_rows( $t_page_number, $t_per_page, $t_page_count, $t_bug_count );
d6e8d8
	$row_count = sizeof( $result );
d6e8d8
d6e8d8
?>
d6e8d8
d6e8d8
d6e8d8
d6e8d8
xmlns:w="urn:schemas-microsoft-com:office:word"
d6e8d8
xmlns="http://www.w3.org/TR/REC-html40">
d6e8d8
d6e8d8
d6e8d8
d6e8d8
d6e8d8
d6e8d8
d6e8d8
	//$t_bug_arr_sort[$row_count]=-1;
d6e8d8
	$f_bug_arr = explode_enum_string( $f_export );
d6e8d8
d6e8d8
	for( $j=0; $j < $row_count; $j++ ) {
d6e8d8
d6e8d8
		# prefix bug data with v_
d6e8d8
		extract( $result[$j], EXTR_PREFIX_ALL, 'v' );
d6e8d8
d6e8d8
		# display the available and selected bugs
d6e8d8
		if ( in_array( $v_id, $f_bug_arr ) || ( $f_show_flag==0 ) ) {
d6e8d8
d6e8d8
            $t_last_updated = date( $g_short_date_format, $v_last_updated );
d6e8d8
d6e8d8
            # grab the bugnote count
d6e8d8
            $bugnote_count = bug_get_bugnote_count( $v_id );
d6e8d8
d6e8d8
            # grab the project name
d6e8d8
            $t_project_name = project_get_field( $v_project_id, 'name' );
d6e8d8
d6e8d8
            # bug text infos
d6e8d8
            $t_bug_text_table = config_get( 'mantis_bug_text_table' );
d6e8d8
            $query3 = "SELECT *
d6e8d8
                FROM $t_bug_text_table
d6e8d8
                WHERE id='$v_bug_text_id'";
d6e8d8
            $result3 = db_query( $query3 );
d6e8d8
            $row = db_fetch_array( $result3 );
d6e8d8
            extract( $row, EXTR_PREFIX_ALL, 'v2' );
d6e8d8
d6e8d8
            $v_os 						= string_display( $v_os );
d6e8d8
            $v_os_build					= string_display( $v_os_build );
d6e8d8
            $v_platform					= string_display( $v_platform );
d6e8d8
            $v_version 					= string_display( $v_version );
d6e8d8
            $v_summary 					= string_display_links( $v_summary );
d6e8d8
            $v2_description 			= string_display_links( $v2_description );
d6e8d8
            $v2_steps_to_reproduce 		= string_display_links( $v2_steps_to_reproduce );
d6e8d8
            $v2_additional_information 	= string_display_links( $v2_additional_information );
d6e8d8
            ### note that dates are converted to unix format in filter_get_bug_rows
d6e8d8
?>
d6e8d8

d6e8d8
d6e8d8
d6e8d8
	
d6e8d8
		
d6e8d8
	
d6e8d8
d6e8d8
d6e8d8
	
d6e8d8
		
d6e8d8
	
d6e8d8
d6e8d8
d6e8d8
	
d6e8d8
		:
d6e8d8
	
d6e8d8
	
d6e8d8
		:
d6e8d8
	
d6e8d8
	
d6e8d8
		:
d6e8d8
	
d6e8d8
	
d6e8d8
		:
d6e8d8
	
d6e8d8
	
d6e8d8
		:
d6e8d8
	
d6e8d8
	
d6e8d8
		:
d6e8d8
	
d6e8d8
d6e8d8
d6e8d8
	
d6e8d8
		
d6e8d8
	
d6e8d8
	
d6e8d8
		
d6e8d8
	
d6e8d8
	
d6e8d8
		
d6e8d8
	
d6e8d8
	
d6e8d8
		
d6e8d8
	
d6e8d8
	
d6e8d8
		
d6e8d8
	
d6e8d8
	
d6e8d8
		
d6e8d8
	
d6e8d8
d6e8d8
d6e8d8
	
d6e8d8
		
d6e8d8
	
d6e8d8
d6e8d8
d6e8d8
	
d6e8d8
		:
d6e8d8
	
d6e8d8
	
d6e8d8
		
d6e8d8
	
d6e8d8
	
d6e8d8
		:
d6e8d8
	
d6e8d8
	
d6e8d8
		
d6e8d8
	
d6e8d8
	 
d6e8d8
d6e8d8
d6e8d8
	
d6e8d8
		:
d6e8d8
	
d6e8d8
	
d6e8d8
		
d6e8d8
			if ( access_has_bug_level( config_get( 'view_handler_threshold' ), $v_id ) ) {
d6e8d8
				print_user_with_subject( $v_handler_id, $v_id ); 
d6e8d8
			}
d6e8d8
		?>
d6e8d8
	
d6e8d8
	
d6e8d8
		:
d6e8d8
	
d6e8d8
	
d6e8d8
		
d6e8d8
	
d6e8d8
	 
d6e8d8
d6e8d8
d6e8d8
	
d6e8d8
		:
d6e8d8
	
d6e8d8
	
d6e8d8
		
d6e8d8
	
d6e8d8
	
d6e8d8
		:
d6e8d8
	
d6e8d8
	
d6e8d8
		
d6e8d8
	
d6e8d8
	 
d6e8d8
d6e8d8
d6e8d8
	
d6e8d8
		:
d6e8d8
	
d6e8d8
	
d6e8d8
		
d6e8d8
	
d6e8d8
	
d6e8d8
		:
d6e8d8
	
d6e8d8
	
d6e8d8
		
d6e8d8
	
d6e8d8
	 
d6e8d8
d6e8d8
d6e8d8
	
d6e8d8
		:
d6e8d8
	
d6e8d8
	
d6e8d8
		
d6e8d8
	
d6e8d8
	
d6e8d8
		:
d6e8d8
	
d6e8d8
	
d6e8d8
		
d6e8d8
	
d6e8d8
	 
d6e8d8
d6e8d8
d6e8d8
	
d6e8d8
		:
d6e8d8
	
d6e8d8
	
d6e8d8
		
d6e8d8
	
d6e8d8
	
d6e8d8
		
d6e8d8
			if ( !config_get( 'enable_relationship' ) ) {
d6e8d8
				echo lang_get( 'duplicate_id' );
d6e8d8
			} # MASC RELATIONSHIP
d6e8d8
		?> 
d6e8d8
	
d6e8d8
	
d6e8d8
		
d6e8d8
			if ( !config_get( 'enable_relationship' ) ) {
d6e8d8
				print_duplicate_id( $v_duplicate_id );
d6e8d8
			} # MASC RELATIONSHIP
d6e8d8
		?> 
d6e8d8
	
d6e8d8
	 
d6e8d8
d6e8d8
d6e8d8
	
d6e8d8
		:
d6e8d8
	
d6e8d8
	
d6e8d8
		
d6e8d8
	
d6e8d8
	 
d6e8d8
d6e8d8
d6e8d8
$t_related_custom_field_ids = custom_field_get_linked_ids( $v_project_id );
d6e8d8
foreach( $t_related_custom_field_ids as $t_id ) {
d6e8d8
	$t_def = custom_field_get_definition( $t_id );
d6e8d8
?>
d6e8d8
d6e8d8
	
d6e8d8
		:
d6e8d8
	
d6e8d8
	
d6e8d8
		
d6e8d8
	
d6e8d8
d6e8d8
d6e8d8
}       // foreach
d6e8d8
?>
d6e8d8
d6e8d8
	
d6e8d8
		
d6e8d8
	
d6e8d8
d6e8d8
d6e8d8
	
d6e8d8
		:
d6e8d8
	
d6e8d8
	
d6e8d8
		
d6e8d8
	
d6e8d8
d6e8d8
d6e8d8
	
d6e8d8
		:
d6e8d8
	
d6e8d8
	
d6e8d8
		
d6e8d8
	
d6e8d8
d6e8d8
d6e8d8
	
d6e8d8
		:
d6e8d8
	
d6e8d8
	
d6e8d8
		
d6e8d8
	
d6e8d8
d6e8d8
d6e8d8
	
d6e8d8
		:
d6e8d8
	
d6e8d8
	
d6e8d8
		
d6e8d8
	
d6e8d8
d6e8d8
d6e8d8
	# account profile description
d6e8d8
	if ( $v_profile_id > 0 ) {
d6e8d8
	   $t_user_prof_table = config_get( 'mantis_user_profile_table' );
d6e8d8
		$query4 = "SELECT description
d6e8d8
				FROM $t_user_prof_table
d6e8d8
				WHERE id='$v_profile_id'";
d6e8d8
		$result4 = db_query( $query4 );
d6e8d8
		$t_profile_description = '';
d6e8d8
		if ( db_num_rows( $result4 ) > 0 ) {
d6e8d8
			$t_profile_description = db_result( $result4, 0 );
d6e8d8
		}
d6e8d8
		$t_profile_description = string_display( $t_profile_description );
d6e8d8
d6e8d8
?>
d6e8d8
d6e8d8
	
d6e8d8
		
d6e8d8
	
d6e8d8
	
d6e8d8
		
d6e8d8
	
d6e8d8
d6e8d8
d6e8d8
	} # profile description
d6e8d8
?>
d6e8d8
d6e8d8
	
d6e8d8
		:
d6e8d8
	
d6e8d8
	
d6e8d8
		
d6e8d8
	        $t_bug_file_table = config_get( 'mantis_bug_file_table' );
d6e8d8
			$query5 = "SELECT filename, filesize, date_added
d6e8d8
					FROM $t_bug_file_table
d6e8d8
					WHERE bug_id='$v_id'";
d6e8d8
			$result5 = db_query( $query5 );
d6e8d8
			$num_files = db_num_rows( $result5 );
d6e8d8
			for ( $i=0;$i<$num_files;$i++ ) {
d6e8d8
				$row = db_fetch_array( $result5 );
d6e8d8
				extract( $row, EXTR_PREFIX_ALL, 'v2' );
d6e8d8
				$v2_filename = file_get_display_name( $v2_filename );
d6e8d8
				$v2_filesize = round( $v2_filesize / 1024 );
d6e8d8
				$v2_date_added = date( config_get( 'normal_date_format' ), db_unixtimestamp( $v2_date_added ) );
d6e8d8
d6e8d8
				switch ( $g_file_upload_method ) {
d6e8d8
					case DISK:	PRINT "$v2_filename ($v2_filesize KB) $v2_date_added";
d6e8d8
							break;
d6e8d8
					case DATABASE:	PRINT "$v2_filename ($v2_filesize KB) $v2_date_added";
d6e8d8
							break;
d6e8d8
				}
d6e8d8
d6e8d8
				if ( $i != ( $num_files - 1 ) ) {
d6e8d8
					PRINT '
';
d6e8d8
				}
d6e8d8
			}
d6e8d8
		?>
d6e8d8
	
d6e8d8
d6e8d8
d6e8d8
	# get the bugnote data
d6e8d8
 	if ( !access_has_bug_level( config_get( 'private_bugnote_threshold' ), $v_id ) ) {
d6e8d8
 		$t_restriction = 'AND view_state=' . VS_PUBLIC;
d6e8d8
 	} else {
d6e8d8
 		$t_restriction = '';
d6e8d8
 	}
d6e8d8
d6e8d8
	$t_bugnote_table		= config_get( 'mantis_bugnote_table' );
d6e8d8
	$t_bugnote_text_table	= config_get( 'mantis_bugnote_text_table' );
d6e8d8
	$t_bugnote_order = current_user_get_pref( 'bugnote_order' );
d6e8d8
d6e8d8
	$query6 = "SELECT *
d6e8d8
			FROM $t_bugnote_table
d6e8d8
			WHERE bug_id='$v_id' $t_restriction
d6e8d8
			ORDER BY date_submitted $t_bugnote_order";
d6e8d8
	$result6 = db_query( $query6 );
d6e8d8
	$num_notes = db_num_rows( $result6 );
d6e8d8
?>
d6e8d8
d6e8d8
d6e8d8

d6e8d8
d6e8d8
d6e8d8
	# no bugnotes
d6e8d8
	if ( 0 == $num_notes ) {
d6e8d8
	?>
d6e8d8
d6e8d8
	
d6e8d8
		
d6e8d8
	
d6e8d8
d6e8d8
	
d6e8d8
		else { # print bugnotes ?>
d6e8d8
d6e8d8
	
d6e8d8
			
d6e8d8
	
d6e8d8
d6e8d8
	
d6e8d8
		for ( $k=0; $k < $num_notes; $k++ ) {
d6e8d8
			# prefix all bugnote data with v3_
d6e8d8
			$row = db_fetch_array( $result6 );
d6e8d8
			extract( $row, EXTR_PREFIX_ALL, 'v3' );
d6e8d8
			$v3_date_submitted = date( config_get( 'normal_date_format' ), ( db_unixtimestamp( $v3_date_submitted ) ) );
d6e8d8
			$v3_last_modified = date( config_get( 'normal_date_format' ), ( db_unixtimestamp( $v3_last_modified ) ) );
d6e8d8
d6e8d8
			# grab the bugnote text and id and prefix with v3_
d6e8d8
			$query6 = "SELECT note, id
d6e8d8
					FROM $t_bugnote_text_table
d6e8d8
					WHERE id='$v3_bugnote_text_id'";
d6e8d8
			$result7 = db_query( $query6 );
d6e8d8
			$v3_note = db_result( $result7, 0, 0 );
d6e8d8
			$v3_bugnote_text_id = db_result( $result7, 0, 1 );
d6e8d8
d6e8d8
			$v3_note = string_display_links( $v3_note );
d6e8d8
	?>
d6e8d8
d6e8d8
	
d6e8d8
		
d6e8d8
	
d6e8d8
d6e8d8
d6e8d8
	
d6e8d8
		
d6e8d8
		
d6e8d8
			
d6e8d8
				()
d6e8d8
			
d6e8d8
		
d6e8d8
		
d6e8d8
			
d6e8d8
				   
d6e8d8
			
d6e8d8
		
d6e8d8
		
d6e8d8
			
d6e8d8
				   
d6e8d8
				
d6e8d8
					echo '
(' . lang_get( 'edited_on').' '. $v3_last_modified . ')';
d6e8d8
				} ?>
d6e8d8
			
d6e8d8
		
d6e8d8
		
d6e8d8
	
d6e8d8
	
d6e8d8
		
d6e8d8
		
d6e8d8
			
d6e8d8
				
d6e8d8
					switch ( $v3_note_type ) {
d6e8d8
						case REMINDER:
d6e8d8
							echo lang_get( 'reminder_sent_to' ) . ': ';
d6e8d8
							$v3_note_attr = substr( $v3_note_attr, 1, strlen( $v3_note_attr ) - 2 );
d6e8d8
							$t_to = array();
d6e8d8
							foreach ( explode( '|', $v3_note_attr ) as $t_recipient ) {
d6e8d8
								$t_to[] = prepare_user_name( $t_recipient );
d6e8d8
							}
d6e8d8
							echo implode( ', ', $t_to ) . '
';
d6e8d8
						default:
d6e8d8
							echo $v3_note;
d6e8d8
					}
d6e8d8
				?>
d6e8d8
			
d6e8d8
		
d6e8d8
		
d6e8d8
	
d6e8d8
d6e8d8
d6e8d8
		} # end for
d6e8d8
	} # end else
d6e8d8
?>
d6e8d8
d6e8d8
d6e8d8
d6e8d8
d6e8d8
d6e8d8
d6e8d8
d6e8d8
echo '

';
d6e8d8
		} # end in_array
d6e8d8
}  # end main loop
d6e8d8
?>