4 -- OBSOLETED by according spages/ plugin --
5 lists all pages, which are not referenced from others
6 (works rather unclean and dumb)
10 define("EWIKI_PAGE_ORPHANEDPAGES", "OrphanedPages");
11 $ewiki_plugins["page"][EWIKI_PAGE_ORPHANEDPAGES] = "ewiki_page_orphanedpages";
14 function ewiki_page_orphanedpages($id, $data, $action) {
18 $o = ewiki_make_title($id, $id, 2);
25 $db = ewiki_db::GETALL(array("refs", "flags"));
27 while ($row = $db->get()) {
31 #-- remove self-reference
32 $row["refs"] = str_replace("\n$p\n", "\n", $row["refs"]);
34 #-- add to list of referenced pages
35 $rf = explode("\n", trim($row["refs"]));
36 $refs = array_merge($refs, $rf);
38 $refs = array_unique($refs);
40 } // (clean-up only every 300th loop)
43 if (($row["flags"] & EWIKI_DB_F_TYPE) == EWIKI_DB_F_TEXT) {
44 $pages[] = $row["id"];
47 $refs = array_unique($refs);
49 #-- check pages to be referenced from somewhere
50 foreach ($pages as $p) {
51 if (!ewiki_in_array($p, $refs)) {
52 if (!EWIKI_PROTECTED_MODE || !EWIKI_PROTECTED_MODE_HIDING || ewiki_auth($p, $uu, "view")) {
59 $o .= ewiki_list_pages($orphaned, 0);