mirror of
https://codeberg.org/grunfink/snac2.git
synced 2024-11-21 21:05:05 +00:00
New HTML variable error (still unused).
This commit is contained in:
parent
b7e78e6016
commit
7774a68f3f
3 changed files with 35 additions and 17 deletions
46
html.c
46
html.c
|
@ -577,7 +577,7 @@ static xs_html *html_instance_body(void)
|
|||
}
|
||||
|
||||
|
||||
xs_html *html_user_head(snac *user, char *desc, char *url)
|
||||
xs_html *html_user_head(snac *user, const char *desc, const char *url)
|
||||
{
|
||||
xs_html *head = html_base_head();
|
||||
|
||||
|
@ -2138,7 +2138,8 @@ xs_html *html_footer(void)
|
|||
|
||||
xs_str *html_timeline(snac *user, const xs_list *list, int read_only,
|
||||
int skip, int show, int show_more,
|
||||
char *title, char *page, int utl)
|
||||
const char *title, const char *page,
|
||||
int utl, const char *error)
|
||||
/* returns the HTML for the timeline */
|
||||
{
|
||||
xs_list *p = (xs_list *)list;
|
||||
|
@ -2180,6 +2181,19 @@ xs_str *html_timeline(snac *user, const xs_list *list, int read_only,
|
|||
xs_html_add(body,
|
||||
html_top_controls(user));
|
||||
|
||||
if (error != NULL) {
|
||||
xs_html_add(body,
|
||||
xs_html_tag("dialog",
|
||||
xs_html_attr("open", NULL),
|
||||
xs_html_tag("p",
|
||||
xs_html_text(error)),
|
||||
xs_html_tag("form",
|
||||
xs_html_attr("method", "dialog"),
|
||||
xs_html_sctag("input",
|
||||
xs_html_attr("type", "submit"),
|
||||
xs_html_attr("value", L("Dismiss"))))));
|
||||
}
|
||||
|
||||
/* show links to the available lists */
|
||||
if (user && !read_only) {
|
||||
xs_html *lol = xs_html_tag("ul",
|
||||
|
@ -2767,6 +2781,9 @@ int html_get_handler(const xs_dict *req, const char *q_path,
|
|||
}
|
||||
}
|
||||
|
||||
/* get a possible error message */
|
||||
const char *error = xs_dict_get(q_vars, "error");
|
||||
|
||||
/* a show of 0 has no sense */
|
||||
if (show == 0)
|
||||
show = def_show;
|
||||
|
@ -2776,7 +2793,7 @@ int html_get_handler(const xs_dict *req, const char *q_path,
|
|||
|
||||
if (xs_type(xs_dict_get(snac.config, "private")) == XSTYPE_TRUE) {
|
||||
/** empty public timeline for private users **/
|
||||
*body = html_timeline(&snac, NULL, 1, 0, 0, 0, NULL, "", 1);
|
||||
*body = html_timeline(&snac, NULL, 1, 0, 0, 0, NULL, "", 1, error);
|
||||
*b_size = strlen(*body);
|
||||
status = HTTP_STATUS_OK;
|
||||
}
|
||||
|
@ -2794,7 +2811,7 @@ int html_get_handler(const xs_dict *req, const char *q_path,
|
|||
xs *pins = pinned_list(&snac);
|
||||
pins = xs_list_cat(pins, list);
|
||||
|
||||
*body = html_timeline(&snac, pins, 1, skip, show, xs_list_len(next), NULL, "", 1);
|
||||
*body = html_timeline(&snac, pins, 1, skip, show, xs_list_len(next), NULL, "", 1, error);
|
||||
|
||||
*b_size = strlen(*body);
|
||||
status = HTTP_STATUS_OK;
|
||||
|
@ -2827,7 +2844,7 @@ int html_get_handler(const xs_dict *req, const char *q_path,
|
|||
xs *title = xs_fmt(xs_list_len(tl) ?
|
||||
L("Search results for tag %s") : L("Nothing found for tag %s"), q);
|
||||
|
||||
*body = html_timeline(&snac, tl, 0, skip, show, more, title, page, 0);
|
||||
*body = html_timeline(&snac, tl, 0, skip, show, more, title, page, 0, error);
|
||||
*b_size = strlen(*body);
|
||||
status = HTTP_STATUS_OK;
|
||||
}
|
||||
|
@ -2851,7 +2868,8 @@ int html_get_handler(const xs_dict *req, const char *q_path,
|
|||
else
|
||||
title = xs_fmt(L("Nothing found for '%s'"), q);
|
||||
|
||||
*body = html_timeline(&snac, tl, 0, skip, tl_len, to || tl_len == show, title, page, 0);
|
||||
*body = html_timeline(&snac, tl, 0, skip, tl_len, to || tl_len == show,
|
||||
title, page, 0, error);
|
||||
*b_size = strlen(*body);
|
||||
status = HTTP_STATUS_OK;
|
||||
}
|
||||
|
@ -2876,7 +2894,7 @@ int html_get_handler(const xs_dict *req, const char *q_path,
|
|||
xs *next = timeline_list(&snac, "private", skip + show, 1);
|
||||
|
||||
*body = html_timeline(&snac, list, 0, skip, show,
|
||||
xs_list_len(next), NULL, "/admin", 1);
|
||||
xs_list_len(next), NULL, "/admin", 1, error);
|
||||
|
||||
*b_size = strlen(*body);
|
||||
status = HTTP_STATUS_OK;
|
||||
|
@ -2900,7 +2918,7 @@ int html_get_handler(const xs_dict *req, const char *q_path,
|
|||
if (md5 && *md5 && timeline_here(&snac, md5)) {
|
||||
xs *list = xs_list_append(xs_list_new(), md5);
|
||||
|
||||
*body = html_timeline(&snac, list, 0, 0, 0, 0, NULL, "/admin", 1);
|
||||
*body = html_timeline(&snac, list, 0, 0, 0, 0, NULL, "/admin", 1, error);
|
||||
*b_size = strlen(*body);
|
||||
status = HTTP_STATUS_OK;
|
||||
}
|
||||
|
@ -2941,7 +2959,7 @@ int html_get_handler(const xs_dict *req, const char *q_path,
|
|||
xs *next = timeline_instance_list(skip + show, 1);
|
||||
|
||||
*body = html_timeline(&snac, list, 0, skip, show,
|
||||
xs_list_len(next), L("Showing instance timeline"), "/instance", 0);
|
||||
xs_list_len(next), L("Showing instance timeline"), "/instance", 0, error);
|
||||
*b_size = strlen(*body);
|
||||
status = HTTP_STATUS_OK;
|
||||
}
|
||||
|
@ -2956,7 +2974,7 @@ int html_get_handler(const xs_dict *req, const char *q_path,
|
|||
xs *list = pinned_list(&snac);
|
||||
|
||||
*body = html_timeline(&snac, list, 0, skip, show,
|
||||
0, L("Pinned posts"), "", 0);
|
||||
0, L("Pinned posts"), "", 0, error);
|
||||
*b_size = strlen(*body);
|
||||
status = HTTP_STATUS_OK;
|
||||
}
|
||||
|
@ -2971,7 +2989,7 @@ int html_get_handler(const xs_dict *req, const char *q_path,
|
|||
xs *list = bookmark_list(&snac);
|
||||
|
||||
*body = html_timeline(&snac, list, 0, skip, show,
|
||||
0, L("Bookmarked posts"), "", 0);
|
||||
0, L("Bookmarked posts"), "", 0, error);
|
||||
*b_size = strlen(*body);
|
||||
status = HTTP_STATUS_OK;
|
||||
}
|
||||
|
@ -2986,7 +3004,7 @@ int html_get_handler(const xs_dict *req, const char *q_path,
|
|||
xs *list = draft_list(&snac);
|
||||
|
||||
*body = html_timeline(&snac, list, 0, skip, show,
|
||||
0, L("Post drafts"), "", 0);
|
||||
0, L("Post drafts"), "", 0, error);
|
||||
*b_size = strlen(*body);
|
||||
status = HTTP_STATUS_OK;
|
||||
}
|
||||
|
@ -3012,7 +3030,7 @@ int html_get_handler(const xs_dict *req, const char *q_path,
|
|||
xs *title = xs_fmt(L("Showing timeline for list '%s'"), name);
|
||||
|
||||
*body = html_timeline(&snac, ttl, 0, skip, show,
|
||||
xs_list_len(next), title, base, 1);
|
||||
xs_list_len(next), title, base, 1, error);
|
||||
*b_size = strlen(*body);
|
||||
status = HTTP_STATUS_OK;
|
||||
}
|
||||
|
@ -3032,7 +3050,7 @@ int html_get_handler(const xs_dict *req, const char *q_path,
|
|||
|
||||
list = xs_list_append(list, md5);
|
||||
|
||||
*body = html_timeline(&snac, list, 1, 0, 0, 0, NULL, "", 1);
|
||||
*body = html_timeline(&snac, list, 1, 0, 0, 0, NULL, "", 1, error);
|
||||
*b_size = strlen(*body);
|
||||
status = HTTP_STATUS_OK;
|
||||
}
|
||||
|
|
4
httpd.c
4
httpd.c
|
@ -204,7 +204,7 @@ int server_get_handler(xs_dict *req, const char *q_path,
|
|||
else {
|
||||
xs *page = xs_fmt("?t=%s", t);
|
||||
xs *title = xs_fmt(L("Search results for tag #%s"), t);
|
||||
*body = html_timeline(NULL, tl, 0, skip, show, more, title, page, 0);
|
||||
*body = html_timeline(NULL, tl, 0, skip, show, more, title, page, 0, NULL);
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -212,7 +212,7 @@ int server_get_handler(xs_dict *req, const char *q_path,
|
|||
/** instance timeline **/
|
||||
xs *tl = timeline_instance_list(0, 30);
|
||||
*body = html_timeline(NULL, tl, 0, 0, 0, 0,
|
||||
L("Recent posts by users in this instance"), NULL, 0);
|
||||
L("Recent posts by users in this instance"), NULL, 0, NULL);
|
||||
}
|
||||
else
|
||||
*body = greeting_html();
|
||||
|
|
2
snac.h
2
snac.h
|
@ -346,7 +346,7 @@ xs_str *encode_html(const char *str);
|
|||
|
||||
xs_str *html_timeline(snac *user, const xs_list *list, int read_only,
|
||||
int skip, int show, int show_more,
|
||||
char *title, char *page, int utl);
|
||||
const char *title, const char *page, int utl, const char *error);
|
||||
|
||||
int html_get_handler(const xs_dict *req, const char *q_path,
|
||||
char **body, int *b_size, char **ctype, xs_str **etag);
|
||||
|
|
Loading…
Reference in a new issue