Removed double hook explanation AfterFinalPageOutput
[lhc/web/wiklou.git] / maintenance / updateCollation.php
index 964b313..19c1d24 100644 (file)
@@ -47,7 +47,7 @@ class UpdateCollation extends Maintenance {
                $this->mDescription = <<<TEXT
 This script will find all rows in the categorylinks table whose collation is
 out-of-date (cl_collation != '$wgCategoryCollation') and repopulate cl_sortkey
-using the page title and cl_sortkey_prefix.  If everything's collation is
+using the page title and cl_sortkey_prefix.  If all collations are
 up-to-date, it will do nothing.
 TEXT;
 
@@ -120,6 +120,7 @@ TEXT;
                        }
                        if ( $count == 0 ) {
                                $this->output( "Collations up-to-date.\n" );
+
                                return;
                        }
                        $this->output( "Fixing collation for $count rows.\n" );
@@ -150,7 +151,8 @@ TEXT;
                                        # This is an old-style row, so the sortkey needs to be
                                        # converted.
                                        if ( $row->cl_sortkey == $title->getText()
-                                               || $row->cl_sortkey == $title->getPrefixedText() ) {
+                                               || $row->cl_sortkey == $title->getPrefixedText()
+                                       ) {
                                                $prefix = '';
                                        } else {
                                                # Custom sortkey, use it as a prefix
@@ -188,15 +190,14 @@ TEXT;
                                                __METHOD__
                                        );
                                }
+                               if ( $row ) {
+                                       $batchConds = array( $this->getBatchCondition( $row, $dbw ) );
+                               }
                        }
                        if ( !$dryRun ) {
                                $dbw->commit( __METHOD__ );
                        }
 
-                       if ( $row ) {
-                               $batchConds = array( $this->getBatchCondition( $row ) );
-                       }
-
                        $count += $res->numRows();
                        $this->output( "$count done.\n" );
 
@@ -219,8 +220,7 @@ TEXT;
         * Return an SQL expression selecting rows which sort above the given row,
         * assuming an ordering of cl_to, cl_type, cl_from
         */
-       function getBatchCondition( $row ) {
-               $dbw = $this->getDB( DB_MASTER );
+       function getBatchCondition( $row, $dbw ) {
                $fields = array( 'cl_to', 'cl_type', 'cl_from' );
                $first = true;
                $cond = false;
@@ -238,6 +238,7 @@ TEXT;
                                $prefix .= " AND $equality";
                        }
                }
+
                return $cond;
        }