git-svn-id: https://svn.berlios.de/svnroot/repos/yacy/trunk@5519 6c8d7289-2bf4-0310-a012-ef5d649a1542pull/1/head
parent
a2b336dfe7
commit
92d77c3bef
@ -0,0 +1,9 @@
|
|||||||
|
[
|
||||||
|
#{folders}#{
|
||||||
|
"text": "#[foldername]#",
|
||||||
|
"expanded": #[expanded]#,
|
||||||
|
"classes": "#[classes]#",
|
||||||
|
"id": "#[hash]#",
|
||||||
|
"hasChildren": #[hasChildren]#
|
||||||
|
}#[comma]##{/folders}#
|
||||||
|
]
|
@ -0,0 +1,72 @@
|
|||||||
|
/*
|
||||||
|
* Async Treeview 0.1 - Lazy-loading extension for Treeview
|
||||||
|
*
|
||||||
|
* http://bassistance.de/jquery-plugins/jquery-plugin-treeview/
|
||||||
|
*
|
||||||
|
* Copyright (c) 2007 Jörn Zaefferer
|
||||||
|
*
|
||||||
|
* Dual licensed under the MIT and GPL licenses:
|
||||||
|
* http://www.opensource.org/licenses/mit-license.php
|
||||||
|
* http://www.gnu.org/licenses/gpl.html
|
||||||
|
*
|
||||||
|
* Revision: $Id$
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
;(function($) {
|
||||||
|
|
||||||
|
function load(settings, root, child, container) {
|
||||||
|
$.getJSON(settings.url, {root: root}, function(response) {
|
||||||
|
function createNode(parent) {
|
||||||
|
var current = $("<li/>").attr("id", this.id || "").html("<span>" + this.text + "</span>").appendTo(parent);
|
||||||
|
if (this.classes) {
|
||||||
|
current.children("span").addClass(this.classes);
|
||||||
|
}
|
||||||
|
if (this.expanded) {
|
||||||
|
current.addClass("open");
|
||||||
|
}
|
||||||
|
if (this.hasChildren || this.children && this.children.length) {
|
||||||
|
var branch = $("<ul/>").appendTo(current);
|
||||||
|
if (this.hasChildren) {
|
||||||
|
current.addClass("hasChildren");
|
||||||
|
createNode.call({
|
||||||
|
text:"placeholder",
|
||||||
|
id:"placeholder",
|
||||||
|
children:[]
|
||||||
|
}, branch);
|
||||||
|
}
|
||||||
|
if (this.children && this.children.length) {
|
||||||
|
$.each(this.children, createNode, [branch])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$.each(response, createNode, [child]);
|
||||||
|
$(container).treeview({add: child});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
var proxied = $.fn.treeview;
|
||||||
|
$.fn.treeview = function(settings) {
|
||||||
|
if (!settings.url) {
|
||||||
|
return proxied.apply(this, arguments);
|
||||||
|
}
|
||||||
|
var container = this;
|
||||||
|
load(settings, "source", this, container);
|
||||||
|
var userToggle = settings.toggle;
|
||||||
|
return proxied.call(this, $.extend({}, settings, {
|
||||||
|
collapsed: true,
|
||||||
|
toggle: function() {
|
||||||
|
var $this = $(this);
|
||||||
|
if ($this.hasClass("hasChildren")) {
|
||||||
|
var childList = $this.removeClass("hasChildren").find("ul");
|
||||||
|
childList.empty();
|
||||||
|
load(settings, this.id, childList, container);
|
||||||
|
}
|
||||||
|
if (userToggle) {
|
||||||
|
userToggle.apply(this, arguments);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}));
|
||||||
|
};
|
||||||
|
|
||||||
|
})(jQuery);
|
@ -1,125 +0,0 @@
|
|||||||
<script type="text/javascript">
|
|
||||||
//<![CDATA[
|
|
||||||
$(document).ready(function() {
|
|
||||||
/* Init Sidebar_2 */
|
|
||||||
$("#side2").accordion({
|
|
||||||
autoHeight: false,
|
|
||||||
clearStyle: true,
|
|
||||||
header: "h3"
|
|
||||||
});
|
|
||||||
$("#side2").accordion("activate", 1);
|
|
||||||
/* Load Folders */
|
|
||||||
loadFolders();
|
|
||||||
/* experiemntal: only works with first folder level */
|
|
||||||
$("span.folder").click(function() {
|
|
||||||
qtag = "/"+$(this).text();
|
|
||||||
if (tabid == "#Bookmarks") {
|
|
||||||
$tabs.tabs("load", 3);
|
|
||||||
} else {
|
|
||||||
$tabs.tabs('select',3);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
/* Load TagCloud */
|
|
||||||
loadTagCloud();
|
|
||||||
});
|
|
||||||
function loadFolders() {
|
|
||||||
$("#yfolder *").remove();
|
|
||||||
$("#yfolder").getTransform('xsl/xbel2folder-ul.xsl','/api/bookmarks/xbel/xbel.xml');
|
|
||||||
$("#yfolder").treeview({
|
|
||||||
collapsed: true,
|
|
||||||
unique: true
|
|
||||||
});
|
|
||||||
}
|
|
||||||
function loadTagCloud() {
|
|
||||||
$("#tagcloud *").remove();
|
|
||||||
$("#sidebar-2-1").toggleClass("loading");
|
|
||||||
$.ajax({
|
|
||||||
type: "POST",
|
|
||||||
url: "/api/bookmarks/tags/getTag.xml?top=25&sort=alpha",
|
|
||||||
dataType: "xml",
|
|
||||||
cache: false,
|
|
||||||
success: function(xml) {
|
|
||||||
$(xml).find('tag').each(function(){
|
|
||||||
var count = $(this).attr('count');
|
|
||||||
var tag = $(this).attr('tag');
|
|
||||||
var size = ((count/20)+0.3);
|
|
||||||
if (size < 1) {size = 1;}
|
|
||||||
$('<a style="font-size:'+size+'em"></a>')
|
|
||||||
.html(HTMLenc(tag)+' ')
|
|
||||||
.appendTo('#tagcloud')
|
|
||||||
.bind('click', function() {
|
|
||||||
qtag = $(this).text();
|
|
||||||
$("select[@name='resource']").setValue('ymarks');
|
|
||||||
$("input[@name='search']").setValue(qtag);
|
|
||||||
if (tabid == "#Bookmarks") {
|
|
||||||
$tabs.tabs("load", 3);
|
|
||||||
} else {
|
|
||||||
$tabs.tabs('select',3);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}); //close each(
|
|
||||||
$("#sidebar-2-1").toggleClass("loading");
|
|
||||||
}
|
|
||||||
}); //close $.ajax(
|
|
||||||
}
|
|
||||||
//]]>
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<!-- 0 -->
|
|
||||||
<h3>Search Options</h3>
|
|
||||||
<div class="yform">
|
|
||||||
<form id="yoptions" class="small" method="get" action="" accept-charset="UTF-8">
|
|
||||||
<p>
|
|
||||||
<label for="itemsPerPage">Items per page: </label>
|
|
||||||
<br />
|
|
||||||
<select class="selector" name="itemsPerPage">
|
|
||||||
<option selected="selected" value="10">10</option>
|
|
||||||
<option value="15">15</option>
|
|
||||||
<option value="25">25</option>
|
|
||||||
<option value="50">50</option>
|
|
||||||
</select>
|
|
||||||
<br />
|
|
||||||
<label for="constraint">Constraint:</label>
|
|
||||||
<br />
|
|
||||||
<select class="selector" id="constraint" name="constraint">
|
|
||||||
<option value="" selected="selected">all pages</option>
|
|
||||||
<option value="AQAAAA" >index pages</option>
|
|
||||||
</select>
|
|
||||||
<br />
|
|
||||||
<label for="urlmaskfilter">URL mask:</label>
|
|
||||||
<br />
|
|
||||||
<input class="filter" name="urlmaskfilter" value=".*" type="text" size="12" maxlength="80" />
|
|
||||||
<img src="img-2/question_blue.png" class="help" alt="help" title="help" />
|
|
||||||
<br />
|
|
||||||
<label for="prefermaskfilter">Prefer mask:</label>
|
|
||||||
<br />
|
|
||||||
<input class="filter" name="prefermaskfilter" value="" type="text" size="12" maxlength="80" />
|
|
||||||
<img src="img-2/question_blue.png" class="help" alt="help" title="help" />
|
|
||||||
</p>
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- 1 -->
|
|
||||||
<h3 id="tagcloud-h3">Bookmark TagCloud
|
|
||||||
<span id="sidebar-2-1"></span>
|
|
||||||
</h3>
|
|
||||||
<div class="menu">
|
|
||||||
<p id="tagcloud"></p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- 2 -->
|
|
||||||
<h3>Bookmark Folders
|
|
||||||
<span id="sidebar-2-2"></span>
|
|
||||||
</h3>
|
|
||||||
<div class="menu">
|
|
||||||
<ul class="filetree" id="yfolder"></ul>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1,137 +1,144 @@
|
|||||||
<script type="application/javascript">
|
<script type="text/javascript">
|
||||||
//<![CDATA[
|
//<![CDATA[
|
||||||
$(document).ready(function() {
|
$(document).ready(function() {
|
||||||
$("#side3").accordion("activate", 0);
|
$("#side3").accordion("activate", 0);
|
||||||
$.ajax({
|
var height=document.documentElement.clientHeight - 240;
|
||||||
type: "GET",
|
|
||||||
url: query,
|
$(tabid+" .yresult").flexigrid({
|
||||||
async: false,
|
url: '/yacysearch.json',
|
||||||
dataType: "xml",
|
dataType: 'json',
|
||||||
success: function(xml) {
|
method: 'GET',
|
||||||
if (($.browser.mozilla && (parseInt($.browser.version.replace(".","","g")) > 1800))) {
|
query: $(tabid).attr('search'),
|
||||||
var totalResults = parseInt($(xml).find('opensearch\\:totalResults').text().replace(",","","g"));
|
colModel: [
|
||||||
var startIndex = parseInt($(xml).find('opensearch\\:startIndex').text());
|
{display: 'Hash', name : 'hash', width : 50, sortable : false, align: 'center', hide: true},
|
||||||
var itemsPerPage = parseInt($(xml).find('opensearch\\:itemsPerPage').text());
|
{display: 'Public', name : 'public', width : 25, sortable : true, align: 'center'},
|
||||||
var query = $(xml).find('opensearch\\:Query').attr('searchTerms');
|
{display: 'Title', name : 'title', width : 450, sortable : true, align: 'left'},
|
||||||
} else {
|
{display: 'Tags', name : 'tags', width : 240, sortable : false, align: 'left'},
|
||||||
var totalResults = parseInt($(xml).find('totalResults').text().replace(",","","g"));
|
{display: 'Folders', name : 'folders', width : 240, sortable : false, align: 'left', hide: true},
|
||||||
var startIndex = parseInt($(xml).find('startIndex').text());
|
{display: 'Date', name : 'date', width : 100, sortable : true, align: 'left'}
|
||||||
var itemsPerPage = parseInt($(xml).find('itemsPerPage').text());
|
],
|
||||||
var query = $(xml).find('Query').attr('searchTerms');
|
buttons: [
|
||||||
|
{name: 'Crawl', bclass: 'crawl', onpress: yaction},
|
||||||
|
{name: 'Open', bclass: 'pictures', onpress: yaction},
|
||||||
|
{separator: true},
|
||||||
|
{name: 'Bookmark', bclass: 'bookmark', onpress: yaction},
|
||||||
|
{name: 'Blacklist', bclass: 'blacklist', onpress: yaction},
|
||||||
|
{separator: true},
|
||||||
|
{name: 'Help', bclass: 'help', onpress:yaction},
|
||||||
|
],
|
||||||
|
useRp: true,
|
||||||
|
rp: 10,
|
||||||
|
usepager: true,
|
||||||
|
striped: true,
|
||||||
|
nowrap: false,
|
||||||
|
height: height,
|
||||||
|
autoload: true,
|
||||||
|
onSuccess: function() {
|
||||||
|
$("a.favicon").faviconize({
|
||||||
|
position: "before",
|
||||||
|
defaultImage: "img-2/article.png",
|
||||||
|
className: "favicon"
|
||||||
|
});
|
||||||
|
},
|
||||||
|
preProcess: function(data) {
|
||||||
|
var total = data.channels[0].totalResults.replace(/[,.]/,"");
|
||||||
|
var page = (data.channels[0].startIndex / data.channels[0].itemsPerPage) + 1;
|
||||||
|
var rows = {};
|
||||||
|
$.each (
|
||||||
|
data.channels[0].items,
|
||||||
|
function(i,item) {
|
||||||
|
if (item) {
|
||||||
|
var html = "<h3 class='linktitle'>"+item.title+"</h3><p class='desc'>"+item.description+"</p><p class='url'><a href='"+item.link+"'>"+item.link+"</a>"
|
||||||
|
var fav = "<a class='favicon' href='"+item.link+"'></a>";
|
||||||
|
rows[i] = {id: item.guid, cell: [item.guid, fav, html, "Tags", "Folders", item.pubDate]};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
var pdata = {
|
||||||
|
page: page,
|
||||||
|
total: total,
|
||||||
|
rows: rows
|
||||||
|
};
|
||||||
|
return pdata;
|
||||||
|
},
|
||||||
|
onSubmit: function() {
|
||||||
|
var p = this;
|
||||||
|
var g = $(tabid+" .yresult");
|
||||||
|
|
||||||
|
$('.pPageStat',this.pDiv).html(p.procmsg);
|
||||||
|
$('.pReload',this.pDiv).addClass('loading');
|
||||||
|
if (g.bDiv) $(g.block).css({top:g.bDiv.offsetTop});
|
||||||
|
if (p.hideOnSubmit) $(this.gDiv).prepend(g.block); //$(t).hide();
|
||||||
|
if ($.browser.opera) $(t).css('visibility','hidden');
|
||||||
|
if (!p.newp) p.newp = 1;
|
||||||
|
if (p.page>p.pages) p.page = p.pages;
|
||||||
|
|
||||||
|
var offset = p.newp * p.rp -p.rp;
|
||||||
|
|
||||||
|
var param = [
|
||||||
|
{ name : 'startRecord', value : offset }
|
||||||
|
,{ name : 'maximumRecords', value : p.rp }
|
||||||
|
,{ name : 'resource', value : $(tabid).attr('resource')}
|
||||||
|
,{ name : 'verify', value : "true" }
|
||||||
|
,{ name : 'search', value : p.query}
|
||||||
|
,{ name : 'urlmaskfilter', value : $(tabid).attr('urlmaskfilter')}
|
||||||
|
,{ name : 'prefermaskfilter', value : $(tabid).attr('prefermaskfilter')}
|
||||||
|
,{ name : 'contentdom', value : $(tabid).attr('contentdom')}
|
||||||
|
,{ name : 'constraint', value : $(tabid).attr('constraint')}
|
||||||
|
,{ name : 'language', value : $(tabid).attr('language')}
|
||||||
|
];
|
||||||
|
|
||||||
|
if (p.params) {
|
||||||
|
for (var pi = 0; pi < p.params.length; pi++) param[param.length] = p.params[pi];
|
||||||
}
|
}
|
||||||
$(xml).find('item').each(function(){
|
$.ajax({
|
||||||
var title = $(this).find('title').text();
|
type: p.method,
|
||||||
var link = $(this).find('link').text();
|
url: p.url,
|
||||||
var desc = $(this).find('description').text();
|
data: param,
|
||||||
var hash = $(this).find('guid').text();
|
dataType: p.dataType,
|
||||||
var date = $(this).find('pubDate').text();
|
success: function(data){
|
||||||
var tags = "";
|
/* yacy limits itemsPerPage for unauthenticated users */
|
||||||
$('<tr></tr')
|
p.rp = parseInt(data.channels[0].itemsPerPage);
|
||||||
.html('<td>' +hash+ '</td><td>' +''+ '</td><td><h3 class="linktitle">' +HTMLenc(title)+ '</h3><p class="desc">' +HTMLenc(desc)+ '</p><p class="url"><a href="' +link+ '">' +link+ '</a></p><td>' +HTMLenc(tags)+ ' </td><td>' +date+ '</td>')
|
g.flexAddData(data);
|
||||||
.appendTo(tabid+" .yresult tbody");
|
},
|
||||||
}); //close each(
|
error: function(data) {
|
||||||
var height=document.documentElement.clientHeight - 205;
|
try { if (p.onError) p.onError(data); } catch (e) {}
|
||||||
var page = " " + (startIndex+1) + "-" + (startIndex+itemsPerPage) + " of " + totalResults;
|
}
|
||||||
$(tabid+" .yresult").flexigrid({
|
});
|
||||||
colModel: [
|
}
|
||||||
{display: 'Hash', name : 'hash', width : 50, sortable : false, align: 'center', hide: true},
|
});
|
||||||
{display: '', name : 'public', width : 25, sortable : true, align: 'center'},
|
});
|
||||||
{display: 'Title', name : 'title', width : 450, sortable : true, align: 'left'},
|
function yaction(com, grid) {
|
||||||
{display: 'Tags', name : 'tags', width : 240, sortable : false, align: 'left'},
|
if (com == 'Bookmark') {
|
||||||
{display: 'Date', name : 'date', width : 130, sortable : true, align: 'left'}
|
confirm('Add ' + $('.trSelected',grid).length + ' search results to bookmark(s)?')
|
||||||
],
|
$('.trSelected',grid).each(function(){
|
||||||
buttons: [
|
var url = $(this).find('.url').text();
|
||||||
{name: 'Crawl', bclass: 'crawl', onpress: yaction},
|
var title = $(this).find('.linktitle').text();
|
||||||
{name: 'Open', bclass: 'pictures', onpress: yaction},
|
var desc = $(this).find('.desc').text();
|
||||||
{separator: true},
|
var tags = $(tabid).attr('search');
|
||||||
{name: 'Bookmark', bclass: 'bookmark', onpress: yaction},
|
var path = "/searchResults";
|
||||||
{separator: true},
|
var pub = "private";
|
||||||
{name: 'Blacklist', bclass: 'blacklist', onpress: yaction},
|
var query = "&url="+url+"&title="+title+"&description="+desc+"&tags="+tags+"&path="+path+"&public="+pub+"&add=create";
|
||||||
{separator: true},
|
$.ajax({
|
||||||
{name: 'Refresh', bclass: 'load', onpress: yload},
|
type: "POST",
|
||||||
{name: 'RSS', bclass: 'rss', onpress: yaction},
|
url: "/xml/bookmarks/posts/add_p.xml?login="+query,
|
||||||
{separator: true},
|
dataType: "xml",
|
||||||
{name: page, bclass: 'prev', onpress: yload},
|
success: function(xml) {
|
||||||
{name: ' ', bclass: 'next', onpress: yload},
|
alert("Debug: posted bookmark for: "+url);
|
||||||
{separator: true},
|
}
|
||||||
{name: 'Help', bclass: 'help', onpress:yaction},
|
|
||||||
],
|
|
||||||
striped: true,
|
|
||||||
nowrap: false,
|
|
||||||
height: height,
|
|
||||||
title: 'YaCy P2P Web Search: '+query
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}); //close $.ajax(
|
|
||||||
|
|
||||||
/*
|
|
||||||
$(".linktitle a").faviconize({
|
|
||||||
position: "before",
|
|
||||||
defaultImage: "img-2/article.png",
|
|
||||||
className: "favicon"
|
|
||||||
});
|
|
||||||
*/
|
|
||||||
|
|
||||||
function yaction(com, grid) {
|
|
||||||
if (com == 'Bookmark') {
|
|
||||||
confirm('Add ' + $('.trSelected',grid).length + ' search results to bookmark(s)?')
|
|
||||||
$('.trSelected',grid).each(function(){
|
|
||||||
var url = $(this).find('.url').text();
|
|
||||||
var title = $(this).find('.linktitle').text();
|
|
||||||
var desc = $(this).find('.desc').text();
|
|
||||||
var tags = $(tabid).attr('search');
|
|
||||||
var path = "/searchResults";
|
|
||||||
var pub = "private";
|
|
||||||
var query = "&url="+url+"&title="+title+"&description="+desc+"&tags="+tags+"&path="+path+"&public="+pub+"&add=create";
|
|
||||||
$.ajax({
|
|
||||||
type: "POST",
|
|
||||||
url: "/api/bookmarks/posts/add_p.xml?login="+query,
|
|
||||||
dataType: "xml",
|
|
||||||
success: function(xml) {
|
|
||||||
alert("Debug: posted bookmark for: "+url);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
} else if (com =='Open') {
|
|
||||||
$('.trSelected',grid).each(function(){
|
|
||||||
var url = $(this).find('.url').text();
|
|
||||||
window.open(url);
|
|
||||||
});
|
});
|
||||||
} else {
|
});
|
||||||
alert("Test!");
|
} else if (com =='Open') {
|
||||||
}
|
$('.trSelected',grid).each(function(){
|
||||||
|
var url = $(this).find('.url').text();
|
||||||
|
window.open(url);
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
alert("Test!");
|
||||||
}
|
}
|
||||||
function yload(com, grid) {
|
}
|
||||||
var $tabs = $('#container ul');
|
|
||||||
var count = parseInt($(tabid).attr('count'));
|
|
||||||
var offset = parseInt($(tabid).attr('offset'));
|
|
||||||
if (com == ' ') {
|
|
||||||
offset = offset+count;
|
|
||||||
}
|
|
||||||
else if (com == 'Refresh') {
|
|
||||||
offset = 0;
|
|
||||||
}
|
|
||||||
else if (offset > count) {
|
|
||||||
offset = offset-count;
|
|
||||||
}
|
|
||||||
$(tabid).attr('offset', offset);
|
|
||||||
query = $(tabid).attr('resource')
|
|
||||||
+"&search="+$(tabid).attr('search')
|
|
||||||
+"&contentdom="+$(tabid).attr('contentdom')
|
|
||||||
+"&count="+$(tabid).attr('count')
|
|
||||||
+"&offset="+$(tabid).attr('offset')
|
|
||||||
+"&constraint="+$(tabid).attr('constraint')
|
|
||||||
+"&prefermaskfilter="+$(tabid).attr('prefermaskfilter')
|
|
||||||
+"&urlmaskfilter="+$(tabid).attr('urlmaskfilter');
|
|
||||||
|
|
||||||
var selected = $tabs.data('selected.tabs');
|
|
||||||
$tabs.tabs("load", selected);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}); //close $(
|
|
||||||
//]]>
|
//]]>
|
||||||
</script>
|
</script>
|
||||||
<table class="yresult">
|
<table class="yresult">
|
||||||
<tbody></tbody>
|
<tbody></tbody>
|
||||||
</table>
|
</table>
|
||||||
|
|
Loading…
Reference in new issue