Skip to content

Commit

Permalink
Added a page index at the top. This allows quick jumping to any page in
Browse files Browse the repository at this point in the history
the list.


git-svn-id: http://mantisbt.svn.sourceforge.net/svnroot/mantisbt/trunk@573 f5dc347c-c33d-0410-90a0-b07cc1902cb9
  • Loading branch information
cyclespersecond committed Dec 26, 2001
1 parent a8dc528 commit e259efb
Show file tree
Hide file tree
Showing 2 changed files with 112 additions and 36 deletions.
86 changes: 70 additions & 16 deletions view_all_bug_page.php3
Expand Up @@ -30,8 +30,12 @@
$f_search_text = false;
}

if ( !isset( $f_offset ) ) {
$f_offset = 0;
if ( !isset( $f_page_number ) ) {
$f_page_number = 1;
}

if ( !isset( $f_per_page ) ) {
$f_per_page = 4;
}

if ( !isset( $f_hide_closed ) ) {
Expand All @@ -46,7 +50,7 @@
$f_show_category."#".
$f_show_severity."#".
$f_show_status."#".
$f_limit_view."#".
$f_per_page."#".
$f_highlight_changed."#".
$f_hide_closed."#".
$f_user_id."#".
Expand All @@ -61,7 +65,7 @@
$f_show_category = $t_setting_arr[1];
$f_show_severity = $t_setting_arr[2];
$f_show_status = $t_setting_arr[3];
$f_limit_view = $t_setting_arr[4];
$f_per_page = $t_setting_arr[4];
$f_highlight_changed = $t_setting_arr[5];
$f_hide_closed = $t_setting_arr[6];
$f_user_id = $t_setting_arr[7];
Expand All @@ -78,7 +82,7 @@
$f_show_category."#".
$f_show_severity."#".
$f_show_status."#".
$f_limit_view."#".
$f_per_page."#".
$f_highlight_changed."#".
$f_hide_closed."#".
$f_user_id."#".
Expand All @@ -94,7 +98,7 @@
$f_show_category = $t_setting_arr[1];
$f_show_severity = $t_setting_arr[2];
$f_show_status = $t_setting_arr[3];
$f_limit_view = $t_setting_arr[4];
$f_per_page = $t_setting_arr[4];
$f_highlight_changed = $t_setting_arr[5];
$f_hide_closed = $t_setting_arr[6];
$f_user_id = $t_setting_arr[7];
Expand All @@ -111,9 +115,13 @@
}
}

# Build our query string based on our viewing criteria

$query = "SELECT * FROM $g_mantis_bug_table";
# Build the query string based on the user's viewing criteria.
# Build the query up in sections, because two queries need to
# be performed.
#
# 1) count of all the rows
# 2) listing of the current page of rows, ordered appropriately
#

$t_where_clause = " WHERE project_id='$g_project_cookie_val'";

Expand Down Expand Up @@ -150,12 +158,49 @@
OR (additional_information LIKE '%".addslashes($f_search_text)."%')
OR ($g_mantis_bug_table.id LIKE '%".addslashes($f_search_text)."%'))
AND $g_mantis_bug_text_table.id = $g_mantis_bug_table.bug_text_id";
$query = "SELECT $g_mantis_bug_table.*, $g_mantis_bug_text_table.description
FROM $g_mantis_bug_table, $g_mantis_bug_text_table ".$t_where_clause;

$t_columns_clause = " $g_mantis_bug_table.*";
$t_from_clause = " FROM $g_mantis_bug_table, $g_mantis_bug_text_table";
} else {
$query = $query.$t_where_clause;
$t_columns_clause = " *";
$t_from_clause = " FROM $g_mantis_bug_table";
}

# Get the total number of bugs that meet the criteria.
#
$query = "SELECT count(*) " . $t_from_clause . $t_where_clause;
$result = db_query( $query );
$row = db_fetch_array($result);
$t_query_count = $row['count(*)'];


# Guard against silly values of $f_per_page.
#
if ($f_per_page == 0) {
$f_per_page = 1;
}
$f_per_page = (int) abs($f_per_page);


# Use $t_query_count and $f_per_page to determine how many pages
# to split this list up into.
# For the sake of consistency have at least one page, even if it
# is empty.
#
$t_page_count = ceil($t_query_count / $f_per_page);
if ($t_page_count < 1) {
$t_page_count = 1;
}

# Make sure f_page_number isn't past the last page.
#
if ($f_page_number > $t_page_count) {
$f_page_number = $t_page_count;
}

# Now add the rest of the criteria i.e. sorting, limit.
#
$query = "SELECT " . $t_columns_clause . $t_from_clause . $t_where_clause;
if ( !isset( $f_sort ) ) {
$f_sort="last_updated";
}
Expand All @@ -164,12 +209,21 @@
$query = $query.", priority DESC";
}

if ( isset( $f_limit_view ) ) {
$query = $query." LIMIT $f_offset, $f_limit_view";
# t_offset = ((f_page_number - 1) * f_per_page)
# f_per_page = f_per_page
#
# for example page number 1, per page 5:
# t_offset = 0
# for example page number 2, per page 5:
# t_offset = 5
#
$t_offset = (($f_page_number - 1) * $f_per_page);
if ( isset( $f_per_page ) ) {
$query = $query." LIMIT $t_offset, $f_per_page";
}

# perform query
$result = db_query( $query );
$result = db_query( $query );
$row_count = db_num_rows( $result );

$link_page = $g_view_all_bug_page;
Expand All @@ -187,7 +241,7 @@
<? include( $g_meta_include_file ) ?>
<?
if ( get_current_user_pref_field( "refresh_delay" ) > 0 ) {
print_meta_redirect( $PHP_SELF."?f_offset=".$f_offset, get_current_user_pref_field( "refresh_delay" )*60 );
print_meta_redirect( $PHP_SELF."?f_page_number=".$f_page_number, get_current_user_pref_field( "refresh_delay" )*60 );
}
?>
<? print_head_bottom() ?>
Expand Down
62 changes: 42 additions & 20 deletions view_all_inc.php
Expand Up @@ -7,6 +7,8 @@
<input type="hidden" name="f_save" value="1">
<input type="hidden" name="f_sort" value="<? echo $f_sort ?>">
<input type="hidden" name="f_dir" value="<? echo $f_dir ?>">
<input type="hidden" name="f_page_number" value="<? echo $f_page_number ?>">
<input type="hidden" name="f_per_page" value="<? echo $f_per_page ?>">
<table width="100%">
<tr align="center">
<td>
Expand Down Expand Up @@ -81,7 +83,7 @@
</select>
</td>
<td>
<input type="text" name="f_limit_view" size="3" maxlength="7" value="<? echo $f_limit_view ?>">
<input type="text" name="f_per_page" size="3" maxlength="7" value="<? echo $f_per_page ?>">
</td>
<td>
<input type="text" name="f_highlight_changed" size="3" maxlength="7" value="<? echo $f_highlight_changed ?>">
Expand Down Expand Up @@ -112,14 +114,34 @@
<b><? echo $s_viewing_bugs_title ?></b>
<?
if ( $row_count > 0 ) {
$v_start = $f_offset+1;
$v_end = $f_offset+$row_count;
$v_start = $t_offset+1;
$v_end = $t_offset+$row_count;
} else {
$v_start = 0;
$v_end = 0;
}
PRINT "($v_start - $v_end)";
?>
(<?= $v_start ?> - <?= $v_end ?> of <?= $t_query_count ?>)
</td>
<td align="right">
<b>[
<?
# print out a link for each page i.e.
# [ 1 2 3 ]
#
for ($i = 1; $i <= $t_page_count; $i ++) {
if ($i == $f_page_number) {
?>
<?= $i ?>
<?
} else {
?>
<a href="<?= $PHP_SELF ?>?f_page_number=<?= $i ?>"><?= $i ?></a>
<?
}
}
?>
]&nbsp;&nbsp;</b>
</td>
</tr>
<tr align="center" bgcolor="<? echo $g_category_title_color2 ?>">
Expand Down Expand Up @@ -263,25 +285,25 @@
<p>
<div align="center">
<?
$f_offset_next = $f_offset + $f_limit_view;
$f_offset_prev = $f_offset - $f_limit_view;

if ( $f_offset_prev < 0 ) {
$f_offset_prev = -1;
}

if ( $f_dir=="DESC" ) {
$f_dir = "ASC";
# print the [ prev ] link
#
if ($f_page_number > 1) {
$t_prev_page_number = $f_page_number - 1;
print_bracket_link($link_page . "?f_page_number=" . $t_prev_page_number, $s_view_prev_link." ".$f_per_page);
} else {
$f_dir = "DESC";
print_bracket_link('', $s_view_prev_link." ".$f_per_page);
}
?>
&nbsp;
<?


if ( $f_offset_prev >= 0 ) {
print_bracket_link( $link_page."?&f_offset=".$f_offset_prev, $s_view_prev_link." ".$f_limit_view );
}
if ( $row_count == $f_limit_view ) {
print_bracket_link( $link_page."?f_offset=".$f_offset_next, $s_view_next_link." ".$f_limit_view );
# print the [ next ] link
#
if ($f_page_number < $t_page_count) {
$t_next_page_number = $f_page_number + 1;
print_bracket_link($link_page . "?f_page_number=" . $t_next_page_number, $s_view_next_link." ".$f_per_page);
} else {
print_bracket_link('', $s_view_next_link." ".$f_per_page);
}
?>
</div>
Expand Down

0 comments on commit e259efb

Please sign in to comment.