From 6df0961e45b58264d13ea8dbaaf15e580136bfe6 Mon Sep 17 00:00:00 2001 From: Vincent Douillet Date: Sun, 16 Feb 2025 22:33:27 +0100 Subject: WIP create new folders --- browse.c | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) (limited to 'browse.c') diff --git a/browse.c b/browse.c index 4777938..28e2b78 100644 --- a/browse.c +++ b/browse.c @@ -41,6 +41,7 @@ #include "browse.h" #include "cgi.h" #include "config.h" +#include "create.h" #include "download.h" #include "file.h" #include "http.h" @@ -164,7 +165,7 @@ struct template_data { struct file *f; }; -static const char *const header_template_keys[] = {"upload_url"}; +static const char *const header_template_keys[] = {"upload_url", "create_url"}; static int header_template_callback(size_t index, void *arg) @@ -185,7 +186,21 @@ header_template_callback(size_t index, void *arg) switch (index) { case 0: /* upload_url */ - K_OK(khtml_puts(html, data->f->action_url), r); + if (build_upload_url(r, data->f) > 0) { + K_OK(khtml_puts(html, data->f->action_url), r); + } else + kutil_warnx(r, NULL, + "failed to build upload URL for path %s", + data->f->path); + break; + case 1: + /* create_url */ + if (build_create_url(r, data->f) > 0) { + K_OK(khtml_puts(html, data->f->action_url), r); + } else + kutil_warnx(r, NULL, + "failed to build create URL for path %s", + data->f->path); break; default: kutil_warnx(r, NULL, @@ -302,10 +317,6 @@ browse(struct kreq * r) http_exit(r, KHTTP_404, "browse: Invalid data file"); goto end; } - if (build_upload_url(r, file) == 0) { - http_exit(r, KHTTP_500, "browse: Can't build upload url"); - goto end; - } if (build_file_list(r, file) < 0) { http_exit(r, KHTTP_500, "browse: Unable to build file list"); goto end; @@ -325,7 +336,7 @@ browse(struct kreq * r) /* print browse header with action buttons for current dir */ template.key = header_template_keys; - template.keysz = 1; + template.keysz = 2; template.cb = header_template_callback; template.arg = &data; data.r = r; -- cgit v1.2.3