Ejemplo n.º 1
0
 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();
 }
Ejemplo n.º 2
0
 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.');
     }
 }
Ejemplo n.º 3
0
    }
    $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');