The page you are looking at now is at this URL: http://pastoid.com/bzh
This paste was last updated on January 27, 2010 at 1:55 pm.
<?php class Ticket { public $ID = 0; public $owner = 0; // user ID public $bookmaker = ''; public $money = 0; public $datetime; // PHP DateTime object public $bets = array(); // Array of Bet objects protected function __construct($ID = 0, $userID = 0, $bookmaker = '', $money = 0, DateTime $datetime = null, array $bets = array()) { $this->ID = $ID; $this->owner = $userID; $this->bookmaker = $bookmaker; $this->money = $money; $this->datetime = ($datetime) ? $datetime : new DateTime(); $this->bets = $bets; } public static function create($bookmaker, $money, array $bets = array()) { global $db, $user; $data = array( 'user_id' => $user->data['user_id'], 'bookmaker' => $bookmaker, 'money' => $money, 'datetime' => time(), ); $sql = 'INSERT INTO ' . TICKETS_TABLE . ' ' . $db->sql_build_array('INSERT', $data); $db->sql_query($sql); $ticket = new Ticket($db->sql_nextid(), $user->data['user_id'], $bookmaker, $money); foreach ($bets as $bet) { $bet->ticket = $ticket; $bet->store(); } return $ticket; } public static function load($ID) { global $db; $select = array( 'SELECT' => 't.*', 'FROM' => array(TICKETS_TABLE => 't'), 'WHERE' => 't.id = ' . $ID, ); $result = $db->sql_query($db->sql_build_query('SELECT', $select)); $row = $db->sql_fetchrow($result); $db->sql_freeresult($result); if (!$row) return null; $ticket = new Ticket(); $ticket->loadFromRow($row); $select = array( 'SELECT' => 'b.*', 'FROM' => array(BETS_TABLE => 'b'), 'WHERE' => 'b.ticket_id = ' . $ID, ); $result = $db->sql_query($db->sql_build_query('SELECT', $select)); while ($row = $db->sql_fetchrow($result)) { $bet = new Bet($ticket); $bet->loadFromRow($row); } return $ticket; } public static function loadUserTickets($userID) { global $db; $select = array( 'SELECT' => 't.*', 'FROM' => array(TICKETS_TABLE => 't'), 'WHERE' => 't.user_id = ' . $userID . ' AND t.last_bet_datetime > ' . (time() + 24*3600), 'ORDER_BY' => 't.datetime DESC', ); $result = $db->sql_query($db->sql_build_query('SELECT', $select)); if (!$result) return null; $tickets = array(); while ($row = $db->sql_fetchrow($result)) { $ticket = new Ticket(); $ticket->loadFromRow($row); $tickets[$ticket->ID] = $ticket; } $db->sql_freeresult($result); if (empty($tickets)) return null; $select = array( 'SELECT' => 'b.*', 'FROM' => array(BETS_TABLE => 'b'), 'WHERE' => $db->sql_in_set('b.ticket_id', array_keys($tickets)), ); $result = $db->sql_query($db->sql_build_query('SELECT', $select)); while ($row = $db->sql_fetchrow($result)) { $bet = new Bet($tickets[$row['ticket_id']]); $bet->loadFromRow($row); } $db->sql_freeresult($result); return $tickets; } public function loadFromRow(array $row) { $this->ID = (int) $row['id']; $this->owner = (int) $row['user_id']; $this->bookmaker = $row['bookmaker']; $this->money = (int) $row['money']; $this->datetime = new DateTime('@' . $row['datetime']); } public function exchange() { $exchange = 1; foreach ($this->bets as $bet) { $exchange *= $bet->exchange / 100; } return $exchange; } public function won() { foreach ($this->bets as $bet) { if (!$bet->won()) return false; } return true; } public function prize() { if (!$this->won()) return 0; return $this->exchange() * $this->money; } public function setTemplate($prefix = '', $setResult = false) { global $template, $user; $template->assign_block_vars($prefix . 'ticket', array( 'ID' => $this->ID, 'DATETIME' => $this->datetime->format('d/m/Y G:i'), 'MONEY' => $this->money, 'EXCHANGE' => $this->exchange(), 'PRIZE' => $this->prize(), 'BOOKMAKER' => $this->bookmaker, 'SET_RESULT'=> ($setResult) ? ($user->data['user_id'] == $this->owner) : false, )); foreach ($this->bets as $bet) { $bet->setTemplate('ticket.'); } } public function unsetTemplate($prefix = '') { global $template; $template->destroy_block_vars($prefix . 'ticket'); } public function html($setResult = false) { global $template; $this->setTemplate('', $setResult); $html = $template->assign_display('ticket', '', true); $this->unsetTemplate(); return $html; } }
| Referring Domain | Hits |
|---|---|
| Unknown Referer | 127 |
| pastoid.com | 7 |
Tip: Use Pastoid to shorten URLs with this bookmarklet: Pastoid This