diff options
| author | 2023-05-30 06:00:11 +0200 | |
|---|---|---|
| committer | 2023-05-30 06:00:11 +0200 | |
| commit | 29eb3146f0914ca81e4172f707eda8b7dce20620 (patch) | |
| tree | 4cd10ac80a592fb89f764d104e7cf42d56c03a19 /activitypub.c | |
| parent | Create the base message of msg_question() from msg_note(). (diff) | |
| download | snac2-29eb3146f0914ca81e4172f707eda8b7dce20620.tar.gz snac2-29eb3146f0914ca81e4172f707eda8b7dce20620.tar.xz snac2-29eb3146f0914ca81e4172f707eda8b7dce20620.zip | |
Added some limits to poll options.
Diffstat (limited to 'activitypub.c')
| -rw-r--r-- | activitypub.c | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/activitypub.c b/activitypub.c index e9db6ba..62d4cda 100644 --- a/activitypub.c +++ b/activitypub.c | |||
| @@ -937,8 +937,8 @@ xs_dict *msg_question(snac *user, const char *content, xs_list *attach, | |||
| 937 | /* creates a Question message */ | 937 | /* creates a Question message */ |
| 938 | { | 938 | { |
| 939 | xs *ntid = tid(0); | 939 | xs *ntid = tid(0); |
| 940 | xs *id = xs_fmt("%s/q/%s", user->actor, ntid); | ||
| 941 | xs_dict *msg = msg_note(user, content, NULL, NULL, attach, 0); | 940 | xs_dict *msg = msg_note(user, content, NULL, NULL, attach, 0); |
| 941 | int max = 8; | ||
| 942 | 942 | ||
| 943 | msg = xs_dict_set(msg, "type", "Question"); | 943 | msg = xs_dict_set(msg, "type", "Question"); |
| 944 | 944 | ||
| @@ -947,10 +947,16 @@ xs_dict *msg_question(snac *user, const char *content, xs_list *attach, | |||
| 947 | xs_str *v; | 947 | xs_str *v; |
| 948 | xs *replies = xs_json_loads("{\"type\":\"Collection\",\"totalItems\":0}"); | 948 | xs *replies = xs_json_loads("{\"type\":\"Collection\",\"totalItems\":0}"); |
| 949 | 949 | ||
| 950 | while (xs_list_iter(&p, &v)) { | 950 | while (max-- && xs_list_iter(&p, &v)) { |
| 951 | xs *d = xs_dict_new(); | 951 | xs *v2 = xs_dup(v); |
| 952 | xs *d = xs_dict_new(); | ||
| 953 | |||
| 954 | if (strlen(v2) > 60) { | ||
| 955 | v2[60] = '\0'; | ||
| 956 | v2 = xs_str_cat(v2, "..."); | ||
| 957 | } | ||
| 952 | 958 | ||
| 953 | d = xs_dict_append(d, "name", v); | 959 | d = xs_dict_append(d, "name", v2); |
| 954 | d = xs_dict_append(d, "replies", replies); | 960 | d = xs_dict_append(d, "replies", replies); |
| 955 | o = xs_list_append(o, d); | 961 | o = xs_list_append(o, d); |
| 956 | } | 962 | } |
| @@ -1058,7 +1064,7 @@ int update_question(snac *user, const char *id) | |||
| 1058 | xs *now = xs_str_utctime(0, ISO_DATE_SPEC); | 1064 | xs *now = xs_str_utctime(0, ISO_DATE_SPEC); |
| 1059 | 1065 | ||
| 1060 | /* it's now greater than the endTime? */ | 1066 | /* it's now greater than the endTime? */ |
| 1061 | if (strcmp(now, end_time) > 0) { | 1067 | if (strcmp(now, end_time) >= 0) { |
| 1062 | xs *et = xs_dup(end_time); | 1068 | xs *et = xs_dup(end_time); |
| 1063 | msg = xs_dict_set(msg, "closed", et); | 1069 | msg = xs_dict_set(msg, "closed", et); |
| 1064 | } | 1070 | } |