Example #1
0
function ewiki_neighbor_links(&$str, &$type, &$href, &$title)
{
    global $ewiki_metadb;
    if (!isset($ewiki_metadb)) {
        ewiki_metadb::LOAD();
    }
    if (!$ewiki_metadb) {
        return;
    }
    #-- check for alternate universes
    if ($alt = $ewiki_metadb[strtolower($href)]) {
        $inj = array();
        $real = $alt[0];
        foreach ($alt[1] as $iw) {
            $url = ewiki_interwiki("{$iw}:{$real}");
            $inj[] = "<a href=\"{$url}\">{$iw}:</a>";
        }
        $str .= " (" . implode(", ", $inj) . ")";
    }
}
Example #2
0
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();
    }
}
Example #3
0
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();
    }
}
Example #4
0
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();
    }
}