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}");