Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

Offical Google Checkout module for osCommerce Support Thread


Silverado05

Recommended Posts

can someone PLEASE tell me how to restrict GC to USA only?

 

we only ship within the USA but I cannot find a way to prevent GC from giving the payment/shipping options of all countries.

 

thanks! :thumbsup:

 

Are you sure? Google checkout only works for US addresses last I knew... Check google's own help files at google checkout's site.

Most Valuable OsCommerce Contributions:

Also Purchased (AP) Preselection (cuts this resource hogging query down to nothing) -- Contribution 3294

FedEx Automated Labels -- Contribution 2244

RMA Returns system -- Contribution 1136

Sort Products By Dropdown -- Contribution 4312

Ultimate SEO URLs -- Contribution 2823

Credit Class & Gift Voucher -- Contribution 282

Cross-Sell -- Contribution 5347

Link to comment
Share on other sites

  • Replies 1.2k
  • Created
  • Last Reply

Top Posters In This Topic

Hello All,

 

I have 1.45A installed and working, with only 1 problem.

 

The problem is with merchant supplied shipping rates.

 

Google ignores my product weight and always returns 0.1 pounds as the shipping weight.

 

Consequently, the rates returned by Fedex and USPS are way too low, compared to the actual shipping cost.

 

Any thoughts on where I might start looking for this problem?

 

Thanks,

Dave

 

Don't know about the product weight issue, sounds like you have a problem elsewhere, not with google checkout. Does weight work when you checkout via standard checkout (weight displayed on shipping page). If it does not you messed up something long ago, and you probably need to revert some files such as your shopping_cart.php and classes/shopping_cart.php to a prior working backup, maybe more files but I wouldn't know exactly what else, try posting a new topic for help, and system admin would know where to fix that.

 

On the plus side if your weight shows up during standard checkout you just mis-installed google checkout. So go back through everything... twice.

Most Valuable OsCommerce Contributions:

Also Purchased (AP) Preselection (cuts this resource hogging query down to nothing) -- Contribution 3294

FedEx Automated Labels -- Contribution 2244

RMA Returns system -- Contribution 1136

Sort Products By Dropdown -- Contribution 4312

Ultimate SEO URLs -- Contribution 2823

Credit Class & Gift Voucher -- Contribution 282

Cross-Sell -- Contribution 5347

Link to comment
Share on other sites

Thanks for the reply.

 

I think I have figured out what's happening.

 

The shipping "name" that is used in google checkout is hard coded with a weight of 0 LB for Fedex and 0.1 LB for USPS.

So that's what shows shows up as the customer's selected shipping option and weight.

The actual weight IS used for the shipping calculations, it just doesn't show up as it would on a normal order.

 

I removed the hard coded weight from the text string "name" to avoid confusion.

 

 

Thanks again,

Dave

Link to comment
Share on other sites

I am having an issue and I'm not sure if it's me wanting things to happen instantaneously or if I have installed it wrong. Anyways, I can't see Google Checkout as a payment option under my payment module. I matched up everything according to the installation.txt doc and still can't see it. Any ideas? Thanks.

Link to comment
Share on other sites

I am having an issue and I'm not sure if it's me wanting things to happen instantaneously or if I have installed it wrong. Anyways, I can't see Google Checkout as a payment option under my payment module. I matched up everything according to the installation.txt doc and still can't see it. Any ideas? Thanks.

 

 

Sounds like you probably installed something that should be in the catalog in the catalog/admin directory or vice versa. Verify where all the files are uploaded on your server...

Most Valuable OsCommerce Contributions:

Also Purchased (AP) Preselection (cuts this resource hogging query down to nothing) -- Contribution 3294

FedEx Automated Labels -- Contribution 2244

RMA Returns system -- Contribution 1136

Sort Products By Dropdown -- Contribution 4312

Ultimate SEO URLs -- Contribution 2823

Credit Class & Gift Voucher -- Contribution 282

Cross-Sell -- Contribution 5347

Link to comment
Share on other sites

Sounds like you probably installed something that should be in the catalog in the catalog/admin directory or vice versa. Verify where all the files are uploaded on your server...

 

 

Nope, everything is where they should be according to the installation.txt file.

Link to comment
Share on other sites

Nope, everything is where they should be according to the installation.txt file.

 

 

This is the only error I get when I try to go to the responsehander.php file:

 

Fatal error: Cannot instantiate non-existent class: googlecheckout in /home/zhmotors/public_html/catalog/googlecheckout/responsehandler.php on line 126

 

I had to change the file permissions to allow of the manual changes, so that part is done as well.

 

Any other ideas/suggestions? Thanks.

Link to comment
Share on other sites

This is the only error I get when I try to go to the responsehander.php file:

 

Fatal error: Cannot instantiate non-existent class: googlecheckout in /home/zhmotors/public_html/catalog/googlecheckout/responsehandler.php on line 126

 

I had to change the file permissions to allow of the manual changes, so that part is done as well.

 

Any other ideas/suggestions? Thanks.

 

100% sure you missed something in the installation then.... This new error basically means it is looking for a class that is not there, so you likely missed something in the install or put it in the wrong area or file...

Most Valuable OsCommerce Contributions:

Also Purchased (AP) Preselection (cuts this resource hogging query down to nothing) -- Contribution 3294

FedEx Automated Labels -- Contribution 2244

RMA Returns system -- Contribution 1136

Sort Products By Dropdown -- Contribution 4312

Ultimate SEO URLs -- Contribution 2823

Credit Class & Gift Voucher -- Contribution 282

Cross-Sell -- Contribution 5347

Link to comment
Share on other sites

100% sure you missed something in the installation then.... This new error basically means it is looking for a class that is not there, so you likely missed something in the install or put it in the wrong area or file...

 

 

Do I put the "Googlecheckout" folder into the "catalog" folder?

 

Also I am still unable to see Google Checkout as one of my payment modules.

 

Thanks for your help.

Link to comment
Share on other sites

Do I put the "Googlecheckout" folder into the "catalog" folder?

 

Also I am still unable to see Google Checkout as one of my payment modules.

 

Thanks for your help.

 

 

I just re-installed all files and then GoogleCheckout showed up..........strange. Oh well, thanks for ya'lls help.

Link to comment
Share on other sites

New Question:

 

Where do I specify tax rates? Specifically which php file? I found the code I need, but have no idea where to put it so that when people use Google Checkout, Google calculates sales tax.

 

Thanks.

 

Read the docs, and the forum, I just posted an answer to this question a page or two ago...

Most Valuable OsCommerce Contributions:

Also Purchased (AP) Preselection (cuts this resource hogging query down to nothing) -- Contribution 3294

FedEx Automated Labels -- Contribution 2244

RMA Returns system -- Contribution 1136

Sort Products By Dropdown -- Contribution 4312

Ultimate SEO URLs -- Contribution 2823

Credit Class & Gift Voucher -- Contribution 282

Cross-Sell -- Contribution 5347

Link to comment
Share on other sites

google checkout doesn't transfer over the shipping rate (i'm using table rate).

 

anyone can help?

 

Read the docs that came with the contrib, it explains how you can use google carrier calculated shipping based upon fedex and ups shipping rates. Your table rates will not work in the current version without rewriting part of the contrib, however if you do get the table rates to work please post your solution so we can all benefit. :thumbsup:

Most Valuable OsCommerce Contributions:

Also Purchased (AP) Preselection (cuts this resource hogging query down to nothing) -- Contribution 3294

FedEx Automated Labels -- Contribution 2244

RMA Returns system -- Contribution 1136

Sort Products By Dropdown -- Contribution 4312

Ultimate SEO URLs -- Contribution 2823

Credit Class & Gift Voucher -- Contribution 282

Cross-Sell -- Contribution 5347

Link to comment
Share on other sites

  • 2 weeks later...

i'm having an issue with googlecheckout. everything works great except for this one thing.

 

i deleted some orders from the database 7617 and 7618. so there's a gap in the order numbers. now when a customer places an order through google checkout, the order shows up, then disappears. i looked at google checkout, and it shows the assigned order number to be 7618 which was a week ago.

 

any way to remedy this?

Link to comment
Share on other sites

How do I get an option for Google checkout on the 'checkout_payment.php' page under the 'payment method' heading? I want to be able to do this so that when people select google checkout on this page, the price sent to google checkout includes the shipping amount.

 

Please can someone help me out with this. I'm sure there is an easy fix for this, it is just beyond my capabilites!!!

 

Alex.

 

 

u cannot, google have made it that way

What if I want my customers to be able to view shipping costs before choosing the Google Checkout option?

Link to comment
Share on other sites

I've searched but haven't found a similar post:

 

I've installed the GC contrib. When I go to admin to edit the settings for it, nothing is stored. I hit the "update" button but everything goes back to the default settings and my merchant info/key data is back to being blank again.

 

Any ideas?

Link to comment
Share on other sites

I have my settings all to sandbox, yet my response for purchases made on the site are:

 

We encountered an error trying to access your server at https://myurl.com/catalog/googlecheckout/responsehandler.php -- the error we got is: Send failed with code: 400. Response body was: Invalid or not supported Message

 

When I pull up my responsehandler.php page, I get the log in box. Once I enter my sandbox ids I then get a 400 error too.

 

What went wrong?

Link to comment
Share on other sites

Please ignore my last two posts. I have resolved these issues. I do have the followng problem and would really like assistance with it.

 

I have a ups_fedex_usps tracking module installed on my cart. I have every step implemented and working nicely ,but I have not been able to install the 3B section correctly. If someone could help me with this, I'd appreciate it:

 

Here is my code as it exists now. Where would I put in 3B?

 

<?php

/*

$Id: orders.php,v 1.107 2003/02/06 17:37:08 thomasamoulton Exp $

 

osCommerce, Open Source E-Commerce Solutions

http://www.oscommerce.com

 

Copyright © 2002 osCommerce

 

Released under the GNU General Public License

*/

 

require('includes/application_top.php');

 

require(DIR_WS_CLASSES . 'currencies.php');

$currencies = new currencies();

 

$orders_statuses = array();

$orders_status_array = array();

$orders_status_query = tep_db_query("select orders_status_id, orders_status_name from " . TABLE_ORDERS_STATUS . " where language_id = '" . $languages_id . "'");

while ($orders_status = tep_db_fetch_array($orders_status_query)) {

$orders_statuses[] = array('id' => $orders_status['orders_status_id'],

'text' => $orders_status['orders_status_name']);

$orders_status_array[$orders_status['orders_status_id']] = $orders_status['orders_status_name'];

}

 

switch ($HTTP_GET_VARS['action']) {

case 'update_order':

$oID = tep_db_prepare_input($HTTP_GET_VARS['oID']);

$status = tep_db_prepare_input($HTTP_POST_VARS['status']);

$comments = tep_db_prepare_input($HTTP_POST_VARS['comments']);

/* ** GOOGLE CHECKOUT **/

define('GC_STATE_NEW', 100);

define('GC_STATE_PROCESSING', 101);

define('GC_STATE_SHIPPED', 102);

define('GC_STATE_REFUNDED', 103);

define('GC_STATE_SHIPPED_REFUNDED', 104);

define('GC_STATE_CANCELED', 105);

function google_checkout_state_change($check_status, $status, $oID,

$cust_notify, $notify_comments) {

global $db,$messageStack, $orders_statuses;

 

define('API_CALLBACK_ERROR_LOG',

DIR_FS_CATALOG. "/googlecheckout/logs/response_error.log");

define('API_CALLBACK_MESSAGE_LOG',

DIR_FS_CATALOG . "/googlecheckout/logs/response_message.log");

 

include_once(DIR_FS_CATALOG.'/includes/modules/payment/googlecheckout.php');

include_once(DIR_FS_CATALOG.'/googlecheckout/library/googlerequest.php');

 

$googlepayment = new googlecheckout();

 

$Grequest = new GoogleRequest($googlepayment->merchantid,

$googlepayment->merchantkey,

MODULE_PAYMENT_GOOGLECHECKOUT_MODE==

'https://sandbox.google.com/checkout/'

?"sandbox":"production",

DEFAULT_CURRENCY);

$Grequest->SetLogFiles(API_CALLBACK_ERROR_LOG, API_CALLBACK_MESSAGE_LOG);

 

 

$google_answer = tep_db_fetch_array(tep_db_query("SELECT go.google_order_number, go.order_amount, o.customers_email_address, gc.buyer_id, o.customers_id

FROM " . $googlepayment->table_order . " go

inner join " . TABLE_ORDERS . " o on go.orders_id = o.orders_id

inner join " . $googlepayment->table_name . " gc on gc.customers_id = o.customers_id

WHERE go.orders_id = '" . (int)$oID ."'

group by o.customers_id order by o.orders_id desc"));

 

$google_order = $google_answer['google_order_number'];

$amount = $google_answer['order_amount'];

 

// If status update is from Google New -> Google Processing on the Admin UI

// this invokes the processing-order and charge-order commands

// 1->Google New, 2-> Google Processing

if($check_status['orders_status'] == GC_STATE_NEW

&& $status == GC_STATE_PROCESSING && $google_order != '') {

list($curl_status,) = $Grequest->SendChargeOrder($google_order, $amount);

if($curl_status != 200) {

$messageStack->add_session(GOOGLECHECKOUT_ERR_SEND_CHARGE_ORDER, 'error');

}

else {

$messageStack->add_session(GOOGLECHECKOUT_SUCCESS_SEND_CHARGE_ORDER, 'success');

}

list($curl_status,) = $Grequest->SendProcessOrder($google_order);

if($curl_status != 200) {

$messageStack->add_session(GOOGLECHECKOUT_ERR_SEND_PROCESS_ORDER, 'error');

}

else {

$messageStack->add_session(GOOGLECHECKOUT_SUCCESS_SEND_PROCESS_ORDER, 'success');

}

}

 

// If status update is from Google Processing or Google Refunded -> Google Shipped on the Admin UI

// this invokes the deliver-order and archive-order commands

// 2->Google Processing or Google Refunded, 3-> Google Shipped (refunded)

else if(($check_status['orders_status'] == GC_STATE_PROCESSING

|| $check_status['orders_status'] == GC_STATE_REFUNDED)

&& ($status == GC_STATE_SHIPPED || $status == GC_STATE_SHIPPED_REFUNDED )

&& $google_order != '') {

$carrier = $tracking_no = "";

// Add tracking Data

if(isset($_POST['carrier_select']) && ($_POST['carrier_select'] != 'select')

&& isset($_POST['tracking_number']) && !empty($_POST['tracking_number'])) {

$carrier = $_POST['carrier_select'];

$tracking_no = $_POST['tracking_number'];

$comments = GOOGLECHECKOUT_STATE_STRING_TRACKING ."\n" .

GOOGLECHECKOUT_STATE_STRING_TRACKING_CARRIER . $_POST['carrier_select'] ."\n" .

GOOGLECHECKOUT_STATE_STRING_TRACKING_NUMBER . $_POST['tracking_number'] . "";

tep_db_query("insert into " . TABLE_ORDERS_STATUS_HISTORY . "

(orders_id, orders_status_id, date_added, customer_notified, comments)

values ('" . (int)$oID . "',

'" . tep_db_input(($check_status['orders_status']==GC_STATE_REFUNDED

?GC_STATE_SHIPPED_REFUNDED:GC_STATE_SHIPPED)) . "',

now(),

'" . tep_db_input($cust_notify) . "',

'" . tep_db_input($comments) . "')");

 

}

 

list($curl_status,) = $Grequest->SendDeliverOrder($google_order, $carrier,

$tracking_no, ($cust_notify==1)?"true":"false");

if($curl_status != 200) {

$messageStack->add_session(GOOGLECHECKOUT_ERR_SEND_DELIVER_ORDER, 'error');

}

else {

$messageStack->add_session(GOOGLECHECKOUT_SUCCESS_SEND_DELIVER_ORDER, 'success');

}

list($curl_status,) = $Grequest->SendArchiveOrder($google_order);

if($curl_status != 200) {

$messageStack->add_session(GOOGLECHECKOUT_ERR_SEND_ARCHIVE_ORDER, 'error');

}

else {

$messageStack->add_session(GOOGLECHECKOUT_SUCCESS_SEND_ARCHIVE_ORDER, 'success');

}

}

// If status update is to Google Canceled on the Admin UI

// this invokes the cancel-order and archive-order commands

else if($check_status['orders_status'] != GC_STATE_CANCELED &&

$status == GC_STATE_CANCELED && $google_order != '') {

if($check_status['orders_status'] != GC_STATE_NEW){

list($curl_status,) = $Grequest->SendRefundOrder($google_order, 0,

GOOGLECHECKOUT_STATE_STRING_ORDER_CANCELED

);

if($curl_status != 200) {

$messageStack->add_session(GOOGLECHECKOUT_ERR_SEND_REFUND_ORDER, 'error');

}

else {

$messageStack->add_session(GOOGLECHECKOUT_SUCCESS_SEND_REFUND_ORDER, 'success');

}

}

else {

// Tell google witch is the OSC's internal order Number

list($curl_status,) = $Grequest->SendMerchantOrderNumber($google_order, $oID);

if($curl_status != 200) {

$messageStack->add_session(GOOGLECHECKOUT_ERR_SEND_MERCHANT_ORDER_NUMBER, 'error');

}

else {

$messageStack->add_session(GOOGLECHECKOUT_SUCCESS_SEND_MERCHANT_ORDER_NUMBER, 'success');

}

}

// Is the order is not archive, I do it

if($check_status['orders_status'] != GC_STATE_SHIPPED

&& $check_status['orders_status'] != GC_STATE_SHIPPED_REFUNDED){

list($curl_status,) = $Grequest->SendArchiveOrder($google_order);

if($curl_status != 200) {

$messageStack->add_session(GOOGLECHECKOUT_ERR_SEND_ARCHIVE_ORDER, 'error');

}

else {

$messageStack->add_session(GOOGLECHECKOUT_SUCCESS_SEND_ARCHIVE_ORDER, 'success');

}

}

// Cancel the order

list($curl_status,) = $Grequest->SendCancelOrder($google_order,

GOOGLECHECKOUT_STATE_STRING_ORDER_CANCELED,

$notify_comments);

if($curl_status != 200) {

$messageStack->add_session(GOOGLECHECKOUT_ERR_SEND_CANCEL_ORDER, 'error');

}

else {

$messageStack->add_session(GOOGLECHECKOUT_SUCCESS_SEND_CANCEL_ORDER, 'success');

}

}

else if($google_order != ''

&& $check_status['orders_status'] != $status){

$statuses = array();

foreach($orders_statuses as $status_array){

$statuses[$status_array['id']] = $status_array['text'];

}

$messageStack->add_session( sprintf(GOOGLECHECKOUT_ERR_INVALID_STATE_TRANSITION,

$statuses[$check_status['orders_status']],

$statuses[$status],

$statuses[$check_status['orders_status']]),

'error');

}

 

// Send Buyer's message

if($cust_notify==1 && isset($notify_comments) && !empty($notify_comments)) {

$cust_notify_ok = '0';

if(!((strlen(htmlentities(strip_tags($notify_comments))) > GOOGLE_MESSAGE_LENGTH)

&& MODULE_PAYMENT_GOOGLECHECKOUT_USE_CART_MESSAGING=='True')){

 

list($curl_status,) = $Grequest->sendBuyerMessage($google_order,

$notify_comments, "true");

if($curl_status != 200) {

$messageStack->add_session(GOOGLECHECKOUT_ERR_SEND_MESSAGE_ORDER, 'error');

$cust_notify_ok = '0';

}

else {

$messageStack->add_session(GOOGLECHECKOUT_SUCCESS_SEND_MESSAGE_ORDER, 'success');

$cust_notify_ok = '1';

}

if(strlen(htmlentities(strip_tags($notify_comments))) > GOOGLE_MESSAGE_LENGTH) {

$messageStack->add_session(

sprintf(GOOGLECHECKOUT_WARNING_CHUNK_MESSAGE, GOOGLE_MESSAGE_LENGTH), 'warning');

}

}

// Cust notified

return $cust_notify_ok;

}

// Cust notified

return '0';

}

// ** END GOOGLE CHECKOUT **

// ---------------------------------------------------------------------------------------

// ups_fedex_usps tracking

/*Tracking contribution begin*/

$ups_track_num = tep_db_prepare_input($HTTP_POST_VARS['ups_track_num']);

$ups_track_num2 = tep_db_prepare_input($HTTP_POST_VARS['ups_track_num2']);

$ups_track_num3 = tep_db_prepare_input($HTTP_POST_VARS['ups_track_num3']);

$usps_track_num = tep_db_prepare_input($HTTP_POST_VARS['usps_track_num']);

$usps_track_num2 = tep_db_prepare_input($HTTP_POST_VARS['usps_track_num2']);

$usps_track_num3 = tep_db_prepare_input($HTTP_POST_VARS['usps_track_num3']);

$fedex_track_num = tep_db_prepare_input($HTTP_POST_VARS['fedex_track_num']);

$fedex_track_num2 = tep_db_prepare_input($HTTP_POST_VARS['fedex_track_num2']);

$fedex_track_num3 = tep_db_prepare_input($HTTP_POST_VARS['fedex_track_num3']);

// ---------------------------------------------------------------------------------------

 

$order_updated = false;

// ---------------------------------------------------------------------------------------

// ups_fedex_usps tracking

// $check_status_query = tep_db_query("select customers_name, customers_email_address, orders_status, date_purchased from " . TABLE_ORDERS . " where orders_id = '" . tep_db_input($oID) . "'");

$check_status_query = tep_db_query("select customers_name, customers_email_address, orders_status, fedex_track_num, ups_track_num, usps_track_num, date_purchased from " . TABLE_ORDERS . " where orders_id = '" . tep_db_input($oID) . "'");

// ---------------------------------------------------------------------------------------

$check_status = tep_db_fetch_array($check_status_query);

 

// BOF: WebMakers.com Added: Downloads Controller

// always update date and time on order_status

// if ($check_status['orders_status'] != $status || $comments != '') {

// tep_db_query("update " . TABLE_ORDERS . " set orders_status = '" . tep_db_input($status) . "', last_modified = now() where orders_id = '" . tep_db_input($oID) . "'");

if ($check_status['orders_status'] != $status || $comments != '' || ($status ==DOWNLOADS_ORDERS_STATUS_UPDATED_VALUE) ) {

tep_db_query("update " . TABLE_ORDERS . " set orders_status = '" . tep_db_input($status) . "', last_modified = now() where orders_id = '" . tep_db_input($oID) . "'");

$check_status_query2 = tep_db_query("select customers_name, customers_email_address, orders_status, date_purchased from " . TABLE_ORDERS . " where orders_id = '" . tep_db_input($oID) . "'");

$check_status2 = tep_db_fetch_array($check_status_query2);

if ( $check_status2['orders_status']==DOWNLOADS_ORDERS_STATUS_UPDATED_VALUE ) {

tep_db_query("update " . TABLE_ORDERS_PRODUCTS_DOWNLOAD . " set download_maxdays = '" . tep_get_configuration_key_value('DOWNLOAD_MAX_DAYS') . "', download_count = '" . tep_get_configuration_key_value('DOWNLOAD_MAX_COUNT') . "' where orders_id = '" . tep_db_input($oID) . "'");

}

// EOF: WebMakers.com Added: Downloads Controller

// ---------------------------------------------------------------------------------------

 

// ---------------------------------------------------------------------------------------

// ups_fedex_usps tracking

/*

$customer_notified = '0';

if ($HTTP_POST_VARS['notify'] == 'on') {

$notify_comments = '';

if ($HTTP_POST_VARS['notify_comments'] == 'on') {

$notify_comments = sprintf(EMAIL_TEXT_COMMENTS_UPDATE, $comments) . "\n\n";

}

$email = STORE_NAME . "\n" . EMAIL_SEPARATOR . "\n" . EMAIL_TEXT_ORDER_NUMBER . ' ' . $oID . "\n" . EMAIL_TEXT_INVOICE_URL . ' ' . tep_catalog_href_link(FILENAME_CATALOG_ACCOUNT_HISTORY_INFO, 'order_id=' . $oID, 'SSL') . "\n" . EMAIL_TEXT_DATE_ORDERED . ' ' . tep_date_long($check_status['date_purchased']) . "\n\n" . $notify_comments . sprintf(EMAIL_TEXT_STATUS_UPDATE, $orders_status_array[$status]);

tep_mail($check_status['customers_name'], $check_status['customers_email_address'], EMAIL_TEXT_SUBJECT, nl2br($email), STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS);

$customer_notified = '1';

}

*/

/*Tracking contribution begin*/

// $customer_notified = '0';

// if ($HTTP_POST_VARS['notify'] == 'on' & $ups_track_num == '' & $fedex_track_num == '' & $usps_track_num == '' ) {

// $notify_comments = '';

// BOF: WebMakers.com Added: Downloads Controller - Only tell of comments if there are comments

// if ($HTTP_POST_VARS['notify_comments'] == 'on' and $comments) {

// $notify_comments = sprintf(EMAIL_TEXT_COMMENTS_UPDATE, $comments) . "\n\n";

// }

// EOF: WebMakers.com Added: Downloads Controller

 

// note downloads controller and ups tracking need to be intergrated.

 

/*Tracking contribution begin*/

$customer_notified = '0';

if ($HTTP_POST_VARS['notify'] == 'on' & $ups_track_num == '' & $fedex_track_num == '' & $usps_track_num == '' ) {

$notify_comments = '';

if ($HTTP_POST_VARS['notify_comments'] == 'on') {

$notify_comments = sprintf(EMAIL_TEXT_COMMENTS_UPDATE, $comments) . "\n\n";

}

$email = STORE_NAME . "\n" . EMAIL_SEPARATOR . "\n" . EMAIL_TEXT_ORDER_NUMBER . ' ' . $oID . "\n" . EMAIL_TEXT_INVOICE_URL . ' ' . tep_catalog_href_link(FILENAME_CATALOG_ACCOUNT_HISTORY_INFO, 'order_id=' . $oID, 'SSL') . "\n" . EMAIL_TEXT_DATE_ORDERED . ' ' . tep_date_long($check_status['date_purchased']) . "\n\n" . $notify_comments . sprintf(EMAIL_TEXT_STATUS_UPDATE, $orders_status_array[$status]);

tep_mail($check_status['customers_name'], $check_status['customers_email_address'], EMAIL_TEXT_SUBJECT, nl2br($email), STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS);

$customer_notified = '1';

} elseif ($HTTP_POST_VARS['notify'] == 'on' & tep_not_null($ups_track_num) & $fedex_track_num == '' & $usps_track_num == '' ) {

$notify_comments = '';

if ($HTTP_POST_VARS['notify_comments'] == 'on') {

$notify_comments = sprintf(EMAIL_TEXT_COMMENTS_UPDATE, $comments) . "\n\n";

}

$email = STORE_NAME . "\n" . EMAIL_SEPARATOR . "\n" . EMAIL_TEXT_ORDER_NUMBER . ' ' . $oID . "\n" . EMAIL_TEXT_INVOICE_URL . ' ' . tep_catalog_href_link(FILENAME_CATALOG_ACCOUNT_HISTORY_INFO, 'order_id=' . $oID, 'SSL') . "\n" . EMAIL_TEXT_DATE_ORDERED . ' ' . tep_date_long($check_status['date_purchased']) . "\n\n" . EMAIL_TEXT_TRACKING_NUMBER . ' ' . tep_catalog_href_link(FILENAME_CATALOG_ACCOUNT_HISTORY_INFO, 'order_id=' . $oID, 'SSL') . "\n\n" . $notify_comments . sprintf(EMAIL_TEXT_STATUS_UPDATE, $orders_status_array[$status]);

tep_mail($check_status['customers_name'], $check_status['customers_email_address'], EMAIL_TEXT_SUBJECT, nl2br($email), STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS);

$customer_notified = '1';

} elseif ($HTTP_POST_VARS['notify'] == 'on' & $ups_track_num == '' & tep_not_null($fedex_track_num) & $usps_track_num == '' ) {

$notify_comments = '';

if ($HTTP_POST_VARS['notify_comments'] == 'on') {

$notify_comments = sprintf(EMAIL_TEXT_COMMENTS_UPDATE, $comments) . "\n\n";

}

$email = STORE_NAME . "\n" . EMAIL_SEPARATOR . "\n" . EMAIL_TEXT_ORDER_NUMBER . ' ' . $oID . "\n" . EMAIL_TEXT_INVOICE_URL . ' ' . tep_catalog_href_link(FILENAME_CATALOG_ACCOUNT_HISTORY_INFO, 'order_id=' . $oID, 'SSL') . "\n" . EMAIL_TEXT_DATE_ORDERED . ' ' . tep_date_long($check_status['date_purchased']) . "\n\n" . EMAIL_TEXT_TRACKING_NUMBER . ' ' . tep_catalog_href_link(FILENAME_CATALOG_ACCOUNT_HISTORY_INFO, 'order_id=' . $oID, 'SSL') . "\n\n" . $notify_comments . sprintf(EMAIL_TEXT_STATUS_UPDATE, $orders_status_array[$status]);

tep_mail($check_status['customers_name'], $check_status['customers_email_address'], EMAIL_TEXT_SUBJECT, nl2br($email), STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS);

$customer_notified = '1';

} elseif ($HTTP_POST_VARS['notify'] == 'on' & $ups_track_num == '' & $fedex_track_num == '' & tep_not_null($usps_track_num) ) {

$notify_comments = '';

if ($HTTP_POST_VARS['notify_comments'] == 'on') {

$notify_comments = sprintf(EMAIL_TEXT_COMMENTS_UPDATE, $comments) . "\n\n";

}

$email = STORE_NAME . "\n" . EMAIL_SEPARATOR . "\n" . EMAIL_TEXT_ORDER_NUMBER . ' ' . $oID . "\n" . EMAIL_TEXT_INVOICE_URL . ' ' . tep_catalog_href_link(FILENAME_CATALOG_ACCOUNT_HISTORY_INFO, 'order_id=' . $oID, 'SSL') . "\n" . EMAIL_TEXT_DATE_ORDERED . ' ' . tep_date_long($check_status['date_purchased']) . "\n\n" . EMAIL_TEXT_TRACKING_NUMBER . ' ' . tep_catalog_href_link(FILENAME_CATALOG_ACCOUNT_HISTORY_INFO, 'order_id=' . $oID, 'SSL') . "\n\n" . $notify_comments . sprintf(EMAIL_TEXT_STATUS_UPDATE, $orders_status_array[$status]);

tep_mail($check_status['customers_name'], $check_status['customers_email_address'], EMAIL_TEXT_SUBJECT, nl2br($email), STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS);

$customer_notified = '1';

}

/*Tracking contribution end*/

// ---------------------------------------------------------------------------------------

 

tep_db_query("insert into " . TABLE_ORDERS_STATUS_HISTORY . " (orders_id, orders_status_id, date_added, customer_notified, comments) values ('" . tep_db_input($oID) . "', '" . tep_db_input($status) . "', now(), '" . $customer_notified . "', '" . tep_db_input($comments) . "')");

 

$order_updated = true;

}

 

// ---------------------------------------------------------------------------------------

/*Tracking contribution begin*/

if (tep_not_null($ups_track_num)) {

tep_db_query("update " . TABLE_ORDERS . " set ups_track_num = '" . tep_db_input($ups_track_num) . "' where orders_id = '" . tep_db_input($oID) . "'");

$order_updated = true;

}

if (tep_not_null($ups_track_num2)) {

tep_db_query("update " . TABLE_ORDERS . " set ups_track_num2 = '" . tep_db_input($ups_track_num2) . "' where orders_id = '" . tep_db_input($oID) . "'");

$order_updated = true;

}

if (tep_not_null($ups_track_num3)) {

tep_db_query("update " . TABLE_ORDERS . " set ups_track_num3 = '" . tep_db_input($ups_track_num3) . "' where orders_id = '" . tep_db_input($oID) . "'");

$order_updated = true;

}

 

if (tep_not_null($usps_track_num)) {

tep_db_query("update " . TABLE_ORDERS . " set usps_track_num = '" . tep_db_input($usps_track_num) . "' where orders_id = '" . tep_db_input($oID) . "'");

$order_updated = true;

}

if (tep_not_null($usps_track_num2)) {

tep_db_query("update " . TABLE_ORDERS . " set usps_track_num2 = '" . tep_db_input($usps_track_num2) . "' where orders_id = '" . tep_db_input($oID) . "'");

$order_updated = true;

}

if (tep_not_null($usps_track_num3)) {

tep_db_query("update " . TABLE_ORDERS . " set usps_track_num3 = '" . tep_db_input($usps_track_num3) . "' where orders_id = '" . tep_db_input($oID) . "'");

$order_updated = true;

}

 

if (tep_not_null($fedex_track_num)) {

tep_db_query("update " . TABLE_ORDERS . " set fedex_track_num = '" . tep_db_input($fedex_track_num) . "' where orders_id = '" . tep_db_input($oID) . "'");

$order_updated = true;

}

if (tep_not_null($fedex_track_num2)) {

tep_db_query("update " . TABLE_ORDERS . " set fedex_track_num2 = '" . tep_db_input($fedex_track_num2) . "' where orders_id = '" . tep_db_input($oID) . "'");

$order_updated = true;

}

if (tep_not_null($fedex_track_num3)) {

tep_db_query("update " . TABLE_ORDERS . " set fedex_track_num3 = '" . tep_db_input($fedex_track_num3) . "' where orders_id = '" . tep_db_input($oID) . "'");

$order_updated = true;

}

/*Tracking contribution end*/

// ---------------------------------------------------------------------------------------

 

 

if ($order_updated) {

$messageStack->add_session(SUCCESS_ORDER_UPDATED, 'success');

} else {

$messageStack->add_session(WARNING_ORDER_NOT_UPDATED, 'warning');

}

 

tep_redirect(tep_href_link(FILENAME_ORDERS, tep_get_all_get_params(array('action')) . 'action=edit'));

break;

case 'deleteconfirm':

$oID = tep_db_prepare_input($HTTP_GET_VARS['oID']);

 

tep_remove_order($oID, $HTTP_POST_VARS['restock']);

 

tep_redirect(tep_href_link(FILENAME_ORDERS, tep_get_all_get_params(array('oID', 'action'))));

break;

}

 

if ( ($HTTP_GET_VARS['action'] == 'edit') && ($HTTP_GET_VARS['oID']) ) {

$oID = tep_db_prepare_input($HTTP_GET_VARS['oID']);

 

$orders_query = tep_db_query("select orders_id from " . TABLE_ORDERS . " where orders_id = '" . tep_db_input($oID) . "'");

$order_exists = true;

if (!tep_db_num_rows($orders_query)) {

$order_exists = false;

$messageStack->add(sprintf(ERROR_ORDER_DOES_NOT_EXIST, $oID), 'error');

}

}

 

// ---------------------------------------------------------------------------------------

// BOF: WebMakers.com Added: Additional info for Orders

// Look up things in orders

$the_extra_query= tep_db_query("select * from " . TABLE_ORDERS . " where orders_id = '" . tep_db_input($oID) . "'");

$the_extra= tep_db_fetch_array($the_extra_query);

$the_customers_id= $the_extra['customers_id'];

// Look up things in customers

$the_extra_query= tep_db_query("select * from " . TABLE_CUSTOMERS . " where customers_id = '" . $the_customers_id . "'");

$the_extra= tep_db_fetch_array($the_extra_query);

$the_customers_fax= $the_extra['customers_fax'];

// EOF: WebMakers.com Added: Additional info for Orders

// ---------------------------------------------------------------------------------------

 

include(DIR_WS_CLASSES . 'order.php');

?>

<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">

<html <?php echo HTML_PARAMS; ?>>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>">

<title><?php echo TITLE; ?></title>

<link rel="stylesheet" type="text/css" href="includes/stylesheet.css">

</head>

<body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0" bgcolor="#FFFFFF">

<!-- header //-->

<?php

require(DIR_WS_INCLUDES . 'header.php');

?>

<!-- header_eof //-->

 

<!-- body //-->

<table border="0" width="100%" cellspacing="2" cellpadding="2">

<tr>

<td width="<?php echo BOX_WIDTH; ?>" valign="top"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="1" cellpadding="1" class="columnLeft">

<!-- left_navigation //-->

<?php require(DIR_WS_INCLUDES . 'column_left.php'); ?>

<!-- left_navigation_eof //-->

</table></td>

<!-- body_text //-->

<td width="100%" valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="2">

<?php

if ( ($HTTP_GET_VARS['action'] == 'edit') && ($order_exists) ) {

$order = new order($oID);

?>

<tr>

<td width="100%"><table border="0" width="100%" cellspacing="0" cellpadding="0">

<tr>

<td class="pageHeading"><?php echo HEADING_TITLE; ?></td>

<td class="pageHeading" align="right"><?php echo tep_draw_separator('pixel_trans.gif', 1, HEADING_IMAGE_HEIGHT); ?></td>

<td class="pageHeading" align="right"><?php echo '<a href="' . tep_href_link(FILENAME_ORDERS, tep_get_all_get_params(array('action'))) . '">' . tep_image_button('button_back.gif', IMAGE_BACK) . '</a>'; ?></td>

</tr>

</table></td>

</tr>

<tr>

<td><table width="100%" border="0" cellspacing="0" cellpadding="2">

<tr>

<td colspan="3"><?php echo tep_draw_separator(); ?></td>

</tr>

<tr>

<td valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="2">

<tr>

<td class="main" valign="top"><b><?php echo ENTRY_CUSTOMER; ?></b></td>

<td class="main"><?php echo tep_address_format($order->customer['format_id'], $order->customer, 1, ' ', '<br>'); ?></td>

</tr>

<tr>

<td colspan="2"><?php echo tep_draw_separator('pixel_trans.gif', '1', '5'); ?></td>

</tr>

<tr>

<td class="main"><b><?php echo ENTRY_TELEPHONE; ?></b></td>

<td class="main"><?php echo $order->customer['telephone']; ?></td>

</tr>

<?php

// BOF: WebMakers.com Added: Downloads Controller - Extra order info

?>

<tr>

<td class="main"><b><?php echo 'FAX #:'; ?></b></td>

<td class="main"><?php echo $the_customers_fax; ?></td>

</tr>

<?php

// EOF: WebMakers.com Added: Downloads Controller

?>

<tr>

<td class="main"><b><?php echo ENTRY_EMAIL_ADDRESS; ?></b></td>

<td class="main"><?php echo '<a href="mailto:' . $order->customer['email_address'] . '"><u>' . $order->customer['email_address'] . '</u></a>'; ?></td>

</tr>

</table></td>

<td valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="2">

<tr>

<td class="main" valign="top"><b><?php echo ENTRY_SHIPPING_ADDRESS; ?></b></td>

<td class="main"><?php echo tep_address_format($order->delivery['format_id'], $order->delivery, 1, ' ', '<br>'); ?></td>

</tr>

</table></td>

<td valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="2">

<tr>

<td class="main" valign="top"><b><?php echo ENTRY_BILLING_ADDRESS; ?></b></td>

<td class="main"><?php echo tep_address_format($order->billing['format_id'], $order->billing, 1, ' ', '<br>'); ?></td>

</tr>

</table></td>

</tr>

</table></td>

</tr>

<tr>

<td><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td>

</tr>

<tr>

<td>

<table border="0" cellspacing="0" cellpadding="2" width="100%">

<?php

// BOF: WebMakers.com Added: Show Order Info

?>

<!-- add Order # // -->

<tr>

<td class="main" width="20%"><b>Order Number:</b></td>

<td class="main" width="80%"><?php echo tep_db_input($oID); ?></td>

</tr>

<!-- add date/time // -->

<tr>

<td class="main"><b>Order Date & Time:</b></td>

<td class="main"><?php echo tep_datetime_short($order->info['date_purchased']); ?></td>

</tr>

<?php

// EOF: WebMakers.com Added: Show Order Info

?>

<tr>

<td class="main"><b><?php echo ENTRY_PAYMENT_METHOD; ?></b></td>

<td class="main"><?php echo $order->info['payment_method']; ?></td>

</tr>

<?php

if ( (($order->info['cc_type']) || ($order->info['cc_owner']) || ($order->info['cc_number'])) ) {

?>

<tr>

<td colspan="2"><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td>

</tr>

<tr>

<td class="main"><?php echo ENTRY_CREDIT_CARD_TYPE; ?></td>

<td class="main"><?php echo $order->info['cc_type']; ?></td>

</tr>

<tr>

<td class="main"><?php echo ENTRY_CREDIT_CARD_OWNER; ?></td>

<td class="main"><?php echo $order->info['cc_owner']; ?></td>

</tr>

<tr>

<td class="main"><?php echo ENTRY_CREDIT_CARD_NUMBER; ?></td>

<td class="main"><?php echo $order->info['cc_number']; ?></td>

</tr>

<tr>

<td class="main"><?php echo ENTRY_CREDIT_CARD_EXPIRES; ?></td>

<td class="main"><?php echo $order->info['cc_expires']; ?></td>

</tr>

<?php

}

?>

</table>

</td>

</tr>

<tr>

<td><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td>

</tr>

<tr>

<td><table border="0" width="100%" cellspacing="0" cellpadding="2">

<tr class="dataTableHeadingRow">

<td class="dataTableHeadingContent" colspan="2"><?php echo TABLE_HEADING_PRODUCTS; ?></td>

<td class="dataTableHeadingContent"><?php echo TABLE_HEADING_PRODUCTS_MODEL; ?></td>

<td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_TAX; ?></td>

<td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_PRICE_EXCLUDING_TAX; ?></td>

<td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_PRICE_INCLUDING_TAX; ?></td>

<td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_TOTAL_EXCLUDING_TAX; ?></td>

<td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_TOTAL_INCLUDING_TAX; ?></td>

</tr>

<?php

for ($i = 0, $n = sizeof($order->products); $i < $n; $i++) {

echo ' <tr class="dataTableRow">' . "\n" .

' <td class="dataTableContent" valign="top" align="right">' . $order->products[$i]['qty'] . ' x</td>' . "\n" .

' <td class="dataTableContent" valign="top">' . $order->products[$i]['name'];

 

if (sizeof($order->products[$i]['attributes']) > 0) {

for ($j = 0, $k = sizeof($order->products[$i]['attributes']); $j < $k; $j++) {

echo '<br><nobr><small> <i> - ' . $order->products[$i]['attributes'][$j]['option'] . ': ' . $order->products[$i]['attributes'][$j]['value'];

if ($order->products[$i]['attributes'][$j]['price'] != '0') echo ' (' . $order->products[$i]['attributes'][$j]['prefix'] . $currencies->format($order->products[$i]['attributes'][$j]['price'] * $order->products[$i]['qty'], true, $order->info['currency'], $order->info['currency_value']) . ')';

echo '</i></small></nobr>';

}

}

 

echo ' </td>' . "\n" .

' <td class="dataTableContent" valign="top">' . $order->products[$i]['model'] . '</td>' . "\n" .

' <td class="dataTableContent" align="right" valign="top">' . tep_display_tax_value($order->products[$i]['tax']) . '%</td>' . "\n" .

' <td class="dataTableContent" align="right" valign="top"><b>' . $currencies->format($order->products[$i]['final_price'], true, $order->info['currency'], $order->info['currency_value']) . '</b></td>' . "\n" .

' <td class="dataTableContent" align="right" valign="top"><b>' . $currencies->format(tep_add_tax($order->products[$i]['final_price'], $order->products[$i]['tax']), true, $order->info['currency'], $order->info['currency_value']) . '</b></td>' . "\n" .

' <td class="dataTableContent" align="right" valign="top"><b>' . $currencies->format($order->products[$i]['final_price'] * $order->products[$i]['qty'], true, $order->info['currency'], $order->info['currency_value']) . '</b></td>' . "\n" .

' <td class="dataTableContent" align="right" valign="top"><b>' . $currencies->format(tep_add_tax($order->products[$i]['final_price'], $order->products[$i]['tax']) * $order->products[$i]['qty'], true, $order->info['currency'], $order->info['currency_value']) . '</b></td>' . "\n";

echo ' </tr>' . "\n";

}

?>

<tr>

<td align="right" colspan="8"><table border="0" cellspacing="0" cellpadding="2">

<?php

for ($i = 0, $n = sizeof($order->totals); $i < $n; $i++) {

echo ' <tr>' . "\n" .

' <td align="right" class="smallText">' . $order->totals[$i]['title'] . '</td>' . "\n" .

' <td align="right" class="smallText">' . $order->totals[$i]['text'] . '</td>' . "\n" .

' </tr>' . "\n";

}

?>

</table></td>

</tr>

</table></td>

</tr>

<tr>

<td><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td>

</tr>

<tr>

<td class="main"><table border="1" cellspacing="0" cellpadding="5">

<tr>

<td class="smallText" align="center"><b><?php echo TABLE_HEADING_DATE_ADDED; ?></b></td>

<td class="smallText" align="center"><b><?php echo TABLE_HEADING_CUSTOMER_NOTIFIED; ?></b></td>

<td class="smallText" align="center"><b><?php echo TABLE_HEADING_STATUS; ?></b></td>

<td class="smallText" align="center"><b><?php echo TABLE_HEADING_COMMENTS; ?></b></td>

</tr>

<?php

$orders_history_query = tep_db_query("select orders_status_id, date_added, customer_notified, comments from " . TABLE_ORDERS_STATUS_HISTORY . " where orders_id = '" . tep_db_input($oID) . "' order by date_added");

if (tep_db_num_rows($orders_history_query)) {

while ($orders_history = tep_db_fetch_array($orders_history_query)) {

echo ' <tr>' . "\n" .

' <td class="smallText" align="center">' . tep_datetime_short($orders_history['date_added']) . '</td>' . "\n" .

' <td class="smallText" align="center">';

if ($orders_history['customer_notified'] == '1') {

echo tep_image(DIR_WS_ICONS . 'tick.gif', ICON_TICK) . "</td>\n";

} else {

echo tep_image(DIR_WS_ICONS . 'cross.gif', ICON_CROSS) . "</td>\n";

}

echo ' <td class="smallText">' . $orders_status_array[$orders_history['orders_status_id']] . '</td>' . "\n" .

' <td class="smallText">' . nl2br(tep_db_output($orders_history['comments'])) . ' </td>' . "\n" .

' </tr>' . "\n";

}

} else {

echo ' <tr>' . "\n" .

' <td class="smallText" colspan="5">' . TEXT_NO_ORDER_HISTORY . '</td>' . "\n" .

' </tr>' . "\n";

}

?>

</table></td>

</tr>

<tr>

<td class="main"><br><b><?php echo TABLE_HEADING_COMMENTS; ?></b></td>

</tr>

<tr>

<td><?php echo tep_draw_separator('pixel_trans.gif', '1', '5'); ?></td>

</tr>

<tr><?php echo tep_draw_form('status', FILENAME_ORDERS, tep_get_all_get_params(array('action')) . 'action=update_order'); ?>

<td class="main"><?php echo tep_draw_textarea_field('comments', 'soft', '60', '5'); ?></td>

</tr>

<?php

// ---------------------------------------------------------------------------------------

// ups_fedex_usps tracking

/*Tracking contribution begin*/

?>

<tr>

<td class="main"><b><?php echo TABLE_HEADING_UPS_TRACKING; ?></b>  <?php echo tep_draw_textbox_field('ups_track_num', '20', '18', '', $order->info['ups_track_num']); ?>  <?php echo tep_draw_textbox_field('ups_track_num2', '20', '18', '', $order->info['ups_track_num2']); ?>  <?php echo tep_draw_textbox_field('ups_track_num3', '20', '18', '', $order->info['ups_track_num3']); ?></td>

</tr>

<tr>

<td><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td>

</tr>

<tr>

<td class="main"><b><?php echo TABLE_HEADING_FEDEX_TRACKING; ?></b>  <?php echo tep_draw_textbox_field('fedex_track_num', '20', '18', '', $order->info['fedex_track_num']); ?>  <?php echo tep_draw_textbox_field('fedex_track_num2', '20', '18', '', $order->info['fedex_track_num2']); ?>  <?php echo tep_draw_textbox_field('fedex_track_num3', '20', '18', '', $order->info['fedex_track_num3']); ?></td>

</tr>

<tr>

<td><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td>

</tr>

<tr>

<td class="main"><b><?php echo TABLE_HEADING_USPS_TRACKING; ?></b>  <?php echo tep_draw_textbox_field('usps_track_num', '24', '24', '', $order->info['usps_track_num']); ?>  <?php echo tep_draw_textbox_field('usps_track_num2', '24', '24', '', $order->info['usps_track_num2']); ?>  <?php echo tep_draw_textbox_field('usps_track_num3', '24', '24', '', $order->info['usps_track_num3']); ?></td>

</tr>

<tr>

<td><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td>

</tr>

<?php

/*Tracking contribution end*/

// ---------------------------------------------------------------------------------------

?>

<tr>

<td><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td>

</tr>

<tr>

<td><table border="0" cellspacing="0" cellpadding="2">

<tr>

<td><table border="0" cellspacing="0" cellpadding="2">

<tr>

<td class="main"><b><?php echo ENTRY_STATUS; ?></b> <?php echo tep_draw_pull_down_menu('status', $orders_statuses, $order->info['orders_status']); ?></td>

</tr>

<tr>

<td class="main"><b><?php echo ENTRY_NOTIFY_CUSTOMER; ?></b> <?php echo tep_draw_checkbox_field('notify', '', true); ?></td>

<td class="main"><b><?php echo ENTRY_NOTIFY_COMMENTS; ?></b> <?php echo tep_draw_checkbox_field('notify_comments', '', true); ?></td>

</tr>

</table></td> <td valign="top"><?php echo tep_image_submit('button_update.gif', IMAGE_UPDATE); ?></td><!-- googlecheckout Tracking Number --><?php // orders_status == STATE_PROCESSING -> Processing before delivery

if(strpos($order->info['payment_method'], 'Google')!= -1 && $order->info['orders_status'] == GC_STATE_PROCESSING){echo '<td><table border="0" cellpadding="3" cellspacing="0" width="100%"> <tbody><tr> <td style="border-top: 2px solid rgb(255, 255, 255); border-right: 2px solid rgb(255, 255, 255);" nowrap="nowrap" colspan="2"><b>Shipping Information</b> </td> </tr><tr> <td nowrap="nowrap" valign="middle" width="1%"> <font size="2"> <b>Tracking:</b> </font> </td> <td style="border-right: 2px solid rgb(255, 255, 255); border-bottom: 2px solid rgb(255, 255, 255);" nowrap="nowrap"> <input name="tracking_number" style="color: rgb(0, 0, 0);" id="trackingBox" size="20" type="text"> </td> </tr> <tr> <td nowrap="nowrap" valign="middle" width="1%"> <font size="2"> <b>Carrier:</b> </font> </td> <td style="border-right: 2px solid rgb(255, 255, 255);" nowrap="nowrap"> <select name="carrier_select" style="color: rgb(0, 0, 0);" id="carrierSelect"> <option value="select" selected="selected"> Select ... </option> <option value="USPS"> USPS </option> <option value="DHL"> DHL </option> <option value="UPS"> UPS </option> <option value="Other"> Other </option> <option value="FedEx"> FedEx </option> </select> </td> </tr> </tbody> </table></td>'; }?><!-- end googlecheckout Tracking Number --> </tr> </table></td>

</form></tr>

<tr>

<td colspan="2" align="right"><?php echo '<a href="' . tep_href_link(FILENAME_ORDERS_INVOICE, 'oID=' . $HTTP_GET_VARS['oID']) . '" TARGET="_blank">' . tep_image_button('button_invoice.gif', IMAGE_ORDERS_INVOICE) . '</a> <a href="' . tep_href_link(FILENAME_ORDERS_PACKINGSLIP, 'oID=' . $HTTP_GET_VARS['oID']) . '" TARGET="_blank">' . tep_image_button('button_packingslip.gif', IMAGE_ORDERS_PACKINGSLIP) . '</a> <a href="' . tep_href_link(FILENAME_ORDERS, tep_get_all_get_params(array('action'))) . '">' . tep_image_button('button_back.gif', IMAGE_BACK) . '</a>'; ?></td>

</tr>

<?php

} else {

?>

<tr>

<td width="100%"><table border="0" width="100%" cellspacing="0" cellpadding="0">

<tr>

<td class="pageHeading"><?php echo HEADING_TITLE; ?></td>

<td class="pageHeading" align="right"><?php echo tep_draw_separator('pixel_trans.gif', 1, HEADING_IMAGE_HEIGHT); ?></td>

<td align="right"><table border="0" width="100%" cellspacing="0" cellpadding="0">

<tr><?php echo tep_draw_form('orders', FILENAME_ORDERS, '', 'get'); ?>

<td class="smallText" align="right"><?php echo HEADING_TITLE_SEARCH . ' ' . tep_draw_input_field('oID', '', 'size="12"') . tep_draw_hidden_field('action', 'edit'); ?></td>

</form></tr>

<tr><?php echo tep_draw_form('status', FILENAME_ORDERS, '', 'get'); ?>

<td class="smallText" align="right"><?php echo HEADING_TITLE_STATUS . ' ' . tep_draw_pull_down_menu('status', tep_array_merge(array(array('id' => '', 'text' => TEXT_ALL_ORDERS)), $orders_statuses), '', 'onChange="this.form.submit();"'); ?></td>

</form></tr>

</table></td>

</tr>

</table></td>

</tr>

<tr>

<td><table border="0" width="100%" cellspacing="0" cellpadding="0">

<tr>

<td valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="2">

<tr class="dataTableHeadingRow">

<td class="dataTableHeadingContent"><?php echo TABLE_HEADING_CUSTOMERS; ?></td>

<td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_ORDER_TOTAL; ?></td>

<td class="dataTableHeadingContent" align="center"><?php echo TABLE_HEADING_DATE_PURCHASED; ?></td>

<td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_STATUS; ?></td>

<td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_ACTION; ?> </td>

</tr>

<?php

if ($HTTP_GET_VARS['cID']) {

$cID = tep_db_prepare_input($HTTP_GET_VARS['cID']);

$orders_query_raw = "select o.orders_id, o.customers_name, o.customers_id, o.payment_method, o.date_purchased, o.last_modified, o.currency, o.currency_value, s.orders_status_name, ot.text as order_total from " . TABLE_ORDERS . " o left join " . TABLE_ORDERS_TOTAL . " ot on (o.orders_id = ot.orders_id), " . TABLE_ORDERS_STATUS . " s where o.customers_id = '" . tep_db_input($cID) . "' and o.orders_status = s.orders_status_id and s.language_id = '" . $languages_id . "' and ot.class = 'ot_total' order by orders_id DESC";

} elseif ($HTTP_GET_VARS['status']) {

$status = tep_db_prepare_input($HTTP_GET_VARS['status']);

$orders_query_raw = "select o.orders_id, o.customers_name, o.payment_method, o.date_purchased, o.last_modified, o.currency, o.currency_value, s.orders_status_name, ot.text as order_total from " . TABLE_ORDERS . " o left join " . TABLE_ORDERS_TOTAL . " ot on (o.orders_id = ot.orders_id), " . TABLE_ORDERS_STATUS . " s where o.orders_status = s.orders_status_id and s.language_id = '" . $languages_id . "' and s.orders_status_id = '" . tep_db_input($status) . "' and ot.class = 'ot_total' order by o.orders_id DESC";

} else {

$orders_query_raw = "select o.orders_id, o.customers_name, o.payment_method, o.date_purchased, o.last_modified, o.currency, o.currency_value, s.orders_status_name, ot.text as order_total from " . TABLE_ORDERS . " o left join " . TABLE_ORDERS_TOTAL . " ot on (o.orders_id = ot.orders_id), " . TABLE_ORDERS_STATUS . " s where o.orders_status = s.orders_status_id and s.language_id = '" . $languages_id . "' and ot.class = 'ot_total' order by o.orders_id DESC";

}

$orders_split = new splitPageResults($HTTP_GET_VARS['page'], MAX_DISPLAY_SEARCH_RESULTS, $orders_query_raw, $orders_query_numrows);

$orders_query = tep_db_query($orders_query_raw);

while ($orders = tep_db_fetch_array($orders_query)) {

if (((!$HTTP_GET_VARS['oID']) || ($HTTP_GET_VARS['oID'] == $orders['orders_id'])) && (!$oInfo)) {

$oInfo = new objectInfo($orders);

}

 

if ( (is_object($oInfo)) && ($orders['orders_id'] == $oInfo->orders_id) ) {

echo ' <tr class="dataTableRowSelected" onmouseover="this.style.cursor=\'hand\'" onclick="document.location.href=\'' . tep_href_link(FILENAME_ORDERS, tep_get_all_get_params(array('oID', 'action')) . 'oID=' . $oInfo->orders_id . '&action=edit') . '\'">' . "\n";

} else {

echo ' <tr class="dataTableRow" onmouseover="this.className=\'dataTableRowOver\';this.style.cursor=\'hand\'" onmouseout="this.className=\'dataTableRow\'" onclick="document.location.href=\'' . tep_href_link(FILENAME_ORDERS, tep_get_all_get_params(array('oID')) . 'oID=' . $orders['orders_id']) . '\'">' . "\n";

}

?>

<td class="dataTableContent"><?php echo '<a href="' . tep_href_link(FILENAME_ORDERS, tep_get_all_get_params(array('oID', 'action')) . 'oID=' . $orders['orders_id'] . '&action=edit') . '">' . tep_image(DIR_WS_ICONS . 'preview.gif', ICON_PREVIEW) . '</a> ' . $orders['customers_name']; ?></td>

<td class="dataTableContent" align="right"><?php echo strip_tags($orders['order_total']); ?></td>

<td class="dataTableContent" align="center"><?php echo tep_datetime_short($orders['date_purchased']); ?></td>

<td class="dataTableContent" align="right"><?php echo $orders['orders_status_name']; ?></td>

<td class="dataTableContent" align="right"><?php if ( (is_object($oInfo)) && ($orders['orders_id'] == $oInfo->orders_id) ) { echo tep_image(DIR_WS_IMAGES . 'icon_arrow_right.gif', ''); } else { echo '<a href="' . tep_href_link(FILENAME_ORDERS, tep_get_all_get_params(array('oID')) . 'oID=' . $orders['orders_id']) . '">' . tep_image(DIR_WS_IMAGES . 'icon_info.gif', IMAGE_ICON_INFO) . '</a>'; } ?> </td>

</tr>

<?php

}

?>

<tr>

<td colspan="5"><table border="0" width="100%" cellspacing="0" cellpadding="2">

<tr>

<td class="smallText" valign="top"><?php echo $orders_split->display_count($orders_query_numrows, MAX_DISPLAY_SEARCH_RESULTS, $HTTP_GET_VARS['page'], TEXT_DISPLAY_NUMBER_OF_ORDERS); ?></td>

<td class="smallText" align="right"><?php echo $orders_split->display_links($orders_query_numrows, MAX_DISPLAY_SEARCH_RESULTS, MAX_DISPLAY_PAGE_LINKS, $HTTP_GET_VARS['page'], tep_get_all_get_params(array('page', 'oID', 'action'))); ?></td>

</tr>

</table></td>

</tr>

</table></td>

<?php

$heading = array();

$contents = array();

switch ($HTTP_GET_VARS['action']) {

case 'delete':

$heading[] = array('text' => '<b>' . TEXT_INFO_HEADING_DELETE_ORDER . '</b>');

 

$contents = array('form' => tep_draw_form('orders', FILENAME_ORDERS, tep_get_all_get_params(array('oID', 'action')) . 'oID=' . $oInfo->orders_id . '&action=deleteconfirm'));

$contents[] = array('text' => TEXT_INFO_DELETE_INTRO . '<br><br><b>' . $cInfo->customers_firstname . ' ' . $cInfo->customers_lastname . '</b>');

$contents[] = array('text' => '<br>' . tep_draw_checkbox_field('restock') . ' ' . TEXT_INFO_RESTOCK_PRODUCT_QUANTITY);

$contents[] = array('align' => 'center', 'text' => '<br>' . tep_image_submit('button_delete.gif', IMAGE_DELETE) . ' <a href="' . tep_href_link(FILENAME_ORDERS, tep_get_all_get_params(array('oID', 'action')) . 'oID=' . $oInfo->orders_id) . '">' . tep_image_button('button_cancel.gif', IMAGE_CANCEL) . '</a>');

break;

default:

if (is_object($oInfo)) {

$heading[] = array('text' => '<b>[' . $oInfo->orders_id . ']  ' . tep_datetime_short($oInfo->date_purchased) . '</b>');

 

$contents[] = array('align' => 'center', 'text' => '<a href="' . tep_href_link(FILENAME_ORDERS, tep_get_all_get_params(array('oID', 'action')) . 'oID=' . $oInfo->orders_id . '&action=edit') . '">' . tep_image_button('button_edit.gif', IMAGE_EDIT) . '</a> <a href="' . tep_href_link(FILENAME_ORDERS, tep_get_all_get_params(array('oID', 'action')) . 'oID=' . $oInfo->orders_id . '&action=delete') . '">' . tep_image_button('button_delete.gif', IMAGE_DELETE) . '</a>');

$contents[] = array('align' => 'center', 'text' => '<a href="' . tep_href_link(FILENAME_ORDERS_INVOICE, 'oID=' . $oInfo->orders_id) . '" TARGET="_blank">' . tep_image_button('button_invoice.gif', IMAGE_ORDERS_INVOICE) . '</a> <a href="' . tep_href_link(FILENAME_ORDERS_PACKINGSLIP, 'oID=' . $oInfo->orders_id) . '" TARGET="_blank">' . tep_image_button('button_packingslip.gif', IMAGE_ORDERS_PACKINGSLIP) . '</a>');

$contents[] = array('text' => '<br>' . TEXT_DATE_ORDER_CREATED . ' ' . tep_date_short($oInfo->date_purchased));

if (tep_not_null($oInfo->last_modified)) $contents[] = array('text' => TEXT_DATE_ORDER_LAST_MODIFIED . ' ' . tep_date_short($oInfo->last_modified));

$contents[] = array('text' => '<br>' . TEXT_INFO_PAYMENT_METHOD . ' ' . $oInfo->payment_method);

}

break;

}

 

if ( (tep_not_null($heading)) && (tep_not_null($contents)) ) {

echo ' <td width="25%" valign="top">' . "\n";

 

$box = new box;

echo $box->infoBox($heading, $contents);

 

echo ' </td>' . "\n";

}

?>

</tr>

</table></td>

</tr>

<?php

}

?>

</table></td>

<!-- body_text_eof //-->

</tr>

</table>

<!-- body_eof //-->

 

<!-- footer //-->

<?php

require(DIR_WS_INCLUDES . 'footer.php');

?>

<!-- footer_eof //-->

<br>

</body>

</html>

<?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?>

Link to comment
Share on other sites

You're getting a little too deep into the checkout code for me to know what you are talking about but use the gc_return.php and add that clear cart thingy I mentioned to it to clear the cart. That is only for google checkout use the default oscommerce page for regular checkout

 

HI homewetbar, been following your discussion with jfkafka and his various problems; you both seem pretty clued up on the coding going on, more than me anyway. Anyway, i seem to be running trouble free minus the teeny tiny issue you discussed which i am experiencing, which is the cart not emptying on return from google checkout process. You mentioned adding:-

 

$cart->reset(TRUE);

to gc_return.php. does it matter where this snippet of code goes?

could you advise on the perfect place to embed it within the gc_return.php file please???

 

Many thanks!!!

Link to comment
Share on other sites

i got this messge:

 

* DIR_FS_CATALOG and DIR_WS_MODULES may be wrong configured in includes/configure.php file. This dir doens't exists: /mnt/w0206/d25/s32/b02b6bff/www/luoguoya.com/store//catalogincludes/modules/shipping/

Link to comment
Share on other sites

HI homewetbar, been following your discussion with jfkafka and his various problems; you both seem pretty clued up on the coding going on, more than me anyway. Anyway, i seem to be running trouble free minus the teeny tiny issue you discussed which i am experiencing, which is the cart not emptying on return from google checkout process. You mentioned adding:-

 

$cart->reset(TRUE);

to gc_return.php. does it matter where this snippet of code goes?

could you advise on the perfect place to embed it within the gc_return.php file please???

 

Many thanks!!!

 

Shouldn't make a lot of difference try moving it around in the code till you find a spot that works. Please note the cart will not be reset until you visit another page AFTER that page with the code in it...

Most Valuable OsCommerce Contributions:

Also Purchased (AP) Preselection (cuts this resource hogging query down to nothing) -- Contribution 3294

FedEx Automated Labels -- Contribution 2244

RMA Returns system -- Contribution 1136

Sort Products By Dropdown -- Contribution 4312

Ultimate SEO URLs -- Contribution 2823

Credit Class & Gift Voucher -- Contribution 282

Cross-Sell -- Contribution 5347

Link to comment
Share on other sites

Can anyone help me with my integration problem on 3b of the install?

 

I'm going to tell you the same thing I tell everyone else. Since everyone's code varies slightly (yours is very different from mine), and I seem to be the only one answering questions, you will need to diagnose this yourself.

 

*** THIS GOES FOR EVERYONE when trying to fix a problem with code you are trying to add, backup your files, then move it around a bit in your code till you find a spot that works. The worst case is it won't work and you can revert to your backup copy.... :thumbsup:

Edited by homewetbar

Most Valuable OsCommerce Contributions:

Also Purchased (AP) Preselection (cuts this resource hogging query down to nothing) -- Contribution 3294

FedEx Automated Labels -- Contribution 2244

RMA Returns system -- Contribution 1136

Sort Products By Dropdown -- Contribution 4312

Ultimate SEO URLs -- Contribution 2823

Credit Class & Gift Voucher -- Contribution 282

Cross-Sell -- Contribution 5347

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...