// ==UserScript== // @name Ignore people on Planet // @author Faux // @namespace http://faux.uwcs.co.uk/ // @version 0.1 // @description Adds ignore buttons to planet that collapse the user in question's posts. // add excluded sites here (if the script causes problems on those sites) // @exclude http://www.some.example.com/* // @include http://planet.uwcs.co.uk/* // ==/UserScript== var prefix = 'zomgfauxplanet'; // I hate you, javascript. var trackedelems /*Nick => (index => element)*/ = Array(); // On load, add all the buttons. window.opera.addEventListener('BeforeEvent.load',function (e) { if( e.event.target instanceof Document ) { var eders = document.getElementsByTagName('h3'); var ael,count; for (var i=0; i ' + eders[i].innerHTML; // Skip the text and get to the div|the image. var diviq = eders[i].nextSibling.nextSibling; // If it's the image.. if (diviq.className == "face") // Skip the text and on to the div. diviq = diviq.nextSibling.nextSibling; // Ensure our map exists. if (!trackedelems[uname]) trackedelems[uname] = Array(); // Save this div. trackedelems[uname][trackedelems[uname].length] = diviq; // Save any proceeding ones with the right classname. while ((diviq = diviq.nextSibling.nextSibling) && diviq.className == "entrygroup") trackedelems[uname][trackedelems[uname].length] = diviq; } } }, false); // Hide the divs associated with this nick. function removeall(a) { var q = trackedelems[a]; for (var g = 0; g < q.length; ++g) q[g].style.display = "none"; }