The branch, master has been updated via 06f472ed51fb260d6c9baa0730662197098e217c (commit) from 949f068733913e2cd43cb226fffc88508e28b341 (commit)
- Log ----------------------------------------------------------------- commit 06f472ed51fb260d6c9baa0730662197098e217c Author: Crack piotrprz@gmail.com Date: Sun Aug 29 01:49:18 2010 +0200
allow proper nesting of option groups in user preferences
-----------------------------------------------------------------------
Summary of changes: libraries/config/Form.class.php | 6 +++++ libraries/config/FormDisplay.class.php | 5 +-- libraries/config/FormDisplay.tpl.php | 29 ++++++++++-------------- setup/styles.css | 10 +++++++- themes/darkblue_orange/css/theme_right.css.php | 10 +++++++- themes/original/css/theme_right.css.php | 10 +++++++- 6 files changed, 47 insertions(+), 23 deletions(-)
diff --git a/libraries/config/Form.class.php b/libraries/config/Form.class.php index b53d86f..7aa8468 100755 --- a/libraries/config/Form.class.php +++ b/libraries/config/Form.class.php @@ -124,6 +124,8 @@ class Form */ private function _readFormPathsCallback($value, $key, $prefix) { + static $group_counter = 0; + if (is_array($value)) { $prefix .= $key . '/'; array_walk($value, array($this, '_readFormPathsCallback'), $prefix); @@ -132,6 +134,10 @@ class Form $this->default[$prefix . $key] = $value; $value = $key; } + // add unique id to group ends + if ($value == ':group:end') { + $value .= ':' . $group_counter++; + } $this->fields[] = $prefix . $value; } } diff --git a/libraries/config/FormDisplay.class.php b/libraries/config/FormDisplay.class.php index fb07052..e3b10dc 100755 --- a/libraries/config/FormDisplay.class.php +++ b/libraries/config/FormDisplay.class.php @@ -354,9 +354,8 @@ class FormDisplay $value_default = (array) $value_default; break; case 'group': - $text = substr($field, 7); - if ($text != 'end') { - display_group_header($text); + if (substr($field, 7, 4) != 'end:') { // :group:end is changed to :group:end:{unique id} in Form class + display_group_header(substr($field, 7)); } else { display_group_footer(); } diff --git a/libraries/config/FormDisplay.tpl.php b/libraries/config/FormDisplay.tpl.php index 8667208..84c4ee2 100644 --- a/libraries/config/FormDisplay.tpl.php +++ b/libraries/config/FormDisplay.tpl.php @@ -72,7 +72,7 @@ function display_fieldset_top($title = '', $description = '', $errors = null, $a { global $_FormDisplayGroup;
- $_FormDisplayGroup = false; + $_FormDisplayGroup = 0;
$attributes = array_merge(array('class' => 'optbox'), $attributes); foreach ($attributes as $k => &$attr) { @@ -147,14 +147,13 @@ function display_input($path, $name, $description = '', $type, $value, $value_is $field_class .= ($field_class == '' ? '' : ' ') . ($has_errors ? 'custom field-error' : 'custom'); } $field_class = $field_class ? ' class="' . $field_class . '"' : ''; - $tr_class = $_FormDisplayGroup ? 'group-field' : ''; + $tr_class = $_FormDisplayGroup > 0 + ? 'group-field group-field-' . $_FormDisplayGroup + : ''; if (isset($opts['setvalue']) && $opts['setvalue'] == ':group') { unset($opts['setvalue']); - $tr_class = 'group-header-field'; - if ($_FormDisplayGroup) { - display_group_footer(); - } - $_FormDisplayGroup = true; + $_FormDisplayGroup++; + $tr_class = 'group-header-field group-header-' . $_FormDisplayGroup; } if ($option_is_disabled) { $tr_class .= ($tr_class ? ' ' : '') . 'disabled-field'; @@ -290,19 +289,15 @@ function display_group_header($header_text) { global $_FormDisplayGroup;
- if ($_FormDisplayGroup) { - display_group_footer(); - } - $_FormDisplayGroup = true; + $_FormDisplayGroup++; if (!$header_text) { return; } - $colspan = 2; - if (defined('PMA_SETUP')) { - $colspan++; - } + $colspan = defined('PMA_SETUP') + ? 3 + : 2; ?> -<tr class="group-header"> +<tr class="group-header group-header-<?php echo $_FormDisplayGroup ?>"> <th colspan="<?php echo $colspan ?>"> <?php echo $header_text ?> </th> @@ -319,7 +314,7 @@ function display_group_footer() { global $_FormDisplayGroup;
- $_FormDisplayGroup = false; + $_FormDisplayGroup--; }
/** diff --git a/setup/styles.css b/setup/styles.css index 0cadd10..93c4887 100755 --- a/setup/styles.css +++ b/setup/styles.css @@ -301,10 +301,18 @@ fieldset p + table tr:first-child td, fieldset p + table tr:first-child th { border-top: none; }
-fieldset .group-field th { +fieldset .group-field-1 th, fieldset .group-header-2 th { padding-left: 1em; }
+fieldset .group-field-2 th, fieldset .group-header-3 th { + padding-left: 2em; +} + +fieldset .group-field-3 th { + padding-left: 3em; +} + fieldset .lastrow, .form .lastrow { background: #F7FBFF; padding: 0.5em; diff --git a/themes/darkblue_orange/css/theme_right.css.php b/themes/darkblue_orange/css/theme_right.css.php index 7062089..488ac00 100755 --- a/themes/darkblue_orange/css/theme_right.css.php +++ b/themes/darkblue_orange/css/theme_right.css.php @@ -1721,10 +1721,18 @@ fieldset .group-header + tr th { padding-top: 0.6em; }
-fieldset .group-field th { +fieldset .group-field-1 th, fieldset .group-header-2 th { padding-left: 1.5em; }
+fieldset .group-field-2 th, fieldset .group-header-3 th { + padding-left: 3em; +} + +fieldset .group-field-3 th { + padding-left: 4.5em; +} + fieldset .disabled-field th, fieldset .disabled-field th small, fieldset .disabled-field td { diff --git a/themes/original/css/theme_right.css.php b/themes/original/css/theme_right.css.php index 15cf293..1df6f9a 100755 --- a/themes/original/css/theme_right.css.php +++ b/themes/original/css/theme_right.css.php @@ -1674,10 +1674,18 @@ fieldset .group-header + tr th { padding-top: 0.6em; }
-fieldset .group-field th { +fieldset .group-field-1 th, fieldset .group-header-2 th { padding-left: 1.5em; }
+fieldset .group-field-2 th, fieldset .group-header-3 th { + padding-left: 3em; +} + +fieldset .group-field-3 th { + padding-left: 4.5em; +} + fieldset .disabled-field th, fieldset .disabled-field th small, fieldset .disabled-field td {
hooks/post-receive