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( ``); + + 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