aboutsummaryrefslogtreecommitdiff
path: root/srcs/phpmyadmin/templates/server
diff options
context:
space:
mode:
Diffstat (limited to 'srcs/phpmyadmin/templates/server')
-rw-r--r--srcs/phpmyadmin/templates/server/binlog/index.twig107
-rw-r--r--srcs/phpmyadmin/templates/server/collations/index.twig32
-rw-r--r--srcs/phpmyadmin/templates/server/databases/index.twig323
-rw-r--r--srcs/phpmyadmin/templates/server/engines/index.twig27
-rw-r--r--srcs/phpmyadmin/templates/server/engines/show.twig48
-rw-r--r--srcs/phpmyadmin/templates/server/plugins/index.twig58
-rw-r--r--srcs/phpmyadmin/templates/server/privileges/add_user_fieldset.twig8
-rw-r--r--srcs/phpmyadmin/templates/server/privileges/choose_user_group.twig9
-rw-r--r--srcs/phpmyadmin/templates/server/privileges/column_privileges.twig24
-rw-r--r--srcs/phpmyadmin/templates/server/privileges/delete_user_fieldset.twig17
-rw-r--r--srcs/phpmyadmin/templates/server/privileges/edit_routine_privileges.twig26
-rw-r--r--srcs/phpmyadmin/templates/server/privileges/global_priv_table.twig22
-rw-r--r--srcs/phpmyadmin/templates/server/privileges/initials_row.twig26
-rw-r--r--srcs/phpmyadmin/templates/server/privileges/privileges_summary.twig104
-rw-r--r--srcs/phpmyadmin/templates/server/privileges/require_options.twig32
-rw-r--r--srcs/phpmyadmin/templates/server/privileges/resource_limits.twig21
-rw-r--r--srcs/phpmyadmin/templates/server/replication/change_master.twig35
-rw-r--r--srcs/phpmyadmin/templates/server/replication/database_multibox.twig9
-rw-r--r--srcs/phpmyadmin/templates/server/replication/index.twig36
-rw-r--r--srcs/phpmyadmin/templates/server/replication/master_add_slave_user.twig84
-rw-r--r--srcs/phpmyadmin/templates/server/replication/master_configuration.twig32
-rw-r--r--srcs/phpmyadmin/templates/server/replication/master_replication.twig52
-rw-r--r--srcs/phpmyadmin/templates/server/replication/slave_configuration.twig109
-rw-r--r--srcs/phpmyadmin/templates/server/replication/status_table.twig34
-rw-r--r--srcs/phpmyadmin/templates/server/status/advisor/index.twig39
-rw-r--r--srcs/phpmyadmin/templates/server/status/base.twig39
-rw-r--r--srcs/phpmyadmin/templates/server/status/monitor/index.twig268
-rw-r--r--srcs/phpmyadmin/templates/server/status/processes/index.twig53
-rw-r--r--srcs/phpmyadmin/templates/server/status/processes/list.twig65
-rw-r--r--srcs/phpmyadmin/templates/server/status/queries/index.twig56
-rw-r--r--srcs/phpmyadmin/templates/server/status/status/index.twig78
-rw-r--r--srcs/phpmyadmin/templates/server/status/variables/index.twig137
-rw-r--r--srcs/phpmyadmin/templates/server/sub_page_header.twig16
-rw-r--r--srcs/phpmyadmin/templates/server/variables/index.twig78
34 files changed, 2104 insertions, 0 deletions
diff --git a/srcs/phpmyadmin/templates/server/binlog/index.twig b/srcs/phpmyadmin/templates/server/binlog/index.twig
new file mode 100644
index 0000000..cdc85dc
--- /dev/null
+++ b/srcs/phpmyadmin/templates/server/binlog/index.twig
@@ -0,0 +1,107 @@
+<h2>
+ {{ get_image('s_tbl') }}
+ {% trans 'Binary log' %}
+</h2>
+
+<form action="server_binlog.php" method="post">
+ {{ get_hidden_inputs(url_params) }}
+ <fieldset>
+ <legend>
+ {% trans 'Select binary log to view' %}
+ </legend>
+
+ {% set full_size = 0 %}
+ <select name="log">
+ {% for each_log in binary_logs %}
+ <option value="{{ each_log['Log_name'] }}"
+ {{- each_log['Log_name'] == log ? ' selected' }}>
+ {{ each_log['Log_name'] }}
+ {% if each_log['File_size'] is defined %}
+ ({{ format_byte_down(each_log['File_size'], 3, 2)|join(' ') }})
+ {% set full_size = full_size + each_log['File_size'] %}
+ {% endif %}
+ </option>
+ {% endfor %}
+ </select>
+ {{ binary_logs|length }}
+ {% trans 'Files' %},
+ {% if full_size > 0 %}
+ {{ format_byte_down(full_size)|join(' ') }}
+ {% endif %}
+ </fieldset>
+
+ <fieldset class="tblFooters">
+ <input class="btn btn-primary" type="submit" value="{% trans 'Go' %}">
+ </fieldset>
+</form>
+
+{{ sql_message|raw }}
+
+<table id="binlogTable">
+ <thead>
+ <tr>
+ <td colspan="6" class="center">
+ {% if has_previous %}
+ {% if has_icons %}
+ <a href="server_binlog.php" data-post="{{ get_common(previous_params, '') }}" title="
+ {%- trans %}Previous{% context %}Previous page{% endtrans %}">
+ &laquo;
+ </a>
+ {% else %}
+ <a href="server_binlog.php" data-post="{{ get_common(previous_params, '') }}">
+ {% trans %}Previous{% context %}Previous page{% endtrans %} &laquo;
+ </a>
+ {% endif %}
+ -
+ {% endif %}
+
+ {% if is_full_query %}
+ <a href="server_binlog.php" data-post="{{ get_common(full_queries_params, '') }}" title="{% trans 'Truncate shown queries' %}">
+ <img src="{{ image_path }}s_partialtext.png" alt="{% trans 'Truncate shown queries' %}">
+ </a>
+ {% else %}
+ <a href="server_binlog.php" data-post="{{ get_common(full_queries_params, '') }}" title="{% trans 'Show full queries' %}">
+ <img src="{{ image_path }}s_fulltext.png" alt="{% trans 'Show full queries' %}">
+ </a>
+ {% endif %}
+
+ {% if has_next %}
+ -
+ {% if has_icons %}
+ <a href="server_binlog.php" data-post="{{ get_common(next_params, '') }}" title="
+ {%- trans %}Next{% context %}Next page{% endtrans %}">
+ &raquo;
+ </a>
+ {% else %}
+ <a href="server_binlog.php" data-post="{{ get_common(next_params, '') }}">
+ {% trans %}Next{% context %}Next page{% endtrans %} &raquo;
+ </a>
+ {% endif %}
+ {% endif %}
+ </td>
+ </tr>
+ <tr>
+ <th>{% trans 'Log name' %}</th>
+ <th>{% trans 'Position' %}</th>
+ <th>{% trans 'Event type' %}</th>
+ <th>{% trans 'Server ID' %}</th>
+ <th>{% trans 'Original position' %}</th>
+ <th>{% trans 'Information' %}</th>
+ </tr>
+ </thead>
+
+ <tbody>
+ {% for value in values %}
+ <tr class="noclick">
+ <td>{{ value['Log_name'] }}</td>
+ <td class="right">{{ value['Pos'] }}</td>
+ <td>{{ value['Event_type'] }}</td>
+ <td class="right">{{ value['Server_id'] }}</td>
+ <td class="right">
+ {{- value['Orig_log_pos'] is defined ? value['Orig_log_pos'] : value['End_log_pos'] -}}
+ </td>
+ <td>{{ format_sql(value['Info'], not is_full_query) }}</td>
+ </tr>
+ {% endfor %}
+ </tbody>
+</table>
diff --git a/srcs/phpmyadmin/templates/server/collations/index.twig b/srcs/phpmyadmin/templates/server/collations/index.twig
new file mode 100644
index 0000000..bb9dfb3
--- /dev/null
+++ b/srcs/phpmyadmin/templates/server/collations/index.twig
@@ -0,0 +1,32 @@
+<h2>
+ {{ get_image('s_asci') }}
+ {% trans 'Character sets and collations' %}
+</h2>
+
+<div id="div_mysql_charset_collations">
+ <table class="data noclick">
+ <thead>
+ <tr>
+ <th id="collationHeader">{% trans 'Collation' %}</th>
+ <th>{% trans 'Description' %}</th>
+ </tr>
+ </thead>
+
+ {% for charset in charsets %}
+ <tr>
+ <th colspan="2" class="right">
+ {{ charset.name }}
+ {% if charset.description is not empty %}
+ (<em>{{ charset.description }}</em>)
+ {% endif %}
+ </th>
+ </tr>
+ {% for collation in charset.collations %}
+ <tr{{ collation.is_default ? ' class="marked"' }}>
+ <td>{{ collation.name }}</td>
+ <td>{{ collation.description }}</td>
+ </tr>
+ {% endfor %}
+ {% endfor %}
+ </table>
+</div>
diff --git a/srcs/phpmyadmin/templates/server/databases/index.twig b/srcs/phpmyadmin/templates/server/databases/index.twig
new file mode 100644
index 0000000..ebff55f
--- /dev/null
+++ b/srcs/phpmyadmin/templates/server/databases/index.twig
@@ -0,0 +1,323 @@
+<h2>
+ {{ get_image('s_db') }}
+ {% if has_statistics %}
+ {% trans 'Databases statistics' %}
+ {% else %}
+ {% trans 'Databases' %}
+ {% endif %}
+</h2>
+
+{% if is_create_database_shown %}
+ <ul>
+ <li id="li_create_database" class="no_bullets">
+ {% if has_create_database_privileges %}
+ <form method="post" action="server_databases.php" id="create_database_form" class="ajax">
+ <p>
+ <strong>
+ <label for="text_create_db">
+ {{ get_image('b_newdb') }}
+ {% trans 'Create database' %}
+ </label>
+ {{ show_mysql_docu('CREATE_DATABASE') }}
+ </strong>
+ </p>
+
+ {{ get_hidden_inputs('', '', 5) }}
+ <input type="hidden" name="reload" value="1">
+ {% if has_statistics %}
+ <input type="hidden" name="statistics" value="1">
+ {% endif %}
+
+ <input type="text" name="new_db" maxlength="64" class="textfield" value="
+ {{- database_to_create }}" id="text_create_db" placeholder="
+ {%- trans 'Database name' %}" required>
+
+ {% if charsets is not empty %}
+ <select lang="en" dir="ltr" name="db_collation">
+ <option value="">{% trans 'Collation' %}</option>
+ <option value=""></option>
+ {% for charset in charsets %}
+ <optgroup label="{{ charset.name }}" title="{{ charset.description }}">
+ {% for collation in charset.collations %}
+ <option value="{{ collation.name }}" title="{{ collation.description }}"{{ collation.is_selected ? ' selected' }}>
+ {{- collation.name -}}
+ </option>
+ {% endfor %}
+ </optgroup>
+ {% endfor %}
+ </select>
+ {% endif %}
+
+ <input id="buttonGo" class="btn btn-primary" type="submit" value="{% trans 'Create' %}">
+ </form>
+ {% else %}
+ <p>
+ <strong>
+ {{ get_image('b_newdb') }}
+ {% trans 'Create database' %}
+ {{ show_mysql_docu('CREATE_DATABASE') }}
+ </strong>
+ </p>
+
+ <span class="noPrivileges">
+ {{ get_image('s_error', '', {
+ 'hspace': 2,
+ 'border': 0,
+ 'align': 'middle'
+ }) }}
+ {% trans 'No privileges to create databases' %}
+ </span>
+ {% endif %}
+ </li>
+ </ul>
+{% endif %}
+
+{% if database_count > 0 %}
+ {% include 'filter.twig' with {'filter_value': ''} only %}
+
+ <div id="tableslistcontainer">
+ {{ get_list_navigator(
+ database_count,
+ pos,
+ url_params,
+ 'server_databases.php',
+ 'frame_content',
+ max_db_list
+ ) }}
+
+ <form class="ajax" action="server_databases.php" method="post" name="dbStatsForm" id="dbStatsForm">
+ {{ get_hidden_inputs(url_params) }}
+ <div class="responsivetable">
+ <table id="tabledatabases" class="data">
+ <thead>
+ <tr>
+ {% if is_drop_allowed %}
+ <th></th>
+ {% endif %}
+ <th>
+ <a href="server_databases.php{{ get_common(url_params|merge({
+ 'sort_by': 'SCHEMA_NAME',
+ 'sort_order': url_params.sort_by == 'SCHEMA_NAME'
+ and url_params.sort_order == 'asc' ? 'desc' : 'asc'
+ })) }}">
+ {% trans 'Database' %}
+ {% if url_params.sort_by == 'SCHEMA_NAME' %}
+ {% if url_params.sort_order == 'asc' %}
+ {{ get_image('s_asc', 'Ascending'|trans) }}
+ {% else %}
+ {{ get_image('s_desc', 'Descending'|trans) }}
+ {% endif %}
+ {% endif %}
+ </a>
+ </th>
+
+ <th>
+ <a href="server_databases.php{{ get_common(url_params|merge({
+ 'sort_by': 'DEFAULT_COLLATION_NAME',
+ 'sort_order': url_params.sort_by == 'DEFAULT_COLLATION_NAME'
+ and url_params.sort_order == 'asc' ? 'desc' : 'asc'
+ })) }}">
+ {% trans 'Collation' %}
+ {% if url_params.sort_by == 'DEFAULT_COLLATION_NAME' %}
+ {% if url_params.sort_order == 'asc' %}
+ {{ get_image('s_asc', 'Ascending'|trans) }}
+ {% else %}
+ {{ get_image('s_desc', 'Descending'|trans) }}
+ {% endif %}
+ {% endif %}
+ </a>
+ </th>
+
+ {% if has_statistics %}
+ {% for name, statistic in header_statistics %}
+ <th{{ statistic.format == 'byte' ? ' colspan="2"' }}>
+ <a href="server_databases.php{{ get_common(url_params|merge({
+ 'sort_by': name,
+ 'sort_order': url_params.sort_by == name
+ and url_params.sort_order == 'asc' ? 'desc' : 'asc'
+ })) }}">
+ {{ statistic.title }}
+ {% if url_params.sort_by == name %}
+ {% if url_params.sort_order == 'asc' %}
+ {{ get_image('s_asc', 'Ascending'|trans) }}
+ {% else %}
+ {{ get_image('s_desc', 'Descending'|trans) }}
+ {% endif %}
+ {% endif %}
+ </a>
+ </th>
+ {% endfor %}
+ {% endif %}
+
+ {% if has_master_replication %}
+ <th>{% trans 'Master replication' %}</th>
+ {% endif %}
+
+ {% if has_slave_replication %}
+ <th>{% trans 'Slave replication' %}</th>
+ {% endif %}
+
+ <th>{% trans 'Action' %}</th>
+ </tr>
+ </thead>
+
+ <tbody>
+ {% for database in databases %}
+ <tr class="db-row{{ database.is_system_schema ? ' noclick' }}" data-filter-row="{{ database.name|upper }}">
+ {% if is_drop_allowed %}
+ <td class="tool">
+ <input type="checkbox" name="selected_dbs[]" class="checkall" title="
+ {{- database.name }}" value="
+ {{- database.name }}"
+ {{- database.is_system_schema ? ' disabled' }}>
+ </td>
+ {% endif %}
+
+ <td class="name">
+ <a href="{{ get_script_name_for_option(default_tab_database, 'database') }}
+ {{- get_common({'db': database.name}) }}" title="
+ {{- "Jump to database '%s'"|trans|format(database.name) }}">
+ {{ database.name }}
+ </a>
+ </td>
+
+ <td class="value">
+ <dfn title="{{ database.collation.description }}">
+ {{ database.collation.name }}
+ </dfn>
+ </td>
+
+ {% if has_statistics %}
+ {% for statistic in database.statistics %}
+ {% if statistic.format is same as('byte') %}
+ {% set value = format_byte_down(statistic.raw, 3, 1) %}
+ <td class="value">
+ <data value="{{ statistic.raw }}" title="{{ statistic.raw }}">
+ {{ value[0] }}
+ </data>
+ </td>
+ <td class="unit">{{ value[1] }}</td>
+ {% else %}
+ <td class="value">
+ <data value="{{ statistic.raw }}" title="{{ statistic.raw }}">
+ {{ format_number(statistic.raw, 0) }}
+ </data>
+ </td>
+ {% endif %}
+ {% endfor %}
+ {% endif %}
+
+ {% if database.replication.master.status %}
+ {% if database.replication.master.is_replicated %}
+ <td class="tool center">
+ {{ get_icon('s_success', 'Replicated'|trans) }}
+ </td>
+ {% else %}
+ <td class="tool center">
+ {{ get_icon('s_cancel', 'Not replicated'|trans) }}
+ </td>
+ {% endif %}
+ {% endif %}
+
+ {% if database.replication.slave.status %}
+ {% if database.replication.slave.is_replicated %}
+ <td class="tool center">
+ {{ get_icon('s_success', 'Replicated'|trans) }}
+ </td>
+ {% else %}
+ <td class="tool center">
+ {{ get_icon('s_cancel', 'Not replicated'|trans) }}
+ </td>
+ {% endif %}
+ {% endif %}
+
+ <td class="tool">
+ <a class="server_databases" data="
+ {{- database.name|js_format }}" href="server_privileges.php
+ {{- get_common({
+ 'db': database.name,
+ 'checkprivsdb': database.name
+ }) }}" title="
+ {{- 'Check privileges for database "%s".'|trans|format(database.name) }}">
+ {{ get_icon('s_rights', 'Check privileges'|trans) }}
+ </a>
+ </td>
+ </tr>
+ {% endfor %}
+ </tbody>
+
+ <tfoot>
+ <tr>
+ <th colspan="{{ is_drop_allowed ? '3' : '2' }}">
+ {% trans 'Total:' %}
+ <span id="filter-rows-count">
+ {{- database_count -}}
+ </span>
+ </th>
+
+ {% if has_statistics %}
+ {% for statistic in total_statistics %}
+ {% if statistic.format is same as('byte') %}
+ {% set value = format_byte_down(statistic.raw, 3, 1) %}
+ <th class="value">
+ <data value="{{ statistic.raw }}" title="{{ statistic.raw }}">
+ {{ value[0] }}
+ </data>
+ </th>
+ <th class="unit">{{ value[1] }}</th>
+ {% else %}
+ <th class="value">
+ <data value="{{ statistic.raw }}" title="{{ statistic.raw }}">
+ {{ format_number(statistic.raw, 0) }}
+ </data>
+ </th>
+ {% endif %}
+ {% endfor %}
+ {% endif %}
+
+ {% if has_master_replication %}
+ <th></th>
+ {% endif %}
+
+ {% if has_slave_replication %}
+ <th></th>
+ {% endif %}
+
+ <th></th>
+ </tr>
+ </tfoot>
+ </table>
+ </div>
+
+ {# Footer buttons #}
+ {% if is_drop_allowed %}
+ {% include 'select_all.twig' with {
+ 'pma_theme_image': pma_theme_image,
+ 'text_dir': text_dir,
+ 'form_name': 'dbStatsForm'
+ } only %}
+
+ {{ get_button_or_image(
+ '',
+ 'mult_submit ajax',
+ 'Drop'|trans,
+ 'b_deltbl'
+ ) }}
+ {% endif %}
+
+ {# Enable statistics #}
+ {% if not has_statistics %}
+ {{ 'Note: Enabling the database statistics here might cause heavy traffic between the web server and the MySQL server.'|trans|notice }}
+ <ul>
+ <li class="li_switch_dbstats">
+ <a href="server_databases.php" data-post="{{ get_common({'statistics': '1'}, '') }}" title="{% trans 'Enable statistics' %}">
+ <strong>{% trans 'Enable statistics' %}</strong>
+ </a>
+ </li>
+ </ul>
+ {% endif %}
+ </form>
+ </div>
+{% else %}
+ <p>{{ 'No databases'|trans|notice }}</p>
+{% endif %}
diff --git a/srcs/phpmyadmin/templates/server/engines/index.twig b/srcs/phpmyadmin/templates/server/engines/index.twig
new file mode 100644
index 0000000..2b92dc1
--- /dev/null
+++ b/srcs/phpmyadmin/templates/server/engines/index.twig
@@ -0,0 +1,27 @@
+<h2>
+ {{ get_image('b_engine') }}
+ {% trans 'Storage engines' %}
+</h2>
+
+<table class="noclick">
+ <thead>
+ <tr>
+ <th>{% trans 'Storage Engine' %}</th>
+ <th>{% trans 'Description' %}</th>
+ </tr>
+ </thead>
+ <tbody>
+ {% for engine, details in engines %}
+ <tr class="
+ {{- details['Support'] == 'NO' or details['Support'] == 'DISABLED' ? ' disabled' }}
+ {{ details['Support'] == 'DEFAULT' ? ' marked' }}">
+ <td>
+ <a rel="newpage" href="server_engines.php{{ get_common({'engine': engine}) }}">
+ {{ details['Engine'] }}
+ </a>
+ </td>
+ <td>{{ details['Comment'] }}</td>
+ </tr>
+ {% endfor %}
+ </tbody>
+</table>
diff --git a/srcs/phpmyadmin/templates/server/engines/show.twig b/srcs/phpmyadmin/templates/server/engines/show.twig
new file mode 100644
index 0000000..088e3a0
--- /dev/null
+++ b/srcs/phpmyadmin/templates/server/engines/show.twig
@@ -0,0 +1,48 @@
+<h2>
+ {{ get_image('b_engine') }}
+ {% trans 'Storage engines' %}
+</h2>
+
+{% if engine is not empty %}
+ <h2>
+ {{ get_image('b_engine') }}
+ {{ engine.title }}
+ {{ show_mysql_docu(engine.help_page) }}
+ </h2>
+ <p><em>{{ engine.comment }}</em></p>
+
+ {% if engine.info_pages is not empty and engine.info_pages is iterable %}
+ <p>
+ <strong>[</strong>
+ {% if page is empty %}
+ <strong>{% trans 'Variables' %}</strong>
+ {% else %}
+ <a href="server_engines.php
+ {{- get_common({'engine': engine.engine}) }}">
+ {% trans 'Variables' %}
+ </a>
+ {% endif %}
+ {% for current, label in engine.info_pages %}
+ <strong>|</strong>
+ {% if page is defined and page == current %}
+ <strong>{{ label }}</strong>
+ {% else %}
+ <a href="server_engines.php
+ {{- get_common({'engine': engine.engine, 'page': current}) }}">
+ {{ label }}
+ </a>
+ {% endif %}
+ {% endfor %}
+ <strong>]</strong>
+ </p>
+ {% endif %}
+
+ {% if engine.page is not empty %}
+ {{ engine.page|raw }}
+ {% else %}
+ <p>{{ engine.support }}</p>
+ {{ engine.variables|raw }}
+ {% endif %}
+{% else %}
+ <p>{{ 'Unknown storage engine.'|trans|error }}</p>
+{% endif %}
diff --git a/srcs/phpmyadmin/templates/server/plugins/index.twig b/srcs/phpmyadmin/templates/server/plugins/index.twig
new file mode 100644
index 0000000..ec8bbd4
--- /dev/null
+++ b/srcs/phpmyadmin/templates/server/plugins/index.twig
@@ -0,0 +1,58 @@
+<h2>
+ {{ get_image('b_plugin') }}
+ {% trans 'Plugins' %}
+</h2>
+
+<div id="plugins_plugins">
+ <div id="sectionlinks">
+ {% for type in plugins|keys %}
+ <a class="btn btn-primary" href="#plugins-{{ clean_types[type] }}">
+ {{ type }}
+ </a>
+ {% endfor %}
+ </div>
+ {% for type, list in plugins %}
+ <div class="responsivetable">
+ <table class="data_full_width" id="plugins-{{ clean_types[type] }}">
+ <caption class="tblHeaders">
+ {{ type }}
+ </caption>
+ <thead>
+ <tr>
+ <th>{% trans 'Plugin' %}</th>
+ <th>{% trans 'Description' %}</th>
+ <th>{% trans 'Version' %}</th>
+ <th>{% trans 'Author' %}</th>
+ <th>{% trans 'License' %}</th>
+ </tr>
+ </thead>
+ <tbody>
+ {% for plugin in list %}
+ <tr class="noclick">
+ <th>
+ {{ plugin.name }}
+ {% if plugin.status != 'ACTIVE' %}
+ <small class="attention">
+ {% if plugin.status == 'INACTIVE' %}
+ {% trans 'inactive' %}
+ {% elseif plugin.status == 'DISABLED' %}
+ {% trans 'disabled' %}
+ {% elseif plugin.status == 'DELETING' %}
+ {% trans 'deleting' %}
+ {% elseif plugin.status == 'DELETED' %}
+ {% trans 'deleted' %}
+ {% endif %}
+ </small>
+ {% endif %}
+ </th>
+ <td>{{ plugin.description }}</td>
+ <td>{{ plugin.version }}</td>
+ <td>{{ plugin.author }}</td>
+ <td>{{ plugin.license }}</td>
+ </tr>
+ {% endfor %}
+ </tbody>
+ </table>
+ </div>
+ {% endfor %}
+</div>
diff --git a/srcs/phpmyadmin/templates/server/privileges/add_user_fieldset.twig b/srcs/phpmyadmin/templates/server/privileges/add_user_fieldset.twig
new file mode 100644
index 0000000..26f0419
--- /dev/null
+++ b/srcs/phpmyadmin/templates/server/privileges/add_user_fieldset.twig
@@ -0,0 +1,8 @@
+<fieldset id="fieldset_add_user">
+ <legend>{% trans %}New{% context %}Create new user{% endtrans %}</legend>
+ <a id="add_user_anchor" href="server_privileges.php{{ get_common(url_params) }}"
+ {% if rel_params is not empty %}
+ rel="{{ get_common(rel_params) }}"
+ {% endif %}>
+ {{ get_icon('b_usradd') }}{% trans 'Add user account' %}</a>
+</fieldset>
diff --git a/srcs/phpmyadmin/templates/server/privileges/choose_user_group.twig b/srcs/phpmyadmin/templates/server/privileges/choose_user_group.twig
new file mode 100644
index 0000000..a28f302
--- /dev/null
+++ b/srcs/phpmyadmin/templates/server/privileges/choose_user_group.twig
@@ -0,0 +1,9 @@
+<form class="ajax" id="changeUserGroupForm" action="server_privileges.php" method="post">
+ {{ get_hidden_inputs(params) }}
+ <fieldset id="fieldset_user_group_selection">
+ <legend>{% trans 'User group' %}</legend>
+ {% trans 'User group' %}:
+ {{ get_dropdown('userGroup', all_user_groups, user_group, 'userGroup_select') }}
+ <input type="hidden" name="changeUserGroup" value="1">
+ </fieldset>
+</form>
diff --git a/srcs/phpmyadmin/templates/server/privileges/column_privileges.twig b/srcs/phpmyadmin/templates/server/privileges/column_privileges.twig
new file mode 100644
index 0000000..b49efa5
--- /dev/null
+++ b/srcs/phpmyadmin/templates/server/privileges/column_privileges.twig
@@ -0,0 +1,24 @@
+<div class="item" id="div_item_{{ name }}">
+ <label for="select_{{ name }}_priv">
+ <code><dfn title="{{ name_for_dfn }}">{{ priv_for_header }}</dfn></code>
+ </label>
+
+ <select id="select_{{ name }}_pr