PageRenderTime 46ms CodeModel.GetById 17ms RepoModel.GetById 0ms app.codeStats 0ms

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

https://bitbucket.org/dgough/annamaria-daneswood-25102012
PHP | 190 lines | 153 code | 15 blank | 22 comment | 9 complexity | 0580dd7a2e5d2fe2f425fc82424ec0b5 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.danhost_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. $q = "SELECT * FROM #__users WHERE id='".$my->id."'";
  64. $dbbt = new ps_DB;
  65. $dbbt->setQuery($q);
  66. $dbbt->query();
  67. $dbbt->next_record();
  68. ?>
  69. <div id="overDiv" style="position:absolute; visibility:hidden; z-index:10000;"></div>
  70. <script type="text/javascript" src="<?php echo $mosConfig_live_site ?>/includes/js/overlib_mini.js"></script>
  71. <script type="text/javascript">
  72. function check_pbscc_form() {
  73. // Remove all non-digits from CardNumber
  74. document.checkout_pbscc_payment.cardnum.value = document.checkout_pbscc_payment.cardnum.value.replace(/(\D)+/g,"");
  75. // Remove all non-digits from Control-digits
  76. document.checkout_pbscc_payment.cvc.value = document.checkout_pbscc_payment.cvc.value.replace(/(\D)+/g,"");
  77. if(document.checkout_pbscc_payment.cardnum.value.length < 10 ) {
  78. alert('<?php echo $VM_LANG->_('PHPSHOP_CHECKOUT_ERR_NO_CCDATE',false) ?>');
  79. return false;
  80. }
  81. else if(document.checkout_pbscc_payment.cvc.value.length < 3 ) {
  82. alert('<?php echo $VM_LANG->_('CONTACT_FORM_NC',false) ?>');
  83. return false;
  84. }
  85. return true;
  86. }
  87. </script>
  88. <h2><?php echo $VM_LANG->_('PHPSHOP_ORDER_PRINT_PAYINFO_LBL') ?></h2>
  89. <h3><?php echo $VM_LANG->_('VM_CHECKOUT_PAGE_GATEWAY_EXPLAIN_1'); ?><br/>
  90. <?php echo $VM_LANG->_('VM_CHECKOUT_PAGE_GATEWAY_EXPLAIN_2'); ?>
  91. </h3>
  92. &nbsp;<form method="post" action="https://gateway.fuzion.dk/auth/" name="checkout_pbscc_payment">
  93. <input type="hidden" name="currency" value="<?php echo $currency_iso_4217 ?>" />
  94. <input type="hidden" name="amount" value="<?php echo $db->f("order_total") ?>" />
  95. <input type="hidden" name="shopid" value="<?php echo PBS_SHOP_ID ?>" />
  96. <input type="hidden" name="sessionid" value="<?php echo $sessionid ?>" />
  97. <input type="hidden" name="cust_name" value="<?php echo $dbbt->f("first_name") ." ".$dbbt->f("last_name") ?>" />
  98. <input type="hidden" name="cust_street" value="<?php echo $dbbt->f("address_1") ?>" />
  99. <input type="hidden" name="cust_zip" value="<?php echo $dbbt->f("zip") ?>" />
  100. <input type="hidden" name="cust_city" value="<?php echo $dbbt->f("city") ?>" />
  101. <input type="hidden" name="cust_state" value="<?php echo $dbbt->f("state") ?>" />
  102. <input type="hidden" name="cust_country" value="<?php echo $dbbt->f("country") ?>" />
  103. <input type="hidden" name="cust_phone" value="<?php echo $dbbt->f("phone_1") ?>" />
  104. <input type="hidden" name="cust_fax" value="<?php echo $dbbt->f("fax") ?>" />
  105. <input type="hidden" name="cust_email" value="<?php echo $dbbt->f("email") ?>" />
  106. <br/>
  107. <table>
  108. <tr>
  109. <td><?php echo $VM_LANG->_('PHPSHOP_ORDER_PRINT_PO_NUMBER') ?>:</td>
  110. <td><?php printf("%08d", $db->f("order_id")); ?></td>
  111. </tr>
  112. <tr>
  113. <td><?php echo $VM_LANG->_('PHPSHOP_CART_TOTAL') ?>:</td>
  114. <td><?php echo $CURRENCY_DISPLAY->getFullValue( $db->f("order_total")); ?></td>
  115. </tr>
  116. <tr>
  117. <td colspan="2"><hr/></td>
  118. </tr>
  119. <tr>
  120. <td><?php echo $VM_LANG->_('PHPSHOP_CHECKOUT_CONF_PAYINFO_CCNUM') ?>:</td>
  121. <td><input class="inputbox" type="text" name="cardnum" size="20"></td>
  122. </tr>
  123. <tr>
  124. <td><?php echo $VM_LANG->_('PHPSHOP_CHECKOUT_CONF_PAYINFO_EXDATE') ?>:</td>
  125. <td>
  126. <select class="inputbox" name="emonth">
  127. <option value="01">01</option>
  128. <option value="02">02</option>
  129. <option value="03">03</option>
  130. <option value="04">04</option>
  131. <option value="05">05</option>
  132. <option value="06">06</option>
  133. <option value="07">07</option>
  134. <option value="08">08</option>
  135. <option value="09">09</option>
  136. <option value="10">10</option>
  137. <option value="11">11</option>
  138. <option value="12">12</option>
  139. </select>&nbsp;&nbsp;
  140. <select class="inputbox" size="1" name="eyear">
  141. <option value="05">2005</option>
  142. <option value="06">2006</option>
  143. <option value="07">2007</option>
  144. <option value="08">2008</option>
  145. <option value="09">2009</option>
  146. <option value="10">2010</option>
  147. <option value="11">2011</option>
  148. <option value="12">2012</option>
  149. <option value="13">2013</option>
  150. <option value="14">2014</option>
  151. <option value="15">2015</option>
  152. <option value="16">2016</option>
  153. <option value="17">2017</option>
  154. </select>
  155. </td>
  156. </tr>
  157. <tr>
  158. <td><?php echo $VM_LANG->_('VM_CHECKOUT_CCV_CODE'); ?>:</td>
  159. <td><input class="inputbox" type="text" name="cvc" size="5" />
  160. <?php echo mm_ToolTip($VM_LANG->_('PHPSHOP_CUSTOMER_CVV2_TOOLTIP'), $VM_LANG->_('VM_CHECKOUT_CCV_CODE_TIPTITLE')); ?>
  161. </td>
  162. </tr>
  163. </table>
  164. <p align="center"><input type="submit" name="submit" onclick="return check_pbscc_form();" /></p>
  165. </form>
  166. <?php
  167. }
  168. }
  169. else {
  170. ?>
  171. <img src="<?php echo IMAGEURL ?>ps_image/button_cancel.png" align="center" alt="<?php echo $VM_LANG->_('VM_CHECKOUT_FAILURE'); ?>" border="0" />
  172. <span class="message"><?php echo $VM_LANG->_('PHPSHOP_PAYMENT_ERROR') . ' (' . $VM_LANG->_('VM_CHECKOUT_MD5_FAILED') . ')'; ?></span>
  173. <?php
  174. }
  175. ?>