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; }
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(" · ", $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">>> '; 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; }