Awight has uploaded a new change for review.
https://gerrit.wikimedia.org/r/200094
Change subject: WIP Kill pre-PCI credit card cruft?
......................................................................
WIP Kill pre-PCI credit card cruft?
Change-Id: I98c8d4054ba88eaee7f6f5c1a074c3a739bb1062
---
M DonationInterface.php
M adyen_gateway/forms/html/adyen.html
M gateway_common/DataValidator.php
M gateway_common/DonationData.php
M gateway_common/donation.api.php
M gateway_common/gateway.adapter.php
M gateway_common/i18n/interface/en.json
M gateway_common/i18n/interface/qqq.json
M gateway_forms/RapidHtml.php
A globalcollect_gateway/forms/html/boletos/boletos.html
M globalcollect_gateway/forms/html/bt/bt.html
M globalcollect_gateway/forms/html/cc/cc-a.html
M globalcollect_gateway/forms/html/cc/cc-vm.html
M globalcollect_gateway/forms/html/cc/cc-vma.html
M globalcollect_gateway/forms/html/cc/cc-vmad.html
M globalcollect_gateway/forms/html/cc/cc-vmaj.html
M globalcollect_gateway/forms/html/cc/cc-vmd.html
M globalcollect_gateway/forms/html/cc/cc-vmj.html
M globalcollect_gateway/forms/html/cc/cc.html
A globalcollect_gateway/forms/html/dd/dd-DE.html
A globalcollect_gateway/forms/html/dd/dd-IT.html
A globalcollect_gateway/forms/html/dd/dd-NL.html
M globalcollect_gateway/forms/html/ew/ew-alipay.html
M globalcollect_gateway/forms/html/ew/ew-webmoney.html
M globalcollect_gateway/forms/html/ew/ew-yandex.html
M globalcollect_gateway/forms/html/obt/obt-bpay.html
M globalcollect_gateway/forms/html/rcc/rcc-vm.html
M globalcollect_gateway/forms/html/rcc/rcc-vma.html
M globalcollect_gateway/forms/html/rcc/rcc-vmad.html
M globalcollect_gateway/forms/html/rcc/rcc-vmaj.html
M globalcollect_gateway/forms/html/rcc/rcc-vmd.html
M globalcollect_gateway/forms/html/rcc/rcc-vmj.html
M globalcollect_gateway/forms/html/rcc/rcc.html
M globalcollect_gateway/forms/html/rtbt/rtbt-enets.html
M globalcollect_gateway/forms/html/rtbt/rtbt-eps.html
M globalcollect_gateway/forms/html/rtbt/rtbt-ideal-noadd.html
M globalcollect_gateway/forms/html/rtbt/rtbt-ideal.html
M globalcollect_gateway/forms/html/rtbt/rtbt-sofo-GB.html
M globalcollect_gateway/forms/html/rtbt/rtbt-sofo.html
M globalcollect_gateway/forms/html/webitects2nd-AU.html
M globalcollect_gateway/forms/html/webitects2nd-US.html
M globalcollect_gateway/forms/html/webitects2nd-amex.html
M globalcollect_gateway/forms/html/webitects2nd.html
M globalcollect_gateway/forms/html/webitects2nd_green-US.html
M globalcollect_gateway/forms/html/webitects_2_3step-CA.html
M globalcollect_gateway/forms/html/webitects_2_3step.html
M globalcollect_gateway/forms/html/webitects_2_3stepB-US.html
M globalcollect_gateway/forms/js/gc.js
M globalcollect_gateway/forms/js/webitects.js
M globalcollect_gateway/globalcollect.adapter.php
M tests/Adapter/GlobalCollect/GlobalCollectTest.php
M tests/DonationDataTest.php
M worldpay_gateway/forms/html/worldpay-dd-test.html
M worldpay_gateway/forms/html/worldpay-test.html
M worldpay_gateway/forms/html/worldpay.html
55 files changed, 606 insertions(+), 205 deletions(-)
git pull
ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/DonationInterface
refs/changes/94/200094/1
diff --git a/DonationInterface.php b/DonationInterface.php
index d0d2e64..aba5349 100644
--- a/DonationInterface.php
+++ b/DonationInterface.php
@@ -936,10 +936,6 @@
'donate_interface-error-msg-zip',
'donate_interface-error-msg-postal',
'donate_interface-error-msg-country',
- 'donate_interface-error-msg-card_type',
- 'donate_interface-error-msg-card_num',
- 'donate_interface-error-msg-expiration',
- 'donate_interface-error-msg-cvv',
'donate_interface-error-msg-fiscal_number',
'donate_interface-error-msg-captcha',
'donate_interface-error-msg-captcha-please',
diff --git a/adyen_gateway/forms/html/adyen.html
b/adyen_gateway/forms/html/adyen.html
index e83d213..f35daf2 100644
--- a/adyen_gateway/forms/html/adyen.html
+++ b/adyen_gateway/forms/html/adyen.html
@@ -3,7 +3,6 @@
// these must go through RapidHTML and thus are inline
var amountErrors =
['#general|escape','#retryMsg|escape','#amount|escape'];
var billingErrors =
['#fname|escape','#lname|escape','#city|escape','#country|escape','#street|escape','#state|escape','#zip|escape','#emailAdd|escape'];
- var paymentErrors =
['#card_num|escape','#card_type|escape','#cvv|escape'];
var actionURL = "@action";
var scriptPath = "@script_path";
</script>
diff --git a/gateway_common/DataValidator.php b/gateway_common/DataValidator.php
index d70b51c..111b3ae 100644
--- a/gateway_common/DataValidator.php
+++ b/gateway_common/DataValidator.php
@@ -32,9 +32,6 @@
break;
case 'amount' :
case 'currency_code' :
- case 'card_num':
- case 'card_type':
- case 'cvv':
case 'fname':
case 'lname':
case 'city':
@@ -63,9 +60,6 @@
'general' => '',
'retryMsg' => '',
'amount' => '',
- 'card_num' => '',
- 'card_type' => '',
- 'cvv' => '',
'fname' => '',
'lname' => '',
'city' => '',
@@ -132,12 +126,6 @@
switch ($token){
case 'amount':
$suffix = 'invalid-amount';
- break;
- case 'card_num': //god damn it.
- $suffix = 'card_num'; //more
defaultness.
- if (!is_null($value)){
- $suffix =
self::getCardType($value);
- }
break;
}
@@ -458,46 +446,6 @@
}
/**
- * validate_card_type
- * Determines if the $value passed in is (possibly) a valid credit card
type.
- * @param string $value The piece of data that is supposed to be a
credit card type.
- * @param string $card_number The card number associated with this card
type. Optional.
- * @return boolean True if $value is a reasonable credit card type,
otherwise false.
- */
- protected static function validate_card_type( $value, $card_number = ''
) {
- //@TODO: Find a better way to stop making assumptions about
what payment
- //type we're trying to be, in the data validadtor.
- if ( $card_number != '' ){
- if ( !array_key_exists( $value, self::$card_types ) ){
- return false;
- }
- $calculated_card_type = self::getCardType( $card_number
);
- if ( $calculated_card_type != $value ){
- return false;
- }
- }
-
- return true;
- }
-
-
- /**
- * validate_credit_card
- * Determines if the $value passed in is (possibly) a valid credit card
number.
- * @param string $value The piece of data that is supposed to be a
credit card number.
- * @return boolean True if $value is a reasonable credit card number,
otherwise false.
- */
- protected static function validate_credit_card( $value ) {
- $calculated_card_type = self::getCardType( $value );
- if ( !$calculated_card_type ){
- return false;
- }
-
- return true;
- }
-
-
- /**
* validate_boolean
* Determines if the $value passed in is a valid boolean.
* @param string $value The piece of data that is supposed to be a
boolean.
@@ -765,6 +713,7 @@
* Calculates and returns the card type for a given credit card number.
* @param numeric $card_num A credit card number.
* @return string|bool 'amex', 'mc', 'visa', 'discover', or false.
+ // TODO: Unintentional cc#s are not in PCI scope, so this can finally
go away.
*/
public static function getCardType( $card_num ) {
// validate that credit card number entered is correct and set
the card type
diff --git a/gateway_common/DonationData.php b/gateway_common/DonationData.php
index c200e26..bc47cc5 100644
--- a/gateway_common/DonationData.php
+++ b/gateway_common/DonationData.php
@@ -82,10 +82,6 @@
'state',
'zip',
'country',
- 'card_num',
- 'card_type',
- 'expiration',
- 'cvv',
'currency',
'currency_code',
'payment_method',
@@ -362,20 +358,6 @@
}
- }
-
- /**
- * munge the legacy card_type field into payment_submethod
- */
- protected function renameCardType()
- {
- if ($this->getVal('payment_method') == 'cc')
- {
- if ($this->isSomething('card_type'))
- {
- $this->setVal('payment_submethod',
$this->getVal('card_type'));
- }
- }
}
/**
@@ -689,15 +671,6 @@
$this->setVal( 'email', $email );
$this->expunge( 'emailAdd' );
- }
-
- /**
- * Normalize card number by removing spaces if we have to.
- */
- protected function setCardNum() {
- if ( $this->isSomething( 'card_num' ) ) {
- $this->setVal( 'card_num', str_replace( ' ', '',
$this->getVal( 'card_num' ) ) );
- }
}
/**
diff --git a/gateway_common/donation.api.php b/gateway_common/donation.api.php
index 3ec757a..8f5fa3d 100644
--- a/gateway_common/donation.api.php
+++ b/gateway_common/donation.api.php
@@ -102,10 +102,6 @@
'zip' => $this->defineParam( false ),
'emailAdd' => $this->defineParam( false ),
'country' => $this->defineParam( false ),
- 'card_num' => $this->defineParam( false ),
- 'card_type' => $this->defineParam( false ),
- 'expiration' => $this->defineParam( false ),
- 'cvv' => $this->defineParam( false ),
'payment_method' => $this->defineParam( false ),
'payment_submethod' => $this->defineParam( false ),
'language' => $this->defineParam( false ),
@@ -145,10 +141,6 @@
'zip' => 'Postal code',
'emailAdd' => 'Email address',
'country' => 'Country code',
- 'card_num' => 'Credit card number',
- 'card_type' => 'Credit card type',
- 'expiration' => 'Expiration date',
- 'cvv' => 'CVV security code',
'payment_method' => 'Payment method to use',
'payment_submethod' => 'Payment submethod to use',
'language' => 'Language code',
diff --git a/gateway_common/gateway.adapter.php
b/gateway_common/gateway.adapter.php
index 5ab6582..0e0724d 100644
--- a/gateway_common/gateway.adapter.php
+++ b/gateway_common/gateway.adapter.php
@@ -2704,14 +2704,6 @@
case 'amount' :
$check_not_empty = array(
'amount' );
break;
- case 'creditCard' :
- $check_not_empty = array(
- 'card_num',
- 'cvv',
- 'expiration',
- 'card_type'
- );
- break;
case 'email' :
$check_not_empty = array(
'email' );
break;
diff --git a/gateway_common/i18n/interface/en.json
b/gateway_common/i18n/interface/en.json
index 97bd7ea..bb8bcb1 100644
--- a/gateway_common/i18n/interface/en.json
+++ b/gateway_common/i18n/interface/en.json
@@ -184,10 +184,6 @@
"donate_interface-error-msg-zip": "zip code",
"donate_interface-error-msg-postal": "postal code",
"donate_interface-error-msg-country": "country",
- "donate_interface-error-msg-card_type": "credit card type",
- "donate_interface-error-msg-card_num": "credit card number",
- "donate_interface-error-msg-expiration": "Please enter the card's
expiration date",
- "donate_interface-error-msg-cvv": "Please enter the CVV code, usually
shown on the back of the card",
"donate_interface-error-msg-account_name": "Account name",
"donate_interface-error-msg-account_number": "Account number",
"donate_interface-error-msg-authorization_id": "Authorization ID",
@@ -407,10 +403,6 @@
"apihelp-donate-param-zip": "Postal code.",
"apihelp-donate-param-emailAdd": "Email address.",
"apihelp-donate-param-country": "Country code.",
- "apihelp-donate-param-card_num": "Credit card number.",
- "apihelp-donate-param-card_type": "Credit card type.",
- "apihelp-donate-param-expiration": "Expiration date.",
- "apihelp-donate-param-cvv": "CVV security code.",
"apihelp-donate-param-payment_method": "Payment method to use.",
"apihelp-donate-param-payment_submethod": "Payment submethod to use.",
"apihelp-donate-param-language": "Language code.",
diff --git a/gateway_common/i18n/interface/qqq.json
b/gateway_common/i18n/interface/qqq.json
index 8a8ebf0..fa037d3 100644
--- a/gateway_common/i18n/interface/qqq.json
+++ b/gateway_common/i18n/interface/qqq.json
@@ -187,7 +187,7 @@
"donate_interface-card-name-discover": "Used as item in the \"Credit
card type\" select box.\n\nTrademark name of credit card Discover®, '''not'''
the verb \"to discover\".\n{{Related|Donate
interface-card}}\n{{Identical|Discover}}",
"donate_interface-error-msg-general": "A generic error message.",
"donate_interface-error-msg-nopaypal": "Error message.",
- "donate_interface-error-msg": "{{doc-important|If grammatical issues in
your language prevent you from translating this literally, translate the
following: \"The following field is required: $1\".}}\nParameters:\n* $1 - any
one of a number of messages which are the names of fields, as follows:\n**
{{msg-mw|Donate interface-error-msg-amount}}\n** {{msg-mw|Donate
interface-error-msg-emailAdd}}\n** {{msg-mw|Donate
interface-error-msg-fname}}\n** {{msg-mw|Donate interface-error-msg-lname}}\n**
{{msg-mw|Donate interface-error-msg-street}}\n** {{msg-mw|Donate
interface-error-msg-city}}\n** {{msg-mw|Donate interface-error-msg-state}}\n**
{{msg-mw|Donate interface-error-msg-zip}}\n** {{msg-mw|Donate
interface-error-msg-card_num}}\n** {{msg-mw|Donate
interface-error-msg-expiration}}\n** {{msg-mw|Donate
interface-error-msg-cvv}}\nAn alternative to \"field\" in the translation could
be \"information\". If the translation of \"your\" is not the same for all
possible fields then you could choose to omit \"your\" from this message and
include it instead in each of the field translations above.",
+ "donate_interface-error-msg": "{{doc-important|If grammatical issues in
your language prevent you from translating this literally, translate the
following: \"The following field is required: $1\".}}\nParameters:\n* $1 - any
one of a number of messages which are the names of fields, as follows:\n**
{{msg-mw|Donate interface-error-msg-amount}}\n** {{msg-mw|Donate
interface-error-msg-emailAdd}}\n** {{msg-mw|Donate
interface-error-msg-fname}}\n** {{msg-mw|Donate interface-error-msg-lname}}\n**
{{msg-mw|Donate interface-error-msg-street}}\n** {{msg-mw|Donate
interface-error-msg-city}}\n** {{msg-mw|Donate interface-error-msg-state}}\n**
{{msg-mw|Donate interface-error-msg-zip}}\nAn alternative to \"field\" in the
translation could be \"information\". If the translation of \"your\" is not the
same for all possible fields then you could choose to omit \"your\" from this
message and include it instead in each of the field translations above.",
"donate_interface-error-msg-field-correction": "If it is hard to
translate without having GENDER on <code>$1</code>, translate \"Please correct
the errors in the field '$1'\".\n\nParameters:\n* $1 - any one of the following
messages:\n** {{msg-mw|Donate interface-error-msg-amount}}\n** {{msg-mw|Donate
interface-error-msg-emailAdd}}\n** {{msg-mw|Donate
interface-error-msg-fname}}\n** {{msg-mw|Donate interface-error-msg-lname}}\n**
{{msg-mw|Donate interface-error-msg-street}}\n** {{msg-mw|Donate
interface-error-msg-city}}\n** {{msg-mw|Donate interface-error-msg-state}}\n**
{{msg-mw|Donate interface-error-msg-zip}}\n** {{msg-mw|Donate
interface-error-msg-postal}}\n** {{msg-mw|Donate
interface-error-msg-country}}\n** {{msg-mw|Donate interface-error-msg-card
type}}\n** {{msg-mw|Donate interface-error-msg-card num}}\n** {{msg-mw|Donate
interface-error-msg-expiration}}\n** {{msg-mw|Donate
interface-error-msg-cvv}}\n** {{msg-mw|Donate interface-error-msg-account
name}}\n** {{msg-mw|Donate interface-error-msg-account number}}\n**
{{msg-mw|Donate interface-error-msg-authorization id}}\n** {{msg-mw|Donate
interface-error-msg-bank check digit}}\n** {{msg-mw|Donate
interface-error-msg-bank code}}\n** {{msg-mw|Donate interface-error-msg-branch
code}}",
"donate_interface-error-msg-js": "{{doc-important|If grammatical issues
in your language prevent you from translating this literally, translate the
following: \"The following field is required:}}\n\nThis message comes before
any one of a number of messages which are the names of fields, as follows:\n*
{{msg-mw|Donate interface-error-msg-amount}}\n* {{msg-mw|Donate
interface-error-msg-emailAdd}}\n* {{msg-mw|Donate
interface-error-msg-fname}}\n* {{msg-mw|Donate interface-error-msg-lname}}\n*
{{msg-mw|Donate interface-error-msg-street}}\n* {{msg-mw|Donate
interface-error-msg-city}}\n* {{msg-mw|Donate interface-error-msg-state}}\n*
{{msg-mw|Donate interface-error-msg-zip}}\n* {{msg-mw|Donate
interface-error-msg-country}}\n* {{msg-mw|Donate interface-error-msg-card
num}}\n* {{msg-mw|Donate interface-error-msg-expiration}}\n* {{msg-mw|Donate
interface-error-msg-cvv}}\n* {{msg-mw|Donate interface-state-province}}\n*
{{msg-mw|Donate interface-error-msg-issuer id}} - used, but undefined\n*
{{msg-mw|Donate interface-error-msg-payment method}} - used, but undefined\n*
{{msg-mw|Donate interface-error-msg-payment submethod}} - used, but
undefined\n* \" first name.\" (hard-coded, untranslatable)\n* \" last name.\"
(hard-coded, untranslatable)\n\nAn alternative to 'field' in the translation
could be 'information'.\n\nThis is an error message which appears if one or
more of the above fields is left empty.",
"donate_interface-error-msg-validation": "Generic error message for
form validation failure",
@@ -208,10 +208,6 @@
"donate_interface-error-msg-zip": "Used in error message regarding the
zip code field.\n{{Related|Donate interface-err-msg}}",
"donate_interface-error-msg-postal": "Used in error message regarding
the postal code field.\n{{Related|Donate
interface-err-msg}}\n{{Identical|Postal code}}",
"donate_interface-error-msg-country": "{{Related|Donate
interface-err-msg}}\n{{Identical|Country}}",
- "donate_interface-error-msg-card_type": "{{Related|Donate
interface-err-msg}}",
- "donate_interface-error-msg-card_num": "Used in error message regarding
the credit card number field.\n{{Related|Donate interface-err-msg}}",
- "donate_interface-error-msg-expiration": "Used in error message
regarding the card expiration date field.\n{{Related|Donate
interface-err-msg}}",
- "donate_interface-error-msg-cvv": "Used in error message regarding the
card security code field.\n{{Related|Donate interface-err-msg}}",
"donate_interface-error-msg-account_name": "Used in error message
regarding the account name.\n{{Related|Donate
interface-err-msg}}\n{{Identical|Account name}}",
"donate_interface-error-msg-account_number": "Used in error message
regarding the account number.\n{{Related|Donate
interface-err-msg}}\n{{Identical|Account number}}",
"donate_interface-error-msg-authorization_id": "Used in error message
regarding the authorization ID.\n{{Related|Donate
interface-err-msg}}\n{{Identical|Authorization ID}}",
@@ -431,10 +427,6 @@
"apihelp-donate-param-zip":
"{{doc-apihelp-param|donate|zip}}\n{{Identical|Postal code}}",
"apihelp-donate-param-emailAdd":
"{{doc-apihelp-param|donate|emailAdd}}\n{{Identical|E-mail address}}",
"apihelp-donate-param-country": "{{doc-apihelp-param|donate|country}}",
- "apihelp-donate-param-card_num":
"{{doc-apihelp-param|donate|card_num}}",
- "apihelp-donate-param-card_type":
"{{doc-apihelp-param|donate|card_type}}",
- "apihelp-donate-param-expiration":
"{{doc-apihelp-param|donate|expiration}}",
- "apihelp-donate-param-cvv": "{{doc-apihelp-param|donate|cvv}}",
"apihelp-donate-param-payment_method":
"{{doc-apihelp-param|donate|payment_method}}",
"apihelp-donate-param-payment_submethod":
"{{doc-apihelp-param|donate|payment_submethod}}",
"apihelp-donate-param-language":
"{{doc-apihelp-param|donate|language}}\n{{Identical|Language code}}",
diff --git a/gateway_forms/RapidHtml.php b/gateway_forms/RapidHtml.php
index fe8f013..57cae10 100644
--- a/gateway_forms/RapidHtml.php
+++ b/gateway_forms/RapidHtml.php
@@ -42,10 +42,6 @@
'@state', // => $wgRequest->getText( 'state' ),
'@zip', // => $wgRequest->getText( 'zip' ),
'@country', // => $wgRequest->getText( 'country' ),
- '@card_num', // => str_replace( ' ', '', $wgRequest->getText(
'card_num' ) ),
- '@card_type', // => $wgRequest->getText( 'card_type' ),
- '@expiration', // => $wgRequest->getText( 'mos' ) . substr(
$wgRequest->getText( 'year' ), 2, 2 ),
- '@cvv', // => $wgRequest->getText( 'cvv' ),
'@currency_code', //'currency_code' => $wgRequest->getText(
'currency_code' ),
'@payment_method', // => $wgRequest->getText( 'payment_method'
),
'@order_id', // => $order_id,
@@ -97,9 +93,6 @@
'#general',
'#retryMsg',
'#amount',
- '#card_num',
- '#card_type',
- '#cvv',
'#fname',
'#lname',
'#city',
diff --git a/globalcollect_gateway/forms/html/boletos/boletos.html
b/globalcollect_gateway/forms/html/boletos/boletos.html
new file mode 100644
index 0000000..bad4817
--- /dev/null
+++ b/globalcollect_gateway/forms/html/boletos/boletos.html
@@ -0,0 +1,131 @@
+<script type="text/javascript">
+ mw.loader.load('gc.form.rapidhtml.webitects.boletos');
+ // these must go through RapidHTML and thus are inline
+ var amountErrors =
["#general|escape",'#retryMsg|escape','#amount|escape'];
+ var billingErrors =
['#fname|escape','#lname|escape','#city|escape','#country|escape','#street|escape','#state|escape','#zip|escape','#emailAdd|escape'];
+ var actionURL = "@action";
+ var scriptPath = "@script_path";
+</script>
+<!--[if lt IE 7]>
+<script type="text/javascript">
+ mw.loader.load('gc.form.rapidhtml.webitects.ie6');
+</script>
+<style type="text/css">
+ body{
+ behavior: url("@script_path/skins/vector/csshover.min.htc");
+ }
+</style><![endif]-->
+<!--[if IE 7]>
+<style>
+ .gainlayout {
+ zoom: 1;
+ height: 1%;
+ }
+</style>
+<![endif]-->
+
+<div class="ltr">
+ <table id="layouttable">
+ <tr>
+ <td>
+ <div id="appeal">
+ <div id="appeal-content">
+ <h2 id="appeal-head"> <span
class="mw-headline">{{LanguageSwitch|2011FR/@appeal/title|@language}}</span></h2>
+ <div id="appeal-body"
class="plainlinks">{{LanguageSwitch|2011FR/@appeal/text|@language}}</div>
+ </div>
+ </div>
+ </td>
+ <td>
+ <div id="donate">
+ <div id="donate-content">
+ <div id="donate-body"
style="padding: 0 1em;">
+ <form method="post"
name="paypalcontribution">
+ <div
id="step1header"><h3>%donate_interface-amount-legend% <span
id="selected-amount">@amount @currency_code</span></h3></div>
+ <div
id="amtErrorMessages" class="small"></div>
+ <div
id="step2header"><h3>%donate_interface-billing-address% <span class="mute"
id="change-billing" style="display: none;">(<a
href="#">%donate_interface-change%</a>)</span></h3></div>
+ <div
id="step2wrapper">
+ <div
id="billing-content" class="gainlayout">
+
<div id="billingErrorMessages" class="small"></div>
+
<div id="paymentErrorMessages" class="small"></div>
+
<div class="name-fields">
+
<span class="name-first"><input class="txt" id="fname" name="fname"
title="%donate_interface-donor-fname%" value="@fname"
placeholder="%donate_interface-donor-fname%"/></span>
+
<span class="name-last"><input class="txt" id="lname" name="lname"
title="%donate_interface-donor-lname%" value="@lname"
placeholder="%donate_interface-donor-lname%"/></span>
+
</div>
+
<div class="loc-fields nostate">
+
<span class="loc-street"><input class="txt" id="street" name="street"
title="%donate_interface-donor-street%" value="@street"
placeholder="%donate_interface-donor-street%"/></span>
+
<span class="loc-city"><input class="txt" id="city" name="city"
title="%donate_interface-donor-city%" value="@city"
placeholder="%donate_interface-donor-city%"/></span>
+
<span class="loc-postal"><input class="txt" id="zip" name="zip"
title="%donate_interface-donor-postal%" value="@zip"
placeholder="%donate_interface-donor-postal%"/></span>
+
<span class="loc-country">
+
<select class="txt" id="country" name="country"
value="@country" placeholder="%donate_interface-country%">
+
<option
value="">%donate_interface-select-country%</option>
+
<option
value="BR">%donate_interface-country-dropdown-BR%</option>
+
</select>
+
</span>
+
</div>
+
<p><input class="txt" title="%donate_interface-donor-email%" id="emailAdd"
name="emailAdd" value="@emailAdd"
placeholder="%donate_interface-donor-email%"/></p>
+
<div id="bt-continue" style="margin-top: 10px;"> <input class="btn"
id="bt-continueBtn" type="submit" value="%donate_interface-continue%" /></div>
+ </div>
+ </div>
+
+
+
+ <input
type="hidden" name="returnto" value="Thank_You/en" />
+ <input
type="hidden" value="0" name="PaypalRedirect" id="PaypalRedirect">
+
+ <input
type="hidden" value="@amount" name="amount" />
+ <!--<input
type="hidden" value="@country" name="country" id="country" />-->
+ <input
type="hidden" value="@currency_code" name="currency_code" />
+ <input
type="hidden" value="@utm_source" name="utm_source"/>
+ <input
type="hidden" value="@utm_medium" name="utm_medium"/>
+ <input
type="hidden" value="@utm_campaign" name="utm_campaign"/>
+ <input
type="hidden" value="@language" name="language"/>
+ <input
type="hidden" value="@referrer" name="referrer"/>
+ <input
type="hidden" value="@comment" name="comment"/>
+ <input
type="hidden" value="@comment-option" name="comment-option"/>
+ <input
type="hidden" value="1" name="email-opt"/>
+ <input
type="hidden" value="@token" name="token"/>
+ <input
type="hidden" value="@order_id" name="order_id"/>
+ <input
type="hidden" value="@numAttempt" name="numAttempt"/>
+ <input
type="hidden" value="@contribution_tracking_id"
name="contribution_tracking_id"/>
+ <input
type="hidden" value="@data_hash" name="data_hash"/>
+ <input
type="hidden" value="@owa_session" name="owa_session"/>
+ <input
type="hidden" value="@owa_ref" name="owa_ref"/>
+ <!-- new
required fields -->
+ <input
type="hidden" value="@gateway" name="gateway"/>
+ <!-- required
fields for bt and dd -->
+ <input
type="hidden" value="cash" name="payment_method"/>
+ <input
type="hidden" value="cash_boleto" name="payment_submethod"/>
+ <!-- required
fields omitted above -->
+ <input
type="hidden" value="XX" name="state"/>
+ </form>
+ <div id="where-content">
+
{{LanguageSwitch|2011FR/core-appeal-whitebox-nodiv|@language}}
+ </div>
+ </div>
+ </div>
+ <p
id="informationsharing">%donate_interface-informationsharing|url%</p>
+ <table>
+ <tr>
+ <td>
+ <ul
id="moreinfolinks">
+ <li><a
href="https://wikimediafoundation.org/wiki/Special:LandingCheck?basic=true&landing_page=Monthly_donations&language=@language&uselang=@language&country=@country">%donate_interface-monthly-donation%</a></li>
+ <li><a
href="https://wikimediafoundation.org/wiki/Special:LandingCheck?basic=true&landing_page=Ways_to_Give&language=@language&uselang=@language&country=@country">%donate_interface-otherways-short%</a></li>
+ <li><a
href="https://wikimediafoundation.org/wiki/Special:LandingCheck?basic=true&landing_page=FAQ&language=@language&uselang=@language&country=@country">%donate_interface-faqs%</a></li>
+ <li><a
href="https://wikimediafoundation.org/wiki/Special:LandingCheck?basic=true&landing_page=Tax_Deductibility&language=@language&uselang=@language&country=@country">%donate_interface-tax-info%</a></li>
+ </ul>
+ </td>
+ <td>@verisign_logo</td>
+ </tr>
+ </table>
+ </div>
+ </td>
+ </tr>
+ </table>
+
+
+
+</div>
+
+<!-- Wikimedia Project logo
+<li id="footer-copyrightico"><a href="//wikimediafoundation.org/"><img
src="//bits.wikimedia.org/images/wikimedia-button.png" width="88" height="31"
alt="Wikimedia Foundation"/></a></li>
+ -->
diff --git a/globalcollect_gateway/forms/html/bt/bt.html
b/globalcollect_gateway/forms/html/bt/bt.html
index 0c497be..0820cf3 100644
--- a/globalcollect_gateway/forms/html/bt/bt.html
+++ b/globalcollect_gateway/forms/html/bt/bt.html
@@ -3,7 +3,6 @@
// these must go through RapidHTML and thus are inline
var amountErrors =
["#general|escape",'#retryMsg|escape','#amount|escape'];
var billingErrors =
['#fname|escape','#lname|escape','#city|escape','#country|escape','#street|escape','#state|escape','#zip|escape','#emailAdd|escape'];
- var paymentErrors =
['#card_num|escape','#card_type|escape','#cvv|escape'];
var actionURL = "@action";
var scriptPath = "@script_path";
</script>
diff --git a/globalcollect_gateway/forms/html/cc/cc-a.html
b/globalcollect_gateway/forms/html/cc/cc-a.html
index 9e831c5..628ec83 100644
--- a/globalcollect_gateway/forms/html/cc/cc-a.html
+++ b/globalcollect_gateway/forms/html/cc/cc-a.html
@@ -3,7 +3,6 @@
// these must go through RapidHTML and thus are inline
var amountErrors =
['#general|escape','#retryMsg|escape','#amount|escape'];
var billingErrors =
['#fname|escape','#lname|escape','#city|escape','#country|escape','#street|escape','#state|escape','#zip|escape','#emailAdd|escape'];
- var paymentErrors =
['#card_num|escape','#card_type|escape','#cvv|escape'];
var actionURL = "@action";
var scriptPath = "@script_path";
</script>
diff --git a/globalcollect_gateway/forms/html/cc/cc-vm.html
b/globalcollect_gateway/forms/html/cc/cc-vm.html
index 9f3c9ab..d50140e 100644
--- a/globalcollect_gateway/forms/html/cc/cc-vm.html
+++ b/globalcollect_gateway/forms/html/cc/cc-vm.html
@@ -3,7 +3,6 @@
// these must go through RapidHTML and thus are inline
var amountErrors =
['#general|escape','#retryMsg|escape','#amount|escape'];
var billingErrors =
['#fname|escape','#lname|escape','#city|escape','#country|escape','#street|escape','#state|escape','#zip|escape','#emailAdd|escape'];
- var paymentErrors =
['#card_num|escape','#card_type|escape','#cvv|escape'];
var actionURL = "@action";
var scriptPath = "@script_path";
</script>
diff --git a/globalcollect_gateway/forms/html/cc/cc-vma.html
b/globalcollect_gateway/forms/html/cc/cc-vma.html
index cfd7c3f..7c516a7 100644
--- a/globalcollect_gateway/forms/html/cc/cc-vma.html
+++ b/globalcollect_gateway/forms/html/cc/cc-vma.html
@@ -3,7 +3,6 @@
// these must go through RapidHTML and thus are inline
var amountErrors =
['#general|escape','#retryMsg|escape','#amount|escape'];
var billingErrors =
['#fname|escape','#lname|escape','#city|escape','#country|escape','#street|escape','#state|escape','#zip|escape','#emailAdd|escape'];
- var paymentErrors =
['#card_num|escape','#card_type|escape','#cvv|escape'];
var actionURL = "@action";
var scriptPath = "@script_path";
</script>
diff --git a/globalcollect_gateway/forms/html/cc/cc-vmad.html
b/globalcollect_gateway/forms/html/cc/cc-vmad.html
index b18c961..b16e269 100644
--- a/globalcollect_gateway/forms/html/cc/cc-vmad.html
+++ b/globalcollect_gateway/forms/html/cc/cc-vmad.html
@@ -3,7 +3,6 @@
// these must go through RapidHTML and thus are inline
var amountErrors =
['#general|escape','#retryMsg|escape','#amount|escape'];
var billingErrors =
['#fname|escape','#lname|escape','#city|escape','#country|escape','#street|escape','#state|escape','#zip|escape','#emailAdd|escape'];
- var paymentErrors =
['#card_num|escape','#card_type|escape','#cvv|escape'];
var actionURL = "@action";
var scriptPath = "@script_path";
</script>
diff --git a/globalcollect_gateway/forms/html/cc/cc-vmaj.html
b/globalcollect_gateway/forms/html/cc/cc-vmaj.html
index 959c1f6..86496d1 100644
--- a/globalcollect_gateway/forms/html/cc/cc-vmaj.html
+++ b/globalcollect_gateway/forms/html/cc/cc-vmaj.html
@@ -3,7 +3,6 @@
// these must go through RapidHTML and thus are inline
var amountErrors =
['#general|escape','#retryMsg|escape','#amount|escape'];
var billingErrors =
['#fname|escape','#lname|escape','#city|escape','#country|escape','#street|escape','#state|escape','#zip|escape','#emailAdd|escape'];
- var paymentErrors =
['#card_num|escape','#card_type|escape','#cvv|escape'];
var actionURL = "@action";
var scriptPath = "@script_path";
</script>
diff --git a/globalcollect_gateway/forms/html/cc/cc-vmd.html
b/globalcollect_gateway/forms/html/cc/cc-vmd.html
index 4c70c55..df3fada 100644
--- a/globalcollect_gateway/forms/html/cc/cc-vmd.html
+++ b/globalcollect_gateway/forms/html/cc/cc-vmd.html
@@ -3,7 +3,6 @@
// these must go through RapidHTML and thus are inline
var amountErrors =
['#general|escape','#retryMsg|escape','#amount|escape'];
var billingErrors =
['#fname|escape','#lname|escape','#city|escape','#country|escape','#street|escape','#state|escape','#zip|escape','#emailAdd|escape'];
- var paymentErrors =
['#card_num|escape','#card_type|escape','#cvv|escape'];
var actionURL = "@action";
var scriptPath = "@script_path";
</script>
diff --git a/globalcollect_gateway/forms/html/cc/cc-vmj.html
b/globalcollect_gateway/forms/html/cc/cc-vmj.html
index 3161fab..c1d3f36 100644
--- a/globalcollect_gateway/forms/html/cc/cc-vmj.html
+++ b/globalcollect_gateway/forms/html/cc/cc-vmj.html
@@ -3,7 +3,6 @@
// these must go through RapidHTML and thus are inline
var amountErrors =
['#general|escape','#retryMsg|escape','#amount|escape'];
var billingErrors =
['#fname|escape','#lname|escape','#city|escape','#country|escape','#street|escape','#state|escape','#zip|escape','#emailAdd|escape'];
- var paymentErrors =
['#card_num|escape','#card_type|escape','#cvv|escape'];
var actionURL = "@action";
var scriptPath = "@script_path";
</script>
diff --git a/globalcollect_gateway/forms/html/cc/cc.html
b/globalcollect_gateway/forms/html/cc/cc.html
index cd582a5..19cdbfc 100644
--- a/globalcollect_gateway/forms/html/cc/cc.html
+++ b/globalcollect_gateway/forms/html/cc/cc.html
@@ -3,7 +3,6 @@
// these must go through RapidHTML and thus are inline
var amountErrors =
['#general|escape','#retryMsg|escape','#amount|escape'];
var billingErrors =
['#fname|escape','#lname|escape','#city|escape','#country|escape','#street|escape','#state|escape','#zip|escape','#emailAdd|escape'];
- var paymentErrors =
['#card_num|escape','#card_type|escape','#cvv|escape'];
var actionURL = "@action";
var scriptPath = "@script_path";
</script>
diff --git a/globalcollect_gateway/forms/html/dd/dd-DE.html
b/globalcollect_gateway/forms/html/dd/dd-DE.html
new file mode 100644
index 0000000..ef394f2
--- /dev/null
+++ b/globalcollect_gateway/forms/html/dd/dd-DE.html
@@ -0,0 +1,155 @@
+<script type="text/javascript">
+ mw.loader.load('gc.form.rapidhtml.webitects.bt');
+ // these must go through RapidHTML and thus are inline
+ var amountErrors =
["#general|escape",'#retryMsg|escape','#amount|escape'];
+ var billingErrors =
['#fname|escape','#lname|escape','#city|escape','#country|escape','#street|escape','#state|escape','#zip|escape','#emailAdd|escape'];
+ var actionURL = "@action";
+ var scriptPath = "@script_path";
+</script>
+<!--[if lt IE 7]>
+<script type="text/javascript">
+ mw.loader.load('gc.form.rapidhtml.webitects.ie6');
+</script>
+<style type="text/css">
+ body{
+ behavior: url("@script_path/skins/vector/csshover.min.htc");
+ }
+</style><![endif]-->
+<!--[if IE 7]>
+<style>
+ .gainlayout {
+ zoom: 1;
+ height: 1%;
+ }
+</style>
+<![endif]-->
+
+<div class="ltr">
+ <table id="layouttable">
+ <tr>
+ <td>
+ <div id="appeal">
+ <div id="appeal-content">
+ <h2 id="appeal-head"> <span
class="mw-headline">{{LanguageSwitch|2011FR/@appeal/title|@language}}</span></h2>
+ <div id="appeal-body"
class="plainlinks">{{LanguageSwitch|2011FR/@appeal/text|@language}}</div>
+ </div>
+ </div>
+ </td>
+ <td>
+ <div id="donate">
+ <div id="donate-content">
+ <div id="donate-body"
style="padding: 0 1em;">
+ <form method="post"
name="paypalcontribution">
+ <div
id="step1header"><h3>%donate_interface-amount-legend% <span
id="selected-amount"></span> <span class="mute" id="change-amount"
style="display: none;">(<a
href="#">%donate_interface-change%</a>)</span></h3></div>
+ <div
id="step1wrapper" style="display: none;">
+ <div
id="amtErrorMessages" class="small"></div>
+ <table
id="amount-table-white">
+
<tr>
+
<td><label><input id="amountRadio0" type="radio" name="amountRadio"
value="5" /> <span id="amountSpan0">5</span></label></td>
+
<td><label><input id="amountRadio1" type="radio" name="amountRadio"
value="10" /> <span id="amountSpan1">10</span></label></td>
+
<td><label><input id="amountRadio2" type="radio" name="amountRadio"
value="20" /> <span id="amountSpan2">20</span></label></td>
+
<td><label><input id="amountRadio3" type="radio" name="amountRadio"
value="50" /> <span id="amountSpan3">50</span></label></td>
+
</tr>
+
<tr>
+
<td><label><input id="amountRadio4" type="radio" name="amountRadio"
value="75" /> <span id="amountSpan4">75</span></label></td>
+
<td><label><input id="amountRadio5" type="radio" name="amountRadio"
value="100" /> <span id="amountSpan5">100</span></label></td>
+
<td><label><input id="amountRadio6" type="radio" name="amountRadio"
value="250" /> <span id="amountSpan6">250</span></label></td>
+
<td><input type="radio" name="amountRadio" id="input_amount_other"
value="other" /> <label><span id="amountSpanOther"></span><input type="text"
class="txt-sm hint" name="amountGiven" size="4" id="other-amount"
title="%donate_interface-other%" placeholder="%donate_interface-other%"
onfocus="this.form.input_amount_other.checked=true;"/></label></td>
+
</tr>
+ </table>
+ </div>
+ <div
id="step2header"><h3>%donate_interface-billing-address% <span class="mute"
id="change-billing" style="display: none;">(<a
href="#">%donate_interface-change%</a>)</span></h3></div>
+ <div
id="step2wrapper">
+ <div
id="billing-content" class="gainlayout">
+
<div id="billingErrorMessages" class="small"></div>
+
<div id="paymentErrorMessages" class="small"></div>
+
<div class="name-fields">
+
<span class="name-first"><input class="txt" id="fname" name="fname"
title="%donate_interface-donor-fname%" value="@fname"
placeholder="%donate_interface-donor-fname%"/></span>
+
<span class="name-last"><input class="txt" id="lname" name="lname"
title="%donate_interface-donor-lname%" value="@lname"
placeholder="%donate_interface-donor-lname%"/></span>
+
</div>
+
<div class="loc-fields nostate">
+
<span class="loc-street"><input class="txt" id="street" name="street"
title="%donate_interface-donor-street%" value="@street"
placeholder="%donate_interface-donor-street%"/></span>
+
<span class="loc-postal"><input class="txt" id="zip" name="zip"
title="%donate_interface-donor-postal%" value="@zip"
placeholder="%donate_interface-donor-postal%"/></span>
+
<span class="loc-city"><input class="txt" id="city" name="city"
title="%donate_interface-donor-city%" value="@city"
placeholder="%donate_interface-donor-city%"/></span>
+
<span class="loc-country">
+
<select class="txt" id="country" name="country"
value="@country" placeholder="%donate_interface-country%">
+
<option
value="">%donate_interface-select-country%</option>
+
<option
value="DE">%donate_interface-country-dropdown-DE%</option>
+
</select>
+
</span>
+
</div>
+
<p><input class="txt" title="%donate_interface-donor-email%" id="emailAdd"
name="emailAdd" value="@emailAdd"
placeholder="%donate_interface-donor-email%"/> </p>
+
+
<div id="ddheader"><h3>%donate_interface-cc-form-header-payment%</h3></div>
+
<div class="dd-fields">
+
<span class="dd-de-accountname"><input class="txt"
title="%donate_interface-dd-account_name%" id="account_name"
name="account_name" value="@account_name"
placeholder="%donate_interface-dd-account_name%" maxlength="30"/></span>
+
<span class="dd-de-an"><input class="txt"
title="%donate_interface-dd-account_number%" id="account_number"
name="account_number" value="@account_number"
placeholder="%donate_interface-dd-account_number%" maxlength="12"/></span>
+
<span class="dd-de-bc"><input class="txt"
title="%donate_interface-dd-bank_code%" id="bank_code" name="bank_code"
value="@bank_code" placeholder="%donate_interface-dd-bank_code%"
maxlength="12"/></span>
+
</div>
+
+
<div id="bt-continue" style="margin-top: 10px;"> <input class="btn"
id="bt-continueBtn" type="button" value="%donate_interface-continue%" /></div>
+ </div>
+ </div>
+
+
+
+ <input
type="hidden" name="returnto" value="Thank_You/@language" />
+ <input
type="hidden" value="0" name="PaypalRedirect" id="PaypalRedirect">
+
+ <input
type="hidden" value="@amount" name="amount" />
+ <!--<input
type="hidden" value="@country" name="country" id="country" /> -->
+ <input
type="hidden" value="EUR" name="currency_code" />
+ <input
type="hidden" value="@utm_source" name="utm_source"/>
+ <input
type="hidden" value="@utm_medium" name="utm_medium"/>
+ <input
type="hidden" value="@utm_campaign" name="utm_campaign"/>
+ <input
type="hidden" value="@language" name="language"/>
+ <input
type="hidden" value="@referrer" name="referrer"/>
+ <input
type="hidden" value="@comment" name="comment"/>
+ <input
type="hidden" value="@comment-option" name="comment-option"/>
+ <input
type="hidden" value="1" name="email-opt"/>
+ <input
type="hidden" value="@token" name="token"/>
+ <input
type="hidden" value="@order_id" name="order_id"/>
+ <input
type="hidden" value="@numAttempt" name="numAttempt"/>
+ <input
type="hidden" value="@contribution_tracking_id"
name="contribution_tracking_id"/>
+ <input
type="hidden" value="@data_hash" name="data_hash"/>
+ <input
type="hidden" value="@owa_session" name="owa_session"/>
+ <input
type="hidden" value="@owa_ref" name="owa_ref"/>
+ <!-- new
required fields -->
+ <input
type="hidden" value="@gateway" name="gateway"/>
+ <!-- required
fields for bt and dd -->
+ <input
type="hidden" value="dd" name="payment_method"/>
+ <input
type="hidden" value="dd_de" name="payment_submethod"/>
+ <!-- required
fields omitted above -->
+ <input
type="hidden" value="XX" name="state"/>
+ </form>
+ <div id="where-content">
+
{{LanguageSwitch|2011FR/core-appeal-whitebox-nodiv|@language}}
+ </div>
+ </div>
+ </div>
+ <p
id="informationsharing">%donate_interface-informationsharing|url%</p>
+ <table>
+ <tr>
+ <td>
+ <ul
id="moreinfolinks">
+ <li><a
href="https://wikimediafoundation.org/wiki/Special:LandingCheck?basic=true&landing_page=Monthly_donations&language=@language&uselang=@language&country=@country">%donate_interface-monthly-donation%</a></li>
+ <li><a
href="https://wikimediafoundation.org/wiki/Special:LandingCheck?basic=true&landing_page=Ways_to_Give&language=@language&uselang=@language&country=@country">%donate_interface-otherways-short%</a></li>
+ <li><a
href="https://wikimediafoundation.org/wiki/Special:LandingCheck?basic=true&landing_page=FAQ&language=@language&uselang=@language&country=@country">%donate_interface-faqs%</a></li>
+ <li><a
href="https://wikimediafoundation.org/wiki/Special:LandingCheck?basic=true&landing_page=Tax_Deductibility&language=@language&uselang=@language&country=@country">%donate_interface-tax-info%</a></li>
+ </ul>
+ </td>
+ <td>@verisign_logo</td>
+ </tr>
+ </table>
+ </div>
+ </td>
+ </tr>
+ </table>
+
+
+
+</div>
+
+<!-- Wikimedia Project logo
+<li id="footer-copyrightico"><a href="//wikimediafoundation.org/"><img
src="//bits.wikimedia.org/images/wikimedia-button.png" width="88" height="31"
alt="Wikimedia Foundation"/></a></li>
+ -->
diff --git a/globalcollect_gateway/forms/html/dd/dd-IT.html
b/globalcollect_gateway/forms/html/dd/dd-IT.html
new file mode 100644
index 0000000..596e6aa
--- /dev/null
+++ b/globalcollect_gateway/forms/html/dd/dd-IT.html
@@ -0,0 +1,158 @@
+<script type="text/javascript">
+ mw.loader.load('gc.form.rapidhtml.webitects.bt');
+ // these must go through RapidHTML and thus are inline
+ var amountErrors =
["#general|escape",'#retryMsg|escape','#amount|escape'];
+ var billingErrors =
['#fname|escape','#lname|escape','#city|escape','#country|escape','#street|escape','#state|escape','#zip|escape','#emailAdd|escape'];
+ var actionURL = "@action";
+ var scriptPath = "@script_path";
+</script>
+<!--[if lt IE 7]>
+<script type="text/javascript">
+ mw.loader.load('gc.form.rapidhtml.webitects.ie6');
+</script>
+<style type="text/css">
+ body{
+ behavior: url("@script_path/skins/vector/csshover.min.htc");
+ }
+</style><![endif]-->
+<!--[if IE 7]>
+<style>
+ .gainlayout {
+ zoom: 1;
+ height: 1%;
+ }
+</style>
+<![endif]-->
+
+<div class="ltr">
+ <table id="layouttable">
+ <tr>
+ <td>
+ <div id="appeal">
+ <div id="appeal-content">
+ <h2 id="appeal-head"> <span
class="mw-headline">{{LanguageSwitch|2011FR/@appeal/title|@language}}</span></h2>
+ <div id="appeal-body"
class="plainlinks">{{LanguageSwitch|2011FR/@appeal/text|@language}}</div>
+ </div>
+ </div>
+ </td>
+ <td>
+ <div id="donate">
+ <div id="donate-content">
+ <div id="donate-body"
style="padding: 0 1em;">
+ <form method="post"
name="paypalcontribution">
+ <div
id="step1header"><h3>%donate_interface-amount-legend% <span
id="selected-amount"></span> <span class="mute" id="change-amount"
style="display: none;">(<a
href="#">%donate_interface-change%</a>)</span></h3></div>
+ <div
id="step1wrapper" style="display: none;">
+ <div
id="amtErrorMessages" class="small"></div>
+ <table
id="amount-table-white">
+
<tr>
+
<td><label><input id="amountRadio0" type="radio" name="amountRadio"
value="5" /> <span id="amountSpan0">5</span></label></td>
+
<td><label><input id="amountRadio1" type="radio" name="amountRadio"
value="10" /> <span id="amountSpan1">10</span></label></td>
+
<td><label><input id="amountRadio2" type="radio" name="amountRadio"
value="20" /> <span id="amountSpan2">20</span></label></td>
+
<td><label><input id="amountRadio3" type="radio" name="amountRadio"
value="50" /> <span id="amountSpan3">50</span></label></td>
+
</tr>
+
<tr>
+
<td><label><input id="amountRadio4" type="radio" name="amountRadio"
value="75" /> <span id="amountSpan4">75</span></label></td>
+
<td><label><input id="amountRadio5" type="radio" name="amountRadio"
value="100" /> <span id="amountSpan5">100</span></label></td>
+
<td><label><input id="amountRadio6" type="radio" name="amountRadio"
value="250" /> <span id="amountSpan6">250</span></label></td>
+
<td><input type="radio" name="amountRadio" id="input_amount_other"
value="other" /> <label><span id="amountSpanOther"></span><input type="text"
class="txt-sm hint" name="amountGiven" size="4" id="other-amount"
title="%donate_interface-other%" placeholder="%donate_interface-other%"
onfocus="this.form.input_amount_other.checked=true;"/></label></td>
+
</tr>
+ </table>
+ </div>
+ <div
id="step2header"><h3>%donate_interface-billing-address% <span class="mute"
id="change-billing" style="display: none;">(<a
href="#">%donate_interface-change%</a>)</span></h3></div>
+ <div
id="step2wrapper">
+ <div
id="billing-content" class="gainlayout">
+
<div id="billingErrorMessages" class="small"></div>
+
<div id="paymentErrorMessages" class="small"></div>
+
<div class="name-fields">
+
<span class="name-first"><input class="txt" id="fname" name="fname"
title="%donate_interface-donor-fname%" value="@fname"
placeholder="%donate_interface-donor-fname%"/></span>
+
<span class="name-last"><input class="txt" id="lname" name="lname"
title="%donate_interface-donor-lname%" value="@lname"
placeholder="%donate_interface-donor-lname%"/></span>
+
</div>
+
<div class="loc-fields nostate">
+
<span class="loc-street"><input class="txt" id="street" name="street"
title="%donate_interface-donor-street%" value="@street"
placeholder="%donate_interface-donor-street%"/></span>
+
<span class="loc-postal"><input class="txt" id="zip" name="zip"
title="%donate_interface-donor-postal%" value="@zip"
placeholder="%donate_interface-donor-postal%"/></span>
+
<span class="loc-city"><input class="txt" id="city" name="city"
title="%donate_interface-donor-city%" value="@city"
placeholder="%donate_interface-donor-city%"/></span>
+
<span class="loc-country">
+
<select class="txt" id="country" name="country"
value="@country" placeholder="%donate_interface-country%">
+
<option
value="">%donate_interface-select-country%</option>
+
<option
value="IT">%donate_interface-country-dropdown-IT%</option>
+
</select>
+
</span>
+
</div>
+
<p><input class="txt" title="%donate_interface-donor-email%" id="emailAdd"
name="emailAdd" value="@emailAdd"
placeholder="%donate_interface-donor-email%"/> </p>
+
+
<div id="ddheader"><h3>%donate_interface-cc-form-header-payment%</h3></div>
+
<div class="dd-fields">
+
<span class="dd-be-anm"><input class="txt"
title="%donate_interface-dd-account_name%" id="account_name"
name="account_name" value="@account_name"
placeholder="%donate_interface-dd-account_name%" maxlength="12"/></span>
+
<span class="dd-be-an"><input class="txt"
title="%donate_interface-dd-account_number%" id="account_number"
name="account_number" value="@account_number"
placeholder="%donate_interface-dd-account_number%" maxlength="12"/></span>
+
<span class="dd-be-bc"><input class="txt"
title="%donate_interface-dd-bank_code%" id="bank_code" name="bank_code"
value="@bank_code" placeholder="%donate_interface-dd-bank_code%"
maxlength="12"/></span>
+
<span class="dd-be-bc"><input class="txt"
title="%donate_interface-dd-branch_code%" id="branch_code" name="branch_code"
value="@branch_code" placeholder="%donate_interface-dd-branch_code%"
maxlength="12"/></span>
+
<span class="dd-be-ba"><input class="txt"
title="%donate_interface-dd-bank_agenzia%" id="bank_agenzia"
name="bank_agenzia" value="@bank_agenzia"
placeholder="%donate_interface-dd-bank_agenzia%" maxlength="12"/></span>
+
<span class="dd-be-bcd"><input class="txt"
title="%donate_interface-dd-bank_check_digit%" id="bank_check_digit"
name="bank_check_digit" value="@bank_check_digit"
placeholder="%donate_interface-dd-bank_check_digit%" maxlength="12"/></span>
+
</div>
+
+
<div id="bt-continue" style="margin-top: 10px;"> <input class="btn"
id="bt-continueBtn" type="button" value="%donate_interface-continue%" /></div>
+ </div>
+ </div>
+
+
+
+ <input
type="hidden" name="returnto" value="Thank_You/@language" />
+ <input
type="hidden" value="0" name="PaypalRedirect" id="PaypalRedirect">
+
+ <input
type="hidden" value="@amount" name="amount" />
+ <!--<input
type="hidden" value="@country" name="country" id="country" /> -->
+ <input
type="hidden" value="EUR" name="currency_code" />
+ <input
type="hidden" value="@utm_source" name="utm_source"/>
+ <input
type="hidden" value="@utm_medium" name="utm_medium"/>
+ <input
type="hidden" value="@utm_campaign" name="utm_campaign"/>
+ <input
type="hidden" value="@language" name="language"/>
+ <input
type="hidden" value="@referrer" name="referrer"/>
+ <input
type="hidden" value="@comment" name="comment"/>
+ <input
type="hidden" value="@comment-option" name="comment-option"/>
+ <input
type="hidden" value="1" name="email-opt"/>
+ <input
type="hidden" value="@token" name="token"/>
+ <input
type="hidden" value="@order_id" name="order_id"/>
+ <input
type="hidden" value="@numAttempt" name="numAttempt"/>
+ <input
type="hidden" value="@contribution_tracking_id"
name="contribution_tracking_id"/>
+ <input
type="hidden" value="@data_hash" name="data_hash"/>
+ <input
type="hidden" value="@owa_session" name="owa_session"/>
+ <input
type="hidden" value="@owa_ref" name="owa_ref"/>
+ <!-- new
required fields -->
+ <input
type="hidden" value="@gateway" name="gateway"/>
+ <!-- required
fields for bt and dd -->
+ <input
type="hidden" value="dd" name="payment_method"/>
+ <input
type="hidden" value="dd_it" name="payment_submethod"/>
+ <!-- required
fields omitted above -->
+ <input
type="hidden" value="XX" name="state"/>
+ </form>
+ <div id="where-content">
+
{{LanguageSwitch|2011FR/core-appeal-whitebox-nodiv|@language}}
+ </div>
+ </div>
+ </div>
+ <p
id="informationsharing">%donate_interface-informationsharing|url%</p>
+ <table>
+ <tr>
+ <td>
+ <ul
id="moreinfolinks">
+ <li><a
href="https://wikimediafoundation.org/wiki/Special:LandingCheck?basic=true&landing_page=Monthly_donations&language=@language&uselang=@language&country=@country">%donate_interface-monthly-donation%</a></li>
+ <li><a
href="https://wikimediafoundation.org/wiki/Special:LandingCheck?basic=true&landing_page=Ways_to_Give&language=@language&uselang=@language&country=@country">%donate_interface-otherways-short%</a></li>
+ <li><a
href="https://wikimediafoundation.org/wiki/Special:LandingCheck?basic=true&landing_page=FAQ&language=@language&uselang=@language&country=@country">%donate_interface-faqs%</a></li>
+ <li><a
href="https://wikimediafoundation.org/wiki/Special:LandingCheck?basic=true&landing_page=Tax_Deductibility&language=@language&uselang=@language&country=@country">%donate_interface-tax-info%</a></li>
+ </ul>
+ </td>
+ <td>@verisign_logo</td>
+ </tr>
+ </table>
+ </div>
+ </td>
+ </tr>
+ </table>
+
+
+
+</div>
+
+<!-- Wikimedia Project logo
+<li id="footer-copyrightico"><a href="//wikimediafoundation.org/"><img
src="//bits.wikimedia.org/images/wikimedia-button.png" width="88" height="31"
alt="Wikimedia Foundation"/></a></li>
+ -->
diff --git a/globalcollect_gateway/forms/html/dd/dd-NL.html
b/globalcollect_gateway/forms/html/dd/dd-NL.html
new file mode 100644
index 0000000..ce2d7c4
--- /dev/null
+++ b/globalcollect_gateway/forms/html/dd/dd-NL.html
@@ -0,0 +1,154 @@
+<script type="text/javascript">
+ mw.loader.load('gc.form.rapidhtml.webitects.bt');
+ // these must go through RapidHTML and thus are inline
+ var amountErrors =
["#general|escape",'#retryMsg|escape','#amount|escape'];
+ var billingErrors =
['#fname|escape','#lname|escape','#city|escape','#country|escape','#street|escape','#state|escape','#zip|escape','#emailAdd|escape'];
+ var actionURL = "@action";
+ var scriptPath = "@script_path";
+</script>
+<!--[if lt IE 7]>
+<script type="text/javascript">
+ mw.loader.load('gc.form.rapidhtml.webitects.ie6');
+</script>
+<style type="text/css">
+ body{
+ behavior: url("@script_path/skins/vector/csshover.min.htc");
+ }
+</style><![endif]-->
+<!--[if IE 7]>
+<style>
+ .gainlayout {
+ zoom: 1;
+ height: 1%;
+ }
+</style>
+<![endif]-->
+
+<div class="ltr">
+ <table id="layouttable">
+ <tr>
+ <td>
+ <div id="appeal">
+ <div id="appeal-content">
+ <h2 id="appeal-head"> <span
class="mw-headline">{{LanguageSwitch|2011FR/@appeal/title|@language}}</span></h2>
+ <div id="appeal-body"
class="plainlinks">{{LanguageSwitch|2011FR/@appeal/text|@language}}</div>
+ </div>
+ </div>
+ </td>
+ <td>
+ <div id="donate">
+ <div id="donate-content">
+ <div id="donate-body"
style="padding: 0 1em;">
+ <form method="post"
name="paypalcontribution">
+ <div
id="step1header"><h3>%donate_interface-amount-legend% <span
id="selected-amount"></span> <span class="mute" id="change-amount"
style="display: none;">(<a
href="#">%donate_interface-change%</a>)</span></h3></div>
+ <div
id="step1wrapper" style="display: none;">
+ <div
id="amtErrorMessages" class="small"></div>
+ <table
id="amount-table-white">
+
<tr>
+
<td><label><input id="amountRadio0" type="radio" name="amountRadio"
value="5" /> <span id="amountSpan0">5</span></label></td>
+
<td><label><input id="amountRadio1" type="radio" name="amountRadio"
value="10" /> <span id="amountSpan1">10</span></label></td>
+
<td><label><input id="amountRadio2" type="radio" name="amountRadio"
value="20" /> <span id="amountSpan2">20</span></label></td>
+
<td><label><input id="amountRadio3" type="radio" name="amountRadio"
value="50" /> <span id="amountSpan3">50</span></label></td>
+
</tr>
+
<tr>
+
<td><label><input id="amountRadio4" type="radio" name="amountRadio"
value="75" /> <span id="amountSpan4">75</span></label></td>
+
<td><label><input id="amountRadio5" type="radio" name="amountRadio"
value="100" /> <span id="amountSpan5">100</span></label></td>
+
<td><label><input id="amountRadio6" type="radio" name="amountRadio"
value="250" /> <span id="amountSpan6">250</span></label></td>
+
<td><input type="radio" name="amountRadio" id="input_amount_other"
value="other" /> <label><span id="amountSpanOther"></span><input type="text"
class="txt-sm hint" name="amountGiven" size="4" id="other-amount"
title="%donate_interface-other%" placeholder="%donate_interface-other%"
onfocus="this.form.input_amount_other.checked=true;"/></label></td>
+
</tr>
+ </table>
+ </div>
+ <div
id="step2header"><h3>%donate_interface-billing-address% <span class="mute"
id="change-billing" style="display: none;">(<a
href="#">%donate_interface-change%</a>)</span></h3></div>
+ <div
id="step2wrapper">
+ <div
id="billing-content" class="gainlayout">
+
<div id="billingErrorMessages" class="small"></div>
+
<div id="paymentErrorMessages" class="small"></div>
+
<div class="name-fields">
+
<span class="name-first"><input class="txt" id="fname" name="fname"
title="%donate_interface-donor-fname%" value="@fname"
placeholder="%donate_interface-donor-fname%"/></span>
+
<span class="name-last"><input class="txt" id="lname" name="lname"
title="%donate_interface-donor-lname%" value="@lname"
placeholder="%donate_interface-donor-lname%"/></span>
+
</div>
+
<div class="loc-fields nostate">
+
<span class="loc-street"><input class="txt" id="street" name="street"
title="%donate_interface-donor-street%" value="@street"
placeholder="%donate_interface-donor-street%"/></span>
+
<span class="loc-postal"><input class="txt" id="zip" name="zip"
title="%donate_interface-donor-postal%" value="@zip"
placeholder="%donate_interface-donor-postal%"/></span>
+
<span class="loc-city"><input class="txt" id="city" name="city"
title="%donate_interface-donor-city%" value="@city"
placeholder="%donate_interface-donor-city%"/></span>
+
<span class="loc-country">
+
<select class="txt" id="country" name="country"
value="@country" placeholder="%donate_interface-country%">
+
<option
value="">%donate_interface-select-country%</option>
+
<option
value="NL">%donate_interface-country-dropdown-NL%</option>
+
</select>
+
</span>
+
</div>
+
<p><input class="txt" title="%donate_interface-donor-email%" id="emailAdd"
name="emailAdd" value="@emailAdd"
placeholder="%donate_interface-donor-email%"/> </p>
+
+
<div id="ddheader"><h3>%donate_interface-cc-form-header-payment%</h3></div>
+
<div class="dd-fields">
+
<span class="dd-nl-accountname"><input class="txt"
title="%donate_interface-dd-account_name%" id="account_name"
name="account_name" value="@account_name"
placeholder="%donate_interface-dd-account_name%" maxlength="30"/></span>
+
<span class="dd-nl-an"><input class="txt"
title="%donate_interface-dd-account_number%" id="account_number"
name="account_number" value="@account_number"
placeholder="%donate_interface-dd-account_number%" maxlength="12"/></span>
+
</div>
+
+
<div id="bt-continue" style="margin-top: 10px;"> <input class="btn"
id="bt-continueBtn" type="button" value="%donate_interface-continue%" /></div>
+ </div>
+ </div>
+
+
+
+ <input
type="hidden" name="returnto" value="Thank_You/@language" />
+ <input
type="hidden" value="0" name="PaypalRedirect" id="PaypalRedirect">
+
+ <input
type="hidden" value="@amount" name="amount" />
+ <!--<input
type="hidden" value="@country" name="country" id="country" /> -->
+ <input
type="hidden" value="EUR" name="currency_code" />
+ <input
type="hidden" value="@utm_source" name="utm_source"/>
+ <input
type="hidden" value="@utm_medium" name="utm_medium"/>
+ <input
type="hidden" value="@utm_campaign" name="utm_campaign"/>
+ <input
type="hidden" value="@language" name="language"/>
+ <input
type="hidden" value="@referrer" name="referrer"/>
+ <input
type="hidden" value="@comment" name="comment"/>
+ <input
type="hidden" value="@comment-option" name="comment-option"/>
+ <input
type="hidden" value="1" name="email-opt"/>
+ <input
type="hidden" value="@token" name="token"/>
+ <input
type="hidden" value="@order_id" name="order_id"/>
+ <input
type="hidden" value="@numAttempt" name="numAttempt"/>
+ <input
type="hidden" value="@contribution_tracking_id"
name="contribution_tracking_id"/>
+ <input
type="hidden" value="@data_hash" name="data_hash"/>
+ <input
type="hidden" value="@owa_session" name="owa_session"/>
+ <input
type="hidden" value="@owa_ref" name="owa_ref"/>
+ <!-- new
required fields -->
+ <input
type="hidden" value="@gateway" name="gateway"/>
+ <!-- required
fields for bt and dd -->
+ <input
type="hidden" value="dd" name="payment_method"/>
+ <input
type="hidden" value="dd_nl" name="payment_submethod"/>
+ <!-- required
fields omitted above -->
+ <input
type="hidden" value="XX" name="state"/>
+ </form>
+ <div id="where-content">
+
{{LanguageSwitch|2011FR/core-appeal-whitebox-nodiv|@language}}
+ </div>
+ </div>
+ </div>
+ <p
id="informationsharing">%donate_interface-informationsharing|url%</p>
+ <table>
+ <tr>
+ <td>
+ <ul
id="moreinfolinks">
+ <li><a
href="https://wikimediafoundation.org/wiki/Special:LandingCheck?basic=true&landing_page=Monthly_donations&language=@language&uselang=@language&country=@country">%donate_interface-monthly-donation%</a></li>
+ <li><a
href="https://wikimediafoundation.org/wiki/Special:LandingCheck?basic=true&landing_page=Ways_to_Give&language=@language&uselang=@language&country=@country">%donate_interface-otherways-short%</a></li>
+ <li><a
href="https://wikimediafoundation.org/wiki/Special:LandingCheck?basic=true&landing_page=FAQ&language=@language&uselang=@language&country=@country">%donate_interface-faqs%</a></li>
+ <li><a
href="https://wikimediafoundation.org/wiki/Special:LandingCheck?basic=true&landing_page=Tax_Deductibility&language=@language&uselang=@language&country=@country">%donate_interface-tax-info%</a></li>
+ </ul>
+ </td>
+ <td>@verisign_logo</td>
+ </tr>
+ </table>
+ </div>
+ </td>
+ </tr>
+ </table>
+
+
+
+</div>
+
+<!-- Wikimedia Project logo
+<li id="footer-copyrightico"><a href="//wikimediafoundation.org/"><img
src="//bits.wikimedia.org/images/wikimedia-button.png" width="88" height="31"
alt="Wikimedia Foundation"/></a></li>
+ -->
diff --git a/globalcollect_gateway/forms/html/ew/ew-alipay.html
b/globalcollect_gateway/forms/html/ew/ew-alipay.html
index cbc4397..8b34bcc 100644
--- a/globalcollect_gateway/forms/html/ew/ew-alipay.html
+++ b/globalcollect_gateway/forms/html/ew/ew-alipay.html
@@ -3,7 +3,6 @@
// these must go through RapidHTML and thus are inline
var amountErrors =
['#general|escape','#retryMsg|escape','#amount|escape'];
var billingErrors =
['#fname|escape','#lname|escape','#city|escape','#country|escape','#street|escape','#state|escape','#zip|escape','#emailAdd|escape'];
- var paymentErrors =
['#card_num|escape','#card_type|escape','#cvv|escape'];
var actionURL = "@action";
var scriptPath = "@script_path";
</script>
diff --git a/globalcollect_gateway/forms/html/ew/ew-webmoney.html
b/globalcollect_gateway/forms/html/ew/ew-webmoney.html
index 928dd90..4c2e3e5 100644
--- a/globalcollect_gateway/forms/html/ew/ew-webmoney.html
+++ b/globalcollect_gateway/forms/html/ew/ew-webmoney.html
@@ -3,7 +3,6 @@
// these must go through RapidHTML and thus are inline
var amountErrors = ['#general|escape','#retryMsg|escape','#amount|escape'];
var billingErrors =
['#fname|escape','#lname|escape','#city|escape','#country|escape','#street|escape','#state|escape','#zip|escape','#emailAdd|escape'];
- var paymentErrors = ['#card_num|escape','#card_type|escape','#cvv|escape'];
var actionURL = "@action";
var scriptPath = "@script_path";
</script>
diff --git a/globalcollect_gateway/forms/html/ew/ew-yandex.html
b/globalcollect_gateway/forms/html/ew/ew-yandex.html
index a83f89f..0a582e9 100644
--- a/globalcollect_gateway/forms/html/ew/ew-yandex.html
+++ b/globalcollect_gateway/forms/html/ew/ew-yandex.html
@@ -3,7 +3,6 @@
// these must go through RapidHTML and thus are inline
var amountErrors =
['#general|escape','#retryMsg|escape','#amount|escape'];
var billingErrors =
['#fname|escape','#lname|escape','#city|escape','#country|escape','#street|escape','#state|escape','#zip|escape','#emailAdd|escape'];
- var paymentErrors =
['#card_num|escape','#card_type|escape','#cvv|escape'];
var actionURL = "@action";
var scriptPath = "@script_path";
</script>
diff --git a/globalcollect_gateway/forms/html/obt/obt-bpay.html
b/globalcollect_gateway/forms/html/obt/obt-bpay.html
index 89a14c0..089e69b 100644
--- a/globalcollect_gateway/forms/html/obt/obt-bpay.html
+++ b/globalcollect_gateway/forms/html/obt/obt-bpay.html
@@ -3,7 +3,6 @@
// these must go through RapidHTML and thus are inline
var amountErrors =
["#general|escape",'#retryMsg|escape','#amount|escape'];
var billingErrors =
['#fname|escape','#lname|escape','#city|escape','#country|escape','#street|escape','#state|escape','#zip|escape','#emailAdd|escape'];
- var paymentErrors =
['#card_num|escape','#card_type|escape','#cvv|escape'];
var actionURL = "@action";
var scriptPath = "@script_path";
</script>
diff --git a/globalcollect_gateway/forms/html/rcc/rcc-vm.html
b/globalcollect_gateway/forms/html/rcc/rcc-vm.html
index 5c288ff..64765fb 100644
--- a/globalcollect_gateway/forms/html/rcc/rcc-vm.html
+++ b/globalcollect_gateway/forms/html/rcc/rcc-vm.html
@@ -3,7 +3,6 @@
// these must go through RapidHTML and thus are inline
var amountErrors =
['#general|escape','#retryMsg|escape','#amount|escape'];
var billingErrors =
['#fname|escape','#lname|escape','#city|escape','#country|escape','#street|escape','#state|escape','#zip|escape','#emailAdd|escape'];
- var paymentErrors =
['#card_num|escape','#card_type|escape','#cvv|escape'];
var actionURL = "@action";
var scriptPath = "@script_path";
</script>
diff --git a/globalcollect_gateway/forms/html/rcc/rcc-vma.html
b/globalcollect_gateway/forms/html/rcc/rcc-vma.html
index 2dbe40a..9365f71 100644
--- a/globalcollect_gateway/forms/html/rcc/rcc-vma.html
+++ b/globalcollect_gateway/forms/html/rcc/rcc-vma.html
@@ -3,7 +3,6 @@
// these must go through RapidHTML and thus are inline
var amountErrors =
['#general|escape','#retryMsg|escape','#amount|escape'];
var billingErrors =
['#fname|escape','#lname|escape','#city|escape','#country|escape','#street|escape','#state|escape','#zip|escape','#emailAdd|escape'];
- var paymentErrors =
['#card_num|escape','#card_type|escape','#cvv|escape'];
var actionURL = "@action";
var scriptPath = "@script_path";
</script>
diff --git a/globalcollect_gateway/forms/html/rcc/rcc-vmad.html
b/globalcollect_gateway/forms/html/rcc/rcc-vmad.html
index 700a495..b3571c3 100644
--- a/globalcollect_gateway/forms/html/rcc/rcc-vmad.html
+++ b/globalcollect_gateway/forms/html/rcc/rcc-vmad.html
@@ -3,7 +3,6 @@
// these must go through RapidHTML and thus are inline
var amountErrors =
['#general|escape','#retryMsg|escape','#amount|escape'];
var billingErrors =
['#fname|escape','#lname|escape','#city|escape','#country|escape','#street|escape','#state|escape','#zip|escape','#emailAdd|escape'];
- var paymentErrors =
['#card_num|escape','#card_type|escape','#cvv|escape'];
var actionURL = "@action";
var scriptPath = "@script_path";
</script>
diff --git a/globalcollect_gateway/forms/html/rcc/rcc-vmaj.html
b/globalcollect_gateway/forms/html/rcc/rcc-vmaj.html
index d818690..783f2e3 100644
--- a/globalcollect_gateway/forms/html/rcc/rcc-vmaj.html
+++ b/globalcollect_gateway/forms/html/rcc/rcc-vmaj.html
@@ -3,7 +3,6 @@
// these must go through RapidHTML and thus are inline
var amountErrors =
['#general|escape','#retryMsg|escape','#amount|escape'];
var billingErrors =
['#fname|escape','#lname|escape','#city|escape','#country|escape','#street|escape','#state|escape','#zip|escape','#emailAdd|escape'];
- var paymentErrors =
['#card_num|escape','#card_type|escape','#cvv|escape'];
var actionURL = "@action";
var scriptPath = "@script_path";
</script>
diff --git a/globalcollect_gateway/forms/html/rcc/rcc-vmd.html
b/globalcollect_gateway/forms/html/rcc/rcc-vmd.html
index e7b1c3a..0b17470 100644
--- a/globalcollect_gateway/forms/html/rcc/rcc-vmd.html
+++ b/globalcollect_gateway/forms/html/rcc/rcc-vmd.html
@@ -3,7 +3,6 @@
// these must go through RapidHTML and thus are inline
var amountErrors =
['#general|escape','#retryMsg|escape','#amount|escape'];
var billingErrors =
['#fname|escape','#lname|escape','#city|escape','#country|escape','#street|escape','#state|escape','#zip|escape','#emailAdd|escape'];
- var paymentErrors =
['#card_num|escape','#card_type|escape','#cvv|escape'];
var actionURL = "@action";
var scriptPath = "@script_path";
</script>
diff --git a/globalcollect_gateway/forms/html/rcc/rcc-vmj.html
b/globalcollect_gateway/forms/html/rcc/rcc-vmj.html
index c82882e..9c1eaf2 100644
--- a/globalcollect_gateway/forms/html/rcc/rcc-vmj.html
+++ b/globalcollect_gateway/forms/html/rcc/rcc-vmj.html
@@ -3,7 +3,6 @@
// these must go through RapidHTML and thus are inline
var amountErrors =
['#general|escape','#retryMsg|escape','#amount|escape'];
var billingErrors =
['#fname|escape','#lname|escape','#city|escape','#country|escape','#street|escape','#state|escape','#zip|escape','#emailAdd|escape'];
- var paymentErrors =
['#card_num|escape','#card_type|escape','#cvv|escape'];
var actionURL = "@action";
var scriptPath = "@script_path";
</script>
diff --git a/globalcollect_gateway/forms/html/rcc/rcc.html
b/globalcollect_gateway/forms/html/rcc/rcc.html
index 3c376d2..f30301c 100644
--- a/globalcollect_gateway/forms/html/rcc/rcc.html
+++ b/globalcollect_gateway/forms/html/rcc/rcc.html
@@ -3,7 +3,6 @@
// these must go through RapidHTML and thus are inline
var amountErrors =
['#general|escape','#retryMsg|escape','#amount|escape'];
var billingErrors =
['#fname|escape','#lname|escape','#city|escape','#country|escape','#street|escape','#state|escape','#zip|escape','#emailAdd|escape'];
- var paymentErrors =
['#card_num|escape','#card_type|escape','#cvv|escape'];
var actionURL = "@action";
var scriptPath = "@script_path";
</script>
diff --git a/globalcollect_gateway/forms/html/rtbt/rtbt-enets.html
b/globalcollect_gateway/forms/html/rtbt/rtbt-enets.html
index 3ba8897..6296713 100644
--- a/globalcollect_gateway/forms/html/rtbt/rtbt-enets.html
+++ b/globalcollect_gateway/forms/html/rtbt/rtbt-enets.html
@@ -3,7 +3,6 @@
// these must go through RapidHTML and thus are inline
var amountErrors =
["#general|escape",'#retryMsg|escape','#amount|escape'];
var billingErrors =
['#fname|escape','#lname|escape','#city|escape','#country|escape','#street|escape','#state|escape','#zip|escape','#emailAdd|escape'];
- var paymentErrors =
['#card_num|escape','#card_type|escape','#cvv|escape'];
var actionURL = "@action";
var scriptPath = "@script_path";
</script>
diff --git a/globalcollect_gateway/forms/html/rtbt/rtbt-eps.html
b/globalcollect_gateway/forms/html/rtbt/rtbt-eps.html
index 9737b13..7d30c9f 100644
--- a/globalcollect_gateway/forms/html/rtbt/rtbt-eps.html
+++ b/globalcollect_gateway/forms/html/rtbt/rtbt-eps.html
@@ -3,7 +3,6 @@
// these must go through RapidHTML and thus are inline
var amountErrors =
["#general|escape",'#retryMsg|escape','#amount|escape'];
var billingErrors =
['#fname|escape','#lname|escape','#city|escape','#country|escape','#street|escape','#state|escape','#zip|escape','#emailAdd|escape'];
- var paymentErrors =
['#card_num|escape','#card_type|escape','#cvv|escape'];
var actionURL = "@action";
var scriptPath = "@script_path";
</script>
diff --git a/globalcollect_gateway/forms/html/rtbt/rtbt-ideal-noadd.html
b/globalcollect_gateway/forms/html/rtbt/rtbt-ideal-noadd.html
index 0205d0e..a9a5369 100644
--- a/globalcollect_gateway/forms/html/rtbt/rtbt-ideal-noadd.html
+++ b/globalcollect_gateway/forms/html/rtbt/rtbt-ideal-noadd.html
@@ -3,7 +3,6 @@
// these must go through RapidHTML and thus are inline
var amountErrors =
["#general|escape",'#retryMsg|escape','#amount|escape'];
var billingErrors =
['#fname|escape','#lname|escape','#city|escape','#country|escape','#street|escape','#state|escape','#zip|escape','#emailAdd|escape'];
- var paymentErrors =
['#card_num|escape','#card_type|escape','#cvv|escape'];
var actionURL = "@action";
var scriptPath = "@script_path";
</script>
diff --git a/globalcollect_gateway/forms/html/rtbt/rtbt-ideal.html
b/globalcollect_gateway/forms/html/rtbt/rtbt-ideal.html
index 70c08cf..c979aec 100644
--- a/globalcollect_gateway/forms/html/rtbt/rtbt-ideal.html
+++ b/globalcollect_gateway/forms/html/rtbt/rtbt-ideal.html
@@ -3,7 +3,6 @@
// these must go through RapidHTML and thus are inline
var amountErrors =
["#general|escape",'#retryMsg|escape','#amount|escape'];
var billingErrors =
['#fname|escape','#lname|escape','#city|escape','#country|escape','#street|escape','#state|escape','#zip|escape','#emailAdd|escape'];
- var paymentErrors =
['#card_num|escape','#card_type|escape','#cvv|escape'];
var actionURL = "@action";
var scriptPath = "@script_path";
</script>
@@ -150,4 +149,4 @@
<!-- Wikimedia Project logo
<li id="footer-copyrightico"><a href="//wikimediafoundation.org/"><img
src="//bits.wikimedia.org/images/wikimedia-button.png" width="88" height="31"
alt="Wikimedia Foundation"/></a></li>
- -->
\ No newline at end of file
+ -->
diff --git a/globalcollect_gateway/forms/html/rtbt/rtbt-sofo-GB.html
b/globalcollect_gateway/forms/html/rtbt/rtbt-sofo-GB.html
index 4cd1f9f..9369c7c 100644
--- a/globalcollect_gateway/forms/html/rtbt/rtbt-sofo-GB.html
+++ b/globalcollect_gateway/forms/html/rtbt/rtbt-sofo-GB.html
@@ -3,7 +3,6 @@
// these must go through RapidHTML and thus are inline
var amountErrors =
["#general|escape",'#retryMsg|escape','#amount|escape'];
var billingErrors =
['#fname|escape','#lname|escape','#city|escape','#country|escape','#street|escape','#state|escape','#zip|escape','#emailAdd|escape'];
- var paymentErrors =
['#card_num|escape','#card_type|escape','#cvv|escape'];
var actionURL = "@action";
var scriptPath = "@script_path";
</script>
diff --git a/globalcollect_gateway/forms/html/rtbt/rtbt-sofo.html
b/globalcollect_gateway/forms/html/rtbt/rtbt-sofo.html
index 304e74f..797102a 100644
--- a/globalcollect_gateway/forms/html/rtbt/rtbt-sofo.html
+++ b/globalcollect_gateway/forms/html/rtbt/rtbt-sofo.html
@@ -3,7 +3,6 @@
// these must go through RapidHTML and thus are inline
var amountErrors =
["#general|escape",'#retryMsg|escape','#amount|escape'];
var billingErrors =
['#fname|escape','#lname|escape','#city|escape','#country|escape','#street|escape','#state|escape','#zip|escape','#emailAdd|escape'];
- var paymentErrors =
['#card_num|escape','#card_type|escape','#cvv|escape'];
var actionURL = "@action";
var scriptPath = "@script_path";
</script>
diff --git a/globalcollect_gateway/forms/html/webitects2nd-AU.html
b/globalcollect_gateway/forms/html/webitects2nd-AU.html
index ba155ba..fc4c789 100644
--- a/globalcollect_gateway/forms/html/webitects2nd-AU.html
+++ b/globalcollect_gateway/forms/html/webitects2nd-AU.html
@@ -3,7 +3,6 @@
// these must go through RapidHTML and thus are inline
var amountErrors =
['#general|escape','#retryMsg|escape','#amount|escape'];
var billingErrors =
['#fname|escape','#lname|escape','#city|escape','#country|escape','#street|escape','#state|escape','#zip|escape','#emailAdd|escape'];
- var paymentErrors =
['#card_num|escape','#card_type|escape','#cvv|escape'];
var actionURL = "@action";
var scriptPath = "@script_path";
</script>
diff --git a/globalcollect_gateway/forms/html/webitects2nd-US.html
b/globalcollect_gateway/forms/html/webitects2nd-US.html
index 75f0b84..d3dc9ce 100644
--- a/globalcollect_gateway/forms/html/webitects2nd-US.html
+++ b/globalcollect_gateway/forms/html/webitects2nd-US.html
@@ -3,7 +3,6 @@
// these must go through RapidHTML and thus are inline
var amountErrors =
['#general|escape','#retryMsg|escape','#amount|escape'];
var billingErrors =
['#fname|escape','#lname|escape','#city|escape','#country|escape','#street|escape','#state|escape','#zip|escape','#emailAdd|escape'];
- var paymentErrors =
['#card_num|escape','#card_type|escape','#cvv|escape'];
var actionURL = "@action";
var scriptPath = "@script_path";
</script>
diff --git a/globalcollect_gateway/forms/html/webitects2nd-amex.html
b/globalcollect_gateway/forms/html/webitects2nd-amex.html
index 9f986c2..06d0cf2 100644
--- a/globalcollect_gateway/forms/html/webitects2nd-amex.html
+++ b/globalcollect_gateway/forms/html/webitects2nd-amex.html
@@ -3,7 +3,6 @@
// these must go through RapidHTML and thus are inline
var amountErrors =
['#general|escape','#retryMsg|escape','#amount|escape'];
var billingErrors =
['#fname|escape','#lname|escape','#city|escape','#country|escape','#street|escape','#state|escape','#zip|escape','#emailAdd|escape'];
- var paymentErrors =
['#card_num|escape','#card_type|escape','#cvv|escape'];
var actionURL = "@action";
var scriptPath = "@script_path";
</script>
diff --git a/globalcollect_gateway/forms/html/webitects2nd.html
b/globalcollect_gateway/forms/html/webitects2nd.html
index aa0d9be..16ff738 100644
--- a/globalcollect_gateway/forms/html/webitects2nd.html
+++ b/globalcollect_gateway/forms/html/webitects2nd.html
@@ -3,7 +3,6 @@
// these must go through RapidHTML and thus are inline
var amountErrors =
['#general|escape','#retryMsg|escape','#amount|escape'];
var billingErrors =
['#fname|escape','#lname|escape','#city|escape','#country|escape','#street|escape','#state|escape','#zip|escape','#emailAdd|escape'];
- var paymentErrors =
['#card_num|escape','#card_type|escape','#cvv|escape'];
var actionURL = "@action";
var scriptPath = "@script_path";
</script>
diff --git a/globalcollect_gateway/forms/html/webitects2nd_green-US.html
b/globalcollect_gateway/forms/html/webitects2nd_green-US.html
index e1feb9f..dde04c8 100644
--- a/globalcollect_gateway/forms/html/webitects2nd_green-US.html
+++ b/globalcollect_gateway/forms/html/webitects2nd_green-US.html
@@ -3,7 +3,6 @@
// these must go through RapidHTML and thus are inline
var amountErrors =
['#general|escape','#retryMsg|escape','#amount|escape'];
var billingErrors =
['#fname|escape','#lname|escape','#city|escape','#country|escape','#street|escape','#state|escape','#zip|escape','#emailAdd|escape'];
- var paymentErrors =
['#card_num|escape','#card_type|escape','#cvv|escape'];
var actionURL = "@action";
var scriptPath = "@script_path";
</script>
diff --git a/globalcollect_gateway/forms/html/webitects_2_3step-CA.html
b/globalcollect_gateway/forms/html/webitects_2_3step-CA.html
index 72157a0..020d05c 100644
--- a/globalcollect_gateway/forms/html/webitects_2_3step-CA.html
+++ b/globalcollect_gateway/forms/html/webitects_2_3step-CA.html
@@ -3,7 +3,6 @@
// these must go through RapidHTML and thus are inline
var amountErrors =
['#general|escape','#retryMsg|escape','#amount|escape'];
var billingErrors =
['#fname|escape','#lname|escape','#city|escape','#country|escape','#street|escape','#state|escape','#zip|escape','#emailAdd|escape'];
- var paymentErrors =
['#card_num|escape','#card_type|escape','#cvv|escape'];
var actionURL = "@action";
var scriptPath = "@script_path";
</script>
diff --git a/globalcollect_gateway/forms/html/webitects_2_3step.html
b/globalcollect_gateway/forms/html/webitects_2_3step.html
index 36e6f2e..6798cdb 100644
--- a/globalcollect_gateway/forms/html/webitects_2_3step.html
+++ b/globalcollect_gateway/forms/html/webitects_2_3step.html
@@ -3,7 +3,6 @@
// these must go through RapidHTML and thus are inline
var amountErrors =
['#general|escape','#retryMsg|escape','#amount|escape'];
var billingErrors =
['#fname|escape','#lname|escape','#city|escape','#country|escape','#street|escape','#state|escape','#zip|escape','#emailAdd|escape'];
- var paymentErrors =
['#card_num|escape','#card_type|escape','#cvv|escape'];
var actionURL = "@action";
var scriptPath = "@script_path";
</script>
diff --git a/globalcollect_gateway/forms/html/webitects_2_3stepB-US.html
b/globalcollect_gateway/forms/html/webitects_2_3stepB-US.html
index 0d3dd35..36ffeda 100644
--- a/globalcollect_gateway/forms/html/webitects_2_3stepB-US.html
+++ b/globalcollect_gateway/forms/html/webitects_2_3stepB-US.html
@@ -3,7 +3,6 @@
// these must go through RapidHTML and thus are inline
var amountErrors =
['#general|escape','#retryMsg|escape','#amount|escape'];
var billingErrors =
['#fname|escape','#lname|escape','#city|escape','#country|escape','#street|escape','#state|escape','#zip|escape','#emailAdd|escape'];
- var paymentErrors =
['#card_num|escape','#card_type|escape','#cvv|escape'];
var actionURL = "@action";
var scriptPath = "@script_path";
</script>
diff --git a/globalcollect_gateway/forms/js/gc.js
b/globalcollect_gateway/forms/js/gc.js
index 08d0c1c..7d868d5 100644
--- a/globalcollect_gateway/forms/js/gc.js
+++ b/globalcollect_gateway/forms/js/gc.js
@@ -48,7 +48,7 @@
country: country,
payment_method: 'cc',
language: language,
- card_type: $( 'input[name="cardtype"]:checked'
).val().toLowerCase(),
+ payment_submethod: $( 'input[name="cardtype"]:checked'
).val().toLowerCase(),
contribution_tracking_id: $(
'input[name="contribution_tracking_id"]' ).val(),
utm_source: $( 'input[name="utm_source"]' ).val(),
utm_campaign: $( 'input[name="utm_campaign"]' ).val(),
diff --git a/globalcollect_gateway/forms/js/webitects.js
b/globalcollect_gateway/forms/js/webitects.js
index 76079c0..84481f4 100644
--- a/globalcollect_gateway/forms/js/webitects.js
+++ b/globalcollect_gateway/forms/js/webitects.js
@@ -53,7 +53,7 @@
country: country,
payment_method: 'cc',
language: language,
- card_type: $( 'input[name="cardtype"]:checked'
).val().toLowerCase(),
+ payment_submethod: $( 'input[name="cardtype"]:checked'
).val().toLowerCase(),
contribution_tracking_id: $(
'input[name="contribution_tracking_id"]' ).val(),
utm_source: $( 'input[name="utm_source"]' ).val(),
utm_campaign: $( 'input[name="utm_campaign"]' ).val(),
diff --git a/globalcollect_gateway/globalcollect.adapter.php
b/globalcollect_gateway/globalcollect.adapter.php
index 65cd188..3679e4c 100644
--- a/globalcollect_gateway/globalcollect.adapter.php
+++ b/globalcollect_gateway/globalcollect.adapter.php
@@ -135,14 +135,8 @@
//'CUSTOMERBANKZIP' => 'customer_bank_zip'
AN10
'customer_bank_zip' => array( 'type' =>
'alphanumeric', 'length' => 10, ),
- //'CREDITCARDNUMBER' => 'card_num'
N19
- 'card_num' => array(
'type' => 'numeric', 'length' => 19, ),
-
//'CURRENCYCODE' => 'currency_code'
AN3
'currency_code' => array( 'type' =>
'alphanumeric', 'length' => 3, ),
-
- //'CVV' => 'cvv'
N4
- 'cvv' => array(
'type' => 'numeric', 'length' => 4, ),
//'DATECOLLECT' => 'date_collect'
D8 YYYYMMDD
'date_collect' => array( 'type' =>
'date', 'length' => 8, ),
@@ -158,9 +152,6 @@
//'EMAIL' => 'email'
AN70
'email' => array(
'type' => 'alphanumeric', 'length' => 70, ),
-
- //'EXPIRYDATE' => 'expiration'
N4 MMYY
- 'expiration' => array( 'type' =>
'numeric', 'length' => 4, ),
//'FIRSTNAME' => 'fname'
AN15
'fname' => array(
'type' => 'alphanumeric', 'length' => 15, ),
@@ -280,7 +271,6 @@
'CUSTOMERBANKSTREET'=> 'customer_bank_street', // dd
'CUSTOMERBANKNUMBER'=> 'customer_bank_number', // dd
'CUSTOMERBANKZIP' => 'customer_bank_zip', // dd
- 'CREDITCARDNUMBER' => 'card_num',
'CURRENCYCODE' => 'currency_code',
'CVV' => 'cvv',
'DATECOLLECT' => 'date_collect',
@@ -479,9 +469,6 @@
'COUNTRYCODE',
'HOSTEDINDICATOR',
'RETURNURL',
-// 'CVV',
-// 'EXPIRYDATE',
-// 'CREDITCARDNUMBER',
'AUTHENTICATIONINDICATOR',
'FIRSTNAME',
'SURNAME',
@@ -1908,7 +1895,6 @@
//OUR field names.
$this->staged_vars = array(
'amount',
- //'card_num',
'returnto',
'payment_method',
'payment_submethod',
@@ -2005,26 +1991,15 @@
}
/**
- * Stage: card_num
- */
- protected function stage_card_num() {
- if ( array_key_exists( 'card_num', $this->unstaged_data ) ) {
- $this->staged_data['card_num'] = str_replace( ' ', '',
$this->unstaged_data['card_num'] );
- }
- }
-
- /**
* Stage: payment_product
* Stages the payment product ID for GC.
* Not what I had in mind to begin with, but this *completely* blew up.
*/
public function stage_payment_product() {
- //cc used to look in card_type, but that's been an alias for
payment_submethod for a while. DonationData takes care of it.
$payment_method = array_key_exists( 'payment_method',
$this->staged_data ) ? $this->staged_data['payment_method'] : false;
$payment_submethod = array_key_exists( 'payment_submethod',
$this->staged_data ) ? $this->staged_data['payment_submethod'] : false;
if ( $payment_method === 'cc' ) {
- //basically do what used to be stage_card_type.
$types = array (
'visa' => '1',
'amex' => '2',
diff --git a/tests/Adapter/GlobalCollect/GlobalCollectTest.php
b/tests/Adapter/GlobalCollect/GlobalCollectTest.php
index 24367c1..bc1886a 100644
--- a/tests/Adapter/GlobalCollect/GlobalCollectTest.php
+++ b/tests/Adapter/GlobalCollect/GlobalCollectTest.php
@@ -264,9 +264,6 @@
'IPADDRESS' => 'server_ip',
'ISSUERID' => 'issuer_id',
'PAYMENTPRODUCTID' => 'payment_product',
- 'CVV' => 'cvv',
- 'EXPIRYDATE' => 'expiration',
- 'CREDITCARDNUMBER' => 'card_num',
'FIRSTNAME' => 'fname',
'SURNAME' => 'lname',
'STREET' => 'street',
@@ -397,7 +394,7 @@
new FauxRequest( array(
'action'=>'donate',
'amount'=>'3.00',
- 'card_type'=>'amex',
+ 'payment_submethod'=>'amex',
'city'=>'Hollywood',
'contribution_tracking_id'=>'22901382',
'country'=>'US',
diff --git a/tests/DonationDataTest.php b/tests/DonationDataTest.php
index b6e8d94..0307a85 100644
--- a/tests/DonationDataTest.php
+++ b/tests/DonationDataTest.php
@@ -48,10 +48,6 @@
'state' => 'US',
'zip' => '99999',
'country' => 'US',
- 'card_num' => '42',
- 'card_type' => 'visa',
- 'expiration' => '1138',
- 'cvv' => '665',
'currency_code' => 'USD',
'payment_method' => 'cc',
'payment_submethod' => 'visa',
@@ -121,10 +117,7 @@
'state' => 'CA',
'zip' => '94104',
'country' => 'US',
- 'card_num' => '378282246310005',
- 'card_type' => 'amex',
- 'expiration' => '0415',
- 'cvv' => '001',
+ 'payment_submethod' => 'amex',
'currency_code' => 'USD',
'payment_method' => 'cc',
'referrer' =>
'http://www.baz.test.com/index.php?action=foo&action=bar',
@@ -176,10 +169,7 @@
'state' => 'CA',
'zip' => '94104',
'country' => 'US',
- 'card_num' => '378282246310005',
- 'card_type' => 'amex',
- 'expiration' => '0415',
- 'cvv' => '001',
+ 'payment_submethod' => 'amex',
'currency_code' => 'USD',
'payment_method' => 'cc',
'referrer' =>
'http://www.baz.test.com/index.php?action=foo&action=bar',
diff --git a/worldpay_gateway/forms/html/worldpay-dd-test.html
b/worldpay_gateway/forms/html/worldpay-dd-test.html
index 08a4ee1..97912ce 100644
--- a/worldpay_gateway/forms/html/worldpay-dd-test.html
+++ b/worldpay_gateway/forms/html/worldpay-dd-test.html
@@ -14,7 +14,6 @@
'#fname|escape', '#lname|escape', '#city|escape',
'#country|escape', '#street|escape',
'#state|escape', '#zip|escape', '#emailAdd|escape'
];
- var paymentErrors = ['#card_num|escape', '#card_type|escape',
'#cvv|escape'];
var actionURL = "@action";
var scriptPath = "@script_path";
</script>
diff --git a/worldpay_gateway/forms/html/worldpay-test.html
b/worldpay_gateway/forms/html/worldpay-test.html
index dd3ed67..3984fbf 100644
--- a/worldpay_gateway/forms/html/worldpay-test.html
+++ b/worldpay_gateway/forms/html/worldpay-test.html
@@ -14,7 +14,6 @@
'#fname|escape', '#lname|escape', '#city|escape',
'#country|escape', '#street|escape',
'#state|escape', '#zip|escape', '#emailAdd|escape'
];
- var paymentErrors = ['#card_num|escape', '#card_type|escape',
'#cvv|escape'];
var actionURL = "@action";
var scriptPath = "@script_path";
</script>
diff --git a/worldpay_gateway/forms/html/worldpay.html
b/worldpay_gateway/forms/html/worldpay.html
index c27d055..7b95a4e 100644
--- a/worldpay_gateway/forms/html/worldpay.html
+++ b/worldpay_gateway/forms/html/worldpay.html
@@ -14,7 +14,6 @@
'#fname|escape', '#lname|escape', '#city|escape',
'#country|escape', '#street|escape',
'#state|escape', '#zip|escape', '#emailAdd|escape'
];
- var paymentErrors = ['#card_num|escape', '#card_type|escape',
'#cvv|escape'];
var actionURL = "@action";
var scriptPath = "@script_path";
</script>
--
To view, visit https://gerrit.wikimedia.org/r/200094
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I98c8d4054ba88eaee7f6f5c1a074c3a739bb1062
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/DonationInterface
Gerrit-Branch: master
Gerrit-Owner: Awight <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits