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.
yacy_search_server/htroot/YMarks.html

445 lines
18 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 '#[user]#''s Bookmarks</title>
#%env/templates/metas.template%#
<link media="screen" type="text/css" href="jquery/css/yacy-ymarks.css" rel="stylesheet" />
<link media="screen" type="text/css" href="/yacy/ui/css/jquery.flexigrid.css" rel="stylesheet" />
<link media="screen" type="text/css" href="/yacy/ui/css/jquery.treeview.css" rel="stylesheet" />
<link media="screen" type="text/css" href="/yacy/ui/css/jquery.multiselect.css" rel="stylesheet" />
</head>
<body id="ymarks_body">
#%env/templates/header.template%#
<script src="/yacy/ui/js/jquery-flexigrid.js" type="text/javascript"></script>
<script src="/yacy/ui/js/jquery.treeview.min.js" type="text/javascript"></script>
<script src="/yacy/ui/js/jquery.treeview.async.js" type="text/javascript"></script>
<script src="/yacy/ui/js/jquery.multiselect.min.js" type="text/javascript"></script>
<script type="text/javascript">
//<![CDATA[
HTMLenc = function(s) {
return $('<div/>').text(s).html();
}
$(document).ready(function() {
var height=document.documentElement.clientHeight - 200;
/* Initialize Bookmark Dialog */
$("#ymarks_add_dialog").dialog({
autoOpen: false,
height: 420,
width: 340,
position: ['top',100],
modal: true,
resizable: false,
buttons: {
OK: function() {
var url = $("input[name='bm_url']").getValue();
var title = $("input[name='bm_title']").getValue();
var desc = $("textarea[name='bm_desc']").getValue();
var tags = $("input[name='bm_tags']").getValue()
var path = $("input[name='bm_path']").getValue();
var pub = $("select[name='bm_public']").getValue();
$.ajax({
type: "POST",
url: "/api/ymarks/add_ymark.xml",
data: "url="+url+"&title="+title+"&desc="+desc+"&tags="+tags+"&folders="+path+"&public="+pub,
dataType: "xml",
success: function(xml) {
$('#bmaddform').resetForm();
$("#bm_url").unbind('blur');
$("#ymarks_add_dialog").dialog("close");
$('#ymarks_flexigrid').flexReload();
return false;
}
});
} ,
Cancel: function() { $("#ymarks_add_dialog").dialog("close"); }
}
});
/* Initialize Flexigrid */
$('#ymarks_flexigrid').flexigrid({
url: '/api/ymarks/get_ymark.json',
dataType: 'json',
method: 'GET',
colModel: [
{display: 'Hash', name : 'hash', width : 50, sortable : false, align: 'center', hide: true},
{display: 'Public', name : 'public', width : 25, sortable : true, align: 'center'},
{display: 'Title', name : 'title', width : 400, sortable : true, align: 'left'},
{display: 'Tags', name : 'tags', width : 160, sortable : false, align: 'left'},
{display: 'Folders', name : 'folders', width : 160, sortable : true, align: 'left', hide: true},
{display: 'Date added', name : 'date_added', width : 100, sortable : true, align: 'left'},
{display: 'Date visited', name : 'date_visited', width : 100, sortable : true, align: 'left'}
],
buttons: [
{name: '...', bclass: 'burst', onpress: function() {
$('#ymarks_flexigrid').flexOptions({
sortname: "title",
sortorder: "asc",
query: ".*",
qtype: "title"
});
$('#ymarks_flexigrid').flexReload();
}},
{separator: true},
{name: 'Add', bclass: 'bookmark', onpress: bm_action},
{name: 'Edit', bclass: 'edit', onpress: bm_action},
{name: 'Delete', bclass: 'delete', onpress: bm_action},
{separator: true},
{name: 'Crawl', bclass: 'crawl', onpress: bm_action},
{separator: true},
{name: 'Add', bclass: 'addTag', onpress: tag_action},
{name: 'Rename', bclass: 'editTag', onpress: tag_action},
{separator: true},
{name: 'Help', bclass: 'help', onpress: bm_action}
],
searchitems : [
{display: 'Full text (regexp)', name : ''},
{display: 'Tags (comma seperated)', name : '_tags'},
{display: 'Tags (regexp)', name : 'tags'},
{display: 'Singel Folder', name : '_folder'},
{display: 'Folders (regexp)', name : 'folders'},
{display: 'Title (regexp)', name : 'title'},
{display: 'Description (regexp)', name : 'desc'}
],
useRp: true,
rp: 15,
sortname: "title",
sortorder: "asc",
usepager: true,
striped: true,
nowrap: false,
height: height,
query: ".*",
qtype: "title"
});
/* Initialize Sidebar */
$('#ymarks_sidebar').height(height+90);
$tabs = $('#ymarks_sidebar').tabs({
// tabs options
});
$tabs.bind('tabsselect', function(event, ui) {
/*
Objects available in the function context:
ui.tab - anchor element of the selected (clicked) tab
ui.panel - element, that contains the selected/clicked tab contents
ui.index - zero-based index of the selected (clicked) tab
*/
tabid = "#"+ui.panel.id;
if (tabid == "#ymarks_tags_tab") {
loadTagCloud();
}
return true;
});
$("#ymarks_treeview").treeview({
url: "/api/ymarks/get_treeview.json?bmtype=href",
unique: true,
persist: "location"
});
$("#ymarks_treeview").bind("click", function(event) {
if ($(event.target).is("li") || $(event.target).parents("li").length) {
var folder = $(event.target).parents("li").filter(":first").attr("id");
$('#ymarks_flexigrid').flexOptions({
query: folder,
qtype: "_folder",
newp: 1
});
$('#ymarks_flexigrid').flexReload();
return false;
}
});
$("#example").multiselect();
});
function loadTagCloud() {
$("#ymarks_tagcloud *").remove();
$.ajax({
type: "POST",
url: "/api/ymarks/get_tags.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('#ymarks_tagcloud')
.bind('click', function() {
var qtag = $(this).text().replace(/\s+$/g,"");
$('#ymarks_flexigrid').flexOptions({
query: qtag,
qtype: "_tags",
newp: 1
});
$('#ymarks_flexigrid').flexReload();
});
}); //close each(
}
}); //close $.ajax(
};
/* Initialize Bookmark Actions */
function bm_action(com,grid) {
if (com=='Delete') {
var check = confirm('Delete ' + $('.trSelected',grid).length + ' bookmark(s)?');
if(check == true) {
$('.trSelected',grid).each(function(){
var url = "/api/ymarks/delete_ymark.xml?id="+$(this).find('td :first').text();
$.ajax({
type: 'POST',
url: url,
dataType: 'xml',
success: function(xml) {
$('#ymarks_flexigrid').flexReload();
}
}); // close $.ajax(
}); //close each(
}
}
else if (com=='Add') {
$('#bmaddform').resetForm();
$("#bm_url").blur(function() {
var url = $("input[name='bm_url']").getValue();
$.ajax({
type: "GET",
url: "/api/util/getpageinfo_p.xml?url="+url,
dataType: "xml",
success: function(xml) {
var title = $(xml).find('title').text();
$("input[name='bm_title']").setValue(title);
var desc = $(xml).find('desc').text();
$("textarea[name='bm_desc']").setValue(desc);
tags = "";
$(xml).find('tag').each(function(){
tags = tags + "," + $(this).attr('name');
});
$("input[name='bm_tags']").setValue(tags);
}
});
});
$("#ymarks_add_dialog").dialog('open');
}
else if (com=='Edit') {
if ($('.trSelected',grid).length > 1) {
alert("Editing of more than one selected bookmark is currently not supportet!");
return false;
}
$("input[name='bm_url']").setValue($('.trSelected',grid).find('.url').text());
$("input[name='bm_title']").setValue($('.trSelected',grid).find('h3.linktitle').text().trim());
$("textarea[name='bm_desc']").setValue($('.trSelected',grid).find('p.desc').text().trim());
$("input[name='bm_tags']").setValue($('.trSelected',grid).find('p.tags').text().trim().replace(/,\s/g,","));
$("input[name='bm_path']").setValue($('.trSelected',grid).find('p.folders').text().replace(/,\s/g,","));
$("select[name='bm_public']").setValue($('.trSelected',grid).find('img').attr('alt'));
$("#ymarks_add_dialog").dialog('open');
}
}
/* Initialize Tag Actions */
function tag_action(com,grid) {
if (com=='Add') {
flex = grid;
$('#tagaddform').resetForm();
$("#tagadd").dialog('open');
} else {
$('#tageditform').resetForm();
$("#tagedit").dialog('open');
}
};
//]]>
</script>
<div class="SubMenu">
<h3>Bookmarks</h3>
<!--
<ul class="SubMenu">
#(login)#<li><a href="YMarks.html" class="MenuItemLink">Login</a></li>::#(/login)#
<li><a href="/api/ymarks/test_treeview.html" class="MenuItemLink lock">TreeView</a></li>
<li><a href="/api/ymarks/test_import.html" class="MenuItemLink lock">Import Bookmarks</a></li>
<li><a href="/api/ymarks/get_xbel.xml" class="MenuItemLink lock">Bookmarks (XBEL)</a></li>
</ul>
<p/>
-->
</div>
<div id="ymarks_sidebar" class="sidebar">
<ul>
<li><a href="#ymarks_folders_tab" title="folders"><span>Folders</span></a></li>
<li><a href="#ymarks_tags_tab" title="tags"><span>Tags</span></a></li>
<li><a href="#ymarks_import_tab" title="import"><span>Import</span></a></li>
<li><a href="#ymarks_export_tab" title="export"><span>Export</span></a></li>
</ul>
<div id="ymarks_folders_tab">
<!--
<div style="margin-top:2px; background:url('/yacy/ui/img/flexigrid/bg.gif') repeat-x scroll center top #FAFAFA;
border-color:#CCCCCC #CCCCCC -moz-use-text-color; border-style:solid solid none; border-width:1px 1px 0; padding:5px;
margin-top:-10px; margin-left:-15px; margin-right:-15px; margin-bottom: 15px;">
<img src="/yacy/ui/img-2/plus.png" alt="Add" style="padding-right:4px; padding-left:5px;"/>Add
<img src="/yacy/ui/img-2/cancel.png" alt="Delete" style="padding-right:4px; padding-left:5px;"/>Delete
<img src="/yacy/ui/img-2/pencil.png" alt="Edit" style="padding-right:4px; padding-left:5px;"/>Edit
<img src="/yacy/ui/img-2/question_blue.png" alt="Help" style="padding-right:4px; padding-left:25px;"/>Help
</div>
-->
<div>
<ul id="ymarks_treeview" class="filetree"></ul>
</div>
</div>
<div id="ymarks_tags_tab">
<!--
<div style="margin-top:2px; background:url('/yacy/ui/img/flexigrid/bg.gif') repeat-x scroll center top #FAFAFA;
border-color:#CCCCCC #CCCCCC -moz-use-text-color; border-style:solid solid none; border-width:1px 1px 0; padding:5px;
margin-top:-10px; margin-left:-15px; margin-right:-15px; margin-bottom: 15px;">
<img src="/yacy/ui/img-2/plus.png" alt="Add" style="padding-right:4px; padding-left:5px;"/>Add
<img src="/yacy/ui/img-2/cancel.png" alt="Delete" style="padding-right:4px; padding-left:5px;"/>Delete
<img src="/yacy/ui/img-2/pencil.png" alt="Edit" style="padding-right:4px; padding-left:5px;"/>Edit
<img src="/yacy/ui/img-2/question_blue.png" alt="Help" style="padding-right:4px; padding-left:25px;"/>Help
</div>
-->
<select id="example" name="example" multiple="multiple">
<option value="1">Option 1</option>
<option value="2">Option 2</option>
<option value="3">Option 3</option>
<option value="4">Option 4</option>
<option value="5">Option 5</option>
</select>
<div>
<p id="ymarks_tagcloud"></p>
</div>
</div>
<div id="ymarks_import_tab">
<form action="/api/ymarks/import_ymark.html" method="post" enctype="multipart/form-data" accept-charset="UTF-8">
<input type="hidden" value="/YMarks.html" name="redirect">
<h4>Bookmark Importer<img title="help" alt="help" class="help" src="/yacy/ui/img-2/question_blue.png"></h4>
<p>
<input type="radio" name="importer" value="html" /> Netscape HTML<br />
<input type="radio" name="importer" value="json" /> Firefox JSON<br />
<input type="radio" name="importer" value="xbel" /> XBEL<br />
<input type="radio" name="importer" value="surro" /> Surrogate XML<br />
<input type="radio" name="importer" value="dmoz" disabled="disabled" /> DMOZ XML<br />
<input type="radio" name="importer" value="list" disabled="disabled"/> YaCy White/Black List<br />
<input type="radio" name="importer" value="bmks" disabled="disabled"/> YaCy bookmarks.db<br />
<input type="radio" name="importer" value="crawls" disabled="disabled"/> YaCy Crawl-Starts<br />
</p>
<p>
<small>Bookmark file</small>
<input class="input" type="file" name="bmkfile" id="bmkfile" size="8" /><br />
</p>
<hr />
<h4>Folder settings<img title="help" alt="help" class="help" src="/yacy/ui/img-2/question_blue.png"></h4>
<p>
<small>Source folder</small>
<input class="input" type="text" name="source" id="source" value="" disabled="disabled" />
</p>
<p>
<small>Target folder</small>
<input class="input" type="text" name="root" id="root" value="/Imported Bookmarks" />
</p>
<hr />
<h4>Automatic tagging<img title="help" alt="help" class="help" src="/yacy/ui/img-2/question_blue.png"></h4>
<p>
<input type="radio" name="autotag" value="off" /> Off
<br />
<input type="radio" name="autotag" value="empty" /> Only for empty tags
<br />
<input type="radio" name="autotag" value="overwrite" /> Overwriting existing tags
<br />
<input type="radio" name="autotag" value="merge" /> Merging with existing tags
</p>
<hr />
<p style="text-align: right">
<input type="submit" name="importbookmarks" value="Import" />
</p>
</form>
</div>
<div id="ymarks_export_tab">
<form action="" method="post" enctype="multipart/form-data" accept-charset="UTF-8">
<input type="hidden" value="/YMarks.html" name="redirect">
<h4>Export file format<img title="help" alt="help" class="help" src="/yacy/ui/img-2/question_blue.png"></h4>
<p>
<input type="radio" name="exporter" value="html" disabled="disabled" /> Netscape HTML<br />
<input type="radio" name="exporter" value="json" disabled="disabled" /> Firefox JSON<br />
<input type="radio" name="exporter" value="xbel" disabled="disabled" /> XBEL<br />
<input type="radio" name="exporter" value="surro" disabled="disabled" /> Surrogate XML<br />
<input type="radio" name="exporter" value="list" disabled="disabled" /> YaCy Black/White List<br />
</p>
<p>
File name <input class="input" type="text" name="bmkfile" id="bmkfile" size="8" /><br />
</p>
<hr />
<h4>Folder settings<img title="help" alt="help" class="help" src="/yacy/ui/img-2/question_blue.png"></h4>
<p>
<small>Source folder</small>
<input class="input" type="text" name="source" id="source" value="" disabled="disabled" />
</p>
<p>
<small>Target folder</small>
<input class="input" type="text" name="root" id="root" value="" disabled="disabled"/>
</p>
<hr />
<h4>Include metadata<img title="help" alt="help" class="help" src="/yacy/ui/img-2/question_blue.png"></h4>
<p>
<input type="radio" name="meta" value="none" /> none
<br />
<input type="radio" name="meta" value="tags" /> tags
<br />
<input type="radio" name="meta" value="some" /> ...
<br />
<input type="radio" name="meta" value="all" /> all
</p>
<hr />
<p style="text-align: right">
<input type="submit" name="exportbookmarks" value="Export" />
</p>
</form>
</div>
</div>
<!-- Display Bookmarks Table -->
<div class ="main">
<table id="ymarks_flexigrid" summary="YaCy Bookmarks">
<tbody>
</tbody>
</table>
</div>
<!-- Bookmarks Edit Dialog -->
<div id="ymarks_add_dialog" class="bm_dialog" title="Add & Edit Bookmark">
<form id="bmaddform" method="post" accept-charset="UTF-8" action="jQuery"><div>
<label for="bm_url">URL:</label>
<br />
<input type="text" name="bm_url" id="bm_url" class="bm_input" size="80" />
<br />
<label for="bm_title">Title:</label>
<br />
<input type="text" name="bm_title" id="bm_title" class="bm_input" size="80" />
<br />
<label for="bm_desc">Description:</label>
<br />
<textarea name="bm_desc" id="bm_desc" class="bm_input" rows="3" cols="20">
</textarea>
<br />
<label for="bm_path">Folder (/folder/subfolder):</label>
<br />
<input type="text" name="bm_path" id="bm_path" class="bm_input" size="80" />
<br />
<label for="bm_tags">Tags (comma separated):</label>
<br />
<input type="text" name="bm_tags" id="bm_tags" class="bm_input" size="80" />
<br />
<label for="bm_public">Public:</label>
<br />
<select name="bm_public" id="bm_public" class="bm_select">
<option value="true">yes</option>
<option value="false">no</option>
</select>
</div></form>
</div>
#%env/templates/footer.template%#
</body>
</html>