Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

JEWbacca

Pioneers
  • Posts

    330
  • Joined

  • Last visited

Posts 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!!

     

    1pg_error.jpg

  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. I installed this on a very heavily modded shop and it installed just fine.

     

    No problems no where and everything seems to work fine except for 1 small thing...

     

    When I click any manufacturer in the pull down menu it shows their products just fine and their logo.

     

    However it does not show the information that I input in the admin area under the description field.

     

    Have I missed something somewhere?

     

    I was thinking that the extra description information would show up at the very top of the manufacturers catgeory......

     

    Any help?

     

    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. What other contribs do u advice me to install to improve the b2b aspects. I'll try Quantity Price Breaks for SPPC. what are the other contribs for sppc ?

     

    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.

     

    Another point. How should paiment be dealt with wholesalers. Can large sum of money be paid via credit cards ? sorry for these questions..i'm just a confused student.. ;)

     

    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. ok in the "catalog/products" section of the admin page, i need the existing items to be listed by model...

     

    currently it only list them by name, like so:

     

    prodcategories.gif

     

    i want to have an additional column called "model" that list them by the "model" number (item number) that i put in when i created each item...

     

    how can i do this?

     

    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. ok i got it working thanx

     

    one more question about it...

     

    can i change this

     

    TABLE_HEADING_CUSTOMERS_GROUPS : Retail

     

    to say Customer type: Retail

     

    without changing the SQL TABLE name or whatever...?

     

    thanx again guys

     

    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. 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

  9. 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

  10. 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

  11. 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

  12. 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

  13. 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))
      . ' ';
    }
     }

  14. 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));
    }
     }

  15. 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))
      . ' ';
      }
    }

  16. 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

  17. 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

  18. 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...