default 3 лет назад
Родитель
Сommit
436dbf9913
1 измененных файлов с 21 добавлено и 13 удалено
  1. 21 13
      html.c

+ 21 - 13
html.c

@@ -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;