diff options
| author | 2022-11-24 09:39:16 +0100 | |
|---|---|---|
| committer | 2022-11-24 09:39:16 +0100 | |
| commit | 455352850748dc0b1bba7884c3a164dfe3e59614 (patch) | |
| tree | e73c1a40c734e8808543aa01511a2ec5c224dce1 /data.c | |
| parent | Stop dropping messages with hidden parents. (diff) | |
| download | snac2-455352850748dc0b1bba7884c3a164dfe3e59614.tar.gz snac2-455352850748dc0b1bba7884c3a164dfe3e59614.tar.xz snac2-455352850748dc0b1bba7884c3a164dfe3e59614.zip | |
New API for hidden threads.
Diffstat (limited to 'data.c')
| -rw-r--r-- | data.c | 31 |
1 files changed, 31 insertions, 0 deletions
| @@ -1106,6 +1106,37 @@ int is_muted(snac *snac, char *actor) | |||
| 1106 | } | 1106 | } |
| 1107 | 1107 | ||
| 1108 | 1108 | ||
| 1109 | d_char *_hidden_fn(snac *snac, const char *id) | ||
| 1110 | { | ||
| 1111 | xs *md5 = xs_md5_hex(id, strlen(id)); | ||
| 1112 | return xs_fmt("%s/hidden/%s.json", snac->basedir, md5); | ||
| 1113 | } | ||
| 1114 | |||
| 1115 | |||
| 1116 | void hide(snac *snac, const char *id) | ||
| 1117 | /* hides a message tree */ | ||
| 1118 | { | ||
| 1119 | xs *fn = _hidden_fn(snac, id); | ||
| 1120 | FILE *f; | ||
| 1121 | |||
| 1122 | if ((f = fopen(fn, "w")) != NULL) { | ||
| 1123 | fprintf(f, "%s\n", id); | ||
| 1124 | fclose(f); | ||
| 1125 | |||
| 1126 | snac_debug(snac, 2, xs_fmt("hidden %s %s", id, fn)); | ||
| 1127 | } | ||
| 1128 | } | ||
| 1129 | |||
| 1130 | |||
| 1131 | int is_hidden(snac *snac, const char *id) | ||
| 1132 | /* check is id is hidden */ | ||
| 1133 | { | ||
| 1134 | xs *fn = _hidden_fn(snac, id); | ||
| 1135 | |||
| 1136 | return !!(mtime(fn) != 0.0); | ||
| 1137 | } | ||
| 1138 | |||
| 1139 | |||
| 1109 | int actor_add(snac *snac, const char *actor, d_char *msg) | 1140 | int actor_add(snac *snac, const char *actor, d_char *msg) |
| 1110 | /* adds an actor */ | 1141 | /* adds an actor */ |
| 1111 | { | 1142 | { |