If you want to use vbbux as the cash system, here's what your functions_vbookie.php file should contain.
I just made the edits and tested it out, works fine.
This is a copy of the
ENTIRE contents of that file.
PHP Code:
<?php
function vbookie_get_user_bet_count($item_id=0)
{
global $vbulletin;
$user_n_bets_placed_result = $vbulletin->db->query_first("
SELECT COUNT(bet_id) AS user_n_bets_placed
FROM " . TABLE_PREFIX . "vbookie_bets_placed
WHERE userid = " . $vbulletin->userinfo['userid'] . " AND item_id = $item_id
");
return (int)$user_n_bets_placed_result['user_n_bets_placed'];
}
function vbookie_get_user_cash()
{
global $vbulletin;
switch ($vbulletin->options['vbookiecash'])
{
case 'vcash':
$cash = (int)$vbulletin->userinfo['vbookie_cash'];
break;
case 'ucash':
$cash = (int)$vbulletin->userinfo['ucash'];
break;
case 'ebux':
$cash = (int)$vbulletin->userinfo['vbbux'];
break;
case 'custom':
($hook = vBulletinHook::fetch_hook('vbookie_get_user_cash')) ? eval($hook) : false;
}
return $cash;
}
function vbookie_take_user_cash($amount)
{
global $vbulletin;
switch ($vbulletin->options['vbookiecash'])
{
case 'vcash':
$vbulletin->db->query_write("UPDATE " . TABLE_PREFIX . "user SET vbookie_cash=vbookie_cash-$amount WHERE userid=" . $vbulletin->userinfo['userid']);
break;
case 'ucash':
$vbulletin->db->query_write("UPDATE " . TABLE_PREFIX . "user SET ucash=ucash-$amount WHERE userid=" . $vbulletin->userinfo['userid']);
break;
case 'ebux':
$vbulletin->db->query_write("UPDATE " . TABLE_PREFIX . "user SET vbbux=vbbux-$amount WHERE userid=" . $vbulletin->userinfo['userid']);
$cash = (int)$vbulletin->userinfo['ebux'];
break;
case 'custom':
($hook = vBulletinHook::fetch_hook('vbookie_take_user_cash')) ? eval($hook) : false;
}
}
function vbookie_give_user_cash($userid, $amount)
{
global $vbulletin;
switch ($vbulletin->options['vbookiecash'])
{
case 'vcash':
$vbulletin->db->query_write("UPDATE " . TABLE_PREFIX . "user SET vbookie_cash=vbookie_cash+$amount WHERE userid=$userid");
break;
case 'ucash':
$vbulletin->db->query_write("UPDATE " . TABLE_PREFIX . "user SET ucash=ucash+$amount WHERE userid=$userid");
break;
case 'ebux':
$vbulletin->db->query_write("UPDATE " . TABLE_PREFIX . "user SET vbbux=vbbux+$amount WHERE userid=$userid");
$cash = (int)$vbulletin->userinfo['vbbux'];
break;
case 'custom':
($hook = vBulletinHook::fetch_hook('vbookie_give_user_cash')) ? eval($hook) : false;
}
}
function vbookie_abandon_event($item_id=0)
{
global $vbulletin;
if ((int)$item_id)
{
$q = "UPDATE ". TABLE_PREFIX . "vbookie_items SET item_status='ABANDONED' WHERE item_id=$item_id";
$vbulletin->db->query($q);
// update running totals
$q = "UPDATE " . TABLE_PREFIX . "vbookie_item_options SET option_amount_staked=0, option_n_bets_placed=0 WHERE item_id=$item_id";
$vbulletin->db->query($q);
// update running totals
$q = "UPDATE " . TABLE_PREFIX . "vbookie_items SET item_n_bets_placed=0, item_amount_staked=0 WHERE item_id=$item_id";
$vbulletin->db->query($q);
$result = $vbulletin->db->query_read("SELECT p.userid, p.bet_amount_placed FROM " . TABLE_PREFIX . "vbookie_bets_placed AS p LEFT JOIN " . TABLE_PREFIX . "user AS u ON(u.userid = p.userid) WHERE p.item_id=$item_id");
while ($bet = $vbulletin->db->fetch_array($result))
{
// pay the money back
vbookie_give_user_cash($bet['userid'], $bet['bet_amount_placed']);
}
}
}
function vbookie_get_richest()
{
global $vbulletin;
switch ($vbulletin->options['vbookiecash'])
{
case 'vcash':
$q = "SELECT username, vbookie_cash AS cash FROM " . TABLE_PREFIX . "user ORDER BY cash DESC LIMIT 5";
break;
case 'ucash':
$q = "SELECT username, ucash AS cash FROM " . TABLE_PREFIX . "user ORDER BY cash DESC LIMIT 5";
break;
case 'ebux':
$q = "SELECT username, vbbux AS cash FROM " . TABLE_PREFIX . "user ORDER BY cash DESC LIMIT 5";
break;
case 'custom':
($hook = vBulletinHook::fetch_hook('vbookie_get_richest')) ? eval($hook) : false;
}
return $vbulletin->db->query_read($q);
}
function vbookie_do_charity()
{
global $vbulletin;
if ($vbulletin->options['vbookiegivetopoor'])
{
switch ($vbulletin->options['vbookiecash'])
{
case 'vcash':
$vbulletin->db->query_write("UPDATE " . TABLE_PREFIX . "user SET vbookie_cash=" . $vbulletin->options['vbookiegivetopoor'] . " WHERE vbookie_cash < " . $vbulletin->options['vbookiegivetopoor']);
break;
case 'ucash':
$vbulletin->db->query_write("UPDATE " . TABLE_PREFIX . "user SET ucash=" . $vbulletin->options['vbookiegivetopoor'] . " WHERE ucash < " . $vbulletin->options['vbookiegivetopoor']);
break;
case 'ebux':
$vbulletin->db->query_write("UPDATE " . TABLE_PREFIX . "user SET vbbux=" . $vbulletin->options['vbookiegivetopoor'] . " WHERE vbbux < " . $vbulletin->options['vbookiegivetopoor']);
break;
case 'custom':
($hook = vBulletinHook::fetch_hook('vbookie_do_charity')) ? eval($hook) : false;
}
}
}
function vbookie_delete_event($eventinfo)
{
global $vbulletin;
// if we're deleting an event that has bets on it but hasn't yet been settled,
// we must give people their money back.
if ($eventinfo['item_status'] == 'OPEN' OR $eventinfo['item_status'] == 'CLOSED')
{
// abandon the bet
vbookie_abandon_event($eventinfo['item_id']);
}
$vbulletin->db->query_write("DELETE FROM ". TABLE_PREFIX . "vbookie_bets_placed WHERE item_id=$eventinfo[item_id]");
$vbulletin->db->query_write("DELETE FROM ". TABLE_PREFIX . "vbookie_item_options WHERE item_id=$eventinfo[item_id]");
$vbulletin->db->query_write("DELETE FROM ". TABLE_PREFIX . "vbookie_items WHERE item_id=$eventinfo[item_id]");
// update the thread this was attached to to remove the event.
$vbulletin->db->query_write("UPDATE " . TABLE_PREFIX . "thread SET vbookie_item_id=0 WHERE vbookie_item_id=$eventinfo[item_id]");
}
?>