Bio: Update

Beitrag lesen

Sup!

Okay... Version 1.1:

  • Problem mit Sortieren von Daten (geht wohl built-in doch nicht so gut) beseitigt
  • Skript läuft nur einmal (macht auch sonst keinen Sinn) pro Seite-Laden

Lesbar:

function threadinfo(node,time) {
  this.node = node;
  this.time = time;
}

function sortthreads(a,b) {
return (b.time - a.time);
}

function timesort(a,b) {
return (a-b);
}

function check(){
 dt = document.title;
 if (dt.match(/BioSort/)) {return true;}

rn=document.getElementById("root");
 non = rn.childNodes.length;

real_thread_list = new Array();
 realthreads = new Array();

threads = 0;
 for (i=0;i<non;i++) {
 document.title=dt +" - BioSorting - Phase 1/2 - ("+ Math.floor((i/non) * 100) + "%)";
   if (rn.childNodes.item(i).nodeType == 1) {
     a = analyse_thread_get_latest_date(rn.childNodes.item(i));
     if (a) {
       real_thread_list[threads] = i;
       realthreads[threads++] = new threadinfo(rn.childNodes.item(i).cloneNode(1),a);
     }
   }
 }

realthreads.sort(sortthreads);

for (i=0; i < threads; i++) {
   document.title=dt +" - BioSorting - Phase 2/2 - ("+ Math.floor((i/threads) * 100) + "%)";
   rn.replaceChild(realthreads[i].node,rn.childNodes.item(real_thread_list[i]));
 }
 document.title=dt + " - BioSorted - most active threads first"
}

function analyse_thread_get_latest_date(node) {
  if (node.childNodes.item(0).nodeType == 3) return false;
  var content = node.innerHTML;
  var timearray = new Array();
  var myregexp = /</b>, (\d{2}). (\d{2}). (\d{4}), (\d{2}):(\d{2}) /;
  results = content.match(/</b>, \d{2}. \d{2}. \d{4}, \d{2}:\d{2} /g);
  if (results) {
 text = "";
    for (a = 0; a<results.length; a++) {
      myregexp.exec(results[a]);
      timearray[a] = new Date(RegExp.$3,RegExp.$2,RegExp.$1,RegExp.$4,RegExp.$5,0);
text += timearray[a]+" # ";
    }
  } else {
    return false;
  }

timearray.sort(timesort);

return timearray[timearray.length-1];
}

Bookmarkbar:
javascript:function timesort(a,b) {return (a-b);}function threadinfo(node,time) {this.node = node;this.time = time;} function sortthreads(a,b) {return (b.time - a.time);} function check(){dt = document.title; if (dt.match(/BioSort/)) {return;} rn=document.getElementById("root"); non = rn.childNodes.length; real_thread_list = new Array(); realthreads = new Array(); threads = 0; for (i=0;i<non;i++) {document.title=dt +"BioSorting - Phase 1 - ("+ Math.floor((i/non) * 100) + "%)";if (rn.childNodes.item(i).nodeType == 1) {a = analyse_thread_get_latest_date(rn.childNodes.item(i)); if (a) {real_thread_list[threads] = i; realthreads[threads++] = new threadinfo(rn.childNodes.item(i).cloneNode(1),a);}}} realthreads.sort(sortthreads); for (i=0; i < threads; i++) {document.title=dt +"BioSorting - Phase 2 - ("+ Math.floor((i/threads) * 100) + "%)"; rn.replaceChild(realthreads[i].node,rn.childNodes.item(real_thread_list[i]));} document.title=dt + " - BioSorted - most active threads first"} function analyse_thread_get_latest_date(node) { if (node.childNodes.item(0).nodeType == 3) return false; var content = node.innerHTML; var timearray = new Array(); var myregexp = /</b>, (\d{2}). (\d{2}). (\d{4}), (\d{2}):(\d{2}) /; results = content.match(/</b>, \d{2}. \d{2}. \d{4}, \d{2}:\d{2} /g); if (results) {for (a = 0; a<results.length; a++) {myregexp.exec(results[a]);timearray[a] = new Date(RegExp.$3,RegExp.$2,RegExp.$1,RegExp.$4,RegExp.$5,0);}} else {return false;} timearray.sort(timesort);return timearray[timearray.length-1];} check();

Gruesse,

Bio

--
Tötet DJ Ötzi! (Nicht wirklich!)