Moduł:S
Przejdź do nawigacji
Przejdź do wyszukiwania
Zobacz podstrony tego modułu.
|
local function ZamianaDwukropkaNaKodHTML(tekst)
tekst=mw.ustring.gsub(tekst,"(:)",function(dwukropek)
return "&#"..mw.ustring.byte(dwukropek)..";";
end);
return tekst;
end;
local function StworzSymboliczneWywolanieWedlugZebranychDanych(args, link)
local wywolanie="{{"..link;
for name,value in ipairs(args)do
if(name~=1)then
wywolanie=wywolanie.."|"..value;
end;
end;
local wywolanie=wywolanie.."}}";
return wywolanie;
end;
local function SformatowanaNazwaStronySzablonuSymbolicznegoWywolania(nazwa_stara,nazwa_nowa,nazwa_oryginalna,odsmiec,od_malej)
if(nazwa_oryginalna)then return nazwa_stara;end;
if(odsmiec)then if(od_malej)then return mw.getContentLanguage():lcfirst(nazwa_nowa) else return nazwa_nowa;end;end;
local techniczne_modul=require("Module:Techniczne");
nazwa_nowa=techniczne_modul["PrzekształćWzórDoCzystegoTekstu"](nazwa_nowa);
local wzor=mw.ustring.gsub(nazwa_nowa," ","[%%s_]+");
wzor=mw.ustring.gsub(wzor,"^([%s_:]*)([^:]*)(:)([%s_:]*)(.)",function(a,b,c,d,e)
local przestrzen=techniczne_modul["WzórDanejPrzestrzeniNazw"](b);
local duze=mw.getContentLanguage():ucfirst(e);
local male=mw.getContentLanguage():lcfirst(e);
if(duze~=male)then return a..przestrzen..c..d.."["..duze..male.."]";else return s;end;
end);
wzor=mw.ustring.gsub(wzor,"^([%s_:]*)(.)",function(a,b)
local duze=mw.getContentLanguage():ucfirst(b);
local male=mw.getContentLanguage():lcfirst(b);
if(duze~=male)then return a.."["..duze..male.."]";else return s;end;
end);
wzor=mw.ustring.gsub(wzor,":","[%%s_]*:[%%s_:]*");
wzor="([%s_]*"..wzor.."[%s_]*)$";
local nazwa_stara_sformatowana=mw.ustring.match(nazwa_stara,wzor);
return nazwa_stara_sformatowana or mw.ustring.gsub(nazwa_stara,"^[%s_:]*","");
end;
local function UsunDwukropki(kod)
local ile;
repeat
kod,ile=mw.ustring.gsub(kod,"^([%s_]*):","%1");
until ile==0;
local odstepy_przed_nazwy,kod,odstepy_po_nazwy=mw.ustring.match(kod,"^([%s_]*)(.-)([%s_]*)$")
return kod,odstepy_przed_nazwy,odstepy_po_nazwy;
end;
local function SzablonoweSymboliczneWywolanie(args,modyfikatory,klucz_przestrzeni,rozwazana_nazwa_strony,nazwa_wyswietlana,subnazwa_wyswietlana,klucz_projektu,kod_jezyka,kod_projektu,odstepy_przed,odstepy_po,nazwa_oryginalna,bez_znacznikow,bez_przetwarzania,z_przestrzenia,odsmiec,od_malej,analiza)
local nazwy_modul=require("Module:Nazwy");
local nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"]{nazwa=rozwazana_nazwa_strony,["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,}
local Strona=function(strona,klucz_przestrzeni)
local nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](strona);
local nazwy_np_modul=mw.loadData("Module:Nazwy/Np");
if(nazwa_przestrzeni=="")then
return klucz_przestrzeni..":"..strona;
elseif((klucz_przestrzeni~="Template")and(nazwa_przestrzeni~=nazwy_np_modul[klucz_przestrzeni]))then
return klucz_przestrzeni..":"..strona;
else
return strona;
end;
end;
modyfikatory=ZamianaDwukropkaNaKodHTML(modyfikatory);
if((klucz_projektu or (kod_jezyka or kod_projektu))and(nazwa_przestrzeni~=""))then
local wiki_modul=require("Module:Wiki");
local czy_biezaca=wiki_modul["CzyBieżącaWiki"]{["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(czy_biezaca)then
local nazwy_np_modul=mw.loadData("Module:Nazwy/Np");
if(nazwa_przestrzeni==nazwy_np_modul[klucz_przestrzeni])then
local rozwazana_nazwa_strony,odstepy_przed_nazwy,odstepy_po_nazwy=UsunDwukropki(rozwazana_nazwa_strony);
local strona=nazwy_modul["PEŁNANAZWASTRONY"]{nazwa=rozwazana_nazwa_strony,};
local szablonowe_modul=require("Module:Szablonowe");
local nazwa=nazwa_oryginalna and strona or (z_przestrzenia and szablonowe_modul["PełnaNazwaStronyNazwySzablonuModułuKomunikatu"](rozwazana_nazwa_strony,klucz_przestrzeni,kod_jezyka,kod_projektu) or nazwy_modul["NAZWASTRONY"]{nazwa=rozwazana_nazwa_strony,})
if(not z_przestrzenia)then
if((not nazwa_oryginalna)and(klucz_przestrzeni=="Template"))then
local inna_nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](nazwa);
if(inna_nazwa_przestrzeni~="")then
nazwa=strona;
else
nazwa=nazwy_modul["NAZWASTRONY"]{nazwa=nazwa,};
end;
end;
end;
nazwa=z_przestrzenia and nazwa or SformatowanaNazwaStronySzablonuSymbolicznegoWywolania(rozwazana_nazwa_strony,nazwa,nazwa_oryginalna,odsmiec,od_malej);
local linki_modul=require("Module:Linki");
return StworzSymboliczneWywolanieWedlugZebranychDanych(args,odstepy_przed..modyfikatory..odstepy_przed_nazwy..linki_modul["Link wewnętrzny"]{["strona"]=strona,["nazwa"]=subnazwa_wyswietlana and mw.ustring.match(nazwa,"/([^/]+)$") or (nazwa_wyswietlana or nazwa),["bez znaczników"]=bez_znacznikow,["bez przetwarzania"]=bez_przetwarzania,analiza=analiza,}..odstepy_po_nazwy..odstepy_po);
else
local rozwazana_nazwa_strony,odstepy_przed_nazwy,odstepy_po_nazwy=UsunDwukropki(rozwazana_nazwa_strony);
local strona=nazwy_modul["PEŁNANAZWASTRONY"]{nazwa=rozwazana_nazwa_strony,};
local szablonowe_modul=require("Module:Szablonowe");
local nazwa=z_przestrzenia
and szablonowe_modul["PełnaNazwaStronyNazwySzablonuModułuKomunikatu"](strona,klucz_przestrzeni,kod_jezyka,kod_projektu)
or SformatowanaNazwaStronySzablonuSymbolicznegoWywolania(rozwazana_nazwa_strony,strona,nazwa_oryginalna,odsmiec,od_malej);
local linki_modul=require("Module:Linki");
return StworzSymboliczneWywolanieWedlugZebranychDanych(args,odstepy_przed..modyfikatory..odstepy_przed_nazwy..linki_modul["Link wewnętrzny"]{["strona"]=Strona(strona,klucz_przestrzeni),["nazwa"]=subnazwa_wyswietlana and mw.ustring.match(nazwa,"/([^/]+)$") or (nazwa_wyswietlana or nazwa),["bez znaczników"]=bez_znacznikow,["bez przetwarzania"]=bez_przetwarzania,analiza=analiza,}..odstepy_po_nazwy..odstepy_po);
end;
else
local nazwy_np_modul=mw.loadData("Module:Nazwy/Np");
nazwa_przestrzeni=nazwy_modul.NpDane{nazwa=nazwa_przestrzeni,["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,kanoniczna="tak",istnieje="tak",["wynik błędu nietekstowy"]="tak",}
if(nazwa_przestrzeni==nazwy_np_modul.kanoniczna[klucz_przestrzeni])then
local rozwazana_nazwa_strony,odstepy_przed_nazwy,odstepy_po_nazwy=UsunDwukropki(rozwazana_nazwa_strony);
local strona=nazwy_modul["PEŁNANAZWASTRONY"]{nazwa=rozwazana_nazwa_strony,["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
local nazwa=nazwa_oryginalna and strona or nazwy_modul["NAZWASTRONY"]{nazwa=rozwazana_nazwa_strony,["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,}
local szablonowe_modul=require("Module:Szablonowe");
nazwa=z_przestrzenia
and szablonowe_modul["PełnaNazwaStronyNazwySzablonuModułuKomunikatu"](nazwa,klucz_przestrzeni,kod_jezyka,kod_projektu)
or SformatowanaNazwaStronySzablonuSymbolicznegoWywolania(rozwazana_nazwa_strony,nazwa,nazwa_oryginalna,odsmiec,od_malej);
local linki_modul=require("Module:Linki");
return StworzSymboliczneWywolanieWedlugZebranychDanych(args,odstepy_przed..modyfikatory..odstepy_przed_nazwy..linki_modul["Link wewnętrzny"]{["strona"]=strona,["nazwa"]=subnazwa_wyswietlana and mw.ustring.match(nazwa,"/([^/]+)$") or (nazwa_wyswietlana or nazwa),["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["bez znaczników"]=bez_znacznikow,["bez przetwarzania"]=bez_przetwarzania,analiza=analiza,}..odstepy_po_nazwy..odstepy_po);
else
local rozwazana_nazwa_strony,odstepy_przed_nazwy,odstepy_po_nazwy=UsunDwukropki(rozwazana_nazwa_strony);
local strona=nazwy_modul["PEŁNANAZWASTRONY"]{nazwa=rozwazana_nazwa_strony,["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
local szablonowe_modul=require("Module:Szablonowe");
local nazwa=z_przestrzenia
and szablonowe_modul["PełnaNazwaStronyNazwySzablonuModułuKomunikatu"](strona,klucz_przestrzeni,kod_jezyka,kod_projektu)
or SformatowanaNazwaStronySzablonuSymbolicznegoWywolania(rozwazana_nazwa_strony,strona,nazwa_oryginalna,odsmiec,od_malej);
local linki_modul=require("Module:Linki");
return StworzSymboliczneWywolanieWedlugZebranychDanych(args,odstepy_przed..modyfikatory..odstepy_przed_nazwy..linki_modul["Link wewnętrzny"]{["strona"]=Strona(strona,klucz_przestrzeni),["nazwa"]=subnazwa_wyswietlana and mw.ustring.match(nazwa,"/([^/]+)$") or (nazwa_wyswietlana or nazwa),["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["bez znaczników"]=bez_znacznikow,["bez przetwarzania"]=bez_przetwarzania,analiza=analiza,}..odstepy_po_nazwy..odstepy_po);
end;
end;
else
local wiki_modul=require("Module:Wiki");
local czy_biezaca=wiki_modul["CzyBieżącaWiki"]{["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
local nazwa_przestrzeni=((klucz_projektu or (kod_jezyka or kod_projektu)) and (not czy_biezaca))and nazwy_modul["NAZWAPRZESTRZENI"]{nazwa=rozwazana_nazwa_strony,} or nazwa_przestrzeni;
if(nazwa_przestrzeni~="")then
local nazwy_np_modul=mw.loadData("Module:Nazwy/Np");
if(nazwa_przestrzeni==nazwy_np_modul[klucz_przestrzeni])then
local rozwazana_nazwa_strony,odstepy_przed_nazwy,odstepy_po_nazwy=UsunDwukropki(rozwazana_nazwa_strony);
local nazwa_strony=nazwy_modul["NAZWASTRONY"]{nazwa=rozwazana_nazwa_strony,};
local szablonowe_modul=require("Module:Szablonowe");
local nazwa=nazwa_oryginalna and nazwy_modul["PEŁNANAZWASTRONY"]{nazwa=rozwazana_nazwa_strony,} or (z_przestrzenia and szablonowe_modul["PełnaNazwaStronyNazwySzablonuModułuKomunikatu"](rozwazana_nazwa_strony,klucz_przestrzeni,kod_jezyka,kod_projektu) or nazwa_strony);
if(not z_przestrzenia)then
if((not nazwa_oryginalna)and(klucz_przestrzeni=="Template"))then
local inna_nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](nazwa);
if(inna_nazwa_przestrzeni~="")then
nazwa=nazwy_modul["PEŁNANAZWASTRONY"]{nazwa=rozwazana_nazwa_strony,};
else
nazwa=nazwy_modul["NAZWASTRONY"]{nazwa=nazwa,};
end;
end;
end;
nazwa=z_przestrzenia and nazwa or SformatowanaNazwaStronySzablonuSymbolicznegoWywolania(rozwazana_nazwa_strony,nazwa,nazwa_oryginalna,odsmiec,od_malej);
local nazwa_przestrzeni;
if(analiza)then
if(czy_biezaca)then
nazwa_przestrzeni=nazwy_modul.Np{nazwa=klucz_przestrzeni,istnieje="tak",["wynik błędu nietekstowy"]="tak",} or klucz_przestrzeni;
else
nazwa_przestrzeni=nazwy_modul.NpDane{nazwa=klucz_przestrzeni,["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,istnieje="tak",["wynik błędu nietekstowy"]="tak",} or klucz_przestrzeni;
end;
else
nazwa_przestrzeni=klucz_przestrzeni;
end;
local linki_modul=require("Module:Linki");
return StworzSymboliczneWywolanieWedlugZebranychDanych(args,odstepy_przed..modyfikatory..odstepy_przed_nazwy..linki_modul["Link wewnętrzny"]{["strona"]=nazwa_przestrzeni..":"..nazwa_strony,["nazwa"]=subnazwa_wyswietlana and mw.ustring.match(nazwa,"/([^/]+)$") or (nazwa_wyswietlana or nazwa),["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["bez znaczników"]=bez_znacznikow,["bez przetwarzania"]=bez_przetwarzania,analiza=analiza,}..odstepy_po_nazwy..odstepy_po);
else
local nazwa_przestrzeni_kanoniczna=nazwy_modul.NpDane{nazwa=nazwa_przestrzeni,kanoniczna="tak",istnieje="tak",["wynik błędu nietekstowy"]="tak",} or nazwa_przestrzeni;
local rozwazana_nazwa_strony,odstepy_przed_nazwy,odstepy_po_nazwy=UsunDwukropki(rozwazana_nazwa_strony);
local strona=((nazwa_przestrzeni_kanoniczna~="")and(nazwa_przestrzeni_kanoniczna..":")or"")..nazwy_modul["NAZWASTRONY"]{nazwa=rozwazana_nazwa_strony,};
strona=nazwy_modul["PEŁNANAZWASTRONY"]{nazwa=strona,["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
local szablonowe_modul=require("Module:Szablonowe");
local nazwa=z_przestrzenia
and szablonowe_modul["PełnaNazwaStronyNazwySzablonuModułuKomunikatu"](strona,klucz_przestrzeni,kod_jezyka,kod_projektu)
or SformatowanaNazwaStronySzablonuSymbolicznegoWywolania(rozwazana_nazwa_strony,strona,nazwa_oryginalna,odsmiec,od_malej);
local linki_modul=require("Module:Linki");
return StworzSymboliczneWywolanieWedlugZebranychDanych(args,odstepy_przed..modyfikatory..odstepy_przed_nazwy..linki_modul["Link wewnętrzny"]{["strona"]=Strona(strona,klucz_przestrzeni),["nazwa"]=subnazwa_wyswietlana and mw.ustring.match(nazwa,"/([^/]+)$") or (nazwa_wyswietlana or nazwa),["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["bez znaczników"]=bez_znacznikow,["bez przetwarzania"]=bez_przetwarzania,analiza=analiza,}..odstepy_po_nazwy..odstepy_po);
end;
elseif((mw.ustring.match(rozwazana_nazwa_strony,"^[%s_]*:[%s_:]*"))and((klucz_przestrzeni~="MediaWiki")and(klucz_przestrzeni~="Module")))then
local odstepy_przed_dwukropek,odstepy_po_dwukropek,rozwazana_uzyskana_nazwa_strony,odstepy_po_nazwy=mw.ustring.match(rozwazana_nazwa_strony,"^([%s_]*):([%s_]*)([^%s_:].-)([%s_]*)$");
local przed;
if(not odstepy_przed_dwukropek or not odstepy_po_dwukropek or not rozwazana_uzyskana_nazwa_strony)then
local odstepy_przed_dwukropek,odstepy_po_dwukropek;
odstepy_przed_dwukropek,odstepy_po_dwukropek,rozwazana_uzyskana_nazwa_strony,odstepy_po_nazwy=mw.ustring.match(rozwazana_nazwa_strony,"^([%s_:]*):([%s_]*)([^%s_:].-)([%s_]*)$");
przed=mw.ustring.gsub(odstepy_przed_dwukropek,":","")..":"..odstepy_po_dwukropek;
else
przed=odstepy_przed_dwukropek..":"..odstepy_po_dwukropek;
end;
local strona=nazwy_modul["PEŁNANAZWASTRONY"]{nazwa=rozwazana_uzyskana_nazwa_strony,};
local szablonowe_modul=require("Module:Szablonowe");
local nazwa=z_przestrzenia
and szablonowe_modul["PełnaNazwaStronyNazwySzablonuModułuKomunikatu"](strona,klucz_przestrzeni,kod_jezyka,kod_projektu)
or SformatowanaNazwaStronySzablonuSymbolicznegoWywolania(rozwazana_uzyskana_nazwa_strony,strona,nazwa_oryginalna,odsmiec,od_malej);
local linki_modul=require("Module:Linki");
return StworzSymboliczneWywolanieWedlugZebranychDanych(args,odstepy_przed..modyfikatory..przed..require("Module:Linki")["Link wewnętrzny"]{["strona"]=strona,["nazwa"]=subnazwa_wyswietlana and mw.ustring.match(nazwa,"/([^/]+)$") or (nazwa_wyswietlana or nazwa),["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["bez znaczników"]=bez_znacznikow,["bez przetwarzania"]=bez_przetwarzania,analiza=analiza,}..odstepy_po_nazwy..odstepy_po);
else
local parametry_modul=require("Module:Parametry");
local rozwazana_nazwa_strony,odstepy_przed_nazwy,odstepy_po_nazwy=UsunDwukropki(rozwazana_nazwa_strony);
local strona=analiza and mw.getContentLanguage():ucfirst(parametry_modul["Odstępy"]{[1]=rozwazana_nazwa_strony,[2]="tak",}) or rozwazana_nazwa_strony;
local szablonowe_modul=require("Module:Szablonowe");
local nazwa=z_przestrzenia
and szablonowe_modul["PełnaNazwaStronyNazwySzablonuModułuKomunikatu"](strona,klucz_przestrzeni,kod_jezyka,kod_projektu)
or SformatowanaNazwaStronySzablonuSymbolicznegoWywolania(rozwazana_nazwa_strony,strona,nazwa_oryginalna,odsmiec,od_malej);
local nazwa_przestrzeni;
if(analiza)then
if(czy_biezaca)then
nazwa_przestrzeni=nazwy_modul.Np{nazwa=klucz_przestrzeni,istnieje="tak",["wynik błędu nietekstowy"]="tak",} or klucz_przestrzeni;
else
nazwa_przestrzeni=nazwy_modul.NpDane{nazwa=klucz_przestrzeni,["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,istnieje="tak",["wynik błędu nietekstowy"]="tak",} or klucz_przestrzeni;
end;
else
nazwa_przestrzeni=klucz_przestrzeni;
end;
local linki_modul=require("Module:Linki");
return StworzSymboliczneWywolanieWedlugZebranychDanych(args,odstepy_przed..modyfikatory..odstepy_przed_nazwy..require("Module:Linki")["Link wewnętrzny"]{["strona"]=nazwa_przestrzeni..":"..strona,["nazwa"]=subnazwa_wyswietlana and mw.ustring.match(nazwa,"/([^/]+)$") or (nazwa_wyswietlana or nazwa),["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["bez znaczników"]=bez_znacznikow,["bez przetwarzania"]=bez_przetwarzania,analiza=analiza,}..odstepy_po_nazwy..odstepy_po);
end;
end;
end;
local function UzyskajDaneOdArgumentuPierwszego(argument_pierwszy)
local przed,pole_nazwy,po=mw.ustring.match(argument_pierwszy,"^([%s_]*)(.-)([%s_]*)$");
local szablonowe_modul=require("Module:Szablonowe");
local pole,modyfikatory,tab_mod=szablonowe_modul.WydzielanieOpcjiModyfikatorowych(pole_nazwy);
return przed,pole,po,modyfikatory,tab_mod;
end;
local function OdsmiecParametrySymbolicznegoWywolania(args,usun_konce)
local parametry_modul=require("Module:Parametry");
local args2={};
for licznik,wartosc in ipairs(args)do
if(licznik==1)then
args2[licznik]=parametry_modul["Odstępy"]{[1]=wartosc,[2]="tak",};
else
local _parametr,_wartosc=mw.ustring.match(wartosc,"^%s*([^=]-)%s*=%s*(.-)%s*$");
if(_parametr and _wartosc)then
args2[licznik]=_parametr.."=".._wartosc;
elseif(usun_konce)then
args2[licznik]=mw.text.trim(wartosc);
else
args2[licznik]=wartosc;
end
end;
end;
return args2;
end;
local function ParametryFunkcjiSLubM(frame,domyslna_nazwa_szablonu)
local parametry_modul=require("Module:Parametry");
local args=parametry_modul.PobierzArgsParametry(frame);
local klucz_projektu=args["klucz projektu"] or args["k"];
local kod_jezyka=args["kod języka"] or args["j"];
local kod_projektu=args["kod projektu"] or args["p"];
local bez_znacznikow=parametry_modul.CzyTak(args["bez znaczników"]);
local bez_przetwarzania=parametry_modul.CzyTak(args["bez przetwarzania"]);
local analiza=parametry_modul.CzyTak(args["analiza"]);
local z_przestrzenia=parametry_modul.CzyTak(args["z przestrzenią"]);
local nazwa_wyswietlana=parametry_modul.CzyTak(args["nazwa"]) and args["nazwa"] or nil;
local subnazwa_wyswietlana=parametry_modul.CzyTak(args["subnazwa"]);
local argument_pierwszy=parametry_modul["CzyTakCiąg"](args[1]) and args[1] or domyslna_nazwa_szablonu;
local odstepy_przed,rozwazana_nazwa_strony,odstepy_po,modyfikatory,tab_mod=UzyskajDaneOdArgumentuPierwszego(argument_pierwszy);
if(not parametry_modul["CzyTakCiąg"](rozwazana_nazwa_strony))then rozwazana_nazwa_strony=domyslna_nazwa_szablonu;end;
args[1]=rozwazana_nazwa_strony;
analiza=(not analiza)and (args[1] and mw.ustring.match(args[1],"^[%s_:]*[^%s_:]+:.*$") and true or false) or analiza;
bez_przetwarzania=bez_przetwarzania or ((not analiza) and "tak" or nil);
local nazwa_oryginalna=(not analiza and true) or parametry_modul.CzyTak(args["oryginalna"] or args["o"]);
local odsmiec=(not analiza and true) or parametry_modul.CzyTak(args["odśmieć"]);
local historia=(not analiza and true) or parametry_modul.CzyTak(args["historia"]);
local usun_konce=parametry_modul.CzyTak(args["usuń końce"]);
local od_malej=parametry_modul.CzyTak(args["od małej"]);
local usun_odstepy=parametry_modul.CzyTak(args["usuń odstępy"]);
if(usun_odstepy)then
odstepy_przed="";
odstepy_po="";
if(odsmiec)then
if(mw.ustring.match(rozwazana_nazwa_strony,"^[%s_]*:"))then
rozwazana_nazwa_strony=mw.ustring.gsub(rozwazana_nazwa_strony,"^[%s_:]*","");
rozwazana_nazwa_strony=":"..rozwazana_nazwa_strony;
end;
rozwazana_nazwa_strony=parametry_modul["Odstępy"]{[1]=rozwazana_nazwa_strony,[2]=nil,[3]=nil,};
end;
end;
if((odsmiec)and(not historia))then args=OdsmiecParametrySymbolicznegoWywolania(args,usun_konce);end;
if((odsmiec)and(not historia))then modyfikatory=mw.ustring.gsub(modyfikatory,"[%s_]*","");end;
if(analiza)then
local wiki_modul=require("Module:Wiki");
kod_jezyka,kod_projektu=wiki_modul.KodyWiki(klucz_projektu,kod_jezyka,kod_projektu);
local koncowa_rozwazana_nazwa_strony;
koncowa_rozwazana_nazwa_strony,kod_jezyka,kod_projektu=wiki_modul.KodyNazwyStrony(rozwazana_nazwa_strony,kod_jezyka,kod_projektu);
klucz_projektu=nil;
if(koncowa_rozwazana_nazwa_strony~=rozwazana_nazwa_strony)then
local techniczne_modul=require("Module:Techniczne");
local wzor_rozwazana_nazwa_strony=techniczne_modul["PrzekształćWzórDoCzystegoTekstu"](koncowa_rozwazana_nazwa_strony);
local koncowa_rozwazana_nazwa_strony_wynikowa_kodow=mw.ustring.gsub(rozwazana_nazwa_strony,wzor_rozwazana_nazwa_strony.."$","");
if(mw.ustring.match(koncowa_rozwazana_nazwa_strony_wynikowa_kodow,":[%s_]*:[%s_]*$"))then
koncowa_rozwazana_nazwa_strony_wynikowa_kodow=mw.ustring.gsub(koncowa_rozwazana_nazwa_strony_wynikowa_kodow,"(:[%s_]*)$","");
end;
local wzor_koncowa_rozwazana_nazwa_strony_wynikowa_kodow=techniczne_modul["PrzekształćWzórDoCzystegoTekstu"](koncowa_rozwazana_nazwa_strony_wynikowa_kodow);
local odstep_kodow=((not odsmiec) or (not usun_odstepy)) and mw.ustring.gsub(koncowa_rozwazana_nazwa_strony_wynikowa_kodow,"[%w%p]","") or "";
rozwazana_nazwa_strony=mw.ustring.gsub(rozwazana_nazwa_strony,"^"..wzor_koncowa_rozwazana_nazwa_strony_wynikowa_kodow,odstep_kodow);
rozwazana_nazwa_strony=((odsmiec)and(usun_odstepy)) and mw.ustring.gsub(rozwazana_nazwa_strony,"^[%s_:]*:[%s_:]*",":") or rozwazana_nazwa_strony;
else
local pudelko_modul=require("Module:Pudełko");
kod_jezyka=((not kod_jezyka)or(kod_jezyka~=pudelko_modul["Kod języka tego projektu"]()))and kod_jezyka or nil;
kod_projektu=((not kod_projektu)or(kod_projektu~=pudelko_modul["Kod projektu tego projektu"]()))and kod_projektu or nil;
end
end;
analiza=analiza and "tak" or nil;
return args,nazwa_wyswietlana,subnazwa_wyswietlana,klucz_projektu,kod_jezyka,kod_projektu,bez_znacznikow,bez_przetwarzania,z_przestrzenia,analiza,nazwa_oryginalna,odsmiec,historia,usun_konce,od_malej,usun_odstepy,argument_pierwszy,odstepy_przed,rozwazana_nazwa_strony,odstepy_po,modyfikatory,tab_mod;
end;
local p={
["S"] = function(frame)
local args,nazwa_wyswietlana,subnazwa_wyswietlana,klucz_projektu,kod_jezyka,kod_projektu,bez_znacznikow,bez_przetwarzania,z_przestrzenia,analiza,nazwa_oryginalna,odsmiec,historia,usun_konce,od_malej,usun_odstepy,argument_pierwszy,odstepy_przed,rozwazana_nazwa_strony,odstepy_po,modyfikatory,tab_mod=ParametryFunkcjiSLubM(frame,"Nieznany szablon");
if(tab_mod and((not tab_mod["#invoke:"])and(not tab_mod["int:"])))then
return SzablonoweSymboliczneWywolanie(args,modyfikatory,"Template",rozwazana_nazwa_strony,nazwa_wyswietlana,subnazwa_wyswietlana,klucz_projektu,kod_jezyka,kod_projektu,odstepy_przed,odstepy_po,nazwa_oryginalna,bez_znacznikow,bez_przetwarzania,z_przestrzenia,odsmiec,od_malej,analiza);
elseif(tab_mod and (tab_mod["#invoke:"]) and (not tab_mod["int:"]))then
return SzablonoweSymboliczneWywolanie(args,modyfikatory,"Module",rozwazana_nazwa_strony,nazwa_wyswietlana,subnazwa_wyswietlana,klucz_projektu,kod_jezyka,kod_projektu,odstepy_przed,odstepy_po,nazwa_oryginalna,bez_znacznikow,bez_przetwarzania,z_przestrzenia,odsmiec,od_malej,analiza);
elseif(tab_mod and (tab_mod["int:"]) and (not tab_mod["#invoke:"]))then
return SzablonoweSymboliczneWywolanie(args,modyfikatory,"MediaWiki",rozwazana_nazwa_strony,nazwa_wyswietlana,subnazwa_wyswietlana,klucz_projektu,kod_jezyka,kod_projektu,odstepy_przed,odstepy_po,nazwa_oryginalna,bez_znacznikow,bez_przetwarzania,z_przestrzenia,odsmiec,od_malej,analiza);
elseif(tab_mod and tab_mod["int:"] and tab_mod["#invoke:"])then
local blad_modul=require("Module:Błąd");
return blad_modul.error{args={tekst="Problem z wywołaniem symbolicznym szablonu {{s}}: Podano sprzeczne ze sobą modyfikatory podstawowe!",tag="strong",},};
else
return SzablonoweSymboliczneWywolanie(args,modyfikatory,"Template",rozwazana_nazwa_strony,nazwa_wyswietlana,subnazwa_wyswietlana,klucz_projektu,kod_jezyka,kod_projektu,odstepy_przed,odstepy_po,nazwa_oryginalna,bez_znacznikow,bez_przetwarzania,z_przestrzenia,odsmiec,od_malej,analiza);
end;
end,
["M"] = function(frame)
local args,nazwa_wyswietlana,subnazwa_wyswietlana,klucz_projektu,kod_jezyka,kod_projektu,bez_znacznikow,bez_przetwarzania,z_przestrzenia,analiza,nazwa_oryginalna,odsmiec,historia,usun_konce,od_malej,usun_odstepy,argument_pierwszy,odstepy_przed,rozwazana_nazwa_strony,odstepy_po,modyfikatory,tab_mod=ParametryFunkcjiSLubM(frame,"Nieznany moduł");
rozwazana_nazwa_strony=odstepy_przed..rozwazana_nazwa_strony;
odstepy_przed="";
return SzablonoweSymboliczneWywolanie(args,"#invoke:","Module",rozwazana_nazwa_strony,nazwa_wyswietlana,subnazwa_wyswietlana,klucz_projektu,kod_jezyka,kod_projektu,odstepy_przed,odstepy_po,nazwa_oryginalna,bez_znacznikow,bez_przetwarzania,z_przestrzenia,odsmiec,od_malej,analiza);
end,
}
return p;