From 185c45e190cd2bd19840f6d31900d6c0e71a2ff9 Mon Sep 17 00:00:00 2001 From: Madhura Jayaratne Date: Fri, 10 Oct 2014 10:25:42 +0530 Subject: [PATCH] Take $singleItem parameter into consideration for non IS queries Signed-off-by: Madhura Jayaratne --- .../navigation/Nodes/Node_Database.class.php | 84 ++++++++++++++----- 1 file changed, 61 insertions(+), 23 deletions(-) diff --git a/libraries/navigation/Nodes/Node_Database.class.php b/libraries/navigation/Nodes/Node_Database.class.php index 8ec96e6805..eaeb4f6af8 100644 --- a/libraries/navigation/Nodes/Node_Database.class.php +++ b/libraries/navigation/Nodes/Node_Database.class.php @@ -94,10 +94,17 @@ class Node_Database extends Node $query .= "AND " . PMA_Util::backquote( "Tables_in_" . $db ); - $query .= " LIKE '%" . PMA_Util::sqlAddSlashes( - $searchClause, true - ); - $query .= "%'"; + if ($singleItem) { + $query .= " = '" . PMA_Util::sqlAddSlashes( + $searchClause + ); + $query .= "'"; + } else { + $query .= " LIKE '%" . PMA_Util::sqlAddSlashes( + $searchClause, true + ); + $query .= "%'"; + } } $retval = $GLOBALS['dbi']->numRows( $GLOBALS['dbi']->tryQuery($query) @@ -139,10 +146,17 @@ class Node_Database extends Node $query .= "AND " . PMA_Util::backquote( "Tables_in_" . $db ); - $query .= " LIKE '%" . PMA_Util::sqlAddSlashes( - $searchClause, true - ); - $query .= "%'"; + if ($singleItem) { + $query .= " = '" . PMA_Util::sqlAddSlashes( + $searchClause + ); + $query .= "'"; + } else { + $query .= " LIKE '%" . PMA_Util::sqlAddSlashes( + $searchClause, true + ); + $query .= "%'"; + } } $retval = $GLOBALS['dbi']->numRows( $GLOBALS['dbi']->tryQuery($query) @@ -176,11 +190,19 @@ class Node_Database extends Node $db = PMA_Util::sqlAddSlashes($db); $query = "SHOW PROCEDURE STATUS WHERE `Db`='$db' "; if (! empty($searchClause)) { - $query .= "AND `Name` LIKE '%"; - $query .= PMA_Util::sqlAddSlashes( - $searchClause, true - ); - $query .= "%'"; + if ($singleItem) { + $query .= "AND `Name` = '"; + $query .= PMA_Util::sqlAddSlashes( + $searchClause + ); + $query .= "'"; + } else { + $query .= "AND `Name` LIKE '%"; + $query .= PMA_Util::sqlAddSlashes( + $searchClause, true + ); + $query .= "%'"; + } } $retval = $GLOBALS['dbi']->numRows( $GLOBALS['dbi']->tryQuery($query) @@ -214,11 +236,19 @@ class Node_Database extends Node $db = PMA_Util::sqlAddSlashes($db); $query = "SHOW FUNCTION STATUS WHERE `Db`='$db' "; if (! empty($searchClause)) { - $query .= "AND `Name` LIKE '%"; - $query .= PMA_Util::sqlAddSlashes( - $searchClause, true - ); - $query .= "%'"; + if ($singleItem) { + $query .= "AND `Name` = '"; + $query .= PMA_Util::sqlAddSlashes( + $searchClause + ); + $query .= "'"; + } else { + $query .= "AND `Name` LIKE '%"; + $query .= PMA_Util::sqlAddSlashes( + $searchClause, true + ); + $query .= "%'"; + } } $retval = $GLOBALS['dbi']->numRows( $GLOBALS['dbi']->tryQuery($query) @@ -251,11 +281,19 @@ class Node_Database extends Node $db = PMA_Util::backquote($db); $query = "SHOW EVENTS FROM $db "; if (! empty($searchClause)) { - $query .= "WHERE `Name` LIKE '%"; - $query .= PMA_Util::sqlAddSlashes( - $searchClause, true - ); - $query .= "%'"; + if ($singleItem) { + $query .= "WHERE `Name` = '"; + $query .= PMA_Util::sqlAddSlashes( + $searchClause + ); + $query .= "'"; + } else { + $query .= "WHERE `Name` LIKE '%"; + $query .= PMA_Util::sqlAddSlashes( + $searchClause, true + ); + $query .= "%'"; + } } $retval = $GLOBALS['dbi']->numRows( $GLOBALS['dbi']->tryQuery($query)