Skip to content

Commit 9796c09

Browse files
committed
Fixed Advanced Config reset
1 parent ce60ce8 commit 9796c09

File tree

2 files changed

+28
-31
lines changed

2 files changed

+28
-31
lines changed

app/Http/Controllers/AdminController.php

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -422,9 +422,11 @@ public function showFileEditor(request $request)
422422
//Saves advanced config
423423
public function editAC(request $request)
424424
{
425-
$AdvancedConfig = $request->AdvancedConfig;
426-
427-
file_put_contents('config/advanced-config.php', $AdvancedConfig);
425+
if ($request->ResetAdvancedConfig == 'RESET_DEFAULTS') {
426+
copy(base_path('storage/templates/advanced-config.php'), base_path('config/advanced-config.php'));
427+
} else {
428+
file_put_contents('config/advanced-config.php', $request->AdvancedConfig);
429+
}
428430

429431
return redirect('/admin/config#2');
430432
}
Lines changed: 23 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,35 @@
11
<p>{{__('messages.AC.description')}}</p>
2-
<form action="{{ route('editAC') }}" method="post">
2+
<form action="{{ route('editAC') }}" method="post" id="editForm">
33
@csrf
44
<div class="form-group">
55
<label>{{__('messages.Advanced Configuration file.')}}</label>
66
<textarea style="width:100%;display:none;" class="form-control" name="AdvancedConfig" rows="280">{{ file_get_contents('config/advanced-config.php') }}</textarea>
77
<div id="editor" style="width:100%; height:<?php echo count(file('config/advanced-config.php')) * 24 + 15;?>px; background-color:transparent !important;" class="form-control border-1 border-light" name="AdvancedConfig" rows="280">{{ file_get_contents('config/advanced-config.php') }}</div>
88
</div>
9-
<button type="submit" class="btn btn-primary">{{__('messages.Save')}}</button>
10-
<a class="btn btn-danger confirmation" href="{{url('/admin/advanced-config?restore-defaults')}}">{{__('messages.Restore defaults')}}</a>
11-
<script type="text/javascript">
12-
var elems = document.getElementsByClassName('confirmation');
13-
var confirmIt = function (e) {
14-
if (!confirm('Are you sure?')) e.preventDefault();
15-
};
16-
for (var i = 0, l = elems.length; i < l; i++) {
17-
elems[i].addEventListener('click', confirmIt, false);
18-
}
19-
</script>
9+
<button type="submit" class="btn btn-primary" id="saveBtn">{{__('messages.Save')}}</button>
10+
<a class="btn btn-danger confirmation" href="#" id="restoreDefaultsBtn">{{__('messages.Restore defaults')}}</a>
2011
</form>
2112

22-
2313
<script src="{{ asset('assets/external-dependencies/ace.js') }}" type="text/javascript" charset="utf-8"></script>
2414
<script>
25-
var editor = ace.edit("editor");
26-
//if (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) {
27-
if(!$('#toggle-switch').is(':checked')){
28-
// dark mode
29-
editor.setTheme("ace/theme/tomorrow_night");
30-
} else {
31-
editor.setTheme("ace/theme/xcode");
32-
}
33-
editor.getSession().setMode("ace/mode/javascript");
34-
editor.session.setUseWorker(false);
35-
</script>
36-
<script>
37-
editor.getSession().on('change', function(e) {
38-
$('textarea[name=AdvancedConfig]').val(editor.getSession().getValue());
39-
});
15+
var editor = ace.edit("editor");
16+
17+
editor.getSession().on('change', function(e) {
18+
$('textarea[name=AdvancedConfig]').val(editor.getSession().getValue());
19+
});
20+
21+
$('#restoreDefaultsBtn').on('click', function(e) {
22+
e.preventDefault();
23+
24+
var isAdvancedConfig = $(this).hasClass('confirmation');
25+
var confirmationMessage = "Are you sure?";
26+
27+
if (isAdvancedConfig) {
28+
$('#editForm').append('<input type="hidden" name="ResetAdvancedConfig" value="RESET_DEFAULTS">');
29+
}
30+
31+
if (confirm(confirmationMessage)) {
32+
$('#editForm').submit();
33+
}
34+
});
4035
</script>

0 commit comments

Comments
 (0)