public function process() { $event = Events::getById($this->getElementValue('id')); Events::setSignupStatus($this->user->getId(), $event['id'], 'SIGNEDUP'); Events::appendSignupComment($this->user->getId(), $event['id'], 'Forced signup.', Session::getUser()->getUsername()); logActivity('Forced signup of:' . $this->getElementValue('username') . ' to event: ' . $event['id'] . ' (' . $event['name'] . ')'); redirect('viewEvent.php?id=' . $event['id'], 'They have been signed up.'); }
public function process() { $sql = 'INSERT INTO finance_transactions (amount, description, timestamp, account) VALUES (:amount, :title, now(), :account) '; $stmt = DatabaseFactory::getInstance()->prepare($sql); foreach (Basket::getContents() as $basketItem) { $stmt->bindValue(':amount', $basketItem['cost']); $stmt->bindValue(':title', '(given cash) ' . $basketItem['title'] . ' ticket for ' . $basketItem['username']); $stmt->bindValue(':account', $this->getElementValue('username')); $stmt->execute(); Events::setSignupStatus($basketItem['userId'], $basketItem['eventId'], 'CASH_IN_POST'); } }
public function process() { $event = Events::getById($this->getElementValue('event')); switch ($event['signups']) { case 'staff': $initialSignupStatus = 'STAFF'; break; case 'punters': $initialSignupStatus = 'SIGNEDUP'; break; case 'waitinglist': $initialSignupStatus = 'WAITING_LIST'; break; default: throw new Exception('Cannot determine your initial signup status when the event signup status is: ' . $event['signups']); } Events::setSignupStatus($this->getElementValue('user'), $this->getElementValue('event'), $initialSignupStatus); $userReq = $this->getElementValue('comment'); if (!empty($userReq)) { $userReq = 'User requirement: ' . $userReq; } Events::appendSignupComment($this->getElementValue('user'), $this->getElementValue('event'), 'User self signup. ' . $userReq); }
case 'PAID': $authenticatedMachines = getAuthenticatedMachines($user->getId(), $event['id']); $sql = 'SELECT s.numberMachinesAllowed FROM signups s WHERE s.user = :user AND s.event = :event'; $stmt = DatabaseFactory::getInstance()->prepare($sql); $stmt->bindValue(':user', $user->getId()); $stmt->bindValue(':event', $event['id']); $stmt->execute(); $signup = $stmt->fetchRowNotNull(); if (count($authenticatedMachines) >= $signup['numberMachinesAllowed']) { apiReturn('reject-overuse'); } else { $sql = 'INSERT INTO authenticated_machines (user, event, seat, ip, hostname, mac) VALUES (:user, :event, :seat, :ip, :hostname, :mac)'; $stmt = DatabaseFactory::getInstance()->prepare($sql); $stmt->bindValue(':user', $user->getId()); $stmt->bindValue(':event', $event['id']); $stmt->bindValue(':seat', $sanitizer->filterString('seat')); $stmt->bindValue(':ip', $sanitizer->filterString('ip')); $stmt->bindValue(':hostname', $sanitizer->filterString('hostname')); $stmt->bindValue(':mac', $sanitizer->filterString('mac')); $stmt->execute(); Events::setSignupStatus($user->getId(), $event['id'], 'ATTENDED'); Events::appendSignupComment($user->getId(), $event['id'], 'Authenticated machine: ' . $sanitizer->filterString('mac')); apiReturn('allow'); } case 'STAFF': apiReturn('allow-full'); case 'SIGNEDUP': apiReturn('reject-payment'); default: apiReturn('fatal', 'Unrecognised signup status: ' . $signupStatus); }
break; case 'bacsComplete': foreach (Basket::getContents() as $ticket) { Events::setSignupStatus(Session::getUser()->getId(), $ticket['eventId'], 'BACS_WAITING'); } Basket::clear(); redirect('account.php', 'Thanks, you will be marked as PAID by an admin when they receive the transfer.'); break; case 'paypalFail': logAndRedirect('account.php', 'Paypal transaction failed.'); break; case 'paypalComplete': logActivity('Started processing PayPal payment notification'); foreach (Basket::getContents() as $ticket) { logActivity('PayPal transaction processing - setting status to PAID for event. Ticket owner _u_, event _e_', $ticket['userId'], array('event' => $ticket['eventId'], 'user' => Session::getUser()->getId())); Events::setSignupStatus($ticket['userId'], $ticket['eventId'], 'PAID'); } logActivity('Finished processing PayPal payment notification.'); Basket::clear(); redirect('account.php', 'Thanks, payment complete!'); break; default: require_once 'includes/widgets/header.php'; require_once 'includes/widgets/sidebar.php'; startBox(); echo str_replace('%BASKETTOTAL%', doubleToGbp($cost), getContent('selectPaymentMethod')); $tpl->assign('cost', $cost); $tpl->assign('costPaypal', getPaypalCommission($cost)); $tpl->assign('paypalEmail', getSiteSetting('paypalEmail')); $tpl->assign('listBasketContents', Basket::getContents()); $tpl->assign('baseUrl', getSiteSetting('baseUrl'));