Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

Spot the code error...


kenyashop

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
Link to comment
Share on other sites

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

Link to comment
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:

Link to comment
Share on other sites

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';

Link to comment
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?

Link to comment
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?

Link to comment
Share on other sites

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?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...