2 include("t_config.php");
6 <title>delete ewiki pages</title>
7 <link rel="stylesheet" type="text/css" href="t_config.css">
9 <body bgcolor="#ffffff" text="#000000">
10 <h1>delete pages from DB</h1>
14 if (empty($_REQUEST["remove"])) {
17 Note that only <b>unreferenced pages</b> will be listed here. And
18 because the ewiki engine itself does only limited testing if a page is
19 referenced it may miss some of them here.<br>
20 If you however empty a page first, it will get listed here too.
21 Various other database diagnostics are made as well.<br><br>\n";
24 $result = ewiki_db::GETALL(array("version"));
28 if (@$_REQUEST["listall"]) {
29 while ($row = $result->get()) {
30 $selected[$row["id"]] = "listall <br>";
34 while ($page = $result->get()) {
37 if (!strlen($id)) { continue; }
38 $page = ewiki_db::GET($id);
39 $flags = $page["flags"];
41 if (!strlen(trim(($page["content"])))) {
42 @$selected[$id] .= "EMPTY <br>";
45 $res2 = ewiki_db::SEARCH("content", $id);
46 if ($res2 && $res2->count()) {
48 while ($row = $res2->get()) {
49 $check = ewiki_db::GET($row["id"]);
50 $check = strtolower($check["content"]);
51 $check2 &= (strpos($check, strtolower($id)) !== false);
52 #echo "rc({$row['id']})==>($id): $check2 <br>";
57 @$selected[$id] .= "UNREFerenced <br>";
60 if ($flags & EWIKI_DB_F_DISABLED) {
61 @$selected[$id] .= "disabled_page <br>";
64 if (($flags & 3) == 3) {
65 @$selected[$id] .= "errFLAGS(bin<b>+</b>txt) <br>";
69 @$selected[$id] .= "errFLAGS(notype) <br>";
72 if ($flags & EWIKI_DB_F_HTML) {
73 @$selected[$id] .= "warning(HTML) <br>";
76 if (($flags & EWIKI_DB_F_READONLY) && !($flags & EWIKI_DB_F_BINARY)) {
77 @$selected[$id] .= "readonly <br>";
80 if (($flags & EWIKI_DB_F_READONLY) && ($flags & EWIKI_DB_F_WRITEABLE)) {
81 @$selected[$id] .= "errFLAGS(readonly<b>+</b>writable) <br>";
84 if (strlen($page["content"]) >= 65536) {
85 @$selected[$id] .= "size >= 64K <br>";
88 if (preg_match("/\nDelete(d?Page|Me|This)\n/", $page["refs"])) {
89 @$selected[$id] .= "<tt>DeleteMe</tt> <br>";
96 echo '<form action="t_remove.php" method="POST" enctype="multipart/form-data">';
97 echo '<input type="submit" name="listall" value="listall">';
98 echo '<table class="list" border="0" cellspacing="3" cellpadding="2" width="500">' . "\n";
99 echo "<tr><th>page name</th><th>error / reason</th></tr>\n";
101 foreach ($selected as $id => $reason) {
106 echo '<input type="checkbox" value="1" name="remove[' . rawurlencode($id) . ']"> ';
109 if (strpos($id, EWIKI_IDF_INTERNAL) === false) {
110 echo '<a href="' . ewiki_script("", $id) . '">';
113 echo '<a href="' . ewiki_script_binary("", $id) . '">';
115 echo htmlentities($id) . '</a></td>';
118 echo '<td>' . $reason . "</td>";
124 echo '</table><br><input type="submit" value=" delete selected pages "></form>';
130 foreach ($_REQUEST["remove"] as $id => $uu) {
132 $id = rawurldecode($id);
134 echo "<li>purging »".htmlentities($id)."«...</li>";
136 $data = ewiki_db::GET($id);
137 for ($version=1; $version<=$data["version"]; $version++) {
139 ewiki_db::delete($id, $version);