r96088 MediaWiki - Code Review archive

Repository:MediaWiki
Revision:r96087‎ | r96088 | r96089 >
Date:10:53, 2 September 2011
Author:hashar
Status:ok
Tags:
Comment:
MFT to REL1_18
r94058 fix hebrew alias for Special:ChangePassword
r94062 ApiQueryWatchlist cleaner queries
r94107 r95812 MW installer require -> require_once
r94630 Watch action: add , 0 to article construction
r95042 typo in docs/hooks.txt
r95155 Exif byte order, windows-1252 as fallback encoding for gif r95332 r95451 (bug 30441) getParamValue must understand "+" encoding of space
r95410 r95442 related to (bug 13979)
r95468 Put mediawiki.special.search in a document ready wrapper
Modified paths:
  • /branches/REL1_18/phase3 (modified) (history)
  • /branches/REL1_18/phase3/RELEASE-NOTES-1.18 (modified) (history)
  • /branches/REL1_18/phase3/docs/hooks.txt (modified) (history)
  • /branches/REL1_18/phase3/includes (modified) (history)
  • /branches/REL1_18/phase3/includes/actions/WatchAction.php (modified) (history)
  • /branches/REL1_18/phase3/includes/api (modified) (history)
  • /branches/REL1_18/phase3/includes/api/ApiQueryWatchlist.php (modified) (history)
  • /branches/REL1_18/phase3/includes/installer/LocalSettingsGenerator.php (modified) (history)
  • /branches/REL1_18/phase3/includes/media/BitmapMetadataHandler.php (modified) (history)
  • /branches/REL1_18/phase3/includes/media/Exif.php (modified) (history)
  • /branches/REL1_18/phase3/includes/media/GIFMetadataExtractor.php (modified) (history)
  • /branches/REL1_18/phase3/includes/media/JpegMetadataExtractor.php (modified) (history)
  • /branches/REL1_18/phase3/includes/media/Tiff.php (modified) (history)
  • /branches/REL1_18/phase3/includes/specials (modified) (history)
  • /branches/REL1_18/phase3/includes/specials/SpecialEmailuser.php (modified) (history)
  • /branches/REL1_18/phase3/languages (modified) (history)
  • /branches/REL1_18/phase3/languages/messages (modified) (history)
  • /branches/REL1_18/phase3/languages/messages/MessagesHe.php (modified) (history)
  • /branches/REL1_18/phase3/maintenance/archives (modified) (history)
  • /branches/REL1_18/phase3/maintenance/cleanupTable.inc (modified) (history)
  • /branches/REL1_18/phase3/maintenance/tables.sql (modified) (history)
  • /branches/REL1_18/phase3/resources/mediawiki.special/mediawiki.special.search.js (modified) (history)
  • /branches/REL1_18/phase3/resources/mediawiki/mediawiki.util.js (modified) (history)
  • /branches/REL1_18/phase3/tests/phpunit/Makefile (modified) (history)
  • /branches/REL1_18/phase3/tests/qunit/suites/resources/mediawiki/mediawiki.util.js (modified) (history)
  • /branches/REL1_18/phase3/tests/selenium/installer/README.txt (modified) (history)
  • /branches/REL1_18/phase3/tests/testHelpers.inc (modified) (history)

Diff [purge]

Property changes on: branches/REL1_18/phase3/maintenance/archives
___________________________________________________________________
Modified: svn:mergeinfo
11 Merged /trunk/phase3/maintenance/archives:r94058,94062,94107,94630,95042,95155,95332,95410,95442,95468,95601,95812
Property changes on: branches/REL1_18/phase3/maintenance/cleanupTable.inc
___________________________________________________________________
Modified: svn:mergeinfo
22 Merged /trunk/phase3/maintenance/cleanupTable.inc:r94058,94062,94107,94630,95042,95155,95332,95410,95442,95468,95601,95812
Property changes on: branches/REL1_18/phase3/maintenance/tables.sql
___________________________________________________________________
Modified: svn:mergeinfo
33 Merged /trunk/phase3/maintenance/tables.sql:r94058,94062,94107,94630,95042,95155,95332,95410,95442,95468,95601,95812
Index: branches/REL1_18/phase3/docs/hooks.txt
@@ -635,7 +635,7 @@
636636
637637 'ContribsPager::getQueryInfo': Before the contributions query is about to run
638638 &$pager: Pager object for contributions
639 -&queryInfo: The query for the contribs Pager
 639+&$queryInfo: The query for the contribs Pager
640640
641641 'ContributionsLineEnding': Called before a contributions HTML line is finished
642642 $page: SpecialPage object for contributions
Property changes on: branches/REL1_18/phase3/docs/hooks.txt
___________________________________________________________________
Modified: svn:mergeinfo
643643 Merged /trunk/phase3/docs/hooks.txt:r94058,94062,94107,94630,95042,95155,95332,95410,95442,95468,95601,95812
Index: branches/REL1_18/phase3/RELEASE-NOTES-1.18
@@ -431,6 +431,8 @@
432432 #REDIRECT [[Foo]] is invalid JS
433433 * (bug 30335) Fix for HTMLForms using GET breaking when non-friendly URLs
434434 are used
 435+* (bug 30264) Changed installer-generated LocalSettings.php to use require_once()
 436+ instead require() for included extensions.
435437
436438 === API changes in 1.18 ===
437439 * BREAKING CHANGE: action=watch now requires POST and token.
Property changes on: branches/REL1_18/phase3/RELEASE-NOTES-1.18
___________________________________________________________________
Modified: svn:mergeinfo
438440 Merged /trunk/phase3/RELEASE-NOTES-1.18:r94058,94062,94107,94630,95042,95155,95332,95410,95442,95468,95812
Index: branches/REL1_18/phase3/tests/qunit/suites/resources/mediawiki/mediawiki.util.js
@@ -107,7 +107,7 @@
108108 });
109109
110110 test( 'getParamValue', function() {
111 - expect(3);
 111+ expect(5);
112112
113113 var url1 = 'http://mediawiki.org/?foo=wrong&foo=right#&foo=bad';
114114
@@ -116,6 +116,12 @@
117117
118118 var url2 = 'http://mediawiki.org/#&foo=bad';
119119 strictEqual( mw.util.getParamValue( 'foo', url2 ), null, 'Ignore hash if param is not in querystring but in hash (bug 27427)' );
 120+
 121+ var url3 = 'example.com?' + $.param({ 'TEST': 'a b+c' });
 122+ strictEqual( mw.util.getParamValue( 'TEST', url3 ), 'a b+c', 'Bug 30441: getParamValue must understand "+" encoding of space' );
 123+
 124+ var url4 = 'example.com?' + $.param({ 'TEST': 'a b+c d' }); // check for sloppy code from r95332 :)
 125+ strictEqual( mw.util.getParamValue( 'TEST', url4 ), 'a b+c d', 'Bug 30441: getParamValue must understand "+" encoding of space (multiple spaces)' );
120126 });
121127
122128 test( 'tooltipAccessKey', function() {
Property changes on: branches/REL1_18/phase3/tests/qunit/suites/resources/mediawiki/mediawiki.util.js
___________________________________________________________________
Added: svn:mergeinfo
123129 Merged /branches/new-installer/phase3/tests/qunit/suites/resources/mediawiki/mediawiki.util.js:r43664-66004
124130 Merged /branches/REL1_15/phase3/tests/qunit/suites/resources/mediawiki/mediawiki.util.js:r51646
125131 Merged /branches/REL1_17/phase3/tests/qunit/suites/resources/mediawiki/mediawiki.util.js:r81445,81448
126132 Merged /trunk/phase3/tests/qunit/suites/resources/mediawiki/mediawiki.util.test.js:r95332,95451
127133 Merged /branches/sqlite/tests/qunit/suites/resources/mediawiki/mediawiki.util.js:r58211-58321
128134 Merged /trunk/phase3/tests/qunit/suites/resources/mediawiki/mediawiki.util.js:r92580,92634,92713,92762,92765,92791,92854,92884,92886-92887,92894,92898,92907,92932,92958,93141,93149,93151,93233-93234,93258,93266,93303,93516-93518,93520,93818-93822,93847,93858,93891,93935-93936,94058,94062,94068,94107,94155,94235,94277,94346,94372,94422,94425,94444,94448,94456,94498,94517,94601,94630,94728,94738,94825,94862,94995-94997,95023,95042,95072-95073,95155,95327,95332,95410,95422,95426,95442,95468,95601,95812
Property changes on: branches/REL1_18/phase3/tests/selenium/installer/README.txt
___________________________________________________________________
Modified: svn:mergeinfo
129135 Merged /trunk/phase3/tests/selenium/installer/README.txt:r94058,94062,94107,94630,95042,95155,95332,95410,95442,95468,95601,95812
Property changes on: branches/REL1_18/phase3/tests/phpunit/Makefile
___________________________________________________________________
Modified: svn:mergeinfo
130136 Merged /trunk/phase3/tests/phpunit/Makefile:r94058,94062,94107,94630,95042,95155,95332,95410,95442,95468,95601,95812
Property changes on: branches/REL1_18/phase3/tests/testHelpers.inc
___________________________________________________________________
Modified: svn:mergeinfo
131137 Merged /trunk/phase3/tests/testHelpers.inc:r94058,94062,94107,94630,95042,95155,95332,95410,95442,95468,95601,95812
Index: branches/REL1_18/phase3/includes/installer/LocalSettingsGenerator.php
@@ -129,7 +129,7 @@
130130
131131 foreach( $this->extensions as $extName ) {
132132 $encExtName = self::escapePhpString( $extName );
133 - $localSettings .= "require( \"extensions/$encExtName/$encExtName.php\" );\n";
 133+ $localSettings .= "require_once( \"\$IP/extensions/$encExtName/$encExtName.php\" );\n";
134134 }
135135 }
136136
Index: branches/REL1_18/phase3/includes/actions/WatchAction.php
@@ -87,7 +87,7 @@
8888 }
8989
9090 public static function doWatch( Title $title, User $user ) {
91 - $page = new Article( $title );
 91+ $page = new Article( $title, 0 );
9292
9393 if ( wfRunHooks( 'WatchArticle', array( &$user, &$page ) ) ) {
9494 $user->addWatch( $title );
@@ -97,7 +97,7 @@
9898 }
9999
100100 public static function doUnwatch( Title $title, User $user ) {
101 - $page = new Article( $title );
 101+ $page = new Article( $title, 0 );
102102
103103 if ( wfRunHooks( 'UnwatchArticle', array( &$user, &$page ) ) ) {
104104 $user->removeWatch( $title );
Index: branches/REL1_18/phase3/includes/api/ApiQueryWatchlist.php
@@ -118,7 +118,6 @@
119119 $this->addTables( array(
120120 'recentchanges',
121121 'watchlist',
122 - 'page',
123122 ) );
124123
125124 $userId = $user->getId();
@@ -128,7 +127,6 @@
129128 'wl_namespace=rc_namespace',
130129 'wl_title=rc_title'
131130 ) ) ) );
132 - $this->addJoinConds( array( 'page' => array( 'LEFT JOIN','rc_cur_id=page_id' ) ) );
133131
134132 $this->addWhere( array(
135133 'rc_deleted' => 0,
@@ -140,8 +138,13 @@
141139 $db->timestamp( $params['start'] ),
142140 $db->timestamp( $params['end'] ) );
143141 $this->addWhereFld( 'wl_namespace', $params['namespace'] );
144 - $this->addWhereIf( 'rc_this_oldid=page_latest OR rc_type=' . RC_LOG, !$params['allrev'] );
145142
 143+ if ( !$params['allrev'] ) {
 144+ $this->addTables( 'page' );
 145+ $this->addJoinConds( array( 'page' => array( 'LEFT JOIN','rc_cur_id=page_id' ) ) );
 146+ $this->addWhere( 'rc_this_oldid=page_latest OR rc_type=' . RC_LOG );
 147+ }
 148+
146149 if ( !is_null( $params['show'] ) ) {
147150 $show = array_flip( $params['show'] );
148151
Property changes on: branches/REL1_18/phase3/includes/api
___________________________________________________________________
Modified: svn:mergeinfo
149152 Merged /trunk/phase3/includes/api:r94058,94062,94107,94630,95042,95155,95332,95410,95442,95468,95601,95812
Index: branches/REL1_18/phase3/includes/media/Exif.php
@@ -90,6 +90,11 @@
9191 */
9292 var $log = false;
9393
 94+ /**
 95+ * The byte order of the file. Needed because php's
 96+ * extension doesn't fully process some obscure props.
 97+ */
 98+ private $byteOrder;
9499 //@}
95100
96101 /**
@@ -102,7 +107,7 @@
103108 * DigitalZoomRatio = 0/0 is rejected. need to determine if that's valid.
104109 * possibly should treat 0/0 = 0. need to read exif spec on that.
105110 */
106 - function __construct( $file ) {
 111+ function __construct( $file, $byteOrder = '' ) {
107112 /**
108113 * Page numbers here refer to pages in the EXIF 2.2 standard
109114 *
@@ -275,6 +280,16 @@
276281
277282 $this->file = $file;
278283 $this->basename = wfBaseName( $this->file );
 284+ if ( $byteOrder === 'BE' || $byteOrder === 'LE' ) {
 285+ $this->byteOrder = $byteOrder;
 286+ } else {
 287+ // Only give a warning for b/c, since originally we didn't
 288+ // require this. The number of things affected by this is
 289+ // rather small.
 290+ wfWarn( 'Exif class did not have byte order specified. '
 291+ . 'Some properties may be decoded incorrectly.' );
 292+ $this->byteOrder = 'BE'; // BE seems about twice as popular as LE in jpg's.
 293+ }
279294
280295 $this->debugFile( $this->basename, __FUNCTION__, true );
281296 if( function_exists( 'exif_read_data' ) ) {
@@ -394,7 +409,16 @@
395410 }
396411 $newVal .= ord( substr($val, $i, 1) );
397412 }
398 - $this->mFilteredExifData['GPSVersionID'] = $newVal;
 413+ if ( $this->byteOrder === 'LE' ) {
 414+ // Need to reverse the string
 415+ $newVal2 = '';
 416+ for ( $i = strlen( $newVal ) - 1; $i >= 0; $i-- ) {
 417+ $newVal2 .= substr( $newVal, $i, 1 );
 418+ }
 419+ $this->mFilteredExifData['GPSVersionID'] = $newVal2;
 420+ } else {
 421+ $this->mFilteredExifData['GPSVersionID'] = $newVal;
 422+ }
399423 unset( $this->mFilteredExifData['GPSVersion'] );
400424 }
401425
@@ -415,7 +439,6 @@
416440 unset($this->mFilteredExifData[$prop]);
417441 return;
418442 }
419 -
420443 $charCode = substr( $this->mFilteredExifData[$prop], 0, 8);
421444 $val = substr( $this->mFilteredExifData[$prop], 8);
422445
@@ -426,7 +449,7 @@
427450 $charset = "Shift-JIS";
428451 break;
429452 case "UNICODE\x00":
430 - $charset = "UTF-16";
 453+ $charset = "UTF-16" . $this->byteOrder;
431454 break;
432455 default: //ascii or undefined.
433456 $charset = "";
Property changes on: branches/REL1_18/phase3/includes/media/Exif.php
___________________________________________________________________
Modified: svn:mergeinfo
434457 Merged /trunk/phase3/includes/media/Exif.php:r94058,94062,94107,94630,95042,95155,95332,95410,95442,95468,95601,95812
Index: branches/REL1_18/phase3/includes/media/GIFMetadataExtractor.php
@@ -126,14 +126,14 @@
127127
128128 // The standard says this should be ASCII, however its unclear if
129129 // thats true in practise. Check to see if its valid utf-8, if so
130 - // assume its that, otherwise assume its iso-8859-1
 130+ // assume its that, otherwise assume its windows-1252 (iso-8859-1)
131131 $dataCopy = $data;
132132 // quickIsNFCVerify has the side effect of replacing any invalid characters
133133 UtfNormal::quickIsNFCVerify( $dataCopy );
134134
135135 if ( $dataCopy !== $data ) {
136136 wfSuppressWarnings();
137 - $data = iconv( 'ISO-8859-1', 'UTF-8', $data );
 137+ $data = iconv( 'windows-1252', 'UTF-8', $data );
138138 wfRestoreWarnings();
139139 }
140140
Index: branches/REL1_18/phase3/includes/media/BitmapMetadataHandler.php
@@ -40,16 +40,16 @@
4141
4242
4343 /**
44 - *
45 - * get exif info using exif class.
 44+ * Get exif info using exif class.
4645 * Basically what used to be in BitmapHandler::getMetadata().
4746 * Just calls stuff in the Exif class.
4847 *
4948 * @param $filename string
5049 */
51 - function getExif ( $filename ) {
52 - if ( file_exists( $filename ) ) {
53 - $exif = new Exif( $filename );
 50+ function getExif ( $filename, $byteOrder ) {
 51+ global $wgShowEXIF;
 52+ if ( file_exists( $filename ) && $wgShowEXIF ) {
 53+ $exif = new Exif( $filename, $byteOrder );
5454 $data = $exif->getFilteredData();
5555 if ( $data ) {
5656 $this->addMetadata( $data, 'exif' );
@@ -117,7 +117,6 @@
118118 static function Jpeg ( $filename ) {
119119 $showXMP = function_exists( 'xml_parser_create_ns' );
120120 $meta = new self();
121 - $meta->getExif( $filename );
122121
123122 $seg = JpegMetadataExtractor::segmentSplitter( $filename );
124123 if ( isset( $seg['COM'] ) && isset( $seg['COM'][0] ) ) {
@@ -141,6 +140,9 @@
142141 $meta->addMetadata( $array, $type );
143142 }
144143 }
 144+ if ( isset( $seg['byteOrder'] ) ) {
 145+ $meta->getExif( $filename, $seg['byteOrder'] );
 146+ }
145147 return $meta->getMetadataArray();
146148 }
147149
@@ -208,4 +210,60 @@
209211 return $baseArray;
210212 }
211213
 214+ /**
 215+ * This doesn't do much yet, but eventually I plan to add
 216+ * XMP support for Tiff. (PHP's exif support already extracts
 217+ * but needs some further processing because PHP's exif support
 218+ * is stupid...)
 219+ *
 220+ * @todo Add XMP support, so this function actually makes
 221+ * sense to put here.
 222+ *
 223+ * The various exceptions this throws are caught later.
 224+ * @param $filename String
 225+ * @return Array The metadata.
 226+ */
 227+ static public function Tiff ( $filename ) {
 228+ if ( file_exists( $filename ) ) {
 229+ $byteOrder = self::getTiffByteOrder( $filename );
 230+ if ( !$byteOrder ) {
 231+ throw new MWException( "Error determining byte order of $filename" );
 232+ }
 233+ $exif = new Exif( $filename, $byteOrder );
 234+ $data = $exif->getFilteredData();
 235+ if ( $data ) {
 236+ $data['MEDIAWIKI_EXIF_VERSION'] = Exif::version();
 237+ return $data;
 238+ } else {
 239+ throw new MWException( "Could not extract data from tiff file $filename" );
 240+ }
 241+ } else {
 242+ throw new MWException( "File doesn't exist - $filename" );
 243+ }
 244+ }
 245+ /**
 246+ * Read the first 2 bytes of a tiff file to figure out
 247+ * Little Endian or Big Endian. Needed for exif stuff.
 248+ *
 249+ * @param $filename String The filename
 250+ * @return String 'BE' or 'LE' or false
 251+ */
 252+ static function getTiffByteOrder( $filename ) {
 253+ $fh = fopen( $filename, 'rb' );
 254+ if ( !$fh ) return false;
 255+ $head = fread( $fh, 2 );
 256+ fclose( $fh );
 257+
 258+ switch( $head ) {
 259+ case 'II':
 260+ return 'LE'; // II for intel.
 261+ case 'MM':
 262+ return 'BE'; // MM for motorla.
 263+ default:
 264+ return false; // Something went wrong.
 265+
 266+ }
 267+ }
 268+
 269+
212270 }
Index: branches/REL1_18/phase3/includes/media/JpegMetadataExtractor.php
@@ -28,7 +28,10 @@
2929
3030 $segmentCount = 0;
3131
32 - $segments = array( 'XMP_ext' => array(), 'COM' => array() );
 32+ $segments = array(
 33+ 'XMP_ext' => array(),
 34+ 'COM' => array(),
 35+ );
3336
3437 if ( !$filename ) {
3538 throw new MWException( "No filename specified for " . __METHOD__ );
@@ -82,23 +85,34 @@
8386 wfDebug( __METHOD__ . ' Ignoring JPEG comment as is garbage.' );
8487 }
8588
86 - } elseif ( $buffer === "\xE1" && $showXMP ) {
 89+ } elseif ( $buffer === "\xE1" ) {
8790 // APP1 section (Exif, XMP, and XMP extended)
8891 // only extract if XMP is enabled.
8992 $temp = self::jpegExtractMarker( $fh );
90 -
9193 // check what type of app segment this is.
92 - if ( substr( $temp, 0, 29 ) === "http://ns.adobe.com/xap/1.0/\x00" ) {
 94+ if ( substr( $temp, 0, 29 ) === "http://ns.adobe.com/xap/1.0/\x00" && $showXMP ) {
9395 $segments["XMP"] = substr( $temp, 29 );
94 - } elseif ( substr( $temp, 0, 35 ) === "http://ns.adobe.com/xmp/extension/\x00" ) {
 96+ } elseif ( substr( $temp, 0, 35 ) === "http://ns.adobe.com/xmp/extension/\x00" && $showXMP ) {
9597 $segments["XMP_ext"][] = substr( $temp, 35 );
96 - } elseif ( substr( $temp, 0, 29 ) === "XMP\x00://ns.adobe.com/xap/1.0/\x00" ) {
 98+ } elseif ( substr( $temp, 0, 29 ) === "XMP\x00://ns.adobe.com/xap/1.0/\x00" && $showXMP ) {
9799 // Some images (especially flickr images) seem to have this.
98100 // I really have no idea what the deal is with them, but
99101 // whatever...
100102 $segments["XMP"] = substr( $temp, 29 );
101103 wfDebug( __METHOD__ . ' Found XMP section with wrong app identifier '
102104 . "Using anyways.\n" );
 105+ } elseif ( substr( $temp, 0, 6 ) === "Exif\0\0" ) {
 106+ // Just need to find out what the byte order is.
 107+ // because php's exif plugin sucks...
 108+ // This is a II for little Endian, MM for big. Not a unicode BOM.
 109+ $byteOrderMarker = substr( $temp, 6, 2 );
 110+ if ( $byteOrderMarker === 'MM' ) {
 111+ $segments['byteOrder'] = 'BE';
 112+ } elseif ( $byteOrderMarker === 'II' ) {
 113+ $segments['byteOrder'] = 'LE';
 114+ } else {
 115+ wfDebug( __METHOD__ . ' Invalid byte ordering?!' );
 116+ }
103117 }
104118 } elseif ( $buffer === "\xED" ) {
105119 // APP13 - PSIR. IPTC and some photoshop stuff
Index: branches/REL1_18/phase3/includes/media/Tiff.php
@@ -56,13 +56,20 @@
5757 */
5858 function getMetadata( $image, $filename ) {
5959 global $wgShowEXIF;
60 - if ( $wgShowEXIF && file_exists( $filename ) ) {
61 - $exif = new Exif( $filename );
62 - $data = $exif->getFilteredData();
63 - if ( $data ) {
64 - $data['MEDIAWIKI_EXIF_VERSION'] = Exif::version();
65 - return serialize( $data );
66 - } else {
 60+ if ( $wgShowEXIF ) {
 61+ try {
 62+ $meta = BitmapMetadataHandler::Tiff( $filename );
 63+ if ( !is_array( $meta ) ) {
 64+ // This should never happen, but doesn't hurt to be paranoid.
 65+ throw new MWException('Metadata array is not an array');
 66+ }
 67+ $meta['MEDIAWIKI_EXIF_VERSION'] = Exif::version();
 68+ return serialize( $meta );
 69+ }
 70+ catch ( MWException $e ) {
 71+ // BitmapMetadataHandler throws an exception in certain exceptional
 72+ // cases like if file does not exist.
 73+ wfDebug( __METHOD__ . ': ' . $e->getMessage() . "\n" );
6774 return ExifBitmapHandler::BROKEN_FILE;
6875 }
6976 } else {
Index: branches/REL1_18/phase3/includes/specials/SpecialEmailuser.php
@@ -122,7 +122,7 @@
123123 if( !$ret instanceof User ) {
124124 if( $this->mTarget != '' ) {
125125 $ret = ( $ret == 'notarget' ) ? 'emailnotarget' : ( $ret . 'text' );
126 - $wgOut->addHTML( '<p class="error">' . wfMessage( $ret )->parse() . '</p>' );
 126+ $out->wrapWikiMsg( "<p class='error'>$1</p>", $ret );
127127 }
128128 $wgOut->addHTML( self::userForm( $this->mTarget ) );
129129 return false;
Property changes on: branches/REL1_18/phase3/includes/specials
___________________________________________________________________
Modified: svn:mergeinfo
130130 Merged /trunk/phase3/includes/specials:r94058,94062,94107,94630,95042,95155,95332,95410,95442,95468,95601,95812
Property changes on: branches/REL1_18/phase3/includes
___________________________________________________________________
Modified: svn:mergeinfo
131131 Merged /trunk/phase3/includes:r94058,94062,94107,94630,95042,95155,95332,95410,95442,95468,95812
Index: branches/REL1_18/phase3/languages/messages/MessagesHe.php
@@ -226,7 +226,7 @@
227227 'BrokenRedirects' => array( 'הפניות_לא_תקינות', 'הפניות_שבורות' ),
228228 'Categories' => array( 'קטגוריות', 'רשימת_קטגוריות' ),
229229 'ChangeEmail' => array( 'שינוי_דואר_אלקטרוני', 'שינוי_דואל' ),
230 - 'ChangePassword' => array( 'שינוי_סיסמה', 'איפוס_סיסמה' ),
 230+ 'ChangePassword' => array( 'שינוי_סיסמה' ),
231231 'ComparePages' => array( 'השוואת_דפים' ),
232232 'Confirmemail' => array( 'אימות_כתובת_דואר' ),
233233 'Contributions' => array( 'תרומות', 'תרומות_המשתמש' ),
Property changes on: branches/REL1_18/phase3/languages/messages
___________________________________________________________________
Modified: svn:mergeinfo
234234 Merged /trunk/phase3/languages/messages:r94058,94062,94107,94630,95042,95155,95332,95410,95442,95468,95601,95812
Property changes on: branches/REL1_18/phase3/languages
___________________________________________________________________
Modified: svn:mergeinfo
235235 Merged /trunk/phase3/languages:r94058,94062,94107,94630,95042,95155,95332,95410,95442,95468,95601,95812
Index: branches/REL1_18/phase3/resources/mediawiki.special/mediawiki.special.search.js
@@ -1,7 +1,7 @@
22 /*
3 - * JavaScript for Specical:Search
 3+ * JavaScript for Special:Search
44 */
5 -( function( $ ) {
 5+jQuery( function( $ ) {
66
77 // Emulate HTML5 autofocus behavior in non HTML5 compliant browsers
88 if ( !( 'autofocus' in document.createElement( 'input' ) ) ) {
@@ -34,4 +34,4 @@
3535 });
3636 }).trigger('change');
3737
38 -} )( jQuery );
\ No newline at end of file
 38+} );
\ No newline at end of file
Index: branches/REL1_18/phase3/resources/mediawiki/mediawiki.util.js
@@ -237,7 +237,9 @@
238238 var re = new RegExp( '^[^#]*[&?]' + $.escapeRE( param ) + '=([^&#]*)' );
239239 var m = re.exec( url );
240240 if ( m && m.length > 1 ) {
241 - return decodeURIComponent( m[1] );
 241+ // Beware that decodeURIComponent is not required to understand '+'
 242+ // by spec, as encodeURIComponent does not produce it.
 243+ return decodeURIComponent( m[1].replace( /\+/g, '%20' ) );
242244 }
243245 return null;
244246 },
Property changes on: branches/REL1_18/phase3/resources/mediawiki/mediawiki.util.js
___________________________________________________________________
Added: svn:mergeinfo
245247 Merged /branches/new-installer/phase3/resources/mediawiki/mediawiki.util.js:r43664-66004
246248 Merged /branches/REL1_15/phase3/resources/mediawiki/mediawiki.util.js:r51646
247249 Merged /branches/REL1_17/phase3/resources/mediawiki/mediawiki.util.js:r81445,81448
248250 Merged /branches/sqlite/resources/mediawiki/mediawiki.util.js:r58211-58321
249251 Merged /trunk/phase3/resources/mediawiki/mediawiki.util.js:r92580,92634,92713,92762,92765,92791,92854,92884,92886-92887,92894,92898,92907,92932,92958,93141,93149,93151,93233-93234,93258,93266,93303,93516-93518,93520,93818-93822,93847,93858,93891,93935-93936,94058,94062,94068,94107,94155,94235,94277,94346,94372,94422,94425,94444,94448,94456,94498,94517,94601,94630,94728,94738,94825,94862,94995-94997,95023,95042,95072-95073,95155,95327,95332,95410,95422,95426,95442,95451,95468,95601,95812
Property changes on: branches/REL1_18/phase3
___________________________________________________________________
Modified: svn:mergeinfo
250252 Merged /trunk/phase3:r94058,94062,94107,94630,95042,95155,95332,95410,95442,95468,95812

Past revisions this follows-up on

RevisionCommit summaryAuthorDate
r34321Add table ID (bug 13979)aaron15:33, 6 May 2008
r94058Reverting part of r94011 (in MessagesHe.php): The new alias for Special:Chang...rotem12:48, 8 August 2011
r94062Followup r88488, moved some of the prep work in it that was for r88493...reedy16:20, 8 August 2011
r94107(bug 30264) MediaWiki installer uses require, de facto is require_oncedemon13:59, 9 August 2011
r94630Followup r89545: add ,0 to Article constructor callcatrope12:48, 16 August 2011
r95042Fix a typoraymond20:58, 19 August 2011
r95155follow-up r86169 - 2 minor issues found while writing unit tests...bawolff17:16, 21 August 2011
r95332* (bug 30441) getParamValue must understand "+" encoding of space...brion20:17, 23 August 2011
r95410Followup r85876...reedy18:35, 24 August 2011
r95442Remove line that should have been removed in r95410reedy20:32, 24 August 2011
r95451Followup r95332 (bug 30441 fix) -- Roan pointed out that I forgot to do a glo...brion22:09, 24 August 2011
r95468Put mediawiki.special.search in a document ready wrappercatrope09:51, 25 August 2011
r95812Prefix extensions with $IP. Followup r94107 (grumble grumble about people fix...demon20:53, 30 August 2011

Status & tagging log