Dr0ptp4kt has uploaded a new change for review.
https://gerrit.wikimedia.org/r/66010
Change subject: Rewrite links in the Read in Another Language section.
......................................................................
Rewrite links in the Read in Another Language section.
* Current functionality is a hack.
* This patch rewrites based on whitelisted languages.
Change-Id: Iaa5b5288d968b48db36870d7add38e60570dcbd4
---
M includes/PageRenderingHooks.php
1 file changed, 24 insertions(+), 2 deletions(-)
git pull
ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/ZeroRatedMobileAccess
refs/changes/10/66010/1
diff --git a/includes/PageRenderingHooks.php b/includes/PageRenderingHooks.php
index b391239..abe0ffb 100644
--- a/includes/PageRenderingHooks.php
+++ b/includes/PageRenderingHooks.php
@@ -66,15 +66,24 @@
$template->set( 'privacy', $privacyText );
$template->set( 'terms-use', $termsText );
- $redirectWarningQPS = '?renderZeroRatedRedirect=true&returnto=';
+ $redirectWarningQPS = 'renderZeroRatedRedirect=true&returnto=';
if ( isset( $template->data['language_urls'] )
&& 0 < count( $template->data['language_urls'] )
) {
$languageUrls = $template->data['language_urls'];
+ $freeLangs = $config['whitelistedLangs'];
foreach ( $languageUrls as &$lang ) {
- $lang['href'] = $redirectWarningQPS .
urlencode( $lang['href'] );
+ if (
preg_match('#^//([-a-zA-Z_]+)\.(zero|m)\.#', $lang['href'], $match ) ) {
+ $lang['href'] =
self::rewriteLanguageLink(
+ $wgRequest,
+ $lang['href'],
+ $redirectWarningQPS,
+ $match[1],
+ $freeLangs
+ );
+ }
}
$template->set( 'language_urls', $languageUrls );
@@ -672,6 +681,19 @@
return $link;
}
+ private static function rewriteLanguageLink( \WebRequest $request,
$link, $redirectQuery, $languageCode, $freeLangs ) {
+ $languageUrl = $link;
+ $isFree = ( 0 === count( $freeLangs ) || in_array(
$languageCode, $freeLangs ) );
+ if ( !$isFree ) {
+ if ( self::isZeroRequest() ) {
+ $languageUrl =
str_replace(self::$zerodotParent, self::$mdotParent, $languageUrl );
+ }
+ $languageUrl = $request->appendQuery(
+ $redirectQuery
+ . urlencode( $languageUrl ) );
+ }
+ return $languageUrl;
+ }
public function getVersion() {
// TODO? Delete this?
--
To view, visit https://gerrit.wikimedia.org/r/66010
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Iaa5b5288d968b48db36870d7add38e60570dcbd4
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/ZeroRatedMobileAccess
Gerrit-Branch: master
Gerrit-Owner: Dr0ptp4kt <[email protected]>
Gerrit-Reviewer: jenkins-bot
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits