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