Translated using Weblate (Estonian)
[phpmyadmin.git] / libraries / relation_cleanup.lib.php
blob54290dc811a29a3d67cc43b11bbde7ef3cd805aa
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 */
9 use PhpMyAdmin\Relation;
11 /**
12 * Cleanup column related relation stuff
14 * @param string $db database name
15 * @param string $table table name
16 * @param string $column column name
18 * @return void
20 function PMA_relationsCleanupColumn($db, $table, $column)
22 $cfgRelation = Relation::getRelationsParam();
24 if ($cfgRelation['commwork']) {
25 $remove_query = 'DELETE FROM '
26 . PhpMyAdmin\Util::backquote($cfgRelation['db'])
27 . '.' . PhpMyAdmin\Util::backquote($cfgRelation['column_info'])
28 . ' WHERE db_name = \'' . $GLOBALS['dbi']->escapeString($db) . '\''
29 . ' AND table_name = \'' . $GLOBALS['dbi']->escapeString($table)
30 . '\''
31 . ' AND column_name = \'' . $GLOBALS['dbi']->escapeString($column)
32 . '\'';
33 Relation::queryAsControlUser($remove_query);
36 if ($cfgRelation['displaywork']) {
37 $remove_query = 'DELETE FROM '
38 . PhpMyAdmin\Util::backquote($cfgRelation['db'])
39 . '.' . PhpMyAdmin\Util::backquote($cfgRelation['table_info'])
40 . ' WHERE db_name = \'' . $GLOBALS['dbi']->escapeString($db) . '\''
41 . ' AND table_name = \'' . $GLOBALS['dbi']->escapeString($table)
42 . '\''
43 . ' AND display_field = \'' . $GLOBALS['dbi']->escapeString($column)
44 . '\'';
45 Relation::queryAsControlUser($remove_query);
48 if ($cfgRelation['relwork']) {
49 $remove_query = 'DELETE FROM '
50 . PhpMyAdmin\Util::backquote($cfgRelation['db'])
51 . '.' . PhpMyAdmin\Util::backquote($cfgRelation['relation'])
52 . ' WHERE master_db = \'' . $GLOBALS['dbi']->escapeString($db)
53 . '\''
54 . ' AND master_table = \'' . $GLOBALS['dbi']->escapeString($table)
55 . '\''
56 . ' AND master_field = \'' . $GLOBALS['dbi']->escapeString($column)
57 . '\'';
58 Relation::queryAsControlUser($remove_query);
60 $remove_query = 'DELETE FROM '
61 . PhpMyAdmin\Util::backquote($cfgRelation['db'])
62 . '.' . PhpMyAdmin\Util::backquote($cfgRelation['relation'])
63 . ' WHERE foreign_db = \'' . $GLOBALS['dbi']->escapeString($db)
64 . '\''
65 . ' AND foreign_table = \'' . $GLOBALS['dbi']->escapeString($table)
66 . '\''
67 . ' AND foreign_field = \'' . $GLOBALS['dbi']->escapeString($column)
68 . '\'';
69 Relation::queryAsControlUser($remove_query);
73 /**
74 * Cleanup table related relation stuff
76 * @param string $db database name
77 * @param string $table table name
79 * @return void
81 function PMA_relationsCleanupTable($db, $table)
83 $cfgRelation = Relation::getRelationsParam();
85 if ($cfgRelation['commwork']) {
86 $remove_query = 'DELETE FROM '
87 . PhpMyAdmin\Util::backquote($cfgRelation['db'])
88 . '.' . PhpMyAdmin\Util::backquote($cfgRelation['column_info'])
89 . ' WHERE db_name = \'' . $GLOBALS['dbi']->escapeString($db) . '\''
90 . ' AND table_name = \'' . $GLOBALS['dbi']->escapeString($table)
91 . '\'';
92 Relation::queryAsControlUser($remove_query);
95 if ($cfgRelation['displaywork']) {
96 $remove_query = 'DELETE FROM '
97 . PhpMyAdmin\Util::backquote($cfgRelation['db'])
98 . '.' . PhpMyAdmin\Util::backquote($cfgRelation['table_info'])
99 . ' WHERE db_name = \'' . $GLOBALS['dbi']->escapeString($db) . '\''
100 . ' AND table_name = \'' . $GLOBALS['dbi']->escapeString($table)
101 . '\'';
102 Relation::queryAsControlUser($remove_query);
105 if ($cfgRelation['pdfwork']) {
106 $remove_query = 'DELETE FROM '
107 . PhpMyAdmin\Util::backquote($cfgRelation['db'])
108 . '.' . PhpMyAdmin\Util::backquote($cfgRelation['table_coords'])
109 . ' WHERE db_name = \'' . $GLOBALS['dbi']->escapeString($db) . '\''
110 . ' AND table_name = \'' . $GLOBALS['dbi']->escapeString($table)
111 . '\'';
112 Relation::queryAsControlUser($remove_query);
115 if ($cfgRelation['relwork']) {
116 $remove_query = 'DELETE FROM '
117 . PhpMyAdmin\Util::backquote($cfgRelation['db'])
118 . '.' . PhpMyAdmin\Util::backquote($cfgRelation['relation'])
119 . ' WHERE master_db = \'' . $GLOBALS['dbi']->escapeString($db)
120 . '\''
121 . ' AND master_table = \'' . $GLOBALS['dbi']->escapeString($table)
122 . '\'';
123 Relation::queryAsControlUser($remove_query);
125 $remove_query = 'DELETE FROM '
126 . PhpMyAdmin\Util::backquote($cfgRelation['db'])
127 . '.' . PhpMyAdmin\Util::backquote($cfgRelation['relation'])
128 . ' WHERE foreign_db = \'' . $GLOBALS['dbi']->escapeString($db)
129 . '\''
130 . ' AND foreign_table = \'' . $GLOBALS['dbi']->escapeString($table)
131 . '\'';
132 Relation::queryAsControlUser($remove_query);
135 if ($cfgRelation['uiprefswork']) {
136 $remove_query = 'DELETE FROM '
137 . PhpMyAdmin\Util::backquote($cfgRelation['db'])
138 . '.' . PhpMyAdmin\Util::backquote($cfgRelation['table_uiprefs'])
139 . ' WHERE db_name = \'' . $GLOBALS['dbi']->escapeString($db) . '\''
140 . ' AND table_name = \'' . $GLOBALS['dbi']->escapeString($table)
141 . '\'';
142 Relation::queryAsControlUser($remove_query);
145 if ($cfgRelation['navwork']) {
146 $remove_query = 'DELETE FROM '
147 . PhpMyAdmin\Util::backquote($cfgRelation['db'])
148 . '.' . PhpMyAdmin\Util::backquote($cfgRelation['navigationhiding'])
149 . ' WHERE db_name = \'' . $GLOBALS['dbi']->escapeString($db) . '\''
150 . ' AND (table_name = \'' . $GLOBALS['dbi']->escapeString($table)
151 . '\''
152 . ' OR (item_name = \'' . $GLOBALS['dbi']->escapeString($table)
153 . '\''
154 . ' AND item_type = \'table\'))';
155 Relation::queryAsControlUser($remove_query);
160 * Cleanup database related relation stuff
162 * @param string $db database name
164 * @return void
166 function PMA_relationsCleanupDatabase($db)
168 $cfgRelation = Relation::getRelationsParam();
170 if ($cfgRelation['commwork']) {
171 $remove_query = 'DELETE FROM '
172 . PhpMyAdmin\Util::backquote($cfgRelation['db'])
173 . '.' . PhpMyAdmin\Util::backquote($cfgRelation['column_info'])
174 . ' WHERE db_name = \'' . $GLOBALS['dbi']->escapeString($db) . '\'';
175 Relation::queryAsControlUser($remove_query);
178 if ($cfgRelation['bookmarkwork']) {
179 $remove_query = 'DELETE FROM '
180 . PhpMyAdmin\Util::backquote($cfgRelation['db'])
181 . '.' . PhpMyAdmin\Util::backquote($cfgRelation['bookmark'])
182 . ' WHERE dbase = \'' . $GLOBALS['dbi']->escapeString($db) . '\'';
183 Relation::queryAsControlUser($remove_query);
186 if ($cfgRelation['displaywork']) {
187 $remove_query = 'DELETE FROM '
188 . PhpMyAdmin\Util::backquote($cfgRelation['db'])
189 . '.' . PhpMyAdmin\Util::backquote($cfgRelation['table_info'])
190 . ' WHERE db_name = \'' . $GLOBALS['dbi']->escapeString($db) . '\'';
191 Relation::queryAsControlUser($remove_query);
194 if ($cfgRelation['pdfwork']) {
195 $remove_query = 'DELETE FROM '
196 . PhpMyAdmin\Util::backquote($cfgRelation['db'])
197 . '.' . PhpMyAdmin\Util::backquote($cfgRelation['pdf_pages'])
198 . ' WHERE db_name = \'' . $GLOBALS['dbi']->escapeString($db) . '\'';
199 Relation::queryAsControlUser($remove_query);
201 $remove_query = 'DELETE FROM '
202 . PhpMyAdmin\Util::backquote($cfgRelation['db'])
203 . '.' . PhpMyAdmin\Util::backquote($cfgRelation['table_coords'])
204 . ' WHERE db_name = \'' . $GLOBALS['dbi']->escapeString($db) . '\'';
205 Relation::queryAsControlUser($remove_query);
208 if ($cfgRelation['relwork']) {
209 $remove_query = 'DELETE FROM '
210 . PhpMyAdmin\Util::backquote($cfgRelation['db'])
211 . '.' . PhpMyAdmin\Util::backquote($cfgRelation['relation'])
212 . ' WHERE master_db = \''
213 . $GLOBALS['dbi']->escapeString($db) . '\'';
214 Relation::queryAsControlUser($remove_query);
216 $remove_query = 'DELETE FROM '
217 . PhpMyAdmin\Util::backquote($cfgRelation['db'])
218 . '.' . PhpMyAdmin\Util::backquote($cfgRelation['relation'])
219 . ' WHERE foreign_db = \'' . $GLOBALS['dbi']->escapeString($db)
220 . '\'';
221 Relation::queryAsControlUser($remove_query);
224 if ($cfgRelation['uiprefswork']) {
225 $remove_query = 'DELETE FROM '
226 . PhpMyAdmin\Util::backquote($cfgRelation['db'])
227 . '.' . PhpMyAdmin\Util::backquote($cfgRelation['table_uiprefs'])
228 . ' WHERE db_name = \'' . $GLOBALS['dbi']->escapeString($db) . '\'';
229 Relation::queryAsControlUser($remove_query);
232 if ($cfgRelation['navwork']) {
233 $remove_query = 'DELETE FROM '
234 . PhpMyAdmin\Util::backquote($cfgRelation['db'])
235 . '.' . PhpMyAdmin\Util::backquote($cfgRelation['navigationhiding'])
236 . ' WHERE db_name = \'' . $GLOBALS['dbi']->escapeString($db) . '\'';
237 Relation::queryAsControlUser($remove_query);
240 if ($cfgRelation['savedsearcheswork']) {
241 $remove_query = 'DELETE FROM '
242 . PhpMyAdmin\Util::backquote($cfgRelation['db'])
243 . '.' . PhpMyAdmin\Util::backquote($cfgRelation['savedsearches'])
244 . ' WHERE db_name = \'' . $GLOBALS['dbi']->escapeString($db) . '\'';
245 Relation::queryAsControlUser($remove_query);
248 if ($cfgRelation['centralcolumnswork']) {
249 $remove_query = 'DELETE FROM '
250 . PhpMyAdmin\Util::backquote($cfgRelation['db'])
251 . '.' . PhpMyAdmin\Util::backquote($cfgRelation['central_columns'])
252 . ' WHERE db_name = \'' . $GLOBALS['dbi']->escapeString($db) . '\'';
253 Relation::queryAsControlUser($remove_query);
258 * Cleanup user related relation stuff
260 * @param string $username username
262 * @return void
264 function PMA_relationsCleanupUser($username)
266 $cfgRelation = Relation::getRelationsParam();
268 if ($cfgRelation['bookmarkwork']) {
269 $remove_query = "DELETE FROM "
270 . PhpMyAdmin\Util::backquote($cfgRelation['db'])
271 . "." . PhpMyAdmin\Util::backquote($cfgRelation['bookmark'])
272 . " WHERE `user` = '" . $GLOBALS['dbi']->escapeString($username)
273 . "'";
274 Relation::queryAsControlUser($remove_query);
277 if ($cfgRelation['historywork']) {
278 $remove_query = "DELETE FROM "
279 . PhpMyAdmin\Util::backquote($cfgRelation['db'])
280 . "." . PhpMyAdmin\Util::backquote($cfgRelation['history'])
281 . " WHERE `username` = '" . $GLOBALS['dbi']->escapeString($username)
282 . "'";
283 Relation::queryAsControlUser($remove_query);
286 if ($cfgRelation['recentwork']) {
287 $remove_query = "DELETE FROM "
288 . PhpMyAdmin\Util::backquote($cfgRelation['db'])
289 . "." . PhpMyAdmin\Util::backquote($cfgRelation['recent'])
290 . " WHERE `username` = '" . $GLOBALS['dbi']->escapeString($username)
291 . "'";
292 Relation::queryAsControlUser($remove_query);
295 if ($cfgRelation['favoritework']) {
296 $remove_query = "DELETE FROM "
297 . PhpMyAdmin\Util::backquote($cfgRelation['db'])
298 . "." . PhpMyAdmin\Util::backquote($cfgRelation['favorite'])
299 . " WHERE `username` = '" . $GLOBALS['dbi']->escapeString($username)
300 . "'";
301 Relation::queryAsControlUser($remove_query);
304 if ($cfgRelation['uiprefswork']) {
305 $remove_query = "DELETE FROM "
306 . PhpMyAdmin\Util::backquote($cfgRelation['db'])
307 . "." . PhpMyAdmin\Util::backquote($cfgRelation['table_uiprefs'])
308 . " WHERE `username` = '" . $GLOBALS['dbi']->escapeString($username)
309 . "'";
310 Relation::queryAsControlUser($remove_query);
313 if ($cfgRelation['userconfigwork']) {
314 $remove_query = "DELETE FROM "
315 . PhpMyAdmin\Util::backquote($cfgRelation['db'])
316 . "." . PhpMyAdmin\Util::backquote($cfgRelation['userconfig'])
317 . " WHERE `username` = '" . $GLOBALS['dbi']->escapeString($username)
318 . "'";
319 Relation::queryAsControlUser($remove_query);
322 if ($cfgRelation['menuswork']) {
323 $remove_query = "DELETE FROM "
324 . PhpMyAdmin\Util::backquote($cfgRelation['db'])
325 . "." . PhpMyAdmin\Util::backquote($cfgRelation['users'])
326 . " WHERE `username` = '" . $GLOBALS['dbi']->escapeString($username)
327 . "'";
328 Relation::queryAsControlUser($remove_query);
331 if ($cfgRelation['navwork']) {
332 $remove_query = "DELETE FROM "
333 . PhpMyAdmin\Util::backquote($cfgRelation['db'])
334 . "." . PhpMyAdmin\Util::backquote($cfgRelation['navigationhiding'])
335 . " WHERE `username` = '" . $GLOBALS['dbi']->escapeString($username)
336 . "'";
337 Relation::queryAsControlUser($remove_query);
340 if ($cfgRelation['savedsearcheswork']) {
341 $remove_query = "DELETE FROM "
342 . PhpMyAdmin\Util::backquote($cfgRelation['db'])
343 . "." . PhpMyAdmin\Util::backquote($cfgRelation['savedsearches'])
344 . " WHERE `username` = '" . $GLOBALS['dbi']->escapeString($username)
345 . "'";
346 Relation::queryAsControlUser($remove_query);
349 if ($cfgRelation['designersettingswork']) {
350 $remove_query = "DELETE FROM "
351 . PhpMyAdmin\Util::backquote($cfgRelation['db'])
352 . "." . PhpMyAdmin\Util::backquote($cfgRelation['designer_settings'])
353 . " WHERE `username` = '" . $GLOBALS['dbi']->escapeString($username)
354 . "'";
355 Relation::queryAsControlUser($remove_query);