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

Reply via email to