Jump to content

bobsi18

Members
  • Content count

    436
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by bobsi18

  1. bobsi18

    Purchase Without Account

    Just to add my 2 cents... We get a fair few people that use PWA, probably about 1 in 5 or 6. Personally, when shopping online, if it's at a place that I don't plan on shopping at again (a once-off purchase), I don't tend to sign up, because I don't want to have to remember a new password. But I like the sound of what you're talking about, with the streamlined checkout...
  2. Thanks for what looks like a great contrib... Just one question, how do I test it? I tried following the instructions on the first page (added the section to application top, excluded product_info etc), but as I use a contribution that re-writes the url to a .html url, I don't think I'm getting the results I should be. Any suggestions on what I can do to check it's working? I'll continued to test, to see if any of my other files aren't working... Thanks :)
  3. *bump* - also interested in this :)
  4. As per the title, I'm looking for a contribution that would allow me to send the customer a copy of the invoice as an excel attachment. Does such a thing exist? If not, does anyone know of any existing contributions that would be suitable to modify (I don't have the skills to write something from scratch, but am ok at modifying contributions). TIA
  5. bobsi18

    Who's Online Enhancement 1.4

    Hey all, Wondering if I can get some help? I've been using v1.9 for quite a while, love it :) Have just decided to upgrade to v3.5 - having issues. I've copied over all the files, and changed the db. It's coming up with an "internal error or misconfiguration". I tired going down to v3.2, and that worked (had to delete the function tep_get_ip_address() from general.php), but when trying to go back up to v3.5 I get the error. Could it be an issue with register_globals (can't remember if they're set or not on my server, how to check?) Cheers :)
  6. So... I have hacked and modified my site a heap now. But I've never had to write anything from scratch - I've used some of the many wonderful contributions from the community. And now I'm after a suggestion of a contribution, or just some help with code... My situation: I'm trying to create a printable receipt for the admin side, that lists the CC number (with the XX's in the middle), the expiry date, and the amount charged. The expiry date and CC number are simple enough, they are stored in the database. The amount charged is a bit more complex: I don't want it to simply be the order total - too often the postage etc is different to what oscommerce chooses, so I want my staff to be able to enter a number, just before printing the receipt. Ultimately I am trying to add a field to the bottom of orders.php that is autopopulated with the order total, but can easily over-ridden and saved to the database. I've created the extra field in the orders table, but that's about as far as I've gotten. So - can anyone point me in the right direction. I really don't know the code enough to do the writing, only to hack something I've already got, and I can't find any contributions/already existing code that does something similar. Thanks for any suggestions :)
  7. Ok... so I have managed to hack the edit_orders contrib... But have one more problem. When an order is completed, and the information is written to the database - when is the order total (ot_total) written to the table. When it is being written to the table, I want it to also be written to my new field in the ORDERS table, 'amount_charged'. So... can anyone point out when exactly (what file?) does this information get written to the database? Thanks for any pointers :)
  8. bobsi18

    Customer Shops Online, Picks Up In Store

    http://addons.oscommerce.com/info/3354 :)
  9. *bump bump bump* also trying to do this - any great insight? am searching the forum first before trying to delve into the code - any ideas???
  10. Please please help me... I've been working on this one for 3 days straight, starting to see things... I've created an extra manufactureer ('manufacturers2'), by copying all code related to manufacturers (and setting up the required tables etc). And have been relatively successful. The last place that I'm trying to integrate the 2nd manufacturer is on the index.php page - i want a) to have a second drop down list for manufacturers2 (just like the one already there for the original manufacturer) b ) both manufacturers pages to be filtered by category AND manufacturer/manufacturers2 (whatever isn't currently selected) (osCommerce currently filters by category only) c) to be able to filter any particular category by manufacturer AND manufacturer2 (currently oscommerce allows filtering by the on manufacturer)... All this stuff is done on the index.php page. What I have working: a) I have the second drop down list, this works well b ) I have the drop down list for the category/manufacturers filter on the manufacturers page displaying - although only the categories data is filled in, the manufacturers data is not there c) I have the drop down lists showing up on the categories pages. They are filled with the right names. The do not, however, do the filter correctly. PLEASE PLEASE PLEASE help me :) I have been trying for so long (and don't worry, I'll keep trying :)) - I would love some help, particularily if someone's already done something like this. Thankyou soooooo much ~bobsi18~ CODE FROM INDEX.PHP (from about line 162, note that it isn't a vanilla install, there are other contributions in there too :)) SQL <?php } elseif ($category_depth == 'products' || isset($HTTP_GET_VARS['manufacturers_id'])) { // create column list $define_list = array('PRODUCT_LIST_MODEL' => PRODUCT_LIST_MODEL, 'PRODUCT_LIST_NAME' => PRODUCT_LIST_NAME, 'PRODUCT_LIST_MANUFACTURER' => PRODUCT_LIST_MANUFACTURER, 'PRODUCT_LIST_MANUFACTURERS2' => PRODUCT_LIST_MANUFACTURERS2, 'PRODUCT_LIST_PRICE' => PRODUCT_LIST_PRICE, 'PRODUCT_LIST_QUANTITY' => PRODUCT_LIST_QUANTITY, 'PRODUCT_LIST_WEIGHT' => PRODUCT_LIST_WEIGHT, 'PRODUCT_LIST_IMAGE' => PRODUCT_LIST_IMAGE, //bof column product listing with attributes 'PRODUCT_LIST_MULTIPLE' => PRODUCT_LIST_MULTIPLE, 'PRODUCT_LIST_BUY_NOW_MULTIPLE' => PRODUCT_LIST_BUY_NOW_MULTIPLE, //eof column product listing with attributes 'PRODUCT_LIST_BUY_NOW' => PRODUCT_LIST_BUY_NOW); asort($define_list); $column_list = array(); reset($define_list); while (list($key, $value) = each($define_list)) { if ($value > 0) $column_list[] = $key; } // BOF Separate Pricing Per Customer if(!tep_session_is_registered('sppc_customer_group_id')) { $customer_group_id = '0'; } else { $customer_group_id = $sppc_customer_group_id; } // this will build the table with specials prices for the retail group or update it if needed // this function should have been added to includes/functions/database.php if ($customer_group_id == '0') { tep_db_check_age_specials_retail_table(); } $status_product_prices_table = false; $status_need_to_get_prices = false; // find out if sorting by price has been requested if ( (isset($HTTP_GET_VARS['sort'])) && (ereg('[1-8][ad]', $HTTP_GET_VARS['sort'])) && (substr($HTTP_GET_VARS['sort'], 0, 1) <= sizeof($column_list)) && $customer_group_id != '0' ){ $_sort_col = substr($HTTP_GET_VARS['sort'], 0 , 1); if ($column_list[$_sort_col-1] == 'PRODUCT_LIST_PRICE') { $status_need_to_get_prices = true; } } if ($status_need_to_get_prices == true && $customer_group_id != '0') { $product_prices_table = TABLE_PRODUCTS_GROUP_PRICES.$customer_group_id; // the table with product prices for a particular customer group is re-built only a number of times per hour // (setting in /includes/database_tables.php called MAXIMUM_DELAY_UPDATE_PG_PRICES_TABLE, in minutes) // to trigger the update the next function is called (new function that should have been // added to includes/functions/database.php) tep_db_check_age_products_group_prices_cg_table($customer_group_id); $status_product_prices_table = true; } // end if ($status_need_to_get_prices == true && $customer_group_id != '0') // EOF Separate Pricing Per Customer $select_column_list = ''; for ($i=0, $n=sizeof($column_list); $i<$n; $i++) { if ( ($column_list[$col] == 'PRODUCT_LIST_BUY_NOW') || ($column_list[$col] == 'PRODUCT_LIST_PRICE') ) { continue; } switch ($column_list[$i]) { case 'PRODUCT_LIST_MODEL': $select_column_list .= 'p.products_model, '; break; case 'PRODUCT_LIST_NAME': $select_column_list .= 'pd.products_name, '; break; case 'PRODUCT_LIST_MANUFACTURER': $select_column_list .= 'm.manufacturers_name, '; break; case 'PRODUCT_LIST_MANUFACTURERS2': $select_column_list .= 'm2.manufacturers2_name, '; break; case 'PRODUCT_LIST_QUANTITY': $select_column_list .= 'p.products_quantity, '; break; case 'PRODUCT_LIST_IMAGE': $select_column_list .= 'p.products_image, '; break; case 'PRODUCT_LIST_WEIGHT': $select_column_list .= 'p.products_weight, '; break; } } // show the products of a specified manufacturer if (isset($HTTP_GET_VARS['manufacturers_id'])) { if (isset($HTTP_GET_VARS['filter_id']) && tep_not_null($HTTP_GET_VARS['filter_id'])) { // We are asked to show only a specific category // BOF Separate Pricing Per Customer if ($status_product_prices_table == true) { // DONE ################## Added Enable Disable Categorie ################# //$listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, tmp_pp.products_price, p.products_tax_class_id, IF(tmp_pp.status, tmp_pp.specials_new_products_price, NULL) as specials_new_products_price, IF(tmp_pp.status, tmp_pp.specials_new_products_price, tmp_pp.products_price) as final_price from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd left join " . $product_prices_table . " as tmp_pp using(products_id), " . TABLE_MANUFACTURERS . " m, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c where p.products_status = '1' and p.manufacturers_id = m.manufacturers_id and m.manufacturers_id = '" . (int)$HTTP_GET_VARS['manufacturers_id] . "' and p.products_id = p2c.products_id and pd.products_id = p2c.products_id and pd.language_id = '" . (int)$languages_id . "' and p2c.categories_id = '" . (int)$HTTP_GET_VARS['filter_id] . "'"; $listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, p.manufacturers2_id, tmp_pp.products_price, p.products_tax_class_id, IF(tmp_pp.status, tmp_pp.specials_new_products_price, NULL) as specials_new_products_price, IF(tmp_pp.status, tmp_pp.specials_new_products_price, tmp_pp.products_price) as final_price from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd left join " . $product_prices_table . " as tmp_pp using(products_id), " . TABLE_MANUFACTURERS . " m, " . TABLE_MANUFACTURERS2 . " m2, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id left join " . TABLE_CATEGORIES . " c on p2c.categories_id = c.categories_id where c.categories_status = '1' and p.products_status = '1' and p.manufacturers_id = m.manufacturers_id and m.manufacturers_id = '" . (int)$HTTP_GET_VARS['manufacturers_id] . "' and p.manufacturers2_id = m2.manufacturers2_id and m2.manufacturers2_id = '" . (int)$HTTP_GET_VARS['manufacturers2_id] . "' and p.products_id = p2c.products_id and pd.products_id = p2c.products_id and pd.language_id = '" . (int)$languages_id . "' and p2c.categories_id = '" . (int)$HTTP_GET_VARS['filter_id] . "'"; } else { // either retail or no need to get correct special prices $listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, p.manufacturers2_id, p.products_price, p.products_tax_class_id, IF(s.status, s.specials_new_products_price, NULL) as specials_new_products_price, IF(s.status, s.specials_new_products_price, p.products_price) as final_price from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_MANUFACTURERS . " m, " . TABLE_MANUFACTURERS2 . " m2, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c left join " . TABLE_SPECIALS_RETAIL_PRICES . " s on p.products_id = s.products_id where p.products_status = '1' and p.manufacturers_id = m.manufacturers_id and m.manufacturers_id = '" . (int)$HTTP_GET_VARS['manufacturers_id] . "' and p.manufacturers2_id = m2.manufacturers2_id and m2.manufacturers2_id = '" . (int)$HTTP_GET_VARS['manufacturers2_id] . "' and p.products_id = p2c.products_id and pd.products_id = p2c.products_id and pd.language_id = '" . (int)$languages_id . "' and p2c.categories_id = '" . (int)$HTTP_GET_VARS['filter_id] . "'"; } // end else { // either retail... // EOF Separate Pricing Per Customer } else { // We show them all // BOF Separate Pricing Per Customer if ($status_product_prices_table == true) { // DONE ################## Added Enable Disable Categorie ################# // $listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, tmp_pp.products_price, p.products_tax_class_id, IF(tmp_pp.status, tmp_pp.specials_new_products_price, NULL) as specials_new_products_price, IF(tmp_pp.status, tmp_pp.specials_new_products_price, tmp_pp.products_price) as final_price from " . TABLE_PRODUCTS . " p left join " . $product_prices_table . " as tmp_pp using(products_id), " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_MANUFACTURERS . " m where p.products_status = '1' and pd.products_id = p.products_id and pd.language_id = '" . (int)$languages_id . "' and p.manufacturers_id = m.manufacturers_id and m.manufacturers_id = '" . (int)$HTTP_GET_VARS['manufacturers_id] . "'"; $listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, p.manufacturers2_id, tmp_pp.products_price, p.products_price1, p.products_price2, p.products_price3, p.products_price4, p.products_price5, p.products_price6, p.products_price7, p.products_price8, p.products_price1_qty, p.products_price2_qty, p.products_price3_qty, p.products_price4_qty, p.products_price5_qty, p.products_price6_qty, p.products_price7_qty, p.products_price8_qty, p.products_qty_blocks, p.products_tax_class_id, IF(tmp_pp.status, tmp_pp.specials_new_products_price, NULL) as specials_new_products_price, IF(tmp_pp.status, tmp_pp.specials_new_products_price, tmp_pp.products_price) as final_price from " . TABLE_PRODUCTS . " p left join " . $product_prices_table . " as tmp_pp using(products_id), " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_MANUFACTURERS . " m, " . TABLE_MANUFACTURERS2 . " m2 where p.products_status = '1' and pd.products_id = p.products_id left join " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c on p.products_id = p2c.products_id left join " . TABLE_CATEGORIES . " c on p2c.categories_id = c.categories_id where c.categories_status = '1' and p.products_status = '1' and pd.products_id = p.products_id and pd.language_id = '" . (int)$languages_id . "' and p.manufacturers_id = m.manufacturers_id and m.manufacturers_id = '" . (int)$HTTP_GET_VARS['manufacturers_id] . "' and p.manufacturers2_id = m2.manufacturers2_id and m2.manufacturers2_id = '" . (int)$HTTP_GET_VARS['manufacturers2_id] . "'"; } else { // either retail or no need to get correct special prices $listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, p.manufacturers2_id, p.products_price, p.products_tax_class_id, IF(s.status, s.specials_new_products_price, NULL) as specials_new_products_price, IF(s.status, s.specials_new_products_price, p.products_price) as final_price from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_MANUFACTURERS . " m, " . TABLE_MANUFACTURERS2 . " m2 left join " . TABLE_SPECIALS_RETAIL_PRICES . " s on p.products_id = s.products_id where p.products_status = '1' and pd.products_id = p.products_id and pd.language_id = '" . (int)$languages_id . "' and p.manufacturers_id = m.manufacturers_id and m.manufacturers_id = '" . (int)$HTTP_GET_VARS['manufacturers_id] . "' and p.manufacturers2_id = m2.manufacturers2_id and m2.manufacturers2_id = '" . (int)$HTTP_GET_VARS['manufacturers2_id] . "'"; } // end else { // either retail... // EOF Separate Pricing Per Customer } } else { // show the products in a given categorie if (isset($HTTP_GET_VARS['filter_id']) && tep_not_null($HTTP_GET_VARS['filter_id']) && tep_not_null($HTTP_GET_VARS['m2filter_id'])) { // We are asked to show only specific catgeory; // BOF Separate Pricing Per Customer if ($status_product_prices_table == true) { // DONE ################## Added Enable Disable Categorie ################# // $listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, tmp_pp.products_price, p.products_tax_class_id, IF(tmp_pp.status, tmp_pp.specials_new_products_price, NULL) as specials_new_products_price, IF(tmp_pp.status, tmp_pp.specials_new_products_price, tmp_pp.products_price) as final_price from " . TABLE_PRODUCTS . " p left join " . $product_prices_table . " as tmp_pp using(products_id), " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_MANUFACTURERS . " m, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c where p.products_status = '1' and p.manufacturers_id = m.manufacturers_id and m.manufacturers_id = '" . (int)$HTTP_GET_VARS['filter_id] . "' and p.products_id = p2c.products_id and pd.products_id = p2c.products_id and pd.language_id = '" . (int)$languages_id . "' and p2c.categories_id = '" . (int)$current_category_id . "'"; $listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, p.manufacturers2_id, tmp_pp.products_price, p.products_tax_class_id, IF(tmp_pp.status, tmp_pp.specials_new_products_price, NULL) as specials_new_products_price, IF(tmp_pp.status, tmp_pp.specials_new_products_price, tmp_pp.products_price) as final_price from " . TABLE_PRODUCTS . " p left join " . $product_prices_table . " as tmp_pp using(products_id), " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_MANUFACTURERS . " m, " . TABLE_MANUFACTURERS2 . " m2, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id left join " . TABLE_CATEGORIES . " c on c.categories_id = p2c.categories_id where c.categories_status = '1' and p.products_status = '1' and p.manufacturers_id = m.manufacturers_id and m.manufacturers_id = '" . (int)$HTTP_GET_VARS['filter_id] . "' and p.manufacturers2_id = m2.manufacturers2_id and m2.manufacturers2_id = '" . (int)$HTTP_GET_VARS['m2filter_id] . "' and p.products_id = p2c.products_id and pd.products_id = p2c.products_id and pd.language_id = '" . (int)$languages_id . "' and p2c.categories_id = '" . (int)$current_category_id . "'"; } else { // either retail or no need to get correct special prices $listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, p.manufacturers2_id, p.products_price, p.products_tax_class_id, IF(s.status, s.specials_new_products_price, NULL) as specials_new_products_price, IF(s.status, s.specials_new_products_price, p.products_price) as final_price from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_MANUFACTURERS . " m, " . TABLE_MANUFACTURERS2 . " m2, " .TABLE_PRODUCTS_TO_CATEGORIES . " p2c left join " . TABLE_SPECIALS_RETAIL_PRICES . " s using(products_id) where p.products_status = '1' and p.manufacturers_id = m.manufacturers_id and m.manufacturers_id = '" . (int)$HTTP_GET_VARS['filter_id] . "' and p.manufacturers2_id = m2.manufacturers2_id and m2.manufacturers2_id = '" . (int)$HTTP_GET_VARS['m2filter_id] . "' and p.products_id = p2c.products_id and pd.products_id = p2c.products_id and pd.language_id = '" . (int)$languages_id . "' and p2c.categories_id = '" . (int)$current_category_id . "'"; } // end else { // either retail... // EOF Separate Pricing Per Customer } else { // We show them all // BOF Separate Pricing Per Customer if ($status_product_prices_table == true) { // ################## Added Enable Disable Categorie ################# //$listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, tmp_pp.products_price, p.products_tax_class_id, IF(tmp_pp.status, tmp_pp.specials_new_products_price, NULL) as specials_new_products_price, IF(tmp_pp.status, tmp_pp.specials_new_products_price, tmp_pp.products_price) as final_price from " . TABLE_PRODUCTS_DESCRIPTION . " pd left join " . $product_prices_table . " as tmp_pp using(products_id), " . TABLE_PRODUCTS . " p left join " . TABLE_MANUFACTURERS . " m on p.manufacturers_id = m.manufacturers_id, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c where p.products_status = '1' and p.products_id = p2c.products_id and pd.products_id = p2c.products_id and pd.language_id = '" . (int)$languages_id . "' and p2c.categories_id = '" . (int)$current_category_id . "'"; $listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, p.manufacturers2_id, tmp_pp.products_price, p.products_tax_class_id, IF(tmp_pp.status, tmp_pp.specials_new_products_price, NULL) as specials_new_products_price, IF(tmp_pp.status, tmp_pp.specials_new_products_price, tmp_pp.products_price) as final_price from " . TABLE_PRODUCTS_DESCRIPTION . " pd left join " . $product_prices_table . " as tmp_pp using(products_id), " . TABLE_PRODUCTS . " p left join " . TABLE_MANUFACTURERS . " m on p.manufacturers_id = m.manufacturers_id left join " . TABLE_MANUFACTURERS2 . " m2 on m2.manufacturers2_id=p.manufacturers2_id, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id left join " . TABLE_CATEGORIES . " c on c.categories_id = p2c.categories_id where c.categories_status = '1' and p.products_status = '1' and p.products_id = p2c.products_id and pd.products_id = p2c.products_id and pd.language_id = '" . (int)$languages_id . "' and p2c.categories_id = '" . (int)$current_category_id . "'"; } else { // either retail or no need to get correct special prices $listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, p.manufacturers2_id, p.products_price, p.products_tax_class_id, IF(s.status, s.specials_new_products_price, NULL) as specials_new_products_price, IF(s.status, s.specials_new_products_price, p.products_price) as final_price from " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_PRODUCTS . " p left join " . TABLE_MANUFACTURERS . " m on p.manufacturers_id = m.manufacturers_id left join " . TABLE_MANUFACTURERS2 . " m2 on m2.manufacturers2_id=p.manufacturers2_id, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c left join " . TABLE_SPECIALS_RETAIL_PRICES . " s on p.products_id = s.products_id where p.products_status = '1' and p.products_id = p2c.products_id and pd.products_id = p2c.products_id and pd.language_id = '" . (int)$languages_id . "' and p2c.categories_id = '" . (int)$current_category_id . "'"; } // end else { // either retail... // EOF Separate Pricing per Customer } } // if ( (!isset($HTTP_GET_VARS['sort'])) || (!ereg('[1-8][ad]', $HTTP_GET_VARS['sort'])) || (substr($HTTP_GET_VARS['sort'], 0, 1) > sizeof($column_list)) ) { // for ($i=0, $n=sizeof($column_list); $i<$n; $i++) { // if ($column_list[$i] == 'PRODUCT_LIST_NAME') { // $HTTP_GET_VARS['sort'] = $i+1 . 'a'; // $listing_sql .= " order by pd.products_name"; // break; // } // } // } else { //CHANGED TO SORT BY MODEL NUMBER if ( (!isset($HTTP_GET_VARS['sort'])) || (!ereg('[1-8][ad]', $HTTP_GET_VARS['sort'])) || (substr($HTTP_GET_VARS['sort'], 0, 1) > sizeof($column_list)) ) { for ($i=0, $n=sizeof($column_list); $i<$n; $i++) { if ($column_list[$i] == 'PRODUCT_LIST_NAME') { $HTTP_GET_VARS['sort'] = $i+1 . 'a'; $listing_sql .= " order by p.products_model"; break; } } } else { $sort_col = substr($HTTP_GET_VARS['sort'], 0 , 1); $sort_order = substr($HTTP_GET_VARS['sort'], 1); $listing_sql .= ' order by '; switch ($column_list[$sort_col-1]) { case 'PRODUCT_LIST_MODEL': $listing_sql .= "p.products_model " . ($sort_order == 'd' ? 'desc' : '') . ", pd.products_name"; break; case 'PRODUCT_LIST_NAME': $listing_sql .= "pd.products_name " . ($sort_order == 'd' ? 'desc' : ''); break; case 'PRODUCT_LIST_MANUFACTURER': $listing_sql .= "m.manufacturers_name " . ($sort_order == 'd' ? 'desc' : '') . ", pd.products_name"; break; case 'PRODUCT_LIST_MANUFACTURERS2': $listing_sql .= "m2.manufacturers2_name " . ($sort_order == 'd' ? 'desc' : '') . ", pd.products_name"; break; case 'PRODUCT_LIST_QUANTITY': $listing_sql .= "p.products_quantity " . ($sort_order == 'd' ? 'desc' : '') . ", pd.products_name"; break; case 'PRODUCT_LIST_IMAGE': $listing_sql .= "pd.products_name"; break; case 'PRODUCT_LIST_WEIGHT': $listing_sql .= "p.products_weight " . ($sort_order == 'd' ? 'desc' : '') . ", pd.products_name"; break; case 'PRODUCT_LIST_PRICE': $listing_sql .= "final_price " . ($sort_order == 'd' ? 'desc' : '') . ", pd.products_name"; break; } } $category_query = tep_db_query("select cd.categories_htc_title_tag, cd.categories_htc_description, cd.categories_id from " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where c.categories_id = '" . (int)$current_category_id . "' and cd.categories_id = '" . (int)$current_category_id . "' and cd.language_id = '" . (int)$languages_id . "'"); $category = tep_db_fetch_array($category_query); ?> <td width="100%" valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> <td><table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> <td class="catheading"><?php echo $category['categories_htc_title_tag']; ?></td> <?php // optional Product List Filter if (PRODUCT_LIST_FILTER > 0) { if (isset($HTTP_GET_VARS['manufacturers_id'])) { $filterlist_sql = "select distinct c.categories_id as id, cd.categories_name as name from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c, " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where p.products_status = '1' and p.products_id = p2c.products_id and p2c.categories_id = c.categories_id and p2c.categories_id = cd.categories_id and cd.language_id = '" . (int)$languages_id . "' and p.manufacturers_id = '" . (int)$HTTP_GET_VARS['manufacturers_id] . "' order by cd.categories_name"; } else { $filterlist_sql= "select distinct m.manufacturers_id as id, m.manufacturers_name as name from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c, " . TABLE_MANUFACTURERS . " m where p.products_status = '1' and p.manufacturers_id = m.manufacturers_id and p.products_id = p2c.products_id and p2c.categories_id = '" . (int)$current_category_id . "' order by m.manufacturers_name"; } $m2filterlist_sql= "select distinct m2.manufacturers2_id as id, m2.manufacturers2_name as name from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c, " . TABLE_MANUFACTURERS2 . " m2 where p.products_status = '1' and p.manufacturers2_id = m2.manufacturers2_id and p.products_id = p2c.products_id and p2c.categories_id = '" . (int)$current_category_id . "' order by m2.manufacturers2_name"; $filterlist_query = tep_db_query($filterlist_sql); $m2filterlist_query = tep_db_query($m2filterlist_sql); if (tep_db_num_rows($filterlist_query) > 1) { echo ' <td align="center" class="main">' . tep_draw_form('filter', FILENAME_DEFAULT, 'get') . TEXT_SHOW . '?'; if (isset($HTTP_GET_VARS['manufacturers_id'])) { echo tep_draw_hidden_field('manufacturers_id', $HTTP_GET_VARS['manufacturers_id']); $options = array(array('id' => '', 'text' => TEXT_ALL_CATEGORIES)); } else { echo tep_draw_hidden_field('cPath', $cPath); $options = array(array('id' => '', 'text' => TEXT_ALL_MANUFACTURERS)); } $options2 = array(array('id' => '', 'text' => TEXT_ALL_MANUFACTURERS2)); echo tep_draw_hidden_field('sort', $HTTP_GET_VARS['sort']); while ($filterlist = tep_db_fetch_array($filterlist_query)) { $options[] = array('id' => $filterlist['id'], 'text' => $filterlist['name']); } while ($m2filterlist = tep_db_fetch_array($m2filterlist_query)) { $options2[] = array('id' => $m2filterlist['id'], 'text' => $m2filterlist['name']); } echo tep_draw_pull_down_menu('filter_id', $options, (isset($HTTP_GET_VARS['filter_id']) ? $HTTP_GET_VARS['filter_id'] : ''), 'onchange="this.form.submit()"'); echo tep_draw_pull_down_menu('m2filter_id', $options2, (isset($HTTP_GET_VARS['m2filter_id']) ? $HTTP_GET_VARS['m2filter_id'] : ''), 'onchange="this.form.submit()"'); echo '</form></td>' .
  11. Hi there... I have just installed the New Attribute Manager (http://www.oscommerce.com/community/contributions,1119/category,all/search,attribute+manager) and have it all working correctly (I think...) Fantastic Contrib!!! My only problem is that I need to be able to set weights for each attribute. I previously had 'Add-Weight-To-Product' installed (http://www.oscommerce.com/community/contributions,1622/category,all/search,add+weight+attribute), and it worked well, however, I didn't know how to integrate it with New Attribute Manager. The manager is compatible with Linda's Sort & Copier, so I installed that (it has weight stuff in it) and that's where the problems begin... Originally, the weight wasn't working at all, but I found a fix on the forums (http://forums.oscommerce.com/index.php?showtopic=197173&hl=attributes++Sorter++Copier). Now if I go into the old (standard) 'Products Attributes', I can set an attributes weight, and it works. However, if I try to set a attribute's weight with the new manager, it doesn't work (no error messages, it just doesn't add the weight). Has anyone had any issues with combining these contributions? I'd really love to get them working together... Thanks for any help :) ~Barbara~
  12. bobsi18

    Store Stats

    Hi there all... I've decided I need to see some more stats on how my store is going, and wondering if anyone can recommend suitable contributions? It's hard to see what is the more followed one, what is more suitable etc. I'm after the ability to: -display how many orders were placed between a certain time frame (eg between 22/9 to the 25/9, or last month, or last year) -display the total amount in $$ taken between a certain time frame -display the total amount - shipping fees between a certain time frame -average length of time a customer spends on the site? -which products were purchased within a certain time frame and anything else people think might be handy to know? Any suggestions gratefully accepted :) ~bobsi18~
  13. Thats what I sort of decided in the end - first time I had seen that behaviour tho, so was a little aprehensive of what was going on. Thanks for quelling my doubts!
  14. hi there all... first off, great contrib :) quick question - i had a bot crawling my site for about 4 and a half days, each time for about 16 hours or so. it seemed to obey my robots file, the name that showed up in my whos online sections named it 'FAST' and after some searching I found that it was 'FAST MetaWeb Crawler (helpdesk at fastsearch dot com)' - just wondering if anyone knows if this is a 'bad' or 'ban-able' bot? TIA ~bobsi18~
  15. bobsi18

    Bug with Auspost Module v2.0.2

    thanks, u r a genius :)
  16. bobsi18

    Bug with Auspost Module v2.0.2

    Yeh, I actually had this problem this morning as a coincidence - a customer from the UK tried to place an order, with a postcode with spaces in it, and couldn't select the AusPost Postage option - I had tested my site previously, but never with a postcode with spaces in it. I deleted the spaces in the customers postcode, and now it works fine.
  17. bobsi18

    Bug with Auspost Module v2.0.2

    Sorry - no help here, but I just find it interesting that I've been using this module for about 3 months, and haven't had any problems, then this issue came up just this morning (independent of your post). I'm also interested in any solutions... ~bobsi18~
  18. yes... and no... it just worked, just give it a try, i don't think i had any probs making it work.
  19. bobsi18

    AutoEmailer

    Hey there ppls... I'm looking for a little advice. I've taken this great contribution and changed it a little for my needs. I'm trying to create an auto setup that emails customers who have chosen to pay via Bank deposit. If payment hasnt been received in 5 days (i.e. orders_status is still set on 'awaiting payment'), I want to send out an email saying 'please pay now..'. After 8 days, I want to send out an email saying 'order has been cancelled'. I've been modifying the auto_announce.php to try and do this. The last thing (*I think*) that I'm having trouble with is telling the module to send out if the order is XX days old. This is what I'm using... $adjDate = sprintf("%s-%s-%s", $adjYr, substr($customer['date_purchased'], 5, 2),substr($customer['date_purchased'], 8, 2)); // Stop Date Selection $diff = DifferenceBetween($adjDate, $currentDate); // Start Date Difference if ($diff == 5 ) // Stop Date Difference { I've introduced date_purchased in the sql query before this. The line 'if ($diff == 5 )' is where I'm having troubles. If you need me to post more of the code to see what's going on, please let me know. TIA ~bobsi18~
  20. Hi there ppls... I'm having trouble finding a contribution for my needs- I'm probably just blind, but if anyone knows of a suitable one, can they let me know? Our shop has two major sales a year, where everything is discounted by a set percentage. Some items are discounted by an even larger percentage. I'm looking for a contribution that will make everything in the store XX% off (preferrably with an expiry date), but I don't want it to discount products that have a special price - I'll use the normal specials to do my products wit the bigger discount. I do have the category specials contribution installed, so I could use that, however I have about 40 categories, so it will be time consuming to do all of them that way - however it is a possibility. I also have CCGV installed, however it doesn't allow for products already on special, so it's not suitable. I've just realised that I'm also selling Gift Vouchers - and these can't be discounted, so that needs to be taken into consideration too, maybe the specials by category is the way to go. Anyway, any suggestions/opinions would be appreciated! TIA ~bobsi18~
  21. bobsi18

    Specials valid from

    I don't know about that particular contribution, but I have managed to [almost] get it working with a similar contribution - Category Specials [http://www.oscommerce.com/community/contributions,3831]. A lot of work required, but not toooooo bad in the end. Maybe some-one has integrated it with the SPPC version. ~bobsi18~
  22. bobsi18

    Skip the preview step

    I'd love this too :)
×