You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
115 lines
4.2 KiB
115 lines
4.2 KiB
<!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 Interactive Search</title>
|
|
#%env/templates/metas.template%#
|
|
<script language="Javascript">
|
|
//<![CDATA[
|
|
function xmlhttpPost() {
|
|
var searchform = document.forms['searchform'];
|
|
search(searchform.query.value);
|
|
}
|
|
|
|
function search(query) {
|
|
var xmlHttpReq = false;
|
|
var self = this;
|
|
if (window.XMLHttpRequest) { // Mozilla/Safari
|
|
self.xmlHttpReq = new XMLHttpRequest();
|
|
}
|
|
else if (window.ActiveXObject) { // IE
|
|
self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
|
|
}
|
|
self.xmlHttpReq.open('GET', "yacysearch.json?verify=false&resource=local&maximumRecords=100&nav=topics&query=" + query, true);
|
|
self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
|
|
self.xmlHttpReq.onreadystatechange = function() {
|
|
if (self.xmlHttpReq.readyState == 4) {
|
|
updatepage(self.xmlHttpReq.responseText);
|
|
}
|
|
}
|
|
self.xmlHttpReq.send(null);
|
|
}
|
|
|
|
function navget(list, name) {
|
|
for (var i = 0; i < list.length; i++) {
|
|
if (list[i].facetname = name) return list[i];
|
|
}
|
|
}
|
|
|
|
function updatepage(str) {
|
|
var raw = document.getElementById("raw");
|
|
if (raw != null) raw.innerHTML = str;
|
|
var rsp = eval("("+str+")");
|
|
var firstChannel = rsp.channels[0];
|
|
var totalResults = firstChannel.totalResults.replace(/[,.]/,"");
|
|
var startIndex = firstChannel.startIndex;
|
|
var itemsPerPage = firstChannel.itemsPerPage;
|
|
var navigation = firstChannel.navigation;
|
|
var topics = navget(navigation, "topics");
|
|
|
|
var html = "<span id=\"resCounter\" style=\"display: inline;\">total results = " + totalResults;
|
|
if (topics.length > 0) {
|
|
var topwords = "";
|
|
for (var i = 0; i < topics.elements.length; i++) {
|
|
topwords += "<a href=\"yacyinteractive.html?query=" + firstChannel.searchTerms + "+" + topics.elements[i].name + "\">" + topics.elements[i].name + "</a> ";
|
|
if (i > 10) break;
|
|
}
|
|
html += " topwords: " + topwords;
|
|
}
|
|
html += "</span><br>";
|
|
|
|
if (totalResults > 0) {
|
|
var item;
|
|
html += "<table class=\"networkTable\" border=\"0\" cellpadding=\"2\" cellspacing=\"1\" width=\"99%\">";
|
|
html += "<tr class=\"TableHeader\" valign=\"bottom\">";
|
|
html += "<td>Name</td>";
|
|
html += "<td width=\"60\">Size</td>";
|
|
//html += "<td>Description</td>";
|
|
html += "<td width=\"180\">Date</td></tr>";
|
|
for (var i = 0; i < firstChannel.items.length; i++) {
|
|
item = firstChannel.items[i];
|
|
html += "<tr class=\"TableCellLight\"><td align=\"left\"><a href=\"" + item.link + "\">" + item.title + "</a></td>";
|
|
html += "<td align=\"right\">" + item.sizename + "</td>";
|
|
//html += "<td>" + item.description + "</td>";
|
|
html += "<td align=\"right\">" + item.pubDate + "</td></tr>";
|
|
}
|
|
html += "</table>";
|
|
}
|
|
document.getElementById("searchresults").innerHTML = html;
|
|
}
|
|
//]]>
|
|
</script>
|
|
</head>
|
|
<body>
|
|
<script type="text/javascript">
|
|
//<![CDATA[
|
|
var q = "#[query]#";
|
|
if (q != "") search(q);
|
|
//]]>
|
|
</script>
|
|
#(display)#
|
|
#%env/templates/simpleheader.template%#
|
|
::
|
|
<div id="api"><a href="yacysearch.json?query=yacy"><img src="env/grafics/api.png" alt="API"/></a>
|
|
<span>This page uses the JSON search API to display search results as you type.
|
|
Click the API icon to see an example call to the native API.
|
|
To see a list of all APIs, please visit the <a href="http://www.yacy-websuche.de/wiki/index.php/Dev:API">API wiki page</a>.</span>
|
|
</div>
|
|
#%env/templates/header.template%#
|
|
::
|
|
#%env/templates/embeddedheader.template%#
|
|
#(/display)#
|
|
|
|
<form class="search small" name="searchform" action="yacyinteractive.html" method="get" onkeyup="xmlhttpPost(); return false;">
|
|
<h2>#[promoteSearchPageGreeting]#</h2>
|
|
<div class="yacylogo">
|
|
<a href="#[promoteSearchPageGreeting.homepage]#" class="yacylogo"><img src="#[promoteSearchPageGreeting.smallImage]#" alt="yacysearch"/></a>
|
|
</div>
|
|
<fieldset class="yacys"><input name="query" type="text" value="#[query]#" size="50" maxlength="80" /></fieldset>
|
|
|
|
<!--<pre>Raw JSON String: <div id="raw"></div></pre>-->
|
|
</form>
|
|
<div id="searchresults"></div>
|
|
|
|
#%env/templates/footer.template%#
|
|
</body>
|
|
</html> |