Vines Posted September 1, 2006 Share Posted September 1, 2006 I'm a total nube on oscommerce. I just did a clean install which is working fine and have added Advanced Categories Admin (ACA2), which I think is working fine. I am now trying to add the Products Extra Fields contribution. I changed all the files necessary, added the additional files, ran the SQL successfully, but have this error when I try to enter the Product Extra Fields admin area at: admin-->catalog --> Product Extra Fields: Parse error: syntax error, unexpected T_REQUIRE in /home/vineswin/public_html/admin/product_extra_fields.php on line 1 The require leads to admin/includes/application_top.php, which is present. I searched throughout these forums but I didn't see anything with this problem. I believe I followed the installation instructions for both ACA2 and Extra Fields to the letter. Any assistance would be greatly appreciated. Quote ---------------------------------------------------- Link to comment Share on other sites More sharing options...
Guest Posted September 6, 2006 Share Posted September 6, 2006 The first tip is to re-read the entire new code checking every single dash, quote, underscore, etc. I have added several new things from the contributions pages, and have made small errors that I did not catch until I had looked at the offending code until my eyes were blurry! It usually seemed to be something as simple as an extra or out of place quotation mark or a dash instead of an underscore. If you have something you can compare it to, that really helps. Also, locate and download WinMerge. It will become your best friend. Hope that helps some, as I have not used the particular contribution you are talking about. Having added several others though, it really usually is something so unbelievably simple that you will end up kicking yourself. I know I have! Lefty Quote Link to comment Share on other sites More sharing options...
Vines Posted September 7, 2006 Author Share Posted September 7, 2006 The first tip is to re-read the entire new code checking every single dash, quote, underscore, etc. I have added several new things from the contributions pages, and have made small errors that I did not catch until I had looked at the offending code until my eyes were blurry! It usually seemed to be something as simple as an extra or out of place quotation mark or a dash instead of an underscore. If you have something you can compare it to, that really helps. Also, locate and download WinMerge. It will become your best friend. Hope that helps some, as I have not used the particular contribution you are talking about. Having added several others though, it really usually is something so unbelievably simple that you will end up kicking yourself. I know I have! Lefty Thanks for the tips. I will definitely check out WinMerge. I solved my problem and thought I would post it here. After uninstalling ACA2 and then reinstalling Product Extra Fields, I had the same error. Turns out that I used the "j" version of Extra Fields which has a slight change to product_extra_fields.php to make it work on php 5. It would not work on my php 4.x so I downloaded the version "i" package and uploaded that version of the product_extra_fields.php and voila! it worked! Now I get to re-install ACA2 since that was never the problem :-( Quote ---------------------------------------------------- Link to comment Share on other sites More sharing options...
draxion Posted November 20, 2006 Share Posted November 20, 2006 I had the exact problem with version J "parse error: syntax error, unexpected T_REQUIRE" However, version J now works fine on my v.4.x.x of PHP. The problem ended up being a corrupt version of the product_extra_fields.php under the /admin/ directory. Not sure what exactly the problem was but whenever I tried looking at the file under editplus, the code was all over the place and many lines commented out by the first comment. Anyways, I just wanted to let everyone know that the version J of this mod works great under all my versions of 4.x.x and my version 5x as well. I used a different FTP program and uploaded the new v. J of the file and problem solved. Check your file! Have fun, Shayne Quote Link to comment Share on other sites More sharing options...
pestiminia Posted December 19, 2007 Share Posted December 19, 2007 Hi everyone, I just had the same error mentioned here and as explained I tried to download the J version which is compatible with php 5.0 but I kept having the same error. This was due to the corrupted product_extra_fields.php file. The correct one should contain the following code: <?php /* $Id: product_extra_field.php,v 2.0 2004/11/09 22:50:52 ChBu Exp $ osCommerce, Open Source E-Commerce Solutions [url="http://www.oscommerce.com"]http://www.oscommerce.com[/url] Copyright © 2003 osCommerce Released under the GNU General Public License * * v2.0: added languages support */ require('includes/application_top.php'); $action = (isset($HTTP_GET_VARS['action']) ? $HTTP_GET_VARS['action'] : ''); // Has "Remove" button been pressed? if (isset($HTTP_POST_VARS['remove_x']) || isset($HTTP_POST_VARS['remove_y'])) $action='remove'; if (tep_not_null($action)) { switch ($action) { case 'setflag': $sql_data_array = array('products_extra_fields_status' => tep_db_prepare_input($HTTP_GET_VARS['flag'])); tep_db_perform(TABLE_PRODUCTS_EXTRA_FIELDS, $sql_data_array, 'update', 'products_extra_fields_id=' . $HTTP_GET_VARS['id']); tep_redirect(tep_href_link(FILENAME_PRODUCTS_EXTRA_FIELDS)); break; case 'add': $sql_data_array = array('products_extra_fields_name' => tep_db_prepare_input($HTTP_POST_VARS['field']['name']), 'languages_id' => tep_db_prepare_input ($HTTP_POST_VARS['field']['language']), 'products_extra_fields_order' => tep_db_prepare_input($HTTP_POST_VARS['field']['order'])); tep_db_perform(TABLE_PRODUCTS_EXTRA_FIELDS, $sql_data_array, 'insert'); tep_redirect(tep_href_link(FILENAME_PRODUCTS_EXTRA_FIELDS)); break; case 'update': foreach ($HTTP_POST_VARS['field'] as $key=>$val) { $sql_data_array = array('products_extra_fields_name' => tep_db_prepare_input($val['name']), 'languages_id' => tep_db_prepare_input($val['language']), 'products_extra_fields_order' => tep_db_prepare_input($val['order'])); tep_db_perform(TABLE_PRODUCTS_EXTRA_FIELDS, $sql_data_array, 'update', 'products_extra_fields_id=' . $key); } tep_redirect(tep_href_link(FILENAME_PRODUCTS_EXTRA_FIELDS)); break; case 'remove': //print_r($HTTP_POST_VARS['mark']); if ($HTTP_POST_VARS['mark']) { foreach ($HTTP_POST_VARS['mark'] as $key=>$val) { tep_db_query("DELETE FROM " . TABLE_PRODUCTS_EXTRA_FIELDS . " WHERE products_extra_fields_id=" . tep_db_input($key)); tep_db_query("DELETE FROM " . TABLE_PRODUCTS_TO_PRODUCTS_EXTRA_FIELDS . " WHERE products_extra_fields_id=" . tep_db_input($key)); } tep_redirect(tep_href_link(FILENAME_PRODUCTS_EXTRA_FIELDS)); } break; } } // Put languages information into an array for drop-down boxes $languages=tep_get_languages(); $values[0]=array ('id' =>'0', 'text' => TEXT_ALL_LANGUAGES); for ($i=0, $n=sizeof($languages); $i<$n; $i++) { $values[$i+1]=array ('id' =>$languages[$i]['id'], 'text' =>$languages[$i]['name']); } ?> <!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" onload="SetFocus();"> <!-- 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> </tr> </table> </td> </tr> <tr> <td width="100%"> <!-- <div style="font-family: verdana; font-weight: bold; font-size: 17px; margin-bottom: 8px; color: #727272;"> <?php echo SUBHEADING_TITLE; ?> </div> --> <br /> <?php //echo tep_draw_form("add_field", FILENAME_PRODUCTS_EXTRA_FIELDS, 'action=add', 'post'); ?> <?php echo tep_draw_form('add_field', FILENAME_PRODUCTS_EXTRA_FIELDS, 'action=add', 'post'); ?> <table border="0" width="400" cellspacing="0" cellpadding="2"> <tr class="dataTableHeadingRow"> <td class="dataTableHeadingContent"><?php echo TABLE_HEADING_FIELDS; ?></td> <td class="dataTableHeadingContent" align="center"><?php echo TABLE_HEADING_ORDER; ?></td> <td class="dataTableHeadingContent" align="center"><?php echo TABLE_HEADING_LANGUAGE; ?></td> </tr> <tr> <td class="dataTableContent"> <?php echo tep_draw_input_field('field[name]', $field['name'], 'size=30', false, 'text', true);?> </td> <td class="dataTableContent" align="center"> <?php echo tep_draw_input_field('field[order]', $field['order'], 'size=5', false, 'text', true);?> </td> <td class="dataTableContent" align="center"> <?php echo tep_draw_pull_down_menu('field[language]', $values, '0', '');?> </td> <td class="dataTableHeadingContent" align="right"> <?php echo tep_image_submit('button_add_field.gif',IMAGE_ADD_FIELD)?> </td> </tr> </form> </table> <hr /> <br> <?php echo tep_draw_form('extra_fields', FILENAME_PRODUCTS_EXTRA_FIELDS,'action=update','post'); ?> <?php echo $action_message; ?> <table border="0" width="100%" cellspacing="0" cellpadding="2"> <tr class="dataTableHeadingRow"> <td class="dataTableHeadingContent" width="20"> </td> <td class="dataTableHeadingContent"><?php echo TABLE_HEADING_FIELDS; ?></td> <td class="dataTableHeadingContent" align="center"><?php echo TABLE_HEADING_ORDER; ?></td> <td class="dataTableHeadingContent" align="center"><?php echo TABLE_HEADING_LANGUAGE; ?></td> <td class="dataTableHeadingContent" align="center"><?php echo TABLE_HEADING_STATUS; ?></td> </tr> <?php $products_extra_fields_query = tep_db_query("SELECT * FROM " . TABLE_PRODUCTS_EXTRA_FIELDS . " ORDER BY products_extra_fields_order"); while ($extra_fields = tep_db_fetch_array($products_extra_fields_query)) { ?> <tr> <td width="20"> <?php echo tep_draw_checkbox_field('mark['.$extra_fields['products_extra_fields_id'].']', 1) ?> </td> <td class="dataTableContent"> <?php echo tep_draw_input_field('field['.$extra_fields['products_extra_fields_id'].'][name]', $extra_fields['products_extra_fields_name'], 'size=30', false, 'text', true);?> </td> <td class="dataTableContent" align="center"> <?php echo tep_draw_input_field('field['.$extra_fields['products_extra_fields_id'].'][order]', $extra_fields['products_extra_fields_order'], 'size=5', false, 'text', true);?> </td> <td class="dataTableContent" align="center"> <?php echo tep_draw_pull_down_menu('field['.$extra_fields['products_extra_fields_id'].'][language]', $values, $extra_fields['languages_id'], ''); ?> </td> <td class="dataTableContent" align="center"> <?php if ($extra_fields['products_extra_fields_status'] == '1') { echo tep_image(DIR_WS_IMAGES . 'icon_status_green.gif', IMAGE_ICON_STATUS_GREEN, 10, 10) . ' <a href="' . tep_href_link(FILENAME_PRODUCTS_EXTRA_FIELDS, 'action=setflag&flag=0&id=' . $extra_fields['products_extra_fields_id'], 'NONSSL') . '">' . tep_image(DIR_WS_IMAGES . 'icon_status_red_light.gif', IMAGE_ICON_STATUS_RED_LIGHT, 10, 10) . '</a>'; } else { echo '<a href="' . tep_href_link(FILENAME_PRODUCTS_EXTRA_FIELDS, 'action=setflag&flag=1&id=' . $extra_fields['products_extra_fields_id'], 'NONSSL') . '">' . tep_image(DIR_WS_IMAGES . 'icon_status_green_light.gif', IMAGE_ICON_STATUS_GREEN_LIGHT, 10, 10) . '</a> ' . tep_image(DIR_WS_IMAGES . 'icon_status_red.gif', IMAGE_ICON_STATUS_RED, 10, 10); } ?> </td> </tr> <?php } ?> <tr> <td colspan="4"> <?php echo tep_image_submit('button_update_fields.gif',IMAGE_UPDATE_FIELDS)?> <?php echo tep_image_submit('button_remove_fields.gif',IMAGE_REMOVE_FIELDS,'name="remove"')?> </td> </tr> </form> </table> </td> </tr> </table> </td> <!-- body_text_eof //--> </tr> </table> <!-- body_eof //--> <!-- footer //--> <?php require(DIR_WS_INCLUDES . 'footer.php'); ?> <!-- footer_eof //--> </body> </html> <?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?> Still have some issues thought to make it work with easy populate. Quote Link to comment Share on other sites More sharing options...
webandbeyond Posted March 3, 2008 Share Posted March 3, 2008 (edited) hi there, had the same problem but it had nothing to do with the php.. The file is encoded in MAC format, change it to DOS/Windows and reupload. I use Notepad++, there it is in the 'format' menu hope that helps someone have a good life Robert Edited March 3, 2008 by webandbeyond Quote Link to comment Share on other sites More sharing options...
jewelplus Posted August 11, 2008 Share Posted August 11, 2008 Thanks so much this tip was a lifesaver.......I opened notepad and copy and pasted the information from product_extra_field.php in the original contribution into notepad and saved it with teh same fielname and extension and upload. This took care of the error....thank you Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.