image/x-portable-graymap image/x-portable-greymap [BITMAP]
image/x-bmp image/x-ms-bmp image/bmp application/x-bmp application/bmp [BITMAP]
image/x-photoshop image/psd image/x-psd image/photoshop image/vnd.adobe.photoshop [BITMAP]
-image/vnd.djvu image/x.djvu image/x-djvu [BITMAP]
image/webp [BITMAP]
image/svg+xml application/svg+xml application/svg image/svg [DRAWING]
application/vnd.ms-excel [OFFICE]
application/vnd.ms-powerpoint [OFFICE]
application/x-director [OFFICE]
+image/vnd.djvu image/x.djvu image/x-djvu [OFFICE]
text/rtf [OFFICE]
application/vnd.openxmlformats-officedocument.wordprocessingml.document [OFFICE]
PRIMARY KEY (il_from,il_to)
) /*$wgDBTableOptions*/;
-INSERT INTO /*_*/imagelinks_tmp
- SELECT * FROM /*_*/imagelinks;
+INSERT INTO /*_*/imagelinks_tmp (il_from, il_from_namespace, il_to)
+ SELECT il_from, il_from_namespace, il_to FROM /*_*/imagelinks;
DROP TABLE /*_*/imagelinks;
],
'mediawiki.special' => [
'styles' => [
- 'resources/src/mediawiki.special/special.css',
+ 'resources/src/mediawiki.special/special.less',
'resources/src/mediawiki.special/apisandbox.css',
'resources/src/mediawiki.special/comparepages.less',
'resources/src/mediawiki.special/edittags.css',
*
* @private
* @static
- * @property {Array} properties
+ * @property {string[]} properties
*/
properties = [
'protocol',
*/
/**
- * A factory method to create a Uri class with a default location to resolve relative URLs
+ * A factory method to create an mw.Uri class with a default location to resolve relative URLs
* against (including protocol-relative URLs).
*
* @method
* @param {string|Function} documentLocation A full url, or function returning one.
* If passed a function, the return value may change over time and this will be honoured. (T74334)
* @member mw
- * @return {Function} Uri class
+ * @return {Function} An mw.Uri class constructor
*/
mw.UriRelative = function ( documentLocation ) {
var getDefaultUri = ( function () {
* @param {boolean} [options.strictMode=false] Trigger strict mode parsing of the url.
* @param {boolean} [options.overrideKeys=false] Whether to let duplicate query parameters
* override each other (`true`) or automagically convert them to an array (`false`).
+ * @throws {Error} when the query string or fragment contains an unknown % sequence
*/
function Uri( uri, options ) {
var prop, hrefCur,
* @static
* @param {string} s String to decode
* @return {string} Decoded string
+ * @throws {Error} when the string contains an unknown % sequence
*/
Uri.decode = function ( s ) {
return decodeURIComponent( s.replace( /\+/g, '%20' ) );
* @private
* @param {string} str URI, see constructor.
* @param {Object} options See constructor.
+ * @throws {Error} when the query string or fragment contains an unknown % sequence
*/
parse: function ( str, options ) {
var q, matches,
+++ /dev/null
-/* Special:AllMessages */
-#mw-allmessagestable tbody:hover td {
- /* Duplicate of `.mw-datatable tr:hover td` from shared.css,
- * so that it also applies when hovering a lower cell
- * within the same rowspan */
- background-color: #eaf3ff;
-}
-
-#mw-allmessagestable .am_default {
- background-color: #fcffc4;
-}
-
-#mw-allmessagestable tbody:hover .am_default {
- background-color: #faff90;
-}
-
-#mw-allmessagestable .am_actual {
- background-color: #e2ffe2;
-}
-
-#mw-allmessagestable tbody:hover .am_actual {
- background-color: #b1ffb1;
-}
-
-/* Common for Special:Allpages and Special:PrefixIndex */
-.mw-allpages-body,
-.mw-prefixindex-body {
- columns: 22em 3;
- -moz-columns: 22em 3;
- -webkit-columns: 22em 3;
- break-inside: avoid-column;
- page-break-inside: avoid;
- -webkit-column-break-inside: avoid;
-}
-
-.mw-allpages-chunk,
-.mw-prefixindex-list {
- margin-top: 0;
- margin-bottom: 0;
-}
-
-.allpagesredirect {
- font-style: italic;
-}
-
-/* Special:Block */
-.mw-ipb-conveniencelinks {
- font-size: 90%;
- text-align: right;
-}
-
-.mw-block-hideuser,
-.mw-block-confirm {
- font-weight: bold;
-}
-
-#mw-input-wpReason .oo-ui-dropdownInputWidget,
-#mw-input-wpReason .oo-ui-textInputWidget {
- display: block;
- max-width: 50em;
-}
-
-#mw-input-wpReason .oo-ui-textInputWidget {
- margin-top: 0.5em;
-}
-
-/* Special:BlockList */
-.mw-blocklist .mw-usertoollinks,
-.mw-blocklist-actions {
- white-space: nowrap;
- font-size: 90%;
-}
-
-/* Special:Contributions */
-.mw-uctop {
- font-weight: bold;
-}
-
-.mw-contributions-form select {
- vertical-align: middle;
-}
-
-/* Special:EditWatchlist */
-.watchlistredir {
- font-style: italic;
-}
-
-/* Special:EmailUser */
-#mw-emailuser-sender,
-#mw-emailuser-recipient {
- font-weight: bold;
-}
-
-/* Special:FileDuplicateSearch */
-#mw-fileduplicatesearch-icon {
- float: right;
-}
-
-/* Special:ListGroupRights */
-.mw-listgrouprights-table tr {
- vertical-align: top;
-}
-
-.listgrouprights-revoked {
- text-decoration: line-through;
-}
-
-/* Special:RevisionDelete */
-.mw-revdel-editreasons {
- font-size: 90%;
- text-align: right;
-}
-
-/* Special:Specialpages */
-.mw-specialpagerestricted {
- font-weight: bold;
-}
-
-.mw-specialpages-list {
- -webkit-columns: 16em 2;
- -moz-columns: 16em 2;
- columns: 16em 2;
-}
-
-.mw-specialpages-list ul {
- margin-top: 0;
- margin-bottom: 0;
-}
-
-/* Special:Statistics */
-.mw-statistics-numbers {
- text-align: right;
-}
-
-/* Special:ProtectedPages */
-.mw-protectedpages .mw-usertoollinks,
-.mw-protectedpages-length,
-.mw-protectedpages-actions {
- white-space: nowrap;
- font-size: 90%;
-}
-
-.mw-protectedpages-unknown {
- color: #72777d;
- font-size: 90%;
-}
-
-/* Special:PasswordPolicies */
-.mw-passwordpolicies-table tr {
- vertical-align: top;
-}
--- /dev/null
+/* Special:AllMessages */
+@import 'mediawiki.mixins';
+
+/* Visually hide repeating text, but leave in for better form navigation on screen readers */
+.mw-special-Allmessages .mw-htmlform-ooui .oo-ui-fieldsetLayout:first-child .oo-ui-fieldsetLayout-header {
+ .mixin-screen-reader-text();
+}
+
+#mw-allmessagestable tbody:hover td {
+ /* Duplicate of `.mw-datatable tr:hover td` from shared.css,
+ * so that it also applies when hovering a lower cell
+ * within the same rowspan */
+ background-color: #eaf3ff;
+}
+
+#mw-allmessagestable .am_default {
+ background-color: #fcffc4;
+}
+
+#mw-allmessagestable tbody:hover .am_default {
+ background-color: #faff90;
+}
+
+#mw-allmessagestable .am_actual {
+ background-color: #e2ffe2;
+}
+
+#mw-allmessagestable tbody:hover .am_actual {
+ background-color: #b1ffb1;
+}
+
+/* Common for Special:Allpages and Special:PrefixIndex */
+.mw-allpages-body,
+.mw-prefixindex-body {
+ columns: 22em 3;
+ -moz-columns: 22em 3;
+ -webkit-columns: 22em 3;
+ break-inside: avoid-column;
+ page-break-inside: avoid;
+ -webkit-column-break-inside: avoid;
+}
+
+.mw-allpages-chunk,
+.mw-prefixindex-list {
+ margin-top: 0;
+ margin-bottom: 0;
+}
+
+.allpagesredirect {
+ font-style: italic;
+}
+
+/* Special:Block */
+.mw-ipb-conveniencelinks {
+ font-size: 90%;
+ text-align: right;
+}
+
+.mw-block-hideuser,
+.mw-block-confirm {
+ font-weight: bold;
+}
+
+#mw-input-wpReason .oo-ui-dropdownInputWidget,
+#mw-input-wpReason .oo-ui-textInputWidget {
+ display: block;
+ max-width: 50em;
+}
+
+#mw-input-wpReason .oo-ui-textInputWidget {
+ margin-top: 0.5em;
+}
+
+/* Special:BlockList */
+.mw-blocklist .mw-usertoollinks,
+.mw-blocklist-actions {
+ white-space: nowrap;
+ font-size: 90%;
+}
+
+/* Special:Contributions */
+.mw-uctop {
+ font-weight: bold;
+}
+
+.mw-contributions-form select {
+ vertical-align: middle;
+}
+
+/* Special:EditWatchlist */
+.watchlistredir {
+ font-style: italic;
+}
+
+/* Special:EmailUser */
+#mw-emailuser-sender,
+#mw-emailuser-recipient {
+ font-weight: bold;
+}
+
+/* Special:FileDuplicateSearch */
+#mw-fileduplicatesearch-icon {
+ float: right;
+}
+
+/* Special:ListGroupRights */
+.mw-listgrouprights-table tr {
+ vertical-align: top;
+}
+
+.listgrouprights-revoked {
+ text-decoration: line-through;
+}
+
+/* Special:RevisionDelete */
+.mw-revdel-editreasons {
+ font-size: 90%;
+ text-align: right;
+}
+
+/* Special:Specialpages */
+.mw-specialpagerestricted {
+ font-weight: bold;
+}
+
+.mw-specialpages-list {
+ -webkit-columns: 16em 2;
+ -moz-columns: 16em 2;
+ columns: 16em 2;
+}
+
+.mw-specialpages-list ul {
+ margin-top: 0;
+ margin-bottom: 0;
+}
+
+/* Special:Statistics */
+.mw-statistics-numbers {
+ text-align: right;
+}
+
+/* Special:ProtectedPages */
+.mw-protectedpages .mw-usertoollinks,
+.mw-protectedpages-length,
+.mw-protectedpages-actions {
+ white-space: nowrap;
+ font-size: 90%;
+}
+
+.mw-protectedpages-unknown {
+ color: #72777d;
+ font-size: 90%;
+}
+
+/* Special:PasswordPolicies */
+.mw-passwordpolicies-table tr {
+ vertical-align: top;
+}