Wikibooks plwikibooks https://pl.wikibooks.org/wiki/Wikibooks:Strona_g%C5%82%C3%B3wna MediaWiki 1.47.0-wmf.7 first-letter Media Specjalna Dyskusja Wikipedysta Dyskusja wikipedysty Wikibooks Dyskusja Wikibooks Plik Dyskusja pliku MediaWiki Dyskusja MediaWiki Szablon Dyskusja szablonu Pomoc Dyskusja pomocy Kategoria Dyskusja kategorii Wikijunior Dyskusja Wikijuniora TimedText TimedText talk Moduł Dyskusja modułu Wydarzenie Dyskusja wydarzenia Dyskusja:C/Czego potrzebujesz 1 28535 547069 504922 2026-06-20T15:29:08Z Jsonformatter 37825 /* */ Odpowiedź 547069 wikitext text/x-wiki * Wie ktoś, gdzie można ściągnąć czysty gcc/MinGW, bez IDE? Wszystko miałem i tak pisać w vimie, chce tylko dodać funkcję kompilacji. naprawdę szukałem długo, ale ani na stronie producenta (która notabene odsyła do sourceforge) czy też nie daj boże na agregatorach zbierających oprogramowanie (softpedia) nie mogę niczego znaleźć. Z tego co wiem to waży co najmniej 100 MB, ale wszędzie są jakiś szajs z web-instalatorem po 100 KB, nieraz z badware w pakiecie. A ja nie mam na to ani pakietu internetowego ani chęci by z tego własnościowego akceleratora pobierania plików z ich serwerów korzystać. [[Wikipedysta:Kompowiec2|Kompowiec2]] ([[Dyskusja wikipedysty:Kompowiec2|dyskusja]]) 20:48, 6 lis 2014 (CET) ** Tzn. używasz MS Windows? Dawno nie ściągałem MinGW ani żadnego innego kompilatora pod windę. Może spróbuj [http://llvm.org/releases/download.html LLVM], to konkurencja dla GCC, ostatnio całkiem modna. Może opiszę ją w artykule. --[[Wikipedysta:Derbeth|Derbeth]] [[Dyskusja Wikipedysty:Derbeth|<sup>talk</sup>]] 11:50, 8 lis 2014 (CET) **:LLVM is a solid alternative, but a standalone MinGW package would better suit users wanting a lightweight GCC setup.play [https://the-false-sun.org/] [[Wikipedysta:Jsonformatter|Jsonformatter]] ([[Dyskusja wikipedysty:Jsonformatter|dyskusja]]) 17:29, 20 cze 2026 (CEST) 39z2ortfcl244grlayz3k0wag68ci4p Moduł:StronicowyParser/ZbieranieDanychStron 828 55009 547073 547049 2026-06-20T20:18:36Z Persino 2851 547073 Scribunto text/plain local p={}; function p.UchwytyZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,lista_dwuelementowa,kod) if(lista_dwuelementowa)then local tab_obiekt=tabela_elementow_strony_kodow[nazwa_obiektu]; if(not tab_obiekt)then tabela_elementow_strony_kodow[nazwa_obiektu]={}; tab_obiekt=tabela_elementow_strony_kodow[nazwa_obiektu]; end; local uchwyty_bez_numeracji=tab_obiekt.uchwyty_bez_numeracji; if(not uchwyty_bez_numeracji)then tab_obiekt.uchwyty_bez_numeracji={}; uchwyty_bez_numeracji=tab_obiekt.uchwyty_bez_numeracji; end; uchwyty_bez_numeracji[kod]=lista_dwuelementowa; end; end; function p.WydobywanieUchwytuZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,kod) local tab_obiekt=tabela_elementow_strony_kodow[nazwa_obiektu]; if(not tab_obiekt)then return nil;end; local uchwyty_bez_numeracji=tab_obiekt.uchwyty_bez_numeracji; if(uchwyty_bez_numeracji)then return uchwyty_bez_numeracji[kod]; end; end; function p.RozpatrywanieElementuUchwytuNumeracji(self,kod_uchwytu,tab_numer,tablica_zmiennych,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, nazwa_obiektu, czy_artykul_korzystany,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); kod_uchwytu=stronicowyparser_potrzebne_modul.DekodowanieNazwySzablonu(kod_uchwytu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,true) or kod_uchwytu; local html_modul=require("Module:Html"); kod_uchwytu=html_modul.DecodeHtml(kod_uchwytu,true); if(kod_uchwytu~="")then KtorySzablonMaZwracacKategorie(kod_uchwytu); local lista_dwuelementowa={}; lista_dwuelementowa[1]=kod_uchwytu; local parametry_modul=require("Module:Parametry"); if((not tablica_zmiennych.sprawdzenie_dokonane_obiektu)and(not parametry_modul["CzySąElementyNumerowaneTablicy"](tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2[nazwa_obiektu])))then local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); if(not (stronicowyparser_problemy_modul.CzyJestTakiElementTabeliProblemu(self,"strony poza zakresem obsługiwanym",nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki)))then p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki,nazwa_artykulu); end; tablica_zmiennych.sprawdzenie_dokonane_obiektu=true; end; if(tab_numer)then tab_numer[nazwa_obiektu]=tab_numer[nazwa_obiektu]+1; local numer=tab_numer[nazwa_obiektu]; table.insert(tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2[nazwa_obiektu],numer,lista_dwuelementowa); else table.insert(tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2[nazwa_obiektu],lista_dwuelementowa); end; return lista_dwuelementowa; end; end; function p.RozpatrywanieSzablonuObiektuDoNumeracji(self,tabela_parametrow_szablonu,tablica_zmiennych,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,nazwa_obiektu, czy_artykul_korzystany,numer_numeracji,tab_numer,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie) local kod_uchwytu=tabela_parametrow_szablonu["uchwyt"] or tabela_parametrow_szablonu[numer_numeracji]; if(kod_uchwytu)then local lista_dwuelementowa=p.RozpatrywanieElementuUchwytuNumeracji(self,kod_uchwytu,tab_numer,tablica_zmiennych, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, nazwa_obiektu, czy_artykul_korzystany,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie); return lista_dwuelementowa; end; end; function p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) if((nazwa_przestrzeni)and(nazwa_przestrzeni_ksiazki)and(nazwa_ksiazki))then if(nazwa_artykulu=="")then return;end; local czy_element_wystepuje_w_tablicy=false; local tablica_przestrzeni_wszystkiego=self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron; if(tablica_przestrzeni_wszystkiego)then local tabela_przestrzeni_ksiazek=tablica_przestrzeni_wszystkiego[nazwa_przestrzeni]; if(tabela_przestrzeni_ksiazek)then local tabela_ksiazek=tabela_przestrzeni_ksiazek[nazwa_przestrzeni_ksiazki] if(tabela_ksiazek)then local tab_ksiazki=tabela_ksiazek[nazwa_ksiazki]; if(tab_ksiazki)then if(tab_ksiazki.spis)then --czy_lista_niepusta=true; for _,tab_value1 in ipairs(tab_ksiazki.spis)do if(tab_value1[2])then for _,nazwa_artykulu1 in ipairs(tab_value1[2])do if(nazwa_artykulu1[1]==nazwa_artykulu)then czy_element_wystepuje_w_tablicy=true; break; end; end; end; if(czy_element_wystepuje_w_tablicy)then break;end; end; end; end; end; end; end; if(not czy_element_wystepuje_w_tablicy)then local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); if((self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni~=nazwa_przestrzeni) or(self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu~=nazwa_przestrzeni_ksiazki) or(self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu~=nazwa_ksiazki) or(self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu~=nazwa_artykulu))then if(not (stronicowyparser_problemy_modul.CzyJestTakiElementTabeliProblemu(self,"strony poza zakresem obsługiwanym",nazwa_przestrzeni,nazwa_przestrzeni_ksiazki, nazwa_ksiazki)))then stronicowyparser_problemy_modul.DodawanieProblemowegoElementuDoTablicy(self,"brak spisów treści do dołączonych stron",nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); end; elseif(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"brak spisu treści do korzystanych stron"))then if(not (stronicowyparser_problemy_modul.CzyJestTakiElementTabeliProblemu(self,"strony poza zakresem obsługiwanym",nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki)))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"brak spisu treści do korzystanych stron"); end; end; end; end; end; function p.PusteParametryReferencji(self, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu) local czy_ksiazka_z_tylko_odstepami_lub_pusty=(nazwa_ksiazki)and (nazwa_ksiazki=="") or nil; local czy_artykul_z_tylko_odstepami_lub_pusty=(nazwa_artykulu)and (nazwa_artykulu=="") or nil; local czy_uchwyt_obiektu_z_tylko_odstepami_lub_pusty=(uchwyt_obiektu)and (uchwyt_obiektu=="") or nil; ---- local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); ---- if(czy_uchwyt_obiektu_z_tylko_odstepami_lub_pusty)then if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,1))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,1); end; end; if(czy_artykul_z_tylko_odstepami_lub_pusty)then if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,2))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,2); end; end; if(czy_ksiazka_z_tylko_odstepami_lub_pusty)then if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,3))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,3); end; end; end; function p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,KtorySzablonMaZwracacKategorie,czy_inna_wartosc_tekst) local nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu=p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,self.nazwa_modulu_biezaca,((not czy_inna_wartosc_tekst)and true or false)); --local ksiazkowe_modul=require("Module:Książkowe"); --pelna_nazwa_ksiazki=pelna_nazwa_ksiazki or ksiazkowe_modul["PełnaNazwaStronicowejKsiążki"](); --nazwa_artykulu=nazwa_artykulu or ksiazkowe_modul["NazwaArtykułuKsiążki"](); if((nazwa_przestrzeni)or(nazwa_przestrzeni_ksiazki)or(nazwa_ksiazki)or(nazwa_artykulu))then local tabela_nazw={}; local ksiazkowe_modul=require("Module:Książkowe"); local nazwa_przestrzeni=nazwa_przestrzeni or ksiazkowe_modul["NazwaPrzestrzeni"](nil,tabela_nazw); local nazwa_przestrzeni_ksiazki=nazwa_przestrzeni_ksiazki or ksiazkowe_modul["NazwaPrzestrzeniKsiążki"](nil,tabela_nazw); local nazwa_ksiazki=nazwa_ksiazki or ksiazkowe_modul["NazwaTytułuKsiążki"](nil,tabela_nazw); local nazwa_artykulu=nazwa_artykulu or ksiazkowe_modul["NazwaArtykułuKsiążki"](nil,tabela_nazw); if(KtorySzablonMaZwracacKategorie)then KtorySzablonMaZwracacKategorie();end; local tabela_listy_danych_analizy_ksiazki=p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, false); end; end; function p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,czy_szablon_pudelkowy_strony_zbiorczej,KtorySzablonMaZwracacKategorie) local nazwa_przestrzeni=tabela_parametrow_szablonu["nazwa przestrzeni nazw"]; local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"]; if((not nazwa_przestrzeni)and(not nazwa_jednostki))then return;end; local parametry_modul=require("Module:Parametry"); if((nazwa_jednostki) and (nazwa_jednostki==""))then return;end; local szablonowe_modul=require("Module:Szablonowe"); if((nazwa_jednostki and mw.ustring.match(nazwa_jednostki,szablonowe_modul.NormaWzoruKodowaniaTekstu())) or (nazwa_przestrzeni and mw.ustring.match(nazwa_przestrzeni,szablonowe_modul.NormaWzoruKodowaniaTekstu())) )then return;end; local nazwy_modul=require("Module:Nazwy"); local ksiazkowe_modul=require("Module:Książkowe"); local html_modul=require("Module:Html"); if(nazwa_jednostki)then nazwa_jednostki=html_modul.DecodeHtml(nazwa_jednostki,true); end; local tabela_nazw_art={}; local nazwa_jednostki=(nazwa_jednostki and mw.ustring.gsub(nazwa_jednostki,"^([^#]*)#(.*)$","%1") or nil ) or ksiazkowe_modul["NazwaArtykułu"](nil,tabela_nazw_art); if(nazwa_przestrzeni)then nazwa_przestrzeni=html_modul.DecodeHtml(nazwa_przestrzeni,true); end; local nazwa_przestrzeni=nazwa_przestrzeni or ksiazkowe_modul["NazwaPrzestrzeni"](nil,tabela_nazw_art); local strona=((nazwa_przestrzeni~="") and (nazwa_przestrzeni..":") or "")..nazwa_jednostki; local techniczne_modul=require("Module:Techniczne"); strona=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=strona,[2]=self.nazwa_modulu_biezaca,}; --strona=ksiazkowe_modul["PEŁNANAZWASTRONY"](strona); local tabela_nazw={}; local nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](strona,tabela_nazw); local nazwa_przestrzeni_ksiazki=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"](strona,tabela_nazw); local nazwa_ksiazki=((nazwa_przestrzeni_ksiazki~="") and (nazwy_modul["SUBNAZWAKSIĄŻKI"](strona,tabela_nazw)) or (nazwy_modul["NAZWAKSIĄŻKI"](strona,tabela_nazw))); local nazwa_artykulu=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](strona,tabela_nazw); if(KtorySzablonMaZwracacKategorie)then KtorySzablonMaZwracacKategorie();end; local tabela_listy_danych_analizy_ksiazki=p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, false,nil,czy_szablon_pudelkowy_strony_zbiorczej); end; function p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,nazwa_aktualna,bezuchwytowe) local nazwa_artykulu=tabela_parametrow_szablonu["nazwa artykułu"] or tabela_parametrow_szablonu[bezuchwytowe and 1 or 2]; local pelna_nazwa_ksiazki=tabela_parametrow_szablonu["nazwa książki"] or tabela_parametrow_szablonu[bezuchwytowe and 2 or 3]; local parametry_modul=require("Module:Parametry"); local nazwy_modul=require("Module:Nazwy"); local html_modul=require("Module:Html"); if(nazwa_artykulu)then nazwa_artykulu=html_modul.DecodeHtml(nazwa_artykulu,true); local techniczne_modul=require("Module:Techniczne"); nazwa_artykulu=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=nazwa_artykulu,[2]="",}; end; local nazwa_ksiazki;local nazwa_przestrzeni_ksiazki;local nazwa_przestrzeni; if(pelna_nazwa_ksiazki)then pelna_nazwa_ksiazki=html_modul.DecodeHtml(pelna_nazwa_ksiazki,true); local techniczne_modul=require("Module:Techniczne"); pelna_nazwa_ksiazki=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=pelna_nazwa_ksiazki,[2]=nazwa_aktualna,}; ---- local tabela_nazw={}; local ksiazkowe_modul=require("Module:Książkowe"); pelna_nazwa_ksiazki=ksiazkowe_modul["PełnaNazwaStronicowejKsiążki"](pelna_nazwa_ksiazki,tabela_nazw); nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](pelna_nazwa_ksiazki,tabela_nazw); nazwa_przestrzeni_ksiazki=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"](pelna_nazwa_ksiazki,tabela_nazw); nazwa_ksiazki=((nazwa_przestrzeni_ksiazki~="") and (nazwy_modul["SUBNAZWAKSIĄŻKI"](pelna_nazwa_ksiazki,tabela_nazw)) or (nazwy_modul["NAZWAKSIĄŻKI"](pelna_nazwa_ksiazki,tabela_nazw))); --pelna_nazwa_ksiazki=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,""); end; return nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu; end; function p.ZbieranieKontenerowychInformacjiReferencji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna) local nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu=p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,nazwa_modulu_aktualna); local nazwy_modul=require("Module:Nazwy"); local czy_inna_wartosc_tekst=true; if((nazwa_artykulu)and(nazwa_ksiazki))then --local nazwa_modulu=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); tabela_parametrow_szablonu["nazwa przestrzeni nazw"]=nazwa_przestrzeni; tabela_parametrow_szablonu["nazwa jednostki"]=nazwy_modul["NazwaModułu"]("",nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,nil,czy_inna_wartosc_tekst); elseif((nazwa_artykulu)and(not nazwa_ksiazki))then local ksiazkowe_modul=require("Module:Książkowe"); local nazwa_przestrzeni=tabela_parametrow_szablonu["nazwa przestrzeni nazw"] or ksiazkowe_modul["NazwaPrzestrzeni"](); local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"] or (ksiazkowe_modul["NazwaKsiążki"]()..((nazwa_artykulu~="") and ("/"..nazwa_artykulu) or "")); ---- tabela_parametrow_szablonu["nazwa przestrzeni nazw"]=nazwa_przestrzeni; tabela_parametrow_szablonu["nazwa jednostki"]=nazwa_jednostki; p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,nil,czy_inna_wartosc_tekst); elseif((not nazwa_artykulu)and(nazwa_ksiazki))then local ksiazkowe_modul=require("Module:Książkowe"); local pelna_nazwa_ksiazki=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,""); local nazwa_przestrzeni=tabela_parametrow_szablonu["nazwa przestrzeni nazw"] or ksiazkowe_modul["NazwaPrzestrzeni"](); local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"] or ksiazkowe_modul["NazwaKsiążki"](); ---- tabela_parametrow_szablonu["nazwa przestrzeni nazw"]=nazwa_przestrzeni; tabela_parametrow_szablonu["nazwa jednostki"]=nazwa_jednostki; p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,nil,czy_inna_wartosc_tekst); else p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,nil,czy_inna_wartosc_tekst); end; end; function p.GeneralneLinkowanie(self,obiekt,kod,tablica_zmiennych,tabela_parametrow_szablonu,nazwa_obiektu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie,czy_pobierz) local uchwyt_obiektu=tabela_parametrow_szablonu["uchwyt"] or tabela_parametrow_szablonu[1]; local nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu=p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,self.nazwa_modulu_biezaca); ---- local parametry_modul=require("Module:Parametry"); if(parametry_modul.CzyTak(uchwyt_obiektu))then local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); uchwyt_obiektu=stronicowyparser_potrzebne_modul.DekodowanieNazwySzablonu(uchwyt_obiektu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,true) or uchwyt_obiektu; local html_modul=require("Module:Html"); uchwyt_obiektu=html_modul.DecodeHtml(uchwyt_obiektu,true); end; ---- local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); ---- if(parametry_modul.CzyTak(uchwyt_obiektu))then nazwa_artykulu=(nazwa_artykulu or (nazwa_ksiazki and "" or nil)); if(nazwa_artykulu)then if(nazwa_artykulu~="")then if(not nazwa_ksiazki)then nazwa_przestrzeni=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; nazwa_przestrzeni_ksiazki=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu; nazwa_ksiazki=self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu; elseif(nazwa_ksiazki=="")then p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu); return; end; elseif((nazwa_ksiazki)and(nazwa_ksiazki~=""))then nazwa_artykulu=""; elseif((nazwa_ksiazki)and(nazwa_ksiazki==""))then p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu); return; else nazwa_przestrzeni=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; nazwa_przestrzeni_ksiazki=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu; nazwa_ksiazki=self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu; end; if((nazwa_przestrzeni~=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni) or(nazwa_przestrzeni_ksiazki~=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu) or(nazwa_ksiazki~=self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu) or(nazwa_artykulu~=self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu))then p.LinkowanieInnychStron(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,czy_pobierz); else p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz); p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu); end; else p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz) p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu); end; elseif((uchwyt_obiektu)and(uchwyt_obiektu==""))then p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,nil); p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu); elseif(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"brak uchwytu",nazwa_obiektu))then p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu); stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"brak uchwytu",nazwa_obiektu); end; KtorySzablonMaZwracacKategorie(uchwyt_obiektu); end; function p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz) local linkobiekttab=tablica_zmiennych.linkobiekt[nazwa_obiektu]; local parametry_modul=require("Module:Parametry"); if((not tablica_zmiennych.sprawdzenie_dokonane_linku)and(not parametry_modul["CzySąElementyNumerowaneTablicy"](linkobiekttab)))then local parametry_modul=require("Module:Parametry"); local nazwa_przestrzeni=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; local nazwa_przestrzeni_ksiazki=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu; local nazwa_ksiazki=self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu; local nazwa_artykulu=self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu; local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); if(not (stronicowyparser_problemy_modul.CzyJestTakiElementTabeliProblemu(self,"strony poza zakresem obsługiwanym",nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki)))then p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end; tablica_zmiennych.sprawdzenie_dokonane_linku=true; end; table.insert(linkobiekttab,uchwyt_obiektu); if(czy_pobierz)then if(not tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane)then tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane={}; end; table.insert(tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane,{{nazwa_obiektu,uchwyt_obiektu,},{obiekt,kod,},}); end; end; function p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,__FUNKCJA) local pudelko_modul=require("Module:Pudełko"); if(((nazwa_przestrzeni)and(((nazwa_przestrzeni~="")and(not pudelko_modul["CzyNiepoprawnaNazwa"](nazwa_przestrzeni)))or(nazwa_przestrzeni==""))) and((nazwa_przestrzeni_ksiazki)and(((nazwa_przestrzeni_ksiazki~="")and(not pudelko_modul["CzyNiepoprawnaNazwa"](nazwa_przestrzeni_ksiazki)))or(nazwa_przestrzeni_ksiazki==""))) and((nazwa_ksiazki)and(nazwa_ksiazki~="")and(not pudelko_modul["CzyNiepoprawnaNazwa"](nazwa_ksiazki))) and((nazwa_artykulu)and(((nazwa_artykulu~="")and(not pudelko_modul["CzyNiepoprawnaNazwa"](nazwa_artykulu)))or(nazwa_artykulu==""))) )then if(__FUNKCJA)then __FUNKCJA(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu); end; else local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"nieprawidłowe nazwy korzystanych stron"))then if((self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni==nazwa_przestrzeni) and(self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu==nazwa_przestrzeni_ksiazki) and(self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu==nazwa_ksiazki) and(self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu==nazwa_artykulu))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"nieprawidłowe nazwy korzystanych stron"); else stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"nieprawidłowe nazwy stron dołączanych do stron"); end; end; end; end; function p.LinkowanieInnychStron(self,obiekt,kod,tablica_zmiennych, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,czy_pobierz) p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,function() local parametry_modul=require("Module:Parametry"); if((nazwa_przestrzeni)and(nazwa_przestrzeni_ksiazki)and(parametry_modul.CzyTak(nazwa_ksiazki))and(nazwa_artykulu))then local tablica_zmiennych2={}; tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2={} local tabela_listy_danych_analizy_ksiazki0,tablica_zmiennych2,czy_inna=p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, false,tablica_zmiennych2); if(tabela_listy_danych_analizy_ksiazki0)then if((not czy_inna)or(not tablica_zmiennych2))then return;end; local stronicowyparser_szablony_tekstu_modul=require("Module:StronicowyParser/SzablonyTekstu"); local JuzPoliczone=function() if(czy_pobierz)then stronicowyparser_szablony_tekstu_modul.UstawianiePobierz(tablica_zmiennych,tablica_zmiennych2,obiekt,kod,nazwa_obiektu,uchwyt_obiektu,false); end; if(not tablica_zmiennych2.dane_juz_policzone)then tablica_zmiennych2.dane_juz_policzone={};end; local tab_nazwa_obiektu=tablica_zmiennych2.dane_juz_policzone[nazwa_obiektu]; if(not tab_nazwa_obiektu)then tablica_zmiennych2.dane_juz_policzone[nazwa_obiektu]={}; tab_nazwa_obiektu=tablica_zmiennych2.dane_juz_policzone[nazwa_obiektu]; end; local tab_uchwyt=tab_nazwa_obiektu[uchwyt_obiektu]; if(tab_uchwyt)then return true; end; tab_nazwa_obiektu[uchwyt_obiektu]=true; return false; end; if(not parametry_modul.CzyTak(tabela_listy_danych_analizy_ksiazki0))then local czy_policzone=JuzPoliczone(); if(czy_policzone)then return; end; else JuzPoliczone(); end; stronicowyparser_szablony_tekstu_modul.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony(tablica_zmiennych,tablica_zmiennych2); p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu); local czy_jest_nazwa_obiektu_w_tabela_listy_danych_analizy_ksiazki2=tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2[nazwa_obiektu]; local CzyLink=czy_jest_nazwa_obiektu_w_tabela_listy_danych_analizy_ksiazki2.CzyLink; local ile_razy=0; if(czy_jest_nazwa_obiektu_w_tabela_listy_danych_analizy_ksiazki2)then for _, parametry_obiektu in ipairs(czy_jest_nazwa_obiektu_w_tabela_listy_danych_analizy_ksiazki2) do if(parametry_obiektu[1]==uchwyt_obiektu)then ile_razy=ile_razy+1; if(ile_razy>1)then break;end; end; end; end if(ile_razy~=1)then local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"błędy uchwytów korzystanych stron",(CzyLink and "Link" or "Pobierz")..nazwa_obiektu))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"błędy uchwytów korzystanych stron",(CzyLink and "Link" or "Pobierz")..nazwa_obiektu); end; p.PusteParametryReferencji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu); end; else local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"błąd wewnętrzny modułu lua stronicowego parsera"))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"błąd wewnętrzny modułu lua stronicowego parsera"); end; end; else p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu); end; end); end; function p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, czy_artykul_korzystany,tablica_zmiennych,czy_szablon_pudelkowy_strony_zbiorczej) local function __FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) if(not self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni])then self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni]={};end; local tablica_przestrzeni=self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni]; if(not tablica_przestrzeni[nazwa_przestrzeni_ksiazki])then tablica_przestrzeni[nazwa_przestrzeni_ksiazki]={};end; local tablica_przestrzeni_ksiazki=tablica_przestrzeni[nazwa_przestrzeni_ksiazki]; if(not tablica_przestrzeni_ksiazki[nazwa_ksiazki])then tablica_przestrzeni_ksiazki[nazwa_ksiazki]={};end; local tablica_ksiazki=tablica_przestrzeni_ksiazki[nazwa_ksiazki]; if(not tablica_ksiazki.lista_podstron_woluminu)then tablica_ksiazki.lista_podstron_woluminu={};end; if(nazwa_artykulu)then if(not tablica_ksiazki.lista_podstron_woluminu[nazwa_artykulu])then tablica_ksiazki.lista_podstron_woluminu[nazwa_artykulu]={};end; local artykul_analizowany=tablica_ksiazki.lista_podstron_woluminu[nazwa_artykulu]; return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany; else return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki; end; end; local function __FUNKCJA(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) if(not czy_artykul_korzystany)then if(self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni and self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu and self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu and self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu)then if((self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni==nazwa_przestrzeni)and(self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu==nazwa_przestrzeni_ksiazki)and(self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu==nazwa_ksiazki)and(self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu==nazwa_artykulu))then return 0,nil,nil,nil,nil,nil,self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron,false; else if(self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci)then self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=true; end; end; else return nil; end; end; if(self.tabela_listy_danych_analizy_ksiazki)then if(self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron)then local tabela_przestrzeni=self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni]; if(tabela_przestrzeni)then local tabela_przestrzeni_ksiazki=tabela_przestrzeni[nazwa_przestrzeni_ksiazki]; if(tabela_przestrzeni_ksiazki)then local tabela_ksiazka=tabela_przestrzeni_ksiazki[nazwa_ksiazki]; if(tabela_ksiazka)then local lista_artykolow=tabela_ksiazka.lista_podstron_woluminu; if(lista_artykolow)then local tabela_artykul=lista_artykolow[nazwa_artykulu]; if(tabela_artykul)then local dane_zebrane_ze_stron=tabela_artykul.dane_zebrane_ze_stron; return 0,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni,dane_zebrane_ze_stron,true; end; end; end; end; end; else return nil; end; else return nil; end; return true; end; local nazwy_modul=require("Module:Nazwy"); local wartosc_wyniku,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni,dane_zebrane_ze_stron,czy_inna=__FUNKCJA(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); local function StronaSubstFunkcja(tabela_artykul,spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) if((czy_szablon_pudelkowy_strony_zbiorczej)and(not czy_artykul_korzystany)and(tabela_artykul)and(not tabela_artykul.strona_zbiorcza))then --local nazwa_modulu=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); local stronicowyparser_stronasubst_modul=require("Module:StronicowyParser/StronaSubst"); local TakFun=function(frame) return "tak";end;local NieFun=function(frame) return "";end; tabela_artykul.strona_zbiorcza=stronicowyparser_stronasubst_modul.AnalizaStronaSubst(self.tabela_listy_danych_analizy_ksiazki,spis,nil,TakFun,NieFun,nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end; end; if(not wartosc_wyniku)then return wartosc_wyniku,dane_zebrane_ze_stron,czy_inna; elseif((wartosc_wyniku==0)and(tabela_artykul))then StronaSubstFunkcja(tabela_artykul,tabela_ksiazka.spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return wartosc_wyniku,dane_zebrane_ze_stron,czy_inna; end; ---- local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); if((nazwa_przestrzeni~=nazwy_np_modul.Main) and(nazwa_przestrzeni~=nazwy_np_modul.Wikijunior) and((nazwa_przestrzeni~=nazwy_np_modul.User)or(not mw.ustring.match(nazwa_przestrzeni_ksiazki,"^([^/]+)$"))) and((nazwa_przestrzeni~=nazwy_np_modul.Wikibooks)or(not mw.ustring.match(nazwa_przestrzeni_ksiazki,"^%s*[Bb]rudnopis/([^/]+)$"))) )then stronicowyparser_problemy_modul.DodawanieProblemowegoElementuDoTablicy(self,"strony poza zakresem obsługiwanym",nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); end; ---- local tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); local parametry_modul=require("Module:Parametry"); local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); ---- local tekst_rozwiniety_calego_artykulu_ref=nil; local tablica_analizy_obiektow_strony_dany_modul_ref=nil; local tablica_danych_parametrow_szablonu_strony_ref=nil; ---- local function InneInformacjePrzebneDoAnalizowanejKsiazki() if(not (stronicowyparser_problemy_modul.CzyJestTakiElementTabeliProblemu(self,"strony poza zakresem obsługiwanym",nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki)))then if((nazwa_przestrzeni)and(nazwa_przestrzeni_ksiazki)and(nazwa_ksiazki))then if(czy_artykul_korzystany)then if(not self.tabela_listy_danych_analizy_ksiazki["CzyArtykułKsiążki"])then self.tabela_listy_danych_analizy_ksiazki["CzyArtykułKsiążki"]="tak";end; end; local czy_ksiazka_istnieje_w_tablicy=((tablica_ksiazki)and(tablica_ksiazki.czy_spis_analizowano))and true or false; if(not czy_ksiazka_istnieje_w_tablicy)then tablica_ksiazki.czy_spis_analizowano=true; local stronicowyparser_spistresci_modul=require("Module:StronicowyParser/SpisTreści"); local nazwa_przestrzeni_strona_temp,nazwa_przestrzeni_ksiazki_strona_temp,nazwa_ksiazki_strona_temp; local tabela_artykulow,tabela_licencji_spisu_tresci,nazwa_glownego_spisu,tab_inne_spisy,dodatkowe_artykuly,adres_ksiazki_glownego_spisu_tresci=stronicowyparser_spistresci_modul.ZbieranieInformacjiSpisuRzeczyWoluminuEwentualnieWedleAutonawigacji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,czy_artykul_korzystany,function(nazwa_przestrzeni_strona,nazwa_przestrzeni_ksiazki_strona,nazwa_ksiazki_strona) local tablica_przestrzeni_strona=self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni_strona]; if(tablica_przestrzeni_strona)then local tablica_przestrzeni_ksiazki_strona=tablica_przestrzeni_strona[nazwa_przestrzeni_ksiazki_strona]; if(tablica_przestrzeni_ksiazki_strona)then local tablica_ksiazki_strona=tablica_przestrzeni_ksiazki_strona[nazwa_ksiazki_strona]; if(tablica_ksiazki_strona)then if(tablica_ksiazki_strona.spis)then nazwa_przestrzeni_strona_temp,nazwa_przestrzeni_ksiazki_strona_temp,nazwa_ksiazki_strona_temp=nazwa_przestrzeni_strona,nazwa_przestrzeni_ksiazki_strona,nazwa_ksiazki_strona; tablica_ksiazki.spis=tablica_ksiazki_strona.spis; tablica_ksiazki.licencja=tablica_ksiazki_strona.licencja; tablica_ksiazki.nazwa_bazowego_spisu=tablica_ksiazki_strona.nazwa_bazowego_spisu; tablica_ksiazki.tab_inne_spisy=tablica_ksiazki_strona.tab_inne_spisy; tablica_ksiazki.dodatkowe_strony_woluminu=tablica_ksiazki_strona.dodatkowe_strony_woluminu; tablica_ksiazki.adres_woluminu_bazowego_spisu_rzeczy=tablica_ksiazki_strona.adres_woluminu_bazowego_spisu_rzeczy; tablica_ksiazki.referencja_do_nowej_formy_spisu={tablica_przestrzeni_strona,tablica_przestrzeni_ksiazki_strona,tablica_ksiazki_strona,}; return 1; end; end; end end; end,function(tekst_rozwiniety_calego_artykulu_ref_spis,nazwa_przestrzeni_ref_spis,nazwa_przestrzeni_ksiazki_ref_spis,nazwa_ksiazki_ref_spis,nazwa_artykulu_ref_spis,tablica_analizy_obiektow_strony_dany_modul_ref_spis,tablica_danych_parametrow_szablonu_strony_ref_spis) ---- if((nazwa_przestrzeni==nazwa_przestrzeni_ref_spis)and(nazwa_przestrzeni_ksiazki==nazwa_przestrzeni_ksiazki_ref_spis)and(nazwa_ksiazki==nazwa_ksiazki_ref_spis)and(nazwa_artykulu==nazwa_artykulu_ref_spis))then tekst_rozwiniety_calego_artykulu_ref=tekst_rozwiniety_calego_artykulu_ref_spis; local parametry_modul=require("Module:Parametry"); tablica_analizy_obiektow_strony_dany_modul_ref=parametry_modul["KopiujRekurencyjnieTabelęElementów"](tablica_analizy_obiektow_strony_dany_modul_ref_spis); tablica_danych_parametrow_szablonu_strony_ref=parametry_modul["KopiujRekurencyjnieTabelęElementów"](tablica_danych_parametrow_szablonu_strony_ref_spis); end; ---- end); local function __FUNKCJA_SPISU(tablica_ksiazki,czy_podac_adres) tablica_ksiazki.spis=tabela_artykulow; if(czy_artykul_korzystany)then tablica_ksiazki.licencja=tabela_licencji_spisu_tresci; end; tablica_ksiazki.nazwa_bazowego_spisu=nazwa_glownego_spisu; tablica_ksiazki.tab_inne_spisy=tab_inne_spisy; tablica_ksiazki.dodatkowe_strony_woluminu=dodatkowe_artykuly; tablica_ksiazki.adres_woluminu_bazowego_spisu_rzeczy=czy_podac_adres and adres_ksiazki_glownego_spisu_tresci or nil; end; if(tabela_artykulow==0)then if(czy_artykul_korzystany)then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"korzystana strona główna nie istnieje"); else stronicowyparser_problemy_modul.DodawanieProblemowegoElementuDoTablicy(self,"dołączone strony główne nie istnieją",nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); end; elseif(tabela_artykulow)then if(parametry_modul.TypeTable(tabela_artykulow))then if(adres_ksiazki_glownego_spisu_tresci)then __FUNKCJA_SPISU(tablica_ksiazki,true); local tablica_ksiazki_stara=tablica_ksiazki; local artykul,kod_wyniku=stronicowyparser_potrzebne_modul.OdpowiednikNaPrzemianArtykularnychStronWoluminu(tabela_artykulow,nazwa_glownego_spisu,tab_inne_spisy,dodatkowe_artykuly,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,true); local nazwa_przestrzeni=adres_ksiazki_glownego_spisu_tresci[1]; local nazwa_przestrzeni_ksiazki=adres_ksiazki_glownego_spisu_tresci[2]; local nazwa_ksiazki=adres_ksiazki_glownego_spisu_tresci[3]; if((kod_wyniku==1)or(kod_wyniku==4))then local wartosc_wyniku,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni=__FUNKCJA(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,artykul); if(not wartosc_wyniku)then return wartosc_wyniku,true; elseif((wartosc_wyniku==0)and(tabela_artykul))then local nazwa_artykulu=artykul; StronaSubstFunkcja(tabela_artykul,tabela_ksiazka.spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return wartosc_wyniku,true; end; local tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni ,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,artykul); tablica_ksiazki_stara.referencja_do_nowej_formy_spisu={tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,}; __FUNKCJA_SPISU(tablica_ksiazki,false); return nil,nil,artykul,kod_wyniku; elseif(kod_wyniku==2)then local tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,artykul); tablica_ksiazki_stara.referencja_do_nowej_formy_spisu={tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,}; __FUNKCJA_SPISU(tablica_ksiazki,false); return nil,nil,artykul,kod_wyniku; elseif(kod_wyniku==3)then local tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nil); tablica_ksiazki_stara.referencja_do_nowej_formy_spisu={tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,}; __FUNKCJA_SPISU(tablica_ksiazki,false); return nil,nil,artykul,kod_wyniku; end; else __FUNKCJA_SPISU(tablica_ksiazki,false); end; elseif(tabela_artykulow~=1)then local wartosc_wyniku,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni=__FUNKCJA(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); if(not wartosc_wyniku)then return wartosc_wyniku,true; elseif((wartosc_wyniku==0)and(tabela_artykul))then StronaSubstFunkcja(tabela_artykul,tabela_ksiazka.spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return wartosc_wyniku,true; end; end; else if(czy_artykul_korzystany)then if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"brak spisów treści do korzystanych książek na ich stronach głównych"))then if(((self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu=="")and(nazwa_artykulu~=""))or(self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu~=""))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"brak spisów treści do korzystanych książek na ich stronach głównych"); end; end; else stronicowyparser_problemy_modul.DodawanieProblemowegoElementuDoTablicy(self,"brak spisów treści do dołączonych książek na ich stronach głównych",nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); end; end; end; end; end; end; ---- local wartosc_wyniku,wynik_bledu,artykul_bazowy,kod_wyniku_bazowy=InneInformacjePrzebneDoAnalizowanejKsiazki(); if(wynik_bledu)then return wartosc_wyniku;end; local kod_wyniku_przekierowan=kod_wyniku_bazowy; ---- --if((not tablica_przestrzeni)or(not tablica_przestrzeni_ksiazki)or(not tablica_ksiazki)or(not artykul_analizowany))then -- tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); --end; ---- if(tablica_ksiazki.adres_woluminu_bazowego_spisu_rzeczy)and((kod_wyniku_bazowy==1)or(kod_wyniku_bazowy==4))then ---- nazwa_przestrzeni=tablica_ksiazki.adres_woluminu_bazowego_spisu_rzeczy[1]; nazwa_przestrzeni_ksiazki=tablica_ksiazki.adres_woluminu_bazowego_spisu_rzeczy[2]; nazwa_ksiazki=tablica_ksiazki.adres_woluminu_bazowego_spisu_rzeczy[3]; nazwa_artykulu=artykul_bazowy; ---- tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki=tablica_ksiazki.referencja_do_nowej_formy_spisu[1],tablica_ksiazki.referencja_do_nowej_formy_spisu[2],tablica_ksiazki.referencja_do_nowej_formy_spisu[3]; end; local tabela_artykulow=tablica_ksiazki.spis; if(tabela_artykulow)then local nazwa_glownego_spisu=tablica_ksiazki.nazwa_bazowego_spisu; local tab_inne_spisy=tablica_ksiazki.tab_inne_spisy; local dodatkowe_artykuly=tablica_ksiazki.dodatkowe_strony_woluminu local artykul,kod_wyniku=stronicowyparser_potrzebne_modul.OdpowiednikNaPrzemianArtykularnychStronWoluminu(tabela_artykulow,nazwa_glownego_spisu,tab_inne_spisy,dodatkowe_artykuly,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,false); if(kod_wyniku==1)then nazwa_artykulu=artykul; local wartosc_wyniku,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni=__FUNKCJA(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); if(not wartosc_wyniku)then return wartosc_wyniku; elseif((wartosc_wyniku==0)and(tabela_artykul))then StronaSubstFunkcja(tabela_artykul,tabela_ksiazka.spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return wartosc_wyniku; end; tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); elseif(kod_wyniku==2)then local nazwa_artykulu=artykul; local tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end; kod_wyniku_przekierowan=kod_wyniku_przekierowan or kod_wyniku; end; local nazwa_modulu=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); local PrzekierownieAwaryjne=function() if((not kod_wyniku_przekierowan)or(kod_wyniku_bazowy==4))then --local artykul2,kod_wyniku2=stronicowyparser_potrzebne_modul.OdpowiednikNaPrzemianArtykularnychStronWoluminu(tabela_artykulow,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,true); local techniczne_modul=require("Module:Techniczne"); local strona=techniczne_modul.PrzekierowanieDoStrony(nazwa_modulu); if(strona)then if(strona~=nazwa_modulu)then ---- local tabela_nazw={}; nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](strona,tabela_nazw); nazwa_przestrzeni_ksiazki=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"](strona,tabela_nazw); nazwa_ksiazki=((nazwa_przestrzeni_ksiazki~="") and nazwy_modul["SUBNAZWAKSIĄŻKI"](strona,tabela_nazw) or nazwy_modul["NAZWAKSIĄŻKI"](strona,tabela_nazw)); nazwa_artykulu=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](strona,tabela_nazwa); local wartosc_wyniku,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni=__FUNKCJA(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); if(not wartosc_wyniku)then return wartosc_wyniku; elseif((wartosc_wyniku==0)and(tabela_artykul))then StronaSubstFunkcja(tabela_artykul,tabela_ksiazka.spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return wartosc_wyniku; end; tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); nazwa_modulu=strona; else return 0; end; end; end; end; local wynik=PrzekierownieAwaryjne(); if(czy_artykul_korzystany)then self.nazwa_modulu_biezaca=nazwa_modulu; end; if(wynik)then return wynik;end; ---- if(czy_artykul_korzystany)then if((not self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni)and(not self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu)and(not self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu)and(not self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu))then self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni=nazwa_przestrzeni; self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu=nazwa_przestrzeni_ksiazki; self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu=nazwa_ksiazki; self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu=nazwa_artykulu; end; end; local nazwa_modulu_aktualna_czy_biezaca=self.tabela_listy_danych_analizy_ksiazki.alternatywna and nazwy_modul["NazwaModułu"](self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_przestrzeni,self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_przestrzeni_ksiazki,self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_ksiazki,self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_artykulu) or nazwa_modulu; -- przydzielanie tablicy if(czy_artykul_korzystany)then artykul_analizowany.artykul_biezacy=true; tablica_ksiazki.ksiazka_analizowana=true; end; --koniec --local iterator=mw.ustring.gmatch(tekst_rozwiniety_calego_artykulu,"{{[^{}]-}}"); if(not tablica_zmiennych)then tablica_zmiennych={};end; if(not tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2)then tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2={};end; local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty"); for _,element_w_tablicy_obiekt in pairs(stronicowyparser_obiekty_modul.tablica_obiektowych_form)do local CzyLink=element_w_tablicy_obiekt.CzyLink; local CzyNum=element_w_tablicy_obiekt.CzyNum; local wartosc=element_w_tablicy_obiekt[1]; tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2[wartosc]={CzyLink=CzyLink,CzyNum=CzyNum,}; if(czy_artykul_korzystany)then tablica_zmiennych.linkobiekt[wartosc]={CzyLink=CzyLink,CzyNum=CzyNum;};end; end; local function StronaZbiorcza() if(czy_artykul_korzystany)then local stronicowyparser_stronasubst_modul=require("Module:StronicowyParser/StronaSubst"); local TakFun=function(frame) return true;end;local NieFun=function(frame) return nil;end; local wynik=stronicowyparser_stronasubst_modul.AnalizaStronaSubst(self.tabela_listy_danych_analizy_ksiazki,tablica_ksiazki.spis,nil,TakFun,NieFun,nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); artykul_analizowany.strona_zbiorcza=(wynik and "tak" or ""); return wynik; end; return nil; end; local strona_zbiorcza=StronaZbiorcza(); local pelna_nazwa_ksiazki=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,""); local stronicowyparser_tekst_modul=require("Module:StronicowyParser/Tekst"); ---- local tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony; if((not tekst_rozwiniety_calego_artykulu_ref)or(not tablica_analizy_obiektow_strony_dany_modul_ref)or(not tablica_danych_parametrow_szablonu_strony_ref))then tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony=stronicowyparser_tekst_modul.RekurencyjnyZakodowanoSpreparowanyWikikodStrony(self,nazwa_modulu_aktualna_czy_biezaca,(((czy_artykul_korzystany)and(self.tabela_listy_danych_analizy_ksiazki.inna_strona_aktualna_niz_biezaca))and true or nil), nil) else tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony=tekst_rozwiniety_calego_artykulu_ref,tablica_analizy_obiektow_strony_dany_modul_ref,tablica_danych_parametrow_szablonu_strony_ref; end; ---- if(not czy_artykul_korzystany)then if(not tekst_rozwiniety_calego_artykulu)then return 0;end; end; if(czy_artykul_korzystany)then if(not tekst_rozwiniety_calego_artykulu)then if(strona_zbiorcza)then self.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak"; end; return nil; end; end; local szablonowe_modul=require("Module:Szablonowe"); local parametry_modul=require("Module:Parametry"); if((czy_artykul_korzystany)and(self.tabela_listy_danych_analizy_ksiazki.inna_strona_aktualna_niz_biezaca))then local aktualna_nazwa_modulu=self.tabela_listy_danych_analizy_ksiazki.alternatywna and nazwa_modulu_aktualna_czy_biezaca or nazwy_modul["NazwaModułu"](self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_przestrzeni,self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_przestrzeni_ksiazki,self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_ksiazki,self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_artykulu); local tekst=stronicowyparser_tekst_modul.SpreparowanyWikikodStrony(self,aktualna_nazwa_modulu); if(tekst)then local iterator=szablonowe_modul:IteratorSzablonowyZakodowanegoTekstu(tekst,aktualna_nazwa_modulu); local tablica_danych_parametrow_szablonu_strony={}; for szablon,obiekt,kod in iterator do if(obiekt=="SZABLON")then local wynik=szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,aktualna_nazwa_modulu,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) if(stronicowyparser_obiekty_modul.strona_start_ze_spisem_rzeczy_strony[nazwa_szablonu])then self.tabela_listy_danych_analizy_ksiazki.strona_ze_szablonem_strona_start="tak"; self.tabela_listy_danych_analizy_ksiazki.formatowanie="tak"; self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true; return true; elseif(stronicowyparser_obiekty_modul.strona_start[nazwa_szablonu])then self.tabela_listy_danych_analizy_ksiazki.strona_ze_szablonem_strona_start="tak"; self.tabela_listy_danych_analizy_ksiazki.formatowanie=tabela_parametrow_szablonu["formatowanie"]; local boczne_menu=tabela_parametrow_szablonu["boczne menu"] or ""; local spis_tresci=tabela_parametrow_szablonu["spis treści"] or "TOC"; if((parametry_modul.CzyTak(boczne_menu))or(parametry_modul.CzyTak(spis_tresci)))then self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true; end; return true; end; end); if(wynik)then break;end; end; end; end; end; local uzyskano_w_wyniku_parsowania_wywolanie_szablonu; local analiza_stron_korzystanych_zbiorczych=nil; local stronastart=nil; ---- local tablica_obiekty=stronicowyparser_obiekty_modul.obiekty; local szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane_numerowane_obiekty=stronicowyparser_obiekty_modul.szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane.numerowane_obiekty; local format_elementowy_referencji_obiektowy=stronicowyparser_obiekty_modul.format_elementowy_referencji_obiektowy; local szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_napisu_wprowadzenia_tekstu=stronicowyparser_obiekty_modul.szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane.nienumerowane_obiekty_napisu_wprowadzenia_tekstu; local szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_tekstu=stronicowyparser_obiekty_modul.szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane.nienumerowane_obiekty_tekstu; local szablony_wykorzystywane_przez_strony_zbiorcze=stronicowyparser_obiekty_modul.szablony_wykorzystywane_przez_strony_zbiorcze; local format_elementowy_obiektowy=stronicowyparser_obiekty_modul.format_elementowy_obiektowy; local szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_numerowane_obiekty=stronicowyparser_obiekty_modul.szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane.numerowane_obiekty; local szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_naglowka=stronicowyparser_obiekty_modul.szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane.nienumerowane_obiekty_napisu_wprowadzenia_tekstu; local szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_tekstu=stronicowyparser_obiekty_modul.szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane.nienumerowane_obiekty_tekstu; ---- local strona_start=stronicowyparser_obiekty_modul.strona_start; local strona_start_ze_spisem_rzeczy_strony=stronicowyparser_obiekty_modul.strona_start_ze_spisem_rzeczy_strony; local strona_start_inne=stronicowyparser_obiekty_modul.strona_start_inne; local szablony_strony_zbiorczej=stronicowyparser_obiekty_modul.strona_zbiorcza; ---- local tab_szablony=stronicowyparser_obiekty_modul.szablony_stronicowego_parsera.szablony_kontenerowe; local tab_szablony_stronicowe_niekontenerowe=stronicowyparser_obiekty_modul.szablony_stronicowe_niekontenerowe; local tab_szablony_stronicowe_formatowania_tekstu=stronicowyparser_obiekty_modul.szablony_stronicowe_formatowania_tekstu; local tab_szablony_stronicowe_kontenerowe_formatowania_wzorowego=stronicowyparser_obiekty_modul.szablony_stronicowe_kontenerowe_formatowania_wzorowego; ---- local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local tabela_elementow_strony_kodow={}; -- for uzyskano_w_wyniku_parsowania_wywolanie_szablonu,obiekt,kod in iterator do local function AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego(tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,uzyskano_w_wyniku_parsowania_wywolanie_szablonu,obiekt,kod,tab_numer) if(czy_artykul_korzystany)then if(tabela_parametrow_szablonu)then if((not stronastart)and(self.tabela_listy_danych_analizy_ksiazki.formatowanie==nil))then if(strona_start[nazwa_szablonu_wywolania])then self.tabela_listy_danych_analizy_ksiazki.strona_ze_szablonem_strona_start="tak"; self.tabela_listy_danych_analizy_ksiazki.formatowanie=tabela_parametrow_szablonu["formatowanie"]; stronastart=true; local boczne_menu=tabela_parametrow_szablonu["boczne menu"] or ""; local spis_tresci=tabela_parametrow_szablonu["spis treści"] or "TOC"; if((parametry_modul.CzyTak(boczne_menu))or(parametry_modul.CzyTak(spis_tresci)))then self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true; end; return; elseif(strona_start_ze_spisem_rzeczy_strony[nazwa_szablonu_wywolania])then self.tabela_listy_danych_analizy_ksiazki.strona_ze_szablonem_strona_start="tak"; self.tabela_listy_danych_analizy_ksiazki.formatowanie="tak"; self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true; stronastart=true; return; elseif(strona_start_inne[nazwa_szablonu_wywolania])then self.tabela_listy_danych_analizy_ksiazki.strona_ze_szablonem_strona_start="tak"; self.tabela_listy_danych_analizy_ksiazki.formatowanie="tak"; stronastart=true; return; elseif((strona_zbiorcza)and(not analiza_stron_korzystanych_zbiorczych)and(szablony_strony_zbiorczej[nazwa_szablonu_wywolania]))then analiza_stron_korzystanych_zbiorczych=true; local nazwa_przestrzeni=tabela_parametrow_szablonu["nazwa przestrzeni nazw"]; local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"]; if((not parametry_modul.CzyTak(nazwa_prestreni_nazw))and(not parametry_modul.CzyTak(nazwa_jednostki)))then return; end; end; elseif((strona_zbiorcza)and(not analiza_stron_korzystanych_zbiorczych)and(szablony_strony_zbiorczej[nazwa_szablonu_wywolania]))then analiza_stron_korzystanych_zbiorczych=true; local nazwa_przestrzeni=tabela_parametrow_szablonu["nazwa przestrzeni nazw"]; local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"]; if((not parametry_modul.CzyTak(nazwa_przestrzeni))and(not parametry_modul.CzyTak(nazwa_jednostki)))then return; end; end; end; end; local plik=mw.ustring.match(nazwa_szablonu_wywolania,"^:"); if(plik==nil)then if(tabela_parametrow_szablonu)then if(not parametry_modul.CzyTak(tabela_parametrow_szablonu["bez automatu"]))then local czy_wypowiedzenie=(nazwa_szablonu_wywolania=="Wypowiedzenie"); local czy_linkobiekt; local czy_link;local czy_pobierz; local czy_wypowiedzenie_z_parametrami; local czy_linkobiekt_z_parametrami; if(czy_wypowiedzenie)then czy_linkobiekt=false; czy_link=false; czy_pobierz=false; czy_wypowiedzenie_z_parametrami=parametry_modul.CzyTak(tabela_parametrow_szablonu["rodzaj"]); else czy_linkobiekt=(nazwa_szablonu_wywolania=="LinkObiekt"); if(czy_linkobiekt)then czy_link=true; czy_pobierz=false; czy_linkobiekt_z_parametrami=parametry_modul.CzyTak(tabela_parametrow_szablonu["typ"]); else czy_link=mw.ustring.match(nazwa_szablonu_wywolania,"^Link"); czy_pobierz=(not czy_link) and mw.ustring.match(nazwa_szablonu_wywolania,"^Pobierz") or nil; end; end; if((not czy_link)and(not czy_pobierz))then local wartosc_elementu;local numer_uchwytu; if(not czy_wypowiedzenie_z_parametrami) then local tab_wartosc_elementu=szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_numerowane_obiekty[nazwa_szablonu_wywolania]; if(tab_wartosc_elementu)then wartosc_elementu=tab_wartosc_elementu[1]; numer_uchwytu=tab_wartosc_elementu[2]; end; else local rodzaj=tabela_parametrow_szablonu["rodzaj"]; if(rodzaj)then wartosc_elementu=format_elementowy_obiektowy[rodzaj] and rodzaj or nil; if(wartosc_elementu)then numer_uchwytu=tablica_obiekty[5]; end; end; end; if(wartosc_elementu)then local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA) if(czy_artykul_korzystany)then if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then if(uchwyt_obiektu and (uchwyt_obiektu~=""))then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=wartosc_elementu..":"..((uchwyt_obiektu)and uchwyt_obiektu or ""); end; end; end; end; p.RozpatrywanieSzablonuObiektuDoNumeracji(self,tabela_parametrow_szablonu,tablica_zmiennych, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,wartosc_elementu, czy_artykul_korzystany,numer_uchwytu--[[elementy_w_tablicy_obiekty[5]],tab_numer,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie); return; end; elseif(czy_artykul_korzystany)then if(czy_link)then local wartosc_elementu; if(not czy_linkobiekt_z_parametrami)then wartosc_elementu=szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane_numerowane_obiekty[nazwa_szablonu_wywolania]; else local typ=tabela_parametrow_szablonu["typ"]; if(typ)then typ=format_elementowy_referencji_obiektowy[typ] and typ or nil; if(typ)then wartosc_elementu=mw.getContentLanguage():ucfirst(typ); end; end; end; if(wartosc_elementu)then local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA) if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie="Link"..wartosc_elementu..":"..((uchwyt_obiektu)and uchwyt_obiektu or ""); end; end; p.GeneralneLinkowanie(self,obiekt,kod,tablica_zmiennych,tabela_parametrow_szablonu,wartosc_elementu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie); return; else local wartosc_elementu=szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_napisu_wprowadzenia_tekstu[nazwa_szablonu_wywolania]; if(wartosc_elementu)then self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci=true; self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=nil; local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA) if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu_wywolania..":"..((uchwyt_obiektu)and uchwyt_obiektu or ""); end; end; p.GeneralneLinkowanie(self,obiekt,kod,tablica_zmiennych,tabela_parametrow_szablonu,wartosc_elementu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie); self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci=nil; if(not self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone)then self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true; self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=nil; else self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=nil; end; return; end; end; elseif(czy_pobierz)then local wartosc_elementu=szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_tekstu[nazwa_szablonu_wywolania]; if(wartosc_elementu)then local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA) if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu_wywolania..":"..((uchwyt_obiektu)and uchwyt_obiektu or ""); end; end; p.GeneralneLinkowanie(self,obiekt,kod,tablica_zmiennych,tabela_parametrow_szablonu,wartosc_elementu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie,true); return; end; end; end; if(czy_wypowiedzenie)then local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA) if(czy_artykul_korzystany)then if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie="Obiekt:"..((uchwyt_obiektu)and uchwyt_obiektu or ""); end; end; end; p.RozpatrywanieSzablonuObiektuDoNumeracji(self,tabela_parametrow_szablonu,tablica_zmiennych,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,"Obiekt", czy_artykul_korzystany,tablica_obiekty[5],tab_numer,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie); return; elseif(stronicowyparser_obiekty_modul.szablony_stronicowego_parsera.szablony_wprowadzenia_tekstu[nazwa_szablonu_wywolania])then local tab_wartosc_elementu=szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_naglowka[nazwa_szablonu_wywolania]; local wartosc_elementu;local numer_uchwytu; if(tab_wartosc_elementu)then wartosc_elementu=tab_wartosc_elementu[1]; numer_uchwytu=tab_wartosc_elementu[2]; end; local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA) if(czy_artykul_korzystany)then if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then if(uchwyt_obiektu and (uchwyt_obiektu~=""))then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=wartosc_elementu..":"..((uchwyt_obiektu)and uchwyt_obiektu or ""); end; end; end; end; local lista_dwuelementowa=p.RozpatrywanieSzablonuObiektuDoNumeracji(self,tabela_parametrow_szablonu,tablica_zmiennych, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,wartosc_elementu, czy_artykul_korzystany,numer_uchwytu--[[elementy_w_tablicy_obiekty[5]],tab_numer,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie); p.UchwytyZeiBezNumeracji(self,tabela_elementow_strony_kodow,wartosc_elementu,lista_dwuelementowa,kod); if(czy_artykul_korzystany)then self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true; end; return; elseif(stronicowyparser_obiekty_modul.szablony_stronicowego_parsera.szablony_tekstu[nazwa_szablonu_wywolania])then local tab_wartosc_elementu=szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_tekstu[nazwa_szablonu_wywolania]; local wartosc_elementu;local numer_uchwytu; if(tab_wartosc_elementu)then wartosc_elementu=tab_wartosc_elementu[1]; numer_uchwytu=tab_wartosc_elementu[2]; end; local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA) if(czy_artykul_korzystany)then if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then if(uchwyt_obiektu and (uchwyt_obiektu~=""))then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=wartosc_elementu..":"..((uchwyt_obiektu)and uchwyt_obiektu or ""); end; end; end; end; local lista_dwuelementowa=p.RozpatrywanieSzablonuObiektuDoNumeracji(self,tabela_parametrow_szablonu,tablica_zmiennych, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,wartosc_elementu, czy_artykul_korzystany,numer_uchwytu--[[elementy_w_tablicy_obiekty[5]],tab_numer,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie); if(lista_dwuelementowa)then local stronicowyparser_szablonytekstu_modul=require("Module:StronicowyParser/SzablonyTekstu"); local tekst=stronicowyparser_szablonytekstu_modul.ParametrTekstowySzablonuTekstu(tabela_parametrow_szablonu); local bez_preprocess=stronicowyparser_szablonytekstu_modul.SzablonTekstuBezPreProcess(tabela_parametrow_szablonu); local czy_bez_preprocess=parametry_modul.CzyTak(bez_preprocess); if(tekst)then local czy_szablon_wszystko=false; tekst=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(tekst,nil,tablica_analizy_obiektow_strony_dany_modul, function(szablon,obiekt,kod) if(czy_bez_preprocess)then return nil;end; if(obiekt=="SZABLON")then local wynik=szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,nazwa_modulu, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) if( (tab_szablony[nazwa_szablonu]) or(tab_szablony_stronicowe_niekontenerowe[nazwa_szablonu]) or(tab_szablony_stronicowe_formatowania_tekstu[nazwa_szablonu]) or(tab_szablony_stronicowe_kontenerowe_formatowania_wzorowego[nazwa_szablonu]) )then if(not czy_artykul_korzystany)then tabela_parametrow_szablonu["nazwa przestrzeni nazw"]=tabela_parametrow_szablonu["nazwa przestrzeni nazw"] or nazwa_przestrzeni; tabela_parametrow_szablonu["nazwa jednostki"]=tabela_parametrow_szablonu["nazwa jednostki"] or (((nazwa_przestrzeni_ksiazki~="") and (nazwa_przestrzeni_ksiazki.."/") or "")..nazwa_ksiazki..((nazwa_artykulu~="") and ("/"..nazwa_artykulu) or "")) if(self)then local czy_link_lub_pobierz=mw.ustring.match(nazwa_szablonu,"^Link") or mw.ustring.match(nazwa_szablonu,"^Pobierz"); if(czy_link_lub_pobierz)then p.ZbieranieKontenerowychInformacjiReferencji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca); else p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu); end; end; end; return szablonowe_modul.KodSymbolicznySzablonu(nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow,true); end; return nil; end, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ---- instrukcje warunkowe; return szablonowe_modul.KodSymbolicznySzablonu(nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow,true); end, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ---- wywołania ramek Lua w Scribunto return szablonowe_modul.KodSymbolicznySzablonu(nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow,true); end, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ---- tagi szablonowe; return szablonowe_modul.KodSymbolicznySzablonu(nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow,true); end); czy_szablon_wszystko=czy_szablon_wszystko or true; if(wynik)then return wynik;end; elseif(obiekt=="ZMIENNA")then czy_szablon_wszystko=czy_szablon_wszystko or true; local zawartosc=mw.ustring.match(szablon,"^{{{(.*)}}}$"); if(zawartosc)then zawartosc=mw.ustring.gsub(zawartosc,"|","{{!}}"); return "{{(((}}"..zawartosc.."{{)))}}"; end; end; end); if((czy_szablon_wszystko)and(not bez_preprocess))then local frame=mw.getCurrentFrame(); tekst=frame:preprocess(tekst); end; lista_dwuelementowa[2]=tekst; end; --local __metatabelka=getmetatable(tabela_parametrow_szablonu); --if(__metatabelka)then setmetatable(tabela_parametrow_szablonu,nil);end; stronicowyparser_szablonytekstu_modul.DodawanieDoBazyStronySzablonuTekstu(tablica_zmiennych,wartosc_elementu,lista_dwuelementowa,obiekt,kod,tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,czy_artykul_korzystany); end; return; elseif(czy_artykul_korzystany)then if(czy_linkobiekt)then local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA) if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie="LinkObiekt:"..((uchwyt_obiektu)and uchwyt_obiektu or ""); end; end; p.GeneralneLinkowanie(self,obiekt,kod,tablica_zmiennych,tabela_parametrow_szablonu,"Obiekt",nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie); return; else if(stronicowyparser_obiekty_modul.szablony_z_lokalnym_spisem_rzeczy_strony[nazwa_szablonu_wywolania])then self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true; return; elseif(stronicowyparser_obiekty_modul.bez_uchwytow_spis_rzeczy_strony[nazwa_szablonu_wywolania])then self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci=true; self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=nil; local function KtorySzablonMaZwracacKategorie(uchwyt,__FUNKCJA) if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then local nazwa_ksiazki=tabela_parametrow_szablonu["nazwa książki"] or tabela_parametrow_szablonu[2] or ""; local artykul=tabela_parametrow_szablonu["nazwa artykułu"] or tabela_parametrow_szablonu[1] or ""; self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu_wywolania..":"..nazwa_ksiazki..((artykul)and ("/"..artykul) or "") end; end; p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,KtorySzablonMaZwracacKategorie); self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci=nil; if(not self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone)then self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true; self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=nil; else self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=nil; end; return; else local function KtorySzablonMaZwracacKategorie(uchwyt,__FUNKCJA) if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then local nazwy_modul=require("Module:Nazwy"); local nazwa_przestrzeni=tabela_parametrow_szablonu["nazwa przestrzeni nazw"] or ""; local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"] or ""; local nazwa_symulacyjnej_strony=((nazwa_przestrzeni~="") and (nazwa_przestrzeni..":") or "")..nazwa_jednostki; local uchwyt=nazwa_szablonu_wywolania..":"..nazwa_symulacyjnej_strony; self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=uchwyt; end; end; if((stronicowyparser_obiekty_modul.szablony_kontenerowe[nazwa_szablonu_wywolania]) or(szablony_strony_zbiorczej[nazwa_szablonu_wywolania]) )then if(szablony_wykorzystywane_przez_strony_zbiorcze[nazwa_szablonu_wywolania])then p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,true,KtorySzablonMaZwracacKategorie); else p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,nil,KtorySzablonMaZwracacKategorie); end; return; elseif((strona_zbiorcza)and(szablony_strony_zbiorczej[nazwa_szablonu_wywolania]))then p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,true,KtorySzablonMaZwracacKategorie); return; end; end; end; end; end; end; end; end; ---- local function GeneralnaAnalizaSzablonuStronicowegoParsera(uzyskano_w_wyniku_parsowania_wywolanie_szablonu,obiekt,kod,tab_numer) stronicowyparser_potrzebne_modul:AnalizaSzablonuStronicowegoParsera(uzyskano_w_wyniku_parsowania_wywolanie_szablonu,obiekt,kod,tab_numer,nazwa_modulu_aktualna_czy_biezaca,tablica_danych_parametrow_szablonu_strony,AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego); end; local function IterowaniePoElementachTekstu(tekst_rozwiniety_calego_artykulu,tab_numer) local iterator=szablonowe_modul:IteratorSzablonowyZakodowanegoTekstu(tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul); for uzyskano_w_wyniku_parsowania_wywolanie_szablonu,obiekt,kod in iterator do GeneralnaAnalizaSzablonuStronicowegoParsera(uzyskano_w_wyniku_parsowania_wywolanie_szablonu,obiekt,kod,tab_numer); end; end; IterowaniePoElementachTekstu(tekst_rozwiniety_calego_artykulu); ---- local tablica_danych_nazwy_artykulu=tablica_ksiazki.lista_podstron_woluminu[nazwa_artykulu] or {}; tablica_danych_nazwy_artykulu.uchwyty_i_numeracje=tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2; ---- local wiki_modul=require("Module:Wiki"); tablica_danych_nazwy_artykulu.link_wikidane={wiki_modul.KodyKlasStronyNaDanejWiki{["strona"]=nazwa_modulu_aktualna_czy_biezaca,["nagłówek"]=true,["aktywny"]=true,},}; ---- if(czy_artykul_korzystany)then if(analiza_stron_korzystanych_zbiorczych)then local stronicowyparser_stronasubst_modul=require("Module:StronicowyParser/StronaSubst"); tekst_rozwiniety_calego_artykulu=stronicowyparser_stronasubst_modul.LiczOperacjeStronZbiorczych(self,tekst_rozwiniety_calego_artykulu,tablica_ksiazki.spis,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); end; end; local strona; if(czy_artykul_korzystany)then strona="";else strona=nazwa_modulu;end; ---- if(czy_artykul_korzystany)then local stronicowyparser_szablonytekstu_modul=require("Module:StronicowyParser/SzablonyTekstu"); stronicowyparser_szablonytekstu_modul.UstawPobierzKorzystanie(tablica_zmiennych); tekst_rozwiniety_calego_artykulu=stronicowyparser_szablonytekstu_modul.AktualizowanieSzablonowychTekstowychKompletowaniaInformacjiTekstu(tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tablica_zmiennych,IterowaniePoElementachTekstu) or tekst_rozwiniety_calego_artykulu; end; ---- local toc; if(((czy_artykul_korzystany)and(self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane)) or((not czy_artykul_korzystany)and(self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone)))then ---- local tablica_obiektow_strony_danych_kodow_specjalnych_modul=nil; ---- tekst_rozwiniety_calego_artykulu,tablica_obiektow_strony_danych_kodow_specjalnych_modul=szablonowe_modul:KodowanieInaczejZakodowanychNormKodowychTekstuWedleJegoTablicyKodowania(tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,false); ---- local function KtorySzablonMaZwracacKategorieNaglowek(numeracja_aktualna,nazwa_szablonu) if(czy_artykul_korzystany)then if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"powtórka nagłowek w stronie korzystanej"))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"powtórka nagłowek w stronie korzystanej"); if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu..":"..(numeracja_aktualna or ""); end; end; else stronicowyparser_problemy_modul.DodawanieProblemowegoElementuDoTablicy(self,"powtórka nagłówek w stronie dołączonej",nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki) if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu..":"..(numeracja_aktualna or ""); end; end; end; local function KtorySzablonMaZwracacKategorieTekst(numeracja_aktualna,nazwa_szablonu) if(czy_artykul_korzystany)then if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"nagłówek w tekście rozdziału w stronie korzystanej"))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"nagłówek w tekście rozdziału w stronie korzystanej"); if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu..":"..(numeracja_aktualna or ""); end; end; else stronicowyparser_problemy_modul.DodawanieProblemowegoElementuDoTablicy(self,"nagłowek w tekście rozdziału w stronie dołączonej",nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu..":"..(numeracja_aktualna or ""); end; end; end; local function CzyJestTakiProblemJakoElementTablicy() return stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"nagłówek w tekście rozdziału w stronie korzystanej"); end; local nazwa_naglowka=stronicowyparser_obiekty_modul.nazwa_szablonu_wprowadzenia_tekstu; local stronicowyparser_glownafunkcjazbieraniadanych_modul=require("Module:StronicowyParser/GłównaFunkcjaZbieraniaDanychStron"); local tablica_naglowka_obiekty=tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2[nazwa_naglowka]; tablica_naglowka_obiekty.uchwyty_bez_numeracji={}; local toc=stronicowyparser_glownafunkcjazbieraniadanych_modul.SpisRzeczyWedlePodanegoTekstu(self,tekst_rozwiniety_calego_artykulu,strona, czy_artykul_korzystany,nil,tablica_naglowka_obiekty.uchwyty_bez_numeracji, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki, nazwa_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tablica_obiektow_strony_danych_kodow_specjalnych_modul,{KtorySzablonMaZwracacKategorieNaglowek,KtorySzablonMaZwracacKategorieTekst,CzyJestTakiProblemJakoElementTablicy},nil,tabela_elementow_strony_kodow); tablica_danych_nazwy_artykulu.TOC=toc; end; StronaSubstFunkcja(tablica_danych_nazwy_artykulu,tablica_ksiazki.spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); if(czy_artykul_korzystany)then self.tabela_listy_danych_analizy_ksiazki.link_wikidane=tablica_danych_nazwy_artykulu.link_wikidane; self.tabela_listy_danych_analizy_ksiazki.tablica_aktualnego_artykulu=tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2; self.tabela_listy_danych_analizy_ksiazki.tablica_aktualnej_przestrzeni_nazw=self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni]; self.tabela_listy_danych_analizy_ksiazki.tablica_ksiazek_w_danej_przestrzeni_nazw_ksiazki=self.tabela_listy_danych_analizy_ksiazki.tablica_aktualnej_przestrzeni_nazw[nazwa_przestrzeni_ksiazki]; self.tabela_listy_danych_analizy_ksiazki.tablica_aktualnej_ksiazki=self.tabela_listy_danych_analizy_ksiazki.tablica_ksiazek_w_danej_przestrzeni_nazw_ksiazki[nazwa_ksiazki]; --self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron=tablica_zmiennych; end; if(not czy_artykul_korzystany)then tablica_danych_nazwy_artykulu.dane_zebrane_ze_stron=tablica_zmiennych; if(not self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron_lista)then self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron_lista={};end; table.insert(self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron_lista,tablica_danych_nazwy_artykulu); else local dane_zebrane_ze_stron_lista=self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron_lista; if(dane_zebrane_ze_stron_lista)then for _,tablica_danych_nazwy_artykulu in ipairs(dane_zebrane_ze_stron_lista)do tablica_danych_nazwy_artykulu.dane_zebrane_ze_stron=nil; end; end; tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane=nil; end; return self.tabela_listy_danych_analizy_ksiazki,tablica_zmiennych,true; end; return p; b9ez5hkujl07llfbyca0dfr8j55y01h 547074 547073 2026-06-20T20:25:57Z Persino 2851 Anulowano wersję [[Special:Diff/547073|547073]] autorstwa [[Special:Contributions/Persino|Persino]] ([[User talk:Persino|dyskusja]]) 547074 Scribunto text/plain local p={}; function p.UchwytyZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,lista_dwuelementowa,kod) if(lista_dwuelementowa)then local tab_obiekt=tabela_elementow_strony_kodow[nazwa_obiektu]; if(not tab_obiekt)then tabela_elementow_strony_kodow[nazwa_obiektu]={}; tab_obiekt=tabela_elementow_strony_kodow[nazwa_obiektu]; end; local uchwyty_bez_numeracji=tab_obiekt.uchwyty_bez_numeracji; if(not uchwyty_bez_numeracji)then tab_obiekt.uchwyty_bez_numeracji={}; uchwyty_bez_numeracji=tab_obiekt.uchwyty_bez_numeracji; end; uchwyty_bez_numeracji[kod]=lista_dwuelementowa; end; end; function p.WydobywanieUchwytuZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,kod) local tab_obiekt=tabela_elementow_strony_kodow[nazwa_obiektu]; if(not tab_obiekt)then return nil;end; local uchwyty_bez_numeracji=tab_obiekt.uchwyty_bez_numeracji; if(uchwyty_bez_numeracji)then return uchwyty_bez_numeracji[kod]; end; end; function p.RozpatrywanieElementuUchwytuNumeracji(self,kod_uchwytu,tab_numer,tablica_zmiennych,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, nazwa_obiektu, czy_artykul_korzystany,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); kod_uchwytu=stronicowyparser_potrzebne_modul.DekodowanieNazwySzablonu(kod_uchwytu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,true) or kod_uchwytu; local html_modul=require("Module:Html"); kod_uchwytu=html_modul.DecodeHtml(kod_uchwytu,true); if(kod_uchwytu~="")then KtorySzablonMaZwracacKategorie(kod_uchwytu); local lista_dwuelementowa={}; lista_dwuelementowa[1]=kod_uchwytu; local parametry_modul=require("Module:Parametry"); if((not tablica_zmiennych.sprawdzenie_dokonane_obiektu)and(not parametry_modul["CzySąElementyNumerowaneTablicy"](tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2[nazwa_obiektu])))then local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); if(not (stronicowyparser_problemy_modul.CzyJestTakiElementTabeliProblemu(self,"strony poza zakresem obsługiwanym",nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki)))then p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki,nazwa_artykulu); end; tablica_zmiennych.sprawdzenie_dokonane_obiektu=true; end; if(tab_numer)then tab_numer[nazwa_obiektu]=tab_numer[nazwa_obiektu]+1; local numer=tab_numer[nazwa_obiektu]; table.insert(tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2[nazwa_obiektu],numer,lista_dwuelementowa); else table.insert(tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2[nazwa_obiektu],lista_dwuelementowa); end; return lista_dwuelementowa; end; end; function p.RozpatrywanieSzablonuObiektuDoNumeracji(self,tabela_parametrow_szablonu,tablica_zmiennych,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,nazwa_obiektu, czy_artykul_korzystany,numer_numeracji,tab_numer,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie) local kod_uchwytu=tabela_parametrow_szablonu["uchwyt"] or tabela_parametrow_szablonu[numer_numeracji]; if(kod_uchwytu)then local lista_dwuelementowa=p.RozpatrywanieElementuUchwytuNumeracji(self,kod_uchwytu,tab_numer,tablica_zmiennych, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, nazwa_obiektu, czy_artykul_korzystany,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie); return lista_dwuelementowa; end; end; function p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) if((nazwa_przestrzeni)and(nazwa_przestrzeni_ksiazki)and(nazwa_ksiazki))then if(nazwa_artykulu=="")then return;end; local czy_element_wystepuje_w_tablicy=false; local tablica_przestrzeni_wszystkiego=self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron; if(tablica_przestrzeni_wszystkiego)then local tabela_przestrzeni_ksiazek=tablica_przestrzeni_wszystkiego[nazwa_przestrzeni]; if(tabela_przestrzeni_ksiazek)then local tabela_ksiazek=tabela_przestrzeni_ksiazek[nazwa_przestrzeni_ksiazki] if(tabela_ksiazek)then local tab_ksiazki=tabela_ksiazek[nazwa_ksiazki]; if(tab_ksiazki)then if(tab_ksiazki.spis)then --czy_lista_niepusta=true; for _,tab_value1 in ipairs(tab_ksiazki.spis)do if(tab_value1[2])then for _,nazwa_artykulu1 in ipairs(tab_value1[2])do if(nazwa_artykulu1[1]==nazwa_artykulu)then czy_element_wystepuje_w_tablicy=true; break; end; end; end; if(czy_element_wystepuje_w_tablicy)then break;end; end; end; end; end; end; end; if(not czy_element_wystepuje_w_tablicy)then local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); if((self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni~=nazwa_przestrzeni) or(self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu~=nazwa_przestrzeni_ksiazki) or(self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu~=nazwa_ksiazki) or(self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu~=nazwa_artykulu))then if(not (stronicowyparser_problemy_modul.CzyJestTakiElementTabeliProblemu(self,"strony poza zakresem obsługiwanym",nazwa_przestrzeni,nazwa_przestrzeni_ksiazki, nazwa_ksiazki)))then stronicowyparser_problemy_modul.DodawanieProblemowegoElementuDoTablicy(self,"brak spisów treści do dołączonych stron",nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); end; elseif(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"brak spisu treści do korzystanych stron"))then if(not (stronicowyparser_problemy_modul.CzyJestTakiElementTabeliProblemu(self,"strony poza zakresem obsługiwanym",nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki)))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"brak spisu treści do korzystanych stron"); end; end; end; end; end; function p.PusteParametryReferencji(self, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu) local czy_ksiazka_z_tylko_odstepami_lub_pusty=(nazwa_ksiazki)and (nazwa_ksiazki=="") or nil; local czy_artykul_z_tylko_odstepami_lub_pusty=(nazwa_artykulu)and (nazwa_artykulu=="") or nil; local czy_uchwyt_obiektu_z_tylko_odstepami_lub_pusty=(uchwyt_obiektu)and (uchwyt_obiektu=="") or nil; ---- local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); ---- if(czy_uchwyt_obiektu_z_tylko_odstepami_lub_pusty)then if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,1))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,1); end; end; if(czy_artykul_z_tylko_odstepami_lub_pusty)then if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,2))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,2); end; end; if(czy_ksiazka_z_tylko_odstepami_lub_pusty)then if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,3))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,3); end; end; end; function p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,KtorySzablonMaZwracacKategorie,czy_inna_wartosc_tekst) local nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu=p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,self.nazwa_modulu_biezaca,((not czy_inna_wartosc_tekst)and true or false)); --local ksiazkowe_modul=require("Module:Książkowe"); --pelna_nazwa_ksiazki=pelna_nazwa_ksiazki or ksiazkowe_modul["PełnaNazwaStronicowejKsiążki"](); --nazwa_artykulu=nazwa_artykulu or ksiazkowe_modul["NazwaArtykułuKsiążki"](); if((nazwa_przestrzeni)or(nazwa_przestrzeni_ksiazki)or(nazwa_ksiazki)or(nazwa_artykulu))then local tabela_nazw={}; local ksiazkowe_modul=require("Module:Książkowe"); local nazwa_przestrzeni=nazwa_przestrzeni or ksiazkowe_modul["NazwaPrzestrzeni"](nil,tabela_nazw); local nazwa_przestrzeni_ksiazki=nazwa_przestrzeni_ksiazki or ksiazkowe_modul["NazwaPrzestrzeniKsiążki"](nil,tabela_nazw); local nazwa_ksiazki=nazwa_ksiazki or ksiazkowe_modul["NazwaTytułuKsiążki"](nil,tabela_nazw); local nazwa_artykulu=nazwa_artykulu or ksiazkowe_modul["NazwaArtykułuKsiążki"](nil,tabela_nazw); if(KtorySzablonMaZwracacKategorie)then KtorySzablonMaZwracacKategorie();end; local tabela_listy_danych_analizy_ksiazki=p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, false); end; end; function p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,czy_szablon_pudelkowy_strony_zbiorczej,KtorySzablonMaZwracacKategorie) local nazwa_przestrzeni=tabela_parametrow_szablonu["nazwa przestrzeni nazw"]; local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"]; if((not nazwa_przestrzeni)and(not nazwa_jednostki))then return;end; local parametry_modul=require("Module:Parametry"); if((nazwa_jednostki) and (nazwa_jednostki==""))then return;end; local szablonowe_modul=require("Module:Szablonowe"); if((nazwa_jednostki and mw.ustring.match(nazwa_jednostki,szablonowe_modul.NormaWzoruKodowaniaTekstu())) or (nazwa_przestrzeni and mw.ustring.match(nazwa_przestrzeni,szablonowe_modul.NormaWzoruKodowaniaTekstu())) )then return;end; local nazwy_modul=require("Module:Nazwy"); local ksiazkowe_modul=require("Module:Książkowe"); local html_modul=require("Module:Html"); if(nazwa_jednostki)then nazwa_jednostki=html_modul.DecodeHtml(nazwa_jednostki,true); end; local tabela_nazw_art={}; local nazwa_jednostki=(nazwa_jednostki and mw.ustring.gsub(nazwa_jednostki,"^([^#]*)#(.*)$","%1") or nil ) or ksiazkowe_modul["NazwaArtykułu"](nil,tabela_nazw_art); if(nazwa_przestrzeni)then nazwa_przestrzeni=html_modul.DecodeHtml(nazwa_przestrzeni,true); end; local nazwa_przestrzeni=nazwa_przestrzeni or ksiazkowe_modul["NazwaPrzestrzeni"](nil,tabela_nazw_art); local strona=((nazwa_przestrzeni~="") and (nazwa_przestrzeni..":") or "")..nazwa_jednostki; local techniczne_modul=require("Module:Techniczne"); strona=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=strona,[2]=self.nazwa_modulu_biezaca,}; --strona=ksiazkowe_modul["PEŁNANAZWASTRONY"](strona); local tabela_nazw={}; local nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](strona,tabela_nazw); local nazwa_przestrzeni_ksiazki=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"](strona,tabela_nazw); local nazwa_ksiazki=((nazwa_przestrzeni_ksiazki~="") and (nazwy_modul["SUBNAZWAKSIĄŻKI"](strona,tabela_nazw)) or (nazwy_modul["NAZWAKSIĄŻKI"](strona,tabela_nazw))); local nazwa_artykulu=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](strona,tabela_nazw); if(KtorySzablonMaZwracacKategorie)then KtorySzablonMaZwracacKategorie();end; local tabela_listy_danych_analizy_ksiazki=p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, false,nil,czy_szablon_pudelkowy_strony_zbiorczej); end; function p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,nazwa_aktualna,bezuchwytowe) local nazwa_artykulu=tabela_parametrow_szablonu["nazwa artykułu"] or tabela_parametrow_szablonu[bezuchwytowe and 1 or 2]; local pelna_nazwa_ksiazki=tabela_parametrow_szablonu["nazwa książki"] or tabela_parametrow_szablonu[bezuchwytowe and 2 or 3]; local parametry_modul=require("Module:Parametry"); local nazwy_modul=require("Module:Nazwy"); local html_modul=require("Module:Html"); if(nazwa_artykulu)then nazwa_artykulu=html_modul.DecodeHtml(nazwa_artykulu,true); local techniczne_modul=require("Module:Techniczne"); nazwa_artykulu=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=nazwa_artykulu,[2]="",}; end; local nazwa_ksiazki;local nazwa_przestrzeni_ksiazki;local nazwa_przestrzeni; if(pelna_nazwa_ksiazki)then pelna_nazwa_ksiazki=html_modul.DecodeHtml(pelna_nazwa_ksiazki,true); local techniczne_modul=require("Module:Techniczne"); pelna_nazwa_ksiazki=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=pelna_nazwa_ksiazki,[2]=nazwa_aktualna,}; ---- local tabela_nazw={}; local ksiazkowe_modul=require("Module:Książkowe"); pelna_nazwa_ksiazki=ksiazkowe_modul["PełnaNazwaStronicowejKsiążki"](pelna_nazwa_ksiazki,tabela_nazw); nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](pelna_nazwa_ksiazki,tabela_nazw); nazwa_przestrzeni_ksiazki=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"](pelna_nazwa_ksiazki,tabela_nazw); nazwa_ksiazki=((nazwa_przestrzeni_ksiazki~="") and (nazwy_modul["SUBNAZWAKSIĄŻKI"](pelna_nazwa_ksiazki,tabela_nazw)) or (nazwy_modul["NAZWAKSIĄŻKI"](pelna_nazwa_ksiazki,tabela_nazw))); --pelna_nazwa_ksiazki=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,""); end; return nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu; end; function p.ZbieranieKontenerowychInformacjiReferencji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna) local nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu=p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,nazwa_modulu_aktualna); local nazwy_modul=require("Module:Nazwy"); local czy_inna_wartosc_tekst=true; if((nazwa_artykulu)and(nazwa_ksiazki))then --local nazwa_modulu=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); tabela_parametrow_szablonu["nazwa przestrzeni nazw"]=nazwa_przestrzeni; tabela_parametrow_szablonu["nazwa jednostki"]=nazwy_modul["NazwaModułu"]("",nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,nil,czy_inna_wartosc_tekst); elseif((nazwa_artykulu)and(not nazwa_ksiazki))then local ksiazkowe_modul=require("Module:Książkowe"); local nazwa_przestrzeni=tabela_parametrow_szablonu["nazwa przestrzeni nazw"] or ksiazkowe_modul["NazwaPrzestrzeni"](); local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"] or (ksiazkowe_modul["NazwaKsiążki"]()..((nazwa_artykulu~="") and ("/"..nazwa_artykulu) or "")); ---- tabela_parametrow_szablonu["nazwa przestrzeni nazw"]=nazwa_przestrzeni; tabela_parametrow_szablonu["nazwa jednostki"]=nazwa_jednostki; p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,nil,czy_inna_wartosc_tekst); elseif((not nazwa_artykulu)and(nazwa_ksiazki))then local ksiazkowe_modul=require("Module:Książkowe"); local pelna_nazwa_ksiazki=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,""); local nazwa_przestrzeni=tabela_parametrow_szablonu["nazwa przestrzeni nazw"] or ksiazkowe_modul["NazwaPrzestrzeni"](); local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"] or ksiazkowe_modul["NazwaKsiążki"](); ---- tabela_parametrow_szablonu["nazwa przestrzeni nazw"]=nazwa_przestrzeni; tabela_parametrow_szablonu["nazwa jednostki"]=nazwa_jednostki; p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,nil,czy_inna_wartosc_tekst); else p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,nil,czy_inna_wartosc_tekst); end; end; function p.GeneralneLinkowanie(self,obiekt,kod,tablica_zmiennych,tabela_parametrow_szablonu,nazwa_obiektu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie,czy_pobierz) local uchwyt_obiektu=tabela_parametrow_szablonu["uchwyt"] or tabela_parametrow_szablonu[1]; local nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu=p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,self.nazwa_modulu_biezaca); ---- local parametry_modul=require("Module:Parametry"); if(parametry_modul.CzyTak(uchwyt_obiektu))then local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); uchwyt_obiektu=stronicowyparser_potrzebne_modul.DekodowanieNazwySzablonu(uchwyt_obiektu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,true) or uchwyt_obiektu; local html_modul=require("Module:Html"); uchwyt_obiektu=html_modul.DecodeHtml(uchwyt_obiektu,true); end; ---- local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); ---- if(parametry_modul.CzyTak(uchwyt_obiektu))then nazwa_artykulu=(nazwa_artykulu or (nazwa_ksiazki and "" or nil)); if(nazwa_artykulu)then if(nazwa_artykulu~="")then if(not nazwa_ksiazki)then nazwa_przestrzeni=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; nazwa_przestrzeni_ksiazki=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu; nazwa_ksiazki=self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu; elseif(nazwa_ksiazki=="")then p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu); return; end; elseif((nazwa_ksiazki)and(nazwa_ksiazki~=""))then nazwa_artykulu=""; elseif((nazwa_ksiazki)and(nazwa_ksiazki==""))then p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu); return; else nazwa_przestrzeni=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; nazwa_przestrzeni_ksiazki=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu; nazwa_ksiazki=self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu; end; if((nazwa_przestrzeni~=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni) or(nazwa_przestrzeni_ksiazki~=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu) or(nazwa_ksiazki~=self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu) or(nazwa_artykulu~=self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu))then p.LinkowanieInnychStron(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,czy_pobierz); else p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz); p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu); end; else p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz) p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu); end; elseif((uchwyt_obiektu)and(uchwyt_obiektu==""))then p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,nil); p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu); elseif(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"brak uchwytu",nazwa_obiektu))then p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu); stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"brak uchwytu",nazwa_obiektu); end; KtorySzablonMaZwracacKategorie(uchwyt_obiektu); end; function p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz) local linkobiekttab=tablica_zmiennych.linkobiekt[nazwa_obiektu]; local parametry_modul=require("Module:Parametry"); if((not tablica_zmiennych.sprawdzenie_dokonane_linku)and(not parametry_modul["CzySąElementyNumerowaneTablicy"](linkobiekttab)))then local parametry_modul=require("Module:Parametry"); local nazwa_przestrzeni=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; local nazwa_przestrzeni_ksiazki=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu; local nazwa_ksiazki=self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu; local nazwa_artykulu=self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu; local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); if(not (stronicowyparser_problemy_modul.CzyJestTakiElementTabeliProblemu(self,"strony poza zakresem obsługiwanym",nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki)))then p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end; tablica_zmiennych.sprawdzenie_dokonane_linku=true; end; table.insert(linkobiekttab,uchwyt_obiektu); if(czy_pobierz)then if(not tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane)then tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane={}; end; table.insert(tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane,{{nazwa_obiektu,uchwyt_obiektu,},{obiekt,kod,},}); end; end; function p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,__FUNKCJA) local pudelko_modul=require("Module:Pudełko"); if(((nazwa_przestrzeni)and(((nazwa_przestrzeni~="")and(not pudelko_modul["CzyNiepoprawnaNazwa"](nazwa_przestrzeni)))or(nazwa_przestrzeni==""))) and((nazwa_przestrzeni_ksiazki)and(((nazwa_przestrzeni_ksiazki~="")and(not pudelko_modul["CzyNiepoprawnaNazwa"](nazwa_przestrzeni_ksiazki)))or(nazwa_przestrzeni_ksiazki==""))) and((nazwa_ksiazki)and(nazwa_ksiazki~="")and(not pudelko_modul["CzyNiepoprawnaNazwa"](nazwa_ksiazki))) and((nazwa_artykulu)and(((nazwa_artykulu~="")and(not pudelko_modul["CzyNiepoprawnaNazwa"](nazwa_artykulu)))or(nazwa_artykulu==""))) )then if(__FUNKCJA)then __FUNKCJA(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu); end; else local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"nieprawidłowe nazwy korzystanych stron"))then if((self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni==nazwa_przestrzeni) and(self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu==nazwa_przestrzeni_ksiazki) and(self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu==nazwa_ksiazki) and(self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu==nazwa_artykulu))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"nieprawidłowe nazwy korzystanych stron"); else stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"nieprawidłowe nazwy stron dołączanych do stron"); end; end; end; end; function p.LinkowanieInnychStron(self,obiekt,kod,tablica_zmiennych, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,czy_pobierz) p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,function() local parametry_modul=require("Module:Parametry"); if((nazwa_przestrzeni)and(nazwa_przestrzeni_ksiazki)and(parametry_modul.CzyTak(nazwa_ksiazki))and(nazwa_artykulu))then local tablica_zmiennych2={}; tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2={} local tabela_listy_danych_analizy_ksiazki0,tablica_zmiennych2,czy_inna=p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, false,tablica_zmiennych2); if(tabela_listy_danych_analizy_ksiazki0)then if((not czy_inna)or(not tablica_zmiennych2))then return;end; local JuzPoliczone=function() if(not tablica_zmiennych2.dane_juz_policzone)then tablica_zmiennych2.dane_juz_policzone={};end; local tab_nazwa_obiektu=tablica_zmiennych2.dane_juz_policzone[nazwa_obiektu]; if(not tab_nazwa_obiektu)then tablica_zmiennych2.dane_juz_policzone[nazwa_obiektu]={}; tab_nazwa_obiektu=tablica_zmiennych2.dane_juz_policzone[nazwa_obiektu]; end; local tab_uchwyt=tab_nazwa_obiektu[uchwyt_obiektu]; if(tab_uchwyt)then return true; end; tab_nazwa_obiektu[uchwyt_obiektu]=true; return false; end; if(not parametry_modul.CzyTak(tabela_listy_danych_analizy_ksiazki0))then local czy_policzone=JuzPoliczone(); if(czy_policzone)then return; end; else JuzPoliczone(); end; local stronicowyparser_szablony_tekstu_modul=require("Module:StronicowyParser/SzablonyTekstu"); if(czy_pobierz)then stronicowyparser_szablony_tekstu_modul.UstawianiePobierz(tablica_zmiennych,tablica_zmiennych2,obiekt,kod,nazwa_obiektu,uchwyt_obiektu,false); end; stronicowyparser_szablony_tekstu_modul.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony(tablica_zmiennych,tablica_zmiennych2); p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu); local czy_jest_nazwa_obiektu_w_tabela_listy_danych_analizy_ksiazki2=tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2[nazwa_obiektu]; local CzyLink=czy_jest_nazwa_obiektu_w_tabela_listy_danych_analizy_ksiazki2.CzyLink; local ile_razy=0; if(czy_jest_nazwa_obiektu_w_tabela_listy_danych_analizy_ksiazki2)then for _, parametry_obiektu in ipairs(czy_jest_nazwa_obiektu_w_tabela_listy_danych_analizy_ksiazki2) do if(parametry_obiektu[1]==uchwyt_obiektu)then ile_razy=ile_razy+1; if(ile_razy>1)then break;end; end; end; end if(ile_razy~=1)then local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"błędy uchwytów korzystanych stron",(CzyLink and "Link" or "Pobierz")..nazwa_obiektu))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"błędy uchwytów korzystanych stron",(CzyLink and "Link" or "Pobierz")..nazwa_obiektu); end; p.PusteParametryReferencji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu); end; else local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"błąd wewnętrzny modułu lua stronicowego parsera"))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"błąd wewnętrzny modułu lua stronicowego parsera"); end; end; else p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu); end; end); end; function p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, czy_artykul_korzystany,tablica_zmiennych,czy_szablon_pudelkowy_strony_zbiorczej) local function __FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) if(not self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni])then self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni]={};end; local tablica_przestrzeni=self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni]; if(not tablica_przestrzeni[nazwa_przestrzeni_ksiazki])then tablica_przestrzeni[nazwa_przestrzeni_ksiazki]={};end; local tablica_przestrzeni_ksiazki=tablica_przestrzeni[nazwa_przestrzeni_ksiazki]; if(not tablica_przestrzeni_ksiazki[nazwa_ksiazki])then tablica_przestrzeni_ksiazki[nazwa_ksiazki]={};end; local tablica_ksiazki=tablica_przestrzeni_ksiazki[nazwa_ksiazki]; if(not tablica_ksiazki.lista_podstron_woluminu)then tablica_ksiazki.lista_podstron_woluminu={};end; if(nazwa_artykulu)then if(not tablica_ksiazki.lista_podstron_woluminu[nazwa_artykulu])then tablica_ksiazki.lista_podstron_woluminu[nazwa_artykulu]={};end; local artykul_analizowany=tablica_ksiazki.lista_podstron_woluminu[nazwa_artykulu]; return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany; else return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki; end; end; local function __FUNKCJA(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) if(not czy_artykul_korzystany)then if(self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni and self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu and self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu and self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu)then if((self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni==nazwa_przestrzeni)and(self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu==nazwa_przestrzeni_ksiazki)and(self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu==nazwa_ksiazki)and(self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu==nazwa_artykulu))then return 0,nil,nil,nil,nil,nil,self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron,false; else if(self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci)then self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=true; end; end; else return nil; end; end; if(self.tabela_listy_danych_analizy_ksiazki)then if(self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron)then local tabela_przestrzeni=self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni]; if(tabela_przestrzeni)then local tabela_przestrzeni_ksiazki=tabela_przestrzeni[nazwa_przestrzeni_ksiazki]; if(tabela_przestrzeni_ksiazki)then local tabela_ksiazka=tabela_przestrzeni_ksiazki[nazwa_ksiazki]; if(tabela_ksiazka)then local lista_artykolow=tabela_ksiazka.lista_podstron_woluminu; if(lista_artykolow)then local tabela_artykul=lista_artykolow[nazwa_artykulu]; if(tabela_artykul)then local dane_zebrane_ze_stron=tabela_artykul.dane_zebrane_ze_stron; return 0,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni,dane_zebrane_ze_stron,true; end; end; end; end; end; else return nil; end; else return nil; end; return true; end; local nazwy_modul=require("Module:Nazwy"); local wartosc_wyniku,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni,dane_zebrane_ze_stron,czy_inna=__FUNKCJA(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); local function StronaSubstFunkcja(tabela_artykul,spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) if((czy_szablon_pudelkowy_strony_zbiorczej)and(not czy_artykul_korzystany)and(tabela_artykul)and(not tabela_artykul.strona_zbiorcza))then --local nazwa_modulu=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); local stronicowyparser_stronasubst_modul=require("Module:StronicowyParser/StronaSubst"); local TakFun=function(frame) return "tak";end;local NieFun=function(frame) return "";end; tabela_artykul.strona_zbiorcza=stronicowyparser_stronasubst_modul.AnalizaStronaSubst(self.tabela_listy_danych_analizy_ksiazki,spis,nil,TakFun,NieFun,nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end; end; if(not wartosc_wyniku)then return wartosc_wyniku,dane_zebrane_ze_stron,czy_inna; elseif((wartosc_wyniku==0)and(tabela_artykul))then StronaSubstFunkcja(tabela_artykul,tabela_ksiazka.spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return wartosc_wyniku,dane_zebrane_ze_stron,czy_inna; end; ---- local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); if((nazwa_przestrzeni~=nazwy_np_modul.Main) and(nazwa_przestrzeni~=nazwy_np_modul.Wikijunior) and((nazwa_przestrzeni~=nazwy_np_modul.User)or(not mw.ustring.match(nazwa_przestrzeni_ksiazki,"^([^/]+)$"))) and((nazwa_przestrzeni~=nazwy_np_modul.Wikibooks)or(not mw.ustring.match(nazwa_przestrzeni_ksiazki,"^%s*[Bb]rudnopis/([^/]+)$"))) )then stronicowyparser_problemy_modul.DodawanieProblemowegoElementuDoTablicy(self,"strony poza zakresem obsługiwanym",nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); end; ---- local tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); local parametry_modul=require("Module:Parametry"); local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); ---- local tekst_rozwiniety_calego_artykulu_ref=nil; local tablica_analizy_obiektow_strony_dany_modul_ref=nil; local tablica_danych_parametrow_szablonu_strony_ref=nil; ---- local function InneInformacjePrzebneDoAnalizowanejKsiazki() if(not (stronicowyparser_problemy_modul.CzyJestTakiElementTabeliProblemu(self,"strony poza zakresem obsługiwanym",nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki)))then if((nazwa_przestrzeni)and(nazwa_przestrzeni_ksiazki)and(nazwa_ksiazki))then if(czy_artykul_korzystany)then if(not self.tabela_listy_danych_analizy_ksiazki["CzyArtykułKsiążki"])then self.tabela_listy_danych_analizy_ksiazki["CzyArtykułKsiążki"]="tak";end; end; local czy_ksiazka_istnieje_w_tablicy=((tablica_ksiazki)and(tablica_ksiazki.czy_spis_analizowano))and true or false; if(not czy_ksiazka_istnieje_w_tablicy)then tablica_ksiazki.czy_spis_analizowano=true; local stronicowyparser_spistresci_modul=require("Module:StronicowyParser/SpisTreści"); local nazwa_przestrzeni_strona_temp,nazwa_przestrzeni_ksiazki_strona_temp,nazwa_ksiazki_strona_temp; local tabela_artykulow,tabela_licencji_spisu_tresci,nazwa_glownego_spisu,tab_inne_spisy,dodatkowe_artykuly,adres_ksiazki_glownego_spisu_tresci=stronicowyparser_spistresci_modul.ZbieranieInformacjiSpisuRzeczyWoluminuEwentualnieWedleAutonawigacji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,czy_artykul_korzystany,function(nazwa_przestrzeni_strona,nazwa_przestrzeni_ksiazki_strona,nazwa_ksiazki_strona) local tablica_przestrzeni_strona=self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni_strona]; if(tablica_przestrzeni_strona)then local tablica_przestrzeni_ksiazki_strona=tablica_przestrzeni_strona[nazwa_przestrzeni_ksiazki_strona]; if(tablica_przestrzeni_ksiazki_strona)then local tablica_ksiazki_strona=tablica_przestrzeni_ksiazki_strona[nazwa_ksiazki_strona]; if(tablica_ksiazki_strona)then if(tablica_ksiazki_strona.spis)then nazwa_przestrzeni_strona_temp,nazwa_przestrzeni_ksiazki_strona_temp,nazwa_ksiazki_strona_temp=nazwa_przestrzeni_strona,nazwa_przestrzeni_ksiazki_strona,nazwa_ksiazki_strona; tablica_ksiazki.spis=tablica_ksiazki_strona.spis; tablica_ksiazki.licencja=tablica_ksiazki_strona.licencja; tablica_ksiazki.nazwa_bazowego_spisu=tablica_ksiazki_strona.nazwa_bazowego_spisu; tablica_ksiazki.tab_inne_spisy=tablica_ksiazki_strona.tab_inne_spisy; tablica_ksiazki.dodatkowe_strony_woluminu=tablica_ksiazki_strona.dodatkowe_strony_woluminu; tablica_ksiazki.adres_woluminu_bazowego_spisu_rzeczy=tablica_ksiazki_strona.adres_woluminu_bazowego_spisu_rzeczy; tablica_ksiazki.referencja_do_nowej_formy_spisu={tablica_przestrzeni_strona,tablica_przestrzeni_ksiazki_strona,tablica_ksiazki_strona,}; return 1; end; end; end end; end,function(tekst_rozwiniety_calego_artykulu_ref_spis,nazwa_przestrzeni_ref_spis,nazwa_przestrzeni_ksiazki_ref_spis,nazwa_ksiazki_ref_spis,nazwa_artykulu_ref_spis,tablica_analizy_obiektow_strony_dany_modul_ref_spis,tablica_danych_parametrow_szablonu_strony_ref_spis) ---- if((nazwa_przestrzeni==nazwa_przestrzeni_ref_spis)and(nazwa_przestrzeni_ksiazki==nazwa_przestrzeni_ksiazki_ref_spis)and(nazwa_ksiazki==nazwa_ksiazki_ref_spis)and(nazwa_artykulu==nazwa_artykulu_ref_spis))then tekst_rozwiniety_calego_artykulu_ref=tekst_rozwiniety_calego_artykulu_ref_spis; local parametry_modul=require("Module:Parametry"); tablica_analizy_obiektow_strony_dany_modul_ref=parametry_modul["KopiujRekurencyjnieTabelęElementów"](tablica_analizy_obiektow_strony_dany_modul_ref_spis); tablica_danych_parametrow_szablonu_strony_ref=parametry_modul["KopiujRekurencyjnieTabelęElementów"](tablica_danych_parametrow_szablonu_strony_ref_spis); end; ---- end); local function __FUNKCJA_SPISU(tablica_ksiazki,czy_podac_adres) tablica_ksiazki.spis=tabela_artykulow; if(czy_artykul_korzystany)then tablica_ksiazki.licencja=tabela_licencji_spisu_tresci; end; tablica_ksiazki.nazwa_bazowego_spisu=nazwa_glownego_spisu; tablica_ksiazki.tab_inne_spisy=tab_inne_spisy; tablica_ksiazki.dodatkowe_strony_woluminu=dodatkowe_artykuly; tablica_ksiazki.adres_woluminu_bazowego_spisu_rzeczy=czy_podac_adres and adres_ksiazki_glownego_spisu_tresci or nil; end; if(tabela_artykulow==0)then if(czy_artykul_korzystany)then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"korzystana strona główna nie istnieje"); else stronicowyparser_problemy_modul.DodawanieProblemowegoElementuDoTablicy(self,"dołączone strony główne nie istnieją",nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); end; elseif(tabela_artykulow)then if(parametry_modul.TypeTable(tabela_artykulow))then if(adres_ksiazki_glownego_spisu_tresci)then __FUNKCJA_SPISU(tablica_ksiazki,true); local tablica_ksiazki_stara=tablica_ksiazki; local artykul,kod_wyniku=stronicowyparser_potrzebne_modul.OdpowiednikNaPrzemianArtykularnychStronWoluminu(tabela_artykulow,nazwa_glownego_spisu,tab_inne_spisy,dodatkowe_artykuly,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,true); local nazwa_przestrzeni=adres_ksiazki_glownego_spisu_tresci[1]; local nazwa_przestrzeni_ksiazki=adres_ksiazki_glownego_spisu_tresci[2]; local nazwa_ksiazki=adres_ksiazki_glownego_spisu_tresci[3]; if((kod_wyniku==1)or(kod_wyniku==4))then local wartosc_wyniku,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni=__FUNKCJA(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,artykul); if(not wartosc_wyniku)then return wartosc_wyniku,true; elseif((wartosc_wyniku==0)and(tabela_artykul))then local nazwa_artykulu=artykul; StronaSubstFunkcja(tabela_artykul,tabela_ksiazka.spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return wartosc_wyniku,true; end; local tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni ,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,artykul); tablica_ksiazki_stara.referencja_do_nowej_formy_spisu={tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,}; __FUNKCJA_SPISU(tablica_ksiazki,false); return nil,nil,artykul,kod_wyniku; elseif(kod_wyniku==2)then local tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,artykul); tablica_ksiazki_stara.referencja_do_nowej_formy_spisu={tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,}; __FUNKCJA_SPISU(tablica_ksiazki,false); return nil,nil,artykul,kod_wyniku; elseif(kod_wyniku==3)then local tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nil); tablica_ksiazki_stara.referencja_do_nowej_formy_spisu={tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,}; __FUNKCJA_SPISU(tablica_ksiazki,false); return nil,nil,artykul,kod_wyniku; end; else __FUNKCJA_SPISU(tablica_ksiazki,false); end; elseif(tabela_artykulow~=1)then local wartosc_wyniku,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni=__FUNKCJA(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); if(not wartosc_wyniku)then return wartosc_wyniku,true; elseif((wartosc_wyniku==0)and(tabela_artykul))then StronaSubstFunkcja(tabela_artykul,tabela_ksiazka.spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return wartosc_wyniku,true; end; end; else if(czy_artykul_korzystany)then if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"brak spisów treści do korzystanych książek na ich stronach głównych"))then if(((self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu=="")and(nazwa_artykulu~=""))or(self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu~=""))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"brak spisów treści do korzystanych książek na ich stronach głównych"); end; end; else stronicowyparser_problemy_modul.DodawanieProblemowegoElementuDoTablicy(self,"brak spisów treści do dołączonych książek na ich stronach głównych",nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); end; end; end; end; end; end; ---- local wartosc_wyniku,wynik_bledu,artykul_bazowy,kod_wyniku_bazowy=InneInformacjePrzebneDoAnalizowanejKsiazki(); if(wynik_bledu)then return wartosc_wyniku;end; local kod_wyniku_przekierowan=kod_wyniku_bazowy; ---- --if((not tablica_przestrzeni)or(not tablica_przestrzeni_ksiazki)or(not tablica_ksiazki)or(not artykul_analizowany))then -- tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); --end; ---- if(tablica_ksiazki.adres_woluminu_bazowego_spisu_rzeczy)and((kod_wyniku_bazowy==1)or(kod_wyniku_bazowy==4))then ---- nazwa_przestrzeni=tablica_ksiazki.adres_woluminu_bazowego_spisu_rzeczy[1]; nazwa_przestrzeni_ksiazki=tablica_ksiazki.adres_woluminu_bazowego_spisu_rzeczy[2]; nazwa_ksiazki=tablica_ksiazki.adres_woluminu_bazowego_spisu_rzeczy[3]; nazwa_artykulu=artykul_bazowy; ---- tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki=tablica_ksiazki.referencja_do_nowej_formy_spisu[1],tablica_ksiazki.referencja_do_nowej_formy_spisu[2],tablica_ksiazki.referencja_do_nowej_formy_spisu[3]; end; local tabela_artykulow=tablica_ksiazki.spis; if(tabela_artykulow)then local nazwa_glownego_spisu=tablica_ksiazki.nazwa_bazowego_spisu; local tab_inne_spisy=tablica_ksiazki.tab_inne_spisy; local dodatkowe_artykuly=tablica_ksiazki.dodatkowe_strony_woluminu local artykul,kod_wyniku=stronicowyparser_potrzebne_modul.OdpowiednikNaPrzemianArtykularnychStronWoluminu(tabela_artykulow,nazwa_glownego_spisu,tab_inne_spisy,dodatkowe_artykuly,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,false); if(kod_wyniku==1)then nazwa_artykulu=artykul; local wartosc_wyniku,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni=__FUNKCJA(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); if(not wartosc_wyniku)then return wartosc_wyniku; elseif((wartosc_wyniku==0)and(tabela_artykul))then StronaSubstFunkcja(tabela_artykul,tabela_ksiazka.spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return wartosc_wyniku; end; tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); elseif(kod_wyniku==2)then local nazwa_artykulu=artykul; local tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end; kod_wyniku_przekierowan=kod_wyniku_przekierowan or kod_wyniku; end; local nazwa_modulu=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); local PrzekierownieAwaryjne=function() if((not kod_wyniku_przekierowan)or(kod_wyniku_bazowy==4))then --local artykul2,kod_wyniku2=stronicowyparser_potrzebne_modul.OdpowiednikNaPrzemianArtykularnychStronWoluminu(tabela_artykulow,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,true); local techniczne_modul=require("Module:Techniczne"); local strona=techniczne_modul.PrzekierowanieDoStrony(nazwa_modulu); if(strona)then if(strona~=nazwa_modulu)then ---- local tabela_nazw={}; nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](strona,tabela_nazw); nazwa_przestrzeni_ksiazki=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"](strona,tabela_nazw); nazwa_ksiazki=((nazwa_przestrzeni_ksiazki~="") and nazwy_modul["SUBNAZWAKSIĄŻKI"](strona,tabela_nazw) or nazwy_modul["NAZWAKSIĄŻKI"](strona,tabela_nazw)); nazwa_artykulu=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](strona,tabela_nazwa); local wartosc_wyniku,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni=__FUNKCJA(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); if(not wartosc_wyniku)then return wartosc_wyniku; elseif((wartosc_wyniku==0)and(tabela_artykul))then StronaSubstFunkcja(tabela_artykul,tabela_ksiazka.spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return wartosc_wyniku; end; tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); nazwa_modulu=strona; else return 0; end; end; end; end; local wynik=PrzekierownieAwaryjne(); if(czy_artykul_korzystany)then self.nazwa_modulu_biezaca=nazwa_modulu; end; if(wynik)then return wynik;end; ---- if(czy_artykul_korzystany)then if((not self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni)and(not self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu)and(not self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu)and(not self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu))then self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni=nazwa_przestrzeni; self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu=nazwa_przestrzeni_ksiazki; self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu=nazwa_ksiazki; self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu=nazwa_artykulu; end; end; local nazwa_modulu_aktualna_czy_biezaca=self.tabela_listy_danych_analizy_ksiazki.alternatywna and nazwy_modul["NazwaModułu"](self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_przestrzeni,self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_przestrzeni_ksiazki,self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_ksiazki,self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_artykulu) or nazwa_modulu; -- przydzielanie tablicy if(czy_artykul_korzystany)then artykul_analizowany.artykul_biezacy=true; tablica_ksiazki.ksiazka_analizowana=true; end; --koniec --local iterator=mw.ustring.gmatch(tekst_rozwiniety_calego_artykulu,"{{[^{}]-}}"); if(not tablica_zmiennych)then tablica_zmiennych={};end; if(not tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2)then tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2={};end; local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty"); for _,element_w_tablicy_obiekt in pairs(stronicowyparser_obiekty_modul.tablica_obiektowych_form)do local CzyLink=element_w_tablicy_obiekt.CzyLink; local CzyNum=element_w_tablicy_obiekt.CzyNum; local wartosc=element_w_tablicy_obiekt[1]; tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2[wartosc]={CzyLink=CzyLink,CzyNum=CzyNum,}; if(czy_artykul_korzystany)then tablica_zmiennych.linkobiekt[wartosc]={CzyLink=CzyLink,CzyNum=CzyNum;};end; end; local function StronaZbiorcza() if(czy_artykul_korzystany)then local stronicowyparser_stronasubst_modul=require("Module:StronicowyParser/StronaSubst"); local TakFun=function(frame) return true;end;local NieFun=function(frame) return nil;end; local wynik=stronicowyparser_stronasubst_modul.AnalizaStronaSubst(self.tabela_listy_danych_analizy_ksiazki,tablica_ksiazki.spis,nil,TakFun,NieFun,nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); artykul_analizowany.strona_zbiorcza=(wynik and "tak" or ""); return wynik; end; return nil; end; local strona_zbiorcza=StronaZbiorcza(); local pelna_nazwa_ksiazki=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,""); local stronicowyparser_tekst_modul=require("Module:StronicowyParser/Tekst"); ---- local tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony; if((not tekst_rozwiniety_calego_artykulu_ref)or(not tablica_analizy_obiektow_strony_dany_modul_ref)or(not tablica_danych_parametrow_szablonu_strony_ref))then tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony=stronicowyparser_tekst_modul.RekurencyjnyZakodowanoSpreparowanyWikikodStrony(self,nazwa_modulu_aktualna_czy_biezaca,(((czy_artykul_korzystany)and(self.tabela_listy_danych_analizy_ksiazki.inna_strona_aktualna_niz_biezaca))and true or nil), nil) else tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony=tekst_rozwiniety_calego_artykulu_ref,tablica_analizy_obiektow_strony_dany_modul_ref,tablica_danych_parametrow_szablonu_strony_ref; end; ---- if(not czy_artykul_korzystany)then if(not tekst_rozwiniety_calego_artykulu)then return 0;end; end; if(czy_artykul_korzystany)then if(not tekst_rozwiniety_calego_artykulu)then if(strona_zbiorcza)then self.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak"; end; return nil; end; end; local szablonowe_modul=require("Module:Szablonowe"); local parametry_modul=require("Module:Parametry"); if((czy_artykul_korzystany)and(self.tabela_listy_danych_analizy_ksiazki.inna_strona_aktualna_niz_biezaca))then local aktualna_nazwa_modulu=self.tabela_listy_danych_analizy_ksiazki.alternatywna and nazwa_modulu_aktualna_czy_biezaca or nazwy_modul["NazwaModułu"](self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_przestrzeni,self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_przestrzeni_ksiazki,self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_ksiazki,self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_artykulu); local tekst=stronicowyparser_tekst_modul.SpreparowanyWikikodStrony(self,aktualna_nazwa_modulu); if(tekst)then local iterator=szablonowe_modul:IteratorSzablonowyZakodowanegoTekstu(tekst,aktualna_nazwa_modulu); local tablica_danych_parametrow_szablonu_strony={}; for szablon,obiekt,kod in iterator do if(obiekt=="SZABLON")then local wynik=szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,aktualna_nazwa_modulu,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) if(stronicowyparser_obiekty_modul.strona_start_ze_spisem_rzeczy_strony[nazwa_szablonu])then self.tabela_listy_danych_analizy_ksiazki.strona_ze_szablonem_strona_start="tak"; self.tabela_listy_danych_analizy_ksiazki.formatowanie="tak"; self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true; return true; elseif(stronicowyparser_obiekty_modul.strona_start[nazwa_szablonu])then self.tabela_listy_danych_analizy_ksiazki.strona_ze_szablonem_strona_start="tak"; self.tabela_listy_danych_analizy_ksiazki.formatowanie=tabela_parametrow_szablonu["formatowanie"]; local boczne_menu=tabela_parametrow_szablonu["boczne menu"] or ""; local spis_tresci=tabela_parametrow_szablonu["spis treści"] or "TOC"; if((parametry_modul.CzyTak(boczne_menu))or(parametry_modul.CzyTak(spis_tresci)))then self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true; end; return true; end; end); if(wynik)then break;end; end; end; end; end; local uzyskano_w_wyniku_parsowania_wywolanie_szablonu; local analiza_stron_korzystanych_zbiorczych=nil; local stronastart=nil; ---- local tablica_obiekty=stronicowyparser_obiekty_modul.obiekty; local szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane_numerowane_obiekty=stronicowyparser_obiekty_modul.szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane.numerowane_obiekty; local format_elementowy_referencji_obiektowy=stronicowyparser_obiekty_modul.format_elementowy_referencji_obiektowy; local szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_napisu_wprowadzenia_tekstu=stronicowyparser_obiekty_modul.szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane.nienumerowane_obiekty_napisu_wprowadzenia_tekstu; local szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_tekstu=stronicowyparser_obiekty_modul.szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane.nienumerowane_obiekty_tekstu; local szablony_wykorzystywane_przez_strony_zbiorcze=stronicowyparser_obiekty_modul.szablony_wykorzystywane_przez_strony_zbiorcze; local format_elementowy_obiektowy=stronicowyparser_obiekty_modul.format_elementowy_obiektowy; local szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_numerowane_obiekty=stronicowyparser_obiekty_modul.szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane.numerowane_obiekty; local szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_naglowka=stronicowyparser_obiekty_modul.szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane.nienumerowane_obiekty_napisu_wprowadzenia_tekstu; local szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_tekstu=stronicowyparser_obiekty_modul.szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane.nienumerowane_obiekty_tekstu; ---- local strona_start=stronicowyparser_obiekty_modul.strona_start; local strona_start_ze_spisem_rzeczy_strony=stronicowyparser_obiekty_modul.strona_start_ze_spisem_rzeczy_strony; local strona_start_inne=stronicowyparser_obiekty_modul.strona_start_inne; local szablony_strony_zbiorczej=stronicowyparser_obiekty_modul.strona_zbiorcza; ---- local tab_szablony=stronicowyparser_obiekty_modul.szablony_stronicowego_parsera.szablony_kontenerowe; local tab_szablony_stronicowe_niekontenerowe=stronicowyparser_obiekty_modul.szablony_stronicowe_niekontenerowe; local tab_szablony_stronicowe_formatowania_tekstu=stronicowyparser_obiekty_modul.szablony_stronicowe_formatowania_tekstu; local tab_szablony_stronicowe_kontenerowe_formatowania_wzorowego=stronicowyparser_obiekty_modul.szablony_stronicowe_kontenerowe_formatowania_wzorowego; ---- local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local tabela_elementow_strony_kodow={}; -- for uzyskano_w_wyniku_parsowania_wywolanie_szablonu,obiekt,kod in iterator do local function AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego(tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,uzyskano_w_wyniku_parsowania_wywolanie_szablonu,obiekt,kod,tab_numer) if(czy_artykul_korzystany)then if(tabela_parametrow_szablonu)then if((not stronastart)and(self.tabela_listy_danych_analizy_ksiazki.formatowanie==nil))then if(strona_start[nazwa_szablonu_wywolania])then self.tabela_listy_danych_analizy_ksiazki.strona_ze_szablonem_strona_start="tak"; self.tabela_listy_danych_analizy_ksiazki.formatowanie=tabela_parametrow_szablonu["formatowanie"]; stronastart=true; local boczne_menu=tabela_parametrow_szablonu["boczne menu"] or ""; local spis_tresci=tabela_parametrow_szablonu["spis treści"] or "TOC"; if((parametry_modul.CzyTak(boczne_menu))or(parametry_modul.CzyTak(spis_tresci)))then self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true; end; return; elseif(strona_start_ze_spisem_rzeczy_strony[nazwa_szablonu_wywolania])then self.tabela_listy_danych_analizy_ksiazki.strona_ze_szablonem_strona_start="tak"; self.tabela_listy_danych_analizy_ksiazki.formatowanie="tak"; self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true; stronastart=true; return; elseif(strona_start_inne[nazwa_szablonu_wywolania])then self.tabela_listy_danych_analizy_ksiazki.strona_ze_szablonem_strona_start="tak"; self.tabela_listy_danych_analizy_ksiazki.formatowanie="tak"; stronastart=true; return; elseif((strona_zbiorcza)and(not analiza_stron_korzystanych_zbiorczych)and(szablony_strony_zbiorczej[nazwa_szablonu_wywolania]))then analiza_stron_korzystanych_zbiorczych=true; local nazwa_przestrzeni=tabela_parametrow_szablonu["nazwa przestrzeni nazw"]; local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"]; if((not parametry_modul.CzyTak(nazwa_prestreni_nazw))and(not parametry_modul.CzyTak(nazwa_jednostki)))then return; end; end; elseif((strona_zbiorcza)and(not analiza_stron_korzystanych_zbiorczych)and(szablony_strony_zbiorczej[nazwa_szablonu_wywolania]))then analiza_stron_korzystanych_zbiorczych=true; local nazwa_przestrzeni=tabela_parametrow_szablonu["nazwa przestrzeni nazw"]; local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"]; if((not parametry_modul.CzyTak(nazwa_przestrzeni))and(not parametry_modul.CzyTak(nazwa_jednostki)))then return; end; end; end; end; local plik=mw.ustring.match(nazwa_szablonu_wywolania,"^:"); if(plik==nil)then if(tabela_parametrow_szablonu)then if(not parametry_modul.CzyTak(tabela_parametrow_szablonu["bez automatu"]))then local czy_wypowiedzenie=(nazwa_szablonu_wywolania=="Wypowiedzenie"); local czy_linkobiekt; local czy_link;local czy_pobierz; local czy_wypowiedzenie_z_parametrami; local czy_linkobiekt_z_parametrami; if(czy_wypowiedzenie)then czy_linkobiekt=false; czy_link=false; czy_pobierz=false; czy_wypowiedzenie_z_parametrami=parametry_modul.CzyTak(tabela_parametrow_szablonu["rodzaj"]); else czy_linkobiekt=(nazwa_szablonu_wywolania=="LinkObiekt"); if(czy_linkobiekt)then czy_link=true; czy_pobierz=false; czy_linkobiekt_z_parametrami=parametry_modul.CzyTak(tabela_parametrow_szablonu["typ"]); else czy_link=mw.ustring.match(nazwa_szablonu_wywolania,"^Link"); czy_pobierz=(not czy_link) and mw.ustring.match(nazwa_szablonu_wywolania,"^Pobierz") or nil; end; end; if((not czy_link)and(not czy_pobierz))then local wartosc_elementu;local numer_uchwytu; if(not czy_wypowiedzenie_z_parametrami) then local tab_wartosc_elementu=szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_numerowane_obiekty[nazwa_szablonu_wywolania]; if(tab_wartosc_elementu)then wartosc_elementu=tab_wartosc_elementu[1]; numer_uchwytu=tab_wartosc_elementu[2]; end; else local rodzaj=tabela_parametrow_szablonu["rodzaj"]; if(rodzaj)then wartosc_elementu=format_elementowy_obiektowy[rodzaj] and rodzaj or nil; if(wartosc_elementu)then numer_uchwytu=tablica_obiekty[5]; end; end; end; if(wartosc_elementu)then local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA) if(czy_artykul_korzystany)then if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then if(uchwyt_obiektu and (uchwyt_obiektu~=""))then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=wartosc_elementu..":"..((uchwyt_obiektu)and uchwyt_obiektu or ""); end; end; end; end; p.RozpatrywanieSzablonuObiektuDoNumeracji(self,tabela_parametrow_szablonu,tablica_zmiennych, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,wartosc_elementu, czy_artykul_korzystany,numer_uchwytu--[[elementy_w_tablicy_obiekty[5]],tab_numer,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie); return; end; elseif(czy_artykul_korzystany)then if(czy_link)then local wartosc_elementu; if(not czy_linkobiekt_z_parametrami)then wartosc_elementu=szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane_numerowane_obiekty[nazwa_szablonu_wywolania]; else local typ=tabela_parametrow_szablonu["typ"]; if(typ)then typ=format_elementowy_referencji_obiektowy[typ] and typ or nil; if(typ)then wartosc_elementu=mw.getContentLanguage():ucfirst(typ); end; end; end; if(wartosc_elementu)then local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA) if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie="Link"..wartosc_elementu..":"..((uchwyt_obiektu)and uchwyt_obiektu or ""); end; end; p.GeneralneLinkowanie(self,obiekt,kod,tablica_zmiennych,tabela_parametrow_szablonu,wartosc_elementu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie); return; else local wartosc_elementu=szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_napisu_wprowadzenia_tekstu[nazwa_szablonu_wywolania]; if(wartosc_elementu)then self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci=true; self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=nil; local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA) if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu_wywolania..":"..((uchwyt_obiektu)and uchwyt_obiektu or ""); end; end; p.GeneralneLinkowanie(self,obiekt,kod,tablica_zmiennych,tabela_parametrow_szablonu,wartosc_elementu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie); self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci=nil; if(not self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone)then self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true; self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=nil; else self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=nil; end; return; end; end; elseif(czy_pobierz)then local wartosc_elementu=szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_tekstu[nazwa_szablonu_wywolania]; if(wartosc_elementu)then local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA) if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu_wywolania..":"..((uchwyt_obiektu)and uchwyt_obiektu or ""); end; end; p.GeneralneLinkowanie(self,obiekt,kod,tablica_zmiennych,tabela_parametrow_szablonu,wartosc_elementu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie,true); return; end; end; end; if(czy_wypowiedzenie)then local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA) if(czy_artykul_korzystany)then if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie="Obiekt:"..((uchwyt_obiektu)and uchwyt_obiektu or ""); end; end; end; p.RozpatrywanieSzablonuObiektuDoNumeracji(self,tabela_parametrow_szablonu,tablica_zmiennych,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,"Obiekt", czy_artykul_korzystany,tablica_obiekty[5],tab_numer,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie); return; elseif(stronicowyparser_obiekty_modul.szablony_stronicowego_parsera.szablony_wprowadzenia_tekstu[nazwa_szablonu_wywolania])then local tab_wartosc_elementu=szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_naglowka[nazwa_szablonu_wywolania]; local wartosc_elementu;local numer_uchwytu; if(tab_wartosc_elementu)then wartosc_elementu=tab_wartosc_elementu[1]; numer_uchwytu=tab_wartosc_elementu[2]; end; local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA) if(czy_artykul_korzystany)then if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then if(uchwyt_obiektu and (uchwyt_obiektu~=""))then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=wartosc_elementu..":"..((uchwyt_obiektu)and uchwyt_obiektu or ""); end; end; end; end; local lista_dwuelementowa=p.RozpatrywanieSzablonuObiektuDoNumeracji(self,tabela_parametrow_szablonu,tablica_zmiennych, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,wartosc_elementu, czy_artykul_korzystany,numer_uchwytu--[[elementy_w_tablicy_obiekty[5]],tab_numer,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie); p.UchwytyZeiBezNumeracji(self,tabela_elementow_strony_kodow,wartosc_elementu,lista_dwuelementowa,kod); if(czy_artykul_korzystany)then self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true; end; return; elseif(stronicowyparser_obiekty_modul.szablony_stronicowego_parsera.szablony_tekstu[nazwa_szablonu_wywolania])then local tab_wartosc_elementu=szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_tekstu[nazwa_szablonu_wywolania]; local wartosc_elementu;local numer_uchwytu; if(tab_wartosc_elementu)then wartosc_elementu=tab_wartosc_elementu[1]; numer_uchwytu=tab_wartosc_elementu[2]; end; local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA) if(czy_artykul_korzystany)then if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then if(uchwyt_obiektu and (uchwyt_obiektu~=""))then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=wartosc_elementu..":"..((uchwyt_obiektu)and uchwyt_obiektu or ""); end; end; end; end; local lista_dwuelementowa=p.RozpatrywanieSzablonuObiektuDoNumeracji(self,tabela_parametrow_szablonu,tablica_zmiennych, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,wartosc_elementu, czy_artykul_korzystany,numer_uchwytu--[[elementy_w_tablicy_obiekty[5]],tab_numer,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie); if(lista_dwuelementowa)then local stronicowyparser_szablonytekstu_modul=require("Module:StronicowyParser/SzablonyTekstu"); local tekst=stronicowyparser_szablonytekstu_modul.ParametrTekstowySzablonuTekstu(tabela_parametrow_szablonu); local bez_preprocess=stronicowyparser_szablonytekstu_modul.SzablonTekstuBezPreProcess(tabela_parametrow_szablonu); local czy_bez_preprocess=parametry_modul.CzyTak(bez_preprocess); if(tekst)then local czy_szablon_wszystko=false; tekst=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(tekst,nil,tablica_analizy_obiektow_strony_dany_modul, function(szablon,obiekt,kod) if(czy_bez_preprocess)then return nil;end; if(obiekt=="SZABLON")then local wynik=szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,nazwa_modulu, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) if( (tab_szablony[nazwa_szablonu]) or(tab_szablony_stronicowe_niekontenerowe[nazwa_szablonu]) or(tab_szablony_stronicowe_formatowania_tekstu[nazwa_szablonu]) or(tab_szablony_stronicowe_kontenerowe_formatowania_wzorowego[nazwa_szablonu]) )then if(not czy_artykul_korzystany)then tabela_parametrow_szablonu["nazwa przestrzeni nazw"]=tabela_parametrow_szablonu["nazwa przestrzeni nazw"] or nazwa_przestrzeni; tabela_parametrow_szablonu["nazwa jednostki"]=tabela_parametrow_szablonu["nazwa jednostki"] or (((nazwa_przestrzeni_ksiazki~="") and (nazwa_przestrzeni_ksiazki.."/") or "")..nazwa_ksiazki..((nazwa_artykulu~="") and ("/"..nazwa_artykulu) or "")) if(self)then local czy_link_lub_pobierz=mw.ustring.match(nazwa_szablonu,"^Link") or mw.ustring.match(nazwa_szablonu,"^Pobierz"); if(czy_link_lub_pobierz)then p.ZbieranieKontenerowychInformacjiReferencji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca); else p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu); end; end; end; return szablonowe_modul.KodSymbolicznySzablonu(nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow,true); end; return nil; end, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ---- instrukcje warunkowe; return szablonowe_modul.KodSymbolicznySzablonu(nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow,true); end, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ---- wywołania ramek Lua w Scribunto return szablonowe_modul.KodSymbolicznySzablonu(nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow,true); end, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ---- tagi szablonowe; return szablonowe_modul.KodSymbolicznySzablonu(nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow,true); end); czy_szablon_wszystko=czy_szablon_wszystko or true; if(wynik)then return wynik;end; elseif(obiekt=="ZMIENNA")then czy_szablon_wszystko=czy_szablon_wszystko or true; local zawartosc=mw.ustring.match(szablon,"^{{{(.*)}}}$"); if(zawartosc)then zawartosc=mw.ustring.gsub(zawartosc,"|","{{!}}"); return "{{(((}}"..zawartosc.."{{)))}}"; end; end; end); if((czy_szablon_wszystko)and(not bez_preprocess))then local frame=mw.getCurrentFrame(); tekst=frame:preprocess(tekst); end; lista_dwuelementowa[2]=tekst; end; --local __metatabelka=getmetatable(tabela_parametrow_szablonu); --if(__metatabelka)then setmetatable(tabela_parametrow_szablonu,nil);end; stronicowyparser_szablonytekstu_modul.DodawanieDoBazyStronySzablonuTekstu(tablica_zmiennych,wartosc_elementu,lista_dwuelementowa,obiekt,kod,tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,czy_artykul_korzystany); end; return; elseif(czy_artykul_korzystany)then if(czy_linkobiekt)then local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA) if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie="LinkObiekt:"..((uchwyt_obiektu)and uchwyt_obiektu or ""); end; end; p.GeneralneLinkowanie(self,obiekt,kod,tablica_zmiennych,tabela_parametrow_szablonu,"Obiekt",nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie); return; else if(stronicowyparser_obiekty_modul.szablony_z_lokalnym_spisem_rzeczy_strony[nazwa_szablonu_wywolania])then self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true; return; elseif(stronicowyparser_obiekty_modul.bez_uchwytow_spis_rzeczy_strony[nazwa_szablonu_wywolania])then self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci=true; self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=nil; local function KtorySzablonMaZwracacKategorie(uchwyt,__FUNKCJA) if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then local nazwa_ksiazki=tabela_parametrow_szablonu["nazwa książki"] or tabela_parametrow_szablonu[2] or ""; local artykul=tabela_parametrow_szablonu["nazwa artykułu"] or tabela_parametrow_szablonu[1] or ""; self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu_wywolania..":"..nazwa_ksiazki..((artykul)and ("/"..artykul) or "") end; end; p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,KtorySzablonMaZwracacKategorie); self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci=nil; if(not self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone)then self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true; self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=nil; else self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=nil; end; return; else local function KtorySzablonMaZwracacKategorie(uchwyt,__FUNKCJA) if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then local nazwy_modul=require("Module:Nazwy"); local nazwa_przestrzeni=tabela_parametrow_szablonu["nazwa przestrzeni nazw"] or ""; local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"] or ""; local nazwa_symulacyjnej_strony=((nazwa_przestrzeni~="") and (nazwa_przestrzeni..":") or "")..nazwa_jednostki; local uchwyt=nazwa_szablonu_wywolania..":"..nazwa_symulacyjnej_strony; self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=uchwyt; end; end; if((stronicowyparser_obiekty_modul.szablony_kontenerowe[nazwa_szablonu_wywolania]) or(szablony_strony_zbiorczej[nazwa_szablonu_wywolania]) )then if(szablony_wykorzystywane_przez_strony_zbiorcze[nazwa_szablonu_wywolania])then p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,true,KtorySzablonMaZwracacKategorie); else p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,nil,KtorySzablonMaZwracacKategorie); end; return; elseif((strona_zbiorcza)and(szablony_strony_zbiorczej[nazwa_szablonu_wywolania]))then p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,true,KtorySzablonMaZwracacKategorie); return; end; end; end; end; end; end; end; end; ---- local function GeneralnaAnalizaSzablonuStronicowegoParsera(uzyskano_w_wyniku_parsowania_wywolanie_szablonu,obiekt,kod,tab_numer) stronicowyparser_potrzebne_modul:AnalizaSzablonuStronicowegoParsera(uzyskano_w_wyniku_parsowania_wywolanie_szablonu,obiekt,kod,tab_numer,nazwa_modulu_aktualna_czy_biezaca,tablica_danych_parametrow_szablonu_strony,AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego); end; local function IterowaniePoElementachTekstu(tekst_rozwiniety_calego_artykulu,tab_numer) local iterator=szablonowe_modul:IteratorSzablonowyZakodowanegoTekstu(tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul); for uzyskano_w_wyniku_parsowania_wywolanie_szablonu,obiekt,kod in iterator do GeneralnaAnalizaSzablonuStronicowegoParsera(uzyskano_w_wyniku_parsowania_wywolanie_szablonu,obiekt,kod,tab_numer); end; end; IterowaniePoElementachTekstu(tekst_rozwiniety_calego_artykulu); ---- local tablica_danych_nazwy_artykulu=tablica_ksiazki.lista_podstron_woluminu[nazwa_artykulu] or {}; tablica_danych_nazwy_artykulu.uchwyty_i_numeracje=tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2; ---- local wiki_modul=require("Module:Wiki"); tablica_danych_nazwy_artykulu.link_wikidane={wiki_modul.KodyKlasStronyNaDanejWiki{["strona"]=nazwa_modulu_aktualna_czy_biezaca,["nagłówek"]=true,["aktywny"]=true,},}; ---- if(czy_artykul_korzystany)then if(analiza_stron_korzystanych_zbiorczych)then local stronicowyparser_stronasubst_modul=require("Module:StronicowyParser/StronaSubst"); tekst_rozwiniety_calego_artykulu=stronicowyparser_stronasubst_modul.LiczOperacjeStronZbiorczych(self,tekst_rozwiniety_calego_artykulu,tablica_ksiazki.spis,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); end; end; local strona; if(czy_artykul_korzystany)then strona="";else strona=nazwa_modulu;end; ---- if(czy_artykul_korzystany)then local stronicowyparser_szablonytekstu_modul=require("Module:StronicowyParser/SzablonyTekstu"); stronicowyparser_szablonytekstu_modul.UstawPobierzKorzystanie(tablica_zmiennych); tekst_rozwiniety_calego_artykulu=stronicowyparser_szablonytekstu_modul.AktualizowanieSzablonowychTekstowychKompletowaniaInformacjiTekstu(tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tablica_zmiennych,IterowaniePoElementachTekstu) or tekst_rozwiniety_calego_artykulu; end; ---- local toc; if(((czy_artykul_korzystany)and(self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane)) or((not czy_artykul_korzystany)and(self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone)))then ---- local tablica_obiektow_strony_danych_kodow_specjalnych_modul=nil; ---- tekst_rozwiniety_calego_artykulu,tablica_obiektow_strony_danych_kodow_specjalnych_modul=szablonowe_modul:KodowanieInaczejZakodowanychNormKodowychTekstuWedleJegoTablicyKodowania(tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,false); ---- local function KtorySzablonMaZwracacKategorieNaglowek(numeracja_aktualna,nazwa_szablonu) if(czy_artykul_korzystany)then if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"powtórka nagłowek w stronie korzystanej"))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"powtórka nagłowek w stronie korzystanej"); if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu..":"..(numeracja_aktualna or ""); end; end; else stronicowyparser_problemy_modul.DodawanieProblemowegoElementuDoTablicy(self,"powtórka nagłówek w stronie dołączonej",nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki) if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu..":"..(numeracja_aktualna or ""); end; end; end; local function KtorySzablonMaZwracacKategorieTekst(numeracja_aktualna,nazwa_szablonu) if(czy_artykul_korzystany)then if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"nagłówek w tekście rozdziału w stronie korzystanej"))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"nagłówek w tekście rozdziału w stronie korzystanej"); if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu..":"..(numeracja_aktualna or ""); end; end; else stronicowyparser_problemy_modul.DodawanieProblemowegoElementuDoTablicy(self,"nagłowek w tekście rozdziału w stronie dołączonej",nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu..":"..(numeracja_aktualna or ""); end; end; end; local function CzyJestTakiProblemJakoElementTablicy() return stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"nagłówek w tekście rozdziału w stronie korzystanej"); end; local nazwa_naglowka=stronicowyparser_obiekty_modul.nazwa_szablonu_wprowadzenia_tekstu; local stronicowyparser_glownafunkcjazbieraniadanych_modul=require("Module:StronicowyParser/GłównaFunkcjaZbieraniaDanychStron"); local tablica_naglowka_obiekty=tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2[nazwa_naglowka]; tablica_naglowka_obiekty.uchwyty_bez_numeracji={}; local toc=stronicowyparser_glownafunkcjazbieraniadanych_modul.SpisRzeczyWedlePodanegoTekstu(self,tekst_rozwiniety_calego_artykulu,strona, czy_artykul_korzystany,nil,tablica_naglowka_obiekty.uchwyty_bez_numeracji, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki, nazwa_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tablica_obiektow_strony_danych_kodow_specjalnych_modul,{KtorySzablonMaZwracacKategorieNaglowek,KtorySzablonMaZwracacKategorieTekst,CzyJestTakiProblemJakoElementTablicy},nil,tabela_elementow_strony_kodow); tablica_danych_nazwy_artykulu.TOC=toc; end; StronaSubstFunkcja(tablica_danych_nazwy_artykulu,tablica_ksiazki.spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); if(czy_artykul_korzystany)then self.tabela_listy_danych_analizy_ksiazki.link_wikidane=tablica_danych_nazwy_artykulu.link_wikidane; self.tabela_listy_danych_analizy_ksiazki.tablica_aktualnego_artykulu=tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2; self.tabela_listy_danych_analizy_ksiazki.tablica_aktualnej_przestrzeni_nazw=self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni]; self.tabela_listy_danych_analizy_ksiazki.tablica_ksiazek_w_danej_przestrzeni_nazw_ksiazki=self.tabela_listy_danych_analizy_ksiazki.tablica_aktualnej_przestrzeni_nazw[nazwa_przestrzeni_ksiazki]; self.tabela_listy_danych_analizy_ksiazki.tablica_aktualnej_ksiazki=self.tabela_listy_danych_analizy_ksiazki.tablica_ksiazek_w_danej_przestrzeni_nazw_ksiazki[nazwa_ksiazki]; --self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron=tablica_zmiennych; end; if(not czy_artykul_korzystany)then tablica_danych_nazwy_artykulu.dane_zebrane_ze_stron=tablica_zmiennych; if(not self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron_lista)then self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron_lista={};end; table.insert(self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron_lista,tablica_danych_nazwy_artykulu); else local dane_zebrane_ze_stron_lista=self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron_lista; if(dane_zebrane_ze_stron_lista)then for _,tablica_danych_nazwy_artykulu in ipairs(dane_zebrane_ze_stron_lista)do tablica_danych_nazwy_artykulu.dane_zebrane_ze_stron=nil; end; end; tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane=nil; end; return self.tabela_listy_danych_analizy_ksiazki,tablica_zmiennych,true; end; return p; 6ztuyz9n1j47jic0slvpsf9h5o9098w 547075 547074 2026-06-20T20:31:51Z Persino 2851 547075 Scribunto text/plain local p={}; function p.UchwytyZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,lista_dwuelementowa,kod) if(lista_dwuelementowa)then local tab_obiekt=tabela_elementow_strony_kodow[nazwa_obiektu]; if(not tab_obiekt)then tabela_elementow_strony_kodow[nazwa_obiektu]={}; tab_obiekt=tabela_elementow_strony_kodow[nazwa_obiektu]; end; local uchwyty_bez_numeracji=tab_obiekt.uchwyty_bez_numeracji; if(not uchwyty_bez_numeracji)then tab_obiekt.uchwyty_bez_numeracji={}; uchwyty_bez_numeracji=tab_obiekt.uchwyty_bez_numeracji; end; uchwyty_bez_numeracji[kod]=lista_dwuelementowa; end; end; function p.WydobywanieUchwytuZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,kod) local tab_obiekt=tabela_elementow_strony_kodow[nazwa_obiektu]; if(not tab_obiekt)then return nil;end; local uchwyty_bez_numeracji=tab_obiekt.uchwyty_bez_numeracji; if(uchwyty_bez_numeracji)then return uchwyty_bez_numeracji[kod]; end; end; function p.RozpatrywanieElementuUchwytuNumeracji(self,kod_uchwytu,tab_numer,tablica_zmiennych,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, nazwa_obiektu, czy_artykul_korzystany,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); kod_uchwytu=stronicowyparser_potrzebne_modul.DekodowanieNazwySzablonu(kod_uchwytu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,true) or kod_uchwytu; local html_modul=require("Module:Html"); kod_uchwytu=html_modul.DecodeHtml(kod_uchwytu,true); if(kod_uchwytu~="")then KtorySzablonMaZwracacKategorie(kod_uchwytu); local lista_dwuelementowa={}; lista_dwuelementowa[1]=kod_uchwytu; local parametry_modul=require("Module:Parametry"); if((not tablica_zmiennych.sprawdzenie_dokonane_obiektu)and(not parametry_modul["CzySąElementyNumerowaneTablicy"](tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2[nazwa_obiektu])))then local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); if(not (stronicowyparser_problemy_modul.CzyJestTakiElementTabeliProblemu(self,"strony poza zakresem obsługiwanym",nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki)))then p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki,nazwa_artykulu); end; tablica_zmiennych.sprawdzenie_dokonane_obiektu=true; end; if(tab_numer)then tab_numer[nazwa_obiektu]=tab_numer[nazwa_obiektu]+1; local numer=tab_numer[nazwa_obiektu]; table.insert(tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2[nazwa_obiektu],numer,lista_dwuelementowa); else table.insert(tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2[nazwa_obiektu],lista_dwuelementowa); end; return lista_dwuelementowa; end; end; function p.RozpatrywanieSzablonuObiektuDoNumeracji(self,tabela_parametrow_szablonu,tablica_zmiennych,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,nazwa_obiektu, czy_artykul_korzystany,numer_numeracji,tab_numer,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie) local kod_uchwytu=tabela_parametrow_szablonu["uchwyt"] or tabela_parametrow_szablonu[numer_numeracji]; if(kod_uchwytu)then local lista_dwuelementowa=p.RozpatrywanieElementuUchwytuNumeracji(self,kod_uchwytu,tab_numer,tablica_zmiennych, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, nazwa_obiektu, czy_artykul_korzystany,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie); return lista_dwuelementowa; end; end; function p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) if((nazwa_przestrzeni)and(nazwa_przestrzeni_ksiazki)and(nazwa_ksiazki))then if(nazwa_artykulu=="")then return;end; local czy_element_wystepuje_w_tablicy=false; local tablica_przestrzeni_wszystkiego=self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron; if(tablica_przestrzeni_wszystkiego)then local tabela_przestrzeni_ksiazek=tablica_przestrzeni_wszystkiego[nazwa_przestrzeni]; if(tabela_przestrzeni_ksiazek)then local tabela_ksiazek=tabela_przestrzeni_ksiazek[nazwa_przestrzeni_ksiazki] if(tabela_ksiazek)then local tab_ksiazki=tabela_ksiazek[nazwa_ksiazki]; if(tab_ksiazki)then if(tab_ksiazki.spis)then --czy_lista_niepusta=true; for _,tab_value1 in ipairs(tab_ksiazki.spis)do if(tab_value1[2])then for _,nazwa_artykulu1 in ipairs(tab_value1[2])do if(nazwa_artykulu1[1]==nazwa_artykulu)then czy_element_wystepuje_w_tablicy=true; break; end; end; end; if(czy_element_wystepuje_w_tablicy)then break;end; end; end; end; end; end; end; if(not czy_element_wystepuje_w_tablicy)then local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); if((self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni~=nazwa_przestrzeni) or(self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu~=nazwa_przestrzeni_ksiazki) or(self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu~=nazwa_ksiazki) or(self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu~=nazwa_artykulu))then if(not (stronicowyparser_problemy_modul.CzyJestTakiElementTabeliProblemu(self,"strony poza zakresem obsługiwanym",nazwa_przestrzeni,nazwa_przestrzeni_ksiazki, nazwa_ksiazki)))then stronicowyparser_problemy_modul.DodawanieProblemowegoElementuDoTablicy(self,"brak spisów treści do dołączonych stron",nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); end; elseif(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"brak spisu treści do korzystanych stron"))then if(not (stronicowyparser_problemy_modul.CzyJestTakiElementTabeliProblemu(self,"strony poza zakresem obsługiwanym",nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki)))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"brak spisu treści do korzystanych stron"); end; end; end; end; end; function p.PusteParametryReferencji(self, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu) local czy_ksiazka_z_tylko_odstepami_lub_pusty=(nazwa_ksiazki)and (nazwa_ksiazki=="") or nil; local czy_artykul_z_tylko_odstepami_lub_pusty=(nazwa_artykulu)and (nazwa_artykulu=="") or nil; local czy_uchwyt_obiektu_z_tylko_odstepami_lub_pusty=(uchwyt_obiektu)and (uchwyt_obiektu=="") or nil; ---- local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); ---- if(czy_uchwyt_obiektu_z_tylko_odstepami_lub_pusty)then if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,1))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,1); end; end; if(czy_artykul_z_tylko_odstepami_lub_pusty)then if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,2))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,2); end; end; if(czy_ksiazka_z_tylko_odstepami_lub_pusty)then if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,3))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,3); end; end; end; function p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,KtorySzablonMaZwracacKategorie,czy_inna_wartosc_tekst) local nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu=p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,self.nazwa_modulu_biezaca,((not czy_inna_wartosc_tekst)and true or false)); --local ksiazkowe_modul=require("Module:Książkowe"); --pelna_nazwa_ksiazki=pelna_nazwa_ksiazki or ksiazkowe_modul["PełnaNazwaStronicowejKsiążki"](); --nazwa_artykulu=nazwa_artykulu or ksiazkowe_modul["NazwaArtykułuKsiążki"](); if((nazwa_przestrzeni)or(nazwa_przestrzeni_ksiazki)or(nazwa_ksiazki)or(nazwa_artykulu))then local tabela_nazw={}; local ksiazkowe_modul=require("Module:Książkowe"); local nazwa_przestrzeni=nazwa_przestrzeni or ksiazkowe_modul["NazwaPrzestrzeni"](nil,tabela_nazw); local nazwa_przestrzeni_ksiazki=nazwa_przestrzeni_ksiazki or ksiazkowe_modul["NazwaPrzestrzeniKsiążki"](nil,tabela_nazw); local nazwa_ksiazki=nazwa_ksiazki or ksiazkowe_modul["NazwaTytułuKsiążki"](nil,tabela_nazw); local nazwa_artykulu=nazwa_artykulu or ksiazkowe_modul["NazwaArtykułuKsiążki"](nil,tabela_nazw); if(KtorySzablonMaZwracacKategorie)then KtorySzablonMaZwracacKategorie();end; local tabela_listy_danych_analizy_ksiazki=p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, false); end; end; function p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,czy_szablon_pudelkowy_strony_zbiorczej,KtorySzablonMaZwracacKategorie) local nazwa_przestrzeni=tabela_parametrow_szablonu["nazwa przestrzeni nazw"]; local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"]; if((not nazwa_przestrzeni)and(not nazwa_jednostki))then return;end; local parametry_modul=require("Module:Parametry"); if((nazwa_jednostki) and (nazwa_jednostki==""))then return;end; local szablonowe_modul=require("Module:Szablonowe"); if((nazwa_jednostki and mw.ustring.match(nazwa_jednostki,szablonowe_modul.NormaWzoruKodowaniaTekstu())) or (nazwa_przestrzeni and mw.ustring.match(nazwa_przestrzeni,szablonowe_modul.NormaWzoruKodowaniaTekstu())) )then return;end; local nazwy_modul=require("Module:Nazwy"); local ksiazkowe_modul=require("Module:Książkowe"); local html_modul=require("Module:Html"); if(nazwa_jednostki)then nazwa_jednostki=html_modul.DecodeHtml(nazwa_jednostki,true); end; local tabela_nazw_art={}; local nazwa_jednostki=(nazwa_jednostki and mw.ustring.gsub(nazwa_jednostki,"^([^#]*)#(.*)$","%1") or nil ) or ksiazkowe_modul["NazwaArtykułu"](nil,tabela_nazw_art); if(nazwa_przestrzeni)then nazwa_przestrzeni=html_modul.DecodeHtml(nazwa_przestrzeni,true); end; local nazwa_przestrzeni=nazwa_przestrzeni or ksiazkowe_modul["NazwaPrzestrzeni"](nil,tabela_nazw_art); local strona=((nazwa_przestrzeni~="") and (nazwa_przestrzeni..":") or "")..nazwa_jednostki; local techniczne_modul=require("Module:Techniczne"); strona=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=strona,[2]=self.nazwa_modulu_biezaca,}; --strona=ksiazkowe_modul["PEŁNANAZWASTRONY"](strona); local tabela_nazw={}; local nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](strona,tabela_nazw); local nazwa_przestrzeni_ksiazki=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"](strona,tabela_nazw); local nazwa_ksiazki=((nazwa_przestrzeni_ksiazki~="") and (nazwy_modul["SUBNAZWAKSIĄŻKI"](strona,tabela_nazw)) or (nazwy_modul["NAZWAKSIĄŻKI"](strona,tabela_nazw))); local nazwa_artykulu=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](strona,tabela_nazw); if(KtorySzablonMaZwracacKategorie)then KtorySzablonMaZwracacKategorie();end; local tabela_listy_danych_analizy_ksiazki=p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, false,nil,czy_szablon_pudelkowy_strony_zbiorczej); end; function p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,nazwa_aktualna,bezuchwytowe) local nazwa_artykulu=tabela_parametrow_szablonu["nazwa artykułu"] or tabela_parametrow_szablonu[bezuchwytowe and 1 or 2]; local pelna_nazwa_ksiazki=tabela_parametrow_szablonu["nazwa książki"] or tabela_parametrow_szablonu[bezuchwytowe and 2 or 3]; local parametry_modul=require("Module:Parametry"); local nazwy_modul=require("Module:Nazwy"); local html_modul=require("Module:Html"); if(nazwa_artykulu)then nazwa_artykulu=html_modul.DecodeHtml(nazwa_artykulu,true); local techniczne_modul=require("Module:Techniczne"); nazwa_artykulu=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=nazwa_artykulu,[2]="",}; end; local nazwa_ksiazki;local nazwa_przestrzeni_ksiazki;local nazwa_przestrzeni; if(pelna_nazwa_ksiazki)then pelna_nazwa_ksiazki=html_modul.DecodeHtml(pelna_nazwa_ksiazki,true); local techniczne_modul=require("Module:Techniczne"); pelna_nazwa_ksiazki=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=pelna_nazwa_ksiazki,[2]=nazwa_aktualna,}; ---- local tabela_nazw={}; local ksiazkowe_modul=require("Module:Książkowe"); pelna_nazwa_ksiazki=ksiazkowe_modul["PełnaNazwaStronicowejKsiążki"](pelna_nazwa_ksiazki,tabela_nazw); nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](pelna_nazwa_ksiazki,tabela_nazw); nazwa_przestrzeni_ksiazki=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"](pelna_nazwa_ksiazki,tabela_nazw); nazwa_ksiazki=((nazwa_przestrzeni_ksiazki~="") and (nazwy_modul["SUBNAZWAKSIĄŻKI"](pelna_nazwa_ksiazki,tabela_nazw)) or (nazwy_modul["NAZWAKSIĄŻKI"](pelna_nazwa_ksiazki,tabela_nazw))); --pelna_nazwa_ksiazki=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,""); end; return nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu; end; function p.ZbieranieKontenerowychInformacjiReferencji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna) local nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu=p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,nazwa_modulu_aktualna); local nazwy_modul=require("Module:Nazwy"); local czy_inna_wartosc_tekst=true; if((nazwa_artykulu)and(nazwa_ksiazki))then --local nazwa_modulu=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); tabela_parametrow_szablonu["nazwa przestrzeni nazw"]=nazwa_przestrzeni; tabela_parametrow_szablonu["nazwa jednostki"]=nazwy_modul["NazwaModułu"]("",nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,nil,czy_inna_wartosc_tekst); elseif((nazwa_artykulu)and(not nazwa_ksiazki))then local ksiazkowe_modul=require("Module:Książkowe"); local nazwa_przestrzeni=tabela_parametrow_szablonu["nazwa przestrzeni nazw"] or ksiazkowe_modul["NazwaPrzestrzeni"](); local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"] or (ksiazkowe_modul["NazwaKsiążki"]()..((nazwa_artykulu~="") and ("/"..nazwa_artykulu) or "")); ---- tabela_parametrow_szablonu["nazwa przestrzeni nazw"]=nazwa_przestrzeni; tabela_parametrow_szablonu["nazwa jednostki"]=nazwa_jednostki; p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,nil,czy_inna_wartosc_tekst); elseif((not nazwa_artykulu)and(nazwa_ksiazki))then local ksiazkowe_modul=require("Module:Książkowe"); local pelna_nazwa_ksiazki=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,""); local nazwa_przestrzeni=tabela_parametrow_szablonu["nazwa przestrzeni nazw"] or ksiazkowe_modul["NazwaPrzestrzeni"](); local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"] or ksiazkowe_modul["NazwaKsiążki"](); ---- tabela_parametrow_szablonu["nazwa przestrzeni nazw"]=nazwa_przestrzeni; tabela_parametrow_szablonu["nazwa jednostki"]=nazwa_jednostki; p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,nil,czy_inna_wartosc_tekst); else p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,nil,czy_inna_wartosc_tekst); end; end; function p.GeneralneLinkowanie(self,obiekt,kod,tablica_zmiennych,tabela_parametrow_szablonu,nazwa_obiektu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie,czy_pobierz) local uchwyt_obiektu=tabela_parametrow_szablonu["uchwyt"] or tabela_parametrow_szablonu[1]; local nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu=p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,self.nazwa_modulu_biezaca); ---- local parametry_modul=require("Module:Parametry"); if(parametry_modul.CzyTak(uchwyt_obiektu))then local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); uchwyt_obiektu=stronicowyparser_potrzebne_modul.DekodowanieNazwySzablonu(uchwyt_obiektu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,true) or uchwyt_obiektu; local html_modul=require("Module:Html"); uchwyt_obiektu=html_modul.DecodeHtml(uchwyt_obiektu,true); end; ---- local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); ---- if(parametry_modul.CzyTak(uchwyt_obiektu))then nazwa_artykulu=(nazwa_artykulu or (nazwa_ksiazki and "" or nil)); if(nazwa_artykulu)then if(nazwa_artykulu~="")then if(not nazwa_ksiazki)then nazwa_przestrzeni=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; nazwa_przestrzeni_ksiazki=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu; nazwa_ksiazki=self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu; elseif(nazwa_ksiazki=="")then p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu); return; end; elseif((nazwa_ksiazki)and(nazwa_ksiazki~=""))then nazwa_artykulu=""; elseif((nazwa_ksiazki)and(nazwa_ksiazki==""))then p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu); return; else nazwa_przestrzeni=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; nazwa_przestrzeni_ksiazki=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu; nazwa_ksiazki=self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu; end; if((nazwa_przestrzeni~=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni) or(nazwa_przestrzeni_ksiazki~=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu) or(nazwa_ksiazki~=self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu) or(nazwa_artykulu~=self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu))then p.LinkowanieInnychStron(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,czy_pobierz); else p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz); p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu); end; else p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz) p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu); end; elseif((uchwyt_obiektu)and(uchwyt_obiektu==""))then p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,nil); p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu); elseif(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"brak uchwytu",nazwa_obiektu))then p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu); stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"brak uchwytu",nazwa_obiektu); end; KtorySzablonMaZwracacKategorie(uchwyt_obiektu); end; function p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz) local linkobiekttab=tablica_zmiennych.linkobiekt[nazwa_obiektu]; local parametry_modul=require("Module:Parametry"); if((not tablica_zmiennych.sprawdzenie_dokonane_linku)and(not parametry_modul["CzySąElementyNumerowaneTablicy"](linkobiekttab)))then local parametry_modul=require("Module:Parametry"); local nazwa_przestrzeni=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; local nazwa_przestrzeni_ksiazki=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu; local nazwa_ksiazki=self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu; local nazwa_artykulu=self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu; local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); if(not (stronicowyparser_problemy_modul.CzyJestTakiElementTabeliProblemu(self,"strony poza zakresem obsługiwanym",nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki)))then p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end; tablica_zmiennych.sprawdzenie_dokonane_linku=true; end; table.insert(linkobiekttab,uchwyt_obiektu); if(czy_pobierz)then if(not tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane)then tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane={}; end; table.insert(tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane,{{nazwa_obiektu,uchwyt_obiektu,},{obiekt,kod,},}); end; end; function p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,__FUNKCJA) local pudelko_modul=require("Module:Pudełko"); if(((nazwa_przestrzeni)and(((nazwa_przestrzeni~="")and(not pudelko_modul["CzyNiepoprawnaNazwa"](nazwa_przestrzeni)))or(nazwa_przestrzeni==""))) and((nazwa_przestrzeni_ksiazki)and(((nazwa_przestrzeni_ksiazki~="")and(not pudelko_modul["CzyNiepoprawnaNazwa"](nazwa_przestrzeni_ksiazki)))or(nazwa_przestrzeni_ksiazki==""))) and((nazwa_ksiazki)and(nazwa_ksiazki~="")and(not pudelko_modul["CzyNiepoprawnaNazwa"](nazwa_ksiazki))) and((nazwa_artykulu)and(((nazwa_artykulu~="")and(not pudelko_modul["CzyNiepoprawnaNazwa"](nazwa_artykulu)))or(nazwa_artykulu==""))) )then if(__FUNKCJA)then __FUNKCJA(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu); end; else local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"nieprawidłowe nazwy korzystanych stron"))then if((self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni==nazwa_przestrzeni) and(self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu==nazwa_przestrzeni_ksiazki) and(self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu==nazwa_ksiazki) and(self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu==nazwa_artykulu))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"nieprawidłowe nazwy korzystanych stron"); else stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"nieprawidłowe nazwy stron dołączanych do stron"); end; end; end; end; function p.LinkowanieInnychStron(self,obiekt,kod,tablica_zmiennych, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,czy_pobierz) p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,function() local parametry_modul=require("Module:Parametry"); if((nazwa_przestrzeni)and(nazwa_przestrzeni_ksiazki)and(parametry_modul.CzyTak(nazwa_ksiazki))and(nazwa_artykulu))then local tablica_zmiennych2={}; tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2={} local tabela_listy_danych_analizy_ksiazki0,tablica_zmiennych2,czy_inna=p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, false,tablica_zmiennych2); if(tabela_listy_danych_analizy_ksiazki0)then if((not czy_inna)or(not tablica_zmiennych2))then return;end; local stronicowyparser_szablony_tekstu_modul=require("Module:StronicowyParser/SzablonyTekstu"); local JuzPoliczone=function() if(czy_pobierz)then stronicowyparser_szablony_tekstu_modul.UstawianiePobierz(tablica_zmiennych,tablica_zmiennych2,obiekt,kod,nazwa_obiektu,uchwyt_obiektu,false); end; if(not tablica_zmiennych2.dane_juz_policzone)then tablica_zmiennych2.dane_juz_policzone={};end; local tab_nazwa_obiektu=tablica_zmiennych2.dane_juz_policzone[nazwa_obiektu]; if(not tab_nazwa_obiektu)then tablica_zmiennych2.dane_juz_policzone[nazwa_obiektu]={}; tab_nazwa_obiektu=tablica_zmiennych2.dane_juz_policzone[nazwa_obiektu]; end; local tab_uchwyt=tab_nazwa_obiektu[uchwyt_obiektu]; if(tab_uchwyt)then return true; end; tab_nazwa_obiektu[uchwyt_obiektu]=true; return false; end; if(not parametry_modul.CzyTak(tabela_listy_danych_analizy_ksiazki0))then local czy_policzone=JuzPoliczone(); if(czy_policzone)then return; end; else JuzPoliczone(); end; stronicowyparser_szablony_tekstu_modul.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony(tablica_zmiennych,tablica_zmiennych2); p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu); local czy_jest_nazwa_obiektu_w_tabela_listy_danych_analizy_ksiazki2=tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2[nazwa_obiektu]; local CzyLink=czy_jest_nazwa_obiektu_w_tabela_listy_danych_analizy_ksiazki2.CzyLink; local ile_razy=0; if(czy_jest_nazwa_obiektu_w_tabela_listy_danych_analizy_ksiazki2)then for _, parametry_obiektu in ipairs(czy_jest_nazwa_obiektu_w_tabela_listy_danych_analizy_ksiazki2) do if(parametry_obiektu[1]==uchwyt_obiektu)then ile_razy=ile_razy+1; if(ile_razy>1)then break;end; end; end; end if(ile_razy~=1)then local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"błędy uchwytów korzystanych stron",(CzyLink and "Link" or "Pobierz")..nazwa_obiektu))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"błędy uchwytów korzystanych stron",(CzyLink and "Link" or "Pobierz")..nazwa_obiektu); end; p.PusteParametryReferencji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu); end; else local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"błąd wewnętrzny modułu lua stronicowego parsera"))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"błąd wewnętrzny modułu lua stronicowego parsera"); end; end; else p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu); end; end); end; function p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, czy_artykul_korzystany,tablica_zmiennych,czy_szablon_pudelkowy_strony_zbiorczej) local function __FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) if(not self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni])then self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni]={};end; local tablica_przestrzeni=self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni]; if(not tablica_przestrzeni[nazwa_przestrzeni_ksiazki])then tablica_przestrzeni[nazwa_przestrzeni_ksiazki]={};end; local tablica_przestrzeni_ksiazki=tablica_przestrzeni[nazwa_przestrzeni_ksiazki]; if(not tablica_przestrzeni_ksiazki[nazwa_ksiazki])then tablica_przestrzeni_ksiazki[nazwa_ksiazki]={};end; local tablica_ksiazki=tablica_przestrzeni_ksiazki[nazwa_ksiazki]; if(not tablica_ksiazki.lista_podstron_woluminu)then tablica_ksiazki.lista_podstron_woluminu={};end; if(nazwa_artykulu)then if(not tablica_ksiazki.lista_podstron_woluminu[nazwa_artykulu])then tablica_ksiazki.lista_podstron_woluminu[nazwa_artykulu]={};end; local artykul_analizowany=tablica_ksiazki.lista_podstron_woluminu[nazwa_artykulu]; return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany; else return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki; end; end; local function __FUNKCJA(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) if(not czy_artykul_korzystany)then if(self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni and self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu and self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu and self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu)then if((self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni==nazwa_przestrzeni)and(self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu==nazwa_przestrzeni_ksiazki)and(self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu==nazwa_ksiazki)and(self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu==nazwa_artykulu))then return 0,nil,nil,nil,nil,nil,self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron,false; else if(self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci)then self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=true; end; end; else return nil; end; end; if(self.tabela_listy_danych_analizy_ksiazki)then if(self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron)then local tabela_przestrzeni=self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni]; if(tabela_przestrzeni)then local tabela_przestrzeni_ksiazki=tabela_przestrzeni[nazwa_przestrzeni_ksiazki]; if(tabela_przestrzeni_ksiazki)then local tabela_ksiazka=tabela_przestrzeni_ksiazki[nazwa_ksiazki]; if(tabela_ksiazka)then local lista_artykolow=tabela_ksiazka.lista_podstron_woluminu; if(lista_artykolow)then local tabela_artykul=lista_artykolow[nazwa_artykulu]; if(tabela_artykul)then local dane_zebrane_ze_stron=tabela_artykul.dane_zebrane_ze_stron; return 0,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni,dane_zebrane_ze_stron,true; end; end; end; end; end; else return nil; end; else return nil; end; return true; end; local nazwy_modul=require("Module:Nazwy"); local wartosc_wyniku,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni,dane_zebrane_ze_stron,czy_inna=__FUNKCJA(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); local function StronaSubstFunkcja(tabela_artykul,spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) if((czy_szablon_pudelkowy_strony_zbiorczej)and(not czy_artykul_korzystany)and(tabela_artykul)and(not tabela_artykul.strona_zbiorcza))then --local nazwa_modulu=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); local stronicowyparser_stronasubst_modul=require("Module:StronicowyParser/StronaSubst"); local TakFun=function(frame) return "tak";end;local NieFun=function(frame) return "";end; tabela_artykul.strona_zbiorcza=stronicowyparser_stronasubst_modul.AnalizaStronaSubst(self.tabela_listy_danych_analizy_ksiazki,spis,nil,TakFun,NieFun,nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end; end; if(not wartosc_wyniku)then return wartosc_wyniku,dane_zebrane_ze_stron,czy_inna; elseif((wartosc_wyniku==0)and(tabela_artykul))then StronaSubstFunkcja(tabela_artykul,tabela_ksiazka.spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return wartosc_wyniku,dane_zebrane_ze_stron,czy_inna; end; ---- local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); if((nazwa_przestrzeni~=nazwy_np_modul.Main) and(nazwa_przestrzeni~=nazwy_np_modul.Wikijunior) and((nazwa_przestrzeni~=nazwy_np_modul.User)or(not mw.ustring.match(nazwa_przestrzeni_ksiazki,"^([^/]+)$"))) and((nazwa_przestrzeni~=nazwy_np_modul.Wikibooks)or(not mw.ustring.match(nazwa_przestrzeni_ksiazki,"^%s*[Bb]rudnopis/([^/]+)$"))) )then stronicowyparser_problemy_modul.DodawanieProblemowegoElementuDoTablicy(self,"strony poza zakresem obsługiwanym",nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); end; ---- local tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); local parametry_modul=require("Module:Parametry"); local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); ---- local tekst_rozwiniety_calego_artykulu_ref=nil; local tablica_analizy_obiektow_strony_dany_modul_ref=nil; local tablica_danych_parametrow_szablonu_strony_ref=nil; ---- local function InneInformacjePrzebneDoAnalizowanejKsiazki() if(not (stronicowyparser_problemy_modul.CzyJestTakiElementTabeliProblemu(self,"strony poza zakresem obsługiwanym",nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki)))then if((nazwa_przestrzeni)and(nazwa_przestrzeni_ksiazki)and(nazwa_ksiazki))then if(czy_artykul_korzystany)then if(not self.tabela_listy_danych_analizy_ksiazki["CzyArtykułKsiążki"])then self.tabela_listy_danych_analizy_ksiazki["CzyArtykułKsiążki"]="tak";end; end; local czy_ksiazka_istnieje_w_tablicy=((tablica_ksiazki)and(tablica_ksiazki.czy_spis_analizowano))and true or false; if(not czy_ksiazka_istnieje_w_tablicy)then tablica_ksiazki.czy_spis_analizowano=true; local stronicowyparser_spistresci_modul=require("Module:StronicowyParser/SpisTreści"); local nazwa_przestrzeni_strona_temp,nazwa_przestrzeni_ksiazki_strona_temp,nazwa_ksiazki_strona_temp; local tabela_artykulow,tabela_licencji_spisu_tresci,nazwa_glownego_spisu,tab_inne_spisy,dodatkowe_artykuly,adres_ksiazki_glownego_spisu_tresci=stronicowyparser_spistresci_modul.ZbieranieInformacjiSpisuRzeczyWoluminuEwentualnieWedleAutonawigacji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,czy_artykul_korzystany,function(nazwa_przestrzeni_strona,nazwa_przestrzeni_ksiazki_strona,nazwa_ksiazki_strona) local tablica_przestrzeni_strona=self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni_strona]; if(tablica_przestrzeni_strona)then local tablica_przestrzeni_ksiazki_strona=tablica_przestrzeni_strona[nazwa_przestrzeni_ksiazki_strona]; if(tablica_przestrzeni_ksiazki_strona)then local tablica_ksiazki_strona=tablica_przestrzeni_ksiazki_strona[nazwa_ksiazki_strona]; if(tablica_ksiazki_strona)then if(tablica_ksiazki_strona.spis)then nazwa_przestrzeni_strona_temp,nazwa_przestrzeni_ksiazki_strona_temp,nazwa_ksiazki_strona_temp=nazwa_przestrzeni_strona,nazwa_przestrzeni_ksiazki_strona,nazwa_ksiazki_strona; tablica_ksiazki.spis=tablica_ksiazki_strona.spis; tablica_ksiazki.licencja=tablica_ksiazki_strona.licencja; tablica_ksiazki.nazwa_bazowego_spisu=tablica_ksiazki_strona.nazwa_bazowego_spisu; tablica_ksiazki.tab_inne_spisy=tablica_ksiazki_strona.tab_inne_spisy; tablica_ksiazki.dodatkowe_strony_woluminu=tablica_ksiazki_strona.dodatkowe_strony_woluminu; tablica_ksiazki.adres_woluminu_bazowego_spisu_rzeczy=tablica_ksiazki_strona.adres_woluminu_bazowego_spisu_rzeczy; tablica_ksiazki.referencja_do_nowej_formy_spisu={tablica_przestrzeni_strona,tablica_przestrzeni_ksiazki_strona,tablica_ksiazki_strona,}; return 1; end; end; end end; end,function(tekst_rozwiniety_calego_artykulu_ref_spis,nazwa_przestrzeni_ref_spis,nazwa_przestrzeni_ksiazki_ref_spis,nazwa_ksiazki_ref_spis,nazwa_artykulu_ref_spis,tablica_analizy_obiektow_strony_dany_modul_ref_spis,tablica_danych_parametrow_szablonu_strony_ref_spis) ---- if((nazwa_przestrzeni==nazwa_przestrzeni_ref_spis)and(nazwa_przestrzeni_ksiazki==nazwa_przestrzeni_ksiazki_ref_spis)and(nazwa_ksiazki==nazwa_ksiazki_ref_spis)and(nazwa_artykulu==nazwa_artykulu_ref_spis))then tekst_rozwiniety_calego_artykulu_ref=tekst_rozwiniety_calego_artykulu_ref_spis; local parametry_modul=require("Module:Parametry"); tablica_analizy_obiektow_strony_dany_modul_ref=parametry_modul["KopiujRekurencyjnieTabelęElementów"](tablica_analizy_obiektow_strony_dany_modul_ref_spis); tablica_danych_parametrow_szablonu_strony_ref=parametry_modul["KopiujRekurencyjnieTabelęElementów"](tablica_danych_parametrow_szablonu_strony_ref_spis); end; ---- end); local function __FUNKCJA_SPISU(tablica_ksiazki,czy_podac_adres) tablica_ksiazki.spis=tabela_artykulow; if(czy_artykul_korzystany)then tablica_ksiazki.licencja=tabela_licencji_spisu_tresci; end; tablica_ksiazki.nazwa_bazowego_spisu=nazwa_glownego_spisu; tablica_ksiazki.tab_inne_spisy=tab_inne_spisy; tablica_ksiazki.dodatkowe_strony_woluminu=dodatkowe_artykuly; tablica_ksiazki.adres_woluminu_bazowego_spisu_rzeczy=czy_podac_adres and adres_ksiazki_glownego_spisu_tresci or nil; end; if(tabela_artykulow==0)then if(czy_artykul_korzystany)then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"korzystana strona główna nie istnieje"); else stronicowyparser_problemy_modul.DodawanieProblemowegoElementuDoTablicy(self,"dołączone strony główne nie istnieją",nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); end; elseif(tabela_artykulow)then if(parametry_modul.TypeTable(tabela_artykulow))then if(adres_ksiazki_glownego_spisu_tresci)then __FUNKCJA_SPISU(tablica_ksiazki,true); local tablica_ksiazki_stara=tablica_ksiazki; local artykul,kod_wyniku=stronicowyparser_potrzebne_modul.OdpowiednikNaPrzemianArtykularnychStronWoluminu(tabela_artykulow,nazwa_glownego_spisu,tab_inne_spisy,dodatkowe_artykuly,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,true); local nazwa_przestrzeni=adres_ksiazki_glownego_spisu_tresci[1]; local nazwa_przestrzeni_ksiazki=adres_ksiazki_glownego_spisu_tresci[2]; local nazwa_ksiazki=adres_ksiazki_glownego_spisu_tresci[3]; if((kod_wyniku==1)or(kod_wyniku==4))then local wartosc_wyniku,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni=__FUNKCJA(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,artykul); if(not wartosc_wyniku)then return wartosc_wyniku,true; elseif((wartosc_wyniku==0)and(tabela_artykul))then local nazwa_artykulu=artykul; StronaSubstFunkcja(tabela_artykul,tabela_ksiazka.spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return wartosc_wyniku,true; end; local tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni ,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,artykul); tablica_ksiazki_stara.referencja_do_nowej_formy_spisu={tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,}; __FUNKCJA_SPISU(tablica_ksiazki,false); return nil,nil,artykul,kod_wyniku; elseif(kod_wyniku==2)then local tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,artykul); tablica_ksiazki_stara.referencja_do_nowej_formy_spisu={tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,}; __FUNKCJA_SPISU(tablica_ksiazki,false); return nil,nil,artykul,kod_wyniku; elseif(kod_wyniku==3)then local tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nil); tablica_ksiazki_stara.referencja_do_nowej_formy_spisu={tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,}; __FUNKCJA_SPISU(tablica_ksiazki,false); return nil,nil,artykul,kod_wyniku; end; else __FUNKCJA_SPISU(tablica_ksiazki,false); end; elseif(tabela_artykulow~=1)then local wartosc_wyniku,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni=__FUNKCJA(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); if(not wartosc_wyniku)then return wartosc_wyniku,true; elseif((wartosc_wyniku==0)and(tabela_artykul))then StronaSubstFunkcja(tabela_artykul,tabela_ksiazka.spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return wartosc_wyniku,true; end; end; else if(czy_artykul_korzystany)then if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"brak spisów treści do korzystanych książek na ich stronach głównych"))then if(((self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu=="")and(nazwa_artykulu~=""))or(self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu~=""))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"brak spisów treści do korzystanych książek na ich stronach głównych"); end; end; else stronicowyparser_problemy_modul.DodawanieProblemowegoElementuDoTablicy(self,"brak spisów treści do dołączonych książek na ich stronach głównych",nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); end; end; end; end; end; end; ---- local wartosc_wyniku,wynik_bledu,artykul_bazowy,kod_wyniku_bazowy=InneInformacjePrzebneDoAnalizowanejKsiazki(); if(wynik_bledu)then return wartosc_wyniku;end; local kod_wyniku_przekierowan=kod_wyniku_bazowy; ---- --if((not tablica_przestrzeni)or(not tablica_przestrzeni_ksiazki)or(not tablica_ksiazki)or(not artykul_analizowany))then -- tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); --end; ---- if(tablica_ksiazki.adres_woluminu_bazowego_spisu_rzeczy)and((kod_wyniku_bazowy==1)or(kod_wyniku_bazowy==4))then ---- nazwa_przestrzeni=tablica_ksiazki.adres_woluminu_bazowego_spisu_rzeczy[1]; nazwa_przestrzeni_ksiazki=tablica_ksiazki.adres_woluminu_bazowego_spisu_rzeczy[2]; nazwa_ksiazki=tablica_ksiazki.adres_woluminu_bazowego_spisu_rzeczy[3]; nazwa_artykulu=artykul_bazowy; ---- tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki=tablica_ksiazki.referencja_do_nowej_formy_spisu[1],tablica_ksiazki.referencja_do_nowej_formy_spisu[2],tablica_ksiazki.referencja_do_nowej_formy_spisu[3]; end; local tabela_artykulow=tablica_ksiazki.spis; if(tabela_artykulow)then local nazwa_glownego_spisu=tablica_ksiazki.nazwa_bazowego_spisu; local tab_inne_spisy=tablica_ksiazki.tab_inne_spisy; local dodatkowe_artykuly=tablica_ksiazki.dodatkowe_strony_woluminu local artykul,kod_wyniku=stronicowyparser_potrzebne_modul.OdpowiednikNaPrzemianArtykularnychStronWoluminu(tabela_artykulow,nazwa_glownego_spisu,tab_inne_spisy,dodatkowe_artykuly,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,false); if(kod_wyniku==1)then nazwa_artykulu=artykul; local wartosc_wyniku,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni=__FUNKCJA(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); if(not wartosc_wyniku)then return wartosc_wyniku; elseif((wartosc_wyniku==0)and(tabela_artykul))then StronaSubstFunkcja(tabela_artykul,tabela_ksiazka.spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return wartosc_wyniku; end; tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); elseif(kod_wyniku==2)then local nazwa_artykulu=artykul; local tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end; kod_wyniku_przekierowan=kod_wyniku_przekierowan or kod_wyniku; end; local nazwa_modulu=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); local PrzekierownieAwaryjne=function() if((not kod_wyniku_przekierowan)or(kod_wyniku_bazowy==4))then --local artykul2,kod_wyniku2=stronicowyparser_potrzebne_modul.OdpowiednikNaPrzemianArtykularnychStronWoluminu(tabela_artykulow,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,true); local techniczne_modul=require("Module:Techniczne"); local strona=techniczne_modul.PrzekierowanieDoStrony(nazwa_modulu); if(strona)then if(strona~=nazwa_modulu)then ---- local tabela_nazw={}; nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](strona,tabela_nazw); nazwa_przestrzeni_ksiazki=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"](strona,tabela_nazw); nazwa_ksiazki=((nazwa_przestrzeni_ksiazki~="") and nazwy_modul["SUBNAZWAKSIĄŻKI"](strona,tabela_nazw) or nazwy_modul["NAZWAKSIĄŻKI"](strona,tabela_nazw)); nazwa_artykulu=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](strona,tabela_nazwa); local wartosc_wyniku,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni=__FUNKCJA(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); if(not wartosc_wyniku)then return wartosc_wyniku; elseif((wartosc_wyniku==0)and(tabela_artykul))then StronaSubstFunkcja(tabela_artykul,tabela_ksiazka.spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return wartosc_wyniku; end; tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); nazwa_modulu=strona; else return 0; end; end; end; end; local wynik=PrzekierownieAwaryjne(); if(czy_artykul_korzystany)then self.nazwa_modulu_biezaca=nazwa_modulu; end; if(wynik)then return wynik;end; ---- if(czy_artykul_korzystany)then if((not self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni)and(not self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu)and(not self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu)and(not self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu))then self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni=nazwa_przestrzeni; self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu=nazwa_przestrzeni_ksiazki; self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu=nazwa_ksiazki; self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu=nazwa_artykulu; end; end; local nazwa_modulu_aktualna_czy_biezaca=self.tabela_listy_danych_analizy_ksiazki.alternatywna and nazwy_modul["NazwaModułu"](self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_przestrzeni,self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_przestrzeni_ksiazki,self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_ksiazki,self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_artykulu) or nazwa_modulu; -- przydzielanie tablicy if(czy_artykul_korzystany)then artykul_analizowany.artykul_biezacy=true; tablica_ksiazki.ksiazka_analizowana=true; end; --koniec --local iterator=mw.ustring.gmatch(tekst_rozwiniety_calego_artykulu,"{{[^{}]-}}"); if(not tablica_zmiennych)then tablica_zmiennych={};end; if(not tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2)then tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2={};end; local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty"); for _,element_w_tablicy_obiekt in pairs(stronicowyparser_obiekty_modul.tablica_obiektowych_form)do local CzyLink=element_w_tablicy_obiekt.CzyLink; local CzyNum=element_w_tablicy_obiekt.CzyNum; local wartosc=element_w_tablicy_obiekt[1]; tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2[wartosc]={CzyLink=CzyLink,CzyNum=CzyNum,}; if(czy_artykul_korzystany)then tablica_zmiennych.linkobiekt[wartosc]={CzyLink=CzyLink,CzyNum=CzyNum;};end; end; local function StronaZbiorcza() if(czy_artykul_korzystany)then local stronicowyparser_stronasubst_modul=require("Module:StronicowyParser/StronaSubst"); local TakFun=function(frame) return true;end;local NieFun=function(frame) return nil;end; local wynik=stronicowyparser_stronasubst_modul.AnalizaStronaSubst(self.tabela_listy_danych_analizy_ksiazki,tablica_ksiazki.spis,nil,TakFun,NieFun,nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); artykul_analizowany.strona_zbiorcza=(wynik and "tak" or ""); return wynik; end; return nil; end; local strona_zbiorcza=StronaZbiorcza(); local pelna_nazwa_ksiazki=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,""); local stronicowyparser_tekst_modul=require("Module:StronicowyParser/Tekst"); ---- local tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony; if((not tekst_rozwiniety_calego_artykulu_ref)or(not tablica_analizy_obiektow_strony_dany_modul_ref)or(not tablica_danych_parametrow_szablonu_strony_ref))then tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony=stronicowyparser_tekst_modul.RekurencyjnyZakodowanoSpreparowanyWikikodStrony(self,nazwa_modulu_aktualna_czy_biezaca,(((czy_artykul_korzystany)and(self.tabela_listy_danych_analizy_ksiazki.inna_strona_aktualna_niz_biezaca))and true or nil), nil) else tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony=tekst_rozwiniety_calego_artykulu_ref,tablica_analizy_obiektow_strony_dany_modul_ref,tablica_danych_parametrow_szablonu_strony_ref; end; ---- if(not czy_artykul_korzystany)then if(not tekst_rozwiniety_calego_artykulu)then return 0;end; end; if(czy_artykul_korzystany)then if(not tekst_rozwiniety_calego_artykulu)then if(strona_zbiorcza)then self.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak"; end; return nil; end; end; local szablonowe_modul=require("Module:Szablonowe"); local parametry_modul=require("Module:Parametry"); if((czy_artykul_korzystany)and(self.tabela_listy_danych_analizy_ksiazki.inna_strona_aktualna_niz_biezaca))then local aktualna_nazwa_modulu=self.tabela_listy_danych_analizy_ksiazki.alternatywna and nazwa_modulu_aktualna_czy_biezaca or nazwy_modul["NazwaModułu"](self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_przestrzeni,self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_przestrzeni_ksiazki,self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_ksiazki,self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_artykulu); local tekst=stronicowyparser_tekst_modul.SpreparowanyWikikodStrony(self,aktualna_nazwa_modulu); if(tekst)then local iterator=szablonowe_modul:IteratorSzablonowyZakodowanegoTekstu(tekst,aktualna_nazwa_modulu); local tablica_danych_parametrow_szablonu_strony={}; for szablon,obiekt,kod in iterator do if(obiekt=="SZABLON")then local wynik=szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,aktualna_nazwa_modulu,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) if(stronicowyparser_obiekty_modul.strona_start_ze_spisem_rzeczy_strony[nazwa_szablonu])then self.tabela_listy_danych_analizy_ksiazki.strona_ze_szablonem_strona_start="tak"; self.tabela_listy_danych_analizy_ksiazki.formatowanie="tak"; self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true; return true; elseif(stronicowyparser_obiekty_modul.strona_start[nazwa_szablonu])then self.tabela_listy_danych_analizy_ksiazki.strona_ze_szablonem_strona_start="tak"; self.tabela_listy_danych_analizy_ksiazki.formatowanie=tabela_parametrow_szablonu["formatowanie"]; local boczne_menu=tabela_parametrow_szablonu["boczne menu"] or ""; local spis_tresci=tabela_parametrow_szablonu["spis treści"] or "TOC"; if((parametry_modul.CzyTak(boczne_menu))or(parametry_modul.CzyTak(spis_tresci)))then self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true; end; return true; end; end); if(wynik)then break;end; end; end; end; end; local uzyskano_w_wyniku_parsowania_wywolanie_szablonu; local analiza_stron_korzystanych_zbiorczych=nil; local stronastart=nil; ---- local tablica_obiekty=stronicowyparser_obiekty_modul.obiekty; local szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane_numerowane_obiekty=stronicowyparser_obiekty_modul.szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane.numerowane_obiekty; local format_elementowy_referencji_obiektowy=stronicowyparser_obiekty_modul.format_elementowy_referencji_obiektowy; local szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_napisu_wprowadzenia_tekstu=stronicowyparser_obiekty_modul.szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane.nienumerowane_obiekty_napisu_wprowadzenia_tekstu; local szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_tekstu=stronicowyparser_obiekty_modul.szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane.nienumerowane_obiekty_tekstu; local szablony_wykorzystywane_przez_strony_zbiorcze=stronicowyparser_obiekty_modul.szablony_wykorzystywane_przez_strony_zbiorcze; local format_elementowy_obiektowy=stronicowyparser_obiekty_modul.format_elementowy_obiektowy; local szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_numerowane_obiekty=stronicowyparser_obiekty_modul.szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane.numerowane_obiekty; local szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_naglowka=stronicowyparser_obiekty_modul.szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane.nienumerowane_obiekty_napisu_wprowadzenia_tekstu; local szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_tekstu=stronicowyparser_obiekty_modul.szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane.nienumerowane_obiekty_tekstu; ---- local strona_start=stronicowyparser_obiekty_modul.strona_start; local strona_start_ze_spisem_rzeczy_strony=stronicowyparser_obiekty_modul.strona_start_ze_spisem_rzeczy_strony; local strona_start_inne=stronicowyparser_obiekty_modul.strona_start_inne; local szablony_strony_zbiorczej=stronicowyparser_obiekty_modul.strona_zbiorcza; ---- local tab_szablony=stronicowyparser_obiekty_modul.szablony_stronicowego_parsera.szablony_kontenerowe; local tab_szablony_stronicowe_niekontenerowe=stronicowyparser_obiekty_modul.szablony_stronicowe_niekontenerowe; local tab_szablony_stronicowe_formatowania_tekstu=stronicowyparser_obiekty_modul.szablony_stronicowe_formatowania_tekstu; local tab_szablony_stronicowe_kontenerowe_formatowania_wzorowego=stronicowyparser_obiekty_modul.szablony_stronicowe_kontenerowe_formatowania_wzorowego; ---- local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local tabela_elementow_strony_kodow={}; -- for uzyskano_w_wyniku_parsowania_wywolanie_szablonu,obiekt,kod in iterator do local function AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego(tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,uzyskano_w_wyniku_parsowania_wywolanie_szablonu,obiekt,kod,tab_numer) if(czy_artykul_korzystany)then if(tabela_parametrow_szablonu)then if((not stronastart)and(self.tabela_listy_danych_analizy_ksiazki.formatowanie==nil))then if(strona_start[nazwa_szablonu_wywolania])then self.tabela_listy_danych_analizy_ksiazki.strona_ze_szablonem_strona_start="tak"; self.tabela_listy_danych_analizy_ksiazki.formatowanie=tabela_parametrow_szablonu["formatowanie"]; stronastart=true; local boczne_menu=tabela_parametrow_szablonu["boczne menu"] or ""; local spis_tresci=tabela_parametrow_szablonu["spis treści"] or "TOC"; if((parametry_modul.CzyTak(boczne_menu))or(parametry_modul.CzyTak(spis_tresci)))then self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true; end; return; elseif(strona_start_ze_spisem_rzeczy_strony[nazwa_szablonu_wywolania])then self.tabela_listy_danych_analizy_ksiazki.strona_ze_szablonem_strona_start="tak"; self.tabela_listy_danych_analizy_ksiazki.formatowanie="tak"; self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true; stronastart=true; return; elseif(strona_start_inne[nazwa_szablonu_wywolania])then self.tabela_listy_danych_analizy_ksiazki.strona_ze_szablonem_strona_start="tak"; self.tabela_listy_danych_analizy_ksiazki.formatowanie="tak"; stronastart=true; return; elseif((strona_zbiorcza)and(not analiza_stron_korzystanych_zbiorczych)and(szablony_strony_zbiorczej[nazwa_szablonu_wywolania]))then analiza_stron_korzystanych_zbiorczych=true; local nazwa_przestrzeni=tabela_parametrow_szablonu["nazwa przestrzeni nazw"]; local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"]; if((not parametry_modul.CzyTak(nazwa_prestreni_nazw))and(not parametry_modul.CzyTak(nazwa_jednostki)))then return; end; end; elseif((strona_zbiorcza)and(not analiza_stron_korzystanych_zbiorczych)and(szablony_strony_zbiorczej[nazwa_szablonu_wywolania]))then analiza_stron_korzystanych_zbiorczych=true; local nazwa_przestrzeni=tabela_parametrow_szablonu["nazwa przestrzeni nazw"]; local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"]; if((not parametry_modul.CzyTak(nazwa_przestrzeni))and(not parametry_modul.CzyTak(nazwa_jednostki)))then return; end; end; end; end; local plik=mw.ustring.match(nazwa_szablonu_wywolania,"^:"); if(plik==nil)then if(tabela_parametrow_szablonu)then if(not parametry_modul.CzyTak(tabela_parametrow_szablonu["bez automatu"]))then local czy_wypowiedzenie=(nazwa_szablonu_wywolania=="Wypowiedzenie"); local czy_linkobiekt; local czy_link;local czy_pobierz; local czy_wypowiedzenie_z_parametrami; local czy_linkobiekt_z_parametrami; if(czy_wypowiedzenie)then czy_linkobiekt=false; czy_link=false; czy_pobierz=false; czy_wypowiedzenie_z_parametrami=parametry_modul.CzyTak(tabela_parametrow_szablonu["rodzaj"]); else czy_linkobiekt=(nazwa_szablonu_wywolania=="LinkObiekt"); if(czy_linkobiekt)then czy_link=true; czy_pobierz=false; czy_linkobiekt_z_parametrami=parametry_modul.CzyTak(tabela_parametrow_szablonu["typ"]); else czy_link=mw.ustring.match(nazwa_szablonu_wywolania,"^Link"); czy_pobierz=(not czy_link) and mw.ustring.match(nazwa_szablonu_wywolania,"^Pobierz") or nil; end; end; if((not czy_link)and(not czy_pobierz))then local wartosc_elementu;local numer_uchwytu; if(not czy_wypowiedzenie_z_parametrami) then local tab_wartosc_elementu=szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_numerowane_obiekty[nazwa_szablonu_wywolania]; if(tab_wartosc_elementu)then wartosc_elementu=tab_wartosc_elementu[1]; numer_uchwytu=tab_wartosc_elementu[2]; end; else local rodzaj=tabela_parametrow_szablonu["rodzaj"]; if(rodzaj)then wartosc_elementu=format_elementowy_obiektowy[rodzaj] and rodzaj or nil; if(wartosc_elementu)then numer_uchwytu=tablica_obiekty[5]; end; end; end; if(wartosc_elementu)then local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA) if(czy_artykul_korzystany)then if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then if(uchwyt_obiektu and (uchwyt_obiektu~=""))then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=wartosc_elementu..":"..((uchwyt_obiektu)and uchwyt_obiektu or ""); end; end; end; end; p.RozpatrywanieSzablonuObiektuDoNumeracji(self,tabela_parametrow_szablonu,tablica_zmiennych, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,wartosc_elementu, czy_artykul_korzystany,numer_uchwytu--[[elementy_w_tablicy_obiekty[5]],tab_numer,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie); return; end; elseif(czy_artykul_korzystany)then if(czy_link)then local wartosc_elementu; if(not czy_linkobiekt_z_parametrami)then wartosc_elementu=szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane_numerowane_obiekty[nazwa_szablonu_wywolania]; else local typ=tabela_parametrow_szablonu["typ"]; if(typ)then typ=format_elementowy_referencji_obiektowy[typ] and typ or nil; if(typ)then wartosc_elementu=mw.getContentLanguage():ucfirst(typ); end; end; end; if(wartosc_elementu)then local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA) if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie="Link"..wartosc_elementu..":"..((uchwyt_obiektu)and uchwyt_obiektu or ""); end; end; p.GeneralneLinkowanie(self,obiekt,kod,tablica_zmiennych,tabela_parametrow_szablonu,wartosc_elementu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie); return; else local wartosc_elementu=szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_napisu_wprowadzenia_tekstu[nazwa_szablonu_wywolania]; if(wartosc_elementu)then self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci=true; self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=nil; local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA) if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu_wywolania..":"..((uchwyt_obiektu)and uchwyt_obiektu or ""); end; end; p.GeneralneLinkowanie(self,obiekt,kod,tablica_zmiennych,tabela_parametrow_szablonu,wartosc_elementu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie); self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci=nil; if(not self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone)then self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true; self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=nil; else self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=nil; end; return; end; end; elseif(czy_pobierz)then local wartosc_elementu=szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_tekstu[nazwa_szablonu_wywolania]; if(wartosc_elementu)then local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA) if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu_wywolania..":"..((uchwyt_obiektu)and uchwyt_obiektu or ""); end; end; p.GeneralneLinkowanie(self,obiekt,kod,tablica_zmiennych,tabela_parametrow_szablonu,wartosc_elementu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie,true); return; end; end; end; if(czy_wypowiedzenie)then local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA) if(czy_artykul_korzystany)then if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie="Obiekt:"..((uchwyt_obiektu)and uchwyt_obiektu or ""); end; end; end; p.RozpatrywanieSzablonuObiektuDoNumeracji(self,tabela_parametrow_szablonu,tablica_zmiennych,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,"Obiekt", czy_artykul_korzystany,tablica_obiekty[5],tab_numer,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie); return; elseif(stronicowyparser_obiekty_modul.szablony_stronicowego_parsera.szablony_wprowadzenia_tekstu[nazwa_szablonu_wywolania])then local tab_wartosc_elementu=szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_naglowka[nazwa_szablonu_wywolania]; local wartosc_elementu;local numer_uchwytu; if(tab_wartosc_elementu)then wartosc_elementu=tab_wartosc_elementu[1]; numer_uchwytu=tab_wartosc_elementu[2]; end; local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA) if(czy_artykul_korzystany)then if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then if(uchwyt_obiektu and (uchwyt_obiektu~=""))then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=wartosc_elementu..":"..((uchwyt_obiektu)and uchwyt_obiektu or ""); end; end; end; end; local lista_dwuelementowa=p.RozpatrywanieSzablonuObiektuDoNumeracji(self,tabela_parametrow_szablonu,tablica_zmiennych, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,wartosc_elementu, czy_artykul_korzystany,numer_uchwytu--[[elementy_w_tablicy_obiekty[5]],tab_numer,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie); p.UchwytyZeiBezNumeracji(self,tabela_elementow_strony_kodow,wartosc_elementu,lista_dwuelementowa,kod); if(czy_artykul_korzystany)then self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true; end; return; elseif(stronicowyparser_obiekty_modul.szablony_stronicowego_parsera.szablony_tekstu[nazwa_szablonu_wywolania])then local tab_wartosc_elementu=szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_tekstu[nazwa_szablonu_wywolania]; local wartosc_elementu;local numer_uchwytu; if(tab_wartosc_elementu)then wartosc_elementu=tab_wartosc_elementu[1]; numer_uchwytu=tab_wartosc_elementu[2]; end; local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA) if(czy_artykul_korzystany)then if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then if(uchwyt_obiektu and (uchwyt_obiektu~=""))then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=wartosc_elementu..":"..((uchwyt_obiektu)and uchwyt_obiektu or ""); end; end; end; end; local lista_dwuelementowa=p.RozpatrywanieSzablonuObiektuDoNumeracji(self,tabela_parametrow_szablonu,tablica_zmiennych, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,wartosc_elementu, czy_artykul_korzystany,numer_uchwytu--[[elementy_w_tablicy_obiekty[5]],tab_numer,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie); if(lista_dwuelementowa)then local stronicowyparser_szablonytekstu_modul=require("Module:StronicowyParser/SzablonyTekstu"); local tekst=stronicowyparser_szablonytekstu_modul.ParametrTekstowySzablonuTekstu(tabela_parametrow_szablonu); local bez_preprocess=stronicowyparser_szablonytekstu_modul.SzablonTekstuBezPreProcess(tabela_parametrow_szablonu); local czy_bez_preprocess=parametry_modul.CzyTak(bez_preprocess); if(tekst)then local czy_szablon_wszystko=false; tekst=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(tekst,nil,tablica_analizy_obiektow_strony_dany_modul, function(szablon,obiekt,kod) if(czy_bez_preprocess)then return nil;end; if(obiekt=="SZABLON")then local wynik=szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,nazwa_modulu, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) if( (tab_szablony[nazwa_szablonu]) or(tab_szablony_stronicowe_niekontenerowe[nazwa_szablonu]) or(tab_szablony_stronicowe_formatowania_tekstu[nazwa_szablonu]) or(tab_szablony_stronicowe_kontenerowe_formatowania_wzorowego[nazwa_szablonu]) )then if(not czy_artykul_korzystany)then tabela_parametrow_szablonu["nazwa przestrzeni nazw"]=tabela_parametrow_szablonu["nazwa przestrzeni nazw"] or nazwa_przestrzeni; tabela_parametrow_szablonu["nazwa jednostki"]=tabela_parametrow_szablonu["nazwa jednostki"] or (((nazwa_przestrzeni_ksiazki~="") and (nazwa_przestrzeni_ksiazki.."/") or "")..nazwa_ksiazki..((nazwa_artykulu~="") and ("/"..nazwa_artykulu) or "")) if(self)then local czy_link_lub_pobierz=mw.ustring.match(nazwa_szablonu,"^Link") or mw.ustring.match(nazwa_szablonu,"^Pobierz"); if(czy_link_lub_pobierz)then p.ZbieranieKontenerowychInformacjiReferencji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca); else p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu); end; end; end; return szablonowe_modul.KodSymbolicznySzablonu(nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow,true); end; return nil; end, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ---- instrukcje warunkowe; return szablonowe_modul.KodSymbolicznySzablonu(nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow,true); end, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ---- wywołania ramek Lua w Scribunto return szablonowe_modul.KodSymbolicznySzablonu(nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow,true); end, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ---- tagi szablonowe; return szablonowe_modul.KodSymbolicznySzablonu(nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow,true); end); czy_szablon_wszystko=czy_szablon_wszystko or true; if(wynik)then return wynik;end; elseif(obiekt=="ZMIENNA")then czy_szablon_wszystko=czy_szablon_wszystko or true; local zawartosc=mw.ustring.match(szablon,"^{{{(.*)}}}$"); if(zawartosc)then zawartosc=mw.ustring.gsub(zawartosc,"|","{{!}}"); return "{{(((}}"..zawartosc.."{{)))}}"; end; end; end); if((czy_szablon_wszystko)and(not bez_preprocess))then local frame=mw.getCurrentFrame(); tekst=frame:preprocess(tekst); end; lista_dwuelementowa[2]=tekst; end; --local __metatabelka=getmetatable(tabela_parametrow_szablonu); --if(__metatabelka)then setmetatable(tabela_parametrow_szablonu,nil);end; stronicowyparser_szablonytekstu_modul.DodawanieDoBazyStronySzablonuTekstu(tablica_zmiennych,wartosc_elementu,lista_dwuelementowa,obiekt,kod,tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,czy_artykul_korzystany); end; return; elseif(czy_artykul_korzystany)then if(czy_linkobiekt)then local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA) if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie="LinkObiekt:"..((uchwyt_obiektu)and uchwyt_obiektu or ""); end; end; p.GeneralneLinkowanie(self,obiekt,kod,tablica_zmiennych,tabela_parametrow_szablonu,"Obiekt",nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie); return; else if(stronicowyparser_obiekty_modul.szablony_z_lokalnym_spisem_rzeczy_strony[nazwa_szablonu_wywolania])then self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true; return; elseif(stronicowyparser_obiekty_modul.bez_uchwytow_spis_rzeczy_strony[nazwa_szablonu_wywolania])then self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci=true; self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=nil; local function KtorySzablonMaZwracacKategorie(uchwyt,__FUNKCJA) if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then local nazwa_ksiazki=tabela_parametrow_szablonu["nazwa książki"] or tabela_parametrow_szablonu[2] or ""; local artykul=tabela_parametrow_szablonu["nazwa artykułu"] or tabela_parametrow_szablonu[1] or ""; self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu_wywolania..":"..nazwa_ksiazki..((artykul)and ("/"..artykul) or "") end; end; p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,KtorySzablonMaZwracacKategorie); self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci=nil; if(not self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone)then self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true; self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=nil; else self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=nil; end; return; else local function KtorySzablonMaZwracacKategorie(uchwyt,__FUNKCJA) if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then local nazwy_modul=require("Module:Nazwy"); local nazwa_przestrzeni=tabela_parametrow_szablonu["nazwa przestrzeni nazw"] or ""; local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"] or ""; local nazwa_symulacyjnej_strony=((nazwa_przestrzeni~="") and (nazwa_przestrzeni..":") or "")..nazwa_jednostki; local uchwyt=nazwa_szablonu_wywolania..":"..nazwa_symulacyjnej_strony; self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=uchwyt; end; end; if((stronicowyparser_obiekty_modul.szablony_kontenerowe[nazwa_szablonu_wywolania]) or(szablony_strony_zbiorczej[nazwa_szablonu_wywolania]) )then if(szablony_wykorzystywane_przez_strony_zbiorcze[nazwa_szablonu_wywolania])then p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,true,KtorySzablonMaZwracacKategorie); else p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,nil,KtorySzablonMaZwracacKategorie); end; return; elseif((strona_zbiorcza)and(szablony_strony_zbiorczej[nazwa_szablonu_wywolania]))then p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,true,KtorySzablonMaZwracacKategorie); return; end; end; end; end; end; end; end; end; ---- local function GeneralnaAnalizaSzablonuStronicowegoParsera(uzyskano_w_wyniku_parsowania_wywolanie_szablonu,obiekt,kod,tab_numer) stronicowyparser_potrzebne_modul:AnalizaSzablonuStronicowegoParsera(uzyskano_w_wyniku_parsowania_wywolanie_szablonu,obiekt,kod,tab_numer,nazwa_modulu_aktualna_czy_biezaca,tablica_danych_parametrow_szablonu_strony,AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego); end; local function IterowaniePoElementachTekstu(tekst_rozwiniety_calego_artykulu,tab_numer) local iterator=szablonowe_modul:IteratorSzablonowyZakodowanegoTekstu(tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul); for uzyskano_w_wyniku_parsowania_wywolanie_szablonu,obiekt,kod in iterator do GeneralnaAnalizaSzablonuStronicowegoParsera(uzyskano_w_wyniku_parsowania_wywolanie_szablonu,obiekt,kod,tab_numer); end; end; IterowaniePoElementachTekstu(tekst_rozwiniety_calego_artykulu); ---- local tablica_danych_nazwy_artykulu=tablica_ksiazki.lista_podstron_woluminu[nazwa_artykulu] or {}; tablica_danych_nazwy_artykulu.uchwyty_i_numeracje=tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2; ---- local wiki_modul=require("Module:Wiki"); tablica_danych_nazwy_artykulu.link_wikidane={wiki_modul.KodyKlasStronyNaDanejWiki{["strona"]=nazwa_modulu_aktualna_czy_biezaca,["nagłówek"]=true,["aktywny"]=true,},}; ---- if(czy_artykul_korzystany)then if(analiza_stron_korzystanych_zbiorczych)then local stronicowyparser_stronasubst_modul=require("Module:StronicowyParser/StronaSubst"); tekst_rozwiniety_calego_artykulu=stronicowyparser_stronasubst_modul.LiczOperacjeStronZbiorczych(self,tekst_rozwiniety_calego_artykulu,tablica_ksiazki.spis,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); end; end; local strona; if(czy_artykul_korzystany)then strona="";else strona=nazwa_modulu;end; ---- if(czy_artykul_korzystany)then local stronicowyparser_szablonytekstu_modul=require("Module:StronicowyParser/SzablonyTekstu"); stronicowyparser_szablonytekstu_modul.UstawPobierzKorzystanie(tablica_zmiennych); tekst_rozwiniety_calego_artykulu=stronicowyparser_szablonytekstu_modul.AktualizowanieSzablonowychTekstowychKompletowaniaInformacjiTekstu(tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tablica_zmiennych,IterowaniePoElementachTekstu) or tekst_rozwiniety_calego_artykulu; end; ---- local toc; if(((czy_artykul_korzystany)and(self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane)) or((not czy_artykul_korzystany)and(self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone)))then ---- local tablica_obiektow_strony_danych_kodow_specjalnych_modul=nil; ---- tekst_rozwiniety_calego_artykulu,tablica_obiektow_strony_danych_kodow_specjalnych_modul=szablonowe_modul:KodowanieInaczejZakodowanychNormKodowychTekstuWedleJegoTablicyKodowania(tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,false); ---- local function KtorySzablonMaZwracacKategorieNaglowek(numeracja_aktualna,nazwa_szablonu) if(czy_artykul_korzystany)then if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"powtórka nagłowek w stronie korzystanej"))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"powtórka nagłowek w stronie korzystanej"); if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu..":"..(numeracja_aktualna or ""); end; end; else stronicowyparser_problemy_modul.DodawanieProblemowegoElementuDoTablicy(self,"powtórka nagłówek w stronie dołączonej",nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki) if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu..":"..(numeracja_aktualna or ""); end; end; end; local function KtorySzablonMaZwracacKategorieTekst(numeracja_aktualna,nazwa_szablonu) if(czy_artykul_korzystany)then if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"nagłówek w tekście rozdziału w stronie korzystanej"))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"nagłówek w tekście rozdziału w stronie korzystanej"); if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu..":"..(numeracja_aktualna or ""); end; end; else stronicowyparser_problemy_modul.DodawanieProblemowegoElementuDoTablicy(self,"nagłowek w tekście rozdziału w stronie dołączonej",nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu..":"..(numeracja_aktualna or ""); end; end; end; local function CzyJestTakiProblemJakoElementTablicy() return stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"nagłówek w tekście rozdziału w stronie korzystanej"); end; local nazwa_naglowka=stronicowyparser_obiekty_modul.nazwa_szablonu_wprowadzenia_tekstu; local stronicowyparser_glownafunkcjazbieraniadanych_modul=require("Module:StronicowyParser/GłównaFunkcjaZbieraniaDanychStron"); local tablica_naglowka_obiekty=tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2[nazwa_naglowka]; tablica_naglowka_obiekty.uchwyty_bez_numeracji={}; local toc=stronicowyparser_glownafunkcjazbieraniadanych_modul.SpisRzeczyWedlePodanegoTekstu(self,tekst_rozwiniety_calego_artykulu,strona, czy_artykul_korzystany,nil,tablica_naglowka_obiekty.uchwyty_bez_numeracji, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki, nazwa_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tablica_obiektow_strony_danych_kodow_specjalnych_modul,{KtorySzablonMaZwracacKategorieNaglowek,KtorySzablonMaZwracacKategorieTekst,CzyJestTakiProblemJakoElementTablicy},nil,tabela_elementow_strony_kodow); tablica_danych_nazwy_artykulu.TOC=toc; end; StronaSubstFunkcja(tablica_danych_nazwy_artykulu,tablica_ksiazki.spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); if(czy_artykul_korzystany)then self.tabela_listy_danych_analizy_ksiazki.link_wikidane=tablica_danych_nazwy_artykulu.link_wikidane; self.tabela_listy_danych_analizy_ksiazki.tablica_aktualnego_artykulu=tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2; self.tabela_listy_danych_analizy_ksiazki.tablica_aktualnej_przestrzeni_nazw=self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni]; self.tabela_listy_danych_analizy_ksiazki.tablica_ksiazek_w_danej_przestrzeni_nazw_ksiazki=self.tabela_listy_danych_analizy_ksiazki.tablica_aktualnej_przestrzeni_nazw[nazwa_przestrzeni_ksiazki]; self.tabela_listy_danych_analizy_ksiazki.tablica_aktualnej_ksiazki=self.tabela_listy_danych_analizy_ksiazki.tablica_ksiazek_w_danej_przestrzeni_nazw_ksiazki[nazwa_ksiazki]; --self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron=tablica_zmiennych; end; if(not czy_artykul_korzystany)then tablica_danych_nazwy_artykulu.dane_zebrane_ze_stron=tablica_zmiennych; if(not self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron_lista)then self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron_lista={};end; table.insert(self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron_lista,tablica_danych_nazwy_artykulu); else local dane_zebrane_ze_stron_lista=self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron_lista; if(dane_zebrane_ze_stron_lista)then for _,tablica_danych_nazwy_artykulu in ipairs(dane_zebrane_ze_stron_lista)do tablica_danych_nazwy_artykulu.dane_zebrane_ze_stron=nil; end; end; tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane=nil; end; return self.tabela_listy_danych_analizy_ksiazki,tablica_zmiennych,true; end; return p; b9ez5hkujl07llfbyca0dfr8j55y01h Wikipedysta:Persino/brudnopis8 2 61075 547072 499804 2026-06-20T18:55:44Z Persino 2851 547072 wikitext text/x-wiki {{PobierzŚródtekst|uchwyt=patrz|nazwa artykułu=|nazwa książki=Szablon:Śródtekst}} {{PobierzŚródtekst|uchwyt=patrz|nazwa artykułu=|nazwa książki=Szablon:Śródtekst}} cil3ov61ha4ru604tl7c0au73enxfrk Moduł:StronicowyParser/SzablonyTekstu 828 63668 547070 547058 2026-06-20T18:15:48Z Persino 2851 547070 Scribunto text/plain local p={}; function p.ParametrTekstowySzablonuTekstu(tabela_parametrow_szablonu) local tekst=tabela_parametrow_szablonu["tekst"] or tabela_parametrow_szablonu["treść"] or tabela_parametrow_szablonu[1]; return tekst; end; function p.SzablonTekstuBezPreProcess(tabela_parametrow_szablonu) return tabela_parametrow_szablonu["bez preprocess"]; end; function p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony(tablica_zmiennych,tablica_zmiennych2) if(tablica_zmiennych2.tablica_szablonu_tekstu_niekorzystanych)then if(not tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych)then tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych={};end; for _,pozycja in ipairs(tablica_zmiennych2.tablica_szablonu_tekstu_niekorzystanych)do table.insert(tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych,pozycja); end; end; end; function p.DodawanieDoBazyStronySzablonuTekstu(tablica_zmiennych,wartosc_elementu,lista_dwuelementowa,obiekt,kod,tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,czy_artykul_korzystany) if(not czy_artykul_korzystany)then if(not tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych)then tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych={};end; table.insert(tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych,{ {wartosc_elementu,lista_dwuelementowa,}, {}, {{tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,},obiekt,kod,}, {tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,}, }); else if(not tablica_zmiennych.tablica_szablonu_tekstu_korzystanych)then tablica_zmiennych.tablica_szablonu_tekstu_korzystanych={};end; table.insert(tablica_zmiennych.tablica_szablonu_tekstu_korzystanych,{ {wartosc_elementu,lista_dwuelementowa,}, {}, {{tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,},obiekt,kod,}, }); end; end; function p.UstawianiePobierz(tablica_zmiennych,tablica_zmiennych2,obiekt,kod,nazwa_obiektu,uchwyt_obiektu,czy_artykul_korzystany) local tablica_szablonu_tekstu; if(czy_artykul_korzystany)then tablica_szablonu_tekstu=tablica_zmiennych2.tablica_szablonu_tekstu_korzystanych; else tablica_szablonu_tekstu=tablica_zmiennych2.tablica_szablonu_tekstu_niekorzystanych; end; if(tablica_szablonu_tekstu)then for _,pozycja in ipairs(tablica_szablonu_tekstu)do local nazwa_obiektu_tekstu=pozycja[1][1]; local uchwyt_obiektu_tekstu=pozycja[1][2][1]; if((nazwa_obiektu_tekstu==nazwa_obiektu)and(uchwyt_obiektu_tekstu==uchwyt_obiektu))then local dodatkowe_elementy=pozycja[2]; local czy_tak=false; for _,pozycja_dodatkowe in ipairs(dodatkowe_elementy)do if((pozycja_dodatkowe[1]==obiekt)and(pozycja_dodatkowe[2]==kod))then czy_tak=true; break; end; end; if(not czy_tak)then local tab_numer; if(tablica_zmiennych)then tab_numer={}; for name,value in pairs(tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2)do tab_numer[name]=#tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2[name]; end; end; table.insert(dodatkowe_elementy,{obiekt,kod,tab_numer}); break; end; end; end; end; end; function p.UstawPobierzKorzystanie(tablica_zmiennych2) if(tablica_zmiennych2.tablica_szablonu_tekstu_linkowe_korzystane)then for _,pozycja in ipairs(tablica_zmiennych2.tablica_szablonu_tekstu_linkowe_korzystane)do if(not pozycja[3])then pozycja[3]=true; local nazwa_obiektu=pozycja[1][1]; local uchwyt_obiektu=pozycja[1][2]; local obiekt=pozycja[2][1]; local kod=pozycja[2][2]; p.UstawianiePobierz(nil,tablica_zmiennych2,obiekt,kod,nazwa_obiektu,uchwyt_obiektu,true); end; end; end; end; function p.ZamienianiePobierzNaKod(obiekt,kod,pozycja,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,czy_korzystane) local __tablica_analizy_obiektow_strony_dany_modul=(pozycja[4] or{})[1] or tablica_analizy_obiektow_strony_dany_modul; local __tablica_danych_parametrow_szablonu_strony=(pozycja[4] or {})[2] or tablica_danych_parametrow_szablonu_strony; local tabela_parametrow_szablonu=pozycja[3][1][1]; ---- local tekst=p.ParametrTekstowySzablonuTekstu(tabela_parametrow_szablonu); if(tekst)then local szablonowe_modul=require("Module:Szablonowe"); ---- local tab_analiza=szablonowe_modul.LiczbyParametroweInformacjiBazyKodowaniaWikikodu(); --local iterator=szablonowe_modul:IteratorSzablonowyZakodowanegoTekstu(tekst,nil,__tablica_analizy_obiektow_strony_dany_modul); local tab_numer={}; local tab_tak={}; local szablonowe_modul=require("Module:Szablonowe"); tekst=szablonowe_modul:ModyfikowanieKodowoSzablonoweZakodowanegoTekstu(tekst,nil,__tablica_analizy_obiektow_strony_dany_modul, function(szablon,obiekt,kod,poziom_iteracji,_,obiekt_rodzica,kod_rodzica,szablon_rodzica,_,_,poziom_iteracji_rodzica) obiekt_rodzica=obiekt_rodzica or true; kod_rodzica=kod_rodzica or true; local tab_tak_obiekt_rodzica=tab_tak[obiekt_rodzica]; if(not tab_tak_obiekt_rodzica)then tab_tak[obiekt_rodzica]={};tab_tak_obiekt_rodzica=tab_tak[obiekt_rodzica]end; local tab_tak_kod_rodzica=tab_tak_obiekt_rodzica[kod_rodzica]; if(not tab_tak_kod_rodzica)then tab_tak_obiekt_rodzica[kod_rodzica]={};tab_tak_kod_rodzica=tab_tak_obiekt_rodzica[kod_rodzica]end; local czy_tak=tab_tak_kod_rodzica[obiekt]; tab_tak_kod_rodzica[obiekt]=true; tab_numer[obiekt]=tab_numer[obiekt] or szablonowe_modul.NumerSzablonuObiektu(tablica_analizy_obiektow_strony_dany_modul,obiekt); local max_numer=tab_numer[obiekt]; local kod_temp=kod+max_numer; --tablica_analizy_obiektow_strony_dany_modul[obiekt][kod_temp]=szablon; local ile; if(not czy_tak)then szablon_rodzica,ile=mw.ustring.gsub(szablon_rodzica,szablonowe_modul.NormaWzoruKodowaniaTekstu(obiekt),function(kod) kod=tonumber(kod) or nil; return szablonowe_modul.NormaKoduKodowaniaTekstu(obiekt,kod+max_numer); end); end; local tab_obiekt=tab_analiza[obiekt]; if(tab_obiekt)then for _, wartosc in pairs(tab_obiekt)do local tab_wartosc=tablica_danych_parametrow_szablonu_strony[wartosc]; if(not tab_wartosc)then tablica_danych_parametrow_szablonu_strony[wartosc]={}; end; tablica_danych_parametrow_szablonu_strony[wartosc][kod_temp]=(__tablica_danych_parametrow_szablonu_strony[wartosc] or {})[kod]; end; end; if(poziom_iteracji>0)then tab_numer[obiekt_rodzica]=tab_numer[obiekt_rodzica] or szablonowe_modul.NumerSzablonuObiektu(tablica_analizy_obiektow_strony_dany_modul,obiekt_rodzica); local max_numer_rodzica=tab_numer[obiekt_rodzica]; kod_rodzica=kod_rodzica+max_numer_rodzica; end; if(not czy_tak)then return nil,szablon,obiekt,kod_temp,szablon_rodzica,obiekt_rodzica,kod_rodzica,tablica_analizy_obiektow_strony_dany_modul,max_numer_rodzica; else return nil,szablon,obiekt,kod_temp,nil,nil,nil,tablica_analizy_obiektow_strony_dany_modul,max_numer_rodzica; end; return; end); return tekst; ---- end; return; end; function p.EdytowanieSzablonoweTekstuTypuPobierz(szablon,obiekt,kod,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tablica_zmiennych) local function TempFunc(tablica_szablonu_tekstu,__funkcja,czy_korzystane) for _,pozycja in ipairs(tablica_szablonu_tekstu)do local tab_obiekty=pozycja[2]; for _,pozycja2 in ipairs(tab_obiekty)do local __obiekt=pozycja2[1]; local __kod=pozycja2[2]; if((__obiekt==obiekt)and(__kod==kod))then local szablon=__funkcja(obiekt,kod,pozycja,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,czy_korzystane); if(szablon)then tab_numer=pozycja2[3]; return szablon,tab_numer; end; return; end; end; end; end; local szablon;local tab_numer; if(tablica_zmiennych.tablica_szablonu_tekstu_korzystanych)then szablon,tab_numer=TempFunc(tablica_zmiennych.tablica_szablonu_tekstu_korzystanych,p.ZamienianiePobierzNaKod,true); end; if(not szablon)then if(tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych)then szablon,tab_numer=TempFunc(tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych,p.ZamienianiePobierzNaKod,false); end; end; if(szablon)then return szablon,tab_numer;end; return nil; end; function p.EdytowanieSzablonoweTekstuTypuNiePobierz(szablon,obiekt,kod,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tablica_zmiennych) local tablica_szablonu_tekstu_korzystanych=tablica_zmiennych.tablica_szablonu_tekstu_korzystanych; for _,pozycja in ipairs(tablica_szablonu_tekstu_korzystanych)do local __obiekt=pozycja[3][2]; local __kod=pozycja[3][3]; if((obiekt==__obiekt)and(kod==__kod))then local tabela_parametrow_szablonu=pozycja[3][1][1]; local tekst=p.ParametrTekstowySzablonuTekstu(tabela_parametrow_szablonu); if(tekst)then return tekst;end; return nil; end; end; return nil; end; function p.AktualizowanieSzablonowychTekstowychKompletowaniaInformacjiTekstu(tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tablica_zmiennych,IterowaniePoElementachTekstu) if((not tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych)and(not tablica_zmiennych.tablica_szablonu_tekstu_korzystanych))then return nil;end; if(tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych)then local function TempFunc(tablica_szablonu_tekstu) for _,pozycja in ipairs(tablica_szablonu_tekstu)do local tab_pobierz=pozycja[2]; for _,value in ipairs(tab_pobierz)do return true; end; end; return nil; end; if((not tablica_zmiennych.tablica_szablonu_tekstu_korzystanych)and(not TempFunc(tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych)))then return nil;end; end; local stronicowyparser_obiekty_modul=require("Module:StronicowyParser/obiekty"); local tab_pobierz_szablonu_tekstu=stronicowyparser_obiekty_modul.szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane.nienumerowane_obiekty_tekstu; local tab_szablony_tekstu=stronicowyparser_obiekty_modul.szablony_stronicowego_parsera.szablony_tekstu; local czy_pobierz=nil; local szablonowe_modul=require("Module:Szablonowe"); tekst_rozwiniety_calego_artykulu=szablonowe_modul:ModyfikowanieKodowoSzablonoweZakodowanegoTekstu(tekst_rozwiniety_calego_artykulu,nil,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod,poziom_iteracji) if(czy_pobierz)then szablon,tab_numer=p.EdytowanieSzablonoweTekstuTypuPobierz(szablon,obiekt,kod,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tablica_zmiennych); if(szablon)then IterowaniePoElementachTekstu(szablon,tab_numer); end; else szablon=p.EdytowanieSzablonoweTekstuTypuNiePobierz(szablon,obiekt,kod,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tablica_zmiennych) end; if(szablon)then return szablon;end; return nil; end,nil, function(szablon,obiekt,kod,poziom_iteracji) if(obiekt=="SZABLON")then local wynik=szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,pelna_nazwa_spisu_tresci_szablonowa,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow) ---- if(tab_pobierz_szablonu_tekstu[nazwa_szablonu])then czy_pobierz=true; return true; elseif(tab_szablony_tekstu[nazwa_szablonu])then czy_pobierz=false; return true; end; return nil; end); if(wynik)then return wynik;end; end; return nil; end); return tekst_rozwiniety_calego_artykulu; end; return p; hyek8b0ja3yg01uksy61cz0wh0yx64q Wikibooks:Moduły/StronicowyParser/SzablonyTekstu 4 63669 547066 547065 2026-06-20T12:23:48Z Persino 2851 /* {{Śródtytuł|p.DodawanieDoBazyStronySzablonuTekstu}}{{Code|p.DodawanieDoBazyStronySzablonuTekstu}} */ 547066 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/SzablonyTekstu}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} Ten moduł służy do obsługi szablonów: {{s|Śródtekst}} i {{s|PobierzŚródtekst}}. Stronicowy parser jak napotka szablon {{s|Śródtekst}}, to generuje tworzenie następujących tablic: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}, dla tych szablonów w artykule niekorzystanej, lub korzystanej według: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}}, jaki {{ZobaczTeż|tabele szablonu tekstu}}: <syntaxhighlight lang="lua"> if(not czy_artykul_korzystany)then if(not tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych)then tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych={};end; table.insert(tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych,{ {wartosc_elementu,lista_dwuelementowa[1],}, {}, {{tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,},obiekt,kod,}, {tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,}, }); else if(not tablica_zmiennych.tablica_szablonu_tekstu_korzystanych)then tablica_zmiennych.tablica_szablonu_tekstu_korzystanych={};end; table.insert(tablica_zmiennych.tablica_szablonu_tekstu_korzystanych,{ {wartosc_elementu,lista_dwuelementowa[1],}, {}, {{tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,},obiekt,kod,}, }); end; </syntaxhighlight> Z tych tabel korzysta, nie tylko, szablon: {{s|Śródtekst}}, ale też i: {{s|PobierzŚródtekst}}, przy pomocy oprogramowania modułu {{m|StronicowyParser}}. == {{Śródtytuł|p.ParametrTekstowySzablonuTekstu}}{{Code|p.ParametrTekstowySzablonuTekstu}} == Funkcja liczy element tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}, o nazwie {{Code|tekst}} {{Patrz|tekst}}, {{Code|treść}} {{Patrz|treść}} lub {{Code|1}} {{Patrz|1}}, i go zwraca: Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.ParametrTekstowySzablonuTekstu(tabela_parametrow_szablonu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{LinkPatrz|tabela_parametrow_szablonu}} - parametry szablonu {{s|Śródtekst}}, o różnych parametrach nazwanych lub nienazwanych. == {{Śródtytuł|p.SzablonTekstuBezPreProcess}}{{Code|p.SzablonTekstuBezPreProcess}} == Funkcja liczy element tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}, o nazwie {{Code|bez preprocess}} {{Patrz|bez preprocess}}, i go zwraca: Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SzablonTekstuBezPreProcess(tabela_parametrow_szablonu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu {{s|Śródtekst}}, o parametrach nazwanych lub nienazwanych. == {{Śródtytuł|p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony}}{{Code|p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony}} == Funkcja elementy tablicy: {{Code|tablica_zmiennych2}} {{Patrz|tablica_zmiennych2}}, przypisuje tablicy: {{Code|tablica_zmiennych}} {{Patrz|tablica_zmiennych}}, czyli do tego pierwszego dodaje elementy o nazwie: {{Code|tablica_zmiennych2.tablica_szablonu_tekstu_niekorzystanych}} {{Patrz|tablica_zmiennych2.tablica_szablonu_tekstu_niekorzystanych}}, do tablicy o nazwie: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}} {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}, a jeżeli ta tablica nie istnieje, to jest tworzona: Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony(tablica_zmiennych,tablica_zmiennych2)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}}, jest to tablica dla strony niekorzystanej, * {{Code|tablica_zmiennych2}} - jak w: {{LinkPatrz|tablica_zmiennych2}}, jest to tablica dla strony korzystanej, aktualnej strony, która jest wyświetlana na ekranie. == {{Śródtytuł|p.DodawanieDoBazyStronySzablonuTekstu}}{{Code|p.DodawanieDoBazyStronySzablonuTekstu}} == Szablon dodający elementy do tablicy bazy: {{LinkPatrz|tablica_zmiennych}} lub {{LinkPatrz|tablica_zmiennych2}}, szablonu: {{LinkPatrz|Śródtekst}}, tzn. do tablicy: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}, gdy {{LinkPatrz|czy_artykul_korzystany}}, jest równy wartości fałszywej, przeciwnie do: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}}. Te elementy są dodawane według następującego kodu: {{LinkZobaczTeż|tabele szablonu tekstu}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.DodawanieDoBazyStronySzablonuTekstu(tablica_zmiennych,wartosc_elementu,lista_dwuelementowa,obiekt,kod,tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,czy_artykul_korzystany)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}} lub {{LinkPatrz|tablica_zmiennych2}}, * {{Code|wartosc_elementu}} {{Patrz|wartosc_elementu}} - rodzaj elementu, jak: {{Code|Śródtekst}}, dla jednego z szablonów tekstu, * {{Code|lista_dwuelementowa}} {{Patrz|lista_dwuelementowa}} - tablica elementu tablicy zbierającej dane, element posiada tylko pierwszy element, który jest uchwytem, * {{Code|obiekt}} {{Patrz|obiekt}} i {{Code|kod}} {{Patrz|kod}} - obiekt i kod, szablonu typu {{s|Śródtekst}} {{Patrz|Śródtekst}} w tekście zakodowanym, * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}}, * {{Code|nazwa_szablonu_wywolania}} {{Patrz|nazwa_szablonu_wywolania}} - nazwa szablonu tekstu, typu, dla {{LinkPatrz|Śródtekst}}, * {{Code|modyfikatory_wywolania}} {{Patrz|modyfikatory_wywolania}} - tablica modyfikatorów uruchmienia szablonu {{LinkPatrz|Śródtekst}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{Patrz|tablica_analizy_obiektow_strony_dany_modul}} - tablica bazy kodów modułu {{m|Szablonowe}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - tablica rozkładu na czynniki pierwsze, elementów bazy {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}}, * {{Code|czy_artykul_korzystany}} {{Patrz|czy_artykul_korzystany}} - {{Code|true}}, gdy artykuł jest taki sam,jak strona w przeglądarce. == {{Śródtytuł|p.UstawianiePobierz}}{{Code|p.UstawianiePobierz}} == == {{Śródtytuł|p.UstawPobierzKorzystanie}}{{Code|p.UstawPobierzKorzystanie}} == == {{Śródtytuł|p.ZamienianiePobierzNaKod}}{{Code|p.ZamienianiePobierzNaKod}} == == {{Śródtytuł|p.EdytowanieSzablonoweTekstuTypuPobierz}}{{Code|p.EdytowanieSzablonoweTekstuTypuPobierz}} == == {{Śródtytuł|p.EdytowanieSzablonoweTekstuTypuNiePobierz}}{{Code|p.EdytowanieSzablonoweTekstuTypuNiePobierz}} == == {{Śródtytuł|p.AktualizowanieSzablonowychTekstowychKompletowaniaInformacjiTekstu}}{{Code|p.AktualizowanieSzablonowychTekstowychKompletowaniaInformacjiTekstu}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> c0k4j613sq89r7ou0t48mfm0yb10xnc 547067 547066 2026-06-20T14:33:11Z Persino 2851 /* {{Śródtytuł|p.DodawanieDoBazyStronySzablonuTekstu}}{{Code|p.DodawanieDoBazyStronySzablonuTekstu}} */ 547067 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/SzablonyTekstu}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} Ten moduł służy do obsługi szablonów: {{s|Śródtekst}} i {{s|PobierzŚródtekst}}. Stronicowy parser jak napotka szablon {{s|Śródtekst}}, to generuje tworzenie następujących tablic: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}, dla tych szablonów w artykule niekorzystanej, lub korzystanej według: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}}, jaki {{ZobaczTeż|tabele szablonu tekstu}}: <syntaxhighlight lang="lua"> if(not czy_artykul_korzystany)then if(not tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych)then tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych={};end; table.insert(tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych,{ {wartosc_elementu,lista_dwuelementowa[1],}, {}, {{tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,},obiekt,kod,}, {tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,}, }); else if(not tablica_zmiennych.tablica_szablonu_tekstu_korzystanych)then tablica_zmiennych.tablica_szablonu_tekstu_korzystanych={};end; table.insert(tablica_zmiennych.tablica_szablonu_tekstu_korzystanych,{ {wartosc_elementu,lista_dwuelementowa[1],}, {}, {{tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,},obiekt,kod,}, }); end; </syntaxhighlight> Z tych tabel korzysta, nie tylko, szablon: {{s|Śródtekst}}, ale też i: {{s|PobierzŚródtekst}}, przy pomocy oprogramowania modułu {{m|StronicowyParser}}. == {{Śródtytuł|p.ParametrTekstowySzablonuTekstu}}{{Code|p.ParametrTekstowySzablonuTekstu}} == Funkcja liczy element tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}, o nazwie {{Code|tekst}} {{Patrz|tekst}}, {{Code|treść}} {{Patrz|treść}} lub {{Code|1}} {{Patrz|1}}, i go zwraca: Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.ParametrTekstowySzablonuTekstu(tabela_parametrow_szablonu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{LinkPatrz|tabela_parametrow_szablonu}} - parametry szablonu {{s|Śródtekst}}, o różnych parametrach nazwanych lub nienazwanych. == {{Śródtytuł|p.SzablonTekstuBezPreProcess}}{{Code|p.SzablonTekstuBezPreProcess}} == Funkcja liczy element tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}, o nazwie {{Code|bez preprocess}} {{Patrz|bez preprocess}}, i go zwraca: Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SzablonTekstuBezPreProcess(tabela_parametrow_szablonu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu {{s|Śródtekst}}, o parametrach nazwanych lub nienazwanych. == {{Śródtytuł|p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony}}{{Code|p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony}} == Funkcja elementy tablicy: {{Code|tablica_zmiennych2}} {{Patrz|tablica_zmiennych2}}, przypisuje tablicy: {{Code|tablica_zmiennych}} {{Patrz|tablica_zmiennych}}, czyli do tego pierwszego dodaje elementy o nazwie: {{Code|tablica_zmiennych2.tablica_szablonu_tekstu_niekorzystanych}} {{Patrz|tablica_zmiennych2.tablica_szablonu_tekstu_niekorzystanych}}, do tablicy o nazwie: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}} {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}, a jeżeli ta tablica nie istnieje, to jest tworzona: Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony(tablica_zmiennych,tablica_zmiennych2)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}}, jest to tablica dla strony niekorzystanej, * {{Code|tablica_zmiennych2}} - jak w: {{LinkPatrz|tablica_zmiennych2}}, jest to tablica dla strony korzystanej, aktualnej strony, która jest wyświetlana na ekranie. == {{Śródtytuł|p.DodawanieDoBazyStronySzablonuTekstu}}{{Code|p.DodawanieDoBazyStronySzablonuTekstu}} == Szablon dodający elementy do tablicy bazy: {{LinkPatrz|tablica_zmiennych}} lub {{LinkPatrz|tablica_zmiennych2}}, szablonu: {{LinkPatrz|Śródtekst}}, tzn. do tablicy: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}, gdy {{LinkPatrz|czy_artykul_korzystany}}, jest równy wartości fałszywej, przeciwnie do: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}}. Te elementy są dodawane według następującego kodu: {{LinkZobaczTeż|tabele szablonu tekstu}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.DodawanieDoBazyStronySzablonuTekstu(tablica_zmiennych,wartosc_elementu,lista_dwuelementowa,obiekt,kod,tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,czy_artykul_korzystany)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}} lub {{LinkPatrz|tablica_zmiennych2}}, * {{Code|wartosc_elementu}} {{Patrz|wartosc_elementu}} - rodzaj elementu, jak: {{Code|Śródtekst}}, dla jednego z szablonów tekstu, * {{Code|lista_dwuelementowa}} {{Patrz|lista_dwuelementowa}} - tablica elementu tablicy zbierającej dane, element posiada tylko pierwszy element, który jest uchwytem, * {{Code|obiekt}} {{Patrz|obiekt}} i {{Code|kod}} {{Patrz|kod}} - obiekt i kod, szablonu typu {{s|Śródtekst}} {{Patrz|Śródtekst}} w tekście zakodowanym, * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}}, * {{Code|nazwa_szablonu_wywolania}} {{Patrz|nazwa_szablonu_wywolania}} - nazwa szablonu tekstu, typu, dla {{LinkPatrz|Śródtekst}}, * {{Code|modyfikatory_wywolania}} {{Patrz|modyfikatory_wywolania}} - tablica modyfikatorów uruchmienia szablonu {{LinkPatrz|Śródtekst}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{Patrz|tablica_analizy_obiektow_strony_dany_modul}} - tablica bazy kodów modułu {{m|Szablonowe}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - tablica rozkładu na czynniki pierwsze, elementów bazy {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}}, * {{Code|czy_artykul_korzystany}} {{Patrz|czy_artykul_korzystany}} - {{Code|true}}, gdy artykuł jest taki sam,jak strona w przeglądarce. Tablica jako drugi element dodawanej tablicy w kodzie: {{LinkZobaczTeż|tabele szablonu tekstu}}, to są tam podtablice, które są tablicami składających się z obiektu i kodu elementu {{s|PobierzŚródtekst}} {{Patrz|PobierzŚródtekst}}, tych podtablic może być z wiele dla różnych tych. == {{Śródtytuł|p.UstawianiePobierz}}{{Code|p.UstawianiePobierz}} == == {{Śródtytuł|p.UstawPobierzKorzystanie}}{{Code|p.UstawPobierzKorzystanie}} == == {{Śródtytuł|p.ZamienianiePobierzNaKod}}{{Code|p.ZamienianiePobierzNaKod}} == == {{Śródtytuł|p.EdytowanieSzablonoweTekstuTypuPobierz}}{{Code|p.EdytowanieSzablonoweTekstuTypuPobierz}} == == {{Śródtytuł|p.EdytowanieSzablonoweTekstuTypuNiePobierz}}{{Code|p.EdytowanieSzablonoweTekstuTypuNiePobierz}} == == {{Śródtytuł|p.AktualizowanieSzablonowychTekstowychKompletowaniaInformacjiTekstu}}{{Code|p.AktualizowanieSzablonowychTekstowychKompletowaniaInformacjiTekstu}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> 3zi9j6egf8hb9ms3z4vmq6qs5m9xgtl 547068 547067 2026-06-20T14:46:22Z Persino 2851 /* {{Śródtytuł|p.DodawanieDoBazyStronySzablonuTekstu}}{{Code|p.DodawanieDoBazyStronySzablonuTekstu}} */ 547068 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/SzablonyTekstu}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} Ten moduł służy do obsługi szablonów: {{s|Śródtekst}} i {{s|PobierzŚródtekst}}. Stronicowy parser jak napotka szablon {{s|Śródtekst}}, to generuje tworzenie następujących tablic: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}, dla tych szablonów w artykule niekorzystanej, lub korzystanej według: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}}, jaki {{ZobaczTeż|tabele szablonu tekstu}}: <syntaxhighlight lang="lua"> if(not czy_artykul_korzystany)then if(not tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych)then tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych={};end; table.insert(tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych,{ {wartosc_elementu,lista_dwuelementowa[1],}, {}, {{tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,},obiekt,kod,}, {tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,}, }); else if(not tablica_zmiennych.tablica_szablonu_tekstu_korzystanych)then tablica_zmiennych.tablica_szablonu_tekstu_korzystanych={};end; table.insert(tablica_zmiennych.tablica_szablonu_tekstu_korzystanych,{ {wartosc_elementu,lista_dwuelementowa[1],}, {}, {{tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,},obiekt,kod,}, }); end; </syntaxhighlight> Z tych tabel korzysta, nie tylko, szablon: {{s|Śródtekst}}, ale też i: {{s|PobierzŚródtekst}}, przy pomocy oprogramowania modułu {{m|StronicowyParser}}. == {{Śródtytuł|p.ParametrTekstowySzablonuTekstu}}{{Code|p.ParametrTekstowySzablonuTekstu}} == Funkcja liczy element tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}, o nazwie {{Code|tekst}} {{Patrz|tekst}}, {{Code|treść}} {{Patrz|treść}} lub {{Code|1}} {{Patrz|1}}, i go zwraca: Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.ParametrTekstowySzablonuTekstu(tabela_parametrow_szablonu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{LinkPatrz|tabela_parametrow_szablonu}} - parametry szablonu {{s|Śródtekst}}, o różnych parametrach nazwanych lub nienazwanych. == {{Śródtytuł|p.SzablonTekstuBezPreProcess}}{{Code|p.SzablonTekstuBezPreProcess}} == Funkcja liczy element tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}, o nazwie {{Code|bez preprocess}} {{Patrz|bez preprocess}}, i go zwraca: Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SzablonTekstuBezPreProcess(tabela_parametrow_szablonu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu {{s|Śródtekst}}, o parametrach nazwanych lub nienazwanych. == {{Śródtytuł|p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony}}{{Code|p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony}} == Funkcja elementy tablicy: {{Code|tablica_zmiennych2}} {{Patrz|tablica_zmiennych2}}, przypisuje tablicy: {{Code|tablica_zmiennych}} {{Patrz|tablica_zmiennych}}, czyli do tego pierwszego dodaje elementy o nazwie: {{Code|tablica_zmiennych2.tablica_szablonu_tekstu_niekorzystanych}} {{Patrz|tablica_zmiennych2.tablica_szablonu_tekstu_niekorzystanych}}, do tablicy o nazwie: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}} {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}, a jeżeli ta tablica nie istnieje, to jest tworzona: Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony(tablica_zmiennych,tablica_zmiennych2)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}}, jest to tablica dla strony niekorzystanej, * {{Code|tablica_zmiennych2}} - jak w: {{LinkPatrz|tablica_zmiennych2}}, jest to tablica dla strony korzystanej, aktualnej strony, która jest wyświetlana na ekranie. == {{Śródtytuł|p.DodawanieDoBazyStronySzablonuTekstu}}{{Code|p.DodawanieDoBazyStronySzablonuTekstu}} == Szablon dodający elementy do tablicy bazy: {{LinkPatrz|tablica_zmiennych}} lub {{LinkPatrz|tablica_zmiennych2}}, szablonu: {{LinkPatrz|Śródtekst}}, tzn. do tablicy: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}, gdy {{LinkPatrz|czy_artykul_korzystany}}, jest równy wartości fałszywej, przeciwnie do: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}}. Te elementy są dodawane według następującego kodu: {{LinkZobaczTeż|tabele szablonu tekstu}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.DodawanieDoBazyStronySzablonuTekstu(tablica_zmiennych,wartosc_elementu,lista_dwuelementowa,obiekt,kod,tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,czy_artykul_korzystany)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}} lub {{LinkPatrz|tablica_zmiennych2}}, * {{Code|wartosc_elementu}} {{Patrz|wartosc_elementu}} - rodzaj elementu, jak: {{Code|Śródtekst}}, dla jednego z szablonów tekstu, * {{Code|lista_dwuelementowa}} {{Patrz|lista_dwuelementowa}} - tablica elementu tablicy zbierającej dane, element posiada tylko pierwszy element, który jest uchwytem, * {{Code|obiekt}} {{Patrz|obiekt}} i {{Code|kod}} {{Patrz|kod}} - obiekt i kod, szablonu typu {{s|Śródtekst}} {{Patrz|Śródtekst}} w tekście zakodowanym, * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}}, * {{Code|nazwa_szablonu_wywolania}} {{Patrz|nazwa_szablonu_wywolania}} - nazwa szablonu tekstu, typu, dla {{LinkPatrz|Śródtekst}}, * {{Code|modyfikatory_wywolania}} {{Patrz|modyfikatory_wywolania}} - tablica modyfikatorów uruchmienia szablonu {{LinkPatrz|Śródtekst}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{Patrz|tablica_analizy_obiektow_strony_dany_modul}} - tablica bazy kodów modułu {{m|Szablonowe}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - tablica rozkładu na czynniki pierwsze, elementów bazy {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}}, * {{Code|czy_artykul_korzystany}} {{Patrz|czy_artykul_korzystany}} - {{Code|true}}, gdy artykuł jest taki sam,jak strona w przeglądarce. Tablica jako drugi element dodawanej tablicy w kodzie: {{LinkZobaczTeż|tabele szablonu tekstu}}, to są tam podtablice, które są tablicami składających się z obiektu i kodu elementu {{s|PobierzŚródtekst}} {{Patrz|PobierzŚródtekst}}, tych podtablic może być wiele dla różnych tych. == {{Śródtytuł|p.UstawianiePobierz}}{{Code|p.UstawianiePobierz}} == == {{Śródtytuł|p.UstawPobierzKorzystanie}}{{Code|p.UstawPobierzKorzystanie}} == == {{Śródtytuł|p.ZamienianiePobierzNaKod}}{{Code|p.ZamienianiePobierzNaKod}} == == {{Śródtytuł|p.EdytowanieSzablonoweTekstuTypuPobierz}}{{Code|p.EdytowanieSzablonoweTekstuTypuPobierz}} == == {{Śródtytuł|p.EdytowanieSzablonoweTekstuTypuNiePobierz}}{{Code|p.EdytowanieSzablonoweTekstuTypuNiePobierz}} == == {{Śródtytuł|p.AktualizowanieSzablonowychTekstowychKompletowaniaInformacjiTekstu}}{{Code|p.AktualizowanieSzablonowychTekstowychKompletowaniaInformacjiTekstu}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> kiim6s9xhw60w8s7izde6ot5ukpch9j 547071 547068 2026-06-20T18:17:31Z Persino 2851 547071 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/SzablonyTekstu}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} Ten moduł służy do obsługi szablonów: {{s|Śródtekst}} i {{s|PobierzŚródtekst}}. Stronicowy parser jak napotka szablon {{s|Śródtekst}}, to generuje tworzenie następujących tablic: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}, dla tych szablonów w artykule niekorzystanej, lub korzystanej według: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}}, jaki {{ZobaczTeż|tabele szablonu tekstu}}: <syntaxhighlight lang="lua"> if(not czy_artykul_korzystany)then if(not tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych)then tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych={};end; table.insert(tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych,{ {wartosc_elementu,lista_dwuelementowa,}, {}, {{tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,},obiekt,kod,}, {tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,}, }); else if(not tablica_zmiennych.tablica_szablonu_tekstu_korzystanych)then tablica_zmiennych.tablica_szablonu_tekstu_korzystanych={};end; table.insert(tablica_zmiennych.tablica_szablonu_tekstu_korzystanych,{ {wartosc_elementu,lista_dwuelementowa,}, {}, {{tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,},obiekt,kod,}, }); end; </syntaxhighlight> Z tych tabel korzysta, nie tylko, szablon: {{s|Śródtekst}}, ale też i: {{s|PobierzŚródtekst}}, przy pomocy oprogramowania modułu {{m|StronicowyParser}}. == {{Śródtytuł|p.ParametrTekstowySzablonuTekstu}}{{Code|p.ParametrTekstowySzablonuTekstu}} == Funkcja liczy element tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}, o nazwie {{Code|tekst}} {{Patrz|tekst}}, {{Code|treść}} {{Patrz|treść}} lub {{Code|1}} {{Patrz|1}}, i go zwraca: Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.ParametrTekstowySzablonuTekstu(tabela_parametrow_szablonu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{LinkPatrz|tabela_parametrow_szablonu}} - parametry szablonu {{s|Śródtekst}}, o różnych parametrach nazwanych lub nienazwanych. == {{Śródtytuł|p.SzablonTekstuBezPreProcess}}{{Code|p.SzablonTekstuBezPreProcess}} == Funkcja liczy element tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}, o nazwie {{Code|bez preprocess}} {{Patrz|bez preprocess}}, i go zwraca: Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SzablonTekstuBezPreProcess(tabela_parametrow_szablonu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu {{s|Śródtekst}}, o parametrach nazwanych lub nienazwanych. == {{Śródtytuł|p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony}}{{Code|p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony}} == Funkcja elementy tablicy: {{Code|tablica_zmiennych2}} {{Patrz|tablica_zmiennych2}}, przypisuje tablicy: {{Code|tablica_zmiennych}} {{Patrz|tablica_zmiennych}}, czyli do tego pierwszego dodaje elementy o nazwie: {{Code|tablica_zmiennych2.tablica_szablonu_tekstu_niekorzystanych}} {{Patrz|tablica_zmiennych2.tablica_szablonu_tekstu_niekorzystanych}}, do tablicy o nazwie: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}} {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}, a jeżeli ta tablica nie istnieje, to jest tworzona: Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony(tablica_zmiennych,tablica_zmiennych2)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}}, jest to tablica dla strony niekorzystanej, * {{Code|tablica_zmiennych2}} - jak w: {{LinkPatrz|tablica_zmiennych2}}, jest to tablica dla strony korzystanej, aktualnej strony, która jest wyświetlana na ekranie. == {{Śródtytuł|p.DodawanieDoBazyStronySzablonuTekstu}}{{Code|p.DodawanieDoBazyStronySzablonuTekstu}} == Szablon dodający elementy do tablicy bazy: {{LinkPatrz|tablica_zmiennych}} lub {{LinkPatrz|tablica_zmiennych2}}, szablonu: {{LinkPatrz|Śródtekst}}, tzn. do tablicy: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}, gdy {{LinkPatrz|czy_artykul_korzystany}}, jest równy wartości fałszywej, przeciwnie do: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}}. Te elementy są dodawane według następującego kodu: {{LinkZobaczTeż|tabele szablonu tekstu}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.DodawanieDoBazyStronySzablonuTekstu(tablica_zmiennych,wartosc_elementu,lista_dwuelementowa,obiekt,kod,tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,czy_artykul_korzystany)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}} lub {{LinkPatrz|tablica_zmiennych2}}, * {{Code|wartosc_elementu}} {{Patrz|wartosc_elementu}} - rodzaj elementu, jak: {{Code|Śródtekst}}, dla jednego z szablonów tekstu, * {{Code|lista_dwuelementowa}} {{Patrz|lista_dwuelementowa}} - tablica elementu tablicy zbierającej dane, element posiada tylko pierwszy element, który jest uchwytem, * {{Code|obiekt}} {{Patrz|obiekt}} i {{Code|kod}} {{Patrz|kod}} - obiekt i kod, szablonu typu {{s|Śródtekst}} {{Patrz|Śródtekst}} w tekście zakodowanym, * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}}, * {{Code|nazwa_szablonu_wywolania}} {{Patrz|nazwa_szablonu_wywolania}} - nazwa szablonu tekstu, typu, dla {{LinkPatrz|Śródtekst}}, * {{Code|modyfikatory_wywolania}} {{Patrz|modyfikatory_wywolania}} - tablica modyfikatorów uruchmienia szablonu {{LinkPatrz|Śródtekst}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{Patrz|tablica_analizy_obiektow_strony_dany_modul}} - tablica bazy kodów modułu {{m|Szablonowe}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - tablica rozkładu na czynniki pierwsze, elementów bazy {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}}, * {{Code|czy_artykul_korzystany}} {{Patrz|czy_artykul_korzystany}} - {{Code|true}}, gdy artykuł jest taki sam,jak strona w przeglądarce. Tablica jako drugi element dodawanej tablicy w kodzie: {{LinkZobaczTeż|tabele szablonu tekstu}}, to są tam podtablice, które są tablicami składających się z obiektu i kodu elementu {{s|PobierzŚródtekst}} {{Patrz|PobierzŚródtekst}}, tych podtablic może być wiele dla różnych tych. == {{Śródtytuł|p.UstawianiePobierz}}{{Code|p.UstawianiePobierz}} == == {{Śródtytuł|p.UstawPobierzKorzystanie}}{{Code|p.UstawPobierzKorzystanie}} == == {{Śródtytuł|p.ZamienianiePobierzNaKod}}{{Code|p.ZamienianiePobierzNaKod}} == == {{Śródtytuł|p.EdytowanieSzablonoweTekstuTypuPobierz}}{{Code|p.EdytowanieSzablonoweTekstuTypuPobierz}} == == {{Śródtytuł|p.EdytowanieSzablonoweTekstuTypuNiePobierz}}{{Code|p.EdytowanieSzablonoweTekstuTypuNiePobierz}} == == {{Śródtytuł|p.AktualizowanieSzablonowychTekstowychKompletowaniaInformacjiTekstu}}{{Code|p.AktualizowanieSzablonowychTekstowychKompletowaniaInformacjiTekstu}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> ppxc1gemzwh4b0aar1lklfjrcrxccz4 547076 547071 2026-06-21T08:40:43Z Persino 2851 547076 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/SzablonyTekstu}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} Ten moduł służy do obsługi szablonów: {{s|Śródtekst}} i {{s|PobierzŚródtekst}}. Stronicowy parser jak napotka szablon {{s|Śródtekst}}, to generuje tworzenie następujących tablic: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}, dla tych szablonów w artykule niekorzystanej, lub korzystanej według: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}}, jako {{ZobaczTeż|tabele szablonu tekstu}}: <syntaxhighlight lang="lua"> if(not czy_artykul_korzystany)then if(not tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych)then tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych={};end; table.insert(tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych,{ {wartosc_elementu,lista_dwuelementowa,}, {}, {{tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,},obiekt,kod,}, {tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,}, }); else if(not tablica_zmiennych.tablica_szablonu_tekstu_korzystanych)then tablica_zmiennych.tablica_szablonu_tekstu_korzystanych={};end; table.insert(tablica_zmiennych.tablica_szablonu_tekstu_korzystanych,{ {wartosc_elementu,lista_dwuelementowa,}, {}, {{tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,},obiekt,kod,}, }); end; </syntaxhighlight> Z tych tabel korzysta, nie tylko, szablon: {{s|Śródtekst}}, ale też i: {{s|PobierzŚródtekst}}, przy pomocy oprogramowania modułu {{m|StronicowyParser}}. == {{Śródtytuł|p.ParametrTekstowySzablonuTekstu}}{{Code|p.ParametrTekstowySzablonuTekstu}} == Funkcja liczy element tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}, o nazwie {{Code|tekst}} {{Patrz|tekst}}, {{Code|treść}} {{Patrz|treść}} lub {{Code|1}} {{Patrz|1}}, i go zwraca: Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.ParametrTekstowySzablonuTekstu(tabela_parametrow_szablonu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{LinkPatrz|tabela_parametrow_szablonu}} - parametry szablonu {{s|Śródtekst}}, o różnych parametrach nazwanych lub nienazwanych. == {{Śródtytuł|p.SzablonTekstuBezPreProcess}}{{Code|p.SzablonTekstuBezPreProcess}} == Funkcja liczy element tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}, o nazwie {{Code|bez preprocess}} {{Patrz|bez preprocess}}, i go zwraca: Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SzablonTekstuBezPreProcess(tabela_parametrow_szablonu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu {{s|Śródtekst}}, o parametrach nazwanych lub nienazwanych. == {{Śródtytuł|p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony}}{{Code|p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony}} == Funkcja elementy tablicy: {{Code|tablica_zmiennych2}} {{Patrz|tablica_zmiennych2}}, przypisuje tablicy: {{Code|tablica_zmiennych}} {{Patrz|tablica_zmiennych}}, czyli do tego pierwszego dodaje elementy o nazwie: {{Code|tablica_zmiennych2.tablica_szablonu_tekstu_niekorzystanych}} {{Patrz|tablica_zmiennych2.tablica_szablonu_tekstu_niekorzystanych}}, do tablicy o nazwie: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}} {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}, a jeżeli ta tablica nie istnieje, to jest tworzona: Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony(tablica_zmiennych,tablica_zmiennych2)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}}, jest to tablica dla strony niekorzystanej, * {{Code|tablica_zmiennych2}} - jak w: {{LinkPatrz|tablica_zmiennych2}}, jest to tablica dla strony korzystanej, aktualnej strony, która jest wyświetlana na ekranie. == {{Śródtytuł|p.DodawanieDoBazyStronySzablonuTekstu}}{{Code|p.DodawanieDoBazyStronySzablonuTekstu}} == Szablon dodający elementy do tablicy bazy: {{LinkPatrz|tablica_zmiennych}} lub {{LinkPatrz|tablica_zmiennych2}}, szablonu: {{LinkPatrz|Śródtekst}}, tzn. do tablicy: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}, gdy {{LinkPatrz|czy_artykul_korzystany}}, jest równy wartości fałszywej, przeciwnie do: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}}. Te elementy są dodawane według następującego kodu: {{LinkZobaczTeż|tabele szablonu tekstu}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.DodawanieDoBazyStronySzablonuTekstu(tablica_zmiennych,wartosc_elementu,lista_dwuelementowa,obiekt,kod,tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,czy_artykul_korzystany)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}} lub {{LinkPatrz|tablica_zmiennych2}}, * {{Code|wartosc_elementu}} {{Patrz|wartosc_elementu}} - rodzaj elementu, jak: {{Code|Śródtekst}}, dla jednego z szablonów tekstu, * {{Code|lista_dwuelementowa}} {{Patrz|lista_dwuelementowa}} - tablica elementu tablicy zbierającej dane, element posiada tylko pierwszy element, który jest uchwytem, * {{Code|obiekt}} {{Patrz|obiekt}} i {{Code|kod}} {{Patrz|kod}} - obiekt i kod, szablonu typu {{s|Śródtekst}} {{Patrz|Śródtekst}} w tekście zakodowanym, * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}}, * {{Code|nazwa_szablonu_wywolania}} {{Patrz|nazwa_szablonu_wywolania}} - nazwa szablonu tekstu, typu, dla {{LinkPatrz|Śródtekst}}, * {{Code|modyfikatory_wywolania}} {{Patrz|modyfikatory_wywolania}} - tablica modyfikatorów uruchmienia szablonu {{LinkPatrz|Śródtekst}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{Patrz|tablica_analizy_obiektow_strony_dany_modul}} - tablica bazy kodów modułu {{m|Szablonowe}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - tablica rozkładu na czynniki pierwsze, elementów bazy {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}}, * {{Code|czy_artykul_korzystany}} {{Patrz|czy_artykul_korzystany}} - {{Code|true}}, gdy artykuł jest taki sam,jak strona w przeglądarce. Tablica jako drugi element dodawanej tablicy w kodzie: {{LinkZobaczTeż|tabele szablonu tekstu}}, to są tam podtablice, które są tablicami składających się z obiektu i kodu elementu {{s|PobierzŚródtekst}} {{Patrz|PobierzŚródtekst}}, tych podtablic może być wiele dla różnych tych. == {{Śródtytuł|p.UstawianiePobierz}}{{Code|p.UstawianiePobierz}} == == {{Śródtytuł|p.UstawPobierzKorzystanie}}{{Code|p.UstawPobierzKorzystanie}} == == {{Śródtytuł|p.ZamienianiePobierzNaKod}}{{Code|p.ZamienianiePobierzNaKod}} == == {{Śródtytuł|p.EdytowanieSzablonoweTekstuTypuPobierz}}{{Code|p.EdytowanieSzablonoweTekstuTypuPobierz}} == == {{Śródtytuł|p.EdytowanieSzablonoweTekstuTypuNiePobierz}}{{Code|p.EdytowanieSzablonoweTekstuTypuNiePobierz}} == == {{Śródtytuł|p.AktualizowanieSzablonowychTekstowychKompletowaniaInformacjiTekstu}}{{Code|p.AktualizowanieSzablonowychTekstowychKompletowaniaInformacjiTekstu}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> c6gnku9zoih2du5ouzqogw48fc1pnot 547077 547076 2026-06-21T08:56:36Z Persino 2851 /* {{Śródtytuł|p.DodawanieDoBazyStronySzablonuTekstu}}{{Code|p.DodawanieDoBazyStronySzablonuTekstu}} */ 547077 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/SzablonyTekstu}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} Ten moduł służy do obsługi szablonów: {{s|Śródtekst}} i {{s|PobierzŚródtekst}}. Stronicowy parser jak napotka szablon {{s|Śródtekst}}, to generuje tworzenie następujących tablic: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}, dla tych szablonów w artykule niekorzystanej, lub korzystanej według: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}}, jako {{ZobaczTeż|tabele szablonu tekstu}}: <syntaxhighlight lang="lua"> if(not czy_artykul_korzystany)then if(not tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych)then tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych={};end; table.insert(tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych,{ {wartosc_elementu,lista_dwuelementowa,}, {}, {{tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,},obiekt,kod,}, {tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,}, }); else if(not tablica_zmiennych.tablica_szablonu_tekstu_korzystanych)then tablica_zmiennych.tablica_szablonu_tekstu_korzystanych={};end; table.insert(tablica_zmiennych.tablica_szablonu_tekstu_korzystanych,{ {wartosc_elementu,lista_dwuelementowa,}, {}, {{tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,},obiekt,kod,}, }); end; </syntaxhighlight> Z tych tabel korzysta, nie tylko, szablon: {{s|Śródtekst}}, ale też i: {{s|PobierzŚródtekst}}, przy pomocy oprogramowania modułu {{m|StronicowyParser}}. == {{Śródtytuł|p.ParametrTekstowySzablonuTekstu}}{{Code|p.ParametrTekstowySzablonuTekstu}} == Funkcja liczy element tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}, o nazwie {{Code|tekst}} {{Patrz|tekst}}, {{Code|treść}} {{Patrz|treść}} lub {{Code|1}} {{Patrz|1}}, i go zwraca: Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.ParametrTekstowySzablonuTekstu(tabela_parametrow_szablonu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{LinkPatrz|tabela_parametrow_szablonu}} - parametry szablonu {{s|Śródtekst}}, o różnych parametrach nazwanych lub nienazwanych. == {{Śródtytuł|p.SzablonTekstuBezPreProcess}}{{Code|p.SzablonTekstuBezPreProcess}} == Funkcja liczy element tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}, o nazwie {{Code|bez preprocess}} {{Patrz|bez preprocess}}, i go zwraca: Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SzablonTekstuBezPreProcess(tabela_parametrow_szablonu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu {{s|Śródtekst}}, o parametrach nazwanych lub nienazwanych. == {{Śródtytuł|p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony}}{{Code|p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony}} == Funkcja elementy tablicy: {{Code|tablica_zmiennych2}} {{Patrz|tablica_zmiennych2}}, przypisuje tablicy: {{Code|tablica_zmiennych}} {{Patrz|tablica_zmiennych}}, czyli do tego pierwszego dodaje elementy o nazwie: {{Code|tablica_zmiennych2.tablica_szablonu_tekstu_niekorzystanych}} {{Patrz|tablica_zmiennych2.tablica_szablonu_tekstu_niekorzystanych}}, do tablicy o nazwie: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}} {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}, a jeżeli ta tablica nie istnieje, to jest tworzona: Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony(tablica_zmiennych,tablica_zmiennych2)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}}, jest to tablica dla strony niekorzystanej, * {{Code|tablica_zmiennych2}} - jak w: {{LinkPatrz|tablica_zmiennych2}}, jest to tablica dla strony korzystanej, aktualnej strony, która jest wyświetlana na ekranie. == {{Śródtytuł|p.DodawanieDoBazyStronySzablonuTekstu}}{{Code|p.DodawanieDoBazyStronySzablonuTekstu}} == Szablon dodający elementy do tablicy bazy: {{LinkPatrz|tablica_zmiennych}} lub {{LinkPatrz|tablica_zmiennych2}}, szablonu: {{LinkPatrz|Śródtekst}}, tzn. do tablicy: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}, gdy {{LinkPatrz|czy_artykul_korzystany}}, jest równy wartości fałszywej, przeciwnie do: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}}. Te elementy są dodawane według następującego kodu: {{LinkZobaczTeż|tabele szablonu tekstu}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.DodawanieDoBazyStronySzablonuTekstu(tablica_zmiennych,wartosc_elementu,lista_dwuelementowa,obiekt,kod,tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,czy_artykul_korzystany)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}} lub {{LinkPatrz|tablica_zmiennych2}}, * {{Code|wartosc_elementu}} {{Patrz|wartosc_elementu}} - rodzaj elementu, jak: {{Code|Śródtekst}} {{Patrz|rodzaj: Śródtekst}}, dla jednego z szablonów tekstu, * {{Code|lista_dwuelementowa}} {{Patrz|lista_dwuelementowa}} - tablica elementu tablicy zbierającej dane, element posiada tylko pierwszy element, który jest uchwytem, * {{Code|obiekt}} {{Patrz|obiekt}} i {{Code|kod}} {{Patrz|kod}} - obiekt i kod, szablonu typu {{s|Śródtekst}} {{Patrz|Śródtekst}} w tekście zakodowanym, * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}}, * {{Code|nazwa_szablonu_wywolania}} {{Patrz|nazwa_szablonu_wywolania}} - nazwa szablonu tekstu, typu, dla {{LinkPatrz|Śródtekst}}, * {{Code|modyfikatory_wywolania}} {{Patrz|modyfikatory_wywolania}} - tablica modyfikatorów uruchmienia szablonu {{LinkPatrz|Śródtekst}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{Patrz|tablica_analizy_obiektow_strony_dany_modul}} - tablica bazy kodów modułu {{m|Szablonowe}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - tablica rozkładu na czynniki pierwsze, elementów bazy {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}}, * {{Code|czy_artykul_korzystany}} {{Patrz|czy_artykul_korzystany}} - {{Code|true}}, gdy artykuł jest taki sam,jak strona w przeglądarce. Tablica jako drugi element dodawanej tablicy w kodzie: {{LinkZobaczTeż|tabele szablonu tekstu}}, to są tam podtablice, które są tablicami składających się z obiektu i kodu elementu {{s|PobierzŚródtekst}} {{Patrz|PobierzŚródtekst}}, tych podtablic może być wiele dla różnych tych. == {{Śródtytuł|p.UstawianiePobierz}}{{Code|p.UstawianiePobierz}} == == {{Śródtytuł|p.UstawPobierzKorzystanie}}{{Code|p.UstawPobierzKorzystanie}} == == {{Śródtytuł|p.ZamienianiePobierzNaKod}}{{Code|p.ZamienianiePobierzNaKod}} == == {{Śródtytuł|p.EdytowanieSzablonoweTekstuTypuPobierz}}{{Code|p.EdytowanieSzablonoweTekstuTypuPobierz}} == == {{Śródtytuł|p.EdytowanieSzablonoweTekstuTypuNiePobierz}}{{Code|p.EdytowanieSzablonoweTekstuTypuNiePobierz}} == == {{Śródtytuł|p.AktualizowanieSzablonowychTekstowychKompletowaniaInformacjiTekstu}}{{Code|p.AktualizowanieSzablonowychTekstowychKompletowaniaInformacjiTekstu}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> s96tlhgqjyen8x4g869zwnoxhzf9qfa 547078 547077 2026-06-21T09:03:16Z Persino 2851 /* {{Śródtytuł|p.UstawianiePobierz}}{{Code|p.UstawianiePobierz}} */ 547078 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/SzablonyTekstu}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} Ten moduł służy do obsługi szablonów: {{s|Śródtekst}} i {{s|PobierzŚródtekst}}. Stronicowy parser jak napotka szablon {{s|Śródtekst}}, to generuje tworzenie następujących tablic: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}, dla tych szablonów w artykule niekorzystanej, lub korzystanej według: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}}, jako {{ZobaczTeż|tabele szablonu tekstu}}: <syntaxhighlight lang="lua"> if(not czy_artykul_korzystany)then if(not tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych)then tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych={};end; table.insert(tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych,{ {wartosc_elementu,lista_dwuelementowa,}, {}, {{tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,},obiekt,kod,}, {tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,}, }); else if(not tablica_zmiennych.tablica_szablonu_tekstu_korzystanych)then tablica_zmiennych.tablica_szablonu_tekstu_korzystanych={};end; table.insert(tablica_zmiennych.tablica_szablonu_tekstu_korzystanych,{ {wartosc_elementu,lista_dwuelementowa,}, {}, {{tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,},obiekt,kod,}, }); end; </syntaxhighlight> Z tych tabel korzysta, nie tylko, szablon: {{s|Śródtekst}}, ale też i: {{s|PobierzŚródtekst}}, przy pomocy oprogramowania modułu {{m|StronicowyParser}}. == {{Śródtytuł|p.ParametrTekstowySzablonuTekstu}}{{Code|p.ParametrTekstowySzablonuTekstu}} == Funkcja liczy element tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}, o nazwie {{Code|tekst}} {{Patrz|tekst}}, {{Code|treść}} {{Patrz|treść}} lub {{Code|1}} {{Patrz|1}}, i go zwraca: Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.ParametrTekstowySzablonuTekstu(tabela_parametrow_szablonu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{LinkPatrz|tabela_parametrow_szablonu}} - parametry szablonu {{s|Śródtekst}}, o różnych parametrach nazwanych lub nienazwanych. == {{Śródtytuł|p.SzablonTekstuBezPreProcess}}{{Code|p.SzablonTekstuBezPreProcess}} == Funkcja liczy element tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}, o nazwie {{Code|bez preprocess}} {{Patrz|bez preprocess}}, i go zwraca: Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SzablonTekstuBezPreProcess(tabela_parametrow_szablonu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu {{s|Śródtekst}}, o parametrach nazwanych lub nienazwanych. == {{Śródtytuł|p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony}}{{Code|p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony}} == Funkcja elementy tablicy: {{Code|tablica_zmiennych2}} {{Patrz|tablica_zmiennych2}}, przypisuje tablicy: {{Code|tablica_zmiennych}} {{Patrz|tablica_zmiennych}}, czyli do tego pierwszego dodaje elementy o nazwie: {{Code|tablica_zmiennych2.tablica_szablonu_tekstu_niekorzystanych}} {{Patrz|tablica_zmiennych2.tablica_szablonu_tekstu_niekorzystanych}}, do tablicy o nazwie: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}} {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}, a jeżeli ta tablica nie istnieje, to jest tworzona: Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony(tablica_zmiennych,tablica_zmiennych2)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}}, jest to tablica dla strony niekorzystanej, * {{Code|tablica_zmiennych2}} - jak w: {{LinkPatrz|tablica_zmiennych2}}, jest to tablica dla strony korzystanej, aktualnej strony, która jest wyświetlana na ekranie. == {{Śródtytuł|p.DodawanieDoBazyStronySzablonuTekstu}}{{Code|p.DodawanieDoBazyStronySzablonuTekstu}} == Szablon dodający elementy do tablicy bazy: {{LinkPatrz|tablica_zmiennych}} lub {{LinkPatrz|tablica_zmiennych2}}, szablonu: {{LinkPatrz|Śródtekst}}, tzn. do tablicy: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}, gdy {{LinkPatrz|czy_artykul_korzystany}}, jest równy wartości fałszywej, przeciwnie do: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}}. Te elementy są dodawane według następującego kodu: {{LinkZobaczTeż|tabele szablonu tekstu}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.DodawanieDoBazyStronySzablonuTekstu(tablica_zmiennych,wartosc_elementu,lista_dwuelementowa,obiekt,kod,tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,czy_artykul_korzystany)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}} lub {{LinkPatrz|tablica_zmiennych2}}, * {{Code|wartosc_elementu}} {{Patrz|wartosc_elementu}} - rodzaj elementu, jak: {{Code|Śródtekst}} {{Patrz|rodzaj: Śródtekst}}, dla jednego z szablonów tekstu, * {{Code|lista_dwuelementowa}} {{Patrz|lista_dwuelementowa}} - tablica elementu tablicy zbierającej dane, element posiada tylko pierwszy element, który jest uchwytem, * {{Code|obiekt}} {{Patrz|obiekt}} i {{Code|kod}} {{Patrz|kod}} - obiekt i kod, szablonu typu {{s|Śródtekst}} {{Patrz|Śródtekst}} w tekście zakodowanym, * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}}, * {{Code|nazwa_szablonu_wywolania}} {{Patrz|nazwa_szablonu_wywolania}} - nazwa szablonu tekstu, typu, dla {{LinkPatrz|Śródtekst}}, * {{Code|modyfikatory_wywolania}} {{Patrz|modyfikatory_wywolania}} - tablica modyfikatorów uruchmienia szablonu {{LinkPatrz|Śródtekst}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{Patrz|tablica_analizy_obiektow_strony_dany_modul}} - tablica bazy kodów modułu {{m|Szablonowe}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - tablica rozkładu na czynniki pierwsze, elementów bazy {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}}, * {{Code|czy_artykul_korzystany}} {{Patrz|czy_artykul_korzystany}} - {{Code|true}}, gdy artykuł jest taki sam,jak strona w przeglądarce. Tablica jako drugi element dodawanej tablicy w kodzie: {{LinkZobaczTeż|tabele szablonu tekstu}}, to są tam podtablice, które są tablicami składających się z obiektu i kodu elementu {{s|PobierzŚródtekst}} {{Patrz|PobierzŚródtekst}}, tych podtablic może być wiele dla różnych tych. == {{Śródtytuł|p.UstawianiePobierz}}{{Code|p.UstawianiePobierz}} == Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.UstawianiePobierz(tablica_zmiennych,tablica_zmiennych2,obiekt,kod,nazwa_obiektu,uchwyt_obiektu,czy_artykul_korzystany)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}}, * {{Code|tablica_zmiennych2}} - jak w: {{LinkPatrz|tablica_zmiennych2}}, * {{Code|obiekt}} {{Patrz|Pobierz: obiekt}} - obiekt, jak: {{LinkPatrz|rodzaj: Śródtekst}}, obiektu typu {{Code|Pobierz}} {{LinkPatrz|Pobierz}}, * {{Code|kod}} {{Patrz|Pobierz: kod}} - numer danego obiektu typu {{LinkPatrz|Pobierz}}, * {{Code|nazwa_obiektu}} {{Patrz|nazwa_obiektu}} - nazwa danego obiektu {{LinkPatrz|Śródtekst}}, * {{Code|uchwyt_obiektu}} {{Patrz|uchwyt_obiektu}} - unikalny uchwyt danego obiektu {{LinkPatrz|Śródtekst}}, * {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}}. == {{Śródtytuł|p.UstawPobierzKorzystanie}}{{Code|p.UstawPobierzKorzystanie}} == == {{Śródtytuł|p.ZamienianiePobierzNaKod}}{{Code|p.ZamienianiePobierzNaKod}} == == {{Śródtytuł|p.EdytowanieSzablonoweTekstuTypuPobierz}}{{Code|p.EdytowanieSzablonoweTekstuTypuPobierz}} == == {{Śródtytuł|p.EdytowanieSzablonoweTekstuTypuNiePobierz}}{{Code|p.EdytowanieSzablonoweTekstuTypuNiePobierz}} == == {{Śródtytuł|p.AktualizowanieSzablonowychTekstowychKompletowaniaInformacjiTekstu}}{{Code|p.AktualizowanieSzablonowychTekstowychKompletowaniaInformacjiTekstu}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> pyzhng1jqczy03mbm5ikskrj6i2so4x 547079 547078 2026-06-21T09:03:44Z Persino 2851 /* {{Śródtytuł|p.UstawianiePobierz}}{{Code|p.UstawianiePobierz}} */ 547079 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/SzablonyTekstu}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} Ten moduł służy do obsługi szablonów: {{s|Śródtekst}} i {{s|PobierzŚródtekst}}. Stronicowy parser jak napotka szablon {{s|Śródtekst}}, to generuje tworzenie następujących tablic: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}, dla tych szablonów w artykule niekorzystanej, lub korzystanej według: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}}, jako {{ZobaczTeż|tabele szablonu tekstu}}: <syntaxhighlight lang="lua"> if(not czy_artykul_korzystany)then if(not tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych)then tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych={};end; table.insert(tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych,{ {wartosc_elementu,lista_dwuelementowa,}, {}, {{tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,},obiekt,kod,}, {tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,}, }); else if(not tablica_zmiennych.tablica_szablonu_tekstu_korzystanych)then tablica_zmiennych.tablica_szablonu_tekstu_korzystanych={};end; table.insert(tablica_zmiennych.tablica_szablonu_tekstu_korzystanych,{ {wartosc_elementu,lista_dwuelementowa,}, {}, {{tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,},obiekt,kod,}, }); end; </syntaxhighlight> Z tych tabel korzysta, nie tylko, szablon: {{s|Śródtekst}}, ale też i: {{s|PobierzŚródtekst}}, przy pomocy oprogramowania modułu {{m|StronicowyParser}}. == {{Śródtytuł|p.ParametrTekstowySzablonuTekstu}}{{Code|p.ParametrTekstowySzablonuTekstu}} == Funkcja liczy element tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}, o nazwie {{Code|tekst}} {{Patrz|tekst}}, {{Code|treść}} {{Patrz|treść}} lub {{Code|1}} {{Patrz|1}}, i go zwraca: Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.ParametrTekstowySzablonuTekstu(tabela_parametrow_szablonu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{LinkPatrz|tabela_parametrow_szablonu}} - parametry szablonu {{s|Śródtekst}}, o różnych parametrach nazwanych lub nienazwanych. == {{Śródtytuł|p.SzablonTekstuBezPreProcess}}{{Code|p.SzablonTekstuBezPreProcess}} == Funkcja liczy element tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}, o nazwie {{Code|bez preprocess}} {{Patrz|bez preprocess}}, i go zwraca: Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SzablonTekstuBezPreProcess(tabela_parametrow_szablonu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu {{s|Śródtekst}}, o parametrach nazwanych lub nienazwanych. == {{Śródtytuł|p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony}}{{Code|p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony}} == Funkcja elementy tablicy: {{Code|tablica_zmiennych2}} {{Patrz|tablica_zmiennych2}}, przypisuje tablicy: {{Code|tablica_zmiennych}} {{Patrz|tablica_zmiennych}}, czyli do tego pierwszego dodaje elementy o nazwie: {{Code|tablica_zmiennych2.tablica_szablonu_tekstu_niekorzystanych}} {{Patrz|tablica_zmiennych2.tablica_szablonu_tekstu_niekorzystanych}}, do tablicy o nazwie: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}} {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}, a jeżeli ta tablica nie istnieje, to jest tworzona: Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony(tablica_zmiennych,tablica_zmiennych2)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}}, jest to tablica dla strony niekorzystanej, * {{Code|tablica_zmiennych2}} - jak w: {{LinkPatrz|tablica_zmiennych2}}, jest to tablica dla strony korzystanej, aktualnej strony, która jest wyświetlana na ekranie. == {{Śródtytuł|p.DodawanieDoBazyStronySzablonuTekstu}}{{Code|p.DodawanieDoBazyStronySzablonuTekstu}} == Szablon dodający elementy do tablicy bazy: {{LinkPatrz|tablica_zmiennych}} lub {{LinkPatrz|tablica_zmiennych2}}, szablonu: {{LinkPatrz|Śródtekst}}, tzn. do tablicy: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}, gdy {{LinkPatrz|czy_artykul_korzystany}}, jest równy wartości fałszywej, przeciwnie do: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}}. Te elementy są dodawane według następującego kodu: {{LinkZobaczTeż|tabele szablonu tekstu}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.DodawanieDoBazyStronySzablonuTekstu(tablica_zmiennych,wartosc_elementu,lista_dwuelementowa,obiekt,kod,tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,czy_artykul_korzystany)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}} lub {{LinkPatrz|tablica_zmiennych2}}, * {{Code|wartosc_elementu}} {{Patrz|wartosc_elementu}} - rodzaj elementu, jak: {{Code|Śródtekst}} {{Patrz|rodzaj: Śródtekst}}, dla jednego z szablonów tekstu, * {{Code|lista_dwuelementowa}} {{Patrz|lista_dwuelementowa}} - tablica elementu tablicy zbierającej dane, element posiada tylko pierwszy element, który jest uchwytem, * {{Code|obiekt}} {{Patrz|obiekt}} i {{Code|kod}} {{Patrz|kod}} - obiekt i kod, szablonu typu {{s|Śródtekst}} {{Patrz|Śródtekst}} w tekście zakodowanym, * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}}, * {{Code|nazwa_szablonu_wywolania}} {{Patrz|nazwa_szablonu_wywolania}} - nazwa szablonu tekstu, typu, dla {{LinkPatrz|Śródtekst}}, * {{Code|modyfikatory_wywolania}} {{Patrz|modyfikatory_wywolania}} - tablica modyfikatorów uruchmienia szablonu {{LinkPatrz|Śródtekst}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{Patrz|tablica_analizy_obiektow_strony_dany_modul}} - tablica bazy kodów modułu {{m|Szablonowe}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - tablica rozkładu na czynniki pierwsze, elementów bazy {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}}, * {{Code|czy_artykul_korzystany}} {{Patrz|czy_artykul_korzystany}} - {{Code|true}}, gdy artykuł jest taki sam,jak strona w przeglądarce. Tablica jako drugi element dodawanej tablicy w kodzie: {{LinkZobaczTeż|tabele szablonu tekstu}}, to są tam podtablice, które są tablicami składających się z obiektu i kodu elementu {{s|PobierzŚródtekst}} {{Patrz|PobierzŚródtekst}}, tych podtablic może być wiele dla różnych tych. == {{Śródtytuł|p.UstawianiePobierz}}{{Code|p.UstawianiePobierz}} == Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.UstawianiePobierz(tablica_zmiennych,tablica_zmiennych2,obiekt,kod,nazwa_obiektu,uchwyt_obiektu,czy_artykul_korzystany)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}}, * {{Code|tablica_zmiennych2}} - jak w: {{LinkPatrz|tablica_zmiennych2}}, * {{Code|obiekt}} {{Patrz|Pobierz: obiekt}} - obiekt, jak: {{LinkPatrz|rodzaj: Śródtekst}}, obiektu typu {{Code|Pobierz}} {{Patrz|Pobierz}}, * {{Code|kod}} {{Patrz|Pobierz: kod}} - numer danego obiektu typu {{LinkPatrz|Pobierz}}, * {{Code|nazwa_obiektu}} {{Patrz|nazwa_obiektu}} - nazwa danego obiektu {{LinkPatrz|Śródtekst}}, * {{Code|uchwyt_obiektu}} {{Patrz|uchwyt_obiektu}} - unikalny uchwyt danego obiektu {{LinkPatrz|Śródtekst}}, * {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}}. == {{Śródtytuł|p.UstawPobierzKorzystanie}}{{Code|p.UstawPobierzKorzystanie}} == == {{Śródtytuł|p.ZamienianiePobierzNaKod}}{{Code|p.ZamienianiePobierzNaKod}} == == {{Śródtytuł|p.EdytowanieSzablonoweTekstuTypuPobierz}}{{Code|p.EdytowanieSzablonoweTekstuTypuPobierz}} == == {{Śródtytuł|p.EdytowanieSzablonoweTekstuTypuNiePobierz}}{{Code|p.EdytowanieSzablonoweTekstuTypuNiePobierz}} == == {{Śródtytuł|p.AktualizowanieSzablonowychTekstowychKompletowaniaInformacjiTekstu}}{{Code|p.AktualizowanieSzablonowychTekstowychKompletowaniaInformacjiTekstu}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> r9omqnlvdwr390211loooj2z90exm4m 547080 547079 2026-06-21T09:15:42Z Persino 2851 /* {{Śródtytuł|p.UstawianiePobierz}}{{Code|p.UstawianiePobierz}} */ 547080 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/SzablonyTekstu}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} Ten moduł służy do obsługi szablonów: {{s|Śródtekst}} i {{s|PobierzŚródtekst}}. Stronicowy parser jak napotka szablon {{s|Śródtekst}}, to generuje tworzenie następujących tablic: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}, dla tych szablonów w artykule niekorzystanej, lub korzystanej według: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}}, jako {{ZobaczTeż|tabele szablonu tekstu}}: <syntaxhighlight lang="lua"> if(not czy_artykul_korzystany)then if(not tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych)then tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych={};end; table.insert(tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych,{ {wartosc_elementu,lista_dwuelementowa,}, {}, {{tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,},obiekt,kod,}, {tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,}, }); else if(not tablica_zmiennych.tablica_szablonu_tekstu_korzystanych)then tablica_zmiennych.tablica_szablonu_tekstu_korzystanych={};end; table.insert(tablica_zmiennych.tablica_szablonu_tekstu_korzystanych,{ {wartosc_elementu,lista_dwuelementowa,}, {}, {{tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,},obiekt,kod,}, }); end; </syntaxhighlight> Z tych tabel korzysta, nie tylko, szablon: {{s|Śródtekst}}, ale też i: {{s|PobierzŚródtekst}}, przy pomocy oprogramowania modułu {{m|StronicowyParser}}. == {{Śródtytuł|p.ParametrTekstowySzablonuTekstu}}{{Code|p.ParametrTekstowySzablonuTekstu}} == Funkcja liczy element tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}, o nazwie {{Code|tekst}} {{Patrz|tekst}}, {{Code|treść}} {{Patrz|treść}} lub {{Code|1}} {{Patrz|1}}, i go zwraca: Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.ParametrTekstowySzablonuTekstu(tabela_parametrow_szablonu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{LinkPatrz|tabela_parametrow_szablonu}} - parametry szablonu {{s|Śródtekst}}, o różnych parametrach nazwanych lub nienazwanych. == {{Śródtytuł|p.SzablonTekstuBezPreProcess}}{{Code|p.SzablonTekstuBezPreProcess}} == Funkcja liczy element tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}, o nazwie {{Code|bez preprocess}} {{Patrz|bez preprocess}}, i go zwraca: Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SzablonTekstuBezPreProcess(tabela_parametrow_szablonu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu {{s|Śródtekst}}, o parametrach nazwanych lub nienazwanych. == {{Śródtytuł|p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony}}{{Code|p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony}} == Funkcja elementy tablicy: {{Code|tablica_zmiennych2}} {{Patrz|tablica_zmiennych2}}, przypisuje tablicy: {{Code|tablica_zmiennych}} {{Patrz|tablica_zmiennych}}, czyli do tego pierwszego dodaje elementy o nazwie: {{Code|tablica_zmiennych2.tablica_szablonu_tekstu_niekorzystanych}} {{Patrz|tablica_zmiennych2.tablica_szablonu_tekstu_niekorzystanych}}, do tablicy o nazwie: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}} {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}, a jeżeli ta tablica nie istnieje, to jest tworzona: Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony(tablica_zmiennych,tablica_zmiennych2)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}}, jest to tablica dla strony niekorzystanej, * {{Code|tablica_zmiennych2}} - jak w: {{LinkPatrz|tablica_zmiennych2}}, jest to tablica dla strony korzystanej, aktualnej strony, która jest wyświetlana na ekranie. == {{Śródtytuł|p.DodawanieDoBazyStronySzablonuTekstu}}{{Code|p.DodawanieDoBazyStronySzablonuTekstu}} == Szablon dodający elementy do tablicy bazy: {{LinkPatrz|tablica_zmiennych}} lub {{LinkPatrz|tablica_zmiennych2}}, szablonu: {{LinkPatrz|Śródtekst}}, tzn. do tablicy: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}, gdy {{LinkPatrz|czy_artykul_korzystany}}, jest równy wartości fałszywej, przeciwnie do: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}}. Te elementy są dodawane według następującego kodu: {{LinkZobaczTeż|tabele szablonu tekstu}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.DodawanieDoBazyStronySzablonuTekstu(tablica_zmiennych,wartosc_elementu,lista_dwuelementowa,obiekt,kod,tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,czy_artykul_korzystany)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}} lub {{LinkPatrz|tablica_zmiennych2}}, * {{Code|wartosc_elementu}} {{Patrz|wartosc_elementu}} - rodzaj elementu, jak: {{Code|Śródtekst}} {{Patrz|rodzaj: Śródtekst}}, dla jednego z szablonów tekstu, * {{Code|lista_dwuelementowa}} {{Patrz|lista_dwuelementowa}} - tablica elementu tablicy zbierającej dane, element posiada tylko pierwszy element, który jest uchwytem, * {{Code|obiekt}} {{Patrz|obiekt}} i {{Code|kod}} {{Patrz|kod}} - obiekt i kod, szablonu typu {{s|Śródtekst}} {{Patrz|Śródtekst}} w tekście zakodowanym, * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}}, * {{Code|nazwa_szablonu_wywolania}} {{Patrz|nazwa_szablonu_wywolania}} - nazwa szablonu tekstu, typu, dla {{LinkPatrz|Śródtekst}}, * {{Code|modyfikatory_wywolania}} {{Patrz|modyfikatory_wywolania}} - tablica modyfikatorów uruchmienia szablonu {{LinkPatrz|Śródtekst}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{Patrz|tablica_analizy_obiektow_strony_dany_modul}} - tablica bazy kodów modułu {{m|Szablonowe}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - tablica rozkładu na czynniki pierwsze, elementów bazy {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}}, * {{Code|czy_artykul_korzystany}} {{Patrz|czy_artykul_korzystany}} - {{Code|true}}, gdy artykuł jest taki sam,jak strona w przeglądarce. Tablica jako drugi element dodawanej tablicy w kodzie: {{LinkZobaczTeż|tabele szablonu tekstu}}, to są tam podtablice, które są tablicami składających się z obiektu i kodu elementu {{s|PobierzŚródtekst}} {{Patrz|PobierzŚródtekst}}, tych podtablic może być wiele dla różnych tych. == {{Śródtytuł|p.UstawianiePobierz}}{{Code|p.UstawianiePobierz}} == Funkcja dodaje do danego elementu typu: {{LinkPatrz|rodzaj: Śródtekst}}, utworzonego na podstawie obiektów nie typu {{LinkPatrz|Pobierz}}, w postaci tablicy utworzonego z trzech elementów, tzn.: {{LinkPatrz|Pobierz: obiekt}} i {{LinkPatrz|Pobierz: kod}}, a trzeci element tablicy jest numerkiem nazwanym, ile w danym elemencie było wtedy aktualnie elenetów przed wywołaniem szablonu typu {{LinkPatrz|Pobierz}}. Ten element służy do wstawiania innych elementów do tablic nazwanych uchwytów oraz ich numerków (dla elementów numerowanych) lub nie, aby przesunąc od pewnego momentu ich zawartości do przodu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.UstawianiePobierz(tablica_zmiennych,tablica_zmiennych2,obiekt,kod,nazwa_obiektu,uchwyt_obiektu,czy_artykul_korzystany)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}}, * {{Code|tablica_zmiennych2}} - jak w: {{LinkPatrz|tablica_zmiennych2}}, * {{Code|obiekt}} {{Patrz|Pobierz: obiekt}} - obiekt, jak: {{LinkPatrz|rodzaj: Śródtekst}}, obiektu typu {{Code|Pobierz}} {{Patrz|Pobierz}}, * {{Code|kod}} {{Patrz|Pobierz: kod}} - numer danego obiektu typu {{LinkPatrz|Pobierz}}, * {{Code|nazwa_obiektu}} {{Patrz|nazwa_obiektu}} - nazwa danego obiektu {{LinkPatrz|Śródtekst}}, * {{Code|uchwyt_obiektu}} {{Patrz|uchwyt_obiektu}} - unikalny uchwyt danego obiektu {{LinkPatrz|Śródtekst}}, * {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}}. == {{Śródtytuł|p.UstawPobierzKorzystanie}}{{Code|p.UstawPobierzKorzystanie}} == == {{Śródtytuł|p.ZamienianiePobierzNaKod}}{{Code|p.ZamienianiePobierzNaKod}} == == {{Śródtytuł|p.EdytowanieSzablonoweTekstuTypuPobierz}}{{Code|p.EdytowanieSzablonoweTekstuTypuPobierz}} == == {{Śródtytuł|p.EdytowanieSzablonoweTekstuTypuNiePobierz}}{{Code|p.EdytowanieSzablonoweTekstuTypuNiePobierz}} == == {{Śródtytuł|p.AktualizowanieSzablonowychTekstowychKompletowaniaInformacjiTekstu}}{{Code|p.AktualizowanieSzablonowychTekstowychKompletowaniaInformacjiTekstu}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> qntfszbn55hujk3amu9uzo8j7tfhqgz 547081 547080 2026-06-21T09:28:36Z Persino 2851 /* {{Śródtytuł|p.UstawianiePobierz}}{{Code|p.UstawianiePobierz}} */ 547081 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/SzablonyTekstu}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} Ten moduł służy do obsługi szablonów: {{s|Śródtekst}} i {{s|PobierzŚródtekst}}. Stronicowy parser jak napotka szablon {{s|Śródtekst}}, to generuje tworzenie następujących tablic: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}, dla tych szablonów w artykule niekorzystanej, lub korzystanej według: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}}, jako {{ZobaczTeż|tabele szablonu tekstu}}: <syntaxhighlight lang="lua"> if(not czy_artykul_korzystany)then if(not tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych)then tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych={};end; table.insert(tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych,{ {wartosc_elementu,lista_dwuelementowa,}, {}, {{tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,},obiekt,kod,}, {tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,}, }); else if(not tablica_zmiennych.tablica_szablonu_tekstu_korzystanych)then tablica_zmiennych.tablica_szablonu_tekstu_korzystanych={};end; table.insert(tablica_zmiennych.tablica_szablonu_tekstu_korzystanych,{ {wartosc_elementu,lista_dwuelementowa,}, {}, {{tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,},obiekt,kod,}, }); end; </syntaxhighlight> Z tych tabel korzysta, nie tylko, szablon: {{s|Śródtekst}}, ale też i: {{s|PobierzŚródtekst}}, przy pomocy oprogramowania modułu {{m|StronicowyParser}}. == {{Śródtytuł|p.ParametrTekstowySzablonuTekstu}}{{Code|p.ParametrTekstowySzablonuTekstu}} == Funkcja liczy element tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}, o nazwie {{Code|tekst}} {{Patrz|tekst}}, {{Code|treść}} {{Patrz|treść}} lub {{Code|1}} {{Patrz|1}}, i go zwraca: Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.ParametrTekstowySzablonuTekstu(tabela_parametrow_szablonu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{LinkPatrz|tabela_parametrow_szablonu}} - parametry szablonu {{s|Śródtekst}}, o różnych parametrach nazwanych lub nienazwanych. == {{Śródtytuł|p.SzablonTekstuBezPreProcess}}{{Code|p.SzablonTekstuBezPreProcess}} == Funkcja liczy element tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}, o nazwie {{Code|bez preprocess}} {{Patrz|bez preprocess}}, i go zwraca: Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SzablonTekstuBezPreProcess(tabela_parametrow_szablonu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu {{s|Śródtekst}}, o parametrach nazwanych lub nienazwanych. == {{Śródtytuł|p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony}}{{Code|p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony}} == Funkcja elementy tablicy: {{Code|tablica_zmiennych2}} {{Patrz|tablica_zmiennych2}}, przypisuje tablicy: {{Code|tablica_zmiennych}} {{Patrz|tablica_zmiennych}}, czyli do tego pierwszego dodaje elementy o nazwie: {{Code|tablica_zmiennych2.tablica_szablonu_tekstu_niekorzystanych}} {{Patrz|tablica_zmiennych2.tablica_szablonu_tekstu_niekorzystanych}}, do tablicy o nazwie: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}} {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}, a jeżeli ta tablica nie istnieje, to jest tworzona: Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony(tablica_zmiennych,tablica_zmiennych2)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}}, jest to tablica dla strony niekorzystanej, * {{Code|tablica_zmiennych2}} - jak w: {{LinkPatrz|tablica_zmiennych2}}, jest to tablica dla strony korzystanej, aktualnej strony, która jest wyświetlana na ekranie. == {{Śródtytuł|p.DodawanieDoBazyStronySzablonuTekstu}}{{Code|p.DodawanieDoBazyStronySzablonuTekstu}} == Szablon dodający elementy do tablicy bazy: {{LinkPatrz|tablica_zmiennych}} lub {{LinkPatrz|tablica_zmiennych2}}, szablonu: {{LinkPatrz|Śródtekst}}, tzn. do tablicy: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}, gdy {{LinkPatrz|czy_artykul_korzystany}}, jest równy wartości fałszywej, przeciwnie do: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}}. Te elementy są dodawane według następującego kodu: {{LinkZobaczTeż|tabele szablonu tekstu}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.DodawanieDoBazyStronySzablonuTekstu(tablica_zmiennych,wartosc_elementu,lista_dwuelementowa,obiekt,kod,tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,czy_artykul_korzystany)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}} lub {{LinkPatrz|tablica_zmiennych2}}, * {{Code|wartosc_elementu}} {{Patrz|wartosc_elementu}} - rodzaj elementu, jak: {{Code|Śródtekst}} {{Patrz|rodzaj: Śródtekst}}, dla jednego z szablonów tekstu, * {{Code|lista_dwuelementowa}} {{Patrz|lista_dwuelementowa}} - tablica elementu tablicy zbierającej dane, element posiada tylko pierwszy element, który jest uchwytem, * {{Code|obiekt}} {{Patrz|obiekt}} i {{Code|kod}} {{Patrz|kod}} - obiekt i kod, szablonu typu {{s|Śródtekst}} {{Patrz|Śródtekst}} w tekście zakodowanym, * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}}, * {{Code|nazwa_szablonu_wywolania}} {{Patrz|nazwa_szablonu_wywolania}} - nazwa szablonu tekstu, typu, dla {{LinkPatrz|Śródtekst}}, * {{Code|modyfikatory_wywolania}} {{Patrz|modyfikatory_wywolania}} - tablica modyfikatorów uruchmienia szablonu {{LinkPatrz|Śródtekst}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{Patrz|tablica_analizy_obiektow_strony_dany_modul}} - tablica bazy kodów modułu {{m|Szablonowe}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - tablica rozkładu na czynniki pierwsze, elementów bazy {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}}, * {{Code|czy_artykul_korzystany}} {{Patrz|czy_artykul_korzystany}} - {{Code|true}}, gdy artykuł jest taki sam,jak strona w przeglądarce. Tablica jako drugi element dodawanej tablicy w kodzie: {{LinkZobaczTeż|tabele szablonu tekstu}}, to są tam podtablice, które są tablicami składających się z obiektu i kodu elementu {{s|PobierzŚródtekst}} {{Patrz|PobierzŚródtekst}}, tych podtablic może być wiele dla różnych tych. == {{Śródtytuł|p.UstawianiePobierz}}{{Code|p.UstawianiePobierz}} == Funkcja dodaje do danego elementu typu: {{LinkPatrz|rodzaj: Śródtekst}}, utworzonego na podstawie obiektów nie typu {{LinkPatrz|Pobierz}}, w postaci tablicy utworzonego z trzech elementów, tzn.: {{LinkPatrz|Pobierz: obiekt}} i {{LinkPatrz|Pobierz: kod}}, a trzeci element tablicy jest numerkiem nazwanym, ile w danym elemencie było wtedy aktualnie elenetów przed wywołaniem szablonu typu {{LinkPatrz|Pobierz}}, dla zmiennych w tablicach: {{LinkPatrz|tablica_zmiennych}}. Ten element służy do wstawiania innych elementów do tablic nazwanych uchwytów oraz ich numerków (dla elementów numerowanych) lub nie, aby przesunąc od pewnego momentu ich zawartości do przodu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.UstawianiePobierz(tablica_zmiennych,tablica_zmiennych2,obiekt,kod,nazwa_obiektu,uchwyt_obiektu,czy_artykul_korzystany)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}}, * {{Code|tablica_zmiennych2}} - jak w: {{LinkPatrz|tablica_zmiennych2}}, * {{Code|obiekt}} {{Patrz|Pobierz: obiekt}} - obiekt, jak: {{LinkPatrz|rodzaj: Śródtekst}}, obiektu typu {{Code|Pobierz}} {{Patrz|Pobierz}}, * {{Code|kod}} {{Patrz|Pobierz: kod}} - numer danego obiektu typu {{LinkPatrz|Pobierz}}, * {{Code|nazwa_obiektu}} {{Patrz|nazwa_obiektu}} - nazwa danego obiektu {{LinkPatrz|Śródtekst}}, * {{Code|uchwyt_obiektu}} {{Patrz|uchwyt_obiektu}} - unikalny uchwyt danego obiektu {{LinkPatrz|Śródtekst}}, * {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}}. Gdy: {{LinkPatrz|czy_artykul_korzystany}}, przyjmuje wartość {{Code|true}}, wtedy jest używana tablica: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}}, przeciwnie: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}, ale dla elementów typu: {{LinkPatrz|tablica_zmiennych2}}, na podstawie tego w ten sposób jest tworzona pewna tablica, te elementy są dodawane drugiej podtablicy w tablicy dodawanej w {{ZobaczTeż|tabele szablonu tekstu}}. == {{Śródtytuł|p.UstawPobierzKorzystanie}}{{Code|p.UstawPobierzKorzystanie}} == == {{Śródtytuł|p.ZamienianiePobierzNaKod}}{{Code|p.ZamienianiePobierzNaKod}} == == {{Śródtytuł|p.EdytowanieSzablonoweTekstuTypuPobierz}}{{Code|p.EdytowanieSzablonoweTekstuTypuPobierz}} == == {{Śródtytuł|p.EdytowanieSzablonoweTekstuTypuNiePobierz}}{{Code|p.EdytowanieSzablonoweTekstuTypuNiePobierz}} == == {{Śródtytuł|p.AktualizowanieSzablonowychTekstowychKompletowaniaInformacjiTekstu}}{{Code|p.AktualizowanieSzablonowychTekstowychKompletowaniaInformacjiTekstu}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> sz8c7otyb39w3azf6ms9slhdp2c2hax 547082 547081 2026-06-21T09:29:03Z Persino 2851 /* {{Śródtytuł|p.UstawianiePobierz}}{{Code|p.UstawianiePobierz}} */ 547082 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/SzablonyTekstu}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} Ten moduł służy do obsługi szablonów: {{s|Śródtekst}} i {{s|PobierzŚródtekst}}. Stronicowy parser jak napotka szablon {{s|Śródtekst}}, to generuje tworzenie następujących tablic: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}, dla tych szablonów w artykule niekorzystanej, lub korzystanej według: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}}, jako {{ZobaczTeż|tabele szablonu tekstu}}: <syntaxhighlight lang="lua"> if(not czy_artykul_korzystany)then if(not tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych)then tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych={};end; table.insert(tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych,{ {wartosc_elementu,lista_dwuelementowa,}, {}, {{tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,},obiekt,kod,}, {tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,}, }); else if(not tablica_zmiennych.tablica_szablonu_tekstu_korzystanych)then tablica_zmiennych.tablica_szablonu_tekstu_korzystanych={};end; table.insert(tablica_zmiennych.tablica_szablonu_tekstu_korzystanych,{ {wartosc_elementu,lista_dwuelementowa,}, {}, {{tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,},obiekt,kod,}, }); end; </syntaxhighlight> Z tych tabel korzysta, nie tylko, szablon: {{s|Śródtekst}}, ale też i: {{s|PobierzŚródtekst}}, przy pomocy oprogramowania modułu {{m|StronicowyParser}}. == {{Śródtytuł|p.ParametrTekstowySzablonuTekstu}}{{Code|p.ParametrTekstowySzablonuTekstu}} == Funkcja liczy element tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}, o nazwie {{Code|tekst}} {{Patrz|tekst}}, {{Code|treść}} {{Patrz|treść}} lub {{Code|1}} {{Patrz|1}}, i go zwraca: Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.ParametrTekstowySzablonuTekstu(tabela_parametrow_szablonu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{LinkPatrz|tabela_parametrow_szablonu}} - parametry szablonu {{s|Śródtekst}}, o różnych parametrach nazwanych lub nienazwanych. == {{Śródtytuł|p.SzablonTekstuBezPreProcess}}{{Code|p.SzablonTekstuBezPreProcess}} == Funkcja liczy element tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}, o nazwie {{Code|bez preprocess}} {{Patrz|bez preprocess}}, i go zwraca: Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SzablonTekstuBezPreProcess(tabela_parametrow_szablonu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu {{s|Śródtekst}}, o parametrach nazwanych lub nienazwanych. == {{Śródtytuł|p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony}}{{Code|p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony}} == Funkcja elementy tablicy: {{Code|tablica_zmiennych2}} {{Patrz|tablica_zmiennych2}}, przypisuje tablicy: {{Code|tablica_zmiennych}} {{Patrz|tablica_zmiennych}}, czyli do tego pierwszego dodaje elementy o nazwie: {{Code|tablica_zmiennych2.tablica_szablonu_tekstu_niekorzystanych}} {{Patrz|tablica_zmiennych2.tablica_szablonu_tekstu_niekorzystanych}}, do tablicy o nazwie: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}} {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}, a jeżeli ta tablica nie istnieje, to jest tworzona: Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony(tablica_zmiennych,tablica_zmiennych2)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}}, jest to tablica dla strony niekorzystanej, * {{Code|tablica_zmiennych2}} - jak w: {{LinkPatrz|tablica_zmiennych2}}, jest to tablica dla strony korzystanej, aktualnej strony, która jest wyświetlana na ekranie. == {{Śródtytuł|p.DodawanieDoBazyStronySzablonuTekstu}}{{Code|p.DodawanieDoBazyStronySzablonuTekstu}} == Szablon dodający elementy do tablicy bazy: {{LinkPatrz|tablica_zmiennych}} lub {{LinkPatrz|tablica_zmiennych2}}, szablonu: {{LinkPatrz|Śródtekst}}, tzn. do tablicy: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}, gdy {{LinkPatrz|czy_artykul_korzystany}}, jest równy wartości fałszywej, przeciwnie do: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}}. Te elementy są dodawane według następującego kodu: {{LinkZobaczTeż|tabele szablonu tekstu}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.DodawanieDoBazyStronySzablonuTekstu(tablica_zmiennych,wartosc_elementu,lista_dwuelementowa,obiekt,kod,tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,czy_artykul_korzystany)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}} lub {{LinkPatrz|tablica_zmiennych2}}, * {{Code|wartosc_elementu}} {{Patrz|wartosc_elementu}} - rodzaj elementu, jak: {{Code|Śródtekst}} {{Patrz|rodzaj: Śródtekst}}, dla jednego z szablonów tekstu, * {{Code|lista_dwuelementowa}} {{Patrz|lista_dwuelementowa}} - tablica elementu tablicy zbierającej dane, element posiada tylko pierwszy element, który jest uchwytem, * {{Code|obiekt}} {{Patrz|obiekt}} i {{Code|kod}} {{Patrz|kod}} - obiekt i kod, szablonu typu {{s|Śródtekst}} {{Patrz|Śródtekst}} w tekście zakodowanym, * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}}, * {{Code|nazwa_szablonu_wywolania}} {{Patrz|nazwa_szablonu_wywolania}} - nazwa szablonu tekstu, typu, dla {{LinkPatrz|Śródtekst}}, * {{Code|modyfikatory_wywolania}} {{Patrz|modyfikatory_wywolania}} - tablica modyfikatorów uruchmienia szablonu {{LinkPatrz|Śródtekst}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{Patrz|tablica_analizy_obiektow_strony_dany_modul}} - tablica bazy kodów modułu {{m|Szablonowe}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - tablica rozkładu na czynniki pierwsze, elementów bazy {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}}, * {{Code|czy_artykul_korzystany}} {{Patrz|czy_artykul_korzystany}} - {{Code|true}}, gdy artykuł jest taki sam,jak strona w przeglądarce. Tablica jako drugi element dodawanej tablicy w kodzie: {{LinkZobaczTeż|tabele szablonu tekstu}}, to są tam podtablice, które są tablicami składających się z obiektu i kodu elementu {{s|PobierzŚródtekst}} {{Patrz|PobierzŚródtekst}}, tych podtablic może być wiele dla różnych tych. == {{Śródtytuł|p.UstawianiePobierz}}{{Code|p.UstawianiePobierz}} == Funkcja dodaje do danego elementu typu: {{LinkPatrz|rodzaj: Śródtekst}}, utworzonego na podstawie obiektów nie typu {{LinkPatrz|Pobierz}}, w postaci tablicy utworzonego z trzech elementów, tzn.: {{LinkPatrz|Pobierz: obiekt}} i {{LinkPatrz|Pobierz: kod}}, a trzeci element tablicy jest numerkiem nazwanym, ile w danym elemencie było wtedy aktualnie elenetów przed wywołaniem szablonu typu {{LinkPatrz|Pobierz}}, dla zmiennych w tablicach: {{LinkPatrz|tablica_zmiennych}}. Ten element służy do wstawiania innych elementów do tablic nazwanych uchwytów oraz ich numerków (dla elementów numerowanych) lub nie, aby przesunąc od pewnego momentu ich zawartości do przodu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.UstawianiePobierz(tablica_zmiennych,tablica_zmiennych2,obiekt,kod,nazwa_obiektu,uchwyt_obiektu,czy_artykul_korzystany)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}}, * {{Code|tablica_zmiennych2}} - jak w: {{LinkPatrz|tablica_zmiennych2}}, * {{Code|obiekt}} {{Patrz|Pobierz: obiekt}} - obiekt, jak: {{LinkPatrz|rodzaj: Śródtekst}}, obiektu typu {{Code|Pobierz}} {{Patrz|Pobierz}}, * {{Code|kod}} {{Patrz|Pobierz: kod}} - numer danego obiektu typu {{LinkPatrz|Pobierz}}, * {{Code|nazwa_obiektu}} {{Patrz|nazwa_obiektu}} - nazwa danego obiektu {{LinkPatrz|Śródtekst}}, * {{Code|uchwyt_obiektu}} {{Patrz|uchwyt_obiektu}} - unikalny uchwyt danego obiektu {{LinkPatrz|Śródtekst}}, * {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}}. Gdy: {{LinkPatrz|czy_artykul_korzystany}}, przyjmuje wartość {{Code|true}}, wtedy jest używana tablica: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}}, przeciwnie: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}, ale dla elementów typu: {{LinkPatrz|tablica_zmiennych2}}, na podstawie tego w ten sposób jest tworzona pewna tablica, te elementy są dodawane drugiej podtablicy w tablicy dodawanej w {{LinkZobaczTeż|tabele szablonu tekstu}}. == {{Śródtytuł|p.UstawPobierzKorzystanie}}{{Code|p.UstawPobierzKorzystanie}} == == {{Śródtytuł|p.ZamienianiePobierzNaKod}}{{Code|p.ZamienianiePobierzNaKod}} == == {{Śródtytuł|p.EdytowanieSzablonoweTekstuTypuPobierz}}{{Code|p.EdytowanieSzablonoweTekstuTypuPobierz}} == == {{Śródtytuł|p.EdytowanieSzablonoweTekstuTypuNiePobierz}}{{Code|p.EdytowanieSzablonoweTekstuTypuNiePobierz}} == == {{Śródtytuł|p.AktualizowanieSzablonowychTekstowychKompletowaniaInformacjiTekstu}}{{Code|p.AktualizowanieSzablonowychTekstowychKompletowaniaInformacjiTekstu}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> 6diqlalnl214kqrjs4wea4purhx6diw 547083 547082 2026-06-21T09:29:33Z Persino 2851 /* {{Śródtytuł|p.UstawianiePobierz}}{{Code|p.UstawianiePobierz}} */ 547083 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/SzablonyTekstu}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} Ten moduł służy do obsługi szablonów: {{s|Śródtekst}} i {{s|PobierzŚródtekst}}. Stronicowy parser jak napotka szablon {{s|Śródtekst}}, to generuje tworzenie następujących tablic: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}, dla tych szablonów w artykule niekorzystanej, lub korzystanej według: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}}, jako {{ZobaczTeż|tabele szablonu tekstu}}: <syntaxhighlight lang="lua"> if(not czy_artykul_korzystany)then if(not tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych)then tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych={};end; table.insert(tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych,{ {wartosc_elementu,lista_dwuelementowa,}, {}, {{tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,},obiekt,kod,}, {tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,}, }); else if(not tablica_zmiennych.tablica_szablonu_tekstu_korzystanych)then tablica_zmiennych.tablica_szablonu_tekstu_korzystanych={};end; table.insert(tablica_zmiennych.tablica_szablonu_tekstu_korzystanych,{ {wartosc_elementu,lista_dwuelementowa,}, {}, {{tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,},obiekt,kod,}, }); end; </syntaxhighlight> Z tych tabel korzysta, nie tylko, szablon: {{s|Śródtekst}}, ale też i: {{s|PobierzŚródtekst}}, przy pomocy oprogramowania modułu {{m|StronicowyParser}}. == {{Śródtytuł|p.ParametrTekstowySzablonuTekstu}}{{Code|p.ParametrTekstowySzablonuTekstu}} == Funkcja liczy element tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}, o nazwie {{Code|tekst}} {{Patrz|tekst}}, {{Code|treść}} {{Patrz|treść}} lub {{Code|1}} {{Patrz|1}}, i go zwraca: Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.ParametrTekstowySzablonuTekstu(tabela_parametrow_szablonu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{LinkPatrz|tabela_parametrow_szablonu}} - parametry szablonu {{s|Śródtekst}}, o różnych parametrach nazwanych lub nienazwanych. == {{Śródtytuł|p.SzablonTekstuBezPreProcess}}{{Code|p.SzablonTekstuBezPreProcess}} == Funkcja liczy element tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}, o nazwie {{Code|bez preprocess}} {{Patrz|bez preprocess}}, i go zwraca: Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SzablonTekstuBezPreProcess(tabela_parametrow_szablonu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu {{s|Śródtekst}}, o parametrach nazwanych lub nienazwanych. == {{Śródtytuł|p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony}}{{Code|p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony}} == Funkcja elementy tablicy: {{Code|tablica_zmiennych2}} {{Patrz|tablica_zmiennych2}}, przypisuje tablicy: {{Code|tablica_zmiennych}} {{Patrz|tablica_zmiennych}}, czyli do tego pierwszego dodaje elementy o nazwie: {{Code|tablica_zmiennych2.tablica_szablonu_tekstu_niekorzystanych}} {{Patrz|tablica_zmiennych2.tablica_szablonu_tekstu_niekorzystanych}}, do tablicy o nazwie: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}} {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}, a jeżeli ta tablica nie istnieje, to jest tworzona: Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony(tablica_zmiennych,tablica_zmiennych2)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}}, jest to tablica dla strony niekorzystanej, * {{Code|tablica_zmiennych2}} - jak w: {{LinkPatrz|tablica_zmiennych2}}, jest to tablica dla strony korzystanej, aktualnej strony, która jest wyświetlana na ekranie. == {{Śródtytuł|p.DodawanieDoBazyStronySzablonuTekstu}}{{Code|p.DodawanieDoBazyStronySzablonuTekstu}} == Szablon dodający elementy do tablicy bazy: {{LinkPatrz|tablica_zmiennych}} lub {{LinkPatrz|tablica_zmiennych2}}, szablonu: {{LinkPatrz|Śródtekst}}, tzn. do tablicy: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}, gdy {{LinkPatrz|czy_artykul_korzystany}}, jest równy wartości fałszywej, przeciwnie do: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}}. Te elementy są dodawane według następującego kodu: {{LinkZobaczTeż|tabele szablonu tekstu}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.DodawanieDoBazyStronySzablonuTekstu(tablica_zmiennych,wartosc_elementu,lista_dwuelementowa,obiekt,kod,tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,czy_artykul_korzystany)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}} lub {{LinkPatrz|tablica_zmiennych2}}, * {{Code|wartosc_elementu}} {{Patrz|wartosc_elementu}} - rodzaj elementu, jak: {{Code|Śródtekst}} {{Patrz|rodzaj: Śródtekst}}, dla jednego z szablonów tekstu, * {{Code|lista_dwuelementowa}} {{Patrz|lista_dwuelementowa}} - tablica elementu tablicy zbierającej dane, element posiada tylko pierwszy element, który jest uchwytem, * {{Code|obiekt}} {{Patrz|obiekt}} i {{Code|kod}} {{Patrz|kod}} - obiekt i kod, szablonu typu {{s|Śródtekst}} {{Patrz|Śródtekst}} w tekście zakodowanym, * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}}, * {{Code|nazwa_szablonu_wywolania}} {{Patrz|nazwa_szablonu_wywolania}} - nazwa szablonu tekstu, typu, dla {{LinkPatrz|Śródtekst}}, * {{Code|modyfikatory_wywolania}} {{Patrz|modyfikatory_wywolania}} - tablica modyfikatorów uruchmienia szablonu {{LinkPatrz|Śródtekst}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{Patrz|tablica_analizy_obiektow_strony_dany_modul}} - tablica bazy kodów modułu {{m|Szablonowe}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - tablica rozkładu na czynniki pierwsze, elementów bazy {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}}, * {{Code|czy_artykul_korzystany}} {{Patrz|czy_artykul_korzystany}} - {{Code|true}}, gdy artykuł jest taki sam,jak strona w przeglądarce. Tablica jako drugi element dodawanej tablicy w kodzie: {{LinkZobaczTeż|tabele szablonu tekstu}}, to są tam podtablice, które są tablicami składających się z obiektu i kodu elementu {{s|PobierzŚródtekst}} {{Patrz|PobierzŚródtekst}}, tych podtablic może być wiele dla różnych tych. == {{Śródtytuł|p.UstawianiePobierz}}{{Code|p.UstawianiePobierz}} == Funkcja dodaje do danego elementu typu: {{LinkPatrz|rodzaj: Śródtekst}}, utworzonego na podstawie obiektów nie typu {{LinkPatrz|Pobierz}}, w postaci tablicy utworzonego z trzech elementów, tzn.: {{LinkPatrz|Pobierz: obiekt}} i {{LinkPatrz|Pobierz: kod}}, a trzeci element tablicy jest numerkiem nazwanym, ile w danym elemencie było wtedy aktualnie elenetów przed wywołaniem szablonu typu {{LinkPatrz|Pobierz}}, dla zmiennych w tablicach: {{LinkPatrz|tablica_zmiennych}}. Ten element służy do wstawiania innych elementów do tablic nazwanych uchwytów oraz ich numerków (dla elementów numerowanych) lub nie, aby przesunąc od pewnego momentu ich zawartości do przodu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.UstawianiePobierz(tablica_zmiennych,tablica_zmiennych2,obiekt,kod,nazwa_obiektu,uchwyt_obiektu,czy_artykul_korzystany)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}}, * {{Code|tablica_zmiennych2}} - jak w: {{LinkPatrz|tablica_zmiennych2}}, * {{Code|obiekt}} {{Patrz|Pobierz: obiekt}} - obiekt, jak: {{LinkPatrz|rodzaj: Śródtekst}}, obiektu typu {{Code|Pobierz}} {{Patrz|Pobierz}}, * {{Code|kod}} {{Patrz|Pobierz: kod}} - numer danego obiektu typu {{LinkPatrz|Pobierz}}, * {{Code|nazwa_obiektu}} {{Patrz|nazwa_obiektu}} - nazwa danego obiektu {{LinkPatrz|Śródtekst}}, * {{Code|uchwyt_obiektu}} {{Patrz|uchwyt_obiektu}} - unikalny uchwyt danego obiektu {{LinkPatrz|Śródtekst}}, * {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}}. Gdy: {{LinkPatrz|czy_artykul_korzystany}}, przyjmuje wartość {{Code|true}}, wtedy jest używana tablica: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}}, przeciwnie: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}, ale dla elementów typu: {{LinkPatrz|tablica_zmiennych2}}, na podstawie tego w ten sposób jest tworzona pewna tablica, te elementy są dodawane do drugiej podtablicy w tablicy dodawanej w {{LinkZobaczTeż|tabele szablonu tekstu}}. == {{Śródtytuł|p.UstawPobierzKorzystanie}}{{Code|p.UstawPobierzKorzystanie}} == == {{Śródtytuł|p.ZamienianiePobierzNaKod}}{{Code|p.ZamienianiePobierzNaKod}} == == {{Śródtytuł|p.EdytowanieSzablonoweTekstuTypuPobierz}}{{Code|p.EdytowanieSzablonoweTekstuTypuPobierz}} == == {{Śródtytuł|p.EdytowanieSzablonoweTekstuTypuNiePobierz}}{{Code|p.EdytowanieSzablonoweTekstuTypuNiePobierz}} == == {{Śródtytuł|p.AktualizowanieSzablonowychTekstowychKompletowaniaInformacjiTekstu}}{{Code|p.AktualizowanieSzablonowychTekstowychKompletowaniaInformacjiTekstu}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> ap4cbfxc2592agmael39m7nvk5rum32 547084 547083 2026-06-21T09:48:08Z Persino 2851 /* {{Śródtytuł|p.UstawPobierzKorzystanie}}{{Code|p.UstawPobierzKorzystanie}} */ 547084 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/SzablonyTekstu}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} Ten moduł służy do obsługi szablonów: {{s|Śródtekst}} i {{s|PobierzŚródtekst}}. Stronicowy parser jak napotka szablon {{s|Śródtekst}}, to generuje tworzenie następujących tablic: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}, dla tych szablonów w artykule niekorzystanej, lub korzystanej według: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}}, jako {{ZobaczTeż|tabele szablonu tekstu}}: <syntaxhighlight lang="lua"> if(not czy_artykul_korzystany)then if(not tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych)then tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych={};end; table.insert(tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych,{ {wartosc_elementu,lista_dwuelementowa,}, {}, {{tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,},obiekt,kod,}, {tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,}, }); else if(not tablica_zmiennych.tablica_szablonu_tekstu_korzystanych)then tablica_zmiennych.tablica_szablonu_tekstu_korzystanych={};end; table.insert(tablica_zmiennych.tablica_szablonu_tekstu_korzystanych,{ {wartosc_elementu,lista_dwuelementowa,}, {}, {{tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,},obiekt,kod,}, }); end; </syntaxhighlight> Z tych tabel korzysta, nie tylko, szablon: {{s|Śródtekst}}, ale też i: {{s|PobierzŚródtekst}}, przy pomocy oprogramowania modułu {{m|StronicowyParser}}. == {{Śródtytuł|p.ParametrTekstowySzablonuTekstu}}{{Code|p.ParametrTekstowySzablonuTekstu}} == Funkcja liczy element tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}, o nazwie {{Code|tekst}} {{Patrz|tekst}}, {{Code|treść}} {{Patrz|treść}} lub {{Code|1}} {{Patrz|1}}, i go zwraca: Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.ParametrTekstowySzablonuTekstu(tabela_parametrow_szablonu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{LinkPatrz|tabela_parametrow_szablonu}} - parametry szablonu {{s|Śródtekst}}, o różnych parametrach nazwanych lub nienazwanych. == {{Śródtytuł|p.SzablonTekstuBezPreProcess}}{{Code|p.SzablonTekstuBezPreProcess}} == Funkcja liczy element tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}, o nazwie {{Code|bez preprocess}} {{Patrz|bez preprocess}}, i go zwraca: Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SzablonTekstuBezPreProcess(tabela_parametrow_szablonu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu {{s|Śródtekst}}, o parametrach nazwanych lub nienazwanych. == {{Śródtytuł|p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony}}{{Code|p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony}} == Funkcja elementy tablicy: {{Code|tablica_zmiennych2}} {{Patrz|tablica_zmiennych2}}, przypisuje tablicy: {{Code|tablica_zmiennych}} {{Patrz|tablica_zmiennych}}, czyli do tego pierwszego dodaje elementy o nazwie: {{Code|tablica_zmiennych2.tablica_szablonu_tekstu_niekorzystanych}} {{Patrz|tablica_zmiennych2.tablica_szablonu_tekstu_niekorzystanych}}, do tablicy o nazwie: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}} {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}, a jeżeli ta tablica nie istnieje, to jest tworzona: Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony(tablica_zmiennych,tablica_zmiennych2)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}}, jest to tablica dla strony niekorzystanej, * {{Code|tablica_zmiennych2}} - jak w: {{LinkPatrz|tablica_zmiennych2}}, jest to tablica dla strony korzystanej, aktualnej strony, która jest wyświetlana na ekranie. == {{Śródtytuł|p.DodawanieDoBazyStronySzablonuTekstu}}{{Code|p.DodawanieDoBazyStronySzablonuTekstu}} == Szablon dodający elementy do tablicy bazy: {{LinkPatrz|tablica_zmiennych}} lub {{LinkPatrz|tablica_zmiennych2}}, szablonu: {{LinkPatrz|Śródtekst}}, tzn. do tablicy: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}, gdy {{LinkPatrz|czy_artykul_korzystany}}, jest równy wartości fałszywej, przeciwnie do: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}}. Te elementy są dodawane według następującego kodu: {{LinkZobaczTeż|tabele szablonu tekstu}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.DodawanieDoBazyStronySzablonuTekstu(tablica_zmiennych,wartosc_elementu,lista_dwuelementowa,obiekt,kod,tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,czy_artykul_korzystany)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}} lub {{LinkPatrz|tablica_zmiennych2}}, * {{Code|wartosc_elementu}} {{Patrz|wartosc_elementu}} - rodzaj elementu, jak: {{Code|Śródtekst}} {{Patrz|rodzaj: Śródtekst}}, dla jednego z szablonów tekstu, * {{Code|lista_dwuelementowa}} {{Patrz|lista_dwuelementowa}} - tablica elementu tablicy zbierającej dane, element posiada tylko pierwszy element, który jest uchwytem, * {{Code|obiekt}} {{Patrz|obiekt}} i {{Code|kod}} {{Patrz|kod}} - obiekt i kod, szablonu typu {{s|Śródtekst}} {{Patrz|Śródtekst}} w tekście zakodowanym, * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}}, * {{Code|nazwa_szablonu_wywolania}} {{Patrz|nazwa_szablonu_wywolania}} - nazwa szablonu tekstu, typu, dla {{LinkPatrz|Śródtekst}}, * {{Code|modyfikatory_wywolania}} {{Patrz|modyfikatory_wywolania}} - tablica modyfikatorów uruchmienia szablonu {{LinkPatrz|Śródtekst}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{Patrz|tablica_analizy_obiektow_strony_dany_modul}} - tablica bazy kodów modułu {{m|Szablonowe}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - tablica rozkładu na czynniki pierwsze, elementów bazy {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}}, * {{Code|czy_artykul_korzystany}} {{Patrz|czy_artykul_korzystany}} - {{Code|true}}, gdy artykuł jest taki sam,jak strona w przeglądarce. Tablica jako drugi element dodawanej tablicy w kodzie: {{LinkZobaczTeż|tabele szablonu tekstu}}, to są tam podtablice, które są tablicami składających się z obiektu i kodu elementu {{s|PobierzŚródtekst}} {{Patrz|PobierzŚródtekst}}, tych podtablic może być wiele dla różnych tych. == {{Śródtytuł|p.UstawianiePobierz}}{{Code|p.UstawianiePobierz}} == Funkcja dodaje do danego elementu typu: {{LinkPatrz|rodzaj: Śródtekst}}, utworzonego na podstawie obiektów nie typu {{LinkPatrz|Pobierz}}, w postaci tablicy utworzonego z trzech elementów, tzn.: {{LinkPatrz|Pobierz: obiekt}} i {{LinkPatrz|Pobierz: kod}}, a trzeci element tablicy jest numerkiem nazwanym, ile w danym elemencie było wtedy aktualnie elenetów przed wywołaniem szablonu typu {{LinkPatrz|Pobierz}}, dla zmiennych w tablicach: {{LinkPatrz|tablica_zmiennych}}. Ten element służy do wstawiania innych elementów do tablic nazwanych uchwytów oraz ich numerków (dla elementów numerowanych) lub nie, aby przesunąc od pewnego momentu ich zawartości do przodu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.UstawianiePobierz(tablica_zmiennych,tablica_zmiennych2,obiekt,kod,nazwa_obiektu,uchwyt_obiektu,czy_artykul_korzystany)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}}, * {{Code|tablica_zmiennych2}} - jak w: {{LinkPatrz|tablica_zmiennych2}}, * {{Code|obiekt}} {{Patrz|Pobierz: obiekt}} - obiekt, jak: {{LinkPatrz|rodzaj: Śródtekst}}, obiektu typu {{Code|Pobierz}} {{Patrz|Pobierz}}, * {{Code|kod}} {{Patrz|Pobierz: kod}} - numer danego obiektu typu {{LinkPatrz|Pobierz}}, * {{Code|nazwa_obiektu}} {{Patrz|nazwa_obiektu}} - nazwa danego obiektu {{LinkPatrz|Śródtekst}}, * {{Code|uchwyt_obiektu}} {{Patrz|uchwyt_obiektu}} - unikalny uchwyt danego obiektu {{LinkPatrz|Śródtekst}}, * {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}}. Gdy: {{LinkPatrz|czy_artykul_korzystany}}, przyjmuje wartość {{Code|true}}, wtedy jest używana tablica: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}}, przeciwnie: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}, ale dla elementów typu: {{LinkPatrz|tablica_zmiennych2}}, na podstawie tego w ten sposób jest tworzona pewna tablica, te elementy są dodawane do drugiej podtablicy w tablicy dodawanej w {{LinkZobaczTeż|tabele szablonu tekstu}}. == {{Śródtytuł|p.UstawPobierzKorzystanie}}{{Code|p.UstawPobierzKorzystanie}} == Funkcja na podstawie stworzonych elementów w tablicy {{Code|tablica_zmiennych2.tablica_szablonu_tekstu_linkowe_korzystane}} {{Patrz|tablica_zmiennych2.tablica_szablonu_tekstu_linkowe_korzystane}}, która skłąda się z tablic numerowanych, gdzie w każdej takiej jego tablicy są dwie podtablice, te elementy są zbierane dla: {{LinkPatrz|rodzaj: Śródtekst}}, pierwsza taka podtablica jest tablicą numerowaną z: {{LinkPatrz|nazwa_obiektu}} i {{linkPatrz|uchwyt_obiektu}}, a druga taka podtablica jest z: {{LinkPatrz|Pobierz: obiekt}} i {{LinkPatrz|Pobierz: kod}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.UstawPobierzKorzystanie(tablica_zmiennych2)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tablica_zmiennych2}} - jak w: {{LinkPatrz|tablica_zmiennych2}}. Na podstawie każdego takich elementów numerowanych w tablicy: {{LinkPatrz|tablica_zmiennych2.tablica_szablonu_tekstu_linkowe_korzystane}}, jest uruchamiana funkcja: {{LinkŚródtytuł|p.UstawianiePobierz}}, dla pierwszego parametru z wartością {{Code|nil}}, drugim: {{LinkPatrz|tablica_zmiennych2}}, i dalszymi. == {{Śródtytuł|p.ZamienianiePobierzNaKod}}{{Code|p.ZamienianiePobierzNaKod}} == == {{Śródtytuł|p.EdytowanieSzablonoweTekstuTypuPobierz}}{{Code|p.EdytowanieSzablonoweTekstuTypuPobierz}} == == {{Śródtytuł|p.EdytowanieSzablonoweTekstuTypuNiePobierz}}{{Code|p.EdytowanieSzablonoweTekstuTypuNiePobierz}} == == {{Śródtytuł|p.AktualizowanieSzablonowychTekstowychKompletowaniaInformacjiTekstu}}{{Code|p.AktualizowanieSzablonowychTekstowychKompletowaniaInformacjiTekstu}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> iu8eq50auvha0rcmda8zwbl2roaxzz7 547085 547084 2026-06-21T10:18:22Z Persino 2851 /* {{Śródtytuł|p.ZamienianiePobierzNaKod}}{{Code|p.ZamienianiePobierzNaKod}} */ 547085 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/SzablonyTekstu}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} Ten moduł służy do obsługi szablonów: {{s|Śródtekst}} i {{s|PobierzŚródtekst}}. Stronicowy parser jak napotka szablon {{s|Śródtekst}}, to generuje tworzenie następujących tablic: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}, dla tych szablonów w artykule niekorzystanej, lub korzystanej według: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}}, jako {{ZobaczTeż|tabele szablonu tekstu}}: <syntaxhighlight lang="lua"> if(not czy_artykul_korzystany)then if(not tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych)then tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych={};end; table.insert(tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych,{ {wartosc_elementu,lista_dwuelementowa,}, {}, {{tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,},obiekt,kod,}, {tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,}, }); else if(not tablica_zmiennych.tablica_szablonu_tekstu_korzystanych)then tablica_zmiennych.tablica_szablonu_tekstu_korzystanych={};end; table.insert(tablica_zmiennych.tablica_szablonu_tekstu_korzystanych,{ {wartosc_elementu,lista_dwuelementowa,}, {}, {{tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,},obiekt,kod,}, }); end; </syntaxhighlight> Z tych tabel korzysta, nie tylko, szablon: {{s|Śródtekst}}, ale też i: {{s|PobierzŚródtekst}}, przy pomocy oprogramowania modułu {{m|StronicowyParser}}. == {{Śródtytuł|p.ParametrTekstowySzablonuTekstu}}{{Code|p.ParametrTekstowySzablonuTekstu}} == Funkcja liczy element tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}, o nazwie {{Code|tekst}} {{Patrz|tekst}}, {{Code|treść}} {{Patrz|treść}} lub {{Code|1}} {{Patrz|1}}, i go zwraca: Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.ParametrTekstowySzablonuTekstu(tabela_parametrow_szablonu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{LinkPatrz|tabela_parametrow_szablonu}} - parametry szablonu {{s|Śródtekst}}, o różnych parametrach nazwanych lub nienazwanych. == {{Śródtytuł|p.SzablonTekstuBezPreProcess}}{{Code|p.SzablonTekstuBezPreProcess}} == Funkcja liczy element tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}, o nazwie {{Code|bez preprocess}} {{Patrz|bez preprocess}}, i go zwraca: Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SzablonTekstuBezPreProcess(tabela_parametrow_szablonu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu {{s|Śródtekst}}, o parametrach nazwanych lub nienazwanych. == {{Śródtytuł|p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony}}{{Code|p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony}} == Funkcja elementy tablicy: {{Code|tablica_zmiennych2}} {{Patrz|tablica_zmiennych2}}, przypisuje tablicy: {{Code|tablica_zmiennych}} {{Patrz|tablica_zmiennych}}, czyli do tego pierwszego dodaje elementy o nazwie: {{Code|tablica_zmiennych2.tablica_szablonu_tekstu_niekorzystanych}} {{Patrz|tablica_zmiennych2.tablica_szablonu_tekstu_niekorzystanych}}, do tablicy o nazwie: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}} {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}, a jeżeli ta tablica nie istnieje, to jest tworzona: Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony(tablica_zmiennych,tablica_zmiennych2)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}}, jest to tablica dla strony niekorzystanej, * {{Code|tablica_zmiennych2}} - jak w: {{LinkPatrz|tablica_zmiennych2}}, jest to tablica dla strony korzystanej, aktualnej strony, która jest wyświetlana na ekranie. == {{Śródtytuł|p.DodawanieDoBazyStronySzablonuTekstu}}{{Code|p.DodawanieDoBazyStronySzablonuTekstu}} == Szablon dodający elementy do tablicy bazy: {{LinkPatrz|tablica_zmiennych}} lub {{LinkPatrz|tablica_zmiennych2}}, szablonu: {{LinkPatrz|Śródtekst}}, tzn. do tablicy: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}, gdy {{LinkPatrz|czy_artykul_korzystany}}, jest równy wartości fałszywej, przeciwnie do: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}}. Te elementy są dodawane według następującego kodu: {{LinkZobaczTeż|tabele szablonu tekstu}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.DodawanieDoBazyStronySzablonuTekstu(tablica_zmiennych,wartosc_elementu,lista_dwuelementowa,obiekt,kod,tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,czy_artykul_korzystany)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}} lub {{LinkPatrz|tablica_zmiennych2}}, * {{Code|wartosc_elementu}} {{Patrz|wartosc_elementu}} - rodzaj elementu, jak: {{Code|Śródtekst}} {{Patrz|rodzaj: Śródtekst}}, dla jednego z szablonów tekstu, * {{Code|lista_dwuelementowa}} {{Patrz|lista_dwuelementowa}} - tablica elementu tablicy zbierającej dane, element posiada tylko pierwszy element, który jest uchwytem, * {{Code|obiekt}} {{Patrz|obiekt}} i {{Code|kod}} {{Patrz|kod}} - obiekt i kod, szablonu typu {{s|Śródtekst}} {{Patrz|Śródtekst}} w tekście zakodowanym, * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}}, * {{Code|nazwa_szablonu_wywolania}} {{Patrz|nazwa_szablonu_wywolania}} - nazwa szablonu tekstu, typu, dla {{LinkPatrz|Śródtekst}}, * {{Code|modyfikatory_wywolania}} {{Patrz|modyfikatory_wywolania}} - tablica modyfikatorów uruchmienia szablonu {{LinkPatrz|Śródtekst}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{Patrz|tablica_analizy_obiektow_strony_dany_modul}} - tablica bazy kodów modułu {{m|Szablonowe}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - tablica rozkładu na czynniki pierwsze, elementów bazy {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}}, * {{Code|czy_artykul_korzystany}} {{Patrz|czy_artykul_korzystany}} - {{Code|true}}, gdy artykuł jest taki sam,jak strona w przeglądarce. Tablica jako drugi element dodawanej tablicy w kodzie: {{LinkZobaczTeż|tabele szablonu tekstu}}, to są tam podtablice, które są tablicami składających się z obiektu i kodu elementu {{s|PobierzŚródtekst}} {{Patrz|PobierzŚródtekst}}, tych podtablic może być wiele dla różnych tych. == {{Śródtytuł|p.UstawianiePobierz}}{{Code|p.UstawianiePobierz}} == Funkcja dodaje do danego elementu typu: {{LinkPatrz|rodzaj: Śródtekst}}, utworzonego na podstawie obiektów nie typu {{LinkPatrz|Pobierz}}, w postaci tablicy utworzonego z trzech elementów, tzn.: {{LinkPatrz|Pobierz: obiekt}} i {{LinkPatrz|Pobierz: kod}}, a trzeci element tablicy jest numerkiem nazwanym, ile w danym elemencie było wtedy aktualnie elenetów przed wywołaniem szablonu typu {{LinkPatrz|Pobierz}}, dla zmiennych w tablicach: {{LinkPatrz|tablica_zmiennych}}. Ten element służy do wstawiania innych elementów do tablic nazwanych uchwytów oraz ich numerków (dla elementów numerowanych) lub nie, aby przesunąc od pewnego momentu ich zawartości do przodu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.UstawianiePobierz(tablica_zmiennych,tablica_zmiennych2,obiekt,kod,nazwa_obiektu,uchwyt_obiektu,czy_artykul_korzystany)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}}, * {{Code|tablica_zmiennych2}} - jak w: {{LinkPatrz|tablica_zmiennych2}}, * {{Code|obiekt}} {{Patrz|Pobierz: obiekt}} - obiekt, jak: {{LinkPatrz|rodzaj: Śródtekst}}, obiektu typu {{Code|Pobierz}} {{Patrz|Pobierz}}, * {{Code|kod}} {{Patrz|Pobierz: kod}} - numer danego obiektu typu {{LinkPatrz|Pobierz}}, * {{Code|nazwa_obiektu}} {{Patrz|nazwa_obiektu}} - nazwa danego obiektu {{LinkPatrz|Śródtekst}}, * {{Code|uchwyt_obiektu}} {{Patrz|uchwyt_obiektu}} - unikalny uchwyt danego obiektu {{LinkPatrz|Śródtekst}}, * {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}}. Gdy: {{LinkPatrz|czy_artykul_korzystany}}, przyjmuje wartość {{Code|true}}, wtedy jest używana tablica: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}}, przeciwnie: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}, ale dla elementów typu: {{LinkPatrz|tablica_zmiennych2}}, na podstawie tego w ten sposób jest tworzona pewna tablica, te elementy są dodawane do drugiej podtablicy w tablicy dodawanej w {{LinkZobaczTeż|tabele szablonu tekstu}}. == {{Śródtytuł|p.UstawPobierzKorzystanie}}{{Code|p.UstawPobierzKorzystanie}} == Funkcja na podstawie stworzonych elementów w tablicy {{Code|tablica_zmiennych2.tablica_szablonu_tekstu_linkowe_korzystane}} {{Patrz|tablica_zmiennych2.tablica_szablonu_tekstu_linkowe_korzystane}}, która skłąda się z tablic numerowanych, gdzie w każdej takiej jego tablicy są dwie podtablice, te elementy są zbierane dla: {{LinkPatrz|rodzaj: Śródtekst}}, pierwsza taka podtablica jest tablicą numerowaną z: {{LinkPatrz|nazwa_obiektu}} i {{linkPatrz|uchwyt_obiektu}}, a druga taka podtablica jest z: {{LinkPatrz|Pobierz: obiekt}} i {{LinkPatrz|Pobierz: kod}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.UstawPobierzKorzystanie(tablica_zmiennych2)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tablica_zmiennych2}} - jak w: {{LinkPatrz|tablica_zmiennych2}}. Na podstawie każdego takich elementów numerowanych w tablicy: {{LinkPatrz|tablica_zmiennych2.tablica_szablonu_tekstu_linkowe_korzystane}}, jest uruchamiana funkcja: {{LinkŚródtytuł|p.UstawianiePobierz}}, dla pierwszego parametru z wartością {{Code|nil}}, drugim: {{LinkPatrz|tablica_zmiennych2}}, i dalszymi. == {{Śródtytuł|p.ZamienianiePobierzNaKod}}{{Code|p.ZamienianiePobierzNaKod}} == Definicja skrótowa funkcji: <syntaxhighlight lang="Lua"> function p.ZamienianiePobierzNaKod(obiekt,kod,pozycja,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,czy_korzystane)...end; </syntaxhighlight> Parametry funkcji: * {{Code|obiekt}} - jak w: {{LinkPatrz|Pobierz: obiekt}}, * {{Code|kod}} - jak w: {{LinkPatrz|Pobierz: kod}}, * {{Code|pozycja}} - dany element numerowany, który przedstawia pozycję dla elementów typu: {{LinkPatrz|Śródtekst}}, * {{Code|nazwa_modulu_aktualna_czy_biezaca}} {{Patrz|nazwa_modulu_aktualna_czy_biezaca}} - nazwa modułu aktualna lub bieżąca, w której występują elementy typu {{LinkPatrz|rodzaj: Śródtekst}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - jak w: {{LinkPatrz|tablica_danych_parametrow_szablonu_strony}}, * {{Code|czy_korzystane}} {{Patrz|czy_korzystane}} - czy wykorzystawane elementy są typu: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}}, gdy ta wartość przyjmuje wartość {{Code|true}}, przeciwnie: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}. == {{Śródtytuł|p.EdytowanieSzablonoweTekstuTypuPobierz}}{{Code|p.EdytowanieSzablonoweTekstuTypuPobierz}} == == {{Śródtytuł|p.EdytowanieSzablonoweTekstuTypuNiePobierz}}{{Code|p.EdytowanieSzablonoweTekstuTypuNiePobierz}} == == {{Śródtytuł|p.AktualizowanieSzablonowychTekstowychKompletowaniaInformacjiTekstu}}{{Code|p.AktualizowanieSzablonowychTekstowychKompletowaniaInformacjiTekstu}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> jdrj4rjawlxwiy7yz7hlfbes7bjv4yj 547086 547085 2026-06-21T10:35:01Z Persino 2851 /* {{Śródtytuł|p.ZamienianiePobierzNaKod}}{{Code|p.ZamienianiePobierzNaKod}} */ 547086 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/SzablonyTekstu}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} Ten moduł służy do obsługi szablonów: {{s|Śródtekst}} i {{s|PobierzŚródtekst}}. Stronicowy parser jak napotka szablon {{s|Śródtekst}}, to generuje tworzenie następujących tablic: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}, dla tych szablonów w artykule niekorzystanej, lub korzystanej według: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}}, jako {{ZobaczTeż|tabele szablonu tekstu}}: <syntaxhighlight lang="lua"> if(not czy_artykul_korzystany)then if(not tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych)then tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych={};end; table.insert(tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych,{ {wartosc_elementu,lista_dwuelementowa,}, {}, {{tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,},obiekt,kod,}, {tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,}, }); else if(not tablica_zmiennych.tablica_szablonu_tekstu_korzystanych)then tablica_zmiennych.tablica_szablonu_tekstu_korzystanych={};end; table.insert(tablica_zmiennych.tablica_szablonu_tekstu_korzystanych,{ {wartosc_elementu,lista_dwuelementowa,}, {}, {{tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,},obiekt,kod,}, }); end; </syntaxhighlight> Z tych tabel korzysta, nie tylko, szablon: {{s|Śródtekst}}, ale też i: {{s|PobierzŚródtekst}}, przy pomocy oprogramowania modułu {{m|StronicowyParser}}. == {{Śródtytuł|p.ParametrTekstowySzablonuTekstu}}{{Code|p.ParametrTekstowySzablonuTekstu}} == Funkcja liczy element tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}, o nazwie {{Code|tekst}} {{Patrz|tekst}}, {{Code|treść}} {{Patrz|treść}} lub {{Code|1}} {{Patrz|1}}, i go zwraca: Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.ParametrTekstowySzablonuTekstu(tabela_parametrow_szablonu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{LinkPatrz|tabela_parametrow_szablonu}} - parametry szablonu {{s|Śródtekst}}, o różnych parametrach nazwanych lub nienazwanych. == {{Śródtytuł|p.SzablonTekstuBezPreProcess}}{{Code|p.SzablonTekstuBezPreProcess}} == Funkcja liczy element tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}, o nazwie {{Code|bez preprocess}} {{Patrz|bez preprocess}}, i go zwraca: Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SzablonTekstuBezPreProcess(tabela_parametrow_szablonu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu {{s|Śródtekst}}, o parametrach nazwanych lub nienazwanych. == {{Śródtytuł|p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony}}{{Code|p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony}} == Funkcja elementy tablicy: {{Code|tablica_zmiennych2}} {{Patrz|tablica_zmiennych2}}, przypisuje tablicy: {{Code|tablica_zmiennych}} {{Patrz|tablica_zmiennych}}, czyli do tego pierwszego dodaje elementy o nazwie: {{Code|tablica_zmiennych2.tablica_szablonu_tekstu_niekorzystanych}} {{Patrz|tablica_zmiennych2.tablica_szablonu_tekstu_niekorzystanych}}, do tablicy o nazwie: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}} {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}, a jeżeli ta tablica nie istnieje, to jest tworzona: Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony(tablica_zmiennych,tablica_zmiennych2)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}}, jest to tablica dla strony niekorzystanej, * {{Code|tablica_zmiennych2}} - jak w: {{LinkPatrz|tablica_zmiennych2}}, jest to tablica dla strony korzystanej, aktualnej strony, która jest wyświetlana na ekranie. == {{Śródtytuł|p.DodawanieDoBazyStronySzablonuTekstu}}{{Code|p.DodawanieDoBazyStronySzablonuTekstu}} == Szablon dodający elementy do tablicy bazy: {{LinkPatrz|tablica_zmiennych}} lub {{LinkPatrz|tablica_zmiennych2}}, szablonu: {{LinkPatrz|Śródtekst}}, tzn. do tablicy: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}, gdy {{LinkPatrz|czy_artykul_korzystany}}, jest równy wartości fałszywej, przeciwnie do: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}}. Te elementy są dodawane według następującego kodu: {{LinkZobaczTeż|tabele szablonu tekstu}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.DodawanieDoBazyStronySzablonuTekstu(tablica_zmiennych,wartosc_elementu,lista_dwuelementowa,obiekt,kod,tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,czy_artykul_korzystany)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}} lub {{LinkPatrz|tablica_zmiennych2}}, * {{Code|wartosc_elementu}} {{Patrz|wartosc_elementu}} - rodzaj elementu, jak: {{Code|Śródtekst}} {{Patrz|rodzaj: Śródtekst}}, dla jednego z szablonów tekstu, * {{Code|lista_dwuelementowa}} {{Patrz|lista_dwuelementowa}} - tablica elementu tablicy zbierającej dane, element posiada tylko pierwszy element, który jest uchwytem, * {{Code|obiekt}} {{Patrz|obiekt}} i {{Code|kod}} {{Patrz|kod}} - obiekt i kod, szablonu typu {{s|Śródtekst}} {{Patrz|Śródtekst}} w tekście zakodowanym, * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}}, * {{Code|nazwa_szablonu_wywolania}} {{Patrz|nazwa_szablonu_wywolania}} - nazwa szablonu tekstu, typu, dla {{LinkPatrz|Śródtekst}}, * {{Code|modyfikatory_wywolania}} {{Patrz|modyfikatory_wywolania}} - tablica modyfikatorów uruchmienia szablonu {{LinkPatrz|Śródtekst}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{Patrz|tablica_analizy_obiektow_strony_dany_modul}} - tablica bazy kodów modułu {{m|Szablonowe}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - tablica rozkładu na czynniki pierwsze, elementów bazy {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}}, * {{Code|czy_artykul_korzystany}} {{Patrz|czy_artykul_korzystany}} - {{Code|true}}, gdy artykuł jest taki sam,jak strona w przeglądarce. Tablica jako drugi element dodawanej tablicy w kodzie: {{LinkZobaczTeż|tabele szablonu tekstu}}, to są tam podtablice, które są tablicami składających się z obiektu i kodu elementu {{s|PobierzŚródtekst}} {{Patrz|PobierzŚródtekst}}, tych podtablic może być wiele dla różnych tych. == {{Śródtytuł|p.UstawianiePobierz}}{{Code|p.UstawianiePobierz}} == Funkcja dodaje do danego elementu typu: {{LinkPatrz|rodzaj: Śródtekst}}, utworzonego na podstawie obiektów nie typu {{LinkPatrz|Pobierz}}, w postaci tablicy utworzonego z trzech elementów, tzn.: {{LinkPatrz|Pobierz: obiekt}} i {{LinkPatrz|Pobierz: kod}}, a trzeci element tablicy jest numerkiem nazwanym, ile w danym elemencie było wtedy aktualnie elenetów przed wywołaniem szablonu typu {{LinkPatrz|Pobierz}}, dla zmiennych w tablicach: {{LinkPatrz|tablica_zmiennych}}. Ten element służy do wstawiania innych elementów do tablic nazwanych uchwytów oraz ich numerków (dla elementów numerowanych) lub nie, aby przesunąc od pewnego momentu ich zawartości do przodu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.UstawianiePobierz(tablica_zmiennych,tablica_zmiennych2,obiekt,kod,nazwa_obiektu,uchwyt_obiektu,czy_artykul_korzystany)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}}, * {{Code|tablica_zmiennych2}} - jak w: {{LinkPatrz|tablica_zmiennych2}}, * {{Code|obiekt}} {{Patrz|Pobierz: obiekt}} - obiekt, jak: {{LinkPatrz|rodzaj: Śródtekst}}, obiektu typu {{Code|Pobierz}} {{Patrz|Pobierz}}, * {{Code|kod}} {{Patrz|Pobierz: kod}} - numer danego obiektu typu {{LinkPatrz|Pobierz}}, * {{Code|nazwa_obiektu}} {{Patrz|nazwa_obiektu}} - nazwa danego obiektu {{LinkPatrz|Śródtekst}}, * {{Code|uchwyt_obiektu}} {{Patrz|uchwyt_obiektu}} - unikalny uchwyt danego obiektu {{LinkPatrz|Śródtekst}}, * {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}}. Gdy: {{LinkPatrz|czy_artykul_korzystany}}, przyjmuje wartość {{Code|true}}, wtedy jest używana tablica: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}}, przeciwnie: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}, ale dla elementów typu: {{LinkPatrz|tablica_zmiennych2}}, na podstawie tego w ten sposób jest tworzona pewna tablica, te elementy są dodawane do drugiej podtablicy w tablicy dodawanej w {{LinkZobaczTeż|tabele szablonu tekstu}}. == {{Śródtytuł|p.UstawPobierzKorzystanie}}{{Code|p.UstawPobierzKorzystanie}} == Funkcja na podstawie stworzonych elementów w tablicy {{Code|tablica_zmiennych2.tablica_szablonu_tekstu_linkowe_korzystane}} {{Patrz|tablica_zmiennych2.tablica_szablonu_tekstu_linkowe_korzystane}}, która skłąda się z tablic numerowanych, gdzie w każdej takiej jego tablicy są dwie podtablice, te elementy są zbierane dla: {{LinkPatrz|rodzaj: Śródtekst}}, pierwsza taka podtablica jest tablicą numerowaną z: {{LinkPatrz|nazwa_obiektu}} i {{linkPatrz|uchwyt_obiektu}}, a druga taka podtablica jest z: {{LinkPatrz|Pobierz: obiekt}} i {{LinkPatrz|Pobierz: kod}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.UstawPobierzKorzystanie(tablica_zmiennych2)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tablica_zmiennych2}} - jak w: {{LinkPatrz|tablica_zmiennych2}}. Na podstawie każdego takich elementów numerowanych w tablicy: {{LinkPatrz|tablica_zmiennych2.tablica_szablonu_tekstu_linkowe_korzystane}}, jest uruchamiana funkcja: {{LinkŚródtytuł|p.UstawianiePobierz}}, dla pierwszego parametru z wartością {{Code|nil}}, drugim: {{LinkPatrz|tablica_zmiennych2}}, i dalszymi. == {{Śródtytuł|p.ZamienianiePobierzNaKod}}{{Code|p.ZamienianiePobierzNaKod}} == Funkcja na podstawie parametru {{LinkPatrz|tekst}}, {{Linkpatrz|treść}} lub {{Code|1}}, występujących w tabeli: {{Patrz|tabela_parametrow_szablonu}}, zdeefiniowanych jako tablica: {{Code|pozycja[3][1][1]}}. Modyfikuje też element: {{Code|(pozycja[4] or{})[1]}} lub {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}}, aby wyświetlić zamieniony, czyli zmodyfikowany, element, ewentualnie ze zmodyfikowaną bazą danych kodów. Funkcja do szybszego działania wykorzystuje tabelę: {{Code|(pozycja[4] or {})[2]}} lub {{LinkPatrz|tablica_danych_parametrow_szablonu_strony}}. Definicja skrótowa funkcji: <syntaxhighlight lang="Lua"> function p.ZamienianiePobierzNaKod(obiekt,kod,pozycja,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,czy_korzystane)...end; </syntaxhighlight> Parametry funkcji: * {{Code|obiekt}} - jak w: {{LinkPatrz|Pobierz: obiekt}}, * {{Code|kod}} - jak w: {{LinkPatrz|Pobierz: kod}}, * {{Code|pozycja}} - dany element numerowany, który przedstawia pozycję dla elementów typu: {{LinkPatrz|Śródtekst}}, * {{Code|nazwa_modulu_aktualna_czy_biezaca}} {{Patrz|nazwa_modulu_aktualna_czy_biezaca}} - nazwa modułu aktualna lub bieżąca, w której występują elementy typu {{LinkPatrz|rodzaj: Śródtekst}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - jak w: {{LinkPatrz|tablica_danych_parametrow_szablonu_strony}}, * {{Code|czy_korzystane}} {{Patrz|czy_korzystane}} - czy wykorzystawane elementy są typu: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}}, gdy ta wartość przyjmuje wartość {{Code|true}}, przeciwnie: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}. == {{Śródtytuł|p.EdytowanieSzablonoweTekstuTypuPobierz}}{{Code|p.EdytowanieSzablonoweTekstuTypuPobierz}} == == {{Śródtytuł|p.EdytowanieSzablonoweTekstuTypuNiePobierz}}{{Code|p.EdytowanieSzablonoweTekstuTypuNiePobierz}} == == {{Śródtytuł|p.AktualizowanieSzablonowychTekstowychKompletowaniaInformacjiTekstu}}{{Code|p.AktualizowanieSzablonowychTekstowychKompletowaniaInformacjiTekstu}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> b3gbujps469t973i8midzsk7o6argl3 547087 547086 2026-06-21T10:35:36Z Persino 2851 /* {{Śródtytuł|p.ZamienianiePobierzNaKod}}{{Code|p.ZamienianiePobierzNaKod}} */ 547087 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/SzablonyTekstu}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} Ten moduł służy do obsługi szablonów: {{s|Śródtekst}} i {{s|PobierzŚródtekst}}. Stronicowy parser jak napotka szablon {{s|Śródtekst}}, to generuje tworzenie następujących tablic: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}, dla tych szablonów w artykule niekorzystanej, lub korzystanej według: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}}, jako {{ZobaczTeż|tabele szablonu tekstu}}: <syntaxhighlight lang="lua"> if(not czy_artykul_korzystany)then if(not tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych)then tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych={};end; table.insert(tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych,{ {wartosc_elementu,lista_dwuelementowa,}, {}, {{tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,},obiekt,kod,}, {tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,}, }); else if(not tablica_zmiennych.tablica_szablonu_tekstu_korzystanych)then tablica_zmiennych.tablica_szablonu_tekstu_korzystanych={};end; table.insert(tablica_zmiennych.tablica_szablonu_tekstu_korzystanych,{ {wartosc_elementu,lista_dwuelementowa,}, {}, {{tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,},obiekt,kod,}, }); end; </syntaxhighlight> Z tych tabel korzysta, nie tylko, szablon: {{s|Śródtekst}}, ale też i: {{s|PobierzŚródtekst}}, przy pomocy oprogramowania modułu {{m|StronicowyParser}}. == {{Śródtytuł|p.ParametrTekstowySzablonuTekstu}}{{Code|p.ParametrTekstowySzablonuTekstu}} == Funkcja liczy element tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}, o nazwie {{Code|tekst}} {{Patrz|tekst}}, {{Code|treść}} {{Patrz|treść}} lub {{Code|1}} {{Patrz|1}}, i go zwraca: Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.ParametrTekstowySzablonuTekstu(tabela_parametrow_szablonu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{LinkPatrz|tabela_parametrow_szablonu}} - parametry szablonu {{s|Śródtekst}}, o różnych parametrach nazwanych lub nienazwanych. == {{Śródtytuł|p.SzablonTekstuBezPreProcess}}{{Code|p.SzablonTekstuBezPreProcess}} == Funkcja liczy element tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}, o nazwie {{Code|bez preprocess}} {{Patrz|bez preprocess}}, i go zwraca: Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SzablonTekstuBezPreProcess(tabela_parametrow_szablonu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu {{s|Śródtekst}}, o parametrach nazwanych lub nienazwanych. == {{Śródtytuł|p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony}}{{Code|p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony}} == Funkcja elementy tablicy: {{Code|tablica_zmiennych2}} {{Patrz|tablica_zmiennych2}}, przypisuje tablicy: {{Code|tablica_zmiennych}} {{Patrz|tablica_zmiennych}}, czyli do tego pierwszego dodaje elementy o nazwie: {{Code|tablica_zmiennych2.tablica_szablonu_tekstu_niekorzystanych}} {{Patrz|tablica_zmiennych2.tablica_szablonu_tekstu_niekorzystanych}}, do tablicy o nazwie: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}} {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}, a jeżeli ta tablica nie istnieje, to jest tworzona: Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony(tablica_zmiennych,tablica_zmiennych2)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}}, jest to tablica dla strony niekorzystanej, * {{Code|tablica_zmiennych2}} - jak w: {{LinkPatrz|tablica_zmiennych2}}, jest to tablica dla strony korzystanej, aktualnej strony, która jest wyświetlana na ekranie. == {{Śródtytuł|p.DodawanieDoBazyStronySzablonuTekstu}}{{Code|p.DodawanieDoBazyStronySzablonuTekstu}} == Szablon dodający elementy do tablicy bazy: {{LinkPatrz|tablica_zmiennych}} lub {{LinkPatrz|tablica_zmiennych2}}, szablonu: {{LinkPatrz|Śródtekst}}, tzn. do tablicy: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}, gdy {{LinkPatrz|czy_artykul_korzystany}}, jest równy wartości fałszywej, przeciwnie do: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}}. Te elementy są dodawane według następującego kodu: {{LinkZobaczTeż|tabele szablonu tekstu}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.DodawanieDoBazyStronySzablonuTekstu(tablica_zmiennych,wartosc_elementu,lista_dwuelementowa,obiekt,kod,tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,czy_artykul_korzystany)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}} lub {{LinkPatrz|tablica_zmiennych2}}, * {{Code|wartosc_elementu}} {{Patrz|wartosc_elementu}} - rodzaj elementu, jak: {{Code|Śródtekst}} {{Patrz|rodzaj: Śródtekst}}, dla jednego z szablonów tekstu, * {{Code|lista_dwuelementowa}} {{Patrz|lista_dwuelementowa}} - tablica elementu tablicy zbierającej dane, element posiada tylko pierwszy element, który jest uchwytem, * {{Code|obiekt}} {{Patrz|obiekt}} i {{Code|kod}} {{Patrz|kod}} - obiekt i kod, szablonu typu {{s|Śródtekst}} {{Patrz|Śródtekst}} w tekście zakodowanym, * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}}, * {{Code|nazwa_szablonu_wywolania}} {{Patrz|nazwa_szablonu_wywolania}} - nazwa szablonu tekstu, typu, dla {{LinkPatrz|Śródtekst}}, * {{Code|modyfikatory_wywolania}} {{Patrz|modyfikatory_wywolania}} - tablica modyfikatorów uruchmienia szablonu {{LinkPatrz|Śródtekst}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{Patrz|tablica_analizy_obiektow_strony_dany_modul}} - tablica bazy kodów modułu {{m|Szablonowe}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - tablica rozkładu na czynniki pierwsze, elementów bazy {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}}, * {{Code|czy_artykul_korzystany}} {{Patrz|czy_artykul_korzystany}} - {{Code|true}}, gdy artykuł jest taki sam,jak strona w przeglądarce. Tablica jako drugi element dodawanej tablicy w kodzie: {{LinkZobaczTeż|tabele szablonu tekstu}}, to są tam podtablice, które są tablicami składających się z obiektu i kodu elementu {{s|PobierzŚródtekst}} {{Patrz|PobierzŚródtekst}}, tych podtablic może być wiele dla różnych tych. == {{Śródtytuł|p.UstawianiePobierz}}{{Code|p.UstawianiePobierz}} == Funkcja dodaje do danego elementu typu: {{LinkPatrz|rodzaj: Śródtekst}}, utworzonego na podstawie obiektów nie typu {{LinkPatrz|Pobierz}}, w postaci tablicy utworzonego z trzech elementów, tzn.: {{LinkPatrz|Pobierz: obiekt}} i {{LinkPatrz|Pobierz: kod}}, a trzeci element tablicy jest numerkiem nazwanym, ile w danym elemencie było wtedy aktualnie elenetów przed wywołaniem szablonu typu {{LinkPatrz|Pobierz}}, dla zmiennych w tablicach: {{LinkPatrz|tablica_zmiennych}}. Ten element służy do wstawiania innych elementów do tablic nazwanych uchwytów oraz ich numerków (dla elementów numerowanych) lub nie, aby przesunąc od pewnego momentu ich zawartości do przodu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.UstawianiePobierz(tablica_zmiennych,tablica_zmiennych2,obiekt,kod,nazwa_obiektu,uchwyt_obiektu,czy_artykul_korzystany)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}}, * {{Code|tablica_zmiennych2}} - jak w: {{LinkPatrz|tablica_zmiennych2}}, * {{Code|obiekt}} {{Patrz|Pobierz: obiekt}} - obiekt, jak: {{LinkPatrz|rodzaj: Śródtekst}}, obiektu typu {{Code|Pobierz}} {{Patrz|Pobierz}}, * {{Code|kod}} {{Patrz|Pobierz: kod}} - numer danego obiektu typu {{LinkPatrz|Pobierz}}, * {{Code|nazwa_obiektu}} {{Patrz|nazwa_obiektu}} - nazwa danego obiektu {{LinkPatrz|Śródtekst}}, * {{Code|uchwyt_obiektu}} {{Patrz|uchwyt_obiektu}} - unikalny uchwyt danego obiektu {{LinkPatrz|Śródtekst}}, * {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}}. Gdy: {{LinkPatrz|czy_artykul_korzystany}}, przyjmuje wartość {{Code|true}}, wtedy jest używana tablica: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}}, przeciwnie: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}, ale dla elementów typu: {{LinkPatrz|tablica_zmiennych2}}, na podstawie tego w ten sposób jest tworzona pewna tablica, te elementy są dodawane do drugiej podtablicy w tablicy dodawanej w {{LinkZobaczTeż|tabele szablonu tekstu}}. == {{Śródtytuł|p.UstawPobierzKorzystanie}}{{Code|p.UstawPobierzKorzystanie}} == Funkcja na podstawie stworzonych elementów w tablicy {{Code|tablica_zmiennych2.tablica_szablonu_tekstu_linkowe_korzystane}} {{Patrz|tablica_zmiennych2.tablica_szablonu_tekstu_linkowe_korzystane}}, która skłąda się z tablic numerowanych, gdzie w każdej takiej jego tablicy są dwie podtablice, te elementy są zbierane dla: {{LinkPatrz|rodzaj: Śródtekst}}, pierwsza taka podtablica jest tablicą numerowaną z: {{LinkPatrz|nazwa_obiektu}} i {{linkPatrz|uchwyt_obiektu}}, a druga taka podtablica jest z: {{LinkPatrz|Pobierz: obiekt}} i {{LinkPatrz|Pobierz: kod}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.UstawPobierzKorzystanie(tablica_zmiennych2)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tablica_zmiennych2}} - jak w: {{LinkPatrz|tablica_zmiennych2}}. Na podstawie każdego takich elementów numerowanych w tablicy: {{LinkPatrz|tablica_zmiennych2.tablica_szablonu_tekstu_linkowe_korzystane}}, jest uruchamiana funkcja: {{LinkŚródtytuł|p.UstawianiePobierz}}, dla pierwszego parametru z wartością {{Code|nil}}, drugim: {{LinkPatrz|tablica_zmiennych2}}, i dalszymi. == {{Śródtytuł|p.ZamienianiePobierzNaKod}}{{Code|p.ZamienianiePobierzNaKod}} == Funkcja na podstawie parametru {{LinkPatrz|tekst}}, {{LinkPatrz|treść}} lub {{Code|1}}, występujących w tabeli: {{LinkPatrz|tabela_parametrow_szablonu}}, zdeefiniowanych jako tablica: {{Code|pozycja[3][1][1]}}. Modyfikuje też element: {{Code|(pozycja[4] or{})[1]}} lub {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}}, aby wyświetlić zamieniony, czyli zmodyfikowany, element, ewentualnie ze zmodyfikowaną bazą danych kodów. Funkcja do szybszego działania wykorzystuje tabelę: {{Code|(pozycja[4] or {})[2]}} lub {{LinkPatrz|tablica_danych_parametrow_szablonu_strony}}. Definicja skrótowa funkcji: <syntaxhighlight lang="Lua"> function p.ZamienianiePobierzNaKod(obiekt,kod,pozycja,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,czy_korzystane)...end; </syntaxhighlight> Parametry funkcji: * {{Code|obiekt}} - jak w: {{LinkPatrz|Pobierz: obiekt}}, * {{Code|kod}} - jak w: {{LinkPatrz|Pobierz: kod}}, * {{Code|pozycja}} - dany element numerowany, który przedstawia pozycję dla elementów typu: {{LinkPatrz|Śródtekst}}, * {{Code|nazwa_modulu_aktualna_czy_biezaca}} {{Patrz|nazwa_modulu_aktualna_czy_biezaca}} - nazwa modułu aktualna lub bieżąca, w której występują elementy typu {{LinkPatrz|rodzaj: Śródtekst}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - jak w: {{LinkPatrz|tablica_danych_parametrow_szablonu_strony}}, * {{Code|czy_korzystane}} {{Patrz|czy_korzystane}} - czy wykorzystawane elementy są typu: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}}, gdy ta wartość przyjmuje wartość {{Code|true}}, przeciwnie: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}. == {{Śródtytuł|p.EdytowanieSzablonoweTekstuTypuPobierz}}{{Code|p.EdytowanieSzablonoweTekstuTypuPobierz}} == == {{Śródtytuł|p.EdytowanieSzablonoweTekstuTypuNiePobierz}}{{Code|p.EdytowanieSzablonoweTekstuTypuNiePobierz}} == == {{Śródtytuł|p.AktualizowanieSzablonowychTekstowychKompletowaniaInformacjiTekstu}}{{Code|p.AktualizowanieSzablonowychTekstowychKompletowaniaInformacjiTekstu}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> 71qs0ztc4v0ad627bbc61mcyyhdxbyx 547088 547087 2026-06-21T10:43:03Z Persino 2851 /* {{Śródtytuł|p.ZamienianiePobierzNaKod}}{{Code|p.ZamienianiePobierzNaKod}} */ 547088 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/SzablonyTekstu}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} Ten moduł służy do obsługi szablonów: {{s|Śródtekst}} i {{s|PobierzŚródtekst}}. Stronicowy parser jak napotka szablon {{s|Śródtekst}}, to generuje tworzenie następujących tablic: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}, dla tych szablonów w artykule niekorzystanej, lub korzystanej według: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}}, jako {{ZobaczTeż|tabele szablonu tekstu}}: <syntaxhighlight lang="lua"> if(not czy_artykul_korzystany)then if(not tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych)then tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych={};end; table.insert(tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych,{ {wartosc_elementu,lista_dwuelementowa,}, {}, {{tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,},obiekt,kod,}, {tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,}, }); else if(not tablica_zmiennych.tablica_szablonu_tekstu_korzystanych)then tablica_zmiennych.tablica_szablonu_tekstu_korzystanych={};end; table.insert(tablica_zmiennych.tablica_szablonu_tekstu_korzystanych,{ {wartosc_elementu,lista_dwuelementowa,}, {}, {{tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,},obiekt,kod,}, }); end; </syntaxhighlight> Z tych tabel korzysta, nie tylko, szablon: {{s|Śródtekst}}, ale też i: {{s|PobierzŚródtekst}}, przy pomocy oprogramowania modułu {{m|StronicowyParser}}. == {{Śródtytuł|p.ParametrTekstowySzablonuTekstu}}{{Code|p.ParametrTekstowySzablonuTekstu}} == Funkcja liczy element tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}, o nazwie {{Code|tekst}} {{Patrz|tekst}}, {{Code|treść}} {{Patrz|treść}} lub {{Code|1}} {{Patrz|1}}, i go zwraca: Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.ParametrTekstowySzablonuTekstu(tabela_parametrow_szablonu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{LinkPatrz|tabela_parametrow_szablonu}} - parametry szablonu {{s|Śródtekst}}, o różnych parametrach nazwanych lub nienazwanych. == {{Śródtytuł|p.SzablonTekstuBezPreProcess}}{{Code|p.SzablonTekstuBezPreProcess}} == Funkcja liczy element tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}, o nazwie {{Code|bez preprocess}} {{Patrz|bez preprocess}}, i go zwraca: Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SzablonTekstuBezPreProcess(tabela_parametrow_szablonu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu {{s|Śródtekst}}, o parametrach nazwanych lub nienazwanych. == {{Śródtytuł|p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony}}{{Code|p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony}} == Funkcja elementy tablicy: {{Code|tablica_zmiennych2}} {{Patrz|tablica_zmiennych2}}, przypisuje tablicy: {{Code|tablica_zmiennych}} {{Patrz|tablica_zmiennych}}, czyli do tego pierwszego dodaje elementy o nazwie: {{Code|tablica_zmiennych2.tablica_szablonu_tekstu_niekorzystanych}} {{Patrz|tablica_zmiennych2.tablica_szablonu_tekstu_niekorzystanych}}, do tablicy o nazwie: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}} {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}, a jeżeli ta tablica nie istnieje, to jest tworzona: Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony(tablica_zmiennych,tablica_zmiennych2)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}}, jest to tablica dla strony niekorzystanej, * {{Code|tablica_zmiennych2}} - jak w: {{LinkPatrz|tablica_zmiennych2}}, jest to tablica dla strony korzystanej, aktualnej strony, która jest wyświetlana na ekranie. == {{Śródtytuł|p.DodawanieDoBazyStronySzablonuTekstu}}{{Code|p.DodawanieDoBazyStronySzablonuTekstu}} == Szablon dodający elementy do tablicy bazy: {{LinkPatrz|tablica_zmiennych}} lub {{LinkPatrz|tablica_zmiennych2}}, szablonu: {{LinkPatrz|Śródtekst}}, tzn. do tablicy: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}, gdy {{LinkPatrz|czy_artykul_korzystany}}, jest równy wartości fałszywej, przeciwnie do: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}}. Te elementy są dodawane według następującego kodu: {{LinkZobaczTeż|tabele szablonu tekstu}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.DodawanieDoBazyStronySzablonuTekstu(tablica_zmiennych,wartosc_elementu,lista_dwuelementowa,obiekt,kod,tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,czy_artykul_korzystany)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}} lub {{LinkPatrz|tablica_zmiennych2}}, * {{Code|wartosc_elementu}} {{Patrz|wartosc_elementu}} - rodzaj elementu, jak: {{Code|Śródtekst}} {{Patrz|rodzaj: Śródtekst}}, dla jednego z szablonów tekstu, * {{Code|lista_dwuelementowa}} {{Patrz|lista_dwuelementowa}} - tablica elementu tablicy zbierającej dane, element posiada tylko pierwszy element, który jest uchwytem, * {{Code|obiekt}} {{Patrz|obiekt}} i {{Code|kod}} {{Patrz|kod}} - obiekt i kod, szablonu typu {{s|Śródtekst}} {{Patrz|Śródtekst}} w tekście zakodowanym, * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}}, * {{Code|nazwa_szablonu_wywolania}} {{Patrz|nazwa_szablonu_wywolania}} - nazwa szablonu tekstu, typu, dla {{LinkPatrz|Śródtekst}}, * {{Code|modyfikatory_wywolania}} {{Patrz|modyfikatory_wywolania}} - tablica modyfikatorów uruchmienia szablonu {{LinkPatrz|Śródtekst}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{Patrz|tablica_analizy_obiektow_strony_dany_modul}} - tablica bazy kodów modułu {{m|Szablonowe}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - tablica rozkładu na czynniki pierwsze, elementów bazy {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}}, * {{Code|czy_artykul_korzystany}} {{Patrz|czy_artykul_korzystany}} - {{Code|true}}, gdy artykuł jest taki sam,jak strona w przeglądarce. Tablica jako drugi element dodawanej tablicy w kodzie: {{LinkZobaczTeż|tabele szablonu tekstu}}, to są tam podtablice, które są tablicami składających się z obiektu i kodu elementu {{s|PobierzŚródtekst}} {{Patrz|PobierzŚródtekst}}, tych podtablic może być wiele dla różnych tych. == {{Śródtytuł|p.UstawianiePobierz}}{{Code|p.UstawianiePobierz}} == Funkcja dodaje do danego elementu typu: {{LinkPatrz|rodzaj: Śródtekst}}, utworzonego na podstawie obiektów nie typu {{LinkPatrz|Pobierz}}, w postaci tablicy utworzonego z trzech elementów, tzn.: {{LinkPatrz|Pobierz: obiekt}} i {{LinkPatrz|Pobierz: kod}}, a trzeci element tablicy jest numerkiem nazwanym, ile w danym elemencie było wtedy aktualnie elenetów przed wywołaniem szablonu typu {{LinkPatrz|Pobierz}}, dla zmiennych w tablicach: {{LinkPatrz|tablica_zmiennych}}. Ten element służy do wstawiania innych elementów do tablic nazwanych uchwytów oraz ich numerków (dla elementów numerowanych) lub nie, aby przesunąc od pewnego momentu ich zawartości do przodu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.UstawianiePobierz(tablica_zmiennych,tablica_zmiennych2,obiekt,kod,nazwa_obiektu,uchwyt_obiektu,czy_artykul_korzystany)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}}, * {{Code|tablica_zmiennych2}} - jak w: {{LinkPatrz|tablica_zmiennych2}}, * {{Code|obiekt}} {{Patrz|Pobierz: obiekt}} - obiekt, jak: {{LinkPatrz|rodzaj: Śródtekst}}, obiektu typu {{Code|Pobierz}} {{Patrz|Pobierz}}, * {{Code|kod}} {{Patrz|Pobierz: kod}} - numer danego obiektu typu {{LinkPatrz|Pobierz}}, * {{Code|nazwa_obiektu}} {{Patrz|nazwa_obiektu}} - nazwa danego obiektu {{LinkPatrz|Śródtekst}}, * {{Code|uchwyt_obiektu}} {{Patrz|uchwyt_obiektu}} - unikalny uchwyt danego obiektu {{LinkPatrz|Śródtekst}}, * {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}}. Gdy: {{LinkPatrz|czy_artykul_korzystany}}, przyjmuje wartość {{Code|true}}, wtedy jest używana tablica: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}}, przeciwnie: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}, ale dla elementów typu: {{LinkPatrz|tablica_zmiennych2}}, na podstawie tego w ten sposób jest tworzona pewna tablica, te elementy są dodawane do drugiej podtablicy w tablicy dodawanej w {{LinkZobaczTeż|tabele szablonu tekstu}}. == {{Śródtytuł|p.UstawPobierzKorzystanie}}{{Code|p.UstawPobierzKorzystanie}} == Funkcja na podstawie stworzonych elementów w tablicy {{Code|tablica_zmiennych2.tablica_szablonu_tekstu_linkowe_korzystane}} {{Patrz|tablica_zmiennych2.tablica_szablonu_tekstu_linkowe_korzystane}}, która skłąda się z tablic numerowanych, gdzie w każdej takiej jego tablicy są dwie podtablice, te elementy są zbierane dla: {{LinkPatrz|rodzaj: Śródtekst}}, pierwsza taka podtablica jest tablicą numerowaną z: {{LinkPatrz|nazwa_obiektu}} i {{linkPatrz|uchwyt_obiektu}}, a druga taka podtablica jest z: {{LinkPatrz|Pobierz: obiekt}} i {{LinkPatrz|Pobierz: kod}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.UstawPobierzKorzystanie(tablica_zmiennych2)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tablica_zmiennych2}} - jak w: {{LinkPatrz|tablica_zmiennych2}}. Na podstawie każdego takich elementów numerowanych w tablicy: {{LinkPatrz|tablica_zmiennych2.tablica_szablonu_tekstu_linkowe_korzystane}}, jest uruchamiana funkcja: {{LinkŚródtytuł|p.UstawianiePobierz}}, dla pierwszego parametru z wartością {{Code|nil}}, drugim: {{LinkPatrz|tablica_zmiennych2}}, i dalszymi. == {{Śródtytuł|p.ZamienianiePobierzNaKod}}{{Code|p.ZamienianiePobierzNaKod}} == Funkcja na podstawie parametru {{LinkPatrz|tekst}}, {{LinkPatrz|treść}} lub {{LinkPatrz|1}}, występujących w tabeli: {{LinkPatrz|tabela_parametrow_szablonu}}, zdeefiniowanych jako tablica: {{Code|pozycja[3][1][1]}}. Modyfikuje też element: {{Code|(pozycja[4] or{})[1]}} lub {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}}, aby wyświetlić zamieniony, czyli zmodyfikowany, element, ewentualnie ze zmodyfikowaną bazą danych kodów. Funkcja do szybszego działania wykorzystuje tabelę: {{Code|(pozycja[4] or {})[2]}} lub {{LinkPatrz|tablica_danych_parametrow_szablonu_strony}}. Definicja skrótowa funkcji: <syntaxhighlight lang="Lua"> function p.ZamienianiePobierzNaKod(obiekt,kod,pozycja,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,czy_korzystane)...end; </syntaxhighlight> Parametry funkcji: * {{Code|obiekt}} - jak w: {{LinkPatrz|Pobierz: obiekt}}, * {{Code|kod}} - jak w: {{LinkPatrz|Pobierz: kod}}, * {{Code|pozycja}} - dany element numerowany, który przedstawia pozycję dla elementów typu: {{LinkPatrz|Śródtekst}}, * {{Code|nazwa_modulu_aktualna_czy_biezaca}} {{Patrz|nazwa_modulu_aktualna_czy_biezaca}} - nazwa modułu aktualna lub bieżąca, w której występują elementy typu {{LinkPatrz|rodzaj: Śródtekst}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - jak w: {{LinkPatrz|tablica_danych_parametrow_szablonu_strony}}, * {{Code|czy_korzystane}} {{Patrz|czy_korzystane}} - czy wykorzystawane elementy są typu: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}}, gdy ta wartość przyjmuje wartość {{Code|true}}, przeciwnie: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}. == {{Śródtytuł|p.EdytowanieSzablonoweTekstuTypuPobierz}}{{Code|p.EdytowanieSzablonoweTekstuTypuPobierz}} == == {{Śródtytuł|p.EdytowanieSzablonoweTekstuTypuNiePobierz}}{{Code|p.EdytowanieSzablonoweTekstuTypuNiePobierz}} == == {{Śródtytuł|p.AktualizowanieSzablonowychTekstowychKompletowaniaInformacjiTekstu}}{{Code|p.AktualizowanieSzablonowychTekstowychKompletowaniaInformacjiTekstu}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> 7kn383o0vut7fs4ohtg59hv6iwn9l4c 547089 547088 2026-06-21T11:06:45Z Persino 2851 /* {{Śródtytuł|p.ZamienianiePobierzNaKod}}{{Code|p.ZamienianiePobierzNaKod}} */ 547089 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/SzablonyTekstu}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} Ten moduł służy do obsługi szablonów: {{s|Śródtekst}} i {{s|PobierzŚródtekst}}. Stronicowy parser jak napotka szablon {{s|Śródtekst}}, to generuje tworzenie następujących tablic: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}, dla tych szablonów w artykule niekorzystanej, lub korzystanej według: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}}, jako {{ZobaczTeż|tabele szablonu tekstu}}: <syntaxhighlight lang="lua"> if(not czy_artykul_korzystany)then if(not tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych)then tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych={};end; table.insert(tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych,{ {wartosc_elementu,lista_dwuelementowa,}, {}, {{tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,},obiekt,kod,}, {tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,}, }); else if(not tablica_zmiennych.tablica_szablonu_tekstu_korzystanych)then tablica_zmiennych.tablica_szablonu_tekstu_korzystanych={};end; table.insert(tablica_zmiennych.tablica_szablonu_tekstu_korzystanych,{ {wartosc_elementu,lista_dwuelementowa,}, {}, {{tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,},obiekt,kod,}, }); end; </syntaxhighlight> Z tych tabel korzysta, nie tylko, szablon: {{s|Śródtekst}}, ale też i: {{s|PobierzŚródtekst}}, przy pomocy oprogramowania modułu {{m|StronicowyParser}}. == {{Śródtytuł|p.ParametrTekstowySzablonuTekstu}}{{Code|p.ParametrTekstowySzablonuTekstu}} == Funkcja liczy element tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}, o nazwie {{Code|tekst}} {{Patrz|tekst}}, {{Code|treść}} {{Patrz|treść}} lub {{Code|1}} {{Patrz|1}}, i go zwraca: Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.ParametrTekstowySzablonuTekstu(tabela_parametrow_szablonu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{LinkPatrz|tabela_parametrow_szablonu}} - parametry szablonu {{s|Śródtekst}}, o różnych parametrach nazwanych lub nienazwanych. == {{Śródtytuł|p.SzablonTekstuBezPreProcess}}{{Code|p.SzablonTekstuBezPreProcess}} == Funkcja liczy element tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}, o nazwie {{Code|bez preprocess}} {{Patrz|bez preprocess}}, i go zwraca: Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SzablonTekstuBezPreProcess(tabela_parametrow_szablonu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu {{s|Śródtekst}}, o parametrach nazwanych lub nienazwanych. == {{Śródtytuł|p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony}}{{Code|p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony}} == Funkcja elementy tablicy: {{Code|tablica_zmiennych2}} {{Patrz|tablica_zmiennych2}}, przypisuje tablicy: {{Code|tablica_zmiennych}} {{Patrz|tablica_zmiennych}}, czyli do tego pierwszego dodaje elementy o nazwie: {{Code|tablica_zmiennych2.tablica_szablonu_tekstu_niekorzystanych}} {{Patrz|tablica_zmiennych2.tablica_szablonu_tekstu_niekorzystanych}}, do tablicy o nazwie: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}} {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}, a jeżeli ta tablica nie istnieje, to jest tworzona: Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony(tablica_zmiennych,tablica_zmiennych2)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}}, jest to tablica dla strony niekorzystanej, * {{Code|tablica_zmiennych2}} - jak w: {{LinkPatrz|tablica_zmiennych2}}, jest to tablica dla strony korzystanej, aktualnej strony, która jest wyświetlana na ekranie. == {{Śródtytuł|p.DodawanieDoBazyStronySzablonuTekstu}}{{Code|p.DodawanieDoBazyStronySzablonuTekstu}} == Szablon dodający elementy do tablicy bazy: {{LinkPatrz|tablica_zmiennych}} lub {{LinkPatrz|tablica_zmiennych2}}, szablonu: {{LinkPatrz|Śródtekst}}, tzn. do tablicy: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}, gdy {{LinkPatrz|czy_artykul_korzystany}}, jest równy wartości fałszywej, przeciwnie do: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}}. Te elementy są dodawane według następującego kodu: {{LinkZobaczTeż|tabele szablonu tekstu}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.DodawanieDoBazyStronySzablonuTekstu(tablica_zmiennych,wartosc_elementu,lista_dwuelementowa,obiekt,kod,tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,czy_artykul_korzystany)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}} lub {{LinkPatrz|tablica_zmiennych2}}, * {{Code|wartosc_elementu}} {{Patrz|wartosc_elementu}} - rodzaj elementu, jak: {{Code|Śródtekst}} {{Patrz|rodzaj: Śródtekst}}, dla jednego z szablonów tekstu, * {{Code|lista_dwuelementowa}} {{Patrz|lista_dwuelementowa}} - tablica elementu tablicy zbierającej dane, element posiada tylko pierwszy element, który jest uchwytem, * {{Code|obiekt}} {{Patrz|obiekt}} i {{Code|kod}} {{Patrz|kod}} - obiekt i kod, szablonu typu {{s|Śródtekst}} {{Patrz|Śródtekst}} w tekście zakodowanym, * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}}, * {{Code|nazwa_szablonu_wywolania}} {{Patrz|nazwa_szablonu_wywolania}} - nazwa szablonu tekstu, typu, dla {{LinkPatrz|Śródtekst}}, * {{Code|modyfikatory_wywolania}} {{Patrz|modyfikatory_wywolania}} - tablica modyfikatorów uruchmienia szablonu {{LinkPatrz|Śródtekst}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{Patrz|tablica_analizy_obiektow_strony_dany_modul}} - tablica bazy kodów modułu {{m|Szablonowe}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - tablica rozkładu na czynniki pierwsze, elementów bazy {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}}, * {{Code|czy_artykul_korzystany}} {{Patrz|czy_artykul_korzystany}} - {{Code|true}}, gdy artykuł jest taki sam,jak strona w przeglądarce. Tablica jako drugi element dodawanej tablicy w kodzie: {{LinkZobaczTeż|tabele szablonu tekstu}}, to są tam podtablice, które są tablicami składających się z obiektu i kodu elementu {{s|PobierzŚródtekst}} {{Patrz|PobierzŚródtekst}}, tych podtablic może być wiele dla różnych tych. == {{Śródtytuł|p.UstawianiePobierz}}{{Code|p.UstawianiePobierz}} == Funkcja dodaje do danego elementu typu: {{LinkPatrz|rodzaj: Śródtekst}}, utworzonego na podstawie obiektów nie typu {{LinkPatrz|Pobierz}}, w postaci tablicy utworzonego z trzech elementów, tzn.: {{LinkPatrz|Pobierz: obiekt}} i {{LinkPatrz|Pobierz: kod}}, a trzeci element tablicy jest numerkiem nazwanym, ile w danym elemencie było wtedy aktualnie elenetów przed wywołaniem szablonu typu {{LinkPatrz|Pobierz}}, dla zmiennych w tablicach: {{LinkPatrz|tablica_zmiennych}}. Ten element służy do wstawiania innych elementów do tablic nazwanych uchwytów oraz ich numerków (dla elementów numerowanych) lub nie, aby przesunąc od pewnego momentu ich zawartości do przodu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.UstawianiePobierz(tablica_zmiennych,tablica_zmiennych2,obiekt,kod,nazwa_obiektu,uchwyt_obiektu,czy_artykul_korzystany)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}}, * {{Code|tablica_zmiennych2}} - jak w: {{LinkPatrz|tablica_zmiennych2}}, * {{Code|obiekt}} {{Patrz|Pobierz: obiekt}} - obiekt, jak: {{LinkPatrz|rodzaj: Śródtekst}}, obiektu typu {{Code|Pobierz}} {{Patrz|Pobierz}}, * {{Code|kod}} {{Patrz|Pobierz: kod}} - numer danego obiektu typu {{LinkPatrz|Pobierz}}, * {{Code|nazwa_obiektu}} {{Patrz|nazwa_obiektu}} - nazwa danego obiektu {{LinkPatrz|Śródtekst}}, * {{Code|uchwyt_obiektu}} {{Patrz|uchwyt_obiektu}} - unikalny uchwyt danego obiektu {{LinkPatrz|Śródtekst}}, * {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}}. Gdy: {{LinkPatrz|czy_artykul_korzystany}}, przyjmuje wartość {{Code|true}}, wtedy jest używana tablica: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}}, przeciwnie: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}, ale dla elementów typu: {{LinkPatrz|tablica_zmiennych2}}, na podstawie tego w ten sposób jest tworzona pewna tablica, te elementy są dodawane do drugiej podtablicy w tablicy dodawanej w {{LinkZobaczTeż|tabele szablonu tekstu}}. == {{Śródtytuł|p.UstawPobierzKorzystanie}}{{Code|p.UstawPobierzKorzystanie}} == Funkcja na podstawie stworzonych elementów w tablicy {{Code|tablica_zmiennych2.tablica_szablonu_tekstu_linkowe_korzystane}} {{Patrz|tablica_zmiennych2.tablica_szablonu_tekstu_linkowe_korzystane}}, która skłąda się z tablic numerowanych, gdzie w każdej takiej jego tablicy są dwie podtablice, te elementy są zbierane dla: {{LinkPatrz|rodzaj: Śródtekst}}, pierwsza taka podtablica jest tablicą numerowaną z: {{LinkPatrz|nazwa_obiektu}} i {{linkPatrz|uchwyt_obiektu}}, a druga taka podtablica jest z: {{LinkPatrz|Pobierz: obiekt}} i {{LinkPatrz|Pobierz: kod}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.UstawPobierzKorzystanie(tablica_zmiennych2)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tablica_zmiennych2}} - jak w: {{LinkPatrz|tablica_zmiennych2}}. Na podstawie każdego takich elementów numerowanych w tablicy: {{LinkPatrz|tablica_zmiennych2.tablica_szablonu_tekstu_linkowe_korzystane}}, jest uruchamiana funkcja: {{LinkŚródtytuł|p.UstawianiePobierz}}, dla pierwszego parametru z wartością {{Code|nil}}, drugim: {{LinkPatrz|tablica_zmiennych2}}, i dalszymi. == {{Śródtytuł|p.ZamienianiePobierzNaKod}}{{Code|p.ZamienianiePobierzNaKod}} == Funkcja na podstawie parametru {{ZobaczTeż|tekst}}: {{LinkPatrz|tekst}}, {{LinkPatrz|treść}} lub {{LinkPatrz|1}}, występujących w tabeli: {{LinkPatrz|tabela_parametrow_szablonu}}, zdeefiniowanych jako tablica: {{Code|pozycja[3][1][1]}}. Modyfikuje też element {{ZobaczTeż|tablica_analizy_obiektow_strony_dany_modul}}: {{Code|(pozycja[4] or{})[1]}} lub {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}}, aby wyświetlić zamieniony, czyli zmodyfikowany, element, ewentualnie ze zmodyfikowaną bazą danych kodów. Funkcja do szybszego działania wykorzystuje tabelę: {{Code|(pozycja[4] or {})[2]}} lub {{LinkPatrz|tablica_danych_parametrow_szablonu_strony}}. Definicja skrótowa funkcji: <syntaxhighlight lang="Lua"> function p.ZamienianiePobierzNaKod(obiekt,kod,pozycja,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,czy_korzystane)...end; </syntaxhighlight> Parametry funkcji: * {{Code|obiekt}} - jak w: {{LinkPatrz|Pobierz: obiekt}}, * {{Code|kod}} - jak w: {{LinkPatrz|Pobierz: kod}}, * {{Code|pozycja}} - dany element numerowany, który przedstawia pozycję dla elementów typu: {{LinkPatrz|Śródtekst}}, * {{Code|nazwa_modulu_aktualna_czy_biezaca}} {{Patrz|nazwa_modulu_aktualna_czy_biezaca}} - nazwa modułu aktualna lub bieżąca, w której występują elementy typu {{LinkPatrz|rodzaj: Śródtekst}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - jak w: {{LinkPatrz|tablica_danych_parametrow_szablonu_strony}}, * {{Code|czy_korzystane}} {{Patrz|czy_korzystane}} - czy wykorzystawane elementy są typu: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}}, gdy ta wartość przyjmuje wartość {{Code|true}}, przeciwnie: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}. Funkcja wykorzystuje do modyfikacji funkcję: {{Code|{{sr|#p.ModyfikowanieKodowoSzablonoweZakodowanegoTekstu|p=Szablonowe}}}}, ona seryjnie modyfikuje całe elementy tekstu {{LinkZobaczTeż|tekst}} lub elementy bazy {{LinkZobaczTeż|tablica_analizy_obiektow_strony_dany_modul}} o pewnych dwuwymiarowych nazwach, co do kodów bazy. Element tekstu do modyfikacji jest uzyskiwany z funkcji: {{LinkPatrz|p.ParametrTekstowySzablonuTekstu}}, jeżeli ten tekst istnieje, a gdy nie, to funkcja nie zwraca żadnej wartości, a jak jest, to ten tekst, ze zmodyfikowaną tabelą bazy {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}}, też ze zmodyfikowaną tabelą parametrów {{LinkPatrz|tablica_danych_parametrow_szablonu_strony}}. == {{Śródtytuł|p.EdytowanieSzablonoweTekstuTypuPobierz}}{{Code|p.EdytowanieSzablonoweTekstuTypuPobierz}} == == {{Śródtytuł|p.EdytowanieSzablonoweTekstuTypuNiePobierz}}{{Code|p.EdytowanieSzablonoweTekstuTypuNiePobierz}} == == {{Śródtytuł|p.AktualizowanieSzablonowychTekstowychKompletowaniaInformacjiTekstu}}{{Code|p.AktualizowanieSzablonowychTekstowychKompletowaniaInformacjiTekstu}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> sdtzzzwuzmx3dcalm6zwj0f6kru798s 547090 547089 2026-06-21T11:07:34Z Persino 2851 /* {{Śródtytuł|p.ZamienianiePobierzNaKod}}{{Code|p.ZamienianiePobierzNaKod}} */ 547090 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/SzablonyTekstu}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} Ten moduł służy do obsługi szablonów: {{s|Śródtekst}} i {{s|PobierzŚródtekst}}. Stronicowy parser jak napotka szablon {{s|Śródtekst}}, to generuje tworzenie następujących tablic: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}, dla tych szablonów w artykule niekorzystanej, lub korzystanej według: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}}, jako {{ZobaczTeż|tabele szablonu tekstu}}: <syntaxhighlight lang="lua"> if(not czy_artykul_korzystany)then if(not tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych)then tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych={};end; table.insert(tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych,{ {wartosc_elementu,lista_dwuelementowa,}, {}, {{tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,},obiekt,kod,}, {tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,}, }); else if(not tablica_zmiennych.tablica_szablonu_tekstu_korzystanych)then tablica_zmiennych.tablica_szablonu_tekstu_korzystanych={};end; table.insert(tablica_zmiennych.tablica_szablonu_tekstu_korzystanych,{ {wartosc_elementu,lista_dwuelementowa,}, {}, {{tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,},obiekt,kod,}, }); end; </syntaxhighlight> Z tych tabel korzysta, nie tylko, szablon: {{s|Śródtekst}}, ale też i: {{s|PobierzŚródtekst}}, przy pomocy oprogramowania modułu {{m|StronicowyParser}}. == {{Śródtytuł|p.ParametrTekstowySzablonuTekstu}}{{Code|p.ParametrTekstowySzablonuTekstu}} == Funkcja liczy element tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}, o nazwie {{Code|tekst}} {{Patrz|tekst}}, {{Code|treść}} {{Patrz|treść}} lub {{Code|1}} {{Patrz|1}}, i go zwraca: Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.ParametrTekstowySzablonuTekstu(tabela_parametrow_szablonu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{LinkPatrz|tabela_parametrow_szablonu}} - parametry szablonu {{s|Śródtekst}}, o różnych parametrach nazwanych lub nienazwanych. == {{Śródtytuł|p.SzablonTekstuBezPreProcess}}{{Code|p.SzablonTekstuBezPreProcess}} == Funkcja liczy element tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}, o nazwie {{Code|bez preprocess}} {{Patrz|bez preprocess}}, i go zwraca: Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SzablonTekstuBezPreProcess(tabela_parametrow_szablonu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu {{s|Śródtekst}}, o parametrach nazwanych lub nienazwanych. == {{Śródtytuł|p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony}}{{Code|p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony}} == Funkcja elementy tablicy: {{Code|tablica_zmiennych2}} {{Patrz|tablica_zmiennych2}}, przypisuje tablicy: {{Code|tablica_zmiennych}} {{Patrz|tablica_zmiennych}}, czyli do tego pierwszego dodaje elementy o nazwie: {{Code|tablica_zmiennych2.tablica_szablonu_tekstu_niekorzystanych}} {{Patrz|tablica_zmiennych2.tablica_szablonu_tekstu_niekorzystanych}}, do tablicy o nazwie: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}} {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}, a jeżeli ta tablica nie istnieje, to jest tworzona: Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony(tablica_zmiennych,tablica_zmiennych2)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}}, jest to tablica dla strony niekorzystanej, * {{Code|tablica_zmiennych2}} - jak w: {{LinkPatrz|tablica_zmiennych2}}, jest to tablica dla strony korzystanej, aktualnej strony, która jest wyświetlana na ekranie. == {{Śródtytuł|p.DodawanieDoBazyStronySzablonuTekstu}}{{Code|p.DodawanieDoBazyStronySzablonuTekstu}} == Szablon dodający elementy do tablicy bazy: {{LinkPatrz|tablica_zmiennych}} lub {{LinkPatrz|tablica_zmiennych2}}, szablonu: {{LinkPatrz|Śródtekst}}, tzn. do tablicy: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}, gdy {{LinkPatrz|czy_artykul_korzystany}}, jest równy wartości fałszywej, przeciwnie do: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}}. Te elementy są dodawane według następującego kodu: {{LinkZobaczTeż|tabele szablonu tekstu}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.DodawanieDoBazyStronySzablonuTekstu(tablica_zmiennych,wartosc_elementu,lista_dwuelementowa,obiekt,kod,tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,czy_artykul_korzystany)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}} lub {{LinkPatrz|tablica_zmiennych2}}, * {{Code|wartosc_elementu}} {{Patrz|wartosc_elementu}} - rodzaj elementu, jak: {{Code|Śródtekst}} {{Patrz|rodzaj: Śródtekst}}, dla jednego z szablonów tekstu, * {{Code|lista_dwuelementowa}} {{Patrz|lista_dwuelementowa}} - tablica elementu tablicy zbierającej dane, element posiada tylko pierwszy element, który jest uchwytem, * {{Code|obiekt}} {{Patrz|obiekt}} i {{Code|kod}} {{Patrz|kod}} - obiekt i kod, szablonu typu {{s|Śródtekst}} {{Patrz|Śródtekst}} w tekście zakodowanym, * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}}, * {{Code|nazwa_szablonu_wywolania}} {{Patrz|nazwa_szablonu_wywolania}} - nazwa szablonu tekstu, typu, dla {{LinkPatrz|Śródtekst}}, * {{Code|modyfikatory_wywolania}} {{Patrz|modyfikatory_wywolania}} - tablica modyfikatorów uruchmienia szablonu {{LinkPatrz|Śródtekst}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{Patrz|tablica_analizy_obiektow_strony_dany_modul}} - tablica bazy kodów modułu {{m|Szablonowe}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - tablica rozkładu na czynniki pierwsze, elementów bazy {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}}, * {{Code|czy_artykul_korzystany}} {{Patrz|czy_artykul_korzystany}} - {{Code|true}}, gdy artykuł jest taki sam,jak strona w przeglądarce. Tablica jako drugi element dodawanej tablicy w kodzie: {{LinkZobaczTeż|tabele szablonu tekstu}}, to są tam podtablice, które są tablicami składających się z obiektu i kodu elementu {{s|PobierzŚródtekst}} {{Patrz|PobierzŚródtekst}}, tych podtablic może być wiele dla różnych tych. == {{Śródtytuł|p.UstawianiePobierz}}{{Code|p.UstawianiePobierz}} == Funkcja dodaje do danego elementu typu: {{LinkPatrz|rodzaj: Śródtekst}}, utworzonego na podstawie obiektów nie typu {{LinkPatrz|Pobierz}}, w postaci tablicy utworzonego z trzech elementów, tzn.: {{LinkPatrz|Pobierz: obiekt}} i {{LinkPatrz|Pobierz: kod}}, a trzeci element tablicy jest numerkiem nazwanym, ile w danym elemencie było wtedy aktualnie elenetów przed wywołaniem szablonu typu {{LinkPatrz|Pobierz}}, dla zmiennych w tablicach: {{LinkPatrz|tablica_zmiennych}}. Ten element służy do wstawiania innych elementów do tablic nazwanych uchwytów oraz ich numerków (dla elementów numerowanych) lub nie, aby przesunąc od pewnego momentu ich zawartości do przodu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.UstawianiePobierz(tablica_zmiennych,tablica_zmiennych2,obiekt,kod,nazwa_obiektu,uchwyt_obiektu,czy_artykul_korzystany)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}}, * {{Code|tablica_zmiennych2}} - jak w: {{LinkPatrz|tablica_zmiennych2}}, * {{Code|obiekt}} {{Patrz|Pobierz: obiekt}} - obiekt, jak: {{LinkPatrz|rodzaj: Śródtekst}}, obiektu typu {{Code|Pobierz}} {{Patrz|Pobierz}}, * {{Code|kod}} {{Patrz|Pobierz: kod}} - numer danego obiektu typu {{LinkPatrz|Pobierz}}, * {{Code|nazwa_obiektu}} {{Patrz|nazwa_obiektu}} - nazwa danego obiektu {{LinkPatrz|Śródtekst}}, * {{Code|uchwyt_obiektu}} {{Patrz|uchwyt_obiektu}} - unikalny uchwyt danego obiektu {{LinkPatrz|Śródtekst}}, * {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}}. Gdy: {{LinkPatrz|czy_artykul_korzystany}}, przyjmuje wartość {{Code|true}}, wtedy jest używana tablica: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}}, przeciwnie: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}, ale dla elementów typu: {{LinkPatrz|tablica_zmiennych2}}, na podstawie tego w ten sposób jest tworzona pewna tablica, te elementy są dodawane do drugiej podtablicy w tablicy dodawanej w {{LinkZobaczTeż|tabele szablonu tekstu}}. == {{Śródtytuł|p.UstawPobierzKorzystanie}}{{Code|p.UstawPobierzKorzystanie}} == Funkcja na podstawie stworzonych elementów w tablicy {{Code|tablica_zmiennych2.tablica_szablonu_tekstu_linkowe_korzystane}} {{Patrz|tablica_zmiennych2.tablica_szablonu_tekstu_linkowe_korzystane}}, która skłąda się z tablic numerowanych, gdzie w każdej takiej jego tablicy są dwie podtablice, te elementy są zbierane dla: {{LinkPatrz|rodzaj: Śródtekst}}, pierwsza taka podtablica jest tablicą numerowaną z: {{LinkPatrz|nazwa_obiektu}} i {{linkPatrz|uchwyt_obiektu}}, a druga taka podtablica jest z: {{LinkPatrz|Pobierz: obiekt}} i {{LinkPatrz|Pobierz: kod}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.UstawPobierzKorzystanie(tablica_zmiennych2)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tablica_zmiennych2}} - jak w: {{LinkPatrz|tablica_zmiennych2}}. Na podstawie każdego takich elementów numerowanych w tablicy: {{LinkPatrz|tablica_zmiennych2.tablica_szablonu_tekstu_linkowe_korzystane}}, jest uruchamiana funkcja: {{LinkŚródtytuł|p.UstawianiePobierz}}, dla pierwszego parametru z wartością {{Code|nil}}, drugim: {{LinkPatrz|tablica_zmiennych2}}, i dalszymi. == {{Śródtytuł|p.ZamienianiePobierzNaKod}}{{Code|p.ZamienianiePobierzNaKod}} == Funkcja na podstawie parametru {{ZobaczTeż|tekst}}: {{LinkPatrz|tekst}}, {{LinkPatrz|treść}} lub {{LinkPatrz|1}}, występujących w tabeli: {{LinkPatrz|tabela_parametrow_szablonu}}, zdeefiniowanych jako tablica: {{Code|pozycja[3][1][1]}}. Modyfikuje też element {{ZobaczTeż|tablica_analizy_obiektow_strony_dany_modul}}: {{Code|(pozycja[4] or{})[1]}} lub {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}}, aby wyświetlić zamieniony, czyli zmodyfikowany, element, ewentualnie ze zmodyfikowaną bazą danych kodów. Funkcja do szybszego działania wykorzystuje tabelę: {{Code|(pozycja[4] or {})[2]}} lub {{LinkPatrz|tablica_danych_parametrow_szablonu_strony}}. Definicja skrótowa funkcji: <syntaxhighlight lang="Lua"> function p.ZamienianiePobierzNaKod(obiekt,kod,pozycja,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,czy_korzystane)...end; </syntaxhighlight> Parametry funkcji: * {{Code|obiekt}} - jak w: {{LinkPatrz|Pobierz: obiekt}}, * {{Code|kod}} - jak w: {{LinkPatrz|Pobierz: kod}}, * {{Code|pozycja}} - dany element numerowany, który przedstawia pozycję dla elementów typu: {{LinkPatrz|Śródtekst}}, * {{Code|nazwa_modulu_aktualna_czy_biezaca}} {{Patrz|nazwa_modulu_aktualna_czy_biezaca}} - nazwa modułu aktualna lub bieżąca, w której występują elementy typu {{LinkPatrz|rodzaj: Śródtekst}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - jak w: {{LinkPatrz|tablica_danych_parametrow_szablonu_strony}}, * {{Code|czy_korzystane}} {{Patrz|czy_korzystane}} - czy wykorzystawane elementy są typu: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}}, gdy ta wartość przyjmuje wartość {{Code|true}}, przeciwnie: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}. Funkcja wykorzystuje do modyfikacji funkcję: {{Code|{{sr|#p.ModyfikowanieKodowoSzablonoweZakodowanegoTekstu|p=Szablonowe}}}}, ona seryjnie modyfikuje całe elementy tekstu {{LinkZobaczTeż|tekst}} lub elementy bazy {{LinkZobaczTeż|tablica_analizy_obiektow_strony_dany_modul}} o pewnych dwuwymiarowych nazwach, co do kodów bazy. Element tekstu do modyfikacji jest uzyskiwany z funkcji: {{LinkŚródtytuł|p.ParametrTekstowySzablonuTekstu}}, jeżeli ten tekst istnieje, a gdy nie, to funkcja nie zwraca żadnej wartości, a jak jest, to ten tekst, ze zmodyfikowaną tabelą bazy {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}}, też ze zmodyfikowaną tabelą parametrów {{LinkPatrz|tablica_danych_parametrow_szablonu_strony}}. == {{Śródtytuł|p.EdytowanieSzablonoweTekstuTypuPobierz}}{{Code|p.EdytowanieSzablonoweTekstuTypuPobierz}} == == {{Śródtytuł|p.EdytowanieSzablonoweTekstuTypuNiePobierz}}{{Code|p.EdytowanieSzablonoweTekstuTypuNiePobierz}} == == {{Śródtytuł|p.AktualizowanieSzablonowychTekstowychKompletowaniaInformacjiTekstu}}{{Code|p.AktualizowanieSzablonowychTekstowychKompletowaniaInformacjiTekstu}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> jqax7erfbk8z0agqh0a1kpa077dj1tr 547091 547090 2026-06-21T11:24:40Z Persino 2851 547091 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/SzablonyTekstu}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} Ten moduł służy do obsługi szablonów: {{s|Śródtekst}} i {{s|PobierzŚródtekst}}. Stronicowy parser jak napotka szablon {{s|Śródtekst}}, to generuje tworzenie następujących tablic: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}, dla tych szablonów w artykule niekorzystanej, lub korzystanej według: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}}, jako {{ZobaczTeż|tabele szablonu tekstu}}: <syntaxhighlight lang="lua"> if(not czy_artykul_korzystany)then if(not tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych)then tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych={};end; table.insert(tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych,{ {wartosc_elementu,lista_dwuelementowa,}, {}, {{tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,},obiekt,kod,}, {tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,}, }); else if(not tablica_zmiennych.tablica_szablonu_tekstu_korzystanych)then tablica_zmiennych.tablica_szablonu_tekstu_korzystanych={};end; table.insert(tablica_zmiennych.tablica_szablonu_tekstu_korzystanych,{ {wartosc_elementu,lista_dwuelementowa,}, {}, {{tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,},obiekt,kod,}, }); end; </syntaxhighlight> Z tych tabel korzysta, nie tylko, szablon: {{s|Śródtekst}}, ale też i: {{s|PobierzŚródtekst}}, przy pomocy oprogramowania modułu {{m|StronicowyParser}}, czy {{m|StronicowyParser/}}. == {{Śródtytuł|p.ParametrTekstowySzablonuTekstu}}{{Code|p.ParametrTekstowySzablonuTekstu}} == Funkcja liczy element tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}, o nazwie {{Code|tekst}} {{Patrz|tekst}}, {{Code|treść}} {{Patrz|treść}} lub {{Code|1}} {{Patrz|1}}, i go zwraca: Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.ParametrTekstowySzablonuTekstu(tabela_parametrow_szablonu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{LinkPatrz|tabela_parametrow_szablonu}} - parametry szablonu {{s|Śródtekst}}, o różnych parametrach nazwanych lub nienazwanych. == {{Śródtytuł|p.SzablonTekstuBezPreProcess}}{{Code|p.SzablonTekstuBezPreProcess}} == Funkcja liczy element tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}, o nazwie {{Code|bez preprocess}} {{Patrz|bez preprocess}}, i go zwraca: Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SzablonTekstuBezPreProcess(tabela_parametrow_szablonu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu {{s|Śródtekst}}, o parametrach nazwanych lub nienazwanych. == {{Śródtytuł|p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony}}{{Code|p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony}} == Funkcja elementy tablicy: {{Code|tablica_zmiennych2}} {{Patrz|tablica_zmiennych2}}, przypisuje tablicy: {{Code|tablica_zmiennych}} {{Patrz|tablica_zmiennych}}, czyli do tego pierwszego dodaje elementy o nazwie: {{Code|tablica_zmiennych2.tablica_szablonu_tekstu_niekorzystanych}} {{Patrz|tablica_zmiennych2.tablica_szablonu_tekstu_niekorzystanych}}, do tablicy o nazwie: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}} {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}, a jeżeli ta tablica nie istnieje, to jest tworzona: Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony(tablica_zmiennych,tablica_zmiennych2)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}}, jest to tablica dla strony niekorzystanej, * {{Code|tablica_zmiennych2}} - jak w: {{LinkPatrz|tablica_zmiennych2}}, jest to tablica dla strony korzystanej, aktualnej strony, która jest wyświetlana na ekranie. == {{Śródtytuł|p.DodawanieDoBazyStronySzablonuTekstu}}{{Code|p.DodawanieDoBazyStronySzablonuTekstu}} == Szablon dodający elementy do tablicy bazy: {{LinkPatrz|tablica_zmiennych}} lub {{LinkPatrz|tablica_zmiennych2}}, szablonu: {{LinkPatrz|Śródtekst}}, tzn. do tablicy: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}, gdy {{LinkPatrz|czy_artykul_korzystany}}, jest równy wartości fałszywej, przeciwnie do: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}}. Te elementy są dodawane według następującego kodu: {{LinkZobaczTeż|tabele szablonu tekstu}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.DodawanieDoBazyStronySzablonuTekstu(tablica_zmiennych,wartosc_elementu,lista_dwuelementowa,obiekt,kod,tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,czy_artykul_korzystany)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}} lub {{LinkPatrz|tablica_zmiennych2}}, * {{Code|wartosc_elementu}} {{Patrz|wartosc_elementu}} - rodzaj elementu, jak: {{Code|Śródtekst}} {{Patrz|rodzaj: Śródtekst}}, dla jednego z szablonów tekstu, * {{Code|lista_dwuelementowa}} {{Patrz|lista_dwuelementowa}} - tablica elementu tablicy zbierającej dane, element posiada tylko pierwszy element, który jest uchwytem, * {{Code|obiekt}} {{Patrz|obiekt}} i {{Code|kod}} {{Patrz|kod}} - obiekt i kod, szablonu typu {{s|Śródtekst}} {{Patrz|Śródtekst}} w tekście zakodowanym, * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}}, * {{Code|nazwa_szablonu_wywolania}} {{Patrz|nazwa_szablonu_wywolania}} - nazwa szablonu tekstu, typu, dla {{LinkPatrz|Śródtekst}}, * {{Code|modyfikatory_wywolania}} {{Patrz|modyfikatory_wywolania}} - tablica modyfikatorów uruchmienia szablonu {{LinkPatrz|Śródtekst}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{Patrz|tablica_analizy_obiektow_strony_dany_modul}} - tablica bazy kodów modułu {{m|Szablonowe}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - tablica rozkładu na czynniki pierwsze, elementów bazy {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}}, * {{Code|czy_artykul_korzystany}} {{Patrz|czy_artykul_korzystany}} - {{Code|true}}, gdy artykuł jest taki sam,jak strona w przeglądarce. Tablica jako drugi element dodawanej tablicy w kodzie: {{LinkZobaczTeż|tabele szablonu tekstu}}, to są tam podtablice, które są tablicami składających się z obiektu i kodu elementu {{s|PobierzŚródtekst}} {{Patrz|PobierzŚródtekst}}, tych podtablic może być wiele dla różnych tych. == {{Śródtytuł|p.UstawianiePobierz}}{{Code|p.UstawianiePobierz}} == Funkcja dodaje do danego elementu typu: {{LinkPatrz|rodzaj: Śródtekst}}, utworzonego na podstawie obiektów nie typu {{LinkPatrz|Pobierz}}, w postaci tablicy utworzonego z trzech elementów, tzn.: {{LinkPatrz|Pobierz: obiekt}} i {{LinkPatrz|Pobierz: kod}}, a trzeci element tablicy jest numerkiem nazwanym, ile w danym elemencie było wtedy aktualnie elenetów przed wywołaniem szablonu typu {{LinkPatrz|Pobierz}}, dla zmiennych w tablicach: {{LinkPatrz|tablica_zmiennych}}. Ten element służy do wstawiania innych elementów do tablic nazwanych uchwytów oraz ich numerków (dla elementów numerowanych) lub nie, aby przesunąc od pewnego momentu ich zawartości do przodu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.UstawianiePobierz(tablica_zmiennych,tablica_zmiennych2,obiekt,kod,nazwa_obiektu,uchwyt_obiektu,czy_artykul_korzystany)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}}, * {{Code|tablica_zmiennych2}} - jak w: {{LinkPatrz|tablica_zmiennych2}}, * {{Code|obiekt}} {{Patrz|Pobierz: obiekt}} - obiekt, jak: {{LinkPatrz|rodzaj: Śródtekst}}, obiektu typu {{Code|Pobierz}} {{Patrz|Pobierz}}, * {{Code|kod}} {{Patrz|Pobierz: kod}} - numer danego obiektu typu {{LinkPatrz|Pobierz}}, * {{Code|nazwa_obiektu}} {{Patrz|nazwa_obiektu}} - nazwa danego obiektu {{LinkPatrz|Śródtekst}}, * {{Code|uchwyt_obiektu}} {{Patrz|uchwyt_obiektu}} - unikalny uchwyt danego obiektu {{LinkPatrz|Śródtekst}}, * {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}}. Gdy: {{LinkPatrz|czy_artykul_korzystany}}, przyjmuje wartość {{Code|true}}, wtedy jest używana tablica: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}}, przeciwnie: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}, ale dla elementów typu: {{LinkPatrz|tablica_zmiennych2}}, na podstawie tego w ten sposób jest tworzona pewna tablica, te elementy są dodawane do drugiej podtablicy w tablicy dodawanej w {{LinkZobaczTeż|tabele szablonu tekstu}}. == {{Śródtytuł|p.UstawPobierzKorzystanie}}{{Code|p.UstawPobierzKorzystanie}} == Funkcja na podstawie stworzonych elementów w tablicy {{Code|tablica_zmiennych2.tablica_szablonu_tekstu_linkowe_korzystane}} {{Patrz|tablica_zmiennych2.tablica_szablonu_tekstu_linkowe_korzystane}}, która skłąda się z tablic numerowanych, gdzie w każdej takiej jego tablicy są dwie podtablice, te elementy są zbierane dla: {{LinkPatrz|rodzaj: Śródtekst}}, pierwsza taka podtablica jest tablicą numerowaną z: {{LinkPatrz|nazwa_obiektu}} i {{linkPatrz|uchwyt_obiektu}}, a druga taka podtablica jest z: {{LinkPatrz|Pobierz: obiekt}} i {{LinkPatrz|Pobierz: kod}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.UstawPobierzKorzystanie(tablica_zmiennych2)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tablica_zmiennych2}} - jak w: {{LinkPatrz|tablica_zmiennych2}}. Na podstawie każdego takich elementów numerowanych w tablicy: {{LinkPatrz|tablica_zmiennych2.tablica_szablonu_tekstu_linkowe_korzystane}}, jest uruchamiana funkcja: {{LinkŚródtytuł|p.UstawianiePobierz}}, dla pierwszego parametru z wartością {{Code|nil}}, drugim: {{LinkPatrz|tablica_zmiennych2}}, i dalszymi. == {{Śródtytuł|p.ZamienianiePobierzNaKod}}{{Code|p.ZamienianiePobierzNaKod}} == Funkcja na podstawie parametru {{ZobaczTeż|tekst}}: {{LinkPatrz|tekst}}, {{LinkPatrz|treść}} lub {{LinkPatrz|1}}, występujących w tabeli: {{LinkPatrz|tabela_parametrow_szablonu}}, zdeefiniowanych jako tablica: {{Code|pozycja[3][1][1]}}. Modyfikuje też element {{ZobaczTeż|tablica_analizy_obiektow_strony_dany_modul}}: {{Code|(pozycja[4] or{})[1]}} lub {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}}, aby wyświetlić zamieniony, czyli zmodyfikowany, element, ewentualnie ze zmodyfikowaną bazą danych kodów. Funkcja do szybszego działania wykorzystuje tabelę: {{Code|(pozycja[4] or {})[2]}} lub {{LinkPatrz|tablica_danych_parametrow_szablonu_strony}}. Definicja skrótowa funkcji: <syntaxhighlight lang="Lua"> function p.ZamienianiePobierzNaKod(obiekt,kod,pozycja,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,czy_korzystane)...end; </syntaxhighlight> Parametry funkcji: * {{Code|obiekt}} - jak w: {{LinkPatrz|Pobierz: obiekt}}, * {{Code|kod}} - jak w: {{LinkPatrz|Pobierz: kod}}, * {{Code|pozycja}} - dany element numerowany, który przedstawia pozycję dla elementów typu: {{LinkPatrz|Śródtekst}}, * {{Code|nazwa_modulu_aktualna_czy_biezaca}} {{Patrz|nazwa_modulu_aktualna_czy_biezaca}} - nazwa modułu aktualna lub bieżąca, w której występują elementy typu {{LinkPatrz|rodzaj: Śródtekst}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - jak w: {{LinkPatrz|tablica_danych_parametrow_szablonu_strony}}, * {{Code|czy_korzystane}} {{Patrz|czy_korzystane}} - czy wykorzystawane elementy są typu: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}}, gdy ta wartość przyjmuje wartość {{Code|true}}, przeciwnie: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}. Funkcja wykorzystuje do modyfikacji funkcję: {{Code|{{sr|#p.ModyfikowanieKodowoSzablonoweZakodowanegoTekstu|p=Szablonowe}}}}, ona seryjnie modyfikuje całe elementy tekstu {{LinkZobaczTeż|tekst}} lub elementy bazy {{LinkZobaczTeż|tablica_analizy_obiektow_strony_dany_modul}} o pewnych dwuwymiarowych nazwach, co do kodów bazy. Element tekstu do modyfikacji jest uzyskiwany z funkcji: {{LinkŚródtytuł|p.ParametrTekstowySzablonuTekstu}}, jeżeli ten tekst istnieje, a gdy nie, to funkcja nie zwraca żadnej wartości, a jak jest, to ten tekst, ze zmodyfikowaną tabelą bazy {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}}, też ze zmodyfikowaną tabelą parametrów {{LinkPatrz|tablica_danych_parametrow_szablonu_strony}}. == {{Śródtytuł|p.EdytowanieSzablonoweTekstuTypuPobierz}}{{Code|p.EdytowanieSzablonoweTekstuTypuPobierz}} == == {{Śródtytuł|p.EdytowanieSzablonoweTekstuTypuNiePobierz}}{{Code|p.EdytowanieSzablonoweTekstuTypuNiePobierz}} == == {{Śródtytuł|p.AktualizowanieSzablonowychTekstowychKompletowaniaInformacjiTekstu}}{{Code|p.AktualizowanieSzablonowychTekstowychKompletowaniaInformacjiTekstu}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> lu8yjxl07z3xgu4dgm101ir1z4gfgea 547092 547091 2026-06-21T11:36:34Z Persino 2851 /* {{Śródtytuł|p.ZamienianiePobierzNaKod}}{{Code|p.ZamienianiePobierzNaKod}} */ 547092 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/SzablonyTekstu}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} Ten moduł służy do obsługi szablonów: {{s|Śródtekst}} i {{s|PobierzŚródtekst}}. Stronicowy parser jak napotka szablon {{s|Śródtekst}}, to generuje tworzenie następujących tablic: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}, dla tych szablonów w artykule niekorzystanej, lub korzystanej według: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}}, jako {{ZobaczTeż|tabele szablonu tekstu}}: <syntaxhighlight lang="lua"> if(not czy_artykul_korzystany)then if(not tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych)then tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych={};end; table.insert(tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych,{ {wartosc_elementu,lista_dwuelementowa,}, {}, {{tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,},obiekt,kod,}, {tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,}, }); else if(not tablica_zmiennych.tablica_szablonu_tekstu_korzystanych)then tablica_zmiennych.tablica_szablonu_tekstu_korzystanych={};end; table.insert(tablica_zmiennych.tablica_szablonu_tekstu_korzystanych,{ {wartosc_elementu,lista_dwuelementowa,}, {}, {{tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,},obiekt,kod,}, }); end; </syntaxhighlight> Z tych tabel korzysta, nie tylko, szablon: {{s|Śródtekst}}, ale też i: {{s|PobierzŚródtekst}}, przy pomocy oprogramowania modułu {{m|StronicowyParser}}, czy {{m|StronicowyParser/}}. == {{Śródtytuł|p.ParametrTekstowySzablonuTekstu}}{{Code|p.ParametrTekstowySzablonuTekstu}} == Funkcja liczy element tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}, o nazwie {{Code|tekst}} {{Patrz|tekst}}, {{Code|treść}} {{Patrz|treść}} lub {{Code|1}} {{Patrz|1}}, i go zwraca: Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.ParametrTekstowySzablonuTekstu(tabela_parametrow_szablonu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{LinkPatrz|tabela_parametrow_szablonu}} - parametry szablonu {{s|Śródtekst}}, o różnych parametrach nazwanych lub nienazwanych. == {{Śródtytuł|p.SzablonTekstuBezPreProcess}}{{Code|p.SzablonTekstuBezPreProcess}} == Funkcja liczy element tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}, o nazwie {{Code|bez preprocess}} {{Patrz|bez preprocess}}, i go zwraca: Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SzablonTekstuBezPreProcess(tabela_parametrow_szablonu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu {{s|Śródtekst}}, o parametrach nazwanych lub nienazwanych. == {{Śródtytuł|p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony}}{{Code|p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony}} == Funkcja elementy tablicy: {{Code|tablica_zmiennych2}} {{Patrz|tablica_zmiennych2}}, przypisuje tablicy: {{Code|tablica_zmiennych}} {{Patrz|tablica_zmiennych}}, czyli do tego pierwszego dodaje elementy o nazwie: {{Code|tablica_zmiennych2.tablica_szablonu_tekstu_niekorzystanych}} {{Patrz|tablica_zmiennych2.tablica_szablonu_tekstu_niekorzystanych}}, do tablicy o nazwie: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}} {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}, a jeżeli ta tablica nie istnieje, to jest tworzona: Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony(tablica_zmiennych,tablica_zmiennych2)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}}, jest to tablica dla strony niekorzystanej, * {{Code|tablica_zmiennych2}} - jak w: {{LinkPatrz|tablica_zmiennych2}}, jest to tablica dla strony korzystanej, aktualnej strony, która jest wyświetlana na ekranie. == {{Śródtytuł|p.DodawanieDoBazyStronySzablonuTekstu}}{{Code|p.DodawanieDoBazyStronySzablonuTekstu}} == Szablon dodający elementy do tablicy bazy: {{LinkPatrz|tablica_zmiennych}} lub {{LinkPatrz|tablica_zmiennych2}}, szablonu: {{LinkPatrz|Śródtekst}}, tzn. do tablicy: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}, gdy {{LinkPatrz|czy_artykul_korzystany}}, jest równy wartości fałszywej, przeciwnie do: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}}. Te elementy są dodawane według następującego kodu: {{LinkZobaczTeż|tabele szablonu tekstu}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.DodawanieDoBazyStronySzablonuTekstu(tablica_zmiennych,wartosc_elementu,lista_dwuelementowa,obiekt,kod,tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,czy_artykul_korzystany)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}} lub {{LinkPatrz|tablica_zmiennych2}}, * {{Code|wartosc_elementu}} {{Patrz|wartosc_elementu}} - rodzaj elementu, jak: {{Code|Śródtekst}} {{Patrz|rodzaj: Śródtekst}}, dla jednego z szablonów tekstu, * {{Code|lista_dwuelementowa}} {{Patrz|lista_dwuelementowa}} - tablica elementu tablicy zbierającej dane, element posiada tylko pierwszy element, który jest uchwytem, * {{Code|obiekt}} {{Patrz|obiekt}} i {{Code|kod}} {{Patrz|kod}} - obiekt i kod, szablonu typu {{s|Śródtekst}} {{Patrz|Śródtekst}} w tekście zakodowanym, * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}}, * {{Code|nazwa_szablonu_wywolania}} {{Patrz|nazwa_szablonu_wywolania}} - nazwa szablonu tekstu, typu, dla {{LinkPatrz|Śródtekst}}, * {{Code|modyfikatory_wywolania}} {{Patrz|modyfikatory_wywolania}} - tablica modyfikatorów uruchmienia szablonu {{LinkPatrz|Śródtekst}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{Patrz|tablica_analizy_obiektow_strony_dany_modul}} - tablica bazy kodów modułu {{m|Szablonowe}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - tablica rozkładu na czynniki pierwsze, elementów bazy {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}}, * {{Code|czy_artykul_korzystany}} {{Patrz|czy_artykul_korzystany}} - {{Code|true}}, gdy artykuł jest taki sam,jak strona w przeglądarce. Tablica jako drugi element dodawanej tablicy w kodzie: {{LinkZobaczTeż|tabele szablonu tekstu}}, to są tam podtablice, które są tablicami składających się z obiektu i kodu elementu {{s|PobierzŚródtekst}} {{Patrz|PobierzŚródtekst}}, tych podtablic może być wiele dla różnych tych. == {{Śródtytuł|p.UstawianiePobierz}}{{Code|p.UstawianiePobierz}} == Funkcja dodaje do danego elementu typu: {{LinkPatrz|rodzaj: Śródtekst}}, utworzonego na podstawie obiektów nie typu {{LinkPatrz|Pobierz}}, w postaci tablicy utworzonego z trzech elementów, tzn.: {{LinkPatrz|Pobierz: obiekt}} i {{LinkPatrz|Pobierz: kod}}, a trzeci element tablicy jest numerkiem nazwanym, ile w danym elemencie było wtedy aktualnie elenetów przed wywołaniem szablonu typu {{LinkPatrz|Pobierz}}, dla zmiennych w tablicach: {{LinkPatrz|tablica_zmiennych}}. Ten element służy do wstawiania innych elementów do tablic nazwanych uchwytów oraz ich numerków (dla elementów numerowanych) lub nie, aby przesunąc od pewnego momentu ich zawartości do przodu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.UstawianiePobierz(tablica_zmiennych,tablica_zmiennych2,obiekt,kod,nazwa_obiektu,uchwyt_obiektu,czy_artykul_korzystany)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}}, * {{Code|tablica_zmiennych2}} - jak w: {{LinkPatrz|tablica_zmiennych2}}, * {{Code|obiekt}} {{Patrz|Pobierz: obiekt}} - obiekt, jak: {{LinkPatrz|rodzaj: Śródtekst}}, obiektu typu {{Code|Pobierz}} {{Patrz|Pobierz}}, * {{Code|kod}} {{Patrz|Pobierz: kod}} - numer danego obiektu typu {{LinkPatrz|Pobierz}}, * {{Code|nazwa_obiektu}} {{Patrz|nazwa_obiektu}} - nazwa danego obiektu {{LinkPatrz|Śródtekst}}, * {{Code|uchwyt_obiektu}} {{Patrz|uchwyt_obiektu}} - unikalny uchwyt danego obiektu {{LinkPatrz|Śródtekst}}, * {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}}. Gdy: {{LinkPatrz|czy_artykul_korzystany}}, przyjmuje wartość {{Code|true}}, wtedy jest używana tablica: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}}, przeciwnie: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}, ale dla elementów typu: {{LinkPatrz|tablica_zmiennych2}}, na podstawie tego w ten sposób jest tworzona pewna tablica, te elementy są dodawane do drugiej podtablicy w tablicy dodawanej w {{LinkZobaczTeż|tabele szablonu tekstu}}. == {{Śródtytuł|p.UstawPobierzKorzystanie}}{{Code|p.UstawPobierzKorzystanie}} == Funkcja na podstawie stworzonych elementów w tablicy {{Code|tablica_zmiennych2.tablica_szablonu_tekstu_linkowe_korzystane}} {{Patrz|tablica_zmiennych2.tablica_szablonu_tekstu_linkowe_korzystane}}, która skłąda się z tablic numerowanych, gdzie w każdej takiej jego tablicy są dwie podtablice, te elementy są zbierane dla: {{LinkPatrz|rodzaj: Śródtekst}}, pierwsza taka podtablica jest tablicą numerowaną z: {{LinkPatrz|nazwa_obiektu}} i {{linkPatrz|uchwyt_obiektu}}, a druga taka podtablica jest z: {{LinkPatrz|Pobierz: obiekt}} i {{LinkPatrz|Pobierz: kod}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.UstawPobierzKorzystanie(tablica_zmiennych2)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tablica_zmiennych2}} - jak w: {{LinkPatrz|tablica_zmiennych2}}. Na podstawie każdego takich elementów numerowanych w tablicy: {{LinkPatrz|tablica_zmiennych2.tablica_szablonu_tekstu_linkowe_korzystane}}, jest uruchamiana funkcja: {{LinkŚródtytuł|p.UstawianiePobierz}}, dla pierwszego parametru z wartością {{Code|nil}}, drugim: {{LinkPatrz|tablica_zmiennych2}}, i dalszymi. == {{Śródtytuł|p.ZamienianiePobierzNaKod}}{{Code|p.ZamienianiePobierzNaKod}} == Funkcja na podstawie parametru {{ZobaczTeż|tekst}}: {{LinkPatrz|tekst}}, {{LinkPatrz|treść}} lub {{LinkPatrz|1}}, występujących w tabeli: {{LinkPatrz|tabela_parametrow_szablonu}}, zdefiniowanych jako tablica: {{Code|pozycja[3][1][1]}}. Modyfikuje też element {{ZobaczTeż|tablica_analizy_obiektow_strony_dany_modul}}: {{Code|(pozycja[4] or{})[1]}} lub {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}}, aby wyświetlić zamieniony, czyli zmodyfikowany, element, ewentualnie ze zmodyfikowaną bazą danych kodów. Funkcja do szybszego działania wykorzystuje tabelę: {{Code|(pozycja[4] or {})[2]}} lub {{LinkPatrz|tablica_danych_parametrow_szablonu_strony}}. Definicja skrótowa funkcji: <syntaxhighlight lang="Lua"> function p.ZamienianiePobierzNaKod(obiekt,kod,pozycja,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,czy_korzystane)...end; </syntaxhighlight> Parametry funkcji: * {{Code|obiekt}} - jak w: {{LinkPatrz|Pobierz: obiekt}}, * {{Code|kod}} - jak w: {{LinkPatrz|Pobierz: kod}}, * {{Code|pozycja}} - dany element numerowany, który przedstawia pozycję dla elementów typu: {{LinkPatrz|Śródtekst}}, * {{Code|nazwa_modulu_aktualna_czy_biezaca}} {{Patrz|nazwa_modulu_aktualna_czy_biezaca}} - nazwa modułu aktualna lub bieżąca, w której występują elementy typu {{LinkPatrz|rodzaj: Śródtekst}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - jak w: {{LinkPatrz|tablica_danych_parametrow_szablonu_strony}}, * {{Code|czy_korzystane}} {{Patrz|czy_korzystane}} - czy wykorzystawane elementy są typu: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}}, gdy ta wartość przyjmuje wartość {{Code|true}}, przeciwnie: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}. Funkcja wykorzystuje do modyfikacji funkcję: {{Code|{{sr|#p.ModyfikowanieKodowoSzablonoweZakodowanegoTekstu|p=Szablonowe}}}}, ona seryjnie modyfikuje całe elementy tekstu {{LinkZobaczTeż|tekst}} lub elementy bazy {{LinkZobaczTeż|tablica_analizy_obiektow_strony_dany_modul}} o pewnych dwuwymiarowych nazwach, co do kodów bazy. Element tekstu do modyfikacji jest uzyskiwany z funkcji: {{LinkŚródtytuł|p.ParametrTekstowySzablonuTekstu}}, jeżeli ten tekst istnieje, a gdy nie, to funkcja nie zwraca żadnej wartości, a jak jest, to ten tekst, ze zmodyfikowaną tabelą bazy {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}}, też ze zmodyfikowaną tabelą parametrów {{LinkPatrz|tablica_danych_parametrow_szablonu_strony}}. == {{Śródtytuł|p.EdytowanieSzablonoweTekstuTypuPobierz}}{{Code|p.EdytowanieSzablonoweTekstuTypuPobierz}} == == {{Śródtytuł|p.EdytowanieSzablonoweTekstuTypuNiePobierz}}{{Code|p.EdytowanieSzablonoweTekstuTypuNiePobierz}} == == {{Śródtytuł|p.AktualizowanieSzablonowychTekstowychKompletowaniaInformacjiTekstu}}{{Code|p.AktualizowanieSzablonowychTekstowychKompletowaniaInformacjiTekstu}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> 6rxciupfu0gtuhzgu1mv6ej6ysbvuo2 547093 547092 2026-06-21T11:58:12Z Persino 2851 /* {{Śródtytuł|p.ZamienianiePobierzNaKod}}{{Code|p.ZamienianiePobierzNaKod}} */ 547093 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/SzablonyTekstu}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} Ten moduł służy do obsługi szablonów: {{s|Śródtekst}} i {{s|PobierzŚródtekst}}. Stronicowy parser jak napotka szablon {{s|Śródtekst}}, to generuje tworzenie następujących tablic: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}, dla tych szablonów w artykule niekorzystanej, lub korzystanej według: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}}, jako {{ZobaczTeż|tabele szablonu tekstu}}: <syntaxhighlight lang="lua"> if(not czy_artykul_korzystany)then if(not tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych)then tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych={};end; table.insert(tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych,{ {wartosc_elementu,lista_dwuelementowa,}, {}, {{tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,},obiekt,kod,}, {tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,}, }); else if(not tablica_zmiennych.tablica_szablonu_tekstu_korzystanych)then tablica_zmiennych.tablica_szablonu_tekstu_korzystanych={};end; table.insert(tablica_zmiennych.tablica_szablonu_tekstu_korzystanych,{ {wartosc_elementu,lista_dwuelementowa,}, {}, {{tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,},obiekt,kod,}, }); end; </syntaxhighlight> Z tych tabel korzysta, nie tylko, szablon: {{s|Śródtekst}}, ale też i: {{s|PobierzŚródtekst}}, przy pomocy oprogramowania modułu {{m|StronicowyParser}}, czy {{m|StronicowyParser/}}. == {{Śródtytuł|p.ParametrTekstowySzablonuTekstu}}{{Code|p.ParametrTekstowySzablonuTekstu}} == Funkcja liczy element tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}, o nazwie {{Code|tekst}} {{Patrz|tekst}}, {{Code|treść}} {{Patrz|treść}} lub {{Code|1}} {{Patrz|1}}, i go zwraca: Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.ParametrTekstowySzablonuTekstu(tabela_parametrow_szablonu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{LinkPatrz|tabela_parametrow_szablonu}} - parametry szablonu {{s|Śródtekst}}, o różnych parametrach nazwanych lub nienazwanych. == {{Śródtytuł|p.SzablonTekstuBezPreProcess}}{{Code|p.SzablonTekstuBezPreProcess}} == Funkcja liczy element tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}, o nazwie {{Code|bez preprocess}} {{Patrz|bez preprocess}}, i go zwraca: Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SzablonTekstuBezPreProcess(tabela_parametrow_szablonu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu {{s|Śródtekst}}, o parametrach nazwanych lub nienazwanych. == {{Śródtytuł|p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony}}{{Code|p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony}} == Funkcja elementy tablicy: {{Code|tablica_zmiennych2}} {{Patrz|tablica_zmiennych2}}, przypisuje tablicy: {{Code|tablica_zmiennych}} {{Patrz|tablica_zmiennych}}, czyli do tego pierwszego dodaje elementy o nazwie: {{Code|tablica_zmiennych2.tablica_szablonu_tekstu_niekorzystanych}} {{Patrz|tablica_zmiennych2.tablica_szablonu_tekstu_niekorzystanych}}, do tablicy o nazwie: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}} {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}, a jeżeli ta tablica nie istnieje, to jest tworzona: Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony(tablica_zmiennych,tablica_zmiennych2)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}}, jest to tablica dla strony niekorzystanej, * {{Code|tablica_zmiennych2}} - jak w: {{LinkPatrz|tablica_zmiennych2}}, jest to tablica dla strony korzystanej, aktualnej strony, która jest wyświetlana na ekranie. == {{Śródtytuł|p.DodawanieDoBazyStronySzablonuTekstu}}{{Code|p.DodawanieDoBazyStronySzablonuTekstu}} == Szablon dodający elementy do tablicy bazy: {{LinkPatrz|tablica_zmiennych}} lub {{LinkPatrz|tablica_zmiennych2}}, szablonu: {{LinkPatrz|Śródtekst}}, tzn. do tablicy: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}, gdy {{LinkPatrz|czy_artykul_korzystany}}, jest równy wartości fałszywej, przeciwnie do: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}}. Te elementy są dodawane według następującego kodu: {{LinkZobaczTeż|tabele szablonu tekstu}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.DodawanieDoBazyStronySzablonuTekstu(tablica_zmiennych,wartosc_elementu,lista_dwuelementowa,obiekt,kod,tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,czy_artykul_korzystany)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}} lub {{LinkPatrz|tablica_zmiennych2}}, * {{Code|wartosc_elementu}} {{Patrz|wartosc_elementu}} - rodzaj elementu, jak: {{Code|Śródtekst}} {{Patrz|rodzaj: Śródtekst}}, dla jednego z szablonów tekstu, * {{Code|lista_dwuelementowa}} {{Patrz|lista_dwuelementowa}} - tablica elementu tablicy zbierającej dane, element posiada tylko pierwszy element, który jest uchwytem, * {{Code|obiekt}} {{Patrz|obiekt}} i {{Code|kod}} {{Patrz|kod}} - obiekt i kod, szablonu typu {{s|Śródtekst}} {{Patrz|Śródtekst}} w tekście zakodowanym, * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}}, * {{Code|nazwa_szablonu_wywolania}} {{Patrz|nazwa_szablonu_wywolania}} - nazwa szablonu tekstu, typu, dla {{LinkPatrz|Śródtekst}}, * {{Code|modyfikatory_wywolania}} {{Patrz|modyfikatory_wywolania}} - tablica modyfikatorów uruchmienia szablonu {{LinkPatrz|Śródtekst}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{Patrz|tablica_analizy_obiektow_strony_dany_modul}} - tablica bazy kodów modułu {{m|Szablonowe}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - tablica rozkładu na czynniki pierwsze, elementów bazy {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}}, * {{Code|czy_artykul_korzystany}} {{Patrz|czy_artykul_korzystany}} - {{Code|true}}, gdy artykuł jest taki sam,jak strona w przeglądarce. Tablica jako drugi element dodawanej tablicy w kodzie: {{LinkZobaczTeż|tabele szablonu tekstu}}, to są tam podtablice, które są tablicami składających się z obiektu i kodu elementu {{s|PobierzŚródtekst}} {{Patrz|PobierzŚródtekst}}, tych podtablic może być wiele dla różnych tych. == {{Śródtytuł|p.UstawianiePobierz}}{{Code|p.UstawianiePobierz}} == Funkcja dodaje do danego elementu typu: {{LinkPatrz|rodzaj: Śródtekst}}, utworzonego na podstawie obiektów nie typu {{LinkPatrz|Pobierz}}, w postaci tablicy utworzonego z trzech elementów, tzn.: {{LinkPatrz|Pobierz: obiekt}} i {{LinkPatrz|Pobierz: kod}}, a trzeci element tablicy jest numerkiem nazwanym, ile w danym elemencie było wtedy aktualnie elenetów przed wywołaniem szablonu typu {{LinkPatrz|Pobierz}}, dla zmiennych w tablicach: {{LinkPatrz|tablica_zmiennych}}. Ten element służy do wstawiania innych elementów do tablic nazwanych uchwytów oraz ich numerków (dla elementów numerowanych) lub nie, aby przesunąc od pewnego momentu ich zawartości do przodu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.UstawianiePobierz(tablica_zmiennych,tablica_zmiennych2,obiekt,kod,nazwa_obiektu,uchwyt_obiektu,czy_artykul_korzystany)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}}, * {{Code|tablica_zmiennych2}} - jak w: {{LinkPatrz|tablica_zmiennych2}}, * {{Code|obiekt}} {{Patrz|Pobierz: obiekt}} - obiekt, jak: {{LinkPatrz|rodzaj: Śródtekst}}, obiektu typu {{Code|Pobierz}} {{Patrz|Pobierz}}, * {{Code|kod}} {{Patrz|Pobierz: kod}} - numer danego obiektu typu {{LinkPatrz|Pobierz}}, * {{Code|nazwa_obiektu}} {{Patrz|nazwa_obiektu}} - nazwa danego obiektu {{LinkPatrz|Śródtekst}}, * {{Code|uchwyt_obiektu}} {{Patrz|uchwyt_obiektu}} - unikalny uchwyt danego obiektu {{LinkPatrz|Śródtekst}}, * {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}}. Gdy: {{LinkPatrz|czy_artykul_korzystany}}, przyjmuje wartość {{Code|true}}, wtedy jest używana tablica: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}}, przeciwnie: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}, ale dla elementów typu: {{LinkPatrz|tablica_zmiennych2}}, na podstawie tego w ten sposób jest tworzona pewna tablica, te elementy są dodawane do drugiej podtablicy w tablicy dodawanej w {{LinkZobaczTeż|tabele szablonu tekstu}}. == {{Śródtytuł|p.UstawPobierzKorzystanie}}{{Code|p.UstawPobierzKorzystanie}} == Funkcja na podstawie stworzonych elementów w tablicy {{Code|tablica_zmiennych2.tablica_szablonu_tekstu_linkowe_korzystane}} {{Patrz|tablica_zmiennych2.tablica_szablonu_tekstu_linkowe_korzystane}}, która skłąda się z tablic numerowanych, gdzie w każdej takiej jego tablicy są dwie podtablice, te elementy są zbierane dla: {{LinkPatrz|rodzaj: Śródtekst}}, pierwsza taka podtablica jest tablicą numerowaną z: {{LinkPatrz|nazwa_obiektu}} i {{linkPatrz|uchwyt_obiektu}}, a druga taka podtablica jest z: {{LinkPatrz|Pobierz: obiekt}} i {{LinkPatrz|Pobierz: kod}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.UstawPobierzKorzystanie(tablica_zmiennych2)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tablica_zmiennych2}} - jak w: {{LinkPatrz|tablica_zmiennych2}}. Na podstawie każdego takich elementów numerowanych w tablicy: {{LinkPatrz|tablica_zmiennych2.tablica_szablonu_tekstu_linkowe_korzystane}}, jest uruchamiana funkcja: {{LinkŚródtytuł|p.UstawianiePobierz}}, dla pierwszego parametru z wartością {{Code|nil}}, drugim: {{LinkPatrz|tablica_zmiennych2}}, i dalszymi. == {{Śródtytuł|p.ZamienianiePobierzNaKod}}{{Code|p.ZamienianiePobierzNaKod}} == Funkcja na podstawie parametru {{ZobaczTeż|tekst}}: {{LinkPatrz|tekst}}, {{LinkPatrz|treść}} lub {{LinkPatrz|1}}, występujących w tabeli: {{LinkPatrz|tabela_parametrow_szablonu}}, zdefiniowanych jako tablica: {{Code|pozycja[3][1][1]}}. Modyfikuje też element {{ZobaczTeż|tablica_analizy_obiektow_strony_dany_modul}}: {{Code|(pozycja[4] or {})[1]}} lub {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}}, aby wyświetlić zamieniony, czyli zmodyfikowany, element, ewentualnie ze zmodyfikowaną bazą danych kodów. Funkcja do szybszego działania wykorzystuje tabelę: {{Code|(pozycja[4] or {})[2]}} lub {{LinkPatrz|tablica_danych_parametrow_szablonu_strony}}. Definicja skrótowa funkcji: <syntaxhighlight lang="Lua"> function p.ZamienianiePobierzNaKod(obiekt,kod,pozycja,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,czy_korzystane)...end; </syntaxhighlight> Parametry funkcji: * {{Code|obiekt}} - jak w: {{LinkPatrz|Pobierz: obiekt}}, * {{Code|kod}} - jak w: {{LinkPatrz|Pobierz: kod}}, * {{Code|pozycja}} - dany element numerowany, który przedstawia pozycję dla elementów typu: {{LinkPatrz|Śródtekst}}, * {{Code|nazwa_modulu_aktualna_czy_biezaca}} {{Patrz|nazwa_modulu_aktualna_czy_biezaca}} - nazwa modułu aktualna lub bieżąca, w której występują elementy typu {{LinkPatrz|rodzaj: Śródtekst}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - jak w: {{LinkPatrz|tablica_danych_parametrow_szablonu_strony}}, * {{Code|czy_korzystane}} {{Patrz|czy_korzystane}} - czy wykorzystawane elementy są typu: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_korzystanych}}, gdy ta wartość przyjmuje wartość {{Code|true}}, przeciwnie: {{LinkPatrz|tablica_zmiennych.tablica_szablonu_tekstu_niekorzystanych}}. Funkcja wykorzystuje do modyfikacji funkcję: {{Code|{{sr|#p.ModyfikowanieKodowoSzablonoweZakodowanegoTekstu|p=Szablonowe}}}}, ona seryjnie modyfikuje całe elementy tekstu {{LinkZobaczTeż|tekst}} lub elementy bazy {{LinkZobaczTeż|tablica_analizy_obiektow_strony_dany_modul}} o pewnych dwuwymiarowych nazwach, co do kodów bazy. Element tekstu do modyfikacji jest uzyskiwany z funkcji: {{LinkŚródtytuł|p.ParametrTekstowySzablonuTekstu}}, jeżeli ten tekst istnieje, a gdy nie, to funkcja nie zwraca żadnej wartości, a jak jest, to ten tekst, ze zmodyfikowaną tabelą bazy {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}}, też ze zmodyfikowaną tabelą parametrów {{LinkPatrz|tablica_danych_parametrow_szablonu_strony}}. == {{Śródtytuł|p.EdytowanieSzablonoweTekstuTypuPobierz}}{{Code|p.EdytowanieSzablonoweTekstuTypuPobierz}} == == {{Śródtytuł|p.EdytowanieSzablonoweTekstuTypuNiePobierz}}{{Code|p.EdytowanieSzablonoweTekstuTypuNiePobierz}} == == {{Śródtytuł|p.AktualizowanieSzablonowychTekstowychKompletowaniaInformacjiTekstu}}{{Code|p.AktualizowanieSzablonowychTekstowychKompletowaniaInformacjiTekstu}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> e8e6fmnnwb1u1wsa2vyrik0rjxqnfgc