diff --git a/ChangeLog b/ChangeLog index bcdfb127f1..bd587fce82 100644 --- a/ChangeLog +++ b/ChangeLog @@ -16,6 +16,7 @@ phpMyAdmin - ChangeLog 4.3.5.0 (not yet released) - bug Auto-configuration: tables were not created automatically - bug #4677 Advanced feature checker does not check for favorite tables feature +- bug #4678 Some of the data stored in configuration storage are not deleted upon db or table delete 4.3.4.0 (2014-12-29) - bug #4653 Always connection error was shown, on /setup at tab "configuration storage" diff --git a/libraries/relation_cleanup.lib.php b/libraries/relation_cleanup.lib.php index 78886be8f0..2b591d2fd3 100644 --- a/libraries/relation_cleanup.lib.php +++ b/libraries/relation_cleanup.lib.php @@ -106,6 +106,24 @@ function PMA_relationsCleanupTable($db, $table) . ' AND foreign_table = \'' . PMA_Util::sqlAddSlashes($table) . '\''; PMA_queryAsControlUser($remove_query); } + + if ($cfgRelation['uiprefswork']) { + $remove_query = 'DELETE FROM ' . PMA_Util::backquote($cfgRelation['db']) + . '.' . PMA_Util::backquote($cfgRelation['table_uiprefs']) + . ' WHERE db_name = \'' . PMA_Util::sqlAddSlashes($db) . '\'' + . ' AND table_name = \'' . PMA_Util::sqlAddSlashes($table) . '\''; + PMA_queryAsControlUser($remove_query); + } + + if ($cfgRelation['navwork']) { + $remove_query = 'DELETE FROM ' . PMA_Util::backquote($cfgRelation['db']) + . '.' . PMA_Util::backquote($cfgRelation['navigationhiding']) + . ' WHERE db_name = \'' . PMA_Util::sqlAddSlashes($db) . '\'' + . ' AND (table_name = \'' . PMA_Util::sqlAddSlashes($table) . '\'' + . ' OR (item_name = \'' . PMA_Util::sqlAddSlashes($table) . '\'' + . ' AND item_type = \'table\'))'; + PMA_queryAsControlUser($remove_query); + } } /** @@ -163,6 +181,34 @@ function PMA_relationsCleanupDatabase($db) . ' WHERE foreign_db = \'' . PMA_Util::sqlAddSlashes($db) . '\''; PMA_queryAsControlUser($remove_query); } + + if ($cfgRelation['uiprefswork']) { + $remove_query = 'DELETE FROM ' . PMA_Util::backquote($cfgRelation['db']) + . '.' . PMA_Util::backquote($cfgRelation['table_uiprefs']) + . ' WHERE db_name = \'' . PMA_Util::sqlAddSlashes($db) . '\''; + PMA_queryAsControlUser($remove_query); + } + + if ($cfgRelation['navwork']) { + $remove_query = 'DELETE FROM ' . PMA_Util::backquote($cfgRelation['db']) + . '.' . PMA_Util::backquote($cfgRelation['navigationhiding']) + . ' WHERE db_name = \'' . PMA_Util::sqlAddSlashes($db) . '\''; + PMA_queryAsControlUser($remove_query); + } + + if ($cfgRelation['savedsearcheswork']) { + $remove_query = 'DELETE FROM ' . PMA_Util::backquote($cfgRelation['db']) + . '.' . PMA_Util::backquote($cfgRelation['savedsearches']) + . ' WHERE db_name = \'' . PMA_Util::sqlAddSlashes($db) . '\''; + PMA_queryAsControlUser($remove_query); + } + + if ($cfgRelation['central_columnswork']) { + $remove_query = 'DELETE FROM ' . PMA_Util::backquote($cfgRelation['db']) + . '.' . PMA_Util::backquote($cfgRelation['central_columns']) + . ' WHERE db_name = \'' . PMA_Util::sqlAddSlashes($db) . '\''; + PMA_queryAsControlUser($remove_query); + } } ?>