summaryrefslogtreecommitdiff
path: root/htroot/api
diff options
context:
space:
mode:
authorMichael Peter Christen <mc@yacy.net>2021-09-16 22:23:51 +0200
committerMichael Peter Christen <mc@yacy.net>2021-09-16 22:23:51 +0200
commit63ad8ce6b2a6a2659073c97095b56693e1c706b5 (patch)
tree17f4bb05e8527c8c63757fed16fafcdd9272634d /htroot/api
parentef5a71a592319f8f13633a1dda45add3179c4820 (diff)
removed ymarks
had not been used since a long time
Diffstat (limited to 'htroot/api')
-rw-r--r--htroot/api/ymarks/add_ymark.html14
-rw-r--r--htroot/api/ymarks/add_ymark.java88
-rw-r--r--htroot/api/ymarks/add_ymark.xml2
-rw-r--r--htroot/api/ymarks/delete_ymark.java52
-rw-r--r--htroot/api/ymarks/delete_ymark.xml2
-rw-r--r--htroot/api/ymarks/get_metadata.java108
-rw-r--r--htroot/api/ymarks/get_metadata.xml19
-rw-r--r--htroot/api/ymarks/get_tags.java98
-rw-r--r--htroot/api/ymarks/get_tags.xml5
-rw-r--r--htroot/api/ymarks/get_treeview.java281
-rw-r--r--htroot/api/ymarks/get_treeview.json9
-rw-r--r--htroot/api/ymarks/get_treeview.xml11
-rw-r--r--htroot/api/ymarks/get_xbel.java180
-rw-r--r--htroot/api/ymarks/get_xbel.xml14
-rw-r--r--htroot/api/ymarks/get_ymark.java168
-rw-r--r--htroot/api/ymarks/get_ymark.json34
-rw-r--r--htroot/api/ymarks/get_ymark.xml6
-rw-r--r--htroot/api/ymarks/import_ymark.html14
-rw-r--r--htroot/api/ymarks/import_ymark.java254
-rw-r--r--htroot/api/ymarks/import_ymark.xml2
-rw-r--r--htroot/api/ymarks/info.html64
-rw-r--r--htroot/api/ymarks/manage_tags.java85
-rw-r--r--htroot/api/ymarks/manage_tags.xml2
-rw-r--r--htroot/api/ymarks/test_import.html70
-rw-r--r--htroot/api/ymarks/test_treeview.html38
25 files changed, 0 insertions, 1620 deletions
diff --git a/htroot/api/ymarks/add_ymark.html b/htroot/api/ymarks/add_ymark.html
deleted file mode 100644
index ec376281a..000000000
--- a/htroot/api/ymarks/add_ymark.html
+++ /dev/null
@@ -1,14 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <title>Import Bookmarks</title>
- #(redirect)#::<meta HTTP-EQUIV="REFRESH" content="0; url=#[url]#" />#(/redirect)#
- </head>
- <body>
- #(status)#
- <p>Status: error</p>
- ::
- <p>Status: ok</p>
- #(/status)#
- </body>
-</html> \ No newline at end of file
diff --git a/htroot/api/ymarks/add_ymark.java b/htroot/api/ymarks/add_ymark.java
deleted file mode 100644
index b079ae4f0..000000000
--- a/htroot/api/ymarks/add_ymark.java
+++ /dev/null
@@ -1,88 +0,0 @@
-import java.io.IOException;
-import java.util.Locale;
-
-import net.yacy.cora.document.id.DigestURL;
-import net.yacy.cora.protocol.ClientIdentification;
-import net.yacy.cora.protocol.RequestHeader;
-import net.yacy.cora.util.ConcurrentLog;
-import net.yacy.data.UserDB;
-import net.yacy.data.ymark.YMarkEntry;
-import net.yacy.data.ymark.YMarkTables;
-import net.yacy.data.ymark.YMarkUtil;
-import net.yacy.document.Parser.Failure;
-import net.yacy.search.Switchboard;
-import net.yacy.server.serverObjects;
-import net.yacy.server.serverSwitch;
-
-
-public class add_ymark {
-
- public static serverObjects respond(final RequestHeader header, final serverObjects post, final serverSwitch env) {
- final Switchboard sb = (Switchboard) env;
- final serverObjects prop = new serverObjects();
-
- final UserDB.Entry user = sb.userDB.getUser(header);
- final boolean isAdmin = (sb.verifyAuthentication(header));
- final boolean isAuthUser = user!= null && user.hasRight(UserDB.AccessRight.BOOKMARK_RIGHT);
-
- if (isAdmin || isAuthUser) {
- final String bmk_user = (isAuthUser ? user.getUserName() : YMarkTables.USER_ADMIN);
-
- if (post.containsKey("redirect") && post.get("redirect").length() > 0) {
- prop.put("redirect_url", post.get("redirect"));
- prop.put("redirect", "1");
- }
-
- if (post.containsKey("urlHash")) {
- final String urlHash = post.get("urlHash",YMarkUtil.EMPTY_STRING);
- try {
- final DigestURL url = sb.index.fulltext().getURL(urlHash);
- final String folders = post.get(YMarkEntry.BOOKMARK.FOLDERS.key(),YMarkEntry.BOOKMARK.FOLDERS.deflt());
- final String tags = post.get(YMarkEntry.BOOKMARK.TAGS.key(),YMarkUtil.EMPTY_STRING);
- ClientIdentification.Agent agent = ClientIdentification.getAgent(post.get("agentName", ClientIdentification.yacyInternetCrawlerAgentName));
- sb.tables.bookmarks.createBookmark(sb.loader, url, agent, bmk_user, true, tags, folders);
- prop.put("status", "1");
- } catch (final IOException e) {
- ConcurrentLog.logException(e);
- } catch (final Failure e) {
- ConcurrentLog.logException(e);
- }
-
- } else if (post.containsKey(YMarkEntry.BOOKMARK.URL.key())) {
- String url = post.get(YMarkEntry.BOOKMARK.URL.key(),YMarkEntry.BOOKMARK.URL.deflt());
- boolean hasProtocol = false;
- for (final YMarkTables.PROTOCOLS p : YMarkTables.PROTOCOLS.values()) {
- if(url.toLowerCase(Locale.ROOT).startsWith(p.protocol())) {
- hasProtocol = true;
- break;
- }
- }
- if (!hasProtocol) {
- url=YMarkTables.PROTOCOLS.HTTP.protocol(url);
- }
-
- final YMarkEntry bmk = new YMarkEntry();
-
- bmk.put(YMarkEntry.BOOKMARK.URL.key(), url);
- bmk.put(YMarkEntry.BOOKMARK.TITLE.key(), post.get(YMarkEntry.BOOKMARK.TITLE.key(),YMarkEntry.BOOKMARK.TITLE.deflt()));
- bmk.put(YMarkEntry.BOOKMARK.DESC.key(), post.get(YMarkEntry.BOOKMARK.DESC.key(),YMarkEntry.BOOKMARK.DESC.deflt()));
- bmk.put(YMarkEntry.BOOKMARK.PUBLIC.key(), post.get(YMarkEntry.BOOKMARK.PUBLIC.key(),YMarkEntry.BOOKMARK.PUBLIC.deflt()));
- bmk.put(YMarkEntry.BOOKMARK.TAGS.key(), YMarkUtil.cleanTagsString(post.get(YMarkEntry.BOOKMARK.TAGS.key(),YMarkEntry.BOOKMARK.TAGS.deflt()),YMarkEntry.BOOKMARK.TAGS.deflt()));
- bmk.put(YMarkEntry.BOOKMARK.FOLDERS.key(), YMarkUtil.cleanFoldersString(post.get(YMarkEntry.BOOKMARK.FOLDERS.key(),YMarkEntry.BOOKMARK.FOLDERS.deflt()),YMarkEntry.BOOKMARK.FOLDERS.deflt()));
-
- try {
- sb.tables.bookmarks.addBookmark(bmk_user, bmk, false, false);
- } catch (final IOException e) {
- ConcurrentLog.logException(e);
- }
- prop.put("status", "1");
- } else {
- prop.put("status", "0");
- }
- } else {
- prop.put(serverObjects.ACTION_AUTHENTICATE, YMarkTables.USER_AUTHENTICATE_MSG);
- }
- // return rewrite properties
- return prop;
- }
-}
diff --git a/htroot/api/ymarks/add_ymark.xml b/htroot/api/ymarks/add_ymark.xml
deleted file mode 100644
index a72c699cc..000000000
--- a/htroot/api/ymarks/add_ymark.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version='1.0' encoding="UTF-8" standalone='yes'?>
-<status code="#(status)#error::ok#(/status)#" /> \ No newline at end of file
diff --git a/htroot/api/ymarks/delete_ymark.java b/htroot/api/ymarks/delete_ymark.java
deleted file mode 100644
index fdc8c7e1d..000000000
--- a/htroot/api/ymarks/delete_ymark.java
+++ /dev/null
@@ -1,52 +0,0 @@
-import java.io.IOException;
-
-import net.yacy.cora.protocol.RequestHeader;
-import net.yacy.cora.util.ConcurrentLog;
-import net.yacy.cora.util.SpaceExceededException;
-import net.yacy.data.UserDB;
-import net.yacy.data.ymark.YMarkEntry;
-import net.yacy.data.ymark.YMarkTables;
-import net.yacy.data.ymark.YMarkUtil;
-import net.yacy.search.Switchboard;
-import net.yacy.server.serverObjects;
-import net.yacy.server.serverSwitch;
-
-
-public class delete_ymark {
-
- private static Switchboard sb = null;
-
- public static serverObjects respond(final RequestHeader header, final serverObjects post, final serverSwitch env) {
- sb = (Switchboard) env;
- final serverObjects prop = new serverObjects();
-
- final UserDB.Entry user = sb.userDB.getUser(header);
- final boolean isAdmin = (sb.verifyAuthentication(header));
- final boolean isAuthUser = user!= null && user.hasRight(UserDB.AccessRight.BOOKMARK_RIGHT);
-
- if(isAdmin || isAuthUser) {
- final String bmk_user = (isAuthUser ? user.getUserName() : YMarkTables.USER_ADMIN);
- byte[] urlHash = null;
- try {
- if(post.containsKey(YMarkEntry.BOOKMARKS_ID)) {
- urlHash = post.get(YMarkEntry.BOOKMARKS_ID).getBytes();
- } else if(post.containsKey(YMarkEntry.BOOKMARK.URL.key())) {
- urlHash = YMarkUtil.getBookmarkId(post.get(YMarkEntry.BOOKMARK.URL.key()));
- } else {
- prop.put("result", "0");
- return prop;
- }
- sb.tables.bookmarks.deleteBookmark(bmk_user, urlHash);
- prop.put("result", "1");
- } catch (final IOException e) {
- ConcurrentLog.logException(e);
- } catch (final SpaceExceededException e) {
- ConcurrentLog.logException(e);
- }
- } else {
- prop.put(serverObjects.ACTION_AUTHENTICATE, YMarkTables.USER_AUTHENTICATE_MSG);
- }
- // return rewrite properties
- return prop;
- }
-}
diff --git a/htroot/api/ymarks/delete_ymark.xml b/htroot/api/ymarks/delete_ymark.xml
deleted file mode 100644
index d6880fb21..000000000
--- a/htroot/api/ymarks/delete_ymark.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version='1.0' encoding="UTF-8" standalone='yes'?>
-<result code="#(result)#something went wrong::done#(/result)#" /> \ No newline at end of file
diff --git a/htroot/api/ymarks/get_metadata.java b/htroot/api/ymarks/get_metadata.java
deleted file mode 100644
index 6bff178bc..000000000
--- a/htroot/api/ymarks/get_metadata.java
+++ /dev/null
@@ -1,108 +0,0 @@
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.util.EnumMap;
-import java.util.Iterator;
-import java.util.Locale;
-
-import net.yacy.cora.document.id.DigestURL;
-import net.yacy.cora.protocol.ClientIdentification;
-import net.yacy.cora.protocol.RequestHeader;
-import net.yacy.cora.util.ConcurrentLog;
-import net.yacy.data.UserDB;
-import net.yacy.data.ymark.YMarkAutoTagger;
-import net.yacy.data.ymark.YMarkCrawlStart;
-import net.yacy.data.ymark.YMarkEntry;
-import net.yacy.data.ymark.YMarkMetadata;
-import net.yacy.data.ymark.YMarkTables;
-import net.yacy.data.ymark.YMarkUtil;
-import net.yacy.document.Document;
-import net.yacy.document.Parser.Failure;
-import net.yacy.search.Switchboard;
-import net.yacy.server.serverObjects;
-import net.yacy.server.serverSwitch;
-
-public class get_metadata {
-
- static serverObjects prop;
-
- public static serverObjects respond(final RequestHeader header, final serverObjects post, final serverSwitch env) {
- final Switchboard sb = (Switchboard) env;
- prop = new serverObjects();
- final UserDB.Entry user = sb.userDB.getUser(header);
- final boolean isAdmin = (sb.verifyAuthentication(header));
- final boolean isAuthUser = user!= null && user.hasRight(UserDB.AccessRight.BOOKMARK_RIGHT);
-
- if(isAdmin || isAuthUser) {
-
- final String bmk_user = (isAuthUser ? user.getUserName() : YMarkTables.USER_ADMIN);
-
- String url = post.get(YMarkEntry.BOOKMARK.URL.key(),YMarkEntry.BOOKMARK.URL.deflt());
- boolean hasProtocol = false;
- for (final YMarkTables.PROTOCOLS p : YMarkTables.PROTOCOLS.values()) {
- if(url.toLowerCase(Locale.ROOT).startsWith(p.protocol())) {
- hasProtocol = true;
- break;
- }
- }
- if (!hasProtocol) {
- url=YMarkTables.PROTOCOLS.HTTP.protocol(url);
- }
-
- try {
- final YMarkMetadata meta = new YMarkMetadata(new DigestURL(url), sb.index);
- ClientIdentification.Agent agent = ClientIdentification.getAgent(post.get("agentName", ClientIdentification.yacyInternetCrawlerAgentName));
- final Document document = meta.loadDocument(sb.loader, agent);
- final EnumMap<YMarkMetadata.METADATA, String> metadata = meta.loadMetadata();
-
- prop.putXML("title", metadata.get(YMarkMetadata.METADATA.TITLE));
- prop.putXML("desc", metadata.get(YMarkMetadata.METADATA.DESCRIPTION));
- prop.put("keywords", putTags(document.dc_subject(','), "keywords"));
- prop.put("autotags", putTags(YMarkAutoTagger.autoTag(document, 5, sb.tables.bookmarks.getTags(bmk_user)), "autotags"));
-
- final YMarkCrawlStart crawlStart = new YMarkCrawlStart(sb.tables, url);
- int count = 0;
- if(!crawlStart.isEmpty()) {
- final Iterator<String> iter = crawlStart.keySet().iterator();
- String key;
- while(iter.hasNext()) {
- key = iter.next();
- prop.putXML("crawlstart_"+count+"_key",key.toLowerCase());
- prop.putXML("crawlstart_"+count+"_value",crawlStart.get(key));
- count++;
- }
- }
- prop.put("crawlstart", count);
-
- } catch (final MalformedURLException e) {
- // TODO Auto-generated catch block
- ConcurrentLog.logException(e);
- prop.put("status", "error");
- } catch (final IOException e) {
- // TODO Auto-generated catch block
- ConcurrentLog.logException(e);
- prop.put("status", "error");
- } catch (final Failure e) {
- // TODO Auto-generated catch block
- ConcurrentLog.logException(e);
- prop.put("status", "error");
- }
- } else {
- prop.put(serverObjects.ACTION_AUTHENTICATE, YMarkTables.USER_AUTHENTICATE_MSG);
- }
- // return rewrite properties
- return prop;
- }
-
- public static int putTags(final String tagString, final String var) {
- final String list[] = YMarkUtil.TAGS_SEPARATOR_PATTERN.split(tagString, 0);
- int count = 0;
- for (final String element : list) {
- final String tag = element;
- if (!tag.equals("")) {
- prop.putXML(var+"_"+count+"_tag", tag);
- count++;
- }
- }
- return count;
- }
-} \ No newline at end of file
diff --git a/htroot/api/ymarks/get_metadata.xml b/htroot/api/ymarks/get_metadata.xml
deleted file mode 100644
index dc72df1ef..000000000
--- a/htroot/api/ymarks/get_metadata.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version='1.0' encoding="UTF-8" standalone='yes'?>
-<info status="#[status]#">
- <title>#[title]#</title>
- <desc>#[desc]#</desc>
- <keywords>
- #{keywords}#<tag name="#[tag]#" />
- #{/keywords}#
- </keywords>
- <autotags>
- #{autotags}#<tag name="#[tag]#" />
- #{/autotags}#
- </autotags>
- <crawlstart
- #{crawlstart}##[key]#="#[value]#"
- #{/crawlstart}#
- >
- </crawlstart>
-</info>
-
diff --git a/htroot/api/ymarks/get_tags.java b/htroot/api/ymarks/get_tags.java
deleted file mode 100644
index 6d4676c9b..000000000
--- a/htroot/api/ymarks/get_tags.java
+++ /dev/null
@@ -1,98 +0,0 @@
-
-import java.io.IOException;
-import java.text.CollationKey;
-import java.text.Collator;
-import java.util.Iterator;
-import java.util.TreeMap;
-import java.util.TreeSet;
-
-import net.yacy.cora.protocol.RequestHeader;
-import net.yacy.data.UserDB;
-import net.yacy.data.ymark.YMarkEntry;
-import net.yacy.data.ymark.YMarkTables;
-import net.yacy.data.ymark.YMarkTag;
-import net.yacy.data.ymark.YMarkUtil;
-import net.yacy.search.Switchboard;
-import net.yacy.server.serverObjects;
-import net.yacy.server.serverSwitch;
-
-public class get_tags {
-
- final static String TAG = "tag";
- final static String TOP = "top";
- final static String SORT = "sort";
- final static String SIZE = "size";
- final static String ALPHA = "alpha";
-
-
- private static Switchboard sb = null;
- private static serverObjects prop = null;
-
- public static serverObjects respond(final RequestHeader header, final serverObjects post, final serverSwitch env) {
- sb = (Switchboard) env;
- prop = new serverObjects();
-
- final UserDB.Entry user = sb.userDB.getUser(header);
- final boolean isAdmin = (sb.verifyAuthentication(header));
- final boolean isAuthUser = user!= null && user.hasRight(UserDB.AccessRight.BOOKMARK_RIGHT);
-
- if(isAdmin || isAuthUser) {
- final String bmk_user = (isAuthUser ? user.getUserName() : YMarkTables.USER_ADMIN);
- Integer top = Integer.MAX_VALUE;
- Boolean sortAlpha = true;
- Iterator<YMarkTag> tit = null;
- TreeSet<YMarkTag> tags = null;
- int count = 0;
- YMarkTag t;
-
- if (post != null && post.containsKey(TAG) && !post.get(TAG).isEmpty()) {
- final String tagsString = YMarkUtil.cleanTagsString(post.get(TAG));
- tags = new TreeSet<YMarkTag>(sb.tables.bookmarks.getTags(sb.tables.bookmarks.getBookmarksByTag(bmk_user, tagsString)).values());
- } else {
- try {
- tags = new TreeSet<YMarkTag>(sb.tables.bookmarks.getTags(bmk_user).values());
- } catch (final IOException e) {
- return prop;
- }
- }
-
- if (post != null && post.containsKey(TOP)) {
- top = post.getInt(TOP, Integer.MAX_VALUE);
- }
-
- if (post != null && post.containsKey(SORT)) {
- if (SIZE.equals(post.get(SORT))) {
- sortAlpha = false;
- }
- }
-
- if(sortAlpha) {
- final TreeMap<CollationKey, YMarkTag> sort = new TreeMap<CollationKey, YMarkTag>();
- final Collator collator = Collator.getInstance();
- collator.setStrength(Collator.SECONDARY);
- tit = tags.iterator();
- while(tit.hasNext() && count < top) {
- t = tit.next();
- sort.put(collator.getCollationKey(t.name()), t);
- count++;
- }
- tit = sort.values().iterator();
- } else {
- tit = tags.iterator();
- }
-
- count = 0;
- while (tit.hasNext() && count < top) {
- t = tit.next();
- if(!t.name().equals(YMarkEntry.BOOKMARK.TAGS.deflt())) {
- prop.putXML("tags_" + count + "_name", t.name());
- prop.put("tags_" + count + "_count", t.size());
- count++;
- }
- }
-
- prop.put("tags", count);
- }
- return prop;
- }
-}
diff --git a/htroot/api/ymarks/get_tags.xml b/htroot/api/ymarks/get_tags.xml
deleted file mode 100644
index 6c58ea8fb..000000000
--- a/htroot/api/ymarks/get_tags.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version='1.0' encoding="UTF-8" standalone='yes'?>
-<tags>
-#{tags}#<tag count="#[count]#" tag="#[name]#"/>
-#{/tags}#
-</tags> \ No newline at end of file
diff --git a/htroot/api/ymarks/get_treeview.java b/htroot/api/ymarks/get_treeview.java
deleted file mode 100644
index 1d988ade7..000000000
--- a/htroot/api/ymarks/get_treeview.java
+++ /dev/null
@@ -1,281 +0,0 @@
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.util.Date;
-import java.util.EnumMap;
-import java.util.Iterator;
-import java.util.TreeMap;
-
-import net.yacy.cora.date.ISO8601Formatter;
-import net.yacy.cora.document.encoding.UTF8;
-import net.yacy.cora.document.id.DigestURL;
-import net.yacy.cora.protocol.ClientIdentification;
-import net.yacy.cora.protocol.RequestHeader;
-import net.yacy.cora.util.ConcurrentLog;
-import net.yacy.cora.util.SpaceExceededException;
-import net.yacy.data.UserDB;
-import net.yacy.data.ymark.YMarkAutoTagger;
-import net.yacy.data.ymark.YMarkCrawlStart;
-import net.yacy.data.ymark.YMarkEntry;
-import net.yacy.data.ymark.YMarkMetadata;
-import net.yacy.data.ymark.YMarkTables;
-import net.yacy.data.ymark.YMarkTag;
-import net.yacy.data.ymark.YMarkUtil;
-import net.yacy.document.Document;
-import net.yacy.document.Parser.Failure;
-import net.yacy.kelondro.blob.Tables;
-import net.yacy.search.Switchboard;
-import net.yacy.server.serverObjects;
-import net.yacy.server.serverSwitch;
-
-public class get_treeview {
-
- public static final String ROOT = "root";
- public static final String SOURCE = "source";
-
- static serverObjects prop;
-
- public static serverObjects respond(final RequestHeader header, final serverObjects post, final serverSwitch env) {
- final Switchboard sb = (Switchboard) env;
- prop = new serverObjects();
- final UserDB.Entry user = sb.userDB.getUser(header);
- final boolean isAdmin = (sb.verifyAuthentication(header));
- final boolean isAuthUser = user!= null && user.hasRight(UserDB.AccessRight.BOOKMARK_RIGHT);
-
-
- if(isAdmin || isAuthUser) {
- final String bmk_user = (isAuthUser ? user.getUserName() : YMarkTables.USER_ADMIN);
-
- String root = YMarkTables.FOLDERS_ROOT;
- String[] foldername = null;
- boolean isFolder = true;
- boolean isBookmark = false;
- boolean isMetadata = false;
- boolean isURLdb = false;
- boolean isCrawlStart = false;
- boolean isAutoTagger = false;
- boolean displayBmk = false;
-
- if (post != null){
- if(post.containsKey("display") && post.get("display").equals("bmk")) {
- displayBmk = true;
- }
-
- if (post.containsKey(ROOT)) {
- if (post.get(ROOT).equals(SOURCE) || post.get(ROOT).equals(YMarkTables.FOLDERS_ROOT)) {
- root = "";
- } else if (post.get(ROOT).startsWith(YMarkTables.FOLDERS_ROOT)) {
- root = post.get(ROOT);
- } else if (post.get(ROOT).startsWith("b:")) {
- isBookmark = true;
- isFolder = false;
- } else if (post.get(ROOT).startsWith("m:")) {
- isMetadata = true;
- isFolder = false;
- } else if (post.get(ROOT).startsWith("u:")) {
- isURLdb = true;
- isFolder = false;
- } else if (post.get(ROOT).startsWith("w:")) {
- isAutoTagger = true;
- isFolder = false;
- } else if (post.get(ROOT).startsWith("c:")) {
- isCrawlStart = true;
- isFolder = false;
- }
- }
- }
-
- Iterator<String> it = null;
- Iterator<Tables.Row> bit = null;
- Tables.Row bmk_row = null;
- int count = 0;
-
- if(isFolder) {
- // loop through folderList
- try {
- // it = sb.tables.bookmarks.folders.getFolders(bmk_user, root);
- it = sb.tables.bookmarks.getFolders(bmk_user, root).iterator();
- } catch (final IOException e) {
- ConcurrentLog.logException(e);
- }
- int n = YMarkUtil.FOLDERS_SEPARATOR_PATTERN.split(root, 0).length;
- if (n == 0) n = 1;
- while (it.hasNext()) {
- final String folder = it.next();
- foldername = YMarkUtil.FOLDERS_SEPARATOR_PATTERN.split(folder);
- if (foldername.length == n+1) {
- prop.put("folders_"+count+"_foldername", foldername[n]);
- prop.put("folders_"+count+"_expanded", "false");
- if(foldername[n].equals("IOExceptions"))
- prop.put("folders_"+count+"_type", "err");
- else if(foldername[n].equals("unsorted"))
- prop.put("folders_"+count+"_type", "question");
- else if(foldername[n].equals("Crawl Start"))
- prop.put("folders_"+count+"_type", "crawl");
- else
- prop.put("folders_"+count+"_type", "folder");
- prop.put("folders_"+count+"_hash", folder); //TODO: switch from pathString to folderHash
- prop.put("folders_"+count+"_url", ""); //TODO: insert folder url
- prop.put("folders_"+count+"_hasChildren", "true"); //TODO: determine if folder has children
- prop.put("folders_"+count+"_comma", ",");
- count++;
- }
- }
- if(displayBmk && !root.isEmpty()) {
- bit = sb.tables.bookmarks.getBookmarksByFolder(bmk_user, root);
- while (bit.hasNext()) {
- bmk_row = bit.next();
- if(bmk_row != null) {
- final String url = UTF8.String(bmk_row.get(YMarkEntry.BOOKMARK.URL.key()));
- final String title = bmk_row.get(YMarkEntry.BOOKMARK.TITLE.key(), YMarkEntry.BOOKMARK.TITLE.deflt());
-
- // TODO: get_treeview - get rid of bmtype
- if (post.containsKey("bmtype")) {
- if (post.get("bmtype").equals("title")) {
- prop.putJSON("folders_"+count+"_foldername", title);
- } else if (post.get("bmtype").equals("href")) {
- prop.putJSON("folders_"+count+"_foldername", "<a href='"+url+"' target='_blank'>"+title+"</a>");
- }
- } else {
- prop.putJSON("folders_"+count+"_foldername", url);
- }
- prop.put("folders_"+count+"_expanded", "false");
- prop.put("folders_"+count+"_url", url);
- prop.put("folders_"+count+"_type", "file");
- prop.put("folders_"+count+"_hash", "b:"+new String(bmk_row.getPK()));
- prop.put("folders_"+count+"_hasChildren", "true");
- prop.put("folders_"+count+"_comma", ",");
- count++;
- }
- }
- }
- count--;
- prop.put("folders_"+count+"_comma", "");
- count++;
- prop.put("folders", count);
- } else if(displayBmk && isBookmark) {
- try {
- final String urlHash = post.get(ROOT).substring(2);
- String url = "";
- bmk_row = sb.tables.select(YMarkTables.TABLES.BOOKMARKS.tablename(bmk_user), urlHash.getBytes());
- if(bmk_row != null) {
- it = bmk_row.keySet().iterator();
- while(it.hasNext()) {
- final String key = it.next();
- if(key.startsWith("date")) {
- final String d = UTF8.String(bmk_row.get(key));
- if(!d.isEmpty()) {
- final String date = ISO8601Formatter.FORMATTER.format(new Date(Long.parseLong(d)));
- prop.put("folders_"+count+"_foldername","<small><b>"+key+":</b> " + date + "</small>");
- putProp(count, "date");
- count++;
- }
- } else {
- final String value = UTF8.String(bmk_row.get(key));
- if (key.equals("url"))
- url = value;
- prop.put("folders_"+count+"_foldername","<small><b>"+key+":</b> " + value + "</small>");
- if(YMarkEntry.BOOKMARK.contains(key))
- putProp(count, YMarkEntry.BOOKMARK.get(key).type());
- else
- putProp(count, "meta");
- count++;
- }
- }
- prop.put("folders_"+count+"_foldername","<small><b>MetaData</b></small>");
- putProp(count, "meta");
- prop.put("folders_"+count+"_hash", "m:"+url);
- prop.put("folders_"+count+"_hasChildren", "true");
- count++;
- prop.put("folders_"+count+"_foldername","<small><b>URLdb</b></small>");
- putProp(count, "meta");
- prop.put("folders_"+count+"_hash", "u:"+url);
- prop.put("folders_"+count+"_hasChildren", "true");
- count++;
- prop.put("folders_"+count+"_foldername","<small><b>CrawlStart</b></small>");
- putProp(count, "meta");
- prop.put("folders_"+count+"_hash", "c:"+url);
- prop.put("folders_"+count+"_hasChildren", "true");
- count++;
- prop.put("folders_"+count+"_foldername","<small><b>AutoTagger</b></small>");
- putProp(count, "meta");
- prop.put("folders_"+count+"_hash", "w:"+url);
- prop.put("folders_"+count+"_hasChildren", "true");
- prop.put("folders_"+count+"_comma", "");
- count++;
- prop.put("folders", count);
- }
- } catch (final IOException e) {
- ConcurrentLog.logException(e);
- } catch (final SpaceExceededException e) {
- ConcurrentLog.logException(e);
- }
- } else if (isAutoTagger || isMetadata || isURLdb || isCrawlStart) {
- try {
- final YMarkMetadata meta = new YMarkMetadata(new DigestURL(post.get(ROOT).substring(2)), sb.index);
- ClientIdentification.Agent agent = ClientIdentification.getAgent(post.get("agentName", ClientIdentification.yacyInternetCrawlerAgentName));
- final Document document = meta.loadDocument(sb.loader, agent);
- final TreeMap<String, YMarkTag> tags = sb.tables.bookmarks.getTags(bmk_user);
- if(isAutoTagger) {
- prop.put("folders_"+count+"_foldername","<small><b>meta-"+YMarkMetadata.METADATA.KEYWORDS.name().toLowerCase()+":</b> " + meta.loadMetadata().get(YMarkMetadata.METADATA.KEYWORDS) + "</small>");
- putProp(count, "meta");
- count++;
- prop.put("folders_"+count+"_foldername","<small><b>with preference: </b>"+YMarkAutoTagger.autoTag(document, 4, tags)+"</small>");
- putProp(count, "meta");
- count++;
- prop.put("folders_"+count+"_foldername","<small><b>without preference: </b>"+YMarkAutoTagger.autoTag(document, 4, new TreeMap<String, YMarkTag>())+"</small>");
- putProp(count, "meta");
- count++;
- prop.put("folders", count);
- } else if(isMetadata) {
- count = putMeta(count, meta.loadMetadata());
- } else if(isURLdb) {
- count = putMeta(count, meta.getMetadata());
- } else if(isCrawlStart) {
- ConcurrentLog.info("YMark", "I am looking for CrawlStart: "+post.get(ROOT).substring(2));
- final YMarkCrawlStart crawlStart = new YMarkCrawlStart(sb.tables, post.get(ROOT).substring(2));
- final Iterator<String> iter = crawlStart.keySet().iterator();
- String key;
- while(iter.hasNext()) {
- key = iter.next();
- prop.put("folders_"+count+"_foldername","<small><b>"+key.toLowerCase()+":</b> " + crawlStart.get(key) + "</small>");
- putProp(count, "meta");
- count++;
- }
- prop.put("folders", count);
- }
-
- } catch (final MalformedURLException e) {
- ConcurrentLog.logException(e);
- } catch (final IOException e) {
- ConcurrentLog.logException(e);
- } catch (final Failure e) {
- ConcurrentLog.logException(e);
- }
- }
- } else {
- prop.put(serverObjects.ACTION_AUTHENTICATE, YMarkTables.USER_AUTHENTICATE_MSG);
- }
- // return rewrite properties
- return prop;
- }
- public static void putProp(final int count, final String type) {
- prop.put("folders_"+count+"_expanded", "false");
- prop.put("folders_"+count+"_url", "");
- prop.put("folders_"+count+"_type", type);
- prop.put("folders_"+count+"_hash", "");
- prop.put("folders_"+count+"_hasChildren", "false");
- prop.put("folders_"+count+"_comma", ",");
- }
- public static int putMeta(int count, final EnumMap<YMarkMetadata.METADATA, String> metadata) {
- final Iterator<YMarkMetadata.METADATA> iter = metadata.keySet().iterator();
- while (iter.hasNext()) {
- final YMarkMetadata.METADATA key = iter.next();
- final String value = metadata.get(key);
- prop.put("folders_"+count+"_foldername","<small><b>"+key.toString().toLowerCase()+":</b> " + value + "</small>");
- putProp(count, "meta");
- count++;
- }
- prop.put("folders", count);
- return count;
- }
-}
diff --git a/htroot/api/ymarks/get_treeview.json b/htroot/api/ymarks/get_treeview.json
deleted file mode 100644
index 7cf91fa05..000000000
--- a/htroot/api/ymarks/get_treeview.json
+++ /dev/null
@@ -1,9 +0,0 @@
-[
-#{folders}#{
-"text": "#[foldername]#",
-"expanded": #[expanded]#,
-"classes": "#[type]#",
-"id": "#[hash]#",
-"hasChildren": #[hasChildren]#
-}#[comma]##{/folders}#
-] \ No newline at end of file
diff --git a/htroot/api/ymarks/get_treeview.xml b/htroot/api/ymarks/get_treeview.xml
deleted file mode 100644
index 3527108b7..000000000
--- a/htroot/api/ymarks/get_treeview.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version='1.0' encoding="UTF-8" standalone='yes'?>
-<folders>
-#{folders}#<folder
- id="#[hash]#"
- type="#[type]#"
- name="#[foldername]#"
- url="#[url]#"
- hasChildren="#[hasChildren]#"
-/>
-#{/folders}#
-</folders> \ No newline at end of file
diff --git a/htroot/api/ymarks/get_xbel.java b/htroot/api/ymarks/get_xbel.java
deleted file mode 100644
index cb4c6c619..000000000
--- a/htroot/api/ymarks/get_xbel.java
+++ /dev/null
@@ -1,180 +0,0 @@
-import java.io.IOException;
-import java.util.HashSet;
-import java.util.Iterator;
-
-import net.yacy.cora.document.encoding.UTF8;
-import net.yacy.cora.protocol.RequestHeader;
-import net.yacy.cora.util.ConcurrentLog;
-import net.yacy.data.UserDB;
-import net.yacy.data.ymark.YMarkDate;
-import net.yacy.data.ymark.YMarkEntry;
-import net.yacy.data.ymark.YMarkTables;
-import net.yacy.data.ymark.YMarkUtil;
-import net.yacy.data.ymark.YMarkXBELImporter;
-import net.yacy.document.parser.html.CharacterCoding;
-import net.yacy.kelondro.blob.Tables;
-import net.yacy.search.Switchboard;
-import net.yacy.server.serverObjects;
-import net.yacy.server.serverSwitch;
-
-public class get_xbel {
- public static final String ROOT = "root";
- public static final String SOURCE = "source";
-
- public static serverObjects respond(final RequestHeader header, final serverObjects post, final serverSwitch env) {
- final Switchboard sb = (Switchboard) env;
- final serverObjects prop = new serverObjects();
- final HashSet<String> alias = new HashSet<String>();
- final StringBuilder buffer = new StringBuilder(250);
- final UserDB.Entry user = sb.userDB.getUser(header);
- final boolean isAdmin = (sb.verifyAuthentication(header));
- final boolean isAuthUser = user!= null && user.hasRight(UserDB.AccessRight.BOOKMARK_RIGHT);
- final String bmk_user;
-
- if(isAdmin || isAuthUser) {
- bmk_user = (isAuthUser ? user.getUserName() : YMarkTables.USER_ADMIN);
-
- String root = YMarkTables.FOLDERS_ROOT;
- String[] foldername = null;
-
- // TODO: better handling of query
- if (post != null){
- if (post.containsKey(ROOT)) {
- if (post.get(ROOT).equals(SOURCE) || post.get(ROOT).equals(YMarkTables.FOLDERS_ROOT)) {
- root = "";
- } else if (post.get(ROOT).startsWith(YMarkTables.FOLDERS_ROOT)) {
- root = post.get(ROOT);
- } else {
- root = "";
- }
- }
- } else {
- root = "";
- }
-
- final int root_depth = YMarkUtil.FOLDERS_SEPARATOR_PATTERN.split(root).length - 1;
- // Log.logInfo(YMarkTables.BOOKMARKS_LOG, "root: "+root+" root_depth: "+root_depth);
- Iterator<String> fit = null;
- Iterator<Tables.Row> bit = null;
- int count = 0;
- int n = root_depth;
-
- try {
- fit = sb.tables.bookmarks.getFolders(bmk_user, root).iterator();
- } catch (final IOException e) {
- ConcurrentLog.logException(e);
- }
-
- while (fit.hasNext()) {
- final String folder = fit.next();
- foldername = YMarkUtil.FOLDERS_SEPARATOR_PATTERN.split(folder);
- final int len = foldername.length -1;
- if(n > root_depth) {
- for (; len <= n; n--) {
- // Log.logInfo(YMarkTables.BOOKMARKS_LOG, "</folder> n: "+n);
- prop.put("xbel_"+count+"_elements", "</folder>");
- count++;
- }
- }
- if (len >= n) {
- n = len;
- if(n > root_depth) {
- // Log.logInfo(YMarkTables.BOOKMARKS_LOG, "<folder>: "+folder+" n: "+n);
- prop.put("xbel_"+count+"_elements", "<folder id=\"f:"+UTF8.String(YMarkUtil.getKeyId(foldername[n]))+"\">");
- count++;
- prop.put("xbel_"+count+"_elements", "<title>" + CharacterCoding.unicode2xml(foldername[n], true) + "</title>");
- count++;
- }
- bit = sb.tables.bookmarks.getBookmarksByFolder(bmk_user, folder);
- Tables.Row bmk_row = null;
- String urlHash;
- final YMarkDate date = new YMarkDate();
- while(bit.hasNext()){
- bmk_row = bit.next();
- urlHash = new String(bmk_row.getPK());
-
- if(alias.contains(urlHash)) {
- buffer.setLength(0);
- buffer.append(YMarkXBELImporter.XBEL.ALIAS.startTag(true));
- buffer.append(" ref=\"b:");
- buffer.append(urlHash);
- buffer.append("\"/>");
- prop.put("xbel_"+count+"_elements", buffer.toString());
- count++;
- } else {
- alias.add(urlHash);
- if(bmk_row != null) {
- buffer.setLength(0);
-
- buffer.append(YMarkXBELImporter.XBEL.BOOKMARK.startTag(true));
- buffer.append(" id=\"b:");
- buffer.append(urlHash);
-
- buffer.append(YMarkEntry.BOOKMARK.URL.xbel());
- buffer.append(CharacterCoding.unicode2xml(bmk_row.get(YMarkEntry.BOOKMARK.URL.key(), YMarkEntry.BOOKMARK.URL.deflt()), true));
-
- buffer.append(YMarkEntry.BOOKMARK.DATE_ADDED.xbel());
- date.set(bmk_row.get(YMarkEntry.BOOKMARK.DATE_ADDED.key()));
- buffer.append(CharacterCoding.unicode2xml(date.toISO8601(), true));
-
- buffer.append(YMarkEntry.BOOKMARK.DATE_MODIFIED.xbel());
- date.set(bmk_row.get(YMarkEntry.BOOKMARK.DATE_MODIFIED.key()));
- buffer.append(CharacterCoding.unicode2xml(date.toISO8601(), true));
-
- buffer.append(YMarkEntry.BOOKMARK.DATE_VISITED.xbel());
- date.set(bmk_row.get(YMarkEntry.BOOKMARK.DATE_VISITED.key()));
- buffer.append(CharacterCoding.unicode2xml(date.toISO8601(), true));
-
- buffer.append(YMarkEntry.BOOKMARK.TAGS.xbel());
- buffer.append(CharacterCoding.unicode2xml(bmk_row.get(YMarkEntry.BOOKMARK.TAGS.key(), YMarkEntry.BOOKMARK.TAGS.deflt()),true));
-
- buffer.append(YMarkEntry.BOOKMARK.PUBLIC.xbel());
- buffer.append(bmk_row.get(YMarkEntry.BOOKMARK.PUBLIC.key(), YMarkEntry.BOOKMARK.PUBLIC.deflt()));
-
- buffer.append(YMarkEntry.BOOKMARK.VISITS.xbel());
- buffer.append(bmk_row.get(YMarkEntry.BOOKMARK.VISITS.key(), YMarkEntry.BOOKMARK.VISITS.deflt()));
-
- buffer.append("\"\n>");
- prop.put("xbel_"+count+"_elements", buffer.toString());
- count++;
-
- buffer.setLength(0);
- buffer.append(YMarkXBELImporter.XBEL.TITLE.startTag(false));
- buffer.append(CharacterCoding.unicode2xml(bmk_row.get(YMarkEntry.BOOKMARK.TITLE.key(), YMarkEntry.BOOKMARK.TITLE.deflt()), true));
- buffer.append(YMarkXBELImporter.XBEL.TITLE.endTag(false));
- prop.put("xbel_"+count+"_elements", buffer.toString());
- count++;
-
- buffer.setLength(0);
- buffer.append(YMarkXBELImporter.XBEL.DESC.startTag(false));
- buffer.append(CharacterCoding.unicode2xml(bmk_row.get(YMarkEntry.BOOKMARK.DESC.key(), YMarkEntry.BOOKMARK.DESC.deflt()), true));
- buffer.append(YMarkXBELImporter.XBEL.DESC.endTag(false));
- prop.put("xbel_"+count+"_elements", buffer.toString());
- count++;
-
- prop.put("xbel_"+count+"_elements", YMarkXBELImporter.XBEL.BOOKMARK.endTag(false));
- count++;
- }
- }
- }
- }
- }
- while(n > root_depth) {
- // Log.logInfo(YMarkTables.BOOKMARKS_LOG, "</folder> n: "+n);
- prop.put("xbel_"+count+"_elements", YMarkXBELImporter.XBEL.FOLDER.endTag(false));
- count++;
- n--;
- }
- prop.put("root", root);
- prop.put("user", bmk_user.substring(0,1).toUpperCase() + bmk_user.substring(1));
- prop.put("xbel", count);
-
- } else {
- prop.put(serverObjects.ACTION_AUTHENTICATE, YMarkTables.USER_AUTHENTICATE_MSG);
- }
- // return rewrite properties
- return prop;
- }
-}
-
-
diff --git a/htroot/api/ymarks/get_xbel.xml b/htroot/api/ymarks/get_xbel.xml
deleted file mode 100644
index 9dc946133..000000000
--- a/htroot/api/ymarks/get_xbel.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE xbel PUBLIC "+//IDN python.org//DTD XML Bookmark Exchange Language 1.0//EN//XML" "http://pyxml.sourceforge.net/topics/dtds/xbel-1.0.dtd"
-[
- <!ENTITY % local.url.att "yacy:public CDATA #IMPLIED yacy:tags CDATA #IMPLIED yacy:visits CDATA #IMPLIED">
-]>
-<xbel version="1.0" xmlns:yacy="http://www.yacy.net">
-<title>#[user]# YaCy Bookmarks: #[root]#</title>
-<info>
-<metadata owner="http://www.yacy.net" />
-</info>
-#{xbel}#
-#[elements]#
-#{/xbel}#
-</xbel> \ No newline at end of file
diff --git a/htroot/api/ymarks/get_ymark.java b/htroot/api/ymarks/get_ymark.java
deleted file mode 100644
index e2d2956cb..000000000
--- a/htroot/api/ymarks/get_ymark.java
+++ /dev/null
@@ -1,168 +0,0 @@
-import java.io.IOException;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.regex.Pattern;
-
-import net.yacy.cora.document.encoding.UTF8;
-import net.yacy.cora.protocol.RequestHeader;
-import net.yacy.cora.util.ConcurrentLog;
-import net.yacy.data.UserDB;
-import net.yacy.data.ymark.YMarkCrawlStart;
-import net.yacy.data.ymark.YMarkDate;
-import net.yacy.data.ymark.YMarkEntry;
-import net.yacy.data.ymark.YMarkTables;
-import net.yacy.data.ymark.YMarkUtil;
-import net.yacy.data.ymark.YMarkTables.TABLES;
-import net.yacy.kelondro.blob.Tables;
-import net.yacy.kelondro.blob.Tables.Row;
-import net.yacy.search.Switchboard;
-import net.yacy.server.serverObjects;
-import net.yacy.server.serverSwitch;
-
-
-public class get_ymark {
-
- private static Switchboard sb = null;
- private static serverObjects prop = null;
- final static String FOLDER_IMG = "<img src=\"/yacy/ui/img/treeview/folder-closed.gif\" />";
-
- public static serverObjects respond(final RequestHeader header, final serverObjects post, final serverSwitch env) {
- sb = (Switchboard) env;
- prop = new serverObjects();
-
- int rp; // items per page
- int page; // page
- int total;
- String sortorder;
- String sortname;
- String qtype;
- String query;
-
- final UserDB.Entry user = sb.userDB.getUser(header);
- final boolean isAdmin = (sb.verifyAuthentication(header));
- final boolean isAuthUser = user!= null && user.hasRight(UserDB.AccessRight.BOOKMARK_RIGHT);
- Iterator<Tables.Row> bookmarks = null;
-
- if(isAdmin || isAuthUser) {
- final String bmk_user = (isAuthUser ? user.getUserName() : YMarkTables.USER_ADMIN);
-
- query = ".*";
- qtype = YMarkEntry.BOOKMARK.TITLE.key();
- page = 1;
- rp = 100;
- total = 0;
- sortname = YMarkEntry.BOOKMARK.TITLE.key();
- sortorder = "asc";
-
- if(post != null) {
- rp = (post.containsKey("rp")) ? post.getInt("rp", 10) : 10;
- page = (post.containsKey("page")) ? post.getInt("page", 1): 1;
- query = (post.containsKey("query")) ? post.get("query", ".*") : ".*";
- qtype = (post.containsKey("qtype")) ? post.get("qtype", YMarkEntry.BOOKMARK.TAGS.key()) : YMarkEntry.BOOKMARK.TAGS.key();
- sortname = (post.containsKey("sortname")) ? post.get("sortname", YMarkEntry.BOOKMARK.TITLE.key()) : YMarkEntry.BOOKMARK.TITLE.key();
- sortorder = (post.containsKey("sortorder")) ? post.get("sortorder", "asc") : "asc";
- }
- try {
- final String bmk_table = TABLES.BOOKMARKS.tablename(bmk_user);
- final Collection<Row> result;
- if(!query.isEmpty()) {
- if(!qtype.isEmpty()) {
- if(qtype.equals("_tags")) {
- final String tags = YMarkUtil.cleanTagsString(query);
- result = sb.tables.bookmarks.orderBookmarksBy(sb.tables.bookmarks.getBookmarksByTag(bmk_user, tags), sortname, sortorder);
- } else if(qtype.equals("_folder")) {
- result = sb.tables.bookmarks.orderBookmarksBy(sb.tables.bookmarks.getBookmarksByFolder(bmk_user, query), sortname, sortorder);
- } else {
- result = sb.tables.bookmarks.orderBookmarksBy(sb.tables.iterator(bmk_table, qtype, Pattern.compile(query)), sortname, sortorder);
- }
- } else {
- result = sb.tables.bookmarks.orderBookmarksBy(sb.tables.iterator(bmk_table, Pattern.compile(query)), sortname, sortorder);
- }
- } else {
- result = sb.tables.bookmarks.orderBookmarksBy(sb.tables.iterator(bmk_table), sortname, sortorder);
- }
- total = result.size();
- bookmarks = result.iterator();
- } catch (final IOException e) {
- ConcurrentLog.logException(e);
- }
- prop.put("page", page);
- prop.put("total", total);
- putProp(bookmarks, rp, page);
- } else {
- prop.put(serverObjects.ACTION_AUTHENTICATE, YMarkTables.USER_AUTHENTICATE_MSG);
- }
- // return rewrite properties
- return prop;
- }
-
- private static void putProp(final Iterator<Tables.Row> bit, final int rp, final int page) {
- Tables.Row bmk_row;
- int count = 0;
- int offset = 0;
- if (page > 1) {
- offset = ((page - 1) * rp) + 1;
- }
- while(count < offset && bit.hasNext()) {
- bmk_row = bit.next();
- count++;
- }
- count = 0;
- while (count < rp && bit.hasNext()) {
- bmk_row = bit.next();
- if (bmk_row != null) {
-
- // put JSON
- prop.put("json_"+count+"_id", count);
- prop.put("json_"+count+"_hash", UTF8.String(bmk_row.getPK()));
- for (final YMarkEntry.BOOKMARK bmk : YMarkEntry.BOOKMARK.values()) {
- if(bmk == YMarkEntry.BOOKMARK.PUBLIC)
- prop.put("json_"+count+"_"+bmk.key(), bmk_row.get(bmk.key(),bmk.deflt()).equals("false") ? 1 : 0);
- else if(bmk == YMarkEntry.BOOKMARK.TAGS)
- prop.putJSON("json_"+count+"_"+bmk.key(), bmk_row.get(bmk.key(),bmk.deflt()).replaceAll(YMarkUtil.TAGS_SEPARATOR, ", "));
- else if(bmk == YMarkEntry.BOOKMARK.FOLDERS)
- prop.putJSON("json_"+count+"_"+bmk.key(), bmk_row.get(bmk.key(),bmk.deflt()).replaceAll(YMarkUtil.TAGS_SEPARATOR, "<br />"+FOLDER_IMG));
- else if(bmk == YMarkEntry.BOOKMARK.DATE_ADDED || bmk == YMarkEntry.BOOKMARK.DATE_MODIFIED || bmk == YMarkEntry.BOOKMARK.DATE_VISITED)
- prop.putJSON("json_"+count+"_"+bmk.key(), (new YMarkDate(bmk_row.get(bmk.key()))).toISO8601().replaceAll("T", "<br />"));
- else
- prop.putJSON("json_"+count+"_"+bmk.key(), bmk_row.get(bmk.key(),bmk.deflt()));
- }
-
- final YMarkCrawlStart crawlstart = new YMarkCrawlStart(sb.tables, bmk_row.get(YMarkEntry.BOOKMARK.URL.key(),YMarkEntry.BOOKMARK.URL.deflt()));
- int crawl = 0;
- if (!crawlstart.isEmpty()) {
- crawl = 1;
- prop.put("json_"+count+"_crawlstart_info", "Crawl last executed: "+YMarkDate.ISO8601(crawlstart.date_last_exec()));
- }
- if (crawlstart.hasSchedule()) {
- crawl = 2;
- prop.put("json_"+count+"_crawlstart_info", "Crawl scheduled: "+YMarkDate.ISO8601(crawlstart.date_next_exec()));
- }
- if (crawlstart.isRunning(sb.crawler)) {
- crawl = 3;
- prop.put("json_"+count+"_crawlstart_info", "Crawl is running ...");
- }
- prop.put("json_"+count+"_crawlstart", crawl);
-
- prop.put("json_"+count+"_apicall_pk", crawlstart.getPK());
- prop.put("json_"+count+"_date_recording", YMarkDate.ISO8601(crawlstart.date_recording()).replaceAll("T", "<br />"));
- prop.put("json_"+count+"_date_next_exec", YMarkDate.ISO8601(crawlstart.date_next_exec()).replaceAll("T", "<br />"));
- prop.put("json_"+count+"_date_last_exec", YMarkDate.ISO8601(crawlstart.date_last_exec()).replaceAll("T", "<br />"));
-
- prop.put("json_"+count+"_comma", ",");
-
- // put XML
- prop.putXML("xml_"+count+"_id", UTF8.String(bmk_row.getPK()));
- for (final YMarkEntry.BOOKMARK bmk : YMarkEntry.BOOKMARK.values()) {
- prop.putXML("xml_"+count+"_"+bmk.key(), bmk_row.get(bmk.key(),bmk.deflt()));
- }
-
- count++;
- }
- }
- // eliminate the trailing comma for Json output
- prop.put("json_" + (count - 1) + "_comma", "");
- prop.put("json", count);
- prop.put("xml", count);
- }
-}
diff --git a/htroot/api/ymarks/get_ymark.json b/htroot/api/ymarks/get_ymark.json
deleted file mode 100644
index 65b013b18..000000000
--- a/htroot/api/ymarks/get_ymark.json
+++ /dev/null
@@ -1,34 +0,0 @@
-{
-"page" : #[page]#,
-"total": #[total]#,
-"rows" : [
-#{json}#
-{"id":"#[id]#","cell":[
-"#[hash]#",
-#(public)#
-"<img src='/yacy/ui/img-2/world2.png' alt='true' title='public bookmark'/>"
-::
-"<img src='/yacy/ui/img-2/lock.png' alt='false' title='private bookmark'/>"#(/public)#,
-#(crawlstart)#
-""
-::
-"<img src='/yacy/ui/img-2/accept.png' alt='#[info]#' title='#[info]#'/>"
-::
-"<img src='/yacy/ui/img-2/calendar.png' alt='#[info]#' title='#[info]#'/>"
-::
-"<img src='/yacy/ui/img/crawl.png' alt='#[info]#' title='#[info]#'/>"
-#(/crawlstart)#,
-"<h3 class='linktitle'>#[title]#</h3><p class='desc'>#[desc]#</p><p class='url'><a href='#[url]#'>#[url]#</a>",
-"<p class='tags'>#[tags]#</p>",
-"<p class='folders'><img src='/yacy/ui/img/treeview/folder-closed.gif' />#[folders]#</p>",
-"<p class='date'>#[date_added]#</p>",
-"<p class='date'>#[date_modified]#</p>",
-"<p class='date'>#[date_visited]#</p>",
-"<p class='apicall_pk'>#[apicall_pk]#</p>",
-"<p class='date'>#[date_recording]#</p>",
-"<p class='date'>#[date_next_exec]#</p>",
-"<p class='date'>#[date_last_exec]#</p>"
-]}#[comma]#
-#{/json}#
-]
-} \ No newline at end of file
diff --git a/htroot/api/ymarks/get_ymark.xml b/htroot/api/ymarks/get_ymark.xml
deleted file mode 100644
index a28256206..000000000
--- a/htroot/api/ymarks/get_ymark.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<posts>
-#{xml}#
- <post href="#[url]#" id="#[id]#" title="#[title]#" tag="#[tags]#" folders="#[folders]#" added="#[date_added]#"/>
-#{/xml}#
-</posts> \ No newline at end of file
diff --git a/htroot/api/ymarks/import_ymark.html b/htroot/api/ymarks/import_ymark.html
deleted file mode 100644
index ec376281a..000000000
--- a/htroot/api/ymarks/import_ymark.html
+++ /dev/null
@@ -1,14 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <title>Import Bookmarks</title>
- #(redirect)#::<meta HTTP-EQUIV="REFRESH" content="0; url=#[url]#" />#(/redirect)#
- </head>
- <body>
- #(status)#
- <p>Status: error</p>
- ::
- <p>Status: ok</p>
- #(/status)#
- </body>
-</html> \ No newline at end of file
diff --git a/htroot/api/ymarks/import_ymark.java b/htroot/api/ymarks/import_ymark.java
deleted file mode 100644
index 5344539f9..000000000
--- a/htroot/api/ymarks/import_ymark.java
+++ /dev/null
@@ -1,254 +0,0 @@
-import java.io.BufferedReader;
-import java.io.ByteArrayInputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.net.MalformedURLException;
-import java.nio.charset.StandardCharsets;
-import java.util.Iterator;
-import java.util.concurrent.ArrayBlockingQueue;
-import java.util.regex.Pattern;
-import java.util.zip.GZIPInputStream;
-
-import org.xml.sax.SAXException;
-
-import net.yacy.cora.document.encoding.UTF8;
-import net.yacy.cora.protocol.ClientIdentification;
-import net.yacy.cora.protocol.RequestHeader;
-import net.yacy.cora.util.ConcurrentLog;
-import net.yacy.data.BookmarksDB.Bookmark;
-import net.yacy.data.UserDB;
-import net.yacy.data.WorkTables;
-import net.yacy.data.ymark.MonitoredReader;
-import net.yacy.data.ymark.YMarkAutoTagger;
-import net.yacy.data.ymark.YMarkCrawlStart;
-import net.yacy.data.ymark.YMarkDMOZImporter;
-import net.yacy.data.ymark.YMarkEntry;
-import net.yacy.data.ymark.YMarkHTMLImporter;
-import net.yacy.data.ymark.YMarkJSONImporter;
-import net.yacy.data.ymark.YMarkTables;
-import net.yacy.data.ymark.YMarkUtil;
-import net.yacy.data.ymark.YMarkXBELImporter;
-import net.yacy.document.Parser.Failure;
-import net.yacy.kelondro.blob.Tables;
-import net.yacy.kelondro.workflow.OneTimeBusyThread;
-import net.yacy.search.Switchboard;
-import net.yacy.server.serverObjects;
-import net.yacy.server.serverSwitch;
-
-public class import_ymark {
-
- public static serverObjects respond(final RequestHeader header, final serverObjects post, final serverSwitch env) {
- final Switchboard sb = (Switchboard) env;
- final serverObjects prop = new serverObjects();
- final UserDB.Entry user = sb.userDB.getUser(header);
- final boolean isAdmin = (sb.verifyAuthentication(header));
- final boolean isAuthUser = user!= null && user.hasRight(UserDB.AccessRight.BOOKMARK_RIGHT);
- final int queueSize = 200;
-
- YMarkEntry bmk;
- // String root = YMarkEntry.FOLDERS_IMPORTED;
- String root = "";
- ByteArrayInputStream stream = null;
-
- if(isAdmin || isAuthUser) {
- String bmk_user = (isAuthUser ? user.getUserName() : YMarkTables.USER_ADMIN);
- final ArrayBlockingQueue<String> autoTaggingQueue = new ArrayBlockingQueue<String>(10*queueSize);
- boolean autotag = false;
- boolean merge = false;
- boolean empty = false;
- final String indexing = post.get("indexing", "off");
- final boolean medialink = post.getBoolean("medialink");
-
- if(post.containsKey("autotag") && !post.get("autotag", "off").equals("off")) {
- autotag = true;
- if(post.get("autotag").equals("merge")) {
- merge = true;
- }
- if(post.get("autotag").equals("empty")) {
- empty = true;
- }
- YMarkAutoTagger autoTagger = new YMarkAutoTagger(autoTaggingQueue, sb.loader, sb.tables.bookmarks, bmk_user, merge);
- OneTimeBusyThread.startFromRunnable(autoTagger, 0);
- }
-
- if(isAdmin && post.containsKey("table") && post.get("table").length() > 0) {
- bmk_user = post.get("table").substring(0, post.get("table").indexOf('_',0));
- }
- if(post.containsKey("redirect") && post.get("redirect").length() > 0) {
- prop.put("redirect_url", post.get("redirect"));
- prop.put("redirect", "1");
- }
- if(post.containsKey("root") && post.get("root").length() > 0) {
- root = post.get("root");
- }
- ClientIdentification.Agent agent = ClientIdentification.getAgent(post.get("agentName", ClientIdentification.yacyInternetCrawlerAgentName));
- if(post.containsKey("bmkfile") && !post.get("bmkfile").isEmpty() && post.containsKey("importer")){
- final byte[] bytes = UTF8.getBytes(post.get("bmkfile$file"));
- stream = new ByteArrayInputStream(bytes);
- if(post.get("importer").equals("surro") && stream != null) {
- /**
- SurrogateReader surrogateReader;
- try {
- surrogateReader = new SurrogateReader(stream, queueSize, sb.crawlStacker, sb.index.fulltext().getDefaultConfiguration());
- } catch (final IOException e) {
- //TODO: display an error message
- ConcurrentLog.logException(e);
- prop.put("status", "0");
- return prop;
- }
- InstantBusyThread.oneTimeJob(surrogateReader, 0);
- while ((bmk = new YMarkEntry(surrogateReader.take())) != YMarkEntry.POISON) {
- putBookmark(sb, bmk_user, bmk, autoTaggingQueue, autotag, empty, indexing, medialink);
- }
- prop.put("status", "1");
- */
- } else {
- MonitoredReader reader = new MonitoredReader(new InputStreamReader(stream, StandardCharsets.UTF_8), 1024*16, bytes.length);
- if(post.get("importer").equals("html") && reader != null) {
- final YMarkHTMLImporter htmlImporter = new YMarkHTMLImporter(reader, queueSize, root);
- OneTimeBusyThread.startFromRunnable(htmlImporter, 0);
- OneTimeBusyThread.startFromRunnable(htmlImporter.getConsumer(sb, bmk_user, autoTaggingQueue, autotag, empty, indexing, medialink), 0);
- prop.put("status", "1");
- } else if(post.get("importer").equals("xbel") && reader != null) {
- final YMarkXBELImporter xbelImporter;
- try {
- //TODO: make RootFold
- xbelImporter = new YMarkXBELImporter(reader, queueSize, root);
- } catch (final SAXException e) {
- //TODO: display an error message
- ConcurrentLog.logException(e);
- prop.put("status", "0");
- return prop;
- }
- OneTimeBusyThread.startFromRunnable(xbelImporter, 0);
- OneTimeBusyThread.startFromRunnable(xbelImporter.getConsumer(sb, bmk_user, autoTaggingQueue, autotag, empty, indexing, medialink), 0);
- prop.put("status", "1");
- } else if(post.get("importer").equals("json") && reader != null) {
- YMarkJSONImporter jsonImporter;
- jsonImporter = new YMarkJSONImporter(reader, queueSize, root);
- OneTimeBusyThread.startFromRunnable(jsonImporter, 0);
- while ((bmk = jsonImporter.take()) != YMarkEntry.POISON) {
- putBookmark(sb, bmk_user, bmk, autoTaggingQueue, autotag, empty, indexing, medialink);
- }
- prop.put("status", "1");
- }
- }
- } else if(post.containsKey("importer") && post.get("importer").equals("crawls")) {
- if(!isAdmin) {
- prop.authenticationRequired();
- return prop;
- }
- try {
- final Pattern pattern = Pattern.compile("^crawl start for.*");
- final Iterator<Tables.Row> APIcalls = sb.tables.iterator(WorkTables.TABLE_API_NAME, WorkTables.TABLE_API_COL_COMMENT, pattern);
- Tables.Row row = null;
- while(APIcalls.hasNext()) {
- row = APIcalls.next();
- if(row.get(WorkTables.TABLE_API_COL_TYPE, "").equals("crawler")) {
- final String url = row.get(WorkTables.TABLE_API_COL_COMMENT, "").substring(16);
- sb.tables.bookmarks.createBookmark(sb.loader, url, agent, bmk_user, autotag, "crawlStart", "/Crawl Start");
- }
- }
- prop.put("status", "1");
- } catch (final IOException e) {
- ConcurrentLog.logException(e);
- } catch (final Failure e) {
- ConcurrentLog.logException(e);
- }
- } else if(post.containsKey("importer") && post.get("importer").equals("bmks")) {
- if(!isAdmin) {
- prop.authenticationRequired();
- return prop;
- }
- final Iterator<String> bit=sb.bookmarksDB.getBookmarksIterator(isAdmin);
- while(bit.hasNext()){
- Bookmark bookmark=sb.bookmarksDB.getBookmark(bit.next());
- if (bookmark != null) {
- final YMarkEntry bmk_entry = new YMarkEntry(false);
- bmk_entry.put(YMarkEntry.BOOKMARK.URL.key(), bookmark.getUrl());
- try {
- if(!sb.tables.has(YMarkTables.TABLES.BOOKMARKS.tablename(bmk_user), YMarkUtil.getBookmarkId(bookmark.getUrl()))) {
- bmk_entry.put(YMarkEntry.BOOKMARK.PUBLIC.key(), bookmark.getPublic() ? "true" : "false");
- bmk_entry.put(YMarkEntry.BOOKMARK.TITLE.key(), bookmark.getTitle());
- bmk_entry.put(YMarkEntry.BOOKMARK.DESC.key(), bookmark.getDescription());
- bmk_entry.put(YMarkEntry.BOOKMARK.TAGS.key(), bookmark.getTagsString());
- bmk_entry.put(YMarkEntry.BOOKMARK.FOLDERS.key(), root+bookmark.getFoldersString().replaceAll(".*"+YMarkUtil.TAGS_SEPARATOR+YMarkUtil.FOLDERS_SEPARATOR, root+YMarkUtil.FOLDERS_SEPARATOR));
- }
- if(autotag) {
- bmk_entry.put(YMarkEntry.BOOKMARK.TAGS.key(), YMarkAutoTagger.autoTag(bookmark.getUrl(), sb.loader, agent, 3, sb.tables.bookmarks.getTags(bmk_user)));
- }
- sb.tables.bookmarks.addBookmark(bmk_user, bmk_entry, merge, true);
- prop.put("status", "1");
- } catch (final MalformedURLException e) {
- ConcurrentLog.logException(e);
- } catch (final IOException e) {
- ConcurrentLog.logException(e);
- }
- }
- }
- } else if(post.containsKey("importer") && post.get("importer").equals("dmoz")) {
- if(!isAdmin) {
- prop.authenticationRequired();
- return prop;
- }
- try {
- final File in = new File(sb.workPath, "content.rdf.u8.gz");
- final InputStream gzip = new FileInputStream(in);
- final InputStream content = new GZIPInputStream(gzip);
- final InputStreamReader reader = new InputStreamReader(content, StandardCharsets.UTF_8);
- final BufferedReader breader = new BufferedReader(reader);
- final MonitoredReader mreader = new MonitoredReader(breader, 1024*1024, in.length());
-
- final String source = post.get("source", "");
- final YMarkDMOZImporter DMOZImporter = new YMarkDMOZImporter(mreader, queueSize, root, source);
-
- mreader.addChangeListener(sb.tables.bookmarks.getProgressListener("DMOZImporter"));
- DMOZImporter.setDepth(6);
- OneTimeBusyThread.startFromRunnable(DMOZImporter, 0);
- OneTimeBusyThread.startFromRunnable(DMOZImporter.getConsumer(sb, bmk_user, autoTaggingQueue, autotag, empty, indexing, medialink), 0);
-
- prop.put("status", "1");
- } catch (final Exception e) {
- ConcurrentLog.logException(e);
- }
- }
- } else {
- prop.put(serverObjects.ACTION_AUTHENTICATE, YMarkTables.USER_AUTHENTICATE_MSG);
- }
- // return rewrite properties
- return prop;
- }
-
- public static void putBookmark(final Switchboard sb, final String bmk_user, final YMarkEntry bmk,
- final ArrayBlockingQueue<String> autoTaggingQueue, final boolean autotag, final boolean empty, final String indexing, final boolean medialink) {
- try {
- final String url = bmk.get(YMarkEntry.BOOKMARK.URL.key());
- // other protocols could cause problems
- if(url != null && url.startsWith("http")) {
- sb.tables.bookmarks.addBookmark(bmk_user, bmk, true, true);
- if(autotag) {
- if(!empty) {
- autoTaggingQueue.put(url);
- } else if(!bmk.containsKey(YMarkEntry.BOOKMARK.TAGS.key()) || bmk.get(YMarkEntry.BOOKMARK.TAGS.key()).equals(YMarkEntry.BOOKMARK.TAGS.deflt())) {
- autoTaggingQueue.put(url);
- }
- }
- // fill crawler
- if (indexing.equals("single")) {
- bmk.crawl(YMarkCrawlStart.CRAWLSTART.SINGLE, medialink, sb);
- } else if (indexing.equals("onelink")) {
- bmk.crawl(YMarkCrawlStart.CRAWLSTART.ONE_LINK, medialink, sb);
- } else if (indexing.equals("fulldomain")) {
- bmk.crawl(YMarkCrawlStart.CRAWLSTART.FULL_DOMAIN, medialink, sb);
- }
- }
- } catch (final IOException e) {
- ConcurrentLog.logException(e);
- } catch (final InterruptedException e) {
- ConcurrentLog.logException(e);
- }
- }
-}
diff --git a/htroot/api/ymarks/import_ymark.xml b/htroot/api/ymarks/import_ymark.xml
deleted file mode 100644
index a72c699cc..000000000
--- a/htroot/api/ymarks/import_ymark.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version='1.0' encoding="UTF-8" standalone='yes'?>
-<status code="#(status)#error::ok#(/status)#" /> \ No newline at end of file
diff --git a/htroot/api/ymarks/info.html b/htroot/api/ymarks/info.html
deleted file mode 100644
index a889d3630..000000000
--- a/htroot/api/ymarks/info.html
+++ /dev/null
@@ -1,64 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
- <title>YaCy - YMark API Info</title>
- </head>
- <body>
- <h3>YaCy - YMark API Info</h3>
- <ul>
- <li>add_ymark.xml
- <ul>
- <li><i>url: the bookmark url</i></li>
- <li><i>title:</i></li>
- <li><i>desc:</i></li>
- <li><i>tags:</i></li>
- <li><i>folders:</i></li>
- <li><i>public:</i></li>
- </ul>
- </li>
- <li>delete_ymark.xml
- <ul>
- <li><i>id:</i></li>
- <li><i>url:</i></li>
- </ul>
- </li>
- <li>get_ymark.xml
- <ul>
- <li><i>id:</i></li>
- <li><i>url:</i></li>
- <li><i>tags:</i></li>
- <li><i>folders:</i></li>
- </ul>
- </li>
- <li>get_treeview.[xml | json]
- <ul>
- <li><i>root:</i> the folder to display</li>
- <li><i>bmtype:</i></li>
- </ul>
- </li>
- <li>get_xml
- <ul>
- <li><i>root:</i> the root folder to start export from</li>
- <li><i>type:</i> xbel | rss | rdf</li>
- </ul>
- </li>
- <li>import_ymark.[xml | html]
- <ul>
- <li><i>bmfile:</i> the bookmark file you want to import
- <ul>
- <li>method="post"</li>
- <li>enctype="multipart/form-data"</li>
- <li>charset="UTF-8"
- <br/>for special characters to display correctly, it is important that the file is utf-8 encoded
- </li>
- </ul>
- </li>
- <li><i>importer:</i> html | xbel </li>
- <li><i>table:</i> the table you want to import in (admin authentication required)</li>
- <li><i>redirect:</i> you can specify a html redirect (HTTP-EQUIV="REFRESH")</li>
- </ul>
- </li>
- </ul>
- </body>
-</html> \ No newline at end of file
diff --git a/htroot/api/ymarks/manage_tags.java b/htroot/api/ymarks/manage_tags.java
deleted file mode 100644
index ac43ec052..000000000
--- a/htroot/api/ymarks/manage_tags.java
+++ /dev/null
@@ -1,85 +0,0 @@
-import java.io.IOException;
-import java.util.Iterator;
-import java.util.regex.Pattern;
-
-import net.yacy.cora.protocol.RequestHeader;
-import net.yacy.cora.util.ConcurrentLog;
-import net.yacy.data.UserDB;
-import net.yacy.data.ymark.YMarkTables;
-import net.yacy.data.ymark.YMarkUtil;
-import net.yacy.data.ymark.YMarkTables.TABLES;
-import net.yacy.kelondro.blob.Tables.Row;
-import net.yacy.search.Switchboard;
-import net.yacy.server.serverObjects;
-import net.yacy.server.serverSwitch;
-
-
-public class manage_tags {
-
- private static Switchboard sb = null;
- private static serverObjects prop = null;
-
- public static serverObjects respond(final RequestHeader header, final serverObjects post, final serverSwitch env) {
- sb = (Switchboard) env;
- prop = new serverObjects();
-
- String qtype;
- String query;
- String tags;
- String replace;
-
- final UserDB.Entry user = sb.userDB.getUser(header);
- final boolean isAdmin = (sb.verifyAuthentication(header));
- final boolean isAuthUser = user!= null && user.hasRight(UserDB.AccessRight.BOOKMARK_RIGHT);
-
- if(isAdmin || isAuthUser) {
- final String bmk_user = (isAuthUser ? user.getUserName() : YMarkTables.USER_ADMIN);
-
- if(post != null) {
- query = post.get("query", post.get("tags", YMarkUtil.EMPTY_STRING));
- qtype = post.get("qtype", "_tags");
- tags = YMarkUtil.cleanTagsString(post.get("tags", YMarkUtil.EMPTY_STRING));
- replace = post.get("replace", YMarkUtil.EMPTY_STRING);
-
- } else {
- query = ".*";
- qtype = YMarkUtil.EMPTY_STRING;
- tags = YMarkUtil.EMPTY_STRING;
- replace = YMarkUtil.EMPTY_STRING;
- }
-
- try {
- final String bmk_table = TABLES.BOOKMARKS.tablename(bmk_user);
- final Iterator<Row> row_iter;
- if(!query.isEmpty()) {
- if(!qtype.isEmpty()) {
- if(qtype.equals("_tags")) {
- if(query.isEmpty())
- query = tags;
- final String tagsString = YMarkUtil.cleanTagsString(query);
- row_iter = sb.tables.bookmarks.getBookmarksByTag(bmk_user, tagsString);
- } else if(qtype.equals("_folder")) {
- row_iter = sb.tables.bookmarks.getBookmarksByFolder(bmk_user, query);
- } else {
- row_iter = sb.tables.iterator(bmk_table, qtype, Pattern.compile(query));
- }
- } else {
- row_iter = sb.tables.iterator(bmk_table, Pattern.compile(query));
- }
- } else {
- final String tagsString = YMarkUtil.cleanTagsString(tags);
- row_iter = sb.tables.bookmarks.getBookmarksByTag(bmk_user, tagsString);
- // row_iter = sb.tables.iterator(bmk_table);
- }
- sb.tables.bookmarks.replaceTags(row_iter, bmk_user, tags, replace);
- prop.put("status", 1);
- } catch (final IOException e) {
- ConcurrentLog.logException(e);
- }
- } else {
- prop.put(serverObjects.ACTION_AUTHENTICATE, YMarkTables.USER_AUTHENTICATE_MSG);
- }
- // return rewrite properties
- return prop;
- }
-}
diff --git a/htroot/api/ymarks/manage_tags.xml b/htroot/api/ymarks/manage_tags.xml
deleted file mode 100644
index a72c699cc..000000000
--- a/htroot/api/ymarks/manage_tags.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version='1.0' encoding="UTF-8" standalone='yes'?>
-<status code="#(status)#error::ok#(/status)#" /> \ No newline at end of file
diff --git a/htroot/api/ymarks/test_import.html b/htroot/api/ymarks/test_import.html
deleted file mode 100644
index e30fbf137..000000000
--- a/htroot/api/ymarks/test_import.html
+++ /dev/null
@@ -1,70 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <title>YaCy Bookmarks</title>
- </head>
- <body>
- <form action="/api/ymarks/import_ymark.xml" method="post" enctype="multipart/form-data" accept-charset="UTF-8">
- <fieldset>
- <legend>Import Bookmarks</legend>
- <dl>
- <dt>
- <label for="importer">Bookmark File Format:</label>
- </dt>
- <dd>
- <input type="radio" name="importer" value="html" /> Netscape HTML,
- <small>
- bookmark.htm (Firefox, IE, Safari, Opera)
- </small>
- <br />
- <input type="radio" name="importer" value="json" /> Firefox JSON
- <br />
- <input type="radio" name="importer" value="xbel" /> XBEL,
- <small>
- <a href="http://pyxml.sourceforge.net/topics/xbel/" target="_blank">
- XML Bookmark Exchange Language
- </a>
- </small>
- <br />
- <input type="radio" name="importer" value="surro" /> Surrogate Reader
- </dd>
- <br />
- <dt>
- <label for="file">File:</label>
- </dt>
- <dd>
- <input type="file" name="bmkfile" id="bmkfile" />
- </dd>
- <br />
- <dt>
- <label for="root">Source Folder:</label>
- </dt>
- <dd>
- <input type="text" name="source" id="source" value="" disabled="disabled" />
- </dd>
- <br />
- <dt>
- <label for="root">Target Folder:</label>
- </dt>
- <dd>
- <input type="text" name="root" id="root" value="/Imported Bookmarks" />
- </dd>
- <br />
- <dt>
- <label for="autotag">Settings for automatic tagging:</label>
- </dt>
- <dd>
- <input type="radio" name="autotag" value="off" /> Off
- <br />
- <input type="radio" name="autotag" value="empty" /> Only for empty tags
- <br />
- <input type="radio" name="autotag" value="overwrite" /> Overwriting existing tags
- <br />
- <input type="radio" name="autotag" value="merge" /> Merging with existing tags
- </dd>
- </dl>
- <input type="submit" name="importbookmarks" value="import" class="btn btn-primary"/>
- </fieldset>
- </form>
- </body>
-</html> \ No newline at end of file
diff --git a/htroot/api/ymarks/test_treeview.html b/htroot/api/ymarks/test_treeview.html
deleted file mode 100644
index cba3dbdf0..000000000
--- a/htroot/api/ymarks/test_treeview.html
+++ /dev/null
@@ -1,38 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <link media="screen" type="text/css" href="yacy/ui/css/jquery.treeview.css" rel="stylesheet" />
- <title>YaCy Bookmarks</title>
- <script src="yacy/ui/js/jquery-1.3.2.min.js" type="text/javascript"></script>
- <script src="yacy/ui/js/jquery.treeview.min.js" type="text/javascript"></script>
- <script src="yacy/ui/js/jquery.treeview.async.js" type="text/javascript"></script>
- <script type="text/javascript">
- //<![CDATA[
- $(document).ready(function() {
- $("#yfolder").treeview({
- url: "get_treeview.json?bmtype=href&display=bmk",
- unique: false,
- toggle: function() {
-
- }
- });
- });
- $("button").click(function () {
- alert("test");
- });
- //]]>
- </script>
- </head>
- <body>
- <h3>YaCy Bookmarks</h3>
- <div>
- <ul id="yfolder" class="filetree"></ul>
- </div>
- </body>
-</html>
-
-
-
-
-
-