Permalink
Fetching contributors…
Cannot retrieve contributors at this time
198 lines (169 sloc) 5.56 KB
<?php
# MantisBT - A PHP based bugtracking system
# MantisBT is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# MantisBT is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with MantisBT. If not, see <http://www.gnu.org/licenses/>.
/**
* @package MantisBT
* @copyright Copyright (C) 2000 - 2002 Kenzaburo Ito - kenito@300baud.org
* @copyright Copyright (C) 2002 - 2011 MantisBT Team - mantisbt-dev@lists.sourceforge.net
* @link http://www.mantisbt.org
*
* @uses authentication_api.php
* @uses database_api.php
* @uses form_api.php
* @uses helper_api.php
* @uses lang_api.php
* @uses string_api.php
* @uses user_api.php
* @uses utility_api.php
*/
if ( !defined( 'PRINT_ALL_BUG_OPTIONS_INC_ALLOW' ) ) {
return;
}
require_api( 'authentication_api.php' );
require_api( 'database_api.php' );
require_api( 'form_api.php' );
require_api( 'helper_api.php' );
require_api( 'lang_api.php' );
require_api( 'string_api.php' );
require_api( 'user_api.php' );
require_api( 'utility_api.php' );
# this function only gets the field names, by appending strings
function get_field_names()
{
#currently 27 fields
return $t_arr = array (
'id',
'category',
'severity',
'reproducibility',
'date_submitted',
'last_update',
'reporter',
'assigned_to',
'priority',
'status',
'build',
'projection',
'eta',
'platform',
'os',
'os_version',
'product_version',
'resolution',
'duplicate_id',
'summary',
'description',
'steps_to_reproduce',
'additional_information',
'attached_files',
'bugnote_title',
'bugnote_date',
'bugnote_description',
'time_tracking' );
}
function edit_printing_prefs( $p_user_id = null, $p_error_if_protected = true, $p_redirect_url = '' )
{
if ( null === $p_user_id ) {
$p_user_id = auth_get_current_user_id();
}
$c_user_id = db_prepare_int( $p_user_id );
# protected account check
if ( $p_error_if_protected ) {
user_ensure_unprotected( $p_user_id );
}
$t_user_print_pref_table = db_get_table( 'user_print_pref' );
if ( is_blank( $p_redirect_url ) ) {
$p_redirect_url = 'print_all_bug_page.php';
}
# get the fields list
$t_field_name_arr = get_field_names();
$field_name_count = count( $t_field_name_arr );
# Grab the data
$query = "SELECT print_pref
FROM $t_user_print_pref_table
WHERE user_id=" . db_param();
$result = db_query_bound( $query, Array( $c_user_id ) );
## OOPS, No entry in the database yet. Lets make one
if ( 0 == db_num_rows( $result ) ) {
# create a default array, same size than $t_field_name
for ($i=0 ; $i<$field_name_count ; $i++) {
$t_default_arr[$i] = 1 ;
}
$t_default = implode( '', $t_default_arr ) ;
# all fields are added by default
$query = "INSERT
INTO $t_user_print_pref_table
(user_id, print_pref)
VALUES
(" . db_param() . "," . db_param() . ")";
$result = db_query_bound( $query, Array( $c_user_id, $t_default ) );
# Rerun select query
$query = "SELECT print_pref
FROM $t_user_print_pref_table
WHERE user_id=" . db_param();
$result = db_query_bound( $query, Array( $c_user_id ) );
}
# putting the query result into an array with the same size as $t_fields_arr
$row = db_fetch_array( $result );
$t_prefs = $row['print_pref'];
# Account Preferences Form BEGIN
$t_index_count=0;
?>
<br />
<div>
<form method="post" action="print_all_bug_options_update.php">
<?php echo form_security_field( 'print_all_bug_options_update' ) ?>
<input type="hidden" name="user_id" value="<?php echo $p_user_id ?>" />
<input type="hidden" name="redirect_url" value="<?php echo string_attribute( $p_redirect_url ) ?>" />
<table class="width75" cellspacing="1">
<tr>
<td class="form-title">
<?php echo lang_get( 'printing_preferences_title' ) ?>
</td>
<td class="right">
</td>
</tr>
<?php # display the checkboxes
for ($i=0 ; $i <$field_name_count ; $i++) {
printf ( '<tr %s>', helper_alternate_class( $i ) );
?>
<th class="category">
<?php echo lang_get( $t_field_name_arr[$i] ) ?>
</th>
<td>
<input type="checkbox" name="<?php echo 'print_' . $t_field_name_arr[$i]; ?>"
<?php if ( isset( $t_prefs[$i] ) && ( $t_prefs[$i]==1 ) ) echo 'checked="checked"' ?> />
</td>
</tr>
<?php
}
?>
<tr>
<td>&#160;</td>
<td>
<input type="submit" class="button" value="<?php echo lang_get( 'update_prefs_button' ) ?>" />
</td>
</tr>
</table>
</form>
</div>
<br />
<div class="border center">
<form method="post" action="print_all_bug_options_reset.php">
<?php echo form_security_field( 'print_all_bug_options_reset' ) ?>
<input type="submit" class="button" value="<?php echo lang_get( 'reset_prefs_button' ) ?>" />
</form>
</div>
<?php
}