public function store() { $input = Input::all(); $user = Confide::user(); $bet = new Bet(); $bet->user_id = $user->id; $bet->sport = $input['sport']; $bet->game_code = $input['game_code']; $bet->bet_type = $input['bet_type']; $bet->team = $input['team']; if ($bet->bet_type === 'pointspread') { $bet->point_spread = $input['plusminus_pointspread'] == '-' ? -$input['point_spread'] : $input['point_spread']; } $bet->bet_amount = $input['bet_amount'] * 100; // Subtract the bet amount from the users current money $user->current_money -= $bet->bet_amount; $user->save(); $bet->multiplier = $input['plusminus_multiplier'] === '-' ? -$input['multiplier'] : $input['multiplier']; $bet->win_potential = $input['win_potential'] * 100; $bet->save(); }
public function postCreate() { if (!Auth::check()) { return array('success' => false, 'errors' => 'You must be logged in to place any bets.'); } $bet_amount = Bitcoin::toSatoshi(floatval(Input::get('bet_amount'))); $cross_bet_amount = Bitcoin::toSatoshi(floatval(Input::get('cross_bet_amount'))); if ($bet_amount > Auth::user()->getBalance()) { return array('success' => false, 'errors' => array('bet_amount' => 'You don\'t have enough funds to place that bet.')); } if ($bet_amount < Config::get('bitcoin.minimum_bet')) { return array('success' => false, 'errors' => array('bet_amount' => 'Minimum bet amount is ' . Bitcoin::toBTC(Config::get('bitcoin.minimum_bet')) . ' BTC')); } if ($cross_bet_amount < Config::get('bitcoin.minimum_bet')) { return array('success' => false, 'errors' => array('cross_bet_amount' => 'Minimum bet amount is ' . Bitcoin::toBTC(Config::get('bitcoin.minimum_bet')) . ' BTC')); } $type = Input::get('type'); if (!in_array($type, $this->valid_types)) { return array('success' => false, 'errors' => array('type' => 'Invalid.')); } $expiration = intval(Input::get('expiration')); if ($expiration < Config::get('bitcoin.minimum_bet_expiration') || $expiration > Config::get('bitcoin.maximum_bet_expiration')) { return array('success' => false, 'errors' => array('expiration' => 'Invalid.')); } $bet = new Bet(); $bet->type = $type; $bet->created_by_user_id = Auth::user()->id; $bet->bet_amount = $bet_amount; $bet->cross_bet_amount = $cross_bet_amount; $bet->target_price = floatval(Input::get('target_price')); $bet->price_when_created = Bitcoin::toUSD(); $expiresAt = Carbon::now()->addSeconds($expiration); $bet->expires_at = $expiresAt; if ($bet->save()) { Auth::user()->subtractFromBalance($bet_amount); return array('success' => true); } else { return array('success' => false, 'errors' => 'Bet couldn\'t be created.'); } }
} $last = Bet::orderBy("id", "desc")->first(); $additional_number = is_object($last) ? $last->id + 1 : 0; // FIND THE DRAW $todays_draw = $draw->first(); $bet = new Bet(); $bet->draw_id = $todays_draw->id; $bet->numbers = implode(",", $numbers); $bet->ticket_number = date("Ymd") . $additional_number; $bet->security_code = md5(date("YmdHis")); if (isset($_POST['lucky_pick'])) { $bet->lucky_pick = 1; } else { $bet->lucky_pick = 0; } $bet->save(); $ticket = array(); $ticket['draw_id'] = $bet->draw_id; $ticket['numbers'] = $bet->numbers; $ticket['ticket_number'] = $bet->ticket_number; $ticket['security_code'] = $bet->security_code; $ticket['lucky_pick'] = $bet->lucky_pick; $ticket['created_at'] = date("Y-m-d"); $app->flash('info', $ticket); $app->redirect('/print/'); }); $app->get('/print/', function () use($app) { if (isset($_SESSION['slim.flash']['info'])) { $ticket = $_SESSION['slim.flash']['info']; $twig = Twig::get(); $template = $twig->loadTemplate('print.html');