..: Forum DDR :.. nowy, chrupiący... suchar.net
.: Główna :: Szukaj :: Użyszkodnicy :: Rejestracja :: Profil :: Zaloguj :.
..:: FORUM 
 Nie będzie niemiec pluł nam w twarz! - skrypt USERHIDE Zobacz następny temat
Zobacz poprzedni temat
Napisz nowy temat : Odpowiedź do tematu :
Autor Wiadomość
neRufus
Wujek Chrzestny


Dołączył: 26 Lut 2003
Posty: 525
Skąd: Warszawa

Zobacz profil autora Odwiedź stronę autora 2726848
PostWysłany: Pon Kwi 06, 2009 19:33 : Odpowiedz z cytatem : Do góry : : :

niemiec, wypowiedz sie w tym temacie, zebysmy mogli przetestowac.

_________________
Dzisiejsze posty sponsorowały literki "F" i "U".
Tango_November
Robot sądowy. Jeść, spać, ruchać.


Dołączył: 21 Sty 2005
Posty: 5705
Skąd: 10 hopów stąd

Zobacz profil autora Odwiedź stronę autora 3833595
PostWysłany: Wto Kwi 07, 2009 7:09 : Odpowiedz z cytatem : Do góry : : :

Kod:
// ==UserScript==
// @name         phpBB User Hide
// @include      */viewtopic.php*
// @description  Hides/unhides a user's posts
// @exclude
// ==/UserScript==

(function() {
   // Get stored hidden users from cookie
   var users = [];
   var cookieName = "phpUserHide";
   for (var i = 0; i < document.cookie.split('; ').length; i++) {
      var oneCookie = document.cookie.split('; ')[i].split('=');
      if (oneCookie[0] == cookieName) {
         users = oneCookie[1].split(', ');
         break;
      }
   }

   // Cursor functions
   var curPointer = function(event) {
      event.target.style.cursor = 'pointer';
      event.preventDefault();
   };
   var curDefault = function(event) {
      event.target.style.cursor = 'default';
      event.preventDefault();
   };

   // Add or remove a user from the cookie
   var addRemoveUser = function(event) {
      // Parse current cookie
      for(j = 0; j < document.cookie.split('; ').length; j++ ) {
         var oneCookie = document.cookie.split('; ')[j].split('=');
         if (oneCookie[0] == cookieName) {
            users = oneCookie[1].split(', ');
            break;
         }
      }
      var user = escape(event.target.nextSibling.innerHTML)
      notFound = true;
      for (var j = 0; j < users.length; j++) {
         if (users[j] == user) {
            users.splice(j, 1);
            notFound = false;
         }
      }
      if (notFound)
         users.push(user);
      if (users.length > 0) {
         var date = new Date();
         var days = 365;
         date.setTime(date.getTime() + (days*24*60*60*1000));
         var expires = '; expires=' + date.toGMTString();
         var value = users.join(', ');
         document.cookie = cookieName + '=' + value + expires + '; path=/';
      } else {
         document.cookie = cookieName + '=;expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/';
      }
      window.alert(unescape(user) + ' has been ' + (notFound ? 'added to' : 'removed from')
         + ' your hide list\n'
         + 'You must refresh the page to view the changes.');
      event.preventDefault();
   };
   // Toggle display of user's post
   var togglePost = function(event) {
      var displayState = event.target.getAttribute('displaystate');
      if (displayState == 'none')
         displayState = '';
      else
         displayState = 'none';
      event.target.setAttribute('displaystate', displayState);

      containingRow = event.target.parentNode.parentNode;
      var innerTags = containingRow.getElementsByTagName('*');
      for (var i = 0; i < innerTags.length; i++) {
         var tagClass = innerTags[i].getAttribute('class');
         if (tagClass == 'postbody' || tagClass == 'postsig'
            || tagClass == 'postdetails' || innerTags[i].tagName == 'TABLE')
            innerTags[i].style.display = displayState;
      }
      event.preventDefault();
   };
   // Toggle display of user's quote
   var toggleQuote = function(event) {
      var displayState = event.target.getAttribute('displaystate');
      if (displayState == 'none')
         displayState = 'table-row';
      else
         displayState = 'none';
      event.target.setAttribute('displaystate', displayState);

      // Jump to parent row
      var containingRow = event.target.parentNode.parentNode.parentNode.parentNode.nextSibling;
      // Find containing row
      while (containingRow.nodeType != 1)
         containingRow = containingRow.nextSibling;
      containingRow.style.display = displayState;

      event.preventDefault();
   };

   // Find all the usernames in the page
   var results = document.evaluate("//span[@class='name']/b|//span[@class='name']/strong", document, null,
      XPathResult.ANY_TYPE, null);
   var resultNodes = [];
   var aResult;
   while (aResult = results.iterateNext())
      resultNodes.push(aResult);

   // Loop through every user post on the page
   for (var i in resultNodes) {
      var containingRow = resultNodes[i].parentNode.parentNode.parentNode;
      // Format whitespace
      var user = escape(resultNodes[i].innerHTML);

      // Flag whether the user is in our hide list
      var notFound = true;
      for (var j = 0; j < users.length; j++) {
         if (users[j] == user) {
            notFound = false;
         }
      }

      // Add relevant event handlers to user's name and a toggler node
      var toggler = document.createElement('span');
      toggler.setAttribute('title', "click to add or remove this user from your hide list");
      toggler.appendChild(document.createTextNode('[X] '));
      toggler.style.fontSize = "7pt";
      toggler.addEventListener('mouseover', curPointer, true);
      toggler.addEventListener('mouseout', curDefault, true);
      toggler.addEventListener('click', addRemoveUser, true);

      resultNodes[i].parentNode.insertBefore(toggler, resultNodes[i]);

      // If this user isn't in our hide list, skip to the next user
      if (notFound)
         continue;

      // Find the first element node (td) in the containing row
      var elem = containingRow.firstChild;
      while (elem.nodeType != 1)
         elem = elem.nextSibling;

      // Create a span to control toggling
      var span = document.createElement('span');
      span.appendChild(document.createTextNode('Toggle Display'));
      span.appendChild(document.createElement('br'));
      span.setAttribute('class', 'gensmallbold');
      span.style.textDecoration = 'underline';
      span.setAttribute('displaystate', 'none');
      span.addEventListener('mouseover', curPointer, true);
      span.addEventListener('mouseout', curDefault, true);
      span.addEventListener('click', togglePost, true);

      // Insert the span after the username and before the <br>
      elem.insertBefore(span, elem.firstChild.nextSibling.nextSibling);
      // Insert a <br> after the username and before the span
      elem.insertBefore(document.createElement('br'), elem.firstChild.nextSibling.nextSibling);

      var innerTags = containingRow.getElementsByTagName('*');
      for (var i = 0; i < innerTags.length; i++) {
         var tagClass = innerTags[i].getAttribute('class');
         if (tagClass == 'postbody' || tagClass == 'postsig'
            || tagClass == 'postdetails' || innerTags[i].tagName == 'TABLE')
            innerTags[i].style.display = 'none';
      }
   }

   // Find all the usernames quoted in the page
   var results = document.evaluate("//td[@class='quote']/parent::*/preceding-sibling::*/td/span/b|"
      + "//td[@class='quote']/parent::*/preceding-sibling::*/td/span/strong", document, null,
      XPathResult.ANY_TYPE, null);
   var resultNodes = [];
   var aResult;
   while (aResult = results.iterateNext())
      resultNodes.push(aResult);

   // Loop through every user quote on the page
   for (var i in resultNodes) {
      var containingRow = resultNodes[i].parentNode.parentNode.parentNode.nextSibling;
      while (containingRow.nodeType != 1)
         containingRow = containingRow.nextSibling;

      // Find username
      var usermatch = resultNodes[i].innerHTML.match(/(.*) wrote:$/);
      if (usermatch)
         var user = escape(usermatch[1]);
      else
         continue;

      // Flag whether the user is in our hide list
      var notFound = true;
      for (var j = 0; j < users.length; j++) {
         if (users[j] == user) {
            notFound = false;
         }
      }

      // If this user isn't in our hide list, skip to the next user
      if (notFound)
         continue;

      // Create a span to control toggling
      var span = document.createElement('span');
      span.appendChild(document.createElement('br'));
      span.appendChild(document.createTextNode('Toggle Display'));
      span.setAttribute('class', 'gensmallbold');
      span.style.textDecoration = 'underline';
      span.setAttribute('displaystate', 'none');
      span.addEventListener('mouseover', curPointer, true);
      span.addEventListener('mouseout', curDefault, true);
      span.addEventListener('click', toggleQuote, true);

      resultNodes[i].appendChild(span);
      
      // Hide the quote
      containingRow.style.display = 'none';
   }

})();
Tu wersja której używam w robocie.
Postuluję otagowanie tytułu wątku jako "userhide" i przyklejenie. Dodatkowo przy rejestracji nowy użytkownik mógłby być odpowiednio informowany o braku konieczności żebrania o ban dla iksińskiego.

_________________
Image
Myślę jak Breivik, panie Sikorski.
Psotnikp
dwie dwójki
dwie dwójki


Dołączył: 17 Sie 2004
Posty: 2811
Skąd: Gliwice

Zobacz profil autora 909366
PostWysłany: Wto Kwi 07, 2009 9:28 : Odpowiedz z cytatem : Do góry : : :

maciek sie nie wypowie bo i tak bedzie zignorowany
Brzus
NC+ expert
NC+ expert


Dołączył: 26 Lut 2003
Posty: 10854

Zobacz profil autora Odwiedź stronę autora
PostWysłany: Wto Kwi 07, 2009 9:39 : Odpowiedz z cytatem : Do góry : : :

gdyby znikł z servera czy coś tu est kod:

Kod:

// ==UserScript==
// @name          phpBB User Hide DOM3/suchar.net hack
// @include       */viewtopic.php*
// @description   Allows you to hides users' posts. Stores hidden users in a cookie.
// @exclude
// ==/UserScript==

//TODO: kradnij wszytskie dane konta bankowego
   
(function() {
   // Get stored hidden users from cookie
   var users = [];
   var cookieName = "phpUserHide";
   for (var i = 0; i < document.cookie.split('; ').length; i++) {
      var oneCookie = document.cookie.split('; ')[i].split('=');
      if (oneCookie[0] == cookieName) {
         users = oneCookie[1].split(', ');
         break;
      }
   }

   // Find all the usernames in the page
   var results = document.evaluate("//span[@class='name']/strong", document, null,
      XPathResult.ANY_TYPE, null);
   var resultNodes = [];
   var aResult;
   while (aResult = results.iterateNext())
      resultNodes.push(aResult);

   // Loop through every user post on the page
   for (var i in resultNodes) {
      var containingRow = resultNodes[i].parentNode.parentNode.parentNode;
      // Collapse whitespace
      var user = resultNodes[i].innerHTML.replace(/ /g, '');

      // Flag whether the user is in our hide list
      var notFound = true;
      for (var j = 0; j < users.length; j++) {
         if (users[j] == user) {
            notFound = false;
            resultNodes[i].style.color = 'gray';
         }
      }

      // Add relevant event handlers to user's name
      resultNodes[i].title = "double click to add or remove this user from your hide list";
      resultNodes[i].addEventListener('mouseover', function(event) { event.target.style.cursor = 'pointer'; }, true);
      resultNodes[i].addEventListener('mouseout', function(event) { event.target.style.cursor = 'default'; }, true);
      // On double-click, add or remove this user from the stored user list in the cookie
      resultNodes[i].addEventListener('dblclick',function(event) {
         for(j = 0; j < document.cookie.split('; ').length; j++ ) {
            var oneCookie = document.cookie.split('; ')[j].split('=');
            if (oneCookie[0] == cookieName) {
               users = oneCookie[1].split(', ');
               break;
            }
         }
         user = event.target.innerHTML.replace(/ /g, '');
         notFound = true;
         for (var j = 0; j < users.length; j++) {
            if (users[j] == user) {
               users.splice(j, 1);
               notFound = false;
            }
         }
         if (notFound)
            users.push(event.target.innerHTML.replace(/ /g, ''));
         if (users.length > 0) {
            var date = new Date();
            var days = 365;
            date.setTime(date.getTime() + (days*24*60*60*1000));
            var expires = '; expires=' + date.toGMTString();
            var value = users.join(', ');
            document.cookie = cookieName + '=' + value + expires + '; path=/';
         } else {
            document.cookie = cookieName + '=;expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/';
         }
         alert(event.target.innerHTML + ' has been ' + (notFound ? 'added to' : 'removed from')
            + ' your hide list\n'
            + 'You must refresh the page to view the changes.');
      }, true);

      // If this user isn't in our hide list, skip to the next user
      if (notFound)
         continue;

      // Find the first element node in the containing row
      var elem = containingRow.firstChild;
      while (elem.nodeType != 1)
         elem = elem.nextSibling;

      // Create a span to control toggling
      var span = document.createElement('span');
      span.appendChild(document.createTextNode('Show/Hide'));
      span.setAttribute('class', 'gensmallbold');
      span.style.color = 'gray';
      span.style.textDecoration = 'underline';
      span.setAttribute('displaystate', 'none');
      span.addEventListener('mouseover', function(event) { event.target.style.cursor = 'pointer'; }, true);
      span.addEventListener('mouseout', function(event) { event.target.style.cursor = 'default'; }, true);
      span.addEventListener('click', function(event) {
         var displayState = event.target.getAttribute('displaystate');
         if (displayState == 'none')
            displayState = '';
         else
            displayState = 'none';
         event.target.setAttribute('displaystate', displayState);
         elem = event.target.nextSibling;
         while (elem) {
            if (elem.getAttribute && (elem.getAttribute('class') == 'postdetails'))
               elem.style.display = displayState;
            elem = elem.nextSibling;
         }
         elem = event.target.parentNode.nextSibling;
         while (elem.nodeType != 1)
            elem = elem.nextSibling;
         elem = elem.firstChild;
         while (elem) {
            if (elem.getAttribute)
               elem.style.display = displayState;
            elem = elem.nextSibling;
         }
      }, true);

      // Insert the span after the username and before the <br>
      elem.insertBefore(span, elem.firstChild.nextSibling.nextSibling);
      // Insert a <br> after the username and before the span
      elem.insertBefore(document.createElement('br'), elem.firstChild.nextSibling.nextSibling);

      // Crawl down and remove the postdetails span
      elem = elem.firstChild;
      while (elem) {
         if (elem.getAttribute && (elem.getAttribute('class') == 'postdetails'))
            elem.style.display = 'none';
         elem = elem.nextSibling;
      }

      // Reset the elem pointer to the first table cell in the row
      elem = containingRow.firstChild;
      while (elem.nodeType != 1)
         elem = elem.nextSibling;

      // Move to the next table cell in the row
      elem = elem.nextSibling;
      while (elem.nodeType != 1)
         elem = elem.nextSibling;

      // Move inside that table cell and remove the postbody and postsig spans
      elem = elem.firstChild;
      while (elem) {
         if (elem.getAttribute)
         elem.style.display = 'none';
         elem = elem.nextSibling;
      }
   }
})();

_________________
Image
http://www.bykom-stop.avx.pl/ BYKOM-STOP!!
Wolin 15:48:31 napisał:
jestem nadal tylko chlopcem
Marian!
Image
Rhezus
Aktywny Działacz Polityczny


Dołączył: 05 Gru 2007
Posty: 1986
Skąd: Podlasie

Zobacz profil autora Wyślij email 5149193
PostWysłany: Wto Kwi 07, 2009 11:06 : Odpowiedz z cytatem : Do góry : : :

Good Job Sir!

_________________
Image
one step from death...
szenko2325
.


Dołączył: 09 Sty 2004
Posty: 22692
Skąd: Sentinel

Zobacz profil autora
PostWysłany: Wto Kwi 07, 2009 11:08 : Odpowiedz z cytatem : Do góry : : :

aha, kod pisany brzuscodem na pewno działać będzie

_________________
Za każdą linią drzew morze.
Czubki drzew na tle ciemnego nieba.
Gdy kto sieje nasiona goryczy, nie może zebrać plonu słodyczy.
wojok
13. miejsce w Karkazonie
13. miejsce w Karkazonie


Dołączył: 22 Kwi 2008
Posty: 2536
Skąd: z tamtąd

Zobacz profil autora Odwiedź stronę autora 3403250
PostWysłany: Wto Kwi 07, 2009 14:50 : Odpowiedz z cytatem : Do góry : : :

ej, bo teraz większość topiców stanie się rozmowami schizofreników ;]

_________________
Image
Image
Norbert
Wypoczywa w Bananowej republice


Dołączył: 03 Lut 2008
Posty: 1659
Skąd: wziasc smieszny tekst do tej rubryki?

Zobacz profil autora Wyślij email 4813838
PostWysłany: Wto Kwi 07, 2009 15:52 : Odpowiedz z cytatem : Do góry : : :

szenko2325 napisał:
aha, kod pisany brzuscodem na pewno działać będzie


Image

_________________
Has anyone really been far even as decided to use even go want to do look more like?
czeslaw
Bąbel
Bąbel


Dołączył: 26 Lut 2003
Posty: 10754
Skąd: Stolyca

Zobacz profil autora Wyślij email Odwiedź stronę autora 1268288
PostWysłany: Wto Kwi 07, 2009 16:26 : Odpowiedz z cytatem : Do góry : : :

good one Smile

_________________
Image
Wyświetl posty z ostatnich:      
Napisz nowy temat : Odpowiedź do tematu :



 Skocz do:   



Zobacz następny temat
Zobacz poprzedni temat
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach



design: Mijah; kod, opieka & kontakt: czeslaw; copyright © 2001 - 2010 DDR Team; powered by phpBB © phpBB Group