UnknownSec Bypass
403
:
/
var
/
www
/
html
/
lms_227cb4675fa9
/
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 Mixed */ public function index() { $this->breadCrumb->addBreadcrumb('Dashboard', route('admin.index')); $this->breadCrumb->addBreadcrumb('Listagem de Posts', route('admin.blog.post.index')); $bread = $this->breadCrumb->generate(); $env = 'blogmanager'; $title = 'Gerenciar Posts do Blog'; $postList = $this->postRepository->listingPosts(); $categories = ['' => 'Filtar por Categoria:'] + $this->categoryRepo->all() ->lists('name', 'id')->toArray(); $languages = ['' => 'Filtrar por Idioma:'] + $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 Mixed */ public function create() { $this->breadCrumb->addBreadcrumb('Dashboard', route('admin.index')); $this->breadCrumb->addBreadcrumb('Listagem de Posts', route('admin.blog.post.index')); $this->breadCrumb->addBreadcrumb('Novo Post', route('admin.blog.post.create')); $bread = $this->breadCrumb->generate(); $env = 'blogmanager'; $title = 'Criar Novo Post do Blog'; $categories = ['' => 'Escolha a Categoria'] + $this->categoryRepo->availableCategories() ->lists('name', 'id')->toArray(); $authors = ['' => 'Escolha o Autor'] + 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 Mixed */ 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']); } $this->postRepository->create($data); $success = 'Sucesso!'; $message = 'Novo Post Incluído!'; 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 Mixed */ public function show($id) { // } /** * Show the form for editing the specified resource. * * @param int $id * @return Mixed */ public function edit($id) { $post = $this->postRepository->find($id); $this->breadCrumb->addBreadcrumb('Dashboard', route('admin.index')); $this->breadCrumb->addBreadcrumb('Listagem de Posts', route('admin.blog.post.index')); $this->breadCrumb->addBreadcrumb('Editando o Post - ' . $post->title, route('admin.blog.post.edit', $id)); $bread = $this->breadCrumb->generate(); $env = 'blogmanager'; $title = 'Editar Post do Blog'; $categories = ['' => 'Escolha a Categoria'] + $this->categoryRepo->findByField('published', true) ->lists('name', 'id')->toArray(); $authors = ['' => 'Escolha o Autor'] + 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 Mixed */ 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; $this->postRepository->update($data, $id); $success = 'Sucesso!'; $message = 'Post Editado!'; 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 Mixed * @internal param int $id */ public function destroy(Request $request) { $data = $request->all(); /*$postFile = $this->postRepository->find($data['id'])->picture; if (!empty($postFile)) { if (Storage::disk('post_picture')->exists($postFile)) { Storage::disk('post_picture')->delete($postFile); } }*/ $this->postRepository->delete($data['id']); $success = 'Sucesso!'; $message = 'Post excluído com sucesso!'; $ret = ['success' => $success, 'message' => $message]; return $ret; } 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 = 'Sucesso!'; $message = 'Status alterado com sucesso! '; $ret = ['success' => $success, 'message' => $message, 'published' => $published]; return $ret; } }
Copyright © 2026 - UnknownSec