From a8dfe787edfb6d90b63271a73fbe30d19ee10be6 Mon Sep 17 00:00:00 2001 From: apfelmaennchen Date: Tue, 15 Nov 2011 21:45:17 +0000 Subject: [PATCH 1/2] - updated to jquery flexigrid 1.1 - YMarks.html automatically recognizes if a bookmark is a crawl start git-svn-id: https://svn.berlios.de/svnroot/repos/yacy/trunk@8040 6c8d7289-2bf4-0310-a012-ef5d649a1542 --- htroot/YMarks.html | 6 +- htroot/api/ymarks/get_metadata.java | 16 +-- htroot/api/ymarks/get_ymark.java | 16 +++ htroot/api/ymarks/get_ymark.json | 18 ++- .../jquery/flexigrid/css/flexigrid.pack.css | 96 ++++++++++++++++ htroot/jquery/flexigrid/js/flexigrid.pack.js | 1 + htroot/js/yacy-ymarks.js | 14 ++- .../de/anomic/data/ymark/YMarkCrawlStart.java | 107 ++++++++++++++---- source/de/anomic/data/ymark/YMarkDate.java | 10 +- 9 files changed, 245 insertions(+), 39 deletions(-) create mode 100644 htroot/jquery/flexigrid/css/flexigrid.pack.css create mode 100644 htroot/jquery/flexigrid/js/flexigrid.pack.js diff --git a/htroot/YMarks.html b/htroot/YMarks.html index 95c4ee19f..4366d9d1c 100644 --- a/htroot/YMarks.html +++ b/htroot/YMarks.html @@ -4,12 +4,14 @@ YaCy Bookmarks #%env/templates/metas.template%# - + + - + + diff --git a/htroot/api/ymarks/get_metadata.java b/htroot/api/ymarks/get_metadata.java index 702804e69..eb770f9f9 100644 --- a/htroot/api/ymarks/get_metadata.java +++ b/htroot/api/ymarks/get_metadata.java @@ -57,14 +57,16 @@ public class get_metadata { prop.put("autotags", putTags(YMarkAutoTagger.autoTag(document, 5, sb.tables.bookmarks.getTags(bmk_user)), "autotags")); final YMarkCrawlStart crawlStart = new YMarkCrawlStart(sb.tables, url); - final Iterator iter = crawlStart.keySet().iterator(); int count = 0; - String key; - while(iter.hasNext()) { - key = iter.next(); - prop.putXML("crawlstart_"+count+"_key",key.toLowerCase()); - prop.putXML("crawlstart_"+count+"_value",crawlStart.get(key)); - count++; + if(!crawlStart.isEmpty()) { + final Iterator iter = crawlStart.keySet().iterator(); + String key; + while(iter.hasNext()) { + key = iter.next(); + prop.putXML("crawlstart_"+count+"_key",key.toLowerCase()); + prop.putXML("crawlstart_"+count+"_value",crawlStart.get(key)); + count++; + } } prop.put("crawlstart", count); diff --git a/htroot/api/ymarks/get_ymark.java b/htroot/api/ymarks/get_ymark.java index ad950ad67..b63c671e2 100644 --- a/htroot/api/ymarks/get_ymark.java +++ b/htroot/api/ymarks/get_ymark.java @@ -10,6 +10,7 @@ import net.yacy.kelondro.blob.Tables.Row; import net.yacy.kelondro.logging.Log; import net.yacy.search.Switchboard; import de.anomic.data.UserDB; +import de.anomic.data.ymark.YMarkCrawlStart; import de.anomic.data.ymark.YMarkDate; import de.anomic.data.ymark.YMarkEntry; import de.anomic.data.ymark.YMarkTables; @@ -127,6 +128,21 @@ public class get_ymark { else prop.putJSON("json_"+count+"_"+bmk.key(), bmk_row.get(bmk.key(),bmk.deflt())); } + + final YMarkCrawlStart crawlstart = new YMarkCrawlStart(sb.tables, bmk_row.get(YMarkEntry.BOOKMARK.URL.key(),YMarkEntry.BOOKMARK.URL.deflt())); + int crawl = 0; + if (!crawlstart.isEmpty()) + crawl = 1; + if (crawlstart.hasSchedule()) { + crawl = 2; + } + prop.put("json_"+count+"_crawlstart", crawl); + + prop.put("json_"+count+"_apicall_pk", crawlstart.getPK()); + prop.put("json_"+count+"_date_recording", YMarkDate.ISO8601(crawlstart.date_recording()).replaceAll("T", "
")); + prop.put("json_"+count+"_date_next_exec", YMarkDate.ISO8601(crawlstart.date_next_exec()).replaceAll("T", "
")); + prop.put("json_"+count+"_date_last_exec", YMarkDate.ISO8601(crawlstart.date_last_exec()).replaceAll("T", "
")); + prop.put("json_"+count+"_comma", ","); // put XML diff --git a/htroot/api/ymarks/get_ymark.json b/htroot/api/ymarks/get_ymark.json index 5b1a82505..4deb1e2db 100644 --- a/htroot/api/ymarks/get_ymark.json +++ b/htroot/api/ymarks/get_ymark.json @@ -5,13 +5,27 @@ #{json}# {"id":"#[id]#","cell":[ "#[hash]#", -#(public)#"true"::"false"#(/public)#, +#(public)# +"true" +:: +"false"#(/public)#, +#(crawlstart)# +"" +:: +"crawl start" +:: +"scheduled crawl" +#(/crawlstart)#, "

#[title]#

#[desc]#

#[url]#", "

#[tags]#

", "

#[folders]#

", "

#[date_added]#

", "

#[date_modified]#

", -"

#[date_visited]#

" +"

#[date_visited]#

", +"#[apicall_pk]#", +"

#[date_recording]#

", +"

#[date_next_exec]#

", +"

#[date_last_exec]#

" ]}#[comma]# #{/json}# ] diff --git a/htroot/jquery/flexigrid/css/flexigrid.pack.css b/htroot/jquery/flexigrid/css/flexigrid.pack.css new file mode 100644 index 000000000..46b1c50bf --- /dev/null +++ b/htroot/jquery/flexigrid/css/flexigrid.pack.css @@ -0,0 +1,96 @@ +@charset UTF-8; +.flexigrid{font-family:Arial, Helvetica, sans-serif;font-size:11px;position:relative;border:0 solid #eee;overflow:hidden;color:#000} +.flexigrid.hideBody{height:26px!important;border-bottom:1px solid #ccc} +.ie6fullwidthbug{border-right:0 solid #ccc;padding-right:2px} +.flexigrid div.nDiv{background:#eee url(images/line.gif) repeat-y -1px top;border:1px solid #ccc;border-top:0;overflow:auto;left:0;position:absolute;z-index:999;float:left} +.flexigrid div.nDiv table{margin:2px} +.flexigrid div.hDivBox{float:left;padding-right:40px} +.flexigrid div.bDiv table{margin-bottom:10px;border-bottom:1px solid #ccc} +.flexigrid div.bDiv table.autoht{border-bottom:0;margin-bottom:0} +.flexigrid div.nDiv td{border:1px solid #eee;cursor:default;padding:2px 3px} +.flexigrid div.nDiv tr:hover td,.flexigrid div.nDiv tr.ndcolover td{background:#d5effc url(images/hl.png) repeat-x top;border:1px solid #a8d8eb} +.flexigrid div.nDiv td.ndcol1{border-right:1px solid #ccc} +.flexigrid div.nDiv td.ndcol2{border-left:1px solid #fff;padding-right:10px} +.flexigrid div.nDiv tr:hover td.ndcol1,.flexigrid div.nDiv tr.ndcolover td.ndcol1{border-right:1px solid #d2e3ec} +.flexigrid div.nDiv tr:hover td.ndcol2,.flexigrid div.nDiv tr.ndcolover td.ndcol2{border-left:1px solid #eef8ff} +.flexigrid div.nBtn{position:absolute;height:24px;width:14px;z-index:900;background:#fafafa url(images/fhbg.gif) repeat-x bottom;border:0 solid #ccc;border-left:1px solid #ccc;top:0;left:0;margin-top:1px;cursor:pointer;display:none} +.flexigrid div.nBtn div{height:24px;width:12px;border-left:1px solid #fff;float:left;background:url(images/ddn.png) no-repeat center} +.flexigrid div.nBtn.srtd{background:url(images/wbg.gif) repeat-x 0 -1px} +.flexigrid div.mDiv{background:url(images/wbg.gif) repeat-x top;border:1px solid #ccc;border-bottom:0;border-top:0;font-weight:700;display:block;overflow:hidden;white-space:nowrap;position:relative} +.flexigrid div.mDiv div{white-space:nowrap;padding:6px} +.flexigrid div.mDiv div.ptogtitle{position:absolute;top:4px;right:3px;height:16px;width:16px;overflow:hidden;border:1px solid #ccc;cursor:pointer;padding:0} +.flexigrid div.mDiv div.ptogtitle:hover{background-position:left -2px;border-color:#bbb} +.flexigrid div.mDiv div.ptogtitle span{display:block;border-left:1px solid #eee;border-top:1px solid #fff;border-bottom:1px solid #ddd;width:14px;height:14px;background:url(images/uup.png) no-repeat center} +.flexigrid div.mDiv div.ptogtitle.vsble span{background:url(images/ddn.png) no-repeat center} +.flexigrid div.tDiv /*toolbar*/{background:#fafafa url(images/bg.gif) repeat-x top;position:relative;border:1px solid #ccc;border-bottom:0;overflow:hidden} +.flexigrid div.tDiv2{float:left;clear:both;padding:1px} +.flexigrid div.sDiv /*toolbar*/{background:#fafafa url(images/bg.gif) repeat-x top;position:relative;border:1px solid #ccc;border-top:0;overflow:hidden;display:none} +.flexigrid div.sDiv2{float:left;clear:both;width:1024px;padding:5px} +.flexigrid div.sDiv2 input,.flexigrid div.sDiv2 select{vertical-align:middle} +.flexigrid div.btnseparator{float:left;height:22px;border-left:1px solid #ccc;border-right:1px solid #fff;margin:1px} +.flexigrid div.fbutton{float:left;display:block;cursor:pointer;padding:1px} +.flexigrid div.fbutton div{float:left;padding:1px 3px} +.flexigrid div.fbutton span{float:left;display:block;padding:3px} +.flexigrid div.fbutton:hover,.flexigrid div.fbutton.fbOver{border:1px solid #ccc;padding:0} +.flexigrid div.fbutton:hover div,.flexigrid div.fbutton.fbOver div{border-left:1px solid #fff;border-top:1px solid #fff;border-right:1px solid #eee;border-bottom:1px solid #eee;padding:0 2px} +.flexigrid div.hDiv{background:#fafafa url(images/fhbg.gif) repeat-x bottom;position:relative;border:1px solid #ccc;border-bottom:0;overflow:hidden} +.flexigrid div.hDiv table{border-right:1px solid #fff} +.flexigrid div.cDrag{float:left;position:absolute;z-index:2;overflow:visible} +.flexigrid div.cDrag div{float:left;background:none;display:block;position:absolute;height:24px;width:5px;cursor:col-resize} +.flexigrid div.cDrag div:hover,.flexigrid div.cDrag div.dragging{background:url(images/line.gif) repeat-y 2px center} +.flexigrid div.iDiv{border:1px solid #316ac5;position:absolute;overflow:visible;background:none} +.flexigrid div.iDiv input,.flexigrid div.iDiv select,.flexigrid div.iDiv textarea{font-family:Arial, Helvetica, sans-serif;font-size:11px} +.flexigrid div.iDiv input.tb{border:0;width:100%;height:100%;background:none;padding:0} +.flexigrid div.bDiv{border:1px solid #ccc;border-top:0;background:#fff;overflow:auto;position:relative} +.flexigrid div.hGrip{position:absolute;top:0;right:0;height:5px;width:5px;background:url(images/line.gif) repeat-x center;margin-right:1px;cursor:col-resize} +.flexigrid div.hGrip:hover,.flexigrid div.hGrip.hgOver{border-right:1px solid #999;margin-right:0} +.flexigrid div.vGrip{height:5px;overflow:hidden;position:relative;background:#fafafa url(images/wbg.gif) repeat-x 0 -1px;border:1px solid #ccc;border-top:0;text-align:center;cursor:row-resize} +.flexigrid div.vGrip span{display:block;width:20px;height:1px;overflow:hidden;border-top:1px solid #aaa;border-bottom:1px solid #aaa;background:none;margin:1px auto} +.flexigrid div.hDiv th,.flexigrid div.bDiv td +/* common cell properties*/{text-align:left;border-right:1px solid #ddd;border-left:1px solid #fff;overflow:hidden;vertical-align:top!important;padding-left:0;padding-right:0} +.flexigrid div.hDiv th div,.flexigrid div.bDiv td div,div.colCopy div +/* common inner cell properties*/{border-left:0 solid #fff;padding:5px} +.flexigrid div.hDiv th,div.colCopy{font-weight:400;height:24px;cursor:default;white-space:nowrap;overflow:hidden} +div.colCopy{font-family:Arial, Helvetica, sans-serif;font-size:11px;background:#fafafa url(images/fhbg.gif) repeat-x bottom;border:1px solid #ccc;border-bottom:0;overflow:hidden} +.flexigrid div.hDiv th.sorted{background:url(images/wbg.gif) repeat-x 0 -1px;border-bottom:0 solid #ccc} +.flexigrid div.hDiv th.thOver div,.flexigrid div.hDiv th.sorted.thOver div{border-bottom:1px solid orange;padding-bottom:4px} +.flexigrid div.hDiv th.sorted div{border-bottom:0 solid #ccc;padding-bottom:5px} +.flexigrid div.hDiv th.thMove{background:#fff;color:#fff} +.flexigrid div.hDiv th.sorted.thMove div{border-bottom:1px solid #fff;padding-bottom:4px} +.flexigrid div.hDiv th.thMove div{background:#fff!important} +.flexigrid div.hDiv th div.sdesc{background:url(images/dn.png) no-repeat center top} +.flexigrid div.hDiv th div.sasc{background:url(images/up.png) no-repeat center top} +.flexigrid div.bDiv td{border-bottom:1px solid #fff;vertical-align:top;white-space:nowrap} +.flexigrid span.cdropleft{display:block;background:url(images/prev.gif) no-repeat -4px center;width:24px;height:24px;position:relative;top:-24px;margin-bottom:-24px;z-index:3} +.flexigrid div.hDiv span.cdropright{display:block;background:url(images/next.gif) no-repeat 12px center;width:24px;height:24px;float:right;position:relative;top:-24px;margin-bottom:-24px} +.flexigrid div.bDiv td div{border-top:0 solid #fff;padding-bottom:4px} +.flexigrid tr td.sorted{background:#f3f3f3;border-right:1px solid #ddd;border-bottom:1px solid #f3f3f3} +.flexigrid tr.erow td{background:#f7f7f7;border-bottom:1px solid #f7f7f7} +.flexigrid tr.erow td.sorted{background:#e3e3e3;border-bottom:1px solid #e3e3e3} +.flexigrid div.bDiv tr:hover td,.flexigrid div.bDiv tr:hover td.sorted,.flexigrid div.bDiv tr.trOver td.sorted,.flexigrid div.bDiv tr.trOver td{background:#d9ebf5;border-left:1px solid #eef8ff;border-bottom:1px dotted #a8d8eb} +.flexigrid div.bDiv tr.trSelected:hover td,.flexigrid div.bDiv tr.trSelected:hover td.sorted,.flexigrid div.bDiv tr.trOver.trSelected td.sorted,.flexigrid div.bDiv tr.trOver.trSelected td,.flexigrid tr.trSelected td.sorted,.flexigrid tr.trSelected td{background:#d5effc url(images/hl.png) repeat-x top;border-right:1px solid #d2e3ec;border-left:1px solid #eef8ff;border-bottom:1px solid #a8d8eb} +.flexigrid.novstripe .bDiv table{border-bottom:1px solid #ccc;border-right:1px solid #ccc} +.flexigrid.novstripe div.bDiv td{border-right-color:#fff} +.flexigrid.novstripe div.bDiv tr.erow td.sorted{border-right-color:#e3e3e3} +.flexigrid.novstripe div.bDiv tr td.sorted{border-right-color:#f3f3f3} +.flexigrid.novstripe div.bDiv tr.erow td{border-right-color:#f7f7f7;border-left-color:#f7f7f7} +.flexigrid.novstripe div.bDiv tr.trSelected:hover td,.flexigrid.novstripe div.bDiv tr.trSelected:hover td.sorted,.flexigrid.novstripe div.bDiv tr.trOver.trSelected td.sorted,.flexigrid.novstripe div.bDiv tr.trOver.trSelected td,.flexigrid.novstripe tr.trSelected td.sorted,.flexigrid.novstripe tr.trSelected td{border-right:1px solid #06F;border-left:1px solid #06F} +.flexigrid.novstripe div.bDiv tr.trOver td,.flexigrid.novstripe div.bDiv tr:hover td{border-left-color:#d9ebf5;border-right-color:#d9ebf5} +.flexigrid div.pDiv{background:url(images/wbg.gif) repeat-x 0 -1px;border:1px solid #ccc;border-top:0;overflow:hidden;white-space:nowrap;position:relative} +.flexigrid div.pDiv div.pDiv2{float:left;width:1024px;margin:3px 3px 3px -2px} +div.pGroup{float:left;background:none;height:24px;margin:0 5px} +.flexigrid div.pDiv .pPageStat,.flexigrid div.pDiv .pcontrol{position:relative;top:5px;overflow:visible} +.flexigrid div.pDiv input{vertical-align:text-top;position:relative;top:-5px} +.flexigrid div.pDiv div.pButton{float:left;width:22px;height:22px;border:0;cursor:pointer;overflow:hidden} +.flexigrid div.pDiv div.pButton:hover,.flexigrid div.pDiv div.pButton.pBtnOver{width:20px;height:20px;border:1px solid #ccc;cursor:pointer} +.flexigrid div.pDiv div.pButton span{width:20px;height:20px;display:block;float:left} +.flexigrid div.pDiv div.pButton:hover span,.flexigrid div.pDiv div.pButton.pBtnOver span{width:19px;height:19px;border-top:1px solid #fff;border-left:1px solid #fff} +.flexigrid .pSearch{background:url(images/magnifier.png) no-repeat center} +.flexigrid .pFirst{background:url(images/first.gif) no-repeat center} +.flexigrid .pPrev{background:url(images/prev.gif) no-repeat center} +.flexigrid .pNext{background:url(images/next.gif) no-repeat center} +.flexigrid .pLast{background:url(images/last.gif) no-repeat center} +.flexigrid .pReload{background:url(images/load.png) no-repeat center} +.flexigrid .pReload.loading{background:url(images/load.gif) no-repeat center} +.flexigrid.ie div.hDiv th div,.flexigrid.ie div.bDiv td div,div.colCopy.ie div +/* common inner cell properties*/{overflow:hidden} \ No newline at end of file diff --git a/htroot/jquery/flexigrid/js/flexigrid.pack.js b/htroot/jquery/flexigrid/js/flexigrid.pack.js new file mode 100644 index 000000000..cd9b2bfd2 --- /dev/null +++ b/htroot/jquery/flexigrid/js/flexigrid.pack.js @@ -0,0 +1 @@ +(function($){$.addFlex=function(t,p){if(t.grid)return false;p=$.extend({height:200,width:'auto',striped:true,novstripe:false,minwidth:30,minheight:80,resizable:true,url:false,method:'POST',dataType:'xml',errormsg:'Connection Error',usepager:false,nowrap:true,page:1,total:1,useRp:true,rp:15,rpOptions:[10,15,20,30,50],title:false,pagestat:'Displaying {from} to {to} of {total} items',pagetext:'Page',outof:'of',findtext:'Find',procmsg:'Processing, please wait ...',query:'',qtype:'',nomsg:'No items',minColToggle:1,showToggleBtn:true,hideOnSubmit:true,autoload:true,blockOpacity:0.5,preProcess:false,onDragCol:false,onToggleCol:false,onChangeSort:false,onSuccess:false,onError:false,onSubmit:false},p);$(t).show().attr({cellPadding:0,cellSpacing:0,border:0}).removeAttr('width');var g={hset:{},rePosDrag:function(){var cdleft=0-this.hDiv.scrollLeft;if(this.hDiv.scrollLeft>0)cdleft-=Math.floor(p.cgwidth/2);$(g.cDrag).css({top:g.hDiv.offsetTop+1});var cdpad=this.cdpad;$('div',g.cDrag).hide();$('thead tr:first th:visible',this.hDiv).each(function(){var n=$('thead tr:first th:visible',g.hDiv).index(this);var cdpos=parseInt($('div',this).width());if(cdleft==0)cdleft-=Math.floor(p.cgwidth/2);cdpos=cdpos+cdleft+cdpad;if(isNaN(cdpos)){cdpos=0}$('div:eq('+n+')',g.cDrag).css({'left':cdpos+'px'}).show();cdleft=cdpos})},fixHeight:function(newH){newH=false;if(!newH)newH=$(g.bDiv).height();var hdHeight=$(this.hDiv).height();$('div',this.cDrag).each(function(){$(this).height(newH+hdHeight)});var nd=parseInt($(g.nDiv).height());if(nd>newH)$(g.nDiv).height(newH).width(200);else $(g.nDiv).height('auto').width('auto');$(g.block).css({height:newH,marginBottom:(newH*-1)});var hrH=g.bDiv.offsetTop+newH;if(p.height!='auto'&&p.resizable)hrH=g.vDiv.offsetTop;$(g.rDiv).css({height:hrH})},dragStart:function(dragtype,e,obj){if(dragtype=='colresize'){$(g.nDiv).hide();$(g.nBtn).hide();var n=$('div',this.cDrag).index(obj);var ow=$('th:visible div:eq('+n+')',this.hDiv).width();$(obj).addClass('dragging').siblings().hide();$(obj).prev().addClass('dragging').show();this.colresize={startX:e.pageX,ol:parseInt(obj.style.left),ow:ow,n:n};$('body').css('cursor','col-resize')}else if(dragtype=='vresize'){var hgo=false;$('body').css('cursor','row-resize');if(obj){hgo=true;$('body').css('cursor','col-resize')}this.vresize={h:p.height,sy:e.pageY,w:p.width,sx:e.pageX,hgo:hgo}}else if(dragtype=='colMove'){$(g.nDiv).hide();$(g.nBtn).hide();this.hset=$(this.hDiv).offset();this.hset.right=this.hset.left+$('table',this.hDiv).width();this.hset.bottom=this.hset.top+$('table',this.hDiv).height();this.dcol=obj;this.dcoln=$('th',this.hDiv).index(obj);this.colCopy=document.createElement("div");this.colCopy.className="colCopy";this.colCopy.innerHTML=obj.innerHTML;if($.browser.msie){this.colCopy.className="colCopy ie"}$(this.colCopy).css({position:'absolute',float:'left',display:'none',textAlign:obj.align});$('body').append(this.colCopy);$(this.cDrag).hide()}$('body').noSelect()},dragMove:function(e){if(this.colresize){var n=this.colresize.n;var diff=e.pageX-this.colresize.startX;var nleft=this.colresize.ol+diff;var nw=this.colresize.ow+diff;if(nw>p.minwidth){$('div:eq('+n+')',this.cDrag).css('left',nleft);this.colresize.nw=nw}}else if(this.vresize){var v=this.vresize;var y=e.pageY;var diff=y-v.sy;if(!p.defwidth)p.defwidth=p.width;if(p.width!='auto'&&!p.nohresize&&v.hgo){var x=e.pageX;var xdiff=x-v.sx;var newW=v.w+xdiff;if(newW>p.defwidth){this.gDiv.style.width=newW+'px';p.width=newW}}var newH=v.h+diff;if((newH>p.minheight||p.heightthis.hset.right||e.pageXthis.hset.bottom||e.pageYthis.dcolt)$('th:eq('+this.dcolt+')',this.hDiv).before(this.dcol);else $('th:eq('+this.dcolt+')',this.hDiv).after(this.dcol);this.switchCol(this.dcoln,this.dcolt);$(this.cdropleft).remove();$(this.cdropright).remove();this.rePosDrag();if(p.onDragCol){p.onDragCol(this.dcoln,this.dcolt)}}this.dcol=null;this.hset=null;this.dcoln=null;this.dcolt=null;this.colCopy=null;$('.thMove',this.hDiv).removeClass('thMove');$(this.cDrag).show()}$('body').css('cursor','default');$('body').noSelect(false)},toggleCol:function(cid,visible){var ncol=$("th[axis='col"+cid+"']",this.hDiv)[0];var n=$('thead th',g.hDiv).index(ncol);var cb=$('input[value='+cid+']',g.nDiv)[0];if(visible==null){visible=ncol.hidden}if($('input:checked',g.nDiv).lengthcdrop)$('td:eq('+cdrop+')',this).before($('td:eq('+cdrag+')',this));else $('td:eq('+cdrop+')',this).after($('td:eq('+cdrag+')',this))});if(cdrag>cdrop){$('tr:eq('+cdrop+')',this.nDiv).before($('tr:eq('+cdrag+')',this.nDiv))}else{$('tr:eq('+cdrop+')',this.nDiv).after($('tr:eq('+cdrag+')',this.nDiv))}if($.browser.msie&&$.browser.version<7.0){$('tr:eq('+cdrop+') input',this.nDiv)[0].checked=true}this.hDiv.scrollLeft=this.bDiv.scrollLeft},scroll:function(){this.hDiv.scrollLeft=this.bDiv.scrollLeft;this.rePosDrag()},addData:function(data){if(p.dataType=='json'){data=$.extend({rows:[],page:0,total:0},data)}if(p.preProcess){data=p.preProcess(data)}$('.pReload',this.pDiv).removeClass('loading');this.loading=false;if(!data){$('.pPageStat',this.pDiv).html(p.errormsg);return false}if(p.dataType=='xml'){p.total=+$('rows total',data).text()}else{p.total=data.total}if(p.total==0){$('tr, a, td, div',t).unbind();$(t).empty();p.pages=1;p.page=1;this.buildpager();$('.pPageStat',this.pDiv).html(p.nomsg);return false}p.pages=Math.ceil(p.total/p.rp);if(p.dataType=='xml'){p.page=+$('rows page',data).text()}else{p.page=data.page}this.buildpager();var tbody=document.createElement('tbody');if(p.dataType=='json'){$.each(data.rows,function(i,row){var tr=document.createElement('tr');if(i%2&&p.striped){tr.className='erow'}if(row.id){tr.id='row'+row.id}$('thead tr:first th',g.hDiv).each(function(){var td=document.createElement('td');var idx=$(this).attr('axis').substr(3);td.align=this.align;if(typeof row.cell[idx]!="undefined"){td.innerHTML=(row.cell[idx]!=null)?row.cell[idx]:''}else{td.innerHTML=row.cell[p.colModel[idx].name]}$(td).attr('abbr',$(this).attr('abbr'));$(tr).append(td);td=null});if($('thead',this.gDiv).length<1){for(idx=0;idxp.pages){p.page=p.pages}var param=[{name:'page',value:p.newp},{name:'rp',value:p.rp},{name:'sortname',value:p.sortname},{name:'sortorder',value:p.sortorder},{name:'query',value:p.query},{name:'qtype',value:p.qtype}];if(p.params){for(var pi=0;pi1){p.newp=parseInt(p.page)-1}break;case'next':if(p.pagep.pages){nv=p.pages}$('.pcontrol input',this.pDiv).val(nv);p.newp=nv;break}if(p.newp==p.page){return false}if(p.onChangePage){p.onChangePage(p.newp)}else{this.populate()}},addCellProp:function(){$('tbody tr td',g.bDiv).each(function(){var tdDiv=document.createElement('div');var n=$('td',$(this).parent()).index(this);var pth=$('th:eq('+n+')',g.hDiv).get(0);if(pth!=null){if(p.sortname==$(pth).attr('abbr')&&p.sortname){this.className='sorted'}$(tdDiv).css({textAlign:pth.align,width:$('div:first',pth)[0].style.width});if(pth.hidden){$(this).css('display','none')}}if(p.nowrap==false){$(tdDiv).css('white-space','normal')}if(this.innerHTML==''){this.innerHTML=' '}tdDiv.innerHTML=this.innerHTML;var prnt=$(this).parent()[0];var pid=false;if(prnt.id){pid=prnt.id.substr(3)}if(pth!=null){if(pth.process)pth.process(tdDiv,pid)}$(this).empty().append(tdDiv).removeAttr('width')})},getCellDim:function(obj){var ht=parseInt($(obj).height());var pht=parseInt($(obj).parent().height());var wt=parseInt(obj.style.width);var pwt=parseInt($(obj).parent().width());var top=obj.offsetParent.offsetTop;var left=obj.offsetParent.offsetLeft;var pdl=parseInt($(obj).css('paddingLeft'));var pdt=parseInt($(obj).css('paddingTop'));return{ht:ht,wt:wt,top:top,left:left,pdl:pdl,pdt:pdt,pht:pht,pwt:pwt}},addRowProp:function(){$('tbody tr',g.bDiv).each(function(){$(this).click(function(e){var obj=(e.target||e.srcElement);if(obj.href||obj.type)return true;$(this).toggleClass('trSelected');if(p.singleSelect)$(this).siblings().removeClass('trSelected')}).mousedown(function(e){if(e.shiftKey){$(this).toggleClass('trSelected');g.multisel=true;this.focus();$(g.gDiv).noSelect()}}).mouseup(function(){if(g.multisel){g.multisel=false;$(g.gDiv).noSelect(false)}}).hover(function(e){if(g.multisel){$(this).toggleClass('trSelected')}},function(){});if($.browser.msie&&$.browser.version<7.0){$(this).hover(function(){$(this).addClass('trOver')},function(){$(this).removeClass('trOver')})}})},pager:0};if(p.colModel){thead=document.createElement('thead');var tr=document.createElement('tr');for(var i=0;i"+btn.name+"";if(btn.bclass)$('span',btnDiv).addClass(btn.bclass).css({paddingLeft:20});btnDiv.onpress=btn.onpress;btnDiv.name=btn.name;if(btn.onpress){$(btnDiv).click(function(){this.onpress(this.name,g.gDiv)})}$(tDiv2).append(btnDiv);if($.browser.msie&&$.browser.version<7.0){$(btnDiv).hover(function(){$(this).addClass('fbOver')},function(){$(this).removeClass('fbOver')})}}else{$(tDiv2).append("
")}}$(g.tDiv).append(tDiv2);$(g.tDiv).append("
");$(g.gDiv).prepend(g.tDiv)}g.hDiv.className='hDiv';$(t).before(g.hDiv);g.hTable.cellPadding=0;g.hTable.cellSpacing=0;$(g.hDiv).append('
');$('div',g.hDiv).append(g.hTable);var thead=$("thead:first",t).get(0);if(thead)$(g.hTable).append(thead);thead=null;if(!p.colmodel)var ci=0;$('thead tr:first th',g.hDiv).each(function(){var thdiv=document.createElement('div');if($(this).attr('abbr')){$(this).click(function(e){if(!$(this).hasClass('thOver'))return false;var obj=(e.target||e.srcElement);if(obj.href||obj.type)return true;g.changeSort(this)});if($(this).attr('abbr')==p.sortname){this.className='sorted';thdiv.className='s'+p.sortorder}}if(this.hidden){$(this).hide()}if(!p.colmodel){$(this).attr('axis','col'+ci++)}$(thdiv).css({textAlign:this.align,width:this.width+'px'});thdiv.innerHTML=this.innerHTML;$(this).empty().append(thdiv).removeAttr('width').mousedown(function(e){g.dragStart('colMove',e,this)}).hover(function(){if(!g.colresize&&!$(this).hasClass('thMove')&&!g.colCopy){$(this).addClass('thOver')}if($(this).attr('abbr')!=p.sortname&&!g.colCopy&&!g.colresize&&$(this).attr('abbr')){$('div',this).addClass('s'+p.sortorder)}else if($(this).attr('abbr')==p.sortname&&!g.colCopy&&!g.colresize&&$(this).attr('abbr')){var no=(p.sortorder=='asc')?'desc':'asc';$('div',this).removeClass('s'+p.sortorder).addClass('s'+no)}if(g.colCopy){var n=$('th',g.hDiv).index(this);if(n==g.dcoln){return false}if(n$(g.gDiv).width()){$(g.nDiv).css('left',onl-ndw+1)}else{$(g.nDiv).css('left',nl)}if($(this).hasClass('sorted')){$(g.nBtn).addClass('srtd')}else{$(g.nBtn).removeClass('srtd')}}},function(){$(this).removeClass('thOver');if($(this).attr('abbr')!=p.sortname){$('div',this).removeClass('s'+p.sortorder)}else if($(this).attr('abbr')==p.sortname){var no=(p.sortorder=='asc')?'desc':'asc';$('div',this).addClass('s'+p.sortorder).removeClass('s'+no)}if(g.colCopy){$(g.cdropleft).remove();$(g.cdropright).remove();g.dcolt=null}})});g.bDiv.className='bDiv';$(t).before(g.bDiv);$(g.bDiv).css({height:(p.height=='auto')?'auto':p.height+"px"}).scroll(function(e){g.scroll()}).append(t);if(p.height=='auto'){$('table',g.bDiv).addClass('autoht')}g.addCellProp();g.addRowProp();var cdcol=$('thead tr:first th:first',g.hDiv).get(0);if(cdcol!=null){g.cDrag.className='cDrag';g.cdpad=0;g.cdpad+=(isNaN(parseInt($('div',cdcol).css('borderLeftWidth')))?0:parseInt($('div',cdcol).css('borderLeftWidth')));g.cdpad+=(isNaN(parseInt($('div',cdcol).css('borderRightWidth')))?0:parseInt($('div',cdcol).css('borderRightWidth')));g.cdpad+=(isNaN(parseInt($('div',cdcol).css('paddingLeft')))?0:parseInt($('div',cdcol).css('paddingLeft')));g.cdpad+=(isNaN(parseInt($('div',cdcol).css('paddingRight')))?0:parseInt($('div',cdcol).css('paddingRight')));g.cdpad+=(isNaN(parseInt($(cdcol).css('borderLeftWidth')))?0:parseInt($(cdcol).css('borderLeftWidth')));g.cdpad+=(isNaN(parseInt($(cdcol).css('borderRightWidth')))?0:parseInt($(cdcol).css('borderRightWidth')));g.cdpad+=(isNaN(parseInt($(cdcol).css('paddingLeft')))?0:parseInt($(cdcol).css('paddingLeft')));g.cdpad+=(isNaN(parseInt($(cdcol).css('paddingRight')))?0:parseInt($(cdcol).css('paddingRight')));$(g.bDiv).before(g.cDrag);var cdheight=$(g.bDiv).height();var hdheight=$(g.hDiv).height();$(g.cDrag).css({top:-hdheight+'px'});$('thead tr:first th',g.hDiv).each(function(){var cgDiv=document.createElement('div');$(g.cDrag).append(cgDiv);if(!p.cgwidth){p.cgwidth=$(cgDiv).width()}$(cgDiv).css({height:cdheight+hdheight}).mousedown(function(e){g.dragStart('colresize',e,this)});if($.browser.msie&&$.browser.version<7.0){g.fixHeight($(g.gDiv).height());$(cgDiv).hover(function(){g.fixHeight();$(this).addClass('dragging')},function(){if(!g.colresize)$(this).removeClass('dragging')})}})}if(p.striped){$('tbody tr:odd',g.bDiv).addClass('erow')}if(p.resizable&&p.height!='auto'){g.vDiv.className='vGrip';$(g.vDiv).mousedown(function(e){g.dragStart('vresize',e)}).html('');$(g.bDiv).after(g.vDiv)}if(p.resizable&&p.width!='auto'&&!p.nohresize){g.rDiv.className='hGrip';$(g.rDiv).mousedown(function(e){g.dragStart('vresize',e,true)}).html('').css('height',$(g.gDiv).height());if($.browser.msie&&$.browser.version<7.0){$(g.rDiv).hover(function(){$(this).addClass('hgOver')},function(){$(this).removeClass('hgOver')})}$(g.gDiv).append(g.rDiv)}if(p.usepager){g.pDiv.className='pDiv';g.pDiv.innerHTML='
';$(g.bDiv).after(g.pDiv);var html='
'+p.pagetext+' '+p.outof+' 1
';$('div',g.pDiv).html(html);$('.pReload',g.pDiv).click(function(){g.populate()});$('.pFirst',g.pDiv).click(function(){g.changePage('first')});$('.pPrev',g.pDiv).click(function(){g.changePage('prev')});$('.pNext',g.pDiv).click(function(){g.changePage('next')});$('.pLast',g.pDiv).click(function(){g.changePage('last')});$('.pcontrol input',g.pDiv).keydown(function(e){if(e.keyCode==13)g.changePage('input')});if($.browser.msie&&$.browser.version<7)$('.pButton',g.pDiv).hover(function(){$(this).addClass('pBtnOver')},function(){$(this).removeClass('pBtnOver')});if(p.useRp){var opt='',sel='';for(var nx=0;nx"+p.rpOptions[nx]+"  "}$('.pDiv2',g.pDiv).prepend("
");$('select',g.pDiv).change(function(){if(p.onRpChange){p.onRpChange(+this.value)}else{p.newp=1;p.rp=+this.value;g.populate()}})}if(p.searchitems){$('.pDiv2',g.pDiv).prepend("
");$('.pSearch',g.pDiv).click(function(){$(g.sDiv).slideToggle('fast',function(){$('.sDiv:visible input:first',g.gDiv).trigger('focus')})});g.sDiv.className='sDiv';var sitems=p.searchitems;var sopt='',sel='';for(var s=0;s"+sitems[s].display+"  "}if(p.qtype==''){p.qtype=sitems[0].name}$(g.sDiv).append("
"+p.findtext+" "+"
");$('input[name=q]',g.sDiv).keydown(function(e){if(e.keyCode==13){g.doSearch()}});$('select[name=qtype]',g.sDiv).keydown(function(e){if(e.keyCode==13){g.doSearch()}});$('input[value=Clear]',g.sDiv).click(function(){$('input[name=q]',g.sDiv).val('');p.query='';g.doSearch()});$(g.bDiv).after(g.sDiv)}}$(g.pDiv,g.sDiv).append("
");if(p.title){g.mDiv.className='mDiv';g.mDiv.innerHTML='
'+p.title+'
';$(g.gDiv).prepend(g.mDiv);if(p.showTableToggleBtn){$(g.mDiv).append('
');$('div.ptogtitle',g.mDiv).click(function(){$(g.gDiv).toggleClass('hideBody');$(this).toggleClass('vsble')})}}g.cdropleft=document.createElement('span');g.cdropleft.className='cdropleft';g.cdropright=document.createElement('span');g.cdropright.className='cdropright';g.block.className='gBlock';var gh=$(g.bDiv).height();var gtop=g.bDiv.offsetTop;$(g.block).css({width:g.bDiv.style.width,height:gh,background:'white',position:'relative',marginBottom:(gh*-1),zIndex:1,top:gtop,left:'0px'});$(g.block).fadeTo(0,p.blockOpacity);if($('th',g.hDiv).length){g.nDiv.className='nDiv';g.nDiv.innerHTML="
";$(g.nDiv).css({marginBottom:(gh*-1),display:'none',top:gtop}).noSelect();var cn=0;$('th div',g.hDiv).each(function(){var kcol=$("th[axis='col"+cn+"']",g.hDiv)[0];var chk='checked="checked"';if(kcol.style.display=='none'){chk=''}$('tbody',g.nDiv).append(''+this.innerHTML+'');cn++});if($.browser.msie&&$.browser.version<7.0)$('tr',g.nDiv).hover(function(){$(this).addClass('ndcolover')},function(){$(this).removeClass('ndcolover')});$('td.ndcol2',g.nDiv).click(function(){if($('input:checked',g.nDiv).length<=p.minColToggle&&$(this).prev().find('input')[0].checked)return false;return g.toggleCol($(this).prev().find('input').val())});$('input.togCol',g.nDiv).click(function(){if($('input:checked',g.nDiv).length').attr('title','Hide/Show Columns').click(function(){$(g.nDiv).toggle();return true});if(p.showToggleBtn){$(g.gDiv).prepend(g.nBtn)}}$(g.iDiv).addClass('iDiv').css({display:'none'});$(g.bDiv).append(g.iDiv);$(g.bDiv).hover(function(){$(g.nDiv).hide();$(g.nBtn).hide()},function(){if(g.multisel){g.multisel=false}});$(g.gDiv).hover(function(){},function(){$(g.nDiv).hide();$(g.nBtn).hide()});$(document).mousemove(function(e){g.dragMove(e)}).mouseup(function(e){g.dragEnd()}).hover(function(){},function(){g.dragEnd()});if($.browser.msie&&$.browser.version<7.0){$('.hDiv,.bDiv,.mDiv,.pDiv,.vGrip,.tDiv, .sDiv',g.gDiv).css({width:'100%'});$(g.gDiv).addClass('ie6');if(p.width!='auto'){$(g.gDiv).addClass('ie6fullwidthbug')}}g.rePosDrag();g.fixHeight();t.p=p;t.grid=g;if(p.url&&p.autoload){g.populate()}return t};var docloaded=false;$(document).ready(function(){docloaded=true});$.fn.flexigrid=function(p){return this.each(function(){if(!docloaded){$(this).hide();var t=this;$(document).ready(function(){$.addFlex(t,p)})}else{$.addFlex(this,p)}})};$.fn.flexReload=function(p){return this.each(function(){if(this.grid&&this.p.url)this.grid.populate()})};$.fn.flexOptions=function(p){return this.each(function(){if(this.grid)$.extend(this.p,p)})};$.fn.flexToggleCol=function(cid,visible){return this.each(function(){if(this.grid)this.grid.toggleCol(cid,visible)})};$.fn.flexAddData=function(data){return this.each(function(){if(this.grid)this.grid.addData(data)})};$.fn.noSelect=function(p){var prevent=(p==null)?true:p;if(prevent){return this.each(function(){if($.browser.msie||$.browser.safari)$(this).bind('selectstart',function(){return false});else if($.browser.mozilla){$(this).css('MozUserSelect','none');$('body').trigger('focus')}else if($.browser.opera)$(this).bind('mousedown',function(){return false});else $(this).attr('unselectable','on')})}else{return this.each(function(){if($.browser.msie||$.browser.safari)$(this).unbind('selectstart');else if($.browser.mozilla)$(this).css('MozUserSelect','inherit');else if($.browser.opera)$(this).unbind('mousedown');else $(this).removeAttr('unselectable','on')})}}})(jQuery); \ No newline at end of file diff --git a/htroot/js/yacy-ymarks.js b/htroot/js/yacy-ymarks.js index c8425e4e5..b106a779f 100644 --- a/htroot/js/yacy-ymarks.js +++ b/htroot/js/yacy-ymarks.js @@ -14,13 +14,19 @@ $(document).ready(function() { 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: 'Hash', name : 'hash', width : 85, sortable : false, align: 'left', hide: true}, + {display: 'Public', name : 'public', width : 20, sortable : true, align: 'center'}, + {display: 'Crawl start', name : 'crawl_start', width : 20, 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'} + {display: 'Date added', name : 'date_added', width : 100, sortable : true, align: 'left', hide: true}, + {display: 'Date modified', name : 'date_modified', width : 100, sortable : true, align: 'left'}, + {display: 'Date visited', name : 'date_visited', width : 100, sortable : true, align: 'left', hide: true}, + {display: 'API PK', name : 'apicall_pk', width : 85, sortable : true, align: 'left', hide: true}, + {display: 'Date recording', name : 'date_recording', width : 100, sortable : true, align: 'left', hide: true}, + {display: 'Date next exec', name : 'date_next_exec', width : 100, sortable : true, align: 'left', hide: true}, + {display: 'Date last exec', name : 'date_last_exec', width : 100, sortable : true, align: 'left', hide: true} ], buttons: [ {name: '...', bclass: 'burst', onpress: function() { diff --git a/source/de/anomic/data/ymark/YMarkCrawlStart.java b/source/de/anomic/data/ymark/YMarkCrawlStart.java index 8315798e4..c83013a45 100644 --- a/source/de/anomic/data/ymark/YMarkCrawlStart.java +++ b/source/de/anomic/data/ymark/YMarkCrawlStart.java @@ -27,29 +27,83 @@ package de.anomic.data.ymark; import java.io.IOException; +import java.util.Date; import java.util.HashMap; import java.util.Iterator; import java.util.regex.Pattern; +import net.yacy.cora.document.UTF8; import net.yacy.kelondro.blob.Tables; import de.anomic.data.WorkTables; public class YMarkCrawlStart extends HashMap{ - + private static final long serialVersionUID = 1L; private final WorkTables worktables; - + private Date date_last_exec; + private Date date_next_exec; + private Date date_recording; + private String apicall_pk; + private String url; + + public YMarkCrawlStart(final WorkTables worktables) { + super(); + this.date_recording = new Date(0); this.worktables = worktables; } public YMarkCrawlStart(final WorkTables worktables, final String url) { + super(); this.worktables = worktables; - clear(); - load(url); + this.url = url; + this.date_recording = new Date(0); + this.clear(); + this.load(); + } + + public String getPK() { + if(this.isEmpty()) + return ""; + return this.apicall_pk; + } + + public Date date_last_exec() { + if(this.isEmpty()) + return new Date(0); + return this.date_last_exec; + } + + public Date date_next_exec() { + if(this.isEmpty()) + return new Date(0); + return this.date_next_exec; + } + + public boolean hasSchedule() { + if(!this.isEmpty() && this.date_next_exec.after(new Date())) + return true; + else + return false; + } + + public Date date_recording() { + return this.date_recording; } - public void load(final String url) { + public void set_url(final String url) { + if(!this.url.equals(url)) { + this.url = url; + this.clear(); + this.load(); + } + } + + public int exec(final String host, final int port, final String realm) { + return this.worktables.execAPICall(this.apicall_pk, host, port, realm); + } + + private void load() { try { final StringBuilder buffer = new StringBuilder(500); //buffer.append("^.*crawlingURL=\\Q"); @@ -63,25 +117,32 @@ public class YMarkCrawlStart extends HashMap{ while(APIcalls.hasNext()) { row = APIcalls.next(); if(row.get(WorkTables.TABLE_API_COL_TYPE, "").equals("crawler")) { - buffer.setLength(0); - buffer.append(row.get(WorkTables.TABLE_API_COL_URL, "")); - buffer.delete(0, buffer.indexOf("?")+1); - int start = 0; - int end = 0; - String key; - String value; - while(start < buffer.length()) { - end = buffer.indexOf("=", start); - key = buffer.substring(start, end); - start = end+1; - end = buffer.indexOf("&", start); - if(end < 0 || end > buffer.length()) - end = buffer.length()-1; - value = buffer.substring(start, end); - start = end+1; - put(key, value); + Date date = row.get(WorkTables.TABLE_API_COL_DATE_RECORDING, row.get(WorkTables.TABLE_API_COL_DATE, new Date())); + if(date.after(this.date_recording)) { + this.clear(); + this.apicall_pk = UTF8.String(row.getPK()); + this.date_recording = date; + this.date_next_exec = row.get(WorkTables.TABLE_API_COL_DATE_NEXT_EXEC, new Date(0)); + this.date_last_exec = row.get(WorkTables.TABLE_API_COL_DATE_LAST_EXEC, new Date(0)); + buffer.setLength(0); + buffer.append(row.get(WorkTables.TABLE_API_COL_URL, "")); + buffer.delete(0, buffer.indexOf("?")+1); + int start = 0; + int end = 0; + String key; + String value; + while(start < buffer.length()) { + end = buffer.indexOf("=", start); + key = buffer.substring(start, end); + start = end+1; + end = buffer.indexOf("&", start); + if(end < 0 || end > buffer.length()) + end = buffer.length()-1; + value = buffer.substring(start, end); + start = end+1; + put(key, value); + } } - break; } } } catch (final IOException e) { diff --git a/source/de/anomic/data/ymark/YMarkDate.java b/source/de/anomic/data/ymark/YMarkDate.java index 3ec2b60ba..8f24af227 100644 --- a/source/de/anomic/data/ymark/YMarkDate.java +++ b/source/de/anomic/data/ymark/YMarkDate.java @@ -45,6 +45,10 @@ public class YMarkDate { this.set(date); } + public YMarkDate(final Date date) { + this.date = date.getTime(); + } + public long parseISO8601(final String s) throws ParseException { if(s == null || s.length() < 1) { throw new ParseException("parseISO8601 - empty string, nothing to parse", 0); @@ -70,10 +74,14 @@ public class YMarkDate { if(this.date == 0) { return YMarkEntry.BOOKMARK.DATE_MODIFIED.deflt(); } else { - return ISO8601Formatter.FORMATTER.format(new Date(this.date)); + return ISO8601(new Date(this.date)); } } + public static String ISO8601(final Date date) { + return ISO8601Formatter.FORMATTER.format(date); + } + public byte[] toBytes() { return String.valueOf(this.date).getBytes(); } From a410cfd7f3da92aa8517434ed22fb016de50087e Mon Sep 17 00:00:00 2001 From: apfelmaennchen Date: Tue, 15 Nov 2011 21:55:00 +0000 Subject: [PATCH 2/2] - flexigrid images didn't load last time git-svn-id: https://svn.berlios.de/svnroot/repos/yacy/trunk@8041 6c8d7289-2bf4-0310-a012-ef5d649a1542 --- htroot/jquery/flexigrid/css/images/bg.gif | Bin 0 -> 854 bytes .../jquery/flexigrid/css/images/btn-sprite.gif | Bin 0 -> 955 bytes htroot/jquery/flexigrid/css/images/ddn.png | Bin 0 -> 111 bytes htroot/jquery/flexigrid/css/images/dn.png | Bin 0 -> 220 bytes htroot/jquery/flexigrid/css/images/fhbg.gif | Bin 0 -> 836 bytes htroot/jquery/flexigrid/css/images/first.gif | Bin 0 -> 217 bytes htroot/jquery/flexigrid/css/images/hl.png | Bin 0 -> 189 bytes htroot/jquery/flexigrid/css/images/last.gif | Bin 0 -> 220 bytes htroot/jquery/flexigrid/css/images/line.gif | Bin 0 -> 817 bytes htroot/jquery/flexigrid/css/images/load.gif | Bin 0 -> 1737 bytes htroot/jquery/flexigrid/css/images/load.png | Bin 0 -> 827 bytes htroot/jquery/flexigrid/css/images/magnifier.png | Bin 0 -> 615 bytes htroot/jquery/flexigrid/css/images/next.gif | Bin 0 -> 185 bytes htroot/jquery/flexigrid/css/images/prev.gif | Bin 0 -> 186 bytes htroot/jquery/flexigrid/css/images/up.png | Bin 0 -> 224 bytes htroot/jquery/flexigrid/css/images/uup.png | Bin 0 -> 130 bytes htroot/jquery/flexigrid/css/images/wbg.gif | Bin 0 -> 868 bytes 17 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 htroot/jquery/flexigrid/css/images/bg.gif create mode 100644 htroot/jquery/flexigrid/css/images/btn-sprite.gif create mode 100644 htroot/jquery/flexigrid/css/images/ddn.png create mode 100644 htroot/jquery/flexigrid/css/images/dn.png create mode 100644 htroot/jquery/flexigrid/css/images/fhbg.gif create mode 100644 htroot/jquery/flexigrid/css/images/first.gif create mode 100644 htroot/jquery/flexigrid/css/images/hl.png create mode 100644 htroot/jquery/flexigrid/css/images/last.gif create mode 100644 htroot/jquery/flexigrid/css/images/line.gif create mode 100644 htroot/jquery/flexigrid/css/images/load.gif create mode 100644 htroot/jquery/flexigrid/css/images/load.png create mode 100644 htroot/jquery/flexigrid/css/images/magnifier.png create mode 100644 htroot/jquery/flexigrid/css/images/next.gif create mode 100644 htroot/jquery/flexigrid/css/images/prev.gif create mode 100644 htroot/jquery/flexigrid/css/images/up.png create mode 100644 htroot/jquery/flexigrid/css/images/uup.png create mode 100644 htroot/jquery/flexigrid/css/images/wbg.gif diff --git a/htroot/jquery/flexigrid/css/images/bg.gif b/htroot/jquery/flexigrid/css/images/bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..9ab78a2ec788d6dfbbcd6212a4d3b1d9917d55e7 GIT binary patch literal 854 zcmZ?wbhEHbWMZ&jXlGz}_Uzg7=g(ifc=7V(%U7>ny?*`r&6_uG-@bkK?%n(M?>~I_ z@c;jRhEXsY0>d-}6o0Y+efFP02jo9co?zfGW)Rn5a1d~4Xl7*5h_P7kkby}+S!_nc jfrg{q>_&192R0@*^>d1J$arpAa&odp@G2Wg0S0RTW*Ik7 literal 0 HcmV?d00001 diff --git a/htroot/jquery/flexigrid/css/images/btn-sprite.gif b/htroot/jquery/flexigrid/css/images/btn-sprite.gif new file mode 100644 index 0000000000000000000000000000000000000000..e827ba35728adaadfea417b20b4727a859ae770a GIT binary patch literal 955 zcmZ?wbhEHbWM;5u_|CwqVCuHv7^FyiGrC;B`V~@f{N6$_kz9kU`8(JNhS(qhw794D46x85p z*}&P<+Q_fZQ^9dd@kQGLsiw35DG}!j+>X*Nyr&diG>Nc9NpNf^eZbhMAD1Day(p(+ sv%;mih}R2q+qX+U>bp8&;ksC!3jG(k2e#`s@8@P}=gm6c;J{!F06~?tlmGw# literal 0 HcmV?d00001 diff --git a/htroot/jquery/flexigrid/css/images/ddn.png b/htroot/jquery/flexigrid/css/images/ddn.png new file mode 100644 index 0000000000000000000000000000000000000000..2178f11e327167c25acfb35264b03dd87b9486b4 GIT binary patch literal 111 zcmeAS@N?(olHy`uVBq!ia0vp^96-#%#0(_QEuNMPq&Ne7LR^6~5JW~sygPna1;}D7 z3GxeOaCmkj4agDkba4!+xRpFZ>evFQg9m0FIB_E)I!3-ozC9e7dDajJoh?3y^w370~qErUQl>DSr z1<%~X^wgl##FWaylc_d9MFs&rA+EKxwMUK|$<58(vSmwOU!RMM%lh@}Po6y4-`~G; z=gyv73!GZ->u3Y*5|9@k!)E}T;fs!Dl?2MEdAc};RNP8R zNPUp>F!gcbgY-wwQl39ffAIWy!js4B7yq1b;1Nh*5J+RxDZkxN0@T6a>FVdQ&MBb@ E04CC4Q~&?~ literal 0 HcmV?d00001 diff --git a/htroot/jquery/flexigrid/css/images/fhbg.gif b/htroot/jquery/flexigrid/css/images/fhbg.gif new file mode 100644 index 0000000000000000000000000000000000000000..8d459a304e0b224f8c28d6b7b585da7019d28cce GIT binary patch literal 836 zcmZ?wbhEHbWMYtDXlG!!aN)x1H}BrOegF2|hj;HkzW?y)!^h7bKYjW6^C!b77!85p z9s-I#S%6;r&!7YHC@4=ba40eea>#gWNI1yM!7mYUVnf4WCKe8!85Rx=4Ga>@3=9GS G4Auam1ttan literal 0 HcmV?d00001 diff --git a/htroot/jquery/flexigrid/css/images/first.gif b/htroot/jquery/flexigrid/css/images/first.gif new file mode 100644 index 0000000000000000000000000000000000000000..7623e7387a1db305267e63826400a23bf4298dee GIT binary patch literal 217 zcmV;~04D!ONk%w1VGsZi0K^RdBuJ1gQ=T(frax%6EN0j^Zrne0-7InLL~p=CZPZG2 z$VhtMPJ7}1|Nm2f)=`7uR)pzai{N04G|Ek3AA^8LW000dDEC2ui01yBW000G6U?YxXX`bhlT_#&TUsXnO>2wnr zdAZF=qr}DoEGaY*QNm*3Bufa)qah$1EShO)Kv{?Y){D0!pcqEr$C)fCkN^pHDF7jq Tz$O60UgE#uD1m~5Bq0Dh8K_|4 literal 0 HcmV?d00001 diff --git a/htroot/jquery/flexigrid/css/images/hl.png b/htroot/jquery/flexigrid/css/images/hl.png new file mode 100644 index 0000000000000000000000000000000000000000..6248e45dfe83355a94b9ccac57f557a760b003c3 GIT binary patch literal 189 zcmeAS@N?(olHy`uVBq!ia0vp^j6f{F!3-oHI6iF!Qj#UE5hcO-X(i=}MX3yqDfvmM z3ZA)%>8U}fi7AzZCsS>JiVOmLLR{~C`t$zB-|O%HTz&uN+1J0XzWsgi?eClKe?R>A zd+q(7hoAr4`taw;=f8J8{`vUh@3-H7^W;8E0qRxuba4!+xW#gim61V#fkENTwg367 n=dZH*2BzLVveCu)7ZVQyM+8Hq(5Z@YpmGLJS3j3^P6G|Ek3AA^8LW000dDEC2ui01yBW000G9U?YxXX`bh0UfE<;QCWSDIeGCo zb&e@{o5V=M>6IcJi$&OoXcVT0#&RGC8V?M@w766Oq6KAOGCT-ik%4k86%uJtLDD9n WO9V*3MBp>xC?arxfrW+*Apkq35Mp)! literal 0 HcmV?d00001 diff --git a/htroot/jquery/flexigrid/css/images/line.gif b/htroot/jquery/flexigrid/css/images/line.gif new file mode 100644 index 0000000000000000000000000000000000000000..c76a16e95997a487ee9cd1675ecdd99bd2f37c17 GIT binary patch literal 817 zcmZ?wbhEHbWMbfDXlGzpvts7||Nj|A!DtAK$PiHc$pZBEe+C_p??HKjfrF2Mkww6x PV8OvA4t_Qc4hCxg>zoX) literal 0 HcmV?d00001 diff --git a/htroot/jquery/flexigrid/css/images/load.gif b/htroot/jquery/flexigrid/css/images/load.gif new file mode 100644 index 0000000000000000000000000000000000000000..68f01d04813c1f622810864a3aaa04b4a17ac8f9 GIT binary patch literal 1737 zcmaKsX;2e)7>CzDa{xjjy99|1A!tC(kfocDi)<1$AxHpOQ4k^l!Vx1W6x7<&|FYXU zqO4jEiU-!VR1p+Xj1?4-iuI_J;!&?!+ghg|JJad3U)pMGzcKxNeCM6tJnuX+uPvX@ zZY|=AHdxt2Xr2y*)5|c6#FSEuyJ+Y3Z&l z2hJWo`9;lJ$6wzSoW60tqkB|d$oiO*d-^85^ojn{*NR{MP*%{@H*#gihZ8BKyB68E z-MIbjgNNV0y5khpJ^Jv`51aR%={<4jhaVq5e*9D5+*hL)XCHn4{^d%hPu@?KpKbc=eN!D=XUjDmH#n{YHNS zHCX6BV)yn2CuTNujhN~V+`RKpyXO6^ht92eqhIIlQLfz6eeCnH_C7`NPNrw9ks366 z4xX9(`s~z=+1uX^ocZ$2_fBs=JihPfWYufOIuD&AU-@`>>qn~cy$1)T7CU!5z2(U8 z)9Kt9)l`f6?NU41j6XbXfR{OHwm|T4}&24tIf+!C-g~6cQfY2^n$?AT&ZW zgqm`}3-jS2NS6n=k;sr5Hv(Q%%n)qW0X|neWVBd;Ko}d(=u%?{O0-a>kSI}shOd9n z5top}%gUCf=>?tg;*;#7!^HOL3k$fMxd=O-6Y4@%u8LS)C1D_a?27R6^vcC+6tttL z)GmTahbyJB!xmcHL#ya8ZXyfRl)a!N0BJE0y3BBfAV5;#=K&Z2VkaKZ)?9`1h5P_% znt*b}%j1|#j`b|aQDx@~wA#$PYRN2xE6UO;;vE(@$&xww-s8fZ5HmJ(eJ*rQrDbaawDbrfe_8F(wq{ge?)qQG`aXV;r(*6EM|ESje;52aFmrX!f=Pw^2oGQX$1|o4yts|b_5@w_kNwtl{wDP#JGMvIp#!SYX?Wq9S&`&_ZwkgGH5CLB7DEGJ6=R4J~p3Z4i^A}hs=-uZeD zs92l6u@**R$~L()G{5N8*7cE5-q$SCo`q4|NSVF*+A7&xZnypm$EdXgf)E%(VJHFD zSgi(H!D!(;9Zcc#GrCCJh=RlvXBQ-hv4Vodse`a32ZUFWgP5ZhM5LeV(#D^H8p@Lg ztra5R32z@1rQv{6u&RZL5%Z@Ye{q|t#6aM_1hIrpl@)oH6}os*cbAQywa{5<`ekzW O1il%9bk82&KlvLjD^%40 literal 0 HcmV?d00001 diff --git a/htroot/jquery/flexigrid/css/images/load.png b/htroot/jquery/flexigrid/css/images/load.png new file mode 100644 index 0000000000000000000000000000000000000000..d65defbcb54ab2e3ffb4d12201ca3f6a56182df4 GIT binary patch literal 827 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2v2c#)bf&5Z9?^djJ0WyX4C3S?4G9pKSM^>M`L|hyMi6q(#xs z-aczRQa52w_nh-nW}ctWcdRXBs^88l+t%M$HGALmzLTxp$C`7tq;wu@3Y#8KHm7*Y zxlNNc_Xp4Oc4)HS-;2=?GbJv^;Q@V~c-}`W9+r=%rukV<2sxxC+%D#s?`%iYn ztqz%Rva@qdd-LJSoVBUD?``*O^m_OG?e1&aYxWi|I63>z-#;5quXpLTop!cAZ*_Xp zp{mulmYlnDcKZ1Vjr*#WU!T{0q#WV@pJ!)ya+G39{~0PY zR(NyEiQ3MbCG_o<(FU>kT5SqHl@zocnUYq_SJK`s&=ETG)k=X0DaQr01e9hTTfr&x zsWee{d;5;VCj~v06nt=OZ)7Gntwxq1(jW}}Tt^?D#dp~_vIn3U?qhybTBU95! zDI3XGyDAIUwOI=6pK?lcnY8%qw%bLAY>vNW_^#~IaFIoiK_G$Qo@|7?`$KD9pobVd MUHx3vIVCg!0CQN?vH$=8 literal 0 HcmV?d00001 diff --git a/htroot/jquery/flexigrid/css/images/magnifier.png b/htroot/jquery/flexigrid/css/images/magnifier.png new file mode 100644 index 0000000000000000000000000000000000000000..cf3d97f75e9cde9c143980d89272fe61fc2d64ee GIT binary patch literal 615 zcmV-t0+{`YP)gNuvOO$0ks zMIj=HnnBRUR?tKXG11rxCU4&7dG4NbuvR2_mEvc)n?Cow;~Wve|KR^>9@p5l)|QB+ z$jmun3q#x>;ss-PW_mnr2MHVzLAl1RW&0?VkixF*4t!St0YVb2wnKdU(kmOHiL;aW zK8Xte%(k>MVGG$E4no6dcNnb>BhVHHGD&1pv4YZ68kE2V03t5#PCEFm7=ad$6)+3B zTCmn*?A?=u(o~ET7~-7g0)ZB=6|lumi4}B}MLgy~Ysy6)Q5%Al7|05&1z3Jpu>cF8 z3?VXs*3<}%h3`5Wld)N2zJnk%Agw<~3k)sPTLFd=F5;d8-bj-09SkQuynfflNcZLN z!^_37fdZvzrq=9~mp*($%mcDRKC&qvaaZuX+C=AT6O*~tHl>0mcP<_q>-z%$xO(@! zYluq5a8VQI$S@4?r*v;gPo!QQ%pX3A#>xx4t=w-L6COWx?aj&`f+!YePsFtj=hOQR zP3=E2j@9L7s8;T^&s?u(Hdpu?CubjMrGn{t_37>9$|AD)QE08weJlKn8|OyjL~7oP zC8mPT`jzuH*Dh^I0048RGafUIT)4H~*m8m>egI0iH=(LB%b@@O002ovPDHLkV1lw0 B3DMtRfXPIhu=?%_D_lZSBKzVjNxaT`)Hi` zg|7dIuK%LF|E0hGA^8LW000pHEC2ui01yBW000FxU?h%YX`ZNvrKXgzB=o&-^k`pI nI~Vs+u);;t@l03*hDD=*4Hk_-^N_EIHS*BQr-&26rSBKy~Xt!va{WNmu zXq@>+g!?E>mjD0%A^8LW0018VEC2ui01yBW000Fy;3tk`X`X0_r6q8&BM>C;X9XGs o3xU%}tO4V|>11FNPJ^(h88(Va?Gq^=rXPq0`+0D`U{eSHJ0!qRy#N3J literal 0 HcmV?d00001 diff --git a/htroot/jquery/flexigrid/css/images/up.png b/htroot/jquery/flexigrid/css/images/up.png new file mode 100644 index 0000000000000000000000000000000000000000..000c065635f189ba79e3566e1e9dbbdeec126dca GIT binary patch literal 224 zcmeAS@N?(olHy`uVBq!ia0vp^>_E)I!3-ozC9e7dDajJoh?3y^w370~qErUQl>DSr z1<%~X^wgl##FWaylc_d9MaBU>A+A@hT&b(}4Bd2{~!`8hc`m6erlZf|6H_V+Po~-c6{&c-IEGZ*N=k5GnmAGLzvB!>=?1R`!#1T9PafABDicK+ bStJ;q-j}gmEMvVDsGh;o)z4*}Q$iB}fe$3! literal 0 HcmV?d00001 diff --git a/htroot/jquery/flexigrid/css/images/wbg.gif b/htroot/jquery/flexigrid/css/images/wbg.gif new file mode 100644 index 0000000000000000000000000000000000000000..8046089a9de7680673de4bc9dbf45ffedf72aa52 GIT binary patch literal 868 zcmZ?wbhEHbWMt4`Y-eD&e*OB58#iv-HPoF=3 z{^G@pmoHzwe*OB*n>TOYzJ2%Z-G>h!{{R2aFbYOPVCaW{;!hT!C;l_&fV=|A6AT=V z46Gg<3=bQd*?7b>JQ^4dGBUGr2}md?Ff?>a7-!u%v2pS7eg)?)8P7|LTPAA+uZlUj WY3b?d2Fa)9cy3