diff options
-rw-r--r-- | html.c | 34 |
1 files changed, 21 insertions, 13 deletions
@@ -1030,8 +1030,10 @@ d_char *html_people_list(snac *snac, d_char *os, d_char *list, const char *heade if (following_check(snac, actor_id)) s = html_button(s, "unfollow", L("Unfollow")); - else + else { s = html_button(s, "follow", L("Follow")); + s = html_button(s, "delete", L("Delete")); + } if (is_muted(snac, actor_id)) s = html_button(s, "unmute", L("Unmute")); @@ -1551,22 +1553,28 @@ int html_post_handler(d_char *req, char *q_path, d_char *payload, int p_size, } else if (strcmp(action, L("Delete")) == 0) { - /* delete an entry */ - if (xs_startswith(id, snac.actor)) { - /* it's a post by us: generate a delete */ - xs *msg = msg_delete(&snac, id); - - enqueue_message(&snac, msg); + if (actor != NULL) { + /* delete follower */ + if (valid_status(follower_del(&snac, actor))) + snac_log(&snac, xs_fmt("deleted follower %s", actor)); + else + snac_log(&snac, xs_fmt("error deleting follower %s", actor)); + } + else { + /* delete an entry */ + if (xs_startswith(id, snac.actor)) { + /* it's a post by us: generate a delete */ + xs *msg = msg_delete(&snac, id); - /* FIXME: also post this Tombstone to people - that Announce'd it */ + enqueue_message(&snac, msg); - snac_log(&snac, xs_fmt("posted tombstone for %s", id)); - } + snac_log(&snac, xs_fmt("posted tombstone for %s", id)); + } - timeline_del(&snac, id); + timeline_del(&snac, id); - snac_log(&snac, xs_fmt("deleted entry %s", id)); + snac_log(&snac, xs_fmt("deleted entry %s", id)); + } } else status = 404; |