*/
class AncientPagesPage extends QueryPage {
- function getName() {
- return "Ancientpages";
+ function __construct( $name = 'Ancientpages' ) {
+ parent::__construct( $name );
}
function isExpensive() {
function isSyndicated() { return false; }
- function getSQL() {
- global $wgDBtype;
- $db = wfGetDB( DB_SLAVE );
- $page = $db->tableName( 'page' );
- $revision = $db->tableName( 'revision' );
-
- switch ($wgDBtype) {
- case 'mysql':
- $epoch = 'UNIX_TIMESTAMP(rev_timestamp)';
- break;
- case 'ibm_db2':
- // TODO implement proper conversion to a Unix epoch
- $epoch = 'rev_timestamp';
- break;
- case 'oracle':
- $epoch = '((trunc(rev_timestamp) - to_date(\'19700101\',\'YYYYMMDD\')) * 86400)';
- break;
- case 'sqlite':
- $epoch = 'rev_timestamp';
- break;
- case 'mssql':
- $epoch = 'DATEDIFF(s,CONVERT(datetime,\'1/1/1970\'),rev_timestamp)';
- break;
- default:
- $epoch = 'EXTRACT(epoch FROM rev_timestamp)';
- }
+ function getQueryInfo() {
+ return array(
+ 'tables' => array( 'page', 'revision' ),
+ 'fields' => array( 'page_namespace AS namespace',
+ 'page_title AS title',
+ 'rev_timestamp AS value' ),
+ 'conds' => array( 'page_namespace' => MWNamespace::getContentNamespaces(),
+ 'page_is_redirect' => 0,
+ 'page_latest=rev_id' )
+ );
+ }
- return
- "SELECT 'Ancientpages' as type,
- page_namespace as namespace,
- page_title as title,
- $epoch as value
- FROM $page, $revision
- WHERE page_namespace=".NS_MAIN." AND page_is_redirect=0
- AND page_latest=rev_id";
+ function usesTimestamps() {
+ return true;
}
function sortDescending() {
}
function formatResult( $skin, $result ) {
- global $wgLang, $wgContLang;
+ global $wgContLang;
- $d = $wgLang->timeanddate( wfTimestamp( TS_MW, $result->value ), true );
+ $d = $this->getLanguage()->userTimeAndDate( $result->value, $this->getUser() );
$title = Title::makeTitle( $result->namespace, $result->title );
- $link = $skin->linkKnown(
+ $link = Linker::linkKnown(
$title,
htmlspecialchars( $wgContLang->convert( $title->getPrefixedText() ) )
);
- return wfSpecialList($link, htmlspecialchars($d) );
+ return $this->getLanguage()->specialList( $link, htmlspecialchars( $d ) );
}
}
-
-function wfSpecialAncientpages() {
- list( $limit, $offset ) = wfCheckLimits();
-
- $app = new AncientPagesPage();
-
- $app->doQuery( $offset, $limit );
-}