Jump to content

Jamsy

Members
  • Content count

    56
  • Joined

  • Last visited

1 Follower

Profile Information

  1. Hi all I have installed this on a CREloaded version but am getting the following error at checkout: 1054 - Unknown column 'popt.products_options_name' in 'field list' select popt.products_options_name, poval.products_options_values_name, pa.options_values_price, pa.price_prefix, pad.products_attributes_maxdays, pad.products_attributes_maxcount , pad.products_attributes_filename from products_options popt, products_options_values poval, products_attributes pa left join products_attributes_download pad on pa.products_attributes_id=pad.products_attributes_id where pa.products_id = '296{1}3{2}2' and pa.options_id = '2' and pa.options_id = popt.products_options_id and pa.options_values_id = '2' and pa.options_values_id = poval.products_options_values_id and popt.language_id = '1' and poval.language_id = '1' [TEP STOP] Any help would be appreciated. Cheers
  2. Hi Dee I cant find those other 7 entries at all :( <?php /* $Id: cc.php,v 1.53 2003/02/04 09:55:01 project3000 Exp $ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2003 osCommerce Released under the GNU General Public License */ class cc { var $code, $title, $description, $enabled; // class constructor function cc() { global $order; $this->code = 'cc'; $this->title = MODULE_PAYMENT_CC_TEXT_TITLE; $this->description = MODULE_PAYMENT_CC_TEXT_DESCRIPTION; $this->sort_order = MODULE_PAYMENT_CC_SORT_ORDER; $this->enabled = ((MODULE_PAYMENT_CC_STATUS == 'True') ? true : false); if ((int)MODULE_PAYMENT_CC_ORDER_STATUS_ID > 0) { $this->order_status = MODULE_PAYMENT_CC_ORDER_STATUS_ID; } if (is_object($order)) $this->update_status(); } // BMC Changes Start // if cvv not enabled fill cc_cvv with 000 function ch_cvv() { if ( USE_CC_CVV != 'true' ) { $cc_cvv = '000'; return $cc_cvv; } } // BMC Changes End // class methods function update_status() { global $order; if ( ($this->enabled == true) && ((int)MODULE_PAYMENT_CC_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_CC_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; } } } function javascript_validation() { $js = ' if (payment_value == "' . $this->code . '") {' . "\n" . ' var cc_owner = document.checkout_payment.cc_owner.value;' . "\n" . ' var cc_number = document.checkout_payment.cc_number.value;' . "\n" . ' var cc_cvv = document.checkout_payment.cc_cvv.value;' . "\n" . ' if (cc_owner == "" || cc_owner.length < ' . CC_OWNER_MIN_LENGTH . ') {' . "\n" . ' error_message = error_message + "' . MODULE_PAYMENT_CC_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_CC_TEXT_JS_CC_NUMBER . '";' . "\n" . ' error = 1;' . "\n" . ' }' . "\n" . ' if (cc_cvv == "" || cc_cvv.length != ' . CC_CVV_MIN_LENGTH . ') {' . "\n" . ' error_message = error_message + "' . MODULE_PAYMENT_CC_TEXT_JS_CC_CVV . '";' . "\n" . ' error = 1;' . "\n" . ' }' . "\n" . ' }' . "\n"; return $js; } function selection() { global $order; // BMC for expiry date 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))); } // BMC Changes Start // for start date 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))); } // BMC Changes End $selection = array('id' => $this->code, 'module' => $this->title, 'fields' => array(array('title' => MODULE_PAYMENT_CC_TEXT_CREDIT_CARD_OWNER, 'field' => tep_draw_input_field('cc_owner', $order->billing['firstname'] . ' ' . $order->billing['lastname'])), array('title' => MODULE_PAYMENT_CC_TEXT_CREDIT_CARD_NUMBER, 'field' => tep_draw_input_field('cc_number')), // BMC Changes Start array('title' => MODULE_PAYMENT_CC_TEXT_CREDIT_CARD_START, 'field' => tep_draw_pull_down_menu('cc_start_month', $start_month) . ' ' . tep_draw_pull_down_menu('cc_start_year', $start_year)), // BMC Changes End array('title' => MODULE_PAYMENT_CC_TEXT_CREDIT_CARD_EXPIRES, // BMC Changes Start 'field' => tep_draw_pull_down_menu('cc_expires_month', $expires_month) . ' ' . tep_draw_pull_down_menu('cc_expires_year', $expires_year)), array('title' => MODULE_PAYMENT_CC_TEXT_CREDIT_CARD_CVV, 'field' => tep_draw_input_field('cc_cvv', '', 'size=4 maxlength=4')), array('title' => MODULE_PAYMENT_CC_TEXT_CREDIT_CARD_ISSUE, 'field' => tep_draw_input_field('cc_issue', '', 'size=1 maxlength=1')))); // BMC Changes End return $selection; } 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['cc_number'], $HTTP_POST_VARS['cc_expires_month'], $HTTP_POST_VARS['cc_expires_year']); $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; // BMC Changes Start case -5: $error = sprintf(TEXT_CCVAL_ERROR_NOT_ACCEPTED, substr($cc_validation->cc_type, 0, 10), substr($cc_validation->cc_type, 0, 10)); break; case -6: $error = TEXT_CCVAL_ERROR_SHORT; break; case -7: $error = TEXT_CCVAL_ERROR_BLACKLIST; break; // BMC Changes End case false: $error = TEXT_CCVAL_ERROR_INVALID_NUMBER; break; } if ( ($result == false) || ($result < 1) ) { $payment_error_return = 'payment_error=' . $this->code . '&error=' . urlencode($error) . '&cc_owner=' . urlencode($HTTP_POST_VARS['cc_owner']) . '&cc_expires_month=' . $HTTP_POST_VARS['cc_expires_month'] . '&cc_expires_year=' . $HTTP_POST_VARS['cc_expires_year']; tep_redirect(tep_href_link(FILENAME_CHECKOUT_PAYMENT, $payment_error_return, 'SSL', true, false)); } $this->cc_card_type = $cc_validation->cc_type; $this->cc_card_number = $cc_validation->cc_number; } function confirmation() { global $HTTP_POST_VARS; $confirmation = array('title' => $this->title . ': ' . $this->cc_card_type, 'fields' => array(array('title' => MODULE_PAYMENT_CC_TEXT_CREDIT_CARD_OWNER, 'field' => $HTTP_POST_VARS['cc_owner']), array('title' => MODULE_PAYMENT_CC_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)), // BMC Changes Start array('title' => MODULE_PAYMENT_CC_TEXT_CREDIT_CARD_START, 'field' => strftime('%B, %Y', mktime(0,0,0,$HTTP_POST_VARS['cc_start_month'],1,$HTTP_POST_VARS['cc_start_year']))), array('title' => MODULE_PAYMENT_CC_TEXT_CREDIT_CARD_EXPIRES, 'field' => strftime('%B, %Y', mktime(0,0,0,$HTTP_POST_VARS['cc_expires_month'], 1, '20' . $HTTP_POST_VARS['cc_expires_year']))), array('title' => MODULE_PAYMENT_CC_TEXT_CREDIT_CARD_CVV, 'field' => $HTTP_POST_VARS['cc_cvv']), array('title' => MODULE_PAYMENT_CC_TEXT_CREDIT_CARD_ISSUE, 'field' => $HTTP_POST_VARS['cc_issue']))); // BMC Changes End return $confirmation; } function process_button() { global $HTTP_POST_VARS; $process_button_string = tep_draw_hidden_field('cc_owner', $HTTP_POST_VARS['cc_owner']) . tep_draw_hidden_field('cc_expires', $HTTP_POST_VARS['cc_expires_month'] . $HTTP_POST_VARS['cc_expires_year']) . // BMC Changes Start tep_draw_hidden_field('cc_start', $HTTP_POST_VARS['cc_start_month'] . $HTTP_POST_VARS['cc_start_year']) . tep_draw_hidden_field('cc_cvv', $HTTP_POST_VARS['cc_cvv']) . tep_draw_hidden_field('cc_issue', $HTTP_POST_VARS['cc_issue']) . // BMC Changes End tep_draw_hidden_field('cc_type', $this->cc_card_type) . tep_draw_hidden_field('cc_number', $this->cc_card_number); return $process_button_string; } function before_process() { global $HTTP_POST_VARS, $order; if ( (defined('MODULE_PAYMENT_CC_EMAIL')) && (tep_validate_email(MODULE_PAYMENT_CC_EMAIL)) ) { $len = strlen($HTTP_POST_VARS['cc_number']); $this->cc_middle = substr($HTTP_POST_VARS['cc_number'], 4, ($len-8)); $order->info['cc_number'] = substr($HTTP_POST_VARS['cc_number'], 0, 4) . str_repeat('X', (strlen($HTTP_POST_VARS['cc_number']) - 8)) . substr($HTTP_POST_VARS['cc_number'], -4); // BMC Changes Start $this->cc_cvv = $HTTP_POST_VARS['cc_cvv']; $this->cc_start = $HTTP_POST_VARS['cc_start']; $this->cc_issue = $HTTP_POST_VARS['cc_issue']; // BMC Changes End } } function after_process() { global $insert_id; if ( (defined('MODULE_PAYMENT_CC_EMAIL')) && (tep_validate_email(MODULE_PAYMENT_CC_EMAIL)) ) { $message = 'Order #' . $insert_id . "\n\n" . 'Middle: ' . $this->cc_middle . "\n\n" . 'CVV:' . $this->cc_cvv . "\n\n" . 'Start:' . $this->cc_start . "\n\n" . 'ISSUE:' . $this->cc_issue . "\n\n"; tep_mail('', MODULE_PAYMENT_CC_EMAIL, 'Extra Order Info: #' . $insert_id, $message, STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS); } } function get_error() { global $HTTP_GET_VARS; $error = array('title' => MODULE_PAYMENT_CC_TEXT_ERROR, 'error' => stripslashes(urldecode($HTTP_GET_VARS['error']))); return $error; } function check() { if (!isset($this->_check)) { $check_query = tep_db_query("select configuration_value from " . TABLE_CONFIGURATION . " where configuration_key = 'MODULE_PAYMENT_CC_STATUS'"); $this->_check = tep_db_num_rows($check_query); } return $this->_check; } function install() { // BMC Changes Start tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Enable Card Module', 'MODULE_PAYMENT_CC_STATUS', 'True', 'Do you want to accept card payments?', '6', '0', 'tep_cfg_select_option(array(\'True\', \'False\'), ', now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Encrypt CC Info', 'CC_ENC', 'True', 'Do you want to encypt cc info?', '6', '0', 'tep_cfg_select_option(array(\'True\', \'False\'), ', now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Sort order of display.', 'MODULE_PAYMENT_CC_SORT_ORDER', '0', 'Sort order of display. Lowest is displayed first.', '6', '0' , now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, use_function, set_function, date_added) values ('Payment Zone', 'MODULE_PAYMENT_CC_ZONE', '0', 'If a zone is selected, only enable this payment method for that zone.', '6', '2', 'tep_get_zone_class_title', 'tep_cfg_pull_down_zone_classes(', now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, use_function, date_added) values ('Set Order Status', 'MODULE_PAYMENT_CC_ORDER_STATUS_ID', '0', 'Set the status of orders made with this payment module to this value', '6', '0', 'tep_cfg_pull_down_order_statuses(', 'tep_get_order_status_name', now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Collect CVV Number', 'USE_CC_CVV', 'True', 'Do you want to collect CVV Number?', '6', '0', 'tep_cfg_select_option(array(\'True\', \'False\'), ', now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('CVV Number Length', 'CC_CVV_MIN_LENGTH', '3', 'Define CVV length. The default is 3 and should not be changed unless the industry standard changes.', '6', '0', now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Split Card E-Mail Address', 'MODULE_PAYMENT_CC_EMAIL', '', 'If an e-mail address is entered, the middle digits of the card number will be sent to the e-mail address (the outside digits are stored in the database with the middle digits censored)', '6', '0', now())"); // added new configuration keys tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Accept DINERS CLUB cards', 'MODULE_PAYMENT_CC_ACCEPT_DINERSCLUB','False', 'Accept DINERS CLUB cards?', 6, 0, 'tep_cfg_select_option(array(\'True\', \'False\'), ', now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Accept AMERICAN EXPRESS cards', 'MODULE_PAYMENT_CC_ACCEPT_AMERICANEXPRESS','False', 'Accept AMERICAN EXPRESS cards?', 6, 0, 'tep_cfg_select_option(array(\'True\', \'False\'), ', now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Accept CARTE BLANCHE cards', 'MODULE_PAYMENT_CC_ACCEPT_CARTEBLANCHE','False', 'Accept CARTE BLANCHE cards?', 6, 0, 'tep_cfg_select_option(array(\'True\', \'False\'), ', now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Accept AUSTRALIAN BANKCARD cards', 'MODULE_PAYMENT_CC_ACCEPT_OZBANKCARD','False', 'Accept AUSTRALIAN BANK cards?', 6, 0, 'tep_cfg_select_option(array(\'True\', \'False\'), ', now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Accept DISCOVER/NOVUS cards', 'MODULE_PAYMENT_CC_ACCEPT_DISCOVERNOVUS','False', 'Accept DISCOVERNOVUS cards?', 6, 0, 'tep_cfg_select_option(array(\'True\', \'False\'), ', now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Accept DELTA cards', 'MODULE_PAYMENT_CC_ACCEPT_DELTA','False', 'Accept DELTA cards?', 6, 0, 'tep_cfg_select_option(array(\'True\', \'False\'), ', now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Accept ELECTRON cards', 'MODULE_PAYMENT_CC_ACCEPT_ELECTRON','False', 'Accept ELECTRON cards?', 6, 0, 'tep_cfg_select_option(array(\'True\', \'False\'), ', now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Accept MASTERCARD cards', 'MODULE_PAYMENT_CC_ACCEPT_MASTERCARD','False', 'Accept MASTERCARD cards?', 6, 0, 'tep_cfg_select_option(array(\'True\', \'False\'), ', now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Accept SWITCH cards', 'MODULE_PAYMENT_CC_ACCEPT_SWITCH','False', 'Accept SWITCH cards?', 6, 0, 'tep_cfg_select_option(array(\'True\', \'False\'), ', now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Accept SOLO cards', 'MODULE_PAYMENT_CC_ACCEPT_SOLO','False', 'Accept SOLO cards?', 6, 0, 'tep_cfg_select_option(array(\'True\', \'False\'), ', now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Accept JCB cards', 'MODULE_PAYMENT_CC_ACCEPT_JCB','False', 'Accept JCB cards?', 6, 0, 'tep_cfg_select_option(array(\'True\', \'False\'), ', now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Accept MAESTRO cards', 'MODULE_PAYMENT_CC_ACCEPT_MAESTRO','False', 'Accept MAESTRO cards?', 6, 0, 'tep_cfg_select_option(array(\'True\', \'False\'), ', now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Accept VISA cards', 'MODULE_PAYMENT_CC_ACCEPT_VISA','False', 'Accept VISA cards?', 6, 0, 'tep_cfg_select_option(array(\'True\', \'False\'), ', now())"); // BMC Changes End } function remove() { tep_db_query("delete from " . TABLE_CONFIGURATION . " where configuration_key in ('" . implode("', '", $this->keys()) . "')"); } function keys() { return array('MODULE_PAYMENT_CC_STATUS', 'USE_CC_CVV', 'CC_CVV_MIN_LENGTH', 'CC_ENC', 'MODULE_PAYMENT_CC_EMAIL', 'MODULE_PAYMENT_CC_ZONE', 'MODULE_PAYMENT_CC_ORDER_STATUS_ID', 'MODULE_PAYMENT_CC_SORT_ORDER','MODULE_PAYMENT_CC_ACCEPT_DINERSCLUB', 'MODULE_PAYMENT_CC_ACCEPT_AMERICANEXPRESS', 'MODULE_PAYMENT_CC_ACCEPT_CARTEBLANCHE', 'MODULE_PAYMENT_CC_ACCEPT_OZBANKCARD', 'MODULE_PAYMENT_CC_ACCEPT_DISCOVERNOVUS', 'MODULE_PAYMENT_CC_ACCEPT_DELTA', 'MODULE_PAYMENT_CC_ACCEPT_ELECTRON', 'MODULE_PAYMENT_CC_ACCEPT_MASTERCARD', 'MODULE_PAYMENT_CC_ACCEPT_SWITCH', 'MODULE_PAYMENT_CC_ACCEPT_SOLO', 'MODULE_PAYMENT_CC_ACCEPT_JCB', 'MODULE_PAYMENT_CC_ACCEPT_MAESTRO', 'MODULE_PAYMENT_CC_ACCEPT_VISA'); } } ?> Hope you can help ;) Thanks James
  3. This only makes the text box larger the validation still does not allow you to enter 4 digits. Anyone got a fix for the problem yet?
  4. Does anyone know how to had the payment details such as their credit card info. the text at the payment method field says: May be a bit slow on the uptake here but what does this mean? thanks James
  5. I have installed an italian language pack on ms2 but when i click the flag icon am returned witht he following error: Can anyone help please. Thanks
  6. Jamsy

    Live Support Fix

    Any updates on this contribution as yet - surely someone has it working for 2.2 lol
  7. Hi I currently have the Cross Sell contribution installed however I would like to be able for the customer to click a checkbox to add the associated products to the cart <b>along with</b> the main product. Instead of going to a new page and losing the product they where first interested in! Does anyone know of a contribution to do this. Thanks
  8. Jamsy

    Best Contributions

    got to say for anyone struggling with the Header Tag Controller then the Dynamic Product Tags is great. Dynamic Product Tags Contribution
  9. Have just installed Header Tags Controller on a clean install of ms2.2. It works great except that it return 404 errors when someone clicks to write a review ona product or requests for notifications of update. :( Can anyone throw any light on this please. Thanks Jamsy
  10. Hi Strider I changed the html_output from: function tep_href_link($page = '', $parameters = '', $connection = 'NONSSL', $add_session_id = true, $search_engine_safe = true) { global $request_type, $session_started, $SID; to function tep_href_link($page = '', $parameters = '', $connection = 'NONSSL', $add_session_id = false, $search_engine_safe = true) { global $request_type, $session_started, $SID; This worked until i tried to place an item in the cart. I know people may think i have gone off topic here but I am concerned that something on this contribution may have caused this. Cheers James
  11. i didnt change the files or at least not knowingly anyhow LOL I will go through them now. cheers
  12. Hi Strider yes its set to true
  13. Hi Strider Its appears on the catolog side!
  14. Just noticed that it now displays with the ugly session id in the url whereas prior to the contri it didnt have this :? any ideas what changed this or am i just being thick LOL
  15. Top work strider ;) Well done
×