Applied fixes from StyleCI

This commit is contained in:
Attendize 2016-03-04 19:18:10 -05:00 committed by StyleCI Bot
parent 9167653114
commit b3f33a38e8
119 changed files with 3910 additions and 3982 deletions

View File

@ -1,9 +1,9 @@
<?php namespace App\Attendize;
<?php
namespace App\Attendize;
class Utils
{
public static function isRegistered()
{
return Auth::check() && Auth::user()->is_registered;
@ -30,7 +30,8 @@ class Utils
*
* @return bool
*/
public static function isAttendize() {
public static function isAttendize()
{
return self::isAttendizeCloud() || self::isAttendizeDev();
}
@ -59,8 +60,8 @@ class Utils
return file_exists(storage_path().'/framework/down');
}
public static function file_upload_max_size() {
public static function file_upload_max_size()
{
static $max_size = -1;
if ($max_size < 0) {
@ -74,17 +75,18 @@ class Utils
$max_size = $upload_max;
}
}
return $max_size;
}
public static function parse_size($size) {
public static function parse_size($size)
{
$unit = preg_replace('/[^bkmgtpezy]/i', '', $size); // Remove the non-unit characters from the size.
$size = preg_replace('/[^0-9\.]/', '', $size); // Remove the non-numeric characters from the size.
if ($unit) {
// Find the position of the unit in the ordered string which is the power of magnitude to multiply a kilobyte by.
return round($size * pow(1024, stripos('bkmgtpezy', $unit[0])));
}
else {
} else {
return round($size);
}
}

View File

@ -1,20 +1,24 @@
<?php namespace App\Attendize\handlers;
<?php
namespace App\Attendize\handlers;
use App\Attendize\mailers\OrderMailer;
use Order;
use Attendee;
use Order;
//use PDF;
class QueueHandler {
class QueueHandler
{
protected $orderMailer;
public function __construct(OrderMailer $orderMailer) {
public function __construct(OrderMailer $orderMailer)
{
$this->orderMailer = $orderMailer;
}
public function handleOrder($job, $data) {
public function handleOrder($job, $data)
{
echo "Starting Job {$job->getJobId()}\n";
$order = Order::findOrfail($data['order_id']);
@ -30,17 +34,15 @@ class QueueHandler {
'order' => $order,
'event' => $order->event,
'tickets' => $order->event->tickets,
'attendees' => $order->attendees
'attendees' => $order->attendees,
];
$pdf_file = storage_path().'/'.$order->order_reference;
exit($pdf_file);
PDF::setOutputMode('F'); // force to file
PDF::html('Public.ViewEvent.Partials.PDFTicket', $data, $pdf_file);
//1
$this->orderMailer->sendOrderNotification($order);
//2
@ -52,8 +54,8 @@ class QueueHandler {
$job->delete();
}
public function messageAttendees($job, $data) {
public function messageAttendees($job, $data)
{
echo "Starting Job {$job->getJobId()}\n";
$message_object = Message::find($data['message_id']);
@ -69,7 +71,7 @@ class QueueHandler {
$data = [
'event' => $event,
'message_content' => $message_object->message,
'subject' => $message_object->subject
'subject' => $message_object->subject,
];
Mail::send('Emails.messageAttendees', $data, function ($message) use ($toFields, $event, $message_object) {
@ -79,13 +81,10 @@ class QueueHandler {
->subject($message_object->subject);
});
$message_object->is_sent = 1;
$message_object->save();
//$message->sent
$job->delete();
}
}

View File

@ -2,15 +2,15 @@
namespace App\Attendize\mailers;
use Mail;
use App\Models\Attendee;
use App\Models\Message;
use Carbon\Carbon;
use Mail;
class AttendeeMailer extends Mailer {
public function sendMessageToAttendees(Message $message_object) {
class AttendeeMailer extends Mailer
{
public function sendMessageToAttendees(Message $message_object)
{
$event = $message_object->event;
$attendees = ($message_object->recipients == 0)
@ -25,7 +25,7 @@ class AttendeeMailer extends Mailer {
$data = [
'event' => $event,
'message_content' => $message_object->message,
'subject' => $message_object->subject
'subject' => $message_object->subject,
];
/*
@ -38,11 +38,8 @@ class AttendeeMailer extends Mailer {
->subject($message_object->subject);
});
$message_object->is_sent = 1;
$message_object->sent_at = Carbon::now();
$message_object->save();
}
}

View File

@ -1,11 +1,12 @@
<?php namespace App\Attendize\mailers;
<?php
namespace App\Attendize\mailers;
use Mail;
class Mailer
{
public function sendTo($toEmail, $fromEmail, $fromName, $subject, $view, $data = [], $attachment = FALSE)
public function sendTo($toEmail, $fromEmail, $fromName, $subject, $view, $data = [], $attachment = false)
{
Mail::send($view, $data, function ($message) use ($toEmail, $fromEmail, $fromName, $subject, $attachment) {
$replyEmail = $fromEmail;

View File

@ -1,35 +1,36 @@
<?php namespace App\Attendize\mailers;
<?php
namespace App\Attendize\mailers;
use App\Models\Order;
class OrderMailer extends Mailer {
public function sendOrderNotification(Order $order) {
class OrderMailer extends Mailer
{
public function sendOrderNotification(Order $order)
{
$this->sendTo($order->account->email, config('attendize.outgoing_email'), config('attendize.outgoing_email_name'), 'New order received on the event '.$order->event->title.' ['.$order->order_reference.']', 'Emails.OrderNotification', [
'order' => $order
'order' => $order,
]);
}
public function sendOrderConfirmation(Order $order) {
public function sendOrderConfirmation(Order $order)
{
$ticket_pdf = public_path($order->ticket_pdf_path);
if (!file_exists($ticket_pdf)) {
$ticket_pdf = FALSE;
$ticket_pdf = false;
}
$this->sendTo($order->email, config('attendize.outgoing_email'), $order->event->organiser->name, 'Your tickets & order confirmation for the event '.$order->event->title.' ['.$order->order_reference.']', 'Emails.OrderConfirmation', [
'order' => $order,
'email_logo' => $order->event->organiser->full_logo_path
'email_logo' => $order->event->organiser->full_logo_path,
], $ticket_pdf);
}
public function sendTickets(Order $order) {
public function sendTickets(Order $order)
{
// $this->sendTo($order->account->email, config('attendize.outgoing_email'), config('attendize.outgoing_email_name'), 'New order received on the event '. $order->event->title .' ['. $order->order_reference .']', 'Emails.OrderNotification', [
// 'order' => $order
// ]);
}
}

View File

@ -5,10 +5,11 @@
*/
/**
* Description of UserMailer
* Description of UserMailer.
*
* @author Dave
*/
class UserMailer {
class UserMailer
{
//put your code here
}

View File

@ -1,7 +1,8 @@
<?php namespace App\Commands;
<?php
abstract class Command {
namespace App\Commands;
abstract class Command
{
//
}

View File

@ -2,27 +2,27 @@
namespace App\Commands;
use Log;
use App\Commands\Command;
use Illuminate\Queue\SerializesModels;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldBeQueued;
use App\Attendize\mailers\AttendeeMailer;
use Illuminate\Contracts\Bus\SelfHandling;
use Illuminate\Contracts\Queue\ShouldBeQueued;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels;
use Log;
class MessageAttendeesCommand extends Command implements ShouldBeQueued, SelfHandling {
class MessageAttendeesCommand extends Command implements ShouldBeQueued, SelfHandling
{
use InteractsWithQueue,
SerializesModels;
public $attendeeMessage;
public function __construct(\App\Models\Message $attendeeMessage) {
public function __construct(\App\Models\Message $attendeeMessage)
{
$this->attendeeMessage = $attendeeMessage;
}
function handle(AttendeeMailer $mailer) {
public function handle(AttendeeMailer $mailer)
{
Log::info(date('d m y H:i')." - Starting Job {$this->job->getJobId()} ".__CLASS__);
$mailer->sendMessageToAttendees($this->attendeeMessage);
@ -31,5 +31,4 @@ class MessageAttendeesCommand extends Command implements ShouldBeQueued, SelfHan
$this->delete();
}
}

View File

@ -2,16 +2,15 @@
namespace App\Commands;
use Log;
use App\Commands\Command;
use Illuminate\Queue\SerializesModels;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldBeQueued;
use App\Attendize\mailers\OrderMailer;
use Illuminate\Contracts\Bus\SelfHandling;
use Illuminate\Contracts\Queue\ShouldBeQueued;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels;
use Log;
class OrderTicketsCommand extends Command implements ShouldBeQueued, SelfHandling {
class OrderTicketsCommand extends Command implements ShouldBeQueued, SelfHandling
{
use InteractsWithQueue,
SerializesModels;
@ -20,10 +19,12 @@ class OrderTicketsCommand extends Command implements ShouldBeQueued, SelfHandlin
/**
* OrderTicketsCommand constructor.
*
* @param \App\Models\Order $ticketOrder
* @param bool|TRUE $sendOrderConfirmation
* @param bool|true $sendOrderConfirmation
*/
public function __construct(\App\Models\Order $ticketOrder, $sendOrderConfirmation = TRUE) {
public function __construct(\App\Models\Order $ticketOrder, $sendOrderConfirmation = true)
{
$this->ticketOrder = $ticketOrder;
$this->sendOrderConfirmation = $sendOrderConfirmation;
}
@ -31,8 +32,8 @@ class OrderTicketsCommand extends Command implements ShouldBeQueued, SelfHandlin
/**
* @param OrderMailer $mailer
*/
function handle(OrderMailer $mailer) {
public function handle(OrderMailer $mailer)
{
Log::info(date('d m y H:i')." - Starting Job {$this->job->getJobId()} ".__CLASS__);
//1 - Notify event organiser
@ -50,5 +51,4 @@ class OrderTicketsCommand extends Command implements ShouldBeQueued, SelfHandlin
$this->delete();
}
}

View File

@ -1,4 +1,6 @@
<?php namespace App\Console\Commands;
<?php
namespace App\Console\Commands;
use App\Models\Timezone;
use DB;
@ -47,7 +49,6 @@ class Install extends Command
$this->comment('App key exists -- skipping');
}
$this->info('Migrating database');
Artisan::call('migrate', ['--force' => true]);

View File

@ -1,27 +1,29 @@
<?php namespace App\Console;
<?php
namespace App\Console;
use Illuminate\Console\Scheduling\Schedule;
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;
class Kernel extends ConsoleKernel {
class Kernel extends ConsoleKernel
{
/**
* The Artisan commands provided by your application.
*
* @var array
*/
protected $commands = [
Commands\Install::class
Commands\Install::class,
];
/**
* Define the application's command schedule.
*
* @param \Illuminate\Console\Scheduling\Schedule $schedule
*
* @return void
*/
protected function schedule(Schedule $schedule)
{
}
}

View File

@ -1,7 +1,8 @@
<?php namespace App\Events;
<?php
abstract class Event {
namespace App\Events;
abstract class Event
{
//
}

View File

@ -2,31 +2,34 @@
namespace App\Exceptions;
use Exception, Request;
use Exception;
use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;
use Request;
//use Bugsnag\BugsnagLaravel\BugsnagExceptionHandler as ExceptionHandler;
class Handler extends ExceptionHandler {
class Handler extends ExceptionHandler
{
/**
* A list of the exception types that should not be reported.
*
* @var array
*/
protected $dontReport = [
'Symfony\Component\HttpKernel\Exception\HttpException'
'Symfony\Component\HttpKernel\Exception\HttpException',
];
/**
*
* Report or log an exception.
*
* This is a great spot to send exceptions to Sentry, Bugsnag, etc.
*
* @param \Exception $e
*
* @return void
*/
public function report(Exception $e) {
public function report(Exception $e)
{
return parent::report($e);
}
@ -35,14 +38,15 @@ class Handler extends ExceptionHandler {
*
* @param \Illuminate\Http\Request $request
* @param \Exception $e
*
* @return \Illuminate\Http\Response
*/
public function render($request, Exception $e) {
public function render($request, Exception $e)
{
if ($this->isHttpException($e)) {
return $this->renderHttpException($e);
}
if (config('app.debug')) {
return $this->renderExceptionWithWhoops($e);
}
@ -54,13 +58,15 @@ class Handler extends ExceptionHandler {
* Render an exception using Whoops.
*
* @param \Exception $e
*
* @return \Illuminate\Http\Response
*/
protected function renderExceptionWithWhoops(Exception $e) {
$whoops = new \Whoops\Run;
protected function renderExceptionWithWhoops(Exception $e)
{
$whoops = new \Whoops\Run();
if (Request::ajax()) {
$whoops->pushHandler(new \Whoops\Handler\JsonResponseHandler);
$whoops->pushHandler(new \Whoops\Handler\JsonResponseHandler());
} else {
$whoops->pushHandler(new \Whoops\Handler\PrettyPageHandler());
}
@ -69,5 +75,4 @@ class Handler extends ExceptionHandler {
$whoops->handleException($e), $e->getStatusCode(), $e->getHeaders()
);
}
}

View File

@ -1,16 +1,16 @@
<?php
/**
*
* @param int $amount
* @param string $currency_code
* @param int $decimals
* @param string $dec_point
* @param string $thousands_sep
*
* @return decimal
*/
function money($amount, $currency_code='', $decimals = 2 ,$dec_point = "." , $thousands_sep = "," ) {
function money($amount, $currency_code = '', $decimals = 2, $dec_point = '.', $thousands_sep = ',')
{
switch ($currency_code) {
case 'USD':
case 'AUD':

View File

@ -1,8 +1,7 @@
<?php
Validator::extend('passcheck', function ($attribute, $value, $parameters)
{
Validator::extend('passcheck', function ($attribute, $value, $parameters) {
return \Hash::check($value, \Auth::user()->getAuthPassword());
});
@ -10,13 +9,13 @@ Validator::extend('passcheck', function ($attribute, $value, $parameters)
* Some macros and blade extensions
*/
Form::macro('rawLabel', function($name, $value = null, $options = array()) {
Form::macro('rawLabel', function ($name, $value = null, $options = []) {
$label = Form::label($name, '%s', $options);
return sprintf($label, $value);
});
Form::macro('labelWithHelp', function($name, $value = null, $options = array(), $help_text) {
Form::macro('labelWithHelp', function ($name, $value, $options, $help_text) {
$label = Form::label($name, '%s', $options);
return sprintf($label, $value)
@ -25,8 +24,7 @@ Form::macro('labelWithHelp', function($name, $value = null, $options = array(),
.'</a>';
});
Form::macro('customCheckbox', function($name, $value, $checked=FALSE, $label = FALSE, $options= []) {
Form::macro('customCheckbox', function ($name, $value, $checked = false, $label = false, $options = []) {
// $checkbox = Form::checkbox($name, $value = null, $checked, $options);
// $label = Form::rawLabel();
@ -39,7 +37,7 @@ Form::macro('customCheckbox', function($name, $value, $checked=FALSE, $label =
// return $out;
});
Form::macro('styledFile', function($name, $multiple = FALSE) {
Form::macro('styledFile', function ($name, $multiple = false) {
$out = '<div class="styledFile" id="input-'.$name.'">
<div class="input-group">
<span class="input-group-btn">
@ -65,7 +63,7 @@ HTML::macro('sortable_link', function($title, $active_sort, $sort_by, $sort_orde
$url_params = http_build_query([
'sort_by' => $sort_by,
'sort_order' => $sort_order
'sort_order' => $sort_order,
] + $url_params);
$html = "<a href='?$url_params' class='col-sort $class' $extra>";
@ -79,10 +77,6 @@ HTML::macro('sortable_link', function($title, $active_sort, $sort_by, $sort_orde
return $html;
});
Blade::directive('money', function ($expression) {
return "<?php echo number_format($expression, 2); ?>";
});

View File

@ -1,12 +1,14 @@
<?php namespace App\Http\Controllers\Auth;
<?php
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use Illuminate\Contracts\Auth\Guard;
use Illuminate\Contracts\Auth\Registrar;
use Illuminate\Foundation\Auth\AuthenticatesAndRegistersUsers;
class AuthController extends Controller {
class AuthController extends Controller
{
/*
|--------------------------------------------------------------------------
| Registration & Login Controller
@ -25,6 +27,7 @@ class AuthController extends Controller {
*
* @param \Illuminate\Contracts\Auth\Guard $auth
* @param \Illuminate\Contracts\Auth\Registrar $registrar
*
* @return void
*/
public function __construct(Guard $auth, Registrar $registrar)
@ -34,5 +37,4 @@ class AuthController extends Controller {
$this->middleware('guest', ['except' => 'getLogout']);
}
}

View File

@ -1,12 +1,12 @@
<?php namespace App\Http\Controllers\Auth;
<?php
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use Illuminate\Contracts\Auth\Guard;
use Illuminate\Contracts\Auth\PasswordBroker;
use Illuminate\Foundation\Auth\ResetsPasswords;
class PasswordController extends Controller {
class PasswordController extends Controller
{
/*
|--------------------------------------------------------------------------
| Password Reset Controller
@ -25,6 +25,7 @@ class PasswordController extends Controller {
*
* @param \Illuminate\Contracts\Auth\Guard $auth
* @param \Illuminate\Contracts\Auth\PasswordBroker $passwords
*
* @return void
*/
public function __construct()
@ -34,5 +35,4 @@ class PasswordController extends Controller {
$this->middleware('guest');
}
}

View File

@ -1,11 +1,12 @@
<?php namespace App\Http\Controllers;
<?php
namespace App\Http\Controllers;
use Illuminate\Foundation\Bus\DispatchesCommands;
use Illuminate\Routing\Controller as BaseController;
use Illuminate\Foundation\Validation\ValidatesRequests;
use Illuminate\Routing\Controller as BaseController;
abstract class Controller extends BaseController {
abstract class Controller extends BaseController
{
use DispatchesCommands, ValidatesRequests;
}

View File

@ -2,42 +2,38 @@
namespace App\Http\Controllers;
use Input,
DB,
Auth,
Mail,
Response,
View,
Excel,
Session,
Validator;
use App\Commands\OrderTicketsCommand;
use App\Models\Attendee;
use App\Models\Event;
use App\Models\EventStats;
use App\Models\Order;
use App\Models\Ticket;
use App\Models\Attendee;
use App\Models\OrderItem;
use App\Models\Message;
use App\Commands\MessageAttendeesCommand;
use App\Commands\OrderTicketsCommand;
class EventAttendeesController extends MyBaseController {
public function showAttendees($event_id) {
use App\Models\Order;
use App\Models\OrderItem;
use App\Models\Ticket;
use Auth;
use DB;
use Excel;
use Input;
use Mail;
use Response;
use Session;
use Validator;
use View;
class EventAttendeesController extends MyBaseController
{
public function showAttendees($event_id)
{
$allowed_sorts = ['first_name', 'email', 'ticket_id', 'order_reference'];
$searchQuery = Input::get('q');
$sort_order = Input::get('sort_order') == 'asc' ? 'asc' : 'desc';
$sort_by = (in_array(Input::get('sort_by'), $allowed_sorts) ? Input::get('sort_by') : 'created_at');
$event = Event::scope()->find($event_id);
//$event = Event::scope()->join('orders', 'orders.event_id', '=', 'attendees.id')->find($event_id);
if ($searchQuery) {
$attendees = $event->attendees()
->withoutCancelled()
->join('orders', 'orders.id', '=', 'attendees.order_id')
@ -64,16 +60,14 @@ class EventAttendeesController extends MyBaseController {
'event' => $event,
'sort_by' => $sort_by,
'sort_order' => $sort_order,
'q' => $searchQuery ? $searchQuery : ''
'q' => $searchQuery ? $searchQuery : '',
];
return View::make('ManageEvent.Attendees', $data);
}
public function showCreateAttendee($event_id) {
public function showCreateAttendee($event_id)
{
$event = Event::scope()->find($event_id);
/*
@ -84,15 +78,15 @@ class EventAttendeesController extends MyBaseController {
return '<script>showMessage("You need to create a ticket before you can add an attendee.");</script>';
}
return View::make('ManageEvent.Modals.CreateAttendee', array(
return View::make('ManageEvent.Modals.CreateAttendee', [
'modal_id' => \Input::get('modal_id'),
'event' => $event,
'tickets' => $event->tickets()->lists('title', 'id')
));
'tickets' => $event->tickets()->lists('title', 'id'),
]);
}
public function postCreateAttendee($event_id) {
public function postCreateAttendee($event_id)
{
$rules = [
'first_name' => 'required',
'ticket_id' => 'required|exists:tickets,id,account_id,'.\Auth::user()->account_id,
@ -102,16 +96,16 @@ class EventAttendeesController extends MyBaseController {
$messages = [
'ticket_id.exists' => 'The ticket you have selected does not exist',
'ticket_id.required' => 'The ticket field is required. '
'ticket_id.required' => 'The ticket field is required. ',
];
$validator = Validator::make(Input::all(), $rules, $messages);
if ($validator->fails()) {
return Response::json(array(
return Response::json([
'status' => 'error',
'messages' => $validator->messages()->toArray()
));
'messages' => $validator->messages()->toArray(),
]);
}
$ticket_id = Input::get('ticket_id');
@ -121,11 +115,10 @@ class EventAttendeesController extends MyBaseController {
$attendee_email = Input::get('email');
$email_attendee = Input::get('email_ticket');
/*
* Create the order
*/
$order = new Order;
$order = new Order();
$order->first_name = $attendee_first_name;
$order->last_name = $attendee_last_name;
$order->email = $attendee_email;
@ -143,30 +136,27 @@ class EventAttendeesController extends MyBaseController {
$ticket->increment('sales_volume', $ticket_price);
$ticket->event->increment('sales_volume', $ticket_price);
/*
* Insert order item
*/
$orderItem = new OrderItem;
$orderItem = new OrderItem();
$orderItem->title = $ticket->title;
$orderItem->quantity = 1;
$orderItem->order_id = $order->id;
$orderItem->unit_price = $ticket_price;
$orderItem->save();
/*
* Update the event stats
*/
$event_stats = new EventStats;
$event_stats = new EventStats();
$event_stats->updateTicketsSoldCount($event_id, 1);
$event_stats->updateTicketRevenue($ticket_id, $ticket_price);
/*
* Create the attendee
*/
$attendee = new Attendee;
$attendee = new Attendee();
$attendee->first_name = $attendee_first_name;
$attendee->last_name = $attendee_last_name;
$attendee->email = $attendee_email;
@ -183,25 +173,25 @@ class EventAttendeesController extends MyBaseController {
Session::flash('message', 'Attendee Successfully Created');
return Response::json(array(
return Response::json([
'status' => 'success',
'id' => $attendee->id,
'redirectUrl' => route('showEventAttendees', array(
'event_id' => $event_id
))
));
'redirectUrl' => route('showEventAttendees', [
'event_id' => $event_id,
]),
]);
}
public function showPrintAttendees($event_id) {
public function showPrintAttendees($event_id)
{
$data['event'] = Event::scope()->find($event_id);
$data['attendees'] = $data['event']->attendees()->withoutCancelled()->orderBy('first_name')->get();
return View::make('ManageEvent.PrintAttendees', $data);
}
public function showMessageAttendee($attendee_id) {
public function showMessageAttendee($attendee_id)
{
$attendee = Attendee::scope()->findOrFail($attendee_id);
$data = [
@ -213,20 +203,20 @@ class EventAttendeesController extends MyBaseController {
return View::make('ManageEvent.Modals.MessageAttendee', $data);
}
public function postMessageAttendee($attendee_id) {
public function postMessageAttendee($attendee_id)
{
$rules = [
'subject' => 'required',
'message' => 'required'
'message' => 'required',
];
$validator = Validator::make(Input::all(), $rules);
if ($validator->fails()) {
return Response::json(array(
return Response::json([
'status' => 'error',
'messages' => $validator->messages()->toArray()
));
'messages' => $validator->messages()->toArray(),
]);
}
$attendee = Attendee::scope()->findOrFail($attendee_id);
@ -236,7 +226,7 @@ class EventAttendeesController extends MyBaseController {
'message_content' => Input::get('message'),
'subject' => Input::get('subject'),
'event' => $attendee->event,
'email_logo' => $attendee->event->organiser->full_logo_path
'email_logo' => $attendee->event->organiser->full_logo_path,
];
Mail::send('Emails.messageAttendees', $data, function ($message) use ($attendee, $data) {
@ -256,42 +246,38 @@ class EventAttendeesController extends MyBaseController {
});
}
return Response::json(array(
return Response::json([
'status' => 'success',
'message' => 'Message Successfully Sent'
));
'message' => 'Message Successfully Sent',
]);
}
public function showMessageAttendees($event_id) {
public function showMessageAttendees($event_id)
{
$data = [
'event' => Event::scope()->find($event_id),
'modal_id' => Input::get('modal_id'),
'tickets' => Event::scope()->find($event_id)->tickets()->lists('title', 'id')->toArray()
'tickets' => Event::scope()->find($event_id)->tickets()->lists('title', 'id')->toArray(),
];
return View::make('ManageEvent.Modals.MessageAttendees', $data);
}
public function postMessageAttendees($event_id) {
public function postMessageAttendees($event_id)
{
$rules = [
'subject' => 'required',
'message' => 'required',
'recipients' => 'required'
'recipients' => 'required',
];
$validator = Validator::make(Input::all(), $rules);
if ($validator->fails()) {
return Response::json(array(
return Response::json([
'status' => 'error',
'messages' => $validator->messages()->toArray()
));
'messages' => $validator->messages()->toArray(),
]);
}
$message = Message::createNew();
@ -305,14 +291,14 @@ class EventAttendeesController extends MyBaseController {
* Add to the queue
*/
return Response::json(array(
return Response::json([
'status' => 'success',
'message' => 'Message Successfully Sent'
));
'message' => 'Message Successfully Sent',
]);
}
public function showExportAttendees($event_id, $export_as = 'xls') {
public function showExportAttendees($event_id, $export_as = 'xls')
{
Excel::create('attendees-as-of-'.date('d-m-Y-g.i.a'), function ($excel) use ($event_id) {
$excel->setTitle('Attendees List');
@ -335,14 +321,11 @@ class EventAttendeesController extends MyBaseController {
'attendees.first_name', 'attendees.last_name', 'attendees.email', 'attendees.reference', 'orders.order_reference', 'tickets.title', 'orders.created_at', DB::raw("(CASE WHEN attendees.has_arrived = 1 THEN 'YES' ELSE 'NO' END) AS `attendees.has_arrived`"), 'attendees.arrival_time')->get();
//DB::raw("(CASE WHEN UNIX_TIMESTAMP(`attendees.arrival_time`) = 0 THEN '---' ELSE 'd' END) AS `attendees.arrival_time`"))
$sheet->fromArray($data);
$sheet->row(1, array(
'First Name', 'Last Name', 'Email', 'Ticket Reference', 'Order Reference', 'Ticket Type', 'Purchase Date', 'Has Arrived', 'Arrival Time'
));
$sheet->row(1, [
'First Name', 'Last Name', 'Email', 'Ticket Reference', 'Order Reference', 'Ticket Type', 'Purchase Date', 'Has Arrived', 'Arrival Time',
]);
// Set gray background on first row
$sheet->row(1, function ($row) {
@ -352,9 +335,8 @@ class EventAttendeesController extends MyBaseController {
})->export($export_as);
}
public function showEditAttendee($event_id, $attendee_id) {
public function showEditAttendee($event_id, $attendee_id)
{
$attendee = Attendee::scope()->findOrFail($attendee_id);
$data = [
@ -367,26 +349,26 @@ class EventAttendeesController extends MyBaseController {
return View::make('ManageEvent.Modals.EditAttendee', $data);
}
public function postEditAttendee($event_id, $attendee_id) {
public function postEditAttendee($event_id, $attendee_id)
{
$rules = [
'first_name' => 'required',
'ticket_id' => 'required|exists:tickets,id,account_id,'.Auth::user()->account_id,
'email' => 'required|email'
'email' => 'required|email',
];
$messages = [
'ticket_id.exists' => 'The ticket you have selected does not exist',
'ticket_id.required' => 'The ticket field is required. '
'ticket_id.required' => 'The ticket field is required. ',
];
$validator = Validator::make(Input::all(), $rules, $messages);
if ($validator->fails()) {
return Response::json(array(
return Response::json([
'status' => 'error',
'messages' => $validator->messages()->toArray()
));
'messages' => $validator->messages()->toArray(),
]);
}
$attendee = Attendee::scope()->findOrFail($attendee_id);
@ -397,15 +379,16 @@ class EventAttendeesController extends MyBaseController {
$attendee->ticket_id = Input::get('ticket_id');
$attendee->save();
return Response::json(array(
return Response::json([
'status' => 'success',
'id' => $attendee->id,
'message' => 'Refreshing...',
'redirectUrl' => ''
));
'redirectUrl' => '',
]);
}
public function showCancelAttendee($event_id, $attendee_id) {
public function showCancelAttendee($event_id, $attendee_id)
{
$attendee = Attendee::scope()->findOrFail($attendee_id);
$data = [
@ -418,7 +401,8 @@ class EventAttendeesController extends MyBaseController {
return View::make('ManageEvent.Modals.CancelAttendee', $data);
}
public function postCancelAttendee($event_id, $attendee_id) {
public function postCancelAttendee($event_id, $attendee_id)
{
$attendee = Attendee::scope()->findOrFail($attendee_id);
$attendee->ticket->decrement('quantity_sold');
@ -427,7 +411,7 @@ class EventAttendeesController extends MyBaseController {
$data = [
'attendee' => $attendee,
'email_logo' => $attendee->organiser->full_logo_path
'email_logo' => $attendee->organiser->full_logo_path,
];
if (Input::get('notify_attendee') == '1') {
@ -441,12 +425,11 @@ class EventAttendeesController extends MyBaseController {
\Session::flash('message', 'Successfully Cancelled Attenddee');
return Response::json(array(
return Response::json([
'status' => 'success',
'id' => $attendee->id,
'message' => 'Refreshing...',
'redirectUrl' => ''
));
'redirectUrl' => '',
]);
}
}

View File

@ -1,28 +1,33 @@
<?php
namespace App\Http\Controllers;
use Input,
DB,
Response,
View;
use App\Models\Event;
use App\Models\Attendee;
use App\Models\Event;
use Carbon\Carbon;
use DB;
use Input;
use Response;
use View;
class EventCheckInController extends MyBaseController {
class EventCheckInController extends MyBaseController
{
/**
* @param $event_id
*
* @return mixed
*/
public function showCheckIn($event_id) {
public function showCheckIn($event_id)
{
$data['event'] = Event::scope()->findOrFail($event_id);
$data['attendees'] = $data['event']->attendees;
return View::make('ManageEvent.CheckIn', $data);
}
public function postCheckInSearch($event_id) {
public function postCheckInSearch($event_id)
{
$searchQuery = Input::get('q');
$attendees = Attendee::scope()->withoutCancelled()
@ -44,7 +49,7 @@ class EventCheckInController extends MyBaseController {
'attendees.reference',
'attendees.arrival_time',
'attendees.has_arrived',
'tickets.title as ticket'
'tickets.title as ticket',
])
->orderBy('attendees.first_name', 'ASC')
->get();
@ -52,8 +57,8 @@ class EventCheckInController extends MyBaseController {
return Response::json($attendees);
}
public function postCheckInAttendee() {
public function postCheckInAttendee()
{
$attendee_id = Input::get('attendee_id');
$checking = Input::get('checking');
@ -67,7 +72,7 @@ class EventCheckInController extends MyBaseController {
'status' => 'error',
'message' => 'Warning: This Attendee Has Already Been Checked '.(($checking == 'in') ? 'In (at '.$attendee->arrival_time->format('H:i A, F j').')' : 'Out').'!',
'checked' => $checking,
'id' => $attendee->id
'id' => $attendee->id,
]);
}
@ -79,8 +84,7 @@ class EventCheckInController extends MyBaseController {
'status' => 'success',
'checked' => $checking,
'message' => 'Attendee Successfully Checked '.(($checking == 'in') ? 'In' : 'Out'),
'id' => $attendee->id
'id' => $attendee->id,
]);
}
}

View File

@ -1,37 +1,36 @@
<?php namespace App\Http\Controllers;
<?php
use View,
Input,
Validator,
DB,
Response,
Session,
Request,
Redirect,
Log,
Cookie,
App;
use PDF;
use Bugsnag;
use Stripe,
Stripe_Charge,
Stripe_Customer;
namespace App\Http\Controllers;
use App;
use App\Attendize\Utils;
use App\Commands\OrderTicketsCommand;
use App\Http\Controllers\Controller;
use Carbon\Carbon;
use App\Models\Event;
use App\Models\Affiliate;
use App\Models\Order;
use App\Models\Ticket;
use App\Models\Attendee;
use App\Models\Event;
use App\Models\EventStats;
use App\Models\Order;
use App\Models\OrderItem;
use App\Models\ReservedTickets;
use App\Attendize\Utils;
use App\Models\Ticket;
use Carbon\Carbon;
use Cookie;
use DB;
use Input;
use Log;
use PDF;
use Redirect;
use Request;
use Response;
use Session;
use Stripe;
use Stripe_Charge;
use Stripe_Customer;
use Validator;
use View;
class EventCheckoutController extends Controller
{
protected $is_embedded;
public function __construct()
@ -73,10 +72,8 @@ class EventCheckoutController extends Controller
$quantity_available_validation_rules = [];
foreach ($ticket_ids as $ticket_id) {
$current_ticket_quantity = (int) Input::get('ticket_'.$ticket_id);
if ($current_ticket_quantity < 1) {
continue;
}
@ -94,19 +91,17 @@ class EventCheckoutController extends Controller
$quantity_available_validation_rules['ticket_'.$ticket_id] = ['numeric', 'min:'.$ticket->min_per_person, 'max:'.$max_per_person];
$quantity_available_validation_messages = [
'ticket_'.$ticket_id.'.max' => 'The maximum number of tickets you can register is '.$ticket_quantity_remaining,
'ticket_' . $ticket_id . '.min' => 'You must select at least ' . $ticket->min_per_person . ' tickets.'
'ticket_'.$ticket_id.'.min' => 'You must select at least '.$ticket->min_per_person.' tickets.',
];
$validator = Validator::make(['ticket_'.$ticket_id => (int) Input::get('ticket_'.$ticket_id)], $quantity_available_validation_rules, $quantity_available_validation_messages);
if ($validator->fails()) {
return Response::json([
'status' => 'error',
'messages' => $validator->messages()->toArray()
'messages' => $validator->messages()->toArray(),
]);
}
@ -120,13 +115,13 @@ class EventCheckoutController extends Controller
'price' => ($current_ticket_quantity * $ticket->price),
'booking_fee' => ($current_ticket_quantity * $ticket->booking_fee),
'organiser_booking_fee' => ($current_ticket_quantity * $ticket->organiser_booking_fee),
'full_price' => $ticket->price + $ticket->total_booking_fee
'full_price' => $ticket->price + $ticket->total_booking_fee,
];
/*
* Reserve the tickets in the DB
*/
$reservedTickets = new ReservedTickets;
$reservedTickets = new ReservedTickets();
$reservedTickets->ticket_id = $ticket_id;
$reservedTickets->event_id = $event_id;
$reservedTickets->quantity_reserved = $current_ticket_quantity;
@ -152,10 +147,10 @@ class EventCheckoutController extends Controller
}
if (empty($tickets)) {
return Response::json(array(
return Response::json([
'status' => 'error',
'message' => 'No tickets selected.'
));
'message' => 'No tickets selected.',
]);
}
/*
@ -174,32 +169,31 @@ class EventCheckoutController extends Controller
'booking_fee' => $booking_fee,
'organiser_booking_fee' => $organiser_booking_fee,
'total_booking_fee' => $booking_fee + $organiser_booking_fee,
'order_requires_payment' => (ceil($order_total) == 0) ? FALSE : TRUE,
'order_requires_payment' => (ceil($order_total) == 0) ? false : true,
'account_id' => $event->account->id,
'affiliate_referral' => Cookie::get('affiliate_' . $event_id)
'affiliate_referral' => Cookie::get('affiliate_'.$event_id),
]);
if (Request::ajax()) {
return Response::json(array(
return Response::json([
'status' => 'success',
'redirectUrl' => route('showEventCheckout', [
'event_id' => $event_id,
'is_embedded' => $this->is_embedded
]) . '#order_form'
));
'is_embedded' => $this->is_embedded,
]).'#order_form',
]);
}
/*
* TODO: We should just show an enable JS message here instead
*/
return Redirect::to(route('showEventCheckout', [
'event_id' => $event_id
'event_id' => $event_id,
]).'#order_form');
}
public function showEventCheckout($event_id)
{
$order_session = Session::get('ticket_order_'.$event_id);
if (!$order_session || $order_session['expires'] < Carbon::now()) {
@ -212,23 +206,23 @@ class EventCheckoutController extends Controller
$data = $order_session + [
'event' => Event::findorFail($order_session['event_id']),
'secondsToExpire' => $secondsToExpire,
'is_embedded' => $this->is_embedded
'is_embedded' => $this->is_embedded,
];
if ($this->is_embedded) {
return View::make('Public.ViewEvent.Embedded.EventPageCheckout', $data);
}
return View::make('Public.ViewEvent.EventPageCheckout', $data);
}
public function postCreateOrder($event_id)
{
$mirror_buyer_info = (Input::get('mirror_buyer_info') == 'on') ? TRUE : FALSE;
$mirror_buyer_info = (Input::get('mirror_buyer_info') == 'on') ? true : false;
$event = Event::findOrFail($event_id);
$order = new Order;
$order = new Order();
$ticket_order = Session::get('ticket_order_'.$event_id);
@ -237,55 +231,52 @@ class EventCheckoutController extends Controller
$validation_rules = $ticket_order['validation_rules'];
$validation_messages = $ticket_order['validation_messages'];
if (!$mirror_buyer_info && $event->ask_for_all_attendees_info) {
$order->rules = $order->rules + $validation_rules;
$order->messages = $order->messages + $validation_messages;
}
if (!$order->validate(Input::all())) {
return Response::json(array(
return Response::json([
'status' => 'error',
'messages' => $order->errors()
));
'messages' => $order->errors(),
]);
}
/**
/*
* Begin payment attempt before creating the attendees etc.
* */
if ($ticket_order['order_requires_payment']) {
try {
$stripe_error = FALSE;
$stripe_error = false;
Stripe::setApiKey($event->account->stripe_api_key);
$token = Input::get('stripeToken');
$customer = Stripe_Customer::create(array(
$customer = Stripe_Customer::create([
'email' => Input::get('order_email'),
'card' => $token,
'description' => 'Customer: ' . Input::get('order_email')
));
'description' => 'Customer: '.Input::get('order_email'),
]);
if (Utils::isAttendize()) {
$charge = Stripe_Charge::create(array(
$charge = Stripe_Charge::create([
'customer' => $customer->id,
'amount' => ($ticket_order['order_total'] + $ticket_order['organiser_booking_fee']) * 100,
'currency' => $event->currency->code,
'description' => Input::get('order_email'),
'application_fee' => $ticket_order['booking_fee'] * 100,
'description' => 'Order for customer: ' . Input::get('order_email')
));
'description' => 'Order for customer: '.Input::get('order_email'),
]);
} else {
$charge = Stripe_Charge::create(array(
$charge = Stripe_Charge::create([
'customer' => $customer->id,
'amount' => ($ticket_order['order_total'] + $ticket_order['organiser_booking_fee']) * 100,
'currency' => $event->currency->code,
'description' => Input::get('order_email'),
'description' => 'Order for customer: ' . Input::get('order_email')
));
'description' => 'Order for customer: '.Input::get('order_email'),
]);
}
$order->transaction_id = $charge->id;
@ -313,10 +304,10 @@ class EventCheckoutController extends Controller
}
if ($stripe_error) {
return Response::json(array(
return Response::json([
'status' => 'error',
'message' => $stripe_error
));
'message' => $stripe_error,
]);
}
}
@ -355,7 +346,7 @@ class EventCheckoutController extends Controller
*/
$event_stats = EventStats::firstOrNew([
'event_id' => $event_id,
'date' => DB::raw('CURDATE()')
'date' => DB::raw('CURDATE()'),
]);
$event_stats->increment('tickets_sold', $ticket_order['total_ticket_quantity']);
@ -384,7 +375,7 @@ class EventCheckoutController extends Controller
/*
* Insert order items (for use in generating invoices)
*/
$orderItem = new OrderItem;
$orderItem = new OrderItem();
$orderItem->title = $attendee_details['ticket']['title'];
$orderItem->quantity = $attendee_details['qty'];
$orderItem->order_id = $order->id;
@ -396,7 +387,7 @@ class EventCheckoutController extends Controller
* Create the attendees
*/
for ($i = 0; $i < $attendee_details['qty']; $i++) {
$attendee = new Attendee;
$attendee = new Attendee();
$attendee->first_name = $event->ask_for_all_attendees_info ? ($mirror_buyer_info ? $order->first_name : Input::get("ticket_holder_first_name.$i.{$attendee_details['ticket']['id']}")) : $order->first_name;
$attendee->last_name = $event->ask_for_all_attendees_info ? ($mirror_buyer_info ? $order->last_name : Input::get("ticket_holder_last_name.$i.{$attendee_details['ticket']['id']}")) : $order->last_name;
$attendee->email = $event->ask_for_all_attendees_info ? ($mirror_buyer_info ? $order->email : Input::get("ticket_holder_email.$i.{$attendee_details['ticket']['id']}")) : $order->email;
@ -411,7 +402,6 @@ class EventCheckoutController extends Controller
* Queue an email to send to each attendee
*/
/* Keep track of total number of attendees */
$attendee_increment++;
}
@ -436,24 +426,24 @@ class EventCheckoutController extends Controller
* Queue the PDF creation jobs
*/
return Response::json(array(
return Response::json([
'status' => 'success',
'redirectUrl' => route('showOrderDetails', [
'is_embedded' => $this->is_embedded,
'order_reference' => $order->order_reference
])
));
'order_reference' => $order->order_reference,
]),
]);
}
/**
* Show the order details page
* Show the order details page.
*
* @param string $order_reference
*
* @return view
*/
public function showOrderDetails($order_reference)
{
$order = Order::where('order_reference', '=', $order_reference)->first();
if (!$order) {
@ -464,23 +454,23 @@ class EventCheckoutController extends Controller
'order' => $order,
'event' => $order->event,
'tickets' => $order->event->tickets,
'is_embedded' => $this->is_embedded
'is_embedded' => $this->is_embedded,
];
if ($this->is_embedded) {
return View::make('Public.ViewEvent.Embedded.EventPageViewOrder', $data);
}
return View::make('Public.ViewEvent.EventPageViewOrder', $data);
}
/**
* Output order tickets
* Output order tickets.
*
* @param string $order_reference
*/
public function showOrderTickets($order_reference)
{
$order = Order::where('order_reference', '=', $order_reference)->first();
if (!$order) {
@ -491,7 +481,7 @@ class EventCheckoutController extends Controller
'order' => $order,
'event' => $order->event,
'tickets' => $order->event->tickets,
'attendees' => $order->attendees
'attendees' => $order->attendees,
];
if (Input::get('download') == '1') {
@ -500,5 +490,4 @@ class EventCheckoutController extends Controller
return View::make('Public.ViewEvent.Partials.PDFTicket', $data);
}
}

View File

@ -1,43 +1,45 @@
<?php namespace App\Http\Controllers;
<?php
use Response, Input, Validator;
use Auth;
use Image;
use Storage;
use View;
use Carbon\Carbon;
namespace App\Http\Controllers;
use App\Models\Event;
use App\Models\EventImage;
use App\Models\Organiser;
use App\Models\Event;
class EventController extends MyBaseController {
public function showCreateEvent() {
use Auth;
use Carbon\Carbon;
use Image;
use Input;
use Response;
use Validator;
use View;
class EventController extends MyBaseController
{
public function showCreateEvent()
{
$data = [
'modal_id' => Input::get('modal_id'),
'organisers' => Organiser::scope()->lists('name', 'id'),
'organiser_id' => Input::get('organiser_id') ? Input::get('organiser_id') : false
'organiser_id' => Input::get('organiser_id') ? Input::get('organiser_id') : false,
];
return View::make('ManageOrganiser.Modals.CreateEvent', $data);
}
public function postCreateEvent() {
public function postCreateEvent()
{
$event = Event::createNew();
if (!$event->validate(Input::all())) {
return Response::json(array(
return Response::json([
'status' => 'error',
'messages' => $event->errors()
));
'messages' => $event->errors(),
]);
}
$event->title = Input::get('title');
$event->description = strip_tags(Input::get('description'));
$event->start_date = Input::get('start_date') ? Carbon::createFromFormat('d-m-Y H:i', Input::get('start_date')) : NULL;
$event->start_date = Input::get('start_date') ? Carbon::createFromFormat('d-m-Y H:i', Input::get('start_date')) : null;
/*
* Venue location info (Usually autofilled from google maps)
@ -69,32 +71,29 @@ class EventController extends MyBaseController {
$event->location_is_manual = 1;
}
$event->end_date = Input::get('end_date') ? Carbon::createFromFormat('d-m-Y H:i', Input::get('end_date')) : NULL;
$event->end_date = Input::get('end_date') ? Carbon::createFromFormat('d-m-Y H:i', Input::get('end_date')) : null;
$event->currency_id = Auth::user()->account->currency_id;
//$event->timezone_id = Auth::user()->account->timezone_id;
if (Input::get('organiser_name')) {
$organiser = Organiser::createNew(false, false, true);
$organiser = Organiser::createNew(FALSE, FALSE, TRUE);
$rules = array(
'organiser_name' => array('required'),
'organiser_email' => array('required', 'email'),
);
$messages = array(
'organiser_name.required' => 'You must give a name for the event organiser.'
);
$rules = [
'organiser_name' => ['required'],
'organiser_email' => ['required', 'email'],
];
$messages = [
'organiser_name.required' => 'You must give a name for the event organiser.',
];
$validator = Validator::make(Input::all(), $rules, $messages);
if ($validator->fails()) {
return Response::json(array(
return Response::json([
'status' => 'error',
'messages' => $validator->messages()->toArray()
));
'messages' => $validator->messages()->toArray(),
]);
}
$organiser->name = Input::get('organiser_name');
@ -106,18 +105,17 @@ class EventController extends MyBaseController {
$event->organiser_id = $organiser->id;
} elseif (Input::get('organiser_id')) {
$event->organiser_id = Input::get('organiser_id');
} else { /* Somethings gone horribly wrong */}
} else { /* Somethings gone horribly wrong */
}
$event->save();
if (Input::hasFile('event_image')) {
$path = public_path().'/'.config('attendize.event_images_path');
$filename = 'event_image-'.md5(time().$event->id).'.'.strtolower(Input::file('event_image')->getClientOriginalExtension());
$file_full_path = $path.'/'.$filename;
Input::file('event_image')->move($path, $filename);
$img = Image::make($file_full_path);
@ -132,39 +130,37 @@ class EventController extends MyBaseController {
/* Upload to s3 */
\Storage::put(config('attendize.event_images_path').'/'.$filename, file_get_contents($file_full_path));
$eventImage = EventImage::createNew();
$eventImage->image_path = config('attendize.event_images_path').'/'.$filename;
$eventImage->event_id = $event->id;
$eventImage->save();
}
return Response::json(array(
return Response::json([
'status' => 'success',
'id' => $event->id,
'redirectUrl' => route('showEventTickets', array(
'redirectUrl' => route('showEventTickets', [
'event_id' => $event->id,
'first_run' => 'yup'
))
));
'first_run' => 'yup',
]),
]);
}
public function postEditEvent($event_id) {
public function postEditEvent($event_id)
{
$event = Event::scope()->findOrFail($event_id);
if (!$event->validate(Input::all())) {
return Response::json(array(
return Response::json([
'status' => 'error',
'messages' => $event->errors()
));
'messages' => $event->errors(),
]);
}
$event->is_live = Input::get('is_live');
$event->title = Input::get('title');
$event->description = strip_tags(Input::get('description'));
$event->start_date = Input::get('start_date') ? Carbon::createFromFormat('d-m-Y H:i', Input::get('start_date')) : NULL;
$event->start_date = Input::get('start_date') ? Carbon::createFromFormat('d-m-Y H:i', Input::get('start_date')) : null;
/*
* If the google place ID is the same as before then don't update the venue
@ -205,9 +201,7 @@ class EventController extends MyBaseController {
}
}
$event->end_date = Input::get('end_date') ? Carbon::createFromFormat('d-m-Y H:i', Input::get('end_date')) : NULL;
$event->end_date = Input::get('end_date') ? Carbon::createFromFormat('d-m-Y H:i', Input::get('end_date')) : null;
if (Input::get('remove_current_image') == '1') {
EventImage::where('event_id', '=', $event->id)->delete();
@ -216,13 +210,11 @@ class EventController extends MyBaseController {
$event->save();
if (Input::hasFile('event_image')) {
$path = public_path().'/'.config('attendize.event_images_path');
$filename = 'event_image-'.md5(time().$event->id).'.'.strtolower(Input::file('event_image')->getClientOriginalExtension());
$file_full_path = $path.'/'.$filename;
Input::file('event_image')->move($path, $filename);
$img = Image::make($file_full_path);
@ -244,18 +236,17 @@ class EventController extends MyBaseController {
$eventImage->save();
}
return Response::json(array(
return Response::json([
'status' => 'success',
'id' => $event->id,
'message' => 'Event Successfully Updated',
'redirectUrl' => ''
));
'redirectUrl' => '',
]);
}
public function postUploadEventImage() {
public function postUploadEventImage()
{
if (Input::hasFile('event_image')) {
$the_file = \File::get(Input::file('event_image')->getRealPath());
$file_name = 'event_details_image-'.md5(microtime()).'.'.strtolower(Input::file('event_image')->getClientOriginalExtension());
@ -272,18 +263,13 @@ class EventController extends MyBaseController {
$img->save($full_path_to_file);
if (\Storage::put($file_name, $the_file)) {
return Response::json([
'link' => '/'.$relative_path_to_file
'link' => '/'.$relative_path_to_file,
]);
}
return Response::json([
'error' => 'There was a problem uploading your image.'
'error' => 'There was a problem uploading your image.',
]);
}
}
}

View File

@ -1,21 +1,30 @@
<?php namespace App\Http\Controllers;
<?php
namespace App\Http\Controllers;
use App\Models\Event;
use Response, Input, File, Image, Validator, View;
use File;
use Image;
use Input;
use Response;
use Validator;
use View;
class EventCustomizeController extends MyBaseController {
public function showCustomize($event_id = '', $tab = '') {
class EventCustomizeController extends MyBaseController
{
public function showCustomize($event_id = '', $tab = '')
{
$data = $this->getEventViewData($event_id, [
'available_bg_images' => $this->getAvailableBackgroundImages(),
'available_bg_images_thumbs' => $this->getAvailableBackgroundImagesThumbs(),
'tab' => $tab
'tab' => $tab,
]);
return View::make('ManageEvent.Customize', $data);
}
public function getAvailableBackgroundImages() {
public function getAvailableBackgroundImages()
{
$images = [];
$files = File::files(public_path().'/'.config('attendize.event_bg_images'));
@ -27,8 +36,8 @@ class EventCustomizeController extends MyBaseController {
return $images;
}
public function getAvailableBackgroundImagesThumbs() {
public function getAvailableBackgroundImagesThumbs()
{
$images = [];
$files = File::files(public_path().'/'.config('attendize.event_bg_images').'/thumbs');
@ -40,7 +49,8 @@ class EventCustomizeController extends MyBaseController {
return $images;
}
public function postEditEventSocial($event_id) {
public function postEditEventSocial($event_id)
{
$event = Event::scope()->findOrFail($event_id);
$rules = [
@ -49,7 +59,7 @@ class EventCustomizeController extends MyBaseController {
'social_show_twitter' => ['boolean'],
'social_show_linkedin' => ['boolean'],
'social_show_email' => ['boolean'],
'social_show_googleplus' => ['boolean']
'social_show_googleplus' => ['boolean'],
];
$messages = [
'social_share_text.max' => 'Please keep the shate text under 3000 characters.',
@ -58,10 +68,10 @@ class EventCustomizeController extends MyBaseController {
$validator = Validator::make(Input::all(), $rules, $messages);
if ($validator->fails()) {
return Response::json(array(
return Response::json([
'status' => 'error',
'messages' => $validator->messages()->toArray()
));
'messages' => $validator->messages()->toArray(),
]);
}
$event->social_share_text = Input::get('social_share_text');
@ -78,26 +88,27 @@ class EventCustomizeController extends MyBaseController {
]);
}
public function postEditEventFees($event_id) {
public function postEditEventFees($event_id)
{
$event = Event::scope()->findOrFail($event_id);
$rules = [
'organiser_fee_percentage' => ['numeric', 'between:0,100'],
'organiser_fee_fixed' => ['numeric', 'between:0,100']
'organiser_fee_fixed' => ['numeric', 'between:0,100'],
];
$messages = [
'organiser_fee_percentage.numeric' => 'Please enter a value between 0 and 100',
'organiser_fee_fixed.numeric' => 'Please check the format. It shoud be in the format 0.00.',
'organiser_fee_fixed.between' => 'Please enter a value between 0 and 100.'
'organiser_fee_fixed.between' => 'Please enter a value between 0 and 100.',
];
$validator = Validator::make(Input::all(), $rules, $messages);
if ($validator->fails()) {
return Response::json(array(
return Response::json([
'status' => 'error',
'messages' => $validator->messages()->toArray()
));
'messages' => $validator->messages()->toArray(),
]);
}
$event->organiser_fee_percentage = Input::get('organiser_fee_percentage');
@ -110,7 +121,8 @@ class EventCustomizeController extends MyBaseController {
]);
}
public function postEditEventOrderPage($event_id) {
public function postEditEventOrderPage($event_id)
{
$event = Event::scope()->findOrFail($event_id);
// Just plain text so no validation needed (hopefully)
@ -120,10 +132,10 @@ class EventCustomizeController extends MyBaseController {
$validator = Validator::make(Input::all(), $rules, $messages);
if ($validator->fails()) {
return Response::json(array(
return Response::json([
'status' => 'error',
'messages' => $validator->messages()->toArray()
));
'messages' => $validator->messages()->toArray(),
]);
}
$event->pre_order_display_message = trim(Input::get('pre_order_display_message'));
@ -137,28 +149,27 @@ class EventCustomizeController extends MyBaseController {
]);
}
public function postEditEventDesign($event_id) {
public function postEditEventDesign($event_id)
{
$event = Event::scope()->findOrFail($event_id);
$rules = [
'bg_image_path' => ['mimes:jpeg,jpg,png', 'max:4000']
'bg_image_path' => ['mimes:jpeg,jpg,png', 'max:4000'],
];
$messages = [
'bg_image_path.mimes' => 'Please ensure you are uploading an image (JPG, PNG, JPEG)',
'bg_image_path.max' => 'Pleae ensure the image is not larger than 2.5MB'
'bg_image_path.max' => 'Pleae ensure the image is not larger than 2.5MB',
];
$validator = Validator::make(Input::all(), $rules, $messages);
if ($validator->fails()) {
return Response::json(array(
return Response::json([
'status' => 'error',
'messages' => $validator->messages()->toArray()
));
'messages' => $validator->messages()->toArray(),
]);
}
if (Input::get('bg_image_path_custom') && Input::get('bg_type') == 'image') {
$event->bg_image_path = Input::get('bg_image_path_custom');
$event->bg_type = 'image';
@ -173,13 +184,11 @@ class EventCustomizeController extends MyBaseController {
* Not in use for now.
*/
if (Input::hasFile('bg_image_path') && Input::get('bg_type') == 'custom_image') {
$path = public_path().'/'.config('attendize.event_images_path');
$filename = 'event_bg-'.md5($event->id).'.'.strtolower(Input::file('bg_image_path')->getClientOriginalExtension());
$file_full_path = $path.'/'.$filename;
Input::file('bg_image_path')->move($path, $filename);
$img = Image::make($file_full_path);
@ -191,7 +200,6 @@ class EventCustomizeController extends MyBaseController {
$img->save($file_full_path, 75);
$event->bg_image_path = config('attendize.event_images_path').'/'.$filename;
$event->bg_type = 'custom_image';
@ -203,8 +211,7 @@ class EventCustomizeController extends MyBaseController {
return Response::json([
'status' => 'success',
'message' => 'Event Page Succesfully Upated',
'runThis' => 'document.getElementById(\'previewIframe\').contentWindow.location.reload(true);'
'runThis' => 'document.getElementById(\'previewIframe\').contentWindow.location.reload(true);',
]);
}
}

View File

@ -1,20 +1,24 @@
<?php namespace App\Http\Controllers;
<?php
namespace App\Http\Controllers;
use View;
use Carbon\Carbon;
use App\Models\Event;
use App\Models\EventStats;
use DateTime, DatePeriod, DateInterval;
use Carbon\Carbon;
use DateInterval;
use DatePeriod;
use DateTime;
use View;
class EventDashboardController extends MyBaseController {
function showDashboard($event_id = FALSE) {
class EventDashboardController extends MyBaseController
{
public function showDashboard($event_id = false)
{
$event = Event::scope()->findOrFail($event_id);
$num_days = 20;
/**
/*
* This is a fairly hackish way to get the data for the dashboard charts. I'm sure someone
* with better SQL skill could do it in one simple query.
*
@ -36,7 +40,7 @@ class EventDashboardController extends MyBaseController {
/*
* I have no idea what I was doing here, but it seems to work;
*/
$result = array();
$result = [];
$i = 0;
foreach ($dateItter as $date) {
$views = 0;
@ -52,23 +56,22 @@ class EventDashboardController extends MyBaseController {
$organiser_fees_volume = $item['organiser_fees_volume'];
$unique_views = $item['unique_views'];
$tickets_sold = $item['tickets_sold'];
}
$i++;
}
$result[] = array(
"date" => $date->format('Y-m-d'),
"views" => $views,
$result[] = [
'date' => $date->format('Y-m-d'),
'views' => $views,
'unique_views' => $unique_views,
'sales_volume' => $sales_volume + $organiser_fees_volume,
'tickets_sold' => $tickets_sold
);
'tickets_sold' => $tickets_sold,
];
}
$data = [
'event' => $event,
'chartData' => json_encode($result)
'chartData' => json_encode($result),
];
return View::make('ManageEvent.Dashboard', $data);
@ -76,33 +79,31 @@ class EventDashboardController extends MyBaseController {
/**
* @param $chartData
* @param bool|FALSE $from_date
* @param bool|FALSE $toDate
* @param bool|false $from_date
* @param bool|false $toDate
*
* @return string
*/
public function generateChartJson($chartData, $from_date = FALSE, $toDate = FALSE) {
public function generateChartJson($chartData, $from_date = false, $toDate = false)
{
$data = [];
$startdate = '2014-10-1';
$enddate = '2014-11-7';
$timestamp = strtotime($startdate);
while ($startdate <= $enddate) {
$startdate = date('Y-m-d', $timestamp);
$data[] = [
'date' => $startdate,
'tickets_sold' => rand(0, 7),
'views' => rand(0, 5),
'unique_views' => rand(0, 5)
'unique_views' => rand(0, 5),
];
$timestamp = strtotime('+1 days', strtotime($startdate));
}
return json_encode($data);
}
}

View File

@ -2,28 +2,25 @@
namespace App\Http\Controllers;
use DB,
Response,
Input,
View,
Exception,
Validator,
Log,
Mail;
use Excel;
use Bugsnag;
use Stripe,
Stripe_Charge;
use App\Models\Attendee;
use App\Models\Event;
use App\Models\Order;
use App\Models\Attendee;
use DB;
use Excel;
use Exception;
use Input;
use Log;
use Mail;
use Response;
use Stripe;
use Stripe_Charge;
use Validator;
use View;
class EventOrdersController extends MyBaseController
{
public function showOrders($event_id = '')
{
$allowed_sorts = ['first_name', 'email', 'order_reference', 'order_status_id', 'created_at'];
$searchQuery = Input::get('q');
@ -60,7 +57,7 @@ class EventOrdersController extends MyBaseController
'event' => $event,
'sort_by' => $sort_by,
'sort_order' => $sort_order,
'q' => $searchQuery ? $searchQuery : ''
'q' => $searchQuery ? $searchQuery : '',
];
return View::make('ManageEvent.Orders', $data);
@ -68,7 +65,6 @@ class EventOrdersController extends MyBaseController
public function manageOrder($order_id)
{
$data = [
'order' => Order::scope()->find($order_id),
'modal_id' => Input::get('modal_id'),
@ -85,7 +81,7 @@ class EventOrdersController extends MyBaseController
'order' => $order,
'event' => $order->event(),
'attendees' => $order->attendees()->withoutCancelled()->get(),
'modal_id' => Input::get('modal_id')
'modal_id' => Input::get('modal_id'),
];
return View::make('ManageEvent.Modals.CancelOrder', $data);
@ -93,13 +89,13 @@ class EventOrdersController extends MyBaseController
/**
* @param $order_id
*
* @return mixed
*/
public function postCancelOrder($order_id)
{
$rules = [
'refund_amount' => ['numeric']
'refund_amount' => ['numeric'],
];
$messages = [
'refund_amount.integer' => 'Refund amount must only contain numbers.',
@ -108,22 +104,20 @@ class EventOrdersController extends MyBaseController
$validator = Validator::make(Input::all(), $rules, $messages);
if ($validator->fails()) {
return Response::json(array(
return Response::json([
'status' => 'error',
'messages' => $validator->messages()->toArray()
));
'messages' => $validator->messages()->toArray(),
]);
}
$order = Order::scope()->findOrFail($order_id);
$refund_order = (Input::get('refund_order') === 'on') ? TRUE : FALSE;
$refund_order = (Input::get('refund_order') === 'on') ? true : false;
$refund_type = Input::get('refund_type');
$refund_amount = Input::get('refund_amount');
$attendees = Input::get('attendees');
$error_message = FALSE;
$error_message = false;
if ($refund_order) {
if (!$order->transaction_id) {
$error_message = 'Sorry, this order cannot be refunded.';
}
@ -137,16 +131,14 @@ class EventOrdersController extends MyBaseController
}
if (!$error_message) {
try {
Stripe::setApiKey($order->account->stripe_api_key);
$charge = Stripe_Charge::retrieve($order->transaction_id);
if ($refund_type === 'full') { /* Full refund */
$refund_amount = $order->organiser_amount - $order->amount_refunded;
$refund = $charge->refund([
'refund_application_fee' => floatval($order->booking_fee) > 0 ? true : false
'refund_application_fee' => floatval($order->booking_fee) > 0 ? true : false,
]);
/* Update the event sales volume*/
@ -155,14 +147,11 @@ class EventOrdersController extends MyBaseController
$order->is_refunded = 1;
$order->amount_refunded = $order->organiser_amount;
$order->order_status_id = config('attendize.order_refunded');
} else { /* Partial refund */
$refund = $charge->refund([
'amount' => $refund_amount * 100,
'refund_application_fee' => floatval($order->booking_fee) > 0 ? true : false
'refund_application_fee' => floatval($order->booking_fee) > 0 ? true : false,
]);
/* Update the event sales volume*/
@ -179,8 +168,6 @@ class EventOrdersController extends MyBaseController
}
$order->amount_refunded = round($refund->amount_refunded / 100, 2);
$order->save();
} catch (\Stripe_InvalidRequestError $e) {
Log::error($e);
$error_message = 'There has been a problem processing your refund. Please check your information and try again.';
@ -202,7 +189,7 @@ class EventOrdersController extends MyBaseController
if ($error_message) {
return Response::json([
'status' => 'success',
'message' => $error_message
'message' => $error_message,
]);
}
}
@ -219,11 +206,11 @@ class EventOrdersController extends MyBaseController
}
\Session::flash('message',
(!$refund_amount && !$attendees) ? 'Nothing To Do' : "Successfully " . ($refund_order ? " Refunded Order" : " ") . ($attendees && $refund_order ? ' & ' : '') . ($attendees ? "Cancelled Attendee(s)" : ""));
(!$refund_amount && !$attendees) ? 'Nothing To Do' : 'Successfully '.($refund_order ? ' Refunded Order' : ' ').($attendees && $refund_order ? ' & ' : '').($attendees ? 'Cancelled Attendee(s)' : ''));
return Response::json([
'status' => 'success',
'redirectUrl' => ''
'redirectUrl' => '',
]);
}
@ -233,7 +220,6 @@ class EventOrdersController extends MyBaseController
*/
public function showExportOrders($event_id, $export_as = 'xls')
{
$event = Event::scope()->findOrFail($event_id);
Excel::create('orders-as-of-'.date('d-m-Y-g.i.a'), function ($excel) use ($event) {
@ -259,15 +245,15 @@ class EventOrdersController extends MyBaseController
\DB::raw("(CASE WHEN orders.is_refunded = 1 THEN 'YES' ELSE 'NO' END) AS `orders.is_refunded`"),
\DB::raw("(CASE WHEN orders.is_partially_refunded = 1 THEN 'YES' ELSE 'NO' END) AS `orders.is_partially_refunded`"),
'orders.amount_refunded',
'orders.created_at'
'orders.created_at',
])->get();
//DB::raw("(CASE WHEN UNIX_TIMESTAMP(`attendees.arrival_time`) = 0 THEN '---' ELSE 'd' END) AS `attendees.arrival_time`"))
$sheet->fromArray($data);
$sheet->row(1, array(
'First Name', 'Last Name', 'Email', 'Order Reference', 'Amount', 'Fully Refunded', 'Partially Refunded', 'Amount Refunded', 'Order Date'
));
$sheet->row(1, [
'First Name', 'Last Name', 'Email', 'Order Reference', 'Amount', 'Fully Refunded', 'Partially Refunded', 'Amount Refunded', 'Order Date',
]);
// Set gray background on first row
$sheet->row(1, function ($row) {
@ -279,7 +265,6 @@ class EventOrdersController extends MyBaseController
public function showMessageOrder($order_id)
{
$order = Order::scope()->findOrFail($order_id);
$data = [
@ -293,19 +278,18 @@ class EventOrdersController extends MyBaseController
public function postMessageOrder($order_id)
{
$rules = [
'subject' => 'required|max:250',
'message' => 'required|max:5000'
'message' => 'required|max:5000',
];
$validator = Validator::make(Input::all(), $rules);
if ($validator->fails()) {
return Response::json(array(
return Response::json([
'status' => 'error',
'messages' => $validator->messages()->toArray()
));
'messages' => $validator->messages()->toArray(),
]);
}
$order = Attendee::scope()->findOrFail($order_id);
@ -315,7 +299,7 @@ class EventOrdersController extends MyBaseController
'message_content' => Input::get('message'),
'subject' => Input::get('subject'),
'event' => $order->event,
'email_logo' => $order->event->organiser->full_logo_path
'email_logo' => $order->event->organiser->full_logo_path,
];
Mail::send('Emails.messageOrder', $data, function ($message) use ($order, $data) {
@ -335,11 +319,9 @@ class EventOrdersController extends MyBaseController
});
}
return Response::json(array(
return Response::json([
'status' => 'success',
'message' => 'Message Successfully Sent'
));
'message' => 'Message Successfully Sent',
]);
}
}

View File

@ -1,14 +1,15 @@
<?php namespace App\Http\Controllers;
<?php
class EventPromoteController extends MyBaseController {
public function showPromote($event_id) {
namespace App\Http\Controllers;
class EventPromoteController extends MyBaseController
{
public function showPromote($event_id)
{
$data = [
'event' => Event::scope()->find($event_id)
'event' => Event::scope()->find($event_id),
];
return View::make('ManageEvent.Promote', $data);
}
}

View File

@ -1,25 +1,25 @@
<?php namespace App\Http\Controllers;
<?php
class EventTicketQuestionsController extends MyBaseController {
public function showQuestions($event_id) {
namespace App\Http\Controllers;
class EventTicketQuestionsController extends MyBaseController
{
public function showQuestions($event_id)
{
$data = [
'event' => Event::scope()->findOrFail($event_id),
'modal_id' => Input::get('modal_id'),
'question_types' => QuestionType::all()
'question_types' => QuestionType::all(),
];
return View::make('ManageEvent.Modals.ViewQuestions', $data);
}
public function postCreateQuestion($event_id) {
public function postCreateQuestion($event_id)
{
$event = Event::findOrFail($event_id);
$question = Question::createNew(FALSE, FALSE, TRUE);
$question = Question::createNew(false, false, true);
$question->title = Input::get('title');
$question->instructions = Input::get('instructions');
$question->options = Input::get('options');
@ -27,8 +27,6 @@ class EventTicketQuestionsController extends MyBaseController {
$question->question_type_id = Input::get('question_type_id');
$question->save();
$ticket_ids = Input::get('tickets');
foreach ($ticket_ids as $ticket_id) {
@ -37,13 +35,9 @@ class EventTicketQuestionsController extends MyBaseController {
$event->questions()->attach($question->id);
return Response::json([
'status' => 'success',
'message' => 'Successfully Created Question'
'message' => 'Successfully Created Question',
]);
}
}

View File

@ -1,43 +1,46 @@
<?php namespace App\Http\Controllers;
<?php
namespace App\Http\Controllers;
use Carbon\Carbon;
use Input, View, Response, Log;
use App\Models\Event;
use App\Models\Ticket;
use Carbon\Carbon;
use Input;
use Log;
use Response;
use View;
/*
Attendize.com - Event Management & Ticketing
*/
class EventTicketsController extends MyBaseController {
public function showTickets($event_id) {
class EventTicketsController extends MyBaseController
{
public function showTickets($event_id)
{
$allowed_sorts = ['created_at', 'quantity_sold', 'sales_volume', 'title'];
$searchQuery = Input::get('q');
$sort_by = (in_array(Input::get('sort_by'), $allowed_sorts) ? Input::get('sort_by') : 'created_at');
$event = Event::scope()->findOrFail($event_id);
$tickets = $searchQuery
? $event->tickets()->where('title', 'like', '%'.$searchQuery.'%')->orderBy($sort_by, 'desc')->paginate(10)
: $event->tickets()->orderBy($sort_by, 'desc')->paginate(10);
$data = [
'event' => $event,
'tickets' => $tickets,
'sort_by' => $sort_by,
'q' => $searchQuery ? $searchQuery : ''
'q' => $searchQuery ? $searchQuery : '',
];
return View::make('ManageEvent.Tickets', $data);
}
public function showEditTicket($event_id, $ticket_id) {
public function showEditTicket($event_id, $ticket_id)
{
$data = [
'event' => Event::scope()->find($event_id),
'ticket' => Ticket::scope()->find($ticket_id),
@ -47,30 +50,30 @@ class EventTicketsController extends MyBaseController {
return View::make('ManageEvent.Modals.EditTicket', $data);
}
public function showCreateTicket($event_id) {
return View::make('ManageEvent.Modals.CreateTicket', array(
public function showCreateTicket($event_id)
{
return View::make('ManageEvent.Modals.CreateTicket', [
'modal_id' => Input::get('modal_id'),
'event' => Event::find($event_id)
));
'event' => Event::find($event_id),
]);
}
public function postCreateTicket($event_id) {
public function postCreateTicket($event_id)
{
$ticket = Ticket::createNew();
if (!$ticket->validate(Input::all())) {
return Response::json(array(
return Response::json([
'status' => 'error',
'messages' => $ticket->errors()
));
'messages' => $ticket->errors(),
]);
}
$ticket->event_id = $event_id;
$ticket->title = Input::get('title');
$ticket->quantity_available = !Input::get('quantity_available') ? NULL : Input::get('quantity_available');
$ticket->start_sale_date = Input::get('start_sale_date') ? Carbon::createFromFormat('d-m-Y H:i', Input::get('start_sale_date')) : NULL;
$ticket->end_sale_date = Input::get('end_sale_date') ? Carbon::createFromFormat('d-m-Y H:i', Input::get('end_sale_date')) : NULL;
$ticket->quantity_available = !Input::get('quantity_available') ? null : Input::get('quantity_available');
$ticket->start_sale_date = Input::get('start_sale_date') ? Carbon::createFromFormat('d-m-Y H:i', Input::get('start_sale_date')) : null;
$ticket->end_sale_date = Input::get('end_sale_date') ? Carbon::createFromFormat('d-m-Y H:i', Input::get('end_sale_date')) : null;
$ticket->price = Input::get('price');
$ticket->min_per_person = Input::get('min_per_person');
$ticket->max_per_person = Input::get('max_per_person');
@ -79,17 +82,18 @@ class EventTicketsController extends MyBaseController {
\Session::flash('message', 'Successfully Created Ticket');
return Response::json(array(
return Response::json([
'status' => 'success',
'id' => $ticket->id,
'message' => 'Refreshing...',
'redirectUrl' => route('showEventTickets', array(
'event_id' => $event_id
))
));
'redirectUrl' => route('showEventTickets', [
'event_id' => $event_id,
]),
]);
}
public function postPauseTicket() {
public function postPauseTicket()
{
$ticket_id = Input::get('ticket_id');
$ticket = Ticket::scope()->find($ticket_id);
@ -100,24 +104,23 @@ class EventTicketsController extends MyBaseController {
return Response::json([
'status' => 'success',
'message' => 'Ticket Successfully Updated',
'id' => $ticket->id
'id' => $ticket->id,
]);
}
Log::error('Ticket Failed to pause/resume', [
'ticket' => $ticket
'ticket' => $ticket,
]);
return Response::json([
'status' => 'error',
'id' => $ticket->id,
'message' => 'Whoops!, looks like something went wrong. Please try again.'
'message' => 'Whoops!, looks like something went wrong. Please try again.',
]);
}
public function postDeleteTicket() {
public function postDeleteTicket()
{
$ticket_id = Input::get('ticket_id');
$ticket = Ticket::scope()->find($ticket_id);
@ -126,7 +129,7 @@ class EventTicketsController extends MyBaseController {
return Response::json([
'status' => 'error',
'message' => 'Sorry, you can\'t delete this ticket as some have already been sold',
'id' => $ticket->id
'id' => $ticket->id,
]);
}
@ -134,23 +137,23 @@ class EventTicketsController extends MyBaseController {
return Response::json([
'status' => 'success',
'message' => 'Ticket Successfully Deleted',
'id' => $ticket->id
'id' => $ticket->id,
]);
}
Log::error('Ticket Failed to delete', [
'ticket' => $ticket
'ticket' => $ticket,
]);
return Response::json([
'status' => 'error',
'id' => $ticket->id,
'message' => 'Whoops!, looks like something went wrong. Please try again.'
'message' => 'Whoops!, looks like something went wrong. Please try again.',
]);
}
public function postEditTicket($event_id, $ticket_id) {
public function postEditTicket($event_id, $ticket_id)
{
$ticket = Ticket::findOrFail($ticket_id);
/*
@ -162,35 +165,31 @@ class EventTicketsController extends MyBaseController {
$ticket->rules = $validation_rules + $ticket->rules;
$ticket->messages = $validation_messages + $ticket->messages;
if (!$ticket->validate(Input::all())) {
return Response::json(array(
return Response::json([
'status' => 'error',
'messages' => $ticket->errors()
));
'messages' => $ticket->errors(),
]);
}
$ticket->title = Input::get('title');
$ticket->quantity_available = !Input::get('quantity_available') ? NULL : Input::get('quantity_available');
$ticket->quantity_available = !Input::get('quantity_available') ? null : Input::get('quantity_available');
$ticket->price = Input::get('price');
$ticket->start_sale_date = Input::get('start_sale_date') ? Carbon::createFromFormat('d-m-Y H:i', Input::get('start_sale_date')) : NULL;
$ticket->end_sale_date = Input::get('end_sale_date') ? Carbon::createFromFormat('d-m-Y H:i', Input::get('end_sale_date')) : NULL;
$ticket->start_sale_date = Input::get('start_sale_date') ? Carbon::createFromFormat('d-m-Y H:i', Input::get('start_sale_date')) : null;
$ticket->end_sale_date = Input::get('end_sale_date') ? Carbon::createFromFormat('d-m-Y H:i', Input::get('end_sale_date')) : null;
$ticket->description = Input::get('description');
$ticket->min_per_person = Input::get('min_per_person');
$ticket->max_per_person = Input::get('max_per_person');
$ticket->save();
return Response::json(array(
return Response::json([
'status' => 'success',
'id' => $ticket->id,
'message' => 'Refreshing...',
'redirectUrl' => route('showEventTickets', array(
'event_id' => $event_id
))
));
'redirectUrl' => route('showEventTickets', [
'event_id' => $event_id,
]),
]);
}
}

View File

@ -1,18 +1,22 @@
<?php namespace App\Http\Controllers;
<?php
namespace App\Http\Controllers;
use Input, View, Cookie, Mail, Validator, Response, Auth;
use App\Http\Controllers\Controller;
use App\Models\Event;
use App\Models\Affiliate;
use App\Models\Event;
use App\Models\EventStats;
use Auth;
use Cookie;
use Input;
use Mail;
use Response;
use Validator;
use View;
class EventViewController extends Controller
{
public function showEventHome($event_id, $slug = '', $preview = FALSE)
public function showEventHome($event_id, $slug = '', $preview = false)
{
$event = Event::findOrFail($event_id);
if (!Auth::check() && !$event->is_live) {
@ -22,14 +26,13 @@ class EventViewController extends Controller
$data = [
'event' => $event,
'tickets' => $event->tickets()->orderBy('created_at', 'desc')->get(),
'is_embedded' => 0
'is_embedded' => 0,
];
/*
* Don't record stats if we're previewing the event page from the backend or if we own the event.
*/
if (!$preview || !Auth::check()) {
$event_stats = new EventStats;
$event_stats = new EventStats();
$event_stats->updateViewCount($event_id);
}
@ -37,7 +40,6 @@ class EventViewController extends Controller
* See if there is an affiliate referral in the URL
*/
if ($affiliate_ref = \Input::get('ref')) {
$affiliate_ref = preg_replace("/\W|_/", '', $affiliate_ref);
if ($affiliate_ref) {
@ -60,26 +62,24 @@ class EventViewController extends Controller
public function showEventHomePreview($event_id)
{
return showEventHome($event_id, TRUE);
return showEventHome($event_id, true);
}
public function postContactOrganiser($event_id)
{
$rules = [
'name' => 'required',
'email' => ['required', 'email'],
'message' => ['required']
'message' => ['required'],
];
$validator = Validator::make(Input::all(), $rules);
if ($validator->fails()) {
return Response::json(array(
return Response::json([
'status' => 'error',
'messages' => $validator->messages()->toArray()
));
'messages' => $validator->messages()->toArray(),
]);
}
$event = Event::findOrFail($event_id);
@ -88,7 +88,7 @@ class EventViewController extends Controller
'sender_name' => Input::get('name'),
'sender_email' => Input::get('email'),
'message_content' => strip_tags(Input::get('message')),
'event' => $event
'event' => $event,
];
Mail::send('Emails.messageOrganiser', $data, function ($message) use ($event, $data) {
@ -98,12 +98,9 @@ class EventViewController extends Controller
->subject('Message Regarding: '.$event->title);
});
return Response::json(array(
return Response::json([
'status' => 'success',
'message' => 'Message Successfully Sent'
));
'message' => 'Message Successfully Sent',
]);
}
}

View File

@ -1,23 +1,22 @@
<?php namespace App\Http\Controllers;
<?php
namespace App\Http\Controllers;
use View;
use App\Http\Controllers\Controller;
use App\Models\Event;
use View;
class EventViewEmbeddedController extends Controller {
public function showEmbeddedEvent($event_id) {
class EventViewEmbeddedController extends Controller
{
public function showEmbeddedEvent($event_id)
{
$event = Event::findOrFail($event_id);
$data = [
'event' => $event,
'tickets' => $event->tickets()->orderBy('created_at', 'desc')->get(),
'is_embedded' => '1'
'is_embedded' => '1',
];
return View::make('Public.ViewEvent.Embedded.EventPage', $data);
}
}

View File

@ -1,10 +1,11 @@
<?php namespace App\Http\Controllers;
<?php
use App\Http\Controllers\Controller;
namespace App\Http\Controllers;
class ImageController extends Controller {
public function generateThumbnail($image_src, $width = FALSE, $height = false, $quality = 90) {
class ImageController extends Controller
{
public function generateThumbnail($image_src, $width = false, $height = false, $quality = 90)
{
$img = Image::make('public/foo.jpg');
$img->resize(320, 240);
@ -13,5 +14,4 @@ class ImageController extends Controller {
$img->save('public/bar.jpg');
}
}

View File

@ -1,20 +1,18 @@
<?php namespace App\Http\Controllers;
<?php
use View;
use Response;
namespace App\Http\Controllers;
use App\Models\Timezone;
use Artisan;
use Config;
use DB;
use Input;
use Redirect;
use Artisan;
use DB;
use File;
use App\Http\Controllers\Controller;
use App\Models\Timezone;
use Response;
use View;
class InstallerController extends Controller
{
public function __construct()
{
if (file_exists(base_path('installed'))) {
@ -29,14 +27,14 @@ class InstallerController extends Controller
storage_path('framework'),
storage_path('logs'),
public_path('user_content'),
base_path('.env')
base_path('.env'),
];
$data['requirements'] = [
'openssl',
'pdo',
'mbstring',
'fileinfo',
'tokenizer'
'tokenizer',
];
return View::make('Installer.Installer', $data);
@ -65,27 +63,24 @@ class InstallerController extends Controller
$app_key = str_random(16);
$version = file_get_contents(base_path('VERSION'));
if (Input::get('test') === 'db') {
$is_db_valid = self::testDatabase($database);
if ($is_db_valid === 'yes') {
return Response::json([
'status' => 'success',
'message' => 'Success, Your connection works!',
'test' => 1
'test' => 1,
]);
}
return Response::json([
'status' => 'error',
'message' => 'Unable to connect! Please check your settings',
'test' => 1
'test' => 1,
]);
}
$config = "APP_ENV=production\n".
"APP_DEBUG=false\n".
"APP_URL={$app_url}\n".
@ -104,39 +99,38 @@ class InstallerController extends Controller
"MAIL_FROM_ADDRESS={$mail['from_address']}\n".
"MAIL_PASSWORD={$mail['password']}\n\n";
$fp = fopen(base_path()."/.env", 'w');
$fp = fopen(base_path().'/.env', 'w');
fwrite($fp, $config);
fclose($fp);
Config::set('database.default', $database['type']);
Config::set("database.connections.mysql.host", $database['host']);
Config::set("database.connections.mysql.database", $database['name']);
Config::set("database.connections.mysql.username", $database['username']);
Config::set("database.connections.mysql.password", $database['password']);
Config::set('database.connections.mysql.host', $database['host']);
Config::set('database.connections.mysql.database', $database['name']);
Config::set('database.connections.mysql.username', $database['username']);
Config::set('database.connections.mysql.password', $database['password']);
DB::reconnect();
Artisan::call('migrate', array('--force' => true));
Artisan::call('migrate', ['--force' => true]);
if (Timezone::count() == 0) {
Artisan::call('db:seed', array('--force' => true));
Artisan::call('db:seed', ['--force' => true]);
}
Artisan::call('optimize', array('--force' => true));
Artisan::call('optimize', ['--force' => true]);
$fp = fopen(base_path()."/installed", 'w');
$fp = fopen(base_path().'/installed', 'w');
fwrite($fp, $version);
fclose($fp);
return Redirect::route('showSignup', ['first_run' => 'yup']);
}
private function testDatabase($database)
{
Config::set('database.default', $database['type']);
Config::set("database.connections.mysql.host", $database['host']);
Config::set("database.connections.mysql.database", $database['name']);
Config::set("database.connections.mysql.username", $database['username']);
Config::set("database.connections.mysql.password", $database['password']);
Config::set('database.connections.mysql.host', $database['host']);
Config::set('database.connections.mysql.database', $database['name']);
Config::set('database.connections.mysql.username', $database['username']);
Config::set('database.connections.mysql.password', $database['password']);
try {
DB::reconnect();
@ -144,8 +138,7 @@ class InstallerController extends Controller
} catch (Exception $e) {
return $e->getMessage();
}
return $success;
}
}

View File

@ -2,34 +2,33 @@
namespace App\Http\Controllers;
use Input,
Response,
View,
Auth;
use HttpClient;
use App\Models\Account;
use App\Models\Timezone;
use App\Models\Currency;
use App\Models\Timezone;
use App\Models\User;
use Auth;
use HttpClient;
use Input;
use Response;
use View;
class ManageAccountController extends MyBaseController {
public function showEditAccount() {
class ManageAccountController extends MyBaseController
{
public function showEditAccount()
{
$data = [
'modal_id' => Input::get('modal_id'),
'account' => Account::find(Auth::user()->account_id),
'timezones' => Timezone::lists('location', 'id'),
'currencies' => Currency::lists('title', 'id')
'currencies' => Currency::lists('title', 'id'),
];
return View::make('ManageAccount.Modals.EditAccount', $data);
}
public function showStripeReturn() {
$error_message = "There was an error connecting your Stripe account. Please try again.";
public function showStripeReturn()
{
$error_message = 'There was an error connecting your Stripe account. Please try again.';
if (Input::get('error') || !Input::get('code')) {
//BugSnag::notifyError('Error Connecting to Stripe', Input::get('error'));
@ -44,8 +43,8 @@ class ManageAccountController extends MyBaseController {
'client_secret' => STRIPE_SECRET_KEY, //sk_test_iXk2Ky0DlhIcTcKMvsDa8iKI',
'code' => Input::get('code'),
'grant_type' => 'authorization_code'
]
'grant_type' => 'authorization_code',
],
];
$response = HttpClient::post($request);
@ -66,19 +65,20 @@ class ManageAccountController extends MyBaseController {
$account->stripe_data_raw = json_encode($content);
$account->save();
\Session::flash('message', "You have successfully connected your Stripe account.");
\Session::flash('message', 'You have successfully connected your Stripe account.');
return redirect()->route('showEventsDashboard');
}
public function postEditAccount() {
public function postEditAccount()
{
$account = Account::find(Auth::user()->account_id);
if (!$account->validate(Input::all())) {
return Response::json(array(
return Response::json([
'status' => 'error',
'messages' => $account->errors()
));
'messages' => $account->errors(),
]);
}
$account->first_name = Input::get('first_name');
@ -88,14 +88,15 @@ class ManageAccountController extends MyBaseController {
$account->currency_id = Input::get('currency_id');
$account->save();
return Response::json(array(
return Response::json([
'status' => 'success',
'id' => $account->id,
'message' => 'Account Successfully Updated'
));
'message' => 'Account Successfully Updated',
]);
}
public function postEditAccountPayment() {
public function postEditAccountPayment()
{
$account = Account::find(Auth::user()->account_id);
$account->stripe_publishable_key = Input::get('stripe_publishable_key');
@ -103,37 +104,37 @@ class ManageAccountController extends MyBaseController {
$account->save();
return Response::json(array(
return Response::json([
'status' => 'success',
'id' => $account->id,
'message' => 'Payment Information Successfully Updated'
));
'message' => 'Payment Information Successfully Updated',
]);
}
public function postInviteUser() {
$rules = array(
'email' => array('required', 'email', 'unique:users,email,NULL,id,account_id,'.Auth::user()->account_id),
);
public function postInviteUser()
{
$rules = [
'email' => ['required', 'email', 'unique:users,email,NULL,id,account_id,'.Auth::user()->account_id],
];
$messages = array(
$messages = [
'email.email' => 'Please enter a valid E-mail address.',
'email.required' => 'E-mail address is required.',
'email.unique' => 'E-mail already in use for this account.',
);
];
$validation = \Validator::make(Input::all(), $rules, $messages);
if ($validation->fails()) {
return \Response::json([
'status' => 'error',
'messages'=> $validation->messages()->toArray()
'messages' => $validation->messages()->toArray(),
]);
}
$temp_password = str_random(8);
$user = new User;
$user = new User();
$user->email = Input::get('email');
$user->password = \Hash::make($temp_password);
$user->account_id = Auth::user()->account_id;
@ -142,7 +143,7 @@ class ManageAccountController extends MyBaseController {
$data = [
'user' => $user,
'temp_password' => $temp_password,
'inviter' => Auth::user()
'inviter' => Auth::user(),
];
\Mail::send('Emails.inviteUser', $data, function ($message) use ($data) {
@ -152,9 +153,7 @@ class ManageAccountController extends MyBaseController {
return Response::json([
'status' => 'success',
'message'=> 'Success! <b>'.$user->email.'</b> has been sent further instructions.'
'message' => 'Success! <b>'.$user->email.'</b> has been sent further instructions.',
]);
}
}

View File

@ -1,14 +1,14 @@
<?php namespace App\Http\Controllers;
<?php
namespace App\Http\Controllers;
use App\Models\Event;
use App\Http\Controllers\Controller;
use App\Attendize\Utils;
use App\Models\Organiser;
use View;
class MyBaseController extends Controller {
class MyBaseController extends Controller
{
public function __construct()
{
View::share('organisers', Organiser::scope()->get());
@ -19,7 +19,8 @@ class MyBaseController extends Controller {
*
* @return void
*/
protected function setupLayout() {
protected function setupLayout()
{
if (!is_null($this->layout)) {
$this->layout = View::make($this->layout);
}
@ -30,13 +31,13 @@ class MyBaseController extends Controller {
*
* @param int $event_id
* @param array $additional_data
*
* @return arrau
*/
public function getEventViewData($event_id, $additional_data = array()) {
return array_merge(array(
'event' => Event::scope()->findOrFail($event_id)
)
, $additional_data);
public function getEventViewData($event_id, $additional_data = [])
{
return array_merge([
'event' => Event::scope()->findOrFail($event_id),
], $additional_data);
}
}

View File

@ -2,24 +2,22 @@
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Session;
use Response,
Input,
Image,
View;
use App\Models\Event;
use App\Models\Organiser;
use Image;
use Input;
use Response;
use View;
class OrganiserController extends MyBaseController {
public function showSelectOragniser() {
class OrganiserController extends MyBaseController
{
public function showSelectOragniser()
{
return View::make('ManageOrganiser.SelectOrganiser');
}
public function showOrganiserDashboard($organiser_id = FALSE) {
public function showOrganiserDashboard($organiser_id = false)
{
$allowed_sorts = ['created_at', 'start_date', 'end_date', 'title'];
$searchQuery = Input::get('q');
@ -30,7 +28,6 @@ class OrganiserController extends MyBaseController {
? Event::scope()->where('title', 'like', '%'.$searchQuery.'%')->orderBy($sort_by, 'desc')->where('organiser_id', '=', $organiser_id)->paginate(12)
: Event::scope()->where('organiser_id', '=', $organiser_id)->orderBy($sort_by, 'desc')->paginate(12);
$data = [
'events' => $events,
'organisers' => Organiser::scope()->orderBy('name')->get(),
@ -39,43 +36,43 @@ class OrganiserController extends MyBaseController {
'search' => [
'q' => $searchQuery ? $searchQuery : '',
'sort_by' => $sort_by,
'showPast' => Input::get('past')
]
'showPast' => Input::get('past'),
],
];
return View::make('ManageEvents.OrganiserDashboard', $data);
}
public function showEditOrganiser($organiser_id) {
public function showEditOrganiser($organiser_id)
{
$organiser = Organiser::scope()->findOrfail($organiser_id);
return View::make('ManageEvents.Modals.EditOrganiser', [
'modal_id' => Input::get('modal_id'),
'organiser' => $organiser
'organiser' => $organiser,
]);
}
public function showCreateOrganiser() {
public function showCreateOrganiser()
{
return View::make('ManageOrganiser.CreateOrganiser', [
'modal_id' => 'createOrganiser'
'modal_id' => 'createOrganiser',
]);
return View::make('ManageEvents.Modals.CreateOrganiser', [
'modal_id' => Input::get('modal_id')
'modal_id' => Input::get('modal_id'),
]);
}
public function postCreateOrganiser() {
$organiser = Organiser::createNew(FALSE, FALSE, TRUE);
public function postCreateOrganiser()
{
$organiser = Organiser::createNew(false, false, true);
if (!$organiser->validate(Input::all())) {
return Response::json(array(
return Response::json([
'status' => 'error',
'messages' => $organiser->errors()
));
'messages' => $organiser->errors(),
]);
}
$organiser->name = Input::get('name');
@ -86,7 +83,6 @@ class OrganiserController extends MyBaseController {
$organiser->confirmation_key = md5(time().rand(0, 999999));
if (Input::hasFile('organiser_logo')) {
$path = public_path().'/'.config('attendize.organiser_images_path');
$filename = 'organiser_logo-'.$organiser->id.'.'.strtolower(Input::file('organiser_logo')->getClientOriginalExtension());
@ -106,22 +102,17 @@ class OrganiserController extends MyBaseController {
if (file_exists($file_full_path)) {
$organiser->logo_path = config('attendize.organiser_images_path').'/'.$filename;
}
}
$organiser->save();
\Session::flash('message', 'Successfully Created Organiser');
return Response::json(array(
return Response::json([
'status' => 'success',
'message' => 'Refreshing..',
'redirectUrl' => route('showOrganiserDashboard', [
'organiser_id' => $organiser->id
])
));
'organiser_id' => $organiser->id,
]),
]);
}
}

View File

@ -1,35 +1,35 @@
<?php namespace App\Http\Controllers;
<?php
namespace App\Http\Controllers;
use Input;
use View;
use Session;
use Response;
use File;
use Storage;
use Image;
use App\Models\Organiser;
use App\Models\Event;
use File;
use Image;
use Input;
use Response;
use Session;
use View;
class OrganiserCustomizeController extends MyBaseController
{
public function showCustomize($organiser_id) {
public function showCustomize($organiser_id)
{
$data = [
'organiser' => Organiser::scope()->findOrFail($organiser_id)
'organiser' => Organiser::scope()->findOrFail($organiser_id),
];
return View::make('ManageOrganiser.Customize', $data);
}
public function postEditOrganiser($organiser_id) {
public function postEditOrganiser($organiser_id)
{
$organiser = Organiser::scope()->find($organiser_id);
if (!$organiser->validate(Input::all())) {
return Response::json(array(
return Response::json([
'status' => 'error',
'messages' => $organiser->errors()
));
'messages' => $organiser->errors(),
]);
}
$organiser->name = Input::get('name');
@ -50,7 +50,6 @@ class OrganiserCustomizeController extends MyBaseController
}
if (Input::hasFile('organiser_logo')) {
$the_file = \File::get(Input::file('organiser_logo')->getRealPath());
$file_name = str_slug($organiser->name).'-logo-'.$organiser->id.'.'.strtolower(Input::file('organiser_logo')->getClientOriginalExtension());
@ -69,20 +68,17 @@ class OrganiserCustomizeController extends MyBaseController
if (\Storage::put($file_name, $the_file)) {
$organiser->logo_path = $relative_path_to_file;
}
}
$organiser->save();
Session::flash('message', 'Successfully Updated Organiser');
return Response::json(array(
return Response::json([
'status' => 'success',
'redirectUrl' => route('showOrganiserCustomize', [
'organiser_id' => $organiser->id
])
));
'organiser_id' => $organiser->id,
]),
]);
}
}

View File

@ -1,20 +1,15 @@
<?php namespace App\Http\Controllers;
<?php
namespace App\Http\Controllers;
use App\Models\Organiser;
use App\Models\Event;
use App\Models\Attendee;
use View;
use Carbon\Carbon;
use Input;
use View;
class OrganiserDashboardController extends MyBaseController
{
public function showDashboard($organiser_id)
{
$organiser = Organiser::scope()->findOrFail($organiser_id);
$upcoming_events = $organiser->events()->where('end_date', '>=', Carbon::now())->get();
@ -23,12 +18,11 @@ class OrganiserDashboardController extends MyBaseController
'upcoming_events' => $upcoming_events,
'search' => [
'sort_by' => 's',
'q' => ''
'q' => '',
],
'q'=> 'dd'
'q' => 'dd',
];
return View::make('ManageOrganiser.Dashboard', $data);
}
}

View File

@ -1,15 +1,16 @@
<?php namespace App\Http\Controllers;
<?php
namespace App\Http\Controllers;
use App\Models\Event;
use App\Models\Organiser;
use Input;
use View;
use App\Models\Organiser;
use App\Models\Event;
class OrganiserEventsController extends MyBaseController
{
public function showEvents($organiser_id) {
public function showEvents($organiser_id)
{
$organiser = Organiser::scope()->findOrfail($organiser_id);
$allowed_sorts = ['created_at', 'start_date', 'end_date', 'title'];
@ -21,19 +22,16 @@ class OrganiserEventsController extends MyBaseController
? Event::scope()->where('title', 'like', '%'.$searchQuery.'%')->orderBy($sort_by, 'desc')->where('organiser_id', '=', $organiser_id)->paginate(12)
: Event::scope()->where('organiser_id', '=', $organiser_id)->orderBy($sort_by, 'desc')->paginate(12);
$data = [
'events' => $events,
'organiser' => $organiser,
'search' => [
'q' => $searchQuery ? $searchQuery : '',
'sort_by' => Input::get('sort_by') ? Input::get('sort_by') : '',
'showPast' => Input::get('past')
]
'showPast' => Input::get('past'),
],
];
return View::make('ManageOrganiser.Events', $data);
}
}

View File

@ -1,27 +1,27 @@
<?php namespace App\Http\Controllers;
<?php
namespace App\Http\Controllers;
use View;
use App\Http\Controllers\Controller;
use App\Models\Organiser;
use View;
class OrganiserViewController extends Controller {
public function showOrganiserHome($organiser_id, $slug='', $preview = FALSE) {
class OrganiserViewController extends Controller
{
public function showOrganiserHome($organiser_id, $slug = '', $preview = false)
{
$organiser = Organiser::findOrFail($organiser_id);
$data = [
'organiser' => $organiser,
'tickets' => $organiser->events()->orderBy('created_at', 'desc')->get(),
'is_embedded' => 0
'is_embedded' => 0,
];
return View::make('Public.ViewOrganiser.OrganiserPage', $data);
}
public function showEventHomePreview($event_id) {
return showEventHome($event_id, TRUE);
public function showEventHomePreview($event_id)
{
return showEventHome($event_id, true);
}
}

View File

@ -2,14 +2,12 @@
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Contracts\Auth\Guard;
use Illuminate\Contracts\Auth\PasswordBroker;
use Illuminate\Foundation\Auth\ResetsPasswords;
class RemindersController extends Controller {
use Illuminate\Http\Request;
class RemindersController extends Controller
{
/**
* The Guard implementation.
*
@ -24,7 +22,8 @@ class RemindersController extends Controller {
*/
protected $passwords;
public function __construct(Guard $auth, PasswordBroker $passwords) {
public function __construct(Guard $auth, PasswordBroker $passwords)
{
$this->auth = $auth;
$this->passwords = $passwords;
@ -46,7 +45,8 @@ class RemindersController extends Controller {
*
* @return Response
*/
public function getRemind() {
public function getRemind()
{
return \View::make('Public.LoginAndRegister.ForgotPassword');
}
@ -55,8 +55,8 @@ class RemindersController extends Controller {
*
* @return Response
*/
public function postRemind(Request $request) {
public function postRemind(Request $request)
{
$this->validate($request, ['email' => 'required']);
$response = $this->passwords->sendResetLink($request->only('email'), function ($m) {
@ -76,11 +76,14 @@ class RemindersController extends Controller {
* Display the password reset view for the given token.
*
* @param string $token
*
* @return Response
*/
public function getReset($token = null) {
if (is_null($token))
public function getReset($token = null)
{
if (is_null($token)) {
\App::abort(404);
}
return \View::make('Public.LoginAndRegister.ResetPassword')->with('token', $token);
}
@ -90,7 +93,8 @@ class RemindersController extends Controller {
*
* @return Response
*/
public function postReset(Request $request) {
public function postReset(Request $request)
{
$this->validate($request, [
'token' => 'required',
'email' => 'required',
@ -112,6 +116,7 @@ class RemindersController extends Controller {
switch ($response) {
case PasswordBroker::PASSWORD_RESET:
\Session::flash('message', 'Password Successfully Reset');
return redirect(route('login'));
default:
@ -120,5 +125,4 @@ class RemindersController extends Controller {
->withErrors(['email' => trans($response)]);
}
}
}

View File

@ -2,41 +2,39 @@
namespace App\Http\Controllers;
use Input,
Response,
Auth,
Validator;
use App\Http\Controllers\Controller;
use App\Models\User;
use Auth;
use Input;
use Response;
class UserController extends Controller {
public function showEditUser() {
class UserController extends Controller
{
public function showEditUser()
{
$data = [
'user' => \Auth::user(),
'modal_id' => \Input::get('modal_id')
'modal_id' => \Input::get('modal_id'),
];
return \View::make('ManageUser.Modals.EditUser', $data);
}
public function postEditUser() {
$rules = array(
public function postEditUser()
{
$rules = [
'email' => ['required', 'email', 'exists:users,email,account_id,'.Auth::user()->account_id],
'new_password' => ['min:5', 'confirmed', 'required_with:password'],
'password' => 'passcheck',
'first_name' => ['required'],
'last_name' => ['required']
);
'last_name' => ['required'],
];
$messages = [
'email.email' => 'Please enter a valid E-mail address.',
'email.required' => 'E-mail address is required.',
'password.passcheck' => 'This password is incorrect.',
'email.exists' => 'This E-mail has is already in use.',
'first_name.required' => 'Please enter your first name.'
'first_name.required' => 'Please enter your first name.',
];
$validation = \Validator::make(Input::all(), $rules, $messages);
@ -44,7 +42,7 @@ class UserController extends Controller {
if ($validation->fails()) {
return Response::json([
'status' => 'error',
'messages' => $validation->messages()->toArray()
'messages' => $validation->messages()->toArray(),
]);
}
@ -57,15 +55,12 @@ class UserController extends Controller {
$user->first_name = Input::get('first_name');
$user->last_name = Input::get('last_name');
//$user->email = Input::get('email');
$user->save();
return Response::json([
'status' => 'success',
'message' => 'Successfully Edited User'
'message' => 'Successfully Edited User',
]);
}
}

View File

@ -2,57 +2,55 @@
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
use Request,
View,
Auth,
Input,
Redirect;
use \Illuminate\Contracts\Auth\Guard;
class UserLoginController extends Controller {
use Auth;
use Illuminate\Contracts\Auth\Guard;
use Input;
use Redirect;
use Request;
use View;
class UserLoginController extends Controller
{
protected $auth;
public function __construct(Guard $auth) {
public function __construct(Guard $auth)
{
$this->auth = $auth;
$this->middleware('guest');
}
public function showLogin() {
public function showLogin()
{
/*
* If there's an ajax request to the login page assume the person has been
* logged out and redirect them to the login page
*/
if (Request::ajax()) {
return Response::json(array(
return Response::json([
'status' => 'success',
'redirectUrl' => route('login')
));
'redirectUrl' => route('login'),
]);
}
return View::make('Public.LoginAndRegister.Login');
}
/**
* Handle the login
* Handle the login.
*
* @return void
*/
public function postLogin() {
public function postLogin()
{
$email = Input::get('email');
$password = Input::get('password');
if ($this->auth->attempt(array('email' => $email, 'password' => $password), true)) {
if ($this->auth->attempt(['email' => $email, 'password' => $password], true)) {
return Redirect::to(route('showSelectOrganiser'));
}
return Redirect::to('login?failed=yup')->with('message', 'Your username/password combination was incorrect')
->withInput();
}
}

View File

@ -2,21 +2,22 @@
namespace App\Http\Controllers;
use Illuminate\Routing\Controller;
use Illuminate\Contracts\Auth\Guard;
use Illuminate\Routing\Controller;
class UserLogoutController extends Controller {
class UserLogoutController extends Controller
{
protected $auth;
public function __construct(Guard $auth) {
public function __construct(Guard $auth)
{
$this->auth = $auth;
}
public function doLogout() {
public function doLogout()
{
$this->auth->logout();
return \Redirect::to('/?logged_out=yup');
}
}

View File

@ -1,24 +1,26 @@
<?php namespace App\Http\Controllers;
<?php
namespace App\Http\Controllers;
use Mail;
use Session;
use Validator;
use Redirect;
use Hash;
use Auth;
use Input;
use View;
use App\Attendize\Utils;
use Illuminate\Contracts\Auth\Guard;
use App\Models\Account;
use App\Models\User;
use Auth;
use Hash;
use Illuminate\Contracts\Auth\Guard;
use Input;
use Mail;
use Redirect;
use Session;
use Validator;
use View;
class UserSignupController extends Controller {
class UserSignupController extends Controller
{
protected $auth;
public function __construct(Guard $auth) {
public function __construct(Guard $auth)
{
if (Account::count() > 0 && !Utils::isAttendize()) {
return Redirect::route('login');
}
@ -27,34 +29,34 @@ class UserSignupController extends Controller {
$this->middleware('guest');
}
public function showSignup() {
public function showSignup()
{
return View::make('Public.LoginAndRegister.Signup');
}
/**
* Creates an account
* Creates an account.
*
* @return void
*/
public function postSignup() {
$rules = array(
'email' => array('required', 'email', 'unique:users'),
'password' => array('required', 'min:5', 'confirmed'),
'first_name' => array('required'),
'terms_agreed' => Utils::isAttendize() ? array('required') : ''
);
public function postSignup()
{
$rules = [
'email' => ['required', 'email', 'unique:users'],
'password' => ['required', 'min:5', 'confirmed'],
'first_name' => ['required'],
'terms_agreed' => Utils::isAttendize() ? ['required'] : '',
];
$messages = array(
$messages = [
'email.email' => 'Please enter a valid E-mail address.',
'email.required' => 'E-mail address is required.',
'password.required' => 'Password is required.',
'password.min' => 'Your password is too short! Min 5 symbols.',
'email.unique' => 'This E-mail has already been taken.',
'first_name.required' => 'Please enter your first name.',
'terms_agreed.required' => 'Please agree to our Terms of Service.'
);
'terms_agreed.required' => 'Please agree to our Terms of Service.',
];
$validation = Validator::make(Input::all(), $rules, $messages);
@ -62,7 +64,7 @@ class UserSignupController extends Controller {
return Redirect::to('signup')->withInput()->withErrors($validation);
}
$account = new Account;
$account = new Account();
$account->email = Input::get('email');
$account->first_name = Input::get('first_name');
$account->last_name = Input::get('last_name');
@ -70,7 +72,7 @@ class UserSignupController extends Controller {
$account->timezone_id = config('attendize.default_timezone');
$account->save();
$user = new User;
$user = new User();
$user->email = Input::get('email');
$user->first_name = Input::get('first_name');
$user->last_name = Input::get('last_name');
@ -80,7 +82,6 @@ class UserSignupController extends Controller {
$user->is_registered = 1;
$user->save();
if (Utils::isAttendize()) {
Mail::send('Emails.ConfirmEmail', ['first_name' => $user->first_name, 'confirmation_code' => $user->confirmation_code], function ($message) {
$message->to(Input::get('email'), Input::get('first_name'))
@ -88,19 +89,18 @@ class UserSignupController extends Controller {
});
}
Session::flash('message', "Success! You can now login.");
Session::flash('message', 'Success! You can now login.');
return Redirect::to('login');
}
function confirmEmail($confirmation_code) {
public function confirmEmail($confirmation_code)
{
$user = User::whereConfirmationCode($confirmation_code)->first();
if ( ! $user)
{
if (!$user) {
return \View::make('Public.Errors.Generic', [
'message' => 'The confirmation code is missing or malformed.'
'message' => 'The confirmation code is missing or malformed.',
]);
}
@ -108,7 +108,7 @@ class UserSignupController extends Controller {
$user->confirmation_code = null;
$user->save();
\Session::flash('message', "Success! Your email is now verified. You can now login.");
\Session::flash('message', 'Success! Your email is now verified. You can now login.');
//$this->auth->login($user);
@ -118,11 +118,9 @@ class UserSignupController extends Controller {
private function validateEmail($data)
{
$rules = [
'email' => 'required|email|unique:users'
'email' => 'required|email|unique:users',
];
return Validator::make($data, $rules);
}
}

View File

@ -1,9 +1,11 @@
<?php namespace App\Http;
<?php
namespace App\Http;
use Illuminate\Foundation\Http\Kernel as HttpKernel;
class Kernel extends HttpKernel {
class Kernel extends HttpKernel
{
/**
* The application's global HTTP middleware stack.
*
@ -16,7 +18,7 @@ class Kernel extends HttpKernel {
'Illuminate\Session\Middleware\StartSession',
'Illuminate\View\Middleware\ShareErrorsFromSession',
'App\Http\Middleware\VerifyCsrfToken',
'App\Http\Middleware\GeneralChecks'
'App\Http\Middleware\GeneralChecks',
];
/**
@ -29,7 +31,6 @@ class Kernel extends HttpKernel {
'auth.basic' => 'Illuminate\Auth\Middleware\AuthenticateWithBasicAuth',
'guest' => 'App\Http\Middleware\RedirectIfAuthenticated',
'first.run' => 'App\Http\Middleware\FirstRunMiddleware',
'installed' => 'App\Http\Middleware\CheckInstalled'
'installed' => 'App\Http\Middleware\CheckInstalled',
];
}

View File

@ -1,10 +1,12 @@
<?php namespace App\Http\Middleware;
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Contracts\Auth\Guard;
class Authenticate {
class Authenticate
{
/**
* The Guard implementation.
*
@ -16,6 +18,7 @@ class Authenticate {
* Create a new filter instance.
*
* @param Guard $auth
*
* @return void
*/
public function __construct(Guard $auth)
@ -28,23 +31,19 @@ class Authenticate {
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
*
* @return mixed
*/
public function handle($request, Closure $next)
{
if ($this->auth->guest())
{
if ($request->ajax())
{
if ($this->auth->guest()) {
if ($request->ajax()) {
return response('Unauthorized.', 401);
}
else
{
} else {
return redirect()->guest('login');
}
}
return $next($request);
}
}

View File

@ -1,10 +1,11 @@
<?php namespace app\Http\Middleware;
<?php
namespace app\Http\Middleware;
use App\Attendize\Utils;
use Closure;
use Redirect;
use Request;
use App\Models\OrderStatus;
use App\Attendize\Utils;
class CheckInstalled
{
@ -13,6 +14,7 @@ class CheckInstalled
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
*
* @return mixed
*/
public function handle($request, Closure $next)

View File

@ -1,16 +1,11 @@
<?php namespace app\Http\Middleware;
<?php
namespace app\Http\Middleware;
use Request;
use Closure;
use Utils;
use App;
use Auth;
use Input;
use Redirect;
use Cache;
use Session;
use File;
use App\Models\Organiser;
use Closure;
use Redirect;
use Request;
class FirstRunMiddleware
{
@ -19,6 +14,7 @@ class FirstRunMiddleware
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
*
* @return mixed
*/
public function handle($request, Closure $next)
@ -30,11 +26,11 @@ class FirstRunMiddleware
*/
if (Organiser::scope()->count() === 0 && !($request->route()->getName() == 'showCreateOrganiser') && !($request->route()->getName() == 'postCreateOrganiser')) {
return redirect(route('showCreateOrganiser', [
'first_run' => '1'
'first_run' => '1',
]));
} elseif (Organiser::scope()->count() === 1 && ($request->route()->getName() == 'showSelectOrganiser')) {
return redirect(route('showOrganiserDashboard', [
'organiser_id' => Organiser::scope()->first()->id
'organiser_id' => Organiser::scope()->first()->id,
]));
}

View File

@ -1,7 +1,8 @@
<?php namespace app\Http\Middleware;
<?php
namespace app\Http\Middleware;
use Closure;
use App;
class GeneralChecks
{
@ -10,6 +11,7 @@ class GeneralChecks
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
*
* @return mixed
*/
public function handle($request, Closure $next)
@ -17,7 +19,7 @@ class GeneralChecks
// Show message to IE 8 and before users
if (isset($_SERVER['HTTP_USER_AGENT']) && preg_match('/(?i)msie [2-8]/', $_SERVER['HTTP_USER_AGENT'])) {
Session::flash('message', "Please update your browser. This application requires a modern browser.");
Session::flash('message', 'Please update your browser. This application requires a modern browser.');
}
$response = $next($request);

View File

@ -1,11 +1,13 @@
<?php namespace App\Http\Middleware;
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Contracts\Auth\Guard;
use Illuminate\Http\RedirectResponse;
class RedirectIfAuthenticated {
class RedirectIfAuthenticated
{
/**
* The Guard implementation.
*
@ -17,6 +19,7 @@ class RedirectIfAuthenticated {
* Create a new filter instance.
*
* @param Guard $auth
*
* @return void
*/
public function __construct(Guard $auth)
@ -29,16 +32,15 @@ class RedirectIfAuthenticated {
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
*
* @return mixed
*/
public function handle($request, Closure $next)
{
if ($this->auth->check())
{
if ($this->auth->check()) {
return new RedirectResponse(route('showSelectOrganiser'));
}
return $next($request);
}
}

View File

@ -1,11 +1,12 @@
<?php namespace App\Http\Middleware;
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as BaseVerifier;
class VerifyCsrfToken extends BaseVerifier {
class VerifyCsrfToken extends BaseVerifier
{
protected $except = [
'install/*',
];
@ -15,11 +16,11 @@ class VerifyCsrfToken extends BaseVerifier {
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
*
* @return mixed
*/
public function handle($request, Closure $next)
{
return parent::handle($request, $next);
}
}

View File

@ -1,9 +1,10 @@
<?php namespace App\Http\Requests;
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
abstract class Request extends FormRequest {
abstract class Request extends FormRequest
{
//
}

View File

@ -16,11 +16,11 @@
*/
Route::get('install', [
'as' => 'showInstaller',
'uses' => 'InstallerController@showInstaller'
'uses' => 'InstallerController@showInstaller',
]);
Route::post('install', [
'as' => 'postInstaller',
'uses' => 'InstallerController@postInstaller'
'uses' => 'InstallerController@postInstaller',
]);
/*
@ -28,28 +28,25 @@ Route::post('install', [
*/
Route::any('payment/return/stripe', [
'as' => 'showStripeReturn',
'uses' => 'ManageAccountController@showStripeReturn'
'uses' => 'ManageAccountController@showStripeReturn',
]);
/*
* Logout
*/
Route::any('/logout', [
'uses' => 'UserLogoutController@doLogout',
'as' => 'logout'
'as' => 'logout',
]);
Route::group(array('middleware' => ['installed']), function() {
Route::group(['middleware' => ['installed']], function () {
/*
* Login
*/
Route::get('/login', [
'as' => 'login',
'uses' => 'UserLoginController@showLogin'
'uses' => 'UserLoginController@showLogin',
]);
Route::post('/login', 'UserLoginController@postLogin');
@ -58,12 +55,12 @@ Route::group(array('middleware' => ['installed']), function() {
*/
Route::get('login/forgot-password', [
'as' => 'forgotPassword',
'uses' => 'RemindersController@getRemind'
'uses' => 'RemindersController@getRemind',
]);
Route::post('login/forgot-password', [
'as' => 'postForgotPassword',
'uses' => 'RemindersController@postRemind'
'uses' => 'RemindersController@postRemind',
]);
/*
@ -71,22 +68,20 @@ Route::group(array('middleware' => ['installed']), function() {
*/
Route::get('login/reset-password/{token}', [
'as' => 'showResetPassword',
'uses' => 'RemindersController@getReset'
'uses' => 'RemindersController@getReset',
]);
Route::post('login/reset-password', [
'as' => 'postResetPassword',
'uses' => 'RemindersController@postReset'
'uses' => 'RemindersController@postReset',
]);
/*
* Registration / Account creation
*/
Route::get('/signup', [
'uses' => 'UserSignupController@showSignup',
'as' => 'showSignup'
'as' => 'showSignup',
]);
Route::post('/signup', 'UserSignupController@postSignup');
@ -95,7 +90,7 @@ Route::group(array('middleware' => ['installed']), function() {
*/
Route::get('signup/confirm_email/{confirmation_code}', [
'as' => 'confirmEmail',
'uses' => 'UserSignupController@confirmEmail'
'uses' => 'UserSignupController@confirmEmail',
]);
});
@ -106,35 +101,32 @@ Route::group(['prefix' => 'o'], function() {
Route::get('/{organiser_id}/{organier_slug?}', [
'as' => 'showOrganiserHome',
'uses' => 'OrganiserViewController@showOrganiserHome'
'uses' => 'OrganiserViewController@showOrganiserHome',
]);
});
/*
* Public event page routes
*/
Route::group(array('prefix' => 'e'), function() {
Route::group(['prefix' => 'e'], function () {
/*
* Embedded events
*/
Route::get('/{event_id}/embed', [
'as' => 'showEmbeddedEventPage',
'uses' => 'EventViewEmbeddedController@showEmbeddedEvent'
'uses' => 'EventViewEmbeddedController@showEmbeddedEvent',
]);
Route::get('/{event_id}/{event_slug?}', [
'as' => 'showEventPage',
'uses' => 'EventViewController@showEventHome'
'uses' => 'EventViewController@showEventHome',
]);
Route::post('/{event_id}/contact_organiser', [
'as' => 'postContactOrganiser',
'uses' => 'EventViewController@postContactOrganiser'
'uses' => 'EventViewController@postContactOrganiser',
]);
/*
@ -142,45 +134,42 @@ Route::group(array('prefix' => 'e'), function() {
*/
Route::get('/{event_id}/preview', [
'as' => 'showEventPagePreview',
'uses' => 'EventViewController@showEventHomePreview'
'uses' => 'EventViewController@showEventHomePreview',
]);
Route::post('{event_id}/checkout/', [
'as' => 'postValidateTickets',
'uses' => 'EventCheckoutController@postValidateTickets'
'uses' => 'EventCheckoutController@postValidateTickets',
]);
Route::get('{event_id}/checkout/create', [
'as' => 'showEventCheckout',
'uses' => 'EventCheckoutController@showEventCheckout'
'uses' => 'EventCheckoutController@showEventCheckout',
]);
Route::post('{event_id}/checkout/create', [
'as' => 'postCreateOrder',
'uses' => 'EventCheckoutController@postCreateOrder'
'uses' => 'EventCheckoutController@postCreateOrder',
]);
});
/*
* View order
*/
Route::get('order/{order_reference}', [
'as' => 'showOrderDetails',
'uses' => 'EventCheckoutController@showOrderDetails'
'uses' => 'EventCheckoutController@showOrderDetails',
]);
Route::get('order/{order_reference}/tickets', [
'as' => 'showOrderTickets',
'uses' => 'EventCheckoutController@showOrderTickets'
'uses' => 'EventCheckoutController@showOrderTickets',
]);
/*
* Begin logged in stuff
*/
Route::group(array('middleware' => ['auth', 'first.run']), function() {
Route::group(['middleware' => ['auth', 'first.run']], function () {
/*
* Edit User
@ -189,11 +178,11 @@ Route::group(array('middleware' => ['auth', 'first.run']), function() {
Route::get('/', [
'as' => 'showEditUser',
'uses' => 'UserController@showEditUser'
'uses' => 'UserController@showEditUser',
]);
Route::post('/', [
'as' => 'postEditUser',
'uses' => 'UserController@postEditUser'
'uses' => 'UserController@postEditUser',
]);
});
@ -201,40 +190,38 @@ Route::group(array('middleware' => ['auth', 'first.run']), function() {
/*
* Manage account
*/
Route::group(array('prefix' => 'account'), function() {
Route::group(['prefix' => 'account'], function () {
Route::get('/', [
'as' => 'showEditAccount',
'uses' => 'ManageAccountController@showEditAccount'
'uses' => 'ManageAccountController@showEditAccount',
]);
Route::post('/', [
'as' => 'postEditAccount',
'uses' => 'ManageAccountController@postEditAccount'
'uses' => 'ManageAccountController@postEditAccount',
]);
Route::post('/edit_payment', [
'as' => 'postEditAccountPayment',
'uses' => 'ManageAccountController@postEditAccountPayment'
'uses' => 'ManageAccountController@postEditAccountPayment',
]);
Route::post('invite_user', [
'as' => 'postInviteUser',
'uses' => 'ManageAccountController@postInviteUser'
'uses' => 'ManageAccountController@postInviteUser',
]);
});
Route::get('select_organiser', [
'as' => 'showSelectOrganiser',
'uses' => 'OrganiserController@showSelectOragniser'
'uses' => 'OrganiserController@showSelectOragniser',
]);
/*
* New organiser dashboard
*/
Route::group(array('prefix' => 'organiser'), function() {
Route::group(['prefix' => 'organiser'], function () {
/*
* -----------
* Organiser Dashboard
@ -242,7 +229,7 @@ Route::group(array('middleware' => ['auth', 'first.run']), function() {
*/
Route::get('{organiser_id}/dashboard', [
'as' => 'showOrganiserDashboard',
'uses' => 'OrganiserDashboardController@showDashboard'
'uses' => 'OrganiserDashboardController@showDashboard',
]);
/*
@ -252,7 +239,7 @@ Route::group(array('middleware' => ['auth', 'first.run']), function() {
*/
Route::get('{organiser_id}/events', [
'as' => 'showOrganiserEvents',
'uses' => 'OrganiserEventsController@showEvents'
'uses' => 'OrganiserEventsController@showEvents',
]);
/*
* -----------
@ -261,16 +248,14 @@ Route::group(array('middleware' => ['auth', 'first.run']), function() {
*/
Route::get('{organiser_id}/customize', [
'as' => 'showOrganiserCustomize',
'uses' => 'OrganiserCustomizeController@showCustomize'
'uses' => 'OrganiserCustomizeController@showCustomize',
]);
});
/*
* Events dashboard
*/
Route::group(array('prefix' => 'events'), function() {
Route::group(['prefix' => 'events'], function () {
/*
* -----------
@ -279,33 +264,29 @@ Route::group(array('middleware' => ['auth', 'first.run']), function() {
*/
Route::get('/organiser/create', [
'as' => 'showCreateOrganiser',
'uses' => 'OrganiserController@showCreateOrganiser'
'uses' => 'OrganiserController@showCreateOrganiser',
]);
Route::post('/organiser/create', [
'as' => 'postCreateOrganiser',
'uses' => 'OrganiserController@postCreateOrganiser'
'uses' => 'OrganiserController@postCreateOrganiser',
]);
Route::get('/organiser/{organiser_id}', [
'as' => 'showOrganiserEventsDashboard',
'uses' => 'OrganiserController@showOrganiserDashboard'
'uses' => 'OrganiserController@showOrganiserDashboard',
]);
Route::get('/organiser/{organiser_id?}', [
'as' => 'showSearchEventsDashboard',
'uses' => 'OrganiserController@showOrganiserDashboard'
'uses' => 'OrganiserController@showOrganiserDashboard',
]);
Route::get('/organiser/{organiser_id}/edit', [
'as' => 'showEditOrganiser',
'uses' => 'OrganiserController@showEditOrganiser'
'uses' => 'OrganiserController@showEditOrganiser',
]);
Route::post('/organiser/{organiser_id}/edit', [
'as' => 'postEditOrganiser',
'uses' => 'OrganiserCustomizeController@postEditOrganiser'
'uses' => 'OrganiserCustomizeController@postEditOrganiser',
]);
/*
* ----------
* Create Event
@ -313,12 +294,12 @@ Route::group(array('middleware' => ['auth', 'first.run']), function() {
*/
Route::get('/create', [
'as' => 'showCreateEvent',
'uses' => 'EventController@showCreateEvent'
'uses' => 'EventController@showCreateEvent',
]);
Route::post('/create', [
'as' => 'postCreateEvent',
'uses' => 'EventController@postCreateEvent'
'uses' => 'EventController@postCreateEvent',
]);
});
@ -327,33 +308,31 @@ Route::group(array('middleware' => ['auth', 'first.run']), function() {
*/
Route::post('/upload_image', [
'as' => 'postUploadEventImage',
'uses' => 'EventController@postUploadEventImage'
'uses' => 'EventController@postUploadEventImage',
]);
/*
* Event Management Stuff
*/
Route::group(array('prefix' => 'event'), function() {
Route::group(['prefix' => 'event'], function () {
/*
* -------
* Dashboard
* -------
*/
Route::get('{event_id}/dashboard/', array(
Route::get('{event_id}/dashboard/', [
'as' => 'showEventDashboard',
'uses' => 'EventDashboardController@showDashboard')
'uses' => 'EventDashboardController@showDashboard', ]
);
Route::get('{event_id}', function ($event_id) {
return Redirect::route('showEventDashboard', [
'event_id' => $event_id
'event_id' => $event_id,
]);
});
/**
/*
* @todo Move to a controller
*/
Route::get('{event_id}/go_live', ['as' => 'MakeEventLive', function ($event_id) {
@ -361,8 +340,9 @@ Route::group(array('middleware' => ['auth', 'first.run']), function() {
$event->is_live = 1;
$event->save();
\Session::flash('message', 'Event Successfully Made Live! You can undo this action in event settings page.');
return Redirect::route('showEventDashboard', [
'event_id' => $event_id
'event_id' => $event_id,
]);
}]);
@ -371,157 +351,152 @@ Route::group(array('middleware' => ['auth', 'first.run']), function() {
* Tickets
* -------
*/
Route::get('{event_id}/tickets/', array(
Route::get('{event_id}/tickets/', [
'as' => 'showEventTickets',
'uses' => 'EventTicketsController@showTickets'
));
Route::get('{event_id}/tickets/edit/{ticket_id}', array(
'uses' => 'EventTicketsController@showTickets',
]);
Route::get('{event_id}/tickets/edit/{ticket_id}', [
'as' => 'showEditTicket',
'uses' => 'EventTicketsController@showEditTicket'
));
Route::post('{event_id}/tickets/edit/{ticket_id}', array(
'uses' => 'EventTicketsController@showEditTicket',
]);
Route::post('{event_id}/tickets/edit/{ticket_id}', [
'as' => 'postEditTicket',
'uses' => 'EventTicketsController@postEditTicket'
));
Route::get('{event_id}/tickets/create', array(
'uses' => 'EventTicketsController@postEditTicket',
]);
Route::get('{event_id}/tickets/create', [
'as' => 'showCreateTicket',
'uses' => 'EventTicketsController@showCreateTicket'
));
Route::post('{event_id}/tickets/create', array(
'uses' => 'EventTicketsController@showCreateTicket',
]);
Route::post('{event_id}/tickets/create', [
'as' => 'postCreateTicket',
'uses' => 'EventTicketsController@postCreateTicket'
));
Route::post('{event_id}/tickets/delete', array(
'uses' => 'EventTicketsController@postCreateTicket',
]);
Route::post('{event_id}/tickets/delete', [
'as' => 'postDeleteTicket',
'uses' => 'EventTicketsController@postDeleteTicket'
));
Route::post('{event_id}/tickets/pause', array(
'uses' => 'EventTicketsController@postDeleteTicket',
]);
Route::post('{event_id}/tickets/pause', [
'as' => 'postPauseTicket',
'uses' => 'EventTicketsController@postPauseTicket'
));
'uses' => 'EventTicketsController@postPauseTicket',
]);
/*
* Ticket questions
*/
Route::get('{event_id}/tickets/questions', [
'as' => 'showTicketQuestions',
'uses' => 'EventTicketQuestionsController@showQuestions'
'uses' => 'EventTicketQuestionsController@showQuestions',
]);
Route::post('{event_id}/tickets/questions/create', [
'as' => 'postCreateQuestion',
'uses' => 'EventTicketQuestionsController@postCreateQuestion'
'uses' => 'EventTicketQuestionsController@postCreateQuestion',
]);
/*
* -------
* Attendees
* -------
*/
Route::get('{event_id}/attendees/', array(
Route::get('{event_id}/attendees/', [
'as' => 'showEventAttendees',
'uses' => 'EventAttendeesController@showAttendees'
));
'uses' => 'EventAttendeesController@showAttendees',
]);
Route::get('{event_id}/attendees/message', [
'as' => 'showMessageAttendees',
'uses' => 'EventAttendeesController@showMessageAttendees'
'uses' => 'EventAttendeesController@showMessageAttendees',
]);
Route::post('{event_id}/attendees/message', [
'as' => 'postMessageAttendees',
'uses' => 'EventAttendeesController@postMessageAttendees'
'uses' => 'EventAttendeesController@postMessageAttendees',
]);
Route::get('{event_id}/attendees/single_message', [
'as' => 'showMessageAttendee',
'uses' => 'EventAttendeesController@showMessageAttendee'
'uses' => 'EventAttendeesController@showMessageAttendee',
]);
Route::post('{event_id}/attendees/single_message', [
'as' => 'postMessageAttendee',
'uses' => 'EventAttendeesController@postMessageAttendee'
'uses' => 'EventAttendeesController@postMessageAttendee',
]);
Route::get('{event_id}/attendees/create', [
'as' => 'showCreateAttendee',
'uses' => 'EventAttendeesController@showCreateAttendee'
'uses' => 'EventAttendeesController@showCreateAttendee',
]);
Route::post('{event_id}/attendees/create', [
'as' => 'postCreateAttendee',
'uses' => 'EventAttendeesController@postCreateAttendee'
'uses' => 'EventAttendeesController@postCreateAttendee',
]);
Route::get('{event_id}/attendees/print', [
'as' => 'showPrintAttendees',
'uses' => 'EventAttendeesController@showPrintAttendees'
'uses' => 'EventAttendeesController@showPrintAttendees',
]);
Route::get('{event_id}/attendees/export/{export_as?}', [
'as' => 'showExportAttendees',
'uses' => 'EventAttendeesController@showExportAttendees'
'uses' => 'EventAttendeesController@showExportAttendees',
]);
Route::get('{event_id}/attendees/{attendee_id}/edit', [
'as' => 'showEditAttendee',
'uses' => 'EventAttendeesController@showEditAttendee'
'uses' => 'EventAttendeesController@showEditAttendee',
]);
Route::post('{event_id}/attendees/{attendee_id}/edit', [
'as' => 'postEditAttendee',
'uses' => 'EventAttendeesController@postEditAttendee'
'uses' => 'EventAttendeesController@postEditAttendee',
]);
Route::get('{event_id}/attendees/{attendee_id}/cancel', [
'as' => 'showCancelAttendee',
'uses' => 'EventAttendeesController@showCancelAttendee'
'uses' => 'EventAttendeesController@showCancelAttendee',
]);
Route::post('{event_id}/attendees/{attendee_id}/cancel', [
'as' => 'postCancelAttendee',
'uses' => 'EventAttendeesController@postCancelAttendee'
'uses' => 'EventAttendeesController@postCancelAttendee',
]);
/*
* -------
* Orders
* -------
*/
Route::get('{event_id}/orders/', array(
Route::get('{event_id}/orders/', [
'as' => 'showEventOrders',
'uses' => 'EventOrdersController@showOrders'
));
'uses' => 'EventOrdersController@showOrders',
]);
Route::get('order/{order_id}', array(
Route::get('order/{order_id}', [
'as' => 'showManageOrder',
'uses' => 'EventOrdersController@manageOrder'
));
'uses' => 'EventOrdersController@manageOrder',
]);
Route::get('order/{order_id}/cancel', array(
Route::get('order/{order_id}/cancel', [
'as' => 'showCancelOrder',
'uses' => 'EventOrdersController@showCancelOrder'
));
'uses' => 'EventOrdersController@showCancelOrder',
]);
Route::post('order/{order_id}/cancel', array(
Route::post('order/{order_id}/cancel', [
'as' => 'postCancelOrder',
'uses' => 'EventOrdersController@postCancelOrder'
));
'uses' => 'EventOrdersController@postCancelOrder',
]);
Route::get('{event_id}/orders/export/{export_as?}', [
'as' => 'showExportOrders',
'uses' => 'EventOrdersController@showExportOrders'
'uses' => 'EventOrdersController@showExportOrders',
]);
Route::get('{event_id}/orders/message', [
'as' => 'showMessageOrder',
'uses' => 'EventOrdersController@showMessageOrder'
'uses' => 'EventOrdersController@showMessageOrder',
]);
Route::post('{event_id}/orders/message', [
'as' => 'postMessageOrder',
'uses' => 'EventOrdersController@postMessageOrder'
'uses' => 'EventOrdersController@postMessageOrder',
]);
/*
@ -529,84 +504,74 @@ Route::group(array('middleware' => ['auth', 'first.run']), function() {
* Edit Event
* -------
*/
Route::post('{event_id}/customize', array(
Route::post('{event_id}/customize', [
'as' => 'postEditEvent',
'uses' => 'EventController@postEditEvent'
));
'uses' => 'EventController@postEditEvent',
]);
/*
* -------
* Customize Design etc.
* -------
*/
Route::get('{event_id}/customize', array(
Route::get('{event_id}/customize', [
'as' => 'showEventCustomize',
'uses' => 'EventCustomizeController@showCustomize'
));
'uses' => 'EventCustomizeController@showCustomize',
]);
Route::get('{event_id}/customize/{tab?}', array(
Route::get('{event_id}/customize/{tab?}', [
'as' => 'showEventCustomizeTab',
'uses' => 'EventCustomizeController@showCustomize'
));
'uses' => 'EventCustomizeController@showCustomize',
]);
Route::post('{event_id}/customize/order_page', array(
Route::post('{event_id}/customize/order_page', [
'as' => 'postEditEventOrderPage',
'uses' => 'EventCustomizeController@postEditEventOrderPage'
));
Route::post('{event_id}/customize/design', array(
'uses' => 'EventCustomizeController@postEditEventOrderPage',
]);
Route::post('{event_id}/customize/design', [
'as' => 'postEditEventDesign',
'uses' => 'EventCustomizeController@postEditEventDesign'
));
Route::post('{event_id}/customize/social', array(
'uses' => 'EventCustomizeController@postEditEventDesign',
]);
Route::post('{event_id}/customize/social', [
'as' => 'postEditEventSocial',
'uses' => 'EventCustomizeController@postEditEventSocial'
));
'uses' => 'EventCustomizeController@postEditEventSocial',
]);
Route::post('{event_id}/customize/fees', array(
Route::post('{event_id}/customize/fees', [
'as' => 'postEditEventFees',
'uses' => 'EventCustomizeController@postEditEventFees'
));
'uses' => 'EventCustomizeController@postEditEventFees',
]);
/*
* -------
* Check In App
* -------
*/
Route::get('{event_id}/check_in', array(
Route::get('{event_id}/check_in', [
'as' => 'showChechIn',
'uses' => 'EventCheckInController@showCheckIn'
));
Route::post('{event_id}/check_in/search', array(
'uses' => 'EventCheckInController@showCheckIn',
]);
Route::post('{event_id}/check_in/search', [
'as' => 'postCheckInSearch',
'uses' => 'EventCheckInController@postCheckInSearch'
));
Route::post('{event_id}/check_in/', array(
'uses' => 'EventCheckInController@postCheckInSearch',
]);
Route::post('{event_id}/check_in/', [
'as' => 'postCheckInAttendee',
'uses' => 'EventCheckInController@postCheckInAttendee'
));
'uses' => 'EventCheckInController@postCheckInAttendee',
]);
/*
* -------
* Promote
* -------
*/
Route::get('{event_id}/promote', array(
Route::get('{event_id}/promote', [
'as' => 'showEventPromote',
'uses' => 'EventPromoteController@showPromote'
));
'uses' => 'EventPromoteController@showPromote',
]);
});
});
Route::post('queue/push', function () {
// set_time_limit(300);
@ -614,17 +579,13 @@ Route::post('queue/push', function() {
return Queue::marshal();
});
Route::get('/', function () {
return Redirect::route('showSelectOrganiser');
});
Route::get('/terms_and_conditions', ['as' => 'termsAndConditions', function () {
return 'TODO: add terms and cond';
//return View::make('Public.Website.Terms_and_Cond');
}]);

View File

@ -1,38 +1,43 @@
<?php namespace App\Models;
<?php
namespace App\Models;
use App\Attendize\Utils;
use Illuminate\Database\Eloquent\SoftDeletes;
use \App\Attendize\Utils;
class Account extends MyBaseModel {
class Account extends MyBaseModel
{
use SoftDeletes;
protected $rules = [
'first_name' => ['required'],
'last_name' => ['required'],
'email' => ['required', 'email']
'email' => ['required', 'email'],
];
protected $messages = [];
public function users() {
public function users()
{
return $this->hasMany('\App\Models\User');
}
public function orders() {
public function orders()
{
return $this->hasMany('\App\Models\Order');
}
public function currency() {
public function currency()
{
return $this->hasOne('\App\Models\Currency');
}
public function getStripeApiKeyAttribute() {
public function getStripeApiKeyAttribute()
{
if (Utils::isAttendize()) {
return $this->stripe_access_token;
}
return $this->stripe_secret_key;
}
}

View File

@ -1,14 +1,16 @@
<?php namespace App\Models;
<?php
namespace App\Models;
/*
Attendize.com - Event Management & Ticketing
*/
/**
* Description of Activity
* Description of Activity.
*
* @author Dave
*/
class Activity extends \Illuminate\Database\Eloquent\Model {
class Activity extends \Illuminate\Database\Eloquent\Model
{
}

View File

@ -1,13 +1,17 @@
<?php namespace App\Models;
<?php
namespace App\Models;
/*
Attendize.com - Event Management & Ticketing
*/
class Affiliate extends \Illuminate\Database\Eloquent\Model {
protected $fillable = array('name', 'visits', 'tickets_sold', 'event_id', 'account_id', 'sales_volume');
class Affiliate extends \Illuminate\Database\Eloquent\Model
{
protected $fillable = ['name', 'visits', 'tickets_sold', 'event_id', 'account_id', 'sales_volume'];
public function getDates() {
return array('created_at', 'updated_at');
public function getDates()
{
return ['created_at', 'updated_at'];
}
}

View File

@ -1,4 +1,6 @@
<?php namespace App\Models;
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\SoftDeletes;
@ -7,31 +9,36 @@ use Illuminate\Database\Eloquent\SoftDeletes;
*/
/**
* Description of Attendees
* Description of Attendees.
*
* @author Dave
*/
class Attendee extends MyBaseModel {
class Attendee extends MyBaseModel
{
use SoftDeletes;
public function order(){
public function order()
{
return$this->belongsTo('\App\Models\Order');
}
public function ticket() {
public function ticket()
{
return $this->belongsTo('\App\Models\Ticket');
}
public function event() {
public function event()
{
return $this->belongsTo('\App\Models\Event');
}
public function scopeWithoutCancelled($query) {
public function scopeWithoutCancelled($query)
{
return $query->where('attendees.is_cancelled', '=', 0);
}
public function getFullNameAttribute() {
public function getFullNameAttribute()
{
return $this->first_name.' '.$this->last_name;
}
@ -40,19 +47,20 @@ class Attendee extends MyBaseModel {
// return $this->order->order_reference
// }
public function getDates() {
return array('created_at', 'updated_at', 'arrival_time');
public function getDates()
{
return ['created_at', 'updated_at', 'arrival_time'];
}
/**
* Generate a private referennce number for the attendee. Use for checking in the attendee.
*/
public static function boot() {
public static function boot()
{
parent::boot();
static::creating(function ($order) {
$order->private_reference_number = str_pad(rand(0, pow(10, 9) - 1), 9, '0', STR_PAD_LEFT);
});
}
}

View File

@ -1,23 +1,25 @@
<?php namespace App\Models;
<?php
namespace App\Models;
/*
Attendize.com - Event Management & Ticketing
*/
/**
* Description of Currency
* Description of Currency.
*
* @author Dave
*/
class Currency extends \Illuminate\Database\Eloquent\Model {
class Currency extends \Illuminate\Database\Eloquent\Model
{
public $timestamps = false;
protected $softDelete = false;
protected $table = 'currencies';
public function event() {
public function event()
{
return $this->belongsTo('\App\Models\Event');
}
}

View File

@ -1,17 +1,18 @@
<?php namespace App\Models;
<?php
namespace App\Models;
/*
Attendize.com - Event Management & Ticketing
*/
/**
* Description of DateFormat
* Description of DateFormat.
*
* @author Dave
*/
class DateFormat extends \Illuminate\Database\Eloquent\Model {
class DateFormat extends \Illuminate\Database\Eloquent\Model
{
public $timestamps = false;
protected $softDelete = false;
}

View File

@ -1,16 +1,18 @@
<?php namespace App\Models;
<?php
namespace App\Models;
/*
Attendize.com - Event Management & Ticketing
*/
/**
* Description of DateTimeFormat
* Description of DateTimeFormat.
*
* @author Dave
*/
class DateTimeFormat extends \Illuminate\Database\Eloquent\Model {
class DateTimeFormat extends \Illuminate\Database\Eloquent\Model
{
protected $table = 'datetime_formats';
public $timestamps = false;

View File

@ -1,14 +1,17 @@
<?php namespace App\Models;
<?php
namespace App\Models;
/*
Attendize.com - Event Management & Ticketing
*/
/**
* Description of DiscountCode
* Description of DiscountCode.
*
* @author Dave
*/
class DiscountCode extends \Illuminate\Database\Eloquent\Model {
class DiscountCode extends \Illuminate\Database\Eloquent\Model
{
//put your code here
}

View File

@ -1,72 +1,87 @@
<?php namespace App\Models;
<?php
namespace App\Models;
use Carbon\Carbon;
use Str, URL;
use Illuminate\Database\Eloquent\SoftDeletes;
use Str;
use URL;
class Event extends MyBaseModel {
class Event extends MyBaseModel
{
use SoftDeletes;
protected $rules = array(
'title' => array('required'),
'description' => array('required'),
'location_venue_name' => array('required_without:venue_name_full'),
'venue_name_full' => array('required_without:location_venue_name'),
'start_date' => array('required'),
'end_date' => array('required'),
'organiser_name' => array('required_without:organiser_id'),
'event_image' => ['mimes:jpeg,jpg,png', 'max:3000']
);
protected $messages = array(
protected $rules = [
'title' => ['required'],
'description' => ['required'],
'location_venue_name' => ['required_without:venue_name_full'],
'venue_name_full' => ['required_without:location_venue_name'],
'start_date' => ['required'],
'end_date' => ['required'],
'organiser_name' => ['required_without:organiser_id'],
'event_image' => ['mimes:jpeg,jpg,png', 'max:3000'],
];
protected $messages = [
'title.required' => 'You must at least give a title for your event.',
'organiser_name.required_without' => 'Please create an organiser or select an existing organiser.',
'event_image.mimes' => 'Please ensure you are uploading an image (JPG, PNG, JPEG)',
'event_image.max' => 'Pleae ensure the image is not larger then 3MB',
'location_venue_name.required_without' => 'Please enter a venue for your event',
'venue_name_full.required_without' => 'Please enter a venue for your event'
);
'venue_name_full.required_without' => 'Please enter a venue for your event',
];
public function questions() {
public function questions()
{
return $this->belongsToMany('\App\Models\Question', 'event_question');
}
public function attendees() {
public function attendees()
{
return $this->hasMany('\App\Models\Attendee');
}
public function images() {
public function images()
{
return $this->hasMany('\App\Models\EventImage');
}
public function messages() {
public function messages()
{
return $this->hasMany('\App\Models\Message')->orderBy('created_at', 'DESC');
}
public function tickets() {
public function tickets()
{
return $this->hasMany('\App\Models\Ticket');
}
public function stats() {
public function stats()
{
return $this->hasMany('\App\Models\EventStats');
}
public function affiliates() {
public function affiliates()
{
return $this->hasMany('\App\Models\Affiliate');
}
public function orders() {
public function orders()
{
return $this->hasMany('\App\Models\Order');
}
public function account() {
public function account()
{
return $this->belongsTo('\App\Models\Account');
}
public function currency() {
public function currency()
{
return $this->belongsTo('\App\Models\Currency');
}
public function organiser() {
public function organiser()
{
return $this->belongsTo('\App\Models\Organiser');
}
@ -74,29 +89,38 @@ class Event extends MyBaseModel {
* Getters & Setters
*/
public function getEmbedUrlAttribute() {
public function getEmbedUrlAttribute()
{
return str_replace(['http:', 'https:'], '', route('showEmbeddedEventPage', ['event' => $this->id]));
}
public function getFixedFeeAttribute() {
public function getFixedFeeAttribute()
{
return config('attendize.ticket_booking_fee_fixed') + $this->organiser_fee_fixed;
}
public function getPercentageFeeAttribute() {
public function getPercentageFeeAttribute()
{
return config('attendize.ticket_booking_fee_percentage') + $this->organiser_fee_percentage;
}
public function getHappeningNowAttribute() {
public function getHappeningNowAttribute()
{
return Carbon::now()->between($this->start_date, $this->end_date);
}
public function getCurrencySymbolAttribute() {
public function getCurrencySymbolAttribute()
{
return $this->currency->symbol_left;
}
public function getCurrencyCodeAttribute() {
public function getCurrencyCodeAttribute()
{
return $this->currency->code;
}
public function getEmbedHtmlCodeAttribute () {
public function getEmbedHtmlCodeAttribute()
{
return "<!--Attendize.com Ticketing Embed Code-->
<iframe style='overflow:hidden; min-height: 350px;' frameBorder='0' seamless='seamless' width='100%' height='100%' src='".$this->embed_url."' vspace='0' hspace='0' scrolling='auto' allowtransparency='true'></iframe>
<!--/Attendize.com Ticketing Embed Code-->";
@ -105,8 +129,8 @@ class Event extends MyBaseModel {
/*
* Get a usable address for embedding Google Maps
*/
public function getMapAddressAttribute() {
public function getMapAddressAttribute()
{
$string = $this->venue.','
.$this->location_street_number.','
.$this->location_address_line_1.','
@ -116,24 +140,25 @@ class Event extends MyBaseModel {
.$this->location_country;
return urlencode($string);
}
public function getBgImageUrlAttribute() {
public function getBgImageUrlAttribute()
{
return URL::to('/').'/'.$this->bg_image_path;
}
public function getEventUrlAttribute() {
public function getEventUrlAttribute()
{
return URL::to('/').'/e/'.$this->id.'/'.Str::slug($this->title);
}
public function getSalesAndFeesVoulmeAttribute() {
public function getSalesAndFeesVoulmeAttribute()
{
return $this->sales_volume + $this->organiser_fees_volume;
}
public function getDates() {
return array('created_at', 'updated_at', 'start_date', 'end_date');
public function getDates()
{
return ['created_at', 'updated_at', 'start_date', 'end_date'];
}
}

View File

@ -1,15 +1,16 @@
<?php namespace App\Models;
<?php
namespace App\Models;
/*
Attendize.com - Event Management & Ticketing
*/
/**
* Description of EventImage
* Description of EventImage.
*
* @author Dave
*/
class EventImage extends MyBaseModel {
class EventImage extends MyBaseModel
{
}

View File

@ -1,29 +1,30 @@
<?php namespace App\Models;
<?php
use DB, Cookie;
use App\Models\Ticket;
namespace App\Models;
class EventStats extends \Illuminate\Database\Eloquent\Model {
use Cookie;
use DB;
class EventStats extends \Illuminate\Database\Eloquent\Model
{
public $timestamps = false;
public static $unguarded = true;
/**
*
* @todo This shouldn't be in a view.
*
*/
/**
* Update the amount of revenue a ticket has earned
* Update the amount of revenue a ticket has earned.
*
* @param int $ticket_id
* @param float $amount
* @param bool $deduct
*
* @return bool
*/
public function updateTicketRevenue($ticket_id, $amount, $deduct = FALSE) {
public function updateTicketRevenue($ticket_id, $amount, $deduct = false)
{
$ticket = Ticket::find($ticket_id);
if ($deduct) {
@ -35,11 +36,11 @@ class EventStats extends \Illuminate\Database\Eloquent\Model {
return $ticket->save();
}
public function updateViewCount($event_id) {
public function updateViewCount($event_id)
{
$stats = $this->firstOrNew([
'event_id' => $event_id,
'date' => DB::raw('CURDATE()')
'date' => DB::raw('CURDATE()'),
]);
$cookie_name = 'visitTrack_'.$event_id.'_'.date('dmy');
@ -57,10 +58,11 @@ class EventStats extends \Illuminate\Database\Eloquent\Model {
/*
* TODO: Missing amount?
*/
public function updateSalesVolume($event_id) {
public function updateSalesVolume($event_id)
{
$stats = $this->firstOrNew([
'event_id' => $event_id,
'date' => DB::raw('CURDATE()')
'date' => DB::raw('CURDATE()'),
]);
$stats->sales_volume = $stats->sales_volume + $amount;
@ -68,17 +70,15 @@ class EventStats extends \Illuminate\Database\Eloquent\Model {
return $stats->save();
}
public function updateTicketsSoldCount($event_id, $count) {
public function updateTicketsSoldCount($event_id, $count)
{
$stats = $this->firstOrNew([
'event_id' => $event_id,
'date' => DB::raw('CURDATE()')
'date' => DB::raw('CURDATE()'),
]);
$stats->increment('tickets_sold', $count);
return $stats->save();
}
}

View File

@ -1,31 +1,36 @@
<?php namespace App\Models;
<?php
namespace App\Models;
/*
Attendize.com - Event Management & Ticketing
*/
/**
* Description of Message
* Description of Message.
*
* @author Dave
*/
class Message extends MyBaseModel {
public function event() {
class Message extends MyBaseModel
{
public function event()
{
return $this->belongsTo('\App\Models\Event');
}
public function getRecipientsLabelAttribute() {
public function getRecipientsLabelAttribute()
{
if ($this->recipients == 0) {
return 'All Attendees';
}
$ticket = Ticket::scope()->find($this->recipients);
return 'Ticket: '.$ticket->title;
}
public function getDates() {
return array('created_at', 'updated_at', 'sent_at');
public function getDates()
{
return ['created_at', 'updated_at', 'sent_at'];
}
}

View File

@ -2,26 +2,28 @@
namespace App\Models;
use Auth,
Validator;
use Auth;
use Validator;
/*
* Adapted from: https://github.com/hillelcoren/invoice-ninja/blob/master/app/models/EntityModel.php
*/
class MyBaseModel extends \Illuminate\Database\Eloquent\Model {
class MyBaseModel extends \Illuminate\Database\Eloquent\Model
{
protected $softDelete = true;
public $timestamps = true;
protected $rules = array();
protected $messages = array();
protected $rules = [];
protected $messages = [];
protected $errors;
public function validate($data) {
public function validate($data)
{
$v = Validator::make($data, $this->rules, $this->messages);
if ($v->fails()) {
$this->errors = $v->messages();
return false;
}
@ -29,30 +31,30 @@ class MyBaseModel extends \Illuminate\Database\Eloquent\Model {
return true;
}
public function errors($returnArray = TRUE) {
public function errors($returnArray = true)
{
return $returnArray ? $this->errors->toArray() : $this->errors;
}
/**
*
* @param int $account_id
* @param int $user_id
* @param bool $ignore_user_id
*
* @return \className
*/
public static function createNew($account_id = FALSE, $user_id = FALSE, $ignore_user_id = FALSE) {
public static function createNew($account_id = false, $user_id = false, $ignore_user_id = false)
{
$className = get_called_class();
$entity = new $className();
if (Auth::check()) {
if (!$ignore_user_id) {
$entity->user_id = Auth::user()->id;
}
$entity->account_id = Auth::user()->account_id;
} elseif ($account_id || $user_id) {
if ($user_id && !$ignore_user_id) {
$entity->user_id = $user_id;
}
@ -65,15 +67,16 @@ class MyBaseModel extends \Illuminate\Database\Eloquent\Model {
return $entity;
}
public function getFormatedDate($field, $format = 'd-m-Y H:i') {
return $this->$field === NULL ? NULL : date($format, strtotime($this->$field));
public function getFormatedDate($field, $format = 'd-m-Y H:i')
{
return $this->$field === null ? null : date($format, strtotime($this->$field));
}
/**
*
* @param int $accountId
*/
public function scopeScope($query, $accountId = false) {
public function scopeScope($query, $accountId = false)
{
/*
* GOD MODE - DON'T UNCOMMENT!
@ -82,7 +85,6 @@ class MyBaseModel extends \Illuminate\Database\Eloquent\Model {
* //return $query;
*/
if (!$accountId) {
$accountId = Auth::user()->account_id;
}
@ -95,5 +97,4 @@ class MyBaseModel extends \Illuminate\Database\Eloquent\Model {
return $query;
}
}

View File

@ -2,12 +2,12 @@
namespace App\Models;
use File;
use Illuminate\Database\Eloquent\SoftDeletes;
use PDF;
use File;
class Order extends MyBaseModel {
class Order extends MyBaseModel
{
use SoftDeletes;
public $rules = [
@ -21,55 +21,65 @@ class Order extends MyBaseModel {
'order_email.email' => 'Please enter a valid email',
];
public function orderItems() {
public function orderItems()
{
return $this->hasMany('\App\Models\OrderItem');
}
public function attendees() {
public function attendees()
{
return $this->hasMany('\App\Models\Attendee');
}
public function account() {
public function account()
{
return $this->belongsTo('\App\Models\Account');
}
public function event() {
public function event()
{
return $this->belongsTo('\App\Models\Event');
}
public function tickets() {
public function tickets()
{
return $this->hasMany('\App\Models\Ticket');
}
public function orderStatus() {
public function orderStatus()
{
return $this->belongsTo('\App\Models\OrderStatus');
}
public function getOrganiserAmountAttribute() {
public function getOrganiserAmountAttribute()
{
return $this->amount + $this->organiser_booking_fee;
}
public function getTotalAmountAttribute() {
public function getTotalAmountAttribute()
{
return $this->amount + $this->organiser_booking_fee + $this->booking_fee;
}
public function getFullNameAttribute() {
public function getFullNameAttribute()
{
return $this->first_name.' '.$this->last_name;
}
/**
* Generate and save the PDF tickets
* Generate and save the PDF tickets.
*
* @todo Move this from the order model
* @return boolean
*
* @return bool
*/
public function generatePdfTickets() {
public function generatePdfTickets()
{
$data = [
'order' => $this,
'event' => $this->event,
'tickets' => $this->event->tickets,
'attendees' => $this->attendees
'attendees' => $this->attendees,
];
$pdf_file_path = public_path(config('attendize.event_pdf_tickets_path')).'/'.$this->order_reference;
@ -92,12 +102,12 @@ class Order extends MyBaseModel {
return file_exists($pdf_file);
}
public static function boot() {
public static function boot()
{
parent::boot();
static::creating(function ($order) {
$order->order_reference = strtoupper(str_random(5)).date('jn');
});
}
}

View File

@ -1,15 +1,17 @@
<?php namespace App\Models;
<?php
namespace App\Models;
/*
Attendize.com - Event Management & Ticketing
*/
/**
* Description of OrderItems
* Description of OrderItems.
*
* @author Dave
*/
class OrderItem extends MyBaseModel {
class OrderItem extends MyBaseModel
{
public $timestamps = false;
}

View File

@ -1,15 +1,16 @@
<?php namespace App\Models;
<?php
namespace App\Models;
/*
Attendize.com - Event Management & Ticketing
*/
/**
* Description of OrderStatus
* Description of OrderStatus.
*
* @author Dave
*/
class OrderStatus extends \Illuminate\Database\Eloquent\Model {
class OrderStatus extends \Illuminate\Database\Eloquent\Model
{
}

View File

@ -1,30 +1,35 @@
<?php namespace App\Models;
<?php
namespace App\Models;
use Str;
class Organiser extends MyBaseModel {
protected $rules = array(
'name' => array('required'),
'email' => array('required', 'email'),
'organiser_logo' => ['mimes:jpeg,jpg,png', 'max:10000']
);
protected $messages = array(
class Organiser extends MyBaseModel
{
protected $rules = [
'name' => ['required'],
'email' => ['required', 'email'],
'organiser_logo' => ['mimes:jpeg,jpg,png', 'max:10000'],
];
protected $messages = [
'name.required' => 'You must at least give a name for the event organiser.',
'organiser_logo.max' => 'Please upload an image smaller than 10Mb',
'organiser_logo.size' => 'Please upload an image smaller than 10Mb',
'organiser_logo.mimes' => 'Please select a valid image type (jpeg, jpg, png)'
);
'organiser_logo.mimes' => 'Please select a valid image type (jpeg, jpg, png)',
];
public function events() {
public function events()
{
return $this->hasMany('\App\Models\Event');
}
public function attendees() {
public function attendees()
{
return $this->hasManyThrough('\App\Models\Attendee', '\App\Models\Event');
}
public function getFullLogoPathAttribute() {
public function getFullLogoPathAttribute()
{
if ($this->logo_path && (file_exists(config('attendize.cdn_url_user_assets').'/'.$this->logo_path) || file_exists(public_path($this->logo_path)))) {
return config('attendize.cdn_url_user_assets').'/'.$this->logo_path;
}
@ -32,24 +37,20 @@ class Organiser extends MyBaseModel {
return config('attendize.fallback_organiser_logo_url');
}
public function getOrganiserUrlAttribute() {
public function getOrganiserUrlAttribute()
{
return route('showOrganiserHome', [
'organiser_id' => $this->id,
'organiser_slug' => Str::slug($this->oraganiser_name)
'organiser_slug' => Str::slug($this->oraganiser_name),
]);
}
public function getOrganiserSalesVolumeAttribute() {
public function getOrganiserSalesVolumeAttribute()
{
return $this->events->sum('sales_volume');
}
public function getDailyStats() {
public function getDailyStats()
{
}
}

View File

@ -1,14 +1,17 @@
<?php namespace App\Models;
<?php
namespace App\Models;
/*
Attendize.com - Event Management & Ticketing
*/
/**
* Description of PaymentGateway
* Description of PaymentGateway.
*
* @author Dave
*/
class PaymentGateway extends \Illuminate\Database\Eloquent\Model {
class PaymentGateway extends \Illuminate\Database\Eloquent\Model
{
//put your code here
}

View File

@ -1,22 +1,25 @@
<?php namespace App\Models;
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\SoftDeletes;
/**
* Description of Questions
* Description of Questions.
*
* @author Dave
*/
class Question extends MyBaseModel {
class Question extends MyBaseModel
{
use SoftDeletes;
public function events() {
public function events()
{
return $this->belongsToMany('\App\Models\Event');
}
public function question_types() {
public function question_types()
{
return $this->hasOne('\App\Models\QuestionType');
}
}

View File

@ -1,7 +1,7 @@
<?php namespace App\Models;
class QuestionType extends \Illuminate\Database\Eloquent\Model {
<?php
namespace App\Models;
class QuestionType extends \Illuminate\Database\Eloquent\Model
{
}

View File

@ -1,16 +1,16 @@
<?php namespace App\Models;
<?php
namespace App\Models;
/*
Attendize.com - Event Management & Ticketing
*/
/**
* Description of ReservedTickets
* Description of ReservedTickets.
*
* @author Dave
*/
class ReservedTickets extends \Illuminate\Database\Eloquent\Model {
class ReservedTickets extends \Illuminate\Database\Eloquent\Model
{
}

View File

@ -1,41 +1,47 @@
<?php namespace App\Models;
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\SoftDeletes;
class Ticket extends MyBaseModel {
class Ticket extends MyBaseModel
{
use SoftDeletes;
public $rules = [
'title' => array('required'),
'price' => array('required', 'numeric', 'min:0'),
'start_sale_date' => array('date'),
'end_sale_date' => array('date', 'after:start_sale_date'),
'quantity_available' => ['integer', 'min:0']
'title' => ['required'],
'price' => ['required', 'numeric', 'min:0'],
'start_sale_date' => ['date'],
'end_sale_date' => ['date', 'after:start_sale_date'],
'quantity_available' => ['integer', 'min:0'],
];
public $messages = [
'price.numeric' => 'The price must be a valid number (e.g 12.50)',
'title.required' => 'You must at least give a title for your ticket. (e.g Early Bird)',
'quantity_available.integer' => 'Please ensure the quantity available is a number.'
'quantity_available.integer' => 'Please ensure the quantity available is a number.',
];
public function event() {
public function event()
{
return $this->belongsTo('\App\Models\Event');
}
public function order() {
public function order()
{
return $this->belongsToMany('\App\Models\Order');
}
public function questions() {
public function questions()
{
return $this->belongsToMany('\App\Models\Question', 'ticket_question');
}
public function reserved() {
public function reserved()
{
}
public function scopeSoldOut($query) {
public function scopeSoldOut($query)
{
$query->where('remaining_tickets', '=', 0);
}
@ -43,12 +49,13 @@ class Ticket extends MyBaseModel {
* Getters & Setters
*/
public function getDates() {
return array('created_at', 'updated_at', 'start_sale_date', 'end_sale_date');
public function getDates()
{
return ['created_at', 'updated_at', 'start_sale_date', 'end_sale_date'];
}
public function getQuantityRemainingAttribute() {
public function getQuantityRemainingAttribute()
{
if (is_null($this->quantity_available)) {
return 9999; //Better way to do this?
}
@ -56,35 +63,38 @@ class Ticket extends MyBaseModel {
return $this->quantity_available - ($this->quantity_sold + $this->quantity_reserved);
}
public function getQuantityReservedAttribute() {
public function getQuantityReservedAttribute()
{
$reserved_total = \DB::table('reserved_tickets')
->where('ticket_id', $this->id)
->where('expires', '>', \Carbon::now())
->sum('quantity_reserved');
return $reserved_total;
}
public function getBookingFeeAttribute () {
public function getBookingFeeAttribute()
{
return (int) ceil($this->price) === 0 ? 0 : round(($this->price * (config('attendize.ticket_booking_fee_percentage') / 100)) + (config('attendize.ticket_booking_fee_fixed')), 2);
}
public function getOrganiserBookingFeeAttribute() {
public function getOrganiserBookingFeeAttribute()
{
return (int) ceil($this->price) === 0 ? 0 : round(($this->price * ($this->event->organiser_fee_percentage / 100)) + ($this->event->organiser_fee_fixed), 2);
}
public function getTotalBookingFeeAttribute() {
public function getTotalBookingFeeAttribute()
{
return $this->getBookingFeeAttribute() + $this->getOrganiserBookingFeeAttribute();
}
public function getTotalPriceAttribute() {
public function getTotalPriceAttribute()
{
return $this->getTotalBookingFeeAttribute() + $this->price;
}
public function getTicketMaxMinRangAttribute() {
public function getTicketMaxMinRangAttribute()
{
$range = [];
for ($i = $this->min_per_person; $i <= $this->max_per_person; $i++) {
@ -94,31 +104,25 @@ class Ticket extends MyBaseModel {
return $range;
}
public function isFree() {
public function isFree()
{
return (int) ceil($this->price) === 0;
}
/**
* Return the maximum figure to go to on dropdowns
* Return the maximum figure to go to on dropdowns.
*
* @return int
public function getMaxPerPersonMaxValueAttribute() {
return $this->max_per_person === -1 ? config('attendize.max_tickets_per_person') : $this->max_per_person;
}
*/
public function getSaleStatusAttribute() {
if ($this->start_sale_date !== NULL) {
public function getSaleStatusAttribute()
{
if ($this->start_sale_date !== null) {
if ($this->start_sale_date->isFuture()) {
return config('attendize.ticket_status_before_sale_date');
}
}
if ($this->end_sale_date !== NULL) {
if ($this->end_sale_date !== null) {
if ($this->end_sale_date->isPast()) {
return config('attendize.ticket_status_after_sale_date');
}
@ -137,11 +141,6 @@ class Ticket extends MyBaseModel {
return config('attendize.ticket_status_on_sale');
}
// public function setQuantityAvailableAttribute($value) {
// $this->attributes['quantity_available'] = trim($value) == '' ? -1 : $value;
// }
@ -149,5 +148,4 @@ class Ticket extends MyBaseModel {
// public function setMaxPerPersonAttribute($value) {
// $this->attributes['max_per_person'] = trim($value) == '' ? -1 : $value;
// }
}

View File

@ -1,14 +1,17 @@
<?php namespace App\Models;
<?php
namespace App\Models;
/*
Attendize.com - Event Management & Ticketing
*/
/**
* Description of TicketStatuses
* Description of TicketStatuses.
*
* @author Dave
*/
class TicketStatus extends \Illuminate\Database\Eloquent\Model {
class TicketStatus extends \Illuminate\Database\Eloquent\Model
{
//put your code here
}

View File

@ -1,17 +1,18 @@
<?php namespace App\Models;
<?php
use Illuminate\Database\Eloquent\SoftDeletingTrait;
namespace App\Models;
/*
Attendize.com - Event Management & Ticketing
*/
/**
* Description of Timezone
* Description of Timezone.
*
* @author Dave
*/
class Timezone extends \Illuminate\Database\Eloquent\Model {
class Timezone extends \Illuminate\Database\Eloquent\Model
{
public $timestamps = false;
protected $softDelete = false;
}

View File

@ -1,15 +1,16 @@
<?php namespace App\Models;
<?php
namespace App\Models;
use Illuminate\Auth\Authenticatable;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Auth\Passwords\CanResetPassword;
use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract;
use Illuminate\Contracts\Auth\CanResetPassword as CanResetPasswordContract;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
class User extends Model implements AuthenticatableContract, CanResetPasswordContract {
class User extends Model implements AuthenticatableContract, CanResetPasswordContract
{
use Authenticatable, CanResetPassword, SoftDeletes;
/**
@ -24,13 +25,15 @@ class User extends Model implements AuthenticatableContract, CanResetPasswordCon
*
* @var array
*/
protected $hidden = array('password');
protected $hidden = ['password'];
public function account() {
public function account()
{
return $this->belongsTo('\App\Models\Account');
}
public function activity() {
public function activity()
{
return $this->hasMany('\App\Models\Activity');
}
@ -39,7 +42,8 @@ class User extends Model implements AuthenticatableContract, CanResetPasswordCon
*
* @return mixed
*/
public function getAuthIdentifier() {
public function getAuthIdentifier()
{
return $this->getKey();
}
@ -48,7 +52,8 @@ class User extends Model implements AuthenticatableContract, CanResetPasswordCon
*
* @return string
*/
public function getAuthPassword() {
public function getAuthPassword()
{
return $this->password;
}
@ -57,28 +62,32 @@ class User extends Model implements AuthenticatableContract, CanResetPasswordCon
*
* @return string
*/
public function getReminderEmail() {
public function getReminderEmail()
{
return $this->email;
}
public function getRememberToken() {
public function getRememberToken()
{
return $this->remember_token;
}
public function setRememberToken($value) {
public function setRememberToken($value)
{
$this->remember_token = $value;
}
public function getRememberTokenName() {
public function getRememberTokenName()
{
return 'remember_token';
}
public static function boot() {
public static function boot()
{
parent::boot();
static::creating(function ($user) {
$user->confirmation_code = str_random();
});
}
}

View File

@ -3,19 +3,16 @@
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use Request;
use App\Models\Organiser;
use Auth;
class AppServiceProvider extends ServiceProvider {
class AppServiceProvider extends ServiceProvider
{
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot() {
public function boot()
{
require app_path('Attendize/constants.php');
}
@ -28,15 +25,10 @@ class AppServiceProvider extends ServiceProvider {
*
* @return void
*/
public function register() {
public function register()
{
$this->app->bind(
'Illuminate\Contracts\Auth\Registrar', 'App\Services\Registrar'
);
}
}

View File

@ -1,20 +1,22 @@
<?php namespace App\Providers;
<?php
namespace App\Providers;
use Illuminate\Bus\Dispatcher;
use Illuminate\Support\ServiceProvider;
class BusServiceProvider extends ServiceProvider {
class BusServiceProvider extends ServiceProvider
{
/**
* Bootstrap any application services.
*
* @param \Illuminate\Bus\Dispatcher $dispatcher
*
* @return void
*/
public function boot(Dispatcher $dispatcher)
{
$dispatcher->mapUsing(function($command)
{
$dispatcher->mapUsing(function ($command) {
return Dispatcher::simpleMapping(
$command, 'App\Commands', 'App\Handlers\Commands'
);
@ -30,5 +32,4 @@ class BusServiceProvider extends ServiceProvider {
{
//
}
}

View File

@ -1,9 +1,11 @@
<?php namespace App\Providers;
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
class ConfigServiceProvider extends ServiceProvider {
class ConfigServiceProvider extends ServiceProvider
{
/**
* Overwrite any vendor / package configuration.
*
@ -19,5 +21,4 @@ class ConfigServiceProvider extends ServiceProvider {
//
]);
}
}

View File

@ -1,10 +1,12 @@
<?php namespace App\Providers;
<?php
namespace App\Providers;
use Illuminate\Contracts\Events\Dispatcher as DispatcherContract;
use Illuminate\Foundation\Support\Providers\EventServiceProvider as ServiceProvider;
class EventServiceProvider extends ServiceProvider {
class EventServiceProvider extends ServiceProvider
{
/**
* The event handler mappings for the application.
*
@ -20,6 +22,7 @@ class EventServiceProvider extends ServiceProvider {
* Register any other events for your application.
*
* @param \Illuminate\Contracts\Events\Dispatcher $events
*
* @return void
*/
public function boot(DispatcherContract $events)
@ -28,5 +31,4 @@ class EventServiceProvider extends ServiceProvider {
//
}
}

View File

@ -1,9 +1,11 @@
<?php namespace App\Providers;
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
class HelpersServiceProvider extends ServiceProvider {
class HelpersServiceProvider extends ServiceProvider
{
/**
* Bootstrap the application services.
*
@ -22,7 +24,5 @@ class HelpersServiceProvider extends ServiceProvider {
*/
public function register()
{
}
}

View File

@ -1,10 +1,12 @@
<?php namespace App\Providers;
<?php
namespace App\Providers;
use Illuminate\Routing\Router;
use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider;
use Illuminate\Routing\Router;
class RouteServiceProvider extends ServiceProvider {
class RouteServiceProvider extends ServiceProvider
{
/**
* This namespace is applied to the controller routes in your routes file.
*
@ -18,6 +20,7 @@ class RouteServiceProvider extends ServiceProvider {
* Define your route model bindings, pattern filters, etc.
*
* @param \Illuminate\Routing\Router $router
*
* @return void
*/
public function boot(Router $router)
@ -31,14 +34,13 @@ class RouteServiceProvider extends ServiceProvider {
* Define the routes for the application.
*
* @param \Illuminate\Routing\Router $router
*
* @return void
*/
public function map(Router $router)
{
$router->group(['namespace' => $this->namespace], function($router)
{
$router->group(['namespace' => $this->namespace], function ($router) {
require app_path('Http/routes.php');
});
}
}

View File

@ -1,15 +1,18 @@
<?php namespace App\Services;
<?php
namespace App\Services;
use App\User;
use Validator;
use Illuminate\Contracts\Auth\Registrar as RegistrarContract;
use Validator;
class Registrar implements RegistrarContract {
class Registrar implements RegistrarContract
{
/**
* Get a validator for an incoming registration request.
*
* @param array $data
*
* @return \Illuminate\Contracts\Validation\Validator
*/
public function validator(array $data)
@ -25,6 +28,7 @@ class Registrar implements RegistrarContract {
* Create a new user instance after a valid registration.
*
* @param array $data
*
* @return User
*/
public function create(array $data)
@ -35,5 +39,4 @@ class Registrar implements RegistrarContract {
'password' => bcrypt($data['password']),
]);
}
}

View File

@ -29,7 +29,6 @@ require __DIR__.'/../vendor/autoload.php';
$compiledPath = __DIR__.'/cache/compiled.php';
if (file_exists($compiledPath))
{
if (file_exists($compiledPath)) {
require $compiledPath;
}

View File

@ -1,9 +1,9 @@
<?php
return array(
return [
'debug' => false,
'binpath' => 'lib/',
'binfile' => 'wkhtmltopdf-amd64',
'output_mode' => 'I'
);
'output_mode' => 'I',
];

View File

@ -141,8 +141,6 @@ return [
'App\Providers\RouteServiceProvider',
'App\Providers\HelpersServiceProvider',
],
/*
|--------------------------------------------------------------------------

View File

@ -17,8 +17,8 @@ return [
'fallback_organiser_logo_url' => '/assets/images/logo-100x100-lightBg.png',
'cdn_url' => '',
'max_tickets_per_person' => 30, #Depreciated
'checkout_timeout_after' => 8, #mintutes
'max_tickets_per_person' => 30, //Depreciated
'checkout_timeout_after' => 8, //mintutes
'ticket_status_sold_out' => 1,
'ticket_status_after_sale_date' => 2,
@ -34,14 +34,14 @@ return [
'order_partially_refunded' => 3,
'order_cancelled' => 4,
'default_timezone' => 30, #Europe/Dublin
'default_currency' => 2, #Euro
'default_timezone' => 30, //Europe/Dublin
'default_currency' => 2, //Euro
'default_date_format' => 'j M, Y',
'default_date_picker_format' => 'd M, yyyy',
'default_datetime_format' => 'F j, Y, g:i a',
'default_query_cache' => 120, #Minutes
'default_query_cache' => 120, //Minutes
'default_locale' => 'en',
'cdn_url_user_assets' => '',
'cdn_url_static_assets' => ''
'cdn_url_static_assets' => '',
];

View File

@ -1,5 +1,5 @@
<?php
return [
'store_path' => public_path("/"),
'store_path' => public_path('/'),
];

View File

@ -29,11 +29,11 @@ return [
'stores' => [
'apc' => [
'driver' => 'apc'
'driver' => 'apc',
],
'array' => [
'driver' => 'array'
'driver' => 'array',
],
'database' => [
@ -51,7 +51,7 @@ return [
'driver' => 'memcached',
'servers' => [
[
'host' => '127.0.0.1', 'port' => 11211, 'weight' => 100
'host' => '127.0.0.1', 'port' => 11211, 'weight' => 100,
],
],
],

View File

@ -1,6 +1,6 @@
<?php
return array(
return [
/*
|--------------------------------------------------------------------------
@ -26,12 +26,12 @@ return array(
| can also be used. For PDO, run the package migrations first.
|
*/
'storage' => array(
'storage' => [
'enabled' => true,
'driver' => 'file', // redis, file, pdo
'path' => storage_path().'/debugbar', // For file driver
'connection' => null, // Leave null for default connection (Redis/PDO)
),
],
/*
|--------------------------------------------------------------------------
@ -70,7 +70,7 @@ return array(
|
*/
'collectors' => array(
'collectors' => [
'phpinfo' => true, // Php version
'messages' => true, // Messages
'time' => true, // Time Datalogger
@ -90,7 +90,7 @@ return array(
'config' => false, // Display config settings
'auth' => false, // Display Laravel authentication status
'session' => false, // Display session data in a separate tab
),
],
/*
|--------------------------------------------------------------------------
@ -101,33 +101,33 @@ return array(
|
*/
'options' => array(
'auth' => array(
'options' => [
'auth' => [
'show_name' => false, // Also show the users name/email in the debugbar
),
'db' => array(
],
'db' => [
'with_params' => true, // Render SQL with the parameters substituted
'timeline' => false, // Add the queries to the timeline
'backtrace' => false, // EXPERIMENTAL: Use a backtrace to find the origin of the query in your files.
'explain' => array( // EXPERIMENTAL: Show EXPLAIN output on queries
'explain' => [ // EXPERIMENTAL: Show EXPLAIN output on queries
'enabled' => false,
'types' => array('SELECT'), // array('SELECT', 'INSERT', 'UPDATE', 'DELETE'); for MySQL 5.6.3+
),
'types' => ['SELECT'], // array('SELECT', 'INSERT', 'UPDATE', 'DELETE'); for MySQL 5.6.3+
],
'hints' => true, // Show hints for common mistakes
),
'mail' => array(
'full_log' => false
),
'views' => array(
],
'mail' => [
'full_log' => false,
],
'views' => [
'data' => false, //Note: Can slow down the application, because the data can be quite large..
),
'route' => array(
'label' => true // show complete route on bar
),
'logs' => array(
'file' => null
),
),
],
'route' => [
'label' => true, // show complete route on bar
],
'logs' => [
'file' => null,
],
],
/*
|--------------------------------------------------------------------------
@ -142,4 +142,4 @@ return array(
'inject' => true,
);
];

View File

@ -1,8 +1,8 @@
<?php
return array(
return [
'cache' => array(
'cache' => [
/*
|--------------------------------------------------------------------------
@ -29,24 +29,24 @@ return array(
| Cache settings
|--------------------------------------------------------------------------
*/
'settings' => array(
'settings' => [
'memoryCacheSize' => '32MB',
'cacheTime' => 600
'cacheTime' => 600,
),
],
/*
|--------------------------------------------------------------------------
| Memcache settings
|--------------------------------------------------------------------------
*/
'memcache' => array(
'memcache' => [
'host' => 'localhost',
'port' => 11211,
),
],
/*
|--------------------------------------------------------------------------
@ -54,10 +54,10 @@ return array(
|--------------------------------------------------------------------------
*/
'dir' => storage_path('cache')
),
'dir' => storage_path('cache'),
],
'properties' => array(
'properties' => [
'creator' => 'Maatwebsite',
'lastModifiedBy' => 'Maatwebsite',
'title' => 'Spreadsheet',
@ -67,35 +67,35 @@ return array(
'category' => 'Excel',
'manager' => 'Maatwebsite',
'company' => 'Maatwebsite',
),
],
/*
|--------------------------------------------------------------------------
| Sheets settings
|--------------------------------------------------------------------------
*/
'sheets' => array(
'sheets' => [
/*
|--------------------------------------------------------------------------
| Default page setup
|--------------------------------------------------------------------------
*/
'pageSetup' => array(
'pageSetup' => [
'orientation' => 'portrait',
'paperSize' => '9',
'scale' => '100',
'fitToPage' => false,
'fitToHeight' => true,
'fitToWidth' => true,
'columnsToRepeatAtLeft' => array('', ''),
'rowsToRepeatAtTop' => array(0, 0),
'columnsToRepeatAtLeft' => ['', ''],
'rowsToRepeatAtTop' => [0, 0],
'horizontalCentered' => false,
'verticalCentered' => false,
'printArea' => null,
'firstPageNumber' => null,
),
),
],
],
/*
|--------------------------------------------------------------------------
@ -108,7 +108,7 @@ return array(
'creator' => 'Maatwebsite',
'csv' => array(
'csv' => [
/*
|--------------------------------------------------------------------------
| Delimiter
@ -134,10 +134,10 @@ return array(
|--------------------------------------------------------------------------
*/
'line_ending' => "\r\n"
),
'line_ending' => "\r\n",
],
'export' => array(
'export' => [
/*
|--------------------------------------------------------------------------
@ -210,7 +210,7 @@ return array(
| Default sheet settings
|--------------------------------------------------------------------------
*/
'sheets' => array(
'sheets' => [
/*
|--------------------------------------------------------------------------
@ -245,8 +245,8 @@ return array(
| Apply strict comparison when testing for null values in the array
|--------------------------------------------------------------------------
*/
'strictNullComparison' => false
),
'strictNullComparison' => false,
],
/*
|--------------------------------------------------------------------------
@ -254,7 +254,7 @@ return array(
|--------------------------------------------------------------------------
*/
'store' => array(
'store' => [
/*
|--------------------------------------------------------------------------
@ -274,16 +274,16 @@ return array(
| Whether we want to return information about the stored file or not
|
*/
'returnInfo' => false
'returnInfo' => false,
),
],
/*
|--------------------------------------------------------------------------
| PDF Settings
|--------------------------------------------------------------------------
*/
'pdf' => array(
'pdf' => [
/*
|--------------------------------------------------------------------------
@ -298,48 +298,48 @@ return array(
| PDF Driver settings
|--------------------------------------------------------------------------
*/
'drivers' => array(
'drivers' => [
/*
|--------------------------------------------------------------------------
| DomPDF settings
|--------------------------------------------------------------------------
*/
'DomPDF' => array(
'path' => base_path('vendor/dompdf/dompdf/')
),
'DomPDF' => [
'path' => base_path('vendor/dompdf/dompdf/'),
],
/*
|--------------------------------------------------------------------------
| tcPDF settings
|--------------------------------------------------------------------------
*/
'tcPDF' => array(
'path' => base_path('vendor/tecnick.com/tcpdf/')
),
'tcPDF' => [
'path' => base_path('vendor/tecnick.com/tcpdf/'),
],
/*
|--------------------------------------------------------------------------
| mPDF settings
|--------------------------------------------------------------------------
*/
'mPDF' => array(
'path' => base_path('vendor/mpdf/mpdf/')
),
)
)
),
'mPDF' => [
'path' => base_path('vendor/mpdf/mpdf/'),
],
],
],
],
'filters' => array(
'filters' => [
/*
|--------------------------------------------------------------------------
| Register read filters
|--------------------------------------------------------------------------
*/
'registered' => array(
'chunk' => 'Maatwebsite\Excel\Filters\ChunkReadFilter'
),
'registered' => [
'chunk' => 'Maatwebsite\Excel\Filters\ChunkReadFilter',
],
/*
|--------------------------------------------------------------------------
@ -347,10 +347,10 @@ return array(
|--------------------------------------------------------------------------
*/
'enabled' => array()
),
'enabled' => [],
],
'import' => array(
'import' => [
/*
|--------------------------------------------------------------------------
@ -415,12 +415,12 @@ return array(
|--------------------------------------------------------------------------
*/
'encoding' => array(
'encoding' => [
'input' => 'UTF-8',
'output' => 'UTF-8'
'output' => 'UTF-8',
),
],
/*
|--------------------------------------------------------------------------
@ -466,7 +466,7 @@ return array(
|
*/
'dates' => array(
'dates' => [
/*
|--------------------------------------------------------------------------
@ -490,15 +490,15 @@ return array(
| Date columns
|--------------------------------------------------------------------------
*/
'columns' => array()
),
'columns' => [],
],
/*
|--------------------------------------------------------------------------
| Import sheets by config
|--------------------------------------------------------------------------
*/
'sheets' => array(
'sheets' => [
/*
|--------------------------------------------------------------------------
@ -509,16 +509,16 @@ return array(
|
*/
'test' => array(
'test' => [
'firstname' => 'A2'
'firstname' => 'A2',
)
],
)
),
],
],
'views' => array(
'views' => [
/*
|--------------------------------------------------------------------------
@ -529,155 +529,155 @@ return array(
|
*/
'styles' => array(
'styles' => [
/*
|--------------------------------------------------------------------------
| Table headings
|--------------------------------------------------------------------------
*/
'th' => array(
'font' => array(
'th' => [
'font' => [
'bold' => true,
'size' => 12,
)
),
],
],
/*
|--------------------------------------------------------------------------
| Strong tags
|--------------------------------------------------------------------------
*/
'strong' => array(
'font' => array(
'strong' => [
'font' => [
'bold' => true,
'size' => 12,
)
),
],
],
/*
|--------------------------------------------------------------------------
| Bold tags
|--------------------------------------------------------------------------
*/
'b' => array(
'font' => array(
'b' => [
'font' => [
'bold' => true,
'size' => 12,
)
),
],
],
/*
|--------------------------------------------------------------------------
| Italic tags
|--------------------------------------------------------------------------
*/
'i' => array(
'font' => array(
'i' => [
'font' => [
'italic' => true,
'size' => 12,
)
),
],
],
/*
|--------------------------------------------------------------------------
| Heading 1
|--------------------------------------------------------------------------
*/
'h1' => array(
'font' => array(
'h1' => [
'font' => [
'bold' => true,
'size' => 24,
)
),
],
],
/*
|--------------------------------------------------------------------------
| Heading 2
|--------------------------------------------------------------------------
*/
'h2' => array(
'font' => array(
'h2' => [
'font' => [
'bold' => true,
'size' => 18,
)
),
],
],
/*
|--------------------------------------------------------------------------
| Heading 2
|--------------------------------------------------------------------------
*/
'h3' => array(
'font' => array(
'h3' => [
'font' => [
'bold' => true,
'size' => 13.5,
)
),
],
],
/*
|--------------------------------------------------------------------------
| Heading 4
|--------------------------------------------------------------------------
*/
'h4' => array(
'font' => array(
'h4' => [
'font' => [
'bold' => true,
'size' => 12,
)
),
],
],
/*
|--------------------------------------------------------------------------
| Heading 5
|--------------------------------------------------------------------------
*/
'h5' => array(
'font' => array(
'h5' => [
'font' => [
'bold' => true,
'size' => 10,
)
),
],
],
/*
|--------------------------------------------------------------------------
| Heading 6
|--------------------------------------------------------------------------
*/
'h6' => array(
'font' => array(
'h6' => [
'font' => [
'bold' => true,
'size' => 7.5,
)
),
],
],
/*
|--------------------------------------------------------------------------
| Hyperlinks
|--------------------------------------------------------------------------
*/
'a' => array(
'font' => array(
'a' => [
'font' => [
'underline' => true,
'color' => array('argb' => 'FF0000FF'),
)
),
'color' => ['argb' => 'FF0000FF'],
],
],
/*
|--------------------------------------------------------------------------
| Horizontal rules
|--------------------------------------------------------------------------
*/
'hr' => array(
'borders' => array(
'bottom' => array(
'hr' => [
'borders' => [
'bottom' => [
'style' => 'thin',
'color' => array('FF000000')
),
)
)
)
'color' => ['FF000000'],
],
],
],
],
)
],
);
];

View File

@ -1,6 +1,6 @@
<?php
return array(
return [
/*
|--------------------------------------------------------------------------
@ -15,6 +15,6 @@ return array(
|
*/
'driver' => 'gd'
'driver' => 'gd',
);
];

View File

@ -57,7 +57,7 @@ return [
'token' => 'e86QTHwOmEDzqYtti9xAKSgjS7E',
'project' => '535d254120fa16000900000a',
'queue' => '54e8a61d8d560bccac9dc83e',
'encrypt' => true
'encrypt' => true,
],
'redis' => [
'driver' => 'redis',

View File

@ -14,7 +14,7 @@ return [
*/
'paths' => [
realpath(base_path('resources/views'))
realpath(base_path('resources/views')),
],
/*

View File

@ -2,14 +2,15 @@
use Illuminate\Database\Migrations\Migration;
class CreateUsersTable extends Migration {
class CreateUsersTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up() {
public function up()
{
Schema::create('order_statuses', function ($t) {
$t->increments('id');
$t->string('name');
@ -67,8 +68,7 @@ class CreateUsersTable extends Migration {
$table->timestamps();
});
/**
/*
* Accounts table
*/
Schema::create('accounts', function ($t) {
@ -115,19 +115,16 @@ class CreateUsersTable extends Migration {
$t->foreign('currency_id')->references('id')->on('currencies');
});
/*
* Users Table
*/
Schema::create('users', function ($t) {
$t->increments('id');
$t->unsignedInteger('account_id')->index();
$t->timestamps();
$t->softDeletes();
$t->string('first_name');
$t->string('last_name');
$t->string('phone');
@ -139,7 +136,6 @@ class CreateUsersTable extends Migration {
$t->boolean('is_parent')->default(false);
$t->string('remember_token', 100)->nullable();
$t->foreign('account_id')->references('id')->on('accounts')->onDelete('cascade');
});
@ -165,9 +161,6 @@ class CreateUsersTable extends Migration {
$table->foreign('account_id')->references('id')->on('accounts')->onDelete('cascade');
});
Schema::create('events', function ($t) {
$t->increments('id');
@ -213,7 +206,6 @@ class CreateUsersTable extends Migration {
$t->string('location_long');
$t->string('location_google_place_id');
$t->unsignedInteger('ask_for_all_attendees_info')->default(0);
$t->text('pre_order_display_message');
@ -227,8 +219,6 @@ class CreateUsersTable extends Migration {
$t->boolean('social_show_email')->default(true);
$t->boolean('social_show_googleplus')->default(true);
$t->unsignedInteger('location_is_manual')->default(0);
$t->boolean('is_live')->default(false);
@ -237,8 +227,6 @@ class CreateUsersTable extends Migration {
$t->softDeletes();
});
/*
* Users table
*/
@ -278,7 +266,7 @@ class CreateUsersTable extends Migration {
$t->foreign('order_status_id')->references('id')->on('order_statuses')->onDelete('no action');
});
/**
/*
* Tickets table
*/
Schema::create('tickets', function ($t) {
@ -287,7 +275,6 @@ class CreateUsersTable extends Migration {
$t->timestamps();
$t->softDeletes();
$t->unsignedInteger('edited_by_user_id')->nullable();
$t->unsignedInteger('account_id')->index();
$t->unsignedInteger('order_id')->nullable();
@ -410,8 +397,7 @@ class CreateUsersTable extends Migration {
// });
//
/**
/*
* Tickets / Orders pivot table
*/
Schema::create('ticket_order', function ($t) {
@ -422,7 +408,7 @@ class CreateUsersTable extends Migration {
$t->foreign('ticket_id')->references('id')->on('users')->onDelete('cascade');
});
/**
/*
* Tickets / Questions pivot table
*/
// Schema::create('ticket_question', function($t) {
@ -433,9 +419,6 @@ class CreateUsersTable extends Migration {
// $t->foreign('question_id')->references('id')->on('questions')->onDelete('cascade');
// });
Schema::create('event_stats', function ($table) {
$table->increments('id')->index();
$table->date('date');
@ -451,7 +434,6 @@ class CreateUsersTable extends Migration {
$table->foreign('event_id')->references('id')->on('events')->onDelete('cascade');
});
Schema::create('attendees', function ($t) {
$t->increments('id');
$t->unsignedInteger('order_id')->index();
@ -468,14 +450,13 @@ class CreateUsersTable extends Migration {
$t->timestamps();
$t->softDeletes();
$t->boolean('is_cancelled')->default(FALSE);
$t->boolean('has_arrived')->default(FALSE);
$t->boolean('is_cancelled')->default(false);
$t->boolean('has_arrived')->default(false);
$t->dateTime('arrival_time');
$t->unsignedInteger('account_id')->index();
$t->foreign('account_id')->references('id')->on('accounts')->onDelete('cascade');
$t->foreign('event_id')->references('id')->on('events')->onDelete('cascade');
$t->foreign('ticket_id')->references('id')->on('tickets')->onDelete('cascade');
$t->foreign('order_id')->references('id')->on('orders')->onDelete('cascade');
@ -498,8 +479,6 @@ class CreateUsersTable extends Migration {
$table->foreign('user_id')->references('id')->on('users')->onDelete('no action');
});
Schema::create('event_images', function ($t) {
$t->increments('id');
@ -522,8 +501,8 @@ class CreateUsersTable extends Migration {
*
* @return void
*/
public function down() {
public function down()
{
Schema::drop('users');
}
}

View File

@ -1,8 +1,9 @@
<?php
use Illuminate\Database\Migrations\Migration;
class SetupCountriesTable extends Migration {
class SetupCountriesTable extends Migration
{
/**
* Run the migrations.
*
@ -11,8 +12,7 @@ class SetupCountriesTable extends Migration {
public function up()
{
// Creates the users table
Schema::create('Countries', function($table)
{
Schema::create('Countries', function ($table) {
$table->integer('id')->index();
$table->string('capital', 255)->nullable();
$table->string('citizenship', 255)->nullable();
@ -41,5 +41,4 @@ class SetupCountriesTable extends Migration {
{
Schema::drop('Countries');
}
}

View File

@ -1,10 +1,10 @@
<?php
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
class CreatePasswordResetsTable extends Migration {
class CreatePasswordResetsTable extends Migration
{
/**
* Run the migrations.
*
@ -12,8 +12,7 @@ class CreatePasswordResetsTable extends Migration {
*/
public function up()
{
Schema::create('password_resets', function(Blueprint $table)
{
Schema::create('password_resets', function (Blueprint $table) {
$table->string('email')->index();
$table->string('token')->index();
$table->timestamp('created_at');
@ -29,5 +28,4 @@ class CreatePasswordResetsTable extends Migration {
{
Schema::drop('password_resets');
}
}

View File

@ -1,16 +1,16 @@
<?php
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class AddAffiliatesTable extends Migration {
class AddAffiliatesTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up() {
public function up()
{
Schema::create('affiliates', function ($table) {
$table->increments('id');
$table->string('name', 125);
@ -32,8 +32,8 @@ class AddAffiliatesTable extends Migration {
*
* @return void
*/
public function down() {
public function down()
{
//
}
}

Some files were not shown because too many files have changed in this diff Show More