[Phpmyadmin-git] [SCM] phpMyAdmin branch, QA_3_3, updated. RELEASE_3_3_8-23-g8afdcbe

Dieter Adriaenssens ruleant at users.sourceforge.net
Mon Dec 13 21:47:29 CET 2010


The branch, QA_3_3 has been updated
       via  8afdcbe2b89888b4e7e3ca58224cb01ebe8db73c (commit)
      from  b6f717a6025c3785430c4cf317cfa5786564729b (commit)


- Log -----------------------------------------------------------------
-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                   |    1 +
 libraries/sqlparser.lib.php |   31 +++++++++++++++++++------------
 2 files changed, 20 insertions(+), 12 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 9c9b92a..988feaf 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -15,6 +15,7 @@ $HeadURL: https://phpmyadmin.svn.sourceforge.net/svnroot/phpmyadmin/trunk/phpMyA
   thanks to Craig Duncan - duncan3dc
 - bug #3112614 [pdf schema] Scratchboard for PDF pages not working
 - bug #3125606 [parser] Query for table "level" causes strange display
+- bug #3127904 [parser] Close all opened round brackets indents
 
 3.3.8.1 (2010-11-29)
 - bug #3115519 (private) [security] XSS on db search, see PMASA-2010-8
diff --git a/libraries/sqlparser.lib.php b/libraries/sqlparser.lib.php
index 738d2fb..3db5308 100644
--- a/libraries/sqlparser.lib.php
+++ b/libraries/sqlparser.lib.php
@@ -2165,7 +2165,6 @@ if (! defined('PMA_MINIMUM_COMMON')) {
 // DEBUG echo "Loop format <strong>" . $arr[$i]['data'] . "</strong> " . $arr[$i]['type'] . "<br />";
             $before = '';
             $after  = '';
-            $indent = 0;
             // array_shift($typearr);
             /*
             0 prev2
@@ -2265,17 +2264,20 @@ if (! defined('PMA_MINIMUM_COMMON')) {
                     }
                     break;
                 case 'punct_bracket_close_round':
-                    $bracketlevel--;
-                    if ($infunction == TRUE) {
-                        $functionlevel--;
-                        $after     .= ' ';
-                        $before    .= ' ';
-                    } else {
-                        $indent--;
-                        $before    .= ($mode != 'query_only' ? '</div>' : ' ');
-                    }
-                    $infunction    = ($functionlevel > 0) ? TRUE : FALSE;
-                    break;
+			// only close bracket level when it was opened before
+			if ($bracketlevel > 0) {
+				$bracketlevel--;
+				if ($infunction == TRUE) {
+					$functionlevel--;
+					$after     .= ' ';
+					$before    .= ' ';
+				} else {
+					$indent--;
+					$before    .= ($mode != 'query_only' ? '</div>' : ' ');
+				}
+				$infunction    = ($functionlevel > 0) ? TRUE : FALSE;
+			}
+			break;
                 case 'alpha_columnType':
                     if ($typearr[3] == 'alpha_columnAttrib') {
                         $after     .= ' ';
@@ -2466,6 +2468,11 @@ if (! defined('PMA_MINIMUM_COMMON')) {
             }
             $str .= $after;
         } // end for
+	// close unclosed indent levels
+	while ($indent > 0) {
+		$indent--;
+		$str .= ($mode != 'query_only' ? '</div>' : ' ');
+	}
         if ($mode=='color') {
             $str .= '</span>';
         }


hooks/post-receive
-- 
phpMyAdmin




More information about the Git mailing list