Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

JEWbacca

Pioneers
  • Posts

    330
  • Joined

  • Last visited

Everything posted by JEWbacca

  1. Steve_S, Using the alternative, production ready, version of cc.php you provided i'm still getting the same errors. Warning: str_repeat() [function.str-repeat]: Second argument has to be greater than or equal to 0 in /home/XXXX/public_html/XXXXXXX/includes/modules/payment/cc.php on line 153 Also, same as before there are no input boxes showing up for the customer to put their name, credit card number or expire date information (in fact instead of date drop down box it says " December, 2019") Any suggestions are greatly appreciated!!
  2. I too am having problems with the cc.php file and One Page Checkout 1.3. Like other users I'm getting the following error: Warning: str_repeat() [function.str-repeat]: Second argument has to be greater than or equal to 0 in /home/test-dev/public_html/includes/modules/payment/cc.php on line 137 I'm also having the problem another user reported where there are no input boxes for the credit card information (owner, number and expiry date) but the date "December, 2019" appears (as text, not date drop down box). I see that the demo site (http://www.itwebexperts.com/onepagecheckout/) is using the credit card module without issue. Any advise is greatly appreciated.
  3. Hi. I'm running into an issue when trying to make edits to manufacturers? Has anyone else come across this error? I could not even add products until I followed the instructions suggested in this post. The only thing is this post does not tell you where to do the changes, and there are 4 instances of it. Warning: array_merge() [function.array-merge]: Argument #1 is not an array in /home/dev/virtual_html/admin/manufacturers.php on line 33 Warning: reset() [function.reset]: Passed variable is not an array or object in /home/dev/virtual_html/admin/includes/functions/database.php on line 55 Warning: Variable passed to each() is not an array or object in /home/dev/virtual_html/admin/includes/functions/database.php on line 79 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'where manufacturers_id = '31'' at line 1 update manufacturers se where manufacturers_id = '31' [TEP STOP] here is my /admin/manufacturers.php <?php /* $Id: manufacturers.php,v 1.55 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'); $action = (isset($HTTP_GET_VARS['action']) ? $HTTP_GET_VARS['action'] : ''); if (tep_not_null($action)) { switch ($action) { case 'insert': case 'save': if (isset($HTTP_GET_VARS['mID'])) $manufacturers_id = tep_db_prepare_input($HTTP_GET_VARS['mID']); if ($action == 'insert') { $insert_sql_data = array('date_added' => 'now()'); $sql_data_array = array_merge((array)$sql_data_array, (array)$insert_sql_data); tep_db_perform(TABLE_MANUFACTURERS, $sql_data_array); $manufacturers_id = tep_db_insert_id(); } elseif ($action == 'save') { $update_sql_data = array('last_modified' => 'now()'); $sql_data_array = array_merge($sql_data_array, $update_sql_data); tep_db_perform(TABLE_MANUFACTURERS, $sql_data_array, 'update', "manufacturers_id = '" . (int)$manufacturers_id . "'"); } $languages = tep_get_languages(); for ($i=0, $n=sizeof($languages); $i<$n; $i++) { $manufacturers_name_array = $HTTP_POST_VARS['manufacturers_name']; $language_id = $languages[$i]['id']; $sql_data_array = array('manufacturers_name' => tep_db_prepare_input($manufacturers_name_array[$language_id])); if ($action == 'insert') { $insert_sql_data = array('manufacturers_id' => $manufacturers_id, 'languages_id' => $language_id); $sql_data_array = array_merge((array)$sql_data_array, (array)$insert_sql_data); tep_db_perform(TABLE_MANUFACTURERS_INFO, $sql_data_array); } elseif ($action == 'save') { tep_db_perform(TABLE_MANUFACTURERS_INFO, $sql_data_array, 'update', "manufacturers_id = '" . (int)$manufacturers_id . "' and languages_id = '" . (int)$language_id . "'"); } } $languages = tep_get_languages(); for ($i=0, $n=sizeof($languages); $i<$n; $i++) { $manufacturers_description_array = $HTTP_POST_VARS['manufacturers_description']; $language_id = $languages[$i]['id']; $sql_data_array = array('manufacturers_description' => tep_db_prepare_input($manufacturers_description_array[$language_id])); if ($action == 'insert') { $insert_sql_data = array('manufacturers_id' => $manufacturers_id, 'languages_id' => $language_id); $sql_data_array = array_merge((array)$sql_data_array, (array)$insert_sql_data); tep_db_perform(TABLE_MANUFACTURERS_INFO, $sql_data_array, 'update', "manufacturers_id = '" . (int)$manufacturers_id . "' and languages_id = '" . (int)$language_id . "'"); // tep_db_perform(TABLE_MANUFACTURERS_INFO, $sql_data_array); } elseif ($action == 'save') { tep_db_perform(TABLE_MANUFACTURERS_INFO, $sql_data_array, 'update', "manufacturers_id = '" . (int)$manufacturers_id . "' and languages_id = '" . (int)$language_id . "'"); } } if ($manufacturers_image = new upload('manufacturers_image', DIR_FS_CATALOG_IMAGES)) { tep_db_query("update " . TABLE_MANUFACTURERS . " set manufacturers_image = '" . $manufacturers_image->filename . "' where manufacturers_id = '" . (int)$manufacturers_id . "'"); } for ($i=0, $n=sizeof($languages); $i<$n; $i++) { $manufacturers_url_array = $HTTP_POST_VARS['manufacturers_url']; $language_id = $languages[$i]['id']; $sql_data_array = array('manufacturers_url' => tep_db_prepare_input($manufacturers_url_array[$language_id])); if ($action == 'insert') { $insert_sql_data = array('manufacturers_id' => $manufacturers_id, 'languages_id' => $language_id); $sql_data_array = array_merge((array)$sql_data_array, (array)$insert_sql_data); tep_db_perform(TABLE_MANUFACTURERS_INFO, $sql_data_array, 'update', "manufacturers_id = '" . (int)$manufacturers_id . "' and languages_id = '" . (int)$language_id . "'"); // tep_db_perform(TABLE_MANUFACTURERS_INFO, $sql_data_array); } elseif ($action == 'save') { tep_db_perform(TABLE_MANUFACTURERS_INFO, $sql_data_array, 'update', "manufacturers_id = '" . (int)$manufacturers_id . "' and languages_id = '" . (int)$language_id . "'"); } } if (USE_CACHE == 'true') { tep_reset_cache_block('manufacturers'); } tep_redirect(tep_href_link(FILENAME_MANUFACTURERS, (isset($HTTP_GET_VARS['page']) ? 'page=' . $HTTP_GET_VARS['page'] . '&' : '') . 'mID=' . $manufacturers_id)); break; case 'deleteconfirm': $manufacturers_id = tep_db_prepare_input($HTTP_GET_VARS['mID']); if (isset($HTTP_POST_VARS['delete_image']) && ($HTTP_POST_VARS['delete_image'] == 'on')) { $manufacturer_query = tep_db_query("select manufacturers_image from " . TABLE_MANUFACTURERS . " where manufacturers_id = '" . (int)$manufacturers_id . "'"); $manufacturer = tep_db_fetch_array($manufacturer_query); $image_location = DIR_FS_DOCUMENT_ROOT . DIR_WS_CATALOG_IMAGES . $manufacturer['manufacturers_image']; if (file_exists($image_location)) @unlink($image_location); } tep_db_query("delete from " . TABLE_MANUFACTURERS . " where manufacturers_id = '" . (int)$manufacturers_id . "'"); tep_db_query("delete from " . TABLE_MANUFACTURERS_INFO . " where manufacturers_id = '" . (int)$manufacturers_id . "'"); if (isset($HTTP_POST_VARS['delete_products']) && ($HTTP_POST_VARS['delete_products'] == 'on')) { $products_query = tep_db_query("select products_id from " . TABLE_PRODUCTS . " where manufacturers_id = '" . (int)$manufacturers_id . "'"); while ($products = tep_db_fetch_array($products_query)) { tep_remove_product($products['products_id']); } } else { tep_db_query("update " . TABLE_PRODUCTS . " set manufacturers_id = '' where manufacturers_id = '" . (int)$manufacturers_id . "'"); } if (USE_CACHE == 'true') { tep_reset_cache_block('manufacturers'); } tep_redirect(tep_href_link(FILENAME_MANUFACTURERS, 'page=' . $HTTP_GET_VARS['page'])); 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" 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> <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_MANUFACTURERS; ?></td> <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_ACTION; ?> </td> </tr> <?php $manufacturers_query_raw = "select ma.manufacturers_id, mi.manufacturers_name, ma.manufacturers_image, ma.date_added, ma.last_modified from " . TABLE_MANUFACTURERS . " ma, " . TABLE_MANUFACTURERS_INFO . " mi where ma.manufacturers_id = mi.manufacturers_id and mi.languages_id = " . (int)$languages_id . " order by mi.manufacturers_name"; $manufacturers_split = new splitPageResults($HTTP_GET_VARS['page'], MAX_DISPLAY_SEARCH_RESULTS, $manufacturers_query_raw, $manufacturers_query_numrows); $manufacturers_query = tep_db_query($manufacturers_query_raw); while ($manufacturers = tep_db_fetch_array($manufacturers_query)) { if ((!isset($HTTP_GET_VARS['mID']) || (isset($HTTP_GET_VARS['mID']) && ($HTTP_GET_VARS['mID'] == $manufacturers['manufacturers_id']))) && !isset($mInfo) && (substr($action, 0, 3) != 'new')) { $manufacturer_products_query = tep_db_query("select count(*) as products_count from " . TABLE_PRODUCTS . " where manufacturers_id = '" . (int)$manufacturers['manufacturers_id'] . "'"); $manufacturer_products = tep_db_fetch_array($manufacturer_products_query); $mInfo_array = array_merge($manufacturers, $manufacturer_products); $mInfo = new objectInfo($mInfo_array); } if (isset($mInfo) && is_object($mInfo) && ($manufacturers['manufacturers_id'] == $mInfo->manufacturers_id)) { echo ' <tr id="defaultSelected" class="dataTableRowSelected" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="document.location.href=\'' . tep_href_link(FILENAME_MANUFACTURERS, 'page=' . $HTTP_GET_VARS['page'] . '&mID=' . $manufacturers['manufacturers_id'] . '&action=edit') . '\'">' . "\n"; } else { echo ' <tr class="dataTableRow" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="document.location.href=\'' . tep_href_link(FILENAME_MANUFACTURERS, 'page=' . $HTTP_GET_VARS['page'] . '&mID=' . $manufacturers['manufacturers_id']) . '\'">' . "\n"; } ?> <td class="dataTableContent"><?php echo $manufacturers['manufacturers_name']; ?></td> <td class="dataTableContent" align="right"><?php if (isset($mInfo) && is_object($mInfo) && ($manufacturers['manufacturers_id'] == $mInfo->manufacturers_id)) { echo tep_image(DIR_WS_IMAGES . 'icon_arrow_right.gif'); } else { echo '<a href="' . tep_href_link(FILENAME_MANUFACTURERS, 'page=' . $HTTP_GET_VARS['page'] . '&mID=' . $manufacturers['manufacturers_id']) . '">' . tep_image(DIR_WS_IMAGES . 'icon_info.gif', IMAGE_ICON_INFO) . '</a>'; } ?> </td> </tr> <?php } ?> <tr> <td colspan="2"><table border="0" width="100%" cellspacing="0" cellpadding="2"> <tr> <td class="smallText" valign="top"><?php echo $manufacturers_split->display_count($manufacturers_query_numrows, MAX_DISPLAY_SEARCH_RESULTS, $HTTP_GET_VARS['page'], TEXT_DISPLAY_NUMBER_OF_MANUFACTURERS); ?></td> <td class="smallText" align="right"><?php echo $manufacturers_split->display_links($manufacturers_query_numrows, MAX_DISPLAY_SEARCH_RESULTS, MAX_DISPLAY_PAGE_LINKS, $HTTP_GET_VARS['page']); ?></td> </tr> </table></td> </tr> <?php if (empty($action)) { ?> <tr> <td align="right" colspan="2" class="smallText"><?php echo '<a href="' . tep_href_link(FILENAME_MANUFACTURERS, 'page=' . $HTTP_GET_VARS['page'] . '&mID=' . $mInfo->manufacturers_id . '&action=new') . '">' . tep_image_button('button_insert.gif', IMAGE_INSERT) . '</a>'; ?></td> </tr> <?php } ?> </table></td> <?php $heading = array(); $contents = array(); switch ($action) { case 'new': $heading[] = array('text' => '<b>' . TEXT_HEADING_NEW_MANUFACTURER . '</b>'); $contents = array('form' => tep_draw_form('manufacturers', FILENAME_MANUFACTURERS, 'action=insert', 'post', 'enctype="multipart/form-data"')); $contents[] = array('text' => TEXT_NEW_INTRO); $manufacturer_inputs_string = ''; $languages = tep_get_languages(); for ($i=0, $n=sizeof($languages); $i<$n; $i++) { $manufacturer_inputs_string .= '<br>' . tep_image(DIR_WS_CATALOG_LANGUAGES . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], $languages[$i]['name']) . ' ' . tep_draw_input_field('manufacturers_name[' . $languages[$i]['id'] . ']'); } $contents[] = array('text' => '<br>' . TEXT_MANUFACTURERS_NAME . $manufacturer_inputs_string); $manufacturer_inputs_string = ''; $languages = tep_get_languages(); for ($i=0, $n=sizeof($languages); $i<$n; $i++) { $manufacturer_inputs_string .= '<br>' . tep_image(DIR_WS_CATALOG_LANGUAGES . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], $languages[$i]['name']) . ' ' . tep_draw_textarea_field('manufacturers_description[' . $languages[$i]['id'] . ']', 'soft', '40', '5'); } $contents[] = array('text' => '<br>' . TEXT_MANUFACTURERS_DESCRIPTION . $manufacturer_inputs_string); $contents[] = array('text' => '<br>' . TEXT_MANUFACTURERS_IMAGE . '<br>' . tep_draw_file_field('manufacturers_image')); $manufacturer_inputs_string = ''; $languages = tep_get_languages(); for ($i=0, $n=sizeof($languages); $i<$n; $i++) { $manufacturer_inputs_string .= '<br>' . tep_image(DIR_WS_CATALOG_LANGUAGES . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], $languages[$i]['name']) . ' ' . tep_draw_input_field('manufacturers_url[' . $languages[$i]['id'] . ']'); } $contents[] = array('text' => '<br>' . TEXT_MANUFACTURERS_URL . $manufacturer_inputs_string); $contents[] = array('align' => 'center', 'text' => '<br>' . tep_image_submit('button_save.gif', IMAGE_SAVE) . ' <a href="' . tep_href_link(FILENAME_MANUFACTURERS, 'page=' . $HTTP_GET_VARS['page'] . '&mID=' . $HTTP_GET_VARS['mID']) . '">' . tep_image_button('button_cancel.gif', IMAGE_CANCEL) . '</a>'); break; case 'edit': $heading[] = array('text' => '<b>' . TEXT_HEADING_EDIT_MANUFACTURER . '</b>'); $contents = array('form' => tep_draw_form('manufacturers', FILENAME_MANUFACTURERS, 'page=' . $HTTP_GET_VARS['page'] . '&mID=' . $mInfo->manufacturers_id . '&action=save', 'post', 'enctype="multipart/form-data"')); $contents[] = array('text' => TEXT_EDIT_INTRO); // $contents[] = array('text' => '<br>' . TEXT_MANUFACTURERS_NAME . '<br>' . tep_draw_input_field('manufacturers_name', $mInfo->manufacturers_name)); $manufacturer_inputs_string = ''; $languages = tep_get_languages(); for ($i=0, $n=sizeof($languages); $i<$n; $i++) { $manufacturer_inputs_string .= '<br>' . tep_image(DIR_WS_CATALOG_LANGUAGES . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], $languages[$i]['name']) . ' ' . tep_draw_input_field('manufacturers_name[' . $languages[$i]['id'] . ']', tep_get_manufacturer_name($mInfo->manufacturers_id, $languages[$i]['id'])); } $contents[] = array('text' => '<br>' . TEXT_MANUFACTURERS_NAME . $manufacturer_inputs_string); $manufacturer_inputs_string = ''; $languages = tep_get_languages(); for ($i=0, $n=sizeof($languages); $i<$n; $i++) { $manufacturer_inputs_string .= '<br>' . tep_image(DIR_WS_CATALOG_LANGUAGES . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], $languages[$i]['name']) . ' ' . tep_draw_textarea_field('manufacturers_description[' . $languages[$i]['id'] . ']', 'soft', '40', '5', tep_get_manufacturers_description($mInfo->manufacturers_id, $languages[$i]['id'])); } $contents[] = array('text' => '<br>' . TEXT_MANUFACTURERS_DESCRIPTION . $manufacturer_inputs_string); $contents[] = array('text' => '<br>' . TEXT_MANUFACTURERS_IMAGE . '<br>' . tep_draw_file_field('manufacturers_image') . '<br>' . $mInfo->manufacturers_image); $manufacturer_inputs_string = ''; $languages = tep_get_languages(); for ($i=0, $n=sizeof($languages); $i<$n; $i++) { $manufacturer_inputs_string .= '<br>' . tep_image(DIR_WS_CATALOG_LANGUAGES . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], $languages[$i]['name']) . ' ' . tep_draw_input_field('manufacturers_url[' . $languages[$i]['id'] . ']', tep_get_manufacturer_url($mInfo->manufacturers_id, $languages[$i]['id'])); } $contents[] = array('text' => '<br>' . TEXT_MANUFACTURERS_URL . $manufacturer_inputs_string); $contents[] = array('align' => 'center', 'text' => '<br>' . tep_image_submit('button_save.gif', IMAGE_SAVE) . ' <a href="' . tep_href_link(FILENAME_MANUFACTURERS, 'page=' . $HTTP_GET_VARS['page'] . '&mID=' . $mInfo->manufacturers_id) . '">' . tep_image_button('button_cancel.gif', IMAGE_CANCEL) . '</a>'); break; case 'delete': $heading[] = array('text' => '<b>' . TEXT_HEADING_DELETE_MANUFACTURER . '</b>'); $contents = array('form' => tep_draw_form('manufacturers', FILENAME_MANUFACTURERS, 'page=' . $HTTP_GET_VARS['page'] . '&mID=' . $mInfo->manufacturers_id . '&action=deleteconfirm')); $contents[] = array('text' => TEXT_DELETE_INTRO); $contents[] = array('text' => '<br><b>' . $mInfo->manufacturers_name . '</b>'); $contents[] = array('text' => '<br>' . tep_draw_checkbox_field('delete_image', '', true) . ' ' . TEXT_DELETE_IMAGE); if ($mInfo->products_count > 0) { $contents[] = array('text' => '<br>' . tep_draw_checkbox_field('delete_products') . ' ' . TEXT_DELETE_PRODUCTS); $contents[] = array('text' => '<br>' . sprintf(TEXT_DELETE_WARNING_PRODUCTS, $mInfo->products_count)); } $contents[] = array('align' => 'center', 'text' => '<br>' . tep_image_submit('button_delete.gif', IMAGE_DELETE) . ' <a href="' . tep_href_link(FILENAME_MANUFACTURERS, 'page=' . $HTTP_GET_VARS['page'] . '&mID=' . $mInfo->manufacturers_id) . '">' . tep_image_button('button_cancel.gif', IMAGE_CANCEL) . '</a>'); break; default: if (isset($mInfo) && is_object($mInfo)) { $heading[] = array('text' => '<b>' . $mInfo->manufacturers_name . '</b>'); $contents[] = array('align' => 'center', 'text' => '<a href="' . tep_href_link(FILENAME_MANUFACTURERS, 'page=' . $HTTP_GET_VARS['page'] . '&mID=' . $mInfo->manufacturers_id . '&action=edit') . '">' . tep_image_button('button_edit.gif', IMAGE_EDIT) . '</a> <a href="' . tep_href_link(FILENAME_MANUFACTURERS, 'page=' . $HTTP_GET_VARS['page'] . '&mID=' . $mInfo->manufacturers_id . '&action=delete') . '">' . tep_image_button('button_delete.gif', IMAGE_DELETE) . '</a>'); $contents[] = array('text' => '<br>' . TEXT_DATE_ADDED . ' ' . tep_date_short($mInfo->date_added)); if (tep_not_null($mInfo->last_modified)) $contents[] = array('text' => TEXT_LAST_MODIFIED . ' ' . tep_date_short($mInfo->last_modified)); $contents[] = array('text' => '<br>' . tep_info_image($mInfo->manufacturers_image, $mInfo->manufacturers_name)); $contents[] = array('text' => '<br>' . TEXT_PRODUCTS . ' ' . $mInfo->products_count); } 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'); ?> Thanks for any insight on this.
  4. sunshynevideo I too noticed this. If you look at the edits for the /index.php there is nothing that seems to call the description - but then again maybe I overlooked it. I would love to see if anyone was able to get this to work and a live site that actually is taking advantage of this contribution.
  5. There are a number of contributions which were made for/ adjusted for SPPC -- http://www.oscommerce.com/community?contri...ns=&search=SPPC ://http://www.oscommerce.com/community...arch=SPPC There is also a forked version of osC which is made for b2b users - http://www.oscommerce.com/community/contributions,2862 . Infact, they have (or had) a whole site for this project, you can find the link in the read me of that contribution. Nearly any of the payment modules will work, no matter how much money your site brings in and no matter what the average value of sale is. Your best bet would to be to use somthing (such as a CC processor, unless you have the ability to run your own cards) that charges a low % if you infact do have high sales volume. The other choice you could off is to take wire transfers/checks/money orders (a bit more risky and hard to do also as a new company). What you need to do is research both on the osC board and on google.com the number of different ways to operate an ecommerce store and how to take payments and apply the one that best fits your business model. Good Luck, Nate
  6. Herot, This has little/nothing to do w/ SPPC and will cause no conlfict whatsoever with the SPPC contribution. I have done it on each of my 3 sites. This topic has been asked in the past (countless times) in the "General Support" forum and I belive there is a how-to in the "Tips and Tricks" area. Or you can search the contributions, which I have done for you, to find yet the same answer -- http://www.oscommerce.com/community/contributions,938 Jan does a great job keeping this thread supported, IMHO we should not bug it down with gneral osc questions. Nate
  7. Herot, Yes. You can do that... Go into /admin/orders.php and make this change: Find the code that JAN created to echo the customer group on the order page... <tr> <td class="main"><b><?php echo ENTRY_EMAIL_ADDRESS; ?></b></td> <td class="main"><?php echo '<a href="mailto:' . $order->customer['email_address'] . '"><u>' . $order->customer['email_address'] . '</u></a>'; ?></td> </tr> <!-- // BOF Separate Pricing Per Customer --> <tr> <td class="main"><b><?php echo TABLE_HEADING_CUSTOMERS_GROUPS .":"; ?></b></td> <td class="main"><?php echo $order->customer['customers_group_name']; ?></td> </tr> <!-- // EOF Separate Pricing Per Customer --> Within that code look for this line: <td class="main"><b><?php echo TABLE_HEADING_CUSTOMERS_GROUPS .":"; ?></b></td> CHANGE that line to this: <td class="main"><b>Customer Type:</b></td> That should do the trick.... Good Luck Nate
  8. Yes. I think that is what Jan meant to say... I was able to follow those instructions (using admin/includes/classes/order.php) and it worked.
  9. Thanks Amanda, So I replaced: function ot_loworderfee() { $this->code = 'ot_loworderfee'; $this->title = MODULE_ORDER_TOTAL_LOWORDERFEE_TITLE; $this->description = MODULE_ORDER_TOTAL_LOWORDERFEE_DESCRIPTION; $this->enabled = ((MODULE_ORDER_TOTAL_LOWORDERFEE_STATUS == 'true') ? true : false); $this->sort_order = MODULE_ORDER_TOTAL_LOWORDERFEE_SORT_ORDER; $this->output = array(); } with: $this->code = 'ot_loworderfee'; $this->title = MODULE_ORDER_TOTAL_LOWORDERFEE_TITLE; $this->description = MODULE_ORDER_TOTAL_LOWORDERFEE_DESCRIPTION; $this->enabled = ((MODULE_ORDER_TOTAL_LOWORDERFEE_STATUS == 'true') ? true : false); $this->sort_order = MODULE_ORDER_TOTAL_LOWORDERFEE_SORT_ORDER; $this->output = array(); if ($shipping['id'] == fixed) $this->enabled = false; } I think the id is 'fixed' as the file name is fixed.php and the path when making changes to it via the admin includes 'fixed' -- /admin/modules.php?set=shipping&module=fixed ... but even the low order fee is still displaying and being applied. As far as the easy discount goes... since I don't display the discounts in my shopping_cart.php, or anywhere else, untill checkout_confirmation.php could I not just put it in ot_easy_discount.php ? Would I change this: function ot_easy_discount() { $this->code = 'ot_easy_discount'; $this->title = MODULE_EASY_DISCOUNT_TITLE; $this->description = MODULE_EASY_DISCOUNT_DESCRIPTION; $this->enabled = ((MODULE_EASY_DISCOUNT_STATUS == 'true') ? true : false); $this->sort_order = MODULE_EASY_DISCOUNT_SORT_ORDER; $this->output = array(); } to function ot_easy_discount() { $this->code = 'ot_easy_discount'; $this->title = MODULE_EASY_DISCOUNT_TITLE; $this->description = MODULE_EASY_DISCOUNT_DESCRIPTION; $this->enabled = ((MODULE_EASY_DISCOUNT_STATUS == 'true') ? true : false); $this->sort_order = MODULE_EASY_DISCOUNT_SORT_ORDER; $this->output = array(); if ($shipping['id'] == fixed) $this->enabled = false; } If you have any ideas why it would not be working (my guess is somthing w/ the shipping id) pleast let me know. Thanks again! Nate
  10. Hi Amanda, I have another obsecure question... I need ALL easy discounts (and my low order fee) to not be figured in if a specific shipping method is selected. Can this be done? So to be more specific..... if Shipping Module = Fixed Domestic/International Shipping Per Product then DONT apply: Order Total -Easy Discount Order Total - Low Order Fee Any idea on where and how this can be done would be of great help. Thanks, Nate
  11. You are on the right track, and yes you can do this with oscommerce. To handle your customer groups and different prices use 'Seperate Price Per Customer' or 'SPPC' -- http://www.oscommerce.com/community/contributions,716 To hide select products from a group you can use 'Hide products from customer groups for SPPC' -- http://www.oscommerce.com/community/contributions,3059 I would suggest that you do a search in the contribution area for all those things related to SPPC as you will find more add-ons than you will ever need related to SPPC. Also, invest the time and read the SPPC support thread, it will be of great help. Good Luck, Nate
  12. Azer, Not sure if you still need this, but you can use this string in place of the stock string in quickfind.php if you want the '-' to be searchable.. I too needed this as I had '-' in my part numbers $q = addslashes(preg_replace("%[^0-9a-zA-Z ]-%", "", $_GET['keywords']) ); Hope that works for you. :D For anyone that might know more about AJAX/JAVA/PHP... I have a couple of questions. :blush: 1. I'm trying to strip out speical characters such as ?, ?, etc from product names. Reason being is that if a customer does a search for 'Prolink' a number of products come up (around 60 or so...). The problem is that each Prolink product has a ? symbol after the Prolink word (ie-Prolink?). This keeps customers from inputing more text to narrow down their search. Any ideas? 2. Like many others, I too think if quick edit could search the product descriptionhave this could be of much use. I added pd.products_description to the query in the quickfind.php, but it seems like it makes no difference. Must it be added more places also? $query = tep_db_query("select pd.products_id, pd.products_name, pd.products_description, p.products_model from " . TABLE_PRODUCTS_DESCRIPTION . " pd left join " . TABLE_PRODUCTS . " p on (p.products_id = pd.products_id) where (pd.products_name like '%" . tep_db_input($q) . "%' or p.products_model like '%" . tep_db_input($q) . "%') and p.products_status = '1' and pd.language_id = '" . (int)$languages_id . "' order by pd.products_name asc limit " . $limit); 3. Is there some type of string that can be incorporated to allow an asterisk (*) to work as a universal character? Just an idea.... Thanks, Nate
  13. Going to answer my own question here (just incase anyone is looking for this same solution. Here is what the string needs to be: $q = addslashes(preg_replace("%[^0-9a-zA-Z ]-%", "", $_GET['keywords']) );
  14. Sam, This contribution looks very much to improve the mess of the stock OSC attribute system. I will be trying to get it working soon. On a related AJAX issue, perhaps you can offer some advise to me. I'm trying to use a preg_replace command to work with dashes, as of now it works with numbers and upper/lower case letters only... I think that the dash (-) needs to be commented out somehow, but can't seem to figure out quite how. $q = addslashes(preg_replace("%[^0-9a-zA-Z ]%", "", $_GET['keywords']) ); Any help would be greatly appreciated. Sorry for the off-topic post. :blush: Thanks, Nate
  15. Effour, Use the last version by CHEMO... other authors have taken out this VERY IMPORTANT feature. Good Luck, Nate
  16. My apologies.... anyone using SPPC w/ Price Breaks here is teh code used to have it display 'As low as _(low_price)_' instead of '_(low_price)_ - _(high_price)_' Good Luck: if ($this->hasSpecialPrice == true) { $lc_text = ' <s>' . $currencies->display_price($this->thePrice, tep_get_tax_rate($this->taxClass)) . '</s><br/> <span class="productSpecialPrice">' . $currencies->display_price($this->specialPrice, tep_get_tax_rate($this->taxClass)) . '</span> '; } else { if($this->hasQuantityPrice == true) { $lc_text = '<font size="1">As low as</font><br>' . $currencies->display_price($this->lowPrice, tep_get_tax_rate($this->taxClass)); } else { $lc_text = ' ' . $currencies->display_price($this->thePrice, tep_get_tax_rate($this->taxClass)) . ' '; } }
  17. I spoke too soon I guess :blush: Whie the As low as ______ is not working... if the price does not have a quanity price break, and instead just has a flat price the price seems to not show up. Here is the part that I edited... if ($this->hasSpecialPrice == true) { $lc_text = ' <s>' . $currencies->display_price($this->thePrice, tep_get_tax_rate($this->taxClass)) . '</s><br/> <span class="productSpecialPrice">' . $currencies->display_price($this->specialPrice, tep_get_tax_rate($this->taxClass)) . '</span> '; } else { if($this->hasQuantityPrice == true) { $lc_text = '<font size="1">As low as</font><br>' . $currencies->display_price($this->lowPrice, tep_get_tax_rate($this->taxClass)); } }
  18. Michael, I would like to do the same thing as Ashley.... but when I try to edit the file i'm getting errors.. I'm using the PriceFormatter.php for SPPC. Here is the part of my code... if($this->hasQuantityPrice == true) { $lc_text = ' ' . $currencies->display_price($this->lowPrice, tep_get_tax_rate($this->taxClass)) . ' - ' . $currencies->display_price($this->hiPrice, tep_get_tax_rate($this->taxClass)) . ' '; } else { $lc_text = ' ' . $currencies->display_price($this->thePrice, tep_get_tax_rate($this->taxClass)) . ' '; } }
  19. This has been talked about in the offical SPPC thread -- http://www.oscommerce.com/forums/index.php?showtopic=53436 The author of SPPC (Jan Z) even gave a solution -- http://www.oscommerce.com/forums/index.php?s=&...ndpost&p=800164 You might also want to look at the follow up post I made in regards to this -- http://www.oscommerce.com/forums/index.php?s=&...ndpost&p=811526 Good Luck Nate
  20. Amanda, Seems to be working perfect! Just wanted to say thank you!
  21. You can turn SEO URLs back on, but make sure that in: Admin --> SEO URLs --> Set 'Configure Output W3C valid URLs (parameter string)?' to False This should fix the problem.
  22. Amanda, So here is what I should do... (I just want to double check w/ you). 1. Leave my login.php how it is. 2.Take out the code in my shopping_cart.php and then in my application_top.php at the very bottom before ?> add: if (($first_time_customer == 'True') and ($cart->count_contents() > 0)) { $easy_discount->set('WEB','First Time Web Customer',$cart->show_total()*0.1); } 3. Then in my create_account.php make it look like this: if (ACCOUNT_GENDER == 'true') { if ($gender == 'm') { $email_text = sprintf(EMAIL_GREET_MR, $lastname); } else { $email_text = sprintf(EMAIL_GREET_MS, $lastname); } } else { $email_text = sprintf(EMAIL_GREET_NONE, $firstname); } // BOF EASY DISCOUNT $easy_discount->set('WEB','First Time Web Customer',$cart->show_total()*0.1); // EOF EASY DISCOUNT $email_text .= EMAIL_WELCOME . EMAIL_TEXT . EMAIL_CONTACT . EMAIL_WARNING; 4. Then in my create_account.php make it look like this: // restore cart contents $cart->restore_contents(); // BOF EASY DISCOUNT $easy_discount->set('WEB','First Time Web Customer',$cart->show_total()*0.1); // EOF EASY DISCOUNT tep_session_register('noaccount'); tep_redirect(tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL')); } require(DIR_WS_INCLUDES . 'application_bottom.php'); ?> That look right? Thanks again! Nate
  23. Amanda, Thanks for all your suggestions... I must say that it is nice that easy discounts is so flexible/customizable; it just sometimes is hard for a newbie like me. :blush: If I leave it how it is now, in both the login.php and the shopping_cart.php I think it will fine for customers who don't create an account and then go directly to checkout... so in other words if they create an account... come back, login and then add stuff to their cart all will be fine. I figure (well I think......) if I just added this line to create_account.php and Order_Info.php (which takes care of PWA orders): $easy_discount->set('WEB','First Time Web Customer',*0.1); Is this all that I will need to add to those pages? or must I do somthing like this again? require("includes/application_top.php"); // BOE Easy Discount by Boxtel include (DIR_WS_FUNCTIONS.'easy_discount.php'); // EOE Easy Discount by Boxtel Also, where should I put the code that sets $easy_discount ? Will somthing like this do? From (in both create_account.php/Order_Info.php): if (ACCOUNT_GENDER == 'true') { if (isset($HTTP_POST_VARS['gender'])) { $gender = tep_db_prepare_input($HTTP_POST_VARS['gender']); } else { $gender = false; } } to: $easy_discount->set('WEB','First Time Web Customer',*0.1); if (ACCOUNT_GENDER == 'true') { if (isset($HTTP_POST_VARS['gender'])) { $gender = tep_db_prepare_input($HTTP_POST_VARS['gender']); } else { $gender = false; } } Thanks for all the help! :D Nate
×
×
  • Create New...