PageRenderTime 42ms CodeModel.GetById 15ms RepoModel.GetById 0ms app.codeStats 0ms

/administrator/components/com_virtuemart/html/checkout.dandomain_cc_form.php

https://bitbucket.org/dgough/annamaria-daneswood-25102012
PHP | 182 lines | 145 code | 15 blank | 22 comment | 11 complexity | c3f81c687f82d5785d7acdd90307f7d0 MD5 | raw file
Possible License(s): GPL-2.0, LGPL-2.1
  1. <?php
  2. if( !defined( '_VALID_MOS' ) && !defined( '_JEXEC' ) ) die( 'Direct Access to '.basename(__FILE__).' is not allowed.' );
  3. /**
  4. *
  5. * @version $Id: checkout.dandomain_cc_form.php 1122 2008-01-07 14:52:31Z thepisu $
  6. * @package VirtueMart
  7. * @subpackage html
  8. * @copyright Copyright (C) 2004-2007 soeren - All rights reserved.
  9. * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php
  10. * VirtueMart is free software. This version may have been modified pursuant
  11. * to the GNU General Public License, and as distributed it includes or
  12. * is derivative of works licensed under the GNU General Public License or
  13. * other free or open source software licenses.
  14. * See /administrator/components/com_virtuemart/COPYRIGHT.php for copyright notices and details.
  15. *
  16. * http://virtuemart.net
  17. */
  18. mm_showMyFileName( __FILE__ );
  19. require_once( CLASSPATH ."payment/ps_pbs.cfg.php");
  20. $sessionid = vmGet( $_GET, "sessionid" );
  21. $cookievals = base64_decode( $sessionid );
  22. $orderID = substr( $cookievals, 0, 8 );
  23. $order_id = intval( $orderID );
  24. $virtuemartcookie = substr( $cookievals, 8, 32 );
  25. $sessioncookie = substr( $cookievals, 40, 32 );
  26. $md5_check = substr( $cookievals, 72, 32 );
  27. // Check Validity of the Page Load using the MD5 Check
  28. $submitted_hashbase = $orderID . $virtuemartcookie . $sessioncookie;
  29. // OK! VALID...
  30. if( $md5_check === md5( $submitted_hashbase . $mosConfig_secret . ENCODE_KEY) ) {
  31. session_id( $virtuemartcookie );
  32. session_name( 'virtuemart' );
  33. @session_start();
  34. $session = new mosSession( $database );
  35. if ($session->load( $sessioncookie )) {
  36. // Session cookie exists, update time in session table
  37. $session->time = time();
  38. $session->update();
  39. $mainframe->_session = $session;
  40. $my = $mainframe->getUser();
  41. }
  42. /** Retrieve Order & Payment Info **/
  43. $db = new ps_DB;
  44. $q = "SELECT order_id,order_total FROM #__{vm}_orders ";
  45. $q .= "WHERE #__{vm}_orders.user_id='" . $my->id . "' ";
  46. $q .= "AND #__{vm}_orders.order_id='$order_id' ";
  47. $db->query($q);
  48. if ($db->next_record()) {
  49. switch( $_SESSION['vendor_currency'] ) {
  50. case "DKK":
  51. $currency_iso_4217 = 208;
  52. break;
  53. case "EUR":
  54. $currency_iso_4217 = 978;
  55. break;
  56. case "USD":
  57. $currency_iso_4217 = 840;
  58. break;
  59. default:
  60. // assume that a danish gateway is used with Danish Krona
  61. $currency_iso_4217 = 208;
  62. }
  63. ?>
  64. <div id="overDiv" style="position:absolute; visibility:hidden; z-index:10000;"></div>
  65. <script type="text/javascript" src="<?php echo $mosConfig_live_site ?>/includes/js/overlib_mini.js"></script>
  66. <script type="text/javascript">
  67. function check_pbscc_form() {
  68. // Remove all non-digits from CardNumber
  69. document.checkout_pbscc_payment.CardNumber.value = document.checkout_pbscc_payment.CardNumber.value.replace(/(\D)+/g,"");
  70. // Remove all non-digits from Control-digits
  71. document.checkout_pbscc_payment.CVC.value = document.checkout_pbscc_payment.CVC.value.replace(/(\D)+/g,"");
  72. if(document.checkout_pbscc_payment.CardNumber.value.length < 10 ) {
  73. alert('<?php echo $VM_LANG->_('PHPSHOP_CHECKOUT_ERR_NO_CCDATE',false) ?>');
  74. return false;
  75. }
  76. else if(document.checkout_pbscc_payment.CVC.value.length < 3 ) {
  77. alert('<?php echo $VM_LANG->_('CONTACT_FORM_NC',false) ?>');
  78. return false;
  79. }
  80. return true;
  81. }
  82. </script>
  83. <h2><?php echo $VM_LANG->_('PHPSHOP_ORDER_PRINT_PAYINFO_LBL') ?></h2>
  84. <h3><?php echo $VM_LANG->_('VM_CHECKOUT_PAGE_GATEWAY_EXPLAIN_1'); ?><br/>
  85. <?php echo $VM_LANG->_('VM_CHECKOUT_PAGE_GATEWAY_EXPLAIN_2'); ?>
  86. </h3>
  87. &nbsp;<form method="post" action=" https://pay.dandomain.dk/securecapture.asp" name="checkout_pbscc_payment">
  88. <input type="hidden" name="CurrencyID" value="<?php echo $currency_iso_4217 ?>" />
  89. <input type="hidden" name="Amount" value="<?php echo str_replace(".", ",", $db->f("order_total")) ?>" />
  90. <input type="hidden" name="OrderId" value="<?php echo $db->f("order_id") ?>" />
  91. <?php if( PBS_TEST_MODE == "1" ) { ?>
  92. <input type="hidden" name="TestMode" value="1" />
  93. <?php } ?>
  94. <input type="hidden" name="sessionid" value="<?php echo $sessionid ?>" />
  95. <input type="hidden" name="OKURL" value="<?php echo $mosConfig_live_site ?>/index.php?option=com_virtuemart&page=checkout.dandomain_result&accept=1" />
  96. <input type="hidden" name="FAILURL" value="<?php echo $mosConfig_live_site ?>/index.php?option=com_virtuemart&page=checkout.dandomain_result&accept=0" />
  97. <input type="hidden" name="MerchantNumber" value="<?php echo PBS_MERCHANT_ID ?>" />
  98. <br/>
  99. <table>
  100. <tr>
  101. <td><?php echo $VM_LANG->_('PHPSHOP_ORDER_PRINT_PO_NUMBER') ?>:</td>
  102. <td><?php printf("%08d", $db->f("order_id")); ?></td>
  103. </tr>
  104. <tr>
  105. <td><?php echo $VM_LANG->_('PHPSHOP_CART_TOTAL') ?>:</td>
  106. <td><?php echo $CURRENCY_DISPLAY->getFullValue( $db->f("order_total")); ?></td>
  107. </tr>
  108. <tr>
  109. <td colspan="2"><hr/></td>
  110. </tr>
  111. <tr>
  112. <td><?php echo $VM_LANG->_('PHPSHOP_CHECKOUT_CONF_PAYINFO_CCNUM') ?>:</td>
  113. <td><input class="inputbox" type="text" name="CardNumber" size="20"></td>
  114. </tr>
  115. <tr>
  116. <td><?php echo $VM_LANG->_('PHPSHOP_CHECKOUT_CONF_PAYINFO_EXDATE') ?>:</td>
  117. <td>
  118. <select class="inputbox" name="ExpireMonth">
  119. <option value="01">01</option>
  120. <option value="02">02</option>
  121. <option value="03">03</option>
  122. <option value="04">04</option>
  123. <option value="05">05</option>
  124. <option value="06">06</option>
  125. <option value="07">07</option>
  126. <option value="08">08</option>
  127. <option value="09">09</option>
  128. <option value="10">10</option>
  129. <option value="11">11</option>
  130. <option value="12">12</option>
  131. </select>&nbsp;&nbsp;
  132. <select class="inputbox" size="1" name="ExpireYear">
  133. <option value="05">2005</option>
  134. <option value="06">2006</option>
  135. <option value="07">2007</option>
  136. <option value="08">2008</option>
  137. <option value="09">2009</option>
  138. <option value="10">2010</option>
  139. <option value="11">2011</option>
  140. <option value="12">2012</option>
  141. <option value="13">2013</option>
  142. <option value="14">2014</option>
  143. <option value="15">2015</option>
  144. <option value="16">2016</option>
  145. <option value="17">2017</option>
  146. </select>
  147. </td>
  148. </tr>
  149. <tr>
  150. <td><?php echo $VM_LANG->_('VM_CHECKOUT_CCV_CODE'); ?>:</td>
  151. <td><input class="inputbox" type="text" name="CardCVC" size="5" />
  152. <?php echo mm_ToolTip($VM_LANG->_('PHPSHOP_CUSTOMER_CVV2_TOOLTIP'), $VM_LANG->_('VM_CHECKOUT_CCV_CODE_TIPTITLE')); ?>
  153. </td>
  154. </tr>
  155. </table>
  156. <p align="center"><input type="submit" name="submit" onclick="return check_pbscc_form();" /></p>
  157. </form>
  158. <?php
  159. }
  160. }
  161. else {
  162. ?>
  163. <img src="<?php echo IMAGEURL ?>ps_image/button_cancel.png" align="center" alt="<?php echo $VM_LANG->_('VM_CHECKOUT_FAILURE'); ?>" border="0" />
  164. <span class="message"><?php echo $VM_LANG->_('PHPSHOP_PAYMENT_ERROR') . ' (' . $VM_LANG->_('VM_CHECKOUT_MD5_FAILED') . ')'; ?></span>
  165. <?php
  166. }
  167. ?>