Merge "Capitalise Message in SpecialAllMessages files"
[lhc/web/wiklou.git] / includes / api / ApiPurge.php
index c0dd808..981dc18 100644 (file)
 class ApiPurge extends ApiBase {
        private $mPageSet;
 
-       /**
-        * Add all items from $values into the result
-        * @param array $result output
-        * @param array $values values to add
-        * @param string $flag the name of the boolean flag to mark this element
-        * @param string $name if given, name of the value
-        */
-       private static function addValues( array &$result, $values, $flag = null, $name = null ) {
-               foreach ( $values as $val ) {
-                       if ( $val instanceof Title ) {
-                               $v = array();
-                               ApiQueryBase::addTitleInfo( $v, $val );
-                       } elseif ( $name !== null ) {
-                               $v = array( $name => $val );
-                       } else {
-                               $v = $val;
-                       }
-                       if ( $flag !== null ) {
-                               $v[$flag] = '';
-                       }
-                       $result[] = $v;
-               }
-       }
-
        /**
         * Purges the cache of a page
         */
@@ -67,13 +43,7 @@ class ApiPurge extends ApiBase {
                $pageSet = $this->getPageSet();
                $pageSet->execute();
 
-               $result = array();
-               self::addValues( $result, $pageSet->getInvalidTitles(), 'invalid', 'title' );
-               self::addValues( $result, $pageSet->getSpecialTitles(), 'special', 'title' );
-               self::addValues( $result, $pageSet->getMissingPageIDs(), 'missing', 'pageid' );
-               self::addValues( $result, $pageSet->getMissingRevisionIDs(), 'missing', 'revid' );
-               self::addValues( $result, $pageSet->getMissingTitles(), 'missing' );
-               self::addValues( $result, $pageSet->getInterwikiTitlesAsResult() );
+               $result = $pageSet->getInvalidTitlesAndRevisions();
 
                foreach ( $pageSet->getGoodTitles() as $title ) {
                        $r = array();
@@ -84,17 +54,16 @@ class ApiPurge extends ApiBase {
 
                        if ( $forceLinkUpdate || $forceRecursiveLinkUpdate ) {
                                if ( !$this->getUser()->pingLimiter( 'linkpurge' ) ) {
-                                       global $wgEnableParserCache;
-
                                        $popts = $page->makeParserOptions( 'canonical' );
 
                                        # Parse content; note that HTML generation is only needed if we want to cache the result.
                                        $content = $page->getContent( Revision::RAW );
+                                       $enableParserCache = $this->getConfig()->get( 'EnableParserCache' );
                                        $p_result = $content->getParserOutput(
                                                $title,
                                                $page->getLatest(),
                                                $popts,
-                                               $wgEnableParserCache
+                                               $enableParserCache
                                        );
 
                                        # Update the links tables
@@ -104,7 +73,7 @@ class ApiPurge extends ApiBase {
 
                                        $r['linkupdate'] = '';
 
-                                       if ( $wgEnableParserCache ) {
+                                       if ( $enableParserCache ) {
                                                $pcache = ParserCache::singleton();
                                                $pcache->save( $p_result, $page, $popts );
                                        }