Commit graph

19 commits

Author SHA1 Message Date
Fomafix fe6ac7c3af Increase required MediaWiki version to 1.32+
The change 4649d2110f requires 1.32+
because it depends on I0afdc8ab50bc1354bb5099bf39923c07eab0b665 from
core included in 1.32.

Change-Id: Ia2582b6598024dd229df615df50b7d1a9eb9116b
2018-08-10 20:20:22 +02:00
Florian Schmidt e3479eafd8 Link to the extension doku page on Special:Version
Bug: T201076
Change-Id: I7c62708b010dd468410aa2970b9ccc0b288c042e
2018-08-02 20:56:24 +02:00
Florian Schmidt 90d2e58096 Move classes into CookieWarning namespace
This should make the code a bit more structured and easier to navigate
through. It also removes some lines from extension.json as the autoload
classes list is replaced by an autoload namespaces property.

This also changes the minimum requirement of MediaWiki to 1.31 for this
extension to work.

Change-Id: I249ccc3035297c99202a5f83fcc8d3fda68b682c
2018-07-19 12:57:52 +02:00
James D. Forrester 4649d2110f Don't use deprecated mediawiki.api.options
It was merged into `mediawiki.api`.

Bug: T196802
Change-Id: I517ddf5ce8d57dfb56569c6d295755abf2138f35
2018-07-18 14:05:09 +00:00
Florian Schmidt fed15fd7a5 Refactor Hooks code and move it to separate services
This cleans up the hook file a lot and movesthe logic to seperate services
provided by MediaWikiServices. This also removes some setters and passed-
around variables and stuff. Also fixes the unit tests by not querying
external services anymore.

Change-Id: I0c3c0b7f2f5bd68aaad624e8e2dcad9bdcf97770
2018-07-18 12:59:17 +02:00
Fomafix eb27449d70 Fix phpcs exclude rules
Change-Id: Ia39e6189d666af7d6fe1ccd14e8e7cae277a4428
2018-03-30 22:59:10 +02:00
Fomafix fc3d0012c7 Use saveOption from module 'mediawiki.api.options'
The module 'mediawiki.api.options' is present since MediaWiki 1.25.

Change-Id: I986afad78f8054596e0efe89aa9e663c6c123f03
2018-03-22 22:12:34 +01:00
Fomafix 5af96e1d18 Add missing dependencies on modules
* Module 'ext.CookieWarning' depends on module 'mediawiki.user' because
  ext.CookieWarning.js uses mw.user.isAnon.
* Module 'ext.CookieWarning.geolocation' depends on module
  'jquery.cookie' because cookiePolicy.js uses $.cookie.

Change-Id: Idd5cba6c997a8ad835f7244cf971a7839102b995
2018-03-22 20:24:37 +01:00
Tulsi Bhagat 1c870a1fa5 Removed deprecated position statements from resource loader module
Bug: T184257
Change-Id: Ia60490b099cd7661051d0add20b91a766a1c7488
2018-02-13 10:54:12 +00:00
Florian Schmidt 9b342e875b Redesign mobile CookieWarning banner
Based on design input from Reading web team (Nirzar).

Bug: T146077
Change-Id: I99aa74842486c4c397462dd51f55c272ae17ad07
2017-01-11 23:06:25 +01:00
Florian Schmidt 1143f1e20d Bump version number to 0.2.0
Bug: T145723
Change-Id: I4a3f57e7666bdca635dcd0603df9cef03011b7e4
2016-10-29 22:13:02 +02:00
Florian Schmidt c35b78fae8 Add option to limit the cookie warning to specific regions
With this change, CookieWarning gets two new ways to limit the warning
bar to users of specific (configurable) regions. Based on the geo location
service (which can be configured, too, defaults to freegeoip.net), the
extension will try to get the region of the user (based on the IP address)
and checks it against the configured regions.

With the configuration variable $wgCookieWarningGeoIPLookup, the wiki sysadmin
can configure, if the lookup should be done with PHP (the timeout for the
request is hardcoded to 2 sedonds max), which will save the paylod sent to
the user, or with JavaScript, which will be asynchronous.

Deactivating this feature is easily done by simply setting the configured regions
to false, instead of an object.

Bug: T145780
Change-Id: I4d9371b8608ef270c11c42bdb3a773675977ab3a
2016-10-07 23:51:18 +02:00
Florian Schmidt ca00379814 Use the short hooks definition in extension.json
Change-Id: I53415a93290cd3fc973e384bfd66364b4dcf8206
2016-09-17 22:25:25 +00:00
Florian Schmidt b8686223e5 Allow non-JS users to dismiss the CookieWarning bar
This commit change sthe "OK"-link to dismiss the cookiewarning bar
from a link to a POST-based form, so that non-JS users are able to
click it, too. If clicked, the dismiss is saved int he user prefs
(if the user is logged in) or in a cookie.

The JS version still works without reloading the page.

Bug: T145647
Change-Id: I711413abcbc131aaba34e8b285630ef1a1c9bda1
2016-09-18 00:00:14 +02:00
Florian 97c134e397 Improve documentation of code and add test features (npm, composer)
Also: Add license (MIT).

Change-Id: Ia184b396b648ecb4ef30b40d13618e2ecf72294a
2016-01-10 19:31:07 +01:00
Florian e37bbc73cc Change de-Message, adjust mobile less and add url config option
de i18n message now represents the en translation. The mobile opacity
is now 1, instead of 0.85 from desktop (it covers text in mobile, which
makes it harder to read with the opacity).

The URL isn't hardcoded anymore, it now can be configured with a config
option.

Change-Id: I9a4e3eb40675496e9467ecee4307298d0542633e
2015-08-16 12:00:33 +02:00
Florian bc100e294d Show CookieWarning for mobile users and save setting to user
Enable the CookieWarning to be visible on a mobile device (bottom, instead of top).

Instead of only rely on cookies to save, that a user accepted that we use cookies,
save it as a user preference, too.

Change-Id: Ib03d5eafd4392d14315115c158b547b9e26a173c
2015-08-16 11:49:05 +02:00
Florian 0b265c90c7 Change default value of Enabled to false
Change-Id: I89daf9676cb10ff5b42a437dfbf51adf3493c69a
2015-07-27 19:33:20 +02:00
Florian b60d6e857a Initial commit
Change-Id: I75ba290d33d981c1c3789868f4ac21916faabde0
2015-07-27 19:19:29 +02:00