https://www.mediawiki.org/wiki/Special:Code/MediaWiki/102152

Revision: 102152
Author:   pgehres
Date:     2011-11-06 04:21:21 +0000 (Sun, 06 Nov 2011)
Log Message:
-----------
Adding BT form for GlobalCollect.  Refactored JS to allow for common include of 
validation functions without any onpageload actions where not required.

Modified Paths:
--------------
    trunk/extensions/DonationInterface/gateway_forms/RapidHtml.php
    
trunk/extensions/DonationInterface/gateway_forms/rapidhtml/RapidHtmlResources.php
    
trunk/extensions/DonationInterface/globalcollect_gateway/forms/html/webitects_2_3step-CA.html
    
trunk/extensions/DonationInterface/globalcollect_gateway/forms/html/webitects_2_3step.html
    
trunk/extensions/DonationInterface/globalcollect_gateway/forms/js/webitects_2_3step.js

Added Paths:
-----------
    
trunk/extensions/DonationInterface/gateway_forms/rapidhtml/css/webitects2nd.css
    trunk/extensions/DonationInterface/globalcollect_gateway/forms/html/bt/
    
trunk/extensions/DonationInterface/globalcollect_gateway/forms/html/bt/bt.html
    
trunk/extensions/DonationInterface/globalcollect_gateway/forms/html/webitects2nd.html
    
trunk/extensions/DonationInterface/globalcollect_gateway/forms/js/webitects.bt.js
    
trunk/extensions/DonationInterface/globalcollect_gateway/forms/js/webitects.js

Modified: trunk/extensions/DonationInterface/gateway_forms/RapidHtml.php
===================================================================
--- trunk/extensions/DonationInterface/gateway_forms/RapidHtml.php      
2011-11-06 04:15:29 UTC (rev 102151)
+++ trunk/extensions/DonationInterface/gateway_forms/RapidHtml.php      
2011-11-06 04:21:21 UTC (rev 102152)
@@ -113,8 +113,9 @@
                if ( is_array( $form_errors['general'] ) && count( 
$form_errors['general'] ) ) {
                        $general_errors = "";
                        foreach ( $form_errors['general'] as $general_error ) {
-                               $general_errors .= "<p 
class='creditcard'>$general_error</p>";
+                               $general_errors .= "$general_error<br />";
                        }
+
                        $form_errors['general'] = $general_errors;
                }
                
@@ -183,7 +184,8 @@
                }
                $escape_errors = array();
                foreach ( $this->form_errors as $error ) {
-                       $escape_errors[] = addslashes($error);
+                       $error_c = str_replace( array("\r\n", "\n", "\r"), " ", 
$error );
+                       $escape_errors[] = addslashes($error_c);
                }
                $form = str_replace($escape_error_tokens, $escape_errors, 
$form);
 

Modified: 
trunk/extensions/DonationInterface/gateway_forms/rapidhtml/RapidHtmlResources.php
===================================================================
--- 
trunk/extensions/DonationInterface/gateway_forms/rapidhtml/RapidHtmlResources.php
   2011-11-06 04:15:29 UTC (rev 102151)
+++ 
trunk/extensions/DonationInterface/gateway_forms/rapidhtml/RapidHtmlResources.php
   2011-11-06 04:21:21 UTC (rev 102152)
@@ -64,17 +64,17 @@
        'localBasePath' => dirname( __FILE__ ),
        'remoteExtPath' => $wgDonationInterfaceRapidHtmlRemoteExtPath,
 );
-//$wgResourceModules[ 'di.form.rapidhtml.webitects.2nd' ] = array(
-//     'styles' => 'css/webitects2nd.css',
-//     'dependencies' => 'di.form.rapidhtml.webitects',
-//     'localBasePath' => dirname( __FILE__ ),
-//     'remoteExtPath' => $wgDonationInterfaceRapidHtmlRemoteExtPath,
-//);
+$wgResourceModules[ 'di.form.rapidhtml.webitects.2nd' ] = array(
+       'styles' => 'css/webitects2nd.css',
+       'dependencies' => 'di.form.rapidhtml.webitects',
+       'localBasePath' => dirname( __FILE__ ),
+       'remoteExtPath' => $wgDonationInterfaceRapidHtmlRemoteExtPath,
+);
 
 // GlobalCollect
 $wgResourceModules[ 'gc.form.rapidhtml.webitects' ] = array(
-       'styles' => '', //'css/webitects_2_3step.css',
-       'scripts' => 'js/webitects_2_3step.js',
+       'styles' => '',
+       'scripts' => 'js/webitects.js',
        'dependencies' => 'di.form.rapidhtml.webitects',
        'localBasePath' => dirname( __FILE__ 
).'/../../globalcollect_gateway/forms',
        'remoteExtPath' => $wgGlobalCollectRapidHtmlRemoteExtPath,
@@ -87,15 +87,31 @@
        'localBasePath' => dirname( __FILE__ 
).'/../../globalcollect_gateway/forms',
        'remoteExtPath' => $wgGlobalCollectRapidHtmlRemoteExtPath,
 );
-//$wgResourceModules[ 'gc.form.rapidhtml.webitects.2nd' ] = array(
-//     'styles' => '',
-//     'dependencies' => array(
-//             'gc.form.rapidhtml.webitects',
-//             'di.form.rapidhtml.webitects.2nd'
-//     ),
-//     'localBasePath' => dirname( __FILE__ 
).'/../../globalcollect_gateway/forms',
-//     'remoteExtPath' => $wgGlobalCollectRapidHtmlRemoteExtPath,
-//);
+$wgResourceModules[ 'gc.form.rapidhtml.webitects.1st' ] = array(
+       'styles' => '',
+       'scripts' => 'js/webitects_2_3step.js',
+       'dependencies' => array(
+               'gc.form.rapidhtml.webitects',
+       ),
+       'localBasePath' => dirname( __FILE__ 
).'/../../globalcollect_gateway/forms',
+       'remoteExtPath' => $wgGlobalCollectRapidHtmlRemoteExtPath,
+);
+$wgResourceModules[ 'gc.form.rapidhtml.webitects.2nd' ] = array(
+       'styles' => '',
+       'dependencies' => array(
+               'gc.form.rapidhtml.webitects',
+               'di.form.rapidhtml.webitects.2nd'
+       ),
+       'localBasePath' => dirname( __FILE__ 
).'/../../globalcollect_gateway/forms',
+       'remoteExtPath' => $wgGlobalCollectRapidHtmlRemoteExtPath,
+);
+$wgResourceModules[ 'gc.form.rapidhtml.webitects.bt' ] = array(
+       'styles' => '',
+       'scripts' => 'js/webitects.bt.js',
+       'dependencies' => 'gc.form.rapidhtml.webitects.2nd',
+       'localBasePath' => dirname( __FILE__ 
).'/../../globalcollect_gateway/forms',
+       'remoteExtPath' => $wgGlobalCollectRapidHtmlRemoteExtPath,
+);
 
 // PayflowPro
 $wgResourceModules[ 'pfp.form.rapidhtml.webitects' ] = array(

Added: 
trunk/extensions/DonationInterface/gateway_forms/rapidhtml/css/webitects2nd.css
===================================================================
--- 
trunk/extensions/DonationInterface/gateway_forms/rapidhtml/css/webitects2nd.css 
                            (rev 0)
+++ 
trunk/extensions/DonationInterface/gateway_forms/rapidhtml/css/webitects2nd.css 
    2011-11-06 04:21:21 UTC (rev 102152)
@@ -0,0 +1,3 @@
+#step2wrapper, #step2header {
+    display: block !important;
+}
\ No newline at end of file


Property changes on: 
trunk/extensions/DonationInterface/gateway_forms/rapidhtml/css/webitects2nd.css
___________________________________________________________________
Added: svn:eol-style
   + native

Added: 
trunk/extensions/DonationInterface/globalcollect_gateway/forms/html/bt/bt.html
===================================================================
--- 
trunk/extensions/DonationInterface/globalcollect_gateway/forms/html/bt/bt.html  
                            (rev 0)
+++ 
trunk/extensions/DonationInterface/globalcollect_gateway/forms/html/bt/bt.html  
    2011-11-06 04:21:21 UTC (rev 102152)
@@ -0,0 +1,125 @@
+<script type="text/javascript">
+       mw.loader.load('gc.form.rapidhtml.webitects.bt');
+       // these must go through RapidHTML and thus are inline
+       var amountErrors = 
["#general|escape",'#retryMsg|escape','#amount|escape'];
+       var billingErrors = 
['#fname|escape','#lname|escape','#city|escape','#country|escape','#street|escape','#state|escape','#zip|escape','#emailAdd|escape'];
+       var paymentErrors = 
['#card_num|escape','#card_type|escape','#cvv|escape'];
+       var actionURL = "@action";
+       var scriptPath = "@script_path";
+</script>
+<!--[if lt IE 7]>
+<script type="text/javascript">
+       mw.loader.load('gc.form.rapidhtml.webitects.ie6');
+</script>
+<style type="text/css">
+       body{
+               behavior: url("@script_path/skins/vector/csshover.min.htc");
+       }
+</style><![endif]-->
+<!--[if IE 7]>
+<style>
+       .gainlayout {
+               zoom: 1;
+               height: 1%;
+       }
+</style>
+<![endif]-->
+
+<div class="ltr">
+       <table id="layouttable">
+               <tr>
+                       <td>
+                               <div id="appeal">
+                                       <div id="appeal-content">
+                                               <h2 id="appeal-head"> <span 
class="mw-headline">{{LanguageSwitch|2011FR/@appeal-title|@language}}</span></h2>
+                                               <div id="appeal-body" 
class="plainlinks">{{LanguageSwitch|2011FR/@appeal|@language}}</div>
+                                       </div>
+                               </div>
+                       </td>
+                       <td>
+                               <div id="donate">
+                                       <div id="donate-content">
+                                               <div id="donate-body" 
style="padding: 0 1em;">
+                                                       <form method="post" 
name="paypalcontribution">
+                                                               <div 
id="step1header"><h3>%donate_interface-amount-legend% <span 
id="selected-amount">@amount @currency_code</span></h3></div>
+                                                               <div 
id="amtErrorMessages" class="small"></div>
+                                                               <div 
id="step2header"><h3>%donate_interface-billing-address% <span class="mute" 
id="change-billing" style="display: none;">(<a 
href="#">%donate_interface-change%</a>)</span></h3></div>
+                                                               <div 
id="step2wrapper">
+                                                                       <div 
id="billing-content" class="gainlayout">
+                                                                               
<div id="billingErrorMessages" class="small"></div>
+                                                                               
<div id="paymentErrorMessages" class="small"></div>
+                                                                               
<div class="name-fields">
+                                                                               
        <span class="name-first"><input class="txt" id="fname" name="fname" 
title="%donate_interface-donor-fname%" value="@fname" 
placeholder="%donate_interface-donor-fname%"/></span>
+                                                                               
        <span class="name-last"><input class="txt" id="lname" name="lname" 
title="%donate_interface-donor-lname%" value="@lname" 
placeholder="%donate_interface-donor-lname%"/></span>
+                                                                               
</div>
+                                                                               
<div class="loc-fields">
+                                                                               
        <span class="loc-street"><input class="txt" id="street" name="street" 
title="%donate_interface-donor-street%" value="@street" 
placeholder="%donate_interface-donor-street%"/></span>
+                                                                               
        <span class="loc-city"><input class="txt" id="city" name="city" 
title="%donate_interface-donor-city%" value="@city" 
placeholder="%donate_interface-donor-city%"/></span>
+                                                                               
        <span class="loc-state">
+                                                                               
        <select id="state" name="state" class="txt" value="@state" >
+                                                                               
                <option value=""></option>
+                                                                               
                <option value="AK">AK</option><option 
value="AL">AL</option><option value="AR">AR</option><option 
value="AZ">AZ</option><option value="CA">CA</option><option 
value="CO">CO</option><option value="CT">CT</option><option 
value="DC">DC</option><option value="DE">DE</option><option 
value="FL">FL</option><option value="GA">GA</option><option 
value="HI">HI</option><option value="IA">IA</option><option 
value="ID">ID</option><option value="IL">IL</option><option 
value="IN">IN</option><option value="KS">KS</option><option 
value="KY">KY</option><option value="LA">LA</option><option 
value="MA">MA</option><option value="MD">MD</option><option 
value="ME">ME</option><option value="MI">MI</option><option 
value="MN">MN</option><option value="MO">MO</option><option 
value="MS">MS</option><option value="MT">MT</option><option 
value="NC">NC</option><option value="ND">ND</option><option 
value="NE">NE</option><option value="NH">NH</option><option 
value="NJ">NJ</option><option value="NM">NM</option><option 
value="NV">NV</option><option value="NY">NY</option><option 
value="OH">OH</option><option value="OK">OK</option><option 
value="OR">OR</option><option value="PA">PA</option><option 
value="PR">PR</option><option value="RI">RI</option><option 
value="SC">SC</option><option value="SD">SD</option><option 
value="TN">TN</option><option value="TX">TX</option><option 
value="UT">UT</option><option value="VA">VA</option><option 
value="VT">VT</option><option value="WA">WA</option><option 
value="WI">WI</option><option value="WV">WV</option><option 
value="WY">WY</option><option value="AA">AA</option><option 
value="AE">AE</option><option value="AP">AP</option>
+                                                                               
        </select>
+                                                                               
        </span>
+                                                                               
        <span class="loc-postal"><input class="txt" id="zip" name="zip" 
title="%donate_interface-zip%" value="@zip" 
placeholder="%donate_interface-donor-zip%"/></span> <!-- TODO: use postal code 
on non-US -->
+                                                                               
</div>
+                                                                               
<p><input class="txt" title="%donate_interface-donor-email%" id="emailAdd" 
name="emailAdd" value="@emailAdd" 
placeholder="%donate_interface-donor-email%"/></p>
+                                                                               
<div id="bt-continue" style="margin-top: 10px;"> <input class="btn" 
id="bt-continueBtn" type="button" value="%donate_interface-continue%" /></div>
+                                                                       </div>
+                                                               </div>
+
+                                                               
+
+                                                               <input 
type="hidden" name="returnto" value="Thank_You/en" />
+                                                               <input 
type="hidden" value="0" name="PaypalRedirect" id="PaypalRedirect">
+
+                                                               <input 
type="hidden" value="@amount" name="amount" />
+                                                               <input 
type="hidden" value="@country" name="country" id="country" />
+                                                               <input 
type="hidden" value="@currency_code" name="currency_code" />
+                                                               <input 
type="hidden" value="@utm_source" name="utm_source"/>
+                                                               <input 
type="hidden" value="@utm_medium" name="utm_medium"/>
+                                                               <input 
type="hidden" value="@utm_campaign" name="utm_campaign"/>
+                                                               <input 
type="hidden" value="@language" name="language"/>
+                                                               <input 
type="hidden" value="@referrer" name="referrer"/>
+                                                               <input 
type="hidden" value="@comment" name="comment"/>
+                                                               <input 
type="hidden" value="@comment-option" name="comment-option"/>
+                                                               <input 
type="hidden" value="1" name="email-opt"/>
+                                                               <input 
type="hidden" value="@token" name="token"/>
+                                                               <input 
type="hidden" value="@order_id"  name="order_id"/>
+                                                               <input 
type="hidden" value="@numAttempt" name="numAttempt"/>
+                                                               <input 
type="hidden" value="@contribution_tracking_id" 
name="contribution_tracking_id"/>
+                                                               <input 
type="hidden" value="@data_hash" name="data_hash"/>
+                                                               <input 
type="hidden" value="@owa_session" name="owa_session"/>
+                                                               <input 
type="hidden" value="@owa_ref" name="owa_ref"/>
+                                                               <!-- new 
required fields -->
+                                                               <input 
type="hidden" value="@gateway" name="gateway"/>
+                                                               <input 
type="hidden" value="@payment_method" name="payment_method"/>
+                                                               <!-- required 
fields for bt and dd -->
+                                                               <input 
type="hidden" value="bt" name="payment_method"/>
+                                                               <input 
type="hidden" value="bt" name="payment_submethod"/>
+                                                       </form>
+                                                       <div id="where-content">
+                                                               
{{LanguageSwitch|2011FR/core-appeal-whitebox-nodiv|@language}}
+                                                       </div>
+                                               </div>
+                                       </div>
+                                       <p 
id="informationsharing">%donate_interface-informationsharing|url%</p>
+                                       <!-- TODO: links inside the message or 
not? -->
+                                       <ul id="moreinfolinks">
+                                               <li><a 
href="http://wikimediafoundation.org/wiki/Monthly_donations/en/US";>%donate_interface-monthly-donation%</a></li><!--
 TODO: localize the link -->
+                                               
<li>%donate_interface-otherways-short|url%</li><!-- TODO: localize the link -->
+                                               <li><a 
href="http://wikimediafoundation.org/wiki/FAQ/en";>%donate_interface-faqs%</a></li><!--
 TODO: localize the link -->
+                                               <!--<li><a 
href="">%donate_interface-tax-info%</a></li>--><!-- TODO: localize the link -->
+                                       </ul>
+                               </div>
+                       </td>
+               </tr>
+       </table>
+
+
+
+</div>
+
+<!-- Wikimedia Project logo
+<li id="footer-copyrightico"><a href="//wikimediafoundation.org/"><img 
src="//bits.wikimedia.org/images/wikimedia-button.png" width="88" height="31" 
alt="Wikimedia Foundation"/></a></li> 
+ -->


Property changes on: 
trunk/extensions/DonationInterface/globalcollect_gateway/forms/html/bt/bt.html
___________________________________________________________________
Added: svn:eol-style
   + native

Added: 
trunk/extensions/DonationInterface/globalcollect_gateway/forms/html/webitects2nd.html
===================================================================
--- 
trunk/extensions/DonationInterface/globalcollect_gateway/forms/html/webitects2nd.html
                               (rev 0)
+++ 
trunk/extensions/DonationInterface/globalcollect_gateway/forms/html/webitects2nd.html
       2011-11-06 04:21:21 UTC (rev 102152)
@@ -0,0 +1,134 @@
+<script type="text/javascript">
+       mw.loader.load('gc.form.rapidhtml.webitects.2nd');
+       // these must go through RapidHTML and thus are inline
+       var amountErrors = 
['#general|escape','#retryMsg|escape','#amount|escape'];
+       var billingErrors = 
['#fname|escape','#lname|escape','#city|escape','#country|escape','#street|escape','#state|escape','#zip|escape','#emailAdd|escape'];
+       var paymentErrors = 
['#card_num|escape','#card_type|escape','#cvv|escape'];
+       var actionURL = "@action";
+       var scriptPath = "@script_path";
+</script>
+<!--[if lt IE 7]>
+<script type="text/javascript">
+       mw.loader.load('gc.form.rapidhtml.webitects.ie6');
+</script>
+<style type="text/css">
+       body{
+               behavior: url("@script_path/skins/vector/csshover.min.htc");
+       }
+</style><![endif]-->
+<!--[if IE 7]>
+<style>
+       .gainlayout {
+               zoom: 1;
+               height: 1%;
+       }
+</style>
+<![endif]-->
+
+<div class="ltr">
+       <table id="layouttable">
+               <tr>
+                       <td>
+                               <div id="appeal">
+                                       <div id="appeal-content">
+                                               <h2 id="appeal-head"> <span 
class="mw-headline">{{LanguageSwitch|2011FR/@appeal-title|@language}}</span></h2>
+                                               <div id="appeal-body" 
class="plainlinks">{{LanguageSwitch|2011FR/@appeal|@language}}</div>
+                                       </div>
+                               </div>
+                       </td>
+                       <td>
+                               <div id="donate">
+                                       <div id="donate-content">
+                                               <div id="donate-body" 
style="padding: 0 1em;">
+                                                       <form method="post" 
name="paypalcontribution">
+                                                               <div 
id="step1header"><h3>%donate_interface-amount-legend% <span 
id="selected-amount">@amount @currency_code</span></h3></div>
+                                                               <div 
id="step2header"><h3>%donate_interface-billing-address% <span class="mute" 
id="change-billing" style="display: none;">(<a 
href="#">%donate_interface-change%</a>)</span></h3></div>
+                                                               <div 
id="step2wrapper">
+                                                                       <div 
id="billing-content" class="gainlayout">
+                                                                               
<div id="billingErrorMessages" class="small"></div>
+                                                                               
<div class="name-fields">
+                                                                               
        <span class="name-first"><input class="txt" id="fname" name="fname" 
title="%donate_interface-donor-fname%" value="@fname" 
placeholder="%donate_interface-donor-fname%"/></span>
+                                                                               
        <span class="name-last"><input class="txt" id="lname" name="lname" 
title="%donate_interface-donor-lname%" value="@lname" 
placeholder="%donate_interface-donor-lname%"/></span>
+                                                                               
</div>
+                                                                               
<div class="loc-fields">
+                                                                               
        <span class="loc-street"><input class="txt" id="street" name="street" 
title="%donate_interface-donor-street%" value="@street" 
placeholder="%donate_interface-donor-street%"/></span>
+                                                                               
        <span class="loc-city"><input class="txt" id="city" name="city" 
title="%donate_interface-donor-city%" value="@city" 
placeholder="%donate_interface-donor-city%"/></span>
+                                                                               
        <span class="loc-state">
+                                                                               
        <select id="state" name="state" class="txt" value="@state" >
+                                                                               
                <option value=""></option>
+                                                                               
                <option value="AK">AK</option><option 
value="AL">AL</option><option value="AR">AR</option><option 
value="AZ">AZ</option><option value="CA">CA</option><option 
value="CO">CO</option><option value="CT">CT</option><option 
value="DC">DC</option><option value="DE">DE</option><option 
value="FL">FL</option><option value="GA">GA</option><option 
value="HI">HI</option><option value="IA">IA</option><option 
value="ID">ID</option><option value="IL">IL</option><option 
value="IN">IN</option><option value="KS">KS</option><option 
value="KY">KY</option><option value="LA">LA</option><option 
value="MA">MA</option><option value="MD">MD</option><option 
value="ME">ME</option><option value="MI">MI</option><option 
value="MN">MN</option><option value="MO">MO</option><option 
value="MS">MS</option><option value="MT">MT</option><option 
value="NC">NC</option><option value="ND">ND</option><option 
value="NE">NE</option><option value="NH">NH</option><option 
value="NJ">NJ</option><option value="NM">NM</option><option 
value="NV">NV</option><option value="NY">NY</option><option 
value="OH">OH</option><option value="OK">OK</option><option 
value="OR">OR</option><option value="PA">PA</option><option 
value="PR">PR</option><option value="RI">RI</option><option 
value="SC">SC</option><option value="SD">SD</option><option 
value="TN">TN</option><option value="TX">TX</option><option 
value="UT">UT</option><option value="VA">VA</option><option 
value="VT">VT</option><option value="WA">WA</option><option 
value="WI">WI</option><option value="WV">WV</option><option 
value="WY">WY</option><option value="AA">AA</option><option 
value="AE">AE</option><option value="AP">AP</option>
+                                                                               
        </select>
+                                                                               
        </span>
+                                                                               
        <span class="loc-postal"><input class="txt" id="zip" name="zip" 
title="%donate_interface-zip%" value="@zip" 
placeholder="%donate_interface-donor-zip%"/></span> <!-- TODO: use postal code 
on non-US -->
+                                                                               
</div>
+                                                                               
<p><input class="txt" title="%donate_interface-donor-email%" id="emailAdd" 
name="emailAdd" value="@emailAdd" 
placeholder="%donate_interface-donor-email%"/></p>
+
+                                                                               
<dl class="">
+                                                                               
        <dt><span id="select-credit-card" 
class="label">%donate_interface-select-credit-card%</span></dt>
+                                                                               
        <dd class="field" style="margin-bottom: 0;">
+                                                                               
                <ul class="options-h" id="cards" style="margin: 0;">
+                                                                               
                        <li><input id="cc-visa" name="cardtype" type="radio" 
value="visa" class="cardradio" /> <label for="cc-visa"><img alt="Visa" 
src="@script_path/extensions/DonationInterface/gateway_forms/includes/card-visa.png"
 /></label></li>
+                                                                               
                        <li><input id="cc-mastercard" name="cardtype" 
type="radio" value="mastercard" class="cardradio" /> <label 
for="cc-mastercard"><img alt="MasterCard" 
src="@script_path/extensions/DonationInterface/gateway_forms/includes/card-mastercard.png"
 /></label></li>
+                                                                               
                        <!--<li><input id="cc-amex" name="cardtype" 
type="radio" value="american" class="cardradio" /> <label for="cc-amex"><img 
alt="American Express" 
src="@script_path/extensions/DonationInterface/gateway_forms/includes/card-amex.png"
 /></label></li>-->
+                                                                               
                        <!--<li><input id="cc-discover" name="cardtype" 
type="radio" value="discover" class="cardradio" /> <label 
for="cc-discover"><img alt="Discover" 
src="@script_path/extensions/DonationInterface/gateway_forms/includes/card-discover.png"
 /></label></li>-->
+                                                                               
                </ul>
+                                                                               
                <div id="paymentContinue" style="margin-top: 10px; display: 
none;"> <input class="btn" id="paymentContinueBtn" type="button" 
value="%donate_interface-continue%" /></div>
+                                                                               
        </dd>
+                                                                               
</dl>
+                                                                       </div>
+                                                               </div>
+                                                               <div 
id="step3header"><h3>%donate_interface-cc-form-header-payment% <span 
class="mute" id="change-payment" style="display: none;">(<a 
href="#">%donate_interface-change%</a>)</span></h3></div>
+                                                               <div 
id="step3wrapper" style="display: none;">
+                                                                       <div 
id="payment" class="gainlayout" style="height:314px;text-align:center;"></div>
+                                                               </div>
+
+                                                               <input 
type="hidden" name="returnto" value="Thank_You/en" />
+                                                               <input 
type="hidden" value="0" name="PaypalRedirect" id="PaypalRedirect">
+
+                                                               <input 
type="hidden" value="@amount" name="amount" />
+                                                               <input 
type="hidden" value="@country" name="country" id="country" />
+                                                               <input 
type="hidden" value="@currency_code" name="currency_code" />
+                                                               <input 
type="hidden" value="@utm_source" name="utm_source"/>
+                                                               <input 
type="hidden" value="@utm_medium" name="utm_medium"/>
+                                                               <input 
type="hidden" value="@utm_campaign" name="utm_campaign"/>
+                                                               <input 
type="hidden" value="@language" name="language"/>
+                                                               <input 
type="hidden" value="@referrer" name="referrer"/>
+                                                               <input 
type="hidden" value="@comment" name="comment"/>
+                                                               <input 
type="hidden" value="@comment-option" name="comment-option"/>
+                                                               <input 
type="hidden" value="1" name="email-opt"/>
+                                                               <input 
type="hidden" value="@token" name="token"/>
+                                                               <input 
type="hidden" value="@order_id"  name="order_id"/>
+                                                               <input 
type="hidden" value="@numAttempt" name="numAttempt"/>
+                                                               <input 
type="hidden" value="@contribution_tracking_id" 
name="contribution_tracking_id"/>
+                                                               <input 
type="hidden" value="@data_hash" name="data_hash"/>
+                                                               <input 
type="hidden" value="@owa_session" name="owa_session"/>
+                                                               <input 
type="hidden" value="@owa_ref" name="owa_ref"/>
+                                                               <!-- new 
required fields -->
+                                                               <input 
type="hidden" value="@gateway" name="gateway"/>
+                                                               <input 
type="hidden" value="@payment_method" name="payment_method"/>
+                                                       </form>
+                                                       <div id="where-content">
+                                                               
{{LanguageSwitch|2011FR/core-appeal-whitebox-nodiv|@language}}
+                                                       </div>
+                                               </div>
+                                       </div>
+                                       <p 
id="informationsharing">%donate_interface-informationsharing|url%</p>
+                                       <!-- TODO: links inside the message or 
not? -->
+                                       <ul id="moreinfolinks">
+                                               <li><a 
href="http://wikimediafoundation.org/wiki/Monthly_donations/en/US";>%donate_interface-monthly-donation%</a></li><!--
 TODO: localize the link -->
+                                               
<li>%donate_interface-otherways-short|url%</li><!-- TODO: localize the link -->
+                                               <li><a 
href="http://wikimediafoundation.org/wiki/FAQ/en";>%donate_interface-faqs%</a></li><!--
 TODO: localize the link -->
+                                               <!--<li><a 
href="">%donate_interface-tax-info%</a></li>--><!-- TODO: localize the link -->
+                                       </ul>
+                               </div>
+                       </td>
+               </tr>
+       </table>
+
+
+
+</div>
+
+<!-- Wikimedia Project logo
+<li id="footer-copyrightico"><a href="//wikimediafoundation.org/"><img 
src="//bits.wikimedia.org/images/wikimedia-button.png" width="88" height="31" 
alt="Wikimedia Foundation"/></a></li> 
+ -->


Property changes on: 
trunk/extensions/DonationInterface/globalcollect_gateway/forms/html/webitects2nd.html
___________________________________________________________________
Added: svn:eol-style
   + native

Modified: 
trunk/extensions/DonationInterface/globalcollect_gateway/forms/html/webitects_2_3step-CA.html
===================================================================
--- 
trunk/extensions/DonationInterface/globalcollect_gateway/forms/html/webitects_2_3step-CA.html
       2011-11-06 04:15:29 UTC (rev 102151)
+++ 
trunk/extensions/DonationInterface/globalcollect_gateway/forms/html/webitects_2_3step-CA.html
       2011-11-06 04:21:21 UTC (rev 102152)
@@ -1,5 +1,5 @@
 <script type="text/javascript">
-       mw.loader.load('gc.form.rapidhtml.webitects');
+       mw.loader.load('gc.form.rapidhtml.webitects.1st');
        // these must go through RapidHTML and thus are inline
        var amountErrors = 
['#general|escape','#retryMsg|escape','#amount|escape'];
        var billingErrors = 
['#fname|escape','#lname|escape','#city|escape','#country|escape','#street|escape','#state|escape','#zip|escape','#emailAdd|escape'];

Modified: 
trunk/extensions/DonationInterface/globalcollect_gateway/forms/html/webitects_2_3step.html
===================================================================
--- 
trunk/extensions/DonationInterface/globalcollect_gateway/forms/html/webitects_2_3step.html
  2011-11-06 04:15:29 UTC (rev 102151)
+++ 
trunk/extensions/DonationInterface/globalcollect_gateway/forms/html/webitects_2_3step.html
  2011-11-06 04:21:21 UTC (rev 102152)
@@ -1,5 +1,5 @@
 <script type="text/javascript">
-       mw.loader.load('gc.form.rapidhtml.webitects');
+       mw.loader.load('gc.form.rapidhtml.webitects.1st');
        // these must go through RapidHTML and thus are inline
        var amountErrors = 
['#general|escape','#retryMsg|escape','#amount|escape'];
        var billingErrors = 
['#fname|escape','#lname|escape','#city|escape','#country|escape','#street|escape','#state|escape','#zip|escape','#emailAdd|escape'];

Added: 
trunk/extensions/DonationInterface/globalcollect_gateway/forms/js/webitects.bt.js
===================================================================
--- 
trunk/extensions/DonationInterface/globalcollect_gateway/forms/js/webitects.bt.js
                           (rev 0)
+++ 
trunk/extensions/DonationInterface/globalcollect_gateway/forms/js/webitects.bt.js
   2011-11-06 04:21:21 UTC (rev 102152)
@@ -0,0 +1,47 @@
+
+$( document ).ready( function () {
+
+       // check for RapidHtml errors and display, if any
+       var amountErrorString = "",
+               billingErrorString = "",
+               paymentErrorString = "";
+
+       // generate formatted errors to display
+       var temp = [];
+       for ( var e in amountErrors )
+               if ( amountErrors[e] != "" )
+                       temp[temp.length] = amountErrors[e];
+       amountErrorString = temp.join( "<br />" );
+
+       temp = [];
+       for ( var f in billingErrors )
+               if ( billingErrors[f] != "" )
+                       temp[temp.length] = billingErrors[f];
+       billingErrorString = temp.join( "<br />" );
+
+       temp = [];
+       for ( var g in paymentErrors )
+               if ( paymentErrors[g] != "" )
+                       temp[temp.length] = paymentErrors[g];
+       paymentErrorString = temp.join( "<br />" );
+
+       // show the errors
+       var prevError = false;
+       if ( amountErrorString != "" ) {
+               $( "#amtErrorMessages" ).html( amountErrorString );
+       }
+       if ( billingErrorString != "" ) {
+               $( "#billingErrorMessages" ).html( billingErrorString );
+               showAmount( $( 'input[name="amount"]' ) ); // lets go ahead and 
assume there is something to show
+       }
+       if ( paymentErrorString != "" ) {
+               $( "#paymentErrorMessages" ).html( paymentErrorString );
+               showAmount( $( 'input[name="amount"]' ) ); // lets go ahead and 
assume there is something to show
+       }
+       $( "#bt-continueBtn" ).live( "click", function() {
+               if ( validate_personal( document.paypalcontribution ) ) {
+                       document.paypalcontribution.action = actionURL;
+                       document.paypalcontribution.submit();
+               }
+       } );
+} );
\ No newline at end of file


Property changes on: 
trunk/extensions/DonationInterface/globalcollect_gateway/forms/js/webitects.bt.js
___________________________________________________________________
Added: svn:eol-style
   + native

Added: 
trunk/extensions/DonationInterface/globalcollect_gateway/forms/js/webitects.js
===================================================================
--- 
trunk/extensions/DonationInterface/globalcollect_gateway/forms/js/webitects.js  
                            (rev 0)
+++ 
trunk/extensions/DonationInterface/globalcollect_gateway/forms/js/webitects.js  
    2011-11-06 04:21:21 UTC (rev 102152)
@@ -0,0 +1,131 @@
+
+window.displayCreditCardForm = function() {
+       $( '#payment' ).empty();
+       // Load wait spinner
+       $( '#payment' ).append( '<br/><br/><br/><img alt="loading" 
src="'+mw.config.get( 'wgScriptPath' 
)+'/extensions/DonationInterface/gateway_forms/includes/loading-white.gif" />' 
);
+       showStep3(); // Open the 3rd section
+       var language = 'en'; // default value is English
+       var matches = document.location.href.match(/uselang=(\w+)/i); // fine 
the real language
+       if ( matches && matches[1] ) {
+               language = matches[1];
+       }
+       var sendData = {
+               'action': 'donate',
+               'gateway': 'globalcollect',
+               'currency': $( "input[name='currency_code']" ).val(),
+               'amount': $( "input[name='amount']" ).val(),
+               'fname': $( "input[name='fname']" ).val(),
+               'lname': $( "input[name='lname']" ).val(),
+               'street': $( "input[name='street']" ).val(),
+               'city': $( "input[name='city']" ).val(),
+               'state': $( "input[name='state']" ).val(),
+               'zip': $( "input[name='zip']" ).val(),
+               'emailAdd': $( "input[name='emailAdd']" ).val(),
+               'country': $( "input[name='country']" ).val(),
+               'payment_method': 'cc',
+               'language': language,
+               'card_type': $( "input[name='cardtype']:checked" 
).val().toLowerCase(),
+               'contribution_tracking_id': $( 
"input[name='contribution_tracking_id']" ).val(),
+               'numAttempt': $( "input[name='numAttempt']" ).val(),
+               'utm_source': $( "input[name='utm_source']" ).val(),
+               'utm_campaign': $( "input[name='utm_campaign']" ).val(),
+               'utm_medium': $( "input[name='utm_medium']" ).val(),
+               'format': 'json'
+       };
+       $.ajax( {
+               'url': mw.config.get( 'wgServer' ) + mw.config.get( 
'wgScriptPath' ) + '/api.php?',
+               'data': sendData,
+               'dataType': 'json',
+               'type': 'GET',
+               'success': function( data ) {
+                       if ( typeof data.result !== 'undefined' ) {
+                               if ( data.result.errors ) {
+                                       var errors = new Array();
+                                       $.each( data.result.errors, function( 
index, value ) {
+                                               alert( value ); // Show them 
the error
+                                               $( "#paymentContinue" ).show(); 
// Show continue button in 2nd section
+                                               showStep2(); // Switch back to 
2nd section of form
+                                       } );
+                               } else {
+                                       if ( data.result.formaction ) {
+                                               $( '#payment' ).empty();
+                                               // Insert the iframe into the 
form
+                                               $( '#payment' ).append(
+                                                       '<iframe 
src="'+data.result.formaction+'" width="318" height="314" 
frameborder="0"></iframe>'
+                                               );
+
+                                       }
+                               }
+                       }
+               }
+       } );
+}
+
+
+// set the hidden amount input to the value of the selected element
+window.setAmount = function( e ) {
+       $( 'input[name="amount"]' ).val( e.val() );
+}
+// Display selected amount
+window.showAmount = function( e ) {
+       $( "#selected-amount" ).html( "($" + e.val() + ")" );
+       $( "#change-amount" ).show();
+}
+window.validateAmount = function() {
+
+       // TODO: THIS NEEDS TO BE REPLACED WITH KALDARI'S CURRENCIES
+       var minimums = {
+               'USD' : 1,
+               'CAD' : 1
+       };
+       var error = true;
+       var amount = $( 'input[name="amount"]' ).val(); // get the amount
+       amount = amount.replace( /[,.](\d)$/, '\:$10' );
+       amount = amount.replace( /[,.](\d)(\d)$/, '\:$1$2' );
+       amount = amount.replace( /[,.]/g, '' );
+       amount = amount.replace( /:/, '.' );
+       $( 'input[name="amount"]' ).val( amount ); // set the new amount back 
into the form
+
+       // Check amount is a real number, sets error as true (good) if no issues
+       error = ( amount == null || isNaN( amount ) || amount.value <= 0 );
+
+       // Check amount is at least the minimum
+       var currency_code = $( 'input[name="currency_code"]' ).val();
+       if ( typeof( minimums[currency_code] ) == 'undefined' ) {
+               minimums[currency_code] = 1;
+       }
+       if ( amount < minimums[currency_code] || error ) {
+               alert( 'You must contribute at least $1'.replace( '$1', 
minimums[currency_code] + ' ' + currency_code ) );
+               error = true;
+       }
+       return !error;
+}
+
+window.validate_cc = function() {
+       // reset the errors
+       $( "#paymentErrorMessages" ).html( '' );
+       var error = false;
+       if ( $( 'input[name="card_num"]' ).val() == '' ) {
+               $( "#paymentErrorMessages" ).append( "Please enter a valid 
credit card number" );
+               error = true;
+       }
+       if ( $( 'select[name="mos"]' ).val() == '' ) {
+               if ( $( "#paymentErrorMessages" ).html() != "" )
+                       $( "#paymentErrorMessages" ).append( "<br />" );
+               $( "#paymentErrorMessages" ).append( "Please enter a valid 
month for the expiration date" );
+               error = true;
+       }
+       if ( $( 'select[name="year"]' ).val() == '' ) {
+               if ( $( "#paymentErrorMessages" ).html() != "" )
+                       $( "#paymentErrorMessages" ).append( "<br />" );
+               $( "#paymentErrorMessages" ).append( "Please enter a valid year 
for the expiration date" );
+               error = true;
+       }
+       if ( $( 'input[name="cvv"]' ).val() == '' ) {
+               if ( $( "#paymentErrorMessages" ).html() != "" )
+                       $( "#paymentErrorMessages" ).append( "<br />" );
+               $( "#paymentErrorMessages" ).append( "Please enter a valid 
security code" );
+               error = true;
+       }
+       return !error;
+}
\ No newline at end of file


Property changes on: 
trunk/extensions/DonationInterface/globalcollect_gateway/forms/js/webitects.js
___________________________________________________________________
Added: svn:eol-style
   + native

Modified: 
trunk/extensions/DonationInterface/globalcollect_gateway/forms/js/webitects_2_3step.js
===================================================================
--- 
trunk/extensions/DonationInterface/globalcollect_gateway/forms/js/webitects_2_3step.js
      2011-11-06 04:15:29 UTC (rev 102151)
+++ 
trunk/extensions/DonationInterface/globalcollect_gateway/forms/js/webitects_2_3step.js
      2011-11-06 04:21:21 UTC (rev 102152)
@@ -138,69 +138,7 @@
 
 } );
 
-function displayCreditCardForm() {
-       $( '#payment' ).empty();
-       // Load wait spinner
-       $( '#payment' ).append( '<br/><br/><br/><img alt="loading" 
src="'+mw.config.get( 'wgScriptPath' 
)+'/extensions/DonationInterface/gateway_forms/includes/loading-white.gif" />' 
);
-       showStep3(); // Open the 3rd section
-       var language = 'en'; // default value is English
-       var matches = document.location.href.match(/uselang=(\w+)/i); // fine 
the real language
-       if ( matches && matches[1] ) {
-               language = matches[1];
-       }
-       var sendData = {
-               'action': 'donate',
-               'gateway': 'globalcollect',
-               'currency': $( "input[name='currency_code']" ).val(),
-               'amount': $( "input[name='amount']" ).val(),
-               'fname': $( "input[name='fname']" ).val(),
-               'lname': $( "input[name='lname']" ).val(),
-               'street': $( "input[name='street']" ).val(),
-               'city': $( "input[name='city']" ).val(),
-               'state': $( "input[name='state']" ).val(),
-               'zip': $( "input[name='zip']" ).val(),
-               'emailAdd': $( "input[name='emailAdd']" ).val(),
-               'country': $( "input[name='country']" ).val(),
-               'payment_method': 'cc',
-               'language': language,
-               'card_type': $( "input[name='cardtype']:checked" 
).val().toLowerCase(),
-               'contribution_tracking_id': $( 
"input[name='contribution_tracking_id']" ).val(),
-               'numAttempt': $( "input[name='numAttempt']" ).val(),
-               'utm_source': $( "input[name='utm_source']" ).val(),
-               'utm_campaign': $( "input[name='utm_campaign']" ).val(),
-               'utm_medium': $( "input[name='utm_medium']" ).val(),
-               'format': 'json'
-       };
-       $.ajax( {
-               'url': mw.config.get( 'wgServer' ) + mw.config.get( 
'wgScriptPath' ) + '/api.php?',
-               'data': sendData,
-               'dataType': 'json',
-               'type': 'GET',
-               'success': function( data ) {
-                       if ( typeof data.result !== 'undefined' ) {
-                               if ( data.result.errors ) {
-                                       var errors = new Array();
-                                       $.each( data.result.errors, function( 
index, value ) {
-                                               alert( value ); // Show them 
the error
-                                               $( "#paymentContinue" ).show(); 
// Show continue button in 2nd section
-                                               showStep2(); // Switch back to 
2nd section of form
-                                       } );
-                               } else {
-                                       if ( data.result.formaction ) {
-                                               $( '#payment' ).empty();
-                                               // Insert the iframe into the 
form
-                                               $( '#payment' ).append( 
-                                                       '<iframe 
src="'+data.result.formaction+'" width="318" height="314" 
frameborder="0"></iframe>'
-                                               );
-                                               
-                                       }
-                               }
-                       }
-               }
-       } );
-}
-
-function showStep1() {
+window.showStep1 = function() {
        // show the correct sections
        $( "#step1wrapper" ).slideDown();
        $( "#step2wrapper" ).slideUp();
@@ -211,7 +149,7 @@
        $( "#step1header" ).show(); // just in case
 }
 
-function showStep2() {
+window.showStep2 = function() {
        if ( $( '#step3wrapper' ).is(":visible") ) {
                $( "#paymentContinue" ).show(); // Show continue button in 2nd 
section
        }
@@ -225,7 +163,7 @@
        $( "#step2header" ).show(); // just in case
 }
 
-function showStep3() {
+window.showStep3 = function() {
        // show the correct sections
        $( "#step1wrapper" ).slideUp();
        $( "#step2wrapper" ).slideUp();
@@ -238,71 +176,3 @@
 // Fix behavior of images in labels
 // TODO: check that disabling this is okay in things other than Chrome
 // $("label img").live("click", function() { $("#" + $(this).parents( "label" 
).attr( "for" )).click(); });
-
-// set the hidden amount input to the value of the selected element
-function setAmount( e ) {
-       $( 'input[name="amount"]' ).val( e.val() );
-}
-// Display selected amount
-function showAmount( e ) {
-       $( "#selected-amount" ).html( "($" + e.val() + ")" );
-       $( "#change-amount" ).show();
-}
-function validateAmount() {
-
-       // TODO: THIS NEEDS TO BE REPLACED WITH KALDARI'S CURRENCIES
-       var minimums = {
-               'USD' : 1,
-               'CAD' : 1
-       };
-       var error = true;
-       var amount = $( 'input[name="amount"]' ).val(); // get the amount
-       amount = amount.replace( /[,.](\d)$/, '\:$10' );
-       amount = amount.replace( /[,.](\d)(\d)$/, '\:$1$2' );
-       amount = amount.replace( /[,.]/g, '' );
-       amount = amount.replace( /:/, '.' );
-       $( 'input[name="amount"]' ).val( amount ); // set the new amount back 
into the form
-
-       // Check amount is a real number, sets error as true (good) if no issues
-       error = ( amount == null || isNaN( amount ) || amount.value <= 0 );
-
-       // Check amount is at least the minimum
-       var currency_code = $( 'input[name="currency_code"]' ).val();
-       if ( typeof( minimums[currency_code] ) == 'undefined' ) {
-               minimums[currency_code] = 1;
-       }
-       if ( amount < minimums[currency_code] || error ) {
-               alert( 'You must contribute at least $1'.replace( '$1', 
minimums[currency_code] + ' ' + currency_code ) );
-               error = true;
-       }
-       return !error;
-}
-
-function validate_cc() {
-       // reset the errors
-       $( "#paymentErrorMessages" ).html( '' );
-       var error = false;
-       if ( $( 'input[name="card_num"]' ).val() == '' ) {
-               $( "#paymentErrorMessages" ).append( "Please enter a valid 
credit card number" );
-               error = true;
-       }
-       if ( $( 'select[name="mos"]' ).val() == '' ) {
-               if ( $( "#paymentErrorMessages" ).html() != "" )
-                       $( "#paymentErrorMessages" ).append( "<br />" );
-               $( "#paymentErrorMessages" ).append( "Please enter a valid 
month for the expiration date" );
-               error = true;
-       }
-       if ( $( 'select[name="year"]' ).val() == '' ) {
-               if ( $( "#paymentErrorMessages" ).html() != "" )
-                       $( "#paymentErrorMessages" ).append( "<br />" );
-               $( "#paymentErrorMessages" ).append( "Please enter a valid year 
for the expiration date" );
-               error = true;
-       }
-       if ( $( 'input[name="cvv"]' ).val() == '' ) {
-               if ( $( "#paymentErrorMessages" ).html() != "" )
-                       $( "#paymentErrorMessages" ).append( "<br />" );
-               $( "#paymentErrorMessages" ).append( "Please enter a valid 
security code" );
-               error = true;
-       }
-       return !error;
-}


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

Reply via email to