diff options
-rw-r--r-- | html.c | 28 | ||||
-rw-r--r-- | utils.c | 1 |
2 files changed, 23 insertions, 6 deletions
@@ -277,6 +277,9 @@ d_char *html_top_controls(snac *snac, d_char *s) "<p>%s:<br>\n" "<textarea name=\"bio\" cols=\"40\" rows=\"4\">%s</textarea></p>\n" + "<p><input type=\"checkbox\" name=\"cw\" id=\"cw\" %s>\n" + "<label for=\"cw\">%s</label></p>\n" + "<p>%s:<br>\n" "<input type=\"text\" name=\"email\" value=\"%s\"></p>\n" @@ -320,6 +323,8 @@ d_char *html_top_controls(snac *snac, d_char *s) xs_dict_get(snac->config, "avatar"), L("Bio"), xs_dict_get(snac->config, "bio"), + xs_dict_get(snac->config, "cw"), + L("Always show sensitive content"), L("Email address for notifications"), email, L("Password (only to change it)"), @@ -613,11 +618,17 @@ d_char *html_entry(snac *snac, d_char *os, char *msg, int local, int level, int if (!xs_is_null(v = xs_dict_get(msg, "sensitive")) && xs_type(v) == XSTYPE_TRUE) { if (xs_is_null(v = xs_dict_get(msg, "summary")) || *v == '\0') v = "..."; - - xs *s1 = xs_fmt("<details><summary>%s [%s]</summary>\n", v, L("SENSITIVE CONTENT")); - s = xs_str_cat(s, s1); - - sensitive = 1; + char *cw = xs_dict_get(snac->config, "cw"); + if (xs_is_null(cw)) + cw = ""; + if (strcmp(cw, "checked") == 0) { + xs *s1 = xs_fmt("<h3>%s</h3>", v); + s = xs_str_cat(s, s1); + } else { + xs *s1 = xs_fmt("<details><summary>%s [%s]</summary>\n", v, L("SENSITIVE CONTENT")); + s = xs_str_cat(s, s1); + sensitive = 1; + } } #if 0 @@ -1379,6 +1390,12 @@ int html_post_handler(d_char *req, char *q_path, d_char *payload, int p_size, snac.config = xs_dict_set(snac.config, "avatar", v); if ((v = xs_dict_get(p_vars, "bio")) != NULL) snac.config = xs_dict_set(snac.config, "bio", v); + if ((v = xs_dict_get(p_vars, "cw")) != NULL && + strcmp(v, "on") == 0) { + snac.config = xs_dict_set(snac.config, "cw", "checked"); + } else { /* if the checkbox is not set, the parameter is missing */ + snac.config = xs_dict_set(snac.config, "cw", ""); + } if ((v = xs_dict_get(p_vars, "email")) != NULL) snac.config = xs_dict_set(snac.config, "email", v); @@ -1428,4 +1445,3 @@ int html_post_handler(d_char *req, char *q_path, d_char *payload, int p_size, return status; } - @@ -226,6 +226,7 @@ int adduser(char *uid) config = xs_dict_append(config, "name", uid); config = xs_dict_append(config, "avatar", ""); config = xs_dict_append(config, "bio", ""); + config = xs_dict_append(config, "cw", ""); config = xs_dict_append(config, "published", date); config = xs_dict_append(config, "passwd", pwd_f); |