コード例 #1
0
 public function show($permalink = null, $id = null)
 {
     $event = self::load_event();
     $ticket = self::load_ticket($event);
     $sort = "";
     if (isset($_GET['sort'])) {
         $sort = $_GET['sort'];
     }
     if ($sort == "nickname") {
         $order = "users.nickname ASC";
     } elseif ($sort == "date") {
         $order = "event_signups.created_at DESC";
     } elseif ($sort == "id") {
         $order = "event_signups.id ASC";
     } else {
         $order = "event_signups.paid DESC, users.nickname ASC";
     }
     $page = 1;
     if (isset($_GET['page'])) {
         $page = $_GET['page'];
     }
     $id = mysql_real_escape_string($ticket->id);
     $signups = EventSignup::paginate("event_signups.event_ticket_id = '{$id}'", $order, $page, 20);
     $this->assign("event", $event);
     $this->assign("ticket", $ticket);
     $this->assign("signups", $signups);
     $this->assign("sort", $sort);
     $this->title = "View Ticket";
     $this->render("event_ticket/show.tpl");
 }
コード例 #2
0
 public function index($permalink = null)
 {
     $event = self::load_event($permalink);
     $this->assign("event", $event);
     $sort = "";
     $order = "";
     if (isset($_GET['sort'])) {
         $sort = $_GET['sort'];
     }
     if ($sort == "nickname") {
         $order = "users.nickname ASC";
     } elseif ($sort == "seat") {
         $order = "event_seats.row ASC, event_seats.number ASC, users.nickname ASC";
     } elseif ($sort == "location") {
         $order = "users.county ASC, users.nickname ASC";
     } elseif ($sort == "clan") {
         $order = "users.clan ASC, users.nickname ASC";
     } elseif ($sort == "lift") {
         $order = "event_signups.lift_required DESC, users.county ASC, users.nickname ASC";
     } else {
         $sort = "paid";
         $order = "event_signups.paid DESC, users.nickname ASC";
     }
     $order = "event_tickets.staff ASC, event_tickets.participant DESC, {$order}";
     $event_id = mysql_real_escape_string($event->id);
     $page = $this->getData('page', 1);
     $signups = EventSignup::paginate("event_signups.event_id = '{$event_id}'", $order, $page, 100);
     $this->assign("signups", $signups);
     $this->assign("sort", $sort);
     $this->title = $event->name . " :: Attendance";
     $this->render("event_signup/index.tpl");
 }
コード例 #3
0
<?php

require "init.php";
$script = Script::find_by_code('loyalty_attendance');
$script->start();
ob_start();
$time = date("H:i:s");
echo "[{$time}] Attendance Loyalty Points\r\n\r\n";
$page = EventSignup::paginate("event_signups.paid = 1 AND event_signups.processed = 0 AND events.startdate <= NOW()", "event_signups.created_at ASC", 1, 50);
$count = count($page->collection);
echo "    Processing {$count} / {$page->total} signups\r\n";
foreach ($page->collection as $obj) {
    mysql_query('BEGIN');
    $loyalty = true;
    if ($obj->event_ticket->points_value > 0 && !$obj->event_ticket->staff) {
        $loyalty = $obj->user->award_loyalty($obj->event_ticket->points_value, "Attendance: {$obj->event->shortname} {$obj->event_ticket->name}");
        $script->addlog("Awarded {$obj->event_ticket->points_value}pts to [{$obj->user}] {$obj->user->nickname} for [{$obj->event_ticket}] {$obj->event->shortname} {$obj->event_ticket->name}");
    }
    $obj->processed = true;
    $ua = $obj->save();
    if ($loyalty && $ua) {
        mysql_query('COMMIT');
    } else {
        echo "Error processing [{$obj}]\r\n";
        print_r($obj);
        mysql_query('ROLLBACK');
        $script->addlog("Error processing [{$obj}]", 'Critical');
    }
}
$script = Script::find_by_code('loyalty_attendance');
$output = ob_get_clean();
コード例 #4
0
 public function index($permalink = null)
 {
     $sort = $this->GetData('sort', "id");
     if ($sort == "nickname") {
         $order = "users.nickname ASC";
     } elseif ($sort == "date") {
         $order = "event_signups.created_at DESC";
     } elseif ($sort == "id") {
         $order = "event_signups.id ASC";
     } elseif ($sort == "seat") {
         $order = "event_seats.row ASC, event_seats.number ASC";
     } elseif ($sort == "ticket") {
         $order = "event_tickets.name ASC";
     } elseif ($sort == "event") {
         $order = "events.name DESC";
     } elseif ($sort == "voucher") {
         $order = "event_signups.voucher DESC";
     } else {
         $order = "event_signups.paid DESC, users.nickname ASC";
     }
     if (isset($_SESSION['signupadminquery'])) {
         $query = $_SESSION['signupadminquery'];
     } else {
         $query = (object) array('event_id' => null, 'signup_id' => null);
     }
     if (isset($_GET['event_id'])) {
         $query->event_id = $this->GetData('event_id');
     }
     if (isset($_GET['signup_id'])) {
         $query->signup_id = $this->GetData('signup_id');
     }
     $_SESSION['signupadminquery'] = $query;
     $filters = array();
     if ($query->event_id) {
         $event_id = mysql_real_escape_string($query->event_id);
         $filters[] = "events.id = '{$event_id}'";
     }
     if ($query->signup_id) {
         $signup_id = mysql_real_escape_string($query->signup_id);
         $filters[] = "event_signups.id = '{$signup_id}'";
     }
     $filter = implode(' AND ', $filters);
     $page = $this->GetData('page', 1);
     $signups = EventSignup::paginate($filter, $order, $page, 100);
     $allEvents = Event::find_all("", "events.startdate DESC");
     $events = array('' => 'All');
     foreach ($allEvents as $event) {
         $events[$event->id] = $event->name;
     }
     $this->assign('query', $query);
     $this->assign('events', $events);
     $this->assign("signups", $signups);
     $this->assign("sort", $sort);
     $this->title = "Event Signups";
     $this->render("event_signup/index.tpl");
 }