File: /var/www/agighana.org_backup/MediaController.php
<?php
namespace App\Http\Controllers;
use App\Models\Media;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\Facades\Validator;
class MediaController extends Controller
{
public function index(){
return view('media.index');
}
public function create_media(Request $req){
$rules = [
'title' => 'required',
'img' => '|mimes:png,jpg,jpeg,pdf',
'description' => 'required',
];
$validator = Validator::make($req->all(), $rules);
if ($validator->fails()) {
return response()->json(['errors' => $validator->errors()]);
}
try {
$media = new Media();
$media->title = $req->title;
$media->description = $req->description;
$media->type = $req->type;
$media->status = 'active';
if ($req->hasFile('img')) {
$file = $req->file('img');
$filename = $file->getClientOriginalName();
$newname = $req->item . '_' . time() . '_' . $filename;
$path = public_path('uploads/media' . '/');
$file->move($path, $newname);
$media->img = $newname;
}
$media->save();
return response()->json(['success' => "Successfully"]);
} catch (\Exception $ex) {
Log::channel('custom')->error($ex->getMessage());
return response()->json(['logginError' => "Error Occured. Contact System Admin"]);
}
}
}