summaryrefslogtreecommitdiff
path: root/activitypub.c
diff options
context:
space:
mode:
authorGravatar default2023-05-30 06:00:11 +0200
committerGravatar default2023-05-30 06:00:11 +0200
commit29eb3146f0914ca81e4172f707eda8b7dce20620 (patch)
tree4cd10ac80a592fb89f764d104e7cf42d56c03a19 /activitypub.c
parentCreate the base message of msg_question() from msg_note(). (diff)
downloadsnac2-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.c16
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 }