Changes for shared hosting and numerous installer fixes
This commit is contained in:
@@ -34,7 +34,7 @@ Options -Indexes
|
|||||||
RewriteCond %{REQUEST_FILENAME} !-f
|
RewriteCond %{REQUEST_FILENAME} !-f
|
||||||
RewriteRule ^ index.php [L]
|
RewriteRule ^ index.php [L]
|
||||||
|
|
||||||
RewriteRule ^(.*)$ public/$1 [L]
|
#RewriteRule ^(.*)$ public/$1 [L]
|
||||||
|
|
||||||
# Handle Authorization Header
|
# Handle Authorization Header
|
||||||
RewriteCond %{HTTP:Authorization} .
|
RewriteCond %{HTTP:Authorization} .
|
||||||
|
|||||||
@@ -6,16 +6,26 @@
|
|||||||
namespace App\Http\Middleware;
|
namespace App\Http\Middleware;
|
||||||
|
|
||||||
use Closure;
|
use Closure;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
|
||||||
class InstalledCheck
|
class InstalledCheck
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Check the app.key to see whether we're installed or not
|
* Check the app.key to see whether we're installed or not
|
||||||
*
|
*
|
||||||
|
* If the default key is set and we're not in any of the installer routes
|
||||||
|
* show the message that we need to be installed
|
||||||
|
*
|
||||||
|
* @param Request $request
|
||||||
|
* @param Closure $next
|
||||||
|
* @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View|mixed
|
||||||
*/
|
*/
|
||||||
public function handle($request, Closure $next)
|
public function handle(Request $request, Closure $next)
|
||||||
{
|
{
|
||||||
if (config('app.key') === 'NOT_INSTALLED') {
|
if (config('app.key') === 'base64:zdgcDqu9PM8uGWCtMxd74ZqdGJIrnw812oRMmwDF6KY='
|
||||||
|
&& !$request->is(['install', 'install/*'])
|
||||||
|
&& !$request->is(['update', 'update/*'])
|
||||||
|
) {
|
||||||
return view('system.errors.not_installed');
|
return view('system.errors.not_installed');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -14,3 +14,17 @@ if (!function_exists('setting')) {
|
|||||||
return $settingRepo->retrieve($key);
|
return $settingRepo->retrieve($key);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Wrap the asset URL in the publicBaseUrl that's been
|
||||||
|
* set
|
||||||
|
*/
|
||||||
|
if (!function_exists('public_asset')) {
|
||||||
|
function public_asset($path, $parameters = [], $secure = null)
|
||||||
|
{
|
||||||
|
$publicBaseUrl = app()->publicUrlPath();
|
||||||
|
$path = $publicBaseUrl . $path;
|
||||||
|
|
||||||
|
return url($path, $parameters, $secure);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -12,7 +12,8 @@ if (!defined('DS')) {
|
|||||||
*/
|
*/
|
||||||
class Application extends LaravelApplication
|
class Application extends LaravelApplication
|
||||||
{
|
{
|
||||||
private $publicPath;
|
private $publicDirPath,
|
||||||
|
$publicUrlPath = '/';
|
||||||
|
|
||||||
public function __construct(string $basePath = null)
|
public function __construct(string $basePath = null)
|
||||||
{
|
{
|
||||||
@@ -48,9 +49,32 @@ class Application extends LaravelApplication
|
|||||||
* Override paths
|
* Override paths
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public function setPublicPath($publicPath)
|
public function setPublicPath($publicDirPath)
|
||||||
{
|
{
|
||||||
$this->publicPath = $publicPath;
|
$this->publicDirPath = $publicDirPath;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Added for the custom filesystem driver. Used in the index.php
|
||||||
|
* in the root of the install to set it to point to /public,
|
||||||
|
* instead of just /
|
||||||
|
*
|
||||||
|
* @param $publicUrlPath
|
||||||
|
*/
|
||||||
|
public function setPublicUrlPath($publicUrlPath)
|
||||||
|
{
|
||||||
|
$this->publicUrlPath = $publicUrlPath;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Added for the custom filesystem driver lookup on what to use
|
||||||
|
* for the base URL
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function publicUrlPath()
|
||||||
|
{
|
||||||
|
return $this->publicUrlPath ?: '/';
|
||||||
}
|
}
|
||||||
|
|
||||||
public function configPath($path = '')
|
public function configPath($path = '')
|
||||||
@@ -70,7 +94,7 @@ class Application extends LaravelApplication
|
|||||||
|
|
||||||
public function publicPath()
|
public function publicPath()
|
||||||
{
|
{
|
||||||
return $this->publicPath ?: $this->basePath . DS . 'public';
|
return $this->publicDirPath ?: $this->basePath . DS . 'public';
|
||||||
}
|
}
|
||||||
|
|
||||||
public function resourcePath($path = '')
|
public function resourcePath($path = '')
|
||||||
|
|||||||
@@ -12,7 +12,9 @@ return [
|
|||||||
'locale' => env('APP_LOCALE', 'en'),
|
'locale' => env('APP_LOCALE', 'en'),
|
||||||
'fallback_locale' => 'en',
|
'fallback_locale' => 'en',
|
||||||
|
|
||||||
'key' => env('APP_KEY', 'NOT_INSTALLED'),
|
# Is the default key cipher. Needs to be changed, otherwise phpVMS will think
|
||||||
|
# that it isn't installed. Doubles as a security feature, so keys are scrambled
|
||||||
|
'key' => env('APP_KEY', 'base64:zdgcDqu9PM8uGWCtMxd74ZqdGJIrnw812oRMmwDF6KY='),
|
||||||
'cipher' => 'AES-256-CBC',
|
'cipher' => 'AES-256-CBC',
|
||||||
|
|
||||||
'log' => env('APP_LOG', 'daily'),
|
'log' => env('APP_LOG', 'daily'),
|
||||||
@@ -71,6 +73,7 @@ return [
|
|||||||
App\Providers\AuthServiceProvider::class,
|
App\Providers\AuthServiceProvider::class,
|
||||||
App\Providers\EventServiceProvider::class,
|
App\Providers\EventServiceProvider::class,
|
||||||
App\Providers\RouteServiceProvider::class,
|
App\Providers\RouteServiceProvider::class,
|
||||||
|
Nwidart\Modules\LaravelModulesServiceProvider::class,
|
||||||
],
|
],
|
||||||
|
|
||||||
'aliases' => [
|
'aliases' => [
|
||||||
|
|||||||
@@ -9,7 +9,9 @@ $path_to_phpvms_folder = __DIR__;
|
|||||||
require $path_to_phpvms_folder.'/bootstrap/autoload.php';
|
require $path_to_phpvms_folder.'/bootstrap/autoload.php';
|
||||||
|
|
||||||
$app = require_once $path_to_phpvms_folder.'/bootstrap/app.php';
|
$app = require_once $path_to_phpvms_folder.'/bootstrap/app.php';
|
||||||
|
|
||||||
$app->setPublicPath(__DIR__ . '/public');
|
$app->setPublicPath(__DIR__ . '/public');
|
||||||
|
$app->setPublicUrlPath(env('APP_PUBLIC_URL', '/public'));
|
||||||
|
|
||||||
$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);
|
$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);
|
||||||
|
|
||||||
|
|||||||
@@ -5,8 +5,6 @@ return [
|
|||||||
'version' => '7.0.0'
|
'version' => '7.0.0'
|
||||||
],
|
],
|
||||||
|
|
||||||
'env_filename' => 'env.php',
|
|
||||||
|
|
||||||
'extensions' => [
|
'extensions' => [
|
||||||
'openssl',
|
'openssl',
|
||||||
'pdo',
|
'pdo',
|
||||||
|
|||||||
@@ -12,6 +12,8 @@ use Modules\Installer\Services\DatabaseService;
|
|||||||
use Modules\Installer\Services\EnvironmentService;
|
use Modules\Installer\Services\EnvironmentService;
|
||||||
use Modules\Installer\Services\RequirementsService;
|
use Modules\Installer\Services\RequirementsService;
|
||||||
|
|
||||||
|
use Symfony\Component\HttpFoundation\File\Exception\FileException;
|
||||||
|
|
||||||
|
|
||||||
class InstallerController extends AppBaseController
|
class InstallerController extends AppBaseController
|
||||||
{
|
{
|
||||||
@@ -31,7 +33,7 @@ class InstallerController extends AppBaseController
|
|||||||
*/
|
*/
|
||||||
public function index()
|
public function index()
|
||||||
{
|
{
|
||||||
if(config('app.key') !== 'NOT_INSTALLED') {
|
if(config('app.key') !== 'base64:zdgcDqu9PM8uGWCtMxd74ZqdGJIrnw812oRMmwDF6KY=') {
|
||||||
return view('installer::errors/already-installed');
|
return view('installer::errors/already-installed');
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -127,14 +129,19 @@ class InstallerController extends AppBaseController
|
|||||||
{
|
{
|
||||||
Log::info('ENV setup', $request->toArray());
|
Log::info('ENV setup', $request->toArray());
|
||||||
|
|
||||||
$this->envService->createEnvFile(
|
try {
|
||||||
$request->input('db_conn'),
|
$this->envService->createEnvFile(
|
||||||
$request->input('db_host'),
|
$request->input('db_conn'),
|
||||||
$request->input('db_port'),
|
$request->input('db_host'),
|
||||||
$request->input('db_name'),
|
$request->input('db_port'),
|
||||||
$request->input('db_user'),
|
$request->input('db_name'),
|
||||||
$request->input('db_pass')
|
$request->input('db_user'),
|
||||||
);
|
$request->input('db_pass')
|
||||||
|
);
|
||||||
|
} catch(FileException $e) {
|
||||||
|
flash()->error($e->getMessage());
|
||||||
|
return redirect(route('installer.step2'));
|
||||||
|
}
|
||||||
|
|
||||||
# Needs to redirect so it can load the new .env
|
# Needs to redirect so it can load the new .env
|
||||||
Log::info('Redirecting to database setup');
|
Log::info('Redirecting to database setup');
|
||||||
|
|||||||
@@ -14,9 +14,9 @@
|
|||||||
<link rel="stylesheet"
|
<link rel="stylesheet"
|
||||||
href="https://maxcdn.bootstrapcdn.com/font-awesome/latest/css/font-awesome.min.css"/>
|
href="https://maxcdn.bootstrapcdn.com/font-awesome/latest/css/font-awesome.min.css"/>
|
||||||
<!-- CSS Files -->
|
<!-- CSS Files -->
|
||||||
<link href="/assets/frontend/css/bootstrap.min.css" rel="stylesheet"/>
|
<link href="{!! public_asset('/assets/frontend/css/bootstrap.min.css') !!}" rel="stylesheet"/>
|
||||||
<link href="/assets/frontend/css/now-ui-kit.css" rel="stylesheet"/>
|
<link href="{!! public_asset('/assets/frontend/css/now-ui-kit.css') !!}" rel="stylesheet"/>
|
||||||
<link href="/assets/frontend/css/styles.css" rel="stylesheet"/>
|
<link href="{!! public_asset('/assets/frontend/css/styles.css') !!}" rel="stylesheet"/>
|
||||||
{{--<link href="/assets/frontend/css/installer.css" rel="stylesheet"/>--}}
|
{{--<link href="/assets/frontend/css/installer.css" rel="stylesheet"/>--}}
|
||||||
|
|
||||||
<link rel="stylesheet"
|
<link rel="stylesheet"
|
||||||
@@ -42,7 +42,7 @@
|
|||||||
</button>
|
</button>
|
||||||
<p class="navbar-brand text-white" data-placement="bottom" target="_blank">
|
<p class="navbar-brand text-white" data-placement="bottom" target="_blank">
|
||||||
<a href="{!! url('/') !!}">
|
<a href="{!! url('/') !!}">
|
||||||
<img src="/assets/frontend/img/logo_blue_bg.svg" width="135px" style=""/>
|
<img src="{!! public_asset('/assets/frontend/img/logo_blue_bg.svg') !!}" width="135px" style=""/>
|
||||||
</a>
|
</a>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
@@ -68,7 +68,7 @@
|
|||||||
|
|
||||||
{{--<script src="https://cdn.rawgit.com/google/code-prettify/master/loader/run_prettify.js"></script>--}}
|
{{--<script src="https://cdn.rawgit.com/google/code-prettify/master/loader/run_prettify.js"></script>--}}
|
||||||
|
|
||||||
<script src="/assets/frontend/js/core/jquery.3.2.1.min.js" type="text/javascript"></script>
|
<script src="{!! public_asset('/assets/frontend/js/core/jquery.3.2.1.min.js') !!}" type="text/javascript"></script>
|
||||||
{{--<script src="/assets/frontend/js/core/bootstrap.min.js" type="text/javascript"></script>--}}
|
{{--<script src="/assets/frontend/js/core/bootstrap.min.js" type="text/javascript"></script>--}}
|
||||||
{{--<script src="/assets/frontend/js/now-ui-kit.js" type="text/javascript"></script>--}}
|
{{--<script src="/assets/frontend/js/now-ui-kit.js" type="text/javascript"></script>--}}
|
||||||
<script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js"></script>
|
<script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js"></script>
|
||||||
|
|||||||
@@ -4,6 +4,10 @@ namespace Modules\Installer\Services;
|
|||||||
|
|
||||||
use Illuminate\Encryption\Encrypter;
|
use Illuminate\Encryption\Encrypter;
|
||||||
use Log;
|
use Log;
|
||||||
|
use Symfony\Component\Filesystem\Exception\IOException;
|
||||||
|
use Symfony\Component\HttpFoundation\File\Exception\FileException;
|
||||||
|
use Symfony\Component\Filesystem\Filesystem;
|
||||||
|
use Symfony\Component\Filesystem\Exception\IOExceptionInterface;
|
||||||
|
|
||||||
class EnvironmentService
|
class EnvironmentService
|
||||||
{
|
{
|
||||||
@@ -51,11 +55,7 @@ class EnvironmentService
|
|||||||
if(\extension_loaded('apc')) {
|
if(\extension_loaded('apc')) {
|
||||||
$opts['CACHE_DRIVER'] = 'apc';
|
$opts['CACHE_DRIVER'] = 'apc';
|
||||||
} else {
|
} else {
|
||||||
if($opts['APP_ENV'] === 'dev') {
|
$opts['CACHE_DRIVER'] = 'array';
|
||||||
$opts['CACHE_DRIVER'] = 'array';
|
|
||||||
} else {
|
|
||||||
$opts['CACHE_DRIVER'] = 'file';
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return $opts;
|
return $opts;
|
||||||
@@ -83,17 +83,26 @@ class EnvironmentService
|
|||||||
/**
|
/**
|
||||||
* Get the template file name and write it out
|
* Get the template file name and write it out
|
||||||
* @param $opts
|
* @param $opts
|
||||||
|
* @throws \Symfony\Component\HttpFoundation\File\Exception\FileException
|
||||||
*/
|
*/
|
||||||
protected function writeEnvFile($opts)
|
protected function writeEnvFile($opts)
|
||||||
{
|
{
|
||||||
$env_file = \App::environmentPath();
|
$env_file = \App::environmentFilePath();
|
||||||
$env_file .= config('installer.env_filename');
|
|
||||||
|
if(file_exists($env_file) && !is_writable($env_file)) {
|
||||||
|
Log::error('Permissions on existing env.php is not writable');
|
||||||
|
throw new FileException('Can\'t write to the env.php file! Check the permissions');
|
||||||
|
}
|
||||||
|
|
||||||
|
$fp = fopen($env_file, 'wb');
|
||||||
|
if($fp === false) {
|
||||||
|
throw new FileException('Couldn\'t write the env.php. (' . error_get_last() .')');
|
||||||
|
}
|
||||||
|
|
||||||
# render it within Blade and log the contents
|
# render it within Blade and log the contents
|
||||||
$env_contents = view('installer::stubs/env', $opts);
|
$env_contents = view('installer::stubs/env', $opts);
|
||||||
Log::info($env_contents);
|
Log::info($env_contents);
|
||||||
|
|
||||||
$fp = fopen($env_file, 'w');
|
|
||||||
fwrite($fp, $env_contents);
|
fwrite($fp, $env_contents);
|
||||||
fclose($fp);
|
fclose($fp);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -48,6 +48,8 @@ class RequirementsService {
|
|||||||
*/
|
*/
|
||||||
public function checkPermissions(): array
|
public function checkPermissions(): array
|
||||||
{
|
{
|
||||||
|
clearstatcache();
|
||||||
|
|
||||||
$directories = [];
|
$directories = [];
|
||||||
foreach (config('installer.permissions') as $dir)
|
foreach (config('installer.permissions') as $dir)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -8,14 +8,13 @@
|
|||||||
<meta content='width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0' name='viewport' />
|
<meta content='width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0' name='viewport' />
|
||||||
<meta name="viewport" content="width=device-width" />
|
<meta name="viewport" content="width=device-width" />
|
||||||
|
|
||||||
<link rel="icon" type="image/png" href="/assets/admin/img/favicon.png">
|
<link rel="icon" type="image/png" href="{!! public_asset('/assets/admin/img/favicon.png') !!}">
|
||||||
|
|
||||||
<link href='https://fonts.googleapis.com/css?family=Muli:400,300' rel='stylesheet' type='text/css'>
|
<link href='https://fonts.googleapis.com/css?family=Muli:400,300' rel='stylesheet' type='text/css'>
|
||||||
<link href="http://fonts.googleapis.com/css?family=Roboto:400,700,300" rel="stylesheet" type="text/css">
|
<link href="http://fonts.googleapis.com/css?family=Roboto:400,700,300" rel="stylesheet" type="text/css">
|
||||||
|
|
||||||
<link rel="stylesheet" href="{{ mix('/assets/admin/css/vendor.min.css') }}">
|
<link rel="stylesheet" href="{{ public_asset('/assets/admin/css/vendor.min.css') }}">
|
||||||
{{--{!! Html::style(url('/assets/admin/css/vendor.min.css')) !!}--}}
|
<link rel="stylesheet" href="{{ public_asset('/assets/admin/css/admin.css') }}">
|
||||||
{!! Html::style(url('/assets/admin/css/admin.css')) !!}
|
|
||||||
|
|
||||||
<style type="text/css">
|
<style type="text/css">
|
||||||
/*.card {
|
/*.card {
|
||||||
@@ -78,17 +77,17 @@
|
|||||||
|
|
||||||
<script src="https://cdn.jsdelivr.net/lodash/4.17.4/lodash.min.js"></script>
|
<script src="https://cdn.jsdelivr.net/lodash/4.17.4/lodash.min.js"></script>
|
||||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
|
||||||
<script src="/assets/vendor/bootstrap/bootstrap.min.js" type="text/javascript"></script>
|
<script src="{!! public_asset('/assets/vendor/bootstrap/bootstrap.min.js') !!}" type="text/javascript"></script>
|
||||||
<script src="/assets/vendor/bootstrap/bootstrap-notify.js"></script>
|
<script src="{!! public_asset('/assets/vendor/bootstrap/bootstrap-notify.js') !!}"></script>
|
||||||
<script src="/assets/vendor/chartist/chartist.min.js"></script>
|
<script src="{!! public_asset('/assets/vendor/chartist/chartist.min.js') !!}"></script>
|
||||||
<script src="/assets/vendor/select2/dist/js/select2.js"></script>
|
<script src="{!! public_asset('/assets/vendor/select2/dist/js/select2.js') !!}"></script>
|
||||||
<script src="/assets/vendor/pjax/jquery.pjax.js"></script>
|
<script src="{!! public_asset('/assets/vendor/pjax/jquery.pjax.js') !!}"></script>
|
||||||
<script src="/assets/vendor/icheck/icheck.js"></script>
|
<script src="{!! public_asset('/assets/vendor/icheck/icheck.js') !!}"></script>
|
||||||
<script src="/assets/vendor/rivets/dist/rivets.bundled.min.js"></script>
|
<script src="{!! public_asset('/assets/vendor/rivets/dist/rivets.bundled.min.js') !!}"></script>
|
||||||
<script src="//cdnjs.cloudflare.com/ajax/libs/x-editable/1.5.0/bootstrap3-editable/js/bootstrap-editable.min.js"></script>
|
<script src="//cdnjs.cloudflare.com/ajax/libs/x-editable/1.5.0/bootstrap3-editable/js/bootstrap-editable.min.js"></script>
|
||||||
<script src="https://unpkg.com/leaflet@1.2.0/dist/leaflet.js"></script>
|
<script src="https://unpkg.com/leaflet@1.2.0/dist/leaflet.js"></script>
|
||||||
|
|
||||||
<script src="{!! url('/assets/admin/js/admin.js') !!}"></script>
|
<script src="{!! public_asset('/assets/admin/js/admin.js') !!}"></script>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
rivets.configure({
|
rivets.configure({
|
||||||
|
|||||||
@@ -14,11 +14,11 @@
|
|||||||
<link href="https://fonts.googleapis.com/css?family=Montserrat:400,700,200" rel="stylesheet"/>
|
<link href="https://fonts.googleapis.com/css?family=Montserrat:400,700,200" rel="stylesheet"/>
|
||||||
<link rel="stylesheet"
|
<link rel="stylesheet"
|
||||||
href="https://maxcdn.bootstrapcdn.com/font-awesome/latest/css/font-awesome.min.css"/>
|
href="https://maxcdn.bootstrapcdn.com/font-awesome/latest/css/font-awesome.min.css"/>
|
||||||
<!-- CSS Files -->
|
|
||||||
<link href="/assets/frontend/css/bootstrap.min.css" rel="stylesheet"/>
|
<link href="{!! public_asset('/assets/frontend/css/bootstrap.min.css') !!}" rel="stylesheet"/>
|
||||||
<link href="/assets/vendor/select2/dist/css/select2.min.css" rel="stylesheet"/>
|
<link href="{!! public_asset('/assets/vendor/select2/dist/css/select2.min.css') !!}" rel="stylesheet"/>
|
||||||
<link href="/assets/frontend/css/now-ui-kit.css" rel="stylesheet"/>
|
<link href="{!! public_asset('/assets/frontend/css/now-ui-kit.css') !!}" rel="stylesheet"/>
|
||||||
<link href="/assets/frontend/css/styles.css" rel="stylesheet"/>
|
<link href="{!! public_asset('/assets/frontend/css/styles.css') !!}" rel="stylesheet"/>
|
||||||
|
|
||||||
@yield('css')
|
@yield('css')
|
||||||
|
|
||||||
@@ -131,32 +131,20 @@
|
|||||||
<div class="wrapper">
|
<div class="wrapper">
|
||||||
<div class="clear"></div>
|
<div class="clear"></div>
|
||||||
<div class="container-fluid" style="width: 85%!important;">
|
<div class="container-fluid" style="width: 85%!important;">
|
||||||
|
@include('layouts.default.flash.message')
|
||||||
@yield('content')
|
@yield('content')
|
||||||
</div>
|
</div>
|
||||||
<div class="clearfix" style="height: 200px;"></div>
|
<div class="clearfix" style="height: 200px;"></div>
|
||||||
{{--<footer class="footer footer-default">--}}
|
|
||||||
{{--<div class="container">--}}
|
|
||||||
{{--<div class="copyright">--}}
|
|
||||||
{{--©--}}
|
|
||||||
{{--<script>--}}
|
|
||||||
{{--document.write(new Date().getFullYear())--}}
|
|
||||||
{{--</script>--}}
|
|
||||||
{{--, Designed by--}}
|
|
||||||
{{--<a href="http://www.invisionapp.com" target="_blank">Invision</a>. Coded by--}}
|
|
||||||
{{--<a href="https://www.creative-tim.com" target="_blank">Creative Tim</a>.--}}
|
|
||||||
{{--</div>--}}
|
|
||||||
{{--</div>--}}
|
|
||||||
{{--</footer>--}}
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="/assets/frontend/js/core/jquery.3.2.1.min.js" type="text/javascript"></script>
|
<script src="{!! public_asset('/assets/frontend/js/core/jquery.3.2.1.min.js') !!}" type="text/javascript"></script>
|
||||||
<script src="/assets/frontend/js/core/tether.min.js" type="text/javascript"></script>
|
<script src="{!! public_asset('/assets/frontend/js/core/tether.min.js') !!}" type="text/javascript"></script>
|
||||||
<script src="/assets/frontend/js/core/bootstrap.min.js" type="text/javascript"></script>
|
<script src="{!! public_asset('/assets/frontend/js/core/bootstrap.min.js') !!}" type="text/javascript"></script>
|
||||||
<script src="/assets/frontend/js/plugins/bootstrap-switch.js"></script>
|
<script src="{!! public_asset('/assets/frontend/js/plugins/bootstrap-switch.js') !!}"></script>
|
||||||
<script src="/assets/frontend/js/plugins/nouislider.min.js" type="text/javascript"></script>
|
<script src="{!! public_asset('/assets/frontend/js/plugins/nouislider.min.js') !!}" type="text/javascript"></script>
|
||||||
<script src="/assets/frontend/js/plugins/bootstrap-datepicker.js" type="text/javascript"></script>
|
<script src="{!! public_asset('/assets/frontend/js/plugins/bootstrap-datepicker.js') !!}" type="text/javascript"></script>
|
||||||
<script src="/assets/frontend/js/now-ui-kit.js" type="text/javascript"></script>
|
<script src="{!! public_asset('/assets/frontend/js/now-ui-kit.js') !!}" type="text/javascript"></script>
|
||||||
<script src="/assets/vendor/select2/dist/js/select2.js"></script>
|
<script src="{!! public_asset('/assets/vendor/select2/dist/js/select2.js') !!}"></script>
|
||||||
<script>
|
<script>
|
||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
$(".select2").select2();
|
$(".select2").select2();
|
||||||
|
|||||||
@@ -13,8 +13,8 @@
|
|||||||
<link href="https://fonts.googleapis.com/css?family=Montserrat:400,700,200" rel="stylesheet" />
|
<link href="https://fonts.googleapis.com/css?family=Montserrat:400,700,200" rel="stylesheet" />
|
||||||
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/latest/css/font-awesome.min.css" />
|
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/latest/css/font-awesome.min.css" />
|
||||||
<!-- CSS Files -->
|
<!-- CSS Files -->
|
||||||
<link href="/assets/frontend/css/bootstrap.min.css" rel="stylesheet" />
|
<link href="{!! public_asset('/assets/frontend/css/bootstrap.min.css') !!}" rel="stylesheet" />
|
||||||
<link href="/assets/frontend/css/now-ui-kit.css" rel="stylesheet" />
|
<link href="{!! public_asset('/assets/frontend/css/now-ui-kit.css') !!}" rel="stylesheet" />
|
||||||
<!-- CSS Just for demo purpose, don't include it in your project -->
|
<!-- CSS Just for demo purpose, don't include it in your project -->
|
||||||
|
|
||||||
@yield('css')
|
@yield('css')
|
||||||
@@ -43,18 +43,8 @@
|
|||||||
</footer>
|
</footer>
|
||||||
</div>
|
</div>
|
||||||
</body>
|
</body>
|
||||||
<!-- Core JS Files -->
|
|
||||||
<script src="/assets/frontend/js/core/jquery.3.2.1.min.js" type="text/javascript"></script>
|
<script src="{!! public_asset('/assets/frontend/js/core/jquery.3.2.1.min.js') !!}" type="text/javascript"></script>
|
||||||
<script src="/assets/frontend/js/core/tether.min.js" type="text/javascript"></script>
|
|
||||||
<script src="/assets/frontend/js/core/bootstrap.min.js" type="text/javascript"></script>
|
|
||||||
<!-- Plugin for Switches, full documentation here: http://www.jque.re/plugins/version3/bootstrap.switch/ -->
|
|
||||||
<script src="./assets/frontend/js/plugins/bootstrap-switch.js"></script>
|
|
||||||
<!-- Plugin for the Sliders, full documentation here: http://refreshless.com/nouislider/ -->
|
|
||||||
<script src="/assets/frontend/js/plugins/nouislider.min.js" type="text/javascript"></script>
|
|
||||||
<!-- Plugin for the DatePicker, full documentation here: https://github.com/uxsolutions/bootstrap-datepicker -->
|
|
||||||
<script src="/assets/frontend/js/plugins/bootstrap-datepicker.js" type="text/javascript"></script>
|
|
||||||
<!-- Control Center for Now Ui Kit: parallax effects, scripts for the example pages etc -->
|
|
||||||
<script src="/assets/frontend/js/now-ui-kit.js" type="text/javascript"></script>
|
|
||||||
|
|
||||||
@yield('scripts')
|
@yield('scripts')
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
<form class="form" method="POST" action="{{ url('/login') }}">
|
<form class="form" method="POST" action="{{ url('/login') }}">
|
||||||
<div class="header header-primary text-center">
|
<div class="header header-primary text-center">
|
||||||
<div class="logo-container" style="width: 320px;">
|
<div class="logo-container" style="width: 320px;">
|
||||||
<img src="/assets/frontend/img/logo.svg" width="320" height="320" style="background: #FFF">
|
<img src="{!! public_asset('/assets/frontend/img/logo.svg') !!}" width="320" height="320" style="background: #FFF">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="content">
|
<div class="content">
|
||||||
|
|||||||
@@ -14,9 +14,9 @@
|
|||||||
<link rel="stylesheet"
|
<link rel="stylesheet"
|
||||||
href="https://maxcdn.bootstrapcdn.com/font-awesome/latest/css/font-awesome.min.css"/>
|
href="https://maxcdn.bootstrapcdn.com/font-awesome/latest/css/font-awesome.min.css"/>
|
||||||
<!-- CSS Files -->
|
<!-- CSS Files -->
|
||||||
<link href="/assets/frontend/css/bootstrap.min.css" rel="stylesheet"/>
|
<link href="{!! public_asset('/assets/frontend/css/bootstrap.min.css') !!}" rel="stylesheet"/>
|
||||||
<link href="/assets/frontend/css/now-ui-kit.css" rel="stylesheet"/>
|
<link href="{!! public_asset('/assets/frontend/css/now-ui-kit.css') !!}" rel="stylesheet"/>
|
||||||
<link href="/assets/frontend/css/styles.css" rel="stylesheet"/>
|
<link href="{!! public_asset('/assets/frontend/css/styles.css') !!}" rel="stylesheet"/>
|
||||||
{{--<link href="/assets/frontend/css/installer.css" rel="stylesheet"/>--}}
|
{{--<link href="/assets/frontend/css/installer.css" rel="stylesheet"/>--}}
|
||||||
|
|
||||||
<link rel="stylesheet"
|
<link rel="stylesheet"
|
||||||
@@ -44,7 +44,7 @@
|
|||||||
</button>
|
</button>
|
||||||
<p class="navbar-brand text-white" data-placement="bottom" target="_blank">
|
<p class="navbar-brand text-white" data-placement="bottom" target="_blank">
|
||||||
<a href="{!! url('/') !!}">
|
<a href="{!! url('/') !!}">
|
||||||
<img src="/assets/frontend/img/logo_blue_bg.svg" width="135px" style=""/>
|
<img src="{!! public_asset('/assets/frontend/img/logo_blue_bg.svg') !!}" width="135px" style=""/>
|
||||||
</a>
|
</a>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -12,9 +12,9 @@
|
|||||||
<link href="https://fonts.googleapis.com/css?family=Montserrat:400,700,200" rel="stylesheet"/>
|
<link href="https://fonts.googleapis.com/css?family=Montserrat:400,700,200" rel="stylesheet"/>
|
||||||
<link rel="stylesheet"
|
<link rel="stylesheet"
|
||||||
href="https://maxcdn.bootstrapcdn.com/font-awesome/latest/css/font-awesome.min.css"/>
|
href="https://maxcdn.bootstrapcdn.com/font-awesome/latest/css/font-awesome.min.css"/>
|
||||||
<link href="/assets/frontend/css/bootstrap.min.css" rel="stylesheet"/>
|
<link href="{!! public_asset('/assets/frontend/css/bootstrap.min.css') !!}" rel="stylesheet"/>
|
||||||
<link href="/assets/frontend/css/now-ui-kit.css" rel="stylesheet"/>
|
<link href="{!! public_asset('/assets/frontend/css/now-ui-kit.css') !!}" rel="stylesheet"/>
|
||||||
<link href="/assets/frontend/css/styles.css" rel="stylesheet"/>
|
<link href="{!! public_asset('/assets/frontend/css/styles.css') !!}" rel="stylesheet"/>
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
.table tr:first-child td {
|
.table tr:first-child td {
|
||||||
@@ -38,7 +38,7 @@
|
|||||||
</button>
|
</button>
|
||||||
<p class="navbar-brand text-white" data-placement="bottom" target="_blank">
|
<p class="navbar-brand text-white" data-placement="bottom" target="_blank">
|
||||||
<a href="{!! url('/') !!}">
|
<a href="{!! url('/') !!}">
|
||||||
<img src="/assets/frontend/img/logo_blue_bg.svg" width="135px" style=""/>
|
<img src="{!! public_asset('/assets/frontend/img/logo_blue_bg.svg') !!}" width="135px" style=""/>
|
||||||
</a>
|
</a>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
24
resources/views/vendor/flash/message.blade.php
vendored
24
resources/views/vendor/flash/message.blade.php
vendored
@@ -1,24 +0,0 @@
|
|||||||
@if (session()->has('flash_notification.message'))
|
|
||||||
@if (session()->has('flash_notification.overlay'))
|
|
||||||
@include('flash::modal', [
|
|
||||||
'modalClass' => 'flash-modal',
|
|
||||||
'title' => session('flash_notification.title'),
|
|
||||||
'body' => session('flash_notification.message')
|
|
||||||
])
|
|
||||||
@else
|
|
||||||
<div class="alert
|
|
||||||
alert-{{ session('flash_notification.level') }}
|
|
||||||
{{ session()->has('flash_notification.important') ? 'alert-important' : '' }}"
|
|
||||||
>
|
|
||||||
@if(session()->has('flash_notification.important'))
|
|
||||||
<button type="button"
|
|
||||||
class="close"
|
|
||||||
data-dismiss="alert"
|
|
||||||
aria-hidden="true"
|
|
||||||
>×</button>
|
|
||||||
@endif
|
|
||||||
|
|
||||||
{!! session('flash_notification.message') !!}
|
|
||||||
</div>
|
|
||||||
@endif
|
|
||||||
@endif
|
|
||||||
19
resources/views/vendor/flash/modal.blade.php
vendored
19
resources/views/vendor/flash/modal.blade.php
vendored
@@ -1,19 +0,0 @@
|
|||||||
<div id="flash-overlay-modal" class="modal fade {{ $modalClass or '' }}">
|
|
||||||
<div class="modal-dialog">
|
|
||||||
<div class="modal-content">
|
|
||||||
<div class="modal-header">
|
|
||||||
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
|
||||||
|
|
||||||
<h4 class="modal-title">{{ $title }}</h4>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="modal-body">
|
|
||||||
<p>{!! $body !!}</p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="modal-footer">
|
|
||||||
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
@@ -1,34 +0,0 @@
|
|||||||
<ul class="pagination">
|
|
||||||
<!-- Previous Page Link -->
|
|
||||||
@if ($paginator->onFirstPage())
|
|
||||||
<li class="page-item disabled"><span class="page-link">«</span></li>
|
|
||||||
@else
|
|
||||||
<li class="page-item"><a class="page-link" href="{{ $paginator->previousPageUrl() }}" rel="prev">«</a></li>
|
|
||||||
@endif
|
|
||||||
|
|
||||||
<!-- Pagination Elements -->
|
|
||||||
@foreach ($elements as $element)
|
|
||||||
<!-- "Three Dots" Separator -->
|
|
||||||
@if (is_string($element))
|
|
||||||
<li class="page-item disabled"><span class="page-link">{{ $element }}</span></li>
|
|
||||||
@endif
|
|
||||||
|
|
||||||
<!-- Array Of Links -->
|
|
||||||
@if (is_array($element))
|
|
||||||
@foreach ($element as $page => $url)
|
|
||||||
@if ($page == $paginator->currentPage())
|
|
||||||
<li class="page-item active"><span class="page-link">{{ $page }}</span></li>
|
|
||||||
@else
|
|
||||||
<li class="page-item"><a class="page-link" href="{{ $url }}">{{ $page }}</a></li>
|
|
||||||
@endif
|
|
||||||
@endforeach
|
|
||||||
@endif
|
|
||||||
@endforeach
|
|
||||||
|
|
||||||
<!-- Next Page Link -->
|
|
||||||
@if ($paginator->hasMorePages())
|
|
||||||
<li class="page-item"><a class="page-link" href="{{ $paginator->nextPageUrl() }}" rel="next">»</a></li>
|
|
||||||
@else
|
|
||||||
<li class="page-item disabled"><span class="page-link">»</span></li>
|
|
||||||
@endif
|
|
||||||
</ul>
|
|
||||||
@@ -1,34 +0,0 @@
|
|||||||
<ul class="pagination">
|
|
||||||
<!-- Previous Page Link -->
|
|
||||||
@if ($paginator->onFirstPage())
|
|
||||||
<li class="disabled"><span>«</span></li>
|
|
||||||
@else
|
|
||||||
<li><a href="{{ $paginator->previousPageUrl() }}" rel="prev">«</a></li>
|
|
||||||
@endif
|
|
||||||
|
|
||||||
<!-- Pagination Elements -->
|
|
||||||
@foreach ($elements as $element)
|
|
||||||
<!-- "Three Dots" Separator -->
|
|
||||||
@if (is_string($element))
|
|
||||||
<li class="disabled"><span>{{ $element }}</span></li>
|
|
||||||
@endif
|
|
||||||
|
|
||||||
<!-- Array Of Links -->
|
|
||||||
@if (is_array($element))
|
|
||||||
@foreach ($element as $page => $url)
|
|
||||||
@if ($page == $paginator->currentPage())
|
|
||||||
<li class="active"><span>{{ $page }}</span></li>
|
|
||||||
@else
|
|
||||||
<li><a href="{{ $url }}">{{ $page }}</a></li>
|
|
||||||
@endif
|
|
||||||
@endforeach
|
|
||||||
@endif
|
|
||||||
@endforeach
|
|
||||||
|
|
||||||
<!-- Next Page Link -->
|
|
||||||
@if ($paginator->hasMorePages())
|
|
||||||
<li><a href="{{ $paginator->nextPageUrl() }}" rel="next">»</a></li>
|
|
||||||
@else
|
|
||||||
<li class="disabled"><span>»</span></li>
|
|
||||||
@endif
|
|
||||||
</ul>
|
|
||||||
@@ -1,36 +0,0 @@
|
|||||||
@if ($paginator->hasPages())
|
|
||||||
<div class="ui pagination menu">
|
|
||||||
{{-- Previous Page Link --}}
|
|
||||||
@if ($paginator->onFirstPage())
|
|
||||||
<a class="icon item disabled"> <i class="left chevron icon"></i> </a>
|
|
||||||
@else
|
|
||||||
<a class="icon item" href="{{ $paginator->previousPageUrl() }}" rel="prev"> <i class="left chevron icon"></i> </a>
|
|
||||||
@endif
|
|
||||||
|
|
||||||
{{-- Pagination Elements --}}
|
|
||||||
@foreach ($elements as $element)
|
|
||||||
{{-- "Three Dots" Separator --}}
|
|
||||||
@if (is_string($element))
|
|
||||||
<a class="icon item disabled">{{ $element }}</a>
|
|
||||||
@endif
|
|
||||||
|
|
||||||
{{-- Array Of Links --}}
|
|
||||||
@if (is_array($element))
|
|
||||||
@foreach ($element as $page => $url)
|
|
||||||
@if ($page == $paginator->currentPage())
|
|
||||||
<a class="item active" href="{{ $url }}">{{ $page }}</a>
|
|
||||||
@else
|
|
||||||
<a class="item" href="{{ $url }}">{{ $page }}</a>
|
|
||||||
@endif
|
|
||||||
@endforeach
|
|
||||||
@endif
|
|
||||||
@endforeach
|
|
||||||
|
|
||||||
{{-- Next Page Link --}}
|
|
||||||
@if ($paginator->hasMorePages())
|
|
||||||
<a class="icon item" href="{{ $paginator->nextPageUrl() }}" rel="next"> <i class="right chevron icon"></i> </a>
|
|
||||||
@else
|
|
||||||
<a class="icon item disabled"> <i class="right chevron icon"></i> </a>
|
|
||||||
@endif
|
|
||||||
</div>
|
|
||||||
@endif
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
<ul class="pagination">
|
|
||||||
<!-- Previous Page Link -->
|
|
||||||
@if ($paginator->onFirstPage())
|
|
||||||
<li class="page-item disabled"><span class="page-link">«</span></li>
|
|
||||||
@else
|
|
||||||
<li class="page-item"><a class="page-link" href="{{ $paginator->previousPageUrl() }}" rel="prev">«</a></li>
|
|
||||||
@endif
|
|
||||||
|
|
||||||
<!-- Next Page Link -->
|
|
||||||
@if ($paginator->hasMorePages())
|
|
||||||
<li class="page-item"><a class="page-link" href="{{ $paginator->nextPageUrl() }}" rel="next">»</a></li>
|
|
||||||
@else
|
|
||||||
<li class="page-item disabled"><span class="page-link">»</span></li>
|
|
||||||
@endif
|
|
||||||
</ul>
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
<ul class="pagination">
|
|
||||||
<!-- Previous Page Link -->
|
|
||||||
@if ($paginator->onFirstPage())
|
|
||||||
<li class="disabled"><span>«</span></li>
|
|
||||||
@else
|
|
||||||
<li><a href="{{ $paginator->previousPageUrl() }}" rel="prev">«</a></li>
|
|
||||||
@endif
|
|
||||||
|
|
||||||
<!-- Next Page Link -->
|
|
||||||
@if ($paginator->hasMorePages())
|
|
||||||
<li><a href="{{ $paginator->nextPageUrl() }}" rel="next">»</a></li>
|
|
||||||
@else
|
|
||||||
<li class="disabled"><span>»</span></li>
|
|
||||||
@endif
|
|
||||||
</ul>
|
|
||||||
Reference in New Issue
Block a user