Lepsza Galeria Nasza-klasa.pl

By hoRacy Last update May 19, 2009 — Installed 877 times.

There are 1 previous version of this script.

// ==UserScript==
// @name           Lepsza Galeria Nasza-klasa.pl
// @namespace      www.horacy.art.pl/full-allegro-archive-koniec-z-aukcjami-przeniesionymi-do-archiwum/ lub horacy007@gmail.com
// @description    Skrypt sprawia, ze przeglądanie galerii użytkowników w serwisie www.nasza-klasa.pl jest o wiele bardziej wygodne. Standardowo nasza-klasa wyświetla 9 zdjęc użytkownika na każdej z podstron galerii. Dzięki temu skryptowi cała galeria, wraz ze wszystkimi zdjęciami ze wszystkich podstron galerii, wyświetlana jest na raz.
// @include        http*://*nasza-klasa.pl/*
// History
// v. 0.777 - 2009.05.19
// - Przywrócone działanie dla nowej odsłony portalu nasza-klasa (w nowych galeriach zmieniono wewnętrzną strukturę DIVów, usunięto tabelki, itd.)
// - Wspierana obsługa sortowania po komentarzach i dacie dodania
// v. 0.666 - 2009.03.03 :
// - Pierwsza wersja skryptu
// TODO:
// - 
// - Czekam na sugestie.
// - nie działa na operze (NULL NULL), a na firefoxie przecinki i podwojenie
// - Dodanie obsługi błędów, gdy serwer chwilowo nie odpowiada
// - obsługa Opery i IE

// ==/UserScript==
(function()
{
// Skrypt wykonujemy tylko dla podstron z galeriami
if(document.location.href.indexOf("/gallery")!=-1)
{
	var user = document.location.href.match(/[0-9]+/);
// sprawdzanie czy to jest album, czy nie ma albumu
	var album = document.location.href.match(/album\/[0-9]+/);
	if (album != null)
	{
	album = "/"+album;
	// Sczytywanie ilości podstron galerii (tutaj jest w innych divach)
	numerPodstronyGalerii = document.evaluate("//body/div[@id='album_view']/div[@id='page']/div[@id='page_content']/div[@id='content_main']/div[2]/div[2]/div/div[2]/div[3]/a/span",document,null,XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null);
		    	// Sprawdzamy, czy numer otwartej strony galerii, który nie jest linkiem nie jest najwyższym numerem. Potrzebne jest to po to, by obrazki z ostatniej podstrony galerii też się wyświetlały w razie otwartej ostatniej podstrony galerii.
		otwartaPodstronaGalerii = document.evaluate("//body/div[@id='album_view']/div[@id='page']/div[@id='page_content']/div[@id='content_main']/div[2]/div[2]/div/div[2]/div[3]/strong",document,null,XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null);
	}
	else
	{
	album = '';
	// Sczytywanie ilości podstron galerii
	numerPodstronyGalerii = document.evaluate("//body/div[@id='album_view']/div[@id='page']/div[@id='page_content']/div[@id='content_main']/div[2]/div[2]/div/div[1]/div[4]/a/span",document,null,XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null);
		    	// Sprawdzamy, czy numer otwartej strony galerii, który nie jest linkiem nie jest najwyższym numerem. Potrzebne jest to po to, by obrazki z ostatniej podstrony galerii też się wyświetlały w razie otwartej ostatniej podstrony galerii.
		otwartaPodstronaGalerii = document.evaluate("//body/div[@id='album_view']/div[@id='page']/div[@id='page_content']/div[@id='content_main']/div[2]/div[2]/div/div[1]/div[4]/strong",document,null,XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null);
	}
	//alert(album);
	// ustawianie wlasciwego sortowania
	var sortowanie = document.location.href.match(/order_by=id|order_by=id2|order_by=comment/);
	if (sortowanie != null) sortowanie = "&"+sortowanie;
	else sortowanie = '';
	//alert(sortowanie);
	
	
	var nrOstatniejGalerii = 1;	
	var doczepianaTresc='';


	
	for (var i = 0; i < numerPodstronyGalerii.snapshotLength; i++)
	{
		if (nrOstatniejGalerii < numerPodstronyGalerii.snapshotItem(i).innerHTML)
		{
			nrOstatniejGalerii = numerPodstronyGalerii.snapshotItem(i).innerHTML;
		}
		
	}
	

	
	for (var i = 0; i < otwartaPodstronaGalerii.snapshotLength; i++)
	{
		if (nrOstatniejGalerii < otwartaPodstronaGalerii.snapshotItem(i).innerHTML)
		{
			nrOstatniejGalerii = otwartaPodstronaGalerii.snapshotItem(i).innerHTML;
		}

	}
	
	//alert(nrOstatniejGalerii); // SPRAWDZENIE CZY PRAWIDŁOWO POKAZUJE OSTATNIĄ STRONĘ GALERII
	
	// Musimy pobrać wszystkie tabelki z każdej z podstron galerii
	for (var i = 1; i <= nrOstatniejGalerii; i++)
	{
		// Synchronicznie (bo skrypt musi zaczekac na wszystkie dane) pobieramy zawartośc strony galerii
		var strona = new XMLHttpRequest();
		
		// sortowanie po komentarzach
		//strona.open("GET", "http://nasza-klasa.pl/profile/"+user+"/gallery?order_by=comment&page="+i, false);
		// Zapytanie do wysyłania - link.
		strona.open("GET", "http://nasza-klasa.pl/profile/"+user+"/gallery"+album+"?page="+i+sortowanie, false);
		strona.send(null);
		var przetwarzana = strona.responseText;
		tabelka =  przetwarzana.match(/<div class="grid">[\s\S]*<\/div>/);
		// Dodawanie linka POWERED BY na każdą dodaną podstronę)
		if (i > 1 )
		{
			doczepianaTresc += '<p style=" border-bottom: 1px solid grey; padding-bottom:5px;border-left: 10px solid black; padding-left: 20px; "><a style="color:darkred;" href="http://www.horacy.art.pl/lepsza-galeria-nasza-klasa-pl-skrypt/" style="text-decoration:none;">Strona '+i+'  :: Wspierane przez Lepsza Galeria script</a></p>'
		}
		// Dodawanie tabelki ze zdjęciami z kolejnych podstron
		doczepianaTresc = doczepianaTresc + tabelka;
		
		
	}
	
	// DOCZEPIANIE OBRAZKOW NA KONIEC
	// zaczepDivaZObrazkami = document.evaluate(
	// "//div[@id='photos']",
	// document,
	// null,
	// XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,
	// null);
	
	// for (var i = 0; i < zaczepDivaZObrazkami.snapshotLength; i++)
	// {
    	// thisAukcja = zaczepDivaZObrazkami.snapshotItem(i);
		// var info = document.createElement('dupa');
		// info.innerHTML = doczepianaTresc;
		// thisAukcja.appendChild(info);
	// }
	
	// console.log(doczepianaTresc);
	
		zaczepDivaZObrazkami = document.evaluate(
	"//div[@class='grid']",
	document,
	null,
	XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,
	null);
	
	for (var i = 0; i < zaczepDivaZObrazkami.snapshotLength; i++)
	{
    	thisAukcja = zaczepDivaZObrazkami.snapshotItem(i);
		thisAukcja.innerHTML = doczepianaTresc;
	}
	
	//console.log(doczepianaTresc);
	
}



}) ();