Example #1
0
function ewiki_mpi_backlinks($action, &$args, &$iii, &$s)
{
    $id = $args["page"] or $id = $GLOBALS["ewiki_id"];
    if ($pages = ewiki_get_backlinks($id)) {
        return ewiki_list_pages($pages);
    }
}
Example #2
0
function ewiki_view_append_backlinks($id, $data, $action)
{
    $pages = ewiki_get_backlinks($id);
    $o = "";
    foreach ($pages as $id) {
        $o .= ' <a href="' . ewiki_script("", $id) . '">' . $id . '</a>';
    }
    $o && ($o = "<div class=\"wiki_backlinks\"><small>" . get_string('backlinks', 'wiki') . ":</small><br />{$o}</div>\n");
    return $o;
}
Example #3
0
function mpi2_backtree_revbl($id, $li, $depth)
{
    $src = "";
    $li .= "*";
    if ($depth--) {
        if ($refs = ewiki_get_backlinks($id)) {
            foreach ($refs as $id) {
                $src .= "{$li} [{$id}]\n";
                $src .= mpi2_backtree_revbl($id, $li, $depth);
            }
        }
    }
    return $src;
}
Example #4
0
function ewiki_mpi_bugreportstate($action, $args, &$iii, &$s)
{
    global $ewiki_id;
    #-- possible states
    $values = array("open", "closed", "done", "frozen", "answered");
    foreach ($args as $i => $name) {
        if (is_int($i)) {
            if (preg_match("/^\\w+\$/", $name) && !in_array($name, $values)) {
                $values[] = $name;
            }
        }
    }
    $rxvals = implode("|", $values);
    #-- if button pressed
    if (($new = $_REQUEST["brs_change"]) && in_array($new, $values)) {
        $pages = ewiki_get_backlinks($ewiki_id);
        $pages[] = $ewiki_id;
        #-- change assoc pages
        foreach ($pages as $id) {
            $data = ewiki_db::GET($id);
            if (preg_match("/\n\\|.*stat(e|us).*\\|.*({$rxvals})/", $data["content"]) or preg_match("/\n\\|.*({$rxvals}).*\\|.*{$ewiki_id}/", $data["content"])) {
                $data["content"] = preg_replace("/(\n\\|.*stat(?:e|us).*\\|.*?)[_*]*(?:{$rxvals})[_*]*/", "\$1{$new}", $data["content"]);
                $data["content"] = preg_replace("/(\n\\|.*?)[_*]*(?:{$rxvals})[_*]*(.*?\\|.*{$ewiki_id})/", "\$1{$new}\$2", $data["content"]);
                ewiki_db::UPDATE($data);
                $data["version"]++;
                ewiki_db::WRITE($data);
            }
        }
        $o = "<p>(status changed)</p>";
        $iii[0][0] = preg_replace("/({$rxvals})/", "{$new}", $iii[0][0]);
    } else {
        $url = ewiki_script("", $ewiki_id);
        $o .= <<<EOT
<form action="{$url}#added" method="POST" enctype="multipart/form-data">
<input type="submit" name="brs_change" value="open">
<input type="submit" name="brs_change" value="closed">
<input type="submit" name="brs_change" value="frozen">
</form>
EOT;
    }
    return $o;
}
Example #5
0
function ewiki_tour($id, &$data, $action)
{
    $o = "\n";
    $page_lists = array(array($id), explode("\n", trim($data["refs"])), ewiki_get_backlinks($id));
    foreach ($page_lists as $pages) {
        foreach ($pages as $page) {
            $row = ewiki_db::GET($page);
            if (EWIKI_DB_F_TEXT == $row["flags"] & EWIKI_DB_F_TYPE) {
                $add = substr($row["content"], 0, 333);
                $add = substr($add, 0, strrpos($add, " "));
                $add = preg_replace("/^[!*#-:;>]+/m", "", $add);
                $add = strtr($add, "\n\t", "  ");
                $o .= "!!! [tour:{$row[id]}]\n" . "@@tour-page-fragment {$add} ...\n\n";
            }
        }
    }
    $o = ewiki_format($o);
    $o .= ewiki_control_links($id, $data, $action);
    return $o;
}
Example #6
0
function ewiki_page_links($id, &$data, $action)
{
    $o = ewiki_make_title($id, ewiki_t("PAGESLINKINGTO", array("title" => $id)), 1, $action, "", "_MAY_SPLIT=1");
    if ($pages = ewiki_get_backlinks($id)) {
        $o .= ewiki_list_pages($pages);
    } else {
        $o .= ewiki_t("This page isn't linked from anywhere else.");
    }
    return $o;
}