public function tickets($reload = false) { if ($reload || !$this->tickets_cache) { $id = mysql_real_escape_string($this->id); $this->tickets_cache = EventTicket::find_all("event_tickets.seating_group_id = '{$id}'", "event_tickets.id ASC"); } return $this->tickets_cache; }
public function edit($id = null) { $signup = self::load_signup($id); if ($this->post) { $signup->lift_required = $_POST['lift_required']; $signup->paid = $_POST['paid']; $signup->voucher_code = $_POST['voucher_code']; $signup->voucher = $_POST['voucher']; if ($_POST['ticket'] != $signup->event_ticket_id) { // Ticket is different, fetch the new one and remove any services that // aren't allowed for that type. If there are services that are paid // for, raise an error instead $event_id = mysql_real_escape_string($signup->event->id); $ticket_id = mysql_real_escape_string($_POST['ticket']); $ticket = EventTicket::find("event_tickets.event_id = {$event_id} AND event_tickets.id = {$ticket_id}"); if ($ticket) { if (!$ticket->participant) { $signup_id = mysql_real_escape_string($signup->id); $paid_services = EventService::find_all("event_services.event_signup_id = {$signup_id} AND services.participant = true AND event_services.paid = true AND services.cost > 0"); if (count($paid_services) == 0) { $services = EventService::find_all("event_services.event_signup_id = {$signup_id} AND services.participant = true AND (event_services.paid = false OR services.cost = 0)"); foreach ($services as $service) { $service->destroy(); } $signup->event_ticket_id = $ticket->id; $signup->event_ticket = $ticket; } else { $signup->add_error("This signup has paid participant services, it cannot be changed to spectator"); } } else { $signup->event_ticket_id = $ticket->id; $signup->event_ticket = $ticket; } } } if ($signup->save()) { Site::Flash("notice", "The signup has been edited"); Redirect("admin/signups/{$signup->id}"); } } $tickets = array(); foreach ($signup->event->tickets() as $ticket) { $tickets[$ticket->id] = "({$ticket->id}) {$ticket->name}"; } $this->assign("tickets", $tickets); $this->assign("signup", $signup); $this->title = "Edit {$signup->event->name} Signup"; $this->render("event_signup/edit.tpl"); }
protected static function load_ticket($event, $id = null) { if (!$id) { $id = $_GET['id']; } $id = mysql_real_escape_string($id); $event_id = mysql_real_escape_string($event->id); $ticket = EventTicket::find("event_tickets.event_id = '{$event_id}' AND event_tickets.id = '{$id}'"); if ($ticket) { return $ticket; } else { Error404(); } }
/** * @covers EventTicket::getSaleEndForDateTime() */ public function testGetSaleEndForDateTime() { $ticket = new EventTicket(); $time = new RegisterableDateTime(); $now = time(); $ticket->EndType = 'Date'; $ticket->EndDate = date('Y-m-d H:i:s', $now); $this->assertEquals($now, $ticket->getSaleEndForDateTime($time), 'The correct end time is returned with a fixed date.'); $ticket->EndType = 'TimeBefore'; $ticket->EndDays = 1; $ticket->EndHours = 12; $time->StartDate = date('Y-m-d', $now); $time->StartTime = date('H:i:s', $now); $this->assertEquals($now - 1.5 * 3600 * 24, $ticket->getSaleEndForDateTime($time), 'The correct end time is returned with a relative end date.'); }
protected static function get_fields() { return implode(', ', array(self::select_fields(), User::select_fields(), User::select_fields('referer'), EventSignup::select_fields(), EventTicket::select_fields(), Event::select_fields())); }
public function public_tickets($reload = false) { if ($reload or !$this->public_tickets_cache) { $id = mysql_real_escape_string($this->id); $this->public_tickets_cache = EventTicket::find_all("event_tickets.event_id = '{$id}' AND event_tickets.hidden = false", "event_tickets.participant DESC, event_tickets.cost ASC"); } return $this->public_tickets_cache; }
public function edit() { $signup = self::load_signup($id); if ($signup->event->enddate <= time()) { Site::Flash("error", "It is not possible to edit this booking"); Redirect("bookings/{$signup->id}"); } // Seating Manager $managers = array('' => 'None'); $clan = mysql_real_escape_string(Site::CurrentUser()->clan); if ($clan != '') { $id = mysql_real_escape_string(Site::CurrentUser()->id); $allManagers = User::find_all("users.clan = '{$clan}'", "users.nickname ASC"); foreach ($allManagers as $manager) { $permalink = $manager->permalink(); $managers[$permalink] = $manager->nickname; } } $currentManager = ''; if ($signup->manager_id) { $currentManager = $signup->manager->permalink(); } if ($this->post and !$this->csrf) { global $site; $site['flash']['error'] = "Invalid form submission"; } elseif ($this->post) { $signup->lift_required = $_POST['lift_required']; if (!$signup->paid and !$signup->event_ticket->hidden) { $ticket_id = mysql_real_escape_string($_POST['ticket']); if ($ticket_id != $signup->event_ticket_id) { $event_id = mysql_real_escape_string($signup->event_id); $ticket = EventTicket::find("event_tickets.id = '{$ticket_id}' AND event_tickets.event_id = '{$event_id}' AND event_tickets.hidden = false"); if ($ticket) { $signup->event_ticket_id = $ticket->id; $signup->event_ticket = $ticket; } } } $save = true; if ($this->PostData('manager_id')) { $manager = User::find_by_nickname($this->PostData('manager_id')); if ($manager && array_key_exists($manager->permalink(), $managers)) { $signup->manager_id = $manager->id; } else { global $site; $site['flash']['error'] = "Unable to find the seat manager you selected"; $save = false; } } else { $signup->manager_id = null; } if ($save && $signup->save()) { // Remove any services that don't fit this booking if (!$signup->event_ticket->participant) { $signup_id = mysql_real_escape_string($signup->id); $services = EventService::find_all("event_services.event_signup_id = '{$signup_id}' AND participant = true"); $paid = array(); foreach ($services as $service) { if ($service->paid) { // Service has been paid, don't remove it, email staff $paid[] = $service; } else { $service->destroy(); } } if (count($paid) > 0) { // One or more services were unsuitable but paid for (this should // really not happen! Let's email staff and they can handle it } } Site::Flash("notice", "Your event booking has been updated"); Redirect("bookings/{$signup->id}"); } } $this->assign("signup", $signup); $this->assign("tickets", $signup->event->public_tickets()); $this->assign("managers", $managers); $this->assign("currentManager", $currentManager); $this->title = "My Bookings :: " . $signup->event->name . " :: Edit"; $this->render("event_signup/edit.tpl"); }
public function signup($nickname = null) { $user = $this->load_user($nickname); $signup = new EventSignup(); if ($this->post) { $event_id = mysql_real_escape_string($_POST['event']); $event = Event::find_by_id($event_id); if (!$event) { Error404(); } $signup->event_id = $event->id; $signup->user_id = $user->id; if (!isset($_POST['stage'])) { $signup->paid = $this->PostData('paid'); $signup->lift_required = $this->PostData('lift_required'); $signup->voucher = $this->PostData('voucher'); $signup->voucher_code = $this->PostData('voucher_code'); $ticket_id = mysql_real_escape_string($this->PostData('ticket')); $ticket = EventTicket::find("event_tickets.event_id = '{$event_id}' AND event_tickets.id = '{$ticket_id}'"); if ($ticket) { $signup->event_ticket_id = $ticket->id; } if ($signup->save()) { Site::Flash('notice', "{$user->nickname} has been signed up to {$event->name}"); Redirect("admin/signups/{$signup->id}"); } } } $tickets = array(); foreach ($event->tickets() as $ticket) { $tickets[$ticket->id] = $ticket->name; } $this->assign("signup", $signup); $this->assign("user", $user); $this->assign("event", $event); $this->assign("tickets", $tickets); $this->title = "Event Signup"; $this->render("user/signup.tpl"); }
if (count($achievements) == 0) { $achievement = new UserAchievement(); $achievement->user_id = $user->id; $achievement->achievement_id = 79; $achievement->category_id = 14; $achievement->save(); echo "-> Awarding"; } else { echo " -> Already awarded"; } echo "\r\n<br />"; } } */ $user = User::find_by_id(4791); $event = Event::find_by_id(33); $ticket = EventTicket::find_by_id(179); for ($i = 0; $i < 40; $i++) { $event_signup = new EventSignup(); $event_signup->event_id = $event->id; $event_signup->user_id = $user->id; $event_signup->event_ticket_id = $ticket->id; $event_signup->event_ticket = $ticket; if ($i != 0) { $event_signup->voucher = true; $event_signup->voucher_code = md5(time() . $event->id . mt_rand(0, 99999999999)); $event_signup->manager_id = $user->id; } $event_signup->paid = true; $event_signup->save(); }
protected static function get_fields() { return self::select_fields() . ", " . DiscountCode::select_fields() . ", " . Service::select_fields() . ", " . EventTicket::select_fields(); }
protected static function get_fields() { return self::select_fields() . ", " . User::select_fields() . ", " . EventTicket::select_fields() . ", " . Event::select_fields() . ", " . EventSeat::select_fields() . ", " . User::select_fields('managers'); }