UnknownSec Bypass
403
:
/
var
/
www
/
html
/
lms_9d655b94864d
/
app
/
Http
/
Controllers
/
Admin
/
Blog
/ [
drwxr-xr-x
]
Menu
Upload
Mass depes
Mass delete
Terminal
Info server
About
name :
BlogPostController.php
<?php namespace EstudioLMS\Http\Controllers\Admin\Blog; use DB; use EstudioLMS\Base\ResponseBuilder; use EstudioLMS\Helpers\Helpers; use EstudioLMS\Http\Controllers\Controller; use EstudioLMS\Http\Requests; use EstudioLMS\Http\Requests\AdminBlogPostRequest; use EstudioLMS\Repositories\Auth\UserRepository; use EstudioLMS\Repositories\Blog\CategoryRepository; use EstudioLMS\Repositories\Blog\LanguageRepository; use EstudioLMS\Repositories\Blog\PostsRepository; use File; use Illuminate\Http\Request; use Illuminate\Translation\Translator; use mjanssen\BreadcrumbsBundle\Breadcrumbs; use Session; use Storage; /** * Class BlogPostController * @package EstudioLMS\Http\Controllers\Admin\Blog */ class BlogPostController extends Controller { /** * @var Translator */ private $translator; /** * @var Breadcrumbs */ private $breadCrumb; /** * @var Helpers */ private $helper; /** * @var ResponseBuilder */ private $responseBuilder; /** * @var CategoryRepository */ private $categoryRepo; /** * @var LanguageRepository */ private $languagesRepository; /** * @var PostsRepository */ private $postRepository; /** * @var UserRepository */ private $userRepository; /** * @param Translator $translator * @param Breadcrumbs $breadCrumb * @param Helpers $helper * @param ResponseBuilder $responseBuilder * @param CategoryRepository $categoryRepo * @param LanguageRepository $languagesRepository * @param PostsRepository $postsRepository * @param UserRepository $userRepository */ public function __construct( Translator $translator, Breadcrumbs $breadCrumb, Helpers $helper, responseBuilder $responseBuilder, CategoryRepository $categoryRepo, LanguageRepository $languagesRepository, PostsRepository $postsRepository, UserRepository $userRepository ) { $this->middleware('admins'); $this->translator = $translator; $this->breadCrumb = $breadCrumb; $this->helper = $helper; $this->responseBuilder = $responseBuilder; $this->categoryRepo = $categoryRepo; $this->languagesRepository = $languagesRepository; $this->postRepository = $postsRepository; $this->userRepository = $userRepository; } /** * Display a listing of the resource. * * @return \Illuminate\Contracts\View\Factory|\Illuminate\Foundation\Application|\Illuminate\View\View */ public function index() { $this->breadCrumb->addBreadcrumb(trans('admin_master.breadDash'), route('admin.index')); $this->breadCrumb->addBreadcrumb(trans('admin_blog.title'), route('admin.blog.post.index')); $bread = $this->breadCrumb->generate(); $env = 'blogmanager'; $title = trans('admin_blog.title'); $postList = $this->postRepository->listingPosts(); $categories = ['' => trans('admin_master.filterCategory')] + $this->categoryRepo->all() ->lists('name', 'id')->toArray(); $languages = ['' => trans('admin_master.filterLanguage')] + $this->languagesRepository->all() ->lists('name', 'id')->toArray(); return view('admin.blog.posts.list_post', compact('postList', 'env', 'bread', 'categories', 'languages', 'title')); } /** * Show the form for creating a new resource. * * @return \Illuminate\Contracts\View\Factory|\Illuminate\Foundation\Application|\Illuminate\View\View */ public function create() { $this->breadCrumb->addBreadcrumb(trans('admin_master.breadDash'), route('admin.index')); $this->breadCrumb->addBreadcrumb(trans('admin_blog.title'), route('admin.blog.post.index')); $this->breadCrumb->addBreadcrumb(trans('admin_blog.titleNew'), route('admin.blog.post.create')); $bread = $this->breadCrumb->generate(); $env = 'blogmanager'; $title = trans('admin_blog.titleNew'); $categories = ['' => trans('admin_master.selectLanguage')] + $this->categoryRepo->availableCategories() ->lists('name', 'id')->toArray(); $authors = ['' => trans('admin_master.selectAuthor')] + DB::table('users') ->join('role_user', 'user_id', '=', 'users.id') ->join('roles', 'role_id', '=', 'roles.id') ->where('roles.id', '=', 1) ->where('roles.id', '=', 2, 'or')->select(['users.id', 'users.name'])->lists('name', 'id'); return view('admin.blog.posts.create', compact('env', 'bread', 'categories', 'authors', 'languages', 'title')); } /** * Store a newly created resource in storage. * * @param AdminBlogPostRequest $request * @return \Illuminate\Http\RedirectResponse */ public function store(AdminBlogPostRequest $request) { $data = $request->all(); if ($request->hasFile('picture')) { $data['picture'] = uniqid(str_random(20)) . '.' . $request->file('picture')->getClientOriginalExtension(); } else { unset($data['picture']); } if (!empty($data['published_at'])) { $date = \DateTime::createFromFormat('d/m/Y', $data['published_at']); $date->setTime(0, 0, 0); $data['published_at'] = $date; } else { $data['published_at'] = null; } if (!empty($data['unpublished_at'])) { $date = \DateTime::createFromFormat('d/m/Y', $data['unpublished_at']); $date->setTime(23, 59, 59); $data['unpublished_at'] = $date; } else { $data['unpublished_at'] = null; } $this->postRepository->create($data); $success = trans('admin_master.success'); $message = trans('admin_master.msgSuccess'); if ($request->hasFile('picture')) { if ($request->file('picture')->isValid()) { Storage::disk('post_picture')->put($data['picture'], File::get($request->file('picture'))); } } return redirect()->route('admin.blog.post.index')->with(compact('success', 'message')); } /** * Display the specified resource. * * @param int $id * @return void */ public function show($id) { // } /** * Show the form for editing the specified resource. * * @param int $id * @return \Illuminate\Contracts\View\Factory|\Illuminate\Foundation\Application|\Illuminate\View\View */ public function edit($id) { $post = $this->postRepository->find($id); $this->breadCrumb->addBreadcrumb(trans('admin_master.breadDash'), route('admin.index')); $this->breadCrumb->addBreadcrumb(trans('admin_blog.title'), route('admin.blog.post.index')); $this->breadCrumb->addBreadcrumb(trans('admin_blog.titleEdit'), route('admin.blog.post.edit', $id)); $bread = $this->breadCrumb->generate(); $env = 'blogmanager'; $title = trans('admin_blog.titleEdit'); $categories = ['' => trans('admin_master.selectLanguage')] + $this->categoryRepo->findByField('published', true) ->lists('name', 'id')->toArray(); $authors = ['' => trans('admin_master.selectAuthor')] + DB::table('users') ->join('role_user', 'user_id', '=', 'users.id') ->join('roles', 'role_id', '=', 'roles.id') ->where('roles.id', '=', 1) ->where('roles.id', '=', 2, 'or')->select(['users.id', 'users.name']) ->lists('name', 'id'); return view('admin.blog.posts.edit', compact('post', 'env', 'bread', 'categories', 'authors', 'languages', 'title')); } /** * Update the specified resource in storage. * * @param int $id * @param AdminBlogPostRequest $request * @return \Illuminate\Http\RedirectResponse */ public function update($id, AdminBlogPostRequest $request) { $data = $request->all(); $oldFile = ''; if ($request->hasFile('picture')) { $oldFile = $this->postRepository->find($data['id'])->picture; $data['picture'] = uniqid(str_random(20)) . '.' . $request->file('picture')->getClientOriginalExtension(); } else { unset($data['picture']); } $data['published'] = !empty($data['published']) ? $data['published'] : 0; if (!empty($data['published_at'])) { $date = \DateTime::createFromFormat('d/m/Y', $data['published_at']); $date->setTime(0, 0, 0); $data['published_at'] = $date; } else { $data['published_at'] = null; } if (!empty($data['unpublished_at'])) { $date = \DateTime::createFromFormat('d/m/Y', $data['unpublished_at']); $date->setTime(23, 59, 59); $data['unpublished_at'] = $date; } else { $data['unpublished_at'] = null; } $this->postRepository->update($data, $id); $success = trans('admin_master.success'); $message = trans('admin_master.msgSuccess'); if ($request->hasFile('picture')) { if ($request->file('picture')->isValid()) { Storage::disk('post_picture')->put($data['picture'], File::get($request->file('picture'))); } if (!empty($oldFile)) { if (Storage::disk('post_picture')->exists($oldFile)) { Storage::disk('post_picture')->delete($oldFile); } } } return redirect()->route('admin.blog.post.index')->with(compact('success', 'message')); } /** * Remove the specified resource from storage. * * @param Request $request * @return string[] */ public function destroy(Request $request) { $data = $request->all(); $this->postRepository->delete($data['id']); $success = trans('admin_master.success'); $message = trans('admin_master.msgSuccess'); $ret = ['success' => $success, 'message' => $message]; return $ret; } /** * @param Request $request * @return array */ public function updateStatus(Request $request) { $data = $request->all(); $published = $data['published'] == 0 ? 1 : 0; $post = $this->postRepository->find($data['id']); $post['published'] = $published; $post->save(); $success = trans('admin_master.success'); $message = trans('admin_master.msgSuccess'); $ret = ['success' => $success, 'message' => $message, 'published' => $published]; return $ret; } }
Copyright © 2026 - UnknownSec