Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

Sign in to follow this  
kenyashop

Spot the code error...

Recommended Posts

Hello,

 

I have new payment module but don't seem to be able to get it working.

 

I have installed the two files in the correct place and can see them in File Manager.

 

When I go to Modules --> Payment it does not appear

 

I want to see if anyone can spot an error in the code for the modules before I start looking for errors in my installation (which is a new, clean v3.0a5)

 

payment module

 

<?php

/*

$Id: monyamickle.php,v 2 2009/04/02 04:18:15 hpdl Exp $

 

osCommerce, Open Source E-Commerce Solutions

http://www.oscommerce.com

 

Copyright © 2003 osCommerce

 

Released under the GNU General Public License

*/

 

class paytreck {

var $code, $title, $description, $enabled;

 

// class constructor

function paytreck() {

global $order;

 

$this->code = 'monyamickle';

$this->title = MODULE_PAYMENT_MONYAMICKLE_TEXT_TITLE;

$this->description = MODULE_PAYMENT_MONYAMICKLE_TEXT_DESCRIPTION;

$this->sort_order = MODULE_PAYMENT_MONYAMICKLE_SORT_ORDER;

$this->enabled = ((MODULE_PAYMENT_MONYAMICKLE_STATUS == 'True') ? true : false);

 

if ((int)MODULE_PAYMENT_MONYAMICKLE_ORDER_STATUS_ID > 0) {

$this->order_status = MODULE_PAYMENT_MONYAMICKLE_ORDER_STATUS_ID;

}

 

if (is_object($order)) $this->update_status();

 

$this->form_action_url = 'https://www.monyamickle.com/process.htm';

}

 

// class methods

function update_status() {

global $order;

 

if ( ($this->enabled == true) && ((int)MODULE_PAYMENT_MONYAMICKLE_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_MONYAMICKLE_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() {

return false;

}

 

function selection() {

return array('id' => $this->code,

'module' => $this->title);

}

 

function pre_confirmation_check() {

return false;

}

 

function confirmation() {

return false;

}

 

function process_button() {

global $order, $currencies, $currency;

 

if (MODULE_PAYMENT_MONYAMICKLE_CURRENCY == 'Selected Currency') {

$my_currency = $currency;

} else {

$my_currency = substr(MODULE_PAYMENT_MONYAMICKLE_CURRENCY, 5);

}

if (!in_array($my_currency, array('CAD', 'EUR', 'GBP', 'JPY', 'USD'))) {

$my_currency = 'USD';

}

$process_button_string = tep_draw_hidden_field('cmd', '_xclick') .

tep_draw_hidden_field('member', MODULE_PAYMENT_MONYAMICKLE_ID) .

tep_draw_hidden_field('product', STORE_NAME) .

tep_draw_hidden_field('comments', 'Order - ' . date('d. M Y - H:i')) .

tep_draw_hidden_field('action', 'payment') .

tep_draw_hidden_field('price', number_format(($order->info['total'] - $order->info['shipping_cost']) * $currencies->get_value($my_currency), $currencies->get_decimal_places($my_currency))) .

tep_draw_hidden_field('ureturn', tep_href_link(FILENAME_CHECKOUT_PROCESS, '', 'SSL')) .

tep_draw_hidden_field('ucancel', tep_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL'));

 

return $process_button_string;

}

 

function before_process() {

return false;

}

 

function after_process() {

return false;

}

 

function output_error() {

return false;

}

 

function check() {

if (!isset($this->_check)) {

$check_query = tep_db_query("select configuration_value from " . TABLE_CONFIGURATION . " where configuration_key = 'MODULE_PAYMENT_MONYAMICKLE_STATUS'");

$this->_check = tep_db_num_rows($check_query);

}

return $this->_check;

}

 

function install() {

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 PayTreck Module', 'MODULE_PAYMENT_MONYAMICKLE_STATUS', 'True', 'Do you want to accept PayTreck payments?', '6', '3', '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 ('UserID', 'MODULE_PAYMENT_MONYAMICKLE_ID', 'yourusername', 'The username to use for the PayTreck service', '6', '4', 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 ('Transaction Currency', 'MODULE_PAYMENT_MONYAMICKLE_CURRENCY', 'Selected Currency', 'The currency to use for credit card transactions', '6', '6', 'tep_cfg_select_option(array(\'Selected Currency\',\'Only USD\',\'Only CAD\',\'Only EUR\',\'Only GBP\',\'Only JPY\'), ', 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_MONYAMICKLE_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_MONYAMICKLE_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_MONYAMICKLE_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())");

}

 

function remove() {

tep_db_query("delete from " . TABLE_CONFIGURATION . " where configuration_key in ('" . implode("', '", $this->keys()) . "')");

}

 

function keys() {

return array('MODULE_PAYMENT_MONYAMICKLE_STATUS', 'MODULE_PAYMENT_MONYAMICKLE_ID', 'MODULE_PAYMENT_MONYAMICKLE_CURRENCY', 'MODULE_PAYMENT_MONYAMICKLE_ZONE', 'MODULE_PAYMENT_MONYAMICKLE_ORDER_STATUS_ID', 'MODULE_PAYMENT_MONYAMICKLE_SORT_ORDER');

}

}

?>

 

 

language file

 

<?php

/*

$Id: monyamickle.php,v 2 2009/04/02 05:39:27 hpdl Exp $

 

osCommerce, Open Source E-Commerce Solutions

http://www.oscommerce.com

 

Copyright © 2002 osCommerce

 

Released under the GNU General Public License

*/

 

define('MODULE_PAYMENT_MONYAMICKLE_TEXT_TITLE', 'MonyaMickle');

define('MODULE_PAYMENT_MONYAMICKLE_TEXT_DESCRIPTION', 'MonyaMickle');

?>

 

The only thing I could see is that all the other language file are .xml files, and this is a .php file.

 

Can anyone suggest anything else?

 

Thanks

Edited by kenyashop

Share this post


Link to post
Share on other sites
Guest
Spot the code error..., Why is my payment module not showing?
my installation (which is a new, clean v3.0a5)

 

You are trying to use a v2.2 module with v3 - at the moment the only payment modules for v3 are the ones that come with it

Share this post


Link to post
Share on other sites
You are trying to use a v2.2 module with v3 - at the moment the only payment modules for v3 are the ones that come with it

 

 

Hi,

 

thanks for the suggestion. I have now tried with a clean install of V2.2 but have the same problem. I instlled both via File Manager, can see all the other payment modules, but not the new one...

 

I'm stumped :blink:

Share this post


Link to post
Share on other sites
Guest
Hi,

 

thanks for the suggestion. I have now tried with a clean install of V2.2 but have the same problem. I instlled both via File Manager, can see all the other payment modules, but not the new one...

 

I'm stumped :blink:

Released under the GNU General Public License

*/

 

class monyamickle {

var $code, $title, $description, $enabled;

 

// class constructor

function monyamickle() {

global $order;

 

$this->code = 'monyamickle';

Share this post


Link to post
Share on other sites

Hi,

 

thanks. I think it must be getting close because at least there is some acknowledgment in Modules--> Payment...

 

 

The language file now looks like this

 

<?php

/*

$Id: monyamickle.php,v 2 2009/04/02 05:39:27 hpdl Exp $

 

osCommerce, Open Source E-Commerce Solutions

http://www.oscommerce.com

 

Copyright © 2002 osCommerce

 

Released under the GNU General Public License

*/

 

class monyamickle {

var $code, $title, $description, $enabled;

 

// class constructor

function monyamickle() {

global $order;

 

$this->code = 'monyamickle';

?>

 

But there is an error shown instead of the payment module that reads

 

Parse error: syntax error, unexpected $end in /home/kenyaweb/public_html/catalog/includes/languages/english/modules/payment/monyamickle.php on line 21

 

That is the line that says

 

?>

 

Have I added the suggested code correctly?

Share this post


Link to post
Share on other sites
Guest

I did not post the whole file, just enough for you to know what to replace.

Share this post


Link to post
Share on other sites
I did not post the whole file, just enough for you to know what to replace.

 

 

Thank you for that. Have I added it correctly (see above)?

 

If it is correct then the error message still counts.

 

What do you think?

Share this post


Link to post
Share on other sites
Guest
Thank you for that. Have I added it correctly (see above)?

 

If it is correct then the error message still counts.

 

What do you think?

I think you did not add the code correctly.

 

$this->code = 'monyamickle';

?> <------------------------------------------- why did you put that there?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×