Mercurial > blahgd > fmt4
changeset 1097:3173fa937e23
story: use 'preview' directly from the query nvlist
Signed-off-by: Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
author | Josef 'Jeff' Sipek <jeffpc@josefsipek.net> |
---|---|
date | Thu, 07 Sep 2017 17:14:32 +0300 |
parents | fb4b67fa1223 |
children | 9488e4db46f9 |
files | req.c req.h story.c |
diffstat | 3 files changed, 18 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/req.c Thu Sep 07 17:04:16 2017 +0300 +++ b/req.c Thu Sep 07 17:14:32 2017 +0300 @@ -258,7 +258,6 @@ args->cat = NULL; args->tag = NULL; args->feed = NULL; - args->preview = 0; uri = nvl_lookup_str(req->scgi->request.headers, SCGI_DOCUMENT_URI); ASSERT(!IS_ERR(uri)); @@ -302,7 +301,7 @@ } else if (!strcmp(name, "comment")) { iptr = &args->comment; } else if (!strcmp(name, "preview")) { - iptr = &args->preview; + continue; } else if (!strcmp(name, "admin")) { iptr = &args->admin; } else { @@ -438,8 +437,7 @@ case PAGE_INDEX: return blahg_index(req, get_page_number(req)); case PAGE_STORY: - return blahg_story(req, req->args.p, - req->args.preview == PREVIEW_SECRET); + return blahg_story(req, req->args.p); case PAGE_ADMIN: return blahg_admin(req); default:
--- a/req.h Thu Sep 07 17:04:16 2017 +0300 +++ b/req.h Thu Sep 07 17:14:32 2017 +0300 @@ -46,7 +46,6 @@ int p; int m; - int preview; int admin; int comment; const char *cat; @@ -84,7 +83,7 @@ extern int blahg_tag(struct req *req, const char *tag, int paged); extern int blahg_comment(struct req *req); extern int blahg_index(struct req *req, int paged); -extern int blahg_story(struct req *req, int p, bool preview); +extern int blahg_story(struct req *req, int p); extern int blahg_admin(struct req *req); extern int init_wordpress_categories(void);
--- a/story.c Thu Sep 07 17:04:16 2017 +0300 +++ b/story.c Thu Sep 07 17:14:32 2017 +0300 @@ -61,7 +61,20 @@ return 0; } -int blahg_story(struct req *req, int p, bool preview) +/* + * Is the request a preview? + */ +static bool is_preview(struct req *req) +{ + uint64_t tmp; + + if (nvl_lookup_int(req->scgi->request.query, "preview", &tmp)) + return false; + + return tmp == PREVIEW_SECRET; +} + +int blahg_story(struct req *req, int p) { if (p == -1) { DBG("Invalid post #"); @@ -72,7 +85,7 @@ vars_scope_push(&req->vars); - if (__load_post(req, p, preview)) + if (__load_post(req, p, is_preview(req))) return R404(req, NULL); req->scgi->response.body = render_page(req, "{storyview}");