classify admin
This commit is contained in:
6
resources/views/vendor/installer/components/button.blade.php
vendored
Normal file
6
resources/views/vendor/installer/components/button.blade.php
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
<button
|
||||
type="{{ $attributes->get('type', 'button') }}"
|
||||
class="bg-{{ $attributes->get('color', 'blue') }}-500 hover:bg-{{ $attributes->get('color', 'blue') }}-700 text-white font-bold py-2 px-4 rounded inline-flex items-center"
|
||||
>
|
||||
{{ $slot }}
|
||||
</button>
|
||||
7
resources/views/vendor/installer/components/error-check-icon.blade.php
vendored
Normal file
7
resources/views/vendor/installer/components/error-check-icon.blade.php
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
<svg class="w-6 h-6 text-red-600" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor">
|
||||
<path
|
||||
fill-rule="evenodd"
|
||||
d="M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z"
|
||||
clip-rule="evenodd"
|
||||
/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 425 B |
9
resources/views/vendor/installer/components/input.blade.php
vendored
Normal file
9
resources/views/vendor/installer/components/input.blade.php
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
<input
|
||||
class="appearance-none border rounded w-full py-2 px-3 text-gray-700 leading-tight focus:outline-none focus:shadow-outline"
|
||||
id="{{ $attributes->get('id') }}"
|
||||
type="{{ $attributes->get('type', 'text') }}"
|
||||
name="{{ $attributes->get('name') }}"
|
||||
value="{{ $attributes->get('value') }}"
|
||||
{{ $attributes->merge(['required' => $attributes->get('required', false) ? 'required' : null ]) }}
|
||||
aria-label=""
|
||||
>
|
||||
9
resources/views/vendor/installer/components/label.blade.php
vendored
Normal file
9
resources/views/vendor/installer/components/label.blade.php
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
<label
|
||||
for="{{ $attributes->get('for') }}"
|
||||
class="block font-medium leading-5 text-gray-700 pb-2"
|
||||
>
|
||||
{{ $slot }}
|
||||
@if($attributes->get('required', false))
|
||||
<span class="text-red-400">*</span>
|
||||
@endif
|
||||
</label>
|
||||
6
resources/views/vendor/installer/components/link.blade.php
vendored
Normal file
6
resources/views/vendor/installer/components/link.blade.php
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
<a
|
||||
href="{{ $attributes->get('href') }}"
|
||||
class="bg-{{ $attributes->get('color', 'blue') }}-500 hover:bg-{{ $attributes->get('color', 'blue') }}-700 text-white font-bold py-2 px-4 rounded inline-flex items-center"
|
||||
>
|
||||
{{ $slot }}
|
||||
</a>
|
||||
3
resources/views/vendor/installer/components/success-check-icon.blade.php
vendored
Normal file
3
resources/views/vendor/installer/components/success-check-icon.blade.php
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg class="w-6 h-6 text-green-600" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor">
|
||||
<path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clip-rule="evenodd" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 313 B |
26
resources/views/vendor/installer/install.blade.php
vendored
Normal file
26
resources/views/vendor/installer/install.blade.php
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="csrf-token" content="{{ csrf_token() }}">
|
||||
<title>Installation - {{ config('app.name', 'Laravel') }}</title>
|
||||
<link rel="shortcut icon" href="{{ config('installer.icon') }}">
|
||||
<link href="{{ asset('vendor/installer/styles.css') }}" rel="stylesheet">
|
||||
</head>
|
||||
<body class="min-h-screen h-full w-full bg-cover bg-no-repeat bg-center flex" style="background-image: url('{{ config('installer.background') }}');">
|
||||
<div class="py-12 sm:px-12 w-full max-w-5xl m-auto">
|
||||
<div class="w-full bg-white shadow sm:rounded-lg">
|
||||
<div class="px-4 py-8 border-b border-gray-200 sm:px-6">
|
||||
<div class="flex justify-center items-center">
|
||||
<img alt="App logo" class="h-12" src="{{ config('installer.icon') }}">
|
||||
<h2 class="pl-6 uppercase font-medium text-2xl text-gray-800">{{ config('app.name', 'Laravel') }} Installation</h2>
|
||||
</div>
|
||||
</div>
|
||||
<div class="px-4 py-5 sm:px-6 w-full">
|
||||
@yield('step')
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
96
resources/views/vendor/installer/steps/database.blade.php
vendored
Normal file
96
resources/views/vendor/installer/steps/database.blade.php
vendored
Normal file
@@ -0,0 +1,96 @@
|
||||
@extends('installer::install')
|
||||
|
||||
@section('step')
|
||||
<p class="pb-3 text-gray-800">
|
||||
Below you should enter your database connection details. If you're not sure about these, contact your hosting provider.
|
||||
</p>
|
||||
@if($errors->any())
|
||||
@foreach($errors->all() as $error)
|
||||
<div class="bg-red-100 border-l-4 border-red-500 p-4 mb-3">
|
||||
<div class="flex">
|
||||
<div class="flex-shrink-0">
|
||||
<svg class="h-5 w-5 text-red-500" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor">
|
||||
<path fill-rule="evenodd" d="M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7 4a1 1 0 11-2 0 1 1 0 012 0zm-1-9a1 1 0 00-1 1v4a1 1 0 102 0V6a1 1 0 00-1-1z" clip-rule="evenodd"/>
|
||||
</svg>
|
||||
</div>
|
||||
<div class="ml-3">
|
||||
<p class="text-sm leading-5 text-red-700">
|
||||
{!! $error !!}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
@endif
|
||||
<form method="post" action="{{ route('install.database') }}">
|
||||
@csrf
|
||||
<div class="mb-3">
|
||||
<x-installer::label for="database_hostname" :required="true">Database host</x-installer::label>
|
||||
<x-installer::input
|
||||
id="database_hostname"
|
||||
name="database_hostname"
|
||||
value="{{ old('database_hostname', config('database.connections.mysql.host')) }}"
|
||||
:required="true"
|
||||
/>
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<x-installer::label for="database_port" :required="true">Database port</x-installer::label>
|
||||
<x-installer::input
|
||||
id="database_port"
|
||||
name="database_port"
|
||||
value="{{ old('database_port', config('database.connections.mysql.port')) }}"
|
||||
:required="true"
|
||||
/>
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<x-installer::label for="database_name" :required="true">Database name</x-installer::label>
|
||||
<x-installer::input
|
||||
id="database_name"
|
||||
name="database_name"
|
||||
value="{{ old('database_name', config('database.connections.mysql.database', 'laravel')) }}"
|
||||
:required="true"
|
||||
/>
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<x-installer::label for="database_username" :required="true">Database user</x-installer::label>
|
||||
<x-installer::input
|
||||
id="database_username"
|
||||
name="database_username"
|
||||
value="{{ old('database_username', config('database.connections.mysql.username', 'root')) }}"
|
||||
:required="true"
|
||||
/>
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<x-installer::label for="database_password">Database password</x-installer::label>
|
||||
<x-installer::input
|
||||
id="database_password"
|
||||
name="database_password"
|
||||
type="password"
|
||||
value="{{ old('database_password') }}"
|
||||
/>
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<x-installer::label for="database_prefix">Database prefix</x-installer::label>
|
||||
<x-installer::input
|
||||
id="database_prefix"
|
||||
name="database_prefix"
|
||||
value="{{ old('database_prefix') }}"
|
||||
/>
|
||||
</div>
|
||||
<div class="flex justify-end">
|
||||
<x-installer::button type="submit">
|
||||
Next step
|
||||
<svg class="fill-current w-5 h-5 ml-3" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor">
|
||||
<path fill-rule="evenodd" d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z" clip-rule="evenodd"/>
|
||||
</svg>
|
||||
</x-installer::button>
|
||||
</div>
|
||||
</form>
|
||||
<div>
|
||||
<h6 style="color:red">If you are getting error in this Step, Check this below Solutions first</h6>
|
||||
<small>
|
||||
<span>1. Check if your Database Host , Port , Name , User & Password is correct.</span><br>
|
||||
<span>2. Install nd_pdo_mysql extension in your server and then Try again.</span>
|
||||
</small>
|
||||
</div>
|
||||
@endsection
|
||||
57
resources/views/vendor/installer/steps/finish.blade.php
vendored
Normal file
57
resources/views/vendor/installer/steps/finish.blade.php
vendored
Normal file
@@ -0,0 +1,57 @@
|
||||
@extends('installer::install')
|
||||
|
||||
@section('step')
|
||||
<div class="bg-green-100 border-l-4 border-green-500 p-4 mb-6">
|
||||
<div class="flex">
|
||||
<div class="flex-shrink-0">
|
||||
<svg class="h-5 w-5 text-green-500" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor">
|
||||
<path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clip-rule="evenodd" />
|
||||
</svg>
|
||||
</div>
|
||||
<div class="ml-3">
|
||||
<p class="text-sm leading-5 text-green-700">
|
||||
The application has been installed successfully
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="grid grid-cols-2 gap-4 mb-6">
|
||||
<div>
|
||||
<p class="pb-3 text-gray-800">
|
||||
<b>Website address</b>
|
||||
<br>
|
||||
Your website is located at this URL
|
||||
</p>
|
||||
<p class="pb-3">
|
||||
<a class="text-blue-500 hover:underline" href="{{ $base }}">{{ $base }}</a>
|
||||
</p>
|
||||
</div>
|
||||
@if(config('installer.admin_area'))
|
||||
<div>
|
||||
<p class="pb-3 text-gray-800">
|
||||
<b>Administration Area</b>
|
||||
<br>
|
||||
Use the following link to log into the administration area:
|
||||
</p>
|
||||
<p class="pb-3">
|
||||
<a class="text-blue-500 hover:underline" href="{{ $login }}">{{ $login }}</a>
|
||||
</p>
|
||||
@if(config('installer.admin_area.user'))
|
||||
<p class="pb-3 text-gray-800">
|
||||
Email: <b>{{ config('installer.admin_area.user.email') }}</b>
|
||||
<br>
|
||||
Password: <b>{{ config('installer.admin_area.user.password') }}</b>
|
||||
</p>
|
||||
@endif
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
@if(config('installer.support_url'))
|
||||
<p class="pb-3 text-gray-800">
|
||||
<b>Support and questions</b>
|
||||
<br>
|
||||
Need more help?
|
||||
<a class="text-blue-500 hover:underline" href="{{ config('installer.support_url') }}" target="_blank">Contact support</a>.
|
||||
</p>
|
||||
@endif
|
||||
@endsection
|
||||
41
resources/views/vendor/installer/steps/folders.blade.php
vendored
Normal file
41
resources/views/vendor/installer/steps/folders.blade.php
vendored
Normal file
@@ -0,0 +1,41 @@
|
||||
@extends('installer::install')
|
||||
|
||||
@section('step')
|
||||
<p class="pb-3 text-gray-800">Verifying write and read permissions on folders</p>
|
||||
|
||||
<div class="flex flex-wrap border border-gray-200 rounded-md mb-4 divide-y divider-gray-200">
|
||||
@foreach(config('installer.folders') as $check)
|
||||
<div class="w-full px-4 py-2 text-gray-800">
|
||||
{{ base_path() }}{{ str_replace('/', DIRECTORY_SEPARATOR, $check['name']) }}
|
||||
<div class="float-right">
|
||||
@if(@File::chmod($check['check']['value']) < 755)
|
||||
<x-installer::error-check-icon/>
|
||||
@else
|
||||
<x-installer::success-check-icon/>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
</div>
|
||||
<div class="flex justify-end">
|
||||
@if($result)
|
||||
<x-installer::link :href="route('install.purchase-code.index')">
|
||||
Next step
|
||||
<svg class="fill-current w-5 h-5 ml-3" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor">
|
||||
<path fill-rule="evenodd" d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z" clip-rule="evenodd"/>
|
||||
</svg>
|
||||
</x-installer::link>
|
||||
@else
|
||||
<x-installer::link :href="route('install.server')" color="red">
|
||||
Reload
|
||||
<svg class="fill-current w-5 h-5 ml-3" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor">
|
||||
<path
|
||||
fill-rule="evenodd"
|
||||
d="M4 2a1 1 0 011 1v2.101a7.002 7.002 0 0111.601 2.566 1 1 0 11-1.885.666A5.002 5.002 0 005.999 7H9a1 1 0 010 2H4a1 1 0 01-1-1V3a1 1 0 011-1zm.008 9.057a1 1 0 011.276.61A5.002 5.002 0 0014.001 13H11a1 1 0 110-2h5a1 1 0 011 1v5a1 1 0 11-2 0v-2.101a7.002 7.002 0 01-11.601-2.566 1 1 0 01.61-1.276z"
|
||||
clip-rule="evenodd"
|
||||
/>
|
||||
</svg>
|
||||
</x-installer::link>
|
||||
@endif
|
||||
</div>
|
||||
@endsection
|
||||
70
resources/views/vendor/installer/steps/keys.blade.php
vendored
Normal file
70
resources/views/vendor/installer/steps/keys.blade.php
vendored
Normal file
@@ -0,0 +1,70 @@
|
||||
@extends('installer::install')
|
||||
|
||||
@section('step')
|
||||
@if($errors->any())
|
||||
@foreach($errors->all() as $error)
|
||||
<div class="bg-red-100 border-l-4 border-red-500 p-4 mb-3">
|
||||
<div class="flex">
|
||||
<div class="flex-shrink-0">
|
||||
<svg class="h-5 w-5 text-red-500" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor">
|
||||
<path fill-rule="evenodd" d="M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7 4a1 1 0 11-2 0 1 1 0 012 0zm-1-9a1 1 0 00-1 1v4a1 1 0 102 0V6a1 1 0 00-1-1z" clip-rule="evenodd" />
|
||||
</svg>
|
||||
</div>
|
||||
<div class="ml-3">
|
||||
<p class="text-sm leading-5 text-red-700">
|
||||
{!! $error !!}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
@else
|
||||
<div class="bg-green-100 border-l-4 border-green-500 p-4 mb-3">
|
||||
<div class="flex">
|
||||
<div class="flex-shrink-0">
|
||||
<svg class="h-5 w-5 text-green-500" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor">
|
||||
<path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clip-rule="evenodd" />
|
||||
</svg>
|
||||
</div>
|
||||
<div class="ml-3">
|
||||
<p class="text-sm leading-5 text-green-700">
|
||||
Migrations loaded successfully
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
<p class="pb-3 text-gray-800">The encryption keys of the application and the api connection must be generated.</p>
|
||||
<p class="pb-3 text-gray-800">The storage link will also be generated.</p>
|
||||
<p class="pb-3 text-gray-800">Enter the base url of the application.</p>
|
||||
<form method="post" action="{{ route('install.keys') }}">
|
||||
@csrf
|
||||
<div class="mb-3">
|
||||
<x-installer::label for="app_url" :required="true">App url</x-installer::label>
|
||||
<x-installer::input
|
||||
id="app_url"
|
||||
name="app_url"
|
||||
type="url"
|
||||
value="{{ old('app_url', url('/')) }}"
|
||||
:required="true"
|
||||
/>
|
||||
</div>
|
||||
<div class="flex justify-end">
|
||||
@if($errors->any())
|
||||
<x-installer::button type="submit" color="red">
|
||||
Try again
|
||||
<svg class="fill-current w-5 h-5 ml-3" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor">
|
||||
<path fill-rule="evenodd" d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z" clip-rule="evenodd" />
|
||||
</svg>
|
||||
</x-installer::button>
|
||||
@else
|
||||
<x-installer::button type="submit">
|
||||
Next step
|
||||
<svg class="fill-current w-5 h-5 ml-3" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor">
|
||||
<path fill-rule="evenodd" d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z" clip-rule="evenodd" />
|
||||
</svg>
|
||||
</x-installer::button>
|
||||
@endif
|
||||
</div>
|
||||
</form>
|
||||
@endsection
|
||||
59
resources/views/vendor/installer/steps/migrations.blade.php
vendored
Normal file
59
resources/views/vendor/installer/steps/migrations.blade.php
vendored
Normal file
@@ -0,0 +1,59 @@
|
||||
@extends('installer::install')
|
||||
|
||||
@section('step')
|
||||
@if($errors->any())
|
||||
@foreach($errors->all() as $error)
|
||||
<div class="bg-red-100 border-l-4 border-red-500 p-4 mb-3">
|
||||
<div class="flex">
|
||||
<div class="flex-shrink-0">
|
||||
<svg class="h-5 w-5 text-red-500" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor">
|
||||
<path fill-rule="evenodd" d="M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7 4a1 1 0 11-2 0 1 1 0 012 0zm-1-9a1 1 0 00-1 1v4a1 1 0 102 0V6a1 1 0 00-1-1z" clip-rule="evenodd" />
|
||||
</svg>
|
||||
</div>
|
||||
<div class="ml-3">
|
||||
<p class="text-sm leading-5 text-red-700">
|
||||
{!! $error !!}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
@else
|
||||
<div class="bg-green-100 border-l-4 border-green-500 p-4 mb-3">
|
||||
<div class="flex">
|
||||
<div class="flex-shrink-0">
|
||||
<svg class="h-5 w-5 text-green-500" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor">
|
||||
<path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clip-rule="evenodd" />
|
||||
</svg>
|
||||
</div>
|
||||
<div class="ml-3">
|
||||
<p class="text-sm leading-5 text-green-700">
|
||||
Database connection successful
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
<p class="pb-3 text-gray-800">The installation of the database and the loading of all the basic data of the application will be carried out.</p>
|
||||
<p class="pb-3 text-gray-800">This may take a while, please wait and don't close the page.</p>
|
||||
<form method="post" action="{{ route('install.migrations') }}">
|
||||
@csrf
|
||||
<div class="flex justify-end">
|
||||
@if($errors->any())
|
||||
<x-installer::button type="submit" color="red">
|
||||
Try again
|
||||
<svg class="fill-current w-5 h-5 ml-3" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor">
|
||||
<path fill-rule="evenodd" d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z" clip-rule="evenodd" />
|
||||
</svg>
|
||||
</x-installer::button>
|
||||
@else
|
||||
<x-installer::button type="submit">
|
||||
Next step
|
||||
<svg class="fill-current w-5 h-5 ml-3" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor">
|
||||
<path fill-rule="evenodd" d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z" clip-rule="evenodd" />
|
||||
</svg>
|
||||
</x-installer::button>
|
||||
@endif
|
||||
</div>
|
||||
</form>
|
||||
@endsection
|
||||
39
resources/views/vendor/installer/steps/purchase-code.blade.php
vendored
Normal file
39
resources/views/vendor/installer/steps/purchase-code.blade.php
vendored
Normal file
@@ -0,0 +1,39 @@
|
||||
@extends('installer::install')
|
||||
|
||||
@section('step')
|
||||
<p class="pb-3 text-gray-800">
|
||||
Below you should enter your purchase code
|
||||
</p>
|
||||
@if(isset($error))
|
||||
<div class="bg-red-100 border-l-4 border-red-500 p-4 mb-3">
|
||||
<div class="flex">
|
||||
<div class="flex-shrink-0">
|
||||
<svg class="h-5 w-5 text-red-500" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor">
|
||||
<path fill-rule="evenodd" d="M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7 4a1 1 0 11-2 0 1 1 0 012 0zm-1-9a1 1 0 00-1 1v4a1 1 0 102 0V6a1 1 0 00-1-1z" clip-rule="evenodd"/>
|
||||
</svg>
|
||||
</div>
|
||||
<div class="ml-3">
|
||||
<p class="text-sm leading-5 text-red-700">
|
||||
{!! $error !!}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
<form method="post" action="{{ route('install.purchase-code.post') }}">
|
||||
@csrf
|
||||
<div class="mb-3">
|
||||
<label for="purchase_code" class="block font-medium leading-5 text-gray-700 pb-2">Purchase Code <span class="text-red-400">*</span></label>
|
||||
<input class="appearance-none border rounded w-full py-2 px-3 text-gray-700 leading-tight focus:outline-none focus:shadow-outline"
|
||||
id="purchase_code" type="text" name="purchase_code" value="{{ $values['purchase_code'] ?? '' }}" required>
|
||||
</div>
|
||||
<div class="flex justify-end">
|
||||
<button type="submit" class="bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded inline-flex items-center">
|
||||
Next step
|
||||
<svg class="fill-current w-5 h-5 ml-3" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor">
|
||||
<path fill-rule="evenodd" d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z" clip-rule="evenodd"/>
|
||||
</svg>
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
@endsection
|
||||
43
resources/views/vendor/installer/steps/server.blade.php
vendored
Normal file
43
resources/views/vendor/installer/steps/server.blade.php
vendored
Normal file
@@ -0,0 +1,43 @@
|
||||
@extends('installer::install')
|
||||
|
||||
@section('step')
|
||||
<p class="pb-3 text-gray-800">Checking the server requirements</p>
|
||||
<div class="flex flex-wrap border border-gray-200 text-gray-800 rounded-md mb-4 divide-y divider-gray-200">
|
||||
@foreach(config('installer.server') as $check)
|
||||
<div class="w-full px-4 py-2 text-gray-800">
|
||||
{{ $check['name'] }}
|
||||
@if(in_array('version', $check, true))
|
||||
<small>($check['version'])</small>
|
||||
@endif
|
||||
<div class="float-right">
|
||||
@if(($check['check']['type'] === 'php' && PHP_VERSION_ID < $check['check']['value']) || ($check['check']['type'] === 'extension' && !extension_loaded($check['check']['value'])))
|
||||
<x-installer::error-check-icon />
|
||||
@else
|
||||
<x-installer::success-check-icon />
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
</div>
|
||||
<div class="flex justify-end">
|
||||
@if($result)
|
||||
<x-installer::link :href="route('install.folders')">
|
||||
Next step
|
||||
<svg class="fill-current w-5 h-5 ml-3" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor">
|
||||
<path fill-rule="evenodd" d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z" clip-rule="evenodd" />
|
||||
</svg>
|
||||
</x-installer::link>
|
||||
@else
|
||||
<x-installer::link :href="route('install.server')" color="red">
|
||||
Reload
|
||||
<svg class="fill-current w-5 h-5 ml-3" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor">
|
||||
<path
|
||||
fill-rule="evenodd"
|
||||
d="M4 2a1 1 0 011 1v2.101a7.002 7.002 0 0111.601 2.566 1 1 0 11-1.885.666A5.002 5.002 0 005.999 7H9a1 1 0 010 2H4a1 1 0 01-1-1V3a1 1 0 011-1zm.008 9.057a1 1 0 011.276.61A5.002 5.002 0 0014.001 13H11a1 1 0 110-2h5a1 1 0 011 1v5a1 1 0 11-2 0v-2.101a7.002 7.002 0 01-11.601-2.566 1 1 0 01.61-1.276z"
|
||||
clip-rule="evenodd"
|
||||
/>
|
||||
</svg>
|
||||
</x-installer::link>
|
||||
@endif
|
||||
</div>
|
||||
@endsection
|
||||
49
resources/views/vendor/installer/steps/symlink_basedir_check.blade.php
vendored
Normal file
49
resources/views/vendor/installer/steps/symlink_basedir_check.blade.php
vendored
Normal file
@@ -0,0 +1,49 @@
|
||||
@extends('installer::install')
|
||||
|
||||
@section('step')
|
||||
<p class="pb-3 text-gray-800">Verifying php functions are enable/disable</p>
|
||||
|
||||
<div class="flex flex-wrap border border-gray-200 rounded-md mb-4 divide-y divider-gray-200">
|
||||
<div class="w-full px-4 py-2 text-gray-800">
|
||||
Enable php Symlink funcion
|
||||
<div class="float-right">
|
||||
@if($result)
|
||||
<x-installer::success-check-icon />
|
||||
@else
|
||||
<x-installer::error-check-icon />
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
<div class="w-full px-4 py-2 text-gray-800">
|
||||
Disable Open BaseDir funcion
|
||||
<div class="float-right">
|
||||
@if($baseDir)
|
||||
<x-installer::success-check-icon />
|
||||
@else
|
||||
<x-installer::error-check-icon />
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex justify-end">
|
||||
@if($result && $baseDir)
|
||||
<x-installer::link :href="route('install.database')">
|
||||
Next step
|
||||
<svg class="fill-current w-5 h-5 ml-3" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor">
|
||||
<path fill-rule="evenodd" d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z" clip-rule="evenodd" />
|
||||
</svg>
|
||||
</x-installer::link>
|
||||
@else
|
||||
<x-installer::link :href="route('install.server')" color="red">
|
||||
Reload
|
||||
<svg class="fill-current w-5 h-5 ml-3" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor">
|
||||
<path
|
||||
fill-rule="evenodd"
|
||||
d="M4 2a1 1 0 011 1v2.101a7.002 7.002 0 0111.601 2.566 1 1 0 11-1.885.666A5.002 5.002 0 005.999 7H9a1 1 0 010 2H4a1 1 0 01-1-1V3a1 1 0 011-1zm.008 9.057a1 1 0 011.276.61A5.002 5.002 0 0014.001 13H11a1 1 0 110-2h5a1 1 0 011 1v5a1 1 0 11-2 0v-2.101a7.002 7.002 0 01-11.601-2.566 1 1 0 01.61-1.276z"
|
||||
clip-rule="evenodd"
|
||||
/>
|
||||
</svg>
|
||||
</x-installer::link>
|
||||
@endif
|
||||
</div>
|
||||
@endsection
|
||||
42
resources/views/vendor/installer/steps/welcome.blade.php
vendored
Normal file
42
resources/views/vendor/installer/steps/welcome.blade.php
vendored
Normal file
@@ -0,0 +1,42 @@
|
||||
@extends('installer::install')
|
||||
|
||||
@section('step')
|
||||
<p class="pb-2 text-gray-800">
|
||||
Welcome to the installation wizard.
|
||||
</p>
|
||||
<p class="pb-3 text-gray-800">
|
||||
Before getting started, we need some information on the database.
|
||||
You will need to know the following items before proceeding.
|
||||
</p>
|
||||
<div class="px-3 pb-3 text-gray-800">
|
||||
<ol class="list-decimal list-inside">
|
||||
<li>App url</li>
|
||||
<li>Database host</li>
|
||||
<li>Database port</li>
|
||||
<li>Database name</li>
|
||||
<li>Database username</li>
|
||||
<li>Database password</li>
|
||||
</ol>
|
||||
</div>
|
||||
<p class="pb-3 text-gray-800">
|
||||
Most likely these items were supplied to you by your Web Host.
|
||||
If you don’t have this information, then you will need to contact them before you can continue.
|
||||
</p>
|
||||
<p class="pb-3 text-gray-800">
|
||||
Installer will insert this information inside a configuration file so your site can communicate with your database.
|
||||
</p>
|
||||
@if(config('installer.support_url'))
|
||||
<p class="pb-4 text-gray-800">
|
||||
Need more help?
|
||||
<a class="text-blue-500 hover:underline" href="{{ config('installer.support_url') }}" target="_blank">Contact support</a>.
|
||||
</p>
|
||||
@endif
|
||||
<div class="flex justify-end">
|
||||
<x-installer::link :href="route('install.server')">
|
||||
Next step
|
||||
<svg class="fill-current w-5 h-5 ml-3" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor">
|
||||
<path fill-rule="evenodd" d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z" clip-rule="evenodd" />
|
||||
</svg>
|
||||
</x-installer::link>
|
||||
</div>
|
||||
@endsection
|
||||
167
resources/views/vendor/l5-swagger/index.blade.php
vendored
Normal file
167
resources/views/vendor/l5-swagger/index.blade.php
vendored
Normal file
@@ -0,0 +1,167 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>{{config('l5-swagger.documentations.'.$documentation.'.api.title')}}</title>
|
||||
<link rel="stylesheet" type="text/css" href="{{ l5_swagger_asset($documentation, 'swagger-ui.css') }}">
|
||||
<link rel="icon" type="image/png" href="{{ l5_swagger_asset($documentation, 'favicon-32x32.png') }}" sizes="32x32"/>
|
||||
<link rel="icon" type="image/png" href="{{ l5_swagger_asset($documentation, 'favicon-16x16.png') }}" sizes="16x16"/>
|
||||
<style>
|
||||
html
|
||||
{
|
||||
box-sizing: border-box;
|
||||
overflow: -moz-scrollbars-vertical;
|
||||
overflow-y: scroll;
|
||||
}
|
||||
*,
|
||||
*:before,
|
||||
*:after
|
||||
{
|
||||
box-sizing: inherit;
|
||||
}
|
||||
|
||||
body {
|
||||
margin:0;
|
||||
background: #fafafa;
|
||||
}
|
||||
</style>
|
||||
@if(config('l5-swagger.defaults.ui.display.dark_mode'))
|
||||
<style>
|
||||
body#dark-mode,
|
||||
#dark-mode .scheme-container {
|
||||
background: #1b1b1b;
|
||||
}
|
||||
#dark-mode .scheme-container,
|
||||
#dark-mode .opblock .opblock-section-header{
|
||||
box-shadow: 0 1px 2px 0 rgba(255, 255, 255, 0.15);
|
||||
}
|
||||
#dark-mode .operation-filter-input,
|
||||
#dark-mode .dialog-ux .modal-ux,
|
||||
#dark-mode input[type=email],
|
||||
#dark-mode input[type=file],
|
||||
#dark-mode input[type=password],
|
||||
#dark-mode input[type=search],
|
||||
#dark-mode input[type=text],
|
||||
#dark-mode textarea{
|
||||
background: #343434;
|
||||
color: #e7e7e7;
|
||||
}
|
||||
#dark-mode .title,
|
||||
#dark-mode li,
|
||||
#dark-mode p,
|
||||
#dark-mode table,
|
||||
#dark-mode label,
|
||||
#dark-mode .opblock-tag,
|
||||
#dark-mode .opblock .opblock-summary-operation-id,
|
||||
#dark-mode .opblock .opblock-summary-path,
|
||||
#dark-mode .opblock .opblock-summary-path__deprecated,
|
||||
#dark-mode h1,
|
||||
#dark-mode h2,
|
||||
#dark-mode h3,
|
||||
#dark-mode h4,
|
||||
#dark-mode h5,
|
||||
#dark-mode .btn,
|
||||
#dark-mode .tab li,
|
||||
#dark-mode .parameter__name,
|
||||
#dark-mode .parameter__type,
|
||||
#dark-mode .prop-format,
|
||||
#dark-mode .loading-container .loading:after{
|
||||
color: #e7e7e7;
|
||||
}
|
||||
#dark-mode .opblock-description-wrapper p,
|
||||
#dark-mode .opblock-external-docs-wrapper p,
|
||||
#dark-mode .opblock-title_normal p,
|
||||
#dark-mode .response-col_status,
|
||||
#dark-mode table thead tr td,
|
||||
#dark-mode table thead tr th,
|
||||
#dark-mode .response-col_links,
|
||||
#dark-mode .swagger-ui{
|
||||
color: wheat;
|
||||
}
|
||||
#dark-mode .parameter__extension,
|
||||
#dark-mode .parameter__in,
|
||||
#dark-mode .model-title{
|
||||
color: #949494;
|
||||
}
|
||||
#dark-mode table thead tr td,
|
||||
#dark-mode table thead tr th{
|
||||
border-color: rgba(120,120,120,.2);
|
||||
}
|
||||
#dark-mode .opblock .opblock-section-header{
|
||||
background: transparent;
|
||||
}
|
||||
#dark-mode .opblock.opblock-post{
|
||||
background: rgba(73,204,144,.25);
|
||||
}
|
||||
#dark-mode .opblock.opblock-get{
|
||||
background: rgba(97,175,254,.25);
|
||||
}
|
||||
#dark-mode .opblock.opblock-put{
|
||||
background: rgba(252,161,48,.25);
|
||||
}
|
||||
#dark-mode .opblock.opblock-delete{
|
||||
background: rgba(249,62,62,.25);
|
||||
}
|
||||
#dark-mode .loading-container .loading:before{
|
||||
border-color: rgba(255,255,255,10%);
|
||||
border-top-color: rgba(255,255,255,.6);
|
||||
}
|
||||
#dark-mode svg:not(:root){
|
||||
fill: #e7e7e7;
|
||||
}
|
||||
#dark-mode .opblock-summary-description {
|
||||
color: #fafafa;
|
||||
}
|
||||
</style>
|
||||
@endif
|
||||
</head>
|
||||
|
||||
<body @if(config('l5-swagger.defaults.ui.display.dark_mode')) id="dark-mode" @endif>
|
||||
<div id="swagger-ui"></div>
|
||||
|
||||
<script src="{{ l5_swagger_asset($documentation, 'swagger-ui-bundle.js') }}"></script>
|
||||
<script src="{{ l5_swagger_asset($documentation, 'swagger-ui-standalone-preset.js') }}"></script>
|
||||
<script>
|
||||
window.onload = function() {
|
||||
// Build a system
|
||||
const ui = SwaggerUIBundle({
|
||||
dom_id: '#swagger-ui',
|
||||
url: "{!! $urlToDocs !!}",
|
||||
operationsSorter: {!! isset($operationsSorter) ? '"' . $operationsSorter . '"' : 'null' !!},
|
||||
configUrl: {!! isset($configUrl) ? '"' . $configUrl . '"' : 'null' !!},
|
||||
validatorUrl: {!! isset($validatorUrl) ? '"' . $validatorUrl . '"' : 'null' !!},
|
||||
oauth2RedirectUrl: "{{ route('l5-swagger.'.$documentation.'.oauth2_callback', [], $useAbsolutePath) }}",
|
||||
|
||||
requestInterceptor: function(request) {
|
||||
request.headers['X-CSRF-TOKEN'] = '{{ csrf_token() }}';
|
||||
return request;
|
||||
},
|
||||
|
||||
presets: [
|
||||
SwaggerUIBundle.presets.apis,
|
||||
SwaggerUIStandalonePreset
|
||||
],
|
||||
|
||||
plugins: [
|
||||
SwaggerUIBundle.plugins.DownloadUrl
|
||||
],
|
||||
|
||||
layout: "StandaloneLayout",
|
||||
docExpansion : "{!! config('l5-swagger.defaults.ui.display.doc_expansion', 'none') !!}",
|
||||
deepLinking: true,
|
||||
filter: {!! config('l5-swagger.defaults.ui.display.filter') ? 'true' : 'false' !!},
|
||||
persistAuthorization: "{!! config('l5-swagger.defaults.ui.authorization.persist_authorization') ? 'true' : 'false' !!}",
|
||||
|
||||
})
|
||||
|
||||
window.ui = ui
|
||||
|
||||
@if(in_array('oauth2', array_column(config('l5-swagger.defaults.securityDefinitions.securitySchemes'), 'type')))
|
||||
ui.initOAuth({
|
||||
usePkceWithAuthorizationCodeGrant: "{!! (bool)config('l5-swagger.defaults.ui.authorization.oauth2.use_pkce_with_authorization_code_grant') !!}"
|
||||
})
|
||||
@endif
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
337
resources/views/vendor/laravel-log-viewer/log.blade.php
vendored
Normal file
337
resources/views/vendor/laravel-log-viewer/log.blade.php
vendored
Normal file
@@ -0,0 +1,337 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
<meta name="robots" content="noindex, nofollow">
|
||||
<title> {{ __('log viewer') }}</title>
|
||||
<link rel="stylesheet"
|
||||
href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css"
|
||||
integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm"
|
||||
crossorigin="anonymous">
|
||||
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.10.16/css/dataTables.bootstrap4.min.css">
|
||||
<style>
|
||||
body {
|
||||
padding: 25px;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: 1.5em;
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
#table-log {
|
||||
font-size: 0.85rem;
|
||||
}
|
||||
|
||||
.sidebar {
|
||||
font-size: 0.85rem;
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
.btn {
|
||||
font-size: 0.7rem;
|
||||
}
|
||||
|
||||
.stack {
|
||||
font-size: 0.85em;
|
||||
}
|
||||
|
||||
.date {
|
||||
min-width: 75px;
|
||||
}
|
||||
|
||||
.text {
|
||||
word-break: break-all;
|
||||
}
|
||||
|
||||
a.llv-active {
|
||||
z-index: 2;
|
||||
background-color: #f5f5f5;
|
||||
border-color: #777;
|
||||
}
|
||||
|
||||
.list-group-item {
|
||||
word-break: break-word;
|
||||
}
|
||||
|
||||
.folder {
|
||||
padding-top: 15px;
|
||||
}
|
||||
|
||||
.div-scroll {
|
||||
height: 80vh;
|
||||
overflow: hidden auto;
|
||||
}
|
||||
|
||||
.nowrap {
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.list-group {
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* DARK MODE CSS
|
||||
*/
|
||||
|
||||
body[data-theme="dark"] {
|
||||
background-color: #151515;
|
||||
color: #cccccc;
|
||||
}
|
||||
|
||||
[data-theme="dark"] a {
|
||||
color: #4da3ff;
|
||||
}
|
||||
|
||||
[data-theme="dark"] a:hover {
|
||||
color: #a8d2ff;
|
||||
}
|
||||
|
||||
[data-theme="dark"] .list-group-item {
|
||||
background-color: #1d1d1d;
|
||||
border-color: #444;
|
||||
}
|
||||
|
||||
[data-theme="dark"] a.llv-active {
|
||||
background-color: #0468d2;
|
||||
border-color: rgba(255, 255, 255, 0.125);
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
[data-theme="dark"] a.list-group-item:focus, [data-theme="dark"] a.list-group-item:hover {
|
||||
background-color: #273a4e;
|
||||
border-color: rgba(255, 255, 255, 0.125);
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
[data-theme="dark"] .table td, [data-theme="dark"] .table th, [data-theme="dark"] .table thead th {
|
||||
border-color: #616161;
|
||||
}
|
||||
|
||||
[data-theme="dark"] .page-item.disabled .page-link {
|
||||
color: #8a8a8a;
|
||||
background-color: #151515;
|
||||
border-color: #5a5a5a;
|
||||
}
|
||||
|
||||
[data-theme="dark"] .page-link {
|
||||
background-color: #151515;
|
||||
border-color: #5a5a5a;
|
||||
}
|
||||
|
||||
[data-theme="dark"] .page-item.active .page-link {
|
||||
color: #fff;
|
||||
background-color: #0568d2;
|
||||
border-color: #007bff;
|
||||
}
|
||||
|
||||
[data-theme="dark"] .page-link:hover {
|
||||
color: #ffffff;
|
||||
background-color: #0051a9;
|
||||
border-color: #0568d2;
|
||||
}
|
||||
|
||||
[data-theme="dark"] .form-control {
|
||||
border: 1px solid #464646;
|
||||
background-color: #151515;
|
||||
color: #bfbfbf;
|
||||
}
|
||||
|
||||
[data-theme="dark"] .form-control:focus {
|
||||
color: #bfbfbf;
|
||||
background-color: #212121;
|
||||
border-color: #4a4a4a;
|
||||
}
|
||||
|
||||
[data-theme="dark"] a.btn {
|
||||
color: white;
|
||||
}
|
||||
</style>
|
||||
|
||||
<script>
|
||||
function initTheme() {
|
||||
const darkThemeSelected =
|
||||
localStorage.getItem('darkSwitch') !== null &&
|
||||
localStorage.getItem('darkSwitch') === 'dark';
|
||||
darkSwitch.checked = darkThemeSelected;
|
||||
darkThemeSelected ? document.body.setAttribute('data-theme', 'dark') :
|
||||
document.body.removeAttribute('data-theme');
|
||||
}
|
||||
|
||||
function resetTheme() {
|
||||
if (darkSwitch.checked) {
|
||||
document.body.setAttribute('data-theme', 'dark');
|
||||
localStorage.setItem('darkSwitch', 'dark');
|
||||
} else {
|
||||
document.body.removeAttribute('data-theme');
|
||||
localStorage.removeItem('darkSwitch');
|
||||
}
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col sidebar mb-3">
|
||||
<h1><i class="fa fa-calendar" aria-hidden="true"></i> {{ __('log viewer') }}</h1>
|
||||
<div class="my-2">
|
||||
<a href="{{route('settings.index')}}" class="btn btn-primary">{{ __('Back to Settings') }}</a>
|
||||
</div>
|
||||
<div class="custom-control custom-switch" style="padding-bottom:20px;">
|
||||
|
||||
<input type="checkbox" class="custom-control-input" id="darkSwitch">
|
||||
<label class="custom-control-label" for="darkSwitch" style="margin-top: 6px;">{{ __('Dark Mode') }}</label>
|
||||
</div>
|
||||
|
||||
<div class="list-group div-scroll">
|
||||
@foreach($folders as $folder)
|
||||
<div class="list-group-item">
|
||||
<?php
|
||||
\Rap2hpoutre\LaravelLogViewer\LaravelLogViewer::DirectoryTreeStructure($storage_path, $structure);
|
||||
?>
|
||||
|
||||
</div>
|
||||
@endforeach
|
||||
@foreach($files as $file)
|
||||
<a href="?l={{ \Illuminate\Support\Facades\Crypt::encrypt($file) }}"
|
||||
class="list-group-item @if ($current_file == $file) llv-active @endif">
|
||||
{{$file}}
|
||||
</a>
|
||||
@endforeach
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-10 table-container">
|
||||
@if ($logs === null)
|
||||
<div>
|
||||
Log file >50M, please download it.
|
||||
</div>
|
||||
@else
|
||||
<table id="table-log" class="table table-striped" data-ordering-index="{{ $standardFormat ? 2 : 0 }}">
|
||||
<thead>
|
||||
<tr>
|
||||
@if ($standardFormat)
|
||||
<th>Level</th>
|
||||
<th>Context</th>
|
||||
<th>Date</th>
|
||||
@else
|
||||
<th>Line number</th>
|
||||
@endif
|
||||
<th>Content</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
@foreach($logs as $key => $log)
|
||||
<tr data-display="stack{{{$key}}}">
|
||||
@if ($standardFormat)
|
||||
<td class="nowrap text-{{{$log['level_class']}}}">
|
||||
<span class="fa fa-{{{$log['level_img']}}}" aria-hidden="true"></span> {{$log['level']}}
|
||||
</td>
|
||||
<td class="text">{{$log['context']}}</td>
|
||||
@endif
|
||||
<td class="date">{{{$log['date']}}}</td>
|
||||
<td class="text">
|
||||
{{-- @if ($log['stack'])--}}
|
||||
{{-- <button type="button"--}}
|
||||
{{-- class="float-right expand btn btn-outline-dark btn-sm mb-2 ml-2"--}}
|
||||
{{-- data-display="stack{{{$key}}}">--}}
|
||||
{{-- <span class="fa fa-search"></span>--}}
|
||||
{{-- </button>--}}
|
||||
{{-- @endif--}}
|
||||
{{{$log['text']}}}
|
||||
@if (isset($log['in_file']))
|
||||
<br/>{{{$log['in_file']}}}
|
||||
@endif
|
||||
@if ($log['stack'])
|
||||
<div class="mt-2" id="stack{{{$key}}}" style="white-space: pre-wrap;">{{{ trim($log['stack']) }}}</div>
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
@endif
|
||||
<div class="p-3">
|
||||
@if($current_file)
|
||||
<a href="?dl={{ \Illuminate\Support\Facades\Crypt::encrypt($current_file) }}{{ ($current_folder) ? '&f=' . \Illuminate\Support\Facades\Crypt::encrypt($current_folder) : '' }}">
|
||||
<span class="fa fa-download"></span>{{ __('Download file') }}
|
||||
</a>
|
||||
-
|
||||
<a id="clean-log" href="?clean={{ \Illuminate\Support\Facades\Crypt::encrypt($current_file) }}{{ ($current_folder) ? '&f=' . \Illuminate\Support\Facades\Crypt::encrypt($current_folder) : '' }}">
|
||||
<span class="fa fa-sync"></span>{{ __('Clean file') }}
|
||||
</a>
|
||||
-
|
||||
<a id="delete-log" href="?del={{ \Illuminate\Support\Facades\Crypt::encrypt($current_file) }}{{ ($current_folder) ? '&f=' . \Illuminate\Support\Facades\Crypt::encrypt($current_folder) : '' }}">
|
||||
<span class="fa fa-trash"></span>{{ __('Delete file') }}
|
||||
</a>
|
||||
@if(count($files) > 1)
|
||||
-
|
||||
<a id="delete-all-log" href="?delall=true{{ ($current_folder) ? '&f=' . \Illuminate\Support\Facades\Crypt::encrypt($current_folder) : '' }}">
|
||||
<span class="fa fa-trash-alt"></span> {{ __('Delete all files') }}
|
||||
</a>
|
||||
@endif
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- jQuery for Bootstrap -->
|
||||
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js"
|
||||
integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN"
|
||||
crossorigin="anonymous"></script>
|
||||
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"
|
||||
integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl"
|
||||
crossorigin="anonymous"></script>
|
||||
<!-- FontAwesome -->
|
||||
<script defer src="https://use.fontawesome.com/releases/v5.0.6/js/all.js"></script>
|
||||
<!-- Datatables -->
|
||||
<script type="text/javascript" src="https://cdn.datatables.net/1.10.16/js/jquery.dataTables.min.js"></script>
|
||||
<script type="text/javascript" src="https://cdn.datatables.net/1.10.16/js/dataTables.bootstrap4.min.js"></script>
|
||||
|
||||
<script>
|
||||
|
||||
// dark mode by https://github.com/coliff/dark-mode-switch
|
||||
const darkSwitch = document.getElementById('darkSwitch');
|
||||
|
||||
// this is here so we can get the body dark mode before the page displays
|
||||
// otherwise the page will be white for a second...
|
||||
initTheme();
|
||||
|
||||
window.addEventListener('load', () => {
|
||||
if (darkSwitch) {
|
||||
initTheme();
|
||||
darkSwitch.addEventListener('change', () => {
|
||||
resetTheme();
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
// end darkmode js
|
||||
|
||||
$(document).ready(function () {
|
||||
// $('.table-container tr').on('click', function () {
|
||||
// $('#' + $(this).data('display')).toggle();
|
||||
// });
|
||||
$('#table-log').DataTable({
|
||||
"order": [$('#table-log').data('orderingIndex'), 'desc'],
|
||||
"stateSave": true,
|
||||
"stateSaveCallback": function (settings, data) {
|
||||
window.localStorage.setItem("datatable", JSON.stringify(data));
|
||||
},
|
||||
"stateLoadCallback": function (settings) {
|
||||
var data = JSON.parse(window.localStorage.getItem("datatable"));
|
||||
if (data) data.start = 0;
|
||||
return data;
|
||||
}
|
||||
});
|
||||
$('#delete-log, #clean-log, #delete-all-log').click(function () {
|
||||
return confirm('Are you sure?');
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user