function ewiki_virtual_sisterpages($id, &$data, $action) { global $ewiki_metadb; #-- load metadb, inject URLs into $ewiki_links if (ewiki_metadb::LOAD()) { #-- search for alternatives if ($alt = $ewiki_metadb[strtolower($id)]) { $virt = ""; $real = $alt[0]; foreach ($alt[1] as $iw) { if (!strpos($data["content"], "{$iw}:{$real}")) { $virt .= "* {$iw}:{$real}\n"; } } if ($virt) { $data["content"] .= "\n\n" . ewiki_t("SISTER") . "\n" . $virt . "\n"; } } ewiki_metadb::UNLOAD(); } }
function ewiki_linking_near1(&$wsrc) { global $ewiki_metadb, $ewiki_links; #-- select not-found links $nf = array(); foreach ($ewiki_links as $id => $state) { if (!$state) { $nf[] = $id; } } #-- load metadb, inject URLs into $ewiki_links if (count($nf) && ewiki_metadb::LOAD()) { $nf = ewiki_metadb::FIND($nf); foreach ($nf as $id => $found) { if ($found) { $ewiki_links[$id] = ewiki_interwiki($found[0]); } } ewiki_metadb::UNLOAD(); } }
function ewiki_page_final_sisterpages(&$o, $id, &$data, $action) { global $ewiki_metadb, $ewiki_links; #-- only on edit/ pages? if (EWIKI_SISTER_ONLY_NONEXIST && $action != "edit") { return; } #-- load metadb, inject URLs into $ewiki_links if (ewiki_metadb::LOAD()) { #-- search for alternatives if ($alt = $ewiki_metadb[strtolower($id)]) { $inj = array(); $real = $alt[0]; foreach ($alt[1] as $iw) { $href = ewiki_interwiki("{$iw}:{$real}"); $inj[] = "<a href=\"{$href}\">{$iw}:{$id}</a>"; } if ($inj) { $o = ($action != "edit" ? ewiki_t("SISTER") : "") . implode(", ", $inj) . "<br />\n" . $o; } } ewiki_metadb::UNLOAD(); } }