r102243 MediaWiki - Code Review archive

Repository:MediaWiki
Revision:r102242‎ | r102243 | r102244 >
Date:03:31, 7 November 2011
Author:awjrichards
Status:deferred
Tags:
Comment:
Modified paths:
  • /branches/fundraising/deployment/payments_1.17/extensions/DonationInterface (modified) (history)
  • /branches/fundraising/deployment/payments_1.17/extensions/DonationInterface/donationinterface.php (modified) (history)
  • /branches/fundraising/deployment/payments_1.17/extensions/DonationInterface/gateway_common/DonationData.php (modified) (history)
  • /branches/fundraising/deployment/payments_1.17/extensions/DonationInterface/gateway_common/GatewayForm.php (modified) (history)
  • /branches/fundraising/deployment/payments_1.17/extensions/DonationInterface/gateway_common/countries.i18n.php (modified) (history)
  • /branches/fundraising/deployment/payments_1.17/extensions/DonationInterface/gateway_forms (modified) (history)
  • /branches/fundraising/deployment/payments_1.17/extensions/DonationInterface/gateway_forms/Form.php (modified) (history)
  • /branches/fundraising/deployment/payments_1.17/extensions/DonationInterface/gateway_forms/RapidHtml.php (modified) (history)
  • /branches/fundraising/deployment/payments_1.17/extensions/DonationInterface/gateway_forms/rapidhtml/RapidHtmlResources.php (modified) (history)
  • /branches/fundraising/deployment/payments_1.17/extensions/DonationInterface/gateway_forms/rapidhtml/css/webitects.css (modified) (history)
  • /branches/fundraising/deployment/payments_1.17/extensions/DonationInterface/gateway_forms/rapidhtml/html/webitects_1.html (modified) (history)
  • /branches/fundraising/deployment/payments_1.17/extensions/DonationInterface/gateway_forms/rapidhtml/html/webitects_1a.html (modified) (history)
  • /branches/fundraising/deployment/payments_1.17/extensions/DonationInterface/gateway_forms/rapidhtml/html/webitects_2.html (modified) (history)
  • /branches/fundraising/deployment/payments_1.17/extensions/DonationInterface/gateway_forms/rapidhtml/js/lightbox1.js (modified) (history)
  • /branches/fundraising/deployment/payments_1.17/extensions/DonationInterface/globalcollect_gateway/forms/html/bt/bt-CA.html (modified) (history)
  • /branches/fundraising/deployment/payments_1.17/extensions/DonationInterface/globalcollect_gateway/forms/html/bt/bt-US.html (modified) (history)
  • /branches/fundraising/deployment/payments_1.17/extensions/DonationInterface/globalcollect_gateway/forms/html/bt/bt.html (modified) (history)
  • /branches/fundraising/deployment/payments_1.17/extensions/DonationInterface/globalcollect_gateway/forms/html/webitects2nd.html (modified) (history)
  • /branches/fundraising/deployment/payments_1.17/extensions/DonationInterface/globalcollect_gateway/forms/html/webitects_2_3step.html (modified) (history)
  • /branches/fundraising/deployment/payments_1.17/extensions/DonationInterface/globalcollect_gateway/forms/js/lightbox1.js (modified) (history)
  • /branches/fundraising/deployment/payments_1.17/extensions/DonationInterface/globalcollect_gateway/forms/js/webitects.js (modified) (history)
  • /branches/fundraising/deployment/payments_1.17/extensions/DonationInterface/globalcollect_gateway/forms/js/webitects2nd.js (added) (history)
  • /branches/fundraising/deployment/payments_1.17/extensions/DonationInterface/globalcollect_gateway/forms/js/webitects_2_3step.js (modified) (history)
  • /branches/fundraising/deployment/payments_1.17/extensions/DonationInterface/globalcollect_gateway/globalcollect_gateway.body.php (modified) (history)
  • /branches/fundraising/deployment/payments_1.17/extensions/DonationInterface/globalcollect_gateway/globalcollect_gateway.i18n.php (modified) (history)
  • /branches/fundraising/deployment/payments_1.17/extensions/DonationInterface/modules/validate.currencyMinimums.js (added) (history)
  • /branches/fundraising/deployment/payments_1.17/extensions/DonationInterface/modules/validate_input.js (added) (history)
  • /branches/fundraising/deployment/payments_1.17/extensions/DonationInterface/payflowpro_gateway (modified) (history)
  • /branches/fundraising/deployment/payments_1.17/extensions/DonationInterface/payflowpro_gateway/forms (modified) (history)
  • /branches/fundraising/deployment/payments_1.17/extensions/DonationInterface/payflowpro_gateway/forms/html/webitects_2_2step-CA.html (modified) (history)
  • /branches/fundraising/deployment/payments_1.17/extensions/DonationInterface/payflowpro_gateway/forms/html/webitects_2_2step-US.html (modified) (history)
  • /branches/fundraising/deployment/payments_1.17/extensions/DonationInterface/payflowpro_gateway/forms/html/webitects_2_3step-CA.html (modified) (history)
  • /branches/fundraising/deployment/payments_1.17/extensions/DonationInterface/payflowpro_gateway/forms/html/webitects_2_3step-US.html (modified) (history)
  • /branches/fundraising/deployment/payments_1.17/extensions/DonationInterface/payflowpro_gateway/forms/html/webitects_2_3step.html (modified) (history)
  • /branches/fundraising/deployment/payments_1.17/extensions/DonationInterface/payflowpro_gateway/forms/js/lightbox1.js (modified) (history)
  • /branches/fundraising/deployment/payments_1.17/extensions/DonationInterface/payflowpro_gateway/forms/js/webitects_2_2step.js (modified) (history)
  • /branches/fundraising/deployment/payments_1.17/extensions/DonationInterface/payflowpro_gateway/forms/js/webitects_2_3step.js (modified) (history)
  • /branches/fundraising/deployment/payments_1.17/extensions/DonationInterface/payflowpro_gateway/payflowpro_gateway.i18n.php (modified) (history)
  • /branches/fundraising/deployment/payments_1.17/extensions/DonationInterface/payflowpro_gateway/validate_input.js (deleted) (history)

Diff [purge]

Index: branches/fundraising/deployment/payments_1.17/extensions/DonationInterface/donationinterface.php
@@ -622,20 +622,26 @@
623623 )
624624 );
625625
 626+// minimum amounts for all currencies
 627+$wgResourceModules[ 'di.form.core.minimums' ] = array(
 628+ 'scripts' => 'validate.currencyMinimums.js',
 629+ 'localBasePath' => $donationinterface_dir . 'modules',
 630+ 'remoteExtPath' => 'DonationInterface/modules'
 631+);
 632+
626633 // form validation resource
627 -//TODO: Move this somewhere gateway-agnostic.
628 -$wgResourceModules[ 'pfp.form.core.validate' ] = array(
 634+$wgResourceModules[ 'di.form.core.validate' ] = array(
629635 'scripts' => 'validate_input.js',
630 - 'dependencies' => array( 'pfp.form.core.pfp_css', 'ext.donationInterface.errorMessages' ),
631 - 'localBasePath' => $donationinterface_dir . 'payflowpro_gateway',
632 - 'remoteExtPath' => 'DonationInterface/payflowpro_gateway'
 636+ 'dependencies' => array( 'pfp.form.core.pfp_css', 'di.form.core.minimums', 'ext.donationInterface.errorMessages' ),
 637+ 'localBasePath' => $donationinterface_dir . 'modules',
 638+ 'remoteExtPath' => 'DonationInterface/modules'
633639 );
634640
635641 // form placeholders
636642 //TODO: Move this somewhere gateway-agnostic.
637643 $wgResourceModules[ 'pfp.form.core.placeholders' ] = array(
638644 'scripts' => 'form_placeholders.js',
639 - 'dependencies' => 'pfp.form.core.validate',
 645+ 'dependencies' => 'di.form.core.validate',
640646 'messages' => array(
641647 'donate_interface-donor-fname',
642648 'donate_interface-donor-lname',
@@ -660,7 +666,7 @@
661667 // TowStepTwoColumnLetter3
662668 $wgResourceModules[ 'pfp.form.TwoStepTwoColumnLetter3' ] = array(
663669 'styles' => 'css/TwoStepTwoColumnLetter3.css',
664 - 'dependencies' => 'pfp.form.core.validate',
 670+ 'dependencies' => 'di.form.core.validate',
665671 ) + $wgResourceTemplate;
666672
667673 // API JS
Index: branches/fundraising/deployment/payments_1.17/extensions/DonationInterface/payflowpro_gateway/validate_input.js
@@ -1,203 +0,0 @@
2 -window.addEvent = function(obj, evType, fn) {
3 - if (obj.addEventListener){
4 - obj.addEventListener(evType, fn, false);
5 - return true;
6 - } else if (obj.attachEvent){
7 - var r = obj.attachEvent("on"+evType, fn);
8 - return r;
9 - } else {
10 - return false;
11 - }
12 -};
13 -
14 -window.getIfSessionSet = function() {
15 - sajax_do_call( 'efPayflowGatewayCheckSession', [], checkSession );
16 -};
17 -
18 -window.clearField = function( field, defaultValue ) {
19 - if (field.value == defaultValue) {
20 - field.value = '';
21 - field.style.color = 'black';
22 - }
23 -};
24 -window.clearField2 = function( field, defaultValue ) {
25 - if (field.value != defaultValue) {
26 - field.value = '';
27 - field.style.color = 'black';
28 - }
29 -};
30 -
31 -window.switchToPayPal = function() {
32 - document.getElementById('payflow-table-cc').style.display = 'none';
33 - document.getElementById('payflowpro_gateway-form-submit').style.display = 'none';
34 - document.getElementById('payflowpro_gateway-form-submit-paypal').style.display = 'block';
35 -};
36 -window.switchToCreditCard = function() {
37 - document.getElementById('payflow-table-cc').style.display = 'table';
38 - document.getElementById('payflowpro_gateway-form-submit').style.display = 'block';
39 - document.getElementById('payflowpro_gateway-form-submit-paypal').style.display = 'none';
40 -};
41 -
42 -/*
43 - * Validates the personal information fields
44 - *
45 - * @input form The form containing the inputs to be checked
46 - *
47 - * @return boolean true if no errors, false otherwise (also uses an alert() to notify the user)
48 - */
49 -window.validate_personal = function( form ){
50 -
51 - // TODO: this form should only report a single error for the email address?
52 -
53 - var output = '';
54 - var currField = '';
55 - var i = 0;
56 - var fields = [ 'fname','lname','street','city','zip', 'emailAdd' ],
57 - numFields = fields.length;
58 - for( i = 0; i < numFields; i++ ) {
59 - if( document.getElementById( fields[i] ).value == '' || document.getElementById( fields[i] ).value == mw.msg( 'donate_interface-donor-'+fields[i] ) ) {
60 - currField = mw.msg( 'donate_interface-error-msg-' + fields[i] );
61 - output += mw.msg( 'donate_interface-error-msg-js' ) + ' ' + currField + '.\r\n';
62 - }
63 - }
64 - var stateField = document.getElementById( 'state' );
65 - var selectedState = stateField.options[stateField.selectedIndex].value;
66 - var countryField = document.getElementById( 'country' );
67 - if( selectedState == 'YY' || selectedState == '' ) {
68 - output += mw.msg( 'donate_interface-error-msg-js' ) + ' ' + mw.msg( 'donate_interface-state-province' ) + '.\r\n';
69 - }
70 -
71 - if( countryField.type == "select" ){ // country is a dropdown select
72 - if( countryField.options[countryField.selectedIndex].value == '' ) {
73 - output += mw.msg( 'donate_interface-error-msg-js' ) + ' ' + mw.msg( 'donate_interface-error-msg-country' ) + '.\r\n';
74 - }
75 - }
76 - else{ // country is a hidden or text input
77 - if( countryField.value == '' ) {
78 - output += mw.msg( 'donate_interface-error-msg-js' ) + ' ' + mw.msg( 'donate_interface-error-msg-country' ) + '.\r\n';
79 - }
80 - }
81 -
82 - //set state to "outside us"
83 - if ( form.country.value != 'US' ) {
84 - form.state.value = 'XX';
85 - }
86 -
87 - // validate email address
88 - var apos = form.emailAdd.value.indexOf("@");
89 - var dotpos = form.emailAdd.value.lastIndexOf(".");
90 -
91 - if( apos < 1 || dotpos-apos < 2 ) {
92 - output += mw.msg( 'donate_interface-error-msg-email' );
93 - }
94 -
95 - if( output ) {
96 - alert( output );
97 - return false;
98 - }
99 -
100 - return true;
101 -};
102 -
103 -window.validate_form = function( form ) {
104 - if( form == null ){
105 - form = document.payment
106 - }
107 -
108 - var output = '';
109 - var currField = '';
110 - var i = 0;
111 - var fields = ["emailAdd","fname","lname","street","city","zip","card_num","cvv" ],
112 - numFields = fields.length;
113 - for( i = 0; i < numFields; i++ ) {
114 - if( document.getElementById( fields[i] ).value == '' ) {
115 - currField = mw.msg( 'donate_interface-error-msg-' + fields[i] );
116 - output += mw.msg( 'donate_interface-error-msg-js' ) + ' ' + currField + '.\r\n';
117 - }
118 - }
119 - var stateField = document.getElementById( 'state' );
120 - var countryField = document.getElementById( 'country' );
121 - if( stateField.options[stateField.selectedIndex].value == 'YY' ) {
122 - output += mw.msg( 'donate_interface-error-msg-js' ) + ' ' + mw.msg( 'donate_interface-state-province' ) + '.\r\n';
123 - }
124 -
125 - if( countryField.type == "select" ){ // country is a dropdown select
126 - if( countryField.options[countryField.selectedIndex].value == '' ) {
127 - output += mw.msg( 'donate_interface-error-msg-js' ) + ' ' + mw.msg( 'donate_interface-error-msg-country' ) + '.\r\n';
128 - }
129 - }
130 - else{ // country is a hidden or text input
131 - if( countryField.value == '' ) {
132 - output += mw.msg( 'donate_interface-error-msg-js' ) + ' ' + mw.msg( 'donate_interface-error-msg-country' ) + '.\r\n';
133 - }
134 - }
135 -
136 - //set state to "outside us"
137 - if ( form.country.value != 'US' ) {
138 - form.state.value = 'XX';
139 - }
140 -
141 - // validate email address
142 - var apos = form.emailAdd.value.indexOf("@");
143 - var dotpos = form.emailAdd.value.lastIndexOf(".");
144 -
145 - if( apos < 1 || dotpos-apos < 2 ) {
146 - output += mw.msg( 'donate_interface-error-msg-email' );
147 - }
148 -
149 - if( output ) {
150 - alert( output );
151 - return false;
152 - }
153 -
154 - return true;
155 -};
156 -
157 -window.submit_form = function( ccform ) {
158 - if ( validate_form( ccform )) {
159 - // weird hack!!!!!! for some reason doing just ccform.submit() throws an error....
160 - $j(ccform).submit();
161 - }
162 - return true;
163 -};
164 -
165 -window.disableStates = function( form ) {
166 -
167 - if ( document.payment.country.value != 'US' ) {
168 - document.payment.state.value = 'XX';
169 - } else {
170 - document.payment.state.value = 'YY';
171 - }
172 -
173 - return true;
174 -};
175 -
176 -window.showCards = function() {
177 - if ( document.getElementById('four_cards') && document.getElementById('two_cards') ) {
178 - var index = document.getElementById('input_currency_code').selectedIndex;
179 - if ( document.getElementById('input_currency_code').options[index].value == 'USD' ) {
180 - document.getElementById('four_cards').style.display = 'table-row';
181 - document.getElementById('two_cards').style.display = 'none';
182 - } else {
183 - document.getElementById('four_cards').style.display = 'none';
184 - document.getElementById('two_cards').style.display = 'table-row';
185 - }
186 - }
187 -};
188 -
189 -window.cvv = '';
190 -
191 -window.PopupCVV = function() {
192 - cvv = window.open("", 'cvvhelp','scrollbars=yes,resizable=yes,width=600,height=400,left=200,top=100');
193 - cvv.document.write( payflowproGatewayCVVExplain );
194 - cvv.focus();
195 -};
196 -
197 -window.CloseCVV = function() {
198 - if (cvv) {
199 - if (!cvv.closed) cvv.close();
200 - cvv = null;
201 - }
202 -};
203 -
204 -window.onfocus = CloseCVV;
Index: branches/fundraising/deployment/payments_1.17/extensions/DonationInterface/payflowpro_gateway/forms/html/webitects_2_2step-US.html
@@ -90,7 +90,7 @@
9191
9292
9393 <!--<dl class="">-->
94 - <!--<dt><span class="label">Select credit card</span></dt>-->
 94+ <!--<dt><span class="label">%donate_interface-select-credit-card%</span></dt>-->
9595 <!--<dd class="field" style="margin-bottom: 0;">-->
9696 <!--<ul class="options-h" id="cards" style="margin: 0;">-->
9797 <!--<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>-->
@@ -102,7 +102,7 @@
103103 <!--</dl>-->
104104 </div>
105105 <!--</div>-->
106 - <!--<div id="step3header"><h3>Payment Information <span class="mute" id="change-payment" style="display: none;">(<a href="#">Change</a>)</span></h3></div>-->
 106+ <!--<div id="step3header"><h3>%donate_interface-cc-form-header-payment% <span class="mute" id="change-payment" style="display: none;">(<a href="#">Change</a>)</span></h3></div>-->
107107 <!--<div id="step3wrapper" style="display: none;">-->
108108 <div id="payment" class="gainlayout">
109109
@@ -197,13 +197,19 @@
198198 </div>
199199 </div>
200200 <p id="informationsharing">%donate_interface-informationsharing%</p>
201 - <!-- TODO: links inside the message or not? -->
202 - <ul id="moreinfolinks">
203 - <li><a href="http://wikimediafoundation.org/wiki/Monthly_donations/en/US">%donate_interface-monthly-donation%</a></li><!-- TODO: localize the link -->
204 - <li>%donate_interface-otherways-short%</li><!-- TODO: localize the link -->
205 - <li><a href="http://wikimediafoundation.org/wiki/FAQ/en">%donate_interface-faqs%</a></li><!-- TODO: localize the link -->
206 - <!--<li><a href="">%donate_interface-tax-info%</a></li>--><!-- TODO: localize the link -->
207 - </ul>
 201+ <table>
 202+ <tr>
 203+ <td>
 204+ <ul id="moreinfolinks">
 205+ <li><a href="http://wikimediafoundation.org/wiki/Special:LandingCheck?landing_page=Monthly_donations&language=@language&uselang=@language&country=@country">%donate_interface-monthly-donation%</a></li>
 206+ <li><a href="http://wikimediafoundation.org/wiki/Special:LandingCheck?landing_page=Ways_to_Give&language=@language&uselang=@language&country=@country">%donate_interface-otherways-short%</a></li>
 207+ <li><a href="http://wikimediafoundation.org/wiki/Special:LandingCheck?landing_page=FAQ&language=@language&uselang=@language&country=@country">%donate_interface-faqs%</a></li>
 208+ <!--<li><a href="">%donate_interface-tax-info%</a></li>--><!-- TODO: localize the link -->
 209+ </ul>
 210+ </td>
 211+ <td>@verisign_logo</td>
 212+ </tr>
 213+ </table>
208214 </div>
209215 </td>
210216 </tr>
Index: branches/fundraising/deployment/payments_1.17/extensions/DonationInterface/payflowpro_gateway/forms/html/webitects_2_3step-US.html
@@ -89,7 +89,7 @@
9090
9191
9292 <dl class="">
93 - <dt><span class="label">Select credit card</span></dt>
 93+ <dt><span class="label">%donate_interface-select-credit-card%</span></dt>
9494 <dd class="field" style="margin-bottom: 0;">
9595 <ul class="options-h" id="cards" style="margin: 0;">
9696 <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>
@@ -102,7 +102,7 @@
103103 </dl>
104104 </div>
105105 </div>
106 - <div id="step3header"><h3>Payment Information <span class="mute" id="change-payment" style="display: none;">(<a href="#">Change</a>)</span></h3></div>
 106+ <div id="step3header"><h3>%donate_interface-cc-form-header-payment% <span class="mute" id="change-payment" style="display: none;">(<a href="#">Change</a>)</span></h3></div>
107107 <div id="step3wrapper" style="display: none;">
108108 <div id="payment" class="gainlayout">
109109 <div id="paymentErrorMessages" class="small"></div>
@@ -170,7 +170,7 @@
171171 <input type="hidden" value="@amount" name="amount" />
172172 <input type="hidden" value="US" name="country" id="country" />
173173 <input type="hidden" value="@expiration" name="expiration" id="expiration"/>
174 - <input type="hidden" value="@currency_code" name="currency_code" />
 174+ <input type="hidden" value="USD" name="currency_code" />
175175 <input type="hidden" value="@utm_source" name="utm_source"/>
176176 <input type="hidden" value="@utm_medium" name="utm_medium"/>
177177 <input type="hidden" value="@utm_campaign" name="utm_campaign"/>
@@ -197,13 +197,19 @@
198198 </div>
199199 </div>
200200 <p id="informationsharing">%donate_interface-informationsharing%</p>
201 - <!-- TODO: links inside the message or not? -->
202 - <ul id="moreinfolinks">
203 - <li><a href="http://wikimediafoundation.org/wiki/Monthly_donations/en/US">%donate_interface-monthly-donation%</a></li><!-- TODO: localize the link -->
204 - <li>%donate_interface-otherways-short%</li><!-- TODO: localize the link -->
205 - <li><a href="http://wikimediafoundation.org/wiki/FAQ/en">%donate_interface-faqs%</a></li><!-- TODO: localize the link -->
206 - <!--<li><a href="">%donate_interface-tax-info%</a></li>--><!-- TODO: localize the link -->
207 - </ul>
 201+ <table>
 202+ <tr>
 203+ <td>
 204+ <ul id="moreinfolinks">
 205+ <li><a href="http://wikimediafoundation.org/wiki/Special:LandingCheck?landing_page=Monthly_donations&language=@language&uselang=@language&country=@country">%donate_interface-monthly-donation%</a></li>
 206+ <li><a href="http://wikimediafoundation.org/wiki/Special:LandingCheck?landing_page=Ways_to_Give&language=@language&uselang=@language&country=@country">%donate_interface-otherways-short%</a></li>
 207+ <li><a href="http://wikimediafoundation.org/wiki/Special:LandingCheck?landing_page=FAQ&language=@language&uselang=@language&country=@country">%donate_interface-faqs%</a></li>
 208+ <!--<li><a href="">%donate_interface-tax-info%</a></li>--><!-- TODO: localize the link -->
 209+ </ul>
 210+ </td>
 211+ <td>@verisign_logo</td>
 212+ </tr>
 213+ </table>
208214 </div>
209215 </td>
210216 </tr>
Index: branches/fundraising/deployment/payments_1.17/extensions/DonationInterface/payflowpro_gateway/forms/html/webitects_2_2step-CA.html
@@ -90,7 +90,7 @@
9191
9292
9393 <!--<dl class="">-->
94 - <!--<dt><span class="label">Select credit card</span></dt>-->
 94+ <!--<dt><span class="label">%donate_interface-select-credit-card%</span></dt>-->
9595 <!--<dd class="field" style="margin-bottom: 0;">-->
9696 <!--<ul class="options-h" id="cards" style="margin: 0;">-->
9797 <!--<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>-->
@@ -102,7 +102,7 @@
103103 <!--</dl>-->
104104 </div>
105105 <!--</div>-->
106 - <!--<div id="step3header"><h3>Payment Information <span class="mute" id="change-payment" style="display: none;">(<a href="#">Change</a>)</span></h3></div>-->
 106+ <!--<div id="step3header"><h3>%donate_interface-cc-form-header-payment% <span class="mute" id="change-payment" style="display: none;">(<a href="#">Change</a>)</span></h3></div>-->
107107 <!--<div id="step3wrapper" style="display: none;">-->
108108 <div id="payment" class="gainlayout">
109109
@@ -197,13 +197,19 @@
198198 </div>
199199 </div>
200200 <p id="informationsharing">%donate_interface-informationsharing%</p>
201 - <!-- TODO: links inside the message or not? -->
202 - <ul id="moreinfolinks">
203 - <li><a href="http://wikimediafoundation.org/wiki/Monthly_donations/en/US">%donate_interface-monthly-donation%</a></li><!-- TODO: localize the link -->
204 - <li>%donate_interface-otherways-short%</li><!-- TODO: localize the link -->
205 - <li><a href="http://wikimediafoundation.org/wiki/FAQ/en">%donate_interface-faqs%</a></li><!-- TODO: localize the link -->
206 - <!--<li><a href="">%donate_interface-tax-info%</a></li>--><!-- TODO: localize the link -->
207 - </ul>
 201+ <table>
 202+ <tr>
 203+ <td>
 204+ <ul id="moreinfolinks">
 205+ <li><a href="http://wikimediafoundation.org/wiki/Special:LandingCheck?landing_page=Monthly_donations&language=@language&uselang=@language&country=@country">%donate_interface-monthly-donation%</a></li>
 206+ <li><a href="http://wikimediafoundation.org/wiki/Special:LandingCheck?landing_page=Ways_to_Give&language=@language&uselang=@language&country=@country">%donate_interface-otherways-short%</a></li>
 207+ <li><a href="http://wikimediafoundation.org/wiki/Special:LandingCheck?landing_page=FAQ&language=@language&uselang=@language&country=@country">%donate_interface-faqs%</a></li>
 208+ <!--<li><a href="">%donate_interface-tax-info%</a></li>--><!-- TODO: localize the link -->
 209+ </ul>
 210+ </td>
 211+ <td>@verisign_logo</td>
 212+ </tr>
 213+ </table>
208214 </div>
209215 </td>
210216 </tr>
Index: branches/fundraising/deployment/payments_1.17/extensions/DonationInterface/payflowpro_gateway/forms/html/webitects_2_3step.html
@@ -84,12 +84,27 @@
8585 </select>
8686 </span>
8787 <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 -->
 88+ <span class="loc-country">
 89+ <select class="txt" id="country" name="country" value="@country" placeholder="%donate_interface-country%">
 90+ <option value="">%donate_interface-select-country%</option>
 91+ <option value="AF">%donate_interface-country-dropdown-AF%</option><option value="AL">%donate_interface-country-dropdown-AL%</option><option value="DZ">%donate_interface-country-dropdown-DZ%</option><option value="AS">%donate_interface-country-dropdown-AS%</option><option value="AD">%donate_interface-country-dropdown-AD%</option><option value="AO">%donate_interface-country-dropdown-AO%</option><option value="AI">%donate_interface-country-dropdown-AI%</option><option value="AQ">%donate_interface-country-dropdown-AQ%</option><option value="AG">%donate_interface-country-dropdown-AG%</option><option value="AR">%donate_interface-country-dropdown-AR%</option><option value="AM">%donate_interface-country-dropdown-AM%</option><option value="AW">%donate_interface-country-dropdown-AW%</option><option value="AU">%donate_interface-country-dropdown-AU%</option><option value="AT">%donate_interface-country-dropdown-AT%</option><option value="AZ">%donate_interface-country-dropdown-AZ%</option><option value="BS">%donate_interface-country-dropdown-BS%</option><option value="BH">%donate_interface-country-dropdown-BH%</option><option value="BD">%donate_interface-country-dropdown-BD%</option><option value="BB">%donate_interface-country-dropdown-BB%</option><option value="BY">%donate_interface-country-dropdown-BY%</option><option value="BE">%donate_interface-country-dropdown-BE%</option><option value="BZ">%donate_interface-country-dropdown-BZ%</option><option value="BJ">%donate_interface-country-dropdown-BJ%</option><option value="BM">%donate_interface-country-dropdown-BM%</option><option value="BT">%donate_interface-country-dropdown-BT%</option>
 92+ <option value="BO">%donate_interface-country-dropdown-BO%</option><option value="BA">%donate_interface-country-dropdown-BA%</option><option value="BW">%donate_interface-country-dropdown-BW%</option><option value="BV">%donate_interface-country-dropdown-BV%</option><option value="BR">%donate_interface-country-dropdown-BR%</option><option value="IN">%donate_interface-country-dropdown-IN%</option><option value="BN">%donate_interface-country-dropdown-BN%</option><option value="BG">%donate_interface-country-dropdown-BG%</option><option value="BF">%donate_interface-country-dropdown-BF%</option><option value="BI">%donate_interface-country-dropdown-BI%</option><option value="KH">%donate_interface-country-dropdown-KH%</option><option value="CM">%donate_interface-country-dropdown-CM%</option><option value="CA">%donate_interface-country-dropdown-CA%</option><option value="CV">%donate_interface-country-dropdown-CV%</option><option value="KY">%donate_interface-country-dropdown-KY%</option><option value="CF">%donate_interface-country-dropdown-CF%</option><option value="TD">%donate_interface-country-dropdown-TD%</option><option value="CL">%donate_interface-country-dropdown-CL%</option><option value="CN">%donate_interface-country-dropdown-CN%</option><option value="CX">%donate_interface-country-dropdown-CX%</option><option value="CC">%donate_interface-country-dropdown-CC%</option><option value="CO">%donate_interface-country-dropdown-CO%</option><option value="KM">%donate_interface-country-dropdown-KM%</option><option value="CG">%donate_interface-country-dropdown-CG%</option><option value="CD">%donate_interface-country-dropdown-CD%</option>
 93+ <option value="CK">%donate_interface-country-dropdown-CK%</option><option value="CR">%donate_interface-country-dropdown-CR%</option><option value="HR">%donate_interface-country-dropdown-HR%</option><option value="CY">%donate_interface-country-dropdown-CY%</option><option value="CZ">%donate_interface-country-dropdown-CZ%</option><option value="CI">%donate_interface-country-dropdown-CI%</option><option value="DK">%donate_interface-country-dropdown-DK%</option><option value="DJ">%donate_interface-country-dropdown-DJ%</option><option value="DM">%donate_interface-country-dropdown-DM%</option><option value="DO">%donate_interface-country-dropdown-DO%</option><option value="EC">%donate_interface-country-dropdown-EC%</option><option value="EG">%donate_interface-country-dropdown-EG%</option><option value="SV">%donate_interface-country-dropdown-SV%</option><option value="GQ">%donate_interface-country-dropdown-GQ%</option><option value="ER">%donate_interface-country-dropdown-ER%</option><option value="EE">%donate_interface-country-dropdown-EE%</option><option value="ET">%donate_interface-country-dropdown-ET%</option><option value="FK">%donate_interface-country-dropdown-FK%</option><option value="FO">%donate_interface-country-dropdown-FO%</option><option value="FJ">%donate_interface-country-dropdown-FJ%</option><option value="FI">%donate_interface-country-dropdown-FI%</option><option value="FR">%donate_interface-country-dropdown-FR%</option><option value="GF">%donate_interface-country-dropdown-GF%</option><option value="PF">%donate_interface-country-dropdown-PF%</option><option value="TF">%donate_interface-country-dropdown-TF%</option>
 94+ <option value="GA">%donate_interface-country-dropdown-GA%</option><option value="GM">%donate_interface-country-dropdown-GM%</option><option value="GE">%donate_interface-country-dropdown-GE%</option><option value="DE">%donate_interface-country-dropdown-DE%</option><option value="GH">%donate_interface-country-dropdown-GH%</option><option value="GI">%donate_interface-country-dropdown-GI%</option><option value="GR">%donate_interface-country-dropdown-GR%</option><option value="GL">%donate_interface-country-dropdown-GL%</option><option value="GD">%donate_interface-country-dropdown-GD%</option><option value="GP">%donate_interface-country-dropdown-GP%</option><option value="GU">%donate_interface-country-dropdown-GU%</option><option value="GT">%donate_interface-country-dropdown-GT%</option><option value="GN">%donate_interface-country-dropdown-GN%</option><option value="GW">%donate_interface-country-dropdown-GW%</option><option value="GY">%donate_interface-country-dropdown-GY%</option><option value="HT">%donate_interface-country-dropdown-HT%</option><option value="HM">%donate_interface-country-dropdown-HM%</option><option value="VA">%donate_interface-country-dropdown-VA%</option><option value="HN">%donate_interface-country-dropdown-HN%</option><option value="HK">%donate_interface-country-dropdown-HK%</option><option value="HU">%donate_interface-country-dropdown-HU%</option><option value="IS">%donate_interface-country-dropdown-IS%</option><option value="IN">%donate_interface-country-dropdown-IN%</option><option value="ID">%donate_interface-country-dropdown-ID%</option><option value="IQ">%donate_interface-country-dropdown-IQ%</option>
 95+ <option value="IE">%donate_interface-country-dropdown-IE%</option><option value="IL">%donate_interface-country-dropdown-IL%</option><option value="IT">%donate_interface-country-dropdown-IT%</option><option value="JM">%donate_interface-country-dropdown-JM%</option><option value="JP">%donate_interface-country-dropdown-JP%</option><option value="JO">%donate_interface-country-dropdown-JO%</option><option value="KZ">%donate_interface-country-dropdown-KZ%</option><option value="KE">%donate_interface-country-dropdown-KE%</option><option value="KI">%donate_interface-country-dropdown-KI%</option><option value="KW">%donate_interface-country-dropdown-KW%</option><option value="KG">%donate_interface-country-dropdown-KG%</option><option value="LA">%donate_interface-country-dropdown-LA%</option><option value="LV">%donate_interface-country-dropdown-LV%</option><option value="LB">%donate_interface-country-dropdown-LB%</option><option value="LS">%donate_interface-country-dropdown-LS%</option><option value="LR">%donate_interface-country-dropdown-LR%</option><option value="LY">%donate_interface-country-dropdown-LY%</option><option value="LI">%donate_interface-country-dropdown-LI%</option><option value="LT">%donate_interface-country-dropdown-LT%</option><option value="LU">%donate_interface-country-dropdown-LU%</option><option value="MO">%donate_interface-country-dropdown-MO%</option><option value="MK">%donate_interface-country-dropdown-MK%</option><option value="MG">%donate_interface-country-dropdown-MG%</option><option value="MW">%donate_interface-country-dropdown-MW%</option><option value="MY">%donate_interface-country-dropdown-MY%</option>
 96+ <option value="MV">%donate_interface-country-dropdown-MV%</option><option value="ML">%donate_interface-country-dropdown-ML%</option><option value="MT">%donate_interface-country-dropdown-MT%</option><option value="MH">%donate_interface-country-dropdown-MH%</option><option value="MQ">%donate_interface-country-dropdown-MQ%</option><option value="MR">%donate_interface-country-dropdown-MR%</option><option value="MU">%donate_interface-country-dropdown-MU%</option><option value="YT">%donate_interface-country-dropdown-YT%</option><option value="MX">%donate_interface-country-dropdown-MX%</option><option value="FM">%donate_interface-country-dropdown-FM%</option><option value="MC">%donate_interface-country-dropdown-MC%</option><option value="MD">%donate_interface-country-dropdown-MD%</option><option value="MN">%donate_interface-country-dropdown-MN%</option><option value="MS">%donate_interface-country-dropdown-MS%</option><option value="MA">%donate_interface-country-dropdown-MA%</option><option value="MZ">%donate_interface-country-dropdown-MZ%</option><option value="MM">%donate_interface-country-dropdown-MM%</option><option value="NA">%donate_interface-country-dropdown-NA%</option><option value="NR">%donate_interface-country-dropdown-NR%</option><option value="NP">%donate_interface-country-dropdown-NP%</option><option value="NL">%donate_interface-country-dropdown-NL%</option><option value="AN">%donate_interface-country-dropdown-AN%</option><option value="NC">%donate_interface-country-dropdown-NC%</option><option value="NZ">%donate_interface-country-dropdown-NZ%</option><option value="NI">%donate_interface-country-dropdown-NI%</option>
 97+ <option value="NE">%donate_interface-country-dropdown-NE%</option><option value="NG">%donate_interface-country-dropdown-NG%</option><option value="NU">%donate_interface-country-dropdown-NU%</option><option value="NF">%donate_interface-country-dropdown-NF%</option><option value="KP">%donate_interface-country-dropdown-KP%</option><option value="MP">%donate_interface-country-dropdown-MP%</option><option value="NO">%donate_interface-country-dropdown-NO%</option><option value="OM">%donate_interface-country-dropdown-OM%</option><option value="PK">%donate_interface-country-dropdown-PK%</option><option value="PW">%donate_interface-country-dropdown-PW%</option><option value="PS">%donate_interface-country-dropdown-PS%</option><option value="PA">%donate_interface-country-dropdown-PA%</option><option value="PG">%donate_interface-country-dropdown-PG%</option><option value="PY">%donate_interface-country-dropdown-PY%</option><option value="PE">%donate_interface-country-dropdown-PE%</option><option value="PH">%donate_interface-country-dropdown-PH%</option><option value="PN">%donate_interface-country-dropdown-PN%</option><option value="PL">%donate_interface-country-dropdown-PL%</option><option value="PT">%donate_interface-country-dropdown-PT%</option><option value="PR">%donate_interface-country-dropdown-PR%</option><option value="QA">%donate_interface-country-dropdown-QA%</option><option value="RE">%donate_interface-country-dropdown-RE%</option><option value="RO">%donate_interface-country-dropdown-RO%</option><option value="RU">%donate_interface-country-dropdown-RU%</option><option value="RW">%donate_interface-country-dropdown-RW%</option>
 98+ <option value="SH">%donate_interface-country-dropdown-SH%</option><option value="KN">%donate_interface-country-dropdown-KN%</option><option value="LC">%donate_interface-country-dropdown-LC%</option><option value="PM">%donate_interface-country-dropdown-PM%</option><option value="VC">%donate_interface-country-dropdown-VC%</option><option value="WS">%donate_interface-country-dropdown-WS%</option><option value="SM">%donate_interface-country-dropdown-SM%</option><option value="ST">%donate_interface-country-dropdown-ST%</option><option value="SA">%donate_interface-country-dropdown-SA%</option><option value="SN">%donate_interface-country-dropdown-SN%</option><option value="CS">%donate_interface-country-dropdown-CS%</option><option value="SC">%donate_interface-country-dropdown-SC%</option><option value="SL">%donate_interface-country-dropdown-SL%</option><option value="SG">%donate_interface-country-dropdown-SG%</option><option value="SK">%donate_interface-country-dropdown-SK%</option><option value="SI">%donate_interface-country-dropdown-SI%</option><option value="SB">%donate_interface-country-dropdown-SB%</option><option value="SO">%donate_interface-country-dropdown-SO%</option><option value="ZA">%donate_interface-country-dropdown-ZA%</option><option value="KR">%donate_interface-country-dropdown-KR%</option><option value="ES">%donate_interface-country-dropdown-ES%</option><option value="LK">%donate_interface-country-dropdown-LK%</option><option value="SD">%donate_interface-country-dropdown-SD%</option><option value="SR">%donate_interface-country-dropdown-SR%</option><option value="SJ">%donate_interface-country-dropdown-SJ%</option>
 99+ <option value="SZ">%donate_interface-country-dropdown-SZ%</option><option value="SE">%donate_interface-country-dropdown-SE%</option><option value="CH">%donate_interface-country-dropdown-CH%</option><option value="TW">%donate_interface-country-dropdown-TW%</option><option value="TJ">%donate_interface-country-dropdown-TJ%</option><option value="TZ">%donate_interface-country-dropdown-TZ%</option><option value="TH">%donate_interface-country-dropdown-TH%</option><option value="TL">%donate_interface-country-dropdown-TL%</option><option value="TG">%donate_interface-country-dropdown-TG%</option><option value="TK">%donate_interface-country-dropdown-TK%</option><option value="TO">%donate_interface-country-dropdown-TO%</option><option value="TT">%donate_interface-country-dropdown-TT%</option><option value="TN">%donate_interface-country-dropdown-TN%</option><option value="TR">%donate_interface-country-dropdown-TR%</option><option value="TM">%donate_interface-country-dropdown-TM%</option><option value="TC">%donate_interface-country-dropdown-TC%</option><option value="TV">%donate_interface-country-dropdown-TV%</option><option value="UG">%donate_interface-country-dropdown-UG%</option><option value="UA">%donate_interface-country-dropdown-UA%</option><option value="AE">%donate_interface-country-dropdown-AE%</option><option value="GB">%donate_interface-country-dropdown-GB%</option><option value="US">%donate_interface-country-dropdown-US%</option><option value="UM">%donate_interface-country-dropdown-UM%</option><option value="UY">%donate_interface-country-dropdown-UY%</option><option value="UZ">%donate_interface-country-dropdown-UZ%</option>
 100+ <option value="VU">%donate_interface-country-dropdown-VU%</option><option value="VE">%donate_interface-country-dropdown-VE%</option><option value="VN">%donate_interface-country-dropdown-VN%</option><option value="VG">%donate_interface-country-dropdown-VG%</option><option value="VI">%donate_interface-country-dropdown-VI%</option><option value="WF">%donate_interface-country-dropdown-WF%</option><option value="EH">%donate_interface-country-dropdown-EH%</option><option value="YE">%donate_interface-country-dropdown-YE%</option><option value="ZM">%donate_interface-country-dropdown-ZM%</option><option value="ZW">%donate_interface-country-dropdown-ZW%</option>
 101+ </select>
 102+ </span>
88103 </div>
89104 <p><input class="txt" title="%donate_interface-donor-email%" id="emailAdd" name="emailAdd" value="@emailAdd" placeholder="%donate_interface-donor-email%"/></p>
90105
91106
92107 <dl class="">
93 - <dt><span class="label">Select credit card</span></dt>
 108+ <dt><span class="label">%donate_interface-select-credit-card%</span></dt>
94109 <dd class="field" style="margin-bottom: 0;">
95110 <ul class="options-h" id="cards" style="margin: 0;">
96111 <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>
@@ -102,7 +117,7 @@
103118 </dl>
104119 </div>
105120 </div>
106 - <div id="step3header"><h3>Payment Information <span class="mute" id="change-payment" style="display: none;">(<a href="#">Change</a>)</span></h3></div>
 121+ <div id="step3header"><h3>%donate_interface-cc-form-header-payment% <span class="mute" id="change-payment" style="display: none;">(<a href="#">Change</a>)</span></h3></div>
107122 <div id="step3wrapper" style="display: none;">
108123 <div id="payment" class="gainlayout">
109124 <div id="paymentErrorMessages" class="small"></div>
@@ -168,9 +183,9 @@
169184 <input type="hidden" value="@card" name="card" id="card">
170185
171186 <input type="hidden" value="@amount" name="amount" />
172 - <input type="hidden" value="@country" name="country" id="country" />
 187+ <!--<input type="hidden" value="US" name="country" id="country" />-->
173188 <input type="hidden" value="@expiration" name="expiration" id="expiration"/>
174 - <input type="hidden" value="@currency_code" name="currency_code" />
 189+ <input type="hidden" value="USD" name="currency_code" />
175190 <input type="hidden" value="@utm_source" name="utm_source"/>
176191 <input type="hidden" value="@utm_medium" name="utm_medium"/>
177192 <input type="hidden" value="@utm_campaign" name="utm_campaign"/>
@@ -197,13 +212,19 @@
198213 </div>
199214 </div>
200215 <p id="informationsharing">%donate_interface-informationsharing%</p>
201 - <!-- TODO: links inside the message or not? -->
202 - <ul id="moreinfolinks">
203 - <li><a href="http://wikimediafoundation.org/wiki/Monthly_donations/en/US">%donate_interface-monthly-donation%</a></li><!-- TODO: localize the link -->
204 - <li>%donate_interface-otherways-short%</li><!-- TODO: localize the link -->
205 - <li><a href="http://wikimediafoundation.org/wiki/FAQ/en">%donate_interface-faqs%</a></li><!-- TODO: localize the link -->
206 - <!--<li><a href="">%donate_interface-tax-info%</a></li>--><!-- TODO: localize the link -->
207 - </ul>
 216+ <table>
 217+ <tr>
 218+ <td>
 219+ <ul id="moreinfolinks">
 220+ <li><a href="http://wikimediafoundation.org/wiki/Special:LandingCheck?landing_page=Monthly_donations&language=@language&uselang=@language&country=@country">%donate_interface-monthly-donation%</a></li>
 221+ <li><a href="http://wikimediafoundation.org/wiki/Special:LandingCheck?landing_page=Ways_to_Give&language=@language&uselang=@language&country=@country">%donate_interface-otherways-short%</a></li>
 222+ <li><a href="http://wikimediafoundation.org/wiki/Special:LandingCheck?landing_page=FAQ&language=@language&uselang=@language&country=@country">%donate_interface-faqs%</a></li>
 223+ <!--<li><a href="">%donate_interface-tax-info%</a></li>--><!-- TODO: localize the link -->
 224+ </ul>
 225+ </td>
 226+ <td>@verisign_logo</td>
 227+ </tr>
 228+ </table>
208229 </div>
209230 </td>
210231 </tr>
Index: branches/fundraising/deployment/payments_1.17/extensions/DonationInterface/payflowpro_gateway/forms/html/webitects_2_3step-CA.html
@@ -89,7 +89,7 @@
9090
9191
9292 <dl class="">
93 - <dt><span class="label">Select credit card</span></dt>
 93+ <dt><span class="label">%donate_interface-select-credit-card%</span></dt>
9494 <dd class="field" style="margin-bottom: 0;">
9595 <ul class="options-h" id="cards" style="margin: 0;">
9696 <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>
@@ -102,7 +102,7 @@
103103 </dl>
104104 </div>
105105 </div>
106 - <div id="step3header"><h3>Payment Information <span class="mute" id="change-payment" style="display: none;">(<a href="#">Change</a>)</span></h3></div>
 106+ <div id="step3header"><h3>%donate_interface-cc-form-header-payment% <span class="mute" id="change-payment" style="display: none;">(<a href="#">Change</a>)</span></h3></div>
107107 <div id="step3wrapper" style="display: none;">
108108 <div id="payment" class="gainlayout">
109109 <div id="paymentErrorMessages" class="small"></div>
@@ -197,13 +197,19 @@
198198 </div>
199199 </div>
200200 <p id="informationsharing">%donate_interface-informationsharing%</p>
201 - <!-- TODO: links inside the message or not? -->
202 - <ul id="moreinfolinks">
203 - <li><a href="http://wikimediafoundation.org/wiki/Monthly_donations/en/US">%donate_interface-monthly-donation%</a></li><!-- TODO: localize the link -->
204 - <li>%donate_interface-otherways-short%</li><!-- TODO: localize the link -->
205 - <li><a href="http://wikimediafoundation.org/wiki/FAQ/en">%donate_interface-faqs%</a></li><!-- TODO: localize the link -->
206 - <!--<li><a href="">%donate_interface-tax-info%</a></li>--><!-- TODO: localize the link -->
207 - </ul>
 201+ <table>
 202+ <tr>
 203+ <td>
 204+ <ul id="moreinfolinks">
 205+ <li><a href="http://wikimediafoundation.org/wiki/Special:LandingCheck?landing_page=Monthly_donations&language=@language&uselang=@language&country=@country">%donate_interface-monthly-donation%</a></li>
 206+ <li><a href="http://wikimediafoundation.org/wiki/Special:LandingCheck?landing_page=Ways_to_Give&language=@language&uselang=@language&country=@country">%donate_interface-otherways-short%</a></li>
 207+ <li><a href="http://wikimediafoundation.org/wiki/Special:LandingCheck?landing_page=FAQ&language=@language&uselang=@language&country=@country">%donate_interface-faqs%</a></li>
 208+ <!--<li><a href="">%donate_interface-tax-info%</a></li>--><!-- TODO: localize the link -->
 209+ </ul>
 210+ </td>
 211+ <td>@verisign_logo</td>
 212+ </tr>
 213+ </table>
208214 </div>
209215 </td>
210216 </tr>
Index: branches/fundraising/deployment/payments_1.17/extensions/DonationInterface/payflowpro_gateway/forms/js/webitects_2_2step.js
@@ -157,14 +157,10 @@
158158 $( "#change-amount" ).show();
159159 }
160160 function validateAmount() {
161 -
162 - // TODO: THIS NEEDS TO BE REPLACED WITH KALDARI'S CURRENCIES
163 - var minimums = {
164 - 'USD' : 1,
165 - 'CAD' : 1
166 - };
167161 var error = true;
168162 var amount = $( 'input[name="amount"]' ).val(); // get the amount
 163+ // Normalize weird amount formats.
 164+ // Don't mess with these unless you know what you're doing.
169165 amount = amount.replace( /[,.](\d)$/, '\:$10' );
170166 amount = amount.replace( /[,.](\d)(\d)$/, '\:$1$2' );
171167 amount = amount.replace( /[,.]/g, '' );
@@ -176,11 +172,11 @@
177173
178174 // Check amount is at least the minimum
179175 var currency_code = $( 'input[name="currency_code"]' ).val();
180 - if ( typeof( minimums[currency_code] ) == 'undefined' ) {
181 - minimums[currency_code] = 1;
 176+ if ( typeof( wgCurrencyMinimums[currency_code] ) == 'undefined' ) {
 177+ wgCurrencyMinimums[currency_code] = 1;
182178 }
183 - if ( amount < minimums[currency_code] || error ) {
184 - alert( 'You must contribute at least $1'.replace( '$1', minimums[currency_code] + ' ' + currency_code ) );
 179+ if ( amount < wgCurrencyMinimums[currency_code] || error ) {
 180+ alert( 'You must contribute at least $1'.replace( '$1', wgCurrencyMinimums[currency_code] + ' ' + currency_code ) );
185181 error = true;
186182 }
187183 return !error;
Index: branches/fundraising/deployment/payments_1.17/extensions/DonationInterface/payflowpro_gateway/forms/js/webitects_2_3step.js
@@ -56,6 +56,22 @@
5757 }
5858 showAmount( $( 'input[name="amount"]' ) ); // lets go ahead and assume there is something to show
5959 }
 60+
 61+ // If the form is being reloaded, restore the amount
 62+ var previousAmount = $( 'input[name="amount"]' ).val();
 63+ if ( previousAmount && previousAmount > 0 ) {
 64+ var matched = false;
 65+ $( 'input[name="amountRadio"]' ).each( function( index ) {
 66+ if ( $( this ).val() == previousAmount ) {
 67+ $( this ).attr( 'checked', true );
 68+ matched = true;
 69+ }
 70+ } );
 71+ if ( !matched ) {
 72+ $( 'input#input_amount_other' ).attr( 'checked', true );
 73+ $( 'input#other-amount' ).val( previousAmount );
 74+ }
 75+ }
6076
6177 $( "#cc" ).click( function() {
6278 if ( validateAmount() ) {
@@ -174,14 +190,10 @@
175191 $( "#change-amount" ).show();
176192 }
177193 function validateAmount() {
178 -
179 - // TODO: THIS NEEDS TO BE REPLACED WITH KALDARI'S CURRENCIES
180 - var minimums = {
181 - 'USD' : 1,
182 - 'CAD' : 1
183 - };
184194 var error = true;
185195 var amount = $( 'input[name="amount"]' ).val(); // get the amount
 196+ // Normalize weird amount formats.
 197+ // Don't mess with these unless you know what you're doing.
186198 amount = amount.replace( /[,.](\d)$/, '\:$10' );
187199 amount = amount.replace( /[,.](\d)(\d)$/, '\:$1$2' );
188200 amount = amount.replace( /[,.]/g, '' );
@@ -193,11 +205,11 @@
194206
195207 // Check amount is at least the minimum
196208 var currency_code = $( 'input[name="currency_code"]' ).val();
197 - if ( typeof( minimums[currency_code] ) == 'undefined' ) {
198 - minimums[currency_code] = 1;
 209+ if ( typeof( wgCurrencyMinimums[currency_code] ) == 'undefined' ) {
 210+ wgCurrencyMinimums[currency_code] = 1;
199211 }
200 - if ( amount < minimums[currency_code] || error ) {
201 - alert( 'You must contribute at least $1'.replace( '$1', minimums[currency_code] + ' ' + currency_code ) );
 212+ if ( amount < wgCurrencyMinimums[currency_code] || error ) {
 213+ alert( 'You must contribute at least $1'.replace( '$1', wgCurrencyMinimums[currency_code] + ' ' + currency_code ) );
202214 error = true;
203215 }
204216 return !error;
Index: branches/fundraising/deployment/payments_1.17/extensions/DonationInterface/payflowpro_gateway/forms/js/lightbox1.js
@@ -7,6 +7,23 @@
88 modal: true,
99 title: 'Donate by Credit Card'
1010 } );
 11+
 12+ // If the form is being reloaded, restore the amount
 13+ var previousAmount = $( 'input[name="amount"]' ).val();
 14+ if ( previousAmount && previousAmount > 0 ) {
 15+ var matched = false;
 16+ $( 'input[name="amountRadio"]' ).each( function( index ) {
 17+ if ( $( this ).val() == previousAmount ) {
 18+ $( this ).attr( 'checked', true );
 19+ matched = true;
 20+ }
 21+ } );
 22+ if ( !matched ) {
 23+ $( 'input#input_amount_other' ).attr( 'checked', true );
 24+ $( 'input#other-amount' ).val( previousAmount );
 25+ }
 26+ }
 27+
1128 $( '#cc' ).click( function() {
1229 if ( validateAmount( document.paypalcontribution ) ) {
1330 $( '#dialog' ).dialog( 'open' );
@@ -204,9 +221,6 @@
205222 }
206223
207224 function validateAmount(){
208 - var minimums = {
209 - 'USD' : 1
210 - };
211225 var error = true;
212226 var amount = $( "input[name='amount']" ).val(); // get the amount
213227 var otherAmount = amount // create a working copy
@@ -222,11 +236,11 @@
223237 // Check amount is at least the minimum
224238 var currency = 'USD'; // hard-coded for these forms and tests
225239 $( "input[name='currency']" ).val( currency );
226 - if ( typeof( minimums[currency] ) == 'undefined' ) {
227 - minimums[currency] = 1;
 240+ if ( typeof( wgCurrencyMinimums[currency] ) == 'undefined' ) {
 241+ wgCurrencyMinimums[currency] = 1;
228242 }
229 - if ( amount < minimums[currency] || error ) {
230 - alert( 'You must contribute at least $1'.replace('$1', minimums[currency] + ' ' + currency ) );
 243+ if ( amount < wgCurrencyMinimums[currency] || error ) {
 244+ alert( 'You must contribute at least $1'.replace('$1', wgCurrencyMinimums[currency] + ' ' + currency ) );
231245 error = true;
232246 }
233247 return !error;
Property changes on: branches/fundraising/deployment/payments_1.17/extensions/DonationInterface/payflowpro_gateway/forms
___________________________________________________________________
Modified: svn:mergeinfo
234248 Merged /trunk/extensions/DonationInterface/payflowpro_gateway/forms:r102189-102241
Index: branches/fundraising/deployment/payments_1.17/extensions/DonationInterface/payflowpro_gateway/payflowpro_gateway.i18n.php
@@ -1699,19 +1699,19 @@
17001700 'payflowprogateway' => 'Oddajte svoj prispevek zdaj',
17011701 'payflowpro_gateway-desc' => 'Obdelava kreditnih kartic preko PayPal Payflow Pro',
17021702 'payflowpro_gateway-response-0' => 'Vaša transakcija je bila odobrena.
1703 -Zahvaljujemo se Vam za vaš prispevek!',
 1703+Zahvaljujemo se vam za vaš prispevek!',
17041704 'payflowpro_gateway-response-126' => 'Vaša transakcija čaka na odobritev.',
1705 - 'payflowpro_gateway-response-126-2' => 'Nekatere navedene informacije ne ustrezajo profilu Vaše kreditne kartice, ali pa ste naredili zelo visoko donacijo. Zaradi Vaše varnosti je Vaša donacija trenutno v pregledu, in preko navedenega e-poštnega naslova Vas bomo obvestili, če Vaše donacije ni bilo mogoče zaključiti. Če imate kakršnokoli vprašanje, nas lahko kontaktirate preko e-poštnega naslova <a href="mailto:donate@wikimedia.org">donate@wikimedia.org</a>. Hvala!',
1706 - 'payflowpro_gateway-response-12' => 'Za dodatne informacije se prosimo obrnite na izdajatelja vaše kreditne kartice.',
 1705+ 'payflowpro_gateway-response-126-2' => 'Nekatere navedene informacije ne ustrezajo profilu vaše kreditne kartice ali pa ste naredili zelo visoko donacijo. Zavoljo vaše varnosti je vaš prispevek trenutno v pregledu in preko navedenega e-poštnega naslova vas bomo obvestili, če vaše donacije nismo mogli zaključiti. Če imate kakršno koli vprašanje, nas kontaktirajte preko e-poštnega naslova <a href="mailto:donate@wikimedia.org">donate@wikimedia.org</a>. Hvala!',
 1706+ 'payflowpro_gateway-response-12' => 'Za dodatne informacije se, prosimo, obrnite na izdajatelja vaše kreditne kartice.',
17071707 'payflowpro_gateway-response-13' => 'Vaša transakcija potrebuje glasovno odobritev.
1708 -Prosimo kontaktirajte nas za nadaljevanje Vaše transakcije.',
1709 - 'payflowpro_gateway-response-114' => 'Prosimo Vas, da se za dodatne informacije obrnete na izdajatelja Vaše kreditne kartice.',
 1708+Prosimo, stopite v stik z nami za nadaljevanje vaše transakcije.',
 1709+ 'payflowpro_gateway-response-114' => 'Prosimo, da se za dodatne informacije obrnete na izdajatelja vaše kreditne kartice.',
17101710 'payflowpro_gateway-response-23' => 'Številka vaše kreditne kartice ali datum njene veljavnosti je napačen.',
17111711 'payflowpro_gateway-response-4' => 'Neveljaven znesek.',
17121712 'payflowpro_gateway-response-24' => 'Številka vaše kreditne kartice ali datum njene veljavnosti je napačen.',
17131713 'payflowpro_gateway-response-112' => 'Vaš naslov ali številka CVV (varnostna koda) je napačna.',
17141714 'payflowpro_gateway-response-125' => 'Vašo transakcijo je zavrnila Storitev preprečitve goljufij (Fraud Prevention Services).',
1715 - 'payflowpro_gateway-response-125-2' => 'Vaša kreditna kartica ni bila potrjena. Prosimo, preverite, če vse informacije ustrezajo profilu vaše kreditne kartice, ali pa poskusite z drugo kartico. Uporabite lahko tudi enega od <a href="http://wikimediafoundation.org/wiki/Ways_to_Give/en">drugih načinov prispevanja</a>, ali pa nam pišite na <a href="mailto:donate@wikimedia.org">donate@wikimedia.org</a>. Zahvaljujemo se Vam za vašo podporo.',
 1715+ 'payflowpro_gateway-response-125-2' => 'Vaša kreditna kartica ni bila potrjena. Prosimo, preverite, če vse informacije ustrezajo profilu vaše kreditne kartice, ali pa poskusite z drugo kartico. Uporabite lahko tudi enega od <a href="http://wikimediafoundation.org/wiki/Ways_to_Give/en">drugih načinov prispevanja</a> ali pa nam pišite na <a href="mailto:donate@wikimedia.org">donate@wikimedia.org</a>. Zahvaljujemo se vam za vašo podporo.',
17161716 'payflowpro_gateway-response-default' => 'Pri obdelavi transakcije je prišlo do napake
17171717 Prosimo, poskusite znova kasneje.',
17181718 );
Property changes on: branches/fundraising/deployment/payments_1.17/extensions/DonationInterface/payflowpro_gateway/payflowpro_gateway.i18n.php
___________________________________________________________________
Modified: svn:mergeinfo
17191719 Merged /trunk/extensions/DonationInterface/payflowpro_gateway/payflowpro_gateway.i18n.php:r102189-102241
Property changes on: branches/fundraising/deployment/payments_1.17/extensions/DonationInterface/payflowpro_gateway
___________________________________________________________________
Modified: svn:mergeinfo
17201720 Merged /trunk/extensions/DonationInterface/payflowpro_gateway:r102189-102241
Index: branches/fundraising/deployment/payments_1.17/extensions/DonationInterface/gateway_forms/rapidhtml/html/webitects_1.html
@@ -320,9 +320,6 @@
321321 });
322322
323323 function validateAmount(){
324 - var minimums = {
325 - 'USD' : 1
326 - };
327324 var error = true;
328325 var amount = $('input[name="amount"]').val(); // get the amount
329326 var otherAmount = amount // create a working copy
@@ -338,11 +335,11 @@
339336 // Check amount is at least the minimum
340337 var currency = 'USD'; // hard-coded for these forms and tests
341338 $('input[name="currency"]').val(currency);
342 - if ( typeof( minimums[currency] ) == 'undefined' ) {
343 - minimums[currency] = 1;
 339+ if ( typeof( wgCurrencyMinimums[currency] ) == 'undefined' ) {
 340+ wgCurrencyMinimums[currency] = 1;
344341 }
345 - if ( amount < minimums[currency] || error ) {
346 - alert( 'You must contribute at least $1'.replace('$1', minimums[currency] + ' ' + currency ) );
 342+ if ( amount < wgCurrencyMinimums[currency] || error ) {
 343+ alert( 'You must contribute at least $1'.replace('$1', wgCurrencyMinimums[currency] + ' ' + currency ) );
347344 error = true;
348345 }
349346 return !error;
Index: branches/fundraising/deployment/payments_1.17/extensions/DonationInterface/gateway_forms/rapidhtml/html/webitects_1a.html
@@ -321,9 +321,6 @@
322322 });
323323
324324 function validateAmount(){
325 - var minimums = {
326 - 'USD' : 1
327 - };
328325 var error = true;
329326 var amount = $('input[name="amount"]').val(); // get the amount
330327 var otherAmount = amount // create a working copy
@@ -339,11 +336,11 @@
340337 // Check amount is at least the minimum
341338 var currency = 'USD'; // hard-coded for these forms and tests
342339 $('input[name="currency"]').val(currency);
343 - if ( typeof( minimums[currency] ) == 'undefined' ) {
344 - minimums[currency] = 1;
 340+ if ( typeof( wgCurrencyMinimums[currency] ) == 'undefined' ) {
 341+ wgCurrencyMinimums[currency] = 1;
345342 }
346 - if ( amount < minimums[currency] || error ) {
347 - alert( 'You must contribute at least $1'.replace('$1', minimums[currency] + ' ' + currency ) );
 343+ if ( amount < wgCurrencyMinimums[currency] || error ) {
 344+ alert( 'You must contribute at least $1'.replace('$1', wgCurrencyMinimums[currency] + ' ' + currency ) );
348345 error = true;
349346 }
350347 return !error;
Index: branches/fundraising/deployment/payments_1.17/extensions/DonationInterface/gateway_forms/rapidhtml/html/webitects_2.html
@@ -324,9 +324,6 @@
325325 });
326326
327327 function validateAmount(){
328 - var minimums = {
329 - 'USD' : 1
330 - };
331328 var error = true;
332329 var amount = $('input[name="amount"]').val(); // get the amount
333330 var otherAmount = amount // create a working copy
@@ -342,11 +339,11 @@
343340 // Check amount is at least the minimum
344341 var currency = 'USD'; // hard-coded for these forms and tests
345342 $('input[name="currency"]').val(currency);
346 - if ( typeof( minimums[currency] ) == 'undefined' ) {
347 - minimums[currency] = 1;
 343+ if ( typeof( wgCurrencyMinimums[currency] ) == 'undefined' ) {
 344+ wgCurrencyMinimums[currency] = 1;
348345 }
349 - if ( amount < minimums[currency] || error ) {
350 - alert( 'You must contribute at least $1'.replace('$1', minimums[currency] + ' ' + currency ) );
 346+ if ( amount < wgCurrencyMinimums[currency] || error ) {
 347+ alert( 'You must contribute at least $1'.replace('$1', wgCurrencyMinimums[currency] + ' ' + currency ) );
351348 error = true;
352349 }
353350 return !error;
Index: branches/fundraising/deployment/payments_1.17/extensions/DonationInterface/gateway_forms/rapidhtml/RapidHtmlResources.php
@@ -98,6 +98,7 @@
9999 );
100100 $wgResourceModules[ 'gc.form.rapidhtml.webitects.2nd' ] = array(
101101 'styles' => '',
 102+ 'scripts' => 'js/webitects2nd.js',
102103 'dependencies' => array(
103104 'gc.form.rapidhtml.webitects',
104105 'di.form.rapidhtml.webitects.2nd'
@@ -119,7 +120,7 @@
120121 'scripts' => 'js/webitects_2_3step.js',
121122 'dependencies' => array(
122123 'di.form.rapidhtml.webitects',
123 - 'pfp.form.core.validate'
 124+ 'di.form.core.validate'
124125 ),
125126 'localBasePath' => dirname( __FILE__ ).'/../../payflowpro_gateway/forms',
126127 'remoteExtPath' => $wgPayflowRapidHtmlRemoteExtPath,
@@ -129,7 +130,7 @@
130131 'scripts' => 'js/webitects_2_2step.js',
131132 'dependencies' => array(
132133 'di.form.rapidhtml.webitects',
133 - 'pfp.form.core.validate'
 134+ 'di.form.core.validate'
134135 ),
135136 'localBasePath' => dirname( __FILE__ ).'/../../payflowpro_gateway/forms',
136137 'remoteExtPath' => $wgPayflowRapidHtmlRemoteExtPath,
Index: branches/fundraising/deployment/payments_1.17/extensions/DonationInterface/gateway_forms/rapidhtml/css/webitects.css
@@ -72,6 +72,7 @@
7373 .loc-fields .loc-postal { width: 22%; }
7474 .loc-fields .loc-state { margin-right: 0%; width: 22%; }
7575 .loc-fields .loc-street { margin-bottom: 5px; width: 100%; }
 76+.loc-fields .loc-country { margin-bottom: 5px; width: 103%; }
7677
7778 /* Location where we are not including a state select */
7879 .loc-fields.nostate .loc-city { float: left; margin: 0 1% 5px 0; width: 48%; }
Index: branches/fundraising/deployment/payments_1.17/extensions/DonationInterface/gateway_forms/rapidhtml/js/lightbox1.js
@@ -7,6 +7,23 @@
88 modal: true,
99 title: 'Donate by Credit Card'
1010 } );
 11+
 12+ // If the form is being reloaded, restore the amount
 13+ var previousAmount = $( 'input[name="amount"]' ).val();
 14+ if ( previousAmount && previousAmount > 0 ) {
 15+ var matched = false;
 16+ $( 'input[name="amountRadio"]' ).each( function( index ) {
 17+ if ( $( this ).val() == previousAmount ) {
 18+ $( this ).attr( 'checked', true );
 19+ matched = true;
 20+ }
 21+ } );
 22+ if ( !matched ) {
 23+ $( 'input#input_amount_other' ).attr( 'checked', true );
 24+ $( 'input#other-amount' ).val( previousAmount );
 25+ }
 26+ }
 27+
1128 $( '#cc' ).click( function() {
1229 if ( validateAmount( document.paypalcontribution ) ) {
1330 $( '#dialog' ).dialog( 'open' );
@@ -156,9 +173,6 @@
157174 }
158175
159176 function validateAmount(){
160 - var minimums = {
161 - 'USD' : 1
162 - };
163177 var error = true;
164178 var amount = $( "input[name='amount']" ).val(); // get the amount
165179 var otherAmount = amount // create a working copy
@@ -174,11 +188,11 @@
175189 // Check amount is at least the minimum
176190 var currency = 'USD'; // hard-coded for these forms and tests
177191 $( "input[name='currency']" ).val( currency );
178 - if ( typeof( minimums[currency] ) == 'undefined' ) {
179 - minimums[currency] = 1;
 192+ if ( typeof( wgCurrencyMinimums[currency] ) == 'undefined' ) {
 193+ wgCurrencyMinimums[currency] = 1;
180194 }
181 - if ( amount < minimums[currency] || error ) {
182 - alert( 'You must contribute at least $1'.replace('$1', minimums[currency] + ' ' + currency ) );
 195+ if ( amount < wgCurrencyMinimums[currency] || error ) {
 196+ alert( 'You must contribute at least $1'.replace('$1', wgCurrencyMinimums[currency] + ' ' + currency ) );
183197 error = true;
184198 }
185199 return !error;
Index: branches/fundraising/deployment/payments_1.17/extensions/DonationInterface/gateway_forms/Form.php
@@ -163,11 +163,15 @@
164164 * @return string of HTML
165165 */
166166 public function generateDonationFooter() {
167 - global $wgScriptPath;
 167+ global $wgScriptPath, $wgServer;
168168 $form = '';
169169 $form .= Xml::openElement( 'div', array( 'class' => 'payflow-cc-form-section', 'id' => 'payflowpro_gateway-donate-addl-info' ) );
170170 $form .= Xml::openElement( 'div', array( 'id' => 'payflowpro_gateway-donate-addl-info-secure-logos' ) );
171 - $form .= Xml::tags( 'p', array( 'class' => '' ), Xml::openElement( 'img', array( 'src' => $wgScriptPath . "/extensions/DonationInterface/gateway_forms/includes/rapidssl_ssl_certificate-nonanimated.png" ) ) );
 171+ if ($wgServer =="https://payments.wikimedia.org") {
 172+ $form .= $this ->getSmallSecureLogo();
 173+ } else {
 174+ $form .= Xml::tags( 'p', array( 'class' => '' ), Xml::openElement( 'img', array( 'src' => $wgScriptPath . "/extensions/DonationInterface/gateway_forms/includes/rapidssl_ssl_certificate-nonanimated.png" ) ) );
 175+ }
172176 $form .= Xml::closeElement( 'div' ); // close div#payflowpro_gateway-donate-addl-info-secure-logos
173177 $form .= Xml::openElement( 'div', array( 'id' => 'payflowpro_gateway-donate-addl-info-text' ) );
174178 $form .= Xml::tags( 'p', array( 'class' => '' ), wfMsg( 'donate_interface-otherways-short' ) );
@@ -796,7 +800,7 @@
797801
798802 protected function loadValidateJs() {
799803 global $wgOut;
800 - $wgOut->addModules( 'pfp.form.core.validate' );
 804+ $wgOut->addModules( 'di.form.core.validate' );
801805 }
802806
803807 protected function loadApiJs() {
@@ -948,4 +952,18 @@
949953 $this->payment_submethod = (string) $value;
950954 }
951955
 956+ /**
 957+ * Create the Verisign logo (small size)
 958+ *
 959+ */
 960+ protected function getSmallSecureLogo() {
 961+
 962+ $form = '<table id="secureLogo" width="135" border="0" cellpadding="2" cellspacing="0" title=' . wfMsg('donate_interface-securelogo-title') . '>';
 963+ $form .= '<tr>';
 964+ $form .= '<td width="135" align="center" valign="top"><script type="text/javascript" src="https://seal.verisign.com/getseal?host_name=payments.wikimedia.org&size=S&use_flash=NO&use_transparent=NO&lang=en"></script><br /><a href="http://www.verisign.com/ssl-certificate/" target="_blank" style="color:#000000; text-decoration:none; font:bold 7px verdana,sans-serif; letter-spacing:.5px; text-align:center; margin:0px; padding:0px;">' . wfMsg('donate_interface-secureLogo-text') . '</a></td>';
 965+ $form .= '</tr>';
 966+ $form .= '</table>';
 967+ return $form;
 968+ }
952969 }
 970+
Index: branches/fundraising/deployment/payments_1.17/extensions/DonationInterface/gateway_forms/RapidHtml.php
@@ -58,6 +58,7 @@
5959 // @action -> generate correct form action for this form
6060 // @appeal -> name of the appeal text to load
6161 // @appeal_title -> name of the appeal title to load
 62+ // @verisign_logo -> placeholder to load the secure verisign logo
6263 );
6364
6465 /**
@@ -198,6 +199,9 @@
199200 // handle script path
200201 $form = str_replace( "@script_path", $wgScriptPath, $form );
201202
 203+ // handle script path
 204+ $form = str_replace( "@verisign_logo", $this->getSmallSecureLogo(), $form );
 205+
202206 $form = $this->fix_dropdowns( $form );
203207
204208 return $this->add_messages( $form );
Property changes on: branches/fundraising/deployment/payments_1.17/extensions/DonationInterface/gateway_forms
___________________________________________________________________
Modified: svn:mergeinfo
205209 Merged /trunk/extensions/DonationInterface/gateway_forms:r102189-102241
Index: branches/fundraising/deployment/payments_1.17/extensions/DonationInterface/globalcollect_gateway/forms/html/webitects2nd.html
@@ -50,16 +50,25 @@
5151 <span class="name-first"><input class="txt" id="fname" name="fname" title="%donate_interface-donor-fname%" value="@fname" placeholder="%donate_interface-donor-fname%"/></span>
5252 <span class="name-last"><input class="txt" id="lname" name="lname" title="%donate_interface-donor-lname%" value="@lname" placeholder="%donate_interface-donor-lname%"/></span>
5353 </div>
54 - <div class="loc-fields">
 54+ <div class="loc-fields nostate">
5555 <span class="loc-street"><input class="txt" id="street" name="street" title="%donate_interface-donor-street%" value="@street" placeholder="%donate_interface-donor-street%"/></span>
5656 <span class="loc-city"><input class="txt" id="city" name="city" title="%donate_interface-donor-city%" value="@city" placeholder="%donate_interface-donor-city%"/></span>
57 - <span class="loc-state">
58 - <select id="state" name="state" class="txt" value="@state" >
59 - <option value=""></option>
60 - <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>
61 - </select>
 57+ <span class="loc-postal"><input class="txt" id="zip" name="zip" title="%donate_interface-postal%" value="@zip" placeholder="%donate_interface-donor-postal%"/></span>
 58+ <span class="loc-country">
 59+ <select class="txt" id="country" name="country" value="@country" placeholder="%donate_interface-country%">
 60+ <option value="">%donate_interface-select-country%</option>
 61+ <option value="AF">%donate_interface-country-dropdown-AF%</option><option value="AL">%donate_interface-country-dropdown-AL%</option><option value="DZ">%donate_interface-country-dropdown-DZ%</option><option value="AS">%donate_interface-country-dropdown-AS%</option><option value="AD">%donate_interface-country-dropdown-AD%</option><option value="AO">%donate_interface-country-dropdown-AO%</option><option value="AI">%donate_interface-country-dropdown-AI%</option><option value="AQ">%donate_interface-country-dropdown-AQ%</option><option value="AG">%donate_interface-country-dropdown-AG%</option><option value="AR">%donate_interface-country-dropdown-AR%</option><option value="AM">%donate_interface-country-dropdown-AM%</option><option value="AW">%donate_interface-country-dropdown-AW%</option><option value="AU">%donate_interface-country-dropdown-AU%</option><option value="AT">%donate_interface-country-dropdown-AT%</option><option value="AZ">%donate_interface-country-dropdown-AZ%</option><option value="BS">%donate_interface-country-dropdown-BS%</option><option value="BH">%donate_interface-country-dropdown-BH%</option><option value="BD">%donate_interface-country-dropdown-BD%</option><option value="BB">%donate_interface-country-dropdown-BB%</option><option value="BY">%donate_interface-country-dropdown-BY%</option><option value="BE">%donate_interface-country-dropdown-BE%</option><option value="BZ">%donate_interface-country-dropdown-BZ%</option><option value="BJ">%donate_interface-country-dropdown-BJ%</option><option value="BM">%donate_interface-country-dropdown-BM%</option><option value="BT">%donate_interface-country-dropdown-BT%</option>
 62+ <option value="BO">%donate_interface-country-dropdown-BO%</option><option value="BA">%donate_interface-country-dropdown-BA%</option><option value="BW">%donate_interface-country-dropdown-BW%</option><option value="BV">%donate_interface-country-dropdown-BV%</option><option value="BR">%donate_interface-country-dropdown-BR%</option><option value="IN">%donate_interface-country-dropdown-IN%</option><option value="BN">%donate_interface-country-dropdown-BN%</option><option value="BG">%donate_interface-country-dropdown-BG%</option><option value="BF">%donate_interface-country-dropdown-BF%</option><option value="BI">%donate_interface-country-dropdown-BI%</option><option value="KH">%donate_interface-country-dropdown-KH%</option><option value="CM">%donate_interface-country-dropdown-CM%</option><option value="CA">%donate_interface-country-dropdown-CA%</option><option value="CV">%donate_interface-country-dropdown-CV%</option><option value="KY">%donate_interface-country-dropdown-KY%</option><option value="CF">%donate_interface-country-dropdown-CF%</option><option value="TD">%donate_interface-country-dropdown-TD%</option><option value="CL">%donate_interface-country-dropdown-CL%</option><option value="CN">%donate_interface-country-dropdown-CN%</option><option value="CX">%donate_interface-country-dropdown-CX%</option><option value="CC">%donate_interface-country-dropdown-CC%</option><option value="CO">%donate_interface-country-dropdown-CO%</option><option value="KM">%donate_interface-country-dropdown-KM%</option><option value="CG">%donate_interface-country-dropdown-CG%</option><option value="CD">%donate_interface-country-dropdown-CD%</option>
 63+ <option value="CK">%donate_interface-country-dropdown-CK%</option><option value="CR">%donate_interface-country-dropdown-CR%</option><option value="HR">%donate_interface-country-dropdown-HR%</option><option value="CY">%donate_interface-country-dropdown-CY%</option><option value="CZ">%donate_interface-country-dropdown-CZ%</option><option value="CI">%donate_interface-country-dropdown-CI%</option><option value="DK">%donate_interface-country-dropdown-DK%</option><option value="DJ">%donate_interface-country-dropdown-DJ%</option><option value="DM">%donate_interface-country-dropdown-DM%</option><option value="DO">%donate_interface-country-dropdown-DO%</option><option value="EC">%donate_interface-country-dropdown-EC%</option><option value="EG">%donate_interface-country-dropdown-EG%</option><option value="SV">%donate_interface-country-dropdown-SV%</option><option value="GQ">%donate_interface-country-dropdown-GQ%</option><option value="ER">%donate_interface-country-dropdown-ER%</option><option value="EE">%donate_interface-country-dropdown-EE%</option><option value="ET">%donate_interface-country-dropdown-ET%</option><option value="FK">%donate_interface-country-dropdown-FK%</option><option value="FO">%donate_interface-country-dropdown-FO%</option><option value="FJ">%donate_interface-country-dropdown-FJ%</option><option value="FI">%donate_interface-country-dropdown-FI%</option><option value="FR">%donate_interface-country-dropdown-FR%</option><option value="GF">%donate_interface-country-dropdown-GF%</option><option value="PF">%donate_interface-country-dropdown-PF%</option><option value="TF">%donate_interface-country-dropdown-TF%</option>
 64+ <option value="GA">%donate_interface-country-dropdown-GA%</option><option value="GM">%donate_interface-country-dropdown-GM%</option><option value="GE">%donate_interface-country-dropdown-GE%</option><option value="DE">%donate_interface-country-dropdown-DE%</option><option value="GH">%donate_interface-country-dropdown-GH%</option><option value="GI">%donate_interface-country-dropdown-GI%</option><option value="GR">%donate_interface-country-dropdown-GR%</option><option value="GL">%donate_interface-country-dropdown-GL%</option><option value="GD">%donate_interface-country-dropdown-GD%</option><option value="GP">%donate_interface-country-dropdown-GP%</option><option value="GU">%donate_interface-country-dropdown-GU%</option><option value="GT">%donate_interface-country-dropdown-GT%</option><option value="GN">%donate_interface-country-dropdown-GN%</option><option value="GW">%donate_interface-country-dropdown-GW%</option><option value="GY">%donate_interface-country-dropdown-GY%</option><option value="HT">%donate_interface-country-dropdown-HT%</option><option value="HM">%donate_interface-country-dropdown-HM%</option><option value="VA">%donate_interface-country-dropdown-VA%</option><option value="HN">%donate_interface-country-dropdown-HN%</option><option value="HK">%donate_interface-country-dropdown-HK%</option><option value="HU">%donate_interface-country-dropdown-HU%</option><option value="IS">%donate_interface-country-dropdown-IS%</option><option value="IN">%donate_interface-country-dropdown-IN%</option><option value="ID">%donate_interface-country-dropdown-ID%</option><option value="IQ">%donate_interface-country-dropdown-IQ%</option>
 65+ <option value="IE">%donate_interface-country-dropdown-IE%</option><option value="IL">%donate_interface-country-dropdown-IL%</option><option value="IT">%donate_interface-country-dropdown-IT%</option><option value="JM">%donate_interface-country-dropdown-JM%</option><option value="JP">%donate_interface-country-dropdown-JP%</option><option value="JO">%donate_interface-country-dropdown-JO%</option><option value="KZ">%donate_interface-country-dropdown-KZ%</option><option value="KE">%donate_interface-country-dropdown-KE%</option><option value="KI">%donate_interface-country-dropdown-KI%</option><option value="KW">%donate_interface-country-dropdown-KW%</option><option value="KG">%donate_interface-country-dropdown-KG%</option><option value="LA">%donate_interface-country-dropdown-LA%</option><option value="LV">%donate_interface-country-dropdown-LV%</option><option value="LB">%donate_interface-country-dropdown-LB%</option><option value="LS">%donate_interface-country-dropdown-LS%</option><option value="LR">%donate_interface-country-dropdown-LR%</option><option value="LY">%donate_interface-country-dropdown-LY%</option><option value="LI">%donate_interface-country-dropdown-LI%</option><option value="LT">%donate_interface-country-dropdown-LT%</option><option value="LU">%donate_interface-country-dropdown-LU%</option><option value="MO">%donate_interface-country-dropdown-MO%</option><option value="MK">%donate_interface-country-dropdown-MK%</option><option value="MG">%donate_interface-country-dropdown-MG%</option><option value="MW">%donate_interface-country-dropdown-MW%</option><option value="MY">%donate_interface-country-dropdown-MY%</option>
 66+ <option value="MV">%donate_interface-country-dropdown-MV%</option><option value="ML">%donate_interface-country-dropdown-ML%</option><option value="MT">%donate_interface-country-dropdown-MT%</option><option value="MH">%donate_interface-country-dropdown-MH%</option><option value="MQ">%donate_interface-country-dropdown-MQ%</option><option value="MR">%donate_interface-country-dropdown-MR%</option><option value="MU">%donate_interface-country-dropdown-MU%</option><option value="YT">%donate_interface-country-dropdown-YT%</option><option value="MX">%donate_interface-country-dropdown-MX%</option><option value="FM">%donate_interface-country-dropdown-FM%</option><option value="MC">%donate_interface-country-dropdown-MC%</option><option value="MD">%donate_interface-country-dropdown-MD%</option><option value="MN">%donate_interface-country-dropdown-MN%</option><option value="MS">%donate_interface-country-dropdown-MS%</option><option value="MA">%donate_interface-country-dropdown-MA%</option><option value="MZ">%donate_interface-country-dropdown-MZ%</option><option value="MM">%donate_interface-country-dropdown-MM%</option><option value="NA">%donate_interface-country-dropdown-NA%</option><option value="NR">%donate_interface-country-dropdown-NR%</option><option value="NP">%donate_interface-country-dropdown-NP%</option><option value="NL">%donate_interface-country-dropdown-NL%</option><option value="AN">%donate_interface-country-dropdown-AN%</option><option value="NC">%donate_interface-country-dropdown-NC%</option><option value="NZ">%donate_interface-country-dropdown-NZ%</option><option value="NI">%donate_interface-country-dropdown-NI%</option>
 67+ <option value="NE">%donate_interface-country-dropdown-NE%</option><option value="NG">%donate_interface-country-dropdown-NG%</option><option value="NU">%donate_interface-country-dropdown-NU%</option><option value="NF">%donate_interface-country-dropdown-NF%</option><option value="KP">%donate_interface-country-dropdown-KP%</option><option value="MP">%donate_interface-country-dropdown-MP%</option><option value="NO">%donate_interface-country-dropdown-NO%</option><option value="OM">%donate_interface-country-dropdown-OM%</option><option value="PK">%donate_interface-country-dropdown-PK%</option><option value="PW">%donate_interface-country-dropdown-PW%</option><option value="PS">%donate_interface-country-dropdown-PS%</option><option value="PA">%donate_interface-country-dropdown-PA%</option><option value="PG">%donate_interface-country-dropdown-PG%</option><option value="PY">%donate_interface-country-dropdown-PY%</option><option value="PE">%donate_interface-country-dropdown-PE%</option><option value="PH">%donate_interface-country-dropdown-PH%</option><option value="PN">%donate_interface-country-dropdown-PN%</option><option value="PL">%donate_interface-country-dropdown-PL%</option><option value="PT">%donate_interface-country-dropdown-PT%</option><option value="PR">%donate_interface-country-dropdown-PR%</option><option value="QA">%donate_interface-country-dropdown-QA%</option><option value="RE">%donate_interface-country-dropdown-RE%</option><option value="RO">%donate_interface-country-dropdown-RO%</option><option value="RU">%donate_interface-country-dropdown-RU%</option><option value="RW">%donate_interface-country-dropdown-RW%</option>
 68+ <option value="SH">%donate_interface-country-dropdown-SH%</option><option value="KN">%donate_interface-country-dropdown-KN%</option><option value="LC">%donate_interface-country-dropdown-LC%</option><option value="PM">%donate_interface-country-dropdown-PM%</option><option value="VC">%donate_interface-country-dropdown-VC%</option><option value="WS">%donate_interface-country-dropdown-WS%</option><option value="SM">%donate_interface-country-dropdown-SM%</option><option value="ST">%donate_interface-country-dropdown-ST%</option><option value="SA">%donate_interface-country-dropdown-SA%</option><option value="SN">%donate_interface-country-dropdown-SN%</option><option value="CS">%donate_interface-country-dropdown-CS%</option><option value="SC">%donate_interface-country-dropdown-SC%</option><option value="SL">%donate_interface-country-dropdown-SL%</option><option value="SG">%donate_interface-country-dropdown-SG%</option><option value="SK">%donate_interface-country-dropdown-SK%</option><option value="SI">%donate_interface-country-dropdown-SI%</option><option value="SB">%donate_interface-country-dropdown-SB%</option><option value="SO">%donate_interface-country-dropdown-SO%</option><option value="ZA">%donate_interface-country-dropdown-ZA%</option><option value="KR">%donate_interface-country-dropdown-KR%</option><option value="ES">%donate_interface-country-dropdown-ES%</option><option value="LK">%donate_interface-country-dropdown-LK%</option><option value="SD">%donate_interface-country-dropdown-SD%</option><option value="SR">%donate_interface-country-dropdown-SR%</option><option value="SJ">%donate_interface-country-dropdown-SJ%</option>
 69+ <option value="SZ">%donate_interface-country-dropdown-SZ%</option><option value="SE">%donate_interface-country-dropdown-SE%</option><option value="CH">%donate_interface-country-dropdown-CH%</option><option value="TW">%donate_interface-country-dropdown-TW%</option><option value="TJ">%donate_interface-country-dropdown-TJ%</option><option value="TZ">%donate_interface-country-dropdown-TZ%</option><option value="TH">%donate_interface-country-dropdown-TH%</option><option value="TL">%donate_interface-country-dropdown-TL%</option><option value="TG">%donate_interface-country-dropdown-TG%</option><option value="TK">%donate_interface-country-dropdown-TK%</option><option value="TO">%donate_interface-country-dropdown-TO%</option><option value="TT">%donate_interface-country-dropdown-TT%</option><option value="TN">%donate_interface-country-dropdown-TN%</option><option value="TR">%donate_interface-country-dropdown-TR%</option><option value="TM">%donate_interface-country-dropdown-TM%</option><option value="TC">%donate_interface-country-dropdown-TC%</option><option value="TV">%donate_interface-country-dropdown-TV%</option><option value="UG">%donate_interface-country-dropdown-UG%</option><option value="UA">%donate_interface-country-dropdown-UA%</option><option value="AE">%donate_interface-country-dropdown-AE%</option><option value="GB">%donate_interface-country-dropdown-GB%</option><option value="US">%donate_interface-country-dropdown-US%</option><option value="UM">%donate_interface-country-dropdown-UM%</option><option value="UY">%donate_interface-country-dropdown-UY%</option><option value="UZ">%donate_interface-country-dropdown-UZ%</option>
 70+ <option value="VU">%donate_interface-country-dropdown-VU%</option><option value="VE">%donate_interface-country-dropdown-VE%</option><option value="VN">%donate_interface-country-dropdown-VN%</option><option value="VG">%donate_interface-country-dropdown-VG%</option><option value="VI">%donate_interface-country-dropdown-VI%</option><option value="WF">%donate_interface-country-dropdown-WF%</option><option value="EH">%donate_interface-country-dropdown-EH%</option><option value="YE">%donate_interface-country-dropdown-YE%</option><option value="ZM">%donate_interface-country-dropdown-ZM%</option><option value="ZW">%donate_interface-country-dropdown-ZW%</option>
 71+ </select>
6272 </span>
63 - <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 -->
6473 </div>
6574 <p><input class="txt" title="%donate_interface-donor-email%" id="emailAdd" name="emailAdd" value="@emailAdd" placeholder="%donate_interface-donor-email%"/></p>
6675
@@ -86,7 +95,7 @@
8796 <input type="hidden" value="0" name="PaypalRedirect" id="PaypalRedirect">
8897
8998 <input type="hidden" value="@amount" name="amount" />
90 - <input type="hidden" value="@country" name="country" id="country" />
 99+ <!--<input type="hidden" value="@country" name="country" id="country" />-->
91100 <input type="hidden" value="@currency_code" name="currency_code" />
92101 <input type="hidden" value="@utm_source" name="utm_source"/>
93102 <input type="hidden" value="@utm_medium" name="utm_medium"/>
@@ -106,6 +115,8 @@
107116 <!-- new required fields -->
108117 <input type="hidden" value="@gateway" name="gateway"/>
109118 <input type="hidden" value="@payment_method" name="payment_method"/>
 119+ <!-- required fields omitted above -->
 120+ <input type="hidden" value="XX" name="state"/>
110121 </form>
111122 <div id="where-content">
112123 {{LanguageSwitch|2011FR/core-appeal-whitebox-nodiv|@language}}
@@ -113,13 +124,19 @@
114125 </div>
115126 </div>
116127 <p id="informationsharing">%donate_interface-informationsharing|url%</p>
117 - <!-- TODO: links inside the message or not? -->
118 - <ul id="moreinfolinks">
119 - <li><a href="http://wikimediafoundation.org/wiki/Monthly_donations/en/US">%donate_interface-monthly-donation%</a></li><!-- TODO: localize the link -->
120 - <li>%donate_interface-otherways-short|url%</li><!-- TODO: localize the link -->
121 - <li><a href="http://wikimediafoundation.org/wiki/FAQ/en">%donate_interface-faqs%</a></li><!-- TODO: localize the link -->
122 - <!--<li><a href="">%donate_interface-tax-info%</a></li>--><!-- TODO: localize the link -->
123 - </ul>
 128+ <table>
 129+ <tr>
 130+ <td>
 131+ <ul id="moreinfolinks">
 132+ <li><a href="http://wikimediafoundation.org/wiki/Special:LandingCheck?landing_page=Monthly_donations&language=@language&uselang=@language&country=@country">%donate_interface-monthly-donation%</a></li>
 133+ <li><a href="http://wikimediafoundation.org/wiki/Special:LandingCheck?landing_page=Ways_to_Give&language=@language&uselang=@language&country=@country">%donate_interface-otherways-short%</a></li>
 134+ <li><a href="http://wikimediafoundation.org/wiki/Special:LandingCheck?landing_page=FAQ&language=@language&uselang=@language&country=@country">%donate_interface-faqs%</a></li>
 135+ <!--<li><a href="">%donate_interface-tax-info%</a></li>--><!-- TODO: localize the link -->
 136+ </ul>
 137+ </td>
 138+ <td>@verisign_logo</td>
 139+ </tr>
 140+ </table>
124141 </div>
125142 </td>
126143 </tr>
Index: branches/fundraising/deployment/payments_1.17/extensions/DonationInterface/globalcollect_gateway/forms/html/bt/bt.html
@@ -56,6 +56,21 @@
5757 <span class="loc-street"><input class="txt" id="street" name="street" title="%donate_interface-donor-street%" value="@street" placeholder="%donate_interface-donor-street%"/></span>
5858 <span class="loc-city"><input class="txt" id="city" name="city" title="%donate_interface-donor-city%" value="@city" placeholder="%donate_interface-donor-city%"/></span>
5959 <span class="loc-postal"><input class="txt" id="zip" name="zip" title="%donate_interface-donor-postal%" value="@zip" placeholder="%donate_interface-donor-postal%"/></span>
 60+ <span class="loc-country">
 61+ <select class="txt" id="country" name="country" value="@country" placeholder="%donate_interface-country%">
 62+ <option value="">%donate_interface-select-country%</option>
 63+ <option value="AF">%donate_interface-country-dropdown-AF%</option><option value="AL">%donate_interface-country-dropdown-AL%</option><option value="DZ">%donate_interface-country-dropdown-DZ%</option><option value="AS">%donate_interface-country-dropdown-AS%</option><option value="AD">%donate_interface-country-dropdown-AD%</option><option value="AO">%donate_interface-country-dropdown-AO%</option><option value="AI">%donate_interface-country-dropdown-AI%</option><option value="AQ">%donate_interface-country-dropdown-AQ%</option><option value="AG">%donate_interface-country-dropdown-AG%</option><option value="AR">%donate_interface-country-dropdown-AR%</option><option value="AM">%donate_interface-country-dropdown-AM%</option><option value="AW">%donate_interface-country-dropdown-AW%</option><option value="AU">%donate_interface-country-dropdown-AU%</option><option value="AT">%donate_interface-country-dropdown-AT%</option><option value="AZ">%donate_interface-country-dropdown-AZ%</option><option value="BS">%donate_interface-country-dropdown-BS%</option><option value="BH">%donate_interface-country-dropdown-BH%</option><option value="BD">%donate_interface-country-dropdown-BD%</option><option value="BB">%donate_interface-country-dropdown-BB%</option><option value="BY">%donate_interface-country-dropdown-BY%</option><option value="BE">%donate_interface-country-dropdown-BE%</option><option value="BZ">%donate_interface-country-dropdown-BZ%</option><option value="BJ">%donate_interface-country-dropdown-BJ%</option><option value="BM">%donate_interface-country-dropdown-BM%</option><option value="BT">%donate_interface-country-dropdown-BT%</option>
 64+ <option value="BO">%donate_interface-country-dropdown-BO%</option><option value="BA">%donate_interface-country-dropdown-BA%</option><option value="BW">%donate_interface-country-dropdown-BW%</option><option value="BV">%donate_interface-country-dropdown-BV%</option><option value="BR">%donate_interface-country-dropdown-BR%</option><option value="IN">%donate_interface-country-dropdown-IN%</option><option value="BN">%donate_interface-country-dropdown-BN%</option><option value="BG">%donate_interface-country-dropdown-BG%</option><option value="BF">%donate_interface-country-dropdown-BF%</option><option value="BI">%donate_interface-country-dropdown-BI%</option><option value="KH">%donate_interface-country-dropdown-KH%</option><option value="CM">%donate_interface-country-dropdown-CM%</option><option value="CA">%donate_interface-country-dropdown-CA%</option><option value="CV">%donate_interface-country-dropdown-CV%</option><option value="KY">%donate_interface-country-dropdown-KY%</option><option value="CF">%donate_interface-country-dropdown-CF%</option><option value="TD">%donate_interface-country-dropdown-TD%</option><option value="CL">%donate_interface-country-dropdown-CL%</option><option value="CN">%donate_interface-country-dropdown-CN%</option><option value="CX">%donate_interface-country-dropdown-CX%</option><option value="CC">%donate_interface-country-dropdown-CC%</option><option value="CO">%donate_interface-country-dropdown-CO%</option><option value="KM">%donate_interface-country-dropdown-KM%</option><option value="CG">%donate_interface-country-dropdown-CG%</option><option value="CD">%donate_interface-country-dropdown-CD%</option>
 65+ <option value="CK">%donate_interface-country-dropdown-CK%</option><option value="CR">%donate_interface-country-dropdown-CR%</option><option value="HR">%donate_interface-country-dropdown-HR%</option><option value="CY">%donate_interface-country-dropdown-CY%</option><option value="CZ">%donate_interface-country-dropdown-CZ%</option><option value="CI">%donate_interface-country-dropdown-CI%</option><option value="DK">%donate_interface-country-dropdown-DK%</option><option value="DJ">%donate_interface-country-dropdown-DJ%</option><option value="DM">%donate_interface-country-dropdown-DM%</option><option value="DO">%donate_interface-country-dropdown-DO%</option><option value="EC">%donate_interface-country-dropdown-EC%</option><option value="EG">%donate_interface-country-dropdown-EG%</option><option value="SV">%donate_interface-country-dropdown-SV%</option><option value="GQ">%donate_interface-country-dropdown-GQ%</option><option value="ER">%donate_interface-country-dropdown-ER%</option><option value="EE">%donate_interface-country-dropdown-EE%</option><option value="ET">%donate_interface-country-dropdown-ET%</option><option value="FK">%donate_interface-country-dropdown-FK%</option><option value="FO">%donate_interface-country-dropdown-FO%</option><option value="FJ">%donate_interface-country-dropdown-FJ%</option><option value="FI">%donate_interface-country-dropdown-FI%</option><option value="FR">%donate_interface-country-dropdown-FR%</option><option value="GF">%donate_interface-country-dropdown-GF%</option><option value="PF">%donate_interface-country-dropdown-PF%</option><option value="TF">%donate_interface-country-dropdown-TF%</option>
 66+ <option value="GA">%donate_interface-country-dropdown-GA%</option><option value="GM">%donate_interface-country-dropdown-GM%</option><option value="GE">%donate_interface-country-dropdown-GE%</option><option value="DE">%donate_interface-country-dropdown-DE%</option><option value="GH">%donate_interface-country-dropdown-GH%</option><option value="GI">%donate_interface-country-dropdown-GI%</option><option value="GR">%donate_interface-country-dropdown-GR%</option><option value="GL">%donate_interface-country-dropdown-GL%</option><option value="GD">%donate_interface-country-dropdown-GD%</option><option value="GP">%donate_interface-country-dropdown-GP%</option><option value="GU">%donate_interface-country-dropdown-GU%</option><option value="GT">%donate_interface-country-dropdown-GT%</option><option value="GN">%donate_interface-country-dropdown-GN%</option><option value="GW">%donate_interface-country-dropdown-GW%</option><option value="GY">%donate_interface-country-dropdown-GY%</option><option value="HT">%donate_interface-country-dropdown-HT%</option><option value="HM">%donate_interface-country-dropdown-HM%</option><option value="VA">%donate_interface-country-dropdown-VA%</option><option value="HN">%donate_interface-country-dropdown-HN%</option><option value="HK">%donate_interface-country-dropdown-HK%</option><option value="HU">%donate_interface-country-dropdown-HU%</option><option value="IS">%donate_interface-country-dropdown-IS%</option><option value="IN">%donate_interface-country-dropdown-IN%</option><option value="ID">%donate_interface-country-dropdown-ID%</option><option value="IQ">%donate_interface-country-dropdown-IQ%</option>
 67+ <option value="IE">%donate_interface-country-dropdown-IE%</option><option value="IL">%donate_interface-country-dropdown-IL%</option><option value="IT">%donate_interface-country-dropdown-IT%</option><option value="JM">%donate_interface-country-dropdown-JM%</option><option value="JP">%donate_interface-country-dropdown-JP%</option><option value="JO">%donate_interface-country-dropdown-JO%</option><option value="KZ">%donate_interface-country-dropdown-KZ%</option><option value="KE">%donate_interface-country-dropdown-KE%</option><option value="KI">%donate_interface-country-dropdown-KI%</option><option value="KW">%donate_interface-country-dropdown-KW%</option><option value="KG">%donate_interface-country-dropdown-KG%</option><option value="LA">%donate_interface-country-dropdown-LA%</option><option value="LV">%donate_interface-country-dropdown-LV%</option><option value="LB">%donate_interface-country-dropdown-LB%</option><option value="LS">%donate_interface-country-dropdown-LS%</option><option value="LR">%donate_interface-country-dropdown-LR%</option><option value="LY">%donate_interface-country-dropdown-LY%</option><option value="LI">%donate_interface-country-dropdown-LI%</option><option value="LT">%donate_interface-country-dropdown-LT%</option><option value="LU">%donate_interface-country-dropdown-LU%</option><option value="MO">%donate_interface-country-dropdown-MO%</option><option value="MK">%donate_interface-country-dropdown-MK%</option><option value="MG">%donate_interface-country-dropdown-MG%</option><option value="MW">%donate_interface-country-dropdown-MW%</option><option value="MY">%donate_interface-country-dropdown-MY%</option>
 68+ <option value="MV">%donate_interface-country-dropdown-MV%</option><option value="ML">%donate_interface-country-dropdown-ML%</option><option value="MT">%donate_interface-country-dropdown-MT%</option><option value="MH">%donate_interface-country-dropdown-MH%</option><option value="MQ">%donate_interface-country-dropdown-MQ%</option><option value="MR">%donate_interface-country-dropdown-MR%</option><option value="MU">%donate_interface-country-dropdown-MU%</option><option value="YT">%donate_interface-country-dropdown-YT%</option><option value="MX">%donate_interface-country-dropdown-MX%</option><option value="FM">%donate_interface-country-dropdown-FM%</option><option value="MC">%donate_interface-country-dropdown-MC%</option><option value="MD">%donate_interface-country-dropdown-MD%</option><option value="MN">%donate_interface-country-dropdown-MN%</option><option value="MS">%donate_interface-country-dropdown-MS%</option><option value="MA">%donate_interface-country-dropdown-MA%</option><option value="MZ">%donate_interface-country-dropdown-MZ%</option><option value="MM">%donate_interface-country-dropdown-MM%</option><option value="NA">%donate_interface-country-dropdown-NA%</option><option value="NR">%donate_interface-country-dropdown-NR%</option><option value="NP">%donate_interface-country-dropdown-NP%</option><option value="NL">%donate_interface-country-dropdown-NL%</option><option value="AN">%donate_interface-country-dropdown-AN%</option><option value="NC">%donate_interface-country-dropdown-NC%</option><option value="NZ">%donate_interface-country-dropdown-NZ%</option><option value="NI">%donate_interface-country-dropdown-NI%</option>
 69+ <option value="NE">%donate_interface-country-dropdown-NE%</option><option value="NG">%donate_interface-country-dropdown-NG%</option><option value="NU">%donate_interface-country-dropdown-NU%</option><option value="NF">%donate_interface-country-dropdown-NF%</option><option value="KP">%donate_interface-country-dropdown-KP%</option><option value="MP">%donate_interface-country-dropdown-MP%</option><option value="NO">%donate_interface-country-dropdown-NO%</option><option value="OM">%donate_interface-country-dropdown-OM%</option><option value="PK">%donate_interface-country-dropdown-PK%</option><option value="PW">%donate_interface-country-dropdown-PW%</option><option value="PS">%donate_interface-country-dropdown-PS%</option><option value="PA">%donate_interface-country-dropdown-PA%</option><option value="PG">%donate_interface-country-dropdown-PG%</option><option value="PY">%donate_interface-country-dropdown-PY%</option><option value="PE">%donate_interface-country-dropdown-PE%</option><option value="PH">%donate_interface-country-dropdown-PH%</option><option value="PN">%donate_interface-country-dropdown-PN%</option><option value="PL">%donate_interface-country-dropdown-PL%</option><option value="PT">%donate_interface-country-dropdown-PT%</option><option value="PR">%donate_interface-country-dropdown-PR%</option><option value="QA">%donate_interface-country-dropdown-QA%</option><option value="RE">%donate_interface-country-dropdown-RE%</option><option value="RO">%donate_interface-country-dropdown-RO%</option><option value="RU">%donate_interface-country-dropdown-RU%</option><option value="RW">%donate_interface-country-dropdown-RW%</option>
 70+ <option value="SH">%donate_interface-country-dropdown-SH%</option><option value="KN">%donate_interface-country-dropdown-KN%</option><option value="LC">%donate_interface-country-dropdown-LC%</option><option value="PM">%donate_interface-country-dropdown-PM%</option><option value="VC">%donate_interface-country-dropdown-VC%</option><option value="WS">%donate_interface-country-dropdown-WS%</option><option value="SM">%donate_interface-country-dropdown-SM%</option><option value="ST">%donate_interface-country-dropdown-ST%</option><option value="SA">%donate_interface-country-dropdown-SA%</option><option value="SN">%donate_interface-country-dropdown-SN%</option><option value="CS">%donate_interface-country-dropdown-CS%</option><option value="SC">%donate_interface-country-dropdown-SC%</option><option value="SL">%donate_interface-country-dropdown-SL%</option><option value="SG">%donate_interface-country-dropdown-SG%</option><option value="SK">%donate_interface-country-dropdown-SK%</option><option value="SI">%donate_interface-country-dropdown-SI%</option><option value="SB">%donate_interface-country-dropdown-SB%</option><option value="SO">%donate_interface-country-dropdown-SO%</option><option value="ZA">%donate_interface-country-dropdown-ZA%</option><option value="KR">%donate_interface-country-dropdown-KR%</option><option value="ES">%donate_interface-country-dropdown-ES%</option><option value="LK">%donate_interface-country-dropdown-LK%</option><option value="SD">%donate_interface-country-dropdown-SD%</option><option value="SR">%donate_interface-country-dropdown-SR%</option><option value="SJ">%donate_interface-country-dropdown-SJ%</option>
 71+ <option value="SZ">%donate_interface-country-dropdown-SZ%</option><option value="SE">%donate_interface-country-dropdown-SE%</option><option value="CH">%donate_interface-country-dropdown-CH%</option><option value="TW">%donate_interface-country-dropdown-TW%</option><option value="TJ">%donate_interface-country-dropdown-TJ%</option><option value="TZ">%donate_interface-country-dropdown-TZ%</option><option value="TH">%donate_interface-country-dropdown-TH%</option><option value="TL">%donate_interface-country-dropdown-TL%</option><option value="TG">%donate_interface-country-dropdown-TG%</option><option value="TK">%donate_interface-country-dropdown-TK%</option><option value="TO">%donate_interface-country-dropdown-TO%</option><option value="TT">%donate_interface-country-dropdown-TT%</option><option value="TN">%donate_interface-country-dropdown-TN%</option><option value="TR">%donate_interface-country-dropdown-TR%</option><option value="TM">%donate_interface-country-dropdown-TM%</option><option value="TC">%donate_interface-country-dropdown-TC%</option><option value="TV">%donate_interface-country-dropdown-TV%</option><option value="UG">%donate_interface-country-dropdown-UG%</option><option value="UA">%donate_interface-country-dropdown-UA%</option><option value="AE">%donate_interface-country-dropdown-AE%</option><option value="GB">%donate_interface-country-dropdown-GB%</option><option value="US">%donate_interface-country-dropdown-US%</option><option value="UM">%donate_interface-country-dropdown-UM%</option><option value="UY">%donate_interface-country-dropdown-UY%</option><option value="UZ">%donate_interface-country-dropdown-UZ%</option>
 72+ <option value="VU">%donate_interface-country-dropdown-VU%</option><option value="VE">%donate_interface-country-dropdown-VE%</option><option value="VN">%donate_interface-country-dropdown-VN%</option><option value="VG">%donate_interface-country-dropdown-VG%</option><option value="VI">%donate_interface-country-dropdown-VI%</option><option value="WF">%donate_interface-country-dropdown-WF%</option><option value="EH">%donate_interface-country-dropdown-EH%</option><option value="YE">%donate_interface-country-dropdown-YE%</option><option value="ZM">%donate_interface-country-dropdown-ZM%</option><option value="ZW">%donate_interface-country-dropdown-ZW%</option>
 73+ </select>
 74+ </span>
6075 </div>
6176 <p><input class="txt" title="%donate_interface-donor-email%" id="emailAdd" name="emailAdd" value="@emailAdd" placeholder="%donate_interface-donor-email%"/></p>
6277 <div id="bt-continue" style="margin-top: 10px;"> <input class="btn" id="bt-continueBtn" type="button" value="%donate_interface-continue%" /></div>
@@ -68,7 +83,7 @@
6984 <input type="hidden" value="0" name="PaypalRedirect" id="PaypalRedirect">
7085
7186 <input type="hidden" value="@amount" name="amount" />
72 - <input type="hidden" value="@country" name="country" id="country" />
 87+ <!--<input type="hidden" value="@country" name="country" id="country" />-->
7388 <input type="hidden" value="@currency_code" name="currency_code" />
7489 <input type="hidden" value="@utm_source" name="utm_source"/>
7590 <input type="hidden" value="@utm_medium" name="utm_medium"/>
@@ -100,13 +115,19 @@
101116 </div>
102117 </div>
103118 <p id="informationsharing">%donate_interface-informationsharing|url%</p>
104 - <!-- TODO: links inside the message or not? -->
105 - <ul id="moreinfolinks">
106 - <li><a href="http://wikimediafoundation.org/wiki/Monthly_donations/en/US">%donate_interface-monthly-donation%</a></li><!-- TODO: localize the link -->
107 - <li>%donate_interface-otherways-short|url%</li><!-- TODO: localize the link -->
108 - <li><a href="http://wikimediafoundation.org/wiki/FAQ/en">%donate_interface-faqs%</a></li><!-- TODO: localize the link -->
109 - <!--<li><a href="">%donate_interface-tax-info%</a></li>--><!-- TODO: localize the link -->
110 - </ul>
 119+ <table>
 120+ <tr>
 121+ <td>
 122+ <ul id="moreinfolinks">
 123+ <li><a href="http://wikimediafoundation.org/wiki/Special:LandingCheck?landing_page=Monthly_donations&language=@language&uselang=@language&country=@country">%donate_interface-monthly-donation%</a></li>
 124+ <li><a href="http://wikimediafoundation.org/wiki/Special:LandingCheck?landing_page=Ways_to_Give&language=@language&uselang=@language&country=@country">%donate_interface-otherways-short%</a></li>
 125+ <li><a href="http://wikimediafoundation.org/wiki/Special:LandingCheck?landing_page=FAQ&language=@language&uselang=@language&country=@country">%donate_interface-faqs%</a></li>
 126+ <!--<li><a href="">%donate_interface-tax-info%</a></li>--><!-- TODO: localize the link -->
 127+ </ul>
 128+ </td>
 129+ <td>@verisign_logo</td>
 130+ </tr>
 131+ </table>
111132 </div>
112133 </td>
113134 </tr>
Index: branches/fundraising/deployment/payments_1.17/extensions/DonationInterface/globalcollect_gateway/forms/html/bt/bt-CA.html
@@ -58,7 +58,7 @@
5959 <span class="loc-state">
6060 <select id="state" name="state" class="txt" value="@state" >
6161 <option value=""></option>
62 - <option value=""></option><option value="AB">AB</option><option value="BC">BC</option><option value="MB">MB</option><option value="NB">NB</option><option value="NL">NL</option><option value="NS">NS</option><option value="ON">ON</option><option value="PE">PE</option><option value="QC">QC</option><option value="SK">SK</option>
 62+ <option value="AB">AB</option><option value="BC">BC</option><option value="MB">MB</option><option value="NB">NB</option><option value="NL">NL</option><option value="NS">NS</option><option value="ON">ON</option><option value="PE">PE</option><option value="QC">QC</option><option value="SK">SK</option>
6363 </select>
6464 </span>
6565 <span class="loc-postal"><input class="txt" id="zip" name="zip" title="%donate_interface-postal%" value="@zip" placeholder="%donate_interface-donor-postal%"/></span>
@@ -104,13 +104,19 @@
105105 </div>
106106 </div>
107107 <p id="informationsharing">%donate_interface-informationsharing|url%</p>
108 - <!-- TODO: links inside the message or not? -->
109 - <ul id="moreinfolinks">
110 - <li><a href="http://wikimediafoundation.org/wiki/Monthly_donations/en/US">%donate_interface-monthly-donation%</a></li><!-- TODO: localize the link -->
111 - <li>%donate_interface-otherways-short|url%</li><!-- TODO: localize the link -->
112 - <li><a href="http://wikimediafoundation.org/wiki/FAQ/en">%donate_interface-faqs%</a></li><!-- TODO: localize the link -->
113 - <!--<li><a href="">%donate_interface-tax-info%</a></li>--><!-- TODO: localize the link -->
114 - </ul>
 108+ <table>
 109+ <tr>
 110+ <td>
 111+ <ul id="moreinfolinks">
 112+ <li><a href="http://wikimediafoundation.org/wiki/Special:LandingCheck?landing_page=Monthly_donations&language=@language&uselang=@language&country=@country">%donate_interface-monthly-donation%</a></li>
 113+ <li><a href="http://wikimediafoundation.org/wiki/Special:LandingCheck?landing_page=Ways_to_Give&language=@language&uselang=@language&country=@country">%donate_interface-otherways-short%</a></li>
 114+ <li><a href="http://wikimediafoundation.org/wiki/Special:LandingCheck?landing_page=FAQ&language=@language&uselang=@language&country=@country">%donate_interface-faqs%</a></li>
 115+ <!--<li><a href="">%donate_interface-tax-info%</a></li>--><!-- TODO: localize the link -->
 116+ </ul>
 117+ </td>
 118+ <td>@verisign_logo</td>
 119+ </tr>
 120+ </table>
115121 </div>
116122 </td>
117123 </tr>
Index: branches/fundraising/deployment/payments_1.17/extensions/DonationInterface/globalcollect_gateway/forms/html/bt/bt-US.html
@@ -104,13 +104,19 @@
105105 </div>
106106 </div>
107107 <p id="informationsharing">%donate_interface-informationsharing|url%</p>
108 - <!-- TODO: links inside the message or not? -->
109 - <ul id="moreinfolinks">
110 - <li><a href="http://wikimediafoundation.org/wiki/Monthly_donations/en/US">%donate_interface-monthly-donation%</a></li><!-- TODO: localize the link -->
111 - <li>%donate_interface-otherways-short|url%</li><!-- TODO: localize the link -->
112 - <li><a href="http://wikimediafoundation.org/wiki/FAQ/en">%donate_interface-faqs%</a></li><!-- TODO: localize the link -->
113 - <!--<li><a href="">%donate_interface-tax-info%</a></li>--><!-- TODO: localize the link -->
114 - </ul>
 108+ <table>
 109+ <tr>
 110+ <td>
 111+ <ul id="moreinfolinks">
 112+ <li><a href="http://wikimediafoundation.org/wiki/Special:LandingCheck?landing_page=Monthly_donations&language=@language&uselang=@language&country=@country">%donate_interface-monthly-donation%</a></li>
 113+ <li><a href="http://wikimediafoundation.org/wiki/Special:LandingCheck?landing_page=Ways_to_Give&language=@language&uselang=@language&country=@country">%donate_interface-otherways-short%</a></li>
 114+ <li><a href="http://wikimediafoundation.org/wiki/Special:LandingCheck?landing_page=FAQ&language=@language&uselang=@language&country=@country">%donate_interface-faqs%</a></li>
 115+ <!--<li><a href="">%donate_interface-tax-info%</a></li>--><!-- TODO: localize the link -->
 116+ </ul>
 117+ </td>
 118+ <td>@verisign_logo</td>
 119+ </tr>
 120+ </table>
115121 </div>
116122 </td>
117123 </tr>
Index: branches/fundraising/deployment/payments_1.17/extensions/DonationInterface/globalcollect_gateway/forms/html/webitects_2_3step.html
@@ -109,8 +109,8 @@
110110 <input type="hidden" value="0" name="PaypalRedirect" id="PaypalRedirect">
111111
112112 <input type="hidden" value="@amount" name="amount" />
113 - <input type="hidden" value="@country" name="country" id="country" />
114 - <input type="hidden" value="@currency_code" name="currency_code" />
 113+ <input type="hidden" value="US" name="country" id="country" />
 114+ <input type="hidden" value="USD" name="currency_code" />
115115 <input type="hidden" value="@utm_source" name="utm_source"/>
116116 <input type="hidden" value="@utm_medium" name="utm_medium"/>
117117 <input type="hidden" value="@utm_campaign" name="utm_campaign"/>
Index: branches/fundraising/deployment/payments_1.17/extensions/DonationInterface/globalcollect_gateway/forms/js/webitects_2_3step.js
@@ -56,6 +56,22 @@
5757 }
5858 showAmount( $( 'input[name="amount"]' ) ); // lets go ahead and assume there is something to show
5959 }
 60+
 61+ // If the form is being reloaded, restore the amount
 62+ var previousAmount = $( 'input[name="amount"]' ).val();
 63+ if ( previousAmount && previousAmount > 0 ) {
 64+ var matched = false;
 65+ $( 'input[name="amountRadio"]' ).each( function( index ) {
 66+ if ( $( this ).val() == previousAmount ) {
 67+ $( this ).attr( 'checked', true );
 68+ matched = true;
 69+ }
 70+ } );
 71+ if ( !matched ) {
 72+ $( 'input#input_amount_other' ).attr( 'checked', true );
 73+ $( 'input#other-amount' ).val( previousAmount );
 74+ }
 75+ }
6076
6177 $( "#cc" ).click( function() {
6278 /* safety check for people who hit the back button */
Index: branches/fundraising/deployment/payments_1.17/extensions/DonationInterface/globalcollect_gateway/forms/js/webitects.js
@@ -9,19 +9,44 @@
1010 if ( matches && matches[1] ) {
1111 language = matches[1];
1212 }
 13+
 14+ var currencyField = document.getElementById( 'input_currency_code' );
 15+ var currency = '';
 16+ if ( currencyField && currencyField.type == 'select-one' ) { // currency is a dropdown select
 17+ currency = $( 'select#input_currency_code option:selected' ).val();
 18+ } else {
 19+ currency = $( "input[name='currency_code']" ).val();
 20+ }
 21+
 22+ var stateField = document.getElementById( 'state' );
 23+ var state = '';
 24+ if ( stateField && stateField.type == 'select-one' ) { // state is a dropdown select
 25+ state = $( 'select#state option:selected' ).val();
 26+ } else {
 27+ state = $( "input[name='state']" ).val();
 28+ }
 29+
 30+ var countryField = document.getElementById( 'country' );
 31+ var country = '';
 32+ if ( countryField && countryField.type == 'select-one' ) { // country is a dropdown select
 33+ country = $( 'select#country option:selected' ).val();
 34+ } else {
 35+ country = $( "input[name='country']" ).val();
 36+ }
 37+
1338 var sendData = {
1439 'action': 'donate',
1540 'gateway': 'globalcollect',
16 - 'currency': $( "input[name='currency_code']" ).val(),
 41+ 'currency': currency,
1742 'amount': $( "input[name='amount']" ).val(),
1843 'fname': $( "input[name='fname']" ).val(),
1944 'lname': $( "input[name='lname']" ).val(),
2045 'street': $( "input[name='street']" ).val(),
2146 'city': $( "input[name='city']" ).val(),
22 - 'state': $( "input[name='state']" ).val(),
 47+ 'state': state,
2348 'zip': $( "input[name='zip']" ).val(),
2449 'emailAdd': $( "input[name='emailAdd']" ).val(),
25 - 'country': $( "input[name='country']" ).val(),
 50+ 'country': country,
2651 'payment_method': 'cc',
2752 'language': language,
2853 'card_type': $( "input[name='cardtype']:checked" ).val().toLowerCase(),
@@ -72,93 +97,6 @@
7398 $( "#change-amount" ).show();
7499 }
75100 window.validateAmount = function() {
76 -
77 - // If you change these, also change in currencyRates.inc.
78 - var minimums = {
79 - 'AED': 4,
80 - 'ARS': 4,
81 - 'AUD': 1,
82 - 'BBD': 2,
83 - 'BDT': 76,
84 - 'BGN': 1.4,
85 - 'BHD': 0.4,
86 - 'BMD': 1,
87 - 'BND': 1.3,
88 - 'BOB': 7,
89 - 'BRL': 1.7,
90 - 'BSD': 1,
91 - 'BZD': 2,
92 - 'CAD': 1,
93 - 'CHF': 0.9,
94 - 'CLP': 494,
95 - 'CNY': 6,
96 - 'COP': 1910,
97 - 'CRC': 512,
98 - 'CZK': 18,
99 - 'DKK': 5,
100 - 'DOP': 38,
101 - 'DZD': 73,
102 - 'EEK': 11,
103 - 'EGP': 6,
104 - 'EUR': 0.7,
105 - 'GBP': 0.6,
106 - 'GTQ': 7.8,
107 - 'HKD': 7.7,
108 - 'HNL': 19,
109 - 'HRK': 5,
110 - 'HUF': 219,
111 - 'IDR': 8960,
112 - 'ILS': 3.6,
113 - 'INR': 49,
114 - 'JMD': 85,
115 - 'JOD': 0.7,
116 - 'JPY': 78,
117 - 'KES': 97,
118 - 'KRW': 1127,
119 - 'KYD': 0.8,
120 - 'KZT': 147,
121 - 'LBP': 1500,
122 - 'LKR': 110,
123 - 'LTL': 2.5,
124 - 'LVL': 0.5,
125 - 'MAD': 8.1,
126 - 'MKD': 45,
127 - 'MUR': 29,
128 - 'MVR': 15,
129 - 'MXN': 13,
130 - 'MYR': 3,
131 - 'NOK': 5.5,
132 - 'NZD': 1.2,
133 - 'OMR': 0.3,
134 - 'PAB': 1,
135 - 'PEN': 2.7,
136 - 'PHP': 43,
137 - 'PKR': 86,
138 - 'PLN': 3,
139 - 'PYG': 4190,
140 - 'QAR': 3.6,
141 - 'RON': 3.1,
142 - 'RUB': 30,
143 - 'SAR': 3.7,
144 - 'SEK': 6.5,
145 - 'SGD': 1.2,
146 - 'SVC': 8.7,
147 - 'THB': 30,
148 - 'TJS': 4.7,
149 - 'TND': 1.4,
150 - 'TRY': 1.7,
151 - 'TTD': 6,
152 - 'TWD': 30,
153 - 'UAH': 8,
154 - 'USD': 1,
155 - 'UYU': 19,
156 - 'UZS': 1760,
157 - 'VND': 21000,
158 - 'XAF': 470,
159 - 'XCD': 2.7,
160 - 'XOF': 476,
161 - 'ZAR': 7.8
162 - };
163101 var error = true;
164102 var amount = $( 'input[name="amount"]' ).val(); // get the amount
165103 // Normalize weird amount formats.
@@ -174,11 +112,11 @@
175113
176114 // Check amount is at least the minimum
177115 var currency_code = $( 'input[name="currency_code"]' ).val();
178 - if ( typeof( minimums[currency_code] ) == 'undefined' ) {
179 - minimums[currency_code] = 1;
 116+ if ( typeof( wgCurrencyMinimums[currency_code] ) == 'undefined' ) {
 117+ wgCurrencyMinimums[currency_code] = 1;
180118 }
181 - if ( amount < minimums[currency_code] || error ) {
182 - alert( 'You must contribute at least $1'.replace( '$1', minimums[currency_code] + ' ' + currency_code ) );
 119+ if ( amount < wgCurrencyMinimums[currency_code] || error ) {
 120+ alert( 'You must contribute at least $1'.replace( '$1', wgCurrencyMinimums[currency_code] + ' ' + currency_code ) );
183121 error = true;
184122 }
185123 return !error;
Index: branches/fundraising/deployment/payments_1.17/extensions/DonationInterface/globalcollect_gateway/forms/js/webitects2nd.js
@@ -0,0 +1,136 @@
 2+/*
 3+ * The following variable are declared inline in webitects_2_3step.html:
 4+ * amountErrors, billingErrors, paymentErrors, scriptPath, actionURL
 5+ */
 6+$( document ).ready( function () {
 7+
 8+ // check for RapidHtml errors and display, if any
 9+ var amountErrorString = "",
 10+ billingErrorString = "",
 11+ paymentErrorString = "";
 12+
 13+ // generate formatted errors to display
 14+ var temp = [];
 15+ for ( var e in amountErrors )
 16+ if ( amountErrors[e] != "" )
 17+ temp[temp.length] = amountErrors[e];
 18+ amountErrorString = temp.join( "<br />" );
 19+
 20+ temp = [];
 21+ for ( var f in billingErrors )
 22+ if ( billingErrors[f] != "" )
 23+ temp[temp.length] = billingErrors[f];
 24+ billingErrorString = temp.join( "<br />" );
 25+
 26+ temp = [];
 27+ for ( var g in paymentErrors )
 28+ if ( paymentErrors[g] != "" )
 29+ temp[temp.length] = paymentErrors[g];
 30+ paymentErrorString = temp.join( "<br />" );
 31+
 32+ // show the errors
 33+ var prevError = false;
 34+ if ( amountErrorString != "" ) {
 35+ $( "#amtErrorMessages" ).html( amountErrorString );
 36+ prevError = true;
 37+ showStep2(); // init the headers
 38+ showStep3();
 39+ showStep1(); // should be default, but ensure
 40+ }
 41+ if ( billingErrorString != "" ) {
 42+ $( "#billingErrorMessages" ).html( billingErrorString );
 43+ if ( !prevError ) {
 44+ showStep1(); // init the headers
 45+ showStep3();
 46+ showStep2();
 47+ prevError = true;
 48+ }
 49+ showAmount( $( 'input[name="amount"]' ) ); // lets go ahead and assume there is something to show
 50+ }
 51+ if ( paymentErrorString != "" ) {
 52+ $( "#paymentErrorMessages" ).html( paymentErrorString );
 53+ if ( !prevError ) {
 54+ showStep1(); // init the headers
 55+ showStep2();
 56+ showStep3();
 57+ }
 58+ showAmount( $( 'input[name="amount"]' ) ); // lets go ahead and assume there is something to show
 59+ }
 60+
 61+ $( "#paymentContinueBtn" ).live( "click", function() {
 62+ if ( validate_personal( document.paypalcontribution ) ) {
 63+ displayCreditCardForm()
 64+ }
 65+ } );
 66+ // Set the cards to progress to step 3
 67+ $( ".cardradio" ).live( "click", function() {
 68+ if ( validate_personal( document.paypalcontribution ) ) {
 69+ displayCreditCardForm()
 70+ }
 71+ else {
 72+ // show the continue button to indicate how to get to step 3 since they
 73+ // have already clicked on a card image
 74+ $( "#paymentContinue" ).show();
 75+ }
 76+ } );
 77+
 78+ // init all of the header actions
 79+ $( "#step1header" ).click( function() {
 80+ showStep1();
 81+ } );
 82+ $( "#step2header" ).click( function() {
 83+ showStep2();
 84+ } );
 85+ // Set selected amount to amount
 86+ $( 'input[name="amountRadio"]' ).click( function() {
 87+ setAmount( $( this ) );
 88+ } );
 89+ // reset the amount field when "other" is changed
 90+ $( "#other-amount" ).change( function() {
 91+ setAmount( $( this ) );
 92+ } );
 93+
 94+ // show the CVV help image on click
 95+ $( "#where" ).click( function() {
 96+ $( "#codes" ).toggle();
 97+ return false;
 98+ } );
 99+
 100+} );
 101+
 102+
 103+window.showStep1 = function() {
 104+ // show the correct sections
 105+ $( "#step1wrapper" ).slideDown();
 106+ $( "#step2wrapper" ).slideUp();
 107+ $( "#step3wrapper" ).slideUp();
 108+ $( "#change-amount" ).hide();
 109+ $( "#change-billing" ).show();
 110+ $( "#change-payment" ).show();
 111+ $( "#step1header" ).show(); // just in case
 112+}
 113+
 114+window.showStep2 = function() {
 115+ if ( $( '#step3wrapper' ).is(":visible") ) {
 116+ $( "#paymentContinue" ).show(); // Show continue button in 2nd section
 117+ }
 118+ // show the correct sections
 119+ $( "#step1wrapper" ).slideUp();
 120+ $( "#step2wrapper" ).slideDown();
 121+ $( "#step3wrapper" ).slideUp();
 122+ $( "#change-amount" ).show();
 123+ $( "#change-billing" ).hide();
 124+ $( "#change-payment" ).show();
 125+ $( "#step2header" ).show(); // just in case
 126+}
 127+
 128+window.showStep3 = function() {
 129+ // show the correct sections
 130+ $( "#step1wrapper" ).slideUp();
 131+ $( "#step2wrapper" ).slideUp();
 132+ $( "#step3wrapper" ).slideDown();
 133+ $( "#change-amount" ).show();
 134+ $( "#change-billing" ).show();
 135+ $( "#change-payment" ).hide();
 136+ $( "#step3header" ).show(); // just in case
 137+}
\ No newline at end of file
Property changes on: branches/fundraising/deployment/payments_1.17/extensions/DonationInterface/globalcollect_gateway/forms/js/webitects2nd.js
___________________________________________________________________
Added: svn:eol-style
1138 + native
Index: branches/fundraising/deployment/payments_1.17/extensions/DonationInterface/globalcollect_gateway/forms/js/lightbox1.js
@@ -7,6 +7,23 @@
88 modal: true,
99 title: 'Donate by Credit Card'
1010 } );
 11+
 12+ // If the form is being reloaded, restore the amount
 13+ var previousAmount = $( 'input[name="amount"]' ).val();
 14+ if ( previousAmount && previousAmount > 0 ) {
 15+ var matched = false;
 16+ $( 'input[name="amountRadio"]' ).each( function( index ) {
 17+ if ( $( this ).val() == previousAmount ) {
 18+ $( this ).attr( 'checked', true );
 19+ matched = true;
 20+ }
 21+ } );
 22+ if ( !matched ) {
 23+ $( 'input#input_amount_other' ).attr( 'checked', true );
 24+ $( 'input#other-amount' ).val( previousAmount );
 25+ }
 26+ }
 27+
1128 $( '#cc' ).click( function() {
1229 if ( validateAmount( document.paypalcontribution ) ) {
1330 $( '#dialog' ).dialog( 'open' );
@@ -191,9 +208,6 @@
192209 }
193210
194211 function validateAmount(){
195 - var minimums = {
196 - 'USD' : 1
197 - };
198212 var error = true;
199213 var amount = $( "input[name='amount']" ).val(); // get the amount
200214 var otherAmount = amount // create a working copy
@@ -209,11 +223,11 @@
210224 // Check amount is at least the minimum
211225 var currency = 'USD'; // hard-coded for these forms and tests
212226 $( "input[name='currency']" ).val( currency );
213 - if ( typeof( minimums[currency] ) == 'undefined' ) {
214 - minimums[currency] = 1;
 227+ if ( typeof( wgCurrencyMinimums[currency] ) == 'undefined' ) {
 228+ wgCurrencyMinimums[currency] = 1;
215229 }
216 - if ( amount < minimums[currency] || error ) {
217 - alert( 'You must contribute at least $1'.replace('$1', minimums[currency] + ' ' + currency ) );
 230+ if ( amount < wgCurrencyMinimums[currency] || error ) {
 231+ alert( 'You must contribute at least $1'.replace('$1', wgCurrencyMinimums[currency] + ' ' + currency ) );
218232 error = true;
219233 }
220234 return !error;
Index: branches/fundraising/deployment/payments_1.17/extensions/DonationInterface/globalcollect_gateway/globalcollect_gateway.body.php
@@ -258,6 +258,8 @@
259259
260260 $return .= Xml::closeElement( 'table' ); // close $id . '_table'
261261
 262+ $return .= Xml::tags( 'p', array(), wfMsg( 'donate_interface-bank_transfer_message' ) );
 263+
262264 $queryString = '?payment_method=' . $this->adapter->getPaymentMethod() . '&payment_submethod=' . $this->adapter->getPaymentSubmethod();
263265
264266 $url = $this->adapter->getGlobal( 'ThankYouPage' ) . '/' . $this->adapter->getTransactionDataLanguage() . $queryString;
Index: branches/fundraising/deployment/payments_1.17/extensions/DonationInterface/globalcollect_gateway/globalcollect_gateway.i18n.php
@@ -243,6 +243,28 @@
244244 Per favor reproba plus tarde.',
245245 );
246246
 247+/** Indonesian (Bahasa Indonesia)
 248+ * @author Kenrick95
 249+ */
 250+$messages['id'] = array(
 251+ 'globalcollectgateway' => 'Menyumbanglah sekarang',
 252+ 'globalcollect_gateway-desc' => 'Pemrosesan pembayaran GlobalCollect',
 253+ 'globalcollect_gateway-response-9130' => 'Negara tidak valid.',
 254+ 'globalcollect_gateway-response-9140' => 'Mata uang tidak valid.',
 255+ 'globalcollect_gateway-response-9150' => 'Bahasa tidak valid.',
 256+ 'globalcollect_gateway-response-400530' => 'Metode pembayaran tidak valid.',
 257+ 'globalcollect_gateway-response-430306' => 'Kartu kredit Anda telah kadaluarsa. Silakan coba dengan kartu kredit yang lain atau metode pembayaran lainnya.',
 258+ 'globalcollect_gateway-response-430330' => 'Nomor kartu tidak valid.',
 259+ 'globalcollect_gateway-response-430421' => 'Kartu kredit Anda tidak dapat divalidasi. Mohon verifikasi bahwa semua informasi cocok dengan profil kartu kredit Anda, atau coba dengan kartu yang lain.',
 260+ 'globalcollect_gateway-response-430360' => 'Transaksi tidak dapat diotorisasi. Silakan coba dengan kartu yang lain atau metode pembayaran lainnya.',
 261+ 'globalcollect_gateway-response-430285' => 'Transaksi tidak dapat diotorisasi. Silakan coba dengan kartu yang lain atau metode pembayaran lainnya.',
 262+ 'globalcollect_gateway-response-21000150' => 'Nomor rekening bank tidak valid.',
 263+ 'globalcollect_gateway-response-21000155' => 'Kode bank tidak valid.',
 264+ 'globalcollect_gateway-response-21000160' => 'Nomor rekening giro tidak valid.',
 265+ 'globalcollect_gateway-response-default' => 'Terjadi kesalahan dalam pemrosesan transaksi Anda.
 266+Silakan coba lagi nanti.',
 267+);
 268+
247269 /** Luxembourgish (Lëtzebuergesch)
248270 * @author Robby
249271 */
@@ -378,6 +400,29 @@
379401 Spróbuj ponownie później.',
380402 );
381403
 404+/** Russian (Русский)
 405+ * @author Kaganer
 406+ * @author Александр Сигачёв
 407+ */
 408+$messages['ru'] = array(
 409+ 'globalcollectgateway' => 'Сделайте пожертвование сейчас',
 410+ 'globalcollect_gateway-desc' => 'Шлюз обработки платежей GlobalCollect',
 411+ 'globalcollect_gateway-response-9130' => 'Указана неподдерживаемая страна.',
 412+ 'globalcollect_gateway-response-9140' => 'Указана неподдерживаемая валюта.',
 413+ 'globalcollect_gateway-response-9150' => 'Указан неподдерживаемый язык.',
 414+ 'globalcollect_gateway-response-400530' => 'Некорректный способ платежа.',
 415+ 'globalcollect_gateway-response-430306' => 'Истёк срок действия вашей кредитной карты. Пожалуйста, попробуйте использовать другую карту или выберите другой способ платежа.',
 416+ 'globalcollect_gateway-response-430330' => 'Некорректный номер карты.',
 417+ 'globalcollect_gateway-response-430421' => 'Ваша кредитная карта не прошла проверку. Пожалуйста, проверьте, что вся введённая вами информация соответствует данным вашей карты, или попробуйте использовать другую карту.',
 418+ 'globalcollect_gateway-response-430360' => 'Транзакция не может быть авторизована. Пожалуйста, попробуйте использовать другую карту или выберите другой способ платежа.',
 419+ 'globalcollect_gateway-response-430285' => 'Транзакция не может быть авторизована. Пожалуйста, попробуйте использовать другую карту или выберите другой способ платежа.',
 420+ 'globalcollect_gateway-response-21000150' => 'Неправильный номер банковского счёта.',
 421+ 'globalcollect_gateway-response-21000155' => 'Неправильный код банка.',
 422+ 'globalcollect_gateway-response-21000160' => 'Неправильный номер счёта giro.',
 423+ 'globalcollect_gateway-response-default' => 'При обработке вашей транзакции возникла ошибка.
 424+Пожалуйста, повторите попытку позже.',
 425+);
 426+
382427 /** Slovenian (Slovenščina)
383428 * @author Artelind
384429 * @author Dbc334
@@ -388,16 +433,16 @@
389434 'globalcollect_gateway-response-9130' => 'Neveljavna država.',
390435 'globalcollect_gateway-response-9140' => 'Neveljavna valuta.',
391436 'globalcollect_gateway-response-9150' => 'Neveljaven jezik.',
392 - 'globalcollect_gateway-response-400530' => 'Neveljavna plačilna metoda.',
393 - 'globalcollect_gateway-response-430306' => 'Vaša kreditna kartica je potekla. Prosimo poskusite z drugo kartico, ali pa uporabite katero od naših drugih plačilnih metod.',
394 - 'globalcollect_gateway-response-430330' => 'Številka kartice je neveljavna.',
395 - 'globalcollect_gateway-response-430421' => 'Vaše kreditne kartice se ni dalo potrditi. Prosimo preverite, če so podatki o Vaši kreditni kartici pravilni, ali pa poskusite z drugo kartico.',
396 - 'globalcollect_gateway-response-430360' => 'Pri potrjevanju transakcije je prišlo do napake. Prosimo poskusite z drugo kartico, ali pa uporabite katero od naših drugih plačilnih metod.',
397 - 'globalcollect_gateway-response-430285' => 'Pri potrjevanju transakcije je prišlo do napake. Prosimo poskusite z drugo kartico, ali pa uporabite katero od naših drugih plačilnih metod.',
 437+ 'globalcollect_gateway-response-400530' => 'Neveljaven način plačila.',
 438+ 'globalcollect_gateway-response-430306' => 'Vaša kreditna kartica je potekla. Prosimo, poskusite z drugo kartico ali pa uporabite katerega od naših drugih načinov plačila.',
 439+ 'globalcollect_gateway-response-430330' => 'Številka kartice ni veljavna.',
 440+ 'globalcollect_gateway-response-430421' => 'Vaše kreditne kartice ni bilo mogoče potrditi. Prosimo, preverite, da so podatki o vaši kreditni kartici pravilni, ali pa poskusite z drugo kartico.',
 441+ 'globalcollect_gateway-response-430360' => 'Pri potrjevanju transakcije je prišlo do napake. Prosimo, poskusite z drugo kartico ali pa uporabite katerega od naših drugih načinov plačila.',
 442+ 'globalcollect_gateway-response-430285' => 'Pri potrjevanju transakcije je prišlo do napake. Prosimo, poskusite z drugo kartico ali pa uporabite katerega od naših drugih načinov plačila.',
398443 'globalcollect_gateway-response-21000150' => 'Številka bančnega računa je napačna.',
399444 'globalcollect_gateway-response-21000155' => 'Številka banke je napačna.',
400 - 'globalcollect_gateway-response-21000160' => 'Številka žiro računa je napačna.',
401 - 'globalcollect_gateway-response-default' => 'Pri obdelavi Vaše transakcije je prišlo do napake. Prosimo poskusite kasneje.',
 445+ 'globalcollect_gateway-response-21000160' => 'Številka žiroračuna je napačna.',
 446+ 'globalcollect_gateway-response-default' => 'Pri obdelavi vaše transakcije je prišlo do napake. Prosimo, poskusite pozneje.',
402447 );
403448
404449 /** Swahili (Kiswahili)
Index: branches/fundraising/deployment/payments_1.17/extensions/DonationInterface/modules/validate_input.js
@@ -0,0 +1,203 @@
 2+window.addEvent = function(obj, evType, fn) {
 3+ if (obj.addEventListener){
 4+ obj.addEventListener(evType, fn, false);
 5+ return true;
 6+ } else if (obj.attachEvent){
 7+ var r = obj.attachEvent("on"+evType, fn);
 8+ return r;
 9+ } else {
 10+ return false;
 11+ }
 12+};
 13+
 14+window.getIfSessionSet = function() {
 15+ sajax_do_call( 'efPayflowGatewayCheckSession', [], checkSession );
 16+};
 17+
 18+window.clearField = function( field, defaultValue ) {
 19+ if (field.value == defaultValue) {
 20+ field.value = '';
 21+ field.style.color = 'black';
 22+ }
 23+};
 24+window.clearField2 = function( field, defaultValue ) {
 25+ if (field.value != defaultValue) {
 26+ field.value = '';
 27+ field.style.color = 'black';
 28+ }
 29+};
 30+
 31+window.switchToPayPal = function() {
 32+ document.getElementById('payflow-table-cc').style.display = 'none';
 33+ document.getElementById('payflowpro_gateway-form-submit').style.display = 'none';
 34+ document.getElementById('payflowpro_gateway-form-submit-paypal').style.display = 'block';
 35+};
 36+window.switchToCreditCard = function() {
 37+ document.getElementById('payflow-table-cc').style.display = 'table';
 38+ document.getElementById('payflowpro_gateway-form-submit').style.display = 'block';
 39+ document.getElementById('payflowpro_gateway-form-submit-paypal').style.display = 'none';
 40+};
 41+
 42+/*
 43+ * Validates the personal information fields
 44+ *
 45+ * @input form The form containing the inputs to be checked
 46+ *
 47+ * @return boolean true if no errors, false otherwise (also uses an alert() to notify the user)
 48+ */
 49+window.validate_personal = function( form ){
 50+
 51+ // TODO: this form should only report a single error for the email address?
 52+
 53+ var output = '';
 54+ var currField = '';
 55+ var i = 0;
 56+ var fields = ['fname','lname','street','city','zip', 'emailAdd'],
 57+ numFields = fields.length;
 58+ for( i = 0; i < numFields; i++ ) {
 59+ // See if the field is empty or equal to the placeholder
 60+ if( document.getElementById( fields[i] ).value == '' || document.getElementById( fields[i] ).value == mw.msg( 'donate_interface-donor-'+fields[i] ) ) {
 61+ currField = mw.msg( 'donate_interface-error-msg-' + fields[i] );
 62+ output += mw.msg( 'donate_interface-error-msg-js' ) + ' ' + currField + '.\r\n';
 63+ }
 64+ }
 65+
 66+ var stateField = document.getElementById( 'state' );
 67+ if ( stateField && stateField.type == 'select-one' ) { // state is a dropdown select
 68+ var selectedState = stateField.options[stateField.selectedIndex].value;
 69+ if ( selectedState == 'YY' || selectedState == '' ) {
 70+ output += mw.msg( 'donate_interface-error-msg-js' ) + ' ' + mw.msg( 'donate_interface-state-province' ) + '.\r\n';
 71+ }
 72+ }
 73+
 74+ var countryField = document.getElementById( 'country' );
 75+ if ( countryField && countryField.type == 'select-one' ) { // country is a dropdown select
 76+ if ( countryField.options[countryField.selectedIndex].value == '' ) {
 77+ output += mw.msg( 'donate_interface-error-msg-js' ) + ' ' + mw.msg( 'donate_interface-error-msg-country' ) + '.\r\n';
 78+ }
 79+ } else { // country is a hidden or text input
 80+ if ( countryField.value == '' ) {
 81+ output += mw.msg( 'donate_interface-error-msg-js' ) + ' ' + mw.msg( 'donate_interface-error-msg-country' ) + '.\r\n';
 82+ }
 83+ }
 84+
 85+ // validate email address
 86+ var apos = form.emailAdd.value.indexOf("@");
 87+ var dotpos = form.emailAdd.value.lastIndexOf(".");
 88+
 89+ if( apos < 1 || dotpos-apos < 2 ) {
 90+ output += mw.msg( 'donate_interface-error-msg-email' );
 91+ }
 92+
 93+ if( output ) {
 94+ alert( output );
 95+ return false;
 96+ }
 97+
 98+ return true;
 99+};
 100+
 101+window.validate_form = function( form ) {
 102+ if( form == null ){
 103+ form = document.payment
 104+ }
 105+
 106+ var output = '';
 107+ var currField = '';
 108+ var i = 0;
 109+ var fields = ['fname','lname','street','city','zip', 'emailAdd', 'card_num','cvv'],
 110+ numFields = fields.length;
 111+ for( i = 0; i < numFields; i++ ) {
 112+ // See if the field is empty or equal to the placeholder
 113+ if( document.getElementById( fields[i] ).value == '' || document.getElementById( fields[i] ).value == mw.msg( 'donate_interface-donor-'+fields[i] ) ) {
 114+ currField = mw.msg( 'donate_interface-error-msg-' + fields[i] );
 115+ output += mw.msg( 'donate_interface-error-msg-js' ) + ' ' + currField + '.\r\n';
 116+ }
 117+ }
 118+
 119+ var stateField = document.getElementById( 'state' );
 120+ console.debug(stateField);
 121+ console.debug(stateField.type);
 122+ if ( stateField && stateField.type == 'select-one' ) { // state is a dropdown select
 123+ var selectedState = stateField.options[stateField.selectedIndex].value;
 124+ console.debug(selectedState);
 125+ if ( selectedState == 'YY' || selectedState == '' ) {
 126+ output += mw.msg( 'donate_interface-error-msg-js' ) + ' ' + mw.msg( 'donate_interface-state-province' ) + '.\r\n';
 127+ }
 128+ }
 129+
 130+ var countryField = document.getElementById( 'country' );
 131+ if ( countryField && countryField.type == 'select-one' ) { // country is a dropdown select
 132+ if ( countryField.options[countryField.selectedIndex].value == '' ) {
 133+ output += mw.msg( 'donate_interface-error-msg-js' ) + ' ' + mw.msg( 'donate_interface-error-msg-country' ) + '.\r\n';
 134+ }
 135+ } else { // country is a hidden or text input
 136+ if ( countryField.value == '' ) {
 137+ output += mw.msg( 'donate_interface-error-msg-js' ) + ' ' + mw.msg( 'donate_interface-error-msg-country' ) + '.\r\n';
 138+ }
 139+ }
 140+
 141+ // validate email address
 142+ var apos = form.emailAdd.value.indexOf("@");
 143+ var dotpos = form.emailAdd.value.lastIndexOf(".");
 144+
 145+ if( apos < 1 || dotpos-apos < 2 ) {
 146+ output += mw.msg( 'donate_interface-error-msg-email' );
 147+ }
 148+
 149+ if( output ) {
 150+ alert( output );
 151+ return false;
 152+ }
 153+
 154+ return true;
 155+};
 156+
 157+window.submit_form = function( ccform ) {
 158+ if ( validate_form( ccform )) {
 159+ // weird hack!!!!!! for some reason doing just ccform.submit() throws an error....
 160+ $j(ccform).submit();
 161+ }
 162+ return true;
 163+};
 164+
 165+window.disableStates = function( form ) {
 166+
 167+ if ( document.payment.country.value != 'US' ) {
 168+ document.payment.state.value = 'XX';
 169+ } else {
 170+ document.payment.state.value = 'YY';
 171+ }
 172+
 173+ return true;
 174+};
 175+
 176+window.showCards = function() {
 177+ if ( document.getElementById('four_cards') && document.getElementById('two_cards') ) {
 178+ var index = document.getElementById('input_currency_code').selectedIndex;
 179+ if ( document.getElementById('input_currency_code').options[index].value == 'USD' ) {
 180+ document.getElementById('four_cards').style.display = 'table-row';
 181+ document.getElementById('two_cards').style.display = 'none';
 182+ } else {
 183+ document.getElementById('four_cards').style.display = 'none';
 184+ document.getElementById('two_cards').style.display = 'table-row';
 185+ }
 186+ }
 187+};
 188+
 189+window.cvv = '';
 190+
 191+window.PopupCVV = function() {
 192+ cvv = window.open("", 'cvvhelp','scrollbars=yes,resizable=yes,width=600,height=400,left=200,top=100');
 193+ cvv.document.write( payflowproGatewayCVVExplain );
 194+ cvv.focus();
 195+};
 196+
 197+window.CloseCVV = function() {
 198+ if (cvv) {
 199+ if (!cvv.closed) cvv.close();
 200+ cvv = null;
 201+ }
 202+};
 203+
 204+window.onfocus = CloseCVV;
Property changes on: branches/fundraising/deployment/payments_1.17/extensions/DonationInterface/modules/validate_input.js
___________________________________________________________________
Added: svn:eol-style
1205 + native
Index: branches/fundraising/deployment/payments_1.17/extensions/DonationInterface/modules/validate.currencyMinimums.js
@@ -0,0 +1,86 @@
 2+// If you change these, also change in currencyRates.inc.
 3+window.wgCurrencyMinimums = {
 4+ 'AED': 4,
 5+ 'ARS': 4,
 6+ 'AUD': 1,
 7+ 'BBD': 2,
 8+ 'BDT': 76,
 9+ 'BGN': 1.4,
 10+ 'BHD': 0.4,
 11+ 'BMD': 1,
 12+ 'BND': 1.3,
 13+ 'BOB': 7,
 14+ 'BRL': 1.7,
 15+ 'BSD': 1,
 16+ 'BZD': 2,
 17+ 'CAD': 1,
 18+ 'CHF': 0.9,
 19+ 'CLP': 494,
 20+ 'CNY': 6,
 21+ 'COP': 1910,
 22+ 'CRC': 512,
 23+ 'CZK': 18,
 24+ 'DKK': 5,
 25+ 'DOP': 38,
 26+ 'DZD': 73,
 27+ 'EEK': 11,
 28+ 'EGP': 6,
 29+ 'EUR': 0.7,
 30+ 'GBP': 0.6,
 31+ 'GTQ': 7.8,
 32+ 'HKD': 7.7,
 33+ 'HNL': 19,
 34+ 'HRK': 5,
 35+ 'HUF': 219,
 36+ 'IDR': 8960,
 37+ 'ILS': 3.6,
 38+ 'INR': 49,
 39+ 'JMD': 85,
 40+ 'JOD': 0.7,
 41+ 'JPY': 78,
 42+ 'KES': 97,
 43+ 'KRW': 1127,
 44+ 'KYD': 0.8,
 45+ 'KZT': 147,
 46+ 'LBP': 1500,
 47+ 'LKR': 110,
 48+ 'LTL': 2.5,
 49+ 'LVL': 0.5,
 50+ 'MAD': 8.1,
 51+ 'MKD': 45,
 52+ 'MUR': 29,
 53+ 'MVR': 15,
 54+ 'MXN': 13,
 55+ 'MYR': 3,
 56+ 'NOK': 5.5,
 57+ 'NZD': 1.2,
 58+ 'OMR': 0.3,
 59+ 'PAB': 1,
 60+ 'PEN': 2.7,
 61+ 'PHP': 43,
 62+ 'PKR': 86,
 63+ 'PLN': 3,
 64+ 'PYG': 4190,
 65+ 'QAR': 3.6,
 66+ 'RON': 3.1,
 67+ 'RUB': 30,
 68+ 'SAR': 3.7,
 69+ 'SEK': 6.5,
 70+ 'SGD': 1.2,
 71+ 'SVC': 8.7,
 72+ 'THB': 30,
 73+ 'TJS': 4.7,
 74+ 'TND': 1.4,
 75+ 'TRY': 1.7,
 76+ 'TTD': 6,
 77+ 'TWD': 30,
 78+ 'UAH': 8,
 79+ 'USD': 1,
 80+ 'UYU': 19,
 81+ 'UZS': 1760,
 82+ 'VND': 21000,
 83+ 'XAF': 470,
 84+ 'XCD': 2.7,
 85+ 'XOF': 476,
 86+ 'ZAR': 7.8
 87+};
\ No newline at end of file
Index: branches/fundraising/deployment/payments_1.17/extensions/DonationInterface/gateway_common/countries.i18n.php
@@ -209,6 +209,7 @@
210210 "donate_interface-country-dropdown-SO" => "Somalia",
211211 "donate_interface-country-dropdown-ZA" => "South Africa",
212212 "donate_interface-country-dropdown-KR" => "South Korea",
 213+ "donate_interface-country-dropdown-SS" => "South Sudan",
213214 "donate_interface-country-dropdown-ES" => "Spain",
214215 "donate_interface-country-dropdown-LK" => "Sri Lanka",
215216 "donate_interface-country-dropdown-SD" => "Sudan",
Index: branches/fundraising/deployment/payments_1.17/extensions/DonationInterface/gateway_common/DonationData.php
@@ -280,6 +280,7 @@
281281 $this->setGateway();
282282 $this->setNormalizedOptOuts();
283283 $this->setLanguage();
 284+ $this->setCountry();
284285 $this->handleContributionTrackingID();
285286 $this->setCurrencyCode();
286287 array_walk( $this->normalized, array( $this, 'sanitizeInput' ) );
@@ -288,6 +289,25 @@
289290
290291 /**
291292 * normalizeAndSanitize helper function
 293+ * Setting the country correctly.
 294+ */
 295+ function setCountry() {
 296+ global $wgRequest;
 297+ if ( !$this->isSomething('country') ){
 298+ // If no country was passed, try to do GeoIP lookup
 299+ // Requires php5-geoip package
 300+ if ( function_exists( 'geoip_country_code_by_name' ) ) {
 301+ $ip = wfGetIP();
 302+ if ( IP::isValid( $ip ) ) {
 303+ $country = geoip_country_code_by_name( $ip );
 304+ $this->setVal('country', $country);
 305+ }
 306+ }
 307+ }
 308+ }
 309+
 310+ /**
 311+ * normalizeAndSanitize helper function
292312 * Setting the currency code correctly.
293313 */
294314 function setCurrencyCode() {
Property changes on: branches/fundraising/deployment/payments_1.17/extensions/DonationInterface/gateway_common/DonationData.php
___________________________________________________________________
Modified: svn:mergeinfo
295315 Merged /trunk/extensions/DonationInterface/gateway_common/DonationData.php:r102189-102241
Index: branches/fundraising/deployment/payments_1.17/extensions/DonationInterface/gateway_common/GatewayForm.php
@@ -197,7 +197,7 @@
198198 ( ( float ) $this->convert_to_usd( $data['currency'], $data['amount'] ) < ( float ) $priceFloor ||
199199 ( float ) $this->convert_to_usd( $data['currency'], $data['amount'] ) > ( float ) $priceCeiling ) ) {
200200
201 - $error['invalidamount'] = wfMsg( 'donate_interface-error-msg', wfMsg( 'donate_interface-error-msg-invalid-amount' ) );
 201+ $error['invalidamount'] = wfMsg( 'donate_interface-error-msg-invalid-amount' );
202202
203203 $this->setValidateFormResult( false );
204204 }
Property changes on: branches/fundraising/deployment/payments_1.17/extensions/DonationInterface
___________________________________________________________________
Modified: svn:mergeinfo
205205 Merged /trunk/extensions/DonationInterface:r102189-102241

Past revisions this follows-up on

RevisionCommit summaryAuthorDate
r102191Revert r102084awjrichards20:09, 6 November 2011
r102195Localisation updates for core and extension messages from translatewiki.netraymond20:51, 6 November 2011
r102196adding support for geoIP lookup to DonationInterfacekaldari20:59, 6 November 2011
r102200fixing state validation in validate_form.js, also moving to moduleskaldari22:30, 6 November 2011
r102203adding South Sudan to countries listkaldari23:00, 6 November 2011
r102213redoing amount validation so we dont have to repeat the list all over the placekaldari00:02, 7 November 2011
r102214fixing bogus error messagekaldari00:26, 7 November 2011
r102215making sure that country and currency_code are hardcoded for webitects payflo...kaldari00:30, 7 November 2011
r102216Adding country select for generic 1Spgehres00:50, 7 November 2011
r102217Adding CSS for country select field.pgehres00:53, 7 November 2011
r102218add secure logo function to create new secure logo and i18n messages for samejamesur00:57, 7 November 2011
r102220I lied, here are the i18n messages for r102218jamesur00:59, 7 November 2011
r102221Adding country select to generic bt formpgehres01:01, 7 November 2011
r102222Removing extra balnk input on province selectpgehres01:05, 7 November 2011
r102223Followup r102218 - fixing lack of tabs and htmlentity-ified query stringawjrichards01:21, 7 November 2011
r102224take out variable that isn't being used currentlyjamesur01:27, 7 November 2011
r102225Adding @verisign_logo RapidHTML tokenpgehres01:32, 7 November 2011
r102226Removing passed language from the verisign token replace FU r102225pgehres01:39, 7 November 2011
r102227adding amount restoration to webitects formskaldari01:44, 7 November 2011
r102228add bank transfer instruction messagejamesur02:13, 7 November 2011
r102229Adding localized messages to bt as well as verisign logopgehres02:16, 7 November 2011
r102230follow-up to r102227 - in case amount is set as 0.00 due to defaults, also ad...kaldari02:26, 7 November 2011
r102231Adding generic 2nd step gc credit card formpgehres02:37, 7 November 2011
r102232hard-coding country and currency for US only formkaldari02:41, 7 November 2011
r102234Fixing links and adding verisign logopgehres02:57, 7 November 2011
r102235Revert r102233, r102219awjrichards03:01, 7 November 2011
r102238Localizing links and messagespgehres03:17, 7 November 2011
r102239checking for select lists in webitects globalcollect formskaldari03:23, 7 November 2011
r102240adjust donationFooter to show new verisign logo if on paymentsjamesur03:27, 7 November 2011

Status & tagging log