Chris and me don't wanna scroll

This commit is contained in:
Kevin
2008-04-25 21:39:57 +00:00
parent 90ed403276
commit f946690f06
5 changed files with 81 additions and 79 deletions

View File

@@ -431,98 +431,99 @@ function ap_validate($str) {
} }
/** /**
* Pagination routine, generates page number sequence * Pagination routine, generates archive number sequence
* tpl_prefix is for using different pagination blocks at one page
*/ */
function generate_portal_pagination($base_url, $num_items, $per_page, $start_item, $type, $add_prevnext_text = false, $tpl_prefix = '') function generate_portal_pagination($base_url, $num_items, $per_page, $start_item, $type, $add_prevnext_text = false, $tpl_prefix = '')
{ {
global $template, $user; global $template, $user;
switch( $type ) switch( $type )
{ {
case "announcements": case "announcements":
$pagination_type = 'ap'; $pagination_type = 'ap';
break; $anker = '#a0';
case "news": break;
case "news_all": case "news":
$pagination_type = 'np'; case "news_all":
break; $pagination_type = 'np';
} $anker = '#n0';
break;
// Make sure $per_page is a valid value }
$per_page = ($per_page <= 0) ? 1 : $per_page;
// Make sure $per_page is a valid value
$per_page = ($per_page <= 0) ? 1 : $per_page;
$seperator = '<span class="page-sep">' . $user->lang['COMMA_SEPARATOR'] . '</span>'; $seperator = '<span class="page-sep">' . $user->lang['COMMA_SEPARATOR'] . '</span>';
$total_pages = ceil($num_items / $per_page); $total_pages = ceil($num_items / $per_page);
if ($total_pages == 1 || !$num_items) if ($total_pages == 1 || !$num_items)
{ {
return false; return false;
} }
$on_page = floor($start_item / $per_page) + 1; $on_page = floor($start_item / $per_page) + 1;
$url_delim = (strpos($base_url, '?') === false) ? '?' : '&amp;'; $url_delim = (strpos($base_url, '?') === false) ? '?' : '&amp;';
$page_string = ($on_page == 1) ? '<strong>1</strong>' : '<a href="' . $base_url . '">1</a>'; $page_string = ($on_page == 1) ? '<strong>1</strong>' : '<a href="' . $base_url . $anker .'">1</a>';
if ($total_pages > 5) if ($total_pages > 5)
{ {
$start_cnt = min(max(1, $on_page - 4), $total_pages - 5); $start_cnt = min(max(1, $on_page - 4), $total_pages - 5);
$end_cnt = max(min($total_pages, $on_page + 4), 6); $end_cnt = max(min($total_pages, $on_page + 4), 6);
$page_string .= ($start_cnt > 1) ? ' ... ' : $seperator; $page_string .= ($start_cnt > 1) ? ' ... ' : $seperator;
for ($i = $start_cnt + 1; $i < $end_cnt; $i++) for ($i = $start_cnt + 1; $i < $end_cnt; $i++)
{ {
$page_string .= ($i == $on_page) ? '<strong>' . $i . '</strong>' : '<a href="' . $base_url . "{$url_delim}" . $pagination_type . '=' . (($i - 1) * $per_page) . '">' . $i . '</a>'; $page_string .= ($i == $on_page) ? '<strong>' . $i . '</strong>' : '<a href="' . $base_url . "{$url_delim}" . $pagination_type . '=' . (($i - 1) * $per_page) . $anker . '">' . $i . '</a>';
if ($i < $end_cnt - 1) if ($i < $end_cnt - 1)
{ {
$page_string .= $seperator; $page_string .= $seperator;
} }
} }
$page_string .= ($end_cnt < $total_pages) ? ' ... ' : $seperator; $page_string .= ($end_cnt < $total_pages) ? ' ... ' : $seperator;
} }
else else
{ {
$page_string .= $seperator; $page_string .= $seperator;
for ($i = 2; $i < $total_pages; $i++) for ($i = 2; $i < $total_pages; $i++)
{ {
$page_string .= ($i == $on_page) ? '<strong>' . $i . '</strong>' : '<a href="' . $base_url . "{$url_delim}" . $pagination_type . '=' . (($i - 1) * $per_page) . '">' . $i . '</a>'; $page_string .= ($i == $on_page) ? '<strong>' . $i . '</strong>' : '<a href="' . $base_url . "{$url_delim}" . $pagination_type . '=' . (($i - 1) * $per_page) . $anker . '">' . $i . '</a>';
if ($i < $total_pages) if ($i < $total_pages)
{ {
$page_string .= $seperator; $page_string .= $seperator;
} }
} }
} }
$page_string .= ($on_page == $total_pages) ? '<strong>' . $total_pages . '</strong>' : '<a href="' . $base_url . "{$url_delim}" . $pagination_type . '=' . (($total_pages - 1) * $per_page) . '">' . $total_pages . '</a>'; $page_string .= ($on_page == $total_pages) ? '<strong>' . $total_pages . '</strong>' : '<a href="' . $base_url . "{$url_delim}" . $pagination_type . '=' . (($total_pages - 1) * $per_page) . $anker . '">' . $total_pages . '</a>';
if ($add_prevnext_text) if ($add_prevnext_text)
{ {
if ($on_page != 1) if ($on_page != 1)
{ {
$page_string = '<a href="' . $base_url . "{$url_delim}" . $pagination_type . '=' . (($on_page - 2) * $per_page) . '">' . $user->lang['PREVIOUS'] . '</a>&nbsp;&nbsp;' . $page_string; $page_string = '<a href="' . $base_url . "{$url_delim}" . $pagination_type . '=' . (($on_page - 2) * $per_page) . $anker . '">' . $user->lang['PREVIOUS'] . '</a>&nbsp;&nbsp;' . $page_string;
} }
if ($on_page != $total_pages) if ($on_page != $total_pages)
{ {
$page_string .= '&nbsp;&nbsp;<a href="' . $base_url . "{$url_delim}" . $pagination_type . '=' . ($on_page * $per_page) . '">' . $user->lang['NEXT'] . '</a>'; $page_string .= '&nbsp;&nbsp;<a href="' . $base_url . "{$url_delim}" . $pagination_type . '=' . ($on_page * $per_page) . $anker . '">' . $user->lang['NEXT'] . '</a>';
} }
} }
$template->assign_vars(array( $template->assign_vars(array(
$tpl_prefix . 'BASE_URL' => $base_url, $tpl_prefix . 'BASE_URL' => $base_url,
'A_' . $tpl_prefix . 'BASE_URL' => addslashes($base_url), 'A_' . $tpl_prefix . 'BASE_URL' => addslashes($base_url),
$tpl_prefix . 'PER_PAGE' => $per_page, $tpl_prefix . 'PER_PAGE' => $per_page,
$tpl_prefix . 'PREVIOUS_PAGE' => ($on_page == 1) ? '' : $base_url . "{$url_delim}" . $pagination_type . '=' . (($on_page - 2) * $per_page), $tpl_prefix . 'PREVIOUS_PAGE' => ($on_page == 1) ? '' : $base_url . "{$url_delim}" . $pagination_type . '=' . (($on_page - 2) * $per_page) . $anker,
$tpl_prefix . 'NEXT_PAGE' => ($on_page == $total_pages) ? '' : $base_url . "{$url_delim}" . $pagination_type . '=' . ($on_page * $per_page), $tpl_prefix . 'NEXT_PAGE' => ($on_page == $total_pages) ? '' : $base_url . "{$url_delim}" . $pagination_type . '=' . ($on_page * $per_page) . $anker,
$tpl_prefix . 'TOTAL_PAGES' => $total_pages, $tpl_prefix . 'TOTAL_PAGES' => $total_pages,
)); ));
return $page_string; return $page_string;
} }
?> ?>

View File

@@ -1,4 +1,5 @@
<!-- BEGIN announcements_row --> <!-- BEGIN announcements_row -->
<a name="a{announcements_row.A_ID}"></a>
<!-- IF announcements_row.S_NO_TOPICS --> <!-- IF announcements_row.S_NO_TOPICS -->
<div class="forabg"> <div class="forabg">
<div class="inner"> <div class="inner">

View File

@@ -1,4 +1,5 @@
<!-- BEGIN news_row --> <!-- BEGIN news_row -->
<a name="n{news_row.N_ID}"></a>
<!-- IF news_row.S_NO_TOPICS --> <!-- IF news_row.S_NO_TOPICS -->
<div class="forabg"> <div class="forabg">
<div class="inner"> <div class="inner">

View File

@@ -12,8 +12,7 @@
<!-- ELSE --> <!-- ELSE -->
<tr class="row<!-- IF announcements_row.S_ROW_COUNT is even -->1<!-- ELSE -->2<!-- ENDIF -->"> <tr class="row<!-- IF announcements_row.S_ROW_COUNT is even -->1<!-- ELSE -->2<!-- ENDIF -->">
<td> <td>
<a name="a{announcements_row.A_ID}"></a><!-- IF announcements_row.S_UNREAD_INFO -->{NEWEST_POST_IMG}<!-- ELSE -->{READ_POST_IMG}<!-- ENDIF --> {announcements_row.ATTACH_ICON_IMG} <!-- IF announcements_row.S_POLL --> <strong style="font-size:1.1em;">{L_POLL}: </strong><!-- ENDIF -->
<!-- IF announcements_row.S_UNREAD_INFO -->{NEWEST_POST_IMG}<!-- ELSE -->{READ_POST_IMG}<!-- ENDIF --> {announcements_row.ATTACH_ICON_IMG} <!-- IF announcements_row.S_POLL --> <strong style="font-size:1.1em;">{L_POLL}: </strong><!-- ENDIF -->
<a href="{announcements_row.U_VIEW_COMMENTS}" title="{announcements_row.TITLE}"><strong style="font-size:1.1em;">{announcements_row.TITLE}</strong></a> <a href="{announcements_row.U_VIEW_COMMENTS}" title="{announcements_row.TITLE}"><strong style="font-size:1.1em;">{announcements_row.TITLE}</strong></a>
<br style="clear:both" /> <br style="clear:both" />
<span style="float: left;">{L_POSTED} {L_POST_BY_AUTHOR}: {announcements_row.POSTER_FULL} {L_POSTED_ON_DATE} {announcements_row.TIME}</span> <span style="float: left;">{L_POSTED} {L_POST_BY_AUTHOR}: {announcements_row.POSTER_FULL} {L_POSTED_ON_DATE} {announcements_row.TIME}</span>

View File

@@ -12,7 +12,7 @@
<!-- ELSE --> <!-- ELSE -->
<tr class="row<!-- IF news_row.S_ROW_COUNT is even -->1<!-- ELSE -->2<!-- ENDIF -->"> <tr class="row<!-- IF news_row.S_ROW_COUNT is even -->1<!-- ELSE -->2<!-- ENDIF -->">
<td> <td>
<!-- IF news_row.S_UNREAD_INFO -->{NEWEST_POST_IMG}<!-- ELSE -->{READ_POST_IMG}<!-- ENDIF --> {news_row.ATTACH_ICON_IMG} <!-- IF news_row.S_POLL --> <strong style="font-size:1.1em;">{L_POLL}: </strong><!-- ENDIF --> <a name="n{news_row.N_ID}"></a><!-- IF news_row.S_UNREAD_INFO -->{NEWEST_POST_IMG}<!-- ELSE -->{READ_POST_IMG}<!-- ENDIF --> {news_row.ATTACH_ICON_IMG} <!-- IF news_row.S_POLL --> <strong style="font-size:1.1em;">{L_POLL}: </strong><!-- ENDIF -->
<a href="{news_row.U_VIEW_COMMENTS}" title="{news_row.TITLE}"><strong style="font-size:1.1em;">{news_row.TITLE}</strong></a> <a href="{news_row.U_VIEW_COMMENTS}" title="{news_row.TITLE}"><strong style="font-size:1.1em;">{news_row.TITLE}</strong></a>
<br style="clear:both" /> <br style="clear:both" />
<span style="float: left;">{POSTED_BY_TEXT} {L_POST_BY_AUTHOR}: {news_row.POSTER_FULL} {L_POSTED_ON_DATE} {news_row.TIME}</span> <span style="float: left;">{POSTED_BY_TEXT} {L_POST_BY_AUTHOR}: {news_row.POSTER_FULL} {L_POSTED_ON_DATE} {news_row.TIME}</span>