Subversion Repositories personal-webbase

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1 daniel-mar 1
<?php
2
 
3
if (!defined('WBLEGAL')) die('Kann nicht ohne Personal WebBase ausgef&uuml;hrt werden.');
4
 
5
// Als erstes rekursiv die ungültigen Bezüge in der Ordnerstruktur löschen
6
 
7
$fortfahren = true;
8
while ($fortfahren)
9
{
10
        $my_str = "'0', ";
11
        $res = db_query("SELECT `id` FROM `".$WBConfig->getMySQLPrefix()."folders`");
12
        while ($row = db_fetch($res))
13
        {
14
                $my_str .= "'".$row['id']."', ";
15
        }
16
        $my_str = substr($my_str, 0, strlen($my_str)-2);
17
 
18
        db_query("DELETE FROM `".$WBConfig->getMySQLPrefix()."folders` WHERE `folder_cnid` NOT IN ($my_str)");
19
 
20
        if (db_affected_rows() > 0)
21
        {
22
                db_query("OPTIMIZE TABLE `".$WBConfig->getMySQLPrefix()."folders`");
23
        }
24
        else
25
        {
26
                $fortfahren = false;
27
        }
28
}
29
 
30
// Nun alle sonstigen Datensätze löschen, die auf keinen gültigen Ordner mehr zeigen
31
 
32
foreach ($tables_modules as $m1 => $m2)
33
{
34
        if (isset($tables_modules[$m1]['folder_cnid']))
35
        {
36
                // Prüfung auf $my_str = '' nicht nötig, da '0' immer als Element existiert
37
 
38
                db_query("DELETE FROM `$m1` WHERE `folder_cnid` NOT IN ($my_str)");
39
                if (db_affected_rows() > 0)
40
                {
41
                        db_query("OPTIMIZE TABLE `$m1`");
42
                }
43
        }
44
}
45
 
46
?>