Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

queasyprawn

Members
  • Posts

    99
  • Joined

  • Last visited

Posts posted by queasyprawn

  1. Ok figured it out, here is my code if anyone else wants it:

    case 'PRODUCT_LIST_BUY_NOW': 
    		$lc_align = 'right'; 
    		$lc_text = '<form name="buy_now_' . $listing['products_id'] . '" method="post" action="' . tep_href_link(basename($PHP_SELF), tep_get_all_get_params(array('action')) . 'action=buy_now_form', 'NONSSL') . '">';
    		$product_info_query = tep_db_query("select 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_status = '1' and p.products_id = '" . $listing['products_id'] . "' and pd.products_id = p.products_id and pd.language_id = '" . $languages_id . "'"); 
    		$product_info = tep_db_fetch_array($product_info_query); 
    		$products_attributes_query = tep_db_query("select count(*) as total from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_ATTRIBUTES . " patrib where patrib.products_id='" . $listing['products_id'] . "' and patrib.options_id = popt.products_options_id and popt.language_id = '" . $languages_id . "'"); 
    		$products_attributes = tep_db_fetch_array($products_attributes_query); 
    		if ($products_attributes['total'] > 0) { 
    		$lc_text .= '<table border="0"><tr><td><table border="0" cellpadding="0" cellspacing"0">'; 
    		$products_options_name_query = tep_db_query("select distinct popt.products_options_id, popt.products_options_name from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_ATTRIBUTES . " patrib where patrib.products_id='" . $listing['products_id'] . "' and patrib.options_id = popt.products_options_id and popt.language_id = '" . $languages_id . "'"); 
    		while ($products_options_name = tep_db_fetch_array($products_options_name_query)) { 
    		$selected = 0; 
    		$products_options_array = array(); 
    			 //$lc_text .= '<td class="main">' . $products_options_name['products_options_name'] . ':</td><td>' . "\n"; 
    		$lc_text .= '<td style="padding-bottom:3px; padding-top:3px; padding-right:10px;">' . "\n"; 
    		$products_options_query = tep_db_query("select pov.products_options_values_id, pov.products_options_values_name, pa.options_values_price, pa.price_prefix from " . TABLE_PRODUCTS_ATTRIBUTES . " pa, " . TABLE_PRODUCTS_OPTIONS_VALUES . " pov where pa.products_id = '" . $listing['products_id'] . "' and pa.options_id = '" . $products_options_name['products_options_id'] . "' and pa.options_values_id = pov.products_options_values_id and pov.language_id = '" . $languages_id . "'"); 
    		while ($products_options = tep_db_fetch_array($products_options_query)) { 
    		$products_options_array[] = array('id' => $products_options['products_options_values_id'], 'text' => $products_options['products_options_values_name']); 
    		if ($products_options['options_values_price'] != '0') { 
    		$products_options_array[sizeof($products_options_array)-1]['text'] .= ' (' . $products_options['price_prefix'] . $currencies->display_price($products_options['options_values_price'], tep_get_tax_rate($product_info['products_tax_class_id'])) .') '; 
    	  } 
    	} 
    	$lc_text .= tep_draw_pull_down_menu('id[' . $products_options_name['products_options_id'] . ']', $products_options_array, $cart->contents[$HTTP_GET_VARS['products_id']]['attributes'][$products_options_name['products_options_id']]); 
    	$lc_text .= '</td></tr>'; 
      } 
      $lc_text .= '</table>'; 
    } 
      $lc_text .= '</td><td>Qty:<input type="text" name="cart_quantity" value="1" maxlength="6" size="4"></td><td><input type="hidden" name="products_id" value="' . $listing['products_id'] . '">' . tep_image_submit('button_buy_now.gif', TEXT_BUY . $listing['products_name'] . TEXT_NOW) . ' </td></tr></table></form>'; 
    		break;

  2. Hello All,

     

    I figure I would try to ask my question in a different way. How would I take the code below and create a table with three columns. The first column will have the attributes table (nested inside the first column), the next will have the Qty box and the last will ahve the buy now button.

     

    So as you might have guessed, I'm not too good with php code. Just not sure how to properly put in the table tags into the PHP.

     

    Please let me know.

     

    Thanks in advance,

     

    txcrew

     

     // Begin Buy Now button with attributes and quantity mod 
    	  case 'PRODUCT_LIST_BUY_NOW': 
    		$lc_align = 'center'; 
    		$lc_text = '<form name="buy_now_' . $listing['products_id'] . '" method="post" action="' . tep_href_link(basename($PHP_SELF), tep_get_all_get_params(array('action')) . 'action=buy_now_form', 'NONSSL') . '">';
    		$lc_text .= 'Qty: <input type="text" name="cart_quantity" value="1" maxlength="6" size="4">'; 
    		$lc_text .= '<input type="hidden" name="products_id" value="' . $listing['products_id'] . '">' . tep_image_submit('button_buy_now.gif', TEXT_BUY . $listing['products_name'] . TEXT_NOW) . ' '; 
    		$product_info_query = tep_db_query("select 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_status = '1' and p.products_id = '" . $listing['products_id'] . "' and pd.products_id = p.products_id and pd.language_id = '" . $languages_id . "'"); 
    		$product_info = tep_db_fetch_array($product_info_query); 
    		$products_attributes_query = tep_db_query("select count(*) as total from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_ATTRIBUTES . " patrib where patrib.products_id='" . $listing['products_id'] . "' and patrib.options_id = popt.products_options_id and popt.language_id = '" . $languages_id . "'"); 
    		$products_attributes = tep_db_fetch_array($products_attributes_query); 
    		if ($products_attributes['total'] > 0) { 
    		$lc_text .= '<table border="0" cellpadding="0" cellspacing"0">'; 
    		$products_options_name_query = tep_db_query("select distinct popt.products_options_id, popt.products_options_name from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_ATTRIBUTES . " patrib where patrib.products_id='" . $listing['products_id'] . "' and patrib.options_id = popt.products_options_id and popt.language_id = '" . $languages_id . "'"); 
    		while ($products_options_name = tep_db_fetch_array($products_options_name_query)) { 
    		$selected = 0; 
    		$products_options_array = array(); 
    		$lc_text .= '<tr><td class="main">' . $products_options_name['products_options_name'] . ':</td><td>' . "\n"; 
    		$products_options_query = tep_db_query("select pov.products_options_values_id, pov.products_options_values_name, pa.options_values_price, pa.price_prefix from " . TABLE_PRODUCTS_ATTRIBUTES . " pa, " . TABLE_PRODUCTS_OPTIONS_VALUES . " pov where pa.products_id = '" . $listing['products_id'] . "' and pa.options_id = '" . $products_options_name['products_options_id'] . "' and pa.options_values_id = pov.products_options_values_id and pov.language_id = '" . $languages_id . "'"); 
    		while ($products_options = tep_db_fetch_array($products_options_query)) { 
    		$products_options_array[] = array('id' => $products_options['products_options_values_id'], 'text' => $products_options['products_options_values_name']); 
    		if ($products_options['options_values_price'] != '0') { 
    		$products_options_array[sizeof($products_options_array)-1]['text'] .= ' (' . $products_options['price_prefix'] . $currencies->display_price($products_options['options_values_price'], tep_get_tax_rate($product_info['products_tax_class_id'])) .') '; 
    	  } 
    	} 
    	$lc_text .= tep_draw_pull_down_menu('id[' . $products_options_name['products_options_id'] . ']', $products_options_array, $cart->contents[$HTTP_GET_VARS['products_id']]['attributes'][$products_options_name['products_options_id']]); 
    	$lc_text .= '</td></tr>'; 
      } 
      $lc_text .= '</table>'; 
    } 
      $lc_text .= '</form>'; 
    		break; 
    // End Buy Now button mod

  3. Hello All,

     

    I tried posting this in the general support section, but this seemed to be more contribution related rather than the core code.

     

    I have installed a contribution that lets me put the attributes and a quantity box with a buy now button, in the product listings. This contrib, by default, will but another buy now button and quantity box if there is more than one option associated with it.

     

    To better describe my situation, PLEASE HAVE A LOOK HERE

     

    How would I go about fixing this? The qty fields don't work right when it displays two!

     

    Below is my code for the product_listing.php file. Please forgive if its a little sloppy, I'm not much of a php coder:

     

    <?php
    /*
     $Id: product_listing.php,v 1.44 2003/06/09 22:49:59 hpdl Exp $
    
     osCommerce, Open Source E-Commerce Solutions
     http://www.oscommerce.com
    
     Copyright (c) 2003 osCommerce
    
     Released under the GNU General Public License
    */
    
     $list_box_contents = array();
     $list_box_contents[] = array('params' => 'class="productListing-heading"');
     $cur_row = sizeof($list_box_contents) - 1;
    
     for ($col=0, $n=sizeof($column_list); $col<$n; $col++) {
    switch ($column_list[$col]) {
      case 'PRODUCT_LIST_MULTIPLE':
    	$add_multiple = "1";
    	echo '<form name="buy_now_" method="post" action="' . tep_href_link(basename($PHP_SELF), tep_get_all_get_params(array('action')) . 'action=add_multiple', 'NONSSL') . '">';
    	break;
    }}
    ?>
    <?php	
     $listing_split = new splitPageResults($listing_sql, MAX_DISPLAY_SEARCH_RESULTS, 'p.products_id');
    
     if ( ($listing_split->number_of_rows > 0) && ( (PREV_NEXT_BAR_LOCATION == '1') || (PREV_NEXT_BAR_LOCATION == '3') ) ) {
    ?>  
    
    <table border="0" width="100%" cellspacing="0" cellpadding="2">
     <tr>
    <td style="font-size:10px"><?php //echo $listing_split->display_count(TEXT_DISPLAY_NUMBER_OF_PRODUCTS); ?></td>
    <td style="font-size:10px" align="right"><?php //echo TEXT_RESULT_PAGE . ' ' . $listing_split->display_links(MAX_DISPLAY_PAGE_LINKS, tep_get_all_get_params(array('page', 'info', 'x', 'y'))); ?></td>
     </tr>
    </table>
    <?php
     }
    
     $list_box_contents = array();
    
     for ($col=0, $n=sizeof($column_list); $col<$n; $col++) {
    switch ($column_list[$col]) {
      case 'PRODUCT_LIST_MODEL':
    	$lc_text = TABLE_HEADING_MODEL;
    	$lc_align = '';
    	break;
      case 'PRODUCT_LIST_NAME':
    	$lc_text = TABLE_HEADING_PRODUCTS;
    	$lc_align = '';
    	break;
      case 'PRODUCT_LIST_MANUFACTURER':
    	$lc_text = TABLE_HEADING_MANUFACTURER;
    	$lc_align = '';
    	break;
      case 'PRODUCT_LIST_PRICE':
    	$lc_text = TABLE_HEADING_PRICE;
    	$lc_align = 'right';
    	break;
      case 'PRODUCT_LIST_QUANTITY':
    	$lc_text = TABLE_HEADING_QUANTITY;
    	$lc_align = 'right';
    	break;
      case 'PRODUCT_LIST_WEIGHT':
    	$lc_text = TABLE_HEADING_WEIGHT;
    	$lc_align = 'right';
    	break;
      case 'PRODUCT_LIST_IMAGE':
    	$lc_text = TABLE_HEADING_IMAGE;
    	$lc_align = 'center';
    	break;
      case 'PRODUCT_LIST_BUY_NOW':
    	$lc_text = TABLE_HEADING_BUY_NOW;
    	$lc_align = 'center';
    	break;
     case 'PRODUCT_LIST_MULTIPLE':
    	$lc_text = TABLE_HEADING_MULTIPLE;
    	$lc_align = 'center';
    	break;   
    
    }
    
    
    if ( ($column_list[$col] != 'PRODUCT_LIST_BUY_NOW') && ($column_list[$col] != 'PRODUCT_LIST_IMAGE') && ($column_list[$col] != 'PRODUCT_LIST_MULTIPLE')) {  
    
    
    
      $lc_text = tep_create_sort_heading($HTTP_GET_VARS['sort'], $col+1, $lc_text);
    }
    
    $list_box_contents[0][] = array('align' => $lc_align,
    								'params' => 'class="productListing-heading"',
    								'text' => ' ' . $lc_text . ' ');
     }
    
     if ($listing_split->number_of_rows > 0) {
    $rows = 0;
    $listing_query = tep_db_query($listing_split->sql_query);
    while ($listing = tep_db_fetch_array($listing_query)) {
      $rows++;
    
      if (($rows/2) == floor($rows/2)) {
    	$list_box_contents[] = array('params' => 'class="productListing-even"');
      } else {
    	$list_box_contents[] = array('params' => 'class="productListing-odd"');
      }
    
      $cur_row = sizeof($list_box_contents) - 1;
    
      for ($col=0, $n=sizeof($column_list); $col<$n; $col++) {
    	$lc_align = '';
    
    	switch ($column_list[$col]) {
    	  case 'PRODUCT_LIST_MODEL':
    		$lc_align = '';
    		$lc_text = ' ' . $listing['products_model'] . ' ';
    		break;
    	  case 'PRODUCT_LIST_NAME':
    		$lc_align = '';
    		if (isset($HTTP_GET_VARS['manufacturers_id'])) {
    		  $lc_text = ' ' .$listing['products_name'] . ' ';
    		} else {
    		  $lc_text = ' '. $listing['products_name'] . ' ';
    		}
    		break;
    	  case 'PRODUCT_LIST_MANUFACTURER':
    		$lc_align = '';
    		$lc_text = ' <a href="' . tep_href_link(FILENAME_DEFAULT, 'manufacturers_id=' . $listing['manufacturers_id']) . '">' . $listing['manufacturers_name'] . '</a> ';
    		break;
    	  case 'PRODUCT_LIST_PRICE':
    		$lc_align = 'right';
    		if (tep_not_null($listing['specials_new_products_price'])) {
    		  $lc_text = ' <s>' .  $currencies->display_price($listing['products_price'], tep_get_tax_rate($listing['products_tax_class_id'])) . '</s>  <span class="productSpecialPrice">' . $currencies->display_price($listing['specials_new_products_price'], tep_get_tax_rate($listing['products_tax_class_id'])) . '</span> ';
    		} else {
    		  $lc_text = ' ' . $currencies->display_price($listing['products_price'], tep_get_tax_rate($listing['products_tax_class_id'])) . ' ';
    		}
    		break;
    	  case 'PRODUCT_LIST_QUANTITY':
    		$lc_align = 'right';
    		$lc_text = ' ' . $listing['products_quantity'] . ' ';
    		break;
    
    
    
    	  case 'PRODUCT_LIST_IMAGE':
    		$lc_align = 'center';
    		if (isset($HTTP_GET_VARS['manufacturers_id'])) {
    		  $lc_text = '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'manufacturers_id=' . $HTTP_GET_VARS['manufacturers_id'] . '&products_id=' . $listing['products_id']) . '">' . tep_image(DIR_WS_IMAGES . $listing['products_image'], $listing['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) . '</a>';
    		} else {
    		  $lc_text = ' <a href="' . tep_href_link(FILENAME_PRODUCT_INFO, ($cPath ? 'cPath=' . $cPath . '&' : '') . 'products_id=' . $listing['products_id']) . '">' . tep_image(DIR_WS_IMAGES . $listing['products_image'], $listing['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) . '</a> ';
    		}
    		break;
    
    // Begin Buy Now button with attributes and quantity mod 
    	  case 'PRODUCT_LIST_BUY_NOW': 
    		$lc_align = 'right'; 
    		$lc_text = '<span class="smlfrm"><form name="buy_now_' . $listing['products_id'] . '" method="post" action="' . tep_href_link(basename($PHP_SELF), tep_get_all_get_params(array('action')) . 'action=buy_now_form', 'NONSSL') . '">';
    		$product_info_query = tep_db_query("select 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_status = '1' and p.products_id = '" . $listing['products_id'] . "' and pd.products_id = p.products_id and pd.language_id = '" . $languages_id . "'"); 
    		$product_info = tep_db_fetch_array($product_info_query); 
    		$products_attributes_query = tep_db_query("select count(*) as total from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_ATTRIBUTES . " patrib where patrib.products_id='" . $listing['products_id'] . "' and patrib.options_id = popt.products_options_id and popt.language_id = '" . $languages_id . "'"); 
    		$products_attributes = tep_db_fetch_array($products_attributes_query); 
    		if ($products_attributes['total'] > 0) { 
    		$lc_text .= '<table wdith="100%" border="0" cellpadding="0" cellspacing"0" '; 
    		$products_options_name_query = tep_db_query("select distinct popt.products_options_id, popt.products_options_name from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_ATTRIBUTES . " patrib where patrib.products_id='" . $listing['products_id'] . "' and patrib.options_id = popt.products_options_id and popt.language_id = '" . $languages_id . "'"); 
    		while ($products_options_name = tep_db_fetch_array($products_options_name_query)) { 
    		$selected = 0; 
    		$products_options_array = array(); 
    		$lc_text .= '<tr>' . "\n"; 
    
    		$products_options_query = tep_db_query("select pov.products_options_values_id, pov.products_options_values_name, pa.options_values_price, pa.price_prefix from " . TABLE_PRODUCTS_ATTRIBUTES . " pa, " . TABLE_PRODUCTS_OPTIONS_VALUES . " pov where pa.products_id = '" . $listing['products_id'] . "' and pa.options_id = '" . $products_options_name['products_options_id'] . "' and pa.options_values_id = pov.products_options_values_id and pov.language_id = '" . $languages_id . "'order by pa.products_options_sort_order"); 
    		while ($products_options = tep_db_fetch_array($products_options_query)) { 
    		$products_options_array[] = array('id' => $products_options['products_options_values_id'], 'text' => $products_options['products_options_values_name']); 
    		if ($products_options['options_values_price'] != '0') { 
    		$products_options_array[sizeof($products_options_array)-1]['text'] .= ' (' . $products_options['price_prefix'] . $currencies->display_price($products_options['options_values_price'], tep_get_tax_rate($product_info['products_tax_class_id'])) .') '; 
    	  } 
    	} 
    		 $lc_text .= '<td style="padding-right:14px; padding-left:0px">' . tep_draw_pull_down_menu('id[' . $products_options_name['products_options_id'] . ']', $products_options_array, $cart->contents[$HTTP_GET_VARS['products_id']]['attributes'][$products_options_name['products_options_id']]). '</td>' . "\n"; 
    
    
    
    
    		 $lc_text .= '<td   class="productListing-data">Qty: </td>' . "\n"; 
    
    
    		 $lc_text .= '<td style="padding-right:13px; padding-left:0px" class="productListing-data"><input type="text" name="cart_quantity" value="1" maxlength="6" size="4"></td>' . "\n"; 
    
    		 $lc_text .= '<td class="productListing-data"> </td>' . "\n"; 
    
    
    		 $lc_text .= '<td class="productListing-data"> <input type="hidden" name="products_id" value="' . $listing['products_id'] . '">' . tep_image_submit('button_buy_now.gif', TEXT_BUY . $listing['products_name'] . TEXT_NOW)  . "\n"; 
    
    
    
    
    	$lc_text .= '</td></tr>'; 
      } 
      $lc_text .= '</table>'; 
    } 
      $lc_text .= '</form></span>'; 
    		break; 
    // End Buy Now button mod 
    // Begin Add Multiple  with attributes Contrib
    	  case 'PRODUCT_LIST_MULTIPLE': 
    		$lc_align = 'right'; 
    		$lc_valign = 'top'; 
    		$lc_text = 'Qty: <input type="text" name="Qty_ProdId_' . $listing['products_id'] . '" value="0" maxlength="6" size="4">'; 
    		$product_info_query = tep_db_query("select 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_status = '1' and p.products_id = '" . $listing['products_id'] . "' and pd.products_id = p.products_id and pd.language_id = '" . $languages_id . "'");
    		$product_info = tep_db_fetch_array($product_info_query);
    		$products_attributes_query = tep_db_query("select count(*) as total from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_ATTRIBUTES . " patrib where patrib.products_id='" . $listing['products_id'] . "' and patrib.options_id = popt.products_options_id and popt.language_id = '" . $languages_id . "'");
    		$products_attributes = tep_db_fetch_array($products_attributes_query);
    		if ($products_attributes['total'] > 0) {
    		$lc_text .= '<table border="0" cellpadding="0" cellspacing"0">';
    		$products_options_name_query = tep_db_query("select distinct popt.products_options_id, popt.products_options_name from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_ATTRIBUTES . " patrib where patrib.products_id='" . $listing['products_id'] . "' and patrib.options_id = popt.products_options_id and popt.language_id = '" . $languages_id . "'");
    		while ($products_options_name = tep_db_fetch_array($products_options_name_query)) {
    		$selected = 0;
    		$products_options_array = array();
    		$lc_text .= '<tr><td class="main">' . $products_options_name['products_options_name'] . ':</td><td>' . "\n";
    		$products_options_query = tep_db_query("select pov.products_options_values_id, pov.products_options_values_name, pa.options_values_price, pa.price_prefix from " . TABLE_PRODUCTS_ATTRIBUTES . " pa, " . TABLE_PRODUCTS_OPTIONS_VALUES . " pov where pa.products_id = '" . $listing['products_id'] . "' and pa.options_id = '" . $products_options_name['products_options_id'] . "' and pa.options_values_id = pov.products_options_values_id and pov.language_id = '" . $languages_id . "'");
    		while ($products_options = tep_db_fetch_array($products_options_query)) {
    		$products_options_array[] = array('id' => $products_options['products_options_values_id'], 'text' => $products_options['products_options_values_name']);
    		if ($products_options['options_values_price'] != '0') {
    		$products_options_array[sizeof($products_options_array)-1]['text'] .= ' (' . $products_options['price_prefix'] . $currencies->display_price($products_options['options_values_price'], tep_get_tax_rate($product_info['products_tax_class_id'])) .') ';
    	  }
    	}
    	$lc_text .= tep_draw_pull_down_menu('id[' . $products_options_name['products_options_id'] . ']', $products_options_array, $cart->contents[$HTTP_GET_VARS['products_id']]['attributes'][$products_options_name['products_options_id']]);
    	$lc_text .= '</td></tr>';
      }
      $lc_text .= '</table>';
    }
    		break;
    // End Add Multiple mod
    	}
    
    	$list_box_contents[$cur_row][] = array('align' => $lc_align,
    										   'valign' => $lc_valign,
    										   'params' => 'class="productListing-data"',
    										   'text'  => $lc_text);
      }
    }
    
    new productListingBox($list_box_contents);
     } else {
    $list_box_contents = array();
    
    $list_box_contents[0] = array('params' => 'class="productListing-odd"');
    $list_box_contents[0][] = array('params' => 'class="productListing-data"',
    							   'text' => TEXT_NO_PRODUCTS);
    
    new productListingBox($list_box_contents);
     }
    
     if ( ($listing_split->number_of_rows > 0) && ((PREV_NEXT_BAR_LOCATION == '2') || (PREV_NEXT_BAR_LOCATION == '3')) ) {
    ?>
    <table border="0" width="100%" cellspacing="0" cellpadding="2">
     <tr>
    <td class="smallText"><?php echo $listing_split->display_count(TEXT_DISPLAY_NUMBER_OF_PRODUCTS); ?></td>
    <td class="smallText" align="right"><?php //echo TEXT_RESULT_PAGE . ' ' . $listing_split->display_links(MAX_DISPLAY_PAGE_LINKS, tep_get_all_get_params(array('page', 'info', 'x', 'y'))); ?></td>
     </tr>
    
    <?php if ($add_multiple == "1"){
    ?>
     <tr> 
    <td  align="right" colspan="<?php echo $colspan; ?>"><input type="submit" align="absmiddle" value="Add To Cart" id="submit1" name="submit1" Class="SubmitBtn"></form></td> 
     </tr> 
    <?php } ?>	   
    
    </table>
    <?php
     }
    ?>

     

    Please help!

     

    Thanks in advance,

     

    txcrew

  4. there is a known issue that might be the cause of this please make the changes in post this 695

     

    txcrew i am not sure why you are havig this problem i do also use this ipn contribution and have a slight knowledge of it customers data is stored by the ipn fec takes you up to checkout_confirmation at this stage paypal takes over if address is present at beginning of pp i don't know where is it lost

     

    Okay, Im sorry, I confirmed that it is NOT related to fec by installing a clean store with overwrite and run of PayPal_Shopping_Cart_IPN_v3.1.5 and test results showed that it still came up with the comma for the shipping results.

     

    Now I must figure out why this is happening in a new thread. Thanks anyways for your help!

     

    txcrew

  5. Txcrew,

     

    Did the customer specify a ship-to address when completing paypal payment? log-into your paypal account and check. Perhaps the customer specified 'no shipping address required.'

     

    Nana mentioned that it doesn't seem to be a FEC issue but rather a paypal issue. He is probably right.

     

    Actually I have always had that option disabled where the customer is able to choose a paypal shipping address. The PayPal IPN contrib I am using allows for this to be enabled/disabled.

     

    txcrew

  6. I'm not exactly sure what you mean but, the adress is getting passed over to paypal because when I checkout without a paypal account it already has my shipping billing address filled in the form fields.

     

    However, when the order comes back, the address is not in the paypal order details, nor stored on my paypal account. Only a comma for a shipping address.

     

    If you are referring me to checkout something code related, I would need more details as Im not very good with coding.

     

    Thanks

  7. this was a known issue for this version in the post 482 of this tread i have a new checkout_shipping.php that resolves this issue

    http://www.oscommerce.com/forums/index.php?sho...c=167064&st=480

     

    Yes, I read about this. I have already applied this code to fix my shipping modules not showing up. Here is my checkout_shipping.php:

     

    <?php
    /*
    $Id: checkout_shipping.php,v 1.16 2003/06/09 23:03:53 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');
    require('includes/classes/http_client.php');
    
    //the next 4 lines are for ccgv
    require(DIR_WS_CLASSES . 'order_total.php');
    
    $order_total_modules = new order_total;
    $order_total_modules->collect_posts();
    $order_total_modules->pre_confirmation_check(); 
    // if the customer is not logged on, redirect them to the login page
    if (!tep_session_is_registered('customer_id')) {
    $navigation->set_snapshot();
    // tep_redirect(tep_href_link('create_account3.php', '', 'SSL'));
    tep_redirect(tep_href_link(FILENAME_CREATE_ACCOUNT, '', 'SSL'));
    }
    
    // if there is nothing in the customers cart, redirect them to the shopping cart page
    if ($cart->count_contents() < 1) {
    tep_redirect(tep_href_link(FILENAME_SHOPPING_CART));
    }
    // if no shipping destination address was selected, use the customers own address as default
    if (!tep_session_is_registered('sendto')) {
    tep_session_register('sendto');
    $sendto = $customer_default_address_id;
    } else {
    // verify the selected shipping address
    $check_address_query = tep_db_query("select count(*) as total from " . TABLE_ADDRESS_BOOK . " where customers_id = '" . (int)$customer_id . "' and address_book_id = '" . (int)$sendto . "'");
    $check_address = tep_db_fetch_array($check_address_query);
    
    if ($check_address['total'] != '1') {
    $sendto = $customer_default_address_id;
    if (tep_session_is_registered('shipping')) tep_session_unregister('shipping');
    }
    }
    // if no billing destination address was selected, use the customers own address as default
    if (!tep_session_is_registered('billto')) {
    tep_session_register('billto');
    $billto = $customer_default_address_id;
    } else {
    // verify the selected billing address
    $check_address_query = tep_db_query("select count(*) as total from " . TABLE_ADDRESS_BOOK . " where customers_id = '" . (int)$customer_id . "' and address_book_id = '" . (int)$billto . "'");
    $check_address = tep_db_fetch_array($check_address_query);
    
    if ($check_address['total'] != '1') {
    $billto = $customer_default_address_id;
    if (tep_session_is_registered('payment')) tep_session_unregister('payment');
    }
    }
    
    require(DIR_WS_CLASSES . 'order.php');
    $order = new order;
    require(DIR_WS_CLASSES . 'payment.php');
    $payment_modules = new payment;
    
    
    $total_weight = $cart->show_weight();
    $total_count = $cart->count_contents();
    
    
    require(DIR_WS_CLASSES . 'shipping.php');
    $shipping_modules = new shipping;
    
    
    
    
    // register a random ID in the session to check throughout the checkout procedure
    // against alterations in the shopping cart contents
    if (!tep_session_is_registered('cartID')) tep_session_register('cartID');
    $cartID = $cart->cartID;
    
    // if the order contains only virtual products, forward the customer to the billing page as
    // a shipping address is not needed
    if ($order->content_type == 'virtual') {
    if (!tep_session_is_registered('shipping')) tep_session_register('shipping');
    $shipping = false;
    $sendto = false;
    tep_redirect(tep_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL'));
    }
    tep_session_unregister('billing');
    tep_session_unregister('payment');
    if (isset($HTTP_POST_VARS['payment'])) $payment = $HTTP_POST_VARS['payment'];
    if (!tep_session_is_registered('payment')) tep_session_register('payment');
    
    
    
    
    if($n==1){
    if ( ( is_array($payment_modules->modules) && (sizeof($payment_modules->modules) > 1) && !is_object($$payment) ) || (is_object($$payment) && ($$payment->enabled == false)) ) {
    tep_redirect(tep_href_link(FILENAME_CHECKOUT_SHIPPING, 'error_message=' . urlencode(ERROR_NO_PAYMENT_MODULE_SELECTED), 'SSL'));
    
    tep_session_unregister('payment');
    $payment_modules->update_status();
    }
    if (is_array($payment_modules->modules)) {
    $payment_modules->pre_confirmation_check();
    }
    }
    while (list($key, $value) = each($_POST))
    {
    tep_session_register($key);
    }
    if ( defined('MODULE_ORDER_TOTAL_SHIPPING_FREE_SHIPPING') && (MODULE_ORDER_TOTAL_SHIPPING_FREE_SHIPPING == 'true') ) {
    $pass = false;
    
    switch (MODULE_ORDER_TOTAL_SHIPPING_DESTINATION) {
    case 'national':
    if ($order->delivery['country_id'] == STORE_COUNTRY) {
    $pass = true;
    }
    break;
    case 'international':
    if ($order->delivery['country_id'] != STORE_COUNTRY) {
    $pass = true;
    }
    break;
    case 'both':
    $pass = true;
    break;
    }
    
    $free_shipping = false;
    if ( ($pass == true) && ($order->info['total'] >= MODULE_ORDER_TOTAL_SHIPPING_FREE_SHIPPING_OVER) ) {
    $free_shipping = true;
    
    include(DIR_WS_LANGUAGES . $language . '/modules/order_total/ot_shipping.php');
    }
    } else {
    $free_shipping = false;
    }
    
    // process the selected shipping method
    if ( isset($HTTP_POST_VARS['action']) && ($HTTP_POST_VARS['action'] == 'process') ) {
    if (!tep_session_is_registered('comments')) tep_session_register('comments');
    if (tep_not_null($HTTP_POST_VARS['comments'])) {
    $comments = tep_db_prepare_input($HTTP_POST_VARS['comments']);
    }
    
    if (!tep_session_is_registered('shipping')) tep_session_register('shipping');
    
    if ( (tep_count_shipping_modules() > 0) || ($free_shipping == true) ) {
    if ( (isset($HTTP_POST_VARS['shipping'])) && (strpos($HTTP_POST_VARS['shipping'], '_')) ) {
    $shipping = $HTTP_POST_VARS['shipping'];
    
    list($module, $method) = explode('_', $shipping);
    if ( is_object($$module) || ($shipping == 'free_free') ) {
    if ($shipping == 'free_free') {
    $quote[0]['methods'][0]['title'] = FREE_SHIPPING_TITLE;
    $quote[0]['methods'][0]['cost'] = '0';
    } else {
    $quote = $shipping_modules->quote($method, $module);
    }
    if (isset($quote['error'])) {
    tep_session_unregister('shipping');
    } else {
    if ( (isset($quote[0]['methods'][0]['title'])) && (isset($quote[0]['methods'][0]['cost'])) ) {
    $shipping = array('id' => $shipping,
    'title' => (($free_shipping == true) ? $quote[0]['methods'][0]['title'] : $quote[0]['module'] . ' (' . $quote[0]['methods'][0]['title'] . ')'),
    'cost' => $quote[0]['methods'][0]['cost']);
    
    tep_redirect(tep_href_link(FILENAME_CHECKOUT_CONFIRMATION,'', 'SSL'));
    }
    }
    } else {
    tep_session_unregister('shipping');
    }
    }
    } else {
    $shipping = false;
    
    tep_redirect(tep_href_link(FILENAME_CHECKOUT_CONFIRMATION, '', 'SSL'));
    }
    }
    
    // get all available shipping quotes
    $quotes = $shipping_modules->quote();
    
    // if no shipping method has been selected, automatically select the cheapest method.
    // if the modules status was changed when none were available, to save on implementing
    // a javascript force-selection method, also automatically select the cheapest shipping
    // method if more than one module is now enabled
    if ( !tep_session_is_registered('shipping') || ( tep_session_is_registered('shipping') && ($shipping == false) && (tep_count_shipping_modules() > 1) ) ) $shipping = $shipping_modules->cheapest();
    
    require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_CHECKOUT_PAYMENT);
    require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_CHECKOUT_SHIPPING);
    
    $breadcrumb->add(NAVBAR_TITLE_1, tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL'));
    $breadcrumb->add(NAVBAR_TITLE_2, tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL'));
    
    ?>
    <!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>
    <base href="<?php echo (($request_type == 'SSL') ? HTTPS_SERVER : HTTP_SERVER) . DIR_WS_CATALOG; ?>">
    <link rel="stylesheet" type="text/css" href="stylesheet.css">
    
    <?php echo $payment_modules->javascript_validation(); ?>
    <script language="javascript"><!--
    var selected;
    
    function selectRowEffect2(object, buttonSelect) {
    if (!selected) {
    if (document.getElementById) {
    selected = document.getElementById('defaultSelected');
    } else {
    selected = document.all['defaultSelected'];
    }
    }
    
    if (selected) selected.className = 'moduleRow';
    object.className = 'moduleRowSelected2';
    selected = object;
    
    // one button is not an array
    if (document.checkout_payment.shipping[0]) {
    document.checkout_payment.shipping[buttonSelect].checked=true;
    } else {
    document.checkout_payment.shipping.checked=true;
    }
    }
    
    function rowOverEffect(object) {
    if (object.className == 'moduleRow') object.className = 'moduleRowOver';
    }
    
    function rowOutEffect(object) {
    if (object.className == 'moduleRowOver') object.className = 'moduleRow';
    }
    //--></script>
    <script language="javascript"><!--
    var selected;
    <?php//rmh M-S_ccgv begin ?>
    var submitter = null;
    function submitFunction() {
    submitter = 1;
    }
    <?php//rmh M-S_ccgv end ?>
    function selectRowEffect(object, buttonSelect) {
    if (!selected) {
    if (document.getElementById) {
    selected = document.getElementById('defaultSelected');
    } else {
    selected = document.all['defaultSelected'];
    }
    }
    
    if (selected) selected.className = 'moduleRow';
    object.className = 'moduleRowSelected';
    selected = object;
    
    // one button is not an array
    if (document.checkout_payment.payment[0]) {
    document.checkout_payment.payment[buttonSelect].checked=true;
    } else {
    document.checkout_payment.payment.checked=true;
    }
    }
    
    function rowOverEffect(object) {
    if (object.className == 'moduleRow') object.className = 'moduleRowOver';
    }
    
    function rowOutEffect(object) {
    if (object.className == 'moduleRowOver') object.className = 'moduleRow';
    }
    //--></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 //-->
    <!-- body_text //-->
    <td width="100%" valign="top"><?php echo tep_draw_form('checkout_payment', tep_href_link(FILENAME_CHECKOUT_SHIPPING, 'n=1', 'SSL'), 'post', 'onsubmit="return check_form();"') . tep_draw_hidden_field('action', 'process'); ?><table border="0" width="100%" cellspacing="0" cellpadding="0">
    <tr>
    <td><table border="0" width="100%" cellspacing="0" cellpadding="0">
    <tr>
    <td class="pageHeading"><?php echo HEADING_TITLE;
    //echo $ZETA; ?></td>
    <td class="pageHeading" align="right"><?php echo tep_image(DIR_WS_IMAGES . 'table_background_payment.gif', HEADING_TITLE, HEADING_IMAGE_WIDTH, HEADING_IMAGE_HEIGHT); ?></td>
    </tr>
    </table></td>
    </tr>
    <tr>
    <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
    </tr>
    <?php
    if (isset($HTTP_GET_VARS['payment_error']) && is_object(${$HTTP_GET_VARS['payment_error']}) && ($error = ${$HTTP_GET_VARS['payment_error']}->get_error())) {
    ?>
    <tr>
    <td><table border="0" width="100%" cellspacing="0" cellpadding="2">
    <tr>
    <td class="main"><b><?php echo tep_output_string_protected($error['title']); ?></b></td>
    </tr>
    </table></td>
    </tr>
    <tr>
    <td>
    <table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBoxNotice">
    <tr class="infoBoxNoticeContents">
    <td>
    <table border="0" width="100%" cellspacing="0" cellpadding="2">
    <tr>
    <td><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
    <td class="main" width="100%" valign="top"><?php echo tep_output_string_protected($error['error']); ?></td>
    <td><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
    </tr>
    </table></td>
    </tr>
    </table>
    </td>
    </tr>
    </table>
    <?php
    }
    ?>
    </td>
    <td>
    <table border="0" width="100%" cellspacing="0" cellpadding="2">
    <tr>
    </tr>
    </table></td>
    </tr>
    <?php
    
    if (!tep_session_is_registered('registered_now')) {
    
    ?>
    <tr>
    <td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox">
    <tr class="infoBoxContents">
    <td>
    <table border="0" width="50%" cellspacing="0" cellpadding="2">
    <tr>
    
    <td align="left" valign="top">
    <table border="0" cellspacing="0" cellpadding="2">
    <tr>
    <td class="main"><b><?php echo TABLE_HEADING_SHIPPING_ADDRESS; ?></b></td>
    </tr>
    <tr>
    <td class="main" valign="top"><?php echo tep_address_label($customer_id, $sendto, true, ' ', '<br>'); ?></td>
    </tr><tr>
    <td class="main" valign="top"><?php echo '<a href="' . tep_href_link(FILENAME_CHECKOUT_SHIPPING_ADDRESS, '', 'SSL') . '">' . tep_image_button('button_change_address.gif', IMAGE_BUTTON_CHANGE_ADDRESS) . '</a>'; ?></td>
    </tr>
    </table>
    </td> </tr>
    </table>
    </td>
    <td>
    <table border="0" width="50%" cellspacing="0" cellpadding="2">
    <tr>
    <td align="right" valign="top">
    <table border="0" cellspacing="0" cellpadding="2">
    <tr>
    <td class="main"><b><?php echo TABLE_HEADING_BILLING_ADDRESS; ?></b></td>
    </tr>
    <tr>
    <td class="main" valign="top"><?php echo tep_address_label($customer_id, $billto, true, ' ', '<br>'); ?></td></tr>
    <tr>
    <td class="main" valign="top"><?php echo '<a href="' . tep_href_link(FILENAME_CHECKOUT_PAYMENT_ADDRESS, '', 'SSL') . '">' . tep_image_button('button_change_address.gif', IMAGE_BUTTON_CHANGE_ADDRESS) . '</a>'; ?></td>
    </tr>
    
    </table></td>
    </tr>
    </table></td>
    </tr>
    </table></td>
    </tr>
    <?php
    
    }
    
    ?>
    <td><table border="0" width="100%" cellspacing="0" cellpadding="2">
    <tr>
    <td class="main"><b><?php echo TABLE_HEADING_PAYMENT_METHOD; ?></b></td>
    </tr>
    </table></td>
    </tr>
    <tr>
    <td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox">
    <tr class="infoBoxContents">
    <td><table border="0" width="100%" cellspacing="0" cellpadding="2">
    <?php
    $selection = $payment_modules->selection();
    
    if (sizeof($selection) > 1) {
    ?>
    <tr>
    <td><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
    <td class="main" width="50%" valign="top"><?php echo TEXT_SELECT_PAYMENT_METHOD; ?></td>
    <td class="main" width="50%" valign="top" align="right"><b><?php echo TITLE_PLEASE_SELECT; ?></b><br><?php echo tep_image(DIR_WS_IMAGES . 'arrow_east_south.gif'); ?></td>
    <td><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
    </tr>
    <?php
    } else {
    ?>
    <tr>
    <td><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
    <td class="main" width="100%" colspan="2"><?php echo TEXT_ENTER_PAYMENT_INFORMATION; ?></td>
    <td><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
    </tr>
    <?php
    }
    
    $radio_buttons = 0;
    for ($i=0, $n=sizeof($selection); $i<$n; $i++) {
    ?>
    <tr>
    <td><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
    <td colspan="2"><table border="0" width="100%" cellspacing="0" cellpadding="2">
    <?php
    if ( ($selection[$i]['id'] == $payment) || ($n == 1) ) {
    echo ' <tr id="defaultSelected" class="moduleRowSelected" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="selectRowEffect(this, ' . $radio_buttons . ')">' . "\n";
    } else {
    echo ' <tr class="moduleRow" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="selectRowEffect(this, ' . $radio_buttons . ')">' . "\n";
    }
    ?>
    <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
    <td class="main" colspan="3"><b><?php echo $selection[$i]['module']; ?></b></td>
    <td class="main" align="right">
    <?php
    if (sizeof($selection) > 1) {
    echo tep_draw_radio_field('payment', $selection[$i]['id']);
    } else {
    echo tep_draw_hidden_field('payment', $selection[$i]['id']);
    }
    ?>
    </td>
    <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
    </tr>
    <?php
    if (isset($selection[$i]['error'])) {
    ?>
    <tr>
    <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
    <td class="main" colspan="4"><?php echo $selection[$i]['error']; ?></td>
    <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
    </tr>
    <?php
    } elseif (isset($selection[$i]['fields']) && is_array($selection[$i]['fields'])) {
    ?>
    <tr>
    <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
    <td colspan="4"><table border="0" cellspacing="0" cellpadding="2">
    <?php
    for ($j=0, $n2=sizeof($selection[$i]['fields']); $j<$n2; $j++) {
    ?>
    <tr>
    <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
    <td class="main"><?php echo $selection[$i]['fields'][$j]['title']; ?></td>
    <td><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
    <td class="main"><?php echo $selection[$i]['fields'][$j]['field']; ?></td>
    <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
    </tr>
    <?php
    }
    ?>
    </table></td>
    <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
    </tr>
    <?php
    }
    ?>
    </table></td>
    <td><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
    </tr>
    <?php
    $radio_buttons++;
    }
    ?>
    </table></td>
    </tr>
    </table></td>
    </tr>
    
    <tr>
    <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
    </tr>
    <?php
    if (tep_count_shipping_modules() > 0) {
    ?>
    <tr>
    <td><table border="0" width="100%" cellspacing="0" cellpadding="2">
    <tr>
    <td class="main"><b><?php echo TABLE_HEADING_SHIPPING_METHOD; ?></b></td>
    </tr>
    </table></td>
    </tr>
    <tr>
    <td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox">
    <tr class="infoBoxContents">
    <td><table border="0" width="100%" cellspacing="0" cellpadding="2">
    <?php
    if (sizeof($quotes) > 1 && sizeof($quotes[0]) > 1) {
    ?>
    <tr>
    <td><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
    <td class="main" width="50%" valign="top"><?php echo TEXT_CHOOSE_SHIPPING_METHOD; ?></td>
    <td class="main" width="50%" valign="top" align="right"><?php echo '<b>' . TITLE_PLEASE_SELECT . '</b><br>' . tep_image(DIR_WS_IMAGES . 'arrow_east_south.gif'); ?></td>
    <td><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
    </tr>
    <?php
    } elseif ($free_shipping == false) {
    ?>
    <tr>
    <td><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
    <td class="main" width="100%" colspan="2"><?php echo TEXT_ENTER_SHIPPING_INFORMATION; ?></td>
    <td><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
    </tr>
    <?php
    }
    
    if ($free_shipping == true) {
    ?>
    <tr>
    <td><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
    <td colspan="2" width="100%"><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 class="main" colspan="3"><b><?php echo FREE_SHIPPING_TITLE; ?></b> <?php echo $quotes[$i]['icon']; ?></td>
    <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
    </tr>
    <tr id="defaultSelected" class="moduleRowSelected" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="selectRowEffect(this, 0)">
    <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
    <td class="main" width="100%"><?php echo sprintf(FREE_SHIPPING_DESCRIPTION, $currencies->format(MODULE_ORDER_TOTAL_SHIPPING_FREE_SHIPPING_OVER)) . tep_draw_hidden_field('shipping', 'free_free'); ?></td>
    <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
    </tr>
    </table></td>
    <td><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
    </tr>
    <?php
    } else {
    $radio_buttons = 0;
    for ($i=0, $n=sizeof($quotes); $i<$n; $i++) {
    ?>
    <tr>
    <td><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
    <td colspan="2"><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 class="main" colspan="3"><b><?php echo $quotes[$i]['module']; ?></b> <?php if (isset($quotes[$i]['icon']) && tep_not_null($quotes[$i]['icon'])) { echo $quotes[$i]['icon']; } ?></td>
    <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
    </tr>
    <?php
    if (isset($quotes[$i]['error'])) {
    ?>
    <tr>
    <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
    <td class="main" colspan="3"><?php echo $quotes[$i]['error']; ?></td>
    <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
    </tr>
    <?php
    } else {
    for ($j=0, $n2=sizeof($quotes[$i]['methods']); $j<$n2; $j++) {
    // set the radio button to be checked if it is the method chosen
    $checked = (($quotes[$i]['id'] . '_' . $quotes[$i]['methods'][$j]['id'] == $shipping['id']) ? true : false);
    
    if ( ($checked == true) || ($n == 1 && $n2 == 1) ) {
    echo ' <tr id="defaultSelected" class="moduleRowSelected" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="selectRowEffect2(this, ' . $radio_buttons . ')">' . "\n";
    } else {
    echo ' <tr class="moduleRow" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="selectRowEffect2(this, ' . $radio_buttons . ')">' . "\n";
    }
    ?>
    <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
    <td class="main" width="75%"><?php echo $quotes[$i]['methods'][$j]['title']; ?></td>
    <?php
    if ( ($n > 1) || ($n2 > 1) ) {
    ?>
    <td class="main"><?php echo $currencies->format(tep_add_tax($quotes[$i]['methods'][$j]['cost'], (isset($quotes[$i]['tax']) ? $quotes[$i]['tax'] : 0))); ?></td>
    <td class="main" align="right"><?php echo tep_draw_radio_field('shipping', $quotes[$i]['id'] . '_' . $quotes[$i]['methods'][$j]['id'], $checked); ?></td>
    <?php
    } else {
    ?>
    <td class="main" align="right" colspan="2"><?php echo $currencies->format(tep_add_tax($quotes[$i]['methods'][$j]['cost'], $quotes[$i]['tax'])) . tep_draw_hidden_field('shipping', $quotes[$i]['id'] . '_' . $quotes[$i]['methods'][$j]['id']); ?></td>
    <?php
    }
    ?>
    <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
    </tr>
    <?php
    $radio_buttons++;
    }
    }
    ?>
    </table></td>
    <td><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
    </tr>
    <?php
    }
    }
    ?>
    </table></td>
    </tr>
    </table></td>
    </tr>
    <tr>
    <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
    </tr>
    <?php
    }
    ?>
    <?php
    echo $order_total_modules->credit_selection();//rmh M-S_ccgv
    ?>
    <tr>
    <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
    </tr><tr>
    <td><table border="0" width="100%" cellspacing="0" cellpadding="2">
    <tr>
    <td class="main"><b><?php echo TABLE_HEADING_COMMENTS; ?></b></td>
    </tr>
    </table></td>
    </tr>
    <tr>
    <td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox">
    <tr class="infoBoxContents">
    <td><table border="0" width="100%" cellspacing="0" cellpadding="2">
    <tr>
    <td><?php echo tep_draw_textarea_field('comments', 'soft', '60', '5'); ?></td>
    </tr>
    </table></td>
    </tr>
    </table></td>
    </tr>
    <tr>
    <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
    </tr>
    <tr>
    <td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox">
    <tr class="infoBoxContents">
    <td><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 class="main"><b><?php echo TITLE_CONTINUE_CHECKOUT_PROCEDURE . '</b><br>' . TEXT_CONTINUE_CHECKOUT_PROCEDURE; ?></td>
    <td class="main" align="right"><?php echo tep_image_submit('button_continue.gif', IMAGE_BUTTON_CONTINUE); ?></td>
    <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
    </tr>
    </table></td>
    </tr>
    </table></td>
    </tr>
    <tr>
    <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
    </tr>
    <tr>
    <td><table border="0" width="100%" cellspacing="0" cellpadding="0">
    <tr>
    <td width="25%"><table border="0" width="100%" cellspacing="0" cellpadding="0">
    <tr>
    <td width="50%" align="right"><?php echo tep_draw_separator('pixel_silver.gif', '1', '5'); ?></td>
    <td width="50%"><?php echo tep_draw_separator('pixel_silver.gif', '100%', '1'); ?></td>
    </tr>
    </table></td>
    <td width="25%"><table border="0" width="100%" cellspacing="0" cellpadding="0">
    <tr>
    <td width="50%"><?php echo tep_draw_separator('pixel_silver.gif', '100%', '1'); ?></td>
    <td><?php echo tep_image(DIR_WS_IMAGES . 'checkout_bullet.gif'); ?></td>
    <td width="50%"><?php echo tep_draw_separator('pixel_silver.gif', '100%', '1'); ?></td>
    </tr>
    </table></td>
    <td width="25%"><?php echo tep_draw_separator('pixel_silver.gif', '100%', '1'); ?></td>
    <td width="25%"><table border="0" width="100%" cellspacing="0" cellpadding="0">
    <tr>
    <td width="50%"><?php echo tep_draw_separator('pixel_silver.gif', '100%', '1'); ?></td>
    <td width="50%"><?php echo tep_draw_separator('pixel_silver.gif', '1', '5'); ?></td>
    </tr>
    </table></td>
    </tr>
    <tr>
    <td align="center" width="25%" class="checkoutBarFrom"><?php echo '<a href="' . tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL') . '" class="checkoutBarFrom">' . CHECKOUT_BAR_DELIVERY . '</a>'; ?></td>
    <td align="center" width="25%" class="checkoutBarCurrent"><?php echo CHECKOUT_BAR_PAYMENT; ?></td>
    <td align="center" width="25%" class="checkoutBarTo"><?php echo CHECKOUT_BAR_CONFIRMATION; ?></td>
    <td align="center" width="25%" class="checkoutBarTo"><?php echo CHECKOUT_BAR_FINISHED; ?></td>
    </tr>
    </table></td>
    </tr>
    </table></form></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>
    </body>
    </html>
    <?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?>

  8. Hello All,

     

    I am running an OSC shop ms2.2. The following question concerns:

     

    PayPal_Shopping_Cart_IPN

    http://www.oscommerce.com/community/contributions,1753/

     

    and

     

    fast easy checkout (v2.0)

    http://www.oscommerce.com/community/contributions,3469/

     

     

    My qestion:

     

    In my PayPal order details I see nothing for Shipping Address except for a comma? Before the installation of fast easy checkout (v2.0). I was getting all the shipping address passed through without a problem. What gives? Where should I even look to correct this problem?

     

    For easier understanding of my issue, here is a graphic description of my problem:

     

     

    view here at this url: http://heckys.com/osc.htm

     

     

     

    Please help!!

     

    Thanks in advance,

     

    txcrew

  9. Hello All,

     

    I am running an OSC shop ms2.2. The following question concerns:

     

    PayPal_Shopping_Cart_IPN

    http://www.oscommerce.com/community/contributions,1753/

     

    and

     

    fast easy checkout (v2.0)

    http://www.oscommerce.com/community/contributions,3469/

     

     

    My qestion:

     

    In my PayPal order details I see nothing for Shipping Address except for a comma? Before the installation of fast easy checkout (v2.0). I was getting all the shipping address passed through without a problem. What gives? Where should I even look to correct this problem?

     

    For easier understanding of my issue, here is a graphic description of my problem:

     

     

    view here at this url: http://heckys.com/osc.htm

     

     

     

    Please help!!

     

    Thanks in advance,

     

    txcrew

  10. I figured out a fix, perhaps not the best one, but it does the job.

     

    If anyone else is looking to do the same thing, all I did was create two instances of the Local Delivery contrib. One was called dlylocal.php and the other was dlycity.php. Then I just specified the zips in each to allow one or the other with each having their own rate.

     

    Thanks.

     

    txcrew

  11. Hello all,

     

    I am looking to setup the Local Deliver contribution on a clean OSC install.

     

    http://www.oscommerce.com/community/contributions,1993

     

    I've got it working up to the point of what it says it can do, but I need to take it a step further, and I don't think it will take too much coding. I just need someone to point me in the right direction.

     

    I have it setup so that only people in certain zips will even see delivery as an option. I have a fee set of $5. This works as advertised. However, here is where the extra step is needed. I need to set two zip codes to have the fee of $3 where all the rest of available zip codes have the fee of $5.

     

    Im pretty sure this is possible with some fairly light hacks. Does anyone know how I can go about doing this?

     

    Please let me know when you get a chance.

     

    Thanks in advance!

     

    txcrew

  12. I still cannot get this to work here is my code:

     

    <meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>">
    <title><?php echo TITLE; ?></title>
    <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 CVVPopUpWindow(url) {
    window.open(url,'popupWindow','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,res
    izable=no,copyhistory=no,width=600,height=233,screenX=150,screenY=150,top=150,lef
    t=150')
    }
    var selected;
    
    function selectRowEffect(object, buttonSelect) {
     if (!selected) {
    if (document.getElementById) {
      selected = document.getElementById('defaultSelected');
    } else {
      selected = document.all['defaultSelected'];
    }
     }
    
     if (selected) selected.className = 'moduleRow';
     object.className = 'moduleRowSelected';
     selected = object;
    
    // one button is not an array
     if (document.checkout_payment.payment[0]) {
    document.checkout_payment.payment[buttonSelect].checked=true;
     } else {
    document.checkout_payment.payment.checked=true;
     }
    }
    
    function rowOverEffect(object) {
     if (object.className == 'moduleRow') object.className = 'moduleRowOver';
    }
    
    function rowOutEffect(object) {
     if (object.className == 'moduleRowOver') object.className = 'moduleRow';
    }
    //--></script>

  13. Here is another error I get

     	 Rating and Service 1.0001 0 An unknown error occured while attempting to contact the UPS gateway : Rating and Service 1.0001 0 An unknown error occured while attempting to contact the UPS gateway

  14. I'm having problems with the ups xml shipping mod. Almost everytime I access it during the checkout process it gives an error message similar to this one:

     

    111210: The requested service is unavailable between the selected locations.

    However, I know this is not true. In fact, if I reload it will bring the shipping rates up normally. Is there some way I can fix this without having to write PLEASE RELOAD PAGE within the error message text?

     

    Please let me know and thanks in advance.

     

    txcrew

  15. So should my shipping.php look like this?

     

    <?php
    /*
     $Id: shipping.php,v 1.23 2003/06/29 11:22:05 hpdl Exp $
    
     osCommerce, Open Source E-Commerce Solutions
     http://www.oscommerce.com
    
     Copyright (c) 2003 osCommerce
    
     Released under the GNU General Public License
    */
    
     class shipping {
    var $modules;
    
    // class constructor
    function shipping($module = '') {
      global $language, $PHP_SELF;
    
      if (defined('MODULE_SHIPPING_INSTALLED') && tep_not_null(MODULE_SHIPPING_INSTALLED)) {
    	$this->modules = explode(';', MODULE_SHIPPING_INSTALLED);
    	 $pick_up_in_store = false;
    $product_to_pick_up_in_store_array = array('33', '44', '55', '66');
    if (is_array($cart->contents)) {
    reset($cart->contents);
    while (list($products_id, ) = each($cart->contents)) {
    if (in_array($products_id, $product_to_pick_up_in_store_array)) {
    $pick_up_in_store = true;
    }
    }
    }
    
    	$include_modules = array();
    
    	if ( (tep_not_null($module)) && (in_array(substr($module['id'], 0, strpos($module['id'], '_')) . '.' . substr($PHP_SELF, (strrpos($PHP_SELF, '.')+1)), $this->modules)) ) {
    	  $include_modules[] = array('class' => substr($module['id'], 0, strpos($module['id'], '_')), 'file' => substr($module['id'], 0, strpos($module['id'], '_')) . '.' . substr($PHP_SELF, (strrpos($PHP_SELF, '.')+1)));
    	} else {
    	  reset($this->modules);
    	  while (list(, $value) = each($this->modules)) {
    		$class = substr($value, 0, strrpos($value, '.'));
    		$include_modules[] = array('class' => $class, 'file' => $value);
    	  }
    	}
    
    	for ($i=0, $n=sizeof($include_modules); $i<$n; $i++) {
    	  include(DIR_WS_LANGUAGES . $language . '/modules/shipping/' . $include_modules[$i]['file']);
    	  include(DIR_WS_MODULES . 'shipping/' . $include_modules[$i]['file']);
    
    	  $GLOBALS[$include_modules[$i]['class']] = new $include_modules[$i]['class'];
    	}
      }
    }
    
    function quote($method = '', $module = '') {
      global $total_weight, $shipping_weight, $shipping_quoted, $shipping_num_boxes;
    
      $quotes_array = array();
    
      if (is_array($this->modules)) {
    	$shipping_quoted = '';
    	$shipping_num_boxes = 1;
    	$shipping_weight = $total_weight;
    
    	if (SHIPPING_BOX_WEIGHT >= $shipping_weight*SHIPPING_BOX_PADDING/100) {
    	  $shipping_weight = $shipping_weight+SHIPPING_BOX_WEIGHT;
    	} else {
    	  $shipping_weight = $shipping_weight + ($shipping_weight*SHIPPING_BOX_PADDING/100);
    	}
    
    	if ($shipping_weight > SHIPPING_MAX_WEIGHT) { // Split into many boxes
    	  $shipping_num_boxes = ceil($shipping_weight/SHIPPING_MAX_WEIGHT);
    	  $shipping_weight = $shipping_weight/$shipping_num_boxes;
    	}
    
    	$include_quotes = array();
    
    	reset($this->modules);
    	while (list(, $value) = each($this->modules)) {
    	  $class = substr($value, 0, strrpos($value, '.'));
    	  if (tep_not_null($module)) {
    		if ( ($module == $class) && ($GLOBALS[$class]->enabled) ) {
    		  $include_quotes[] = $class;
    		}
    	  } elseif ($GLOBALS[$class]->enabled) {
    		$include_quotes[] = $class;
    	  }
    	}
    
    	$size = sizeof($include_quotes);
    	for ($i=0; $i<$size; $i++) {
    	  $quotes = $GLOBALS[$include_quotes[$i]]->quote($method);
    	  if (is_array($quotes)) $quotes_array[] = $quotes;
    	}
      }
    
      return $quotes_array;
    }
    
    function cheapest() {
      if (is_array($this->modules)) {
    	$rates = array();
    
    	reset($this->modules);
    	while (list(, $value) = each($this->modules)) {
    	  $class = substr($value, 0, strrpos($value, '.'));
    	  if ($GLOBALS[$class]->enabled) {
    		$quotes = $GLOBALS[$class]->quotes;
    		for ($i=0, $n=sizeof($quotes['methods']); $i<$n; $i++) {
    		  if (isset($quotes['methods'][$i]['cost']) && tep_not_null($quotes['methods'][$i]['cost'])) {
    			$rates[] = array('id' => $quotes['id'] . '_' . $quotes['methods'][$i]['id'],
    							 'title' => $quotes['module'] . ' (' . $quotes['methods'][$i]['title'] . ')',
    							 'cost' => $quotes['methods'][$i]['cost']);
    		  }
    		}
    	  }
    	}
    
    	$cheapest = false;
    	for ($i=0, $n=sizeof($rates); $i<$n; $i++) {
    	  if (is_array($cheapest)) {
    		if ($rates[$i]['cost'] < $cheapest['cost']) {
    		  $cheapest = $rates[$i];
    		}
    	  } else {
    		$cheapest = $rates[$i];
    	  }
    	}
    
    	return $cheapest;
      }
    }
     }
    ?>

  16. Ok, here is a new one. I just decided to continue this thread instead of starting a new one because it is still relevant.

     

    I now have two products that are not able to be shipped, but are only available for in store pickup. I just installed the 'Store Pickup Shipping Module' contribution, found here: http://www.oscommerce.com/community/contri...ch,store+pickup

     

    With that being said, how do I enable the Store Pickup Shipping mod, and only this mod, for just these two products and none other.

     

    Please let me know when you get a chance.

     

    Thanks much!

     

    txcrew

×
×
  • Create New...