From 421d0565508ec1f8b48e7f083a9b981ffdb1af13 Mon Sep 17 00:00:00 2001
From: low012
Date: Wed, 12 Nov 2008 00:47:54 +0000
Subject: [PATCH] *) changed layout of blacklist adminstration (less cluttered)
*) it is possible to move/edit/delete more than one entry at a time now *) it
is easier to choose a target for blacklist import now *) fixed several bugs
*) to be continued...
git-svn-id: https://svn.berlios.de/svnroot/repos/yacy/trunk@5330 6c8d7289-2bf4-0310-a012-ef5d649a1542
---
htroot/BlacklistCleaner_p.java | 2 +-
htroot/BlacklistImpExp_p.html | 52 +++++
htroot/BlacklistImpExp_p.java | 95 +++++++++
htroot/BlacklistTest_p.html | 38 ++++
htroot/BlacklistTest_p.java | 83 ++++++++
htroot/Blacklist_p.html | 194 +++++++-----------
htroot/Blacklist_p.java | 176 +++++++++-------
htroot/env/base.css | 24 ++-
.../env/templates/submenuBlacklist.template | 2 +
htroot/sharedBlacklist_p.html | 12 +-
htroot/sharedBlacklist_p.java | 34 ++-
11 files changed, 500 insertions(+), 212 deletions(-)
create mode 100644 htroot/BlacklistImpExp_p.html
create mode 100644 htroot/BlacklistImpExp_p.java
create mode 100644 htroot/BlacklistTest_p.html
create mode 100644 htroot/BlacklistTest_p.java
diff --git a/htroot/BlacklistCleaner_p.java b/htroot/BlacklistCleaner_p.java
index 1eec11270..3de3391d6 100644
--- a/htroot/BlacklistCleaner_p.java
+++ b/htroot/BlacklistCleaner_p.java
@@ -279,7 +279,7 @@ public class BlacklistCleaner_p {
if (s.contains("\\\\")) {
s = s.replaceAll(Pattern.quote("\\\\"), Matcher.quoteReplacement("\\"));
}
-
+
if (list.contains(s)) {
list.remove(s);
listChanged = true;
diff --git a/htroot/BlacklistImpExp_p.html b/htroot/BlacklistImpExp_p.html
new file mode 100644
index 000000000..d7dbf9b26
--- /dev/null
+++ b/htroot/BlacklistImpExp_p.html
@@ -0,0 +1,52 @@
+
+
+
+ YaCy '#[clientname]#': Blacklist Administration
+ #%env/templates/metas.template%#
+
+
+ #%env/templates/header.template%#
+ #%env/templates/submenuBlacklist.template%#
+
+
Blacklist Import
+
Used Blacklist engine: #[blacklistEngine]#
+
+ #(disabled)#
+ ::#(/disabled)#
+ #%env/templates/footer.template%#
+
+
diff --git a/htroot/BlacklistImpExp_p.java b/htroot/BlacklistImpExp_p.java
new file mode 100644
index 000000000..e51964444
--- /dev/null
+++ b/htroot/BlacklistImpExp_p.java
@@ -0,0 +1,95 @@
+// BlacklistImpExp_p.java
+// -----------------------
+// part of YaCy
+// (C) by Michael Peter Christen; mc@yacy.net
+// first published on http://www.anomic.de
+// Frankfurt, Germany, 2004
+//
+// This File is contributed by Alexander Schier
+//
+// $LastChangedDate: 2008-10-30 01:03:14 +0100 (Do, 30 Okt 2008) $
+// $LastChangedRevision: 5309 $
+// $LastChangedBy: low012 $
+//
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+// You must compile this file with
+// javac -classpath .:../classes Blacklist_p.java
+// if the shell's current path is HTROOT
+
+import java.io.File;
+import java.util.Iterator;
+import java.util.TreeMap;
+
+import de.anomic.data.listManager;
+import de.anomic.http.httpRequestHeader;
+import de.anomic.plasma.plasmaSwitchboard;
+import de.anomic.server.serverObjects;
+import de.anomic.server.serverSwitch;
+import de.anomic.yacy.yacySeed;
+import java.util.List;
+
+public class BlacklistImpExp_p {
+ private final static String DISABLED = "disabled_";
+
+ public static serverObjects respond(final httpRequestHeader header, final serverObjects post, final serverSwitch> env) {
+ final plasmaSwitchboard sb = (plasmaSwitchboard) env;
+
+ // initialize the list manager
+ listManager.switchboard = (plasmaSwitchboard) env;
+ listManager.listsPath = new File(listManager.switchboard.getRootPath(),listManager.switchboard.getConfig("listManager.listsPath", "DATA/LISTS"));
+
+ // loading all blacklist files located in the directory
+ final List dirlist = listManager.getDirListing(listManager.listsPath);
+
+ String blacklistToUse = null;
+ final serverObjects prop = new serverObjects();
+ prop.putHTML("blacklistEngine", plasmaSwitchboard.urlBlacklist.getEngineInfo());
+
+ // if we have not chosen a blacklist until yet we use the first file
+ if (blacklistToUse == null && dirlist != null && dirlist.size() > 0) {
+ blacklistToUse = dirlist.get(0);
+ }
+
+
+ // List known hosts for BlackList retrieval
+ if (sb.webIndex.seedDB != null && sb.webIndex.seedDB.sizeConnected() > 0) { // no nullpointer error
+ int peerCount = 0;
+ try {
+ final TreeMap hostList = new TreeMap();
+ final Iterator e = sb.webIndex.seedDB.seedsConnected(true, false, null, (float) 0.0);
+ while (e.hasNext()) {
+ final yacySeed seed = e.next();
+ if (seed != null) hostList.put(seed.get(yacySeed.NAME, "nameless"),seed.hash);
+ }
+
+ String peername;
+ while ((peername = hostList.firstKey()) != null) {
+ final String Hash = hostList.get(peername);
+ prop.putHTML(DISABLED + "otherHosts_" + peerCount + "_hash", Hash);
+ prop.putXML(DISABLED + "otherHosts_" + peerCount + "_name", peername);
+ hostList.remove(peername);
+ peerCount++;
+ }
+ } catch (final Exception e) {/* */}
+ prop.put(DISABLED + "otherHosts", peerCount);
+ }
+
+
+ prop.putXML(DISABLED + "currentBlacklist", (blacklistToUse==null) ? "" : blacklistToUse);
+ prop.put("disabled", (blacklistToUse == null) ? "1" : "0");
+ return prop;
+ }
+}
diff --git a/htroot/BlacklistTest_p.html b/htroot/BlacklistTest_p.html
new file mode 100644
index 000000000..48eddc8c2
--- /dev/null
+++ b/htroot/BlacklistTest_p.html
@@ -0,0 +1,38 @@
+
+
+
+ YaCy '#[clientname]#': Blacklist Test
+ #%env/templates/metas.template%#
+
+
+ #%env/templates/header.template%#
+ #%env/templates/submenuBlacklist.template%#
+
+
Blacklist Test
+
Used Blacklist engine: #[blacklistEngine]#
+
+
+ #%env/templates/footer.template%#
+
+
diff --git a/htroot/BlacklistTest_p.java b/htroot/BlacklistTest_p.java
new file mode 100644
index 000000000..6d27427b6
--- /dev/null
+++ b/htroot/BlacklistTest_p.java
@@ -0,0 +1,83 @@
+// BlacklistTest_p.java
+// -----------------------
+// part of YaCy
+// (C) by Michael Peter Christen; mc@yacy.net
+// first published on http://www.anomic.de
+// Frankfurt, Germany, 2004
+//
+// This File is contributed by Alexander Schier
+//
+// $LastChangedDate: 2008-10-30 01:03:14 +0100 (Do, 30 Okt 2008) $
+// $LastChangedRevision: 5309 $
+// $LastChangedBy: low012 $
+//
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+// You must compile this file with
+// javac -classpath .:../classes Blacklist_p.java
+// if the shell's current path is HTROOT
+
+import java.io.File;
+import java.net.MalformedURLException;
+
+import de.anomic.data.listManager;
+import de.anomic.http.httpRequestHeader;
+import de.anomic.index.indexReferenceBlacklist;
+import de.anomic.plasma.plasmaSwitchboard;
+import de.anomic.server.serverObjects;
+import de.anomic.server.serverSwitch;
+import de.anomic.yacy.yacyURL;
+
+public class BlacklistTest_p {
+
+ public static serverObjects respond(final httpRequestHeader header, final serverObjects post, final serverSwitch> env) {
+
+ // initialize the list manager
+ listManager.switchboard = (plasmaSwitchboard) env;
+ listManager.listsPath = new File(listManager.switchboard.getRootPath(),listManager.switchboard.getConfig("listManager.listsPath", "DATA/LISTS"));
+
+ final serverObjects prop = new serverObjects();
+ prop.putHTML("blacklistEngine", plasmaSwitchboard.urlBlacklist.getEngineInfo());
+
+ // do all post operations
+ if(post != null && post.containsKey("testList")) {
+ prop.put("testlist", "1");
+ String urlstring = post.get("testurl", "");
+ if(!urlstring.startsWith("http://")) urlstring = "http://"+urlstring;
+ yacyURL testurl = null;
+ try {
+ testurl = new yacyURL(urlstring, null);
+ } catch (final MalformedURLException e) { testurl = null; }
+ if(testurl != null) {
+ prop.putHTML("testlist_url",testurl.toString());
+ if(plasmaSwitchboard.urlBlacklist.isListed(indexReferenceBlacklist.BLACKLIST_CRAWLER, testurl))
+ prop.put("testlist_listedincrawler", "1");
+ if(plasmaSwitchboard.urlBlacklist.isListed(indexReferenceBlacklist.BLACKLIST_DHT, testurl))
+ prop.put("testlist_listedindht", "1");
+ if(plasmaSwitchboard.urlBlacklist.isListed(indexReferenceBlacklist.BLACKLIST_NEWS, testurl))
+ prop.put("testlist_listedinnews", "1");
+ if(plasmaSwitchboard.urlBlacklist.isListed(indexReferenceBlacklist.BLACKLIST_PROXY, testurl))
+ prop.put("testlist_listedinproxy", "1");
+ if(plasmaSwitchboard.urlBlacklist.isListed(indexReferenceBlacklist.BLACKLIST_SEARCH, testurl))
+ prop.put("testlist_listedinsearch", "1");
+ if(plasmaSwitchboard.urlBlacklist.isListed(indexReferenceBlacklist.BLACKLIST_SURFTIPS, testurl))
+ prop.put("testlist_listedinsurftips", "1");
+ }
+ else prop.put("testlist_url","not valid");
+ }
+ return prop;
+ }
+
+}
diff --git a/htroot/Blacklist_p.html b/htroot/Blacklist_p.html
index a9410e387..9c4374359 100644
--- a/htroot/Blacklist_p.html
+++ b/htroot/Blacklist_p.html
@@ -9,7 +9,6 @@
#%env/templates/submenuBlacklist.template%#
Blacklist Administration
-
Used Blacklist engine: #[blacklistEngine]#
This function provides an URL filter to the proxy; any blacklisted URL is blocked
from being loaded. You can define several blacklists and activate them separately.
@@ -17,46 +16,25 @@
collect blacklist entries from other peers.
Active list: #(disabled)##[currentBlacklist]#::No blacklist selected#(/disabled)#
+
Used Blacklist engine: #[blacklistEngine]#
-
-
-
+
#(disabled)#
-
-
-
-
-
-
-
-
-
-
-
-
-
- #{currentActiveFor}#
-
-
-
-
- #{/currentActiveFor}#
-
-
-
-
-
-
-
+ #(edit)#
-
- These are the domain name / path patterns in this blacklist:
- You can select them here for deletion
-
+
These are the domain name/path patterns in #[currentBlacklist]#:
-
+
+ ::
+
+
+
+ #{editList}#
+
+
+ #{/editList}#
+
+
+ #(/edit)#
+
domain/fullpath
@@ -154,10 +117,37 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ #{currentActiveFor}#
+
+
+
+
+ #{/currentActiveFor}#
+
+
+
+
+
+
::#(/disabled)#
+
+ #(status)#
::
#[item]# was removed from blacklist
::
@@ -165,43 +155,7 @@
#(/status)#