[Phpmyadmin-git] [SCM] phpMyAdmin branch, master, updated. RELEASE_3_3_6RC1-8914-g06f472e

Piotr Przybylski crackpl at users.sourceforge.net
Sun Aug 29 01:50:20 CEST 2010


The branch, master has been updated
       via  06f472ed51fb260d6c9baa0730662197098e217c (commit)
      from  949f068733913e2cd43cb226fffc88508e28b341 (commit)


- Log -----------------------------------------------------------------
commit 06f472ed51fb260d6c9baa0730662197098e217c
Author: Crack <piotrprz at 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
-- 
phpMyAdmin




More information about the Git mailing list