Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

royalfunk

Archived
  • Posts

    289
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by royalfunk

  1. Having some problems with the new version of Wishlist. My first issue concerns functionality after running the new SQL queries on the database. Now when I go to configuration.php in the admin area, I do see the two new Wishlist options to set, but when I click on them I get this error, then the number value in the database clears out: Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING in /home/username/public_html/store/admin/configuration.php(143) : eval()'d code on line 1 Here is the code for my configuration.php file: <?php /* $Id: configuration.php,v 1.43 2003/06/29 22:50:51 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'); $action = (isset($HTTP_GET_VARS['action']) ? $HTTP_GET_VARS['action'] : ''); if (tep_not_null($action)) { switch ($action) { case 'save': $configuration_value = tep_db_prepare_input($HTTP_POST_VARS['configuration_value']); $cID = tep_db_prepare_input($HTTP_GET_VARS['cID']); // START MARTIN'S MASTER PASSWORD MD5 MODIFICATION $config_key_query=tep_db_query("select configuration_key from " . TABLE_CONFIGURATION . " where configuration_id = '" . (int)$cID . "'"); $config_key=tep_db_fetch_array($config_key_query); if ($config_key['configuration_key'] != "MASTER_PASS") { tep_db_query("update " . TABLE_CONFIGURATION . " set configuration_value = '" . tep_db_input($configuration_value) . "', last_modified = now() where configuration_id = '" . (int)$cID . "'"); } else { tep_db_query("update " . TABLE_CONFIGURATION . " set configuration_value = MD5('" . tep_db_input($configuration_value) . "'), last_modified = now() where configuration_id = '" . (int)$cID . "'"); } // END MARTIN'S MASTER PASSWORD MD5 MODIFICATION tep_redirect(tep_href_link(FILENAME_CONFIGURATION, 'gID=' . $HTTP_GET_VARS['gID'] . '&cID=' . $cID)); break; } } $gID = (isset($HTTP_GET_VARS['gID'])) ? $HTTP_GET_VARS['gID'] : 1; $cfg_group_query = tep_db_query("select configuration_group_title from " . TABLE_CONFIGURATION_GROUP . " where configuration_group_id = '" . (int)$gID . "'"); $cfg_group = tep_db_fetch_array($cfg_group_query); ?> <!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><table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> <td class="pageHeading"><?php echo $cfg_group['configuration_group_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_CONFIGURATION_TITLE; ?></td> <td class="dataTableHeadingContent"><?php echo TABLE_HEADING_CONFIGURATION_VALUE; ?></td> <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_ACTION; ?> </td> </tr> <?php $configuration_query = tep_db_query("select configuration_id, configuration_title, configuration_value, use_function from " . TABLE_CONFIGURATION . " where configuration_group_id = '" . (int)$gID . "' order by sort_order"); while ($configuration = tep_db_fetch_array($configuration_query)) { if (tep_not_null($configuration['use_function'])) { $use_function = $configuration['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](); } $cfgValue = tep_call_function($class_method[1], $configuration['configuration_value'], ${$class_method[0]}); } else { $cfgValue = tep_call_function($use_function, $configuration['configuration_value']); } } else { $cfgValue = $configuration['configuration_value']; } if ((!isset($HTTP_GET_VARS['cID']) || (isset($HTTP_GET_VARS['cID']) && ($HTTP_GET_VARS['cID'] == $configuration['configuration_id']))) && !isset($cInfo) && (substr($action, 0, 3) != 'new')) { $cfg_extra_query = tep_db_query("select configuration_key, configuration_description, date_added, last_modified, use_function, set_function from " . TABLE_CONFIGURATION . " where configuration_id = '" . (int)$configuration['configuration_id'] . "'"); $cfg_extra = tep_db_fetch_array($cfg_extra_query); $cInfo_array = array_merge($configuration, $cfg_extra); $cInfo = new objectInfo($cInfo_array); } if ( (isset($cInfo) && is_object($cInfo)) && ($configuration['configuration_id'] == $cInfo->configuration_id) ) { echo ' <tr id="defaultSelected" class="dataTableRowSelected" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="document.location.href=\'' . tep_href_link(FILENAME_CONFIGURATION, 'gID=' . $HTTP_GET_VARS['gID'] . '&cID=' . $cInfo->configuration_id . '&action=edit') . '\'">' . "\n"; } else { echo ' <tr class="dataTableRow" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="document.location.href=\'' . tep_href_link(FILENAME_CONFIGURATION, 'gID=' . $HTTP_GET_VARS['gID'] . '&cID=' . $configuration['configuration_id']) . '\'">' . "\n"; } ?> <td class="dataTableContent"><?php echo $configuration['configuration_title']; ?></td> <td class="dataTableContent"><?php echo htmlspecialchars($cfgValue); ?></td> <td class="dataTableContent" align="right"><?php if ( (isset($cInfo) && is_object($cInfo)) && ($configuration['configuration_id'] == $cInfo->configuration_id) ) { echo tep_image(DIR_WS_IMAGES . 'icon_arrow_right.gif', ''); } else { echo '<a href="' . tep_href_link(FILENAME_CONFIGURATION, 'gID=' . $HTTP_GET_VARS['gID'] . '&cID=' . $configuration['configuration_id']) . '">' . tep_image(DIR_WS_IMAGES . 'icon_info.gif', IMAGE_ICON_INFO) . '</a>'; } ?> </td> </tr> <?php } ?> </table></td> <?php $heading = array(); $contents = array(); switch ($action) { case 'edit': $heading[] = array('text' => '<b>' . $cInfo->configuration_title . '</b>'); if ($cInfo->set_function) { eval('$value_field = ' . $cInfo->set_function . '"' . htmlspecialchars($cInfo->configuration_value) . '");'); } else { $value_field = tep_draw_input_field('configuration_value', $cInfo->configuration_value); } $contents = array('form' => tep_draw_form('configuration', FILENAME_CONFIGURATION, 'gID=' . $HTTP_GET_VARS['gID'] . '&cID=' . $cInfo->configuration_id . '&action=save')); $contents[] = array('text' => TEXT_INFO_EDIT_INTRO); $contents[] = array('text' => '<br><b>' . $cInfo->configuration_title . '</b><br>' . $cInfo->configuration_description . '<br>' . $value_field); $contents[] = array('align' => 'center', 'text' => '<br>' . tep_image_submit('button_update.gif', IMAGE_UPDATE) . ' <a href="' . tep_href_link(FILENAME_CONFIGURATION, 'gID=' . $HTTP_GET_VARS['gID'] . '&cID=' . $cInfo->configuration_id) . '">' . tep_image_button('button_cancel.gif', IMAGE_CANCEL) . '</a>'); break; default: if (isset($cInfo) && is_object($cInfo)) { $heading[] = array('text' => '<b>' . $cInfo->configuration_title . '</b>'); $contents[] = array('align' => 'center', 'text' => '<a href="' . tep_href_link(FILENAME_CONFIGURATION, 'gID=' . $HTTP_GET_VARS['gID'] . '&cID=' . $cInfo->configuration_id . '&action=edit') . '">' . tep_image_button('button_edit.gif', IMAGE_EDIT) . '</a>'); $contents[] = array('text' => '<br>' . $cInfo->configuration_description); $contents[] = array('text' => '<br>' . TEXT_INFO_DATE_ADDED . ' ' . tep_date_short($cInfo->date_added)); if (tep_not_null($cInfo->last_modified)) $contents[] = array('text' => TEXT_INFO_LAST_MODIFIED . ' ' . tep_date_short($cInfo->last_modified)); } 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'); ?> Any help would be greatly appreciated! Thanks! -Aaron
  2. Also, I know this is probably very difficult to code and plan for, but it would be great to implement.... Percentage or dollar value specials across the board. A couple customers of ours use over 30 customer groups, so putting products on special would take forever if all customers have access to the special. If there was a checkbox or option for "All Customer Groups" and a text field where you could enter a percentage or dollar number that would then be applied across the board - that would be awesome. Big time saver and very convenient. Just a thought... -Aaron
  3. JanZ, Thanks! No, I didn't realize that now the Specials work that way but it totally makes sense. That is the best way for it to function with customer groups. That is what was causing my "problem". NO Worries, Aaron
  4. Ever since I installed this Contribution I noticed that when a user is logged in and there ARE specials active: 1. The Specials Box does not show up. 2. Nothing displays on the specials.php page. 3. Products that are on special do not show up as so on their product page. Everything seems to function normally when users are not logged in. Anyone else have this problem? Thanks, Aaron
  5. This may have already been covered, but is there a way to, using QT Pro, add the products attributes/options to the product listing and search results module so that product option selections can be made on those pages? It would be great if there is. Thanks! -Aaron
  6. Do you have access to phpMyAdmin? That would be the easiest way to upload excel files to your store's database. -Aaron
  7. So then how can I display a line in the product_info.php file that shows what the List Price is? I want to show "List Price" and "Your Price". I had this set up from SPPC 3.5 but of course now it doesn't work. That is the main thing I am looking for. Thanks! -Aaron
  8. Also, when I set pricing for a product level in admin, the database table PRODUCTS_GROUPS updates with the proper customer group price, but it does not enter a value for the products_price field.
  9. I just installed SPPC 4.0 and I have a few questions. 1. I have a heavily modded and customized site, and on the product_info.php page I would like to display the List Price along with the logged in user's price separately. Can anyone take a look at this code and tell me how to achieve this? Thanks!! <?php /* $Id: logoff.php,v 1.13 2003/06/05 23:28:24 hpdl Exp $ adapted for Separate Pricing Per Customer v4.0 2005/01/26 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 */ require('includes/application_top.php'); require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_PRODUCT_INFO); // bof recently viewed contribution $visitors_id = $HTTP_COOKIE_VARS['prod_view']; tep_session_register('visitors_id'); if (isset($prod_view)) { @tep_db_query("insert into recently_viewed_more (visitors_id, time) values ('" . $visitors_id . "', '" . time() . "')"); } $dup_check = tep_db_query("select * from recently_viewed where visitors_id = '" . $visitors_id . "' and products_id = '" . $HTTP_GET_VARS['products_id'] . "'"); if(tep_db_num_rows($dup_check)) { tep_db_query("update recently_viewed set time = '" . time() . "' where visitors_id = '" . $visitors_id . "' and products_id = '" . $HTTP_GET_VARS['products_id'] . "'"); } else { tep_db_query("insert into recently_viewed (visitors_id, products_id, time) values ('" . $visitors_id . "', '" . $HTTP_GET_VARS['products_id'] . "', '" . time() . "')"); } // eof recently viewed contribution $product_check_query = tep_db_query("select count(*) as total from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_status = '1' and p.products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "' and pd.products_id = p.products_id and pd.language_id = '" . (int)$languages_id . "'"); $product_check = tep_db_fetch_array($product_check_query); ?> <!-- begin dynamic meta tags query --> <?php $the_product_info_query = tep_db_query("select pd.language_id, p.products_id, pd.products_name, pd.products_description, p.products_model, p.products_quantity, p.products_image, pd.products_url, p.products_price, p.products_tax_class_id, p.products_date_added, p.products_date_available, p.manufacturers_id from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "' and pd.products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "'" . " and pd.language_id ='" . (int)$languages_id . "'"); $the_product_info = tep_db_fetch_array($the_product_info_query); $the_product_name = strip_tags ($the_product_info['products_name'], ""); $the_product_description = strip_tags ($the_product_info['products_description'], ""); $the_product_model = strip_tags ($the_product_info['products_model'], ""); ?> <?php $the_manufacturer_query = tep_db_query("select m.manufacturers_id, m.manufacturers_name from " . TABLE_MANUFACTURERS . " m left join " . TABLE_MANUFACTURERS_INFO . " mi on (m.manufacturers_id = mi.manufacturers_id and mi.languages_id = '" . (int)$languages_id . "'), " . TABLE_PRODUCTS . " p where p.products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "' and p.manufacturers_id = m.manufacturers_id"); $the_manufacturers = tep_db_fetch_array($the_manufacturer_query); ?> <!-- end dynamic meta tags query --> <!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN"> <html <?php echo HTML_PARAMS; ?>> <head> <?php //begin dynamic meta tags query --> ?> <title><?php echo TITLE; ?> : <?php echo $the_product_name; ?></title> <meta name="keywords" content="<?php echo TITLE ?>, <?php echo $the_product_name; ?>, <?php echo $the_product_model; ?>, <?php echo $the_manufacturers['manufacturers_name']; ?>"> <meta name="description" content="<?php echo $the_product_name; ?>, or <?php echo $the_product_model; ?>, is manufactured by <?php echo $the_manufacturers['manufacturers_name']; ?>"> <?php //end dynamic meta tags query --> ?> <meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>"> <base href="<?php echo (($request_type == 'SSL') ? HTTPS_SERVER : HTTP_SERVER) . DIR_WS_CATALOG; ?>"> <link rel="stylesheet" type="text/css" href="stylesheet.css"> <script language="javascript"><!-- function popupWindow(url) { window.open(url,'popupWindow','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,res izable=no,copyhistory=no,width=100,height=100,screenX=150,screenY=150,top=100,lef t=100') } //--></script> <script LANGUAGE="JavaScript"> function newWindow(mypage,myname,w,h,features) { if(screen.width){ var winl = (screen.width-w)/2; var wint = (screen.height-h)/2; }else{winl = 0;wint =0;} if (winl < 0) winl = 0; if (wint < 0) wint = 0; var settings = 'height=' + h + ','; settings += 'width=' + w + ','; settings += 'top=' + wint + ','; settings += 'left=' + winl + ','; settings += features; win = window.open(mypage,myname,settings); win.window.focus(); } function newImage(arg) { if (document.images) { rslt = new Image(); rslt.src = arg; return rslt; } } </script> </head> <body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0"> <!-- header //--> <?php require(DIR_WS_INCLUDES . 'header.php'); ?> <!-- header_eof //--> <!-- body //--> <table border="0" width="100%" cellspacing="3" cellpadding="3"> <tr> <td width="<?php echo BOX_WIDTH; ?>" valign="top"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="0" cellpadding="2"> <!-- 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="0"> <?php if ($product_check['total'] < 1) { // BOF Separate Price per Customer if(!tep_session_is_registered('sppc_customer_group_id')) { $customer_group_id = '0'; } else { $customer_group_id = $sppc_customer_group_id; } // EOF Separate Price per Customer ?> <tr> <td class="main"><br> <?php echo TEXT_PRODUCT_NOT_FOUND; ?></td> </tr> <tr> <td align="left"><br> <a href="<?php echo tep_href_link(FILENAME_DEFAULT, '', 'NONSSL'); ?>"><?php echo tep_image_button('button_continue.gif', IMAGE_BUTTON_CONTINUE); ?></a></td> </tr> <?php } else { $product_info_query = tep_db_query("select p.products_id, p.products_weight, pd.products_name, pd.products_description, p.products_model, p.products_quantity, p.products_image, pd.products_url, p.products_price, p.products_tax_class_id, p.products_date_added, p.products_date_available, p.manufacturers_id from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_status = '1' and p.products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "' and pd.products_id = p.products_id and pd.language_id = '" . (int)$languages_id . "'"); $product_info = tep_db_fetch_array($product_info_query); tep_db_query("update " . TABLE_PRODUCTS_DESCRIPTION . " set products_viewed = products_viewed+1 where products_id = '" . $HTTP_GET_VARS['products_id'] . "' and language_id = '" . $languages_id . "'"); if ($new_price = tep_get_products_special_price($product_info['products_id'])) { // BOF Separate Price per Customer $scustomer_group_price_query = tep_db_query("select customers_group_price, products_price from " . TABLE_PRODUCTS_GROUPS . " where products_id = '" . (int)$HTTP_GET_VARS['products_id']. "' and customers_group_id = '" . $customer_group_id . "'"); if ($scustomer_group_price = tep_db_fetch_array($scustomer_group_price_query)) { $product_info['products_price']= $scustomer_group_price['customers_group_price']; } // EOF Separate Price per Customer $products_price = '<s>' . $currencies->display_price($product_info['products_price'], tep_get_tax_rate($product_info['products_tax_class_id'])) . '</s> <span class="productSpecialPrice">' . $currencies->display_price($new_price, tep_get_tax_rate($product_info['products_tax_class_id'])) . '</span>'; } else { // BOF Separate Price per Customer $scustomer_group_price_query = tep_db_query("select customers_group_price, products_price from " . TABLE_PRODUCTS_GROUPS . " where products_id = '" . (int)$HTTP_GET_VARS['products_id']. "' and customers_group_id = '" . $customer_group_id . "'"); if ($scustomer_group_price = tep_db_fetch_array($scustomer_group_price_query)) { $product_info['products_price']= $scustomer_group_price['customers_group_price']; } // EOF Separate Price per Customer $products_price = $currencies->display_price($product_info['products_price'], tep_get_tax_rate($product_info['products_tax_class_id'])); } $products_attributes = tep_db_query("select popt.products_options_name from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_ATTRIBUTES . " patrib where patrib.products_id='" . $HTTP_GET_VARS['products_id'] . "' and patrib.options_id = popt.products_options_id and popt.language_id = '" . $languages_id . "'"); if (tep_db_num_rows($products_attributes)) { $products_attributes = '1'; } else { $products_attributes = '0'; } ?> <tr> <td> <table border="0" width="100%" cellspacing="0" cellpadding="1" class="main"> <tr> <td colspan="2" valign="top" class="pageHeading"><?php echo $product_info['products_name']; ?></td> </tr> <?php if ($product_info['products_date_available'] > date('Y-m-d H:i:s')) { ?> <tr> <td colspan="2" valign="top" class="messageStackWarning"><?php echo sprintf(TEXT_DATE_AVAILABLE, tep_date_long($product_info['products_date_available'])); ?></td> </tr> <?php } ?> <script language=Javascript> function quickPopUp( url, name, width, height, scrollbars ) { var top = "50"; var left = "50"; if( scrollbars == null ) scrollbars = "1"; str = ""; str += "resizable=0,titlebar=0,menubar=0,"; str += "toolbar=0,location=0,directories=0,status=0,"; str += "scrollbars=" + scrollbars + ","; str += "width=" + width + ","; str += "height=" + height + ","; str += "top=" + top + ","; str += "left=" + left; window.open( url, name, str ); } </script> <tr> <td colspan="2" valign="top" class="pageHeading"> </td> </tr> <tr> <td colspan="2" valign="middle" class="smallText"> <a href="request_more_info.php?products_id=<?php echo $product_info['products_id']; ?>" onmouseover="return escape('Request More Info')"><img src="images/icons/icon_more_info.gif" border="0" title="<?php echo TEXT_REQUEST_MORE_INFO; ?>"></a> <a href="javascript:quickPopUp( 'product_info_pf.php?products_id=<?php echo $product_info['products_id']; ?>', 'PFdata', 544, 394 )" onmouseover="return escape('Printer Friendly')"><img src="images/icons/icon_printer.gif" border="0" title="<?php echo TEXT_PRINTER_FRIENDLY; ?>"></a> <a href="tell_a_friend.php?products_id=<?php echo $product_info['products_id']; ?>" onmouseover="return escape('Tell A Friend')"><img src="images/icons/icon_tell_friend.gif" border="0" title="<?php echo TEXT_SEND_LINK_TEXT; ?>"></a> <?php $check_query = tep_db_query("select count(*) as count from " . TABLE_PRODUCTS_NOTIFICATIONS . " where products_id = '" . $HTTP_GET_VARS['products_id'] . "' and customers_id = '" . $customer_id . "'"); $check = tep_db_fetch_array($check_query); if ($check['count'] > 0) { $notif_text = '<a href="' . tep_href_link(basename($PHP_SELF), tep_get_all_get_params(array('action')) . 'action=notify_remove', 'NONSSL') . '" onmouseover="return escape('.'Undo Notfication'.')"><img src="images/icons/icon_notifications.gif" border="0" title="Undo Notification"></a>'; } else { $notif_text = '<a href="' . tep_href_link(basename($PHP_SELF), tep_get_all_get_params(array('action')) . 'action=notify', 'NONSSL') . '" onmouseover="return escape('.'Set Notfication'.')"><img src="images/icons/icon_notifications.gif" border="0" title="Set Notification"></a>'; } echo $notif_text ?> <?php if (tep_session_is_registered('customer_id')) { ?> <a href="<?php echo tep_href_link(FILENAME_WISHLIST, tep_get_all_get_params(array('action')) . 'action=add_wishlist'); ?>" onmouseover="return escape('Add To Wishlist')"><img src="images/icons/icon_wishlist.gif" border="0" title="<?php echo TEXT_PRODUCT_ADD_TO_WISHLIST; ?>"></a> <?php } ?> </td> </tr> <tr> <td colspan="2" valign="top" class="pageHeading"> </td> </tr> <tr> <td width="90%" align="center" valign="middle" class="smallText"> <script language="javascript"> document.write('<?php echo '<a href="javascript:popupWindow(\\\'' . tep_href_link(FILENAME_POPUP_IMAGE, 'pID=' . $product_info['products_id']) . '\\\')">' . tep_image(DIR_WS_IMAGES . $product_info['products_image'], addslashes($product_info['products_name']), PRODUCT_IMAGE_WIDTH, PRODUCT_IMAGE_HEIGHT,'hspace="5" vspace="5"') . '<br>' . TEXT_CLICK_TO_ENLARGE . '</a><br>'; ?>'); </script> <noscript> <?php echo '<a href="' . tep_href_link(DIR_WS_IMAGES . $product_info['products_image']) . '">' . tep_image(DIR_WS_IMAGES . $product_info['products_image'], $product_info['products_name'], PRODUCT_IMAGE_WIDTH, PRODUCT_IMAGE_HEIGHT, 'hspace="5" vspace="5"') . '<br>' . TEXT_CLICK_TO_ENLARGE . '</a>'; ?> </noscript> <br> <table border=0 cellpadding=2 cellspacing=0> <tr> <?php $rowcount_value=2; $rowcount=1; $products_extra_images_query = tep_db_query("SELECT products_extra_image, products_extra_images_id FROM " . TABLE_PRODUCTS_EXTRA_IMAGES . " WHERE products_id='" . $product_info['products_id'] . "'"); while ($extra_images = tep_db_fetch_array($products_extra_images_query)) { ?> <td class="smallText" align="center" width="<?php echo SMALL_IMAGE_WIDTH; ?>" valign="top"> <script language="javascript"> document.write('<?php echo '<a href="javascript:popupWindow(\\\'' . tep_href_link(FILENAME_POPUP_EXTRA_IMAGES, 'peiID=' . $extra_images['products_extra_images_id']) . '\\\')">' . tep_image(DIR_WS_IMAGES . $extra_images['products_extra_image'], addslashes($product_info['products_name']),SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT, 'hspace="5" vspace="5"') . '<br>' . TEXT_CLICK_TO_ENLARGE . '</a>'; ?>'); </script> <noscript> <?php echo '<a href="' . tep_href_link(DIR_WS_IMAGES . $extra_images['products_extra_image']) . '">' . tep_image(DIR_WS_IMAGES . $extra_images['products_extra_image'], $product_info['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT, 'hspace="5" vspace="5"') . '<br>' . TEXT_CLICK_TO_ENLARGE . '</a>'; ?> </noscript> </td> <?php if ($rowcount == $rowcount_value) { echo '</tr><tr>'; $rowcount=1; } else { $rowcount=$rowcount+1; } } ?> </tr> </table> <br> <?php echo $lc_text = '' . picto_qty($product_info['products_quantity']) . ''; ?> </td> <td align="center" valign="top"> <table width="100%" border="0" cellpadding="3" cellspacing="1"> <?php if ($product_info['products_price'] > 0) { ?> <tr valign="middle"> <td align="right" class="productInfo" nowrap><?php echo TEXT_PRODUCT_LIST_PRICE; ?></td> <td class="productInfoData" nowrap><?php echo $currencies->display_price($product_info['products_price'], tep_get_tax_rate($product_info['products_tax_class_id'])); ?></td> </tr> <?php } ?> <tr valign="middle"> <td align="right" class="productInfo" nowrap><?php echo TEXT_PRODUCT_YOUR_PRICE; ?></td> <td class="productInfoData" nowrap><font color="#CC0033"><b><?php echo $products_price; ?></b></font></td> </tr> <tr valign="middle"> <td align="right" class="productInfo" nowrap><?php echo TEXT_PRODUCT_WEIGHT; ?></td> <td class="productInfoData" nowrap><?php echo $product_info['products_weight']; ?> lbs.</td> </tr> <tr valign="middle"> <td align="right" class="productInfo" nowrap><?php echo TEXT_PRODUCT_QUANTITY; ?></td> <td class="productInfoData" nowrap><?php echo $product_info['products_quantity']; ?> </td> </tr> <?php $reviews_query = tep_db_query("select count(*) as count from " . TABLE_REVIEWS . " where products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "'"); $reviews = tep_db_fetch_array($reviews_query); $reviews_query_average = tep_db_query("select (avg(reviews_rating)) as average_rating from " . TABLE_REVIEWS . " where products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "'"); $reviews_average = tep_db_fetch_array($reviews_query_average); $reveiws_stars = $reviews_average['average_rating']; $reveiws_rating = number_format($reveiws_stars,0); ?> <?php if ($reviews['count'] < 1) { ?> <tr valign="top"> <td align="right" class="productInfo" nowrap><?php echo TEXT_CURRENT_REVIEWS_AVERAGE; ?></td> <td class="productInfoData"> <a href="<?php echo tep_href_link(FILENAME_PRODUCT_REVIEWS_WRITE, tep_get_all_get_params()); ?>"><?php echo TEXT_FIRST_TO_WRITE_REVIEW; ?></a> </td> </tr> <?php } else { ?> <tr valign="middle"> <td align="right" class="productInfo" nowrap><?php echo TEXT_CURRENT_REVIEWS_AVERAGE; ?></td> <td class="productInfoData"> <a href="<?php echo tep_href_link(FILENAME_PRODUCT_REVIEWS_WRITE, tep_get_all_get_params()); ?>"><?php echo tep_image(DIR_WS_IMAGES . 'stars_' . $reveiws_rating . '.gif'); ?></a> </td> </tr> <?php } ?> <form name="cart_quantity" method="post" action="<?php echo tep_href_link(FILENAME_PRODUCT_INFO, tep_get_all_get_params(array('action')) . 'action=add_product', 'NONSSL'); ?>"> <?php $products_attributes_query = tep_db_query("select count(*) as total from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_ATTRIBUTES . " patrib where patrib.products_id='" . (int)$HTTP_GET_VARS['products_id'] . "' and patrib.options_id = popt.products_options_id and popt.language_id = '" . (int)$languages_id . "'"); $products_attributes = tep_db_fetch_array($products_attributes_query); if ($products_attributes['total'] > 0) { ?> <tr> <td valign="top" align="right" class="productInfo" nowrap><?php echo TEXT_PRODUCT_OPTIONS; ?></td> <td valign="top" class="productInfoData" nowrap> <?php //++++ QT Pro: Begin Changed code $products_id=(preg_match("/^\d{1,10}(\{\d{1,10}\}\d{1,10})*$/",$HTTP_GET_VARS['products_id']) ? $HTTP_GET_VARS['products_id'] : (int)$HTTP_GET_VARS['products_id']); require(DIR_WS_CLASSES . 'pad_' . PRODINFO_ATTRIBUTE_PLUGIN . '.php'); $class = 'pad_' . PRODINFO_ATTRIBUTE_PLUGIN; $pad = new $class($products_id); echo $pad->draw(); //++++ QT Pro: End Changed Code ?> </td> </tr> <?php } ?> <tr valign="top"> <td align="right" class="productInfo" nowrap><?php echo TEXT_PRODUCT_ADD; ?></td> <td class="productInfoData"> <input type="hidden" name="products_id" value="<?php echo $product_info['products_id']; ?>"> <input type="text" name="quantity" value="1" maxlength="5" size="5"><br> <?php echo tep_image_submit('button_in_cart.gif', IMAGE_BUTTON_IN_CART); ?></td> </tr> </form> </table> </td> </tr> <tr> <td colspan="2" valign="top" class="pageHeading"> </td> </tr> <tr> <td colspan="2" valign="top" class="main"><?php echo nl2br(stripslashes($product_info['products_description'])); ?></td> </tr> <tr> <td colspan="2" valign="top" class="pageHeading"><br><br></td> </tr> <?php $reviews_query_raw = "select r.reviews_id, rd.reviews_text as reviews_text, r.reviews_rating, r.date_added, r.customers_name from " . TABLE_REVIEWS . " r, " . TABLE_REVIEWS_DESCRIPTION . " rd where r.products_id = '" . $HTTP_GET_VARS['products_id'] . "' and r.reviews_id = rd.reviews_id and rd.languages_id = '" . (int)$languages_id . "' order by r.reviews_id desc"; $reviews_split = new splitPageResults($reviews_query_raw, MAX_DISPLAY_NEW_REVIEWS); if ($reviews_split->number_of_rows > 0) { if ((PREV_NEXT_BAR_LOCATION == '1') || (PREV_NEXT_BAR_LOCATION == '3')) { ?> <tr> <td colspan="2" valign="top" class="main"> <?php echo $reviews_split->display_count(TEXT_DISPLAY_NUMBER_OF_REVIEWS); ?><br> <?php echo TEXT_RESULT_PAGE . ' ' . $reviews_split->display_links(MAX_DISPLAY_PAGE_LINKS, tep_get_all_get_params(array('page', 'info'))); ?> </td> </tr> <tr> <td class="pageHeading"><br></td> <td class="pageHeading"><br></td> </tr> <?php } $reviews_query = tep_db_query($reviews_split->sql_query); while ($reviews = tep_db_fetch_array($reviews_query)) { ?> <tr> <td colspan="2" valign="top" class="pageHeading"> <!-- Begin Reviews --> <table border="0" width="100%" cellspacing="0" cellpadding="2"> <tr> <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> <td valign="top" class="smallText"> <?php echo '<i>' . sprintf(TEXT_REVIEW_RATING, tep_image(DIR_WS_IMAGES . 'stars_' . $reviews['reviews_rating'] . '.gif', sprintf(TEXT_OF_5_STARS, $reviews['reviews_rating'])), sprintf(TEXT_OF_5_STARS, $reviews['reviews_rating'])) . '</i><br><b>' . sprintf(TEXT_REVIEW_BY, tep_output_string_protected($reviews['customers_name'])) . '</b></a><br>'; ?> <?php echo sprintf(TEXT_REVIEW_DATE_ADDED, tep_date_short($reviews['date_added'])); ?> </td> <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> </tr> <tr> <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> <td valign="top" class="main"><?php echo tep_break_string(tep_output_string_protected($reviews['reviews_text']), 60, '-<br>') . ((strlen($reviews['reviews_text']) >= 100) ? '..' : '') . '<br>'; ?></td> <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> </tr> </table> <br> <!-- End Reviews --> </td> </tr> <?php } } ?> <tr> <td colspan="2" valign="top" class="pageHeading"><br><br></td> </tr> <tr> <td colspan="2" valign="top" class="pageHeading"> <?php //added for X-sell if ( (USE_CACHE == 'true') && !SID) { echo tep_cache_also_purchased(3600); include(DIR_WS_MODULES . FILENAME_XSELL_PRODUCTS); } else { include(DIR_WS_MODULES . FILENAME_XSELL_PRODUCTS); include(DIR_WS_MODULES . FILENAME_ALSO_PURCHASED_PRODUCTS); } ?> </td> </tr> </table> </td> </tr> <?php } ?> </table> </td> <!-- body_text_eof //--> <td width="<?php echo BOX_WIDTH; ?>" valign="top"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="0" cellpadding="2"> <!-- right_navigation //--> <?php require(DIR_WS_INCLUDES . 'column_right.php'); ?> <!-- right_navigation_eof //--> </table></td> </tr> </table> <!-- body_eof //--> <!-- footer //--> <?php require(DIR_WS_INCLUDES . 'footer.php'); ?> <!-- footer_eof //--> <br> <script language="JavaScript" type="text/javascript" src="includes/javascript/wz_tooltip.js"></script> </body> </html> <?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?>
  10. When I uninstalled the SEO URL's and went back to my SEO software, it said that a redirect was hindering submission. Even though I was submitting the main page, it was showing me logoff.php. I put it all together and remembered how the Autologon Contribution worked. I tried going in to admin and turning it off, and low and behold, now my pages were spider-friendly again! Thanks to all of you for your help, Aaron
  11. I found out why SEO software and spiders did not seem to like my store after I installed the SEO URL's CONTRIBUTION. I had also recently installed the Auto Logon Contribution, and it turns out that installation of the Auto Logon Contribution will greatly hinder your chances of good, or any, search engine placement. It uses a redirect every time a URL from your store is called, checking to see if the user has a cookie on their machine by taking you to the logoff page and back. Apparently the problem was not with the SEO URL's Contribution. Just an FYI - Don't use the Auto Logon Contribution! The only good thing about it is that it can be turned off via admin, so I did not need to uninstall it. -Aaron
  12. I am still having an issue with spiders and seo software. The contribution appears to be working correctly in rewrite mode, but when a spider or seo software tries to analyze the page, it sees absolutely nothing. It's wierd because the pages are geenrated fine, and the HTML code is fully in tact. I have worked with Fourbit (Paul), from this thread as well as our server tech and none of us have been able to come up with an answer as to what is being done incorrectly. I am begging and pleading for assistance to resolve this matter and see if it is something in the contribution, or something with the server. Any help is greatly appreciated. :'( Thanks, Aaron
  13. When I clicked on those links for the site you are working on it appeared that there was no content there at all - nothing. It spit back an error in Firefox and IE. As far as the "frames" you referred to I am not sure I follow. Our site design does not use frames. Thanks for the help. I look forward to hearing back from you all. -Aaron
  14. Thanks again guys for your help, especially Chemo. It looks like my situation may be somewhat unique. I have went to lengths to try and streamline things. I just reconfigured the site back to the root level (so there is no "/catalog") to avoid the redirect I was using before. Now there are no redirects, and no line breaks in descriptions. Still I am getting my SEO software and spider simulating websites returning that product pages have no title, no keywords, and no description. Could someone with this Contribution fully working please do me a quick favor? Go to this website http://www.webconfs.com/search-engine-spider-simulator.php and enter an HTML based URL from your osCommerce store. The example I was trying was http://coolhotstuff.com/chase-authentics-j...cket-p-165.html and it tells me there is no text to spider and no meta tags or links. The page loads correctly if you view the source code, but am I the only one seeing these problems? Any advice? Thanks, Aaron
  15. Hey all! Yes, it's me again... Chemo, originally you thought that my SEO software was not seeing the title, description, and keywords because there were line breaks in the description. I understand why search engines would ignore pages with line breaks, but I don't see how line breaks in the description would also cause the title and keywords not to come up. Regardless, I modified the page code and now there are no line breaks, but the software still does not see any of the meta data. Do you have any other suggestions? Also, I tried the URL in your web based spider program. Just a couple days ago it would spit back some info about the page. Now it just sends my browser to that specific page/site. Did something change? -Aaron
  16. Thanks Susan (and Chemo). After looking at the HTML output of the META DESCRIPTION, it does appear that some products will fall suspect to line breaks. This is actually a blessing in disguise. I plan on going into the database and admin side to write a new field into the product addition/modification process so that users can input custom keywords or descriptions for each product. This way, if custom keywords/descriptions are present, then the page will use them. If the customer has not entered anything, then it will use a defualt set containing basic product info like name, model, manufacturer, price, etc. Thanks again, Aaron
  17. There are no line breaks. IS there anything else you could think of?? -Aaron
  18. Thanks Paul, Yes, it does load correctly, but so do the PHP files. What I am worried about are indexing robots and SEO software. They seem to not be picking up the metas and title. Does anyone here have SEO software they can use to verify this? It is possible it could just be our software, but I doubt it. Thanks again! PS - When I use Chemo's Search Engine Spider Tool it shows no META info for the HTML url: http://www.coolhotstuff.com/store/chase-au...cket-p-165.html ;) -Aaron
  19. Thanks for the quick reply - I am banging my head on why engines/software do not seem to pick up the title and meta tags. The title for all pages is defined in your english.php file so that has not changed. I was assuming that the way this contribution worked is that when a product page is called, it caches a temporary HTML file that it can call on (rather than PHP) until admin changes something relating to that product. Then it would need to cache a new file. Correct? :huh: Browsers have never had a problem processing the metas or titles of site pages before, and that part of it still works now. I was under the impression that once a product PHP page is "cached" to HTML, that you could call on that HTML file and all the metas, text, title, etc. would be pre-stored and easily readable in HTML format. Unfortunately that doesn't seem to work (at least for me). The site is http://www.coolhotstuff.com and a specific product URL you can reference is: http://coolhotstuff.com/store/chase-authen...cket-p-165.html I would be interested to see how your search engine software recognizes the page. Since we do everything on Apple :thumbsup: , we do not have a plethora of SE software to choose from. Thanks, Aaron
  20. Look more closely. The <?php echo TITLE; ?> is generated in the english.php language file. <?php echo $the_product_name; ?> is defined in the SQL query I posted. The title comes out loking like this, for example: MySite.com : Product Name Let me know if I missed something, but it is working and has been for months. I would think the cahcing of the PHP to HTML would catch all that info.
  21. My page(s) do have meta tags. I am using PHP to generate dynamic meta tags and I would assume once the page is loaded as an HTML file that it is cached somewhere on the server so that when the HTML file is called, it references those generated tags. Below is the code and it does work perfectly when loading PHP pages. I am using VSE Be Found Pro to run SE optimization, reports, and tracking. CODE FOR DYNAMIC META TAGS ON PRODUCT_INFO.PHP <!-- begin dynamic meta tags query --> <?php $the_product_info_query = tep_db_query("select pd.language_id, p.products_id, pd.products_name, pd.products_description, p.products_model, p.products_quantity, p.products_image, pd.products_url, p.products_price, p.products_price_retail, p.products_tax_class_id, p.products_date_added, p.products_date_available, p.manufacturers_id from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "' and pd.products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "'" . " and pd.language_id ='" . (int)$languages_id . "'"); $the_product_info = tep_db_fetch_array($the_product_info_query); $the_product_name = strip_tags ($the_product_info['products_name'], ""); $the_product_description = strip_tags ($the_product_info['products_description'], ""); $the_product_model = strip_tags ($the_product_info['products_model'], ""); ?> <?php $the_manufacturer_query = tep_db_query("select m.manufacturers_id, m.manufacturers_name from " . TABLE_MANUFACTURERS . " m left join " . TABLE_MANUFACTURERS_INFO . " mi on (m.manufacturers_id = mi.manufacturers_id and mi.languages_id = '" . (int)$languages_id . "'), " . TABLE_PRODUCTS . " p where p.products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "' and p.manufacturers_id = m.manufacturers_id"); $the_manufacturers = tep_db_fetch_array($the_manufacturer_query); ?> <!-- end dynamic meta tags query --> <!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN"> <html <?php echo HTML_PARAMS; ?>> <head> <?php //begin dynamic meta tags query --> ?> <title><?php echo TITLE ?> : <?php echo $the_product_name; ?></title> <meta name="keywords" content="<?php echo TITLE ?>, <?php echo $the_product_name; ?>, <?php echo $the_product_model; ?>, <?php echo $the_manufacturers['manufacturers_name']; ?>"> <meta name="description" content="<?php echo $the_product_description . "," . $the_product_name; ?>"> <?php //end dynamic meta tags query --> ?>
  22. Hey everybody. This is a great contribution, but I am already seeing one problem...indexing for search engines. It appears that most engines and lookup software still see the HTML pages as having no title or meta tags. Anyone else notice this?! I am curious if there is a workaround. Any ideas? -Aaron
  23. Anyone ever come come with a solution for using PayPal IPN with Quantity Tracking Professional (QT Pro)? Currently, if you use QT Pro to handle inventory for option stock, and your customer checks out with PayPal IPN, the master stock for the option itself will be deducted, but not the option stock. I am hoping someone can come up with a resolution to this problem. I am sure I am not the only one using both of those contributions/modules. Thanks!!! -Aaron
  24. I recreated the .htaccess file. Even though I put back into it the exact same code, it is now working!!!! Yeah. Thanks to everyone for all your help. I just made a PayPal donation to your efforts as well..... Thanks, Aaron
  25. Here is an update to what is happening... When I change the URL type to Rewrite instead of cName I am getting the standard 404 File Not Found Error Page. It does appear that now I have the rewrite mod correctly working for the most part, but when it tries to launch the product page as an ".html" file, it is not there or rewritten and available. Any help would be great;y appreciated. I think we are almost there!!!
×
×
  • Create New...