<?php
if (isset($_GET['rasp'])
&& is_string($_GET['rasp'])
&& preg_match('/^[0-9]{12}$/', $_GET['rasp'])) {
require 'rasp_iso.php';
} else {
$page_size = 10;
if (isset($_GET['next'])) {
$page_id = max(0, (int)$_GET['next']);
$start_rasp = $page_id;
$end_rasp = $page_size;
} else {
if (($login ?? false) === true) {
include 'back/rasp/form.php';
}
$start_rasp = 0;
$end_rasp = $page_size;
}
$files_listed = array();
foreach(glob('rasps/*.txt') ?: [] as $quip) {
$files_listed[] = $quip;
}
rsort($files_listed, SORT_NATURAL);
$rasp_master = array_slice($files_listed, $start_rasp, $end_rasp);
foreach($rasp_master as $rasp_content) {
$stab = file($rasp_content, FILE_IGNORE_NEW_LINES);
include 'rasp_echo.php';
}
$safe_rasp_count = $rasp_count ?? 0;
$total_pages = max(1, (int)ceil($safe_rasp_count / $page_size));
$current_page = min(intdiv($start_rasp, $page_size) + 1, $total_pages);
if ($total_pages > 1) {
$page_href = function (int $p) use ($page_size): string {
return 'index.php?rasp=' . ($p === 1 ? '' : '&next=' . (($p - 1) * $page_size));
};
$win_start = max(1, $current_page - 2);
$win_end = min($total_pages, $current_page + 2);
$parts = array();
$parts[] = $current_page > 1
? '<a href="' . $page_href($current_page - 1) . '" class="panel_link" rel="prev"><</a>'
: '<span class="pager_off"><</span>';
if ($win_start > 1) {
$parts[] = '<span class="pager_gap">..</span>';
}
for ($p = $win_start; $p <= $win_end; $p++) {
$parts[] = $p === $current_page
? '<b aria-current="page">' . $p . '</b>'
: '<a href="' . $page_href($p) . '" class="panel_link">' . $p . '</a>';
}
if ($win_end < $total_pages) {
$parts[] = '<span class="pager_gap">..</span>';
}
$parts[] = $current_page < $total_pages
? '<a href="' . $page_href($current_page + 1) . '" class="panel_link" rel="next">></a>'
: '<span class="pager_off">></span>';
echo '<div class="next_page" role="navigation" aria-label="Pages">' . implode(' ', $parts) . '</div>';
}
}
?>