Commit Graph
70 Commits
Author SHA1 Message Date
Fomafixandjenkins-bot a0df9be678 Transmit current autonym via ResourceLoader instead of config var
This avoids loading of wgULSCurrentAutonym in every HTML page.

Change-Id: I8f3a28e3b46f41926bcbe54ace493a33f9ba4566
2024-10-10 17:19:22 +00:00
Fomafix dde135b334 Use ?? instead of default value in getRawVal()
Bug: T376245
Change-Id: I15eeaf961dce3f1263a8253c5c93f455cf02e1e4
2024-10-02 11:19:58 +00:00
Fomafix a2087c0492 Use $this->getConfig()->get instead of global variable
Also use MainConfigNames.

Change-Id: I4d41783ef4055afa5299acac295aef079f453999
2024-08-19 10:57:41 +00:00
Fomafixandjenkins-bot 88b8176368 Use $this->getServiceContainer() in maintenance
Use
	$this->getServiceContainer()
instead of
	MediaWikiServices::getInstance()
in maintenance.

Change-Id: I61e57c5ab79a1cefad6e878be1dbd234139cfe96
2024-05-07 06:12:27 +00:00
Fomafixandjenkins-bot 65b2576bb0 Use namespaced MediaWiki\Extension\CLDR\LanguageNames
This change requires change I591628b98d16bfeecd32d157abc263be1036a71b
in extension cldr included in REL1_39 and above.

Change-Id: I6789961e4140e57e5f253fd2fbaeacf9860923e1
2024-02-29 08:33:24 +00:00
Fomafixandjenkins-bot 5142df9d42 Use namespaced ResourceLoader classes
This change requires MediaWiki >= 1.39 which is already required in
extension.json.

Change-Id: I25b820ddaab1775d021b1b708f989fb6d9fc2b27
2024-01-06 11:22:12 +00:00
Fomafix 69ddc959ac Use Unicode '\u00A0' instead of HTML ' '
The .html() can replaced by .text() which avoids a possible JavaScript
injection by a malicious message.

Change-Id: Iffdf13299db6fb4ccd8a35b9df4c2f235646ea9d
2023-04-24 09:43:39 +00:00
Fomafixandjenkins-bot e44e4c4c0c Remove phpcs exclude rules and update PHP code
Change-Id: Ie37deda368a4d163cf324988721033829ae8af77
2022-11-13 18:33:34 +00:00
Fomafixandjenkins-bot 35852fee74 Use WebRequest::getRawVal instead of WebRequest::getText
The UTF-8 normalization for the URL attributes `languagecode`, `uselang`
and `setlang` are not needed.

Change-Id: Ib204629fb15e2578bba09be4c40d0210eb81dd77
2022-08-24 06:19:52 +00:00
Fomafixandjenkins-bot bd4a6f20a3 Update comment from addConfig to onResourceLoaderGetConfigVars
In f0c6bec1ac the function addConfig was
renamed to onResourceLoaderGetConfigVars.

Change-Id: I1fd7242b676e90366fbe5bfb95e6e0e3497b917f
2021-11-22 05:54:42 +00:00
Fomafix 6ee366a2c8 Reuse userCanChangeLanguage()
Change-Id: I52893ca8e2579520d21579bd7fdcb9af858a52b9
2021-11-21 19:39:25 +00:00
Fomafix c1a36d3490 Don't call isCompactLinksEnabled() twice in the same function
Store the result in a local variable.

Change-Id: Ie45c22c3af370b0cdcbe614497691b0bd849393f
2021-11-21 19:00:08 +00:00
Fomafixandjenkins-bot 10e15cf0f8 Use .parseDom() instead of .parse()
Use

  $( ... ).append( mw.message( ... ).parseDom() )

instead of

  $( ... ).html( mw.message( ... ).parse() )

Add dependency on 'mediawiki.jqueryMsg' to 'ext.uls.setlang'.

Change-Id: I23897ab16a84a1732286921a8153b9a5e57c9462
2021-11-09 21:12:01 +00:00
Fomafixandjenkins-bot f0c6bec1ac Use HookHandlers and inject services
This change also replaces the calls of deprecated functions from class
Language and replaces the global variables by the MainConfig.

Change-Id: Ice7273481a736cb138e263a9300bfd90fdcbb401
2021-11-04 14:00:31 +00:00
Fomafixandjenkins-bot 183bb97f74 ApiULSLocalization: Inject LanguageNameUtils
Replace deprecated Language::isValidCode by
LanguageNameUtils::isValidCode.

Change-Id: I2adef21fb37e78c163674008a4f9b1e5a74aa6a1
2021-10-29 13:14:31 +00:00
Fomafix 9fabb9a4ff Simplify variable assignment.
This makes the code shorter and the message is generated only in the
else path.

Change-Id: I1367280b6c154fe77b8a2cfbcdb6333aecefab53
2020-01-23 14:40:25 +01:00
Fomafixandjenkins-bot 80b8d411aa Use document.documentElement instead of 'html' as jQuery selector
Change-Id: I1b3bb53a31125333d14d1659fdadd2a81140ae50
2020-01-20 14:52:13 +00:00
Fomafixandjenkins-bot 0a605f40ab Use PHP syntax features from PHP 7.1
* void return type (https://wiki.php.net/rfc/void_return_type)
* Nullable type (https://wiki.php.net/rfc/nullable_types)

The parent change ensures that PHP 7.1+ is required.

This change reverts commit 8eb162020f.

Change-Id: Ifb8fc52f4b161ea89fef2c84e51e4c8f2b648a49
2020-01-20 13:49:55 +00:00
Fomafixandjenkins-bot 8652470ec4 Use position:fixed instead of position:absolute
This prevents a wrong position of the dialog when there is a different
scroll position like on an URL with fragment, for example
Special:Version?setlang=de#Installed_software

Change-Id: Ic10c6b13461a259d87fd43a718acdd1421193b6c
2019-12-23 13:50:28 +00:00
Fomafix 5fda459531 Remove URL parameter setlang from history when language is unchanged
This change allows to use the ULS language changer without getting a
dialog for restoring the old language.

This change requires that the module is also loaded in this case.

Change-Id: Ie5169e986d0362034ede122b0bc29ce7a4aa481e
2019-12-19 20:32:25 +01:00
Fomafix d31fddd8e7 Use history.replaceState instead of history.pushState
This removes the URL with the URL parameter setlang from the history.
A click on history back doesn't show the URL parameter setlang anymore.

Change-Id: I0ea8c4508bedd9758a1cebbe8ecb2a7113bf8538
2019-12-19 20:11:19 +01:00
Fomafix 5b41346e76 Use a cookie which can changed by JavaScript for setlang
Before this change the cookie set by setlang can't changed with
JavaScript UI anymore.

Change-Id: Iad5fac0ee7de59813370849f22b685073e4cc535
2019-12-19 18:22:32 +01:00
Fomafix 8eb162020f Remove type hints which are not supported by PHP 7.0
ULS currently supports MediaWiki 1.32+ which supports PHP 7.0+.

This change can reverted when the minimum required MediaWiki version is
1.34+.

Change-Id: I8115c4ae74c8aa91899899b1fb304ccbf1066ad8
2019-12-19 17:36:32 +01:00
Fomafixandjenkins-bot 61ebecff91 Use document.body instead of 'body' as jQuery selector
Change-Id: Ia551b3050ed546de1f9db44dbd332a5b6c108a9f
2019-12-16 15:51:09 +00:00
Fomafixandjenkins-bot 6a5b9e3164 Consistently use setTimeout, clearTimeout and location without window
Change-Id: Ie83313b3f2a7f9bc939eb19d7a82bc980f12b0b8
2019-12-16 10:19:35 +00:00
Fomafixandjenkins-bot e7ab5faf2f Use type hints for TypeError exception
This change allows to replace the Assert::parameterType by a type hint
in Ie215179b4631fd9071b257772c5cb193547cb7d7.

Change-Id: I399a92d3fac0e0849fe3a403c703fe7d32f51257
2019-10-31 19:12:09 +00:00
Fomafix 71aefc8d4b Drop support for MediaWiki 1.31 and earlier
MediaWiki 1.33 is released. The next version MLEB 2019.07 will be
compatible with MediaWiki 1.32 and 1.33.

Change-Id: I9487706125fe84d02cb8d3fec0a10e1f10006e64
2019-07-08 22:51:08 +02:00
Fomafixandjenkins-bot 760674d965 Add type hints to used objects and arrays in hooks
Also mark only local used functions as private function.

Change-Id: I5fa27d0be492a4a936e6b30b2a16655ed3746fdd
2019-05-17 04:27:56 +00:00
Fomafixandjenkins-bot 8366a0a029 ext.uls.eventlogger: Remove use of mw.eventLog.logEvent() promise
This change prevents a failure when clicking on the language revert
button.

This change is a follow-up to c578db020d.

Change-Id: Ic5da1b1dcdcc07de417a6eef0189940cb5a2392f
2019-04-26 21:26:51 +00:00
Fomafixandjenkins-bot 6fadfa783b Remove addModules( 'ext.uls.init' )
The modules 'ext.uls.init'/'ext.uls.common' provides only a library and
no own funtionality. The modules get automatically loaded through
dependencies by other modules when needed as library. An explicit
loading on all page is not necessary. For example the MediaWiki API
help page does not have any ULS elements.

Bug: T145186
Change-Id: Ida99704ca2846e6adf154255bee3148e80c957d8
2019-04-17 04:37:44 +00:00
Fomafixandjenkins-bot ce063ac705 ULSJsonMessageLoaderTest: Expect a generic Exception
This allows to change from MWException to
Wikimedia\Assert\ParameterTypeException by
I8287118cf8ec01326ead9c90a38f7b4134c3eba9.

Change-Id: Ib0cb388958cf720052ca6df73d5145b7ab3f9529
2019-03-14 10:05:59 +00:00
FomafixandUmherirrender 808e7cc8cd Get context from hook PersonalUrls
The hook PersonalUrls provides as third parameter an instance of the
SkinTemplate class. This provides the context.

Also fix the type of the $title parameter from string to Title in the
@param comment.

Change-Id: I35f4445292a4562718ab094bd62c0fa988abec19
2019-02-04 18:58:26 +00:00
Fomafixandjenkins-bot d052482cb0 Use <a> instead of <a href="#"> for JavaScript click events
* No status line with URL and "#".
* No new tab on middle click.

tabindex="0" ensures to have the normal tab order.

role="button" according to
https://www.mediawiki.org/wiki/Accessibility_guide_for_developers

Change-Id: I82f1923b3905f111ce7719c03a3919633271720a
2018-10-17 20:16:19 +00:00
Fomafixandjenkins-bot fd9e39afb2 Sort ResourceModules in extension.json alphabetically
Change-Id: Ifb96dd97247592154191318531a535ce4c532dbd
2018-10-10 13:44:52 +00:00
FomafixandKrinkle 971e4c742d Simplify by using native JavaScript instead of jQuery
Still use $.each for iterating over an Object because there is no
adequate function in ES5.

Change-Id: Idbec13c471e75a9cd5d67204d54bededdbd5582b
2018-09-07 22:35:13 +00:00
Fomafixandjenkins-bot 931982d728 Fix module loading on MediaWiki 1.31 and earlier
368fe37a1a is broken when used on MediaWiki 1.31 and earlier because
it tries to add

  $modules['ext.uls.displaysettings']['dependencies'][]

although $modules['ext.uls.displaysettings'] does not exist.

The whole module definition must moved from extension.json to
UniversalLanguageSelector.hooks.php.

Change-Id: Ie8f7f084c965e6dee33fef03448004d5d8805f2c
2018-09-04 07:04:49 +00:00
Fomafixandjenkins-bot 0fbdbc2c41 Simplify by using native JavaScript instead of jQuery
Change-Id: I2ca5fbb21ac473f482579a944e5ab68c9374191c
2018-09-04 00:32:12 +00:00
Fomafixandjenkins-bot 368fe37a1a Remove dependencies on deprecated modules 'mediawiki.api.*'
In core, modules 'mediawiki.api.*' got merged into 'mediawiki.api'
and deprecated in I0afdc8ab50bc1354bb5099bf39923c07eab0b665 included
in MediaWiki 1.32.

This change does not increase the version requirement in extension.json
to "MediaWiki": ">= 1.32.0" because it adds the removed dependencies
for earlier versions of MediaWiki in a hook.

Bug: T196802
Bug: T200168
Change-Id: I27dd62fae7a470549dd533f16c145cb023b16181
2018-09-02 20:02:19 +00:00
Fomafixandjenkins-bot 72fb42cdba Remove support for MediaWiki 1.29 and earlier
extension.json already requires "MediaWiki": ">= 1.30.0".

Change-Id: Ic460e6364967cd7b0367e66f613077c424bd8f19
2018-08-31 21:41:42 +00:00
Fomafix cd32adcb37 Remove deprecated PHP entry point
Directly use

	wfLoadExtension( 'UniversalLanguageSelector' );

in LocalSettings.php instead.

Change-Id: I4739cabd03c106ba527c06d85fea01c7513e9d3c
2018-08-24 06:25:48 +02:00
Fomafixandjenkins-bot 162cc56f02 Reorder functions to avoid forward references
Remove /* eslint-disable no-use-before-define */.

Change-Id: I001b50050d8c492aed99a3620b6fc03ffb29e135
2018-06-11 23:44:47 +00:00
Fomafix 74d59bf306 Remove window.pluralRuleParser
The module 'jquery.i18n' was removed in 1312b905f2 because it is
already in core. The mapping from mw.libs.pluralRuleParser to
window.pluralRuleParser is not needed here anymore.

Change-Id: I00993d43578368ba3ebc1f4055cabf4904e45783
2018-02-16 16:32:59 +01:00
Fomafix 7c9e64a48a Remove support for MediaWiki version 1.26
Change-Id: I9ad5e87fa335b2b94840c3b3da4e921a41c71d9c
2017-09-24 21:53:26 +02:00
Fomafix 33668c9145 Add missing dependency on module 'mediawiki.user'
Change-Id: Ia4f2a742e0313dc14839a3eed91fca230e2c407f
2017-06-13 18:10:13 +02:00
Fomafix b0a60f92c6 Add <!DOCTYPE html> to HTML
Change-Id: I317405c56a66334cd0eaff5983cfea909be6f6fb
2017-05-03 12:10:23 +02:00
Fomafix bd9a734fb3 Prettify JSON in ext.uls.webfonts.repository.js
Use a prettifyed JSON with tabs for indenting. In non-debug mode the
whitespaces get removed by the minimizer.

Change-Id: I17f4ebabccdada3c2ad45a7e0119a4f246de0ebb
2017-04-16 23:06:07 +02:00
Fomafix b30315da05 Use ResourceLoader::makeConfigSetScript to generate mw.config.set() script
Change-Id: If2ca0585c17f772567fffeab0fc32239e87d8cd7
2017-04-02 14:41:33 +02:00
Fomafix 3ec9a325a4 Use module 'mediawiki.storage' from core to access localStorage
This change requires MediaWiki version 1.26 and removes support for lower
versions.

Bug: T153635
Change-Id: Ia74e16cb08e8cb1f15196a98329e2994b0283edb
2017-01-20 17:19:46 +01:00
Fomafix 1312b905f2 Remove module 'jquery.i18n'
Since MediaWiki 1.26 the module 'jquery.i18n' is in core:
 git blame origin/REL1_26 -- resources/Resources.php

Bug: T153635
Change-Id: Ie4cf86dd5020a75456cfe183b26c114437eb22e0
2017-01-20 16:58:52 +01:00
Fomafix 47cfd9c1ae Replace $( document ).ready(...) by $(...)
In jQuery 3 $(document).ready(...) is deprecated.
https://jquery.com/upgrade-guide/3.0/#deprecated-document-ready-handlers-other-than-jquery-function

Change-Id: I1a9f578d8cf8fa2d9dd38a1b2d3a0b3c32914b74
2017-01-06 14:10:55 +01:00
Fomafix f6023ec051 Use an empty array instead of the uls-p-lang-dummy list item (JS)
This change is the JavaScript part of change
I54a18f5bd85a8261a25e1160dda7a33fbdf3dd7b.

This change should get deployed when the HTML caches of change
I54a18f5bd85a8261a25e1160dda7a33fbdf3dd7b has expired.

Change-Id: Id7f429d9d1217316341102e27389711525f17b2d
2017-01-04 14:24:02 +01:00
Fomafix a159ff1444 Use an empty array instead of the uls-p-lang-dummy list item (PHP)
This change avoids a flash of a list item bullet while loading on skin
MonoBook.

The JavaScript part of this change is in
Id7f429d9d1217316341102e27389711525f17b2d. The JavaScript part should get
deployed when the HTML caches of this change has expired.

Change-Id: I54a18f5bd85a8261a25e1160dda7a33fbdf3dd7b
2017-01-04 14:20:33 +01:00
Fomafix 337e0aef8c Move interface styles to ext.uls.interface.css
This change avoids loading of not needed styles for non-JavaScript client.

Change-Id: Ieaca5098181d1e922b940ed339fcee7bad8741b4
2016-11-08 16:46:00 +01:00
Fomafix 58777c4e37 Use mw.msg() for parameter substitution
mw.msg() has already a parameter substitution of $1.
A separate .replace( '$1', ... ) is not necessary.

Change-Id: Ie77bddc4dfb60df36211ce821c1a6f7223cde706
2016-11-06 15:45:50 +01:00
FomafixandNikerabbit fda55e2ab1 Integrate ext.uls.nojs into ext.uls.pt
The CSS hiding for non-JavaScript clients is only necessary when the buttons
get added.

Change-Id: I6e43e39d29c093a19f3e8355d657f162f9a62736
2016-09-20 12:22:51 +00:00
Fomafix 80a943d41e Add pure CSS modules via addModuleStyles() instead of addModules()
'ext.uls.pt' and 'ext.uls.interlanguage' are pure CSS modules.
This change avoids a FOUC of the ULS icons.

Change-Id: I912d0c98d1857461d21b4db0ef7376783cc871d2
2016-09-13 18:51:53 +02:00
Fomafix 8778051f8f Remove unused variable loginUri
The variable loginUri was added in 422371f6 but never used.

Change-Id: I85aaa6aa524dbe0a02129696f1bff46fb410fbe5
2016-08-30 12:18:45 +02:00
Fomafixand[[mw:User:Fomafix]] 6dab908f30 Remove since MW 1.25 deprecated functions
In class ApiBase the methods
* getParamDescription()
* getDescription()
* getExamples()
are deprecated since MediaWiki 1.25.

This change requires MediaWiki 1.25+.

Change-Id: Ice6b310b8dea3a223f45317aa803a743b5daa680
2016-03-30 07:07:21 +00:00
Fomafixand[[mw:User:Fomafix]] cd58ac2f18 Use mw.Api.plugin.options to set user options
This requires MediaWiki version 1.25+.

Change-Id: I3a76b0b4ec403b3acdc29e64b0c750a3b57e252a
2016-02-15 14:13:13 +00:00
Fomafixand[[mw:User:Fomafix]] c329f1473d Use spaces inside of brackets in JavaScript
* For consistency
* For MediaWiki coding conventions

Change-Id: I625a8ce0119b1490073f048e1b8ad4e90762d6e2
2016-02-15 13:31:45 +00:00
FomafixandNikerabbit 63bc85649a Ensure module 'jquery.tipsy' is loaded before using
Move the showTipsy calls into the callback.

Move the declaration of the functions hideTipsy and showTipsy before the
new call position.

Also change the order of the declaration of the functions hideTipsy and
showTipsy to avoid a forward reference in showTipsy. Spotted by JSLint.

Bug: T118507
Change-Id: I338a78cde249405459be14948b78cf59d715145a
2016-02-15 13:03:52 +00:00
Fomafixand[[mw:User:Fomafix]] bd44ae4888 Use .prop() instead of .attr()/.removeAttr() to set boolean attributes
Change-Id: I4988316b202c19f851f2c05e3d07acc8c5ea38cf
2016-02-08 18:38:15 +00:00
Fomafixand[[mw:User:Fomafix]] 0d5c69f655 Do not use setlang to change user language
Requests using GET should only retrieve data and should have no other effect.
(https://en.wikipedia.org/wiki/HTTP_GET_request)

* Use API with POST to change the user interface language in user settings.
* When allowed by wgULSAnonCanChangeLanguage set cookie for anonymous user
  or when API fails.

This change uses mediawiki.cookie which requires MediaWiki 1.24+.

Bug: T46649
Change-Id: Iaf6fafbf200933dfc760be69d2adf5e5efcf8245
2015-09-08 20:21:05 +00:00
Fomafixand[[mw:User:Fomafix]] 6dac1ca48e Add missing dependency to 'mediawiki.notify'
ext.uls.ime.js uses mw.notify().

Change-Id: If435d6934df6edf8aff5431cb7a303cc6361a472
2015-08-28 19:39:17 +00:00
FomafixandNikerabbit 69475f0308 Prevent predefined object methods to be interpreted as valid language
Change-Id: I97bb0f8eef6a9361118527cecb4680aeac51b7e1
2015-02-14 12:08:07 +00:00
Fomafixand[[mw:User:Fomafix]] 0833c990e7 Apply coding conventions for JavaScript
Change-Id: Id158ac08d32cc7421e47ae6abdd2bd80879f04d9
2015-02-07 19:34:21 +00:00
Fomafixand[[mw:User:Fomafix]] c33ac5fdb4 Restore support for IE8
IE8 does not support Object.keys.

Bug: T86516
Change-Id: Ib1a5df6c1660bc30f7b33f1b794a9229ce31cba6
2015-01-12 10:54:22 +00:00
Fomafixand[[mw:User:Fomafix]] 78d9d155f3 Remove support for MediaWiki version < 1.22
On https://www.mediawiki.org/wiki/Extension:UniversalLanguageSelector
MediaWiki 1.22 or later is required.

Change-Id: Ib1b1db6cddb48318dbcae64797b2fa57d3198747
2014-12-04 22:37:55 +00:00
Fomafixand[[mw:User:Fomafix]] d50ca14543 Encode URL parameter
Change-Id: I2eaf564b35624c8441cb8f54f6ab166f5d1762a2
2014-01-21 07:18:03 +00:00
FomafixandErshad K 14aef6d7e1 Fixed the bug 42013 - 'class' as property name
Applied the patch given in bug report

Change-Id: I01ded82bd426edf630561b013d7cafe46130d697
2012-11-12 00:28:35 +05:30