summaryrefslogtreecommitdiff
path: root/resources/src/mediawiki.special
diff options
context:
space:
mode:
authorLuke Shumaker <lukeshu@sbcglobal.net>2016-05-01 15:32:59 -0400
committerLuke Shumaker <lukeshu@sbcglobal.net>2016-05-01 15:32:59 -0400
commit6dc1997577fab2c366781fd7048144935afa0012 (patch)
tree8918d28c7ab4342f0738985e37af1dfc42d0e93a /resources/src/mediawiki.special
parent150f94f051128f367bc89f6b7e5f57eb2a69fc62 (diff)
parentfa89acd685cb09cdbe1c64cbb721ec64975bbbc1 (diff)
Merge commit 'fa89acd'
# Conflicts: # .gitignore # extensions/ArchInterWiki.sql
Diffstat (limited to 'resources/src/mediawiki.special')
-rw-r--r--resources/src/mediawiki.special/mediawiki.special.changeemail.js1
-rw-r--r--resources/src/mediawiki.special/mediawiki.special.changeslist.css4
-rw-r--r--resources/src/mediawiki.special/mediawiki.special.changeslist.enhanced.css4
-rw-r--r--resources/src/mediawiki.special/mediawiki.special.changeslist.legend.js33
-rw-r--r--resources/src/mediawiki.special/mediawiki.special.css11
-rw-r--r--resources/src/mediawiki.special/mediawiki.special.movePage.css8
-rw-r--r--resources/src/mediawiki.special/mediawiki.special.movePage.js5
-rw-r--r--resources/src/mediawiki.special/mediawiki.special.preferences.css17
-rw-r--r--resources/src/mediawiki.special/mediawiki.special.preferences.js43
-rw-r--r--resources/src/mediawiki.special/mediawiki.special.search.css1
-rw-r--r--resources/src/mediawiki.special/mediawiki.special.search.js6
-rw-r--r--resources/src/mediawiki.special/mediawiki.special.unwatchedPages.js4
-rw-r--r--resources/src/mediawiki.special/mediawiki.special.upload.js79
-rw-r--r--resources/src/mediawiki.special/mediawiki.special.userlogin.common.js72
-rw-r--r--resources/src/mediawiki.special/mediawiki.special.userlogin.signup.js2
-rw-r--r--resources/src/mediawiki.special/mediawiki.special.version.css4
-rw-r--r--resources/src/mediawiki.special/templates/thumbnail.html1
17 files changed, 140 insertions, 155 deletions
diff --git a/resources/src/mediawiki.special/mediawiki.special.changeemail.js b/resources/src/mediawiki.special/mediawiki.special.changeemail.js
index 67531f78..06851b93 100644
--- a/resources/src/mediawiki.special/mediawiki.special.changeemail.js
+++ b/resources/src/mediawiki.special/mediawiki.special.changeemail.js
@@ -4,6 +4,7 @@
( function ( mw, $ ) {
/**
* Given an email validity status (true, false, null) update the label CSS class
+ *
* @ignore
*/
function updateMailValidityLabel( mail ) {
diff --git a/resources/src/mediawiki.special/mediawiki.special.changeslist.css b/resources/src/mediawiki.special/mediawiki.special.changeslist.css
index 16fdf38a..bdae0dd2 100644
--- a/resources/src/mediawiki.special/mediawiki.special.changeslist.css
+++ b/resources/src/mediawiki.special/mediawiki.special.changeslist.css
@@ -7,9 +7,11 @@
}
/*
- * Titles, including username links, are especially prone for getting jumbled up
+ * Titles, including username links, and also tag names
+ * are prone to getting jumbled up
* with other titles, usernames, etc. in mixed RTL-LTR environment.
*/
+.mw-changeslist .mw-tag-marker,
.mw-changeslist .mw-title {
unicode-bidi: embed;
}
diff --git a/resources/src/mediawiki.special/mediawiki.special.changeslist.enhanced.css b/resources/src/mediawiki.special/mediawiki.special.changeslist.enhanced.css
index 0e026aff..a4843509 100644
--- a/resources/src/mediawiki.special/mediawiki.special.changeslist.enhanced.css
+++ b/resources/src/mediawiki.special/mediawiki.special.changeslist.enhanced.css
@@ -59,3 +59,7 @@ table.mw-enhanced-rc td.mw-enhanced-rc-nested {
.mw-enhanced-watched .mw-enhanced-rc-time {
font-weight: bold;
}
+
+span.changedby {
+ font-size: 95%;
+}
diff --git a/resources/src/mediawiki.special/mediawiki.special.changeslist.legend.js b/resources/src/mediawiki.special/mediawiki.special.changeslist.legend.js
index c9e55111..f217bf59 100644
--- a/resources/src/mediawiki.special/mediawiki.special.changeslist.legend.js
+++ b/resources/src/mediawiki.special/mediawiki.special.changeslist.legend.js
@@ -3,23 +3,22 @@
*/
/* Remember the collapse state of the legend on recent changes and watchlist pages. */
-jQuery( document ).ready( function ( $ ) {
+( function ( mw, $ ) {
var
cookieName = 'changeslist-state',
- cookieOptions = {
- expires: 30,
- path: '/'
- },
- isCollapsed = $.cookie( cookieName ) === 'collapsed';
+ // Expanded by default
+ isCollapsed = mw.cookie.get( cookieName ) === 'collapsed';
- $( '.mw-changeslist-legend' )
- .makeCollapsible( {
- collapsed: isCollapsed
- } )
- .on( 'beforeExpand.mw-collapsible', function () {
- $.cookie( cookieName, 'expanded', cookieOptions );
- } )
- .on( 'beforeCollapse.mw-collapsible', function () {
- $.cookie( cookieName, 'collapsed', cookieOptions );
- } );
-} );
+ $( function () {
+ $( '.mw-changeslist-legend' )
+ .makeCollapsible( {
+ collapsed: isCollapsed
+ } )
+ .on( 'beforeExpand.mw-collapsible', function () {
+ mw.cookie.set( cookieName, 'expanded' );
+ } )
+ .on( 'beforeCollapse.mw-collapsible', function () {
+ mw.cookie.set( cookieName, 'collapsed' );
+ } );
+ } );
+}( mediaWiki, jQuery ) );
diff --git a/resources/src/mediawiki.special/mediawiki.special.css b/resources/src/mediawiki.special/mediawiki.special.css
index d2457262..a13ec3cc 100644
--- a/resources/src/mediawiki.special/mediawiki.special.css
+++ b/resources/src/mediawiki.special/mediawiki.special.css
@@ -84,13 +84,10 @@ td#mw-prefixindex-nav-form {
font-weight: bold;
}
-.mw-specialpages-table {
- margin-top: -1em;
- margin-bottom: 1em;
-}
-
-.mw-specialpages-table td {
- vertical-align: top;
+.mw-specialpages-list {
+ -webkit-columns: 16em 2;
+ -moz-columns: 16em 2;
+ columns: 16em 2;
}
/* Special:Statistics */
diff --git a/resources/src/mediawiki.special/mediawiki.special.movePage.css b/resources/src/mediawiki.special/mediawiki.special.movePage.css
new file mode 100644
index 00000000..dd1c2aad
--- /dev/null
+++ b/resources/src/mediawiki.special/mediawiki.special.movePage.css
@@ -0,0 +1,8 @@
+/*!
+ * Styles for Special:MovePage
+ */
+
+.movepage-wrapper {
+ width: 50em;
+ margin: 1em 0;
+}
diff --git a/resources/src/mediawiki.special/mediawiki.special.movePage.js b/resources/src/mediawiki.special/mediawiki.special.movePage.js
index 7e56050d..6d88c51c 100644
--- a/resources/src/mediawiki.special/mediawiki.special.movePage.js
+++ b/resources/src/mediawiki.special/mediawiki.special.movePage.js
@@ -1,6 +1,7 @@
/*!
* JavaScript for Special:MovePage
*/
-jQuery( function ( $ ) {
- $( '#wpReason, #wpNewTitleMain' ).byteLimit();
+jQuery( function () {
+ OO.ui.infuse( 'wpNewTitle' );
+ OO.ui.infuse( 'wpReason' ).$input.byteLimit();
} );
diff --git a/resources/src/mediawiki.special/mediawiki.special.preferences.css b/resources/src/mediawiki.special/mediawiki.special.preferences.css
index e27e34a0..9e5efd36 100644
--- a/resources/src/mediawiki.special/mediawiki.special.preferences.css
+++ b/resources/src/mediawiki.special/mediawiki.special.preferences.css
@@ -19,3 +19,20 @@
height: 0;
zoom: 1;
}
+
+/* When JS is enabled, .mw-preferences-messageboxes are replaced with mw.notifications */
+.mw-preferences-messagebox {
+ display: none;
+}
+
+.prefsection td.mw-label {
+ width: 20%;
+}
+
+.prefsection table {
+ width: 100%;
+}
+
+.prefsection table.mw-htmlform-matrix {
+ width: auto;
+}
diff --git a/resources/src/mediawiki.special/mediawiki.special.preferences.js b/resources/src/mediawiki.special/mediawiki.special.preferences.js
index 4bd747b2..6839d813 100644
--- a/resources/src/mediawiki.special/mediawiki.special.preferences.js
+++ b/resources/src/mediawiki.special/mediawiki.special.preferences.js
@@ -5,7 +5,8 @@ jQuery( function ( $ ) {
var $preftoc, $preferences, $fieldsets, $legends,
hash, labelFunc,
$tzSelect, $tzTextbox, $localtimeHolder, servertime,
- $checkBoxes, allowCloseWindowFn;
+ $checkBoxes, allowCloseWindow,
+ notif;
labelFunc = function () {
return this.id.replace( /^mw-prefsection/g, 'preftab' );
@@ -50,8 +51,8 @@ jQuery( function ( $ ) {
* It uses document.getElementById for security reasons (HTML injections in $()).
*
* @ignore
- * @param String name: the name of a tab without the prefix ("mw-prefsection-")
- * @param String mode: [optional] A hash will be set according to the current
+ * @param {String} name the name of a tab without the prefix ("mw-prefsection-")
+ * @param {String} [mode] A hash will be set according to the current
* open section. Set mode 'noHash' to surpress this.
*/
function switchPrefTab( name, mode ) {
@@ -84,6 +85,26 @@ jQuery( function ( $ ) {
}
}
+ // Check for messageboxes (.successbox, .warningbox, .errorbox) to replace with notifications
+ if ( $( '.mw-preferences-messagebox' ).length ) {
+ // If there is a #mw-preferences-success box and javascript is enabled, use a slick notification instead!
+ if ( $( '#mw-preferences-success' ).length ) {
+ notif = mediaWiki.notification.notify( mediaWiki.message( 'savedprefs' ), { autoHide: false } );
+ // 'change' event not reliable!
+ $( '#preftoc, .prefsection' ).one( 'change keydown mousedown', function () {
+ if ( notif ) {
+ notif.close();
+ notif = null;
+ }
+ } );
+
+ // Remove now-unnecessary success=1 querystring to prevent reappearance of notification on reload
+ if ( history.replaceState ) {
+ history.replaceState( {}, document.title, location.href.replace( /&?success=1/, '' ) );
+ }
+ }
+ }
+
// Populate the prefToc
$legends.each( function ( i, legend ) {
var $legend = $( legend ),
@@ -183,15 +204,15 @@ jQuery( function ( $ ) {
var minutes,
arr = hour.split( ':' );
- arr[0] = parseInt( arr[0], 10 );
+ arr[ 0 ] = parseInt( arr[ 0 ], 10 );
if ( arr.length === 1 ) {
// Specification is of the form [-]XX
- minutes = arr[0] * 60;
+ minutes = arr[ 0 ] * 60;
} else {
// Specification is of the form [-]XX:XX
- minutes = Math.abs( arr[0] ) * 60 + parseInt( arr[1], 10 );
- if ( arr[0] < 0 ) {
+ minutes = Math.abs( arr[ 0 ] ) * 60 + parseInt( arr[ 1 ], 10 );
+ if ( arr[ 0 ] < 0 ) {
minutes *= -1;
}
}
@@ -218,7 +239,7 @@ jQuery( function ( $ ) {
minuteDiff = hoursToMinutes( $tzTextbox.val() );
} else {
// Grab data from the $tzSelect value
- minuteDiff = parseInt( type.split( '|' )[1], 10 ) || 0;
+ minuteDiff = parseInt( type.split( '|' )[ 1 ], 10 ) || 0;
$tzTextbox.val( minutesToHours( minuteDiff ) );
}
@@ -266,7 +287,7 @@ jQuery( function ( $ ) {
// Set up a message to notify users if they try to leave the page without
// saving.
$( '#mw-prefs-form' ).data( 'origdata', $( '#mw-prefs-form' ).serialize() );
- allowCloseWindowFn = mediaWiki.confirmCloseWindow( {
+ allowCloseWindow = mediaWiki.confirmCloseWindow( {
test: function () {
return $( '#mw-prefs-form' ).serialize() !== $( '#mw-prefs-form' ).data( 'origdata' );
},
@@ -274,6 +295,6 @@ jQuery( function ( $ ) {
message: mediaWiki.msg( 'prefswarning-warning', mediaWiki.msg( 'saveprefs' ) ),
namespace: 'prefswarning'
} );
- $( '#mw-prefs-form' ).submit( allowCloseWindowFn );
- $( '#mw-prefs-restoreprefs' ).click( allowCloseWindowFn );
+ $( '#mw-prefs-form' ).submit( $.proxy( allowCloseWindow, 'release' ) );
+ $( '#mw-prefs-restoreprefs' ).click( $.proxy( allowCloseWindow, 'release' ) );
} );
diff --git a/resources/src/mediawiki.special/mediawiki.special.search.css b/resources/src/mediawiki.special/mediawiki.special.search.css
index 8f845dfa..b8693143 100644
--- a/resources/src/mediawiki.special/mediawiki.special.search.css
+++ b/resources/src/mediawiki.special/mediawiki.special.search.css
@@ -27,6 +27,7 @@ div.searchresult {
}
.mw-search-results {
margin-left: 0.4em;
+ float: left;
}
.mw-search-results li {
padding-bottom: 1.2em;
diff --git a/resources/src/mediawiki.special/mediawiki.special.search.js b/resources/src/mediawiki.special/mediawiki.special.search.js
index b27fe349..730119e8 100644
--- a/resources/src/mediawiki.special/mediawiki.special.search.js
+++ b/resources/src/mediawiki.special/mediawiki.special.search.js
@@ -39,12 +39,12 @@
var parts = $( this ).attr( 'href' ).split( 'search=' ),
lastpart = '',
prefix = 'search=';
- if ( parts.length > 1 && parts[1].indexOf( '&' ) !== -1 ) {
- lastpart = parts[1].slice( parts[1].indexOf( '&' ) );
+ if ( parts.length > 1 && parts[ 1 ].indexOf( '&' ) !== -1 ) {
+ lastpart = parts[ 1 ].slice( parts[ 1 ].indexOf( '&' ) );
} else {
prefix = '&search=';
}
- this.href = parts[0] + prefix + encodeURIComponent( searchterm ) + lastpart;
+ this.href = parts[ 0 ] + prefix + encodeURIComponent( searchterm ) + lastpart;
} );
} ).trigger( 'change' );
diff --git a/resources/src/mediawiki.special/mediawiki.special.unwatchedPages.js b/resources/src/mediawiki.special/mediawiki.special.unwatchedPages.js
index 8d3e86ae..7628ff88 100644
--- a/resources/src/mediawiki.special/mediawiki.special.unwatchedPages.js
+++ b/resources/src/mediawiki.special/mediawiki.special.unwatchedPages.js
@@ -28,7 +28,7 @@
mw.notify( mw.msg( 'addedwatchtext-short', title ) );
} ).fail( function () {
$link.text( mw.msg( 'watch' ) );
- mw.notify( mw.msg( 'watcherrortext', title ) );
+ mw.notify( mw.msg( 'watcherrortext', title ), { type: 'error' } );
} );
} else {
$link.text( mw.msg( 'unwatching' ) );
@@ -38,7 +38,7 @@
mw.notify( mw.msg( 'removedwatchtext-short', title ) );
} ).fail( function () {
$link.text( mw.msg( 'unwatch' ) );
- mw.notify( mw.msg( 'watcherrortext', title ) );
+ mw.notify( mw.msg( 'watcherrortext', title ), { type: 'error' } );
} );
}
diff --git a/resources/src/mediawiki.special/mediawiki.special.upload.js b/resources/src/mediawiki.special/mediawiki.special.upload.js
index eeccda59..677d26d7 100644
--- a/resources/src/mediawiki.special/mediawiki.special.upload.js
+++ b/resources/src/mediawiki.special/mediawiki.special.upload.js
@@ -6,6 +6,7 @@
* @singleton
*/
( function ( mw, $ ) {
+ /*jshint latedef:false */
var uploadWarning, uploadLicense,
ajaxUploadDestCheck = mw.config.get( 'wgAjaxUploadDestCheck' ),
$license = $( '#wpLicense' );
@@ -35,7 +36,7 @@
}
// Check response cache
if ( this.responseCache.hasOwnProperty( this.nameToCheck ) ) {
- this.setWarning( this.responseCache[this.nameToCheck] );
+ this.setWarning( this.responseCache[ this.nameToCheck ] );
return;
}
@@ -71,7 +72,7 @@
} ).done( function ( result ) {
var resultOut = '';
if ( result.query ) {
- resultOut = result.query.pages[result.query.pageids[0]].imageinfo[0];
+ resultOut = result.query.pages[ result.query.pageids[ 0 ] ].imageinfo[ 0 ];
}
$spinnerDestCheck.remove();
uploadWarning.processResult( resultOut, uploadWarning.nameToCheck );
@@ -80,7 +81,7 @@
processResult: function ( result, fileName ) {
this.setWarning( result.html );
- this.responseCache[fileName] = result.html;
+ this.responseCache[ fileName ] = result.html;
},
setWarning: function ( warning ) {
@@ -107,7 +108,7 @@
return;
}
if ( this.responseCache.hasOwnProperty( license ) ) {
- this.showPreview( this.responseCache[license] );
+ this.showPreview( this.responseCache[ license ] );
return;
}
@@ -126,8 +127,8 @@
},
processResult: function ( result, license ) {
- this.responseCache[license] = result.parse.text['*'];
- this.showPreview( this.responseCache[license] );
+ this.responseCache[ license ] = result.parse.text[ '*' ];
+ this.showPreview( this.responseCache[ license ] );
},
showPreview: function ( preview ) {
@@ -228,7 +229,7 @@
fname = fname.replace( / /g, '_' );
// Capitalise first letter if needed
if ( mw.config.get( 'wgCapitalizeUploads' ) ) {
- fname = fname.charAt( 0 ).toUpperCase().concat( fname.slice( 1 ) );
+ fname = fname[ 0 ].toUpperCase() + fname.slice( 1 );
}
// Output result
@@ -265,15 +266,32 @@
* TODO: Put SVG back after working around Firefox 7 bug <https://bugzilla.wikimedia.org/show_bug.cgi?id=31643>
*
* @param {File} file
- * @return boolean
+ * @return {boolean}
*/
function fileIsPreviewable( file ) {
- var known = ['image/png', 'image/gif', 'image/jpeg', 'image/svg+xml'],
+ var known = [ 'image/png', 'image/gif', 'image/jpeg', 'image/svg+xml' ],
tooHuge = 10 * 1024 * 1024;
return ( $.inArray( file.type, known ) !== -1 ) && file.size > 0 && file.size < tooHuge;
}
/**
+ * Format a file size attractively.
+ *
+ * TODO: Match numeric formatting
+ *
+ * @param {number} s
+ * @return {string}
+ */
+ function prettySize( s ) {
+ var sizeMsgs = [ 'size-bytes', 'size-kilobytes', 'size-megabytes', 'size-gigabytes' ];
+ while ( s >= 1024 && sizeMsgs.length > 1 ) {
+ s /= 1024;
+ sizeMsgs = sizeMsgs.slice( 1 );
+ }
+ return mw.msg( sizeMsgs[ 0 ], Math.round( s ) );
+ }
+
+ /**
* Show a thumbnail preview of PNG, JPEG, GIF, and SVG files prior to upload
* in browsers supporting HTML5 FileAPI.
*
@@ -291,13 +309,17 @@
ctx,
meta,
previewSize = 180,
+ $spinner = $.createSpinner( { size: 'small', type: 'block' } )
+ .css( { width: previewSize, height: previewSize } ),
thumb = mw.template.get( 'mediawiki.special.upload', 'thumbnail.html' ).render();
- thumb.find( '.filename' ).text( file.name ).end()
- .find( '.fileinfo' ).text( prettySize( file.size ) ).end();
+ thumb
+ .find( '.filename' ).text( file.name ).end()
+ .find( '.fileinfo' ).text( prettySize( file.size ) ).end()
+ .find( '.thumbinner' ).prepend( $spinner ).end();
- $canvas = $( '<canvas width="' + previewSize + '" height="' + previewSize + '" ></canvas>' );
- ctx = $canvas[0].getContext( '2d' );
+ $canvas = $( '<canvas>' ).attr( { width: previewSize, height: previewSize } );
+ ctx = $canvas[ 0 ].getContext( '2d' );
$( '#mw-htmlform-source' ).parent().prepend( thumb );
fetchPreview( file, function ( dataURL ) {
@@ -369,7 +391,7 @@
ctx.clearRect( 0, 0, 180, 180 );
ctx.rotate( rotation / 180 * Math.PI );
ctx.drawImage( img, x, y, width, height );
- thumb.find( '.mw-small-spinner' ).replaceWith( $canvas );
+ $spinner.replaceWith( $canvas );
// Image size
info = mw.msg( 'widthheight', logicalWidth, logicalHeight ) +
@@ -421,7 +443,7 @@
buffer = new Uint8Array( reader.result ),
string = '';
for ( i = 0; i < buffer.byteLength; i++ ) {
- string += String.fromCharCode( buffer[i] );
+ string += String.fromCharCode( buffer[ i ] );
}
callbackBinary( string );
@@ -451,23 +473,6 @@
}
/**
- * Format a file size attractively.
- *
- * TODO: Match numeric formatting
- *
- * @param {number} s
- * @return {string}
- */
- function prettySize( s ) {
- var sizeMsgs = ['size-bytes', 'size-kilobytes', 'size-megabytes', 'size-gigabytes'];
- while ( s >= 1024 && sizeMsgs.length > 1 ) {
- s /= 1024;
- sizeMsgs = sizeMsgs.slice( 1 );
- }
- return mw.msg( sizeMsgs[0], Math.round( s ) );
- }
-
- /**
* Clear the file upload preview area.
*/
function clearPreview() {
@@ -483,10 +488,10 @@
function getMaxUploadSize( type ) {
var sizes = mw.config.get( 'wgMaxUploadSize' );
- if ( sizes[type] !== undefined ) {
- return sizes[type];
+ if ( sizes[ type ] !== undefined ) {
+ return sizes[ type ];
}
- return sizes['*'];
+ return sizes[ '*' ];
}
$( '.mw-upload-source-error' ).remove();
@@ -511,7 +516,7 @@
clearPreview();
if ( this.files && this.files.length ) {
// Note: would need to be updated to handle multiple files.
- var file = this.files[0];
+ var file = this.files[ 0 ];
if ( !checkMaxUploadSize( file ) ) {
return;
@@ -578,7 +583,7 @@
} );
$uploadForm.submit( function () {
- allowCloseWindow();
+ allowCloseWindow.release();
} );
} );
}( mediaWiki, jQuery ) );
diff --git a/resources/src/mediawiki.special/mediawiki.special.userlogin.common.js b/resources/src/mediawiki.special/mediawiki.special.userlogin.common.js
deleted file mode 100644
index f5289dee..00000000
--- a/resources/src/mediawiki.special/mediawiki.special.userlogin.common.js
+++ /dev/null
@@ -1,72 +0,0 @@
-/*!
- * JavaScript for login and signup forms.
- */
-( function ( mw, $ ) {
- // Move the FancyCaptcha image into a more attractive container.
- // The CAPTCHA is in a <div class="captcha"> at the top of the form. If it's a FancyCaptcha,
- // then we remove it and insert it lower down, in a customized div with just what we need (e.g.
- // no 'fancycaptcha-createaccount' message).
- function adjustFancyCaptcha( $content, buttonSubmit ) {
- var $submit = $content.find( buttonSubmit ),
- tabIndex,
- $captchaStuff,
- $captchaImageContainer,
- // JavaScript can't yet parse the message 'createacct-imgcaptcha-help' when it
- // contains a MediaWiki transclusion, so PHP parses it and sends the HTML.
- // This is only set for the signup form (and undefined for login).
- helpMsg = mw.config.get( 'wgCreateacctImgcaptchaHelp' ),
- helpHtml = '';
-
- if ( !$submit.length ) {
- return;
- }
- tabIndex = $submit.prop( 'tabIndex' ) - 1;
- $captchaStuff = $content.find( '.captcha' );
-
- if ( $captchaStuff.length ) {
- // The FancyCaptcha has this class in the ConfirmEdit extension since 2013-04-18.
- $captchaImageContainer = $captchaStuff.find( '.fancycaptcha-image-container' );
- if ( $captchaImageContainer.length !== 1 ) {
- return;
- }
-
- $captchaStuff.remove();
-
- if ( helpMsg ) {
- helpHtml = '<small class="mw-createacct-captcha-assisted">' + helpMsg + '</small>';
- }
-
- // Insert another div before the submit button that will include the
- // repositioned FancyCaptcha div, an input field, and possible help.
- $submit.closest( 'div' ).before( [
- '<div>',
- '<label for="wpCaptchaWord">' + mw.message( 'createacct-captcha' ).escaped() + '</label>',
- '<div class="mw-createacct-captcha-container">',
- '<div class="mw-createacct-captcha-and-reload" />',
- '<input id="wpCaptchaWord" class="mw-ui-input" name="wpCaptchaWord" type="text" placeholder="' +
- mw.message( 'createacct-imgcaptcha-ph' ).escaped() +
- '" tabindex="' + tabIndex + '" autocapitalize="off" autocorrect="off">',
- helpHtml,
- '</div>',
- '</div>'
- ].join( '' ) );
-
- // Stick the FancyCaptcha container inside our bordered and framed parents.
- $captchaImageContainer
- .prependTo( $content.find( '.mw-createacct-captcha-and-reload' ) );
-
- // Find the input field, add the text (if any) of the existing CAPTCHA
- // field (although usually it's blanked out on every redisplay),
- // and after it move over the hidden field that tells the CAPTCHA
- // what to do.
- $content.find( '#wpCaptchaWord' )
- .val( $captchaStuff.find( '#wpCaptchaWord' ).val() )
- .after( $captchaStuff.find( '#wpCaptchaId' ) );
- }
- }
-
- $( function () {
- // Work with both login and signup form
- adjustFancyCaptcha( $( '#mw-content-text' ), '#wpCreateaccount, #wpLoginAttempt' );
- } );
-}( mediaWiki, jQuery ) );
diff --git a/resources/src/mediawiki.special/mediawiki.special.userlogin.signup.js b/resources/src/mediawiki.special/mediawiki.special.userlogin.signup.js
index a32a7902..a0c6ee2a 100644
--- a/resources/src/mediawiki.special/mediawiki.special.userlogin.signup.js
+++ b/resources/src/mediawiki.special/mediawiki.special.userlogin.signup.js
@@ -65,7 +65,7 @@
ususers: username // '|' in usernames is handled below
} )
.done( function ( resp ) {
- var userinfo = resp.query.users[0];
+ var userinfo = resp.query.users[ 0 ];
if ( resp.query.users.length !== 1 ) {
// Happens if the user types '|' into the field
diff --git a/resources/src/mediawiki.special/mediawiki.special.version.css b/resources/src/mediawiki.special/mediawiki.special.version.css
index 7c87d68f..5b259e70 100644
--- a/resources/src/mediawiki.special/mediawiki.special.version.css
+++ b/resources/src/mediawiki.special/mediawiki.special.version.css
@@ -1,10 +1,12 @@
/*!
* Styling for Special:Version
*/
-.mw-version-ext-name {
+.mw-version-ext-name,
+.mw-version-library-name {
font-weight: bold;
}
+.mw-version-ext-license,
.mw-version-ext-vcs-timestamp {
white-space: nowrap;
}
diff --git a/resources/src/mediawiki.special/templates/thumbnail.html b/resources/src/mediawiki.special/templates/thumbnail.html
index 73042f24..bf0e7014 100644
--- a/resources/src/mediawiki.special/templates/thumbnail.html
+++ b/resources/src/mediawiki.special/templates/thumbnail.html
@@ -1,6 +1,5 @@
<div id="mw-upload-thumbnail" class="thumb tright">
<div class="thumbinner">
- <div class="mw-small-spinner" style="width: 180px; height: 180px"></div>
<div class="thumbcaption">
<div class="filename"></div>
<div class="fileinfo"></div>