]> BookStack Code Mirror - bookstack/blob - resources/views/settings/index.blade.php
Update auth.php
[bookstack] / resources / views / settings / index.blade.php
1 @extends('simple-layout')
2
3 @section('body')
4     <div class="container small">
5
6         <div class="grid left-focus v-center no-row-gap">
7             <div class="py-m">
8                 @include('settings.navbar', ['selected' => 'settings'])
9             </div>
10             <div class="text-right mb-l px-m">
11                 <br>
12                 BookStack @if(strpos($version, 'v') !== 0) version @endif {{ $version }}
13             </div>
14         </div>
15
16         <div class="card content-wrap auto-height">
17             <h2 class="list-heading">{{ trans('settings.app_features_security') }}</h2>
18             <form action="{{ url("/settings") }}" method="POST">
19                 {!! csrf_field() !!}
20
21                 <div class="setting-list">
22
23
24                     <div class="grid half gap-xl">
25                         <div>
26                             <label for="setting-app-public" class="setting-list-label">{{ trans('settings.app_public_access') }}</label>
27                             <p class="small">{!! trans('settings.app_public_access_desc') !!}</p>
28                             @if(userCan('users-manage'))
29                                 <p class="small mb-none">
30                                     <a href="{{ url($guestUser->getEditUrl()) }}">{!! trans('settings.app_public_access_desc_guest') !!}</a>
31                                 </p>
32                             @endif
33                         </div>
34                         <div>
35                             @include('components.toggle-switch', [
36                                 'name' => 'setting-app-public',
37                                 'value' => setting('app-public'),
38                                 'label' => trans('settings.app_public_access_toggle'),
39                             ])
40                         </div>
41                     </div>
42
43                     <div class="grid half gap-xl">
44                         <div>
45                             <label class="setting-list-label">{{ trans('settings.app_secure_images') }}</label>
46                             <p class="small">{{ trans('settings.app_secure_images_desc') }}</p>
47                         </div>
48                         <div>
49                             @include('components.toggle-switch', [
50                                 'name' => 'setting-app-secure-images',
51                                 'value' => setting('app-secure-images'),
52                                 'label' => trans('settings.app_secure_images_toggle'),
53                             ])
54                         </div>
55                     </div>
56
57                     <div class="grid half gap-xl">
58                         <div>
59                             <label class="setting-list-label">{{ trans('settings.app_disable_comments') }}</label>
60                             <p class="small">{!! trans('settings.app_disable_comments_desc') !!}</p>
61                         </div>
62                         <div>
63                             @include('components.toggle-switch', [
64                                 'name' => 'setting-app-disable-comments',
65                                 'value' => setting('app-disable-comments'),
66                                 'label' => trans('settings.app_disable_comments_toggle'),
67                             ])
68                         </div>
69                     </div>
70
71
72                 </div>
73
74                 <div class="form-group text-right">
75                     <button type="submit" class="button">{{ trans('settings.settings_save') }}</button>
76                 </div>
77             </form>
78         </div>
79
80         <div class="card content-wrap auto-height">
81             <h2 class="list-heading">{{ trans('settings.app_customization') }}</h2>
82             <form action="{{ url("/settings") }}" method="POST" enctype="multipart/form-data">
83                 {!! csrf_field() !!}
84
85                 <div class="setting-list">
86
87                     <div class="grid half gap-xl">
88                         <div>
89                             <label for="setting-app-name" class="setting-list-label">{{ trans('settings.app_name') }}</label>
90                             <p class="small">{{ trans('settings.app_name_desc') }}</p>
91                         </div>
92                         <div>
93                             <input type="text" value="{{ setting('app-name', 'BookStack') }}" name="setting-app-name" id="setting-app-name">
94                             @include('components.toggle-switch', [
95                                 'name' => 'setting-app-name-header',
96                                 'value' => setting('app-name-header'),
97                                 'label' => trans('settings.app_name_header'),
98                             ])
99                         </div>
100                     </div>
101
102                     <div class="grid half gap-xl">
103                         <div>
104                             <label class="setting-list-label">{{ trans('settings.app_editor') }}</label>
105                             <p class="small">{{ trans('settings.app_editor_desc') }}</p>
106                         </div>
107                         <div>
108                             <select name="setting-app-editor" id="setting-app-editor">
109                                 <option @if(setting('app-editor') === 'wysiwyg') selected @endif value="wysiwyg">WYSIWYG</option>
110                                 <option @if(setting('app-editor') === 'markdown') selected @endif value="markdown">Markdown</option>
111                             </select>
112                         </div>
113                     </div>
114
115                     <div class="grid half gap-xl">
116                         <div>
117                             <label class="setting-list-label">{{ trans('settings.app_logo') }}</label>
118                             <p class="small">{!! trans('settings.app_logo_desc') !!}</p>
119                         </div>
120                         <div>
121                             @include('components.image-picker', [
122                                      'removeName' => 'setting-app-logo',
123                                      'removeValue' => 'none',
124                                      'defaultImage' => url('/logo.png'),
125                                      'currentImage' => setting('app-logo'),
126                                      'name' => 'app_logo',
127                                      'imageClass' => 'logo-image',
128                                  ])
129                         </div>
130                     </div>
131
132                     <div class="grid half gap-xl">
133                         <div>
134                             <label class="setting-list-label">{{ trans('settings.app_primary_color') }}</label>
135                             <p class="small">{!! trans('settings.app_primary_color_desc') !!}</p>
136                         </div>
137                         <div setting-app-color-picker class="text-m-right">
138                             <input type="color" value="{{ setting('app-color') }}" name="setting-app-color" id="setting-app-color" placeholder="#206ea7">
139                             <input type="hidden" value="{{ setting('app-color-light') }}" name="setting-app-color-light" id="setting-app-color-light">
140                             <br>
141                             <button type="button" class="text-button text-muted mt-s mx-s" setting-app-color-picker-reset>{{ trans('common.reset') }}</button>
142                         </div>
143                     </div>
144
145                     <div homepage-control id="homepage-control" class="grid half gap-xl">
146                         <div>
147                             <label for="setting-app-homepage" class="setting-list-label">{{ trans('settings.app_homepage') }}</label>
148                             <p class="small">{{ trans('settings.app_homepage_desc') }}</p>
149                         </div>
150                         <div>
151                             <select name="setting-app-homepage-type" id="setting-app-homepage-type">
152                                 <option @if(setting('app-homepage-type') === 'default') selected @endif value="default">{{ trans('common.default') }}</option>
153                                 <option @if(setting('app-homepage-type') === 'books') selected @endif value="books">{{ trans('entities.books') }}</option>
154                                 <option @if(setting('app-homepage-type') === 'bookshelves') selected @endif value="bookshelves">{{ trans('entities.shelves') }}</option>
155                                 <option @if(setting('app-homepage-type') === 'page') selected @endif value="page">{{ trans('entities.pages_specific') }}</option>
156                             </select>
157
158                             <div page-picker-container style="display: none;" class="mt-m">
159                                 @include('components.page-picker', ['name' => 'setting-app-homepage', 'placeholder' => trans('settings.app_homepage_select'), 'value' => setting('app-homepage')])
160                             </div>
161                         </div>
162                     </div>
163
164
165                     <div>
166                         <label for="setting-app-custom-head" class="setting-list-label">{{ trans('settings.app_custom_html') }}</label>
167                         <p class="small">{{ trans('settings.app_custom_html_desc') }}</p>
168                         <textarea name="setting-app-custom-head" id="setting-app-custom-head" class="simple-code-input mt-m">{{ setting('app-custom-head', '') }}</textarea>
169                         <p class="small text-right">{{ trans('settings.app_custom_html_disabled_notice') }}</p>
170                     </div>
171
172
173                 </div>
174
175                 <div class="form-group text-right">
176                     <button type="submit" class="button">{{ trans('settings.settings_save') }}</button>
177                 </div>
178             </form>
179         </div>
180
181         <div class="card content-wrap auto-height">
182             <h2 class="list-heading">{{ trans('settings.reg_settings') }}</h2>
183             <form action="{{ url("/settings") }}" method="POST">
184                 {!! csrf_field() !!}
185
186                 <div class="setting-list">
187                     <div class="grid half gap-xl">
188                         <div>
189                             <label class="setting-list-label">{{ trans('settings.reg_enable') }}</label>
190                             <p class="small">{!! trans('settings.reg_enable_desc') !!}</p>
191                         </div>
192                         <div>
193                             @include('components.toggle-switch', [
194                                 'name' => 'setting-registration-enabled',
195                                 'value' => setting('registration-enabled'),
196                                 'label' => trans('settings.reg_enable_toggle')
197                             ])
198
199                             <label for="setting-registration-role">{{ trans('settings.reg_default_role') }}</label>
200                             <select id="setting-registration-role" name="setting-registration-role" @if($errors->has('setting-registration-role')) class="neg" @endif>
201                                 @foreach(\BookStack\Auth\Role::all() as $role)
202                                     <option value="{{$role->id}}" data-role-name="{{ $role->name }}"
203                                             @if(setting('registration-role', \BookStack\Auth\Role::first()->id) == $role->id) selected @endif
204                                     >
205                                         {{ $role->display_name }}
206                                     </option>
207                                 @endforeach
208                             </select>
209                         </div>
210                     </div>
211
212                     <div class="grid half gap-xl">
213                         <div>
214                             <label for="setting-registration-restrict" class="setting-list-label">{{ trans('settings.reg_confirm_restrict_domain') }}</label>
215                             <p class="small">{!! trans('settings.reg_confirm_restrict_domain_desc') !!}</p>
216                         </div>
217                         <div>
218                             <input type="text" id="setting-registration-restrict" name="setting-registration-restrict" placeholder="{{ trans('settings.reg_confirm_restrict_domain_placeholder') }}" value="{{ setting('registration-restrict', '') }}">
219                         </div>
220                     </div>
221
222                     <div class="grid half gap-xl">
223                         <div>
224                             <label class="setting-list-label">{{ trans('settings.reg_email_confirmation') }}</label>
225                             <p class="small">{{ trans('settings.reg_confirm_email_desc') }}</p>
226                         </div>
227                         <div>
228                             @include('components.toggle-switch', [
229                                 'name' => 'setting-registration-confirmation',
230                                 'value' => setting('registration-confirmation'),
231                                 'label' => trans('settings.reg_email_confirmation_toggle')
232                             ])
233                         </div>
234                     </div>
235
236                 </div>
237
238                 <div class="form-group text-right">
239                     <button type="submit" class="button">{{ trans('settings.settings_save') }}</button>
240                 </div>
241             </form>
242         </div>
243
244     </div>
245
246     @include('components.image-manager', ['imageType' => 'system'])
247     @include('components.entity-selector-popup', ['entityTypes' => 'page'])
248 @stop