UnknownSec Bypass
403
:
/
mnt
/
lmsestudio-instance-vol002
/
eagleead
/
app
/
Http
/
Controllers
/
Admin
/
Group
/ [
drwxr-xr-x
]
Menu
Upload
Mass depes
Mass delete
Terminal
Info server
About
name :
GroupController.php
<?php namespace EstudioLMS\Http\Controllers\Admin\Group; use EstudioLMS\Exceptions\Handler; use EstudioLMS\Models\Group\Group; use EstudioLMS\Repositories\Auth\UserRepository; use Illuminate\Http\Request; use EstudioLMS\Http\Requests; use EstudioLMS\Http\Controllers\Controller; use mjanssen\BreadcrumbsBundle\Breadcrumbs; use EstudioLMS\Http\Requests\Admin\Group\GroupRequest; /** * Class GroupController * @package EstudioLMS\Http\Controllers\Admin\Group */ class GroupController extends Controller { /** * @var UserRepository */ private $userRepository; /** * @var Breadcrumbs */ private $breadCrumbs; /** * @var Group */ private $group; /** * GroupController constructor. * @param UserRepository $userRepository * @param Breadcrumbs $breadCrumbs * @param Group $group */ public function __construct( UserRepository $userRepository, Breadcrumbs $breadCrumbs, Group $group ) { $this->middleware('admin_teacher'); $this->userRepository = $userRepository; $this->breadCrumbs = $breadCrumbs; $this->group = $group; } /** * @return \Illuminate\Contracts\View\Factory|\Illuminate\Foundation\Application|\Illuminate\View\View */ public function index() { $env = 'coursemanager'; $title = trans('admin_group.title'); $this->breadCrumbs->addBreadcrumb(trans('admin_master.breadDash'), route('admin.index')); $this->breadCrumbs->addBreadcrumb(trans('admin_group.breadList'), route('admin.group.index')); $bread = $this->breadCrumbs->generate(); return view('admin.group.list', compact('env', 'title', 'bread')); } /** * @return Group[]|\Illuminate\Database\Eloquent\Collection */ public function listing() { return $this->group->with(['countStudents', 'countAdmins'])->withTrashed()->get(); } /** * @return \Illuminate\Contracts\View\Factory|\Illuminate\Foundation\Application|\Illuminate\View\View */ public function create() { $env = 'coursemanager'; $title = trans('admin_group.titleNew'); $this->breadCrumbs->addBreadcrumb(trans('admin_master.breadDash'), route('admin.index')); $this->breadCrumbs->addBreadcrumb(trans('admin_group.breadList'), route('admin.group.index')); $this->breadCrumbs->addBreadcrumb(trans('admin_group.breadNew'), route('admin.group.create')); $bread = $this->breadCrumbs->generate(); $students = $this->userRepository->studentsAndTeachers() ->lists('NameWithEmail', 'id')->toArray(); $admins = $this->userRepository->admins() ->lists('NameWithEmail', 'id')->toArray(); return view('admin.group.create', compact('env', 'title', 'bread', 'students', 'admins')); } /** * @param GroupRequest $request * @return \Illuminate\Http\RedirectResponse */ public function store(GroupRequest $request) { $slug = str_slug('-', $request['name']); $published = isset($request['published']); $data = $request->only(['name', 'code']); $group = $this->group->create([ 'name' => $data['name'], 'code' => $data['code'], 'slug' => $slug, 'published' => $published ]); $group->students()->attach($request['students']); $group->admins()->attach($request['admins']); return redirect()->route('admin.group.index'); } /** * @param $id * @return \Illuminate\Contracts\View\Factory|\Illuminate\Foundation\Application|\Illuminate\View\View */ public function edit($id) { $env = 'coursemanager'; $title = trans('admin_group.titleEdit'); $this->breadCrumbs->addBreadcrumb(trans('admin_master.breadDash'), route('admin.index')); $this->breadCrumbs->addBreadcrumb(trans('admin_group.breadList'), route('admin.group.index')); $this->breadCrumbs->addBreadcrumb(trans('admin_group.breadEdit'), route('admin.group.edit', [$id])); $bread = $this->breadCrumbs->generate(); $group = $this->group->find($id); $students = $this->userRepository->studentsAndTeachers() ->lists('NameWithEmail', 'id')->toArray(); $admins = $this->userRepository->admins() ->lists('NameWithEmail', 'id')->toArray(); $selectedStudents = $group->students->lists('id')->all(); $selectedAdmins = $group->admins->lists('id')->all(); return view('admin.group.edit', compact('env', 'title', 'bread', 'group', 'students', 'selectedStudents', 'admins', 'selectedAdmins')); } /** * @param GroupRequest $request * @param $id * @return \Illuminate\Http\RedirectResponse */ public function update(GroupRequest $request, $id) { $group = $this->group->find($id); $slug = str_slug('-', $request['name']); $published = isset($request['published']); $data = $request->only(['name', 'code']); $group->fill( [ 'name' => $data['name'], 'code' => $data['code'], 'slug' => $slug, 'published' => $published ] ); $group->save(); if (!$request['students']) { $group->students()->detach(); } else { $group->students()->sync($request['students']); } if (!$request['admins']) { $group->admins()->detach(); } else { $group->admins()->sync($request['admins']); } return redirect()->route('admin.group.index'); } /** * @param Request $request * @return array */ public function updateStatus(Request $request) { $data = $request->all(); try { $this->group->update(['published' => $data['published']], $data['id']); return ['success' => true, 'message' => trans('admin_group.msgSuccess'), 'published' => $data['published']]; } catch (\Exception $e) { app(Handler::class)->report($e); return ['success' => false, 'message' => trans('admin_group.msgFail'), 'published' => $data['published']]; } } /** * @param Request $request * @return array */ public function destroy(Request $request) { $data = $request->all(); try { $group = $this->group->find($data['id']); $group->delete(); return ['success' => true, 'message' => trans('admin_group.msgGroupDelete')]; } catch (\Exception $e) { app(Handler::class)->report($e); return ['success' => false, 'message' => trans('admin_group.msgGroupNotDelete')]; } } /** * @param Request $request * @return array */ public function restore(Request $request) { $data = $request->all(); try { $group = $this->group->withTrashed()->find($data['id']); $group->restore(); return ['success' => true, 'message' => trans('admin_group.msgGroupDelete')]; } catch (\Exception $e) { app(Handler::class)->report($e); return ['success' => false, 'message' => trans('admin_group.msgGroupNotDelete')]; } } }
Copyright © 2026 - UnknownSec