From 370e83bb0dfd0c70de268c93bf07ad5ee0897192 Mon Sep 17 00:00:00 2001 From: Pierre Schmitz Date: Fri, 15 Aug 2008 01:29:47 +0200 Subject: Update auf 1.13.0 --- includes/QueryPage.php | 56 +++++++++++++++++++++++++++++--------------------- 1 file changed, 33 insertions(+), 23 deletions(-) (limited to 'includes/QueryPage.php') 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 @@ 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 { : "{$line}\n"; } } - + # Flush the final result if( $this->tryLastResult() ) { $row = null; @@ -419,22 +420,22 @@ class QueryPage { : "{$line}\n"; } } - + if( !$this->listoutput ) $html[] = $this->closeList(); - + $html = $this->listoutput ? $wgContLang->listToText( $html ) : implode( '', $html ); - + $out->addHtml( $html ); } } - + function openList( $offset ) { return "\n
    \n"; } - + function closeList() { return "
\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(); } } - - -- cgit v1.2.3-54-g00ecf