Merge "Update ImportableUploadRevisionImporter for interwiki usernames" into REL1_31
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Sun, 21 Oct 2018 15:59:47 +0000 (15:59 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Sun, 21 Oct 2018 15:59:47 +0000 (15:59 +0000)
RELEASE-NOTES-1.31
includes/auth/AuthManager.php
includes/installer/i18n/en.json
includes/libs/rdbms/database/Database.php
tests/phpunit/includes/libs/rdbms/database/DatabaseSQLTest.php
tests/phpunit/includes/libs/rdbms/database/DatabaseTest.php

index 9308a92..e8c384a 100644 (file)
@@ -14,6 +14,7 @@ THIS IS NOT A RELEASE YET
 * (T206979) Fix PHP 7.3 warnings of using "compact()" when some variables may
   not be set.
 * Fix PHP 7.3 warnings "preg_replace(): [...] invalid range in character class"
+* (T207540) Include IP address in "Login for $1 succeeded" log entry.
 
 == MediaWiki 1.31.1 ==
 
index 9ed6d13..611a8cd 100644 (file)
@@ -681,8 +681,9 @@ class AuthManager implements LoggerAwareInterface {
                        // Step 4: Authentication complete! Set the user in the session and
                        // clean up.
 
-                       $this->logger->info( 'Login for {user} succeeded', [
+                       $this->logger->info( 'Login for {user} succeeded from {clientip}', [
                                'user' => $user->getName(),
+                               'clientip' => $this->request->getIP(),
                        ] );
                        /** @var RememberMeAuthenticationRequest $req */
                        $req = AuthenticationRequest::getRequestByClass(
index 5f0fea9..f1cb4ba 100644 (file)
        "config-help": "help",
        "config-help-tooltip": "click to expand",
        "config-nofile": "File \"$1\" could not be found. Has it been deleted?",
-       "config-extension-link": "Did you know that your wiki supports [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Extensions extensions]?\n\nYou can browse [https://www.mediawiki.org/wiki/Special:MyLanguage/Category:Extensions_by_category extensions by category] or the [https://www.mediawiki.org/wiki/Extension_Matrix Extension Matrix] to see the full list of extensions.",
+       "config-extension-link": "Did you know that your wiki supports [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Extensions extensions]?\n\nYou can browse [https://www.mediawiki.org/wiki/Special:MyLanguage/Category:Extensions_by_category extensions by category].",
        "config-skins-screenshots": "$1 (screenshots: $2)",
        "config-skins-screenshot": "$1 ($2)",
        "config-extensions-requires": "$1 (requires $2)",
index 896774f..2b5aaf5 100644 (file)
@@ -1503,14 +1503,14 @@ abstract class Database implements IDatabase, IMaintainableDatabase, LoggerAware
                        $options = [ $options ];
                }
 
-               $res = $this->select( $table, $var, $cond, $fname, $options, $join_conds );
+               $res = $this->select( $table, [ 'value' => $var ], $cond, $fname, $options, $join_conds );
                if ( $res === false ) {
                        return false;
                }
 
                $values = [];
                foreach ( $res as $row ) {
-                       $values[] = $row->$var;
+                       $values[] = $row->value;
                }
 
                return $values;
index cf10801..ab2f11b 100644 (file)
@@ -2047,4 +2047,21 @@ class DatabaseSQLTest extends PHPUnit\Framework\TestCase {
                $this->assertLastSql( 'BEGIN; SELECT 1; COMMIT' );
                $this->assertEquals( 0, $this->database->trxLevel() );
        }
+
+       /**
+        * @covers Wikimedia\Rdbms\Database::selectFieldValues()
+        */
+       public function testSelectFieldValues() {
+               $this->database->forceNextResult( [
+                       (object)[ 'value' => 'row1' ],
+                       (object)[ 'value' => 'row2' ],
+                       (object)[ 'value' => 'row3' ],
+               ] );
+
+               $this->assertSame(
+                       [ 'row1', 'row2', 'row3' ],
+                       $this->database->selectFieldValues( 'table', 'table.field', 'conds', __METHOD__ )
+               );
+               $this->assertLastSql( 'SELECT table.field AS value FROM table WHERE conds' );
+       }
 }
index e328cba..444a946 100644 (file)
@@ -609,4 +609,5 @@ class DatabaseTest extends PHPUnit\Framework\TestCase {
                $this->db->dbSchema( $old );
                $this->assertNotEquals( 'xxx', $this->db->dbSchema() );
        }
+
 }