JFIF x x C C " } !1AQa "q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w !1AQ aq"2B #3Rbr{
File "BootcampResourceController.php"
Full Path: /home/u735268861/domains/palsarh.in/public_html/app/Http/Controllers/Admin/BootcampResourceController.php
File size: 3.63 KB
MIME-type: text/x-php
Charset: utf-8
<?php
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
use App\Models\Bootcamp;
use App\Models\BootcampLiveClass;
use App\Models\BootcampModule;
use App\Models\BootcampResource;
use App\Models\FileUploader;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Session;
use Illuminate\Support\Facades\Validator;
class BootcampResourceController extends Controller
{
public function store(Request $request)
{
$validator = Validator::make($request->all(), [
'module_id' => 'required|numeric',
'upload_type' => 'required|in:resource,record',
'files' => 'required|array',
'files.*' => 'required|file',
]);
if ($validator->fails()) {
return response()->back()->withErrors($validator)->withInput();
}
$module = BootcampModule::join('bootcamps', 'bootcamp_modules.bootcamp_id', 'bootcamps.id')
->select('bootcamp_modules.*', 'bootcamps.title as bootcamp_title')
->where('bootcamp_modules.id', $request->module_id)->first();
if (! $module) {
Session::flash('error', get_phrase('Module not found.'));
return redirect()->back();
}
$data['module_id'] = $module->id;
$data['upload_type'] = $request->upload_type;
$allowed_extensions = ['mp4', 'mov', 'avi', 'wmv', 'webm'];
$files = $request->file('files');
foreach ($files as $file) {
if ($request->upload_type == 'record' && ! in_array($file->getClientOriginalExtension(), $allowed_extensions)) {
Session::flash('error', get_phrase("Failed to upload. File type must be a video."));
return redirect()->back();
}
$file_name = $file->getClientOriginalName();
$data['title'] = replace_url_symbol($file_name);
$data['file'] = 'uploads/bootcamp/resource/' . auth()->user()->name . '/' . $module->bootcamp_title . '/' . $module->title . '/' . $data['title'];
$query = BootcampResource::where('title', $data['title']);
if ($query->exists()) {
Session::flash('error', get_phrase("File already exists."));
return redirect()->back();
}
$query->insert($data);
FileUploader::upload($file, $data['file']);
}
Session::flash('success', get_phrase(ucfirst($request->upload_type) . ' has been uploaded.'));
return redirect()->back();
}
public function delete($id)
{
$resource = BootcampResource::where('id', $id)->first();
if (! $resource) {
Session::flash('error', get_phrase('Data not found.'));
return redirect()->back();
}
$file_path = public_path($resource->file);
if (file_exists($file_path)) {
remove_file($file_path);
}
$resource->delete();
Session::flash('success', get_phrase(ucfirst($resource->upload_type) . ' has been deleted.'));
return redirect()->back();
}
public function download($id)
{
$resource = BootcampResource::where('id', $id);
if ($resource->doesntExist()) {
Session::flash('error', get_phrase('Data not found.'));
return redirect()->back();
}
$file = $resource->first();
$file_path = public_path($file->file);
if (! file_exists($file_path)) {
Session::flash('error', get_phrase('File does not exists.'));
return redirect()->back();
}
return response()->download($file_path);
}
}