Файловый менеджер - Редактировать - /home/clickysoft/public_html/standup.clickysoft.net/app/Http/Controllers/Admin/UsersController.php
Назад
<?php namespace App\Http\Controllers\Admin; use App\Http\Controllers\Controller; use App\Http\Requests\MassDestroyUserRequest; use App\Http\Requests\StoreUserRequest; use App\Http\Requests\UpdateUserRequest; use App\Models\Role; use App\Models\Team; use App\Models\User; use Gate; use Illuminate\Http\Request; use Symfony\Component\HttpFoundation\Response; use Yajra\DataTables\Facades\DataTables; use Carbon\Carbon; class UsersController extends Controller { public function index(Request $request) { abort_if(Gate::denies('user_access'), Response::HTTP_FORBIDDEN, '403 Forbidden'); if ($request->ajax()) { $query = User::with(['roles', 'team'])->select(sprintf('%s.*', (new User)->table)); $table = Datatables::of($query); $table->addColumn('placeholder', ' '); $table->addColumn('actions', ' '); $table->editColumn('actions', function ($row) { $viewGate = 'user_show'; $editGate = 'user_edit'; $deleteGate = 'user_delete'; $crudRoutePart = 'users'; return view('partials.datatablesActions', compact( 'viewGate', 'editGate', 'deleteGate', 'crudRoutePart', 'row' )); }); $table->editColumn('id', function ($row) { return $row->id ? $row->id : ''; }); $table->editColumn('name', function ($row) { return $row->name ? $row->name : ''; }); $table->editColumn('email', function ($row) { return $row->email ? $row->email : ''; }); $table->editColumn('roles', function ($row) { $labels = []; foreach ($row->roles as $role) { $labels[] = sprintf('<span class="label label-info label-many">%s</span>', $role->title); } return implode(' ', $labels); }); $table->rawColumns(['actions', 'placeholder', 'roles']); return $table->make(true); } $roles = Role::get(); $teams = Team::get(); return view('admin.users.index', compact('roles', 'teams')); } public function create() { abort_if(Gate::denies('user_create'), Response::HTTP_FORBIDDEN, '403 Forbidden'); $roles = Role::pluck('title', 'id'); $teams = Team::pluck('name', 'id')->prepend(trans('global.pleaseSelect'), ''); return view('admin.users.create', compact('roles', 'teams')); } public function store(StoreUserRequest $request) { $user = User::create($request->all()); $user->roles()->sync($request->input('roles', [])); return redirect()->route('admin.users.index'); } public function edit(User $user) { abort_if(Gate::denies('user_edit'), Response::HTTP_FORBIDDEN, '403 Forbidden'); $roles = Role::pluck('title', 'id'); $teams = Team::pluck('name', 'id')->prepend(trans('global.pleaseSelect'), ''); $user->load('roles', 'team'); return view('admin.users.edit', compact('roles', 'teams', 'user')); } public function update(UpdateUserRequest $request, User $user) { $user->update($request->all()); $user->roles()->sync($request->input('roles', [])); return redirect()->route('admin.users.index'); } public function show(User $user) { abort_if(Gate::denies('user_show'), Response::HTTP_FORBIDDEN, '403 Forbidden'); $user->load('roles', 'team'); return view('admin.users.show', compact('user')); } public function destroy(User $user) { abort_if(Gate::denies('user_delete'), Response::HTTP_FORBIDDEN, '403 Forbidden'); $user->delete(); return back(); } public function massDestroy(MassDestroyUserRequest $request) { $users = User::find(request('ids')); foreach ($users as $user) { $user->delete(); } return response(null, Response::HTTP_NO_CONTENT); } public function import_from_worksnap() { abort_if(Gate::denies('import_worksnap_users'), Response::HTTP_FORBIDDEN, '403 Forbidden'); $curl = curl_init(); curl_setopt_array($curl, [ CURLOPT_URL => 'https://api.worksnaps.com:443/api/users.xml', CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => '', CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 0, CURLOPT_FOLLOWLOCATION => true, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => 'GET', CURLOPT_HTTPHEADER => [ 'Authorization: Basic YktGbXc0MG96dzM5UHY3QzJVaENZVGxPVWFFelZuOWl6dlpvYTdmSTo=', 'Accept: application/xml', ], ]); $response = curl_exec($curl); if (curl_errno($curl)) { $error_msg = curl_error($curl); return redirect()->back()->withErrors("Could not fetch users from Worksnap - ".$error_msg); } curl_close($curl); $xml = json_encode(simplexml_load_string($response)); $users_json = json_decode($xml, true); foreach($users_json["user"] as $user) { User::updateOrCreate([ "worksnap_id" => (int)$user["id"] ], [ "name" => trim($user["first_name"].' '.$user["last_name"]), "email" => $user["email"], "password" => \Hash::make("user123"), "email_verified_at" => Carbon::parse(new \DateTime)->format(config('panel.date_format') . ' ' . config('panel.time_format')), "worksnap_username" => $user["login"], "worksnap_id" => (int)$user["id"], ]); } return redirect()->back()->with("message", "Users have been imported."); } }
| ver. 1.4 |
Github
|
.
| PHP 8.1.29 | Генерация страницы: 0 |
proxy
|
phpinfo
|
Настройка