Przejdź do zawartości

Moduł:Książkowe

Z Wikibooks, biblioteki wolnych podręczników.
 Dokumentacja modułu [stwórz] [odśwież]
local p={};
function NazwaKsiazkawaSilnik(frame,funkcja_nazw)
	local parametry_modul=require("Module:Parametry");
	local PobierzParametr=parametry_modul.PobierzParametr(frame);
	local pelna_nazwa_strony=PobierzParametr("nazwa") or PobierzParametr(1);
	local bez_transformacji=PobierzParametr("bez transformacji");
	local funkcja=PobierzParametr("funkcja");
	local funkcja_decode=PobierzParametr("funkcja decode");
	local modul=PobierzParametr("moduł");
	local modul_decode=PobierzParametr("moduł decode");
	
	funkcja=parametry_modul.CzyTak(funkcja) and funkcja or "";
	funkcja_decode=parametry_modul.CzyTak(funkcja_decode) and funkcja_decode or "DecodeHtml";
	modul=parametry_modul.CzyTak(modul) and modul or "Książkowe";
	modul_decode=parametry_modul.CzyTak(modul_decode) and modul_decode or "Html";
	
	local czy_bez_transformacji=(parametry_modul.CzyTak{[1]=bez_transformacji});
	local nazwy_modul=require("Module:Nazwy");
	local html_modul=require("Module:Html");
	local uzyskana_nazwa_jednostki=pelna_nazwa_strony and (czy_bez_transformacji and nazwy_modul[funkcja_nazw](pelna_nazwa_strony) or nazwy_modul[funkcja_nazw](require("Module:"..modul)[funkcja](require("Module:"..modul_decode)[funkcja_decode](pelna_nazwa_strony,true)))) or (czy_bez_transformacji and nazwy_modul[funkcja_nazw]() or require("Module:"..modul)[funkcja](require("Module:"..modul_decode)[funkcja_decode](nazwy_modul[funkcja_nazw](),true)));
	return uzyskana_nazwa_jednostki;
end;
----
p[""]=function(parametr)
	return parametr;
end;
p["NazwaPrzestrzeni"] = function(frame)
	return NazwaKsiazkawaSilnik(frame,"NAZWAPRZESTRZENI");
end;
p["NazwaPrzestrzeniKsiążki"] = function(frame)
	return NazwaKsiazkawaSilnik(frame,"NAZWAPRZESTRZENIKSIĄŻKI");
end;
p["NazwaTytułuKsiążki"] = function(frame)
	return NazwaKsiazkawaSilnik(frame,"SUBNAZWAKSIĄŻKI");
end;
p["NazwaArtykułuKsiążki"]=function(frame)
	return NazwaKsiazkawaSilnik(frame,"NAZWAARTYKUŁUKSIĄŻKI");
end;
----
p["NazwaKsiążki"] = function(frame)
	return NazwaKsiazkawaSilnik(frame,"NAZWAKSIĄŻKI");
end;
p["PełnaNazwaKsiążki"] = function(frame)
	return NazwaKsiazkawaSilnik(frame,"PEŁNANAZWAKSIĄŻKI");
end;
p["PełnaNazwaArtykułu"] = function(frame)
	return NazwaKsiazkawaSilnik(frame,"PEŁNANAZWASTRONY");
end;
p["NazwaArtykułu"] = function(frame)
	return NazwaKsiazkawaSilnik(frame,"NAZWASTRONY");
end;
p["PełnaNazwaStronicowejKsiążki"]=function(frame)
	local parametry_modul=require("Module:Parametry");
	local PobierzParametr=parametry_modul.PobierzParametr(frame);
	local nazwa_ksiazki=PobierzParametr("nazwa") or PobierzParametr(1);
	local bez_transformacji=PobierzParametr("bez transformacji");
	local funkcja=PobierzParametr("funkcja");
	local funkcja_decode=PobierzParametr("funkcja decode");
	local modul=PobierzParametr("moduł");
	local modul_decode=PobierzParametr("moduł decode");
	
	funkcja=parametry_modul.CzyTak(funkcja) and funkcja or "TransformacjaKoduHtmlDoZnakuCiągu";
	funkcja_decode=parametry_modul.CzyTak(funkcja_decode) and funkcja_decode or "DecodeHtml";
	modul=parametry_modul.CzyTak(modul) and modul or "Html";
	modul_decode=parametry_modul.CzyTak(modul_decode) and modul_decode or "Html";
	
	nazwa_ksiazki=nazwa_ksiazki and ((not bez_transformacji) and require("Module:"..modul)[funkcja](require("Module:"..modul_decode)[funkcja_decode](nazwa_ksiazki,true)) or nazwa_ksiazki) or nil;
	
	if(not nazwa_ksiazki)then
		local nazwy_modul=require("Module:Nazwy");
		return nazwy_modul["PEŁNANAZWAKSIĄŻKI"](nazwa_ksiazki);
	elseif(nazwa_ksiazki=="")then
		return "";
	end;
	local dwukropek=mw.ustring.match(nazwa_ksiazki,"^:");
	if(dwukropek)then 
		local nazwy_modul=require("Module:Nazwy");
		return nazwy_modul["PEŁNANAZWAKSIĄŻKI"](nazwa_ksiazki);
	else
		local nazwy_modul=require("Module:Nazwy");
		local nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](nazwa_ksiazki);
		local nazwy_np_modul=mw.loadData("Module:Nazwy/Np");

		local czy_nazwa_ksiazki_z_przestrzenia=(nazwa_przestrzeni~="");
		if czy_nazwa_ksiazki_z_przestrzenia then
			return nazwy_modul["PEŁNANAZWAKSIĄŻKI"](nazwa_ksiazki);
		else
			local title_main=mw.title.makeTitle('',nazwa_ksiazki);
			if((title_main)and(title_main.exists))then
				return nazwy_modul["NAZWAKSIĄŻKI"](nazwa_ksiazki);
			else
				local title_wikijunior=mw.title.makeTitle(nazwy_np_modul.Wikijunior,nazwa_ksiazki);
				if((title_wikijunior)and(title_wikijunior.exists))then
					return ((nazwy_np_modul.Wikijunior~="")and nazwy_np_modul.Wikijunior..":" or "")..nazwy_modul["NAZWAKSIĄŻKI"](nazwa_ksiazki);
				else
					local nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"]();
					local nazwa_przestrzeni_ksiazki=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"]();
					local nazwa_ksiazki=parametry_modul.CzyTak(nazwa_ksiazki) and nazwa_ksiazki or nazwy_modul["SUBNAZWAKSIĄŻKI"]();
					
					local pelna_nazwa_ksiazki=((nazwa_przestrzeni~="")and (nazwa_przestrzeni..":") or "")
					                                    ..nazwa_przestrzeni_ksiazki
					                                           ..((nazwa_ksiazki~="")and(((nazwa_przestrzeni_ksiazki~="") and "/" or "")..nazwa_ksiazki) or "");
					return nazwy_modul["PEŁNANAZWAKSIĄŻKI"](pelna_nazwa_ksiazki);
				end;
			end;
		end;
	end;
end;
return p;