From f153cc4b5d07a8ca9865012142596a733036c74f Mon Sep 17 00:00:00 2001 From: reger Date: Fri, 23 Dec 2016 19:03:44 +0100 Subject: [PATCH] add/allow to create a bookmark of result viewed via urlproxy. For this on the header of the viewed result a "add bookmark" button is available (for authenticated users). Currently the bookmark is added to a (virtual) bookmark folder "/proxy" w/o any additional tags etc. --- htroot/proxymsg/urlproxyheader.html | 7 +++++-- htroot/proxymsg/urlproxyheader.java | 19 +++++++++++++++++-- 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/htroot/proxymsg/urlproxyheader.html b/htroot/proxymsg/urlproxyheader.html index 5f53ef526..61bf64a12 100644 --- a/htroot/proxymsg/urlproxyheader.html +++ b/htroot/proxymsg/urlproxyheader.html @@ -2,8 +2,11 @@
-
- #(httpsAlertMsg)#::   - (Warning: secure target viewed over normal http)#(/httpsAlertMsg)# + + + #(httpsAlertMsg)#::   - (Warning: secure target viewed over normal http)#(/httpsAlertMsg)# + #(allowbookmark)#:: + #(/allowbookmark)#
diff --git a/htroot/proxymsg/urlproxyheader.java b/htroot/proxymsg/urlproxyheader.java index ff7d86cf9..4c0bff9f7 100644 --- a/htroot/proxymsg/urlproxyheader.java +++ b/htroot/proxymsg/urlproxyheader.java @@ -1,4 +1,5 @@ import net.yacy.cora.protocol.RequestHeader; +import net.yacy.data.BookmarksDB.Bookmark; import net.yacy.search.Switchboard; import net.yacy.server.serverObjects; import net.yacy.server.serverSwitch; @@ -13,10 +14,24 @@ public class urlproxyheader { final serverObjects prop = new serverObjects(); final Switchboard sb = (Switchboard) env; - final String proxyurlstr = post.get("url",""); // the url of remote page currently viewed + String proxyurlstr = post.get("url",""); // the url of remote page currently viewed + boolean hasRights = sb.verifyAuthentication(requestHeader); + prop.put("allowbookmark", hasRights); + + if (post.containsKey("addbookmark")) { + proxyurlstr = post.get("bookmark"); + Bookmark bmk = sb.bookmarksDB.createorgetBookmark(proxyurlstr, null); + if (bmk != null) { + bmk.setPublic(false); + bmk.addTag("/proxy"); // add to bookmark folder + sb.bookmarksDB.saveBookmark(bmk); + } + } + prop.put("proxyurl", proxyurlstr); + prop.put("allowbookmark_proxyurl", proxyurlstr); - if (proxyurlstr.startsWith("https")) { + if (proxyurlstr.startsWith("https") && !requestHeader.getScheme().equalsIgnoreCase("https")) { prop.put("httpsAlertMsg", "1"); } else { prop.put("httpsAlertMsg", "0");