diff options
| author | 2024-11-24 08:54:43 +0100 | |
|---|---|---|
| committer | 2024-11-24 08:54:43 +0100 | |
| commit | 9fb84bcb3aa4c6a8061e4b892dc5bd1826b44715 (patch) | |
| tree | 9d9eafc46346728872af303beba837f3a682c5ab /data.c | |
| parent | On unfollow, also delete from the pending follow list. (diff) | |
| download | snac2-9fb84bcb3aa4c6a8061e4b892dc5bd1826b44715.tar.gz snac2-9fb84bcb3aa4c6a8061e4b892dc5bd1826b44715.tar.xz snac2-9fb84bcb3aa4c6a8061e4b892dc5bd1826b44715.zip | |
The people page shows 'Approve' and 'Discard' buttons for pending follows.
Diffstat (limited to 'data.c')
| -rw-r--r-- | data.c | 20 |
1 files changed, 15 insertions, 5 deletions
| @@ -1270,12 +1270,22 @@ xs_list *pending_list(snac *user) | |||
| 1270 | const char *v; | 1270 | const char *v; |
| 1271 | 1271 | ||
| 1272 | xs_list_foreach(l, v) { | 1272 | xs_list_foreach(l, v) { |
| 1273 | const char *actor = xs_dict_get(v, "actor"); | 1273 | FILE *f; |
| 1274 | xs *msg = NULL; | ||
| 1274 | 1275 | ||
| 1275 | if (xs_type(actor) == XSTYPE_STRING) { | 1276 | if ((f = fopen(v, "r")) == NULL) |
| 1276 | xs *md5 = xs_md5_hex(actor, strlen(actor)); | 1277 | continue; |
| 1277 | r = xs_list_append(r, md5); | 1278 | |
| 1278 | } | 1279 | msg = xs_json_load(f); |
| 1280 | fclose(f); | ||
| 1281 | |||
| 1282 | if (msg == NULL) | ||
| 1283 | continue; | ||
| 1284 | |||
| 1285 | const char *actor = xs_dict_get(msg, "actor"); | ||
| 1286 | |||
| 1287 | if (xs_type(actor) == XSTYPE_STRING) | ||
| 1288 | r = xs_list_append(r, actor); | ||
| 1279 | } | 1289 | } |
| 1280 | 1290 | ||
| 1281 | return r; | 1291 | return r; |