Merge pull request #431 from xmujay/0609_monitor
[phpmyadmin/aamir.git] / libraries / relation_cleanup.lib.php
blob52d8812f47ab053234eef3251d0762e67bd489cc
1 <?php
2 /* vim: set expandtab sw=4 ts=4 sts=4: */
3 /**
4 * Set of functions used for cleaning up phpMyAdmin tables
6 * @package PhpMyAdmin
7 */
8 if (! defined('PHPMYADMIN')) {
9 exit;
12 /**
13 * Cleanup column related relation stuff
15 * @param string $db database name
16 * @param string $table table name
17 * @param string $column column name
19 * @return void
21 function PMA_relationsCleanupColumn($db, $table, $column)
23 $cfgRelation = PMA_getRelationsParam();
25 if ($cfgRelation['commwork']) {
26 $remove_query = 'DELETE FROM ' . PMA_Util::backquote($cfgRelation['db'])
27 . '.' . PMA_Util::backquote($cfgRelation['column_info'])
28 . ' WHERE db_name = \'' . PMA_Util::sqlAddSlashes($db) . '\''
29 . ' AND table_name = \'' . PMA_Util::sqlAddSlashes($table) . '\''
30 . ' AND column_name = \'' . PMA_Util::sqlAddSlashes($column) . '\'';
31 PMA_queryAsControlUser($remove_query);
34 if ($cfgRelation['displaywork']) {
35 $remove_query = 'DELETE FROM ' . PMA_Util::backquote($cfgRelation['db'])
36 . '.' . PMA_Util::backquote($cfgRelation['table_info'])
37 . ' WHERE db_name = \'' . PMA_Util::sqlAddSlashes($db) . '\''
38 . ' AND table_name = \'' . PMA_Util::sqlAddSlashes($table) . '\''
39 . ' AND display_field = \'' . PMA_Util::sqlAddSlashes($column) . '\'';
40 PMA_queryAsControlUser($remove_query);
43 if ($cfgRelation['relwork']) {
44 $remove_query = 'DELETE FROM ' . PMA_Util::backquote($cfgRelation['db'])
45 . '.' . PMA_Util::backquote($cfgRelation['relation'])
46 . ' WHERE master_db = \'' . PMA_Util::sqlAddSlashes($db) . '\''
47 . ' AND master_table = \'' . PMA_Util::sqlAddSlashes($table) . '\''
48 . ' AND master_field = \'' . PMA_Util::sqlAddSlashes($column) . '\'';
49 PMA_queryAsControlUser($remove_query);
51 $remove_query = 'DELETE FROM ' . PMA_Util::backquote($cfgRelation['db'])
52 . '.' . PMA_Util::backquote($cfgRelation['relation'])
53 . ' WHERE foreign_db = \'' . PMA_Util::sqlAddSlashes($db) . '\''
54 . ' AND foreign_table = \'' . PMA_Util::sqlAddSlashes($table) . '\''
55 . ' AND foreign_field = \'' . PMA_Util::sqlAddSlashes($column) . '\'';
56 PMA_queryAsControlUser($remove_query);
60 /**
61 * Cleanup table related relation stuff
63 * @param string $db database name
64 * @param string $table table name
66 * @return void
68 function PMA_relationsCleanupTable($db, $table)
70 $cfgRelation = PMA_getRelationsParam();
72 if ($cfgRelation['commwork']) {
73 $remove_query = 'DELETE FROM ' . PMA_Util::backquote($cfgRelation['db'])
74 . '.' . PMA_Util::backquote($cfgRelation['column_info'])
75 . ' WHERE db_name = \'' . PMA_Util::sqlAddSlashes($db) . '\''
76 . ' AND table_name = \'' . PMA_Util::sqlAddSlashes($table) . '\'';
77 PMA_queryAsControlUser($remove_query);
80 if ($cfgRelation['displaywork']) {
81 $remove_query = 'DELETE FROM ' . PMA_Util::backquote($cfgRelation['db'])
82 . '.' . PMA_Util::backquote($cfgRelation['table_info'])
83 . ' WHERE db_name = \'' . PMA_Util::sqlAddSlashes($db) . '\''
84 . ' AND table_name = \'' . PMA_Util::sqlAddSlashes($table) . '\'';
85 PMA_queryAsControlUser($remove_query);
88 if ($cfgRelation['pdfwork']) {
89 $remove_query = 'DELETE FROM ' . PMA_Util::backquote($cfgRelation['db'])
90 . '.' . PMA_Util::backquote($cfgRelation['table_coords'])
91 . ' WHERE db_name = \'' . PMA_Util::sqlAddSlashes($db) . '\''
92 . ' AND table_name = \'' . PMA_Util::sqlAddSlashes($table) . '\'';
93 PMA_queryAsControlUser($remove_query);
96 if ($cfgRelation['designerwork']) {
97 $remove_query = 'DELETE FROM ' . PMA_Util::backquote($cfgRelation['db'])
98 . '.' . PMA_Util::backquote($cfgRelation['designer_coords'])
99 . ' WHERE db_name = \'' . PMA_Util::sqlAddSlashes($db) . '\''
100 . ' AND table_name = \'' . PMA_Util::sqlAddSlashes($table) . '\'';
101 PMA_queryAsControlUser($remove_query);
104 if ($cfgRelation['relwork']) {
105 $remove_query = 'DELETE FROM ' . PMA_Util::backquote($cfgRelation['db'])
106 . '.' . PMA_Util::backquote($cfgRelation['relation'])
107 . ' WHERE master_db = \'' . PMA_Util::sqlAddSlashes($db) . '\''
108 . ' AND master_table = \'' . PMA_Util::sqlAddSlashes($table) . '\'';
109 PMA_queryAsControlUser($remove_query);
111 $remove_query = 'DELETE FROM ' . PMA_Util::backquote($cfgRelation['db'])
112 . '.' . PMA_Util::backquote($cfgRelation['relation'])
113 . ' WHERE foreign_db = \'' . PMA_Util::sqlAddSlashes($db) . '\''
114 . ' AND foreign_table = \'' . PMA_Util::sqlAddSlashes($table) . '\'';
115 PMA_queryAsControlUser($remove_query);
120 * Cleanup database related relation stuff
122 * @param string $db database name
124 * @return void
126 function PMA_relationsCleanupDatabase($db)
128 $cfgRelation = PMA_getRelationsParam();
130 if ($cfgRelation['commwork']) {
131 $remove_query = 'DELETE FROM ' . PMA_Util::backquote($cfgRelation['db'])
132 . '.' . PMA_Util::backquote($cfgRelation['column_info'])
133 . ' WHERE db_name = \'' . PMA_Util::sqlAddSlashes($db) . '\'';
134 PMA_queryAsControlUser($remove_query);
137 if ($cfgRelation['bookmarkwork']) {
138 $remove_query = 'DELETE FROM ' . PMA_Util::backquote($cfgRelation['db'])
139 . '.' . PMA_Util::backquote($cfgRelation['bookmark'])
140 . ' WHERE dbase = \'' . PMA_Util::sqlAddSlashes($db) . '\'';
141 PMA_queryAsControlUser($remove_query);
144 if ($cfgRelation['displaywork']) {
145 $remove_query = 'DELETE FROM ' . PMA_Util::backquote($cfgRelation['db'])
146 . '.' . PMA_Util::backquote($cfgRelation['table_info'])
147 . ' WHERE db_name = \'' . PMA_Util::sqlAddSlashes($db) . '\'';
148 PMA_queryAsControlUser($remove_query);
151 if ($cfgRelation['pdfwork']) {
152 $remove_query = 'DELETE FROM ' . PMA_Util::backquote($cfgRelation['db'])
153 . '.' . PMA_Util::backquote($cfgRelation['pdf_pages'])
154 . ' WHERE db_name = \'' . PMA_Util::sqlAddSlashes($db) . '\'';
155 PMA_queryAsControlUser($remove_query);
157 $remove_query = 'DELETE FROM ' . PMA_Util::backquote($cfgRelation['db'])
158 . '.' . PMA_Util::backquote($cfgRelation['table_coords'])
159 . ' WHERE db_name = \'' . PMA_Util::sqlAddSlashes($db) . '\'';
160 PMA_queryAsControlUser($remove_query);
163 if ($cfgRelation['designerwork']) {
164 $remove_query = 'DELETE FROM ' . PMA_Util::backquote($cfgRelation['db'])
165 . '.' . PMA_Util::backquote($cfgRelation['designer_coords'])
166 . ' WHERE db_name = \'' . PMA_Util::sqlAddSlashes($db) . '\'';
167 PMA_queryAsControlUser($remove_query);
170 if ($cfgRelation['relwork']) {
171 $remove_query = 'DELETE FROM ' . PMA_Util::backquote($cfgRelation['db'])
172 . '.' . PMA_Util::backquote($cfgRelation['relation'])
173 . ' WHERE master_db = \'' . PMA_Util::sqlAddSlashes($db) . '\'';
174 PMA_queryAsControlUser($remove_query);
176 $remove_query = 'DELETE FROM ' . PMA_Util::backquote($cfgRelation['db'])
177 . '.' . PMA_Util::backquote($cfgRelation['relation'])
178 . ' WHERE foreign_db = \'' . PMA_Util::sqlAddSlashes($db) . '\'';
179 PMA_queryAsControlUser($remove_query);