http://www.mediawiki.org/wiki/Special:Code/MediaWiki/94181

Revision: 94181
Author:   preilly
Date:     2011-08-10 18:41:53 +0000 (Wed, 10 Aug 2011)
Log Message:
-----------
add opt-in and opt-out for testing on production

Modified Paths:
--------------
    trunk/extensions/MobileFrontend/MobileFrontend.i18n.php
    trunk/extensions/MobileFrontend/MobileFrontend.php

Added Paths:
-----------
    trunk/extensions/MobileFrontend/views/information/optin.html.php
    trunk/extensions/MobileFrontend/views/information/optout.html.php

Modified: trunk/extensions/MobileFrontend/MobileFrontend.i18n.php
===================================================================
--- trunk/extensions/MobileFrontend/MobileFrontend.i18n.php     2011-08-10 
18:32:22 UTC (rev 94180)
+++ trunk/extensions/MobileFrontend/MobileFrontend.i18n.php     2011-08-10 
18:41:53 UTC (rev 94181)
@@ -44,6 +44,16 @@
        'mobile-frontend-wml-continue' => 'Continue ...',
        'mobile-frontend-wml-back' => 'Back ...',
        'mobile-frontend-view' => 'Mobile view',
+       'mobile-frontend-opt-in-message' => 'Join our opt-in testing of the new 
mobile frontend?',
+       'mobile-frontend-opt-in-yes-button' => 'yes',
+       'mobile-frontend-opt-in-no-button' => 'no',
+       'mobile-frontend-opt-in-title' => 'Opt-In for Testing',
+       'mobile-frontend-opt-in-explain' => 'This allows you to enter the test',
+       'mobile-frontend-opt-out-message' => 'Leave opt-in testing of the new 
mobile frontend?',
+       'mobile-frontend-opt-out-yes-button' => 'yes',
+       'mobile-frontend-opt-out-no-button' => 'no',
+       'mobile-frontend-opt-out-title' => 'Opt-Out of Testing',
+       'mobile-frontend-opt-out-explain' => 'This allows you to leave the 
test',
 );
 
 /** Moroccan Spoken Arabic (Maġribi) */

Modified: trunk/extensions/MobileFrontend/MobileFrontend.php
===================================================================
--- trunk/extensions/MobileFrontend/MobileFrontend.php  2011-08-10 18:32:22 UTC 
(rev 94180)
+++ trunk/extensions/MobileFrontend/MobileFrontend.php  2011-08-10 18:41:53 UTC 
(rev 94181)
@@ -49,7 +49,7 @@
 $wgHooks['SkinTemplateOutputPageBeforeExec'][] = array( &$wgExtMobileFrontend, 
'addMobileFooter' );
 
 class ExtMobileFrontend {
-       const VERSION = '0.5.11';
+       const VERSION = '0.5.12';
 
        /**
         * @var DOMDocument
@@ -131,18 +131,28 @@
                $copyright = $skin->getCopyright();
                // Need to stash the results of the "wfMsg" call before the 
Output Buffering handler
                // because at this point the database connection is shut down, 
etc.
-               self::$messages['mobile-frontend-show']                   = 
wfMsg( 'mobile-frontend-show-button' );
-               self::$messages['mobile-frontend-hide']                   = 
wfMsg( 'mobile-frontend-hide-button' );
-               self::$messages['mobile-frontend-back-to-top']            = 
wfMsg( 'mobile-frontend-back-to-top-of-section' );
-               self::$messages['mobile-frontend-regular-site']           = 
wfMsg( 'mobile-frontend-regular-site' );
-               self::$messages['mobile-frontend-perm-stop-redirect'] = wfMsg( 
'mobile-frontend-perm-stop-redirect' );
-               self::$messages['mobile-frontend-copyright']              = 
$copyright;
-               self::$messages['mobile-frontend-home-button']            = 
wfMsg( 'mobile-frontend-home-button' );
-               self::$messages['mobile-frontend-random-button']          = 
wfMsg( 'mobile-frontend-random-button' );
-               self::$messages['mobile-frontend-are-you-sure']           = 
wfMsg( 'mobile-frontend-are-you-sure' );
-               self::$messages['mobile-frontend-explain-disable']        = 
wfMsg( 'mobile-frontend-explain-disable' );
-               self::$messages['mobile-frontend-disable-button']         = 
wfMsg( 'mobile-frontend-disable-button' );
-               self::$messages['mobile-frontend-back-button']            = 
wfMsg( 'mobile-frontend-back-button' );
+               self::$messages['mobile-frontend-show']                         
        = wfMsg( 'mobile-frontend-show-button' );
+               self::$messages['mobile-frontend-hide']                         
        = wfMsg( 'mobile-frontend-hide-button' );
+               self::$messages['mobile-frontend-back-to-top']                  
= wfMsg( 'mobile-frontend-back-to-top-of-section' );
+               self::$messages['mobile-frontend-regular-site']                 
= wfMsg( 'mobile-frontend-regular-site' );
+               self::$messages['mobile-frontend-perm-stop-redirect']   = 
wfMsg( 'mobile-frontend-perm-stop-redirect' );
+               self::$messages['mobile-frontend-copyright']                    
= $copyright;
+               self::$messages['mobile-frontend-home-button']                  
= wfMsg( 'mobile-frontend-home-button' );
+               self::$messages['mobile-frontend-random-button']                
= wfMsg( 'mobile-frontend-random-button' );
+               self::$messages['mobile-frontend-are-you-sure']                 
= wfMsg( 'mobile-frontend-are-you-sure' );
+               self::$messages['mobile-frontend-explain-disable']              
= wfMsg( 'mobile-frontend-explain-disable' );
+               self::$messages['mobile-frontend-disable-button']               
= wfMsg( 'mobile-frontend-disable-button' );
+               self::$messages['mobile-frontend-back-button']                  
= wfMsg( 'mobile-frontend-back-button' );
+               self::$messages['mobile-frontend-opt-in-message']               
= wfMsg( 'mobile-frontend-opt-in-message' );
+               self::$messages['mobile-frontend-opt-in-yes-button']    = 
wfMsg( 'mobile-frontend-opt-in-yes-button' );
+               self::$messages['mobile-frontend-opt-in-no-button']             
= wfMsg( 'mobile-frontend-opt-in-no-button' );
+               self::$messages['mobile-frontend-opt-in-title']                 
= wfMsg( 'mobile-frontend-opt-in-title' );
+               self::$messages['mobile-frontend-opt-out-message']              
= wfMsg( 'mobile-frontend-opt-out-message' );
+               self::$messages['mobile-frontend-opt-out-yes-button']   = 
wfMsg( 'mobile-frontend-opt-out-yes-button' );
+               self::$messages['mobile-frontend-opt-out-no-button']    = 
wfMsg( 'mobile-frontend-opt-out-no-button' );
+               self::$messages['mobile-frontend-opt-out-title']                
= wfMsg( 'mobile-frontend-opt-out-title' );
+               self::$messages['mobile-frontend-opt-in-explain']               
= wfMsg( 'mobile-frontend-opt-in-explain' );
+               self::$messages['mobile-frontend-opt-out-explain']              
= wfMsg( 'mobile-frontend-opt-out-explain' );
 
                self::$dir = $wgContLang->getDir();
                self::$code = $wgContLang->getCode();
@@ -251,6 +261,28 @@
                                exit();
                        }
                }
+               
+               if ( $mAction == 'opt_in_mobile_site' ) {
+                       if ( $this->contentFormat == 'XHTML' ) {
+                               echo $this->renderOptInMobileSiteXHTML();
+                               exit();
+                       }
+               }
+               
+               if ( $mAction == 'opt_out_mobile_site' ) {
+                       if ( $this->contentFormat == 'XHTML' ) {
+                               echo $this->renderOptOutMobileSiteXHTML();
+                               exit();
+                       }
+               }
+               
+               if ( $mAction == 'opt_in_cookie' ) {
+                       $wgRequest->response()->setcookie( 'optin', '1' );
+               }
+               
+               if ( $mAction == 'opt_out_cookie' ) {
+                       $wgRequest->response()->setcookie( 'optin', '' );
+               }
 
                // Note: Temporarily disabling this section for trial deployment
                // if ( is_array($props) &&
@@ -306,6 +338,58 @@
                        header( 'Pragma: no-cache' );
                }
        }
+       
+       private function renderOptInMobileSiteXHTML() {
+               if ( $this->contentFormat == 'XHTML' ) {
+               $this->getMsg();
+               $dir = self::$dir;
+               $code = self::$code;
+               $regularSite            = 
self::$messages['mobile-frontend-regular-site'];
+               $permStopRedirect       = 
self::$messages['mobile-frontend-perm-stop-redirect'];
+               $copyright                      = 
self::$messages['mobile-frontend-copyright'];
+               $homeButton                     = 
self::$messages['mobile-frontend-home-button'];
+               $randomButton           = 
self::$messages['mobile-frontend-random-button'];
+               $yesButton                      = 
self::$messages['mobile-frontend-opt-in-yes-button'];
+               $noButton                       = 
self::$messages['mobile-frontend-opt-in-no-button'];
+               $htmlTitle                      = 
self::$messages['mobile-frontend-opt-in-title'];
+               $explainOptIn           = 
self::$messages['mobile-frontend-opt-in-explain'];
+               $optInMessage = 
self::$messages['mobile-frontend-opt-in-message'];
+               $cssFileName = ( isset( self::$device['css_file_name'] ) ) ? 
self::$device['css_file_name'] : 'default';
+               require( 'views/layout/_search_webkit.html.php' );
+               require( 'views/layout/_footmenu_default.html.php' );
+               require( 'views/information/optin.html.php' );
+               $contentHtml = $optInHtml;
+               require( 'views/layout/application.html.php' );
+               return $applicationHtml;
+               }
+               return '';
+       }
+       
+       private function renderOptOutMobileSiteXHTML() {
+               if ( $this->contentFormat == 'XHTML' ) {
+               $this->getMsg();
+               $dir = self::$dir;
+               $code = self::$code;
+               $regularSite            = 
self::$messages['mobile-frontend-regular-site'];
+               $permStopRedirect       = 
self::$messages['mobile-frontend-perm-stop-redirect'];
+               $copyright                      = 
self::$messages['mobile-frontend-copyright'];
+               $homeButton                     = 
self::$messages['mobile-frontend-home-button'];
+               $randomButton           = 
self::$messages['mobile-frontend-random-button'];
+               $yesButton                      = 
self::$messages['mobile-frontend-opt-out-yes-button'];
+               $noButton                       = 
self::$messages['mobile-frontend-opt-out-no-button'];
+               $htmlTitle                      = 
self::$messages['mobile-frontend-opt-out-title'];
+               $explainOptOut          = 
self::$messages['mobile-frontend-opt-out-explain'];
+               $optOutMessage = 
self::$messages['mobile-frontend-opt-out-message'];
+               $cssFileName = ( isset( self::$device['css_file_name'] ) ) ? 
self::$device['css_file_name'] : 'default';
+               require( 'views/layout/_search_webkit.html.php' );
+               require( 'views/layout/_footmenu_default.html.php' );
+               require( 'views/information/optout.html.php' );
+               $contentHtml = $optOutHtml;
+               require( 'views/layout/application.html.php' );
+               return $applicationHtml;
+               }
+               return '';
+       }
 
        private function renderDisableMobileSiteXHTML() {
                if ( $this->contentFormat == 'XHTML' ) {
@@ -324,7 +408,6 @@
                        $htmlTitle = $areYouSure;
                        $title = $areYouSure;
                        $cssFileName = ( isset( self::$device['css_file_name'] 
) ) ? self::$device['css_file_name'] : 'default';
-                       require( 'views/notices/_donate.html.php' );
                        require( 'views/layout/_search_webkit.html.php' );
                        require( 'views/layout/_footmenu_default.html.php' );
                        require( 'views/information/disable.html.php' );

Added: trunk/extensions/MobileFrontend/views/information/optin.html.php
===================================================================
--- trunk/extensions/MobileFrontend/views/information/optin.html.php            
                (rev 0)
+++ trunk/extensions/MobileFrontend/views/information/optin.html.php    
2011-08-10 18:41:53 UTC (rev 94181)
@@ -0,0 +1,18 @@
+<?php
+$optInHtml = <<<EOT
+ <h1> 
+          {$optInMessage}
+        </h1> 
+        <p> 
+          {$explainOptIn}
+        </p> 
+        <div id='disableButtons'> 
+          <form action='/' method='get'> 
+            <input name='mAction' type='hidden' value='opt_in_cookie' /> 
+            <button id='disableButton' type='submit'>{$yesButton}</button> 
+          </form> 
+          <form action='/' method='get'> 
+            <button id='backButton' type='submit'>{$noButton}</button> 
+          </form> 
+        </div>
+EOT;


Property changes on: 
trunk/extensions/MobileFrontend/views/information/optin.html.php
___________________________________________________________________
Added: svn:eol-style
   + native

Added: trunk/extensions/MobileFrontend/views/information/optout.html.php
===================================================================
--- trunk/extensions/MobileFrontend/views/information/optout.html.php           
                (rev 0)
+++ trunk/extensions/MobileFrontend/views/information/optout.html.php   
2011-08-10 18:41:53 UTC (rev 94181)
@@ -0,0 +1,18 @@
+<?php
+$optOutHtml = <<<EOT
+ <h1> 
+          {$optOutMessage}
+        </h1> 
+        <p> 
+          {$explainOptOut}
+        </p> 
+        <div id='disableButtons'> 
+          <form action='/' method='get'> 
+            <input name='mAction' type='hidden' value='opt_out_cookie' /> 
+            <button id='disableButton' type='submit'>{$yesButton}</button> 
+          </form> 
+          <form action='/' method='get'> 
+            <button id='backButton' type='submit'>{$noButton}</button> 
+          </form> 
+        </div>
+EOT;


Property changes on: 
trunk/extensions/MobileFrontend/views/information/optout.html.php
___________________________________________________________________
Added: svn:eol-style
   + native


_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs

Reply via email to