Jump to content

Mary-at-Milton

Members
  • Content count

    89
  • Joined

  • Last visited

1 Follower

About Mary-at-Milton

  • Birthday 05/31/1958

Profile Information

  • Real Name
    Mary-Ann
  • Location
    Berkshire
  • Website
  1. Mary-at-Milton

    Super Contact us enhancement 1.0

    I tried Matrix2223 code but I get the error Parse error: parse error, unexpected ',' in /homepages/26/d96678039/htdocs/buy-citizenship-study-guide/contact_us.php on line 73 I don't know how to fix it as there doesn't seem to be any ',' on line 73. Can anyone help with this?
  2. Mary-at-Milton

    Automatically send data feed to Froogle

    Thanks Calvin. Am also waiting in anticipation :) for the new upgrade (Googlebase).
  3. Mary-at-Milton

    Protx Direct v2.22

    I have the Protx Direct module installed. I have been having problems with customers complaining that they are asked for a start date on the card but say their cards do not list a start date, so they do not insert a start date, only an end date. It does not process the transaction and responds with an error message. Any idea why this is. Must all switch cards have a start date or do only some of them have? Is this an error with the module? Thanks for any help.
  4. Mary-at-Milton

    Protx Direct v2.22

    Thanks for that, Tom. I have removed references to the number on the order email and invoice.
  5. Mary-at-Milton

    Protx Direct v2.22

    I have upgraded to the Protx Direct v2.22 module and it works beautifully so far as I can tell. Thanks to all contributed! One thing I would like to change however, is for it to store the card number and information in the database. I need this because I now do a fraud check on every card transaction and I need to have at least the card number to key into my fraud checker. The database is located on a secure server, password protected so this shouldn't be an issue and besides, I would have the card number written down if someone had telephoned their order through so this shouldn't worry the Data Protection people. Can anyone please help me make this change ? Any help would be appreciated.
  6. I have BTS template system installed. I have a problem with the add to cart button on product_info_tpl. Sometimes the button works and sometimes it doesn't. When I use IE to check the page, sometimes the button will not work. Depending on the layout on the page. eg. If I add an image on top of the product information section then sometimes the Add to cart button will work. It always works in Firefox - why? I have been wrestling with this problem for a long time and have searched and search but haven't found the answer anywhere. I have also tried restructuring the template but without success. Can anyone help or point me in the right direction. Here is the code on my product_info_tlp.php <head> </head> <?php echo tep_draw_form('cart_quantity', tep_href_link(FILENAME_PRODUCT_INFO, tep_get_all_get_params(array('action')) . 'action=add_product')); ?> <br> <table width="90%" border="0" align="center" cellpadding="0" cellspacing="0" class="pinkoutline"> <?php if ($product_check['total'] < 1) { ?> <tr> <td> <?php new infoBox(array(array('text' => TEXT_PRODUCT_NOT_FOUND))); ?> </td> </tr> <tr> <td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox"> <tr class="infoBoxContents"> <td><table border="0" width="100%" cellspacing="0" cellpadding="2"> <tr> <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> <td align="right"><?php echo '<a href="' . tep_href_link(FILENAME_DEFAULT) . '">' . tep_image_button('button_continue.gif', IMAGE_BUTTON_CONTINUE) . '</a>'; ?></td> <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> </tr> </table></td> </tr> </table></td> </tr> <?php } else { $product_info_query = tep_db_query("select p.products_id, pd.products_name, pd.products_description, p.products_model, p.products_quantity, p.products_image, pd.products_url, p.products_price, p.products_retail_price, p.products_tax_class_id, p.products_date_added, p.products_date_available, p.manufacturers_id from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_status = '1' and p.products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "' and pd.products_id = p.products_id and pd.language_id = '" . (int)$languages_id . "'"); $product_info = tep_db_fetch_array($product_info_query); tep_db_query("update " . TABLE_PRODUCTS_DESCRIPTION . " set products_viewed = products_viewed+1 where products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "' and language_id = '" . (int)$languages_id . "'"); if ($new_price = tep_get_products_special_price($product_info['products_id'])) { // ***** Begin Separate price per customer mod ***** global $customer_id; $customer_group_query = tep_db_query("select customers_group_id from " . TABLE_CUSTOMERS . " where customers_id = '" . $customer_id . "'"); $customer_group = tep_db_fetch_array($customer_group_query); $scustomer_group_price_query = tep_db_query("select customers_group_price from " . TABLE_PRODUCTS_GROUPS . " where products_id = '" . (int)$HTTP_GET_VARS['products_id']. "' and customers_group_id = '" . $customer_group['customers_group_id'] . "'"); if ($scustomer_group_price = tep_db_fetch_array($scustomer_group_price_query)) $product_info['products_price']= $scustomer_group_price['customers_group_price']; // ***** Begin Separate price per customer mod ***** $products_price = '<s>' . $currencies->display_price($product_info['products_price'], tep_get_tax_rate($product_info['products_tax_class_id'])) . '</s> <span class="productSpecialPrice">' . $currencies->display_price($new_price, tep_get_tax_rate($product_info['products_tax_class_id'])) . '</span>'; } else { //************Begin Separate Price per Customer mod ************** // $products_price = $currencies->display_price($product_info['products_price'], tep_get_tax_rate($product_info['products_tax_class_id'])); global $customer_id; $customer_group_query = tep_db_query("select customers_group_id from " . TABLE_CUSTOMERS . " where customers_id = '" . $customer_id . "'"); $customer_group = tep_db_fetch_array($customer_group_query); $customer_group_price_query = tep_db_query("select customers_group_price from " . TABLE_PRODUCTS_GROUPS . " where products_id = '" . $HTTP_GET_VARS['products_id'] . "' and customers_group_id = '" . $customer_group['customers_group_id'] . "'"); if ( $customer_group['customers_group_id'] != 0) { if ($customer_group_price = tep_db_fetch_array($customer_group_price_query)) { $products_price = $currencies->display_price($customer_group_price['customers_group_price'], tep_get_tax_rate($product_info['products_tax_class_id'])); } else { $products_price = $currencies->display_price($product_info['products_price'], tep_get_tax_rate($product_info['products_tax_class_id'])); } } else { $products_price = $currencies->display_price($product_info['products_price'], tep_get_tax_rate($product_info['products_tax_class_id'])); } //***********End Separate Price per Customer mod ************** } if (tep_not_null($product_info['products_model'])) { $products_name = $product_info['products_name']; } else { $products_name = $product_info['products_name']; } ?> <tr> <td><table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '0'); ?></td> </tr> <td valign="top" bgcolor="#F3E4F3" class="main"><strong><?php echo $products_name; ?></strong></td> <td align="left" valign="top" bgcolor="#F3E4F3" class="main"><div align="right"><strong><?php echo $products_price; ?></strong></div></td> </tr> </table></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '5'); ?></td> </tr> <tr> <td> <?php //// BEGIN: Added for Dynamic MoPics v3.000 if (tep_not_null($product_info['products_image'])) { ?> <table border="0" cellspacing="0" cellpadding="2" align="right"> <tr> <td align="center" class="pinkOutline"> <?php $image_lg = mopics_get_imagebase($product_info['products_image'], DIR_WS_IMAGES . DYNAMIC_MOPICS_BIGIMAGES_DIR); if ($lg_image_ext = mopics_file_exists(DIR_FS_CATALOG . $image_lg, DYNAMIC_MOPICS_BIG_IMAGE_TYPES)) { $image_size = @getimagesize(DIR_FS_CATALOG . $image_lg . '.' . $lg_image_ext); ?> <script language="javascript" type="text/javascript"><!-- document.write('<a href="javascript:popupImage(\'<?php echo tep_href_link(FILENAME_POPUP_IMAGE, 'pID=' . $product_info['products_id'] . '&type=' . $lg_image_ext); ?>\',\'<?php echo ((int)$image_size[1] + 30); ?>\',\'<?php echo ((int)$image_size[0] + 5); ?>\');"><?php echo tep_image(DIR_WS_IMAGES . $product_info['products_image'], addslashes($product_info['products_name']), SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT); ?><br /><span class="smallText"><?php echo TEXT_CLICK_TO_ENLARGE; ?></span></a>'); //--></script> <noscript> <a href="<?php echo tep_href_link($image_lg . '.' . $lg_image_ext); ?>" target="_blank"><?php echo tep_image(DIR_WS_IMAGES . $product_info['products_image'], stripslashes($product_info['products_name']), SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT); ?><br /><span class="smallText"><?php echo TEXT_CLICK_TO_ENLARGE; ?></span></a> </noscript> <?php } else { echo tep_image(DIR_WS_IMAGES . $product_info['products_image'], stripslashes($product_info['products_name']), SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT); } ?> </td> </tr><tr><td align="center" class="main"><strong><?php include(DIR_WS_MODULES . 'ezier_new_fields.php'); ?></strong> </td></tr><tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <tr> <td align="center"><?php echo tep_draw_hidden_field('products_id', $product_info['products_id']) . tep_image_submit('button_in_cart.gif', IMAGE_BUTTON_IN_CART); ?></td> </tr> </table> <?php } //// END: Added for Dynamic MoPics v3.000 ?> <?php } ?> <p class="main"><?php echo stripslashes($product_info['products_description']); ?></p> <table width="100%" border="0" align="left" cellpadding="0" cellspacing="0"> <tr> <td class="main"><table width="100%" border="0" cellpadding="0" cellspacing="0"> <tr> <td class="main"><strong><?php echo TEXT_PRODUCT_OPTIONS; ?></strong></td> </tr> <?php $products_options_name_query = tep_db_query("select distinct popt.products_options_id, popt.products_options_name from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_ATTRIBUTES . " patrib where patrib.products_id='" . (int)$HTTP_GET_VARS['products_id'] . "' and patrib.options_id = popt.products_options_id and popt.language_id = '" . (int)$languages_id . "' order by popt.products_options_name"); while ($products_options_name = tep_db_fetch_array($products_options_name_query)) { $products_options_array = array();$products_options_query = tep_db_query("select pov.products_options_values_id, pov.products_options_values_name, pa.options_values_price, pa.price_prefix from " . TABLE_PRODUCTS_ATTRIBUTES . " pa, " . TABLE_PRODUCTS_OPTIONS_VALUES . " pov where pa.products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "' and pa.options_id = '" . (int)$products_options_name['products_options_id'] . "' and pa.options_values_id = pov.products_options_values_id and pov.language_id = '" . (int)$languages_id . "' order by pa.products_attributes_id"); while ($products_options = tep_db_fetch_array($products_options_query)) { $products_options_array[] = array('id' => $products_options['products_options_values_id'], 'text' => $products_options['products_options_values_name']); if ($products_options['options_values_price'] != '0') { $products_options_array[sizeof($products_options_array)-1]['text'] .= ' (' . $products_options['price_prefix'] . $currencies->display_price($products_options['options_values_price'], tep_get_tax_rate($product_info['products_tax_class_id'])) .') '; } } if (isset($cart->contents[$HTTP_GET_VARS['products_id']]['attributes'][$products_options_name['products_options_id']])) { $selected_attribute = $cart->contents[$HTTP_GET_VARS['products_id']]['attributes'][$products_options_name['products_options_id']]; } else { $selected_attribute = false; } ?> <tr> <td class="main"><?php echo $products_options_name['products_options_name'] . ':'; ?></td> </tr><tr><td><?php echo tep_draw_pull_down_menu('id[' . $products_options_name['products_options_id'] . ']', $products_options_array, $selected_attribute); ?></td></tr> <?php } ?> </table></td> </tr> </table> <?php $products_attributes_query = tep_db_query("select count(*) as total from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_ATTRIBUTES . " patrib where patrib.products_id='" . (int)$HTTP_GET_VARS['products_id'] . "' and patrib.options_id = popt.products_options_id and popt.language_id = '" . (int)$languages_id . "'"); $products_attributes = tep_db_fetch_array($products_attributes_query); if ($products_attributes['total'] > 0) { ?> <?php } ?> </td> </tr> <tr> <td><table width="100%" align="center" cellpadding="0"> <tr> <td width="50%" bgcolor="#F0EDF8" class="main"><?php // ################### Shipping ############## ?><img src="images/delivery.gif"><a href="shipping.php" target="_blank"> Delivery information </a></td> <td width="50%" bgcolor="#F0EDF8" class="main"><?php // ################### Payment Methods ############## ?><img src="images/payment_method.gif"><a href="payment_methods.php" target="_blank"> Payment Methods</a></td> </tr> <tr> <td colspan="2" bgcolor="#F0EDF8" class="main"><?php // ################### Ask a question ############## ?> <img src="images/ask_question.gif"><a href="ask_a_question.php?products_id=<?php echo $product_info['products_id']; ?>" ONMOUSEOVER="window.status='.<?php echo TEXT_QUESTION; ?> .'; return true"> <?php echo TEXT_QUESTION; ?></a> <?php // ################ end added ask a question ############ ?> </td> </tr> <tr> <td colspan="2" bgcolor="#F0EDF8" class="main"><img src="images/warning.gif"> Actual colors may vary from displayed images. Images are not shown at actual size. Delivery times vary according to stock and location.</td> </tr> </table></td> </tr> <?php //// BEGIN: Added for Dynamic MoPics v3.000 ?> <tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <?php //// START: Added for Dynamic MoPics v3.000 $reviews_query = tep_db_query("select count(*) as count from " . TABLE_REVIEWS . " where products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "'"); $reviews = tep_db_fetch_array($reviews_query); //// END: Added for Dynamic MoPics v3.000 if ($reviews['count'] > 0) { ?> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '60'); ?></td> </tr> <?php } if (tep_not_null($product_info['products_url'])) { ?> <?php } if ($product_info['products_date_available'] > date('Y-m-d H:i:s')) { ?> <?php } else { ?> <?php } ?> <td> <?php //Commented for x-sell // if ((USE_CACHE == 'true') && empty($SID)) { // echo tep_cache_also_purchased(3600); // } else { // include(DIR_WS_MODULES . FILENAME_ALSO_PURCHASED_PRODUCTS); // } // } //Added for x sell if ( (USE_CACHE == 'true') && !SID) { echo tep_cache_also_purchased(3600); // include(DIR_WS_MODULES . FILENAME_XSELL_PRODUCTS); } else { include(DIR_WS_MODULES . FILENAME_XSELL_PRODUCTS); // include(DIR_WS_MODULES . FILENAME_ALSO_PURCHASED_PRODUCTS); } ?> </td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '20'); ?></td> </tr> <tr><td><?php require(DIR_WS_MODULES . FILENAME_ALSO_PURCHASED_PRODUCTS); ?></td></tr> </table> </form> Here is url on my site of an example of the button not working in IE but working in Firefox. My Webpage
  7. Mary-at-Milton

    Search Enhancement by Paul Whiter... MS2 ???

    I have installed this contribution and it works well, except for one thing. I think someone else had the same question further up. When searching for 'ring' it comes up with 'earrings' in the search results. How do I get it to only search for the single word 'ring' and not give me 'earrings' ?? Thank you to Jakob Biegel and everyone else who worked on this one. :D
  8. Mary-at-Milton

    Easy Populate & Products Attributes

    Jose! I installed the contrib and it works! Thank you very much for that. :D :D :D
  9. Mary-at-Milton

    Easy Populate & Products Attributes

    I've been doing something similar to fix my problem' date=' and basically (not so easy tho) its add some lines. U could use a modified easypopulate.php with support for extea fields, and see how they r inserted, and do something similar. U should't have too much troubles inserting into database because u'll place them at product table. Sry if im wrong :blush: but im sure a nice coder around here will explain it better. [right']<{POST_SNAPBACK}>[/right] Thanks for that reply. I will try that but I'm not a coder.. :'( If anyone else has a workaround, please let us have it.
  10. Mary-at-Milton

    Easy Populate & Products Attributes

    I have Easypopulate installed and it works just fine. Now I have added some new fields in the db (eg. products_retail_price) and want to update these using Easypopulate. How do I do this? Do I merely create a field name called v_products_retail_price in the Excel spreadsheet? Do I make any changes in the easypopulate.php files?
  11. Mary-at-Milton

    Protx Direct V2.0

    Never mind. It doesn't seem to matter not to have that field.
  12. Mary-at-Milton

    Protx Direct V2.0

    Here are the files I mentioned: languages/english/modules/payment/protx_direct.php <?php // // +----------------------------------------------------------------------+ // osCommerce, Open Source E-Commerce Solutions + // +----------------------------------------------------------------------+ // | Copyright (c) 2004 Jason LeBaron | // | | // | Portions Copyright (c) 2003 osCommerce | // +----------------------------------------------------------------------+ // | This source file is subject to version 2.0 of the GPL license, | // | that is bundled with this package in the file LICENSE, and is | // | available through the world-wide-web at the following url: | // | http://www.gnu.org/copyleft/gpl.html. | // +----------------------------------------------------------------------+ // | includes/modules/payment/protx_direct.php | // | Released under GPL | // | Created by Jason LeBaron - jason@networkdad.com | // +----------------------------------------------------------------------+ // $Id: protx_direct.php 1 2004-10-30 16:00:00Z networkdad $ // Admin Configuration Items define('MODULE_PAYMENT_PROTX_DIRECT_TEXT_ADMIN_TITLE', 'Protx Direct'); // Payment option title as displayed in the admin define('MODULE_PAYMENT_PROTX_DIRECT_TEXT_DESCRIPTION', '<strong>Test Credit Card Numbers:</strong><br /><br />Visa#: 4929000000006<br />MC#: 5404000000000001<br />Delta#: 4462000000000003<br />Solo#: 6334900000000005 - Issue #: 1<br />Switch#: 5641820000000005 - Issue #: 01<br />AMEX#: 374200000000004 <br /><br />Any future date can be used for the expiration date and any 3 or 4 (AMEX) digit number can be used for the CVV Code.<br /><br /><a target="_blank" href="https://ukvps.protx.com/vspadmin">VSP Admin</a>'); // Catalog Items define('MODULE_PAYMENT_PROTX_DIRECT_TEXT_CATALOG_TITLE', 'Credit Card'); // Payment option title as displayed to the customer define('MODULE_PAYMENT_PROTX_DIRECT_TEXT_CREDIT_CARD_TYPE', 'Credit Card Type:'); define('MODULE_PAYMENT_PROTX_DIRECT_TEXT_CREDIT_CARD_OWNER', 'Credit Card Owner:'); define('MODULE_PAYMENT_PROTX_DIRECT_TEXT_CREDIT_CARD_NUMBER', 'Credit Card Number:'); define('MODULE_PAYMENT_PROTX_DIRECT_TEXT_CREDIT_CARD_START_DATE', 'Credit Card Start Date (Switch Only):'); define('MODULE_PAYMENT_PROTX_DIRECT_TEXT_CREDIT_CARD_EXPIRES', 'Credit Card Expiry Date:'); define('MODULE_PAYMENT_PROTX_DIRECT_TEXT_CVV', 'The 3 or 4 security digits on card strip'); define('MODULE_PAYMENT_PROTX_DIRECT_TEXT_CREDIT_CARD_ISSUE_NUMBER', 'Issue Number:'); define('MODULE_PAYMENT_PROTX_DIRECT_TEXT_JS_CC_OWNER', '* The owner\'s name of the credit card must be at least ' . CC_OWNER_MIN_LENGTH . ' characters.\n'); define('MODULE_PAYMENT_PROTX_DIRECT_TEXT_JS_CC_NUMBER', '* The credit card number must be at least ' . CC_NUMBER_MIN_LENGTH . ' characters.\n'); define('MODULE_PAYMENT_PROTX_DIRECT_TEXT_JS_CC_CVV', '* The 3 or 4 digit CVV number must be entered from the back of the credit card.\n'); define('MODULE_PAYMENT_PROTX_DIRECT_TEXT_DECLINED_MESSAGE', 'Your credit card could not be authorized. Please correct any information and try again or contact Customer Care on 0800 298 0682. We will be happy to assist you.'); define('MODULE_PAYMENT_PROTX_DIRECT_TEXT_ERROR', 'Credit Card Error!'); ?> includes/modules/payment/protx_direct.php <?php// // +----------------------------------------------------------------------+ // osCommerce, Open Source E-Commerce Solutions + // +----------------------------------------------------------------------+ // | Copyright (c) 2004 Jason LeBaron | // | | // | Portions Copyright (c) 2003 osCommerce | // +----------------------------------------------------------------------+ // | This source file is subject to version 2.0 of the GPL license, | // | that is bundled with this package in the file LICENSE, and is | // | available through the world-wide-web at the following url: | // | http://www.gnu.org/copyleft/gpl.html. | // +----------------------------------------------------------------------+ // | includes/modules/payment/protx_direct.php | // | Released under GPL | // | Created by Jason LeBaron - jason@networkdad.com | // +----------------------------------------------------------------------+ // $Id: protx_direct.php 1 2004-10-30 16:00:00Z networkdad $ class protx_direct { var $code, $title, $description, $enabled, $response; // class constructor function protx_direct() { global $order; $this->code = 'protx_direct'; if ($HTTP_GET_VARS['main_page'] != '') { $this->title = MODULE_PAYMENT_PROTX_DIRECT_TEXT_CATALOG_TITLE; // Payment module title in Catalog } else { $this->title = MODULE_PAYMENT_PROTX_DIRECT_TEXT_ADMIN_TITLE; // Payment module title in Admin } $this->description = MODULE_PAYMENT_PROTX_DIRECT_TEXT_DESCRIPTION; // Descriptive Info about module in Admin $this->enabled = ((MODULE_PAYMENT_PROTX_DIRECT_STATUS == 'True') ? true : false); // Whether the module is installed or not $this->sort_order = MODULE_PAYMENT_PROTX_DIRECT_SORT_ORDER; // Sort Order of this payment option on the customer payment page $this->form_action_url = tep_href_link(FILENAME_CHECKOUT_PROCESS, '', 'SSL', false); // Page to go to upon submitting page info if ((int)MODULE_PAYMENT_PROTX_DIRECT_ORDER_STATUS_ID > 0) { $this->order_status = MODULE_PAYMENT_PROTX_DIRECT_ORDER_STATUS_ID; } if (is_object($order)) $this->update_status(); } // class methods function update_status() { global $order; if ( ($this->enabled == true) && ((int)MODULE_PAYMENT_PROTX_DIRECT_ZONE > 0) ) { $check_flag = false; $check_query = tep_db_query("select zone_id from " . TABLE_ZONES_TO_GEO_ZONES . " where geo_zone_id = '" . MODULE_PAYMENT_PROTX_DIRECT_ZONE . "' and zone_country_id = '" . $order->billing['country']['id'] . "' order by zone_id"); while ($check = tep_db_fetch_array($check_query)) { if ($check['zone_id'] < 1) { $check_flag = true; break; } elseif ($check['zone_id'] == $order->billing['zone_id']) { $check_flag = true; break; } } if ($check_flag == false) { $this->enabled = false; } } } // Validate the credit card information via javascript (Number, Owner, and CVV Lengths) function javascript_validation() { $js = ' if (payment_value == "' . $this->code . '") {' . "\n" . ' var cc_owner = document.checkout_payment.protx_direct_cc_owner.value;' . "\n" . ' var cc_number = document.checkout_payment.protx_direct_cc_number.value;' . "\n"; if (MODULE_PAYMENT_PROTX_DIRECT_USE_CVV == 'True') { $js .= ' var cc_cvv = document.checkout_payment.protx_direct_cc_cvv.value;' . "\n"; } $js .= ' if (cc_owner == "" || cc_owner.length < ' . CC_OWNER_MIN_LENGTH . ') {' . "\n" . ' error_message = error_message + "' . MODULE_PAYMENT_PROTX_DIRECT_TEXT_JS_CC_OWNER . '";' . "\n" . ' error = 1;' . "\n" . ' }' . "\n" . ' if (cc_number == "" || cc_number.length < ' . CC_NUMBER_MIN_LENGTH . ') {' . "\n" . ' error_message = error_message + "' . MODULE_PAYMENT_PROTX_DIRECT_TEXT_JS_CC_NUMBER . '";' . "\n" . ' error = 1;' . "\n" . ' }' . "\n"; if (MODULE_PAYMENT_PROTX_DIRECT_USE_CVV == 'True') { $js .= ' if (cc_cvv == "" || cc_cvv.length < "3" || cc_cvv.length > "4") {' . "\n". ' error_message = error_message + "' . MODULE_PAYMENT_PROTX_DIRECT_TEXT_JS_CC_CVV . '";' . "\n" . ' error = 1;' . "\n" . ' }' . "\n" . ' }' . "\n"; } return $js; } // Display Credit Card Information Submission Fields on the Checkout Payment Page function selection() { global $order; for ($i=1; $i<13; $i++) { $expires_month[] = array('id' => sprintf('%02d', $i), 'text' => strftime('%B',mktime(0,0,0,$i,1,2000))); } $today = getdate(); for ($i=$today['year']; $i < $today['year']+10; $i++) { $expires_year[] = array('id' => strftime('%y',mktime(0,0,0,1,1,$i)), 'text' => strftime('%Y',mktime(0,0,0,1,1,$i))); } // Start Date Add for ($i=1; $i <13; $i++) { $start_month[] = array('id' => sprintf('%02d', $i), 'text' => strftime('%B',mktime(0,0,0,$i,1,2000))); } $today = getdate(); for ($i=$today['year']-4; $i <= $today['year']; $i++) { $start_year[] = array('id' => strftime('%y',mktime(0,0,0,1,1,$i)), 'text' => strftime('%Y',mktime(0,0,0,1,1,$i))); } if ((MODULE_PAYMENT_PROTX_DIRECT_USE_CVV == 'True' ) && (MODULE_PAYMENT_PROTX_DIRECT_USE_ISSUE == 'True' ) && (MODULE_PAYMENT_PROTX_DIRECT_USE_START == 'True' )) { // ++ issue ++ cvv ++ start date $selection = array('id' => $this->code, 'module' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CATALOG_TITLE, 'fields' => array(array('title' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CREDIT_CARD_OWNER, 'field' => tep_draw_input_field('protx_direct_cc_owner', $order->billing['firstname'] . ' ' . $order->billing['lastname'])), array('title' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CREDIT_CARD_NUMBER, 'field' => tep_draw_input_field('protx_direct_cc_number')), array('title' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CREDIT_CARD_START_DATE, 'field' => tep_draw_pull_down_menu('protx_direct_cc_start_month', $start_month) . ' ' . tep_draw_pull_down_menu('protx_direct_cc_start_year', $start_year)), array('title' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CREDIT_CARD_EXPIRES, 'field' => tep_draw_pull_down_menu('protx_direct_cc_expires_month', $expires_month) . ' ' . tep_draw_pull_down_menu('protx_direct_cc_expires_year', $expires_year)), array('title' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CREDIT_CARD_ISSUE_NUMBER, 'field' => tep_draw_input_field('protx_direct_cc_issue', '', "size=2, maxlength=2")), array('title' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CVV, 'field' => tep_draw_input_field('protx_direct_cc_cvv','',"size=4, maxlength=4")))); } elseif ((MODULE_PAYMENT_PROTX_DIRECT_USE_CVV != 'True' ) && (MODULE_PAYMENT_PROTX_DIRECT_USE_ISSUE == 'True' ) && (MODULE_PAYMENT_PROTX_DIRECT_USE_START == 'True' )) { // -- cvv ++ issue ++ start date $selection = array('id' => $this->code, 'module' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CATALOG_TITLE, 'fields' => array(array('title' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CREDIT_CARD_OWNER, 'field' => tep_draw_input_field('protx_direct_cc_owner', $order->billing['firstname'] . ' ' . $order->billing['lastname'])), array('title' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CREDIT_CARD_NUMBER, 'field' => tep_draw_input_field('protx_direct_cc_number')), array('title' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CREDIT_CARD_START_DATE, 'field' => tep_draw_pull_down_menu('protx_direct_cc_start_month', $start_month) . ' ' . tep_draw_pull_down_menu('protx_direct_cc_start_year', $start_year)), array('title' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CREDIT_CARD_EXPIRES, 'field' => tep_draw_pull_down_menu('protx_direct_cc_expires_month', $expires_month) . ' ' . tep_draw_pull_down_menu('protx_direct_cc_expires_year', $expires_year)), array('title' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CREDIT_CARD_ISSUE_NUMBER, 'field' => tep_draw_input_field('protx_direct_cc_issue', '', "size=2, maxlength=2")))); } elseif ((MODULE_PAYMENT_PROTX_DIRECT_USE_ISSUE != 'True' ) && (MODULE_PAYMENT_PROTX_DIRECT_USE_CVV == 'True' ) && (MODULE_PAYMENT_PROTX_DIRECT_USE_START == 'True' )) { // ++ cvv -- issue ++ start date $selection = array('id' => $this->code, 'module' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CATALOG_TITLE, 'fields' => array(array('title' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CREDIT_CARD_OWNER, 'field' => tep_draw_input_field('protx_direct_cc_owner', $order->billing['firstname'] . ' ' . $order->billing['lastname'])), array('title' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CREDIT_CARD_NUMBER, 'field' => tep_draw_input_field('protx_direct_cc_number')), array('title' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CREDIT_CARD_START_DATE, 'field' => tep_draw_pull_down_menu('protx_direct_cc_start_month', $start_month) . ' ' . tep_draw_pull_down_menu('protx_direct_cc_start_year', $start_year)), array('title' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CREDIT_CARD_EXPIRES, 'field' => tep_draw_pull_down_menu('protx_direct_cc_expires_month', $expires_month) . ' ' . tep_draw_pull_down_menu('protx_direct_cc_expires_year', $expires_year)), array('title' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CVV, 'field' => tep_draw_input_field('protx_direct_cc_cvv','',"size=4, maxlength=4")))); } elseif ((MODULE_PAYMENT_PROTX_DIRECT_USE_CVV != 'True' ) && (MODULE_PAYMENT_PROTX_DIRECT_USE_ISSUE == 'True' ) && (MODULE_PAYMENT_PROTX_DIRECT_USE_START != 'True' )) { // -- cvv ++ issue -- start date $selection = array('id' => $this->code, 'module' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CATALOG_TITLE, 'fields' => array(array('title' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CREDIT_CARD_OWNER, 'field' => tep_draw_input_field('protx_direct_cc_owner', $order->billing['firstname'] . ' ' . $order->billing['lastname'])), array('title' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CREDIT_CARD_NUMBER, 'field' => tep_draw_input_field('protx_direct_cc_number')), array('title' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CREDIT_CARD_EXPIRES, 'field' => tep_draw_pull_down_menu('protx_direct_cc_expires_month', $expires_month) . ' ' . tep_draw_pull_down_menu('protx_direct_cc_expires_year', $expires_year)), array('title' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CREDIT_CARD_ISSUE_NUMBER, 'field' => tep_draw_input_field('protx_direct_cc_issue', '', "size=2, maxlength=2")))); } elseif ((MODULE_PAYMENT_PROTX_DIRECT_USE_CVV == 'True' ) && (MODULE_PAYMENT_PROTX_DIRECT_USE_ISSUE != 'True' ) && (MODULE_PAYMENT_PROTX_DIRECT_USE_START != 'True' )) { // ++ cvv -- issue -- start date $selection = array('id' => $this->code, 'module' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CATALOG_TITLE, 'fields' => array(array('title' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CREDIT_CARD_OWNER, 'field' => tep_draw_input_field('protx_direct_cc_owner', $order->billing['firstname'] . ' ' . $order->billing['lastname'])), array('title' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CREDIT_CARD_NUMBER, 'field' => tep_draw_input_field('protx_direct_cc_number')), array('title' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CREDIT_CARD_EXPIRES, 'field' => tep_draw_pull_down_menu('protx_direct_cc_expires_month', $expires_month) . ' ' . tep_draw_pull_down_menu('protx_direct_cc_expires_year', $expires_year)), array('title' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CVV, 'field' => tep_draw_input_field('protx_direct_cc_cvv','',"size=4, maxlength=4")))); } elseif ((MODULE_PAYMENT_PROTX_DIRECT_USE_CVV == 'True' ) && (MODULE_PAYMENT_PROTX_DIRECT_USE_ISSUE == 'True' ) && (MODULE_PAYMENT_PROTX_DIRECT_USE_START != 'True' )) { // ++ cvv ++ issue -- start date $selection = array('id' => $this->code, 'module' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CATALOG_TITLE, 'fields' => array(array('title' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CREDIT_CARD_OWNER, 'field' => tep_draw_input_field('protx_direct_cc_owner', $order->billing['firstname'] . ' ' . $order->billing['lastname'])), array('title' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CREDIT_CARD_NUMBER, 'field' => tep_draw_input_field('protx_direct_cc_number')), array('title' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CREDIT_CARD_EXPIRES, 'field' => tep_draw_pull_down_menu('protx_direct_cc_expires_month', $expires_month) . ' ' . tep_draw_pull_down_menu('protx_direct_cc_expires_year', $expires_year)), array('title' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CREDIT_CARD_ISSUE_NUMBER, 'field' => tep_draw_input_field('protx_direct_cc_issue', '', "size=2, maxlength=2")), array('title' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CVV, 'field' => tep_draw_input_field('protx_direct_cc_cvv','',"size=4, maxlength=4")))); } else { // -- cvv -- issue -- start date $selection = array('id' => $this->code, 'module' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CATALOG_TITLE, 'fields' => array(array('title' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CREDIT_CARD_OWNER, 'field' => tep_draw_input_field('protx_direct_cc_owner', $order->billing['firstname'] . ' ' . $order->billing['lastname'])), array('title' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CREDIT_CARD_NUMBER, 'field' => tep_draw_input_field('protx_direct_cc_number')), array('title' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CREDIT_CARD_EXPIRES, 'field' => tep_draw_pull_down_menu('protx_direct_cc_expires_month', $expires_month) . ' ' . tep_draw_pull_down_menu('protx_direct_cc_expires_year', $expires_year)))); } return $selection; } // Evaluates the Credit Card Type for acceptance and the validity of the Credit Card Number & Expiration Date function pre_confirmation_check() { global $HTTP_POST_VARS; include(DIR_WS_CLASSES . 'cc_validation.php'); $cc_validation = new cc_validation(); $result = $cc_validation->validate($HTTP_POST_VARS['protx_direct_cc_number'], $HTTP_POST_VARS['protx_direct_cc_expires_month'], $HTTP_POST_VARS['protx_direct_cc_expires_year'], $HTTP_POST_VARS['protx_direct_cc_cvv']); $error = ''; switch ($result) { case -1: $error = sprintf(TEXT_CCVAL_ERROR_UNKNOWN_CARD, substr($cc_validation->cc_number, 0, 4)); break; case -2: case -3: case -4: $error = TEXT_CCVAL_ERROR_INVALID_DATE; break; case false: $error = TEXT_CCVAL_ERROR_INVALID_NUMBER; break; } if ( ($result == false) || ($result < 1) ) { $payment_error_return = 'payment_error=' . $this->code . '&error=' . urlencode($error) . '&protx_direct_cc_owner=' . urlencode($HTTP_POST_VARS['protx_direct_cc_owner']) . '&protx_direct_cc_expires_month=' . $HTTP_POST_VARS['protx_direct_cc_expires_month'] . '&protx_direct_cc_expires_year=' . $HTTP_POST_VARS['protx_direct_cc_expires_year']; tep_redirect(tep_href_link(FILENAME_CHECKOUT_PAYMENT, $payment_error_return, 'SSL', true, false)); } if (MODULE_PAYMENT_PROTX_DIRECT_USE_CVV != 'True' ) { $this->cc_cvv = '000'; } $this->cc_card_type = $cc_validation->cc_type; $this->cc_card_number = $cc_validation->cc_number; $this->cc_expiry_month = $cc_validation->cc_expiry_month; $this->cc_expiry_year = $cc_validation->cc_expiry_year; } // Display Credit Card Information on the Checkout Confirmation Page function confirmation() { global $HTTP_POST_VARS; if ((MODULE_PAYMENT_PROTX_DIRECT_USE_CVV == 'True' ) && (MODULE_PAYMENT_PROTX_DIRECT_USE_ISSUE == 'True' ) && (MODULE_PAYMENT_PROTX_DIRECT_USE_START == 'True' )) { // ++ cvv ++ issue ++ start date $confirmation = array(//'title' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CATALOG_TITLE, // Redundant 'fields' => array(array('title' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CREDIT_CARD_TYPE, 'field' => $this->cc_card_type), array('title' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CREDIT_CARD_OWNER, 'field' => $HTTP_POST_VARS['protx_direct_cc_owner']), array('title' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CREDIT_CARD_NUMBER, 'field' => substr($this->cc_card_number, 0, 4) . str_repeat('X', (strlen($this->cc_card_number) - 8)) . substr($this->cc_card_number, -4)), array('title' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CREDIT_CARD_START_DATE, 'field' => strftime('%B, %Y', mktime(0,0,0,$HTTP_POST_VARS['protx_direct_cc_start_month'], 1, $HTTP_POST_VARS['protx_direct_cc_start_year'])), array('title' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CREDIT_CARD_EXPIRES, 'field' => strftime('%B, %Y', mktime(0,0,0,$HTTP_POST_VARS['protx_direct_cc_expires_month'], 1, '20' . $HTTP_POST_VARS['protx_direct_cc_expires_year']))), array('title' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CREDIT_CARD_ISSUE, 'field' => $HTTP_POST_VARS['protx_direct_cc_issue']), array('title' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CVV, 'field' => $HTTP_POST_VARS['protx_direct_cc_cvv'])))); return $confirmation; } elseif ((MODULE_PAYMENT_PROTX_DIRECT_USE_CVV != 'True' ) && (MODULE_PAYMENT_PROTX_DIRECT_USE_ISSUE == 'True' ) && (MODULE_PAYMENT_PROTX_DIRECT_USE_START == 'True' )) { // -- cvv ++ issue ++ start date $confirmation = array(//'title' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CATALOG_TITLE, // Redundant 'fields' => array(array('title' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CREDIT_CARD_TYPE, 'field' => $this->cc_card_type), array('title' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CREDIT_CARD_OWNER, 'field' => $HTTP_POST_VARS['protx_direct_cc_owner']), array('title' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CREDIT_CARD_NUMBER, 'field' => substr($this->cc_card_number, 0, 4) . str_repeat('X', (strlen($this->cc_card_number) - 8)) . substr($this->cc_card_number, -4)), array('title' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CREDIT_CARD_START_DATE, 'field' => strftime('%B, %Y', mktime(0,0,0,$HTTP_POST_VARS['protx_direct_cc_start_month'], 1, '20' . $HTTP_POST_VARS['protx_direct_cc_start_year'])), array('title' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CREDIT_CARD_EXPIRES, 'field' => strftime('%B, %Y', mktime(0,0,0,$HTTP_POST_VARS['protx_direct_cc_expires_month'], 1, '20' . $HTTP_POST_VARS['protx_direct_cc_expires_year']))), array('title' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CREDIT_CARD_ISSUE, 'field' => $HTTP_POST_VARS['protx_direct_cc_issue'])))); return $confirmation; } elseif ((MODULE_PAYMENT_PROTX_DIRECT_USE_CVV == 'True' ) && (MODULE_PAYMENT_PROTX_DIRECT_USE_ISSUE != 'True' ) && (MODULE_PAYMENT_PROTX_DIRECT_USE_START == 'True' )) { // ++ cvv -- issue ++ start date $confirmation = array(//'title' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CATALOG_TITLE, // Redundant 'fields' => array(array('title' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CREDIT_CARD_TYPE, 'field' => $this->cc_card_type), array('title' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CREDIT_CARD_OWNER, 'field' => $HTTP_POST_VARS['protx_direct_cc_owner']), array('title' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CREDIT_CARD_NUMBER, 'field' => substr($this->cc_card_number, 0, 4) . str_repeat('X', (strlen($this->cc_card_number) - 8)) . substr($this->cc_card_number, -4)), array('title' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CREDIT_CARD_START_DATE, 'field' => strftime('%B, %Y', mktime(0,0,0,$HTTP_POST_VARS['protx_direct_cc_start_month'], 1, '20' . $HTTP_POST_VARS['protx_direct_cc_start_year'])), array('title' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CREDIT_CARD_EXPIRES, 'field' => strftime('%B, %Y', mktime(0,0,0,$HTTP_POST_VARS['protx_direct_cc_expires_month'], 1, '20' . $HTTP_POST_VARS['protx_direct_cc_expires_year']))), array('title' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CVV, 'field' => $HTTP_POST_VARS['protx_direct_cc_cvv'])), )); return $confirmation; } elseif ((MODULE_PAYMENT_PROTX_DIRECT_USE_CVV != 'True' ) && (MODULE_PAYMENT_PROTX_DIRECT_USE_ISSUE == 'True' ) && (MODULE_PAYMENT_PROTX_DIRECT_USE_START != 'True' )) { // -- cvv ++ issue -- start date $confirmation = array(//'title' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CATALOG_TITLE, // Redundant 'fields' => array(array('title' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CREDIT_CARD_TYPE, 'field' => $this->cc_card_type), array('title' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CREDIT_CARD_OWNER, 'field' => $HTTP_POST_VARS['protx_direct_cc_owner']), array('title' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CREDIT_CARD_NUMBER, 'field' => substr($this->cc_card_number, 0, 4) . str_repeat('X', (strlen($this->cc_card_number) - 8)) . substr($this->cc_card_number, -4)), array('title' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CREDIT_CARD_EXPIRES, 'field' => strftime('%B, %Y', mktime(0,0,0,$HTTP_POST_VARS['protx_direct_cc_expires_month'], 1, '20' . $HTTP_POST_VARS['protx_direct_cc_expires_year']))), array('title' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CREDIT_CARD_ISSUE, 'field' => $HTTP_POST_VARS['protx_direct_cc_issue']))); return $confirmation; } elseif ((MODULE_PAYMENT_PROTX_DIRECT_USE_CVV == 'True' ) && (MODULE_PAYMENT_PROTX_DIRECT_USE_ISSUE != 'True' ) && (MODULE_PAYMENT_PROTX_DIRECT_USE_START != 'True' )) { // ++ cvv -- issue -- start date $confirmation = array(//'title' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CATALOG_TITLE, // Redundant 'fields' => array(array('title' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CREDIT_CARD_TYPE, 'field' => $this->cc_card_type), array('title' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CREDIT_CARD_OWNER, 'field' => $HTTP_POST_VARS['protx_direct_cc_owner']), array('title' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CREDIT_CARD_NUMBER, 'field' => substr($this->cc_card_number, 0, 4) . str_repeat('X', (strlen($this->cc_card_number) - 8)) . substr($this->cc_card_number, -4)), array('title' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CREDIT_CARD_EXPIRES, 'field' => strftime('%B, %Y', mktime(0,0,0,$HTTP_POST_VARS['protx_direct_cc_expires_month'], 1, '20' . $HTTP_POST_VARS['protx_direct_cc_expires_year']))), array('title' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CVV, 'field' => $HTTP_POST_VARS['protx_direct_cc_cvv']), )); return $confirmation; } elseif ((MODULE_PAYMENT_PROTX_DIRECT_USE_CVV != 'True' ) && (MODULE_PAYMENT_PROTX_DIRECT_USE_ISSUE != 'True' ) && (MODULE_PAYMENT_PROTX_DIRECT_USE_START == 'True' )) { // -- cvv -- issue ++ start date $confirmation = array(//'title' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CATALOG_TITLE, // Redundant 'fields' => array(array('title' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CREDIT_CARD_TYPE, 'field' => $this->cc_card_type), array('title' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CREDIT_CARD_OWNER, 'field' => $HTTP_POST_VARS['protx_direct_cc_owner']), array('title' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CREDIT_CARD_NUMBER, 'field' => substr($this->cc_card_number, 0, 4) . str_repeat('X', (strlen($this->cc_card_number) - 8)) . substr($this->cc_card_number, -4)), array('title' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CREDIT_CARD_START_DATE, 'field' => strftime('%B, %Y', mktime(0,0,0,$HTTP_POST_VARS['protx_direct_cc_start_month'], 1, '20' . $HTTP_POST_VARS['protx_direct_cc_start_year'])), array('title' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CREDIT_CARD_EXPIRES, 'field' => strftime('%B, %Y', mktime(0,0,0,$HTTP_POST_VARS['protx_direct_cc_expires_month'], 1, '20' . $HTTP_POST_VARS['protx_direct_cc_expires_year'])))), )); return $confirmation; } elseif ((MODULE_PAYMENT_PROTX_DIRECT_USE_CVV != 'True' ) && (MODULE_PAYMENT_PROTX_DIRECT_USE_ISSUE != 'True' ) && (MODULE_PAYMENT_PROTX_DIRECT_USE_START == 'True' )) { // ++ cvv ++ issue -- start date $confirmation = array(//'title' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CATALOG_TITLE, // Redundant 'fields' => array(array('title' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CREDIT_CARD_TYPE, 'field' => $this->cc_card_type), array('title' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CREDIT_CARD_OWNER, 'field' => $HTTP_POST_VARS['protx_direct_cc_owner']), array('title' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CREDIT_CARD_NUMBER, 'field' => substr($this->cc_card_number, 0, 4) . str_repeat('X', (strlen($this->cc_card_number) - 8)) . substr($this->cc_card_number, -4)), array('title' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CREDIT_CARD_EXPIRES, 'field' => strftime('%B, %Y', mktime(0,0,0,$HTTP_POST_VARS['protx_direct_cc_expires_month'], 1, '20' . $HTTP_POST_VARS['protx_direct_cc_expires_year']))), array('title' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CREDIT_CARD_ISSUE, 'field' => $HTTP_POST_VARS['protx_direct_cc_issue']), array('title' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CVV, 'field' => $HTTP_POST_VARS['protx_direct_cc_cvv']))); return $confirmation; } else { // -- cvv -- issue -- start date $confirmation = array(//'title' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CATALOG_TITLE, // Redundant 'fields' => array(array('title' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CREDIT_CARD_TYPE, 'field' => $this->cc_card_type), array('title' => MODULE_PAYMENT_PROTX_DIRECT_TEXT_CREDIT_CARD_OWNER, &nb
  13. Mary-at-Milton

    Protx Direct V2.0

    I have installed the above payment module and am testing it on my test server. Thanks to Jason LeBaron and Mark keith Evans for their work on this module. I have one problem that I can't fix as I'm no expert on PHP and MySQL. A field asking for the Card Type has been left off - this should appear on the screen where it asks for card details when you checkout. They seem to ask for this information in their installation notes. The field name is called MODULE_PAYMENT_PROTX_DIRECT_TEXT_CREDIT_CARD_TYPE located on line 29 of the source file called 'languages/english/modules/payment/protx_direct.php' I presume this needs to be inserted into the code in the file called 'includes/modules/payment/protx_direct.php. Can anyone show me where to fix this?
  14. Mary-at-Milton

    Links Manager 1.00

    I have the Links Manager contrib (Links Manager for osC v1.00) installed and it has been working fine (I thought). I have been told by at least two people that when they go to my links page and try to submit a link - they are taken to the login page. Can someone please check whether this is the case. When I check it from both Mozilla and IE I don't get that. I don't want people to have to login to submit their links. This could have nothing to do with the contibution itself. Not sure where to start looking. This is my links start page ================================================== (In the meantime I have decided to have another links page (html) directly off the main page (manual entry) as some websites only want to swop links if you have an html links page/search engine friendly pages. I will trade links with those websites that have a high PR ranking and at their request, put their links in the html link directory). Don't know if that's going to make much difference but hey, I am willing to accommodate anyone in this way if it makes them feel better/Google likes it. If you have any thoughts on this, please let me know.
  15. Mary-at-Milton

    Reciprocal Links Checker

    I have the Links Manager contrib (Links Manager for osC v1.00) installed and it has been working fine (I thought). I have been told by at least two people that when they go to my links page and try to submit a link - they are taken to the login page. Can someone please check whether this is the case. When I check it from both Mozilla and IE I don't get that. This is my links page ================================================== (I have decided to have another html links page directly off the main page (manual entry) as some websites only want to swop links if you have an html links page/search engine friendly pages. I will trade links with those websites that have a high PR ranking and at their request, put their links in the html link directory). Don't know if that's going to make much difference but hey, I am willing to accommodate anyone in this way if it makes them feel better/Google likes it. If you have any thoughts on this, please let me know.
×