Merge "Don't check namespace in SpecialWantedtemplates"
[lhc/web/wiklou.git] / includes / specialpage / QueryPage.php
index 92409cd..3c8b742 100644 (file)
@@ -70,7 +70,7 @@ abstract class QueryPage extends SpecialPage {
                                array( 'DeadendPagesPage', 'Deadendpages' ),
                                array( 'DoubleRedirectsPage', 'DoubleRedirects' ),
                                array( 'FileDuplicateSearchPage', 'FileDuplicateSearch' ),
-                               array( 'ListDuplicatedFilesPage', 'ListDuplicatedFiles'),
+                               array( 'ListDuplicatedFilesPage', 'ListDuplicatedFiles' ),
                                array( 'LinkSearchPage', 'LinkSearch' ),
                                array( 'ListredirectsPage', 'Listredirects' ),
                                array( 'LonelyPagesPage', 'Lonelypages' ),
@@ -141,7 +141,7 @@ abstract class QueryPage extends SpecialPage {
         * @return array
         * @since 1.18
         */
-       function getQueryInfo() {
+       public function getQueryInfo() {
                return null;
        }
 
@@ -178,7 +178,7 @@ abstract class QueryPage extends SpecialPage {
         * @return bool
         * @since 1.18
         */
-       function usesTimestamps() {
+       public function usesTimestamps() {
                return false;
        }
 
@@ -198,7 +198,7 @@ abstract class QueryPage extends SpecialPage {
         *
         * @return bool
         */
-       function isExpensive() {
+       public function isExpensive() {
                return $this->getConfig()->get( 'DisableQueryPages' );
        }
 
@@ -219,7 +219,7 @@ abstract class QueryPage extends SpecialPage {
         *
         * @return bool
         */
-       function isCached() {
+       public function isCached() {
                return $this->isExpensive() && $this->getConfig()->get( 'MiserMode' );
        }
 
@@ -294,7 +294,7 @@ abstract class QueryPage extends SpecialPage {
         * @throws DBError|Exception
         * @return bool|int
         */
-       function recache( $limit, $ignoreErrors = true ) {
+       public function recache( $limit, $ignoreErrors = true ) {
                if ( !$this->isCacheable() ) {
                        return 0;
                }
@@ -370,7 +370,7 @@ abstract class QueryPage extends SpecialPage {
         * @return ResultWrapper
         * @since 1.18
         */
-       function reallyDoQuery( $limit, $offset = false ) {
+       public function reallyDoQuery( $limit, $offset = false ) {
                $fname = get_class( $this ) . "::reallyDoQuery";
                $dbr = $this->getRecacheDB();
                $query = $this->getQueryInfo();
@@ -421,7 +421,7 @@ abstract class QueryPage extends SpecialPage {
         * @param int|bool $limit
         * @return ResultWrapper
         */
-       function doQuery( $offset = false, $limit = false ) {
+       public function doQuery( $offset = false, $limit = false ) {
                if ( $this->isCached() && $this->isCacheable() ) {
                        return $this->fetchFromCache( $limit, $offset );
                } else {
@@ -436,7 +436,7 @@ abstract class QueryPage extends SpecialPage {
         * @return ResultWrapper
         * @since 1.18
         */
-       function fetchFromCache( $limit, $offset = false ) {
+       public function fetchFromCache( $limit, $offset = false ) {
                $dbr = wfGetDB( DB_SLAVE );
                $options = array();
                if ( $limit !== false ) {
@@ -470,12 +470,24 @@ abstract class QueryPage extends SpecialPage {
                return $this->cachedTimestamp;
        }
 
+       /**
+        * Returns limit and offset, as returned by $this->getRequest()->getLimitOffset().
+        * Subclasses may override this to further restrict or modify limit and offset.
+        *
+        * @since 1.26
+        *
+        * @return int[] list( $limit, $offset )
+        */
+       protected function getLimitOffset() {
+               return $this->getRequest()->getLimitOffset();
+       }
+
        /**
         * This is the actual workhorse. It does everything needed to make a
         * real, honest-to-gosh query page.
         * @param string $par
         */
-       function execute( $par ) {
+       public function execute( $par ) {
                $user = $this->getUser();
                if ( !$this->userCanExecute( $user ) ) {
                        $this->displayRestrictionError();
@@ -495,7 +507,7 @@ abstract class QueryPage extends SpecialPage {
                $out->setSyndicated( $this->isSyndicated() );
 
                if ( $this->limit == 0 && $this->offset == 0 ) {
-                       list( $this->limit, $this->offset ) = $this->getRequest()->getLimitOffset();
+                       list( $this->limit, $this->offset ) = $this->getLimitOffset();
                }
 
                // @todo Use doQuery()