r96511 MediaWiki - Code Review archive

Repository:MediaWiki
Revision:r96510‎ | r96511 | r96512 >
Date:22:07, 7 September 2011
Author:catrope
Status:ok
Tags:
Comment:
Modified paths:
  • /branches/REL1_18/extensions/skins/Daddio/Daddio.class.php (modified) (history)
  • /branches/REL1_18/phase3/docs/hooks.txt (modified) (history)
  • /branches/REL1_18/phase3/includes/SkinLegacy.php (modified) (history)
  • /branches/REL1_18/phase3/includes/SkinTemplate.php (modified) (history)
  • /branches/REL1_18/phase3/includes/Title.php (modified) (history)
  • /branches/REL1_18/phase3/includes/db/DatabaseSqlite.php (modified) (history)
  • /branches/REL1_18/phase3/includes/installer/DatabaseUpdater.php (modified) (history)
  • /branches/REL1_18/phase3/includes/installer/OracleUpdater.php (modified) (history)
  • /branches/REL1_18/phase3/includes/parser/Parser.php (modified) (history)
  • /branches/REL1_18/phase3/includes/specials/SpecialChangePassword.php (modified) (history)
  • /branches/REL1_18/phase3/includes/specials/SpecialContributions.php (modified) (history)
  • /branches/REL1_18/phase3/languages/messages/MessagesEn.php (modified) (history)
  • /branches/REL1_18/phase3/maintenance/language/messages.inc (modified) (history)
  • /branches/REL1_18/phase3/maintenance/update.php (modified) (history)
  • /branches/REL1_18/phase3/skins/Modern.php (modified) (history)
  • /branches/REL1_18/phase3/skins/MonoBook.php (modified) (history)
  • /branches/REL1_18/phase3/skins/Vector.php (modified) (history)

Diff [purge]

Index: branches/REL1_18/extensions/skins/Daddio/Daddio.class.php
@@ -99,8 +99,6 @@
100100 <?php if($this->data['showjumplinks']) { ?><div id="jump-to-nav"><?php $this->msg('jumpto') ?> <a href="#column-one"><?php $this->msg('jumptonavigation') ?></a>, <a href="#searchInput"><?php $this->msg('jumptosearch') ?></a></div><?php } ?>
101101
102102 <?php $this->html('bodytext') ?>
103 - <?php if(isset($this->data['printfooter'])) { ?><div class="printfooter"><?php $this->html('printfooter'); ?></div><?php } ?>
104 - <?php if(isset($this->data['debughtml'])) { $this->html('debughtml'); } ?>
105103 <div class='mw_clear'></div>
106104 <?php if($this->data['catlinks']) { $this->html('catlinks'); } ?>
107105 <?php $this->html('dataAfterContent') ?>
Index: branches/REL1_18/phase3/maintenance/update.php
@@ -110,7 +110,7 @@
111111
112112 $shared = $this->hasOption( 'doshared' );
113113
114 - $updates = array('core','extensions');
 114+ $updates = array( 'core', 'extensions', 'stats' );
115115 if( !$this->hasOption('nopurge') ) {
116116 $updates[] = 'purge';
117117 }
Index: branches/REL1_18/phase3/maintenance/language/messages.inc
@@ -2014,7 +2014,6 @@
20152015 'sp-contributions-explain',
20162016 'sp-contributions-footer',
20172017 'sp-contributions-footer-anon',
2018 - 'sp-contributions-showsizediff',
20192018 ),
20202019 'whatlinkshere' => array(
20212020 'whatlinkshere',
Index: branches/REL1_18/phase3/skins/Vector.php
@@ -174,9 +174,9 @@
175175 </div>
176176 <!-- /jumpto -->
177177 <?php endif; ?>
178 - <!-- bodytext -->
179 - <?php $this->html( 'bodytext' ) ?>
180 - <!-- /bodytext -->
 178+ <!-- bodycontent -->
 179+ <?php $this->html( 'bodycontent' ) ?>
 180+ <!-- /bodycontent -->
181181 <?php if ( $this->data['printfooter'] ): ?>
182182 <!-- printfooter -->
183183 <div class="printfooter">
Index: branches/REL1_18/phase3/skins/MonoBook.php
@@ -88,8 +88,6 @@
8989 <?php } ?>
9090 <!-- start content -->
9191 <?php $this->html('bodytext') ?>
92 - <?php if($this->data['printfooter']) { ?><div class="printfooter"><?php $this->html('printfooter'); ?></div><?php } ?>
93 - <?php $this->html('debughtml'); ?>
9492 <?php if($this->data['catlinks']) { $this->html('catlinks'); } ?>
9593 <!-- end content -->
9694 <?php if($this->data['dataAfterContent']) { $this->html ('dataAfterContent'); } ?>
Index: branches/REL1_18/phase3/skins/Modern.php
@@ -85,8 +85,6 @@
8686 <?php if($this->data['showjumplinks']) { ?><div id="jump-to-nav"><?php $this->msg('jumpto') ?> <a href="#mw_portlets"><?php $this->msg('jumptonavigation') ?></a>, <a href="#searchInput"><?php $this->msg('jumptosearch') ?></a></div><?php } ?>
8787
8888 <?php $this->html('bodytext') ?>
89 - <?php if($this->data['printfooter']) { ?><div class="printfooter"><?php $this->html('printfooter'); ?></div><?php } ?>
90 - <?php $this->html('debughtml'); ?>
9189 <div class='mw_clear'></div>
9290 <?php if($this->data['catlinks']) { $this->html('catlinks'); } ?>
9391 <?php $this->html ('dataAfterContent') ?>
Index: branches/REL1_18/phase3/docs/hooks.txt
@@ -869,6 +869,7 @@
870870 $title: Title object of page
871871 $url: string value as output (out parameter, can modify)
872872 $query: query options passed to Title::getCanonicalURL()
 873+$variant: variant passed to Title::getCanonicalURL()
873874
874875 'GetDefaultSortkey': Override the default sortkey for a page.
875876 $title: Title object that we need to get a sortkey for
@@ -878,11 +879,13 @@
879880 $title: Title object of page
880881 $url: string value as output (out parameter, can modify)
881882 $query: query options passed to Title::getFullURL()
 883+$variant: variant passed to Title::getFullURL()
882884
883885 'GetInternalURL': modify fully-qualified URLs used for squid cache purging
884886 $title: Title object of page
885887 $url: string value as output (out parameter, can modify)
886888 $query: query options passed to Title::getInternalURL()
 889+$variant: variant passed to Title::getFullURL()
887890
888891 'GetIP': modify the ip of the current user (called only once)
889892 &$ip: string holding the ip as determined so far
@@ -896,6 +899,7 @@
897900 $title: Title object of page
898901 $url: string value as output (out parameter, can modify)
899902 $query: query options passed to Title::getLocalURL()
 903+$variant: variant passed to Title::getLocalURL()
900904
901905 'GetMetadataVersion': modify the image metadata version currently in use. This is
902906 used when requesting image metadata from a ForiegnApiRepo. Media handlers
Property changes on: branches/REL1_18/phase3/docs/hooks.txt
___________________________________________________________________
Modified: svn:mergeinfo
903907 Merged /trunk/phase3/docs/hooks.txt:r96163,96174,96212,96217-96218,96271,96273,96306,96342,96358
Index: branches/REL1_18/phase3/includes/parser/Parser.php
@@ -53,7 +53,7 @@
5454 * changes in an incompatible way, so the parser cache
5555 * can automatically discard old data.
5656 */
57 - const VERSION = '1.6.5';
 57+ const VERSION = '1.6.4';
5858
5959 /**
6060 * Update this version number when the output of serialiseHalfParsedText()
@@ -5149,12 +5149,14 @@
51505150 * pull the given section along with its lower-level subsections. If the section is
51515151 * not found, $mode=get will return $newtext, and $mode=replace will return $text.
51525152 *
 5153+ * Section 0 is always considered to exist, even if it only contains the empty
 5154+ * string. If $text is the empty string and section 0 is replaced, $newText is
 5155+ * returned.
 5156+ *
51535157 * @param $mode String: one of "get" or "replace"
51545158 * @param $newText String: replacement text for section data.
51555159 * @return String: for "get", the extracted section text.
51565160 * for "replace", the whole page with the section replaced.
5157 - * If the page is empty and section 0 is requested, $text (as '')
5158 - * is returned
51595161 */
51605162 private function extractSections( $text, $section, $mode, $newText='' ) {
51615163 global $wgTitle; # not generally used but removes an ugly failure mode
@@ -5171,6 +5173,25 @@
51725174 $flags |= self::PTD_FOR_INCLUSION;
51735175 }
51745176 }
 5177+
 5178+ # Check for empty input
 5179+ if ( strval( $text ) === '' ) {
 5180+ # Only sections 0 and T-0 exist in an empty document
 5181+ if ( $sectionIndex == 0 ) {
 5182+ if ( $mode === 'get' ) {
 5183+ return '';
 5184+ } else {
 5185+ return $newText;
 5186+ }
 5187+ } else {
 5188+ if ( $mode === 'get' ) {
 5189+ return $newText;
 5190+ } else {
 5191+ return $text;
 5192+ }
 5193+ }
 5194+ }
 5195+
51755196 # Preprocess the text
51765197 $root = $this->preprocessToDom( $text, $flags );
51775198
@@ -5182,10 +5203,6 @@
51835204 if ( $sectionIndex == 0 ) {
51845205 # Section zero doesn't nest, level=big
51855206 $targetLevel = 1000;
5186 - if ( !$node ) {
5187 - # The page definitely exists - we checked that earlier - so it must be blank: see bug #14005
5188 - return $text;
5189 - }
51905207 } else {
51915208 while ( $node ) {
51925209 if ( $node->getName() === 'h' ) {
@@ -5268,7 +5285,8 @@
52695286
52705287 /**
52715288 * This function returns $oldtext after the content of the section
5272 - * specified by $section has been replaced with $text.
 5289+ * specified by $section has been replaced with $text. If the target
 5290+ * section does not exist, $oldtext is returned unchanged.
52735291 *
52745292 * @param $oldtext String: former text of the article
52755293 * @param $section Numeric: section identifier
Index: branches/REL1_18/phase3/includes/db/DatabaseSqlite.php
@@ -714,11 +714,6 @@
715715 return parent::buildLike( $params ) . "ESCAPE '\' ";
716716 }
717717
718 - public function dropTable( $tableName, $fName = 'DatabaseSqlite::dropTable' ) {
719 - $sql = 'DROP TABLE IF EXISTS ' . $this->tableName( $tableName );
720 - return $this->query( $sql, $fName );
721 - }
722 -
723718 /**
724719 * @return string
725720 */
Index: branches/REL1_18/phase3/includes/installer/DatabaseUpdater.php
@@ -188,7 +188,7 @@
189189 *
190190 * @param $what Array: what updates to perform
191191 */
192 - public function doUpdates( $what = array( 'core', 'extensions', 'purge' ) ) {
 192+ public function doUpdates( $what = array( 'core', 'extensions', 'purge', 'stats' ) ) {
193193 global $wgVersion;
194194
195195 $what = array_flip( $what );
@@ -205,7 +205,7 @@
206206 if( isset( $what['purge'] ) ) {
207207 $this->purgeCache();
208208 }
209 - if ( isset( $what['core'] ) ) {
 209+ if ( isset( $what['stats'] ) ) {
210210 $this->checkStats();
211211 }
212212 }
Index: branches/REL1_18/phase3/includes/installer/OracleUpdater.php
@@ -150,7 +150,7 @@
151151 *
152152 * @param $what array
153153 */
154 - public function doUpdates( $what = array( 'core', 'extensions', 'purge' ) ) {
 154+ public function doUpdates( $what = array( 'core', 'extensions', 'purge', 'stats' ) ) {
155155 parent::doUpdates( $what );
156156
157157 $this->db->query( 'BEGIN fill_wiki_info; END;' );
Index: branches/REL1_18/phase3/includes/Title.php
@@ -866,7 +866,7 @@
867867 # Finally, add the fragment.
868868 $url .= $this->getFragmentForURL();
869869
870 - wfRunHooks( 'GetFullURL', array( &$this, &$url, $query ) );
 870+ wfRunHooks( 'GetFullURL', array( &$this, &$url, $query, $variant ) );
871871 return $url;
872872 }
873873
@@ -1026,7 +1026,7 @@
10271027 global $wgInternalServer, $wgServer;
10281028 $server = $wgInternalServer !== false ? $wgInternalServer : $wgServer;
10291029 $url = wfExpandUrl( $server . $this->getLocalURL( $query, $variant ), PROTO_HTTP );
1030 - wfRunHooks( 'GetInternalURL', array( &$this, &$url, $query ) );
 1030+ wfRunHooks( 'GetInternalURL', array( &$this, &$url, $query, $variant ) );
10311031 return $url;
10321032 }
10331033
@@ -1044,7 +1044,7 @@
10451045 public function getCanonicalURL( $query = '', $variant = false ) {
10461046 global $wgCanonicalServer;
10471047 $url = wfExpandUrl( $this->getLocalURL( $query, $variant ) . $this->getFragmentForURL(), PROTO_CANONICAL );
1048 - wfRunHooks( '', array( &$this, &$url, $query ) );
 1048+ wfRunHooks( 'GetCanonicalURL', array( &$this, &$url, $query, $variant ) );
10491049 return $url;
10501050 }
10511051
Property changes on: branches/REL1_18/phase3/includes/Title.php
___________________________________________________________________
Modified: svn:mergeinfo
10521052 Merged /trunk/phase3/includes/Title.php:r96163,96174,96212,96217-96218,96271,96273,96306,96342,96358
Index: branches/REL1_18/phase3/includes/SkinLegacy.php
@@ -74,10 +74,6 @@
7575 $this->html( 'headelement' );
7676 echo $this->beforeContent();
7777 $this->html( 'bodytext' );
78 - echo '<div class="printfooter">';
79 - $this->html( 'printfooter' );
80 - echo '</div>';
81 - $this->html( 'debughtml' );
8278 echo "\n";
8379 echo $this->afterContent();
8480 $this->html( 'dataAfterContent' );
Index: branches/REL1_18/phase3/includes/SkinTemplate.php
@@ -514,6 +514,15 @@
515515 wfDebug( __METHOD__ . ": Hook SkinTemplateOutputPageBeforeExec broke outputPage execution!\n" );
516516 }
517517
 518+ // Set the bodytext to another key so that skins can just output it on it's own
 519+ // and output printfooter and debughtml separately
 520+ $tpl->set( 'bodycontent', $tpl->data['bodytext'] );
 521+
 522+ // Append printfooter and debughtml onto bodytext so that skins that were already
 523+ // using bodytext before they were split out don't suddenly start not outputting information
 524+ $tpl->data['bodytext'] .= Html::element( 'div', array( 'class' => 'printfooter' ), "\n{$tpl->data['printfooter']}" ) . "\n";
 525+ $tpl->data['bodytext'] .= $tpl->data['debughtml'];
 526+
518527 // allow extensions adding stuff after the page content.
519528 // See Skin::afterContentHook() for further documentation.
520529 $tpl->set( 'dataAfterContent', $this->afterContentHook() );
Index: branches/REL1_18/phase3/includes/specials/SpecialContributions.php
@@ -69,7 +69,6 @@
7070 $this->opts['limit'] = $wgRequest->getInt( 'limit', $wgUser->getOption('rclimit') );
7171 $this->opts['target'] = $target;
7272 $this->opts['topOnly'] = $wgRequest->getBool( 'topOnly' );
73 - $this->opts['showSizeDiff'] = $wgRequest->getBool( 'showSizeDiff' );
7473
7574 $nt = Title::makeTitleSafe( NS_USER, $target );
7675 if( !$nt ) {
@@ -127,9 +126,6 @@
128127 if ( $this->opts['topOnly'] ) {
129128 $apiParams['toponly'] = true;
130129 }
131 - if ( $this->opts['showSizeDiff'] ) {
132 - $apiParams['showsizediff'] = true;
133 - }
134130 if ( $this->opts['deletedOnly'] ) {
135131 $apiParams['deletedonly'] = true;
136132 }
@@ -166,7 +162,6 @@
167163 'month' => $this->opts['month'],
168164 'deletedOnly' => $this->opts['deletedOnly'],
169165 'topOnly' => $this->opts['topOnly'],
170 - 'showSizeDiff' => $this->opts['showSizeDiff'],
171166 ) );
172167 if( !$pager->getNumRows() ) {
173168 $wgOut->addWikiMsg( 'nocontribs', $target );
@@ -380,14 +375,10 @@
381376 $this->opts['topOnly'] = false;
382377 }
383378
384 - if( !isset( $this->opts['showSizeDiff'] ) ) {
385 - $this->opts['showSizeDiff'] = !$wgMiserMode;
386 - }
387 -
388379 $f = Xml::openElement( 'form', array( 'method' => 'get', 'action' => $wgScript, 'class' => 'mw-contributions-form' ) );
389380
390381 # Add hidden params for tracking except for parameters in $skipParameters
391 - $skipParameters = array( 'namespace', 'deletedOnly', 'target', 'contribs', 'year', 'month', 'topOnly', 'showSizeDiff' );
 382+ $skipParameters = array( 'namespace', 'deletedOnly', 'target', 'contribs', 'year', 'month', 'topOnly' );
392383 foreach ( $this->opts as $name => $value ) {
393384 if( in_array( $name, $skipParameters ) ) {
394385 continue;
@@ -397,15 +388,11 @@
398389
399390 $tagFilter = ChangeTags::buildTagFilterSelector( $this->opts['tagFilter'] );
400391
401 - $fNS = '';
402 - $fShowDiff = '';
403 - if ( !$wgMiserMode ) {
404 - $fNS = Html::rawElement( 'span', array( 'style' => 'white-space: nowrap' ),
405 - Xml::label( wfMsg( 'namespace' ), 'namespace' ) . ' ' .
406 - Xml::namespaceSelector( $this->opts['namespace'], '' )
407 - );
408 - $fShowDiff = Xml::checkLabel( wfMsg( 'sp-contributions-showsizediff' ), 'showSizeDiff', 'mw-show-size-diff', $this->opts['showSizeDiff'] );
409 - }
 392+ $fNS = ( $wgMiserMode ) ? '' :
 393+ Html::rawElement( 'span', array( 'style' => 'white-space: nowrap' ),
 394+ Xml::label( wfMsg( 'namespace' ), 'namespace' ) . ' ' .
 395+ Xml::namespaceSelector( $this->opts['namespace'], '' )
 396+ );
410397
411398 $f .= Xml::fieldset( wfMsg( 'sp-contributions-search' ) ) .
412399 Xml::radioLabel( wfMsgExt( 'sp-contributions-newbies', array( 'parsemag' ) ),
@@ -421,7 +408,6 @@
422409 'deletedOnly', 'mw-show-deleted-only', $this->opts['deletedOnly'] ) . '<br />' .
423410 Xml::tags( 'p', null, Xml::checkLabel( wfMsg( 'sp-contributions-toponly' ),
424411 'topOnly', 'mw-show-top-only', $this->opts['topOnly'] ) ) .
425 - $fShowDiff.
426412 ( $tagFilter ? Xml::tags( 'p', null, implode( '&#160;', $tagFilter ) ) : '' ) .
427413 Html::rawElement( 'p', array( 'style' => 'white-space: nowrap' ),
428414 Xml::dateMenu( $this->opts['year'], $this->opts['month'] ) . ' ' .
@@ -462,7 +448,6 @@
463449
464450 $this->deletedOnly = !empty( $options['deletedOnly'] );
465451 $this->topOnly = !empty( $options['topOnly'] );
466 - $this->showSizeDiff = !empty( $options['showSizeDiff'] );
467452
468453 $year = isset( $options['year'] ) ? $options['year'] : false;
469454 $month = isset( $options['month'] ) ? $options['month'] : false;
@@ -482,7 +467,7 @@
483468 }
484469
485470 function getQueryInfo() {
486 - global $wgUser, $wgMiserMode;
 471+ global $wgUser;
487472 list( $tables, $index, $userCond, $join_cond ) = $this->getUserCond();
488473
489474 $conds = array_merge( $userCond, $this->getNamespaceCond() );
@@ -495,25 +480,18 @@
496481 }
497482 $join_cond['page'] = array( 'INNER JOIN', 'page_id=rev_page' );
498483
499 - $fields = array(
500 - 'page_namespace', 'page_title', 'page_is_new', 'page_latest', 'page_is_redirect',
501 - 'page_len','rev_id', 'rev_page', 'rev_text_id', 'rev_timestamp', 'rev_comment',
502 - 'rev_minor_edit', 'rev_user', 'rev_user_text', 'rev_parent_id', 'rev_deleted',
503 - 'rev_len'
504 - );
505 - if ( $this->showSizeDiff && !$wgMiserMode ) {
506 - $fields = array_merge( $fields, array( 'rc_old_len', 'rc_new_len' ) );
507 - array_unshift( $tables, 'recentchanges' );
508 - $join_cond['recentchanges'] = array( 'INNER JOIN', "rev_id = rc_this_oldid" );
509 - }
510 -
511484 $queryInfo = array(
512485 'tables' => $tables,
513 - 'fields' => $fields,
 486+ 'fields' => array(
 487+ 'page_namespace', 'page_title', 'page_is_new', 'page_latest', 'page_is_redirect',
 488+ 'page_len','rev_id', 'rev_page', 'rev_text_id', 'rev_timestamp', 'rev_comment',
 489+ 'rev_minor_edit', 'rev_user', 'rev_user_text', 'rev_parent_id', 'rev_deleted'
 490+ ),
514491 'conds' => $conds,
515492 'options' => array( 'USE INDEX' => array('revision' => $index) ),
516493 'join_conds' => $join_cond
517494 );
 495+
518496 ChangeTags::modifyDisplayQuery(
519497 $queryInfo['tables'],
520498 $queryInfo['fields'],
@@ -527,10 +505,9 @@
528506 return $queryInfo;
529507 }
530508
531 - function getUserCond() {
 509+ function getUserCond() {
532510 $condition = array();
533511 $join_conds = array();
534 -
535512 if( $this->target == 'newbies' ) {
536513 $tables = array( 'user_groups', 'page', 'revision' );
537514 $max = $this->mDb->selectField( 'user', 'max(user_id)', false, __METHOD__ );
@@ -687,13 +664,8 @@
688665 }
689666
690667 $diffHistLinks = '(' . $difftext . $this->messages['pipe-separator'] . $histlink . ')';
 668+ $ret = "{$del}{$d} {$diffHistLinks} {$nflag}{$mflag} {$link}{$userlink} {$comment} {$topmarktext}";
691669
692 -
693 - $diffOut = ' . . ' . $wgLang->getDirMark() . ( $this->showSizeDiff ?
694 - ChangesList::showCharacterDifference( $row->rc_old_len, $row->rc_new_len ) : Linker::formatRevisionSize( $row->rev_len ) );
695 -
696 - $ret = "{$del}{$d} {$diffHistLinks} {$nflag}{$mflag} {$link}{$diffOut}{$userlink} {$comment} {$topmarktext}";
697 -
698670 # Denote if username is redacted for this edit
699671 if( $rev->isDeleted( Revision::DELETED_USER ) ) {
700672 $ret .= " <strong>" . wfMsgHtml('rev-deleted-user-contribs') . "</strong>";
Index: branches/REL1_18/phase3/includes/specials/SpecialChangePassword.php
@@ -64,6 +64,9 @@
6565
6666 if( $wgRequest->wasPosted() && $wgUser->matchEditToken( $wgRequest->getVal( 'token' ) ) ) {
6767 try {
 68+ if ( isset( $_SESSION['wsDomain'] ) ) {
 69+ $this->mDomain = $_SESSION['wsDomain'];
 70+ }
6871 $wgAuth->setDomain( $this->mDomain );
6972 if( !$wgAuth->allowPasswordChange() ) {
7073 $this->error( wfMsg( 'resetpass_forbidden' ) );
Index: branches/REL1_18/phase3/languages/messages/MessagesEn.php
@@ -2986,7 +2986,6 @@
29872987 'sp-contributions-explain' => '', # only translate this message to other languages if you have to change it
29882988 'sp-contributions-footer' => '-', # do not translate or duplicate this message to other languages
29892989 'sp-contributions-footer-anon' => '-', # do not translate or duplicate this message to other languages
2990 -'sp-contributions-showsizediff' => 'Display difference in page size',
29912990
29922991 # What links here
29932992 'whatlinkshere' => 'What links here',

Past revisions this follows-up on

RevisionCommit summaryAuthorDate
r96163Reverted parser bump from r84601 per CRaaron23:14, 2 September 2011
r96174Fix r87731: update site stats only when explicitly asked to do somaxsem10:23, 3 September 2011
r96212rv r89483 per CRmaxsem20:14, 3 September 2011
r96217Followup r87340: Post-hook swap bodytext into a new bodycontent key and appen...dantman12:38, 4 September 2011
r96218Followup r96217: Update Daddio.dantman13:03, 4 September 2011
r96271Reverted r84357 and r90461 and fixed the bug in a better way: in an empty doc...tstarling06:56, 5 September 2011
r96273Followup r96180, I can't believe I did't notice I accidentally killed the hoo...dantman08:31, 5 September 2011
r96306Revert r88008 (add size difference to Special:Contributions) and its large gr...catrope21:47, 5 September 2011
r96342Fix Undefined index: showSizeDiff in /www/w/includes/specials/SpecialContribu...reedy15:23, 6 September 2011
r96358Set wsDomain based on the user's session, if domain is set in the session. Wh...laner18:45, 6 September 2011

Status & tagging log