return wfMsg( "showingresultsnum", $limit, $offset+1, $num );
}
-function wfViewPrevNext( $offset, $limit, $link, $query = "" )
+function wfViewPrevNext( $offset, $limit, $link, $query = "", $atend = false )
{
global $wgUser;
$prev = wfMsg( "prevn", $limit );
$q = "limit={$limit}&offset={$no}";
if ( "" != $query ) { $q .= "&{$query}"; }
- $nlink = "<a href=\"" . wfLocalUrlE( $link, $q ) . "\">{$next}</a>";
+ if ( $atend ) {
+ $nlink = $next;
+ } else {
+ $nlink = "<a href=\"" . wfLocalUrlE( $link, $q ) . "\">{$next}</a>";
+ }
$nums = wfNumLink( $offset, 20, $link , $query ) . " | " .
wfNumLink( $offset, 50, $link, $query ) . " | " .
wfNumLink( $offset, 100, $link, $query ) . " | " .
}
}
- $sql = $this->getSQL( $offset, $limit );
+ $sql = $this->getSQL( $offset, $limit+1 );
$res = wfQuery( $sql, DB_READ, $fname );
$top = wfShowingResults( $offset, $limit );
$wgOut->addHTML( "<p>{$top}\n" );
- $sl = wfViewPrevNext( $offset, $limit, $wgLang->specialPage( $sname ) );
+ $sl = wfViewPrevNext( $offset, $limit, $wgLang->specialPage( $sname ), "",
+ wfNumRows( $res ) < ($limit+1) );
$wgOut->addHTML( "<br>{$sl}\n" );
$s = "<ol start=" . ( $offset + 1 ) . ">";
- while ( $obj = wfFetchObject( $res ) ) {
+ $i = 0;
+ while ( ($i<$limit) && ($obj = wfFetchObject( $res )) ) {
$format = $this->formatResult( $sk, $obj );
$s .= "<li>{$format}</li>\n";
+ $i++;
}
wfFreeResult( $res );
$s .= "</ol>";
}
list( $limit, $offset ) = wfCheckLimits( 50, "" );
$offlimit = $limit + $offset;
+ $querylimit = $offlimit + 1;
$hideminor = ($hideminor ? 1 : 0);
$nt = Title::newFromURL( $target );
"&offset={$offset}&limit={$limit}&hideminor=1" );
}
- $top = wfShowingResults( $offset, $limit );
- $wgOut->addHTML( "<p>{$top}\n" );
-
- $sl = wfViewPrevNext( $offset, $limit,
- $wgLang->specialpage( "Contributions" ), "hideminor={$hideminor}&target=" . wfUrlEncode( $target ) );
-
- $shm = wfMsg( "showhideminor", $mlink );
- $wgOut->addHTML( "<br>{$sl} ($shm) \n");
-
if ( 0 == $id ) {
$sql = "SELECT cur_namespace,cur_title,cur_timestamp,cur_comment,cur_minor_edit FROM cur " .
"WHERE cur_user_text='" . wfStrencode( $nt->getText() ) . "' {$cmq} " .
- "ORDER BY inverse_timestamp LIMIT {$offlimit}";
+ "ORDER BY inverse_timestamp LIMIT {$querylimit}";
$res1 = wfQuery( $sql, DB_READ, $fname );
$sql = "SELECT old_namespace,old_title,old_timestamp,old_comment,old_minor_edit FROM old " .
"WHERE old_user_text='" . wfStrencode( $nt->getText() ) . "' {$omq} " .
- "ORDER BY inverse_timestamp LIMIT {$offlimit}";
+ "ORDER BY inverse_timestamp LIMIT {$querylimit}";
$res2 = wfQuery( $sql, DB_READ, $fname );
} else {
$sql = "SELECT cur_namespace,cur_title,cur_timestamp,cur_comment,cur_minor_edit FROM cur " .
- "WHERE cur_user={$id} {$cmq} ORDER BY inverse_timestamp LIMIT {$offlimit}";
+ "WHERE cur_user={$id} {$cmq} ORDER BY inverse_timestamp LIMIT {$querylimit}";
$res1 = wfQuery( $sql, DB_READ, $fname );
$sql = "SELECT old_namespace,old_title,old_timestamp,old_comment,old_minor_edit FROM old " .
- "WHERE old_user={$id} {$omq} ORDER BY inverse_timestamp LIMIT {$offlimit}";
+ "WHERE old_user={$id} {$omq} ORDER BY inverse_timestamp LIMIT {$querylimit}";
$res2 = wfQuery( $sql, DB_READ, $fname );
}
$nCur = wfNumRows( $res1 );
$nOld = wfNumRows( $res2 );
+ $top = wfShowingResults( $offset, $limit );
+ $wgOut->addHTML( "<p>{$top}\n" );
+
+ $sl = wfViewPrevNext( $offset, $limit,
+ $wgLang->specialpage( "Contributions" ),
+ "hideminor={$hideminor}&target=" . wfUrlEncode( $target ),
+ ($nCur + $nOld) <= $offlimit);
+
+ $shm = wfMsg( "showhideminor", $mlink );
+ $wgOut->addHTML( "<br>{$sl} ($shm) \n");
+
if ( 0 == $nCur && 0 == $nOld ) {
$wgOut->addHTML( "\n<p>" . wfMsg( "nocontribs" ) . "</p>\n" );