Index: trunk/extensions/DonationInterface/payflowpro_gateway/forms/TwoColumnLetter7.php |
— | — | @@ -12,7 +12,120 @@ |
13 | 13 | |
14 | 14 | parent::__construct( $form_data, $form_errors ); |
15 | 15 | } |
| 16 | + |
| 17 | + public function loadPlaceholders() { |
| 18 | + global $wgOut; |
| 19 | + // form placeholder values |
| 20 | + $other = wfMsg( 'payflowpro_gateway-other' ); |
| 21 | + $first = wfMsg( 'payflowpro_gateway-first' ); |
| 22 | + $last = wfMsg( 'payflowpro_gateway-last' ); |
| 23 | + $street = wfMsg( 'payflowpro_gateway-donor-street' ); |
| 24 | + $city = wfMsg( 'payflowpro_gateway-donor-city' ); |
| 25 | + $zip = wfMsg( 'payflowpro_gateway-zip-code' ); |
| 26 | + $email = wfMsg( 'payflowpro_gateway-donor-email' ); |
| 27 | + $js = <<<EOT |
| 28 | +<script type="text/javascript"> |
| 29 | +function loadPlaceholders() { |
| 30 | + var otherRadio = document.getElementById('otherRadio'); |
| 31 | + var amountOther = document.getElementById('amountOther'); |
| 32 | + var fname = document.getElementById('fname'); |
| 33 | + var lname = document.getElementById('lname'); |
| 34 | + var street = document.getElementById('street'); |
| 35 | + var city = document.getElementById('city'); |
| 36 | + var zip = document.getElementById('zip'); |
| 37 | + var email = document.getElementById('emailAdd'); |
| 38 | + if (typeof otherRadio != "undefined" && amountOther.value == '') { |
| 39 | + amountOther.style.color = '#999999'; |
| 40 | + amountOther.value = '$other'; |
| 41 | + } |
| 42 | + if (fname.value == '') { |
| 43 | + fname.style.color = '#999999'; |
| 44 | + fname.value = '$first'; |
| 45 | + } |
| 46 | + if (lname.value == '') { |
| 47 | + lname.style.color = '#999999'; |
| 48 | + lname.value = '$last'; |
| 49 | + } |
| 50 | + if (street.value == '') { |
| 51 | + street.style.color = '#999999'; |
| 52 | + street.value = '$street'; |
| 53 | + } |
| 54 | + if (city.value == '') { |
| 55 | + city.style.color = '#999999'; |
| 56 | + city.value = '$city'; |
| 57 | + } |
| 58 | + if (zip.value == '') { |
| 59 | + zip.style.color = '#999999'; |
| 60 | + zip.value = '$zip'; |
| 61 | + } |
| 62 | + if (email.value == '') { |
| 63 | + email.style.color = '#999999'; |
| 64 | + email.value = '$email'; |
| 65 | + } |
| 66 | +} |
| 67 | +addEvent( window, 'load', loadPlaceholders ); |
16 | 68 | |
| 69 | +function formCheck( ccform ) { |
| 70 | + var msg = [ 'EmailAdd', 'Fname', 'Lname', 'Street', 'City', 'State', 'Zip', 'CardNum', 'Cvv' ]; |
| 71 | + |
| 72 | + var fields = ["emailAdd","fname","lname","street","city","state","zip","card_num","cvv" ], |
| 73 | + numFields = fields.length, |
| 74 | + i, |
| 75 | + output = '', |
| 76 | + currField = ''; |
| 77 | + |
| 78 | + var doCheck = true; |
| 79 | + if( typeof( document.payment.PaypalRedirect.value ) !== 'undefined' ) { |
| 80 | + if( document.payment.PaypalRedirect.value == 1 ) { |
| 81 | + doCheck = false; |
| 82 | + } |
| 83 | + } |
| 84 | + |
| 85 | + if( doCheck ) { |
| 86 | + for( i = 0; i < numFields; i++ ) { |
| 87 | + if( document.getElementById( fields[i] ).value == '' ) { |
| 88 | + currField = window['payflowproGatewayErrorMsg'+ msg[i]]; |
| 89 | + output += payflowproGatewayErrorMsgJs + ' ' + currField + '.\\r\\n'; |
| 90 | + } |
| 91 | + } |
| 92 | + |
| 93 | + if (document.getElementById('fname').value == '$first') { |
| 94 | + output += payflowproGatewayErrorMsgJs + ' first name.\\r\\n'; |
| 95 | + } |
| 96 | + if (document.getElementById('lname').value == '$last') { |
| 97 | + output += payflowproGatewayErrorMsgJs + ' last name.\\r\\n'; |
| 98 | + } |
| 99 | + if (document.getElementById('street').value == '$street') { |
| 100 | + output += payflowproGatewayErrorMsgJs + ' street address.\\r\\n'; |
| 101 | + } |
| 102 | + if (document.getElementById('city').value == '$city') { |
| 103 | + output += payflowproGatewayErrorMsgJs + ' city.\\r\\n'; |
| 104 | + } |
| 105 | + if (document.getElementById('zip').value == '$zip') { |
| 106 | + output += payflowproGatewayErrorMsgJs + ' zip code.\\r\\n'; |
| 107 | + } |
| 108 | + |
| 109 | + // validate email address |
| 110 | + var apos = document.payment.emailAdd.value.indexOf("@"); |
| 111 | + var dotpos = document.payment.emailAdd.value.lastIndexOf("."); |
| 112 | + |
| 113 | + if( apos < 1 || dotpos-apos < 2 ) { |
| 114 | + output += payflowproGatewayErrorMsgEmail; |
| 115 | + } |
| 116 | + } |
| 117 | + |
| 118 | + if( output ) { |
| 119 | + alert( output ); |
| 120 | + return false; |
| 121 | + } else { |
| 122 | + return true; |
| 123 | + } |
| 124 | +} |
| 125 | +</script> |
| 126 | +EOT; |
| 127 | + $wgOut->addHeadItem( 'placeholders', $js ); |
| 128 | + } |
| 129 | + |
17 | 130 | public function generateFormStart() { |
18 | 131 | global $wgOut, $wgRequest; |
19 | 132 | |
— | — | @@ -93,7 +206,7 @@ |
94 | 207 | // amount |
95 | 208 | $otherChecked = false; |
96 | 209 | $amount = -1; |
97 | | - if ( $this->form_data['amount'] != 100 && $this->form_data['amount'] != 50 && $this->form_data['amount'] != 35 && $this->form_data['amount'] != 20 && $this->form_data['amountOther'] > 0 ) { |
| 210 | + if ( $this->form_data['amount'] != 250 && $this->form_data['amount'] != 150 && $this->form_data['amount'] != 100 && $this->form_data['amount'] != 75 && $this->form_data['amount'] != 50 && $this->form_data['amount'] != 35 && $this->form_data['amount'] != 20 && $this->form_data['amountOther'] > 0 ) { |
98 | 211 | $otherChecked = true; |
99 | 212 | $amount = $this->form_data['amountOther']; |
100 | 213 | } |
— | — | @@ -102,30 +215,33 @@ |
103 | 216 | $form .= '</tr>'; |
104 | 217 | $form .= '<tr>'; |
105 | 218 | $form .= '<td class="label">' . Xml::label( wfMsg( 'payflowpro_gateway-donor-amount' ), 'amount' ) . '</td>'; |
106 | | - $form .= '<td>' . Xml::radio( 'amount', 100, $this->form_data['amount'] == 100, array( 'onfocus' => 'clearField2( document.getElementById(\'amountOther\'), "Other" )' ) ) . '100 ' . |
107 | | - Xml::radio( 'amount', 50, $this->form_data['amount'] == 50, array( 'onfocus' => 'clearField2( document.getElementById(\'amountOther\'), "Other" )' ) ) . '50 ' . |
108 | | - Xml::radio( 'amount', 35, $this->form_data['amount'] == 35, array( 'onfocus' => 'clearField2( document.getElementById(\'amountOther\'), "Other" )' ) ) . '35 ' . |
109 | | - Xml::radio( 'amount', 20, $this->form_data['amount'] == 20, array( 'onfocus' => 'clearField2( document.getElementById(\'amountOther\'), "Other" )' ) ) . '20 ' . |
| 219 | + $form .= '<td>' . |
| 220 | + Xml::radio( 'amount', 20, $this->form_data['amount'] == 20, array( 'onfocus' => 'clearField2( document.getElementById(\'amountOther\'), "Other" )' ) ) . '$20 ' . |
| 221 | + Xml::radio( 'amount', 35, $this->form_data['amount'] == 35, array( 'onfocus' => 'clearField2( document.getElementById(\'amountOther\'), "Other" )' ) ) . '$35 ' . |
| 222 | + Xml::radio( 'amount', 50, $this->form_data['amount'] == 50, array( 'onfocus' => 'clearField2( document.getElementById(\'amountOther\'), "Other" )' ) ) . '$50 ' . |
| 223 | + Xml::radio( 'amount', 75, $this->form_data['amount'] == 75, array( 'onfocus' => 'clearField2( document.getElementById(\'amountOther\'), "Other" )' ) ) . '$75 ' . |
| 224 | + '<br/>' . |
| 225 | + Xml::radio( 'amount', 100, $this->form_data['amount'] == 100, array( 'onfocus' => 'clearField2( document.getElementById(\'amountOther\'), "Other" )' ) ) . '$100 ' . |
| 226 | + Xml::radio( 'amount', 150, $this->form_data['amount'] == 150, array( 'onfocus' => 'clearField2( document.getElementById(\'amountOther\'), "Other" )' ) ) . '$150 ' . |
| 227 | + Xml::radio( 'amount', 250, $this->form_data['amount'] == 250, array( 'onfocus' => 'clearField2( document.getElementById(\'amountOther\'), "Other" )' ) ) . '$250 ' . |
| 228 | + Xml::radio( 'amount', $amount, $otherChecked, array( 'id' => 'otherRadio' ) ) . Xml::input( 'amountOther', '7', $this->form_data['amountOther'], array( 'type' => 'text', 'onfocus' => 'clearField(this, "Other");document.getElementById("otherRadio").checked=true;', 'maxlength' => '10', 'onblur' => 'document.getElementById("otherRadio").value = this.value;', 'id' => 'amountOther' ) ) . |
| 229 | + Html::hidden( 'currency_code', 'USD' ) . |
110 | 230 | '</td>'; |
111 | 231 | $form .= '</tr>'; |
112 | | - $form .= '<tr>'; |
113 | | - $form .= '<td class="label"></td>'; |
114 | | - $form .= '<td>' . Xml::radio( 'amount', $amount, $otherChecked, array( 'id' => 'otherRadio' ) ) . Xml::input( 'amountOther', '7', $this->form_data['amountOther'], array( 'type' => 'text', 'onfocus' => 'clearField(this, "Other");document.getElementById("otherRadio").checked=true;', 'maxlength' => '10', 'onblur' => 'document.getElementById("otherRadio").value = this.value;', 'id' => 'amountOther' ) ) . |
115 | | - ' ' . $this->generateCurrencyDropdown() . '</td>'; |
116 | | - $form .= '</tr>'; |
117 | 232 | |
118 | 233 | // email opt-in |
| 234 | + /* |
119 | 235 | $email_opt_value = ( $wgRequest->wasPosted() ) ? $this->form_data[ 'email-opt' ] : true; |
120 | 236 | $form .= '<tr>'; |
121 | 237 | $form .= '<td class="label"> </td>'; |
122 | 238 | $form .= '<td class="check-option">' . Xml::check( 'email-opt', $email_opt_value ); |
123 | 239 | $form .= ' '; |
124 | | - // put the label inside Xml::openElement so any HTML in the msg might get rendered (right, Germany?) |
125 | 240 | $form .= Xml::openElement( 'label', array( 'for' => 'email-opt' ) ); |
126 | 241 | $form .= wfMsg( 'donate_interface-email-agreement' ); |
127 | 242 | $form .= Xml::closeElement( 'label' ); |
128 | 243 | $form .= '</td>'; |
129 | 244 | $form .= '</tr>'; |
| 245 | + */ |
130 | 246 | |
131 | 247 | $form .= '<tr>'; |
132 | 248 | $form .= '<td class="label">' . wfMsg( 'payflowpro_gateway-payment-type' ) . '</td>'; |
— | — | @@ -146,45 +262,74 @@ |
147 | 263 | $form .= Xml::openElement( 'table', array( 'id' => 'payflow-table-cc', 'style' => 'display: none;' ) ); |
148 | 264 | } |
149 | 265 | |
150 | | - // name |
151 | | - $form .= $this->getNameField(); |
| 266 | + // card number |
| 267 | + $form .= $this->getCardNumberField(); |
152 | 268 | |
153 | | - // email |
154 | | - $form .= $this->getEmailField(); |
155 | | - |
| 269 | + // expiry |
156 | 270 | $form .= '<tr>'; |
157 | | - $form .= '<td colspan=2><span class="creditcard-error-msg"> </span></td>'; |
| 271 | + $form .= '<td class="label">' . Xml::label( wfMsg( 'payflowpro_gateway-donor-expiration' ), 'expiration' ) . '</td>'; |
| 272 | + $form .= '<td>' . $this->generateExpiryMonthDropdown() . ' / ' . $this->generateExpiryYearDropdown() . '</td>'; |
158 | 273 | $form .= '</tr>'; |
159 | | - |
160 | | - // card number |
161 | | - $form .= $this->getCardNumberField(); |
162 | | - |
| 274 | + |
163 | 275 | // cvv |
164 | 276 | $form .= $this->getCvvField(); |
165 | 277 | |
166 | | - // expiry |
167 | | - $form .= $this->getExpiryField(); |
| 278 | + // name |
| 279 | + $form .= '<tr>'; |
| 280 | + $form .= '<td colspan=2><span class="creditcard-error-msg">' . $this->form_errors['fname'] . '</span></td>'; |
| 281 | + $form .= '</tr>'; |
| 282 | + $form .= '<tr>'; |
| 283 | + $form .= '<td colspan=2><span class="creditcard-error-msg">' . $this->form_errors['lname'] . '</span></td>'; |
| 284 | + $form .= '</tr>'; |
| 285 | + $form .= '<tr>'; |
| 286 | + $form .= '<td class="label">' . Xml::label( wfMsg( 'payflowpro_gateway-name-on-card' ), 'fname' ) . '</td>'; |
| 287 | + $form .= '<td>' . Xml::input( 'fname', '30', $this->form_data['fname'], array( 'type' => 'text', 'onfocus' => 'clearField( this, \''.wfMsg( 'payflowpro_gateway-first' ).'\' )', 'maxlength' => '25', 'class' => 'required', 'id' => 'fname' ) ) . |
| 288 | + Xml::input( 'lname', '30', $this->form_data['lname'], array( 'type' => 'text', 'onfocus' => 'clearField( this, \''.wfMsg( 'payflowpro_gateway-last' ).'\' )', 'maxlength' => '25', 'id' => 'lname' ) ) . '</td>'; |
| 289 | + $form .= "</tr>"; |
168 | 290 | |
169 | 291 | // street |
170 | | - $form .= $this->getStreetField(); |
| 292 | + $form .= '<tr>'; |
| 293 | + $form .= '<td colspan=2><span class="creditcard-error-msg">' . $this->form_errors['street'] . '</span></td>'; |
| 294 | + $form .= '</tr>'; |
| 295 | + $form .= '<tr>'; |
| 296 | + $form .= '<td class="label">' . Xml::label( wfMsg( 'payflowpro_gateway-billing-address' ), 'street' ) . '</td>'; |
| 297 | + $form .= '<td>' . Xml::input( 'street', '30', $this->form_data['street'], array( 'type' => 'text', 'onfocus' => 'clearField( this, \''.wfMsg( 'payflowpro_gateway-donor-street' ).'\' )', 'maxlength' => '100', 'id' => 'street', 'class' => 'fullwidth' ) ) . |
| 298 | + '</td>'; |
| 299 | + $form .= '</tr>'; |
171 | 300 | |
172 | 301 | // city |
173 | | - $form .= $this->getCityField(); |
| 302 | + $form .= '<tr>'; |
| 303 | + $form .= '<td colspan=2><span class="creditcard-error-msg">' . $this->form_errors['city'] . '</span></td>'; |
| 304 | + $form .= '</tr>'; |
| 305 | + $form .= '<tr>'; |
| 306 | + $form .= '<td class="label"> </td>'; |
| 307 | + $form .= '<td>' . Xml::input( 'city', '18', $this->form_data['city'], array( 'type' => 'text', 'onfocus' => 'clearField( this, \''.wfMsg( 'payflowpro_gateway-donor-city' ).'\' )', 'maxlength' => '40', 'id' => 'city' ) ) . ' ' . |
| 308 | + $this->generateStateDropdown() . ' ' . |
| 309 | + Xml::input( 'zip', '5', $this->form_data['zip'], array( 'type' => 'text', 'onfocus' => 'clearField( this, \''.wfMsg( 'payflowpro_gateway-zip-code' ).'\' )', 'maxlength' => '10', 'id' => 'zip' ) ) . |
| 310 | + Html::hidden( 'country', 840 ) . |
| 311 | + '</td>'; |
| 312 | + $form .= '</tr>'; |
174 | 313 | |
175 | | - // state |
176 | | - $form .= $this->getStateField(); |
| 314 | + // country |
| 315 | + /* |
| 316 | + $form .= '<tr>'; |
| 317 | + $form .= '<td colspan=2><span class="creditcard-error-msg">' . $this->form_errors['country'] . '</span></td>'; |
| 318 | + $form .= '</tr>'; |
| 319 | + $form .= '<tr>'; |
| 320 | + $form .= '<td class="label"> </td>'; |
| 321 | + $form .= '<td>' . $this->generateCountryDropdown() . '</td>'; |
| 322 | + $form .= '</tr>'; |
| 323 | + */ |
177 | 324 | |
178 | | - // zip |
| 325 | + // email |
179 | 326 | $form .= '<tr>'; |
180 | | - $form .= '<td colspan=2><span class="creditcard-error-msg">' . $this->form_errors['zip'] . '</span></td>'; |
| 327 | + $form .= '<td colspan=2><span class="creditcard-error-msg">' . $this->form_errors['emailAdd'] . '</span></td>'; |
181 | 328 | $form .= '</tr>'; |
182 | 329 | $form .= '<tr>'; |
183 | | - $form .= '<td class="label">' . Xml::label( wfMsg( 'payflowpro_gateway-donor-postal' ), 'zip' ) . '</td>'; |
184 | | - $form .= '<td>' . Xml::input( 'zip', '15', $this->form_data['zip'], array( 'type' => 'text', 'maxlength' => '15', 'id' => 'zip' ) ) . |
| 330 | + $form .= '<td class="label">' . Xml::label( wfMsg( 'payflowpro_gateway-email-receipt' ), 'emailAdd' ) . '</td>'; |
| 331 | + $form .= '<td>' . Xml::input( 'emailAdd', '30', $this->form_data['email'], array( 'type' => 'text', 'onfocus' => 'clearField( this, \''.wfMsg( 'payflowpro_gateway-donor-email' ).'\' )', 'maxlength' => '64', 'id' => 'emailAdd', 'class' => 'fullwidth' ) ) . |
185 | 332 | '</td>'; |
186 | 333 | $form .= '</tr>'; |
187 | | - // country |
188 | | - $form .= $this->getCountryField(); |
189 | 334 | |
190 | 335 | /* |
191 | 336 | $comment_opt_value = ( $wgRequest->wasPosted() ) ? $this->form_data[ 'comment-option' ] : true; |
— | — | @@ -200,6 +345,7 @@ |
201 | 346 | } |
202 | 347 | |
203 | 348 | public function generateFormSubmit() { |
| 349 | + global $wgScriptPath; |
204 | 350 | |
205 | 351 | // cc submit button |
206 | 352 | if ( $this->form_data['card'] == 'cc1' || $this->form_data['card'] == 'cc2' || $this->form_data['card'] == 'cc3' || $this->form_data['card'] == 'cc4' ) { |
— | — | @@ -208,10 +354,10 @@ |
209 | 355 | $form = Xml::openElement( 'div', array( 'id' => 'payflowpro_gateway-form-submit', 'style' => 'display: none;' ) ); |
210 | 356 | } |
211 | 357 | $form .= Xml::openElement( 'div', array( 'id' => 'mw-donate-submit-button' ) ); |
212 | | - $form .= Xml::element( 'input', array( 'class' => 'button-plain', 'value' => wfMsg( 'payflowpro_gateway-donor-submit' ), 'onclick' => 'document.payment.PaypalRedirect.value=0;return true;', 'type' => 'submit' ) ); |
| 358 | + $form .= Xml::element( 'input', array( 'src' => $wgScriptPath . "/extensions/DonationInterface/payflowpro_gateway/includes/submit-donation-button.png", 'alt' => 'Submit donation', 'onclick' => 'document.payment.PaypalRedirect.value=0;return true;', 'type' => 'image' ) ); |
213 | 359 | $form .= Xml::closeElement( 'div' ); // close div#mw-donate-submit-button |
214 | 360 | $form .= Xml::openElement( 'div', array( 'class' => 'mw-donate-submessage', 'id' => 'payflowpro_gateway-donate-submessage' ) ) . |
215 | | - wfMsg( 'payflowpro_gateway-donate-click' ); |
| 361 | + Xml::element( 'img', array( 'src' => $wgScriptPath . "/extensions/DonationInterface/payflowpro_gateway/includes/padlock.gif", 'style' => 'vertical-align:baseline;margin-right:4px;' ) ) . 'Your donation will be securely processed.'; |
216 | 362 | $form .= Xml::closeElement( 'div' ); // close div#payflowpro_gateway-donate-submessage |
217 | 363 | $form .= Xml::closeElement( 'div' ); // close div#payflowpro_gateway-form-submit |
218 | 364 | |
— | — | @@ -223,9 +369,12 @@ |
224 | 370 | } |
225 | 371 | $form .= Xml::openElement( 'div', array( 'id' => 'mw-donate-submit-button' ) ); |
226 | 372 | $form .= Html::hidden( 'PaypalRedirect', 0 ); |
227 | | - $form .= Xml::element( 'input', array( 'class' => 'button-plain', 'value' => wfMsg( 'payflowpro_gateway-donor-submit' ), 'onclick' => 'document.payment.PaypalRedirect.value=1;return true;', 'type' => 'submit' ) ); |
| 373 | + $form .= Xml::element( 'input', array( 'src' => $wgScriptPath . "/extensions/DonationInterface/payflowpro_gateway/includes/submit-donation-button.png", 'alt' => 'Submit donation', 'onclick' => 'document.payment.PaypalRedirect.value=1;return true;', 'type' => 'image' ) ); |
| 374 | + $form .= Xml::closeElement( 'div' ); // close div#mw-donate-submit-button |
| 375 | + $form .= Xml::openElement( 'div', array( 'class' => 'mw-donate-submessage', 'id' => 'payflowpro_gateway-donate-submessage' ) ) . |
| 376 | + Xml::element( 'img', array( 'src' => $wgScriptPath . "/extensions/DonationInterface/payflowpro_gateway/includes/padlock.gif", 'style' => 'vertical-align:baseline;margin-right:4px;' ) ) . 'Your donation will be securely processed.'; |
228 | 377 | $form .= Xml::closeElement( 'div' ); // close div#payflowpro_gateway-donate-submessage |
229 | | - $form .= Xml::closeElement( 'div' ); // close div#payflowpro_gateway-form-submit |
| 378 | + $form .= Xml::closeElement( 'div' ); // close div#payflowpro_gateway-submit-paypal |
230 | 379 | return $form; |
231 | 380 | } |
232 | 381 | |
— | — | @@ -248,23 +397,44 @@ |
249 | 398 | return $form; |
250 | 399 | } |
251 | 400 | |
252 | | - /** |
253 | | - * Generates the donation footer ("There are other ways to give...") |
254 | | - * @returns string of HTML |
255 | | - */ |
256 | 401 | public function generateDonationFooter() { |
257 | 402 | global $wgScriptPath; |
258 | 403 | $form = ''; |
259 | 404 | $form .= Xml::openElement( 'div', array( 'class' => 'payflow-cc-form-section', 'id' => 'payflowpro_gateway-donate-addl-info' ) ); |
260 | | - $form .= Xml::openElement( 'div', array( 'id' => 'payflowpro_gateway-donate-addl-info-secure-logos' ) ); |
261 | | - $form .= Xml::tags( 'p', array( 'class' => '' ), Xml::openElement( 'img', array( 'src' => $wgScriptPath . "/extensions/DonationInterface/payflowpro_gateway/includes/rapidssl_ssl_certificate-nonanimated.png" ) ) ); |
262 | | - $form .= Xml::closeElement( 'div' ); // close div#payflowpro_gateway-donate-addl-info-secure-logos |
263 | 405 | $form .= Xml::openElement( 'div', array( 'id' => 'payflowpro_gateway-donate-addl-info-text' ) ); |
264 | | - $form .= Xml::tags( 'p', array( 'class' => '' ), wfMsg( 'payflowpro_gateway-otherways-short' ) ); |
265 | | - $form .= Xml::tags( 'p', array( 'class' => '' ), wfMsg( 'payflowpro_gateway-credit-storage-processing' ) ); |
266 | | - $form .= Xml::tags( 'p', array( 'class' => '' ), wfMsg( 'payflowpro_gateway-question-comment' ) ); |
| 406 | + $form .= Xml::tags( 'div', array( 'style' => 'text-align:center;' ), '* * *' ); |
| 407 | + $form .= Xml::tags( 'div', array( 'class' => '' ), wfMsg( 'payflowpro_gateway-credit-storage-processing' ) ); |
| 408 | + $form .= Xml::tags( 'div', array( 'class' => '' ), wfMsg( 'payflowpro_gateway-otherways-alt' ) ); |
| 409 | + $form .= Xml::tags( 'div', array( 'class' => '' ), wfMsg( 'payflowpro_gateway-question-comment' ) ); |
267 | 410 | $form .= Xml::closeElement( 'div' ); // close div#payflowpro_gateway-donate-addl-info-text |
268 | 411 | $form .= Xml::closeElement( 'div' ); // close div#payflowpro_gateway-donate-addl-info |
269 | 412 | return $form; |
270 | 413 | } |
| 414 | + |
| 415 | + public function generateStateDropdown() { |
| 416 | + require_once( dirname( __FILE__ ) . '/../includes/stateAbbreviations.inc' ); |
| 417 | + |
| 418 | + $states = statesMenuXML(); |
| 419 | + |
| 420 | + $state_opts = Xml::option( '', '' ); |
| 421 | + |
| 422 | + // generate dropdown of state opts |
| 423 | + foreach ( $states as $value => $state_name ) { |
| 424 | + if ( $value !== 'YY' && $value !== 'XX' ) { |
| 425 | + $selected = ( $this->form_data[ 'state' ] == $value ) ? true : false; |
| 426 | + $state_opts .= Xml::option( $value, $value, $selected ); |
| 427 | + } |
| 428 | + } |
| 429 | + |
| 430 | + $state_menu = Xml::openElement( |
| 431 | + 'select', |
| 432 | + array( |
| 433 | + 'name' => 'state', |
| 434 | + 'id' => 'state' |
| 435 | + ) ); |
| 436 | + $state_menu .= $state_opts; |
| 437 | + $state_menu .= Xml::closeElement( 'select' ); |
| 438 | + |
| 439 | + return $state_menu; |
| 440 | + } |
271 | 441 | } |
Index: trunk/extensions/DonationInterface/payflowpro_gateway/forms/css/TwoColumnLetter7.css |
— | — | @@ -0,0 +1,156 @@ |
| 2 | +table#donation_amount { |
| 3 | + background-color:transparent; |
| 4 | + border:1px solid #AAAAAA; |
| 5 | + border-collapse:collapse; |
| 6 | + width: 394px; |
| 7 | +} |
| 8 | +table#donation_amount td.amount_header { |
| 9 | + background-color:#eef2f7; |
| 10 | + font-size:90%; |
| 11 | +} |
| 12 | +table#donation_amount td.amount_data { |
| 13 | + background-color:#daf2db; |
| 14 | +} |
| 15 | +h3.cc_header { |
| 16 | + padding-bottom: 0; |
| 17 | + margin-bottom: 0; |
| 18 | + font-weight: normal; |
| 19 | +} |
| 20 | +div#payflowpro_gateway-donate-addl-info-text { |
| 21 | + font-size: 90%; |
| 22 | + line-height: 120%; |
| 23 | +} |
| 24 | +div#payflowpro_gateway-donate-submessage { |
| 25 | + font-size: 90%; |
| 26 | + line-height: 120%; |
| 27 | +} |
| 28 | +#payflow-table-donor td.label, #payflow-table-comment td.label, #payflow-table-cc td.label { |
| 29 | + padding-right:1em; |
| 30 | + text-align:right; |
| 31 | + width:94px; |
| 32 | +} |
| 33 | +input#city { |
| 34 | + width: 166px; |
| 35 | +} |
| 36 | +input#zip { |
| 37 | + width: 65px; |
| 38 | +} |
| 39 | + |
| 40 | +.payflow-cc-form-section { |
| 41 | + float: none; |
| 42 | + margin-right: 0em; |
| 43 | + margin-bottom: 1em; |
| 44 | +} |
| 45 | + |
| 46 | +#payflowpro_gateway-cc_form_container { |
| 47 | + width: 100%; |
| 48 | +} |
| 49 | + |
| 50 | +#payflowpro_gateway-cc_form_form { |
| 51 | + width: 475px; |
| 52 | + float: right; |
| 53 | + margin-left: 2em; |
| 54 | + padding-left: 2em; |
| 55 | + border-left: 1px solid #BBBBBB; |
| 56 | +} |
| 57 | + |
| 58 | +#payflowpro_gateway-cc_form_letter { |
| 59 | + height: 100%; |
| 60 | +} |
| 61 | + |
| 62 | +#payflowpro_gateway-cc_form_letter p { |
| 63 | + font-size: 1.125em; |
| 64 | + margin-bottom: 1.2em; |
| 65 | +} |
| 66 | + |
| 67 | +#payflowpro_gateway-personal-info { |
| 68 | + margin-right:0 !important; |
| 69 | +} |
| 70 | + |
| 71 | +#payflowpro_gateway-donate-addl-info-secure-logos { |
| 72 | + float: left; |
| 73 | + margin-right: 2em; |
| 74 | +} |
| 75 | + |
| 76 | +#payflowpro_gateway-cc_form_letter_inside { |
| 77 | + padding-top: .5em; |
| 78 | +} |
| 79 | + |
| 80 | +#payflowpro_gateway-cc_otherways { |
| 81 | + padding-top: .5em; |
| 82 | + display: block; |
| 83 | +} |
| 84 | +#payflowpro_gateway-donate-addl-info { |
| 85 | + margin-top:2em !important; |
| 86 | + margin-bottom:1em !important; |
| 87 | +} |
| 88 | + |
| 89 | +#appeal { |
| 90 | + background-color:transparent; |
| 91 | + border-color:transparent; |
| 92 | + border-style:solid; |
| 93 | + border-width:1px 0 1px 1px; |
| 94 | + padding:16px 24px 24px; |
| 95 | +} |
| 96 | +#appeal-head { |
| 97 | + font-size:1.5em; |
| 98 | + line-height:1.125em; |
| 99 | + padding-bottom:0.5em; |
| 100 | + padding-top:0.125em; |
| 101 | +} |
| 102 | +#appeal-body { |
| 103 | + font-size:1.125em; |
| 104 | + margin-bottom:1em; |
| 105 | + padding:0.2em 0; |
| 106 | +} |
| 107 | +#donate { |
| 108 | + background-color:#cce7cd; |
| 109 | + border:1px solid #5EAC58; |
| 110 | + padding:16px 24px 24px; |
| 111 | + width:450px; |
| 112 | +} |
| 113 | +#donate-head { |
| 114 | + border:none; |
| 115 | + font-size:1.5em; |
| 116 | + line-height:1.125em; |
| 117 | + padding-bottom:0em; |
| 118 | + padding-top:0.125em; |
| 119 | +} |
| 120 | +#donate-body { |
| 121 | + font-size:1.125em; |
| 122 | + margin-bottom:1em; |
| 123 | +} |
| 124 | +input#fname { |
| 125 | + width:133px !important; |
| 126 | +} |
| 127 | +input#lname { |
| 128 | + width:155px !important; |
| 129 | +} |
| 130 | +input.fullwidth { |
| 131 | + width:300px !important; |
| 132 | +} |
| 133 | + |
| 134 | +/* Move the form up */ |
| 135 | +#mw-head-base { |
| 136 | + height: 1em !important; |
| 137 | +} |
| 138 | + |
| 139 | +/* Hiding content border */ |
| 140 | +table { |
| 141 | + background-color: transparent; |
| 142 | +} |
| 143 | +div#content { |
| 144 | + background-color: transparent !important; |
| 145 | + background-image: none !important; |
| 146 | +} |
| 147 | +div#mw-head-base { |
| 148 | + background-image: none !important; |
| 149 | +} |
| 150 | +#footer { |
| 151 | + background-image: none !important; |
| 152 | +} |
| 153 | + |
| 154 | +/* Hiding stuff we don't need */ |
| 155 | +h1#firstHeading, div#contentSub { |
| 156 | + display: none; |
| 157 | +} |