Esempio n. 1
0
function ewiki_view_append_attachments($id, $data, $action)
{
    $o = '<hr><h4><a href="' . ewiki_script(EWIKI_ACTION_ATTACHMENTS, $id) . '">' . ewiki_t("ATTACHMENTS") . '</a></h4>';
    $scan = 's:7:"section";' . serialize($id);
    $result = ewiki_db::SEARCH("meta", $scan);
    $ord = array();
    while ($row = $result->get()) {
        $ord[$row["id"]] = $row["created"];
    }
    arsort($ord);
    foreach ($ord as $id => $uu) {
        $row = ewiki_db::GET($id);
        if (EWIKI_PROTECTED_MODE && EWIKI_PROTECTED_MODE_HIDING && !ewiki_auth($row["id"], $row, "view")) {
            continue;
        }
        $o .= ewiki_entry_downloads($row, "*");
    }
    return $o;
}
Esempio n. 2
0
function ewiki_page_filedownload($id, $data, $action, $def_sec = "")
{
    global $ewiki_binary_icons, $ewiki_upload_sections;
    $o = ewiki_make_title($id, $id, 2);
    #<off>#   $o .= ewiki_t("DWNL_SEEUPL", '$scr'=>ewiki_script("", ""));
    #-- params (section, orderby)
    $orderby = $_REQUEST["orderby"] or $orderby = "created";
    if ($def_sec) {
        $section = $def_sec;
    } else {
        $section = $_REQUEST["section"] or $section = "";
        if (count($ewiki_upload_sections) > 1) {
            $oa = array();
            $ewiki_upload_sections["*"] = "*";
            if (empty($ewiki_plugins["action"][EWIKI_ACTION_ATTACHMENTS])) {
                $ewiki_upload_sections["**"] = "**";
            }
            foreach ($ewiki_upload_sections as $sec => $title) {
                $oa[] = '<a href="' . ewiki_script("", $id, array("orderby" => $orderby, "section" => $sec)) . '">' . $title . "</a>";
            }
            $o .= '<div align="center" class="darker">' . implode(" &middot; ", $oa) . '</div><br />';
        }
    }
    #-- collect entries
    $files = array();
    $sorted = array();
    $result = ewiki_db::GETALL(array("flags", "meta", "created", "hits"));
    while ($row = $result->get()) {
        if (($row["flags"] & EWIKI_DB_F_TYPE) == EWIKI_DB_F_BINARY) {
            $m =& $row["meta"];
            if ($m["section"] != $section) {
                if ($section == "**") {
                } elseif ($section == "*" && !empty($ewiki_upload_sections[$m["section"]])) {
                } else {
                    continue;
                }
            }
            if (EWIKI_PROTECTED_MODE && EWIKI_PROTECTED_MODE_HIDING && !ewiki_auth($row["id"], $uuu, "binary-get")) {
                continue;
            }
            $files[$row["id"]] = $row;
            $sorted[$row["id"]] = $row[$orderby];
        }
    }
    #-- sort
    arsort($sorted);
    #-- slice
    $pnum = $_REQUEST[EWIKI_UP_PAGENUM] or $pnum = 0;
    if (count($sorted) > EWIKI_LIST_LIMIT) {
        $o_nl .= '<div class="lighter">&gt;&gt; ';
        for ($n = 0; $n < (int) (count($sorted) / EWIKI_LIST_LIMIT); $n++) {
            $o_nl .= '<a href="' . ewiki_script("", $id, array("orderby" => $orderby, "section" => $section, EWIKI_UP_PAGENUM => $n)) . '">[' . $n . "]</a>  ";
        }
        $o_nl .= '</div><br />';
        $o .= $o_nl;
    }
    $sorted = array_slice($sorted, $pnum * EWIKI_LIST_LIMIT, EWIKI_LIST_LIMIT);
    #-- output
    if (empty($sorted)) {
        $o .= ewiki_t("DWNL_NOFILES");
    } else {
        foreach ($sorted as $id => $uu) {
            $row = $files[$id];
            $o .= ewiki_entry_downloads($row, $section[0] == "*");
        }
    }
    $o .= $o_nl;
    return $o;
}