shell bypass 403
<?php
namespace App\Http\Controllers\addons\included;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Helpers\helper;
use App\Models\Blogs;
use Illuminate\Support\Facades\Validator;
use Illuminate\Support\Str;
class BlogController extends Controller
{
// blogs
public function blogs_index(Request $request)
{
$getblogs = Blogs::orderBy('reorder_id')->get();
return view('admin.included.blogs.index', compact('getblogs'));
}
public function blogs_add()
{
return view('admin.included.blogs.add');
}
public function blogs_store(Request $request)
{
$validator = Validator::make($request->all(), [
'image' => 'image|max:' . helper::imagesize() . '|' . helper::imageext(),
], [
'image.max' => trans('messages.image_size_message'),
]);
if ($validator->fails()) {
return redirect()->back()->with('error', trans('messages.image_size_message') . ' ' . helper::appdata('')->image_size . ' ' . 'MB');
} else {
$image = 'blog-' . uniqid() . '.' . $request->image->getClientOriginalExtension();
$request->image->move(env('ASSETSPATHURL') . 'admin-assets/images/about', $image);
$blog = new Blogs;
$blog->image = $image;
$blog->title = $request->title;
$blog->slug = $this->getblogslug($request->title, '');
$blog->description = $request->description;
$blog->save();
return redirect('admin/blogs')->with('success', trans('messages.success'));
}
}
public function blogs_show(Request $request)
{
$blogdata = Blogs::find($request->id);
return view('admin.included.blogs.edit', compact('blogdata'));
}
public function blogs_update(Request $request)
{
$validator = Validator::make($request->all(), [
'image' => 'image|max:' . helper::imagesize() . '|' . helper::imageext(),
], [
'image.max' => trans('messages.image_size_message'),
]);
if ($validator->fails()) {
return redirect()->back()->with('error', trans('messages.image_size_message') . ' ' . helper::appdata('')->image_size . ' ' . 'MB');
} else {
$blog = Blogs::find($request->id);
if ($request->file('image') != "") {
if (file_exists(storage_path() . "/app/public/admin-assets/images/about/" . $blog->image)) {
unlink(storage_path() . "/app/public/admin-assets/images/about/" . $blog->image);
}
$image = 'blog-' . uniqid() . '.' . $request->image->getClientOriginalExtension();
$request->image->move(env('ASSETSPATHURL') . 'admin-assets/images/about', $image);
$blog->image = $image;
$blog->save();
}
$blog->title = $request->title;
$blog->slug = $this->getblogslug($request->title, $request->id);
$blog->description = $request->description;
$blog->save();
return redirect('admin/blogs')->with('success', trans('messages.success'));
}
}
public function blogs_delete(Request $request)
{
$blog = Blogs::find($request->id);
if (file_exists(storage_path() . "/app/public/admin-assets/images/about/" . $blog->image)) {
unlink(storage_path() . "/app/public/admin-assets/images/about/" . $blog->image);
}
if ($blog->delete()) {
return 1;
} else {
return 0;
}
}
public function getblogslug($title, $id)
{
$slug = Str::slug($title, '-');
$checkslug = Blogs::where('slug', $slug);
if ($id != "") {
$checkslug = $checkslug->where('id', '!=', $id);
}
$checkslug = $checkslug->first();
if (!empty($checkslug)) {
$slug .= '-' . Blogs::select('id')->orderByDesc('id')->first()->id;
}
return $slug;
}
public function reorder_blogs(Request $request)
{
$getcategory = Blogs::all();
foreach ($getcategory as $slider) {
foreach ($request->order as $order) {
$ct = Blogs::where('id', $order['id'])->first();
$ct->reorder_id = $order['position'];
$ct->save();
}
}
return response()->json(['status' => 1, 'msg' => 'Update Successfully!!'], 200);
}
// blogs
public function blogs(Request $request)
{
$getblogs = Blogs::orderBy('reorder_id')->get();
return view('web.included.blogs.blogs', compact('getblogs'));
}
public function showblog(Request $request)
{
$getblogdata = Blogs::where('slug', $request->slug)->first();
$recentblogs = Blogs::where('slug', '!=', $request->slug)->orderBy('reorder_id')->get();
return view('web.included.blogs.blogdetails', compact('getblogdata', 'recentblogs'));
}
public function apiblogs(Request $request)
{
$getblogs = Blogs::select('id', 'title', 'description', \DB::raw('DATE_FORMAT(created_at, "%d-%m-%Y") as date'), \DB::raw("CONCAT('" . url(env('ASSETSPATHURL') . 'admin-assets/images/about') . "/', image) AS image_url"))->orderBy('reorder_id')->get();
return response()->json(['status' => 1, 'message' => trans('messages.success'), 'data' => $getblogs], 200);
}
public function blogdetails(Request $request)
{
if ($request->id == "") {
return response()->json(["status" => 0, "message" => trans('messages.id_required')], 200);
}
$getblogdata = Blogs::select('id', 'title', 'description', \DB::raw('DATE_FORMAT(created_at, "%d-%m-%Y") as date'), \DB::raw("CONCAT('" . url(env('ASSETSPATHURL') . 'admin-assets/images/about') . "/', image) AS image_url"))->where('id', $request->id)->first();
$recentblogs = Blogs::select('id', 'title', 'description', \DB::raw('DATE_FORMAT(created_at, "%d-%m-%Y") as date'), \DB::raw("CONCAT('" . url(env('ASSETSPATHURL') . 'admin-assets/images/about') . "/', image) AS image_url"))->orderBydesc('id')->take('3')->get();
return response()->json(['status' => 1, 'message' => trans('messages.success'), 'data' => $getblogdata, 'recentblogs' => $recentblogs], 200);
}
}