diff --git a/web.d b/web.d
index 28297db2..34932376 100644
--- a/web.d
+++ b/web.d
@@ -463,6 +463,20 @@ HttpResponse handleRequest(HttpRequest request, HttpServerConnection conn)
bodyClass = "formdoc";
break;
}
+ case "share":
+ {
+ enforce(path.length > 1, "No post specified");
+ auto post = getPost('<' ~ urlDecode(pathX) ~ '>');
+ enforce(post, "Post not found");
+ title = `Sharing "` ~ post.subject ~ `"`;
+ currentGroup = post.getGroup();
+ currentThread = post.threadID;
+ breadcrumbs ~= `` ~ encodeHtmlEntities(currentGroup.publicName) ~ ``;
+ breadcrumbs ~= `` ~ encodeHtmlEntities(post.subject) ~ ``;
+ breadcrumbs ~= `Share thread`;
+ showShareLinks(post);
+ break;
+ }
case "send":
{
auto postVars = request.decodePostData();
@@ -1895,11 +1909,19 @@ void postActions(Rfc850Message msg)
{
auto id = msg.id;
if (userSettings.groupViewMode == "basic")
+ {
html.put(
``
`
Permalink`
``);
+
+ html.put(
+ ``
+ `
Share`
+ ``);
+ }
if (true)
html.put(
``
@@ -2746,6 +2768,53 @@ void discussionPostStatus(PostProcess process, out bool refresh, out string redi
}
}
+void showShareLinks(Rfc850Post post)
+{
+ auto url = urlEncodeMessageUrl(post.url);
+ auto subject = urlEncodeMessageUrl(post.msg.subject);
+ html.put(``);
+ html.put(``);
+}
+
// ***********************************************************************
string findPostingLog(string id)
diff --git a/web/static/images/share.png b/web/static/images/share.png
new file mode 100644
index 00000000..f8fbb3ed
Binary files /dev/null and b/web/static/images/share.png differ