Update website
This commit is contained in:
parent
41ce1aa076
commit
ea0eb1c6e0
4222 changed files with 721797 additions and 14 deletions
15
admin/phpMyAdmin/templates/preferences/autoload.twig
Normal file
15
admin/phpMyAdmin/templates/preferences/autoload.twig
Normal file
|
@ -0,0 +1,15 @@
|
|||
<div id="prefs_autoload" class="alert alert-primary d-print-none hide" role="alert">
|
||||
<form action="{{ url('/preferences/manage') }}" method="post" class="disableAjax">
|
||||
{{ hidden_inputs|raw }}
|
||||
<input type="hidden" name="json" value="">
|
||||
<input type="hidden" name="submit_import" value="1">
|
||||
<input type="hidden" name="return_url" value="{{ return_url }}">
|
||||
{% trans %}
|
||||
Your browser has phpMyAdmin configuration for this domain. Would you like to import it for current session?
|
||||
{% endtrans %}
|
||||
<br>
|
||||
<a href="#yes">{% trans "Yes" %}</a>
|
||||
/ <a href="#no">{% trans "No" %}</a>
|
||||
/ <a href="#delete">{% trans "Delete settings" %}</a>
|
||||
</form>
|
||||
</div>
|
8
admin/phpMyAdmin/templates/preferences/forms/main.twig
Normal file
8
admin/phpMyAdmin/templates/preferences/forms/main.twig
Normal file
|
@ -0,0 +1,8 @@
|
|||
{{ error|raw }}
|
||||
{% if has_errors %}
|
||||
<div class="alert alert-danger config-form" role="alert">
|
||||
<strong>{% trans 'Cannot save settings, submitted form contains errors!' %}</strong>
|
||||
{{ errors|raw }}
|
||||
</div>
|
||||
{% endif %}
|
||||
{{ form|raw }}
|
62
admin/phpMyAdmin/templates/preferences/header.twig
Normal file
62
admin/phpMyAdmin/templates/preferences/header.twig
Normal file
|
@ -0,0 +1,62 @@
|
|||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<ul id="user_prefs_tabs" class="nav nav-pills m-2">
|
||||
<li class="nav-item">
|
||||
<a href="{{ url('/preferences/manage') }}" class="nav-link{{ route == '/preferences/manage' ? ' active' }}">
|
||||
{% trans 'Manage your settings' %}
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li class="nav-item">
|
||||
<a href="{{ url('/preferences/two-factor') }}" class="nav-link{{ route == '/preferences/two-factor' ? ' active' }}">
|
||||
{% trans 'Two-factor authentication' %}
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li class="nav-item">
|
||||
<a href="{{ url('/preferences/features') }}" class="nav-link{{ route == '/preferences/features' ? ' active' }}">
|
||||
{{ get_icon('b_tblops', 'Features'|trans, false, false, 'TabsMode') }}
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li class="nav-item">
|
||||
<a href="{{ url('/preferences/sql') }}" class="nav-link{{ route == '/preferences/sql' ? ' active' }}">
|
||||
{{ get_icon('b_sql', 'SQL queries'|trans, false, false, 'TabsMode') }}
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li class="nav-item">
|
||||
<a href="{{ url('/preferences/navigation') }}" class="nav-link{{ route == '/preferences/navigation' ? ' active' }}">
|
||||
{{ get_icon('b_select', 'Navigation panel'|trans, false, false, 'TabsMode') }}
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li class="nav-item">
|
||||
<a href="{{ url('/preferences/main-panel') }}" class="nav-link{{ route == '/preferences/main-panel' ? ' active' }}">
|
||||
{{ get_icon('b_props', 'Main panel'|trans, false, false, 'TabsMode') }}
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li class="nav-item">
|
||||
<a href="{{ url('/preferences/export') }}" class="nav-link{{ route == '/preferences/export' ? ' active' }}">
|
||||
{{ get_icon('b_export', 'Export'|trans, false, false, 'TabsMode') }}
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li class="nav-item">
|
||||
<a href="{{ url('/preferences/import') }}" class="nav-link{{ route == '/preferences/import' ? ' active' }}">
|
||||
{{ get_icon('b_import', 'Import'|trans, false, false, 'TabsMode') }}
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
{% if is_saved %}
|
||||
{{ 'Configuration has been saved.'|trans|raw_success }}
|
||||
{% endif %}
|
||||
|
||||
{% if not has_config_storage %}
|
||||
{% apply format('<a href="' ~ get_docu_link('setup', 'linked-tables') ~ '" target="_blank" rel="noopener noreferrer">', '</a>')|notice %}
|
||||
{% trans 'Your preferences will be saved for current session only. Storing them permanently requires %sphpMyAdmin configuration storage%s.' %}
|
||||
{% endapply %}
|
||||
{% endif %}
|
20
admin/phpMyAdmin/templates/preferences/manage/error.twig
Normal file
20
admin/phpMyAdmin/templates/preferences/manage/error.twig
Normal file
|
@ -0,0 +1,20 @@
|
|||
{{ 'Configuration contains incorrect data for some fields.'|trans|error }}
|
||||
<div class="config-form">
|
||||
{{ form_errors|raw }}
|
||||
</div>
|
||||
<form action="{{ url('/preferences/manage') }}" method="post" class="disableAjax">
|
||||
{{ get_hidden_inputs() }}
|
||||
<input type="hidden" name="json" value="{{ json }}">
|
||||
<input type="hidden" name="fix_errors" value="1">
|
||||
{% if import_merge is not empty %}
|
||||
<input type="hidden" name="import_merge" value="1">
|
||||
{% endif %}
|
||||
{% if return_url %}
|
||||
<input type="hidden" name="return_url" value="{{ return_url }}">
|
||||
{% endif %}
|
||||
<p>
|
||||
{% trans 'Do you want to import remaining settings?' %}
|
||||
</p>
|
||||
<input class="btn btn-secondary" type="submit" name="submit_import" value="{{ 'Yes'|trans }}">
|
||||
<input class="btn btn-secondary" type="submit" name="submit_ignore" value="{{ 'No'|trans }}">
|
||||
</form>
|
131
admin/phpMyAdmin/templates/preferences/manage/main.twig
Normal file
131
admin/phpMyAdmin/templates/preferences/manage/main.twig
Normal file
|
@ -0,0 +1,131 @@
|
|||
{{ error|raw }}
|
||||
<script type="text/javascript">
|
||||
{{ get_js_value("Messages.strSavedOn", 'Saved on: @DATE@'|trans) }}
|
||||
</script>
|
||||
<div class="row">
|
||||
<div id="maincontainer" class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-12 col-md-7">
|
||||
<div class="card mt-4">
|
||||
<div class="card-header">
|
||||
{% trans 'Import' %}
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<form class="prefs-form disableAjax" name="prefs_import" action="{{ url('/preferences/manage') }}" method="post"
|
||||
enctype="multipart/form-data">
|
||||
{{ get_hidden_inputs() }}
|
||||
<input type="hidden" name="MAX_FILE_SIZE" value="{{ max_upload_size }}">
|
||||
<input type="hidden" name="json" value="">
|
||||
<input type="radio" id="import_text_file" name="import_type" value="text_file" checked="checked">
|
||||
<label for="import_text_file"> {% trans 'Import from file' %} </label>
|
||||
<div id="opts_import_text_file" class="prefsmanage_opts">
|
||||
<label for="input_import_file"> {% trans 'Browse your computer:' %} </label>
|
||||
<input type="file" name="import_file" id="input_import_file">
|
||||
</div>
|
||||
<input type="radio" id="import_local_storage" name="import_type" value="local_storage"
|
||||
disabled="disabled">
|
||||
<label for="import_local_storage"> {% trans 'Import from browser\'s storage' %} </label>
|
||||
<div id="opts_import_local_storage" class="prefsmanage_opts disabled">
|
||||
<div class="localStorage-supported">
|
||||
{% trans 'Settings will be imported from your browser\'s local storage.' %}
|
||||
<br>
|
||||
<div class="localStorage-exists">
|
||||
{% trans 'Saved on: @DATE@' %}
|
||||
</div>
|
||||
<div class="localStorage-empty">
|
||||
{{ 'You have no saved settings!'|trans|notice }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="localStorage-unsupported">
|
||||
{{ 'This feature is not supported by your web browser'|trans|notice }}
|
||||
</div>
|
||||
</div>
|
||||
<input type="checkbox" id="import_merge" name="import_merge">
|
||||
<label for="import_merge"> {% trans 'Merge with current configuration' %} </label>
|
||||
<br><br>
|
||||
<input class="btn btn-primary" type="submit" name="submit_import" value="{{ 'Go'|trans }}">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
{% if exists_setup_and_not_exists_config %}
|
||||
{# show only if setup script is available, allows to disable this message #}
|
||||
{# by simply removing setup directory #}
|
||||
{# Also do not show in config exists (and setup would refuse to work) #}
|
||||
<div class="card mt-4">
|
||||
<div class="card-header">
|
||||
{% trans 'More settings' %}
|
||||
</div>
|
||||
<div class="card-body">
|
||||
{{ 'You can set more settings by modifying config.inc.php, eg. by using %sSetup script%s.'|trans|format('<a href="setup/index.php" target="_blank">','</a>')|raw }}
|
||||
{{ show_docu('setup', 'setup-script') }}
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="col-12 col-md-5">
|
||||
<div class="card mt-4">
|
||||
<div class="card-header">
|
||||
{% trans 'Export' %}
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="click-hide-message hide">
|
||||
{{ 'Configuration has been saved.'|trans|raw_success }}
|
||||
</div>
|
||||
<form class="prefs-form disableAjax" name="prefs_export"
|
||||
action="{{ url('/preferences/manage') }}" method="post">
|
||||
{{ get_hidden_inputs() }}
|
||||
<div>
|
||||
<input type="radio" id="export_text_file" name="export_type"
|
||||
value="text_file" checked="checked">
|
||||
<label for="export_text_file">
|
||||
{% trans 'Save as JSON file' %}
|
||||
</label><br>
|
||||
<input type="radio" id="export_php_file" name="export_type" value="php_file">
|
||||
<label for="export_php_file">
|
||||
{% trans 'Save as PHP file' %}
|
||||
</label><br>
|
||||
<input type="radio" id="export_local_storage" name="export_type" value="local_storage"
|
||||
disabled="disabled">
|
||||
<label for="export_local_storage">
|
||||
{% trans 'Save to browser\'s storage' %}
|
||||
</label>
|
||||
</div>
|
||||
<div id="opts_export_local_storage"
|
||||
class="prefsmanage_opts disabled">
|
||||
<span class="localStorage-supported">
|
||||
{% trans 'Settings will be saved in your browser\'s local storage.' %}
|
||||
<div class="localStorage-exists">
|
||||
<b>
|
||||
{% trans 'Existing settings will be overwritten!' %}
|
||||
</b>
|
||||
</div>
|
||||
</span>
|
||||
<div class="localStorage-unsupported">
|
||||
{{ 'This feature is not supported by your web browser'|trans|notice }}
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<input class="btn btn-primary" type="submit" name="submit_export" value="{% trans 'Go' %}">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card mt-4">
|
||||
<div class="card-header">
|
||||
{% trans 'Reset' %}
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<form class="prefs-form disableAjax" name="prefs_reset"
|
||||
action="{{ url('/preferences/manage') }}" method="post">
|
||||
{{ get_hidden_inputs() }}
|
||||
{% trans 'You can reset all your settings and restore them to default values.' %}
|
||||
<br><br>
|
||||
<input class="btn btn-secondary" type="submit" name="submit_clear" value="{% trans 'Reset' %}">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<br class="clearfloat">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
|
@ -0,0 +1,17 @@
|
|||
<div class="row">
|
||||
<div class="col">
|
||||
<div class="card mt-4">
|
||||
<div class="card-header">
|
||||
{% trans "Configure two-factor authentication" %}
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<form method="post" action="{{ url('/preferences/two-factor') }}">
|
||||
{{ get_hidden_inputs() }}
|
||||
<input type="hidden" name="2fa_configure" value="{{ configure }}">
|
||||
{{ form|raw }}
|
||||
<input class="btn btn-secondary" type="submit" value="{% trans "Enable two-factor authentication" %}">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
|
@ -0,0 +1,18 @@
|
|||
<div class="row">
|
||||
<div class="col">
|
||||
<div class="card mt-4">
|
||||
<div class="card-header">
|
||||
{% trans "Confirm disabling two-factor authentication" %}
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<form method="post" action="{{ url('/preferences/two-factor') }}">
|
||||
{{ "By disabling two factor authentication you will be again able to login using password only."|trans|notice }}
|
||||
{{ get_hidden_inputs() }}
|
||||
{{ form|raw }}
|
||||
<input type="hidden" name="2fa_remove" value="1">
|
||||
<input class="btn btn-secondary" type="submit" value="{% trans "Disable two-factor authentication" %}">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
104
admin/phpMyAdmin/templates/preferences/two_factor/main.twig
Normal file
104
admin/phpMyAdmin/templates/preferences/two_factor/main.twig
Normal file
|
@ -0,0 +1,104 @@
|
|||
<div class="row">
|
||||
<div class="col">
|
||||
<div class="card mt-4">
|
||||
<div class="card-header">
|
||||
{% trans "Two-factor authentication status" %}
|
||||
{{ show_docu('two_factor') }}
|
||||
</div>
|
||||
<div class="card-body">
|
||||
{% if enabled %}
|
||||
{% if num_backends == 0 %}
|
||||
<p>{% trans "Two-factor authentication is not available, please install optional dependencies to enable authentication backends." %}</p>
|
||||
<p>{% trans "Following composer packages are missing:" %}</p>
|
||||
<ul>
|
||||
{% for item in missing %}
|
||||
<li><code>{{ item.dep }}</code> ({{ item.class }})</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% else %}
|
||||
{% if backend_id %}
|
||||
<p>{% trans "Two-factor authentication is available and configured for this account." %}</p>
|
||||
{% else %}
|
||||
<p>{% trans "Two-factor authentication is available, but not configured for this account." %}</p>
|
||||
{% endif %}
|
||||
{% if missing|length > 0 %}
|
||||
<p>
|
||||
{{ 'Please install optional dependencies to enable more authentication backends.'|trans }}
|
||||
{{ 'Following composer packages are missing:'|trans }}
|
||||
</p>
|
||||
<ul>
|
||||
{% for item in missing %}
|
||||
<li><code>{{ item.dep }}</code> ({{ item.class }})</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% else %}
|
||||
<p>{% trans "Two-factor authentication is not available, enable phpMyAdmin configuration storage to use it." %}</p>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% if backend_id %}
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<div class="card mt-4">
|
||||
<div class="card-header">
|
||||
{{ backend_name }}
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<p>{% trans "You have enabled two factor authentication." %}</p>
|
||||
<p>{{ backend_description }}</p>
|
||||
{% if backend_id == 'key' %}
|
||||
<div class="alert alert-danger" role="alert">
|
||||
<h4 class="alert-heading">{{ 'Deprecated!'|trans }}</h4>
|
||||
<p>{{ 'The FIDO U2F API has been deprecated in favor of the Web Authentication API (WebAuthn).'|trans }}</p>
|
||||
<p class="mb-0">
|
||||
{{ 'You can still use Firefox to authenticate your account using the FIDO U2F API, however it\'s recommended that you use the WebAuthn authentication instead.'|trans }}
|
||||
</p>
|
||||
</div>
|
||||
{% endif %}
|
||||
<form method="post" action="{{ url('/preferences/two-factor') }}">
|
||||
{{ get_hidden_inputs() }}
|
||||
<input class="btn btn-secondary" type="submit" name="2fa_remove" value="
|
||||
{%- trans "Disable two-factor authentication" %}">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% elseif num_backends > 0 %}
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<div class="card mt-4">
|
||||
<div class="card-header">
|
||||
{% trans "Configure two-factor authentication" %}
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<form method="post" action="{{ url('/preferences/two-factor') }}">
|
||||
{{ get_hidden_inputs() }}
|
||||
{% for backend in backends %}
|
||||
<label class="d-block">
|
||||
<input type="radio" name="2fa_configure" value="{{ backend["id"] }}"
|
||||
{{- backend["id"] == "" ? ' checked' }}>
|
||||
<strong>{{ backend["name"] }}</strong>
|
||||
<p>
|
||||
{%- if backend['id'] == 'key' -%}
|
||||
<span class="text-danger">
|
||||
{{ 'The FIDO U2F API has been deprecated in favor of the Web Authentication API (WebAuthn).'|trans }}
|
||||
</span>
|
||||
<br>
|
||||
{%- endif -%}
|
||||
{{ backend["description"] }}
|
||||
</p>
|
||||
</label>
|
||||
{% endfor %}
|
||||
<input class="btn btn-secondary" type="submit" value="{% trans "Configure two-factor authentication" %}">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
Loading…
Add table
Add a link
Reference in a new issue