Merge "Return array without holes from User::getAllGroups"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Tue, 31 Jul 2018 17:23:42 +0000 (17:23 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Tue, 31 Jul 2018 17:23:42 +0000 (17:23 +0000)
includes/logging/LogEventsList.php
includes/pager/ReverseChronologicalPager.php
tests/phpunit/includes/specials/SpecialPageExecutor.php

index 559ac87..f032efc 100644 (file)
@@ -144,7 +144,8 @@ class LogEventsList extends ContextSource {
                // Date menu
                $formDescriptor['date'] = [
                        'type' => 'date',
-                       'label-message' => 'date'
+                       'label-message' => 'date',
+                       'default' => sprintf( "%04d-%02d-%02d", $year, $month, $day ),
                ];
 
                // Tag filter
index 9eef728..51824d2 100644 (file)
@@ -81,14 +81,16 @@ abstract class ReverseChronologicalPager extends IndexPager {
                        return null;
                }
 
-               // Treat the given time in the wiki timezone and get a UTC timestamp for the database lookup
                $timestamp = self::getOffsetDate( $year, $month, $day );
-               $timestamp->setTimezone( $this->getConfig()->get( 'Localtimezone' ) );
 
                try {
-                       $this->mYear = (int)$timestamp->format( 'Y' );
-                       $this->mMonth = (int)$timestamp->format( 'm' );
-                       $this->mDay = (int)$timestamp->format( 'd' );
+                       // The timestamp used for DB queries is at midnight of the *next* day after the selected date.
+                       $selectedDate = new DateTime( $timestamp->getTimestamp( TS_ISO_8601 ) );
+                       $selectedDate = $selectedDate->modify( '-1 day' );
+
+                       $this->mYear = (int)$selectedDate->format( 'Y' );
+                       $this->mMonth = (int)$selectedDate->format( 'm' );
+                       $this->mDay = (int)$selectedDate->format( 'd' );
                        $this->mOffset = $this->mDb->timestamp( $timestamp->getTimestamp() );
                } catch ( TimestampException $e ) {
                        // Invalid user provided timestamp (T149257)
index e7cfca7..9572e30 100644 (file)
@@ -73,6 +73,9 @@ class SpecialPageExecutor {
 
                $this->setEditTokenFromUser( $context );
 
+               // Make sure the skin context is correctly set https://phabricator.wikimedia.org/T200771
+               $context->getSkin()->setContext( $context );
+
                return $context;
        }