with a table that stores up to 1000 rows for each 'expensive' special page. This can be paged through, reducing the annoyingness of 50 result limits on the old system. Rebuilding the cache can be forced by adding "recache=1" URL parameter, but this will need to be refined with some sort of controls to prevent abuse. Added the user realname update to the installer's updater list, also.
46 lines
825 B
PHP
46 lines
825 B
PHP
<?php
|
|
|
|
require_once("QueryPage.php");
|
|
|
|
class ShortPagesPage extends QueryPage {
|
|
|
|
function getName() {
|
|
return "Shortpages";
|
|
}
|
|
|
|
function isExpensive() {
|
|
return true;
|
|
}
|
|
|
|
function getSQL() {
|
|
return
|
|
"SELECT 'Shortpages' as type,
|
|
cur_namespace as namespace,
|
|
cur_title as title,
|
|
LENGTH(cur_text) AS value
|
|
FROM cur
|
|
WHERE cur_namespace=0 AND cur_is_redirect=0";
|
|
}
|
|
|
|
function sortDescending() {
|
|
return false;
|
|
}
|
|
|
|
function formatResult( $skin, $result ) {
|
|
global $wgLang;
|
|
$nb = wfMsg( "nbytes", $wgLang->formatNum( $result->value ) );
|
|
$link = $skin->makeKnownLink( $result->title, "" );
|
|
return "{$link} ({$nb})";
|
|
}
|
|
}
|
|
|
|
function wfSpecialShortpages()
|
|
{
|
|
list( $limit, $offset ) = wfCheckLimits();
|
|
|
|
$spp = new ShortPagesPage();
|
|
|
|
return $spp->doQuery( $offset, $limit );
|
|
}
|
|
|
|
?>
|