Attendize/app/Http/Controllers/OrganiserCustomizeControlle...

130 lines
3.9 KiB
PHP
Raw Normal View History

2016-03-05 00:18:10 +00:00
<?php
2016-02-29 15:59:36 +00:00
2016-03-05 00:18:10 +00:00
namespace App\Http\Controllers;
use App\Models\Organiser;
2016-02-29 15:59:36 +00:00
use File;
use Image;
use Illuminate\Http\Request;
use Validator;
2016-02-29 15:59:36 +00:00
class OrganiserCustomizeController extends MyBaseController
{
/**
* Show organiser setting page
*
* @param $organiser_id
* @return mixed
*/
2016-03-05 00:18:10 +00:00
public function showCustomize($organiser_id)
{
2016-02-29 15:59:36 +00:00
$data = [
2016-03-05 00:18:10 +00:00
'organiser' => Organiser::scope()->findOrFail($organiser_id),
2016-02-29 15:59:36 +00:00
];
return view('ManageOrganiser.Customize', $data);
2016-02-29 15:59:36 +00:00
}
/**
* Edits organiser settings / design etc.
*
* @param Request $request
* @param $organiser_id
* @return mixed
*/
public function postEditOrganiser(Request $request, $organiser_id)
2016-03-05 00:18:10 +00:00
{
2016-02-29 15:59:36 +00:00
$organiser = Organiser::scope()->find($organiser_id);
if (!$organiser->validate($request->all())) {
return response()->json([
2016-03-05 00:18:10 +00:00
'status' => 'error',
'messages' => $organiser->errors(),
]);
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->enable_organiser_page = $request->get('enable_organiser_page');
2016-06-15 02:31:24 +00:00
$organiser->facebook = $request->get('facebook');
$organiser->twitter = $request->get('twitter');
2016-02-29 15:59:36 +00:00
if ($request->get('remove_current_image') == '1') {
2016-02-29 15:59:36 +00:00
$organiser->logo_path = '';
}
if ($request->hasFile('organiser_logo')) {
$the_file = \File::get($request->file('organiser_logo')->getRealPath());
$file_name = str_slug($organiser->name).'-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
$relative_path_to_file = config('attendize.organiser_images_path').'/'.$file_name;
$full_path_to_file = public_path($relative_path_to_file);
2016-02-29 15:59:36 +00:00
$img = Image::make($the_file);
$img->resize(200, 200, function ($constraint) {
$constraint->aspectRatio();
$constraint->upsize();
});
$img->save($full_path_to_file);
2016-03-05 00:18:10 +00:00
if (\Storage::put($file_name, $the_file)) {
2016-02-29 15:59:36 +00:00
$organiser->logo_path = $relative_path_to_file;
}
}
$organiser->save();
session()->flash('message', 'Successfully Updated Organiser');
2016-02-29 15:59:36 +00:00
return response()->json([
2016-03-05 00:18:10 +00:00
'status' => 'success',
'redirectUrl' => '',
2016-03-05 00:18:10 +00:00
]);
2016-02-29 15:59:36 +00:00
}
/**
* Edits organiser profile page colors / design
*
* @param Request $request
* @param $organiser_id
* @return mixed
*/
public function postEditOrganiserPageDesign(Request $request, $organiser_id)
{
$event = Organiser::scope()->findOrFail($organiser_id);
$rules = [
2016-06-15 02:31:24 +00:00
'page_bg_color' => ['required'],
'page_header_bg_color' => ['required'],
2016-06-15 02:31:24 +00:00
'page_text_color' => ['required'],
];
$messages = [
'page_header_bg_color.required' => 'Please enter a header background color.',
2016-06-15 02:31:24 +00:00
'page_bg_color.required' => 'Please enter a background color.',
];
$validator = Validator::make($request->all(), $rules, $messages);
if ($validator->fails()) {
return response()->json([
'status' => 'error',
'messages' => $validator->messages()->toArray(),
]);
}
2016-06-15 02:31:24 +00:00
$event->page_bg_color = $request->get('page_bg_color');
$event->page_header_bg_color = $request->get('page_header_bg_color');
2016-06-15 02:31:24 +00:00
$event->page_text_color = $request->get('page_text_color');
$event->save();
return response()->json([
2016-06-15 02:31:24 +00:00
'status' => 'success',
'message' => 'Organiser Design Successfully Updated',
]);
}
2016-03-05 00:18:10 +00:00
}