$cfgMaxPostsPerRequest) || ($postsPerPage < 1) ) { $postsPerPage = $_REQUEST["amount"] = $cfgMaxPostsPerRequest; // TODO: user defaults NTFY_AddNotice("Wrong posts \"amount\" value in query, was normalized to $postsPerPage.", "warning"); } else { $_REQUEST["amount"] = intval($_REQUEST["amount"]); } } else { $postsPerPage = $cfgMaxPostsPerRequest; // TODO: user defaults } // Checking posts offset $currentOffset = null; if (!empty($_REQUEST["offset"])) { $currentOffset = $_REQUEST["offset"]; if ( (!InpChk_IsValidInt32($currentOffset)) || $currentOffset < 0 ) { $currentOffset = $_REQUEST["offset"] = 0; NTFY_AddNotice("Wrong \"offset\" value in query, was defaulted to $currentOffset.", "warning"); } else { $_REQUEST["offset"] = intval($_REQUEST["offset"]); } } else { $currentOffset = 0; } $currentOffsetIsCorrect = ($currentOffset === 0) || (!($currentOffset % $postsPerPage)); // Processing request $result = Post_GetMatchingPosts_Method($_REQUEST); $requestedPostsResult = null; if ($result->IsError()) // Something happened NTFY_AddNotice("Failed to fetch posts! Reason:
" . $result->GetError(), "fail"); else $requestedPostsResult = $result->GetData(); // Checking offset again NOTICE: doshirak-code if ($requestedPostsResult && $currentOffset > $requestedPostsResult["total_amount"]) { $currentOffset = $_REQUEST["offset"] = 0; NTFY_AddNotice("Wrong \"offset\" value in query!", "fail"); $requestedPostsResult = null; } NTFY_EchoAllNotices(); ?>
0; ++$i) { $tempGETArr["offset"] -= $postsPerPage; --$startingPage; } // If list of posts does not begin from first if ($currentOffset > 0) { // Then adding link to first and previous page $secondTempGETArr = $_GET; $secondTempGETArr["offset"] = 0; // First page echo "
  • First
  • \n"; // Previous page if ($currentOffsetIsCorrect) { $secondTempGETArr["offset"] = $currentOffset - $postsPerPage; echo "
  • <
  • \n"; } unset($secondTempGETArr); echo "
  • ...

  • "; } // Showing pages $i = $startingPage; $endingPage = $startingPage + 5; // Unaccurate naming, tbh, but who cares for (; $i < $endingPage && $i < $totalPagesAmount; ++$i) { echo "
  • "; if ($tempGETArr["offset"] === $currentOffset) echo ""; echo "" . strval($i + 1) .""; if ($tempGETArr["offset"] === $currentOffset) echo ""; echo "
  • \n"; $tempGETArr["offset"] += $postsPerPage; } // If we have even MORE posts! if ($currentPage < ($totalPagesAmount - 1)) { // Then adding link to last and next page echo "
  • ...

  • "; $secondTempGETArr = $_GET; // Next page if ($currentOffsetIsCorrect) { $secondTempGETArr["offset"] = $currentOffset + $postsPerPage; echo "
  • >
  • \n"; } // Last page $secondTempGETArr["offset"] = ($totalPagesAmount - 1) * $postsPerPage; echo "
  • Last
  • \n"; } ?>

    Search

    >
    Nothing found!"; } // TODO: pages ?>