[MediaWiki-commits] [Gerrit] mediawiki/core[master]: Add a hook into LanguageConverter#getPreferredVariant() to a...

2018-01-23 Thread jenkins-bot (Code Review)
jenkins-bot has submitted this change and it was merged. ( 
https://gerrit.wikimedia.org/r/367326 )

Change subject: Add a hook into LanguageConverter#getPreferredVariant() to 
allow extensions to pull the desired variant from cookies (or other such source)
..


Add a hook into LanguageConverter#getPreferredVariant() to allow extensions to 
pull the desired variant from cookies (or other such source)

Example implementation using this hook: wikiHow's ChineseVariantSelector
extension, installed on zh.wikihow.com, which uses cookies to store the
preferred language variant, allowing anonymous users to change the
language variant without registering/logging in.

Change-Id: I5295a26578b45a8d51f2b7550938088fec18404f
---
M docs/hooks.txt
M languages/LanguageConverter.php
2 files changed, 9 insertions(+), 0 deletions(-)

Approvals:
  Brian Wolff: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/docs/hooks.txt b/docs/hooks.txt
index 3ff3365..c21ce8a 100644
--- a/docs/hooks.txt
+++ b/docs/hooks.txt
@@ -1662,6 +1662,13 @@
 'GetIP': modify the ip of the current user (called only once).
 &$ip: string holding the ip as determined so far
 
+'GetLangPreferredVariant': Called in LanguageConverter#getPreferredVariant() to
+  allow fetching the language variant code from cookies or other such
+  alternative storage.
+&$req: language variant from the URL (string) or boolean false if no variant
+  was specified in the URL; the value of this variable comes from
+  LanguageConverter#getURLVariant()
+
 'GetLinkColours': modify the CSS class of an array of page links.
 $linkcolour_ids: array of prefixed DB keys of the pages linked to,
   indexed by page_id.
diff --git a/languages/LanguageConverter.php b/languages/LanguageConverter.php
index 6d0368c..d9e64b4 100644
--- a/languages/LanguageConverter.php
+++ b/languages/LanguageConverter.php
@@ -160,6 +160,8 @@
 
$req = $this->getURLVariant();
 
+   Hooks::run( 'GetLangPreferredVariant', [ &$req ] );
+
if ( $wgUser->isSafeToLoad() && $wgUser->isLoggedIn() && !$req 
) {
$req = $this->getUserVariant();
} elseif ( !$req ) {

-- 
To view, visit https://gerrit.wikimedia.org/r/367326
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I5295a26578b45a8d51f2b7550938088fec18404f
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Jack Phoenix 
Gerrit-Reviewer: Bartosz DziewoƄski 
Gerrit-Reviewer: Brian Wolff 
Gerrit-Reviewer: C. Scott Ananian 
Gerrit-Reviewer: Liangent 
Gerrit-Reviewer: Tim Starling 
Gerrit-Reviewer: jenkins-bot <>

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] mediawiki/core[master]: Add a hook into LanguageConverter#getPreferredVariant() to a...

2017-07-23 Thread Jack Phoenix (Code Review)
Jack Phoenix has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/367326 )

Change subject: Add a hook into LanguageConverter#getPreferredVariant() to 
allow extensions to pull the desired variant from cookies (or other such source)
..

Add a hook into LanguageConverter#getPreferredVariant() to allow extensions to 
pull the desired variant from cookies (or other such source)

Example implementation using this hook: wikiHow's ChineseVariantSelector
extension, installed on zh.wikihow.com, which uses cookies to store the
preferred language variant, allowing anonymous users to change the
language variant without registering/logging in.

Change-Id: I5295a26578b45a8d51f2b7550938088fec18404f
---
M docs/hooks.txt
M languages/LanguageConverter.php
2 files changed, 9 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core 
refs/changes/26/367326/1

diff --git a/docs/hooks.txt b/docs/hooks.txt
index 3ff3365..c21ce8a 100644
--- a/docs/hooks.txt
+++ b/docs/hooks.txt
@@ -1662,6 +1662,13 @@
 'GetIP': modify the ip of the current user (called only once).
 &$ip: string holding the ip as determined so far
 
+'GetLangPreferredVariant': Called in LanguageConverter#getPreferredVariant() to
+  allow fetching the language variant code from cookies or other such
+  alternative storage.
+&$req: language variant from the URL (string) or boolean false if no variant
+  was specified in the URL; the value of this variable comes from
+  LanguageConverter#getURLVariant()
+
 'GetLinkColours': modify the CSS class of an array of page links.
 $linkcolour_ids: array of prefixed DB keys of the pages linked to,
   indexed by page_id.
diff --git a/languages/LanguageConverter.php b/languages/LanguageConverter.php
index 6d0368c..d9e64b4 100644
--- a/languages/LanguageConverter.php
+++ b/languages/LanguageConverter.php
@@ -160,6 +160,8 @@
 
$req = $this->getURLVariant();
 
+   Hooks::run( 'GetLangPreferredVariant', [ &$req ] );
+
if ( $wgUser->isSafeToLoad() && $wgUser->isLoggedIn() && !$req 
) {
$req = $this->getUserVariant();
} elseif ( !$req ) {

-- 
To view, visit https://gerrit.wikimedia.org/r/367326
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I5295a26578b45a8d51f2b7550938088fec18404f
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Jack Phoenix 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits