blue-twilight/resources/views/themes/base/admin/settings.blade.php

238 lines
14 KiB
PHP

@extends('themes.base.layout')
@section('title', trans('admin.settings_title'))
@section('breadcrumb')
<div class="breadcrumb">
<div class="container">
<ol class="breadcrumb">
<li><a href="{{ route('home') }}">@lang('navigation.breadcrumb.home')</a></li>
<li><a href="{{ route('admin') }}">@lang('navigation.breadcrumb.admin')</a></li>
<li class="active">@lang('navigation.breadcrumb.settings')</li>
</ol>
</div>
</div>
@endsection
@section('content')
<div class="container">
<div class="row">
<div class="col-xs-12">
<h1>@yield('title')</h1>
<hr/>
{!! Form::model($config, ['route' => 'admin.saveSettings', 'method' => 'POST']) !!}
<div>
{{-- Nav tabs --}}
<ul class="nav nav-tabs" role="tablist">
<li role="presentation" class="active"><a href="#general-tab" aria-controls="general-tab" role="tab" data-toggle="tab"><i class="fa fa-fw fa-info-circle"></i> General</a></li>
<li role="presentation"><a href="#email-tab" aria-controls="email-tab" role="tab" data-toggle="tab"><i class="fa fa-fw fa-envelope"></i> E-mail</a></li>
<li role="presentation"><a href="#security-tab" aria-controls="security-tab" role="tab" data-toggle="tab"><i class="fa fa-fw fa-lock"></i> Security</a></li>
</ul>
{{-- Tab panes --}}
<div class="tab-content">
{{-- General --}}
<div role="tabpanel" class="tab-pane active" id="general-tab">
<div class="form-group">
{!! Form::label('app_name', 'Gallery name:', ['class' => 'control-label']) !!}
{!! Form::text('app_name', old('app_name'), ['class' => 'form-control']) !!}
</div>
<div class="row">
<div class="col-xs-12 col-sm-4">
<div class="form-group">
{!! Form::label('date_format', 'Date format:', ['class' => 'control-label']) !!}
{!! Form::select('date_format', $date_formats, old('date_format'), ['class' => 'form-control']) !!}
</div>
</div>
</div>
<div class="row">
<div class="col-xs-12 col-sm-4">
<div class="form-group">
{!! Form::label('theme', 'Theme:', ['class' => 'control-label']) !!}
{!! Form::select('theme', $theme_names, old('theme'), ['class' => 'form-control']) !!}
</div>
</div>
</div>
<hr/>
<fieldset>
<legend>&quot;Powered by&quot; footer link</legend>
<p>To help spread the word about Blue Twilight, I'd really appreciate it if you left the &quot;Powered by&quot; notice in your gallery's footer.</p>
<p>This is not compulsory, however, and you may remove it by checking the box below.</p>
<div class="checkbox" style="margin-top: 20px;">
<label>
<input type="checkbox" name="remove_copyright" @if (UserConfig::get('remove_copyright'))checked="checked"@endif>
<strong>Remove &quot;Powered by&quot; notice from the public gallery</strong>
</label>
</div>
</fieldset>
</div>
{{-- E-mail --}}
<div role="tabpanel" class="tab-pane" id="email-tab">
<div class="form-group">
{!! Form::label('sender_name', 'Sender name:', ['class' => 'control-label']) !!}
{!! Form::text('sender_name', old('sender_name'), ['class' => 'form-control']) !!}
</div>
<div class="form-group">
{!! Form::label('sender_address', 'Sender address:', ['class' => 'control-label']) !!}
{!! Form::text('sender_address', old('sender_address'), ['class' => 'form-control']) !!}
</div>
<hr/>
<p style="margin-bottom: 15px;">Configure your SMTP server using the settings below. If your server does not require authentication, leave the Username and Password fields empty.</p>
<div class="form-group">
{!! Form::label('smtp_server', 'Hostname:', ['class' => 'control-label']) !!}
{!! Form::text('smtp_server', old('smtp_server'), ['class' => 'form-control']) !!}
</div>
<div class="form-group">
{!! Form::label('smtp_port', 'Port:', ['class' => 'control-label']) !!}
{!! Form::text('smtp_port', old('smtp_port'), ['class' => 'form-control']) !!}
</div>
<div class="form-group">
{!! Form::label('smtp_username', 'Username:', ['class' => 'control-label']) !!}
{!! Form::text('smtp_username', old('smtp_username'), ['class' => 'form-control']) !!}
</div>
<div class="form-group">
{!! Form::label('smtp_password', 'Password:', ['class' => 'control-label']) !!}
{!! Form::password('smtp_password', ['class' => 'form-control']) !!}
</div>
<div class="checkbox">
<label>
<input type="checkbox" name="smtp_encryption" @if (UserConfig::get('smtp_encryption'))checked="checked"@endif>
<strong>Requires encrypted connection</strong>
</label>
</div>
<div>
<button id="test-email-button" type="button" class="btn btn-primary">@lang('admin.settings_test_email_action')</button>
<div style="margin-top: 10px;">
<div class="alert alert-info" id="test-email-status" style="display: none;">
<img src="{{ asset('ripple.svg') }}"/> Testing e-mail settings...
</div>
<div class="alert" id="test-email-result" style="display: none;">
<p><strong id="test-email-result-summary"></strong> <span id="test-email-result-message"></span></p>
</div>
</div>
</div>
</div>
{{-- Security --}}
<fieldset role="tabpanel" class="tab-pane" id="security-tab">
<div class="checkbox">
<label>
<input type="checkbox" name="allow_self_registration" @if (UserConfig::get('allow_self_registration'))checked="checked"@endif>
<strong>Allow self-registration</strong><br/>
With this option enabled, users can sign up for their own &quot;visitor&quot; accounts to comment on photos.
</label>
</div>
<div class="checkbox" style="margin-top: 20px;">
<label>
<input type="checkbox" name="require_email_verification" @if (UserConfig::get('require_email_verification'))checked="checked"@endif>
<strong>Require e-mail verification for self-registered accounts</strong><br/>
<span class="text-danger">It is strongly recommended to enable this option.</span>
</label>
</div>
<div class="checkbox" style="margin-top: 20px;">
<label>
<input type="checkbox" name="recaptcha_enabled_registration" @if (UserConfig::get('recaptcha_enabled_registration'))checked="checked"@endif>
<strong>Enable <a href="https://www.google.com/recaptcha" target="_blank">reCAPTCHA</a> for self-registrations</strong><br/>
<span class="text-danger">It is strongly recommended to enable this option.</span>
</label>
</div>
<fieldset style="margin-top: 30px;">
<legend>@lang('admin.settings_recaptcha')</legend>
<div class="form-group">
{!! Form::label('recaptcha_site_key', 'Site key:', ['class' => 'control-label']) !!}
{!! Form::text('recaptcha_site_key', old('recaptcha_site_key'), ['class' => 'form-control']) !!}
</div>
<div class="form-group">
{!! Form::label('recaptcha_secret_key', 'Secret key:', ['class' => 'control-label']) !!}
{!! Form::text('recaptcha_secret_key', old('recaptcha_secret_key'), ['class' => 'form-control']) !!}
</div>
</fieldset>
<fieldset style="margin-top: 20px;">
<legend>@lang('admin.settings_image_protection')</legend>
<div class="checkbox">
<label>
<input type="checkbox" name="restrict_original_download" @if (UserConfig::get('restrict_original_download'))checked="checked"@endif>
<strong>@lang('forms.settings_restrict_originals_download')</strong><br/>
@lang('forms.settings_restrict_originals_download_help')
</label>
</div>
<div class="checkbox" style="margin-top: 20px;">
<label>
<input type="checkbox" name="hotlink_protection" @if (UserConfig::get('hotlink_protection'))checked="checked"@endif>
<strong>@lang('forms.settings_hotlink_protection')</strong><br/>
@lang('forms.settings_hotlink_protection_help')
</label>
</div>
</fieldset>
</div>
</div>
</div>
<div class="clearfix"><!-- --></div>
<div class="text-right" style="margin-top: 15px;">
<a href="{{ route('admin') }}" class="btn btn-default">@lang('forms.cancel_action')</a>
{!! Form::submit(trans('admin.settings_save_action'), ['class' => 'btn btn-success']) !!}
</div>
{!! Form::close() !!}
</div>
</div>
</div>
@endsection
@push('scripts')
<script type="text/javascript">
$(document).ready(function() {
$('#test-email-button').click(function() {
var data = $('form').serialize();
$('#test-email-status').show();
$.post('{{ route('admin.testMailSettings') }}', data, function(data)
{
$('#test-email-result').removeClass('alert-danger');
$('#test-email-result').removeClass('alert-success');
if (data.is_successful)
{
$('#test-email-result').addClass('alert-success');
$('#test-email-result-summary').html('Successful');
}
else
{
$('#test-email-result').addClass('alert-danger');
$('#test-email-result-summary').html('Failed');
}
$('#test-email-result-message').html(data.message);
$('#test-email-result').show();
$('#test-email-status').hide();
});
return false;
});
});
</script>
@endpush