Moduł:Licencja
Zobacz podstrony tego modułu.
|
return{
["Licencja"]=function(frame)
local parametry_modul=require("Module:Parametry");
local nazwy_modul=require("Module:Nazwy");
local pudelko_modul=require("Module:Pudełko");
local pf=parametry_modul.PobierzFrameEwentualnieParent(frame);
local nazwa_przestrzeni_nazw=pudelko_modul["Nazwa przestrzeni nazw 2"](frame);
local nazwa_jednostki=pudelko_modul["Nazwa jednostki 2"](frame);
local uchwyt_strony=mw.title.makeTitle(nazwa_przestrzeni_nazw,nazwa_jednostki);
uchwyt_strony=((uchwyt_strony)and(uchwyt_strony.exists))and uchwyt_strony or mw.title.getCurrentTitle();
local typ_jednostki=pudelko_modul["Typ jednostki 2"]{args={
["obsługiwane jednostki jako nieopisowe strony"]="tak",
["nazwa przestrzeni nazw"]=uchwyt_strony.nsText,
["nazwa jednostki"]=uchwyt_strony.text,
},};
local typ_strony_w_nawiasach;
if(typ_jednostki=="artykuł")then
typ_strony_w_nawiasach="(artykuły)";
elseif(typ_jednostki=="artykuł dla dzieci")then
typ_strony_w_nawiasach="(artykuły dla dzieci)";
elseif(typ_jednostki=="strona użytkownika")then
typ_strony_w_nawiasach="(strony użytkowników)";
elseif(typ_jednostki=="strona brudnopisu projektu")then
typ_strony_w_nawiasach="(strony brudnopisu projektu)";
else
typ_strony_w_nawiasach="(strony niepodręcznikowe)";
end;
local licencja_z_parametrami=frame.args["licencja z parametrami"];
local licencja_bez_parametrow=frame.args["licencja bez parametrów"];
local naglowek_licencji=frame.args["nagłówek licencji"];
local kategoria_licencji_z_oczekiwanym_naglowkiem=frame.args["kategoria licencji z oczekiwanym nagłówkiem"] and string.format(frame.args["kategoria licencji z oczekiwanym nagłówkiem"],typ_strony_w_nawiasach) or nil;
local kategoria_licencji_bez_oczekiwanego_naglowka=frame.args["kategoria licencji bez oczekiwanego nagłówka"] and string.format(frame.args["kategoria licencji bez oczekiwanego nagłówka"],typ_strony_w_nawiasach) or nil;
local function missingHeader(pattern, naglowek_licencji,czy_bez_parametrow)
local stronicowyparser_modul=require("Module:StronicowyParser");
local spreparowany_wikikod_strony=stronicowyparser_modul.SpreparowanyWikikodStrony(uchwyt_strony.fullText,true);
local czy_dopasowano_wedlug_wzorca;
local szablon=frame.args["szablon"];
if(not parametry_modul.CzyTak(szablon))then
czy_dopasowano_wedlug_wzorca=mw.ustring.match(spreparowany_wikikod_strony, pattern);
else
local szablonowe_modul=require("Module:Szablonowe")
czy_dopasowano_wedlug_wzorca=parametry_modul.CzyTak(szablonowe_modul["SprawdzanieCzyWystępujeDanySzablonWTekście"]{["tekst"]=spreparowany_wikikod_strony,["wzór"]=pattern,["szablon"]=szablon,["z parametrami"]=not czy_bez_parametrow,});
end;
return
pattern -- wymagany wzór na wyszukiwanie wywołania z nagłówkiem
and naglowek_licencji-- wymagany nagłówek do wstawienia
and pattern~="" --wyrażenie regularne do sprawdzania, czy występują oczekiwane niepuste nagłówki sekcji
and naglowek_licencji~="" --wstawiany nagłówek sekcji, gdy nie ma oczekiwanych niepustych nagłówków
and not czy_dopasowano_wedlug_wzorca;
end;
local pf=frame:getParent();
local args=pf.args;
local ze_zwracanymi_kategoriami=not parametry_modul.CzyTak{[1]=args["bez kategorii"],};
local result={};
local function cat(kategoria_licencji_z_oczekiwanym_naglowkiem, kategoria_licencji_bez_oczekiwanego_naglowka)
local sprawdz_modul=require("Module:Sprawdź");
local czy_bez_parametrow=sprawdz_modul["bez parametrów"](frame);
local pattern=czy_bez_parametrow and licencja_bez_parametrow or licencja_z_parametrami;
local naglowek_przypisow_lub_grupy_przypisow=(((not group)and(naglowek_przypisow)) or (group and(naglowek_grupy_przypisow)))
if missingHeader(pattern,naglowek_licencji,czy_bez_parametrow) then
if((not args["stopień nagłówka"])or((args["stopień nagłówka"])and(mw.ustring.find(args["stopień nagłówka"],"^=+$"))))then
table.insert(result, naglowek_licencji)
table.insert(result, "\n")
end;
if ze_zwracanymi_kategoriami then
if(parametry_modul.CzyTak(kategoria_licencji_bez_oczekiwanego_naglowka))then
table.insert(result,frame:preprocess(kategoria_licencji_bez_oczekiwanego_naglowka))
end;
end;
elseif ze_zwracanymi_kategoriami then
if(parametry_modul.CzyTak(kategoria_licencji_z_oczekiwanym_naglowkiem))then
table.insert(result,frame:preprocess(kategoria_licencji_z_oczekiwanym_naglowkiem))
end;
end;
end;
cat(kategoria_licencji_z_oczekiwanym_naglowkiem,kategoria_licencji_bez_oczekiwanego_naglowka);
----
local stronicowyparser_modul=require("Module:StronicowyParser");
local tekst_licencji=stronicowyparser_modul["WstępDoLicencji"]{args={[1]=args["Autor"] or "[[Wikipedysta:Użytkownik|Użytkownik]]",[2]=args["Ukończone szkoły"],[3]=args["Email"],[4]=args["Dotyczy"],[5]=args["Licencjonowanie"],[6]=args["Umowa prawna"],[7]=args["Konsekwencje"],}};
table.insert(result,tekst_licencji);
return table.concat(result);
end;
}