Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

error on payment module admin page


dmatkins

Recommended Posts

My webhost had me update my oscommerce installation up to the newest rc version. Now I see the following text on .../merchant/admin/modules.php?set=payment.

 

"Warning: include(/home/rmullins/public_html/merchant/includes/languages/english/modules/payment/download.php) [function.include]: failed to open stream: No such file or directory in /home/rmullins/public_html/merchant/admin/modules.php on line 166

 

Warning: include() [function.include]: Failed opening '/home/rmullins/public_html/merchant/includes/languages/english/modules/payment/download.php' for inclusion (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/rmullins/public_html/merchant/admin/modules.php on line 166"

 

Following that error text, I then see a list of available payment modules, but I don't see where I can add a new one in. I set this up a long time ago and don't remember how to properly set up a new one. My end goal was/is to update my payment module from Viaklix to MyVirtualMerchant. I have a Viaklix module and should be receiving a MyVirtualMerchant module today.

Link to comment
Share on other sites

It appears you have a payment module file named download.php, but that it doesn't have a language file.

 

osCommerce 2.2RC2a doesn't come with a download.php file in the payment module directory. Which version of osCommerce are you using? If this is a file you copied as part of a non-standard payment module, then perhaps you forgot to copy the language file (or copied it to the wrong directory).

 

If the above doesn't solve your problem, please post the contents of your /merchant/admin/modules.php file.

Check out Chad's News.

Link to comment
Share on other sites

Thanks for the response. I just upgraded to osCommerce 2.2RC2a. I think I'm getting closer. I found a download.php file a level up. I copied it to the payment folder (..\merchant\includes\languages\english\modules\payment). The error is gone, but in it's place, is simply says,

"Payment Modules

Not Found

 

The requested URL was not found on this server."

 

What I realize that I am missing is the area that should load to the right that allows me to add/edit/remove payment modules. It is present in the shipping, buySAFE, and Order Total modules... just not on the payment module page.

 

Here is the modules.php contents:

 

 

<?php

/*

$Id: modules.php,v 1.47 2003/06/29 22:50:52 hpdl Exp $

 

osCommerce, Open Source E-Commerce Solutions

http://www.oscommerce.com

 

Copyright © 2003 osCommerce

 

Released under the GNU General Public License

*/

 

require('includes/application_top.php');

 

$set = (isset($HTTP_GET_VARS['set']) ? $HTTP_GET_VARS['set'] : '');

 

if (tep_not_null($set)) {

switch ($set) {

case 'shipping':

$module_type = 'shipping';

$module_directory = DIR_FS_CATALOG_MODULES . 'shipping/';

$module_key = 'MODULE_SHIPPING_INSTALLED';

define('HEADING_TITLE', HEADING_TITLE_MODULES_SHIPPING);

break;

case 'ordertotal':

$module_type = 'order_total';

$module_directory = DIR_FS_CATALOG_MODULES . 'order_total/';

$module_key = 'MODULE_ORDER_TOTAL_INSTALLED';

define('HEADING_TITLE', HEADING_TITLE_MODULES_ORDER_TOTAL);

break;

case 'payment':

default:

$module_type = 'payment';

$module_directory = DIR_FS_CATALOG_MODULES . 'payment/';

$module_key = 'MODULE_PAYMENT_INSTALLED';

define('HEADING_TITLE', HEADING_TITLE_MODULES_PAYMENT);

break;

}

}

 

$action = (isset($HTTP_GET_VARS['action']) ? $HTTP_GET_VARS['action'] : '');

 

if (tep_not_null($action)) {

switch ($action) {

case 'save':

while (list($key, $value) = each($HTTP_POST_VARS['configuration'])) {

tep_db_query("update " . TABLE_CONFIGURATION . " set configuration_value = '" . $value . "' where configuration_key = '" . $key . "'");

}

tep_redirect(tep_href_link(FILENAME_MODULES, 'set=' . $set . '&module=' . $HTTP_GET_VARS['module']));

break;

case 'install':

case 'remove':

$file_extension = substr($PHP_SELF, strrpos($PHP_SELF, '.'));

$class = basename($HTTP_GET_VARS['module']);

if (file_exists($module_directory . $class . $file_extension)) {

include($module_directory . $class . $file_extension);

$module = new $class;

if ($action == 'install') {

$module->install();

} elseif ($action == 'remove') {

$module->remove();

}

}

tep_redirect(tep_href_link(FILENAME_MODULES, 'set=' . $set . '&module=' . $class));

break;

}

}

?>

<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">

<html <?php echo HTML_PARAMS; ?>>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>">

<title><?php echo TITLE; ?></title>

<link rel="stylesheet" type="text/css" href="includes/stylesheet.css">

<script language="javascript" src="includes/general.js"></script>

</head>

<body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0" bgcolor="#FFFFFF">

<!-- header //-->

<?php require(DIR_WS_INCLUDES . 'header.php'); ?>

<!-- header_eof //-->

 

<!-- body //-->

<table border="0" width="100%" cellspacing="2" cellpadding="2">

<tr>

<td width="<?php echo BOX_WIDTH; ?>" valign="top"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="1" cellpadding="1" class="columnLeft">

<!-- left_navigation //-->

<?php require(DIR_WS_INCLUDES . 'column_left.php'); ?>

<!-- left_navigation_eof //-->

</table></td>

<!-- body_text //-->

<td width="100%" valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="2">

<tr>

<td width="100%"><table border="0" width="100%" cellspacing="0" cellpadding="0">

<tr>

<td class="pageHeading"><?php echo HEADING_TITLE; ?></td>

<td class="pageHeading" align="right"><?php echo tep_draw_separator('pixel_trans.gif', HEADING_IMAGE_WIDTH, HEADING_IMAGE_HEIGHT); ?></td>

</tr>

</table></td>

</tr>

<tr>

<td><table border="0" width="100%" cellspacing="0" cellpadding="0">

<tr>

<td valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="2">

<tr class="dataTableHeadingRow">

<td class="dataTableHeadingContent"><?php echo TABLE_HEADING_MODULES; ?></td>

<td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_SORT_ORDER; ?></td>

<td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_ACTION; ?> </td>

</tr>

<?php

$file_extension = substr($PHP_SELF, strrpos($PHP_SELF, '.'));

$directory_array = array();

if ($dir = @dir($module_directory)) {

while ($file = $dir->read()) {

if (!is_dir($module_directory . $file)) {

if (substr($file, strrpos($file, '.')) == $file_extension) {

$directory_array[] = $file;

}

}

}

sort($directory_array);

$dir->close();

}

 

$installed_modules = array();

for ($i=0, $n=sizeof($directory_array); $i<$n; $i++) {

$file = $directory_array[$i];

 

include(DIR_FS_CATALOG_LANGUAGES . $language . '/modules/' . $module_type . '/' . $file);

include($module_directory . $file);

 

$class = substr($file, 0, strrpos($file, '.'));

if (tep_class_exists($class)) {

$module = new $class;

if ($module->check() > 0) {

if ($module->sort_order > 0) {

$installed_modules[$module->sort_order] = $file;

} else {

$installed_modules[] = $file;

}

}

 

if ((!isset($HTTP_GET_VARS['module']) || (isset($HTTP_GET_VARS['module']) && ($HTTP_GET_VARS['module'] == $class))) && !isset($mInfo)) {

$module_info = array('code' => $module->code,

'title' => $module->title,

'description' => $module->description,

'status' => $module->check());

 

$module_keys = $module->keys();

 

$keys_extra = array();

for ($j=0, $k=sizeof($module_keys); $j<$k; $j++) {

$key_value_query = tep_db_query("select configuration_title, configuration_value, configuration_description, use_function, set_function from " . TABLE_CONFIGURATION . " where configuration_key = '" . $module_keys[$j] . "'");

$key_value = tep_db_fetch_array($key_value_query);

 

$keys_extra[$module_keys[$j]]['title'] = $key_value['configuration_title'];

$keys_extra[$module_keys[$j]]['value'] = $key_value['configuration_value'];

$keys_extra[$module_keys[$j]]['description'] = $key_value['configuration_description'];

$keys_extra[$module_keys[$j]]['use_function'] = $key_value['use_function'];

$keys_extra[$module_keys[$j]]['set_function'] = $key_value['set_function'];

}

 

$module_info['keys'] = $keys_extra;

 

$mInfo = new objectInfo($module_info);

}

 

if (isset($mInfo) && is_object($mInfo) && ($class == $mInfo->code) ) {

if ($module->check() > 0) {

echo ' <tr id="defaultSelected" class="dataTableRowSelected" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="document.location.href=\'' . tep_href_link(FILENAME_MODULES, 'set=' . $set . '&module=' . $class . '&action=edit') . '\'">' . "\n";

} else {

echo ' <tr id="defaultSelected" class="dataTableRowSelected" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)">' . "\n";

}

} else {

echo ' <tr class="dataTableRow" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="document.location.href=\'' . tep_href_link(FILENAME_MODULES, 'set=' . $set . '&module=' . $class) . '\'">' . "\n";

}

?>

<td class="dataTableContent"><?php echo $module->title; ?></td>

<td class="dataTableContent" align="right"><?php if (is_numeric($module->sort_order)) echo $module->sort_order; ?></td>

<td class="dataTableContent" align="right"><?php if (isset($mInfo) && is_object($mInfo) && ($class == $mInfo->code) ) { echo tep_image(DIR_WS_IMAGES . 'icon_arrow_right.gif'); } else { echo '<a href="' . tep_href_link(FILENAME_MODULES, 'set=' . $set . '&module=' . $class) . '">' . tep_image(DIR_WS_IMAGES . 'icon_info.gif', IMAGE_ICON_INFO) . '</a>'; } ?> </td>

</tr>

<?php

}

}

 

ksort($installed_modules);

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

if (tep_db_num_rows($check_query)) {

$check = tep_db_fetch_array($check_query);

if ($check['configuration_value'] != implode(';', $installed_modules)) {

tep_db_query("update " . TABLE_CONFIGURATION . " set configuration_value = '" . implode(';', $installed_modules) . "', last_modified = now() where configuration_key = '" . $module_key . "'");

}

} else {

tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Installed Modules', '" . $module_key . "', '" . implode(';', $installed_modules) . "', 'This is automatically updated. No need to edit.', '6', '0', now())");

}

?>

<tr>

<td colspan="3" class="smallText"><?php echo TEXT_MODULE_DIRECTORY . ' ' . $module_directory; ?></td>

</tr>

</table></td>

<?php

$heading = array();

$contents = array();

 

switch ($action) {

case 'edit':

$keys = '';

reset($mInfo->keys);

while (list($key, $value) = each($mInfo->keys)) {

$keys .= '<b>' . $value['title'] . '</b><br>' . $value['description'] . '<br>';

 

if ($value['set_function']) {

eval('$keys .= ' . $value['set_function'] . "'" . $value['value'] . "', '" . $key . "');");

} else {

$keys .= tep_draw_input_field('configuration[' . $key . ']', $value['value']);

}

$keys .= '<br><br>';

}

$keys = substr($keys, 0, strrpos($keys, '<br><br>'));

 

$heading[] = array('text' => '<b>' . $mInfo->title . '</b>');

 

$contents = array('form' => tep_draw_form('modules', FILENAME_MODULES, 'set=' . $set . '&module=' . $HTTP_GET_VARS['module'] . '&action=save'));

$contents[] = array('text' => $keys);

$contents[] = array('align' => 'center', 'text' => '<br>' . tep_image_submit('button_update.gif', IMAGE_UPDATE) . ' <a href="' . tep_href_link(FILENAME_MODULES, 'set=' . $set . '&module=' . $HTTP_GET_VARS['module']) . '">' . tep_image_button('button_cancel.gif', IMAGE_CANCEL) . '</a>');

break;

default:

$heading[] = array('text' => '<b>' . $mInfo->title . '</b>');

 

if ($mInfo->status == '1') {

$keys = '';

reset($mInfo->keys);

while (list(, $value) = each($mInfo->keys)) {

$keys .= '<b>' . $value['title'] . '</b><br>';

if ($value['use_function']) {

$use_function = $value['use_function'];

if (ereg('->', $use_function)) {

$class_method = explode('->', $use_function);

if (!is_object(${$class_method[0]})) {

include(DIR_WS_CLASSES . $class_method[0] . '.php');

${$class_method[0]} = new $class_method[0]();

}

$keys .= tep_call_function($class_method[1], $value['value'], ${$class_method[0]});

} else {

$keys .= tep_call_function($use_function, $value['value']);

}

} else {

$keys .= $value['value'];

}

$keys .= '<br><br>';

}

$keys = substr($keys, 0, strrpos($keys, '<br><br>'));

 

$contents[] = array('align' => 'center', 'text' => '<a href="' . tep_href_link(FILENAME_MODULES, 'set=' . $set . '&module=' . $mInfo->code . '&action=remove') . '">' . tep_image_button('button_module_remove.gif', IMAGE_MODULE_REMOVE) . '</a> <a href="' . tep_href_link(FILENAME_MODULES, 'set=' . $set . (isset($HTTP_GET_VARS['module']) ? '&module=' . $HTTP_GET_VARS['module'] : '') . '&action=edit') . '">' . tep_image_button('button_edit.gif', IMAGE_EDIT) . '</a>');

$contents[] = array('text' => '<br>' . $mInfo->description);

$contents[] = array('text' => '<br>' . $keys);

} else {

$contents[] = array('align' => 'center', 'text' => '<a href="' . tep_href_link(FILENAME_MODULES, 'set=' . $set . '&module=' . $mInfo->code . '&action=install') . '">' . tep_image_button('button_module_install.gif', IMAGE_MODULE_INSTALL) . '</a>');

$contents[] = array('text' => '<br>' . $mInfo->description);

}

break;

}

 

if ( (tep_not_null($heading)) && (tep_not_null($contents)) ) {

echo ' <td width="25%" valign="top">' . "\n";

 

$box = new box;

echo $box->infoBox($heading, $contents);

 

echo ' </td>' . "\n";

}

?>

</tr>

</table></td>

</tr>

</table></td>

<!-- body_text_eof //-->

</tr>

</table>

<!-- body_eof //-->

 

<!-- footer //-->

<?php require(DIR_WS_INCLUDES . 'footer.php'); ?>

<!-- footer_eof //-->

<br>

</body>

</html>

<?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?>

Link to comment
Share on other sites

I'd put download.php back where it came from.

 

Looking at the code you posted above, there appears to be an inconsistency. It says that the error occurs on line 166, but the error is actually on line 127.

 

So, a few questions:

 

Once you got the clean install, did you modify or add any files?

 

Was it an in-place upgrade, or did you start from scratch (excepting the database)?

 

Does this file exist in your store: /merchant/includes/modules/payment/download.php

 

Please take a look at the information in /merchant/admin/includes/configure.php and ensure that the paths are correct.

Check out Chad's News.

Link to comment
Share on other sites

What I realize that I am missing is the area that should load to the right that allows me to add/edit/remove payment modules.

 

Keep in mind that you don't add modules via the admin page -- you add one by putting a file in the correct directory, then you "install" it to let osCommerce know that it should configure the database for that module.

Check out Chad's News.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...