Commit graph

11 commits

Author SHA1 Message Date
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
Florian Schmidt 6f519c9618 Add caching functionality for IP lookup
Instead of always looking up a single IP address, even for multiple
requests, cache the result of the first lookup. IP addresses usually
doesn't move that fast, caching the result should therefore be
reasonably ok.

Change-Id: Ice78ec08ff886e77c542a75086610498eaa6c6b4
2018-07-18 16:03:29 +02: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
jdlrobson 60929abb69 Drop Minerva LESS dependency
* Instead of repeating CSS already in Minerva instead use an element
"banner-container" already in use by CentralNotice (given this is also a banner)
This removes the need for positioning styles at Minerva is delegated to handle that.
* Rewrite existing rules using mediawiki ui variables to make clearer line-height
relates to iconography

Bug: T140807
Change-Id: I1bd3fb164bbb7866e5d32367c66afae5c1933bcb
2018-05-19 11:51:16 +02:00
Fomafix eb27449d70 Fix phpcs exclude rules
Change-Id: Ia39e6189d666af7d6fe1ccd14e8e7cae277a4428
2018-03-30 22:59:10 +02:00
Kunal Mehta 3675acc182 Add @covers tag
Change-Id: Ie424a310f6a30c820cb692fa2ddcb25087868837
2018-01-23 16:24:33 -08: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 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 12137c66d8 Use short array syntax instead of array()
Change-Id: I22f24bf047ff8bb476000bfbf879cc7612c10c27
2016-09-18 00:36:56 +02:00
Paladox 828d31625c Fix tests
Change-Id: I761c8eea6c0ecc55f02ce86259c5afc83d6a96a9
2016-09-18 00:18:56 +02:00
Florian Schmidt dcebb9bb04 Add the possibility to edit the more information link on-wiki
Instead of just the configuration variable $wgCookieWarningMoreUrl,
CookirWarning now allows also to set the link on-wiki using the interface
message MediaWiki:Cookiewarning-more-link. It also "listens" for the
MediaWiki:Cookie-policy-link interface message, which is introduced by
Cookie Policy as a first step for merging these both extensions.

Bug: T145781
Change-Id: I818008b2da6d9acd4295857e2916cd1b4637bee9
2016-09-15 23:53:27 +02:00