dev_note_search

Let you search in your notes! Regexp available!

  1. // ==UserScript==
  2. // @name dev_note_search
  3. // @namespace dev_note_search
  4. // @description Let you search in your notes! Regexp available!
  5. // @match http://*.deviantart.com/messages/notes/*
  6. // @match http://*.deviantart.com/notes/*
  7. // @require http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js
  8. // @version 1.52
  9. // @contributor Dediggefedde
  10. // @grant GM_addStyle
  11. // @grant GM_setValue
  12. // @grant GM_getValue
  13. // @grant GM_deleteValue
  14. // ==/UserScript==
  15.  
  16. (function(){
  17. // var $=unsafeWindow.jQuery,holder,query,offset,fPage,pPage,lPage;
  18. var wartbild="data:image/gif;base64,R0lGODlhFAAUAMwAAAAAAAAAAE9PT%2F%2F%2F%2F2lpadqkApmZmaJ6An9%2Ff%2F7klScnJ5OTk%2F3LNVxcXG1tbXR0dDQ0NKenp7meTdPT04iIiLS0tMzMzExMTKaZck5EJmRXLn9ySoBlFJR5KAAAAAAAACH%2FC05FVFNDQVBFMi4wAwEAAAAh%2BQQJGQAAACwFAAEACgASAEAFTSAAEEEZEGIaHEaQjkIso0BQMPdRuPAwFAMBiiAwmYSiFUPHExF9yJ5viiQUgL7C8CCTaWHXQiIKLpCThkEz%2BfM1A9mpi2io26MkEy0EACH5BAkKAAAALAUAAQAKABIAQAVNIAAQQRkQYhocRpCOQiyjQFAw91G48OAPAhRBYDIFRSuGjica%2Bo69QqJwAAp%2Fv6tMVhAKCuAEFAYeIw0DJtJXZQZ8hZ9raKjboSQTLQQAIfkECRkAAAAsBQABAAoAEgBABVEgABBBGRBiGhxGkI5CLKNAwBTDcDAurOcCFEFgMgVFgQTjUOiJhkDasJCgFg5HQm47EGJlsS6MyUgcnwLqWWUYOJEDnFsVv%2BJcQ4N%2BfyaZaCEAIfkECRkAAAAsBQABAAoAEgBABUsgABBBGRBiGhxGkI5CLKNAwAw47sLFkRQCFEFgMgVFgQTjUNiJhoPDkff7SYW5HFYmGwgFh9yUOkYaBk5k1rkq9ApomGFOn5JMtBAAIfkECRkAAAAsBQABAAoAEgBABU0gABBBGRBiGhxGkI5CLKNAMNy4CydHUQgogsBkAooChUFPJxLejLBCQlo4GAk4XHAgkw2Cgiw0mhgfDQPmceA7MJFtn0toqNuhJBMtBAAh%2BQQJGQAAACwDAAEADwASAEAFdiAgjmJVGWQaZIclBEiKBErwNGkuNtEQvTBCQ1AoHgqcgC7VmCEGTp1jQKUuKoABgACbDBbKFEXwMEgShQ1kyZxGdYGFoPY0YFWL6lxAySkwVi8yAQISAxcOKQQOCBNoBR04igEGFgVHAhpwCmRmmWwIEA0ESyEAIfkECRkAAAAsAgAFABAACgBABUEgQBBAaZ4jEAhCQJ5iMLRrURzFYAx8Twu81ouwCgZqtsOvNzuyXLBYc5UoJKZAnzOBwxV2zB9OWCJmW6JXtEwKAQAh%2BQQJGQAAACwCAAEADwASAEAFdyAgAoazjCiKBIJ1ZEgqA88TKEEMEKsiRIWIY5YKGAZIpKIBWCEKCEXkJKMsCljskDgKLAaTKIEIOQ4MhoeAInIWHEyZQQG9CRaBqsCXxZPvWBgKXCQOFwMSARA6Mw0TEkhhDmMpAgJJFgYBlCiWaGo4XAQNiyMhADs%3D";
  19.  
  20. GM_addStyle("#dev_note_wartbild{margin:-10px 0px -5px 0px;}"+
  21. "#dev_note_reset.smbutton{margin-left:30px!important;height:30px;line-height:10pt;}"+
  22. ".dev_note_formline{line-height:18pt;}"+
  23. ".dev_note_formlabel{float: left; width: 100px;}"+
  24. "#dev_note_name,#dev_note_subj{width:295px;}"+
  25. "#dev_note_name,#dev_note_subj,#dev_note_mess{width:290px;}"+
  26. "#dev_note_datef{width: 85px;float: left;margin-right:10px}"+
  27. "#dev_note_datet{width: 90px;}"+
  28. "#dev_note_but.smbutton{height:30px;padding:0px;margin:0px;line-height:10pt}"+
  29. ".dev_note_butline{text-align:center;}");
  30.  
  31. var nids=[];
  32. var nclass=[];
  33. var dispelms=[];
  34.  
  35. var nusers=[];
  36. var nmessage=[];
  37. var ntitle=[];
  38. var ndate=[];
  39. var nparam=[];
  40. var erst;
  41. var lastindpage=-1;
  42. var maxpag;
  43. var shown=0;
  44.  
  45. var wartimg=null;
  46.  
  47. function forminsert(){
  48. if($("div.pagination li.next").length==0){setTimeout(forminsert,100);return true;}
  49. maxpag=$("div.pagination li.number a").last().html();
  50. $("div.pagination li.next").click(function(){
  51. var pg=parseInt($("div.pagination li.current a").html());
  52. if(pg==parseInt($("div.pagination li.number a").last().html())){return false;}
  53. filter(pg*10);
  54. return false;});
  55. $("div.pagination li.prev").click(function(){
  56. var pg=parseInt($("div.pagination li.current a").html());
  57. if(pg==1){return false;}
  58. filter((pg-2)*10);
  59. return false;});
  60. $("div.pagination li.next a").attr("href","");
  61. $("div.pagination li.prev a").attr("href","");
  62. $("div.pagination div.gotobox a").click(function(){
  63. var pg=parseInt($("div.pagination div.gotobox input").attr("value"));
  64. if(pg<1||pg>parseInt($("div.pagination li.number a").last().html())||pg==parseInt($("div.pagination li.current a").html())){alert("Please insert a valid number!");return false}
  65. filter((pg-1)*10);
  66. return false;});
  67. $("div.pagination div.gotobox a").attr("onclick","return false;");
  68. $("div.pagination div.gotobox input").keydown(function(e){
  69. if(e.which==13){
  70. var pg=parseInt($("div.pagination div.gotobox input").attr("value"));
  71. if(pg<1||pg>parseInt($("div.pagination li.number a").last().html())||pg==parseInt($("div.pagination li.current a").html())){alert("Please insert a vvalid number!");return false}
  72. filter((pg-1)*10);
  73. $("div.pagination div.gotobox").hide();
  74. return false;
  75. }
  76. });
  77. $("a.gtab.gtabi-mc").click(function(){
  78. $("#current-note").html("");
  79. $("#note-intro").show();
  80. $("div.push.compose_frame").hide();
  81. return false
  82. })
  83. $("a.gtab.gtabi-mc").attr("href","");
  84. $("#note-intro").append('<div id="dev_note_search_form" style="width:400px" class="mc"><h3>Note-Search</h3>'+
  85. '<div class="dev_note_formline"><div class="dev_note_formlabel">Name:</div><input type="text" id="dev_note_name"></div>'+
  86. '<div class="dev_note_formline"><div class="dev_note_formlabel">Subject:</div><input type="text" id="dev_note_subj"></div>'+
  87. '<div class="dev_note_formline"><div class="dev_note_formlabel">Message:</div><textarea id="dev_note_mess"></textarea></div>'+
  88. '<div class="dev_note_formline"><div class="dev_note_formlabel">Date from:<br>(m d yyyy)</div><input type="text" id="dev_note_datef"></div>'+
  89. '<div class="dev_note_formline"><div class="dev_note_formlabel">Date to:<br>(m d yyyy)</div><input type="text" id="dev_note_datet"><br></div><br/>'+
  90. '<div class="dev_note_butline"><a id="dev_note_but" onclick="return false;" class="smbutton"><span>Search</span><a id="dev_note_reset" onclick="return false;" class="smbutton"><span>Reindex Notes</span><a></div>'+
  91. '</div>');
  92. $("#dev_note_but").click(function(){filter(0);});
  93. $("#dev_note_reset").click(function(){
  94. setTimeout(function(){clear();codins();laden();wartimg.css("display","inline");},0);
  95. });
  96. $("#dev_note_name").keyup(function(){filter(0);});
  97. $("#dev_note_subj").keyup(function(){filter(0);});
  98. $("#dev_note_mess").keyup(function(){filter(0);});
  99. $("#dev_note_datef").keyup(function(){filter(0);});
  100. $("#dev_note_datet").keyup(function(){filter(0);});
  101. $("a.button_mark").click(function(){
  102. setTimeout(function(){
  103. $("a.notes_toggle[method=toggleRead]").click(function(){
  104. var el1=$(this);
  105. $("li.note.selected").each(function(){
  106. var ind=nids.indexOf($(this).attr("id"));
  107. setTimeout(function(){
  108. var stat="icon i9";
  109. if($("#"+nids[ind]).hasClass("replied"))stat="icon i11";
  110. if(el1.attr("value")=="true"){
  111. stat="icon i23";
  112. if($("#"+nids[ind]).hasClass("replied"))stat="icon i21";
  113. $("#"+nids[ind]).removeClass("unread");
  114. }else{
  115. $("#"+nids[ind]).addClass("unread");
  116. }
  117. nclass[ind]=$("#"+nids[ind]).attr("class").replace("selected","").replace("current-note","");
  118. nparam[ind]=nparam[ind].split(String.fromCharCode(1))[0]+String.fromCharCode(1)+nparam[ind].split(String.fromCharCode(1))[1]+String.fromCharCode(1)+stat;
  119. save();
  120. },100);
  121. });
  122. });
  123. $("a.notes_toggle[method=toggleStarred]").click(function(){
  124. var el1=$(this);
  125. $("li.note.selected").each(function(){
  126. var ind=nids.indexOf($(this).attr("id"));
  127. var el=$(this).find("span.icon_star");
  128. setTimeout(function(){
  129. var stat=" ";
  130. if(el1.attr("value")=="true"){stat=" starred";}
  131. el.attr("class","icon_star"+stat);
  132. nparam[ind]=stat+String.fromCharCode(1)+nparam[ind].split(String.fromCharCode(1))[1]+String.fromCharCode(1)+nparam[ind].split(String.fromCharCode(1))[2];
  133. save();
  134. },100);
  135. });
  136. });
  137. },100);
  138. });
  139. wartimg=$("<img src='"+wartbild+"' id='dev_note_wartbild'/>");
  140. $("#dev_note_reset span").prepend(wartimg);
  141. wartimg.attr("title","progress: 0%");
  142. }
  143.  
  144. function laden(){
  145. if(wartimg==null||$("#dev_note_temp").length==0||parseInt($("#dev_note_temp").attr("page"))==lastindpage){setTimeout(laden,100);return true;}
  146. lastindpage=parseInt($("#dev_note_temp").attr("page"));
  147. wartimg.attr("title","progress: "+(Math.round((lastindpage+1)/(maxpag*0.1)))+"%");
  148. var rex=/<li data-cached="false" data-noteid="(\d+)" class="(.*?)">[\s\S]*?<span class="icon_star(.*?)">[\s\S]*?<a data-noteid=.*?data-folderid="(\d+)".*?title="(.*?)"[\s\S]*?(from .<a class="u" .*?>.*?)<[\s\S]*?class="ts" title="(.*?)">(.*?)<[\s\S]*?<i class="(.*?)"><[\s\S]*?expandable">([\s\S]*?)<\/div>/gi
  149. var row,i=0;
  150. while(row=rex.exec($("#dev_note_temp").attr("inhalt"))){
  151. if(nids.indexOf(row[1])!=-1){continue;}
  152. if(lastindpage==0){
  153. nids.splice(i,0,row[1]);
  154. nclass.splice(i,0,row[2]);
  155. nparam.splice(i,0,row[3]+String.fromCharCode(1)+row[4]+String.fromCharCode(1)+row[9]);
  156. ntitle.splice(i,0,row[5]);
  157. nusers.splice(i,0,row[6]);
  158. ndate.splice(i,0,row[7]+"|"+row[8]);
  159. nmessage.splice(i,0,row[10]);
  160. i++;
  161. }else{
  162. nids.push(row[1]);
  163. nclass.push(row[2]);
  164. nparam.push(row[3]+String.fromCharCode(1)+row[4]+String.fromCharCode(1)+row[9]);
  165. ntitle.push(row[5]);
  166. nusers.push(row[6]);
  167. ndate.push(row[7]+"|"+row[8]);
  168. nmessage.push(row[10]);
  169. }
  170. }
  171. if(nids.length==0)console.log("Note's html-layout changed.");
  172. save();
  173. insert(parseInt($("#dev_note_temp").attr("page")));
  174. filter(0,parseInt($("#dev_note_temp").attr("page"))>30);
  175. if($("#dev_note_temp").attr("temp")=="1"){
  176. setTimeout(laden,100);
  177. }else{
  178. // console.log("s");
  179. wartimg.css("display","none");
  180. lastindpage=-1;
  181. $("span.icon_star").click(function(){
  182. var ind=nids.indexOf($(this).parents("li[data-noteid]").attr("id"));
  183. var el=$(this);
  184. setTimeout(function(){
  185. nparam[ind]=el.attr("class").match(/icon_star(.*)/)[1]+String.fromCharCode(1)+nparam[ind].split(String.fromCharCode(1))[1]+String.fromCharCode(1)+nparam[ind].split(String.fromCharCode(1))[2];
  186. save();
  187. },100);
  188. });
  189. $("li.note").click(function(event){
  190. var ind=nids.indexOf($(this).attr("id"));
  191. var el=$(this).find("span.statusicon i.icon");
  192. setTimeout(function(){
  193. var stat=el.attr("class");
  194. if(!$(event.target).hasClass("icon")){
  195. switch(el.attr("class")){
  196. case "icon i9": el.click();break;
  197. case "icon i21": el.click();break;
  198. case "icon i23": stat="icon i23";break;
  199. case "icon i11": stat="icon i11";break;
  200. }
  201. }
  202. nparam[ind]=nparam[ind].split(String.fromCharCode(1))[0]+String.fromCharCode(1)+nparam[ind].split(String.fromCharCode(1))[1]+String.fromCharCode(1)+stat;
  203. nclass[ind]=$("#"+nids[ind]).attr("class").replace("selected","").replace("current-note","");
  204. $("a.send_note").click(function(event){
  205. // console.log(ind+":"+nparam[ind]);
  206. nparam[ind]=nparam[ind].split(String.fromCharCode(1))[0]+String.fromCharCode(1)+nparam[ind].split(String.fromCharCode(1))[1]+String.fromCharCode(1)+"icon i11";
  207. $("#"+nids[ind]).addClass("replied");
  208. $("#"+nids[ind]+" .statusicon .icon").attr("class","icon i11");
  209. // console.log(ind+":"+nparam[ind]);
  210. setTimeout(save,0);
  211. }).css("color","red");
  212. save();
  213. },100);
  214. });
  215. }
  216. $("#dev_note_temp").remove();
  217. GM_setValue("lastindpage",lastindpage);
  218. }
  219.  
  220. function clear(){
  221. $("li.note").removeAttr("prot");
  222. nids=[];
  223. nclass=[];
  224. nusers=[];
  225. nmessage=[];
  226. ntitle=[];
  227. ndate=[];
  228. nparam=[];
  229. GM_deleteValue("nids");
  230. GM_deleteValue("nclass");
  231. GM_deleteValue("nusers");
  232. GM_deleteValue("nmessage");
  233. GM_deleteValue("ntitle");
  234. GM_deleteValue("ndate");
  235. GM_deleteValue("nparam");
  236. }
  237.  
  238. function save(){
  239. GM_setValue("nids",nids.join(String.fromCharCode(2)));
  240. GM_setValue("nclass",nclass.join(String.fromCharCode(2)));
  241. GM_setValue("nusers",nusers.join(String.fromCharCode(2)));
  242. GM_setValue("nmessage",nmessage.join(String.fromCharCode(2)));
  243. GM_setValue("ntitle",ntitle.join(String.fromCharCode(2)));
  244. GM_setValue("ndate",ndate.join(String.fromCharCode(2)));
  245. GM_setValue("nparam",nparam.join(String.fromCharCode(2)));
  246. }
  247.  
  248. function load(){
  249. if(!GM_getValue("nids")){return false;}
  250. nids=GM_getValue("nids").split(String.fromCharCode(2));
  251. nclass=GM_getValue("nclass").split(String.fromCharCode(2));
  252. nusers=GM_getValue("nusers").split(String.fromCharCode(2));
  253. nmessage=GM_getValue("nmessage").split(String.fromCharCode(2));
  254. ntitle=GM_getValue("ntitle").split(String.fromCharCode(2));
  255. ndate=GM_getValue("ndate").split(String.fromCharCode(2));
  256. nparam=GM_getValue("nparam").split(String.fromCharCode(2));
  257. }
  258. function filter(offset,nav){
  259. if(typeof nav=="undefined")nav=false;
  260. if(!nav){
  261. shown=0;
  262. var inh=document.createElement("div");
  263. inh.id="dev_note_search_notes";
  264. for(var i=0;i<nids.length;i++){
  265. if($("#dev_note_name").attr("value")!=""&&nusers[i].match(/>(.*)$/i)[1].search(new RegExp($("#dev_note_name").attr("value"),"i"))==-1)continue;
  266. if($("#dev_note_subj").attr("value")!=""&&ntitle[i].search(new RegExp($("#dev_note_subj").attr("value"),"i"))==-1)continue;
  267. if($("#dev_note_mess").attr("value")!=""&&nmessage[i].search(new RegExp($("#dev_note_mess").attr("value"),"i"))==-1)continue;
  268. var dn=new Date(Date.parse(ndate[i].split("|")[0]));
  269. if(!dn.getTime()){dn=new Date(Date.parse(ndate[i].split("|")[1]));}
  270. var df=new Date(Date.parse($("#dev_note_datef").attr("value")));
  271. var dt=new Date(Date.parse($("#dev_note_datet").attr("value")));
  272. if($("#dev_note_datef").attr("value")!=""&&dn.getTime()<df.getTime()){continue;}
  273. if($("#dev_note_datet").attr("value")!=""&&dn.getTime()>dt.getTime()){continue;}
  274. if(shown<10+offset&&shown>=offset){$(inh).append(dispelms[i]);}
  275. shown++;
  276. }
  277. $("#dev_note_search_notes").remove();
  278. $("li.note").remove();
  279. $("ul.notes div.footer").before(inh);
  280. }else{
  281. shown=nids.length;
  282. }
  283. var pages=Math.floor((shown-1)/10);
  284. var aktpage=Math.floor((offset)/10);
  285. $("#current-folder div.pagination .number").remove();
  286. $("#current-folder div.pagination .dotdotdot").remove();
  287. if(aktpage>0)$("#current-folder div.pagination li.prev a").attr("class","away");else $("#current-folder div.pagination li.prev a").attr("class","disabled");
  288. if(aktpage<pages)$("#current-folder div.pagination li.next a").attr("class","away");else $("#current-folder div.pagination li.next a").attr("class","disabled");
  289. if(aktpage==0||aktpage==1||aktpage==2){
  290. if(aktpage==0)$("#current-folder div.pagination li.next").before("<li class='number nomargin current'><a href=''>1</a></li>");
  291. if(aktpage==1||aktpage==2)$("#current-folder div.pagination li.next").before("<li class='number nomargin'><a href=''>1</a></li>");
  292. if(pages>0){
  293. if(aktpage==0||aktpage==2)$("#current-folder div.pagination li.next").before("<li class='number'><a href=''>2</a></li>");
  294. if(aktpage==1)$("#current-folder div.pagination li.next").before("<li class='number current'><a href=''>2</a></li>");
  295. if(aktpage==2)$("#current-folder div.pagination li.next").before("<li class='number current'><a href=''>3</a></li>");
  296. if(((aktpage==0||aktpage==1)&&pages>2)||((aktpage==2)&&pages>2)){
  297. $("#current-folder div.pagination li.next").before("<li class='dotdotdot'><a href=''>...</a></li>");
  298. }
  299. if(((aktpage==0||aktpage==1)&&pages>1)||((aktpage==2)&&pages>2)){
  300. $("#current-folder div.pagination li.next").before("<li class='away number'><a href=''>"+(pages+1)+"</a></li>");
  301. }
  302. }
  303. }else if(aktpage==pages||aktpage==pages-1||aktpage==pages-2){
  304. $("#current-folder div.pagination li.next").before("<li class='nomargin number'><a href=''>1</a></li>");
  305. $("#current-folder div.pagination li.next").before("<li class='dotdotdot'><a href=''>...</a></li>");
  306. if(aktpage==pages-2)$("#current-folder div.pagination li.next").before("<li class='number nomargin current'><a href=''>"+(pages-1)+"</a></li>");
  307. if(aktpage==pages)$("#current-folder div.pagination li.next").before("<li class='number nomargin '><a href=''>"+(pages)+"</a></li>");
  308. if(aktpage==pages-1)$("#current-folder div.pagination li.next").before("<li class='number nomargin current'><a href=''>"+(pages)+"</a></li>");
  309. if(aktpage==pages-2)$("#current-folder div.pagination li.next").before("<li class='number nomargin '><a href=''>"+(pages)+"</a></li>");
  310. if(aktpage==pages)$("#current-folder div.pagination li.next").before("<li class='number nomargin current'><a href=''>"+(pages+1)+"</a></li>");
  311. if(aktpage==pages-1)$("#current-folder div.pagination li.next").before("<li class='number nomargin '><a href=''>"+(pages+1)+"</a></li>");
  312. if(aktpage==pages-2)$("#current-folder div.pagination li.next").before("<li class='number nomargin '><a href=''>"+(pages+1)+"</a></li>");
  313. }else{
  314. $("#current-folder div.pagination li.next").before("<li class='number nomargin'><a href='' >1</a></li>");
  315. $("#current-folder div.pagination li.next").before("<li class='dotdotdot'><a href='' class='a'>...</a></li>");
  316. $("#current-folder div.pagination li.next").before("<li class='number current'><a href=''>"+(aktpage+1)+"</a></li>");
  317. $("#current-folder div.pagination li.next").before("<li class='dotdotdot'><a href='' class='b'>...</a></li>");
  318. $("#current-folder div.pagination li.next").before("<li class='away number'><a href=''>"+(pages+1)+"</a></li>");
  319. }
  320. $("#current-folder div.pagination li.number a").attr("onclick","return false;");
  321. $("#current-folder div.pagination li.number a:not([filterakt])").click(function(){filter(($(this).html()-1)*10);return false;});
  322. $("#current-folder div.pagination li.number a").attr("filterakt","1");
  323. $("#current-folder li.dotdotdot a:not([filterakt])").click(function(){
  324. $("#current-folder div.gotobox").toggle();
  325. $("#current-folder div.pagination div.gotobox input").focus();
  326. $("#current-folder div.pagination div.gotobox input").select();
  327. var left=0;
  328. if(aktpage==0||aktpage==1)left=24*3-12;else
  329. if(aktpage==2)left=24*4-12;else
  330. if(aktpage==pages||aktpage==pages-1||aktpage==pages-2||$(this).hasClass('a'))left=24*2-12;else
  331. if ($(this).hasClass('b')){left=24*4-12;
  332. if(aktpage>8)left+=8;
  333. }
  334. $("#current-folder div.gotobox").css("left",left);
  335. return false;
  336. });
  337. $("#current-folder li.dotdotdot a").attr("filterakt","1");
  338. }
  339. function insert(offset){
  340. if(typeof offset=="undefined")offset=0;
  341. if(offset==0)dispelms=[];
  342. // if($("li.note").length>0)erst=$("li.note").first().clone();
  343. erst=$("<li class=\"odd note opened ui-draggable current-note\" data-noteid=\"123456789\" data-cached=\"false\"><div style=\"overflow: hidden\"> <!-- necessary for long word issue --> <span class=\"icon_checkbox\"><i tabindex=\"1\" class=\"check ctrl\"></i></span> <span class=\"icon_star \"><i tabindex=\"1\" class=\"ctrl starred\"></i></span> <div class=\"note-details\"><span class=\"subject\"><a class=\"wrap-for-ts-abs\" title=\".\" href=\"#1_0/123456789\" data-folderid=\"1\" data-noteid=\"123456789\">.</a></span><span class=\"sender\">from =<a href=\"http://dediggefedde.deviantart.com/\" class=\"u\">Dediggefedde</a></span><br> </div> <span title=\"1w 2d ago\" class=\"ts\">Mar 1, 2013, 7:08:56 PM</span> <span class=\"statusicon\"> <i class=\"icon i23\"></i> </span> <div class=\"note-preview expandable\">testmail!</div> <div class=\"show_more_container hidden\" style=\"display: block;\"><a class=\"show_more jslink\"><b></b></a></div> </div><span class=\"sel-arrow\"><i></i></span> </li>")
  344. for(var i=offset;i<nids.length;i++){
  345. erst.attr("data-noteid",nids[i]);
  346. erst.attr("id",nids[i]);
  347. erst.attr("class",nclass[i]);
  348. erst.attr("data-cached","false");
  349. erst.attr("prot","true");
  350. erst.find("span.icon_star").attr("class","icon_star"+nparam[i].split(String.fromCharCode(1))[0]);
  351. var noteid=erst.find("a[data-noteid]");
  352. noteid.attr("data-noteid",nids[i]);
  353. noteid.attr("data-folderid",nparam[i].split(String.fromCharCode(1))[1]);
  354. noteid.attr("href","http://my.deviantart.com/notes/#1_0/"+nids[i]);
  355. noteid.attr("title",ntitle[i]);
  356. noteid.html(ntitle[i]);
  357. erst.find("span.statusicon i.icon").attr("class",nparam[i].split(String.fromCharCode(1))[2]);
  358. erst.find("span.sender").html(nusers[i]);
  359. var d1=new Date(Date.parse(ndate[i].split("|")[0]));
  360. var d2=new Date(Date.parse(ndate[i].split("|")[1]));
  361. var e1="ago";
  362. var dn;
  363. if(!d1.getTime())dn=d2;else dn=d1;
  364. var dz=new Date(new Date()-dn);
  365. if(Math.floor((dz/1000)%60)!=0)e1=Math.floor((dz/1000)%60)+"s "+e1;
  366. if(Math.floor((dz/1000/60)%60)!=0)e1=Math.floor((dz/1000/60)%60)+"m "+e1;
  367. if(Math.floor((dz/1000/60/60)%24)!=0)e1=Math.floor((dz/1000/60/60)%24)+"h "+e1;
  368. if(Math.floor((dz/1000/60/60/24)%7)!=0)e1=Math.floor((dz/1000/60/60/24)%7)+"d "+e1;
  369. if(Math.floor((dz/1000/60/60/24/7)%52)!=0)e1=Math.floor((dz/1000/60/60/24/7)%52)+"w "+e1;
  370. if(dz.getMonth()!=0)e1=dz.getMonth()+"m "+e1;
  371. if((dz.getFullYear()-1970)!=0)e1=(dz.getFullYear()-1970)+"y "+e1;
  372. if(!d1.getTime())ndate[i]=e1+"|"+ndate[i].split("|")[1];else ndate[i]=ndate[i].split("|")[0]+"|"+e1;
  373. erst.find("span.ts").attr("title",ndate[i].split("|")[0]);
  374. erst.find("span.ts").html(ndate[i].split("|")[1]);
  375. erst.find("div.note-preview").html(nmessage[i]);
  376. if(nmessage[i].length<80)erst.find("div.show_more_container").css("display","");else erst.find("div.show_more_container").css("display","block");
  377. dispelms.push(erst);
  378. erst=erst.clone();
  379. }
  380. }
  381.  
  382. function contentEval(source) {
  383. if ('function' == typeof source) {
  384. var ind="\"asd\"";
  385. if(nids.length!=0){ind=nids[0];}
  386. source = '('+source + ')('+ind+','+(lastindpage+1)+');';
  387. }
  388. var script = document.createElement('script');
  389. script.setAttribute("type", "application/javascript");
  390. script.textContent = source;
  391. document.body.appendChild(script);
  392. document.body.removeChild(script);
  393. }
  394.  
  395. function codins(){
  396. contentEval(function (aktid,j) {
  397. var inh="";
  398. function getter(i){
  399. DiFi.pushPost('Notes', 'display_folder', [1,i,true], function (C, B, F, D) {
  400. if (B.response.status == 'SUCCESS') {
  401. $("#dev_note_temp").remove();
  402. var d = document.createElement("div");
  403. d.id="dev_note_temp";
  404. d.setAttribute("style","display:none;");
  405. if(B.response.content.body.indexOf("This folder is empty")==-1){
  406. inh = B.response.content.body;
  407. if(B.response.content.body.indexOf("data-noteid=\""+aktid+"\"")==-1){
  408. getter(i+10);
  409. d.setAttribute("temp","1");
  410. }else{d.setAttribute("temp","0");}
  411. }else{
  412. d.setAttribute("temp","0");
  413. }
  414. d.setAttribute("inhalt",inh);
  415. d.setAttribute("page",i);
  416. document.body.appendChild(d);
  417. }
  418. });
  419. DiFi.send();
  420. }
  421. getter(j);
  422. });
  423. }
  424. function start(){
  425. if(window.location.href.indexOf("#1_0")==-1){if($("#dev_note_reset").length>0)$("#dev_note_search_form").remove();return;}
  426. if($("#dev_note_reset").length>0)return
  427. if(typeof GM_getValue("lastindpage")!="undefined"){lastindpage=GM_getValue("lastindpage");}
  428. load();
  429. codins();
  430. forminsert();
  431. laden();
  432. }
  433.  
  434. setInterval(start,1000);
  435.  
  436. })();