2016-02-29 15:59:36 +00:00
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
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;
|
|
|
|
|
|
|
|
|
|
class OrganiserController extends MyBaseController {
|
|
|
|
|
|
|
|
|
|
public function showSelectOragniser() {
|
|
|
|
|
return View::make('ManageOrganiser.SelectOrganiser');
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function showOrganiserDashboard($organiser_id = FALSE) {
|
|
|
|
|
|
|
|
|
|
$allowed_sorts = ['created_at', 'start_date', 'end_date', 'title'];
|
|
|
|
|
|
|
|
|
|
$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') : 'start_date');
|
|
|
|
|
|
|
|
|
|
$events = $searchQuery
|
|
|
|
|
? 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(),
|
|
|
|
|
'current_organiser' => Organiser::scope()->find($organiser_id),
|
|
|
|
|
'q' => $searchQuery ? $searchQuery : '', //Redundant
|
|
|
|
|
'search' => [
|
|
|
|
|
'q' => $searchQuery ? $searchQuery : '',
|
|
|
|
|
'sort_by' => $sort_by,
|
|
|
|
|
'showPast' => Input::get('past')
|
|
|
|
|
]
|
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
return View::make('ManageEvents.OrganiserDashboard', $data);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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
|
|
|
|
|
]);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function showCreateOrganiser() {
|
|
|
|
|
|
|
|
|
|
return View::make('ManageOrganiser.CreateOrganiser', [
|
|
|
|
|
'modal_id' => 'createOrganiser'
|
|
|
|
|
]);
|
|
|
|
|
|
|
|
|
|
return View::make('ManageEvents.Modals.CreateOrganiser', [
|
|
|
|
|
'modal_id' => Input::get('modal_id')
|
|
|
|
|
]);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function postCreateOrganiser() {
|
|
|
|
|
$organiser = Organiser::createNew(FALSE, FALSE, TRUE);
|
|
|
|
|
|
|
|
|
|
if (!$organiser->validate(Input::all())) {
|
|
|
|
|
return Response::json(array(
|
|
|
|
|
'status' => 'error',
|
|
|
|
|
'messages' => $organiser->errors()
|
|
|
|
|
));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$organiser->name = Input::get('name');
|
|
|
|
|
$organiser->about = Input::get('about');
|
|
|
|
|
$organiser->email = Input::get('email');
|
|
|
|
|
$organiser->facebook = Input::get('facebook');
|
|
|
|
|
$organiser->twitter = Input::get('twitter');
|
|
|
|
|
$organiser->confirmation_key = md5(time().rand(0,999999));
|
|
|
|
|
|
|
|
|
|
if (Input::hasFile('organiser_logo')) {
|
|
|
|
|
|
2016-03-04 23:27:13 +00:00
|
|
|
$path = public_path() . '/' . config('attendize.organiser_images_path');
|
2016-02-29 15:59:36 +00:00
|
|
|
$filename = 'organiser_logo-' . $organiser->id . '.' . strtolower(Input::file('organiser_logo')->getClientOriginalExtension());
|
|
|
|
|
|
|
|
|
|
$file_full_path = $path . '/' . $filename;
|
|
|
|
|
|
|
|
|
|
Input::file('organiser_logo')->move($path, $filename);
|
|
|
|
|
|
|
|
|
|
$img = Image::make($file_full_path);
|
|
|
|
|
|
|
|
|
|
$img->resize(250, 250, function ($constraint) {
|
|
|
|
|
//$constraint->aspectRatio();
|
|
|
|
|
$constraint->upsize();
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
$img->save($file_full_path);
|
|
|
|
|
|
|
|
|
|
if(file_exists($file_full_path)) {
|
2016-03-04 23:27:13 +00:00
|
|
|
$organiser->logo_path = config('attendize.organiser_images_path') . '/' . $filename;
|
2016-02-29 15:59:36 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
$organiser->save();
|
|
|
|
|
|
|
|
|
|
\Session::flash('message', 'Successfully Created Organiser');
|
|
|
|
|
|
|
|
|
|
return Response::json(array(
|
|
|
|
|
'status' => 'success',
|
|
|
|
|
'message' => 'Refreshing..',
|
|
|
|
|
'redirectUrl' => route('showOrganiserDashboard', [
|
|
|
|
|
'organiser_id' => $organiser->id
|
|
|
|
|
])
|
|
|
|
|
));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|