Jump to content
Sign in to follow this  
ComicWisdom

Error message after install

Recommended Posts

I installed the USPS methods module and when I hit the edit button in admin I get the following error message

 

Parse error: syntax error, unexpected T_GLOBAL, expecting ')' in /home/mysite/public_html/catalog/admin/modules.php(224) : eval()'d code on line 1

 

I have gone through the installation twice and cannot seem to find the error. Could someone help?

 

Here is the code:

 

<?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 (c) 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) {
  // START STS 4.1
  case 'sts':
	$module_type = 'sts';
	$module_directory = DIR_FS_CATALOG_MODULES . 'sts/';
	$module_key = 'MODULE_STS_INSTALLED';
	define('HEADING_TITLE', HEADING_TITLE_MODULES_STS);		
	break;
  // END STS 4.1	
  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'])) {
	if( is_array( $value ) ){
	  $value = implode( ", ", $value);
	  $value = ereg_replace (", --none--", "", $value);
		}
	  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'); ?>


Just between us, remember there are only 10 kinds of people in the world; those who understand binary and those who don't!!

 

Remember, learning is a "do-it-yourself" experience; although, not necessarily a "do-it-BY-yourself" experience.

 

The quickest way to learn is to forget to BACKUP!

Share this post


Link to post
Share on other sites

I don't know how this got here, I tried to post it to the support forum at

 

http://forums.oscommerce.com/index.php?showtopic=146950


Just between us, remember there are only 10 kinds of people in the world; those who understand binary and those who don't!!

 

Remember, learning is a "do-it-yourself" experience; although, not necessarily a "do-it-BY-yourself" experience.

 

The quickest way to learn is to forget to BACKUP!

Share this post


Link to post
Share on other sites

someone's not reading all the instructions. :) it says in the instructions if you get a parse error when you hit the edit button in the admin you need to update your database.

Share this post


Link to post
Share on other sites
someone's not reading all the instructions. :) it says in the instructions if you get a parse error when you hit the edit button in the admin you need to update your database.

 

 

I have already done that. The error persists.

 

Field Type Collation Attributes Null Default Extra Action

configuration_id int(11) No auto_increment

configuration_title varchar(64) latin1_swedish_ci No

configuration_key varchar(64) latin1_swedish_ci No

configuration_value varchar(255) latin1_swedish_ci No

configuration_description varchar(255) latin1_swedish_ci No

configuration_group_id int(11) No 0

sort_order int(5) Yes NULL

last_modified datetime Yes NULL

date_added datetime No 0000-00-00 00:00:00

use_function varchar(255) latin1_swedish_ci Yes NULL

set_function text latin1_swedish


Just between us, remember there are only 10 kinds of people in the world; those who understand binary and those who don't!!

 

Remember, learning is a "do-it-yourself" experience; although, not necessarily a "do-it-BY-yourself" experience.

 

The quickest way to learn is to forget to BACKUP!

Share this post


Link to post
Share on other sites

Sometimes feet work better than heads!!

 

Whatever that means!!

 

I did update the database, but did forget to uninstall and reinstall the module.

 

Sorry.


Just between us, remember there are only 10 kinds of people in the world; those who understand binary and those who don't!!

 

Remember, learning is a "do-it-yourself" experience; although, not necessarily a "do-it-BY-yourself" experience.

 

The quickest way to learn is to forget to BACKUP!

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  

×