Translated config page
This commit is contained in:
parent
14ec3b12cc
commit
73c7e6a106
|
@ -38,7 +38,7 @@ return [
|
|||
'Click here to sign in' => 'Click here to sign in+',
|
||||
|
||||
|
||||
'Verification Status' => '+',
|
||||
'Verification Status' => 'Verification Status+',
|
||||
'auth_pending' => 'Your account is still pending verification',
|
||||
'auth_unverified' => 'Your account is currently unverified and requires manual verification by an administrator.',
|
||||
'Log out' => 'Log out+',
|
||||
|
@ -142,6 +142,196 @@ return [
|
|||
'custom' => 'custom';,
|
||||
'custom_website' => 'custom_website';,
|
||||
|
||||
'Config' => 'Config+',
|
||||
'Advanced Config' => 'Advanced Config+',
|
||||
'Take Backup' => 'Take Backup+',
|
||||
'All Backups' => 'All Backups+',
|
||||
'Diagnosis' => 'Diagnosis+',
|
||||
|
||||
'Alternative Config Editor' => 'Alternative Config Editor+',
|
||||
'Use the Alternative Config Editor to edit the config directly' => 'Use the Alternative Config Editor to edit the config directly+',
|
||||
|
||||
'PHP info' => 'PHP info+',
|
||||
'Display debugging information about your PHP setup' => 'Display debugging information about your PHP setup+',
|
||||
|
||||
'Jump directly to:' => 'Jump directly to:+',
|
||||
|
||||
'Application' => 'Application+',
|
||||
'Panel settings' => 'Panel settings+',
|
||||
'Security' => 'Security+',
|
||||
'Advanced' => 'Advanced+',
|
||||
'SMTP' => 'SMTP+',
|
||||
'Footer links' => 'Footer links+',
|
||||
'Debug' => 'Debug+',
|
||||
|
||||
'default' => 'default+',
|
||||
'Apply' => 'Apply+',
|
||||
'Save' => 'Save+',
|
||||
|
||||
'AC.description' => 'Allows editing the frontend of your site. Amongst other things, this file allows customization of: Home Page, links, titles, Google Analytics and meta tags.+',
|
||||
'Advanced Configuration file.' => 'Advanced Configuration file.+',
|
||||
'Restore defaults' => 'Restore defaults+',
|
||||
|
||||
'Backup' => 'Backup+',
|
||||
'You can back up your entire instance:' => 'You can back up your entire instance:+',
|
||||
'The backup system won’t save more than two backups at a time' => 'The backup system won’t save more than two backups at a time.+',
|
||||
'Backup Instance' => 'Backup Instance+',
|
||||
'All Backups' => 'All Backups+',
|
||||
|
||||
'wtrue' => 'Everything is working as expected!+',
|
||||
'wfalse' => 'This file cannot be written to. This may impede proper operation.+',
|
||||
'utrue' => 'Your security is at risk. This file can be accessed by everyone. Immediate action is required!+',
|
||||
'ufalse' => 'Everything is working as expected!+',
|
||||
'unull' => 'Something went wrong. This might be normal if you’re running behind a proxy or docker container.+',
|
||||
'Debugging information' => 'Debugging information+',
|
||||
'Security' => 'Security+',
|
||||
'security.risk' => 'Your security is at risk. Some files can be accessed by everyone. Immediate action is required! Click this message to learn more.+',
|
||||
'security.risk.1-3' => 'Here, you can easily verify if critical system files can be accessed externally. It is important that these files cannot be accessed, otherwise user data like passwords could get leaked. Entries marked with a+',
|
||||
'security.risk.2-3' => 'cannot be accessed externally, entries marked with a+',
|
||||
'security.risk.3-3' => 'can be accessed by anyone and require immediate action to protect your data.',
|
||||
'Link' => 'Link+',
|
||||
'Hover for more' => 'Hover for more+',
|
||||
'Write access' => 'Write access+',
|
||||
'Write access.description.1-3' => 'Here, you can easily verify if important system files can be written to. This is important for every function to work properly. Entries marked with a+',
|
||||
'Write access.description.2-3' => 'work as expected, entries marked with a+',
|
||||
'Write access.description.3-3' => 'do not.+',
|
||||
'File' => 'File+',
|
||||
'Dependencies' => '+',
|
||||
'Required PHP modules' => 'Required PHP modules.+',
|
||||
'PHP Extension' => 'PHP Extension+',
|
||||
'No backups found' => 'No backups found+',
|
||||
'Backup your instance' => 'Backup your instance+',
|
||||
|
||||
'Go back' => 'Go back+',
|
||||
|
||||
'Strings with a # in front of them are comments and wont affect anything' => 'Strings with a # in front of them are comments and wont affect anything.s+',
|
||||
|
||||
'Download your updater backups:' => 'Download your updater backups:+',
|
||||
'The server will never store more that two backups at a time' => 'The server will never store more that two backups at a time.+',
|
||||
|
||||
'SMTP.title' => 'Use built in SMTP server+',
|
||||
'SMTP.description' => 'Uses SMTP server provided by LinkStack. Might not be 100% reliable. Has to be disabled in order to user a custom SMTP server.+',
|
||||
'SMTP.description.alt' => '(Save changes with "Apply changes" below)+',
|
||||
'Enable' => 'Enable+',
|
||||
'Custom SMTP server:' => 'Custom SMTP server:+',
|
||||
'Host' => 'Host+',
|
||||
'Port' => 'Port+',
|
||||
'Username' => 'Username+',
|
||||
'Password' => 'Password+',
|
||||
'Encryption type' => 'Encryption type+',
|
||||
'From address' => 'From address+',
|
||||
'Apply changes' => 'Apply changes+',
|
||||
'Test E-Mail setup:' => 'Test E-Mail setup:+',
|
||||
'Send Test E-Mail' => 'Send Test E-Mail+',
|
||||
|
||||
'Debug.title' => 'Debug mode+',
|
||||
'Debug.description' => 'Should be disabled in a production environment. Useful for debugging during setup.+',
|
||||
|
||||
'DISPLAY_FOOTER_HOME.title' => 'Home footer link+',
|
||||
'DISPLAY_FOOTER_HOME.description' => 'Enable Home footer link.+',
|
||||
'REGISTER_AUTH.title' => 'Enable email verification+',
|
||||
'REGISTER_AUTH.description' => 'Determines if users have to verify their email when they register.+',
|
||||
'ALLOW_REGISTRATION.title' => 'Enable registration+',
|
||||
'ALLOW_REGISTRATION.description' => 'Determines whether users can register for your application.+',
|
||||
'NOTIFY_EVENTS.title' => 'Notify on events+',
|
||||
'NOTIFY_EVENTS.description' => 'Displays a notification if an event is in progress.+',
|
||||
'NOTIFY_UPDATES.title' => 'Notify on updates+',
|
||||
'NOTIFY_UPDATES.description' => 'Displays a notification if a new update is available.+',
|
||||
'DISPLAY_FOOTER.title' => 'Show footer+',
|
||||
'DISPLAY_FOOTER.description' => 'Determines whether the footer links should be displayed.+',
|
||||
'DISPLAY_CREDIT.title' => 'Display credit on user pages+',
|
||||
'DISPLAY_CREDIT.description' => 'Determines whether the credit notice should be displayed on users pages.+',
|
||||
'DISPLAY_CREDIT_FOOTER.title' => 'Display credit in footer+',
|
||||
'DISPLAY_CREDIT_FOOTER.description' => 'Determines whether the credit notice should be displayed in the footer.+',
|
||||
'HOME_URL.title' => 'Set user page as Home Page+',
|
||||
'HOME_URL.description' => 'Set user page as Home Page+',
|
||||
'ALLOW_USER_HTML.title' => 'Allow extended syntax in user\'s descriptions+',
|
||||
'ALLOW_USER_HTML.description' => 'This enables users to use special formatting like headings and links in their page description.<br>This is generally considered safe.+',
|
||||
'APP_NAME.title' => 'Application title+',
|
||||
'APP_NAME.description' => 'Sets the title of your app. A change will logout every active user.+',
|
||||
'APP_KEY.title' => 'APP_KEY+',
|
||||
'APP_KEY.description' => 'APP_KEY+',
|
||||
'APP_URL.title' => 'APP_URL+',
|
||||
'APP_URL.description' => 'APP_URL+',
|
||||
'ENABLE_BUTTON_EDITOR.title' => 'Enable Button Editor+',
|
||||
'ENABLE_BUTTON_EDITOR.description' => 'Determines whether users are allowed to customize their own buttons using CSS.+',
|
||||
'APP_DEBUG.title' => 'APP_DEBUG+',
|
||||
'APP_DEBUG.description' => 'APP_DEBUG+',
|
||||
'APP_ENV.title' => 'APP_ENV+',
|
||||
'APP_ENV.description' => 'APP_ENV+',
|
||||
'LOG_CHANNEL.title' => 'LOG_CHANNEL+',
|
||||
'LOG_CHANNEL.description' => 'LOG_CHANNEL+',
|
||||
'LOG_LEVEL.title' => 'LOG_LEVEL+',
|
||||
'LOG_LEVEL.description' => 'LOG_LEVEL+',
|
||||
'MAINTENANCE_MODE.title' => 'Enable Maintenance Mode+',
|
||||
'MAINTENANCE_MODE.description' => 'Displays a maintenance message on all public pages. This will disable the login pages.+',
|
||||
'MAIL_MAILER.title' => 'MAIL_MAILER+',
|
||||
'MAIL_MAILER.description' => 'MAIL_MAILER+',
|
||||
'MAIL_HOST.title' => 'MAIL_HOST+',
|
||||
'MAIL_HOST.description' => 'MAIL_HOST+',
|
||||
'MAIL_PORT.title' => 'MAIL_PORT+',
|
||||
'MAIL_PORT.description' => 'MAIL_PORT+',
|
||||
'MAIL_USERNAME.title' => 'MAIL_USERNAME+',
|
||||
'MAIL_USERNAME.description' => 'MAIL_USERNAME+',
|
||||
'MAIL_PASSWORD.title' => 'MAIL_PASSWORD+',
|
||||
'MAIL_PASSWORD.description' => 'MAIL_PASSWORD+',
|
||||
'MAIL_ENCRYPTION.title' => 'MAIL_ENCRYPTION+',
|
||||
'MAIL_ENCRYPTION.description' => 'MAIL_ENCRYPTION+',
|
||||
'MAIL_FROM_ADDRESS.title' => 'MAIL_FROM_ADDRESS+',
|
||||
'MAIL_FROM_ADDRESS.description' => 'MAIL_FROM_ADDRESS+',
|
||||
'JOIN_BETA.title' => 'Join the Beta Program+',
|
||||
'JOIN_BETA.description' => 'Enables the use of beta versions when updating. Read more about this <a target=\'_blank\' href=\'https://linkstack.org/b\'>here</a>.+',
|
||||
'SKIP_UPDATE_BACKUP.title' => 'Skip update backups+',
|
||||
'SKIP_UPDATE_BACKUP.description' => 'Skips backups when updating. This option is recommended to be disabled at all times, <br>but it may cause errors in some configurations.+',
|
||||
'CUSTOM_META_TAGS.title' => 'Enable custom meta tags+',
|
||||
'CUSTOM_META_TAGS.description' => 'Enables use of custom meta tags in the head of all pages. Defined in Advanced Config.+',
|
||||
'FORCE_HTTPS.title' => 'Force links HTTPS+',
|
||||
'FORCE_HTTPS.description' => 'Makes all links utilize HTTPS by default. It is advised to enable this option if you are using a reverse proxy.+',
|
||||
'ALLOW_CUSTOM_CODE_IN_THEMES.title' => 'Allow custom code in themes+',
|
||||
'ALLOW_CUSTOM_CODE_IN_THEMES.description' => 'Allows use of custom code in themes. If you use themes from unknown sources, <br>this may pose a security risk.+',
|
||||
'ENABLE_THEME_UPDATER.title' => 'Enable Theme Updater+',
|
||||
'ENABLE_THEME_UPDATER.description' => 'Determines if the theme updater should be active.+',
|
||||
'ENABLE_SOCIAL_LOGIN.title' => 'Enable social login+',
|
||||
'ENABLE_SOCIAL_LOGIN.description' => 'Enables social login. This option requires further setup. Read more about this <a target=\'_blank\' href=\'https://linkstack.org/social-login\'>here</a>.+',
|
||||
'USE_THEME_PREVIEW_IFRAME.title' => 'Use iframe as theme preview+',
|
||||
'USE_THEME_PREVIEW_IFRAME.description' => 'Determines if an internal iframe should be used as the preview for them theme page.+',
|
||||
'FORCE_ROUTE_HTTPS.title' => 'Redirect all pages to HTTPS+',
|
||||
'FORCE_ROUTE_HTTPS.description' => 'This option will break your setup when using a reverse proxy.+',
|
||||
'DISPLAY_FOOTER_HOME.title' => 'Home footer link+',
|
||||
'DISPLAY_FOOTER_HOME.description' => 'Enable Home footer link.+',
|
||||
'DISPLAY_FOOTER_TERMS.title' => 'Terms footer link+',
|
||||
'DISPLAY_FOOTER_TERMS.description' => 'Enable Terms footer link.+',
|
||||
'DISPLAY_FOOTER_PRIVACY.title' => 'Privacy footer link+',
|
||||
'DISPLAY_FOOTER_PRIVACY.description' => 'Enable Privacy link.+',
|
||||
'DISPLAY_FOOTER_CONTACT.title' => 'Contact footer link+',
|
||||
'DISPLAY_FOOTER_CONTACT.description' => 'Enable Contact link.+',
|
||||
'TITLE_FOOTER_HOME.title' => '<div style="margin-top:-40px"></div>',
|
||||
'TITLE_FOOTER_HOME.description' => 'Title of home footer link.+',
|
||||
'TITLE_FOOTER_TERMS.title' => '<div style="margin-top:-40px"></div>',
|
||||
'TITLE_FOOTER_TERMS.description' => 'Title of terms footer link.+',
|
||||
'TITLE_FOOTER_PRIVACY.title' => '<div style="margin-top:-40px"></div>',
|
||||
'TITLE_FOOTER_PRIVACY.description' => 'Title of privacy link.+',
|
||||
'TITLE_FOOTER_CONTACT.title' => '<div style="margin-top:-40px"></div>',
|
||||
'TITLE_FOOTER_CONTACT.description' => 'Title of contact link.+',
|
||||
'HOME_FOOTER_LINK.title' => '<div style="margin-top:-40px">Home footer link URL</div>+',
|
||||
'HOME_FOOTER_LINK.description' => 'Enter any URL to redirect your home link URL.<br>Leave empty to use the default link.+',
|
||||
'ALLOW_CUSTOM_BACKGROUNDS.title' => 'Allow custom backgrounds+',
|
||||
'ALLOW_CUSTOM_BACKGROUNDS.description' => 'Allow users to upload custom background images for their pages.+',
|
||||
'ALLOW_USER_IMPORT.title' => 'Allow users to import profiles from other instances+',
|
||||
'ALLOW_USER_IMPORT.description' => 'Allows users to import their profile and links from an external file.+',
|
||||
'ALLOW_USER_EXPORT.title' => 'Allow users to export their profile+',
|
||||
'ALLOW_USER_EXPORT.description' => 'Allows users to export their own links and profile.+',
|
||||
'MANUAL_USER_VERIFICATION.title' => 'Verify users manually+',
|
||||
'MANUAL_USER_VERIFICATION.description' => 'Determines if admins have to manually verify newly registered users.+',
|
||||
'ADMIN_EMAIL.title' => 'Admin email+',
|
||||
'ADMIN_EMAIL.description' => 'Used to send notification emails.+',
|
||||
'HIDE_VERIFICATION_CHECKMARK.title' => 'Hide verification checkmark+',
|
||||
'HIDE_VERIFICATION_CHECKMARK.description' => 'Hides verification badge displayed on admin and VIP pages.+',
|
||||
'HOME_URL.title' => 'Set user page as Home Page+',
|
||||
'HOME_URL.description' => 'Set a user page as the home page. This will move the previous home page to example.com/home.+',
|
||||
'MAINTENANCE_MODE.title' => 'Enable Maintenance Mode+',
|
||||
'MAINTENANCE_MODE.description' => 'Displays a maintenance message on all public pages. This will disable the login pages.+',
|
||||
|
||||
|
||||
'' => '+',
|
||||
|
||||
|
|
|
@ -1,24 +1,23 @@
|
|||
<p>Allows editing the frontend of your site. Amongst other things, this file allows customization of:<br>
|
||||
Home Page, links, titles, Google Analytics and meta tags.</p>
|
||||
<form action="{{ route('editAC') }}" method="post">
|
||||
@csrf
|
||||
<div class="form-group">
|
||||
<label>Advanced Configuration file.</label>
|
||||
<textarea style="width:100%;display:none;" class="form-control" name="AdvancedConfig" rows="280">{{ file_get_contents('config/advanced-config.php') }}</textarea>
|
||||
<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>
|
||||
</div>
|
||||
<button type="submit" class="btn btn-primary">Save</button>
|
||||
<a class="btn btn-danger confirmation" href="{{url('/admin/advanced-config?restore-defaults')}}">Restore defaults</a>
|
||||
<script type="text/javascript">
|
||||
var elems = document.getElementsByClassName('confirmation');
|
||||
var confirmIt = function (e) {
|
||||
if (!confirm('Are you sure?')) e.preventDefault();
|
||||
};
|
||||
for (var i = 0, l = elems.length; i < l; i++) {
|
||||
elems[i].addEventListener('click', confirmIt, false);
|
||||
}
|
||||
</script>
|
||||
</form>
|
||||
<p>{{__('messages.AC.description')}}</p>
|
||||
<form action="{{ route('editAC') }}" method="post">
|
||||
@csrf
|
||||
<div class="form-group">
|
||||
<label>{{__('messages.Advanced Configuration file.')}}</label>
|
||||
<textarea style="width:100%;display:none;" class="form-control" name="AdvancedConfig" rows="280">{{ file_get_contents('config/advanced-config.php') }}</textarea>
|
||||
<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>
|
||||
</div>
|
||||
<button type="submit" class="btn btn-primary">{{__('messages.Save')}}</button>
|
||||
<a class="btn btn-danger confirmation" href="{{url('/admin/advanced-config?restore-defaults')}}">{{__('messages.Restore defaults')}}</a>
|
||||
<script type="text/javascript">
|
||||
var elems = document.getElementsByClassName('confirmation');
|
||||
var confirmIt = function (e) {
|
||||
if (!confirm('Are you sure?')) e.preventDefault();
|
||||
};
|
||||
for (var i = 0, l = elems.length; i < l; i++) {
|
||||
elems[i].addEventListener('click', confirmIt, false);
|
||||
}
|
||||
</script>
|
||||
</form>
|
||||
|
||||
|
||||
<script src="{{ asset('assets/external-dependencies/ace.js') }}" type="text/javascript" charset="utf-8"></script>
|
||||
|
@ -26,10 +25,10 @@ Home Page, links, titles, Google Analytics and meta tags.</p>
|
|||
var editor = ace.edit("editor");
|
||||
//if (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) {
|
||||
if(!$('#toggle-switch').is(':checked')){
|
||||
// dark mode
|
||||
editor.setTheme("ace/theme/tomorrow_night");
|
||||
// dark mode
|
||||
editor.setTheme("ace/theme/tomorrow_night");
|
||||
} else {
|
||||
editor.setTheme("ace/theme/xcode");
|
||||
editor.setTheme("ace/theme/xcode");
|
||||
}
|
||||
editor.getSession().setMode("ace/mode/javascript");
|
||||
editor.session.setUseWorker(false);
|
||||
|
|
|
@ -1,48 +1,48 @@
|
|||
<section class="shadow text-gray-400">
|
||||
<h2 class="mb-4 card-header"><i class="bi bi-pencil-square"> .ENV</i></h2>
|
||||
<div class="card-body p-0 p-md-3">
|
||||
|
||||
|
||||
<form action="{{ route('editENV') }}" method="post">
|
||||
@csrf
|
||||
<div class="form-group">
|
||||
<label>Strings with a # in front of them are comments and wont affect anything.</label>
|
||||
<textarea style="width:100%!important;display:none;" class="form-control" name="altConfig" rows="{{count(file('.env'))}}">{{ file_get_contents('.env') }}</textarea>
|
||||
<div id="editor2" style="width:100%; height:<?php echo count(file('.env')) * 24 + 50;?>px;" class="form-control" name="altConfig" rows="280">{{ file_get_contents('.env') }}</div>
|
||||
</div>
|
||||
<button type="submit" class="mt-3 ml-3 btn btn-info">Save</button>
|
||||
</form>
|
||||
|
||||
<script src="{{ asset('assets/external-dependencies/ace.js') }}" type="text/javascript" charset="utf-8"></script>
|
||||
<script>
|
||||
var editor = ace.edit("editor2");
|
||||
editor.setTheme("ace/theme/xcode");
|
||||
editor.getSession().setMode("ace/mode/ruby");
|
||||
</script>
|
||||
<script>
|
||||
editor.getSession().on('change', function(e) {
|
||||
$('textarea[name=altConfig]').val(editor.getSession().getValue());
|
||||
});
|
||||
</script>
|
||||
|
||||
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{{-- <style>
|
||||
.float{
|
||||
position:fixed;
|
||||
width:60px;
|
||||
height:60px;
|
||||
bottom:40px;
|
||||
right:40px;
|
||||
background-color:#0C9;
|
||||
color:#FFF;
|
||||
border-radius:5px;
|
||||
text-align:center;
|
||||
align-items: middle;
|
||||
box-shadow: 2px 2px 3px #999;
|
||||
display: flex;
|
||||
}
|
||||
</style>
|
||||
<a href="#" class="float">back</a> --}}
|
||||
<h2 class="mb-4 card-header"><i class="bi bi-pencil-square"> .ENV</i></h2>
|
||||
<div class="card-body p-0 p-md-3">
|
||||
|
||||
|
||||
<form action="{{ route('editENV') }}" method="post">
|
||||
@csrf
|
||||
<div class="form-group">
|
||||
<label>{{__('messages.Strings with a # in front of them are comments and wont affect anything')}}</label>
|
||||
<textarea style="width:100%!important;display:none;" class="form-control" name="altConfig" rows="{{count(file('.env'))}}">{{ file_get_contents('.env') }}</textarea>
|
||||
<div id="editor2" style="width:100%; height:<?php echo count(file('.env')) * 24 + 50;?>px;" class="form-control" name="altConfig" rows="280">{{ file_get_contents('.env') }}</div>
|
||||
</div>
|
||||
<button type="submit" class="mt-3 ml-3 btn btn-info">{{__('messages.Save')}}</button>
|
||||
</form>
|
||||
|
||||
<script src="{{ asset('assets/external-dependencies/ace.js') }}" type="text/javascript" charset="utf-8"></script>
|
||||
<script>
|
||||
var editor = ace.edit("editor2");
|
||||
editor.setTheme("ace/theme/xcode");
|
||||
editor.getSession().setMode("ace/mode/ruby");
|
||||
</script>
|
||||
<script>
|
||||
editor.getSession().on('change', function(e) {
|
||||
$('textarea[name=altConfig]').val(editor.getSession().getValue());
|
||||
});
|
||||
</script>
|
||||
|
||||
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{{-- <style>
|
||||
.float{
|
||||
position:fixed;
|
||||
width:60px;
|
||||
height:60px;
|
||||
bottom:40px;
|
||||
right:40px;
|
||||
background-color:#0C9;
|
||||
color:#FFF;
|
||||
border-radius:5px;
|
||||
text-align:center;
|
||||
align-items: middle;
|
||||
box-shadow: 2px 2px 3px #999;
|
||||
display: flex;
|
||||
}
|
||||
</style>
|
||||
<a href="#" class="float">back</a> --}}
|
|
@ -1,70 +1,70 @@
|
|||
<style>
|
||||
.label-container{
|
||||
position:fixed;
|
||||
bottom:48px;
|
||||
right:105px;
|
||||
display:table;
|
||||
visibility: hidden;
|
||||
z-index: 2000;
|
||||
}
|
||||
|
||||
.label-text{
|
||||
color:#FFF;
|
||||
background:rgba(51,51,51,0.5);
|
||||
display:table-cell;
|
||||
vertical-align:middle;
|
||||
padding:10px;
|
||||
border-radius:3px;
|
||||
z-index: 2000;
|
||||
}
|
||||
|
||||
.label-arrow{
|
||||
display:table-cell;
|
||||
vertical-align:middle;
|
||||
color:#333;
|
||||
opacity:0.5;
|
||||
z-index: 2000;
|
||||
}
|
||||
|
||||
.float{
|
||||
position:fixed;
|
||||
width:60px;
|
||||
height:60px;
|
||||
bottom:40px;
|
||||
right:40px;
|
||||
background-color:#17a2b8;
|
||||
color:#FFF;
|
||||
border-radius:50px;
|
||||
text-align:center;
|
||||
box-shadow: 2px 2px 3px #111;
|
||||
z-index: 2000;
|
||||
}
|
||||
.float:hover{
|
||||
color: white;
|
||||
-webkit-filter: brightness(90%);
|
||||
}
|
||||
|
||||
.my-float{
|
||||
font-size:35px;
|
||||
margin-top:15px;
|
||||
z-index: 2000;
|
||||
}
|
||||
|
||||
a.float + div.label-container {
|
||||
visibility: hidden;
|
||||
opacity: 0;
|
||||
transition: visibility 0s, opacity 0.5s ease;
|
||||
z-index: 2000;
|
||||
}
|
||||
|
||||
a.float:hover + div.label-container{
|
||||
visibility: visible;
|
||||
opacity: 1;
|
||||
}
|
||||
</style>
|
||||
<a href="{{url('admin/config')}}" class="float">
|
||||
<i class="bi bi-arrow-left-short my-float"></i>
|
||||
</a>
|
||||
<div class="label-container">
|
||||
<div class="label-text">Go back</div>
|
||||
</div>
|
||||
.label-container{
|
||||
position:fixed;
|
||||
bottom:48px;
|
||||
right:105px;
|
||||
display:table;
|
||||
visibility: hidden;
|
||||
z-index: 2000;
|
||||
}
|
||||
|
||||
.label-text{
|
||||
color:#FFF;
|
||||
background:rgba(51,51,51,0.5);
|
||||
display:table-cell;
|
||||
vertical-align:middle;
|
||||
padding:10px;
|
||||
border-radius:3px;
|
||||
z-index: 2000;
|
||||
}
|
||||
|
||||
.label-arrow{
|
||||
display:table-cell;
|
||||
vertical-align:middle;
|
||||
color:#333;
|
||||
opacity:0.5;
|
||||
z-index: 2000;
|
||||
}
|
||||
|
||||
.float{
|
||||
position:fixed;
|
||||
width:60px;
|
||||
height:60px;
|
||||
bottom:40px;
|
||||
right:40px;
|
||||
background-color:#17a2b8;
|
||||
color:#FFF;
|
||||
border-radius:50px;
|
||||
text-align:center;
|
||||
box-shadow: 2px 2px 3px #111;
|
||||
z-index: 2000;
|
||||
}
|
||||
.float:hover{
|
||||
color: white;
|
||||
-webkit-filter: brightness(90%);
|
||||
}
|
||||
|
||||
.my-float{
|
||||
font-size:35px;
|
||||
margin-top:15px;
|
||||
z-index: 2000;
|
||||
}
|
||||
|
||||
a.float + div.label-container {
|
||||
visibility: hidden;
|
||||
opacity: 0;
|
||||
transition: visibility 0s, opacity 0.5s ease;
|
||||
z-index: 2000;
|
||||
}
|
||||
|
||||
a.float:hover + div.label-container{
|
||||
visibility: visible;
|
||||
opacity: 1;
|
||||
}
|
||||
</style>
|
||||
<a href="{{url('admin/config')}}" class="float">
|
||||
<i class="bi bi-arrow-left-short my-float"></i>
|
||||
</a>
|
||||
<div class="label-container">
|
||||
<div class="label-text">{{__('messages.Go back')}}</div>
|
||||
</div>
|
|
@ -1,129 +1,130 @@
|
|||
|
||||
<style>
|
||||
|
||||
html,
|
||||
body {
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.container {
|
||||
align-items: center;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
@media (min-width:700px) {
|
||||
.row {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
}
|
||||
}
|
||||
|
||||
.logo-centered {
|
||||
/* top: 44vh; */
|
||||
font-size: 130px;
|
||||
}
|
||||
|
||||
.logo-img{
|
||||
/* position: relative; */
|
||||
width: 250px;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
.loading {
|
||||
animation: loading 3s linear infinite;
|
||||
}
|
||||
|
||||
@keyframes loading {
|
||||
from {
|
||||
transform: rotate(0deg);
|
||||
html,
|
||||
body {
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
to {
|
||||
transform: rotate(359deg);
|
||||
.container {
|
||||
align-items: center;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.generic {
|
||||
margin: auto;
|
||||
width: 2.5em;
|
||||
height: 2.5em;
|
||||
border: 0.4em solid transparent;
|
||||
border-color: #eee;
|
||||
border-top-color: #333;
|
||||
border-radius: 50%;
|
||||
animation: loadingspin 1s linear infinite;
|
||||
}
|
||||
|
||||
@keyframes loadingspin {
|
||||
100% {
|
||||
transform: rotate(360deg)
|
||||
}
|
||||
}
|
||||
|
||||
.loadingtxt:after {
|
||||
content: '.';
|
||||
animation: dots 1.5s steps(5, end) infinite;}
|
||||
|
||||
@keyframes dots {
|
||||
0%, 20% {
|
||||
color: rgba(0,0,0,0);
|
||||
text-shadow:
|
||||
.25em 0 0 rgba(0,0,0,0),
|
||||
.5em 0 0 rgba(0,0,0,0);}
|
||||
40% {
|
||||
color: white;
|
||||
text-shadow:
|
||||
.25em 0 0 rgba(0,0,0,0),
|
||||
.5em 0 0 rgba(0,0,0,0);}
|
||||
60% {
|
||||
text-shadow:
|
||||
.25em 0 0 white,
|
||||
.5em 0 0 rgba(0,0,0,0);}
|
||||
80%, 100% {
|
||||
text-shadow:
|
||||
.25em 0 0 white,
|
||||
.5em 0 0 white;}}
|
||||
</style>
|
||||
@push('sidebar-stylesheets')
|
||||
<link rel="stylesheet" href="{{ asset('assets/linkstack/css/animate.css') }}">
|
||||
<style>@font-face{font-family:'ll';src:url({{ asset('assets/linkstack/fonts/littlelink-custom.otf') }}) format("opentype")}</style>
|
||||
@endpush
|
||||
|
||||
<div class="container">
|
||||
|
||||
|
||||
<?php //landing page ?>
|
||||
|
||||
<div class="logo-container fadein">
|
||||
<img class="logo-img" src="{{ asset('assets/linkstack/images/just-gear.svg') }}" alt="Logo">
|
||||
<div class="logo-centered">l</div>
|
||||
</div>
|
||||
<h1 class="text-center">Backup</h1>
|
||||
<h4 class="text-center">You can back up your entire instance:</h4>
|
||||
<h5 class="text-center">The backup system won't save more than two backups at a time.</h5>
|
||||
<div class="d-flex justify-content-center">
|
||||
<div class="row">
|
||||
<div class="col-12 col-md-auto">
|
||||
<a href="{{url('backup/?backup')}}">
|
||||
<button class="btn btn-primary mt-3">
|
||||
<i class="fa-solid fa-floppy-disk me-2"></i> Backup Instance
|
||||
</button>
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-12 col-md-auto">
|
||||
<a href="#4" data-toggle="tab">
|
||||
<button class="btn btn-primary mt-3">
|
||||
<i class="fa-solid fa-box-archive me-2"></i> All Backups
|
||||
</button>
|
||||
</a>
|
||||
|
||||
@media (min-width:700px) {
|
||||
.row {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
}
|
||||
}
|
||||
|
||||
.logo-centered {
|
||||
/* top: 44vh; */
|
||||
font-size: 130px;
|
||||
}
|
||||
|
||||
.logo-img{
|
||||
/* position: relative; */
|
||||
width: 250px;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
.loading {
|
||||
animation: loading 3s linear infinite;
|
||||
}
|
||||
|
||||
@keyframes loading {
|
||||
from {
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
|
||||
to {
|
||||
transform: rotate(359deg);
|
||||
}
|
||||
}
|
||||
|
||||
.generic {
|
||||
margin: auto;
|
||||
width: 2.5em;
|
||||
height: 2.5em;
|
||||
border: 0.4em solid transparent;
|
||||
border-color: #eee;
|
||||
border-top-color: #333;
|
||||
border-radius: 50%;
|
||||
animation: loadingspin 1s linear infinite;
|
||||
}
|
||||
|
||||
@keyframes loadingspin {
|
||||
100% {
|
||||
transform: rotate(360deg)
|
||||
}
|
||||
}
|
||||
|
||||
.loadingtxt:after {
|
||||
content: '.';
|
||||
animation: dots 1.5s steps(5, end) infinite;}
|
||||
|
||||
@keyframes dots {
|
||||
0%, 20% {
|
||||
color: rgba(0,0,0,0);
|
||||
text-shadow:
|
||||
.25em 0 0 rgba(0,0,0,0),
|
||||
.5em 0 0 rgba(0,0,0,0);}
|
||||
40% {
|
||||
color: white;
|
||||
text-shadow:
|
||||
.25em 0 0 rgba(0,0,0,0),
|
||||
.5em 0 0 rgba(0,0,0,0);}
|
||||
60% {
|
||||
text-shadow:
|
||||
.25em 0 0 white,
|
||||
.5em 0 0 rgba(0,0,0,0);}
|
||||
80%, 100% {
|
||||
text-shadow:
|
||||
.25em 0 0 white,
|
||||
.5em 0 0 white;}}
|
||||
</style>
|
||||
@push('sidebar-stylesheets')
|
||||
<link rel="stylesheet" href="{{ asset('assets/linkstack/css/animate.css') }}">
|
||||
<style>@font-face{font-family:'ll';src:url({{ asset('assets/linkstack/fonts/littlelink-custom.otf') }}) format("opentype")}</style>
|
||||
@endpush
|
||||
|
||||
<div class="container">
|
||||
|
||||
|
||||
<?php //landing page ?>
|
||||
|
||||
<div class="logo-container fadein">
|
||||
<img class="logo-img" src="{{ asset('assets/linkstack/images/just-gear.svg') }}" alt="Logo">
|
||||
<div class="logo-centered">l</div>
|
||||
</div>
|
||||
<h1 class="text-center">{{__('messages.Backup')}}</h1>
|
||||
<h4 class="text-center">{{__('messages.You can back up your entire instance:')}}</h4>
|
||||
<h5 class="text-center">{{__('messages.The backup system won’t save more than two backups at a time')}}</h5>
|
||||
<div class="d-flex justify-content-center">
|
||||
<div class="row">
|
||||
<div class="col-12 col-md-auto">
|
||||
<a href="{{url('backup/?backup')}}">
|
||||
<button class="btn btn-primary mt-3">
|
||||
<i class="fa-solid fa-floppy-disk me-2"></i> {{__('messages.Backup Instance')}}
|
||||
</button>
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-12 col-md-auto">
|
||||
<a href="#4" data-toggle="tab">
|
||||
<button class="btn btn-primary mt-3">
|
||||
<i class="fa-solid fa-box-archive me-2"></i> {{__('messages.All Backups')}}
|
||||
</button>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
|
@ -25,8 +25,8 @@
|
|||
@endif
|
||||
|
||||
<div class="container">
|
||||
<br><br><h3>Download your updater backups:</h3>
|
||||
<hp>The server will never store more that two backups at a time.</hp><br><br><br>
|
||||
<br><br><h3>{{__('messages.Download your updater backups:')}}</h3>
|
||||
<hp>{{__('messages.The server will never store more that two backups at a time')}}</hp><br><br><br>
|
||||
<?php
|
||||
$test="test";
|
||||
if ($handle = opendir('backups/updater-backups')) {
|
||||
|
@ -38,6 +38,6 @@
|
|||
|
||||
@else
|
||||
<div class="container">
|
||||
<h3>No backups found</h3></div>
|
||||
<h3>{{__('messages.No backups found')}}</h3></div>
|
||||
@endif
|
||||
<center><a data-toggle="tab" href="#3"><button class="btn btn-primary" style="padding:10px"><i class="fa-solid fa-floppy-disk"></i> Backup your instance</button></a></center>
|
||||
<center><a data-toggle="tab" href="#3"><button class="btn btn-primary" style="padding:10px"><i class="fa-solid fa-floppy-disk"></i> {{__('messages.Backup your instance')}}</button></a></center>
|
||||
|
|
|
@ -163,10 +163,10 @@ function toggle($key){
|
|||
<div class="form-group col-lg-8">
|
||||
<input value="toggle" name="type" style="display:none;" type="text" class="form-control form-control-lg" required>
|
||||
<input value="'.$key.'" name="entry" style="display:none;" type="text" class="form-control form-control-lg" required>
|
||||
<h5 style="margin-top:50px">'; foreach($configNames as $obj){if($obj->value == $key){echo $obj->title;}}; echo '</h5>
|
||||
<p class="text-muted">'; foreach($configNames as $obj){if($obj->value == $key){echo $obj->description;}}; echo '</p>
|
||||
<h5 style="margin-top:50px">'; echo __('messages.'.$key.'.title'); echo '</h5>
|
||||
<p class="text-muted">'; echo __('messages.'.$key.'.description'); echo '</p>
|
||||
<div class="input-group">
|
||||
<div class="mb-3 form-check form-switch toggle-btn"><input name="toggle" class="switch toggle-btn" type="checkbox" id="'.$key.'"'; if(EnvEditor::getKey($key) == 'false'){echo '/>';}else{echo 'checked>';} echo '<label for="'.$key.'" class="form-check-label">Enable</label></div>
|
||||
<div class="mb-3 form-check form-switch toggle-btn"><input name="toggle" class="switch toggle-btn" type="checkbox" id="'.$key.'"'; if(EnvEditor::getKey($key) == 'false'){echo '/>';}else{echo 'checked>';} echo '<label for="'.$key.'" class="form-check-label">'.__('messages.Enable').'</label></div>
|
||||
</div></div>
|
||||
<input type="hidden" name="_token" value="'.csrf_token().'">
|
||||
<script type="text/javascript">
|
||||
|
@ -188,10 +188,10 @@ function toggle2($key){
|
|||
<div class="form-group col-lg-8">
|
||||
<input value="toggle2" name="type" style="display:none;" type="text" class="form-control form-control-lg" required>
|
||||
<input value="'.$key.'" name="entry" style="display:none;" type="text" class="form-control form-control-lg" required>
|
||||
<h5 style="margin-top:50px">'; foreach($configNames as $obj){if($obj->value == $key){echo $obj->title;}}; echo '</h5>
|
||||
<p class="text-muted">'; foreach($configNames as $obj){if($obj->value == $key){echo $obj->description;}}; echo '</p>
|
||||
<h5 style="margin-top:50px">'; echo __('messages.'.$key.'.title'); echo '</h5>
|
||||
<p class="text-muted">'; echo __('messages.'.$key.'.description'); echo '</p>
|
||||
<div class="input-group">
|
||||
<div class="mb-3 form-check form-switch toggle-btn"><input name="toggle" class="switch toggle-btn" type="checkbox" id="'.$key.'"'; if(EnvEditor::getKey($key) == 'auth'){echo '/>';}else{echo 'checked>';} echo '<label for="'.$key.'" class="form-check-label">Enable</label></div>
|
||||
<div class="mb-3 form-check form-switch toggle-btn"><input name="toggle" class="switch toggle-btn" type="checkbox" id="'.$key.'"'; if(EnvEditor::getKey($key) == 'auth'){echo '/>';}else{echo 'checked>';} echo '<label for="'.$key.'" class="form-check-label">'.__('messages.Enable').'</label></div>
|
||||
</div></div>
|
||||
<input type="hidden" name="_token" value="'.csrf_token().'">
|
||||
<script type="text/javascript">
|
||||
|
@ -214,12 +214,12 @@ function text($key){
|
|||
<div class="form-group col-lg-8">
|
||||
<input value="text" name="type" style="display:none;" type="text" class="form-control form-control-lg" required>
|
||||
<input value="'.$key.'" name="entry" style="display:none;" type="text" class="form-control form-control-lg" required>
|
||||
<h5 style="margin-top:50px">'; foreach($configNames as $obj){if($obj->value == $key){echo $obj->title;}}; echo '</h5>
|
||||
<p class="text-muted">'; foreach($configNames as $obj){if($obj->value == $key){echo $obj->description;}}; echo '</p>
|
||||
<h5 style="margin-top:50px">'; echo __('messages.'.$key.'.title'); echo '</h5>
|
||||
<p class="text-muted">'; echo __('messages.'.$key.'.description'); echo '</p>
|
||||
<div class="input-group">
|
||||
<input type="text" class="form-control form-control-lg" style="border-radius:.25rem;max-width:600px" class="form-control" name="value" value="'.$configValue.'" required>'; echo '
|
||||
<input type="hidden" name="_token" value="'.csrf_token().'">
|
||||
<button type="submit" class="btn btn-primary">Apply</button>
|
||||
<button type="submit" class="btn btn-primary">'.__('messages.Apply').'</button>
|
||||
</div></div>
|
||||
</form>
|
||||
';
|
||||
|
@ -227,7 +227,7 @@ function text($key){
|
|||
?>
|
||||
|
||||
|
||||
<a name="Application"><h2 class="ch2">Application</h2></a>
|
||||
<a name="Application"><h2 class="ch2">{{__('messages.Application')}}</h2></a>
|
||||
|
||||
@if(!config('linkstack.single_user_mode'))
|
||||
{{toggle('ALLOW_REGISTRATION')}}
|
||||
|
@ -247,13 +247,13 @@ function text($key){
|
|||
<div class="form-group col-lg-8">
|
||||
<input value="homeurl" name="type" style="display:none;" type="text" class="form-control form-control-lg" required>
|
||||
<input value="HOME_URL" name="entry" style="display:none;" type="text" class="form-control form-control-lg" required>
|
||||
<h5 style="margin-top:50px">Set user page as Home Page</h5>
|
||||
<p class="text-muted">Set a user page as the home page. This will move the previous home page to example.com/home.</p>
|
||||
<h5 style="margin-top:50px">{{__('messages.HOME_URL.title')}}</h5>
|
||||
<p class="text-muted">{{__('messages.HOME_URL.description')}}</p>
|
||||
<div class="input-group">
|
||||
|
||||
<select style="max-width:600px" class="form-control" name="value">
|
||||
@if($configValue2 != '')<option>{{$configValue2}}</option>@endif
|
||||
@if($configValue2 != 'default')<option>default</option>@endif
|
||||
@if($configValue2 != 'default')<option value="default">{{__('messages.default')}}</option>@endif
|
||||
<?php $users = DB::table('users')->where('littlelink_name', '!=', '')->get();
|
||||
foreach($users as $user){if($user->littlelink_name != $configValue2){echo '<option>' . $user->littlelink_name . '</option>';}} ?>
|
||||
</select>
|
||||
|
@ -274,7 +274,7 @@ foreach($users as $user){if($user->littlelink_name != $configValue2){echo '<opti
|
|||
{{toggle('HIDE_VERIFICATION_CHECKMARK')}}
|
||||
|
||||
|
||||
<a name="Panel-settings"><h2 class="ch2">Panel settings</h2></a>
|
||||
<a name="Panel-settings"><h2 class="ch2">{{__('messages.Panel settings')}}</h2></a>
|
||||
|
||||
{{toggle('NOTIFY_EVENTS')}}
|
||||
|
||||
|
@ -291,7 +291,7 @@ foreach($users as $user){if($user->littlelink_name != $configValue2){echo '<opti
|
|||
{{toggle('ALLOW_CUSTOM_BACKGROUNDS')}}
|
||||
|
||||
|
||||
<a name="Security"><h2 class="ch2">Security</h2></a>
|
||||
<a name="Security"><h2 class="ch2">{{__('messages.Security')}}</h2></a>
|
||||
|
||||
|
||||
{{toggle('ALLOW_USER_HTML')}}
|
||||
|
@ -310,7 +310,7 @@ foreach($users as $user){if($user->littlelink_name != $configValue2){echo '<opti
|
|||
|
||||
|
||||
|
||||
<a name="Advanced"><h2 class="ch2">Advanced</h2></a>
|
||||
<a name="Advanced"><h2 class="ch2">{{__('messages.Advanced')}}</h2></a>
|
||||
|
||||
{{toggle('JOIN_BETA')}}
|
||||
|
||||
|
@ -319,10 +319,10 @@ foreach($users as $user){if($user->littlelink_name != $configValue2){echo '<opti
|
|||
<div class="form-group col-lg-8">
|
||||
<input value="maintenance" name="type" style="display:none;" type="text" class="form-control form-control-lg" required>
|
||||
<input value="MAINTENANCE_MODE" name="entry" style="display:none;" type="text" class="form-control form-control-lg" required>
|
||||
<h5 style="margin-top:50px">Enable Maintenance Mode</h5>
|
||||
<p class="text-muted">Displays a maintenance message on all public pages. This will disable the login pages.</p>
|
||||
<h5 style="margin-top:50px">{{__('messages.MAINTENANCE_MODE.title')}}</h5>
|
||||
<p class="text-muted">{{__('messages.MAINTENANCE_MODE.description')}}</p>
|
||||
<div class="input-group">
|
||||
<div class="mb-3 form-check form-switch toggle-btn"><input name="toggle" class="switch toggle-btn" type="checkbox" id="MAINTENANCE_MODE" <?php if(EnvEditor::getKey('MAINTENANCE_MODE') == 'true' or file_exists(base_path("storage/MAINTENANCE"))){echo 'checked>';}else{echo '/>';} ?><label for="MAINTENANCE_MODE" class="form-check-label">Enable</label></div>
|
||||
<div class="mb-3 form-check form-switch toggle-btn"><input name="toggle" class="switch toggle-btn" type="checkbox" id="MAINTENANCE_MODE" <?php if(EnvEditor::getKey('MAINTENANCE_MODE') == 'true' or file_exists(base_path("storage/MAINTENANCE"))){echo 'checked>';}else{echo '/>';} ?><label for="MAINTENANCE_MODE" class="form-check-label">{{__('messages.Enable')}}</label></div>
|
||||
</div></div>
|
||||
<input type="hidden" name="_token" value="{{csrf_token()}}">
|
||||
<script type="text/javascript">
|
||||
|
@ -349,37 +349,37 @@ document.getElementById("MAINTENANCE_MODE-form").addEventListener("change", func
|
|||
|
||||
|
||||
{{-- start SMTP settings --}}
|
||||
<a name="SMTP"><h2 class="ch2">SMTP</h2></a>
|
||||
<a name="SMTP"><h2 class="ch2">{{__('messages.SMTP')}}</h2></a>
|
||||
<form id="smtp-form" action="{{route('editConfig')}}" enctype="multipart/form-data" method="post">
|
||||
<div class="form-group col-lg-8">
|
||||
<input value="smtp" name="type" style="display:none;" type="text" class="form-control form-control-lg" required>
|
||||
<input value="smtp" name="entry" style="display:none;" type="text" class="form-control form-control-lg" required>
|
||||
<h5 style="margin-top:50px">Use built in SMTP server</h5>
|
||||
<p class="text-muted">Uses SMTP server provided by LinkStack. Might not be 100% reliable. Has to be disabled in order to user a custom SMTP server.<br>(Save changes with 'Apply changes' below)</p>
|
||||
<h5 style="margin-top:50px">{{__('messages.SMTP.title')}}</h5>
|
||||
<p class="text-muted">{{__('messages.SMTP.description')}}<br>{{__('messages.SMTP.description.alt')}}</p>
|
||||
<div class="input-group">
|
||||
<div class="mb-3 form-check form-switch toggle-btn"><input name="toggle" class="switch toggle-btn" type="checkbox" id="toggle-smtp" <?php if(env('MAIL_MAILER') != 'built-in'){echo '/>';}else{echo 'checked>';} ?> <label for="toggle-smtp" class="form-check-label">Enable</label></div>
|
||||
<div class="mb-3 form-check form-switch toggle-btn"><input name="toggle" class="switch toggle-btn" type="checkbox" id="toggle-smtp" <?php if(env('MAIL_MAILER') != 'built-in'){echo '/>';}else{echo 'checked>';} ?> <label for="toggle-smtp" class="form-check-label">{{__('messages.Enable')}}</label></div>
|
||||
</div></div>
|
||||
<input type="hidden" name="_token" value="{{csrf_token()}}">
|
||||
<div style="max-width: 600px; padding-left: 20px;">
|
||||
<br><h5>Custom SMTP server:</h5>
|
||||
<label style="margin-top:15px">Host</label>
|
||||
<br><h5>{{__('messages.Custom SMTP server:')}}</h5>
|
||||
<label style="margin-top:15px">{{__('messages.Host')}}</label>
|
||||
<input type="text" class="form-control form-control-lg" class="form-control form-control-lg" name="MAIL_HOST" value="{{env('MAIL_HOST')}}" />
|
||||
<label style="margin-top:15px">Port</label>
|
||||
<label style="margin-top:15px">{{__('messages.Port')}}</label>
|
||||
<input type="text" class="form-control form-control-lg" class="form-control form-control-lg" name="MAIL_PORT" value="{{env('MAIL_PORT')}}" />
|
||||
<label style="margin-top:15px">Username</label>
|
||||
<label style="margin-top:15px">{{__('messages.Username')}}</label>
|
||||
<input type="text" class="form-control form-control-lg" class="form-control form-control-lg" name="MAIL_USERNAME" value="{{env('MAIL_USERNAME')}}" />
|
||||
<label style="margin-top:15px">Password</label>
|
||||
<label style="margin-top:15px">{{__('messages.Password')}}</label>
|
||||
<input type="password" class="form-control" name="MAIL_PASSWORD" value="{{env('MAIL_PASSWORD')}}" />
|
||||
<label style="margin-top:15px">Encryption type</label>
|
||||
<label style="margin-top:15px">{{__('messages.Encryption type')}}</label>
|
||||
<input type="text" class="form-control form-control-lg" class="form-control form-control-lg" name="MAIL_ENCRYPTION" value="{{env('MAIL_ENCRYPTION')}}" />
|
||||
<label style="margin-top:15px">From address</label>
|
||||
<label style="margin-top:15px">{{__('messages.From address')}}</label>
|
||||
<input type="text" class="form-control form-control-lg" class="form-control form-control-lg" name="MAIL_FROM_ADDRESS" value="{{env('MAIL_FROM_ADDRESS')}}" />
|
||||
<button type="submit" class="btn btn-primary mt-4">Apply changes</button>
|
||||
<button type="submit" class="btn btn-primary mt-4">{{__('messages.Apply changes')}}</button>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<div class="form-group col-lg-8">
|
||||
<br><br><h5>Test E-Mail setup:</h5>
|
||||
<br><br><h5>{{__('messages.Test E-Mail setup:')}}</h5>
|
||||
@if (session('success'))
|
||||
<div class="alert alert-success">
|
||||
{{ session('success') }}
|
||||
|
@ -390,12 +390,12 @@ document.getElementById("MAINTENANCE_MODE-form").addEventListener("change", func
|
|||
</div>
|
||||
@endif
|
||||
</div>
|
||||
<a href="{{route('SendTestMail')}}"><button class="btn btn-gray">Send Test E-Mail</button></a>
|
||||
<a href="{{route('SendTestMail')}}"><button class="btn btn-gray">{{__('messages.Send Test E-Mail')}}</button></a>
|
||||
{{-- end SMTP settings --}}
|
||||
|
||||
|
||||
{{-- start footer settings --}}
|
||||
<a name="Footer"><h2 class="ch2">Footer links</h2></a>
|
||||
<a name="Footer"><h2 class="ch2">{{__('messages.Footer links')}}</h2></a>
|
||||
|
||||
{{toggle('DISPLAY_FOOTER')}}
|
||||
|
||||
|
@ -419,7 +419,7 @@ document.getElementById("MAINTENANCE_MODE-form").addEventListener("change", func
|
|||
<div class="input-group">
|
||||
<input type="url" style="border-radius:.25rem;max-width:600px" class="form-control" name="value" value="{{$configValue}}">
|
||||
<input type="hidden" name="_token" value="{{csrf_token()}}">
|
||||
<button type="submit" class="btn btn-primary">Apply</button>
|
||||
<button type="submit" class="btn btn-primary">{{__('messages.Apply')}}</button>
|
||||
</div></div>
|
||||
</form>
|
||||
|
||||
|
@ -435,15 +435,15 @@ document.getElementById("MAINTENANCE_MODE-form").addEventListener("change", func
|
|||
|
||||
|
||||
{{-- start debug settings --}}
|
||||
<a name="Debug"><h2 class="ch2">Debug</h2></a>
|
||||
<a name="Debug"><h2 class="ch2">{{__('messages.Debug')}}</h2></a>
|
||||
<form id="debug-form" action="{{route('editConfig')}}" enctype="multipart/form-data" method="post">
|
||||
<div class="form-group col-lg-8">
|
||||
<input value="debug" name="type" style="display:none;" type="text" class="form-control form-control-lg" required>
|
||||
<input value="debug" name="entry" style="display:none;" type="text" class="form-control form-control-lg" required>
|
||||
<h5 style="margin-top:50px">Debug mode</h5>
|
||||
<p class="text-muted">Should be disabled in a production environment. Useful for debugging during setup.</p>
|
||||
<h5 style="margin-top:50px">{{__('messages.Debug.title')}}</h5>
|
||||
<p class="text-muted">{{__('messages.Debug.description')}}</p>
|
||||
<div class="input-group">
|
||||
<div class="mb-3 form-check form-switch toggle-btn"><input name="toggle" class="switch toggle-btn" type="checkbox" id="toggle-debug" <?php if(EnvEditor::getKey('APP_DEBUG') == 'false'){echo '/>';}else{echo 'checked>';} ?> <label for="toggle-debug" class="form-check-label">Enable</label></div>
|
||||
<div class="mb-3 form-check form-switch toggle-btn"><input name="toggle" class="switch toggle-btn" type="checkbox" id="toggle-debug" <?php if(EnvEditor::getKey('APP_DEBUG') == 'false'){echo '/>';}else{echo 'checked>';} ?> <label for="toggle-debug" class="form-check-label">{{__('messages.Enable')}}</label></div>
|
||||
</div></div>
|
||||
<input type="hidden" name="_token" value="{{csrf_token()}}">
|
||||
<script type="text/javascript">document.getElementById("debug-form").addEventListener("change", function() { this.submit(); });</script>
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
<?php
|
||||
use Illuminate\Support\Facades\Http;
|
||||
|
||||
$wtrue = "<td style=\"text-align: center; cursor: help;\" title=\"Everything is working as expected!\"><i class='bi bi-check-lg'></i></td>";
|
||||
$wfalse = "<td style=\"text-align: center; cursor: help;\" title=\"This file cannot be written to. This may impede proper operation.\"><i class='bi bi-x'></i></td>";
|
||||
$wtrue = "<td style=\"text-align: center; cursor: help;\" title=\"".__('messages.wtrue')."\"><i class='bi bi-check-lg'></i></td>";
|
||||
$wfalse = "<td style=\"text-align: center; cursor: help;\" title=\"".__('messages.wfalse')."\"><i class='bi bi-x'></i></td>";
|
||||
|
||||
$utrue = "<td style=\"text-align: center; cursor: help;\" title=\"Your security is at risk. This file can be accessed by everyone. Immediate action is required!\"><i class='bi bi-exclamation-lg'></i></td>";
|
||||
$ufalse = "<td style=\"text-align: center; cursor: help;\" title=\"Everything is working as expected!\"><i class='bi bi-check-lg'></i></td>";
|
||||
$unull = "<td style=\"text-align: center; cursor: help;\" title=\"Something went wrong. This might be normal if you're running behind a proxy or docker container.\">➖</td>";
|
||||
$utrue = "<td style=\"text-align: center; cursor: help;\" title=\"".__('messages.utrue')."\"><i class='bi bi-exclamation-lg'></i></td>";
|
||||
$ufalse = "<td style=\"text-align: center; cursor: help;\" title=\"".__('messages.ufalse')."\"><i class='bi bi-check-lg'></i></td>";
|
||||
$unull = "<td style=\"text-align: center; cursor: help;\" title=\"".__('messages.unull')."\">➖</td>";
|
||||
|
||||
function getUrlSatusCode($url, $timeout = 3)
|
||||
{
|
||||
|
@ -34,17 +34,17 @@ $url2 = getUrlSatusCode(url('database/database.sqlite'));
|
|||
?>
|
||||
|
||||
@if($url1 == '200' or $url2 == '200')
|
||||
<a href="https://docs.linkstack.org/d/installation-requirements/" target="_blank"><h4 style="color:tomato;">Your security is at risk. Some files can be accessed by everyone. Immediate action is required! <br> Click this message to learn more.</h4></a>
|
||||
<a href="https://docs.linkstack.org/installation-requirements/" target="_blank"><h4 style="color:tomato;">{{__('messages.security.risk')}}</h4></a>
|
||||
@endif
|
||||
|
||||
<h3 class="mb-4">Security</h3>
|
||||
<p>Here, you can easily verify if critical system files can be accessed externally. It is important that these files cannot be accessed, otherwise user data like passwords could get leaked. Entries marked with a '<i class='bi bi-check-lg'></i>' cannot be accessed externally, entries marked with a '<i class='bi bi-exclamation-lg'></i>' can be accessed by anyone and require immediate action to protect your data.</p>
|
||||
<h3 class="mb-4">{{__('messages.Security')}}</h3>
|
||||
<p>{{__('messages.security.risk.1-3')}} '<i class='bi bi-check-lg'></i>' {{__('messages.security.risk.1-3')}} '<i class='bi bi-exclamation-lg'></i>' {{__('messages.security.risk.1-3')}}</p>
|
||||
|
||||
<table class="table table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col" style="width: 90%;">Link</th>
|
||||
<th title="You can hover over entries to learn more about their current status" style="cursor: help;" scope="col">Hover for more</th>
|
||||
<th title="You can hover over entries to learn more about their current status" style="cursor: help;" scope="col">{{__('messages.Hover for more')}}</th>
|
||||
|
||||
</tr>
|
||||
</thead>
|
||||
|
@ -60,14 +60,14 @@ $url2 = getUrlSatusCode(url('database/database.sqlite'));
|
|||
</tbody>
|
||||
</table>
|
||||
|
||||
<br><h3 class="mb-4">Write access</h3>
|
||||
<p>Here, you can easily verify if important system files can be written to. This is important for every function to work properly. Entries marked with a '<i class='bi bi-check-lg'></i>' work as expected, entries marked with a '<i class='bi bi-x'></i>' do not.</p>
|
||||
<br><h3 class="mb-4">{{__('messages.Write access')}}</h3>
|
||||
<p>{{__('messages.Write access.description.1-3')}} '<i class='bi bi-check-lg'></i>' {{__('messages.Write access.description.2-3')}} '<i class='bi bi-x'></i>' {{__('messages.Write access.description.3-3')}}</p>
|
||||
|
||||
<table class="table table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col" style="width: 90%;">File</th>
|
||||
<th title="You can hover over entries to learn more about their current status" style="cursor: help;" scope="col">Hover for more</th>
|
||||
<th title="You can hover over entries to learn more about their current status" style="cursor: help;" scope="col">{{__('messages.Hover for more')}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
@ -82,24 +82,24 @@ $url2 = getUrlSatusCode(url('database/database.sqlite'));
|
|||
</tbody>
|
||||
</table>
|
||||
|
||||
<br><h3 class="mb-4">Dependencies</h3>
|
||||
<p>Required PHP modules.</p>
|
||||
<br><h3 class="mb-4">{{__('messages.Dependencies')}}</h3>
|
||||
<p>{{__('messages.Required PHP modules')}}</p>
|
||||
|
||||
<style>#dp{width:10%!important;text-align:center;}</style>
|
||||
<table class="table table-bordered">
|
||||
<style>.bi-x-lg{color:tomato}</style>
|
||||
<tr><td>BCMath PHP Extension</td><td id="dp">@if(extension_loaded('bcmath'))<i class='bi bi-check-lg'></i>@else<i class='bi bi-x'></i>@endif</td></tr>
|
||||
<tr><td>Ctype PHP Extension</td><td id="dp">@if(extension_loaded('Ctype'))<i class='bi bi-check-lg'></i>@else<i class='bi bi-x'></i>@endif</td></tr>
|
||||
<tr><td>cURL PHP Extension</td><td id="dp">@if(extension_loaded('cURL'))<i class='bi bi-check-lg'></i>@else<i class='bi bi-x'></i>@endif</td></tr>
|
||||
<tr><td>DOM PHP Extension</td><td id="dp">@if(extension_loaded('DOM'))<i class='bi bi-check-lg'></i>@else<i class='bi bi-x'></i>@endif</td></tr>
|
||||
<tr><td>Fileinfo PHP Extension</td><td id="dp">@if(extension_loaded('Fileinfo'))<i class='bi bi-check-lg'></i>@else<i class='bi bi-x'></i>@endif</td></tr>
|
||||
<tr><td>JSON PHP Extension</td><td id="dp">@if(extension_loaded('JSON'))<i class='bi bi-check-lg'></i>@else<i class='bi bi-x'></i>@endif</td></tr>
|
||||
<tr><td>Mbstring PHP Extension</td><td id="dp">@if(extension_loaded('Mbstring'))<i class='bi bi-check-lg'></i>@else<i class='bi bi-x'></i>@endif</td></tr>
|
||||
<tr><td>OpenSSL PHP Extension</td><td id="dp">@if(extension_loaded('OpenSSL'))<i class='bi bi-check-lg'></i>@else<i class='bi bi-x'></i>@endif</td></tr>
|
||||
<tr><td>PCRE PHP Extension</td><td id="dp">@if(extension_loaded('PCRE'))<i class='bi bi-check-lg'></i>@else<i class='bi bi-x'></i>@endif</td></tr>
|
||||
<tr><td>PDO PHP Extension</td><td id="dp">@if(extension_loaded('PDO'))<i class='bi bi-check-lg'></i>@else<i class='bi bi-x'></i>@endif</td></tr>
|
||||
<tr><td>Tokenizer PHP Extension</td><td id="dp">@if(extension_loaded('Tokenizer'))<i class='bi bi-check-lg'></i>@else<i class='bi bi-x'></i>@endif</td></tr>
|
||||
<tr><td>XML PHP Extension</td><td id="dp">@if(extension_loaded('XML'))<i class='bi bi-check-lg'></i>@else<i class='bi bi-x'></i>@endif</td></tr>
|
||||
<tr><td>SQLite PHP Extension</td><td id="dp">@if(extension_loaded('PDO_SQLite'))<i class='bi bi-check-lg'></i>@else<i class='bi bi-x'></i>@endif</td></tr>
|
||||
<tr><td>MySQL PHP Extension</td><td id="dp">@if(extension_loaded('PDO_MySQL'))<i class='bi bi-check-lg'></i>@else<i class='bi bi-x'></i>@endif</td></tr>
|
||||
<tr><td>BCMath {{__('messages.PHP Extension')}}</td><td id="dp">@if(extension_loaded('bcmath'))<i class='bi bi-check-lg'></i>@else<i class='bi bi-x'></i>@endif</td></tr>
|
||||
<tr><td>Ctype {{__('messages.PHP Extension')}}</td><td id="dp">@if(extension_loaded('Ctype'))<i class='bi bi-check-lg'></i>@else<i class='bi bi-x'></i>@endif</td></tr>
|
||||
<tr><td>cURL {{__('messages.PHP Extension')}}</td><td id="dp">@if(extension_loaded('cURL'))<i class='bi bi-check-lg'></i>@else<i class='bi bi-x'></i>@endif</td></tr>
|
||||
<tr><td>DOM {{__('messages.PHP Extension')}}</td><td id="dp">@if(extension_loaded('DOM'))<i class='bi bi-check-lg'></i>@else<i class='bi bi-x'></i>@endif</td></tr>
|
||||
<tr><td>Fileinfo {{__('messages.PHP Extension')}}</td><td id="dp">@if(extension_loaded('Fileinfo'))<i class='bi bi-check-lg'></i>@else<i class='bi bi-x'></i>@endif</td></tr>
|
||||
<tr><td>JSON {{__('messages.PHP Extension')}}</td><td id="dp">@if(extension_loaded('JSON'))<i class='bi bi-check-lg'></i>@else<i class='bi bi-x'></i>@endif</td></tr>
|
||||
<tr><td>Mbstring {{__('messages.PHP Extension')}}</td><td id="dp">@if(extension_loaded('Mbstring'))<i class='bi bi-check-lg'></i>@else<i class='bi bi-x'></i>@endif</td></tr>
|
||||
<tr><td>OpenSSL {{__('messages.PHP Extension')}}</td><td id="dp">@if(extension_loaded('OpenSSL'))<i class='bi bi-check-lg'></i>@else<i class='bi bi-x'></i>@endif</td></tr>
|
||||
<tr><td>PCRE {{__('messages.PHP Extension')}}</td><td id="dp">@if(extension_loaded('PCRE'))<i class='bi bi-check-lg'></i>@else<i class='bi bi-x'></i>@endif</td></tr>
|
||||
<tr><td>PDO {{__('messages.PHP Extension')}}</td><td id="dp">@if(extension_loaded('PDO'))<i class='bi bi-check-lg'></i>@else<i class='bi bi-x'></i>@endif</td></tr>
|
||||
<tr><td>Tokenizer {{__('messages.PHP Extension')}}</td><td id="dp">@if(extension_loaded('Tokenizer'))<i class='bi bi-check-lg'></i>@else<i class='bi bi-x'></i>@endif</td></tr>
|
||||
<tr><td>XML {{__('messages.PHP Extension')}}</td><td id="dp">@if(extension_loaded('XML'))<i class='bi bi-check-lg'></i>@else<i class='bi bi-x'></i>@endif</td></tr>
|
||||
<tr><td>SQLite {{__('messages.PHP Extension')}}</td><td id="dp">@if(extension_loaded('PDO_SQLite'))<i class='bi bi-check-lg'></i>@else<i class='bi bi-x'></i>@endif</td></tr>
|
||||
<tr><td>MySQL {{__('messages.PHP Extension')}}</td><td id="dp">@if(extension_loaded('PDO_MySQL'))<i class='bi bi-check-lg'></i>@else<i class='bi bi-x'></i>@endif</td></tr>
|
||||
</table>
|
|
@ -15,11 +15,11 @@
|
|||
|
||||
<div id="exTab2" class="">
|
||||
<ul id="myTab" class="nav nav-tabs">
|
||||
<li class="nav-item"><a class="nav-link active" href="#1" data-toggle="tab" id="home-tab">Config</a></li>
|
||||
<li class="nav-item"><a class="nav-link" href="#2" data-toggle="tab" id="advanced-tab">Advanced Config</a></li>
|
||||
<li class="nav-item"><a class="nav-link" href="#3" data-toggle="tab" id="backup-tab">Take Backup</a></li>
|
||||
<li class="nav-item"><a class="nav-link" href="#4" data-toggle="tab" id="backups4-tab">All Backups</a></li>
|
||||
<li class="nav-item"><a class="nav-link" href="#5" data-toggle="tab" id="diagnose5-tab">Diagnosis</a></li>
|
||||
<li class="nav-item"><a class="nav-link active" href="#1" data-toggle="tab" id="home-tab">{{__('messages.Config')}}</a></li>
|
||||
<li class="nav-item"><a class="nav-link" href="#2" data-toggle="tab" id="advanced-tab">{{__('messages.Advanced Config')}}</a></li>
|
||||
<li class="nav-item"><a class="nav-link" href="#3" data-toggle="tab" id="backup-tab">{{__('messages.Take Backup')}}</a></li>
|
||||
<li class="nav-item"><a class="nav-link" href="#4" data-toggle="tab" id="backups4-tab">{{__('messages.All Backups')}}</a></li>
|
||||
<li class="nav-item"><a class="nav-link" href="#5" data-toggle="tab" id="diagnose5-tab">{{__('messages.Diagnosis')}}</a></li>
|
||||
</ul>
|
||||
|
||||
<div class="tab-content ">
|
||||
|
@ -27,7 +27,7 @@
|
|||
|
||||
<div class="tab-pane fade show active" role="tabpanel" style="scroll-margin-top: 1000px;" aria-labelledby="home-tab" id="1">
|
||||
<section class="text-gray-400">
|
||||
<h2 class="mb-4 card-header"><i class="bi bi-pencil-square"> Config</i></h2>
|
||||
<h2 class="mb-4 card-header"><i class="bi bi-pencil-square"> {{__('messages.Config')}}</i></h2>
|
||||
<div class="card-body p-0 p-md-3">
|
||||
|
||||
<style>
|
||||
|
@ -64,8 +64,8 @@
|
|||
<div class="d-flex align-items-center text-body">
|
||||
<i class="bi bi-pencil-square opt-img mr-3"></i>
|
||||
<div>
|
||||
<h3 class="counter mb-2 text-body" style="visibility: visible;">Alternative Config Editor</h3>
|
||||
<p class="mb-0">Use the Alternative Config Editor to edit the config directly</p>
|
||||
<h3 class="counter mb-2 text-body" style="visibility: visible;">{{__('messages.Alternative Config Editor')}}</h3>
|
||||
<p class="mb-0">{{__('messages.Use the Alternative Config Editor to edit the config directly')}}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -77,8 +77,8 @@
|
|||
<div class="d-flex align-items-center text-body">
|
||||
<i class="bi bi-filetype-php opt-img mr-3"></i>
|
||||
<div>
|
||||
<h3 class="counter mb-2 text-body" style="visibility: visible;">PHP info</h3>
|
||||
<p class="mb-0">Display debugging information about your PHP setup</p>
|
||||
<h3 class="counter mb-2 text-body" style="visibility: visible;">{{__('messages.PHP info')}}</h3>
|
||||
<p class="mb-0">{{__('messages.Display debugging information about your PHP setup')}}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -90,31 +90,31 @@
|
|||
|
||||
@endif
|
||||
|
||||
<label class="mb-2">Jump directly to:</label>
|
||||
<label class="mb-2">{{__('messages.Jump directly to:')}}</label>
|
||||
<div class="col-md-12 col-lg-12">
|
||||
<div class="row row-cols-1">
|
||||
<div class="overflow-hidden d-slider1 swiper-container-initialized swiper-container-horizontal swiper-container-pointer-events">
|
||||
<ul class="p-0 m-0 mb-2 swiper-wrapper list-inline" id="swiper-wrapper-a3b63471782f110100" aria-live="polite" style="transition-duration: 0ms; transform: translate3d(0px, 0px, 0px);">
|
||||
<li class="swiper-slide card card-slide aos-init aos-animate swiper-slide-active">
|
||||
<a href="#Application" class="btn btn-primary">Application</a>
|
||||
<a href="#Application" class="btn btn-primary">{{__('messages.Application')}}</a>
|
||||
</li>
|
||||
<li class="swiper-slide card card-slide aos-init aos-animate swiper-slide-next">
|
||||
<a href="#Panel-settings" class="btn btn-primary">Panel settings</a>
|
||||
<a href="#Panel-settings" class="btn btn-primary">{{__('messages.Panel settings')}}</a>
|
||||
</li>
|
||||
<li class="swiper-slide card card-slide aos-init aos-animate swiper-slide-next">
|
||||
<a href="#Security" class="btn btn-primary">Security</a>
|
||||
<a href="#Security" class="btn btn-primary">{{__('messages.Security')}}</a>
|
||||
</li>
|
||||
<li class="swiper-slide card card-slide aos-init aos-animate swiper-slide-next">
|
||||
<a href="#Advanced" class="btn btn-primary">Advanced</a>
|
||||
<a href="#Advanced" class="btn btn-primary">{{__('messages.Advanced')}}</a>
|
||||
</li>
|
||||
<li class="swiper-slide card card-slide aos-init aos-animate swiper-slide-next">
|
||||
<a href="#SMTP" class="btn btn-primary">SMTP</a>
|
||||
<a href="#SMTP" class="btn btn-primary">{{__('messages.SMTP')}}</a>
|
||||
</li>
|
||||
<li class="swiper-slide card card-slide aos-init aos-animate swiper-slide-next">
|
||||
<a href="#Footer" class="btn btn-primary">Footer links</a>
|
||||
<a href="#Footer" class="btn btn-primary">{{__('messages.Footer links')}}</a>
|
||||
</li>
|
||||
<li class="swiper-slide card card-slide aos-init aos-animate swiper-slide-next">
|
||||
<a href="#Debug" class="btn btn-primary">Debug</a>
|
||||
<a href="#Debug" class="btn btn-primary">{{__('messages.Debug')}}</a>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="swiper-button swiper-button-next" tabindex="0" role="button" aria-label="Next slide" aria-controls="swiper-wrapper-a3b63471782f110100" aria-disabled="false"></div>
|
||||
|
@ -133,7 +133,7 @@
|
|||
|
||||
<div class="tab-pane" role="tabpanel" style="scroll-margin-top: 1000px;" aria-labelledby="advanced-tab" id="2">
|
||||
<section class="text-gray-400">
|
||||
<h2 class="mb-4 card-header"><i class="bi bi-pencil-square"> Advanced config</i></h2>
|
||||
<h2 class="mb-4 card-header"><i class="bi bi-pencil-square"> {{__('messages.Advanced Config')}}</i></h2>
|
||||
<div class="card-body p-0 p-md-3">
|
||||
@include('components.config.advanced-config')
|
||||
</div>
|
||||
|
@ -143,7 +143,7 @@
|
|||
|
||||
<div class="tab-pane" role="tabpanel" style="scroll-margin-top: 1000px;" aria-labelledby="backup-tab" id="3">
|
||||
<section class="text-gray-400">
|
||||
<h2 class="mb-4 card-header"><i class="bi bi-link-45deg"> Backup</i></h2>
|
||||
<h2 class="mb-4 card-header"><i class="bi bi-link-45deg"> {{__('messages.Backup')}}</i></h2>
|
||||
<div class="card-body p-0 p-md-3">
|
||||
@include('components.config.backup')
|
||||
</div>
|
||||
|
@ -153,7 +153,7 @@
|
|||
|
||||
<div class="tab-pane" role="tabpanel" style="scroll-margin-top: 1000px;" aria-labelledby="backups4-tab" id="4">
|
||||
<section class="text-gray-400">
|
||||
<h2 class="mb-4 card-header"><i class="bi bi-link-45deg"> Backups</i></h2>
|
||||
<h2 class="mb-4 card-header"><i class="bi bi-link-45deg"> {{__('messages.Backups')}}</i></h2>
|
||||
<div class="card-body p-0 p-md-3">
|
||||
@include('components.config.backups')
|
||||
</div>
|
||||
|
@ -163,7 +163,7 @@
|
|||
|
||||
<div class="tab-pane" role="tabpanel" style="scroll-margin-top: 1000px;" aria-labelledby="diagnose5-tab" id="5">
|
||||
<section class="text-gray-400">
|
||||
<h2 class="mb-4 card-header"><i class="bi bi-braces-asterisk"> Debugging information</i> <span class="text-muted" style="font-size:60%;vertical-align: middle;">v{{file_get_contents(base_path("version.json"))}}</span></h2>
|
||||
<h2 class="mb-4 card-header"><i class="bi bi-braces-asterisk"> {{__('messages.Debugging information')}}</i> <span class="text-muted" style="font-size:60%;vertical-align: middle;">v{{file_get_contents(base_path("version.json"))}}</span></h2>
|
||||
<div class="card-body p-0 p-md-3">
|
||||
@include('components.config.diagnose')
|
||||
</div>
|
||||
|
|
Loading…
Reference in New Issue