Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Don't allow requesting an archive page that doesn't exist #665

Merged
merged 1 commit into from
Dec 15, 2019
Merged

Don't allow requesting an archive page that doesn't exist #665

merged 1 commit into from
Dec 15, 2019

Conversation

lotharsm
Copy link
Contributor

@lotharsm lotharsm commented Nov 20, 2019

Currently, it's possible to request archive pages with a page number higher than the actual page count.

For example, look at https://blog.s9y.org/archives/P999.html - it's requesting page 999 from 47. Furthermore, if you request a really high page number, the SQL query will break.

This patch adds a simple check and overwrites the page number in ['GET']['page'] with the highest page number that's currently available.

@onli onli merged commit 137330f into s9y:master Dec 15, 2019
@onli
Copy link
Member

onli commented Dec 15, 2019

Nice and elegant solution. Thank you!

th-h added a commit to th-h/Serendipity that referenced this pull request Apr 11, 2020
Since merging s9y#665 `serendipity_plugin_history`
breaks with a SQL error message on every archive
page but the first one; see s9y#693 for reason
and context.

Unset `$serendipity['GET']['page']` before
calling `serendipity_fetchEntries(`)` (and
reset afterwards) to fix that. That's the
correct way, I think, as
`serendipity_fetchEntries()` is not called
in page context here.

Signed-off-by: Thomas Hochstein <thh@inter.net>
th-h added a commit to th-h/Serendipity that referenced this pull request Apr 11, 2020
Since merging s9y#665 `serendipity_plugin_history`
breaks with a SQL error message on every archive
page but the first one; see s9y#693 for reason
and context.

Unset `$serendipity['GET']['page']` before
calling `serendipity_fetchEntries(`)` (and
reset afterwards) to fix that. That's the
correct way, I think, as
`serendipity_fetchEntries()` is not called
in page context here.

Signed-off-by: Thomas Hochstein <thh@inter.net>
th-h added a commit to th-h/Serendipity that referenced this pull request Apr 11, 2020
Since merging s9y#665 `serendipity_plugin_history`
breaks with a SQL error message on every archive
page but the first one; see s9y#693 for reason
and context.

Unset `$serendipity['GET']['page']` before
calling `serendipity_fetchEntries()` (and
reset afterwards) to fix that. That's the
correct way, I think, as
`serendipity_fetchEntries()` is not called
in page context here.

Add a note to serendipity_fetchEntries()
about the problem with page context.

Also don't fallback to last page if
$totalPages < 1 in serendipity_fetchEntries()
That should at least avoid SQL errors.

Signed-off-by: Thomas Hochstein <thh@inter.net>
th-h added a commit to th-h/Serendipity that referenced this pull request Apr 20, 2020
Since merging s9y#665 `serendipity_plugin_history`
breaks with a SQL error message on every archive
page but the first one; see s9y#693 for reason
and context.

Unset `$serendipity['GET']['page']` before
calling `serendipity_fetchEntries()` (and
reset afterwards) to fix that. That's the
correct way, I think, as
`serendipity_fetchEntries()` is not called
in page context here.

Add a note to serendipity_fetchEntries()
about the problem with page context.

Also don't fallback to last page if
$totalPages < 1 in serendipity_fetchEntries()
That should at least avoid SQL errors.

Signed-off-by: Thomas Hochstein <thh@inter.net>
th-h added a commit to th-h/Serendipity that referenced this pull request Apr 20, 2020
Since merging s9y#665 `serendipity_plugin_history`
breaks with a SQL error message on every archive
page but the first one; see s9y#693 for reason
and context.

Unset `$serendipity['GET']['page']` before
calling `serendipity_fetchEntries()` (and
reset afterwards) to fix that. That's the
correct way, I think, as
`serendipity_fetchEntries()` is not called
in page context here.

Add a note to serendipity_fetchEntries()
about the problem with page context.

Also don't fallback to last page if
$totalPages < 1 in serendipity_fetchEntries()
That should at least avoid SQL errors.

Signed-off-by: Thomas Hochstein <thh@inter.net>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants