diff options
author | Pierre Schmitz <pierre@archlinux.de> | 2013-01-18 16:46:04 +0100 |
---|---|---|
committer | Pierre Schmitz <pierre@archlinux.de> | 2013-01-18 16:46:04 +0100 |
commit | 63601400e476c6cf43d985f3e7b9864681695ed4 (patch) | |
tree | f7846203a952e38aaf66989d0a4702779f549962 /includes/Category.php | |
parent | 8ff01378c9e0207f9169b81966a51def645b6a51 (diff) |
Update to MediaWiki 1.20.2
this update includes:
* adjusted Arch Linux skin
* updated FluxBBAuthPlugin
* patch for https://bugzilla.wikimedia.org/show_bug.cgi?id=44024
Diffstat (limited to 'includes/Category.php')
-rw-r--r-- | includes/Category.php | 48 |
1 files changed, 35 insertions, 13 deletions
diff --git a/includes/Category.php b/includes/Category.php index 9d9b5a67..b7b12e8a 100644 --- a/includes/Category.php +++ b/includes/Category.php @@ -1,14 +1,33 @@ <?php /** + * Representation for a category. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * http://www.gnu.org/copyleft/gpl.html + * + * @file + * @author Simetrical + */ + +/** * Category objects are immutable, strictly speaking. If you call methods that change the database, * like to refresh link counts, the objects will be appropriately reinitialized. * Member variables are lazy-initialized. * * TODO: Move some stuff from CategoryPage.php to here, and use that. - * - * @author Simetrical */ - class Category { /** Name of the category, normalized to DB-key form */ private $mName = null; @@ -103,7 +122,7 @@ class Category { * Factory function. * * @param $title Title for the category page - * @return category|false on a totally invalid name + * @return Category|bool on a totally invalid name */ public static function newFromTitle( $title ) { $cat = new self(); @@ -185,7 +204,7 @@ class Category { public function getFileCount() { return $this->getX( 'mFiles' ); } /** - * @return Title|false Title for this category, or false on failure. + * @return Title|bool Title for this category, or false on failure. */ public function getTitle() { if ( $this->mTitle ) return $this->mTitle; @@ -231,7 +250,10 @@ class Category { ); } - /** Generic accessor */ + /** + * Generic accessor + * @return bool + */ private function getX( $key ) { if ( !$this->initialize() ) { return false; @@ -257,7 +279,7 @@ class Category { } $dbw = wfGetDB( DB_MASTER ); - $dbw->begin(); + $dbw->begin( __METHOD__ ); # Insert the row if it doesn't exist yet (e.g., this is being run via # update.php from a pre-1.16 schema). TODO: This will cause lots and @@ -275,13 +297,13 @@ class Category { 'IGNORE' ); - $cond1 = $dbw->conditional( 'page_namespace=' . NS_CATEGORY, 1, 'NULL' ); - $cond2 = $dbw->conditional( 'page_namespace=' . NS_FILE, 1, 'NULL' ); + $cond1 = $dbw->conditional( array( 'page_namespace' => NS_CATEGORY ), 1, 'NULL' ); + $cond2 = $dbw->conditional( array( 'page_namespace' => NS_FILE ), 1, 'NULL' ); $result = $dbw->selectRow( array( 'categorylinks', 'page' ), - array( 'COUNT(*) AS pages', - "COUNT($cond1) AS subcats", - "COUNT($cond2) AS files" + array( 'pages' => 'COUNT(*)', + 'subcats' => "COUNT($cond1)", + 'files' => "COUNT($cond2)" ), array( 'cl_to' => $this->mName, 'page_id = cl_from' ), __METHOD__, @@ -297,7 +319,7 @@ class Category { array( 'cat_title' => $this->mName ), __METHOD__ ); - $dbw->commit(); + $dbw->commit( __METHOD__ ); # Now we should update our local counts. $this->mPages = $result->pages; |