]> scripts.mit.edu Git - autoinstallsdev/mediawiki.git/blobdiff - includes/api/ApiQueryAllCategories.php
MediaWiki 1.15.5
[autoinstallsdev/mediawiki.git] / includes / api / ApiQueryAllCategories.php
index e6287eea80f7c98b37d7522289c5c42427fd32ef..fca92c4b794fc931bb0e35614305973f612f07ee 100644 (file)
@@ -44,6 +44,10 @@ class ApiQueryAllCategories extends ApiQueryGeneratorBase {
                $this->run();
        }
 
+       public function getCacheMode( $params ) {
+               return 'public';
+       }
+
        public function executeGenerator($resultPageSet) {
                $this->run($resultPageSet);
        }
@@ -103,21 +107,25 @@ class ApiQueryAllCategories extends ApiQueryGeneratorBase {
                                $item = array();
                                $result->setContent( $item, $titleObj->getText() );
                                if( isset( $prop['size'] ) ) {
-                                       $item['size'] = $row->cat_pages;
+                                       $item['size'] = intval($row->cat_pages);
                                        $item['pages'] = $row->cat_pages - $row->cat_subcats - $row->cat_files;
-                                       $item['files'] = $row->cat_files;
-                                       $item['subcats'] = $row->cat_subcats;
+                                       $item['files'] = intval($row->cat_files);
+                                       $item['subcats'] = intval($row->cat_subcats);
                                }
                                if( isset( $prop['hidden'] ) && $row->cat_hidden )
                                        $item['hidden'] = '';
-                               $categories[] = $item;
+                               $fit = $result->addValue(array('query', $this->getModuleName()), null, $item);
+                               if(!$fit)
+                               {
+                                       $this->setContinueEnumParameter('from', $this->keyToTitle($row->cat_title));
+                                       break;
+                               }
                        }
                }
                $db->freeResult($res);
 
                if (is_null($resultPageSet)) {
-                       $result->setIndexedTagName($categories, 'c');
-                       $result->addValue('query', $this->getModuleName(), $categories);
+                       $result->setIndexedTagName_internal(array('query', $this->getModuleName()), 'c');
                } else {
                        $resultPageSet->populateFromTitles($pages);
                }
@@ -171,6 +179,6 @@ class ApiQueryAllCategories extends ApiQueryGeneratorBase {
        }
 
        public function getVersion() {
-               return __CLASS__ . ': $Id: ApiQueryAllCategories.php 44590 2008-12-14 20:24:23Z catrope $';
+               return __CLASS__ . ': $Id: ApiQueryAllCategories.php 69986 2010-07-27 03:57:39Z tstarling $';
        }
 }