Jump to content
Sign in to follow this  
bmcewan

Purchase Without Account Updated & Admin Functionality

Recommended Posts

razorjack

 

Just in case you're still pondering this, I have PWA and Gift vouchers installed together and working OK. However, if someone buys a voucher using PWA he doesn't get it. You either have to then email it to him or else place a warning on the "Proceed directly to checkout" option and te product info to prevent people using this method for vouchers.

 

Coupons can be redeemed fine during the PWA process.

 

Tim

Share this post


Link to post
Share on other sites

Karthika

 

The form field you have the problem with are all set up in

catalog/includes/modules/Order_Info_Check.php.

 

Have a look in there for extra ?'s

 

Tim

Share this post


Link to post
Share on other sites

Just wondering, what do you guys think about the log off button for guest users? Should they have this or not?

 

Pro's:

 

It'll make user feel more safe that they logged off rather than closing your website if they first chose to checkout without account and decide not to buy. But if they do buy they'll just automatically log off correct?

 

Con's:

 

If a guest account hits log off before finishing processing their purchase they would have to fill out the form again, but now if they don't have the log off they'll feel like they have to close the browser and then go back to the website to shop around again before deciding.

 

What you guys think?

 

Thanks!

Share this post


Link to post
Share on other sites

Here's an idea maybe someone could code, on the log off page if the user is signed on as a guest account and click's log off that their could be a display warning saying that are you sure you want to log off, and that they would have to refill all their information again if they wish to make another purcahse or just signup with an account ? That way it's no longer accidental and they have the benefit of the log off button.

Share this post


Link to post
Share on other sites

tlelliott77,

 

Thanks very much. I had put an incorrect file, Order_Info_Check.php, in the path catalog/includes/modules/Order_Info_Check.php

 

How did I get the incorrect file:-

When I had unzipped the file ,PWA_0.71.zip, there were two Order_Info_Check.php files and didn't unzip with 'folders option' and so got the wrong file in the 'current' folder into which I had unzipped.

 

After Reading your post I had unzipped with 'folders option in winzip' and put the correct file in the path catalog/includes/modules

Edited by Karthika

Share this post


Link to post
Share on other sites

Attempting a PWA install on 2.2 and for the life of me I cannot find the file:

 

/catalog/includes/languages/english/images/buttons/button_create_account.gif

 

or the damned gif anywhere in my install to save my life. I've developed a healthy respect for installing mods to my store and I tend to get jumpy when a portion of the install instructions deviates from my setup. Can someone clarify what's going on here? Why wouldn't I have this file?

Share this post


Link to post
Share on other sites

yea that file is not in the stock osc but it should be included in the pwa .zip file.

Share this post


Link to post
Share on other sites

Well, did the installation twice to make sure I didn't screw it up somehow - the "proceed w/o account" options never showed up for me - the page resized to fit the box horizontally, but it just never showed up.

 

I think I'm going to set up a test server with Loaded or Max and add it there - then migrate if it's sucessful. Does anyone know of a good db migration tool'? Like to just extract products?

Share this post


Link to post
Share on other sites

talon177

 

My personal feeling is that a PWA customer should not feel that they are logged on at any stage so I have changed the login / logoff so that a PWA customer still sees "Log In".

 

I've changed the "My Account" link to "Create Account" as well. A PWA customer could still get to the My Account page in theory, but shouldn't be able to find it unless they know the OSC page names.

 

Tim

Share this post


Link to post
Share on other sites

The PWA part of this contrib seems to work great, just installed this yesterday, although when I try to create an account know, I get this:

 

Parse error: parse error, unexpected $ in /usr/home/www/www.xtracta.com/create_account.php on line 543

 

Any ideas?

Share this post


Link to post
Share on other sites

Ahhh!

 

Having another problem, this time in /catalog/admin/orders.php

 

This was the code that was supplied in the latest release (0.71_1):

 

// start pwa changes  $pwa_check_query= tep_db

_query("select purchased_without_account from " . TABLE_ORDERS . " where orders_id = '" . tep_db_input($oID) . "'");$pwa_check= tep_db_fetch_array($pwa_check_query); if ($pwa_check['purchased_without_account'] != '1'){           $email = STOR_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]); } 
else {   $email = STORE_NAME . "\n" . EMAIL_SEPARATOR . "\n" . EMAIL_TEXT_ORDER_NUMBER . ' ' . $oID . "\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, $email, STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS);

          $customer_notified = '1';         }

 

That didn't work for me, got a parse error:

 

Parse error: parse error, unexpected T_CASE in /usr/home/www/www.xtracta.com/admin/orders.php on line 74

 

Tried to clean it up, noticed a possible typo where STOR_NAME appeared (should this be STORE_NAME) so I changed it, and tried to clean things up a bit, here's the changes I made:

 

    $pwa_check_query= tep_db_query("select purchased_without_account from " . TABLE_ORDERS . " where orders_id = '" . tep_db_input($oID) . "'");$pwa_check= tep_db_fetch_array($pwa_check_query); 
          if ($pwa_check['purchased_without_account'] != '1'){           
          $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]); 
          } else {   
          $email = STORE_NAME . "\n" . EMAIL_SEPARATOR . "\n" . EMAIL_TEXT_ORDER_NUMBER . ' ' . $oID . "\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, $email, STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS);

          $customer_notified = '1';         
          }

 

Getting the same parse error, but this time on line 77.

 

This happens anytime I go to view orders from the Admin CP naturally. Does anybody have any suggestions on how this can be corrected? It would be greatly appreciated.

 

Many thanks!

Share this post


Link to post
Share on other sites

Well, upon reloading /catalog/admin/orders.php, and using the code from the "previous" release (0.71) it appears as if the problem is solved. 0.71_1 was supposed to make the installation instructions a bit more friendly, but after looking at the instructions in 0.71, the 0.71_1 ones appears ten times worse as far as the code formatting goes. I just hope it didn't break something else in the process (have a few contribs installed.)

 

For the record, the following contribs have been installed:

 

STS, UltraPics, FedEx Direct, and Burt's Dynamic Meta Tags.

Share this post


Link to post
Share on other sites
talon177

 

My personal feeling is that a PWA customer should not feel that they are logged on at any stage so I have changed the login / logoff so that a PWA customer still sees "Log In".

 

I've changed the "My Account" link to "Create Account" as well. A PWA customer could still get to the My Account page in theory, but shouldn't be able to find it unless they know the OSC page names.

 

Tim

Thanks for the insight

Share this post


Link to post
Share on other sites
talon177

 

My personal feeling is that a PWA customer should not feel that they are logged on at any stage so I have changed the login / logoff so that a PWA customer still sees "Log In". 

 

How did you go about doing this? Would it be possible for you to share the code you use?

Share this post


Link to post
Share on other sites

If I use a existing account login in /catalog/login.php , and then have a error

in /catalog/login.php?action=process ,

The error info is:

Warning: Cannot modify header information - headers already sent by (output started at /home/tai/public_html/shop/catalog/includes/languages/english/login.php:28) in /home/tai/public_html/shop/catalog/includes/functions/general.php on line 29

 

If I use directly checkout without login in /catalog/Order_Info.php , when I submit, then have a error in /catalog/Order_Info_Process.php

The error info is:

Warning: Cannot modify header information - headers already sent by (output started at /home/tai/public_html/shop/catalog/includes/languages/english/login.php:28) in /home/tai/public_html/shop/catalog/includes/functions/general.php on line 29

 

Please help me!

thanks.

Share this post


Link to post
Share on other sites

Hello Showsky,

 

Welcome to the forums. Just to let you know the best tool here is the search function, located at the top right of the screen. A search for "Cannot modify header information" gives many results. After viewing a few of the results, you would see that the most common reason for this error is extra spaces after the last "?>" at the bottom of the file. Make sure there are no extra spaces or other white spaced (such as carriage returns) at the bottom of any of the files you modified.

Share this post


Link to post
Share on other sites

signfx

 

QUOTE (tlelliott77 @ Jun 9 2004, 08:24 AM)
talon177

 

My personal feeling is that a PWA customer should not feel that they are logged on at any stage so I have changed the login / logoff so that a PWA customer still sees "Log In". 

How did you go about doing this? Would it be possible for you to share the code you use?

 

See the last post on page 33 of this thread.

 

Tim

Share this post


Link to post
Share on other sites

I have instaleld this on 2-3 sites as of now, and I cant get the login page to span 100% width.

 

I opened up login.php and it appears to be set to 100% width by defualt, yet it always seems to be more to the left of the page and only goes accross about 75% of the way.

 

Is there a simple way to correct this?

Share this post


Link to post
Share on other sites

I am still troubleshooting the issue with the PrintOrder contrib. Previously Safoo had recommended the following:

 

A cusomter is logged in normally :

 

if(tep_session_is_registered('customer_id'))

 

A customer is logged in with PWA:

 

if (tep_session_is_registered('noaccount'))

 

I found the normal customer login in the printorder.php file and replaced it with the 'noaccount' line, but this didn't work. I'm still getting the same problem...

 

I can't print an order. From the checkout_success.php page the PrintOrder contrib adds a button to print your order. This opens a pop-up (printorder.php) but instead of showing the order it redirects to the login screen. I replied to Safoo's posting earlier but got no reply or suggestions in response.

 

Any ideas???

 

Here's the code that I think is applicable from the beginning of printorder.php:

 

 

<?php
/*
?$Id: printorder.php,v 1.2 12/03/2003 randynewman
?
?osCommerce, Open Source E-Commerce Solutions
?http://www.oscommerce.com

?Copyright (c) 2002 osCommerce

?Released under the GNU General Public License
*/

?require('includes/application_top.php');

?if (!tep_session_is_registered('noaccount')) {
? ?$navigation->set_snapshot();
? ?tep_redirect(tep_href_link(FILENAME_LOGIN, '', 'SSL'));
?}

 

Notice I did changed the 'customer_id' line to 'noaccount'. Is this code correct, should I be changing code in any other files than printorder.php? I've been struggling with this for weeks now and could really use some help. I've put sweat into it, and am not relying on the forum to fix it, so please don't blow me off.

 

Thanks.

Share this post


Link to post
Share on other sites

I have printorder installed also and would really like to know how to get the two of these to work together. It doesnt look very professional since the customer sees a button that says invoice, but has to login a second time in order to see it.

Share this post


Link to post
Share on other sites

From Randy Newman on the PrintOrder thread:

 

 

Hey all,

 

I know its been awhile, but let me jump in... here's what I see the problem with using osCPrintOrder with PWA...

 

With PWA, the customer never "logs in". The customers PWA session is killed when checkout_process.php is run. This means that when the customer reaches the Checkout_success, there is no customer infomation to be queried, and consequently, no way for osC to know the order info at that point.

 

The idea of PWA is the customers no longer have access to their order info once they reach checkout_success.php. Since they haven't created an account, there is no way for them to login to view information. In fact, that is what it states when the choice is given to either login, register or PWA.

 

Basically, PWA is only good during Checkout, after that, the customer no longer has access to order info.

 

Now, there are a couple of ways around it, BUT... you could be looking at security issues.

 

Instead of querying the customer info to get the Order Info, you could just make the query based on the order number. You could pass the order number itself to checkout sucess from checkout_process.php, then use this order number to query the order info.

 

The drawback to this is you are basically giving unsecure (not logged in) access to your order information to someone that is NOT LOGGED IN, which could then be used to gain access to your other customers orders and information.

 

The other, more secure option would be to move the killing of the session info to checkout_success. Instead of killing the session info in checkout_process.php and prior to reaching checkout_success.php, you would have to move this routine to checkout_success, which would kill the session info when the continue button is pressed. This would keep the Customer and Order info intact until the continue button is pressed... and allow the Customer to print the order info.

 

In order to accompish this, you would have to re-code checkout_success.php and checkout_process.php.

 

I hope all of this makes sense and it helps shed light on your issues with PWA.

 

-R

 

 

Safoo, do you see any draw backs or security issues with moving the session kill to checkout_success instead of checkout_process??? Any other alternatives?

 

Thanks.

Share this post


Link to post
Share on other sites

Goanna

 

It's even beyond a looking professional issue, if a user chooses to purchase without account they can't login, right? I'm accepting check/money order with instructions to print the order and send it in with payment. So they can't complete their order either.

 

This isn't just an inconvenience, it is a higher priority and I hope it will be addressed and we can get some help in working to fix it....

Share this post


Link to post
Share on other sites

JABevan,

 

Sorry I haven't been on the forums much lately.

 

The customer information is actually killed in checkout_success.php and not in checkout_process.php.

 

I am confused as to what you are trying to do now? Do you want your PWA customers to be able to print an invoice on checkout success? Or do you want to remove the print button on checkout_success.php, so everyone except pwa customers can print an invoice. I mentioned

 

A cusomter is logged in normally :

 

if(tep_session_is_registered('customer_id'))

 

A customer is logged in with PWA:

 

if (tep_session_is_registered('noaccount'))

 

so that you could remove the button for pwa customers.

 

From what I understand, the customer information is deleted once checkout_process.php loads so I'm not sure what other ways there are to allow a PWA customer to print an invoice since their information no longer exists and of course we can't create a table to store just their information since that defeats the whole purpose of PWA. I don't think its a good idea to give access to the orders table as was mentioned in the post you quoted.

 

I think the best option is to not show the print invoice button to pwa customers.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

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

Create an account

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

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×