diff --git a/libraries/classes/Template.php b/libraries/classes/Template.php index 543995e5c7..b3d6d52a3f 100644 --- a/libraries/classes/Template.php +++ b/libraries/classes/Template.php @@ -16,6 +16,7 @@ use PhpMyAdmin\Twig\PluginsExtension; use PhpMyAdmin\Twig\RelationExtension; use PhpMyAdmin\Twig\SanitizeExtension; use PhpMyAdmin\Twig\ServerPrivilegesExtension; +use PhpMyAdmin\Twig\StorageEngineExtension; use PhpMyAdmin\Twig\UrlExtension; use PhpMyAdmin\Twig\UtilExtension; use Twig_Environment; @@ -74,6 +75,7 @@ class Template $twig->addExtension(new RelationExtension()); $twig->addExtension(new SanitizeExtension()); $twig->addExtension(new ServerPrivilegesExtension()); + $twig->addExtension(new StorageEngineExtension()); $twig->addExtension(new UrlExtension()); $twig->addExtension(new UtilExtension()); } diff --git a/libraries/classes/Twig/StorageEngineExtension.php b/libraries/classes/Twig/StorageEngineExtension.php new file mode 100644 index 0000000000..14a121812d --- /dev/null +++ b/libraries/classes/Twig/StorageEngineExtension.php @@ -0,0 +1,35 @@ + array('html')) + ), + ); + } +} diff --git a/scripts/generate-twig-cache b/scripts/generate-twig-cache index af65d11cfe..9cdba5ade9 100644 --- a/scripts/generate-twig-cache +++ b/scripts/generate-twig-cache @@ -13,6 +13,7 @@ use PhpMyAdmin\Twig\PluginsExtension; use PhpMyAdmin\Twig\RelationExtension; use PhpMyAdmin\Twig\SanitizeExtension; use PhpMyAdmin\Twig\ServerPrivilegesExtension; +use PhpMyAdmin\Twig\StorageEngineExtension; use PhpMyAdmin\Twig\UrlExtension; use PhpMyAdmin\Twig\UtilExtension; @@ -34,6 +35,7 @@ $twig->addExtension(new PluginsExtension()); $twig->addExtension(new RelationExtension()); $twig->addExtension(new SanitizeExtension()); $twig->addExtension(new ServerPrivilegesExtension()); +$twig->addExtension(new StorageEngineExtension()); $twig->addExtension(new UrlExtension()); $twig->addExtension(new UtilExtension()); diff --git a/templates/columns_definitions/column_definitions_form.phtml b/templates/columns_definitions/column_definitions_form.phtml index 55946c7da5..47cafc18ec 100644 --- a/templates/columns_definitions/column_definitions_form.phtml +++ b/templates/columns_definitions/column_definitions_form.phtml @@ -152,7 +152,7 @@ use PhpMyAdmin\Url; render(array('partitionDetails' => $partitionDetails)); ?> + ->render(array('partition_details' => $partitionDetails)); ?> diff --git a/templates/columns_definitions/partitions.phtml b/templates/columns_definitions/partitions.phtml deleted file mode 100644 index c8fe65f268..0000000000 --- a/templates/columns_definitions/partitions.phtml +++ /dev/null @@ -1,172 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - -
- - ( - - )
- -
- - ( - - )
- -
-
- 1): ?> - - - - - - - 1): ?> - - - - - - - - - - - - - - - - - - - - - - - - - 1): ?> - - - - - - - - - - - - - -
- - - - -
- - - - - - - - - - - - - - - - - - -
- diff --git a/templates/columns_definitions/partitions.twig b/templates/columns_definitions/partitions.twig new file mode 100644 index 0000000000..9cc8bfd20f --- /dev/null +++ b/templates/columns_definitions/partitions.twig @@ -0,0 +1,180 @@ +{% set partition_options = [ + '', + 'HASH', + 'LINEAR HASH', + 'KEY', + 'LINEAR KEY', + 'RANGE', + 'RANGE COLUMNS', + 'LIST', + 'LIST COLUMNS' +] %} +{% set sub_partition_options = ['', 'HASH', 'LINEAR HASH', 'KEY', 'LINEAR KEY'] %} +{% set value_type_options = ['', 'LESS THAN', 'LESS THAN MAXVALUE', 'IN'] %} + + + + + + + + + + + + {% if partition_details['can_have_subpartitions'] %} + + + + + + + + + + {% endif %} +
+ + + () +
+ +
+ + + () +
+ +
+{% if partition_details['partition_count'] > 1 %} + + + + {% if partition_details['value_enabled'] %} + + {% endif %} + {% if partition_details['can_have_subpartitions'] + and partition_details['subpartition_count'] > 1 %} + + {% endif %} + + + + + + + + + + {% for partition in partition_details['partitions'] %} + {% set rowspan = partition['subpartition_count'] is not empty + ? partition['subpartition_count'] + 1 : 2 %} + + + {% if partition_details['value_enabled'] %} + + {% endif %} + + + {% if partition['subpartitions'] is defined %} + {% set subpartitions = partition['subpartitions'] %} + {% else %} + {% set subpartitions = [partition] %} + {% endif %} + + {% for subpartition in subpartitions %} + + {% if partition_details['can_have_subpartitions'] + and partition_details['subpartition_count'] > 1 %} + + {% endif %} + + + + + + + + + + {% endfor %} + {% endfor %} +
{% trans 'Partition' %}{% trans 'Values' %}{% trans 'Subpartition' %}{% trans 'Engine' %}{% trans 'Comment' %}{% trans 'Data directory' %}{% trans 'Index directory' %}{% trans 'Max rows' %}{% trans 'Min rows' %}{% trans 'Table space' %}{% trans 'Node group' %}
+ + + + +
+ + + {{ StorageEngine_getHtmlSelect( + subpartition['prefix'] ~ '[engine]', + null, + subpartition['engine'], + false, + true + ) }} + + {% spaceless %} + + {% endspaceless %} + + + + + + + + + + + + +
+{% endif %} diff --git a/templates/table/structure/partition_definition_form.phtml b/templates/table/structure/partition_definition_form.phtml index a2c20bd18b..094e03ea20 100644 --- a/templates/table/structure/partition_definition_form.phtml +++ b/templates/table/structure/partition_definition_form.phtml @@ -5,7 +5,7 @@
render(array('partitionDetails' => $partitionDetails)); ?> + ->render(array('partition_details' => $partitionDetails)); ?>