Jump to content
Sign in to follow this  
deathgod

[Contribution] Auction Module

Recommended Posts

Hey everyone,

I have basically finished the 'end of auction' addition (i.e. Bug 2) but will post it up tomorrow because there is still one bug I have to get rid of.

 

Basically, you can configure the 'end of auction' settings in CONFIGURE->AUCTIONS like this:

1/ Anyway, I am too lazy to rewrite the install instructions so you'll have to do with a set of upgrade instructions (maybe we should put off having any manual install instructions until this contrib is bug free - which should be within a month I think - so people dont go and add these 'development' versions until everything is done. After that I'll write a super-sexy HTML set of instructions. How about it?

 

2/ Can we please label the code like this

//BOF AUCTIONS CONTRIB - The following code does %BACKFLIPS%
$backflip = Some backflips
//EOF AUCTIONS CONTRIB

instead of the way it is now, i.e.

//bof added by jobonline2001@yahoo.com for auction product contribution
$code
//eof added by jobonline2001@yahoo.com for auction product contribution

I think this is much cleaner for other people to read, and we can give credit to the main contributors at the end of the HTML instructions (just comes off more professional that way)

 

3/ The expiry date bug (i.e. 2006-11-14 00:00:00) is because in the admin, you are only able to set the day it ends and not the time (i'll fix this in one of the next few updates). I dont think the solutions offered here would work though because the problem is missing fields in the admin.

 

4/ For some reason, the countdown timer is 18 days slow, i.e. if you put the expiry day for today, it will actually end in 18 days time!!!!!!! Maybe the javascript in modules/auction_bids.php is faulty, who knows.

 

5/ Maybe the best way to take fix the admin is to merge admin/auctions.php and admin/categories.php, I am not really sure but that might be a quick fix I think, maybe someone who is very experienced with osC can try that.

 

Thanks Nick

 

1. Hey Nick, I think it is a good idea to remove the install intruction until the script is bugfree.

 

2. I also agree that we should label it

//BOF AUCTIONS CONTRIB - The following code does %BACKFLIPS%

//EOF AUCTIONS CONTRIB

 

4. The problem with the countdown that it is set after each single computer time. So if you set you time on the computer back 2 houres the countdown will last for another 2 houres. Here we should program it so that the countdown is based on the server time.

 

 

Great to see the script coming along. I believe this will become one of the most popular OSC modules.

 

L8r guys!

Share this post


Link to post
Share on other sites

Here is a TO DO list for the script. All other contributions are also mostly welcome of course!

 

Nobody has yet contributed the modifications marked in RED

Someone has contributed the modification marked in blue BLUE

 

1.

The administrator has an auction admin panel were he can set up auctions, and monitor bid activity. You choose the item you want to auction out from a complete product list containing all the products you have in the store. If the product is also in the store itself, when you enter the product to purchase it, it will only be available as an auction. To prevent this you must make a copy of the items you want to auction out. And place this in an inactive category. Then you will find it only under the auction site and it will also be available for normal purchase in the store.

 

Possible Solution:

When you create an auction it should automatically be created a copy of the product which is to be used for the auction. Then you do not have to manually make a copy of every product before you place it our for auction.

The layout of the admin panel is not really superb either.

 

2.

When an auction is over the countdown is changes to ?Auction ended?, however it is still possible to place bids.

 

Possible Solution:

The best solution here would be that when an auction is finished, it should automatically have its status set to ?inactive? and be removed from the web shop. (Contributed by deathgod)

 

3.

The administrator must manually go in and accept the highest bid. When this is done an email is sent to the bidder telling him that they have won. The item is placed in the persons sopping cart at the highest bid price. For some reason the VAT tax is added to the price after the auction is over. The winner must now log in and complete the order and choose their preferred payment method.

 

The administrator can accept several bids per auction, and this is actually very good. Maybe there are several bids you are satisfied with and are willing to sell the item for.

 

Possible Solution:

However if you accept several bids the price which the item is placed in the shopping cart at, is always the highest bid, and sometimes it also ends up being the product original price also. Here there are some errors that must be fixed. The email that is sent to the people whose bid has been accepted but is not the highest bidder is now the same as the highest bidder email. If you ask me theses emails should be different ? more like this: ?You have entered a bid on our auction and as stated in our Terms & Conditions an auction can have several winners. The item is placed in your shopping cart at your bid price, please go and finalise your order.

 

4.

The way the script is now, if the persons whom bids have been accepted does not finalize the order, nothing happens. The administrator must then go in manually and check who has and has not finalized there order, and place an order manually for the customer.

 

Possible Solution:

Here it would be very smart if the script automatically generated an order after 7 days if the person has not finalized the order themself. This order should then be with Cash on Delivery payment. It would also be smart with a button next to each bid in admin section saying ?generate order? or something like this. When these orders are generated automatically, the auction should be deleted automatically from the admin section, since all the aspects of the auction is over.

 

6.

The listing of the auctions are now sorted after which auction was last created by the admin.

 

Possible Solution:

Here the best would be to list the auctions by how much time is left. So that the auctions with least time left comes on the top.

 

7.

It should also be an ?I accept the terms and conditions ?check boss next to the ?place bid? button.

 

 

8.

Maybe the bid list should also contain the time which the bid was placed. (contributed by marcusdesign)

 

9.

Maybe instead of customer name on the bid list, it should be customer ID#. (contributed by marcusdesign)

 

 

 

Let's get down to work!

Share this post


Link to post
Share on other sites

When posting new version, please post "Complete package" .. while a lot of updates will be in the future, it will be impossible to keep track of all updates :) as for now, it's great!

 

thanx

Share this post


Link to post
Share on other sites

Hi All,

 

I just installed the contrib, everything went fine, but when i test i receive the follwoing message. This happens when i place a bid.

 

1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'and status' at line 1

 

select auctions_starting_price, expires_date, overbid_amount from auctions where products_id = and status

 

[TEP STOP]

 

 

Could anyone help me with this?

 

Regards

Share this post


Link to post
Share on other sites
Hi All,

 

I just installed the contrib, everything went fine, but when i test i receive the follwoing message. This happens when i place a bid.

 

1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'and status' at line 1

 

select auctions_starting_price, expires_date, overbid_amount from auctions where products_id = and status

 

[TEP STOP]

Could anyone help me with this?

 

Regards

 

Hi mramsterdam,

 

Just replace in catalog/product_info.php at line 15

 

$mfo_auction_query = mysql_fetch_object(tep_db_query('select auctions_starting_price, expires_date, overbid_amount from auctions where products_id = ' . $_GET['products_id'] . ' and status'));

 

WITH

 

$mfo_auction_query = mysql_fetch_object(tep_db_query("select auctions_starting_price, expires_date, overbid_amount from " . TABLE_AUCTIONS_PRODUCTS . " where products_id = '" . $product_info['products_id']. "' and status = '1' "));

 

That's all

Share this post


Link to post
Share on other sites

Bidding is going perfect now.

 

The thing is that i dont know who made the bid... where can i find that?

 

Also when you select the product where you can bid on, you see a table with the following in it:

 

TEXT_AUCTION_PRICE EUR4.00

TEXT_EXPIRED_DATE 2006-11-24 00:00:00

(21 days + 0h : 18m : 15s TEXT_DATETIME_LEFT)

TEXT_OVERBID_AMOUNT EUR0.00

 

 

Any idea how i can solve this?

 

Thanks again!!

Share this post


Link to post
Share on other sites
Bidding is going perfect now.

 

The thing is that i dont know who made the bid... where can i find that?

 

Also when you select the product where you can bid on, you see a table with the following in it:

 

TEXT_AUCTION_PRICE EUR4.00

TEXT_EXPIRED_DATE 2006-11-24 00:00:00

(21 days + 0h : 18m : 15s TEXT_DATETIME_LEFT)

TEXT_OVERBID_AMOUNT EUR0.00

Any idea how i can solve this?

 

Thanks again!!

 

1) you can find the bidder's id. This is the same as the customers id which you can find in the admin at customers

2) I think you're forgotten to put the language files in your shop (like: catalog/includes/languages/dutch/auctions.php and other languages you've got).

 

marcusDesign

Share this post


Link to post
Share on other sites

Again, you were right thank you very much!!

 

Just one more small thing.. i cant seem to find the customer ID.

Maybe i'm a little dumb or something, but could you let me know how/where i can find it?

 

Thanks for one last time ;-)

MrA

Share this post


Link to post
Share on other sites
Again, you were right thank you very much!!

 

Just one more small thing.. i cant seem to find the customer ID.

Maybe i'm a little dumb or something, but could you let me know how/where i can find it?

 

Thanks for one last time ;-)

MrA

 

No problem, as this contribution is in Beta version, it's always good to know that others are trying to use it and give their feedback.

 

When you take a look at your auction article, you can see that below the text you referred before in product_info.php there is a red bar. In this red bar there should be Customer's ID, No., Bid etc.. Below it, there should come up the customers who's bid on the auction.

 

If it's not in your case, you're missing a lot of code in your product_info.php.

 

MarcusDesign

Share this post


Link to post
Share on other sites

Hello everybody,

 

I have just installed your contrib on an newly created store, so just copied all the NEW files into te right folders. But when I press the "Auction Products" link in the admin area to start using the contrib, and place products in auction, I get the following error:

 

 

Products Auction Price Status Action

1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-20, 20' at line 1

 

select p.products_id, pd.products_name, p.products_price, a.auctions_id, a.auctions_starting_price, a.auctions_date_added, a.auctions_last_modified, a.expires_date, a.date_status_change, a.status,a.overbid_amount from products p, auctions a, products_description pd where p.products_id = pd.products_id and pd.language_id = '1' and p.products_id = a.products_id and a.status='1' order by pd.products_name limit -20, 20

 

[TEP STOP]

 

Would you know what have I done wrong?

 

Thanks in advance...

 

Regards

Share this post


Link to post
Share on other sites

Sorry, dont know then.Try reinstalling if you tried to manually install. Whats your mysql version?

Edited by deathgod

Menou and unome

Share this post


Link to post
Share on other sites

HI there.

 

Is the current version reday to go? I mean into a real environment?

 

If not quite yet, is there a bug list we can see to determine whether to risk it then add fixes as they go?

 

I have Mysql 5and php5 and the latest osc as well as a store we maintain that is the latets osMax.

 

Really excited about this, it is exactly waht we would like to add to our store, like I guess many other would.

 

Thanks guys. you're terrfic!

 

oz

 

:-)

Share this post


Link to post
Share on other sites

Here is a TO DO list for the script. All other contributions are also mostly welcome of course! Great if people post what they are working on, so nobody works on the same modifications.

 

I have come to this TO DO LIST after using the script for some time now and seen what modifications are needed to make it into a perfect contribution and a must-have for all OSC users...

 

Nobody has yet contributed the modifications marked in BLACK

Someone has contributed the modification marked in blue BLUE

 

1.

The administrator has an auction admin panel were he can set up auctions, and monitor bid activity. You choose the item you want to auction out from a complete product list containing all the products you have in the store. If the product is also in the store itself, when you enter the product to purchase it, it will only be available as an auction. To prevent this you must make a copy of the items you want to auction out. And place this in an inactive category. Then you will find it only under the auction site and it will also be available for normal purchase in the store.

 

Possible Solution:

When you create an auction it should automatically be created a copy of the product which is to be used for the auction. Then you do not have to manually make a copy of every product before you place it our for auction.

The layout of the admin panel is not really superb either.

2.

When an auction is over the countdown is changes to ?Auction ended?, however it is still possible to place bids.

 

Possible Solution:

The best solution here would be that when an auction is finished, it should automatically have its status set to ?inactive? and be removed from the web shop. (Contributed by deathgod)

 

3.

The administrator must manually go in and accept the highest bid. When this is done an email is sent to the bidder telling him that they have won. The item is placed in the persons sopping cart at the highest bid price. For some reason the VAT tax is added to the price after the auction is over. The winner must now log in and complete the order and choose their preferred payment method.

 

The administrator can accept several bids per auction, and this is actually very good. Maybe there are several bids you are satisfied with and are willing to sell the item for.

 

Possible Solution:

However if you accept several bids the price which the item is placed in the shopping cart at, is always the highest bid, and sometimes it also ends up being the product original price also. Here there are some errors that must be fixed. The email that is sent to the people whose bid has been accepted but is not the highest bidder is now the same as the highest bidder email. If you ask me theses emails should be different ? more like this: ?You have entered a bid on our auction and as stated in our Terms & Conditions an auction can have several winners. The item is placed in your shopping cart at your bid price, please go and finalise your order.

 

4.

The way the script is now, if the persons whom bids have been accepted does not finalize the order, nothing happens. The administrator must then go in manually and check who has and has not finalized there order, and place an order manually for the customer.

 

Possible Solution:

Here it would be very smart if the script automatically generated an order after 7 days if the person has not finalized the order themself. This order should then be with Cash on Delivery payment. It would also be smart with a button next to each bid in admin section saying ?generate order? or something like this. When these orders are generated automatically, the auction should be deleted automatically from the admin section, since all the aspects of the auction is over.

 

6.

The listing of the auctions are now sorted after which auction was last created by the admin.

 

Possible Solution:

Here the best would be to list the auctions by how much time is left. So that the auctions with least time left comes on the top.

 

7.

It should also be an ?I accept the terms and conditions ?check boss next to the ?place bid? button. (contributed by marcusdesign)

 

 

8.

Maybe the bid list should also contain the time which the bid was placed. (contributed by marcusdesign)

 

9.

Maybe instead of customer name on the bid list, it should be customer ID#. (contributed by marcusdesign)

 

 

 

Let's get down to work!

Share this post


Link to post
Share on other sites

hi everyone, just a quick one. when importing auction.sql i get the following error:

 

MySQL said:

 

#1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'DEFAULT CHARSET=latin1 AUTO_INCREMENT=1' at line 12

 

i am not a programmer, any idea what went wrong? Thanks

Share this post


Link to post
Share on other sites

Remove the

DEFAULT CHARSET=latin1

and things should work, the charset is a feature of mysql5 only

Edited by deathgod

Menou and unome

Share this post


Link to post
Share on other sites

Hey everyone,

I have been slow with version 1.5 because i am always busy, I haven't even begun yet, I'll post here when i start working on it and it will only be a few days after that that you will get version 1.5.

 

Nick


Menou and unome

Share this post


Link to post
Share on other sites

great nick!!

 

I found another error i believe. When people bid over you, you receive an email saying you are overbid. i think that everyone in a bid list receives a email when someone new places a bid. So lets say you place the first bid, and after that there are 10 other higher biders, you receive 10 emails saying you have been overbid.

 

I think this happens, but i am not positively sure.

Share this post


Link to post
Share on other sites

hi, marcus

 

i installed this contribution found some errors, please see image as below

002.gif

 

PHP Version 4.3.8

phpMyAdmin Database Manager Version 2.6.0-rc1

language chinese big5

 

i tried many times fixing this problem, but i can't, my head is getting worse, could you help me?

 

thanks

Share this post


Link to post
Share on other sites
hi, marcus

 

i installed this contribution found some errors, please see image as below

002.gif

 

PHP Version 4.3.8

phpMyAdmin Database Manager Version 2.6.0-rc1

language chinese big5

 

i tried many times fixing this problem, but i can't, my head is getting worse, could you help me?

 

thanks

 

Hi Wildboy156,

 

I had already received this message through a personal message you sent to me, so please don't send the exact problem again on the forum. Just check your email for an answer. I've just posted it there.

 

MarcusDesign

Share this post


Link to post
Share on other sites
Remove the
DEFAULT CHARSET=latin1

and things should work, the charset is a feature of mysql5 only

 

in mYSQL 3.23 it still gives error

 

#1064 - syntax error near 'ENGINE=InnoDB DEFAULT AUTO_INCREMENT=1 ' at line 12

 

where 12 line is

) ENGINE=InnoDB DEFAULT AUTO_INCREMENT=1 ;

 

:blush:

Share this post


Link to post
Share on other sites

Remove engine=innoDB, engine switching is also mysql5, if that fails, then also remove the DEFAULT, not sure if thats mysql5 or not (probably not, so just remove the engine stuff first)


Menou and unome

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  

×