<!DOCTYPE html>
< html lang = "en" >
< head >
< title > YaCy '#[clientname]#': Index Browser< / title >
#%env/templates/metas.template%#
< script type = "text/javascript" >
//< ![CDATA[
function xmlhttpPost() {
var searchform = document.getElementById('searchform');
search(searchform.path.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', "solr/select?q=sku:\"" + query + "\" OR host_s:\"" + query + "\" OR host_dnc_s:\"" + query + "\" OR host_organization_s:\"" + query + "\" OR host_organizationdnc_s:\"" + query + "\" OR host_subdomain_s:\"" + query + "\" OR url_paths_sxt:\"" + query + "\" OR url_file_name_s:\"" + query + "\"& start=0& rows=100& wt=yjson", 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 updatepage(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 html = "";
if (totalResults > 0 & & firstChannel.items.length > 0) {
var item;
html += "< table class = \"networkTable\" style = \"border-width:0; width:99 % ; border-spacing:1px ; \ " > ";
html += "< thead > < tr class = \"TableHeader\" style = \"vertical-align:bottom;\" > ";
html += "< th style = \"padding: 2px ; \ " > URL from index (total results = " + totalResults + ")< \/th>< / tr > < / thead > ";
html += "< tbody > ";
for (var i = 0; i < firstChannel.items.length ; i + + ) {
item = firstChannel.items[i];
html += "< tr class = \"TableCellLight\" > < td style = \"padding: 2px ; text-align:left ; \ " > < a href = \"IndexBrowser_p.html?pathsearch=&path=" + item . link + " \ " > " + item.link + "< \/a>< \/td>";
}
html += "< / tbody > < \/table>";
}
document.getElementById("searchresults").innerHTML = html;
}
//]]>
< / script >
< script type = "text/javascript" src = "js/sorttable.js" > < / script >
<!-- style for hypertree -->
< link href = "env/hypertree.css" rel = "stylesheet" >
< / head >
< body id = "IndexControl" >
#%env/templates/header.template%#
#%env/templates/submenuWebStructure.template%#
< h1 > Index Browser< / h1 >
< p > Browse the index of #[ucount]# documents. Enter a host or an URL for a file list or view a list of < a href = "IndexBrowser_p.html?hosts=" > all hosts< / a > #(authorized)#::, < a href = "IndexBrowser_p.html?hosts=crawling" > only hosts with urls pending in the crawler< / a > or < a href = "IndexBrowser_p.html?hosts=error" > only with load errors< / a > #(/authorized)#.< / p >
< form action = "IndexBrowser_p.html" id = "searchform" method = "get" role = "search" >
< fieldset class = "yacys" >
< div class = "input-group" style = "width:600px;float:left;" >
< label for = "search" class = "input-group-addon" > Host/URL< / label >
< input id = "search" type = "search" name = "path" value = "#[path]#" maxlength = "250" class = "form-control" onkeyup = "xmlhttpPost(); return false;" / >
< div class = "input-group-btn" >
< button id = "list" name = "list" class = "btn btn-primary" > Browse Host< / button >
< / div >
< / div >
#(delete)#::
< input type = "submit" name = "delete" value = "Delete Subpath" class = "btn btn-danger" onclick = "return confirm('Confirm Deletion')" / >
< input type = "submit" name = "reload404" value = "Re-load load-failure docs (404s etc)" class = "btn btn-warning" / >
#(/delete)#
< div id = "searchresults" style = "clear:both;" > < / div >
< / fieldset >
< / form >
#[result]#
#(hosts)#::
< fieldset > < legend > Host List< / legend >
< ol style = "list-style-type : none; padding-left: 0px" >
#{list}#
< li style = "float:left; padding:1px 5px 1px 5px;" >
< div style = "width:180px; text-align:left; float: left; white-space:nowrap; overflow:hidden;" > < div > < img src = "env/grafics/#(type)#invisible.png::burn-e.gif::construction.gif#(/type)#" alt = "#(type)#::Host has load error(s)::Pending in Crawler#(/type)#" title = "#(type)#::Host has load error(s)::Pending in Crawler#(/type)#" style = "float:left" width = "12" height = "8" > < a href = "IndexBrowser_p.html?path=#[host]#&facetcount=#[count]#" > #[host]#< / a > < / div > < / div >
< div style = "width:120px; text-align:right; float: left; white-space:nowrap; overflow:hidden;" > < span class = "commit" aria-label = "#[count]# valid" > #[count]#< / span > #(crawler)#::/< span class = "pending" aria-label = "#[pending]# pending" > #[pending]#< / span > #(/crawler)##(errors)#::/< span class = "info" aria-label = "#[exclcount]# excluded" > #[exclcount]#< / span > /< span class = "error" aria-label = "#[failcount]# failed" > #[failcount]#< / span > #(/errors)# URLs< / div >
< / li >
#{/list}#
< / ol >
< div style = "clear:both; float:left; padding:10px 5px 1px 5px;" >
< span > Count Colors:< / span >
< span class = "commit" > Documents without Errors< / span >
#(authorized)#::
< span class = "pending" > Pending in Crawler< / span >
< span class = "info" > Crawler Excludes< / span >
< span class = "error" > Load Errors< / span >
#(/authorized)#
< / div >
< / fieldset >
< link rel = "stylesheet" href = "env/morris.css" >
< script src = "js/raphael.min.js" > < / script >
< script src = "js/morris.js" > < / script >
< script type = "text/javascript" src = "js/accessibleHistogram.js" charset = "UTF-8" > < / script >
< div id = "graph" style = "height:200px" > < / div >
< script >
var solr= $.getJSON("solr/collection1/select?q=*:*& start=0& rows=0& wt=json& facet=true& facet.sort=index& facet.range=dates_in_content_dts& f.dates_in_content_dts.facet.range.start=NOW/DAY-99DAYS& f.dates_in_content_dts.facet.range.end=NOW/DAY%2B1DAY& f.dates_in_content_dts.facet.range.gap=%2B1DAY", function(data) {
dates_in_content_dts = data.facet_counts.facet_ranges.dates_in_content_dts.counts;
var parsed = [];
for (var i = 0; i < dates_in_content_dts.length ; i = i + 2 ) {
var date = dates_in_content_dts[i];
var count = dates_in_content_dts[i + 1];
if (date & & count) {parsed[parsed.length] = {x: date,y: count};};
};
if (parsed.length > 0) {
var histogram = Morris.Bar({
element: 'graph',
data: parsed,
xkey: 'x',
ykeys: ['y'],
labels: ['number of documents about this date'],
yLabelFormat: function (y) { return y.toString() + ' docs'; },
barColors: function (row, series, type) {
var d = new Date(row.label);
if (d.getDay() === 6) return '#4aaf46'; //saturday
if (d.getDay() === 0) return '#4aaf46'; //sunday
return '#3574c0';
},
hideHover: 'false'
}).on('click', function(i, row) {
console.log(i, row);
});
/* Add keyboard navigation support and accessible attributes */
makeAccessibleMorrisBar(histogram,
"Number of documents per date histogram",
function(data) {return data.x + " : " + data.y + " docs"});
}
});
< / script >
#(/hosts)#
#(hostanalysis)#::
< fieldset > < legend > Host Analysis< / legend >
#{facets}#
< table class = "sortable" style = "float:left; border-width: 0" >
< tr class = "TableCellDark" >
< td style = "text-align:left;white-space:nowrap" colspan = "5" class = "pending" > #[facetname]#< / td >
< td style = "text-align:right;white-space:nowrap" colspan = "5" class = "listingok" > #< / td >
< / tr >
#{facet}#
< tr class = "TableCellLight" >
< td style = "text-align:left;white-space:nowrap" colspan = "5" class = "pending" > #[key]#< / td >
< td style = "text-align:right;white-space:nowrap" colspan = "5" class = "listingok" > < a href = "#[a]#" target = "_blank" class = "forceNoExternalIcon" > #[count]#< / a > < / td >
< / tr >
#{/facet}#
< / table >
#{/facets}#
< / fieldset >
#(/hostanalysis)#
#(files)#::
< fieldset >
< legend style = "display: inline" > Browser for < a href = "#[path]#" target = "_blank" > #[path]#< / a >
< span style = "padding-left: 25px" >
< form style = "display: inline" action = "IndexBrowser_p.html?path=#[path]#" id = "searchform" method = "get" role = "search" >
< button type = "submit" name = "addtoblacklist" class = "btn btn-xs btn-default" > Add to blacklist #(blkadded)#::< span class = "text-success glyphicon glyphicon-ok" > < / span > ::< span class = "text-danger glyphicon glyphicon-remove" > #(/blkadded)#< / button >
< input type = "text" name = "path" value = "#[path]#" hidden = "true" / >
< / form >
< / span >
< / legend >
< p > documents stored for host: #[hostsize]#; documents stored for subpath: #[subpathloadsize]#; unloaded documents detected in subpath: #[subpathdetectedsize]# <!-- #(complete)#;<a href="IndexBrowser_p.html?complete=true&path=#[path]#">get complete list</a>::<a href="IndexBrowser_p.html?path=#[path]#">directory view</a>#(/complete)# -->
< / p >
< table class = "sortable" style = "float:left; border-width: 0" >
< thead >
< tr >
< th style = "text-align:center; width:32px" > < / th >
< th style = "text-align:left; width: 600px" class = "listing" > Path< / th >
< th style = "text-align:right; padding:2px;" class = "listingem" > stored< / th >
< th style = "text-align:right; padding:2px;" class = "listingem" > linked< / th >
< th style = "text-align:right; padding:2px;" class = "listingem" > pending< / th >
< th style = "text-align:right; padding:2px;" class = "listingem" > excluded< / th >
< th style = "text-align:right; padding:2px;" class = "listingem" > failed< / th >
< / tr >
< / thead >
< tbody >
#(root)#
< tr class = "TableCell#(dark)#Light::Dark::Summary#(/dark)#" >
< td style = "text-align:center" > < / td >
< td style = "text-align:left;white-space:nowrap" > < a href = "IndexBrowser_p.html?path=#[path]#" class = "listing" > ..< / a > < / td >
< td style = "text-align:right;white-space:nowrap" colspan = "5" > < / td >
< / tr > ::
#(/root)#
#{list}#
#(type)#<!-- file -->
< tr class = "TableCell#(dark)#Light::Dark::Summary#(/dark)#" >
< td style = "text-align:center" > < div > < a href = "ViewFile.html?url=#[url]#" > < img src = "env/grafics/doc.gif" alt = "" / > < span > Metadata< / span > < / a > < / div > < / td >
< td style = "text-align:left;white-space:nowrap" class = #(stored)#"listingem"::"listing"#(/stored)# > < a href = "#[url]#" target = "_blank" > #[url]#< / a > < / td >
#(stored)#
#(load)#< td style = "text-align:left;white-space:nowrap" colspan = "5" class = "listingem" > link, detected from context< / td > ::< td style = "text-align:left;white-space:nowrap" colspan = "5" class = "listingnok" > < a href = "IndexBrowser_p.html?load=#[url]#&path=#[path]#" > load & index< / a > #(/load)#< / td > ::
< td style = "text-align:left;white-space:nowrap" colspan = "1" class = "listingok" > indexed< / td > < td style = "text-align:left;white-space:nowrap" colspan = "4" class = "listingem" > #[comment]#< / td > ::
< td style = "text-align:left;white-space:nowrap" colspan = "5" class = "pending" > loading< / td > ::
< td style = "text-align:left;white-space:nowrap" colspan = "5" class = "listingnok" > #[error]#< / td >
#(/stored)#
< / tr > ::<!-- folder -->
< tr class = "TableCell#(dark)#Light::Dark::Summary#(/dark)#" >
< td style = "text-align:center" > < img src = "env/grafics/dir.gif" alt = "Directory" / > < / td >
< td style = "text-align:left;white-space:nowrap" class = "listing" > < a href = "IndexBrowser_p.html?path=#[url]#" class = "listing" > #[url]#< / a > < / td >
< td style = "text-align:right" class = "commit" > #[stored]#< / td >
< td style = "text-align:right" class = "listing" > #[linked]#< / td >
< td style = "text-align:right" # ( pendingVisible ) # class = "listingem" ::class = "pending" # ( / pendingVisible ) # > #[pending]#< / td >
< td style = "text-align:right" # ( excludedVisible ) # class = "listingem" ::class = "error" # ( / excludedVisible ) # > #[excluded]#< / td >
< td style = "text-align:right" # ( failedVisible ) # class = "listingem" ::class = "error" # ( / failedVisible ) # > #[failed]#< / td >
< / tr >
#(/type)#
#{/list}#
< / tbody >
< / table >
< / fieldset >
#(linkgraph)#< div style = "text-align:center" > < form > < input name = "showlinkstructure" onClick = "location.href = location.toString() + '&showlinkstructure=';" class = "btn btn-default btn-xs" value = "show link graph" / > < / form > < / div > ::
< script src = "js/d3.v5.min.js" > < / script >
< script src = "js/hypertree.js" > < / script >
< div id = "linkstructure" > < / div >
< script > $ ( document ) . ready ( linkstructure ( "#[host]#" , "#linkstructure" , 1280 , 720 , 3000 , 700 ) ) ; < / script >
#(/linkgraph)#
#(/files)#
#(outbound)#::
< fieldset > < legend > Outbound Links, outgoing from #[host]# - Host List< / legend >
< ol style = "list-style-type : none; padding-left: 0px" >
#{list}#
< li style = "float:left; padding:1px 5px 1px 5px;" >
< div style = "width:160px; text-align:left; float: left; white-space:nowrap; overflow:hidden;" > < div > < a href = "IndexBrowser_p.html?path=#[link]#" > #[host]#< / a > < / div > < / div >
< div style = "width:80px; text-align:right; float: left; white-space:nowrap; overflow:hidden;" > #[count]# URLs< / div >
< / li >
#{/list}#
< / ol >
< p style = "clear:both" > < br / >
< img src = "WebStructurePicture_p.png?host=#[host]#&depth=3&width=1024&height=576&nodes=200&time=1000&colortext=888888&colorback=FFFFFF&colordot0=1111BB&colordota=11BB11&colorline=222222&colorlineend=333333" >
< / p >
< / fieldset >
#(/outbound)#
#(inbound)#::
< fieldset > < legend > Inbound Links, incoming to #[host]# - Host List< / legend >
< ol style = "list-style-type : none; padding-left: 0px" >
#{list}#
< li style = "float:left; padding:1px 5px 1px 5px;" >
< div style = "width:160px; text-align:left; float: left; white-space:nowrap; overflow:hidden;" > < div > < a href = "IndexBrowser_p.html?path=#[host]#" > #[host]#< / a > < / div > < / div >
< div style = "width:80px; text-align:right; float: left; white-space:nowrap; overflow:hidden;" > #[count]# URLs< / div >
< / li >
#{/list}#
< / ol >
< / fieldset >
#(/inbound)#
#(hosts)#::
< form action = "IndexBrowser_p.html" method = "get" >
< fieldset > < legend > Administration Options< / legend >
< div > Delete all < span class = "error" > Load Errors< / span > from index < input style = "width:240px " type = "submit" name = "deleteLoadErrors" value = "Delete Load Errors" class = "btn btn-primary" / > < / div >
< / fieldset >
< / form >
#(/hosts)#
#%env/templates/footer.template%#
< / body >
< / html >