Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

Parse error: syntax error, unexpected 'if' (T_IF), expecting function (T_FUNCTION)


REALGOODEAL

Recommended Posts

I am having an issue with the Discount Coupon Codes contribution but the designated help form is dead so I hope it's okay to post here.

 

I tried to do some research and such to figure out what it could be on my own (I'm not familiar with php, specifically, just html and some css) but I got about three different options and no ways to tell which is right.

 

As background, I'm using ver. 3.34 for osc 2.31. This is the first of what I assume will be many issues, unfortunately as the processes is massive.

 

My error:

Parse error: syntax error, unexpected 'if' (T_IF), expecting function (T_FUNCTION) in /homepages/xx/xxxxxxxxx/htdocs/test/catalog/includes/classes/order.php on line 360

 

My code:

<?php
/*
$Id$
osCommerce, Open Source E-Commerce Solutions
http://www.oscommerce.com
Copyright (c) 2007
osCommerce
Released under the GNU General Public License
*/
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' => array('title' => $order['customers_country']),
						 'format_id' => $order
['customers_address_format_id'],
						 'telephone' => $order['customers_telephone'],

				 'email_address' => $order['customers_email_address']);
 $this->delivery = array('name' =>
trim($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' => array('title' => $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' => array('title' => $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']);

$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 $HTTP_POST_VARS, $customer_id, $sendto, $billto, $cart,
$languages_id, $currency, $currencies, $shipping, $payment, $comments, $customer_default_address_id;
 $this-
>content_type = $cart->get_content_type();
 if ( ($this->content_type != 'virtual') && ($sendto == false) ) {

 $sendto = $customer_default_address_id;
 }
 $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);
 if (is_array($sendto) && !empty($sendto)) {
 $shipping_address = array
('entry_firstname' => $sendto['firstname'],
							 'entry_lastname' => $sendto
['lastname'],
							 'entry_company' => $sendto['company'],

'entry_street_address' => $sendto['street_address'],
							 'entry_suburb' => $sendto
['suburb'],
							 'entry_postcode' => $sendto['postcode'],

'entry_city' => $sendto['city'],
							 'entry_zone_id' => $sendto['zone_id'],

					 'zone_name' => $sendto['zone_name'],
							 'entry_country_id'
=> $sendto['country_id'],
							 'countries_id' => $sendto['country_id'],

			 'countries_name' => $sendto['country_name'],

'countries_iso_code_2' => $sendto['country_iso_code_2'],
							 'countries_iso_code_3' =>
$sendto['country_iso_code_3'],
							 'address_format_id' => $sendto
['address_format_id'],
							 'entry_state' => $sendto['zone_name']);
 } elseif
(is_numeric($sendto)) {
 $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);
 } else {

$shipping_address = array('entry_firstname' => null,
							 'entry_lastname' => null,

						 'entry_company' => null,
							 'entry_street_address' =>
null,
							 'entry_suburb' => null,
							 'entry_postcode' =>
null,
							 'entry_city' => null,
							 'entry_zone_id' =>
null,
							 'zone_name' => null,
							 'entry_country_id' =>
null,
							 'countries_id' => null,
							 'countries_name' =>
null,
							 'countries_iso_code_2' => null,

'countries_iso_code_3' => null,
							 'address_format_id' => 0,

 'entry_state' => null);
 }
 if (is_array($billto) && !empty($billto)) {
 $billing_address =
array('entry_firstname' => $billto['firstname'],
							 'entry_lastname' => $billto
['lastname'],
							 'entry_company' => $billto['company'],

'entry_street_address' => $billto['street_address'],
							 'entry_suburb' => $billto
['suburb'],
							 'entry_postcode' => $billto['postcode'],

'entry_city' => $billto['city'],
							 'entry_zone_id' => $billto['zone_id'],

				 'zone_name' => $billto['zone_name'],
							 'entry_country_id' =>
$billto['country_id'],
							 'countries_id' => $billto['country_id'],

	 'countries_name' => $billto['country_name'],
							 'countries_iso_code_2' =>
$billto['country_iso_code_2'],
							 'countries_iso_code_3' => $billto
['country_iso_code_3'],
							 'address_format_id' => $billto['address_format_id'],

					 'entry_state' => $billto['zone_name']);
 } else {
 $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);
 }
 if ($this->content_type == 'virtual') {
 $tax_address = array
('entry_country_id' => $billing_address['entry_country_id'],
						 'entry_zone_id' =>
$billing_address['entry_zone_id']);
 } else {
 $tax_address = array('entry_country_id' =>
$shipping_address['entry_country_id'],
						 'entry_zone_id' => $shipping_address
['entry_zone_id']);
 }
 $this->info = array('order_status' => DEFAULT_ORDERS_STATUS_ID,

 'currency' => $currency,
					 'currency_value' => $currencies->currencies[$currency]
['value'],
					 'payment_method' => $payment,
					 'cc_type' => '',

			 'cc_owner' => '',
					 'cc_number' => '',

'cc_expires' => '',
					 'shipping_method' => $shipping['title'],

'shipping_cost' => $shipping['cost'],
					 'subtotal' => 0,
					 'tax' =>
0,
					 'tax_groups' => array(),
					 'comments' =>
(tep_session_is_registered('comments') && !empty($comments) ? $comments : ''));
 if (isset($GLOBALS[$payment])
&& is_object($GLOBALS[$payment])) {
 if (isset($GLOBALS[$payment]->public_title)) {
	 $this->info
['payment_method'] = $GLOBALS[$payment]->public_title;
 } else {
	 $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();
 //kgt - discount coupons
 global $coupon;
 if( tep_session_is_registered( 'coupon' ) && tep_not_null( $coupon ) ) {
 require_once( DIR_WS_CLASSES.'discount_coupon.php' );
 $this->coupon = new discount_coupon( $coupon, $this->delivery );
 $this->coupon->total_valid_products( $products );
 $valid_products_count = 0;
 }
 //end kgt - discount coupons	 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']);
 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++;
	 }
 }

$shown_price = $currencies->calculate_price($this->products[$index]['final_price'], $this->products[$index]['tax'],
$this->products[$index]['qty']);
 $this->info['subtotal'] += $shown_price;
 //kgt - discount coupon
 if( is_object( $this->coupon ) ) {
	 $applied_discount = 0;
	 $discount = $this->coupon->calculate_discount( $this->products[$index], $valid_products_count );
	 if( $discount['applied_discount'] > 0 ) $valid_products_count++;
	 $shown_price = $this->coupon->calculate_shown_price( $discount, $this->products[$index] );
	 $this->info['subtotal'] += $shown_price['shown_price'];
	 $shown_price = $shown_price['actual_shown_price'];
 } else {
	 $shown_price = tep_add_tax($this->products[$index]['final_price'], $this->products[$index]['tax']) *
$this->products[$index]['qty'];
	 $this->info['subtotal'] += $shown_price;
 }
 /**************
 $shown_price = tep_add_tax($this->products[$index]['final_price'], $this->products[$index]['tax']) * $this
->products[$index]['qty'];
 $this->info['subtotal'] += $shown_price;
 **************/
 //end kgt - discount coupon	 $products_tax = $this->products[$index]['tax'];

$products_tax_description = $this->products[$index]['tax_description'];
 if (DISPLAY_PRICE_WITH_TAX ==
'true') {
	 $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++;
 }

if (DISPLAY_PRICE_WITH_TAX == 'true') {
 $this->info['total'] = $this->info['subtotal'] + $this->info
['shipping_cost'];
 } else {
 $this->info['total'] = $this->info['subtotal'] + $this->info['tax'] +
$this->info['shipping_cost'];
 }	 //kgt - discount coupon
 if( is_object( $this->coupon ) ) {
 $this->info['total'] = $this->coupon->finalize_discount( $this->info );
 }
 //end kgt - discount coupon
}
}
?>

 

Thanks in advanced.

Link to comment
Share on other sites

please copy the relevant line from your code (line 360) in here ... the error obviously may be higher up or lower, still the exact line is important!

:-)

Monika

 

addicted to writing code ... can't get enough of databases either, LOL!

 

my toolbox: Textpad - Compare and Merge - phpMyAdmin - WS_FTP - Photoshop - How to search the forum

 

Interactive Media Award July 2007 ~ category E-Commerce

my advice on the forum is for free, PMs where you send me work are considered consultation which I charge for ...

Link to comment
Share on other sites

please copy the relevant line from your code (line 360) in here ... the error obviously may be higher up or lower, still the exact line is important!

 

Lines 360 and 361:

  if (DISPLAY_PRICE_WITH_TAX == 'true') {
    $this->info['total'] = $this->info['subtotal'] + $this->info['shipping_cost'];

Link to comment
Share on other sites

download textpad or any similar editor that gives you line numbers on the left of the window ...

:-)

Monika

 

addicted to writing code ... can't get enough of databases either, LOL!

 

my toolbox: Textpad - Compare and Merge - phpMyAdmin - WS_FTP - Photoshop - How to search the forum

 

Interactive Media Award July 2007 ~ category E-Commerce

my advice on the forum is for free, PMs where you send me work are considered consultation which I charge for ...

Link to comment
Share on other sites

@@REALGOODEAL

 

could you attach the order.php as file in your post?

:blink:
osCommerce based shop owner with minimal design and focused on background works. When the less is more.
Email managment with tracking pixel, package managment for shipping, stock management, warehouse managment with bar code reader, parcel shops management on 3000 pickup points without local store.

Link to comment
Share on other sites

@@REALGOODEAL

 

is it real?

$this->info['total'] = $this->coupon->finalize_discount( $this->info );

 

somewhere I found this code....

 

maybe like this:

$this->info['total'] = $this->coupon - finalize_discount( $this->info );

:blink:
osCommerce based shop owner with minimal design and focused on background works. When the less is more.
Email managment with tracking pixel, package managment for shipping, stock management, warehouse managment with bar code reader, parcel shops management on 3000 pickup points without local store.

Link to comment
Share on other sites

no @@Gergely, that is correct ... let's wait for the attached code, I tried to copy the code into my own textpad but the linebreaks did not copy over correctly.

:-)

Monika

 

addicted to writing code ... can't get enough of databases either, LOL!

 

my toolbox: Textpad - Compare and Merge - phpMyAdmin - WS_FTP - Photoshop - How to search the forum

 

Interactive Media Award July 2007 ~ category E-Commerce

my advice on the forum is for free, PMs where you send me work are considered consultation which I charge for ...

Link to comment
Share on other sites

Check to see if this is actually in your file:

	    $valid_products_count = 0;
	 }
	 //end kgt - discount coupons    for ($i=0, $n=sizeof($products); $i<$n; $i++) {
	 $this->products[$index] = array('qty' => $products[$i]['quantity'],

The 'for' should be on the next line. I think this is causing an unmatched } later on, which is ending a function early and the "if" statement following it is unexpected.

Link to comment
Share on other sites

Check to see if this is actually in your file:

	 $valid_products_count = 0;
	 }
	 //end kgt - discount coupons for ($i=0, $n=sizeof($products); $i<$n; $i++) {
	 $this->products[$index] = array('qty' => $products[$i]['quantity'],

The 'for' should be on the next line. I think this is causing an unmatched } later on, which is ending a function early and the "if" statement following it is unexpected.

 

Aha. That did it. Thanks.

 

I know next to nothing about php syntax and figured, like html, everything could go wherever without worry about line breaks--didn't even consider that.

Link to comment
Share on other sites

I'll gladly explain this to you.

 

In many cases, yes, it completely unimportant to do line breaks... but

 

not when you have a line that is a comment! If you add more stuff in the same line, it will still be commented out

 

you can do comments in blocks

/*

 

your comment here

 

*/

 

or you can do line comment, which means anything in that line will not be read/parsed

// your comment goes here

 

as you can see, the for (i=0...... etc etc stament could not be read/parsed as it was in the commented out line!

 

This is why I use a text editor that colors my comments yellow (textpad in my case). Without needing to think much, I will not confuse the code part with the comment parts!

 

HTH

:-)

Monika

 

addicted to writing code ... can't get enough of databases either, LOL!

 

my toolbox: Textpad - Compare and Merge - phpMyAdmin - WS_FTP - Photoshop - How to search the forum

 

Interactive Media Award July 2007 ~ category E-Commerce

my advice on the forum is for free, PMs where you send me work are considered consultation which I charge for ...

Link to comment
Share on other sites

Okay, so as per the installation instructions, I added these lines to my checkout_payment.php:

 

/* kgt - discount coupons */
if( MODULE_ORDER_TOTAL_DISCOUNT_COUPON_STATUS == 'true' ) {
?>
<h2><?php echo TABLE_HEADING_COUPON; ?></h2>
<div class="contentText">
</div>

 <div class="contentText">
 <?php echo ENTRY_DISCOUNT_COUPON.' '.tep_draw_input_field('coupon', '', 'size="32"', $coupon); ?>
</div>

<?php
}
/* end kgt - discount coupons */

 

But now I get the Parse error: syntax error, unexpected '}' on line 280, which in my text editor corrisponds to the } just before the /* end kgt - discount coupons */ above. What do I do?

 

Hopefully after fixing these minor pitfalls, I can avoid them in the future. I promise I'm a fast learner!

 

(Attached is the php in question.)

checkout_payment.php

Link to comment
Share on other sites

I'll gladly explain this to you.

 

In many cases, yes, it completely unimportant to do line breaks... but

 

not when you have a line that is a comment! If you add more stuff in the same line, it will still be commented out

 

you can do comments in blocks

/*

 

your comment here

 

*/

 

or you can do line comment, which means anything in that line will not be read/parsed

// your comment goes here

 

as you can see, the for (i=0...... etc etc stament could not be read/parsed as it was in the commented out line!

 

This is why I use a text editor that colors my comments yellow (textpad in my case). Without needing to think much, I will not confuse the code part with the comment parts!

 

HTH

 

I see! I will definitely keep that in mind. PHP does seem much more "open" then html (where EVERYTHING is tagged in a way that you can't miss it) so I can see that making sense. Thank you.

Link to comment
Share on other sites

you added the php code right into the middle of html code, without starting and ending the php section correctly.

 

it should be

 

<?php

     /* kgt - discount coupons */
if( MODULE_ORDER_TOTAL_DISCOUNT_COUPON_STATUS == 'true' ) {
?>
<h2><?php echo TABLE_HEADING_COUPON; ?></h2>

 <div class="contentText">
   </div>

       <div class="contentText">
       <?php echo ENTRY_DISCOUNT_COUPON.' '.tep_draw_input_field('coupon', '', 'size="32"', $coupon); ?>
   </div>

<?php
}
/* end kgt - discount coupons */     
?>

:-)

Monika

 

addicted to writing code ... can't get enough of databases either, LOL!

 

my toolbox: Textpad - Compare and Merge - phpMyAdmin - WS_FTP - Photoshop - How to search the forum

 

Interactive Media Award July 2007 ~ category E-Commerce

my advice on the forum is for free, PMs where you send me work are considered consultation which I charge for ...

Link to comment
Share on other sites

you added the php code right into the middle of html code, without starting and ending the php section correctly.

 

it should be

 

<?php

/* kgt - discount coupons */
if( MODULE_ORDER_TOTAL_DISCOUNT_COUPON_STATUS == 'true' ) {
?>
<h2><?php echo TABLE_HEADING_COUPON; ?></h2>

<div class="contentText">
</div>

<div class="contentText">
<?php echo ENTRY_DISCOUNT_COUPON.' '.tep_draw_input_field('coupon', '', 'size="32"', $coupon); ?>
</div>

<?php
}
/* end kgt - discount coupons */
?>

 

That did it! Thank you so much for all your help. :)

 

It seems to be working. Now I just gotta figure out how to add the coupons and see if adding them runs smoothly. Hopefully I will be able to fix it on my own next time. :lol:

Link to comment
Share on other sites

You're welcome! But as you said you don't know much about php (and probably databases either), it may be a good idea to get some beginners' books on both or look for online tutorials. It would save you so much time to understand the basics - this code is the heart of your business, right?

:-)

Monika

 

addicted to writing code ... can't get enough of databases either, LOL!

 

my toolbox: Textpad - Compare and Merge - phpMyAdmin - WS_FTP - Photoshop - How to search the forum

 

Interactive Media Award July 2007 ~ category E-Commerce

my advice on the forum is for free, PMs where you send me work are considered consultation which I charge for ...

Link to comment
Share on other sites

You're welcome! But as you said you don't know much about php (and probably databases either), it may be a good idea to get some beginners' books on both or look for online tutorials. It would save you so much time to understand the basics - this code is the heart of your business, right?

 

Yes, I have a friend who knows basic PHP and is going to lend me some books. They are, most likely, out dated by now, but at least knowing the basics (which I hope wouldn't have changed too drastically) would give me firmer starting ground. I do a lot of research for other things, and believe it or not, I actually had solved some other issues with the help of online tutorials. :lol: The Discount Coupons mod is probably just the most extensive I've had to deal with yet and is kind of daunting. :wacko:

 

But I will definitely be learning one way or another. Until then, I am grateful for generous and kind people like you! :)

 

In actuality, the site we're building is not for me, but rather, the company I work for. I've insisted they hire someone more familiar with PHP, but they've insisted that they will patiently wait for me. We currently work with eBay and Amazon but would like to break off and start solely selling on our own. Thus, the site.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...