Вход Регистрация
Файл: resources/views/admin/modules/index.blade.php
Строк: 236
<?php
@extends('layout')

@
section('title'__('index.modules'))

@
section('breadcrumb')
    <
nav>
        <
ol class="breadcrumb">
            <
li class="breadcrumb-item"><a href="/"><class="fas fa-home"></i></a></li>
            <
li class="breadcrumb-item"><a href="{{ route('admin.index') }}">{{ __('index.panel') }}</a></li>
            <
li class="breadcrumb-item active">{{ __('index.modules') }}</li>
        </
ol>
    </
nav>
@
stop

@section('content')
    @include(
'admin/modules/_tabs')

    @if (! empty(
$failedModules))
        <
div class="alert alert-danger">
            <
class="fas fa-triangle-exclamation"></i> {{ __('admin.modules.load_failed') }}:
            <
strong>{{ implode(', 'array_keys($failedModules)) }}</strong>.
            {{ 
__('admin.modules.load_failed_hint') }}
        </
div>
    @endif

    @if (
$moduleNames)
        <
div class="d-flex flex-wrap gap-2 mb-3">
            <
button class="btn btn-sm btn-primary active" data-module-filter data-filter="all" data-class-active="btn-primary" data-class-idle="btn-outline-primary">{{ __('main.all') }} <span class="badge bg-white text-primary">{{ $counts['all'] }}</span></button>
            <
button class="btn btn-sm btn-outline-success" data-module-filter data-filter="installed" data-class-active="btn-success" data-class-idle="btn-outline-success">{{ __('main.installed') }} <span class="badge bg-success">{{ $counts['installed'] }}</span></button>
            <
button class="btn btn-sm btn-outline-secondary" data-module-filter data-filter="disabled" data-class-active="btn-secondary" data-class-idle="btn-outline-secondary">{{ __('main.disabled') }} <span class="badge bg-warning text-dark">{{ $counts['disabled'] }}</span></button>
            <
button class="btn btn-sm btn-outline-danger" data-module-filter data-filter="not-installed" data-class-active="btn-danger" data-class-idle="btn-outline-danger">{{ __('main.not_installed') }} <span class="badge bg-danger">{{ $counts['not-installed'] }}</span></button>
        </
div>

        <
div class="row g-2 mb-3">
            <
div class="col-md-8">
                <
div class="input-group input-group-sm">
                    <
span class="input-group-text"><class="fas fa-search"></i></span>
                    <
input type="text" class="form-control" placeholder="{{ __('main.search') }}" autocomplete="off" data-module-search>
                </
div>
            </
div>
            <
div class="col-md-4">
                <
select class="form-select form-select-sm" data-module-sort>
                    <
option value="name">{{ __('main.sort') }}: {{ __('main.title') }}</option>
                    <
option value="status">{{ __('main.sort') }}: {{ __('main.status') }}</option>
                    <
option value="version">{{ __('main.sort') }}: {{ __('main.version') }}</option>
                </
select>
            </
div>
        </
div>

        <
div data-module-list>
            @foreach (
$moduleNames as $name => $moduleConfig)
                @
php
                    $isInstalled   
= isset($moduleInstall[$name]);
                    
$isActive      $isInstalled && $moduleInstall[$name]->active;
                    
$activeStatus  $isActive 'installed' 'disabled';
                    
$status        $isInstalled $activeStatus 'not-installed';
                    
$registryVer   $registryModules[$name]['version'] ?? null;
                    
$hasRegistryUpdate $isInstalled && $registryVer && version_compare($registryVer$moduleInstall[$name]->version'>');
                    
$sortVersion   $moduleInstall[$name]->version ?? ($moduleConfig['version'] ?? '0');
                    
$sortStatus    $status === 'installed' : ($status === 'disabled' 2);
                    
$searchText    mb_strtolower(trim(($moduleConfig['name'] ?? $name) . ' ' $name ' ' . ($moduleConfig['description'] ?? '') . ' ' . ($moduleConfig['author'] ?? '')));
                @
endphp
                
<div class="section mb-3 shadow" data-module-card
                     data
-status="{{ $status }}"
                     
data-search="{{ $searchText }}"
                     
data-name="{{ mb_strtolower($moduleConfig['name'] ?? $name) }}"
                     
data-version="{{ $sortVersion }}"
                     
data-sort-status="{{ $sortStatus }}">
                    <
div class="section-title">
                        <
class="fas fa-cube {{ $isActive ? 'text-success' : 'text-muted' }}"></i> <class="fw-bold" href="/admin/modules/module?module={{ $name }}">{{ $moduleConfig['name'] ?? $name }}</a> ({{ $name }})
                    </
div>

                    <
div class="section-content">
                        @if (
$isInstalled)
                            <
span class="badge bg-success">{{ __('main.installed') }}</span>

                            @if (! 
$isActive)
                                <
span class="badge bg-warning text-dark">{{ __('main.disabled') }}</span>
                            @endif

                            @if (isset(
$failedModules[$name]))
                                <
span class="badge bg-danger" title="{{ $failedModules[$name] }}">{{ __('admin.modules.load_error') }}</span>
                            @endif

                            @if (
version_compare($moduleConfig['version'], $moduleInstall[$name]->version'>'))
                                <
span class="badge bg-info">{{ __('main.update_available') }} (v.{{ $moduleConfig['version'] }})</span>
                            @elseif (
$hasRegistryUpdate)
                                <
span class="badge bg-info">{{ __('main.update_available') }} (v.{{ $registryVer }})</span>
                            @endif
                            <
br>
                        @else
                            <
span class="badge bg-danger">{{ __('main.not_installed') }}</span><br>
                        @endif
                        {{ 
$moduleConfig['description'] ?? '' }}<br>
                        {{ 
__('main.version') }}: {{ $moduleInstall[$name]->version ?? ($moduleConfig['version'] ?? '') }}<br>
                        {{ 
__('main.author') }}: {{ $moduleConfig['author'] ?? '' }} <a href="{{ $moduleConfig['homepage'] ?? '' }}">{{ $moduleConfig['homepage'] ?? '' }}</a>
                    </
div>
                </
div>
            @endforeach
        </
div>

        <
div class="d-none" data-module-empty>
            {{ 
showError(__('main.nothing_found')) }}
        </
div>
    @else
        {{ 
showError(__('admin.modules.empty_modules')) }}
    @endif

    @include(
'admin/modules/_filter')
@
stop
?>
Онлайн: 1
Реклама