Attendize/app/Http/Controllers/OrganiserController.php

90 lines
2.6 KiB
PHP
Raw Normal View History

2016-02-29 15:59:36 +00:00
<?php
namespace App\Http\Controllers;
use App\Models\Organiser;
use Illuminate\Http\Request;
2016-03-05 00:18:10 +00:00
use Image;
class OrganiserController extends MyBaseController
{
/**
* Show the select organiser page
*
* @return \Illuminate\Contracts\View\View
*/
2016-06-16 01:36:09 +00:00
public function showSelectOrganiser()
2016-03-05 00:18:10 +00:00
{
return view('ManageOrganiser.SelectOrganiser');
2016-02-29 15:59:36 +00:00
}
/**
* Show the create organiser page
*
* @return \Illuminate\Contracts\View\View
*/
2016-03-05 00:18:10 +00:00
public function showCreateOrganiser()
{
return view('ManageOrganiser.CreateOrganiser');
2016-02-29 15:59:36 +00:00
}
/**
* Create the organiser
*
* @param Request $request
* @return \Illuminate\Http\JsonResponse
*/
public function postCreateOrganiser(Request $request)
2016-03-05 00:18:10 +00:00
{
$organiser = Organiser::createNew(false, false, true);
2016-02-29 15:59:36 +00:00
if (!$organiser->validate($request->all())) {
return response()->json([
2016-06-15 02:31:24 +00:00
'status' => 'error',
'messages' => $organiser->errors(),
2016-03-05 00:18:10 +00:00
]);
2016-02-29 15:59:36 +00:00
}
2016-06-15 02:31:24 +00:00
$organiser->name = $request->get('name');
$organiser->about = $request->get('about');
$organiser->email = $request->get('email');
$organiser->facebook = $request->get('facebook');
$organiser->twitter = $request->get('twitter');
$organiser->confirmation_key = str_random(15);
2016-02-29 15:59:36 +00:00
if ($request->hasFile('organiser_logo')) {
2016-03-05 00:18:10 +00:00
$path = public_path().'/'.config('attendize.organiser_images_path');
$filename = 'organiser_logo-'.$organiser->id.'.'.strtolower($request->file('organiser_logo')->getClientOriginalExtension());
2016-02-29 15:59:36 +00:00
2016-03-05 00:18:10 +00:00
$file_full_path = $path.'/'.$filename;
2016-02-29 15:59:36 +00:00
$request->file('organiser_logo')->move($path, $filename);
2016-02-29 15:59:36 +00:00
$img = Image::make($file_full_path);
$img->resize(250, 250, function ($constraint) {
$constraint->upsize();
});
$img->save($file_full_path);
2016-03-05 00:18:10 +00:00
if (file_exists($file_full_path)) {
$organiser->logo_path = config('attendize.organiser_images_path').'/'.$filename;
2016-02-29 15:59:36 +00:00
}
}
2016-06-15 02:31:24 +00:00
2016-02-29 15:59:36 +00:00
$organiser->save();
session()->flash('message', 'Successfully Created Organiser.');
2016-03-05 00:18:10 +00:00
return response()->json([
2016-06-15 02:31:24 +00:00
'status' => 'success',
'message' => 'Refreshing..',
'redirectUrl' => route('showOrganiserEvents', [
2016-06-15 02:31:24 +00:00
'organiser_id' => $organiser->id,
'first_run' => 1
2016-06-15 02:31:24 +00:00
]),
2016-03-05 00:18:10 +00:00
]);
2016-02-29 15:59:36 +00:00
}
}