diff --git a/html.c b/html.c
index ea7830c..5912422 100644
--- a/html.c
+++ b/html.c
@@ -277,6 +277,9 @@ d_char *html_top_controls(snac *snac, d_char *s)
"
%s:
\n"
"
\n"
+ "\n"
+ "
\n"
+
"%s:
\n"
"
\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("%s [%s]
\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("%s
", v);
+ s = xs_str_cat(s, s1);
+ } else {
+ xs *s1 = xs_fmt("%s [%s]
\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;
}
-
diff --git a/utils.c b/utils.c
index f3e6561..8b0b458 100644
--- a/utils.c
+++ b/utils.c
@@ -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);