Subversion Repositories personal-webbase

Rev

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&uuml;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
?>