Subversion Repositories personal-webbase

Rev

Rev 9 | Blame | Compare with Previous | Last modification | View Log | RSS feed

  1. <?php
  2.  
  3. if (!defined('WBLEGAL')) die('Kann nicht ohne Personal WebBase ausgef&uuml;hrt werden.');
  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. ?>
  28.