diff options
author | Pierre Schmitz <pierre@archlinux.de> | 2008-08-15 01:29:47 +0200 |
---|---|---|
committer | Pierre Schmitz <pierre@archlinux.de> | 2008-08-15 01:29:47 +0200 |
commit | 370e83bb0dfd0c70de268c93bf07ad5ee0897192 (patch) | |
tree | 491674f4c242e4d6ba0d04eafa305174c35a3391 /includes/QueryPage.php | |
parent | f4debf0f12d0524d2b2427c55ea3f16b680fad97 (diff) |
Update auf 1.13.0
Diffstat (limited to 'includes/QueryPage.php')
-rw-r--r-- | includes/QueryPage.php | 56 |
1 files changed, 33 insertions, 23 deletions
diff --git a/includes/QueryPage.php b/includes/QueryPage.php index eb4e71bf..16dc7c04 100644 --- a/includes/QueryPage.php +++ b/includes/QueryPage.php @@ -1,13 +1,15 @@ <?php /** * Contain a class for special pages + * @file + * @ingroup SpecialPages */ /** - * List of query page classes and their associated special pages, + * List of query page classes and their associated special pages, * for periodic updates. * - * DO NOT CHANGE THIS LIST without testing that + * DO NOT CHANGE THIS LIST without testing that * maintenance/updateSpecialPages.php still works. */ global $wgQueryPages; // not redundant @@ -29,7 +31,6 @@ $wgQueryPages = array( array( 'MostlinkedPage', 'Mostlinked' ), array( 'MostrevisionsPage', 'Mostrevisions' ), array( 'FewestrevisionsPage', 'Fewestrevisions' ), - array( 'NewPagesPage', 'Newpages' ), array( 'ShortPagesPage', 'Shortpages' ), array( 'UncategorizedCategoriesPage', 'Uncategorizedcategories' ), array( 'UncategorizedPagesPage', 'Uncategorizedpages' ), @@ -54,7 +55,7 @@ if ( !$wgDisableCounters ) * This is a class for doing query pages; since they're almost all the same, * we factor out some of the functionality into a superclass, and let * subclasses derive from it. - * @addtogroup SpecialPage + * @ingroup SpecialPage */ class QueryPage { /** @@ -236,7 +237,7 @@ class QueryPage { if ( isset( $row->value ) ) { $value = $row->value; } else { - $value = ''; + $value = 0; } $insertSql .= '(' . @@ -305,7 +306,7 @@ class QueryPage { # Fetch the timestamp of this update $tRes = $dbr->select( 'querycache_info', array( 'qci_timestamp' ), array( 'qci_type' => $type ), $fname ); $tRow = $dbr->fetchObject( $tRes ); - + if( $tRow ) { $updated = $wgLang->timeAndDate( $tRow->qci_timestamp, true, true ); $wgOut->addMeta( 'Data-Cache-Time', $tRow->qci_timestamp ); @@ -314,14 +315,14 @@ class QueryPage { } else { $wgOut->addWikiMsg( 'perfcached' ); } - + # If updates on this page have been disabled, let the user know # that the data set won't be refreshed for now global $wgDisableQueryPageUpdate; if( is_array( $wgDisableQueryPageUpdate ) && in_array( $this->getName(), $wgDisableQueryPageUpdate ) ) { $wgOut->addWikiMsg( 'querypage-no-updates' ); } - + } } @@ -334,7 +335,7 @@ class QueryPage { $this->preprocessResults( $dbr, $res ); $wgOut->addHtml( XML::openElement( 'div', array('class' => 'mw-spcontent') ) ); - + # Top header and navigation if( $shownavigation ) { $wgOut->addHtml( $this->getPageHeader() ); @@ -352,7 +353,7 @@ class QueryPage { return; } } - + # The actual results; specialist subclasses will want to handle this # with more than a straight list, so we hand them the info, plus # an OutputPage, and let them get on with it @@ -369,10 +370,10 @@ class QueryPage { } $wgOut->addHtml( XML::closeElement( 'div' ) ); - + return $num; } - + /** * Format and output report results using the given information plus * OutputPage @@ -386,12 +387,12 @@ class QueryPage { */ protected function outputResults( $out, $skin, $dbr, $res, $num, $offset ) { global $wgContLang; - + if( $num > 0 ) { $html = array(); if( !$this->listoutput ) $html[] = $this->openList( $offset ); - + # $res might contain the whole 1,000 rows, so we read up to # $num [should update this to use a Pager] for( $i = 0; $i < $num && $row = $dbr->fetchObject( $res ); $i++ ) { @@ -405,7 +406,7 @@ class QueryPage { : "<li{$attr}>{$line}</li>\n"; } } - + # Flush the final result if( $this->tryLastResult() ) { $row = null; @@ -419,22 +420,22 @@ class QueryPage { : "<li{$attr}>{$line}</li>\n"; } } - + if( !$this->listoutput ) $html[] = $this->closeList(); - + $html = $this->listoutput ? $wgContLang->listToText( $html ) : implode( '', $html ); - + $out->addHtml( $html ); } } - + function openList( $offset ) { return "\n<ol start='" . ( $offset + 1 ) . "' class='special'>\n"; } - + function closeList() { return "</ol>\n"; } @@ -448,7 +449,18 @@ class QueryPage { * Similar to above, but packaging in a syndicated feed instead of a web page */ function doFeed( $class = '', $limit = 50 ) { - global $wgFeedClasses; + global $wgFeed, $wgFeedClasses; + + if ( !$wgFeed ) { + global $wgOut; + $wgOut->addWikiMsg( 'feed-unavailable' ); + return; + } + + global $wgFeedLimit; + if( $limit > $wgFeedLimit ) { + $limit = $wgFeedLimit; + } if( isset($wgFeedClasses[$class]) ) { $feed = new $wgFeedClasses[$class]( @@ -527,5 +539,3 @@ class QueryPage { return $title->getFullURL(); } } - - |