Rev 9 | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
9 | daniel-mar | 1 | <?php |
2 | |||
14 | daniel-mar | 3 | if (!defined('WBLEGAL')) die('Kann nicht ohne Personal WebBase ausgeführt werden.'); |
9 | daniel-mar | 4 | |
5 | // Wir löschen ungültige Ordnerbezüge der Personal WebBase-Tabellen. |
||
6 | // Wenn ein Benutzer einen Ordner löscht, dann werden die Einträge und Unterordner nicht mitgelöscht |
||
7 | // Je nachdem, wie viele Unterordner existiert haben, hat die Datenbank nach wenigen Durchläufen |
||
8 | // dieser Funktion keine ungültigen Bezüge mehr. |
||
9 | |||
10 | $my_str = "'0', "; |
||
11 | $res = db_query("SELECT `id` FROM `".$mysql_zugangsdaten['praefix']."ordner`"); |
||
12 | while ($row = db_fetch($res)) |
||
13 | $my_str .= "'".$row['id']."', "; |
||
14 | $my_str = substr($my_str, 0, strlen($my_str)-2); |
||
15 | |||
16 | $res = db_query("SELECT `table` FROM `".$mysql_zugangsdaten['praefix']."module`"); |
||
17 | while ($row = db_fetch($res)) |
||
18 | { |
||
19 | if (isset($datenbanktabellen[$mysql_zugangsdaten['praefix'].$row['table']]['folder'])) |
||
20 | { |
||
21 | db_query("DELETE FROM `".$mysql_zugangsdaten['praefix'].$row['table']."` WHERE `folder` NOT IN ($my_str)"); |
||
22 | if (db_affected_rows() > 0) |
||
23 | db_query("OPTIMIZE TABLE `".$mysql_zugangsdaten['praefix'].$row['table']."`"); |
||
24 | } |
||
25 | } |
||
26 | |||
27 | ?> |