The branch, master has been updated
via 06f472ed51fb260d6c9baa0730662197098e217c (commit)
from 949f068733913e2cd43cb226fffc88508e28b341 (commit)
- Log -----------------------------------------------------------------
commit 06f472ed51fb260d6c9baa0730662197098e217c
Author: Crack <[email protected]>
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
--
phpMyAdmin
------------------------------------------------------------------------------
Sell apps to millions through the Intel(R) Atom(Tm) Developer Program
Be part of this innovative community and reach millions of netbook users
worldwide. Take advantage of special opportunities to increase revenue and
speed time-to-market. Join now, and jumpstart your future.
http://p.sf.net/sfu/intel-atom-d2d
_______________________________________________
Phpmyadmin-git mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/phpmyadmin-git