Jump to content
kgt

[Contribution] Discount Coupon Codes

Recommended Posts

Hi Folks,

 

I've followed the instqall instructions and everything is uploaded and the sql query is in etc.

 

i'm having problems with one of the errors listed in the help page actually.

 

i'm getting this error when i go to my admin order total:

 

Fatal error: Cannot redeclare class ot_discount_coupon in

**my path**/includes/modules/order_total/ot_discount_coupon.php on line 15

 

it was line 14 but i deleted the line starting // as the instructions inside said to, but no joy. i edited the line in both files, but i'm new to all this so i'm stumped, any help much appreciated.

 

thanks

Edited by sheltonjb

Shelton Brown

Web/Graphic Designer

Share this post


Link to post
Share on other sites
Couple quick questions

 

1) Does this contrib work with the standard Paypal module that comes with oscommerce? (ie. do the correct values get passed to paypal for the order total?)

 

2) Does this contrib work with Paypal Websites Payment Pro (WPP) ?

 

3) Does this contrib work with Multi Vendor Shipping? (MVS)

 

Just curious as I use all the above! :)

 

Thanks for such a great contribution!

 

1. Yes, if you have Paypal set to aggregate cart totals.

2. I cannot say for sure, but I think so.

3. Yes.


Contributions

 

Discount Coupon Codes

Donations

Share this post


Link to post
Share on other sites
Hi Folks,

 

I've followed the instqall instructions and everything is uploaded and the sql query is in etc.

 

i'm having problems with one of the errors listed in the help page actually.

 

i'm getting this error when i go to my admin order total:

 

 

it was line 14 but i deleted the line starting // as the instructions inside said to, but no joy. i edited the line in both files, but i'm new to all this so i'm stumped, any help much appreciated.

 

thanks

 

That error message is not the same as the one in the help file. Note the ot_ on the start of the file name. This error happens when you upload your class file to your languages directory. includes/modules/order_total/ot_discount_coupon.php and includes/languages/english/modules/order_total/ot_discount_coupon.php should NOT have the same content. You'll need to re-upload the language file from the install zip.


Contributions

 

Discount Coupon Codes

Donations

Share this post


Link to post
Share on other sites

hello,i have a problem with Discount coupon code.

i installed the lastest,put a discount coupon code.but whenever checkout,i get error this code is invalid (i'm sure i typed exactly many time) :((

 

and another problem.i use custom template,so the warning message display in address url only.is there anyway to make it display with a popup javascript?

 

thanks for great contribution

Share this post


Link to post
Share on other sites
That error message is not the same as the one in the help file. Note the ot_ on the start of the file name. This error happens when you upload your class file to your languages directory. includes/modules/order_total/ot_discount_coupon.php and includes/languages/english/modules/order_total/ot_discount_coupon.php should NOT have the same content. You'll need to re-upload the language file from the install zip.

 

thanks bud, i'll give it a go and let you know how i get on :thumbsup:


Shelton Brown

Web/Graphic Designer

Share this post


Link to post
Share on other sites
That error message is not the same as the one in the help file. Note the ot_ on the start of the file name. This error happens when you upload your class file to your languages directory. includes/modules/order_total/ot_discount_coupon.php and includes/languages/english/modules/order_total/ot_discount_coupon.php should NOT have the same content. You'll need to re-upload the language file from the install zip.

 

Hi bud,

 

that worked a treat, i guess I just overlooked what I was doing! thanks for your help, although once i'd clicked on the catalog >> discount coupons link it had the following error:

 

1146 - Table 'shel0710_osc1.TABLE_DISCOUNT_COUPONS' doesn't exist

 

select count(*) as total from TABLE_DISCOUNT_COUPONS cd

 

[TEP STOP]

 

i'm new to databases and dont really know what i'm doing, but i'm guessing this is something to do with the database?

 

please help,


Shelton Brown

Web/Graphic Designer

Share this post


Link to post
Share on other sites
hello,i have a problem with Discount coupon code.

i installed the lastest,put a discount coupon code.but whenever checkout,i get error this code is invalid (i'm sure i typed exactly many time) :((

 

and another problem.i use custom template,so the warning message display in address url only.is there anyway to make it display with a popup javascript?

 

thanks for great contribution

 

anyone plz help me ! :'( :'( :'(

Share this post


Link to post
Share on other sites
Hi bud,

 

that worked a treat, i guess I just overlooked what I was doing! thanks for your help, although once i'd clicked on the catalog >> discount coupons link it had the following error:

 

1146 - Table 'shel0710_osc1.TABLE_DISCOUNT_COUPONS' doesn't exist

 

select count(*) as total from TABLE_DISCOUNT_COUPONS cd

 

[TEP STOP]

 

i'm new to databases and dont really know what i'm doing, but i'm guessing this is something to do with the database?

 

please help,

 

You need to follow the install instructions that came with the contribution.

 

admin/includes/database_tables.php --------------------------------------------

 

add

 

//kgt - discount coupons

define('TABLE_DISCOUNT_COUPONS', 'discount_coupons');

define('TABLE_DISCOUNT_COUPONS_TO_ORDERS', 'discount_coupons_to_orders');

//end kgt - discount coupons


Do, or do not. There is no try.

 

Order Editor 5.0.6 "Ultra Violet" is now available!

For support or to post comments, suggestions, etc, please visit the Order Editor support thread.

Share this post


Link to post
Share on other sites
hello,i have a problem with Discount coupon code.

i installed the lastest,put a discount coupon code.but whenever checkout,i get error this code is invalid (i'm sure i typed exactly many time) :((

 

and another problem.i use custom template,so the warning message display in address url only.is there anyway to make it display with a popup javascript?

 

thanks for great contribution

 

Make sure that your start/end dates for the coupon are valid dates. The coupons admin expects you to enter dates in the format provided in your admin/includes/english.php file towards the top. If your english.php says date format is mm/dd/yyyy, and you try to enter the date as dd/mm/yyyy, then you can get this error. That reason is no valid coupons can be found with an active date range that includes today. Look closely at your coupons. If they say something like 3/17/0007, then something is wrong.


Contributions

 

Discount Coupon Codes

Donations

Share this post


Link to post
Share on other sites

This is a great contrib, very easy to install and way less bugs then other similar contribs. Everything looks fine but I have one problem, I have set the discount to 10% and it shows 10% on the checkout confirmation page yet it is actually discounting 100% !

 

Sub-Total: $8.10

Discount Coupon 10% applied: -$8.10

Auspost Regular Post (Australia Only) (Regular Post): $8.50

Total: $8.50

 

I have searched and looked and tried to locate and solve this problem to no avail, it seems the decimal point is incorrect in some coding but have no idea where to look so any help woul be greatly appreciated.

 

Cheers

Ros

Share this post


Link to post
Share on other sites
This is a great contrib, very easy to install and way less bugs then other similar contribs. Everything looks fine but I have one problem, I have set the discount to 10% and it shows 10% on the checkout confirmation page yet it is actually discounting 100% !

 

Sub-Total: $8.10

Discount Coupon 10% applied: -$8.10

Auspost Regular Post (Australia Only) (Regular Post): $8.50

Total: $8.50

 

I have searched and looked and tried to locate and solve this problem to no avail, it seems the decimal point is incorrect in some coding but have no idea where to look so any help woul be greatly appreciated.

 

Cheers

Ros

 

 

OK, solution found in this thread on page 49 (I think) now I realise if I set a maximum order value for percentage discount it applies the discount to the maximum order value (which was set at $300) that is why it discounted the entire order total, by removing that maximum order value and leaving it blank the 10% discount is calculated on the item total as it should be.

So it all works fine now...

 

Thanks for an excellent contribution which is easy to install and easy to use. A+++

 

Cheers

Ros :thumbsup:

Share this post


Link to post
Share on other sites
Make sure that your start/end dates for the coupon are valid dates. The coupons admin expects you to enter dates in the format provided in your admin/includes/english.php file towards the top. If your english.php says date format is mm/dd/yyyy, and you try to enter the date as dd/mm/yyyy, then you can get this error. That reason is no valid coupons can be found with an active date range that includes today. Look closely at your coupons. If they say something like 3/17/0007, then something is wrong.

 

yeah,thanks! i realized that my computer's time is Year 2001 whenever it starts.So it depends on the computer time :((

Share this post


Link to post
Share on other sites
To see the solution to getting the Discount Coupon errors to display on checkout_payment.php if using templates (such as STS), go to:

http://forums.oscommerce.com/index.php?sho...d&start=806

 

Thanks for a great contribution, kgt!

 

thanks for your help,but i want to know is there anyway to display message as a popup javascript (same with error message when sign up)

Share this post


Link to post
Share on other sites

I am thinking about upgrading from the paypal_ipn 1.3 to 2.2 will I need to make the same changes that were need to get the discounts to work with paypal_inp 1.4?

Share this post


Link to post
Share on other sites

in my shop i have installed sppc and i wold like lo install Discount coupon codes and i don't know how to combinate this contribs i have a conflict in /classes/order.php

 

can you help me?

 

i'm spanish excuse me my bad english!

thanks

Share this post


Link to post
Share on other sites

I've looked through this thread and have not found a similar problem listed. I followed all 3 steps in the install directions by simply copying the files to the appropriate places. I keep getting the following error in checkout_payment.php where the <--body_text--> ought to show up:

Fatal error: Cannot redeclare tep_show_category() (previously declared in /home/content/j/e/f/jefmwols/html/catalog/includes/header.php:121) in /home/content/j/e/f/jefmwols/html/catalog/includes/boxes/categories.php on line 13

 

Any ideas?

 

Thanks,

Jeff Wolski

Share this post


Link to post
Share on other sites
I've looked through this thread and have not found a similar problem listed. I followed all 3 steps in the install directions by simply copying the files to the appropriate places. I keep getting the following error in checkout_payment.php where the <--body_text--> ought to show up:

Fatal error: Cannot redeclare tep_show_category() (previously declared in /home/content/j/e/f/jefmwols/html/catalog/includes/header.php:121) in /home/content/j/e/f/jefmwols/html/catalog/includes/boxes/categories.php on line 13

 

 

You've got a template, and for some reason template makers seem to like putting things in places they don't belong. However, that's not really your problem. It's looks like your real problem is that you uploaded admin/includes/boxes/categories.php to catalog/includes/boxes/categories.php. That file should be in the admin directory. You'll need to restore categories.php from a backup and re-upload admin/includes/boxes/categories.php to the correct directory.


Contributions

 

Discount Coupon Codes

Donations

Share this post


Link to post
Share on other sites

Hi kgt,

I've been attempting to install version 2.1 of this contribution.

 

As far as I'm aware I've followed all instructions. I haven't had to use mysql on any of the other contribs I've installed so that side of things is completely new to me and as for php, well all I can say is I'm learning as I go!

 

I've changed the relevant files, ftp'd them (and the new ones), run the mysql bit (got a success message come up for that) and then went on site preview.

 

All I get is this error message:

 

1146 - Table 'kidztoyz_org_uk_1.configuration' doesn't exist

select configuration_key as cfgKey, configuration_value as cfgValue from configuration

[TEP STOP]

 

 

I did search the thread & although others have had the same error code, the message on theirs is different.

 

Could this be relevant to catalogue/includes/languages/english.php because I'm not confident that I've made the changes in the right place on that one (I dropped it in after the last define on the page, before the copyright part)

 

Any ideas where I've gone wrong?

 

Thanks,

 

Nikki

Share this post


Link to post
Share on other sites
in my shop i have installed sppc and i wold like lo install Discount coupon codes and i don't know how to combinate this contribs i have a conflict in /classes/order.php

 

can you help me?

 

i'm spanish excuse me my bad english!

thanks

 

This is what I had for DCC 2.1 and SPPC - hope it helps you :thumbsup:

 

class order {
var $info, $totals, $products, $customer, $delivery, $content_type;

function order($order_id = '') {
  $this->info = array();
  $this->totals = array();
  $this->products = array();
  $this->customer = array();
  $this->delivery = array();

  if (tep_not_null($order_id)) {
	$this->query($order_id);
  } else {
	$this->cart();
  }
}

function query($order_id) {
  global $languages_id;

  $order_id = tep_db_prepare_input($order_id);

  $order_query = tep_db_query("select customers_id, customers_name, customers_company, customers_street_address, customers_suburb, customers_city, customers_postcode, customers_state, customers_country, customers_telephone, customers_email_address, customers_address_format_id, delivery_name, delivery_company, delivery_street_address, delivery_suburb, delivery_city, delivery_postcode, delivery_state, delivery_country, delivery_address_format_id, billing_name, billing_company, billing_street_address, billing_suburb, billing_city, billing_postcode, billing_state, billing_country, billing_address_format_id, payment_method, cc_type, cc_owner, cc_number, cc_expires, currency, currency_value, date_purchased, orders_status, last_modified from " . TABLE_ORDERS . " where orders_id = '" . (int)$order_id . "'");
  $order = tep_db_fetch_array($order_query);

  $totals_query = tep_db_query("select title, text from " . TABLE_ORDERS_TOTAL . " where orders_id = '" . (int)$order_id . "' order by sort_order");
  while ($totals = tep_db_fetch_array($totals_query)) {
	$this->totals[] = array('title' => $totals['title'],
							'text' => $totals['text']);
  }

  $order_total_query = tep_db_query("select text from " . TABLE_ORDERS_TOTAL . " where orders_id = '" . (int)$order_id . "' and class = 'ot_total'");
  $order_total = tep_db_fetch_array($order_total_query);

  $shipping_method_query = tep_db_query("select title from " . TABLE_ORDERS_TOTAL . " where orders_id = '" . (int)$order_id . "' and class = 'ot_shipping'");
  $shipping_method = tep_db_fetch_array($shipping_method_query);

  $order_status_query = tep_db_query("select orders_status_name from " . TABLE_ORDERS_STATUS . " where orders_status_id = '" . $order['orders_status'] . "' and language_id = '" . (int)$languages_id . "'");
  $order_status = tep_db_fetch_array($order_status_query);

  $this->info = array('currency' => $order['currency'],
					  'currency_value' => $order['currency_value'],
					  'payment_method' => $order['payment_method'],
					  'cc_type' => $order['cc_type'],
					  'cc_owner' => $order['cc_owner'],
					  'cc_number' => $order['cc_number'],
					  'cc_expires' => $order['cc_expires'],
					  'date_purchased' => $order['date_purchased'],
					  'orders_status' => $order_status['orders_status_name'],
					  'last_modified' => $order['last_modified'],
					  'total' => strip_tags($order_total['text']),
					  'shipping_method' => ((substr($shipping_method['title'], -1) == ':') ? substr(strip_tags($shipping_method['title']), 0, -1) : strip_tags($shipping_method['title'])));

  $this->customer = array('id' => $order['customers_id'],
						  'name' => $order['customers_name'],
						  'company' => $order['customers_company'],
						  'street_address' => $order['customers_street_address'],
						  'suburb' => $order['customers_suburb'],
						  'city' => $order['customers_city'],
						  'postcode' => $order['customers_postcode'],
						  'state' => $order['customers_state'],
						  'country' => $order['customers_country'],
						  'format_id' => $order['customers_address_format_id'],
						  'telephone' => $order['customers_telephone'],
						  'email_address' => $order['customers_email_address']);

  $this->delivery = array('name' => $order['delivery_name'],
						  'company' => $order['delivery_company'],
						  'street_address' => $order['delivery_street_address'],
						  'suburb' => $order['delivery_suburb'],
						  'city' => $order['delivery_city'],
						  'postcode' => $order['delivery_postcode'],
						  'state' => $order['delivery_state'],
						  'country' => $order['delivery_country'],
						  'format_id' => $order['delivery_address_format_id']);

  if (empty($this->delivery['name']) && empty($this->delivery['street_address'])) {
	$this->delivery = false;
  }

  $this->billing = array('name' => $order['billing_name'],
						 'company' => $order['billing_company'],
						 'street_address' => $order['billing_street_address'],
						 'suburb' => $order['billing_suburb'],
						 'city' => $order['billing_city'],
						 'postcode' => $order['billing_postcode'],
						 'state' => $order['billing_state'],
						 'country' => $order['billing_country'],
						 'format_id' => $order['billing_address_format_id']);

  $index = 0;
  $orders_products_query = tep_db_query("select orders_products_id, products_id, products_name, products_model, products_price, products_tax, products_quantity, final_price from " . TABLE_ORDERS_PRODUCTS . " where orders_id = '" . (int)$order_id . "'");
  while ($orders_products = tep_db_fetch_array($orders_products_query)) {
	$this->products[$index] = array('qty' => $orders_products['products_quantity'],
								'id' => $orders_products['products_id'],
									'name' => $orders_products['products_name'],
									'model' => $orders_products['products_model'],
									'tax' => $orders_products['products_tax'],
									'price' => $orders_products['products_price'],
									'final_price' => $orders_products['final_price']);

// 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;
 }

  if ($customer_group_id != '0'){	
  $orders_customers_price = tep_db_query("select customers_group_price from " . TABLE_PRODUCTS_GROUPS . " where customers_group_id = '". $customer_group_id . "' and products_id = '" . $products[$i]['id'] . "'");		  
  if ($orders_customers = tep_db_fetch_array($orders_customers_price)){	
  $this->products[$index] = array('price' => $orders_customers['customers_group_price'], 'final_price' => $orders_customers['customers_group_price']);
 }							  
}
// EOF Separate Pricing Per Customer
	$subindex = 0;
	$attributes_query = tep_db_query("select products_options, products_options_values, options_values_price, price_prefix from " . TABLE_ORDERS_PRODUCTS_ATTRIBUTES . " where orders_id = '" . (int)$order_id . "' and orders_products_id = '" . (int)$orders_products['orders_products_id'] . "'");
	if (tep_db_num_rows($attributes_query)) {
	  while ($attributes = tep_db_fetch_array($attributes_query)) {
		$this->products[$index]['attributes'][$subindex] = array('option' => $attributes['products_options'],
																 'value' => $attributes['products_options_values'],
																 'prefix' => $attributes['price_prefix'],
																 'price' => $attributes['options_values_price']);

		$subindex++;
	  }
	}

	$this->info['tax_groups']["{$this->products[$index]['tax']}"] = '1';

	$index++;
  }
}

function cart() {
  global $customer_id, $sendto, $billto, $cart, $languages_id, $currency, $currencies, $shipping, $payment;

  $this->content_type = $cart->get_content_type();

  $customer_address_query = tep_db_query("select c.customers_firstname, c.customers_lastname, c.customers_telephone, c.customers_email_address, ab.entry_company, ab.entry_street_address, ab.entry_suburb, ab.entry_postcode, ab.entry_city, ab.entry_zone_id, z.zone_name, co.countries_id, co.countries_name, co.countries_iso_code_2, co.countries_iso_code_3, co.address_format_id, ab.entry_state from " . TABLE_CUSTOMERS . " c, " . TABLE_ADDRESS_BOOK . " ab left join " . TABLE_ZONES . " z on (ab.entry_zone_id = z.zone_id) left join " . TABLE_COUNTRIES . " co on (ab.entry_country_id = co.countries_id) where c.customers_id = '" . (int)$customer_id . "' and ab.customers_id = '" . (int)$customer_id . "' and c.customers_default_address_id = ab.address_book_id");
  $customer_address = tep_db_fetch_array($customer_address_query);

  $shipping_address_query = tep_db_query("select ab.entry_firstname, ab.entry_lastname, ab.entry_company, ab.entry_street_address, ab.entry_suburb, ab.entry_postcode, ab.entry_city, ab.entry_zone_id, z.zone_name, ab.entry_country_id, c.countries_id, c.countries_name, c.countries_iso_code_2, c.countries_iso_code_3, c.address_format_id, ab.entry_state from " . TABLE_ADDRESS_BOOK . " ab left join " . TABLE_ZONES . " z on (ab.entry_zone_id = z.zone_id) left join " . TABLE_COUNTRIES . " c on (ab.entry_country_id = c.countries_id) where ab.customers_id = '" . (int)$customer_id . "' and ab.address_book_id = '" . (int)$sendto . "'");
  $shipping_address = tep_db_fetch_array($shipping_address_query);

  $billing_address_query = tep_db_query("select ab.entry_firstname, ab.entry_lastname, ab.entry_company, ab.entry_street_address, ab.entry_suburb, ab.entry_postcode, ab.entry_city, ab.entry_zone_id, z.zone_name, ab.entry_country_id, c.countries_id, c.countries_name, c.countries_iso_code_2, c.countries_iso_code_3, c.address_format_id, ab.entry_state from " . TABLE_ADDRESS_BOOK . " ab left join " . TABLE_ZONES . " z on (ab.entry_zone_id = z.zone_id) left join " . TABLE_COUNTRIES . " c on (ab.entry_country_id = c.countries_id) where ab.customers_id = '" . (int)$customer_id . "' and ab.address_book_id = '" . (int)$billto . "'");
  $billing_address = tep_db_fetch_array($billing_address_query);

  $tax_address_query = tep_db_query("select ab.entry_country_id, ab.entry_zone_id from " . TABLE_ADDRESS_BOOK . " ab left join " . TABLE_ZONES . " z on (ab.entry_zone_id = z.zone_id) where ab.customers_id = '" . (int)$customer_id . "' and ab.address_book_id = '" . (int)($this->content_type == 'virtual' ? $billto : $sendto) . "'");
  $tax_address = tep_db_fetch_array($tax_address_query);

  $this->info = array('order_status' => DEFAULT_ORDERS_STATUS_ID,
					  'currency' => $currency,
					  'currency_value' => $currencies->currencies[$currency]['value'],
					  'payment_method' => $payment,
					  'cc_type' => (isset($GLOBALS['cc_type']) ? $GLOBALS['cc_type'] : ''),
					  'cc_owner' => (isset($GLOBALS['cc_owner']) ? $GLOBALS['cc_owner'] : ''),
					  'cc_number' => (isset($GLOBALS['cc_number']) ? $GLOBALS['cc_number'] : ''),
					  'cc_expires' => (isset($GLOBALS['cc_expires']) ? $GLOBALS['cc_expires'] : ''),
					  'shipping_method' => $shipping['title'],
					  'shipping_cost' => $shipping['cost'],
					  'subtotal' => 0,
					  'tax' => 0,
					  'tax_groups' => array(),
					  // BOF Discount Coupon Codes
					  'coupon' => (isset($GLOBALS['coupon']) ? $GLOBALS['coupon'] : ''),
					  'applied_discount' => array(),
					  // EOF Discount Coupon Codes
					  'comments' => (isset($GLOBALS['comments']) ? $GLOBALS['comments'] : ''));

  if (isset($GLOBALS[$payment]) && is_object($GLOBALS[$payment])) {
	$this->info['payment_method'] = $GLOBALS[$payment]->title;

	if ( isset($GLOBALS[$payment]->order_status) && is_numeric($GLOBALS[$payment]->order_status) && ($GLOBALS[$payment]->order_status > 0) ) {
	  $this->info['order_status'] = $GLOBALS[$payment]->order_status;
	}
  }

  $this->customer = array('firstname' => $customer_address['customers_firstname'],
						  'lastname' => $customer_address['customers_lastname'],
						  'company' => $customer_address['entry_company'],
						  'street_address' => $customer_address['entry_street_address'],
						  'suburb' => $customer_address['entry_suburb'],
						  'city' => $customer_address['entry_city'],
						  'postcode' => $customer_address['entry_postcode'],
						  'state' => ((tep_not_null($customer_address['entry_state'])) ? $customer_address['entry_state'] : $customer_address['zone_name']),
						  'zone_id' => $customer_address['entry_zone_id'],
						  'country' => array('id' => $customer_address['countries_id'], 'title' => $customer_address['countries_name'], 'iso_code_2' => $customer_address['countries_iso_code_2'], 'iso_code_3' => $customer_address['countries_iso_code_3']),
						  'format_id' => $customer_address['address_format_id'],
						  'telephone' => $customer_address['customers_telephone'],
						  'email_address' => $customer_address['customers_email_address']);

  $this->delivery = array('firstname' => $shipping_address['entry_firstname'],
						  'lastname' => $shipping_address['entry_lastname'],
						  'company' => $shipping_address['entry_company'],
						  'street_address' => $shipping_address['entry_street_address'],
						  'suburb' => $shipping_address['entry_suburb'],
						  'city' => $shipping_address['entry_city'],
						  'postcode' => $shipping_address['entry_postcode'],
						  'state' => ((tep_not_null($shipping_address['entry_state'])) ? $shipping_address['entry_state'] : $shipping_address['zone_name']),
						  'zone_id' => $shipping_address['entry_zone_id'],
						  'country' => array('id' => $shipping_address['countries_id'], 'title' => $shipping_address['countries_name'], 'iso_code_2' => $shipping_address['countries_iso_code_2'], 'iso_code_3' => $shipping_address['countries_iso_code_3']),
						  'country_id' => $shipping_address['entry_country_id'],
						  'format_id' => $shipping_address['address_format_id']);

  $this->billing = array('firstname' => $billing_address['entry_firstname'],
						 'lastname' => $billing_address['entry_lastname'],
						 'company' => $billing_address['entry_company'],
						 'street_address' => $billing_address['entry_street_address'],
						 'suburb' => $billing_address['entry_suburb'],
						 'city' => $billing_address['entry_city'],
						 'postcode' => $billing_address['entry_postcode'],
						 'state' => ((tep_not_null($billing_address['entry_state'])) ? $billing_address['entry_state'] : $billing_address['zone_name']),
						 'zone_id' => $billing_address['entry_zone_id'],
						 'country' => array('id' => $billing_address['countries_id'], 'title' => $billing_address['countries_name'], 'iso_code_2' => $billing_address['countries_iso_code_2'], 'iso_code_3' => $billing_address['countries_iso_code_3']),
						 'country_id' => $billing_address['entry_country_id'],
						 'format_id' => $billing_address['address_format_id']);

  $index = 0;
  $products = $cart->get_products();
  for ($i=0, $n=sizeof($products); $i<$n; $i++) {
	$this->products[$index] = array('qty' => $products[$i]['quantity'],
									'name' => $products[$i]['name'],
									'model' => $products[$i]['model'],
									'tax' => tep_get_tax_rate($products[$i]['tax_class_id'], $tax_address['entry_country_id'], $tax_address['entry_zone_id']),
									'tax_description' => tep_get_tax_description($products[$i]['tax_class_id'], $tax_address['entry_country_id'], $tax_address['entry_zone_id']),
									'price' => $products[$i]['price'],
									'final_price' => $products[$i]['price'] + $cart->attributes_price($products[$i]['id']),
									'weight' => $products[$i]['weight'],
									'id' => $products[$i]['id']);
// 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;
 }
 if ($customer_group_id != '0'){
 $orders_customers_price = tep_db_query("select customers_group_price from " . TABLE_PRODUCTS_GROUPS . " where customers_group_id = '". $customer_group_id . "' and products_id = '" . $products[$i]['id'] . "'");
 $orders_customers = tep_db_fetch_array($orders_customers_price);
if ($orders_customers = tep_db_fetch_array($orders_customers_price)) {	
$this->products[$index] = array('price' => $orders_customers['customers_group_price'],
									'final_price' => $orders_customers['customers_group_price'] + $cart->attributes_price($products[$i]['id']));
}
 }
// EOF Separate Pricing Per Customer
	if ($products[$i]['attributes']) {
	  $subindex = 0;
	  reset($products[$i]['attributes']);
	  while (list($option, $value) = each($products[$i]['attributes'])) {
		$attributes_query = tep_db_query("select popt.products_options_name, poval.products_options_values_name, pa.options_values_price, pa.price_prefix from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_OPTIONS_VALUES . " poval, " . TABLE_PRODUCTS_ATTRIBUTES . " pa where pa.products_id = '" . (int)$products[$i]['id'] . "' and pa.options_id = '" . (int)$option . "' and pa.options_id = popt.products_options_id and pa.options_values_id = '" . (int)$value . "' and pa.options_values_id = poval.products_options_values_id and popt.language_id = '" . (int)$languages_id . "' and poval.language_id = '" . (int)$languages_id . "'");
		$attributes = tep_db_fetch_array($attributes_query);

		$this->products[$index]['attributes'][$subindex] = array('option' => $attributes['products_options_name'],
																 'value' => $attributes['products_options_values_name'],
																 'option_id' => $option,
																 'value_id' => $value,
																 'prefix' => $attributes['price_prefix'],
																 'price' => $attributes['options_values_price']);

		$subindex++;
	  }
	}

	// BOF Discount Coupon Codes
	// Next two lines are original code
	//$shown_price = tep_add_tax($this->products[$index]['final_price'], $this->products[$index]['tax']) * $this->products[$index]['qty'];
	//$this->info['subtotal'] += $shown_price;
	if( !empty( $this->info['coupon'] ) ) {
		if( !isset( $this_coupon ) ) {
	require_once( DIR_WS_CLASSES . 'discount_coupon.php' );
		$this_coupon = new discount_coupon( $this->info['coupon'] );
		}
		$applied_discount = $this_coupon->calculate_discount( $this->products[$index], $n );
	  if( isset( $this->info['applied_discount'][$this->products[$index]['tax_description']] ) ) {
	  $this->info['applied_discount'][$this->products[$index]['tax_description']] += $applied_discount;
		} else {
		$this->info['applied_discount'][$this->products[$index]['tax_description']] = $applied_discount;
	}
	$this_actual_shown_price = null;
	if( MODULE_ORDER_TOTAL_DISCOUNT_COUPON_DISPLAY_SUBTOTAL == 'false' ) {
		//we don't want to display the subtotal with the discount applied, so apply the discount then set the applied_discount variable to zero so that it's not added into the order subtotal, but is still used to correctly calculate tax
		$this_actual_shown_price = ( tep_add_tax( $this->products[$index]['final_price'], $this->products[$index]['tax'] ) * $this->products[$index]['qty'] ) - $applied_discount;
		$applied_discount = 0;
	}
	}
	$shown_price = ( tep_add_tax( $this->products[$index]['final_price'], $this->products[$index]['tax'] ) * $this->products[$index]['qty'] ) - $applied_discount;
	$this->info['subtotal'] += $shown_price;
	//if we need to display the subtotal without the discount applied, then add the shown price to the subtotal, then change shown price to the price with the applied discount in order to properly calculate taxes
	if( isset( $this_actual_shown_price ) ) $shown_price = $this_actual_shown_price;
	// EOF Discount Coupon Codes
	$products_tax = $this->products[$index]['tax'];
	$products_tax_description = $this->products[$index]['tax_description'];
// BOF Separate Pricing Per Customer, show_tax modification
// next line was original code
//	  if (DISPLAY_PRICE_WITH_TAX == 'true') {
global $sppc_customer_group_show_tax;
	if(!tep_session_is_registered('sppc_customer_group_show_tax')) { 
	$customer_group_show_tax = '1';
	} else {
	$customer_group_show_tax = $sppc_customer_group_show_tax;
	}		
	if (DISPLAY_PRICE_WITH_TAX == 'true' && $customer_group_show_tax == '1') {
// EOF Separate Pricing Per Customer, show_tax modification		
	  $this->info['tax'] += $shown_price - ($shown_price / (($products_tax < 10) ? "1.0" . str_replace('.', '', $products_tax) : "1." . str_replace('.', '', $products_tax)));
	  if (isset($this->info['tax_groups']["$products_tax_description"])) {
		$this->info['tax_groups']["$products_tax_description"] += $shown_price - ($shown_price / (($products_tax < 10) ? "1.0" . str_replace('.', '', $products_tax) : "1." . str_replace('.', '', $products_tax)));
	  } else {
		$this->info['tax_groups']["$products_tax_description"] = $shown_price - ($shown_price / (($products_tax < 10) ? "1.0" . str_replace('.', '', $products_tax) : "1." . str_replace('.', '', $products_tax)));
	  }
	} else {
	  $this->info['tax'] += ($products_tax / 100) * $shown_price;
	  if (isset($this->info['tax_groups']["$products_tax_description"])) {
		$this->info['tax_groups']["$products_tax_description"] += ($products_tax / 100) * $shown_price;
	  } else {
		$this->info['tax_groups']["$products_tax_description"] = ($products_tax / 100) * $shown_price;
	  }
	}

	$index++;
  }

// BOF Separate Pricing Per Customer, show_tax modification
// next line was original code
//	  if (DISPLAY_PRICE_WITH_TAX == 'true') {
global $sppc_customer_group_show_tax;
	if(!tep_session_is_registered('sppc_customer_group_show_tax')) { 
	$customer_group_show_tax = '1';
	} else {
	$customer_group_show_tax = $sppc_customer_group_show_tax;
	}	
	if ((DISPLAY_PRICE_WITH_TAX == 'true') && ($customer_group_show_tax == '1')) {
// EOF Separate Pricing Per Customer, show_tax modification		
	$this->info['total'] = $this->info['subtotal'] + $this->info['shipping_cost'];
  } else {
	$this->info['total'] = $this->info['subtotal'] + $this->info['tax'] + $this->info['shipping_cost'];
  }
  // BOF Discount Coupon Codes
  if( !empty( $this->info['coupon'] ) && MODULE_ORDER_TOTAL_DISCOUNT_COUPON_DISPLAY_SUBTOTAL == 'false' ) {
  foreach( $this->info['applied_discount'] as $discount ){
  $this->info['total'] -= $discount;
	  }
}
  // EOF Discount Coupon Codes
}
 }


~Tracy
 

Share this post


Link to post
Share on other sites

I installed the module and the installation was very easy. I installed and configured everything in my Order Total section but nothing showed up in my the Admin/Catalog section so I do not know how or where to go to configure my coupons.

 

Please help.

 

thanks

Share this post


Link to post
Share on other sites

are you sure the coupons.php is in admin folder, plz test by typing a link to coupons.php in address bar of web browser.if you can view coupons.php, maybe you have a mistake in your admin/includes/boxes/catalog.php that won't show discount coupon link.put your catalog.php here and i will tell you where's wrong

Share this post


Link to post
Share on other sites
All I get is this error message:

 

1146 - Table 'kidztoyz_org_uk_1.configuration' doesn't exist

select configuration_key as cfgKey, configuration_value as cfgValue from configuration

[TEP STOP]

 

 

Anyone got any ideas on this one?

 

This is a live shop so I'm getting pretty desperate now!

Share this post


Link to post
Share on other sites
I installed the module and the installation was very easy. I installed and configured everything in my Order Total section but nothing showed up in my the Admin/Catalog section so I do not know how or where to go to configure my coupons.

 

 

Revisit the install instructions for admin/includes/boxes/catalog.php.


Contributions

 

Discount Coupon Codes

Donations

Share this post


Link to post
Share on other sites
1146 - Table 'kidztoyz_org_uk_1.configuration' doesn't exist

select configuration_key as cfgKey, configuration_value as cfgValue from configuration

[TEP STOP]

Anyone got any ideas on this one?

 

This is a live shop so I'm getting pretty desperate now!

 

The configuration table is needed by oscommerce to run, and if it was deleted when you installed DCC, then you did something wrong. You'll need some help figuring out what went wrong and what steps are needed to recover. I'd help you, but I don't have much time to even monitor this thread for the next week or so. You'll get more active help in the general question forum.


Contributions

 

Discount Coupon Codes

Donations

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×