Awesone news. If you're looking to handle the BuyOut options, I think I came up with a way that does part of the work.
in vbay_info_View, find:
Code:
<a href="vbay.php?do=buy&id={$item[id]}">$vbphrase[vbay_auction_buy_it_now_bang]</a>
Replace with:
Code:
<a href="vbay.php?do=buy&id={$item[id]}&buyout=true">$vbphrase[vbay_auction_buy_it_now_bang]</a>
In vbay_buy_confirm, replace:
Code:
<form action="vbay.php?$session[sessionurl]do=dobuy" method='post' enctype='multipart/form-data'>
<input type="hidden" name="id" value="{$vbulletin->GPC['id']}">
with:
Code:
<form action="vbay.php?$session[sessionurl]do=dobuy" method='post' enctype='multipart/form-data'>
<input type="hidden" name="id" value="{$vbulletin->GPC['id']}">
<input type="hidden" name="buyout" value="{$vbulletin->GPC['buyout']}">
In vBay.php, under BUYOUT, replace:
Code:
$vbulletin->input->clean_array_gpc('p', array('id' => TYPE_INT));
with:
Code:
$vbulletin->input->clean_array_gpc('p', array('id' => TYPE_INT, 'buyout' => TYPE_BOOL));
$buyout = $vbulletin->GPC['buyout'];
and
Code:
} else {
$db->query("update " . TABLE_PREFIX . "vbay_items SET highbidder = " . $vbulletin->userinfo['userid'] . ", bids = bids+'1', completetime = '0' WHERE id=" . $vbulletin->GPC['id'] . "");
$vbulletin->url = "vbay.php?do=item&viewitem=" . $vbulletin->GPC['id'] . $vbulletin->session->vars['sessionurl'] . "";
eval(print_standard_redirect('vbay_buy_success', true, true));
}
with
Code:
if ($vbulletin->GPC['buyout']) {
$db->query("update " . TABLE_PREFIX . "vbay_items SET highbidder = " . $vbulletin->userinfo['userid'] . ", price=buyitnowprice, bids = bids+'1', completetime = '0' WHERE id=" . $vbulletin->GPC['id'] . "");
$vbulletin->url = "vbay.php?do=item&viewitem=" . $vbulletin->GPC['id'] . $vbulletin->session->vars['sessionurl'] . "";
eval(print_standard_redirect('vbay_buy_success', true, true));
} else {
$db->query("update " . TABLE_PREFIX . "vbay_items SET highbidder = " . $vbulletin->userinfo['userid'] . ", bids = bids+'1', completetime = '0' WHERE id=" . $vbulletin->GPC['id'] . "");
$vbulletin->url = "vbay.php?do=item&viewitem=" . $vbulletin->GPC['id'] . $vbulletin->session->vars['sessionurl'] . "";
eval(print_standard_redirect('vbay_buy_success', true, true));
}
Which ensures the price will equal the buyout price. Crude, but it works. I'm playing with the idea of adding another field to the database called BuyOutUsed for items bought with buyout.
Left would be automatically closing an auction as soon as the regular bidding price equals the buyout price.