function display_bug($p_event, $p_bug_id)
    {
        require_once 'Source.ViewAPI.php';
        $t_project_id = bug_get_field($p_bug_id, 'project_id');
        $t_view_threshold = config_get('plugin_Source_view_threshold');
        if (!access_has_project_level($t_view_threshold, $t_project_id)) {
            return;
        }
        $t_changesets = $this->changesets;
        if (count($t_changesets) < 1) {
            return;
        }
        collapse_open('Source');
        ?>
<br/>
<a name="changesets"/>
<table class="width100" cellspacing="1">

<tr>
	<td class="form-title"><?php 
        collapse_icon('Source');
        echo plugin_lang_get('related_changesets', 'Source');
        ?>
</td>
</tr>
		<?php 
        Source_View_Changesets($t_changesets);
        ?>
</table>
<?php 
        collapse_closed('Source');
        ?>
<br/>
<table class="width100" cellspacing="1">

<tr>
	<td class="form-title"><?php 
        collapse_icon('Source');
        echo plugin_lang_get('related_changesets', 'Source');
        ?>
</td>
</tr>

</table>
<?php 
        collapse_end('Source');
    }
		</td>
		</tr>
<?php 
    }
    ?>
</table>

<?php 
    collapse_closed('sponsorship');
    ?>

<table class="width100" cellspacing="1">
	<tr>
		<td class="form-title">
<?php 
    collapse_icon('sponsorship');
    echo lang_get('users_sponsoring_bug');
    $t_details_url = lang_get('sponsorship_process_url');
    if (!is_blank($t_details_url)) {
        echo '&#160;[<a href="' . $t_details_url . '" target="_blank">' . lang_get('sponsorship_more_info') . '</a>]';
    }
    if ($t_total_sponsorship > 0) {
        echo ' <span style="font-weight: normal;">(';
        echo sprintf(lang_get('total_sponsorship_amount'), sponsorship_format_amount($t_total_sponsorship));
        echo ')</span>';
    }
    ?>
		</td>
	</tr>
</table>
Exemplo n.º 3
0
			<?php 
    echo lang_get('total_time');
    ?>
		</td>
		<td class="small-caption bold">
			<?php 
    echo db_minutes_to_hhmm($t_sum_in_minutes);
    ?>
		</td>
	</tr>
</table>

<?php 
}
# end if
collapse_closed('bugnotestats');
?>

<table class="width100" cellspacing="0">
	<tr>
		<td class="form-title" colspan="4">
			<?php 
collapse_icon('bugnotestats');
echo lang_get('time_tracking');
?>
		</td>
	</tr>
</table>

<?php 
collapse_end('bugnotestats');
        echo lang_get('add_user_to_monitor');
        ?>
" />
		</form>
		<?php 
    }
    ?>
	</td>
</tr>
</table>
<?php 
    collapse_closed('monitoring');
    ?>
<table class="width100" cellspacing="1">
<tr>
	<td class="form-title" colspan="2"><?php 
    collapse_icon('monitoring');
    ?>
		<?php 
    echo lang_get('users_monitoring_bug');
    ?>
	</td>
</tr>
</table>
<?php 
    collapse_end('monitoring');
    ?>

<?php 
}
# show monitor list
Exemplo n.º 5
0
<tr class="row-1">
	<td class="category" width="15%">
		<?php echo lang_get( 'select_file' ) ?><br />
		<?php //FIXME: hard coded "k" in here. ?>
		<span class="small"><?php echo lang_get( 'max_file_size_label' ) . lang_get( 'word_separator' ) . number_format( $t_max_file_size/1000 ) ?>k</span>
	</td>
	<td width="85%">
		<input type="hidden" name="bug_id" value="<?php echo $f_bug_id ?>" />
		<input type="hidden" name="max_file_size" value="<?php echo $t_max_file_size ?>" />
		<input name="file" type="file" size="40" />
		<input type="submit" class="button" value="<?php echo lang_get( 'upload_file_button' ) ?>" />
	</td>
</tr>
</table>
</form>
<?php
collapse_closed( 'upload_form' );
?>
<table class="width100" cellspacing="1">
<tr>
	<td class="form-title" colspan="2">
		<?php
			collapse_icon( 'upload_form' );
			echo lang_get( 'upload_file' ) ?>
	</td>
</tr>
</table>

<?php
collapse_end( 'upload_form' );
Exemplo n.º 6
0
    /**
     * Show TimeTracking information when viewing bugs.
     * @param string Event name
     * @param int Bug ID
     */
    function view_bug_time($p_event, $p_bug_id)
    {
        $table = plugin_table('data');
        $t_user_id = auth_get_current_user_id();
        # Pull all Time-Record entries for the current Bug
        if (access_has_bug_level(plugin_config_get('view_others_threshold'), $p_bug_id)) {
            $query_pull_timerecords = "SELECT * FROM {$table} WHERE bug_id = {$p_bug_id} ORDER BY timestamp DESC";
        } else {
            if (access_has_bug_level(plugin_config_get('admin_own_threshold'), $p_bug_id)) {
                $query_pull_timerecords = "SELECT * FROM {$table} WHERE bug_id = {$p_bug_id} and user = {$t_user_id} ORDER BY timestamp DESC";
            } else {
                // User has no access
                return;
            }
        }
        $result_pull_timerecords = db_query($query_pull_timerecords);
        $num_timerecords = db_num_rows($result_pull_timerecords);
        # Get Sum for this bug
        $query_pull_hours = "SELECT SUM(hours) as hours FROM {$table} WHERE bug_id = {$p_bug_id}";
        $result_pull_hours = db_query($query_pull_hours);
        $row_pull_hours = db_fetch_array($result_pull_hours);
        ?>


   <a name="timerecord" id="timerecord" /><br />

<?php 
        collapse_open('timerecord');
        ?>
   <table class="width100" cellspacing="1">
   <tr>
      <td colspan="6" class="form-title">
<?php 
        collapse_icon('timerecord');
        echo plugin_lang_get('title');
        ?>
      </td>
   </tr>
   <tr class="row-category">
      <td><div align="center"><?php 
        echo plugin_lang_get('user');
        ?>
</div></td>
      <td><div align="center"><?php 
        echo plugin_lang_get('expenditure_date');
        ?>
</div></td>
      <td><div align="center"><?php 
        echo plugin_lang_get('hours');
        ?>
</div></td>
      <td><div align="center"><?php 
        echo plugin_lang_get('information');
        ?>
</div></td>
      <td><div align="center"><?php 
        echo plugin_lang_get('entry_date');
        ?>
</div></td>
      <td>&nbsp;</td>
   </tr>


<?php 
        if (access_has_bug_level(plugin_config_get('admin_own_threshold'), $p_bug_id)) {
            $current_date = explode("-", date("Y-m-d"));
            ?>


   <form name="time_tracking" method="post" action="<?php 
            echo plugin_page('add_record');
            ?>
" >
      <?php 
            echo form_security_field('plugin_TimeTracking_add_record');
            ?>

      <input type="hidden" name="bug_id" value="<?php 
            echo $p_bug_id;
            ?>
">

   <tr <?php 
            echo helper_alternate_class();
            ?>
>
     <td><?php 
            echo user_get_name(auth_get_current_user_id());
            ?>
</td>
     <td nowrap>
        <div align="center">
           <select tabindex="5" name="day"><?php 
            print_day_option_list($current_date[2]);
            ?>
</select>
           <select tabindex="6" name="month"><?php 
            print_month_option_list($current_date[1]);
            ?>
</select>
           <select tabindex="7" name="year"><?php 
            print_year_option_list($current_date[0]);
            ?>
</select>
        </div>
     </td>
     <td><div align="right"><input type="text" name="time_value" value="00:00" size="5"></div></td>
     <td><div align="center"><input type="text" name="time_info"></div></td>
     <td>&nbsp;</td>
     <td><input name="<?php 
            echo plugin_lang_get('submit');
            ?>
" type="submit" value="<?php 
            echo plugin_lang_get('submit');
            ?>
"></td>
   </tr>
</form>

<?php 
        }
        # END Access Control
        for ($i = 0; $i < $num_timerecords; $i++) {
            $row = db_fetch_array($result_pull_timerecords);
            ?>


   <tr <?php 
            echo helper_alternate_class();
            ?>
>
      <td><?php 
            echo user_get_name($row["user"]);
            ?>
</td>
      <td><div align="center"><?php 
            echo date(config_get("short_date_format"), strtotime($row["expenditure_date"]));
            ?>
 </div></td>
      <td><div align="right"><?php 
            echo db_minutes_to_hhmm($row["hours"] * 60);
            ?>
 </div></td>
      <td><div align="center"><?php 
            echo string_display_links($row["info"]);
            ?>
</div></td>
      <td><div align="center"><?php 
            echo date(config_get("complete_date_format"), strtotime($row["timestamp"]));
            ?>
 </div></td>

<?php 
            $user = auth_get_current_user_id();
            if ($user == $row["user"] && access_has_bug_level(plugin_config_get('admin_own_threshold'), $p_bug_id) || access_has_bug_level(plugin_config_get('admin_threshold'), $p_bug_id)) {
                ?>


      <td><a href="<?php 
                echo plugin_page('delete_record');
                ?>
&bug_id=<?php 
                echo $p_bug_id;
                ?>
&delete_id=<?php 
                echo $row["id"];
                echo form_security_param('plugin_TimeTracking_delete_record');
                ?>
"><?php 
                echo plugin_lang_get('delete');
                ?>
</a></td>

<?php 
            } else {
                ?>
      <td>&nbsp;</td>

<?php 
            }
            ?>
   </tr>


<?php 
        }
        # End for loop
        ?>


   <tr class="row-category">
      <td><?php 
        echo plugin_lang_get('sum');
        ?>
</td>
      <td>&nbsp;</td>
      <td><div align="right"><b><?php 
        echo db_minutes_to_hhmm($row_pull_hours['hours'] * 60);
        ?>
</b></div></td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
   </tr>
</table>

<?php 
        collapse_closed('timerecord');
        ?>

<table class="width100" cellspacing="1">
<tr>
   <td class="form-title" colspan="2">
          <?php 
        collapse_icon('timerecord');
        ?>
          <?php 
        echo plugin_lang_get('title');
        ?>
	</td>
</tr>
</table>

<?php 
        collapse_end('timerecord');
    }
Exemplo n.º 7
0
/**
 * Prints information about a single attachment including download link, file
 * size, upload timestamp and an expandable preview for text and image file
 * types.
 * @param array $p_attachment An attachment arrray from within the array returned by the file_get_visible_attachments() function
 */
function print_bug_attachment($p_attachment)
{
    $t_show_attachment_preview = $p_attachment['preview'] && $p_attachment['exists'] && ($p_attachment['type'] == 'text' || $p_attachment['type'] == 'image');
    if ($t_show_attachment_preview) {
        $t_collapse_id = 'attachment_preview_' . $p_attachment['id'];
        global $g_collapse_cache_token;
        $g_collapse_cache_token[$t_collapse_id] = false;
        collapse_open($t_collapse_id);
    }
    print_bug_attachment_header($p_attachment);
    if ($t_show_attachment_preview) {
        echo lang_get('word_separator');
        collapse_icon($t_collapse_id);
        if ($p_attachment['type'] == 'text') {
            print_bug_attachment_preview_text($p_attachment);
        } else {
            if ($p_attachment['type'] === 'image') {
                print_bug_attachment_preview_image($p_attachment);
            }
        }
        collapse_closed($t_collapse_id);
        print_bug_attachment_header($p_attachment);
        echo lang_get('word_separator');
        collapse_icon($t_collapse_id);
        collapse_end($t_collapse_id);
    }
}
Exemplo n.º 8
0
/**
 * Prints the filter selection area for both the bug list view screen and
 * the bug list print screen. This function was an attempt to make it easier to
 * add new filters and rearrange them on screen for both pages.
 * @param integer $p_page_number Page number.
 * @param boolean $p_for_screen  Whether output is for screen view.
 * @param boolean $p_expanded    Whether to display expanded.
 * @return void
 */
function filter_draw_selection_area2($p_page_number, $p_for_screen = true, $p_expanded = true)
{
    $t_form_name_suffix = $p_expanded ? '_open' : '_closed';
    $t_filter = current_user_get_bug_filter();
    $t_filter = filter_ensure_valid_filter($t_filter === false ? array() : $t_filter);
    $t_project_id = helper_get_current_project();
    $t_page_number = (int) $p_page_number;
    $t_view_type = $t_filter['_view_type'];
    $t_tdclass = 'small-caption';
    $t_trclass = 'row-category2';
    $t_action = 'view_all_set.php?f=3';
    if ($p_for_screen == false) {
        $t_tdclass = 'print';
        $t_trclass = '';
        $t_action = 'view_all_set.php';
    }
    ?>

	<div class="filter-box">
		<form method="post" name="filters<?php 
    echo $t_form_name_suffix;
    ?>
" id="filters_form<?php 
    echo $t_form_name_suffix;
    ?>
" action="<?php 
    echo $t_action;
    ?>
">
		<?php 
    # CSRF protection not required here - form does not result in modifications
    ?>
		<input type="hidden" name="type" value="1" />
		<?php 
    if ($p_for_screen == false) {
        echo '<input type="hidden" name="print" value="1" />';
        echo '<input type="hidden" name="offset" value="0" />';
    }
    ?>
		<input type="hidden" name="page_number" value="<?php 
    echo $t_page_number;
    ?>
" />
		<input type="hidden" name="view_type" value="<?php 
    echo $t_view_type;
    ?>
" />
		<?php 
    $t_filter_cols = config_get('filter_custom_fields_per_row');
    if ($p_expanded) {
        ?>
		<table width="100%" cellspacing="1">
		<?php 
        $t_custom_cols = $t_filter_cols;
        $t_current_user_access_level = current_user_get_access_level();
        $t_accessible_custom_fields_ids = array();
        $t_accessible_custom_fields_names = array();
        $t_accessible_custom_fields_values = array();
        $t_num_custom_rows = 0;
        $t_per_row = 0;
        if (ON == config_get('filter_by_custom_fields')) {
            $t_custom_fields = custom_field_get_linked_ids($t_project_id);
            foreach ($t_custom_fields as $t_cfid) {
                $t_field_info = custom_field_cache_row($t_cfid, true);
                if ($t_field_info['access_level_r'] <= $t_current_user_access_level && $t_field_info['filter_by']) {
                    $t_accessible_custom_fields_ids[] = $t_cfid;
                    $t_accessible_custom_fields_names[] = $t_field_info['name'];
                    $t_accessible_custom_fields_types[] = $t_field_info['type'];
                    $t_accessible_custom_fields_values[] = custom_field_distinct_values($t_field_info);
                }
            }
            if (count($t_accessible_custom_fields_ids) > 0) {
                $t_per_row = config_get('filter_custom_fields_per_row');
                $t_num_custom_rows = ceil(count($t_accessible_custom_fields_ids) / $t_per_row);
            }
        }
        $t_filters_url = 'view_filters_page.php?for_screen=' . $p_for_screen;
        if ('advanced' == $t_view_type) {
            $t_filters_url = $t_filters_url . '&amp;view_type=advanced';
        }
        $t_filters_url = $t_filters_url . '&amp;target_field=';
        $t_show_product_version = version_should_show_product_version($t_project_id);
        $t_show_build = $t_show_product_version && config_get('enable_product_build') == ON;
        # overload handler_id setting if user isn't supposed to see them (ref #6189)
        if (!access_has_any_project(config_get('view_handler_threshold'))) {
            $t_filter[FILTER_PROPERTY_HANDLER_ID] = array(META_FILTER_ANY);
        }
        $t_dynamic_filter_expander_class = config_get('use_dynamic_filters') ? ' class="dynamic-filter-expander"' : '';
        ?>

		<tr <?php 
        echo 'class="' . $t_trclass . '"';
        ?>
>
			<td class="small-caption">
				<a href="<?php 
        echo $t_filters_url . FILTER_PROPERTY_REPORTER_ID . '[]';
        ?>
" id="reporter_id_filter"<?php 
        echo $t_dynamic_filter_expander_class;
        ?>
><?php 
        echo lang_get('reporter_label');
        ?>
</a>
			</td>
			<td class="small-caption">
				<a href="<?php 
        echo $t_filters_url . FILTER_PROPERTY_MONITOR_USER_ID . '[]';
        ?>
" id="user_monitor_filter"<?php 
        echo $t_dynamic_filter_expander_class;
        ?>
><?php 
        echo lang_get('monitored_by_label');
        ?>
</a>
			</td>
			<td class="small-caption">
				<a href="<?php 
        echo $t_filters_url . FILTER_PROPERTY_HANDLER_ID . '[]';
        ?>
" id="handler_id_filter"<?php 
        echo $t_dynamic_filter_expander_class;
        ?>
><?php 
        echo lang_get('assigned_to_label');
        ?>
</a>
			</td>
			<td colspan="2" class="small-caption">
				<a href="<?php 
        echo $t_filters_url . FILTER_PROPERTY_CATEGORY_ID . '[]';
        ?>
" id="show_category_filter"<?php 
        echo $t_dynamic_filter_expander_class;
        ?>
><?php 
        echo lang_get('category_label');
        ?>
</a>
			</td>
			<td class="small-caption">
				<a href="<?php 
        echo $t_filters_url . FILTER_PROPERTY_SEVERITY . '[]';
        ?>
" id="show_severity_filter"<?php 
        echo $t_dynamic_filter_expander_class;
        ?>
><?php 
        echo lang_get('severity_label');
        ?>
</a>
			</td>
			<td class="small-caption">
				<a href="<?php 
        echo $t_filters_url . FILTER_PROPERTY_RESOLUTION . '[]';
        ?>
" id="show_resolution_filter"<?php 
        echo $t_dynamic_filter_expander_class;
        ?>
><?php 
        echo lang_get('resolution_label');
        ?>
</a>
			</td>
			<td class="small-caption">
				<?php 
        if (ON == config_get('enable_profiles')) {
            ?>
					<a href="<?php 
            echo $t_filters_url . FILTER_PROPERTY_PROFILE_ID . '[]';
            ?>
" id="show_profile_filter"<?php 
            echo $t_dynamic_filter_expander_class;
            ?>
><?php 
            echo lang_get('profile_label');
            ?>
</a>
				<?php 
        }
        ?>
			</td>
			<?php 
        if ($t_filter_cols > 8) {
            echo '<td class="small-caption" colspan="' . ($t_filter_cols - 8) . '">&#160;</td>';
        }
        ?>
		</tr>

		<tr class="row-1">
			<td class="small-caption" id="reporter_id_filter_target">
							<?php 
        $t_output = '';
        $t_any_found = false;
        if (count($t_filter[FILTER_PROPERTY_REPORTER_ID]) == 0) {
            echo lang_get('any');
        } else {
            $t_first_flag = true;
            foreach ($t_filter[FILTER_PROPERTY_REPORTER_ID] as $t_current) {
                $t_this_name = '';
                echo '<input type="hidden" name="', FILTER_PROPERTY_REPORTER_ID, '[]" value="', string_attribute($t_current), '" />';
                if (filter_field_is_any($t_current)) {
                    $t_any_found = true;
                } else {
                    if (filter_field_is_myself($t_current)) {
                        if (access_has_project_level(config_get('report_bug_threshold'))) {
                            $t_this_name = '[' . lang_get('myself') . ']';
                        } else {
                            $t_any_found = true;
                        }
                    } else {
                        if (filter_field_is_none($t_current)) {
                            $t_this_name = lang_get('none');
                        } else {
                            $t_this_name = user_get_name($t_current);
                        }
                    }
                }
                if ($t_first_flag != true) {
                    $t_output = $t_output . '<br />';
                } else {
                    $t_first_flag = false;
                }
                $t_output = $t_output . string_display_line($t_this_name);
            }
            if (true == $t_any_found) {
                echo lang_get('any');
            } else {
                echo $t_output;
            }
        }
        ?>
			</td>
			<td class="small-caption" id="user_monitor_filter_target">
		<?php 
        $t_output = '';
        $t_any_found = false;
        if (count($t_filter[FILTER_PROPERTY_MONITOR_USER_ID]) == 0) {
            echo lang_get('any');
        } else {
            $t_first_flag = true;
            foreach ($t_filter[FILTER_PROPERTY_MONITOR_USER_ID] as $t_current) {
                echo '<input type="hidden" name="', FILTER_PROPERTY_MONITOR_USER_ID, '[]" value="', string_attribute($t_current), '" />';
                $t_this_name = '';
                if (filter_field_is_any($t_current)) {
                    $t_any_found = true;
                } else {
                    if (filter_field_is_myself($t_current)) {
                        if (access_has_project_level(config_get('monitor_bug_threshold'))) {
                            $t_this_name = '[' . lang_get('myself') . ']';
                        } else {
                            $t_any_found = true;
                        }
                    } else {
                        $t_this_name = user_get_name($t_current);
                    }
                }
                if ($t_first_flag != true) {
                    $t_output = $t_output . '<br />';
                } else {
                    $t_first_flag = false;
                }
                $t_output = $t_output . string_display_line($t_this_name);
            }
            if (true == $t_any_found) {
                echo lang_get('any');
            } else {
                echo string_display($t_output);
            }
        }
        ?>
			</td>
			<td class="small-caption" id="handler_id_filter_target">
							<?php 
        $t_output = '';
        $t_any_found = false;
        if (count($t_filter[FILTER_PROPERTY_HANDLER_ID]) == 0) {
            echo lang_get('any');
        } else {
            $t_first_flag = true;
            foreach ($t_filter[FILTER_PROPERTY_HANDLER_ID] as $t_current) {
                echo '<input type="hidden" name="', FILTER_PROPERTY_HANDLER_ID, '[]" value="', string_attribute($t_current), '" />';
                $t_this_name = '';
                if (filter_field_is_none($t_current)) {
                    $t_this_name = lang_get('none');
                } else {
                    if (filter_field_is_any($t_current)) {
                        $t_any_found = true;
                    } else {
                        if (filter_field_is_myself($t_current)) {
                            if (access_has_project_level(config_get('handle_bug_threshold'))) {
                                $t_this_name = '[' . lang_get('myself') . ']';
                            } else {
                                $t_any_found = true;
                            }
                        } else {
                            $t_this_name = user_get_name($t_current);
                        }
                    }
                }
                if ($t_first_flag != true) {
                    $t_output = $t_output . '<br />';
                } else {
                    $t_first_flag = false;
                }
                $t_output = $t_output . string_display_line($t_this_name);
            }
            if (true == $t_any_found) {
                echo lang_get('any');
            } else {
                echo string_display($t_output);
            }
        }
        ?>
			</td>
			<td colspan="2" class="small-caption" id="show_category_filter_target">
		<?php 
        $t_output = '';
        $t_any_found = false;
        if (count($t_filter[FILTER_PROPERTY_CATEGORY_ID]) == 0) {
            echo lang_get('any');
        } else {
            $t_first_flag = true;
            foreach ($t_filter[FILTER_PROPERTY_CATEGORY_ID] as $t_current) {
                echo '<input type="hidden" name="', FILTER_PROPERTY_CATEGORY_ID, '[]" value="', string_attribute($t_current), '" />';
                $t_this_string = '';
                if (filter_field_is_any($t_current)) {
                    $t_any_found = true;
                } else {
                    $t_this_string = $t_current;
                }
                if ($t_first_flag != true) {
                    $t_output = $t_output . '<br />';
                } else {
                    $t_first_flag = false;
                }
                $t_output = $t_output . string_display_line($t_this_string);
            }
            if (true == $t_any_found) {
                echo lang_get('any');
            } else {
                echo $t_output;
            }
        }
        ?>
			</td>
			<td class="small-caption" id="show_severity_filter_target">
		<?php 
        $t_output = '';
        $t_any_found = false;
        if (count($t_filter[FILTER_PROPERTY_SEVERITY]) == 0) {
            echo lang_get('any');
        } else {
            $t_first_flag = true;
            foreach ($t_filter[FILTER_PROPERTY_SEVERITY] as $t_current) {
                echo '<input type="hidden" name="', FILTER_PROPERTY_SEVERITY, '[]" value="', string_attribute($t_current), '" />';
                $t_this_string = '';
                if (filter_field_is_any($t_current)) {
                    $t_any_found = true;
                } else {
                    $t_this_string = get_enum_element('severity', $t_current);
                }
                if ($t_first_flag != true) {
                    $t_output = $t_output . '<br />';
                } else {
                    $t_first_flag = false;
                }
                $t_output = $t_output . string_display_line($t_this_string);
            }
            if (true == $t_any_found) {
                echo lang_get('any');
            } else {
                echo $t_output;
            }
        }
        ?>
			</td>
			<td class="small-caption" id="show_resolution_filter_target">
		<?php 
        $t_output = '';
        $t_any_found = false;
        if (count($t_filter[FILTER_PROPERTY_RESOLUTION]) == 0) {
            echo lang_get('any');
        } else {
            $t_first_flag = true;
            foreach ($t_filter[FILTER_PROPERTY_RESOLUTION] as $t_current) {
                echo '<input type="hidden" name="', FILTER_PROPERTY_RESOLUTION, '[]" value="', string_attribute($t_current), '" />';
                $t_this_string = '';
                if (filter_field_is_any($t_current)) {
                    $t_any_found = true;
                } else {
                    $t_this_string = get_enum_element('resolution', $t_current);
                }
                if ($t_first_flag != true) {
                    $t_output = $t_output . '<br />';
                } else {
                    $t_first_flag = false;
                }
                $t_output = $t_output . string_display_line($t_this_string);
            }
            if (true == $t_any_found) {
                echo lang_get('any');
            } else {
                echo $t_output;
            }
        }
        ?>
			</td>
			<?php 
        if (ON == config_get('enable_profiles')) {
            ?>
			<td class="small-caption" id="show_profile_filter_target">
		<?php 
            $t_output = '';
            $t_any_found = false;
            if (count($t_filter[FILTER_PROPERTY_PROFILE_ID]) == 0) {
                echo lang_get('any');
            } else {
                $t_first_flag = true;
                foreach ($t_filter[FILTER_PROPERTY_PROFILE_ID] as $t_current) {
                    echo '<input type="hidden" name="', FILTER_PROPERTY_PROFILE_ID, '[]" value="', string_attribute($t_current), '" />';
                    $t_this_string = '';
                    if (filter_field_is_any($t_current)) {
                        $t_any_found = true;
                    } else {
                        $t_profile = profile_get_row_direct($t_current);
                        $t_this_string = $t_profile['platform'] . ' ' . $t_profile['os'] . ' ' . $t_profile['os_build'];
                    }
                    if ($t_first_flag != true) {
                        $t_output = $t_output . '<br />';
                    } else {
                        $t_first_flag = false;
                    }
                    $t_output = $t_output . string_display_line($t_this_string);
                }
                if (true == $t_any_found) {
                    echo lang_get('any');
                } else {
                    echo $t_output;
                }
            }
            ?>
			</td>
			<?php 
        } else {
            ?>
				<td></td>
			<?php 
        }
        if ($t_filter_cols > 8) {
            echo '<td class="small-caption" colspan="' . ($t_filter_cols - 8) . '">&#160;</td>';
        }
        ?>
		</tr>
		<tr <?php 
        echo 'class="' . $t_trclass . '"';
        ?>
>
			<td class="small-caption">
				<a href="<?php 
        echo $t_filters_url . FILTER_PROPERTY_STATUS . '[]';
        ?>
" id="show_status_filter"<?php 
        echo $t_dynamic_filter_expander_class;
        ?>
><?php 
        echo lang_get('status_label');
        ?>
</a>
			</td>
			<td class="small-caption">
				<?php 
        if ('simple' == $t_view_type) {
            ?>
					<a href="<?php 
            echo $t_filters_url . FILTER_PROPERTY_HIDE_STATUS . '[]';
            ?>
" id="hide_status_filter"<?php 
            echo $t_dynamic_filter_expander_class;
            ?>
><?php 
            echo lang_get('hide_status_label');
            ?>
</a>
				<?php 
        }
        ?>
			</td>
			<td class="small-caption">
			<?php 
        if ($t_show_build) {
            ?>
				<a href="<?php 
            echo $t_filters_url . FILTER_PROPERTY_BUILD . '[]';
            ?>
" id="show_build_filter"<?php 
            echo $t_dynamic_filter_expander_class;
            ?>
><?php 
            echo lang_get('product_build_label');
            ?>
</a>
			<?php 
        }
        ?>
			</td>
			<?php 
        if ($t_show_product_version) {
            ?>
			<td colspan="2" class="small-caption">
				<a href="<?php 
            echo $t_filters_url . FILTER_PROPERTY_VERSION . '[]';
            ?>
" id="show_version_filter"<?php 
            echo $t_dynamic_filter_expander_class;
            ?>
><?php 
            echo lang_get('product_version_label');
            ?>
</a>
			</td>
			<td colspan="1" class="small-caption">
				<a href="<?php 
            echo $t_filters_url . FILTER_PROPERTY_FIXED_IN_VERSION . '[]';
            ?>
" id="show_fixed_in_version_filter"<?php 
            echo $t_dynamic_filter_expander_class;
            ?>
><?php 
            echo lang_get('fixed_in_version_label');
            ?>
</a>
			</td>
			<?php 
        } else {
            ?>
			<td colspan="2" class="small-caption">
				&#160;
			</td>
			<td colspan="1" class="small-caption">
				&#160;
			</td>
			<?php 
        }
        ?>
			<td colspan="1" class="small-caption">
				<a href="<?php 
        echo $t_filters_url . FILTER_PROPERTY_PRIORITY . '[]';
        ?>
" id="show_priority_filter"<?php 
        echo $t_dynamic_filter_expander_class;
        ?>
><?php 
        echo lang_get('priority_label');
        ?>
</a>
			</td>
			<?php 
        if ($t_show_product_version) {
            ?>
			<td colspan="1" class="small-caption">
				<a href="<?php 
            echo $t_filters_url . FILTER_PROPERTY_TARGET_VERSION . '[]';
            ?>
" id="show_target_version_filter"<?php 
            echo $t_dynamic_filter_expander_class;
            ?>
><?php 
            echo lang_get('target_version_label');
            ?>
</a>
			</td>
			<?php 
        } else {
            ?>
			<td colspan="1" class="small-caption">
				&#160;
			</td>
			<?php 
        }
        if ($t_filter_cols > 8) {
            echo '<td class="small-caption" colspan="' . ($t_filter_cols - 7) . '">&#160;</td>';
        }
        ?>
		</tr>

		<tr class="row-1">
			<td class="small-caption" id="show_status_filter_target">
		<?php 
        $t_output = '';
        $t_any_found = false;
        if (count($t_filter[FILTER_PROPERTY_STATUS]) == 0) {
            echo lang_get('any');
        } else {
            $t_first_flag = true;
            foreach ($t_filter[FILTER_PROPERTY_STATUS] as $t_current) {
                echo '<input type="hidden" name="', FILTER_PROPERTY_STATUS, '[]" value="', string_attribute($t_current), '" />';
                $t_this_string = '';
                if (filter_field_is_any($t_current)) {
                    $t_any_found = true;
                } else {
                    $t_this_string = get_enum_element('status', $t_current);
                }
                if ($t_first_flag != true) {
                    $t_output = $t_output . '<br />';
                } else {
                    $t_first_flag = false;
                }
                $t_output = $t_output . string_display_line($t_this_string);
            }
            if (true == $t_any_found) {
                echo lang_get('any');
            } else {
                echo $t_output;
            }
        }
        ?>
			</td>
			<td class="small-caption" id="hide_status_filter_target">
		<?php 
        if ('simple' == $t_view_type) {
            $t_output = '';
            $t_none_found = false;
            if (count($t_filter[FILTER_PROPERTY_HIDE_STATUS]) == 0) {
                echo lang_get('none');
            } else {
                $t_first_flag = true;
                foreach ($t_filter[FILTER_PROPERTY_HIDE_STATUS] as $t_current) {
                    echo '<input type="hidden" name="', FILTER_PROPERTY_HIDE_STATUS, '[]" value="', string_attribute($t_current), '" />';
                    $t_this_string = '';
                    if (filter_field_is_none($t_current)) {
                        $t_none_found = true;
                    } else {
                        $t_this_string = get_enum_element('status', $t_current);
                    }
                    if ($t_first_flag != true) {
                        $t_output = $t_output . '<br />';
                    } else {
                        $t_first_flag = false;
                    }
                    $t_output = $t_output . string_display_line($t_this_string);
                }
                $t_hide_status_post = '';
                if (count($t_filter[FILTER_PROPERTY_HIDE_STATUS]) == 1) {
                    $t_hide_status_post = ' (' . lang_get('and_above') . ')';
                }
                if (true == $t_none_found) {
                    echo lang_get('none');
                } else {
                    echo $t_output . string_display_line($t_hide_status_post);
                }
            }
        }
        ?>
			</td>
		<?php 
        if ($t_show_build) {
            ?>
			<td class="small-caption" id="show_build_filter_target">
		<?php 
            $t_output = '';
            $t_any_found = false;
            if (count($t_filter[FILTER_PROPERTY_BUILD]) == 0) {
                echo lang_get('any');
            } else {
                $t_first_flag = true;
                foreach ($t_filter[FILTER_PROPERTY_BUILD] as $t_current) {
                    $t_current = stripslashes($t_current);
                    echo '<input type="hidden" name="', FILTER_PROPERTY_BUILD, '[]" value="', string_attribute($t_current), '" />';
                    $t_this_string = '';
                    if (filter_field_is_any($t_current)) {
                        $t_any_found = true;
                    } else {
                        if (filter_field_is_none($t_current)) {
                            $t_this_string = lang_get('none');
                        } else {
                            $t_this_string = $t_current;
                        }
                    }
                    if ($t_first_flag != true) {
                        $t_output = $t_output . '<br />';
                    } else {
                        $t_first_flag = false;
                    }
                    $t_output = $t_output . string_display_line($t_this_string);
                }
                if (true == $t_any_found) {
                    echo lang_get('any');
                } else {
                    echo $t_output;
                }
            }
            ?>
			</td>
			<?php 
        } else {
            ?>
			<td class="small-caption"></td>
			<?php 
        }
        if ($t_show_product_version) {
            ?>
			<td colspan="2" class="small-caption" id="show_version_filter_target">
							<?php 
            $t_output = '';
            $t_any_found = false;
            if (count($t_filter[FILTER_PROPERTY_VERSION]) == 0) {
                echo lang_get('any');
            } else {
                $t_first_flag = true;
                foreach ($t_filter[FILTER_PROPERTY_VERSION] as $t_current) {
                    $t_current = stripslashes($t_current);
                    echo '<input type="hidden" name="', FILTER_PROPERTY_VERSION, '[]" value="', string_attribute($t_current), '" />';
                    $t_this_string = '';
                    if (filter_field_is_any($t_current)) {
                        $t_any_found = true;
                    } else {
                        if (filter_field_is_none($t_current)) {
                            $t_this_string = lang_get('none');
                        } else {
                            $t_this_string = $t_current;
                        }
                    }
                    if ($t_first_flag != true) {
                        $t_output = $t_output . '<br />';
                    } else {
                        $t_first_flag = false;
                    }
                    $t_output = $t_output . string_display_line($t_this_string);
                }
                if (true == $t_any_found) {
                    echo lang_get('any');
                } else {
                    echo $t_output;
                }
            }
            ?>
			</td>
			<td colspan="1" class="small-caption" id="show_fixed_in_version_filter_target">
							<?php 
            $t_output = '';
            $t_any_found = false;
            if (count($t_filter[FILTER_PROPERTY_FIXED_IN_VERSION]) == 0) {
                echo lang_get('any');
            } else {
                $t_first_flag = true;
                foreach ($t_filter[FILTER_PROPERTY_FIXED_IN_VERSION] as $t_current) {
                    $t_current = stripslashes($t_current);
                    echo '<input type="hidden" name="', FILTER_PROPERTY_FIXED_IN_VERSION, '[]" value="', string_attribute($t_current), '" />';
                    $t_this_string = '';
                    if (filter_field_is_any($t_current)) {
                        $t_any_found = true;
                    } else {
                        if (filter_field_is_none($t_current)) {
                            $t_this_string = lang_get('none');
                        } else {
                            $t_this_string = $t_current;
                        }
                    }
                    if ($t_first_flag != true) {
                        $t_output = $t_output . '<br />';
                    } else {
                        $t_first_flag = false;
                    }
                    $t_output = $t_output . string_display_line($t_this_string);
                }
                if (true == $t_any_found) {
                    echo lang_get('any');
                } else {
                    echo $t_output;
                }
            }
            ?>
			</td>
		<?php 
        } else {
            ?>
			<td colspan="2" class="small-caption">
				&#160;
			</td>
			<td colspan="1" class="small-caption">
				&#160;
			</td>
		<?php 
        }
        ?>
			<td colspan="1" class="small-caption" id="show_priority_filter_target">
		<?php 
        $t_output = '';
        $t_any_found = false;
        if (count($t_filter[FILTER_PROPERTY_PRIORITY]) == 0) {
            echo lang_get('any');
        } else {
            $t_first_flag = true;
            foreach ($t_filter[FILTER_PROPERTY_PRIORITY] as $t_current) {
                echo '<input type="hidden" name="', FILTER_PROPERTY_PRIORITY, '[]" value="', string_attribute($t_current), '" />';
                $t_this_string = '';
                if (filter_field_is_any($t_current)) {
                    $t_any_found = true;
                } else {
                    $t_this_string = get_enum_element('priority', $t_current);
                }
                if ($t_first_flag != true) {
                    $t_output = $t_output . '<br />';
                } else {
                    $t_first_flag = false;
                }
                $t_output = $t_output . string_display_line($t_this_string);
            }
            if (true == $t_any_found) {
                echo lang_get('any');
            } else {
                echo $t_output;
            }
        }
        ?>
		</td>
		<?php 
        if ($t_show_product_version) {
            ?>
		<td colspan="1" class="small-caption" id="show_target_version_filter_target">
							<?php 
            $t_output = '';
            $t_any_found = false;
            if (count($t_filter[FILTER_PROPERTY_TARGET_VERSION]) == 0) {
                echo lang_get('any');
            } else {
                $t_first_flag = true;
                foreach ($t_filter[FILTER_PROPERTY_TARGET_VERSION] as $t_current) {
                    $t_current = stripslashes($t_current);
                    echo '<input type="hidden" name="', FILTER_PROPERTY_TARGET_VERSION, '[]" value="', string_attribute($t_current), '" />';
                    $t_this_string = '';
                    if (filter_field_is_any($t_current)) {
                        $t_any_found = true;
                    } else {
                        if (filter_field_is_none($t_current)) {
                            $t_this_string = lang_get('none');
                        } else {
                            $t_this_string = $t_current;
                        }
                    }
                    if ($t_first_flag != true) {
                        $t_output = $t_output . '<br />';
                    } else {
                        $t_first_flag = false;
                    }
                    $t_output = $t_output . string_display_line($t_this_string);
                }
                if (true == $t_any_found) {
                    echo lang_get('any');
                } else {
                    echo $t_output;
                }
            }
            ?>
			</td>
		<?php 
        } else {
            ?>
			<td colspan="1" class="small-caption">
				&#160;
			</td>
		<?php 
        }
        if ($t_filter_cols > 8) {
            echo '<td class="small-caption" colspan="' . ($t_filter_cols - 7) . '">&#160;</td>';
        }
        ?>

		</tr>

		<tr <?php 
        echo 'class="' . $t_trclass . '"';
        ?>
>
			<td class="small-caption">
				<a href="<?php 
        echo $t_filters_url . FILTER_PROPERTY_ISSUES_PER_PAGE;
        ?>
" id="per_page_filter"<?php 
        echo $t_dynamic_filter_expander_class;
        ?>
><?php 
        echo lang_get('show_label');
        ?>
</a>
			</td>
			<td class="small-caption">
				<a href="<?php 
        echo $t_filters_url . FILTER_PROPERTY_VIEW_STATE;
        ?>
" id="view_state_filter"<?php 
        echo $t_dynamic_filter_expander_class;
        ?>
><?php 
        echo lang_get('view_status_label');
        ?>
</a>
			</td>
			<td class="small-caption">
				<a href="<?php 
        echo $t_filters_url . FILTER_PROPERTY_STICKY;
        ?>
" id="sticky_issues_filter"<?php 
        echo $t_dynamic_filter_expander_class;
        ?>
><?php 
        echo lang_get('sticky_label');
        ?>
</a>
			</td>
			<td class="small-caption" colspan="2">
			</td>
			<td class="small-caption" >
				<a href="<?php 
        echo $t_filters_url . FILTER_PROPERTY_FILTER_BY_DATE;
        ?>
" id="do_filter_by_date_filter"<?php 
        echo $t_dynamic_filter_expander_class;
        ?>
><?php 
        echo lang_get('use_date_filters_label');
        ?>
</a>
			</td>
			<td class="small-caption" colspan="2">
				<a href="<?php 
        echo $t_filters_url . FILTER_PROPERTY_RELATIONSHIP_TYPE;
        ?>
" id="relationship_type_filter"<?php 
        echo $t_dynamic_filter_expander_class;
        ?>
><?php 
        echo lang_get('bug_relationships_label');
        ?>
</a>
			</td>
			<?php 
        if ($t_filter_cols > 8) {
            echo '<td class="small-caption" colspan="' . ($t_filter_cols - 8) . '">&#160;</td>';
        }
        ?>
		</tr>
		<tr class="row-1">
			<td class="small-caption" id="per_page_filter_target">
				<?php 
        echo $t_filter[FILTER_PROPERTY_ISSUES_PER_PAGE] == 0 ? lang_get('all') : string_display_line($t_filter[FILTER_PROPERTY_ISSUES_PER_PAGE]);
        echo '<input type="hidden" name="', FILTER_PROPERTY_ISSUES_PER_PAGE, '" value="', string_attribute($t_filter[FILTER_PROPERTY_ISSUES_PER_PAGE]), '" />';
        ?>
			</td>
			<td class="small-caption" id="view_state_filter_target">
				<?php 
        if (VS_PUBLIC === $t_filter[FILTER_PROPERTY_VIEW_STATE]) {
            echo lang_get('public');
        } else {
            if (VS_PRIVATE === $t_filter[FILTER_PROPERTY_VIEW_STATE]) {
                echo lang_get('private');
            } else {
                echo lang_get('any');
                $t_filter[FILTER_PROPERTY_VIEW_STATE] = META_FILTER_ANY;
            }
        }
        echo '<input type="hidden" name="', FILTER_PROPERTY_VIEW_STATE, '" value="', string_attribute($t_filter[FILTER_PROPERTY_VIEW_STATE]), '" />';
        ?>
			</td>
			<td class="small-caption" id="sticky_issues_filter_target">
				<?php 
        $t_sticky_filter_state = gpc_string_to_bool($t_filter[FILTER_PROPERTY_STICKY]);
        print $t_sticky_filter_state ? lang_get('yes') : lang_get('no');
        ?>
				<input type="hidden" name="<?php 
        echo FILTER_PROPERTY_STICKY;
        ?>
" value="<?php 
        echo $t_sticky_filter_state ? 'on' : 'off';
        ?>
" />
			</td>
			<td class="small-caption" colspan="2">&#160;
			</td>
			<td class="small-caption" id="do_filter_by_date_filter_target">
		<?php 
        if ('on' == $t_filter[FILTER_PROPERTY_FILTER_BY_DATE]) {
            echo '<input type="hidden" name="', FILTER_PROPERTY_FILTER_BY_DATE, '" value="', string_attribute($t_filter[FILTER_PROPERTY_FILTER_BY_DATE]), '" />';
            echo '<input type="hidden" name="', FILTER_PROPERTY_START_MONTH, '" value="', string_attribute($t_filter[FILTER_PROPERTY_START_MONTH]), '" />';
            echo '<input type="hidden" name="', FILTER_PROPERTY_START_DAY, '" value="', string_attribute($t_filter[FILTER_PROPERTY_START_DAY]), '" />';
            echo '<input type="hidden" name="', FILTER_PROPERTY_START_YEAR, '" value="', string_attribute($t_filter[FILTER_PROPERTY_START_YEAR]), '" />';
            echo '<input type="hidden" name="', FILTER_PROPERTY_END_MONTH, '" value="', string_attribute($t_filter[FILTER_PROPERTY_END_MONTH]), '" />';
            echo '<input type="hidden" name="', FILTER_PROPERTY_END_DAY, '" value="', string_attribute($t_filter[FILTER_PROPERTY_END_DAY]), '" />';
            echo '<input type="hidden" name="', FILTER_PROPERTY_END_YEAR, '" value="', string_attribute($t_filter[FILTER_PROPERTY_END_YEAR]), '" />';
            $t_chars = preg_split('//', config_get('short_date_format'), -1, PREG_SPLIT_NO_EMPTY);
            $t_time = mktime(0, 0, 0, $t_filter[FILTER_PROPERTY_START_MONTH], $t_filter[FILTER_PROPERTY_START_DAY], $t_filter[FILTER_PROPERTY_START_YEAR]);
            foreach ($t_chars as $t_char) {
                if (strcasecmp($t_char, 'M') == 0) {
                    echo ' ';
                    echo date('F', $t_time);
                }
                if (strcasecmp($t_char, 'D') == 0) {
                    echo ' ';
                    echo date('d', $t_time);
                }
                if (strcasecmp($t_char, 'Y') == 0) {
                    echo ' ';
                    echo date('Y', $t_time);
                }
            }
            echo ' - ';
            $t_time = mktime(0, 0, 0, $t_filter[FILTER_PROPERTY_END_MONTH], $t_filter[FILTER_PROPERTY_END_DAY], $t_filter[FILTER_PROPERTY_END_YEAR]);
            foreach ($t_chars as $t_char) {
                if (strcasecmp($t_char, 'M') == 0) {
                    echo ' ';
                    echo date('F', $t_time);
                }
                if (strcasecmp($t_char, 'D') == 0) {
                    echo ' ';
                    echo date('d', $t_time);
                }
                if (strcasecmp($t_char, 'Y') == 0) {
                    echo ' ';
                    echo date('Y', $t_time);
                }
            }
        } else {
            echo lang_get('no');
        }
        ?>
			</td>

			<td class="small-caption" colspan="2" id="relationship_type_filter_target">
		<?php 
        echo '<input type="hidden" name="', FILTER_PROPERTY_RELATIONSHIP_TYPE, '" value="', string_attribute($t_filter[FILTER_PROPERTY_RELATIONSHIP_TYPE]), '" />';
        echo '<input type="hidden" name="', FILTER_PROPERTY_RELATIONSHIP_BUG, '" value="', string_attribute($t_filter[FILTER_PROPERTY_RELATIONSHIP_BUG]), '" />';
        $c_rel_type = $t_filter[FILTER_PROPERTY_RELATIONSHIP_TYPE];
        $c_rel_bug = $t_filter[FILTER_PROPERTY_RELATIONSHIP_BUG];
        if (-1 == $c_rel_type || 0 == $c_rel_bug) {
            echo lang_get('any');
        } else {
            echo relationship_get_description_for_history($c_rel_type) . ' ' . $c_rel_bug;
        }
        ?>
			</td>
			<?php 
        if ($t_filter_cols > 8) {
            echo '<td class="small-caption" colspan="' . ($t_filter_cols - 8) . '">&#160;</td>';
        }
        ?>
		</tr>
		<tr <?php 
        echo 'class="' . $t_trclass . '"';
        ?>
>
			<td class="small-caption">
				<?php 
        if (ON == config_get('enable_profiles')) {
            ?>
					<a href="<?php 
            echo $t_filters_url . FILTER_PROPERTY_PLATFORM;
            ?>
" id="platform_filter"<?php 
            echo $t_dynamic_filter_expander_class;
            ?>
><?php 
            echo lang_get('platform_label');
            ?>
</a>
				<?php 
        }
        ?>
			</td>
			<td class="small-caption">
				<?php 
        if (ON == config_get('enable_profiles')) {
            ?>
					<a href="<?php 
            echo $t_filters_url . FILTER_PROPERTY_OS;
            ?>
" id="os_filter"<?php 
            echo $t_dynamic_filter_expander_class;
            ?>
><?php 
            echo lang_get('os_label');
            ?>
</a>
				<?php 
        }
        ?>
			</td>
			<td class="small-caption">
				<?php 
        if (ON == config_get('enable_profiles')) {
            ?>
					<a href="<?php 
            echo $t_filters_url . FILTER_PROPERTY_OS_BUILD;
            ?>
" id="os_build_filter"<?php 
            echo $t_dynamic_filter_expander_class;
            ?>
><?php 
            echo lang_get('os_version_label');
            ?>
</a>
				<?php 
        }
        ?>
			</td>
			<td class="small-caption" colspan="5">
				<?php 
        if (access_has_global_level(config_get('tag_view_threshold'))) {
            ?>
				<a href="<?php 
            echo $t_filters_url . FILTER_PROPERTY_TAG_STRING;
            ?>
" id="tag_string_filter"<?php 
            echo $t_dynamic_filter_expander_class;
            ?>
><?php 
            echo lang_get('tags_label');
            ?>
</a>
				<?php 
        }
        ?>
			</td>
			<?php 
        if ($t_filter_cols > 8) {
            echo '<td class="small-caption" colspan="' . ($t_filter_cols - 8) . '">&#160;</td>';
        }
        ?>
		</tr>
		<tr class="row-1">
			<?php 
        if (ON == config_get('enable_profiles')) {
            ?>
			<td class="small-caption" id="platform_filter_target">
				<?php 
            print_multivalue_field(FILTER_PROPERTY_PLATFORM, $t_filter[FILTER_PROPERTY_PLATFORM]);
            ?>
			</td>
			<td class="small-caption" id="os_filter_target">
				<?php 
            print_multivalue_field(FILTER_PROPERTY_OS, $t_filter[FILTER_PROPERTY_OS]);
            ?>
			</td>
			<td class="small-caption" id="os_build_filter_target">
				<?php 
            print_multivalue_field(FILTER_PROPERTY_OS_BUILD, $t_filter[FILTER_PROPERTY_OS_BUILD]);
            ?>
			</td>
			<?php 
        } else {
            ?>
				<td colspan="3">&#160;</td>
			<?php 
        }
        ?>

			<td class="small-caption" id="tag_string_filter_target" colspan="5">
				<?php 
        $t_tag_string = $t_filter[FILTER_PROPERTY_TAG_STRING];
        if ($t_filter[FILTER_PROPERTY_TAG_SELECT] != 0 && tag_exists($t_filter[FILTER_PROPERTY_TAG_SELECT])) {
            $t_tag_string .= is_blank($t_tag_string) ? '' : config_get('tag_separator');
            $t_tag_string .= tag_get_field($t_filter[FILTER_PROPERTY_TAG_SELECT], 'name');
        }
        echo string_html_entities($t_tag_string);
        echo '<input type="hidden" name="', FILTER_PROPERTY_TAG_STRING, '" value="', string_attribute($t_tag_string), '" />';
        ?>
			</td>
		</tr>
		<?php 
        # get plugin filters
        $t_plugin_filters = filter_get_plugin_filters();
        $t_plugin_filter_links = array();
        $t_plugin_filter_fields = array();
        $t_column_count_by_row = array();
        $t_row = 0;
        foreach ($t_plugin_filters as $t_field_name => $t_filter_object) {
            # be sure the colspan is an integer
            $t_colspan = (int) $t_filter_object->colspan;
            # prevent silliness.
            if ($t_colspan < 0) {
                $t_colspan = abs($t_colspan);
            } else {
                if ($t_colspan > $t_filter_cols) {
                    $t_colspan = $t_filter_cols;
                } else {
                    if ($t_colspan == 0) {
                        $t_colspan = 1;
                    }
                }
            }
            # the row may already have elements in it. find out.
            $t_columns_available = $t_filter_cols - $t_column_count_by_row[$t_row];
            if ($t_columns_available == 0) {
                $t_row++;
            }
            # see if there is room in the current row
            if ($t_columns_available >= $t_colspan) {
                $t_assigned_row = $t_row;
                $t_column_count_by_row[$t_row] += $t_colspan;
            } else {
                $t_is_assigned = false;
                # find a row with space
                foreach ($t_column_count_by_row as $t_row_num => $t_col_count) {
                    if ($t_colspan <= $t_filter_cols - $t_col_count) {
                        $t_assigned_row = $t_row_num;
                        $t_column_count_by_row[$t_row_num] += $t_colspan;
                        $t_is_assigned = true;
                        break;
                    }
                }
                if (!$t_is_assigned) {
                    # no space was found in existing rows. Add a new row for it.
                    $t_assigned_row = count($t_plugin_filter_links);
                    $t_column_count_by_row[$t_assigned_row] = $t_colspan;
                }
            }
            $t_colspan_attr = $t_colspan > 1 ? 'colspan="' . $t_colspan . '" ' : '';
            $t_plugin_filter_links[$t_assigned_row][] = '<td ' . $t_colspan_attr . 'class="small-caption"> <a href="' . $t_filters_url . string_attribute($t_field_name) . '" id="' . string_attribute($t_field_name) . '_filter">' . string_display_line($t_filter_object->title) . '</a> </td>';
            $t_values = '<td ' . $t_colspan_attr . 'class="small-caption" id="' . string_attribute($t_field_name) . '_filter_target"> ';
            if (!isset($t_filter[$t_field_name])) {
                $t_values .= lang_get('any');
            } else {
                switch ($t_filter_object->type) {
                    case FILTER_TYPE_STRING:
                    case FILTER_TYPE_INT:
                        if (filter_field_is_any($t_filter[$t_field_name])) {
                            $t_values .= lang_get('any');
                        } else {
                            $t_values .= string_display_line($t_filter[$t_field_name]);
                        }
                        $t_values .= '<input type="hidden" name="' . string_attribute($t_field_name) . '" value="' . string_attribute($t_filter[$t_field_name]) . '"/>';
                        break;
                    case FILTER_TYPE_BOOLEAN:
                        $t_values .= string_display_line($t_filter_object->display((bool) $t_filter[$t_field_name]));
                        $t_values .= '<input type="hidden" name="' . string_attribute($t_field_name) . '" value="' . (bool) $t_filter[$t_field_name] . '"/>';
                        break;
                    case FILTER_TYPE_MULTI_STRING:
                    case FILTER_TYPE_MULTI_INT:
                        $t_first = true;
                        $t_output = '';
                        if (!is_array($t_filter[$t_field_name])) {
                            $t_filter[$t_field_name] = array($t_filter[$t_field_name]);
                        }
                        foreach ($t_filter[$t_field_name] as $t_current) {
                            if (filter_field_is_any($t_current)) {
                                $t_output .= lang_get('any');
                            } else {
                                $t_output .= ($t_first ? '' : '<br/>') . string_display_line($t_filter_object->display($t_current));
                                $t_first = false;
                            }
                            $t_values .= '<input type="hidden" name="' . string_attribute($t_field_name) . '[]" value="' . string_attribute($t_current) . '"/>';
                        }
                        $t_values .= $t_output;
                        break;
                }
            }
            $t_values .= '</td>';
            $t_plugin_filter_fields[$t_assigned_row][] = $t_values;
        }
        $t_row_count = count($t_plugin_filter_links);
        for ($i = 0; $i < $t_row_count; $i++) {
            if ($t_column_count_by_row[$i] < $t_filter_cols) {
                $t_plugin_filter_links[$i][] = '<td class="small-caption" colspan="' . ($t_filter_cols - $t_column_count_by_row[$i]) . '">&#160;</td>';
                $t_plugin_filter_fields[$i][] = '<td class="small-caption" colspan="' . ($t_filter_cols - $t_column_count_by_row[$i]) . '">&#160;</td>';
            }
            $t_links_row = "\n\t\t" . join("\n\t\t", $t_plugin_filter_links[$i]);
            $t_values_row = "\n\t\t" . join("\n\t\t", $t_plugin_filter_fields[$i]);
            echo "\n\t" . '<tr class="', $t_trclass, '">', $t_links_row, "\n\t</tr>";
            echo "\n\t" . '<tr class="row-1">', $t_values_row, "\n\t</tr>\n\t";
        }
        if (ON == config_get('filter_by_custom_fields')) {
            # -- Custom Field Searching --
            if (count($t_accessible_custom_fields_ids) > 0) {
                $t_per_row = config_get('filter_custom_fields_per_row');
                $t_num_fields = count($t_accessible_custom_fields_ids);
                $t_row_idx = 0;
                $t_col_idx = 0;
                $t_fields = '';
                $t_values = '';
                for ($i = 0; $i < $t_num_fields; $i++) {
                    if ($t_col_idx == 0) {
                        $t_fields = '<tr class="' . $t_trclass . '">';
                        $t_values = '<tr class="row-1">';
                    }
                    if (isset($t_accessible_custom_fields_names[$i])) {
                        $t_fields .= '<td class="small-caption"> ';
                        $t_fields .= '<a href="' . $t_filters_url . 'custom_field_' . $t_accessible_custom_fields_ids[$i] . '[]" id="custom_field_' . $t_accessible_custom_fields_ids[$i] . '_filter"' . $t_dynamic_filter_expander_class . '>';
                        $t_fields .= string_display_line(lang_get_defaulted($t_accessible_custom_fields_names[$i]));
                        $t_fields .= '</a> </td> ';
                    }
                    $t_output = '';
                    $t_any_found = false;
                    $t_values .= '<td class="small-caption" id="custom_field_' . $t_accessible_custom_fields_ids[$i] . '_filter_target"> ';
                    if (!isset($t_filter['custom_fields'][$t_accessible_custom_fields_ids[$i]])) {
                        $t_values .= lang_get('any');
                    } else {
                        if ($t_accessible_custom_fields_types[$i] == CUSTOM_FIELD_TYPE_DATE) {
                            $t_short_date_format = config_get('short_date_format');
                            if (!isset($t_filter['custom_fields'][$t_accessible_custom_fields_ids[$i]][1])) {
                                $t_filter['custom_fields'][$t_accessible_custom_fields_ids[$i]][1] = 0;
                            }
                            $t_start = date($t_short_date_format, $t_filter['custom_fields'][$t_accessible_custom_fields_ids[$i]][1]);
                            if (!isset($t_filter['custom_fields'][$t_accessible_custom_fields_ids[$i]][2])) {
                                $t_filter['custom_fields'][$t_accessible_custom_fields_ids[$i]][2] = 0;
                            }
                            $t_end = date($t_short_date_format, $t_filter['custom_fields'][$t_accessible_custom_fields_ids[$i]][2]);
                            switch ($t_filter['custom_fields'][$t_accessible_custom_fields_ids[$i]][0]) {
                                case CUSTOM_FIELD_DATE_ANY:
                                    $t_values .= lang_get('any');
                                    break;
                                case CUSTOM_FIELD_DATE_NONE:
                                    $t_values .= lang_get('none');
                                    break;
                                case CUSTOM_FIELD_DATE_BETWEEN:
                                    $t_values .= lang_get('between_date') . '<br />';
                                    $t_values .= $t_start . '<br />' . $t_end;
                                    break;
                                case CUSTOM_FIELD_DATE_ONORBEFORE:
                                    $t_values .= lang_get('on_or_before_date') . '<br />';
                                    $t_values .= $t_end;
                                    break;
                                case CUSTOM_FIELD_DATE_BEFORE:
                                    $t_values .= lang_get('before_date') . '<br />';
                                    $t_values .= $t_end;
                                    break;
                                case CUSTOM_FIELD_DATE_ON:
                                    $t_values .= lang_get('on_date') . '<br />';
                                    $t_values .= $t_start;
                                    break;
                                case CUSTOM_FIELD_DATE_AFTER:
                                    $t_values .= lang_get('after_date') . '<br />';
                                    $t_values .= $t_start;
                                    break;
                                case CUSTOM_FIELD_DATE_ONORAFTER:
                                    $t_values .= lang_get('on_or_after_date') . '<br />';
                                    $t_values .= $t_start;
                                    break;
                            }
                        } else {
                            $t_first_flag = true;
                            foreach ($t_filter['custom_fields'][$t_accessible_custom_fields_ids[$i]] as $t_current) {
                                $t_current = stripslashes($t_current);
                                $t_this_string = '';
                                if (filter_field_is_any($t_current)) {
                                    $t_any_found = true;
                                } else {
                                    if (filter_field_is_none($t_current)) {
                                        $t_this_string = lang_get('none');
                                    } else {
                                        $t_this_string = $t_current;
                                    }
                                }
                                if ($t_first_flag != true) {
                                    $t_output = $t_output . '<br />';
                                } else {
                                    $t_first_flag = false;
                                }
                                $t_output = $t_output . string_display_line($t_this_string);
                                $t_values .= '<input type="hidden" name="custom_field_' . $t_accessible_custom_fields_ids[$i] . '[]" value="' . string_attribute($t_current) . '" />';
                            }
                        }
                        if (true == $t_any_found) {
                            $t_values .= lang_get('any');
                        } else {
                            $t_values .= $t_output;
                        }
                    }
                    $t_values .= ' </td>';
                    $t_col_idx++;
                    if ($t_col_idx == $t_per_row) {
                        if ($t_filter_cols > $t_per_row) {
                            $t_fields .= '<td colspan="' . ($t_filter_cols - $t_per_row) . '">&#160;</td> ';
                            $t_values .= '<td colspan="' . ($t_filter_cols - $t_per_row) . '">&#160;</td> ';
                        }
                        $t_fields .= '</tr>' . "\n";
                        $t_values .= '</tr>' . "\n";
                        echo $t_fields;
                        echo $t_values;
                        $t_col_idx = 0;
                        $t_row_idx++;
                    }
                }
                if ($t_col_idx > 0) {
                    if ($t_col_idx < $t_per_row) {
                        $t_fields .= '<td colspan="' . ($t_per_row - $t_col_idx) . '">&#160;</td> ';
                        $t_values .= '<td colspan="' . ($t_per_row - $t_col_idx) . '">&#160;</td> ';
                    }
                    if ($t_filter_cols > $t_per_row) {
                        $t_fields .= '<td colspan="' . ($t_filter_cols - $t_per_row) . '">&#160;</td> ';
                        $t_values .= '<td colspan="' . ($t_filter_cols - $t_per_row) . '">&#160;</td> ';
                    }
                    $t_fields .= '</tr>' . "\n";
                    $t_values .= '</tr>' . "\n";
                    echo $t_fields;
                    echo $t_values;
                }
            }
        }
        ?>
		<tr class="row-1">
			<td class="small-caption category2">
				<a href="<?php 
        echo $t_filters_url . FILTER_PROPERTY_NOTE_USER_ID;
        ?>
" id="note_user_id_filter"<?php 
        echo $t_dynamic_filter_expander_class;
        ?>
>
					<?php 
        echo lang_get('note_user_id_label');
        ?>
				</a>
			</td>
			<td class="small-caption" id="note_user_id_filter_target">
				<?php 
        $t_output = '';
        $t_any_found = false;
        if (count($t_filter[FILTER_PROPERTY_NOTE_USER_ID]) == 0) {
            echo lang_get('any');
        } else {
            $t_first_flag = true;
            foreach ($t_filter[FILTER_PROPERTY_NOTE_USER_ID] as $t_current) {
                echo '<input type="hidden" name="', FILTER_PROPERTY_NOTE_USER_ID, '[]" value="', string_attribute($t_current), '" />';
                $t_this_name = '';
                if (filter_field_is_none($t_current)) {
                    $t_this_name = lang_get('none');
                } else {
                    if (filter_field_is_any($t_current)) {
                        $t_any_found = true;
                    } else {
                        if (filter_field_is_myself($t_current)) {
                            if (access_has_project_level(config_get('handle_bug_threshold'))) {
                                $t_this_name = '[' . lang_get('myself') . ']';
                            } else {
                                $t_any_found = true;
                            }
                        } else {
                            $t_this_name = user_get_name($t_current);
                        }
                    }
                }
                if ($t_first_flag != true) {
                    $t_output = $t_output . '<br />';
                } else {
                    $t_first_flag = false;
                }
                $t_output = $t_output . string_display_line($t_this_name);
            }
            if (true == $t_any_found) {
                echo lang_get('any');
            } else {
                echo $t_output;
            }
        }
        ?>
			</td>

			<!-- Sort by -->
			<td class="small-caption category2">
				<a href="<?php 
        echo $t_filters_url . 'show_sort';
        ?>
" id="show_sort_filter"<?php 
        echo $t_dynamic_filter_expander_class;
        ?>
>
					<?php 
        echo lang_get('sort_label');
        ?>
				</a>
			</td>
			<td class="small-caption" id="show_sort_filter_target">
				<?php 
        $t_sort_fields = explode(',', $t_filter[FILTER_PROPERTY_SORT_FIELD_NAME]);
        $t_dir_fields = explode(',', $t_filter[FILTER_PROPERTY_SORT_DIRECTION]);
        for ($i = 0; $i < 2; $i++) {
            if (isset($t_sort_fields[$i])) {
                if (0 < $i) {
                    echo ', ';
                }
                $t_sort = $t_sort_fields[$i];
                if (strpos($t_sort, 'custom_') === 0) {
                    $t_field_name = string_display(lang_get_defaulted(utf8_substr($t_sort, utf8_strlen('custom_'))));
                } else {
                    $t_field_name = string_get_field_name($t_sort);
                }
                echo $t_field_name . ' ' . lang_get('bugnote_order_' . utf8_strtolower($t_dir_fields[$i]));
                echo '<input type="hidden" name="', FILTER_PROPERTY_SORT_FIELD_NAME, '_', $i, '" value="', string_attribute($t_sort_fields[$i]), '" />';
                echo '<input type="hidden" name="', FILTER_PROPERTY_SORT_DIRECTION, '_', $i, '" value="', string_attribute($t_dir_fields[$i]), '" />';
            }
        }
        ?>
			</td>
<?php 
        if ('advanced' == $t_view_type) {
            ?>
			<!-- Project -->
			<td class="small-caption category2" colspan="2">
				<a href="<?php 
            echo $t_filters_url . FILTER_PROPERTY_PROJECT_ID;
            ?>
" id="project_id_filter"<?php 
            echo $t_dynamic_filter_expander_class;
            ?>
>
					<?php 
            echo lang_get('email_project_label');
            ?>
				</a>
			</td>
			<td class="small-caption" id="project_id_filter_target">
<?php 
            $t_output = '';
            if (!is_array($t_filter[FILTER_PROPERTY_PROJECT_ID])) {
                $t_filter[FILTER_PROPERTY_PROJECT_ID] = array($t_filter[FILTER_PROPERTY_PROJECT_ID]);
            }
            if (count($t_filter[FILTER_PROPERTY_PROJECT_ID]) == 0) {
                echo lang_get('current');
            } else {
                $t_first_flag = true;
                foreach ($t_filter[FILTER_PROPERTY_PROJECT_ID] as $t_current) {
                    echo '<input type="hidden" name="', FILTER_PROPERTY_PROJECT_ID, '[]" value="', string_attribute($t_current), '" />';
                    $t_this_name = '';
                    if (META_FILTER_CURRENT == $t_current) {
                        $t_this_name = '[' . lang_get('current') . ']';
                    } else {
                        $t_this_name = project_get_name($t_current, false);
                    }
                    if ($t_first_flag != true) {
                        $t_output = $t_output . '<br />';
                    } else {
                        $t_first_flag = false;
                    }
                    $t_output = $t_output . string_display_line($t_this_name);
                }
                echo $t_output;
            }
            ?>
			</td>
<?php 
            if ($t_filter_cols > 6) {
                echo '<td class="small-caption" colspan="' . ($t_filter_cols - 5) . '">&#160;</td>';
            }
        } else {
            if ($t_filter_cols > 3) {
                echo '<td class="small-caption" colspan="' . ($t_filter_cols - 2) . '">&#160;</td>';
            }
        }
        ?>
		</tr>

		<!-- Match Type -->
		<tr class="row-1">
			<td class="small-caption category2"><a href="<?php 
        echo $t_filters_url . FILTER_PROPERTY_MATCH_TYPE;
        ?>
" id="match_type_filter"><?php 
        echo lang_get('filter_match_type');
        ?>
:</a></td>
			<td class="small-caption" id="match_type_filter_target">
			<?php 
        switch ($t_filter[FILTER_PROPERTY_MATCH_TYPE]) {
            case FILTER_MATCH_ANY:
                echo lang_get('filter_match_any');
                break;
            case FILTER_MATCH_ALL:
            default:
                echo lang_get('filter_match_all');
                break;
        }
        ?>
			<input type="hidden" name="match_type" value="<?php 
        echo $t_filter[FILTER_PROPERTY_MATCH_TYPE];
        ?>
"/>
			</td>

			<td class="small-caption category2">
				<a id="highlight_changed_filter"
					href="<?php 
        echo $t_filters_url . FILTER_PROPERTY_HIGHLIGHT_CHANGED;
        ?>
"
					<?php 
        #echo $t_dynamic_filter_expander_class;
        ?>
>
					<?php 
        echo lang_get('changed_label');
        ?>
				</a>
			</td>
			<td class="small-caption" valign="top" id="highlight_changed_filter_target">
				<?php 
        echo $t_filter[FILTER_PROPERTY_HIGHLIGHT_CHANGED];
        ?>
				<input type="hidden"
					name="<?php 
        echo FILTER_PROPERTY_HIGHLIGHT_CHANGED;
        ?>
"
					value="<?php 
        echo string_attribute($t_filter[FILTER_PROPERTY_HIGHLIGHT_CHANGED]);
        ?>
"
				/>
			</td>

			<td colspan="4">&#160;</td>
		</tr>
	</table>
		<?php 
    }
    # expanded
    collapse_icon('filter');
    echo '<div class="search-box">';
    echo '<label>';
    echo lang_get('search') . '&#160;';
    echo '<input type="text" size="16" name="', FILTER_PROPERTY_SEARCH, '" value="', string_attribute($t_filter[FILTER_PROPERTY_SEARCH]), '" />';
    echo '</label>';
    echo '</div>';
    ?>
	<div class="submit-query"><input type="submit" name="filter" value="<?php 
    echo lang_get('filter_button');
    ?>
" /></div>
	</form>
	<?php 
    $t_stored_queries_arr = filter_db_get_available_queries();
    if (access_has_project_level(config_get('stored_query_create_threshold'))) {
        ?>
	<div class="save-query">
		<form method="post" name="save_query" action="query_store_page.php">
			<?php 
        # CSRF protection not required here - form does not result in modifications
        ?>
			<input type="submit" name="save_query_button" class="button-small" value="<?php 
        echo lang_get('save_query');
        ?>
" />
		</form>
	</div><?php 
    }
    if (count($t_stored_queries_arr) > 0) {
        ?>
	<div class="manage-queries">
		<form method="post" name="open_queries" action="query_view_page.php">
			<?php 
        # CSRF protection not required here - form does not result in modifications
        ?>
			<input type="submit" name="switch_to_query_button" class="button-small" value="<?php 
        echo lang_get('open_queries');
        ?>
" />
		</form>
	</div>
	<div class="stored-queries">
		<form method="get" name="list_queries<?php 
        echo $t_form_name_suffix;
        ?>
" action="view_all_set.php">
			<?php 
        # CSRF protection not required here - form does not result in modifications
        ?>
			<input type="hidden" name="type" value="3" />
			<select name="source_query_id">
				<option value="-1"><?php 
        echo '[' . lang_get('reset_query') . ']';
        ?>
</option>
				<option value="-1"></option>
				<?php 
        $t_source_query_id = isset($t_filter['_source_query_id']) ? (int) $t_filter['_source_query_id'] : -1;
        foreach ($t_stored_queries_arr as $t_query_id => $t_query_name) {
            echo '<option value="' . $t_query_id . '" ';
            check_selected($t_query_id, $t_source_query_id);
            echo '>' . string_display_line($t_query_name) . '</option>';
        }
        ?>
			</select>
			<input type="submit" name="switch_to_query_button" class="button-small" value="<?php 
        echo lang_get('use_query');
        ?>
" />
		</form>
	</div> <?php 
    } else {
        ?>
	<div class="reset-query">
		<form method="get" name="reset_query" action="view_all_set.php">
			<?php 
        # CSRF protection not required here - form does not result in modifications
        ?>
			<input type="hidden" name="type" value="3" />
			<input type="hidden" name="source_query_id" value="-1" />
			<input type="submit" name="reset_query_button" class="button-small" value="<?php 
        echo lang_get('reset_query');
        ?>
" />
		</form>
	</div><?php 
    }
    ?>

	<div class="filter-links">
		<?php 
    if (access_has_project_level(config_get('create_permalink_threshold'))) {
        ?>
			<form method="get" action="permalink_page.php">
				<?php 
        # CSRF protection not required here - form does not result in modifications
        ?>
				<input type="hidden" name="url" value="<?php 
        echo urlencode(filter_get_url($t_filter));
        ?>
" />
				<input type="submit" name="reset_query_button" class="button-small" value="<?php 
        echo lang_get('create_filter_link');
        ?>
" />
			</form>
			<?php 
    }
    $t_view_filters = config_get('view_filters');
    if (SIMPLE_ONLY != $t_view_filters && ADVANCED_ONLY != $t_view_filters) {
        ?>
			<form method="get" action="view_all_set.php">
				<?php 
        # CSRF protection not required here - form does not result in modifications
        ?>
				<input type="hidden" name="type" value="<?php 
        echo config_get('use_dynamic_filters') ? '6' : '';
        ?>
" />
				<input type="hidden" name="view_type" value="<?php 
        echo 'advanced' == $t_view_type ? 'simple' : 'advanced';
        ?>
" />
				<input type="submit" name="reset_query_button" class="button-small" value="<?php 
        echo 'advanced' == $t_view_type ? lang_get('simple_filters') : lang_get('advanced_filters');
        ?>
" />
			</form>
			<?php 
    }
    ?>
	</div>

	</div>
	<br />
<?php 
}
Exemplo n.º 9
0
/**
 *  Prints the filter selection area for both the bug list view screen and
 *  the bug list print screen. This function was an attempt to make it easier to
 *  add new filters and rearrange them on screen for both pages.
 * @param int $p_page_number
 * @param bool $p_for_screen
 * @param bool $p_expanded
 */
function filter_draw_selection_area2($p_page_number, $p_for_screen = true, $p_expanded = true)
{
    $t_form_name_suffix = $p_expanded ? '_open' : '_closed';
    $t_filter = current_user_get_bug_filter();
    $t_filter = filter_ensure_valid_filter($t_filter);
    $t_project_id = helper_get_current_project();
    $t_page_number = (int) $p_page_number;
    $t_view_type = $t_filter['_view_type'];
    $t_tdclass = 'small-caption';
    $t_trclass = 'row-category2';
    $t_action = 'view_all_set.php?f=3';
    if ($p_for_screen == false) {
        $t_tdclass = 'print';
        $t_trclass = '';
        $t_action = 'view_all_set.php';
    }
    ?>

		<br />
		<form method="post" name="filters<?php 
    echo $t_form_name_suffix;
    ?>
" id="filters_form<?php 
    echo $t_form_name_suffix;
    ?>
" action="<?php 
    echo $t_action;
    ?>
">
		<?php 
    # CSRF protection not required here - form does not result in modifications
    ?>
		<input type="hidden" name="type" value="1" />
		<?php 
    if ($p_for_screen == false) {
        echo '<input type="hidden" name="print" value="1" />';
        echo '<input type="hidden" name="offset" value="0" />';
    }
    ?>
		<input type="hidden" name="page_number" value="<?php 
    echo $t_page_number;
    ?>
" />
		<input type="hidden" name="view_type" value="<?php 
    echo $t_view_type;
    ?>
" />
		<table class="width100" cellspacing="1">

		<?php 
    $t_filter_cols = config_get('filter_custom_fields_per_row');
    if ($p_expanded) {
        $t_custom_cols = $t_filter_cols;
        $t_current_user_access_level = current_user_get_access_level();
        $t_accessible_custom_fields_ids = array();
        $t_accessible_custom_fields_names = array();
        $t_accessible_custom_fields_values = array();
        $t_num_custom_rows = 0;
        $t_per_row = 0;
        if (ON == config_get('filter_by_custom_fields')) {
            $t_custom_fields = custom_field_get_linked_ids($t_project_id);
            foreach ($t_custom_fields as $t_cfid) {
                $t_field_info = custom_field_cache_row($t_cfid, true);
                if ($t_field_info['access_level_r'] <= $t_current_user_access_level && $t_field_info['filter_by']) {
                    $t_accessible_custom_fields_ids[] = $t_cfid;
                    $t_accessible_custom_fields_names[] = $t_field_info['name'];
                    $t_accessible_custom_fields_types[] = $t_field_info['type'];
                    $t_accessible_custom_fields_values[] = custom_field_distinct_values($t_field_info);
                }
            }
            if (count($t_accessible_custom_fields_ids) > 0) {
                $t_per_row = config_get('filter_custom_fields_per_row');
                $t_num_custom_rows = ceil(count($t_accessible_custom_fields_ids) / $t_per_row);
            }
        }
        $t_filters_url = 'view_filters_page.php?for_screen=' . $p_for_screen;
        if ('advanced' == $t_view_type) {
            $t_filters_url = $t_filters_url . '&amp;view_type=advanced';
        }
        $t_filters_url = $t_filters_url . '&amp;target_field=';
        $t_show_product_version = version_should_show_product_version($t_project_id);
        $t_show_build = $t_show_product_version && config_get('enable_product_build') == ON;
        # overload handler_id setting if user isn't supposed to see them (ref #6189)
        if (!access_has_project_level(config_get('view_handler_threshold'), $t_project_id)) {
            $t_filter[FILTER_PROPERTY_HANDLER_ID] = array(META_FILTER_ANY);
        }
        ?>

		<tr <?php 
        echo "class=\"" . $t_trclass . "\"";
        ?>
>
			<td class="small-caption" valign="top">
				<a href="<?php 
        echo $t_filters_url . FILTER_PROPERTY_REPORTER_ID . '[]';
        ?>
" id="reporter_id_filter"><?php 
        echo lang_get('reporter');
        ?>
:</a>
			</td>
			<td class="small-caption" valign="top">
				<a href="<?php 
        echo $t_filters_url . FILTER_PROPERTY_MONITOR_USER_ID . '[]';
        ?>
" id="user_monitor_filter"><?php 
        echo lang_get('monitored_by');
        ?>
:</a>
			</td>
			<td class="small-caption" valign="top">
				<a href="<?php 
        echo $t_filters_url . FILTER_PROPERTY_HANDLER_ID . '[]';
        ?>
" id="handler_id_filter"><?php 
        echo lang_get('assigned_to');
        ?>
:</a>
			</td>
			<td colspan="2" class="small-caption" valign="top">
				<a href="<?php 
        echo $t_filters_url . FILTER_PROPERTY_CATEGORY . '[]';
        ?>
" id="show_category_filter"><?php 
        echo lang_get('category');
        ?>
:</a>
			</td>
			<td class="small-caption" valign="top">
				<a href="<?php 
        echo $t_filters_url . FILTER_PROPERTY_SEVERITY_ID . '[]';
        ?>
" id="show_severity_filter"><?php 
        echo lang_get('severity');
        ?>
:</a>
			</td>
			<td class="small-caption" valign="top">
				<a href="<?php 
        echo $t_filters_url . FILTER_PROPERTY_RESOLUTION_ID . '[]';
        ?>
" id="show_resolution_filter"><?php 
        echo lang_get('resolution');
        ?>
:</a>
			</td>
			<td class="small-caption" valign="top">
				<?php 
        if (ON == config_get('enable_profiles')) {
            ?>
					<a href="<?php 
            echo $t_filters_url . 'show_profile[]';
            ?>
" id="show_profile_filter"><?php 
            echo lang_get('profile');
            ?>
:</a>
				<?php 
        }
        ?>
			</td>
			<?php 
        if ($t_filter_cols > 8) {
            echo '<td class="small-caption" valign="top" colspan="' . ($t_filter_cols - 8) . '">&#160;</td>';
        }
        ?>
		</tr>

		<tr class="row-1">
			<td class="small-caption" valign="top" id="reporter_id_filter_target">
							<?php 
        $t_output = '';
        $t_any_found = false;
        if (count($t_filter[FILTER_PROPERTY_REPORTER_ID]) == 0) {
            echo lang_get('any');
        } else {
            $t_first_flag = true;
            foreach ($t_filter[FILTER_PROPERTY_REPORTER_ID] as $t_current) {
                $t_this_name = '';
                echo '<input type="hidden" name="', FILTER_PROPERTY_REPORTER_ID, '[]" value="', string_attribute($t_current), '" />';
                if (filter_field_is_any($t_current)) {
                    $t_any_found = true;
                } else {
                    if (filter_field_is_myself($t_current)) {
                        if (access_has_project_level(config_get('report_bug_threshold'))) {
                            $t_this_name = '[' . lang_get('myself') . ']';
                        } else {
                            $t_any_found = true;
                        }
                    } else {
                        if (filter_field_is_none($t_current)) {
                            $t_this_name = lang_get('none');
                        } else {
                            $t_this_name = user_get_name($t_current);
                        }
                    }
                }
                if ($t_first_flag != true) {
                    $t_output = $t_output . '<br />';
                } else {
                    $t_first_flag = false;
                }
                $t_output = $t_output . string_display_line($t_this_name);
            }
            if (true == $t_any_found) {
                echo lang_get('any');
            } else {
                echo $t_output;
            }
        }
        ?>
			</td>
			<td class="small-caption" valign="top" id="user_monitor_filter_target">
							<?php 
        $t_output = '';
        $t_any_found = false;
        if (count($t_filter[FILTER_PROPERTY_MONITOR_USER_ID]) == 0) {
            echo lang_get('any');
        } else {
            $t_first_flag = true;
            foreach ($t_filter[FILTER_PROPERTY_MONITOR_USER_ID] as $t_current) {
                echo '<input type="hidden" name="', FILTER_PROPERTY_MONITOR_USER_ID, '[]" value="', string_attribute($t_current), '" />';
                $t_this_name = '';
                if (filter_field_is_any($t_current)) {
                    $t_any_found = true;
                } else {
                    if (filter_field_is_myself($t_current)) {
                        if (access_has_project_level(config_get('monitor_bug_threshold'))) {
                            $t_this_name = '[' . lang_get('myself') . ']';
                        } else {
                            $t_any_found = true;
                        }
                    } else {
                        $t_this_name = user_get_name($t_current);
                    }
                }
                if ($t_first_flag != true) {
                    $t_output = $t_output . '<br />';
                } else {
                    $t_first_flag = false;
                }
                $t_output = $t_output . string_display_line($t_this_name);
            }
            if (true == $t_any_found) {
                echo lang_get('any');
            } else {
                echo string_display($t_output);
            }
        }
        ?>
			</td>
			<td class="small-caption" valign="top" id="handler_id_filter_target">
							<?php 
        $t_output = '';
        $t_any_found = false;
        if (count($t_filter[FILTER_PROPERTY_HANDLER_ID]) == 0) {
            echo lang_get('any');
        } else {
            $t_first_flag = true;
            foreach ($t_filter[FILTER_PROPERTY_HANDLER_ID] as $t_current) {
                echo '<input type="hidden" name="', FILTER_PROPERTY_HANDLER_ID, '[]" value="', string_attribute($t_current), '" />';
                $t_this_name = '';
                if (filter_field_is_none($t_current)) {
                    $t_this_name = lang_get('none');
                } else {
                    if (filter_field_is_any($t_current)) {
                        $t_any_found = true;
                    } else {
                        if (filter_field_is_myself($t_current)) {
                            if (access_has_project_level(config_get('handle_bug_threshold'))) {
                                $t_this_name = '[' . lang_get('myself') . ']';
                            } else {
                                $t_any_found = true;
                            }
                        } else {
                            $t_this_name = user_get_name($t_current);
                        }
                    }
                }
                if ($t_first_flag != true) {
                    $t_output = $t_output . '<br />';
                } else {
                    $t_first_flag = false;
                }
                $t_output = $t_output . string_display_line($t_this_name);
            }
            if (true == $t_any_found) {
                echo lang_get('any');
            } else {
                echo string_display($t_output);
            }
        }
        ?>
			</td>
			<td colspan="2" class="small-caption" valign="top" id="show_category_filter_target">
							<?php 
        $t_output = '';
        $t_any_found = false;
        if (count($t_filter[FILTER_PROPERTY_CATEGORY]) == 0) {
            echo lang_get('any');
        } else {
            $t_first_flag = true;
            foreach ($t_filter[FILTER_PROPERTY_CATEGORY] as $t_current) {
                echo '<input type="hidden" name="', FILTER_PROPERTY_CATEGORY, '[]" value="', string_attribute($t_current), '" />';
                $t_this_string = '';
                if (filter_field_is_any($t_current)) {
                    $t_any_found = true;
                } else {
                    $t_this_string = $t_current;
                }
                if ($t_first_flag != true) {
                    $t_output = $t_output . '<br />';
                } else {
                    $t_first_flag = false;
                }
                $t_output = $t_output . string_display_line($t_this_string);
            }
            if (true == $t_any_found) {
                echo lang_get('any');
            } else {
                echo $t_output;
            }
        }
        ?>
			</td>
			<td class="small-caption" valign="top" id="show_severity_filter_target">
							<?php 
        $t_output = '';
        $t_any_found = false;
        if (count($t_filter[FILTER_PROPERTY_SEVERITY_ID]) == 0) {
            echo lang_get('any');
        } else {
            $t_first_flag = true;
            foreach ($t_filter[FILTER_PROPERTY_SEVERITY_ID] as $t_current) {
                echo '<input type="hidden" name="', FILTER_PROPERTY_SEVERITY_ID, '[]" value="', string_attribute($t_current), '" />';
                $t_this_string = '';
                if (filter_field_is_any($t_current)) {
                    $t_any_found = true;
                } else {
                    $t_this_string = get_enum_element('severity', $t_current);
                }
                if ($t_first_flag != true) {
                    $t_output = $t_output . '<br />';
                } else {
                    $t_first_flag = false;
                }
                $t_output = $t_output . string_display_line($t_this_string);
            }
            if (true == $t_any_found) {
                echo lang_get('any');
            } else {
                echo $t_output;
            }
        }
        ?>
			</td>
			<td class="small-caption" valign="top" id="show_resolution_filter_target">
							<?php 
        $t_output = '';
        $t_any_found = false;
        if (count($t_filter[FILTER_PROPERTY_RESOLUTION_ID]) == 0) {
            echo lang_get('any');
        } else {
            $t_first_flag = true;
            foreach ($t_filter[FILTER_PROPERTY_RESOLUTION_ID] as $t_current) {
                ?>
										<input type="hidden" name="show_resolution[]" value="<?php 
                echo string_attribute($t_current);
                ?>
" />
										<?php 
                $t_this_string = '';
                if (filter_field_is_any($t_current)) {
                    $t_any_found = true;
                } else {
                    $t_this_string = get_enum_element('resolution', $t_current);
                }
                if ($t_first_flag != true) {
                    $t_output = $t_output . '<br />';
                } else {
                    $t_first_flag = false;
                }
                $t_output = $t_output . string_display_line($t_this_string);
            }
            if (true == $t_any_found) {
                echo lang_get('any');
            } else {
                echo $t_output;
            }
        }
        ?>
			</td>
			<?php 
        if (ON == config_get('enable_profiles')) {
            ?>
			<td class="small-caption" valign="top" id="show_profile_filter_target">
							<?php 
            $t_output = '';
            $t_any_found = false;
            if (count($t_filter['show_profile']) == 0) {
                echo lang_get('any');
            } else {
                $t_first_flag = true;
                foreach ($t_filter['show_profile'] as $t_current) {
                    ?>
										<input type="hidden" name="show_profile[]" value="<?php 
                    echo string_attribute($t_current);
                    ?>
" />
										<?php 
                    $t_this_string = '';
                    if (filter_field_is_any($t_current)) {
                        $t_any_found = true;
                    } else {
                        $t_profile = profile_get_row_direct($t_current);
                        $t_this_string = "{$t_profile['platform']} {$t_profile['os']} {$t_profile['os_build']}";
                    }
                    if ($t_first_flag != true) {
                        $t_output = $t_output . '<br />';
                    } else {
                        $t_first_flag = false;
                    }
                    $t_output = $t_output . string_display_line($t_this_string);
                }
                if (true == $t_any_found) {
                    echo lang_get('any');
                } else {
                    echo $t_output;
                }
            }
            ?>
			</td>
			<?php 
        } else {
            ?>
				<td></td>
			<?php 
        }
        if ($t_filter_cols > 8) {
            echo '<td class="small-caption" valign="top" colspan="' . ($t_filter_cols - 8) . '">&#160;</td>';
        }
        ?>
			</tr>

		<tr <?php 
        echo "class=\"" . $t_trclass . "\"";
        ?>
>
			<td class="small-caption" valign="top">
				<a href="<?php 
        echo $t_filters_url . FILTER_PROPERTY_STATUS_ID . '[]';
        ?>
" id="show_status_filter"><?php 
        echo lang_get('status');
        ?>
:</a>
			</td>
			<td class="small-caption" valign="top">
				<?php 
        if ('simple' == $t_view_type) {
            ?>
					<a href="<?php 
            echo $t_filters_url . FILTER_PROPERTY_HIDE_STATUS_ID . '[]';
            ?>
" id="hide_status_filter"><?php 
            echo lang_get('hide_status');
            ?>
:</a>
				<?php 
        }
        ?>
			</td>
			<td class="small-caption" valign="top">
			<?php 
        if ($t_show_build) {
            ?>
				<a href="<?php 
            echo $t_filters_url . FILTER_PROPERTY_PRODUCT_BUILD . '[]';
            ?>
" id="show_build_filter"><?php 
            echo lang_get('product_build');
            ?>
:</a>
			<?php 
        }
        ?>
			</td>
			<?php 
        if ($t_show_product_version) {
            ?>
			<td colspan="2" class="small-caption" valign="top">
				<a href="<?php 
            echo $t_filters_url . FILTER_PROPERTY_PRODUCT_VERSION . '[]';
            ?>
" id="show_version_filter"><?php 
            echo lang_get('product_version');
            ?>
:</a>
			</td>
			<td colspan="1" class="small-caption" valign="top">
				<a href="<?php 
            echo $t_filters_url . FILTER_PROPERTY_FIXED_IN_VERSION . '[]';
            ?>
" id="show_fixed_in_version_filter"><?php 
            echo lang_get('fixed_in_version');
            ?>
:</a>
			</td>
			<td colspan="1" class="small-caption" valign="top">
				<a href="<?php 
            echo $t_filters_url . FILTER_PROPERTY_TARGET_VERSION . '[]';
            ?>
" id="show_target_version_filter"><?php 
            echo lang_get('target_version');
            ?>
:</a>
			</td>
			<?php 
        } else {
            ?>
			<td colspan="2" class="small-caption" valign="top">
				&#160;
			</td>
			<td colspan="1" class="small-caption" valign="top">
				&#160;
			</td>
			<td colspan="1" class="small-caption" valign="top">
				&nbsp;
			</td>
			<?php 
        }
        ?>
			<td colspan="1" class="small-caption" valign="top">
				<a href="<?php 
        echo $t_filters_url . FILTER_PROPERTY_PRIORITY_ID . '[]';
        ?>
" id="show_priority_filter"><?php 
        echo lang_get('priority');
        ?>
:</a>
			</td>
			<?php 
        if ($t_filter_cols > 8) {
            echo '<td class="small-caption" valign="top" colspan="' . ($t_filter_cols - 7) . '">&#160;</td>';
        }
        ?>
		</tr>

		<tr class="row-1">
			<td class="small-caption" valign="top" id="show_status_filter_target">
							<?php 
        $t_output = '';
        $t_any_found = false;
        if (count($t_filter[FILTER_PROPERTY_STATUS_ID]) == 0) {
            echo lang_get('any');
        } else {
            $t_first_flag = true;
            foreach ($t_filter[FILTER_PROPERTY_STATUS_ID] as $t_current) {
                echo '<input type="hidden" name="', FILTER_PROPERTY_STATUS_ID, '[]" value="', string_attribute($t_current), '" />';
                $t_this_string = '';
                if (filter_field_is_any($t_current)) {
                    $t_any_found = true;
                } else {
                    $t_this_string = get_enum_element('status', $t_current);
                }
                if ($t_first_flag != true) {
                    $t_output = $t_output . '<br />';
                } else {
                    $t_first_flag = false;
                }
                $t_output = $t_output . string_display_line($t_this_string);
            }
            if (true == $t_any_found) {
                echo lang_get('any');
            } else {
                echo $t_output;
            }
        }
        ?>
			</td>
			<td class="small-caption" valign="top" id="hide_status_filter_target">
							<?php 
        if ('simple' == $t_view_type) {
            $t_output = '';
            $t_none_found = false;
            if (count($t_filter[FILTER_PROPERTY_HIDE_STATUS_ID]) == 0) {
                echo lang_get('none');
            } else {
                $t_first_flag = true;
                foreach ($t_filter[FILTER_PROPERTY_HIDE_STATUS_ID] as $t_current) {
                    echo '<input type="hidden" name="', FILTER_PROPERTY_HIDE_STATUS_ID, '[]" value="', string_attribute($t_current), '" />';
                    $t_this_string = '';
                    if (filter_field_is_none($t_current)) {
                        $t_none_found = true;
                    } else {
                        $t_this_string = get_enum_element('status', $t_current);
                    }
                    if ($t_first_flag != true) {
                        $t_output = $t_output . '<br />';
                    } else {
                        $t_first_flag = false;
                    }
                    $t_output = $t_output . string_display_line($t_this_string);
                }
                $t_hide_status_post = '';
                if (count($t_filter[FILTER_PROPERTY_HIDE_STATUS_ID]) == 1) {
                    $t_hide_status_post = ' (' . lang_get('and_above') . ')';
                }
                if (true == $t_none_found) {
                    echo lang_get('none');
                } else {
                    echo $t_output . string_display_line($t_hide_status_post);
                }
            }
        }
        ?>
			</td>
			<?php 
        if ($t_show_build) {
            ?>
			<td class="small-caption" valign="top" id="show_build_filter_target">
							<?php 
            $t_output = '';
            $t_any_found = false;
            if (count($t_filter[FILTER_PROPERTY_PRODUCT_BUILD]) == 0) {
                echo lang_get('any');
            } else {
                $t_first_flag = true;
                foreach ($t_filter[FILTER_PROPERTY_PRODUCT_BUILD] as $t_current) {
                    $t_current = stripslashes($t_current);
                    echo '<input type="hidden" name="', FILTER_PROPERTY_PRODUCT_BUILD, '[]" value="', string_attribute($t_current), '" />';
                    $t_this_string = '';
                    if (filter_field_is_any($t_current)) {
                        $t_any_found = true;
                    } else {
                        if (filter_field_is_none($t_current)) {
                            $t_this_string = lang_get('none');
                        } else {
                            $t_this_string = $t_current;
                        }
                    }
                    if ($t_first_flag != true) {
                        $t_output = $t_output . '<br />';
                    } else {
                        $t_first_flag = false;
                    }
                    $t_output = $t_output . string_display_line($t_this_string);
                }
                if (true == $t_any_found) {
                    echo lang_get('any');
                } else {
                    echo $t_output;
                }
            }
            ?>
			</td>
			<?php 
        } else {
            ?>
			<td class="small-caption" valign="top"></td>
			<?php 
        }
        if ($t_show_product_version) {
            ?>
			<td colspan="2" class="small-caption" valign="top" id="show_version_filter_target">
							<?php 
            $t_output = '';
            $t_any_found = false;
            if (count($t_filter[FILTER_PROPERTY_PRODUCT_VERSION]) == 0) {
                echo lang_get('any');
            } else {
                $t_first_flag = true;
                foreach ($t_filter[FILTER_PROPERTY_PRODUCT_VERSION] as $t_current) {
                    $t_current = stripslashes($t_current);
                    echo '<input type="hidden" name="', FILTER_PROPERTY_PRODUCT_VERSION, '[]" value="', string_attribute($t_current), '" />';
                    $t_this_string = '';
                    if (filter_field_is_any($t_current)) {
                        $t_any_found = true;
                    } else {
                        if (filter_field_is_none($t_current)) {
                            $t_this_string = lang_get('none');
                        } else {
                            $t_this_string = $t_current;
                        }
                    }
                    if ($t_first_flag != true) {
                        $t_output = $t_output . '<br />';
                    } else {
                        $t_first_flag = false;
                    }
                    $t_output = $t_output . string_display_line($t_this_string);
                }
                if (true == $t_any_found) {
                    echo lang_get('any');
                } else {
                    echo $t_output;
                }
            }
            ?>
			</td>
			<td colspan="1" class="small-caption" valign="top" id="show_fixed_in_version_filter_target">
							<?php 
            $t_output = '';
            $t_any_found = false;
            if (count($t_filter[FILTER_PROPERTY_FIXED_IN_VERSION]) == 0) {
                echo lang_get('any');
            } else {
                $t_first_flag = true;
                foreach ($t_filter[FILTER_PROPERTY_FIXED_IN_VERSION] as $t_current) {
                    $t_current = stripslashes($t_current);
                    echo '<input type="hidden" name="', FILTER_PROPERTY_FIXED_IN_VERSION, '[]" value="', string_attribute($t_current), '" />';
                    $t_this_string = '';
                    if (filter_field_is_any($t_current)) {
                        $t_any_found = true;
                    } else {
                        if (filter_field_is_none($t_current)) {
                            $t_this_string = lang_get('none');
                        } else {
                            $t_this_string = $t_current;
                        }
                    }
                    if ($t_first_flag != true) {
                        $t_output = $t_output . '<br />';
                    } else {
                        $t_first_flag = false;
                    }
                    $t_output = $t_output . string_display_line($t_this_string);
                }
                if (true == $t_any_found) {
                    echo lang_get('any');
                } else {
                    echo $t_output;
                }
            }
            ?>
			</td>
				<td colspan="1" class="small-caption" valign="top" id="show_target_version_filter_target">
								<?php 
            $t_output = '';
            $t_any_found = false;
            if (count($t_filter[FILTER_PROPERTY_TARGET_VERSION]) == 0) {
                echo lang_get('any');
            } else {
                $t_first_flag = true;
                foreach ($t_filter[FILTER_PROPERTY_TARGET_VERSION] as $t_current) {
                    $t_current = stripslashes($t_current);
                    echo '<input type="hidden" name="', FILTER_PROPERTY_TARGET_VERSION, '[]" value="', string_attribute($t_current), '" />';
                    $t_this_string = '';
                    if (filter_field_is_any($t_current)) {
                        $t_any_found = true;
                    } else {
                        if (filter_field_is_none($t_current)) {
                            $t_this_string = lang_get('none');
                        } else {
                            $t_this_string = $t_current;
                        }
                    }
                    if ($t_first_flag != true) {
                        $t_output = $t_output . '<br />';
                    } else {
                        $t_first_flag = false;
                    }
                    $t_output = $t_output . string_display_line($t_this_string);
                }
                if (true == $t_any_found) {
                    echo lang_get('any');
                } else {
                    echo $t_output;
                }
            }
            ?>
				</td>
			<?php 
        } else {
            ?>
			<td colspan="2" class="small-caption" valign="top">
				&#160;
			</td>
			<td colspan="1" class="small-caption" valign="top">
				&#160;
			</td>
			<td colspan="1" class="small-caption" valign="top">
				&nbsp;
			</td>
			<?php 
        }
        ?>
			<td colspan="1" class="small-caption" valign="top" id="show_priority_filter_target">
              <?php 
        $t_output = '';
        $t_any_found = false;
        if (count($t_filter[FILTER_PROPERTY_PRIORITY_ID]) == 0) {
            echo lang_get('any');
        } else {
            $t_first_flag = true;
            foreach ($t_filter[FILTER_PROPERTY_PRIORITY_ID] as $t_current) {
                echo '<input type="hidden" name="', FILTER_PROPERTY_PRIORITY_ID, '[]" value="', string_attribute($t_current), '" />';
                $t_this_string = '';
                if (filter_field_is_any($t_current)) {
                    $t_any_found = true;
                } else {
                    $t_this_string = get_enum_element('priority', $t_current);
                }
                if ($t_first_flag != true) {
                    $t_output = $t_output . '<br />';
                } else {
                    $t_first_flag = false;
                }
                $t_output = $t_output . string_display_line($t_this_string);
            }
            if (true == $t_any_found) {
                echo lang_get('any');
            } else {
                echo $t_output;
            }
        }
        ?>
	    	</td>
			<?php 
        if ($t_filter_cols > 8) {
            echo '<td class="small-caption" valign="top" colspan="' . ($t_filter_cols - 7) . '">&#160;</td>';
        }
        ?>

		</tr>

		<tr <?php 
        echo "class=\"" . $t_trclass . "\"";
        ?>
>
			<td class="small-caption" valign="top">
				<a href="<?php 
        echo $t_filters_url . FILTER_PROPERTY_ISSUES_PER_PAGE;
        ?>
" id="per_page_filter"><?php 
        echo lang_get('show');
        ?>
:</a>
			</td>
			<td class="small-caption" valign="top">
				<a href="<?php 
        echo $t_filters_url . FILTER_PROPERTY_VIEW_STATE_ID;
        ?>
" id="view_state_filter"><?php 
        echo lang_get('view_status');
        ?>
:</a>
			</td>
			<td class="small-caption" valign="top">
				<a href="<?php 
        echo $t_filters_url . FILTER_PROPERTY_SHOW_STICKY_ISSUES;
        ?>
" id="sticky_issues_filter"><?php 
        echo lang_get('sticky');
        ?>
:</a>
			</td>
			<td class="small-caption" valign="top" colspan="2">
				<a href="<?php 
        echo $t_filters_url . FILTER_PROPERTY_HIGHLIGHT_CHANGED;
        ?>
" id="highlight_changed_filter"><?php 
        echo lang_get('changed');
        ?>
:</a>
			</td>
			<td class="small-caption" valign="top" >
				<a href="<?php 
        echo $t_filters_url . FILTER_PROPERTY_FILTER_BY_DATE;
        ?>
" id="do_filter_by_date_filter"><?php 
        echo lang_get('use_date_filters');
        ?>
:</a>
			</td>
			<td class="small-caption" valign="top" colspan="2">
				<a href="<?php 
        echo $t_filters_url . FILTER_PROPERTY_RELATIONSHIP_TYPE;
        ?>
" id="relationship_type_filter"><?php 
        echo lang_get('bug_relationships');
        ?>
:</a>
			</td>
			<?php 
        if ($t_filter_cols > 8) {
            echo '<td class="small-caption" valign="top" colspan="' . ($t_filter_cols - 8) . '">&#160;</td>';
        }
        ?>
		</tr>
		<tr class="row-1">
			<td class="small-caption" valign="top" id="per_page_filter_target">
				<?php 
        echo $t_filter[FILTER_PROPERTY_ISSUES_PER_PAGE] == 0 ? lang_get('all') : string_display_line($t_filter[FILTER_PROPERTY_ISSUES_PER_PAGE]);
        echo '<input type="hidden" name="', FILTER_PROPERTY_ISSUES_PER_PAGE, '" value="', string_attribute($t_filter[FILTER_PROPERTY_ISSUES_PER_PAGE]), '" />';
        ?>
			</td>
			<td class="small-caption" valign="top" id="view_state_filter_target">
				<?php 
        if (VS_PUBLIC === $t_filter[FILTER_PROPERTY_VIEW_STATE_ID]) {
            echo lang_get('public');
        } else {
            if (VS_PRIVATE === $t_filter[FILTER_PROPERTY_VIEW_STATE_ID]) {
                echo lang_get('private');
            } else {
                echo lang_get('any');
                $t_filter[FILTER_PROPERTY_VIEW_STATE_ID] = META_FILTER_ANY;
            }
        }
        echo '<input type="hidden" name="', FILTER_PROPERTY_VIEW_STATE_ID, '" value="', string_attribute($t_filter[FILTER_PROPERTY_VIEW_STATE_ID]), '" />';
        ?>
			</td>
			<td class="small-caption" valign="top" id="sticky_issues_filter_target">
				<?php 
        $t_sticky_filter_state = gpc_string_to_bool($t_filter[FILTER_PROPERTY_SHOW_STICKY_ISSUES]);
        print $t_sticky_filter_state ? lang_get('yes') : lang_get('no');
        ?>
				<input type="hidden" name="sticky_issues" value="<?php 
        echo $t_sticky_filter_state ? 'on' : 'off';
        ?>
" />
			</td>
			<td class="small-caption" valign="top" colspan="2" id="highlight_changed_filter_target">
				<?php 
        echo $t_filter[FILTER_PROPERTY_HIGHLIGHT_CHANGED];
        echo '<input type="hidden" name="', FILTER_PROPERTY_HIGHLIGHT_CHANGED, '" value="', string_attribute($t_filter[FILTER_PROPERTY_HIGHLIGHT_CHANGED]), '" />';
        ?>
			</td>
			<td class="small-caption" valign="top"  id="do_filter_by_date_filter_target">
							<?php 
        if (ON == config_get('dhtml_filters') && ON == config_get('use_javascript')) {
            ?>
		<script type="text/javascript" language="JavaScript">
		<!--
			function SwitchDateFields() {
		    	// All fields need to be enabled to go back to the script
				document.filters_open.start_month.disabled = ! document.filters_open.do_filter_by_date.checked;
				document.filters_open.start_day.disabled = ! document.filters_open.do_filter_by_date.checked;
				document.filters_open.start_year.disabled = ! document.filters_open.do_filter_by_date.checked;
				document.filters_open.end_month.disabled = ! document.filters_open.do_filter_by_date.checked;
				document.filters_open.end_day.disabled = ! document.filters_open.do_filter_by_date.checked;
				document.filters_open.end_year.disabled = ! document.filters_open.do_filter_by_date.checked;

		   		return true;
			}
		// -->
		</script>
							<?php 
        }
        # end if dhtml_filters
        if ('on' == $t_filter[FILTER_PROPERTY_FILTER_BY_DATE]) {
            echo '<input type="hidden" name="', FILTER_PROPERTY_FILTER_BY_DATE, '" value="', string_attribute($t_filter[FILTER_PROPERTY_FILTER_BY_DATE]), '" />';
            echo '<input type="hidden" name="', FILTER_PROPERTY_START_MONTH, '" value="', string_attribute($t_filter[FILTER_PROPERTY_START_MONTH]), '" />';
            echo '<input type="hidden" name="', FILTER_PROPERTY_START_DAY, '" value="', string_attribute($t_filter[FILTER_PROPERTY_START_DAY]), '" />';
            echo '<input type="hidden" name="', FILTER_PROPERTY_START_YEAR, '" value="', string_attribute($t_filter[FILTER_PROPERTY_START_YEAR]), '" />';
            echo '<input type="hidden" name="', FILTER_PROPERTY_END_MONTH, '" value="', string_attribute($t_filter[FILTER_PROPERTY_END_MONTH]), '" />';
            echo '<input type="hidden" name="', FILTER_PROPERTY_END_DAY, '" value="', string_attribute($t_filter[FILTER_PROPERTY_END_DAY]), '" />';
            echo '<input type="hidden" name="', FILTER_PROPERTY_END_YEAR, '" value="', string_attribute($t_filter[FILTER_PROPERTY_END_YEAR]), '" />';
            $t_chars = preg_split('//', config_get('short_date_format'), -1, PREG_SPLIT_NO_EMPTY);
            $t_time = mktime(0, 0, 0, $t_filter[FILTER_PROPERTY_START_MONTH], $t_filter[FILTER_PROPERTY_START_DAY], $t_filter[FILTER_PROPERTY_START_YEAR]);
            foreach ($t_chars as $t_char) {
                if (strcasecmp($t_char, "M") == 0) {
                    echo ' ';
                    echo date('F', $t_time);
                }
                if (strcasecmp($t_char, "D") == 0) {
                    echo ' ';
                    echo date('d', $t_time);
                }
                if (strcasecmp($t_char, "Y") == 0) {
                    echo ' ';
                    echo date('Y', $t_time);
                }
            }
            echo ' - ';
            $t_time = mktime(0, 0, 0, $t_filter[FILTER_PROPERTY_END_MONTH], $t_filter[FILTER_PROPERTY_END_DAY], $t_filter[FILTER_PROPERTY_END_YEAR]);
            foreach ($t_chars as $t_char) {
                if (strcasecmp($t_char, "M") == 0) {
                    echo ' ';
                    echo date('F', $t_time);
                }
                if (strcasecmp($t_char, "D") == 0) {
                    echo ' ';
                    echo date('d', $t_time);
                }
                if (strcasecmp($t_char, "Y") == 0) {
                    echo ' ';
                    echo date('Y', $t_time);
                }
            }
        } else {
            echo lang_get('no');
        }
        ?>
			</td>

			<td class="small-caption" valign="top" colspan="2" id="relationship_type_filter_target">
							<?php 
        echo '<input type="hidden" name="', FILTER_PROPERTY_RELATIONSHIP_TYPE, '" value="', string_attribute($t_filter[FILTER_PROPERTY_RELATIONSHIP_TYPE]), '" />';
        echo '<input type="hidden" name="', FILTER_PROPERTY_RELATIONSHIP_BUG, '" value="', string_attribute($t_filter[FILTER_PROPERTY_RELATIONSHIP_BUG]), '" />';
        $c_rel_type = $t_filter[FILTER_PROPERTY_RELATIONSHIP_TYPE];
        $c_rel_bug = $t_filter[FILTER_PROPERTY_RELATIONSHIP_BUG];
        if (-1 == $c_rel_type || 0 == $c_rel_bug) {
            echo lang_get('any');
        } else {
            echo relationship_get_description_for_history($c_rel_type) . ' ' . $c_rel_bug;
        }
        ?>
			</td>
			<?php 
        if ($t_filter_cols > 8) {
            echo '<td class="small-caption" valign="top" colspan="' . ($t_filter_cols - 8) . '">&#160;</td>';
        }
        ?>
		</tr>
		<tr <?php 
        echo "class=\"" . $t_trclass . "\"";
        ?>
>
			<td class="small-caption" valign="top">
				<?php 
        if (ON == config_get('enable_profiles')) {
            ?>
					<a href="<?php 
            echo $t_filters_url . FILTER_PROPERTY_PLATFORM;
            ?>
" id="platform_filter"><?php 
            echo lang_get('platform');
            ?>
:</a>
				<?php 
        }
        ?>
			</td>
			<td class="small-caption" valign="top">
				<?php 
        if (ON == config_get('enable_profiles')) {
            ?>
					<a href="<?php 
            echo $t_filters_url . FILTER_PROPERTY_OS;
            ?>
" id="os_filter"><?php 
            echo lang_get('os');
            ?>
:</a>
				<?php 
        }
        ?>
			</td>
			<td class="small-caption" valign="top">
				<?php 
        if (ON == config_get('enable_profiles')) {
            ?>
					<a href="<?php 
            echo $t_filters_url . FILTER_PROPERTY_OS_BUILD;
            ?>
" id="os_build_filter"><?php 
            echo lang_get('os_version');
            ?>
:</a>
				<?php 
        }
        ?>
			</td>
			<td class="small-caption" valign="top" colspan="5">
				<?php 
        if (access_has_global_level(config_get('tag_view_threshold'))) {
            ?>
				<a href="<?php 
            echo $t_filters_url . FILTER_PROPERTY_TAG_STRING;
            ?>
" id="tag_string_filter"><?php 
            echo lang_get('tags');
            ?>
:</a>
				<?php 
        }
        ?>
			</td>
			<?php 
        if ($t_filter_cols > 8) {
            echo '<td class="small-caption" valign="top" colspan="' . ($t_filter_cols - 8) . '">&#160;</td>';
        }
        ?>
		</tr>
		<tr class="row-1">
			<?php 
        if (ON == config_get('enable_profiles')) {
            ?>
			<td class="small-caption" valign="top" id="platform_filter_target">
				<?php 
            print_multivalue_field(FILTER_PROPERTY_PLATFORM, $t_filter[FILTER_PROPERTY_PLATFORM]);
            ?>
			</td>
			<td class="small-caption" valign="top" id="os_filter_target">
				<?php 
            print_multivalue_field(FILTER_PROPERTY_OS, $t_filter[FILTER_PROPERTY_OS]);
            ?>
			</td>
			<td class="small-caption" valign="top" id="os_build_filter_target">
				<?php 
            print_multivalue_field(FILTER_PROPERTY_OS_BUILD, $t_filter[FILTER_PROPERTY_OS_BUILD]);
            ?>
			</td>
			<?php 
        } else {
            ?>
				<td colspan="3">&#160;</td>
			<?php 
        }
        ?>

			<td class="small-caption" valign="top" id="tag_string_filter_target" colspan="5">
				<?php 
        $t_tag_string = $t_filter[FILTER_PROPERTY_TAG_STRING];
        if ($t_filter[FILTER_PROPERTY_TAG_SELECT] != 0 && tag_exists($t_filter[FILTER_PROPERTY_TAG_SELECT])) {
            $t_tag_string .= is_blank($t_tag_string) ? '' : config_get('tag_separator');
            $t_tag_string .= tag_get_field($t_filter[FILTER_PROPERTY_TAG_SELECT], 'name');
        }
        echo string_html_entities($t_tag_string);
        echo '<input type="hidden" name="', FILTER_PROPERTY_TAG_STRING, '" value="', string_attribute($t_tag_string), '" />';
        ?>
			</td>
		</tr>
		<?php 
        # get plugin filters
        $t_plugin_filters = filter_get_plugin_filters();
        $t_column = 0;
        $t_fields = '';
        $t_values = '';
        # output a filter form element for each plugin filter
        foreach ($t_plugin_filters as $t_field_name => $t_filter_object) {
            $t_fields .= '<td class="small-caption" valign="top"> <a href="' . $t_filters_url . string_attribute($t_field_name) . '" id="' . string_attribute($t_field_name) . '_filter">' . string_display_line($t_filter_object->title) . '</a> </td>';
            $t_values .= '<td class="small-caption" valign="top" id="' . string_attribute($t_field_name) . '_filter_target"> ';
            if (!isset($t_filter[$t_field_name])) {
                $t_values .= lang_get('any');
            } else {
                switch ($t_filter_object->type) {
                    case FILTER_TYPE_STRING:
                    case FILTER_TYPE_INT:
                        if (filter_field_is_any($t_filter[$t_field_name])) {
                            $t_values .= lang_get('any');
                        } else {
                            $t_values .= string_display_line($t_filter[$t_field_name]);
                        }
                        $t_values .= '<input type="hidden" name="' . string_attribute($t_field_name) . '" value="' . string_attribute($t_filter[$t_field_name]) . '"/>';
                        break;
                    case FILTER_TYPE_BOOLEAN:
                        $t_values .= string_display_line($t_filter_object->display((bool) $t_filter[$t_field_name]));
                        $t_values .= '<input type="hidden" name="' . string_attribute($t_field_name) . '" value="' . (bool) $t_filter[$t_field_name] . '"/>';
                        break;
                    case FILTER_TYPE_MULTI_STRING:
                    case FILTER_TYPE_MULTI_INT:
                        $t_first = true;
                        $t_output = '';
                        if (!is_array($t_filter[$t_field_name])) {
                            $t_filter[$t_field_name] = array($t_filter[$t_field_name]);
                        }
                        foreach ($t_filter[$t_field_name] as $t_current) {
                            if (filter_field_is_any($t_current)) {
                                $t_output .= lang_get('any');
                            } else {
                                $t_output .= ($t_first ? '' : '<br />') . string_display_line($t_filter_object->display($t_current));
                                $t_first = false;
                            }
                            $t_values .= '<input type="hidden" name="' . string_attribute($t_field_name) . '[]" value="' . string_attribute($t_current) . '"/>';
                        }
                        $t_values .= $t_output;
                        break;
                }
            }
            $t_values .= '</td>';
            $t_column++;
            # wrap at the appropriate column
            if ($t_column >= $t_filter_cols) {
                echo '<tr class="', $t_trclass, '">', $t_fields, '</tr>';
                echo '<tr class="row-1">', $t_values, '</tr>';
                $t_fields = '';
                $t_values = '';
                $t_column = 0;
            }
        }
        # output any remaining plugin filters
        if ($t_column > 0) {
            if ($t_column < $t_filter_cols) {
                $t_fields .= '<td class="small-caption" colspan="' . ($t_filter_cols - $t_column) . '">&#160;</td>';
                $t_values .= '<td class="small-caption" colspan="' . ($t_filter_cols - $t_column) . '">&#160;</td>';
            }
            echo '<tr class="', $t_trclass, '">', $t_fields, '</tr>';
            echo '<tr class="row-1">', $t_values, '</tr>';
        }
        if (ON == config_get('filter_by_custom_fields')) {
            # -- Custom Field Searching --
            if (count($t_accessible_custom_fields_ids) > 0) {
                $t_per_row = config_get('filter_custom_fields_per_row');
                $t_num_fields = count($t_accessible_custom_fields_ids);
                $t_row_idx = 0;
                $t_col_idx = 0;
                $t_fields = '';
                $t_values = '';
                for ($i = 0; $i < $t_num_fields; $i++) {
                    if ($t_col_idx == 0) {
                        $t_fields = '<tr class="' . $t_trclass . '">';
                        $t_values = '<tr class="row-1">';
                    }
                    if (isset($t_accessible_custom_fields_names[$i])) {
                        $t_fields .= '<td class="small-caption" valign="top"> ';
                        $t_fields .= '<a href="' . $t_filters_url . 'custom_field_' . $t_accessible_custom_fields_ids[$i] . '[]" id="custom_field_' . $t_accessible_custom_fields_ids[$i] . '_filter">';
                        $t_fields .= string_display_line(lang_get_defaulted($t_accessible_custom_fields_names[$i]));
                        $t_fields .= '</a> </td> ';
                    }
                    $t_output = '';
                    $t_any_found = false;
                    $t_values .= '<td class="small-caption" valign="top" id="custom_field_' . $t_accessible_custom_fields_ids[$i] . '_filter_target"> ';
                    if (!isset($t_filter['custom_fields'][$t_accessible_custom_fields_ids[$i]])) {
                        $t_values .= lang_get('any');
                    } else {
                        if ($t_accessible_custom_fields_types[$i] == CUSTOM_FIELD_TYPE_DATE) {
                            /** @todo moved embedded javascript here from print_filter_custom_field_date
                             *  it appears not to load properly on Firefox and other browsers if loaded through the httpxmlreq
                             */
                            $t_field_id = $t_accessible_custom_fields_ids[$i];
                            $t_js_toggle_func = "toggle_custom_date_field_" . $t_field_id . "_controls";
                            if (ON == config_get('dhtml_filters') && ON == config_get('use_javascript')) {
                                ?>
	<script type="text/javascript" language="JavaScript">
	<!--
	function <?php 
                                echo $t_js_toggle_func . "_start";
                                ?>
(disable) {
			document.filters_open.custom_field_<?php 
                                echo $t_field_id;
                                ?>
_start_year.disabled = disable ;
			document.filters_open.custom_field_<?php 
                                echo $t_field_id;
                                ?>
_start_month.disabled = disable ;
			document.filters_open.custom_field_<?php 
                                echo $t_field_id;
                                ?>
_start_day.disabled = disable ;
	} ;

	function <?php 
                                echo $t_js_toggle_func . "_end";
                                ?>
(disable) {
			document.filters_open.custom_field_<?php 
                                echo $t_field_id;
                                ?>
_end_year.disabled = disable ;
			document.filters_open.custom_field_<?php 
                                echo $t_field_id;
                                ?>
_end_month.disabled = disable ;
			document.filters_open.custom_field_<?php 
                                echo $t_field_id;
                                ?>
_end_day.disabled = disable ;
	} ;

	function <?php 
                                echo $t_js_toggle_func;
                                ?>
() {
		switch (document.filters_open.custom_field_<?php 
                                echo $t_field_id;
                                ?>
_control.selectedIndex) {
		case <?php 
                                echo CUSTOM_FIELD_DATE_ANY;
                                ?>
:
		case <?php 
                                echo CUSTOM_FIELD_DATE_NONE;
                                ?>
:
			<?php 
                                echo $t_js_toggle_func . "_start";
                                ?>
(true) ;
			<?php 
                                echo $t_js_toggle_func . "_end";
                                ?>
(true) ;
			break ;
		case <?php 
                                echo CUSTOM_FIELD_DATE_BETWEEN;
                                ?>
:
			<?php 
                                echo $t_js_toggle_func . "_start";
                                ?>
(false) ;
			<?php 
                                echo $t_js_toggle_func . "_end";
                                ?>
(false) ;
			break ;
		default:
			<?php 
                                echo $t_js_toggle_func . "_start";
                                ?>
(false) ;
			<?php 
                                echo $t_js_toggle_func . "_end";
                                ?>
(true) ;
			break ;
		}
	}
	// -->
	</script>
<?php 
                            }
                            # end if dhtml_filters
                            $t_short_date_format = config_get('short_date_format');
                            if (!isset($t_filter['custom_fields'][$t_accessible_custom_fields_ids[$i]][1])) {
                                $t_filter['custom_fields'][$t_accessible_custom_fields_ids[$i]][1] = 0;
                            }
                            $t_start = date($t_short_date_format, $t_filter['custom_fields'][$t_accessible_custom_fields_ids[$i]][1]);
                            if (!isset($t_filter['custom_fields'][$t_accessible_custom_fields_ids[$i]][2])) {
                                $t_filter['custom_fields'][$t_accessible_custom_fields_ids[$i]][2] = 0;
                            }
                            $t_end = date($t_short_date_format, $t_filter['custom_fields'][$t_accessible_custom_fields_ids[$i]][2]);
                            switch ($t_filter['custom_fields'][$t_accessible_custom_fields_ids[$i]][0]) {
                                case CUSTOM_FIELD_DATE_ANY:
                                    $t_values .= lang_get('any');
                                    break;
                                case CUSTOM_FIELD_DATE_NONE:
                                    $t_values .= lang_get('none');
                                    break;
                                case CUSTOM_FIELD_DATE_BETWEEN:
                                    $t_values .= lang_get('between_date') . '<br />';
                                    $t_values .= $t_start . '<br />' . $t_end;
                                    break;
                                case CUSTOM_FIELD_DATE_ONORBEFORE:
                                    $t_values .= lang_get('on_or_before_date') . '<br />';
                                    $t_values .= $t_end;
                                    break;
                                case CUSTOM_FIELD_DATE_BEFORE:
                                    $t_values .= lang_get('before_date') . '<br />';
                                    $t_values .= $t_end;
                                    break;
                                case CUSTOM_FIELD_DATE_ON:
                                    $t_values .= lang_get('on_date') . '<br />';
                                    $t_values .= $t_start;
                                    break;
                                case CUSTOM_FIELD_DATE_AFTER:
                                    $t_values .= lang_get('after_date') . '<br />';
                                    $t_values .= $t_start;
                                    break;
                                case CUSTOM_FIELD_DATE_ONORAFTER:
                                    $t_values .= lang_get('on_or_after_date') . '<br />';
                                    $t_values .= $t_start;
                                    break;
                            }
                        } else {
                            $t_first_flag = true;
                            foreach ($t_filter['custom_fields'][$t_accessible_custom_fields_ids[$i]] as $t_current) {
                                $t_current = stripslashes($t_current);
                                $t_this_string = '';
                                if (filter_field_is_any($t_current)) {
                                    $t_any_found = true;
                                } else {
                                    if (filter_field_is_none($t_current)) {
                                        $t_this_string = lang_get('none');
                                    } else {
                                        $t_this_string = $t_current;
                                    }
                                }
                                if ($t_first_flag != true) {
                                    $t_output = $t_output . '<br />';
                                } else {
                                    $t_first_flag = false;
                                }
                                $t_output = $t_output . string_display_line($t_this_string);
                                $t_values .= '<input type="hidden" name="custom_field_' . $t_accessible_custom_fields_ids[$i] . '[]" value="' . string_attribute($t_current) . '" />';
                            }
                        }
                        if (true == $t_any_found) {
                            $t_values .= lang_get('any');
                        } else {
                            $t_values .= $t_output;
                        }
                    }
                    $t_values .= ' </td>';
                    $t_col_idx++;
                    if ($t_col_idx == $t_per_row) {
                        if ($t_filter_cols > $t_per_row) {
                            $t_fields .= '<td colspan="' . ($t_filter_cols - $t_per_row) . '">&#160;</td> ';
                            $t_values .= '<td colspan="' . ($t_filter_cols - $t_per_row) . '">&#160;</td> ';
                        }
                        $t_fields .= '</tr>' . "\n";
                        $t_values .= '</tr>' . "\n";
                        echo $t_fields;
                        echo $t_values;
                        $t_col_idx = 0;
                        $t_row_idx++;
                    }
                }
                if ($t_col_idx > 0) {
                    if ($t_col_idx < $t_per_row) {
                        $t_fields .= '<td colspan="' . ($t_per_row - $t_col_idx) . '">&#160;</td> ';
                        $t_values .= '<td colspan="' . ($t_per_row - $t_col_idx) . '">&#160;</td> ';
                    }
                    if ($t_filter_cols > $t_per_row) {
                        $t_fields .= '<td colspan="' . ($t_filter_cols - $t_per_row) . '">&#160;</td> ';
                        $t_values .= '<td colspan="' . ($t_filter_cols - $t_per_row) . '">&#160;</td> ';
                    }
                    $t_fields .= '</tr>' . "\n";
                    $t_values .= '</tr>' . "\n";
                    echo $t_fields;
                    echo $t_values;
                }
            }
        }
        ?>
		<tr class="row-1">
			<td class="small-caption category2" valign="top">
                <a href="<?php 
        echo $t_filters_url . FILTER_PROPERTY_NOTE_USER_ID;
        ?>
" id="note_user_id_filter"><?php 
        echo lang_get('note_user_id');
        ?>
:</a>
            </td>
            <td class="small-caption" valign="top" id="note_user_id_filter_target">
                <?php 
        $t_output = '';
        $t_any_found = false;
        if (count($t_filter[FILTER_PROPERTY_NOTE_USER_ID]) == 0) {
            echo lang_get('any');
        } else {
            $t_first_flag = true;
            foreach ($t_filter[FILTER_PROPERTY_NOTE_USER_ID] as $t_current) {
                echo '<input type="hidden" name="', FILTER_PROPERTY_NOTE_USER_ID, '[]" value="', string_attribute($t_current), '" />';
                $t_this_name = '';
                if (filter_field_is_none($t_current)) {
                    $t_this_name = lang_get('none');
                } else {
                    if (filter_field_is_any($t_current)) {
                        $t_any_found = true;
                    } else {
                        if (filter_field_is_myself($t_current)) {
                            if (access_has_project_level(config_get('handle_bug_threshold'))) {
                                $t_this_name = '[' . lang_get('myself') . ']';
                            } else {
                                $t_any_found = true;
                            }
                        } else {
                            $t_this_name = user_get_name($t_current);
                        }
                    }
                }
                if ($t_first_flag != true) {
                    $t_output = $t_output . '<br />';
                } else {
                    $t_first_flag = false;
                }
                $t_output = $t_output . string_display_line($t_this_name);
            }
            if (true == $t_any_found) {
                echo lang_get('any');
            } else {
                $t_output;
            }
        }
        ?>
            </td>
			<td class="small-caption" valign="top">
				<a href="<?php 
        echo $t_filters_url . 'show_sort';
        ?>
" id="show_sort_filter"><?php 
        echo lang_get('sort');
        ?>
:</a>
			</td>
			<td class="small-caption" valign="top" id="show_sort_filter_target">
				<?php 
        $t_sort_fields = explode(',', $t_filter[FILTER_PROPERTY_SORT_FIELD_NAME]);
        $t_dir_fields = explode(',', $t_filter[FILTER_PROPERTY_SORT_DIRECTION]);
        for ($i = 0; $i < 2; $i++) {
            if (isset($t_sort_fields[$i])) {
                if (0 < $i) {
                    echo ', ';
                }
                $t_sort = $t_sort_fields[$i];
                if (strpos($t_sort, 'custom_') === 0) {
                    $t_field_name = string_display(lang_get_defaulted(utf8_substr($t_sort, utf8_strlen('custom_'))));
                } else {
                    $t_field_name = string_get_field_name($t_sort);
                }
                echo $t_field_name . ' ' . lang_get('bugnote_order_' . utf8_strtolower($t_dir_fields[$i]));
                echo '<input type="hidden" name="', FILTER_PROPERTY_SORT_FIELD_NAME, '_', $i, '" value="', string_attribute($t_sort_fields[$i]), '" />';
                echo '<input type="hidden" name="', FILTER_PROPERTY_SORT_DIRECTION, '_', $i, '" value="', string_attribute($t_dir_fields[$i]), '" />';
            }
        }
        ?>
			</td>
			<?php 
        if ('advanced' == $t_view_type) {
            ?>
					<td class="small-caption" valign="top" colspan="2">
						<a href="<?php 
            echo $t_filters_url . FILTER_PROPERTY_PROJECT_ID;
            ?>
" id="project_id_filter"><?php 
            echo lang_get('email_project');
            ?>
:</a>
					</td>
					<td class="small-caption" valign="top"  id="project_id_filter_target">
						<?php 
            $t_output = '';
            if (!is_array($t_filter[FILTER_PROPERTY_PROJECT_ID])) {
                $t_filter[FILTER_PROPERTY_PROJECT_ID] = array($t_filter[FILTER_PROPERTY_PROJECT_ID]);
            }
            if (count($t_filter[FILTER_PROPERTY_PROJECT_ID]) == 0) {
                echo lang_get('current');
            } else {
                $t_first_flag = true;
                foreach ($t_filter[FILTER_PROPERTY_PROJECT_ID] as $t_current) {
                    echo '<input type="hidden" name="', FILTER_PROPERTY_PROJECT_ID, '[]" value="', string_attribute($t_current), '" />';
                    $t_this_name = '';
                    if (META_FILTER_CURRENT == $t_current) {
                        $t_this_name = lang_get('current');
                    } else {
                        $t_this_name = project_get_name($t_current, false);
                    }
                    if ($t_first_flag != true) {
                        $t_output = $t_output . '<br />';
                    } else {
                        $t_first_flag = false;
                    }
                    $t_output = $t_output . string_display_line($t_this_name);
                }
                echo $t_output;
            }
            ?>
					</td>
					<?php 
            if ($t_filter_cols > 6) {
                echo '<td class="small-caption" valign="top" colspan="' . ($t_filter_cols - 5) . '">&#160;</td>';
            }
        } else {
            if ($t_filter_cols > 3) {
                echo '<td class="small-caption" valign="top" colspan="' . ($t_filter_cols - 2) . '">&#160;</td>';
            }
        }
        ?>
		</tr>
		<?php 
    }
    // expanded
    ?>
		<tr>
			<td colspan="2">
				<?php 
    collapse_icon('filter');
    echo lang_get('search') . '&#160;';
    echo '<input type="text" size="16" name="', FILTER_PROPERTY_FREE_TEXT, '" value="', string_attribute($t_filter[FILTER_PROPERTY_FREE_TEXT]), '" />';
    ?>

				<input type="submit" name="filter" class="button-small" value="<?php 
    echo lang_get('filter_button');
    ?>
" />
			</td>
			</form>
			<td class="center" colspan="<?php 
    echo $t_filter_cols - 6;
    ?>
"> <!-- use this label for padding -->
				<?php 
    if (ON == config_get('dhtml_filters')) {
        $f_switch_view_link = 'view_all_set.php?type=6&view_type=';
    } else {
        $f_switch_view_link = 'view_filters_page.php?view_type=';
    }
    $t_view_filters = config_get('view_filters');
    if (SIMPLE_ONLY != $t_view_filters && ADVANCED_ONLY != $t_view_filters) {
        if ('advanced' == $t_view_type) {
            print_bracket_link($f_switch_view_link . 'simple', lang_get('simple_filters'));
        } else {
            print_bracket_link($f_switch_view_link . 'advanced', lang_get('advanced_filters'));
        }
    }
    if (access_has_project_level(config_get('create_permalink_threshold'))) {
        print_bracket_link('permalink_page.php?url=' . urlencode(filter_get_url($t_filter)), lang_get('create_filter_link'), true);
    }
    ?>
			</td>
			<td class="right" colspan="4">
			<?php 
    $t_stored_queries_arr = array();
    $t_stored_queries_arr = filter_db_get_available_queries();
    if (count($t_stored_queries_arr) > 0) {
        ?>
					<form method="get" name="list_queries<?php 
        echo $t_form_name_suffix;
        ?>
" action="view_all_set.php">
					<?php 
        # CSRF protection not required here - form does not result in modifications
        ?>
					<input type="hidden" name="type" value="3" />
					<?php 
        if (ON == config_get('use_javascript')) {
            echo "<select name=\"source_query_id\" onchange=\"document.forms.list_queries{$t_form_name_suffix}.submit();\">";
        } else {
            echo '<select name="source_query_id">';
        }
        ?>
					<option value="-1"><?php 
        echo '[' . lang_get('reset_query') . ']';
        ?>
</option>
					<option value="-1"></option>
					<?php 
        foreach ($t_stored_queries_arr as $t_query_id => $t_query_name) {
            echo '<option value="' . string_attribute($t_query_id) . '">' . string_display_line($t_query_name) . '</option>';
        }
        ?>
					</select>
					<input type="submit" name="switch_to_query_button" class="button-small" value="<?php 
        echo lang_get('use_query');
        ?>
" />
					</form>
					<form method="post" name="open_queries" action="query_view_page.php">
					<?php 
        # CSRF protection not required here - form does not result in modifications
        ?>
					<input type="submit" name="switch_to_query_button" class="button-small" value="<?php 
        echo lang_get('open_queries');
        ?>
" />
					</form>
				<?php 
    } else {
        ?>
					<form method="get" name="reset_query" action="view_all_set.php">
					<?php 
        # CSRF protection not required here - form does not result in modifications
        ?>
					<input type="hidden" name="type" value="3" />
					<input type="hidden" name="source_query_id" value="-1" />
					<input type="submit" name="reset_query_button" class="button-small" value="<?php 
        echo lang_get('reset_query');
        ?>
" />
					</form>
				<?php 
    }
    if (access_has_project_level(config_get('stored_query_create_threshold'))) {
        ?>
					<form method="post" name="save_query" action="query_store_page.php">
					<?php 
        # CSRF protection not required here - form does not result in modifications
        ?>
					<input type="submit" name="save_query_button" class="button-small" value="<?php 
        echo lang_get('save_query');
        ?>
" />
					</form>
			<?php 
    }
    ?>
			</td>
		</tr>
		</table>
<?php 
}
Exemplo n.º 10
0
/**
 * Prints information about a single attachment including download link, file
 * size, upload timestamp and an expandable preview for text and image file
 * types.
 * If $p_security_token is null, a token will be generated with form_security_token().
 * If otherwise specified (i.e. not null), the parameter must contain
 * a valid security token, previously generated by form_security_token().
 * Use this to avoid performance issues when loading pages having many calls to
 * this function, such as print_bug_attachments_list().
 * @param array $p_attachment An attachment array from within the array returned by the file_get_visible_attachments() function.
 * @param mixed  $p_security_token Optional; null (default) or security token string.
 * @see form_security_token()
 * @return void
 */
function print_bug_attachment(array $p_attachment, $p_security_token = null)
{
    $t_show_attachment_preview = $p_attachment['preview'] && $p_attachment['exists'] && ($p_attachment['type'] == 'text' || $p_attachment['type'] == 'image');
    if ($t_show_attachment_preview) {
        $t_collapse_id = 'attachment_preview_' . $p_attachment['id'];
        global $g_collapse_cache_token;
        $g_collapse_cache_token[$t_collapse_id] = false;
        collapse_open($t_collapse_id);
    }
    # The same token is used for both links in the collapse section
    if (null === $p_security_token) {
        $p_security_token = form_security_token('bug_file_delete');
    }
    print_bug_attachment_header($p_attachment, $p_security_token);
    if ($t_show_attachment_preview) {
        echo lang_get('word_separator');
        collapse_icon($t_collapse_id);
        if ($p_attachment['type'] == 'text') {
            print_bug_attachment_preview_text($p_attachment);
        } else {
            if ($p_attachment['type'] === 'image') {
                print_bug_attachment_preview_image($p_attachment);
            }
        }
        collapse_closed($t_collapse_id);
        print_bug_attachment_header($p_attachment, $p_security_token);
        echo lang_get('word_separator');
        collapse_icon($t_collapse_id);
        collapse_end($t_collapse_id);
    }
}
Exemplo n.º 11
0
					<?php echo '<input ' . helper_get_tab_index() . ' type="text" id="due_date" name="due_date" class="datetime" size="20" maxlength="16" value="' . $t_date_to_display . '" />' ?>
				</span>
				<span class="label-style"></span>
			</div>
		<?php } ?>
		<?php if( $t_show_platform || $t_show_os || $t_show_os_version ) { ?>
			<div class="field-container">
				<label><span><?php echo lang_get( 'select_profile' ) ?></span></label>
				<span class="select">
					<?php if( count( profile_get_all_for_user( auth_get_current_user_id() ) ) > 0 ) { ?>
						<select <?php echo helper_get_tab_index() ?> id="profile_id" name="profile_id">
							<?php print_profile_option_list( auth_get_current_user_id(), $f_profile_id ) ?>
						</select>
					<?php } ?>

					<?php collapse_icon( 'profile' ); ?>
					<?php echo lang_get( 'or_fill_in' ); ?>
				</span>
				<span class="label-style"></span>
			</div>

			<?php collapse_open( 'profile' ); ?>
				<div class="field-container">
					<label><span><?php echo lang_get( 'platform' ) ?></span></label>
					<span class="input">
						<?php if( config_get( 'allow_freetext_in_profile_fields' ) == OFF ) { ?>
						<select id="platform" name="platform">
							<option value=""></option>
							<?php print_platform_option_list( $f_platform ); ?>
						</select>
						<?php
Exemplo n.º 12
0
								if ( config_get( 'allow_freetext_in_profile_fields' ) == OFF ) {
							?>
							<select id="os_build" name="os_build">
								<option value=""></option>
									<?php print_os_build_option_list( $f_os_build ); ?>
								</select>
							<?php
								} else {
									echo '<input type="text" id="os_build" name="os_build" class="autocomplete" size="16" maxlength="16" tabindex="' . helper_get_tab_index_value() . '" value="' . string_attribute( $f_os_build ) . '" />';
								}
							?>
						</td>
					</tr>
			<?php if( ON == config_get( 'use_javascript' ) ) { ?>
			</table>
			<?php collapse_closed( 'profile' ); collapse_icon('profile'); echo lang_get( 'or_fill_in' );?>
			<?php collapse_end( 'profile' ); ?>
		<?php } ?>
		</td>
	</tr>
<?php } ?>
<?php
	if ( $tpl_show_product_version ) {
		$t_product_version_released_mask = VERSION_RELEASED;

		if (access_has_project_level( config_get( 'report_issues_for_unreleased_versions_threshold' ) ) ) {
			$t_product_version_released_mask = VERSION_ALL;
		}
?>
	<tr <?php echo helper_alternate_class() ?>>
		<th class="category">
		<!-- Submit Buttom -->
		<tr>
			<td class="center" colspan="2"><input type="submit" class="button"
				value="<?php 
echo lang_get('update_information_button');
?>
" />
				<input type="hidden" name="bug_id" value="<?php 
echo $f_bug_id;
?>
" size="4" />
				</td>
		</tr>
	</table>
</form>
<?php 
collapse_closed('medical_record_form');
?>
<table class="width100" cellspacing="1">
<tr>
	<td class="form-title" colspan="2">
		<?php 
collapse_icon('medical_record_form');
echo lang_get('medical_record');
?>
	</td>
</tr>
</table>
<?php 
collapse_end('medical_record_form');
Exemplo n.º 14
0
    ?>
<tr class="spacer">
	<td colspan="2"></td>
</tr>
<?php 
}
# end for loop
event_signal('EVENT_VIEW_BUGNOTES_END', $f_bug_id);
?>
</table>
<?php 
if ($t_total_time > 0 && access_has_bug_level(config_get('time_tracking_view_threshold'), $f_bug_id)) {
    echo '<p class="time-tracking-total">', sprintf(lang_get('total_time_for_issue'), '<span class="time-tracked">' . db_minutes_to_hhmm($t_total_time) . '</span>'), '</p>';
}
collapse_closed('bugnotes');
?>

<table class="width100" cellspacing="1">
<tr>
	<td class="form-title" colspan="2">
		<?php 
collapse_icon('bugnotes');
?>
		<?php 
echo lang_get('bug_notes_title');
?>
	</td>
</tr>
</table>
<?php 
collapse_end('bugnotes');
    ?>
<tr>
	<td class="center" colspan="2">
		<input type="submit" class="button" value="<?php 
    echo lang_get('add_bugnote_button');
    ?>
"  onclick="this.disabled=1;document.bugnoteadd.submit();" />
	</td>
</tr>
</table>
</form>
<?php 
    collapse_closed('bugnote_add');
    ?>
<table class="width100" cellspacing="1">
<tr>
	<td class="form-title" colspan="2">
	<?php 
    collapse_icon('bugnote_add');
    echo lang_get('add_bugnote_title');
    ?>
	</td>
</tr>
</table>
<?php 
    collapse_end('bugnote_add');
    ?>

<?php 
    # Bugnote Add Form END
}
Exemplo n.º 16
0
/**
 * print HTML relationship form
 * @param integer $p_bug_id A bug identifier.
 * @return void
 */
function relationship_view_box($p_bug_id)
{
    ?>
<br/>

<?php 
    collapse_open('relationships');
    ?>
<table class="width100" cellspacing="1">
<tr class="row-2">
	<td width="15%" class="form-title" colspan="2">
		<?php 
    collapse_icon('relationships');
    echo lang_get('bug_relationships');
    if (ON == config_get('relationship_graph_enable')) {
        ?>
		<span class="small"><?php 
        print_bracket_link('bug_relationship_graph.php?bug_id=' . $p_bug_id . '&graph=relation', lang_get('relation_graph'));
        ?>
</span>
		<span class="small"><?php 
        print_bracket_link('bug_relationship_graph.php?bug_id=' . $p_bug_id . '&graph=dependency', lang_get('dependency_graph'));
        ?>
</span>
		<?php 
    }
    ?>
	</td>
</tr>
<?php 
    # bug not read-only and user authenticated
    if (!bug_is_readonly($p_bug_id)) {
        # user access level at least updater
        if (access_has_bug_level(config_get('update_bug_threshold'), $p_bug_id)) {
            ?>
<tr class="row-1">
	<th class="category"><?php 
            echo lang_get('add_new_relationship');
            ?>
</th>
	<td><?php 
            echo lang_get('this_bug');
            ?>
		<form method="post" action="bug_relationship_add.php">
		<?php 
            echo form_security_field('bug_relationship_add');
            ?>
		<input type="hidden" name="src_bug_id" value="<?php 
            echo $p_bug_id;
            ?>
" size="4" />
		<?php 
            relationship_list_box(config_get('default_bug_relationship'));
            ?>
		<input type="text" name="dest_bug_id" value="" />
		<input type="submit" name="add_relationship" class="button" value="<?php 
            echo lang_get('add_new_relationship_button');
            ?>
" />
		</form>
	</td></tr>
<?php 
        }
    }
    ?>
<tr>
	<td colspan="2"><?php 
    echo relationship_get_summary_html($p_bug_id);
    ?>
</td>
</tr>
</table>

<?php 
    collapse_closed('relationships');
    ?>
<table class="width100" cellspacing="1">
<tr>
	<td class="form-title">
		<?php 
    collapse_icon('relationships');
    echo lang_get('bug_relationships');
    ?>
	</td>
</tr>
</table>

<?php 
    collapse_end('relationships');
}
Exemplo n.º 17
0
function filter_draw_selection_area2($p_page_number, $p_for_screen = true, $p_expanded = true)
{
    $t_form_name_suffix = $p_expanded ? '_open' : '_closed';
    $t_filter = current_user_get_bug_filter();
    $t_filter = filter_ensure_valid_filter($t_filter);
    $t_project_id = helper_get_current_project();
    $t_page_number = (int) $p_page_number;
    $t_view_type = $t_filter['_view_type'];
    $t_tdclass = 'small-caption';
    $t_trclass = 'row-category2';
    $t_action = 'view_all_set.php?f=3';
    if ($p_for_screen == false) {
        $t_tdclass = 'print';
        $t_trclass = '';
        $t_action = 'view_all_set.php';
    }
    ?>

		<br />
		<form method="post" name="filters<?php 
    echo $t_form_name_suffix;
    ?>
" id="filters_form<?php 
    echo $t_form_name_suffix;
    ?>
" action="<?php 
    print $t_action;
    ?>
">
		<input type="hidden" name="type" value="1" />
		<?php 
    if ($p_for_screen == false) {
        print '<input type="hidden" name="print" value="1" />';
        print '<input type="hidden" name="offset" value="0" />';
    }
    ?>
		<input type="hidden" name="page_number" value="<?php 
    print $t_page_number;
    ?>
" />
		<input type="hidden" name="view_type" value="<?php 
    print $t_view_type;
    ?>
" />
		<table class="width100" cellspacing="1">

		<?php 
    $t_filter_cols = config_get('filter_custom_fields_per_row');
    if ($p_expanded) {
        $t_custom_cols = $t_filter_cols;
        $t_current_user_access_level = current_user_get_access_level();
        $t_accessible_custom_fields_ids = array();
        $t_accessible_custom_fields_names = array();
        $t_accessible_custom_fields_values = array();
        $t_num_custom_rows = 0;
        $t_per_row = 0;
        if (ON == config_get('filter_by_custom_fields')) {
            $t_custom_fields = custom_field_get_linked_ids($t_project_id);
            foreach ($t_custom_fields as $t_cfid) {
                $t_field_info = custom_field_cache_row($t_cfid, true);
                if ($t_field_info['access_level_r'] <= $t_current_user_access_level) {
                    $t_accessible_custom_fields_ids[] = $t_cfid;
                    $t_accessible_custom_fields_names[] = $t_field_info['name'];
                    $t_accessible_custom_fields_types[] = $t_field_info['type'];
                    $t_accessible_custom_fields_values[] = custom_field_distinct_values($t_cfid);
                }
            }
            if (count($t_accessible_custom_fields_ids) > 0) {
                $t_per_row = config_get('filter_custom_fields_per_row');
                $t_num_custom_rows = ceil(count($t_accessible_custom_fields_ids) / $t_per_row);
            }
        }
        $t_filters_url = 'view_filters_page.php?for_screen=' . $p_for_screen;
        if ('advanced' == $t_view_type) {
            $t_filters_url = $t_filters_url . '&amp;view_type=advanced';
        }
        $t_filters_url = $t_filters_url . '&amp;target_field=';
        $t_show_version = ON == config_get('show_product_version') || AUTO == config_get('show_product_version') && count(version_get_all_rows_with_subs($t_project_id)) > 0;
        # overload handler_id setting if user isn't supposed to see them (ref #6189)
        if (!access_has_project_level(config_get('view_handler_threshold'), $t_project_id)) {
            $t_filter['handler_id'] = array(META_FILTER_ANY);
        }
        ?>

		<tr <?php 
        print "class=\"" . $t_trclass . "\"";
        ?>
>
			<td class="small-caption" valign="top">
				<a href="<?php 
        print $t_filters_url . 'reporter_id[]';
        ?>
" id="reporter_id_filter"><?php 
        print lang_get('reporter');
        ?>
:</a>
			</td>
			<td class="small-caption" valign="top">
				<a href="<?php 
        print $t_filters_url . 'user_monitor[]';
        ?>
" id="user_monitor_filter"><?php 
        print lang_get('monitored_by');
        ?>
:</a>
			</td>
			<td class="small-caption" valign="top">
				<a href="<?php 
        print $t_filters_url . 'handler_id[]';
        ?>
" id="handler_id_filter"><?php 
        print lang_get('assigned_to');
        ?>
:</a>
			</td>
			<td colspan="2" class="small-caption" valign="top">
				<a href="<?php 
        print $t_filters_url . 'show_category[]';
        ?>
" id="show_category_filter"><?php 
        print lang_get('category');
        ?>
:</a>
			</td>
			<td class="small-caption" valign="top">
				<a href="<?php 
        print $t_filters_url . 'show_severity[]';
        ?>
" id="show_severity_filter"><?php 
        print lang_get('severity');
        ?>
:</a>
			</td>
			<td class="small-caption" valign="top">
				<a href="<?php 
        print $t_filters_url . 'show_resolution[]';
        ?>
" id="show_resolution_filter"><?php 
        print lang_get('resolution');
        ?>
:</a>
			</td>
			<td class="small-caption" valign="top">
				<a href="<?php 
        print $t_filters_url . 'show_profile[]';
        ?>
" id="show_profile_filter"><?php 
        print lang_get('profile');
        ?>
:</a>
			</td>
			<?php 
        if ($t_filter_cols > 8) {
            echo '<td class="small-caption" valign="top" colspan="' . ($t_filter_cols - 8) . '">&nbsp;</td>';
        }
        ?>
		</tr>

		<tr class="row-1">
			<td class="small-caption" valign="top" id="reporter_id_filter_target">
							<?php 
        $t_output = '';
        $t_any_found = false;
        if (count($t_filter['reporter_id']) == 0) {
            print lang_get('any');
        } else {
            $t_first_flag = true;
            foreach ($t_filter['reporter_id'] as $t_current) {
                $t_this_name = '';
                ?>
										<input type="hidden" name="reporter_id[]" value="<?php 
                echo $t_current;
                ?>
" />
										<?php 
                if ($t_current === 0 || is_blank($t_current) || META_FILTER_ANY == $t_current) {
                    $t_any_found = true;
                } else {
                    if (META_FILTER_MYSELF == $t_current) {
                        if (access_has_project_level(config_get('report_bug_threshold'))) {
                            $t_this_name = '[' . lang_get('myself') . ']';
                        } else {
                            $t_any_found = true;
                        }
                    } else {
                        if (META_FILTER_NONE == $t_current) {
                            $t_this_name = lang_get('none');
                        } else {
                            $t_this_name = user_get_name($t_current);
                        }
                    }
                }
                if ($t_first_flag != true) {
                    $t_output = $t_output . '<br />';
                } else {
                    $t_first_flag = false;
                }
                $t_output = $t_output . $t_this_name;
            }
            if (true == $t_any_found) {
                print lang_get('any');
            } else {
                print $t_output;
            }
        }
        ?>
			</td>
			<td class="small-caption" valign="top" id="user_monitor_filter_target">
							<?php 
        $t_output = '';
        $t_any_found = false;
        if (count($t_filter['user_monitor']) == 0) {
            print lang_get('any');
        } else {
            $t_first_flag = true;
            foreach ($t_filter['user_monitor'] as $t_current) {
                ?>
										<input type="hidden" name="user_monitor[]" value="<?php 
                echo $t_current;
                ?>
" />
										<?php 
                $t_this_name = '';
                if ($t_current === 0 || is_blank($t_current) || META_FILTER_ANY == $t_current) {
                    $t_any_found = true;
                } else {
                    if (META_FILTER_MYSELF == $t_current) {
                        if (access_has_project_level(config_get('monitor_bug_threshold'))) {
                            $t_this_name = '[' . lang_get('myself') . ']';
                        } else {
                            $t_any_found = true;
                        }
                    } else {
                        $t_this_name = user_get_name($t_current);
                    }
                }
                if ($t_first_flag != true) {
                    $t_output = $t_output . '<br />';
                } else {
                    $t_first_flag = false;
                }
                $t_output = $t_output . $t_this_name;
            }
            if (true == $t_any_found) {
                print lang_get('any');
            } else {
                print $t_output;
            }
        }
        ?>
			</td>
			<td class="small-caption" valign="top" id="handler_id_filter_target">
							<?php 
        $t_output = '';
        $t_any_found = false;
        if (count($t_filter['handler_id']) == 0) {
            print lang_get('any');
        } else {
            $t_first_flag = true;
            foreach ($t_filter['handler_id'] as $t_current) {
                ?>
										<input type="hidden" name="handler_id[]" value="<?php 
                echo $t_current;
                ?>
" />
										<?php 
                $t_this_name = '';
                if (META_FILTER_NONE == $t_current) {
                    $t_this_name = lang_get('none');
                } else {
                    if ($t_current === 0 || is_blank($t_current) || META_FILTER_ANY == $t_current) {
                        $t_any_found = true;
                    } else {
                        if (META_FILTER_MYSELF == $t_current) {
                            if (access_has_project_level(config_get('handle_bug_threshold'))) {
                                $t_this_name = '[' . lang_get('myself') . ']';
                            } else {
                                $t_any_found = true;
                            }
                        } else {
                            $t_this_name = user_get_name($t_current);
                        }
                    }
                }
                if ($t_first_flag != true) {
                    $t_output = $t_output . '<br />';
                } else {
                    $t_first_flag = false;
                }
                $t_output = $t_output . $t_this_name;
            }
            if (true == $t_any_found) {
                print lang_get('any');
            } else {
                print $t_output;
            }
        }
        ?>
			</td>
			<td colspan="2" class="small-caption" valign="top" id="show_category_filter_target">
							<?php 
        $t_output = '';
        $t_any_found = false;
        if (count($t_filter['show_category']) == 0) {
            print lang_get('any');
        } else {
            $t_first_flag = true;
            foreach ($t_filter['show_category'] as $t_current) {
                $t_current = stripslashes($t_current);
                ?>
										<input type="hidden" name="show_category[]" value="<?php 
                echo string_display($t_current);
                ?>
" />
										<?php 
                $t_this_string = '';
                if ($t_current == META_FILTER_ANY && is_numeric($t_current) || is_blank($t_current)) {
                    $t_any_found = true;
                } else {
                    $t_this_string = string_display($t_current);
                }
                if ($t_first_flag != true) {
                    $t_output = $t_output . '<br />';
                } else {
                    $t_first_flag = false;
                }
                $t_output = $t_output . $t_this_string;
            }
            if (true == $t_any_found) {
                print lang_get('any');
            } else {
                print $t_output;
            }
        }
        ?>
			</td>
			<td class="small-caption" valign="top" id="show_severity_filter_target">
							<?php 
        $t_output = '';
        $t_any_found = false;
        if (count($t_filter['show_severity']) == 0) {
            print lang_get('any');
        } else {
            $t_first_flag = true;
            foreach ($t_filter['show_severity'] as $t_current) {
                ?>
										<input type="hidden" name="show_severity[]" value="<?php 
                echo $t_current;
                ?>
" />
										<?php 
                $t_this_string = '';
                if ($t_current === META_FILTER_ANY || is_blank($t_current) || $t_current == 0) {
                    $t_any_found = true;
                } else {
                    $t_this_string = get_enum_element('severity', $t_current);
                }
                if ($t_first_flag != true) {
                    $t_output = $t_output . '<br />';
                } else {
                    $t_first_flag = false;
                }
                $t_output = $t_output . $t_this_string;
            }
            if (true == $t_any_found) {
                print lang_get('any');
            } else {
                print $t_output;
            }
        }
        ?>
			</td>
			<td class="small-caption" valign="top" id="show_resolution_filter_target">
							<?php 
        $t_output = '';
        $t_any_found = false;
        if (count($t_filter['show_resolution']) == 0) {
            print lang_get('any');
        } else {
            $t_first_flag = true;
            foreach ($t_filter['show_resolution'] as $t_current) {
                ?>
										<input type="hidden" name="show_resolution[]" value="<?php 
                echo $t_current;
                ?>
" />
										<?php 
                $t_this_string = '';
                if ($t_current === META_FILTER_ANY || is_blank($t_current) || $t_current === 0) {
                    $t_any_found = true;
                } else {
                    $t_this_string = get_enum_element('resolution', $t_current);
                }
                if ($t_first_flag != true) {
                    $t_output = $t_output . '<br />';
                } else {
                    $t_first_flag = false;
                }
                $t_output = $t_output . $t_this_string;
            }
            if (true == $t_any_found) {
                print lang_get('any');
            } else {
                print $t_output;
            }
        }
        ?>
			</td>
			<td class="small-caption" valign="top" id="show_profile_filter_target">
							<?php 
        $t_output = '';
        $t_any_found = false;
        if (count($t_filter['show_profile']) == 0) {
            print lang_get('any');
        } else {
            $t_first_flag = true;
            foreach ($t_filter['show_profile'] as $t_current) {
                ?>
										<input type="hidden" name="show_profile[]" value="<?php 
                echo $t_current;
                ?>
" />
										<?php 
                $t_this_string = '';
                if ($t_current === META_FILTER_ANY || is_blank($t_current) || $t_current === 0) {
                    $t_any_found = true;
                } else {
                    $t_profile = profile_get_row_direct($t_current);
                    $t_this_string = "{$t_profile['platform']} {$t_profile['os']} {$t_profile['os_build']}";
                }
                if ($t_first_flag != true) {
                    $t_output = $t_output . '<br />';
                } else {
                    $t_first_flag = false;
                }
                $t_output = $t_output . $t_this_string;
            }
            if (true == $t_any_found) {
                print lang_get('any');
            } else {
                print $t_output;
            }
        }
        ?>
			</td>
			<?php 
        if ($t_filter_cols > 8) {
            echo '<td class="small-caption" valign="top" colspan="' . ($t_filter_cols - 8) . '">&nbsp;</td>';
        }
        ?>
			</tr>

		<tr <?php 
        print "class=\"" . $t_trclass . "\"";
        ?>
>
			<td class="small-caption" valign="top">
				<a href="<?php 
        print $t_filters_url . 'show_status[]';
        ?>
" id="show_status_filter"><?php 
        print lang_get('status');
        ?>
:</a>
			</td>
			<td class="small-caption" valign="top">
				<?php 
        if ('simple' == $t_view_type) {
            ?>
					<a href="<?php 
            print $t_filters_url . 'hide_status[]';
            ?>
" id="hide_status_filter"><?php 
            print lang_get('hide_status');
            ?>
:</a>
				<?php 
        }
        ?>
			</td>
			<td class="small-caption" valign="top">
				<a href="<?php 
        print $t_filters_url . 'show_build[]';
        ?>
" id="show_build_filter"><?php 
        print lang_get('product_build');
        ?>
:</a>
			</td>
			<?php 
        if ($t_show_version) {
            ?>
			<td colspan="2" class="small-caption" valign="top">
				<a href="<?php 
            print $t_filters_url . 'show_version[]';
            ?>
" id="show_version_filter"><?php 
            print lang_get('product_version');
            ?>
:</a>
			</td>
			<td colspan="1" class="small-caption" valign="top">
				<a href="<?php 
            print $t_filters_url . 'fixed_in_version[]';
            ?>
" id="show_fixed_in_version_filter"><?php 
            print lang_get('fixed_in_version');
            ?>
:</a>
			</td>
			<?php 
        } else {
            ?>
			<td colspan="2" class="small-caption" valign="top">
				&nbsp;
			</td>
			<td colspan="1" class="small-caption" valign="top">
				&nbsp;
			</td>
			<?php 
        }
        ?>
			<td colspan="1" class="small-caption" valign="top">
				<a href="<?php 
        print $t_filters_url . 'show_priority[]';
        ?>
" id="show_priority_filter"><?php 
        print lang_get('priority');
        ?>
:</a>
			</td>
			<td colspan="1" class="small-caption" valign="top">
				<a href="<?php 
        echo $t_filters_url . 'target_version[]';
        ?>
" id="show_target_version_filter"><?php 
        echo lang_get('target_version');
        ?>
:</a>
			</td>
			<?php 
        if ($t_filter_cols > 8) {
            echo '<td class="small-caption" valign="top" colspan="' . ($t_filter_cols - 7) . '">&nbsp;</td>';
        }
        ?>
		</tr>

		<tr class="row-1">
			<td class="small-caption" valign="top" id="show_status_filter_target">
							<?php 
        $t_output = '';
        $t_any_found = false;
        if (count($t_filter['show_status']) == 0) {
            print lang_get('any');
        } else {
            $t_first_flag = true;
            foreach ($t_filter['show_status'] as $t_current) {
                ?>
										<input type="hidden" name="show_status[]" value="<?php 
                echo $t_current;
                ?>
" />
										<?php 
                $t_this_string = '';
                if ($t_current === META_FILTER_ANY || is_blank($t_current) || $t_current === 0) {
                    $t_any_found = true;
                } else {
                    $t_this_string = get_enum_element('status', $t_current);
                }
                if ($t_first_flag != true) {
                    $t_output = $t_output . '<br />';
                } else {
                    $t_first_flag = false;
                }
                $t_output = $t_output . $t_this_string;
            }
            if (true == $t_any_found) {
                print lang_get('any');
            } else {
                print $t_output;
            }
        }
        ?>
			</td>
			<td class="small-caption" valign="top" id="hide_status_filter_target">
							<?php 
        if ('simple' == $t_view_type) {
            $t_output = '';
            $t_none_found = false;
            if (count($t_filter['hide_status']) == 0) {
                print lang_get('none');
            } else {
                $t_first_flag = true;
                foreach ($t_filter['hide_status'] as $t_current) {
                    ?>
											<input type="hidden" name="hide_status[]" value="<?php 
                    echo $t_current;
                    ?>
" />
											<?php 
                    $t_this_string = '';
                    if ($t_current == META_FILTER_NONE || is_blank($t_current) || $t_current === 0) {
                        $t_none_found = true;
                    } else {
                        $t_this_string = get_enum_element('status', $t_current);
                    }
                    if ($t_first_flag != true) {
                        $t_output = $t_output . '<br />';
                    } else {
                        $t_first_flag = false;
                    }
                    $t_output = $t_output . $t_this_string;
                }
                $t_hide_status_post = '';
                if (count($t_filter['hide_status']) == 1) {
                    $t_hide_status_post = ' (' . lang_get('and_above') . ')';
                }
                if (true == $t_none_found) {
                    print lang_get('none');
                } else {
                    print $t_output . $t_hide_status_post;
                }
            }
        }
        ?>
			</td>
			<td class="small-caption" valign="top" id="show_build_filter_target">
							<?php 
        $t_output = '';
        $t_any_found = false;
        if (count($t_filter['show_build']) == 0) {
            print lang_get('any');
        } else {
            $t_first_flag = true;
            foreach ($t_filter['show_build'] as $t_current) {
                $t_current = stripslashes($t_current);
                ?>
										<input type="hidden" name="show_build[]" value="<?php 
                echo string_display($t_current);
                ?>
" />
										<?php 
                $t_this_string = '';
                if ($t_current == META_FILTER_ANY && is_numeric($t_current) || is_blank($t_current)) {
                    $t_any_found = true;
                } else {
                    if (META_FILTER_NONE == $t_current) {
                        $t_this_string = lang_get('none');
                    } else {
                        $t_this_string = string_display($t_current);
                    }
                }
                if ($t_first_flag != true) {
                    $t_output = $t_output . '<br />';
                } else {
                    $t_first_flag = false;
                }
                $t_output = $t_output . $t_this_string;
            }
            if (true == $t_any_found) {
                print lang_get('any');
            } else {
                print $t_output;
            }
        }
        ?>
			</td>
			<?php 
        if ($t_show_version) {
            ?>
			<td colspan="2" class="small-caption" valign="top" id="show_version_filter_target">
							<?php 
            $t_output = '';
            $t_any_found = false;
            if (count($t_filter['show_version']) == 0) {
                print lang_get('any');
            } else {
                $t_first_flag = true;
                foreach ($t_filter['show_version'] as $t_current) {
                    $t_current = stripslashes($t_current);
                    ?>
										<input type="hidden" name="show_version[]" value="<?php 
                    echo string_display($t_current);
                    ?>
" />
										<?php 
                    $t_this_string = '';
                    if ($t_current == META_FILTER_ANY && is_numeric($t_current) || is_blank($t_current)) {
                        $t_any_found = true;
                    } else {
                        if (META_FILTER_NONE == $t_current) {
                            $t_this_string = lang_get('none');
                        } else {
                            $t_this_string = string_display($t_current);
                        }
                    }
                    if ($t_first_flag != true) {
                        $t_output = $t_output . '<br />';
                    } else {
                        $t_first_flag = false;
                    }
                    $t_output = $t_output . $t_this_string;
                }
                if (true == $t_any_found) {
                    print lang_get('any');
                } else {
                    print $t_output;
                }
            }
            ?>
			</td>
			<td colspan="1" class="small-caption" valign="top" id="show_fixed_in_version_filter_target">
							<?php 
            $t_output = '';
            $t_any_found = false;
            if (count($t_filter['fixed_in_version']) == 0) {
                print lang_get('any');
            } else {
                $t_first_flag = true;
                foreach ($t_filter['fixed_in_version'] as $t_current) {
                    $t_current = stripslashes($t_current);
                    ?>
										<input type="hidden" name="fixed_in_version[]" value="<?php 
                    echo string_display($t_current);
                    ?>
" />
										<?php 
                    $t_this_string = '';
                    if ($t_current == META_FILTER_ANY && is_numeric($t_current) || is_blank($t_current)) {
                        $t_any_found = true;
                    } else {
                        if (META_FILTER_NONE == $t_current) {
                            $t_this_string = lang_get('none');
                        } else {
                            $t_this_string = string_display($t_current);
                        }
                    }
                    if ($t_first_flag != true) {
                        $t_output = $t_output . '<br />';
                    } else {
                        $t_first_flag = false;
                    }
                    $t_output = $t_output . $t_this_string;
                }
                if (true == $t_any_found) {
                    print lang_get('any');
                } else {
                    print $t_output;
                }
            }
            ?>
			</td>
			<?php 
        } else {
            ?>
			<td colspan="2" class="small-caption" valign="top">
				&nbsp;
			</td>
			<td colspan="1" class="small-caption" valign="top">
				&nbsp;
			</td>
			<?php 
        }
        ?>
			<td colspan="1" class="small-caption" valign="top" id="show_priority_filter_target">
              <?php 
        $t_output = '';
        $t_any_found = false;
        if (count($t_filter['show_priority']) == 0) {
            print lang_get('any');
        } else {
            $t_first_flag = true;
            foreach ($t_filter['show_priority'] as $t_current) {
                ?>
										<input type="hidden" name="show_priority[]" value="<?php 
                echo $t_current;
                ?>
" />
										<?php 
                $t_this_string = '';
                if ($t_current === META_FILTER_ANY || is_blank($t_current) || $t_current === 0) {
                    $t_any_found = true;
                } else {
                    $t_this_string = get_enum_element('priority', $t_current);
                }
                if ($t_first_flag != true) {
                    $t_output = $t_output . '<br />';
                } else {
                    $t_first_flag = false;
                }
                $t_output = $t_output . $t_this_string;
            }
            if (true == $t_any_found) {
                print lang_get('any');
            } else {
                print $t_output;
            }
        }
        ?>
	    	</td>
			<td colspan="1" class="small-caption" valign="top" id="show_target_version_filter_target">
							<?php 
        $t_output = '';
        $t_any_found = false;
        if (count($t_filter['target_version']) == 0) {
            print lang_get('any');
        } else {
            $t_first_flag = true;
            foreach ($t_filter['target_version'] as $t_current) {
                $t_current = stripslashes($t_current);
                ?>
										<input type="hidden" name="target_version[]" value="<?php 
                echo string_display($t_current);
                ?>
" />
										<?php 
                $t_this_string = '';
                if ($t_current == META_FILTER_ANY && is_numeric($t_current) || is_blank($t_current)) {
                    $t_any_found = true;
                } else {
                    if (META_FILTER_NONE == $t_current) {
                        $t_this_string = lang_get('none');
                    } else {
                        $t_this_string = string_display($t_current);
                    }
                }
                if ($t_first_flag != true) {
                    $t_output = $t_output . '<br />';
                } else {
                    $t_first_flag = false;
                }
                $t_output = $t_output . $t_this_string;
            }
            if (true == $t_any_found) {
                print lang_get('any');
            } else {
                print $t_output;
            }
        }
        ?>
			</td>
			<?php 
        if ($t_filter_cols > 8) {
            echo '<td class="small-caption" valign="top" colspan="' . ($t_filter_cols - 7) . '">&nbsp;</td>';
        }
        ?>

		</tr>

		<tr <?php 
        print "class=\"" . $t_trclass . "\"";
        ?>
>
			<td class="small-caption" valign="top">
				<a href="<?php 
        print $t_filters_url . 'per_page';
        ?>
" id="per_page_filter"><?php 
        print lang_get('show');
        ?>
:</a>
			</td>
			<td class="small-caption" valign="top">
				<a href="<?php 
        print $t_filters_url . 'view_state';
        ?>
" id="view_state_filter"><?php 
        print lang_get('view_status');
        ?>
:</a>
			</td>
			<td class="small-caption" valign="top">
				<a href="<?php 
        print $t_filters_url . 'sticky_issues';
        ?>
" id="sticky_issues_filter"><?php 
        print lang_get('sticky');
        ?>
:</a>
			</td>
			<td class="small-caption" valign="top" colspan="2">
				<a href="<?php 
        print $t_filters_url . 'highlight_changed';
        ?>
" id="highlight_changed_filter"><?php 
        print lang_get('changed');
        ?>
:</a>
			</td>
			<td class="small-caption" valign="top" >
				<a href="<?php 
        print $t_filters_url . 'do_filter_by_date';
        ?>
" id="do_filter_by_date_filter"><?php 
        print lang_get('use_date_filters');
        ?>
:</a>
			</td>
			<td class="small-caption" valign="top" colspan="2">
				<a href="<?php 
        print $t_filters_url . 'relationship_type';
        ?>
" id="relationship_type_filter"><?php 
        print lang_get('bug_relationships');
        ?>
:</a>
			</td>
			<?php 
        if ($t_filter_cols > 8) {
            echo '<td class="small-caption" valign="top" colspan="' . ($t_filter_cols - 8) . '">&nbsp;</td>';
        }
        ?>
		</tr>
		<tr class="row-1">
			<td class="small-caption" valign="top" id="per_page_filter_target">
				<?php 
        echo $t_filter['per_page'] == 0 ? lang_get('all') : $t_filter['per_page'];
        ?>
				<input type="hidden" name="per_page" value="<?php 
        echo $t_filter['per_page'];
        ?>
" />
			</td>
			<td class="small-caption" valign="top" id="view_state_filter_target">
				<?php 
        if (VS_PUBLIC === $t_filter['view_state']) {
            print lang_get('public');
        } else {
            if (VS_PRIVATE === $t_filter['view_state']) {
                print lang_get('private');
            } else {
                print lang_get('any');
                $t_filter['view_state'] = META_FILTER_ANY;
            }
        }
        ?>
				<input type="hidden" name="view_state" value="<?php 
        echo $t_filter['view_state'];
        ?>
" />
			</td>
			<td class="small-caption" valign="top" id="sticky_issues_filter_target">
				<?php 
        $t_sticky_filter_state = gpc_string_to_bool($t_filter['sticky_issues']);
        print $t_sticky_filter_state ? lang_get('yes') : lang_get('no');
        ?>
				<input type="hidden" name="sticky_issues" value="<?php 
        echo $t_sticky_filter_state ? 'on' : 'off';
        ?>
" />
			</td>
			<td class="small-caption" valign="top" colspan="2" id="highlight_changed_filter_target">
				<?php 
        print $t_filter['highlight_changed'];
        ?>
				<input type="hidden" name="highlight_changed" value="<?php 
        echo $t_filter['highlight_changed'];
        ?>
" />
			</td>
			<td class="small-caption" valign="top"  id="do_filter_by_date_filter_target">
							<?php 
        if (ON == config_get('dhtml_filters') && ON == config_get('use_javascript')) {
            ?>
		<script type="text/javascript" language="JavaScript">
		<!--
			function SwitchDateFields() {
		    	// All fields need to be enabled to go back to the script
				document.filters_open.start_month.disabled = ! document.filters_open.do_filter_by_date.checked;
				document.filters_open.start_day.disabled = ! document.filters_open.do_filter_by_date.checked;
				document.filters_open.start_year.disabled = ! document.filters_open.do_filter_by_date.checked;
				document.filters_open.end_month.disabled = ! document.filters_open.do_filter_by_date.checked;
				document.filters_open.end_day.disabled = ! document.filters_open.do_filter_by_date.checked;
				document.filters_open.end_year.disabled = ! document.filters_open.do_filter_by_date.checked;

		   		return true;
			}
		// -->
		</script>
							<?php 
        }
        # end if dhtml_filters
        if ('on' == $t_filter['do_filter_by_date']) {
            ?>
								<input type="hidden" name="do_filter_by_date" value="<?php 
            echo $t_filter['do_filter_by_date'];
            ?>
" />
								<input type="hidden" name="start_month" value="<?php 
            echo $t_filter['start_month'];
            ?>
" />
								<input type="hidden" name="start_day" value="<?php 
            echo $t_filter['start_day'];
            ?>
" />
								<input type="hidden" name="start_year" value="<?php 
            echo $t_filter['start_year'];
            ?>
" />
								<input type="hidden" name="end_month" value="<?php 
            echo $t_filter['end_month'];
            ?>
" />
								<input type="hidden" name="end_day" value="<?php 
            echo $t_filter['end_day'];
            ?>
" />
								<input type="hidden" name="end_year" value="<?php 
            echo $t_filter['end_year'];
            ?>
" />
								<?php 
            $t_chars = preg_split('//', config_get('short_date_format'), -1, PREG_SPLIT_NO_EMPTY);
            $t_time = mktime(0, 0, 0, $t_filter['start_month'], $t_filter['start_day'], $t_filter['start_year']);
            foreach ($t_chars as $t_char) {
                if (strcasecmp($t_char, "M") == 0) {
                    print ' ';
                    print date('F', $t_time);
                }
                if (strcasecmp($t_char, "D") == 0) {
                    print ' ';
                    print date('d', $t_time);
                }
                if (strcasecmp($t_char, "Y") == 0) {
                    print ' ';
                    print date('Y', $t_time);
                }
            }
            print ' - ';
            $t_time = mktime(0, 0, 0, $t_filter['end_month'], $t_filter['end_day'], $t_filter['end_year']);
            foreach ($t_chars as $t_char) {
                if (strcasecmp($t_char, "M") == 0) {
                    print ' ';
                    print date('F', $t_time);
                }
                if (strcasecmp($t_char, "D") == 0) {
                    print ' ';
                    print date('d', $t_time);
                }
                if (strcasecmp($t_char, "Y") == 0) {
                    print ' ';
                    print date('Y', $t_time);
                }
            }
        } else {
            print lang_get('no');
        }
        ?>
			</td>

			<td class="small-caption" valign="top" colspan="2" id="relationship_type_filter_target">
							<input type="hidden" name="relationship_type" value="<?php 
        echo $t_filter['relationship_type'];
        ?>
" />
							<input type="hidden" name="relationship_bug" value="<?php 
        echo $t_filter['relationship_bug'];
        ?>
" />
							<?php 
        $c_rel_type = $t_filter['relationship_type'];
        $c_rel_bug = $t_filter['relationship_bug'];
        if (-1 == $c_rel_type || 0 == $c_rel_bug) {
            print lang_get('any');
        } else {
            print relationship_get_description_for_history($c_rel_type) . ' ' . $c_rel_bug;
        }
        ?>
			</td>
			<?php 
        if ($t_filter_cols > 8) {
            echo '<td class="small-caption" valign="top" colspan="' . ($t_filter_cols - 8) . '">&nbsp;</td>';
        }
        ?>
		</tr>
		<tr <?php 
        print "class=\"" . $t_trclass . "\"";
        ?>
>
			<td class="small-caption" valign="top">
				<a href="<?php 
        echo $t_filters_url . 'platform';
        ?>
" id="platform_filter"><?php 
        echo lang_get('platform');
        ?>
:</a>
			</td>
			<td class="small-caption" valign="top">
				<a href="<?php 
        print $t_filters_url . 'os';
        ?>
" id="os_filter"><?php 
        echo lang_get('os');
        ?>
:</a>
			</td>
			<td class="small-caption" valign="top">
				<a href="<?php 
        print $t_filters_url . 'os_build';
        ?>
" id="os_build_filter"><?php 
        echo lang_get('os_version');
        ?>
:</a>
			</td>
			<td class="small-caption" valign="top" colspan="5">
				<?php 
        if (access_has_global_level(config_get('tag_view_threshold'))) {
            ?>
				<a href="<?php 
            print $t_filters_url . 'tag_string';
            ?>
" id="tag_string_filter"><?php 
            echo lang_get('tags');
            ?>
:</a>
				<?php 
        }
        ?>
			</td>
			<?php 
        if ($t_filter_cols > 8) {
            echo '<td class="small-caption" valign="top" colspan="' . ($t_filter_cols - 8) . '">&nbsp;</td>';
        }
        ?>
		</tr>
		<tr class="row-1">
			<td class="small-caption" valign="top" id="platform_filter_target">
				<?php 
        print_multivalue_field(FILTER_PROPERTY_PLATFORM, $t_filter[FILTER_PROPERTY_PLATFORM]);
        ?>
			</td>
			<td class="small-caption" valign="top" id="os_filter_target">
				<?php 
        print_multivalue_field(FILTER_PROPERTY_OS, $t_filter[FILTER_PROPERTY_OS]);
        ?>
			</td>
			<td class="small-caption" valign="top" id="os_build_filter_target">
				<?php 
        print_multivalue_field(FILTER_PROPERTY_OS_BUILD, $t_filter[FILTER_PROPERTY_OS_BUILD]);
        ?>
			</td>
			<td class="small-caption" valign="top" id="tag_string_filter_target" colspan="5">
				<?php 
        $t_tag_string = $t_filter['tag_string'];
        if ($t_filter['tag_select'] != 0) {
            $t_tag_string .= is_blank($t_tag_string) ? '' : config_get('tag_separator');
            $t_tag_string .= tag_get_field($t_filter['tag_select'], 'name');
        }
        print $t_tag_string;
        ?>
				<input type="hidden" name="tag_string" value="<?php 
        echo $t_tag_string;
        ?>
"/>
			</td>
		</tr>
		<?php 
        if (ON == config_get('filter_by_custom_fields')) {
            # -- Custom Field Searching --
            if (count($t_accessible_custom_fields_ids) > 0) {
                $t_per_row = config_get('filter_custom_fields_per_row');
                $t_num_fields = count($t_accessible_custom_fields_ids);
                $t_row_idx = 0;
                $t_col_idx = 0;
                $t_fields = "";
                $t_values = "";
                for ($i = 0; $i < $t_num_fields; $i++) {
                    if ($t_col_idx == 0) {
                        $t_fields = '<tr class="' . $t_trclass . '">';
                        $t_values = '<tr class="row-1">';
                    }
                    if (isset($t_accessible_custom_fields_names[$i])) {
                        $t_fields .= '<td class="small-caption" valign="top"> ';
                        $t_fields .= '<a href="' . $t_filters_url . 'custom_field_' . $t_accessible_custom_fields_ids[$i] . '[]" id="custom_field_' . $t_accessible_custom_fields_ids[$i] . '_filter">';
                        $t_fields .= string_display(lang_get_defaulted($t_accessible_custom_fields_names[$i]));
                        $t_fields .= '</a> </td> ';
                    }
                    $t_output = '';
                    $t_any_found = false;
                    $t_values .= '<td class="small-caption" valign="top" id="custom_field_' . $t_accessible_custom_fields_ids[$i] . '_filter_target"> ';
                    if (!isset($t_filter['custom_fields'][$t_accessible_custom_fields_ids[$i]])) {
                        $t_values .= lang_get('any');
                    } else {
                        if ($t_accessible_custom_fields_types[$i] == CUSTOM_FIELD_TYPE_DATE) {
                            # @@@ moved embedded javascript here from print_filter_custom_field_date
                            #  it appears not to load properly on Firefox and other browsers if loaded through the httpxmlreq
                            $t_field_id = $t_accessible_custom_fields_ids[$i];
                            $t_js_toggle_func = "toggle_custom_date_field_" . $t_field_id . "_controls";
                            if (ON == config_get('dhtml_filters') && ON == config_get('use_javascript')) {
                                ?>
	<script type="text/javascript" language="JavaScript">
	<!--
	function <?php 
                                echo $t_js_toggle_func . "_start";
                                ?>
(disable) {
			document.filters_open.custom_field_<?php 
                                echo $t_field_id;
                                ?>
_start_year.disabled = disable ;
			document.filters_open.custom_field_<?php 
                                echo $t_field_id;
                                ?>
_start_month.disabled = disable ;
			document.filters_open.custom_field_<?php 
                                echo $t_field_id;
                                ?>
_start_day.disabled = disable ;
	} ;

	function <?php 
                                echo $t_js_toggle_func . "_end";
                                ?>
(disable) {
			document.filters_open.custom_field_<?php 
                                echo $t_field_id;
                                ?>
_end_year.disabled = disable ;
			document.filters_open.custom_field_<?php 
                                echo $t_field_id;
                                ?>
_end_month.disabled = disable ;
			document.filters_open.custom_field_<?php 
                                echo $t_field_id;
                                ?>
_end_day.disabled = disable ;
	} ;

	function <?php 
                                echo $t_js_toggle_func;
                                ?>
() {
		switch (document.filters_open.custom_field_<?php 
                                echo $t_field_id;
                                ?>
_control.selectedIndex) {
		case <?php 
                                echo CUSTOM_FIELD_DATE_ANY;
                                ?>
:
		case <?php 
                                echo CUSTOM_FIELD_DATE_NONE;
                                ?>
:
			<?php 
                                echo $t_js_toggle_func . "_start";
                                ?>
(true) ;
			<?php 
                                echo $t_js_toggle_func . "_end";
                                ?>
(true) ;
			break ;
		case <?php 
                                echo CUSTOM_FIELD_DATE_BETWEEN;
                                ?>
:
			<?php 
                                echo $t_js_toggle_func . "_start";
                                ?>
(false) ;
			<?php 
                                echo $t_js_toggle_func . "_end";
                                ?>
(false) ;
			break ;
		default:
			<?php 
                                echo $t_js_toggle_func . "_start";
                                ?>
(false) ;
			<?php 
                                echo $t_js_toggle_func . "_end";
                                ?>
(true) ;
			break ;
		}
	}
	// -->
	</script>
<?php 
                            }
                            # end if dhtml_filters
                            $t_short_date_format = config_get('short_date_format');
                            if (!isset($t_filter['custom_fields'][$t_accessible_custom_fields_ids[$i]][1])) {
                                $t_filter['custom_fields'][$t_accessible_custom_fields_ids[$i]][1] = 0;
                            }
                            $t_start = date($t_short_date_format, $t_filter['custom_fields'][$t_accessible_custom_fields_ids[$i]][1]);
                            if (!isset($t_filter['custom_fields'][$t_accessible_custom_fields_ids[$i]][2])) {
                                $t_filter['custom_fields'][$t_accessible_custom_fields_ids[$i]][2] = 0;
                            }
                            $t_end = date($t_short_date_format, $t_filter['custom_fields'][$t_accessible_custom_fields_ids[$i]][2]);
                            switch ($t_filter['custom_fields'][$t_accessible_custom_fields_ids[$i]][0]) {
                                case CUSTOM_FIELD_DATE_ANY:
                                    $t_values .= lang_get('any');
                                    break;
                                case CUSTOM_FIELD_DATE_NONE:
                                    $t_values .= lang_get('none');
                                    break;
                                case CUSTOM_FIELD_DATE_BETWEEN:
                                    $t_values .= lang_get('between') . '<br />';
                                    $t_values .= $t_start . '<br />' . $t_end;
                                    break;
                                case CUSTOM_FIELD_DATE_ONORBEFORE:
                                    $t_values .= lang_get('on_or_before') . '<br />';
                                    $t_values .= $t_end;
                                    break;
                                case CUSTOM_FIELD_DATE_BEFORE:
                                    $t_values .= lang_get('before') . '<br />';
                                    $t_values .= $t_end;
                                    break;
                                case CUSTOM_FIELD_DATE_ON:
                                    $t_values .= lang_get('on') . '<br />';
                                    $t_values .= $t_start;
                                    break;
                                case CUSTOM_FIELD_DATE_AFTER:
                                    $t_values .= lang_get('after') . '<br />';
                                    $t_values .= $t_start;
                                    break;
                                case CUSTOM_FIELD_DATE_ONORAFTER:
                                    $t_values .= lang_get('on_or_after') . '<br />';
                                    $t_values .= $t_start;
                                    break;
                            }
                        } else {
                            $t_first_flag = true;
                            foreach ($t_filter['custom_fields'][$t_accessible_custom_fields_ids[$i]] as $t_current) {
                                $t_current = stripslashes($t_current);
                                $t_this_string = '';
                                if ($t_current == META_FILTER_ANY && is_numeric($t_current) || is_blank($t_current)) {
                                    $t_any_found = true;
                                } else {
                                    if (META_FILTER_NONE == $t_current && is_numeric($t_current)) {
                                        $t_this_string = lang_get('none');
                                    } else {
                                        $t_this_string = string_display($t_current);
                                    }
                                }
                                if ($t_first_flag != true) {
                                    $t_output = $t_output . '<br />';
                                } else {
                                    $t_first_flag = false;
                                }
                                $t_output = $t_output . $t_this_string;
                                $t_values .= '<input type="hidden" name="custom_field_' . $t_accessible_custom_fields_ids[$i] . '[]" value="' . string_display($t_current) . '" />';
                            }
                        }
                        if (true == $t_any_found) {
                            $t_values .= lang_get('any');
                        } else {
                            $t_values .= $t_output;
                        }
                    }
                    $t_values .= ' </td>';
                    $t_col_idx++;
                    if ($t_col_idx == $t_per_row) {
                        if ($t_filter_cols > $t_per_row) {
                            $t_fields .= '<td colspan="' . ($t_filter_cols - $t_per_row) . '">&nbsp;</td> ';
                            $t_values .= '<td colspan="' . ($t_filter_cols - $t_per_row) . '">&nbsp;</td> ';
                        }
                        $t_fields .= '</tr>' . "\n";
                        $t_values .= '</tr>' . "\n";
                        echo $t_fields;
                        echo $t_values;
                        $t_col_idx = 0;
                        $t_row_idx++;
                    }
                }
                if ($t_col_idx > 0) {
                    if ($t_col_idx < $t_per_row) {
                        $t_fields .= '<td colspan="' . ($t_per_row - $t_col_idx) . '">&nbsp;</td> ';
                        $t_values .= '<td colspan="' . ($t_per_row - $t_col_idx) . '">&nbsp;</td> ';
                    }
                    if ($t_filter_cols > $t_per_row) {
                        $t_fields .= '<td colspan="' . ($t_filter_cols - $t_per_row) . '">&nbsp;</td> ';
                        $t_values .= '<td colspan="' . ($t_filter_cols - $t_per_row) . '">&nbsp;</td> ';
                    }
                    $t_fields .= '</tr>' . "\n";
                    $t_values .= '</tr>' . "\n";
                    echo $t_fields;
                    echo $t_values;
                }
            }
        }
        ?>
		<tr class="row-1">
			<td class="small-caption" valign="top">
				<a href="<?php 
        print $t_filters_url . 'show_sort';
        ?>
" id="show_sort_filter"><?php 
        print lang_get('sort');
        ?>
:</a>
			</td>
			<td class="small-caption" valign="top" colspan="2" id="show_sort_filter_target">
				<?php 
        $t_sort_fields = split(',', $t_filter['sort']);
        $t_dir_fields = split(',', $t_filter['dir']);
        for ($i = 0; $i < 2; $i++) {
            if (isset($t_sort_fields[$i])) {
                if (0 < $i) {
                    echo ", ";
                }
                $t_sort = $t_sort_fields[$i];
                if (strpos($t_sort, 'custom_') === 0) {
                    $t_field_name = string_display(lang_get_defaulted(substr($t_sort, strlen('custom_'))));
                } else {
                    $t_field_name = string_get_field_name($t_sort);
                }
                echo $t_field_name . " " . lang_get('bugnote_order_' . strtolower($t_dir_fields[$i]));
                echo "<input type=\"hidden\" name=\"sort_{$i}\" value=\"{$t_sort_fields[$i]}\" />";
                echo "<input type=\"hidden\" name=\"dir_{$i}\" value=\"{$t_dir_fields[$i]}\" />";
            }
        }
        ?>
			</td>
			<?php 
        if ('advanced' == $t_view_type) {
            ?>
					<td class="small-caption" valign="top" colspan="2">
						<a href="<?php 
            print $t_filters_url . 'project_id';
            ?>
" id="project_id_filter"><?php 
            print lang_get('email_project');
            ?>
:</a>
					</td>
					<td class="small-caption" valign="top"  id="project_id_filter_target">
						<?php 
            $t_output = '';
            if (!is_array($t_filter['project_id'])) {
                $t_filter['project_id'] = array($t_filter['project_id']);
            }
            if (count($t_filter['project_id']) == 0) {
                print lang_get('current');
            } else {
                $t_first_flag = true;
                foreach ($t_filter['project_id'] as $t_current) {
                    ?>
									<input type="hidden" name="project_id[]" value="<?php 
                    echo $t_current;
                    ?>
" />
									<?php 
                    $t_this_name = '';
                    if (META_FILTER_CURRENT == $t_current) {
                        $t_this_name = lang_get('current');
                    } else {
                        $t_this_name = project_get_name($t_current);
                    }
                    if ($t_first_flag != true) {
                        $t_output = $t_output . '<br />';
                    } else {
                        $t_first_flag = false;
                    }
                    $t_output = $t_output . $t_this_name;
                }
                print $t_output;
            }
            ?>
					</td>
					<?php 
            if ($t_filter_cols > 6) {
                echo '<td class="small-caption" valign="top" colspan="' . ($t_filter_cols - 5) . '">&nbsp;</td>';
            }
        } else {
            if ($t_filter_cols > 3) {
                echo '<td class="small-caption" valign="top" colspan="' . ($t_filter_cols - 2) . '">&nbsp;</td>';
            }
        }
        ?>
		</tr>
		<?php 
    }
    // expanded
    ?>
		<tr>
			<td colspan="2">
				<?php 
    collapse_icon('filter');
    echo lang_get('search');
    ?>
:
				<input type="text" size="16" name="search" value="<?php 
    print string_html_specialchars($t_filter['search']);
    ?>
" />

				<input type="submit" name="filter" class="button-small" value="<?php 
    print lang_get('filter_button');
    ?>
" />
			</td>
			</form>
			<td class="center" colspan="<?php 
    echo $t_filter_cols - 6;
    ?>
"> <!-- use this label for padding -->
				<?php 
    if (ON == config_get('dhtml_filters')) {
        $f_switch_view_link = 'view_all_set.php?type=6&amp;view_type=';
    } else {
        $f_switch_view_link = 'view_filters_page.php?view_type=';
    }
    if (SIMPLE_ONLY != config_get('view_filters') && ADVANCED_ONLY != config_get('view_filters')) {
        if ('advanced' == $t_view_type) {
            print_bracket_link($f_switch_view_link . 'simple', lang_get('simple_filters'));
        } else {
            print_bracket_link($f_switch_view_link . 'advanced', lang_get('advanced_filters'));
        }
        print_bracket_link('permalink_page.php?url=' . urlencode(filter_get_url($t_filter)), lang_get('create_filter_link'), true);
    }
    ?>
			</td>
			<td class="right" colspan="4">
			<?php 
    $t_stored_queries_arr = array();
    $t_stored_queries_arr = filter_db_get_available_queries();
    if (count($t_stored_queries_arr) > 0) {
        ?>
					<form method="get" name="list_queries<?php 
        echo $t_form_name_suffix;
        ?>
" action="view_all_set.php">
					<input type="hidden" name="type" value="3" />
					<?php 
        if (ON == config_get('use_javascript')) {
            echo "<select name=\"source_query_id\" onchange=\"document.forms.list_queries{$t_form_name_suffix}.submit();\">";
        } else {
            print '<select name="source_query_id">';
        }
        ?>
					<option value="-1"><?php 
        print '[' . lang_get('reset_query') . ']';
        ?>
</option>
					<option value="-1"></option>
					<?php 
        foreach ($t_stored_queries_arr as $t_query_id => $t_query_name) {
            print '<option value="' . $t_query_id . '">' . $t_query_name . '</option>';
        }
        ?>
					</select>
					<input type="submit" name="switch_to_query_button" class="button-small" value="<?php 
        print lang_get('use_query');
        ?>
" />
					</form>
					<form method="post" name="open_queries" action="query_view_page.php">
					<input type="submit" name="switch_to_query_button" class="button-small" value="<?php 
        print lang_get('open_queries');
        ?>
" />
					</form>
				<?php 
    } else {
        ?>
					<form method="get" name="reset_query" action="view_all_set.php">
					<input type="hidden" name="type" value="3" />
					<input type="hidden" name="source_query_id" value="-1" />
					<input type="submit" name="reset_query_button" class="button-small" value="<?php 
        print lang_get('reset_query');
        ?>
" />
					</form>
				<?php 
    }
    if (access_has_project_level(config_get('stored_query_create_threshold'))) {
        ?>
					<form method="post" name="save_query" action="query_store_page.php">
					<input type="submit" name="save_query_button" class="button-small" value="<?php 
        print lang_get('save_query');
        ?>
" />
					</form>
			<?php 
    } else {
        ?>
			<?php 
    }
    ?>
			</td>
		</tr>
		</table>
<?php 
}
Exemplo n.º 18
0
        ?>
								</select>
							<?php 
    } else {
        echo '<input type="text" id="os_build" name="os_build" class="autocomplete" size="16" maxlength="16" tabindex="' . helper_get_tab_index_value() . '" value="' . string_attribute($f_os_build) . '" />';
    }
    ?>
						</td>
					</tr>
			<?php 
    if (ON == config_get('use_javascript')) {
        ?>
			</table>
			<?php 
        collapse_closed('profile');
        collapse_icon('profile');
        echo lang_get('or_fill_in');
        ?>
			<?php 
        collapse_end('profile');
        ?>
		<?php 
    }
    ?>
		</td>
	</tr>
<?php 
}
if ($t_show_product_version) {
    $t_product_version_released_mask = VERSION_RELEASED;
    if (access_has_project_level(config_get('report_issues_for_unreleased_versions_threshold'))) {
Exemplo n.º 19
0
?>
		<br /><br />
		<form method="get" action="bug_monitor_add.php">
		<?php echo form_security_field( 'bug_monitor_add' ) ?>
			<input type="hidden" name="bug_id" value="<?php echo (integer)$f_bug_id; ?>" />
			<label for="bug_monitor_list_username"><?php echo lang_get( 'username' ) ?></label>
			<input type="text" id="bug_monitor_list_username" name="username" />
			<input type="submit" class="button" value="<?php echo lang_get( 'add_user_to_monitor' ) ?>" />
		</form>
		<?php } ?>
	</td>
</tr>
</table>
<?php
	collapse_closed( 'monitoring' );
?>
<table class="width100" cellspacing="1">
<tr>
	<td class="form-title" colspan="2"><?php collapse_icon( 'monitoring' ); ?>
		<?php echo lang_get( 'users_monitoring_bug' ); ?>
	</td>
</tr>
</table>
<?php
	collapse_end( 'monitoring' );
?>

<?php
} # show monitor list

Exemplo n.º 20
0
    echo string_display($t_item['note']);
    ?>
			</td>
			<td class="small-caption">
				<?php 
    echo $t_item['raw'] ? string_display_line_links($t_item['change']) : $t_item['change'];
    ?>
			</td>
		</tr>
<?php 
}
# end for loop
?>
	</tbody>
</table>
<?php 
collapse_closed('history');
?>
<table class="width100" cellspacing="0">
<tr>
	<td class="form-title" colspan="4">
	<?php 
collapse_icon('history');
echo lang_get('bug_history');
?>
	</td>
</tr>
</table>

<?php 
collapse_end('history');
Exemplo n.º 21
0
	</td>
</tr>
<?php event_signal( 'EVENT_VIEW_BUGNOTE', array( $f_bug_id, $t_bugnote->id, VS_PRIVATE == $t_bugnote->view_state ) ); ?>
<tr class="spacer">
	<td colspan="2"></td>
</tr>
<?php
	} # end for loop

	event_signal( 'EVENT_VIEW_BUGNOTES_END', $f_bug_id );
?>
</table>
<?php

if ( $t_total_time > 0 && access_has_bug_level( config_get( 'time_tracking_view_threshold' ), $f_bug_id ) ) {
	echo '<p class="time-tracking-total">', sprintf ( lang_get( 'total_time_for_issue' ), '<span class="time-tracked">' . db_minutes_to_hhmm( $t_total_time ) . '</span>' ), '</p>';
}
	collapse_closed( 'bugnotes' );
?>

<table class="width100" cellspacing="1">
<tr>
	<td class="form-title" colspan="2">
		<?php collapse_icon( 'bugnotes' ); ?>
		<?php echo lang_get( 'bug_notes_title' ) ?>
	</td>
</tr>
</table>
<?php
	collapse_end( 'bugnotes' );