- if( getPref($data_dir, $username, 'page_selector') && $numMessages > $show_num ) {
-
- $j = intval( $numMessages / $show_num );
- if( $numMessages % $show_num <> 0 )
- $j++;
- $startMessage = min( $startMessage, $numMessages );
- for( $i = 0; $i < $j; $i++ ) {
-
- $start = ( ( $i * $show_num ) + 1 );
-
- if( $startMessage >= $start &&
- $startMessage < $start + $show_num ) {
- $mMore .= '<b>' . ($i+1) . '</b> ';
- } else {
- $mMore .= "<a href=\"right_main.php?use_mailbox_cache=$use_mailbox_cache&startMessage=$start" .
- "&mailbox=$mailbox\" TARGET=\"right\">" .
- ($i+1) .
- '</a> ';
- }
- }
- $mMore .= ' | ';
+ if (!getPref($data_dir, $username, 'page_selector')
+ && ($numMessages > $show_num)) {
+ $j = intval( $numMessages / $show_num ); // Max pages
+ $k = max( 1, $j / getPref($data_dir, $username, 'page_selector_max', PG_SEL_MAX ) );
+ if ($numMessages % $show_num <> 0 ) {
+ $j++;
+ }
+ $startMessage = min( $startMessage, $numMessages );
+ $p = intval( $startMessage / $show_num ) + 1;
+ $i = 1;
+ while( $i < $p ) {
+ $pg = intval( $i );
+ $start = ( ($pg-1) * $show_num ) + 1;
+ $mMore .= "<a href=\"right_main.php?use_mailbox_cache=$use_mailbox_cache&startMessage=$start" .
+ "&mailbox=$urlMailbox\" TARGET=\"right\">$pg</a> ";
+ $i += $k;
+ }
+ $mMore .= "<b>$p</b> ";
+ $i += $k;
+ while( $i <= $j ) {
+ $pg = intval( $i );
+ $start = ( ($pg-1) * $show_num ) + 1;
+ $mMore .= "<a href=\"right_main.php?use_mailbox_cache=$use_mailbox_cache&startMessage=$start" .
+ "&mailbox=$urlMailbox\" TARGET=\"right\">$pg</a> ";
+ $i+=$k;
+ }
+ $mMore .= ' | ';