diff --git a/daemon.py b/daemon.py
index 3e32ab92..d2a4a2a5 100644
--- a/daemon.py
+++ b/daemon.py
@@ -759,8 +759,7 @@ class PubServer(BaseHTTPRequestHandler):
'to': [likeActor+'/followers'],
'cc': []
}
- if likeJson:
- self._postToOutbox(likeJson)
+ self._postToOutbox(likeJson)
self.server.GETbusy=False
self._redirect_headers(actor+'/inbox',cookie)
return
@@ -787,8 +786,28 @@ class PubServer(BaseHTTPRequestHandler):
'to': [undoActor+'/followers'],
'cc': []
}
- if undoLikeJson:
- self._postToOutbox(undoLikeJson)
+ self._postToOutbox(undoLikeJson)
+ self.server.GETbusy=False
+ self._redirect_headers(actor+'/inbox',cookie)
+ return
+
+ # delete a post from the web interface icon
+ if authorized and '?delete=' in self.path:
+ deleteUrl=self.path.split('?delete=')[1]
+ actor=self.path.split('?delete=')[0]
+ self.postToNickname=getNicknameFromActor(actor)
+ if not self.server.session:
+ self.server.session= \
+ createSession(self.server.domain,self.server.port,self.server.useTor)
+ deleteActor=self.server.httpPrefix+'://'+self.server.domainFull+'/users/'+self.postToNickname
+ deleteJson= {
+ 'actor': actor,
+ 'object': deleteUrl,
+ 'to': ['https://www.w3.org/ns/activitystreams#Public'],
+ 'cc': [actor+'/followers'],
+ 'type': 'Delete'
+ }
+ self._postToOutbox(deleteJson)
self.server.GETbusy=False
self._redirect_headers(actor+'/inbox',cookie)
return
diff --git a/img/icons/delete.png b/img/icons/delete.png
new file mode 100644
index 00000000..68d4a1e0
Binary files /dev/null and b/img/icons/delete.png differ
diff --git a/webinterface.py b/webinterface.py
index 3e854dbf..d2042ff0 100644
--- a/webinterface.py
+++ b/webinterface.py
@@ -693,12 +693,15 @@ def individualPostAsHtml(baseDir: str, \
likeStr= \
'' \
''
+ deleteStr= \
+ '' \
+ '
'
if showIcons:
footerStr='