$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();
?>