Jdlrobson has uploaded a new change for review.
https://gerrit.wikimedia.org/r/54099
Change subject: Story 422: Add do not track option to Settings
......................................................................
Story 422: Add do not track option to Settings
This change adds a setting to the settings page
TODO: Make this setting be read for EventLogging. Talk to Ori about
a global desktop setting
Change-Id: Id7c37c94421d907cbd793ca5ba25e7a2c1be3459
---
M MobileFrontend.i18n.php
M includes/MobileContext.php
M includes/specials/SpecialMobileOptions.php
3 files changed, 31 insertions(+), 0 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/MobileFrontend
refs/changes/99/54099/1
diff --git a/MobileFrontend.i18n.php b/MobileFrontend.i18n.php
index 40c8443..981b9c6 100644
--- a/MobileFrontend.i18n.php
+++ b/MobileFrontend.i18n.php
@@ -28,11 +28,16 @@
'mobile-frontend-sign-in-error-heading' => 'Whoops',
/** end log-in page**/
+ /** settings page **/
'mobile-frontend-settings-description' => 'Customize your experience on
your mobile device with these mobile specific site settings.',
'mobile-frontend-settings-beta' => 'Beta',
'mobile-frontend-settings-alpha' =>
'[//en.wikipedia.org/wiki/Here_be_dragons Here be dragons] mode',
'mobile-frontend-settings-alpha-description' => 'Enter dangerous and
unexplored mobile territory. Get even more experimental features but with more
danger of bugs.',
'mobile-frontend-save-settings' => 'Save settings',
+ 'mobile-frontend-settings-tracking' => 'Tracking',
+ 'mobile-frontend-settings-tracking-description' => 'Help Wikipedia
improve its service by giving it permission to collect anonymous data about how
you use the service. Read more about our
[http://wikimediafoundation.org/wiki/Wikimedia:Privacy_policy#Purpose_of_the_collection_of_private_information
privacy policy] here',
+ /* end settings page */
+
'mobile-frontend-random-button' => 'Random',
/* related to random widget */
@@ -300,6 +305,9 @@
'mobile-frontend-settings-alpha-description' => 'Disclaimer about
dangers and excitement that come with being in an alpha mode',
'mobile-frontend-save-settings' => 'Text for button for saving settings
on Special:MobileOptions.
{{Identical|Save settings}}',
+ 'mobile-frontend-settings-tracking' => 'Text for EventLogging label',
+ 'mobile-frontend-settings-tracking-description' => 'Explain briefly how
EventLogging effects privacy',
+
'mobile-frontend-random-button' => 'This is the label of one of the
buttons that appear if you click the wiki logo near the search box.
This buttons takes the user to a random page.',
diff --git a/includes/MobileContext.php b/includes/MobileContext.php
index c94b19b..ad2f0af 100644
--- a/includes/MobileContext.php
+++ b/includes/MobileContext.php
@@ -175,6 +175,14 @@
return true;
}
+ public function isTrackingDisabled() {
+ return (bool)$this->getRequest()->getCookie( 'disableTracking'
);
+ }
+
+ public function disableTrackingCookie( $value=true ) {
+ $this->getRequest()->response()->setcookie( 'disableTracking',
$value ? '1' : '' );
+ }
+
public function isAlphaGroupMember() {
if ( is_null( $this->alphaGroupMember ) ) {
$this->checkUserStatus();
diff --git a/includes/specials/SpecialMobileOptions.php
b/includes/specials/SpecialMobileOptions.php
index 1554153..d17cf66 100644
--- a/includes/specials/SpecialMobileOptions.php
+++ b/includes/specials/SpecialMobileOptions.php
@@ -61,6 +61,7 @@
$alphaEnabled = $context->isAlphaGroupMember();
$imagesChecked = $context->imagesDisabled() ? '' : 'checked';
// images are off when disabled
+ $trackingChecked = $context->isTrackingDisabled() ? '' :
'checked';
$imagesBeta = $betaEnabled ? 'checked' : '';
$disableMsg = $this->msg( 'mobile-frontend-images-status'
)->parse();
$betaEnableMsg = $this->msg( 'mobile-frontend-settings-beta'
)->parse();
@@ -114,6 +115,8 @@
HTML;
}
+ $trackingHeader = $this->msg(
'mobile-frontend-settings-tracking' );
+ $trackingDesc = $this->msg(
'mobile-frontend-settings-tracking-description' )->parse();
$html .= <<<HTML
<p>
{$aboutMessage}
@@ -125,6 +128,16 @@
<input type="checkbox" name="enableImages"
{$imagesChecked}>{$onoff}
</span>
+ </li>
+ <li>
+ {$trackingHeader}
+ <div class="mw-mf-checkbox-css3">
+ <input type="checkbox" name="enableTracking"
+ {$trackingChecked}>{$onoff}
+ </div>
+ </li>
+ <li class="mw-mf-settings-description">
+ {$trackingDesc}
</li>
{$betaSetting}
{$alphaSetting}
@@ -196,6 +209,7 @@
}
$inBeta = $request->getBool( 'enableBeta' );
$inAlpha = $request->getBool( 'enableAlpha' );
+ $trackEnabled = $request->getBool( 'enableTracking' );
// determine whether or not alpha was disabled
if ( $context->isAlphaGroupMember() && !$inAlpha ) {
$alphaDisabled = true;
@@ -208,6 +222,7 @@
$context->setBetaGroupMember( $inBeta );
$context->setAlphaOptInOutCookie( $inAlpha ? '1' : '',
$alphaDisabled );
$context->setAlphaGroupMember( $inAlpha );
+ $context->disableTrackingCookie( !$trackEnabled );
$returnToTitle = Title::newFromText( $request->getText(
'returnto' ) );
if ( $returnToTitle ) {
--
To view, visit https://gerrit.wikimedia.org/r/54099
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Id7c37c94421d907cbd793ca5ba25e7a2c1be3459
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/MobileFrontend
Gerrit-Branch: master
Gerrit-Owner: Jdlrobson <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits