UnknownSec Bypass
403
:
/
var
/
www
/
html
/
lms_d5c35339adb3
/
app
/
Http
/
Controllers
/
Admin
/
Users
/ [
drwxr-xr-x
]
Menu
Upload
Mass depes
Mass delete
Terminal
Info server
About
name :
AdminUsersController.php~
<?php namespace EstudioLMS\Http\Controllers\Admin\Users; use EstudioLMS\Base\ResponseBuilder; use EstudioLMS\Helpers\Helpers; use EstudioLMS\Http\Controllers\Controller; use EstudioLMS\Http\Requests\UserRequest; use EstudioLMS\Repositories\Auth\UserRepository; use File; use Illuminate\Contracts\Auth\Guard; use Illuminate\Http\Request; use Illuminate\Translation\Translator; use mjanssen\BreadcrumbsBundle\Breadcrumbs; use Storage; /** * Class AdminUsersController * @package EstudioLMS\Http\Controllers\Admin\Users */ class AdminUsersController extends Controller { /** * @var Guard */ private $auth; /** * @var Translator */ private $translator; /** * @var Breadcrumbs */ private $breadCrumb; /** * @var ResponseBuilder */ private $responseBuilder; /** * @var UserRepository */ private $userRepo; /** * @var Helpers */ private $helper; /** * @param Translator $translator * @param Breadcrumbs $breadCrumb * @param Helpers $helper * @param ResponseBuilder $responseBuilder * @param UserRepository $userRepo * @param Guard $auth */ public function __construct( Translator $translator, Breadcrumbs $breadCrumb, Helpers $helper, ResponseBuilder $responseBuilder, UserRepository $userRepo, Guard $auth ) { $this->middleware('auth'); $this->auth = $auth; $this->translator = $translator; $this->breadCrumb = $breadCrumb; $this->responseBuilder = $responseBuilder; $this->userRepo = $userRepo; $this->helper = $helper; } /** * Display a listing of the resource. * * @return mixed */ public function index() { $this->breadCrumb->addBreadcrumb('Dashboard', route('admin.index')); $this->breadCrumb->addBreadcrumb('Listagem de Usuários', route('admin.users.index')); $bread = $this->breadCrumb->generate(); $env = 'usersmanager'; $title = 'Gerenciar Usuários'; return view('admin.users.listusers', compact('bread', 'env', 'title')); } public function apiList() { return $this->userRepo->with(['roles'])->findWhere([['email', 'like', '%m%']])->paginate(10); /*$users = $this->userRepo->with(['roles'])->all(['id', 'updated_at', 'name', 'email', 'status']); $data = []; foreach ($users as $key => $user) { $data[$key]['id'] = $user->id; $data[$key]['email'] = $user->email; $data[$key]['name'] = $user->name; $data[$key]['status'] = $user->status; $data[$key]['updated_at'] = $user->updated_at; $data[$key]['display_name'] = isset($user->roles[0]) ? $user->roles[0]->display_name : 'Sem Regra'; } $json = json_encode($data); return $json;*/ } /** * Show the form for creating a new resource. * * @param $type * @return Mixed */ public function createUser($type) { $this->breadCrumb->addBreadcrumb('Dashboard', route('admin.index')); $this->breadCrumb->addBreadcrumb('Listagem de Usuários', route('admin.users.index')); $this->breadCrumb->addBreadcrumb('Novo Usuário', route('admin.users.create.user', $type)); $bread = $this->breadCrumb->generate(); $env = 'usersmanager'; $view = ''; $title = 'Adicionar Novo Usuário'; if ($type === 'A') : $view = 'admin.profile.admin_profile'; $customMessage = 'Novo Administrador <br> Todos os campos marcados com * são obrigatórios'; elseif ($type === 'S') : $view = 'admin.users.student_profile'; $customMessage = 'Novo Aluno <br> Todos os campos marcados com * são obrigatórios'; elseif ($type === 'T') : $view = 'admin.users.teacher_profile'; $customMessage = 'Novo Professor/Instrutor <br> Todos os campos marcados com * são obrigatórios'; else : abort(404); endif; return view($view, compact('data'), compact('bread', 'env', 'type', 'customMessage', 'title')); } /** * Store a newly created resource in storage. * * @param UserRequest $request * @return mixed */ public function store(UserRequest $request) { $data = $request->all(); if (!empty($data['password'])) { $data['password'] = bcrypt($data['password']); } $downloadPicture = false; $fileName = ''; if ($request->hasFile('picture')) { if ($request->file('picture')->isValid()) { $destinationPath = public_path() . '/profiles/pictures/'; $fileName = uniqid(str_random(20)); $fileName = $fileName . '.' . $request->file('picture')->getClientOriginalExtension(); $request->file('picture')->move($destinationPath, $fileName); $downloadPicture = true; } } if ($downloadPicture) { $data['picture'] = $fileName; } try { $created = $this->userRepo->create($data); if ($data['type'] === 'S') { $role = '3'; } elseif ($data['type'] === 'T') { $role = '2'; } elseif ($data['type'] === 'A') { $role = '1'; } else { $role = null; } $created->attachRole($role); $success = 'Sucesso!'; $message = 'Dados incluídos com sucesso!'; } catch (\Exception $e) { $fail = 'Falha!'; $message = 'Erro: ' . $e->getMessage() . ' - Dados não incluídos!'; } $env = 'usersmanager'; return redirect(route('admin.users.index')) ->with(compact('env', 'fail', 'success', 'message')); } /** * Display the specified resource. * * @param int $id * @return mixed */ public function show($id) { $data = $this->userRepo->find($id); $this->breadCrumb->addBreadcrumb('Dashboard', route('admin.index')); $this->breadCrumb->addBreadcrumb('Listagem de Usuários', route('admin.users.index')); $env = 'usersmanager'; $userACL = $data->roles[0]->name; $title = 'Editar Usuário'; if ($userACL === 'student') { $type = 'S'; $view = 'admin.users.student_profile'; $this->breadCrumb->addBreadcrumb('Dados do Usuário', route('admin.users.show', $data['id'])); } elseif ($userACL === 'teacher') { $type = 'T'; $view = 'admin.users.teacher_profile'; $this->breadCrumb->addBreadcrumb('Dados do Teacher', route('admin.users.show', $data['id'])); } elseif ($userACL === 'admin' || $userACL === 'owner') { $type = 'A'; $view = 'admin.users.admin_profile'; $this->breadCrumb->addBreadcrumb('Dados do Administrador', route('admin.users.show', $data['id'])); } else { $type = null; $view = null; abort(404); } $bread = $this->breadCrumb->generate(); $customMessage = 'Visualização/Edição de Dados pelo Admin'; return $this->responseBuilder->render($view, compact('data'), compact('bread', 'env', 'type', 'customMessage', 'title')); } /** * Update the specified resource in storage. * * @param int $id * @param UserRequest $request * @return mixed */ public function update($id, UserRequest $request) { $data = $request->all(); if (!empty($data['password'])) { $data['password'] = bcrypt($data['password']); } else { unset($data['password']); } if ($request->hasFile('picture')) { $data['picture'] = uniqid(str_random(20)) . '.' . $request->file('picture')->getClientOriginalExtension(); } else { unset($data['picture']); } try { $profile = $this->userRepo->find($id); $profile->fill($data); $logData = $this->helper->logDataChanged($profile); if (!empty($logData)) { $profile->save(); $success = 'Sucesso!'; $message = 'Dados Atualizados com Sucesso!'; } else { $success = 'Atenção'; $message = 'Nenhum Dado foi Atualizado!'; } if ($request->hasFile('picture')) { if ($request->file('picture')->isValid()) { Storage::disk('profile')->put($data['picture'], File::get($request->file('picture'))); } } } catch (\Exception $e) { $fail = 'Falha!'; $message = 'Erro: ' . $e->getMessage() . ' - Dados não Atualizados!'; } $env = 'usersmanager'; return redirect(route('admin.users.index'))->with(compact('env', 'fail', 'success', 'message')); } /** * @param Request $request * @return array */ public function updateStatus(Request $request) { $data = $request->all(); $status = $data['status'] == 0 ? 1 : 0; $user = $this->userRepo->find($data['id']); $user['status'] = $status; $user->save(); $success = 'Sucesso!'; $message = 'Status alterado com sucesso! '; $ret = ['success' => $success, 'message' => $message, 'status' => $status]; return $ret; } /** * @param Request $request * @return array */ public function destroyUser(Request $request) { $data = $request->all(); $delUser = $this->userRepo->find($data['id']); $delUser->delete(); $success = 'Sucesso!'; $message = 'Usuário excluído com sucesso! '; $ret = ['success' => $success, 'message' => $message]; return $ret; } /** * @param $id * @param UserRequest $request * @return \Illuminate\Http\RedirectResponse */ public function updateAdmin($id, UserRequest $request) { $data = $request->all(); if (!empty($data['password'])) { $data['password'] = bcrypt($data['password']); } else { unset($data['password']); } if ($request->hasFile('picture')) { $data['picture'] = uniqid(str_random(20)) . '.' . $request->file('picture')->getClientOriginalExtension(); } else { unset($data['picture']); } try { $profile = $this->userRepo->find($id); $profile->fill($data); $logData = $this->helper->logDataChanged($profile); if (!empty($logData)) { $profile->save(); $success = 'Sucesso!'; $message = 'Dados Atualizados com Sucesso!'; } else { $success = 'Atenção'; $message = 'Nenhum Dado foi Atualizado!'; } if ($request->hasFile('picture')) { if ($request->file('picture')->isValid()) { Storage::disk('profile')->put($data['picture'], File::get($request->file('picture'))); } } } catch (\Exception $e) { $fail = 'Falha!'; $message = 'Erro: ' . $e->getMessage() . ' - Dados não Atualizados!'; } $env = 'environment'; return redirect()->route('admin.users.index', $this->auth->user()['id']) ->with(compact('env', 'fail', 'success', 'message')); } }
Copyright © 2026 - UnknownSec