- send peer-messages from Messages_p.html without going to network-view first

git-svn-id: https://svn.berlios.de/svnroot/repos/yacy/trunk@3157 6c8d7289-2bf4-0310-a012-ef5d649a1542
This commit is contained in:
karlchenofhell 2007-01-03 01:44:36 +00:00
parent 88ee449300
commit 780aa5219d
2 changed files with 47 additions and 0 deletions

View File

@ -7,6 +7,20 @@
<body id="Messages">
#%env/templates/header.template%#
<h2>Messages</h2>
#(peersKnown)#::
<form enctype="multipart/form-data" action="MessageSend_p.html" method="get">
<fieldset><legend>Compose Message</legend>
<dl>
<dt><label for="peers">Send message to peer</label>:</dt>
<dd>
<select id="peers" name="hash">#{peers}#
<option value="#[hash]#">#[name]#</option>#{/peers}#
</select>
<input type="submit" name="submit" value="Compose" />
</dd>
</dl>
</fieldset></form>
#(/peersKnown)#
#(mode)#
<!-- List -->
<table border="0" cellpadding="2" cellspacing="1">

View File

@ -48,7 +48,9 @@ import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Enumeration;
import java.util.Iterator;
import java.util.TreeMap;
import de.anomic.data.messageBoard;
import de.anomic.data.wikiCode;
@ -57,10 +59,13 @@ import de.anomic.plasma.plasmaSwitchboard;
import de.anomic.server.serverFileUtils;
import de.anomic.server.serverObjects;
import de.anomic.server.serverSwitch;
import de.anomic.yacy.yacyCore;
import de.anomic.yacy.yacySeed;
public class Messages_p {
private static SimpleDateFormat SimpleFormatter = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
private static final String PEERSKNOWN = "peersKnown_";
public static String dateString(Date date) {
return SimpleFormatter.format(date);
@ -69,6 +74,34 @@ public class Messages_p {
public static serverObjects respond(httpHeader header, serverObjects post, serverSwitch env) {
plasmaSwitchboard switchboard = (plasmaSwitchboard) env;
serverObjects prop = new serverObjects();
// List known hosts for message sending (from Blacklist_p.java)
if (yacyCore.seedDB != null && yacyCore.seedDB.sizeConnected() > 0) {
prop.put("peersKnown", 1);
int peerCount = 0;
try {
TreeMap hostList = new TreeMap();
final Enumeration e = yacyCore.seedDB.seedsConnected(true, false, null, (float) 0.0);
while (e.hasMoreElements()) {
yacySeed seed = (yacySeed) e.nextElement();
if (seed != null) hostList.put(seed.get(yacySeed.NAME, "nameless"),seed.hash);
}
String peername;
while ((peername = (String) hostList.firstKey()) != null) {
final String Hash = (String) hostList.get(peername);
prop.put(PEERSKNOWN + "peers_" + peerCount + "_hash", Hash);
prop.put(PEERSKNOWN + "peers_" + peerCount + "_name", peername);
hostList.remove(peername);
peerCount++;
}
} catch (Exception e) {/* */}
prop.put(PEERSKNOWN + "peers", peerCount);
} else {
prop.put("peersKnown", 0);
}
prop.put("mode", 0);
prop.put("mode_error", 0);
wikiCode wikiTransformer = new wikiCode(switchboard);