diff options
| author | Michael Peter Christen <mc@yacy.net> | 2021-09-16 22:23:51 +0200 |
|---|---|---|
| committer | Michael Peter Christen <mc@yacy.net> | 2021-09-16 22:23:51 +0200 |
| commit | 63ad8ce6b2a6a2659073c97095b56693e1c706b5 (patch) | |
| tree | 17f4bb05e8527c8c63757fed16fafcdd9272634d /htroot/api | |
| parent | ef5a71a592319f8f13633a1dda45add3179c4820 (diff) | |
removed ymarks
had not been used since a long time
Diffstat (limited to 'htroot/api')
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> - - - - - - |
