restore composer.json, add mysqli extension

This commit is contained in:
2026-04-15 17:02:52 +05:00
commit 77cf56a348
4317 changed files with 1397107 additions and 0 deletions

View File

@@ -0,0 +1,130 @@
@extends('dashboard.layouts.app')
@section('title', trans('admin.add') . ' - ')
@section('speedbar')
<div class="content-header row">
<div class="content-header-left col-md-9 col-12 mb-2">
<div class="row breadcrumbs-top">
<div class="col-12">
<h2 class="content-header-title float-left mb-0">@lang('admin.add')</h2>
<div class="breadcrumb-wrapper col-12">
<ol class="breadcrumb">
<li class="breadcrumb-item ">
<a href="{{ route('dashboard') }}">@lang('admin.home')</a>
</li>
<li class="breadcrumb-item ">
<a href="{{ route('dashboard.staffs') }}">@lang('admin.staffs.title')</a>
</li>
<li class="breadcrumb-item active">
@lang('admin.add')
</li>
</ol>
</div>
</div>
</div>
</div>
</div>
@endsection
@push('css')
<link rel="stylesheet" type="text/css"
href="{{ asset('vendor/dashboard/app-assets/vendors/css/forms/select/select2.min.css') }}">
@endpush
@section('content')
<div class="row">
<div class="col-md-12 col-12">
<div class="card">
<div class="card-header">
<h4 class="card-title">@lang('admin.add')</h4>
</div>
<div class="card-content">
<form class="form form-vertical" action="{{ route('dashboard.staffs.store') }}" method="post">
@csrf
<div class="card-body">
<div class="form-body">
<p>@lang('admin.all_fields_with')</p>
<div class="row">
<div class="col-12">
<div class="row">
<div class="col-12">
<div class="form-group">
<label for="first-name-vertical">@lang('admin.users.username') *</label>
<input type="text" id="first-name-vertical"
class="form-control @error('username') is-invalid @enderror"
name="username" required value="{{ old('username') }}"
placeholder="@lang('admin.users.username')">
@error('username')
<div class="invalid-feedback">
{{ $message }}
</div>
@enderror
</div>
</div>
</div>
</div>
<div class="col-12">
<div class="form-group">
<label for="role_id">@lang('admin.users.role') *</label>
<select class="select2 form-control" name="role_id" required>
<option disabled>Выберите роль</option>
@foreach ($roles as $role)
<option value="{{ $role->id }}">{{ $role->name }}</option>
@endforeach
{{-- <option value="3">@lang('admin.roles.3')</option> --}}
</select>
@error('role_id')
<div class="invalid-feedback">
{{ $message }}
</div>
@enderror
</div>
</div>
<div class="col-12">
<div class="form-group">
<label for="phone">@lang('admin.users.password') *</label>
<input type="password" id="password"
class="form-control @error('password') is-invalid @enderror" name="password"
required placeholder="@lang('admin.users.password')">
@error('password')
<div class="invalid-feedback">
{{ $message }}
</div>
@enderror
</div>
</div>
</div>
</div>
</div>
<div class="card-footer pb-0 pl-0 pt-1">
<div class="col-12 mb-0">
<div class="row">
<div class="col-3">
<button type="submit"
class="btn btn-primary mr-1 mb-1 waves-effect waves-light btn-icon">
<i class="feather icon-save"></i> @lang('admin.save')
</button>
</div>
<div class="col-9">
<a href="{{ route('dashboard.staffs') }}"
class="btn btn-danger mr-1 mb-1 waves-effect waves-light btn-icon pull-right">
<i class="feather icon-x-circle"></i> @lang('admin.cancel')
</a>
</div>
</div>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
@endsection
@push('js')
<script src="/vendor/dashboard/app-assets/vendors/js/forms/select/select2.full.min.js"></script>
<script src="/vendor/dashboard/app-assets/js/scripts/forms/select/form-select2.js"></script>
@endpush

View File

@@ -0,0 +1,163 @@
@extends('dashboard.layouts.app')
@section('title', trans('admin.edit'). ' - ')
@section('speedbar')
<div class="content-header row">
<div class="content-header-left col-md-9 col-12 mb-2">
<div class="row breadcrumbs-top">
<div class="col-12">
<h2 class="content-header-title float-left mb-0">@lang('admin.edit')</h2>
<div class="breadcrumb-wrapper col-12">
<ol class="breadcrumb">
<li class="breadcrumb-item ">
<a href="{{ route('dashboard') }}">@lang('admin.home')</a>
</li>
<li class="breadcrumb-item ">
<a href="{{ route('dashboard.users') }}">@lang('admin.users.title')</a>
</li>
<li class="breadcrumb-item active">
@lang('admin.edit')
</li>
</ol>
</div>
</div>
</div>
</div>
</div>
@endsection
@section('content')
<div class="row">
<div class="col-md-12 col-12">
<div class="card">
<div class="card-header">
<h4 class="card-title">@lang('admin.edit')</h4>
</div>
<div class="card-content">
<form class="form form-vertical" action="{{ route('dashboard.users.update', $user->id) }}" method="post">
@csrf
<div class="card-body">
<div class="form-body">
<div class="row">
<div class="col-12">
<div class="row">
<div class="col-6">
<div class="form-group">
<label for="first-name-vertical">@lang('admin.users.first_name')</label>
<input type="text" id="first-name-vertical" class="form-control @error('first_name') is-invalid @enderror" name="first_name" value="{{ old('first_name', $user->first_name) }}" placeholder="@lang('admin.users.first_name')">
@error('first_name')
<div class="invalid-feedback">
{{ $message }}
</div>
@enderror
</div>
</div>
<div class="col-6">
<div class="form-group">
<label for="last_name">@lang('admin.users.last_name')</label>
<input type="text" id="last_name" class="form-control @error('last_name') is-invalid @enderror" value="{{ old('last_name', $user->last_name) }}" name="last_name" placeholder="@lang('admin.users.last_name')">
@error('last_name')
<div class="invalid-feedback">
{{ $message }}
</div>
@enderror
</div>
</div>
</div>
</div>
<div class="col-12">
<div class="form-group">
<label for="phone">@lang('admin.users.phone')</label>
<input type="text" id="phone" disabled class="form-control @error('phone') is-invalid @enderror" name="phone" value="{{ old('phone', $user->phone) }}" placeholder="@lang('admin.users.phone')">
@error('phone')
<div class="invalid-feedback">
{{ $message }}
</div>
@enderror
</div>
</div>
<div class="col-12">
<div class="form-group">
<label for="category_id">@lang('admin.users.category')</label>
<select class="form-control" name="category_id">
<option value="1" @if(old('category_id', $user->category_id) == 1) selected @endif>@lang('admin.users.men')</option>
<option value="2" @if(old('category_id', $user->category_id) == 2) selected @endif>@lang('admin.users.women')</option>
<option value="3" @if(old('category_id', $user->category_id) == 3) selected @endif>@lang('admin.users.kids')</option>
</select>
@error('category_id')
<div class="invalid-feedback">
{{ $message }}
</div>
@enderror
</div>
</div>
<div class="col-12">
<div class="form-group">
<label for="gender">@lang('admin.users.gender')</label>
<select class="form-control" name="gender">
<option value="1" @if(old('gender', $user->gender) == 1) selected @endif>
Мужчина
</option>
<option value="0" @if(old('gender', $user->gender) == 0) selected @endif>
Женщина
</option>
</select>
@error('gender')
<div class="invalid-feedback">
{{ $message }}
</div>
@enderror
</div>
</div>
<div class="col-12">
<div class="form-group">
<label for="role_id">@lang('admin.users.role')</label>
<select class="form-control" name="role_id">
<option value="1" @if(old('role_id', $user->role_id) == 1) selected @endif>@lang('admin.roles.1')</option>
<option value="3" @if(old('role_id', $user->role_id) == 3) selected @endif>@lang('admin.roles.3')</option>
<option value="2" @if(old('role_id', $user->role_id) == 2) selected @endif>@lang('admin.roles.2')</option>
</select>
@error('first_name')
<div class="invalid-feedback">
{{ $message }}
</div>
@enderror
</div>
</div>
<div class="col-12">
<div class="form-group">
<label for="birth_day">@lang('admin.users.birth_day')</label>
<input type="text" id="birth_day" class="form-control @error('birth_day') is-invalid @enderror" name="birth_day" value="{{ old('birth_day', $user->birth_day) }}" placeholder="@lang('admin.users.birth_day')">
@error('birth_day')
<div class="invalid-feedback">
{{ $message }}
</div>
@enderror
</div>
</div>
</div>
</div>
</div>
<div class="card-footer pb-0 pl-0 pt-1">
<div class="col-12 mb-0">
<button type="submit" class="btn btn-primary mr-1 mb-1 waves-effect waves-light btn-icon">
<i class="feather icon-save"></i> @lang('admin.save')
</button>
</div>
</div>
</form>
</div>
</div>
</div>
@endsection

View File

@@ -0,0 +1,193 @@
@extends('dashboard.layouts.app')
@section('title', trans('admin.users.title') . ' - ')
@section('speedbar')
<div class="content-header row">
<div class="content-header-left col-md-9 col-12 mb-2">
<div class="row breadcrumbs-top">
<div class="col-12">
<h2 class="content-header-title float-left mb-0">@lang('admin.users.title')</h2>
<div class="breadcrumb-wrapper col-12">
<ol class="breadcrumb">
<li class="breadcrumb-item "><a href="{{ route('dashboard') }}">@lang('admin.home')</a>
</li>
<li class="breadcrumb-item active">
@lang('admin.users.title')
</li>
{{-- <li class="breadcrumb-item active">Fixed Layout --}}
{{-- </li> --}}
</ol>
</div>
</div>
</div>
</div>
</div>
@endsection
@push('css')
<link rel="stylesheet" type="text/css" href="/vendor/dashboard/app-assets/vendors/css/pickers/pickadate/pickadate.css">
@endpush
@section('content')
<div class="row" id="table-head">
{{-- <div class="col-md-12 mb-1">
<a href="{{ route('dashboard.users.export') }}" class="btn btn-icon btn-success float-right">
<i class="feather icon-file"></i> Экспортировать все
</a>
</div> --}}
<div class="col-md-12">
<div class="accordion" id="accordionExample">
<div class="collapse-margin">
<div class="card-header" id="headingOne" data-toggle="collapse" role="button"
data-target="#collapseOne" aria-expanded="false" aria-controls="collapseOne">
<span class="lead collapse-title">
<i class="fa fa-filter"></i> Фильтр
</span>
</div>
<div id="collapseOne" class="collapse @if (request()->date_from ||
request()->date_to ||
request()->search_id ||
request()->search_phone ||
request()->search_ip) show @endif"
aria-labelledby="headingOne" data-parent="#accordionExample">
<div class="card-body">
<form action="{{ route('dashboard.users') }}" method="get">
<div class="form-body">
<div class="row">
<div class="col-md-4 col-12 mb-1">
<label>Выберите дату "от"</label>
<input type='text' name="date_from"
value="{{ old('date_from', request()->date_from ?? '') }}"
class="form-control pickadate-months-year" />
</div>
<div class="col-md-4 col-12 mb-1">
<label>Выберите дату "до"</label>
<input type='text' name="date_to"
value="{{ old('date_to', request()->date_to ?? '') }}"
class="form-control pickadate-months-year" />
</div>
<div class="col-md-4 col-12 mb-1">
<label>Тип сортировки</label>
<select class="form-control" name="sort_type">
<option value="created_at"
{{ request()->sort_type ?? '' === 'created_at' ? 'selected' : '' }}>По
дате регистрации</option>
<option value="updated_at"
{{ request()->sort_type ?? '' === 'updated_at' ? 'selected' : '' }}>По
дате последнего визита</option>
</select>
</div>
<div class="col-md-2 col-12 mb-1">
<label>Поиск по id</label>
<input type='text' name="search_id"
value="{{ old('search_id', request()->search_id ?? '') }}"
class="form-control" />
</div>
<div class="col-md-5 col-12 mb-1">
<label>Поиск по номеру</label>
<input type='text' name="search_phone"
value="{{ old('search_phone', request()->search_phone ?? '') }}"
class="form-control" />
</div>
<div class="col-md-5 col-12 mb-1">
<label>Поиск по ip</label>
<input type='text' name="search_ip"
value="{{ old('search_ip', request()->search_ip ?? '') }}"
class="form-control" />
</div>
<div class="col-12">
<button type="submit"
class="btn btn-primary mr-1 mb-1 waves-effect waves-light"><i
class="fa fa-filter"></i> Применить</button>
<a href="{{ route('dashboard.users') }}"
class="btn btn-outline-warning mr-1 mb-1 waves-effect waves-light">Сброс</a>
<a href="{{ route('dashboard.users.export', [
'date_from' => request()->date_from ?? '',
'date_to' => request()->date_to ?? '',
'search_id' => request()->search_id ?? '',
'search_phone' => request()->search_phone ?? '',
'search_ip' => request()->search_ip ?? '',
'sort_type' => request()->sort_type ?? '',
]) }}"
class="btn btn-success mr-1 mb-1"><i class="fa fa-file"></i> Экспорт из
фильтра</a>
</div>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
<div class="col-12">
<div class="card">
<div class="card-content">
<div class="table-responsive">
<table class="table mb-0">
<thead class="thead-dark">
<tr>
<th scope="col" width="50">ID</th>
<th scope="col" class="text-center">@lang('admin.users.fio')</th>
<th scope="col" class="text-center">@lang('admin.users.phone')</th>
<th scope="col" class="text-center">@lang('admin.users.ip')</th>
<th scope="col" class="text-center">@lang('admin.users.date_reg')</th>
<th scope="col" class="text-center">@lang('admin.users.date_online')</th>
{{-- <th scope="col" class="text-right">@lang('admin.actions')</th> --}}
</tr>
</thead>
<tbody>
@forelse($users as $user)
<tr>
<th scope="row">{{ $user->id }}</th>
<td class="text-center">{{ $user->getFullName() }}</td>
<td class="text-center">+{{ $user->getPhone() }}</td>
<td class="text-center">{{ $user->getIp() }}</td>
<td class="text-center">{{ date('H:i, d.m.Y', strtotime($user->created_at)) }}
</td>
<td class="text-center">{{ date('H:i, d.m.Y', strtotime($user->updated_at)) }}
</td>
{{-- <td class="text-right"> --}}
{{-- @can('update', 'users') --}}
{{-- <a href="{{ route('dashboard.users.update', $user->id) }}" class="btn btn-sm btn-success btn-icon" data-toggle="tooltip" data-original-title="@lang('admin.edit')"> --}}
{{-- <i class="feather icon-edit"></i> --}}
{{-- </a> --}}
{{-- @endcan --}}
{{-- </td> --}}
</tr>
@empty
<tr>
<td class="text-center" colspan="6">
@lang('admin.no_data')
</td>
</tr>
@endforelse
</tbody>
</table>
</div>
</div>
</div>
{{ $users->links('pagination::bootstrap-4') }}
</div>
</div>
@endsection
@push('js')
<script src="{{ asset('vendor/dashboard/app-assets/vendors/js/pickers/pickadate/picker.js') }}"></script>
<script src="{{ asset('vendor/dashboard/app-assets/vendors/js/pickers/pickadate/picker.date.js') }}"></script>
<script src="/vendor/dashboard/app-assets/vendors/js/pickers/pickadate/picker.time.js"></script>
<script src="/vendor/dashboard/app-assets/vendors/js/pickers/pickadate/legacy.js"></script>
<script src="/vendor/dashboard/app-assets/js/scripts/pickers/dateTime/pick-a-datetime.js"></script>
@endpush

View File

@@ -0,0 +1,105 @@
@extends('dashboard.layouts.app')
@section('title', trans('admin.staffs.title') . ' - ')
@section('speedbar')
<div class="content-header row">
<div class="content-header-left col-md-9 col-12 mb-2">
<div class="row breadcrumbs-top">
<div class="col-12">
<h2 class="content-header-title float-left mb-0">@lang('admin.staffs.title')</h2>
<div class="breadcrumb-wrapper col-12">
<ol class="breadcrumb">
<li class="breadcrumb-item "><a href="{{ route('dashboard') }}">@lang('admin.home')</a>
</li>
<li class="breadcrumb-item active">
@lang('admin.staffs.title')
</li>
{{-- <li class="breadcrumb-item active">Fixed Layout --}}
{{-- </li> --}}
</ol>
</div>
</div>
</div>
</div>
</div>
@endsection
@section('content')
<div class="row" id="table-head">
@can('store', 'staffs')
<div class="col-md-12 mb-1">
<a href="{{ route('dashboard.staffs.store') }}" class="btn btn-icon btn-success float-right">
<i class="feather icon-plus"></i> @lang('admin.add')
</a>
</div>
@endcan
<div class="col-12">
<div class="card">
<div class="card-content">
<div class="table-responsive">
<table class="table mb-0">
<thead class="thead-dark">
<tr>
<th scope="col" width="50">ID</th>
<th scope="col">@lang('admin.users.username')</th>
<th scope="col" class="text-center">@lang('admin.users.role')</th>
<th scope="col" class="text-right">@lang('admin.actions')</th>
</tr>
</thead>
<tbody>
@if (count($staffs) == 0)
<tr>
<td class="text-center" colspan="5">
@lang('admin.no_data')
</td>
</tr>
@endif
@foreach ($staffs as $staff)
<tr>
<th scope="row">{{ $staff->id }}</th>
<td>{{ $staff->username }}</td>
<td class="text-center">
{{ $staff->role->name }}
</td>
<td class="text-right">
@can('update', 'staffs')
@if (auth()->user()->id != $staff->id)
@if ($staff->block)
<a href="{{ route('dashboard.staffs.block', $staff->id) }}"
onclick="return confirm(@lang('admin.are_you_sure_block_raz')"
class="btn btn-sm btn-warning btn-icon">
<i class="feather icon-unlock"></i>
</a>
@else
<a href="{{ route('dashboard.staffs.block', $staff->id) }}"
onclick="return confirm(@lang('admin.are_you_sure_block')"
class="btn btn-sm btn-primary btn-icon">
<i class="feather icon-lock"></i>
</a>
@endif
@endif
@endcan
@can('update', 'staffs')
@if (auth()->user()->id != $staff->id)
<a href="{{ route('dashboard.staffs.update', $staff->id) }}"
class="btn btn-sm btn-success btn-icon" data-toggle="tooltip"
data-original-title="@lang('admin.edit')">
<i class="feather icon-edit"></i>
</a>
@endif
@endcan
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</div>
{{ $staffs->links('pagination::bootstrap-4') }}
</div>
</div>
@endsection

View File

@@ -0,0 +1,122 @@
@extends('dashboard.layouts.app')
@section('title', trans('admin.edit'). ' - ')
@section('speedbar')
<div class="content-header row">
<div class="content-header-left col-md-9 col-12 mb-2">
<div class="row breadcrumbs-top">
<div class="col-12">
<h2 class="content-header-title float-left mb-0">@lang('admin.edit')</h2>
<div class="breadcrumb-wrapper col-12">
<ol class="breadcrumb">
<li class="breadcrumb-item ">
<a href="{{ route('dashboard') }}">@lang('admin.home')</a>
</li>
<li class="breadcrumb-item ">
<a href="{{ route('dashboard.staffs') }}">@lang('admin.staffs.title')</a>
</li>
<li class="breadcrumb-item active">
@lang('admin.edit')
</li>
</ol>
</div>
</div>
</div>
</div>
</div>
@endsection
@push('css')
<link rel="stylesheet" type="text/css" href="{{ asset('vendor/dashboard/app-assets/vendors/css/forms/select/select2.min.css') }}">
@endpush
@section('content')
<div class="row">
<div class="col-md-12 col-12">
<div class="card">
<div class="card-header">
<h4 class="card-title">@lang('admin.edit')</h4>
</div>
<div class="card-content">
<form class="form form-vertical" action="{{ route('dashboard.staffs.update', $staff->id) }}" method="post">
@csrf
<div class="card-body">
<div class="form-body">
<p>@lang('admin.all_fields_with')</p>
<div class="row">
<div class="col-12">
<div class="row">
<div class="col-12">
<div class="form-group">
<label for="first-name-vertical">@lang('admin.users.username') *</label>
<input type="text" id="first-name-vertical" required class="form-control @error('username') is-invalid @enderror"
name="username" value="{{ old('username', $staff->username) }}" placeholder="@lang('admin.users.username')">
@error('username')
<div class="invalid-feedback">
{{ $message }}
</div>
@enderror
</div>
</div>
</div>
</div>
<div class="col-12">
<div class="form-group">
<label for="role_id">@lang('admin.users.role') *</label>
<select class="select2 form-control" name="role_id" required>
@foreach($roles as $role)
<option value="{{ $role->id }}" {{ $role->id === $staff->role_id ? 'selected' : '' }}>{{ $role->name }}</option>
@endforeach
</select>
@error('role_id')
<div class="invalid-feedback">
{{ $message }}
</div>
@enderror
</div>
</div>
<div class="col-12">
<div class="form-group">
<label for="phone">@lang('admin.staffs.password')</label>
<input type="password" id="password" class="form-control @error('password') is-invalid @enderror"
name="password" placeholder="@lang('admin.staffs.password')">
@error('password')
<div class="invalid-feedback">
{{ $message }}
</div>
@enderror
</div>
</div>
</div>
</div>
</div>
<div class="card-footer pb-0 pl-0 pt-1">
<div class="col-12 mb-0">
<div class="row">
<div class="col-3">
<button type="submit" class="btn btn-primary mr-1 mb-1 waves-effect waves-light btn-icon">
<i class="feather icon-save"></i> @lang('admin.save')
</button>
</div>
<div class="col-9">
<a href="{{ route('dashboard.staffs') }}" class="btn btn-danger mr-1 mb-1 waves-effect waves-light btn-icon pull-right">
<i class="feather icon-x-circle"></i> @lang('admin.cancel')
</a>
</div>
</div>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
@endsection
@push('js')
<script src="/vendor/dashboard/app-assets/vendors/js/forms/select/select2.full.min.js"></script>
<script src="/vendor/dashboard/app-assets/js/scripts/forms/select/form-select2.js"></script>
@endpush