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