Wikibooks
plwikibooks
https://pl.wikibooks.org/wiki/Wikibooks:Strona_g%C5%82%C3%B3wna
MediaWiki 1.47.0-wmf.8
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
Wikibooks:Moduły/StronicowyParser/ZbieranieDanychStron
4
63525
547225
547224
2026-06-29T14:36:21Z
Persino
2851
/* {{Śródtytuł|__FUNKCJA_ARTYKULU}}{{Code|__FUNKCJA_ARTYKULU}} */
547225
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/ZbieranieDanychStron}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== Zbieranie informacji o uchwycie ==
=== {{Śródtytuł|p.UchwytyZeiBezNumeracji}}{{Code|p.UchwytyZeiBezNumeracji}} ===
Funkcja zbiera uchwyty, dla obiektów {{ZobaczTeż|p.UchwytyZeiBezNumeracji}}, bez numeracji, nie licząc obiektów tekst takich jak {{s|Śródtekst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UchwytyZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,lista_dwuelementowa,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} {{Patrz|self}} - zmiennna obiektowa modułu {{Code|{{ld2|StronicowyParser/ZbieranieDanychStron}}}} {{Patrz|StronicowyParser/ZbieranieDanychStron}},
* {{Code|tabela_elementow_strony_kodow}} {{Patrz|tabela_elementow_strony_kodow}} - zmienna zbierająca takie kody jak {{LinkZobaczTeż|p.UchwytyZeiBezNumeracji}},
* {{Code|nazwa_obiektu}} {{Patrz|nazwa obiektu}} - nazwa obiektu,
* {{Code|lista_dwuelementowa}} {{Patrz|lista_dwuelementowa}} - pozycja w normalnej tabeli uchwytów i przeważnie ich numeracji, a tutaj dla tego obiektu,
* {{Code|kod}} {{Patrz|kod}} - numer kodu dla tego obiektu.
Funkcja zbiera elementy {{LinkPatrz|lista_dwuelementowa}} w tablicy wielowymiarowej o pierwszym elemencie wymiaru {{LinkPatrz|nazwa obiektu}} i trzecim {{LinkPatrz|kod}}, oraz o drugim {{Code|uchwyty_bez_numeracji}} {{Patrz|uchwyty_bez_numeracji}}.
=== {{Śródtytuł|p.WydobywanieUchwytuZeiBezNumeracji}}{{Code|p.WydobywanieUchwytuZeiBezNumeracji}} ===
Funkcja wydowywa tablicę uchwytu dla pozycji, ale nie sam uchwyt, dla podtablicy {{LinkPatrz|uchwyty_bez_numeracji}} o danym kodzie {{LinkPatrz|kod}}, dla nazwy obiektu {{LinkPatrz|nazwa_obiektu}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.WydobywanieUchwytuZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_elementow_strony_kodow}} - jak w: {{LinkPatrz|tabela_elementow_strony_kodow}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}}.
Funkcja wykorzystuje elementy tablicy: {{LinkPatrz|uchwyty_bez_numeracji}}, wstawione przez funkcję: {{LinkŚródtytuł|p.UchwytyZeiBezNumeracji}}.
=== {{Śródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}{{Code|p.RozpatrywanieElementuUchwytuNumeracji}} ===
Funkcja wsadzająca utworzoną tablicę z podanym uchwytem do ogólnej tablicy pozycji nazwanych tabel z uchwytami o danej pozycji z nim.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|kod_uchwytu}} {{Patrz|kod_uchwytu}} - kod uchwytu podanego do szablonu stronicowego z odpowiednim uchwytem,
* {{Code|tab_numer}} {{Patrz|tab_numer}} - tablica z numerkami ilości elementów w tablicy parametrów nazwanych z uchwytami, w danym elemencie analizowania strony z uchwytami i obiektami,
* {{Code|tablica_zmiennych}} {{Patrz|tablica_zmiennych}} - tablica analizowania obiektów, danej strony,
* {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} {{Patrz|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - kolejno: nazwa przestrzeni nazw, nazwa przestrzeni książki, nazwa książki i nazwa artykułu książki,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} {{Patrz|czy_artykul_korzystany}} - czy artykuł aktualny wyświetlany w przeglądarce,
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} {{Patrz|nazwa_modulu_aktualna_czy_biezaca}} - nazwa artykułu aktualna lub bieżąca,
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{Patrz|tablica_analizy_obiektow_strony_dany_modul}} - tablica bazy kodów parsowania strony,
* {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - tablica analizy poszczególnych elementów kodów, do szybszego działania skryptu,
* {{Code|KtorySzablonMaZwracacKategorie}} {{Patrz|KtorySzablonMaZwracacKategorie}} - tablica zbierająca odkodowany i rozwinięty uchwyt, do analizowania w nim zebranych kategorii, według modułu: {{Code|{{ld2|StronicowyParser/Kategorie}}}}, uruchamiana w szablonach stronicowych z funkcjami '''stronicowego parsera'''.
Funkcja rozwija {{LinkPatrz|kod_uchwytu}} funkcją {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a potem je odkodowuje przy pomocy: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a jeżeli ona nie jest pusta, to dla tego jest uruchamiana funkcja {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Tworzona jest tablica {{Code|lista_dwuelementowa}} {{LinkPatrz|lista_dwuelementowa}} z uchwytem, jako pierwszy parametr.
Jest sprawdzane, czy element {{Code|tablica_zmiennych.sprawdzenie_dokonane_obiektu}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, jest fałszywy, jeżeli tak, to dalej jest sprawdzane, czy są elementy numerowane nazwanej tablicy: {{Code|tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2}} o nazwie {{LinkPatrz|nazwa_obiektu}}, a jeżeli jest pusta - na samym końcu jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, czyli jest inicjowana na wartość {{Code|true}}, to dalej jest sprawdzane, czy dla elementów: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy dana książka jest poza zakresem obsługiwanym, czyli rewidowane jest, czy jest ustawiony kod problemu {{Code|strony poza zakresem obsługiwanym}}, czy a jeżeli jednak nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}, ustawiające pewne elementy błędu, jeżeli trzeba to zrobić.
Gdy tabela {{LinkPatrz|tab_numer}} odpowiada nienilowej tablicy, wtedy element {{LinkPatrz|lista_dwuelementowa}} jest wstawiany na odpowiedniej pozycji, ale przeważnie nie na końcu, przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=table.insert|b=tak}}}}, dzięki określonej tabeli {{LinkPatrz|tab_numer}}, przeciwnie na jej końcu.
Funkcja zwraca element {{LinkPatrz|lista_dwuelementowa}}.
=== {{Śródtytuł|p.RozpatrywanieSzablonuObiektuDoNumeracji}}{{Code|p.RozpatrywanieSzablonuObiektuDoNumeracji}} ===
Funkcja, która uruchamia funkcję: {{LinkŚródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}, dla istniejącego uchwytu w postaci nazwanej o kluczu: {{Code|uchwyt}} {{Patrz|uchwyt}}, lub nienazwanej - w postaci numeru jego uchwytu o kluczu: {{Code|numer_numeracji}} {{Patrz|numer_numeracji}}, wsadzająca tabele z uchwytem na odpowiednią pozycję w odpowiedniej nazwanej tabeli o nazwie obiektu {{LinkPatrz|nazwa_obiektu}} w ogólnej tabeli: {{LinkPatrz|tablica_zmiennych}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}}- tabela parametrów szablonu,
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|numer_numeracji}} - jak w: {{LinkPatrz|numer_numeracji}},
* {{Code|tab_numer}} - jak w: {{LinkPatrz|tab_numer}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
== {{Śródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}{{Code|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}} ==
Funkcja sprawdza, czy dany artykuł należy do artykułów, któregoś spisu treści, a jeżeli nie, to dla stron, które nie należą do kategorii z ustawionym problemem {{Code|strony poza zakresem obsługiwanym}}, ale do nieaktualnej strony jest ustawiony problem {{Code|brak spisów treści do dołączonych stron}}. Natomiast dla aktualnej dla stron tej samej kategorii ustawiany jest problem {{Code|brak spisu treści do korzystanych stron}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== {{Śródtytuł|p.PusteParametryReferencji}}{{Code|p.PusteParametryReferencji}} ==
Funkcja sprawdza, jeśli są podane parametry szablonu stronicowego, które są w kategorii: {{lk|Szablony stronicowe}}, czyli: {{Code|nazwa_artykulu}}, ewentualnie: {{Code|nazwa_ksiazki}}, ale zawsze z: {{Code|uchwyt_obiektu}}, czy są one puste.
A jeżeli one istnieją i są takie, to są ustawione problemy typu, jeśli ich wcześniej nie ustawiono:
* {{Code|puste parametry szablonów stronicowych linkujących}} {{Patrz|puste parametry szablonów stronicowych linkujących}}, kolejno dla: {{Code|uchwyt_obiektu}}, {{Code|nazwa_artykulu}} i {{Code|nazwa_ksiazki}}, kolejno z numerami problemów: {{Code|1}}, {{Code|2}} i {{Code|3}}.
Dla obiektu o nazwie {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}.
{{Hr}}
Definicja skrótowa funkcji
<syntaxhighlight lang="lua">
function p.PusteParametryReferencji(self, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu)...end;
</syntaxhighlight>
Paraametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} {{Patrz|uchwyt_obiektu}} - uchwyt obiektu, podane w danym szablonie stronicowym,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}}.
== {{Śródtytuł|p.SzablonyReferencjiParametrowych}}{{Code|p.SzablonyReferencjiParametrowych}} ==
Funkcja z parametrów pudełkowych nazwy artykułu {{ZobaczTeż|nazwa artykułu}}: {{Code|nazwa artykułu}} {{Patrz|nazwa artykułu}} albo {{Code|1}}, gdy bezuchwytowe lub {{Code|2}}, i pełnej nazwy książki {{ZobaczTeż|pełna nazwa strony}}: {{Code|nazwa książki}} {{Patrz|nazwa książki}} albo, {{Code|2}}, gdy bezuchwytowe lub {{Code|3}}. To wszystko jest liczone z: {{LinkPatrz|tabela_parametrow_szablonu}} lub przy użyciu parametru również {{Code|bezuchwytowe}} {{Patrz|bezuchwytowe}}, gdy mamy szablon stronicowy {{lk|Szablony stronicowe}}, bezuchwytowy, wtedy {{Code|true}}, przeciwnie {{Code|false/nil}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca,bezuchwytowe)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{Code|bezuchwytowe}} - jak w: {{LinkPatrz|bezuchwytowe}}.
Funkcja obie nazwy dekoduje funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a później jest liczony adres bezwzględny z względnego dzięki: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, przy pomocy podstawy {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}}, podobnie ale wcześniej jest liczona nazwa artykułu {{linkZobaczTeż|nazwa artykułu}}, czyli: {{LinkPatrz|nazwa_artykulu}}, ale tutaj adres względny jest liczony z podstawy o ciągu pustym jako drugi parametr.
Na podstawie pełnej nazwy książki {{LinkZobaczTeż|pełna nazwa strony}}: jest liczona bardziej jej wersja pełniejsza, jeżeli to jest w ogóle możliwe z: {{Code|{{sr|#p["PełnaNazwaStronicowejKsiążki"]|p=Książkowe}}}}. A póżniej z tego wszystkiego są liczone nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, przy pomocy funkcji nazw: {{Code|{{ld2|Nazwy}}}}.
Na samym końcu funkcji są zwracane parametry nazw, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== Funkcje zbierania informacji ==
=== {{Śródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}{{Code|p.ZbieranieInformacjiStronyWoluminowychPozycji}} ===
Funkcja zbierania informacji na stronie dla szablonów stronicowych: {{lk|Szablony stronicowe}}, bezuchwytowych, gdy nie jest uruchomiony parametr: {{Code|czy_inna_wartosc_tekst}} {{Patrz|czy_inna_wartosc_tekst}}, wtedy jest wywoływana funkcja: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}, która liczy kolejne nazwy charaktertyzujące nazwy dla danego artykułu książki dla danej strony, przeciwnie parametry nazw są ściagane z: {{Code|tab_nazwy}} {{Patrz|tab_nazwy}}, ta tabela składa się numerowanych elementów, którymi są nazwy charakyteryzujące stronę.
Gdy jakaś nazwa artylułu strony została policzona, wtedy są liczone pozostałe nazwy z: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, a na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, a tuż przed nim, jeśli istnieje: {{Code|KtorySzablonMaZwracacKategorie}} {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,KtorySzablonMaZwracacKategorie,czy_inna_wartosc_tekst,tab_nazwy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_inna_wartosc_tekst}} - jak w: {{LinkPatrz|czy_inna_wartosc_tekst}},
* {{Code|tab_nazwy}} - jak w: {{LinkPatrz|tab_nazwy}}.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacji}}{{Code|p.ZbieranieKontenerowychInformacji}} ===
Funkcja do zbierania informacji, która z parametrów pudełkowych: {{Code|{{m|Pudełko}}}}, czyli: {{Code|nazwa przestrzeni nazw}} {{Patrz|nazwa przestrzeni nazw}} i {{Code|nazwa jednostki}} {{Patrz|nazwa jednostki}}, z nich są liczone parametry nazw charakteryzujące artykuł książki strony. A na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} {{Patrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,czy_szablon_pudelkowy_strony_zbiorczej,KtorySzablonMaZwracacKategorie)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} {{Patrz|czy_szablon_pudelkowy_strony_zbiorczej}} - funkcja potrzebna do funkcji zbierającej {{LinkPatrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, określającej, czy mamy szablon pudełkowy strony zbiorczej, taki jak: {{Code|{{s|StronaSubst}}}}, czy: {{Code|{{s|KsiążkaSubst}}}}, zobacz stronę: {{Code|{{lr2|Moduły/StronicowyParser/StronaSubst}}}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Gdy nie ma parametrów pudełkowych funkcja się natychmiast zakańcza, lub parametr: {{LinkPatrz|nazwa jednostki}}, jest pusta, lub nawet gdy zawierają kody wykrywane przez funkcję: {{Code|{{sr|#p.NormaWzoruKodowaniaTekstu|p=Szablonowe}}}}.
Z nazwy jednostki jest wydzielana nazwa jednostki właściwa bez nazwy nagłówka, póżniej obie nazwy są też dekodowane funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, czyli wszystko z: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}.
Z tych dwóch nazwy jest liczony adres, ewentualnie względny, który za pomocą funkcji: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, jest wyliczany adres bezwzględny.
Dalej są liczone nazwy charakteryzujące artykuł danej książki strony, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, z tego adresu strony.
Przedostatnia funkcja, która jest uruchamiana przed funkcją zbierającą jest: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}, jeśli istnieje.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacjiReferencji}}{{Code|p.ZbieranieKontenerowychInformacjiReferencji}} ===
Funkcja zbiera informacje o stronie. Na podstawie informacji o nazwie artykułu i pełnej nazwy książki liczy parametry nazw charakteryzujące artykuł, co na tej podstawiwe liczy parametry pudełkowe i wywołuje funkcję główną przez inną funkcję, też zbierającą, i zbiera informacje o artykule.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacjiReferencji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, jako parametry zwracane przez funkcję: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}. Funkcja wyznacza parametry pudełkowe {{m|Pudełko}}, tzn.: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}, na podstawie tych nazw. Funkcja na samym końcu wywołuje funkcję zbierającą dane ze strony: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}, która z kolei uruchamia potem: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
== {{Śródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}{{Code|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}} ==
Funkcja sprawdza niepoprawność nazwy strony i na podstawie tego ustawia pewne kody problemów.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,__FUNKCJA_SPRAWDZANIE)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|__FUNKCJA_SPRAWDZANIE}} {{Patrz|__FUNKCJA_SPRAWDZANIE}} - funkcja uruchamiana, jeśli jest ustawiona, na wypadek poprawności strony.
W przypadku niepoprawności strony, gdy strona modułu jest aktualna (bieżąca), wtedy sprawdzany jest kod problemu, czy jest ustawiony, tzn.: {{Code|nieprawidłowe nazwy korzystanych stron}}, przy pomocy funkcji: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli nie ma takiego, to wtedy jest uruchamiana funkcja: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}. Podobnie jest dla niekorzystanej strony, wtedy jest problem dla kodu: {{Code|nieprawidłowe nazwy stron dołączanych do stron}}.
== Zbieranie informacji o linkach ==
=== {{Śródtytuł|p.LinkowanieFinalizowaniePrac}}{{Code|p.LinkowanieFinalizowaniePrac}} ===
Funkcja wadza uchwyt obiektu, wsazujący na aktualną stronę, do pewnej strony, i ewentualnie ustawia pewne problemy, jeśli je nie ustawiono.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} {{Patrz|obiekt}} - obiekt, obsługiwany przez tą funkcję linku,
* {{Code|kod}} {{LinkPatrz|kod}} - kod obiektu dla: {{LinkPatrz|obiekt}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} - jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}},
* {{Code|czy_pobierz}} {{Patrz|czy_pobierz}} - czy to jest szablon typu {{Code|Pobierz}} {{Patrz|Pobierz}}, jak: {{s|PobierzŚródtekst}}.
Funkcja sprawdza, czy nie został ustawiony element {{Code|tablica_zmiennych.sprawdzenie_dokonane_linku}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}, a jeżeli tak, to dalej, czy nie ma elementów numerowanych przy pomocy funkcji: {{Code|{{sr|#p["CzySąElementyNumerowaneTablicy"]|p=Parametry}}}}, a jeśli również tak, to dalej jest sprawdzane, czy został ustawiony problem: {{Code|strony poza zakresem obsługiwanym}}, przy pomocy: {{Code|{{sr|#p.CzyJestTakiElementTabeliProblemu|p=StronicowyParser/Problemy}}}}, a jeżeli nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}. Na samym końcu tej instrukcji warunkowej jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}.
Dalej pod tą instrukcją warunkową, jest robione, co powiedziane zostało w prologu tego opisu tej funkcji, tzn. z wyznaczonej tablicy ze: {{LinkPatrz|tablica_zmiennych}}, a dalej z wyznaczonej następnej podtabeli o kluczu: {{LinkPatrz|nazwa_obiektu}}.
Następnie, gdy element: {{LinkPatrz|czy_pobierz}}, jest ustawiony na {{Code|true}}, wtedy dla {{LinkPatrz|uchwyt_obiektu}}, pewna tablica, jest wstawiana do tablicy: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}}, jeśli istnieje, a jeśli nie, to jest tworzona, jako tablica, wtedy też jest to robione. Tą czynnością wstawiany tabelę, do tej tablicy, czyli:
<syntaxhighlight lang="lua">
{{nazwa_obiektu,uchwyt_obiektu,},{obiekt,kod,},}
</syntaxhighlight>
=== {{Śródtytuł|p.LinkowanieInnychStron}}{{Code|p.LinkowanieInnychStron}} ===
Funkcja do sprawdzania innych stron niż aktualna, a jeżeli dana strona została już sprawdzona, to powtórnie nie jest już rewidowana. Funkcja ustawia w głównej tablicy aktualnej tabeli {{LinkPatrz|tablica_zmiennych}} pewne podtablice.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieInnychStron(self,obiekt,kod,tablica_zmiennych, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejo jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Najpierw jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, która w razie poprawności nazwy strony, czyli inaczej nazw tej strony, tzn.: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, uruchamia funkcję zdefiniowaną w nim.
{{Tab}}Ta funkcja sprawdza, czy któraś z parametrów nazw istnieje, a jeżeli nie, to dalej jest inicjowana zmienna: {{Code|tablica_zmiennych2}} {{Patrz|tablica_zmiennych2}} pustą tablicą i podobnie {{Code|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}} {{Patrz|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}}, to uruchamiana jest: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, do zbierania informacji o stronie nowej lub przebadanej (wtedy zostają zwrócone parametry z wczęsniejszego jego analizowania, jak była nowa). Funkcja zwraca trzy parametry, tzn. {{Code|tabela_listy_danych_analizy_ksiazki0}} {{Patrz|tabela_listy_danych_analizy_ksiazki0}}, {{LinkPatrz|tablica_zmiennych2}} i {{Code|czy_inna}} {{Patrz|czy_inna}}. Te parametry mogą przyjmować wartość {{Code|nil}}, lub pierwszy {{Code|0}}, drugi, to nic innego jest jak: {{LinkPatrz|tablica_zmiennych2}}, a trzeci parametr jest wtedy równy {{Code|true}}, gdy strona jest nowa, a {{Code|false}} aktualna, a gdy {{Code|nil}}, gdy np. zawartość strony nie istnieje.
Gdy parametr: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, istnieje, wtedy jest spraqdzane, czy któreś z parametrów: {{LinkPatrz|tablica_zmiennych2}} i {{LinkPatrz|czy_inna}}, nie istsnieje, wtedy ta funkcja się zakańcza.
==== {{Śródtytuł|JuzPoliczone}}{{Code|JuzPoliczone}} ====
Dla obiektów, dla których jest ustawiony parametr: {{LinkPatrz|czy_pobierz}}, co dalej w tym rozgałęzieniu instrukcji warunkiwej jest uruchamiana funkcja szablonów tekstu, czyli: {{Code|{{sr|#p.UstawianiePobierz|p=StronicowyParser/SzablonyTekstu}}}}, aby również później za pomocą innych funkcji przeanalizować również tekst w szablonach takich jak: {{s|Śródtekst}}.
Dalej jest tworzona tablica, jeśli nie istnieje, tzn. {{Code|tablica_zmiennych2.dane_juz_policzone}} {{Patrz|tablica_zmiennych2.dane_juz_policzone}}, czyli jest inicjowana pustą tablicą. Dalej jest tworzona, jeśli nie istnieje, tablica wielowymiarowa po kolei, o kluczach kolejno: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}, {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu}}, a jeżeli ta ostatnia wartość tej tablicy była wcześniej, to zwracane jest {{Code|true}}, przeciwnie {{Code|false}}, a tej ostatniej wartości tej tablicy jest przydzielana wartość {{Code|true}}.
==== Dalszy opis funkcji ====
Gdy parametr: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest równy {{Code|0}}, ale nie {{Code|nil}}, wtedy jest sprawdzane, czy artykuł został wcześniej zrewidowany według: {{LinkŚródtytuł|JuzPoliczone}}, a jeżeli tak to jest zakańczany, a gdy ten parametr taakiej wartośsci nie przyjmuje, wtedy tylko jest uruchamiana funkcja bez żadnego warunku.
{{Tab}}Następnie jest uruchamiana funkcja: {{Code|{{sr|#p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony|p=StronicowyParser/SzablonyTekstu}}}}, do przydzielenia pewnych zmiennych z {{LinkPatrz|tablica_zmiennych2}} tablicy {{LinkPatrz|tablica_zmiennych}}.
{{Tab}}Jest sprawdzane, czy dany artykuł należy do spisu, jeżeli nie to są ustawiane pewne kody problemów w tablicy problemów, tzn. {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}.
Dalej jest sprawdzane, czy podany uchwyt {{LinkPatrz|uchwyt_obiektu}}, który jest podany w szablonach linków na aktualnej stronie, czy jest tylko jeden na stronie sprawdzanej, a jeżeli nie jest tak, to jest sprawdzane, czy nie istnieje ustawiony problem: {{Code|błędy uchwytów korzystanych stron}}, funkcją: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to taki problem jest dodawany dzięki: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
{{Tab}}Uruchamiana jest dalej funkcja: {{LinkŚródtytuł|p.PusteParametryReferencji}}, do sprawdzania pustości pewnych parametrów.
{{Tab}}Gdy tabela: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest jednak równa wartości odpowiadającej fałszywej, wtedy jeśli nie istnieje problem: {{Code|błąd wewnętrzny modułu lua stronicowego parsera}}, co jest rewidowane elementem: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to dodawany jest taki problem do tabeli problemów na podstawie: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
=== {{Śródtytuł|p.GeneralneLinkowanie}}{{Code|p.GeneralneLinkowanie}} ===
Funkcja zbiera uchwyty, na aktualnej lub innej stronie, a także je analizuje w odpowiedni sposób, modyfikuje tablica aktualnego modułu, czyli: {{LinkPatrz|tablica_zmiennych}}, na podstawie poszczególnych artykułów tej książki lub innej, która zbiera raz informacje o danej stronie.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Funkcja wyznacza uchwyt z tabeli parametrów: {{LinkPatrz|tabela_parametrow_szablonu}}, o kluczu {{Code|uchwyt}} {{LinkPatrz|uchwyt}} lub {{Code|1}}, a później w kodzie jest on kompletowany funkcją: {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a następnie rozwijany w niej, a później jest dekodowany: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}.
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, wywołujac: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}.
Na samym końcu jest uruchamiana: {{LinkPatrz|KtorySzablonMaZwracacKategorie}} z parametrem o tym uchwycie, wyliczonym wcześniej.
Gdy uchwyt istnieje, ale jest pusty, wtedy uruchamia się: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, następnie: {{LinkŚródtytuł|p.PusteParametryReferencji}}, a jeśli ta wartość nie istnieje, wtedy tylko ta ostatnia funkcja.
Gdy uchwyt: {{LinkPatrz|uchwyt}}, istnieje i jest niepusty, wtedy jest wyznaczana nazwa artykułu z niej samej, lub jeśli nazwa ksiązki istnieje, tylko, wtedy ta nazwa zaczyna być pusta, przeciwnie {{Code|nil}}, wtedy mamy do czynienia ze stroną główną podręcznika.
Gdy nazwa artykułu nie istnieje, wtedy wywoływana jest: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Jeśli nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest niepusta, i gdy nazwa książki nie istnieje, wtedy są liczone parametry nazw, oprócz nazwy artykułu, bo jest policzona, więc te {{ZobaczTeż|nazwy}}: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, z parametrów charakteryzujących nazwę aktualnego artykułu, a jeśli jednak nazwa książki jest pusta, to są sprawdzane parametry w: {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Gdy nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest nieistnieje, i gdy nazwa książki {{LinkPatrz|nazwa_ksiazki}} jest niepusta, wtedy nazwa artykułu zaczyna istnieć i inicjujemy wtedy ją wartością pustą, a jeśli pusta, za zaczyna być potem generowanie kodów błędów funkcją {{LinkŚródtytuł|p.PusteParametryReferencji}}, by potem się zakończyła ta funkcja.
Przeciwnie są liczone parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, tą samą metodą, co w punkcie: {{LinkZobaczTeż|nazwy}}.
Gdy nazwy {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}} są porównywane z nazwami, którymi się przypisje jak w: {{LinkZobaczTeż|nazwy}}, wtedy uruchamiamy funkcję: {{LinkŚródtytuł|p.LinkowanieInnychStron}}, przeciwnie wtedy działają dwie funkcje uruchomione po kolei, tzn.: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
== {{Śródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}{{Code|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} ==
Funkcja służy do zbierania informacji o danej analizowanej stronie, którego główną częścią jest strona korzystana, w której gromadzą się informacji też z pozostałych.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, czy_artykul_korzystany,tablica_zmiennych,czy_szablon_pudelkowy_strony_zbiorczej)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} - jak w: {{LinkPatrz|czy_szablon_pudelkowy_strony_zbiorczej}}.
=== {{Śródtytuł|__FUNKCJA_ARTYKULU}}{{Code|__FUNKCJA_ARTYKULU}} ===
Funkcja do tworzenia tabeli artykułów z innymi parametrami wielowymiarowymi tabeli, a jeżeli owo istnieje, to te tabele są zwracane lub nowo utworzone.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
Poniżej są tworzone podtabele puste, jeśli nie zostały utworzone.
Funkcja, która w tabeli: {{Code|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, która istnieje, tworzy tabele trójwymiarową kolejno po prarametrach: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, te tabele pośrednie śą wtedy tworzone, jeśsli nieistnieją, a gdy istnieją to nie są tworzone, tylko funkcja przechodzi do dalszych.
Dalej tworzona jest podtabela, jeśli nie istnieje o nazwie {{Code|lista_podstron_woluminu}} {{Patrz|lista_podstron_woluminu}}.
Następnie generowana jest podtabela, jeśli nie istnieje, o kluczu: {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}}.
Funkcja zwraca kolejno elementy, jeśli klucz: {{LinkPatrz|nazwa_artykulu}}, istnieje, zatem:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany;
</syntaxhighlight>
Przeciwnie zwracany jest zbiór zmiennych po kolei:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki;
</syntaxhighlight>
=== {{Śródtytuł|__FUNKCJA_POBIERANIE}}{{Code|__FUNKCJA_POBIERANIE}} ===
=== {{Śródtytuł|InneInformacjePrzebneDoAnalizowanejKsiazki}}{{Code|InneInformacjePrzebneDoAnalizowanejKsiazki}} ===
==== {{Śródtytuł|__FUNKCJA_SPISU}}{{Code|__FUNKCJA_SPISU}} ====
=== {{Śródtytuł|PrzekierownieAwaryjne}}{{Code|PrzekierownieAwaryjne}} ===
=== {{Śródtytuł|StronaZbiorcza}}{{Code|StronaZbiorcza}} ===
=== {{Śródtytuł|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}}{{Code|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}} ===
=== {{Śródtytuł|GeneralnaAnalizaSzablonuStronicowegoParsera}}{{Code|GeneralnaAnalizaSzablonuStronicowegoParsera}} ===
=== {{Śródtytuł|IterowaniePoElementachTekstu}}{{Code|IterowaniePoElementachTekstu}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieNaglowek}}{{Code|KtorySzablonMaZwracacKategorieNaglowek}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieTekst}}{{Code|KtorySzablonMaZwracacKategorieTekst}} ===
=== {{Śródtytuł|CzyJestTakiProblemJakoElementTablicy}}{{Code|CzyJestTakiProblemJakoElementTablicy}} ===
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
26lf85pqnwa7l7trn0n5o18vafxk9u7
547226
547225
2026-06-29T14:37:02Z
Persino
2851
/* {{Śródtytuł|__FUNKCJA_ARTYKULU}}{{Code|__FUNKCJA_ARTYKULU}} */
547226
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/ZbieranieDanychStron}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== Zbieranie informacji o uchwycie ==
=== {{Śródtytuł|p.UchwytyZeiBezNumeracji}}{{Code|p.UchwytyZeiBezNumeracji}} ===
Funkcja zbiera uchwyty, dla obiektów {{ZobaczTeż|p.UchwytyZeiBezNumeracji}}, bez numeracji, nie licząc obiektów tekst takich jak {{s|Śródtekst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UchwytyZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,lista_dwuelementowa,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} {{Patrz|self}} - zmiennna obiektowa modułu {{Code|{{ld2|StronicowyParser/ZbieranieDanychStron}}}} {{Patrz|StronicowyParser/ZbieranieDanychStron}},
* {{Code|tabela_elementow_strony_kodow}} {{Patrz|tabela_elementow_strony_kodow}} - zmienna zbierająca takie kody jak {{LinkZobaczTeż|p.UchwytyZeiBezNumeracji}},
* {{Code|nazwa_obiektu}} {{Patrz|nazwa obiektu}} - nazwa obiektu,
* {{Code|lista_dwuelementowa}} {{Patrz|lista_dwuelementowa}} - pozycja w normalnej tabeli uchwytów i przeważnie ich numeracji, a tutaj dla tego obiektu,
* {{Code|kod}} {{Patrz|kod}} - numer kodu dla tego obiektu.
Funkcja zbiera elementy {{LinkPatrz|lista_dwuelementowa}} w tablicy wielowymiarowej o pierwszym elemencie wymiaru {{LinkPatrz|nazwa obiektu}} i trzecim {{LinkPatrz|kod}}, oraz o drugim {{Code|uchwyty_bez_numeracji}} {{Patrz|uchwyty_bez_numeracji}}.
=== {{Śródtytuł|p.WydobywanieUchwytuZeiBezNumeracji}}{{Code|p.WydobywanieUchwytuZeiBezNumeracji}} ===
Funkcja wydowywa tablicę uchwytu dla pozycji, ale nie sam uchwyt, dla podtablicy {{LinkPatrz|uchwyty_bez_numeracji}} o danym kodzie {{LinkPatrz|kod}}, dla nazwy obiektu {{LinkPatrz|nazwa_obiektu}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.WydobywanieUchwytuZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_elementow_strony_kodow}} - jak w: {{LinkPatrz|tabela_elementow_strony_kodow}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}}.
Funkcja wykorzystuje elementy tablicy: {{LinkPatrz|uchwyty_bez_numeracji}}, wstawione przez funkcję: {{LinkŚródtytuł|p.UchwytyZeiBezNumeracji}}.
=== {{Śródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}{{Code|p.RozpatrywanieElementuUchwytuNumeracji}} ===
Funkcja wsadzająca utworzoną tablicę z podanym uchwytem do ogólnej tablicy pozycji nazwanych tabel z uchwytami o danej pozycji z nim.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|kod_uchwytu}} {{Patrz|kod_uchwytu}} - kod uchwytu podanego do szablonu stronicowego z odpowiednim uchwytem,
* {{Code|tab_numer}} {{Patrz|tab_numer}} - tablica z numerkami ilości elementów w tablicy parametrów nazwanych z uchwytami, w danym elemencie analizowania strony z uchwytami i obiektami,
* {{Code|tablica_zmiennych}} {{Patrz|tablica_zmiennych}} - tablica analizowania obiektów, danej strony,
* {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} {{Patrz|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - kolejno: nazwa przestrzeni nazw, nazwa przestrzeni książki, nazwa książki i nazwa artykułu książki,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} {{Patrz|czy_artykul_korzystany}} - czy artykuł aktualny wyświetlany w przeglądarce,
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} {{Patrz|nazwa_modulu_aktualna_czy_biezaca}} - nazwa artykułu aktualna lub bieżąca,
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{Patrz|tablica_analizy_obiektow_strony_dany_modul}} - tablica bazy kodów parsowania strony,
* {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - tablica analizy poszczególnych elementów kodów, do szybszego działania skryptu,
* {{Code|KtorySzablonMaZwracacKategorie}} {{Patrz|KtorySzablonMaZwracacKategorie}} - tablica zbierająca odkodowany i rozwinięty uchwyt, do analizowania w nim zebranych kategorii, według modułu: {{Code|{{ld2|StronicowyParser/Kategorie}}}}, uruchamiana w szablonach stronicowych z funkcjami '''stronicowego parsera'''.
Funkcja rozwija {{LinkPatrz|kod_uchwytu}} funkcją {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a potem je odkodowuje przy pomocy: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a jeżeli ona nie jest pusta, to dla tego jest uruchamiana funkcja {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Tworzona jest tablica {{Code|lista_dwuelementowa}} {{LinkPatrz|lista_dwuelementowa}} z uchwytem, jako pierwszy parametr.
Jest sprawdzane, czy element {{Code|tablica_zmiennych.sprawdzenie_dokonane_obiektu}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, jest fałszywy, jeżeli tak, to dalej jest sprawdzane, czy są elementy numerowane nazwanej tablicy: {{Code|tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2}} o nazwie {{LinkPatrz|nazwa_obiektu}}, a jeżeli jest pusta - na samym końcu jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, czyli jest inicjowana na wartość {{Code|true}}, to dalej jest sprawdzane, czy dla elementów: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy dana książka jest poza zakresem obsługiwanym, czyli rewidowane jest, czy jest ustawiony kod problemu {{Code|strony poza zakresem obsługiwanym}}, czy a jeżeli jednak nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}, ustawiające pewne elementy błędu, jeżeli trzeba to zrobić.
Gdy tabela {{LinkPatrz|tab_numer}} odpowiada nienilowej tablicy, wtedy element {{LinkPatrz|lista_dwuelementowa}} jest wstawiany na odpowiedniej pozycji, ale przeważnie nie na końcu, przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=table.insert|b=tak}}}}, dzięki określonej tabeli {{LinkPatrz|tab_numer}}, przeciwnie na jej końcu.
Funkcja zwraca element {{LinkPatrz|lista_dwuelementowa}}.
=== {{Śródtytuł|p.RozpatrywanieSzablonuObiektuDoNumeracji}}{{Code|p.RozpatrywanieSzablonuObiektuDoNumeracji}} ===
Funkcja, która uruchamia funkcję: {{LinkŚródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}, dla istniejącego uchwytu w postaci nazwanej o kluczu: {{Code|uchwyt}} {{Patrz|uchwyt}}, lub nienazwanej - w postaci numeru jego uchwytu o kluczu: {{Code|numer_numeracji}} {{Patrz|numer_numeracji}}, wsadzająca tabele z uchwytem na odpowiednią pozycję w odpowiedniej nazwanej tabeli o nazwie obiektu {{LinkPatrz|nazwa_obiektu}} w ogólnej tabeli: {{LinkPatrz|tablica_zmiennych}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}}- tabela parametrów szablonu,
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|numer_numeracji}} - jak w: {{LinkPatrz|numer_numeracji}},
* {{Code|tab_numer}} - jak w: {{LinkPatrz|tab_numer}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
== {{Śródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}{{Code|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}} ==
Funkcja sprawdza, czy dany artykuł należy do artykułów, któregoś spisu treści, a jeżeli nie, to dla stron, które nie należą do kategorii z ustawionym problemem {{Code|strony poza zakresem obsługiwanym}}, ale do nieaktualnej strony jest ustawiony problem {{Code|brak spisów treści do dołączonych stron}}. Natomiast dla aktualnej dla stron tej samej kategorii ustawiany jest problem {{Code|brak spisu treści do korzystanych stron}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== {{Śródtytuł|p.PusteParametryReferencji}}{{Code|p.PusteParametryReferencji}} ==
Funkcja sprawdza, jeśli są podane parametry szablonu stronicowego, które są w kategorii: {{lk|Szablony stronicowe}}, czyli: {{Code|nazwa_artykulu}}, ewentualnie: {{Code|nazwa_ksiazki}}, ale zawsze z: {{Code|uchwyt_obiektu}}, czy są one puste.
A jeżeli one istnieją i są takie, to są ustawione problemy typu, jeśli ich wcześniej nie ustawiono:
* {{Code|puste parametry szablonów stronicowych linkujących}} {{Patrz|puste parametry szablonów stronicowych linkujących}}, kolejno dla: {{Code|uchwyt_obiektu}}, {{Code|nazwa_artykulu}} i {{Code|nazwa_ksiazki}}, kolejno z numerami problemów: {{Code|1}}, {{Code|2}} i {{Code|3}}.
Dla obiektu o nazwie {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}.
{{Hr}}
Definicja skrótowa funkcji
<syntaxhighlight lang="lua">
function p.PusteParametryReferencji(self, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu)...end;
</syntaxhighlight>
Paraametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} {{Patrz|uchwyt_obiektu}} - uchwyt obiektu, podane w danym szablonie stronicowym,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}}.
== {{Śródtytuł|p.SzablonyReferencjiParametrowych}}{{Code|p.SzablonyReferencjiParametrowych}} ==
Funkcja z parametrów pudełkowych nazwy artykułu {{ZobaczTeż|nazwa artykułu}}: {{Code|nazwa artykułu}} {{Patrz|nazwa artykułu}} albo {{Code|1}}, gdy bezuchwytowe lub {{Code|2}}, i pełnej nazwy książki {{ZobaczTeż|pełna nazwa strony}}: {{Code|nazwa książki}} {{Patrz|nazwa książki}} albo, {{Code|2}}, gdy bezuchwytowe lub {{Code|3}}. To wszystko jest liczone z: {{LinkPatrz|tabela_parametrow_szablonu}} lub przy użyciu parametru również {{Code|bezuchwytowe}} {{Patrz|bezuchwytowe}}, gdy mamy szablon stronicowy {{lk|Szablony stronicowe}}, bezuchwytowy, wtedy {{Code|true}}, przeciwnie {{Code|false/nil}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca,bezuchwytowe)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{Code|bezuchwytowe}} - jak w: {{LinkPatrz|bezuchwytowe}}.
Funkcja obie nazwy dekoduje funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a później jest liczony adres bezwzględny z względnego dzięki: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, przy pomocy podstawy {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}}, podobnie ale wcześniej jest liczona nazwa artykułu {{linkZobaczTeż|nazwa artykułu}}, czyli: {{LinkPatrz|nazwa_artykulu}}, ale tutaj adres względny jest liczony z podstawy o ciągu pustym jako drugi parametr.
Na podstawie pełnej nazwy książki {{LinkZobaczTeż|pełna nazwa strony}}: jest liczona bardziej jej wersja pełniejsza, jeżeli to jest w ogóle możliwe z: {{Code|{{sr|#p["PełnaNazwaStronicowejKsiążki"]|p=Książkowe}}}}. A póżniej z tego wszystkiego są liczone nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, przy pomocy funkcji nazw: {{Code|{{ld2|Nazwy}}}}.
Na samym końcu funkcji są zwracane parametry nazw, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== Funkcje zbierania informacji ==
=== {{Śródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}{{Code|p.ZbieranieInformacjiStronyWoluminowychPozycji}} ===
Funkcja zbierania informacji na stronie dla szablonów stronicowych: {{lk|Szablony stronicowe}}, bezuchwytowych, gdy nie jest uruchomiony parametr: {{Code|czy_inna_wartosc_tekst}} {{Patrz|czy_inna_wartosc_tekst}}, wtedy jest wywoływana funkcja: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}, która liczy kolejne nazwy charaktertyzujące nazwy dla danego artykułu książki dla danej strony, przeciwnie parametry nazw są ściagane z: {{Code|tab_nazwy}} {{Patrz|tab_nazwy}}, ta tabela składa się numerowanych elementów, którymi są nazwy charakyteryzujące stronę.
Gdy jakaś nazwa artylułu strony została policzona, wtedy są liczone pozostałe nazwy z: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, a na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, a tuż przed nim, jeśli istnieje: {{Code|KtorySzablonMaZwracacKategorie}} {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,KtorySzablonMaZwracacKategorie,czy_inna_wartosc_tekst,tab_nazwy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_inna_wartosc_tekst}} - jak w: {{LinkPatrz|czy_inna_wartosc_tekst}},
* {{Code|tab_nazwy}} - jak w: {{LinkPatrz|tab_nazwy}}.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacji}}{{Code|p.ZbieranieKontenerowychInformacji}} ===
Funkcja do zbierania informacji, która z parametrów pudełkowych: {{Code|{{m|Pudełko}}}}, czyli: {{Code|nazwa przestrzeni nazw}} {{Patrz|nazwa przestrzeni nazw}} i {{Code|nazwa jednostki}} {{Patrz|nazwa jednostki}}, z nich są liczone parametry nazw charakteryzujące artykuł książki strony. A na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} {{Patrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,czy_szablon_pudelkowy_strony_zbiorczej,KtorySzablonMaZwracacKategorie)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} {{Patrz|czy_szablon_pudelkowy_strony_zbiorczej}} - funkcja potrzebna do funkcji zbierającej {{LinkPatrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, określającej, czy mamy szablon pudełkowy strony zbiorczej, taki jak: {{Code|{{s|StronaSubst}}}}, czy: {{Code|{{s|KsiążkaSubst}}}}, zobacz stronę: {{Code|{{lr2|Moduły/StronicowyParser/StronaSubst}}}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Gdy nie ma parametrów pudełkowych funkcja się natychmiast zakańcza, lub parametr: {{LinkPatrz|nazwa jednostki}}, jest pusta, lub nawet gdy zawierają kody wykrywane przez funkcję: {{Code|{{sr|#p.NormaWzoruKodowaniaTekstu|p=Szablonowe}}}}.
Z nazwy jednostki jest wydzielana nazwa jednostki właściwa bez nazwy nagłówka, póżniej obie nazwy są też dekodowane funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, czyli wszystko z: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}.
Z tych dwóch nazwy jest liczony adres, ewentualnie względny, który za pomocą funkcji: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, jest wyliczany adres bezwzględny.
Dalej są liczone nazwy charakteryzujące artykuł danej książki strony, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, z tego adresu strony.
Przedostatnia funkcja, która jest uruchamiana przed funkcją zbierającą jest: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}, jeśli istnieje.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacjiReferencji}}{{Code|p.ZbieranieKontenerowychInformacjiReferencji}} ===
Funkcja zbiera informacje o stronie. Na podstawie informacji o nazwie artykułu i pełnej nazwy książki liczy parametry nazw charakteryzujące artykuł, co na tej podstawiwe liczy parametry pudełkowe i wywołuje funkcję główną przez inną funkcję, też zbierającą, i zbiera informacje o artykule.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacjiReferencji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, jako parametry zwracane przez funkcję: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}. Funkcja wyznacza parametry pudełkowe {{m|Pudełko}}, tzn.: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}, na podstawie tych nazw. Funkcja na samym końcu wywołuje funkcję zbierającą dane ze strony: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}, która z kolei uruchamia potem: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
== {{Śródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}{{Code|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}} ==
Funkcja sprawdza niepoprawność nazwy strony i na podstawie tego ustawia pewne kody problemów.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,__FUNKCJA_SPRAWDZANIE)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|__FUNKCJA_SPRAWDZANIE}} {{Patrz|__FUNKCJA_SPRAWDZANIE}} - funkcja uruchamiana, jeśli jest ustawiona, na wypadek poprawności strony.
W przypadku niepoprawności strony, gdy strona modułu jest aktualna (bieżąca), wtedy sprawdzany jest kod problemu, czy jest ustawiony, tzn.: {{Code|nieprawidłowe nazwy korzystanych stron}}, przy pomocy funkcji: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli nie ma takiego, to wtedy jest uruchamiana funkcja: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}. Podobnie jest dla niekorzystanej strony, wtedy jest problem dla kodu: {{Code|nieprawidłowe nazwy stron dołączanych do stron}}.
== Zbieranie informacji o linkach ==
=== {{Śródtytuł|p.LinkowanieFinalizowaniePrac}}{{Code|p.LinkowanieFinalizowaniePrac}} ===
Funkcja wadza uchwyt obiektu, wsazujący na aktualną stronę, do pewnej strony, i ewentualnie ustawia pewne problemy, jeśli je nie ustawiono.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} {{Patrz|obiekt}} - obiekt, obsługiwany przez tą funkcję linku,
* {{Code|kod}} {{LinkPatrz|kod}} - kod obiektu dla: {{LinkPatrz|obiekt}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} - jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}},
* {{Code|czy_pobierz}} {{Patrz|czy_pobierz}} - czy to jest szablon typu {{Code|Pobierz}} {{Patrz|Pobierz}}, jak: {{s|PobierzŚródtekst}}.
Funkcja sprawdza, czy nie został ustawiony element {{Code|tablica_zmiennych.sprawdzenie_dokonane_linku}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}, a jeżeli tak, to dalej, czy nie ma elementów numerowanych przy pomocy funkcji: {{Code|{{sr|#p["CzySąElementyNumerowaneTablicy"]|p=Parametry}}}}, a jeśli również tak, to dalej jest sprawdzane, czy został ustawiony problem: {{Code|strony poza zakresem obsługiwanym}}, przy pomocy: {{Code|{{sr|#p.CzyJestTakiElementTabeliProblemu|p=StronicowyParser/Problemy}}}}, a jeżeli nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}. Na samym końcu tej instrukcji warunkowej jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}.
Dalej pod tą instrukcją warunkową, jest robione, co powiedziane zostało w prologu tego opisu tej funkcji, tzn. z wyznaczonej tablicy ze: {{LinkPatrz|tablica_zmiennych}}, a dalej z wyznaczonej następnej podtabeli o kluczu: {{LinkPatrz|nazwa_obiektu}}.
Następnie, gdy element: {{LinkPatrz|czy_pobierz}}, jest ustawiony na {{Code|true}}, wtedy dla {{LinkPatrz|uchwyt_obiektu}}, pewna tablica, jest wstawiana do tablicy: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}}, jeśli istnieje, a jeśli nie, to jest tworzona, jako tablica, wtedy też jest to robione. Tą czynnością wstawiany tabelę, do tej tablicy, czyli:
<syntaxhighlight lang="lua">
{{nazwa_obiektu,uchwyt_obiektu,},{obiekt,kod,},}
</syntaxhighlight>
=== {{Śródtytuł|p.LinkowanieInnychStron}}{{Code|p.LinkowanieInnychStron}} ===
Funkcja do sprawdzania innych stron niż aktualna, a jeżeli dana strona została już sprawdzona, to powtórnie nie jest już rewidowana. Funkcja ustawia w głównej tablicy aktualnej tabeli {{LinkPatrz|tablica_zmiennych}} pewne podtablice.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieInnychStron(self,obiekt,kod,tablica_zmiennych, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejo jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Najpierw jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, która w razie poprawności nazwy strony, czyli inaczej nazw tej strony, tzn.: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, uruchamia funkcję zdefiniowaną w nim.
{{Tab}}Ta funkcja sprawdza, czy któraś z parametrów nazw istnieje, a jeżeli nie, to dalej jest inicjowana zmienna: {{Code|tablica_zmiennych2}} {{Patrz|tablica_zmiennych2}} pustą tablicą i podobnie {{Code|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}} {{Patrz|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}}, to uruchamiana jest: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, do zbierania informacji o stronie nowej lub przebadanej (wtedy zostają zwrócone parametry z wczęsniejszego jego analizowania, jak była nowa). Funkcja zwraca trzy parametry, tzn. {{Code|tabela_listy_danych_analizy_ksiazki0}} {{Patrz|tabela_listy_danych_analizy_ksiazki0}}, {{LinkPatrz|tablica_zmiennych2}} i {{Code|czy_inna}} {{Patrz|czy_inna}}. Te parametry mogą przyjmować wartość {{Code|nil}}, lub pierwszy {{Code|0}}, drugi, to nic innego jest jak: {{LinkPatrz|tablica_zmiennych2}}, a trzeci parametr jest wtedy równy {{Code|true}}, gdy strona jest nowa, a {{Code|false}} aktualna, a gdy {{Code|nil}}, gdy np. zawartość strony nie istnieje.
Gdy parametr: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, istnieje, wtedy jest spraqdzane, czy któreś z parametrów: {{LinkPatrz|tablica_zmiennych2}} i {{LinkPatrz|czy_inna}}, nie istsnieje, wtedy ta funkcja się zakańcza.
==== {{Śródtytuł|JuzPoliczone}}{{Code|JuzPoliczone}} ====
Dla obiektów, dla których jest ustawiony parametr: {{LinkPatrz|czy_pobierz}}, co dalej w tym rozgałęzieniu instrukcji warunkiwej jest uruchamiana funkcja szablonów tekstu, czyli: {{Code|{{sr|#p.UstawianiePobierz|p=StronicowyParser/SzablonyTekstu}}}}, aby również później za pomocą innych funkcji przeanalizować również tekst w szablonach takich jak: {{s|Śródtekst}}.
Dalej jest tworzona tablica, jeśli nie istnieje, tzn. {{Code|tablica_zmiennych2.dane_juz_policzone}} {{Patrz|tablica_zmiennych2.dane_juz_policzone}}, czyli jest inicjowana pustą tablicą. Dalej jest tworzona, jeśli nie istnieje, tablica wielowymiarowa po kolei, o kluczach kolejno: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}, {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu}}, a jeżeli ta ostatnia wartość tej tablicy była wcześniej, to zwracane jest {{Code|true}}, przeciwnie {{Code|false}}, a tej ostatniej wartości tej tablicy jest przydzielana wartość {{Code|true}}.
==== Dalszy opis funkcji ====
Gdy parametr: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest równy {{Code|0}}, ale nie {{Code|nil}}, wtedy jest sprawdzane, czy artykuł został wcześniej zrewidowany według: {{LinkŚródtytuł|JuzPoliczone}}, a jeżeli tak to jest zakańczany, a gdy ten parametr taakiej wartośsci nie przyjmuje, wtedy tylko jest uruchamiana funkcja bez żadnego warunku.
{{Tab}}Następnie jest uruchamiana funkcja: {{Code|{{sr|#p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony|p=StronicowyParser/SzablonyTekstu}}}}, do przydzielenia pewnych zmiennych z {{LinkPatrz|tablica_zmiennych2}} tablicy {{LinkPatrz|tablica_zmiennych}}.
{{Tab}}Jest sprawdzane, czy dany artykuł należy do spisu, jeżeli nie to są ustawiane pewne kody problemów w tablicy problemów, tzn. {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}.
Dalej jest sprawdzane, czy podany uchwyt {{LinkPatrz|uchwyt_obiektu}}, który jest podany w szablonach linków na aktualnej stronie, czy jest tylko jeden na stronie sprawdzanej, a jeżeli nie jest tak, to jest sprawdzane, czy nie istnieje ustawiony problem: {{Code|błędy uchwytów korzystanych stron}}, funkcją: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to taki problem jest dodawany dzięki: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
{{Tab}}Uruchamiana jest dalej funkcja: {{LinkŚródtytuł|p.PusteParametryReferencji}}, do sprawdzania pustości pewnych parametrów.
{{Tab}}Gdy tabela: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest jednak równa wartości odpowiadającej fałszywej, wtedy jeśli nie istnieje problem: {{Code|błąd wewnętrzny modułu lua stronicowego parsera}}, co jest rewidowane elementem: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to dodawany jest taki problem do tabeli problemów na podstawie: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
=== {{Śródtytuł|p.GeneralneLinkowanie}}{{Code|p.GeneralneLinkowanie}} ===
Funkcja zbiera uchwyty, na aktualnej lub innej stronie, a także je analizuje w odpowiedni sposób, modyfikuje tablica aktualnego modułu, czyli: {{LinkPatrz|tablica_zmiennych}}, na podstawie poszczególnych artykułów tej książki lub innej, która zbiera raz informacje o danej stronie.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Funkcja wyznacza uchwyt z tabeli parametrów: {{LinkPatrz|tabela_parametrow_szablonu}}, o kluczu {{Code|uchwyt}} {{LinkPatrz|uchwyt}} lub {{Code|1}}, a później w kodzie jest on kompletowany funkcją: {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a następnie rozwijany w niej, a później jest dekodowany: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}.
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, wywołujac: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}.
Na samym końcu jest uruchamiana: {{LinkPatrz|KtorySzablonMaZwracacKategorie}} z parametrem o tym uchwycie, wyliczonym wcześniej.
Gdy uchwyt istnieje, ale jest pusty, wtedy uruchamia się: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, następnie: {{LinkŚródtytuł|p.PusteParametryReferencji}}, a jeśli ta wartość nie istnieje, wtedy tylko ta ostatnia funkcja.
Gdy uchwyt: {{LinkPatrz|uchwyt}}, istnieje i jest niepusty, wtedy jest wyznaczana nazwa artykułu z niej samej, lub jeśli nazwa ksiązki istnieje, tylko, wtedy ta nazwa zaczyna być pusta, przeciwnie {{Code|nil}}, wtedy mamy do czynienia ze stroną główną podręcznika.
Gdy nazwa artykułu nie istnieje, wtedy wywoływana jest: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Jeśli nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest niepusta, i gdy nazwa książki nie istnieje, wtedy są liczone parametry nazw, oprócz nazwy artykułu, bo jest policzona, więc te {{ZobaczTeż|nazwy}}: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, z parametrów charakteryzujących nazwę aktualnego artykułu, a jeśli jednak nazwa książki jest pusta, to są sprawdzane parametry w: {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Gdy nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest nieistnieje, i gdy nazwa książki {{LinkPatrz|nazwa_ksiazki}} jest niepusta, wtedy nazwa artykułu zaczyna istnieć i inicjujemy wtedy ją wartością pustą, a jeśli pusta, za zaczyna być potem generowanie kodów błędów funkcją {{LinkŚródtytuł|p.PusteParametryReferencji}}, by potem się zakończyła ta funkcja.
Przeciwnie są liczone parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, tą samą metodą, co w punkcie: {{LinkZobaczTeż|nazwy}}.
Gdy nazwy {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}} są porównywane z nazwami, którymi się przypisje jak w: {{LinkZobaczTeż|nazwy}}, wtedy uruchamiamy funkcję: {{LinkŚródtytuł|p.LinkowanieInnychStron}}, przeciwnie wtedy działają dwie funkcje uruchomione po kolei, tzn.: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
== {{Śródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}{{Code|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} ==
Funkcja służy do zbierania informacji o danej analizowanej stronie, którego główną częścią jest strona korzystana, w której gromadzą się informacji też z pozostałych.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, czy_artykul_korzystany,tablica_zmiennych,czy_szablon_pudelkowy_strony_zbiorczej)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} - jak w: {{LinkPatrz|czy_szablon_pudelkowy_strony_zbiorczej}}.
=== {{Śródtytuł|__FUNKCJA_ARTYKULU}}{{Code|__FUNKCJA_ARTYKULU}} ===
Funkcja do tworzenia tabeli artykułów z innymi parametrami wielowymiarowymi tabeli, a jeżeli owo istnieje, to te tabele są zwracane lub nowo utworzone.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu}}.
Poniżej są tworzone podtabele puste, jeśli nie zostały utworzone.
Funkcja, która w tabeli: {{Code|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, która istnieje, tworzy tabele trójwymiarową kolejno po prarametrach: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, te tabele pośrednie śą wtedy tworzone, jeśsli nieistnieją, a gdy istnieją to nie są tworzone, tylko funkcja przechodzi do dalszych.
Dalej tworzona jest podtabela, jeśli nie istnieje o nazwie {{Code|lista_podstron_woluminu}} {{Patrz|lista_podstron_woluminu}}.
Następnie generowana jest podtabela, jeśli nie istnieje, o kluczu: {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}}.
Funkcja zwraca kolejno elementy, jeśli klucz: {{LinkPatrz|nazwa_artykulu}}, istnieje, zatem:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany;
</syntaxhighlight>
Przeciwnie zwracany jest zbiór zmiennych po kolei:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki;
</syntaxhighlight>
=== {{Śródtytuł|__FUNKCJA_POBIERANIE}}{{Code|__FUNKCJA_POBIERANIE}} ===
=== {{Śródtytuł|InneInformacjePrzebneDoAnalizowanejKsiazki}}{{Code|InneInformacjePrzebneDoAnalizowanejKsiazki}} ===
==== {{Śródtytuł|__FUNKCJA_SPISU}}{{Code|__FUNKCJA_SPISU}} ====
=== {{Śródtytuł|PrzekierownieAwaryjne}}{{Code|PrzekierownieAwaryjne}} ===
=== {{Śródtytuł|StronaZbiorcza}}{{Code|StronaZbiorcza}} ===
=== {{Śródtytuł|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}}{{Code|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}} ===
=== {{Śródtytuł|GeneralnaAnalizaSzablonuStronicowegoParsera}}{{Code|GeneralnaAnalizaSzablonuStronicowegoParsera}} ===
=== {{Śródtytuł|IterowaniePoElementachTekstu}}{{Code|IterowaniePoElementachTekstu}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieNaglowek}}{{Code|KtorySzablonMaZwracacKategorieNaglowek}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieTekst}}{{Code|KtorySzablonMaZwracacKategorieTekst}} ===
=== {{Śródtytuł|CzyJestTakiProblemJakoElementTablicy}}{{Code|CzyJestTakiProblemJakoElementTablicy}} ===
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
7ouuvn2ejiqepcwzevb4qntbikosojl
547227
547226
2026-06-29T14:38:41Z
Persino
2851
/* {{Śródtytuł|__FUNKCJA_ARTYKULU}}{{Code|__FUNKCJA_ARTYKULU}} */
547227
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/ZbieranieDanychStron}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== Zbieranie informacji o uchwycie ==
=== {{Śródtytuł|p.UchwytyZeiBezNumeracji}}{{Code|p.UchwytyZeiBezNumeracji}} ===
Funkcja zbiera uchwyty, dla obiektów {{ZobaczTeż|p.UchwytyZeiBezNumeracji}}, bez numeracji, nie licząc obiektów tekst takich jak {{s|Śródtekst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UchwytyZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,lista_dwuelementowa,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} {{Patrz|self}} - zmiennna obiektowa modułu {{Code|{{ld2|StronicowyParser/ZbieranieDanychStron}}}} {{Patrz|StronicowyParser/ZbieranieDanychStron}},
* {{Code|tabela_elementow_strony_kodow}} {{Patrz|tabela_elementow_strony_kodow}} - zmienna zbierająca takie kody jak {{LinkZobaczTeż|p.UchwytyZeiBezNumeracji}},
* {{Code|nazwa_obiektu}} {{Patrz|nazwa obiektu}} - nazwa obiektu,
* {{Code|lista_dwuelementowa}} {{Patrz|lista_dwuelementowa}} - pozycja w normalnej tabeli uchwytów i przeważnie ich numeracji, a tutaj dla tego obiektu,
* {{Code|kod}} {{Patrz|kod}} - numer kodu dla tego obiektu.
Funkcja zbiera elementy {{LinkPatrz|lista_dwuelementowa}} w tablicy wielowymiarowej o pierwszym elemencie wymiaru {{LinkPatrz|nazwa obiektu}} i trzecim {{LinkPatrz|kod}}, oraz o drugim {{Code|uchwyty_bez_numeracji}} {{Patrz|uchwyty_bez_numeracji}}.
=== {{Śródtytuł|p.WydobywanieUchwytuZeiBezNumeracji}}{{Code|p.WydobywanieUchwytuZeiBezNumeracji}} ===
Funkcja wydowywa tablicę uchwytu dla pozycji, ale nie sam uchwyt, dla podtablicy {{LinkPatrz|uchwyty_bez_numeracji}} o danym kodzie {{LinkPatrz|kod}}, dla nazwy obiektu {{LinkPatrz|nazwa_obiektu}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.WydobywanieUchwytuZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_elementow_strony_kodow}} - jak w: {{LinkPatrz|tabela_elementow_strony_kodow}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}}.
Funkcja wykorzystuje elementy tablicy: {{LinkPatrz|uchwyty_bez_numeracji}}, wstawione przez funkcję: {{LinkŚródtytuł|p.UchwytyZeiBezNumeracji}}.
=== {{Śródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}{{Code|p.RozpatrywanieElementuUchwytuNumeracji}} ===
Funkcja wsadzająca utworzoną tablicę z podanym uchwytem do ogólnej tablicy pozycji nazwanych tabel z uchwytami o danej pozycji z nim.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|kod_uchwytu}} {{Patrz|kod_uchwytu}} - kod uchwytu podanego do szablonu stronicowego z odpowiednim uchwytem,
* {{Code|tab_numer}} {{Patrz|tab_numer}} - tablica z numerkami ilości elementów w tablicy parametrów nazwanych z uchwytami, w danym elemencie analizowania strony z uchwytami i obiektami,
* {{Code|tablica_zmiennych}} {{Patrz|tablica_zmiennych}} - tablica analizowania obiektów, danej strony,
* {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} {{Patrz|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - kolejno: nazwa przestrzeni nazw, nazwa przestrzeni książki, nazwa książki i nazwa artykułu książki,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} {{Patrz|czy_artykul_korzystany}} - czy artykuł aktualny wyświetlany w przeglądarce,
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} {{Patrz|nazwa_modulu_aktualna_czy_biezaca}} - nazwa artykułu aktualna lub bieżąca,
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{Patrz|tablica_analizy_obiektow_strony_dany_modul}} - tablica bazy kodów parsowania strony,
* {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - tablica analizy poszczególnych elementów kodów, do szybszego działania skryptu,
* {{Code|KtorySzablonMaZwracacKategorie}} {{Patrz|KtorySzablonMaZwracacKategorie}} - tablica zbierająca odkodowany i rozwinięty uchwyt, do analizowania w nim zebranych kategorii, według modułu: {{Code|{{ld2|StronicowyParser/Kategorie}}}}, uruchamiana w szablonach stronicowych z funkcjami '''stronicowego parsera'''.
Funkcja rozwija {{LinkPatrz|kod_uchwytu}} funkcją {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a potem je odkodowuje przy pomocy: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a jeżeli ona nie jest pusta, to dla tego jest uruchamiana funkcja {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Tworzona jest tablica {{Code|lista_dwuelementowa}} {{LinkPatrz|lista_dwuelementowa}} z uchwytem, jako pierwszy parametr.
Jest sprawdzane, czy element {{Code|tablica_zmiennych.sprawdzenie_dokonane_obiektu}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, jest fałszywy, jeżeli tak, to dalej jest sprawdzane, czy są elementy numerowane nazwanej tablicy: {{Code|tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2}} o nazwie {{LinkPatrz|nazwa_obiektu}}, a jeżeli jest pusta - na samym końcu jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, czyli jest inicjowana na wartość {{Code|true}}, to dalej jest sprawdzane, czy dla elementów: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy dana książka jest poza zakresem obsługiwanym, czyli rewidowane jest, czy jest ustawiony kod problemu {{Code|strony poza zakresem obsługiwanym}}, czy a jeżeli jednak nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}, ustawiające pewne elementy błędu, jeżeli trzeba to zrobić.
Gdy tabela {{LinkPatrz|tab_numer}} odpowiada nienilowej tablicy, wtedy element {{LinkPatrz|lista_dwuelementowa}} jest wstawiany na odpowiedniej pozycji, ale przeważnie nie na końcu, przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=table.insert|b=tak}}}}, dzięki określonej tabeli {{LinkPatrz|tab_numer}}, przeciwnie na jej końcu.
Funkcja zwraca element {{LinkPatrz|lista_dwuelementowa}}.
=== {{Śródtytuł|p.RozpatrywanieSzablonuObiektuDoNumeracji}}{{Code|p.RozpatrywanieSzablonuObiektuDoNumeracji}} ===
Funkcja, która uruchamia funkcję: {{LinkŚródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}, dla istniejącego uchwytu w postaci nazwanej o kluczu: {{Code|uchwyt}} {{Patrz|uchwyt}}, lub nienazwanej - w postaci numeru jego uchwytu o kluczu: {{Code|numer_numeracji}} {{Patrz|numer_numeracji}}, wsadzająca tabele z uchwytem na odpowiednią pozycję w odpowiedniej nazwanej tabeli o nazwie obiektu {{LinkPatrz|nazwa_obiektu}} w ogólnej tabeli: {{LinkPatrz|tablica_zmiennych}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}}- tabela parametrów szablonu,
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|numer_numeracji}} - jak w: {{LinkPatrz|numer_numeracji}},
* {{Code|tab_numer}} - jak w: {{LinkPatrz|tab_numer}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
== {{Śródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}{{Code|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}} ==
Funkcja sprawdza, czy dany artykuł należy do artykułów, któregoś spisu treści, a jeżeli nie, to dla stron, które nie należą do kategorii z ustawionym problemem {{Code|strony poza zakresem obsługiwanym}}, ale do nieaktualnej strony jest ustawiony problem {{Code|brak spisów treści do dołączonych stron}}. Natomiast dla aktualnej dla stron tej samej kategorii ustawiany jest problem {{Code|brak spisu treści do korzystanych stron}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== {{Śródtytuł|p.PusteParametryReferencji}}{{Code|p.PusteParametryReferencji}} ==
Funkcja sprawdza, jeśli są podane parametry szablonu stronicowego, które są w kategorii: {{lk|Szablony stronicowe}}, czyli: {{Code|nazwa_artykulu}}, ewentualnie: {{Code|nazwa_ksiazki}}, ale zawsze z: {{Code|uchwyt_obiektu}}, czy są one puste.
A jeżeli one istnieją i są takie, to są ustawione problemy typu, jeśli ich wcześniej nie ustawiono:
* {{Code|puste parametry szablonów stronicowych linkujących}} {{Patrz|puste parametry szablonów stronicowych linkujących}}, kolejno dla: {{Code|uchwyt_obiektu}}, {{Code|nazwa_artykulu}} i {{Code|nazwa_ksiazki}}, kolejno z numerami problemów: {{Code|1}}, {{Code|2}} i {{Code|3}}.
Dla obiektu o nazwie {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}.
{{Hr}}
Definicja skrótowa funkcji
<syntaxhighlight lang="lua">
function p.PusteParametryReferencji(self, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu)...end;
</syntaxhighlight>
Paraametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} {{Patrz|uchwyt_obiektu}} - uchwyt obiektu, podane w danym szablonie stronicowym,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}}.
== {{Śródtytuł|p.SzablonyReferencjiParametrowych}}{{Code|p.SzablonyReferencjiParametrowych}} ==
Funkcja z parametrów pudełkowych nazwy artykułu {{ZobaczTeż|nazwa artykułu}}: {{Code|nazwa artykułu}} {{Patrz|nazwa artykułu}} albo {{Code|1}}, gdy bezuchwytowe lub {{Code|2}}, i pełnej nazwy książki {{ZobaczTeż|pełna nazwa strony}}: {{Code|nazwa książki}} {{Patrz|nazwa książki}} albo, {{Code|2}}, gdy bezuchwytowe lub {{Code|3}}. To wszystko jest liczone z: {{LinkPatrz|tabela_parametrow_szablonu}} lub przy użyciu parametru również {{Code|bezuchwytowe}} {{Patrz|bezuchwytowe}}, gdy mamy szablon stronicowy {{lk|Szablony stronicowe}}, bezuchwytowy, wtedy {{Code|true}}, przeciwnie {{Code|false/nil}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca,bezuchwytowe)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{Code|bezuchwytowe}} - jak w: {{LinkPatrz|bezuchwytowe}}.
Funkcja obie nazwy dekoduje funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a później jest liczony adres bezwzględny z względnego dzięki: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, przy pomocy podstawy {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}}, podobnie ale wcześniej jest liczona nazwa artykułu {{linkZobaczTeż|nazwa artykułu}}, czyli: {{LinkPatrz|nazwa_artykulu}}, ale tutaj adres względny jest liczony z podstawy o ciągu pustym jako drugi parametr.
Na podstawie pełnej nazwy książki {{LinkZobaczTeż|pełna nazwa strony}}: jest liczona bardziej jej wersja pełniejsza, jeżeli to jest w ogóle możliwe z: {{Code|{{sr|#p["PełnaNazwaStronicowejKsiążki"]|p=Książkowe}}}}. A póżniej z tego wszystkiego są liczone nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, przy pomocy funkcji nazw: {{Code|{{ld2|Nazwy}}}}.
Na samym końcu funkcji są zwracane parametry nazw, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== Funkcje zbierania informacji ==
=== {{Śródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}{{Code|p.ZbieranieInformacjiStronyWoluminowychPozycji}} ===
Funkcja zbierania informacji na stronie dla szablonów stronicowych: {{lk|Szablony stronicowe}}, bezuchwytowych, gdy nie jest uruchomiony parametr: {{Code|czy_inna_wartosc_tekst}} {{Patrz|czy_inna_wartosc_tekst}}, wtedy jest wywoływana funkcja: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}, która liczy kolejne nazwy charaktertyzujące nazwy dla danego artykułu książki dla danej strony, przeciwnie parametry nazw są ściagane z: {{Code|tab_nazwy}} {{Patrz|tab_nazwy}}, ta tabela składa się numerowanych elementów, którymi są nazwy charakyteryzujące stronę.
Gdy jakaś nazwa artylułu strony została policzona, wtedy są liczone pozostałe nazwy z: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, a na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, a tuż przed nim, jeśli istnieje: {{Code|KtorySzablonMaZwracacKategorie}} {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,KtorySzablonMaZwracacKategorie,czy_inna_wartosc_tekst,tab_nazwy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_inna_wartosc_tekst}} - jak w: {{LinkPatrz|czy_inna_wartosc_tekst}},
* {{Code|tab_nazwy}} - jak w: {{LinkPatrz|tab_nazwy}}.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacji}}{{Code|p.ZbieranieKontenerowychInformacji}} ===
Funkcja do zbierania informacji, która z parametrów pudełkowych: {{Code|{{m|Pudełko}}}}, czyli: {{Code|nazwa przestrzeni nazw}} {{Patrz|nazwa przestrzeni nazw}} i {{Code|nazwa jednostki}} {{Patrz|nazwa jednostki}}, z nich są liczone parametry nazw charakteryzujące artykuł książki strony. A na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} {{Patrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,czy_szablon_pudelkowy_strony_zbiorczej,KtorySzablonMaZwracacKategorie)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} {{Patrz|czy_szablon_pudelkowy_strony_zbiorczej}} - funkcja potrzebna do funkcji zbierającej {{LinkPatrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, określającej, czy mamy szablon pudełkowy strony zbiorczej, taki jak: {{Code|{{s|StronaSubst}}}}, czy: {{Code|{{s|KsiążkaSubst}}}}, zobacz stronę: {{Code|{{lr2|Moduły/StronicowyParser/StronaSubst}}}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Gdy nie ma parametrów pudełkowych funkcja się natychmiast zakańcza, lub parametr: {{LinkPatrz|nazwa jednostki}}, jest pusta, lub nawet gdy zawierają kody wykrywane przez funkcję: {{Code|{{sr|#p.NormaWzoruKodowaniaTekstu|p=Szablonowe}}}}.
Z nazwy jednostki jest wydzielana nazwa jednostki właściwa bez nazwy nagłówka, póżniej obie nazwy są też dekodowane funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, czyli wszystko z: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}.
Z tych dwóch nazwy jest liczony adres, ewentualnie względny, który za pomocą funkcji: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, jest wyliczany adres bezwzględny.
Dalej są liczone nazwy charakteryzujące artykuł danej książki strony, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, z tego adresu strony.
Przedostatnia funkcja, która jest uruchamiana przed funkcją zbierającą jest: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}, jeśli istnieje.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacjiReferencji}}{{Code|p.ZbieranieKontenerowychInformacjiReferencji}} ===
Funkcja zbiera informacje o stronie. Na podstawie informacji o nazwie artykułu i pełnej nazwy książki liczy parametry nazw charakteryzujące artykuł, co na tej podstawiwe liczy parametry pudełkowe i wywołuje funkcję główną przez inną funkcję, też zbierającą, i zbiera informacje o artykule.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacjiReferencji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, jako parametry zwracane przez funkcję: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}. Funkcja wyznacza parametry pudełkowe {{m|Pudełko}}, tzn.: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}, na podstawie tych nazw. Funkcja na samym końcu wywołuje funkcję zbierającą dane ze strony: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}, która z kolei uruchamia potem: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
== {{Śródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}{{Code|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}} ==
Funkcja sprawdza niepoprawność nazwy strony i na podstawie tego ustawia pewne kody problemów.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,__FUNKCJA_SPRAWDZANIE)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|__FUNKCJA_SPRAWDZANIE}} {{Patrz|__FUNKCJA_SPRAWDZANIE}} - funkcja uruchamiana, jeśli jest ustawiona, na wypadek poprawności strony.
W przypadku niepoprawności strony, gdy strona modułu jest aktualna (bieżąca), wtedy sprawdzany jest kod problemu, czy jest ustawiony, tzn.: {{Code|nieprawidłowe nazwy korzystanych stron}}, przy pomocy funkcji: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli nie ma takiego, to wtedy jest uruchamiana funkcja: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}. Podobnie jest dla niekorzystanej strony, wtedy jest problem dla kodu: {{Code|nieprawidłowe nazwy stron dołączanych do stron}}.
== Zbieranie informacji o linkach ==
=== {{Śródtytuł|p.LinkowanieFinalizowaniePrac}}{{Code|p.LinkowanieFinalizowaniePrac}} ===
Funkcja wadza uchwyt obiektu, wsazujący na aktualną stronę, do pewnej strony, i ewentualnie ustawia pewne problemy, jeśli je nie ustawiono.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} {{Patrz|obiekt}} - obiekt, obsługiwany przez tą funkcję linku,
* {{Code|kod}} {{LinkPatrz|kod}} - kod obiektu dla: {{LinkPatrz|obiekt}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} - jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}},
* {{Code|czy_pobierz}} {{Patrz|czy_pobierz}} - czy to jest szablon typu {{Code|Pobierz}} {{Patrz|Pobierz}}, jak: {{s|PobierzŚródtekst}}.
Funkcja sprawdza, czy nie został ustawiony element {{Code|tablica_zmiennych.sprawdzenie_dokonane_linku}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}, a jeżeli tak, to dalej, czy nie ma elementów numerowanych przy pomocy funkcji: {{Code|{{sr|#p["CzySąElementyNumerowaneTablicy"]|p=Parametry}}}}, a jeśli również tak, to dalej jest sprawdzane, czy został ustawiony problem: {{Code|strony poza zakresem obsługiwanym}}, przy pomocy: {{Code|{{sr|#p.CzyJestTakiElementTabeliProblemu|p=StronicowyParser/Problemy}}}}, a jeżeli nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}. Na samym końcu tej instrukcji warunkowej jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}.
Dalej pod tą instrukcją warunkową, jest robione, co powiedziane zostało w prologu tego opisu tej funkcji, tzn. z wyznaczonej tablicy ze: {{LinkPatrz|tablica_zmiennych}}, a dalej z wyznaczonej następnej podtabeli o kluczu: {{LinkPatrz|nazwa_obiektu}}.
Następnie, gdy element: {{LinkPatrz|czy_pobierz}}, jest ustawiony na {{Code|true}}, wtedy dla {{LinkPatrz|uchwyt_obiektu}}, pewna tablica, jest wstawiana do tablicy: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}}, jeśli istnieje, a jeśli nie, to jest tworzona, jako tablica, wtedy też jest to robione. Tą czynnością wstawiany tabelę, do tej tablicy, czyli:
<syntaxhighlight lang="lua">
{{nazwa_obiektu,uchwyt_obiektu,},{obiekt,kod,},}
</syntaxhighlight>
=== {{Śródtytuł|p.LinkowanieInnychStron}}{{Code|p.LinkowanieInnychStron}} ===
Funkcja do sprawdzania innych stron niż aktualna, a jeżeli dana strona została już sprawdzona, to powtórnie nie jest już rewidowana. Funkcja ustawia w głównej tablicy aktualnej tabeli {{LinkPatrz|tablica_zmiennych}} pewne podtablice.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieInnychStron(self,obiekt,kod,tablica_zmiennych, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejo jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Najpierw jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, która w razie poprawności nazwy strony, czyli inaczej nazw tej strony, tzn.: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, uruchamia funkcję zdefiniowaną w nim.
{{Tab}}Ta funkcja sprawdza, czy któraś z parametrów nazw istnieje, a jeżeli nie, to dalej jest inicjowana zmienna: {{Code|tablica_zmiennych2}} {{Patrz|tablica_zmiennych2}} pustą tablicą i podobnie {{Code|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}} {{Patrz|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}}, to uruchamiana jest: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, do zbierania informacji o stronie nowej lub przebadanej (wtedy zostają zwrócone parametry z wczęsniejszego jego analizowania, jak była nowa). Funkcja zwraca trzy parametry, tzn. {{Code|tabela_listy_danych_analizy_ksiazki0}} {{Patrz|tabela_listy_danych_analizy_ksiazki0}}, {{LinkPatrz|tablica_zmiennych2}} i {{Code|czy_inna}} {{Patrz|czy_inna}}. Te parametry mogą przyjmować wartość {{Code|nil}}, lub pierwszy {{Code|0}}, drugi, to nic innego jest jak: {{LinkPatrz|tablica_zmiennych2}}, a trzeci parametr jest wtedy równy {{Code|true}}, gdy strona jest nowa, a {{Code|false}} aktualna, a gdy {{Code|nil}}, gdy np. zawartość strony nie istnieje.
Gdy parametr: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, istnieje, wtedy jest spraqdzane, czy któreś z parametrów: {{LinkPatrz|tablica_zmiennych2}} i {{LinkPatrz|czy_inna}}, nie istsnieje, wtedy ta funkcja się zakańcza.
==== {{Śródtytuł|JuzPoliczone}}{{Code|JuzPoliczone}} ====
Dla obiektów, dla których jest ustawiony parametr: {{LinkPatrz|czy_pobierz}}, co dalej w tym rozgałęzieniu instrukcji warunkiwej jest uruchamiana funkcja szablonów tekstu, czyli: {{Code|{{sr|#p.UstawianiePobierz|p=StronicowyParser/SzablonyTekstu}}}}, aby również później za pomocą innych funkcji przeanalizować również tekst w szablonach takich jak: {{s|Śródtekst}}.
Dalej jest tworzona tablica, jeśli nie istnieje, tzn. {{Code|tablica_zmiennych2.dane_juz_policzone}} {{Patrz|tablica_zmiennych2.dane_juz_policzone}}, czyli jest inicjowana pustą tablicą. Dalej jest tworzona, jeśli nie istnieje, tablica wielowymiarowa po kolei, o kluczach kolejno: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}, {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu}}, a jeżeli ta ostatnia wartość tej tablicy była wcześniej, to zwracane jest {{Code|true}}, przeciwnie {{Code|false}}, a tej ostatniej wartości tej tablicy jest przydzielana wartość {{Code|true}}.
==== Dalszy opis funkcji ====
Gdy parametr: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest równy {{Code|0}}, ale nie {{Code|nil}}, wtedy jest sprawdzane, czy artykuł został wcześniej zrewidowany według: {{LinkŚródtytuł|JuzPoliczone}}, a jeżeli tak to jest zakańczany, a gdy ten parametr taakiej wartośsci nie przyjmuje, wtedy tylko jest uruchamiana funkcja bez żadnego warunku.
{{Tab}}Następnie jest uruchamiana funkcja: {{Code|{{sr|#p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony|p=StronicowyParser/SzablonyTekstu}}}}, do przydzielenia pewnych zmiennych z {{LinkPatrz|tablica_zmiennych2}} tablicy {{LinkPatrz|tablica_zmiennych}}.
{{Tab}}Jest sprawdzane, czy dany artykuł należy do spisu, jeżeli nie to są ustawiane pewne kody problemów w tablicy problemów, tzn. {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}.
Dalej jest sprawdzane, czy podany uchwyt {{LinkPatrz|uchwyt_obiektu}}, który jest podany w szablonach linków na aktualnej stronie, czy jest tylko jeden na stronie sprawdzanej, a jeżeli nie jest tak, to jest sprawdzane, czy nie istnieje ustawiony problem: {{Code|błędy uchwytów korzystanych stron}}, funkcją: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to taki problem jest dodawany dzięki: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
{{Tab}}Uruchamiana jest dalej funkcja: {{LinkŚródtytuł|p.PusteParametryReferencji}}, do sprawdzania pustości pewnych parametrów.
{{Tab}}Gdy tabela: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest jednak równa wartości odpowiadającej fałszywej, wtedy jeśli nie istnieje problem: {{Code|błąd wewnętrzny modułu lua stronicowego parsera}}, co jest rewidowane elementem: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to dodawany jest taki problem do tabeli problemów na podstawie: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
=== {{Śródtytuł|p.GeneralneLinkowanie}}{{Code|p.GeneralneLinkowanie}} ===
Funkcja zbiera uchwyty, na aktualnej lub innej stronie, a także je analizuje w odpowiedni sposób, modyfikuje tablica aktualnego modułu, czyli: {{LinkPatrz|tablica_zmiennych}}, na podstawie poszczególnych artykułów tej książki lub innej, która zbiera raz informacje o danej stronie.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Funkcja wyznacza uchwyt z tabeli parametrów: {{LinkPatrz|tabela_parametrow_szablonu}}, o kluczu {{Code|uchwyt}} {{LinkPatrz|uchwyt}} lub {{Code|1}}, a później w kodzie jest on kompletowany funkcją: {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a następnie rozwijany w niej, a później jest dekodowany: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}.
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, wywołujac: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}.
Na samym końcu jest uruchamiana: {{LinkPatrz|KtorySzablonMaZwracacKategorie}} z parametrem o tym uchwycie, wyliczonym wcześniej.
Gdy uchwyt istnieje, ale jest pusty, wtedy uruchamia się: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, następnie: {{LinkŚródtytuł|p.PusteParametryReferencji}}, a jeśli ta wartość nie istnieje, wtedy tylko ta ostatnia funkcja.
Gdy uchwyt: {{LinkPatrz|uchwyt}}, istnieje i jest niepusty, wtedy jest wyznaczana nazwa artykułu z niej samej, lub jeśli nazwa ksiązki istnieje, tylko, wtedy ta nazwa zaczyna być pusta, przeciwnie {{Code|nil}}, wtedy mamy do czynienia ze stroną główną podręcznika.
Gdy nazwa artykułu nie istnieje, wtedy wywoływana jest: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Jeśli nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest niepusta, i gdy nazwa książki nie istnieje, wtedy są liczone parametry nazw, oprócz nazwy artykułu, bo jest policzona, więc te {{ZobaczTeż|nazwy}}: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, z parametrów charakteryzujących nazwę aktualnego artykułu, a jeśli jednak nazwa książki jest pusta, to są sprawdzane parametry w: {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Gdy nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest nieistnieje, i gdy nazwa książki {{LinkPatrz|nazwa_ksiazki}} jest niepusta, wtedy nazwa artykułu zaczyna istnieć i inicjujemy wtedy ją wartością pustą, a jeśli pusta, za zaczyna być potem generowanie kodów błędów funkcją {{LinkŚródtytuł|p.PusteParametryReferencji}}, by potem się zakończyła ta funkcja.
Przeciwnie są liczone parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, tą samą metodą, co w punkcie: {{LinkZobaczTeż|nazwy}}.
Gdy nazwy {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}} są porównywane z nazwami, którymi się przypisje jak w: {{LinkZobaczTeż|nazwy}}, wtedy uruchamiamy funkcję: {{LinkŚródtytuł|p.LinkowanieInnychStron}}, przeciwnie wtedy działają dwie funkcje uruchomione po kolei, tzn.: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
== {{Śródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}{{Code|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} ==
Funkcja służy do zbierania informacji o danej analizowanej stronie, którego główną częścią jest strona korzystana, w której gromadzą się informacji też z pozostałych.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, czy_artykul_korzystany,tablica_zmiennych,czy_szablon_pudelkowy_strony_zbiorczej)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} - jak w: {{LinkPatrz|czy_szablon_pudelkowy_strony_zbiorczej}}.
=== {{Śródtytuł|__FUNKCJA_ARTYKULU}}{{Code|__FUNKCJA_ARTYKULU}} ===
Funkcja do tworzenia tabeli artykułów z innymi parametrami wielowymiarowymi tabeli, a jeżeli owo istnieje, to te tabele są zwracane lub nowo utworzone.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}},
* {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu w książce, bez pełnej nazwy książki.
Poniżej są tworzone podtabele puste, jeśli nie zostały utworzone.
Funkcja, która w tabeli: {{Code|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, która istnieje, tworzy tabele trójwymiarową kolejno po prarametrach: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, te tabele pośrednie śą wtedy tworzone, jeśsli nieistnieją, a gdy istnieją to nie są tworzone, tylko funkcja przechodzi do dalszych.
Dalej tworzona jest podtabela, jeśli nie istnieje o nazwie {{Code|lista_podstron_woluminu}} {{Patrz|lista_podstron_woluminu}}.
Następnie generowana jest podtabela, jeśli nie istnieje, o kluczu: {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}}.
Funkcja zwraca kolejno elementy, jeśli klucz: {{LinkPatrz|nazwa_artykulu}}, istnieje, zatem:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany;
</syntaxhighlight>
Przeciwnie zwracany jest zbiór zmiennych po kolei:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki;
</syntaxhighlight>
=== {{Śródtytuł|__FUNKCJA_POBIERANIE}}{{Code|__FUNKCJA_POBIERANIE}} ===
=== {{Śródtytuł|InneInformacjePrzebneDoAnalizowanejKsiazki}}{{Code|InneInformacjePrzebneDoAnalizowanejKsiazki}} ===
==== {{Śródtytuł|__FUNKCJA_SPISU}}{{Code|__FUNKCJA_SPISU}} ====
=== {{Śródtytuł|PrzekierownieAwaryjne}}{{Code|PrzekierownieAwaryjne}} ===
=== {{Śródtytuł|StronaZbiorcza}}{{Code|StronaZbiorcza}} ===
=== {{Śródtytuł|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}}{{Code|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}} ===
=== {{Śródtytuł|GeneralnaAnalizaSzablonuStronicowegoParsera}}{{Code|GeneralnaAnalizaSzablonuStronicowegoParsera}} ===
=== {{Śródtytuł|IterowaniePoElementachTekstu}}{{Code|IterowaniePoElementachTekstu}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieNaglowek}}{{Code|KtorySzablonMaZwracacKategorieNaglowek}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieTekst}}{{Code|KtorySzablonMaZwracacKategorieTekst}} ===
=== {{Śródtytuł|CzyJestTakiProblemJakoElementTablicy}}{{Code|CzyJestTakiProblemJakoElementTablicy}} ===
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
kdlgmz2459temwd20y4qj5oksikaauf
547228
547227
2026-06-29T14:39:27Z
Persino
2851
/* {{Śródtytuł|__FUNKCJA_ARTYKULU}}{{Code|__FUNKCJA_ARTYKULU}} */
547228
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/ZbieranieDanychStron}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== Zbieranie informacji o uchwycie ==
=== {{Śródtytuł|p.UchwytyZeiBezNumeracji}}{{Code|p.UchwytyZeiBezNumeracji}} ===
Funkcja zbiera uchwyty, dla obiektów {{ZobaczTeż|p.UchwytyZeiBezNumeracji}}, bez numeracji, nie licząc obiektów tekst takich jak {{s|Śródtekst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UchwytyZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,lista_dwuelementowa,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} {{Patrz|self}} - zmiennna obiektowa modułu {{Code|{{ld2|StronicowyParser/ZbieranieDanychStron}}}} {{Patrz|StronicowyParser/ZbieranieDanychStron}},
* {{Code|tabela_elementow_strony_kodow}} {{Patrz|tabela_elementow_strony_kodow}} - zmienna zbierająca takie kody jak {{LinkZobaczTeż|p.UchwytyZeiBezNumeracji}},
* {{Code|nazwa_obiektu}} {{Patrz|nazwa obiektu}} - nazwa obiektu,
* {{Code|lista_dwuelementowa}} {{Patrz|lista_dwuelementowa}} - pozycja w normalnej tabeli uchwytów i przeważnie ich numeracji, a tutaj dla tego obiektu,
* {{Code|kod}} {{Patrz|kod}} - numer kodu dla tego obiektu.
Funkcja zbiera elementy {{LinkPatrz|lista_dwuelementowa}} w tablicy wielowymiarowej o pierwszym elemencie wymiaru {{LinkPatrz|nazwa obiektu}} i trzecim {{LinkPatrz|kod}}, oraz o drugim {{Code|uchwyty_bez_numeracji}} {{Patrz|uchwyty_bez_numeracji}}.
=== {{Śródtytuł|p.WydobywanieUchwytuZeiBezNumeracji}}{{Code|p.WydobywanieUchwytuZeiBezNumeracji}} ===
Funkcja wydowywa tablicę uchwytu dla pozycji, ale nie sam uchwyt, dla podtablicy {{LinkPatrz|uchwyty_bez_numeracji}} o danym kodzie {{LinkPatrz|kod}}, dla nazwy obiektu {{LinkPatrz|nazwa_obiektu}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.WydobywanieUchwytuZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_elementow_strony_kodow}} - jak w: {{LinkPatrz|tabela_elementow_strony_kodow}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}}.
Funkcja wykorzystuje elementy tablicy: {{LinkPatrz|uchwyty_bez_numeracji}}, wstawione przez funkcję: {{LinkŚródtytuł|p.UchwytyZeiBezNumeracji}}.
=== {{Śródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}{{Code|p.RozpatrywanieElementuUchwytuNumeracji}} ===
Funkcja wsadzająca utworzoną tablicę z podanym uchwytem do ogólnej tablicy pozycji nazwanych tabel z uchwytami o danej pozycji z nim.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|kod_uchwytu}} {{Patrz|kod_uchwytu}} - kod uchwytu podanego do szablonu stronicowego z odpowiednim uchwytem,
* {{Code|tab_numer}} {{Patrz|tab_numer}} - tablica z numerkami ilości elementów w tablicy parametrów nazwanych z uchwytami, w danym elemencie analizowania strony z uchwytami i obiektami,
* {{Code|tablica_zmiennych}} {{Patrz|tablica_zmiennych}} - tablica analizowania obiektów, danej strony,
* {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} {{Patrz|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - kolejno: nazwa przestrzeni nazw, nazwa przestrzeni książki, nazwa książki i nazwa artykułu książki,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} {{Patrz|czy_artykul_korzystany}} - czy artykuł aktualny wyświetlany w przeglądarce,
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} {{Patrz|nazwa_modulu_aktualna_czy_biezaca}} - nazwa artykułu aktualna lub bieżąca,
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{Patrz|tablica_analizy_obiektow_strony_dany_modul}} - tablica bazy kodów parsowania strony,
* {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - tablica analizy poszczególnych elementów kodów, do szybszego działania skryptu,
* {{Code|KtorySzablonMaZwracacKategorie}} {{Patrz|KtorySzablonMaZwracacKategorie}} - tablica zbierająca odkodowany i rozwinięty uchwyt, do analizowania w nim zebranych kategorii, według modułu: {{Code|{{ld2|StronicowyParser/Kategorie}}}}, uruchamiana w szablonach stronicowych z funkcjami '''stronicowego parsera'''.
Funkcja rozwija {{LinkPatrz|kod_uchwytu}} funkcją {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a potem je odkodowuje przy pomocy: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a jeżeli ona nie jest pusta, to dla tego jest uruchamiana funkcja {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Tworzona jest tablica {{Code|lista_dwuelementowa}} {{LinkPatrz|lista_dwuelementowa}} z uchwytem, jako pierwszy parametr.
Jest sprawdzane, czy element {{Code|tablica_zmiennych.sprawdzenie_dokonane_obiektu}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, jest fałszywy, jeżeli tak, to dalej jest sprawdzane, czy są elementy numerowane nazwanej tablicy: {{Code|tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2}} o nazwie {{LinkPatrz|nazwa_obiektu}}, a jeżeli jest pusta - na samym końcu jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, czyli jest inicjowana na wartość {{Code|true}}, to dalej jest sprawdzane, czy dla elementów: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy dana książka jest poza zakresem obsługiwanym, czyli rewidowane jest, czy jest ustawiony kod problemu {{Code|strony poza zakresem obsługiwanym}}, czy a jeżeli jednak nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}, ustawiające pewne elementy błędu, jeżeli trzeba to zrobić.
Gdy tabela {{LinkPatrz|tab_numer}} odpowiada nienilowej tablicy, wtedy element {{LinkPatrz|lista_dwuelementowa}} jest wstawiany na odpowiedniej pozycji, ale przeważnie nie na końcu, przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=table.insert|b=tak}}}}, dzięki określonej tabeli {{LinkPatrz|tab_numer}}, przeciwnie na jej końcu.
Funkcja zwraca element {{LinkPatrz|lista_dwuelementowa}}.
=== {{Śródtytuł|p.RozpatrywanieSzablonuObiektuDoNumeracji}}{{Code|p.RozpatrywanieSzablonuObiektuDoNumeracji}} ===
Funkcja, która uruchamia funkcję: {{LinkŚródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}, dla istniejącego uchwytu w postaci nazwanej o kluczu: {{Code|uchwyt}} {{Patrz|uchwyt}}, lub nienazwanej - w postaci numeru jego uchwytu o kluczu: {{Code|numer_numeracji}} {{Patrz|numer_numeracji}}, wsadzająca tabele z uchwytem na odpowiednią pozycję w odpowiedniej nazwanej tabeli o nazwie obiektu {{LinkPatrz|nazwa_obiektu}} w ogólnej tabeli: {{LinkPatrz|tablica_zmiennych}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}}- tabela parametrów szablonu,
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|numer_numeracji}} - jak w: {{LinkPatrz|numer_numeracji}},
* {{Code|tab_numer}} - jak w: {{LinkPatrz|tab_numer}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
== {{Śródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}{{Code|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}} ==
Funkcja sprawdza, czy dany artykuł należy do artykułów, któregoś spisu treści, a jeżeli nie, to dla stron, które nie należą do kategorii z ustawionym problemem {{Code|strony poza zakresem obsługiwanym}}, ale do nieaktualnej strony jest ustawiony problem {{Code|brak spisów treści do dołączonych stron}}. Natomiast dla aktualnej dla stron tej samej kategorii ustawiany jest problem {{Code|brak spisu treści do korzystanych stron}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== {{Śródtytuł|p.PusteParametryReferencji}}{{Code|p.PusteParametryReferencji}} ==
Funkcja sprawdza, jeśli są podane parametry szablonu stronicowego, które są w kategorii: {{lk|Szablony stronicowe}}, czyli: {{Code|nazwa_artykulu}}, ewentualnie: {{Code|nazwa_ksiazki}}, ale zawsze z: {{Code|uchwyt_obiektu}}, czy są one puste.
A jeżeli one istnieją i są takie, to są ustawione problemy typu, jeśli ich wcześniej nie ustawiono:
* {{Code|puste parametry szablonów stronicowych linkujących}} {{Patrz|puste parametry szablonów stronicowych linkujących}}, kolejno dla: {{Code|uchwyt_obiektu}}, {{Code|nazwa_artykulu}} i {{Code|nazwa_ksiazki}}, kolejno z numerami problemów: {{Code|1}}, {{Code|2}} i {{Code|3}}.
Dla obiektu o nazwie {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}.
{{Hr}}
Definicja skrótowa funkcji
<syntaxhighlight lang="lua">
function p.PusteParametryReferencji(self, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu)...end;
</syntaxhighlight>
Paraametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} {{Patrz|uchwyt_obiektu}} - uchwyt obiektu, podane w danym szablonie stronicowym,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}}.
== {{Śródtytuł|p.SzablonyReferencjiParametrowych}}{{Code|p.SzablonyReferencjiParametrowych}} ==
Funkcja z parametrów pudełkowych nazwy artykułu {{ZobaczTeż|nazwa artykułu}}: {{Code|nazwa artykułu}} {{Patrz|nazwa artykułu}} albo {{Code|1}}, gdy bezuchwytowe lub {{Code|2}}, i pełnej nazwy książki {{ZobaczTeż|pełna nazwa strony}}: {{Code|nazwa książki}} {{Patrz|nazwa książki}} albo, {{Code|2}}, gdy bezuchwytowe lub {{Code|3}}. To wszystko jest liczone z: {{LinkPatrz|tabela_parametrow_szablonu}} lub przy użyciu parametru również {{Code|bezuchwytowe}} {{Patrz|bezuchwytowe}}, gdy mamy szablon stronicowy {{lk|Szablony stronicowe}}, bezuchwytowy, wtedy {{Code|true}}, przeciwnie {{Code|false/nil}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca,bezuchwytowe)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{Code|bezuchwytowe}} - jak w: {{LinkPatrz|bezuchwytowe}}.
Funkcja obie nazwy dekoduje funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a później jest liczony adres bezwzględny z względnego dzięki: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, przy pomocy podstawy {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}}, podobnie ale wcześniej jest liczona nazwa artykułu {{linkZobaczTeż|nazwa artykułu}}, czyli: {{LinkPatrz|nazwa_artykulu}}, ale tutaj adres względny jest liczony z podstawy o ciągu pustym jako drugi parametr.
Na podstawie pełnej nazwy książki {{LinkZobaczTeż|pełna nazwa strony}}: jest liczona bardziej jej wersja pełniejsza, jeżeli to jest w ogóle możliwe z: {{Code|{{sr|#p["PełnaNazwaStronicowejKsiążki"]|p=Książkowe}}}}. A póżniej z tego wszystkiego są liczone nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, przy pomocy funkcji nazw: {{Code|{{ld2|Nazwy}}}}.
Na samym końcu funkcji są zwracane parametry nazw, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== Funkcje zbierania informacji ==
=== {{Śródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}{{Code|p.ZbieranieInformacjiStronyWoluminowychPozycji}} ===
Funkcja zbierania informacji na stronie dla szablonów stronicowych: {{lk|Szablony stronicowe}}, bezuchwytowych, gdy nie jest uruchomiony parametr: {{Code|czy_inna_wartosc_tekst}} {{Patrz|czy_inna_wartosc_tekst}}, wtedy jest wywoływana funkcja: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}, która liczy kolejne nazwy charaktertyzujące nazwy dla danego artykułu książki dla danej strony, przeciwnie parametry nazw są ściagane z: {{Code|tab_nazwy}} {{Patrz|tab_nazwy}}, ta tabela składa się numerowanych elementów, którymi są nazwy charakyteryzujące stronę.
Gdy jakaś nazwa artylułu strony została policzona, wtedy są liczone pozostałe nazwy z: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, a na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, a tuż przed nim, jeśli istnieje: {{Code|KtorySzablonMaZwracacKategorie}} {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,KtorySzablonMaZwracacKategorie,czy_inna_wartosc_tekst,tab_nazwy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_inna_wartosc_tekst}} - jak w: {{LinkPatrz|czy_inna_wartosc_tekst}},
* {{Code|tab_nazwy}} - jak w: {{LinkPatrz|tab_nazwy}}.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacji}}{{Code|p.ZbieranieKontenerowychInformacji}} ===
Funkcja do zbierania informacji, która z parametrów pudełkowych: {{Code|{{m|Pudełko}}}}, czyli: {{Code|nazwa przestrzeni nazw}} {{Patrz|nazwa przestrzeni nazw}} i {{Code|nazwa jednostki}} {{Patrz|nazwa jednostki}}, z nich są liczone parametry nazw charakteryzujące artykuł książki strony. A na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} {{Patrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,czy_szablon_pudelkowy_strony_zbiorczej,KtorySzablonMaZwracacKategorie)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} {{Patrz|czy_szablon_pudelkowy_strony_zbiorczej}} - funkcja potrzebna do funkcji zbierającej {{LinkPatrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, określającej, czy mamy szablon pudełkowy strony zbiorczej, taki jak: {{Code|{{s|StronaSubst}}}}, czy: {{Code|{{s|KsiążkaSubst}}}}, zobacz stronę: {{Code|{{lr2|Moduły/StronicowyParser/StronaSubst}}}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Gdy nie ma parametrów pudełkowych funkcja się natychmiast zakańcza, lub parametr: {{LinkPatrz|nazwa jednostki}}, jest pusta, lub nawet gdy zawierają kody wykrywane przez funkcję: {{Code|{{sr|#p.NormaWzoruKodowaniaTekstu|p=Szablonowe}}}}.
Z nazwy jednostki jest wydzielana nazwa jednostki właściwa bez nazwy nagłówka, póżniej obie nazwy są też dekodowane funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, czyli wszystko z: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}.
Z tych dwóch nazwy jest liczony adres, ewentualnie względny, który za pomocą funkcji: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, jest wyliczany adres bezwzględny.
Dalej są liczone nazwy charakteryzujące artykuł danej książki strony, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, z tego adresu strony.
Przedostatnia funkcja, która jest uruchamiana przed funkcją zbierającą jest: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}, jeśli istnieje.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacjiReferencji}}{{Code|p.ZbieranieKontenerowychInformacjiReferencji}} ===
Funkcja zbiera informacje o stronie. Na podstawie informacji o nazwie artykułu i pełnej nazwy książki liczy parametry nazw charakteryzujące artykuł, co na tej podstawiwe liczy parametry pudełkowe i wywołuje funkcję główną przez inną funkcję, też zbierającą, i zbiera informacje o artykule.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacjiReferencji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, jako parametry zwracane przez funkcję: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}. Funkcja wyznacza parametry pudełkowe {{m|Pudełko}}, tzn.: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}, na podstawie tych nazw. Funkcja na samym końcu wywołuje funkcję zbierającą dane ze strony: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}, która z kolei uruchamia potem: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
== {{Śródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}{{Code|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}} ==
Funkcja sprawdza niepoprawność nazwy strony i na podstawie tego ustawia pewne kody problemów.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,__FUNKCJA_SPRAWDZANIE)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|__FUNKCJA_SPRAWDZANIE}} {{Patrz|__FUNKCJA_SPRAWDZANIE}} - funkcja uruchamiana, jeśli jest ustawiona, na wypadek poprawności strony.
W przypadku niepoprawności strony, gdy strona modułu jest aktualna (bieżąca), wtedy sprawdzany jest kod problemu, czy jest ustawiony, tzn.: {{Code|nieprawidłowe nazwy korzystanych stron}}, przy pomocy funkcji: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli nie ma takiego, to wtedy jest uruchamiana funkcja: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}. Podobnie jest dla niekorzystanej strony, wtedy jest problem dla kodu: {{Code|nieprawidłowe nazwy stron dołączanych do stron}}.
== Zbieranie informacji o linkach ==
=== {{Śródtytuł|p.LinkowanieFinalizowaniePrac}}{{Code|p.LinkowanieFinalizowaniePrac}} ===
Funkcja wadza uchwyt obiektu, wsazujący na aktualną stronę, do pewnej strony, i ewentualnie ustawia pewne problemy, jeśli je nie ustawiono.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} {{Patrz|obiekt}} - obiekt, obsługiwany przez tą funkcję linku,
* {{Code|kod}} {{LinkPatrz|kod}} - kod obiektu dla: {{LinkPatrz|obiekt}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} - jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}},
* {{Code|czy_pobierz}} {{Patrz|czy_pobierz}} - czy to jest szablon typu {{Code|Pobierz}} {{Patrz|Pobierz}}, jak: {{s|PobierzŚródtekst}}.
Funkcja sprawdza, czy nie został ustawiony element {{Code|tablica_zmiennych.sprawdzenie_dokonane_linku}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}, a jeżeli tak, to dalej, czy nie ma elementów numerowanych przy pomocy funkcji: {{Code|{{sr|#p["CzySąElementyNumerowaneTablicy"]|p=Parametry}}}}, a jeśli również tak, to dalej jest sprawdzane, czy został ustawiony problem: {{Code|strony poza zakresem obsługiwanym}}, przy pomocy: {{Code|{{sr|#p.CzyJestTakiElementTabeliProblemu|p=StronicowyParser/Problemy}}}}, a jeżeli nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}. Na samym końcu tej instrukcji warunkowej jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}.
Dalej pod tą instrukcją warunkową, jest robione, co powiedziane zostało w prologu tego opisu tej funkcji, tzn. z wyznaczonej tablicy ze: {{LinkPatrz|tablica_zmiennych}}, a dalej z wyznaczonej następnej podtabeli o kluczu: {{LinkPatrz|nazwa_obiektu}}.
Następnie, gdy element: {{LinkPatrz|czy_pobierz}}, jest ustawiony na {{Code|true}}, wtedy dla {{LinkPatrz|uchwyt_obiektu}}, pewna tablica, jest wstawiana do tablicy: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}}, jeśli istnieje, a jeśli nie, to jest tworzona, jako tablica, wtedy też jest to robione. Tą czynnością wstawiany tabelę, do tej tablicy, czyli:
<syntaxhighlight lang="lua">
{{nazwa_obiektu,uchwyt_obiektu,},{obiekt,kod,},}
</syntaxhighlight>
=== {{Śródtytuł|p.LinkowanieInnychStron}}{{Code|p.LinkowanieInnychStron}} ===
Funkcja do sprawdzania innych stron niż aktualna, a jeżeli dana strona została już sprawdzona, to powtórnie nie jest już rewidowana. Funkcja ustawia w głównej tablicy aktualnej tabeli {{LinkPatrz|tablica_zmiennych}} pewne podtablice.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieInnychStron(self,obiekt,kod,tablica_zmiennych, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejo jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Najpierw jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, która w razie poprawności nazwy strony, czyli inaczej nazw tej strony, tzn.: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, uruchamia funkcję zdefiniowaną w nim.
{{Tab}}Ta funkcja sprawdza, czy któraś z parametrów nazw istnieje, a jeżeli nie, to dalej jest inicjowana zmienna: {{Code|tablica_zmiennych2}} {{Patrz|tablica_zmiennych2}} pustą tablicą i podobnie {{Code|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}} {{Patrz|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}}, to uruchamiana jest: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, do zbierania informacji o stronie nowej lub przebadanej (wtedy zostają zwrócone parametry z wczęsniejszego jego analizowania, jak była nowa). Funkcja zwraca trzy parametry, tzn. {{Code|tabela_listy_danych_analizy_ksiazki0}} {{Patrz|tabela_listy_danych_analizy_ksiazki0}}, {{LinkPatrz|tablica_zmiennych2}} i {{Code|czy_inna}} {{Patrz|czy_inna}}. Te parametry mogą przyjmować wartość {{Code|nil}}, lub pierwszy {{Code|0}}, drugi, to nic innego jest jak: {{LinkPatrz|tablica_zmiennych2}}, a trzeci parametr jest wtedy równy {{Code|true}}, gdy strona jest nowa, a {{Code|false}} aktualna, a gdy {{Code|nil}}, gdy np. zawartość strony nie istnieje.
Gdy parametr: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, istnieje, wtedy jest spraqdzane, czy któreś z parametrów: {{LinkPatrz|tablica_zmiennych2}} i {{LinkPatrz|czy_inna}}, nie istsnieje, wtedy ta funkcja się zakańcza.
==== {{Śródtytuł|JuzPoliczone}}{{Code|JuzPoliczone}} ====
Dla obiektów, dla których jest ustawiony parametr: {{LinkPatrz|czy_pobierz}}, co dalej w tym rozgałęzieniu instrukcji warunkiwej jest uruchamiana funkcja szablonów tekstu, czyli: {{Code|{{sr|#p.UstawianiePobierz|p=StronicowyParser/SzablonyTekstu}}}}, aby również później za pomocą innych funkcji przeanalizować również tekst w szablonach takich jak: {{s|Śródtekst}}.
Dalej jest tworzona tablica, jeśli nie istnieje, tzn. {{Code|tablica_zmiennych2.dane_juz_policzone}} {{Patrz|tablica_zmiennych2.dane_juz_policzone}}, czyli jest inicjowana pustą tablicą. Dalej jest tworzona, jeśli nie istnieje, tablica wielowymiarowa po kolei, o kluczach kolejno: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}, {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu}}, a jeżeli ta ostatnia wartość tej tablicy była wcześniej, to zwracane jest {{Code|true}}, przeciwnie {{Code|false}}, a tej ostatniej wartości tej tablicy jest przydzielana wartość {{Code|true}}.
==== Dalszy opis funkcji ====
Gdy parametr: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest równy {{Code|0}}, ale nie {{Code|nil}}, wtedy jest sprawdzane, czy artykuł został wcześniej zrewidowany według: {{LinkŚródtytuł|JuzPoliczone}}, a jeżeli tak to jest zakańczany, a gdy ten parametr taakiej wartośsci nie przyjmuje, wtedy tylko jest uruchamiana funkcja bez żadnego warunku.
{{Tab}}Następnie jest uruchamiana funkcja: {{Code|{{sr|#p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony|p=StronicowyParser/SzablonyTekstu}}}}, do przydzielenia pewnych zmiennych z {{LinkPatrz|tablica_zmiennych2}} tablicy {{LinkPatrz|tablica_zmiennych}}.
{{Tab}}Jest sprawdzane, czy dany artykuł należy do spisu, jeżeli nie to są ustawiane pewne kody problemów w tablicy problemów, tzn. {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}.
Dalej jest sprawdzane, czy podany uchwyt {{LinkPatrz|uchwyt_obiektu}}, który jest podany w szablonach linków na aktualnej stronie, czy jest tylko jeden na stronie sprawdzanej, a jeżeli nie jest tak, to jest sprawdzane, czy nie istnieje ustawiony problem: {{Code|błędy uchwytów korzystanych stron}}, funkcją: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to taki problem jest dodawany dzięki: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
{{Tab}}Uruchamiana jest dalej funkcja: {{LinkŚródtytuł|p.PusteParametryReferencji}}, do sprawdzania pustości pewnych parametrów.
{{Tab}}Gdy tabela: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest jednak równa wartości odpowiadającej fałszywej, wtedy jeśli nie istnieje problem: {{Code|błąd wewnętrzny modułu lua stronicowego parsera}}, co jest rewidowane elementem: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to dodawany jest taki problem do tabeli problemów na podstawie: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
=== {{Śródtytuł|p.GeneralneLinkowanie}}{{Code|p.GeneralneLinkowanie}} ===
Funkcja zbiera uchwyty, na aktualnej lub innej stronie, a także je analizuje w odpowiedni sposób, modyfikuje tablica aktualnego modułu, czyli: {{LinkPatrz|tablica_zmiennych}}, na podstawie poszczególnych artykułów tej książki lub innej, która zbiera raz informacje o danej stronie.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Funkcja wyznacza uchwyt z tabeli parametrów: {{LinkPatrz|tabela_parametrow_szablonu}}, o kluczu {{Code|uchwyt}} {{LinkPatrz|uchwyt}} lub {{Code|1}}, a później w kodzie jest on kompletowany funkcją: {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a następnie rozwijany w niej, a później jest dekodowany: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}.
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, wywołujac: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}.
Na samym końcu jest uruchamiana: {{LinkPatrz|KtorySzablonMaZwracacKategorie}} z parametrem o tym uchwycie, wyliczonym wcześniej.
Gdy uchwyt istnieje, ale jest pusty, wtedy uruchamia się: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, następnie: {{LinkŚródtytuł|p.PusteParametryReferencji}}, a jeśli ta wartość nie istnieje, wtedy tylko ta ostatnia funkcja.
Gdy uchwyt: {{LinkPatrz|uchwyt}}, istnieje i jest niepusty, wtedy jest wyznaczana nazwa artykułu z niej samej, lub jeśli nazwa ksiązki istnieje, tylko, wtedy ta nazwa zaczyna być pusta, przeciwnie {{Code|nil}}, wtedy mamy do czynienia ze stroną główną podręcznika.
Gdy nazwa artykułu nie istnieje, wtedy wywoływana jest: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Jeśli nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest niepusta, i gdy nazwa książki nie istnieje, wtedy są liczone parametry nazw, oprócz nazwy artykułu, bo jest policzona, więc te {{ZobaczTeż|nazwy}}: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, z parametrów charakteryzujących nazwę aktualnego artykułu, a jeśli jednak nazwa książki jest pusta, to są sprawdzane parametry w: {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Gdy nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest nieistnieje, i gdy nazwa książki {{LinkPatrz|nazwa_ksiazki}} jest niepusta, wtedy nazwa artykułu zaczyna istnieć i inicjujemy wtedy ją wartością pustą, a jeśli pusta, za zaczyna być potem generowanie kodów błędów funkcją {{LinkŚródtytuł|p.PusteParametryReferencji}}, by potem się zakończyła ta funkcja.
Przeciwnie są liczone parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, tą samą metodą, co w punkcie: {{LinkZobaczTeż|nazwy}}.
Gdy nazwy {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}} są porównywane z nazwami, którymi się przypisje jak w: {{LinkZobaczTeż|nazwy}}, wtedy uruchamiamy funkcję: {{LinkŚródtytuł|p.LinkowanieInnychStron}}, przeciwnie wtedy działają dwie funkcje uruchomione po kolei, tzn.: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
== {{Śródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}{{Code|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} ==
Funkcja służy do zbierania informacji o danej analizowanej stronie, którego główną częścią jest strona korzystana, w której gromadzą się informacji też z pozostałych.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, czy_artykul_korzystany,tablica_zmiennych,czy_szablon_pudelkowy_strony_zbiorczej)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} - jak w: {{LinkPatrz|czy_szablon_pudelkowy_strony_zbiorczej}}.
=== {{Śródtytuł|__FUNKCJA_ARTYKULU}}{{Code|__FUNKCJA_ARTYKULU}} ===
Funkcja do tworzenia tabeli artykułów z innymi parametrami wielowymiarowymi tabeli, a jeżeli owo istnieje, to te tabele są zwracane lub nowo utworzone.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}},
* {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu w książce, bez pełnej nazwy książki.
Poniżej są tworzone podtabele puste, jeśli nie zostały utworzone.
Funkcja, która w tabeli: {{Code|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, która istnieje, tworzy tabele trójwymiarową kolejno po prarametrach: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, te tabele pośrednie śą wtedy tworzone, jeśsli nieistnieją, a gdy istnieją to nie są tworzone, tylko funkcja przechodzi do dalszych.
Dalej tworzona jest podtabela, jeśli nie istnieje o nazwie {{Code|lista_podstron_woluminu}} {{Patrz|lista_podstron_woluminu}}.
Następnie generowana jest podtabela, jeśli nie istnieje, o kluczu: {{LinkPatrz|nazwa_artykulu}}.
Funkcja zwraca kolejno elementy, jeśli klucz: {{LinkPatrz|nazwa_artykulu}}, istnieje, zatem:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany;
</syntaxhighlight>
Przeciwnie zwracany jest zbiór zmiennych po kolei:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki;
</syntaxhighlight>
=== {{Śródtytuł|__FUNKCJA_POBIERANIE}}{{Code|__FUNKCJA_POBIERANIE}} ===
=== {{Śródtytuł|InneInformacjePrzebneDoAnalizowanejKsiazki}}{{Code|InneInformacjePrzebneDoAnalizowanejKsiazki}} ===
==== {{Śródtytuł|__FUNKCJA_SPISU}}{{Code|__FUNKCJA_SPISU}} ====
=== {{Śródtytuł|PrzekierownieAwaryjne}}{{Code|PrzekierownieAwaryjne}} ===
=== {{Śródtytuł|StronaZbiorcza}}{{Code|StronaZbiorcza}} ===
=== {{Śródtytuł|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}}{{Code|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}} ===
=== {{Śródtytuł|GeneralnaAnalizaSzablonuStronicowegoParsera}}{{Code|GeneralnaAnalizaSzablonuStronicowegoParsera}} ===
=== {{Śródtytuł|IterowaniePoElementachTekstu}}{{Code|IterowaniePoElementachTekstu}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieNaglowek}}{{Code|KtorySzablonMaZwracacKategorieNaglowek}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieTekst}}{{Code|KtorySzablonMaZwracacKategorieTekst}} ===
=== {{Śródtytuł|CzyJestTakiProblemJakoElementTablicy}}{{Code|CzyJestTakiProblemJakoElementTablicy}} ===
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
erh12dblowfqpse07obkipjvlo3hbiw
547229
547228
2026-06-29T14:40:15Z
Persino
2851
/* {{Śródtytuł|__FUNKCJA_ARTYKULU}}{{Code|__FUNKCJA_ARTYKULU}} */
547229
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/ZbieranieDanychStron}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== Zbieranie informacji o uchwycie ==
=== {{Śródtytuł|p.UchwytyZeiBezNumeracji}}{{Code|p.UchwytyZeiBezNumeracji}} ===
Funkcja zbiera uchwyty, dla obiektów {{ZobaczTeż|p.UchwytyZeiBezNumeracji}}, bez numeracji, nie licząc obiektów tekst takich jak {{s|Śródtekst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UchwytyZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,lista_dwuelementowa,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} {{Patrz|self}} - zmiennna obiektowa modułu {{Code|{{ld2|StronicowyParser/ZbieranieDanychStron}}}} {{Patrz|StronicowyParser/ZbieranieDanychStron}},
* {{Code|tabela_elementow_strony_kodow}} {{Patrz|tabela_elementow_strony_kodow}} - zmienna zbierająca takie kody jak {{LinkZobaczTeż|p.UchwytyZeiBezNumeracji}},
* {{Code|nazwa_obiektu}} {{Patrz|nazwa obiektu}} - nazwa obiektu,
* {{Code|lista_dwuelementowa}} {{Patrz|lista_dwuelementowa}} - pozycja w normalnej tabeli uchwytów i przeważnie ich numeracji, a tutaj dla tego obiektu,
* {{Code|kod}} {{Patrz|kod}} - numer kodu dla tego obiektu.
Funkcja zbiera elementy {{LinkPatrz|lista_dwuelementowa}} w tablicy wielowymiarowej o pierwszym elemencie wymiaru {{LinkPatrz|nazwa obiektu}} i trzecim {{LinkPatrz|kod}}, oraz o drugim {{Code|uchwyty_bez_numeracji}} {{Patrz|uchwyty_bez_numeracji}}.
=== {{Śródtytuł|p.WydobywanieUchwytuZeiBezNumeracji}}{{Code|p.WydobywanieUchwytuZeiBezNumeracji}} ===
Funkcja wydowywa tablicę uchwytu dla pozycji, ale nie sam uchwyt, dla podtablicy {{LinkPatrz|uchwyty_bez_numeracji}} o danym kodzie {{LinkPatrz|kod}}, dla nazwy obiektu {{LinkPatrz|nazwa_obiektu}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.WydobywanieUchwytuZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_elementow_strony_kodow}} - jak w: {{LinkPatrz|tabela_elementow_strony_kodow}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}}.
Funkcja wykorzystuje elementy tablicy: {{LinkPatrz|uchwyty_bez_numeracji}}, wstawione przez funkcję: {{LinkŚródtytuł|p.UchwytyZeiBezNumeracji}}.
=== {{Śródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}{{Code|p.RozpatrywanieElementuUchwytuNumeracji}} ===
Funkcja wsadzająca utworzoną tablicę z podanym uchwytem do ogólnej tablicy pozycji nazwanych tabel z uchwytami o danej pozycji z nim.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|kod_uchwytu}} {{Patrz|kod_uchwytu}} - kod uchwytu podanego do szablonu stronicowego z odpowiednim uchwytem,
* {{Code|tab_numer}} {{Patrz|tab_numer}} - tablica z numerkami ilości elementów w tablicy parametrów nazwanych z uchwytami, w danym elemencie analizowania strony z uchwytami i obiektami,
* {{Code|tablica_zmiennych}} {{Patrz|tablica_zmiennych}} - tablica analizowania obiektów, danej strony,
* {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} {{Patrz|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - kolejno: nazwa przestrzeni nazw, nazwa przestrzeni książki, nazwa książki i nazwa artykułu książki,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} {{Patrz|czy_artykul_korzystany}} - czy artykuł aktualny wyświetlany w przeglądarce,
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} {{Patrz|nazwa_modulu_aktualna_czy_biezaca}} - nazwa artykułu aktualna lub bieżąca,
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{Patrz|tablica_analizy_obiektow_strony_dany_modul}} - tablica bazy kodów parsowania strony,
* {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - tablica analizy poszczególnych elementów kodów, do szybszego działania skryptu,
* {{Code|KtorySzablonMaZwracacKategorie}} {{Patrz|KtorySzablonMaZwracacKategorie}} - tablica zbierająca odkodowany i rozwinięty uchwyt, do analizowania w nim zebranych kategorii, według modułu: {{Code|{{ld2|StronicowyParser/Kategorie}}}}, uruchamiana w szablonach stronicowych z funkcjami '''stronicowego parsera'''.
Funkcja rozwija {{LinkPatrz|kod_uchwytu}} funkcją {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a potem je odkodowuje przy pomocy: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a jeżeli ona nie jest pusta, to dla tego jest uruchamiana funkcja {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Tworzona jest tablica {{Code|lista_dwuelementowa}} {{LinkPatrz|lista_dwuelementowa}} z uchwytem, jako pierwszy parametr.
Jest sprawdzane, czy element {{Code|tablica_zmiennych.sprawdzenie_dokonane_obiektu}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, jest fałszywy, jeżeli tak, to dalej jest sprawdzane, czy są elementy numerowane nazwanej tablicy: {{Code|tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2}} o nazwie {{LinkPatrz|nazwa_obiektu}}, a jeżeli jest pusta - na samym końcu jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, czyli jest inicjowana na wartość {{Code|true}}, to dalej jest sprawdzane, czy dla elementów: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy dana książka jest poza zakresem obsługiwanym, czyli rewidowane jest, czy jest ustawiony kod problemu {{Code|strony poza zakresem obsługiwanym}}, czy a jeżeli jednak nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}, ustawiające pewne elementy błędu, jeżeli trzeba to zrobić.
Gdy tabela {{LinkPatrz|tab_numer}} odpowiada nienilowej tablicy, wtedy element {{LinkPatrz|lista_dwuelementowa}} jest wstawiany na odpowiedniej pozycji, ale przeważnie nie na końcu, przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=table.insert|b=tak}}}}, dzięki określonej tabeli {{LinkPatrz|tab_numer}}, przeciwnie na jej końcu.
Funkcja zwraca element {{LinkPatrz|lista_dwuelementowa}}.
=== {{Śródtytuł|p.RozpatrywanieSzablonuObiektuDoNumeracji}}{{Code|p.RozpatrywanieSzablonuObiektuDoNumeracji}} ===
Funkcja, która uruchamia funkcję: {{LinkŚródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}, dla istniejącego uchwytu w postaci nazwanej o kluczu: {{Code|uchwyt}} {{Patrz|uchwyt}}, lub nienazwanej - w postaci numeru jego uchwytu o kluczu: {{Code|numer_numeracji}} {{Patrz|numer_numeracji}}, wsadzająca tabele z uchwytem na odpowiednią pozycję w odpowiedniej nazwanej tabeli o nazwie obiektu {{LinkPatrz|nazwa_obiektu}} w ogólnej tabeli: {{LinkPatrz|tablica_zmiennych}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}}- tabela parametrów szablonu,
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|numer_numeracji}} - jak w: {{LinkPatrz|numer_numeracji}},
* {{Code|tab_numer}} - jak w: {{LinkPatrz|tab_numer}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
== {{Śródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}{{Code|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}} ==
Funkcja sprawdza, czy dany artykuł należy do artykułów, któregoś spisu treści, a jeżeli nie, to dla stron, które nie należą do kategorii z ustawionym problemem {{Code|strony poza zakresem obsługiwanym}}, ale do nieaktualnej strony jest ustawiony problem {{Code|brak spisów treści do dołączonych stron}}. Natomiast dla aktualnej dla stron tej samej kategorii ustawiany jest problem {{Code|brak spisu treści do korzystanych stron}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== {{Śródtytuł|p.PusteParametryReferencji}}{{Code|p.PusteParametryReferencji}} ==
Funkcja sprawdza, jeśli są podane parametry szablonu stronicowego, które są w kategorii: {{lk|Szablony stronicowe}}, czyli: {{Code|nazwa_artykulu}}, ewentualnie: {{Code|nazwa_ksiazki}}, ale zawsze z: {{Code|uchwyt_obiektu}}, czy są one puste.
A jeżeli one istnieją i są takie, to są ustawione problemy typu, jeśli ich wcześniej nie ustawiono:
* {{Code|puste parametry szablonów stronicowych linkujących}} {{Patrz|puste parametry szablonów stronicowych linkujących}}, kolejno dla: {{Code|uchwyt_obiektu}}, {{Code|nazwa_artykulu}} i {{Code|nazwa_ksiazki}}, kolejno z numerami problemów: {{Code|1}}, {{Code|2}} i {{Code|3}}.
Dla obiektu o nazwie {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}.
{{Hr}}
Definicja skrótowa funkcji
<syntaxhighlight lang="lua">
function p.PusteParametryReferencji(self, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu)...end;
</syntaxhighlight>
Paraametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} {{Patrz|uchwyt_obiektu}} - uchwyt obiektu, podane w danym szablonie stronicowym,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}}.
== {{Śródtytuł|p.SzablonyReferencjiParametrowych}}{{Code|p.SzablonyReferencjiParametrowych}} ==
Funkcja z parametrów pudełkowych nazwy artykułu {{ZobaczTeż|nazwa artykułu}}: {{Code|nazwa artykułu}} {{Patrz|nazwa artykułu}} albo {{Code|1}}, gdy bezuchwytowe lub {{Code|2}}, i pełnej nazwy książki {{ZobaczTeż|pełna nazwa strony}}: {{Code|nazwa książki}} {{Patrz|nazwa książki}} albo, {{Code|2}}, gdy bezuchwytowe lub {{Code|3}}. To wszystko jest liczone z: {{LinkPatrz|tabela_parametrow_szablonu}} lub przy użyciu parametru również {{Code|bezuchwytowe}} {{Patrz|bezuchwytowe}}, gdy mamy szablon stronicowy {{lk|Szablony stronicowe}}, bezuchwytowy, wtedy {{Code|true}}, przeciwnie {{Code|false/nil}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca,bezuchwytowe)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{Code|bezuchwytowe}} - jak w: {{LinkPatrz|bezuchwytowe}}.
Funkcja obie nazwy dekoduje funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a później jest liczony adres bezwzględny z względnego dzięki: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, przy pomocy podstawy {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}}, podobnie ale wcześniej jest liczona nazwa artykułu {{linkZobaczTeż|nazwa artykułu}}, czyli: {{LinkPatrz|nazwa_artykulu}}, ale tutaj adres względny jest liczony z podstawy o ciągu pustym jako drugi parametr.
Na podstawie pełnej nazwy książki {{LinkZobaczTeż|pełna nazwa strony}}: jest liczona bardziej jej wersja pełniejsza, jeżeli to jest w ogóle możliwe z: {{Code|{{sr|#p["PełnaNazwaStronicowejKsiążki"]|p=Książkowe}}}}. A póżniej z tego wszystkiego są liczone nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, przy pomocy funkcji nazw: {{Code|{{ld2|Nazwy}}}}.
Na samym końcu funkcji są zwracane parametry nazw, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== Funkcje zbierania informacji ==
=== {{Śródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}{{Code|p.ZbieranieInformacjiStronyWoluminowychPozycji}} ===
Funkcja zbierania informacji na stronie dla szablonów stronicowych: {{lk|Szablony stronicowe}}, bezuchwytowych, gdy nie jest uruchomiony parametr: {{Code|czy_inna_wartosc_tekst}} {{Patrz|czy_inna_wartosc_tekst}}, wtedy jest wywoływana funkcja: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}, która liczy kolejne nazwy charaktertyzujące nazwy dla danego artykułu książki dla danej strony, przeciwnie parametry nazw są ściagane z: {{Code|tab_nazwy}} {{Patrz|tab_nazwy}}, ta tabela składa się numerowanych elementów, którymi są nazwy charakyteryzujące stronę.
Gdy jakaś nazwa artylułu strony została policzona, wtedy są liczone pozostałe nazwy z: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, a na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, a tuż przed nim, jeśli istnieje: {{Code|KtorySzablonMaZwracacKategorie}} {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,KtorySzablonMaZwracacKategorie,czy_inna_wartosc_tekst,tab_nazwy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_inna_wartosc_tekst}} - jak w: {{LinkPatrz|czy_inna_wartosc_tekst}},
* {{Code|tab_nazwy}} - jak w: {{LinkPatrz|tab_nazwy}}.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacji}}{{Code|p.ZbieranieKontenerowychInformacji}} ===
Funkcja do zbierania informacji, która z parametrów pudełkowych: {{Code|{{m|Pudełko}}}}, czyli: {{Code|nazwa przestrzeni nazw}} {{Patrz|nazwa przestrzeni nazw}} i {{Code|nazwa jednostki}} {{Patrz|nazwa jednostki}}, z nich są liczone parametry nazw charakteryzujące artykuł książki strony. A na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} {{Patrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,czy_szablon_pudelkowy_strony_zbiorczej,KtorySzablonMaZwracacKategorie)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} {{Patrz|czy_szablon_pudelkowy_strony_zbiorczej}} - funkcja potrzebna do funkcji zbierającej {{LinkPatrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, określającej, czy mamy szablon pudełkowy strony zbiorczej, taki jak: {{Code|{{s|StronaSubst}}}}, czy: {{Code|{{s|KsiążkaSubst}}}}, zobacz stronę: {{Code|{{lr2|Moduły/StronicowyParser/StronaSubst}}}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Gdy nie ma parametrów pudełkowych funkcja się natychmiast zakańcza, lub parametr: {{LinkPatrz|nazwa jednostki}}, jest pusta, lub nawet gdy zawierają kody wykrywane przez funkcję: {{Code|{{sr|#p.NormaWzoruKodowaniaTekstu|p=Szablonowe}}}}.
Z nazwy jednostki jest wydzielana nazwa jednostki właściwa bez nazwy nagłówka, póżniej obie nazwy są też dekodowane funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, czyli wszystko z: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}.
Z tych dwóch nazwy jest liczony adres, ewentualnie względny, który za pomocą funkcji: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, jest wyliczany adres bezwzględny.
Dalej są liczone nazwy charakteryzujące artykuł danej książki strony, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, z tego adresu strony.
Przedostatnia funkcja, która jest uruchamiana przed funkcją zbierającą jest: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}, jeśli istnieje.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacjiReferencji}}{{Code|p.ZbieranieKontenerowychInformacjiReferencji}} ===
Funkcja zbiera informacje o stronie. Na podstawie informacji o nazwie artykułu i pełnej nazwy książki liczy parametry nazw charakteryzujące artykuł, co na tej podstawiwe liczy parametry pudełkowe i wywołuje funkcję główną przez inną funkcję, też zbierającą, i zbiera informacje o artykule.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacjiReferencji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, jako parametry zwracane przez funkcję: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}. Funkcja wyznacza parametry pudełkowe {{m|Pudełko}}, tzn.: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}, na podstawie tych nazw. Funkcja na samym końcu wywołuje funkcję zbierającą dane ze strony: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}, która z kolei uruchamia potem: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
== {{Śródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}{{Code|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}} ==
Funkcja sprawdza niepoprawność nazwy strony i na podstawie tego ustawia pewne kody problemów.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,__FUNKCJA_SPRAWDZANIE)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|__FUNKCJA_SPRAWDZANIE}} {{Patrz|__FUNKCJA_SPRAWDZANIE}} - funkcja uruchamiana, jeśli jest ustawiona, na wypadek poprawności strony.
W przypadku niepoprawności strony, gdy strona modułu jest aktualna (bieżąca), wtedy sprawdzany jest kod problemu, czy jest ustawiony, tzn.: {{Code|nieprawidłowe nazwy korzystanych stron}}, przy pomocy funkcji: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli nie ma takiego, to wtedy jest uruchamiana funkcja: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}. Podobnie jest dla niekorzystanej strony, wtedy jest problem dla kodu: {{Code|nieprawidłowe nazwy stron dołączanych do stron}}.
== Zbieranie informacji o linkach ==
=== {{Śródtytuł|p.LinkowanieFinalizowaniePrac}}{{Code|p.LinkowanieFinalizowaniePrac}} ===
Funkcja wadza uchwyt obiektu, wsazujący na aktualną stronę, do pewnej strony, i ewentualnie ustawia pewne problemy, jeśli je nie ustawiono.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} {{Patrz|obiekt}} - obiekt, obsługiwany przez tą funkcję linku,
* {{Code|kod}} {{LinkPatrz|kod}} - kod obiektu dla: {{LinkPatrz|obiekt}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} - jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}},
* {{Code|czy_pobierz}} {{Patrz|czy_pobierz}} - czy to jest szablon typu {{Code|Pobierz}} {{Patrz|Pobierz}}, jak: {{s|PobierzŚródtekst}}.
Funkcja sprawdza, czy nie został ustawiony element {{Code|tablica_zmiennych.sprawdzenie_dokonane_linku}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}, a jeżeli tak, to dalej, czy nie ma elementów numerowanych przy pomocy funkcji: {{Code|{{sr|#p["CzySąElementyNumerowaneTablicy"]|p=Parametry}}}}, a jeśli również tak, to dalej jest sprawdzane, czy został ustawiony problem: {{Code|strony poza zakresem obsługiwanym}}, przy pomocy: {{Code|{{sr|#p.CzyJestTakiElementTabeliProblemu|p=StronicowyParser/Problemy}}}}, a jeżeli nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}. Na samym końcu tej instrukcji warunkowej jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}.
Dalej pod tą instrukcją warunkową, jest robione, co powiedziane zostało w prologu tego opisu tej funkcji, tzn. z wyznaczonej tablicy ze: {{LinkPatrz|tablica_zmiennych}}, a dalej z wyznaczonej następnej podtabeli o kluczu: {{LinkPatrz|nazwa_obiektu}}.
Następnie, gdy element: {{LinkPatrz|czy_pobierz}}, jest ustawiony na {{Code|true}}, wtedy dla {{LinkPatrz|uchwyt_obiektu}}, pewna tablica, jest wstawiana do tablicy: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}}, jeśli istnieje, a jeśli nie, to jest tworzona, jako tablica, wtedy też jest to robione. Tą czynnością wstawiany tabelę, do tej tablicy, czyli:
<syntaxhighlight lang="lua">
{{nazwa_obiektu,uchwyt_obiektu,},{obiekt,kod,},}
</syntaxhighlight>
=== {{Śródtytuł|p.LinkowanieInnychStron}}{{Code|p.LinkowanieInnychStron}} ===
Funkcja do sprawdzania innych stron niż aktualna, a jeżeli dana strona została już sprawdzona, to powtórnie nie jest już rewidowana. Funkcja ustawia w głównej tablicy aktualnej tabeli {{LinkPatrz|tablica_zmiennych}} pewne podtablice.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieInnychStron(self,obiekt,kod,tablica_zmiennych, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejo jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Najpierw jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, która w razie poprawności nazwy strony, czyli inaczej nazw tej strony, tzn.: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, uruchamia funkcję zdefiniowaną w nim.
{{Tab}}Ta funkcja sprawdza, czy któraś z parametrów nazw istnieje, a jeżeli nie, to dalej jest inicjowana zmienna: {{Code|tablica_zmiennych2}} {{Patrz|tablica_zmiennych2}} pustą tablicą i podobnie {{Code|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}} {{Patrz|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}}, to uruchamiana jest: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, do zbierania informacji o stronie nowej lub przebadanej (wtedy zostają zwrócone parametry z wczęsniejszego jego analizowania, jak była nowa). Funkcja zwraca trzy parametry, tzn. {{Code|tabela_listy_danych_analizy_ksiazki0}} {{Patrz|tabela_listy_danych_analizy_ksiazki0}}, {{LinkPatrz|tablica_zmiennych2}} i {{Code|czy_inna}} {{Patrz|czy_inna}}. Te parametry mogą przyjmować wartość {{Code|nil}}, lub pierwszy {{Code|0}}, drugi, to nic innego jest jak: {{LinkPatrz|tablica_zmiennych2}}, a trzeci parametr jest wtedy równy {{Code|true}}, gdy strona jest nowa, a {{Code|false}} aktualna, a gdy {{Code|nil}}, gdy np. zawartość strony nie istnieje.
Gdy parametr: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, istnieje, wtedy jest spraqdzane, czy któreś z parametrów: {{LinkPatrz|tablica_zmiennych2}} i {{LinkPatrz|czy_inna}}, nie istsnieje, wtedy ta funkcja się zakańcza.
==== {{Śródtytuł|JuzPoliczone}}{{Code|JuzPoliczone}} ====
Dla obiektów, dla których jest ustawiony parametr: {{LinkPatrz|czy_pobierz}}, co dalej w tym rozgałęzieniu instrukcji warunkiwej jest uruchamiana funkcja szablonów tekstu, czyli: {{Code|{{sr|#p.UstawianiePobierz|p=StronicowyParser/SzablonyTekstu}}}}, aby również później za pomocą innych funkcji przeanalizować również tekst w szablonach takich jak: {{s|Śródtekst}}.
Dalej jest tworzona tablica, jeśli nie istnieje, tzn. {{Code|tablica_zmiennych2.dane_juz_policzone}} {{Patrz|tablica_zmiennych2.dane_juz_policzone}}, czyli jest inicjowana pustą tablicą. Dalej jest tworzona, jeśli nie istnieje, tablica wielowymiarowa po kolei, o kluczach kolejno: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}, {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu}}, a jeżeli ta ostatnia wartość tej tablicy była wcześniej, to zwracane jest {{Code|true}}, przeciwnie {{Code|false}}, a tej ostatniej wartości tej tablicy jest przydzielana wartość {{Code|true}}.
==== Dalszy opis funkcji ====
Gdy parametr: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest równy {{Code|0}}, ale nie {{Code|nil}}, wtedy jest sprawdzane, czy artykuł został wcześniej zrewidowany według: {{LinkŚródtytuł|JuzPoliczone}}, a jeżeli tak to jest zakańczany, a gdy ten parametr taakiej wartośsci nie przyjmuje, wtedy tylko jest uruchamiana funkcja bez żadnego warunku.
{{Tab}}Następnie jest uruchamiana funkcja: {{Code|{{sr|#p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony|p=StronicowyParser/SzablonyTekstu}}}}, do przydzielenia pewnych zmiennych z {{LinkPatrz|tablica_zmiennych2}} tablicy {{LinkPatrz|tablica_zmiennych}}.
{{Tab}}Jest sprawdzane, czy dany artykuł należy do spisu, jeżeli nie to są ustawiane pewne kody problemów w tablicy problemów, tzn. {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}.
Dalej jest sprawdzane, czy podany uchwyt {{LinkPatrz|uchwyt_obiektu}}, który jest podany w szablonach linków na aktualnej stronie, czy jest tylko jeden na stronie sprawdzanej, a jeżeli nie jest tak, to jest sprawdzane, czy nie istnieje ustawiony problem: {{Code|błędy uchwytów korzystanych stron}}, funkcją: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to taki problem jest dodawany dzięki: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
{{Tab}}Uruchamiana jest dalej funkcja: {{LinkŚródtytuł|p.PusteParametryReferencji}}, do sprawdzania pustości pewnych parametrów.
{{Tab}}Gdy tabela: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest jednak równa wartości odpowiadającej fałszywej, wtedy jeśli nie istnieje problem: {{Code|błąd wewnętrzny modułu lua stronicowego parsera}}, co jest rewidowane elementem: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to dodawany jest taki problem do tabeli problemów na podstawie: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
=== {{Śródtytuł|p.GeneralneLinkowanie}}{{Code|p.GeneralneLinkowanie}} ===
Funkcja zbiera uchwyty, na aktualnej lub innej stronie, a także je analizuje w odpowiedni sposób, modyfikuje tablica aktualnego modułu, czyli: {{LinkPatrz|tablica_zmiennych}}, na podstawie poszczególnych artykułów tej książki lub innej, która zbiera raz informacje o danej stronie.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Funkcja wyznacza uchwyt z tabeli parametrów: {{LinkPatrz|tabela_parametrow_szablonu}}, o kluczu {{Code|uchwyt}} {{LinkPatrz|uchwyt}} lub {{Code|1}}, a później w kodzie jest on kompletowany funkcją: {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a następnie rozwijany w niej, a później jest dekodowany: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}.
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, wywołujac: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}.
Na samym końcu jest uruchamiana: {{LinkPatrz|KtorySzablonMaZwracacKategorie}} z parametrem o tym uchwycie, wyliczonym wcześniej.
Gdy uchwyt istnieje, ale jest pusty, wtedy uruchamia się: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, następnie: {{LinkŚródtytuł|p.PusteParametryReferencji}}, a jeśli ta wartość nie istnieje, wtedy tylko ta ostatnia funkcja.
Gdy uchwyt: {{LinkPatrz|uchwyt}}, istnieje i jest niepusty, wtedy jest wyznaczana nazwa artykułu z niej samej, lub jeśli nazwa ksiązki istnieje, tylko, wtedy ta nazwa zaczyna być pusta, przeciwnie {{Code|nil}}, wtedy mamy do czynienia ze stroną główną podręcznika.
Gdy nazwa artykułu nie istnieje, wtedy wywoływana jest: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Jeśli nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest niepusta, i gdy nazwa książki nie istnieje, wtedy są liczone parametry nazw, oprócz nazwy artykułu, bo jest policzona, więc te {{ZobaczTeż|nazwy}}: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, z parametrów charakteryzujących nazwę aktualnego artykułu, a jeśli jednak nazwa książki jest pusta, to są sprawdzane parametry w: {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Gdy nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest nieistnieje, i gdy nazwa książki {{LinkPatrz|nazwa_ksiazki}} jest niepusta, wtedy nazwa artykułu zaczyna istnieć i inicjujemy wtedy ją wartością pustą, a jeśli pusta, za zaczyna być potem generowanie kodów błędów funkcją {{LinkŚródtytuł|p.PusteParametryReferencji}}, by potem się zakończyła ta funkcja.
Przeciwnie są liczone parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, tą samą metodą, co w punkcie: {{LinkZobaczTeż|nazwy}}.
Gdy nazwy {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}} są porównywane z nazwami, którymi się przypisje jak w: {{LinkZobaczTeż|nazwy}}, wtedy uruchamiamy funkcję: {{LinkŚródtytuł|p.LinkowanieInnychStron}}, przeciwnie wtedy działają dwie funkcje uruchomione po kolei, tzn.: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
== {{Śródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}{{Code|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} ==
Funkcja służy do zbierania informacji o danej analizowanej stronie, którego główną częścią jest strona korzystana, w której gromadzą się informacji też z pozostałych.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, czy_artykul_korzystany,tablica_zmiennych,czy_szablon_pudelkowy_strony_zbiorczej)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} - jak w: {{LinkPatrz|czy_szablon_pudelkowy_strony_zbiorczej}}.
=== {{Śródtytuł|__FUNKCJA_ARTYKULU}}{{Code|__FUNKCJA_ARTYKULU}} ===
Funkcja do tworzenia tabeli artykułów z innymi parametrami wielowymiarowymi tabeli, a jeżeli owo istnieje, to te tabele są zwracane lub nowo utworzone.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}},
* {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu}} - nazwa artykułu w książce, bez pełnej nazwy książki.
Poniżej są tworzone podtabele puste, jeśli nie zostały utworzone.
Funkcja, która w tabeli: {{Code|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, która istnieje, tworzy tabele trójwymiarową kolejno po prarametrach: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, te tabele pośrednie śą wtedy tworzone, jeśsli nieistnieją, a gdy istnieją to nie są tworzone, tylko funkcja przechodzi do dalszych.
Dalej tworzona jest podtabela, jeśli nie istnieje o nazwie {{Code|lista_podstron_woluminu}} {{Patrz|lista_podstron_woluminu}}.
Następnie generowana jest podtabela, jeśli nie istnieje, o kluczu: {{LinkPatrz|nazwa_artykulu}}.
Funkcja zwraca kolejno elementy, jeśli klucz: {{LinkPatrz|nazwa_artykulu}}, istnieje, zatem:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany;
</syntaxhighlight>
Przeciwnie zwracany jest zbiór zmiennych po kolei:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki;
</syntaxhighlight>
=== {{Śródtytuł|__FUNKCJA_POBIERANIE}}{{Code|__FUNKCJA_POBIERANIE}} ===
=== {{Śródtytuł|InneInformacjePrzebneDoAnalizowanejKsiazki}}{{Code|InneInformacjePrzebneDoAnalizowanejKsiazki}} ===
==== {{Śródtytuł|__FUNKCJA_SPISU}}{{Code|__FUNKCJA_SPISU}} ====
=== {{Śródtytuł|PrzekierownieAwaryjne}}{{Code|PrzekierownieAwaryjne}} ===
=== {{Śródtytuł|StronaZbiorcza}}{{Code|StronaZbiorcza}} ===
=== {{Śródtytuł|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}}{{Code|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}} ===
=== {{Śródtytuł|GeneralnaAnalizaSzablonuStronicowegoParsera}}{{Code|GeneralnaAnalizaSzablonuStronicowegoParsera}} ===
=== {{Śródtytuł|IterowaniePoElementachTekstu}}{{Code|IterowaniePoElementachTekstu}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieNaglowek}}{{Code|KtorySzablonMaZwracacKategorieNaglowek}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieTekst}}{{Code|KtorySzablonMaZwracacKategorieTekst}} ===
=== {{Śródtytuł|CzyJestTakiProblemJakoElementTablicy}}{{Code|CzyJestTakiProblemJakoElementTablicy}} ===
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
6md7hf2ns50v3a29f3lwe59b73dvvc8
547230
547229
2026-06-29T14:41:12Z
Persino
2851
/* {{Śródtytuł|__FUNKCJA_ARTYKULU}}{{Code|__FUNKCJA_ARTYKULU}} */
547230
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/ZbieranieDanychStron}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== Zbieranie informacji o uchwycie ==
=== {{Śródtytuł|p.UchwytyZeiBezNumeracji}}{{Code|p.UchwytyZeiBezNumeracji}} ===
Funkcja zbiera uchwyty, dla obiektów {{ZobaczTeż|p.UchwytyZeiBezNumeracji}}, bez numeracji, nie licząc obiektów tekst takich jak {{s|Śródtekst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UchwytyZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,lista_dwuelementowa,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} {{Patrz|self}} - zmiennna obiektowa modułu {{Code|{{ld2|StronicowyParser/ZbieranieDanychStron}}}} {{Patrz|StronicowyParser/ZbieranieDanychStron}},
* {{Code|tabela_elementow_strony_kodow}} {{Patrz|tabela_elementow_strony_kodow}} - zmienna zbierająca takie kody jak {{LinkZobaczTeż|p.UchwytyZeiBezNumeracji}},
* {{Code|nazwa_obiektu}} {{Patrz|nazwa obiektu}} - nazwa obiektu,
* {{Code|lista_dwuelementowa}} {{Patrz|lista_dwuelementowa}} - pozycja w normalnej tabeli uchwytów i przeważnie ich numeracji, a tutaj dla tego obiektu,
* {{Code|kod}} {{Patrz|kod}} - numer kodu dla tego obiektu.
Funkcja zbiera elementy {{LinkPatrz|lista_dwuelementowa}} w tablicy wielowymiarowej o pierwszym elemencie wymiaru {{LinkPatrz|nazwa obiektu}} i trzecim {{LinkPatrz|kod}}, oraz o drugim {{Code|uchwyty_bez_numeracji}} {{Patrz|uchwyty_bez_numeracji}}.
=== {{Śródtytuł|p.WydobywanieUchwytuZeiBezNumeracji}}{{Code|p.WydobywanieUchwytuZeiBezNumeracji}} ===
Funkcja wydowywa tablicę uchwytu dla pozycji, ale nie sam uchwyt, dla podtablicy {{LinkPatrz|uchwyty_bez_numeracji}} o danym kodzie {{LinkPatrz|kod}}, dla nazwy obiektu {{LinkPatrz|nazwa_obiektu}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.WydobywanieUchwytuZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_elementow_strony_kodow}} - jak w: {{LinkPatrz|tabela_elementow_strony_kodow}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}}.
Funkcja wykorzystuje elementy tablicy: {{LinkPatrz|uchwyty_bez_numeracji}}, wstawione przez funkcję: {{LinkŚródtytuł|p.UchwytyZeiBezNumeracji}}.
=== {{Śródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}{{Code|p.RozpatrywanieElementuUchwytuNumeracji}} ===
Funkcja wsadzająca utworzoną tablicę z podanym uchwytem do ogólnej tablicy pozycji nazwanych tabel z uchwytami o danej pozycji z nim.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|kod_uchwytu}} {{Patrz|kod_uchwytu}} - kod uchwytu podanego do szablonu stronicowego z odpowiednim uchwytem,
* {{Code|tab_numer}} {{Patrz|tab_numer}} - tablica z numerkami ilości elementów w tablicy parametrów nazwanych z uchwytami, w danym elemencie analizowania strony z uchwytami i obiektami,
* {{Code|tablica_zmiennych}} {{Patrz|tablica_zmiennych}} - tablica analizowania obiektów, danej strony,
* {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} {{Patrz|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - kolejno: nazwa przestrzeni nazw, nazwa przestrzeni książki, nazwa książki i nazwa artykułu książki,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} {{Patrz|czy_artykul_korzystany}} - czy artykuł aktualny wyświetlany w przeglądarce,
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} {{Patrz|nazwa_modulu_aktualna_czy_biezaca}} - nazwa artykułu aktualna lub bieżąca,
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{Patrz|tablica_analizy_obiektow_strony_dany_modul}} - tablica bazy kodów parsowania strony,
* {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - tablica analizy poszczególnych elementów kodów, do szybszego działania skryptu,
* {{Code|KtorySzablonMaZwracacKategorie}} {{Patrz|KtorySzablonMaZwracacKategorie}} - tablica zbierająca odkodowany i rozwinięty uchwyt, do analizowania w nim zebranych kategorii, według modułu: {{Code|{{ld2|StronicowyParser/Kategorie}}}}, uruchamiana w szablonach stronicowych z funkcjami '''stronicowego parsera'''.
Funkcja rozwija {{LinkPatrz|kod_uchwytu}} funkcją {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a potem je odkodowuje przy pomocy: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a jeżeli ona nie jest pusta, to dla tego jest uruchamiana funkcja {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Tworzona jest tablica {{Code|lista_dwuelementowa}} {{LinkPatrz|lista_dwuelementowa}} z uchwytem, jako pierwszy parametr.
Jest sprawdzane, czy element {{Code|tablica_zmiennych.sprawdzenie_dokonane_obiektu}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, jest fałszywy, jeżeli tak, to dalej jest sprawdzane, czy są elementy numerowane nazwanej tablicy: {{Code|tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2}} o nazwie {{LinkPatrz|nazwa_obiektu}}, a jeżeli jest pusta - na samym końcu jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, czyli jest inicjowana na wartość {{Code|true}}, to dalej jest sprawdzane, czy dla elementów: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy dana książka jest poza zakresem obsługiwanym, czyli rewidowane jest, czy jest ustawiony kod problemu {{Code|strony poza zakresem obsługiwanym}}, czy a jeżeli jednak nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}, ustawiające pewne elementy błędu, jeżeli trzeba to zrobić.
Gdy tabela {{LinkPatrz|tab_numer}} odpowiada nienilowej tablicy, wtedy element {{LinkPatrz|lista_dwuelementowa}} jest wstawiany na odpowiedniej pozycji, ale przeważnie nie na końcu, przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=table.insert|b=tak}}}}, dzięki określonej tabeli {{LinkPatrz|tab_numer}}, przeciwnie na jej końcu.
Funkcja zwraca element {{LinkPatrz|lista_dwuelementowa}}.
=== {{Śródtytuł|p.RozpatrywanieSzablonuObiektuDoNumeracji}}{{Code|p.RozpatrywanieSzablonuObiektuDoNumeracji}} ===
Funkcja, która uruchamia funkcję: {{LinkŚródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}, dla istniejącego uchwytu w postaci nazwanej o kluczu: {{Code|uchwyt}} {{Patrz|uchwyt}}, lub nienazwanej - w postaci numeru jego uchwytu o kluczu: {{Code|numer_numeracji}} {{Patrz|numer_numeracji}}, wsadzająca tabele z uchwytem na odpowiednią pozycję w odpowiedniej nazwanej tabeli o nazwie obiektu {{LinkPatrz|nazwa_obiektu}} w ogólnej tabeli: {{LinkPatrz|tablica_zmiennych}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}}- tabela parametrów szablonu,
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|numer_numeracji}} - jak w: {{LinkPatrz|numer_numeracji}},
* {{Code|tab_numer}} - jak w: {{LinkPatrz|tab_numer}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
== {{Śródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}{{Code|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}} ==
Funkcja sprawdza, czy dany artykuł należy do artykułów, któregoś spisu treści, a jeżeli nie, to dla stron, które nie należą do kategorii z ustawionym problemem {{Code|strony poza zakresem obsługiwanym}}, ale do nieaktualnej strony jest ustawiony problem {{Code|brak spisów treści do dołączonych stron}}. Natomiast dla aktualnej dla stron tej samej kategorii ustawiany jest problem {{Code|brak spisu treści do korzystanych stron}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== {{Śródtytuł|p.PusteParametryReferencji}}{{Code|p.PusteParametryReferencji}} ==
Funkcja sprawdza, jeśli są podane parametry szablonu stronicowego, które są w kategorii: {{lk|Szablony stronicowe}}, czyli: {{Code|nazwa_artykulu}}, ewentualnie: {{Code|nazwa_ksiazki}}, ale zawsze z: {{Code|uchwyt_obiektu}}, czy są one puste.
A jeżeli one istnieją i są takie, to są ustawione problemy typu, jeśli ich wcześniej nie ustawiono:
* {{Code|puste parametry szablonów stronicowych linkujących}} {{Patrz|puste parametry szablonów stronicowych linkujących}}, kolejno dla: {{Code|uchwyt_obiektu}}, {{Code|nazwa_artykulu}} i {{Code|nazwa_ksiazki}}, kolejno z numerami problemów: {{Code|1}}, {{Code|2}} i {{Code|3}}.
Dla obiektu o nazwie {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}.
{{Hr}}
Definicja skrótowa funkcji
<syntaxhighlight lang="lua">
function p.PusteParametryReferencji(self, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu)...end;
</syntaxhighlight>
Paraametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} {{Patrz|uchwyt_obiektu}} - uchwyt obiektu, podane w danym szablonie stronicowym,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}}.
== {{Śródtytuł|p.SzablonyReferencjiParametrowych}}{{Code|p.SzablonyReferencjiParametrowych}} ==
Funkcja z parametrów pudełkowych nazwy artykułu {{ZobaczTeż|nazwa artykułu}}: {{Code|nazwa artykułu}} {{Patrz|nazwa artykułu}} albo {{Code|1}}, gdy bezuchwytowe lub {{Code|2}}, i pełnej nazwy książki {{ZobaczTeż|pełna nazwa strony}}: {{Code|nazwa książki}} {{Patrz|nazwa książki}} albo, {{Code|2}}, gdy bezuchwytowe lub {{Code|3}}. To wszystko jest liczone z: {{LinkPatrz|tabela_parametrow_szablonu}} lub przy użyciu parametru również {{Code|bezuchwytowe}} {{Patrz|bezuchwytowe}}, gdy mamy szablon stronicowy {{lk|Szablony stronicowe}}, bezuchwytowy, wtedy {{Code|true}}, przeciwnie {{Code|false/nil}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca,bezuchwytowe)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{Code|bezuchwytowe}} - jak w: {{LinkPatrz|bezuchwytowe}}.
Funkcja obie nazwy dekoduje funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a później jest liczony adres bezwzględny z względnego dzięki: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, przy pomocy podstawy {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}}, podobnie ale wcześniej jest liczona nazwa artykułu {{linkZobaczTeż|nazwa artykułu}}, czyli: {{LinkPatrz|nazwa_artykulu}}, ale tutaj adres względny jest liczony z podstawy o ciągu pustym jako drugi parametr.
Na podstawie pełnej nazwy książki {{LinkZobaczTeż|pełna nazwa strony}}: jest liczona bardziej jej wersja pełniejsza, jeżeli to jest w ogóle możliwe z: {{Code|{{sr|#p["PełnaNazwaStronicowejKsiążki"]|p=Książkowe}}}}. A póżniej z tego wszystkiego są liczone nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, przy pomocy funkcji nazw: {{Code|{{ld2|Nazwy}}}}.
Na samym końcu funkcji są zwracane parametry nazw, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== Funkcje zbierania informacji ==
=== {{Śródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}{{Code|p.ZbieranieInformacjiStronyWoluminowychPozycji}} ===
Funkcja zbierania informacji na stronie dla szablonów stronicowych: {{lk|Szablony stronicowe}}, bezuchwytowych, gdy nie jest uruchomiony parametr: {{Code|czy_inna_wartosc_tekst}} {{Patrz|czy_inna_wartosc_tekst}}, wtedy jest wywoływana funkcja: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}, która liczy kolejne nazwy charaktertyzujące nazwy dla danego artykułu książki dla danej strony, przeciwnie parametry nazw są ściagane z: {{Code|tab_nazwy}} {{Patrz|tab_nazwy}}, ta tabela składa się numerowanych elementów, którymi są nazwy charakyteryzujące stronę.
Gdy jakaś nazwa artylułu strony została policzona, wtedy są liczone pozostałe nazwy z: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, a na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, a tuż przed nim, jeśli istnieje: {{Code|KtorySzablonMaZwracacKategorie}} {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,KtorySzablonMaZwracacKategorie,czy_inna_wartosc_tekst,tab_nazwy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_inna_wartosc_tekst}} - jak w: {{LinkPatrz|czy_inna_wartosc_tekst}},
* {{Code|tab_nazwy}} - jak w: {{LinkPatrz|tab_nazwy}}.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacji}}{{Code|p.ZbieranieKontenerowychInformacji}} ===
Funkcja do zbierania informacji, która z parametrów pudełkowych: {{Code|{{m|Pudełko}}}}, czyli: {{Code|nazwa przestrzeni nazw}} {{Patrz|nazwa przestrzeni nazw}} i {{Code|nazwa jednostki}} {{Patrz|nazwa jednostki}}, z nich są liczone parametry nazw charakteryzujące artykuł książki strony. A na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} {{Patrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,czy_szablon_pudelkowy_strony_zbiorczej,KtorySzablonMaZwracacKategorie)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} {{Patrz|czy_szablon_pudelkowy_strony_zbiorczej}} - funkcja potrzebna do funkcji zbierającej {{LinkPatrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, określającej, czy mamy szablon pudełkowy strony zbiorczej, taki jak: {{Code|{{s|StronaSubst}}}}, czy: {{Code|{{s|KsiążkaSubst}}}}, zobacz stronę: {{Code|{{lr2|Moduły/StronicowyParser/StronaSubst}}}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Gdy nie ma parametrów pudełkowych funkcja się natychmiast zakańcza, lub parametr: {{LinkPatrz|nazwa jednostki}}, jest pusta, lub nawet gdy zawierają kody wykrywane przez funkcję: {{Code|{{sr|#p.NormaWzoruKodowaniaTekstu|p=Szablonowe}}}}.
Z nazwy jednostki jest wydzielana nazwa jednostki właściwa bez nazwy nagłówka, póżniej obie nazwy są też dekodowane funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, czyli wszystko z: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}.
Z tych dwóch nazwy jest liczony adres, ewentualnie względny, który za pomocą funkcji: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, jest wyliczany adres bezwzględny.
Dalej są liczone nazwy charakteryzujące artykuł danej książki strony, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, z tego adresu strony.
Przedostatnia funkcja, która jest uruchamiana przed funkcją zbierającą jest: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}, jeśli istnieje.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacjiReferencji}}{{Code|p.ZbieranieKontenerowychInformacjiReferencji}} ===
Funkcja zbiera informacje o stronie. Na podstawie informacji o nazwie artykułu i pełnej nazwy książki liczy parametry nazw charakteryzujące artykuł, co na tej podstawiwe liczy parametry pudełkowe i wywołuje funkcję główną przez inną funkcję, też zbierającą, i zbiera informacje o artykule.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacjiReferencji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, jako parametry zwracane przez funkcję: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}. Funkcja wyznacza parametry pudełkowe {{m|Pudełko}}, tzn.: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}, na podstawie tych nazw. Funkcja na samym końcu wywołuje funkcję zbierającą dane ze strony: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}, która z kolei uruchamia potem: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
== {{Śródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}{{Code|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}} ==
Funkcja sprawdza niepoprawność nazwy strony i na podstawie tego ustawia pewne kody problemów.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,__FUNKCJA_SPRAWDZANIE)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|__FUNKCJA_SPRAWDZANIE}} {{Patrz|__FUNKCJA_SPRAWDZANIE}} - funkcja uruchamiana, jeśli jest ustawiona, na wypadek poprawności strony.
W przypadku niepoprawności strony, gdy strona modułu jest aktualna (bieżąca), wtedy sprawdzany jest kod problemu, czy jest ustawiony, tzn.: {{Code|nieprawidłowe nazwy korzystanych stron}}, przy pomocy funkcji: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli nie ma takiego, to wtedy jest uruchamiana funkcja: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}. Podobnie jest dla niekorzystanej strony, wtedy jest problem dla kodu: {{Code|nieprawidłowe nazwy stron dołączanych do stron}}.
== Zbieranie informacji o linkach ==
=== {{Śródtytuł|p.LinkowanieFinalizowaniePrac}}{{Code|p.LinkowanieFinalizowaniePrac}} ===
Funkcja wadza uchwyt obiektu, wsazujący na aktualną stronę, do pewnej strony, i ewentualnie ustawia pewne problemy, jeśli je nie ustawiono.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} {{Patrz|obiekt}} - obiekt, obsługiwany przez tą funkcję linku,
* {{Code|kod}} {{LinkPatrz|kod}} - kod obiektu dla: {{LinkPatrz|obiekt}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} - jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}},
* {{Code|czy_pobierz}} {{Patrz|czy_pobierz}} - czy to jest szablon typu {{Code|Pobierz}} {{Patrz|Pobierz}}, jak: {{s|PobierzŚródtekst}}.
Funkcja sprawdza, czy nie został ustawiony element {{Code|tablica_zmiennych.sprawdzenie_dokonane_linku}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}, a jeżeli tak, to dalej, czy nie ma elementów numerowanych przy pomocy funkcji: {{Code|{{sr|#p["CzySąElementyNumerowaneTablicy"]|p=Parametry}}}}, a jeśli również tak, to dalej jest sprawdzane, czy został ustawiony problem: {{Code|strony poza zakresem obsługiwanym}}, przy pomocy: {{Code|{{sr|#p.CzyJestTakiElementTabeliProblemu|p=StronicowyParser/Problemy}}}}, a jeżeli nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}. Na samym końcu tej instrukcji warunkowej jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}.
Dalej pod tą instrukcją warunkową, jest robione, co powiedziane zostało w prologu tego opisu tej funkcji, tzn. z wyznaczonej tablicy ze: {{LinkPatrz|tablica_zmiennych}}, a dalej z wyznaczonej następnej podtabeli o kluczu: {{LinkPatrz|nazwa_obiektu}}.
Następnie, gdy element: {{LinkPatrz|czy_pobierz}}, jest ustawiony na {{Code|true}}, wtedy dla {{LinkPatrz|uchwyt_obiektu}}, pewna tablica, jest wstawiana do tablicy: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}}, jeśli istnieje, a jeśli nie, to jest tworzona, jako tablica, wtedy też jest to robione. Tą czynnością wstawiany tabelę, do tej tablicy, czyli:
<syntaxhighlight lang="lua">
{{nazwa_obiektu,uchwyt_obiektu,},{obiekt,kod,},}
</syntaxhighlight>
=== {{Śródtytuł|p.LinkowanieInnychStron}}{{Code|p.LinkowanieInnychStron}} ===
Funkcja do sprawdzania innych stron niż aktualna, a jeżeli dana strona została już sprawdzona, to powtórnie nie jest już rewidowana. Funkcja ustawia w głównej tablicy aktualnej tabeli {{LinkPatrz|tablica_zmiennych}} pewne podtablice.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieInnychStron(self,obiekt,kod,tablica_zmiennych, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejo jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Najpierw jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, która w razie poprawności nazwy strony, czyli inaczej nazw tej strony, tzn.: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, uruchamia funkcję zdefiniowaną w nim.
{{Tab}}Ta funkcja sprawdza, czy któraś z parametrów nazw istnieje, a jeżeli nie, to dalej jest inicjowana zmienna: {{Code|tablica_zmiennych2}} {{Patrz|tablica_zmiennych2}} pustą tablicą i podobnie {{Code|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}} {{Patrz|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}}, to uruchamiana jest: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, do zbierania informacji o stronie nowej lub przebadanej (wtedy zostają zwrócone parametry z wczęsniejszego jego analizowania, jak była nowa). Funkcja zwraca trzy parametry, tzn. {{Code|tabela_listy_danych_analizy_ksiazki0}} {{Patrz|tabela_listy_danych_analizy_ksiazki0}}, {{LinkPatrz|tablica_zmiennych2}} i {{Code|czy_inna}} {{Patrz|czy_inna}}. Te parametry mogą przyjmować wartość {{Code|nil}}, lub pierwszy {{Code|0}}, drugi, to nic innego jest jak: {{LinkPatrz|tablica_zmiennych2}}, a trzeci parametr jest wtedy równy {{Code|true}}, gdy strona jest nowa, a {{Code|false}} aktualna, a gdy {{Code|nil}}, gdy np. zawartość strony nie istnieje.
Gdy parametr: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, istnieje, wtedy jest spraqdzane, czy któreś z parametrów: {{LinkPatrz|tablica_zmiennych2}} i {{LinkPatrz|czy_inna}}, nie istsnieje, wtedy ta funkcja się zakańcza.
==== {{Śródtytuł|JuzPoliczone}}{{Code|JuzPoliczone}} ====
Dla obiektów, dla których jest ustawiony parametr: {{LinkPatrz|czy_pobierz}}, co dalej w tym rozgałęzieniu instrukcji warunkiwej jest uruchamiana funkcja szablonów tekstu, czyli: {{Code|{{sr|#p.UstawianiePobierz|p=StronicowyParser/SzablonyTekstu}}}}, aby również później za pomocą innych funkcji przeanalizować również tekst w szablonach takich jak: {{s|Śródtekst}}.
Dalej jest tworzona tablica, jeśli nie istnieje, tzn. {{Code|tablica_zmiennych2.dane_juz_policzone}} {{Patrz|tablica_zmiennych2.dane_juz_policzone}}, czyli jest inicjowana pustą tablicą. Dalej jest tworzona, jeśli nie istnieje, tablica wielowymiarowa po kolei, o kluczach kolejno: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}, {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu}}, a jeżeli ta ostatnia wartość tej tablicy była wcześniej, to zwracane jest {{Code|true}}, przeciwnie {{Code|false}}, a tej ostatniej wartości tej tablicy jest przydzielana wartość {{Code|true}}.
==== Dalszy opis funkcji ====
Gdy parametr: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest równy {{Code|0}}, ale nie {{Code|nil}}, wtedy jest sprawdzane, czy artykuł został wcześniej zrewidowany według: {{LinkŚródtytuł|JuzPoliczone}}, a jeżeli tak to jest zakańczany, a gdy ten parametr taakiej wartośsci nie przyjmuje, wtedy tylko jest uruchamiana funkcja bez żadnego warunku.
{{Tab}}Następnie jest uruchamiana funkcja: {{Code|{{sr|#p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony|p=StronicowyParser/SzablonyTekstu}}}}, do przydzielenia pewnych zmiennych z {{LinkPatrz|tablica_zmiennych2}} tablicy {{LinkPatrz|tablica_zmiennych}}.
{{Tab}}Jest sprawdzane, czy dany artykuł należy do spisu, jeżeli nie to są ustawiane pewne kody problemów w tablicy problemów, tzn. {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}.
Dalej jest sprawdzane, czy podany uchwyt {{LinkPatrz|uchwyt_obiektu}}, który jest podany w szablonach linków na aktualnej stronie, czy jest tylko jeden na stronie sprawdzanej, a jeżeli nie jest tak, to jest sprawdzane, czy nie istnieje ustawiony problem: {{Code|błędy uchwytów korzystanych stron}}, funkcją: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to taki problem jest dodawany dzięki: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
{{Tab}}Uruchamiana jest dalej funkcja: {{LinkŚródtytuł|p.PusteParametryReferencji}}, do sprawdzania pustości pewnych parametrów.
{{Tab}}Gdy tabela: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest jednak równa wartości odpowiadającej fałszywej, wtedy jeśli nie istnieje problem: {{Code|błąd wewnętrzny modułu lua stronicowego parsera}}, co jest rewidowane elementem: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to dodawany jest taki problem do tabeli problemów na podstawie: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
=== {{Śródtytuł|p.GeneralneLinkowanie}}{{Code|p.GeneralneLinkowanie}} ===
Funkcja zbiera uchwyty, na aktualnej lub innej stronie, a także je analizuje w odpowiedni sposób, modyfikuje tablica aktualnego modułu, czyli: {{LinkPatrz|tablica_zmiennych}}, na podstawie poszczególnych artykułów tej książki lub innej, która zbiera raz informacje o danej stronie.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Funkcja wyznacza uchwyt z tabeli parametrów: {{LinkPatrz|tabela_parametrow_szablonu}}, o kluczu {{Code|uchwyt}} {{LinkPatrz|uchwyt}} lub {{Code|1}}, a później w kodzie jest on kompletowany funkcją: {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a następnie rozwijany w niej, a później jest dekodowany: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}.
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, wywołujac: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}.
Na samym końcu jest uruchamiana: {{LinkPatrz|KtorySzablonMaZwracacKategorie}} z parametrem o tym uchwycie, wyliczonym wcześniej.
Gdy uchwyt istnieje, ale jest pusty, wtedy uruchamia się: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, następnie: {{LinkŚródtytuł|p.PusteParametryReferencji}}, a jeśli ta wartość nie istnieje, wtedy tylko ta ostatnia funkcja.
Gdy uchwyt: {{LinkPatrz|uchwyt}}, istnieje i jest niepusty, wtedy jest wyznaczana nazwa artykułu z niej samej, lub jeśli nazwa ksiązki istnieje, tylko, wtedy ta nazwa zaczyna być pusta, przeciwnie {{Code|nil}}, wtedy mamy do czynienia ze stroną główną podręcznika.
Gdy nazwa artykułu nie istnieje, wtedy wywoływana jest: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Jeśli nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest niepusta, i gdy nazwa książki nie istnieje, wtedy są liczone parametry nazw, oprócz nazwy artykułu, bo jest policzona, więc te {{ZobaczTeż|nazwy}}: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, z parametrów charakteryzujących nazwę aktualnego artykułu, a jeśli jednak nazwa książki jest pusta, to są sprawdzane parametry w: {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Gdy nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest nieistnieje, i gdy nazwa książki {{LinkPatrz|nazwa_ksiazki}} jest niepusta, wtedy nazwa artykułu zaczyna istnieć i inicjujemy wtedy ją wartością pustą, a jeśli pusta, za zaczyna być potem generowanie kodów błędów funkcją {{LinkŚródtytuł|p.PusteParametryReferencji}}, by potem się zakończyła ta funkcja.
Przeciwnie są liczone parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, tą samą metodą, co w punkcie: {{LinkZobaczTeż|nazwy}}.
Gdy nazwy {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}} są porównywane z nazwami, którymi się przypisje jak w: {{LinkZobaczTeż|nazwy}}, wtedy uruchamiamy funkcję: {{LinkŚródtytuł|p.LinkowanieInnychStron}}, przeciwnie wtedy działają dwie funkcje uruchomione po kolei, tzn.: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
== {{Śródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}{{Code|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} ==
Funkcja służy do zbierania informacji o danej analizowanej stronie, którego główną częścią jest strona korzystana, w której gromadzą się informacji też z pozostałych.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, czy_artykul_korzystany,tablica_zmiennych,czy_szablon_pudelkowy_strony_zbiorczej)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} - jak w: {{LinkPatrz|czy_szablon_pudelkowy_strony_zbiorczej}}.
=== {{Śródtytuł|__FUNKCJA_ARTYKULU}}{{Code|__FUNKCJA_ARTYKULU}} ===
Funkcja do tworzenia tabeli artykułów z innymi parametrami wielowymiarowymi tabeli, a jeżeli owo istnieje, to te tabele są zwracane lub nowo utworzone.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}},
* {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu}} - nazwa artykułu w książce, bez pełnej nazwy książki.
Poniżej są tworzone podtabele puste, jeśli nie zostały utworzone.
Funkcja, która w tabeli: {{Code|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, która istnieje, tworzy tabele trójwymiarową kolejno po prarametrach: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, te tabele pośrednie śą wtedy tworzone, jeśsli nie istnieją, a gdy istnieją to nie są tworzone, tylko funkcja przechodzi do dalszych.
Dalej tworzona jest podtabela, jeśli nie istnieje o nazwie {{Code|lista_podstron_woluminu}} {{Patrz|lista_podstron_woluminu}}.
Następnie generowana jest podtabela, jeśli nie istnieje, o kluczu: {{LinkPatrz|nazwa_artykulu}}.
Funkcja zwraca kolejno elementy, jeśli klucz: {{LinkPatrz|nazwa_artykulu}}, istnieje, zatem:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany;
</syntaxhighlight>
Przeciwnie zwracany jest zbiór zmiennych po kolei:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki;
</syntaxhighlight>
=== {{Śródtytuł|__FUNKCJA_POBIERANIE}}{{Code|__FUNKCJA_POBIERANIE}} ===
=== {{Śródtytuł|InneInformacjePrzebneDoAnalizowanejKsiazki}}{{Code|InneInformacjePrzebneDoAnalizowanejKsiazki}} ===
==== {{Śródtytuł|__FUNKCJA_SPISU}}{{Code|__FUNKCJA_SPISU}} ====
=== {{Śródtytuł|PrzekierownieAwaryjne}}{{Code|PrzekierownieAwaryjne}} ===
=== {{Śródtytuł|StronaZbiorcza}}{{Code|StronaZbiorcza}} ===
=== {{Śródtytuł|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}}{{Code|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}} ===
=== {{Śródtytuł|GeneralnaAnalizaSzablonuStronicowegoParsera}}{{Code|GeneralnaAnalizaSzablonuStronicowegoParsera}} ===
=== {{Śródtytuł|IterowaniePoElementachTekstu}}{{Code|IterowaniePoElementachTekstu}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieNaglowek}}{{Code|KtorySzablonMaZwracacKategorieNaglowek}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieTekst}}{{Code|KtorySzablonMaZwracacKategorieTekst}} ===
=== {{Śródtytuł|CzyJestTakiProblemJakoElementTablicy}}{{Code|CzyJestTakiProblemJakoElementTablicy}} ===
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
3w4zudfmrik73v53po6l5w3ewp22o0j
547231
547230
2026-06-29T14:42:54Z
Persino
2851
/* {{Śródtytuł|__FUNKCJA_ARTYKULU}}{{Code|__FUNKCJA_ARTYKULU}} */
547231
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/ZbieranieDanychStron}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== Zbieranie informacji o uchwycie ==
=== {{Śródtytuł|p.UchwytyZeiBezNumeracji}}{{Code|p.UchwytyZeiBezNumeracji}} ===
Funkcja zbiera uchwyty, dla obiektów {{ZobaczTeż|p.UchwytyZeiBezNumeracji}}, bez numeracji, nie licząc obiektów tekst takich jak {{s|Śródtekst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UchwytyZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,lista_dwuelementowa,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} {{Patrz|self}} - zmiennna obiektowa modułu {{Code|{{ld2|StronicowyParser/ZbieranieDanychStron}}}} {{Patrz|StronicowyParser/ZbieranieDanychStron}},
* {{Code|tabela_elementow_strony_kodow}} {{Patrz|tabela_elementow_strony_kodow}} - zmienna zbierająca takie kody jak {{LinkZobaczTeż|p.UchwytyZeiBezNumeracji}},
* {{Code|nazwa_obiektu}} {{Patrz|nazwa obiektu}} - nazwa obiektu,
* {{Code|lista_dwuelementowa}} {{Patrz|lista_dwuelementowa}} - pozycja w normalnej tabeli uchwytów i przeważnie ich numeracji, a tutaj dla tego obiektu,
* {{Code|kod}} {{Patrz|kod}} - numer kodu dla tego obiektu.
Funkcja zbiera elementy {{LinkPatrz|lista_dwuelementowa}} w tablicy wielowymiarowej o pierwszym elemencie wymiaru {{LinkPatrz|nazwa obiektu}} i trzecim {{LinkPatrz|kod}}, oraz o drugim {{Code|uchwyty_bez_numeracji}} {{Patrz|uchwyty_bez_numeracji}}.
=== {{Śródtytuł|p.WydobywanieUchwytuZeiBezNumeracji}}{{Code|p.WydobywanieUchwytuZeiBezNumeracji}} ===
Funkcja wydowywa tablicę uchwytu dla pozycji, ale nie sam uchwyt, dla podtablicy {{LinkPatrz|uchwyty_bez_numeracji}} o danym kodzie {{LinkPatrz|kod}}, dla nazwy obiektu {{LinkPatrz|nazwa_obiektu}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.WydobywanieUchwytuZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_elementow_strony_kodow}} - jak w: {{LinkPatrz|tabela_elementow_strony_kodow}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}}.
Funkcja wykorzystuje elementy tablicy: {{LinkPatrz|uchwyty_bez_numeracji}}, wstawione przez funkcję: {{LinkŚródtytuł|p.UchwytyZeiBezNumeracji}}.
=== {{Śródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}{{Code|p.RozpatrywanieElementuUchwytuNumeracji}} ===
Funkcja wsadzająca utworzoną tablicę z podanym uchwytem do ogólnej tablicy pozycji nazwanych tabel z uchwytami o danej pozycji z nim.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|kod_uchwytu}} {{Patrz|kod_uchwytu}} - kod uchwytu podanego do szablonu stronicowego z odpowiednim uchwytem,
* {{Code|tab_numer}} {{Patrz|tab_numer}} - tablica z numerkami ilości elementów w tablicy parametrów nazwanych z uchwytami, w danym elemencie analizowania strony z uchwytami i obiektami,
* {{Code|tablica_zmiennych}} {{Patrz|tablica_zmiennych}} - tablica analizowania obiektów, danej strony,
* {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} {{Patrz|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - kolejno: nazwa przestrzeni nazw, nazwa przestrzeni książki, nazwa książki i nazwa artykułu książki,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} {{Patrz|czy_artykul_korzystany}} - czy artykuł aktualny wyświetlany w przeglądarce,
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} {{Patrz|nazwa_modulu_aktualna_czy_biezaca}} - nazwa artykułu aktualna lub bieżąca,
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{Patrz|tablica_analizy_obiektow_strony_dany_modul}} - tablica bazy kodów parsowania strony,
* {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - tablica analizy poszczególnych elementów kodów, do szybszego działania skryptu,
* {{Code|KtorySzablonMaZwracacKategorie}} {{Patrz|KtorySzablonMaZwracacKategorie}} - tablica zbierająca odkodowany i rozwinięty uchwyt, do analizowania w nim zebranych kategorii, według modułu: {{Code|{{ld2|StronicowyParser/Kategorie}}}}, uruchamiana w szablonach stronicowych z funkcjami '''stronicowego parsera'''.
Funkcja rozwija {{LinkPatrz|kod_uchwytu}} funkcją {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a potem je odkodowuje przy pomocy: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a jeżeli ona nie jest pusta, to dla tego jest uruchamiana funkcja {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Tworzona jest tablica {{Code|lista_dwuelementowa}} {{LinkPatrz|lista_dwuelementowa}} z uchwytem, jako pierwszy parametr.
Jest sprawdzane, czy element {{Code|tablica_zmiennych.sprawdzenie_dokonane_obiektu}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, jest fałszywy, jeżeli tak, to dalej jest sprawdzane, czy są elementy numerowane nazwanej tablicy: {{Code|tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2}} o nazwie {{LinkPatrz|nazwa_obiektu}}, a jeżeli jest pusta - na samym końcu jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, czyli jest inicjowana na wartość {{Code|true}}, to dalej jest sprawdzane, czy dla elementów: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy dana książka jest poza zakresem obsługiwanym, czyli rewidowane jest, czy jest ustawiony kod problemu {{Code|strony poza zakresem obsługiwanym}}, czy a jeżeli jednak nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}, ustawiające pewne elementy błędu, jeżeli trzeba to zrobić.
Gdy tabela {{LinkPatrz|tab_numer}} odpowiada nienilowej tablicy, wtedy element {{LinkPatrz|lista_dwuelementowa}} jest wstawiany na odpowiedniej pozycji, ale przeważnie nie na końcu, przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=table.insert|b=tak}}}}, dzięki określonej tabeli {{LinkPatrz|tab_numer}}, przeciwnie na jej końcu.
Funkcja zwraca element {{LinkPatrz|lista_dwuelementowa}}.
=== {{Śródtytuł|p.RozpatrywanieSzablonuObiektuDoNumeracji}}{{Code|p.RozpatrywanieSzablonuObiektuDoNumeracji}} ===
Funkcja, która uruchamia funkcję: {{LinkŚródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}, dla istniejącego uchwytu w postaci nazwanej o kluczu: {{Code|uchwyt}} {{Patrz|uchwyt}}, lub nienazwanej - w postaci numeru jego uchwytu o kluczu: {{Code|numer_numeracji}} {{Patrz|numer_numeracji}}, wsadzająca tabele z uchwytem na odpowiednią pozycję w odpowiedniej nazwanej tabeli o nazwie obiektu {{LinkPatrz|nazwa_obiektu}} w ogólnej tabeli: {{LinkPatrz|tablica_zmiennych}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}}- tabela parametrów szablonu,
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|numer_numeracji}} - jak w: {{LinkPatrz|numer_numeracji}},
* {{Code|tab_numer}} - jak w: {{LinkPatrz|tab_numer}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
== {{Śródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}{{Code|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}} ==
Funkcja sprawdza, czy dany artykuł należy do artykułów, któregoś spisu treści, a jeżeli nie, to dla stron, które nie należą do kategorii z ustawionym problemem {{Code|strony poza zakresem obsługiwanym}}, ale do nieaktualnej strony jest ustawiony problem {{Code|brak spisów treści do dołączonych stron}}. Natomiast dla aktualnej dla stron tej samej kategorii ustawiany jest problem {{Code|brak spisu treści do korzystanych stron}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== {{Śródtytuł|p.PusteParametryReferencji}}{{Code|p.PusteParametryReferencji}} ==
Funkcja sprawdza, jeśli są podane parametry szablonu stronicowego, które są w kategorii: {{lk|Szablony stronicowe}}, czyli: {{Code|nazwa_artykulu}}, ewentualnie: {{Code|nazwa_ksiazki}}, ale zawsze z: {{Code|uchwyt_obiektu}}, czy są one puste.
A jeżeli one istnieją i są takie, to są ustawione problemy typu, jeśli ich wcześniej nie ustawiono:
* {{Code|puste parametry szablonów stronicowych linkujących}} {{Patrz|puste parametry szablonów stronicowych linkujących}}, kolejno dla: {{Code|uchwyt_obiektu}}, {{Code|nazwa_artykulu}} i {{Code|nazwa_ksiazki}}, kolejno z numerami problemów: {{Code|1}}, {{Code|2}} i {{Code|3}}.
Dla obiektu o nazwie {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}.
{{Hr}}
Definicja skrótowa funkcji
<syntaxhighlight lang="lua">
function p.PusteParametryReferencji(self, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu)...end;
</syntaxhighlight>
Paraametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} {{Patrz|uchwyt_obiektu}} - uchwyt obiektu, podane w danym szablonie stronicowym,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}}.
== {{Śródtytuł|p.SzablonyReferencjiParametrowych}}{{Code|p.SzablonyReferencjiParametrowych}} ==
Funkcja z parametrów pudełkowych nazwy artykułu {{ZobaczTeż|nazwa artykułu}}: {{Code|nazwa artykułu}} {{Patrz|nazwa artykułu}} albo {{Code|1}}, gdy bezuchwytowe lub {{Code|2}}, i pełnej nazwy książki {{ZobaczTeż|pełna nazwa strony}}: {{Code|nazwa książki}} {{Patrz|nazwa książki}} albo, {{Code|2}}, gdy bezuchwytowe lub {{Code|3}}. To wszystko jest liczone z: {{LinkPatrz|tabela_parametrow_szablonu}} lub przy użyciu parametru również {{Code|bezuchwytowe}} {{Patrz|bezuchwytowe}}, gdy mamy szablon stronicowy {{lk|Szablony stronicowe}}, bezuchwytowy, wtedy {{Code|true}}, przeciwnie {{Code|false/nil}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca,bezuchwytowe)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{Code|bezuchwytowe}} - jak w: {{LinkPatrz|bezuchwytowe}}.
Funkcja obie nazwy dekoduje funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a później jest liczony adres bezwzględny z względnego dzięki: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, przy pomocy podstawy {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}}, podobnie ale wcześniej jest liczona nazwa artykułu {{linkZobaczTeż|nazwa artykułu}}, czyli: {{LinkPatrz|nazwa_artykulu}}, ale tutaj adres względny jest liczony z podstawy o ciągu pustym jako drugi parametr.
Na podstawie pełnej nazwy książki {{LinkZobaczTeż|pełna nazwa strony}}: jest liczona bardziej jej wersja pełniejsza, jeżeli to jest w ogóle możliwe z: {{Code|{{sr|#p["PełnaNazwaStronicowejKsiążki"]|p=Książkowe}}}}. A póżniej z tego wszystkiego są liczone nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, przy pomocy funkcji nazw: {{Code|{{ld2|Nazwy}}}}.
Na samym końcu funkcji są zwracane parametry nazw, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== Funkcje zbierania informacji ==
=== {{Śródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}{{Code|p.ZbieranieInformacjiStronyWoluminowychPozycji}} ===
Funkcja zbierania informacji na stronie dla szablonów stronicowych: {{lk|Szablony stronicowe}}, bezuchwytowych, gdy nie jest uruchomiony parametr: {{Code|czy_inna_wartosc_tekst}} {{Patrz|czy_inna_wartosc_tekst}}, wtedy jest wywoływana funkcja: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}, która liczy kolejne nazwy charaktertyzujące nazwy dla danego artykułu książki dla danej strony, przeciwnie parametry nazw są ściagane z: {{Code|tab_nazwy}} {{Patrz|tab_nazwy}}, ta tabela składa się numerowanych elementów, którymi są nazwy charakyteryzujące stronę.
Gdy jakaś nazwa artylułu strony została policzona, wtedy są liczone pozostałe nazwy z: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, a na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, a tuż przed nim, jeśli istnieje: {{Code|KtorySzablonMaZwracacKategorie}} {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,KtorySzablonMaZwracacKategorie,czy_inna_wartosc_tekst,tab_nazwy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_inna_wartosc_tekst}} - jak w: {{LinkPatrz|czy_inna_wartosc_tekst}},
* {{Code|tab_nazwy}} - jak w: {{LinkPatrz|tab_nazwy}}.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacji}}{{Code|p.ZbieranieKontenerowychInformacji}} ===
Funkcja do zbierania informacji, która z parametrów pudełkowych: {{Code|{{m|Pudełko}}}}, czyli: {{Code|nazwa przestrzeni nazw}} {{Patrz|nazwa przestrzeni nazw}} i {{Code|nazwa jednostki}} {{Patrz|nazwa jednostki}}, z nich są liczone parametry nazw charakteryzujące artykuł książki strony. A na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} {{Patrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,czy_szablon_pudelkowy_strony_zbiorczej,KtorySzablonMaZwracacKategorie)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} {{Patrz|czy_szablon_pudelkowy_strony_zbiorczej}} - funkcja potrzebna do funkcji zbierającej {{LinkPatrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, określającej, czy mamy szablon pudełkowy strony zbiorczej, taki jak: {{Code|{{s|StronaSubst}}}}, czy: {{Code|{{s|KsiążkaSubst}}}}, zobacz stronę: {{Code|{{lr2|Moduły/StronicowyParser/StronaSubst}}}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Gdy nie ma parametrów pudełkowych funkcja się natychmiast zakańcza, lub parametr: {{LinkPatrz|nazwa jednostki}}, jest pusta, lub nawet gdy zawierają kody wykrywane przez funkcję: {{Code|{{sr|#p.NormaWzoruKodowaniaTekstu|p=Szablonowe}}}}.
Z nazwy jednostki jest wydzielana nazwa jednostki właściwa bez nazwy nagłówka, póżniej obie nazwy są też dekodowane funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, czyli wszystko z: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}.
Z tych dwóch nazwy jest liczony adres, ewentualnie względny, który za pomocą funkcji: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, jest wyliczany adres bezwzględny.
Dalej są liczone nazwy charakteryzujące artykuł danej książki strony, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, z tego adresu strony.
Przedostatnia funkcja, która jest uruchamiana przed funkcją zbierającą jest: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}, jeśli istnieje.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacjiReferencji}}{{Code|p.ZbieranieKontenerowychInformacjiReferencji}} ===
Funkcja zbiera informacje o stronie. Na podstawie informacji o nazwie artykułu i pełnej nazwy książki liczy parametry nazw charakteryzujące artykuł, co na tej podstawiwe liczy parametry pudełkowe i wywołuje funkcję główną przez inną funkcję, też zbierającą, i zbiera informacje o artykule.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacjiReferencji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, jako parametry zwracane przez funkcję: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}. Funkcja wyznacza parametry pudełkowe {{m|Pudełko}}, tzn.: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}, na podstawie tych nazw. Funkcja na samym końcu wywołuje funkcję zbierającą dane ze strony: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}, która z kolei uruchamia potem: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
== {{Śródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}{{Code|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}} ==
Funkcja sprawdza niepoprawność nazwy strony i na podstawie tego ustawia pewne kody problemów.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,__FUNKCJA_SPRAWDZANIE)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|__FUNKCJA_SPRAWDZANIE}} {{Patrz|__FUNKCJA_SPRAWDZANIE}} - funkcja uruchamiana, jeśli jest ustawiona, na wypadek poprawności strony.
W przypadku niepoprawności strony, gdy strona modułu jest aktualna (bieżąca), wtedy sprawdzany jest kod problemu, czy jest ustawiony, tzn.: {{Code|nieprawidłowe nazwy korzystanych stron}}, przy pomocy funkcji: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli nie ma takiego, to wtedy jest uruchamiana funkcja: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}. Podobnie jest dla niekorzystanej strony, wtedy jest problem dla kodu: {{Code|nieprawidłowe nazwy stron dołączanych do stron}}.
== Zbieranie informacji o linkach ==
=== {{Śródtytuł|p.LinkowanieFinalizowaniePrac}}{{Code|p.LinkowanieFinalizowaniePrac}} ===
Funkcja wadza uchwyt obiektu, wsazujący na aktualną stronę, do pewnej strony, i ewentualnie ustawia pewne problemy, jeśli je nie ustawiono.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} {{Patrz|obiekt}} - obiekt, obsługiwany przez tą funkcję linku,
* {{Code|kod}} {{LinkPatrz|kod}} - kod obiektu dla: {{LinkPatrz|obiekt}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} - jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}},
* {{Code|czy_pobierz}} {{Patrz|czy_pobierz}} - czy to jest szablon typu {{Code|Pobierz}} {{Patrz|Pobierz}}, jak: {{s|PobierzŚródtekst}}.
Funkcja sprawdza, czy nie został ustawiony element {{Code|tablica_zmiennych.sprawdzenie_dokonane_linku}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}, a jeżeli tak, to dalej, czy nie ma elementów numerowanych przy pomocy funkcji: {{Code|{{sr|#p["CzySąElementyNumerowaneTablicy"]|p=Parametry}}}}, a jeśli również tak, to dalej jest sprawdzane, czy został ustawiony problem: {{Code|strony poza zakresem obsługiwanym}}, przy pomocy: {{Code|{{sr|#p.CzyJestTakiElementTabeliProblemu|p=StronicowyParser/Problemy}}}}, a jeżeli nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}. Na samym końcu tej instrukcji warunkowej jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}.
Dalej pod tą instrukcją warunkową, jest robione, co powiedziane zostało w prologu tego opisu tej funkcji, tzn. z wyznaczonej tablicy ze: {{LinkPatrz|tablica_zmiennych}}, a dalej z wyznaczonej następnej podtabeli o kluczu: {{LinkPatrz|nazwa_obiektu}}.
Następnie, gdy element: {{LinkPatrz|czy_pobierz}}, jest ustawiony na {{Code|true}}, wtedy dla {{LinkPatrz|uchwyt_obiektu}}, pewna tablica, jest wstawiana do tablicy: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}}, jeśli istnieje, a jeśli nie, to jest tworzona, jako tablica, wtedy też jest to robione. Tą czynnością wstawiany tabelę, do tej tablicy, czyli:
<syntaxhighlight lang="lua">
{{nazwa_obiektu,uchwyt_obiektu,},{obiekt,kod,},}
</syntaxhighlight>
=== {{Śródtytuł|p.LinkowanieInnychStron}}{{Code|p.LinkowanieInnychStron}} ===
Funkcja do sprawdzania innych stron niż aktualna, a jeżeli dana strona została już sprawdzona, to powtórnie nie jest już rewidowana. Funkcja ustawia w głównej tablicy aktualnej tabeli {{LinkPatrz|tablica_zmiennych}} pewne podtablice.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieInnychStron(self,obiekt,kod,tablica_zmiennych, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejo jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Najpierw jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, która w razie poprawności nazwy strony, czyli inaczej nazw tej strony, tzn.: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, uruchamia funkcję zdefiniowaną w nim.
{{Tab}}Ta funkcja sprawdza, czy któraś z parametrów nazw istnieje, a jeżeli nie, to dalej jest inicjowana zmienna: {{Code|tablica_zmiennych2}} {{Patrz|tablica_zmiennych2}} pustą tablicą i podobnie {{Code|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}} {{Patrz|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}}, to uruchamiana jest: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, do zbierania informacji o stronie nowej lub przebadanej (wtedy zostają zwrócone parametry z wczęsniejszego jego analizowania, jak była nowa). Funkcja zwraca trzy parametry, tzn. {{Code|tabela_listy_danych_analizy_ksiazki0}} {{Patrz|tabela_listy_danych_analizy_ksiazki0}}, {{LinkPatrz|tablica_zmiennych2}} i {{Code|czy_inna}} {{Patrz|czy_inna}}. Te parametry mogą przyjmować wartość {{Code|nil}}, lub pierwszy {{Code|0}}, drugi, to nic innego jest jak: {{LinkPatrz|tablica_zmiennych2}}, a trzeci parametr jest wtedy równy {{Code|true}}, gdy strona jest nowa, a {{Code|false}} aktualna, a gdy {{Code|nil}}, gdy np. zawartość strony nie istnieje.
Gdy parametr: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, istnieje, wtedy jest spraqdzane, czy któreś z parametrów: {{LinkPatrz|tablica_zmiennych2}} i {{LinkPatrz|czy_inna}}, nie istsnieje, wtedy ta funkcja się zakańcza.
==== {{Śródtytuł|JuzPoliczone}}{{Code|JuzPoliczone}} ====
Dla obiektów, dla których jest ustawiony parametr: {{LinkPatrz|czy_pobierz}}, co dalej w tym rozgałęzieniu instrukcji warunkiwej jest uruchamiana funkcja szablonów tekstu, czyli: {{Code|{{sr|#p.UstawianiePobierz|p=StronicowyParser/SzablonyTekstu}}}}, aby również później za pomocą innych funkcji przeanalizować również tekst w szablonach takich jak: {{s|Śródtekst}}.
Dalej jest tworzona tablica, jeśli nie istnieje, tzn. {{Code|tablica_zmiennych2.dane_juz_policzone}} {{Patrz|tablica_zmiennych2.dane_juz_policzone}}, czyli jest inicjowana pustą tablicą. Dalej jest tworzona, jeśli nie istnieje, tablica wielowymiarowa po kolei, o kluczach kolejno: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}, {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu}}, a jeżeli ta ostatnia wartość tej tablicy była wcześniej, to zwracane jest {{Code|true}}, przeciwnie {{Code|false}}, a tej ostatniej wartości tej tablicy jest przydzielana wartość {{Code|true}}.
==== Dalszy opis funkcji ====
Gdy parametr: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest równy {{Code|0}}, ale nie {{Code|nil}}, wtedy jest sprawdzane, czy artykuł został wcześniej zrewidowany według: {{LinkŚródtytuł|JuzPoliczone}}, a jeżeli tak to jest zakańczany, a gdy ten parametr taakiej wartośsci nie przyjmuje, wtedy tylko jest uruchamiana funkcja bez żadnego warunku.
{{Tab}}Następnie jest uruchamiana funkcja: {{Code|{{sr|#p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony|p=StronicowyParser/SzablonyTekstu}}}}, do przydzielenia pewnych zmiennych z {{LinkPatrz|tablica_zmiennych2}} tablicy {{LinkPatrz|tablica_zmiennych}}.
{{Tab}}Jest sprawdzane, czy dany artykuł należy do spisu, jeżeli nie to są ustawiane pewne kody problemów w tablicy problemów, tzn. {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}.
Dalej jest sprawdzane, czy podany uchwyt {{LinkPatrz|uchwyt_obiektu}}, który jest podany w szablonach linków na aktualnej stronie, czy jest tylko jeden na stronie sprawdzanej, a jeżeli nie jest tak, to jest sprawdzane, czy nie istnieje ustawiony problem: {{Code|błędy uchwytów korzystanych stron}}, funkcją: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to taki problem jest dodawany dzięki: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
{{Tab}}Uruchamiana jest dalej funkcja: {{LinkŚródtytuł|p.PusteParametryReferencji}}, do sprawdzania pustości pewnych parametrów.
{{Tab}}Gdy tabela: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest jednak równa wartości odpowiadającej fałszywej, wtedy jeśli nie istnieje problem: {{Code|błąd wewnętrzny modułu lua stronicowego parsera}}, co jest rewidowane elementem: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to dodawany jest taki problem do tabeli problemów na podstawie: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
=== {{Śródtytuł|p.GeneralneLinkowanie}}{{Code|p.GeneralneLinkowanie}} ===
Funkcja zbiera uchwyty, na aktualnej lub innej stronie, a także je analizuje w odpowiedni sposób, modyfikuje tablica aktualnego modułu, czyli: {{LinkPatrz|tablica_zmiennych}}, na podstawie poszczególnych artykułów tej książki lub innej, która zbiera raz informacje o danej stronie.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Funkcja wyznacza uchwyt z tabeli parametrów: {{LinkPatrz|tabela_parametrow_szablonu}}, o kluczu {{Code|uchwyt}} {{LinkPatrz|uchwyt}} lub {{Code|1}}, a później w kodzie jest on kompletowany funkcją: {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a następnie rozwijany w niej, a później jest dekodowany: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}.
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, wywołujac: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}.
Na samym końcu jest uruchamiana: {{LinkPatrz|KtorySzablonMaZwracacKategorie}} z parametrem o tym uchwycie, wyliczonym wcześniej.
Gdy uchwyt istnieje, ale jest pusty, wtedy uruchamia się: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, następnie: {{LinkŚródtytuł|p.PusteParametryReferencji}}, a jeśli ta wartość nie istnieje, wtedy tylko ta ostatnia funkcja.
Gdy uchwyt: {{LinkPatrz|uchwyt}}, istnieje i jest niepusty, wtedy jest wyznaczana nazwa artykułu z niej samej, lub jeśli nazwa ksiązki istnieje, tylko, wtedy ta nazwa zaczyna być pusta, przeciwnie {{Code|nil}}, wtedy mamy do czynienia ze stroną główną podręcznika.
Gdy nazwa artykułu nie istnieje, wtedy wywoływana jest: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Jeśli nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest niepusta, i gdy nazwa książki nie istnieje, wtedy są liczone parametry nazw, oprócz nazwy artykułu, bo jest policzona, więc te {{ZobaczTeż|nazwy}}: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, z parametrów charakteryzujących nazwę aktualnego artykułu, a jeśli jednak nazwa książki jest pusta, to są sprawdzane parametry w: {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Gdy nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest nieistnieje, i gdy nazwa książki {{LinkPatrz|nazwa_ksiazki}} jest niepusta, wtedy nazwa artykułu zaczyna istnieć i inicjujemy wtedy ją wartością pustą, a jeśli pusta, za zaczyna być potem generowanie kodów błędów funkcją {{LinkŚródtytuł|p.PusteParametryReferencji}}, by potem się zakończyła ta funkcja.
Przeciwnie są liczone parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, tą samą metodą, co w punkcie: {{LinkZobaczTeż|nazwy}}.
Gdy nazwy {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}} są porównywane z nazwami, którymi się przypisje jak w: {{LinkZobaczTeż|nazwy}}, wtedy uruchamiamy funkcję: {{LinkŚródtytuł|p.LinkowanieInnychStron}}, przeciwnie wtedy działają dwie funkcje uruchomione po kolei, tzn.: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
== {{Śródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}{{Code|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} ==
Funkcja służy do zbierania informacji o danej analizowanej stronie, którego główną częścią jest strona korzystana, w której gromadzą się informacji też z pozostałych.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, czy_artykul_korzystany,tablica_zmiennych,czy_szablon_pudelkowy_strony_zbiorczej)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} - jak w: {{LinkPatrz|czy_szablon_pudelkowy_strony_zbiorczej}}.
=== {{Śródtytuł|__FUNKCJA_ARTYKULU}}{{Code|__FUNKCJA_ARTYKULU}} ===
Funkcja do tworzenia tabeli artykułów z innymi parametrami wielowymiarowej tej tabeli, a jeżeli owe pośrednie, i nie tylko, istnieją, to te tabele są zwracane lub nowo są tworzone.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}},
* {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu}} - nazwa artykułu w książce, bez pełnej nazwy książki.
Poniżej są tworzone podtabele puste, jeśli nie zostały utworzone.
Funkcja, która w tabeli: {{Code|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, która istnieje, tworzy tabele trójwymiarową kolejno po prarametrach: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, te tabele pośrednie śą wtedy tworzone, jeśsli nie istnieją, a gdy istnieją to nie są tworzone, tylko funkcja przechodzi do dalszych.
Dalej tworzona jest podtabela, jeśli nie istnieje o nazwie {{Code|lista_podstron_woluminu}} {{Patrz|lista_podstron_woluminu}}.
Następnie generowana jest podtabela, jeśli nie istnieje, o kluczu: {{LinkPatrz|nazwa_artykulu}}.
Funkcja zwraca kolejno elementy, jeśli klucz: {{LinkPatrz|nazwa_artykulu}}, istnieje, zatem:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany;
</syntaxhighlight>
Przeciwnie zwracany jest zbiór zmiennych po kolei:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki;
</syntaxhighlight>
=== {{Śródtytuł|__FUNKCJA_POBIERANIE}}{{Code|__FUNKCJA_POBIERANIE}} ===
=== {{Śródtytuł|InneInformacjePrzebneDoAnalizowanejKsiazki}}{{Code|InneInformacjePrzebneDoAnalizowanejKsiazki}} ===
==== {{Śródtytuł|__FUNKCJA_SPISU}}{{Code|__FUNKCJA_SPISU}} ====
=== {{Śródtytuł|PrzekierownieAwaryjne}}{{Code|PrzekierownieAwaryjne}} ===
=== {{Śródtytuł|StronaZbiorcza}}{{Code|StronaZbiorcza}} ===
=== {{Śródtytuł|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}}{{Code|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}} ===
=== {{Śródtytuł|GeneralnaAnalizaSzablonuStronicowegoParsera}}{{Code|GeneralnaAnalizaSzablonuStronicowegoParsera}} ===
=== {{Śródtytuł|IterowaniePoElementachTekstu}}{{Code|IterowaniePoElementachTekstu}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieNaglowek}}{{Code|KtorySzablonMaZwracacKategorieNaglowek}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieTekst}}{{Code|KtorySzablonMaZwracacKategorieTekst}} ===
=== {{Śródtytuł|CzyJestTakiProblemJakoElementTablicy}}{{Code|CzyJestTakiProblemJakoElementTablicy}} ===
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
ilqn6p9p0gu98c6dfdoo3y3up5bbg1h
547232
547231
2026-06-29T14:44:24Z
Persino
2851
/* {{Śródtytuł|__FUNKCJA_ARTYKULU}}{{Code|__FUNKCJA_ARTYKULU}} */
547232
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/ZbieranieDanychStron}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== Zbieranie informacji o uchwycie ==
=== {{Śródtytuł|p.UchwytyZeiBezNumeracji}}{{Code|p.UchwytyZeiBezNumeracji}} ===
Funkcja zbiera uchwyty, dla obiektów {{ZobaczTeż|p.UchwytyZeiBezNumeracji}}, bez numeracji, nie licząc obiektów tekst takich jak {{s|Śródtekst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UchwytyZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,lista_dwuelementowa,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} {{Patrz|self}} - zmiennna obiektowa modułu {{Code|{{ld2|StronicowyParser/ZbieranieDanychStron}}}} {{Patrz|StronicowyParser/ZbieranieDanychStron}},
* {{Code|tabela_elementow_strony_kodow}} {{Patrz|tabela_elementow_strony_kodow}} - zmienna zbierająca takie kody jak {{LinkZobaczTeż|p.UchwytyZeiBezNumeracji}},
* {{Code|nazwa_obiektu}} {{Patrz|nazwa obiektu}} - nazwa obiektu,
* {{Code|lista_dwuelementowa}} {{Patrz|lista_dwuelementowa}} - pozycja w normalnej tabeli uchwytów i przeważnie ich numeracji, a tutaj dla tego obiektu,
* {{Code|kod}} {{Patrz|kod}} - numer kodu dla tego obiektu.
Funkcja zbiera elementy {{LinkPatrz|lista_dwuelementowa}} w tablicy wielowymiarowej o pierwszym elemencie wymiaru {{LinkPatrz|nazwa obiektu}} i trzecim {{LinkPatrz|kod}}, oraz o drugim {{Code|uchwyty_bez_numeracji}} {{Patrz|uchwyty_bez_numeracji}}.
=== {{Śródtytuł|p.WydobywanieUchwytuZeiBezNumeracji}}{{Code|p.WydobywanieUchwytuZeiBezNumeracji}} ===
Funkcja wydowywa tablicę uchwytu dla pozycji, ale nie sam uchwyt, dla podtablicy {{LinkPatrz|uchwyty_bez_numeracji}} o danym kodzie {{LinkPatrz|kod}}, dla nazwy obiektu {{LinkPatrz|nazwa_obiektu}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.WydobywanieUchwytuZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_elementow_strony_kodow}} - jak w: {{LinkPatrz|tabela_elementow_strony_kodow}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}}.
Funkcja wykorzystuje elementy tablicy: {{LinkPatrz|uchwyty_bez_numeracji}}, wstawione przez funkcję: {{LinkŚródtytuł|p.UchwytyZeiBezNumeracji}}.
=== {{Śródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}{{Code|p.RozpatrywanieElementuUchwytuNumeracji}} ===
Funkcja wsadzająca utworzoną tablicę z podanym uchwytem do ogólnej tablicy pozycji nazwanych tabel z uchwytami o danej pozycji z nim.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|kod_uchwytu}} {{Patrz|kod_uchwytu}} - kod uchwytu podanego do szablonu stronicowego z odpowiednim uchwytem,
* {{Code|tab_numer}} {{Patrz|tab_numer}} - tablica z numerkami ilości elementów w tablicy parametrów nazwanych z uchwytami, w danym elemencie analizowania strony z uchwytami i obiektami,
* {{Code|tablica_zmiennych}} {{Patrz|tablica_zmiennych}} - tablica analizowania obiektów, danej strony,
* {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} {{Patrz|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - kolejno: nazwa przestrzeni nazw, nazwa przestrzeni książki, nazwa książki i nazwa artykułu książki,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} {{Patrz|czy_artykul_korzystany}} - czy artykuł aktualny wyświetlany w przeglądarce,
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} {{Patrz|nazwa_modulu_aktualna_czy_biezaca}} - nazwa artykułu aktualna lub bieżąca,
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{Patrz|tablica_analizy_obiektow_strony_dany_modul}} - tablica bazy kodów parsowania strony,
* {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - tablica analizy poszczególnych elementów kodów, do szybszego działania skryptu,
* {{Code|KtorySzablonMaZwracacKategorie}} {{Patrz|KtorySzablonMaZwracacKategorie}} - tablica zbierająca odkodowany i rozwinięty uchwyt, do analizowania w nim zebranych kategorii, według modułu: {{Code|{{ld2|StronicowyParser/Kategorie}}}}, uruchamiana w szablonach stronicowych z funkcjami '''stronicowego parsera'''.
Funkcja rozwija {{LinkPatrz|kod_uchwytu}} funkcją {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a potem je odkodowuje przy pomocy: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a jeżeli ona nie jest pusta, to dla tego jest uruchamiana funkcja {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Tworzona jest tablica {{Code|lista_dwuelementowa}} {{LinkPatrz|lista_dwuelementowa}} z uchwytem, jako pierwszy parametr.
Jest sprawdzane, czy element {{Code|tablica_zmiennych.sprawdzenie_dokonane_obiektu}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, jest fałszywy, jeżeli tak, to dalej jest sprawdzane, czy są elementy numerowane nazwanej tablicy: {{Code|tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2}} o nazwie {{LinkPatrz|nazwa_obiektu}}, a jeżeli jest pusta - na samym końcu jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, czyli jest inicjowana na wartość {{Code|true}}, to dalej jest sprawdzane, czy dla elementów: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy dana książka jest poza zakresem obsługiwanym, czyli rewidowane jest, czy jest ustawiony kod problemu {{Code|strony poza zakresem obsługiwanym}}, czy a jeżeli jednak nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}, ustawiające pewne elementy błędu, jeżeli trzeba to zrobić.
Gdy tabela {{LinkPatrz|tab_numer}} odpowiada nienilowej tablicy, wtedy element {{LinkPatrz|lista_dwuelementowa}} jest wstawiany na odpowiedniej pozycji, ale przeważnie nie na końcu, przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=table.insert|b=tak}}}}, dzięki określonej tabeli {{LinkPatrz|tab_numer}}, przeciwnie na jej końcu.
Funkcja zwraca element {{LinkPatrz|lista_dwuelementowa}}.
=== {{Śródtytuł|p.RozpatrywanieSzablonuObiektuDoNumeracji}}{{Code|p.RozpatrywanieSzablonuObiektuDoNumeracji}} ===
Funkcja, która uruchamia funkcję: {{LinkŚródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}, dla istniejącego uchwytu w postaci nazwanej o kluczu: {{Code|uchwyt}} {{Patrz|uchwyt}}, lub nienazwanej - w postaci numeru jego uchwytu o kluczu: {{Code|numer_numeracji}} {{Patrz|numer_numeracji}}, wsadzająca tabele z uchwytem na odpowiednią pozycję w odpowiedniej nazwanej tabeli o nazwie obiektu {{LinkPatrz|nazwa_obiektu}} w ogólnej tabeli: {{LinkPatrz|tablica_zmiennych}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}}- tabela parametrów szablonu,
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|numer_numeracji}} - jak w: {{LinkPatrz|numer_numeracji}},
* {{Code|tab_numer}} - jak w: {{LinkPatrz|tab_numer}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
== {{Śródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}{{Code|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}} ==
Funkcja sprawdza, czy dany artykuł należy do artykułów, któregoś spisu treści, a jeżeli nie, to dla stron, które nie należą do kategorii z ustawionym problemem {{Code|strony poza zakresem obsługiwanym}}, ale do nieaktualnej strony jest ustawiony problem {{Code|brak spisów treści do dołączonych stron}}. Natomiast dla aktualnej dla stron tej samej kategorii ustawiany jest problem {{Code|brak spisu treści do korzystanych stron}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== {{Śródtytuł|p.PusteParametryReferencji}}{{Code|p.PusteParametryReferencji}} ==
Funkcja sprawdza, jeśli są podane parametry szablonu stronicowego, które są w kategorii: {{lk|Szablony stronicowe}}, czyli: {{Code|nazwa_artykulu}}, ewentualnie: {{Code|nazwa_ksiazki}}, ale zawsze z: {{Code|uchwyt_obiektu}}, czy są one puste.
A jeżeli one istnieją i są takie, to są ustawione problemy typu, jeśli ich wcześniej nie ustawiono:
* {{Code|puste parametry szablonów stronicowych linkujących}} {{Patrz|puste parametry szablonów stronicowych linkujących}}, kolejno dla: {{Code|uchwyt_obiektu}}, {{Code|nazwa_artykulu}} i {{Code|nazwa_ksiazki}}, kolejno z numerami problemów: {{Code|1}}, {{Code|2}} i {{Code|3}}.
Dla obiektu o nazwie {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}.
{{Hr}}
Definicja skrótowa funkcji
<syntaxhighlight lang="lua">
function p.PusteParametryReferencji(self, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu)...end;
</syntaxhighlight>
Paraametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} {{Patrz|uchwyt_obiektu}} - uchwyt obiektu, podane w danym szablonie stronicowym,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}}.
== {{Śródtytuł|p.SzablonyReferencjiParametrowych}}{{Code|p.SzablonyReferencjiParametrowych}} ==
Funkcja z parametrów pudełkowych nazwy artykułu {{ZobaczTeż|nazwa artykułu}}: {{Code|nazwa artykułu}} {{Patrz|nazwa artykułu}} albo {{Code|1}}, gdy bezuchwytowe lub {{Code|2}}, i pełnej nazwy książki {{ZobaczTeż|pełna nazwa strony}}: {{Code|nazwa książki}} {{Patrz|nazwa książki}} albo, {{Code|2}}, gdy bezuchwytowe lub {{Code|3}}. To wszystko jest liczone z: {{LinkPatrz|tabela_parametrow_szablonu}} lub przy użyciu parametru również {{Code|bezuchwytowe}} {{Patrz|bezuchwytowe}}, gdy mamy szablon stronicowy {{lk|Szablony stronicowe}}, bezuchwytowy, wtedy {{Code|true}}, przeciwnie {{Code|false/nil}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca,bezuchwytowe)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{Code|bezuchwytowe}} - jak w: {{LinkPatrz|bezuchwytowe}}.
Funkcja obie nazwy dekoduje funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a później jest liczony adres bezwzględny z względnego dzięki: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, przy pomocy podstawy {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}}, podobnie ale wcześniej jest liczona nazwa artykułu {{linkZobaczTeż|nazwa artykułu}}, czyli: {{LinkPatrz|nazwa_artykulu}}, ale tutaj adres względny jest liczony z podstawy o ciągu pustym jako drugi parametr.
Na podstawie pełnej nazwy książki {{LinkZobaczTeż|pełna nazwa strony}}: jest liczona bardziej jej wersja pełniejsza, jeżeli to jest w ogóle możliwe z: {{Code|{{sr|#p["PełnaNazwaStronicowejKsiążki"]|p=Książkowe}}}}. A póżniej z tego wszystkiego są liczone nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, przy pomocy funkcji nazw: {{Code|{{ld2|Nazwy}}}}.
Na samym końcu funkcji są zwracane parametry nazw, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== Funkcje zbierania informacji ==
=== {{Śródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}{{Code|p.ZbieranieInformacjiStronyWoluminowychPozycji}} ===
Funkcja zbierania informacji na stronie dla szablonów stronicowych: {{lk|Szablony stronicowe}}, bezuchwytowych, gdy nie jest uruchomiony parametr: {{Code|czy_inna_wartosc_tekst}} {{Patrz|czy_inna_wartosc_tekst}}, wtedy jest wywoływana funkcja: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}, która liczy kolejne nazwy charaktertyzujące nazwy dla danego artykułu książki dla danej strony, przeciwnie parametry nazw są ściagane z: {{Code|tab_nazwy}} {{Patrz|tab_nazwy}}, ta tabela składa się numerowanych elementów, którymi są nazwy charakyteryzujące stronę.
Gdy jakaś nazwa artylułu strony została policzona, wtedy są liczone pozostałe nazwy z: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, a na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, a tuż przed nim, jeśli istnieje: {{Code|KtorySzablonMaZwracacKategorie}} {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,KtorySzablonMaZwracacKategorie,czy_inna_wartosc_tekst,tab_nazwy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_inna_wartosc_tekst}} - jak w: {{LinkPatrz|czy_inna_wartosc_tekst}},
* {{Code|tab_nazwy}} - jak w: {{LinkPatrz|tab_nazwy}}.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacji}}{{Code|p.ZbieranieKontenerowychInformacji}} ===
Funkcja do zbierania informacji, która z parametrów pudełkowych: {{Code|{{m|Pudełko}}}}, czyli: {{Code|nazwa przestrzeni nazw}} {{Patrz|nazwa przestrzeni nazw}} i {{Code|nazwa jednostki}} {{Patrz|nazwa jednostki}}, z nich są liczone parametry nazw charakteryzujące artykuł książki strony. A na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} {{Patrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,czy_szablon_pudelkowy_strony_zbiorczej,KtorySzablonMaZwracacKategorie)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} {{Patrz|czy_szablon_pudelkowy_strony_zbiorczej}} - funkcja potrzebna do funkcji zbierającej {{LinkPatrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, określającej, czy mamy szablon pudełkowy strony zbiorczej, taki jak: {{Code|{{s|StronaSubst}}}}, czy: {{Code|{{s|KsiążkaSubst}}}}, zobacz stronę: {{Code|{{lr2|Moduły/StronicowyParser/StronaSubst}}}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Gdy nie ma parametrów pudełkowych funkcja się natychmiast zakańcza, lub parametr: {{LinkPatrz|nazwa jednostki}}, jest pusta, lub nawet gdy zawierają kody wykrywane przez funkcję: {{Code|{{sr|#p.NormaWzoruKodowaniaTekstu|p=Szablonowe}}}}.
Z nazwy jednostki jest wydzielana nazwa jednostki właściwa bez nazwy nagłówka, póżniej obie nazwy są też dekodowane funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, czyli wszystko z: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}.
Z tych dwóch nazwy jest liczony adres, ewentualnie względny, który za pomocą funkcji: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, jest wyliczany adres bezwzględny.
Dalej są liczone nazwy charakteryzujące artykuł danej książki strony, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, z tego adresu strony.
Przedostatnia funkcja, która jest uruchamiana przed funkcją zbierającą jest: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}, jeśli istnieje.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacjiReferencji}}{{Code|p.ZbieranieKontenerowychInformacjiReferencji}} ===
Funkcja zbiera informacje o stronie. Na podstawie informacji o nazwie artykułu i pełnej nazwy książki liczy parametry nazw charakteryzujące artykuł, co na tej podstawiwe liczy parametry pudełkowe i wywołuje funkcję główną przez inną funkcję, też zbierającą, i zbiera informacje o artykule.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacjiReferencji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, jako parametry zwracane przez funkcję: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}. Funkcja wyznacza parametry pudełkowe {{m|Pudełko}}, tzn.: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}, na podstawie tych nazw. Funkcja na samym końcu wywołuje funkcję zbierającą dane ze strony: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}, która z kolei uruchamia potem: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
== {{Śródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}{{Code|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}} ==
Funkcja sprawdza niepoprawność nazwy strony i na podstawie tego ustawia pewne kody problemów.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,__FUNKCJA_SPRAWDZANIE)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|__FUNKCJA_SPRAWDZANIE}} {{Patrz|__FUNKCJA_SPRAWDZANIE}} - funkcja uruchamiana, jeśli jest ustawiona, na wypadek poprawności strony.
W przypadku niepoprawności strony, gdy strona modułu jest aktualna (bieżąca), wtedy sprawdzany jest kod problemu, czy jest ustawiony, tzn.: {{Code|nieprawidłowe nazwy korzystanych stron}}, przy pomocy funkcji: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli nie ma takiego, to wtedy jest uruchamiana funkcja: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}. Podobnie jest dla niekorzystanej strony, wtedy jest problem dla kodu: {{Code|nieprawidłowe nazwy stron dołączanych do stron}}.
== Zbieranie informacji o linkach ==
=== {{Śródtytuł|p.LinkowanieFinalizowaniePrac}}{{Code|p.LinkowanieFinalizowaniePrac}} ===
Funkcja wadza uchwyt obiektu, wsazujący na aktualną stronę, do pewnej strony, i ewentualnie ustawia pewne problemy, jeśli je nie ustawiono.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} {{Patrz|obiekt}} - obiekt, obsługiwany przez tą funkcję linku,
* {{Code|kod}} {{LinkPatrz|kod}} - kod obiektu dla: {{LinkPatrz|obiekt}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} - jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}},
* {{Code|czy_pobierz}} {{Patrz|czy_pobierz}} - czy to jest szablon typu {{Code|Pobierz}} {{Patrz|Pobierz}}, jak: {{s|PobierzŚródtekst}}.
Funkcja sprawdza, czy nie został ustawiony element {{Code|tablica_zmiennych.sprawdzenie_dokonane_linku}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}, a jeżeli tak, to dalej, czy nie ma elementów numerowanych przy pomocy funkcji: {{Code|{{sr|#p["CzySąElementyNumerowaneTablicy"]|p=Parametry}}}}, a jeśli również tak, to dalej jest sprawdzane, czy został ustawiony problem: {{Code|strony poza zakresem obsługiwanym}}, przy pomocy: {{Code|{{sr|#p.CzyJestTakiElementTabeliProblemu|p=StronicowyParser/Problemy}}}}, a jeżeli nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}. Na samym końcu tej instrukcji warunkowej jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}.
Dalej pod tą instrukcją warunkową, jest robione, co powiedziane zostało w prologu tego opisu tej funkcji, tzn. z wyznaczonej tablicy ze: {{LinkPatrz|tablica_zmiennych}}, a dalej z wyznaczonej następnej podtabeli o kluczu: {{LinkPatrz|nazwa_obiektu}}.
Następnie, gdy element: {{LinkPatrz|czy_pobierz}}, jest ustawiony na {{Code|true}}, wtedy dla {{LinkPatrz|uchwyt_obiektu}}, pewna tablica, jest wstawiana do tablicy: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}}, jeśli istnieje, a jeśli nie, to jest tworzona, jako tablica, wtedy też jest to robione. Tą czynnością wstawiany tabelę, do tej tablicy, czyli:
<syntaxhighlight lang="lua">
{{nazwa_obiektu,uchwyt_obiektu,},{obiekt,kod,},}
</syntaxhighlight>
=== {{Śródtytuł|p.LinkowanieInnychStron}}{{Code|p.LinkowanieInnychStron}} ===
Funkcja do sprawdzania innych stron niż aktualna, a jeżeli dana strona została już sprawdzona, to powtórnie nie jest już rewidowana. Funkcja ustawia w głównej tablicy aktualnej tabeli {{LinkPatrz|tablica_zmiennych}} pewne podtablice.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieInnychStron(self,obiekt,kod,tablica_zmiennych, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejo jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Najpierw jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, która w razie poprawności nazwy strony, czyli inaczej nazw tej strony, tzn.: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, uruchamia funkcję zdefiniowaną w nim.
{{Tab}}Ta funkcja sprawdza, czy któraś z parametrów nazw istnieje, a jeżeli nie, to dalej jest inicjowana zmienna: {{Code|tablica_zmiennych2}} {{Patrz|tablica_zmiennych2}} pustą tablicą i podobnie {{Code|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}} {{Patrz|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}}, to uruchamiana jest: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, do zbierania informacji o stronie nowej lub przebadanej (wtedy zostają zwrócone parametry z wczęsniejszego jego analizowania, jak była nowa). Funkcja zwraca trzy parametry, tzn. {{Code|tabela_listy_danych_analizy_ksiazki0}} {{Patrz|tabela_listy_danych_analizy_ksiazki0}}, {{LinkPatrz|tablica_zmiennych2}} i {{Code|czy_inna}} {{Patrz|czy_inna}}. Te parametry mogą przyjmować wartość {{Code|nil}}, lub pierwszy {{Code|0}}, drugi, to nic innego jest jak: {{LinkPatrz|tablica_zmiennych2}}, a trzeci parametr jest wtedy równy {{Code|true}}, gdy strona jest nowa, a {{Code|false}} aktualna, a gdy {{Code|nil}}, gdy np. zawartość strony nie istnieje.
Gdy parametr: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, istnieje, wtedy jest spraqdzane, czy któreś z parametrów: {{LinkPatrz|tablica_zmiennych2}} i {{LinkPatrz|czy_inna}}, nie istsnieje, wtedy ta funkcja się zakańcza.
==== {{Śródtytuł|JuzPoliczone}}{{Code|JuzPoliczone}} ====
Dla obiektów, dla których jest ustawiony parametr: {{LinkPatrz|czy_pobierz}}, co dalej w tym rozgałęzieniu instrukcji warunkiwej jest uruchamiana funkcja szablonów tekstu, czyli: {{Code|{{sr|#p.UstawianiePobierz|p=StronicowyParser/SzablonyTekstu}}}}, aby również później za pomocą innych funkcji przeanalizować również tekst w szablonach takich jak: {{s|Śródtekst}}.
Dalej jest tworzona tablica, jeśli nie istnieje, tzn. {{Code|tablica_zmiennych2.dane_juz_policzone}} {{Patrz|tablica_zmiennych2.dane_juz_policzone}}, czyli jest inicjowana pustą tablicą. Dalej jest tworzona, jeśli nie istnieje, tablica wielowymiarowa po kolei, o kluczach kolejno: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}, {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu}}, a jeżeli ta ostatnia wartość tej tablicy była wcześniej, to zwracane jest {{Code|true}}, przeciwnie {{Code|false}}, a tej ostatniej wartości tej tablicy jest przydzielana wartość {{Code|true}}.
==== Dalszy opis funkcji ====
Gdy parametr: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest równy {{Code|0}}, ale nie {{Code|nil}}, wtedy jest sprawdzane, czy artykuł został wcześniej zrewidowany według: {{LinkŚródtytuł|JuzPoliczone}}, a jeżeli tak to jest zakańczany, a gdy ten parametr taakiej wartośsci nie przyjmuje, wtedy tylko jest uruchamiana funkcja bez żadnego warunku.
{{Tab}}Następnie jest uruchamiana funkcja: {{Code|{{sr|#p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony|p=StronicowyParser/SzablonyTekstu}}}}, do przydzielenia pewnych zmiennych z {{LinkPatrz|tablica_zmiennych2}} tablicy {{LinkPatrz|tablica_zmiennych}}.
{{Tab}}Jest sprawdzane, czy dany artykuł należy do spisu, jeżeli nie to są ustawiane pewne kody problemów w tablicy problemów, tzn. {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}.
Dalej jest sprawdzane, czy podany uchwyt {{LinkPatrz|uchwyt_obiektu}}, który jest podany w szablonach linków na aktualnej stronie, czy jest tylko jeden na stronie sprawdzanej, a jeżeli nie jest tak, to jest sprawdzane, czy nie istnieje ustawiony problem: {{Code|błędy uchwytów korzystanych stron}}, funkcją: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to taki problem jest dodawany dzięki: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
{{Tab}}Uruchamiana jest dalej funkcja: {{LinkŚródtytuł|p.PusteParametryReferencji}}, do sprawdzania pustości pewnych parametrów.
{{Tab}}Gdy tabela: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest jednak równa wartości odpowiadającej fałszywej, wtedy jeśli nie istnieje problem: {{Code|błąd wewnętrzny modułu lua stronicowego parsera}}, co jest rewidowane elementem: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to dodawany jest taki problem do tabeli problemów na podstawie: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
=== {{Śródtytuł|p.GeneralneLinkowanie}}{{Code|p.GeneralneLinkowanie}} ===
Funkcja zbiera uchwyty, na aktualnej lub innej stronie, a także je analizuje w odpowiedni sposób, modyfikuje tablica aktualnego modułu, czyli: {{LinkPatrz|tablica_zmiennych}}, na podstawie poszczególnych artykułów tej książki lub innej, która zbiera raz informacje o danej stronie.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Funkcja wyznacza uchwyt z tabeli parametrów: {{LinkPatrz|tabela_parametrow_szablonu}}, o kluczu {{Code|uchwyt}} {{LinkPatrz|uchwyt}} lub {{Code|1}}, a później w kodzie jest on kompletowany funkcją: {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a następnie rozwijany w niej, a później jest dekodowany: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}.
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, wywołujac: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}.
Na samym końcu jest uruchamiana: {{LinkPatrz|KtorySzablonMaZwracacKategorie}} z parametrem o tym uchwycie, wyliczonym wcześniej.
Gdy uchwyt istnieje, ale jest pusty, wtedy uruchamia się: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, następnie: {{LinkŚródtytuł|p.PusteParametryReferencji}}, a jeśli ta wartość nie istnieje, wtedy tylko ta ostatnia funkcja.
Gdy uchwyt: {{LinkPatrz|uchwyt}}, istnieje i jest niepusty, wtedy jest wyznaczana nazwa artykułu z niej samej, lub jeśli nazwa ksiązki istnieje, tylko, wtedy ta nazwa zaczyna być pusta, przeciwnie {{Code|nil}}, wtedy mamy do czynienia ze stroną główną podręcznika.
Gdy nazwa artykułu nie istnieje, wtedy wywoływana jest: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Jeśli nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest niepusta, i gdy nazwa książki nie istnieje, wtedy są liczone parametry nazw, oprócz nazwy artykułu, bo jest policzona, więc te {{ZobaczTeż|nazwy}}: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, z parametrów charakteryzujących nazwę aktualnego artykułu, a jeśli jednak nazwa książki jest pusta, to są sprawdzane parametry w: {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Gdy nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest nieistnieje, i gdy nazwa książki {{LinkPatrz|nazwa_ksiazki}} jest niepusta, wtedy nazwa artykułu zaczyna istnieć i inicjujemy wtedy ją wartością pustą, a jeśli pusta, za zaczyna być potem generowanie kodów błędów funkcją {{LinkŚródtytuł|p.PusteParametryReferencji}}, by potem się zakończyła ta funkcja.
Przeciwnie są liczone parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, tą samą metodą, co w punkcie: {{LinkZobaczTeż|nazwy}}.
Gdy nazwy {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}} są porównywane z nazwami, którymi się przypisje jak w: {{LinkZobaczTeż|nazwy}}, wtedy uruchamiamy funkcję: {{LinkŚródtytuł|p.LinkowanieInnychStron}}, przeciwnie wtedy działają dwie funkcje uruchomione po kolei, tzn.: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
== {{Śródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}{{Code|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} ==
Funkcja służy do zbierania informacji o danej analizowanej stronie, którego główną częścią jest strona korzystana, w której gromadzą się informacji też z pozostałych.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, czy_artykul_korzystany,tablica_zmiennych,czy_szablon_pudelkowy_strony_zbiorczej)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} - jak w: {{LinkPatrz|czy_szablon_pudelkowy_strony_zbiorczej}}.
=== {{Śródtytuł|__FUNKCJA_ARTYKULU}}{{Code|__FUNKCJA_ARTYKULU}} ===
Funkcja do tworzenia tabeli artykułów z innymi parametrami wielowymiarowej tej tabeli, a jeżeli owe pośrednie, i nie tylko, istnieją, to te tabele są zwracane lub nowo są tworzone.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}},
* {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu}} - nazwa artykułu w książce, bez pełnej nazwy książki.
Poniżej są tworzone podtabele puste, jeśli nie zostały utworzone.
Funkcja, która w tabeli: {{Code|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, która istnieje, tworzy tabele trójwymiarową kolejno po prarametrach: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, te tabele pośrednie śą wtedy tworzone, jeśsli nie istnieją, a gdy istnieją to nie są tworzone, tylko funkcja przechodzi do dalszych.
Dalej tworzona jest podtabela, jeśli nie istnieje o nazwie {{Code|lista_podstron_woluminu}} {{Patrz|lista_podstron_woluminu}}.
Następnie generowana jest podtabela, jeśli nie istnieje, o kluczu: {{LinkPatrz|nazwa_artykulu}}.
Funkcja zwraca kolejno elementy, jeśli klucz: {{LinkPatrz|nazwa_artykulu}}, istnieje, zatem:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany;
</syntaxhighlight>
Przeciwnie zwracany jest zbiór zmiennych po kolei:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki;
</syntaxhighlight>
Co to są za zmienne, wiadomo z ich nazw, po prostu są to pewne pośrednie, i nie tylko, tabele.
=== {{Śródtytuł|__FUNKCJA_POBIERANIE}}{{Code|__FUNKCJA_POBIERANIE}} ===
=== {{Śródtytuł|InneInformacjePrzebneDoAnalizowanejKsiazki}}{{Code|InneInformacjePrzebneDoAnalizowanejKsiazki}} ===
==== {{Śródtytuł|__FUNKCJA_SPISU}}{{Code|__FUNKCJA_SPISU}} ====
=== {{Śródtytuł|PrzekierownieAwaryjne}}{{Code|PrzekierownieAwaryjne}} ===
=== {{Śródtytuł|StronaZbiorcza}}{{Code|StronaZbiorcza}} ===
=== {{Śródtytuł|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}}{{Code|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}} ===
=== {{Śródtytuł|GeneralnaAnalizaSzablonuStronicowegoParsera}}{{Code|GeneralnaAnalizaSzablonuStronicowegoParsera}} ===
=== {{Śródtytuł|IterowaniePoElementachTekstu}}{{Code|IterowaniePoElementachTekstu}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieNaglowek}}{{Code|KtorySzablonMaZwracacKategorieNaglowek}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieTekst}}{{Code|KtorySzablonMaZwracacKategorieTekst}} ===
=== {{Śródtytuł|CzyJestTakiProblemJakoElementTablicy}}{{Code|CzyJestTakiProblemJakoElementTablicy}} ===
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
lis61gefqs77vm7mbd2dr4yno61yssv
547233
547232
2026-06-29T14:50:21Z
Persino
2851
/* {{Śródtytuł|__FUNKCJA_ARTYKULU}}{{Code|__FUNKCJA_ARTYKULU}} */
547233
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/ZbieranieDanychStron}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== Zbieranie informacji o uchwycie ==
=== {{Śródtytuł|p.UchwytyZeiBezNumeracji}}{{Code|p.UchwytyZeiBezNumeracji}} ===
Funkcja zbiera uchwyty, dla obiektów {{ZobaczTeż|p.UchwytyZeiBezNumeracji}}, bez numeracji, nie licząc obiektów tekst takich jak {{s|Śródtekst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UchwytyZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,lista_dwuelementowa,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} {{Patrz|self}} - zmiennna obiektowa modułu {{Code|{{ld2|StronicowyParser/ZbieranieDanychStron}}}} {{Patrz|StronicowyParser/ZbieranieDanychStron}},
* {{Code|tabela_elementow_strony_kodow}} {{Patrz|tabela_elementow_strony_kodow}} - zmienna zbierająca takie kody jak {{LinkZobaczTeż|p.UchwytyZeiBezNumeracji}},
* {{Code|nazwa_obiektu}} {{Patrz|nazwa obiektu}} - nazwa obiektu,
* {{Code|lista_dwuelementowa}} {{Patrz|lista_dwuelementowa}} - pozycja w normalnej tabeli uchwytów i przeważnie ich numeracji, a tutaj dla tego obiektu,
* {{Code|kod}} {{Patrz|kod}} - numer kodu dla tego obiektu.
Funkcja zbiera elementy {{LinkPatrz|lista_dwuelementowa}} w tablicy wielowymiarowej o pierwszym elemencie wymiaru {{LinkPatrz|nazwa obiektu}} i trzecim {{LinkPatrz|kod}}, oraz o drugim {{Code|uchwyty_bez_numeracji}} {{Patrz|uchwyty_bez_numeracji}}.
=== {{Śródtytuł|p.WydobywanieUchwytuZeiBezNumeracji}}{{Code|p.WydobywanieUchwytuZeiBezNumeracji}} ===
Funkcja wydowywa tablicę uchwytu dla pozycji, ale nie sam uchwyt, dla podtablicy {{LinkPatrz|uchwyty_bez_numeracji}} o danym kodzie {{LinkPatrz|kod}}, dla nazwy obiektu {{LinkPatrz|nazwa_obiektu}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.WydobywanieUchwytuZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_elementow_strony_kodow}} - jak w: {{LinkPatrz|tabela_elementow_strony_kodow}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}}.
Funkcja wykorzystuje elementy tablicy: {{LinkPatrz|uchwyty_bez_numeracji}}, wstawione przez funkcję: {{LinkŚródtytuł|p.UchwytyZeiBezNumeracji}}.
=== {{Śródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}{{Code|p.RozpatrywanieElementuUchwytuNumeracji}} ===
Funkcja wsadzająca utworzoną tablicę z podanym uchwytem do ogólnej tablicy pozycji nazwanych tabel z uchwytami o danej pozycji z nim.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|kod_uchwytu}} {{Patrz|kod_uchwytu}} - kod uchwytu podanego do szablonu stronicowego z odpowiednim uchwytem,
* {{Code|tab_numer}} {{Patrz|tab_numer}} - tablica z numerkami ilości elementów w tablicy parametrów nazwanych z uchwytami, w danym elemencie analizowania strony z uchwytami i obiektami,
* {{Code|tablica_zmiennych}} {{Patrz|tablica_zmiennych}} - tablica analizowania obiektów, danej strony,
* {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} {{Patrz|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - kolejno: nazwa przestrzeni nazw, nazwa przestrzeni książki, nazwa książki i nazwa artykułu książki,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} {{Patrz|czy_artykul_korzystany}} - czy artykuł aktualny wyświetlany w przeglądarce,
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} {{Patrz|nazwa_modulu_aktualna_czy_biezaca}} - nazwa artykułu aktualna lub bieżąca,
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{Patrz|tablica_analizy_obiektow_strony_dany_modul}} - tablica bazy kodów parsowania strony,
* {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - tablica analizy poszczególnych elementów kodów, do szybszego działania skryptu,
* {{Code|KtorySzablonMaZwracacKategorie}} {{Patrz|KtorySzablonMaZwracacKategorie}} - tablica zbierająca odkodowany i rozwinięty uchwyt, do analizowania w nim zebranych kategorii, według modułu: {{Code|{{ld2|StronicowyParser/Kategorie}}}}, uruchamiana w szablonach stronicowych z funkcjami '''stronicowego parsera'''.
Funkcja rozwija {{LinkPatrz|kod_uchwytu}} funkcją {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a potem je odkodowuje przy pomocy: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a jeżeli ona nie jest pusta, to dla tego jest uruchamiana funkcja {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Tworzona jest tablica {{Code|lista_dwuelementowa}} {{LinkPatrz|lista_dwuelementowa}} z uchwytem, jako pierwszy parametr.
Jest sprawdzane, czy element {{Code|tablica_zmiennych.sprawdzenie_dokonane_obiektu}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, jest fałszywy, jeżeli tak, to dalej jest sprawdzane, czy są elementy numerowane nazwanej tablicy: {{Code|tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2}} o nazwie {{LinkPatrz|nazwa_obiektu}}, a jeżeli jest pusta - na samym końcu jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, czyli jest inicjowana na wartość {{Code|true}}, to dalej jest sprawdzane, czy dla elementów: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy dana książka jest poza zakresem obsługiwanym, czyli rewidowane jest, czy jest ustawiony kod problemu {{Code|strony poza zakresem obsługiwanym}}, czy a jeżeli jednak nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}, ustawiające pewne elementy błędu, jeżeli trzeba to zrobić.
Gdy tabela {{LinkPatrz|tab_numer}} odpowiada nienilowej tablicy, wtedy element {{LinkPatrz|lista_dwuelementowa}} jest wstawiany na odpowiedniej pozycji, ale przeważnie nie na końcu, przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=table.insert|b=tak}}}}, dzięki określonej tabeli {{LinkPatrz|tab_numer}}, przeciwnie na jej końcu.
Funkcja zwraca element {{LinkPatrz|lista_dwuelementowa}}.
=== {{Śródtytuł|p.RozpatrywanieSzablonuObiektuDoNumeracji}}{{Code|p.RozpatrywanieSzablonuObiektuDoNumeracji}} ===
Funkcja, która uruchamia funkcję: {{LinkŚródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}, dla istniejącego uchwytu w postaci nazwanej o kluczu: {{Code|uchwyt}} {{Patrz|uchwyt}}, lub nienazwanej - w postaci numeru jego uchwytu o kluczu: {{Code|numer_numeracji}} {{Patrz|numer_numeracji}}, wsadzająca tabele z uchwytem na odpowiednią pozycję w odpowiedniej nazwanej tabeli o nazwie obiektu {{LinkPatrz|nazwa_obiektu}} w ogólnej tabeli: {{LinkPatrz|tablica_zmiennych}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}}- tabela parametrów szablonu,
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|numer_numeracji}} - jak w: {{LinkPatrz|numer_numeracji}},
* {{Code|tab_numer}} - jak w: {{LinkPatrz|tab_numer}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
== {{Śródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}{{Code|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}} ==
Funkcja sprawdza, czy dany artykuł należy do artykułów, któregoś spisu treści, a jeżeli nie, to dla stron, które nie należą do kategorii z ustawionym problemem {{Code|strony poza zakresem obsługiwanym}}, ale do nieaktualnej strony jest ustawiony problem {{Code|brak spisów treści do dołączonych stron}}. Natomiast dla aktualnej dla stron tej samej kategorii ustawiany jest problem {{Code|brak spisu treści do korzystanych stron}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== {{Śródtytuł|p.PusteParametryReferencji}}{{Code|p.PusteParametryReferencji}} ==
Funkcja sprawdza, jeśli są podane parametry szablonu stronicowego, które są w kategorii: {{lk|Szablony stronicowe}}, czyli: {{Code|nazwa_artykulu}}, ewentualnie: {{Code|nazwa_ksiazki}}, ale zawsze z: {{Code|uchwyt_obiektu}}, czy są one puste.
A jeżeli one istnieją i są takie, to są ustawione problemy typu, jeśli ich wcześniej nie ustawiono:
* {{Code|puste parametry szablonów stronicowych linkujących}} {{Patrz|puste parametry szablonów stronicowych linkujących}}, kolejno dla: {{Code|uchwyt_obiektu}}, {{Code|nazwa_artykulu}} i {{Code|nazwa_ksiazki}}, kolejno z numerami problemów: {{Code|1}}, {{Code|2}} i {{Code|3}}.
Dla obiektu o nazwie {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}.
{{Hr}}
Definicja skrótowa funkcji
<syntaxhighlight lang="lua">
function p.PusteParametryReferencji(self, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu)...end;
</syntaxhighlight>
Paraametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} {{Patrz|uchwyt_obiektu}} - uchwyt obiektu, podane w danym szablonie stronicowym,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}}.
== {{Śródtytuł|p.SzablonyReferencjiParametrowych}}{{Code|p.SzablonyReferencjiParametrowych}} ==
Funkcja z parametrów pudełkowych nazwy artykułu {{ZobaczTeż|nazwa artykułu}}: {{Code|nazwa artykułu}} {{Patrz|nazwa artykułu}} albo {{Code|1}}, gdy bezuchwytowe lub {{Code|2}}, i pełnej nazwy książki {{ZobaczTeż|pełna nazwa strony}}: {{Code|nazwa książki}} {{Patrz|nazwa książki}} albo, {{Code|2}}, gdy bezuchwytowe lub {{Code|3}}. To wszystko jest liczone z: {{LinkPatrz|tabela_parametrow_szablonu}} lub przy użyciu parametru również {{Code|bezuchwytowe}} {{Patrz|bezuchwytowe}}, gdy mamy szablon stronicowy {{lk|Szablony stronicowe}}, bezuchwytowy, wtedy {{Code|true}}, przeciwnie {{Code|false/nil}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca,bezuchwytowe)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{Code|bezuchwytowe}} - jak w: {{LinkPatrz|bezuchwytowe}}.
Funkcja obie nazwy dekoduje funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a później jest liczony adres bezwzględny z względnego dzięki: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, przy pomocy podstawy {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}}, podobnie ale wcześniej jest liczona nazwa artykułu {{linkZobaczTeż|nazwa artykułu}}, czyli: {{LinkPatrz|nazwa_artykulu}}, ale tutaj adres względny jest liczony z podstawy o ciągu pustym jako drugi parametr.
Na podstawie pełnej nazwy książki {{LinkZobaczTeż|pełna nazwa strony}}: jest liczona bardziej jej wersja pełniejsza, jeżeli to jest w ogóle możliwe z: {{Code|{{sr|#p["PełnaNazwaStronicowejKsiążki"]|p=Książkowe}}}}. A póżniej z tego wszystkiego są liczone nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, przy pomocy funkcji nazw: {{Code|{{ld2|Nazwy}}}}.
Na samym końcu funkcji są zwracane parametry nazw, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== Funkcje zbierania informacji ==
=== {{Śródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}{{Code|p.ZbieranieInformacjiStronyWoluminowychPozycji}} ===
Funkcja zbierania informacji na stronie dla szablonów stronicowych: {{lk|Szablony stronicowe}}, bezuchwytowych, gdy nie jest uruchomiony parametr: {{Code|czy_inna_wartosc_tekst}} {{Patrz|czy_inna_wartosc_tekst}}, wtedy jest wywoływana funkcja: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}, która liczy kolejne nazwy charaktertyzujące nazwy dla danego artykułu książki dla danej strony, przeciwnie parametry nazw są ściagane z: {{Code|tab_nazwy}} {{Patrz|tab_nazwy}}, ta tabela składa się numerowanych elementów, którymi są nazwy charakyteryzujące stronę.
Gdy jakaś nazwa artylułu strony została policzona, wtedy są liczone pozostałe nazwy z: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, a na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, a tuż przed nim, jeśli istnieje: {{Code|KtorySzablonMaZwracacKategorie}} {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,KtorySzablonMaZwracacKategorie,czy_inna_wartosc_tekst,tab_nazwy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_inna_wartosc_tekst}} - jak w: {{LinkPatrz|czy_inna_wartosc_tekst}},
* {{Code|tab_nazwy}} - jak w: {{LinkPatrz|tab_nazwy}}.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacji}}{{Code|p.ZbieranieKontenerowychInformacji}} ===
Funkcja do zbierania informacji, która z parametrów pudełkowych: {{Code|{{m|Pudełko}}}}, czyli: {{Code|nazwa przestrzeni nazw}} {{Patrz|nazwa przestrzeni nazw}} i {{Code|nazwa jednostki}} {{Patrz|nazwa jednostki}}, z nich są liczone parametry nazw charakteryzujące artykuł książki strony. A na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} {{Patrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,czy_szablon_pudelkowy_strony_zbiorczej,KtorySzablonMaZwracacKategorie)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} {{Patrz|czy_szablon_pudelkowy_strony_zbiorczej}} - funkcja potrzebna do funkcji zbierającej {{LinkPatrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, określającej, czy mamy szablon pudełkowy strony zbiorczej, taki jak: {{Code|{{s|StronaSubst}}}}, czy: {{Code|{{s|KsiążkaSubst}}}}, zobacz stronę: {{Code|{{lr2|Moduły/StronicowyParser/StronaSubst}}}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Gdy nie ma parametrów pudełkowych funkcja się natychmiast zakańcza, lub parametr: {{LinkPatrz|nazwa jednostki}}, jest pusta, lub nawet gdy zawierają kody wykrywane przez funkcję: {{Code|{{sr|#p.NormaWzoruKodowaniaTekstu|p=Szablonowe}}}}.
Z nazwy jednostki jest wydzielana nazwa jednostki właściwa bez nazwy nagłówka, póżniej obie nazwy są też dekodowane funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, czyli wszystko z: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}.
Z tych dwóch nazwy jest liczony adres, ewentualnie względny, który za pomocą funkcji: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, jest wyliczany adres bezwzględny.
Dalej są liczone nazwy charakteryzujące artykuł danej książki strony, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, z tego adresu strony.
Przedostatnia funkcja, która jest uruchamiana przed funkcją zbierającą jest: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}, jeśli istnieje.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacjiReferencji}}{{Code|p.ZbieranieKontenerowychInformacjiReferencji}} ===
Funkcja zbiera informacje o stronie. Na podstawie informacji o nazwie artykułu i pełnej nazwy książki liczy parametry nazw charakteryzujące artykuł, co na tej podstawiwe liczy parametry pudełkowe i wywołuje funkcję główną przez inną funkcję, też zbierającą, i zbiera informacje o artykule.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacjiReferencji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, jako parametry zwracane przez funkcję: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}. Funkcja wyznacza parametry pudełkowe {{m|Pudełko}}, tzn.: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}, na podstawie tych nazw. Funkcja na samym końcu wywołuje funkcję zbierającą dane ze strony: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}, która z kolei uruchamia potem: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
== {{Śródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}{{Code|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}} ==
Funkcja sprawdza niepoprawność nazwy strony i na podstawie tego ustawia pewne kody problemów.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,__FUNKCJA_SPRAWDZANIE)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|__FUNKCJA_SPRAWDZANIE}} {{Patrz|__FUNKCJA_SPRAWDZANIE}} - funkcja uruchamiana, jeśli jest ustawiona, na wypadek poprawności strony.
W przypadku niepoprawności strony, gdy strona modułu jest aktualna (bieżąca), wtedy sprawdzany jest kod problemu, czy jest ustawiony, tzn.: {{Code|nieprawidłowe nazwy korzystanych stron}}, przy pomocy funkcji: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli nie ma takiego, to wtedy jest uruchamiana funkcja: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}. Podobnie jest dla niekorzystanej strony, wtedy jest problem dla kodu: {{Code|nieprawidłowe nazwy stron dołączanych do stron}}.
== Zbieranie informacji o linkach ==
=== {{Śródtytuł|p.LinkowanieFinalizowaniePrac}}{{Code|p.LinkowanieFinalizowaniePrac}} ===
Funkcja wadza uchwyt obiektu, wsazujący na aktualną stronę, do pewnej strony, i ewentualnie ustawia pewne problemy, jeśli je nie ustawiono.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} {{Patrz|obiekt}} - obiekt, obsługiwany przez tą funkcję linku,
* {{Code|kod}} {{LinkPatrz|kod}} - kod obiektu dla: {{LinkPatrz|obiekt}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} - jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}},
* {{Code|czy_pobierz}} {{Patrz|czy_pobierz}} - czy to jest szablon typu {{Code|Pobierz}} {{Patrz|Pobierz}}, jak: {{s|PobierzŚródtekst}}.
Funkcja sprawdza, czy nie został ustawiony element {{Code|tablica_zmiennych.sprawdzenie_dokonane_linku}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}, a jeżeli tak, to dalej, czy nie ma elementów numerowanych przy pomocy funkcji: {{Code|{{sr|#p["CzySąElementyNumerowaneTablicy"]|p=Parametry}}}}, a jeśli również tak, to dalej jest sprawdzane, czy został ustawiony problem: {{Code|strony poza zakresem obsługiwanym}}, przy pomocy: {{Code|{{sr|#p.CzyJestTakiElementTabeliProblemu|p=StronicowyParser/Problemy}}}}, a jeżeli nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}. Na samym końcu tej instrukcji warunkowej jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}.
Dalej pod tą instrukcją warunkową, jest robione, co powiedziane zostało w prologu tego opisu tej funkcji, tzn. z wyznaczonej tablicy ze: {{LinkPatrz|tablica_zmiennych}}, a dalej z wyznaczonej następnej podtabeli o kluczu: {{LinkPatrz|nazwa_obiektu}}.
Następnie, gdy element: {{LinkPatrz|czy_pobierz}}, jest ustawiony na {{Code|true}}, wtedy dla {{LinkPatrz|uchwyt_obiektu}}, pewna tablica, jest wstawiana do tablicy: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}}, jeśli istnieje, a jeśli nie, to jest tworzona, jako tablica, wtedy też jest to robione. Tą czynnością wstawiany tabelę, do tej tablicy, czyli:
<syntaxhighlight lang="lua">
{{nazwa_obiektu,uchwyt_obiektu,},{obiekt,kod,},}
</syntaxhighlight>
=== {{Śródtytuł|p.LinkowanieInnychStron}}{{Code|p.LinkowanieInnychStron}} ===
Funkcja do sprawdzania innych stron niż aktualna, a jeżeli dana strona została już sprawdzona, to powtórnie nie jest już rewidowana. Funkcja ustawia w głównej tablicy aktualnej tabeli {{LinkPatrz|tablica_zmiennych}} pewne podtablice.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieInnychStron(self,obiekt,kod,tablica_zmiennych, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejo jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Najpierw jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, która w razie poprawności nazwy strony, czyli inaczej nazw tej strony, tzn.: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, uruchamia funkcję zdefiniowaną w nim.
{{Tab}}Ta funkcja sprawdza, czy któraś z parametrów nazw istnieje, a jeżeli nie, to dalej jest inicjowana zmienna: {{Code|tablica_zmiennych2}} {{Patrz|tablica_zmiennych2}} pustą tablicą i podobnie {{Code|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}} {{Patrz|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}}, to uruchamiana jest: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, do zbierania informacji o stronie nowej lub przebadanej (wtedy zostają zwrócone parametry z wczęsniejszego jego analizowania, jak była nowa). Funkcja zwraca trzy parametry, tzn. {{Code|tabela_listy_danych_analizy_ksiazki0}} {{Patrz|tabela_listy_danych_analizy_ksiazki0}}, {{LinkPatrz|tablica_zmiennych2}} i {{Code|czy_inna}} {{Patrz|czy_inna}}. Te parametry mogą przyjmować wartość {{Code|nil}}, lub pierwszy {{Code|0}}, drugi, to nic innego jest jak: {{LinkPatrz|tablica_zmiennych2}}, a trzeci parametr jest wtedy równy {{Code|true}}, gdy strona jest nowa, a {{Code|false}} aktualna, a gdy {{Code|nil}}, gdy np. zawartość strony nie istnieje.
Gdy parametr: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, istnieje, wtedy jest spraqdzane, czy któreś z parametrów: {{LinkPatrz|tablica_zmiennych2}} i {{LinkPatrz|czy_inna}}, nie istsnieje, wtedy ta funkcja się zakańcza.
==== {{Śródtytuł|JuzPoliczone}}{{Code|JuzPoliczone}} ====
Dla obiektów, dla których jest ustawiony parametr: {{LinkPatrz|czy_pobierz}}, co dalej w tym rozgałęzieniu instrukcji warunkiwej jest uruchamiana funkcja szablonów tekstu, czyli: {{Code|{{sr|#p.UstawianiePobierz|p=StronicowyParser/SzablonyTekstu}}}}, aby również później za pomocą innych funkcji przeanalizować również tekst w szablonach takich jak: {{s|Śródtekst}}.
Dalej jest tworzona tablica, jeśli nie istnieje, tzn. {{Code|tablica_zmiennych2.dane_juz_policzone}} {{Patrz|tablica_zmiennych2.dane_juz_policzone}}, czyli jest inicjowana pustą tablicą. Dalej jest tworzona, jeśli nie istnieje, tablica wielowymiarowa po kolei, o kluczach kolejno: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}, {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu}}, a jeżeli ta ostatnia wartość tej tablicy była wcześniej, to zwracane jest {{Code|true}}, przeciwnie {{Code|false}}, a tej ostatniej wartości tej tablicy jest przydzielana wartość {{Code|true}}.
==== Dalszy opis funkcji ====
Gdy parametr: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest równy {{Code|0}}, ale nie {{Code|nil}}, wtedy jest sprawdzane, czy artykuł został wcześniej zrewidowany według: {{LinkŚródtytuł|JuzPoliczone}}, a jeżeli tak to jest zakańczany, a gdy ten parametr taakiej wartośsci nie przyjmuje, wtedy tylko jest uruchamiana funkcja bez żadnego warunku.
{{Tab}}Następnie jest uruchamiana funkcja: {{Code|{{sr|#p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony|p=StronicowyParser/SzablonyTekstu}}}}, do przydzielenia pewnych zmiennych z {{LinkPatrz|tablica_zmiennych2}} tablicy {{LinkPatrz|tablica_zmiennych}}.
{{Tab}}Jest sprawdzane, czy dany artykuł należy do spisu, jeżeli nie to są ustawiane pewne kody problemów w tablicy problemów, tzn. {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}.
Dalej jest sprawdzane, czy podany uchwyt {{LinkPatrz|uchwyt_obiektu}}, który jest podany w szablonach linków na aktualnej stronie, czy jest tylko jeden na stronie sprawdzanej, a jeżeli nie jest tak, to jest sprawdzane, czy nie istnieje ustawiony problem: {{Code|błędy uchwytów korzystanych stron}}, funkcją: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to taki problem jest dodawany dzięki: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
{{Tab}}Uruchamiana jest dalej funkcja: {{LinkŚródtytuł|p.PusteParametryReferencji}}, do sprawdzania pustości pewnych parametrów.
{{Tab}}Gdy tabela: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest jednak równa wartości odpowiadającej fałszywej, wtedy jeśli nie istnieje problem: {{Code|błąd wewnętrzny modułu lua stronicowego parsera}}, co jest rewidowane elementem: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to dodawany jest taki problem do tabeli problemów na podstawie: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
=== {{Śródtytuł|p.GeneralneLinkowanie}}{{Code|p.GeneralneLinkowanie}} ===
Funkcja zbiera uchwyty, na aktualnej lub innej stronie, a także je analizuje w odpowiedni sposób, modyfikuje tablica aktualnego modułu, czyli: {{LinkPatrz|tablica_zmiennych}}, na podstawie poszczególnych artykułów tej książki lub innej, która zbiera raz informacje o danej stronie.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Funkcja wyznacza uchwyt z tabeli parametrów: {{LinkPatrz|tabela_parametrow_szablonu}}, o kluczu {{Code|uchwyt}} {{LinkPatrz|uchwyt}} lub {{Code|1}}, a później w kodzie jest on kompletowany funkcją: {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a następnie rozwijany w niej, a później jest dekodowany: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}.
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, wywołujac: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}.
Na samym końcu jest uruchamiana: {{LinkPatrz|KtorySzablonMaZwracacKategorie}} z parametrem o tym uchwycie, wyliczonym wcześniej.
Gdy uchwyt istnieje, ale jest pusty, wtedy uruchamia się: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, następnie: {{LinkŚródtytuł|p.PusteParametryReferencji}}, a jeśli ta wartość nie istnieje, wtedy tylko ta ostatnia funkcja.
Gdy uchwyt: {{LinkPatrz|uchwyt}}, istnieje i jest niepusty, wtedy jest wyznaczana nazwa artykułu z niej samej, lub jeśli nazwa ksiązki istnieje, tylko, wtedy ta nazwa zaczyna być pusta, przeciwnie {{Code|nil}}, wtedy mamy do czynienia ze stroną główną podręcznika.
Gdy nazwa artykułu nie istnieje, wtedy wywoływana jest: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Jeśli nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest niepusta, i gdy nazwa książki nie istnieje, wtedy są liczone parametry nazw, oprócz nazwy artykułu, bo jest policzona, więc te {{ZobaczTeż|nazwy}}: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, z parametrów charakteryzujących nazwę aktualnego artykułu, a jeśli jednak nazwa książki jest pusta, to są sprawdzane parametry w: {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Gdy nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest nieistnieje, i gdy nazwa książki {{LinkPatrz|nazwa_ksiazki}} jest niepusta, wtedy nazwa artykułu zaczyna istnieć i inicjujemy wtedy ją wartością pustą, a jeśli pusta, za zaczyna być potem generowanie kodów błędów funkcją {{LinkŚródtytuł|p.PusteParametryReferencji}}, by potem się zakończyła ta funkcja.
Przeciwnie są liczone parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, tą samą metodą, co w punkcie: {{LinkZobaczTeż|nazwy}}.
Gdy nazwy {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}} są porównywane z nazwami, którymi się przypisje jak w: {{LinkZobaczTeż|nazwy}}, wtedy uruchamiamy funkcję: {{LinkŚródtytuł|p.LinkowanieInnychStron}}, przeciwnie wtedy działają dwie funkcje uruchomione po kolei, tzn.: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
== {{Śródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}{{Code|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} ==
Funkcja służy do zbierania informacji o danej analizowanej stronie, którego główną częścią jest strona korzystana, w której gromadzą się informacji też z pozostałych.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, czy_artykul_korzystany,tablica_zmiennych,czy_szablon_pudelkowy_strony_zbiorczej)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} - jak w: {{LinkPatrz|czy_szablon_pudelkowy_strony_zbiorczej}}.
=== {{Śródtytuł|__FUNKCJA_ARTYKULU}}{{Code|__FUNKCJA_ARTYKULU}} ===
Funkcja do tworzenia tabeli artykułów z innymi parametrami wielowymiarowej tej tabeli, a jeżeli owe pośrednie, i nie tylko, istnieją, to te tabele są zwracane lub nowo są tworzone.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji {{ZobaczTeż|parametry artykułu}}:
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}},
* {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu}} - nazwa artykułu w książce, bez pełnej nazwy książki.
Poniżej są tworzone podtabele puste, jeśli nie zostały utworzone.
Funkcja, która w tabeli: {{Code|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, która istnieje, tworzy tabele trójwymiarową kolejno po prarametrach: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, te tabele pośrednie śą wtedy tworzone, jeśsli nie istnieją, a gdy istnieją to nie są tworzone, tylko funkcja przechodzi do dalszych.
Dalej tworzona jest podtabela, jeśli nie istnieje o nazwie {{Code|lista_podstron_woluminu}} {{Patrz|lista_podstron_woluminu}}.
Następnie generowana jest podtabela, jeśli nie istnieje, o kluczu: {{LinkPatrz|nazwa_artykulu}}.
Funkcja zwraca kolejno elementy, jeśli klucz: {{LinkPatrz|nazwa_artykulu}}, istnieje, zatem:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany;
</syntaxhighlight>
Przeciwnie zwracany jest zbiór zmiennych po kolei:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki;
</syntaxhighlight>
Co to są za zmienne, wiadomo z ich nazw, po prostu są to pewne pośrednie, i nie tylko, tabele.
=== {{Śródtytuł|__FUNKCJA_POBIERANIE}}{{Code|__FUNKCJA_POBIERANIE}} ===
=== {{Śródtytuł|InneInformacjePrzebneDoAnalizowanejKsiazki}}{{Code|InneInformacjePrzebneDoAnalizowanejKsiazki}} ===
==== {{Śródtytuł|__FUNKCJA_SPISU}}{{Code|__FUNKCJA_SPISU}} ====
=== {{Śródtytuł|PrzekierownieAwaryjne}}{{Code|PrzekierownieAwaryjne}} ===
=== {{Śródtytuł|StronaZbiorcza}}{{Code|StronaZbiorcza}} ===
=== {{Śródtytuł|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}}{{Code|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}} ===
=== {{Śródtytuł|GeneralnaAnalizaSzablonuStronicowegoParsera}}{{Code|GeneralnaAnalizaSzablonuStronicowegoParsera}} ===
=== {{Śródtytuł|IterowaniePoElementachTekstu}}{{Code|IterowaniePoElementachTekstu}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieNaglowek}}{{Code|KtorySzablonMaZwracacKategorieNaglowek}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieTekst}}{{Code|KtorySzablonMaZwracacKategorieTekst}} ===
=== {{Śródtytuł|CzyJestTakiProblemJakoElementTablicy}}{{Code|CzyJestTakiProblemJakoElementTablicy}} ===
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
ci2nsrilh298knt2odoco9zn9vx762f
547234
547233
2026-06-29T15:03:41Z
Persino
2851
/* {{Śródtytuł|__FUNKCJA_ARTYKULU}}{{Code|__FUNKCJA_ARTYKULU}} */
547234
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/ZbieranieDanychStron}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== Zbieranie informacji o uchwycie ==
=== {{Śródtytuł|p.UchwytyZeiBezNumeracji}}{{Code|p.UchwytyZeiBezNumeracji}} ===
Funkcja zbiera uchwyty, dla obiektów {{ZobaczTeż|p.UchwytyZeiBezNumeracji}}, bez numeracji, nie licząc obiektów tekst takich jak {{s|Śródtekst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UchwytyZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,lista_dwuelementowa,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} {{Patrz|self}} - zmiennna obiektowa modułu {{Code|{{ld2|StronicowyParser/ZbieranieDanychStron}}}} {{Patrz|StronicowyParser/ZbieranieDanychStron}},
* {{Code|tabela_elementow_strony_kodow}} {{Patrz|tabela_elementow_strony_kodow}} - zmienna zbierająca takie kody jak {{LinkZobaczTeż|p.UchwytyZeiBezNumeracji}},
* {{Code|nazwa_obiektu}} {{Patrz|nazwa obiektu}} - nazwa obiektu,
* {{Code|lista_dwuelementowa}} {{Patrz|lista_dwuelementowa}} - pozycja w normalnej tabeli uchwytów i przeważnie ich numeracji, a tutaj dla tego obiektu,
* {{Code|kod}} {{Patrz|kod}} - numer kodu dla tego obiektu.
Funkcja zbiera elementy {{LinkPatrz|lista_dwuelementowa}} w tablicy wielowymiarowej o pierwszym elemencie wymiaru {{LinkPatrz|nazwa obiektu}} i trzecim {{LinkPatrz|kod}}, oraz o drugim {{Code|uchwyty_bez_numeracji}} {{Patrz|uchwyty_bez_numeracji}}.
=== {{Śródtytuł|p.WydobywanieUchwytuZeiBezNumeracji}}{{Code|p.WydobywanieUchwytuZeiBezNumeracji}} ===
Funkcja wydowywa tablicę uchwytu dla pozycji, ale nie sam uchwyt, dla podtablicy {{LinkPatrz|uchwyty_bez_numeracji}} o danym kodzie {{LinkPatrz|kod}}, dla nazwy obiektu {{LinkPatrz|nazwa_obiektu}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.WydobywanieUchwytuZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_elementow_strony_kodow}} - jak w: {{LinkPatrz|tabela_elementow_strony_kodow}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}}.
Funkcja wykorzystuje elementy tablicy: {{LinkPatrz|uchwyty_bez_numeracji}}, wstawione przez funkcję: {{LinkŚródtytuł|p.UchwytyZeiBezNumeracji}}.
=== {{Śródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}{{Code|p.RozpatrywanieElementuUchwytuNumeracji}} ===
Funkcja wsadzająca utworzoną tablicę z podanym uchwytem do ogólnej tablicy pozycji nazwanych tabel z uchwytami o danej pozycji z nim.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|kod_uchwytu}} {{Patrz|kod_uchwytu}} - kod uchwytu podanego do szablonu stronicowego z odpowiednim uchwytem,
* {{Code|tab_numer}} {{Patrz|tab_numer}} - tablica z numerkami ilości elementów w tablicy parametrów nazwanych z uchwytami, w danym elemencie analizowania strony z uchwytami i obiektami,
* {{Code|tablica_zmiennych}} {{Patrz|tablica_zmiennych}} - tablica analizowania obiektów, danej strony,
* {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} {{Patrz|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - kolejno: nazwa przestrzeni nazw, nazwa przestrzeni książki, nazwa książki i nazwa artykułu książki,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} {{Patrz|czy_artykul_korzystany}} - czy artykuł aktualny wyświetlany w przeglądarce,
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} {{Patrz|nazwa_modulu_aktualna_czy_biezaca}} - nazwa artykułu aktualna lub bieżąca,
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{Patrz|tablica_analizy_obiektow_strony_dany_modul}} - tablica bazy kodów parsowania strony,
* {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - tablica analizy poszczególnych elementów kodów, do szybszego działania skryptu,
* {{Code|KtorySzablonMaZwracacKategorie}} {{Patrz|KtorySzablonMaZwracacKategorie}} - tablica zbierająca odkodowany i rozwinięty uchwyt, do analizowania w nim zebranych kategorii, według modułu: {{Code|{{ld2|StronicowyParser/Kategorie}}}}, uruchamiana w szablonach stronicowych z funkcjami '''stronicowego parsera'''.
Funkcja rozwija {{LinkPatrz|kod_uchwytu}} funkcją {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a potem je odkodowuje przy pomocy: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a jeżeli ona nie jest pusta, to dla tego jest uruchamiana funkcja {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Tworzona jest tablica {{Code|lista_dwuelementowa}} {{LinkPatrz|lista_dwuelementowa}} z uchwytem, jako pierwszy parametr.
Jest sprawdzane, czy element {{Code|tablica_zmiennych.sprawdzenie_dokonane_obiektu}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, jest fałszywy, jeżeli tak, to dalej jest sprawdzane, czy są elementy numerowane nazwanej tablicy: {{Code|tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2}} o nazwie {{LinkPatrz|nazwa_obiektu}}, a jeżeli jest pusta - na samym końcu jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, czyli jest inicjowana na wartość {{Code|true}}, to dalej jest sprawdzane, czy dla elementów: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy dana książka jest poza zakresem obsługiwanym, czyli rewidowane jest, czy jest ustawiony kod problemu {{Code|strony poza zakresem obsługiwanym}}, czy a jeżeli jednak nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}, ustawiające pewne elementy błędu, jeżeli trzeba to zrobić.
Gdy tabela {{LinkPatrz|tab_numer}} odpowiada nienilowej tablicy, wtedy element {{LinkPatrz|lista_dwuelementowa}} jest wstawiany na odpowiedniej pozycji, ale przeważnie nie na końcu, przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=table.insert|b=tak}}}}, dzięki określonej tabeli {{LinkPatrz|tab_numer}}, przeciwnie na jej końcu.
Funkcja zwraca element {{LinkPatrz|lista_dwuelementowa}}.
=== {{Śródtytuł|p.RozpatrywanieSzablonuObiektuDoNumeracji}}{{Code|p.RozpatrywanieSzablonuObiektuDoNumeracji}} ===
Funkcja, która uruchamia funkcję: {{LinkŚródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}, dla istniejącego uchwytu w postaci nazwanej o kluczu: {{Code|uchwyt}} {{Patrz|uchwyt}}, lub nienazwanej - w postaci numeru jego uchwytu o kluczu: {{Code|numer_numeracji}} {{Patrz|numer_numeracji}}, wsadzająca tabele z uchwytem na odpowiednią pozycję w odpowiedniej nazwanej tabeli o nazwie obiektu {{LinkPatrz|nazwa_obiektu}} w ogólnej tabeli: {{LinkPatrz|tablica_zmiennych}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}}- tabela parametrów szablonu,
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|numer_numeracji}} - jak w: {{LinkPatrz|numer_numeracji}},
* {{Code|tab_numer}} - jak w: {{LinkPatrz|tab_numer}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
== {{Śródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}{{Code|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}} ==
Funkcja sprawdza, czy dany artykuł należy do artykułów, któregoś spisu treści, a jeżeli nie, to dla stron, które nie należą do kategorii z ustawionym problemem {{Code|strony poza zakresem obsługiwanym}}, ale do nieaktualnej strony jest ustawiony problem {{Code|brak spisów treści do dołączonych stron}}. Natomiast dla aktualnej dla stron tej samej kategorii ustawiany jest problem {{Code|brak spisu treści do korzystanych stron}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== {{Śródtytuł|p.PusteParametryReferencji}}{{Code|p.PusteParametryReferencji}} ==
Funkcja sprawdza, jeśli są podane parametry szablonu stronicowego, które są w kategorii: {{lk|Szablony stronicowe}}, czyli: {{Code|nazwa_artykulu}}, ewentualnie: {{Code|nazwa_ksiazki}}, ale zawsze z: {{Code|uchwyt_obiektu}}, czy są one puste.
A jeżeli one istnieją i są takie, to są ustawione problemy typu, jeśli ich wcześniej nie ustawiono:
* {{Code|puste parametry szablonów stronicowych linkujących}} {{Patrz|puste parametry szablonów stronicowych linkujących}}, kolejno dla: {{Code|uchwyt_obiektu}}, {{Code|nazwa_artykulu}} i {{Code|nazwa_ksiazki}}, kolejno z numerami problemów: {{Code|1}}, {{Code|2}} i {{Code|3}}.
Dla obiektu o nazwie {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}.
{{Hr}}
Definicja skrótowa funkcji
<syntaxhighlight lang="lua">
function p.PusteParametryReferencji(self, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu)...end;
</syntaxhighlight>
Paraametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} {{Patrz|uchwyt_obiektu}} - uchwyt obiektu, podane w danym szablonie stronicowym,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}}.
== {{Śródtytuł|p.SzablonyReferencjiParametrowych}}{{Code|p.SzablonyReferencjiParametrowych}} ==
Funkcja z parametrów pudełkowych nazwy artykułu {{ZobaczTeż|nazwa artykułu}}: {{Code|nazwa artykułu}} {{Patrz|nazwa artykułu}} albo {{Code|1}}, gdy bezuchwytowe lub {{Code|2}}, i pełnej nazwy książki {{ZobaczTeż|pełna nazwa strony}}: {{Code|nazwa książki}} {{Patrz|nazwa książki}} albo, {{Code|2}}, gdy bezuchwytowe lub {{Code|3}}. To wszystko jest liczone z: {{LinkPatrz|tabela_parametrow_szablonu}} lub przy użyciu parametru również {{Code|bezuchwytowe}} {{Patrz|bezuchwytowe}}, gdy mamy szablon stronicowy {{lk|Szablony stronicowe}}, bezuchwytowy, wtedy {{Code|true}}, przeciwnie {{Code|false/nil}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca,bezuchwytowe)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{Code|bezuchwytowe}} - jak w: {{LinkPatrz|bezuchwytowe}}.
Funkcja obie nazwy dekoduje funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a później jest liczony adres bezwzględny z względnego dzięki: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, przy pomocy podstawy {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}}, podobnie ale wcześniej jest liczona nazwa artykułu {{linkZobaczTeż|nazwa artykułu}}, czyli: {{LinkPatrz|nazwa_artykulu}}, ale tutaj adres względny jest liczony z podstawy o ciągu pustym jako drugi parametr.
Na podstawie pełnej nazwy książki {{LinkZobaczTeż|pełna nazwa strony}}: jest liczona bardziej jej wersja pełniejsza, jeżeli to jest w ogóle możliwe z: {{Code|{{sr|#p["PełnaNazwaStronicowejKsiążki"]|p=Książkowe}}}}. A póżniej z tego wszystkiego są liczone nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, przy pomocy funkcji nazw: {{Code|{{ld2|Nazwy}}}}.
Na samym końcu funkcji są zwracane parametry nazw, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== Funkcje zbierania informacji ==
=== {{Śródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}{{Code|p.ZbieranieInformacjiStronyWoluminowychPozycji}} ===
Funkcja zbierania informacji na stronie dla szablonów stronicowych: {{lk|Szablony stronicowe}}, bezuchwytowych, gdy nie jest uruchomiony parametr: {{Code|czy_inna_wartosc_tekst}} {{Patrz|czy_inna_wartosc_tekst}}, wtedy jest wywoływana funkcja: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}, która liczy kolejne nazwy charaktertyzujące nazwy dla danego artykułu książki dla danej strony, przeciwnie parametry nazw są ściagane z: {{Code|tab_nazwy}} {{Patrz|tab_nazwy}}, ta tabela składa się numerowanych elementów, którymi są nazwy charakyteryzujące stronę.
Gdy jakaś nazwa artylułu strony została policzona, wtedy są liczone pozostałe nazwy z: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, a na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, a tuż przed nim, jeśli istnieje: {{Code|KtorySzablonMaZwracacKategorie}} {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,KtorySzablonMaZwracacKategorie,czy_inna_wartosc_tekst,tab_nazwy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_inna_wartosc_tekst}} - jak w: {{LinkPatrz|czy_inna_wartosc_tekst}},
* {{Code|tab_nazwy}} - jak w: {{LinkPatrz|tab_nazwy}}.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacji}}{{Code|p.ZbieranieKontenerowychInformacji}} ===
Funkcja do zbierania informacji, która z parametrów pudełkowych: {{Code|{{m|Pudełko}}}}, czyli: {{Code|nazwa przestrzeni nazw}} {{Patrz|nazwa przestrzeni nazw}} i {{Code|nazwa jednostki}} {{Patrz|nazwa jednostki}}, z nich są liczone parametry nazw charakteryzujące artykuł książki strony. A na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} {{Patrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,czy_szablon_pudelkowy_strony_zbiorczej,KtorySzablonMaZwracacKategorie)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} {{Patrz|czy_szablon_pudelkowy_strony_zbiorczej}} - funkcja potrzebna do funkcji zbierającej {{LinkPatrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, określającej, czy mamy szablon pudełkowy strony zbiorczej, taki jak: {{Code|{{s|StronaSubst}}}}, czy: {{Code|{{s|KsiążkaSubst}}}}, zobacz stronę: {{Code|{{lr2|Moduły/StronicowyParser/StronaSubst}}}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Gdy nie ma parametrów pudełkowych funkcja się natychmiast zakańcza, lub parametr: {{LinkPatrz|nazwa jednostki}}, jest pusta, lub nawet gdy zawierają kody wykrywane przez funkcję: {{Code|{{sr|#p.NormaWzoruKodowaniaTekstu|p=Szablonowe}}}}.
Z nazwy jednostki jest wydzielana nazwa jednostki właściwa bez nazwy nagłówka, póżniej obie nazwy są też dekodowane funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, czyli wszystko z: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}.
Z tych dwóch nazwy jest liczony adres, ewentualnie względny, który za pomocą funkcji: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, jest wyliczany adres bezwzględny.
Dalej są liczone nazwy charakteryzujące artykuł danej książki strony, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, z tego adresu strony.
Przedostatnia funkcja, która jest uruchamiana przed funkcją zbierającą jest: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}, jeśli istnieje.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacjiReferencji}}{{Code|p.ZbieranieKontenerowychInformacjiReferencji}} ===
Funkcja zbiera informacje o stronie. Na podstawie informacji o nazwie artykułu i pełnej nazwy książki liczy parametry nazw charakteryzujące artykuł, co na tej podstawiwe liczy parametry pudełkowe i wywołuje funkcję główną przez inną funkcję, też zbierającą, i zbiera informacje o artykule.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacjiReferencji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, jako parametry zwracane przez funkcję: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}. Funkcja wyznacza parametry pudełkowe {{m|Pudełko}}, tzn.: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}, na podstawie tych nazw. Funkcja na samym końcu wywołuje funkcję zbierającą dane ze strony: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}, która z kolei uruchamia potem: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
== {{Śródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}{{Code|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}} ==
Funkcja sprawdza niepoprawność nazwy strony i na podstawie tego ustawia pewne kody problemów.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,__FUNKCJA_SPRAWDZANIE)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|__FUNKCJA_SPRAWDZANIE}} {{Patrz|__FUNKCJA_SPRAWDZANIE}} - funkcja uruchamiana, jeśli jest ustawiona, na wypadek poprawności strony.
W przypadku niepoprawności strony, gdy strona modułu jest aktualna (bieżąca), wtedy sprawdzany jest kod problemu, czy jest ustawiony, tzn.: {{Code|nieprawidłowe nazwy korzystanych stron}}, przy pomocy funkcji: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli nie ma takiego, to wtedy jest uruchamiana funkcja: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}. Podobnie jest dla niekorzystanej strony, wtedy jest problem dla kodu: {{Code|nieprawidłowe nazwy stron dołączanych do stron}}.
== Zbieranie informacji o linkach ==
=== {{Śródtytuł|p.LinkowanieFinalizowaniePrac}}{{Code|p.LinkowanieFinalizowaniePrac}} ===
Funkcja wadza uchwyt obiektu, wsazujący na aktualną stronę, do pewnej strony, i ewentualnie ustawia pewne problemy, jeśli je nie ustawiono.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} {{Patrz|obiekt}} - obiekt, obsługiwany przez tą funkcję linku,
* {{Code|kod}} {{LinkPatrz|kod}} - kod obiektu dla: {{LinkPatrz|obiekt}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} - jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}},
* {{Code|czy_pobierz}} {{Patrz|czy_pobierz}} - czy to jest szablon typu {{Code|Pobierz}} {{Patrz|Pobierz}}, jak: {{s|PobierzŚródtekst}}.
Funkcja sprawdza, czy nie został ustawiony element {{Code|tablica_zmiennych.sprawdzenie_dokonane_linku}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}, a jeżeli tak, to dalej, czy nie ma elementów numerowanych przy pomocy funkcji: {{Code|{{sr|#p["CzySąElementyNumerowaneTablicy"]|p=Parametry}}}}, a jeśli również tak, to dalej jest sprawdzane, czy został ustawiony problem: {{Code|strony poza zakresem obsługiwanym}}, przy pomocy: {{Code|{{sr|#p.CzyJestTakiElementTabeliProblemu|p=StronicowyParser/Problemy}}}}, a jeżeli nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}. Na samym końcu tej instrukcji warunkowej jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}.
Dalej pod tą instrukcją warunkową, jest robione, co powiedziane zostało w prologu tego opisu tej funkcji, tzn. z wyznaczonej tablicy ze: {{LinkPatrz|tablica_zmiennych}}, a dalej z wyznaczonej następnej podtabeli o kluczu: {{LinkPatrz|nazwa_obiektu}}.
Następnie, gdy element: {{LinkPatrz|czy_pobierz}}, jest ustawiony na {{Code|true}}, wtedy dla {{LinkPatrz|uchwyt_obiektu}}, pewna tablica, jest wstawiana do tablicy: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}}, jeśli istnieje, a jeśli nie, to jest tworzona, jako tablica, wtedy też jest to robione. Tą czynnością wstawiany tabelę, do tej tablicy, czyli:
<syntaxhighlight lang="lua">
{{nazwa_obiektu,uchwyt_obiektu,},{obiekt,kod,},}
</syntaxhighlight>
=== {{Śródtytuł|p.LinkowanieInnychStron}}{{Code|p.LinkowanieInnychStron}} ===
Funkcja do sprawdzania innych stron niż aktualna, a jeżeli dana strona została już sprawdzona, to powtórnie nie jest już rewidowana. Funkcja ustawia w głównej tablicy aktualnej tabeli {{LinkPatrz|tablica_zmiennych}} pewne podtablice.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieInnychStron(self,obiekt,kod,tablica_zmiennych, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejo jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Najpierw jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, która w razie poprawności nazwy strony, czyli inaczej nazw tej strony, tzn.: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, uruchamia funkcję zdefiniowaną w nim.
{{Tab}}Ta funkcja sprawdza, czy któraś z parametrów nazw istnieje, a jeżeli nie, to dalej jest inicjowana zmienna: {{Code|tablica_zmiennych2}} {{Patrz|tablica_zmiennych2}} pustą tablicą i podobnie {{Code|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}} {{Patrz|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}}, to uruchamiana jest: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, do zbierania informacji o stronie nowej lub przebadanej (wtedy zostają zwrócone parametry z wczęsniejszego jego analizowania, jak była nowa). Funkcja zwraca trzy parametry, tzn. {{Code|tabela_listy_danych_analizy_ksiazki0}} {{Patrz|tabela_listy_danych_analizy_ksiazki0}}, {{LinkPatrz|tablica_zmiennych2}} i {{Code|czy_inna}} {{Patrz|czy_inna}}. Te parametry mogą przyjmować wartość {{Code|nil}}, lub pierwszy {{Code|0}}, drugi, to nic innego jest jak: {{LinkPatrz|tablica_zmiennych2}}, a trzeci parametr jest wtedy równy {{Code|true}}, gdy strona jest nowa, a {{Code|false}} aktualna, a gdy {{Code|nil}}, gdy np. zawartość strony nie istnieje.
Gdy parametr: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, istnieje, wtedy jest spraqdzane, czy któreś z parametrów: {{LinkPatrz|tablica_zmiennych2}} i {{LinkPatrz|czy_inna}}, nie istsnieje, wtedy ta funkcja się zakańcza.
==== {{Śródtytuł|JuzPoliczone}}{{Code|JuzPoliczone}} ====
Dla obiektów, dla których jest ustawiony parametr: {{LinkPatrz|czy_pobierz}}, co dalej w tym rozgałęzieniu instrukcji warunkiwej jest uruchamiana funkcja szablonów tekstu, czyli: {{Code|{{sr|#p.UstawianiePobierz|p=StronicowyParser/SzablonyTekstu}}}}, aby również później za pomocą innych funkcji przeanalizować również tekst w szablonach takich jak: {{s|Śródtekst}}.
Dalej jest tworzona tablica, jeśli nie istnieje, tzn. {{Code|tablica_zmiennych2.dane_juz_policzone}} {{Patrz|tablica_zmiennych2.dane_juz_policzone}}, czyli jest inicjowana pustą tablicą. Dalej jest tworzona, jeśli nie istnieje, tablica wielowymiarowa po kolei, o kluczach kolejno: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}, {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu}}, a jeżeli ta ostatnia wartość tej tablicy była wcześniej, to zwracane jest {{Code|true}}, przeciwnie {{Code|false}}, a tej ostatniej wartości tej tablicy jest przydzielana wartość {{Code|true}}.
==== Dalszy opis funkcji ====
Gdy parametr: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest równy {{Code|0}}, ale nie {{Code|nil}}, wtedy jest sprawdzane, czy artykuł został wcześniej zrewidowany według: {{LinkŚródtytuł|JuzPoliczone}}, a jeżeli tak to jest zakańczany, a gdy ten parametr taakiej wartośsci nie przyjmuje, wtedy tylko jest uruchamiana funkcja bez żadnego warunku.
{{Tab}}Następnie jest uruchamiana funkcja: {{Code|{{sr|#p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony|p=StronicowyParser/SzablonyTekstu}}}}, do przydzielenia pewnych zmiennych z {{LinkPatrz|tablica_zmiennych2}} tablicy {{LinkPatrz|tablica_zmiennych}}.
{{Tab}}Jest sprawdzane, czy dany artykuł należy do spisu, jeżeli nie to są ustawiane pewne kody problemów w tablicy problemów, tzn. {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}.
Dalej jest sprawdzane, czy podany uchwyt {{LinkPatrz|uchwyt_obiektu}}, który jest podany w szablonach linków na aktualnej stronie, czy jest tylko jeden na stronie sprawdzanej, a jeżeli nie jest tak, to jest sprawdzane, czy nie istnieje ustawiony problem: {{Code|błędy uchwytów korzystanych stron}}, funkcją: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to taki problem jest dodawany dzięki: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
{{Tab}}Uruchamiana jest dalej funkcja: {{LinkŚródtytuł|p.PusteParametryReferencji}}, do sprawdzania pustości pewnych parametrów.
{{Tab}}Gdy tabela: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest jednak równa wartości odpowiadającej fałszywej, wtedy jeśli nie istnieje problem: {{Code|błąd wewnętrzny modułu lua stronicowego parsera}}, co jest rewidowane elementem: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to dodawany jest taki problem do tabeli problemów na podstawie: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
=== {{Śródtytuł|p.GeneralneLinkowanie}}{{Code|p.GeneralneLinkowanie}} ===
Funkcja zbiera uchwyty, na aktualnej lub innej stronie, a także je analizuje w odpowiedni sposób, modyfikuje tablica aktualnego modułu, czyli: {{LinkPatrz|tablica_zmiennych}}, na podstawie poszczególnych artykułów tej książki lub innej, która zbiera raz informacje o danej stronie.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Funkcja wyznacza uchwyt z tabeli parametrów: {{LinkPatrz|tabela_parametrow_szablonu}}, o kluczu {{Code|uchwyt}} {{LinkPatrz|uchwyt}} lub {{Code|1}}, a później w kodzie jest on kompletowany funkcją: {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a następnie rozwijany w niej, a później jest dekodowany: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}.
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, wywołujac: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}.
Na samym końcu jest uruchamiana: {{LinkPatrz|KtorySzablonMaZwracacKategorie}} z parametrem o tym uchwycie, wyliczonym wcześniej.
Gdy uchwyt istnieje, ale jest pusty, wtedy uruchamia się: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, następnie: {{LinkŚródtytuł|p.PusteParametryReferencji}}, a jeśli ta wartość nie istnieje, wtedy tylko ta ostatnia funkcja.
Gdy uchwyt: {{LinkPatrz|uchwyt}}, istnieje i jest niepusty, wtedy jest wyznaczana nazwa artykułu z niej samej, lub jeśli nazwa ksiązki istnieje, tylko, wtedy ta nazwa zaczyna być pusta, przeciwnie {{Code|nil}}, wtedy mamy do czynienia ze stroną główną podręcznika.
Gdy nazwa artykułu nie istnieje, wtedy wywoływana jest: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Jeśli nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest niepusta, i gdy nazwa książki nie istnieje, wtedy są liczone parametry nazw, oprócz nazwy artykułu, bo jest policzona, więc te {{ZobaczTeż|nazwy}}: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, z parametrów charakteryzujących nazwę aktualnego artykułu, a jeśli jednak nazwa książki jest pusta, to są sprawdzane parametry w: {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Gdy nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest nieistnieje, i gdy nazwa książki {{LinkPatrz|nazwa_ksiazki}} jest niepusta, wtedy nazwa artykułu zaczyna istnieć i inicjujemy wtedy ją wartością pustą, a jeśli pusta, za zaczyna być potem generowanie kodów błędów funkcją {{LinkŚródtytuł|p.PusteParametryReferencji}}, by potem się zakończyła ta funkcja.
Przeciwnie są liczone parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, tą samą metodą, co w punkcie: {{LinkZobaczTeż|nazwy}}.
Gdy nazwy {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}} są porównywane z nazwami, którymi się przypisje jak w: {{LinkZobaczTeż|nazwy}}, wtedy uruchamiamy funkcję: {{LinkŚródtytuł|p.LinkowanieInnychStron}}, przeciwnie wtedy działają dwie funkcje uruchomione po kolei, tzn.: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
== {{Śródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}{{Code|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} ==
Funkcja służy do zbierania informacji o danej analizowanej stronie, którego główną częścią jest strona korzystana, w której gromadzą się informacji też z pozostałych.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, czy_artykul_korzystany,tablica_zmiennych,czy_szablon_pudelkowy_strony_zbiorczej)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} - jak w: {{LinkPatrz|czy_szablon_pudelkowy_strony_zbiorczej}}.
=== {{Śródtytuł|__FUNKCJA_ARTYKULU}}{{Code|__FUNKCJA_ARTYKULU}} ===
Funkcja do tworzenia tabeli artykułów z innymi parametrami wielowymiarowej tej tabeli, a jeżeli owe pośrednie, i nie tylko, istnieją, to te tabele są zwracane lub nowo są tworzone.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji {{ZobaczTeż|parametry artykułu}}:
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}},
* {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu}} - nazwa artykułu w książce, bez pełnej nazwy książki.
Poniżej są tworzone podtabele puste, jeśli nie zostały utworzone.
Funkcja, która w tabeli: {{Code|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}} {{Patrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, która istnieje, tworzy tabele trójwymiarową kolejno po prarametrach: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, te tabele pośrednie śą wtedy tworzone, jeśsli nie istnieją, a gdy istnieją to nie są tworzone, tylko funkcja przechodzi do dalszych.
Dalej tworzona jest podtabela, jeśli nie istnieje o nazwie {{Code|lista_podstron_woluminu}} {{Patrz|lista_podstron_woluminu}}.
Następnie generowana jest podtabela, jeśli nie istnieje, o kluczu: {{LinkPatrz|nazwa_artykulu}}.
Funkcja zwraca kolejno elementy, jeśli klucz: {{LinkPatrz|nazwa_artykulu}}, istnieje, zatem:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany;
</syntaxhighlight>
Przeciwnie zwracany jest zbiór zmiennych po kolei:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki;
</syntaxhighlight>
Co to są za zmienne, wiadomo z ich nazw, po prostu są to pewne pośrednie, i nie tylko, tabele.
=== {{Śródtytuł|__FUNKCJA_POBIERANIE}}{{Code|__FUNKCJA_POBIERANIE}} ===
=== {{Śródtytuł|InneInformacjePrzebneDoAnalizowanejKsiazki}}{{Code|InneInformacjePrzebneDoAnalizowanejKsiazki}} ===
==== {{Śródtytuł|__FUNKCJA_SPISU}}{{Code|__FUNKCJA_SPISU}} ====
=== {{Śródtytuł|PrzekierownieAwaryjne}}{{Code|PrzekierownieAwaryjne}} ===
=== {{Śródtytuł|StronaZbiorcza}}{{Code|StronaZbiorcza}} ===
=== {{Śródtytuł|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}}{{Code|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}} ===
=== {{Śródtytuł|GeneralnaAnalizaSzablonuStronicowegoParsera}}{{Code|GeneralnaAnalizaSzablonuStronicowegoParsera}} ===
=== {{Śródtytuł|IterowaniePoElementachTekstu}}{{Code|IterowaniePoElementachTekstu}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieNaglowek}}{{Code|KtorySzablonMaZwracacKategorieNaglowek}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieTekst}}{{Code|KtorySzablonMaZwracacKategorieTekst}} ===
=== {{Śródtytuł|CzyJestTakiProblemJakoElementTablicy}}{{Code|CzyJestTakiProblemJakoElementTablicy}} ===
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
j6nfdybv5byvikezxus78xcs24bgbts
547235
547234
2026-06-29T15:04:44Z
Persino
2851
/* {{Śródtytuł|__FUNKCJA_POBIERANIE}}{{Code|__FUNKCJA_POBIERANIE}} */
547235
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/ZbieranieDanychStron}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== Zbieranie informacji o uchwycie ==
=== {{Śródtytuł|p.UchwytyZeiBezNumeracji}}{{Code|p.UchwytyZeiBezNumeracji}} ===
Funkcja zbiera uchwyty, dla obiektów {{ZobaczTeż|p.UchwytyZeiBezNumeracji}}, bez numeracji, nie licząc obiektów tekst takich jak {{s|Śródtekst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UchwytyZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,lista_dwuelementowa,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} {{Patrz|self}} - zmiennna obiektowa modułu {{Code|{{ld2|StronicowyParser/ZbieranieDanychStron}}}} {{Patrz|StronicowyParser/ZbieranieDanychStron}},
* {{Code|tabela_elementow_strony_kodow}} {{Patrz|tabela_elementow_strony_kodow}} - zmienna zbierająca takie kody jak {{LinkZobaczTeż|p.UchwytyZeiBezNumeracji}},
* {{Code|nazwa_obiektu}} {{Patrz|nazwa obiektu}} - nazwa obiektu,
* {{Code|lista_dwuelementowa}} {{Patrz|lista_dwuelementowa}} - pozycja w normalnej tabeli uchwytów i przeważnie ich numeracji, a tutaj dla tego obiektu,
* {{Code|kod}} {{Patrz|kod}} - numer kodu dla tego obiektu.
Funkcja zbiera elementy {{LinkPatrz|lista_dwuelementowa}} w tablicy wielowymiarowej o pierwszym elemencie wymiaru {{LinkPatrz|nazwa obiektu}} i trzecim {{LinkPatrz|kod}}, oraz o drugim {{Code|uchwyty_bez_numeracji}} {{Patrz|uchwyty_bez_numeracji}}.
=== {{Śródtytuł|p.WydobywanieUchwytuZeiBezNumeracji}}{{Code|p.WydobywanieUchwytuZeiBezNumeracji}} ===
Funkcja wydowywa tablicę uchwytu dla pozycji, ale nie sam uchwyt, dla podtablicy {{LinkPatrz|uchwyty_bez_numeracji}} o danym kodzie {{LinkPatrz|kod}}, dla nazwy obiektu {{LinkPatrz|nazwa_obiektu}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.WydobywanieUchwytuZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_elementow_strony_kodow}} - jak w: {{LinkPatrz|tabela_elementow_strony_kodow}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}}.
Funkcja wykorzystuje elementy tablicy: {{LinkPatrz|uchwyty_bez_numeracji}}, wstawione przez funkcję: {{LinkŚródtytuł|p.UchwytyZeiBezNumeracji}}.
=== {{Śródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}{{Code|p.RozpatrywanieElementuUchwytuNumeracji}} ===
Funkcja wsadzająca utworzoną tablicę z podanym uchwytem do ogólnej tablicy pozycji nazwanych tabel z uchwytami o danej pozycji z nim.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|kod_uchwytu}} {{Patrz|kod_uchwytu}} - kod uchwytu podanego do szablonu stronicowego z odpowiednim uchwytem,
* {{Code|tab_numer}} {{Patrz|tab_numer}} - tablica z numerkami ilości elementów w tablicy parametrów nazwanych z uchwytami, w danym elemencie analizowania strony z uchwytami i obiektami,
* {{Code|tablica_zmiennych}} {{Patrz|tablica_zmiennych}} - tablica analizowania obiektów, danej strony,
* {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} {{Patrz|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - kolejno: nazwa przestrzeni nazw, nazwa przestrzeni książki, nazwa książki i nazwa artykułu książki,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} {{Patrz|czy_artykul_korzystany}} - czy artykuł aktualny wyświetlany w przeglądarce,
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} {{Patrz|nazwa_modulu_aktualna_czy_biezaca}} - nazwa artykułu aktualna lub bieżąca,
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{Patrz|tablica_analizy_obiektow_strony_dany_modul}} - tablica bazy kodów parsowania strony,
* {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - tablica analizy poszczególnych elementów kodów, do szybszego działania skryptu,
* {{Code|KtorySzablonMaZwracacKategorie}} {{Patrz|KtorySzablonMaZwracacKategorie}} - tablica zbierająca odkodowany i rozwinięty uchwyt, do analizowania w nim zebranych kategorii, według modułu: {{Code|{{ld2|StronicowyParser/Kategorie}}}}, uruchamiana w szablonach stronicowych z funkcjami '''stronicowego parsera'''.
Funkcja rozwija {{LinkPatrz|kod_uchwytu}} funkcją {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a potem je odkodowuje przy pomocy: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a jeżeli ona nie jest pusta, to dla tego jest uruchamiana funkcja {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Tworzona jest tablica {{Code|lista_dwuelementowa}} {{LinkPatrz|lista_dwuelementowa}} z uchwytem, jako pierwszy parametr.
Jest sprawdzane, czy element {{Code|tablica_zmiennych.sprawdzenie_dokonane_obiektu}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, jest fałszywy, jeżeli tak, to dalej jest sprawdzane, czy są elementy numerowane nazwanej tablicy: {{Code|tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2}} o nazwie {{LinkPatrz|nazwa_obiektu}}, a jeżeli jest pusta - na samym końcu jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, czyli jest inicjowana na wartość {{Code|true}}, to dalej jest sprawdzane, czy dla elementów: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy dana książka jest poza zakresem obsługiwanym, czyli rewidowane jest, czy jest ustawiony kod problemu {{Code|strony poza zakresem obsługiwanym}}, czy a jeżeli jednak nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}, ustawiające pewne elementy błędu, jeżeli trzeba to zrobić.
Gdy tabela {{LinkPatrz|tab_numer}} odpowiada nienilowej tablicy, wtedy element {{LinkPatrz|lista_dwuelementowa}} jest wstawiany na odpowiedniej pozycji, ale przeważnie nie na końcu, przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=table.insert|b=tak}}}}, dzięki określonej tabeli {{LinkPatrz|tab_numer}}, przeciwnie na jej końcu.
Funkcja zwraca element {{LinkPatrz|lista_dwuelementowa}}.
=== {{Śródtytuł|p.RozpatrywanieSzablonuObiektuDoNumeracji}}{{Code|p.RozpatrywanieSzablonuObiektuDoNumeracji}} ===
Funkcja, która uruchamia funkcję: {{LinkŚródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}, dla istniejącego uchwytu w postaci nazwanej o kluczu: {{Code|uchwyt}} {{Patrz|uchwyt}}, lub nienazwanej - w postaci numeru jego uchwytu o kluczu: {{Code|numer_numeracji}} {{Patrz|numer_numeracji}}, wsadzająca tabele z uchwytem na odpowiednią pozycję w odpowiedniej nazwanej tabeli o nazwie obiektu {{LinkPatrz|nazwa_obiektu}} w ogólnej tabeli: {{LinkPatrz|tablica_zmiennych}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}}- tabela parametrów szablonu,
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|numer_numeracji}} - jak w: {{LinkPatrz|numer_numeracji}},
* {{Code|tab_numer}} - jak w: {{LinkPatrz|tab_numer}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
== {{Śródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}{{Code|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}} ==
Funkcja sprawdza, czy dany artykuł należy do artykułów, któregoś spisu treści, a jeżeli nie, to dla stron, które nie należą do kategorii z ustawionym problemem {{Code|strony poza zakresem obsługiwanym}}, ale do nieaktualnej strony jest ustawiony problem {{Code|brak spisów treści do dołączonych stron}}. Natomiast dla aktualnej dla stron tej samej kategorii ustawiany jest problem {{Code|brak spisu treści do korzystanych stron}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== {{Śródtytuł|p.PusteParametryReferencji}}{{Code|p.PusteParametryReferencji}} ==
Funkcja sprawdza, jeśli są podane parametry szablonu stronicowego, które są w kategorii: {{lk|Szablony stronicowe}}, czyli: {{Code|nazwa_artykulu}}, ewentualnie: {{Code|nazwa_ksiazki}}, ale zawsze z: {{Code|uchwyt_obiektu}}, czy są one puste.
A jeżeli one istnieją i są takie, to są ustawione problemy typu, jeśli ich wcześniej nie ustawiono:
* {{Code|puste parametry szablonów stronicowych linkujących}} {{Patrz|puste parametry szablonów stronicowych linkujących}}, kolejno dla: {{Code|uchwyt_obiektu}}, {{Code|nazwa_artykulu}} i {{Code|nazwa_ksiazki}}, kolejno z numerami problemów: {{Code|1}}, {{Code|2}} i {{Code|3}}.
Dla obiektu o nazwie {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}.
{{Hr}}
Definicja skrótowa funkcji
<syntaxhighlight lang="lua">
function p.PusteParametryReferencji(self, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu)...end;
</syntaxhighlight>
Paraametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} {{Patrz|uchwyt_obiektu}} - uchwyt obiektu, podane w danym szablonie stronicowym,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}}.
== {{Śródtytuł|p.SzablonyReferencjiParametrowych}}{{Code|p.SzablonyReferencjiParametrowych}} ==
Funkcja z parametrów pudełkowych nazwy artykułu {{ZobaczTeż|nazwa artykułu}}: {{Code|nazwa artykułu}} {{Patrz|nazwa artykułu}} albo {{Code|1}}, gdy bezuchwytowe lub {{Code|2}}, i pełnej nazwy książki {{ZobaczTeż|pełna nazwa strony}}: {{Code|nazwa książki}} {{Patrz|nazwa książki}} albo, {{Code|2}}, gdy bezuchwytowe lub {{Code|3}}. To wszystko jest liczone z: {{LinkPatrz|tabela_parametrow_szablonu}} lub przy użyciu parametru również {{Code|bezuchwytowe}} {{Patrz|bezuchwytowe}}, gdy mamy szablon stronicowy {{lk|Szablony stronicowe}}, bezuchwytowy, wtedy {{Code|true}}, przeciwnie {{Code|false/nil}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca,bezuchwytowe)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{Code|bezuchwytowe}} - jak w: {{LinkPatrz|bezuchwytowe}}.
Funkcja obie nazwy dekoduje funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a później jest liczony adres bezwzględny z względnego dzięki: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, przy pomocy podstawy {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}}, podobnie ale wcześniej jest liczona nazwa artykułu {{linkZobaczTeż|nazwa artykułu}}, czyli: {{LinkPatrz|nazwa_artykulu}}, ale tutaj adres względny jest liczony z podstawy o ciągu pustym jako drugi parametr.
Na podstawie pełnej nazwy książki {{LinkZobaczTeż|pełna nazwa strony}}: jest liczona bardziej jej wersja pełniejsza, jeżeli to jest w ogóle możliwe z: {{Code|{{sr|#p["PełnaNazwaStronicowejKsiążki"]|p=Książkowe}}}}. A póżniej z tego wszystkiego są liczone nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, przy pomocy funkcji nazw: {{Code|{{ld2|Nazwy}}}}.
Na samym końcu funkcji są zwracane parametry nazw, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== Funkcje zbierania informacji ==
=== {{Śródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}{{Code|p.ZbieranieInformacjiStronyWoluminowychPozycji}} ===
Funkcja zbierania informacji na stronie dla szablonów stronicowych: {{lk|Szablony stronicowe}}, bezuchwytowych, gdy nie jest uruchomiony parametr: {{Code|czy_inna_wartosc_tekst}} {{Patrz|czy_inna_wartosc_tekst}}, wtedy jest wywoływana funkcja: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}, która liczy kolejne nazwy charaktertyzujące nazwy dla danego artykułu książki dla danej strony, przeciwnie parametry nazw są ściagane z: {{Code|tab_nazwy}} {{Patrz|tab_nazwy}}, ta tabela składa się numerowanych elementów, którymi są nazwy charakyteryzujące stronę.
Gdy jakaś nazwa artylułu strony została policzona, wtedy są liczone pozostałe nazwy z: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, a na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, a tuż przed nim, jeśli istnieje: {{Code|KtorySzablonMaZwracacKategorie}} {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,KtorySzablonMaZwracacKategorie,czy_inna_wartosc_tekst,tab_nazwy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_inna_wartosc_tekst}} - jak w: {{LinkPatrz|czy_inna_wartosc_tekst}},
* {{Code|tab_nazwy}} - jak w: {{LinkPatrz|tab_nazwy}}.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacji}}{{Code|p.ZbieranieKontenerowychInformacji}} ===
Funkcja do zbierania informacji, która z parametrów pudełkowych: {{Code|{{m|Pudełko}}}}, czyli: {{Code|nazwa przestrzeni nazw}} {{Patrz|nazwa przestrzeni nazw}} i {{Code|nazwa jednostki}} {{Patrz|nazwa jednostki}}, z nich są liczone parametry nazw charakteryzujące artykuł książki strony. A na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} {{Patrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,czy_szablon_pudelkowy_strony_zbiorczej,KtorySzablonMaZwracacKategorie)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} {{Patrz|czy_szablon_pudelkowy_strony_zbiorczej}} - funkcja potrzebna do funkcji zbierającej {{LinkPatrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, określającej, czy mamy szablon pudełkowy strony zbiorczej, taki jak: {{Code|{{s|StronaSubst}}}}, czy: {{Code|{{s|KsiążkaSubst}}}}, zobacz stronę: {{Code|{{lr2|Moduły/StronicowyParser/StronaSubst}}}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Gdy nie ma parametrów pudełkowych funkcja się natychmiast zakańcza, lub parametr: {{LinkPatrz|nazwa jednostki}}, jest pusta, lub nawet gdy zawierają kody wykrywane przez funkcję: {{Code|{{sr|#p.NormaWzoruKodowaniaTekstu|p=Szablonowe}}}}.
Z nazwy jednostki jest wydzielana nazwa jednostki właściwa bez nazwy nagłówka, póżniej obie nazwy są też dekodowane funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, czyli wszystko z: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}.
Z tych dwóch nazwy jest liczony adres, ewentualnie względny, który za pomocą funkcji: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, jest wyliczany adres bezwzględny.
Dalej są liczone nazwy charakteryzujące artykuł danej książki strony, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, z tego adresu strony.
Przedostatnia funkcja, która jest uruchamiana przed funkcją zbierającą jest: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}, jeśli istnieje.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacjiReferencji}}{{Code|p.ZbieranieKontenerowychInformacjiReferencji}} ===
Funkcja zbiera informacje o stronie. Na podstawie informacji o nazwie artykułu i pełnej nazwy książki liczy parametry nazw charakteryzujące artykuł, co na tej podstawiwe liczy parametry pudełkowe i wywołuje funkcję główną przez inną funkcję, też zbierającą, i zbiera informacje o artykule.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacjiReferencji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, jako parametry zwracane przez funkcję: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}. Funkcja wyznacza parametry pudełkowe {{m|Pudełko}}, tzn.: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}, na podstawie tych nazw. Funkcja na samym końcu wywołuje funkcję zbierającą dane ze strony: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}, która z kolei uruchamia potem: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
== {{Śródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}{{Code|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}} ==
Funkcja sprawdza niepoprawność nazwy strony i na podstawie tego ustawia pewne kody problemów.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,__FUNKCJA_SPRAWDZANIE)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|__FUNKCJA_SPRAWDZANIE}} {{Patrz|__FUNKCJA_SPRAWDZANIE}} - funkcja uruchamiana, jeśli jest ustawiona, na wypadek poprawności strony.
W przypadku niepoprawności strony, gdy strona modułu jest aktualna (bieżąca), wtedy sprawdzany jest kod problemu, czy jest ustawiony, tzn.: {{Code|nieprawidłowe nazwy korzystanych stron}}, przy pomocy funkcji: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli nie ma takiego, to wtedy jest uruchamiana funkcja: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}. Podobnie jest dla niekorzystanej strony, wtedy jest problem dla kodu: {{Code|nieprawidłowe nazwy stron dołączanych do stron}}.
== Zbieranie informacji o linkach ==
=== {{Śródtytuł|p.LinkowanieFinalizowaniePrac}}{{Code|p.LinkowanieFinalizowaniePrac}} ===
Funkcja wadza uchwyt obiektu, wsazujący na aktualną stronę, do pewnej strony, i ewentualnie ustawia pewne problemy, jeśli je nie ustawiono.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} {{Patrz|obiekt}} - obiekt, obsługiwany przez tą funkcję linku,
* {{Code|kod}} {{LinkPatrz|kod}} - kod obiektu dla: {{LinkPatrz|obiekt}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} - jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}},
* {{Code|czy_pobierz}} {{Patrz|czy_pobierz}} - czy to jest szablon typu {{Code|Pobierz}} {{Patrz|Pobierz}}, jak: {{s|PobierzŚródtekst}}.
Funkcja sprawdza, czy nie został ustawiony element {{Code|tablica_zmiennych.sprawdzenie_dokonane_linku}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}, a jeżeli tak, to dalej, czy nie ma elementów numerowanych przy pomocy funkcji: {{Code|{{sr|#p["CzySąElementyNumerowaneTablicy"]|p=Parametry}}}}, a jeśli również tak, to dalej jest sprawdzane, czy został ustawiony problem: {{Code|strony poza zakresem obsługiwanym}}, przy pomocy: {{Code|{{sr|#p.CzyJestTakiElementTabeliProblemu|p=StronicowyParser/Problemy}}}}, a jeżeli nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}. Na samym końcu tej instrukcji warunkowej jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}.
Dalej pod tą instrukcją warunkową, jest robione, co powiedziane zostało w prologu tego opisu tej funkcji, tzn. z wyznaczonej tablicy ze: {{LinkPatrz|tablica_zmiennych}}, a dalej z wyznaczonej następnej podtabeli o kluczu: {{LinkPatrz|nazwa_obiektu}}.
Następnie, gdy element: {{LinkPatrz|czy_pobierz}}, jest ustawiony na {{Code|true}}, wtedy dla {{LinkPatrz|uchwyt_obiektu}}, pewna tablica, jest wstawiana do tablicy: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}}, jeśli istnieje, a jeśli nie, to jest tworzona, jako tablica, wtedy też jest to robione. Tą czynnością wstawiany tabelę, do tej tablicy, czyli:
<syntaxhighlight lang="lua">
{{nazwa_obiektu,uchwyt_obiektu,},{obiekt,kod,},}
</syntaxhighlight>
=== {{Śródtytuł|p.LinkowanieInnychStron}}{{Code|p.LinkowanieInnychStron}} ===
Funkcja do sprawdzania innych stron niż aktualna, a jeżeli dana strona została już sprawdzona, to powtórnie nie jest już rewidowana. Funkcja ustawia w głównej tablicy aktualnej tabeli {{LinkPatrz|tablica_zmiennych}} pewne podtablice.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieInnychStron(self,obiekt,kod,tablica_zmiennych, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejo jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Najpierw jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, która w razie poprawności nazwy strony, czyli inaczej nazw tej strony, tzn.: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, uruchamia funkcję zdefiniowaną w nim.
{{Tab}}Ta funkcja sprawdza, czy któraś z parametrów nazw istnieje, a jeżeli nie, to dalej jest inicjowana zmienna: {{Code|tablica_zmiennych2}} {{Patrz|tablica_zmiennych2}} pustą tablicą i podobnie {{Code|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}} {{Patrz|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}}, to uruchamiana jest: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, do zbierania informacji o stronie nowej lub przebadanej (wtedy zostają zwrócone parametry z wczęsniejszego jego analizowania, jak była nowa). Funkcja zwraca trzy parametry, tzn. {{Code|tabela_listy_danych_analizy_ksiazki0}} {{Patrz|tabela_listy_danych_analizy_ksiazki0}}, {{LinkPatrz|tablica_zmiennych2}} i {{Code|czy_inna}} {{Patrz|czy_inna}}. Te parametry mogą przyjmować wartość {{Code|nil}}, lub pierwszy {{Code|0}}, drugi, to nic innego jest jak: {{LinkPatrz|tablica_zmiennych2}}, a trzeci parametr jest wtedy równy {{Code|true}}, gdy strona jest nowa, a {{Code|false}} aktualna, a gdy {{Code|nil}}, gdy np. zawartość strony nie istnieje.
Gdy parametr: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, istnieje, wtedy jest spraqdzane, czy któreś z parametrów: {{LinkPatrz|tablica_zmiennych2}} i {{LinkPatrz|czy_inna}}, nie istsnieje, wtedy ta funkcja się zakańcza.
==== {{Śródtytuł|JuzPoliczone}}{{Code|JuzPoliczone}} ====
Dla obiektów, dla których jest ustawiony parametr: {{LinkPatrz|czy_pobierz}}, co dalej w tym rozgałęzieniu instrukcji warunkiwej jest uruchamiana funkcja szablonów tekstu, czyli: {{Code|{{sr|#p.UstawianiePobierz|p=StronicowyParser/SzablonyTekstu}}}}, aby również później za pomocą innych funkcji przeanalizować również tekst w szablonach takich jak: {{s|Śródtekst}}.
Dalej jest tworzona tablica, jeśli nie istnieje, tzn. {{Code|tablica_zmiennych2.dane_juz_policzone}} {{Patrz|tablica_zmiennych2.dane_juz_policzone}}, czyli jest inicjowana pustą tablicą. Dalej jest tworzona, jeśli nie istnieje, tablica wielowymiarowa po kolei, o kluczach kolejno: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}, {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu}}, a jeżeli ta ostatnia wartość tej tablicy była wcześniej, to zwracane jest {{Code|true}}, przeciwnie {{Code|false}}, a tej ostatniej wartości tej tablicy jest przydzielana wartość {{Code|true}}.
==== Dalszy opis funkcji ====
Gdy parametr: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest równy {{Code|0}}, ale nie {{Code|nil}}, wtedy jest sprawdzane, czy artykuł został wcześniej zrewidowany według: {{LinkŚródtytuł|JuzPoliczone}}, a jeżeli tak to jest zakańczany, a gdy ten parametr taakiej wartośsci nie przyjmuje, wtedy tylko jest uruchamiana funkcja bez żadnego warunku.
{{Tab}}Następnie jest uruchamiana funkcja: {{Code|{{sr|#p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony|p=StronicowyParser/SzablonyTekstu}}}}, do przydzielenia pewnych zmiennych z {{LinkPatrz|tablica_zmiennych2}} tablicy {{LinkPatrz|tablica_zmiennych}}.
{{Tab}}Jest sprawdzane, czy dany artykuł należy do spisu, jeżeli nie to są ustawiane pewne kody problemów w tablicy problemów, tzn. {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}.
Dalej jest sprawdzane, czy podany uchwyt {{LinkPatrz|uchwyt_obiektu}}, który jest podany w szablonach linków na aktualnej stronie, czy jest tylko jeden na stronie sprawdzanej, a jeżeli nie jest tak, to jest sprawdzane, czy nie istnieje ustawiony problem: {{Code|błędy uchwytów korzystanych stron}}, funkcją: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to taki problem jest dodawany dzięki: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
{{Tab}}Uruchamiana jest dalej funkcja: {{LinkŚródtytuł|p.PusteParametryReferencji}}, do sprawdzania pustości pewnych parametrów.
{{Tab}}Gdy tabela: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest jednak równa wartości odpowiadającej fałszywej, wtedy jeśli nie istnieje problem: {{Code|błąd wewnętrzny modułu lua stronicowego parsera}}, co jest rewidowane elementem: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to dodawany jest taki problem do tabeli problemów na podstawie: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
=== {{Śródtytuł|p.GeneralneLinkowanie}}{{Code|p.GeneralneLinkowanie}} ===
Funkcja zbiera uchwyty, na aktualnej lub innej stronie, a także je analizuje w odpowiedni sposób, modyfikuje tablica aktualnego modułu, czyli: {{LinkPatrz|tablica_zmiennych}}, na podstawie poszczególnych artykułów tej książki lub innej, która zbiera raz informacje o danej stronie.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Funkcja wyznacza uchwyt z tabeli parametrów: {{LinkPatrz|tabela_parametrow_szablonu}}, o kluczu {{Code|uchwyt}} {{LinkPatrz|uchwyt}} lub {{Code|1}}, a później w kodzie jest on kompletowany funkcją: {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a następnie rozwijany w niej, a później jest dekodowany: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}.
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, wywołujac: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}.
Na samym końcu jest uruchamiana: {{LinkPatrz|KtorySzablonMaZwracacKategorie}} z parametrem o tym uchwycie, wyliczonym wcześniej.
Gdy uchwyt istnieje, ale jest pusty, wtedy uruchamia się: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, następnie: {{LinkŚródtytuł|p.PusteParametryReferencji}}, a jeśli ta wartość nie istnieje, wtedy tylko ta ostatnia funkcja.
Gdy uchwyt: {{LinkPatrz|uchwyt}}, istnieje i jest niepusty, wtedy jest wyznaczana nazwa artykułu z niej samej, lub jeśli nazwa ksiązki istnieje, tylko, wtedy ta nazwa zaczyna być pusta, przeciwnie {{Code|nil}}, wtedy mamy do czynienia ze stroną główną podręcznika.
Gdy nazwa artykułu nie istnieje, wtedy wywoływana jest: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Jeśli nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest niepusta, i gdy nazwa książki nie istnieje, wtedy są liczone parametry nazw, oprócz nazwy artykułu, bo jest policzona, więc te {{ZobaczTeż|nazwy}}: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, z parametrów charakteryzujących nazwę aktualnego artykułu, a jeśli jednak nazwa książki jest pusta, to są sprawdzane parametry w: {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Gdy nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest nieistnieje, i gdy nazwa książki {{LinkPatrz|nazwa_ksiazki}} jest niepusta, wtedy nazwa artykułu zaczyna istnieć i inicjujemy wtedy ją wartością pustą, a jeśli pusta, za zaczyna być potem generowanie kodów błędów funkcją {{LinkŚródtytuł|p.PusteParametryReferencji}}, by potem się zakończyła ta funkcja.
Przeciwnie są liczone parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, tą samą metodą, co w punkcie: {{LinkZobaczTeż|nazwy}}.
Gdy nazwy {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}} są porównywane z nazwami, którymi się przypisje jak w: {{LinkZobaczTeż|nazwy}}, wtedy uruchamiamy funkcję: {{LinkŚródtytuł|p.LinkowanieInnychStron}}, przeciwnie wtedy działają dwie funkcje uruchomione po kolei, tzn.: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
== {{Śródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}{{Code|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} ==
Funkcja służy do zbierania informacji o danej analizowanej stronie, którego główną częścią jest strona korzystana, w której gromadzą się informacji też z pozostałych.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, czy_artykul_korzystany,tablica_zmiennych,czy_szablon_pudelkowy_strony_zbiorczej)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} - jak w: {{LinkPatrz|czy_szablon_pudelkowy_strony_zbiorczej}}.
=== {{Śródtytuł|__FUNKCJA_ARTYKULU}}{{Code|__FUNKCJA_ARTYKULU}} ===
Funkcja do tworzenia tabeli artykułów z innymi parametrami wielowymiarowej tej tabeli, a jeżeli owe pośrednie, i nie tylko, istnieją, to te tabele są zwracane lub nowo są tworzone.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji {{ZobaczTeż|parametry artykułu}}:
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}},
* {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu}} - nazwa artykułu w książce, bez pełnej nazwy książki.
Poniżej są tworzone podtabele puste, jeśli nie zostały utworzone.
Funkcja, która w tabeli: {{Code|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}} {{Patrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, która istnieje, tworzy tabele trójwymiarową kolejno po prarametrach: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, te tabele pośrednie śą wtedy tworzone, jeśsli nie istnieją, a gdy istnieją to nie są tworzone, tylko funkcja przechodzi do dalszych.
Dalej tworzona jest podtabela, jeśli nie istnieje o nazwie {{Code|lista_podstron_woluminu}} {{Patrz|lista_podstron_woluminu}}.
Następnie generowana jest podtabela, jeśli nie istnieje, o kluczu: {{LinkPatrz|nazwa_artykulu}}.
Funkcja zwraca kolejno elementy, jeśli klucz: {{LinkPatrz|nazwa_artykulu}}, istnieje, zatem:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany;
</syntaxhighlight>
Przeciwnie zwracany jest zbiór zmiennych po kolei:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki;
</syntaxhighlight>
Co to są za zmienne, wiadomo z ich nazw, po prostu są to pewne pośrednie, i nie tylko, tabele.
=== {{Śródtytuł|__FUNKCJA_POBIERANIE}}{{Code|__FUNKCJA_POBIERANIE}} ===
Funkcja zwraca parametry strony aktualnej, analizowanej jeszcze raz, aby ją nie powtórnie rewidować, lub podobnie innego artykułu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_POBIERANIE(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji są takie same jak w punkcie {{LinkZobaczTeż|parametry artykułu}}.
{{Tab}}Analiza dla artykułów niekorzystanych według paarametru {{LinkPatrz|czy_artykul_korzystany}}.
Dla jeszcze raz analizowanego artykułui aktualnego zwracane są parametry:
<syntaxhighlight lang="lua">
return 0,nil,nil,nil,nil,nil,self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron,false;
</syntaxhighlight>
Dla innej takiej strony jest tworzony parametr, jeżeli jest włączona analiza, dla klucza: {{Code|analiza_spis_tresci}} {{Patrz|analiza_spis_tresci}}, według tego jest tworzony wartością prawdziwą parametr o innym znów kluczu: {{Code|analiza_spis_tresci_doloczone}} {{Patrz|analiza_spis_tresci_doloczone}}:
<syntaxhighlight lang="lua">
if(self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci)then
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=true;
end;
</syntaxhighlight>
Dla elementu: {{LinkPatrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, jeżeli dany artykuł był już rewidowany, to zwracane są elementy:
<syntaxhighlight lang="lua">
return 0,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni,dane_zebrane_ze_stron,true;
</syntaxhighlight>
Przeciwnie jest zwracane: {{Code|true}}, lub {{Code|nil}}, jeśli tabela: {{Code|self.tabela_listy_danych_analizy_ksiazki}} {{Patrz|self.tabela_listy_danych_analizy_ksiazki}}, lub podtatela: {{LinkPatrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, nie istsnieje.
=== {{Śródtytuł|InneInformacjePrzebneDoAnalizowanejKsiazki}}{{Code|InneInformacjePrzebneDoAnalizowanejKsiazki}} ===
==== {{Śródtytuł|__FUNKCJA_SPISU}}{{Code|__FUNKCJA_SPISU}} ====
=== {{Śródtytuł|PrzekierownieAwaryjne}}{{Code|PrzekierownieAwaryjne}} ===
=== {{Śródtytuł|StronaZbiorcza}}{{Code|StronaZbiorcza}} ===
=== {{Śródtytuł|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}}{{Code|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}} ===
=== {{Śródtytuł|GeneralnaAnalizaSzablonuStronicowegoParsera}}{{Code|GeneralnaAnalizaSzablonuStronicowegoParsera}} ===
=== {{Śródtytuł|IterowaniePoElementachTekstu}}{{Code|IterowaniePoElementachTekstu}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieNaglowek}}{{Code|KtorySzablonMaZwracacKategorieNaglowek}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieTekst}}{{Code|KtorySzablonMaZwracacKategorieTekst}} ===
=== {{Śródtytuł|CzyJestTakiProblemJakoElementTablicy}}{{Code|CzyJestTakiProblemJakoElementTablicy}} ===
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
c6trkh4rjoh6vzw0lt5vvke7hehz3ny
547236
547235
2026-06-29T15:04:59Z
Persino
2851
/* {{Śródtytuł|__FUNKCJA_POBIERANIE}}{{Code|__FUNKCJA_POBIERANIE}} */
547236
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/ZbieranieDanychStron}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== Zbieranie informacji o uchwycie ==
=== {{Śródtytuł|p.UchwytyZeiBezNumeracji}}{{Code|p.UchwytyZeiBezNumeracji}} ===
Funkcja zbiera uchwyty, dla obiektów {{ZobaczTeż|p.UchwytyZeiBezNumeracji}}, bez numeracji, nie licząc obiektów tekst takich jak {{s|Śródtekst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UchwytyZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,lista_dwuelementowa,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} {{Patrz|self}} - zmiennna obiektowa modułu {{Code|{{ld2|StronicowyParser/ZbieranieDanychStron}}}} {{Patrz|StronicowyParser/ZbieranieDanychStron}},
* {{Code|tabela_elementow_strony_kodow}} {{Patrz|tabela_elementow_strony_kodow}} - zmienna zbierająca takie kody jak {{LinkZobaczTeż|p.UchwytyZeiBezNumeracji}},
* {{Code|nazwa_obiektu}} {{Patrz|nazwa obiektu}} - nazwa obiektu,
* {{Code|lista_dwuelementowa}} {{Patrz|lista_dwuelementowa}} - pozycja w normalnej tabeli uchwytów i przeważnie ich numeracji, a tutaj dla tego obiektu,
* {{Code|kod}} {{Patrz|kod}} - numer kodu dla tego obiektu.
Funkcja zbiera elementy {{LinkPatrz|lista_dwuelementowa}} w tablicy wielowymiarowej o pierwszym elemencie wymiaru {{LinkPatrz|nazwa obiektu}} i trzecim {{LinkPatrz|kod}}, oraz o drugim {{Code|uchwyty_bez_numeracji}} {{Patrz|uchwyty_bez_numeracji}}.
=== {{Śródtytuł|p.WydobywanieUchwytuZeiBezNumeracji}}{{Code|p.WydobywanieUchwytuZeiBezNumeracji}} ===
Funkcja wydowywa tablicę uchwytu dla pozycji, ale nie sam uchwyt, dla podtablicy {{LinkPatrz|uchwyty_bez_numeracji}} o danym kodzie {{LinkPatrz|kod}}, dla nazwy obiektu {{LinkPatrz|nazwa_obiektu}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.WydobywanieUchwytuZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_elementow_strony_kodow}} - jak w: {{LinkPatrz|tabela_elementow_strony_kodow}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}}.
Funkcja wykorzystuje elementy tablicy: {{LinkPatrz|uchwyty_bez_numeracji}}, wstawione przez funkcję: {{LinkŚródtytuł|p.UchwytyZeiBezNumeracji}}.
=== {{Śródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}{{Code|p.RozpatrywanieElementuUchwytuNumeracji}} ===
Funkcja wsadzająca utworzoną tablicę z podanym uchwytem do ogólnej tablicy pozycji nazwanych tabel z uchwytami o danej pozycji z nim.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|kod_uchwytu}} {{Patrz|kod_uchwytu}} - kod uchwytu podanego do szablonu stronicowego z odpowiednim uchwytem,
* {{Code|tab_numer}} {{Patrz|tab_numer}} - tablica z numerkami ilości elementów w tablicy parametrów nazwanych z uchwytami, w danym elemencie analizowania strony z uchwytami i obiektami,
* {{Code|tablica_zmiennych}} {{Patrz|tablica_zmiennych}} - tablica analizowania obiektów, danej strony,
* {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} {{Patrz|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - kolejno: nazwa przestrzeni nazw, nazwa przestrzeni książki, nazwa książki i nazwa artykułu książki,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} {{Patrz|czy_artykul_korzystany}} - czy artykuł aktualny wyświetlany w przeglądarce,
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} {{Patrz|nazwa_modulu_aktualna_czy_biezaca}} - nazwa artykułu aktualna lub bieżąca,
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{Patrz|tablica_analizy_obiektow_strony_dany_modul}} - tablica bazy kodów parsowania strony,
* {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - tablica analizy poszczególnych elementów kodów, do szybszego działania skryptu,
* {{Code|KtorySzablonMaZwracacKategorie}} {{Patrz|KtorySzablonMaZwracacKategorie}} - tablica zbierająca odkodowany i rozwinięty uchwyt, do analizowania w nim zebranych kategorii, według modułu: {{Code|{{ld2|StronicowyParser/Kategorie}}}}, uruchamiana w szablonach stronicowych z funkcjami '''stronicowego parsera'''.
Funkcja rozwija {{LinkPatrz|kod_uchwytu}} funkcją {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a potem je odkodowuje przy pomocy: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a jeżeli ona nie jest pusta, to dla tego jest uruchamiana funkcja {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Tworzona jest tablica {{Code|lista_dwuelementowa}} {{LinkPatrz|lista_dwuelementowa}} z uchwytem, jako pierwszy parametr.
Jest sprawdzane, czy element {{Code|tablica_zmiennych.sprawdzenie_dokonane_obiektu}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, jest fałszywy, jeżeli tak, to dalej jest sprawdzane, czy są elementy numerowane nazwanej tablicy: {{Code|tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2}} o nazwie {{LinkPatrz|nazwa_obiektu}}, a jeżeli jest pusta - na samym końcu jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, czyli jest inicjowana na wartość {{Code|true}}, to dalej jest sprawdzane, czy dla elementów: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy dana książka jest poza zakresem obsługiwanym, czyli rewidowane jest, czy jest ustawiony kod problemu {{Code|strony poza zakresem obsługiwanym}}, czy a jeżeli jednak nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}, ustawiające pewne elementy błędu, jeżeli trzeba to zrobić.
Gdy tabela {{LinkPatrz|tab_numer}} odpowiada nienilowej tablicy, wtedy element {{LinkPatrz|lista_dwuelementowa}} jest wstawiany na odpowiedniej pozycji, ale przeważnie nie na końcu, przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=table.insert|b=tak}}}}, dzięki określonej tabeli {{LinkPatrz|tab_numer}}, przeciwnie na jej końcu.
Funkcja zwraca element {{LinkPatrz|lista_dwuelementowa}}.
=== {{Śródtytuł|p.RozpatrywanieSzablonuObiektuDoNumeracji}}{{Code|p.RozpatrywanieSzablonuObiektuDoNumeracji}} ===
Funkcja, która uruchamia funkcję: {{LinkŚródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}, dla istniejącego uchwytu w postaci nazwanej o kluczu: {{Code|uchwyt}} {{Patrz|uchwyt}}, lub nienazwanej - w postaci numeru jego uchwytu o kluczu: {{Code|numer_numeracji}} {{Patrz|numer_numeracji}}, wsadzająca tabele z uchwytem na odpowiednią pozycję w odpowiedniej nazwanej tabeli o nazwie obiektu {{LinkPatrz|nazwa_obiektu}} w ogólnej tabeli: {{LinkPatrz|tablica_zmiennych}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}}- tabela parametrów szablonu,
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|numer_numeracji}} - jak w: {{LinkPatrz|numer_numeracji}},
* {{Code|tab_numer}} - jak w: {{LinkPatrz|tab_numer}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
== {{Śródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}{{Code|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}} ==
Funkcja sprawdza, czy dany artykuł należy do artykułów, któregoś spisu treści, a jeżeli nie, to dla stron, które nie należą do kategorii z ustawionym problemem {{Code|strony poza zakresem obsługiwanym}}, ale do nieaktualnej strony jest ustawiony problem {{Code|brak spisów treści do dołączonych stron}}. Natomiast dla aktualnej dla stron tej samej kategorii ustawiany jest problem {{Code|brak spisu treści do korzystanych stron}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== {{Śródtytuł|p.PusteParametryReferencji}}{{Code|p.PusteParametryReferencji}} ==
Funkcja sprawdza, jeśli są podane parametry szablonu stronicowego, które są w kategorii: {{lk|Szablony stronicowe}}, czyli: {{Code|nazwa_artykulu}}, ewentualnie: {{Code|nazwa_ksiazki}}, ale zawsze z: {{Code|uchwyt_obiektu}}, czy są one puste.
A jeżeli one istnieją i są takie, to są ustawione problemy typu, jeśli ich wcześniej nie ustawiono:
* {{Code|puste parametry szablonów stronicowych linkujących}} {{Patrz|puste parametry szablonów stronicowych linkujących}}, kolejno dla: {{Code|uchwyt_obiektu}}, {{Code|nazwa_artykulu}} i {{Code|nazwa_ksiazki}}, kolejno z numerami problemów: {{Code|1}}, {{Code|2}} i {{Code|3}}.
Dla obiektu o nazwie {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}.
{{Hr}}
Definicja skrótowa funkcji
<syntaxhighlight lang="lua">
function p.PusteParametryReferencji(self, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu)...end;
</syntaxhighlight>
Paraametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} {{Patrz|uchwyt_obiektu}} - uchwyt obiektu, podane w danym szablonie stronicowym,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}}.
== {{Śródtytuł|p.SzablonyReferencjiParametrowych}}{{Code|p.SzablonyReferencjiParametrowych}} ==
Funkcja z parametrów pudełkowych nazwy artykułu {{ZobaczTeż|nazwa artykułu}}: {{Code|nazwa artykułu}} {{Patrz|nazwa artykułu}} albo {{Code|1}}, gdy bezuchwytowe lub {{Code|2}}, i pełnej nazwy książki {{ZobaczTeż|pełna nazwa strony}}: {{Code|nazwa książki}} {{Patrz|nazwa książki}} albo, {{Code|2}}, gdy bezuchwytowe lub {{Code|3}}. To wszystko jest liczone z: {{LinkPatrz|tabela_parametrow_szablonu}} lub przy użyciu parametru również {{Code|bezuchwytowe}} {{Patrz|bezuchwytowe}}, gdy mamy szablon stronicowy {{lk|Szablony stronicowe}}, bezuchwytowy, wtedy {{Code|true}}, przeciwnie {{Code|false/nil}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca,bezuchwytowe)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{Code|bezuchwytowe}} - jak w: {{LinkPatrz|bezuchwytowe}}.
Funkcja obie nazwy dekoduje funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a później jest liczony adres bezwzględny z względnego dzięki: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, przy pomocy podstawy {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}}, podobnie ale wcześniej jest liczona nazwa artykułu {{linkZobaczTeż|nazwa artykułu}}, czyli: {{LinkPatrz|nazwa_artykulu}}, ale tutaj adres względny jest liczony z podstawy o ciągu pustym jako drugi parametr.
Na podstawie pełnej nazwy książki {{LinkZobaczTeż|pełna nazwa strony}}: jest liczona bardziej jej wersja pełniejsza, jeżeli to jest w ogóle możliwe z: {{Code|{{sr|#p["PełnaNazwaStronicowejKsiążki"]|p=Książkowe}}}}. A póżniej z tego wszystkiego są liczone nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, przy pomocy funkcji nazw: {{Code|{{ld2|Nazwy}}}}.
Na samym końcu funkcji są zwracane parametry nazw, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== Funkcje zbierania informacji ==
=== {{Śródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}{{Code|p.ZbieranieInformacjiStronyWoluminowychPozycji}} ===
Funkcja zbierania informacji na stronie dla szablonów stronicowych: {{lk|Szablony stronicowe}}, bezuchwytowych, gdy nie jest uruchomiony parametr: {{Code|czy_inna_wartosc_tekst}} {{Patrz|czy_inna_wartosc_tekst}}, wtedy jest wywoływana funkcja: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}, która liczy kolejne nazwy charaktertyzujące nazwy dla danego artykułu książki dla danej strony, przeciwnie parametry nazw są ściagane z: {{Code|tab_nazwy}} {{Patrz|tab_nazwy}}, ta tabela składa się numerowanych elementów, którymi są nazwy charakyteryzujące stronę.
Gdy jakaś nazwa artylułu strony została policzona, wtedy są liczone pozostałe nazwy z: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, a na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, a tuż przed nim, jeśli istnieje: {{Code|KtorySzablonMaZwracacKategorie}} {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,KtorySzablonMaZwracacKategorie,czy_inna_wartosc_tekst,tab_nazwy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_inna_wartosc_tekst}} - jak w: {{LinkPatrz|czy_inna_wartosc_tekst}},
* {{Code|tab_nazwy}} - jak w: {{LinkPatrz|tab_nazwy}}.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacji}}{{Code|p.ZbieranieKontenerowychInformacji}} ===
Funkcja do zbierania informacji, która z parametrów pudełkowych: {{Code|{{m|Pudełko}}}}, czyli: {{Code|nazwa przestrzeni nazw}} {{Patrz|nazwa przestrzeni nazw}} i {{Code|nazwa jednostki}} {{Patrz|nazwa jednostki}}, z nich są liczone parametry nazw charakteryzujące artykuł książki strony. A na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} {{Patrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,czy_szablon_pudelkowy_strony_zbiorczej,KtorySzablonMaZwracacKategorie)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} {{Patrz|czy_szablon_pudelkowy_strony_zbiorczej}} - funkcja potrzebna do funkcji zbierającej {{LinkPatrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, określającej, czy mamy szablon pudełkowy strony zbiorczej, taki jak: {{Code|{{s|StronaSubst}}}}, czy: {{Code|{{s|KsiążkaSubst}}}}, zobacz stronę: {{Code|{{lr2|Moduły/StronicowyParser/StronaSubst}}}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Gdy nie ma parametrów pudełkowych funkcja się natychmiast zakańcza, lub parametr: {{LinkPatrz|nazwa jednostki}}, jest pusta, lub nawet gdy zawierają kody wykrywane przez funkcję: {{Code|{{sr|#p.NormaWzoruKodowaniaTekstu|p=Szablonowe}}}}.
Z nazwy jednostki jest wydzielana nazwa jednostki właściwa bez nazwy nagłówka, póżniej obie nazwy są też dekodowane funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, czyli wszystko z: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}.
Z tych dwóch nazwy jest liczony adres, ewentualnie względny, który za pomocą funkcji: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, jest wyliczany adres bezwzględny.
Dalej są liczone nazwy charakteryzujące artykuł danej książki strony, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, z tego adresu strony.
Przedostatnia funkcja, która jest uruchamiana przed funkcją zbierającą jest: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}, jeśli istnieje.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacjiReferencji}}{{Code|p.ZbieranieKontenerowychInformacjiReferencji}} ===
Funkcja zbiera informacje o stronie. Na podstawie informacji o nazwie artykułu i pełnej nazwy książki liczy parametry nazw charakteryzujące artykuł, co na tej podstawiwe liczy parametry pudełkowe i wywołuje funkcję główną przez inną funkcję, też zbierającą, i zbiera informacje o artykule.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacjiReferencji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, jako parametry zwracane przez funkcję: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}. Funkcja wyznacza parametry pudełkowe {{m|Pudełko}}, tzn.: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}, na podstawie tych nazw. Funkcja na samym końcu wywołuje funkcję zbierającą dane ze strony: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}, która z kolei uruchamia potem: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
== {{Śródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}{{Code|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}} ==
Funkcja sprawdza niepoprawność nazwy strony i na podstawie tego ustawia pewne kody problemów.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,__FUNKCJA_SPRAWDZANIE)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|__FUNKCJA_SPRAWDZANIE}} {{Patrz|__FUNKCJA_SPRAWDZANIE}} - funkcja uruchamiana, jeśli jest ustawiona, na wypadek poprawności strony.
W przypadku niepoprawności strony, gdy strona modułu jest aktualna (bieżąca), wtedy sprawdzany jest kod problemu, czy jest ustawiony, tzn.: {{Code|nieprawidłowe nazwy korzystanych stron}}, przy pomocy funkcji: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli nie ma takiego, to wtedy jest uruchamiana funkcja: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}. Podobnie jest dla niekorzystanej strony, wtedy jest problem dla kodu: {{Code|nieprawidłowe nazwy stron dołączanych do stron}}.
== Zbieranie informacji o linkach ==
=== {{Śródtytuł|p.LinkowanieFinalizowaniePrac}}{{Code|p.LinkowanieFinalizowaniePrac}} ===
Funkcja wadza uchwyt obiektu, wsazujący na aktualną stronę, do pewnej strony, i ewentualnie ustawia pewne problemy, jeśli je nie ustawiono.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} {{Patrz|obiekt}} - obiekt, obsługiwany przez tą funkcję linku,
* {{Code|kod}} {{LinkPatrz|kod}} - kod obiektu dla: {{LinkPatrz|obiekt}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} - jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}},
* {{Code|czy_pobierz}} {{Patrz|czy_pobierz}} - czy to jest szablon typu {{Code|Pobierz}} {{Patrz|Pobierz}}, jak: {{s|PobierzŚródtekst}}.
Funkcja sprawdza, czy nie został ustawiony element {{Code|tablica_zmiennych.sprawdzenie_dokonane_linku}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}, a jeżeli tak, to dalej, czy nie ma elementów numerowanych przy pomocy funkcji: {{Code|{{sr|#p["CzySąElementyNumerowaneTablicy"]|p=Parametry}}}}, a jeśli również tak, to dalej jest sprawdzane, czy został ustawiony problem: {{Code|strony poza zakresem obsługiwanym}}, przy pomocy: {{Code|{{sr|#p.CzyJestTakiElementTabeliProblemu|p=StronicowyParser/Problemy}}}}, a jeżeli nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}. Na samym końcu tej instrukcji warunkowej jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}.
Dalej pod tą instrukcją warunkową, jest robione, co powiedziane zostało w prologu tego opisu tej funkcji, tzn. z wyznaczonej tablicy ze: {{LinkPatrz|tablica_zmiennych}}, a dalej z wyznaczonej następnej podtabeli o kluczu: {{LinkPatrz|nazwa_obiektu}}.
Następnie, gdy element: {{LinkPatrz|czy_pobierz}}, jest ustawiony na {{Code|true}}, wtedy dla {{LinkPatrz|uchwyt_obiektu}}, pewna tablica, jest wstawiana do tablicy: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}}, jeśli istnieje, a jeśli nie, to jest tworzona, jako tablica, wtedy też jest to robione. Tą czynnością wstawiany tabelę, do tej tablicy, czyli:
<syntaxhighlight lang="lua">
{{nazwa_obiektu,uchwyt_obiektu,},{obiekt,kod,},}
</syntaxhighlight>
=== {{Śródtytuł|p.LinkowanieInnychStron}}{{Code|p.LinkowanieInnychStron}} ===
Funkcja do sprawdzania innych stron niż aktualna, a jeżeli dana strona została już sprawdzona, to powtórnie nie jest już rewidowana. Funkcja ustawia w głównej tablicy aktualnej tabeli {{LinkPatrz|tablica_zmiennych}} pewne podtablice.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieInnychStron(self,obiekt,kod,tablica_zmiennych, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejo jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Najpierw jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, która w razie poprawności nazwy strony, czyli inaczej nazw tej strony, tzn.: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, uruchamia funkcję zdefiniowaną w nim.
{{Tab}}Ta funkcja sprawdza, czy któraś z parametrów nazw istnieje, a jeżeli nie, to dalej jest inicjowana zmienna: {{Code|tablica_zmiennych2}} {{Patrz|tablica_zmiennych2}} pustą tablicą i podobnie {{Code|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}} {{Patrz|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}}, to uruchamiana jest: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, do zbierania informacji o stronie nowej lub przebadanej (wtedy zostają zwrócone parametry z wczęsniejszego jego analizowania, jak była nowa). Funkcja zwraca trzy parametry, tzn. {{Code|tabela_listy_danych_analizy_ksiazki0}} {{Patrz|tabela_listy_danych_analizy_ksiazki0}}, {{LinkPatrz|tablica_zmiennych2}} i {{Code|czy_inna}} {{Patrz|czy_inna}}. Te parametry mogą przyjmować wartość {{Code|nil}}, lub pierwszy {{Code|0}}, drugi, to nic innego jest jak: {{LinkPatrz|tablica_zmiennych2}}, a trzeci parametr jest wtedy równy {{Code|true}}, gdy strona jest nowa, a {{Code|false}} aktualna, a gdy {{Code|nil}}, gdy np. zawartość strony nie istnieje.
Gdy parametr: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, istnieje, wtedy jest spraqdzane, czy któreś z parametrów: {{LinkPatrz|tablica_zmiennych2}} i {{LinkPatrz|czy_inna}}, nie istsnieje, wtedy ta funkcja się zakańcza.
==== {{Śródtytuł|JuzPoliczone}}{{Code|JuzPoliczone}} ====
Dla obiektów, dla których jest ustawiony parametr: {{LinkPatrz|czy_pobierz}}, co dalej w tym rozgałęzieniu instrukcji warunkiwej jest uruchamiana funkcja szablonów tekstu, czyli: {{Code|{{sr|#p.UstawianiePobierz|p=StronicowyParser/SzablonyTekstu}}}}, aby również później za pomocą innych funkcji przeanalizować również tekst w szablonach takich jak: {{s|Śródtekst}}.
Dalej jest tworzona tablica, jeśli nie istnieje, tzn. {{Code|tablica_zmiennych2.dane_juz_policzone}} {{Patrz|tablica_zmiennych2.dane_juz_policzone}}, czyli jest inicjowana pustą tablicą. Dalej jest tworzona, jeśli nie istnieje, tablica wielowymiarowa po kolei, o kluczach kolejno: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}, {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu}}, a jeżeli ta ostatnia wartość tej tablicy była wcześniej, to zwracane jest {{Code|true}}, przeciwnie {{Code|false}}, a tej ostatniej wartości tej tablicy jest przydzielana wartość {{Code|true}}.
==== Dalszy opis funkcji ====
Gdy parametr: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest równy {{Code|0}}, ale nie {{Code|nil}}, wtedy jest sprawdzane, czy artykuł został wcześniej zrewidowany według: {{LinkŚródtytuł|JuzPoliczone}}, a jeżeli tak to jest zakańczany, a gdy ten parametr taakiej wartośsci nie przyjmuje, wtedy tylko jest uruchamiana funkcja bez żadnego warunku.
{{Tab}}Następnie jest uruchamiana funkcja: {{Code|{{sr|#p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony|p=StronicowyParser/SzablonyTekstu}}}}, do przydzielenia pewnych zmiennych z {{LinkPatrz|tablica_zmiennych2}} tablicy {{LinkPatrz|tablica_zmiennych}}.
{{Tab}}Jest sprawdzane, czy dany artykuł należy do spisu, jeżeli nie to są ustawiane pewne kody problemów w tablicy problemów, tzn. {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}.
Dalej jest sprawdzane, czy podany uchwyt {{LinkPatrz|uchwyt_obiektu}}, który jest podany w szablonach linków na aktualnej stronie, czy jest tylko jeden na stronie sprawdzanej, a jeżeli nie jest tak, to jest sprawdzane, czy nie istnieje ustawiony problem: {{Code|błędy uchwytów korzystanych stron}}, funkcją: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to taki problem jest dodawany dzięki: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
{{Tab}}Uruchamiana jest dalej funkcja: {{LinkŚródtytuł|p.PusteParametryReferencji}}, do sprawdzania pustości pewnych parametrów.
{{Tab}}Gdy tabela: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest jednak równa wartości odpowiadającej fałszywej, wtedy jeśli nie istnieje problem: {{Code|błąd wewnętrzny modułu lua stronicowego parsera}}, co jest rewidowane elementem: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to dodawany jest taki problem do tabeli problemów na podstawie: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
=== {{Śródtytuł|p.GeneralneLinkowanie}}{{Code|p.GeneralneLinkowanie}} ===
Funkcja zbiera uchwyty, na aktualnej lub innej stronie, a także je analizuje w odpowiedni sposób, modyfikuje tablica aktualnego modułu, czyli: {{LinkPatrz|tablica_zmiennych}}, na podstawie poszczególnych artykułów tej książki lub innej, która zbiera raz informacje o danej stronie.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Funkcja wyznacza uchwyt z tabeli parametrów: {{LinkPatrz|tabela_parametrow_szablonu}}, o kluczu {{Code|uchwyt}} {{LinkPatrz|uchwyt}} lub {{Code|1}}, a później w kodzie jest on kompletowany funkcją: {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a następnie rozwijany w niej, a później jest dekodowany: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}.
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, wywołujac: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}.
Na samym końcu jest uruchamiana: {{LinkPatrz|KtorySzablonMaZwracacKategorie}} z parametrem o tym uchwycie, wyliczonym wcześniej.
Gdy uchwyt istnieje, ale jest pusty, wtedy uruchamia się: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, następnie: {{LinkŚródtytuł|p.PusteParametryReferencji}}, a jeśli ta wartość nie istnieje, wtedy tylko ta ostatnia funkcja.
Gdy uchwyt: {{LinkPatrz|uchwyt}}, istnieje i jest niepusty, wtedy jest wyznaczana nazwa artykułu z niej samej, lub jeśli nazwa ksiązki istnieje, tylko, wtedy ta nazwa zaczyna być pusta, przeciwnie {{Code|nil}}, wtedy mamy do czynienia ze stroną główną podręcznika.
Gdy nazwa artykułu nie istnieje, wtedy wywoływana jest: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Jeśli nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest niepusta, i gdy nazwa książki nie istnieje, wtedy są liczone parametry nazw, oprócz nazwy artykułu, bo jest policzona, więc te {{ZobaczTeż|nazwy}}: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, z parametrów charakteryzujących nazwę aktualnego artykułu, a jeśli jednak nazwa książki jest pusta, to są sprawdzane parametry w: {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Gdy nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest nieistnieje, i gdy nazwa książki {{LinkPatrz|nazwa_ksiazki}} jest niepusta, wtedy nazwa artykułu zaczyna istnieć i inicjujemy wtedy ją wartością pustą, a jeśli pusta, za zaczyna być potem generowanie kodów błędów funkcją {{LinkŚródtytuł|p.PusteParametryReferencji}}, by potem się zakończyła ta funkcja.
Przeciwnie są liczone parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, tą samą metodą, co w punkcie: {{LinkZobaczTeż|nazwy}}.
Gdy nazwy {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}} są porównywane z nazwami, którymi się przypisje jak w: {{LinkZobaczTeż|nazwy}}, wtedy uruchamiamy funkcję: {{LinkŚródtytuł|p.LinkowanieInnychStron}}, przeciwnie wtedy działają dwie funkcje uruchomione po kolei, tzn.: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
== {{Śródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}{{Code|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} ==
Funkcja służy do zbierania informacji o danej analizowanej stronie, którego główną częścią jest strona korzystana, w której gromadzą się informacji też z pozostałych.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, czy_artykul_korzystany,tablica_zmiennych,czy_szablon_pudelkowy_strony_zbiorczej)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} - jak w: {{LinkPatrz|czy_szablon_pudelkowy_strony_zbiorczej}}.
=== {{Śródtytuł|__FUNKCJA_ARTYKULU}}{{Code|__FUNKCJA_ARTYKULU}} ===
Funkcja do tworzenia tabeli artykułów z innymi parametrami wielowymiarowej tej tabeli, a jeżeli owe pośrednie, i nie tylko, istnieją, to te tabele są zwracane lub nowo są tworzone.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji {{ZobaczTeż|parametry artykułu}}:
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}},
* {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu}} - nazwa artykułu w książce, bez pełnej nazwy książki.
Poniżej są tworzone podtabele puste, jeśli nie zostały utworzone.
Funkcja, która w tabeli: {{Code|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}} {{Patrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, która istnieje, tworzy tabele trójwymiarową kolejno po prarametrach: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, te tabele pośrednie śą wtedy tworzone, jeśsli nie istnieją, a gdy istnieją to nie są tworzone, tylko funkcja przechodzi do dalszych.
Dalej tworzona jest podtabela, jeśli nie istnieje o nazwie {{Code|lista_podstron_woluminu}} {{Patrz|lista_podstron_woluminu}}.
Następnie generowana jest podtabela, jeśli nie istnieje, o kluczu: {{LinkPatrz|nazwa_artykulu}}.
Funkcja zwraca kolejno elementy, jeśli klucz: {{LinkPatrz|nazwa_artykulu}}, istnieje, zatem:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany;
</syntaxhighlight>
Przeciwnie zwracany jest zbiór zmiennych po kolei:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki;
</syntaxhighlight>
Co to są za zmienne, wiadomo z ich nazw, po prostu są to pewne pośrednie, i nie tylko, tabele.
=== {{Śródtytuł|__FUNKCJA_POBIERANIE}}{{Code|__FUNKCJA_POBIERANIE}} ===
Funkcja zwraca parametry strony aktualnej, analizowanej jeszcze raz, aby ją nie powtórnie rewidować, lub podobnie innego artykułu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_POBIERANIE(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji są takie same jak w punkcie {{LinkZobaczTeż|parametry artykułu}}.
{{Tab}}Analiza dla artykułów niekorzystanych według paarametru {{LinkPatrz|czy_artykul_korzystany}}.
Dla jeszcze raz analizowanego artykułui aktualnego zwracane są parametry:
<syntaxhighlight lang="lua">
return 0,nil,nil,nil,nil,nil,self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron,false;
</syntaxhighlight>
Dla innej takiej strony jest tworzony parametr, jeżeli jest włączona analiza, dla klucza: {{Code|analiza_spis_tresci}} {{Patrz|analiza_spis_tresci}}, według tego jest tworzony wartością prawdziwą parametr o innym znów kluczu: {{Code|analiza_spis_tresci_doloczone}} {{Patrz|analiza_spis_tresci_doloczone}}:
<syntaxhighlight lang="lua">
if(self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci)then
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=true;
end;
</syntaxhighlight>
Dla elementu: {{LinkPatrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, jeżeli dany artykuł był już rewidowany, to zwracane są elementy:
<syntaxhighlight lang="lua">
return 0,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni,dane_zebrane_ze_stron,true;
</syntaxhighlight>
Przeciwnie jest zwracane: {{Code|true}}, lub {{Code|nil}}, jeśli tabela: {{Code|self.tabela_listy_danych_analizy_ksiazki}} {{Patrz|self.tabela_listy_danych_analizy_ksiazki}}, lub podtatela: {{LinkPatrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, nie istnieje.
=== {{Śródtytuł|InneInformacjePrzebneDoAnalizowanejKsiazki}}{{Code|InneInformacjePrzebneDoAnalizowanejKsiazki}} ===
==== {{Śródtytuł|__FUNKCJA_SPISU}}{{Code|__FUNKCJA_SPISU}} ====
=== {{Śródtytuł|PrzekierownieAwaryjne}}{{Code|PrzekierownieAwaryjne}} ===
=== {{Śródtytuł|StronaZbiorcza}}{{Code|StronaZbiorcza}} ===
=== {{Śródtytuł|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}}{{Code|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}} ===
=== {{Śródtytuł|GeneralnaAnalizaSzablonuStronicowegoParsera}}{{Code|GeneralnaAnalizaSzablonuStronicowegoParsera}} ===
=== {{Śródtytuł|IterowaniePoElementachTekstu}}{{Code|IterowaniePoElementachTekstu}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieNaglowek}}{{Code|KtorySzablonMaZwracacKategorieNaglowek}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieTekst}}{{Code|KtorySzablonMaZwracacKategorieTekst}} ===
=== {{Śródtytuł|CzyJestTakiProblemJakoElementTablicy}}{{Code|CzyJestTakiProblemJakoElementTablicy}} ===
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
psughw83hog0tgwyzs44l5xeuxhc9rj
547237
547236
2026-06-29T15:10:34Z
Persino
2851
/* {{Śródtytuł|__FUNKCJA_POBIERANIE}}{{Code|__FUNKCJA_POBIERANIE}} */
547237
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/ZbieranieDanychStron}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== Zbieranie informacji o uchwycie ==
=== {{Śródtytuł|p.UchwytyZeiBezNumeracji}}{{Code|p.UchwytyZeiBezNumeracji}} ===
Funkcja zbiera uchwyty, dla obiektów {{ZobaczTeż|p.UchwytyZeiBezNumeracji}}, bez numeracji, nie licząc obiektów tekst takich jak {{s|Śródtekst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UchwytyZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,lista_dwuelementowa,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} {{Patrz|self}} - zmiennna obiektowa modułu {{Code|{{ld2|StronicowyParser/ZbieranieDanychStron}}}} {{Patrz|StronicowyParser/ZbieranieDanychStron}},
* {{Code|tabela_elementow_strony_kodow}} {{Patrz|tabela_elementow_strony_kodow}} - zmienna zbierająca takie kody jak {{LinkZobaczTeż|p.UchwytyZeiBezNumeracji}},
* {{Code|nazwa_obiektu}} {{Patrz|nazwa obiektu}} - nazwa obiektu,
* {{Code|lista_dwuelementowa}} {{Patrz|lista_dwuelementowa}} - pozycja w normalnej tabeli uchwytów i przeważnie ich numeracji, a tutaj dla tego obiektu,
* {{Code|kod}} {{Patrz|kod}} - numer kodu dla tego obiektu.
Funkcja zbiera elementy {{LinkPatrz|lista_dwuelementowa}} w tablicy wielowymiarowej o pierwszym elemencie wymiaru {{LinkPatrz|nazwa obiektu}} i trzecim {{LinkPatrz|kod}}, oraz o drugim {{Code|uchwyty_bez_numeracji}} {{Patrz|uchwyty_bez_numeracji}}.
=== {{Śródtytuł|p.WydobywanieUchwytuZeiBezNumeracji}}{{Code|p.WydobywanieUchwytuZeiBezNumeracji}} ===
Funkcja wydowywa tablicę uchwytu dla pozycji, ale nie sam uchwyt, dla podtablicy {{LinkPatrz|uchwyty_bez_numeracji}} o danym kodzie {{LinkPatrz|kod}}, dla nazwy obiektu {{LinkPatrz|nazwa_obiektu}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.WydobywanieUchwytuZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_elementow_strony_kodow}} - jak w: {{LinkPatrz|tabela_elementow_strony_kodow}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}}.
Funkcja wykorzystuje elementy tablicy: {{LinkPatrz|uchwyty_bez_numeracji}}, wstawione przez funkcję: {{LinkŚródtytuł|p.UchwytyZeiBezNumeracji}}.
=== {{Śródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}{{Code|p.RozpatrywanieElementuUchwytuNumeracji}} ===
Funkcja wsadzająca utworzoną tablicę z podanym uchwytem do ogólnej tablicy pozycji nazwanych tabel z uchwytami o danej pozycji z nim.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|kod_uchwytu}} {{Patrz|kod_uchwytu}} - kod uchwytu podanego do szablonu stronicowego z odpowiednim uchwytem,
* {{Code|tab_numer}} {{Patrz|tab_numer}} - tablica z numerkami ilości elementów w tablicy parametrów nazwanych z uchwytami, w danym elemencie analizowania strony z uchwytami i obiektami,
* {{Code|tablica_zmiennych}} {{Patrz|tablica_zmiennych}} - tablica analizowania obiektów, danej strony,
* {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} {{Patrz|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - kolejno: nazwa przestrzeni nazw, nazwa przestrzeni książki, nazwa książki i nazwa artykułu książki,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} {{Patrz|czy_artykul_korzystany}} - czy artykuł aktualny wyświetlany w przeglądarce,
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} {{Patrz|nazwa_modulu_aktualna_czy_biezaca}} - nazwa artykułu aktualna lub bieżąca,
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{Patrz|tablica_analizy_obiektow_strony_dany_modul}} - tablica bazy kodów parsowania strony,
* {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - tablica analizy poszczególnych elementów kodów, do szybszego działania skryptu,
* {{Code|KtorySzablonMaZwracacKategorie}} {{Patrz|KtorySzablonMaZwracacKategorie}} - tablica zbierająca odkodowany i rozwinięty uchwyt, do analizowania w nim zebranych kategorii, według modułu: {{Code|{{ld2|StronicowyParser/Kategorie}}}}, uruchamiana w szablonach stronicowych z funkcjami '''stronicowego parsera'''.
Funkcja rozwija {{LinkPatrz|kod_uchwytu}} funkcją {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a potem je odkodowuje przy pomocy: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a jeżeli ona nie jest pusta, to dla tego jest uruchamiana funkcja {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Tworzona jest tablica {{Code|lista_dwuelementowa}} {{LinkPatrz|lista_dwuelementowa}} z uchwytem, jako pierwszy parametr.
Jest sprawdzane, czy element {{Code|tablica_zmiennych.sprawdzenie_dokonane_obiektu}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, jest fałszywy, jeżeli tak, to dalej jest sprawdzane, czy są elementy numerowane nazwanej tablicy: {{Code|tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2}} o nazwie {{LinkPatrz|nazwa_obiektu}}, a jeżeli jest pusta - na samym końcu jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, czyli jest inicjowana na wartość {{Code|true}}, to dalej jest sprawdzane, czy dla elementów: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy dana książka jest poza zakresem obsługiwanym, czyli rewidowane jest, czy jest ustawiony kod problemu {{Code|strony poza zakresem obsługiwanym}}, czy a jeżeli jednak nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}, ustawiające pewne elementy błędu, jeżeli trzeba to zrobić.
Gdy tabela {{LinkPatrz|tab_numer}} odpowiada nienilowej tablicy, wtedy element {{LinkPatrz|lista_dwuelementowa}} jest wstawiany na odpowiedniej pozycji, ale przeważnie nie na końcu, przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=table.insert|b=tak}}}}, dzięki określonej tabeli {{LinkPatrz|tab_numer}}, przeciwnie na jej końcu.
Funkcja zwraca element {{LinkPatrz|lista_dwuelementowa}}.
=== {{Śródtytuł|p.RozpatrywanieSzablonuObiektuDoNumeracji}}{{Code|p.RozpatrywanieSzablonuObiektuDoNumeracji}} ===
Funkcja, która uruchamia funkcję: {{LinkŚródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}, dla istniejącego uchwytu w postaci nazwanej o kluczu: {{Code|uchwyt}} {{Patrz|uchwyt}}, lub nienazwanej - w postaci numeru jego uchwytu o kluczu: {{Code|numer_numeracji}} {{Patrz|numer_numeracji}}, wsadzająca tabele z uchwytem na odpowiednią pozycję w odpowiedniej nazwanej tabeli o nazwie obiektu {{LinkPatrz|nazwa_obiektu}} w ogólnej tabeli: {{LinkPatrz|tablica_zmiennych}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}}- tabela parametrów szablonu,
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|numer_numeracji}} - jak w: {{LinkPatrz|numer_numeracji}},
* {{Code|tab_numer}} - jak w: {{LinkPatrz|tab_numer}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
== {{Śródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}{{Code|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}} ==
Funkcja sprawdza, czy dany artykuł należy do artykułów, któregoś spisu treści, a jeżeli nie, to dla stron, które nie należą do kategorii z ustawionym problemem {{Code|strony poza zakresem obsługiwanym}}, ale do nieaktualnej strony jest ustawiony problem {{Code|brak spisów treści do dołączonych stron}}. Natomiast dla aktualnej dla stron tej samej kategorii ustawiany jest problem {{Code|brak spisu treści do korzystanych stron}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== {{Śródtytuł|p.PusteParametryReferencji}}{{Code|p.PusteParametryReferencji}} ==
Funkcja sprawdza, jeśli są podane parametry szablonu stronicowego, które są w kategorii: {{lk|Szablony stronicowe}}, czyli: {{Code|nazwa_artykulu}}, ewentualnie: {{Code|nazwa_ksiazki}}, ale zawsze z: {{Code|uchwyt_obiektu}}, czy są one puste.
A jeżeli one istnieją i są takie, to są ustawione problemy typu, jeśli ich wcześniej nie ustawiono:
* {{Code|puste parametry szablonów stronicowych linkujących}} {{Patrz|puste parametry szablonów stronicowych linkujących}}, kolejno dla: {{Code|uchwyt_obiektu}}, {{Code|nazwa_artykulu}} i {{Code|nazwa_ksiazki}}, kolejno z numerami problemów: {{Code|1}}, {{Code|2}} i {{Code|3}}.
Dla obiektu o nazwie {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}.
{{Hr}}
Definicja skrótowa funkcji
<syntaxhighlight lang="lua">
function p.PusteParametryReferencji(self, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu)...end;
</syntaxhighlight>
Paraametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} {{Patrz|uchwyt_obiektu}} - uchwyt obiektu, podane w danym szablonie stronicowym,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}}.
== {{Śródtytuł|p.SzablonyReferencjiParametrowych}}{{Code|p.SzablonyReferencjiParametrowych}} ==
Funkcja z parametrów pudełkowych nazwy artykułu {{ZobaczTeż|nazwa artykułu}}: {{Code|nazwa artykułu}} {{Patrz|nazwa artykułu}} albo {{Code|1}}, gdy bezuchwytowe lub {{Code|2}}, i pełnej nazwy książki {{ZobaczTeż|pełna nazwa strony}}: {{Code|nazwa książki}} {{Patrz|nazwa książki}} albo, {{Code|2}}, gdy bezuchwytowe lub {{Code|3}}. To wszystko jest liczone z: {{LinkPatrz|tabela_parametrow_szablonu}} lub przy użyciu parametru również {{Code|bezuchwytowe}} {{Patrz|bezuchwytowe}}, gdy mamy szablon stronicowy {{lk|Szablony stronicowe}}, bezuchwytowy, wtedy {{Code|true}}, przeciwnie {{Code|false/nil}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca,bezuchwytowe)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{Code|bezuchwytowe}} - jak w: {{LinkPatrz|bezuchwytowe}}.
Funkcja obie nazwy dekoduje funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a później jest liczony adres bezwzględny z względnego dzięki: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, przy pomocy podstawy {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}}, podobnie ale wcześniej jest liczona nazwa artykułu {{linkZobaczTeż|nazwa artykułu}}, czyli: {{LinkPatrz|nazwa_artykulu}}, ale tutaj adres względny jest liczony z podstawy o ciągu pustym jako drugi parametr.
Na podstawie pełnej nazwy książki {{LinkZobaczTeż|pełna nazwa strony}}: jest liczona bardziej jej wersja pełniejsza, jeżeli to jest w ogóle możliwe z: {{Code|{{sr|#p["PełnaNazwaStronicowejKsiążki"]|p=Książkowe}}}}. A póżniej z tego wszystkiego są liczone nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, przy pomocy funkcji nazw: {{Code|{{ld2|Nazwy}}}}.
Na samym końcu funkcji są zwracane parametry nazw, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== Funkcje zbierania informacji ==
=== {{Śródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}{{Code|p.ZbieranieInformacjiStronyWoluminowychPozycji}} ===
Funkcja zbierania informacji na stronie dla szablonów stronicowych: {{lk|Szablony stronicowe}}, bezuchwytowych, gdy nie jest uruchomiony parametr: {{Code|czy_inna_wartosc_tekst}} {{Patrz|czy_inna_wartosc_tekst}}, wtedy jest wywoływana funkcja: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}, która liczy kolejne nazwy charaktertyzujące nazwy dla danego artykułu książki dla danej strony, przeciwnie parametry nazw są ściagane z: {{Code|tab_nazwy}} {{Patrz|tab_nazwy}}, ta tabela składa się numerowanych elementów, którymi są nazwy charakyteryzujące stronę.
Gdy jakaś nazwa artylułu strony została policzona, wtedy są liczone pozostałe nazwy z: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, a na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, a tuż przed nim, jeśli istnieje: {{Code|KtorySzablonMaZwracacKategorie}} {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,KtorySzablonMaZwracacKategorie,czy_inna_wartosc_tekst,tab_nazwy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_inna_wartosc_tekst}} - jak w: {{LinkPatrz|czy_inna_wartosc_tekst}},
* {{Code|tab_nazwy}} - jak w: {{LinkPatrz|tab_nazwy}}.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacji}}{{Code|p.ZbieranieKontenerowychInformacji}} ===
Funkcja do zbierania informacji, która z parametrów pudełkowych: {{Code|{{m|Pudełko}}}}, czyli: {{Code|nazwa przestrzeni nazw}} {{Patrz|nazwa przestrzeni nazw}} i {{Code|nazwa jednostki}} {{Patrz|nazwa jednostki}}, z nich są liczone parametry nazw charakteryzujące artykuł książki strony. A na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} {{Patrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,czy_szablon_pudelkowy_strony_zbiorczej,KtorySzablonMaZwracacKategorie)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} {{Patrz|czy_szablon_pudelkowy_strony_zbiorczej}} - funkcja potrzebna do funkcji zbierającej {{LinkPatrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, określającej, czy mamy szablon pudełkowy strony zbiorczej, taki jak: {{Code|{{s|StronaSubst}}}}, czy: {{Code|{{s|KsiążkaSubst}}}}, zobacz stronę: {{Code|{{lr2|Moduły/StronicowyParser/StronaSubst}}}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Gdy nie ma parametrów pudełkowych funkcja się natychmiast zakańcza, lub parametr: {{LinkPatrz|nazwa jednostki}}, jest pusta, lub nawet gdy zawierają kody wykrywane przez funkcję: {{Code|{{sr|#p.NormaWzoruKodowaniaTekstu|p=Szablonowe}}}}.
Z nazwy jednostki jest wydzielana nazwa jednostki właściwa bez nazwy nagłówka, póżniej obie nazwy są też dekodowane funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, czyli wszystko z: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}.
Z tych dwóch nazwy jest liczony adres, ewentualnie względny, który za pomocą funkcji: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, jest wyliczany adres bezwzględny.
Dalej są liczone nazwy charakteryzujące artykuł danej książki strony, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, z tego adresu strony.
Przedostatnia funkcja, która jest uruchamiana przed funkcją zbierającą jest: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}, jeśli istnieje.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacjiReferencji}}{{Code|p.ZbieranieKontenerowychInformacjiReferencji}} ===
Funkcja zbiera informacje o stronie. Na podstawie informacji o nazwie artykułu i pełnej nazwy książki liczy parametry nazw charakteryzujące artykuł, co na tej podstawiwe liczy parametry pudełkowe i wywołuje funkcję główną przez inną funkcję, też zbierającą, i zbiera informacje o artykule.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacjiReferencji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, jako parametry zwracane przez funkcję: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}. Funkcja wyznacza parametry pudełkowe {{m|Pudełko}}, tzn.: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}, na podstawie tych nazw. Funkcja na samym końcu wywołuje funkcję zbierającą dane ze strony: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}, która z kolei uruchamia potem: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
== {{Śródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}{{Code|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}} ==
Funkcja sprawdza niepoprawność nazwy strony i na podstawie tego ustawia pewne kody problemów.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,__FUNKCJA_SPRAWDZANIE)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|__FUNKCJA_SPRAWDZANIE}} {{Patrz|__FUNKCJA_SPRAWDZANIE}} - funkcja uruchamiana, jeśli jest ustawiona, na wypadek poprawności strony.
W przypadku niepoprawności strony, gdy strona modułu jest aktualna (bieżąca), wtedy sprawdzany jest kod problemu, czy jest ustawiony, tzn.: {{Code|nieprawidłowe nazwy korzystanych stron}}, przy pomocy funkcji: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli nie ma takiego, to wtedy jest uruchamiana funkcja: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}. Podobnie jest dla niekorzystanej strony, wtedy jest problem dla kodu: {{Code|nieprawidłowe nazwy stron dołączanych do stron}}.
== Zbieranie informacji o linkach ==
=== {{Śródtytuł|p.LinkowanieFinalizowaniePrac}}{{Code|p.LinkowanieFinalizowaniePrac}} ===
Funkcja wadza uchwyt obiektu, wsazujący na aktualną stronę, do pewnej strony, i ewentualnie ustawia pewne problemy, jeśli je nie ustawiono.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} {{Patrz|obiekt}} - obiekt, obsługiwany przez tą funkcję linku,
* {{Code|kod}} {{LinkPatrz|kod}} - kod obiektu dla: {{LinkPatrz|obiekt}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} - jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}},
* {{Code|czy_pobierz}} {{Patrz|czy_pobierz}} - czy to jest szablon typu {{Code|Pobierz}} {{Patrz|Pobierz}}, jak: {{s|PobierzŚródtekst}}.
Funkcja sprawdza, czy nie został ustawiony element {{Code|tablica_zmiennych.sprawdzenie_dokonane_linku}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}, a jeżeli tak, to dalej, czy nie ma elementów numerowanych przy pomocy funkcji: {{Code|{{sr|#p["CzySąElementyNumerowaneTablicy"]|p=Parametry}}}}, a jeśli również tak, to dalej jest sprawdzane, czy został ustawiony problem: {{Code|strony poza zakresem obsługiwanym}}, przy pomocy: {{Code|{{sr|#p.CzyJestTakiElementTabeliProblemu|p=StronicowyParser/Problemy}}}}, a jeżeli nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}. Na samym końcu tej instrukcji warunkowej jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}.
Dalej pod tą instrukcją warunkową, jest robione, co powiedziane zostało w prologu tego opisu tej funkcji, tzn. z wyznaczonej tablicy ze: {{LinkPatrz|tablica_zmiennych}}, a dalej z wyznaczonej następnej podtabeli o kluczu: {{LinkPatrz|nazwa_obiektu}}.
Następnie, gdy element: {{LinkPatrz|czy_pobierz}}, jest ustawiony na {{Code|true}}, wtedy dla {{LinkPatrz|uchwyt_obiektu}}, pewna tablica, jest wstawiana do tablicy: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}}, jeśli istnieje, a jeśli nie, to jest tworzona, jako tablica, wtedy też jest to robione. Tą czynnością wstawiany tabelę, do tej tablicy, czyli:
<syntaxhighlight lang="lua">
{{nazwa_obiektu,uchwyt_obiektu,},{obiekt,kod,},}
</syntaxhighlight>
=== {{Śródtytuł|p.LinkowanieInnychStron}}{{Code|p.LinkowanieInnychStron}} ===
Funkcja do sprawdzania innych stron niż aktualna, a jeżeli dana strona została już sprawdzona, to powtórnie nie jest już rewidowana. Funkcja ustawia w głównej tablicy aktualnej tabeli {{LinkPatrz|tablica_zmiennych}} pewne podtablice.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieInnychStron(self,obiekt,kod,tablica_zmiennych, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejo jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Najpierw jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, która w razie poprawności nazwy strony, czyli inaczej nazw tej strony, tzn.: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, uruchamia funkcję zdefiniowaną w nim.
{{Tab}}Ta funkcja sprawdza, czy któraś z parametrów nazw istnieje, a jeżeli nie, to dalej jest inicjowana zmienna: {{Code|tablica_zmiennych2}} {{Patrz|tablica_zmiennych2}} pustą tablicą i podobnie {{Code|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}} {{Patrz|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}}, to uruchamiana jest: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, do zbierania informacji o stronie nowej lub przebadanej (wtedy zostają zwrócone parametry z wczęsniejszego jego analizowania, jak była nowa). Funkcja zwraca trzy parametry, tzn. {{Code|tabela_listy_danych_analizy_ksiazki0}} {{Patrz|tabela_listy_danych_analizy_ksiazki0}}, {{LinkPatrz|tablica_zmiennych2}} i {{Code|czy_inna}} {{Patrz|czy_inna}}. Te parametry mogą przyjmować wartość {{Code|nil}}, lub pierwszy {{Code|0}}, drugi, to nic innego jest jak: {{LinkPatrz|tablica_zmiennych2}}, a trzeci parametr jest wtedy równy {{Code|true}}, gdy strona jest nowa, a {{Code|false}} aktualna, a gdy {{Code|nil}}, gdy np. zawartość strony nie istnieje.
Gdy parametr: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, istnieje, wtedy jest spraqdzane, czy któreś z parametrów: {{LinkPatrz|tablica_zmiennych2}} i {{LinkPatrz|czy_inna}}, nie istsnieje, wtedy ta funkcja się zakańcza.
==== {{Śródtytuł|JuzPoliczone}}{{Code|JuzPoliczone}} ====
Dla obiektów, dla których jest ustawiony parametr: {{LinkPatrz|czy_pobierz}}, co dalej w tym rozgałęzieniu instrukcji warunkiwej jest uruchamiana funkcja szablonów tekstu, czyli: {{Code|{{sr|#p.UstawianiePobierz|p=StronicowyParser/SzablonyTekstu}}}}, aby również później za pomocą innych funkcji przeanalizować również tekst w szablonach takich jak: {{s|Śródtekst}}.
Dalej jest tworzona tablica, jeśli nie istnieje, tzn. {{Code|tablica_zmiennych2.dane_juz_policzone}} {{Patrz|tablica_zmiennych2.dane_juz_policzone}}, czyli jest inicjowana pustą tablicą. Dalej jest tworzona, jeśli nie istnieje, tablica wielowymiarowa po kolei, o kluczach kolejno: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}, {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu}}, a jeżeli ta ostatnia wartość tej tablicy była wcześniej, to zwracane jest {{Code|true}}, przeciwnie {{Code|false}}, a tej ostatniej wartości tej tablicy jest przydzielana wartość {{Code|true}}.
==== Dalszy opis funkcji ====
Gdy parametr: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest równy {{Code|0}}, ale nie {{Code|nil}}, wtedy jest sprawdzane, czy artykuł został wcześniej zrewidowany według: {{LinkŚródtytuł|JuzPoliczone}}, a jeżeli tak to jest zakańczany, a gdy ten parametr taakiej wartośsci nie przyjmuje, wtedy tylko jest uruchamiana funkcja bez żadnego warunku.
{{Tab}}Następnie jest uruchamiana funkcja: {{Code|{{sr|#p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony|p=StronicowyParser/SzablonyTekstu}}}}, do przydzielenia pewnych zmiennych z {{LinkPatrz|tablica_zmiennych2}} tablicy {{LinkPatrz|tablica_zmiennych}}.
{{Tab}}Jest sprawdzane, czy dany artykuł należy do spisu, jeżeli nie to są ustawiane pewne kody problemów w tablicy problemów, tzn. {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}.
Dalej jest sprawdzane, czy podany uchwyt {{LinkPatrz|uchwyt_obiektu}}, który jest podany w szablonach linków na aktualnej stronie, czy jest tylko jeden na stronie sprawdzanej, a jeżeli nie jest tak, to jest sprawdzane, czy nie istnieje ustawiony problem: {{Code|błędy uchwytów korzystanych stron}}, funkcją: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to taki problem jest dodawany dzięki: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
{{Tab}}Uruchamiana jest dalej funkcja: {{LinkŚródtytuł|p.PusteParametryReferencji}}, do sprawdzania pustości pewnych parametrów.
{{Tab}}Gdy tabela: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest jednak równa wartości odpowiadającej fałszywej, wtedy jeśli nie istnieje problem: {{Code|błąd wewnętrzny modułu lua stronicowego parsera}}, co jest rewidowane elementem: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to dodawany jest taki problem do tabeli problemów na podstawie: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
=== {{Śródtytuł|p.GeneralneLinkowanie}}{{Code|p.GeneralneLinkowanie}} ===
Funkcja zbiera uchwyty, na aktualnej lub innej stronie, a także je analizuje w odpowiedni sposób, modyfikuje tablica aktualnego modułu, czyli: {{LinkPatrz|tablica_zmiennych}}, na podstawie poszczególnych artykułów tej książki lub innej, która zbiera raz informacje o danej stronie.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Funkcja wyznacza uchwyt z tabeli parametrów: {{LinkPatrz|tabela_parametrow_szablonu}}, o kluczu {{Code|uchwyt}} {{LinkPatrz|uchwyt}} lub {{Code|1}}, a później w kodzie jest on kompletowany funkcją: {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a następnie rozwijany w niej, a później jest dekodowany: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}.
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, wywołujac: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}.
Na samym końcu jest uruchamiana: {{LinkPatrz|KtorySzablonMaZwracacKategorie}} z parametrem o tym uchwycie, wyliczonym wcześniej.
Gdy uchwyt istnieje, ale jest pusty, wtedy uruchamia się: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, następnie: {{LinkŚródtytuł|p.PusteParametryReferencji}}, a jeśli ta wartość nie istnieje, wtedy tylko ta ostatnia funkcja.
Gdy uchwyt: {{LinkPatrz|uchwyt}}, istnieje i jest niepusty, wtedy jest wyznaczana nazwa artykułu z niej samej, lub jeśli nazwa ksiązki istnieje, tylko, wtedy ta nazwa zaczyna być pusta, przeciwnie {{Code|nil}}, wtedy mamy do czynienia ze stroną główną podręcznika.
Gdy nazwa artykułu nie istnieje, wtedy wywoływana jest: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Jeśli nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest niepusta, i gdy nazwa książki nie istnieje, wtedy są liczone parametry nazw, oprócz nazwy artykułu, bo jest policzona, więc te {{ZobaczTeż|nazwy}}: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, z parametrów charakteryzujących nazwę aktualnego artykułu, a jeśli jednak nazwa książki jest pusta, to są sprawdzane parametry w: {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Gdy nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest nieistnieje, i gdy nazwa książki {{LinkPatrz|nazwa_ksiazki}} jest niepusta, wtedy nazwa artykułu zaczyna istnieć i inicjujemy wtedy ją wartością pustą, a jeśli pusta, za zaczyna być potem generowanie kodów błędów funkcją {{LinkŚródtytuł|p.PusteParametryReferencji}}, by potem się zakończyła ta funkcja.
Przeciwnie są liczone parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, tą samą metodą, co w punkcie: {{LinkZobaczTeż|nazwy}}.
Gdy nazwy {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}} są porównywane z nazwami, którymi się przypisje jak w: {{LinkZobaczTeż|nazwy}}, wtedy uruchamiamy funkcję: {{LinkŚródtytuł|p.LinkowanieInnychStron}}, przeciwnie wtedy działają dwie funkcje uruchomione po kolei, tzn.: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
== {{Śródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}{{Code|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} ==
Funkcja służy do zbierania informacji o danej analizowanej stronie, którego główną częścią jest strona korzystana, w której gromadzą się informacji też z pozostałych.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, czy_artykul_korzystany,tablica_zmiennych,czy_szablon_pudelkowy_strony_zbiorczej)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} - jak w: {{LinkPatrz|czy_szablon_pudelkowy_strony_zbiorczej}}.
=== {{Śródtytuł|__FUNKCJA_ARTYKULU}}{{Code|__FUNKCJA_ARTYKULU}} ===
Funkcja do tworzenia tabeli artykułów z innymi parametrami wielowymiarowej tej tabeli, a jeżeli owe pośrednie, i nie tylko, istnieją, to te tabele są zwracane lub nowo są tworzone.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji {{ZobaczTeż|parametry artykułu}}:
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}},
* {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu}} - nazwa artykułu w książce, bez pełnej nazwy książki.
Poniżej są tworzone podtabele puste, jeśli nie zostały utworzone.
Funkcja, która w tabeli: {{Code|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}} {{Patrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, która istnieje, tworzy tabele trójwymiarową kolejno po prarametrach: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, te tabele pośrednie śą wtedy tworzone, jeśsli nie istnieją, a gdy istnieją to nie są tworzone, tylko funkcja przechodzi do dalszych.
Dalej tworzona jest podtabela, jeśli nie istnieje o nazwie {{Code|lista_podstron_woluminu}} {{Patrz|lista_podstron_woluminu}}.
Następnie generowana jest podtabela, jeśli nie istnieje, o kluczu: {{LinkPatrz|nazwa_artykulu}}.
Funkcja zwraca kolejno elementy, jeśli klucz: {{LinkPatrz|nazwa_artykulu}}, istnieje, zatem:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany;
</syntaxhighlight>
Przeciwnie zwracany jest zbiór zmiennych po kolei:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki;
</syntaxhighlight>
Co to są za zmienne, wiadomo z ich nazw, po prostu są to pewne pośrednie, i nie tylko, tabele.
=== {{Śródtytuł|__FUNKCJA_POBIERANIE}}{{Code|__FUNKCJA_POBIERANIE}} ===
Funkcja zwraca parametry strony aktualnej, analizowanej jeszcze raz, aby ją nie powtórnie rewidować, lub podobnie innego artykułu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_POBIERANIE(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji są takie same jak w punkcie {{LinkZobaczTeż|parametry artykułu}}.
{{Tab}}Analiza dla artykułów niekorzystanych według parametru: {{LinkPatrz|czy_artykul_korzystany}}:
Dla jeszcze raz analizowanego artykułui aktualnego zwracane są parametry:
<syntaxhighlight lang="lua">
return 0,nil,nil,nil,nil,nil,self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron,false;
</syntaxhighlight>
Tabela: {{Code|self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron}}, tam są dane zebrane z aktualnego artykułu.
Dla innej takiej strony jest tworzony parametr, jeżeli jest włączona analiza, dla klucza: {{Code|analiza_spis_tresci}} {{Patrz|analiza_spis_tresci}}, według tego jest tworzony wartością prawdziwą parametr o innym znów kluczu: {{Code|analiza_spis_tresci_doloczone}} {{Patrz|analiza_spis_tresci_doloczone}}:
<syntaxhighlight lang="lua">
if(self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci)then
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=true;
end;
</syntaxhighlight>
Dla elementu: {{LinkPatrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, jeżeli dany artykuł był już rewidowany, to zwracane są elementy:
<syntaxhighlight lang="lua">
return 0,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni,dane_zebrane_ze_stron,true;
</syntaxhighlight>
To {{Code|dane_zebrane_ze_stron}} {{Patrz|dane_zebrane_ze_stron}}, to podtabela: {{LinkPatrz|lista_podstron_woluminu}}, z kluczem: {{LinkPatrz|nazwa_artykulu}}, o nazwie: {{Code|dane_zebrane_ze_stron}} {{Patrz|dane_zebrane_ze_stron}}.
Przeciwnie jest zwracane: {{Code|true}}, lub {{Code|nil}}, jeśli tabela: {{Code|self.tabela_listy_danych_analizy_ksiazki}} {{Patrz|self.tabela_listy_danych_analizy_ksiazki}}, lub podtatela: {{LinkPatrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, nie istnieje.
=== {{Śródtytuł|InneInformacjePrzebneDoAnalizowanejKsiazki}}{{Code|InneInformacjePrzebneDoAnalizowanejKsiazki}} ===
==== {{Śródtytuł|__FUNKCJA_SPISU}}{{Code|__FUNKCJA_SPISU}} ====
=== {{Śródtytuł|PrzekierownieAwaryjne}}{{Code|PrzekierownieAwaryjne}} ===
=== {{Śródtytuł|StronaZbiorcza}}{{Code|StronaZbiorcza}} ===
=== {{Śródtytuł|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}}{{Code|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}} ===
=== {{Śródtytuł|GeneralnaAnalizaSzablonuStronicowegoParsera}}{{Code|GeneralnaAnalizaSzablonuStronicowegoParsera}} ===
=== {{Śródtytuł|IterowaniePoElementachTekstu}}{{Code|IterowaniePoElementachTekstu}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieNaglowek}}{{Code|KtorySzablonMaZwracacKategorieNaglowek}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieTekst}}{{Code|KtorySzablonMaZwracacKategorieTekst}} ===
=== {{Śródtytuł|CzyJestTakiProblemJakoElementTablicy}}{{Code|CzyJestTakiProblemJakoElementTablicy}} ===
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
206q2z1nxmv466kfj68w6tdah9j0i9i
547238
547237
2026-06-29T15:11:24Z
Persino
2851
/* {{Śródtytuł|__FUNKCJA_POBIERANIE}}{{Code|__FUNKCJA_POBIERANIE}} */
547238
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/ZbieranieDanychStron}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== Zbieranie informacji o uchwycie ==
=== {{Śródtytuł|p.UchwytyZeiBezNumeracji}}{{Code|p.UchwytyZeiBezNumeracji}} ===
Funkcja zbiera uchwyty, dla obiektów {{ZobaczTeż|p.UchwytyZeiBezNumeracji}}, bez numeracji, nie licząc obiektów tekst takich jak {{s|Śródtekst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UchwytyZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,lista_dwuelementowa,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} {{Patrz|self}} - zmiennna obiektowa modułu {{Code|{{ld2|StronicowyParser/ZbieranieDanychStron}}}} {{Patrz|StronicowyParser/ZbieranieDanychStron}},
* {{Code|tabela_elementow_strony_kodow}} {{Patrz|tabela_elementow_strony_kodow}} - zmienna zbierająca takie kody jak {{LinkZobaczTeż|p.UchwytyZeiBezNumeracji}},
* {{Code|nazwa_obiektu}} {{Patrz|nazwa obiektu}} - nazwa obiektu,
* {{Code|lista_dwuelementowa}} {{Patrz|lista_dwuelementowa}} - pozycja w normalnej tabeli uchwytów i przeważnie ich numeracji, a tutaj dla tego obiektu,
* {{Code|kod}} {{Patrz|kod}} - numer kodu dla tego obiektu.
Funkcja zbiera elementy {{LinkPatrz|lista_dwuelementowa}} w tablicy wielowymiarowej o pierwszym elemencie wymiaru {{LinkPatrz|nazwa obiektu}} i trzecim {{LinkPatrz|kod}}, oraz o drugim {{Code|uchwyty_bez_numeracji}} {{Patrz|uchwyty_bez_numeracji}}.
=== {{Śródtytuł|p.WydobywanieUchwytuZeiBezNumeracji}}{{Code|p.WydobywanieUchwytuZeiBezNumeracji}} ===
Funkcja wydowywa tablicę uchwytu dla pozycji, ale nie sam uchwyt, dla podtablicy {{LinkPatrz|uchwyty_bez_numeracji}} o danym kodzie {{LinkPatrz|kod}}, dla nazwy obiektu {{LinkPatrz|nazwa_obiektu}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.WydobywanieUchwytuZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_elementow_strony_kodow}} - jak w: {{LinkPatrz|tabela_elementow_strony_kodow}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}}.
Funkcja wykorzystuje elementy tablicy: {{LinkPatrz|uchwyty_bez_numeracji}}, wstawione przez funkcję: {{LinkŚródtytuł|p.UchwytyZeiBezNumeracji}}.
=== {{Śródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}{{Code|p.RozpatrywanieElementuUchwytuNumeracji}} ===
Funkcja wsadzająca utworzoną tablicę z podanym uchwytem do ogólnej tablicy pozycji nazwanych tabel z uchwytami o danej pozycji z nim.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|kod_uchwytu}} {{Patrz|kod_uchwytu}} - kod uchwytu podanego do szablonu stronicowego z odpowiednim uchwytem,
* {{Code|tab_numer}} {{Patrz|tab_numer}} - tablica z numerkami ilości elementów w tablicy parametrów nazwanych z uchwytami, w danym elemencie analizowania strony z uchwytami i obiektami,
* {{Code|tablica_zmiennych}} {{Patrz|tablica_zmiennych}} - tablica analizowania obiektów, danej strony,
* {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} {{Patrz|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - kolejno: nazwa przestrzeni nazw, nazwa przestrzeni książki, nazwa książki i nazwa artykułu książki,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} {{Patrz|czy_artykul_korzystany}} - czy artykuł aktualny wyświetlany w przeglądarce,
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} {{Patrz|nazwa_modulu_aktualna_czy_biezaca}} - nazwa artykułu aktualna lub bieżąca,
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{Patrz|tablica_analizy_obiektow_strony_dany_modul}} - tablica bazy kodów parsowania strony,
* {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - tablica analizy poszczególnych elementów kodów, do szybszego działania skryptu,
* {{Code|KtorySzablonMaZwracacKategorie}} {{Patrz|KtorySzablonMaZwracacKategorie}} - tablica zbierająca odkodowany i rozwinięty uchwyt, do analizowania w nim zebranych kategorii, według modułu: {{Code|{{ld2|StronicowyParser/Kategorie}}}}, uruchamiana w szablonach stronicowych z funkcjami '''stronicowego parsera'''.
Funkcja rozwija {{LinkPatrz|kod_uchwytu}} funkcją {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a potem je odkodowuje przy pomocy: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a jeżeli ona nie jest pusta, to dla tego jest uruchamiana funkcja {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Tworzona jest tablica {{Code|lista_dwuelementowa}} {{LinkPatrz|lista_dwuelementowa}} z uchwytem, jako pierwszy parametr.
Jest sprawdzane, czy element {{Code|tablica_zmiennych.sprawdzenie_dokonane_obiektu}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, jest fałszywy, jeżeli tak, to dalej jest sprawdzane, czy są elementy numerowane nazwanej tablicy: {{Code|tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2}} o nazwie {{LinkPatrz|nazwa_obiektu}}, a jeżeli jest pusta - na samym końcu jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, czyli jest inicjowana na wartość {{Code|true}}, to dalej jest sprawdzane, czy dla elementów: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy dana książka jest poza zakresem obsługiwanym, czyli rewidowane jest, czy jest ustawiony kod problemu {{Code|strony poza zakresem obsługiwanym}}, czy a jeżeli jednak nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}, ustawiające pewne elementy błędu, jeżeli trzeba to zrobić.
Gdy tabela {{LinkPatrz|tab_numer}} odpowiada nienilowej tablicy, wtedy element {{LinkPatrz|lista_dwuelementowa}} jest wstawiany na odpowiedniej pozycji, ale przeważnie nie na końcu, przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=table.insert|b=tak}}}}, dzięki określonej tabeli {{LinkPatrz|tab_numer}}, przeciwnie na jej końcu.
Funkcja zwraca element {{LinkPatrz|lista_dwuelementowa}}.
=== {{Śródtytuł|p.RozpatrywanieSzablonuObiektuDoNumeracji}}{{Code|p.RozpatrywanieSzablonuObiektuDoNumeracji}} ===
Funkcja, która uruchamia funkcję: {{LinkŚródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}, dla istniejącego uchwytu w postaci nazwanej o kluczu: {{Code|uchwyt}} {{Patrz|uchwyt}}, lub nienazwanej - w postaci numeru jego uchwytu o kluczu: {{Code|numer_numeracji}} {{Patrz|numer_numeracji}}, wsadzająca tabele z uchwytem na odpowiednią pozycję w odpowiedniej nazwanej tabeli o nazwie obiektu {{LinkPatrz|nazwa_obiektu}} w ogólnej tabeli: {{LinkPatrz|tablica_zmiennych}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}}- tabela parametrów szablonu,
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|numer_numeracji}} - jak w: {{LinkPatrz|numer_numeracji}},
* {{Code|tab_numer}} - jak w: {{LinkPatrz|tab_numer}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
== {{Śródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}{{Code|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}} ==
Funkcja sprawdza, czy dany artykuł należy do artykułów, któregoś spisu treści, a jeżeli nie, to dla stron, które nie należą do kategorii z ustawionym problemem {{Code|strony poza zakresem obsługiwanym}}, ale do nieaktualnej strony jest ustawiony problem {{Code|brak spisów treści do dołączonych stron}}. Natomiast dla aktualnej dla stron tej samej kategorii ustawiany jest problem {{Code|brak spisu treści do korzystanych stron}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== {{Śródtytuł|p.PusteParametryReferencji}}{{Code|p.PusteParametryReferencji}} ==
Funkcja sprawdza, jeśli są podane parametry szablonu stronicowego, które są w kategorii: {{lk|Szablony stronicowe}}, czyli: {{Code|nazwa_artykulu}}, ewentualnie: {{Code|nazwa_ksiazki}}, ale zawsze z: {{Code|uchwyt_obiektu}}, czy są one puste.
A jeżeli one istnieją i są takie, to są ustawione problemy typu, jeśli ich wcześniej nie ustawiono:
* {{Code|puste parametry szablonów stronicowych linkujących}} {{Patrz|puste parametry szablonów stronicowych linkujących}}, kolejno dla: {{Code|uchwyt_obiektu}}, {{Code|nazwa_artykulu}} i {{Code|nazwa_ksiazki}}, kolejno z numerami problemów: {{Code|1}}, {{Code|2}} i {{Code|3}}.
Dla obiektu o nazwie {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}.
{{Hr}}
Definicja skrótowa funkcji
<syntaxhighlight lang="lua">
function p.PusteParametryReferencji(self, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu)...end;
</syntaxhighlight>
Paraametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} {{Patrz|uchwyt_obiektu}} - uchwyt obiektu, podane w danym szablonie stronicowym,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}}.
== {{Śródtytuł|p.SzablonyReferencjiParametrowych}}{{Code|p.SzablonyReferencjiParametrowych}} ==
Funkcja z parametrów pudełkowych nazwy artykułu {{ZobaczTeż|nazwa artykułu}}: {{Code|nazwa artykułu}} {{Patrz|nazwa artykułu}} albo {{Code|1}}, gdy bezuchwytowe lub {{Code|2}}, i pełnej nazwy książki {{ZobaczTeż|pełna nazwa strony}}: {{Code|nazwa książki}} {{Patrz|nazwa książki}} albo, {{Code|2}}, gdy bezuchwytowe lub {{Code|3}}. To wszystko jest liczone z: {{LinkPatrz|tabela_parametrow_szablonu}} lub przy użyciu parametru również {{Code|bezuchwytowe}} {{Patrz|bezuchwytowe}}, gdy mamy szablon stronicowy {{lk|Szablony stronicowe}}, bezuchwytowy, wtedy {{Code|true}}, przeciwnie {{Code|false/nil}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca,bezuchwytowe)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{Code|bezuchwytowe}} - jak w: {{LinkPatrz|bezuchwytowe}}.
Funkcja obie nazwy dekoduje funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a później jest liczony adres bezwzględny z względnego dzięki: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, przy pomocy podstawy {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}}, podobnie ale wcześniej jest liczona nazwa artykułu {{linkZobaczTeż|nazwa artykułu}}, czyli: {{LinkPatrz|nazwa_artykulu}}, ale tutaj adres względny jest liczony z podstawy o ciągu pustym jako drugi parametr.
Na podstawie pełnej nazwy książki {{LinkZobaczTeż|pełna nazwa strony}}: jest liczona bardziej jej wersja pełniejsza, jeżeli to jest w ogóle możliwe z: {{Code|{{sr|#p["PełnaNazwaStronicowejKsiążki"]|p=Książkowe}}}}. A póżniej z tego wszystkiego są liczone nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, przy pomocy funkcji nazw: {{Code|{{ld2|Nazwy}}}}.
Na samym końcu funkcji są zwracane parametry nazw, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== Funkcje zbierania informacji ==
=== {{Śródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}{{Code|p.ZbieranieInformacjiStronyWoluminowychPozycji}} ===
Funkcja zbierania informacji na stronie dla szablonów stronicowych: {{lk|Szablony stronicowe}}, bezuchwytowych, gdy nie jest uruchomiony parametr: {{Code|czy_inna_wartosc_tekst}} {{Patrz|czy_inna_wartosc_tekst}}, wtedy jest wywoływana funkcja: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}, która liczy kolejne nazwy charaktertyzujące nazwy dla danego artykułu książki dla danej strony, przeciwnie parametry nazw są ściagane z: {{Code|tab_nazwy}} {{Patrz|tab_nazwy}}, ta tabela składa się numerowanych elementów, którymi są nazwy charakyteryzujące stronę.
Gdy jakaś nazwa artylułu strony została policzona, wtedy są liczone pozostałe nazwy z: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, a na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, a tuż przed nim, jeśli istnieje: {{Code|KtorySzablonMaZwracacKategorie}} {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,KtorySzablonMaZwracacKategorie,czy_inna_wartosc_tekst,tab_nazwy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_inna_wartosc_tekst}} - jak w: {{LinkPatrz|czy_inna_wartosc_tekst}},
* {{Code|tab_nazwy}} - jak w: {{LinkPatrz|tab_nazwy}}.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacji}}{{Code|p.ZbieranieKontenerowychInformacji}} ===
Funkcja do zbierania informacji, która z parametrów pudełkowych: {{Code|{{m|Pudełko}}}}, czyli: {{Code|nazwa przestrzeni nazw}} {{Patrz|nazwa przestrzeni nazw}} i {{Code|nazwa jednostki}} {{Patrz|nazwa jednostki}}, z nich są liczone parametry nazw charakteryzujące artykuł książki strony. A na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} {{Patrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,czy_szablon_pudelkowy_strony_zbiorczej,KtorySzablonMaZwracacKategorie)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} {{Patrz|czy_szablon_pudelkowy_strony_zbiorczej}} - funkcja potrzebna do funkcji zbierającej {{LinkPatrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, określającej, czy mamy szablon pudełkowy strony zbiorczej, taki jak: {{Code|{{s|StronaSubst}}}}, czy: {{Code|{{s|KsiążkaSubst}}}}, zobacz stronę: {{Code|{{lr2|Moduły/StronicowyParser/StronaSubst}}}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Gdy nie ma parametrów pudełkowych funkcja się natychmiast zakańcza, lub parametr: {{LinkPatrz|nazwa jednostki}}, jest pusta, lub nawet gdy zawierają kody wykrywane przez funkcję: {{Code|{{sr|#p.NormaWzoruKodowaniaTekstu|p=Szablonowe}}}}.
Z nazwy jednostki jest wydzielana nazwa jednostki właściwa bez nazwy nagłówka, póżniej obie nazwy są też dekodowane funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, czyli wszystko z: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}.
Z tych dwóch nazwy jest liczony adres, ewentualnie względny, który za pomocą funkcji: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, jest wyliczany adres bezwzględny.
Dalej są liczone nazwy charakteryzujące artykuł danej książki strony, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, z tego adresu strony.
Przedostatnia funkcja, która jest uruchamiana przed funkcją zbierającą jest: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}, jeśli istnieje.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacjiReferencji}}{{Code|p.ZbieranieKontenerowychInformacjiReferencji}} ===
Funkcja zbiera informacje o stronie. Na podstawie informacji o nazwie artykułu i pełnej nazwy książki liczy parametry nazw charakteryzujące artykuł, co na tej podstawiwe liczy parametry pudełkowe i wywołuje funkcję główną przez inną funkcję, też zbierającą, i zbiera informacje o artykule.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacjiReferencji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, jako parametry zwracane przez funkcję: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}. Funkcja wyznacza parametry pudełkowe {{m|Pudełko}}, tzn.: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}, na podstawie tych nazw. Funkcja na samym końcu wywołuje funkcję zbierającą dane ze strony: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}, która z kolei uruchamia potem: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
== {{Śródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}{{Code|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}} ==
Funkcja sprawdza niepoprawność nazwy strony i na podstawie tego ustawia pewne kody problemów.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,__FUNKCJA_SPRAWDZANIE)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|__FUNKCJA_SPRAWDZANIE}} {{Patrz|__FUNKCJA_SPRAWDZANIE}} - funkcja uruchamiana, jeśli jest ustawiona, na wypadek poprawności strony.
W przypadku niepoprawności strony, gdy strona modułu jest aktualna (bieżąca), wtedy sprawdzany jest kod problemu, czy jest ustawiony, tzn.: {{Code|nieprawidłowe nazwy korzystanych stron}}, przy pomocy funkcji: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli nie ma takiego, to wtedy jest uruchamiana funkcja: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}. Podobnie jest dla niekorzystanej strony, wtedy jest problem dla kodu: {{Code|nieprawidłowe nazwy stron dołączanych do stron}}.
== Zbieranie informacji o linkach ==
=== {{Śródtytuł|p.LinkowanieFinalizowaniePrac}}{{Code|p.LinkowanieFinalizowaniePrac}} ===
Funkcja wadza uchwyt obiektu, wsazujący na aktualną stronę, do pewnej strony, i ewentualnie ustawia pewne problemy, jeśli je nie ustawiono.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} {{Patrz|obiekt}} - obiekt, obsługiwany przez tą funkcję linku,
* {{Code|kod}} {{LinkPatrz|kod}} - kod obiektu dla: {{LinkPatrz|obiekt}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} - jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}},
* {{Code|czy_pobierz}} {{Patrz|czy_pobierz}} - czy to jest szablon typu {{Code|Pobierz}} {{Patrz|Pobierz}}, jak: {{s|PobierzŚródtekst}}.
Funkcja sprawdza, czy nie został ustawiony element {{Code|tablica_zmiennych.sprawdzenie_dokonane_linku}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}, a jeżeli tak, to dalej, czy nie ma elementów numerowanych przy pomocy funkcji: {{Code|{{sr|#p["CzySąElementyNumerowaneTablicy"]|p=Parametry}}}}, a jeśli również tak, to dalej jest sprawdzane, czy został ustawiony problem: {{Code|strony poza zakresem obsługiwanym}}, przy pomocy: {{Code|{{sr|#p.CzyJestTakiElementTabeliProblemu|p=StronicowyParser/Problemy}}}}, a jeżeli nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}. Na samym końcu tej instrukcji warunkowej jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}.
Dalej pod tą instrukcją warunkową, jest robione, co powiedziane zostało w prologu tego opisu tej funkcji, tzn. z wyznaczonej tablicy ze: {{LinkPatrz|tablica_zmiennych}}, a dalej z wyznaczonej następnej podtabeli o kluczu: {{LinkPatrz|nazwa_obiektu}}.
Następnie, gdy element: {{LinkPatrz|czy_pobierz}}, jest ustawiony na {{Code|true}}, wtedy dla {{LinkPatrz|uchwyt_obiektu}}, pewna tablica, jest wstawiana do tablicy: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}}, jeśli istnieje, a jeśli nie, to jest tworzona, jako tablica, wtedy też jest to robione. Tą czynnością wstawiany tabelę, do tej tablicy, czyli:
<syntaxhighlight lang="lua">
{{nazwa_obiektu,uchwyt_obiektu,},{obiekt,kod,},}
</syntaxhighlight>
=== {{Śródtytuł|p.LinkowanieInnychStron}}{{Code|p.LinkowanieInnychStron}} ===
Funkcja do sprawdzania innych stron niż aktualna, a jeżeli dana strona została już sprawdzona, to powtórnie nie jest już rewidowana. Funkcja ustawia w głównej tablicy aktualnej tabeli {{LinkPatrz|tablica_zmiennych}} pewne podtablice.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieInnychStron(self,obiekt,kod,tablica_zmiennych, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejo jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Najpierw jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, która w razie poprawności nazwy strony, czyli inaczej nazw tej strony, tzn.: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, uruchamia funkcję zdefiniowaną w nim.
{{Tab}}Ta funkcja sprawdza, czy któraś z parametrów nazw istnieje, a jeżeli nie, to dalej jest inicjowana zmienna: {{Code|tablica_zmiennych2}} {{Patrz|tablica_zmiennych2}} pustą tablicą i podobnie {{Code|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}} {{Patrz|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}}, to uruchamiana jest: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, do zbierania informacji o stronie nowej lub przebadanej (wtedy zostają zwrócone parametry z wczęsniejszego jego analizowania, jak była nowa). Funkcja zwraca trzy parametry, tzn. {{Code|tabela_listy_danych_analizy_ksiazki0}} {{Patrz|tabela_listy_danych_analizy_ksiazki0}}, {{LinkPatrz|tablica_zmiennych2}} i {{Code|czy_inna}} {{Patrz|czy_inna}}. Te parametry mogą przyjmować wartość {{Code|nil}}, lub pierwszy {{Code|0}}, drugi, to nic innego jest jak: {{LinkPatrz|tablica_zmiennych2}}, a trzeci parametr jest wtedy równy {{Code|true}}, gdy strona jest nowa, a {{Code|false}} aktualna, a gdy {{Code|nil}}, gdy np. zawartość strony nie istnieje.
Gdy parametr: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, istnieje, wtedy jest spraqdzane, czy któreś z parametrów: {{LinkPatrz|tablica_zmiennych2}} i {{LinkPatrz|czy_inna}}, nie istsnieje, wtedy ta funkcja się zakańcza.
==== {{Śródtytuł|JuzPoliczone}}{{Code|JuzPoliczone}} ====
Dla obiektów, dla których jest ustawiony parametr: {{LinkPatrz|czy_pobierz}}, co dalej w tym rozgałęzieniu instrukcji warunkiwej jest uruchamiana funkcja szablonów tekstu, czyli: {{Code|{{sr|#p.UstawianiePobierz|p=StronicowyParser/SzablonyTekstu}}}}, aby również później za pomocą innych funkcji przeanalizować również tekst w szablonach takich jak: {{s|Śródtekst}}.
Dalej jest tworzona tablica, jeśli nie istnieje, tzn. {{Code|tablica_zmiennych2.dane_juz_policzone}} {{Patrz|tablica_zmiennych2.dane_juz_policzone}}, czyli jest inicjowana pustą tablicą. Dalej jest tworzona, jeśli nie istnieje, tablica wielowymiarowa po kolei, o kluczach kolejno: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}, {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu}}, a jeżeli ta ostatnia wartość tej tablicy była wcześniej, to zwracane jest {{Code|true}}, przeciwnie {{Code|false}}, a tej ostatniej wartości tej tablicy jest przydzielana wartość {{Code|true}}.
==== Dalszy opis funkcji ====
Gdy parametr: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest równy {{Code|0}}, ale nie {{Code|nil}}, wtedy jest sprawdzane, czy artykuł został wcześniej zrewidowany według: {{LinkŚródtytuł|JuzPoliczone}}, a jeżeli tak to jest zakańczany, a gdy ten parametr taakiej wartośsci nie przyjmuje, wtedy tylko jest uruchamiana funkcja bez żadnego warunku.
{{Tab}}Następnie jest uruchamiana funkcja: {{Code|{{sr|#p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony|p=StronicowyParser/SzablonyTekstu}}}}, do przydzielenia pewnych zmiennych z {{LinkPatrz|tablica_zmiennych2}} tablicy {{LinkPatrz|tablica_zmiennych}}.
{{Tab}}Jest sprawdzane, czy dany artykuł należy do spisu, jeżeli nie to są ustawiane pewne kody problemów w tablicy problemów, tzn. {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}.
Dalej jest sprawdzane, czy podany uchwyt {{LinkPatrz|uchwyt_obiektu}}, który jest podany w szablonach linków na aktualnej stronie, czy jest tylko jeden na stronie sprawdzanej, a jeżeli nie jest tak, to jest sprawdzane, czy nie istnieje ustawiony problem: {{Code|błędy uchwytów korzystanych stron}}, funkcją: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to taki problem jest dodawany dzięki: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
{{Tab}}Uruchamiana jest dalej funkcja: {{LinkŚródtytuł|p.PusteParametryReferencji}}, do sprawdzania pustości pewnych parametrów.
{{Tab}}Gdy tabela: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest jednak równa wartości odpowiadającej fałszywej, wtedy jeśli nie istnieje problem: {{Code|błąd wewnętrzny modułu lua stronicowego parsera}}, co jest rewidowane elementem: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to dodawany jest taki problem do tabeli problemów na podstawie: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
=== {{Śródtytuł|p.GeneralneLinkowanie}}{{Code|p.GeneralneLinkowanie}} ===
Funkcja zbiera uchwyty, na aktualnej lub innej stronie, a także je analizuje w odpowiedni sposób, modyfikuje tablica aktualnego modułu, czyli: {{LinkPatrz|tablica_zmiennych}}, na podstawie poszczególnych artykułów tej książki lub innej, która zbiera raz informacje o danej stronie.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Funkcja wyznacza uchwyt z tabeli parametrów: {{LinkPatrz|tabela_parametrow_szablonu}}, o kluczu {{Code|uchwyt}} {{LinkPatrz|uchwyt}} lub {{Code|1}}, a później w kodzie jest on kompletowany funkcją: {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a następnie rozwijany w niej, a później jest dekodowany: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}.
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, wywołujac: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}.
Na samym końcu jest uruchamiana: {{LinkPatrz|KtorySzablonMaZwracacKategorie}} z parametrem o tym uchwycie, wyliczonym wcześniej.
Gdy uchwyt istnieje, ale jest pusty, wtedy uruchamia się: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, następnie: {{LinkŚródtytuł|p.PusteParametryReferencji}}, a jeśli ta wartość nie istnieje, wtedy tylko ta ostatnia funkcja.
Gdy uchwyt: {{LinkPatrz|uchwyt}}, istnieje i jest niepusty, wtedy jest wyznaczana nazwa artykułu z niej samej, lub jeśli nazwa ksiązki istnieje, tylko, wtedy ta nazwa zaczyna być pusta, przeciwnie {{Code|nil}}, wtedy mamy do czynienia ze stroną główną podręcznika.
Gdy nazwa artykułu nie istnieje, wtedy wywoływana jest: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Jeśli nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest niepusta, i gdy nazwa książki nie istnieje, wtedy są liczone parametry nazw, oprócz nazwy artykułu, bo jest policzona, więc te {{ZobaczTeż|nazwy}}: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, z parametrów charakteryzujących nazwę aktualnego artykułu, a jeśli jednak nazwa książki jest pusta, to są sprawdzane parametry w: {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Gdy nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest nieistnieje, i gdy nazwa książki {{LinkPatrz|nazwa_ksiazki}} jest niepusta, wtedy nazwa artykułu zaczyna istnieć i inicjujemy wtedy ją wartością pustą, a jeśli pusta, za zaczyna być potem generowanie kodów błędów funkcją {{LinkŚródtytuł|p.PusteParametryReferencji}}, by potem się zakończyła ta funkcja.
Przeciwnie są liczone parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, tą samą metodą, co w punkcie: {{LinkZobaczTeż|nazwy}}.
Gdy nazwy {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}} są porównywane z nazwami, którymi się przypisje jak w: {{LinkZobaczTeż|nazwy}}, wtedy uruchamiamy funkcję: {{LinkŚródtytuł|p.LinkowanieInnychStron}}, przeciwnie wtedy działają dwie funkcje uruchomione po kolei, tzn.: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
== {{Śródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}{{Code|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} ==
Funkcja służy do zbierania informacji o danej analizowanej stronie, którego główną częścią jest strona korzystana, w której gromadzą się informacji też z pozostałych.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, czy_artykul_korzystany,tablica_zmiennych,czy_szablon_pudelkowy_strony_zbiorczej)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} - jak w: {{LinkPatrz|czy_szablon_pudelkowy_strony_zbiorczej}}.
=== {{Śródtytuł|__FUNKCJA_ARTYKULU}}{{Code|__FUNKCJA_ARTYKULU}} ===
Funkcja do tworzenia tabeli artykułów z innymi parametrami wielowymiarowej tej tabeli, a jeżeli owe pośrednie, i nie tylko, istnieją, to te tabele są zwracane lub nowo są tworzone.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji {{ZobaczTeż|parametry artykułu}}:
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}},
* {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu}} - nazwa artykułu w książce, bez pełnej nazwy książki.
Poniżej są tworzone podtabele puste, jeśli nie zostały utworzone.
Funkcja, która w tabeli: {{Code|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}} {{Patrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, która istnieje, tworzy tabele trójwymiarową kolejno po prarametrach: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, te tabele pośrednie śą wtedy tworzone, jeśsli nie istnieją, a gdy istnieją to nie są tworzone, tylko funkcja przechodzi do dalszych.
Dalej tworzona jest podtabela, jeśli nie istnieje o nazwie {{Code|lista_podstron_woluminu}} {{Patrz|lista_podstron_woluminu}}.
Następnie generowana jest podtabela, jeśli nie istnieje, o kluczu: {{LinkPatrz|nazwa_artykulu}}.
Funkcja zwraca kolejno elementy, jeśli klucz: {{LinkPatrz|nazwa_artykulu}}, istnieje, zatem:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany;
</syntaxhighlight>
Przeciwnie zwracany jest zbiór zmiennych po kolei:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki;
</syntaxhighlight>
Co to są za zmienne, wiadomo z ich nazw, po prostu są to pewne pośrednie, i nie tylko, tabele.
=== {{Śródtytuł|__FUNKCJA_POBIERANIE}}{{Code|__FUNKCJA_POBIERANIE}} ===
Funkcja zwraca parametry strony aktualnej, analizowanej jeszcze raz, aby ją nie powtórnie rewidować, lub podobnie innego artykułu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_POBIERANIE(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji są takie same jak w punkcie {{LinkZobaczTeż|parametry artykułu}}.
{{Tab}}Analiza dla artykułów niekorzystanych według parametru: {{LinkPatrz|czy_artykul_korzystany}}:
Dla jeszcze raz analizowanego artykułui aktualnego zwracane są parametry:
<syntaxhighlight lang="lua">
return 0,nil,nil,nil,nil,nil,self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron,false;
</syntaxhighlight>
Tabela: {{Code|self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron}}, tam są dane zebrane z aktualnego artykułu.
Dla innej takiej strony jest tworzony parametr, jeżeli jest włączona analiza, dla klucza: {{Code|analiza_spis_tresci}} {{Patrz|analiza_spis_tresci}}, według tego jest tworzony wartością prawdziwą parametr o innym znów kluczu: {{Code|analiza_spis_tresci_doloczone}} {{Patrz|analiza_spis_tresci_doloczone}}:
<syntaxhighlight lang="lua">
if(self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci)then
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=true;
end;
</syntaxhighlight>
Dla elementu: {{LinkPatrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, jeżeli dany artykuł był już rewidowany, to zwracane są elementy:
<syntaxhighlight lang="lua">
return 0,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni,dane_zebrane_ze_stron,true;
</syntaxhighlight>
To: {{Code|dane_zebrane_ze_stron}} {{Patrz|dane_zebrane_ze_stron}}, to podtabela: {{LinkPatrz|lista_podstron_woluminu}}, z kluczem: {{LinkPatrz|nazwa_artykulu}}.
Przeciwnie jest zwracane: {{Code|true}}, lub {{Code|nil}}, jeśli tabela: {{Code|self.tabela_listy_danych_analizy_ksiazki}} {{Patrz|self.tabela_listy_danych_analizy_ksiazki}}, lub podtatela: {{LinkPatrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, nie istnieje.
=== {{Śródtytuł|InneInformacjePrzebneDoAnalizowanejKsiazki}}{{Code|InneInformacjePrzebneDoAnalizowanejKsiazki}} ===
==== {{Śródtytuł|__FUNKCJA_SPISU}}{{Code|__FUNKCJA_SPISU}} ====
=== {{Śródtytuł|PrzekierownieAwaryjne}}{{Code|PrzekierownieAwaryjne}} ===
=== {{Śródtytuł|StronaZbiorcza}}{{Code|StronaZbiorcza}} ===
=== {{Śródtytuł|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}}{{Code|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}} ===
=== {{Śródtytuł|GeneralnaAnalizaSzablonuStronicowegoParsera}}{{Code|GeneralnaAnalizaSzablonuStronicowegoParsera}} ===
=== {{Śródtytuł|IterowaniePoElementachTekstu}}{{Code|IterowaniePoElementachTekstu}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieNaglowek}}{{Code|KtorySzablonMaZwracacKategorieNaglowek}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieTekst}}{{Code|KtorySzablonMaZwracacKategorieTekst}} ===
=== {{Śródtytuł|CzyJestTakiProblemJakoElementTablicy}}{{Code|CzyJestTakiProblemJakoElementTablicy}} ===
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
owkrzercv9c1biq9eqwlvctkbhvh9ji
547239
547238
2026-06-29T15:12:13Z
Persino
2851
/* {{Śródtytuł|__FUNKCJA_POBIERANIE}}{{Code|__FUNKCJA_POBIERANIE}} */
547239
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/ZbieranieDanychStron}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== Zbieranie informacji o uchwycie ==
=== {{Śródtytuł|p.UchwytyZeiBezNumeracji}}{{Code|p.UchwytyZeiBezNumeracji}} ===
Funkcja zbiera uchwyty, dla obiektów {{ZobaczTeż|p.UchwytyZeiBezNumeracji}}, bez numeracji, nie licząc obiektów tekst takich jak {{s|Śródtekst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UchwytyZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,lista_dwuelementowa,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} {{Patrz|self}} - zmiennna obiektowa modułu {{Code|{{ld2|StronicowyParser/ZbieranieDanychStron}}}} {{Patrz|StronicowyParser/ZbieranieDanychStron}},
* {{Code|tabela_elementow_strony_kodow}} {{Patrz|tabela_elementow_strony_kodow}} - zmienna zbierająca takie kody jak {{LinkZobaczTeż|p.UchwytyZeiBezNumeracji}},
* {{Code|nazwa_obiektu}} {{Patrz|nazwa obiektu}} - nazwa obiektu,
* {{Code|lista_dwuelementowa}} {{Patrz|lista_dwuelementowa}} - pozycja w normalnej tabeli uchwytów i przeważnie ich numeracji, a tutaj dla tego obiektu,
* {{Code|kod}} {{Patrz|kod}} - numer kodu dla tego obiektu.
Funkcja zbiera elementy {{LinkPatrz|lista_dwuelementowa}} w tablicy wielowymiarowej o pierwszym elemencie wymiaru {{LinkPatrz|nazwa obiektu}} i trzecim {{LinkPatrz|kod}}, oraz o drugim {{Code|uchwyty_bez_numeracji}} {{Patrz|uchwyty_bez_numeracji}}.
=== {{Śródtytuł|p.WydobywanieUchwytuZeiBezNumeracji}}{{Code|p.WydobywanieUchwytuZeiBezNumeracji}} ===
Funkcja wydowywa tablicę uchwytu dla pozycji, ale nie sam uchwyt, dla podtablicy {{LinkPatrz|uchwyty_bez_numeracji}} o danym kodzie {{LinkPatrz|kod}}, dla nazwy obiektu {{LinkPatrz|nazwa_obiektu}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.WydobywanieUchwytuZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_elementow_strony_kodow}} - jak w: {{LinkPatrz|tabela_elementow_strony_kodow}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}}.
Funkcja wykorzystuje elementy tablicy: {{LinkPatrz|uchwyty_bez_numeracji}}, wstawione przez funkcję: {{LinkŚródtytuł|p.UchwytyZeiBezNumeracji}}.
=== {{Śródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}{{Code|p.RozpatrywanieElementuUchwytuNumeracji}} ===
Funkcja wsadzająca utworzoną tablicę z podanym uchwytem do ogólnej tablicy pozycji nazwanych tabel z uchwytami o danej pozycji z nim.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|kod_uchwytu}} {{Patrz|kod_uchwytu}} - kod uchwytu podanego do szablonu stronicowego z odpowiednim uchwytem,
* {{Code|tab_numer}} {{Patrz|tab_numer}} - tablica z numerkami ilości elementów w tablicy parametrów nazwanych z uchwytami, w danym elemencie analizowania strony z uchwytami i obiektami,
* {{Code|tablica_zmiennych}} {{Patrz|tablica_zmiennych}} - tablica analizowania obiektów, danej strony,
* {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} {{Patrz|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - kolejno: nazwa przestrzeni nazw, nazwa przestrzeni książki, nazwa książki i nazwa artykułu książki,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} {{Patrz|czy_artykul_korzystany}} - czy artykuł aktualny wyświetlany w przeglądarce,
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} {{Patrz|nazwa_modulu_aktualna_czy_biezaca}} - nazwa artykułu aktualna lub bieżąca,
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{Patrz|tablica_analizy_obiektow_strony_dany_modul}} - tablica bazy kodów parsowania strony,
* {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - tablica analizy poszczególnych elementów kodów, do szybszego działania skryptu,
* {{Code|KtorySzablonMaZwracacKategorie}} {{Patrz|KtorySzablonMaZwracacKategorie}} - tablica zbierająca odkodowany i rozwinięty uchwyt, do analizowania w nim zebranych kategorii, według modułu: {{Code|{{ld2|StronicowyParser/Kategorie}}}}, uruchamiana w szablonach stronicowych z funkcjami '''stronicowego parsera'''.
Funkcja rozwija {{LinkPatrz|kod_uchwytu}} funkcją {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a potem je odkodowuje przy pomocy: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a jeżeli ona nie jest pusta, to dla tego jest uruchamiana funkcja {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Tworzona jest tablica {{Code|lista_dwuelementowa}} {{LinkPatrz|lista_dwuelementowa}} z uchwytem, jako pierwszy parametr.
Jest sprawdzane, czy element {{Code|tablica_zmiennych.sprawdzenie_dokonane_obiektu}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, jest fałszywy, jeżeli tak, to dalej jest sprawdzane, czy są elementy numerowane nazwanej tablicy: {{Code|tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2}} o nazwie {{LinkPatrz|nazwa_obiektu}}, a jeżeli jest pusta - na samym końcu jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, czyli jest inicjowana na wartość {{Code|true}}, to dalej jest sprawdzane, czy dla elementów: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy dana książka jest poza zakresem obsługiwanym, czyli rewidowane jest, czy jest ustawiony kod problemu {{Code|strony poza zakresem obsługiwanym}}, czy a jeżeli jednak nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}, ustawiające pewne elementy błędu, jeżeli trzeba to zrobić.
Gdy tabela {{LinkPatrz|tab_numer}} odpowiada nienilowej tablicy, wtedy element {{LinkPatrz|lista_dwuelementowa}} jest wstawiany na odpowiedniej pozycji, ale przeważnie nie na końcu, przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=table.insert|b=tak}}}}, dzięki określonej tabeli {{LinkPatrz|tab_numer}}, przeciwnie na jej końcu.
Funkcja zwraca element {{LinkPatrz|lista_dwuelementowa}}.
=== {{Śródtytuł|p.RozpatrywanieSzablonuObiektuDoNumeracji}}{{Code|p.RozpatrywanieSzablonuObiektuDoNumeracji}} ===
Funkcja, która uruchamia funkcję: {{LinkŚródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}, dla istniejącego uchwytu w postaci nazwanej o kluczu: {{Code|uchwyt}} {{Patrz|uchwyt}}, lub nienazwanej - w postaci numeru jego uchwytu o kluczu: {{Code|numer_numeracji}} {{Patrz|numer_numeracji}}, wsadzająca tabele z uchwytem na odpowiednią pozycję w odpowiedniej nazwanej tabeli o nazwie obiektu {{LinkPatrz|nazwa_obiektu}} w ogólnej tabeli: {{LinkPatrz|tablica_zmiennych}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}}- tabela parametrów szablonu,
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|numer_numeracji}} - jak w: {{LinkPatrz|numer_numeracji}},
* {{Code|tab_numer}} - jak w: {{LinkPatrz|tab_numer}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
== {{Śródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}{{Code|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}} ==
Funkcja sprawdza, czy dany artykuł należy do artykułów, któregoś spisu treści, a jeżeli nie, to dla stron, które nie należą do kategorii z ustawionym problemem {{Code|strony poza zakresem obsługiwanym}}, ale do nieaktualnej strony jest ustawiony problem {{Code|brak spisów treści do dołączonych stron}}. Natomiast dla aktualnej dla stron tej samej kategorii ustawiany jest problem {{Code|brak spisu treści do korzystanych stron}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== {{Śródtytuł|p.PusteParametryReferencji}}{{Code|p.PusteParametryReferencji}} ==
Funkcja sprawdza, jeśli są podane parametry szablonu stronicowego, które są w kategorii: {{lk|Szablony stronicowe}}, czyli: {{Code|nazwa_artykulu}}, ewentualnie: {{Code|nazwa_ksiazki}}, ale zawsze z: {{Code|uchwyt_obiektu}}, czy są one puste.
A jeżeli one istnieją i są takie, to są ustawione problemy typu, jeśli ich wcześniej nie ustawiono:
* {{Code|puste parametry szablonów stronicowych linkujących}} {{Patrz|puste parametry szablonów stronicowych linkujących}}, kolejno dla: {{Code|uchwyt_obiektu}}, {{Code|nazwa_artykulu}} i {{Code|nazwa_ksiazki}}, kolejno z numerami problemów: {{Code|1}}, {{Code|2}} i {{Code|3}}.
Dla obiektu o nazwie {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}.
{{Hr}}
Definicja skrótowa funkcji
<syntaxhighlight lang="lua">
function p.PusteParametryReferencji(self, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu)...end;
</syntaxhighlight>
Paraametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} {{Patrz|uchwyt_obiektu}} - uchwyt obiektu, podane w danym szablonie stronicowym,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}}.
== {{Śródtytuł|p.SzablonyReferencjiParametrowych}}{{Code|p.SzablonyReferencjiParametrowych}} ==
Funkcja z parametrów pudełkowych nazwy artykułu {{ZobaczTeż|nazwa artykułu}}: {{Code|nazwa artykułu}} {{Patrz|nazwa artykułu}} albo {{Code|1}}, gdy bezuchwytowe lub {{Code|2}}, i pełnej nazwy książki {{ZobaczTeż|pełna nazwa strony}}: {{Code|nazwa książki}} {{Patrz|nazwa książki}} albo, {{Code|2}}, gdy bezuchwytowe lub {{Code|3}}. To wszystko jest liczone z: {{LinkPatrz|tabela_parametrow_szablonu}} lub przy użyciu parametru również {{Code|bezuchwytowe}} {{Patrz|bezuchwytowe}}, gdy mamy szablon stronicowy {{lk|Szablony stronicowe}}, bezuchwytowy, wtedy {{Code|true}}, przeciwnie {{Code|false/nil}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca,bezuchwytowe)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{Code|bezuchwytowe}} - jak w: {{LinkPatrz|bezuchwytowe}}.
Funkcja obie nazwy dekoduje funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a później jest liczony adres bezwzględny z względnego dzięki: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, przy pomocy podstawy {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}}, podobnie ale wcześniej jest liczona nazwa artykułu {{linkZobaczTeż|nazwa artykułu}}, czyli: {{LinkPatrz|nazwa_artykulu}}, ale tutaj adres względny jest liczony z podstawy o ciągu pustym jako drugi parametr.
Na podstawie pełnej nazwy książki {{LinkZobaczTeż|pełna nazwa strony}}: jest liczona bardziej jej wersja pełniejsza, jeżeli to jest w ogóle możliwe z: {{Code|{{sr|#p["PełnaNazwaStronicowejKsiążki"]|p=Książkowe}}}}. A póżniej z tego wszystkiego są liczone nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, przy pomocy funkcji nazw: {{Code|{{ld2|Nazwy}}}}.
Na samym końcu funkcji są zwracane parametry nazw, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== Funkcje zbierania informacji ==
=== {{Śródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}{{Code|p.ZbieranieInformacjiStronyWoluminowychPozycji}} ===
Funkcja zbierania informacji na stronie dla szablonów stronicowych: {{lk|Szablony stronicowe}}, bezuchwytowych, gdy nie jest uruchomiony parametr: {{Code|czy_inna_wartosc_tekst}} {{Patrz|czy_inna_wartosc_tekst}}, wtedy jest wywoływana funkcja: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}, która liczy kolejne nazwy charaktertyzujące nazwy dla danego artykułu książki dla danej strony, przeciwnie parametry nazw są ściagane z: {{Code|tab_nazwy}} {{Patrz|tab_nazwy}}, ta tabela składa się numerowanych elementów, którymi są nazwy charakyteryzujące stronę.
Gdy jakaś nazwa artylułu strony została policzona, wtedy są liczone pozostałe nazwy z: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, a na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, a tuż przed nim, jeśli istnieje: {{Code|KtorySzablonMaZwracacKategorie}} {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,KtorySzablonMaZwracacKategorie,czy_inna_wartosc_tekst,tab_nazwy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_inna_wartosc_tekst}} - jak w: {{LinkPatrz|czy_inna_wartosc_tekst}},
* {{Code|tab_nazwy}} - jak w: {{LinkPatrz|tab_nazwy}}.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacji}}{{Code|p.ZbieranieKontenerowychInformacji}} ===
Funkcja do zbierania informacji, która z parametrów pudełkowych: {{Code|{{m|Pudełko}}}}, czyli: {{Code|nazwa przestrzeni nazw}} {{Patrz|nazwa przestrzeni nazw}} i {{Code|nazwa jednostki}} {{Patrz|nazwa jednostki}}, z nich są liczone parametry nazw charakteryzujące artykuł książki strony. A na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} {{Patrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,czy_szablon_pudelkowy_strony_zbiorczej,KtorySzablonMaZwracacKategorie)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} {{Patrz|czy_szablon_pudelkowy_strony_zbiorczej}} - funkcja potrzebna do funkcji zbierającej {{LinkPatrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, określającej, czy mamy szablon pudełkowy strony zbiorczej, taki jak: {{Code|{{s|StronaSubst}}}}, czy: {{Code|{{s|KsiążkaSubst}}}}, zobacz stronę: {{Code|{{lr2|Moduły/StronicowyParser/StronaSubst}}}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Gdy nie ma parametrów pudełkowych funkcja się natychmiast zakańcza, lub parametr: {{LinkPatrz|nazwa jednostki}}, jest pusta, lub nawet gdy zawierają kody wykrywane przez funkcję: {{Code|{{sr|#p.NormaWzoruKodowaniaTekstu|p=Szablonowe}}}}.
Z nazwy jednostki jest wydzielana nazwa jednostki właściwa bez nazwy nagłówka, póżniej obie nazwy są też dekodowane funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, czyli wszystko z: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}.
Z tych dwóch nazwy jest liczony adres, ewentualnie względny, który za pomocą funkcji: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, jest wyliczany adres bezwzględny.
Dalej są liczone nazwy charakteryzujące artykuł danej książki strony, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, z tego adresu strony.
Przedostatnia funkcja, która jest uruchamiana przed funkcją zbierającą jest: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}, jeśli istnieje.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacjiReferencji}}{{Code|p.ZbieranieKontenerowychInformacjiReferencji}} ===
Funkcja zbiera informacje o stronie. Na podstawie informacji o nazwie artykułu i pełnej nazwy książki liczy parametry nazw charakteryzujące artykuł, co na tej podstawiwe liczy parametry pudełkowe i wywołuje funkcję główną przez inną funkcję, też zbierającą, i zbiera informacje o artykule.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacjiReferencji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, jako parametry zwracane przez funkcję: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}. Funkcja wyznacza parametry pudełkowe {{m|Pudełko}}, tzn.: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}, na podstawie tych nazw. Funkcja na samym końcu wywołuje funkcję zbierającą dane ze strony: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}, która z kolei uruchamia potem: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
== {{Śródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}{{Code|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}} ==
Funkcja sprawdza niepoprawność nazwy strony i na podstawie tego ustawia pewne kody problemów.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,__FUNKCJA_SPRAWDZANIE)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|__FUNKCJA_SPRAWDZANIE}} {{Patrz|__FUNKCJA_SPRAWDZANIE}} - funkcja uruchamiana, jeśli jest ustawiona, na wypadek poprawności strony.
W przypadku niepoprawności strony, gdy strona modułu jest aktualna (bieżąca), wtedy sprawdzany jest kod problemu, czy jest ustawiony, tzn.: {{Code|nieprawidłowe nazwy korzystanych stron}}, przy pomocy funkcji: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli nie ma takiego, to wtedy jest uruchamiana funkcja: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}. Podobnie jest dla niekorzystanej strony, wtedy jest problem dla kodu: {{Code|nieprawidłowe nazwy stron dołączanych do stron}}.
== Zbieranie informacji o linkach ==
=== {{Śródtytuł|p.LinkowanieFinalizowaniePrac}}{{Code|p.LinkowanieFinalizowaniePrac}} ===
Funkcja wadza uchwyt obiektu, wsazujący na aktualną stronę, do pewnej strony, i ewentualnie ustawia pewne problemy, jeśli je nie ustawiono.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} {{Patrz|obiekt}} - obiekt, obsługiwany przez tą funkcję linku,
* {{Code|kod}} {{LinkPatrz|kod}} - kod obiektu dla: {{LinkPatrz|obiekt}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} - jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}},
* {{Code|czy_pobierz}} {{Patrz|czy_pobierz}} - czy to jest szablon typu {{Code|Pobierz}} {{Patrz|Pobierz}}, jak: {{s|PobierzŚródtekst}}.
Funkcja sprawdza, czy nie został ustawiony element {{Code|tablica_zmiennych.sprawdzenie_dokonane_linku}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}, a jeżeli tak, to dalej, czy nie ma elementów numerowanych przy pomocy funkcji: {{Code|{{sr|#p["CzySąElementyNumerowaneTablicy"]|p=Parametry}}}}, a jeśli również tak, to dalej jest sprawdzane, czy został ustawiony problem: {{Code|strony poza zakresem obsługiwanym}}, przy pomocy: {{Code|{{sr|#p.CzyJestTakiElementTabeliProblemu|p=StronicowyParser/Problemy}}}}, a jeżeli nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}. Na samym końcu tej instrukcji warunkowej jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}.
Dalej pod tą instrukcją warunkową, jest robione, co powiedziane zostało w prologu tego opisu tej funkcji, tzn. z wyznaczonej tablicy ze: {{LinkPatrz|tablica_zmiennych}}, a dalej z wyznaczonej następnej podtabeli o kluczu: {{LinkPatrz|nazwa_obiektu}}.
Następnie, gdy element: {{LinkPatrz|czy_pobierz}}, jest ustawiony na {{Code|true}}, wtedy dla {{LinkPatrz|uchwyt_obiektu}}, pewna tablica, jest wstawiana do tablicy: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}}, jeśli istnieje, a jeśli nie, to jest tworzona, jako tablica, wtedy też jest to robione. Tą czynnością wstawiany tabelę, do tej tablicy, czyli:
<syntaxhighlight lang="lua">
{{nazwa_obiektu,uchwyt_obiektu,},{obiekt,kod,},}
</syntaxhighlight>
=== {{Śródtytuł|p.LinkowanieInnychStron}}{{Code|p.LinkowanieInnychStron}} ===
Funkcja do sprawdzania innych stron niż aktualna, a jeżeli dana strona została już sprawdzona, to powtórnie nie jest już rewidowana. Funkcja ustawia w głównej tablicy aktualnej tabeli {{LinkPatrz|tablica_zmiennych}} pewne podtablice.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieInnychStron(self,obiekt,kod,tablica_zmiennych, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejo jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Najpierw jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, która w razie poprawności nazwy strony, czyli inaczej nazw tej strony, tzn.: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, uruchamia funkcję zdefiniowaną w nim.
{{Tab}}Ta funkcja sprawdza, czy któraś z parametrów nazw istnieje, a jeżeli nie, to dalej jest inicjowana zmienna: {{Code|tablica_zmiennych2}} {{Patrz|tablica_zmiennych2}} pustą tablicą i podobnie {{Code|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}} {{Patrz|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}}, to uruchamiana jest: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, do zbierania informacji o stronie nowej lub przebadanej (wtedy zostają zwrócone parametry z wczęsniejszego jego analizowania, jak była nowa). Funkcja zwraca trzy parametry, tzn. {{Code|tabela_listy_danych_analizy_ksiazki0}} {{Patrz|tabela_listy_danych_analizy_ksiazki0}}, {{LinkPatrz|tablica_zmiennych2}} i {{Code|czy_inna}} {{Patrz|czy_inna}}. Te parametry mogą przyjmować wartość {{Code|nil}}, lub pierwszy {{Code|0}}, drugi, to nic innego jest jak: {{LinkPatrz|tablica_zmiennych2}}, a trzeci parametr jest wtedy równy {{Code|true}}, gdy strona jest nowa, a {{Code|false}} aktualna, a gdy {{Code|nil}}, gdy np. zawartość strony nie istnieje.
Gdy parametr: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, istnieje, wtedy jest spraqdzane, czy któreś z parametrów: {{LinkPatrz|tablica_zmiennych2}} i {{LinkPatrz|czy_inna}}, nie istsnieje, wtedy ta funkcja się zakańcza.
==== {{Śródtytuł|JuzPoliczone}}{{Code|JuzPoliczone}} ====
Dla obiektów, dla których jest ustawiony parametr: {{LinkPatrz|czy_pobierz}}, co dalej w tym rozgałęzieniu instrukcji warunkiwej jest uruchamiana funkcja szablonów tekstu, czyli: {{Code|{{sr|#p.UstawianiePobierz|p=StronicowyParser/SzablonyTekstu}}}}, aby również później za pomocą innych funkcji przeanalizować również tekst w szablonach takich jak: {{s|Śródtekst}}.
Dalej jest tworzona tablica, jeśli nie istnieje, tzn. {{Code|tablica_zmiennych2.dane_juz_policzone}} {{Patrz|tablica_zmiennych2.dane_juz_policzone}}, czyli jest inicjowana pustą tablicą. Dalej jest tworzona, jeśli nie istnieje, tablica wielowymiarowa po kolei, o kluczach kolejno: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}, {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu}}, a jeżeli ta ostatnia wartość tej tablicy była wcześniej, to zwracane jest {{Code|true}}, przeciwnie {{Code|false}}, a tej ostatniej wartości tej tablicy jest przydzielana wartość {{Code|true}}.
==== Dalszy opis funkcji ====
Gdy parametr: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest równy {{Code|0}}, ale nie {{Code|nil}}, wtedy jest sprawdzane, czy artykuł został wcześniej zrewidowany według: {{LinkŚródtytuł|JuzPoliczone}}, a jeżeli tak to jest zakańczany, a gdy ten parametr taakiej wartośsci nie przyjmuje, wtedy tylko jest uruchamiana funkcja bez żadnego warunku.
{{Tab}}Następnie jest uruchamiana funkcja: {{Code|{{sr|#p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony|p=StronicowyParser/SzablonyTekstu}}}}, do przydzielenia pewnych zmiennych z {{LinkPatrz|tablica_zmiennych2}} tablicy {{LinkPatrz|tablica_zmiennych}}.
{{Tab}}Jest sprawdzane, czy dany artykuł należy do spisu, jeżeli nie to są ustawiane pewne kody problemów w tablicy problemów, tzn. {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}.
Dalej jest sprawdzane, czy podany uchwyt {{LinkPatrz|uchwyt_obiektu}}, który jest podany w szablonach linków na aktualnej stronie, czy jest tylko jeden na stronie sprawdzanej, a jeżeli nie jest tak, to jest sprawdzane, czy nie istnieje ustawiony problem: {{Code|błędy uchwytów korzystanych stron}}, funkcją: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to taki problem jest dodawany dzięki: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
{{Tab}}Uruchamiana jest dalej funkcja: {{LinkŚródtytuł|p.PusteParametryReferencji}}, do sprawdzania pustości pewnych parametrów.
{{Tab}}Gdy tabela: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest jednak równa wartości odpowiadającej fałszywej, wtedy jeśli nie istnieje problem: {{Code|błąd wewnętrzny modułu lua stronicowego parsera}}, co jest rewidowane elementem: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to dodawany jest taki problem do tabeli problemów na podstawie: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
=== {{Śródtytuł|p.GeneralneLinkowanie}}{{Code|p.GeneralneLinkowanie}} ===
Funkcja zbiera uchwyty, na aktualnej lub innej stronie, a także je analizuje w odpowiedni sposób, modyfikuje tablica aktualnego modułu, czyli: {{LinkPatrz|tablica_zmiennych}}, na podstawie poszczególnych artykułów tej książki lub innej, która zbiera raz informacje o danej stronie.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Funkcja wyznacza uchwyt z tabeli parametrów: {{LinkPatrz|tabela_parametrow_szablonu}}, o kluczu {{Code|uchwyt}} {{LinkPatrz|uchwyt}} lub {{Code|1}}, a później w kodzie jest on kompletowany funkcją: {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a następnie rozwijany w niej, a później jest dekodowany: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}.
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, wywołujac: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}.
Na samym końcu jest uruchamiana: {{LinkPatrz|KtorySzablonMaZwracacKategorie}} z parametrem o tym uchwycie, wyliczonym wcześniej.
Gdy uchwyt istnieje, ale jest pusty, wtedy uruchamia się: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, następnie: {{LinkŚródtytuł|p.PusteParametryReferencji}}, a jeśli ta wartość nie istnieje, wtedy tylko ta ostatnia funkcja.
Gdy uchwyt: {{LinkPatrz|uchwyt}}, istnieje i jest niepusty, wtedy jest wyznaczana nazwa artykułu z niej samej, lub jeśli nazwa ksiązki istnieje, tylko, wtedy ta nazwa zaczyna być pusta, przeciwnie {{Code|nil}}, wtedy mamy do czynienia ze stroną główną podręcznika.
Gdy nazwa artykułu nie istnieje, wtedy wywoływana jest: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Jeśli nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest niepusta, i gdy nazwa książki nie istnieje, wtedy są liczone parametry nazw, oprócz nazwy artykułu, bo jest policzona, więc te {{ZobaczTeż|nazwy}}: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, z parametrów charakteryzujących nazwę aktualnego artykułu, a jeśli jednak nazwa książki jest pusta, to są sprawdzane parametry w: {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Gdy nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest nieistnieje, i gdy nazwa książki {{LinkPatrz|nazwa_ksiazki}} jest niepusta, wtedy nazwa artykułu zaczyna istnieć i inicjujemy wtedy ją wartością pustą, a jeśli pusta, za zaczyna być potem generowanie kodów błędów funkcją {{LinkŚródtytuł|p.PusteParametryReferencji}}, by potem się zakończyła ta funkcja.
Przeciwnie są liczone parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, tą samą metodą, co w punkcie: {{LinkZobaczTeż|nazwy}}.
Gdy nazwy {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}} są porównywane z nazwami, którymi się przypisje jak w: {{LinkZobaczTeż|nazwy}}, wtedy uruchamiamy funkcję: {{LinkŚródtytuł|p.LinkowanieInnychStron}}, przeciwnie wtedy działają dwie funkcje uruchomione po kolei, tzn.: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
== {{Śródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}{{Code|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} ==
Funkcja służy do zbierania informacji o danej analizowanej stronie, którego główną częścią jest strona korzystana, w której gromadzą się informacji też z pozostałych.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, czy_artykul_korzystany,tablica_zmiennych,czy_szablon_pudelkowy_strony_zbiorczej)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} - jak w: {{LinkPatrz|czy_szablon_pudelkowy_strony_zbiorczej}}.
=== {{Śródtytuł|__FUNKCJA_ARTYKULU}}{{Code|__FUNKCJA_ARTYKULU}} ===
Funkcja do tworzenia tabeli artykułów z innymi parametrami wielowymiarowej tej tabeli, a jeżeli owe pośrednie, i nie tylko, istnieją, to te tabele są zwracane lub nowo są tworzone.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji {{ZobaczTeż|parametry artykułu}}:
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}},
* {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu}} - nazwa artykułu w książce, bez pełnej nazwy książki.
Poniżej są tworzone podtabele puste, jeśli nie zostały utworzone.
Funkcja, która w tabeli: {{Code|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}} {{Patrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, która istnieje, tworzy tabele trójwymiarową kolejno po prarametrach: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, te tabele pośrednie śą wtedy tworzone, jeśsli nie istnieją, a gdy istnieją to nie są tworzone, tylko funkcja przechodzi do dalszych.
Dalej tworzona jest podtabela, jeśli nie istnieje o nazwie {{Code|lista_podstron_woluminu}} {{Patrz|lista_podstron_woluminu}}.
Następnie generowana jest podtabela, jeśli nie istnieje, o kluczu: {{LinkPatrz|nazwa_artykulu}}.
Funkcja zwraca kolejno elementy, jeśli klucz: {{LinkPatrz|nazwa_artykulu}}, istnieje, zatem:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany;
</syntaxhighlight>
Przeciwnie zwracany jest zbiór zmiennych po kolei:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki;
</syntaxhighlight>
Co to są za zmienne, wiadomo z ich nazw, po prostu są to pewne pośrednie, i nie tylko, tabele.
=== {{Śródtytuł|__FUNKCJA_POBIERANIE}}{{Code|__FUNKCJA_POBIERANIE}} ===
Funkcja zwraca parametry strony aktualnej, analizowanej jeszcze raz, aby ją nie powtórnie rewidować, lub podobnie innego artykułu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_POBIERANIE(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji są takie same jak w punkcie {{LinkZobaczTeż|parametry artykułu}}.
{{Tab}}Analiza dla artykułów niekorzystanych według parametru: {{LinkPatrz|czy_artykul_korzystany}}:
Dla jeszcze raz analizowanego artykułui aktualnego zwracane są parametry:
<syntaxhighlight lang="lua">
return 0,nil,nil,nil,nil,nil,self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron,false;
</syntaxhighlight>
Tabela: {{Code|self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron}}, tam są dane zebrane z aktualnego artykułu.
Dla innej takiej strony jest tworzony parametr, jeżeli jest włączona analiza, dla klucza: {{Code|analiza_spis_tresci}} {{Patrz|analiza_spis_tresci}}, według tego jest tworzony wartością prawdziwą parametr o innym znów kluczu: {{Code|analiza_spis_tresci_doloczone}} {{Patrz|analiza_spis_tresci_doloczone}}:
<syntaxhighlight lang="lua">
if(self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci)then
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=true;
end;
</syntaxhighlight>
Dla elementu: {{LinkPatrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, jeżeli dany artykuł był już rewidowany, to zwracane są elementy:
<syntaxhighlight lang="lua">
return 0,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni,dane_zebrane_ze_stron,true;
</syntaxhighlight>
To: {{Code|dane_zebrane_ze_stron}} {{Patrz|dane_zebrane_ze_stron}}, to podtabela: {{LinkPatrz|lista_podstron_woluminu}}, z kluczem: {{LinkPatrz|nazwa_artykulu}}, o nazwie takiej samej jak ten parametr zwracany.
Przeciwnie jest zwracane: {{Code|true}}, lub {{Code|nil}}, jeśli tabela: {{Code|self.tabela_listy_danych_analizy_ksiazki}} {{Patrz|self.tabela_listy_danych_analizy_ksiazki}}, lub podtatela: {{LinkPatrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, nie istnieje.
=== {{Śródtytuł|InneInformacjePrzebneDoAnalizowanejKsiazki}}{{Code|InneInformacjePrzebneDoAnalizowanejKsiazki}} ===
==== {{Śródtytuł|__FUNKCJA_SPISU}}{{Code|__FUNKCJA_SPISU}} ====
=== {{Śródtytuł|PrzekierownieAwaryjne}}{{Code|PrzekierownieAwaryjne}} ===
=== {{Śródtytuł|StronaZbiorcza}}{{Code|StronaZbiorcza}} ===
=== {{Śródtytuł|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}}{{Code|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}} ===
=== {{Śródtytuł|GeneralnaAnalizaSzablonuStronicowegoParsera}}{{Code|GeneralnaAnalizaSzablonuStronicowegoParsera}} ===
=== {{Śródtytuł|IterowaniePoElementachTekstu}}{{Code|IterowaniePoElementachTekstu}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieNaglowek}}{{Code|KtorySzablonMaZwracacKategorieNaglowek}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieTekst}}{{Code|KtorySzablonMaZwracacKategorieTekst}} ===
=== {{Śródtytuł|CzyJestTakiProblemJakoElementTablicy}}{{Code|CzyJestTakiProblemJakoElementTablicy}} ===
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
iclw80ura04lzpyebnbvmiu3ekj52or
547240
547239
2026-06-29T15:14:05Z
Persino
2851
/* {{Śródtytuł|__FUNKCJA_POBIERANIE}}{{Code|__FUNKCJA_POBIERANIE}} */
547240
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/ZbieranieDanychStron}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== Zbieranie informacji o uchwycie ==
=== {{Śródtytuł|p.UchwytyZeiBezNumeracji}}{{Code|p.UchwytyZeiBezNumeracji}} ===
Funkcja zbiera uchwyty, dla obiektów {{ZobaczTeż|p.UchwytyZeiBezNumeracji}}, bez numeracji, nie licząc obiektów tekst takich jak {{s|Śródtekst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UchwytyZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,lista_dwuelementowa,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} {{Patrz|self}} - zmiennna obiektowa modułu {{Code|{{ld2|StronicowyParser/ZbieranieDanychStron}}}} {{Patrz|StronicowyParser/ZbieranieDanychStron}},
* {{Code|tabela_elementow_strony_kodow}} {{Patrz|tabela_elementow_strony_kodow}} - zmienna zbierająca takie kody jak {{LinkZobaczTeż|p.UchwytyZeiBezNumeracji}},
* {{Code|nazwa_obiektu}} {{Patrz|nazwa obiektu}} - nazwa obiektu,
* {{Code|lista_dwuelementowa}} {{Patrz|lista_dwuelementowa}} - pozycja w normalnej tabeli uchwytów i przeważnie ich numeracji, a tutaj dla tego obiektu,
* {{Code|kod}} {{Patrz|kod}} - numer kodu dla tego obiektu.
Funkcja zbiera elementy {{LinkPatrz|lista_dwuelementowa}} w tablicy wielowymiarowej o pierwszym elemencie wymiaru {{LinkPatrz|nazwa obiektu}} i trzecim {{LinkPatrz|kod}}, oraz o drugim {{Code|uchwyty_bez_numeracji}} {{Patrz|uchwyty_bez_numeracji}}.
=== {{Śródtytuł|p.WydobywanieUchwytuZeiBezNumeracji}}{{Code|p.WydobywanieUchwytuZeiBezNumeracji}} ===
Funkcja wydowywa tablicę uchwytu dla pozycji, ale nie sam uchwyt, dla podtablicy {{LinkPatrz|uchwyty_bez_numeracji}} o danym kodzie {{LinkPatrz|kod}}, dla nazwy obiektu {{LinkPatrz|nazwa_obiektu}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.WydobywanieUchwytuZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_elementow_strony_kodow}} - jak w: {{LinkPatrz|tabela_elementow_strony_kodow}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}}.
Funkcja wykorzystuje elementy tablicy: {{LinkPatrz|uchwyty_bez_numeracji}}, wstawione przez funkcję: {{LinkŚródtytuł|p.UchwytyZeiBezNumeracji}}.
=== {{Śródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}{{Code|p.RozpatrywanieElementuUchwytuNumeracji}} ===
Funkcja wsadzająca utworzoną tablicę z podanym uchwytem do ogólnej tablicy pozycji nazwanych tabel z uchwytami o danej pozycji z nim.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|kod_uchwytu}} {{Patrz|kod_uchwytu}} - kod uchwytu podanego do szablonu stronicowego z odpowiednim uchwytem,
* {{Code|tab_numer}} {{Patrz|tab_numer}} - tablica z numerkami ilości elementów w tablicy parametrów nazwanych z uchwytami, w danym elemencie analizowania strony z uchwytami i obiektami,
* {{Code|tablica_zmiennych}} {{Patrz|tablica_zmiennych}} - tablica analizowania obiektów, danej strony,
* {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} {{Patrz|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - kolejno: nazwa przestrzeni nazw, nazwa przestrzeni książki, nazwa książki i nazwa artykułu książki,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} {{Patrz|czy_artykul_korzystany}} - czy artykuł aktualny wyświetlany w przeglądarce,
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} {{Patrz|nazwa_modulu_aktualna_czy_biezaca}} - nazwa artykułu aktualna lub bieżąca,
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{Patrz|tablica_analizy_obiektow_strony_dany_modul}} - tablica bazy kodów parsowania strony,
* {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - tablica analizy poszczególnych elementów kodów, do szybszego działania skryptu,
* {{Code|KtorySzablonMaZwracacKategorie}} {{Patrz|KtorySzablonMaZwracacKategorie}} - tablica zbierająca odkodowany i rozwinięty uchwyt, do analizowania w nim zebranych kategorii, według modułu: {{Code|{{ld2|StronicowyParser/Kategorie}}}}, uruchamiana w szablonach stronicowych z funkcjami '''stronicowego parsera'''.
Funkcja rozwija {{LinkPatrz|kod_uchwytu}} funkcją {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a potem je odkodowuje przy pomocy: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a jeżeli ona nie jest pusta, to dla tego jest uruchamiana funkcja {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Tworzona jest tablica {{Code|lista_dwuelementowa}} {{LinkPatrz|lista_dwuelementowa}} z uchwytem, jako pierwszy parametr.
Jest sprawdzane, czy element {{Code|tablica_zmiennych.sprawdzenie_dokonane_obiektu}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, jest fałszywy, jeżeli tak, to dalej jest sprawdzane, czy są elementy numerowane nazwanej tablicy: {{Code|tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2}} o nazwie {{LinkPatrz|nazwa_obiektu}}, a jeżeli jest pusta - na samym końcu jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, czyli jest inicjowana na wartość {{Code|true}}, to dalej jest sprawdzane, czy dla elementów: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy dana książka jest poza zakresem obsługiwanym, czyli rewidowane jest, czy jest ustawiony kod problemu {{Code|strony poza zakresem obsługiwanym}}, czy a jeżeli jednak nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}, ustawiające pewne elementy błędu, jeżeli trzeba to zrobić.
Gdy tabela {{LinkPatrz|tab_numer}} odpowiada nienilowej tablicy, wtedy element {{LinkPatrz|lista_dwuelementowa}} jest wstawiany na odpowiedniej pozycji, ale przeważnie nie na końcu, przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=table.insert|b=tak}}}}, dzięki określonej tabeli {{LinkPatrz|tab_numer}}, przeciwnie na jej końcu.
Funkcja zwraca element {{LinkPatrz|lista_dwuelementowa}}.
=== {{Śródtytuł|p.RozpatrywanieSzablonuObiektuDoNumeracji}}{{Code|p.RozpatrywanieSzablonuObiektuDoNumeracji}} ===
Funkcja, która uruchamia funkcję: {{LinkŚródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}, dla istniejącego uchwytu w postaci nazwanej o kluczu: {{Code|uchwyt}} {{Patrz|uchwyt}}, lub nienazwanej - w postaci numeru jego uchwytu o kluczu: {{Code|numer_numeracji}} {{Patrz|numer_numeracji}}, wsadzająca tabele z uchwytem na odpowiednią pozycję w odpowiedniej nazwanej tabeli o nazwie obiektu {{LinkPatrz|nazwa_obiektu}} w ogólnej tabeli: {{LinkPatrz|tablica_zmiennych}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}}- tabela parametrów szablonu,
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|numer_numeracji}} - jak w: {{LinkPatrz|numer_numeracji}},
* {{Code|tab_numer}} - jak w: {{LinkPatrz|tab_numer}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
== {{Śródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}{{Code|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}} ==
Funkcja sprawdza, czy dany artykuł należy do artykułów, któregoś spisu treści, a jeżeli nie, to dla stron, które nie należą do kategorii z ustawionym problemem {{Code|strony poza zakresem obsługiwanym}}, ale do nieaktualnej strony jest ustawiony problem {{Code|brak spisów treści do dołączonych stron}}. Natomiast dla aktualnej dla stron tej samej kategorii ustawiany jest problem {{Code|brak spisu treści do korzystanych stron}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== {{Śródtytuł|p.PusteParametryReferencji}}{{Code|p.PusteParametryReferencji}} ==
Funkcja sprawdza, jeśli są podane parametry szablonu stronicowego, które są w kategorii: {{lk|Szablony stronicowe}}, czyli: {{Code|nazwa_artykulu}}, ewentualnie: {{Code|nazwa_ksiazki}}, ale zawsze z: {{Code|uchwyt_obiektu}}, czy są one puste.
A jeżeli one istnieją i są takie, to są ustawione problemy typu, jeśli ich wcześniej nie ustawiono:
* {{Code|puste parametry szablonów stronicowych linkujących}} {{Patrz|puste parametry szablonów stronicowych linkujących}}, kolejno dla: {{Code|uchwyt_obiektu}}, {{Code|nazwa_artykulu}} i {{Code|nazwa_ksiazki}}, kolejno z numerami problemów: {{Code|1}}, {{Code|2}} i {{Code|3}}.
Dla obiektu o nazwie {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}.
{{Hr}}
Definicja skrótowa funkcji
<syntaxhighlight lang="lua">
function p.PusteParametryReferencji(self, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu)...end;
</syntaxhighlight>
Paraametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} {{Patrz|uchwyt_obiektu}} - uchwyt obiektu, podane w danym szablonie stronicowym,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}}.
== {{Śródtytuł|p.SzablonyReferencjiParametrowych}}{{Code|p.SzablonyReferencjiParametrowych}} ==
Funkcja z parametrów pudełkowych nazwy artykułu {{ZobaczTeż|nazwa artykułu}}: {{Code|nazwa artykułu}} {{Patrz|nazwa artykułu}} albo {{Code|1}}, gdy bezuchwytowe lub {{Code|2}}, i pełnej nazwy książki {{ZobaczTeż|pełna nazwa strony}}: {{Code|nazwa książki}} {{Patrz|nazwa książki}} albo, {{Code|2}}, gdy bezuchwytowe lub {{Code|3}}. To wszystko jest liczone z: {{LinkPatrz|tabela_parametrow_szablonu}} lub przy użyciu parametru również {{Code|bezuchwytowe}} {{Patrz|bezuchwytowe}}, gdy mamy szablon stronicowy {{lk|Szablony stronicowe}}, bezuchwytowy, wtedy {{Code|true}}, przeciwnie {{Code|false/nil}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca,bezuchwytowe)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{Code|bezuchwytowe}} - jak w: {{LinkPatrz|bezuchwytowe}}.
Funkcja obie nazwy dekoduje funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a później jest liczony adres bezwzględny z względnego dzięki: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, przy pomocy podstawy {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}}, podobnie ale wcześniej jest liczona nazwa artykułu {{linkZobaczTeż|nazwa artykułu}}, czyli: {{LinkPatrz|nazwa_artykulu}}, ale tutaj adres względny jest liczony z podstawy o ciągu pustym jako drugi parametr.
Na podstawie pełnej nazwy książki {{LinkZobaczTeż|pełna nazwa strony}}: jest liczona bardziej jej wersja pełniejsza, jeżeli to jest w ogóle możliwe z: {{Code|{{sr|#p["PełnaNazwaStronicowejKsiążki"]|p=Książkowe}}}}. A póżniej z tego wszystkiego są liczone nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, przy pomocy funkcji nazw: {{Code|{{ld2|Nazwy}}}}.
Na samym końcu funkcji są zwracane parametry nazw, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== Funkcje zbierania informacji ==
=== {{Śródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}{{Code|p.ZbieranieInformacjiStronyWoluminowychPozycji}} ===
Funkcja zbierania informacji na stronie dla szablonów stronicowych: {{lk|Szablony stronicowe}}, bezuchwytowych, gdy nie jest uruchomiony parametr: {{Code|czy_inna_wartosc_tekst}} {{Patrz|czy_inna_wartosc_tekst}}, wtedy jest wywoływana funkcja: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}, która liczy kolejne nazwy charaktertyzujące nazwy dla danego artykułu książki dla danej strony, przeciwnie parametry nazw są ściagane z: {{Code|tab_nazwy}} {{Patrz|tab_nazwy}}, ta tabela składa się numerowanych elementów, którymi są nazwy charakyteryzujące stronę.
Gdy jakaś nazwa artylułu strony została policzona, wtedy są liczone pozostałe nazwy z: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, a na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, a tuż przed nim, jeśli istnieje: {{Code|KtorySzablonMaZwracacKategorie}} {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,KtorySzablonMaZwracacKategorie,czy_inna_wartosc_tekst,tab_nazwy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_inna_wartosc_tekst}} - jak w: {{LinkPatrz|czy_inna_wartosc_tekst}},
* {{Code|tab_nazwy}} - jak w: {{LinkPatrz|tab_nazwy}}.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacji}}{{Code|p.ZbieranieKontenerowychInformacji}} ===
Funkcja do zbierania informacji, która z parametrów pudełkowych: {{Code|{{m|Pudełko}}}}, czyli: {{Code|nazwa przestrzeni nazw}} {{Patrz|nazwa przestrzeni nazw}} i {{Code|nazwa jednostki}} {{Patrz|nazwa jednostki}}, z nich są liczone parametry nazw charakteryzujące artykuł książki strony. A na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} {{Patrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,czy_szablon_pudelkowy_strony_zbiorczej,KtorySzablonMaZwracacKategorie)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} {{Patrz|czy_szablon_pudelkowy_strony_zbiorczej}} - funkcja potrzebna do funkcji zbierającej {{LinkPatrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, określającej, czy mamy szablon pudełkowy strony zbiorczej, taki jak: {{Code|{{s|StronaSubst}}}}, czy: {{Code|{{s|KsiążkaSubst}}}}, zobacz stronę: {{Code|{{lr2|Moduły/StronicowyParser/StronaSubst}}}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Gdy nie ma parametrów pudełkowych funkcja się natychmiast zakańcza, lub parametr: {{LinkPatrz|nazwa jednostki}}, jest pusta, lub nawet gdy zawierają kody wykrywane przez funkcję: {{Code|{{sr|#p.NormaWzoruKodowaniaTekstu|p=Szablonowe}}}}.
Z nazwy jednostki jest wydzielana nazwa jednostki właściwa bez nazwy nagłówka, póżniej obie nazwy są też dekodowane funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, czyli wszystko z: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}.
Z tych dwóch nazwy jest liczony adres, ewentualnie względny, który za pomocą funkcji: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, jest wyliczany adres bezwzględny.
Dalej są liczone nazwy charakteryzujące artykuł danej książki strony, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, z tego adresu strony.
Przedostatnia funkcja, która jest uruchamiana przed funkcją zbierającą jest: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}, jeśli istnieje.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacjiReferencji}}{{Code|p.ZbieranieKontenerowychInformacjiReferencji}} ===
Funkcja zbiera informacje o stronie. Na podstawie informacji o nazwie artykułu i pełnej nazwy książki liczy parametry nazw charakteryzujące artykuł, co na tej podstawiwe liczy parametry pudełkowe i wywołuje funkcję główną przez inną funkcję, też zbierającą, i zbiera informacje o artykule.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacjiReferencji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, jako parametry zwracane przez funkcję: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}. Funkcja wyznacza parametry pudełkowe {{m|Pudełko}}, tzn.: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}, na podstawie tych nazw. Funkcja na samym końcu wywołuje funkcję zbierającą dane ze strony: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}, która z kolei uruchamia potem: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
== {{Śródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}{{Code|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}} ==
Funkcja sprawdza niepoprawność nazwy strony i na podstawie tego ustawia pewne kody problemów.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,__FUNKCJA_SPRAWDZANIE)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|__FUNKCJA_SPRAWDZANIE}} {{Patrz|__FUNKCJA_SPRAWDZANIE}} - funkcja uruchamiana, jeśli jest ustawiona, na wypadek poprawności strony.
W przypadku niepoprawności strony, gdy strona modułu jest aktualna (bieżąca), wtedy sprawdzany jest kod problemu, czy jest ustawiony, tzn.: {{Code|nieprawidłowe nazwy korzystanych stron}}, przy pomocy funkcji: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli nie ma takiego, to wtedy jest uruchamiana funkcja: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}. Podobnie jest dla niekorzystanej strony, wtedy jest problem dla kodu: {{Code|nieprawidłowe nazwy stron dołączanych do stron}}.
== Zbieranie informacji o linkach ==
=== {{Śródtytuł|p.LinkowanieFinalizowaniePrac}}{{Code|p.LinkowanieFinalizowaniePrac}} ===
Funkcja wadza uchwyt obiektu, wsazujący na aktualną stronę, do pewnej strony, i ewentualnie ustawia pewne problemy, jeśli je nie ustawiono.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} {{Patrz|obiekt}} - obiekt, obsługiwany przez tą funkcję linku,
* {{Code|kod}} {{LinkPatrz|kod}} - kod obiektu dla: {{LinkPatrz|obiekt}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} - jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}},
* {{Code|czy_pobierz}} {{Patrz|czy_pobierz}} - czy to jest szablon typu {{Code|Pobierz}} {{Patrz|Pobierz}}, jak: {{s|PobierzŚródtekst}}.
Funkcja sprawdza, czy nie został ustawiony element {{Code|tablica_zmiennych.sprawdzenie_dokonane_linku}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}, a jeżeli tak, to dalej, czy nie ma elementów numerowanych przy pomocy funkcji: {{Code|{{sr|#p["CzySąElementyNumerowaneTablicy"]|p=Parametry}}}}, a jeśli również tak, to dalej jest sprawdzane, czy został ustawiony problem: {{Code|strony poza zakresem obsługiwanym}}, przy pomocy: {{Code|{{sr|#p.CzyJestTakiElementTabeliProblemu|p=StronicowyParser/Problemy}}}}, a jeżeli nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}. Na samym końcu tej instrukcji warunkowej jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}.
Dalej pod tą instrukcją warunkową, jest robione, co powiedziane zostało w prologu tego opisu tej funkcji, tzn. z wyznaczonej tablicy ze: {{LinkPatrz|tablica_zmiennych}}, a dalej z wyznaczonej następnej podtabeli o kluczu: {{LinkPatrz|nazwa_obiektu}}.
Następnie, gdy element: {{LinkPatrz|czy_pobierz}}, jest ustawiony na {{Code|true}}, wtedy dla {{LinkPatrz|uchwyt_obiektu}}, pewna tablica, jest wstawiana do tablicy: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}}, jeśli istnieje, a jeśli nie, to jest tworzona, jako tablica, wtedy też jest to robione. Tą czynnością wstawiany tabelę, do tej tablicy, czyli:
<syntaxhighlight lang="lua">
{{nazwa_obiektu,uchwyt_obiektu,},{obiekt,kod,},}
</syntaxhighlight>
=== {{Śródtytuł|p.LinkowanieInnychStron}}{{Code|p.LinkowanieInnychStron}} ===
Funkcja do sprawdzania innych stron niż aktualna, a jeżeli dana strona została już sprawdzona, to powtórnie nie jest już rewidowana. Funkcja ustawia w głównej tablicy aktualnej tabeli {{LinkPatrz|tablica_zmiennych}} pewne podtablice.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieInnychStron(self,obiekt,kod,tablica_zmiennych, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejo jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Najpierw jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, która w razie poprawności nazwy strony, czyli inaczej nazw tej strony, tzn.: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, uruchamia funkcję zdefiniowaną w nim.
{{Tab}}Ta funkcja sprawdza, czy któraś z parametrów nazw istnieje, a jeżeli nie, to dalej jest inicjowana zmienna: {{Code|tablica_zmiennych2}} {{Patrz|tablica_zmiennych2}} pustą tablicą i podobnie {{Code|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}} {{Patrz|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}}, to uruchamiana jest: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, do zbierania informacji o stronie nowej lub przebadanej (wtedy zostają zwrócone parametry z wczęsniejszego jego analizowania, jak była nowa). Funkcja zwraca trzy parametry, tzn. {{Code|tabela_listy_danych_analizy_ksiazki0}} {{Patrz|tabela_listy_danych_analizy_ksiazki0}}, {{LinkPatrz|tablica_zmiennych2}} i {{Code|czy_inna}} {{Patrz|czy_inna}}. Te parametry mogą przyjmować wartość {{Code|nil}}, lub pierwszy {{Code|0}}, drugi, to nic innego jest jak: {{LinkPatrz|tablica_zmiennych2}}, a trzeci parametr jest wtedy równy {{Code|true}}, gdy strona jest nowa, a {{Code|false}} aktualna, a gdy {{Code|nil}}, gdy np. zawartość strony nie istnieje.
Gdy parametr: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, istnieje, wtedy jest spraqdzane, czy któreś z parametrów: {{LinkPatrz|tablica_zmiennych2}} i {{LinkPatrz|czy_inna}}, nie istsnieje, wtedy ta funkcja się zakańcza.
==== {{Śródtytuł|JuzPoliczone}}{{Code|JuzPoliczone}} ====
Dla obiektów, dla których jest ustawiony parametr: {{LinkPatrz|czy_pobierz}}, co dalej w tym rozgałęzieniu instrukcji warunkiwej jest uruchamiana funkcja szablonów tekstu, czyli: {{Code|{{sr|#p.UstawianiePobierz|p=StronicowyParser/SzablonyTekstu}}}}, aby również później za pomocą innych funkcji przeanalizować również tekst w szablonach takich jak: {{s|Śródtekst}}.
Dalej jest tworzona tablica, jeśli nie istnieje, tzn. {{Code|tablica_zmiennych2.dane_juz_policzone}} {{Patrz|tablica_zmiennych2.dane_juz_policzone}}, czyli jest inicjowana pustą tablicą. Dalej jest tworzona, jeśli nie istnieje, tablica wielowymiarowa po kolei, o kluczach kolejno: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}, {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu}}, a jeżeli ta ostatnia wartość tej tablicy była wcześniej, to zwracane jest {{Code|true}}, przeciwnie {{Code|false}}, a tej ostatniej wartości tej tablicy jest przydzielana wartość {{Code|true}}.
==== Dalszy opis funkcji ====
Gdy parametr: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest równy {{Code|0}}, ale nie {{Code|nil}}, wtedy jest sprawdzane, czy artykuł został wcześniej zrewidowany według: {{LinkŚródtytuł|JuzPoliczone}}, a jeżeli tak to jest zakańczany, a gdy ten parametr taakiej wartośsci nie przyjmuje, wtedy tylko jest uruchamiana funkcja bez żadnego warunku.
{{Tab}}Następnie jest uruchamiana funkcja: {{Code|{{sr|#p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony|p=StronicowyParser/SzablonyTekstu}}}}, do przydzielenia pewnych zmiennych z {{LinkPatrz|tablica_zmiennych2}} tablicy {{LinkPatrz|tablica_zmiennych}}.
{{Tab}}Jest sprawdzane, czy dany artykuł należy do spisu, jeżeli nie to są ustawiane pewne kody problemów w tablicy problemów, tzn. {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}.
Dalej jest sprawdzane, czy podany uchwyt {{LinkPatrz|uchwyt_obiektu}}, który jest podany w szablonach linków na aktualnej stronie, czy jest tylko jeden na stronie sprawdzanej, a jeżeli nie jest tak, to jest sprawdzane, czy nie istnieje ustawiony problem: {{Code|błędy uchwytów korzystanych stron}}, funkcją: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to taki problem jest dodawany dzięki: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
{{Tab}}Uruchamiana jest dalej funkcja: {{LinkŚródtytuł|p.PusteParametryReferencji}}, do sprawdzania pustości pewnych parametrów.
{{Tab}}Gdy tabela: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest jednak równa wartości odpowiadającej fałszywej, wtedy jeśli nie istnieje problem: {{Code|błąd wewnętrzny modułu lua stronicowego parsera}}, co jest rewidowane elementem: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to dodawany jest taki problem do tabeli problemów na podstawie: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
=== {{Śródtytuł|p.GeneralneLinkowanie}}{{Code|p.GeneralneLinkowanie}} ===
Funkcja zbiera uchwyty, na aktualnej lub innej stronie, a także je analizuje w odpowiedni sposób, modyfikuje tablica aktualnego modułu, czyli: {{LinkPatrz|tablica_zmiennych}}, na podstawie poszczególnych artykułów tej książki lub innej, która zbiera raz informacje o danej stronie.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Funkcja wyznacza uchwyt z tabeli parametrów: {{LinkPatrz|tabela_parametrow_szablonu}}, o kluczu {{Code|uchwyt}} {{LinkPatrz|uchwyt}} lub {{Code|1}}, a później w kodzie jest on kompletowany funkcją: {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a następnie rozwijany w niej, a później jest dekodowany: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}.
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, wywołujac: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}.
Na samym końcu jest uruchamiana: {{LinkPatrz|KtorySzablonMaZwracacKategorie}} z parametrem o tym uchwycie, wyliczonym wcześniej.
Gdy uchwyt istnieje, ale jest pusty, wtedy uruchamia się: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, następnie: {{LinkŚródtytuł|p.PusteParametryReferencji}}, a jeśli ta wartość nie istnieje, wtedy tylko ta ostatnia funkcja.
Gdy uchwyt: {{LinkPatrz|uchwyt}}, istnieje i jest niepusty, wtedy jest wyznaczana nazwa artykułu z niej samej, lub jeśli nazwa ksiązki istnieje, tylko, wtedy ta nazwa zaczyna być pusta, przeciwnie {{Code|nil}}, wtedy mamy do czynienia ze stroną główną podręcznika.
Gdy nazwa artykułu nie istnieje, wtedy wywoływana jest: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Jeśli nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest niepusta, i gdy nazwa książki nie istnieje, wtedy są liczone parametry nazw, oprócz nazwy artykułu, bo jest policzona, więc te {{ZobaczTeż|nazwy}}: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, z parametrów charakteryzujących nazwę aktualnego artykułu, a jeśli jednak nazwa książki jest pusta, to są sprawdzane parametry w: {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Gdy nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest nieistnieje, i gdy nazwa książki {{LinkPatrz|nazwa_ksiazki}} jest niepusta, wtedy nazwa artykułu zaczyna istnieć i inicjujemy wtedy ją wartością pustą, a jeśli pusta, za zaczyna być potem generowanie kodów błędów funkcją {{LinkŚródtytuł|p.PusteParametryReferencji}}, by potem się zakończyła ta funkcja.
Przeciwnie są liczone parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, tą samą metodą, co w punkcie: {{LinkZobaczTeż|nazwy}}.
Gdy nazwy {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}} są porównywane z nazwami, którymi się przypisje jak w: {{LinkZobaczTeż|nazwy}}, wtedy uruchamiamy funkcję: {{LinkŚródtytuł|p.LinkowanieInnychStron}}, przeciwnie wtedy działają dwie funkcje uruchomione po kolei, tzn.: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
== {{Śródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}{{Code|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} ==
Funkcja służy do zbierania informacji o danej analizowanej stronie, którego główną częścią jest strona korzystana, w której gromadzą się informacji też z pozostałych.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, czy_artykul_korzystany,tablica_zmiennych,czy_szablon_pudelkowy_strony_zbiorczej)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} - jak w: {{LinkPatrz|czy_szablon_pudelkowy_strony_zbiorczej}}.
=== {{Śródtytuł|__FUNKCJA_ARTYKULU}}{{Code|__FUNKCJA_ARTYKULU}} ===
Funkcja do tworzenia tabeli artykułów z innymi parametrami wielowymiarowej tej tabeli, a jeżeli owe pośrednie, i nie tylko, istnieją, to te tabele są zwracane lub nowo są tworzone.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji {{ZobaczTeż|parametry artykułu}}:
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}},
* {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu}} - nazwa artykułu w książce, bez pełnej nazwy książki.
Poniżej są tworzone podtabele puste, jeśli nie zostały utworzone.
Funkcja, która w tabeli: {{Code|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}} {{Patrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, która istnieje, tworzy tabele trójwymiarową kolejno po prarametrach: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, te tabele pośrednie śą wtedy tworzone, jeśsli nie istnieją, a gdy istnieją to nie są tworzone, tylko funkcja przechodzi do dalszych.
Dalej tworzona jest podtabela, jeśli nie istnieje o nazwie {{Code|lista_podstron_woluminu}} {{Patrz|lista_podstron_woluminu}}.
Następnie generowana jest podtabela, jeśli nie istnieje, o kluczu: {{LinkPatrz|nazwa_artykulu}}.
Funkcja zwraca kolejno elementy, jeśli klucz: {{LinkPatrz|nazwa_artykulu}}, istnieje, zatem:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany;
</syntaxhighlight>
Przeciwnie zwracany jest zbiór zmiennych po kolei:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki;
</syntaxhighlight>
Co to są za zmienne, wiadomo z ich nazw, po prostu są to pewne pośrednie, i nie tylko, tabele.
=== {{Śródtytuł|__FUNKCJA_POBIERANIE}}{{Code|__FUNKCJA_POBIERANIE}} ===
Funkcja zwraca parametry strony aktualnej, analizowanej jeszcze raz, aby ją nie powtórnie rewidować, lub podobnie dla innego artykułu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_POBIERANIE(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji są takie same jak w punkcie {{LinkZobaczTeż|parametry artykułu}}.
{{Tab}}Analiza dla artykułów niekorzystanych według parametru: {{LinkPatrz|czy_artykul_korzystany}}:
Dla jeszcze raz analizowanego artykułui aktualnego zwracane są parametry:
<syntaxhighlight lang="lua">
return 0,nil,nil,nil,nil,nil,self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron,false;
</syntaxhighlight>
Tabela: {{Code|self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron}}, tam są dane zebrane z aktualnego artykułu.
Dla innej takiej strony jest tworzony parametr, jeżeli jest włączona analiza, dla klucza: {{Code|analiza_spis_tresci}} {{Patrz|analiza_spis_tresci}}, według tego jest tworzony wartością prawdziwą parametr o innym znów kluczu: {{Code|analiza_spis_tresci_doloczone}} {{Patrz|analiza_spis_tresci_doloczone}}:
<syntaxhighlight lang="lua">
if(self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci)then
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=true;
end;
</syntaxhighlight>
Dla elementu: {{LinkPatrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, jeżeli dany artykuł był już rewidowany, to zwracane są elementy:
<syntaxhighlight lang="lua">
return 0,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni,dane_zebrane_ze_stron,true;
</syntaxhighlight>
To: {{Code|dane_zebrane_ze_stron}} {{Patrz|dane_zebrane_ze_stron}}, to podtabela: {{LinkPatrz|lista_podstron_woluminu}}, z kluczem: {{LinkPatrz|nazwa_artykulu}}, o nazwie takiej samej jak ten parametr zwracany.
Przeciwnie jest zwracane: {{Code|true}}, lub {{Code|nil}}, jeśli tabela: {{Code|self.tabela_listy_danych_analizy_ksiazki}} {{Patrz|self.tabela_listy_danych_analizy_ksiazki}}, lub podtatela: {{LinkPatrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, nie istnieje.
=== {{Śródtytuł|InneInformacjePrzebneDoAnalizowanejKsiazki}}{{Code|InneInformacjePrzebneDoAnalizowanejKsiazki}} ===
==== {{Śródtytuł|__FUNKCJA_SPISU}}{{Code|__FUNKCJA_SPISU}} ====
=== {{Śródtytuł|PrzekierownieAwaryjne}}{{Code|PrzekierownieAwaryjne}} ===
=== {{Śródtytuł|StronaZbiorcza}}{{Code|StronaZbiorcza}} ===
=== {{Śródtytuł|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}}{{Code|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}} ===
=== {{Śródtytuł|GeneralnaAnalizaSzablonuStronicowegoParsera}}{{Code|GeneralnaAnalizaSzablonuStronicowegoParsera}} ===
=== {{Śródtytuł|IterowaniePoElementachTekstu}}{{Code|IterowaniePoElementachTekstu}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieNaglowek}}{{Code|KtorySzablonMaZwracacKategorieNaglowek}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieTekst}}{{Code|KtorySzablonMaZwracacKategorieTekst}} ===
=== {{Śródtytuł|CzyJestTakiProblemJakoElementTablicy}}{{Code|CzyJestTakiProblemJakoElementTablicy}} ===
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
cafavtjxpd2mo66hn21xkvwtazb3vw0
547241
547240
2026-06-29T15:16:21Z
Persino
2851
/* {{Śródtytuł|InneInformacjePrzebneDoAnalizowanejKsiazki}}{{Code|InneInformacjePrzebneDoAnalizowanejKsiazki}} */
547241
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/ZbieranieDanychStron}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== Zbieranie informacji o uchwycie ==
=== {{Śródtytuł|p.UchwytyZeiBezNumeracji}}{{Code|p.UchwytyZeiBezNumeracji}} ===
Funkcja zbiera uchwyty, dla obiektów {{ZobaczTeż|p.UchwytyZeiBezNumeracji}}, bez numeracji, nie licząc obiektów tekst takich jak {{s|Śródtekst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UchwytyZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,lista_dwuelementowa,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} {{Patrz|self}} - zmiennna obiektowa modułu {{Code|{{ld2|StronicowyParser/ZbieranieDanychStron}}}} {{Patrz|StronicowyParser/ZbieranieDanychStron}},
* {{Code|tabela_elementow_strony_kodow}} {{Patrz|tabela_elementow_strony_kodow}} - zmienna zbierająca takie kody jak {{LinkZobaczTeż|p.UchwytyZeiBezNumeracji}},
* {{Code|nazwa_obiektu}} {{Patrz|nazwa obiektu}} - nazwa obiektu,
* {{Code|lista_dwuelementowa}} {{Patrz|lista_dwuelementowa}} - pozycja w normalnej tabeli uchwytów i przeważnie ich numeracji, a tutaj dla tego obiektu,
* {{Code|kod}} {{Patrz|kod}} - numer kodu dla tego obiektu.
Funkcja zbiera elementy {{LinkPatrz|lista_dwuelementowa}} w tablicy wielowymiarowej o pierwszym elemencie wymiaru {{LinkPatrz|nazwa obiektu}} i trzecim {{LinkPatrz|kod}}, oraz o drugim {{Code|uchwyty_bez_numeracji}} {{Patrz|uchwyty_bez_numeracji}}.
=== {{Śródtytuł|p.WydobywanieUchwytuZeiBezNumeracji}}{{Code|p.WydobywanieUchwytuZeiBezNumeracji}} ===
Funkcja wydowywa tablicę uchwytu dla pozycji, ale nie sam uchwyt, dla podtablicy {{LinkPatrz|uchwyty_bez_numeracji}} o danym kodzie {{LinkPatrz|kod}}, dla nazwy obiektu {{LinkPatrz|nazwa_obiektu}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.WydobywanieUchwytuZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_elementow_strony_kodow}} - jak w: {{LinkPatrz|tabela_elementow_strony_kodow}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}}.
Funkcja wykorzystuje elementy tablicy: {{LinkPatrz|uchwyty_bez_numeracji}}, wstawione przez funkcję: {{LinkŚródtytuł|p.UchwytyZeiBezNumeracji}}.
=== {{Śródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}{{Code|p.RozpatrywanieElementuUchwytuNumeracji}} ===
Funkcja wsadzająca utworzoną tablicę z podanym uchwytem do ogólnej tablicy pozycji nazwanych tabel z uchwytami o danej pozycji z nim.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|kod_uchwytu}} {{Patrz|kod_uchwytu}} - kod uchwytu podanego do szablonu stronicowego z odpowiednim uchwytem,
* {{Code|tab_numer}} {{Patrz|tab_numer}} - tablica z numerkami ilości elementów w tablicy parametrów nazwanych z uchwytami, w danym elemencie analizowania strony z uchwytami i obiektami,
* {{Code|tablica_zmiennych}} {{Patrz|tablica_zmiennych}} - tablica analizowania obiektów, danej strony,
* {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} {{Patrz|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - kolejno: nazwa przestrzeni nazw, nazwa przestrzeni książki, nazwa książki i nazwa artykułu książki,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} {{Patrz|czy_artykul_korzystany}} - czy artykuł aktualny wyświetlany w przeglądarce,
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} {{Patrz|nazwa_modulu_aktualna_czy_biezaca}} - nazwa artykułu aktualna lub bieżąca,
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{Patrz|tablica_analizy_obiektow_strony_dany_modul}} - tablica bazy kodów parsowania strony,
* {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - tablica analizy poszczególnych elementów kodów, do szybszego działania skryptu,
* {{Code|KtorySzablonMaZwracacKategorie}} {{Patrz|KtorySzablonMaZwracacKategorie}} - tablica zbierająca odkodowany i rozwinięty uchwyt, do analizowania w nim zebranych kategorii, według modułu: {{Code|{{ld2|StronicowyParser/Kategorie}}}}, uruchamiana w szablonach stronicowych z funkcjami '''stronicowego parsera'''.
Funkcja rozwija {{LinkPatrz|kod_uchwytu}} funkcją {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a potem je odkodowuje przy pomocy: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a jeżeli ona nie jest pusta, to dla tego jest uruchamiana funkcja {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Tworzona jest tablica {{Code|lista_dwuelementowa}} {{LinkPatrz|lista_dwuelementowa}} z uchwytem, jako pierwszy parametr.
Jest sprawdzane, czy element {{Code|tablica_zmiennych.sprawdzenie_dokonane_obiektu}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, jest fałszywy, jeżeli tak, to dalej jest sprawdzane, czy są elementy numerowane nazwanej tablicy: {{Code|tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2}} o nazwie {{LinkPatrz|nazwa_obiektu}}, a jeżeli jest pusta - na samym końcu jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, czyli jest inicjowana na wartość {{Code|true}}, to dalej jest sprawdzane, czy dla elementów: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy dana książka jest poza zakresem obsługiwanym, czyli rewidowane jest, czy jest ustawiony kod problemu {{Code|strony poza zakresem obsługiwanym}}, czy a jeżeli jednak nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}, ustawiające pewne elementy błędu, jeżeli trzeba to zrobić.
Gdy tabela {{LinkPatrz|tab_numer}} odpowiada nienilowej tablicy, wtedy element {{LinkPatrz|lista_dwuelementowa}} jest wstawiany na odpowiedniej pozycji, ale przeważnie nie na końcu, przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=table.insert|b=tak}}}}, dzięki określonej tabeli {{LinkPatrz|tab_numer}}, przeciwnie na jej końcu.
Funkcja zwraca element {{LinkPatrz|lista_dwuelementowa}}.
=== {{Śródtytuł|p.RozpatrywanieSzablonuObiektuDoNumeracji}}{{Code|p.RozpatrywanieSzablonuObiektuDoNumeracji}} ===
Funkcja, która uruchamia funkcję: {{LinkŚródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}, dla istniejącego uchwytu w postaci nazwanej o kluczu: {{Code|uchwyt}} {{Patrz|uchwyt}}, lub nienazwanej - w postaci numeru jego uchwytu o kluczu: {{Code|numer_numeracji}} {{Patrz|numer_numeracji}}, wsadzająca tabele z uchwytem na odpowiednią pozycję w odpowiedniej nazwanej tabeli o nazwie obiektu {{LinkPatrz|nazwa_obiektu}} w ogólnej tabeli: {{LinkPatrz|tablica_zmiennych}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}}- tabela parametrów szablonu,
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|numer_numeracji}} - jak w: {{LinkPatrz|numer_numeracji}},
* {{Code|tab_numer}} - jak w: {{LinkPatrz|tab_numer}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
== {{Śródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}{{Code|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}} ==
Funkcja sprawdza, czy dany artykuł należy do artykułów, któregoś spisu treści, a jeżeli nie, to dla stron, które nie należą do kategorii z ustawionym problemem {{Code|strony poza zakresem obsługiwanym}}, ale do nieaktualnej strony jest ustawiony problem {{Code|brak spisów treści do dołączonych stron}}. Natomiast dla aktualnej dla stron tej samej kategorii ustawiany jest problem {{Code|brak spisu treści do korzystanych stron}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== {{Śródtytuł|p.PusteParametryReferencji}}{{Code|p.PusteParametryReferencji}} ==
Funkcja sprawdza, jeśli są podane parametry szablonu stronicowego, które są w kategorii: {{lk|Szablony stronicowe}}, czyli: {{Code|nazwa_artykulu}}, ewentualnie: {{Code|nazwa_ksiazki}}, ale zawsze z: {{Code|uchwyt_obiektu}}, czy są one puste.
A jeżeli one istnieją i są takie, to są ustawione problemy typu, jeśli ich wcześniej nie ustawiono:
* {{Code|puste parametry szablonów stronicowych linkujących}} {{Patrz|puste parametry szablonów stronicowych linkujących}}, kolejno dla: {{Code|uchwyt_obiektu}}, {{Code|nazwa_artykulu}} i {{Code|nazwa_ksiazki}}, kolejno z numerami problemów: {{Code|1}}, {{Code|2}} i {{Code|3}}.
Dla obiektu o nazwie {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}.
{{Hr}}
Definicja skrótowa funkcji
<syntaxhighlight lang="lua">
function p.PusteParametryReferencji(self, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu)...end;
</syntaxhighlight>
Paraametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} {{Patrz|uchwyt_obiektu}} - uchwyt obiektu, podane w danym szablonie stronicowym,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}}.
== {{Śródtytuł|p.SzablonyReferencjiParametrowych}}{{Code|p.SzablonyReferencjiParametrowych}} ==
Funkcja z parametrów pudełkowych nazwy artykułu {{ZobaczTeż|nazwa artykułu}}: {{Code|nazwa artykułu}} {{Patrz|nazwa artykułu}} albo {{Code|1}}, gdy bezuchwytowe lub {{Code|2}}, i pełnej nazwy książki {{ZobaczTeż|pełna nazwa strony}}: {{Code|nazwa książki}} {{Patrz|nazwa książki}} albo, {{Code|2}}, gdy bezuchwytowe lub {{Code|3}}. To wszystko jest liczone z: {{LinkPatrz|tabela_parametrow_szablonu}} lub przy użyciu parametru również {{Code|bezuchwytowe}} {{Patrz|bezuchwytowe}}, gdy mamy szablon stronicowy {{lk|Szablony stronicowe}}, bezuchwytowy, wtedy {{Code|true}}, przeciwnie {{Code|false/nil}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca,bezuchwytowe)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{Code|bezuchwytowe}} - jak w: {{LinkPatrz|bezuchwytowe}}.
Funkcja obie nazwy dekoduje funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a później jest liczony adres bezwzględny z względnego dzięki: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, przy pomocy podstawy {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}}, podobnie ale wcześniej jest liczona nazwa artykułu {{linkZobaczTeż|nazwa artykułu}}, czyli: {{LinkPatrz|nazwa_artykulu}}, ale tutaj adres względny jest liczony z podstawy o ciągu pustym jako drugi parametr.
Na podstawie pełnej nazwy książki {{LinkZobaczTeż|pełna nazwa strony}}: jest liczona bardziej jej wersja pełniejsza, jeżeli to jest w ogóle możliwe z: {{Code|{{sr|#p["PełnaNazwaStronicowejKsiążki"]|p=Książkowe}}}}. A póżniej z tego wszystkiego są liczone nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, przy pomocy funkcji nazw: {{Code|{{ld2|Nazwy}}}}.
Na samym końcu funkcji są zwracane parametry nazw, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== Funkcje zbierania informacji ==
=== {{Śródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}{{Code|p.ZbieranieInformacjiStronyWoluminowychPozycji}} ===
Funkcja zbierania informacji na stronie dla szablonów stronicowych: {{lk|Szablony stronicowe}}, bezuchwytowych, gdy nie jest uruchomiony parametr: {{Code|czy_inna_wartosc_tekst}} {{Patrz|czy_inna_wartosc_tekst}}, wtedy jest wywoływana funkcja: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}, która liczy kolejne nazwy charaktertyzujące nazwy dla danego artykułu książki dla danej strony, przeciwnie parametry nazw są ściagane z: {{Code|tab_nazwy}} {{Patrz|tab_nazwy}}, ta tabela składa się numerowanych elementów, którymi są nazwy charakyteryzujące stronę.
Gdy jakaś nazwa artylułu strony została policzona, wtedy są liczone pozostałe nazwy z: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, a na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, a tuż przed nim, jeśli istnieje: {{Code|KtorySzablonMaZwracacKategorie}} {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,KtorySzablonMaZwracacKategorie,czy_inna_wartosc_tekst,tab_nazwy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_inna_wartosc_tekst}} - jak w: {{LinkPatrz|czy_inna_wartosc_tekst}},
* {{Code|tab_nazwy}} - jak w: {{LinkPatrz|tab_nazwy}}.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacji}}{{Code|p.ZbieranieKontenerowychInformacji}} ===
Funkcja do zbierania informacji, która z parametrów pudełkowych: {{Code|{{m|Pudełko}}}}, czyli: {{Code|nazwa przestrzeni nazw}} {{Patrz|nazwa przestrzeni nazw}} i {{Code|nazwa jednostki}} {{Patrz|nazwa jednostki}}, z nich są liczone parametry nazw charakteryzujące artykuł książki strony. A na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} {{Patrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,czy_szablon_pudelkowy_strony_zbiorczej,KtorySzablonMaZwracacKategorie)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} {{Patrz|czy_szablon_pudelkowy_strony_zbiorczej}} - funkcja potrzebna do funkcji zbierającej {{LinkPatrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, określającej, czy mamy szablon pudełkowy strony zbiorczej, taki jak: {{Code|{{s|StronaSubst}}}}, czy: {{Code|{{s|KsiążkaSubst}}}}, zobacz stronę: {{Code|{{lr2|Moduły/StronicowyParser/StronaSubst}}}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Gdy nie ma parametrów pudełkowych funkcja się natychmiast zakańcza, lub parametr: {{LinkPatrz|nazwa jednostki}}, jest pusta, lub nawet gdy zawierają kody wykrywane przez funkcję: {{Code|{{sr|#p.NormaWzoruKodowaniaTekstu|p=Szablonowe}}}}.
Z nazwy jednostki jest wydzielana nazwa jednostki właściwa bez nazwy nagłówka, póżniej obie nazwy są też dekodowane funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, czyli wszystko z: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}.
Z tych dwóch nazwy jest liczony adres, ewentualnie względny, który za pomocą funkcji: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, jest wyliczany adres bezwzględny.
Dalej są liczone nazwy charakteryzujące artykuł danej książki strony, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, z tego adresu strony.
Przedostatnia funkcja, która jest uruchamiana przed funkcją zbierającą jest: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}, jeśli istnieje.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacjiReferencji}}{{Code|p.ZbieranieKontenerowychInformacjiReferencji}} ===
Funkcja zbiera informacje o stronie. Na podstawie informacji o nazwie artykułu i pełnej nazwy książki liczy parametry nazw charakteryzujące artykuł, co na tej podstawiwe liczy parametry pudełkowe i wywołuje funkcję główną przez inną funkcję, też zbierającą, i zbiera informacje o artykule.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacjiReferencji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, jako parametry zwracane przez funkcję: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}. Funkcja wyznacza parametry pudełkowe {{m|Pudełko}}, tzn.: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}, na podstawie tych nazw. Funkcja na samym końcu wywołuje funkcję zbierającą dane ze strony: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}, która z kolei uruchamia potem: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
== {{Śródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}{{Code|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}} ==
Funkcja sprawdza niepoprawność nazwy strony i na podstawie tego ustawia pewne kody problemów.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,__FUNKCJA_SPRAWDZANIE)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|__FUNKCJA_SPRAWDZANIE}} {{Patrz|__FUNKCJA_SPRAWDZANIE}} - funkcja uruchamiana, jeśli jest ustawiona, na wypadek poprawności strony.
W przypadku niepoprawności strony, gdy strona modułu jest aktualna (bieżąca), wtedy sprawdzany jest kod problemu, czy jest ustawiony, tzn.: {{Code|nieprawidłowe nazwy korzystanych stron}}, przy pomocy funkcji: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli nie ma takiego, to wtedy jest uruchamiana funkcja: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}. Podobnie jest dla niekorzystanej strony, wtedy jest problem dla kodu: {{Code|nieprawidłowe nazwy stron dołączanych do stron}}.
== Zbieranie informacji o linkach ==
=== {{Śródtytuł|p.LinkowanieFinalizowaniePrac}}{{Code|p.LinkowanieFinalizowaniePrac}} ===
Funkcja wadza uchwyt obiektu, wsazujący na aktualną stronę, do pewnej strony, i ewentualnie ustawia pewne problemy, jeśli je nie ustawiono.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} {{Patrz|obiekt}} - obiekt, obsługiwany przez tą funkcję linku,
* {{Code|kod}} {{LinkPatrz|kod}} - kod obiektu dla: {{LinkPatrz|obiekt}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} - jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}},
* {{Code|czy_pobierz}} {{Patrz|czy_pobierz}} - czy to jest szablon typu {{Code|Pobierz}} {{Patrz|Pobierz}}, jak: {{s|PobierzŚródtekst}}.
Funkcja sprawdza, czy nie został ustawiony element {{Code|tablica_zmiennych.sprawdzenie_dokonane_linku}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}, a jeżeli tak, to dalej, czy nie ma elementów numerowanych przy pomocy funkcji: {{Code|{{sr|#p["CzySąElementyNumerowaneTablicy"]|p=Parametry}}}}, a jeśli również tak, to dalej jest sprawdzane, czy został ustawiony problem: {{Code|strony poza zakresem obsługiwanym}}, przy pomocy: {{Code|{{sr|#p.CzyJestTakiElementTabeliProblemu|p=StronicowyParser/Problemy}}}}, a jeżeli nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}. Na samym końcu tej instrukcji warunkowej jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}.
Dalej pod tą instrukcją warunkową, jest robione, co powiedziane zostało w prologu tego opisu tej funkcji, tzn. z wyznaczonej tablicy ze: {{LinkPatrz|tablica_zmiennych}}, a dalej z wyznaczonej następnej podtabeli o kluczu: {{LinkPatrz|nazwa_obiektu}}.
Następnie, gdy element: {{LinkPatrz|czy_pobierz}}, jest ustawiony na {{Code|true}}, wtedy dla {{LinkPatrz|uchwyt_obiektu}}, pewna tablica, jest wstawiana do tablicy: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}}, jeśli istnieje, a jeśli nie, to jest tworzona, jako tablica, wtedy też jest to robione. Tą czynnością wstawiany tabelę, do tej tablicy, czyli:
<syntaxhighlight lang="lua">
{{nazwa_obiektu,uchwyt_obiektu,},{obiekt,kod,},}
</syntaxhighlight>
=== {{Śródtytuł|p.LinkowanieInnychStron}}{{Code|p.LinkowanieInnychStron}} ===
Funkcja do sprawdzania innych stron niż aktualna, a jeżeli dana strona została już sprawdzona, to powtórnie nie jest już rewidowana. Funkcja ustawia w głównej tablicy aktualnej tabeli {{LinkPatrz|tablica_zmiennych}} pewne podtablice.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieInnychStron(self,obiekt,kod,tablica_zmiennych, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejo jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Najpierw jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, która w razie poprawności nazwy strony, czyli inaczej nazw tej strony, tzn.: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, uruchamia funkcję zdefiniowaną w nim.
{{Tab}}Ta funkcja sprawdza, czy któraś z parametrów nazw istnieje, a jeżeli nie, to dalej jest inicjowana zmienna: {{Code|tablica_zmiennych2}} {{Patrz|tablica_zmiennych2}} pustą tablicą i podobnie {{Code|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}} {{Patrz|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}}, to uruchamiana jest: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, do zbierania informacji o stronie nowej lub przebadanej (wtedy zostają zwrócone parametry z wczęsniejszego jego analizowania, jak była nowa). Funkcja zwraca trzy parametry, tzn. {{Code|tabela_listy_danych_analizy_ksiazki0}} {{Patrz|tabela_listy_danych_analizy_ksiazki0}}, {{LinkPatrz|tablica_zmiennych2}} i {{Code|czy_inna}} {{Patrz|czy_inna}}. Te parametry mogą przyjmować wartość {{Code|nil}}, lub pierwszy {{Code|0}}, drugi, to nic innego jest jak: {{LinkPatrz|tablica_zmiennych2}}, a trzeci parametr jest wtedy równy {{Code|true}}, gdy strona jest nowa, a {{Code|false}} aktualna, a gdy {{Code|nil}}, gdy np. zawartość strony nie istnieje.
Gdy parametr: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, istnieje, wtedy jest spraqdzane, czy któreś z parametrów: {{LinkPatrz|tablica_zmiennych2}} i {{LinkPatrz|czy_inna}}, nie istsnieje, wtedy ta funkcja się zakańcza.
==== {{Śródtytuł|JuzPoliczone}}{{Code|JuzPoliczone}} ====
Dla obiektów, dla których jest ustawiony parametr: {{LinkPatrz|czy_pobierz}}, co dalej w tym rozgałęzieniu instrukcji warunkiwej jest uruchamiana funkcja szablonów tekstu, czyli: {{Code|{{sr|#p.UstawianiePobierz|p=StronicowyParser/SzablonyTekstu}}}}, aby również później za pomocą innych funkcji przeanalizować również tekst w szablonach takich jak: {{s|Śródtekst}}.
Dalej jest tworzona tablica, jeśli nie istnieje, tzn. {{Code|tablica_zmiennych2.dane_juz_policzone}} {{Patrz|tablica_zmiennych2.dane_juz_policzone}}, czyli jest inicjowana pustą tablicą. Dalej jest tworzona, jeśli nie istnieje, tablica wielowymiarowa po kolei, o kluczach kolejno: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}, {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu}}, a jeżeli ta ostatnia wartość tej tablicy była wcześniej, to zwracane jest {{Code|true}}, przeciwnie {{Code|false}}, a tej ostatniej wartości tej tablicy jest przydzielana wartość {{Code|true}}.
==== Dalszy opis funkcji ====
Gdy parametr: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest równy {{Code|0}}, ale nie {{Code|nil}}, wtedy jest sprawdzane, czy artykuł został wcześniej zrewidowany według: {{LinkŚródtytuł|JuzPoliczone}}, a jeżeli tak to jest zakańczany, a gdy ten parametr taakiej wartośsci nie przyjmuje, wtedy tylko jest uruchamiana funkcja bez żadnego warunku.
{{Tab}}Następnie jest uruchamiana funkcja: {{Code|{{sr|#p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony|p=StronicowyParser/SzablonyTekstu}}}}, do przydzielenia pewnych zmiennych z {{LinkPatrz|tablica_zmiennych2}} tablicy {{LinkPatrz|tablica_zmiennych}}.
{{Tab}}Jest sprawdzane, czy dany artykuł należy do spisu, jeżeli nie to są ustawiane pewne kody problemów w tablicy problemów, tzn. {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}.
Dalej jest sprawdzane, czy podany uchwyt {{LinkPatrz|uchwyt_obiektu}}, który jest podany w szablonach linków na aktualnej stronie, czy jest tylko jeden na stronie sprawdzanej, a jeżeli nie jest tak, to jest sprawdzane, czy nie istnieje ustawiony problem: {{Code|błędy uchwytów korzystanych stron}}, funkcją: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to taki problem jest dodawany dzięki: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
{{Tab}}Uruchamiana jest dalej funkcja: {{LinkŚródtytuł|p.PusteParametryReferencji}}, do sprawdzania pustości pewnych parametrów.
{{Tab}}Gdy tabela: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest jednak równa wartości odpowiadającej fałszywej, wtedy jeśli nie istnieje problem: {{Code|błąd wewnętrzny modułu lua stronicowego parsera}}, co jest rewidowane elementem: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to dodawany jest taki problem do tabeli problemów na podstawie: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
=== {{Śródtytuł|p.GeneralneLinkowanie}}{{Code|p.GeneralneLinkowanie}} ===
Funkcja zbiera uchwyty, na aktualnej lub innej stronie, a także je analizuje w odpowiedni sposób, modyfikuje tablica aktualnego modułu, czyli: {{LinkPatrz|tablica_zmiennych}}, na podstawie poszczególnych artykułów tej książki lub innej, która zbiera raz informacje o danej stronie.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Funkcja wyznacza uchwyt z tabeli parametrów: {{LinkPatrz|tabela_parametrow_szablonu}}, o kluczu {{Code|uchwyt}} {{LinkPatrz|uchwyt}} lub {{Code|1}}, a później w kodzie jest on kompletowany funkcją: {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a następnie rozwijany w niej, a później jest dekodowany: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}.
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, wywołujac: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}.
Na samym końcu jest uruchamiana: {{LinkPatrz|KtorySzablonMaZwracacKategorie}} z parametrem o tym uchwycie, wyliczonym wcześniej.
Gdy uchwyt istnieje, ale jest pusty, wtedy uruchamia się: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, następnie: {{LinkŚródtytuł|p.PusteParametryReferencji}}, a jeśli ta wartość nie istnieje, wtedy tylko ta ostatnia funkcja.
Gdy uchwyt: {{LinkPatrz|uchwyt}}, istnieje i jest niepusty, wtedy jest wyznaczana nazwa artykułu z niej samej, lub jeśli nazwa ksiązki istnieje, tylko, wtedy ta nazwa zaczyna być pusta, przeciwnie {{Code|nil}}, wtedy mamy do czynienia ze stroną główną podręcznika.
Gdy nazwa artykułu nie istnieje, wtedy wywoływana jest: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Jeśli nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest niepusta, i gdy nazwa książki nie istnieje, wtedy są liczone parametry nazw, oprócz nazwy artykułu, bo jest policzona, więc te {{ZobaczTeż|nazwy}}: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, z parametrów charakteryzujących nazwę aktualnego artykułu, a jeśli jednak nazwa książki jest pusta, to są sprawdzane parametry w: {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Gdy nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest nieistnieje, i gdy nazwa książki {{LinkPatrz|nazwa_ksiazki}} jest niepusta, wtedy nazwa artykułu zaczyna istnieć i inicjujemy wtedy ją wartością pustą, a jeśli pusta, za zaczyna być potem generowanie kodów błędów funkcją {{LinkŚródtytuł|p.PusteParametryReferencji}}, by potem się zakończyła ta funkcja.
Przeciwnie są liczone parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, tą samą metodą, co w punkcie: {{LinkZobaczTeż|nazwy}}.
Gdy nazwy {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}} są porównywane z nazwami, którymi się przypisje jak w: {{LinkZobaczTeż|nazwy}}, wtedy uruchamiamy funkcję: {{LinkŚródtytuł|p.LinkowanieInnychStron}}, przeciwnie wtedy działają dwie funkcje uruchomione po kolei, tzn.: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
== {{Śródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}{{Code|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} ==
Funkcja służy do zbierania informacji o danej analizowanej stronie, którego główną częścią jest strona korzystana, w której gromadzą się informacji też z pozostałych.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, czy_artykul_korzystany,tablica_zmiennych,czy_szablon_pudelkowy_strony_zbiorczej)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} - jak w: {{LinkPatrz|czy_szablon_pudelkowy_strony_zbiorczej}}.
=== {{Śródtytuł|__FUNKCJA_ARTYKULU}}{{Code|__FUNKCJA_ARTYKULU}} ===
Funkcja do tworzenia tabeli artykułów z innymi parametrami wielowymiarowej tej tabeli, a jeżeli owe pośrednie, i nie tylko, istnieją, to te tabele są zwracane lub nowo są tworzone.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji {{ZobaczTeż|parametry artykułu}}:
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}},
* {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu}} - nazwa artykułu w książce, bez pełnej nazwy książki.
Poniżej są tworzone podtabele puste, jeśli nie zostały utworzone.
Funkcja, która w tabeli: {{Code|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}} {{Patrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, która istnieje, tworzy tabele trójwymiarową kolejno po prarametrach: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, te tabele pośrednie śą wtedy tworzone, jeśsli nie istnieją, a gdy istnieją to nie są tworzone, tylko funkcja przechodzi do dalszych.
Dalej tworzona jest podtabela, jeśli nie istnieje o nazwie {{Code|lista_podstron_woluminu}} {{Patrz|lista_podstron_woluminu}}.
Następnie generowana jest podtabela, jeśli nie istnieje, o kluczu: {{LinkPatrz|nazwa_artykulu}}.
Funkcja zwraca kolejno elementy, jeśli klucz: {{LinkPatrz|nazwa_artykulu}}, istnieje, zatem:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany;
</syntaxhighlight>
Przeciwnie zwracany jest zbiór zmiennych po kolei:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki;
</syntaxhighlight>
Co to są za zmienne, wiadomo z ich nazw, po prostu są to pewne pośrednie, i nie tylko, tabele.
=== {{Śródtytuł|__FUNKCJA_POBIERANIE}}{{Code|__FUNKCJA_POBIERANIE}} ===
Funkcja zwraca parametry strony aktualnej, analizowanej jeszcze raz, aby ją nie powtórnie rewidować, lub podobnie dla innego artykułu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_POBIERANIE(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji są takie same jak w punkcie {{LinkZobaczTeż|parametry artykułu}}.
{{Tab}}Analiza dla artykułów niekorzystanych według parametru: {{LinkPatrz|czy_artykul_korzystany}}:
Dla jeszcze raz analizowanego artykułui aktualnego zwracane są parametry:
<syntaxhighlight lang="lua">
return 0,nil,nil,nil,nil,nil,self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron,false;
</syntaxhighlight>
Tabela: {{Code|self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron}}, tam są dane zebrane z aktualnego artykułu.
Dla innej takiej strony jest tworzony parametr, jeżeli jest włączona analiza, dla klucza: {{Code|analiza_spis_tresci}} {{Patrz|analiza_spis_tresci}}, według tego jest tworzony wartością prawdziwą parametr o innym znów kluczu: {{Code|analiza_spis_tresci_doloczone}} {{Patrz|analiza_spis_tresci_doloczone}}:
<syntaxhighlight lang="lua">
if(self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci)then
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=true;
end;
</syntaxhighlight>
Dla elementu: {{LinkPatrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, jeżeli dany artykuł był już rewidowany, to zwracane są elementy:
<syntaxhighlight lang="lua">
return 0,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni,dane_zebrane_ze_stron,true;
</syntaxhighlight>
To: {{Code|dane_zebrane_ze_stron}} {{Patrz|dane_zebrane_ze_stron}}, to podtabela: {{LinkPatrz|lista_podstron_woluminu}}, z kluczem: {{LinkPatrz|nazwa_artykulu}}, o nazwie takiej samej jak ten parametr zwracany.
Przeciwnie jest zwracane: {{Code|true}}, lub {{Code|nil}}, jeśli tabela: {{Code|self.tabela_listy_danych_analizy_ksiazki}} {{Patrz|self.tabela_listy_danych_analizy_ksiazki}}, lub podtatela: {{LinkPatrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, nie istnieje.
=== {{Śródtytuł|InneInformacjePrzebneDoAnalizowanejKsiazki}}{{Code|InneInformacjePrzebneDoAnalizowanejKsiazki}} ===
==== {{Śródtytuł|__FUNKCJA_SPISU}}{{Code|__FUNKCJA_SPISU}} ====
==== Dalszy opis funkcji ====
=== {{Śródtytuł|PrzekierownieAwaryjne}}{{Code|PrzekierownieAwaryjne}} ===
=== {{Śródtytuł|StronaZbiorcza}}{{Code|StronaZbiorcza}} ===
=== {{Śródtytuł|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}}{{Code|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}} ===
=== {{Śródtytuł|GeneralnaAnalizaSzablonuStronicowegoParsera}}{{Code|GeneralnaAnalizaSzablonuStronicowegoParsera}} ===
=== {{Śródtytuł|IterowaniePoElementachTekstu}}{{Code|IterowaniePoElementachTekstu}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieNaglowek}}{{Code|KtorySzablonMaZwracacKategorieNaglowek}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieTekst}}{{Code|KtorySzablonMaZwracacKategorieTekst}} ===
=== {{Śródtytuł|CzyJestTakiProblemJakoElementTablicy}}{{Code|CzyJestTakiProblemJakoElementTablicy}} ===
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
5fyhdx6sugk64kgyqulenqw32ywdrck
547242
547241
2026-06-29T15:22:21Z
Persino
2851
/* {{Śródtytuł|InneInformacjePrzebneDoAnalizowanejKsiazki}}{{Code|InneInformacjePrzebneDoAnalizowanejKsiazki}} */
547242
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/ZbieranieDanychStron}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== Zbieranie informacji o uchwycie ==
=== {{Śródtytuł|p.UchwytyZeiBezNumeracji}}{{Code|p.UchwytyZeiBezNumeracji}} ===
Funkcja zbiera uchwyty, dla obiektów {{ZobaczTeż|p.UchwytyZeiBezNumeracji}}, bez numeracji, nie licząc obiektów tekst takich jak {{s|Śródtekst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UchwytyZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,lista_dwuelementowa,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} {{Patrz|self}} - zmiennna obiektowa modułu {{Code|{{ld2|StronicowyParser/ZbieranieDanychStron}}}} {{Patrz|StronicowyParser/ZbieranieDanychStron}},
* {{Code|tabela_elementow_strony_kodow}} {{Patrz|tabela_elementow_strony_kodow}} - zmienna zbierająca takie kody jak {{LinkZobaczTeż|p.UchwytyZeiBezNumeracji}},
* {{Code|nazwa_obiektu}} {{Patrz|nazwa obiektu}} - nazwa obiektu,
* {{Code|lista_dwuelementowa}} {{Patrz|lista_dwuelementowa}} - pozycja w normalnej tabeli uchwytów i przeważnie ich numeracji, a tutaj dla tego obiektu,
* {{Code|kod}} {{Patrz|kod}} - numer kodu dla tego obiektu.
Funkcja zbiera elementy {{LinkPatrz|lista_dwuelementowa}} w tablicy wielowymiarowej o pierwszym elemencie wymiaru {{LinkPatrz|nazwa obiektu}} i trzecim {{LinkPatrz|kod}}, oraz o drugim {{Code|uchwyty_bez_numeracji}} {{Patrz|uchwyty_bez_numeracji}}.
=== {{Śródtytuł|p.WydobywanieUchwytuZeiBezNumeracji}}{{Code|p.WydobywanieUchwytuZeiBezNumeracji}} ===
Funkcja wydowywa tablicę uchwytu dla pozycji, ale nie sam uchwyt, dla podtablicy {{LinkPatrz|uchwyty_bez_numeracji}} o danym kodzie {{LinkPatrz|kod}}, dla nazwy obiektu {{LinkPatrz|nazwa_obiektu}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.WydobywanieUchwytuZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_elementow_strony_kodow}} - jak w: {{LinkPatrz|tabela_elementow_strony_kodow}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}}.
Funkcja wykorzystuje elementy tablicy: {{LinkPatrz|uchwyty_bez_numeracji}}, wstawione przez funkcję: {{LinkŚródtytuł|p.UchwytyZeiBezNumeracji}}.
=== {{Śródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}{{Code|p.RozpatrywanieElementuUchwytuNumeracji}} ===
Funkcja wsadzająca utworzoną tablicę z podanym uchwytem do ogólnej tablicy pozycji nazwanych tabel z uchwytami o danej pozycji z nim.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|kod_uchwytu}} {{Patrz|kod_uchwytu}} - kod uchwytu podanego do szablonu stronicowego z odpowiednim uchwytem,
* {{Code|tab_numer}} {{Patrz|tab_numer}} - tablica z numerkami ilości elementów w tablicy parametrów nazwanych z uchwytami, w danym elemencie analizowania strony z uchwytami i obiektami,
* {{Code|tablica_zmiennych}} {{Patrz|tablica_zmiennych}} - tablica analizowania obiektów, danej strony,
* {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} {{Patrz|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - kolejno: nazwa przestrzeni nazw, nazwa przestrzeni książki, nazwa książki i nazwa artykułu książki,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} {{Patrz|czy_artykul_korzystany}} - czy artykuł aktualny wyświetlany w przeglądarce,
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} {{Patrz|nazwa_modulu_aktualna_czy_biezaca}} - nazwa artykułu aktualna lub bieżąca,
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{Patrz|tablica_analizy_obiektow_strony_dany_modul}} - tablica bazy kodów parsowania strony,
* {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - tablica analizy poszczególnych elementów kodów, do szybszego działania skryptu,
* {{Code|KtorySzablonMaZwracacKategorie}} {{Patrz|KtorySzablonMaZwracacKategorie}} - tablica zbierająca odkodowany i rozwinięty uchwyt, do analizowania w nim zebranych kategorii, według modułu: {{Code|{{ld2|StronicowyParser/Kategorie}}}}, uruchamiana w szablonach stronicowych z funkcjami '''stronicowego parsera'''.
Funkcja rozwija {{LinkPatrz|kod_uchwytu}} funkcją {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a potem je odkodowuje przy pomocy: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a jeżeli ona nie jest pusta, to dla tego jest uruchamiana funkcja {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Tworzona jest tablica {{Code|lista_dwuelementowa}} {{LinkPatrz|lista_dwuelementowa}} z uchwytem, jako pierwszy parametr.
Jest sprawdzane, czy element {{Code|tablica_zmiennych.sprawdzenie_dokonane_obiektu}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, jest fałszywy, jeżeli tak, to dalej jest sprawdzane, czy są elementy numerowane nazwanej tablicy: {{Code|tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2}} o nazwie {{LinkPatrz|nazwa_obiektu}}, a jeżeli jest pusta - na samym końcu jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, czyli jest inicjowana na wartość {{Code|true}}, to dalej jest sprawdzane, czy dla elementów: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy dana książka jest poza zakresem obsługiwanym, czyli rewidowane jest, czy jest ustawiony kod problemu {{Code|strony poza zakresem obsługiwanym}}, czy a jeżeli jednak nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}, ustawiające pewne elementy błędu, jeżeli trzeba to zrobić.
Gdy tabela {{LinkPatrz|tab_numer}} odpowiada nienilowej tablicy, wtedy element {{LinkPatrz|lista_dwuelementowa}} jest wstawiany na odpowiedniej pozycji, ale przeważnie nie na końcu, przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=table.insert|b=tak}}}}, dzięki określonej tabeli {{LinkPatrz|tab_numer}}, przeciwnie na jej końcu.
Funkcja zwraca element {{LinkPatrz|lista_dwuelementowa}}.
=== {{Śródtytuł|p.RozpatrywanieSzablonuObiektuDoNumeracji}}{{Code|p.RozpatrywanieSzablonuObiektuDoNumeracji}} ===
Funkcja, która uruchamia funkcję: {{LinkŚródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}, dla istniejącego uchwytu w postaci nazwanej o kluczu: {{Code|uchwyt}} {{Patrz|uchwyt}}, lub nienazwanej - w postaci numeru jego uchwytu o kluczu: {{Code|numer_numeracji}} {{Patrz|numer_numeracji}}, wsadzająca tabele z uchwytem na odpowiednią pozycję w odpowiedniej nazwanej tabeli o nazwie obiektu {{LinkPatrz|nazwa_obiektu}} w ogólnej tabeli: {{LinkPatrz|tablica_zmiennych}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}}- tabela parametrów szablonu,
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|numer_numeracji}} - jak w: {{LinkPatrz|numer_numeracji}},
* {{Code|tab_numer}} - jak w: {{LinkPatrz|tab_numer}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
== {{Śródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}{{Code|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}} ==
Funkcja sprawdza, czy dany artykuł należy do artykułów, któregoś spisu treści, a jeżeli nie, to dla stron, które nie należą do kategorii z ustawionym problemem {{Code|strony poza zakresem obsługiwanym}}, ale do nieaktualnej strony jest ustawiony problem {{Code|brak spisów treści do dołączonych stron}}. Natomiast dla aktualnej dla stron tej samej kategorii ustawiany jest problem {{Code|brak spisu treści do korzystanych stron}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== {{Śródtytuł|p.PusteParametryReferencji}}{{Code|p.PusteParametryReferencji}} ==
Funkcja sprawdza, jeśli są podane parametry szablonu stronicowego, które są w kategorii: {{lk|Szablony stronicowe}}, czyli: {{Code|nazwa_artykulu}}, ewentualnie: {{Code|nazwa_ksiazki}}, ale zawsze z: {{Code|uchwyt_obiektu}}, czy są one puste.
A jeżeli one istnieją i są takie, to są ustawione problemy typu, jeśli ich wcześniej nie ustawiono:
* {{Code|puste parametry szablonów stronicowych linkujących}} {{Patrz|puste parametry szablonów stronicowych linkujących}}, kolejno dla: {{Code|uchwyt_obiektu}}, {{Code|nazwa_artykulu}} i {{Code|nazwa_ksiazki}}, kolejno z numerami problemów: {{Code|1}}, {{Code|2}} i {{Code|3}}.
Dla obiektu o nazwie {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}.
{{Hr}}
Definicja skrótowa funkcji
<syntaxhighlight lang="lua">
function p.PusteParametryReferencji(self, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu)...end;
</syntaxhighlight>
Paraametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} {{Patrz|uchwyt_obiektu}} - uchwyt obiektu, podane w danym szablonie stronicowym,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}}.
== {{Śródtytuł|p.SzablonyReferencjiParametrowych}}{{Code|p.SzablonyReferencjiParametrowych}} ==
Funkcja z parametrów pudełkowych nazwy artykułu {{ZobaczTeż|nazwa artykułu}}: {{Code|nazwa artykułu}} {{Patrz|nazwa artykułu}} albo {{Code|1}}, gdy bezuchwytowe lub {{Code|2}}, i pełnej nazwy książki {{ZobaczTeż|pełna nazwa strony}}: {{Code|nazwa książki}} {{Patrz|nazwa książki}} albo, {{Code|2}}, gdy bezuchwytowe lub {{Code|3}}. To wszystko jest liczone z: {{LinkPatrz|tabela_parametrow_szablonu}} lub przy użyciu parametru również {{Code|bezuchwytowe}} {{Patrz|bezuchwytowe}}, gdy mamy szablon stronicowy {{lk|Szablony stronicowe}}, bezuchwytowy, wtedy {{Code|true}}, przeciwnie {{Code|false/nil}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca,bezuchwytowe)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{Code|bezuchwytowe}} - jak w: {{LinkPatrz|bezuchwytowe}}.
Funkcja obie nazwy dekoduje funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a później jest liczony adres bezwzględny z względnego dzięki: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, przy pomocy podstawy {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}}, podobnie ale wcześniej jest liczona nazwa artykułu {{linkZobaczTeż|nazwa artykułu}}, czyli: {{LinkPatrz|nazwa_artykulu}}, ale tutaj adres względny jest liczony z podstawy o ciągu pustym jako drugi parametr.
Na podstawie pełnej nazwy książki {{LinkZobaczTeż|pełna nazwa strony}}: jest liczona bardziej jej wersja pełniejsza, jeżeli to jest w ogóle możliwe z: {{Code|{{sr|#p["PełnaNazwaStronicowejKsiążki"]|p=Książkowe}}}}. A póżniej z tego wszystkiego są liczone nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, przy pomocy funkcji nazw: {{Code|{{ld2|Nazwy}}}}.
Na samym końcu funkcji są zwracane parametry nazw, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== Funkcje zbierania informacji ==
=== {{Śródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}{{Code|p.ZbieranieInformacjiStronyWoluminowychPozycji}} ===
Funkcja zbierania informacji na stronie dla szablonów stronicowych: {{lk|Szablony stronicowe}}, bezuchwytowych, gdy nie jest uruchomiony parametr: {{Code|czy_inna_wartosc_tekst}} {{Patrz|czy_inna_wartosc_tekst}}, wtedy jest wywoływana funkcja: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}, która liczy kolejne nazwy charaktertyzujące nazwy dla danego artykułu książki dla danej strony, przeciwnie parametry nazw są ściagane z: {{Code|tab_nazwy}} {{Patrz|tab_nazwy}}, ta tabela składa się numerowanych elementów, którymi są nazwy charakyteryzujące stronę.
Gdy jakaś nazwa artylułu strony została policzona, wtedy są liczone pozostałe nazwy z: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, a na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, a tuż przed nim, jeśli istnieje: {{Code|KtorySzablonMaZwracacKategorie}} {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,KtorySzablonMaZwracacKategorie,czy_inna_wartosc_tekst,tab_nazwy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_inna_wartosc_tekst}} - jak w: {{LinkPatrz|czy_inna_wartosc_tekst}},
* {{Code|tab_nazwy}} - jak w: {{LinkPatrz|tab_nazwy}}.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacji}}{{Code|p.ZbieranieKontenerowychInformacji}} ===
Funkcja do zbierania informacji, która z parametrów pudełkowych: {{Code|{{m|Pudełko}}}}, czyli: {{Code|nazwa przestrzeni nazw}} {{Patrz|nazwa przestrzeni nazw}} i {{Code|nazwa jednostki}} {{Patrz|nazwa jednostki}}, z nich są liczone parametry nazw charakteryzujące artykuł książki strony. A na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} {{Patrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,czy_szablon_pudelkowy_strony_zbiorczej,KtorySzablonMaZwracacKategorie)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} {{Patrz|czy_szablon_pudelkowy_strony_zbiorczej}} - funkcja potrzebna do funkcji zbierającej {{LinkPatrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, określającej, czy mamy szablon pudełkowy strony zbiorczej, taki jak: {{Code|{{s|StronaSubst}}}}, czy: {{Code|{{s|KsiążkaSubst}}}}, zobacz stronę: {{Code|{{lr2|Moduły/StronicowyParser/StronaSubst}}}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Gdy nie ma parametrów pudełkowych funkcja się natychmiast zakańcza, lub parametr: {{LinkPatrz|nazwa jednostki}}, jest pusta, lub nawet gdy zawierają kody wykrywane przez funkcję: {{Code|{{sr|#p.NormaWzoruKodowaniaTekstu|p=Szablonowe}}}}.
Z nazwy jednostki jest wydzielana nazwa jednostki właściwa bez nazwy nagłówka, póżniej obie nazwy są też dekodowane funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, czyli wszystko z: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}.
Z tych dwóch nazwy jest liczony adres, ewentualnie względny, który za pomocą funkcji: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, jest wyliczany adres bezwzględny.
Dalej są liczone nazwy charakteryzujące artykuł danej książki strony, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, z tego adresu strony.
Przedostatnia funkcja, która jest uruchamiana przed funkcją zbierającą jest: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}, jeśli istnieje.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacjiReferencji}}{{Code|p.ZbieranieKontenerowychInformacjiReferencji}} ===
Funkcja zbiera informacje o stronie. Na podstawie informacji o nazwie artykułu i pełnej nazwy książki liczy parametry nazw charakteryzujące artykuł, co na tej podstawiwe liczy parametry pudełkowe i wywołuje funkcję główną przez inną funkcję, też zbierającą, i zbiera informacje o artykule.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacjiReferencji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, jako parametry zwracane przez funkcję: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}. Funkcja wyznacza parametry pudełkowe {{m|Pudełko}}, tzn.: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}, na podstawie tych nazw. Funkcja na samym końcu wywołuje funkcję zbierającą dane ze strony: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}, która z kolei uruchamia potem: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
== {{Śródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}{{Code|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}} ==
Funkcja sprawdza niepoprawność nazwy strony i na podstawie tego ustawia pewne kody problemów.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,__FUNKCJA_SPRAWDZANIE)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|__FUNKCJA_SPRAWDZANIE}} {{Patrz|__FUNKCJA_SPRAWDZANIE}} - funkcja uruchamiana, jeśli jest ustawiona, na wypadek poprawności strony.
W przypadku niepoprawności strony, gdy strona modułu jest aktualna (bieżąca), wtedy sprawdzany jest kod problemu, czy jest ustawiony, tzn.: {{Code|nieprawidłowe nazwy korzystanych stron}}, przy pomocy funkcji: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli nie ma takiego, to wtedy jest uruchamiana funkcja: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}. Podobnie jest dla niekorzystanej strony, wtedy jest problem dla kodu: {{Code|nieprawidłowe nazwy stron dołączanych do stron}}.
== Zbieranie informacji o linkach ==
=== {{Śródtytuł|p.LinkowanieFinalizowaniePrac}}{{Code|p.LinkowanieFinalizowaniePrac}} ===
Funkcja wadza uchwyt obiektu, wsazujący na aktualną stronę, do pewnej strony, i ewentualnie ustawia pewne problemy, jeśli je nie ustawiono.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} {{Patrz|obiekt}} - obiekt, obsługiwany przez tą funkcję linku,
* {{Code|kod}} {{LinkPatrz|kod}} - kod obiektu dla: {{LinkPatrz|obiekt}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} - jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}},
* {{Code|czy_pobierz}} {{Patrz|czy_pobierz}} - czy to jest szablon typu {{Code|Pobierz}} {{Patrz|Pobierz}}, jak: {{s|PobierzŚródtekst}}.
Funkcja sprawdza, czy nie został ustawiony element {{Code|tablica_zmiennych.sprawdzenie_dokonane_linku}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}, a jeżeli tak, to dalej, czy nie ma elementów numerowanych przy pomocy funkcji: {{Code|{{sr|#p["CzySąElementyNumerowaneTablicy"]|p=Parametry}}}}, a jeśli również tak, to dalej jest sprawdzane, czy został ustawiony problem: {{Code|strony poza zakresem obsługiwanym}}, przy pomocy: {{Code|{{sr|#p.CzyJestTakiElementTabeliProblemu|p=StronicowyParser/Problemy}}}}, a jeżeli nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}. Na samym końcu tej instrukcji warunkowej jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}.
Dalej pod tą instrukcją warunkową, jest robione, co powiedziane zostało w prologu tego opisu tej funkcji, tzn. z wyznaczonej tablicy ze: {{LinkPatrz|tablica_zmiennych}}, a dalej z wyznaczonej następnej podtabeli o kluczu: {{LinkPatrz|nazwa_obiektu}}.
Następnie, gdy element: {{LinkPatrz|czy_pobierz}}, jest ustawiony na {{Code|true}}, wtedy dla {{LinkPatrz|uchwyt_obiektu}}, pewna tablica, jest wstawiana do tablicy: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}}, jeśli istnieje, a jeśli nie, to jest tworzona, jako tablica, wtedy też jest to robione. Tą czynnością wstawiany tabelę, do tej tablicy, czyli:
<syntaxhighlight lang="lua">
{{nazwa_obiektu,uchwyt_obiektu,},{obiekt,kod,},}
</syntaxhighlight>
=== {{Śródtytuł|p.LinkowanieInnychStron}}{{Code|p.LinkowanieInnychStron}} ===
Funkcja do sprawdzania innych stron niż aktualna, a jeżeli dana strona została już sprawdzona, to powtórnie nie jest już rewidowana. Funkcja ustawia w głównej tablicy aktualnej tabeli {{LinkPatrz|tablica_zmiennych}} pewne podtablice.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieInnychStron(self,obiekt,kod,tablica_zmiennych, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejo jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Najpierw jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, która w razie poprawności nazwy strony, czyli inaczej nazw tej strony, tzn.: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, uruchamia funkcję zdefiniowaną w nim.
{{Tab}}Ta funkcja sprawdza, czy któraś z parametrów nazw istnieje, a jeżeli nie, to dalej jest inicjowana zmienna: {{Code|tablica_zmiennych2}} {{Patrz|tablica_zmiennych2}} pustą tablicą i podobnie {{Code|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}} {{Patrz|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}}, to uruchamiana jest: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, do zbierania informacji o stronie nowej lub przebadanej (wtedy zostają zwrócone parametry z wczęsniejszego jego analizowania, jak była nowa). Funkcja zwraca trzy parametry, tzn. {{Code|tabela_listy_danych_analizy_ksiazki0}} {{Patrz|tabela_listy_danych_analizy_ksiazki0}}, {{LinkPatrz|tablica_zmiennych2}} i {{Code|czy_inna}} {{Patrz|czy_inna}}. Te parametry mogą przyjmować wartość {{Code|nil}}, lub pierwszy {{Code|0}}, drugi, to nic innego jest jak: {{LinkPatrz|tablica_zmiennych2}}, a trzeci parametr jest wtedy równy {{Code|true}}, gdy strona jest nowa, a {{Code|false}} aktualna, a gdy {{Code|nil}}, gdy np. zawartość strony nie istnieje.
Gdy parametr: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, istnieje, wtedy jest spraqdzane, czy któreś z parametrów: {{LinkPatrz|tablica_zmiennych2}} i {{LinkPatrz|czy_inna}}, nie istsnieje, wtedy ta funkcja się zakańcza.
==== {{Śródtytuł|JuzPoliczone}}{{Code|JuzPoliczone}} ====
Dla obiektów, dla których jest ustawiony parametr: {{LinkPatrz|czy_pobierz}}, co dalej w tym rozgałęzieniu instrukcji warunkiwej jest uruchamiana funkcja szablonów tekstu, czyli: {{Code|{{sr|#p.UstawianiePobierz|p=StronicowyParser/SzablonyTekstu}}}}, aby również później za pomocą innych funkcji przeanalizować również tekst w szablonach takich jak: {{s|Śródtekst}}.
Dalej jest tworzona tablica, jeśli nie istnieje, tzn. {{Code|tablica_zmiennych2.dane_juz_policzone}} {{Patrz|tablica_zmiennych2.dane_juz_policzone}}, czyli jest inicjowana pustą tablicą. Dalej jest tworzona, jeśli nie istnieje, tablica wielowymiarowa po kolei, o kluczach kolejno: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}, {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu}}, a jeżeli ta ostatnia wartość tej tablicy była wcześniej, to zwracane jest {{Code|true}}, przeciwnie {{Code|false}}, a tej ostatniej wartości tej tablicy jest przydzielana wartość {{Code|true}}.
==== Dalszy opis funkcji ====
Gdy parametr: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest równy {{Code|0}}, ale nie {{Code|nil}}, wtedy jest sprawdzane, czy artykuł został wcześniej zrewidowany według: {{LinkŚródtytuł|JuzPoliczone}}, a jeżeli tak to jest zakańczany, a gdy ten parametr taakiej wartośsci nie przyjmuje, wtedy tylko jest uruchamiana funkcja bez żadnego warunku.
{{Tab}}Następnie jest uruchamiana funkcja: {{Code|{{sr|#p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony|p=StronicowyParser/SzablonyTekstu}}}}, do przydzielenia pewnych zmiennych z {{LinkPatrz|tablica_zmiennych2}} tablicy {{LinkPatrz|tablica_zmiennych}}.
{{Tab}}Jest sprawdzane, czy dany artykuł należy do spisu, jeżeli nie to są ustawiane pewne kody problemów w tablicy problemów, tzn. {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}.
Dalej jest sprawdzane, czy podany uchwyt {{LinkPatrz|uchwyt_obiektu}}, który jest podany w szablonach linków na aktualnej stronie, czy jest tylko jeden na stronie sprawdzanej, a jeżeli nie jest tak, to jest sprawdzane, czy nie istnieje ustawiony problem: {{Code|błędy uchwytów korzystanych stron}}, funkcją: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to taki problem jest dodawany dzięki: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
{{Tab}}Uruchamiana jest dalej funkcja: {{LinkŚródtytuł|p.PusteParametryReferencji}}, do sprawdzania pustości pewnych parametrów.
{{Tab}}Gdy tabela: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest jednak równa wartości odpowiadającej fałszywej, wtedy jeśli nie istnieje problem: {{Code|błąd wewnętrzny modułu lua stronicowego parsera}}, co jest rewidowane elementem: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to dodawany jest taki problem do tabeli problemów na podstawie: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
=== {{Śródtytuł|p.GeneralneLinkowanie}}{{Code|p.GeneralneLinkowanie}} ===
Funkcja zbiera uchwyty, na aktualnej lub innej stronie, a także je analizuje w odpowiedni sposób, modyfikuje tablica aktualnego modułu, czyli: {{LinkPatrz|tablica_zmiennych}}, na podstawie poszczególnych artykułów tej książki lub innej, która zbiera raz informacje o danej stronie.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Funkcja wyznacza uchwyt z tabeli parametrów: {{LinkPatrz|tabela_parametrow_szablonu}}, o kluczu {{Code|uchwyt}} {{LinkPatrz|uchwyt}} lub {{Code|1}}, a później w kodzie jest on kompletowany funkcją: {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a następnie rozwijany w niej, a później jest dekodowany: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}.
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, wywołujac: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}.
Na samym końcu jest uruchamiana: {{LinkPatrz|KtorySzablonMaZwracacKategorie}} z parametrem o tym uchwycie, wyliczonym wcześniej.
Gdy uchwyt istnieje, ale jest pusty, wtedy uruchamia się: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, następnie: {{LinkŚródtytuł|p.PusteParametryReferencji}}, a jeśli ta wartość nie istnieje, wtedy tylko ta ostatnia funkcja.
Gdy uchwyt: {{LinkPatrz|uchwyt}}, istnieje i jest niepusty, wtedy jest wyznaczana nazwa artykułu z niej samej, lub jeśli nazwa ksiązki istnieje, tylko, wtedy ta nazwa zaczyna być pusta, przeciwnie {{Code|nil}}, wtedy mamy do czynienia ze stroną główną podręcznika.
Gdy nazwa artykułu nie istnieje, wtedy wywoływana jest: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Jeśli nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest niepusta, i gdy nazwa książki nie istnieje, wtedy są liczone parametry nazw, oprócz nazwy artykułu, bo jest policzona, więc te {{ZobaczTeż|nazwy}}: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, z parametrów charakteryzujących nazwę aktualnego artykułu, a jeśli jednak nazwa książki jest pusta, to są sprawdzane parametry w: {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Gdy nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest nieistnieje, i gdy nazwa książki {{LinkPatrz|nazwa_ksiazki}} jest niepusta, wtedy nazwa artykułu zaczyna istnieć i inicjujemy wtedy ją wartością pustą, a jeśli pusta, za zaczyna być potem generowanie kodów błędów funkcją {{LinkŚródtytuł|p.PusteParametryReferencji}}, by potem się zakończyła ta funkcja.
Przeciwnie są liczone parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, tą samą metodą, co w punkcie: {{LinkZobaczTeż|nazwy}}.
Gdy nazwy {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}} są porównywane z nazwami, którymi się przypisje jak w: {{LinkZobaczTeż|nazwy}}, wtedy uruchamiamy funkcję: {{LinkŚródtytuł|p.LinkowanieInnychStron}}, przeciwnie wtedy działają dwie funkcje uruchomione po kolei, tzn.: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
== {{Śródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}{{Code|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} ==
Funkcja służy do zbierania informacji o danej analizowanej stronie, którego główną częścią jest strona korzystana, w której gromadzą się informacji też z pozostałych.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, czy_artykul_korzystany,tablica_zmiennych,czy_szablon_pudelkowy_strony_zbiorczej)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} - jak w: {{LinkPatrz|czy_szablon_pudelkowy_strony_zbiorczej}}.
=== {{Śródtytuł|__FUNKCJA_ARTYKULU}}{{Code|__FUNKCJA_ARTYKULU}} ===
Funkcja do tworzenia tabeli artykułów z innymi parametrami wielowymiarowej tej tabeli, a jeżeli owe pośrednie, i nie tylko, istnieją, to te tabele są zwracane lub nowo są tworzone.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji {{ZobaczTeż|parametry artykułu}}:
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}},
* {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu}} - nazwa artykułu w książce, bez pełnej nazwy książki.
Poniżej są tworzone podtabele puste, jeśli nie zostały utworzone.
Funkcja, która w tabeli: {{Code|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}} {{Patrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, która istnieje, tworzy tabele trójwymiarową kolejno po prarametrach: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, te tabele pośrednie śą wtedy tworzone, jeśsli nie istnieją, a gdy istnieją to nie są tworzone, tylko funkcja przechodzi do dalszych.
Dalej tworzona jest podtabela, jeśli nie istnieje o nazwie {{Code|lista_podstron_woluminu}} {{Patrz|lista_podstron_woluminu}}.
Następnie generowana jest podtabela, jeśli nie istnieje, o kluczu: {{LinkPatrz|nazwa_artykulu}}.
Funkcja zwraca kolejno elementy, jeśli klucz: {{LinkPatrz|nazwa_artykulu}}, istnieje, zatem:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany;
</syntaxhighlight>
Przeciwnie zwracany jest zbiór zmiennych po kolei:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki;
</syntaxhighlight>
Co to są za zmienne, wiadomo z ich nazw, po prostu są to pewne pośrednie, i nie tylko, tabele.
=== {{Śródtytuł|__FUNKCJA_POBIERANIE}}{{Code|__FUNKCJA_POBIERANIE}} ===
Funkcja zwraca parametry strony aktualnej, analizowanej jeszcze raz, aby ją nie powtórnie rewidować, lub podobnie dla innego artykułu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_POBIERANIE(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji są takie same jak w punkcie {{LinkZobaczTeż|parametry artykułu}}.
{{Tab}}Analiza dla artykułów niekorzystanych według parametru: {{LinkPatrz|czy_artykul_korzystany}}:
Dla jeszcze raz analizowanego artykułui aktualnego zwracane są parametry:
<syntaxhighlight lang="lua">
return 0,nil,nil,nil,nil,nil,self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron,false;
</syntaxhighlight>
Tabela: {{Code|self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron}}, tam są dane zebrane z aktualnego artykułu.
Dla innej takiej strony jest tworzony parametr, jeżeli jest włączona analiza, dla klucza: {{Code|analiza_spis_tresci}} {{Patrz|analiza_spis_tresci}}, według tego jest tworzony wartością prawdziwą parametr o innym znów kluczu: {{Code|analiza_spis_tresci_doloczone}} {{Patrz|analiza_spis_tresci_doloczone}}:
<syntaxhighlight lang="lua">
if(self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci)then
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=true;
end;
</syntaxhighlight>
Dla elementu: {{LinkPatrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, jeżeli dany artykuł był już rewidowany, to zwracane są elementy:
<syntaxhighlight lang="lua">
return 0,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni,dane_zebrane_ze_stron,true;
</syntaxhighlight>
To: {{Code|dane_zebrane_ze_stron}} {{Patrz|dane_zebrane_ze_stron}}, to podtabela: {{LinkPatrz|lista_podstron_woluminu}}, z kluczem: {{LinkPatrz|nazwa_artykulu}}, o nazwie takiej samej jak ten parametr zwracany.
Przeciwnie jest zwracane: {{Code|true}}, lub {{Code|nil}}, jeśli tabela: {{Code|self.tabela_listy_danych_analizy_ksiazki}} {{Patrz|self.tabela_listy_danych_analizy_ksiazki}}, lub podtatela: {{LinkPatrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, nie istnieje.
=== {{Śródtytuł|InneInformacjePrzebneDoAnalizowanejKsiazki}}{{Code|InneInformacjePrzebneDoAnalizowanejKsiazki}} ===
Funkcja do zbierania informacji o spisie artykułów książkowych i ich licencjach orazz ewentualnie zebrane informacje ze stron: {{lk|Szablony nawigacyjne układu autonawigacji do autonawigacji podręczników}}, z szablonu, w któreś tej pozycji w: {{s|Układ autonawigacji}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function InneInformacjePrzebneDoAnalizowanejKsiazki()...end;
</syntaxhighlight>
Parametry funkcji:
* brak.
==== {{Śródtytuł|__FUNKCJA_SPISU}}{{Code|__FUNKCJA_SPISU}} ====
==== Dalszy opis funkcji ====
=== {{Śródtytuł|PrzekierownieAwaryjne}}{{Code|PrzekierownieAwaryjne}} ===
=== {{Śródtytuł|StronaZbiorcza}}{{Code|StronaZbiorcza}} ===
=== {{Śródtytuł|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}}{{Code|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}} ===
=== {{Śródtytuł|GeneralnaAnalizaSzablonuStronicowegoParsera}}{{Code|GeneralnaAnalizaSzablonuStronicowegoParsera}} ===
=== {{Śródtytuł|IterowaniePoElementachTekstu}}{{Code|IterowaniePoElementachTekstu}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieNaglowek}}{{Code|KtorySzablonMaZwracacKategorieNaglowek}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieTekst}}{{Code|KtorySzablonMaZwracacKategorieTekst}} ===
=== {{Śródtytuł|CzyJestTakiProblemJakoElementTablicy}}{{Code|CzyJestTakiProblemJakoElementTablicy}} ===
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
rfx6a3hasdajjoai0vvjuspeyw1mjfw
547243
547242
2026-06-29T15:22:51Z
Persino
2851
/* {{Śródtytuł|InneInformacjePrzebneDoAnalizowanejKsiazki}}{{Code|InneInformacjePrzebneDoAnalizowanejKsiazki}} */
547243
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/ZbieranieDanychStron}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== Zbieranie informacji o uchwycie ==
=== {{Śródtytuł|p.UchwytyZeiBezNumeracji}}{{Code|p.UchwytyZeiBezNumeracji}} ===
Funkcja zbiera uchwyty, dla obiektów {{ZobaczTeż|p.UchwytyZeiBezNumeracji}}, bez numeracji, nie licząc obiektów tekst takich jak {{s|Śródtekst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UchwytyZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,lista_dwuelementowa,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} {{Patrz|self}} - zmiennna obiektowa modułu {{Code|{{ld2|StronicowyParser/ZbieranieDanychStron}}}} {{Patrz|StronicowyParser/ZbieranieDanychStron}},
* {{Code|tabela_elementow_strony_kodow}} {{Patrz|tabela_elementow_strony_kodow}} - zmienna zbierająca takie kody jak {{LinkZobaczTeż|p.UchwytyZeiBezNumeracji}},
* {{Code|nazwa_obiektu}} {{Patrz|nazwa obiektu}} - nazwa obiektu,
* {{Code|lista_dwuelementowa}} {{Patrz|lista_dwuelementowa}} - pozycja w normalnej tabeli uchwytów i przeważnie ich numeracji, a tutaj dla tego obiektu,
* {{Code|kod}} {{Patrz|kod}} - numer kodu dla tego obiektu.
Funkcja zbiera elementy {{LinkPatrz|lista_dwuelementowa}} w tablicy wielowymiarowej o pierwszym elemencie wymiaru {{LinkPatrz|nazwa obiektu}} i trzecim {{LinkPatrz|kod}}, oraz o drugim {{Code|uchwyty_bez_numeracji}} {{Patrz|uchwyty_bez_numeracji}}.
=== {{Śródtytuł|p.WydobywanieUchwytuZeiBezNumeracji}}{{Code|p.WydobywanieUchwytuZeiBezNumeracji}} ===
Funkcja wydowywa tablicę uchwytu dla pozycji, ale nie sam uchwyt, dla podtablicy {{LinkPatrz|uchwyty_bez_numeracji}} o danym kodzie {{LinkPatrz|kod}}, dla nazwy obiektu {{LinkPatrz|nazwa_obiektu}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.WydobywanieUchwytuZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_elementow_strony_kodow}} - jak w: {{LinkPatrz|tabela_elementow_strony_kodow}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}}.
Funkcja wykorzystuje elementy tablicy: {{LinkPatrz|uchwyty_bez_numeracji}}, wstawione przez funkcję: {{LinkŚródtytuł|p.UchwytyZeiBezNumeracji}}.
=== {{Śródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}{{Code|p.RozpatrywanieElementuUchwytuNumeracji}} ===
Funkcja wsadzająca utworzoną tablicę z podanym uchwytem do ogólnej tablicy pozycji nazwanych tabel z uchwytami o danej pozycji z nim.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|kod_uchwytu}} {{Patrz|kod_uchwytu}} - kod uchwytu podanego do szablonu stronicowego z odpowiednim uchwytem,
* {{Code|tab_numer}} {{Patrz|tab_numer}} - tablica z numerkami ilości elementów w tablicy parametrów nazwanych z uchwytami, w danym elemencie analizowania strony z uchwytami i obiektami,
* {{Code|tablica_zmiennych}} {{Patrz|tablica_zmiennych}} - tablica analizowania obiektów, danej strony,
* {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} {{Patrz|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - kolejno: nazwa przestrzeni nazw, nazwa przestrzeni książki, nazwa książki i nazwa artykułu książki,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} {{Patrz|czy_artykul_korzystany}} - czy artykuł aktualny wyświetlany w przeglądarce,
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} {{Patrz|nazwa_modulu_aktualna_czy_biezaca}} - nazwa artykułu aktualna lub bieżąca,
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{Patrz|tablica_analizy_obiektow_strony_dany_modul}} - tablica bazy kodów parsowania strony,
* {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - tablica analizy poszczególnych elementów kodów, do szybszego działania skryptu,
* {{Code|KtorySzablonMaZwracacKategorie}} {{Patrz|KtorySzablonMaZwracacKategorie}} - tablica zbierająca odkodowany i rozwinięty uchwyt, do analizowania w nim zebranych kategorii, według modułu: {{Code|{{ld2|StronicowyParser/Kategorie}}}}, uruchamiana w szablonach stronicowych z funkcjami '''stronicowego parsera'''.
Funkcja rozwija {{LinkPatrz|kod_uchwytu}} funkcją {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a potem je odkodowuje przy pomocy: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a jeżeli ona nie jest pusta, to dla tego jest uruchamiana funkcja {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Tworzona jest tablica {{Code|lista_dwuelementowa}} {{LinkPatrz|lista_dwuelementowa}} z uchwytem, jako pierwszy parametr.
Jest sprawdzane, czy element {{Code|tablica_zmiennych.sprawdzenie_dokonane_obiektu}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, jest fałszywy, jeżeli tak, to dalej jest sprawdzane, czy są elementy numerowane nazwanej tablicy: {{Code|tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2}} o nazwie {{LinkPatrz|nazwa_obiektu}}, a jeżeli jest pusta - na samym końcu jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, czyli jest inicjowana na wartość {{Code|true}}, to dalej jest sprawdzane, czy dla elementów: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy dana książka jest poza zakresem obsługiwanym, czyli rewidowane jest, czy jest ustawiony kod problemu {{Code|strony poza zakresem obsługiwanym}}, czy a jeżeli jednak nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}, ustawiające pewne elementy błędu, jeżeli trzeba to zrobić.
Gdy tabela {{LinkPatrz|tab_numer}} odpowiada nienilowej tablicy, wtedy element {{LinkPatrz|lista_dwuelementowa}} jest wstawiany na odpowiedniej pozycji, ale przeważnie nie na końcu, przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=table.insert|b=tak}}}}, dzięki określonej tabeli {{LinkPatrz|tab_numer}}, przeciwnie na jej końcu.
Funkcja zwraca element {{LinkPatrz|lista_dwuelementowa}}.
=== {{Śródtytuł|p.RozpatrywanieSzablonuObiektuDoNumeracji}}{{Code|p.RozpatrywanieSzablonuObiektuDoNumeracji}} ===
Funkcja, która uruchamia funkcję: {{LinkŚródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}, dla istniejącego uchwytu w postaci nazwanej o kluczu: {{Code|uchwyt}} {{Patrz|uchwyt}}, lub nienazwanej - w postaci numeru jego uchwytu o kluczu: {{Code|numer_numeracji}} {{Patrz|numer_numeracji}}, wsadzająca tabele z uchwytem na odpowiednią pozycję w odpowiedniej nazwanej tabeli o nazwie obiektu {{LinkPatrz|nazwa_obiektu}} w ogólnej tabeli: {{LinkPatrz|tablica_zmiennych}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}}- tabela parametrów szablonu,
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|numer_numeracji}} - jak w: {{LinkPatrz|numer_numeracji}},
* {{Code|tab_numer}} - jak w: {{LinkPatrz|tab_numer}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
== {{Śródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}{{Code|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}} ==
Funkcja sprawdza, czy dany artykuł należy do artykułów, któregoś spisu treści, a jeżeli nie, to dla stron, które nie należą do kategorii z ustawionym problemem {{Code|strony poza zakresem obsługiwanym}}, ale do nieaktualnej strony jest ustawiony problem {{Code|brak spisów treści do dołączonych stron}}. Natomiast dla aktualnej dla stron tej samej kategorii ustawiany jest problem {{Code|brak spisu treści do korzystanych stron}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== {{Śródtytuł|p.PusteParametryReferencji}}{{Code|p.PusteParametryReferencji}} ==
Funkcja sprawdza, jeśli są podane parametry szablonu stronicowego, które są w kategorii: {{lk|Szablony stronicowe}}, czyli: {{Code|nazwa_artykulu}}, ewentualnie: {{Code|nazwa_ksiazki}}, ale zawsze z: {{Code|uchwyt_obiektu}}, czy są one puste.
A jeżeli one istnieją i są takie, to są ustawione problemy typu, jeśli ich wcześniej nie ustawiono:
* {{Code|puste parametry szablonów stronicowych linkujących}} {{Patrz|puste parametry szablonów stronicowych linkujących}}, kolejno dla: {{Code|uchwyt_obiektu}}, {{Code|nazwa_artykulu}} i {{Code|nazwa_ksiazki}}, kolejno z numerami problemów: {{Code|1}}, {{Code|2}} i {{Code|3}}.
Dla obiektu o nazwie {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}.
{{Hr}}
Definicja skrótowa funkcji
<syntaxhighlight lang="lua">
function p.PusteParametryReferencji(self, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu)...end;
</syntaxhighlight>
Paraametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} {{Patrz|uchwyt_obiektu}} - uchwyt obiektu, podane w danym szablonie stronicowym,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}}.
== {{Śródtytuł|p.SzablonyReferencjiParametrowych}}{{Code|p.SzablonyReferencjiParametrowych}} ==
Funkcja z parametrów pudełkowych nazwy artykułu {{ZobaczTeż|nazwa artykułu}}: {{Code|nazwa artykułu}} {{Patrz|nazwa artykułu}} albo {{Code|1}}, gdy bezuchwytowe lub {{Code|2}}, i pełnej nazwy książki {{ZobaczTeż|pełna nazwa strony}}: {{Code|nazwa książki}} {{Patrz|nazwa książki}} albo, {{Code|2}}, gdy bezuchwytowe lub {{Code|3}}. To wszystko jest liczone z: {{LinkPatrz|tabela_parametrow_szablonu}} lub przy użyciu parametru również {{Code|bezuchwytowe}} {{Patrz|bezuchwytowe}}, gdy mamy szablon stronicowy {{lk|Szablony stronicowe}}, bezuchwytowy, wtedy {{Code|true}}, przeciwnie {{Code|false/nil}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca,bezuchwytowe)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{Code|bezuchwytowe}} - jak w: {{LinkPatrz|bezuchwytowe}}.
Funkcja obie nazwy dekoduje funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a później jest liczony adres bezwzględny z względnego dzięki: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, przy pomocy podstawy {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}}, podobnie ale wcześniej jest liczona nazwa artykułu {{linkZobaczTeż|nazwa artykułu}}, czyli: {{LinkPatrz|nazwa_artykulu}}, ale tutaj adres względny jest liczony z podstawy o ciągu pustym jako drugi parametr.
Na podstawie pełnej nazwy książki {{LinkZobaczTeż|pełna nazwa strony}}: jest liczona bardziej jej wersja pełniejsza, jeżeli to jest w ogóle możliwe z: {{Code|{{sr|#p["PełnaNazwaStronicowejKsiążki"]|p=Książkowe}}}}. A póżniej z tego wszystkiego są liczone nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, przy pomocy funkcji nazw: {{Code|{{ld2|Nazwy}}}}.
Na samym końcu funkcji są zwracane parametry nazw, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== Funkcje zbierania informacji ==
=== {{Śródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}{{Code|p.ZbieranieInformacjiStronyWoluminowychPozycji}} ===
Funkcja zbierania informacji na stronie dla szablonów stronicowych: {{lk|Szablony stronicowe}}, bezuchwytowych, gdy nie jest uruchomiony parametr: {{Code|czy_inna_wartosc_tekst}} {{Patrz|czy_inna_wartosc_tekst}}, wtedy jest wywoływana funkcja: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}, która liczy kolejne nazwy charaktertyzujące nazwy dla danego artykułu książki dla danej strony, przeciwnie parametry nazw są ściagane z: {{Code|tab_nazwy}} {{Patrz|tab_nazwy}}, ta tabela składa się numerowanych elementów, którymi są nazwy charakyteryzujące stronę.
Gdy jakaś nazwa artylułu strony została policzona, wtedy są liczone pozostałe nazwy z: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, a na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, a tuż przed nim, jeśli istnieje: {{Code|KtorySzablonMaZwracacKategorie}} {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,KtorySzablonMaZwracacKategorie,czy_inna_wartosc_tekst,tab_nazwy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_inna_wartosc_tekst}} - jak w: {{LinkPatrz|czy_inna_wartosc_tekst}},
* {{Code|tab_nazwy}} - jak w: {{LinkPatrz|tab_nazwy}}.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacji}}{{Code|p.ZbieranieKontenerowychInformacji}} ===
Funkcja do zbierania informacji, która z parametrów pudełkowych: {{Code|{{m|Pudełko}}}}, czyli: {{Code|nazwa przestrzeni nazw}} {{Patrz|nazwa przestrzeni nazw}} i {{Code|nazwa jednostki}} {{Patrz|nazwa jednostki}}, z nich są liczone parametry nazw charakteryzujące artykuł książki strony. A na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} {{Patrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,czy_szablon_pudelkowy_strony_zbiorczej,KtorySzablonMaZwracacKategorie)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} {{Patrz|czy_szablon_pudelkowy_strony_zbiorczej}} - funkcja potrzebna do funkcji zbierającej {{LinkPatrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, określającej, czy mamy szablon pudełkowy strony zbiorczej, taki jak: {{Code|{{s|StronaSubst}}}}, czy: {{Code|{{s|KsiążkaSubst}}}}, zobacz stronę: {{Code|{{lr2|Moduły/StronicowyParser/StronaSubst}}}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Gdy nie ma parametrów pudełkowych funkcja się natychmiast zakańcza, lub parametr: {{LinkPatrz|nazwa jednostki}}, jest pusta, lub nawet gdy zawierają kody wykrywane przez funkcję: {{Code|{{sr|#p.NormaWzoruKodowaniaTekstu|p=Szablonowe}}}}.
Z nazwy jednostki jest wydzielana nazwa jednostki właściwa bez nazwy nagłówka, póżniej obie nazwy są też dekodowane funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, czyli wszystko z: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}.
Z tych dwóch nazwy jest liczony adres, ewentualnie względny, który za pomocą funkcji: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, jest wyliczany adres bezwzględny.
Dalej są liczone nazwy charakteryzujące artykuł danej książki strony, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, z tego adresu strony.
Przedostatnia funkcja, która jest uruchamiana przed funkcją zbierającą jest: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}, jeśli istnieje.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacjiReferencji}}{{Code|p.ZbieranieKontenerowychInformacjiReferencji}} ===
Funkcja zbiera informacje o stronie. Na podstawie informacji o nazwie artykułu i pełnej nazwy książki liczy parametry nazw charakteryzujące artykuł, co na tej podstawiwe liczy parametry pudełkowe i wywołuje funkcję główną przez inną funkcję, też zbierającą, i zbiera informacje o artykule.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacjiReferencji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, jako parametry zwracane przez funkcję: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}. Funkcja wyznacza parametry pudełkowe {{m|Pudełko}}, tzn.: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}, na podstawie tych nazw. Funkcja na samym końcu wywołuje funkcję zbierającą dane ze strony: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}, która z kolei uruchamia potem: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
== {{Śródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}{{Code|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}} ==
Funkcja sprawdza niepoprawność nazwy strony i na podstawie tego ustawia pewne kody problemów.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,__FUNKCJA_SPRAWDZANIE)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|__FUNKCJA_SPRAWDZANIE}} {{Patrz|__FUNKCJA_SPRAWDZANIE}} - funkcja uruchamiana, jeśli jest ustawiona, na wypadek poprawności strony.
W przypadku niepoprawności strony, gdy strona modułu jest aktualna (bieżąca), wtedy sprawdzany jest kod problemu, czy jest ustawiony, tzn.: {{Code|nieprawidłowe nazwy korzystanych stron}}, przy pomocy funkcji: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli nie ma takiego, to wtedy jest uruchamiana funkcja: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}. Podobnie jest dla niekorzystanej strony, wtedy jest problem dla kodu: {{Code|nieprawidłowe nazwy stron dołączanych do stron}}.
== Zbieranie informacji o linkach ==
=== {{Śródtytuł|p.LinkowanieFinalizowaniePrac}}{{Code|p.LinkowanieFinalizowaniePrac}} ===
Funkcja wadza uchwyt obiektu, wsazujący na aktualną stronę, do pewnej strony, i ewentualnie ustawia pewne problemy, jeśli je nie ustawiono.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} {{Patrz|obiekt}} - obiekt, obsługiwany przez tą funkcję linku,
* {{Code|kod}} {{LinkPatrz|kod}} - kod obiektu dla: {{LinkPatrz|obiekt}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} - jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}},
* {{Code|czy_pobierz}} {{Patrz|czy_pobierz}} - czy to jest szablon typu {{Code|Pobierz}} {{Patrz|Pobierz}}, jak: {{s|PobierzŚródtekst}}.
Funkcja sprawdza, czy nie został ustawiony element {{Code|tablica_zmiennych.sprawdzenie_dokonane_linku}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}, a jeżeli tak, to dalej, czy nie ma elementów numerowanych przy pomocy funkcji: {{Code|{{sr|#p["CzySąElementyNumerowaneTablicy"]|p=Parametry}}}}, a jeśli również tak, to dalej jest sprawdzane, czy został ustawiony problem: {{Code|strony poza zakresem obsługiwanym}}, przy pomocy: {{Code|{{sr|#p.CzyJestTakiElementTabeliProblemu|p=StronicowyParser/Problemy}}}}, a jeżeli nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}. Na samym końcu tej instrukcji warunkowej jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}.
Dalej pod tą instrukcją warunkową, jest robione, co powiedziane zostało w prologu tego opisu tej funkcji, tzn. z wyznaczonej tablicy ze: {{LinkPatrz|tablica_zmiennych}}, a dalej z wyznaczonej następnej podtabeli o kluczu: {{LinkPatrz|nazwa_obiektu}}.
Następnie, gdy element: {{LinkPatrz|czy_pobierz}}, jest ustawiony na {{Code|true}}, wtedy dla {{LinkPatrz|uchwyt_obiektu}}, pewna tablica, jest wstawiana do tablicy: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}}, jeśli istnieje, a jeśli nie, to jest tworzona, jako tablica, wtedy też jest to robione. Tą czynnością wstawiany tabelę, do tej tablicy, czyli:
<syntaxhighlight lang="lua">
{{nazwa_obiektu,uchwyt_obiektu,},{obiekt,kod,},}
</syntaxhighlight>
=== {{Śródtytuł|p.LinkowanieInnychStron}}{{Code|p.LinkowanieInnychStron}} ===
Funkcja do sprawdzania innych stron niż aktualna, a jeżeli dana strona została już sprawdzona, to powtórnie nie jest już rewidowana. Funkcja ustawia w głównej tablicy aktualnej tabeli {{LinkPatrz|tablica_zmiennych}} pewne podtablice.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieInnychStron(self,obiekt,kod,tablica_zmiennych, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejo jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Najpierw jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, która w razie poprawności nazwy strony, czyli inaczej nazw tej strony, tzn.: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, uruchamia funkcję zdefiniowaną w nim.
{{Tab}}Ta funkcja sprawdza, czy któraś z parametrów nazw istnieje, a jeżeli nie, to dalej jest inicjowana zmienna: {{Code|tablica_zmiennych2}} {{Patrz|tablica_zmiennych2}} pustą tablicą i podobnie {{Code|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}} {{Patrz|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}}, to uruchamiana jest: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, do zbierania informacji o stronie nowej lub przebadanej (wtedy zostają zwrócone parametry z wczęsniejszego jego analizowania, jak była nowa). Funkcja zwraca trzy parametry, tzn. {{Code|tabela_listy_danych_analizy_ksiazki0}} {{Patrz|tabela_listy_danych_analizy_ksiazki0}}, {{LinkPatrz|tablica_zmiennych2}} i {{Code|czy_inna}} {{Patrz|czy_inna}}. Te parametry mogą przyjmować wartość {{Code|nil}}, lub pierwszy {{Code|0}}, drugi, to nic innego jest jak: {{LinkPatrz|tablica_zmiennych2}}, a trzeci parametr jest wtedy równy {{Code|true}}, gdy strona jest nowa, a {{Code|false}} aktualna, a gdy {{Code|nil}}, gdy np. zawartość strony nie istnieje.
Gdy parametr: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, istnieje, wtedy jest spraqdzane, czy któreś z parametrów: {{LinkPatrz|tablica_zmiennych2}} i {{LinkPatrz|czy_inna}}, nie istsnieje, wtedy ta funkcja się zakańcza.
==== {{Śródtytuł|JuzPoliczone}}{{Code|JuzPoliczone}} ====
Dla obiektów, dla których jest ustawiony parametr: {{LinkPatrz|czy_pobierz}}, co dalej w tym rozgałęzieniu instrukcji warunkiwej jest uruchamiana funkcja szablonów tekstu, czyli: {{Code|{{sr|#p.UstawianiePobierz|p=StronicowyParser/SzablonyTekstu}}}}, aby również później za pomocą innych funkcji przeanalizować również tekst w szablonach takich jak: {{s|Śródtekst}}.
Dalej jest tworzona tablica, jeśli nie istnieje, tzn. {{Code|tablica_zmiennych2.dane_juz_policzone}} {{Patrz|tablica_zmiennych2.dane_juz_policzone}}, czyli jest inicjowana pustą tablicą. Dalej jest tworzona, jeśli nie istnieje, tablica wielowymiarowa po kolei, o kluczach kolejno: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}, {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu}}, a jeżeli ta ostatnia wartość tej tablicy była wcześniej, to zwracane jest {{Code|true}}, przeciwnie {{Code|false}}, a tej ostatniej wartości tej tablicy jest przydzielana wartość {{Code|true}}.
==== Dalszy opis funkcji ====
Gdy parametr: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest równy {{Code|0}}, ale nie {{Code|nil}}, wtedy jest sprawdzane, czy artykuł został wcześniej zrewidowany według: {{LinkŚródtytuł|JuzPoliczone}}, a jeżeli tak to jest zakańczany, a gdy ten parametr taakiej wartośsci nie przyjmuje, wtedy tylko jest uruchamiana funkcja bez żadnego warunku.
{{Tab}}Następnie jest uruchamiana funkcja: {{Code|{{sr|#p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony|p=StronicowyParser/SzablonyTekstu}}}}, do przydzielenia pewnych zmiennych z {{LinkPatrz|tablica_zmiennych2}} tablicy {{LinkPatrz|tablica_zmiennych}}.
{{Tab}}Jest sprawdzane, czy dany artykuł należy do spisu, jeżeli nie to są ustawiane pewne kody problemów w tablicy problemów, tzn. {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}.
Dalej jest sprawdzane, czy podany uchwyt {{LinkPatrz|uchwyt_obiektu}}, który jest podany w szablonach linków na aktualnej stronie, czy jest tylko jeden na stronie sprawdzanej, a jeżeli nie jest tak, to jest sprawdzane, czy nie istnieje ustawiony problem: {{Code|błędy uchwytów korzystanych stron}}, funkcją: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to taki problem jest dodawany dzięki: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
{{Tab}}Uruchamiana jest dalej funkcja: {{LinkŚródtytuł|p.PusteParametryReferencji}}, do sprawdzania pustości pewnych parametrów.
{{Tab}}Gdy tabela: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest jednak równa wartości odpowiadającej fałszywej, wtedy jeśli nie istnieje problem: {{Code|błąd wewnętrzny modułu lua stronicowego parsera}}, co jest rewidowane elementem: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to dodawany jest taki problem do tabeli problemów na podstawie: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
=== {{Śródtytuł|p.GeneralneLinkowanie}}{{Code|p.GeneralneLinkowanie}} ===
Funkcja zbiera uchwyty, na aktualnej lub innej stronie, a także je analizuje w odpowiedni sposób, modyfikuje tablica aktualnego modułu, czyli: {{LinkPatrz|tablica_zmiennych}}, na podstawie poszczególnych artykułów tej książki lub innej, która zbiera raz informacje o danej stronie.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Funkcja wyznacza uchwyt z tabeli parametrów: {{LinkPatrz|tabela_parametrow_szablonu}}, o kluczu {{Code|uchwyt}} {{LinkPatrz|uchwyt}} lub {{Code|1}}, a później w kodzie jest on kompletowany funkcją: {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a następnie rozwijany w niej, a później jest dekodowany: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}.
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, wywołujac: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}.
Na samym końcu jest uruchamiana: {{LinkPatrz|KtorySzablonMaZwracacKategorie}} z parametrem o tym uchwycie, wyliczonym wcześniej.
Gdy uchwyt istnieje, ale jest pusty, wtedy uruchamia się: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, następnie: {{LinkŚródtytuł|p.PusteParametryReferencji}}, a jeśli ta wartość nie istnieje, wtedy tylko ta ostatnia funkcja.
Gdy uchwyt: {{LinkPatrz|uchwyt}}, istnieje i jest niepusty, wtedy jest wyznaczana nazwa artykułu z niej samej, lub jeśli nazwa ksiązki istnieje, tylko, wtedy ta nazwa zaczyna być pusta, przeciwnie {{Code|nil}}, wtedy mamy do czynienia ze stroną główną podręcznika.
Gdy nazwa artykułu nie istnieje, wtedy wywoływana jest: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Jeśli nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest niepusta, i gdy nazwa książki nie istnieje, wtedy są liczone parametry nazw, oprócz nazwy artykułu, bo jest policzona, więc te {{ZobaczTeż|nazwy}}: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, z parametrów charakteryzujących nazwę aktualnego artykułu, a jeśli jednak nazwa książki jest pusta, to są sprawdzane parametry w: {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Gdy nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest nieistnieje, i gdy nazwa książki {{LinkPatrz|nazwa_ksiazki}} jest niepusta, wtedy nazwa artykułu zaczyna istnieć i inicjujemy wtedy ją wartością pustą, a jeśli pusta, za zaczyna być potem generowanie kodów błędów funkcją {{LinkŚródtytuł|p.PusteParametryReferencji}}, by potem się zakończyła ta funkcja.
Przeciwnie są liczone parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, tą samą metodą, co w punkcie: {{LinkZobaczTeż|nazwy}}.
Gdy nazwy {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}} są porównywane z nazwami, którymi się przypisje jak w: {{LinkZobaczTeż|nazwy}}, wtedy uruchamiamy funkcję: {{LinkŚródtytuł|p.LinkowanieInnychStron}}, przeciwnie wtedy działają dwie funkcje uruchomione po kolei, tzn.: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
== {{Śródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}{{Code|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} ==
Funkcja służy do zbierania informacji o danej analizowanej stronie, którego główną częścią jest strona korzystana, w której gromadzą się informacji też z pozostałych.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, czy_artykul_korzystany,tablica_zmiennych,czy_szablon_pudelkowy_strony_zbiorczej)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} - jak w: {{LinkPatrz|czy_szablon_pudelkowy_strony_zbiorczej}}.
=== {{Śródtytuł|__FUNKCJA_ARTYKULU}}{{Code|__FUNKCJA_ARTYKULU}} ===
Funkcja do tworzenia tabeli artykułów z innymi parametrami wielowymiarowej tej tabeli, a jeżeli owe pośrednie, i nie tylko, istnieją, to te tabele są zwracane lub nowo są tworzone.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji {{ZobaczTeż|parametry artykułu}}:
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}},
* {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu}} - nazwa artykułu w książce, bez pełnej nazwy książki.
Poniżej są tworzone podtabele puste, jeśli nie zostały utworzone.
Funkcja, która w tabeli: {{Code|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}} {{Patrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, która istnieje, tworzy tabele trójwymiarową kolejno po prarametrach: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, te tabele pośrednie śą wtedy tworzone, jeśsli nie istnieją, a gdy istnieją to nie są tworzone, tylko funkcja przechodzi do dalszych.
Dalej tworzona jest podtabela, jeśli nie istnieje o nazwie {{Code|lista_podstron_woluminu}} {{Patrz|lista_podstron_woluminu}}.
Następnie generowana jest podtabela, jeśli nie istnieje, o kluczu: {{LinkPatrz|nazwa_artykulu}}.
Funkcja zwraca kolejno elementy, jeśli klucz: {{LinkPatrz|nazwa_artykulu}}, istnieje, zatem:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany;
</syntaxhighlight>
Przeciwnie zwracany jest zbiór zmiennych po kolei:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki;
</syntaxhighlight>
Co to są za zmienne, wiadomo z ich nazw, po prostu są to pewne pośrednie, i nie tylko, tabele.
=== {{Śródtytuł|__FUNKCJA_POBIERANIE}}{{Code|__FUNKCJA_POBIERANIE}} ===
Funkcja zwraca parametry strony aktualnej, analizowanej jeszcze raz, aby ją nie powtórnie rewidować, lub podobnie dla innego artykułu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_POBIERANIE(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji są takie same jak w punkcie {{LinkZobaczTeż|parametry artykułu}}.
{{Tab}}Analiza dla artykułów niekorzystanych według parametru: {{LinkPatrz|czy_artykul_korzystany}}:
Dla jeszcze raz analizowanego artykułui aktualnego zwracane są parametry:
<syntaxhighlight lang="lua">
return 0,nil,nil,nil,nil,nil,self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron,false;
</syntaxhighlight>
Tabela: {{Code|self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron}}, tam są dane zebrane z aktualnego artykułu.
Dla innej takiej strony jest tworzony parametr, jeżeli jest włączona analiza, dla klucza: {{Code|analiza_spis_tresci}} {{Patrz|analiza_spis_tresci}}, według tego jest tworzony wartością prawdziwą parametr o innym znów kluczu: {{Code|analiza_spis_tresci_doloczone}} {{Patrz|analiza_spis_tresci_doloczone}}:
<syntaxhighlight lang="lua">
if(self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci)then
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=true;
end;
</syntaxhighlight>
Dla elementu: {{LinkPatrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, jeżeli dany artykuł był już rewidowany, to zwracane są elementy:
<syntaxhighlight lang="lua">
return 0,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni,dane_zebrane_ze_stron,true;
</syntaxhighlight>
To: {{Code|dane_zebrane_ze_stron}} {{Patrz|dane_zebrane_ze_stron}}, to podtabela: {{LinkPatrz|lista_podstron_woluminu}}, z kluczem: {{LinkPatrz|nazwa_artykulu}}, o nazwie takiej samej jak ten parametr zwracany.
Przeciwnie jest zwracane: {{Code|true}}, lub {{Code|nil}}, jeśli tabela: {{Code|self.tabela_listy_danych_analizy_ksiazki}} {{Patrz|self.tabela_listy_danych_analizy_ksiazki}}, lub podtatela: {{LinkPatrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, nie istnieje.
=== {{Śródtytuł|InneInformacjePrzebneDoAnalizowanejKsiazki}}{{Code|InneInformacjePrzebneDoAnalizowanejKsiazki}} ===
Funkcja do zbierania informacji o spisie artykułów książkowych i ich licencjach orazz ewentualnie zebrane informacje ze stron: {{lk2|Szablony nawigacyjne układu autonawigacji do autonawigacji podręczników}}, z szablonu, w któreś tej pozycji w: {{s|Układ autonawigacji}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function InneInformacjePrzebneDoAnalizowanejKsiazki()...end;
</syntaxhighlight>
Parametry funkcji:
* brak.
==== {{Śródtytuł|__FUNKCJA_SPISU}}{{Code|__FUNKCJA_SPISU}} ====
==== Dalszy opis funkcji ====
=== {{Śródtytuł|PrzekierownieAwaryjne}}{{Code|PrzekierownieAwaryjne}} ===
=== {{Śródtytuł|StronaZbiorcza}}{{Code|StronaZbiorcza}} ===
=== {{Śródtytuł|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}}{{Code|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}} ===
=== {{Śródtytuł|GeneralnaAnalizaSzablonuStronicowegoParsera}}{{Code|GeneralnaAnalizaSzablonuStronicowegoParsera}} ===
=== {{Śródtytuł|IterowaniePoElementachTekstu}}{{Code|IterowaniePoElementachTekstu}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieNaglowek}}{{Code|KtorySzablonMaZwracacKategorieNaglowek}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieTekst}}{{Code|KtorySzablonMaZwracacKategorieTekst}} ===
=== {{Śródtytuł|CzyJestTakiProblemJakoElementTablicy}}{{Code|CzyJestTakiProblemJakoElementTablicy}} ===
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
kpn50mo0wjyklvhwpzmn4w8z3mu43s4
547244
547243
2026-06-29T15:33:47Z
Persino
2851
/* {{Śródtytuł|InneInformacjePrzebneDoAnalizowanejKsiazki}}{{Code|InneInformacjePrzebneDoAnalizowanejKsiazki}} */
547244
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/ZbieranieDanychStron}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== Zbieranie informacji o uchwycie ==
=== {{Śródtytuł|p.UchwytyZeiBezNumeracji}}{{Code|p.UchwytyZeiBezNumeracji}} ===
Funkcja zbiera uchwyty, dla obiektów {{ZobaczTeż|p.UchwytyZeiBezNumeracji}}, bez numeracji, nie licząc obiektów tekst takich jak {{s|Śródtekst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UchwytyZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,lista_dwuelementowa,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} {{Patrz|self}} - zmiennna obiektowa modułu {{Code|{{ld2|StronicowyParser/ZbieranieDanychStron}}}} {{Patrz|StronicowyParser/ZbieranieDanychStron}},
* {{Code|tabela_elementow_strony_kodow}} {{Patrz|tabela_elementow_strony_kodow}} - zmienna zbierająca takie kody jak {{LinkZobaczTeż|p.UchwytyZeiBezNumeracji}},
* {{Code|nazwa_obiektu}} {{Patrz|nazwa obiektu}} - nazwa obiektu,
* {{Code|lista_dwuelementowa}} {{Patrz|lista_dwuelementowa}} - pozycja w normalnej tabeli uchwytów i przeważnie ich numeracji, a tutaj dla tego obiektu,
* {{Code|kod}} {{Patrz|kod}} - numer kodu dla tego obiektu.
Funkcja zbiera elementy {{LinkPatrz|lista_dwuelementowa}} w tablicy wielowymiarowej o pierwszym elemencie wymiaru {{LinkPatrz|nazwa obiektu}} i trzecim {{LinkPatrz|kod}}, oraz o drugim {{Code|uchwyty_bez_numeracji}} {{Patrz|uchwyty_bez_numeracji}}.
=== {{Śródtytuł|p.WydobywanieUchwytuZeiBezNumeracji}}{{Code|p.WydobywanieUchwytuZeiBezNumeracji}} ===
Funkcja wydowywa tablicę uchwytu dla pozycji, ale nie sam uchwyt, dla podtablicy {{LinkPatrz|uchwyty_bez_numeracji}} o danym kodzie {{LinkPatrz|kod}}, dla nazwy obiektu {{LinkPatrz|nazwa_obiektu}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.WydobywanieUchwytuZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_elementow_strony_kodow}} - jak w: {{LinkPatrz|tabela_elementow_strony_kodow}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}}.
Funkcja wykorzystuje elementy tablicy: {{LinkPatrz|uchwyty_bez_numeracji}}, wstawione przez funkcję: {{LinkŚródtytuł|p.UchwytyZeiBezNumeracji}}.
=== {{Śródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}{{Code|p.RozpatrywanieElementuUchwytuNumeracji}} ===
Funkcja wsadzająca utworzoną tablicę z podanym uchwytem do ogólnej tablicy pozycji nazwanych tabel z uchwytami o danej pozycji z nim.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|kod_uchwytu}} {{Patrz|kod_uchwytu}} - kod uchwytu podanego do szablonu stronicowego z odpowiednim uchwytem,
* {{Code|tab_numer}} {{Patrz|tab_numer}} - tablica z numerkami ilości elementów w tablicy parametrów nazwanych z uchwytami, w danym elemencie analizowania strony z uchwytami i obiektami,
* {{Code|tablica_zmiennych}} {{Patrz|tablica_zmiennych}} - tablica analizowania obiektów, danej strony,
* {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} {{Patrz|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - kolejno: nazwa przestrzeni nazw, nazwa przestrzeni książki, nazwa książki i nazwa artykułu książki,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} {{Patrz|czy_artykul_korzystany}} - czy artykuł aktualny wyświetlany w przeglądarce,
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} {{Patrz|nazwa_modulu_aktualna_czy_biezaca}} - nazwa artykułu aktualna lub bieżąca,
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{Patrz|tablica_analizy_obiektow_strony_dany_modul}} - tablica bazy kodów parsowania strony,
* {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - tablica analizy poszczególnych elementów kodów, do szybszego działania skryptu,
* {{Code|KtorySzablonMaZwracacKategorie}} {{Patrz|KtorySzablonMaZwracacKategorie}} - tablica zbierająca odkodowany i rozwinięty uchwyt, do analizowania w nim zebranych kategorii, według modułu: {{Code|{{ld2|StronicowyParser/Kategorie}}}}, uruchamiana w szablonach stronicowych z funkcjami '''stronicowego parsera'''.
Funkcja rozwija {{LinkPatrz|kod_uchwytu}} funkcją {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a potem je odkodowuje przy pomocy: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a jeżeli ona nie jest pusta, to dla tego jest uruchamiana funkcja {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Tworzona jest tablica {{Code|lista_dwuelementowa}} {{LinkPatrz|lista_dwuelementowa}} z uchwytem, jako pierwszy parametr.
Jest sprawdzane, czy element {{Code|tablica_zmiennych.sprawdzenie_dokonane_obiektu}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, jest fałszywy, jeżeli tak, to dalej jest sprawdzane, czy są elementy numerowane nazwanej tablicy: {{Code|tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2}} o nazwie {{LinkPatrz|nazwa_obiektu}}, a jeżeli jest pusta - na samym końcu jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, czyli jest inicjowana na wartość {{Code|true}}, to dalej jest sprawdzane, czy dla elementów: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy dana książka jest poza zakresem obsługiwanym, czyli rewidowane jest, czy jest ustawiony kod problemu {{Code|strony poza zakresem obsługiwanym}}, czy a jeżeli jednak nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}, ustawiające pewne elementy błędu, jeżeli trzeba to zrobić.
Gdy tabela {{LinkPatrz|tab_numer}} odpowiada nienilowej tablicy, wtedy element {{LinkPatrz|lista_dwuelementowa}} jest wstawiany na odpowiedniej pozycji, ale przeważnie nie na końcu, przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=table.insert|b=tak}}}}, dzięki określonej tabeli {{LinkPatrz|tab_numer}}, przeciwnie na jej końcu.
Funkcja zwraca element {{LinkPatrz|lista_dwuelementowa}}.
=== {{Śródtytuł|p.RozpatrywanieSzablonuObiektuDoNumeracji}}{{Code|p.RozpatrywanieSzablonuObiektuDoNumeracji}} ===
Funkcja, która uruchamia funkcję: {{LinkŚródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}, dla istniejącego uchwytu w postaci nazwanej o kluczu: {{Code|uchwyt}} {{Patrz|uchwyt}}, lub nienazwanej - w postaci numeru jego uchwytu o kluczu: {{Code|numer_numeracji}} {{Patrz|numer_numeracji}}, wsadzająca tabele z uchwytem na odpowiednią pozycję w odpowiedniej nazwanej tabeli o nazwie obiektu {{LinkPatrz|nazwa_obiektu}} w ogólnej tabeli: {{LinkPatrz|tablica_zmiennych}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}}- tabela parametrów szablonu,
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|numer_numeracji}} - jak w: {{LinkPatrz|numer_numeracji}},
* {{Code|tab_numer}} - jak w: {{LinkPatrz|tab_numer}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
== {{Śródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}{{Code|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}} ==
Funkcja sprawdza, czy dany artykuł należy do artykułów, któregoś spisu treści, a jeżeli nie, to dla stron, które nie należą do kategorii z ustawionym problemem {{Code|strony poza zakresem obsługiwanym}}, ale do nieaktualnej strony jest ustawiony problem {{Code|brak spisów treści do dołączonych stron}}. Natomiast dla aktualnej dla stron tej samej kategorii ustawiany jest problem {{Code|brak spisu treści do korzystanych stron}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== {{Śródtytuł|p.PusteParametryReferencji}}{{Code|p.PusteParametryReferencji}} ==
Funkcja sprawdza, jeśli są podane parametry szablonu stronicowego, które są w kategorii: {{lk|Szablony stronicowe}}, czyli: {{Code|nazwa_artykulu}}, ewentualnie: {{Code|nazwa_ksiazki}}, ale zawsze z: {{Code|uchwyt_obiektu}}, czy są one puste.
A jeżeli one istnieją i są takie, to są ustawione problemy typu, jeśli ich wcześniej nie ustawiono:
* {{Code|puste parametry szablonów stronicowych linkujących}} {{Patrz|puste parametry szablonów stronicowych linkujących}}, kolejno dla: {{Code|uchwyt_obiektu}}, {{Code|nazwa_artykulu}} i {{Code|nazwa_ksiazki}}, kolejno z numerami problemów: {{Code|1}}, {{Code|2}} i {{Code|3}}.
Dla obiektu o nazwie {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}.
{{Hr}}
Definicja skrótowa funkcji
<syntaxhighlight lang="lua">
function p.PusteParametryReferencji(self, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu)...end;
</syntaxhighlight>
Paraametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} {{Patrz|uchwyt_obiektu}} - uchwyt obiektu, podane w danym szablonie stronicowym,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}}.
== {{Śródtytuł|p.SzablonyReferencjiParametrowych}}{{Code|p.SzablonyReferencjiParametrowych}} ==
Funkcja z parametrów pudełkowych nazwy artykułu {{ZobaczTeż|nazwa artykułu}}: {{Code|nazwa artykułu}} {{Patrz|nazwa artykułu}} albo {{Code|1}}, gdy bezuchwytowe lub {{Code|2}}, i pełnej nazwy książki {{ZobaczTeż|pełna nazwa strony}}: {{Code|nazwa książki}} {{Patrz|nazwa książki}} albo, {{Code|2}}, gdy bezuchwytowe lub {{Code|3}}. To wszystko jest liczone z: {{LinkPatrz|tabela_parametrow_szablonu}} lub przy użyciu parametru również {{Code|bezuchwytowe}} {{Patrz|bezuchwytowe}}, gdy mamy szablon stronicowy {{lk|Szablony stronicowe}}, bezuchwytowy, wtedy {{Code|true}}, przeciwnie {{Code|false/nil}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca,bezuchwytowe)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{Code|bezuchwytowe}} - jak w: {{LinkPatrz|bezuchwytowe}}.
Funkcja obie nazwy dekoduje funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a później jest liczony adres bezwzględny z względnego dzięki: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, przy pomocy podstawy {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}}, podobnie ale wcześniej jest liczona nazwa artykułu {{linkZobaczTeż|nazwa artykułu}}, czyli: {{LinkPatrz|nazwa_artykulu}}, ale tutaj adres względny jest liczony z podstawy o ciągu pustym jako drugi parametr.
Na podstawie pełnej nazwy książki {{LinkZobaczTeż|pełna nazwa strony}}: jest liczona bardziej jej wersja pełniejsza, jeżeli to jest w ogóle możliwe z: {{Code|{{sr|#p["PełnaNazwaStronicowejKsiążki"]|p=Książkowe}}}}. A póżniej z tego wszystkiego są liczone nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, przy pomocy funkcji nazw: {{Code|{{ld2|Nazwy}}}}.
Na samym końcu funkcji są zwracane parametry nazw, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== Funkcje zbierania informacji ==
=== {{Śródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}{{Code|p.ZbieranieInformacjiStronyWoluminowychPozycji}} ===
Funkcja zbierania informacji na stronie dla szablonów stronicowych: {{lk|Szablony stronicowe}}, bezuchwytowych, gdy nie jest uruchomiony parametr: {{Code|czy_inna_wartosc_tekst}} {{Patrz|czy_inna_wartosc_tekst}}, wtedy jest wywoływana funkcja: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}, która liczy kolejne nazwy charaktertyzujące nazwy dla danego artykułu książki dla danej strony, przeciwnie parametry nazw są ściagane z: {{Code|tab_nazwy}} {{Patrz|tab_nazwy}}, ta tabela składa się numerowanych elementów, którymi są nazwy charakyteryzujące stronę.
Gdy jakaś nazwa artylułu strony została policzona, wtedy są liczone pozostałe nazwy z: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, a na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, a tuż przed nim, jeśli istnieje: {{Code|KtorySzablonMaZwracacKategorie}} {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,KtorySzablonMaZwracacKategorie,czy_inna_wartosc_tekst,tab_nazwy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_inna_wartosc_tekst}} - jak w: {{LinkPatrz|czy_inna_wartosc_tekst}},
* {{Code|tab_nazwy}} - jak w: {{LinkPatrz|tab_nazwy}}.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacji}}{{Code|p.ZbieranieKontenerowychInformacji}} ===
Funkcja do zbierania informacji, która z parametrów pudełkowych: {{Code|{{m|Pudełko}}}}, czyli: {{Code|nazwa przestrzeni nazw}} {{Patrz|nazwa przestrzeni nazw}} i {{Code|nazwa jednostki}} {{Patrz|nazwa jednostki}}, z nich są liczone parametry nazw charakteryzujące artykuł książki strony. A na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} {{Patrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,czy_szablon_pudelkowy_strony_zbiorczej,KtorySzablonMaZwracacKategorie)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} {{Patrz|czy_szablon_pudelkowy_strony_zbiorczej}} - funkcja potrzebna do funkcji zbierającej {{LinkPatrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, określającej, czy mamy szablon pudełkowy strony zbiorczej, taki jak: {{Code|{{s|StronaSubst}}}}, czy: {{Code|{{s|KsiążkaSubst}}}}, zobacz stronę: {{Code|{{lr2|Moduły/StronicowyParser/StronaSubst}}}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Gdy nie ma parametrów pudełkowych funkcja się natychmiast zakańcza, lub parametr: {{LinkPatrz|nazwa jednostki}}, jest pusta, lub nawet gdy zawierają kody wykrywane przez funkcję: {{Code|{{sr|#p.NormaWzoruKodowaniaTekstu|p=Szablonowe}}}}.
Z nazwy jednostki jest wydzielana nazwa jednostki właściwa bez nazwy nagłówka, póżniej obie nazwy są też dekodowane funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, czyli wszystko z: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}.
Z tych dwóch nazwy jest liczony adres, ewentualnie względny, który za pomocą funkcji: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, jest wyliczany adres bezwzględny.
Dalej są liczone nazwy charakteryzujące artykuł danej książki strony, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, z tego adresu strony.
Przedostatnia funkcja, która jest uruchamiana przed funkcją zbierającą jest: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}, jeśli istnieje.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacjiReferencji}}{{Code|p.ZbieranieKontenerowychInformacjiReferencji}} ===
Funkcja zbiera informacje o stronie. Na podstawie informacji o nazwie artykułu i pełnej nazwy książki liczy parametry nazw charakteryzujące artykuł, co na tej podstawiwe liczy parametry pudełkowe i wywołuje funkcję główną przez inną funkcję, też zbierającą, i zbiera informacje o artykule.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacjiReferencji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, jako parametry zwracane przez funkcję: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}. Funkcja wyznacza parametry pudełkowe {{m|Pudełko}}, tzn.: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}, na podstawie tych nazw. Funkcja na samym końcu wywołuje funkcję zbierającą dane ze strony: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}, która z kolei uruchamia potem: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
== {{Śródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}{{Code|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}} ==
Funkcja sprawdza niepoprawność nazwy strony i na podstawie tego ustawia pewne kody problemów.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,__FUNKCJA_SPRAWDZANIE)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|__FUNKCJA_SPRAWDZANIE}} {{Patrz|__FUNKCJA_SPRAWDZANIE}} - funkcja uruchamiana, jeśli jest ustawiona, na wypadek poprawności strony.
W przypadku niepoprawności strony, gdy strona modułu jest aktualna (bieżąca), wtedy sprawdzany jest kod problemu, czy jest ustawiony, tzn.: {{Code|nieprawidłowe nazwy korzystanych stron}}, przy pomocy funkcji: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli nie ma takiego, to wtedy jest uruchamiana funkcja: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}. Podobnie jest dla niekorzystanej strony, wtedy jest problem dla kodu: {{Code|nieprawidłowe nazwy stron dołączanych do stron}}.
== Zbieranie informacji o linkach ==
=== {{Śródtytuł|p.LinkowanieFinalizowaniePrac}}{{Code|p.LinkowanieFinalizowaniePrac}} ===
Funkcja wadza uchwyt obiektu, wsazujący na aktualną stronę, do pewnej strony, i ewentualnie ustawia pewne problemy, jeśli je nie ustawiono.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} {{Patrz|obiekt}} - obiekt, obsługiwany przez tą funkcję linku,
* {{Code|kod}} {{LinkPatrz|kod}} - kod obiektu dla: {{LinkPatrz|obiekt}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} - jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}},
* {{Code|czy_pobierz}} {{Patrz|czy_pobierz}} - czy to jest szablon typu {{Code|Pobierz}} {{Patrz|Pobierz}}, jak: {{s|PobierzŚródtekst}}.
Funkcja sprawdza, czy nie został ustawiony element {{Code|tablica_zmiennych.sprawdzenie_dokonane_linku}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}, a jeżeli tak, to dalej, czy nie ma elementów numerowanych przy pomocy funkcji: {{Code|{{sr|#p["CzySąElementyNumerowaneTablicy"]|p=Parametry}}}}, a jeśli również tak, to dalej jest sprawdzane, czy został ustawiony problem: {{Code|strony poza zakresem obsługiwanym}}, przy pomocy: {{Code|{{sr|#p.CzyJestTakiElementTabeliProblemu|p=StronicowyParser/Problemy}}}}, a jeżeli nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}. Na samym końcu tej instrukcji warunkowej jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}.
Dalej pod tą instrukcją warunkową, jest robione, co powiedziane zostało w prologu tego opisu tej funkcji, tzn. z wyznaczonej tablicy ze: {{LinkPatrz|tablica_zmiennych}}, a dalej z wyznaczonej następnej podtabeli o kluczu: {{LinkPatrz|nazwa_obiektu}}.
Następnie, gdy element: {{LinkPatrz|czy_pobierz}}, jest ustawiony na {{Code|true}}, wtedy dla {{LinkPatrz|uchwyt_obiektu}}, pewna tablica, jest wstawiana do tablicy: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}}, jeśli istnieje, a jeśli nie, to jest tworzona, jako tablica, wtedy też jest to robione. Tą czynnością wstawiany tabelę, do tej tablicy, czyli:
<syntaxhighlight lang="lua">
{{nazwa_obiektu,uchwyt_obiektu,},{obiekt,kod,},}
</syntaxhighlight>
=== {{Śródtytuł|p.LinkowanieInnychStron}}{{Code|p.LinkowanieInnychStron}} ===
Funkcja do sprawdzania innych stron niż aktualna, a jeżeli dana strona została już sprawdzona, to powtórnie nie jest już rewidowana. Funkcja ustawia w głównej tablicy aktualnej tabeli {{LinkPatrz|tablica_zmiennych}} pewne podtablice.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieInnychStron(self,obiekt,kod,tablica_zmiennych, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejo jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Najpierw jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, która w razie poprawności nazwy strony, czyli inaczej nazw tej strony, tzn.: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, uruchamia funkcję zdefiniowaną w nim.
{{Tab}}Ta funkcja sprawdza, czy któraś z parametrów nazw istnieje, a jeżeli nie, to dalej jest inicjowana zmienna: {{Code|tablica_zmiennych2}} {{Patrz|tablica_zmiennych2}} pustą tablicą i podobnie {{Code|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}} {{Patrz|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}}, to uruchamiana jest: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, do zbierania informacji o stronie nowej lub przebadanej (wtedy zostają zwrócone parametry z wczęsniejszego jego analizowania, jak była nowa). Funkcja zwraca trzy parametry, tzn. {{Code|tabela_listy_danych_analizy_ksiazki0}} {{Patrz|tabela_listy_danych_analizy_ksiazki0}}, {{LinkPatrz|tablica_zmiennych2}} i {{Code|czy_inna}} {{Patrz|czy_inna}}. Te parametry mogą przyjmować wartość {{Code|nil}}, lub pierwszy {{Code|0}}, drugi, to nic innego jest jak: {{LinkPatrz|tablica_zmiennych2}}, a trzeci parametr jest wtedy równy {{Code|true}}, gdy strona jest nowa, a {{Code|false}} aktualna, a gdy {{Code|nil}}, gdy np. zawartość strony nie istnieje.
Gdy parametr: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, istnieje, wtedy jest spraqdzane, czy któreś z parametrów: {{LinkPatrz|tablica_zmiennych2}} i {{LinkPatrz|czy_inna}}, nie istsnieje, wtedy ta funkcja się zakańcza.
==== {{Śródtytuł|JuzPoliczone}}{{Code|JuzPoliczone}} ====
Dla obiektów, dla których jest ustawiony parametr: {{LinkPatrz|czy_pobierz}}, co dalej w tym rozgałęzieniu instrukcji warunkiwej jest uruchamiana funkcja szablonów tekstu, czyli: {{Code|{{sr|#p.UstawianiePobierz|p=StronicowyParser/SzablonyTekstu}}}}, aby również później za pomocą innych funkcji przeanalizować również tekst w szablonach takich jak: {{s|Śródtekst}}.
Dalej jest tworzona tablica, jeśli nie istnieje, tzn. {{Code|tablica_zmiennych2.dane_juz_policzone}} {{Patrz|tablica_zmiennych2.dane_juz_policzone}}, czyli jest inicjowana pustą tablicą. Dalej jest tworzona, jeśli nie istnieje, tablica wielowymiarowa po kolei, o kluczach kolejno: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}, {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu}}, a jeżeli ta ostatnia wartość tej tablicy była wcześniej, to zwracane jest {{Code|true}}, przeciwnie {{Code|false}}, a tej ostatniej wartości tej tablicy jest przydzielana wartość {{Code|true}}.
==== Dalszy opis funkcji ====
Gdy parametr: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest równy {{Code|0}}, ale nie {{Code|nil}}, wtedy jest sprawdzane, czy artykuł został wcześniej zrewidowany według: {{LinkŚródtytuł|JuzPoliczone}}, a jeżeli tak to jest zakańczany, a gdy ten parametr taakiej wartośsci nie przyjmuje, wtedy tylko jest uruchamiana funkcja bez żadnego warunku.
{{Tab}}Następnie jest uruchamiana funkcja: {{Code|{{sr|#p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony|p=StronicowyParser/SzablonyTekstu}}}}, do przydzielenia pewnych zmiennych z {{LinkPatrz|tablica_zmiennych2}} tablicy {{LinkPatrz|tablica_zmiennych}}.
{{Tab}}Jest sprawdzane, czy dany artykuł należy do spisu, jeżeli nie to są ustawiane pewne kody problemów w tablicy problemów, tzn. {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}.
Dalej jest sprawdzane, czy podany uchwyt {{LinkPatrz|uchwyt_obiektu}}, który jest podany w szablonach linków na aktualnej stronie, czy jest tylko jeden na stronie sprawdzanej, a jeżeli nie jest tak, to jest sprawdzane, czy nie istnieje ustawiony problem: {{Code|błędy uchwytów korzystanych stron}}, funkcją: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to taki problem jest dodawany dzięki: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
{{Tab}}Uruchamiana jest dalej funkcja: {{LinkŚródtytuł|p.PusteParametryReferencji}}, do sprawdzania pustości pewnych parametrów.
{{Tab}}Gdy tabela: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest jednak równa wartości odpowiadającej fałszywej, wtedy jeśli nie istnieje problem: {{Code|błąd wewnętrzny modułu lua stronicowego parsera}}, co jest rewidowane elementem: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to dodawany jest taki problem do tabeli problemów na podstawie: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
=== {{Śródtytuł|p.GeneralneLinkowanie}}{{Code|p.GeneralneLinkowanie}} ===
Funkcja zbiera uchwyty, na aktualnej lub innej stronie, a także je analizuje w odpowiedni sposób, modyfikuje tablica aktualnego modułu, czyli: {{LinkPatrz|tablica_zmiennych}}, na podstawie poszczególnych artykułów tej książki lub innej, która zbiera raz informacje o danej stronie.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Funkcja wyznacza uchwyt z tabeli parametrów: {{LinkPatrz|tabela_parametrow_szablonu}}, o kluczu {{Code|uchwyt}} {{LinkPatrz|uchwyt}} lub {{Code|1}}, a później w kodzie jest on kompletowany funkcją: {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a następnie rozwijany w niej, a później jest dekodowany: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}.
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, wywołujac: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}.
Na samym końcu jest uruchamiana: {{LinkPatrz|KtorySzablonMaZwracacKategorie}} z parametrem o tym uchwycie, wyliczonym wcześniej.
Gdy uchwyt istnieje, ale jest pusty, wtedy uruchamia się: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, następnie: {{LinkŚródtytuł|p.PusteParametryReferencji}}, a jeśli ta wartość nie istnieje, wtedy tylko ta ostatnia funkcja.
Gdy uchwyt: {{LinkPatrz|uchwyt}}, istnieje i jest niepusty, wtedy jest wyznaczana nazwa artykułu z niej samej, lub jeśli nazwa ksiązki istnieje, tylko, wtedy ta nazwa zaczyna być pusta, przeciwnie {{Code|nil}}, wtedy mamy do czynienia ze stroną główną podręcznika.
Gdy nazwa artykułu nie istnieje, wtedy wywoływana jest: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Jeśli nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest niepusta, i gdy nazwa książki nie istnieje, wtedy są liczone parametry nazw, oprócz nazwy artykułu, bo jest policzona, więc te {{ZobaczTeż|nazwy}}: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, z parametrów charakteryzujących nazwę aktualnego artykułu, a jeśli jednak nazwa książki jest pusta, to są sprawdzane parametry w: {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Gdy nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest nieistnieje, i gdy nazwa książki {{LinkPatrz|nazwa_ksiazki}} jest niepusta, wtedy nazwa artykułu zaczyna istnieć i inicjujemy wtedy ją wartością pustą, a jeśli pusta, za zaczyna być potem generowanie kodów błędów funkcją {{LinkŚródtytuł|p.PusteParametryReferencji}}, by potem się zakończyła ta funkcja.
Przeciwnie są liczone parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, tą samą metodą, co w punkcie: {{LinkZobaczTeż|nazwy}}.
Gdy nazwy {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}} są porównywane z nazwami, którymi się przypisje jak w: {{LinkZobaczTeż|nazwy}}, wtedy uruchamiamy funkcję: {{LinkŚródtytuł|p.LinkowanieInnychStron}}, przeciwnie wtedy działają dwie funkcje uruchomione po kolei, tzn.: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
== {{Śródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}{{Code|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} ==
Funkcja służy do zbierania informacji o danej analizowanej stronie, którego główną częścią jest strona korzystana, w której gromadzą się informacji też z pozostałych.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, czy_artykul_korzystany,tablica_zmiennych,czy_szablon_pudelkowy_strony_zbiorczej)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} - jak w: {{LinkPatrz|czy_szablon_pudelkowy_strony_zbiorczej}}.
=== {{Śródtytuł|__FUNKCJA_ARTYKULU}}{{Code|__FUNKCJA_ARTYKULU}} ===
Funkcja do tworzenia tabeli artykułów z innymi parametrami wielowymiarowej tej tabeli, a jeżeli owe pośrednie, i nie tylko, istnieją, to te tabele są zwracane lub nowo są tworzone.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji {{ZobaczTeż|parametry artykułu}}:
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}},
* {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu}} - nazwa artykułu w książce, bez pełnej nazwy książki.
Poniżej są tworzone podtabele puste, jeśli nie zostały utworzone.
Funkcja, która w tabeli: {{Code|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}} {{Patrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, która istnieje, tworzy tabele trójwymiarową kolejno po prarametrach: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, te tabele pośrednie śą wtedy tworzone, jeśsli nie istnieją, a gdy istnieją to nie są tworzone, tylko funkcja przechodzi do dalszych.
Dalej tworzona jest podtabela, jeśli nie istnieje o nazwie {{Code|lista_podstron_woluminu}} {{Patrz|lista_podstron_woluminu}}.
Następnie generowana jest podtabela, jeśli nie istnieje, o kluczu: {{LinkPatrz|nazwa_artykulu}}.
Funkcja zwraca kolejno elementy, jeśli klucz: {{LinkPatrz|nazwa_artykulu}}, istnieje, zatem:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany;
</syntaxhighlight>
Przeciwnie zwracany jest zbiór zmiennych po kolei:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki;
</syntaxhighlight>
Co to są za zmienne, wiadomo z ich nazw, po prostu są to pewne pośrednie, i nie tylko, tabele.
=== {{Śródtytuł|__FUNKCJA_POBIERANIE}}{{Code|__FUNKCJA_POBIERANIE}} ===
Funkcja zwraca parametry strony aktualnej, analizowanej jeszcze raz, aby ją nie powtórnie rewidować, lub podobnie dla innego artykułu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_POBIERANIE(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji są takie same jak w punkcie {{LinkZobaczTeż|parametry artykułu}}.
{{Tab}}Analiza dla artykułów niekorzystanych według parametru: {{LinkPatrz|czy_artykul_korzystany}}:
Dla jeszcze raz analizowanego artykułui aktualnego zwracane są parametry:
<syntaxhighlight lang="lua">
return 0,nil,nil,nil,nil,nil,self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron,false;
</syntaxhighlight>
Tabela: {{Code|self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron}}, tam są dane zebrane z aktualnego artykułu.
Dla innej takiej strony jest tworzony parametr, jeżeli jest włączona analiza, dla klucza: {{Code|analiza_spis_tresci}} {{Patrz|analiza_spis_tresci}}, według tego jest tworzony wartością prawdziwą parametr o innym znów kluczu: {{Code|analiza_spis_tresci_doloczone}} {{Patrz|analiza_spis_tresci_doloczone}}:
<syntaxhighlight lang="lua">
if(self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci)then
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=true;
end;
</syntaxhighlight>
Dla elementu: {{LinkPatrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, jeżeli dany artykuł był już rewidowany, to zwracane są elementy:
<syntaxhighlight lang="lua">
return 0,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni,dane_zebrane_ze_stron,true;
</syntaxhighlight>
To: {{Code|dane_zebrane_ze_stron}} {{Patrz|dane_zebrane_ze_stron}}, to podtabela: {{LinkPatrz|lista_podstron_woluminu}}, z kluczem: {{LinkPatrz|nazwa_artykulu}}, o nazwie takiej samej jak ten parametr zwracany.
Przeciwnie jest zwracane: {{Code|true}}, lub {{Code|nil}}, jeśli tabela: {{Code|self.tabela_listy_danych_analizy_ksiazki}} {{Patrz|self.tabela_listy_danych_analizy_ksiazki}}, lub podtatela: {{LinkPatrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, nie istnieje.
=== {{Śródtytuł|InneInformacjePrzebneDoAnalizowanejKsiazki}}{{Code|InneInformacjePrzebneDoAnalizowanejKsiazki}} ===
Funkcja do zbierania informacji o spisie artykułów książkowych i ich licencjach oraz ewentualnie zebrane informacje ze stron: {{lk2|Szablony nawigacyjne układu autonawigacji do autonawigacji podręczników}}, z szablonu, w któreś tej pozycji w: {{s|Układ autonawigacji}}, i ze spisów podanej w niej jako parametry.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function InneInformacjePrzebneDoAnalizowanejKsiazki()...end;
</syntaxhighlight>
Parametry funkcji:
* brak.
==== {{Śródtytuł|__FUNKCJA_SPISU}}{{Code|__FUNKCJA_SPISU}} ====
==== Dalszy opis funkcji ====
=== {{Śródtytuł|PrzekierownieAwaryjne}}{{Code|PrzekierownieAwaryjne}} ===
=== {{Śródtytuł|StronaZbiorcza}}{{Code|StronaZbiorcza}} ===
=== {{Śródtytuł|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}}{{Code|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}} ===
=== {{Śródtytuł|GeneralnaAnalizaSzablonuStronicowegoParsera}}{{Code|GeneralnaAnalizaSzablonuStronicowegoParsera}} ===
=== {{Śródtytuł|IterowaniePoElementachTekstu}}{{Code|IterowaniePoElementachTekstu}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieNaglowek}}{{Code|KtorySzablonMaZwracacKategorieNaglowek}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieTekst}}{{Code|KtorySzablonMaZwracacKategorieTekst}} ===
=== {{Śródtytuł|CzyJestTakiProblemJakoElementTablicy}}{{Code|CzyJestTakiProblemJakoElementTablicy}} ===
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
tc8hum3ucsyknzmzp5pla0rfemeknvq
547245
547244
2026-06-29T15:51:06Z
Persino
2851
/* {{Śródtytuł|__FUNKCJA_SPISU}}{{Code|__FUNKCJA_SPISU}} */
547245
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/ZbieranieDanychStron}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== Zbieranie informacji o uchwycie ==
=== {{Śródtytuł|p.UchwytyZeiBezNumeracji}}{{Code|p.UchwytyZeiBezNumeracji}} ===
Funkcja zbiera uchwyty, dla obiektów {{ZobaczTeż|p.UchwytyZeiBezNumeracji}}, bez numeracji, nie licząc obiektów tekst takich jak {{s|Śródtekst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UchwytyZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,lista_dwuelementowa,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} {{Patrz|self}} - zmiennna obiektowa modułu {{Code|{{ld2|StronicowyParser/ZbieranieDanychStron}}}} {{Patrz|StronicowyParser/ZbieranieDanychStron}},
* {{Code|tabela_elementow_strony_kodow}} {{Patrz|tabela_elementow_strony_kodow}} - zmienna zbierająca takie kody jak {{LinkZobaczTeż|p.UchwytyZeiBezNumeracji}},
* {{Code|nazwa_obiektu}} {{Patrz|nazwa obiektu}} - nazwa obiektu,
* {{Code|lista_dwuelementowa}} {{Patrz|lista_dwuelementowa}} - pozycja w normalnej tabeli uchwytów i przeważnie ich numeracji, a tutaj dla tego obiektu,
* {{Code|kod}} {{Patrz|kod}} - numer kodu dla tego obiektu.
Funkcja zbiera elementy {{LinkPatrz|lista_dwuelementowa}} w tablicy wielowymiarowej o pierwszym elemencie wymiaru {{LinkPatrz|nazwa obiektu}} i trzecim {{LinkPatrz|kod}}, oraz o drugim {{Code|uchwyty_bez_numeracji}} {{Patrz|uchwyty_bez_numeracji}}.
=== {{Śródtytuł|p.WydobywanieUchwytuZeiBezNumeracji}}{{Code|p.WydobywanieUchwytuZeiBezNumeracji}} ===
Funkcja wydowywa tablicę uchwytu dla pozycji, ale nie sam uchwyt, dla podtablicy {{LinkPatrz|uchwyty_bez_numeracji}} o danym kodzie {{LinkPatrz|kod}}, dla nazwy obiektu {{LinkPatrz|nazwa_obiektu}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.WydobywanieUchwytuZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_elementow_strony_kodow}} - jak w: {{LinkPatrz|tabela_elementow_strony_kodow}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}}.
Funkcja wykorzystuje elementy tablicy: {{LinkPatrz|uchwyty_bez_numeracji}}, wstawione przez funkcję: {{LinkŚródtytuł|p.UchwytyZeiBezNumeracji}}.
=== {{Śródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}{{Code|p.RozpatrywanieElementuUchwytuNumeracji}} ===
Funkcja wsadzająca utworzoną tablicę z podanym uchwytem do ogólnej tablicy pozycji nazwanych tabel z uchwytami o danej pozycji z nim.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|kod_uchwytu}} {{Patrz|kod_uchwytu}} - kod uchwytu podanego do szablonu stronicowego z odpowiednim uchwytem,
* {{Code|tab_numer}} {{Patrz|tab_numer}} - tablica z numerkami ilości elementów w tablicy parametrów nazwanych z uchwytami, w danym elemencie analizowania strony z uchwytami i obiektami,
* {{Code|tablica_zmiennych}} {{Patrz|tablica_zmiennych}} - tablica analizowania obiektów, danej strony,
* {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} {{Patrz|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - kolejno: nazwa przestrzeni nazw, nazwa przestrzeni książki, nazwa książki i nazwa artykułu książki,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} {{Patrz|czy_artykul_korzystany}} - czy artykuł aktualny wyświetlany w przeglądarce,
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} {{Patrz|nazwa_modulu_aktualna_czy_biezaca}} - nazwa artykułu aktualna lub bieżąca,
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{Patrz|tablica_analizy_obiektow_strony_dany_modul}} - tablica bazy kodów parsowania strony,
* {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - tablica analizy poszczególnych elementów kodów, do szybszego działania skryptu,
* {{Code|KtorySzablonMaZwracacKategorie}} {{Patrz|KtorySzablonMaZwracacKategorie}} - tablica zbierająca odkodowany i rozwinięty uchwyt, do analizowania w nim zebranych kategorii, według modułu: {{Code|{{ld2|StronicowyParser/Kategorie}}}}, uruchamiana w szablonach stronicowych z funkcjami '''stronicowego parsera'''.
Funkcja rozwija {{LinkPatrz|kod_uchwytu}} funkcją {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a potem je odkodowuje przy pomocy: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a jeżeli ona nie jest pusta, to dla tego jest uruchamiana funkcja {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Tworzona jest tablica {{Code|lista_dwuelementowa}} {{LinkPatrz|lista_dwuelementowa}} z uchwytem, jako pierwszy parametr.
Jest sprawdzane, czy element {{Code|tablica_zmiennych.sprawdzenie_dokonane_obiektu}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, jest fałszywy, jeżeli tak, to dalej jest sprawdzane, czy są elementy numerowane nazwanej tablicy: {{Code|tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2}} o nazwie {{LinkPatrz|nazwa_obiektu}}, a jeżeli jest pusta - na samym końcu jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, czyli jest inicjowana na wartość {{Code|true}}, to dalej jest sprawdzane, czy dla elementów: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy dana książka jest poza zakresem obsługiwanym, czyli rewidowane jest, czy jest ustawiony kod problemu {{Code|strony poza zakresem obsługiwanym}}, czy a jeżeli jednak nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}, ustawiające pewne elementy błędu, jeżeli trzeba to zrobić.
Gdy tabela {{LinkPatrz|tab_numer}} odpowiada nienilowej tablicy, wtedy element {{LinkPatrz|lista_dwuelementowa}} jest wstawiany na odpowiedniej pozycji, ale przeważnie nie na końcu, przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=table.insert|b=tak}}}}, dzięki określonej tabeli {{LinkPatrz|tab_numer}}, przeciwnie na jej końcu.
Funkcja zwraca element {{LinkPatrz|lista_dwuelementowa}}.
=== {{Śródtytuł|p.RozpatrywanieSzablonuObiektuDoNumeracji}}{{Code|p.RozpatrywanieSzablonuObiektuDoNumeracji}} ===
Funkcja, która uruchamia funkcję: {{LinkŚródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}, dla istniejącego uchwytu w postaci nazwanej o kluczu: {{Code|uchwyt}} {{Patrz|uchwyt}}, lub nienazwanej - w postaci numeru jego uchwytu o kluczu: {{Code|numer_numeracji}} {{Patrz|numer_numeracji}}, wsadzająca tabele z uchwytem na odpowiednią pozycję w odpowiedniej nazwanej tabeli o nazwie obiektu {{LinkPatrz|nazwa_obiektu}} w ogólnej tabeli: {{LinkPatrz|tablica_zmiennych}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}}- tabela parametrów szablonu,
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|numer_numeracji}} - jak w: {{LinkPatrz|numer_numeracji}},
* {{Code|tab_numer}} - jak w: {{LinkPatrz|tab_numer}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
== {{Śródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}{{Code|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}} ==
Funkcja sprawdza, czy dany artykuł należy do artykułów, któregoś spisu treści, a jeżeli nie, to dla stron, które nie należą do kategorii z ustawionym problemem {{Code|strony poza zakresem obsługiwanym}}, ale do nieaktualnej strony jest ustawiony problem {{Code|brak spisów treści do dołączonych stron}}. Natomiast dla aktualnej dla stron tej samej kategorii ustawiany jest problem {{Code|brak spisu treści do korzystanych stron}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== {{Śródtytuł|p.PusteParametryReferencji}}{{Code|p.PusteParametryReferencji}} ==
Funkcja sprawdza, jeśli są podane parametry szablonu stronicowego, które są w kategorii: {{lk|Szablony stronicowe}}, czyli: {{Code|nazwa_artykulu}}, ewentualnie: {{Code|nazwa_ksiazki}}, ale zawsze z: {{Code|uchwyt_obiektu}}, czy są one puste.
A jeżeli one istnieją i są takie, to są ustawione problemy typu, jeśli ich wcześniej nie ustawiono:
* {{Code|puste parametry szablonów stronicowych linkujących}} {{Patrz|puste parametry szablonów stronicowych linkujących}}, kolejno dla: {{Code|uchwyt_obiektu}}, {{Code|nazwa_artykulu}} i {{Code|nazwa_ksiazki}}, kolejno z numerami problemów: {{Code|1}}, {{Code|2}} i {{Code|3}}.
Dla obiektu o nazwie {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}.
{{Hr}}
Definicja skrótowa funkcji
<syntaxhighlight lang="lua">
function p.PusteParametryReferencji(self, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu)...end;
</syntaxhighlight>
Paraametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} {{Patrz|uchwyt_obiektu}} - uchwyt obiektu, podane w danym szablonie stronicowym,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}}.
== {{Śródtytuł|p.SzablonyReferencjiParametrowych}}{{Code|p.SzablonyReferencjiParametrowych}} ==
Funkcja z parametrów pudełkowych nazwy artykułu {{ZobaczTeż|nazwa artykułu}}: {{Code|nazwa artykułu}} {{Patrz|nazwa artykułu}} albo {{Code|1}}, gdy bezuchwytowe lub {{Code|2}}, i pełnej nazwy książki {{ZobaczTeż|pełna nazwa strony}}: {{Code|nazwa książki}} {{Patrz|nazwa książki}} albo, {{Code|2}}, gdy bezuchwytowe lub {{Code|3}}. To wszystko jest liczone z: {{LinkPatrz|tabela_parametrow_szablonu}} lub przy użyciu parametru również {{Code|bezuchwytowe}} {{Patrz|bezuchwytowe}}, gdy mamy szablon stronicowy {{lk|Szablony stronicowe}}, bezuchwytowy, wtedy {{Code|true}}, przeciwnie {{Code|false/nil}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca,bezuchwytowe)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{Code|bezuchwytowe}} - jak w: {{LinkPatrz|bezuchwytowe}}.
Funkcja obie nazwy dekoduje funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a później jest liczony adres bezwzględny z względnego dzięki: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, przy pomocy podstawy {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}}, podobnie ale wcześniej jest liczona nazwa artykułu {{linkZobaczTeż|nazwa artykułu}}, czyli: {{LinkPatrz|nazwa_artykulu}}, ale tutaj adres względny jest liczony z podstawy o ciągu pustym jako drugi parametr.
Na podstawie pełnej nazwy książki {{LinkZobaczTeż|pełna nazwa strony}}: jest liczona bardziej jej wersja pełniejsza, jeżeli to jest w ogóle możliwe z: {{Code|{{sr|#p["PełnaNazwaStronicowejKsiążki"]|p=Książkowe}}}}. A póżniej z tego wszystkiego są liczone nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, przy pomocy funkcji nazw: {{Code|{{ld2|Nazwy}}}}.
Na samym końcu funkcji są zwracane parametry nazw, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== Funkcje zbierania informacji ==
=== {{Śródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}{{Code|p.ZbieranieInformacjiStronyWoluminowychPozycji}} ===
Funkcja zbierania informacji na stronie dla szablonów stronicowych: {{lk|Szablony stronicowe}}, bezuchwytowych, gdy nie jest uruchomiony parametr: {{Code|czy_inna_wartosc_tekst}} {{Patrz|czy_inna_wartosc_tekst}}, wtedy jest wywoływana funkcja: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}, która liczy kolejne nazwy charaktertyzujące nazwy dla danego artykułu książki dla danej strony, przeciwnie parametry nazw są ściagane z: {{Code|tab_nazwy}} {{Patrz|tab_nazwy}}, ta tabela składa się numerowanych elementów, którymi są nazwy charakyteryzujące stronę.
Gdy jakaś nazwa artylułu strony została policzona, wtedy są liczone pozostałe nazwy z: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, a na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, a tuż przed nim, jeśli istnieje: {{Code|KtorySzablonMaZwracacKategorie}} {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,KtorySzablonMaZwracacKategorie,czy_inna_wartosc_tekst,tab_nazwy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_inna_wartosc_tekst}} - jak w: {{LinkPatrz|czy_inna_wartosc_tekst}},
* {{Code|tab_nazwy}} - jak w: {{LinkPatrz|tab_nazwy}}.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacji}}{{Code|p.ZbieranieKontenerowychInformacji}} ===
Funkcja do zbierania informacji, która z parametrów pudełkowych: {{Code|{{m|Pudełko}}}}, czyli: {{Code|nazwa przestrzeni nazw}} {{Patrz|nazwa przestrzeni nazw}} i {{Code|nazwa jednostki}} {{Patrz|nazwa jednostki}}, z nich są liczone parametry nazw charakteryzujące artykuł książki strony. A na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} {{Patrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,czy_szablon_pudelkowy_strony_zbiorczej,KtorySzablonMaZwracacKategorie)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} {{Patrz|czy_szablon_pudelkowy_strony_zbiorczej}} - funkcja potrzebna do funkcji zbierającej {{LinkPatrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, określającej, czy mamy szablon pudełkowy strony zbiorczej, taki jak: {{Code|{{s|StronaSubst}}}}, czy: {{Code|{{s|KsiążkaSubst}}}}, zobacz stronę: {{Code|{{lr2|Moduły/StronicowyParser/StronaSubst}}}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Gdy nie ma parametrów pudełkowych funkcja się natychmiast zakańcza, lub parametr: {{LinkPatrz|nazwa jednostki}}, jest pusta, lub nawet gdy zawierają kody wykrywane przez funkcję: {{Code|{{sr|#p.NormaWzoruKodowaniaTekstu|p=Szablonowe}}}}.
Z nazwy jednostki jest wydzielana nazwa jednostki właściwa bez nazwy nagłówka, póżniej obie nazwy są też dekodowane funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, czyli wszystko z: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}.
Z tych dwóch nazwy jest liczony adres, ewentualnie względny, który za pomocą funkcji: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, jest wyliczany adres bezwzględny.
Dalej są liczone nazwy charakteryzujące artykuł danej książki strony, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, z tego adresu strony.
Przedostatnia funkcja, która jest uruchamiana przed funkcją zbierającą jest: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}, jeśli istnieje.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacjiReferencji}}{{Code|p.ZbieranieKontenerowychInformacjiReferencji}} ===
Funkcja zbiera informacje o stronie. Na podstawie informacji o nazwie artykułu i pełnej nazwy książki liczy parametry nazw charakteryzujące artykuł, co na tej podstawiwe liczy parametry pudełkowe i wywołuje funkcję główną przez inną funkcję, też zbierającą, i zbiera informacje o artykule.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacjiReferencji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, jako parametry zwracane przez funkcję: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}. Funkcja wyznacza parametry pudełkowe {{m|Pudełko}}, tzn.: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}, na podstawie tych nazw. Funkcja na samym końcu wywołuje funkcję zbierającą dane ze strony: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}, która z kolei uruchamia potem: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
== {{Śródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}{{Code|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}} ==
Funkcja sprawdza niepoprawność nazwy strony i na podstawie tego ustawia pewne kody problemów.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,__FUNKCJA_SPRAWDZANIE)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|__FUNKCJA_SPRAWDZANIE}} {{Patrz|__FUNKCJA_SPRAWDZANIE}} - funkcja uruchamiana, jeśli jest ustawiona, na wypadek poprawności strony.
W przypadku niepoprawności strony, gdy strona modułu jest aktualna (bieżąca), wtedy sprawdzany jest kod problemu, czy jest ustawiony, tzn.: {{Code|nieprawidłowe nazwy korzystanych stron}}, przy pomocy funkcji: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli nie ma takiego, to wtedy jest uruchamiana funkcja: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}. Podobnie jest dla niekorzystanej strony, wtedy jest problem dla kodu: {{Code|nieprawidłowe nazwy stron dołączanych do stron}}.
== Zbieranie informacji o linkach ==
=== {{Śródtytuł|p.LinkowanieFinalizowaniePrac}}{{Code|p.LinkowanieFinalizowaniePrac}} ===
Funkcja wadza uchwyt obiektu, wsazujący na aktualną stronę, do pewnej strony, i ewentualnie ustawia pewne problemy, jeśli je nie ustawiono.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} {{Patrz|obiekt}} - obiekt, obsługiwany przez tą funkcję linku,
* {{Code|kod}} {{LinkPatrz|kod}} - kod obiektu dla: {{LinkPatrz|obiekt}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} - jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}},
* {{Code|czy_pobierz}} {{Patrz|czy_pobierz}} - czy to jest szablon typu {{Code|Pobierz}} {{Patrz|Pobierz}}, jak: {{s|PobierzŚródtekst}}.
Funkcja sprawdza, czy nie został ustawiony element {{Code|tablica_zmiennych.sprawdzenie_dokonane_linku}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}, a jeżeli tak, to dalej, czy nie ma elementów numerowanych przy pomocy funkcji: {{Code|{{sr|#p["CzySąElementyNumerowaneTablicy"]|p=Parametry}}}}, a jeśli również tak, to dalej jest sprawdzane, czy został ustawiony problem: {{Code|strony poza zakresem obsługiwanym}}, przy pomocy: {{Code|{{sr|#p.CzyJestTakiElementTabeliProblemu|p=StronicowyParser/Problemy}}}}, a jeżeli nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}. Na samym końcu tej instrukcji warunkowej jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}.
Dalej pod tą instrukcją warunkową, jest robione, co powiedziane zostało w prologu tego opisu tej funkcji, tzn. z wyznaczonej tablicy ze: {{LinkPatrz|tablica_zmiennych}}, a dalej z wyznaczonej następnej podtabeli o kluczu: {{LinkPatrz|nazwa_obiektu}}.
Następnie, gdy element: {{LinkPatrz|czy_pobierz}}, jest ustawiony na {{Code|true}}, wtedy dla {{LinkPatrz|uchwyt_obiektu}}, pewna tablica, jest wstawiana do tablicy: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}}, jeśli istnieje, a jeśli nie, to jest tworzona, jako tablica, wtedy też jest to robione. Tą czynnością wstawiany tabelę, do tej tablicy, czyli:
<syntaxhighlight lang="lua">
{{nazwa_obiektu,uchwyt_obiektu,},{obiekt,kod,},}
</syntaxhighlight>
=== {{Śródtytuł|p.LinkowanieInnychStron}}{{Code|p.LinkowanieInnychStron}} ===
Funkcja do sprawdzania innych stron niż aktualna, a jeżeli dana strona została już sprawdzona, to powtórnie nie jest już rewidowana. Funkcja ustawia w głównej tablicy aktualnej tabeli {{LinkPatrz|tablica_zmiennych}} pewne podtablice.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieInnychStron(self,obiekt,kod,tablica_zmiennych, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejo jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Najpierw jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, która w razie poprawności nazwy strony, czyli inaczej nazw tej strony, tzn.: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, uruchamia funkcję zdefiniowaną w nim.
{{Tab}}Ta funkcja sprawdza, czy któraś z parametrów nazw istnieje, a jeżeli nie, to dalej jest inicjowana zmienna: {{Code|tablica_zmiennych2}} {{Patrz|tablica_zmiennych2}} pustą tablicą i podobnie {{Code|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}} {{Patrz|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}}, to uruchamiana jest: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, do zbierania informacji o stronie nowej lub przebadanej (wtedy zostają zwrócone parametry z wczęsniejszego jego analizowania, jak była nowa). Funkcja zwraca trzy parametry, tzn. {{Code|tabela_listy_danych_analizy_ksiazki0}} {{Patrz|tabela_listy_danych_analizy_ksiazki0}}, {{LinkPatrz|tablica_zmiennych2}} i {{Code|czy_inna}} {{Patrz|czy_inna}}. Te parametry mogą przyjmować wartość {{Code|nil}}, lub pierwszy {{Code|0}}, drugi, to nic innego jest jak: {{LinkPatrz|tablica_zmiennych2}}, a trzeci parametr jest wtedy równy {{Code|true}}, gdy strona jest nowa, a {{Code|false}} aktualna, a gdy {{Code|nil}}, gdy np. zawartość strony nie istnieje.
Gdy parametr: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, istnieje, wtedy jest spraqdzane, czy któreś z parametrów: {{LinkPatrz|tablica_zmiennych2}} i {{LinkPatrz|czy_inna}}, nie istsnieje, wtedy ta funkcja się zakańcza.
==== {{Śródtytuł|JuzPoliczone}}{{Code|JuzPoliczone}} ====
Dla obiektów, dla których jest ustawiony parametr: {{LinkPatrz|czy_pobierz}}, co dalej w tym rozgałęzieniu instrukcji warunkiwej jest uruchamiana funkcja szablonów tekstu, czyli: {{Code|{{sr|#p.UstawianiePobierz|p=StronicowyParser/SzablonyTekstu}}}}, aby również później za pomocą innych funkcji przeanalizować również tekst w szablonach takich jak: {{s|Śródtekst}}.
Dalej jest tworzona tablica, jeśli nie istnieje, tzn. {{Code|tablica_zmiennych2.dane_juz_policzone}} {{Patrz|tablica_zmiennych2.dane_juz_policzone}}, czyli jest inicjowana pustą tablicą. Dalej jest tworzona, jeśli nie istnieje, tablica wielowymiarowa po kolei, o kluczach kolejno: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}, {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu}}, a jeżeli ta ostatnia wartość tej tablicy była wcześniej, to zwracane jest {{Code|true}}, przeciwnie {{Code|false}}, a tej ostatniej wartości tej tablicy jest przydzielana wartość {{Code|true}}.
==== Dalszy opis funkcji ====
Gdy parametr: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest równy {{Code|0}}, ale nie {{Code|nil}}, wtedy jest sprawdzane, czy artykuł został wcześniej zrewidowany według: {{LinkŚródtytuł|JuzPoliczone}}, a jeżeli tak to jest zakańczany, a gdy ten parametr taakiej wartośsci nie przyjmuje, wtedy tylko jest uruchamiana funkcja bez żadnego warunku.
{{Tab}}Następnie jest uruchamiana funkcja: {{Code|{{sr|#p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony|p=StronicowyParser/SzablonyTekstu}}}}, do przydzielenia pewnych zmiennych z {{LinkPatrz|tablica_zmiennych2}} tablicy {{LinkPatrz|tablica_zmiennych}}.
{{Tab}}Jest sprawdzane, czy dany artykuł należy do spisu, jeżeli nie to są ustawiane pewne kody problemów w tablicy problemów, tzn. {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}.
Dalej jest sprawdzane, czy podany uchwyt {{LinkPatrz|uchwyt_obiektu}}, który jest podany w szablonach linków na aktualnej stronie, czy jest tylko jeden na stronie sprawdzanej, a jeżeli nie jest tak, to jest sprawdzane, czy nie istnieje ustawiony problem: {{Code|błędy uchwytów korzystanych stron}}, funkcją: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to taki problem jest dodawany dzięki: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
{{Tab}}Uruchamiana jest dalej funkcja: {{LinkŚródtytuł|p.PusteParametryReferencji}}, do sprawdzania pustości pewnych parametrów.
{{Tab}}Gdy tabela: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest jednak równa wartości odpowiadającej fałszywej, wtedy jeśli nie istnieje problem: {{Code|błąd wewnętrzny modułu lua stronicowego parsera}}, co jest rewidowane elementem: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to dodawany jest taki problem do tabeli problemów na podstawie: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
=== {{Śródtytuł|p.GeneralneLinkowanie}}{{Code|p.GeneralneLinkowanie}} ===
Funkcja zbiera uchwyty, na aktualnej lub innej stronie, a także je analizuje w odpowiedni sposób, modyfikuje tablica aktualnego modułu, czyli: {{LinkPatrz|tablica_zmiennych}}, na podstawie poszczególnych artykułów tej książki lub innej, która zbiera raz informacje o danej stronie.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Funkcja wyznacza uchwyt z tabeli parametrów: {{LinkPatrz|tabela_parametrow_szablonu}}, o kluczu {{Code|uchwyt}} {{LinkPatrz|uchwyt}} lub {{Code|1}}, a później w kodzie jest on kompletowany funkcją: {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a następnie rozwijany w niej, a później jest dekodowany: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}.
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, wywołujac: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}.
Na samym końcu jest uruchamiana: {{LinkPatrz|KtorySzablonMaZwracacKategorie}} z parametrem o tym uchwycie, wyliczonym wcześniej.
Gdy uchwyt istnieje, ale jest pusty, wtedy uruchamia się: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, następnie: {{LinkŚródtytuł|p.PusteParametryReferencji}}, a jeśli ta wartość nie istnieje, wtedy tylko ta ostatnia funkcja.
Gdy uchwyt: {{LinkPatrz|uchwyt}}, istnieje i jest niepusty, wtedy jest wyznaczana nazwa artykułu z niej samej, lub jeśli nazwa ksiązki istnieje, tylko, wtedy ta nazwa zaczyna być pusta, przeciwnie {{Code|nil}}, wtedy mamy do czynienia ze stroną główną podręcznika.
Gdy nazwa artykułu nie istnieje, wtedy wywoływana jest: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Jeśli nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest niepusta, i gdy nazwa książki nie istnieje, wtedy są liczone parametry nazw, oprócz nazwy artykułu, bo jest policzona, więc te {{ZobaczTeż|nazwy}}: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, z parametrów charakteryzujących nazwę aktualnego artykułu, a jeśli jednak nazwa książki jest pusta, to są sprawdzane parametry w: {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Gdy nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest nieistnieje, i gdy nazwa książki {{LinkPatrz|nazwa_ksiazki}} jest niepusta, wtedy nazwa artykułu zaczyna istnieć i inicjujemy wtedy ją wartością pustą, a jeśli pusta, za zaczyna być potem generowanie kodów błędów funkcją {{LinkŚródtytuł|p.PusteParametryReferencji}}, by potem się zakończyła ta funkcja.
Przeciwnie są liczone parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, tą samą metodą, co w punkcie: {{LinkZobaczTeż|nazwy}}.
Gdy nazwy {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}} są porównywane z nazwami, którymi się przypisje jak w: {{LinkZobaczTeż|nazwy}}, wtedy uruchamiamy funkcję: {{LinkŚródtytuł|p.LinkowanieInnychStron}}, przeciwnie wtedy działają dwie funkcje uruchomione po kolei, tzn.: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
== {{Śródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}{{Code|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} ==
Funkcja służy do zbierania informacji o danej analizowanej stronie, którego główną częścią jest strona korzystana, w której gromadzą się informacji też z pozostałych.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, czy_artykul_korzystany,tablica_zmiennych,czy_szablon_pudelkowy_strony_zbiorczej)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} - jak w: {{LinkPatrz|czy_szablon_pudelkowy_strony_zbiorczej}}.
=== {{Śródtytuł|__FUNKCJA_ARTYKULU}}{{Code|__FUNKCJA_ARTYKULU}} ===
Funkcja do tworzenia tabeli artykułów z innymi parametrami wielowymiarowej tej tabeli, a jeżeli owe pośrednie, i nie tylko, istnieją, to te tabele są zwracane lub nowo są tworzone.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji {{ZobaczTeż|parametry artykułu}}:
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}},
* {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu}} - nazwa artykułu w książce, bez pełnej nazwy książki.
Poniżej są tworzone podtabele puste, jeśli nie zostały utworzone.
Funkcja, która w tabeli: {{Code|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}} {{Patrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, która istnieje, tworzy tabele trójwymiarową kolejno po prarametrach: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, te tabele pośrednie śą wtedy tworzone, jeśsli nie istnieją, a gdy istnieją to nie są tworzone, tylko funkcja przechodzi do dalszych.
Dalej tworzona jest podtabela, jeśli nie istnieje o nazwie {{Code|lista_podstron_woluminu}} {{Patrz|lista_podstron_woluminu}}.
Następnie generowana jest podtabela, jeśli nie istnieje, o kluczu: {{LinkPatrz|nazwa_artykulu}}.
Funkcja zwraca kolejno elementy, jeśli klucz: {{LinkPatrz|nazwa_artykulu}}, istnieje, zatem:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany;
</syntaxhighlight>
Przeciwnie zwracany jest zbiór zmiennych po kolei:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki;
</syntaxhighlight>
Co to są za zmienne, wiadomo z ich nazw, po prostu są to pewne pośrednie, i nie tylko, tabele.
=== {{Śródtytuł|__FUNKCJA_POBIERANIE}}{{Code|__FUNKCJA_POBIERANIE}} ===
Funkcja zwraca parametry strony aktualnej, analizowanej jeszcze raz, aby ją nie powtórnie rewidować, lub podobnie dla innego artykułu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_POBIERANIE(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji są takie same jak w punkcie {{LinkZobaczTeż|parametry artykułu}}.
{{Tab}}Analiza dla artykułów niekorzystanych według parametru: {{LinkPatrz|czy_artykul_korzystany}}:
Dla jeszcze raz analizowanego artykułui aktualnego zwracane są parametry:
<syntaxhighlight lang="lua">
return 0,nil,nil,nil,nil,nil,self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron,false;
</syntaxhighlight>
Tabela: {{Code|self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron}}, tam są dane zebrane z aktualnego artykułu.
Dla innej takiej strony jest tworzony parametr, jeżeli jest włączona analiza, dla klucza: {{Code|analiza_spis_tresci}} {{Patrz|analiza_spis_tresci}}, według tego jest tworzony wartością prawdziwą parametr o innym znów kluczu: {{Code|analiza_spis_tresci_doloczone}} {{Patrz|analiza_spis_tresci_doloczone}}:
<syntaxhighlight lang="lua">
if(self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci)then
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=true;
end;
</syntaxhighlight>
Dla elementu: {{LinkPatrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, jeżeli dany artykuł był już rewidowany, to zwracane są elementy:
<syntaxhighlight lang="lua">
return 0,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni,dane_zebrane_ze_stron,true;
</syntaxhighlight>
To: {{Code|dane_zebrane_ze_stron}} {{Patrz|dane_zebrane_ze_stron}}, to podtabela: {{LinkPatrz|lista_podstron_woluminu}}, z kluczem: {{LinkPatrz|nazwa_artykulu}}, o nazwie takiej samej jak ten parametr zwracany.
Przeciwnie jest zwracane: {{Code|true}}, lub {{Code|nil}}, jeśli tabela: {{Code|self.tabela_listy_danych_analizy_ksiazki}} {{Patrz|self.tabela_listy_danych_analizy_ksiazki}}, lub podtatela: {{LinkPatrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, nie istnieje.
=== {{Śródtytuł|InneInformacjePrzebneDoAnalizowanejKsiazki}}{{Code|InneInformacjePrzebneDoAnalizowanejKsiazki}} ===
Funkcja do zbierania informacji o spisie artykułów książkowych i ich licencjach oraz ewentualnie zebrane informacje ze stron: {{lk2|Szablony nawigacyjne układu autonawigacji do autonawigacji podręczników}}, z szablonu, w któreś tej pozycji w: {{s|Układ autonawigacji}}, i ze spisów podanej w niej jako parametry.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function InneInformacjePrzebneDoAnalizowanejKsiazki()...end;
</syntaxhighlight>
Parametry funkcji:
* brak.
==== {{Śródtytuł|__FUNKCJA_SPISU}}{{Code|__FUNKCJA_SPISU}} ====
Funkcja do inicjowania parametrów spisu, aktualnego artykułu, uzyskanych z ich analizy.
Definicja skrotowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_SPISU(tablica_ksiazki,czy_podac_adres)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tablica_ksiazki}} {{Patrz|tablica_ksiazki}} - tablica dla analizowanej książki,
* {{Code|czy_podac_adres}} {{Patrz|czy_podac_adres}} - adres bazowego woluminu.
Tablicy: {{linkPatrz|tablica_ksiazki}}, jest inicjowany element: {{Code|spis}} {{Patrz|spis}}, tabelą: {{Code|tabela_artykulow}} {{Patrz|tabela_artykulow}}.
Gdy: {{LinkPatrz|czy_artykul_korzystany}}, jest wartością fałszywą, to iniciowaną tablicy: {{LinkPatrz|tablica_ksiazki}}, jest parametr o kluczu: {{Code|licencja}} {{Patrz|licencja}}, tabelą: {{Code|tabela_licencji_spisu_tresci}} {{Patrz|tabela_licencji_spisu_tresci}}.
Dalej kolejno elementy: {{Code|nazwa_bazowego_spisu}} {{Patrz|nazwa_bazowego_spisu}}, {{Code|tab_inne_spisy}} {{Patrz|tab_inne_spisy}} i {{Code|dodatkowe_strony_woluminu}}, tabeli: {{LinkPatrz|tablica_ksiazki}}, i inicjowane są tabelami o takich samych nazwach jak te klucze dwa, a ostatni tabelą: {{Code|dodatkowe_artykuly}} {{Patrz|dodatkowe_artykuly}}.
Dla tabeli: {{LinkPatrz|tablica_ksiazki}}, o kluczu w nim {{Code|adres_woluminu_bazowego_spisu_rzeczy}}, ona jest przyrównywan wartości: {{Code|adres_ksiazki_glownego_spisu_tresci}} {{Patrz|adres_ksiazki_glownego_spisu_tresci}}, jeśli istnieje: {{LinkPatrz|czy_podac_adres}}, lub przeciwnie wartością {{Code|nil}}.
==== Dalszy opis funkcji ====
=== {{Śródtytuł|PrzekierownieAwaryjne}}{{Code|PrzekierownieAwaryjne}} ===
=== {{Śródtytuł|StronaZbiorcza}}{{Code|StronaZbiorcza}} ===
=== {{Śródtytuł|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}}{{Code|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}} ===
=== {{Śródtytuł|GeneralnaAnalizaSzablonuStronicowegoParsera}}{{Code|GeneralnaAnalizaSzablonuStronicowegoParsera}} ===
=== {{Śródtytuł|IterowaniePoElementachTekstu}}{{Code|IterowaniePoElementachTekstu}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieNaglowek}}{{Code|KtorySzablonMaZwracacKategorieNaglowek}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieTekst}}{{Code|KtorySzablonMaZwracacKategorieTekst}} ===
=== {{Śródtytuł|CzyJestTakiProblemJakoElementTablicy}}{{Code|CzyJestTakiProblemJakoElementTablicy}} ===
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
edjz30s118ukd5kfiiauaipgdlulkte
547246
547245
2026-06-29T15:54:25Z
Persino
2851
/* {{Śródtytuł|__FUNKCJA_SPISU}}{{Code|__FUNKCJA_SPISU}} */
547246
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/ZbieranieDanychStron}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== Zbieranie informacji o uchwycie ==
=== {{Śródtytuł|p.UchwytyZeiBezNumeracji}}{{Code|p.UchwytyZeiBezNumeracji}} ===
Funkcja zbiera uchwyty, dla obiektów {{ZobaczTeż|p.UchwytyZeiBezNumeracji}}, bez numeracji, nie licząc obiektów tekst takich jak {{s|Śródtekst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UchwytyZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,lista_dwuelementowa,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} {{Patrz|self}} - zmiennna obiektowa modułu {{Code|{{ld2|StronicowyParser/ZbieranieDanychStron}}}} {{Patrz|StronicowyParser/ZbieranieDanychStron}},
* {{Code|tabela_elementow_strony_kodow}} {{Patrz|tabela_elementow_strony_kodow}} - zmienna zbierająca takie kody jak {{LinkZobaczTeż|p.UchwytyZeiBezNumeracji}},
* {{Code|nazwa_obiektu}} {{Patrz|nazwa obiektu}} - nazwa obiektu,
* {{Code|lista_dwuelementowa}} {{Patrz|lista_dwuelementowa}} - pozycja w normalnej tabeli uchwytów i przeważnie ich numeracji, a tutaj dla tego obiektu,
* {{Code|kod}} {{Patrz|kod}} - numer kodu dla tego obiektu.
Funkcja zbiera elementy {{LinkPatrz|lista_dwuelementowa}} w tablicy wielowymiarowej o pierwszym elemencie wymiaru {{LinkPatrz|nazwa obiektu}} i trzecim {{LinkPatrz|kod}}, oraz o drugim {{Code|uchwyty_bez_numeracji}} {{Patrz|uchwyty_bez_numeracji}}.
=== {{Śródtytuł|p.WydobywanieUchwytuZeiBezNumeracji}}{{Code|p.WydobywanieUchwytuZeiBezNumeracji}} ===
Funkcja wydowywa tablicę uchwytu dla pozycji, ale nie sam uchwyt, dla podtablicy {{LinkPatrz|uchwyty_bez_numeracji}} o danym kodzie {{LinkPatrz|kod}}, dla nazwy obiektu {{LinkPatrz|nazwa_obiektu}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.WydobywanieUchwytuZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_elementow_strony_kodow}} - jak w: {{LinkPatrz|tabela_elementow_strony_kodow}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}}.
Funkcja wykorzystuje elementy tablicy: {{LinkPatrz|uchwyty_bez_numeracji}}, wstawione przez funkcję: {{LinkŚródtytuł|p.UchwytyZeiBezNumeracji}}.
=== {{Śródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}{{Code|p.RozpatrywanieElementuUchwytuNumeracji}} ===
Funkcja wsadzająca utworzoną tablicę z podanym uchwytem do ogólnej tablicy pozycji nazwanych tabel z uchwytami o danej pozycji z nim.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|kod_uchwytu}} {{Patrz|kod_uchwytu}} - kod uchwytu podanego do szablonu stronicowego z odpowiednim uchwytem,
* {{Code|tab_numer}} {{Patrz|tab_numer}} - tablica z numerkami ilości elementów w tablicy parametrów nazwanych z uchwytami, w danym elemencie analizowania strony z uchwytami i obiektami,
* {{Code|tablica_zmiennych}} {{Patrz|tablica_zmiennych}} - tablica analizowania obiektów, danej strony,
* {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} {{Patrz|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - kolejno: nazwa przestrzeni nazw, nazwa przestrzeni książki, nazwa książki i nazwa artykułu książki,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} {{Patrz|czy_artykul_korzystany}} - czy artykuł aktualny wyświetlany w przeglądarce,
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} {{Patrz|nazwa_modulu_aktualna_czy_biezaca}} - nazwa artykułu aktualna lub bieżąca,
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{Patrz|tablica_analizy_obiektow_strony_dany_modul}} - tablica bazy kodów parsowania strony,
* {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - tablica analizy poszczególnych elementów kodów, do szybszego działania skryptu,
* {{Code|KtorySzablonMaZwracacKategorie}} {{Patrz|KtorySzablonMaZwracacKategorie}} - tablica zbierająca odkodowany i rozwinięty uchwyt, do analizowania w nim zebranych kategorii, według modułu: {{Code|{{ld2|StronicowyParser/Kategorie}}}}, uruchamiana w szablonach stronicowych z funkcjami '''stronicowego parsera'''.
Funkcja rozwija {{LinkPatrz|kod_uchwytu}} funkcją {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a potem je odkodowuje przy pomocy: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a jeżeli ona nie jest pusta, to dla tego jest uruchamiana funkcja {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Tworzona jest tablica {{Code|lista_dwuelementowa}} {{LinkPatrz|lista_dwuelementowa}} z uchwytem, jako pierwszy parametr.
Jest sprawdzane, czy element {{Code|tablica_zmiennych.sprawdzenie_dokonane_obiektu}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, jest fałszywy, jeżeli tak, to dalej jest sprawdzane, czy są elementy numerowane nazwanej tablicy: {{Code|tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2}} o nazwie {{LinkPatrz|nazwa_obiektu}}, a jeżeli jest pusta - na samym końcu jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, czyli jest inicjowana na wartość {{Code|true}}, to dalej jest sprawdzane, czy dla elementów: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy dana książka jest poza zakresem obsługiwanym, czyli rewidowane jest, czy jest ustawiony kod problemu {{Code|strony poza zakresem obsługiwanym}}, czy a jeżeli jednak nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}, ustawiające pewne elementy błędu, jeżeli trzeba to zrobić.
Gdy tabela {{LinkPatrz|tab_numer}} odpowiada nienilowej tablicy, wtedy element {{LinkPatrz|lista_dwuelementowa}} jest wstawiany na odpowiedniej pozycji, ale przeważnie nie na końcu, przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=table.insert|b=tak}}}}, dzięki określonej tabeli {{LinkPatrz|tab_numer}}, przeciwnie na jej końcu.
Funkcja zwraca element {{LinkPatrz|lista_dwuelementowa}}.
=== {{Śródtytuł|p.RozpatrywanieSzablonuObiektuDoNumeracji}}{{Code|p.RozpatrywanieSzablonuObiektuDoNumeracji}} ===
Funkcja, która uruchamia funkcję: {{LinkŚródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}, dla istniejącego uchwytu w postaci nazwanej o kluczu: {{Code|uchwyt}} {{Patrz|uchwyt}}, lub nienazwanej - w postaci numeru jego uchwytu o kluczu: {{Code|numer_numeracji}} {{Patrz|numer_numeracji}}, wsadzająca tabele z uchwytem na odpowiednią pozycję w odpowiedniej nazwanej tabeli o nazwie obiektu {{LinkPatrz|nazwa_obiektu}} w ogólnej tabeli: {{LinkPatrz|tablica_zmiennych}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}}- tabela parametrów szablonu,
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|numer_numeracji}} - jak w: {{LinkPatrz|numer_numeracji}},
* {{Code|tab_numer}} - jak w: {{LinkPatrz|tab_numer}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
== {{Śródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}{{Code|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}} ==
Funkcja sprawdza, czy dany artykuł należy do artykułów, któregoś spisu treści, a jeżeli nie, to dla stron, które nie należą do kategorii z ustawionym problemem {{Code|strony poza zakresem obsługiwanym}}, ale do nieaktualnej strony jest ustawiony problem {{Code|brak spisów treści do dołączonych stron}}. Natomiast dla aktualnej dla stron tej samej kategorii ustawiany jest problem {{Code|brak spisu treści do korzystanych stron}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== {{Śródtytuł|p.PusteParametryReferencji}}{{Code|p.PusteParametryReferencji}} ==
Funkcja sprawdza, jeśli są podane parametry szablonu stronicowego, które są w kategorii: {{lk|Szablony stronicowe}}, czyli: {{Code|nazwa_artykulu}}, ewentualnie: {{Code|nazwa_ksiazki}}, ale zawsze z: {{Code|uchwyt_obiektu}}, czy są one puste.
A jeżeli one istnieją i są takie, to są ustawione problemy typu, jeśli ich wcześniej nie ustawiono:
* {{Code|puste parametry szablonów stronicowych linkujących}} {{Patrz|puste parametry szablonów stronicowych linkujących}}, kolejno dla: {{Code|uchwyt_obiektu}}, {{Code|nazwa_artykulu}} i {{Code|nazwa_ksiazki}}, kolejno z numerami problemów: {{Code|1}}, {{Code|2}} i {{Code|3}}.
Dla obiektu o nazwie {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}.
{{Hr}}
Definicja skrótowa funkcji
<syntaxhighlight lang="lua">
function p.PusteParametryReferencji(self, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu)...end;
</syntaxhighlight>
Paraametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} {{Patrz|uchwyt_obiektu}} - uchwyt obiektu, podane w danym szablonie stronicowym,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}}.
== {{Śródtytuł|p.SzablonyReferencjiParametrowych}}{{Code|p.SzablonyReferencjiParametrowych}} ==
Funkcja z parametrów pudełkowych nazwy artykułu {{ZobaczTeż|nazwa artykułu}}: {{Code|nazwa artykułu}} {{Patrz|nazwa artykułu}} albo {{Code|1}}, gdy bezuchwytowe lub {{Code|2}}, i pełnej nazwy książki {{ZobaczTeż|pełna nazwa strony}}: {{Code|nazwa książki}} {{Patrz|nazwa książki}} albo, {{Code|2}}, gdy bezuchwytowe lub {{Code|3}}. To wszystko jest liczone z: {{LinkPatrz|tabela_parametrow_szablonu}} lub przy użyciu parametru również {{Code|bezuchwytowe}} {{Patrz|bezuchwytowe}}, gdy mamy szablon stronicowy {{lk|Szablony stronicowe}}, bezuchwytowy, wtedy {{Code|true}}, przeciwnie {{Code|false/nil}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca,bezuchwytowe)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{Code|bezuchwytowe}} - jak w: {{LinkPatrz|bezuchwytowe}}.
Funkcja obie nazwy dekoduje funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a później jest liczony adres bezwzględny z względnego dzięki: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, przy pomocy podstawy {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}}, podobnie ale wcześniej jest liczona nazwa artykułu {{linkZobaczTeż|nazwa artykułu}}, czyli: {{LinkPatrz|nazwa_artykulu}}, ale tutaj adres względny jest liczony z podstawy o ciągu pustym jako drugi parametr.
Na podstawie pełnej nazwy książki {{LinkZobaczTeż|pełna nazwa strony}}: jest liczona bardziej jej wersja pełniejsza, jeżeli to jest w ogóle możliwe z: {{Code|{{sr|#p["PełnaNazwaStronicowejKsiążki"]|p=Książkowe}}}}. A póżniej z tego wszystkiego są liczone nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, przy pomocy funkcji nazw: {{Code|{{ld2|Nazwy}}}}.
Na samym końcu funkcji są zwracane parametry nazw, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== Funkcje zbierania informacji ==
=== {{Śródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}{{Code|p.ZbieranieInformacjiStronyWoluminowychPozycji}} ===
Funkcja zbierania informacji na stronie dla szablonów stronicowych: {{lk|Szablony stronicowe}}, bezuchwytowych, gdy nie jest uruchomiony parametr: {{Code|czy_inna_wartosc_tekst}} {{Patrz|czy_inna_wartosc_tekst}}, wtedy jest wywoływana funkcja: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}, która liczy kolejne nazwy charaktertyzujące nazwy dla danego artykułu książki dla danej strony, przeciwnie parametry nazw są ściagane z: {{Code|tab_nazwy}} {{Patrz|tab_nazwy}}, ta tabela składa się numerowanych elementów, którymi są nazwy charakyteryzujące stronę.
Gdy jakaś nazwa artylułu strony została policzona, wtedy są liczone pozostałe nazwy z: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, a na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, a tuż przed nim, jeśli istnieje: {{Code|KtorySzablonMaZwracacKategorie}} {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,KtorySzablonMaZwracacKategorie,czy_inna_wartosc_tekst,tab_nazwy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_inna_wartosc_tekst}} - jak w: {{LinkPatrz|czy_inna_wartosc_tekst}},
* {{Code|tab_nazwy}} - jak w: {{LinkPatrz|tab_nazwy}}.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacji}}{{Code|p.ZbieranieKontenerowychInformacji}} ===
Funkcja do zbierania informacji, która z parametrów pudełkowych: {{Code|{{m|Pudełko}}}}, czyli: {{Code|nazwa przestrzeni nazw}} {{Patrz|nazwa przestrzeni nazw}} i {{Code|nazwa jednostki}} {{Patrz|nazwa jednostki}}, z nich są liczone parametry nazw charakteryzujące artykuł książki strony. A na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} {{Patrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,czy_szablon_pudelkowy_strony_zbiorczej,KtorySzablonMaZwracacKategorie)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} {{Patrz|czy_szablon_pudelkowy_strony_zbiorczej}} - funkcja potrzebna do funkcji zbierającej {{LinkPatrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, określającej, czy mamy szablon pudełkowy strony zbiorczej, taki jak: {{Code|{{s|StronaSubst}}}}, czy: {{Code|{{s|KsiążkaSubst}}}}, zobacz stronę: {{Code|{{lr2|Moduły/StronicowyParser/StronaSubst}}}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Gdy nie ma parametrów pudełkowych funkcja się natychmiast zakańcza, lub parametr: {{LinkPatrz|nazwa jednostki}}, jest pusta, lub nawet gdy zawierają kody wykrywane przez funkcję: {{Code|{{sr|#p.NormaWzoruKodowaniaTekstu|p=Szablonowe}}}}.
Z nazwy jednostki jest wydzielana nazwa jednostki właściwa bez nazwy nagłówka, póżniej obie nazwy są też dekodowane funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, czyli wszystko z: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}.
Z tych dwóch nazwy jest liczony adres, ewentualnie względny, który za pomocą funkcji: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, jest wyliczany adres bezwzględny.
Dalej są liczone nazwy charakteryzujące artykuł danej książki strony, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, z tego adresu strony.
Przedostatnia funkcja, która jest uruchamiana przed funkcją zbierającą jest: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}, jeśli istnieje.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacjiReferencji}}{{Code|p.ZbieranieKontenerowychInformacjiReferencji}} ===
Funkcja zbiera informacje o stronie. Na podstawie informacji o nazwie artykułu i pełnej nazwy książki liczy parametry nazw charakteryzujące artykuł, co na tej podstawiwe liczy parametry pudełkowe i wywołuje funkcję główną przez inną funkcję, też zbierającą, i zbiera informacje o artykule.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacjiReferencji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, jako parametry zwracane przez funkcję: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}. Funkcja wyznacza parametry pudełkowe {{m|Pudełko}}, tzn.: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}, na podstawie tych nazw. Funkcja na samym końcu wywołuje funkcję zbierającą dane ze strony: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}, która z kolei uruchamia potem: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
== {{Śródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}{{Code|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}} ==
Funkcja sprawdza niepoprawność nazwy strony i na podstawie tego ustawia pewne kody problemów.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,__FUNKCJA_SPRAWDZANIE)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|__FUNKCJA_SPRAWDZANIE}} {{Patrz|__FUNKCJA_SPRAWDZANIE}} - funkcja uruchamiana, jeśli jest ustawiona, na wypadek poprawności strony.
W przypadku niepoprawności strony, gdy strona modułu jest aktualna (bieżąca), wtedy sprawdzany jest kod problemu, czy jest ustawiony, tzn.: {{Code|nieprawidłowe nazwy korzystanych stron}}, przy pomocy funkcji: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli nie ma takiego, to wtedy jest uruchamiana funkcja: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}. Podobnie jest dla niekorzystanej strony, wtedy jest problem dla kodu: {{Code|nieprawidłowe nazwy stron dołączanych do stron}}.
== Zbieranie informacji o linkach ==
=== {{Śródtytuł|p.LinkowanieFinalizowaniePrac}}{{Code|p.LinkowanieFinalizowaniePrac}} ===
Funkcja wadza uchwyt obiektu, wsazujący na aktualną stronę, do pewnej strony, i ewentualnie ustawia pewne problemy, jeśli je nie ustawiono.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} {{Patrz|obiekt}} - obiekt, obsługiwany przez tą funkcję linku,
* {{Code|kod}} {{LinkPatrz|kod}} - kod obiektu dla: {{LinkPatrz|obiekt}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} - jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}},
* {{Code|czy_pobierz}} {{Patrz|czy_pobierz}} - czy to jest szablon typu {{Code|Pobierz}} {{Patrz|Pobierz}}, jak: {{s|PobierzŚródtekst}}.
Funkcja sprawdza, czy nie został ustawiony element {{Code|tablica_zmiennych.sprawdzenie_dokonane_linku}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}, a jeżeli tak, to dalej, czy nie ma elementów numerowanych przy pomocy funkcji: {{Code|{{sr|#p["CzySąElementyNumerowaneTablicy"]|p=Parametry}}}}, a jeśli również tak, to dalej jest sprawdzane, czy został ustawiony problem: {{Code|strony poza zakresem obsługiwanym}}, przy pomocy: {{Code|{{sr|#p.CzyJestTakiElementTabeliProblemu|p=StronicowyParser/Problemy}}}}, a jeżeli nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}. Na samym końcu tej instrukcji warunkowej jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}.
Dalej pod tą instrukcją warunkową, jest robione, co powiedziane zostało w prologu tego opisu tej funkcji, tzn. z wyznaczonej tablicy ze: {{LinkPatrz|tablica_zmiennych}}, a dalej z wyznaczonej następnej podtabeli o kluczu: {{LinkPatrz|nazwa_obiektu}}.
Następnie, gdy element: {{LinkPatrz|czy_pobierz}}, jest ustawiony na {{Code|true}}, wtedy dla {{LinkPatrz|uchwyt_obiektu}}, pewna tablica, jest wstawiana do tablicy: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}}, jeśli istnieje, a jeśli nie, to jest tworzona, jako tablica, wtedy też jest to robione. Tą czynnością wstawiany tabelę, do tej tablicy, czyli:
<syntaxhighlight lang="lua">
{{nazwa_obiektu,uchwyt_obiektu,},{obiekt,kod,},}
</syntaxhighlight>
=== {{Śródtytuł|p.LinkowanieInnychStron}}{{Code|p.LinkowanieInnychStron}} ===
Funkcja do sprawdzania innych stron niż aktualna, a jeżeli dana strona została już sprawdzona, to powtórnie nie jest już rewidowana. Funkcja ustawia w głównej tablicy aktualnej tabeli {{LinkPatrz|tablica_zmiennych}} pewne podtablice.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieInnychStron(self,obiekt,kod,tablica_zmiennych, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejo jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Najpierw jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, która w razie poprawności nazwy strony, czyli inaczej nazw tej strony, tzn.: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, uruchamia funkcję zdefiniowaną w nim.
{{Tab}}Ta funkcja sprawdza, czy któraś z parametrów nazw istnieje, a jeżeli nie, to dalej jest inicjowana zmienna: {{Code|tablica_zmiennych2}} {{Patrz|tablica_zmiennych2}} pustą tablicą i podobnie {{Code|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}} {{Patrz|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}}, to uruchamiana jest: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, do zbierania informacji o stronie nowej lub przebadanej (wtedy zostają zwrócone parametry z wczęsniejszego jego analizowania, jak była nowa). Funkcja zwraca trzy parametry, tzn. {{Code|tabela_listy_danych_analizy_ksiazki0}} {{Patrz|tabela_listy_danych_analizy_ksiazki0}}, {{LinkPatrz|tablica_zmiennych2}} i {{Code|czy_inna}} {{Patrz|czy_inna}}. Te parametry mogą przyjmować wartość {{Code|nil}}, lub pierwszy {{Code|0}}, drugi, to nic innego jest jak: {{LinkPatrz|tablica_zmiennych2}}, a trzeci parametr jest wtedy równy {{Code|true}}, gdy strona jest nowa, a {{Code|false}} aktualna, a gdy {{Code|nil}}, gdy np. zawartość strony nie istnieje.
Gdy parametr: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, istnieje, wtedy jest spraqdzane, czy któreś z parametrów: {{LinkPatrz|tablica_zmiennych2}} i {{LinkPatrz|czy_inna}}, nie istsnieje, wtedy ta funkcja się zakańcza.
==== {{Śródtytuł|JuzPoliczone}}{{Code|JuzPoliczone}} ====
Dla obiektów, dla których jest ustawiony parametr: {{LinkPatrz|czy_pobierz}}, co dalej w tym rozgałęzieniu instrukcji warunkiwej jest uruchamiana funkcja szablonów tekstu, czyli: {{Code|{{sr|#p.UstawianiePobierz|p=StronicowyParser/SzablonyTekstu}}}}, aby również później za pomocą innych funkcji przeanalizować również tekst w szablonach takich jak: {{s|Śródtekst}}.
Dalej jest tworzona tablica, jeśli nie istnieje, tzn. {{Code|tablica_zmiennych2.dane_juz_policzone}} {{Patrz|tablica_zmiennych2.dane_juz_policzone}}, czyli jest inicjowana pustą tablicą. Dalej jest tworzona, jeśli nie istnieje, tablica wielowymiarowa po kolei, o kluczach kolejno: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}, {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu}}, a jeżeli ta ostatnia wartość tej tablicy była wcześniej, to zwracane jest {{Code|true}}, przeciwnie {{Code|false}}, a tej ostatniej wartości tej tablicy jest przydzielana wartość {{Code|true}}.
==== Dalszy opis funkcji ====
Gdy parametr: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest równy {{Code|0}}, ale nie {{Code|nil}}, wtedy jest sprawdzane, czy artykuł został wcześniej zrewidowany według: {{LinkŚródtytuł|JuzPoliczone}}, a jeżeli tak to jest zakańczany, a gdy ten parametr taakiej wartośsci nie przyjmuje, wtedy tylko jest uruchamiana funkcja bez żadnego warunku.
{{Tab}}Następnie jest uruchamiana funkcja: {{Code|{{sr|#p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony|p=StronicowyParser/SzablonyTekstu}}}}, do przydzielenia pewnych zmiennych z {{LinkPatrz|tablica_zmiennych2}} tablicy {{LinkPatrz|tablica_zmiennych}}.
{{Tab}}Jest sprawdzane, czy dany artykuł należy do spisu, jeżeli nie to są ustawiane pewne kody problemów w tablicy problemów, tzn. {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}.
Dalej jest sprawdzane, czy podany uchwyt {{LinkPatrz|uchwyt_obiektu}}, który jest podany w szablonach linków na aktualnej stronie, czy jest tylko jeden na stronie sprawdzanej, a jeżeli nie jest tak, to jest sprawdzane, czy nie istnieje ustawiony problem: {{Code|błędy uchwytów korzystanych stron}}, funkcją: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to taki problem jest dodawany dzięki: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
{{Tab}}Uruchamiana jest dalej funkcja: {{LinkŚródtytuł|p.PusteParametryReferencji}}, do sprawdzania pustości pewnych parametrów.
{{Tab}}Gdy tabela: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest jednak równa wartości odpowiadającej fałszywej, wtedy jeśli nie istnieje problem: {{Code|błąd wewnętrzny modułu lua stronicowego parsera}}, co jest rewidowane elementem: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to dodawany jest taki problem do tabeli problemów na podstawie: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
=== {{Śródtytuł|p.GeneralneLinkowanie}}{{Code|p.GeneralneLinkowanie}} ===
Funkcja zbiera uchwyty, na aktualnej lub innej stronie, a także je analizuje w odpowiedni sposób, modyfikuje tablica aktualnego modułu, czyli: {{LinkPatrz|tablica_zmiennych}}, na podstawie poszczególnych artykułów tej książki lub innej, która zbiera raz informacje o danej stronie.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Funkcja wyznacza uchwyt z tabeli parametrów: {{LinkPatrz|tabela_parametrow_szablonu}}, o kluczu {{Code|uchwyt}} {{LinkPatrz|uchwyt}} lub {{Code|1}}, a później w kodzie jest on kompletowany funkcją: {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a następnie rozwijany w niej, a później jest dekodowany: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}.
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, wywołujac: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}.
Na samym końcu jest uruchamiana: {{LinkPatrz|KtorySzablonMaZwracacKategorie}} z parametrem o tym uchwycie, wyliczonym wcześniej.
Gdy uchwyt istnieje, ale jest pusty, wtedy uruchamia się: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, następnie: {{LinkŚródtytuł|p.PusteParametryReferencji}}, a jeśli ta wartość nie istnieje, wtedy tylko ta ostatnia funkcja.
Gdy uchwyt: {{LinkPatrz|uchwyt}}, istnieje i jest niepusty, wtedy jest wyznaczana nazwa artykułu z niej samej, lub jeśli nazwa ksiązki istnieje, tylko, wtedy ta nazwa zaczyna być pusta, przeciwnie {{Code|nil}}, wtedy mamy do czynienia ze stroną główną podręcznika.
Gdy nazwa artykułu nie istnieje, wtedy wywoływana jest: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Jeśli nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest niepusta, i gdy nazwa książki nie istnieje, wtedy są liczone parametry nazw, oprócz nazwy artykułu, bo jest policzona, więc te {{ZobaczTeż|nazwy}}: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, z parametrów charakteryzujących nazwę aktualnego artykułu, a jeśli jednak nazwa książki jest pusta, to są sprawdzane parametry w: {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Gdy nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest nieistnieje, i gdy nazwa książki {{LinkPatrz|nazwa_ksiazki}} jest niepusta, wtedy nazwa artykułu zaczyna istnieć i inicjujemy wtedy ją wartością pustą, a jeśli pusta, za zaczyna być potem generowanie kodów błędów funkcją {{LinkŚródtytuł|p.PusteParametryReferencji}}, by potem się zakończyła ta funkcja.
Przeciwnie są liczone parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, tą samą metodą, co w punkcie: {{LinkZobaczTeż|nazwy}}.
Gdy nazwy {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}} są porównywane z nazwami, którymi się przypisje jak w: {{LinkZobaczTeż|nazwy}}, wtedy uruchamiamy funkcję: {{LinkŚródtytuł|p.LinkowanieInnychStron}}, przeciwnie wtedy działają dwie funkcje uruchomione po kolei, tzn.: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
== {{Śródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}{{Code|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} ==
Funkcja służy do zbierania informacji o danej analizowanej stronie, którego główną częścią jest strona korzystana, w której gromadzą się informacji też z pozostałych.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, czy_artykul_korzystany,tablica_zmiennych,czy_szablon_pudelkowy_strony_zbiorczej)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} - jak w: {{LinkPatrz|czy_szablon_pudelkowy_strony_zbiorczej}}.
=== {{Śródtytuł|__FUNKCJA_ARTYKULU}}{{Code|__FUNKCJA_ARTYKULU}} ===
Funkcja do tworzenia tabeli artykułów z innymi parametrami wielowymiarowej tej tabeli, a jeżeli owe pośrednie, i nie tylko, istnieją, to te tabele są zwracane lub nowo są tworzone.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji {{ZobaczTeż|parametry artykułu}}:
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}},
* {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu}} - nazwa artykułu w książce, bez pełnej nazwy książki.
Poniżej są tworzone podtabele puste, jeśli nie zostały utworzone.
Funkcja, która w tabeli: {{Code|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}} {{Patrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, która istnieje, tworzy tabele trójwymiarową kolejno po prarametrach: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, te tabele pośrednie śą wtedy tworzone, jeśsli nie istnieją, a gdy istnieją to nie są tworzone, tylko funkcja przechodzi do dalszych.
Dalej tworzona jest podtabela, jeśli nie istnieje o nazwie {{Code|lista_podstron_woluminu}} {{Patrz|lista_podstron_woluminu}}.
Następnie generowana jest podtabela, jeśli nie istnieje, o kluczu: {{LinkPatrz|nazwa_artykulu}}.
Funkcja zwraca kolejno elementy, jeśli klucz: {{LinkPatrz|nazwa_artykulu}}, istnieje, zatem:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany;
</syntaxhighlight>
Przeciwnie zwracany jest zbiór zmiennych po kolei:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki;
</syntaxhighlight>
Co to są za zmienne, wiadomo z ich nazw, po prostu są to pewne pośrednie, i nie tylko, tabele.
=== {{Śródtytuł|__FUNKCJA_POBIERANIE}}{{Code|__FUNKCJA_POBIERANIE}} ===
Funkcja zwraca parametry strony aktualnej, analizowanej jeszcze raz, aby ją nie powtórnie rewidować, lub podobnie dla innego artykułu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_POBIERANIE(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji są takie same jak w punkcie {{LinkZobaczTeż|parametry artykułu}}.
{{Tab}}Analiza dla artykułów niekorzystanych według parametru: {{LinkPatrz|czy_artykul_korzystany}}:
Dla jeszcze raz analizowanego artykułui aktualnego zwracane są parametry:
<syntaxhighlight lang="lua">
return 0,nil,nil,nil,nil,nil,self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron,false;
</syntaxhighlight>
Tabela: {{Code|self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron}}, tam są dane zebrane z aktualnego artykułu.
Dla innej takiej strony jest tworzony parametr, jeżeli jest włączona analiza, dla klucza: {{Code|analiza_spis_tresci}} {{Patrz|analiza_spis_tresci}}, według tego jest tworzony wartością prawdziwą parametr o innym znów kluczu: {{Code|analiza_spis_tresci_doloczone}} {{Patrz|analiza_spis_tresci_doloczone}}:
<syntaxhighlight lang="lua">
if(self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci)then
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=true;
end;
</syntaxhighlight>
Dla elementu: {{LinkPatrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, jeżeli dany artykuł był już rewidowany, to zwracane są elementy:
<syntaxhighlight lang="lua">
return 0,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni,dane_zebrane_ze_stron,true;
</syntaxhighlight>
To: {{Code|dane_zebrane_ze_stron}} {{Patrz|dane_zebrane_ze_stron}}, to podtabela: {{LinkPatrz|lista_podstron_woluminu}}, z kluczem: {{LinkPatrz|nazwa_artykulu}}, o nazwie takiej samej jak ten parametr zwracany.
Przeciwnie jest zwracane: {{Code|true}}, lub {{Code|nil}}, jeśli tabela: {{Code|self.tabela_listy_danych_analizy_ksiazki}} {{Patrz|self.tabela_listy_danych_analizy_ksiazki}}, lub podtatela: {{LinkPatrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, nie istnieje.
=== {{Śródtytuł|InneInformacjePrzebneDoAnalizowanejKsiazki}}{{Code|InneInformacjePrzebneDoAnalizowanejKsiazki}} ===
Funkcja do zbierania informacji o spisie artykułów książkowych i ich licencjach oraz ewentualnie zebrane informacje ze stron: {{lk2|Szablony nawigacyjne układu autonawigacji do autonawigacji podręczników}}, z szablonu, w któreś tej pozycji w: {{s|Układ autonawigacji}}, i ze spisów podanej w niej jako parametry.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function InneInformacjePrzebneDoAnalizowanejKsiazki()...end;
</syntaxhighlight>
Parametry funkcji:
* brak.
==== {{Śródtytuł|__FUNKCJA_SPISU}}{{Code|__FUNKCJA_SPISU}} ====
Funkcja do inicjowania parametrów spisu, aktualnego artykułu, uzyskanych z ich analizy.
Definicja skrotowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_SPISU(tablica_ksiazki,czy_podac_adres)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tablica_ksiazki}} {{Patrz|tablica_ksiazki}} - tablica dla analizowanej książki,
* {{Code|czy_podac_adres}} {{Patrz|czy_podac_adres}} - adres bazowego woluminu.
Tablicy: {{linkPatrz|tablica_ksiazki}}, jest inicjowany element: {{Code|spis}} {{Patrz|spis}}, tabelą: {{Code|tabela_artykulow}} {{Patrz|tabela_artykulow}}.
Gdy: {{LinkPatrz|czy_artykul_korzystany}}, jest wartością fałszywą, to iniciowaną tablicy: {{LinkPatrz|tablica_ksiazki}}, jest parametr o kluczu: {{Code|licencja}} {{Patrz|licencja}}, tabelą: {{Code|tabela_licencji_spisu_tresci}} {{Patrz|tabela_licencji_spisu_tresci}}.
Dalej kolejno elementy: {{Code|nazwa_bazowego_spisu}} {{Patrz|nazwa_bazowego_spisu}}, {{Code|tab_inne_spisy}} {{Patrz|tab_inne_spisy}} i {{Code|dodatkowe_strony_woluminu}}, tabeli: {{LinkPatrz|tablica_ksiazki}}, i inicjowane są tabelami o takich samych nazwach jak te klucze dwa, a ostatni tabelą: {{Code|dodatkowe_artykuly}} {{Patrz|dodatkowe_artykuly}}.
Dla tabeli: {{LinkPatrz|tablica_ksiazki}}, o kluczu w nim {{Code|adres_woluminu_bazowego_spisu_rzeczy}}, ona jest przyrównywana wartością: {{Code|adres_ksiazki_glownego_spisu_tresci}} {{Patrz|adres_ksiazki_glownego_spisu_tresci}}, jeśli istnieje: {{LinkPatrz|czy_podac_adres}}, lub przeciwnie wartością {{Code|nil}}.
==== Dalszy opis funkcji ====
=== {{Śródtytuł|PrzekierownieAwaryjne}}{{Code|PrzekierownieAwaryjne}} ===
=== {{Śródtytuł|StronaZbiorcza}}{{Code|StronaZbiorcza}} ===
=== {{Śródtytuł|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}}{{Code|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}} ===
=== {{Śródtytuł|GeneralnaAnalizaSzablonuStronicowegoParsera}}{{Code|GeneralnaAnalizaSzablonuStronicowegoParsera}} ===
=== {{Śródtytuł|IterowaniePoElementachTekstu}}{{Code|IterowaniePoElementachTekstu}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieNaglowek}}{{Code|KtorySzablonMaZwracacKategorieNaglowek}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieTekst}}{{Code|KtorySzablonMaZwracacKategorieTekst}} ===
=== {{Śródtytuł|CzyJestTakiProblemJakoElementTablicy}}{{Code|CzyJestTakiProblemJakoElementTablicy}} ===
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
9cilvnrq42vzejf66wuzrs8n8exmuzh
547247
547246
2026-06-29T18:39:54Z
Persino
2851
/* {{Śródtytuł|__FUNKCJA_SPISU}}{{Code|__FUNKCJA_SPISU}} */
547247
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/ZbieranieDanychStron}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== Zbieranie informacji o uchwycie ==
=== {{Śródtytuł|p.UchwytyZeiBezNumeracji}}{{Code|p.UchwytyZeiBezNumeracji}} ===
Funkcja zbiera uchwyty, dla obiektów {{ZobaczTeż|p.UchwytyZeiBezNumeracji}}, bez numeracji, nie licząc obiektów tekst takich jak {{s|Śródtekst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UchwytyZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,lista_dwuelementowa,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} {{Patrz|self}} - zmiennna obiektowa modułu {{Code|{{ld2|StronicowyParser/ZbieranieDanychStron}}}} {{Patrz|StronicowyParser/ZbieranieDanychStron}},
* {{Code|tabela_elementow_strony_kodow}} {{Patrz|tabela_elementow_strony_kodow}} - zmienna zbierająca takie kody jak {{LinkZobaczTeż|p.UchwytyZeiBezNumeracji}},
* {{Code|nazwa_obiektu}} {{Patrz|nazwa obiektu}} - nazwa obiektu,
* {{Code|lista_dwuelementowa}} {{Patrz|lista_dwuelementowa}} - pozycja w normalnej tabeli uchwytów i przeważnie ich numeracji, a tutaj dla tego obiektu,
* {{Code|kod}} {{Patrz|kod}} - numer kodu dla tego obiektu.
Funkcja zbiera elementy {{LinkPatrz|lista_dwuelementowa}} w tablicy wielowymiarowej o pierwszym elemencie wymiaru {{LinkPatrz|nazwa obiektu}} i trzecim {{LinkPatrz|kod}}, oraz o drugim {{Code|uchwyty_bez_numeracji}} {{Patrz|uchwyty_bez_numeracji}}.
=== {{Śródtytuł|p.WydobywanieUchwytuZeiBezNumeracji}}{{Code|p.WydobywanieUchwytuZeiBezNumeracji}} ===
Funkcja wydowywa tablicę uchwytu dla pozycji, ale nie sam uchwyt, dla podtablicy {{LinkPatrz|uchwyty_bez_numeracji}} o danym kodzie {{LinkPatrz|kod}}, dla nazwy obiektu {{LinkPatrz|nazwa_obiektu}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.WydobywanieUchwytuZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_elementow_strony_kodow}} - jak w: {{LinkPatrz|tabela_elementow_strony_kodow}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}}.
Funkcja wykorzystuje elementy tablicy: {{LinkPatrz|uchwyty_bez_numeracji}}, wstawione przez funkcję: {{LinkŚródtytuł|p.UchwytyZeiBezNumeracji}}.
=== {{Śródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}{{Code|p.RozpatrywanieElementuUchwytuNumeracji}} ===
Funkcja wsadzająca utworzoną tablicę z podanym uchwytem do ogólnej tablicy pozycji nazwanych tabel z uchwytami o danej pozycji z nim.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|kod_uchwytu}} {{Patrz|kod_uchwytu}} - kod uchwytu podanego do szablonu stronicowego z odpowiednim uchwytem,
* {{Code|tab_numer}} {{Patrz|tab_numer}} - tablica z numerkami ilości elementów w tablicy parametrów nazwanych z uchwytami, w danym elemencie analizowania strony z uchwytami i obiektami,
* {{Code|tablica_zmiennych}} {{Patrz|tablica_zmiennych}} - tablica analizowania obiektów, danej strony,
* {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} {{Patrz|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - kolejno: nazwa przestrzeni nazw, nazwa przestrzeni książki, nazwa książki i nazwa artykułu książki,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} {{Patrz|czy_artykul_korzystany}} - czy artykuł aktualny wyświetlany w przeglądarce,
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} {{Patrz|nazwa_modulu_aktualna_czy_biezaca}} - nazwa artykułu aktualna lub bieżąca,
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{Patrz|tablica_analizy_obiektow_strony_dany_modul}} - tablica bazy kodów parsowania strony,
* {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - tablica analizy poszczególnych elementów kodów, do szybszego działania skryptu,
* {{Code|KtorySzablonMaZwracacKategorie}} {{Patrz|KtorySzablonMaZwracacKategorie}} - tablica zbierająca odkodowany i rozwinięty uchwyt, do analizowania w nim zebranych kategorii, według modułu: {{Code|{{ld2|StronicowyParser/Kategorie}}}}, uruchamiana w szablonach stronicowych z funkcjami '''stronicowego parsera'''.
Funkcja rozwija {{LinkPatrz|kod_uchwytu}} funkcją {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a potem je odkodowuje przy pomocy: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a jeżeli ona nie jest pusta, to dla tego jest uruchamiana funkcja {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Tworzona jest tablica {{Code|lista_dwuelementowa}} {{LinkPatrz|lista_dwuelementowa}} z uchwytem, jako pierwszy parametr.
Jest sprawdzane, czy element {{Code|tablica_zmiennych.sprawdzenie_dokonane_obiektu}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, jest fałszywy, jeżeli tak, to dalej jest sprawdzane, czy są elementy numerowane nazwanej tablicy: {{Code|tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2}} o nazwie {{LinkPatrz|nazwa_obiektu}}, a jeżeli jest pusta - na samym końcu jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, czyli jest inicjowana na wartość {{Code|true}}, to dalej jest sprawdzane, czy dla elementów: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy dana książka jest poza zakresem obsługiwanym, czyli rewidowane jest, czy jest ustawiony kod problemu {{Code|strony poza zakresem obsługiwanym}}, czy a jeżeli jednak nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}, ustawiające pewne elementy błędu, jeżeli trzeba to zrobić.
Gdy tabela {{LinkPatrz|tab_numer}} odpowiada nienilowej tablicy, wtedy element {{LinkPatrz|lista_dwuelementowa}} jest wstawiany na odpowiedniej pozycji, ale przeważnie nie na końcu, przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=table.insert|b=tak}}}}, dzięki określonej tabeli {{LinkPatrz|tab_numer}}, przeciwnie na jej końcu.
Funkcja zwraca element {{LinkPatrz|lista_dwuelementowa}}.
=== {{Śródtytuł|p.RozpatrywanieSzablonuObiektuDoNumeracji}}{{Code|p.RozpatrywanieSzablonuObiektuDoNumeracji}} ===
Funkcja, która uruchamia funkcję: {{LinkŚródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}, dla istniejącego uchwytu w postaci nazwanej o kluczu: {{Code|uchwyt}} {{Patrz|uchwyt}}, lub nienazwanej - w postaci numeru jego uchwytu o kluczu: {{Code|numer_numeracji}} {{Patrz|numer_numeracji}}, wsadzająca tabele z uchwytem na odpowiednią pozycję w odpowiedniej nazwanej tabeli o nazwie obiektu {{LinkPatrz|nazwa_obiektu}} w ogólnej tabeli: {{LinkPatrz|tablica_zmiennych}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}}- tabela parametrów szablonu,
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|numer_numeracji}} - jak w: {{LinkPatrz|numer_numeracji}},
* {{Code|tab_numer}} - jak w: {{LinkPatrz|tab_numer}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
== {{Śródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}{{Code|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}} ==
Funkcja sprawdza, czy dany artykuł należy do artykułów, któregoś spisu treści, a jeżeli nie, to dla stron, które nie należą do kategorii z ustawionym problemem {{Code|strony poza zakresem obsługiwanym}}, ale do nieaktualnej strony jest ustawiony problem {{Code|brak spisów treści do dołączonych stron}}. Natomiast dla aktualnej dla stron tej samej kategorii ustawiany jest problem {{Code|brak spisu treści do korzystanych stron}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== {{Śródtytuł|p.PusteParametryReferencji}}{{Code|p.PusteParametryReferencji}} ==
Funkcja sprawdza, jeśli są podane parametry szablonu stronicowego, które są w kategorii: {{lk|Szablony stronicowe}}, czyli: {{Code|nazwa_artykulu}}, ewentualnie: {{Code|nazwa_ksiazki}}, ale zawsze z: {{Code|uchwyt_obiektu}}, czy są one puste.
A jeżeli one istnieją i są takie, to są ustawione problemy typu, jeśli ich wcześniej nie ustawiono:
* {{Code|puste parametry szablonów stronicowych linkujących}} {{Patrz|puste parametry szablonów stronicowych linkujących}}, kolejno dla: {{Code|uchwyt_obiektu}}, {{Code|nazwa_artykulu}} i {{Code|nazwa_ksiazki}}, kolejno z numerami problemów: {{Code|1}}, {{Code|2}} i {{Code|3}}.
Dla obiektu o nazwie {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}.
{{Hr}}
Definicja skrótowa funkcji
<syntaxhighlight lang="lua">
function p.PusteParametryReferencji(self, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu)...end;
</syntaxhighlight>
Paraametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} {{Patrz|uchwyt_obiektu}} - uchwyt obiektu, podane w danym szablonie stronicowym,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}}.
== {{Śródtytuł|p.SzablonyReferencjiParametrowych}}{{Code|p.SzablonyReferencjiParametrowych}} ==
Funkcja z parametrów pudełkowych nazwy artykułu {{ZobaczTeż|nazwa artykułu}}: {{Code|nazwa artykułu}} {{Patrz|nazwa artykułu}} albo {{Code|1}}, gdy bezuchwytowe lub {{Code|2}}, i pełnej nazwy książki {{ZobaczTeż|pełna nazwa strony}}: {{Code|nazwa książki}} {{Patrz|nazwa książki}} albo, {{Code|2}}, gdy bezuchwytowe lub {{Code|3}}. To wszystko jest liczone z: {{LinkPatrz|tabela_parametrow_szablonu}} lub przy użyciu parametru również {{Code|bezuchwytowe}} {{Patrz|bezuchwytowe}}, gdy mamy szablon stronicowy {{lk|Szablony stronicowe}}, bezuchwytowy, wtedy {{Code|true}}, przeciwnie {{Code|false/nil}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca,bezuchwytowe)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{Code|bezuchwytowe}} - jak w: {{LinkPatrz|bezuchwytowe}}.
Funkcja obie nazwy dekoduje funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a później jest liczony adres bezwzględny z względnego dzięki: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, przy pomocy podstawy {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}}, podobnie ale wcześniej jest liczona nazwa artykułu {{linkZobaczTeż|nazwa artykułu}}, czyli: {{LinkPatrz|nazwa_artykulu}}, ale tutaj adres względny jest liczony z podstawy o ciągu pustym jako drugi parametr.
Na podstawie pełnej nazwy książki {{LinkZobaczTeż|pełna nazwa strony}}: jest liczona bardziej jej wersja pełniejsza, jeżeli to jest w ogóle możliwe z: {{Code|{{sr|#p["PełnaNazwaStronicowejKsiążki"]|p=Książkowe}}}}. A póżniej z tego wszystkiego są liczone nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, przy pomocy funkcji nazw: {{Code|{{ld2|Nazwy}}}}.
Na samym końcu funkcji są zwracane parametry nazw, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== Funkcje zbierania informacji ==
=== {{Śródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}{{Code|p.ZbieranieInformacjiStronyWoluminowychPozycji}} ===
Funkcja zbierania informacji na stronie dla szablonów stronicowych: {{lk|Szablony stronicowe}}, bezuchwytowych, gdy nie jest uruchomiony parametr: {{Code|czy_inna_wartosc_tekst}} {{Patrz|czy_inna_wartosc_tekst}}, wtedy jest wywoływana funkcja: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}, która liczy kolejne nazwy charaktertyzujące nazwy dla danego artykułu książki dla danej strony, przeciwnie parametry nazw są ściagane z: {{Code|tab_nazwy}} {{Patrz|tab_nazwy}}, ta tabela składa się numerowanych elementów, którymi są nazwy charakyteryzujące stronę.
Gdy jakaś nazwa artylułu strony została policzona, wtedy są liczone pozostałe nazwy z: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, a na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, a tuż przed nim, jeśli istnieje: {{Code|KtorySzablonMaZwracacKategorie}} {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,KtorySzablonMaZwracacKategorie,czy_inna_wartosc_tekst,tab_nazwy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_inna_wartosc_tekst}} - jak w: {{LinkPatrz|czy_inna_wartosc_tekst}},
* {{Code|tab_nazwy}} - jak w: {{LinkPatrz|tab_nazwy}}.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacji}}{{Code|p.ZbieranieKontenerowychInformacji}} ===
Funkcja do zbierania informacji, która z parametrów pudełkowych: {{Code|{{m|Pudełko}}}}, czyli: {{Code|nazwa przestrzeni nazw}} {{Patrz|nazwa przestrzeni nazw}} i {{Code|nazwa jednostki}} {{Patrz|nazwa jednostki}}, z nich są liczone parametry nazw charakteryzujące artykuł książki strony. A na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} {{Patrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,czy_szablon_pudelkowy_strony_zbiorczej,KtorySzablonMaZwracacKategorie)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} {{Patrz|czy_szablon_pudelkowy_strony_zbiorczej}} - funkcja potrzebna do funkcji zbierającej {{LinkPatrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, określającej, czy mamy szablon pudełkowy strony zbiorczej, taki jak: {{Code|{{s|StronaSubst}}}}, czy: {{Code|{{s|KsiążkaSubst}}}}, zobacz stronę: {{Code|{{lr2|Moduły/StronicowyParser/StronaSubst}}}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Gdy nie ma parametrów pudełkowych funkcja się natychmiast zakańcza, lub parametr: {{LinkPatrz|nazwa jednostki}}, jest pusta, lub nawet gdy zawierają kody wykrywane przez funkcję: {{Code|{{sr|#p.NormaWzoruKodowaniaTekstu|p=Szablonowe}}}}.
Z nazwy jednostki jest wydzielana nazwa jednostki właściwa bez nazwy nagłówka, póżniej obie nazwy są też dekodowane funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, czyli wszystko z: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}.
Z tych dwóch nazwy jest liczony adres, ewentualnie względny, który za pomocą funkcji: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, jest wyliczany adres bezwzględny.
Dalej są liczone nazwy charakteryzujące artykuł danej książki strony, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, z tego adresu strony.
Przedostatnia funkcja, która jest uruchamiana przed funkcją zbierającą jest: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}, jeśli istnieje.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacjiReferencji}}{{Code|p.ZbieranieKontenerowychInformacjiReferencji}} ===
Funkcja zbiera informacje o stronie. Na podstawie informacji o nazwie artykułu i pełnej nazwy książki liczy parametry nazw charakteryzujące artykuł, co na tej podstawiwe liczy parametry pudełkowe i wywołuje funkcję główną przez inną funkcję, też zbierającą, i zbiera informacje o artykule.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacjiReferencji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, jako parametry zwracane przez funkcję: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}. Funkcja wyznacza parametry pudełkowe {{m|Pudełko}}, tzn.: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}, na podstawie tych nazw. Funkcja na samym końcu wywołuje funkcję zbierającą dane ze strony: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}, która z kolei uruchamia potem: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
== {{Śródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}{{Code|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}} ==
Funkcja sprawdza niepoprawność nazwy strony i na podstawie tego ustawia pewne kody problemów.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,__FUNKCJA_SPRAWDZANIE)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|__FUNKCJA_SPRAWDZANIE}} {{Patrz|__FUNKCJA_SPRAWDZANIE}} - funkcja uruchamiana, jeśli jest ustawiona, na wypadek poprawności strony.
W przypadku niepoprawności strony, gdy strona modułu jest aktualna (bieżąca), wtedy sprawdzany jest kod problemu, czy jest ustawiony, tzn.: {{Code|nieprawidłowe nazwy korzystanych stron}}, przy pomocy funkcji: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli nie ma takiego, to wtedy jest uruchamiana funkcja: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}. Podobnie jest dla niekorzystanej strony, wtedy jest problem dla kodu: {{Code|nieprawidłowe nazwy stron dołączanych do stron}}.
== Zbieranie informacji o linkach ==
=== {{Śródtytuł|p.LinkowanieFinalizowaniePrac}}{{Code|p.LinkowanieFinalizowaniePrac}} ===
Funkcja wadza uchwyt obiektu, wsazujący na aktualną stronę, do pewnej strony, i ewentualnie ustawia pewne problemy, jeśli je nie ustawiono.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} {{Patrz|obiekt}} - obiekt, obsługiwany przez tą funkcję linku,
* {{Code|kod}} {{LinkPatrz|kod}} - kod obiektu dla: {{LinkPatrz|obiekt}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} - jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}},
* {{Code|czy_pobierz}} {{Patrz|czy_pobierz}} - czy to jest szablon typu {{Code|Pobierz}} {{Patrz|Pobierz}}, jak: {{s|PobierzŚródtekst}}.
Funkcja sprawdza, czy nie został ustawiony element {{Code|tablica_zmiennych.sprawdzenie_dokonane_linku}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}, a jeżeli tak, to dalej, czy nie ma elementów numerowanych przy pomocy funkcji: {{Code|{{sr|#p["CzySąElementyNumerowaneTablicy"]|p=Parametry}}}}, a jeśli również tak, to dalej jest sprawdzane, czy został ustawiony problem: {{Code|strony poza zakresem obsługiwanym}}, przy pomocy: {{Code|{{sr|#p.CzyJestTakiElementTabeliProblemu|p=StronicowyParser/Problemy}}}}, a jeżeli nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}. Na samym końcu tej instrukcji warunkowej jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}.
Dalej pod tą instrukcją warunkową, jest robione, co powiedziane zostało w prologu tego opisu tej funkcji, tzn. z wyznaczonej tablicy ze: {{LinkPatrz|tablica_zmiennych}}, a dalej z wyznaczonej następnej podtabeli o kluczu: {{LinkPatrz|nazwa_obiektu}}.
Następnie, gdy element: {{LinkPatrz|czy_pobierz}}, jest ustawiony na {{Code|true}}, wtedy dla {{LinkPatrz|uchwyt_obiektu}}, pewna tablica, jest wstawiana do tablicy: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}}, jeśli istnieje, a jeśli nie, to jest tworzona, jako tablica, wtedy też jest to robione. Tą czynnością wstawiany tabelę, do tej tablicy, czyli:
<syntaxhighlight lang="lua">
{{nazwa_obiektu,uchwyt_obiektu,},{obiekt,kod,},}
</syntaxhighlight>
=== {{Śródtytuł|p.LinkowanieInnychStron}}{{Code|p.LinkowanieInnychStron}} ===
Funkcja do sprawdzania innych stron niż aktualna, a jeżeli dana strona została już sprawdzona, to powtórnie nie jest już rewidowana. Funkcja ustawia w głównej tablicy aktualnej tabeli {{LinkPatrz|tablica_zmiennych}} pewne podtablice.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieInnychStron(self,obiekt,kod,tablica_zmiennych, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejo jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Najpierw jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, która w razie poprawności nazwy strony, czyli inaczej nazw tej strony, tzn.: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, uruchamia funkcję zdefiniowaną w nim.
{{Tab}}Ta funkcja sprawdza, czy któraś z parametrów nazw istnieje, a jeżeli nie, to dalej jest inicjowana zmienna: {{Code|tablica_zmiennych2}} {{Patrz|tablica_zmiennych2}} pustą tablicą i podobnie {{Code|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}} {{Patrz|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}}, to uruchamiana jest: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, do zbierania informacji o stronie nowej lub przebadanej (wtedy zostają zwrócone parametry z wczęsniejszego jego analizowania, jak była nowa). Funkcja zwraca trzy parametry, tzn. {{Code|tabela_listy_danych_analizy_ksiazki0}} {{Patrz|tabela_listy_danych_analizy_ksiazki0}}, {{LinkPatrz|tablica_zmiennych2}} i {{Code|czy_inna}} {{Patrz|czy_inna}}. Te parametry mogą przyjmować wartość {{Code|nil}}, lub pierwszy {{Code|0}}, drugi, to nic innego jest jak: {{LinkPatrz|tablica_zmiennych2}}, a trzeci parametr jest wtedy równy {{Code|true}}, gdy strona jest nowa, a {{Code|false}} aktualna, a gdy {{Code|nil}}, gdy np. zawartość strony nie istnieje.
Gdy parametr: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, istnieje, wtedy jest spraqdzane, czy któreś z parametrów: {{LinkPatrz|tablica_zmiennych2}} i {{LinkPatrz|czy_inna}}, nie istsnieje, wtedy ta funkcja się zakańcza.
==== {{Śródtytuł|JuzPoliczone}}{{Code|JuzPoliczone}} ====
Dla obiektów, dla których jest ustawiony parametr: {{LinkPatrz|czy_pobierz}}, co dalej w tym rozgałęzieniu instrukcji warunkiwej jest uruchamiana funkcja szablonów tekstu, czyli: {{Code|{{sr|#p.UstawianiePobierz|p=StronicowyParser/SzablonyTekstu}}}}, aby również później za pomocą innych funkcji przeanalizować również tekst w szablonach takich jak: {{s|Śródtekst}}.
Dalej jest tworzona tablica, jeśli nie istnieje, tzn. {{Code|tablica_zmiennych2.dane_juz_policzone}} {{Patrz|tablica_zmiennych2.dane_juz_policzone}}, czyli jest inicjowana pustą tablicą. Dalej jest tworzona, jeśli nie istnieje, tablica wielowymiarowa po kolei, o kluczach kolejno: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}, {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu}}, a jeżeli ta ostatnia wartość tej tablicy była wcześniej, to zwracane jest {{Code|true}}, przeciwnie {{Code|false}}, a tej ostatniej wartości tej tablicy jest przydzielana wartość {{Code|true}}.
==== Dalszy opis funkcji ====
Gdy parametr: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest równy {{Code|0}}, ale nie {{Code|nil}}, wtedy jest sprawdzane, czy artykuł został wcześniej zrewidowany według: {{LinkŚródtytuł|JuzPoliczone}}, a jeżeli tak to jest zakańczany, a gdy ten parametr taakiej wartośsci nie przyjmuje, wtedy tylko jest uruchamiana funkcja bez żadnego warunku.
{{Tab}}Następnie jest uruchamiana funkcja: {{Code|{{sr|#p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony|p=StronicowyParser/SzablonyTekstu}}}}, do przydzielenia pewnych zmiennych z {{LinkPatrz|tablica_zmiennych2}} tablicy {{LinkPatrz|tablica_zmiennych}}.
{{Tab}}Jest sprawdzane, czy dany artykuł należy do spisu, jeżeli nie to są ustawiane pewne kody problemów w tablicy problemów, tzn. {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}.
Dalej jest sprawdzane, czy podany uchwyt {{LinkPatrz|uchwyt_obiektu}}, który jest podany w szablonach linków na aktualnej stronie, czy jest tylko jeden na stronie sprawdzanej, a jeżeli nie jest tak, to jest sprawdzane, czy nie istnieje ustawiony problem: {{Code|błędy uchwytów korzystanych stron}}, funkcją: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to taki problem jest dodawany dzięki: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
{{Tab}}Uruchamiana jest dalej funkcja: {{LinkŚródtytuł|p.PusteParametryReferencji}}, do sprawdzania pustości pewnych parametrów.
{{Tab}}Gdy tabela: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest jednak równa wartości odpowiadającej fałszywej, wtedy jeśli nie istnieje problem: {{Code|błąd wewnętrzny modułu lua stronicowego parsera}}, co jest rewidowane elementem: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to dodawany jest taki problem do tabeli problemów na podstawie: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
=== {{Śródtytuł|p.GeneralneLinkowanie}}{{Code|p.GeneralneLinkowanie}} ===
Funkcja zbiera uchwyty, na aktualnej lub innej stronie, a także je analizuje w odpowiedni sposób, modyfikuje tablica aktualnego modułu, czyli: {{LinkPatrz|tablica_zmiennych}}, na podstawie poszczególnych artykułów tej książki lub innej, która zbiera raz informacje o danej stronie.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Funkcja wyznacza uchwyt z tabeli parametrów: {{LinkPatrz|tabela_parametrow_szablonu}}, o kluczu {{Code|uchwyt}} {{LinkPatrz|uchwyt}} lub {{Code|1}}, a później w kodzie jest on kompletowany funkcją: {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a następnie rozwijany w niej, a później jest dekodowany: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}.
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, wywołujac: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}.
Na samym końcu jest uruchamiana: {{LinkPatrz|KtorySzablonMaZwracacKategorie}} z parametrem o tym uchwycie, wyliczonym wcześniej.
Gdy uchwyt istnieje, ale jest pusty, wtedy uruchamia się: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, następnie: {{LinkŚródtytuł|p.PusteParametryReferencji}}, a jeśli ta wartość nie istnieje, wtedy tylko ta ostatnia funkcja.
Gdy uchwyt: {{LinkPatrz|uchwyt}}, istnieje i jest niepusty, wtedy jest wyznaczana nazwa artykułu z niej samej, lub jeśli nazwa ksiązki istnieje, tylko, wtedy ta nazwa zaczyna być pusta, przeciwnie {{Code|nil}}, wtedy mamy do czynienia ze stroną główną podręcznika.
Gdy nazwa artykułu nie istnieje, wtedy wywoływana jest: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Jeśli nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest niepusta, i gdy nazwa książki nie istnieje, wtedy są liczone parametry nazw, oprócz nazwy artykułu, bo jest policzona, więc te {{ZobaczTeż|nazwy}}: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, z parametrów charakteryzujących nazwę aktualnego artykułu, a jeśli jednak nazwa książki jest pusta, to są sprawdzane parametry w: {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Gdy nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest nieistnieje, i gdy nazwa książki {{LinkPatrz|nazwa_ksiazki}} jest niepusta, wtedy nazwa artykułu zaczyna istnieć i inicjujemy wtedy ją wartością pustą, a jeśli pusta, za zaczyna być potem generowanie kodów błędów funkcją {{LinkŚródtytuł|p.PusteParametryReferencji}}, by potem się zakończyła ta funkcja.
Przeciwnie są liczone parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, tą samą metodą, co w punkcie: {{LinkZobaczTeż|nazwy}}.
Gdy nazwy {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}} są porównywane z nazwami, którymi się przypisje jak w: {{LinkZobaczTeż|nazwy}}, wtedy uruchamiamy funkcję: {{LinkŚródtytuł|p.LinkowanieInnychStron}}, przeciwnie wtedy działają dwie funkcje uruchomione po kolei, tzn.: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
== {{Śródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}{{Code|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} ==
Funkcja służy do zbierania informacji o danej analizowanej stronie, którego główną częścią jest strona korzystana, w której gromadzą się informacji też z pozostałych.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, czy_artykul_korzystany,tablica_zmiennych,czy_szablon_pudelkowy_strony_zbiorczej)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} - jak w: {{LinkPatrz|czy_szablon_pudelkowy_strony_zbiorczej}}.
=== {{Śródtytuł|__FUNKCJA_ARTYKULU}}{{Code|__FUNKCJA_ARTYKULU}} ===
Funkcja do tworzenia tabeli artykułów z innymi parametrami wielowymiarowej tej tabeli, a jeżeli owe pośrednie, i nie tylko, istnieją, to te tabele są zwracane lub nowo są tworzone.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji {{ZobaczTeż|parametry artykułu}}:
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}},
* {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu}} - nazwa artykułu w książce, bez pełnej nazwy książki.
Poniżej są tworzone podtabele puste, jeśli nie zostały utworzone.
Funkcja, która w tabeli: {{Code|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}} {{Patrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, która istnieje, tworzy tabele trójwymiarową kolejno po prarametrach: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, te tabele pośrednie śą wtedy tworzone, jeśsli nie istnieją, a gdy istnieją to nie są tworzone, tylko funkcja przechodzi do dalszych.
Dalej tworzona jest podtabela, jeśli nie istnieje o nazwie {{Code|lista_podstron_woluminu}} {{Patrz|lista_podstron_woluminu}}.
Następnie generowana jest podtabela, jeśli nie istnieje, o kluczu: {{LinkPatrz|nazwa_artykulu}}.
Funkcja zwraca kolejno elementy, jeśli klucz: {{LinkPatrz|nazwa_artykulu}}, istnieje, zatem:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany;
</syntaxhighlight>
Przeciwnie zwracany jest zbiór zmiennych po kolei:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki;
</syntaxhighlight>
Co to są za zmienne, wiadomo z ich nazw, po prostu są to pewne pośrednie, i nie tylko, tabele.
=== {{Śródtytuł|__FUNKCJA_POBIERANIE}}{{Code|__FUNKCJA_POBIERANIE}} ===
Funkcja zwraca parametry strony aktualnej, analizowanej jeszcze raz, aby ją nie powtórnie rewidować, lub podobnie dla innego artykułu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_POBIERANIE(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji są takie same jak w punkcie {{LinkZobaczTeż|parametry artykułu}}.
{{Tab}}Analiza dla artykułów niekorzystanych według parametru: {{LinkPatrz|czy_artykul_korzystany}}:
Dla jeszcze raz analizowanego artykułui aktualnego zwracane są parametry:
<syntaxhighlight lang="lua">
return 0,nil,nil,nil,nil,nil,self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron,false;
</syntaxhighlight>
Tabela: {{Code|self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron}}, tam są dane zebrane z aktualnego artykułu.
Dla innej takiej strony jest tworzony parametr, jeżeli jest włączona analiza, dla klucza: {{Code|analiza_spis_tresci}} {{Patrz|analiza_spis_tresci}}, według tego jest tworzony wartością prawdziwą parametr o innym znów kluczu: {{Code|analiza_spis_tresci_doloczone}} {{Patrz|analiza_spis_tresci_doloczone}}:
<syntaxhighlight lang="lua">
if(self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci)then
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=true;
end;
</syntaxhighlight>
Dla elementu: {{LinkPatrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, jeżeli dany artykuł był już rewidowany, to zwracane są elementy:
<syntaxhighlight lang="lua">
return 0,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni,dane_zebrane_ze_stron,true;
</syntaxhighlight>
To: {{Code|dane_zebrane_ze_stron}} {{Patrz|dane_zebrane_ze_stron}}, to podtabela: {{LinkPatrz|lista_podstron_woluminu}}, z kluczem: {{LinkPatrz|nazwa_artykulu}}, o nazwie takiej samej jak ten parametr zwracany.
Przeciwnie jest zwracane: {{Code|true}}, lub {{Code|nil}}, jeśli tabela: {{Code|self.tabela_listy_danych_analizy_ksiazki}} {{Patrz|self.tabela_listy_danych_analizy_ksiazki}}, lub podtatela: {{LinkPatrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, nie istnieje.
=== {{Śródtytuł|InneInformacjePrzebneDoAnalizowanejKsiazki}}{{Code|InneInformacjePrzebneDoAnalizowanejKsiazki}} ===
Funkcja do zbierania informacji o spisie artykułów książkowych i ich licencjach oraz ewentualnie zebrane informacje ze stron: {{lk2|Szablony nawigacyjne układu autonawigacji do autonawigacji podręczników}}, z szablonu, w któreś tej pozycji w: {{s|Układ autonawigacji}}, i ze spisów podanej w niej jako parametry.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function InneInformacjePrzebneDoAnalizowanejKsiazki()...end;
</syntaxhighlight>
Parametry funkcji:
* brak.
==== {{Śródtytuł|__FUNKCJA_SPISU}}{{Code|__FUNKCJA_SPISU}} ====
Funkcja do inicjowania parametrów spisu, aktualnego artykułu, uzyskanych z ich analizy.
Definicja skrotowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_SPISU(tablica_ksiazki,czy_podac_adres)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tablica_ksiazki}} {{Patrz|tablica_ksiazki}} - tablica dla analizowanej książki,
* {{Code|czy_podac_adres}} {{Patrz|czy_podac_adres}} - czy podać adres bazowego woluminu.
Tablicy: {{linkPatrz|tablica_ksiazki}}, jest inicjowany element: {{Code|spis}} {{Patrz|spis}}, tabelą: {{Code|tabela_artykulow}} {{Patrz|tabela_artykulow}}.
Gdy: {{LinkPatrz|czy_artykul_korzystany}}, jest wartością fałszywą, to iniciowaną tablicy: {{LinkPatrz|tablica_ksiazki}}, jest parametr o kluczu: {{Code|licencja}} {{Patrz|licencja}}, tabelą: {{Code|tabela_licencji_spisu_tresci}} {{Patrz|tabela_licencji_spisu_tresci}}.
Dalej kolejno elementy: {{Code|nazwa_bazowego_spisu}} {{Patrz|nazwa_bazowego_spisu}}, {{Code|tab_inne_spisy}} {{Patrz|tab_inne_spisy}} i {{Code|dodatkowe_strony_woluminu}}, tabeli: {{LinkPatrz|tablica_ksiazki}}, i inicjowane są tabelami o takich samych nazwach jak te klucze dwa, a ostatni tabelą: {{Code|dodatkowe_artykuly}} {{Patrz|dodatkowe_artykuly}}.
Dla tabeli: {{LinkPatrz|tablica_ksiazki}}, o kluczu w nim {{Code|adres_woluminu_bazowego_spisu_rzeczy}}, ona jest przyrównywana wartością: {{Code|adres_ksiazki_glownego_spisu_tresci}} {{Patrz|adres_ksiazki_glownego_spisu_tresci}}, jeśli istnieje: {{LinkPatrz|czy_podac_adres}}, lub przeciwnie wartością {{Code|nil}}.
==== Dalszy opis funkcji ====
=== {{Śródtytuł|PrzekierownieAwaryjne}}{{Code|PrzekierownieAwaryjne}} ===
=== {{Śródtytuł|StronaZbiorcza}}{{Code|StronaZbiorcza}} ===
=== {{Śródtytuł|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}}{{Code|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}} ===
=== {{Śródtytuł|GeneralnaAnalizaSzablonuStronicowegoParsera}}{{Code|GeneralnaAnalizaSzablonuStronicowegoParsera}} ===
=== {{Śródtytuł|IterowaniePoElementachTekstu}}{{Code|IterowaniePoElementachTekstu}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieNaglowek}}{{Code|KtorySzablonMaZwracacKategorieNaglowek}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieTekst}}{{Code|KtorySzablonMaZwracacKategorieTekst}} ===
=== {{Śródtytuł|CzyJestTakiProblemJakoElementTablicy}}{{Code|CzyJestTakiProblemJakoElementTablicy}} ===
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
rxv7jrbs1wr3u2xky2atjle994etby6
547248
547247
2026-06-30T07:01:51Z
Persino
2851
/* Dalszy opis funkcji */
547248
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/ZbieranieDanychStron}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== Zbieranie informacji o uchwycie ==
=== {{Śródtytuł|p.UchwytyZeiBezNumeracji}}{{Code|p.UchwytyZeiBezNumeracji}} ===
Funkcja zbiera uchwyty, dla obiektów {{ZobaczTeż|p.UchwytyZeiBezNumeracji}}, bez numeracji, nie licząc obiektów tekst takich jak {{s|Śródtekst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UchwytyZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,lista_dwuelementowa,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} {{Patrz|self}} - zmiennna obiektowa modułu {{Code|{{ld2|StronicowyParser/ZbieranieDanychStron}}}} {{Patrz|StronicowyParser/ZbieranieDanychStron}},
* {{Code|tabela_elementow_strony_kodow}} {{Patrz|tabela_elementow_strony_kodow}} - zmienna zbierająca takie kody jak {{LinkZobaczTeż|p.UchwytyZeiBezNumeracji}},
* {{Code|nazwa_obiektu}} {{Patrz|nazwa obiektu}} - nazwa obiektu,
* {{Code|lista_dwuelementowa}} {{Patrz|lista_dwuelementowa}} - pozycja w normalnej tabeli uchwytów i przeważnie ich numeracji, a tutaj dla tego obiektu,
* {{Code|kod}} {{Patrz|kod}} - numer kodu dla tego obiektu.
Funkcja zbiera elementy {{LinkPatrz|lista_dwuelementowa}} w tablicy wielowymiarowej o pierwszym elemencie wymiaru {{LinkPatrz|nazwa obiektu}} i trzecim {{LinkPatrz|kod}}, oraz o drugim {{Code|uchwyty_bez_numeracji}} {{Patrz|uchwyty_bez_numeracji}}.
=== {{Śródtytuł|p.WydobywanieUchwytuZeiBezNumeracji}}{{Code|p.WydobywanieUchwytuZeiBezNumeracji}} ===
Funkcja wydowywa tablicę uchwytu dla pozycji, ale nie sam uchwyt, dla podtablicy {{LinkPatrz|uchwyty_bez_numeracji}} o danym kodzie {{LinkPatrz|kod}}, dla nazwy obiektu {{LinkPatrz|nazwa_obiektu}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.WydobywanieUchwytuZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_elementow_strony_kodow}} - jak w: {{LinkPatrz|tabela_elementow_strony_kodow}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}}.
Funkcja wykorzystuje elementy tablicy: {{LinkPatrz|uchwyty_bez_numeracji}}, wstawione przez funkcję: {{LinkŚródtytuł|p.UchwytyZeiBezNumeracji}}.
=== {{Śródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}{{Code|p.RozpatrywanieElementuUchwytuNumeracji}} ===
Funkcja wsadzająca utworzoną tablicę z podanym uchwytem do ogólnej tablicy pozycji nazwanych tabel z uchwytami o danej pozycji z nim.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|kod_uchwytu}} {{Patrz|kod_uchwytu}} - kod uchwytu podanego do szablonu stronicowego z odpowiednim uchwytem,
* {{Code|tab_numer}} {{Patrz|tab_numer}} - tablica z numerkami ilości elementów w tablicy parametrów nazwanych z uchwytami, w danym elemencie analizowania strony z uchwytami i obiektami,
* {{Code|tablica_zmiennych}} {{Patrz|tablica_zmiennych}} - tablica analizowania obiektów, danej strony,
* {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} {{Patrz|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - kolejno: nazwa przestrzeni nazw, nazwa przestrzeni książki, nazwa książki i nazwa artykułu książki,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} {{Patrz|czy_artykul_korzystany}} - czy artykuł aktualny wyświetlany w przeglądarce,
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} {{Patrz|nazwa_modulu_aktualna_czy_biezaca}} - nazwa artykułu aktualna lub bieżąca,
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{Patrz|tablica_analizy_obiektow_strony_dany_modul}} - tablica bazy kodów parsowania strony,
* {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - tablica analizy poszczególnych elementów kodów, do szybszego działania skryptu,
* {{Code|KtorySzablonMaZwracacKategorie}} {{Patrz|KtorySzablonMaZwracacKategorie}} - tablica zbierająca odkodowany i rozwinięty uchwyt, do analizowania w nim zebranych kategorii, według modułu: {{Code|{{ld2|StronicowyParser/Kategorie}}}}, uruchamiana w szablonach stronicowych z funkcjami '''stronicowego parsera'''.
Funkcja rozwija {{LinkPatrz|kod_uchwytu}} funkcją {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a potem je odkodowuje przy pomocy: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a jeżeli ona nie jest pusta, to dla tego jest uruchamiana funkcja {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Tworzona jest tablica {{Code|lista_dwuelementowa}} {{LinkPatrz|lista_dwuelementowa}} z uchwytem, jako pierwszy parametr.
Jest sprawdzane, czy element {{Code|tablica_zmiennych.sprawdzenie_dokonane_obiektu}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, jest fałszywy, jeżeli tak, to dalej jest sprawdzane, czy są elementy numerowane nazwanej tablicy: {{Code|tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2}} o nazwie {{LinkPatrz|nazwa_obiektu}}, a jeżeli jest pusta - na samym końcu jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, czyli jest inicjowana na wartość {{Code|true}}, to dalej jest sprawdzane, czy dla elementów: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy dana książka jest poza zakresem obsługiwanym, czyli rewidowane jest, czy jest ustawiony kod problemu {{Code|strony poza zakresem obsługiwanym}}, czy a jeżeli jednak nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}, ustawiające pewne elementy błędu, jeżeli trzeba to zrobić.
Gdy tabela {{LinkPatrz|tab_numer}} odpowiada nienilowej tablicy, wtedy element {{LinkPatrz|lista_dwuelementowa}} jest wstawiany na odpowiedniej pozycji, ale przeważnie nie na końcu, przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=table.insert|b=tak}}}}, dzięki określonej tabeli {{LinkPatrz|tab_numer}}, przeciwnie na jej końcu.
Funkcja zwraca element {{LinkPatrz|lista_dwuelementowa}}.
=== {{Śródtytuł|p.RozpatrywanieSzablonuObiektuDoNumeracji}}{{Code|p.RozpatrywanieSzablonuObiektuDoNumeracji}} ===
Funkcja, która uruchamia funkcję: {{LinkŚródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}, dla istniejącego uchwytu w postaci nazwanej o kluczu: {{Code|uchwyt}} {{Patrz|uchwyt}}, lub nienazwanej - w postaci numeru jego uchwytu o kluczu: {{Code|numer_numeracji}} {{Patrz|numer_numeracji}}, wsadzająca tabele z uchwytem na odpowiednią pozycję w odpowiedniej nazwanej tabeli o nazwie obiektu {{LinkPatrz|nazwa_obiektu}} w ogólnej tabeli: {{LinkPatrz|tablica_zmiennych}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}}- tabela parametrów szablonu,
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|numer_numeracji}} - jak w: {{LinkPatrz|numer_numeracji}},
* {{Code|tab_numer}} - jak w: {{LinkPatrz|tab_numer}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
== {{Śródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}{{Code|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}} ==
Funkcja sprawdza, czy dany artykuł należy do artykułów, któregoś spisu treści, a jeżeli nie, to dla stron, które nie należą do kategorii z ustawionym problemem {{Code|strony poza zakresem obsługiwanym}}, ale do nieaktualnej strony jest ustawiony problem {{Code|brak spisów treści do dołączonych stron}}. Natomiast dla aktualnej dla stron tej samej kategorii ustawiany jest problem {{Code|brak spisu treści do korzystanych stron}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== {{Śródtytuł|p.PusteParametryReferencji}}{{Code|p.PusteParametryReferencji}} ==
Funkcja sprawdza, jeśli są podane parametry szablonu stronicowego, które są w kategorii: {{lk|Szablony stronicowe}}, czyli: {{Code|nazwa_artykulu}}, ewentualnie: {{Code|nazwa_ksiazki}}, ale zawsze z: {{Code|uchwyt_obiektu}}, czy są one puste.
A jeżeli one istnieją i są takie, to są ustawione problemy typu, jeśli ich wcześniej nie ustawiono:
* {{Code|puste parametry szablonów stronicowych linkujących}} {{Patrz|puste parametry szablonów stronicowych linkujących}}, kolejno dla: {{Code|uchwyt_obiektu}}, {{Code|nazwa_artykulu}} i {{Code|nazwa_ksiazki}}, kolejno z numerami problemów: {{Code|1}}, {{Code|2}} i {{Code|3}}.
Dla obiektu o nazwie {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}.
{{Hr}}
Definicja skrótowa funkcji
<syntaxhighlight lang="lua">
function p.PusteParametryReferencji(self, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu)...end;
</syntaxhighlight>
Paraametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} {{Patrz|uchwyt_obiektu}} - uchwyt obiektu, podane w danym szablonie stronicowym,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}}.
== {{Śródtytuł|p.SzablonyReferencjiParametrowych}}{{Code|p.SzablonyReferencjiParametrowych}} ==
Funkcja z parametrów pudełkowych nazwy artykułu {{ZobaczTeż|nazwa artykułu}}: {{Code|nazwa artykułu}} {{Patrz|nazwa artykułu}} albo {{Code|1}}, gdy bezuchwytowe lub {{Code|2}}, i pełnej nazwy książki {{ZobaczTeż|pełna nazwa strony}}: {{Code|nazwa książki}} {{Patrz|nazwa książki}} albo, {{Code|2}}, gdy bezuchwytowe lub {{Code|3}}. To wszystko jest liczone z: {{LinkPatrz|tabela_parametrow_szablonu}} lub przy użyciu parametru również {{Code|bezuchwytowe}} {{Patrz|bezuchwytowe}}, gdy mamy szablon stronicowy {{lk|Szablony stronicowe}}, bezuchwytowy, wtedy {{Code|true}}, przeciwnie {{Code|false/nil}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca,bezuchwytowe)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{Code|bezuchwytowe}} - jak w: {{LinkPatrz|bezuchwytowe}}.
Funkcja obie nazwy dekoduje funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a później jest liczony adres bezwzględny z względnego dzięki: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, przy pomocy podstawy {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}}, podobnie ale wcześniej jest liczona nazwa artykułu {{linkZobaczTeż|nazwa artykułu}}, czyli: {{LinkPatrz|nazwa_artykulu}}, ale tutaj adres względny jest liczony z podstawy o ciągu pustym jako drugi parametr.
Na podstawie pełnej nazwy książki {{LinkZobaczTeż|pełna nazwa strony}}: jest liczona bardziej jej wersja pełniejsza, jeżeli to jest w ogóle możliwe z: {{Code|{{sr|#p["PełnaNazwaStronicowejKsiążki"]|p=Książkowe}}}}. A póżniej z tego wszystkiego są liczone nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, przy pomocy funkcji nazw: {{Code|{{ld2|Nazwy}}}}.
Na samym końcu funkcji są zwracane parametry nazw, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== Funkcje zbierania informacji ==
=== {{Śródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}{{Code|p.ZbieranieInformacjiStronyWoluminowychPozycji}} ===
Funkcja zbierania informacji na stronie dla szablonów stronicowych: {{lk|Szablony stronicowe}}, bezuchwytowych, gdy nie jest uruchomiony parametr: {{Code|czy_inna_wartosc_tekst}} {{Patrz|czy_inna_wartosc_tekst}}, wtedy jest wywoływana funkcja: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}, która liczy kolejne nazwy charaktertyzujące nazwy dla danego artykułu książki dla danej strony, przeciwnie parametry nazw są ściagane z: {{Code|tab_nazwy}} {{Patrz|tab_nazwy}}, ta tabela składa się numerowanych elementów, którymi są nazwy charakyteryzujące stronę.
Gdy jakaś nazwa artylułu strony została policzona, wtedy są liczone pozostałe nazwy z: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, a na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, a tuż przed nim, jeśli istnieje: {{Code|KtorySzablonMaZwracacKategorie}} {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,KtorySzablonMaZwracacKategorie,czy_inna_wartosc_tekst,tab_nazwy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_inna_wartosc_tekst}} - jak w: {{LinkPatrz|czy_inna_wartosc_tekst}},
* {{Code|tab_nazwy}} - jak w: {{LinkPatrz|tab_nazwy}}.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacji}}{{Code|p.ZbieranieKontenerowychInformacji}} ===
Funkcja do zbierania informacji, która z parametrów pudełkowych: {{Code|{{m|Pudełko}}}}, czyli: {{Code|nazwa przestrzeni nazw}} {{Patrz|nazwa przestrzeni nazw}} i {{Code|nazwa jednostki}} {{Patrz|nazwa jednostki}}, z nich są liczone parametry nazw charakteryzujące artykuł książki strony. A na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} {{Patrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,czy_szablon_pudelkowy_strony_zbiorczej,KtorySzablonMaZwracacKategorie)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} {{Patrz|czy_szablon_pudelkowy_strony_zbiorczej}} - funkcja potrzebna do funkcji zbierającej {{LinkPatrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, określającej, czy mamy szablon pudełkowy strony zbiorczej, taki jak: {{Code|{{s|StronaSubst}}}}, czy: {{Code|{{s|KsiążkaSubst}}}}, zobacz stronę: {{Code|{{lr2|Moduły/StronicowyParser/StronaSubst}}}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Gdy nie ma parametrów pudełkowych funkcja się natychmiast zakańcza, lub parametr: {{LinkPatrz|nazwa jednostki}}, jest pusta, lub nawet gdy zawierają kody wykrywane przez funkcję: {{Code|{{sr|#p.NormaWzoruKodowaniaTekstu|p=Szablonowe}}}}.
Z nazwy jednostki jest wydzielana nazwa jednostki właściwa bez nazwy nagłówka, póżniej obie nazwy są też dekodowane funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, czyli wszystko z: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}.
Z tych dwóch nazwy jest liczony adres, ewentualnie względny, który za pomocą funkcji: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, jest wyliczany adres bezwzględny.
Dalej są liczone nazwy charakteryzujące artykuł danej książki strony, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, z tego adresu strony.
Przedostatnia funkcja, która jest uruchamiana przed funkcją zbierającą jest: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}, jeśli istnieje.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacjiReferencji}}{{Code|p.ZbieranieKontenerowychInformacjiReferencji}} ===
Funkcja zbiera informacje o stronie. Na podstawie informacji o nazwie artykułu i pełnej nazwy książki liczy parametry nazw charakteryzujące artykuł, co na tej podstawiwe liczy parametry pudełkowe i wywołuje funkcję główną przez inną funkcję, też zbierającą, i zbiera informacje o artykule.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacjiReferencji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, jako parametry zwracane przez funkcję: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}. Funkcja wyznacza parametry pudełkowe {{m|Pudełko}}, tzn.: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}, na podstawie tych nazw. Funkcja na samym końcu wywołuje funkcję zbierającą dane ze strony: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}, która z kolei uruchamia potem: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
== {{Śródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}{{Code|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}} ==
Funkcja sprawdza niepoprawność nazwy strony i na podstawie tego ustawia pewne kody problemów.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,__FUNKCJA_SPRAWDZANIE)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|__FUNKCJA_SPRAWDZANIE}} {{Patrz|__FUNKCJA_SPRAWDZANIE}} - funkcja uruchamiana, jeśli jest ustawiona, na wypadek poprawności strony.
W przypadku niepoprawności strony, gdy strona modułu jest aktualna (bieżąca), wtedy sprawdzany jest kod problemu, czy jest ustawiony, tzn.: {{Code|nieprawidłowe nazwy korzystanych stron}}, przy pomocy funkcji: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli nie ma takiego, to wtedy jest uruchamiana funkcja: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}. Podobnie jest dla niekorzystanej strony, wtedy jest problem dla kodu: {{Code|nieprawidłowe nazwy stron dołączanych do stron}}.
== Zbieranie informacji o linkach ==
=== {{Śródtytuł|p.LinkowanieFinalizowaniePrac}}{{Code|p.LinkowanieFinalizowaniePrac}} ===
Funkcja wadza uchwyt obiektu, wsazujący na aktualną stronę, do pewnej strony, i ewentualnie ustawia pewne problemy, jeśli je nie ustawiono.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} {{Patrz|obiekt}} - obiekt, obsługiwany przez tą funkcję linku,
* {{Code|kod}} {{LinkPatrz|kod}} - kod obiektu dla: {{LinkPatrz|obiekt}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} - jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}},
* {{Code|czy_pobierz}} {{Patrz|czy_pobierz}} - czy to jest szablon typu {{Code|Pobierz}} {{Patrz|Pobierz}}, jak: {{s|PobierzŚródtekst}}.
Funkcja sprawdza, czy nie został ustawiony element {{Code|tablica_zmiennych.sprawdzenie_dokonane_linku}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}, a jeżeli tak, to dalej, czy nie ma elementów numerowanych przy pomocy funkcji: {{Code|{{sr|#p["CzySąElementyNumerowaneTablicy"]|p=Parametry}}}}, a jeśli również tak, to dalej jest sprawdzane, czy został ustawiony problem: {{Code|strony poza zakresem obsługiwanym}}, przy pomocy: {{Code|{{sr|#p.CzyJestTakiElementTabeliProblemu|p=StronicowyParser/Problemy}}}}, a jeżeli nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}. Na samym końcu tej instrukcji warunkowej jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}.
Dalej pod tą instrukcją warunkową, jest robione, co powiedziane zostało w prologu tego opisu tej funkcji, tzn. z wyznaczonej tablicy ze: {{LinkPatrz|tablica_zmiennych}}, a dalej z wyznaczonej następnej podtabeli o kluczu: {{LinkPatrz|nazwa_obiektu}}.
Następnie, gdy element: {{LinkPatrz|czy_pobierz}}, jest ustawiony na {{Code|true}}, wtedy dla {{LinkPatrz|uchwyt_obiektu}}, pewna tablica, jest wstawiana do tablicy: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}}, jeśli istnieje, a jeśli nie, to jest tworzona, jako tablica, wtedy też jest to robione. Tą czynnością wstawiany tabelę, do tej tablicy, czyli:
<syntaxhighlight lang="lua">
{{nazwa_obiektu,uchwyt_obiektu,},{obiekt,kod,},}
</syntaxhighlight>
=== {{Śródtytuł|p.LinkowanieInnychStron}}{{Code|p.LinkowanieInnychStron}} ===
Funkcja do sprawdzania innych stron niż aktualna, a jeżeli dana strona została już sprawdzona, to powtórnie nie jest już rewidowana. Funkcja ustawia w głównej tablicy aktualnej tabeli {{LinkPatrz|tablica_zmiennych}} pewne podtablice.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieInnychStron(self,obiekt,kod,tablica_zmiennych, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejo jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Najpierw jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, która w razie poprawności nazwy strony, czyli inaczej nazw tej strony, tzn.: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, uruchamia funkcję zdefiniowaną w nim.
{{Tab}}Ta funkcja sprawdza, czy któraś z parametrów nazw istnieje, a jeżeli nie, to dalej jest inicjowana zmienna: {{Code|tablica_zmiennych2}} {{Patrz|tablica_zmiennych2}} pustą tablicą i podobnie {{Code|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}} {{Patrz|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}}, to uruchamiana jest: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, do zbierania informacji o stronie nowej lub przebadanej (wtedy zostają zwrócone parametry z wczęsniejszego jego analizowania, jak była nowa). Funkcja zwraca trzy parametry, tzn. {{Code|tabela_listy_danych_analizy_ksiazki0}} {{Patrz|tabela_listy_danych_analizy_ksiazki0}}, {{LinkPatrz|tablica_zmiennych2}} i {{Code|czy_inna}} {{Patrz|czy_inna}}. Te parametry mogą przyjmować wartość {{Code|nil}}, lub pierwszy {{Code|0}}, drugi, to nic innego jest jak: {{LinkPatrz|tablica_zmiennych2}}, a trzeci parametr jest wtedy równy {{Code|true}}, gdy strona jest nowa, a {{Code|false}} aktualna, a gdy {{Code|nil}}, gdy np. zawartość strony nie istnieje.
Gdy parametr: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, istnieje, wtedy jest spraqdzane, czy któreś z parametrów: {{LinkPatrz|tablica_zmiennych2}} i {{LinkPatrz|czy_inna}}, nie istsnieje, wtedy ta funkcja się zakańcza.
==== {{Śródtytuł|JuzPoliczone}}{{Code|JuzPoliczone}} ====
Dla obiektów, dla których jest ustawiony parametr: {{LinkPatrz|czy_pobierz}}, co dalej w tym rozgałęzieniu instrukcji warunkiwej jest uruchamiana funkcja szablonów tekstu, czyli: {{Code|{{sr|#p.UstawianiePobierz|p=StronicowyParser/SzablonyTekstu}}}}, aby również później za pomocą innych funkcji przeanalizować również tekst w szablonach takich jak: {{s|Śródtekst}}.
Dalej jest tworzona tablica, jeśli nie istnieje, tzn. {{Code|tablica_zmiennych2.dane_juz_policzone}} {{Patrz|tablica_zmiennych2.dane_juz_policzone}}, czyli jest inicjowana pustą tablicą. Dalej jest tworzona, jeśli nie istnieje, tablica wielowymiarowa po kolei, o kluczach kolejno: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}, {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu}}, a jeżeli ta ostatnia wartość tej tablicy była wcześniej, to zwracane jest {{Code|true}}, przeciwnie {{Code|false}}, a tej ostatniej wartości tej tablicy jest przydzielana wartość {{Code|true}}.
==== Dalszy opis funkcji ====
Gdy parametr: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest równy {{Code|0}}, ale nie {{Code|nil}}, wtedy jest sprawdzane, czy artykuł został wcześniej zrewidowany według: {{LinkŚródtytuł|JuzPoliczone}}, a jeżeli tak to jest zakańczany, a gdy ten parametr taakiej wartośsci nie przyjmuje, wtedy tylko jest uruchamiana funkcja bez żadnego warunku.
{{Tab}}Następnie jest uruchamiana funkcja: {{Code|{{sr|#p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony|p=StronicowyParser/SzablonyTekstu}}}}, do przydzielenia pewnych zmiennych z {{LinkPatrz|tablica_zmiennych2}} tablicy {{LinkPatrz|tablica_zmiennych}}.
{{Tab}}Jest sprawdzane, czy dany artykuł należy do spisu, jeżeli nie to są ustawiane pewne kody problemów w tablicy problemów, tzn. {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}.
Dalej jest sprawdzane, czy podany uchwyt {{LinkPatrz|uchwyt_obiektu}}, który jest podany w szablonach linków na aktualnej stronie, czy jest tylko jeden na stronie sprawdzanej, a jeżeli nie jest tak, to jest sprawdzane, czy nie istnieje ustawiony problem: {{Code|błędy uchwytów korzystanych stron}}, funkcją: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to taki problem jest dodawany dzięki: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
{{Tab}}Uruchamiana jest dalej funkcja: {{LinkŚródtytuł|p.PusteParametryReferencji}}, do sprawdzania pustości pewnych parametrów.
{{Tab}}Gdy tabela: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest jednak równa wartości odpowiadającej fałszywej, wtedy jeśli nie istnieje problem: {{Code|błąd wewnętrzny modułu lua stronicowego parsera}}, co jest rewidowane elementem: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to dodawany jest taki problem do tabeli problemów na podstawie: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
=== {{Śródtytuł|p.GeneralneLinkowanie}}{{Code|p.GeneralneLinkowanie}} ===
Funkcja zbiera uchwyty, na aktualnej lub innej stronie, a także je analizuje w odpowiedni sposób, modyfikuje tablica aktualnego modułu, czyli: {{LinkPatrz|tablica_zmiennych}}, na podstawie poszczególnych artykułów tej książki lub innej, która zbiera raz informacje o danej stronie.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Funkcja wyznacza uchwyt z tabeli parametrów: {{LinkPatrz|tabela_parametrow_szablonu}}, o kluczu {{Code|uchwyt}} {{LinkPatrz|uchwyt}} lub {{Code|1}}, a później w kodzie jest on kompletowany funkcją: {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a następnie rozwijany w niej, a później jest dekodowany: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}.
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, wywołujac: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}.
Na samym końcu jest uruchamiana: {{LinkPatrz|KtorySzablonMaZwracacKategorie}} z parametrem o tym uchwycie, wyliczonym wcześniej.
Gdy uchwyt istnieje, ale jest pusty, wtedy uruchamia się: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, następnie: {{LinkŚródtytuł|p.PusteParametryReferencji}}, a jeśli ta wartość nie istnieje, wtedy tylko ta ostatnia funkcja.
Gdy uchwyt: {{LinkPatrz|uchwyt}}, istnieje i jest niepusty, wtedy jest wyznaczana nazwa artykułu z niej samej, lub jeśli nazwa ksiązki istnieje, tylko, wtedy ta nazwa zaczyna być pusta, przeciwnie {{Code|nil}}, wtedy mamy do czynienia ze stroną główną podręcznika.
Gdy nazwa artykułu nie istnieje, wtedy wywoływana jest: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Jeśli nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest niepusta, i gdy nazwa książki nie istnieje, wtedy są liczone parametry nazw, oprócz nazwy artykułu, bo jest policzona, więc te {{ZobaczTeż|nazwy}}: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, z parametrów charakteryzujących nazwę aktualnego artykułu, a jeśli jednak nazwa książki jest pusta, to są sprawdzane parametry w: {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Gdy nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest nieistnieje, i gdy nazwa książki {{LinkPatrz|nazwa_ksiazki}} jest niepusta, wtedy nazwa artykułu zaczyna istnieć i inicjujemy wtedy ją wartością pustą, a jeśli pusta, za zaczyna być potem generowanie kodów błędów funkcją {{LinkŚródtytuł|p.PusteParametryReferencji}}, by potem się zakończyła ta funkcja.
Przeciwnie są liczone parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, tą samą metodą, co w punkcie: {{LinkZobaczTeż|nazwy}}.
Gdy nazwy {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}} są porównywane z nazwami, którymi się przypisje jak w: {{LinkZobaczTeż|nazwy}}, wtedy uruchamiamy funkcję: {{LinkŚródtytuł|p.LinkowanieInnychStron}}, przeciwnie wtedy działają dwie funkcje uruchomione po kolei, tzn.: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
== {{Śródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}{{Code|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} ==
Funkcja służy do zbierania informacji o danej analizowanej stronie, którego główną częścią jest strona korzystana, w której gromadzą się informacji też z pozostałych.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, czy_artykul_korzystany,tablica_zmiennych,czy_szablon_pudelkowy_strony_zbiorczej)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} - jak w: {{LinkPatrz|czy_szablon_pudelkowy_strony_zbiorczej}}.
=== {{Śródtytuł|__FUNKCJA_ARTYKULU}}{{Code|__FUNKCJA_ARTYKULU}} ===
Funkcja do tworzenia tabeli artykułów z innymi parametrami wielowymiarowej tej tabeli, a jeżeli owe pośrednie, i nie tylko, istnieją, to te tabele są zwracane lub nowo są tworzone.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji {{ZobaczTeż|parametry artykułu}}:
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}},
* {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu}} - nazwa artykułu w książce, bez pełnej nazwy książki.
Poniżej są tworzone podtabele puste, jeśli nie zostały utworzone.
Funkcja, która w tabeli: {{Code|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}} {{Patrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, która istnieje, tworzy tabele trójwymiarową kolejno po prarametrach: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, te tabele pośrednie śą wtedy tworzone, jeśsli nie istnieją, a gdy istnieją to nie są tworzone, tylko funkcja przechodzi do dalszych.
Dalej tworzona jest podtabela, jeśli nie istnieje o nazwie {{Code|lista_podstron_woluminu}} {{Patrz|lista_podstron_woluminu}}.
Następnie generowana jest podtabela, jeśli nie istnieje, o kluczu: {{LinkPatrz|nazwa_artykulu}}.
Funkcja zwraca kolejno elementy, jeśli klucz: {{LinkPatrz|nazwa_artykulu}}, istnieje, zatem:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany;
</syntaxhighlight>
Przeciwnie zwracany jest zbiór zmiennych po kolei:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki;
</syntaxhighlight>
Co to są za zmienne, wiadomo z ich nazw, po prostu są to pewne pośrednie, i nie tylko, tabele.
=== {{Śródtytuł|__FUNKCJA_POBIERANIE}}{{Code|__FUNKCJA_POBIERANIE}} ===
Funkcja zwraca parametry strony aktualnej, analizowanej jeszcze raz, aby ją nie powtórnie rewidować, lub podobnie dla innego artykułu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_POBIERANIE(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji są takie same jak w punkcie {{LinkZobaczTeż|parametry artykułu}}.
{{Tab}}Analiza dla artykułów niekorzystanych według parametru: {{LinkPatrz|czy_artykul_korzystany}}:
Dla jeszcze raz analizowanego artykułui aktualnego zwracane są parametry:
<syntaxhighlight lang="lua">
return 0,nil,nil,nil,nil,nil,self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron,false;
</syntaxhighlight>
Tabela: {{Code|self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron}}, tam są dane zebrane z aktualnego artykułu.
Dla innej takiej strony jest tworzony parametr, jeżeli jest włączona analiza, dla klucza: {{Code|analiza_spis_tresci}} {{Patrz|analiza_spis_tresci}}, według tego jest tworzony wartością prawdziwą parametr o innym znów kluczu: {{Code|analiza_spis_tresci_doloczone}} {{Patrz|analiza_spis_tresci_doloczone}}:
<syntaxhighlight lang="lua">
if(self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci)then
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=true;
end;
</syntaxhighlight>
Dla elementu: {{LinkPatrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, jeżeli dany artykuł był już rewidowany, to zwracane są elementy:
<syntaxhighlight lang="lua">
return 0,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni,dane_zebrane_ze_stron,true;
</syntaxhighlight>
To: {{Code|dane_zebrane_ze_stron}} {{Patrz|dane_zebrane_ze_stron}}, to podtabela: {{LinkPatrz|lista_podstron_woluminu}}, z kluczem: {{LinkPatrz|nazwa_artykulu}}, o nazwie takiej samej jak ten parametr zwracany.
Przeciwnie jest zwracane: {{Code|true}}, lub {{Code|nil}}, jeśli tabela: {{Code|self.tabela_listy_danych_analizy_ksiazki}} {{Patrz|self.tabela_listy_danych_analizy_ksiazki}}, lub podtatela: {{LinkPatrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, nie istnieje.
=== {{Śródtytuł|InneInformacjePrzebneDoAnalizowanejKsiazki}}{{Code|InneInformacjePrzebneDoAnalizowanejKsiazki}} ===
Funkcja do zbierania informacji o spisie artykułów książkowych i ich licencjach oraz ewentualnie zebrane informacje ze stron: {{lk2|Szablony nawigacyjne układu autonawigacji do autonawigacji podręczników}}, z szablonu, w któreś tej pozycji w: {{s|Układ autonawigacji}}, i ze spisów podanej w niej jako parametry.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function InneInformacjePrzebneDoAnalizowanejKsiazki()...end;
</syntaxhighlight>
Parametry funkcji:
* brak.
==== {{Śródtytuł|__FUNKCJA_SPISU}}{{Code|__FUNKCJA_SPISU}} ====
Funkcja do inicjowania parametrów spisu, aktualnego artykułu, uzyskanych z ich analizy.
Definicja skrotowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_SPISU(tablica_ksiazki,czy_podac_adres)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tablica_ksiazki}} {{Patrz|tablica_ksiazki}} - tablica dla analizowanej książki,
* {{Code|czy_podac_adres}} {{Patrz|czy_podac_adres}} - czy podać adres bazowego woluminu.
Tablicy: {{linkPatrz|tablica_ksiazki}}, jest inicjowany element: {{Code|spis}} {{Patrz|spis}}, tabelą: {{Code|tabela_artykulow}} {{Patrz|tabela_artykulow}}.
Gdy: {{LinkPatrz|czy_artykul_korzystany}}, jest wartością fałszywą, to iniciowaną tablicy: {{LinkPatrz|tablica_ksiazki}}, jest parametr o kluczu: {{Code|licencja}} {{Patrz|licencja}}, tabelą: {{Code|tabela_licencji_spisu_tresci}} {{Patrz|tabela_licencji_spisu_tresci}}.
Dalej kolejno elementy: {{Code|nazwa_bazowego_spisu}} {{Patrz|nazwa_bazowego_spisu}}, {{Code|tab_inne_spisy}} {{Patrz|tab_inne_spisy}} i {{Code|dodatkowe_strony_woluminu}}, tabeli: {{LinkPatrz|tablica_ksiazki}}, i inicjowane są tabelami o takich samych nazwach jak te klucze dwa, a ostatni tabelą: {{Code|dodatkowe_artykuly}} {{Patrz|dodatkowe_artykuly}}.
Dla tabeli: {{LinkPatrz|tablica_ksiazki}}, o kluczu w nim {{Code|adres_woluminu_bazowego_spisu_rzeczy}}, ona jest przyrównywana wartością: {{Code|adres_ksiazki_glownego_spisu_tresci}} {{Patrz|adres_ksiazki_glownego_spisu_tresci}}, jeśli istnieje: {{LinkPatrz|czy_podac_adres}}, lub przeciwnie wartością {{Code|nil}}.
==== Dalszy opis funkcji ====
Jeżeli dla aktualnego artykułu dla książki nie ustawiono kodu: {{Code|strony poza zakresem obsługiwanym}}, wtedy są analizowane elementy opisane w nagłówku opisywanej funkcji, pod warunkiem, jeżeli istnieją parametry nazw książki: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}.
Gdy artykuł jest analizowany, wtedy parametr: {{LinkPatrz|czy_artykul_korzystany}}, wtedy jest przy istnieniu: {{Code|self.tabela_listy_danych_analizy_ksiazki}} {{Patrz|self.tabela_listy_danych_analizy_ksiazki}}, jest ustawiany w nim element: {{Code|CzyArtykułKsiążki}} {{Patrz|CzyArtykułKsiążki}}, z wartością na {{Code|tak}}.
Gdy już spis jeszcze nie analizowano, a jeżeli juz został zanalizowany, to sprawdzany jest: {{Code|czy_spis_analizowano}}, tablicy: {{LinkPatrz|tablica_ksiazki}}.
A jeśli jednak spisy książki nie zostały sprawdzone i sparsowane, wtedy uruchamia się następne rozgałęzienie pętli.
{{Tab}}Uruchamia się dalej funkcja: {{Code|{{sr|#p.ZbieranieInformacjiSpisuRzeczyWoluminuEwentualnieWedleAutonawigacji|p=StronicowyParser/SpisTreści}}}}, w nim są uruchamiane w pewien ssposób dwie funkcje.
=== {{Śródtytuł|PrzekierownieAwaryjne}}{{Code|PrzekierownieAwaryjne}} ===
=== {{Śródtytuł|StronaZbiorcza}}{{Code|StronaZbiorcza}} ===
=== {{Śródtytuł|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}}{{Code|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}} ===
=== {{Śródtytuł|GeneralnaAnalizaSzablonuStronicowegoParsera}}{{Code|GeneralnaAnalizaSzablonuStronicowegoParsera}} ===
=== {{Śródtytuł|IterowaniePoElementachTekstu}}{{Code|IterowaniePoElementachTekstu}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieNaglowek}}{{Code|KtorySzablonMaZwracacKategorieNaglowek}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieTekst}}{{Code|KtorySzablonMaZwracacKategorieTekst}} ===
=== {{Śródtytuł|CzyJestTakiProblemJakoElementTablicy}}{{Code|CzyJestTakiProblemJakoElementTablicy}} ===
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
eygh769ecqgkxvv8g51xahckwg07mrs
547249
547248
2026-06-30T07:02:30Z
Persino
2851
/* Dalszy opis funkcji */
547249
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/ZbieranieDanychStron}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== Zbieranie informacji o uchwycie ==
=== {{Śródtytuł|p.UchwytyZeiBezNumeracji}}{{Code|p.UchwytyZeiBezNumeracji}} ===
Funkcja zbiera uchwyty, dla obiektów {{ZobaczTeż|p.UchwytyZeiBezNumeracji}}, bez numeracji, nie licząc obiektów tekst takich jak {{s|Śródtekst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UchwytyZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,lista_dwuelementowa,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} {{Patrz|self}} - zmiennna obiektowa modułu {{Code|{{ld2|StronicowyParser/ZbieranieDanychStron}}}} {{Patrz|StronicowyParser/ZbieranieDanychStron}},
* {{Code|tabela_elementow_strony_kodow}} {{Patrz|tabela_elementow_strony_kodow}} - zmienna zbierająca takie kody jak {{LinkZobaczTeż|p.UchwytyZeiBezNumeracji}},
* {{Code|nazwa_obiektu}} {{Patrz|nazwa obiektu}} - nazwa obiektu,
* {{Code|lista_dwuelementowa}} {{Patrz|lista_dwuelementowa}} - pozycja w normalnej tabeli uchwytów i przeważnie ich numeracji, a tutaj dla tego obiektu,
* {{Code|kod}} {{Patrz|kod}} - numer kodu dla tego obiektu.
Funkcja zbiera elementy {{LinkPatrz|lista_dwuelementowa}} w tablicy wielowymiarowej o pierwszym elemencie wymiaru {{LinkPatrz|nazwa obiektu}} i trzecim {{LinkPatrz|kod}}, oraz o drugim {{Code|uchwyty_bez_numeracji}} {{Patrz|uchwyty_bez_numeracji}}.
=== {{Śródtytuł|p.WydobywanieUchwytuZeiBezNumeracji}}{{Code|p.WydobywanieUchwytuZeiBezNumeracji}} ===
Funkcja wydowywa tablicę uchwytu dla pozycji, ale nie sam uchwyt, dla podtablicy {{LinkPatrz|uchwyty_bez_numeracji}} o danym kodzie {{LinkPatrz|kod}}, dla nazwy obiektu {{LinkPatrz|nazwa_obiektu}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.WydobywanieUchwytuZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_elementow_strony_kodow}} - jak w: {{LinkPatrz|tabela_elementow_strony_kodow}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}}.
Funkcja wykorzystuje elementy tablicy: {{LinkPatrz|uchwyty_bez_numeracji}}, wstawione przez funkcję: {{LinkŚródtytuł|p.UchwytyZeiBezNumeracji}}.
=== {{Śródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}{{Code|p.RozpatrywanieElementuUchwytuNumeracji}} ===
Funkcja wsadzająca utworzoną tablicę z podanym uchwytem do ogólnej tablicy pozycji nazwanych tabel z uchwytami o danej pozycji z nim.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|kod_uchwytu}} {{Patrz|kod_uchwytu}} - kod uchwytu podanego do szablonu stronicowego z odpowiednim uchwytem,
* {{Code|tab_numer}} {{Patrz|tab_numer}} - tablica z numerkami ilości elementów w tablicy parametrów nazwanych z uchwytami, w danym elemencie analizowania strony z uchwytami i obiektami,
* {{Code|tablica_zmiennych}} {{Patrz|tablica_zmiennych}} - tablica analizowania obiektów, danej strony,
* {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} {{Patrz|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - kolejno: nazwa przestrzeni nazw, nazwa przestrzeni książki, nazwa książki i nazwa artykułu książki,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} {{Patrz|czy_artykul_korzystany}} - czy artykuł aktualny wyświetlany w przeglądarce,
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} {{Patrz|nazwa_modulu_aktualna_czy_biezaca}} - nazwa artykułu aktualna lub bieżąca,
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{Patrz|tablica_analizy_obiektow_strony_dany_modul}} - tablica bazy kodów parsowania strony,
* {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - tablica analizy poszczególnych elementów kodów, do szybszego działania skryptu,
* {{Code|KtorySzablonMaZwracacKategorie}} {{Patrz|KtorySzablonMaZwracacKategorie}} - tablica zbierająca odkodowany i rozwinięty uchwyt, do analizowania w nim zebranych kategorii, według modułu: {{Code|{{ld2|StronicowyParser/Kategorie}}}}, uruchamiana w szablonach stronicowych z funkcjami '''stronicowego parsera'''.
Funkcja rozwija {{LinkPatrz|kod_uchwytu}} funkcją {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a potem je odkodowuje przy pomocy: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a jeżeli ona nie jest pusta, to dla tego jest uruchamiana funkcja {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Tworzona jest tablica {{Code|lista_dwuelementowa}} {{LinkPatrz|lista_dwuelementowa}} z uchwytem, jako pierwszy parametr.
Jest sprawdzane, czy element {{Code|tablica_zmiennych.sprawdzenie_dokonane_obiektu}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, jest fałszywy, jeżeli tak, to dalej jest sprawdzane, czy są elementy numerowane nazwanej tablicy: {{Code|tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2}} o nazwie {{LinkPatrz|nazwa_obiektu}}, a jeżeli jest pusta - na samym końcu jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, czyli jest inicjowana na wartość {{Code|true}}, to dalej jest sprawdzane, czy dla elementów: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy dana książka jest poza zakresem obsługiwanym, czyli rewidowane jest, czy jest ustawiony kod problemu {{Code|strony poza zakresem obsługiwanym}}, czy a jeżeli jednak nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}, ustawiające pewne elementy błędu, jeżeli trzeba to zrobić.
Gdy tabela {{LinkPatrz|tab_numer}} odpowiada nienilowej tablicy, wtedy element {{LinkPatrz|lista_dwuelementowa}} jest wstawiany na odpowiedniej pozycji, ale przeważnie nie na końcu, przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=table.insert|b=tak}}}}, dzięki określonej tabeli {{LinkPatrz|tab_numer}}, przeciwnie na jej końcu.
Funkcja zwraca element {{LinkPatrz|lista_dwuelementowa}}.
=== {{Śródtytuł|p.RozpatrywanieSzablonuObiektuDoNumeracji}}{{Code|p.RozpatrywanieSzablonuObiektuDoNumeracji}} ===
Funkcja, która uruchamia funkcję: {{LinkŚródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}, dla istniejącego uchwytu w postaci nazwanej o kluczu: {{Code|uchwyt}} {{Patrz|uchwyt}}, lub nienazwanej - w postaci numeru jego uchwytu o kluczu: {{Code|numer_numeracji}} {{Patrz|numer_numeracji}}, wsadzająca tabele z uchwytem na odpowiednią pozycję w odpowiedniej nazwanej tabeli o nazwie obiektu {{LinkPatrz|nazwa_obiektu}} w ogólnej tabeli: {{LinkPatrz|tablica_zmiennych}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}}- tabela parametrów szablonu,
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|numer_numeracji}} - jak w: {{LinkPatrz|numer_numeracji}},
* {{Code|tab_numer}} - jak w: {{LinkPatrz|tab_numer}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
== {{Śródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}{{Code|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}} ==
Funkcja sprawdza, czy dany artykuł należy do artykułów, któregoś spisu treści, a jeżeli nie, to dla stron, które nie należą do kategorii z ustawionym problemem {{Code|strony poza zakresem obsługiwanym}}, ale do nieaktualnej strony jest ustawiony problem {{Code|brak spisów treści do dołączonych stron}}. Natomiast dla aktualnej dla stron tej samej kategorii ustawiany jest problem {{Code|brak spisu treści do korzystanych stron}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== {{Śródtytuł|p.PusteParametryReferencji}}{{Code|p.PusteParametryReferencji}} ==
Funkcja sprawdza, jeśli są podane parametry szablonu stronicowego, które są w kategorii: {{lk|Szablony stronicowe}}, czyli: {{Code|nazwa_artykulu}}, ewentualnie: {{Code|nazwa_ksiazki}}, ale zawsze z: {{Code|uchwyt_obiektu}}, czy są one puste.
A jeżeli one istnieją i są takie, to są ustawione problemy typu, jeśli ich wcześniej nie ustawiono:
* {{Code|puste parametry szablonów stronicowych linkujących}} {{Patrz|puste parametry szablonów stronicowych linkujących}}, kolejno dla: {{Code|uchwyt_obiektu}}, {{Code|nazwa_artykulu}} i {{Code|nazwa_ksiazki}}, kolejno z numerami problemów: {{Code|1}}, {{Code|2}} i {{Code|3}}.
Dla obiektu o nazwie {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}.
{{Hr}}
Definicja skrótowa funkcji
<syntaxhighlight lang="lua">
function p.PusteParametryReferencji(self, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu)...end;
</syntaxhighlight>
Paraametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} {{Patrz|uchwyt_obiektu}} - uchwyt obiektu, podane w danym szablonie stronicowym,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}}.
== {{Śródtytuł|p.SzablonyReferencjiParametrowych}}{{Code|p.SzablonyReferencjiParametrowych}} ==
Funkcja z parametrów pudełkowych nazwy artykułu {{ZobaczTeż|nazwa artykułu}}: {{Code|nazwa artykułu}} {{Patrz|nazwa artykułu}} albo {{Code|1}}, gdy bezuchwytowe lub {{Code|2}}, i pełnej nazwy książki {{ZobaczTeż|pełna nazwa strony}}: {{Code|nazwa książki}} {{Patrz|nazwa książki}} albo, {{Code|2}}, gdy bezuchwytowe lub {{Code|3}}. To wszystko jest liczone z: {{LinkPatrz|tabela_parametrow_szablonu}} lub przy użyciu parametru również {{Code|bezuchwytowe}} {{Patrz|bezuchwytowe}}, gdy mamy szablon stronicowy {{lk|Szablony stronicowe}}, bezuchwytowy, wtedy {{Code|true}}, przeciwnie {{Code|false/nil}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca,bezuchwytowe)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{Code|bezuchwytowe}} - jak w: {{LinkPatrz|bezuchwytowe}}.
Funkcja obie nazwy dekoduje funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a później jest liczony adres bezwzględny z względnego dzięki: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, przy pomocy podstawy {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}}, podobnie ale wcześniej jest liczona nazwa artykułu {{linkZobaczTeż|nazwa artykułu}}, czyli: {{LinkPatrz|nazwa_artykulu}}, ale tutaj adres względny jest liczony z podstawy o ciągu pustym jako drugi parametr.
Na podstawie pełnej nazwy książki {{LinkZobaczTeż|pełna nazwa strony}}: jest liczona bardziej jej wersja pełniejsza, jeżeli to jest w ogóle możliwe z: {{Code|{{sr|#p["PełnaNazwaStronicowejKsiążki"]|p=Książkowe}}}}. A póżniej z tego wszystkiego są liczone nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, przy pomocy funkcji nazw: {{Code|{{ld2|Nazwy}}}}.
Na samym końcu funkcji są zwracane parametry nazw, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== Funkcje zbierania informacji ==
=== {{Śródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}{{Code|p.ZbieranieInformacjiStronyWoluminowychPozycji}} ===
Funkcja zbierania informacji na stronie dla szablonów stronicowych: {{lk|Szablony stronicowe}}, bezuchwytowych, gdy nie jest uruchomiony parametr: {{Code|czy_inna_wartosc_tekst}} {{Patrz|czy_inna_wartosc_tekst}}, wtedy jest wywoływana funkcja: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}, która liczy kolejne nazwy charaktertyzujące nazwy dla danego artykułu książki dla danej strony, przeciwnie parametry nazw są ściagane z: {{Code|tab_nazwy}} {{Patrz|tab_nazwy}}, ta tabela składa się numerowanych elementów, którymi są nazwy charakyteryzujące stronę.
Gdy jakaś nazwa artylułu strony została policzona, wtedy są liczone pozostałe nazwy z: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, a na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, a tuż przed nim, jeśli istnieje: {{Code|KtorySzablonMaZwracacKategorie}} {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,KtorySzablonMaZwracacKategorie,czy_inna_wartosc_tekst,tab_nazwy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_inna_wartosc_tekst}} - jak w: {{LinkPatrz|czy_inna_wartosc_tekst}},
* {{Code|tab_nazwy}} - jak w: {{LinkPatrz|tab_nazwy}}.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacji}}{{Code|p.ZbieranieKontenerowychInformacji}} ===
Funkcja do zbierania informacji, która z parametrów pudełkowych: {{Code|{{m|Pudełko}}}}, czyli: {{Code|nazwa przestrzeni nazw}} {{Patrz|nazwa przestrzeni nazw}} i {{Code|nazwa jednostki}} {{Patrz|nazwa jednostki}}, z nich są liczone parametry nazw charakteryzujące artykuł książki strony. A na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} {{Patrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,czy_szablon_pudelkowy_strony_zbiorczej,KtorySzablonMaZwracacKategorie)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} {{Patrz|czy_szablon_pudelkowy_strony_zbiorczej}} - funkcja potrzebna do funkcji zbierającej {{LinkPatrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, określającej, czy mamy szablon pudełkowy strony zbiorczej, taki jak: {{Code|{{s|StronaSubst}}}}, czy: {{Code|{{s|KsiążkaSubst}}}}, zobacz stronę: {{Code|{{lr2|Moduły/StronicowyParser/StronaSubst}}}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Gdy nie ma parametrów pudełkowych funkcja się natychmiast zakańcza, lub parametr: {{LinkPatrz|nazwa jednostki}}, jest pusta, lub nawet gdy zawierają kody wykrywane przez funkcję: {{Code|{{sr|#p.NormaWzoruKodowaniaTekstu|p=Szablonowe}}}}.
Z nazwy jednostki jest wydzielana nazwa jednostki właściwa bez nazwy nagłówka, póżniej obie nazwy są też dekodowane funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, czyli wszystko z: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}.
Z tych dwóch nazwy jest liczony adres, ewentualnie względny, który za pomocą funkcji: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, jest wyliczany adres bezwzględny.
Dalej są liczone nazwy charakteryzujące artykuł danej książki strony, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, z tego adresu strony.
Przedostatnia funkcja, która jest uruchamiana przed funkcją zbierającą jest: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}, jeśli istnieje.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacjiReferencji}}{{Code|p.ZbieranieKontenerowychInformacjiReferencji}} ===
Funkcja zbiera informacje o stronie. Na podstawie informacji o nazwie artykułu i pełnej nazwy książki liczy parametry nazw charakteryzujące artykuł, co na tej podstawiwe liczy parametry pudełkowe i wywołuje funkcję główną przez inną funkcję, też zbierającą, i zbiera informacje o artykule.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacjiReferencji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, jako parametry zwracane przez funkcję: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}. Funkcja wyznacza parametry pudełkowe {{m|Pudełko}}, tzn.: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}, na podstawie tych nazw. Funkcja na samym końcu wywołuje funkcję zbierającą dane ze strony: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}, która z kolei uruchamia potem: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
== {{Śródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}{{Code|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}} ==
Funkcja sprawdza niepoprawność nazwy strony i na podstawie tego ustawia pewne kody problemów.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,__FUNKCJA_SPRAWDZANIE)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|__FUNKCJA_SPRAWDZANIE}} {{Patrz|__FUNKCJA_SPRAWDZANIE}} - funkcja uruchamiana, jeśli jest ustawiona, na wypadek poprawności strony.
W przypadku niepoprawności strony, gdy strona modułu jest aktualna (bieżąca), wtedy sprawdzany jest kod problemu, czy jest ustawiony, tzn.: {{Code|nieprawidłowe nazwy korzystanych stron}}, przy pomocy funkcji: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli nie ma takiego, to wtedy jest uruchamiana funkcja: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}. Podobnie jest dla niekorzystanej strony, wtedy jest problem dla kodu: {{Code|nieprawidłowe nazwy stron dołączanych do stron}}.
== Zbieranie informacji o linkach ==
=== {{Śródtytuł|p.LinkowanieFinalizowaniePrac}}{{Code|p.LinkowanieFinalizowaniePrac}} ===
Funkcja wadza uchwyt obiektu, wsazujący na aktualną stronę, do pewnej strony, i ewentualnie ustawia pewne problemy, jeśli je nie ustawiono.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} {{Patrz|obiekt}} - obiekt, obsługiwany przez tą funkcję linku,
* {{Code|kod}} {{LinkPatrz|kod}} - kod obiektu dla: {{LinkPatrz|obiekt}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} - jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}},
* {{Code|czy_pobierz}} {{Patrz|czy_pobierz}} - czy to jest szablon typu {{Code|Pobierz}} {{Patrz|Pobierz}}, jak: {{s|PobierzŚródtekst}}.
Funkcja sprawdza, czy nie został ustawiony element {{Code|tablica_zmiennych.sprawdzenie_dokonane_linku}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}, a jeżeli tak, to dalej, czy nie ma elementów numerowanych przy pomocy funkcji: {{Code|{{sr|#p["CzySąElementyNumerowaneTablicy"]|p=Parametry}}}}, a jeśli również tak, to dalej jest sprawdzane, czy został ustawiony problem: {{Code|strony poza zakresem obsługiwanym}}, przy pomocy: {{Code|{{sr|#p.CzyJestTakiElementTabeliProblemu|p=StronicowyParser/Problemy}}}}, a jeżeli nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}. Na samym końcu tej instrukcji warunkowej jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}.
Dalej pod tą instrukcją warunkową, jest robione, co powiedziane zostało w prologu tego opisu tej funkcji, tzn. z wyznaczonej tablicy ze: {{LinkPatrz|tablica_zmiennych}}, a dalej z wyznaczonej następnej podtabeli o kluczu: {{LinkPatrz|nazwa_obiektu}}.
Następnie, gdy element: {{LinkPatrz|czy_pobierz}}, jest ustawiony na {{Code|true}}, wtedy dla {{LinkPatrz|uchwyt_obiektu}}, pewna tablica, jest wstawiana do tablicy: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}}, jeśli istnieje, a jeśli nie, to jest tworzona, jako tablica, wtedy też jest to robione. Tą czynnością wstawiany tabelę, do tej tablicy, czyli:
<syntaxhighlight lang="lua">
{{nazwa_obiektu,uchwyt_obiektu,},{obiekt,kod,},}
</syntaxhighlight>
=== {{Śródtytuł|p.LinkowanieInnychStron}}{{Code|p.LinkowanieInnychStron}} ===
Funkcja do sprawdzania innych stron niż aktualna, a jeżeli dana strona została już sprawdzona, to powtórnie nie jest już rewidowana. Funkcja ustawia w głównej tablicy aktualnej tabeli {{LinkPatrz|tablica_zmiennych}} pewne podtablice.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieInnychStron(self,obiekt,kod,tablica_zmiennych, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejo jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Najpierw jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, która w razie poprawności nazwy strony, czyli inaczej nazw tej strony, tzn.: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, uruchamia funkcję zdefiniowaną w nim.
{{Tab}}Ta funkcja sprawdza, czy któraś z parametrów nazw istnieje, a jeżeli nie, to dalej jest inicjowana zmienna: {{Code|tablica_zmiennych2}} {{Patrz|tablica_zmiennych2}} pustą tablicą i podobnie {{Code|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}} {{Patrz|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}}, to uruchamiana jest: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, do zbierania informacji o stronie nowej lub przebadanej (wtedy zostają zwrócone parametry z wczęsniejszego jego analizowania, jak była nowa). Funkcja zwraca trzy parametry, tzn. {{Code|tabela_listy_danych_analizy_ksiazki0}} {{Patrz|tabela_listy_danych_analizy_ksiazki0}}, {{LinkPatrz|tablica_zmiennych2}} i {{Code|czy_inna}} {{Patrz|czy_inna}}. Te parametry mogą przyjmować wartość {{Code|nil}}, lub pierwszy {{Code|0}}, drugi, to nic innego jest jak: {{LinkPatrz|tablica_zmiennych2}}, a trzeci parametr jest wtedy równy {{Code|true}}, gdy strona jest nowa, a {{Code|false}} aktualna, a gdy {{Code|nil}}, gdy np. zawartość strony nie istnieje.
Gdy parametr: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, istnieje, wtedy jest spraqdzane, czy któreś z parametrów: {{LinkPatrz|tablica_zmiennych2}} i {{LinkPatrz|czy_inna}}, nie istsnieje, wtedy ta funkcja się zakańcza.
==== {{Śródtytuł|JuzPoliczone}}{{Code|JuzPoliczone}} ====
Dla obiektów, dla których jest ustawiony parametr: {{LinkPatrz|czy_pobierz}}, co dalej w tym rozgałęzieniu instrukcji warunkiwej jest uruchamiana funkcja szablonów tekstu, czyli: {{Code|{{sr|#p.UstawianiePobierz|p=StronicowyParser/SzablonyTekstu}}}}, aby również później za pomocą innych funkcji przeanalizować również tekst w szablonach takich jak: {{s|Śródtekst}}.
Dalej jest tworzona tablica, jeśli nie istnieje, tzn. {{Code|tablica_zmiennych2.dane_juz_policzone}} {{Patrz|tablica_zmiennych2.dane_juz_policzone}}, czyli jest inicjowana pustą tablicą. Dalej jest tworzona, jeśli nie istnieje, tablica wielowymiarowa po kolei, o kluczach kolejno: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}, {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu}}, a jeżeli ta ostatnia wartość tej tablicy była wcześniej, to zwracane jest {{Code|true}}, przeciwnie {{Code|false}}, a tej ostatniej wartości tej tablicy jest przydzielana wartość {{Code|true}}.
==== Dalszy opis funkcji ====
Gdy parametr: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest równy {{Code|0}}, ale nie {{Code|nil}}, wtedy jest sprawdzane, czy artykuł został wcześniej zrewidowany według: {{LinkŚródtytuł|JuzPoliczone}}, a jeżeli tak to jest zakańczany, a gdy ten parametr taakiej wartośsci nie przyjmuje, wtedy tylko jest uruchamiana funkcja bez żadnego warunku.
{{Tab}}Następnie jest uruchamiana funkcja: {{Code|{{sr|#p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony|p=StronicowyParser/SzablonyTekstu}}}}, do przydzielenia pewnych zmiennych z {{LinkPatrz|tablica_zmiennych2}} tablicy {{LinkPatrz|tablica_zmiennych}}.
{{Tab}}Jest sprawdzane, czy dany artykuł należy do spisu, jeżeli nie to są ustawiane pewne kody problemów w tablicy problemów, tzn. {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}.
Dalej jest sprawdzane, czy podany uchwyt {{LinkPatrz|uchwyt_obiektu}}, który jest podany w szablonach linków na aktualnej stronie, czy jest tylko jeden na stronie sprawdzanej, a jeżeli nie jest tak, to jest sprawdzane, czy nie istnieje ustawiony problem: {{Code|błędy uchwytów korzystanych stron}}, funkcją: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to taki problem jest dodawany dzięki: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
{{Tab}}Uruchamiana jest dalej funkcja: {{LinkŚródtytuł|p.PusteParametryReferencji}}, do sprawdzania pustości pewnych parametrów.
{{Tab}}Gdy tabela: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest jednak równa wartości odpowiadającej fałszywej, wtedy jeśli nie istnieje problem: {{Code|błąd wewnętrzny modułu lua stronicowego parsera}}, co jest rewidowane elementem: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to dodawany jest taki problem do tabeli problemów na podstawie: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
=== {{Śródtytuł|p.GeneralneLinkowanie}}{{Code|p.GeneralneLinkowanie}} ===
Funkcja zbiera uchwyty, na aktualnej lub innej stronie, a także je analizuje w odpowiedni sposób, modyfikuje tablica aktualnego modułu, czyli: {{LinkPatrz|tablica_zmiennych}}, na podstawie poszczególnych artykułów tej książki lub innej, która zbiera raz informacje o danej stronie.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Funkcja wyznacza uchwyt z tabeli parametrów: {{LinkPatrz|tabela_parametrow_szablonu}}, o kluczu {{Code|uchwyt}} {{LinkPatrz|uchwyt}} lub {{Code|1}}, a później w kodzie jest on kompletowany funkcją: {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a następnie rozwijany w niej, a później jest dekodowany: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}.
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, wywołujac: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}.
Na samym końcu jest uruchamiana: {{LinkPatrz|KtorySzablonMaZwracacKategorie}} z parametrem o tym uchwycie, wyliczonym wcześniej.
Gdy uchwyt istnieje, ale jest pusty, wtedy uruchamia się: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, następnie: {{LinkŚródtytuł|p.PusteParametryReferencji}}, a jeśli ta wartość nie istnieje, wtedy tylko ta ostatnia funkcja.
Gdy uchwyt: {{LinkPatrz|uchwyt}}, istnieje i jest niepusty, wtedy jest wyznaczana nazwa artykułu z niej samej, lub jeśli nazwa ksiązki istnieje, tylko, wtedy ta nazwa zaczyna być pusta, przeciwnie {{Code|nil}}, wtedy mamy do czynienia ze stroną główną podręcznika.
Gdy nazwa artykułu nie istnieje, wtedy wywoływana jest: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Jeśli nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest niepusta, i gdy nazwa książki nie istnieje, wtedy są liczone parametry nazw, oprócz nazwy artykułu, bo jest policzona, więc te {{ZobaczTeż|nazwy}}: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, z parametrów charakteryzujących nazwę aktualnego artykułu, a jeśli jednak nazwa książki jest pusta, to są sprawdzane parametry w: {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Gdy nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest nieistnieje, i gdy nazwa książki {{LinkPatrz|nazwa_ksiazki}} jest niepusta, wtedy nazwa artykułu zaczyna istnieć i inicjujemy wtedy ją wartością pustą, a jeśli pusta, za zaczyna być potem generowanie kodów błędów funkcją {{LinkŚródtytuł|p.PusteParametryReferencji}}, by potem się zakończyła ta funkcja.
Przeciwnie są liczone parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, tą samą metodą, co w punkcie: {{LinkZobaczTeż|nazwy}}.
Gdy nazwy {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}} są porównywane z nazwami, którymi się przypisje jak w: {{LinkZobaczTeż|nazwy}}, wtedy uruchamiamy funkcję: {{LinkŚródtytuł|p.LinkowanieInnychStron}}, przeciwnie wtedy działają dwie funkcje uruchomione po kolei, tzn.: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
== {{Śródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}{{Code|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} ==
Funkcja służy do zbierania informacji o danej analizowanej stronie, którego główną częścią jest strona korzystana, w której gromadzą się informacji też z pozostałych.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, czy_artykul_korzystany,tablica_zmiennych,czy_szablon_pudelkowy_strony_zbiorczej)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} - jak w: {{LinkPatrz|czy_szablon_pudelkowy_strony_zbiorczej}}.
=== {{Śródtytuł|__FUNKCJA_ARTYKULU}}{{Code|__FUNKCJA_ARTYKULU}} ===
Funkcja do tworzenia tabeli artykułów z innymi parametrami wielowymiarowej tej tabeli, a jeżeli owe pośrednie, i nie tylko, istnieją, to te tabele są zwracane lub nowo są tworzone.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji {{ZobaczTeż|parametry artykułu}}:
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}},
* {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu}} - nazwa artykułu w książce, bez pełnej nazwy książki.
Poniżej są tworzone podtabele puste, jeśli nie zostały utworzone.
Funkcja, która w tabeli: {{Code|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}} {{Patrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, która istnieje, tworzy tabele trójwymiarową kolejno po prarametrach: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, te tabele pośrednie śą wtedy tworzone, jeśsli nie istnieją, a gdy istnieją to nie są tworzone, tylko funkcja przechodzi do dalszych.
Dalej tworzona jest podtabela, jeśli nie istnieje o nazwie {{Code|lista_podstron_woluminu}} {{Patrz|lista_podstron_woluminu}}.
Następnie generowana jest podtabela, jeśli nie istnieje, o kluczu: {{LinkPatrz|nazwa_artykulu}}.
Funkcja zwraca kolejno elementy, jeśli klucz: {{LinkPatrz|nazwa_artykulu}}, istnieje, zatem:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany;
</syntaxhighlight>
Przeciwnie zwracany jest zbiór zmiennych po kolei:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki;
</syntaxhighlight>
Co to są za zmienne, wiadomo z ich nazw, po prostu są to pewne pośrednie, i nie tylko, tabele.
=== {{Śródtytuł|__FUNKCJA_POBIERANIE}}{{Code|__FUNKCJA_POBIERANIE}} ===
Funkcja zwraca parametry strony aktualnej, analizowanej jeszcze raz, aby ją nie powtórnie rewidować, lub podobnie dla innego artykułu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_POBIERANIE(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji są takie same jak w punkcie {{LinkZobaczTeż|parametry artykułu}}.
{{Tab}}Analiza dla artykułów niekorzystanych według parametru: {{LinkPatrz|czy_artykul_korzystany}}:
Dla jeszcze raz analizowanego artykułui aktualnego zwracane są parametry:
<syntaxhighlight lang="lua">
return 0,nil,nil,nil,nil,nil,self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron,false;
</syntaxhighlight>
Tabela: {{Code|self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron}}, tam są dane zebrane z aktualnego artykułu.
Dla innej takiej strony jest tworzony parametr, jeżeli jest włączona analiza, dla klucza: {{Code|analiza_spis_tresci}} {{Patrz|analiza_spis_tresci}}, według tego jest tworzony wartością prawdziwą parametr o innym znów kluczu: {{Code|analiza_spis_tresci_doloczone}} {{Patrz|analiza_spis_tresci_doloczone}}:
<syntaxhighlight lang="lua">
if(self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci)then
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=true;
end;
</syntaxhighlight>
Dla elementu: {{LinkPatrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, jeżeli dany artykuł był już rewidowany, to zwracane są elementy:
<syntaxhighlight lang="lua">
return 0,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni,dane_zebrane_ze_stron,true;
</syntaxhighlight>
To: {{Code|dane_zebrane_ze_stron}} {{Patrz|dane_zebrane_ze_stron}}, to podtabela: {{LinkPatrz|lista_podstron_woluminu}}, z kluczem: {{LinkPatrz|nazwa_artykulu}}, o nazwie takiej samej jak ten parametr zwracany.
Przeciwnie jest zwracane: {{Code|true}}, lub {{Code|nil}}, jeśli tabela: {{Code|self.tabela_listy_danych_analizy_ksiazki}} {{Patrz|self.tabela_listy_danych_analizy_ksiazki}}, lub podtatela: {{LinkPatrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, nie istnieje.
=== {{Śródtytuł|InneInformacjePrzebneDoAnalizowanejKsiazki}}{{Code|InneInformacjePrzebneDoAnalizowanejKsiazki}} ===
Funkcja do zbierania informacji o spisie artykułów książkowych i ich licencjach oraz ewentualnie zebrane informacje ze stron: {{lk2|Szablony nawigacyjne układu autonawigacji do autonawigacji podręczników}}, z szablonu, w któreś tej pozycji w: {{s|Układ autonawigacji}}, i ze spisów podanej w niej jako parametry.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function InneInformacjePrzebneDoAnalizowanejKsiazki()...end;
</syntaxhighlight>
Parametry funkcji:
* brak.
==== {{Śródtytuł|__FUNKCJA_SPISU}}{{Code|__FUNKCJA_SPISU}} ====
Funkcja do inicjowania parametrów spisu, aktualnego artykułu, uzyskanych z ich analizy.
Definicja skrotowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_SPISU(tablica_ksiazki,czy_podac_adres)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tablica_ksiazki}} {{Patrz|tablica_ksiazki}} - tablica dla analizowanej książki,
* {{Code|czy_podac_adres}} {{Patrz|czy_podac_adres}} - czy podać adres bazowego woluminu.
Tablicy: {{linkPatrz|tablica_ksiazki}}, jest inicjowany element: {{Code|spis}} {{Patrz|spis}}, tabelą: {{Code|tabela_artykulow}} {{Patrz|tabela_artykulow}}.
Gdy: {{LinkPatrz|czy_artykul_korzystany}}, jest wartością fałszywą, to iniciowaną tablicy: {{LinkPatrz|tablica_ksiazki}}, jest parametr o kluczu: {{Code|licencja}} {{Patrz|licencja}}, tabelą: {{Code|tabela_licencji_spisu_tresci}} {{Patrz|tabela_licencji_spisu_tresci}}.
Dalej kolejno elementy: {{Code|nazwa_bazowego_spisu}} {{Patrz|nazwa_bazowego_spisu}}, {{Code|tab_inne_spisy}} {{Patrz|tab_inne_spisy}} i {{Code|dodatkowe_strony_woluminu}}, tabeli: {{LinkPatrz|tablica_ksiazki}}, i inicjowane są tabelami o takich samych nazwach jak te klucze dwa, a ostatni tabelą: {{Code|dodatkowe_artykuly}} {{Patrz|dodatkowe_artykuly}}.
Dla tabeli: {{LinkPatrz|tablica_ksiazki}}, o kluczu w nim {{Code|adres_woluminu_bazowego_spisu_rzeczy}}, ona jest przyrównywana wartością: {{Code|adres_ksiazki_glownego_spisu_tresci}} {{Patrz|adres_ksiazki_glownego_spisu_tresci}}, jeśli istnieje: {{LinkPatrz|czy_podac_adres}}, lub przeciwnie wartością {{Code|nil}}.
==== Dalszy opis funkcji ====
Jeżeli dla aktualnego artykułu dla książki nie ustawiono kodu: {{Code|strony poza zakresem obsługiwanym}}, wtedy są analizowane elementy opisane w nagłówku opisywanej funkcji, pod warunkiem, jeżeli istnieją parametry nazw książki: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}.
Gdy artykuł jest analizowany, wtedy parametr: {{LinkPatrz|czy_artykul_korzystany}}, wtedy jest przy istnieniu: {{Code|self.tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|self.tabela_listy_danych_analizy_ksiazki}}, jest ustawiany w nim element: {{Code|CzyArtykułKsiążki}} {{Patrz|CzyArtykułKsiążki}}, z wartością na {{Code|tak}}.
Gdy już spis jeszcze nie analizowano, a jeżeli juz został zanalizowany, to sprawdzany jest: {{Code|czy_spis_analizowano}}, tablicy: {{LinkPatrz|tablica_ksiazki}}.
A jeśli jednak spisy książki nie zostały sprawdzone i sparsowane, wtedy uruchamia się następne rozgałęzienie pętli.
{{Tab}}Uruchamia się dalej funkcja: {{Code|{{sr|#p.ZbieranieInformacjiSpisuRzeczyWoluminuEwentualnieWedleAutonawigacji|p=StronicowyParser/SpisTreści}}}}, w nim są uruchamiane w pewien ssposób dwie funkcje.
=== {{Śródtytuł|PrzekierownieAwaryjne}}{{Code|PrzekierownieAwaryjne}} ===
=== {{Śródtytuł|StronaZbiorcza}}{{Code|StronaZbiorcza}} ===
=== {{Śródtytuł|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}}{{Code|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}} ===
=== {{Śródtytuł|GeneralnaAnalizaSzablonuStronicowegoParsera}}{{Code|GeneralnaAnalizaSzablonuStronicowegoParsera}} ===
=== {{Śródtytuł|IterowaniePoElementachTekstu}}{{Code|IterowaniePoElementachTekstu}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieNaglowek}}{{Code|KtorySzablonMaZwracacKategorieNaglowek}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieTekst}}{{Code|KtorySzablonMaZwracacKategorieTekst}} ===
=== {{Śródtytuł|CzyJestTakiProblemJakoElementTablicy}}{{Code|CzyJestTakiProblemJakoElementTablicy}} ===
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
l5sohfkc693pii7ej183m2dofyaw3z2
547250
547249
2026-06-30T07:03:06Z
Persino
2851
/* Dalszy opis funkcji */
547250
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/ZbieranieDanychStron}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== Zbieranie informacji o uchwycie ==
=== {{Śródtytuł|p.UchwytyZeiBezNumeracji}}{{Code|p.UchwytyZeiBezNumeracji}} ===
Funkcja zbiera uchwyty, dla obiektów {{ZobaczTeż|p.UchwytyZeiBezNumeracji}}, bez numeracji, nie licząc obiektów tekst takich jak {{s|Śródtekst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UchwytyZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,lista_dwuelementowa,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} {{Patrz|self}} - zmiennna obiektowa modułu {{Code|{{ld2|StronicowyParser/ZbieranieDanychStron}}}} {{Patrz|StronicowyParser/ZbieranieDanychStron}},
* {{Code|tabela_elementow_strony_kodow}} {{Patrz|tabela_elementow_strony_kodow}} - zmienna zbierająca takie kody jak {{LinkZobaczTeż|p.UchwytyZeiBezNumeracji}},
* {{Code|nazwa_obiektu}} {{Patrz|nazwa obiektu}} - nazwa obiektu,
* {{Code|lista_dwuelementowa}} {{Patrz|lista_dwuelementowa}} - pozycja w normalnej tabeli uchwytów i przeważnie ich numeracji, a tutaj dla tego obiektu,
* {{Code|kod}} {{Patrz|kod}} - numer kodu dla tego obiektu.
Funkcja zbiera elementy {{LinkPatrz|lista_dwuelementowa}} w tablicy wielowymiarowej o pierwszym elemencie wymiaru {{LinkPatrz|nazwa obiektu}} i trzecim {{LinkPatrz|kod}}, oraz o drugim {{Code|uchwyty_bez_numeracji}} {{Patrz|uchwyty_bez_numeracji}}.
=== {{Śródtytuł|p.WydobywanieUchwytuZeiBezNumeracji}}{{Code|p.WydobywanieUchwytuZeiBezNumeracji}} ===
Funkcja wydowywa tablicę uchwytu dla pozycji, ale nie sam uchwyt, dla podtablicy {{LinkPatrz|uchwyty_bez_numeracji}} o danym kodzie {{LinkPatrz|kod}}, dla nazwy obiektu {{LinkPatrz|nazwa_obiektu}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.WydobywanieUchwytuZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_elementow_strony_kodow}} - jak w: {{LinkPatrz|tabela_elementow_strony_kodow}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}}.
Funkcja wykorzystuje elementy tablicy: {{LinkPatrz|uchwyty_bez_numeracji}}, wstawione przez funkcję: {{LinkŚródtytuł|p.UchwytyZeiBezNumeracji}}.
=== {{Śródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}{{Code|p.RozpatrywanieElementuUchwytuNumeracji}} ===
Funkcja wsadzająca utworzoną tablicę z podanym uchwytem do ogólnej tablicy pozycji nazwanych tabel z uchwytami o danej pozycji z nim.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|kod_uchwytu}} {{Patrz|kod_uchwytu}} - kod uchwytu podanego do szablonu stronicowego z odpowiednim uchwytem,
* {{Code|tab_numer}} {{Patrz|tab_numer}} - tablica z numerkami ilości elementów w tablicy parametrów nazwanych z uchwytami, w danym elemencie analizowania strony z uchwytami i obiektami,
* {{Code|tablica_zmiennych}} {{Patrz|tablica_zmiennych}} - tablica analizowania obiektów, danej strony,
* {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} {{Patrz|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - kolejno: nazwa przestrzeni nazw, nazwa przestrzeni książki, nazwa książki i nazwa artykułu książki,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} {{Patrz|czy_artykul_korzystany}} - czy artykuł aktualny wyświetlany w przeglądarce,
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} {{Patrz|nazwa_modulu_aktualna_czy_biezaca}} - nazwa artykułu aktualna lub bieżąca,
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{Patrz|tablica_analizy_obiektow_strony_dany_modul}} - tablica bazy kodów parsowania strony,
* {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - tablica analizy poszczególnych elementów kodów, do szybszego działania skryptu,
* {{Code|KtorySzablonMaZwracacKategorie}} {{Patrz|KtorySzablonMaZwracacKategorie}} - tablica zbierająca odkodowany i rozwinięty uchwyt, do analizowania w nim zebranych kategorii, według modułu: {{Code|{{ld2|StronicowyParser/Kategorie}}}}, uruchamiana w szablonach stronicowych z funkcjami '''stronicowego parsera'''.
Funkcja rozwija {{LinkPatrz|kod_uchwytu}} funkcją {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a potem je odkodowuje przy pomocy: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a jeżeli ona nie jest pusta, to dla tego jest uruchamiana funkcja {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Tworzona jest tablica {{Code|lista_dwuelementowa}} {{LinkPatrz|lista_dwuelementowa}} z uchwytem, jako pierwszy parametr.
Jest sprawdzane, czy element {{Code|tablica_zmiennych.sprawdzenie_dokonane_obiektu}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, jest fałszywy, jeżeli tak, to dalej jest sprawdzane, czy są elementy numerowane nazwanej tablicy: {{Code|tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2}} o nazwie {{LinkPatrz|nazwa_obiektu}}, a jeżeli jest pusta - na samym końcu jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, czyli jest inicjowana na wartość {{Code|true}}, to dalej jest sprawdzane, czy dla elementów: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy dana książka jest poza zakresem obsługiwanym, czyli rewidowane jest, czy jest ustawiony kod problemu {{Code|strony poza zakresem obsługiwanym}}, czy a jeżeli jednak nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}, ustawiające pewne elementy błędu, jeżeli trzeba to zrobić.
Gdy tabela {{LinkPatrz|tab_numer}} odpowiada nienilowej tablicy, wtedy element {{LinkPatrz|lista_dwuelementowa}} jest wstawiany na odpowiedniej pozycji, ale przeważnie nie na końcu, przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=table.insert|b=tak}}}}, dzięki określonej tabeli {{LinkPatrz|tab_numer}}, przeciwnie na jej końcu.
Funkcja zwraca element {{LinkPatrz|lista_dwuelementowa}}.
=== {{Śródtytuł|p.RozpatrywanieSzablonuObiektuDoNumeracji}}{{Code|p.RozpatrywanieSzablonuObiektuDoNumeracji}} ===
Funkcja, która uruchamia funkcję: {{LinkŚródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}, dla istniejącego uchwytu w postaci nazwanej o kluczu: {{Code|uchwyt}} {{Patrz|uchwyt}}, lub nienazwanej - w postaci numeru jego uchwytu o kluczu: {{Code|numer_numeracji}} {{Patrz|numer_numeracji}}, wsadzająca tabele z uchwytem na odpowiednią pozycję w odpowiedniej nazwanej tabeli o nazwie obiektu {{LinkPatrz|nazwa_obiektu}} w ogólnej tabeli: {{LinkPatrz|tablica_zmiennych}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}}- tabela parametrów szablonu,
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|numer_numeracji}} - jak w: {{LinkPatrz|numer_numeracji}},
* {{Code|tab_numer}} - jak w: {{LinkPatrz|tab_numer}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
== {{Śródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}{{Code|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}} ==
Funkcja sprawdza, czy dany artykuł należy do artykułów, któregoś spisu treści, a jeżeli nie, to dla stron, które nie należą do kategorii z ustawionym problemem {{Code|strony poza zakresem obsługiwanym}}, ale do nieaktualnej strony jest ustawiony problem {{Code|brak spisów treści do dołączonych stron}}. Natomiast dla aktualnej dla stron tej samej kategorii ustawiany jest problem {{Code|brak spisu treści do korzystanych stron}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== {{Śródtytuł|p.PusteParametryReferencji}}{{Code|p.PusteParametryReferencji}} ==
Funkcja sprawdza, jeśli są podane parametry szablonu stronicowego, które są w kategorii: {{lk|Szablony stronicowe}}, czyli: {{Code|nazwa_artykulu}}, ewentualnie: {{Code|nazwa_ksiazki}}, ale zawsze z: {{Code|uchwyt_obiektu}}, czy są one puste.
A jeżeli one istnieją i są takie, to są ustawione problemy typu, jeśli ich wcześniej nie ustawiono:
* {{Code|puste parametry szablonów stronicowych linkujących}} {{Patrz|puste parametry szablonów stronicowych linkujących}}, kolejno dla: {{Code|uchwyt_obiektu}}, {{Code|nazwa_artykulu}} i {{Code|nazwa_ksiazki}}, kolejno z numerami problemów: {{Code|1}}, {{Code|2}} i {{Code|3}}.
Dla obiektu o nazwie {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}.
{{Hr}}
Definicja skrótowa funkcji
<syntaxhighlight lang="lua">
function p.PusteParametryReferencji(self, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu)...end;
</syntaxhighlight>
Paraametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} {{Patrz|uchwyt_obiektu}} - uchwyt obiektu, podane w danym szablonie stronicowym,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}}.
== {{Śródtytuł|p.SzablonyReferencjiParametrowych}}{{Code|p.SzablonyReferencjiParametrowych}} ==
Funkcja z parametrów pudełkowych nazwy artykułu {{ZobaczTeż|nazwa artykułu}}: {{Code|nazwa artykułu}} {{Patrz|nazwa artykułu}} albo {{Code|1}}, gdy bezuchwytowe lub {{Code|2}}, i pełnej nazwy książki {{ZobaczTeż|pełna nazwa strony}}: {{Code|nazwa książki}} {{Patrz|nazwa książki}} albo, {{Code|2}}, gdy bezuchwytowe lub {{Code|3}}. To wszystko jest liczone z: {{LinkPatrz|tabela_parametrow_szablonu}} lub przy użyciu parametru również {{Code|bezuchwytowe}} {{Patrz|bezuchwytowe}}, gdy mamy szablon stronicowy {{lk|Szablony stronicowe}}, bezuchwytowy, wtedy {{Code|true}}, przeciwnie {{Code|false/nil}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca,bezuchwytowe)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{Code|bezuchwytowe}} - jak w: {{LinkPatrz|bezuchwytowe}}.
Funkcja obie nazwy dekoduje funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a później jest liczony adres bezwzględny z względnego dzięki: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, przy pomocy podstawy {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}}, podobnie ale wcześniej jest liczona nazwa artykułu {{linkZobaczTeż|nazwa artykułu}}, czyli: {{LinkPatrz|nazwa_artykulu}}, ale tutaj adres względny jest liczony z podstawy o ciągu pustym jako drugi parametr.
Na podstawie pełnej nazwy książki {{LinkZobaczTeż|pełna nazwa strony}}: jest liczona bardziej jej wersja pełniejsza, jeżeli to jest w ogóle możliwe z: {{Code|{{sr|#p["PełnaNazwaStronicowejKsiążki"]|p=Książkowe}}}}. A póżniej z tego wszystkiego są liczone nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, przy pomocy funkcji nazw: {{Code|{{ld2|Nazwy}}}}.
Na samym końcu funkcji są zwracane parametry nazw, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== Funkcje zbierania informacji ==
=== {{Śródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}{{Code|p.ZbieranieInformacjiStronyWoluminowychPozycji}} ===
Funkcja zbierania informacji na stronie dla szablonów stronicowych: {{lk|Szablony stronicowe}}, bezuchwytowych, gdy nie jest uruchomiony parametr: {{Code|czy_inna_wartosc_tekst}} {{Patrz|czy_inna_wartosc_tekst}}, wtedy jest wywoływana funkcja: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}, która liczy kolejne nazwy charaktertyzujące nazwy dla danego artykułu książki dla danej strony, przeciwnie parametry nazw są ściagane z: {{Code|tab_nazwy}} {{Patrz|tab_nazwy}}, ta tabela składa się numerowanych elementów, którymi są nazwy charakyteryzujące stronę.
Gdy jakaś nazwa artylułu strony została policzona, wtedy są liczone pozostałe nazwy z: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, a na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, a tuż przed nim, jeśli istnieje: {{Code|KtorySzablonMaZwracacKategorie}} {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,KtorySzablonMaZwracacKategorie,czy_inna_wartosc_tekst,tab_nazwy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_inna_wartosc_tekst}} - jak w: {{LinkPatrz|czy_inna_wartosc_tekst}},
* {{Code|tab_nazwy}} - jak w: {{LinkPatrz|tab_nazwy}}.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacji}}{{Code|p.ZbieranieKontenerowychInformacji}} ===
Funkcja do zbierania informacji, która z parametrów pudełkowych: {{Code|{{m|Pudełko}}}}, czyli: {{Code|nazwa przestrzeni nazw}} {{Patrz|nazwa przestrzeni nazw}} i {{Code|nazwa jednostki}} {{Patrz|nazwa jednostki}}, z nich są liczone parametry nazw charakteryzujące artykuł książki strony. A na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} {{Patrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,czy_szablon_pudelkowy_strony_zbiorczej,KtorySzablonMaZwracacKategorie)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} {{Patrz|czy_szablon_pudelkowy_strony_zbiorczej}} - funkcja potrzebna do funkcji zbierającej {{LinkPatrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, określającej, czy mamy szablon pudełkowy strony zbiorczej, taki jak: {{Code|{{s|StronaSubst}}}}, czy: {{Code|{{s|KsiążkaSubst}}}}, zobacz stronę: {{Code|{{lr2|Moduły/StronicowyParser/StronaSubst}}}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Gdy nie ma parametrów pudełkowych funkcja się natychmiast zakańcza, lub parametr: {{LinkPatrz|nazwa jednostki}}, jest pusta, lub nawet gdy zawierają kody wykrywane przez funkcję: {{Code|{{sr|#p.NormaWzoruKodowaniaTekstu|p=Szablonowe}}}}.
Z nazwy jednostki jest wydzielana nazwa jednostki właściwa bez nazwy nagłówka, póżniej obie nazwy są też dekodowane funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, czyli wszystko z: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}.
Z tych dwóch nazwy jest liczony adres, ewentualnie względny, który za pomocą funkcji: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, jest wyliczany adres bezwzględny.
Dalej są liczone nazwy charakteryzujące artykuł danej książki strony, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, z tego adresu strony.
Przedostatnia funkcja, która jest uruchamiana przed funkcją zbierającą jest: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}, jeśli istnieje.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacjiReferencji}}{{Code|p.ZbieranieKontenerowychInformacjiReferencji}} ===
Funkcja zbiera informacje o stronie. Na podstawie informacji o nazwie artykułu i pełnej nazwy książki liczy parametry nazw charakteryzujące artykuł, co na tej podstawiwe liczy parametry pudełkowe i wywołuje funkcję główną przez inną funkcję, też zbierającą, i zbiera informacje o artykule.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacjiReferencji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, jako parametry zwracane przez funkcję: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}. Funkcja wyznacza parametry pudełkowe {{m|Pudełko}}, tzn.: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}, na podstawie tych nazw. Funkcja na samym końcu wywołuje funkcję zbierającą dane ze strony: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}, która z kolei uruchamia potem: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
== {{Śródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}{{Code|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}} ==
Funkcja sprawdza niepoprawność nazwy strony i na podstawie tego ustawia pewne kody problemów.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,__FUNKCJA_SPRAWDZANIE)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|__FUNKCJA_SPRAWDZANIE}} {{Patrz|__FUNKCJA_SPRAWDZANIE}} - funkcja uruchamiana, jeśli jest ustawiona, na wypadek poprawności strony.
W przypadku niepoprawności strony, gdy strona modułu jest aktualna (bieżąca), wtedy sprawdzany jest kod problemu, czy jest ustawiony, tzn.: {{Code|nieprawidłowe nazwy korzystanych stron}}, przy pomocy funkcji: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli nie ma takiego, to wtedy jest uruchamiana funkcja: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}. Podobnie jest dla niekorzystanej strony, wtedy jest problem dla kodu: {{Code|nieprawidłowe nazwy stron dołączanych do stron}}.
== Zbieranie informacji o linkach ==
=== {{Śródtytuł|p.LinkowanieFinalizowaniePrac}}{{Code|p.LinkowanieFinalizowaniePrac}} ===
Funkcja wadza uchwyt obiektu, wsazujący na aktualną stronę, do pewnej strony, i ewentualnie ustawia pewne problemy, jeśli je nie ustawiono.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} {{Patrz|obiekt}} - obiekt, obsługiwany przez tą funkcję linku,
* {{Code|kod}} {{LinkPatrz|kod}} - kod obiektu dla: {{LinkPatrz|obiekt}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} - jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}},
* {{Code|czy_pobierz}} {{Patrz|czy_pobierz}} - czy to jest szablon typu {{Code|Pobierz}} {{Patrz|Pobierz}}, jak: {{s|PobierzŚródtekst}}.
Funkcja sprawdza, czy nie został ustawiony element {{Code|tablica_zmiennych.sprawdzenie_dokonane_linku}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}, a jeżeli tak, to dalej, czy nie ma elementów numerowanych przy pomocy funkcji: {{Code|{{sr|#p["CzySąElementyNumerowaneTablicy"]|p=Parametry}}}}, a jeśli również tak, to dalej jest sprawdzane, czy został ustawiony problem: {{Code|strony poza zakresem obsługiwanym}}, przy pomocy: {{Code|{{sr|#p.CzyJestTakiElementTabeliProblemu|p=StronicowyParser/Problemy}}}}, a jeżeli nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}. Na samym końcu tej instrukcji warunkowej jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}.
Dalej pod tą instrukcją warunkową, jest robione, co powiedziane zostało w prologu tego opisu tej funkcji, tzn. z wyznaczonej tablicy ze: {{LinkPatrz|tablica_zmiennych}}, a dalej z wyznaczonej następnej podtabeli o kluczu: {{LinkPatrz|nazwa_obiektu}}.
Następnie, gdy element: {{LinkPatrz|czy_pobierz}}, jest ustawiony na {{Code|true}}, wtedy dla {{LinkPatrz|uchwyt_obiektu}}, pewna tablica, jest wstawiana do tablicy: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}}, jeśli istnieje, a jeśli nie, to jest tworzona, jako tablica, wtedy też jest to robione. Tą czynnością wstawiany tabelę, do tej tablicy, czyli:
<syntaxhighlight lang="lua">
{{nazwa_obiektu,uchwyt_obiektu,},{obiekt,kod,},}
</syntaxhighlight>
=== {{Śródtytuł|p.LinkowanieInnychStron}}{{Code|p.LinkowanieInnychStron}} ===
Funkcja do sprawdzania innych stron niż aktualna, a jeżeli dana strona została już sprawdzona, to powtórnie nie jest już rewidowana. Funkcja ustawia w głównej tablicy aktualnej tabeli {{LinkPatrz|tablica_zmiennych}} pewne podtablice.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieInnychStron(self,obiekt,kod,tablica_zmiennych, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejo jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Najpierw jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, która w razie poprawności nazwy strony, czyli inaczej nazw tej strony, tzn.: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, uruchamia funkcję zdefiniowaną w nim.
{{Tab}}Ta funkcja sprawdza, czy któraś z parametrów nazw istnieje, a jeżeli nie, to dalej jest inicjowana zmienna: {{Code|tablica_zmiennych2}} {{Patrz|tablica_zmiennych2}} pustą tablicą i podobnie {{Code|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}} {{Patrz|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}}, to uruchamiana jest: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, do zbierania informacji o stronie nowej lub przebadanej (wtedy zostają zwrócone parametry z wczęsniejszego jego analizowania, jak była nowa). Funkcja zwraca trzy parametry, tzn. {{Code|tabela_listy_danych_analizy_ksiazki0}} {{Patrz|tabela_listy_danych_analizy_ksiazki0}}, {{LinkPatrz|tablica_zmiennych2}} i {{Code|czy_inna}} {{Patrz|czy_inna}}. Te parametry mogą przyjmować wartość {{Code|nil}}, lub pierwszy {{Code|0}}, drugi, to nic innego jest jak: {{LinkPatrz|tablica_zmiennych2}}, a trzeci parametr jest wtedy równy {{Code|true}}, gdy strona jest nowa, a {{Code|false}} aktualna, a gdy {{Code|nil}}, gdy np. zawartość strony nie istnieje.
Gdy parametr: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, istnieje, wtedy jest spraqdzane, czy któreś z parametrów: {{LinkPatrz|tablica_zmiennych2}} i {{LinkPatrz|czy_inna}}, nie istsnieje, wtedy ta funkcja się zakańcza.
==== {{Śródtytuł|JuzPoliczone}}{{Code|JuzPoliczone}} ====
Dla obiektów, dla których jest ustawiony parametr: {{LinkPatrz|czy_pobierz}}, co dalej w tym rozgałęzieniu instrukcji warunkiwej jest uruchamiana funkcja szablonów tekstu, czyli: {{Code|{{sr|#p.UstawianiePobierz|p=StronicowyParser/SzablonyTekstu}}}}, aby również później za pomocą innych funkcji przeanalizować również tekst w szablonach takich jak: {{s|Śródtekst}}.
Dalej jest tworzona tablica, jeśli nie istnieje, tzn. {{Code|tablica_zmiennych2.dane_juz_policzone}} {{Patrz|tablica_zmiennych2.dane_juz_policzone}}, czyli jest inicjowana pustą tablicą. Dalej jest tworzona, jeśli nie istnieje, tablica wielowymiarowa po kolei, o kluczach kolejno: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}, {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu}}, a jeżeli ta ostatnia wartość tej tablicy była wcześniej, to zwracane jest {{Code|true}}, przeciwnie {{Code|false}}, a tej ostatniej wartości tej tablicy jest przydzielana wartość {{Code|true}}.
==== Dalszy opis funkcji ====
Gdy parametr: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest równy {{Code|0}}, ale nie {{Code|nil}}, wtedy jest sprawdzane, czy artykuł został wcześniej zrewidowany według: {{LinkŚródtytuł|JuzPoliczone}}, a jeżeli tak to jest zakańczany, a gdy ten parametr taakiej wartośsci nie przyjmuje, wtedy tylko jest uruchamiana funkcja bez żadnego warunku.
{{Tab}}Następnie jest uruchamiana funkcja: {{Code|{{sr|#p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony|p=StronicowyParser/SzablonyTekstu}}}}, do przydzielenia pewnych zmiennych z {{LinkPatrz|tablica_zmiennych2}} tablicy {{LinkPatrz|tablica_zmiennych}}.
{{Tab}}Jest sprawdzane, czy dany artykuł należy do spisu, jeżeli nie to są ustawiane pewne kody problemów w tablicy problemów, tzn. {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}.
Dalej jest sprawdzane, czy podany uchwyt {{LinkPatrz|uchwyt_obiektu}}, który jest podany w szablonach linków na aktualnej stronie, czy jest tylko jeden na stronie sprawdzanej, a jeżeli nie jest tak, to jest sprawdzane, czy nie istnieje ustawiony problem: {{Code|błędy uchwytów korzystanych stron}}, funkcją: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to taki problem jest dodawany dzięki: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
{{Tab}}Uruchamiana jest dalej funkcja: {{LinkŚródtytuł|p.PusteParametryReferencji}}, do sprawdzania pustości pewnych parametrów.
{{Tab}}Gdy tabela: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest jednak równa wartości odpowiadającej fałszywej, wtedy jeśli nie istnieje problem: {{Code|błąd wewnętrzny modułu lua stronicowego parsera}}, co jest rewidowane elementem: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to dodawany jest taki problem do tabeli problemów na podstawie: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
=== {{Śródtytuł|p.GeneralneLinkowanie}}{{Code|p.GeneralneLinkowanie}} ===
Funkcja zbiera uchwyty, na aktualnej lub innej stronie, a także je analizuje w odpowiedni sposób, modyfikuje tablica aktualnego modułu, czyli: {{LinkPatrz|tablica_zmiennych}}, na podstawie poszczególnych artykułów tej książki lub innej, która zbiera raz informacje o danej stronie.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Funkcja wyznacza uchwyt z tabeli parametrów: {{LinkPatrz|tabela_parametrow_szablonu}}, o kluczu {{Code|uchwyt}} {{LinkPatrz|uchwyt}} lub {{Code|1}}, a później w kodzie jest on kompletowany funkcją: {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a następnie rozwijany w niej, a później jest dekodowany: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}.
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, wywołujac: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}.
Na samym końcu jest uruchamiana: {{LinkPatrz|KtorySzablonMaZwracacKategorie}} z parametrem o tym uchwycie, wyliczonym wcześniej.
Gdy uchwyt istnieje, ale jest pusty, wtedy uruchamia się: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, następnie: {{LinkŚródtytuł|p.PusteParametryReferencji}}, a jeśli ta wartość nie istnieje, wtedy tylko ta ostatnia funkcja.
Gdy uchwyt: {{LinkPatrz|uchwyt}}, istnieje i jest niepusty, wtedy jest wyznaczana nazwa artykułu z niej samej, lub jeśli nazwa ksiązki istnieje, tylko, wtedy ta nazwa zaczyna być pusta, przeciwnie {{Code|nil}}, wtedy mamy do czynienia ze stroną główną podręcznika.
Gdy nazwa artykułu nie istnieje, wtedy wywoływana jest: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Jeśli nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest niepusta, i gdy nazwa książki nie istnieje, wtedy są liczone parametry nazw, oprócz nazwy artykułu, bo jest policzona, więc te {{ZobaczTeż|nazwy}}: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, z parametrów charakteryzujących nazwę aktualnego artykułu, a jeśli jednak nazwa książki jest pusta, to są sprawdzane parametry w: {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Gdy nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest nieistnieje, i gdy nazwa książki {{LinkPatrz|nazwa_ksiazki}} jest niepusta, wtedy nazwa artykułu zaczyna istnieć i inicjujemy wtedy ją wartością pustą, a jeśli pusta, za zaczyna być potem generowanie kodów błędów funkcją {{LinkŚródtytuł|p.PusteParametryReferencji}}, by potem się zakończyła ta funkcja.
Przeciwnie są liczone parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, tą samą metodą, co w punkcie: {{LinkZobaczTeż|nazwy}}.
Gdy nazwy {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}} są porównywane z nazwami, którymi się przypisje jak w: {{LinkZobaczTeż|nazwy}}, wtedy uruchamiamy funkcję: {{LinkŚródtytuł|p.LinkowanieInnychStron}}, przeciwnie wtedy działają dwie funkcje uruchomione po kolei, tzn.: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
== {{Śródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}{{Code|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} ==
Funkcja służy do zbierania informacji o danej analizowanej stronie, którego główną częścią jest strona korzystana, w której gromadzą się informacji też z pozostałych.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, czy_artykul_korzystany,tablica_zmiennych,czy_szablon_pudelkowy_strony_zbiorczej)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} - jak w: {{LinkPatrz|czy_szablon_pudelkowy_strony_zbiorczej}}.
=== {{Śródtytuł|__FUNKCJA_ARTYKULU}}{{Code|__FUNKCJA_ARTYKULU}} ===
Funkcja do tworzenia tabeli artykułów z innymi parametrami wielowymiarowej tej tabeli, a jeżeli owe pośrednie, i nie tylko, istnieją, to te tabele są zwracane lub nowo są tworzone.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji {{ZobaczTeż|parametry artykułu}}:
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}},
* {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu}} - nazwa artykułu w książce, bez pełnej nazwy książki.
Poniżej są tworzone podtabele puste, jeśli nie zostały utworzone.
Funkcja, która w tabeli: {{Code|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}} {{Patrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, która istnieje, tworzy tabele trójwymiarową kolejno po prarametrach: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, te tabele pośrednie śą wtedy tworzone, jeśsli nie istnieją, a gdy istnieją to nie są tworzone, tylko funkcja przechodzi do dalszych.
Dalej tworzona jest podtabela, jeśli nie istnieje o nazwie {{Code|lista_podstron_woluminu}} {{Patrz|lista_podstron_woluminu}}.
Następnie generowana jest podtabela, jeśli nie istnieje, o kluczu: {{LinkPatrz|nazwa_artykulu}}.
Funkcja zwraca kolejno elementy, jeśli klucz: {{LinkPatrz|nazwa_artykulu}}, istnieje, zatem:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany;
</syntaxhighlight>
Przeciwnie zwracany jest zbiór zmiennych po kolei:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki;
</syntaxhighlight>
Co to są za zmienne, wiadomo z ich nazw, po prostu są to pewne pośrednie, i nie tylko, tabele.
=== {{Śródtytuł|__FUNKCJA_POBIERANIE}}{{Code|__FUNKCJA_POBIERANIE}} ===
Funkcja zwraca parametry strony aktualnej, analizowanej jeszcze raz, aby ją nie powtórnie rewidować, lub podobnie dla innego artykułu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_POBIERANIE(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji są takie same jak w punkcie {{LinkZobaczTeż|parametry artykułu}}.
{{Tab}}Analiza dla artykułów niekorzystanych według parametru: {{LinkPatrz|czy_artykul_korzystany}}:
Dla jeszcze raz analizowanego artykułui aktualnego zwracane są parametry:
<syntaxhighlight lang="lua">
return 0,nil,nil,nil,nil,nil,self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron,false;
</syntaxhighlight>
Tabela: {{Code|self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron}}, tam są dane zebrane z aktualnego artykułu.
Dla innej takiej strony jest tworzony parametr, jeżeli jest włączona analiza, dla klucza: {{Code|analiza_spis_tresci}} {{Patrz|analiza_spis_tresci}}, według tego jest tworzony wartością prawdziwą parametr o innym znów kluczu: {{Code|analiza_spis_tresci_doloczone}} {{Patrz|analiza_spis_tresci_doloczone}}:
<syntaxhighlight lang="lua">
if(self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci)then
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=true;
end;
</syntaxhighlight>
Dla elementu: {{LinkPatrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, jeżeli dany artykuł był już rewidowany, to zwracane są elementy:
<syntaxhighlight lang="lua">
return 0,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni,dane_zebrane_ze_stron,true;
</syntaxhighlight>
To: {{Code|dane_zebrane_ze_stron}} {{Patrz|dane_zebrane_ze_stron}}, to podtabela: {{LinkPatrz|lista_podstron_woluminu}}, z kluczem: {{LinkPatrz|nazwa_artykulu}}, o nazwie takiej samej jak ten parametr zwracany.
Przeciwnie jest zwracane: {{Code|true}}, lub {{Code|nil}}, jeśli tabela: {{Code|self.tabela_listy_danych_analizy_ksiazki}} {{Patrz|self.tabela_listy_danych_analizy_ksiazki}}, lub podtatela: {{LinkPatrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, nie istnieje.
=== {{Śródtytuł|InneInformacjePrzebneDoAnalizowanejKsiazki}}{{Code|InneInformacjePrzebneDoAnalizowanejKsiazki}} ===
Funkcja do zbierania informacji o spisie artykułów książkowych i ich licencjach oraz ewentualnie zebrane informacje ze stron: {{lk2|Szablony nawigacyjne układu autonawigacji do autonawigacji podręczników}}, z szablonu, w któreś tej pozycji w: {{s|Układ autonawigacji}}, i ze spisów podanej w niej jako parametry.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function InneInformacjePrzebneDoAnalizowanejKsiazki()...end;
</syntaxhighlight>
Parametry funkcji:
* brak.
==== {{Śródtytuł|__FUNKCJA_SPISU}}{{Code|__FUNKCJA_SPISU}} ====
Funkcja do inicjowania parametrów spisu, aktualnego artykułu, uzyskanych z ich analizy.
Definicja skrotowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_SPISU(tablica_ksiazki,czy_podac_adres)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tablica_ksiazki}} {{Patrz|tablica_ksiazki}} - tablica dla analizowanej książki,
* {{Code|czy_podac_adres}} {{Patrz|czy_podac_adres}} - czy podać adres bazowego woluminu.
Tablicy: {{linkPatrz|tablica_ksiazki}}, jest inicjowany element: {{Code|spis}} {{Patrz|spis}}, tabelą: {{Code|tabela_artykulow}} {{Patrz|tabela_artykulow}}.
Gdy: {{LinkPatrz|czy_artykul_korzystany}}, jest wartością fałszywą, to iniciowaną tablicy: {{LinkPatrz|tablica_ksiazki}}, jest parametr o kluczu: {{Code|licencja}} {{Patrz|licencja}}, tabelą: {{Code|tabela_licencji_spisu_tresci}} {{Patrz|tabela_licencji_spisu_tresci}}.
Dalej kolejno elementy: {{Code|nazwa_bazowego_spisu}} {{Patrz|nazwa_bazowego_spisu}}, {{Code|tab_inne_spisy}} {{Patrz|tab_inne_spisy}} i {{Code|dodatkowe_strony_woluminu}}, tabeli: {{LinkPatrz|tablica_ksiazki}}, i inicjowane są tabelami o takich samych nazwach jak te klucze dwa, a ostatni tabelą: {{Code|dodatkowe_artykuly}} {{Patrz|dodatkowe_artykuly}}.
Dla tabeli: {{LinkPatrz|tablica_ksiazki}}, o kluczu w nim {{Code|adres_woluminu_bazowego_spisu_rzeczy}}, ona jest przyrównywana wartością: {{Code|adres_ksiazki_glownego_spisu_tresci}} {{Patrz|adres_ksiazki_glownego_spisu_tresci}}, jeśli istnieje: {{LinkPatrz|czy_podac_adres}}, lub przeciwnie wartością {{Code|nil}}.
==== Dalszy opis funkcji ====
Jeżeli dla aktualnego artykułu dla książki nie ustawiono kodu: {{Code|strony poza zakresem obsługiwanym}}, wtedy są analizowane elementy opisane w nagłówku opisywanej funkcji, pod warunkiem, jeżeli istnieją parametry nazw książki: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}.
Gdy artykuł jest analizowany, wtedy parametr: {{LinkPatrz|czy_artykul_korzystany}}, wtedy jest przy istnieniu: {{Code|self.tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|self.tabela_listy_danych_analizy_ksiazki}}, jest ustawiany w nim element: {{Code|CzyArtykułKsiążki}} {{Patrz|CzyArtykułKsiążki}}, z wartością na {{Code|tak}}.
Gdy już spis jeszcze nie analizowano, a jeżeli juz został zanalizowany, to sprawdzany jest: {{Code|czy_spis_analizowano}}, tablicy: {{LinkPatrz|tablica_ksiazki}}.
A jeśli jednak spisy książki nie zostały sprawdzone i sparsowane, wtedy uruchamia się następne rozgałęzienie pętli.
{{Tab}}Uruchamia się dalej funkcja: {{Code|{{sr|#p.ZbieranieInformacjiSpisuRzeczyWoluminuEwentualnieWedleAutonawigacji|p=StronicowyParser/SpisTreści}}}}, w nim są uruchamiane w pewien sposób dwie funkcje.
=== {{Śródtytuł|PrzekierownieAwaryjne}}{{Code|PrzekierownieAwaryjne}} ===
=== {{Śródtytuł|StronaZbiorcza}}{{Code|StronaZbiorcza}} ===
=== {{Śródtytuł|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}}{{Code|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}} ===
=== {{Śródtytuł|GeneralnaAnalizaSzablonuStronicowegoParsera}}{{Code|GeneralnaAnalizaSzablonuStronicowegoParsera}} ===
=== {{Śródtytuł|IterowaniePoElementachTekstu}}{{Code|IterowaniePoElementachTekstu}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieNaglowek}}{{Code|KtorySzablonMaZwracacKategorieNaglowek}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieTekst}}{{Code|KtorySzablonMaZwracacKategorieTekst}} ===
=== {{Śródtytuł|CzyJestTakiProblemJakoElementTablicy}}{{Code|CzyJestTakiProblemJakoElementTablicy}} ===
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
hiod2w9za8tkfbmemyh6c7w4f4xlo21
547251
547250
2026-06-30T07:36:31Z
Persino
2851
/* Dalszy opis funkcji */
547251
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/ZbieranieDanychStron}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== Zbieranie informacji o uchwycie ==
=== {{Śródtytuł|p.UchwytyZeiBezNumeracji}}{{Code|p.UchwytyZeiBezNumeracji}} ===
Funkcja zbiera uchwyty, dla obiektów {{ZobaczTeż|p.UchwytyZeiBezNumeracji}}, bez numeracji, nie licząc obiektów tekst takich jak {{s|Śródtekst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UchwytyZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,lista_dwuelementowa,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} {{Patrz|self}} - zmiennna obiektowa modułu {{Code|{{ld2|StronicowyParser/ZbieranieDanychStron}}}} {{Patrz|StronicowyParser/ZbieranieDanychStron}},
* {{Code|tabela_elementow_strony_kodow}} {{Patrz|tabela_elementow_strony_kodow}} - zmienna zbierająca takie kody jak {{LinkZobaczTeż|p.UchwytyZeiBezNumeracji}},
* {{Code|nazwa_obiektu}} {{Patrz|nazwa obiektu}} - nazwa obiektu,
* {{Code|lista_dwuelementowa}} {{Patrz|lista_dwuelementowa}} - pozycja w normalnej tabeli uchwytów i przeważnie ich numeracji, a tutaj dla tego obiektu,
* {{Code|kod}} {{Patrz|kod}} - numer kodu dla tego obiektu.
Funkcja zbiera elementy {{LinkPatrz|lista_dwuelementowa}} w tablicy wielowymiarowej o pierwszym elemencie wymiaru {{LinkPatrz|nazwa obiektu}} i trzecim {{LinkPatrz|kod}}, oraz o drugim {{Code|uchwyty_bez_numeracji}} {{Patrz|uchwyty_bez_numeracji}}.
=== {{Śródtytuł|p.WydobywanieUchwytuZeiBezNumeracji}}{{Code|p.WydobywanieUchwytuZeiBezNumeracji}} ===
Funkcja wydowywa tablicę uchwytu dla pozycji, ale nie sam uchwyt, dla podtablicy {{LinkPatrz|uchwyty_bez_numeracji}} o danym kodzie {{LinkPatrz|kod}}, dla nazwy obiektu {{LinkPatrz|nazwa_obiektu}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.WydobywanieUchwytuZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_elementow_strony_kodow}} - jak w: {{LinkPatrz|tabela_elementow_strony_kodow}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}}.
Funkcja wykorzystuje elementy tablicy: {{LinkPatrz|uchwyty_bez_numeracji}}, wstawione przez funkcję: {{LinkŚródtytuł|p.UchwytyZeiBezNumeracji}}.
=== {{Śródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}{{Code|p.RozpatrywanieElementuUchwytuNumeracji}} ===
Funkcja wsadzająca utworzoną tablicę z podanym uchwytem do ogólnej tablicy pozycji nazwanych tabel z uchwytami o danej pozycji z nim.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|kod_uchwytu}} {{Patrz|kod_uchwytu}} - kod uchwytu podanego do szablonu stronicowego z odpowiednim uchwytem,
* {{Code|tab_numer}} {{Patrz|tab_numer}} - tablica z numerkami ilości elementów w tablicy parametrów nazwanych z uchwytami, w danym elemencie analizowania strony z uchwytami i obiektami,
* {{Code|tablica_zmiennych}} {{Patrz|tablica_zmiennych}} - tablica analizowania obiektów, danej strony,
* {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} {{Patrz|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - kolejno: nazwa przestrzeni nazw, nazwa przestrzeni książki, nazwa książki i nazwa artykułu książki,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} {{Patrz|czy_artykul_korzystany}} - czy artykuł aktualny wyświetlany w przeglądarce,
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} {{Patrz|nazwa_modulu_aktualna_czy_biezaca}} - nazwa artykułu aktualna lub bieżąca,
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{Patrz|tablica_analizy_obiektow_strony_dany_modul}} - tablica bazy kodów parsowania strony,
* {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - tablica analizy poszczególnych elementów kodów, do szybszego działania skryptu,
* {{Code|KtorySzablonMaZwracacKategorie}} {{Patrz|KtorySzablonMaZwracacKategorie}} - tablica zbierająca odkodowany i rozwinięty uchwyt, do analizowania w nim zebranych kategorii, według modułu: {{Code|{{ld2|StronicowyParser/Kategorie}}}}, uruchamiana w szablonach stronicowych z funkcjami '''stronicowego parsera'''.
Funkcja rozwija {{LinkPatrz|kod_uchwytu}} funkcją {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a potem je odkodowuje przy pomocy: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a jeżeli ona nie jest pusta, to dla tego jest uruchamiana funkcja {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Tworzona jest tablica {{Code|lista_dwuelementowa}} {{LinkPatrz|lista_dwuelementowa}} z uchwytem, jako pierwszy parametr.
Jest sprawdzane, czy element {{Code|tablica_zmiennych.sprawdzenie_dokonane_obiektu}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, jest fałszywy, jeżeli tak, to dalej jest sprawdzane, czy są elementy numerowane nazwanej tablicy: {{Code|tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2}} o nazwie {{LinkPatrz|nazwa_obiektu}}, a jeżeli jest pusta - na samym końcu jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, czyli jest inicjowana na wartość {{Code|true}}, to dalej jest sprawdzane, czy dla elementów: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy dana książka jest poza zakresem obsługiwanym, czyli rewidowane jest, czy jest ustawiony kod problemu {{Code|strony poza zakresem obsługiwanym}}, czy a jeżeli jednak nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}, ustawiające pewne elementy błędu, jeżeli trzeba to zrobić.
Gdy tabela {{LinkPatrz|tab_numer}} odpowiada nienilowej tablicy, wtedy element {{LinkPatrz|lista_dwuelementowa}} jest wstawiany na odpowiedniej pozycji, ale przeważnie nie na końcu, przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=table.insert|b=tak}}}}, dzięki określonej tabeli {{LinkPatrz|tab_numer}}, przeciwnie na jej końcu.
Funkcja zwraca element {{LinkPatrz|lista_dwuelementowa}}.
=== {{Śródtytuł|p.RozpatrywanieSzablonuObiektuDoNumeracji}}{{Code|p.RozpatrywanieSzablonuObiektuDoNumeracji}} ===
Funkcja, która uruchamia funkcję: {{LinkŚródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}, dla istniejącego uchwytu w postaci nazwanej o kluczu: {{Code|uchwyt}} {{Patrz|uchwyt}}, lub nienazwanej - w postaci numeru jego uchwytu o kluczu: {{Code|numer_numeracji}} {{Patrz|numer_numeracji}}, wsadzająca tabele z uchwytem na odpowiednią pozycję w odpowiedniej nazwanej tabeli o nazwie obiektu {{LinkPatrz|nazwa_obiektu}} w ogólnej tabeli: {{LinkPatrz|tablica_zmiennych}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}}- tabela parametrów szablonu,
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|numer_numeracji}} - jak w: {{LinkPatrz|numer_numeracji}},
* {{Code|tab_numer}} - jak w: {{LinkPatrz|tab_numer}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
== {{Śródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}{{Code|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}} ==
Funkcja sprawdza, czy dany artykuł należy do artykułów, któregoś spisu treści, a jeżeli nie, to dla stron, które nie należą do kategorii z ustawionym problemem {{Code|strony poza zakresem obsługiwanym}}, ale do nieaktualnej strony jest ustawiony problem {{Code|brak spisów treści do dołączonych stron}}. Natomiast dla aktualnej dla stron tej samej kategorii ustawiany jest problem {{Code|brak spisu treści do korzystanych stron}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== {{Śródtytuł|p.PusteParametryReferencji}}{{Code|p.PusteParametryReferencji}} ==
Funkcja sprawdza, jeśli są podane parametry szablonu stronicowego, które są w kategorii: {{lk|Szablony stronicowe}}, czyli: {{Code|nazwa_artykulu}}, ewentualnie: {{Code|nazwa_ksiazki}}, ale zawsze z: {{Code|uchwyt_obiektu}}, czy są one puste.
A jeżeli one istnieją i są takie, to są ustawione problemy typu, jeśli ich wcześniej nie ustawiono:
* {{Code|puste parametry szablonów stronicowych linkujących}} {{Patrz|puste parametry szablonów stronicowych linkujących}}, kolejno dla: {{Code|uchwyt_obiektu}}, {{Code|nazwa_artykulu}} i {{Code|nazwa_ksiazki}}, kolejno z numerami problemów: {{Code|1}}, {{Code|2}} i {{Code|3}}.
Dla obiektu o nazwie {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}.
{{Hr}}
Definicja skrótowa funkcji
<syntaxhighlight lang="lua">
function p.PusteParametryReferencji(self, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu)...end;
</syntaxhighlight>
Paraametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} {{Patrz|uchwyt_obiektu}} - uchwyt obiektu, podane w danym szablonie stronicowym,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}}.
== {{Śródtytuł|p.SzablonyReferencjiParametrowych}}{{Code|p.SzablonyReferencjiParametrowych}} ==
Funkcja z parametrów pudełkowych nazwy artykułu {{ZobaczTeż|nazwa artykułu}}: {{Code|nazwa artykułu}} {{Patrz|nazwa artykułu}} albo {{Code|1}}, gdy bezuchwytowe lub {{Code|2}}, i pełnej nazwy książki {{ZobaczTeż|pełna nazwa strony}}: {{Code|nazwa książki}} {{Patrz|nazwa książki}} albo, {{Code|2}}, gdy bezuchwytowe lub {{Code|3}}. To wszystko jest liczone z: {{LinkPatrz|tabela_parametrow_szablonu}} lub przy użyciu parametru również {{Code|bezuchwytowe}} {{Patrz|bezuchwytowe}}, gdy mamy szablon stronicowy {{lk|Szablony stronicowe}}, bezuchwytowy, wtedy {{Code|true}}, przeciwnie {{Code|false/nil}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca,bezuchwytowe)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{Code|bezuchwytowe}} - jak w: {{LinkPatrz|bezuchwytowe}}.
Funkcja obie nazwy dekoduje funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a później jest liczony adres bezwzględny z względnego dzięki: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, przy pomocy podstawy {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}}, podobnie ale wcześniej jest liczona nazwa artykułu {{linkZobaczTeż|nazwa artykułu}}, czyli: {{LinkPatrz|nazwa_artykulu}}, ale tutaj adres względny jest liczony z podstawy o ciągu pustym jako drugi parametr.
Na podstawie pełnej nazwy książki {{LinkZobaczTeż|pełna nazwa strony}}: jest liczona bardziej jej wersja pełniejsza, jeżeli to jest w ogóle możliwe z: {{Code|{{sr|#p["PełnaNazwaStronicowejKsiążki"]|p=Książkowe}}}}. A póżniej z tego wszystkiego są liczone nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, przy pomocy funkcji nazw: {{Code|{{ld2|Nazwy}}}}.
Na samym końcu funkcji są zwracane parametry nazw, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== Funkcje zbierania informacji ==
=== {{Śródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}{{Code|p.ZbieranieInformacjiStronyWoluminowychPozycji}} ===
Funkcja zbierania informacji na stronie dla szablonów stronicowych: {{lk|Szablony stronicowe}}, bezuchwytowych, gdy nie jest uruchomiony parametr: {{Code|czy_inna_wartosc_tekst}} {{Patrz|czy_inna_wartosc_tekst}}, wtedy jest wywoływana funkcja: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}, która liczy kolejne nazwy charaktertyzujące nazwy dla danego artykułu książki dla danej strony, przeciwnie parametry nazw są ściagane z: {{Code|tab_nazwy}} {{Patrz|tab_nazwy}}, ta tabela składa się numerowanych elementów, którymi są nazwy charakyteryzujące stronę.
Gdy jakaś nazwa artylułu strony została policzona, wtedy są liczone pozostałe nazwy z: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, a na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, a tuż przed nim, jeśli istnieje: {{Code|KtorySzablonMaZwracacKategorie}} {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,KtorySzablonMaZwracacKategorie,czy_inna_wartosc_tekst,tab_nazwy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_inna_wartosc_tekst}} - jak w: {{LinkPatrz|czy_inna_wartosc_tekst}},
* {{Code|tab_nazwy}} - jak w: {{LinkPatrz|tab_nazwy}}.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacji}}{{Code|p.ZbieranieKontenerowychInformacji}} ===
Funkcja do zbierania informacji, która z parametrów pudełkowych: {{Code|{{m|Pudełko}}}}, czyli: {{Code|nazwa przestrzeni nazw}} {{Patrz|nazwa przestrzeni nazw}} i {{Code|nazwa jednostki}} {{Patrz|nazwa jednostki}}, z nich są liczone parametry nazw charakteryzujące artykuł książki strony. A na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} {{Patrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,czy_szablon_pudelkowy_strony_zbiorczej,KtorySzablonMaZwracacKategorie)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} {{Patrz|czy_szablon_pudelkowy_strony_zbiorczej}} - funkcja potrzebna do funkcji zbierającej {{LinkPatrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, określającej, czy mamy szablon pudełkowy strony zbiorczej, taki jak: {{Code|{{s|StronaSubst}}}}, czy: {{Code|{{s|KsiążkaSubst}}}}, zobacz stronę: {{Code|{{lr2|Moduły/StronicowyParser/StronaSubst}}}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Gdy nie ma parametrów pudełkowych funkcja się natychmiast zakańcza, lub parametr: {{LinkPatrz|nazwa jednostki}}, jest pusta, lub nawet gdy zawierają kody wykrywane przez funkcję: {{Code|{{sr|#p.NormaWzoruKodowaniaTekstu|p=Szablonowe}}}}.
Z nazwy jednostki jest wydzielana nazwa jednostki właściwa bez nazwy nagłówka, póżniej obie nazwy są też dekodowane funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, czyli wszystko z: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}.
Z tych dwóch nazwy jest liczony adres, ewentualnie względny, który za pomocą funkcji: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, jest wyliczany adres bezwzględny.
Dalej są liczone nazwy charakteryzujące artykuł danej książki strony, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, z tego adresu strony.
Przedostatnia funkcja, która jest uruchamiana przed funkcją zbierającą jest: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}, jeśli istnieje.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacjiReferencji}}{{Code|p.ZbieranieKontenerowychInformacjiReferencji}} ===
Funkcja zbiera informacje o stronie. Na podstawie informacji o nazwie artykułu i pełnej nazwy książki liczy parametry nazw charakteryzujące artykuł, co na tej podstawiwe liczy parametry pudełkowe i wywołuje funkcję główną przez inną funkcję, też zbierającą, i zbiera informacje o artykule.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacjiReferencji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, jako parametry zwracane przez funkcję: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}. Funkcja wyznacza parametry pudełkowe {{m|Pudełko}}, tzn.: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}, na podstawie tych nazw. Funkcja na samym końcu wywołuje funkcję zbierającą dane ze strony: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}, która z kolei uruchamia potem: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
== {{Śródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}{{Code|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}} ==
Funkcja sprawdza niepoprawność nazwy strony i na podstawie tego ustawia pewne kody problemów.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,__FUNKCJA_SPRAWDZANIE)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|__FUNKCJA_SPRAWDZANIE}} {{Patrz|__FUNKCJA_SPRAWDZANIE}} - funkcja uruchamiana, jeśli jest ustawiona, na wypadek poprawności strony.
W przypadku niepoprawności strony, gdy strona modułu jest aktualna (bieżąca), wtedy sprawdzany jest kod problemu, czy jest ustawiony, tzn.: {{Code|nieprawidłowe nazwy korzystanych stron}}, przy pomocy funkcji: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli nie ma takiego, to wtedy jest uruchamiana funkcja: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}. Podobnie jest dla niekorzystanej strony, wtedy jest problem dla kodu: {{Code|nieprawidłowe nazwy stron dołączanych do stron}}.
== Zbieranie informacji o linkach ==
=== {{Śródtytuł|p.LinkowanieFinalizowaniePrac}}{{Code|p.LinkowanieFinalizowaniePrac}} ===
Funkcja wadza uchwyt obiektu, wsazujący na aktualną stronę, do pewnej strony, i ewentualnie ustawia pewne problemy, jeśli je nie ustawiono.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} {{Patrz|obiekt}} - obiekt, obsługiwany przez tą funkcję linku,
* {{Code|kod}} {{LinkPatrz|kod}} - kod obiektu dla: {{LinkPatrz|obiekt}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} - jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}},
* {{Code|czy_pobierz}} {{Patrz|czy_pobierz}} - czy to jest szablon typu {{Code|Pobierz}} {{Patrz|Pobierz}}, jak: {{s|PobierzŚródtekst}}.
Funkcja sprawdza, czy nie został ustawiony element {{Code|tablica_zmiennych.sprawdzenie_dokonane_linku}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}, a jeżeli tak, to dalej, czy nie ma elementów numerowanych przy pomocy funkcji: {{Code|{{sr|#p["CzySąElementyNumerowaneTablicy"]|p=Parametry}}}}, a jeśli również tak, to dalej jest sprawdzane, czy został ustawiony problem: {{Code|strony poza zakresem obsługiwanym}}, przy pomocy: {{Code|{{sr|#p.CzyJestTakiElementTabeliProblemu|p=StronicowyParser/Problemy}}}}, a jeżeli nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}. Na samym końcu tej instrukcji warunkowej jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}.
Dalej pod tą instrukcją warunkową, jest robione, co powiedziane zostało w prologu tego opisu tej funkcji, tzn. z wyznaczonej tablicy ze: {{LinkPatrz|tablica_zmiennych}}, a dalej z wyznaczonej następnej podtabeli o kluczu: {{LinkPatrz|nazwa_obiektu}}.
Następnie, gdy element: {{LinkPatrz|czy_pobierz}}, jest ustawiony na {{Code|true}}, wtedy dla {{LinkPatrz|uchwyt_obiektu}}, pewna tablica, jest wstawiana do tablicy: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}}, jeśli istnieje, a jeśli nie, to jest tworzona, jako tablica, wtedy też jest to robione. Tą czynnością wstawiany tabelę, do tej tablicy, czyli:
<syntaxhighlight lang="lua">
{{nazwa_obiektu,uchwyt_obiektu,},{obiekt,kod,},}
</syntaxhighlight>
=== {{Śródtytuł|p.LinkowanieInnychStron}}{{Code|p.LinkowanieInnychStron}} ===
Funkcja do sprawdzania innych stron niż aktualna, a jeżeli dana strona została już sprawdzona, to powtórnie nie jest już rewidowana. Funkcja ustawia w głównej tablicy aktualnej tabeli {{LinkPatrz|tablica_zmiennych}} pewne podtablice.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieInnychStron(self,obiekt,kod,tablica_zmiennych, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejo jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Najpierw jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, która w razie poprawności nazwy strony, czyli inaczej nazw tej strony, tzn.: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, uruchamia funkcję zdefiniowaną w nim.
{{Tab}}Ta funkcja sprawdza, czy któraś z parametrów nazw istnieje, a jeżeli nie, to dalej jest inicjowana zmienna: {{Code|tablica_zmiennych2}} {{Patrz|tablica_zmiennych2}} pustą tablicą i podobnie {{Code|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}} {{Patrz|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}}, to uruchamiana jest: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, do zbierania informacji o stronie nowej lub przebadanej (wtedy zostają zwrócone parametry z wczęsniejszego jego analizowania, jak była nowa). Funkcja zwraca trzy parametry, tzn. {{Code|tabela_listy_danych_analizy_ksiazki0}} {{Patrz|tabela_listy_danych_analizy_ksiazki0}}, {{LinkPatrz|tablica_zmiennych2}} i {{Code|czy_inna}} {{Patrz|czy_inna}}. Te parametry mogą przyjmować wartość {{Code|nil}}, lub pierwszy {{Code|0}}, drugi, to nic innego jest jak: {{LinkPatrz|tablica_zmiennych2}}, a trzeci parametr jest wtedy równy {{Code|true}}, gdy strona jest nowa, a {{Code|false}} aktualna, a gdy {{Code|nil}}, gdy np. zawartość strony nie istnieje.
Gdy parametr: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, istnieje, wtedy jest spraqdzane, czy któreś z parametrów: {{LinkPatrz|tablica_zmiennych2}} i {{LinkPatrz|czy_inna}}, nie istsnieje, wtedy ta funkcja się zakańcza.
==== {{Śródtytuł|JuzPoliczone}}{{Code|JuzPoliczone}} ====
Dla obiektów, dla których jest ustawiony parametr: {{LinkPatrz|czy_pobierz}}, co dalej w tym rozgałęzieniu instrukcji warunkiwej jest uruchamiana funkcja szablonów tekstu, czyli: {{Code|{{sr|#p.UstawianiePobierz|p=StronicowyParser/SzablonyTekstu}}}}, aby również później za pomocą innych funkcji przeanalizować również tekst w szablonach takich jak: {{s|Śródtekst}}.
Dalej jest tworzona tablica, jeśli nie istnieje, tzn. {{Code|tablica_zmiennych2.dane_juz_policzone}} {{Patrz|tablica_zmiennych2.dane_juz_policzone}}, czyli jest inicjowana pustą tablicą. Dalej jest tworzona, jeśli nie istnieje, tablica wielowymiarowa po kolei, o kluczach kolejno: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}, {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu}}, a jeżeli ta ostatnia wartość tej tablicy była wcześniej, to zwracane jest {{Code|true}}, przeciwnie {{Code|false}}, a tej ostatniej wartości tej tablicy jest przydzielana wartość {{Code|true}}.
==== Dalszy opis funkcji ====
Gdy parametr: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest równy {{Code|0}}, ale nie {{Code|nil}}, wtedy jest sprawdzane, czy artykuł został wcześniej zrewidowany według: {{LinkŚródtytuł|JuzPoliczone}}, a jeżeli tak to jest zakańczany, a gdy ten parametr taakiej wartośsci nie przyjmuje, wtedy tylko jest uruchamiana funkcja bez żadnego warunku.
{{Tab}}Następnie jest uruchamiana funkcja: {{Code|{{sr|#p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony|p=StronicowyParser/SzablonyTekstu}}}}, do przydzielenia pewnych zmiennych z {{LinkPatrz|tablica_zmiennych2}} tablicy {{LinkPatrz|tablica_zmiennych}}.
{{Tab}}Jest sprawdzane, czy dany artykuł należy do spisu, jeżeli nie to są ustawiane pewne kody problemów w tablicy problemów, tzn. {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}.
Dalej jest sprawdzane, czy podany uchwyt {{LinkPatrz|uchwyt_obiektu}}, który jest podany w szablonach linków na aktualnej stronie, czy jest tylko jeden na stronie sprawdzanej, a jeżeli nie jest tak, to jest sprawdzane, czy nie istnieje ustawiony problem: {{Code|błędy uchwytów korzystanych stron}}, funkcją: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to taki problem jest dodawany dzięki: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
{{Tab}}Uruchamiana jest dalej funkcja: {{LinkŚródtytuł|p.PusteParametryReferencji}}, do sprawdzania pustości pewnych parametrów.
{{Tab}}Gdy tabela: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest jednak równa wartości odpowiadającej fałszywej, wtedy jeśli nie istnieje problem: {{Code|błąd wewnętrzny modułu lua stronicowego parsera}}, co jest rewidowane elementem: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to dodawany jest taki problem do tabeli problemów na podstawie: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
=== {{Śródtytuł|p.GeneralneLinkowanie}}{{Code|p.GeneralneLinkowanie}} ===
Funkcja zbiera uchwyty, na aktualnej lub innej stronie, a także je analizuje w odpowiedni sposób, modyfikuje tablica aktualnego modułu, czyli: {{LinkPatrz|tablica_zmiennych}}, na podstawie poszczególnych artykułów tej książki lub innej, która zbiera raz informacje o danej stronie.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Funkcja wyznacza uchwyt z tabeli parametrów: {{LinkPatrz|tabela_parametrow_szablonu}}, o kluczu {{Code|uchwyt}} {{LinkPatrz|uchwyt}} lub {{Code|1}}, a później w kodzie jest on kompletowany funkcją: {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a następnie rozwijany w niej, a później jest dekodowany: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}.
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, wywołujac: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}.
Na samym końcu jest uruchamiana: {{LinkPatrz|KtorySzablonMaZwracacKategorie}} z parametrem o tym uchwycie, wyliczonym wcześniej.
Gdy uchwyt istnieje, ale jest pusty, wtedy uruchamia się: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, następnie: {{LinkŚródtytuł|p.PusteParametryReferencji}}, a jeśli ta wartość nie istnieje, wtedy tylko ta ostatnia funkcja.
Gdy uchwyt: {{LinkPatrz|uchwyt}}, istnieje i jest niepusty, wtedy jest wyznaczana nazwa artykułu z niej samej, lub jeśli nazwa ksiązki istnieje, tylko, wtedy ta nazwa zaczyna być pusta, przeciwnie {{Code|nil}}, wtedy mamy do czynienia ze stroną główną podręcznika.
Gdy nazwa artykułu nie istnieje, wtedy wywoływana jest: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Jeśli nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest niepusta, i gdy nazwa książki nie istnieje, wtedy są liczone parametry nazw, oprócz nazwy artykułu, bo jest policzona, więc te {{ZobaczTeż|nazwy}}: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, z parametrów charakteryzujących nazwę aktualnego artykułu, a jeśli jednak nazwa książki jest pusta, to są sprawdzane parametry w: {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Gdy nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest nieistnieje, i gdy nazwa książki {{LinkPatrz|nazwa_ksiazki}} jest niepusta, wtedy nazwa artykułu zaczyna istnieć i inicjujemy wtedy ją wartością pustą, a jeśli pusta, za zaczyna być potem generowanie kodów błędów funkcją {{LinkŚródtytuł|p.PusteParametryReferencji}}, by potem się zakończyła ta funkcja.
Przeciwnie są liczone parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, tą samą metodą, co w punkcie: {{LinkZobaczTeż|nazwy}}.
Gdy nazwy {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}} są porównywane z nazwami, którymi się przypisje jak w: {{LinkZobaczTeż|nazwy}}, wtedy uruchamiamy funkcję: {{LinkŚródtytuł|p.LinkowanieInnychStron}}, przeciwnie wtedy działają dwie funkcje uruchomione po kolei, tzn.: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
== {{Śródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}{{Code|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} ==
Funkcja służy do zbierania informacji o danej analizowanej stronie, którego główną częścią jest strona korzystana, w której gromadzą się informacji też z pozostałych.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, czy_artykul_korzystany,tablica_zmiennych,czy_szablon_pudelkowy_strony_zbiorczej)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} - jak w: {{LinkPatrz|czy_szablon_pudelkowy_strony_zbiorczej}}.
=== {{Śródtytuł|__FUNKCJA_ARTYKULU}}{{Code|__FUNKCJA_ARTYKULU}} ===
Funkcja do tworzenia tabeli artykułów z innymi parametrami wielowymiarowej tej tabeli, a jeżeli owe pośrednie, i nie tylko, istnieją, to te tabele są zwracane lub nowo są tworzone.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji {{ZobaczTeż|parametry artykułu}}:
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}},
* {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu}} - nazwa artykułu w książce, bez pełnej nazwy książki.
Poniżej są tworzone podtabele puste, jeśli nie zostały utworzone.
Funkcja, która w tabeli: {{Code|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}} {{Patrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, która istnieje, tworzy tabele trójwymiarową kolejno po prarametrach: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, te tabele pośrednie śą wtedy tworzone, jeśsli nie istnieją, a gdy istnieją to nie są tworzone, tylko funkcja przechodzi do dalszych.
Dalej tworzona jest podtabela, jeśli nie istnieje o nazwie {{Code|lista_podstron_woluminu}} {{Patrz|lista_podstron_woluminu}}.
Następnie generowana jest podtabela, jeśli nie istnieje, o kluczu: {{LinkPatrz|nazwa_artykulu}}.
Funkcja zwraca kolejno elementy, jeśli klucz: {{LinkPatrz|nazwa_artykulu}}, istnieje, zatem:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany;
</syntaxhighlight>
Przeciwnie zwracany jest zbiór zmiennych po kolei:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki;
</syntaxhighlight>
Co to są za zmienne, wiadomo z ich nazw, po prostu są to pewne pośrednie, i nie tylko, tabele.
=== {{Śródtytuł|__FUNKCJA_POBIERANIE}}{{Code|__FUNKCJA_POBIERANIE}} ===
Funkcja zwraca parametry strony aktualnej, analizowanej jeszcze raz, aby ją nie powtórnie rewidować, lub podobnie dla innego artykułu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_POBIERANIE(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji są takie same jak w punkcie {{LinkZobaczTeż|parametry artykułu}}.
{{Tab}}Analiza dla artykułów niekorzystanych według parametru: {{LinkPatrz|czy_artykul_korzystany}}:
Dla jeszcze raz analizowanego artykułui aktualnego zwracane są parametry:
<syntaxhighlight lang="lua">
return 0,nil,nil,nil,nil,nil,self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron,false;
</syntaxhighlight>
Tabela: {{Code|self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron}}, tam są dane zebrane z aktualnego artykułu.
Dla innej takiej strony jest tworzony parametr, jeżeli jest włączona analiza, dla klucza: {{Code|analiza_spis_tresci}} {{Patrz|analiza_spis_tresci}}, według tego jest tworzony wartością prawdziwą parametr o innym znów kluczu: {{Code|analiza_spis_tresci_doloczone}} {{Patrz|analiza_spis_tresci_doloczone}}:
<syntaxhighlight lang="lua">
if(self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci)then
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=true;
end;
</syntaxhighlight>
Dla elementu: {{LinkPatrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, jeżeli dany artykuł był już rewidowany, to zwracane są elementy:
<syntaxhighlight lang="lua">
return 0,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni,dane_zebrane_ze_stron,true;
</syntaxhighlight>
To: {{Code|dane_zebrane_ze_stron}} {{Patrz|dane_zebrane_ze_stron}}, to podtabela: {{LinkPatrz|lista_podstron_woluminu}}, z kluczem: {{LinkPatrz|nazwa_artykulu}}, o nazwie takiej samej jak ten parametr zwracany.
Przeciwnie jest zwracane: {{Code|true}}, lub {{Code|nil}}, jeśli tabela: {{Code|self.tabela_listy_danych_analizy_ksiazki}} {{Patrz|self.tabela_listy_danych_analizy_ksiazki}}, lub podtatela: {{LinkPatrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, nie istnieje.
=== {{Śródtytuł|InneInformacjePrzebneDoAnalizowanejKsiazki}}{{Code|InneInformacjePrzebneDoAnalizowanejKsiazki}} ===
Funkcja do zbierania informacji o spisie artykułów książkowych i ich licencjach oraz ewentualnie zebrane informacje ze stron: {{lk2|Szablony nawigacyjne układu autonawigacji do autonawigacji podręczników}}, z szablonu, w któreś tej pozycji w: {{s|Układ autonawigacji}}, i ze spisów podanej w niej jako parametry.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function InneInformacjePrzebneDoAnalizowanejKsiazki()...end;
</syntaxhighlight>
Parametry funkcji:
* brak.
==== {{Śródtytuł|__FUNKCJA_SPISU}}{{Code|__FUNKCJA_SPISU}} ====
Funkcja do inicjowania parametrów spisu, aktualnego artykułu, uzyskanych z ich analizy.
Definicja skrotowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_SPISU(tablica_ksiazki,czy_podac_adres)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tablica_ksiazki}} {{Patrz|tablica_ksiazki}} - tablica dla analizowanej książki,
* {{Code|czy_podac_adres}} {{Patrz|czy_podac_adres}} - czy podać adres bazowego woluminu.
Tablicy: {{linkPatrz|tablica_ksiazki}}, jest inicjowany element: {{Code|spis}} {{Patrz|spis}}, tabelą: {{Code|tabela_artykulow}} {{Patrz|tabela_artykulow}}.
Gdy: {{LinkPatrz|czy_artykul_korzystany}}, jest wartością fałszywą, to iniciowaną tablicy: {{LinkPatrz|tablica_ksiazki}}, jest parametr o kluczu: {{Code|licencja}} {{Patrz|licencja}}, tabelą: {{Code|tabela_licencji_spisu_tresci}} {{Patrz|tabela_licencji_spisu_tresci}}.
Dalej kolejno elementy: {{Code|nazwa_bazowego_spisu}} {{Patrz|nazwa_bazowego_spisu}}, {{Code|tab_inne_spisy}} {{Patrz|tab_inne_spisy}} i {{Code|dodatkowe_strony_woluminu}}, tabeli: {{LinkPatrz|tablica_ksiazki}}, i inicjowane są tabelami o takich samych nazwach jak te klucze dwa, a ostatni tabelą: {{Code|dodatkowe_artykuly}} {{Patrz|dodatkowe_artykuly}}.
Dla tabeli: {{LinkPatrz|tablica_ksiazki}}, o kluczu w nim {{Code|adres_woluminu_bazowego_spisu_rzeczy}}, ona jest przyrównywana wartością: {{Code|adres_ksiazki_glownego_spisu_tresci}} {{Patrz|adres_ksiazki_glownego_spisu_tresci}}, jeśli istnieje: {{LinkPatrz|czy_podac_adres}}, lub przeciwnie wartością {{Code|nil}}.
==== Dalszy opis funkcji ====
Jeżeli dla aktualnego artykułu dla książki nie ustawiono kodu: {{Code|strony poza zakresem obsługiwanym}}, wtedy są analizowane elementy opisane w nagłówku opisywanej funkcji, pod warunkiem, jeżeli istnieją parametry nazw książki: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}.
Gdy artykuł jest analizowany, wtedy parametr: {{LinkPatrz|czy_artykul_korzystany}}, wtedy jest przy istnieniu: {{Code|self.tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|self.tabela_listy_danych_analizy_ksiazki}}, jest ustawiany w nim element: {{Code|CzyArtykułKsiążki}} {{Patrz|CzyArtykułKsiążki}}, z wartością na {{Code|tak}}.
Gdy już spis jeszcze nie analizowano, a jeżeli juz został zanalizowany, to sprawdzany jest: {{Code|czy_spis_analizowano}}, tablicy: {{LinkPatrz|tablica_ksiazki}}.
A jeśli jednak spisy książki nie zostały sprawdzone i sparsowane, wtedy uruchamia się następne rozgałęzienie pętli.
{{Tab}}Uruchamia się dalej funkcja: {{Code|{{sr|#p.ZbieranieInformacjiSpisuRzeczyWoluminuEwentualnieWedleAutonawigacji|p=StronicowyParser/SpisTreści}}}}, w nim są uruchamiane w pewien sposób dwie funkcje.
Dla analizowanej pierwszej funkcji, ona jest uruchamiana, wtedy kiedy zostały zebrane wszystkie informrmacje ze spisów, wtedy dla elementu: {{LinkPatrz|tablica_ksiazki_strona}}, sprawdzane, czy jego element {{LinkPatrz|spis}} istnieje, jeśli istnieje, zatem elementy z: {{Code|_strona_temp}}, inicjujemy tymi z: {{Code|_strona}}, z elementów zmiennych tej funkcji, w takim razie inicjujemy inne jego podelementy, tzn.: {{Code|spis}} {{LinkPatrz|spis}}, {{Code|licencja}} {{LinkPatrz|licencja}}, {{Code|nazwa_bazowego_spisu}} {{LinkPatrz|nazwa_bazowego_spisu}}, {{Code|tab_inne_spisy}} {{LinkPatrz|tab_inne_spisy}}, {{Code|dodatkowe_strony_woluminu}} {{LinkPatrz|dodatkowe_strony_woluminu}} i {{Code|adres_woluminu_bazowego_spisu_rzeczy}} {{LinkPatrz|adres_woluminu_bazowego_spisu_rzeczy}}, elementu: {{LinkPatrz|tablica_ksiazki}}, tymi saamymi elementami, ale dla innej strony, tzn.: {{Code|tablica_ksiazki_strona}} {{LinkPatrz|tablica_ksiazki_strona}}.
Też jest inicjowany element tej pierwszej zmiennej książkowej o kluczu: {{Code|referencja_do_nowej_formy_spisu}}, według:
<syntaxhighlight lang="lua">
tablica_ksiazki.referencja_do_nowej_formy_spisu={tablica_przestrzeni_strona,tablica_przestrzeni_ksiazki_strona,tablica_ksiazki_strona,};
</syntaxhighlight>
Funkcja wtedy zwróci wartość: {{Code|1}}.
=== {{Śródtytuł|PrzekierownieAwaryjne}}{{Code|PrzekierownieAwaryjne}} ===
=== {{Śródtytuł|StronaZbiorcza}}{{Code|StronaZbiorcza}} ===
=== {{Śródtytuł|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}}{{Code|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}} ===
=== {{Śródtytuł|GeneralnaAnalizaSzablonuStronicowegoParsera}}{{Code|GeneralnaAnalizaSzablonuStronicowegoParsera}} ===
=== {{Śródtytuł|IterowaniePoElementachTekstu}}{{Code|IterowaniePoElementachTekstu}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieNaglowek}}{{Code|KtorySzablonMaZwracacKategorieNaglowek}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieTekst}}{{Code|KtorySzablonMaZwracacKategorieTekst}} ===
=== {{Śródtytuł|CzyJestTakiProblemJakoElementTablicy}}{{Code|CzyJestTakiProblemJakoElementTablicy}} ===
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
gs2w7oae3lezk1mgezn8lzifp86ikft
547252
547251
2026-06-30T07:38:04Z
Persino
2851
/* Dalszy opis funkcji */
547252
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/ZbieranieDanychStron}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== Zbieranie informacji o uchwycie ==
=== {{Śródtytuł|p.UchwytyZeiBezNumeracji}}{{Code|p.UchwytyZeiBezNumeracji}} ===
Funkcja zbiera uchwyty, dla obiektów {{ZobaczTeż|p.UchwytyZeiBezNumeracji}}, bez numeracji, nie licząc obiektów tekst takich jak {{s|Śródtekst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UchwytyZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,lista_dwuelementowa,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} {{Patrz|self}} - zmiennna obiektowa modułu {{Code|{{ld2|StronicowyParser/ZbieranieDanychStron}}}} {{Patrz|StronicowyParser/ZbieranieDanychStron}},
* {{Code|tabela_elementow_strony_kodow}} {{Patrz|tabela_elementow_strony_kodow}} - zmienna zbierająca takie kody jak {{LinkZobaczTeż|p.UchwytyZeiBezNumeracji}},
* {{Code|nazwa_obiektu}} {{Patrz|nazwa obiektu}} - nazwa obiektu,
* {{Code|lista_dwuelementowa}} {{Patrz|lista_dwuelementowa}} - pozycja w normalnej tabeli uchwytów i przeważnie ich numeracji, a tutaj dla tego obiektu,
* {{Code|kod}} {{Patrz|kod}} - numer kodu dla tego obiektu.
Funkcja zbiera elementy {{LinkPatrz|lista_dwuelementowa}} w tablicy wielowymiarowej o pierwszym elemencie wymiaru {{LinkPatrz|nazwa obiektu}} i trzecim {{LinkPatrz|kod}}, oraz o drugim {{Code|uchwyty_bez_numeracji}} {{Patrz|uchwyty_bez_numeracji}}.
=== {{Śródtytuł|p.WydobywanieUchwytuZeiBezNumeracji}}{{Code|p.WydobywanieUchwytuZeiBezNumeracji}} ===
Funkcja wydowywa tablicę uchwytu dla pozycji, ale nie sam uchwyt, dla podtablicy {{LinkPatrz|uchwyty_bez_numeracji}} o danym kodzie {{LinkPatrz|kod}}, dla nazwy obiektu {{LinkPatrz|nazwa_obiektu}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.WydobywanieUchwytuZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_elementow_strony_kodow}} - jak w: {{LinkPatrz|tabela_elementow_strony_kodow}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}}.
Funkcja wykorzystuje elementy tablicy: {{LinkPatrz|uchwyty_bez_numeracji}}, wstawione przez funkcję: {{LinkŚródtytuł|p.UchwytyZeiBezNumeracji}}.
=== {{Śródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}{{Code|p.RozpatrywanieElementuUchwytuNumeracji}} ===
Funkcja wsadzająca utworzoną tablicę z podanym uchwytem do ogólnej tablicy pozycji nazwanych tabel z uchwytami o danej pozycji z nim.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|kod_uchwytu}} {{Patrz|kod_uchwytu}} - kod uchwytu podanego do szablonu stronicowego z odpowiednim uchwytem,
* {{Code|tab_numer}} {{Patrz|tab_numer}} - tablica z numerkami ilości elementów w tablicy parametrów nazwanych z uchwytami, w danym elemencie analizowania strony z uchwytami i obiektami,
* {{Code|tablica_zmiennych}} {{Patrz|tablica_zmiennych}} - tablica analizowania obiektów, danej strony,
* {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} {{Patrz|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - kolejno: nazwa przestrzeni nazw, nazwa przestrzeni książki, nazwa książki i nazwa artykułu książki,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} {{Patrz|czy_artykul_korzystany}} - czy artykuł aktualny wyświetlany w przeglądarce,
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} {{Patrz|nazwa_modulu_aktualna_czy_biezaca}} - nazwa artykułu aktualna lub bieżąca,
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{Patrz|tablica_analizy_obiektow_strony_dany_modul}} - tablica bazy kodów parsowania strony,
* {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - tablica analizy poszczególnych elementów kodów, do szybszego działania skryptu,
* {{Code|KtorySzablonMaZwracacKategorie}} {{Patrz|KtorySzablonMaZwracacKategorie}} - tablica zbierająca odkodowany i rozwinięty uchwyt, do analizowania w nim zebranych kategorii, według modułu: {{Code|{{ld2|StronicowyParser/Kategorie}}}}, uruchamiana w szablonach stronicowych z funkcjami '''stronicowego parsera'''.
Funkcja rozwija {{LinkPatrz|kod_uchwytu}} funkcją {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a potem je odkodowuje przy pomocy: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a jeżeli ona nie jest pusta, to dla tego jest uruchamiana funkcja {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Tworzona jest tablica {{Code|lista_dwuelementowa}} {{LinkPatrz|lista_dwuelementowa}} z uchwytem, jako pierwszy parametr.
Jest sprawdzane, czy element {{Code|tablica_zmiennych.sprawdzenie_dokonane_obiektu}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, jest fałszywy, jeżeli tak, to dalej jest sprawdzane, czy są elementy numerowane nazwanej tablicy: {{Code|tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2}} o nazwie {{LinkPatrz|nazwa_obiektu}}, a jeżeli jest pusta - na samym końcu jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, czyli jest inicjowana na wartość {{Code|true}}, to dalej jest sprawdzane, czy dla elementów: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy dana książka jest poza zakresem obsługiwanym, czyli rewidowane jest, czy jest ustawiony kod problemu {{Code|strony poza zakresem obsługiwanym}}, czy a jeżeli jednak nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}, ustawiające pewne elementy błędu, jeżeli trzeba to zrobić.
Gdy tabela {{LinkPatrz|tab_numer}} odpowiada nienilowej tablicy, wtedy element {{LinkPatrz|lista_dwuelementowa}} jest wstawiany na odpowiedniej pozycji, ale przeważnie nie na końcu, przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=table.insert|b=tak}}}}, dzięki określonej tabeli {{LinkPatrz|tab_numer}}, przeciwnie na jej końcu.
Funkcja zwraca element {{LinkPatrz|lista_dwuelementowa}}.
=== {{Śródtytuł|p.RozpatrywanieSzablonuObiektuDoNumeracji}}{{Code|p.RozpatrywanieSzablonuObiektuDoNumeracji}} ===
Funkcja, która uruchamia funkcję: {{LinkŚródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}, dla istniejącego uchwytu w postaci nazwanej o kluczu: {{Code|uchwyt}} {{Patrz|uchwyt}}, lub nienazwanej - w postaci numeru jego uchwytu o kluczu: {{Code|numer_numeracji}} {{Patrz|numer_numeracji}}, wsadzająca tabele z uchwytem na odpowiednią pozycję w odpowiedniej nazwanej tabeli o nazwie obiektu {{LinkPatrz|nazwa_obiektu}} w ogólnej tabeli: {{LinkPatrz|tablica_zmiennych}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}}- tabela parametrów szablonu,
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|numer_numeracji}} - jak w: {{LinkPatrz|numer_numeracji}},
* {{Code|tab_numer}} - jak w: {{LinkPatrz|tab_numer}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
== {{Śródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}{{Code|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}} ==
Funkcja sprawdza, czy dany artykuł należy do artykułów, któregoś spisu treści, a jeżeli nie, to dla stron, które nie należą do kategorii z ustawionym problemem {{Code|strony poza zakresem obsługiwanym}}, ale do nieaktualnej strony jest ustawiony problem {{Code|brak spisów treści do dołączonych stron}}. Natomiast dla aktualnej dla stron tej samej kategorii ustawiany jest problem {{Code|brak spisu treści do korzystanych stron}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== {{Śródtytuł|p.PusteParametryReferencji}}{{Code|p.PusteParametryReferencji}} ==
Funkcja sprawdza, jeśli są podane parametry szablonu stronicowego, które są w kategorii: {{lk|Szablony stronicowe}}, czyli: {{Code|nazwa_artykulu}}, ewentualnie: {{Code|nazwa_ksiazki}}, ale zawsze z: {{Code|uchwyt_obiektu}}, czy są one puste.
A jeżeli one istnieją i są takie, to są ustawione problemy typu, jeśli ich wcześniej nie ustawiono:
* {{Code|puste parametry szablonów stronicowych linkujących}} {{Patrz|puste parametry szablonów stronicowych linkujących}}, kolejno dla: {{Code|uchwyt_obiektu}}, {{Code|nazwa_artykulu}} i {{Code|nazwa_ksiazki}}, kolejno z numerami problemów: {{Code|1}}, {{Code|2}} i {{Code|3}}.
Dla obiektu o nazwie {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}.
{{Hr}}
Definicja skrótowa funkcji
<syntaxhighlight lang="lua">
function p.PusteParametryReferencji(self, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu)...end;
</syntaxhighlight>
Paraametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} {{Patrz|uchwyt_obiektu}} - uchwyt obiektu, podane w danym szablonie stronicowym,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}}.
== {{Śródtytuł|p.SzablonyReferencjiParametrowych}}{{Code|p.SzablonyReferencjiParametrowych}} ==
Funkcja z parametrów pudełkowych nazwy artykułu {{ZobaczTeż|nazwa artykułu}}: {{Code|nazwa artykułu}} {{Patrz|nazwa artykułu}} albo {{Code|1}}, gdy bezuchwytowe lub {{Code|2}}, i pełnej nazwy książki {{ZobaczTeż|pełna nazwa strony}}: {{Code|nazwa książki}} {{Patrz|nazwa książki}} albo, {{Code|2}}, gdy bezuchwytowe lub {{Code|3}}. To wszystko jest liczone z: {{LinkPatrz|tabela_parametrow_szablonu}} lub przy użyciu parametru również {{Code|bezuchwytowe}} {{Patrz|bezuchwytowe}}, gdy mamy szablon stronicowy {{lk|Szablony stronicowe}}, bezuchwytowy, wtedy {{Code|true}}, przeciwnie {{Code|false/nil}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca,bezuchwytowe)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{Code|bezuchwytowe}} - jak w: {{LinkPatrz|bezuchwytowe}}.
Funkcja obie nazwy dekoduje funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a później jest liczony adres bezwzględny z względnego dzięki: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, przy pomocy podstawy {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}}, podobnie ale wcześniej jest liczona nazwa artykułu {{linkZobaczTeż|nazwa artykułu}}, czyli: {{LinkPatrz|nazwa_artykulu}}, ale tutaj adres względny jest liczony z podstawy o ciągu pustym jako drugi parametr.
Na podstawie pełnej nazwy książki {{LinkZobaczTeż|pełna nazwa strony}}: jest liczona bardziej jej wersja pełniejsza, jeżeli to jest w ogóle możliwe z: {{Code|{{sr|#p["PełnaNazwaStronicowejKsiążki"]|p=Książkowe}}}}. A póżniej z tego wszystkiego są liczone nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, przy pomocy funkcji nazw: {{Code|{{ld2|Nazwy}}}}.
Na samym końcu funkcji są zwracane parametry nazw, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== Funkcje zbierania informacji ==
=== {{Śródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}{{Code|p.ZbieranieInformacjiStronyWoluminowychPozycji}} ===
Funkcja zbierania informacji na stronie dla szablonów stronicowych: {{lk|Szablony stronicowe}}, bezuchwytowych, gdy nie jest uruchomiony parametr: {{Code|czy_inna_wartosc_tekst}} {{Patrz|czy_inna_wartosc_tekst}}, wtedy jest wywoływana funkcja: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}, która liczy kolejne nazwy charaktertyzujące nazwy dla danego artykułu książki dla danej strony, przeciwnie parametry nazw są ściagane z: {{Code|tab_nazwy}} {{Patrz|tab_nazwy}}, ta tabela składa się numerowanych elementów, którymi są nazwy charakyteryzujące stronę.
Gdy jakaś nazwa artylułu strony została policzona, wtedy są liczone pozostałe nazwy z: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, a na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, a tuż przed nim, jeśli istnieje: {{Code|KtorySzablonMaZwracacKategorie}} {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,KtorySzablonMaZwracacKategorie,czy_inna_wartosc_tekst,tab_nazwy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_inna_wartosc_tekst}} - jak w: {{LinkPatrz|czy_inna_wartosc_tekst}},
* {{Code|tab_nazwy}} - jak w: {{LinkPatrz|tab_nazwy}}.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacji}}{{Code|p.ZbieranieKontenerowychInformacji}} ===
Funkcja do zbierania informacji, która z parametrów pudełkowych: {{Code|{{m|Pudełko}}}}, czyli: {{Code|nazwa przestrzeni nazw}} {{Patrz|nazwa przestrzeni nazw}} i {{Code|nazwa jednostki}} {{Patrz|nazwa jednostki}}, z nich są liczone parametry nazw charakteryzujące artykuł książki strony. A na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} {{Patrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,czy_szablon_pudelkowy_strony_zbiorczej,KtorySzablonMaZwracacKategorie)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} {{Patrz|czy_szablon_pudelkowy_strony_zbiorczej}} - funkcja potrzebna do funkcji zbierającej {{LinkPatrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, określającej, czy mamy szablon pudełkowy strony zbiorczej, taki jak: {{Code|{{s|StronaSubst}}}}, czy: {{Code|{{s|KsiążkaSubst}}}}, zobacz stronę: {{Code|{{lr2|Moduły/StronicowyParser/StronaSubst}}}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Gdy nie ma parametrów pudełkowych funkcja się natychmiast zakańcza, lub parametr: {{LinkPatrz|nazwa jednostki}}, jest pusta, lub nawet gdy zawierają kody wykrywane przez funkcję: {{Code|{{sr|#p.NormaWzoruKodowaniaTekstu|p=Szablonowe}}}}.
Z nazwy jednostki jest wydzielana nazwa jednostki właściwa bez nazwy nagłówka, póżniej obie nazwy są też dekodowane funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, czyli wszystko z: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}.
Z tych dwóch nazwy jest liczony adres, ewentualnie względny, który za pomocą funkcji: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, jest wyliczany adres bezwzględny.
Dalej są liczone nazwy charakteryzujące artykuł danej książki strony, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, z tego adresu strony.
Przedostatnia funkcja, która jest uruchamiana przed funkcją zbierającą jest: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}, jeśli istnieje.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacjiReferencji}}{{Code|p.ZbieranieKontenerowychInformacjiReferencji}} ===
Funkcja zbiera informacje o stronie. Na podstawie informacji o nazwie artykułu i pełnej nazwy książki liczy parametry nazw charakteryzujące artykuł, co na tej podstawiwe liczy parametry pudełkowe i wywołuje funkcję główną przez inną funkcję, też zbierającą, i zbiera informacje o artykule.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacjiReferencji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, jako parametry zwracane przez funkcję: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}. Funkcja wyznacza parametry pudełkowe {{m|Pudełko}}, tzn.: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}, na podstawie tych nazw. Funkcja na samym końcu wywołuje funkcję zbierającą dane ze strony: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}, która z kolei uruchamia potem: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
== {{Śródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}{{Code|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}} ==
Funkcja sprawdza niepoprawność nazwy strony i na podstawie tego ustawia pewne kody problemów.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,__FUNKCJA_SPRAWDZANIE)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|__FUNKCJA_SPRAWDZANIE}} {{Patrz|__FUNKCJA_SPRAWDZANIE}} - funkcja uruchamiana, jeśli jest ustawiona, na wypadek poprawności strony.
W przypadku niepoprawności strony, gdy strona modułu jest aktualna (bieżąca), wtedy sprawdzany jest kod problemu, czy jest ustawiony, tzn.: {{Code|nieprawidłowe nazwy korzystanych stron}}, przy pomocy funkcji: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli nie ma takiego, to wtedy jest uruchamiana funkcja: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}. Podobnie jest dla niekorzystanej strony, wtedy jest problem dla kodu: {{Code|nieprawidłowe nazwy stron dołączanych do stron}}.
== Zbieranie informacji o linkach ==
=== {{Śródtytuł|p.LinkowanieFinalizowaniePrac}}{{Code|p.LinkowanieFinalizowaniePrac}} ===
Funkcja wadza uchwyt obiektu, wsazujący na aktualną stronę, do pewnej strony, i ewentualnie ustawia pewne problemy, jeśli je nie ustawiono.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} {{Patrz|obiekt}} - obiekt, obsługiwany przez tą funkcję linku,
* {{Code|kod}} {{LinkPatrz|kod}} - kod obiektu dla: {{LinkPatrz|obiekt}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} - jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}},
* {{Code|czy_pobierz}} {{Patrz|czy_pobierz}} - czy to jest szablon typu {{Code|Pobierz}} {{Patrz|Pobierz}}, jak: {{s|PobierzŚródtekst}}.
Funkcja sprawdza, czy nie został ustawiony element {{Code|tablica_zmiennych.sprawdzenie_dokonane_linku}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}, a jeżeli tak, to dalej, czy nie ma elementów numerowanych przy pomocy funkcji: {{Code|{{sr|#p["CzySąElementyNumerowaneTablicy"]|p=Parametry}}}}, a jeśli również tak, to dalej jest sprawdzane, czy został ustawiony problem: {{Code|strony poza zakresem obsługiwanym}}, przy pomocy: {{Code|{{sr|#p.CzyJestTakiElementTabeliProblemu|p=StronicowyParser/Problemy}}}}, a jeżeli nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}. Na samym końcu tej instrukcji warunkowej jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}.
Dalej pod tą instrukcją warunkową, jest robione, co powiedziane zostało w prologu tego opisu tej funkcji, tzn. z wyznaczonej tablicy ze: {{LinkPatrz|tablica_zmiennych}}, a dalej z wyznaczonej następnej podtabeli o kluczu: {{LinkPatrz|nazwa_obiektu}}.
Następnie, gdy element: {{LinkPatrz|czy_pobierz}}, jest ustawiony na {{Code|true}}, wtedy dla {{LinkPatrz|uchwyt_obiektu}}, pewna tablica, jest wstawiana do tablicy: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}}, jeśli istnieje, a jeśli nie, to jest tworzona, jako tablica, wtedy też jest to robione. Tą czynnością wstawiany tabelę, do tej tablicy, czyli:
<syntaxhighlight lang="lua">
{{nazwa_obiektu,uchwyt_obiektu,},{obiekt,kod,},}
</syntaxhighlight>
=== {{Śródtytuł|p.LinkowanieInnychStron}}{{Code|p.LinkowanieInnychStron}} ===
Funkcja do sprawdzania innych stron niż aktualna, a jeżeli dana strona została już sprawdzona, to powtórnie nie jest już rewidowana. Funkcja ustawia w głównej tablicy aktualnej tabeli {{LinkPatrz|tablica_zmiennych}} pewne podtablice.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieInnychStron(self,obiekt,kod,tablica_zmiennych, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejo jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Najpierw jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, która w razie poprawności nazwy strony, czyli inaczej nazw tej strony, tzn.: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, uruchamia funkcję zdefiniowaną w nim.
{{Tab}}Ta funkcja sprawdza, czy któraś z parametrów nazw istnieje, a jeżeli nie, to dalej jest inicjowana zmienna: {{Code|tablica_zmiennych2}} {{Patrz|tablica_zmiennych2}} pustą tablicą i podobnie {{Code|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}} {{Patrz|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}}, to uruchamiana jest: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, do zbierania informacji o stronie nowej lub przebadanej (wtedy zostają zwrócone parametry z wczęsniejszego jego analizowania, jak była nowa). Funkcja zwraca trzy parametry, tzn. {{Code|tabela_listy_danych_analizy_ksiazki0}} {{Patrz|tabela_listy_danych_analizy_ksiazki0}}, {{LinkPatrz|tablica_zmiennych2}} i {{Code|czy_inna}} {{Patrz|czy_inna}}. Te parametry mogą przyjmować wartość {{Code|nil}}, lub pierwszy {{Code|0}}, drugi, to nic innego jest jak: {{LinkPatrz|tablica_zmiennych2}}, a trzeci parametr jest wtedy równy {{Code|true}}, gdy strona jest nowa, a {{Code|false}} aktualna, a gdy {{Code|nil}}, gdy np. zawartość strony nie istnieje.
Gdy parametr: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, istnieje, wtedy jest spraqdzane, czy któreś z parametrów: {{LinkPatrz|tablica_zmiennych2}} i {{LinkPatrz|czy_inna}}, nie istsnieje, wtedy ta funkcja się zakańcza.
==== {{Śródtytuł|JuzPoliczone}}{{Code|JuzPoliczone}} ====
Dla obiektów, dla których jest ustawiony parametr: {{LinkPatrz|czy_pobierz}}, co dalej w tym rozgałęzieniu instrukcji warunkiwej jest uruchamiana funkcja szablonów tekstu, czyli: {{Code|{{sr|#p.UstawianiePobierz|p=StronicowyParser/SzablonyTekstu}}}}, aby również później za pomocą innych funkcji przeanalizować również tekst w szablonach takich jak: {{s|Śródtekst}}.
Dalej jest tworzona tablica, jeśli nie istnieje, tzn. {{Code|tablica_zmiennych2.dane_juz_policzone}} {{Patrz|tablica_zmiennych2.dane_juz_policzone}}, czyli jest inicjowana pustą tablicą. Dalej jest tworzona, jeśli nie istnieje, tablica wielowymiarowa po kolei, o kluczach kolejno: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}, {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu}}, a jeżeli ta ostatnia wartość tej tablicy była wcześniej, to zwracane jest {{Code|true}}, przeciwnie {{Code|false}}, a tej ostatniej wartości tej tablicy jest przydzielana wartość {{Code|true}}.
==== Dalszy opis funkcji ====
Gdy parametr: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest równy {{Code|0}}, ale nie {{Code|nil}}, wtedy jest sprawdzane, czy artykuł został wcześniej zrewidowany według: {{LinkŚródtytuł|JuzPoliczone}}, a jeżeli tak to jest zakańczany, a gdy ten parametr taakiej wartośsci nie przyjmuje, wtedy tylko jest uruchamiana funkcja bez żadnego warunku.
{{Tab}}Następnie jest uruchamiana funkcja: {{Code|{{sr|#p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony|p=StronicowyParser/SzablonyTekstu}}}}, do przydzielenia pewnych zmiennych z {{LinkPatrz|tablica_zmiennych2}} tablicy {{LinkPatrz|tablica_zmiennych}}.
{{Tab}}Jest sprawdzane, czy dany artykuł należy do spisu, jeżeli nie to są ustawiane pewne kody problemów w tablicy problemów, tzn. {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}.
Dalej jest sprawdzane, czy podany uchwyt {{LinkPatrz|uchwyt_obiektu}}, który jest podany w szablonach linków na aktualnej stronie, czy jest tylko jeden na stronie sprawdzanej, a jeżeli nie jest tak, to jest sprawdzane, czy nie istnieje ustawiony problem: {{Code|błędy uchwytów korzystanych stron}}, funkcją: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to taki problem jest dodawany dzięki: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
{{Tab}}Uruchamiana jest dalej funkcja: {{LinkŚródtytuł|p.PusteParametryReferencji}}, do sprawdzania pustości pewnych parametrów.
{{Tab}}Gdy tabela: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest jednak równa wartości odpowiadającej fałszywej, wtedy jeśli nie istnieje problem: {{Code|błąd wewnętrzny modułu lua stronicowego parsera}}, co jest rewidowane elementem: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to dodawany jest taki problem do tabeli problemów na podstawie: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
=== {{Śródtytuł|p.GeneralneLinkowanie}}{{Code|p.GeneralneLinkowanie}} ===
Funkcja zbiera uchwyty, na aktualnej lub innej stronie, a także je analizuje w odpowiedni sposób, modyfikuje tablica aktualnego modułu, czyli: {{LinkPatrz|tablica_zmiennych}}, na podstawie poszczególnych artykułów tej książki lub innej, która zbiera raz informacje o danej stronie.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Funkcja wyznacza uchwyt z tabeli parametrów: {{LinkPatrz|tabela_parametrow_szablonu}}, o kluczu {{Code|uchwyt}} {{LinkPatrz|uchwyt}} lub {{Code|1}}, a później w kodzie jest on kompletowany funkcją: {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a następnie rozwijany w niej, a później jest dekodowany: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}.
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, wywołujac: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}.
Na samym końcu jest uruchamiana: {{LinkPatrz|KtorySzablonMaZwracacKategorie}} z parametrem o tym uchwycie, wyliczonym wcześniej.
Gdy uchwyt istnieje, ale jest pusty, wtedy uruchamia się: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, następnie: {{LinkŚródtytuł|p.PusteParametryReferencji}}, a jeśli ta wartość nie istnieje, wtedy tylko ta ostatnia funkcja.
Gdy uchwyt: {{LinkPatrz|uchwyt}}, istnieje i jest niepusty, wtedy jest wyznaczana nazwa artykułu z niej samej, lub jeśli nazwa ksiązki istnieje, tylko, wtedy ta nazwa zaczyna być pusta, przeciwnie {{Code|nil}}, wtedy mamy do czynienia ze stroną główną podręcznika.
Gdy nazwa artykułu nie istnieje, wtedy wywoływana jest: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Jeśli nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest niepusta, i gdy nazwa książki nie istnieje, wtedy są liczone parametry nazw, oprócz nazwy artykułu, bo jest policzona, więc te {{ZobaczTeż|nazwy}}: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, z parametrów charakteryzujących nazwę aktualnego artykułu, a jeśli jednak nazwa książki jest pusta, to są sprawdzane parametry w: {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Gdy nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest nieistnieje, i gdy nazwa książki {{LinkPatrz|nazwa_ksiazki}} jest niepusta, wtedy nazwa artykułu zaczyna istnieć i inicjujemy wtedy ją wartością pustą, a jeśli pusta, za zaczyna być potem generowanie kodów błędów funkcją {{LinkŚródtytuł|p.PusteParametryReferencji}}, by potem się zakończyła ta funkcja.
Przeciwnie są liczone parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, tą samą metodą, co w punkcie: {{LinkZobaczTeż|nazwy}}.
Gdy nazwy {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}} są porównywane z nazwami, którymi się przypisje jak w: {{LinkZobaczTeż|nazwy}}, wtedy uruchamiamy funkcję: {{LinkŚródtytuł|p.LinkowanieInnychStron}}, przeciwnie wtedy działają dwie funkcje uruchomione po kolei, tzn.: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
== {{Śródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}{{Code|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} ==
Funkcja służy do zbierania informacji o danej analizowanej stronie, którego główną częścią jest strona korzystana, w której gromadzą się informacji też z pozostałych.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, czy_artykul_korzystany,tablica_zmiennych,czy_szablon_pudelkowy_strony_zbiorczej)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} - jak w: {{LinkPatrz|czy_szablon_pudelkowy_strony_zbiorczej}}.
=== {{Śródtytuł|__FUNKCJA_ARTYKULU}}{{Code|__FUNKCJA_ARTYKULU}} ===
Funkcja do tworzenia tabeli artykułów z innymi parametrami wielowymiarowej tej tabeli, a jeżeli owe pośrednie, i nie tylko, istnieją, to te tabele są zwracane lub nowo są tworzone.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji {{ZobaczTeż|parametry artykułu}}:
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}},
* {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu}} - nazwa artykułu w książce, bez pełnej nazwy książki.
Poniżej są tworzone podtabele puste, jeśli nie zostały utworzone.
Funkcja, która w tabeli: {{Code|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}} {{Patrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, która istnieje, tworzy tabele trójwymiarową kolejno po prarametrach: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, te tabele pośrednie śą wtedy tworzone, jeśsli nie istnieją, a gdy istnieją to nie są tworzone, tylko funkcja przechodzi do dalszych.
Dalej tworzona jest podtabela, jeśli nie istnieje o nazwie {{Code|lista_podstron_woluminu}} {{Patrz|lista_podstron_woluminu}}.
Następnie generowana jest podtabela, jeśli nie istnieje, o kluczu: {{LinkPatrz|nazwa_artykulu}}.
Funkcja zwraca kolejno elementy, jeśli klucz: {{LinkPatrz|nazwa_artykulu}}, istnieje, zatem:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany;
</syntaxhighlight>
Przeciwnie zwracany jest zbiór zmiennych po kolei:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki;
</syntaxhighlight>
Co to są za zmienne, wiadomo z ich nazw, po prostu są to pewne pośrednie, i nie tylko, tabele.
=== {{Śródtytuł|__FUNKCJA_POBIERANIE}}{{Code|__FUNKCJA_POBIERANIE}} ===
Funkcja zwraca parametry strony aktualnej, analizowanej jeszcze raz, aby ją nie powtórnie rewidować, lub podobnie dla innego artykułu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_POBIERANIE(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji są takie same jak w punkcie {{LinkZobaczTeż|parametry artykułu}}.
{{Tab}}Analiza dla artykułów niekorzystanych według parametru: {{LinkPatrz|czy_artykul_korzystany}}:
Dla jeszcze raz analizowanego artykułui aktualnego zwracane są parametry:
<syntaxhighlight lang="lua">
return 0,nil,nil,nil,nil,nil,self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron,false;
</syntaxhighlight>
Tabela: {{Code|self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron}}, tam są dane zebrane z aktualnego artykułu.
Dla innej takiej strony jest tworzony parametr, jeżeli jest włączona analiza, dla klucza: {{Code|analiza_spis_tresci}} {{Patrz|analiza_spis_tresci}}, według tego jest tworzony wartością prawdziwą parametr o innym znów kluczu: {{Code|analiza_spis_tresci_doloczone}} {{Patrz|analiza_spis_tresci_doloczone}}:
<syntaxhighlight lang="lua">
if(self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci)then
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=true;
end;
</syntaxhighlight>
Dla elementu: {{LinkPatrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, jeżeli dany artykuł był już rewidowany, to zwracane są elementy:
<syntaxhighlight lang="lua">
return 0,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni,dane_zebrane_ze_stron,true;
</syntaxhighlight>
To: {{Code|dane_zebrane_ze_stron}} {{Patrz|dane_zebrane_ze_stron}}, to podtabela: {{LinkPatrz|lista_podstron_woluminu}}, z kluczem: {{LinkPatrz|nazwa_artykulu}}, o nazwie takiej samej jak ten parametr zwracany.
Przeciwnie jest zwracane: {{Code|true}}, lub {{Code|nil}}, jeśli tabela: {{Code|self.tabela_listy_danych_analizy_ksiazki}} {{Patrz|self.tabela_listy_danych_analizy_ksiazki}}, lub podtatela: {{LinkPatrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, nie istnieje.
=== {{Śródtytuł|InneInformacjePrzebneDoAnalizowanejKsiazki}}{{Code|InneInformacjePrzebneDoAnalizowanejKsiazki}} ===
Funkcja do zbierania informacji o spisie artykułów książkowych i ich licencjach oraz ewentualnie zebrane informacje ze stron: {{lk2|Szablony nawigacyjne układu autonawigacji do autonawigacji podręczników}}, z szablonu, w któreś tej pozycji w: {{s|Układ autonawigacji}}, i ze spisów podanej w niej jako parametry.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function InneInformacjePrzebneDoAnalizowanejKsiazki()...end;
</syntaxhighlight>
Parametry funkcji:
* brak.
==== {{Śródtytuł|__FUNKCJA_SPISU}}{{Code|__FUNKCJA_SPISU}} ====
Funkcja do inicjowania parametrów spisu, aktualnego artykułu, uzyskanych z ich analizy.
Definicja skrotowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_SPISU(tablica_ksiazki,czy_podac_adres)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tablica_ksiazki}} {{Patrz|tablica_ksiazki}} - tablica dla analizowanej książki,
* {{Code|czy_podac_adres}} {{Patrz|czy_podac_adres}} - czy podać adres bazowego woluminu.
Tablicy: {{linkPatrz|tablica_ksiazki}}, jest inicjowany element: {{Code|spis}} {{Patrz|spis}}, tabelą: {{Code|tabela_artykulow}} {{Patrz|tabela_artykulow}}.
Gdy: {{LinkPatrz|czy_artykul_korzystany}}, jest wartością fałszywą, to iniciowaną tablicy: {{LinkPatrz|tablica_ksiazki}}, jest parametr o kluczu: {{Code|licencja}} {{Patrz|licencja}}, tabelą: {{Code|tabela_licencji_spisu_tresci}} {{Patrz|tabela_licencji_spisu_tresci}}.
Dalej kolejno elementy: {{Code|nazwa_bazowego_spisu}} {{Patrz|nazwa_bazowego_spisu}}, {{Code|tab_inne_spisy}} {{Patrz|tab_inne_spisy}} i {{Code|dodatkowe_strony_woluminu}}, tabeli: {{LinkPatrz|tablica_ksiazki}}, i inicjowane są tabelami o takich samych nazwach jak te klucze dwa, a ostatni tabelą: {{Code|dodatkowe_artykuly}} {{Patrz|dodatkowe_artykuly}}.
Dla tabeli: {{LinkPatrz|tablica_ksiazki}}, o kluczu w nim {{Code|adres_woluminu_bazowego_spisu_rzeczy}}, ona jest przyrównywana wartością: {{Code|adres_ksiazki_glownego_spisu_tresci}} {{Patrz|adres_ksiazki_glownego_spisu_tresci}}, jeśli istnieje: {{LinkPatrz|czy_podac_adres}}, lub przeciwnie wartością {{Code|nil}}.
==== Dalszy opis funkcji ====
Jeżeli dla aktualnego artykułu dla książki nie ustawiono kodu: {{Code|strony poza zakresem obsługiwanym}}, wtedy są analizowane elementy opisane w nagłówku opisywanej funkcji, pod warunkiem, jeżeli istnieją parametry nazw książki: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}.
Gdy artykuł jest analizowany, wtedy parametr: {{LinkPatrz|czy_artykul_korzystany}}, wtedy jest przy istnieniu: {{Code|self.tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|self.tabela_listy_danych_analizy_ksiazki}}, jest ustawiany w nim element: {{Code|CzyArtykułKsiążki}} {{Patrz|CzyArtykułKsiążki}}, z wartością na {{Code|tak}}.
Gdy już spis jeszcze nie analizowano, a jeżeli juz został zanalizowany, to sprawdzany jest: {{Code|czy_spis_analizowano}}, tablicy: {{LinkPatrz|tablica_ksiazki}}.
A jeśli jednak spisy książki nie zostały sprawdzone i sparsowane, wtedy uruchamia się następne rozgałęzienie pętli.
{{Tab}}Uruchamia się dalej funkcja: {{Code|{{sr|#p.ZbieranieInformacjiSpisuRzeczyWoluminuEwentualnieWedleAutonawigacji|p=StronicowyParser/SpisTreści}}}}, w nim są uruchamiane w pewien sposób dwie funkcje.
Dla analizowanej pierwszej funkcji, ona jest uruchamiana, wtedy kiedy zostały zebrane wszystkie informrmacje ze spisów, wtedy dla elementu: {{Code|tablica_ksiazki_strona}} {{Patrz|tablica_ksiazki_strona}}, sprawdzane, czy jego element {{LinkPatrz|spis}} istnieje, jeśli istnieje, zatem elementy z: {{Code|_strona_temp}}, inicjujemy tymi z: {{Code|_strona}}, z elementów zmiennych tej funkcji, w takim razie inicjujemy inne jego podelementy, tzn.: {{Code|spis}} {{LinkPatrz|spis}}, {{Code|licencja}} {{LinkPatrz|licencja}}, {{Code|nazwa_bazowego_spisu}} {{LinkPatrz|nazwa_bazowego_spisu}}, {{Code|tab_inne_spisy}} {{LinkPatrz|tab_inne_spisy}}, {{Code|dodatkowe_strony_woluminu}} {{Patrz|dodatkowe_strony_woluminu}} i {{Code|adres_woluminu_bazowego_spisu_rzeczy}} {{LinkPatrz|adres_woluminu_bazowego_spisu_rzeczy}}, elementu: {{LinkPatrz|tablica_ksiazki}}, tymi saamymi elementami, ale dla innej strony, tzn.: {{Code|tablica_ksiazki_strona}} {{LinkPatrz|tablica_ksiazki_strona}}.
Też jest inicjowany element tej pierwszej zmiennej książkowej o kluczu: {{Code|referencja_do_nowej_formy_spisu}}, według:
<syntaxhighlight lang="lua">
tablica_ksiazki.referencja_do_nowej_formy_spisu={tablica_przestrzeni_strona,tablica_przestrzeni_ksiazki_strona,tablica_ksiazki_strona,};
</syntaxhighlight>
Funkcja wtedy zwróci wartość: {{Code|1}}.
=== {{Śródtytuł|PrzekierownieAwaryjne}}{{Code|PrzekierownieAwaryjne}} ===
=== {{Śródtytuł|StronaZbiorcza}}{{Code|StronaZbiorcza}} ===
=== {{Śródtytuł|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}}{{Code|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}} ===
=== {{Śródtytuł|GeneralnaAnalizaSzablonuStronicowegoParsera}}{{Code|GeneralnaAnalizaSzablonuStronicowegoParsera}} ===
=== {{Śródtytuł|IterowaniePoElementachTekstu}}{{Code|IterowaniePoElementachTekstu}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieNaglowek}}{{Code|KtorySzablonMaZwracacKategorieNaglowek}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieTekst}}{{Code|KtorySzablonMaZwracacKategorieTekst}} ===
=== {{Śródtytuł|CzyJestTakiProblemJakoElementTablicy}}{{Code|CzyJestTakiProblemJakoElementTablicy}} ===
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
50yj1hmpezouqt743m6iibyjshqw4yy
547253
547252
2026-06-30T07:38:57Z
Persino
2851
/* Dalszy opis funkcji */
547253
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/ZbieranieDanychStron}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== Zbieranie informacji o uchwycie ==
=== {{Śródtytuł|p.UchwytyZeiBezNumeracji}}{{Code|p.UchwytyZeiBezNumeracji}} ===
Funkcja zbiera uchwyty, dla obiektów {{ZobaczTeż|p.UchwytyZeiBezNumeracji}}, bez numeracji, nie licząc obiektów tekst takich jak {{s|Śródtekst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UchwytyZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,lista_dwuelementowa,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} {{Patrz|self}} - zmiennna obiektowa modułu {{Code|{{ld2|StronicowyParser/ZbieranieDanychStron}}}} {{Patrz|StronicowyParser/ZbieranieDanychStron}},
* {{Code|tabela_elementow_strony_kodow}} {{Patrz|tabela_elementow_strony_kodow}} - zmienna zbierająca takie kody jak {{LinkZobaczTeż|p.UchwytyZeiBezNumeracji}},
* {{Code|nazwa_obiektu}} {{Patrz|nazwa obiektu}} - nazwa obiektu,
* {{Code|lista_dwuelementowa}} {{Patrz|lista_dwuelementowa}} - pozycja w normalnej tabeli uchwytów i przeważnie ich numeracji, a tutaj dla tego obiektu,
* {{Code|kod}} {{Patrz|kod}} - numer kodu dla tego obiektu.
Funkcja zbiera elementy {{LinkPatrz|lista_dwuelementowa}} w tablicy wielowymiarowej o pierwszym elemencie wymiaru {{LinkPatrz|nazwa obiektu}} i trzecim {{LinkPatrz|kod}}, oraz o drugim {{Code|uchwyty_bez_numeracji}} {{Patrz|uchwyty_bez_numeracji}}.
=== {{Śródtytuł|p.WydobywanieUchwytuZeiBezNumeracji}}{{Code|p.WydobywanieUchwytuZeiBezNumeracji}} ===
Funkcja wydowywa tablicę uchwytu dla pozycji, ale nie sam uchwyt, dla podtablicy {{LinkPatrz|uchwyty_bez_numeracji}} o danym kodzie {{LinkPatrz|kod}}, dla nazwy obiektu {{LinkPatrz|nazwa_obiektu}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.WydobywanieUchwytuZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_elementow_strony_kodow}} - jak w: {{LinkPatrz|tabela_elementow_strony_kodow}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}}.
Funkcja wykorzystuje elementy tablicy: {{LinkPatrz|uchwyty_bez_numeracji}}, wstawione przez funkcję: {{LinkŚródtytuł|p.UchwytyZeiBezNumeracji}}.
=== {{Śródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}{{Code|p.RozpatrywanieElementuUchwytuNumeracji}} ===
Funkcja wsadzająca utworzoną tablicę z podanym uchwytem do ogólnej tablicy pozycji nazwanych tabel z uchwytami o danej pozycji z nim.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|kod_uchwytu}} {{Patrz|kod_uchwytu}} - kod uchwytu podanego do szablonu stronicowego z odpowiednim uchwytem,
* {{Code|tab_numer}} {{Patrz|tab_numer}} - tablica z numerkami ilości elementów w tablicy parametrów nazwanych z uchwytami, w danym elemencie analizowania strony z uchwytami i obiektami,
* {{Code|tablica_zmiennych}} {{Patrz|tablica_zmiennych}} - tablica analizowania obiektów, danej strony,
* {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} {{Patrz|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - kolejno: nazwa przestrzeni nazw, nazwa przestrzeni książki, nazwa książki i nazwa artykułu książki,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} {{Patrz|czy_artykul_korzystany}} - czy artykuł aktualny wyświetlany w przeglądarce,
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} {{Patrz|nazwa_modulu_aktualna_czy_biezaca}} - nazwa artykułu aktualna lub bieżąca,
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{Patrz|tablica_analizy_obiektow_strony_dany_modul}} - tablica bazy kodów parsowania strony,
* {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - tablica analizy poszczególnych elementów kodów, do szybszego działania skryptu,
* {{Code|KtorySzablonMaZwracacKategorie}} {{Patrz|KtorySzablonMaZwracacKategorie}} - tablica zbierająca odkodowany i rozwinięty uchwyt, do analizowania w nim zebranych kategorii, według modułu: {{Code|{{ld2|StronicowyParser/Kategorie}}}}, uruchamiana w szablonach stronicowych z funkcjami '''stronicowego parsera'''.
Funkcja rozwija {{LinkPatrz|kod_uchwytu}} funkcją {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a potem je odkodowuje przy pomocy: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a jeżeli ona nie jest pusta, to dla tego jest uruchamiana funkcja {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Tworzona jest tablica {{Code|lista_dwuelementowa}} {{LinkPatrz|lista_dwuelementowa}} z uchwytem, jako pierwszy parametr.
Jest sprawdzane, czy element {{Code|tablica_zmiennych.sprawdzenie_dokonane_obiektu}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, jest fałszywy, jeżeli tak, to dalej jest sprawdzane, czy są elementy numerowane nazwanej tablicy: {{Code|tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2}} o nazwie {{LinkPatrz|nazwa_obiektu}}, a jeżeli jest pusta - na samym końcu jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, czyli jest inicjowana na wartość {{Code|true}}, to dalej jest sprawdzane, czy dla elementów: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy dana książka jest poza zakresem obsługiwanym, czyli rewidowane jest, czy jest ustawiony kod problemu {{Code|strony poza zakresem obsługiwanym}}, czy a jeżeli jednak nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}, ustawiające pewne elementy błędu, jeżeli trzeba to zrobić.
Gdy tabela {{LinkPatrz|tab_numer}} odpowiada nienilowej tablicy, wtedy element {{LinkPatrz|lista_dwuelementowa}} jest wstawiany na odpowiedniej pozycji, ale przeważnie nie na końcu, przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=table.insert|b=tak}}}}, dzięki określonej tabeli {{LinkPatrz|tab_numer}}, przeciwnie na jej końcu.
Funkcja zwraca element {{LinkPatrz|lista_dwuelementowa}}.
=== {{Śródtytuł|p.RozpatrywanieSzablonuObiektuDoNumeracji}}{{Code|p.RozpatrywanieSzablonuObiektuDoNumeracji}} ===
Funkcja, która uruchamia funkcję: {{LinkŚródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}, dla istniejącego uchwytu w postaci nazwanej o kluczu: {{Code|uchwyt}} {{Patrz|uchwyt}}, lub nienazwanej - w postaci numeru jego uchwytu o kluczu: {{Code|numer_numeracji}} {{Patrz|numer_numeracji}}, wsadzająca tabele z uchwytem na odpowiednią pozycję w odpowiedniej nazwanej tabeli o nazwie obiektu {{LinkPatrz|nazwa_obiektu}} w ogólnej tabeli: {{LinkPatrz|tablica_zmiennych}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}}- tabela parametrów szablonu,
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|numer_numeracji}} - jak w: {{LinkPatrz|numer_numeracji}},
* {{Code|tab_numer}} - jak w: {{LinkPatrz|tab_numer}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
== {{Śródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}{{Code|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}} ==
Funkcja sprawdza, czy dany artykuł należy do artykułów, któregoś spisu treści, a jeżeli nie, to dla stron, które nie należą do kategorii z ustawionym problemem {{Code|strony poza zakresem obsługiwanym}}, ale do nieaktualnej strony jest ustawiony problem {{Code|brak spisów treści do dołączonych stron}}. Natomiast dla aktualnej dla stron tej samej kategorii ustawiany jest problem {{Code|brak spisu treści do korzystanych stron}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== {{Śródtytuł|p.PusteParametryReferencji}}{{Code|p.PusteParametryReferencji}} ==
Funkcja sprawdza, jeśli są podane parametry szablonu stronicowego, które są w kategorii: {{lk|Szablony stronicowe}}, czyli: {{Code|nazwa_artykulu}}, ewentualnie: {{Code|nazwa_ksiazki}}, ale zawsze z: {{Code|uchwyt_obiektu}}, czy są one puste.
A jeżeli one istnieją i są takie, to są ustawione problemy typu, jeśli ich wcześniej nie ustawiono:
* {{Code|puste parametry szablonów stronicowych linkujących}} {{Patrz|puste parametry szablonów stronicowych linkujących}}, kolejno dla: {{Code|uchwyt_obiektu}}, {{Code|nazwa_artykulu}} i {{Code|nazwa_ksiazki}}, kolejno z numerami problemów: {{Code|1}}, {{Code|2}} i {{Code|3}}.
Dla obiektu o nazwie {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}.
{{Hr}}
Definicja skrótowa funkcji
<syntaxhighlight lang="lua">
function p.PusteParametryReferencji(self, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu)...end;
</syntaxhighlight>
Paraametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} {{Patrz|uchwyt_obiektu}} - uchwyt obiektu, podane w danym szablonie stronicowym,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}}.
== {{Śródtytuł|p.SzablonyReferencjiParametrowych}}{{Code|p.SzablonyReferencjiParametrowych}} ==
Funkcja z parametrów pudełkowych nazwy artykułu {{ZobaczTeż|nazwa artykułu}}: {{Code|nazwa artykułu}} {{Patrz|nazwa artykułu}} albo {{Code|1}}, gdy bezuchwytowe lub {{Code|2}}, i pełnej nazwy książki {{ZobaczTeż|pełna nazwa strony}}: {{Code|nazwa książki}} {{Patrz|nazwa książki}} albo, {{Code|2}}, gdy bezuchwytowe lub {{Code|3}}. To wszystko jest liczone z: {{LinkPatrz|tabela_parametrow_szablonu}} lub przy użyciu parametru również {{Code|bezuchwytowe}} {{Patrz|bezuchwytowe}}, gdy mamy szablon stronicowy {{lk|Szablony stronicowe}}, bezuchwytowy, wtedy {{Code|true}}, przeciwnie {{Code|false/nil}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca,bezuchwytowe)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{Code|bezuchwytowe}} - jak w: {{LinkPatrz|bezuchwytowe}}.
Funkcja obie nazwy dekoduje funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a później jest liczony adres bezwzględny z względnego dzięki: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, przy pomocy podstawy {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}}, podobnie ale wcześniej jest liczona nazwa artykułu {{linkZobaczTeż|nazwa artykułu}}, czyli: {{LinkPatrz|nazwa_artykulu}}, ale tutaj adres względny jest liczony z podstawy o ciągu pustym jako drugi parametr.
Na podstawie pełnej nazwy książki {{LinkZobaczTeż|pełna nazwa strony}}: jest liczona bardziej jej wersja pełniejsza, jeżeli to jest w ogóle możliwe z: {{Code|{{sr|#p["PełnaNazwaStronicowejKsiążki"]|p=Książkowe}}}}. A póżniej z tego wszystkiego są liczone nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, przy pomocy funkcji nazw: {{Code|{{ld2|Nazwy}}}}.
Na samym końcu funkcji są zwracane parametry nazw, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== Funkcje zbierania informacji ==
=== {{Śródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}{{Code|p.ZbieranieInformacjiStronyWoluminowychPozycji}} ===
Funkcja zbierania informacji na stronie dla szablonów stronicowych: {{lk|Szablony stronicowe}}, bezuchwytowych, gdy nie jest uruchomiony parametr: {{Code|czy_inna_wartosc_tekst}} {{Patrz|czy_inna_wartosc_tekst}}, wtedy jest wywoływana funkcja: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}, która liczy kolejne nazwy charaktertyzujące nazwy dla danego artykułu książki dla danej strony, przeciwnie parametry nazw są ściagane z: {{Code|tab_nazwy}} {{Patrz|tab_nazwy}}, ta tabela składa się numerowanych elementów, którymi są nazwy charakyteryzujące stronę.
Gdy jakaś nazwa artylułu strony została policzona, wtedy są liczone pozostałe nazwy z: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, a na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, a tuż przed nim, jeśli istnieje: {{Code|KtorySzablonMaZwracacKategorie}} {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,KtorySzablonMaZwracacKategorie,czy_inna_wartosc_tekst,tab_nazwy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_inna_wartosc_tekst}} - jak w: {{LinkPatrz|czy_inna_wartosc_tekst}},
* {{Code|tab_nazwy}} - jak w: {{LinkPatrz|tab_nazwy}}.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacji}}{{Code|p.ZbieranieKontenerowychInformacji}} ===
Funkcja do zbierania informacji, która z parametrów pudełkowych: {{Code|{{m|Pudełko}}}}, czyli: {{Code|nazwa przestrzeni nazw}} {{Patrz|nazwa przestrzeni nazw}} i {{Code|nazwa jednostki}} {{Patrz|nazwa jednostki}}, z nich są liczone parametry nazw charakteryzujące artykuł książki strony. A na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} {{Patrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,czy_szablon_pudelkowy_strony_zbiorczej,KtorySzablonMaZwracacKategorie)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} {{Patrz|czy_szablon_pudelkowy_strony_zbiorczej}} - funkcja potrzebna do funkcji zbierającej {{LinkPatrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, określającej, czy mamy szablon pudełkowy strony zbiorczej, taki jak: {{Code|{{s|StronaSubst}}}}, czy: {{Code|{{s|KsiążkaSubst}}}}, zobacz stronę: {{Code|{{lr2|Moduły/StronicowyParser/StronaSubst}}}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Gdy nie ma parametrów pudełkowych funkcja się natychmiast zakańcza, lub parametr: {{LinkPatrz|nazwa jednostki}}, jest pusta, lub nawet gdy zawierają kody wykrywane przez funkcję: {{Code|{{sr|#p.NormaWzoruKodowaniaTekstu|p=Szablonowe}}}}.
Z nazwy jednostki jest wydzielana nazwa jednostki właściwa bez nazwy nagłówka, póżniej obie nazwy są też dekodowane funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, czyli wszystko z: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}.
Z tych dwóch nazwy jest liczony adres, ewentualnie względny, który za pomocą funkcji: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, jest wyliczany adres bezwzględny.
Dalej są liczone nazwy charakteryzujące artykuł danej książki strony, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, z tego adresu strony.
Przedostatnia funkcja, która jest uruchamiana przed funkcją zbierającą jest: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}, jeśli istnieje.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacjiReferencji}}{{Code|p.ZbieranieKontenerowychInformacjiReferencji}} ===
Funkcja zbiera informacje o stronie. Na podstawie informacji o nazwie artykułu i pełnej nazwy książki liczy parametry nazw charakteryzujące artykuł, co na tej podstawiwe liczy parametry pudełkowe i wywołuje funkcję główną przez inną funkcję, też zbierającą, i zbiera informacje o artykule.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacjiReferencji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, jako parametry zwracane przez funkcję: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}. Funkcja wyznacza parametry pudełkowe {{m|Pudełko}}, tzn.: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}, na podstawie tych nazw. Funkcja na samym końcu wywołuje funkcję zbierającą dane ze strony: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}, która z kolei uruchamia potem: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
== {{Śródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}{{Code|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}} ==
Funkcja sprawdza niepoprawność nazwy strony i na podstawie tego ustawia pewne kody problemów.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,__FUNKCJA_SPRAWDZANIE)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|__FUNKCJA_SPRAWDZANIE}} {{Patrz|__FUNKCJA_SPRAWDZANIE}} - funkcja uruchamiana, jeśli jest ustawiona, na wypadek poprawności strony.
W przypadku niepoprawności strony, gdy strona modułu jest aktualna (bieżąca), wtedy sprawdzany jest kod problemu, czy jest ustawiony, tzn.: {{Code|nieprawidłowe nazwy korzystanych stron}}, przy pomocy funkcji: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli nie ma takiego, to wtedy jest uruchamiana funkcja: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}. Podobnie jest dla niekorzystanej strony, wtedy jest problem dla kodu: {{Code|nieprawidłowe nazwy stron dołączanych do stron}}.
== Zbieranie informacji o linkach ==
=== {{Śródtytuł|p.LinkowanieFinalizowaniePrac}}{{Code|p.LinkowanieFinalizowaniePrac}} ===
Funkcja wadza uchwyt obiektu, wsazujący na aktualną stronę, do pewnej strony, i ewentualnie ustawia pewne problemy, jeśli je nie ustawiono.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} {{Patrz|obiekt}} - obiekt, obsługiwany przez tą funkcję linku,
* {{Code|kod}} {{LinkPatrz|kod}} - kod obiektu dla: {{LinkPatrz|obiekt}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} - jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}},
* {{Code|czy_pobierz}} {{Patrz|czy_pobierz}} - czy to jest szablon typu {{Code|Pobierz}} {{Patrz|Pobierz}}, jak: {{s|PobierzŚródtekst}}.
Funkcja sprawdza, czy nie został ustawiony element {{Code|tablica_zmiennych.sprawdzenie_dokonane_linku}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}, a jeżeli tak, to dalej, czy nie ma elementów numerowanych przy pomocy funkcji: {{Code|{{sr|#p["CzySąElementyNumerowaneTablicy"]|p=Parametry}}}}, a jeśli również tak, to dalej jest sprawdzane, czy został ustawiony problem: {{Code|strony poza zakresem obsługiwanym}}, przy pomocy: {{Code|{{sr|#p.CzyJestTakiElementTabeliProblemu|p=StronicowyParser/Problemy}}}}, a jeżeli nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}. Na samym końcu tej instrukcji warunkowej jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}.
Dalej pod tą instrukcją warunkową, jest robione, co powiedziane zostało w prologu tego opisu tej funkcji, tzn. z wyznaczonej tablicy ze: {{LinkPatrz|tablica_zmiennych}}, a dalej z wyznaczonej następnej podtabeli o kluczu: {{LinkPatrz|nazwa_obiektu}}.
Następnie, gdy element: {{LinkPatrz|czy_pobierz}}, jest ustawiony na {{Code|true}}, wtedy dla {{LinkPatrz|uchwyt_obiektu}}, pewna tablica, jest wstawiana do tablicy: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}}, jeśli istnieje, a jeśli nie, to jest tworzona, jako tablica, wtedy też jest to robione. Tą czynnością wstawiany tabelę, do tej tablicy, czyli:
<syntaxhighlight lang="lua">
{{nazwa_obiektu,uchwyt_obiektu,},{obiekt,kod,},}
</syntaxhighlight>
=== {{Śródtytuł|p.LinkowanieInnychStron}}{{Code|p.LinkowanieInnychStron}} ===
Funkcja do sprawdzania innych stron niż aktualna, a jeżeli dana strona została już sprawdzona, to powtórnie nie jest już rewidowana. Funkcja ustawia w głównej tablicy aktualnej tabeli {{LinkPatrz|tablica_zmiennych}} pewne podtablice.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieInnychStron(self,obiekt,kod,tablica_zmiennych, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejo jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Najpierw jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, która w razie poprawności nazwy strony, czyli inaczej nazw tej strony, tzn.: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, uruchamia funkcję zdefiniowaną w nim.
{{Tab}}Ta funkcja sprawdza, czy któraś z parametrów nazw istnieje, a jeżeli nie, to dalej jest inicjowana zmienna: {{Code|tablica_zmiennych2}} {{Patrz|tablica_zmiennych2}} pustą tablicą i podobnie {{Code|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}} {{Patrz|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}}, to uruchamiana jest: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, do zbierania informacji o stronie nowej lub przebadanej (wtedy zostają zwrócone parametry z wczęsniejszego jego analizowania, jak była nowa). Funkcja zwraca trzy parametry, tzn. {{Code|tabela_listy_danych_analizy_ksiazki0}} {{Patrz|tabela_listy_danych_analizy_ksiazki0}}, {{LinkPatrz|tablica_zmiennych2}} i {{Code|czy_inna}} {{Patrz|czy_inna}}. Te parametry mogą przyjmować wartość {{Code|nil}}, lub pierwszy {{Code|0}}, drugi, to nic innego jest jak: {{LinkPatrz|tablica_zmiennych2}}, a trzeci parametr jest wtedy równy {{Code|true}}, gdy strona jest nowa, a {{Code|false}} aktualna, a gdy {{Code|nil}}, gdy np. zawartość strony nie istnieje.
Gdy parametr: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, istnieje, wtedy jest spraqdzane, czy któreś z parametrów: {{LinkPatrz|tablica_zmiennych2}} i {{LinkPatrz|czy_inna}}, nie istsnieje, wtedy ta funkcja się zakańcza.
==== {{Śródtytuł|JuzPoliczone}}{{Code|JuzPoliczone}} ====
Dla obiektów, dla których jest ustawiony parametr: {{LinkPatrz|czy_pobierz}}, co dalej w tym rozgałęzieniu instrukcji warunkiwej jest uruchamiana funkcja szablonów tekstu, czyli: {{Code|{{sr|#p.UstawianiePobierz|p=StronicowyParser/SzablonyTekstu}}}}, aby również później za pomocą innych funkcji przeanalizować również tekst w szablonach takich jak: {{s|Śródtekst}}.
Dalej jest tworzona tablica, jeśli nie istnieje, tzn. {{Code|tablica_zmiennych2.dane_juz_policzone}} {{Patrz|tablica_zmiennych2.dane_juz_policzone}}, czyli jest inicjowana pustą tablicą. Dalej jest tworzona, jeśli nie istnieje, tablica wielowymiarowa po kolei, o kluczach kolejno: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}, {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu}}, a jeżeli ta ostatnia wartość tej tablicy była wcześniej, to zwracane jest {{Code|true}}, przeciwnie {{Code|false}}, a tej ostatniej wartości tej tablicy jest przydzielana wartość {{Code|true}}.
==== Dalszy opis funkcji ====
Gdy parametr: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest równy {{Code|0}}, ale nie {{Code|nil}}, wtedy jest sprawdzane, czy artykuł został wcześniej zrewidowany według: {{LinkŚródtytuł|JuzPoliczone}}, a jeżeli tak to jest zakańczany, a gdy ten parametr taakiej wartośsci nie przyjmuje, wtedy tylko jest uruchamiana funkcja bez żadnego warunku.
{{Tab}}Następnie jest uruchamiana funkcja: {{Code|{{sr|#p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony|p=StronicowyParser/SzablonyTekstu}}}}, do przydzielenia pewnych zmiennych z {{LinkPatrz|tablica_zmiennych2}} tablicy {{LinkPatrz|tablica_zmiennych}}.
{{Tab}}Jest sprawdzane, czy dany artykuł należy do spisu, jeżeli nie to są ustawiane pewne kody problemów w tablicy problemów, tzn. {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}.
Dalej jest sprawdzane, czy podany uchwyt {{LinkPatrz|uchwyt_obiektu}}, który jest podany w szablonach linków na aktualnej stronie, czy jest tylko jeden na stronie sprawdzanej, a jeżeli nie jest tak, to jest sprawdzane, czy nie istnieje ustawiony problem: {{Code|błędy uchwytów korzystanych stron}}, funkcją: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to taki problem jest dodawany dzięki: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
{{Tab}}Uruchamiana jest dalej funkcja: {{LinkŚródtytuł|p.PusteParametryReferencji}}, do sprawdzania pustości pewnych parametrów.
{{Tab}}Gdy tabela: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest jednak równa wartości odpowiadającej fałszywej, wtedy jeśli nie istnieje problem: {{Code|błąd wewnętrzny modułu lua stronicowego parsera}}, co jest rewidowane elementem: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to dodawany jest taki problem do tabeli problemów na podstawie: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
=== {{Śródtytuł|p.GeneralneLinkowanie}}{{Code|p.GeneralneLinkowanie}} ===
Funkcja zbiera uchwyty, na aktualnej lub innej stronie, a także je analizuje w odpowiedni sposób, modyfikuje tablica aktualnego modułu, czyli: {{LinkPatrz|tablica_zmiennych}}, na podstawie poszczególnych artykułów tej książki lub innej, która zbiera raz informacje o danej stronie.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Funkcja wyznacza uchwyt z tabeli parametrów: {{LinkPatrz|tabela_parametrow_szablonu}}, o kluczu {{Code|uchwyt}} {{LinkPatrz|uchwyt}} lub {{Code|1}}, a później w kodzie jest on kompletowany funkcją: {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a następnie rozwijany w niej, a później jest dekodowany: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}.
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, wywołujac: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}.
Na samym końcu jest uruchamiana: {{LinkPatrz|KtorySzablonMaZwracacKategorie}} z parametrem o tym uchwycie, wyliczonym wcześniej.
Gdy uchwyt istnieje, ale jest pusty, wtedy uruchamia się: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, następnie: {{LinkŚródtytuł|p.PusteParametryReferencji}}, a jeśli ta wartość nie istnieje, wtedy tylko ta ostatnia funkcja.
Gdy uchwyt: {{LinkPatrz|uchwyt}}, istnieje i jest niepusty, wtedy jest wyznaczana nazwa artykułu z niej samej, lub jeśli nazwa ksiązki istnieje, tylko, wtedy ta nazwa zaczyna być pusta, przeciwnie {{Code|nil}}, wtedy mamy do czynienia ze stroną główną podręcznika.
Gdy nazwa artykułu nie istnieje, wtedy wywoływana jest: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Jeśli nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest niepusta, i gdy nazwa książki nie istnieje, wtedy są liczone parametry nazw, oprócz nazwy artykułu, bo jest policzona, więc te {{ZobaczTeż|nazwy}}: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, z parametrów charakteryzujących nazwę aktualnego artykułu, a jeśli jednak nazwa książki jest pusta, to są sprawdzane parametry w: {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Gdy nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest nieistnieje, i gdy nazwa książki {{LinkPatrz|nazwa_ksiazki}} jest niepusta, wtedy nazwa artykułu zaczyna istnieć i inicjujemy wtedy ją wartością pustą, a jeśli pusta, za zaczyna być potem generowanie kodów błędów funkcją {{LinkŚródtytuł|p.PusteParametryReferencji}}, by potem się zakończyła ta funkcja.
Przeciwnie są liczone parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, tą samą metodą, co w punkcie: {{LinkZobaczTeż|nazwy}}.
Gdy nazwy {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}} są porównywane z nazwami, którymi się przypisje jak w: {{LinkZobaczTeż|nazwy}}, wtedy uruchamiamy funkcję: {{LinkŚródtytuł|p.LinkowanieInnychStron}}, przeciwnie wtedy działają dwie funkcje uruchomione po kolei, tzn.: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
== {{Śródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}{{Code|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} ==
Funkcja służy do zbierania informacji o danej analizowanej stronie, którego główną częścią jest strona korzystana, w której gromadzą się informacji też z pozostałych.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, czy_artykul_korzystany,tablica_zmiennych,czy_szablon_pudelkowy_strony_zbiorczej)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} - jak w: {{LinkPatrz|czy_szablon_pudelkowy_strony_zbiorczej}}.
=== {{Śródtytuł|__FUNKCJA_ARTYKULU}}{{Code|__FUNKCJA_ARTYKULU}} ===
Funkcja do tworzenia tabeli artykułów z innymi parametrami wielowymiarowej tej tabeli, a jeżeli owe pośrednie, i nie tylko, istnieją, to te tabele są zwracane lub nowo są tworzone.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji {{ZobaczTeż|parametry artykułu}}:
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}},
* {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu}} - nazwa artykułu w książce, bez pełnej nazwy książki.
Poniżej są tworzone podtabele puste, jeśli nie zostały utworzone.
Funkcja, która w tabeli: {{Code|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}} {{Patrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, która istnieje, tworzy tabele trójwymiarową kolejno po prarametrach: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, te tabele pośrednie śą wtedy tworzone, jeśsli nie istnieją, a gdy istnieją to nie są tworzone, tylko funkcja przechodzi do dalszych.
Dalej tworzona jest podtabela, jeśli nie istnieje o nazwie {{Code|lista_podstron_woluminu}} {{Patrz|lista_podstron_woluminu}}.
Następnie generowana jest podtabela, jeśli nie istnieje, o kluczu: {{LinkPatrz|nazwa_artykulu}}.
Funkcja zwraca kolejno elementy, jeśli klucz: {{LinkPatrz|nazwa_artykulu}}, istnieje, zatem:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany;
</syntaxhighlight>
Przeciwnie zwracany jest zbiór zmiennych po kolei:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki;
</syntaxhighlight>
Co to są za zmienne, wiadomo z ich nazw, po prostu są to pewne pośrednie, i nie tylko, tabele.
=== {{Śródtytuł|__FUNKCJA_POBIERANIE}}{{Code|__FUNKCJA_POBIERANIE}} ===
Funkcja zwraca parametry strony aktualnej, analizowanej jeszcze raz, aby ją nie powtórnie rewidować, lub podobnie dla innego artykułu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_POBIERANIE(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji są takie same jak w punkcie {{LinkZobaczTeż|parametry artykułu}}.
{{Tab}}Analiza dla artykułów niekorzystanych według parametru: {{LinkPatrz|czy_artykul_korzystany}}:
Dla jeszcze raz analizowanego artykułui aktualnego zwracane są parametry:
<syntaxhighlight lang="lua">
return 0,nil,nil,nil,nil,nil,self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron,false;
</syntaxhighlight>
Tabela: {{Code|self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron}}, tam są dane zebrane z aktualnego artykułu.
Dla innej takiej strony jest tworzony parametr, jeżeli jest włączona analiza, dla klucza: {{Code|analiza_spis_tresci}} {{Patrz|analiza_spis_tresci}}, według tego jest tworzony wartością prawdziwą parametr o innym znów kluczu: {{Code|analiza_spis_tresci_doloczone}} {{Patrz|analiza_spis_tresci_doloczone}}:
<syntaxhighlight lang="lua">
if(self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci)then
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=true;
end;
</syntaxhighlight>
Dla elementu: {{LinkPatrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, jeżeli dany artykuł był już rewidowany, to zwracane są elementy:
<syntaxhighlight lang="lua">
return 0,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni,dane_zebrane_ze_stron,true;
</syntaxhighlight>
To: {{Code|dane_zebrane_ze_stron}} {{Patrz|dane_zebrane_ze_stron}}, to podtabela: {{LinkPatrz|lista_podstron_woluminu}}, z kluczem: {{LinkPatrz|nazwa_artykulu}}, o nazwie takiej samej jak ten parametr zwracany.
Przeciwnie jest zwracane: {{Code|true}}, lub {{Code|nil}}, jeśli tabela: {{Code|self.tabela_listy_danych_analizy_ksiazki}} {{Patrz|self.tabela_listy_danych_analizy_ksiazki}}, lub podtatela: {{LinkPatrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, nie istnieje.
=== {{Śródtytuł|InneInformacjePrzebneDoAnalizowanejKsiazki}}{{Code|InneInformacjePrzebneDoAnalizowanejKsiazki}} ===
Funkcja do zbierania informacji o spisie artykułów książkowych i ich licencjach oraz ewentualnie zebrane informacje ze stron: {{lk2|Szablony nawigacyjne układu autonawigacji do autonawigacji podręczników}}, z szablonu, w któreś tej pozycji w: {{s|Układ autonawigacji}}, i ze spisów podanej w niej jako parametry.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function InneInformacjePrzebneDoAnalizowanejKsiazki()...end;
</syntaxhighlight>
Parametry funkcji:
* brak.
==== {{Śródtytuł|__FUNKCJA_SPISU}}{{Code|__FUNKCJA_SPISU}} ====
Funkcja do inicjowania parametrów spisu, aktualnego artykułu, uzyskanych z ich analizy.
Definicja skrotowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_SPISU(tablica_ksiazki,czy_podac_adres)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tablica_ksiazki}} {{Patrz|tablica_ksiazki}} - tablica dla analizowanej książki,
* {{Code|czy_podac_adres}} {{Patrz|czy_podac_adres}} - czy podać adres bazowego woluminu.
Tablicy: {{linkPatrz|tablica_ksiazki}}, jest inicjowany element: {{Code|spis}} {{Patrz|spis}}, tabelą: {{Code|tabela_artykulow}} {{Patrz|tabela_artykulow}}.
Gdy: {{LinkPatrz|czy_artykul_korzystany}}, jest wartością fałszywą, to iniciowaną tablicy: {{LinkPatrz|tablica_ksiazki}}, jest parametr o kluczu: {{Code|licencja}} {{Patrz|licencja}}, tabelą: {{Code|tabela_licencji_spisu_tresci}} {{Patrz|tabela_licencji_spisu_tresci}}.
Dalej kolejno elementy: {{Code|nazwa_bazowego_spisu}} {{Patrz|nazwa_bazowego_spisu}}, {{Code|tab_inne_spisy}} {{Patrz|tab_inne_spisy}} i {{Code|dodatkowe_strony_woluminu}}, tabeli: {{LinkPatrz|tablica_ksiazki}}, i inicjowane są tabelami o takich samych nazwach jak te klucze dwa, a ostatni tabelą: {{Code|dodatkowe_artykuly}} {{Patrz|dodatkowe_artykuly}}.
Dla tabeli: {{LinkPatrz|tablica_ksiazki}}, o kluczu w nim {{Code|adres_woluminu_bazowego_spisu_rzeczy}}, ona jest przyrównywana wartością: {{Code|adres_ksiazki_glownego_spisu_tresci}} {{Patrz|adres_ksiazki_glownego_spisu_tresci}}, jeśli istnieje: {{LinkPatrz|czy_podac_adres}}, lub przeciwnie wartością {{Code|nil}}.
==== Dalszy opis funkcji ====
Jeżeli dla aktualnego artykułu dla książki nie ustawiono kodu: {{Code|strony poza zakresem obsługiwanym}}, wtedy są analizowane elementy opisane w nagłówku opisywanej funkcji, pod warunkiem, jeżeli istnieją parametry nazw książki: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}.
Gdy artykuł jest analizowany, wtedy parametr: {{LinkPatrz|czy_artykul_korzystany}}, wtedy jest przy istnieniu: {{Code|self.tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|self.tabela_listy_danych_analizy_ksiazki}}, jest ustawiany w nim element: {{Code|CzyArtykułKsiążki}} {{Patrz|CzyArtykułKsiążki}}, z wartością na {{Code|tak}}.
Gdy już spis jeszcze nie analizowano, a jeżeli juz został zanalizowany, to sprawdzany jest: {{Code|czy_spis_analizowano}}, tablicy: {{LinkPatrz|tablica_ksiazki}}.
A jeśli jednak spisy książki nie zostały sprawdzone i sparsowane, wtedy uruchamia się następne rozgałęzienie pętli.
{{Tab}}Uruchamia się dalej funkcja: {{Code|{{sr|#p.ZbieranieInformacjiSpisuRzeczyWoluminuEwentualnieWedleAutonawigacji|p=StronicowyParser/SpisTreści}}}}, w nim są uruchamiane w pewien sposób dwie funkcje.
Dla analizowanej pierwszej funkcji, ona jest uruchamiana, wtedy kiedy zostały zebrane wszystkie informrmacje ze spisów, wtedy dla elementu: {{Code|tablica_ksiazki_strona}} {{Patrz|tablica_ksiazki_strona}}, sprawdzane, czy jego element {{LinkPatrz|spis}} istnieje, jeśli istnieje, zatem elementy z: {{Code|_strona_temp}}, inicjujemy tymi z: {{Code|_strona}}, z elementów zmiennych tej funkcji, w takim razie inicjujemy inne jego podelementy, tzn.: {{Code|spis}} {{LinkPatrz|spis}}, {{Code|licencja}} {{LinkPatrz|licencja}}, {{Code|nazwa_bazowego_spisu}} {{LinkPatrz|nazwa_bazowego_spisu}}, {{Code|tab_inne_spisy}} {{LinkPatrz|tab_inne_spisy}}, {{Code|dodatkowe_strony_woluminu}} {{Patrz|dodatkowe_strony_woluminu}} i {{Code|adres_woluminu_bazowego_spisu_rzeczy}} {{Patrz|adres_woluminu_bazowego_spisu_rzeczy}}, elementu: {{LinkPatrz|tablica_ksiazki}}, tymi saamymi elementami, ale dla innej strony, tzn.: {{Code|tablica_ksiazki_strona}} {{LinkPatrz|tablica_ksiazki_strona}}.
Też jest inicjowany element tej pierwszej zmiennej książkowej o kluczu: {{Code|referencja_do_nowej_formy_spisu}}, według:
<syntaxhighlight lang="lua">
tablica_ksiazki.referencja_do_nowej_formy_spisu={tablica_przestrzeni_strona,tablica_przestrzeni_ksiazki_strona,tablica_ksiazki_strona,};
</syntaxhighlight>
Funkcja wtedy zwróci wartość: {{Code|1}}.
=== {{Śródtytuł|PrzekierownieAwaryjne}}{{Code|PrzekierownieAwaryjne}} ===
=== {{Śródtytuł|StronaZbiorcza}}{{Code|StronaZbiorcza}} ===
=== {{Śródtytuł|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}}{{Code|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}} ===
=== {{Śródtytuł|GeneralnaAnalizaSzablonuStronicowegoParsera}}{{Code|GeneralnaAnalizaSzablonuStronicowegoParsera}} ===
=== {{Śródtytuł|IterowaniePoElementachTekstu}}{{Code|IterowaniePoElementachTekstu}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieNaglowek}}{{Code|KtorySzablonMaZwracacKategorieNaglowek}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieTekst}}{{Code|KtorySzablonMaZwracacKategorieTekst}} ===
=== {{Śródtytuł|CzyJestTakiProblemJakoElementTablicy}}{{Code|CzyJestTakiProblemJakoElementTablicy}} ===
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
fz2r845agr3p9p02iws4kq1s94qdr5w
547254
547253
2026-06-30T07:42:25Z
Persino
2851
/* Dalszy opis funkcji */
547254
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/ZbieranieDanychStron}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== Zbieranie informacji o uchwycie ==
=== {{Śródtytuł|p.UchwytyZeiBezNumeracji}}{{Code|p.UchwytyZeiBezNumeracji}} ===
Funkcja zbiera uchwyty, dla obiektów {{ZobaczTeż|p.UchwytyZeiBezNumeracji}}, bez numeracji, nie licząc obiektów tekst takich jak {{s|Śródtekst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UchwytyZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,lista_dwuelementowa,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} {{Patrz|self}} - zmiennna obiektowa modułu {{Code|{{ld2|StronicowyParser/ZbieranieDanychStron}}}} {{Patrz|StronicowyParser/ZbieranieDanychStron}},
* {{Code|tabela_elementow_strony_kodow}} {{Patrz|tabela_elementow_strony_kodow}} - zmienna zbierająca takie kody jak {{LinkZobaczTeż|p.UchwytyZeiBezNumeracji}},
* {{Code|nazwa_obiektu}} {{Patrz|nazwa obiektu}} - nazwa obiektu,
* {{Code|lista_dwuelementowa}} {{Patrz|lista_dwuelementowa}} - pozycja w normalnej tabeli uchwytów i przeważnie ich numeracji, a tutaj dla tego obiektu,
* {{Code|kod}} {{Patrz|kod}} - numer kodu dla tego obiektu.
Funkcja zbiera elementy {{LinkPatrz|lista_dwuelementowa}} w tablicy wielowymiarowej o pierwszym elemencie wymiaru {{LinkPatrz|nazwa obiektu}} i trzecim {{LinkPatrz|kod}}, oraz o drugim {{Code|uchwyty_bez_numeracji}} {{Patrz|uchwyty_bez_numeracji}}.
=== {{Śródtytuł|p.WydobywanieUchwytuZeiBezNumeracji}}{{Code|p.WydobywanieUchwytuZeiBezNumeracji}} ===
Funkcja wydowywa tablicę uchwytu dla pozycji, ale nie sam uchwyt, dla podtablicy {{LinkPatrz|uchwyty_bez_numeracji}} o danym kodzie {{LinkPatrz|kod}}, dla nazwy obiektu {{LinkPatrz|nazwa_obiektu}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.WydobywanieUchwytuZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_elementow_strony_kodow}} - jak w: {{LinkPatrz|tabela_elementow_strony_kodow}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}}.
Funkcja wykorzystuje elementy tablicy: {{LinkPatrz|uchwyty_bez_numeracji}}, wstawione przez funkcję: {{LinkŚródtytuł|p.UchwytyZeiBezNumeracji}}.
=== {{Śródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}{{Code|p.RozpatrywanieElementuUchwytuNumeracji}} ===
Funkcja wsadzająca utworzoną tablicę z podanym uchwytem do ogólnej tablicy pozycji nazwanych tabel z uchwytami o danej pozycji z nim.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|kod_uchwytu}} {{Patrz|kod_uchwytu}} - kod uchwytu podanego do szablonu stronicowego z odpowiednim uchwytem,
* {{Code|tab_numer}} {{Patrz|tab_numer}} - tablica z numerkami ilości elementów w tablicy parametrów nazwanych z uchwytami, w danym elemencie analizowania strony z uchwytami i obiektami,
* {{Code|tablica_zmiennych}} {{Patrz|tablica_zmiennych}} - tablica analizowania obiektów, danej strony,
* {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} {{Patrz|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - kolejno: nazwa przestrzeni nazw, nazwa przestrzeni książki, nazwa książki i nazwa artykułu książki,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} {{Patrz|czy_artykul_korzystany}} - czy artykuł aktualny wyświetlany w przeglądarce,
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} {{Patrz|nazwa_modulu_aktualna_czy_biezaca}} - nazwa artykułu aktualna lub bieżąca,
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{Patrz|tablica_analizy_obiektow_strony_dany_modul}} - tablica bazy kodów parsowania strony,
* {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - tablica analizy poszczególnych elementów kodów, do szybszego działania skryptu,
* {{Code|KtorySzablonMaZwracacKategorie}} {{Patrz|KtorySzablonMaZwracacKategorie}} - tablica zbierająca odkodowany i rozwinięty uchwyt, do analizowania w nim zebranych kategorii, według modułu: {{Code|{{ld2|StronicowyParser/Kategorie}}}}, uruchamiana w szablonach stronicowych z funkcjami '''stronicowego parsera'''.
Funkcja rozwija {{LinkPatrz|kod_uchwytu}} funkcją {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a potem je odkodowuje przy pomocy: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a jeżeli ona nie jest pusta, to dla tego jest uruchamiana funkcja {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Tworzona jest tablica {{Code|lista_dwuelementowa}} {{LinkPatrz|lista_dwuelementowa}} z uchwytem, jako pierwszy parametr.
Jest sprawdzane, czy element {{Code|tablica_zmiennych.sprawdzenie_dokonane_obiektu}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, jest fałszywy, jeżeli tak, to dalej jest sprawdzane, czy są elementy numerowane nazwanej tablicy: {{Code|tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2}} o nazwie {{LinkPatrz|nazwa_obiektu}}, a jeżeli jest pusta - na samym końcu jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, czyli jest inicjowana na wartość {{Code|true}}, to dalej jest sprawdzane, czy dla elementów: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy dana książka jest poza zakresem obsługiwanym, czyli rewidowane jest, czy jest ustawiony kod problemu {{Code|strony poza zakresem obsługiwanym}}, czy a jeżeli jednak nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}, ustawiające pewne elementy błędu, jeżeli trzeba to zrobić.
Gdy tabela {{LinkPatrz|tab_numer}} odpowiada nienilowej tablicy, wtedy element {{LinkPatrz|lista_dwuelementowa}} jest wstawiany na odpowiedniej pozycji, ale przeważnie nie na końcu, przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=table.insert|b=tak}}}}, dzięki określonej tabeli {{LinkPatrz|tab_numer}}, przeciwnie na jej końcu.
Funkcja zwraca element {{LinkPatrz|lista_dwuelementowa}}.
=== {{Śródtytuł|p.RozpatrywanieSzablonuObiektuDoNumeracji}}{{Code|p.RozpatrywanieSzablonuObiektuDoNumeracji}} ===
Funkcja, która uruchamia funkcję: {{LinkŚródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}, dla istniejącego uchwytu w postaci nazwanej o kluczu: {{Code|uchwyt}} {{Patrz|uchwyt}}, lub nienazwanej - w postaci numeru jego uchwytu o kluczu: {{Code|numer_numeracji}} {{Patrz|numer_numeracji}}, wsadzająca tabele z uchwytem na odpowiednią pozycję w odpowiedniej nazwanej tabeli o nazwie obiektu {{LinkPatrz|nazwa_obiektu}} w ogólnej tabeli: {{LinkPatrz|tablica_zmiennych}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}}- tabela parametrów szablonu,
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|numer_numeracji}} - jak w: {{LinkPatrz|numer_numeracji}},
* {{Code|tab_numer}} - jak w: {{LinkPatrz|tab_numer}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
== {{Śródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}{{Code|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}} ==
Funkcja sprawdza, czy dany artykuł należy do artykułów, któregoś spisu treści, a jeżeli nie, to dla stron, które nie należą do kategorii z ustawionym problemem {{Code|strony poza zakresem obsługiwanym}}, ale do nieaktualnej strony jest ustawiony problem {{Code|brak spisów treści do dołączonych stron}}. Natomiast dla aktualnej dla stron tej samej kategorii ustawiany jest problem {{Code|brak spisu treści do korzystanych stron}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== {{Śródtytuł|p.PusteParametryReferencji}}{{Code|p.PusteParametryReferencji}} ==
Funkcja sprawdza, jeśli są podane parametry szablonu stronicowego, które są w kategorii: {{lk|Szablony stronicowe}}, czyli: {{Code|nazwa_artykulu}}, ewentualnie: {{Code|nazwa_ksiazki}}, ale zawsze z: {{Code|uchwyt_obiektu}}, czy są one puste.
A jeżeli one istnieją i są takie, to są ustawione problemy typu, jeśli ich wcześniej nie ustawiono:
* {{Code|puste parametry szablonów stronicowych linkujących}} {{Patrz|puste parametry szablonów stronicowych linkujących}}, kolejno dla: {{Code|uchwyt_obiektu}}, {{Code|nazwa_artykulu}} i {{Code|nazwa_ksiazki}}, kolejno z numerami problemów: {{Code|1}}, {{Code|2}} i {{Code|3}}.
Dla obiektu o nazwie {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}.
{{Hr}}
Definicja skrótowa funkcji
<syntaxhighlight lang="lua">
function p.PusteParametryReferencji(self, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu)...end;
</syntaxhighlight>
Paraametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} {{Patrz|uchwyt_obiektu}} - uchwyt obiektu, podane w danym szablonie stronicowym,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}}.
== {{Śródtytuł|p.SzablonyReferencjiParametrowych}}{{Code|p.SzablonyReferencjiParametrowych}} ==
Funkcja z parametrów pudełkowych nazwy artykułu {{ZobaczTeż|nazwa artykułu}}: {{Code|nazwa artykułu}} {{Patrz|nazwa artykułu}} albo {{Code|1}}, gdy bezuchwytowe lub {{Code|2}}, i pełnej nazwy książki {{ZobaczTeż|pełna nazwa strony}}: {{Code|nazwa książki}} {{Patrz|nazwa książki}} albo, {{Code|2}}, gdy bezuchwytowe lub {{Code|3}}. To wszystko jest liczone z: {{LinkPatrz|tabela_parametrow_szablonu}} lub przy użyciu parametru również {{Code|bezuchwytowe}} {{Patrz|bezuchwytowe}}, gdy mamy szablon stronicowy {{lk|Szablony stronicowe}}, bezuchwytowy, wtedy {{Code|true}}, przeciwnie {{Code|false/nil}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca,bezuchwytowe)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{Code|bezuchwytowe}} - jak w: {{LinkPatrz|bezuchwytowe}}.
Funkcja obie nazwy dekoduje funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a później jest liczony adres bezwzględny z względnego dzięki: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, przy pomocy podstawy {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}}, podobnie ale wcześniej jest liczona nazwa artykułu {{linkZobaczTeż|nazwa artykułu}}, czyli: {{LinkPatrz|nazwa_artykulu}}, ale tutaj adres względny jest liczony z podstawy o ciągu pustym jako drugi parametr.
Na podstawie pełnej nazwy książki {{LinkZobaczTeż|pełna nazwa strony}}: jest liczona bardziej jej wersja pełniejsza, jeżeli to jest w ogóle możliwe z: {{Code|{{sr|#p["PełnaNazwaStronicowejKsiążki"]|p=Książkowe}}}}. A póżniej z tego wszystkiego są liczone nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, przy pomocy funkcji nazw: {{Code|{{ld2|Nazwy}}}}.
Na samym końcu funkcji są zwracane parametry nazw, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== Funkcje zbierania informacji ==
=== {{Śródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}{{Code|p.ZbieranieInformacjiStronyWoluminowychPozycji}} ===
Funkcja zbierania informacji na stronie dla szablonów stronicowych: {{lk|Szablony stronicowe}}, bezuchwytowych, gdy nie jest uruchomiony parametr: {{Code|czy_inna_wartosc_tekst}} {{Patrz|czy_inna_wartosc_tekst}}, wtedy jest wywoływana funkcja: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}, która liczy kolejne nazwy charaktertyzujące nazwy dla danego artykułu książki dla danej strony, przeciwnie parametry nazw są ściagane z: {{Code|tab_nazwy}} {{Patrz|tab_nazwy}}, ta tabela składa się numerowanych elementów, którymi są nazwy charakyteryzujące stronę.
Gdy jakaś nazwa artylułu strony została policzona, wtedy są liczone pozostałe nazwy z: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, a na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, a tuż przed nim, jeśli istnieje: {{Code|KtorySzablonMaZwracacKategorie}} {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,KtorySzablonMaZwracacKategorie,czy_inna_wartosc_tekst,tab_nazwy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_inna_wartosc_tekst}} - jak w: {{LinkPatrz|czy_inna_wartosc_tekst}},
* {{Code|tab_nazwy}} - jak w: {{LinkPatrz|tab_nazwy}}.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacji}}{{Code|p.ZbieranieKontenerowychInformacji}} ===
Funkcja do zbierania informacji, która z parametrów pudełkowych: {{Code|{{m|Pudełko}}}}, czyli: {{Code|nazwa przestrzeni nazw}} {{Patrz|nazwa przestrzeni nazw}} i {{Code|nazwa jednostki}} {{Patrz|nazwa jednostki}}, z nich są liczone parametry nazw charakteryzujące artykuł książki strony. A na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} {{Patrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,czy_szablon_pudelkowy_strony_zbiorczej,KtorySzablonMaZwracacKategorie)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} {{Patrz|czy_szablon_pudelkowy_strony_zbiorczej}} - funkcja potrzebna do funkcji zbierającej {{LinkPatrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, określającej, czy mamy szablon pudełkowy strony zbiorczej, taki jak: {{Code|{{s|StronaSubst}}}}, czy: {{Code|{{s|KsiążkaSubst}}}}, zobacz stronę: {{Code|{{lr2|Moduły/StronicowyParser/StronaSubst}}}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Gdy nie ma parametrów pudełkowych funkcja się natychmiast zakańcza, lub parametr: {{LinkPatrz|nazwa jednostki}}, jest pusta, lub nawet gdy zawierają kody wykrywane przez funkcję: {{Code|{{sr|#p.NormaWzoruKodowaniaTekstu|p=Szablonowe}}}}.
Z nazwy jednostki jest wydzielana nazwa jednostki właściwa bez nazwy nagłówka, póżniej obie nazwy są też dekodowane funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, czyli wszystko z: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}.
Z tych dwóch nazwy jest liczony adres, ewentualnie względny, który za pomocą funkcji: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, jest wyliczany adres bezwzględny.
Dalej są liczone nazwy charakteryzujące artykuł danej książki strony, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, z tego adresu strony.
Przedostatnia funkcja, która jest uruchamiana przed funkcją zbierającą jest: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}, jeśli istnieje.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacjiReferencji}}{{Code|p.ZbieranieKontenerowychInformacjiReferencji}} ===
Funkcja zbiera informacje o stronie. Na podstawie informacji o nazwie artykułu i pełnej nazwy książki liczy parametry nazw charakteryzujące artykuł, co na tej podstawiwe liczy parametry pudełkowe i wywołuje funkcję główną przez inną funkcję, też zbierającą, i zbiera informacje o artykule.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacjiReferencji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, jako parametry zwracane przez funkcję: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}. Funkcja wyznacza parametry pudełkowe {{m|Pudełko}}, tzn.: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}, na podstawie tych nazw. Funkcja na samym końcu wywołuje funkcję zbierającą dane ze strony: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}, która z kolei uruchamia potem: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
== {{Śródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}{{Code|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}} ==
Funkcja sprawdza niepoprawność nazwy strony i na podstawie tego ustawia pewne kody problemów.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,__FUNKCJA_SPRAWDZANIE)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|__FUNKCJA_SPRAWDZANIE}} {{Patrz|__FUNKCJA_SPRAWDZANIE}} - funkcja uruchamiana, jeśli jest ustawiona, na wypadek poprawności strony.
W przypadku niepoprawności strony, gdy strona modułu jest aktualna (bieżąca), wtedy sprawdzany jest kod problemu, czy jest ustawiony, tzn.: {{Code|nieprawidłowe nazwy korzystanych stron}}, przy pomocy funkcji: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli nie ma takiego, to wtedy jest uruchamiana funkcja: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}. Podobnie jest dla niekorzystanej strony, wtedy jest problem dla kodu: {{Code|nieprawidłowe nazwy stron dołączanych do stron}}.
== Zbieranie informacji o linkach ==
=== {{Śródtytuł|p.LinkowanieFinalizowaniePrac}}{{Code|p.LinkowanieFinalizowaniePrac}} ===
Funkcja wadza uchwyt obiektu, wsazujący na aktualną stronę, do pewnej strony, i ewentualnie ustawia pewne problemy, jeśli je nie ustawiono.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} {{Patrz|obiekt}} - obiekt, obsługiwany przez tą funkcję linku,
* {{Code|kod}} {{LinkPatrz|kod}} - kod obiektu dla: {{LinkPatrz|obiekt}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} - jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}},
* {{Code|czy_pobierz}} {{Patrz|czy_pobierz}} - czy to jest szablon typu {{Code|Pobierz}} {{Patrz|Pobierz}}, jak: {{s|PobierzŚródtekst}}.
Funkcja sprawdza, czy nie został ustawiony element {{Code|tablica_zmiennych.sprawdzenie_dokonane_linku}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}, a jeżeli tak, to dalej, czy nie ma elementów numerowanych przy pomocy funkcji: {{Code|{{sr|#p["CzySąElementyNumerowaneTablicy"]|p=Parametry}}}}, a jeśli również tak, to dalej jest sprawdzane, czy został ustawiony problem: {{Code|strony poza zakresem obsługiwanym}}, przy pomocy: {{Code|{{sr|#p.CzyJestTakiElementTabeliProblemu|p=StronicowyParser/Problemy}}}}, a jeżeli nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}. Na samym końcu tej instrukcji warunkowej jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}.
Dalej pod tą instrukcją warunkową, jest robione, co powiedziane zostało w prologu tego opisu tej funkcji, tzn. z wyznaczonej tablicy ze: {{LinkPatrz|tablica_zmiennych}}, a dalej z wyznaczonej następnej podtabeli o kluczu: {{LinkPatrz|nazwa_obiektu}}.
Następnie, gdy element: {{LinkPatrz|czy_pobierz}}, jest ustawiony na {{Code|true}}, wtedy dla {{LinkPatrz|uchwyt_obiektu}}, pewna tablica, jest wstawiana do tablicy: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}}, jeśli istnieje, a jeśli nie, to jest tworzona, jako tablica, wtedy też jest to robione. Tą czynnością wstawiany tabelę, do tej tablicy, czyli:
<syntaxhighlight lang="lua">
{{nazwa_obiektu,uchwyt_obiektu,},{obiekt,kod,},}
</syntaxhighlight>
=== {{Śródtytuł|p.LinkowanieInnychStron}}{{Code|p.LinkowanieInnychStron}} ===
Funkcja do sprawdzania innych stron niż aktualna, a jeżeli dana strona została już sprawdzona, to powtórnie nie jest już rewidowana. Funkcja ustawia w głównej tablicy aktualnej tabeli {{LinkPatrz|tablica_zmiennych}} pewne podtablice.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieInnychStron(self,obiekt,kod,tablica_zmiennych, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejo jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Najpierw jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, która w razie poprawności nazwy strony, czyli inaczej nazw tej strony, tzn.: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, uruchamia funkcję zdefiniowaną w nim.
{{Tab}}Ta funkcja sprawdza, czy któraś z parametrów nazw istnieje, a jeżeli nie, to dalej jest inicjowana zmienna: {{Code|tablica_zmiennych2}} {{Patrz|tablica_zmiennych2}} pustą tablicą i podobnie {{Code|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}} {{Patrz|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}}, to uruchamiana jest: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, do zbierania informacji o stronie nowej lub przebadanej (wtedy zostają zwrócone parametry z wczęsniejszego jego analizowania, jak była nowa). Funkcja zwraca trzy parametry, tzn. {{Code|tabela_listy_danych_analizy_ksiazki0}} {{Patrz|tabela_listy_danych_analizy_ksiazki0}}, {{LinkPatrz|tablica_zmiennych2}} i {{Code|czy_inna}} {{Patrz|czy_inna}}. Te parametry mogą przyjmować wartość {{Code|nil}}, lub pierwszy {{Code|0}}, drugi, to nic innego jest jak: {{LinkPatrz|tablica_zmiennych2}}, a trzeci parametr jest wtedy równy {{Code|true}}, gdy strona jest nowa, a {{Code|false}} aktualna, a gdy {{Code|nil}}, gdy np. zawartość strony nie istnieje.
Gdy parametr: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, istnieje, wtedy jest spraqdzane, czy któreś z parametrów: {{LinkPatrz|tablica_zmiennych2}} i {{LinkPatrz|czy_inna}}, nie istsnieje, wtedy ta funkcja się zakańcza.
==== {{Śródtytuł|JuzPoliczone}}{{Code|JuzPoliczone}} ====
Dla obiektów, dla których jest ustawiony parametr: {{LinkPatrz|czy_pobierz}}, co dalej w tym rozgałęzieniu instrukcji warunkiwej jest uruchamiana funkcja szablonów tekstu, czyli: {{Code|{{sr|#p.UstawianiePobierz|p=StronicowyParser/SzablonyTekstu}}}}, aby również później za pomocą innych funkcji przeanalizować również tekst w szablonach takich jak: {{s|Śródtekst}}.
Dalej jest tworzona tablica, jeśli nie istnieje, tzn. {{Code|tablica_zmiennych2.dane_juz_policzone}} {{Patrz|tablica_zmiennych2.dane_juz_policzone}}, czyli jest inicjowana pustą tablicą. Dalej jest tworzona, jeśli nie istnieje, tablica wielowymiarowa po kolei, o kluczach kolejno: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}, {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu}}, a jeżeli ta ostatnia wartość tej tablicy była wcześniej, to zwracane jest {{Code|true}}, przeciwnie {{Code|false}}, a tej ostatniej wartości tej tablicy jest przydzielana wartość {{Code|true}}.
==== Dalszy opis funkcji ====
Gdy parametr: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest równy {{Code|0}}, ale nie {{Code|nil}}, wtedy jest sprawdzane, czy artykuł został wcześniej zrewidowany według: {{LinkŚródtytuł|JuzPoliczone}}, a jeżeli tak to jest zakańczany, a gdy ten parametr taakiej wartośsci nie przyjmuje, wtedy tylko jest uruchamiana funkcja bez żadnego warunku.
{{Tab}}Następnie jest uruchamiana funkcja: {{Code|{{sr|#p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony|p=StronicowyParser/SzablonyTekstu}}}}, do przydzielenia pewnych zmiennych z {{LinkPatrz|tablica_zmiennych2}} tablicy {{LinkPatrz|tablica_zmiennych}}.
{{Tab}}Jest sprawdzane, czy dany artykuł należy do spisu, jeżeli nie to są ustawiane pewne kody problemów w tablicy problemów, tzn. {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}.
Dalej jest sprawdzane, czy podany uchwyt {{LinkPatrz|uchwyt_obiektu}}, który jest podany w szablonach linków na aktualnej stronie, czy jest tylko jeden na stronie sprawdzanej, a jeżeli nie jest tak, to jest sprawdzane, czy nie istnieje ustawiony problem: {{Code|błędy uchwytów korzystanych stron}}, funkcją: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to taki problem jest dodawany dzięki: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
{{Tab}}Uruchamiana jest dalej funkcja: {{LinkŚródtytuł|p.PusteParametryReferencji}}, do sprawdzania pustości pewnych parametrów.
{{Tab}}Gdy tabela: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest jednak równa wartości odpowiadającej fałszywej, wtedy jeśli nie istnieje problem: {{Code|błąd wewnętrzny modułu lua stronicowego parsera}}, co jest rewidowane elementem: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to dodawany jest taki problem do tabeli problemów na podstawie: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
=== {{Śródtytuł|p.GeneralneLinkowanie}}{{Code|p.GeneralneLinkowanie}} ===
Funkcja zbiera uchwyty, na aktualnej lub innej stronie, a także je analizuje w odpowiedni sposób, modyfikuje tablica aktualnego modułu, czyli: {{LinkPatrz|tablica_zmiennych}}, na podstawie poszczególnych artykułów tej książki lub innej, która zbiera raz informacje o danej stronie.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Funkcja wyznacza uchwyt z tabeli parametrów: {{LinkPatrz|tabela_parametrow_szablonu}}, o kluczu {{Code|uchwyt}} {{LinkPatrz|uchwyt}} lub {{Code|1}}, a później w kodzie jest on kompletowany funkcją: {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a następnie rozwijany w niej, a później jest dekodowany: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}.
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, wywołujac: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}.
Na samym końcu jest uruchamiana: {{LinkPatrz|KtorySzablonMaZwracacKategorie}} z parametrem o tym uchwycie, wyliczonym wcześniej.
Gdy uchwyt istnieje, ale jest pusty, wtedy uruchamia się: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, następnie: {{LinkŚródtytuł|p.PusteParametryReferencji}}, a jeśli ta wartość nie istnieje, wtedy tylko ta ostatnia funkcja.
Gdy uchwyt: {{LinkPatrz|uchwyt}}, istnieje i jest niepusty, wtedy jest wyznaczana nazwa artykułu z niej samej, lub jeśli nazwa ksiązki istnieje, tylko, wtedy ta nazwa zaczyna być pusta, przeciwnie {{Code|nil}}, wtedy mamy do czynienia ze stroną główną podręcznika.
Gdy nazwa artykułu nie istnieje, wtedy wywoływana jest: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Jeśli nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest niepusta, i gdy nazwa książki nie istnieje, wtedy są liczone parametry nazw, oprócz nazwy artykułu, bo jest policzona, więc te {{ZobaczTeż|nazwy}}: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, z parametrów charakteryzujących nazwę aktualnego artykułu, a jeśli jednak nazwa książki jest pusta, to są sprawdzane parametry w: {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Gdy nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest nieistnieje, i gdy nazwa książki {{LinkPatrz|nazwa_ksiazki}} jest niepusta, wtedy nazwa artykułu zaczyna istnieć i inicjujemy wtedy ją wartością pustą, a jeśli pusta, za zaczyna być potem generowanie kodów błędów funkcją {{LinkŚródtytuł|p.PusteParametryReferencji}}, by potem się zakończyła ta funkcja.
Przeciwnie są liczone parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, tą samą metodą, co w punkcie: {{LinkZobaczTeż|nazwy}}.
Gdy nazwy {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}} są porównywane z nazwami, którymi się przypisje jak w: {{LinkZobaczTeż|nazwy}}, wtedy uruchamiamy funkcję: {{LinkŚródtytuł|p.LinkowanieInnychStron}}, przeciwnie wtedy działają dwie funkcje uruchomione po kolei, tzn.: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
== {{Śródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}{{Code|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} ==
Funkcja służy do zbierania informacji o danej analizowanej stronie, którego główną częścią jest strona korzystana, w której gromadzą się informacji też z pozostałych.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, czy_artykul_korzystany,tablica_zmiennych,czy_szablon_pudelkowy_strony_zbiorczej)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} - jak w: {{LinkPatrz|czy_szablon_pudelkowy_strony_zbiorczej}}.
=== {{Śródtytuł|__FUNKCJA_ARTYKULU}}{{Code|__FUNKCJA_ARTYKULU}} ===
Funkcja do tworzenia tabeli artykułów z innymi parametrami wielowymiarowej tej tabeli, a jeżeli owe pośrednie, i nie tylko, istnieją, to te tabele są zwracane lub nowo są tworzone.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji {{ZobaczTeż|parametry artykułu}}:
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}},
* {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu}} - nazwa artykułu w książce, bez pełnej nazwy książki.
Poniżej są tworzone podtabele puste, jeśli nie zostały utworzone.
Funkcja, która w tabeli: {{Code|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}} {{Patrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, która istnieje, tworzy tabele trójwymiarową kolejno po prarametrach: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, te tabele pośrednie śą wtedy tworzone, jeśsli nie istnieją, a gdy istnieją to nie są tworzone, tylko funkcja przechodzi do dalszych.
Dalej tworzona jest podtabela, jeśli nie istnieje o nazwie {{Code|lista_podstron_woluminu}} {{Patrz|lista_podstron_woluminu}}.
Następnie generowana jest podtabela, jeśli nie istnieje, o kluczu: {{LinkPatrz|nazwa_artykulu}}.
Funkcja zwraca kolejno elementy, jeśli klucz: {{LinkPatrz|nazwa_artykulu}}, istnieje, zatem:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany;
</syntaxhighlight>
Przeciwnie zwracany jest zbiór zmiennych po kolei:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki;
</syntaxhighlight>
Co to są za zmienne, wiadomo z ich nazw, po prostu są to pewne pośrednie, i nie tylko, tabele.
=== {{Śródtytuł|__FUNKCJA_POBIERANIE}}{{Code|__FUNKCJA_POBIERANIE}} ===
Funkcja zwraca parametry strony aktualnej, analizowanej jeszcze raz, aby ją nie powtórnie rewidować, lub podobnie dla innego artykułu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_POBIERANIE(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji są takie same jak w punkcie {{LinkZobaczTeż|parametry artykułu}}.
{{Tab}}Analiza dla artykułów niekorzystanych według parametru: {{LinkPatrz|czy_artykul_korzystany}}:
Dla jeszcze raz analizowanego artykułui aktualnego zwracane są parametry:
<syntaxhighlight lang="lua">
return 0,nil,nil,nil,nil,nil,self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron,false;
</syntaxhighlight>
Tabela: {{Code|self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron}}, tam są dane zebrane z aktualnego artykułu.
Dla innej takiej strony jest tworzony parametr, jeżeli jest włączona analiza, dla klucza: {{Code|analiza_spis_tresci}} {{Patrz|analiza_spis_tresci}}, według tego jest tworzony wartością prawdziwą parametr o innym znów kluczu: {{Code|analiza_spis_tresci_doloczone}} {{Patrz|analiza_spis_tresci_doloczone}}:
<syntaxhighlight lang="lua">
if(self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci)then
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=true;
end;
</syntaxhighlight>
Dla elementu: {{LinkPatrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, jeżeli dany artykuł był już rewidowany, to zwracane są elementy:
<syntaxhighlight lang="lua">
return 0,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni,dane_zebrane_ze_stron,true;
</syntaxhighlight>
To: {{Code|dane_zebrane_ze_stron}} {{Patrz|dane_zebrane_ze_stron}}, to podtabela: {{LinkPatrz|lista_podstron_woluminu}}, z kluczem: {{LinkPatrz|nazwa_artykulu}}, o nazwie takiej samej jak ten parametr zwracany.
Przeciwnie jest zwracane: {{Code|true}}, lub {{Code|nil}}, jeśli tabela: {{Code|self.tabela_listy_danych_analizy_ksiazki}} {{Patrz|self.tabela_listy_danych_analizy_ksiazki}}, lub podtatela: {{LinkPatrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, nie istnieje.
=== {{Śródtytuł|InneInformacjePrzebneDoAnalizowanejKsiazki}}{{Code|InneInformacjePrzebneDoAnalizowanejKsiazki}} ===
Funkcja do zbierania informacji o spisie artykułów książkowych i ich licencjach oraz ewentualnie zebrane informacje ze stron: {{lk2|Szablony nawigacyjne układu autonawigacji do autonawigacji podręczników}}, z szablonu, w któreś tej pozycji w: {{s|Układ autonawigacji}}, i ze spisów podanej w niej jako parametry.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function InneInformacjePrzebneDoAnalizowanejKsiazki()...end;
</syntaxhighlight>
Parametry funkcji:
* brak.
==== {{Śródtytuł|__FUNKCJA_SPISU}}{{Code|__FUNKCJA_SPISU}} ====
Funkcja do inicjowania parametrów spisu, aktualnego artykułu, uzyskanych z ich analizy.
Definicja skrotowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_SPISU(tablica_ksiazki,czy_podac_adres)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tablica_ksiazki}} {{Patrz|tablica_ksiazki}} - tablica dla analizowanej książki,
* {{Code|czy_podac_adres}} {{Patrz|czy_podac_adres}} - czy podać adres bazowego woluminu.
Tablicy: {{linkPatrz|tablica_ksiazki}}, jest inicjowany element: {{Code|spis}} {{Patrz|spis}}, tabelą: {{Code|tabela_artykulow}} {{Patrz|tabela_artykulow}}.
Gdy: {{LinkPatrz|czy_artykul_korzystany}}, jest wartością fałszywą, to iniciowaną tablicy: {{LinkPatrz|tablica_ksiazki}}, jest parametr o kluczu: {{Code|licencja}} {{Patrz|licencja}}, tabelą: {{Code|tabela_licencji_spisu_tresci}} {{Patrz|tabela_licencji_spisu_tresci}}.
Dalej kolejno elementy: {{Code|nazwa_bazowego_spisu}} {{Patrz|nazwa_bazowego_spisu}}, {{Code|tab_inne_spisy}} {{Patrz|tab_inne_spisy}} i {{Code|dodatkowe_strony_woluminu}}, tabeli: {{LinkPatrz|tablica_ksiazki}}, i inicjowane są tabelami o takich samych nazwach jak te klucze dwa, a ostatni tabelą: {{Code|dodatkowe_artykuly}} {{Patrz|dodatkowe_artykuly}}.
Dla tabeli: {{LinkPatrz|tablica_ksiazki}}, o kluczu w nim {{Code|adres_woluminu_bazowego_spisu_rzeczy}}, ona jest przyrównywana wartością: {{Code|adres_ksiazki_glownego_spisu_tresci}} {{Patrz|adres_ksiazki_glownego_spisu_tresci}}, jeśli istnieje: {{LinkPatrz|czy_podac_adres}}, lub przeciwnie wartością {{Code|nil}}.
==== Dalszy opis funkcji ====
Jeżeli dla aktualnego artykułu dla książki nie ustawiono kodu: {{Code|strony poza zakresem obsługiwanym}}, wtedy są analizowane elementy opisane w nagłówku opisywanej funkcji, pod warunkiem, jeżeli istnieją parametry nazw książki: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}.
Gdy artykuł jest analizowany, wtedy parametr: {{LinkPatrz|czy_artykul_korzystany}}, wtedy jest przy istnieniu: {{Code|self.tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|self.tabela_listy_danych_analizy_ksiazki}}, jest ustawiany w nim element: {{Code|CzyArtykułKsiążki}} {{Patrz|CzyArtykułKsiążki}}, z wartością na {{Code|tak}}.
Gdy już spis jeszcze nie analizowano, a jeżeli juz został zanalizowany, to sprawdzany jest: {{Code|czy_spis_analizowano}}, tablicy: {{LinkPatrz|tablica_ksiazki}}.
A jeśli jednak spisy książki nie zostały sprawdzone i sparsowane, wtedy uruchamia się następne rozgałęzienie pętli.
Uruchamia się dalej funkcja: {{Code|{{sr|#p.ZbieranieInformacjiSpisuRzeczyWoluminuEwentualnieWedleAutonawigacji|p=StronicowyParser/SpisTreści}}}}, w nim są uruchamiane w pewien sposób dwie funkcje.
===== Pierwsza anonimowa funkcja =====
Dla analizowanej pierwszej funkcji, ona jest uruchamiana, wtedy kiedy zostały zebrane wszystkie informrmacje ze spisów, wtedy dla elementu: {{Code|tablica_ksiazki_strona}} {{Patrz|tablica_ksiazki_strona}}, sprawdzane, czy jego element {{LinkPatrz|spis}} istnieje, jeśli istnieje, zatem elementy z: {{Code|_strona_temp}}, inicjujemy tymi z: {{Code|_strona}}, z elementów zmiennych tej funkcji, w takim razie inicjujemy inne jego podelementy, tzn.: {{Code|spis}} {{LinkPatrz|spis}}, {{Code|licencja}} {{LinkPatrz|licencja}}, {{Code|nazwa_bazowego_spisu}} {{LinkPatrz|nazwa_bazowego_spisu}}, {{Code|tab_inne_spisy}} {{LinkPatrz|tab_inne_spisy}}, {{Code|dodatkowe_strony_woluminu}} {{Patrz|dodatkowe_strony_woluminu}} i {{Code|adres_woluminu_bazowego_spisu_rzeczy}} {{Patrz|adres_woluminu_bazowego_spisu_rzeczy}}, elementu: {{LinkPatrz|tablica_ksiazki}}, tymi saamymi elementami, ale dla innej strony, tzn.: {{Code|tablica_ksiazki_strona}} {{LinkPatrz|tablica_ksiazki_strona}}.
Też jest inicjowany element tej pierwszej zmiennej książkowej o kluczu: {{Code|referencja_do_nowej_formy_spisu}}, według:
<syntaxhighlight lang="lua">
tablica_ksiazki.referencja_do_nowej_formy_spisu={tablica_przestrzeni_strona,tablica_przestrzeni_ksiazki_strona,tablica_ksiazki_strona,};
</syntaxhighlight>
Funkcja wtedy zwróci wartość: {{Code|1}}.
===== Druga anonimowa funkcji =====
=== {{Śródtytuł|PrzekierownieAwaryjne}}{{Code|PrzekierownieAwaryjne}} ===
=== {{Śródtytuł|StronaZbiorcza}}{{Code|StronaZbiorcza}} ===
=== {{Śródtytuł|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}}{{Code|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}} ===
=== {{Śródtytuł|GeneralnaAnalizaSzablonuStronicowegoParsera}}{{Code|GeneralnaAnalizaSzablonuStronicowegoParsera}} ===
=== {{Śródtytuł|IterowaniePoElementachTekstu}}{{Code|IterowaniePoElementachTekstu}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieNaglowek}}{{Code|KtorySzablonMaZwracacKategorieNaglowek}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieTekst}}{{Code|KtorySzablonMaZwracacKategorieTekst}} ===
=== {{Śródtytuł|CzyJestTakiProblemJakoElementTablicy}}{{Code|CzyJestTakiProblemJakoElementTablicy}} ===
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
icsn8vm255bh2ekgd5u77dffemuu6ro
547255
547254
2026-06-30T08:02:16Z
Persino
2851
/* Dalszy opis funkcji */
547255
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/ZbieranieDanychStron}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== Zbieranie informacji o uchwycie ==
=== {{Śródtytuł|p.UchwytyZeiBezNumeracji}}{{Code|p.UchwytyZeiBezNumeracji}} ===
Funkcja zbiera uchwyty, dla obiektów {{ZobaczTeż|p.UchwytyZeiBezNumeracji}}, bez numeracji, nie licząc obiektów tekst takich jak {{s|Śródtekst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UchwytyZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,lista_dwuelementowa,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} {{Patrz|self}} - zmiennna obiektowa modułu {{Code|{{ld2|StronicowyParser/ZbieranieDanychStron}}}} {{Patrz|StronicowyParser/ZbieranieDanychStron}},
* {{Code|tabela_elementow_strony_kodow}} {{Patrz|tabela_elementow_strony_kodow}} - zmienna zbierająca takie kody jak {{LinkZobaczTeż|p.UchwytyZeiBezNumeracji}},
* {{Code|nazwa_obiektu}} {{Patrz|nazwa obiektu}} - nazwa obiektu,
* {{Code|lista_dwuelementowa}} {{Patrz|lista_dwuelementowa}} - pozycja w normalnej tabeli uchwytów i przeważnie ich numeracji, a tutaj dla tego obiektu,
* {{Code|kod}} {{Patrz|kod}} - numer kodu dla tego obiektu.
Funkcja zbiera elementy {{LinkPatrz|lista_dwuelementowa}} w tablicy wielowymiarowej o pierwszym elemencie wymiaru {{LinkPatrz|nazwa obiektu}} i trzecim {{LinkPatrz|kod}}, oraz o drugim {{Code|uchwyty_bez_numeracji}} {{Patrz|uchwyty_bez_numeracji}}.
=== {{Śródtytuł|p.WydobywanieUchwytuZeiBezNumeracji}}{{Code|p.WydobywanieUchwytuZeiBezNumeracji}} ===
Funkcja wydowywa tablicę uchwytu dla pozycji, ale nie sam uchwyt, dla podtablicy {{LinkPatrz|uchwyty_bez_numeracji}} o danym kodzie {{LinkPatrz|kod}}, dla nazwy obiektu {{LinkPatrz|nazwa_obiektu}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.WydobywanieUchwytuZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_elementow_strony_kodow}} - jak w: {{LinkPatrz|tabela_elementow_strony_kodow}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}}.
Funkcja wykorzystuje elementy tablicy: {{LinkPatrz|uchwyty_bez_numeracji}}, wstawione przez funkcję: {{LinkŚródtytuł|p.UchwytyZeiBezNumeracji}}.
=== {{Śródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}{{Code|p.RozpatrywanieElementuUchwytuNumeracji}} ===
Funkcja wsadzająca utworzoną tablicę z podanym uchwytem do ogólnej tablicy pozycji nazwanych tabel z uchwytami o danej pozycji z nim.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|kod_uchwytu}} {{Patrz|kod_uchwytu}} - kod uchwytu podanego do szablonu stronicowego z odpowiednim uchwytem,
* {{Code|tab_numer}} {{Patrz|tab_numer}} - tablica z numerkami ilości elementów w tablicy parametrów nazwanych z uchwytami, w danym elemencie analizowania strony z uchwytami i obiektami,
* {{Code|tablica_zmiennych}} {{Patrz|tablica_zmiennych}} - tablica analizowania obiektów, danej strony,
* {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} {{Patrz|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - kolejno: nazwa przestrzeni nazw, nazwa przestrzeni książki, nazwa książki i nazwa artykułu książki,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} {{Patrz|czy_artykul_korzystany}} - czy artykuł aktualny wyświetlany w przeglądarce,
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} {{Patrz|nazwa_modulu_aktualna_czy_biezaca}} - nazwa artykułu aktualna lub bieżąca,
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{Patrz|tablica_analizy_obiektow_strony_dany_modul}} - tablica bazy kodów parsowania strony,
* {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - tablica analizy poszczególnych elementów kodów, do szybszego działania skryptu,
* {{Code|KtorySzablonMaZwracacKategorie}} {{Patrz|KtorySzablonMaZwracacKategorie}} - tablica zbierająca odkodowany i rozwinięty uchwyt, do analizowania w nim zebranych kategorii, według modułu: {{Code|{{ld2|StronicowyParser/Kategorie}}}}, uruchamiana w szablonach stronicowych z funkcjami '''stronicowego parsera'''.
Funkcja rozwija {{LinkPatrz|kod_uchwytu}} funkcją {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a potem je odkodowuje przy pomocy: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a jeżeli ona nie jest pusta, to dla tego jest uruchamiana funkcja {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Tworzona jest tablica {{Code|lista_dwuelementowa}} {{LinkPatrz|lista_dwuelementowa}} z uchwytem, jako pierwszy parametr.
Jest sprawdzane, czy element {{Code|tablica_zmiennych.sprawdzenie_dokonane_obiektu}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, jest fałszywy, jeżeli tak, to dalej jest sprawdzane, czy są elementy numerowane nazwanej tablicy: {{Code|tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2}} o nazwie {{LinkPatrz|nazwa_obiektu}}, a jeżeli jest pusta - na samym końcu jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, czyli jest inicjowana na wartość {{Code|true}}, to dalej jest sprawdzane, czy dla elementów: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy dana książka jest poza zakresem obsługiwanym, czyli rewidowane jest, czy jest ustawiony kod problemu {{Code|strony poza zakresem obsługiwanym}}, czy a jeżeli jednak nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}, ustawiające pewne elementy błędu, jeżeli trzeba to zrobić.
Gdy tabela {{LinkPatrz|tab_numer}} odpowiada nienilowej tablicy, wtedy element {{LinkPatrz|lista_dwuelementowa}} jest wstawiany na odpowiedniej pozycji, ale przeważnie nie na końcu, przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=table.insert|b=tak}}}}, dzięki określonej tabeli {{LinkPatrz|tab_numer}}, przeciwnie na jej końcu.
Funkcja zwraca element {{LinkPatrz|lista_dwuelementowa}}.
=== {{Śródtytuł|p.RozpatrywanieSzablonuObiektuDoNumeracji}}{{Code|p.RozpatrywanieSzablonuObiektuDoNumeracji}} ===
Funkcja, która uruchamia funkcję: {{LinkŚródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}, dla istniejącego uchwytu w postaci nazwanej o kluczu: {{Code|uchwyt}} {{Patrz|uchwyt}}, lub nienazwanej - w postaci numeru jego uchwytu o kluczu: {{Code|numer_numeracji}} {{Patrz|numer_numeracji}}, wsadzająca tabele z uchwytem na odpowiednią pozycję w odpowiedniej nazwanej tabeli o nazwie obiektu {{LinkPatrz|nazwa_obiektu}} w ogólnej tabeli: {{LinkPatrz|tablica_zmiennych}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}}- tabela parametrów szablonu,
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|numer_numeracji}} - jak w: {{LinkPatrz|numer_numeracji}},
* {{Code|tab_numer}} - jak w: {{LinkPatrz|tab_numer}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
== {{Śródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}{{Code|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}} ==
Funkcja sprawdza, czy dany artykuł należy do artykułów, któregoś spisu treści, a jeżeli nie, to dla stron, które nie należą do kategorii z ustawionym problemem {{Code|strony poza zakresem obsługiwanym}}, ale do nieaktualnej strony jest ustawiony problem {{Code|brak spisów treści do dołączonych stron}}. Natomiast dla aktualnej dla stron tej samej kategorii ustawiany jest problem {{Code|brak spisu treści do korzystanych stron}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== {{Śródtytuł|p.PusteParametryReferencji}}{{Code|p.PusteParametryReferencji}} ==
Funkcja sprawdza, jeśli są podane parametry szablonu stronicowego, które są w kategorii: {{lk|Szablony stronicowe}}, czyli: {{Code|nazwa_artykulu}}, ewentualnie: {{Code|nazwa_ksiazki}}, ale zawsze z: {{Code|uchwyt_obiektu}}, czy są one puste.
A jeżeli one istnieją i są takie, to są ustawione problemy typu, jeśli ich wcześniej nie ustawiono:
* {{Code|puste parametry szablonów stronicowych linkujących}} {{Patrz|puste parametry szablonów stronicowych linkujących}}, kolejno dla: {{Code|uchwyt_obiektu}}, {{Code|nazwa_artykulu}} i {{Code|nazwa_ksiazki}}, kolejno z numerami problemów: {{Code|1}}, {{Code|2}} i {{Code|3}}.
Dla obiektu o nazwie {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}.
{{Hr}}
Definicja skrótowa funkcji
<syntaxhighlight lang="lua">
function p.PusteParametryReferencji(self, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu)...end;
</syntaxhighlight>
Paraametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} {{Patrz|uchwyt_obiektu}} - uchwyt obiektu, podane w danym szablonie stronicowym,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}}.
== {{Śródtytuł|p.SzablonyReferencjiParametrowych}}{{Code|p.SzablonyReferencjiParametrowych}} ==
Funkcja z parametrów pudełkowych nazwy artykułu {{ZobaczTeż|nazwa artykułu}}: {{Code|nazwa artykułu}} {{Patrz|nazwa artykułu}} albo {{Code|1}}, gdy bezuchwytowe lub {{Code|2}}, i pełnej nazwy książki {{ZobaczTeż|pełna nazwa strony}}: {{Code|nazwa książki}} {{Patrz|nazwa książki}} albo, {{Code|2}}, gdy bezuchwytowe lub {{Code|3}}. To wszystko jest liczone z: {{LinkPatrz|tabela_parametrow_szablonu}} lub przy użyciu parametru również {{Code|bezuchwytowe}} {{Patrz|bezuchwytowe}}, gdy mamy szablon stronicowy {{lk|Szablony stronicowe}}, bezuchwytowy, wtedy {{Code|true}}, przeciwnie {{Code|false/nil}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca,bezuchwytowe)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{Code|bezuchwytowe}} - jak w: {{LinkPatrz|bezuchwytowe}}.
Funkcja obie nazwy dekoduje funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a później jest liczony adres bezwzględny z względnego dzięki: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, przy pomocy podstawy {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}}, podobnie ale wcześniej jest liczona nazwa artykułu {{linkZobaczTeż|nazwa artykułu}}, czyli: {{LinkPatrz|nazwa_artykulu}}, ale tutaj adres względny jest liczony z podstawy o ciągu pustym jako drugi parametr.
Na podstawie pełnej nazwy książki {{LinkZobaczTeż|pełna nazwa strony}}: jest liczona bardziej jej wersja pełniejsza, jeżeli to jest w ogóle możliwe z: {{Code|{{sr|#p["PełnaNazwaStronicowejKsiążki"]|p=Książkowe}}}}. A póżniej z tego wszystkiego są liczone nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, przy pomocy funkcji nazw: {{Code|{{ld2|Nazwy}}}}.
Na samym końcu funkcji są zwracane parametry nazw, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== Funkcje zbierania informacji ==
=== {{Śródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}{{Code|p.ZbieranieInformacjiStronyWoluminowychPozycji}} ===
Funkcja zbierania informacji na stronie dla szablonów stronicowych: {{lk|Szablony stronicowe}}, bezuchwytowych, gdy nie jest uruchomiony parametr: {{Code|czy_inna_wartosc_tekst}} {{Patrz|czy_inna_wartosc_tekst}}, wtedy jest wywoływana funkcja: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}, która liczy kolejne nazwy charaktertyzujące nazwy dla danego artykułu książki dla danej strony, przeciwnie parametry nazw są ściagane z: {{Code|tab_nazwy}} {{Patrz|tab_nazwy}}, ta tabela składa się numerowanych elementów, którymi są nazwy charakyteryzujące stronę.
Gdy jakaś nazwa artylułu strony została policzona, wtedy są liczone pozostałe nazwy z: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, a na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, a tuż przed nim, jeśli istnieje: {{Code|KtorySzablonMaZwracacKategorie}} {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,KtorySzablonMaZwracacKategorie,czy_inna_wartosc_tekst,tab_nazwy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_inna_wartosc_tekst}} - jak w: {{LinkPatrz|czy_inna_wartosc_tekst}},
* {{Code|tab_nazwy}} - jak w: {{LinkPatrz|tab_nazwy}}.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacji}}{{Code|p.ZbieranieKontenerowychInformacji}} ===
Funkcja do zbierania informacji, która z parametrów pudełkowych: {{Code|{{m|Pudełko}}}}, czyli: {{Code|nazwa przestrzeni nazw}} {{Patrz|nazwa przestrzeni nazw}} i {{Code|nazwa jednostki}} {{Patrz|nazwa jednostki}}, z nich są liczone parametry nazw charakteryzujące artykuł książki strony. A na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} {{Patrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,czy_szablon_pudelkowy_strony_zbiorczej,KtorySzablonMaZwracacKategorie)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} {{Patrz|czy_szablon_pudelkowy_strony_zbiorczej}} - funkcja potrzebna do funkcji zbierającej {{LinkPatrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, określającej, czy mamy szablon pudełkowy strony zbiorczej, taki jak: {{Code|{{s|StronaSubst}}}}, czy: {{Code|{{s|KsiążkaSubst}}}}, zobacz stronę: {{Code|{{lr2|Moduły/StronicowyParser/StronaSubst}}}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Gdy nie ma parametrów pudełkowych funkcja się natychmiast zakańcza, lub parametr: {{LinkPatrz|nazwa jednostki}}, jest pusta, lub nawet gdy zawierają kody wykrywane przez funkcję: {{Code|{{sr|#p.NormaWzoruKodowaniaTekstu|p=Szablonowe}}}}.
Z nazwy jednostki jest wydzielana nazwa jednostki właściwa bez nazwy nagłówka, póżniej obie nazwy są też dekodowane funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, czyli wszystko z: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}.
Z tych dwóch nazwy jest liczony adres, ewentualnie względny, który za pomocą funkcji: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, jest wyliczany adres bezwzględny.
Dalej są liczone nazwy charakteryzujące artykuł danej książki strony, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, z tego adresu strony.
Przedostatnia funkcja, która jest uruchamiana przed funkcją zbierającą jest: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}, jeśli istnieje.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacjiReferencji}}{{Code|p.ZbieranieKontenerowychInformacjiReferencji}} ===
Funkcja zbiera informacje o stronie. Na podstawie informacji o nazwie artykułu i pełnej nazwy książki liczy parametry nazw charakteryzujące artykuł, co na tej podstawiwe liczy parametry pudełkowe i wywołuje funkcję główną przez inną funkcję, też zbierającą, i zbiera informacje o artykule.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacjiReferencji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, jako parametry zwracane przez funkcję: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}. Funkcja wyznacza parametry pudełkowe {{m|Pudełko}}, tzn.: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}, na podstawie tych nazw. Funkcja na samym końcu wywołuje funkcję zbierającą dane ze strony: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}, która z kolei uruchamia potem: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
== {{Śródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}{{Code|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}} ==
Funkcja sprawdza niepoprawność nazwy strony i na podstawie tego ustawia pewne kody problemów.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,__FUNKCJA_SPRAWDZANIE)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|__FUNKCJA_SPRAWDZANIE}} {{Patrz|__FUNKCJA_SPRAWDZANIE}} - funkcja uruchamiana, jeśli jest ustawiona, na wypadek poprawności strony.
W przypadku niepoprawności strony, gdy strona modułu jest aktualna (bieżąca), wtedy sprawdzany jest kod problemu, czy jest ustawiony, tzn.: {{Code|nieprawidłowe nazwy korzystanych stron}}, przy pomocy funkcji: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli nie ma takiego, to wtedy jest uruchamiana funkcja: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}. Podobnie jest dla niekorzystanej strony, wtedy jest problem dla kodu: {{Code|nieprawidłowe nazwy stron dołączanych do stron}}.
== Zbieranie informacji o linkach ==
=== {{Śródtytuł|p.LinkowanieFinalizowaniePrac}}{{Code|p.LinkowanieFinalizowaniePrac}} ===
Funkcja wadza uchwyt obiektu, wsazujący na aktualną stronę, do pewnej strony, i ewentualnie ustawia pewne problemy, jeśli je nie ustawiono.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} {{Patrz|obiekt}} - obiekt, obsługiwany przez tą funkcję linku,
* {{Code|kod}} {{LinkPatrz|kod}} - kod obiektu dla: {{LinkPatrz|obiekt}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} - jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}},
* {{Code|czy_pobierz}} {{Patrz|czy_pobierz}} - czy to jest szablon typu {{Code|Pobierz}} {{Patrz|Pobierz}}, jak: {{s|PobierzŚródtekst}}.
Funkcja sprawdza, czy nie został ustawiony element {{Code|tablica_zmiennych.sprawdzenie_dokonane_linku}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}, a jeżeli tak, to dalej, czy nie ma elementów numerowanych przy pomocy funkcji: {{Code|{{sr|#p["CzySąElementyNumerowaneTablicy"]|p=Parametry}}}}, a jeśli również tak, to dalej jest sprawdzane, czy został ustawiony problem: {{Code|strony poza zakresem obsługiwanym}}, przy pomocy: {{Code|{{sr|#p.CzyJestTakiElementTabeliProblemu|p=StronicowyParser/Problemy}}}}, a jeżeli nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}. Na samym końcu tej instrukcji warunkowej jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}.
Dalej pod tą instrukcją warunkową, jest robione, co powiedziane zostało w prologu tego opisu tej funkcji, tzn. z wyznaczonej tablicy ze: {{LinkPatrz|tablica_zmiennych}}, a dalej z wyznaczonej następnej podtabeli o kluczu: {{LinkPatrz|nazwa_obiektu}}.
Następnie, gdy element: {{LinkPatrz|czy_pobierz}}, jest ustawiony na {{Code|true}}, wtedy dla {{LinkPatrz|uchwyt_obiektu}}, pewna tablica, jest wstawiana do tablicy: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}}, jeśli istnieje, a jeśli nie, to jest tworzona, jako tablica, wtedy też jest to robione. Tą czynnością wstawiany tabelę, do tej tablicy, czyli:
<syntaxhighlight lang="lua">
{{nazwa_obiektu,uchwyt_obiektu,},{obiekt,kod,},}
</syntaxhighlight>
=== {{Śródtytuł|p.LinkowanieInnychStron}}{{Code|p.LinkowanieInnychStron}} ===
Funkcja do sprawdzania innych stron niż aktualna, a jeżeli dana strona została już sprawdzona, to powtórnie nie jest już rewidowana. Funkcja ustawia w głównej tablicy aktualnej tabeli {{LinkPatrz|tablica_zmiennych}} pewne podtablice.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieInnychStron(self,obiekt,kod,tablica_zmiennych, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejo jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Najpierw jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, która w razie poprawności nazwy strony, czyli inaczej nazw tej strony, tzn.: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, uruchamia funkcję zdefiniowaną w nim.
{{Tab}}Ta funkcja sprawdza, czy któraś z parametrów nazw istnieje, a jeżeli nie, to dalej jest inicjowana zmienna: {{Code|tablica_zmiennych2}} {{Patrz|tablica_zmiennych2}} pustą tablicą i podobnie {{Code|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}} {{Patrz|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}}, to uruchamiana jest: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, do zbierania informacji o stronie nowej lub przebadanej (wtedy zostają zwrócone parametry z wczęsniejszego jego analizowania, jak była nowa). Funkcja zwraca trzy parametry, tzn. {{Code|tabela_listy_danych_analizy_ksiazki0}} {{Patrz|tabela_listy_danych_analizy_ksiazki0}}, {{LinkPatrz|tablica_zmiennych2}} i {{Code|czy_inna}} {{Patrz|czy_inna}}. Te parametry mogą przyjmować wartość {{Code|nil}}, lub pierwszy {{Code|0}}, drugi, to nic innego jest jak: {{LinkPatrz|tablica_zmiennych2}}, a trzeci parametr jest wtedy równy {{Code|true}}, gdy strona jest nowa, a {{Code|false}} aktualna, a gdy {{Code|nil}}, gdy np. zawartość strony nie istnieje.
Gdy parametr: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, istnieje, wtedy jest spraqdzane, czy któreś z parametrów: {{LinkPatrz|tablica_zmiennych2}} i {{LinkPatrz|czy_inna}}, nie istsnieje, wtedy ta funkcja się zakańcza.
==== {{Śródtytuł|JuzPoliczone}}{{Code|JuzPoliczone}} ====
Dla obiektów, dla których jest ustawiony parametr: {{LinkPatrz|czy_pobierz}}, co dalej w tym rozgałęzieniu instrukcji warunkiwej jest uruchamiana funkcja szablonów tekstu, czyli: {{Code|{{sr|#p.UstawianiePobierz|p=StronicowyParser/SzablonyTekstu}}}}, aby również później za pomocą innych funkcji przeanalizować również tekst w szablonach takich jak: {{s|Śródtekst}}.
Dalej jest tworzona tablica, jeśli nie istnieje, tzn. {{Code|tablica_zmiennych2.dane_juz_policzone}} {{Patrz|tablica_zmiennych2.dane_juz_policzone}}, czyli jest inicjowana pustą tablicą. Dalej jest tworzona, jeśli nie istnieje, tablica wielowymiarowa po kolei, o kluczach kolejno: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}, {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu}}, a jeżeli ta ostatnia wartość tej tablicy była wcześniej, to zwracane jest {{Code|true}}, przeciwnie {{Code|false}}, a tej ostatniej wartości tej tablicy jest przydzielana wartość {{Code|true}}.
==== Dalszy opis funkcji ====
Gdy parametr: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest równy {{Code|0}}, ale nie {{Code|nil}}, wtedy jest sprawdzane, czy artykuł został wcześniej zrewidowany według: {{LinkŚródtytuł|JuzPoliczone}}, a jeżeli tak to jest zakańczany, a gdy ten parametr taakiej wartośsci nie przyjmuje, wtedy tylko jest uruchamiana funkcja bez żadnego warunku.
{{Tab}}Następnie jest uruchamiana funkcja: {{Code|{{sr|#p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony|p=StronicowyParser/SzablonyTekstu}}}}, do przydzielenia pewnych zmiennych z {{LinkPatrz|tablica_zmiennych2}} tablicy {{LinkPatrz|tablica_zmiennych}}.
{{Tab}}Jest sprawdzane, czy dany artykuł należy do spisu, jeżeli nie to są ustawiane pewne kody problemów w tablicy problemów, tzn. {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}.
Dalej jest sprawdzane, czy podany uchwyt {{LinkPatrz|uchwyt_obiektu}}, który jest podany w szablonach linków na aktualnej stronie, czy jest tylko jeden na stronie sprawdzanej, a jeżeli nie jest tak, to jest sprawdzane, czy nie istnieje ustawiony problem: {{Code|błędy uchwytów korzystanych stron}}, funkcją: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to taki problem jest dodawany dzięki: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
{{Tab}}Uruchamiana jest dalej funkcja: {{LinkŚródtytuł|p.PusteParametryReferencji}}, do sprawdzania pustości pewnych parametrów.
{{Tab}}Gdy tabela: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest jednak równa wartości odpowiadającej fałszywej, wtedy jeśli nie istnieje problem: {{Code|błąd wewnętrzny modułu lua stronicowego parsera}}, co jest rewidowane elementem: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to dodawany jest taki problem do tabeli problemów na podstawie: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
=== {{Śródtytuł|p.GeneralneLinkowanie}}{{Code|p.GeneralneLinkowanie}} ===
Funkcja zbiera uchwyty, na aktualnej lub innej stronie, a także je analizuje w odpowiedni sposób, modyfikuje tablica aktualnego modułu, czyli: {{LinkPatrz|tablica_zmiennych}}, na podstawie poszczególnych artykułów tej książki lub innej, która zbiera raz informacje o danej stronie.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Funkcja wyznacza uchwyt z tabeli parametrów: {{LinkPatrz|tabela_parametrow_szablonu}}, o kluczu {{Code|uchwyt}} {{LinkPatrz|uchwyt}} lub {{Code|1}}, a później w kodzie jest on kompletowany funkcją: {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a następnie rozwijany w niej, a później jest dekodowany: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}.
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, wywołujac: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}.
Na samym końcu jest uruchamiana: {{LinkPatrz|KtorySzablonMaZwracacKategorie}} z parametrem o tym uchwycie, wyliczonym wcześniej.
Gdy uchwyt istnieje, ale jest pusty, wtedy uruchamia się: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, następnie: {{LinkŚródtytuł|p.PusteParametryReferencji}}, a jeśli ta wartość nie istnieje, wtedy tylko ta ostatnia funkcja.
Gdy uchwyt: {{LinkPatrz|uchwyt}}, istnieje i jest niepusty, wtedy jest wyznaczana nazwa artykułu z niej samej, lub jeśli nazwa ksiązki istnieje, tylko, wtedy ta nazwa zaczyna być pusta, przeciwnie {{Code|nil}}, wtedy mamy do czynienia ze stroną główną podręcznika.
Gdy nazwa artykułu nie istnieje, wtedy wywoływana jest: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Jeśli nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest niepusta, i gdy nazwa książki nie istnieje, wtedy są liczone parametry nazw, oprócz nazwy artykułu, bo jest policzona, więc te {{ZobaczTeż|nazwy}}: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, z parametrów charakteryzujących nazwę aktualnego artykułu, a jeśli jednak nazwa książki jest pusta, to są sprawdzane parametry w: {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Gdy nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest nieistnieje, i gdy nazwa książki {{LinkPatrz|nazwa_ksiazki}} jest niepusta, wtedy nazwa artykułu zaczyna istnieć i inicjujemy wtedy ją wartością pustą, a jeśli pusta, za zaczyna być potem generowanie kodów błędów funkcją {{LinkŚródtytuł|p.PusteParametryReferencji}}, by potem się zakończyła ta funkcja.
Przeciwnie są liczone parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, tą samą metodą, co w punkcie: {{LinkZobaczTeż|nazwy}}.
Gdy nazwy {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}} są porównywane z nazwami, którymi się przypisje jak w: {{LinkZobaczTeż|nazwy}}, wtedy uruchamiamy funkcję: {{LinkŚródtytuł|p.LinkowanieInnychStron}}, przeciwnie wtedy działają dwie funkcje uruchomione po kolei, tzn.: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
== {{Śródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}{{Code|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} ==
Funkcja służy do zbierania informacji o danej analizowanej stronie, którego główną częścią jest strona korzystana, w której gromadzą się informacji też z pozostałych.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, czy_artykul_korzystany,tablica_zmiennych,czy_szablon_pudelkowy_strony_zbiorczej)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} - jak w: {{LinkPatrz|czy_szablon_pudelkowy_strony_zbiorczej}}.
=== {{Śródtytuł|__FUNKCJA_ARTYKULU}}{{Code|__FUNKCJA_ARTYKULU}} ===
Funkcja do tworzenia tabeli artykułów z innymi parametrami wielowymiarowej tej tabeli, a jeżeli owe pośrednie, i nie tylko, istnieją, to te tabele są zwracane lub nowo są tworzone.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji {{ZobaczTeż|parametry artykułu}}:
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}},
* {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu}} - nazwa artykułu w książce, bez pełnej nazwy książki.
Poniżej są tworzone podtabele puste, jeśli nie zostały utworzone.
Funkcja, która w tabeli: {{Code|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}} {{Patrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, która istnieje, tworzy tabele trójwymiarową kolejno po prarametrach: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, te tabele pośrednie śą wtedy tworzone, jeśsli nie istnieją, a gdy istnieją to nie są tworzone, tylko funkcja przechodzi do dalszych.
Dalej tworzona jest podtabela, jeśli nie istnieje o nazwie {{Code|lista_podstron_woluminu}} {{Patrz|lista_podstron_woluminu}}.
Następnie generowana jest podtabela, jeśli nie istnieje, o kluczu: {{LinkPatrz|nazwa_artykulu}}.
Funkcja zwraca kolejno elementy, jeśli klucz: {{LinkPatrz|nazwa_artykulu}}, istnieje, zatem:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany;
</syntaxhighlight>
Przeciwnie zwracany jest zbiór zmiennych po kolei:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki;
</syntaxhighlight>
Co to są za zmienne, wiadomo z ich nazw, po prostu są to pewne pośrednie, i nie tylko, tabele.
=== {{Śródtytuł|__FUNKCJA_POBIERANIE}}{{Code|__FUNKCJA_POBIERANIE}} ===
Funkcja zwraca parametry strony aktualnej, analizowanej jeszcze raz, aby ją nie powtórnie rewidować, lub podobnie dla innego artykułu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_POBIERANIE(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji są takie same jak w punkcie {{LinkZobaczTeż|parametry artykułu}}.
{{Tab}}Analiza dla artykułów niekorzystanych według parametru: {{LinkPatrz|czy_artykul_korzystany}}:
Dla jeszcze raz analizowanego artykułui aktualnego zwracane są parametry:
<syntaxhighlight lang="lua">
return 0,nil,nil,nil,nil,nil,self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron,false;
</syntaxhighlight>
Tabela: {{Code|self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron}}, tam są dane zebrane z aktualnego artykułu.
Dla innej takiej strony jest tworzony parametr, jeżeli jest włączona analiza, dla klucza: {{Code|analiza_spis_tresci}} {{Patrz|analiza_spis_tresci}}, według tego jest tworzony wartością prawdziwą parametr o innym znów kluczu: {{Code|analiza_spis_tresci_doloczone}} {{Patrz|analiza_spis_tresci_doloczone}}:
<syntaxhighlight lang="lua">
if(self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci)then
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=true;
end;
</syntaxhighlight>
Dla elementu: {{LinkPatrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, jeżeli dany artykuł był już rewidowany, to zwracane są elementy:
<syntaxhighlight lang="lua">
return 0,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni,dane_zebrane_ze_stron,true;
</syntaxhighlight>
To: {{Code|dane_zebrane_ze_stron}} {{Patrz|dane_zebrane_ze_stron}}, to podtabela: {{LinkPatrz|lista_podstron_woluminu}}, z kluczem: {{LinkPatrz|nazwa_artykulu}}, o nazwie takiej samej jak ten parametr zwracany.
Przeciwnie jest zwracane: {{Code|true}}, lub {{Code|nil}}, jeśli tabela: {{Code|self.tabela_listy_danych_analizy_ksiazki}} {{Patrz|self.tabela_listy_danych_analizy_ksiazki}}, lub podtatela: {{LinkPatrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, nie istnieje.
=== {{Śródtytuł|InneInformacjePrzebneDoAnalizowanejKsiazki}}{{Code|InneInformacjePrzebneDoAnalizowanejKsiazki}} ===
Funkcja do zbierania informacji o spisie artykułów książkowych i ich licencjach oraz ewentualnie zebrane informacje ze stron: {{lk2|Szablony nawigacyjne układu autonawigacji do autonawigacji podręczników}}, z szablonu, w któreś tej pozycji w: {{s|Układ autonawigacji}}, i ze spisów podanej w niej jako parametry.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function InneInformacjePrzebneDoAnalizowanejKsiazki()...end;
</syntaxhighlight>
Parametry funkcji:
* brak.
==== {{Śródtytuł|__FUNKCJA_SPISU}}{{Code|__FUNKCJA_SPISU}} ====
Funkcja do inicjowania parametrów spisu, aktualnego artykułu, uzyskanych z ich analizy.
Definicja skrotowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_SPISU(tablica_ksiazki,czy_podac_adres)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tablica_ksiazki}} {{Patrz|tablica_ksiazki}} - tablica dla analizowanej książki,
* {{Code|czy_podac_adres}} {{Patrz|czy_podac_adres}} - czy podać adres bazowego woluminu.
Tablicy: {{linkPatrz|tablica_ksiazki}}, jest inicjowany element: {{Code|spis}} {{Patrz|spis}}, tabelą: {{Code|tabela_artykulow}} {{Patrz|tabela_artykulow}}.
Gdy: {{LinkPatrz|czy_artykul_korzystany}}, jest wartością fałszywą, to iniciowaną tablicy: {{LinkPatrz|tablica_ksiazki}}, jest parametr o kluczu: {{Code|licencja}} {{Patrz|licencja}}, tabelą: {{Code|tabela_licencji_spisu_tresci}} {{Patrz|tabela_licencji_spisu_tresci}}.
Dalej kolejno elementy: {{Code|nazwa_bazowego_spisu}} {{Patrz|nazwa_bazowego_spisu}}, {{Code|tab_inne_spisy}} {{Patrz|tab_inne_spisy}} i {{Code|dodatkowe_strony_woluminu}}, tabeli: {{LinkPatrz|tablica_ksiazki}}, i inicjowane są tabelami o takich samych nazwach jak te klucze dwa, a ostatni tabelą: {{Code|dodatkowe_artykuly}} {{Patrz|dodatkowe_artykuly}}.
Dla tabeli: {{LinkPatrz|tablica_ksiazki}}, o kluczu w nim {{Code|adres_woluminu_bazowego_spisu_rzeczy}}, ona jest przyrównywana wartością: {{Code|adres_ksiazki_glownego_spisu_tresci}} {{Patrz|adres_ksiazki_glownego_spisu_tresci}}, jeśli istnieje: {{LinkPatrz|czy_podac_adres}}, lub przeciwnie wartością {{Code|nil}}.
==== Dalszy opis funkcji ====
Jeżeli dla aktualnego artykułu dla książki nie ustawiono kodu: {{Code|strony poza zakresem obsługiwanym}}, wtedy są analizowane elementy opisane w nagłówku opisywanej funkcji, pod warunkiem, jeżeli istnieją parametry nazw książki: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}.
Gdy artykuł jest analizowany, wtedy parametr: {{LinkPatrz|czy_artykul_korzystany}}, wtedy jest przy istnieniu: {{Code|self.tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|self.tabela_listy_danych_analizy_ksiazki}}, jest ustawiany w nim element: {{Code|CzyArtykułKsiążki}} {{Patrz|CzyArtykułKsiążki}}, z wartością na {{Code|tak}}.
Gdy już spis jeszcze nie analizowano, a jeżeli juz został zanalizowany, to sprawdzany jest: {{Code|czy_spis_analizowano}}, tablicy: {{LinkPatrz|tablica_ksiazki}}.
A jeśli jednak spisy książki nie zostały sprawdzone i sparsowane, wtedy uruchamia się następne rozgałęzienie pętli.
Uruchamia się dalej funkcja: {{Code|{{sr|#p.ZbieranieInformacjiSpisuRzeczyWoluminuEwentualnieWedleAutonawigacji|p=StronicowyParser/SpisTreści}}}}, w nim są uruchamiane w pewien sposób dwie funkcje.
===== {{Code|p.ZbieranieInformacjiSpisuRzeczyWoluminuEwentualnieWedleAutonawigacji}} =====
====== Pierwsza anonimowa funkcja ======
Dla analizowanej pierwszej funkcji, ona jest uruchamiana, wtedy kiedy zostały zebrane wszystkie informrmacje ze spisów, wtedy dla elementu: {{Code|tablica_ksiazki_strona}} {{Patrz|tablica_ksiazki_strona}}, sprawdzane, czy jego element {{LinkPatrz|spis}} istnieje, jeśli istnieje, zatem elementy z: {{Code|_strona_temp}}, inicjujemy tymi z: {{Code|_strona}}, z elementów zmiennych tej funkcji, w takim razie inicjujemy inne jego podelementy, tzn.: {{Code|spis}} {{LinkPatrz|spis}}, {{Code|licencja}} {{LinkPatrz|licencja}}, {{Code|nazwa_bazowego_spisu}} {{LinkPatrz|nazwa_bazowego_spisu}}, {{Code|tab_inne_spisy}} {{LinkPatrz|tab_inne_spisy}}, {{Code|dodatkowe_strony_woluminu}} {{Patrz|dodatkowe_strony_woluminu}} i {{Code|adres_woluminu_bazowego_spisu_rzeczy}} {{Patrz|adres_woluminu_bazowego_spisu_rzeczy}}, elementu: {{LinkPatrz|tablica_ksiazki}}, tymi saamymi elementami, ale dla innej strony, tzn.: {{Code|tablica_ksiazki_strona}} {{LinkPatrz|tablica_ksiazki_strona}}.
Też jest inicjowany element tej pierwszej zmiennej książkowej o kluczu: {{Code|referencja_do_nowej_formy_spisu}}, według:
<syntaxhighlight lang="lua">
tablica_ksiazki.referencja_do_nowej_formy_spisu={tablica_przestrzeni_strona,tablica_przestrzeni_ksiazki_strona,tablica_ksiazki_strona,};
</syntaxhighlight>
Funkcja wtedy zwróci wartość: {{Code|1}}.
====== Druga anonimowa funkcji ======
=== {{Śródtytuł|PrzekierownieAwaryjne}}{{Code|PrzekierownieAwaryjne}} ===
=== {{Śródtytuł|StronaZbiorcza}}{{Code|StronaZbiorcza}} ===
=== {{Śródtytuł|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}}{{Code|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}} ===
=== {{Śródtytuł|GeneralnaAnalizaSzablonuStronicowegoParsera}}{{Code|GeneralnaAnalizaSzablonuStronicowegoParsera}} ===
=== {{Śródtytuł|IterowaniePoElementachTekstu}}{{Code|IterowaniePoElementachTekstu}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieNaglowek}}{{Code|KtorySzablonMaZwracacKategorieNaglowek}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieTekst}}{{Code|KtorySzablonMaZwracacKategorieTekst}} ===
=== {{Śródtytuł|CzyJestTakiProblemJakoElementTablicy}}{{Code|CzyJestTakiProblemJakoElementTablicy}} ===
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
qngx901d3c9n1c4kkbcbpdp0bmb8ov7
547256
547255
2026-06-30T08:03:44Z
Persino
2851
/* {{Code|p.ZbieranieInformacjiSpisuRzeczyWoluminuEwentualnieWedleAutonawigacji}} */
547256
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/ZbieranieDanychStron}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== Zbieranie informacji o uchwycie ==
=== {{Śródtytuł|p.UchwytyZeiBezNumeracji}}{{Code|p.UchwytyZeiBezNumeracji}} ===
Funkcja zbiera uchwyty, dla obiektów {{ZobaczTeż|p.UchwytyZeiBezNumeracji}}, bez numeracji, nie licząc obiektów tekst takich jak {{s|Śródtekst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UchwytyZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,lista_dwuelementowa,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} {{Patrz|self}} - zmiennna obiektowa modułu {{Code|{{ld2|StronicowyParser/ZbieranieDanychStron}}}} {{Patrz|StronicowyParser/ZbieranieDanychStron}},
* {{Code|tabela_elementow_strony_kodow}} {{Patrz|tabela_elementow_strony_kodow}} - zmienna zbierająca takie kody jak {{LinkZobaczTeż|p.UchwytyZeiBezNumeracji}},
* {{Code|nazwa_obiektu}} {{Patrz|nazwa obiektu}} - nazwa obiektu,
* {{Code|lista_dwuelementowa}} {{Patrz|lista_dwuelementowa}} - pozycja w normalnej tabeli uchwytów i przeważnie ich numeracji, a tutaj dla tego obiektu,
* {{Code|kod}} {{Patrz|kod}} - numer kodu dla tego obiektu.
Funkcja zbiera elementy {{LinkPatrz|lista_dwuelementowa}} w tablicy wielowymiarowej o pierwszym elemencie wymiaru {{LinkPatrz|nazwa obiektu}} i trzecim {{LinkPatrz|kod}}, oraz o drugim {{Code|uchwyty_bez_numeracji}} {{Patrz|uchwyty_bez_numeracji}}.
=== {{Śródtytuł|p.WydobywanieUchwytuZeiBezNumeracji}}{{Code|p.WydobywanieUchwytuZeiBezNumeracji}} ===
Funkcja wydowywa tablicę uchwytu dla pozycji, ale nie sam uchwyt, dla podtablicy {{LinkPatrz|uchwyty_bez_numeracji}} o danym kodzie {{LinkPatrz|kod}}, dla nazwy obiektu {{LinkPatrz|nazwa_obiektu}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.WydobywanieUchwytuZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_elementow_strony_kodow}} - jak w: {{LinkPatrz|tabela_elementow_strony_kodow}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}}.
Funkcja wykorzystuje elementy tablicy: {{LinkPatrz|uchwyty_bez_numeracji}}, wstawione przez funkcję: {{LinkŚródtytuł|p.UchwytyZeiBezNumeracji}}.
=== {{Śródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}{{Code|p.RozpatrywanieElementuUchwytuNumeracji}} ===
Funkcja wsadzająca utworzoną tablicę z podanym uchwytem do ogólnej tablicy pozycji nazwanych tabel z uchwytami o danej pozycji z nim.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|kod_uchwytu}} {{Patrz|kod_uchwytu}} - kod uchwytu podanego do szablonu stronicowego z odpowiednim uchwytem,
* {{Code|tab_numer}} {{Patrz|tab_numer}} - tablica z numerkami ilości elementów w tablicy parametrów nazwanych z uchwytami, w danym elemencie analizowania strony z uchwytami i obiektami,
* {{Code|tablica_zmiennych}} {{Patrz|tablica_zmiennych}} - tablica analizowania obiektów, danej strony,
* {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} {{Patrz|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - kolejno: nazwa przestrzeni nazw, nazwa przestrzeni książki, nazwa książki i nazwa artykułu książki,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} {{Patrz|czy_artykul_korzystany}} - czy artykuł aktualny wyświetlany w przeglądarce,
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} {{Patrz|nazwa_modulu_aktualna_czy_biezaca}} - nazwa artykułu aktualna lub bieżąca,
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{Patrz|tablica_analizy_obiektow_strony_dany_modul}} - tablica bazy kodów parsowania strony,
* {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - tablica analizy poszczególnych elementów kodów, do szybszego działania skryptu,
* {{Code|KtorySzablonMaZwracacKategorie}} {{Patrz|KtorySzablonMaZwracacKategorie}} - tablica zbierająca odkodowany i rozwinięty uchwyt, do analizowania w nim zebranych kategorii, według modułu: {{Code|{{ld2|StronicowyParser/Kategorie}}}}, uruchamiana w szablonach stronicowych z funkcjami '''stronicowego parsera'''.
Funkcja rozwija {{LinkPatrz|kod_uchwytu}} funkcją {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a potem je odkodowuje przy pomocy: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a jeżeli ona nie jest pusta, to dla tego jest uruchamiana funkcja {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Tworzona jest tablica {{Code|lista_dwuelementowa}} {{LinkPatrz|lista_dwuelementowa}} z uchwytem, jako pierwszy parametr.
Jest sprawdzane, czy element {{Code|tablica_zmiennych.sprawdzenie_dokonane_obiektu}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, jest fałszywy, jeżeli tak, to dalej jest sprawdzane, czy są elementy numerowane nazwanej tablicy: {{Code|tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2}} o nazwie {{LinkPatrz|nazwa_obiektu}}, a jeżeli jest pusta - na samym końcu jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, czyli jest inicjowana na wartość {{Code|true}}, to dalej jest sprawdzane, czy dla elementów: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy dana książka jest poza zakresem obsługiwanym, czyli rewidowane jest, czy jest ustawiony kod problemu {{Code|strony poza zakresem obsługiwanym}}, czy a jeżeli jednak nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}, ustawiające pewne elementy błędu, jeżeli trzeba to zrobić.
Gdy tabela {{LinkPatrz|tab_numer}} odpowiada nienilowej tablicy, wtedy element {{LinkPatrz|lista_dwuelementowa}} jest wstawiany na odpowiedniej pozycji, ale przeważnie nie na końcu, przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=table.insert|b=tak}}}}, dzięki określonej tabeli {{LinkPatrz|tab_numer}}, przeciwnie na jej końcu.
Funkcja zwraca element {{LinkPatrz|lista_dwuelementowa}}.
=== {{Śródtytuł|p.RozpatrywanieSzablonuObiektuDoNumeracji}}{{Code|p.RozpatrywanieSzablonuObiektuDoNumeracji}} ===
Funkcja, która uruchamia funkcję: {{LinkŚródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}, dla istniejącego uchwytu w postaci nazwanej o kluczu: {{Code|uchwyt}} {{Patrz|uchwyt}}, lub nienazwanej - w postaci numeru jego uchwytu o kluczu: {{Code|numer_numeracji}} {{Patrz|numer_numeracji}}, wsadzająca tabele z uchwytem na odpowiednią pozycję w odpowiedniej nazwanej tabeli o nazwie obiektu {{LinkPatrz|nazwa_obiektu}} w ogólnej tabeli: {{LinkPatrz|tablica_zmiennych}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}}- tabela parametrów szablonu,
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|numer_numeracji}} - jak w: {{LinkPatrz|numer_numeracji}},
* {{Code|tab_numer}} - jak w: {{LinkPatrz|tab_numer}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
== {{Śródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}{{Code|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}} ==
Funkcja sprawdza, czy dany artykuł należy do artykułów, któregoś spisu treści, a jeżeli nie, to dla stron, które nie należą do kategorii z ustawionym problemem {{Code|strony poza zakresem obsługiwanym}}, ale do nieaktualnej strony jest ustawiony problem {{Code|brak spisów treści do dołączonych stron}}. Natomiast dla aktualnej dla stron tej samej kategorii ustawiany jest problem {{Code|brak spisu treści do korzystanych stron}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== {{Śródtytuł|p.PusteParametryReferencji}}{{Code|p.PusteParametryReferencji}} ==
Funkcja sprawdza, jeśli są podane parametry szablonu stronicowego, które są w kategorii: {{lk|Szablony stronicowe}}, czyli: {{Code|nazwa_artykulu}}, ewentualnie: {{Code|nazwa_ksiazki}}, ale zawsze z: {{Code|uchwyt_obiektu}}, czy są one puste.
A jeżeli one istnieją i są takie, to są ustawione problemy typu, jeśli ich wcześniej nie ustawiono:
* {{Code|puste parametry szablonów stronicowych linkujących}} {{Patrz|puste parametry szablonów stronicowych linkujących}}, kolejno dla: {{Code|uchwyt_obiektu}}, {{Code|nazwa_artykulu}} i {{Code|nazwa_ksiazki}}, kolejno z numerami problemów: {{Code|1}}, {{Code|2}} i {{Code|3}}.
Dla obiektu o nazwie {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}.
{{Hr}}
Definicja skrótowa funkcji
<syntaxhighlight lang="lua">
function p.PusteParametryReferencji(self, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu)...end;
</syntaxhighlight>
Paraametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} {{Patrz|uchwyt_obiektu}} - uchwyt obiektu, podane w danym szablonie stronicowym,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}}.
== {{Śródtytuł|p.SzablonyReferencjiParametrowych}}{{Code|p.SzablonyReferencjiParametrowych}} ==
Funkcja z parametrów pudełkowych nazwy artykułu {{ZobaczTeż|nazwa artykułu}}: {{Code|nazwa artykułu}} {{Patrz|nazwa artykułu}} albo {{Code|1}}, gdy bezuchwytowe lub {{Code|2}}, i pełnej nazwy książki {{ZobaczTeż|pełna nazwa strony}}: {{Code|nazwa książki}} {{Patrz|nazwa książki}} albo, {{Code|2}}, gdy bezuchwytowe lub {{Code|3}}. To wszystko jest liczone z: {{LinkPatrz|tabela_parametrow_szablonu}} lub przy użyciu parametru również {{Code|bezuchwytowe}} {{Patrz|bezuchwytowe}}, gdy mamy szablon stronicowy {{lk|Szablony stronicowe}}, bezuchwytowy, wtedy {{Code|true}}, przeciwnie {{Code|false/nil}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca,bezuchwytowe)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{Code|bezuchwytowe}} - jak w: {{LinkPatrz|bezuchwytowe}}.
Funkcja obie nazwy dekoduje funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a później jest liczony adres bezwzględny z względnego dzięki: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, przy pomocy podstawy {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}}, podobnie ale wcześniej jest liczona nazwa artykułu {{linkZobaczTeż|nazwa artykułu}}, czyli: {{LinkPatrz|nazwa_artykulu}}, ale tutaj adres względny jest liczony z podstawy o ciągu pustym jako drugi parametr.
Na podstawie pełnej nazwy książki {{LinkZobaczTeż|pełna nazwa strony}}: jest liczona bardziej jej wersja pełniejsza, jeżeli to jest w ogóle możliwe z: {{Code|{{sr|#p["PełnaNazwaStronicowejKsiążki"]|p=Książkowe}}}}. A póżniej z tego wszystkiego są liczone nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, przy pomocy funkcji nazw: {{Code|{{ld2|Nazwy}}}}.
Na samym końcu funkcji są zwracane parametry nazw, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== Funkcje zbierania informacji ==
=== {{Śródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}{{Code|p.ZbieranieInformacjiStronyWoluminowychPozycji}} ===
Funkcja zbierania informacji na stronie dla szablonów stronicowych: {{lk|Szablony stronicowe}}, bezuchwytowych, gdy nie jest uruchomiony parametr: {{Code|czy_inna_wartosc_tekst}} {{Patrz|czy_inna_wartosc_tekst}}, wtedy jest wywoływana funkcja: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}, która liczy kolejne nazwy charaktertyzujące nazwy dla danego artykułu książki dla danej strony, przeciwnie parametry nazw są ściagane z: {{Code|tab_nazwy}} {{Patrz|tab_nazwy}}, ta tabela składa się numerowanych elementów, którymi są nazwy charakyteryzujące stronę.
Gdy jakaś nazwa artylułu strony została policzona, wtedy są liczone pozostałe nazwy z: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, a na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, a tuż przed nim, jeśli istnieje: {{Code|KtorySzablonMaZwracacKategorie}} {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,KtorySzablonMaZwracacKategorie,czy_inna_wartosc_tekst,tab_nazwy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_inna_wartosc_tekst}} - jak w: {{LinkPatrz|czy_inna_wartosc_tekst}},
* {{Code|tab_nazwy}} - jak w: {{LinkPatrz|tab_nazwy}}.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacji}}{{Code|p.ZbieranieKontenerowychInformacji}} ===
Funkcja do zbierania informacji, która z parametrów pudełkowych: {{Code|{{m|Pudełko}}}}, czyli: {{Code|nazwa przestrzeni nazw}} {{Patrz|nazwa przestrzeni nazw}} i {{Code|nazwa jednostki}} {{Patrz|nazwa jednostki}}, z nich są liczone parametry nazw charakteryzujące artykuł książki strony. A na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} {{Patrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,czy_szablon_pudelkowy_strony_zbiorczej,KtorySzablonMaZwracacKategorie)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} {{Patrz|czy_szablon_pudelkowy_strony_zbiorczej}} - funkcja potrzebna do funkcji zbierającej {{LinkPatrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, określającej, czy mamy szablon pudełkowy strony zbiorczej, taki jak: {{Code|{{s|StronaSubst}}}}, czy: {{Code|{{s|KsiążkaSubst}}}}, zobacz stronę: {{Code|{{lr2|Moduły/StronicowyParser/StronaSubst}}}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Gdy nie ma parametrów pudełkowych funkcja się natychmiast zakańcza, lub parametr: {{LinkPatrz|nazwa jednostki}}, jest pusta, lub nawet gdy zawierają kody wykrywane przez funkcję: {{Code|{{sr|#p.NormaWzoruKodowaniaTekstu|p=Szablonowe}}}}.
Z nazwy jednostki jest wydzielana nazwa jednostki właściwa bez nazwy nagłówka, póżniej obie nazwy są też dekodowane funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, czyli wszystko z: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}.
Z tych dwóch nazwy jest liczony adres, ewentualnie względny, który za pomocą funkcji: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, jest wyliczany adres bezwzględny.
Dalej są liczone nazwy charakteryzujące artykuł danej książki strony, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, z tego adresu strony.
Przedostatnia funkcja, która jest uruchamiana przed funkcją zbierającą jest: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}, jeśli istnieje.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacjiReferencji}}{{Code|p.ZbieranieKontenerowychInformacjiReferencji}} ===
Funkcja zbiera informacje o stronie. Na podstawie informacji o nazwie artykułu i pełnej nazwy książki liczy parametry nazw charakteryzujące artykuł, co na tej podstawiwe liczy parametry pudełkowe i wywołuje funkcję główną przez inną funkcję, też zbierającą, i zbiera informacje o artykule.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacjiReferencji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, jako parametry zwracane przez funkcję: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}. Funkcja wyznacza parametry pudełkowe {{m|Pudełko}}, tzn.: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}, na podstawie tych nazw. Funkcja na samym końcu wywołuje funkcję zbierającą dane ze strony: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}, która z kolei uruchamia potem: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
== {{Śródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}{{Code|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}} ==
Funkcja sprawdza niepoprawność nazwy strony i na podstawie tego ustawia pewne kody problemów.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,__FUNKCJA_SPRAWDZANIE)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|__FUNKCJA_SPRAWDZANIE}} {{Patrz|__FUNKCJA_SPRAWDZANIE}} - funkcja uruchamiana, jeśli jest ustawiona, na wypadek poprawności strony.
W przypadku niepoprawności strony, gdy strona modułu jest aktualna (bieżąca), wtedy sprawdzany jest kod problemu, czy jest ustawiony, tzn.: {{Code|nieprawidłowe nazwy korzystanych stron}}, przy pomocy funkcji: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli nie ma takiego, to wtedy jest uruchamiana funkcja: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}. Podobnie jest dla niekorzystanej strony, wtedy jest problem dla kodu: {{Code|nieprawidłowe nazwy stron dołączanych do stron}}.
== Zbieranie informacji o linkach ==
=== {{Śródtytuł|p.LinkowanieFinalizowaniePrac}}{{Code|p.LinkowanieFinalizowaniePrac}} ===
Funkcja wadza uchwyt obiektu, wsazujący na aktualną stronę, do pewnej strony, i ewentualnie ustawia pewne problemy, jeśli je nie ustawiono.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} {{Patrz|obiekt}} - obiekt, obsługiwany przez tą funkcję linku,
* {{Code|kod}} {{LinkPatrz|kod}} - kod obiektu dla: {{LinkPatrz|obiekt}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} - jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}},
* {{Code|czy_pobierz}} {{Patrz|czy_pobierz}} - czy to jest szablon typu {{Code|Pobierz}} {{Patrz|Pobierz}}, jak: {{s|PobierzŚródtekst}}.
Funkcja sprawdza, czy nie został ustawiony element {{Code|tablica_zmiennych.sprawdzenie_dokonane_linku}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}, a jeżeli tak, to dalej, czy nie ma elementów numerowanych przy pomocy funkcji: {{Code|{{sr|#p["CzySąElementyNumerowaneTablicy"]|p=Parametry}}}}, a jeśli również tak, to dalej jest sprawdzane, czy został ustawiony problem: {{Code|strony poza zakresem obsługiwanym}}, przy pomocy: {{Code|{{sr|#p.CzyJestTakiElementTabeliProblemu|p=StronicowyParser/Problemy}}}}, a jeżeli nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}. Na samym końcu tej instrukcji warunkowej jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}.
Dalej pod tą instrukcją warunkową, jest robione, co powiedziane zostało w prologu tego opisu tej funkcji, tzn. z wyznaczonej tablicy ze: {{LinkPatrz|tablica_zmiennych}}, a dalej z wyznaczonej następnej podtabeli o kluczu: {{LinkPatrz|nazwa_obiektu}}.
Następnie, gdy element: {{LinkPatrz|czy_pobierz}}, jest ustawiony na {{Code|true}}, wtedy dla {{LinkPatrz|uchwyt_obiektu}}, pewna tablica, jest wstawiana do tablicy: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}}, jeśli istnieje, a jeśli nie, to jest tworzona, jako tablica, wtedy też jest to robione. Tą czynnością wstawiany tabelę, do tej tablicy, czyli:
<syntaxhighlight lang="lua">
{{nazwa_obiektu,uchwyt_obiektu,},{obiekt,kod,},}
</syntaxhighlight>
=== {{Śródtytuł|p.LinkowanieInnychStron}}{{Code|p.LinkowanieInnychStron}} ===
Funkcja do sprawdzania innych stron niż aktualna, a jeżeli dana strona została już sprawdzona, to powtórnie nie jest już rewidowana. Funkcja ustawia w głównej tablicy aktualnej tabeli {{LinkPatrz|tablica_zmiennych}} pewne podtablice.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieInnychStron(self,obiekt,kod,tablica_zmiennych, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejo jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Najpierw jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, która w razie poprawności nazwy strony, czyli inaczej nazw tej strony, tzn.: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, uruchamia funkcję zdefiniowaną w nim.
{{Tab}}Ta funkcja sprawdza, czy któraś z parametrów nazw istnieje, a jeżeli nie, to dalej jest inicjowana zmienna: {{Code|tablica_zmiennych2}} {{Patrz|tablica_zmiennych2}} pustą tablicą i podobnie {{Code|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}} {{Patrz|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}}, to uruchamiana jest: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, do zbierania informacji o stronie nowej lub przebadanej (wtedy zostają zwrócone parametry z wczęsniejszego jego analizowania, jak była nowa). Funkcja zwraca trzy parametry, tzn. {{Code|tabela_listy_danych_analizy_ksiazki0}} {{Patrz|tabela_listy_danych_analizy_ksiazki0}}, {{LinkPatrz|tablica_zmiennych2}} i {{Code|czy_inna}} {{Patrz|czy_inna}}. Te parametry mogą przyjmować wartość {{Code|nil}}, lub pierwszy {{Code|0}}, drugi, to nic innego jest jak: {{LinkPatrz|tablica_zmiennych2}}, a trzeci parametr jest wtedy równy {{Code|true}}, gdy strona jest nowa, a {{Code|false}} aktualna, a gdy {{Code|nil}}, gdy np. zawartość strony nie istnieje.
Gdy parametr: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, istnieje, wtedy jest spraqdzane, czy któreś z parametrów: {{LinkPatrz|tablica_zmiennych2}} i {{LinkPatrz|czy_inna}}, nie istsnieje, wtedy ta funkcja się zakańcza.
==== {{Śródtytuł|JuzPoliczone}}{{Code|JuzPoliczone}} ====
Dla obiektów, dla których jest ustawiony parametr: {{LinkPatrz|czy_pobierz}}, co dalej w tym rozgałęzieniu instrukcji warunkiwej jest uruchamiana funkcja szablonów tekstu, czyli: {{Code|{{sr|#p.UstawianiePobierz|p=StronicowyParser/SzablonyTekstu}}}}, aby również później za pomocą innych funkcji przeanalizować również tekst w szablonach takich jak: {{s|Śródtekst}}.
Dalej jest tworzona tablica, jeśli nie istnieje, tzn. {{Code|tablica_zmiennych2.dane_juz_policzone}} {{Patrz|tablica_zmiennych2.dane_juz_policzone}}, czyli jest inicjowana pustą tablicą. Dalej jest tworzona, jeśli nie istnieje, tablica wielowymiarowa po kolei, o kluczach kolejno: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}, {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu}}, a jeżeli ta ostatnia wartość tej tablicy była wcześniej, to zwracane jest {{Code|true}}, przeciwnie {{Code|false}}, a tej ostatniej wartości tej tablicy jest przydzielana wartość {{Code|true}}.
==== Dalszy opis funkcji ====
Gdy parametr: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest równy {{Code|0}}, ale nie {{Code|nil}}, wtedy jest sprawdzane, czy artykuł został wcześniej zrewidowany według: {{LinkŚródtytuł|JuzPoliczone}}, a jeżeli tak to jest zakańczany, a gdy ten parametr taakiej wartośsci nie przyjmuje, wtedy tylko jest uruchamiana funkcja bez żadnego warunku.
{{Tab}}Następnie jest uruchamiana funkcja: {{Code|{{sr|#p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony|p=StronicowyParser/SzablonyTekstu}}}}, do przydzielenia pewnych zmiennych z {{LinkPatrz|tablica_zmiennych2}} tablicy {{LinkPatrz|tablica_zmiennych}}.
{{Tab}}Jest sprawdzane, czy dany artykuł należy do spisu, jeżeli nie to są ustawiane pewne kody problemów w tablicy problemów, tzn. {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}.
Dalej jest sprawdzane, czy podany uchwyt {{LinkPatrz|uchwyt_obiektu}}, który jest podany w szablonach linków na aktualnej stronie, czy jest tylko jeden na stronie sprawdzanej, a jeżeli nie jest tak, to jest sprawdzane, czy nie istnieje ustawiony problem: {{Code|błędy uchwytów korzystanych stron}}, funkcją: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to taki problem jest dodawany dzięki: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
{{Tab}}Uruchamiana jest dalej funkcja: {{LinkŚródtytuł|p.PusteParametryReferencji}}, do sprawdzania pustości pewnych parametrów.
{{Tab}}Gdy tabela: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest jednak równa wartości odpowiadającej fałszywej, wtedy jeśli nie istnieje problem: {{Code|błąd wewnętrzny modułu lua stronicowego parsera}}, co jest rewidowane elementem: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to dodawany jest taki problem do tabeli problemów na podstawie: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
=== {{Śródtytuł|p.GeneralneLinkowanie}}{{Code|p.GeneralneLinkowanie}} ===
Funkcja zbiera uchwyty, na aktualnej lub innej stronie, a także je analizuje w odpowiedni sposób, modyfikuje tablica aktualnego modułu, czyli: {{LinkPatrz|tablica_zmiennych}}, na podstawie poszczególnych artykułów tej książki lub innej, która zbiera raz informacje o danej stronie.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Funkcja wyznacza uchwyt z tabeli parametrów: {{LinkPatrz|tabela_parametrow_szablonu}}, o kluczu {{Code|uchwyt}} {{LinkPatrz|uchwyt}} lub {{Code|1}}, a później w kodzie jest on kompletowany funkcją: {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a następnie rozwijany w niej, a później jest dekodowany: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}.
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, wywołujac: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}.
Na samym końcu jest uruchamiana: {{LinkPatrz|KtorySzablonMaZwracacKategorie}} z parametrem o tym uchwycie, wyliczonym wcześniej.
Gdy uchwyt istnieje, ale jest pusty, wtedy uruchamia się: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, następnie: {{LinkŚródtytuł|p.PusteParametryReferencji}}, a jeśli ta wartość nie istnieje, wtedy tylko ta ostatnia funkcja.
Gdy uchwyt: {{LinkPatrz|uchwyt}}, istnieje i jest niepusty, wtedy jest wyznaczana nazwa artykułu z niej samej, lub jeśli nazwa ksiązki istnieje, tylko, wtedy ta nazwa zaczyna być pusta, przeciwnie {{Code|nil}}, wtedy mamy do czynienia ze stroną główną podręcznika.
Gdy nazwa artykułu nie istnieje, wtedy wywoływana jest: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Jeśli nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest niepusta, i gdy nazwa książki nie istnieje, wtedy są liczone parametry nazw, oprócz nazwy artykułu, bo jest policzona, więc te {{ZobaczTeż|nazwy}}: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, z parametrów charakteryzujących nazwę aktualnego artykułu, a jeśli jednak nazwa książki jest pusta, to są sprawdzane parametry w: {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Gdy nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest nieistnieje, i gdy nazwa książki {{LinkPatrz|nazwa_ksiazki}} jest niepusta, wtedy nazwa artykułu zaczyna istnieć i inicjujemy wtedy ją wartością pustą, a jeśli pusta, za zaczyna być potem generowanie kodów błędów funkcją {{LinkŚródtytuł|p.PusteParametryReferencji}}, by potem się zakończyła ta funkcja.
Przeciwnie są liczone parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, tą samą metodą, co w punkcie: {{LinkZobaczTeż|nazwy}}.
Gdy nazwy {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}} są porównywane z nazwami, którymi się przypisje jak w: {{LinkZobaczTeż|nazwy}}, wtedy uruchamiamy funkcję: {{LinkŚródtytuł|p.LinkowanieInnychStron}}, przeciwnie wtedy działają dwie funkcje uruchomione po kolei, tzn.: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
== {{Śródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}{{Code|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} ==
Funkcja służy do zbierania informacji o danej analizowanej stronie, którego główną częścią jest strona korzystana, w której gromadzą się informacji też z pozostałych.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, czy_artykul_korzystany,tablica_zmiennych,czy_szablon_pudelkowy_strony_zbiorczej)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} - jak w: {{LinkPatrz|czy_szablon_pudelkowy_strony_zbiorczej}}.
=== {{Śródtytuł|__FUNKCJA_ARTYKULU}}{{Code|__FUNKCJA_ARTYKULU}} ===
Funkcja do tworzenia tabeli artykułów z innymi parametrami wielowymiarowej tej tabeli, a jeżeli owe pośrednie, i nie tylko, istnieją, to te tabele są zwracane lub nowo są tworzone.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji {{ZobaczTeż|parametry artykułu}}:
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}},
* {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu}} - nazwa artykułu w książce, bez pełnej nazwy książki.
Poniżej są tworzone podtabele puste, jeśli nie zostały utworzone.
Funkcja, która w tabeli: {{Code|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}} {{Patrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, która istnieje, tworzy tabele trójwymiarową kolejno po prarametrach: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, te tabele pośrednie śą wtedy tworzone, jeśsli nie istnieją, a gdy istnieją to nie są tworzone, tylko funkcja przechodzi do dalszych.
Dalej tworzona jest podtabela, jeśli nie istnieje o nazwie {{Code|lista_podstron_woluminu}} {{Patrz|lista_podstron_woluminu}}.
Następnie generowana jest podtabela, jeśli nie istnieje, o kluczu: {{LinkPatrz|nazwa_artykulu}}.
Funkcja zwraca kolejno elementy, jeśli klucz: {{LinkPatrz|nazwa_artykulu}}, istnieje, zatem:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany;
</syntaxhighlight>
Przeciwnie zwracany jest zbiór zmiennych po kolei:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki;
</syntaxhighlight>
Co to są za zmienne, wiadomo z ich nazw, po prostu są to pewne pośrednie, i nie tylko, tabele.
=== {{Śródtytuł|__FUNKCJA_POBIERANIE}}{{Code|__FUNKCJA_POBIERANIE}} ===
Funkcja zwraca parametry strony aktualnej, analizowanej jeszcze raz, aby ją nie powtórnie rewidować, lub podobnie dla innego artykułu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_POBIERANIE(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji są takie same jak w punkcie {{LinkZobaczTeż|parametry artykułu}}.
{{Tab}}Analiza dla artykułów niekorzystanych według parametru: {{LinkPatrz|czy_artykul_korzystany}}:
Dla jeszcze raz analizowanego artykułui aktualnego zwracane są parametry:
<syntaxhighlight lang="lua">
return 0,nil,nil,nil,nil,nil,self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron,false;
</syntaxhighlight>
Tabela: {{Code|self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron}}, tam są dane zebrane z aktualnego artykułu.
Dla innej takiej strony jest tworzony parametr, jeżeli jest włączona analiza, dla klucza: {{Code|analiza_spis_tresci}} {{Patrz|analiza_spis_tresci}}, według tego jest tworzony wartością prawdziwą parametr o innym znów kluczu: {{Code|analiza_spis_tresci_doloczone}} {{Patrz|analiza_spis_tresci_doloczone}}:
<syntaxhighlight lang="lua">
if(self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci)then
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=true;
end;
</syntaxhighlight>
Dla elementu: {{LinkPatrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, jeżeli dany artykuł był już rewidowany, to zwracane są elementy:
<syntaxhighlight lang="lua">
return 0,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni,dane_zebrane_ze_stron,true;
</syntaxhighlight>
To: {{Code|dane_zebrane_ze_stron}} {{Patrz|dane_zebrane_ze_stron}}, to podtabela: {{LinkPatrz|lista_podstron_woluminu}}, z kluczem: {{LinkPatrz|nazwa_artykulu}}, o nazwie takiej samej jak ten parametr zwracany.
Przeciwnie jest zwracane: {{Code|true}}, lub {{Code|nil}}, jeśli tabela: {{Code|self.tabela_listy_danych_analizy_ksiazki}} {{Patrz|self.tabela_listy_danych_analizy_ksiazki}}, lub podtatela: {{LinkPatrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, nie istnieje.
=== {{Śródtytuł|InneInformacjePrzebneDoAnalizowanejKsiazki}}{{Code|InneInformacjePrzebneDoAnalizowanejKsiazki}} ===
Funkcja do zbierania informacji o spisie artykułów książkowych i ich licencjach oraz ewentualnie zebrane informacje ze stron: {{lk2|Szablony nawigacyjne układu autonawigacji do autonawigacji podręczników}}, z szablonu, w któreś tej pozycji w: {{s|Układ autonawigacji}}, i ze spisów podanej w niej jako parametry.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function InneInformacjePrzebneDoAnalizowanejKsiazki()...end;
</syntaxhighlight>
Parametry funkcji:
* brak.
==== {{Śródtytuł|__FUNKCJA_SPISU}}{{Code|__FUNKCJA_SPISU}} ====
Funkcja do inicjowania parametrów spisu, aktualnego artykułu, uzyskanych z ich analizy.
Definicja skrotowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_SPISU(tablica_ksiazki,czy_podac_adres)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tablica_ksiazki}} {{Patrz|tablica_ksiazki}} - tablica dla analizowanej książki,
* {{Code|czy_podac_adres}} {{Patrz|czy_podac_adres}} - czy podać adres bazowego woluminu.
Tablicy: {{linkPatrz|tablica_ksiazki}}, jest inicjowany element: {{Code|spis}} {{Patrz|spis}}, tabelą: {{Code|tabela_artykulow}} {{Patrz|tabela_artykulow}}.
Gdy: {{LinkPatrz|czy_artykul_korzystany}}, jest wartością fałszywą, to iniciowaną tablicy: {{LinkPatrz|tablica_ksiazki}}, jest parametr o kluczu: {{Code|licencja}} {{Patrz|licencja}}, tabelą: {{Code|tabela_licencji_spisu_tresci}} {{Patrz|tabela_licencji_spisu_tresci}}.
Dalej kolejno elementy: {{Code|nazwa_bazowego_spisu}} {{Patrz|nazwa_bazowego_spisu}}, {{Code|tab_inne_spisy}} {{Patrz|tab_inne_spisy}} i {{Code|dodatkowe_strony_woluminu}}, tabeli: {{LinkPatrz|tablica_ksiazki}}, i inicjowane są tabelami o takich samych nazwach jak te klucze dwa, a ostatni tabelą: {{Code|dodatkowe_artykuly}} {{Patrz|dodatkowe_artykuly}}.
Dla tabeli: {{LinkPatrz|tablica_ksiazki}}, o kluczu w nim {{Code|adres_woluminu_bazowego_spisu_rzeczy}}, ona jest przyrównywana wartością: {{Code|adres_ksiazki_glownego_spisu_tresci}} {{Patrz|adres_ksiazki_glownego_spisu_tresci}}, jeśli istnieje: {{LinkPatrz|czy_podac_adres}}, lub przeciwnie wartością {{Code|nil}}.
==== Dalszy opis funkcji ====
Jeżeli dla aktualnego artykułu dla książki nie ustawiono kodu: {{Code|strony poza zakresem obsługiwanym}}, wtedy są analizowane elementy opisane w nagłówku opisywanej funkcji, pod warunkiem, jeżeli istnieją parametry nazw książki: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}.
Gdy artykuł jest analizowany, wtedy parametr: {{LinkPatrz|czy_artykul_korzystany}}, wtedy jest przy istnieniu: {{Code|self.tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|self.tabela_listy_danych_analizy_ksiazki}}, jest ustawiany w nim element: {{Code|CzyArtykułKsiążki}} {{Patrz|CzyArtykułKsiążki}}, z wartością na {{Code|tak}}.
Gdy już spis jeszcze nie analizowano, a jeżeli juz został zanalizowany, to sprawdzany jest: {{Code|czy_spis_analizowano}}, tablicy: {{LinkPatrz|tablica_ksiazki}}.
A jeśli jednak spisy książki nie zostały sprawdzone i sparsowane, wtedy uruchamia się następne rozgałęzienie pętli.
Uruchamia się dalej funkcja: {{Code|{{sr|#p.ZbieranieInformacjiSpisuRzeczyWoluminuEwentualnieWedleAutonawigacji|p=StronicowyParser/SpisTreści}}}}, w nim są uruchamiane w pewien sposób dwie funkcje.
===== {{Code|p.ZbieranieInformacjiSpisuRzeczyWoluminuEwentualnieWedleAutonawigacji}} =====
Ta funkcja służy do parsowania spisów i innych omówionych elementów książki danego artykułu.
====== Pierwsza anonimowa funkcja ======
Dla analizowanej pierwszej funkcji, ona jest uruchamiana, wtedy kiedy zostały zebrane wszystkie informrmacje ze spisów, wtedy dla elementu: {{Code|tablica_ksiazki_strona}} {{Patrz|tablica_ksiazki_strona}}, sprawdzane, czy jego element {{LinkPatrz|spis}} istnieje, jeśli istnieje, zatem elementy z: {{Code|_strona_temp}}, inicjujemy tymi z: {{Code|_strona}}, z elementów zmiennych tej funkcji, w takim razie inicjujemy inne jego podelementy, tzn.: {{Code|spis}} {{LinkPatrz|spis}}, {{Code|licencja}} {{LinkPatrz|licencja}}, {{Code|nazwa_bazowego_spisu}} {{LinkPatrz|nazwa_bazowego_spisu}}, {{Code|tab_inne_spisy}} {{LinkPatrz|tab_inne_spisy}}, {{Code|dodatkowe_strony_woluminu}} {{Patrz|dodatkowe_strony_woluminu}} i {{Code|adres_woluminu_bazowego_spisu_rzeczy}} {{Patrz|adres_woluminu_bazowego_spisu_rzeczy}}, elementu: {{LinkPatrz|tablica_ksiazki}}, tymi saamymi elementami, ale dla innej strony, tzn.: {{Code|tablica_ksiazki_strona}} {{LinkPatrz|tablica_ksiazki_strona}}.
Też jest inicjowany element tej pierwszej zmiennej książkowej o kluczu: {{Code|referencja_do_nowej_formy_spisu}}, według:
<syntaxhighlight lang="lua">
tablica_ksiazki.referencja_do_nowej_formy_spisu={tablica_przestrzeni_strona,tablica_przestrzeni_ksiazki_strona,tablica_ksiazki_strona,};
</syntaxhighlight>
Funkcja wtedy zwróci wartość: {{Code|1}}.
====== Druga anonimowa funkcji ======
=== {{Śródtytuł|PrzekierownieAwaryjne}}{{Code|PrzekierownieAwaryjne}} ===
=== {{Śródtytuł|StronaZbiorcza}}{{Code|StronaZbiorcza}} ===
=== {{Śródtytuł|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}}{{Code|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}} ===
=== {{Śródtytuł|GeneralnaAnalizaSzablonuStronicowegoParsera}}{{Code|GeneralnaAnalizaSzablonuStronicowegoParsera}} ===
=== {{Śródtytuł|IterowaniePoElementachTekstu}}{{Code|IterowaniePoElementachTekstu}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieNaglowek}}{{Code|KtorySzablonMaZwracacKategorieNaglowek}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieTekst}}{{Code|KtorySzablonMaZwracacKategorieTekst}} ===
=== {{Śródtytuł|CzyJestTakiProblemJakoElementTablicy}}{{Code|CzyJestTakiProblemJakoElementTablicy}} ===
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
iaorzfvi7kzvrqob9gcqxqxhk17djtg
547257
547256
2026-06-30T08:11:15Z
Persino
2851
/* Druga anonimowa funkcji */
547257
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/ZbieranieDanychStron}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== Zbieranie informacji o uchwycie ==
=== {{Śródtytuł|p.UchwytyZeiBezNumeracji}}{{Code|p.UchwytyZeiBezNumeracji}} ===
Funkcja zbiera uchwyty, dla obiektów {{ZobaczTeż|p.UchwytyZeiBezNumeracji}}, bez numeracji, nie licząc obiektów tekst takich jak {{s|Śródtekst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UchwytyZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,lista_dwuelementowa,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} {{Patrz|self}} - zmiennna obiektowa modułu {{Code|{{ld2|StronicowyParser/ZbieranieDanychStron}}}} {{Patrz|StronicowyParser/ZbieranieDanychStron}},
* {{Code|tabela_elementow_strony_kodow}} {{Patrz|tabela_elementow_strony_kodow}} - zmienna zbierająca takie kody jak {{LinkZobaczTeż|p.UchwytyZeiBezNumeracji}},
* {{Code|nazwa_obiektu}} {{Patrz|nazwa obiektu}} - nazwa obiektu,
* {{Code|lista_dwuelementowa}} {{Patrz|lista_dwuelementowa}} - pozycja w normalnej tabeli uchwytów i przeważnie ich numeracji, a tutaj dla tego obiektu,
* {{Code|kod}} {{Patrz|kod}} - numer kodu dla tego obiektu.
Funkcja zbiera elementy {{LinkPatrz|lista_dwuelementowa}} w tablicy wielowymiarowej o pierwszym elemencie wymiaru {{LinkPatrz|nazwa obiektu}} i trzecim {{LinkPatrz|kod}}, oraz o drugim {{Code|uchwyty_bez_numeracji}} {{Patrz|uchwyty_bez_numeracji}}.
=== {{Śródtytuł|p.WydobywanieUchwytuZeiBezNumeracji}}{{Code|p.WydobywanieUchwytuZeiBezNumeracji}} ===
Funkcja wydowywa tablicę uchwytu dla pozycji, ale nie sam uchwyt, dla podtablicy {{LinkPatrz|uchwyty_bez_numeracji}} o danym kodzie {{LinkPatrz|kod}}, dla nazwy obiektu {{LinkPatrz|nazwa_obiektu}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.WydobywanieUchwytuZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_elementow_strony_kodow}} - jak w: {{LinkPatrz|tabela_elementow_strony_kodow}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}}.
Funkcja wykorzystuje elementy tablicy: {{LinkPatrz|uchwyty_bez_numeracji}}, wstawione przez funkcję: {{LinkŚródtytuł|p.UchwytyZeiBezNumeracji}}.
=== {{Śródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}{{Code|p.RozpatrywanieElementuUchwytuNumeracji}} ===
Funkcja wsadzająca utworzoną tablicę z podanym uchwytem do ogólnej tablicy pozycji nazwanych tabel z uchwytami o danej pozycji z nim.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|kod_uchwytu}} {{Patrz|kod_uchwytu}} - kod uchwytu podanego do szablonu stronicowego z odpowiednim uchwytem,
* {{Code|tab_numer}} {{Patrz|tab_numer}} - tablica z numerkami ilości elementów w tablicy parametrów nazwanych z uchwytami, w danym elemencie analizowania strony z uchwytami i obiektami,
* {{Code|tablica_zmiennych}} {{Patrz|tablica_zmiennych}} - tablica analizowania obiektów, danej strony,
* {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} {{Patrz|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - kolejno: nazwa przestrzeni nazw, nazwa przestrzeni książki, nazwa książki i nazwa artykułu książki,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} {{Patrz|czy_artykul_korzystany}} - czy artykuł aktualny wyświetlany w przeglądarce,
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} {{Patrz|nazwa_modulu_aktualna_czy_biezaca}} - nazwa artykułu aktualna lub bieżąca,
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{Patrz|tablica_analizy_obiektow_strony_dany_modul}} - tablica bazy kodów parsowania strony,
* {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - tablica analizy poszczególnych elementów kodów, do szybszego działania skryptu,
* {{Code|KtorySzablonMaZwracacKategorie}} {{Patrz|KtorySzablonMaZwracacKategorie}} - tablica zbierająca odkodowany i rozwinięty uchwyt, do analizowania w nim zebranych kategorii, według modułu: {{Code|{{ld2|StronicowyParser/Kategorie}}}}, uruchamiana w szablonach stronicowych z funkcjami '''stronicowego parsera'''.
Funkcja rozwija {{LinkPatrz|kod_uchwytu}} funkcją {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a potem je odkodowuje przy pomocy: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a jeżeli ona nie jest pusta, to dla tego jest uruchamiana funkcja {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Tworzona jest tablica {{Code|lista_dwuelementowa}} {{LinkPatrz|lista_dwuelementowa}} z uchwytem, jako pierwszy parametr.
Jest sprawdzane, czy element {{Code|tablica_zmiennych.sprawdzenie_dokonane_obiektu}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, jest fałszywy, jeżeli tak, to dalej jest sprawdzane, czy są elementy numerowane nazwanej tablicy: {{Code|tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2}} o nazwie {{LinkPatrz|nazwa_obiektu}}, a jeżeli jest pusta - na samym końcu jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, czyli jest inicjowana na wartość {{Code|true}}, to dalej jest sprawdzane, czy dla elementów: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy dana książka jest poza zakresem obsługiwanym, czyli rewidowane jest, czy jest ustawiony kod problemu {{Code|strony poza zakresem obsługiwanym}}, czy a jeżeli jednak nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}, ustawiające pewne elementy błędu, jeżeli trzeba to zrobić.
Gdy tabela {{LinkPatrz|tab_numer}} odpowiada nienilowej tablicy, wtedy element {{LinkPatrz|lista_dwuelementowa}} jest wstawiany na odpowiedniej pozycji, ale przeważnie nie na końcu, przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=table.insert|b=tak}}}}, dzięki określonej tabeli {{LinkPatrz|tab_numer}}, przeciwnie na jej końcu.
Funkcja zwraca element {{LinkPatrz|lista_dwuelementowa}}.
=== {{Śródtytuł|p.RozpatrywanieSzablonuObiektuDoNumeracji}}{{Code|p.RozpatrywanieSzablonuObiektuDoNumeracji}} ===
Funkcja, która uruchamia funkcję: {{LinkŚródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}, dla istniejącego uchwytu w postaci nazwanej o kluczu: {{Code|uchwyt}} {{Patrz|uchwyt}}, lub nienazwanej - w postaci numeru jego uchwytu o kluczu: {{Code|numer_numeracji}} {{Patrz|numer_numeracji}}, wsadzająca tabele z uchwytem na odpowiednią pozycję w odpowiedniej nazwanej tabeli o nazwie obiektu {{LinkPatrz|nazwa_obiektu}} w ogólnej tabeli: {{LinkPatrz|tablica_zmiennych}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}}- tabela parametrów szablonu,
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|numer_numeracji}} - jak w: {{LinkPatrz|numer_numeracji}},
* {{Code|tab_numer}} - jak w: {{LinkPatrz|tab_numer}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
== {{Śródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}{{Code|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}} ==
Funkcja sprawdza, czy dany artykuł należy do artykułów, któregoś spisu treści, a jeżeli nie, to dla stron, które nie należą do kategorii z ustawionym problemem {{Code|strony poza zakresem obsługiwanym}}, ale do nieaktualnej strony jest ustawiony problem {{Code|brak spisów treści do dołączonych stron}}. Natomiast dla aktualnej dla stron tej samej kategorii ustawiany jest problem {{Code|brak spisu treści do korzystanych stron}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== {{Śródtytuł|p.PusteParametryReferencji}}{{Code|p.PusteParametryReferencji}} ==
Funkcja sprawdza, jeśli są podane parametry szablonu stronicowego, które są w kategorii: {{lk|Szablony stronicowe}}, czyli: {{Code|nazwa_artykulu}}, ewentualnie: {{Code|nazwa_ksiazki}}, ale zawsze z: {{Code|uchwyt_obiektu}}, czy są one puste.
A jeżeli one istnieją i są takie, to są ustawione problemy typu, jeśli ich wcześniej nie ustawiono:
* {{Code|puste parametry szablonów stronicowych linkujących}} {{Patrz|puste parametry szablonów stronicowych linkujących}}, kolejno dla: {{Code|uchwyt_obiektu}}, {{Code|nazwa_artykulu}} i {{Code|nazwa_ksiazki}}, kolejno z numerami problemów: {{Code|1}}, {{Code|2}} i {{Code|3}}.
Dla obiektu o nazwie {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}.
{{Hr}}
Definicja skrótowa funkcji
<syntaxhighlight lang="lua">
function p.PusteParametryReferencji(self, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu)...end;
</syntaxhighlight>
Paraametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} {{Patrz|uchwyt_obiektu}} - uchwyt obiektu, podane w danym szablonie stronicowym,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}}.
== {{Śródtytuł|p.SzablonyReferencjiParametrowych}}{{Code|p.SzablonyReferencjiParametrowych}} ==
Funkcja z parametrów pudełkowych nazwy artykułu {{ZobaczTeż|nazwa artykułu}}: {{Code|nazwa artykułu}} {{Patrz|nazwa artykułu}} albo {{Code|1}}, gdy bezuchwytowe lub {{Code|2}}, i pełnej nazwy książki {{ZobaczTeż|pełna nazwa strony}}: {{Code|nazwa książki}} {{Patrz|nazwa książki}} albo, {{Code|2}}, gdy bezuchwytowe lub {{Code|3}}. To wszystko jest liczone z: {{LinkPatrz|tabela_parametrow_szablonu}} lub przy użyciu parametru również {{Code|bezuchwytowe}} {{Patrz|bezuchwytowe}}, gdy mamy szablon stronicowy {{lk|Szablony stronicowe}}, bezuchwytowy, wtedy {{Code|true}}, przeciwnie {{Code|false/nil}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca,bezuchwytowe)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{Code|bezuchwytowe}} - jak w: {{LinkPatrz|bezuchwytowe}}.
Funkcja obie nazwy dekoduje funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a później jest liczony adres bezwzględny z względnego dzięki: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, przy pomocy podstawy {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}}, podobnie ale wcześniej jest liczona nazwa artykułu {{linkZobaczTeż|nazwa artykułu}}, czyli: {{LinkPatrz|nazwa_artykulu}}, ale tutaj adres względny jest liczony z podstawy o ciągu pustym jako drugi parametr.
Na podstawie pełnej nazwy książki {{LinkZobaczTeż|pełna nazwa strony}}: jest liczona bardziej jej wersja pełniejsza, jeżeli to jest w ogóle możliwe z: {{Code|{{sr|#p["PełnaNazwaStronicowejKsiążki"]|p=Książkowe}}}}. A póżniej z tego wszystkiego są liczone nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, przy pomocy funkcji nazw: {{Code|{{ld2|Nazwy}}}}.
Na samym końcu funkcji są zwracane parametry nazw, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== Funkcje zbierania informacji ==
=== {{Śródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}{{Code|p.ZbieranieInformacjiStronyWoluminowychPozycji}} ===
Funkcja zbierania informacji na stronie dla szablonów stronicowych: {{lk|Szablony stronicowe}}, bezuchwytowych, gdy nie jest uruchomiony parametr: {{Code|czy_inna_wartosc_tekst}} {{Patrz|czy_inna_wartosc_tekst}}, wtedy jest wywoływana funkcja: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}, która liczy kolejne nazwy charaktertyzujące nazwy dla danego artykułu książki dla danej strony, przeciwnie parametry nazw są ściagane z: {{Code|tab_nazwy}} {{Patrz|tab_nazwy}}, ta tabela składa się numerowanych elementów, którymi są nazwy charakyteryzujące stronę.
Gdy jakaś nazwa artylułu strony została policzona, wtedy są liczone pozostałe nazwy z: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, a na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, a tuż przed nim, jeśli istnieje: {{Code|KtorySzablonMaZwracacKategorie}} {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,KtorySzablonMaZwracacKategorie,czy_inna_wartosc_tekst,tab_nazwy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_inna_wartosc_tekst}} - jak w: {{LinkPatrz|czy_inna_wartosc_tekst}},
* {{Code|tab_nazwy}} - jak w: {{LinkPatrz|tab_nazwy}}.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacji}}{{Code|p.ZbieranieKontenerowychInformacji}} ===
Funkcja do zbierania informacji, która z parametrów pudełkowych: {{Code|{{m|Pudełko}}}}, czyli: {{Code|nazwa przestrzeni nazw}} {{Patrz|nazwa przestrzeni nazw}} i {{Code|nazwa jednostki}} {{Patrz|nazwa jednostki}}, z nich są liczone parametry nazw charakteryzujące artykuł książki strony. A na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} {{Patrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,czy_szablon_pudelkowy_strony_zbiorczej,KtorySzablonMaZwracacKategorie)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} {{Patrz|czy_szablon_pudelkowy_strony_zbiorczej}} - funkcja potrzebna do funkcji zbierającej {{LinkPatrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, określającej, czy mamy szablon pudełkowy strony zbiorczej, taki jak: {{Code|{{s|StronaSubst}}}}, czy: {{Code|{{s|KsiążkaSubst}}}}, zobacz stronę: {{Code|{{lr2|Moduły/StronicowyParser/StronaSubst}}}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Gdy nie ma parametrów pudełkowych funkcja się natychmiast zakańcza, lub parametr: {{LinkPatrz|nazwa jednostki}}, jest pusta, lub nawet gdy zawierają kody wykrywane przez funkcję: {{Code|{{sr|#p.NormaWzoruKodowaniaTekstu|p=Szablonowe}}}}.
Z nazwy jednostki jest wydzielana nazwa jednostki właściwa bez nazwy nagłówka, póżniej obie nazwy są też dekodowane funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, czyli wszystko z: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}.
Z tych dwóch nazwy jest liczony adres, ewentualnie względny, który za pomocą funkcji: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, jest wyliczany adres bezwzględny.
Dalej są liczone nazwy charakteryzujące artykuł danej książki strony, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, z tego adresu strony.
Przedostatnia funkcja, która jest uruchamiana przed funkcją zbierającą jest: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}, jeśli istnieje.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacjiReferencji}}{{Code|p.ZbieranieKontenerowychInformacjiReferencji}} ===
Funkcja zbiera informacje o stronie. Na podstawie informacji o nazwie artykułu i pełnej nazwy książki liczy parametry nazw charakteryzujące artykuł, co na tej podstawiwe liczy parametry pudełkowe i wywołuje funkcję główną przez inną funkcję, też zbierającą, i zbiera informacje o artykule.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacjiReferencji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, jako parametry zwracane przez funkcję: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}. Funkcja wyznacza parametry pudełkowe {{m|Pudełko}}, tzn.: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}, na podstawie tych nazw. Funkcja na samym końcu wywołuje funkcję zbierającą dane ze strony: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}, która z kolei uruchamia potem: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
== {{Śródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}{{Code|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}} ==
Funkcja sprawdza niepoprawność nazwy strony i na podstawie tego ustawia pewne kody problemów.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,__FUNKCJA_SPRAWDZANIE)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|__FUNKCJA_SPRAWDZANIE}} {{Patrz|__FUNKCJA_SPRAWDZANIE}} - funkcja uruchamiana, jeśli jest ustawiona, na wypadek poprawności strony.
W przypadku niepoprawności strony, gdy strona modułu jest aktualna (bieżąca), wtedy sprawdzany jest kod problemu, czy jest ustawiony, tzn.: {{Code|nieprawidłowe nazwy korzystanych stron}}, przy pomocy funkcji: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli nie ma takiego, to wtedy jest uruchamiana funkcja: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}. Podobnie jest dla niekorzystanej strony, wtedy jest problem dla kodu: {{Code|nieprawidłowe nazwy stron dołączanych do stron}}.
== Zbieranie informacji o linkach ==
=== {{Śródtytuł|p.LinkowanieFinalizowaniePrac}}{{Code|p.LinkowanieFinalizowaniePrac}} ===
Funkcja wadza uchwyt obiektu, wsazujący na aktualną stronę, do pewnej strony, i ewentualnie ustawia pewne problemy, jeśli je nie ustawiono.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} {{Patrz|obiekt}} - obiekt, obsługiwany przez tą funkcję linku,
* {{Code|kod}} {{LinkPatrz|kod}} - kod obiektu dla: {{LinkPatrz|obiekt}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} - jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}},
* {{Code|czy_pobierz}} {{Patrz|czy_pobierz}} - czy to jest szablon typu {{Code|Pobierz}} {{Patrz|Pobierz}}, jak: {{s|PobierzŚródtekst}}.
Funkcja sprawdza, czy nie został ustawiony element {{Code|tablica_zmiennych.sprawdzenie_dokonane_linku}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}, a jeżeli tak, to dalej, czy nie ma elementów numerowanych przy pomocy funkcji: {{Code|{{sr|#p["CzySąElementyNumerowaneTablicy"]|p=Parametry}}}}, a jeśli również tak, to dalej jest sprawdzane, czy został ustawiony problem: {{Code|strony poza zakresem obsługiwanym}}, przy pomocy: {{Code|{{sr|#p.CzyJestTakiElementTabeliProblemu|p=StronicowyParser/Problemy}}}}, a jeżeli nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}. Na samym końcu tej instrukcji warunkowej jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}.
Dalej pod tą instrukcją warunkową, jest robione, co powiedziane zostało w prologu tego opisu tej funkcji, tzn. z wyznaczonej tablicy ze: {{LinkPatrz|tablica_zmiennych}}, a dalej z wyznaczonej następnej podtabeli o kluczu: {{LinkPatrz|nazwa_obiektu}}.
Następnie, gdy element: {{LinkPatrz|czy_pobierz}}, jest ustawiony na {{Code|true}}, wtedy dla {{LinkPatrz|uchwyt_obiektu}}, pewna tablica, jest wstawiana do tablicy: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}}, jeśli istnieje, a jeśli nie, to jest tworzona, jako tablica, wtedy też jest to robione. Tą czynnością wstawiany tabelę, do tej tablicy, czyli:
<syntaxhighlight lang="lua">
{{nazwa_obiektu,uchwyt_obiektu,},{obiekt,kod,},}
</syntaxhighlight>
=== {{Śródtytuł|p.LinkowanieInnychStron}}{{Code|p.LinkowanieInnychStron}} ===
Funkcja do sprawdzania innych stron niż aktualna, a jeżeli dana strona została już sprawdzona, to powtórnie nie jest już rewidowana. Funkcja ustawia w głównej tablicy aktualnej tabeli {{LinkPatrz|tablica_zmiennych}} pewne podtablice.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieInnychStron(self,obiekt,kod,tablica_zmiennych, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejo jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Najpierw jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, która w razie poprawności nazwy strony, czyli inaczej nazw tej strony, tzn.: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, uruchamia funkcję zdefiniowaną w nim.
{{Tab}}Ta funkcja sprawdza, czy któraś z parametrów nazw istnieje, a jeżeli nie, to dalej jest inicjowana zmienna: {{Code|tablica_zmiennych2}} {{Patrz|tablica_zmiennych2}} pustą tablicą i podobnie {{Code|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}} {{Patrz|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}}, to uruchamiana jest: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, do zbierania informacji o stronie nowej lub przebadanej (wtedy zostają zwrócone parametry z wczęsniejszego jego analizowania, jak była nowa). Funkcja zwraca trzy parametry, tzn. {{Code|tabela_listy_danych_analizy_ksiazki0}} {{Patrz|tabela_listy_danych_analizy_ksiazki0}}, {{LinkPatrz|tablica_zmiennych2}} i {{Code|czy_inna}} {{Patrz|czy_inna}}. Te parametry mogą przyjmować wartość {{Code|nil}}, lub pierwszy {{Code|0}}, drugi, to nic innego jest jak: {{LinkPatrz|tablica_zmiennych2}}, a trzeci parametr jest wtedy równy {{Code|true}}, gdy strona jest nowa, a {{Code|false}} aktualna, a gdy {{Code|nil}}, gdy np. zawartość strony nie istnieje.
Gdy parametr: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, istnieje, wtedy jest spraqdzane, czy któreś z parametrów: {{LinkPatrz|tablica_zmiennych2}} i {{LinkPatrz|czy_inna}}, nie istsnieje, wtedy ta funkcja się zakańcza.
==== {{Śródtytuł|JuzPoliczone}}{{Code|JuzPoliczone}} ====
Dla obiektów, dla których jest ustawiony parametr: {{LinkPatrz|czy_pobierz}}, co dalej w tym rozgałęzieniu instrukcji warunkiwej jest uruchamiana funkcja szablonów tekstu, czyli: {{Code|{{sr|#p.UstawianiePobierz|p=StronicowyParser/SzablonyTekstu}}}}, aby również później za pomocą innych funkcji przeanalizować również tekst w szablonach takich jak: {{s|Śródtekst}}.
Dalej jest tworzona tablica, jeśli nie istnieje, tzn. {{Code|tablica_zmiennych2.dane_juz_policzone}} {{Patrz|tablica_zmiennych2.dane_juz_policzone}}, czyli jest inicjowana pustą tablicą. Dalej jest tworzona, jeśli nie istnieje, tablica wielowymiarowa po kolei, o kluczach kolejno: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}, {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu}}, a jeżeli ta ostatnia wartość tej tablicy była wcześniej, to zwracane jest {{Code|true}}, przeciwnie {{Code|false}}, a tej ostatniej wartości tej tablicy jest przydzielana wartość {{Code|true}}.
==== Dalszy opis funkcji ====
Gdy parametr: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest równy {{Code|0}}, ale nie {{Code|nil}}, wtedy jest sprawdzane, czy artykuł został wcześniej zrewidowany według: {{LinkŚródtytuł|JuzPoliczone}}, a jeżeli tak to jest zakańczany, a gdy ten parametr taakiej wartośsci nie przyjmuje, wtedy tylko jest uruchamiana funkcja bez żadnego warunku.
{{Tab}}Następnie jest uruchamiana funkcja: {{Code|{{sr|#p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony|p=StronicowyParser/SzablonyTekstu}}}}, do przydzielenia pewnych zmiennych z {{LinkPatrz|tablica_zmiennych2}} tablicy {{LinkPatrz|tablica_zmiennych}}.
{{Tab}}Jest sprawdzane, czy dany artykuł należy do spisu, jeżeli nie to są ustawiane pewne kody problemów w tablicy problemów, tzn. {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}.
Dalej jest sprawdzane, czy podany uchwyt {{LinkPatrz|uchwyt_obiektu}}, który jest podany w szablonach linków na aktualnej stronie, czy jest tylko jeden na stronie sprawdzanej, a jeżeli nie jest tak, to jest sprawdzane, czy nie istnieje ustawiony problem: {{Code|błędy uchwytów korzystanych stron}}, funkcją: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to taki problem jest dodawany dzięki: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
{{Tab}}Uruchamiana jest dalej funkcja: {{LinkŚródtytuł|p.PusteParametryReferencji}}, do sprawdzania pustości pewnych parametrów.
{{Tab}}Gdy tabela: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest jednak równa wartości odpowiadającej fałszywej, wtedy jeśli nie istnieje problem: {{Code|błąd wewnętrzny modułu lua stronicowego parsera}}, co jest rewidowane elementem: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to dodawany jest taki problem do tabeli problemów na podstawie: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
=== {{Śródtytuł|p.GeneralneLinkowanie}}{{Code|p.GeneralneLinkowanie}} ===
Funkcja zbiera uchwyty, na aktualnej lub innej stronie, a także je analizuje w odpowiedni sposób, modyfikuje tablica aktualnego modułu, czyli: {{LinkPatrz|tablica_zmiennych}}, na podstawie poszczególnych artykułów tej książki lub innej, która zbiera raz informacje o danej stronie.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Funkcja wyznacza uchwyt z tabeli parametrów: {{LinkPatrz|tabela_parametrow_szablonu}}, o kluczu {{Code|uchwyt}} {{LinkPatrz|uchwyt}} lub {{Code|1}}, a później w kodzie jest on kompletowany funkcją: {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a następnie rozwijany w niej, a później jest dekodowany: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}.
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, wywołujac: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}.
Na samym końcu jest uruchamiana: {{LinkPatrz|KtorySzablonMaZwracacKategorie}} z parametrem o tym uchwycie, wyliczonym wcześniej.
Gdy uchwyt istnieje, ale jest pusty, wtedy uruchamia się: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, następnie: {{LinkŚródtytuł|p.PusteParametryReferencji}}, a jeśli ta wartość nie istnieje, wtedy tylko ta ostatnia funkcja.
Gdy uchwyt: {{LinkPatrz|uchwyt}}, istnieje i jest niepusty, wtedy jest wyznaczana nazwa artykułu z niej samej, lub jeśli nazwa ksiązki istnieje, tylko, wtedy ta nazwa zaczyna być pusta, przeciwnie {{Code|nil}}, wtedy mamy do czynienia ze stroną główną podręcznika.
Gdy nazwa artykułu nie istnieje, wtedy wywoływana jest: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Jeśli nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest niepusta, i gdy nazwa książki nie istnieje, wtedy są liczone parametry nazw, oprócz nazwy artykułu, bo jest policzona, więc te {{ZobaczTeż|nazwy}}: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, z parametrów charakteryzujących nazwę aktualnego artykułu, a jeśli jednak nazwa książki jest pusta, to są sprawdzane parametry w: {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Gdy nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest nieistnieje, i gdy nazwa książki {{LinkPatrz|nazwa_ksiazki}} jest niepusta, wtedy nazwa artykułu zaczyna istnieć i inicjujemy wtedy ją wartością pustą, a jeśli pusta, za zaczyna być potem generowanie kodów błędów funkcją {{LinkŚródtytuł|p.PusteParametryReferencji}}, by potem się zakończyła ta funkcja.
Przeciwnie są liczone parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, tą samą metodą, co w punkcie: {{LinkZobaczTeż|nazwy}}.
Gdy nazwy {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}} są porównywane z nazwami, którymi się przypisje jak w: {{LinkZobaczTeż|nazwy}}, wtedy uruchamiamy funkcję: {{LinkŚródtytuł|p.LinkowanieInnychStron}}, przeciwnie wtedy działają dwie funkcje uruchomione po kolei, tzn.: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
== {{Śródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}{{Code|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} ==
Funkcja służy do zbierania informacji o danej analizowanej stronie, którego główną częścią jest strona korzystana, w której gromadzą się informacji też z pozostałych.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, czy_artykul_korzystany,tablica_zmiennych,czy_szablon_pudelkowy_strony_zbiorczej)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} - jak w: {{LinkPatrz|czy_szablon_pudelkowy_strony_zbiorczej}}.
=== {{Śródtytuł|__FUNKCJA_ARTYKULU}}{{Code|__FUNKCJA_ARTYKULU}} ===
Funkcja do tworzenia tabeli artykułów z innymi parametrami wielowymiarowej tej tabeli, a jeżeli owe pośrednie, i nie tylko, istnieją, to te tabele są zwracane lub nowo są tworzone.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji {{ZobaczTeż|parametry artykułu}}:
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}},
* {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu}} - nazwa artykułu w książce, bez pełnej nazwy książki.
Poniżej są tworzone podtabele puste, jeśli nie zostały utworzone.
Funkcja, która w tabeli: {{Code|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}} {{Patrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, która istnieje, tworzy tabele trójwymiarową kolejno po prarametrach: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, te tabele pośrednie śą wtedy tworzone, jeśsli nie istnieją, a gdy istnieją to nie są tworzone, tylko funkcja przechodzi do dalszych.
Dalej tworzona jest podtabela, jeśli nie istnieje o nazwie {{Code|lista_podstron_woluminu}} {{Patrz|lista_podstron_woluminu}}.
Następnie generowana jest podtabela, jeśli nie istnieje, o kluczu: {{LinkPatrz|nazwa_artykulu}}.
Funkcja zwraca kolejno elementy, jeśli klucz: {{LinkPatrz|nazwa_artykulu}}, istnieje, zatem:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany;
</syntaxhighlight>
Przeciwnie zwracany jest zbiór zmiennych po kolei:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki;
</syntaxhighlight>
Co to są za zmienne, wiadomo z ich nazw, po prostu są to pewne pośrednie, i nie tylko, tabele.
=== {{Śródtytuł|__FUNKCJA_POBIERANIE}}{{Code|__FUNKCJA_POBIERANIE}} ===
Funkcja zwraca parametry strony aktualnej, analizowanej jeszcze raz, aby ją nie powtórnie rewidować, lub podobnie dla innego artykułu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_POBIERANIE(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji są takie same jak w punkcie {{LinkZobaczTeż|parametry artykułu}}.
{{Tab}}Analiza dla artykułów niekorzystanych według parametru: {{LinkPatrz|czy_artykul_korzystany}}:
Dla jeszcze raz analizowanego artykułui aktualnego zwracane są parametry:
<syntaxhighlight lang="lua">
return 0,nil,nil,nil,nil,nil,self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron,false;
</syntaxhighlight>
Tabela: {{Code|self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron}}, tam są dane zebrane z aktualnego artykułu.
Dla innej takiej strony jest tworzony parametr, jeżeli jest włączona analiza, dla klucza: {{Code|analiza_spis_tresci}} {{Patrz|analiza_spis_tresci}}, według tego jest tworzony wartością prawdziwą parametr o innym znów kluczu: {{Code|analiza_spis_tresci_doloczone}} {{Patrz|analiza_spis_tresci_doloczone}}:
<syntaxhighlight lang="lua">
if(self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci)then
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=true;
end;
</syntaxhighlight>
Dla elementu: {{LinkPatrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, jeżeli dany artykuł był już rewidowany, to zwracane są elementy:
<syntaxhighlight lang="lua">
return 0,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni,dane_zebrane_ze_stron,true;
</syntaxhighlight>
To: {{Code|dane_zebrane_ze_stron}} {{Patrz|dane_zebrane_ze_stron}}, to podtabela: {{LinkPatrz|lista_podstron_woluminu}}, z kluczem: {{LinkPatrz|nazwa_artykulu}}, o nazwie takiej samej jak ten parametr zwracany.
Przeciwnie jest zwracane: {{Code|true}}, lub {{Code|nil}}, jeśli tabela: {{Code|self.tabela_listy_danych_analizy_ksiazki}} {{Patrz|self.tabela_listy_danych_analizy_ksiazki}}, lub podtatela: {{LinkPatrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, nie istnieje.
=== {{Śródtytuł|InneInformacjePrzebneDoAnalizowanejKsiazki}}{{Code|InneInformacjePrzebneDoAnalizowanejKsiazki}} ===
Funkcja do zbierania informacji o spisie artykułów książkowych i ich licencjach oraz ewentualnie zebrane informacje ze stron: {{lk2|Szablony nawigacyjne układu autonawigacji do autonawigacji podręczników}}, z szablonu, w któreś tej pozycji w: {{s|Układ autonawigacji}}, i ze spisów podanej w niej jako parametry.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function InneInformacjePrzebneDoAnalizowanejKsiazki()...end;
</syntaxhighlight>
Parametry funkcji:
* brak.
==== {{Śródtytuł|__FUNKCJA_SPISU}}{{Code|__FUNKCJA_SPISU}} ====
Funkcja do inicjowania parametrów spisu, aktualnego artykułu, uzyskanych z ich analizy.
Definicja skrotowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_SPISU(tablica_ksiazki,czy_podac_adres)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tablica_ksiazki}} {{Patrz|tablica_ksiazki}} - tablica dla analizowanej książki,
* {{Code|czy_podac_adres}} {{Patrz|czy_podac_adres}} - czy podać adres bazowego woluminu.
Tablicy: {{linkPatrz|tablica_ksiazki}}, jest inicjowany element: {{Code|spis}} {{Patrz|spis}}, tabelą: {{Code|tabela_artykulow}} {{Patrz|tabela_artykulow}}.
Gdy: {{LinkPatrz|czy_artykul_korzystany}}, jest wartością fałszywą, to iniciowaną tablicy: {{LinkPatrz|tablica_ksiazki}}, jest parametr o kluczu: {{Code|licencja}} {{Patrz|licencja}}, tabelą: {{Code|tabela_licencji_spisu_tresci}} {{Patrz|tabela_licencji_spisu_tresci}}.
Dalej kolejno elementy: {{Code|nazwa_bazowego_spisu}} {{Patrz|nazwa_bazowego_spisu}}, {{Code|tab_inne_spisy}} {{Patrz|tab_inne_spisy}} i {{Code|dodatkowe_strony_woluminu}}, tabeli: {{LinkPatrz|tablica_ksiazki}}, i inicjowane są tabelami o takich samych nazwach jak te klucze dwa, a ostatni tabelą: {{Code|dodatkowe_artykuly}} {{Patrz|dodatkowe_artykuly}}.
Dla tabeli: {{LinkPatrz|tablica_ksiazki}}, o kluczu w nim {{Code|adres_woluminu_bazowego_spisu_rzeczy}}, ona jest przyrównywana wartością: {{Code|adres_ksiazki_glownego_spisu_tresci}} {{Patrz|adres_ksiazki_glownego_spisu_tresci}}, jeśli istnieje: {{LinkPatrz|czy_podac_adres}}, lub przeciwnie wartością {{Code|nil}}.
==== Dalszy opis funkcji ====
Jeżeli dla aktualnego artykułu dla książki nie ustawiono kodu: {{Code|strony poza zakresem obsługiwanym}}, wtedy są analizowane elementy opisane w nagłówku opisywanej funkcji, pod warunkiem, jeżeli istnieją parametry nazw książki: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}.
Gdy artykuł jest analizowany, wtedy parametr: {{LinkPatrz|czy_artykul_korzystany}}, wtedy jest przy istnieniu: {{Code|self.tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|self.tabela_listy_danych_analizy_ksiazki}}, jest ustawiany w nim element: {{Code|CzyArtykułKsiążki}} {{Patrz|CzyArtykułKsiążki}}, z wartością na {{Code|tak}}.
Gdy już spis jeszcze nie analizowano, a jeżeli juz został zanalizowany, to sprawdzany jest: {{Code|czy_spis_analizowano}}, tablicy: {{LinkPatrz|tablica_ksiazki}}.
A jeśli jednak spisy książki nie zostały sprawdzone i sparsowane, wtedy uruchamia się następne rozgałęzienie pętli.
Uruchamia się dalej funkcja: {{Code|{{sr|#p.ZbieranieInformacjiSpisuRzeczyWoluminuEwentualnieWedleAutonawigacji|p=StronicowyParser/SpisTreści}}}}, w nim są uruchamiane w pewien sposób dwie funkcje.
===== {{Code|p.ZbieranieInformacjiSpisuRzeczyWoluminuEwentualnieWedleAutonawigacji}} =====
Ta funkcja służy do parsowania spisów i innych omówionych elementów książki danego artykułu.
====== Pierwsza anonimowa funkcja ======
Dla analizowanej pierwszej funkcji, ona jest uruchamiana, wtedy kiedy zostały zebrane wszystkie informrmacje ze spisów, wtedy dla elementu: {{Code|tablica_ksiazki_strona}} {{Patrz|tablica_ksiazki_strona}}, sprawdzane, czy jego element {{LinkPatrz|spis}} istnieje, jeśli istnieje, zatem elementy z: {{Code|_strona_temp}}, inicjujemy tymi z: {{Code|_strona}}, z elementów zmiennych tej funkcji, w takim razie inicjujemy inne jego podelementy, tzn.: {{Code|spis}} {{LinkPatrz|spis}}, {{Code|licencja}} {{LinkPatrz|licencja}}, {{Code|nazwa_bazowego_spisu}} {{LinkPatrz|nazwa_bazowego_spisu}}, {{Code|tab_inne_spisy}} {{LinkPatrz|tab_inne_spisy}}, {{Code|dodatkowe_strony_woluminu}} {{Patrz|dodatkowe_strony_woluminu}} i {{Code|adres_woluminu_bazowego_spisu_rzeczy}} {{Patrz|adres_woluminu_bazowego_spisu_rzeczy}}, elementu: {{LinkPatrz|tablica_ksiazki}}, tymi saamymi elementami, ale dla innej strony, tzn.: {{Code|tablica_ksiazki_strona}} {{LinkPatrz|tablica_ksiazki_strona}}.
Też jest inicjowany element tej pierwszej zmiennej książkowej o kluczu: {{Code|referencja_do_nowej_formy_spisu}}, według:
<syntaxhighlight lang="lua">
tablica_ksiazki.referencja_do_nowej_formy_spisu={tablica_przestrzeni_strona,tablica_przestrzeni_ksiazki_strona,tablica_ksiazki_strona,};
</syntaxhighlight>
Funkcja wtedy zwróci wartość: {{Code|1}}.
====== Druga anonimowa funkcji ======
Ta funkcja działa, gdy parametry strony, tzn.: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, są równe podobnym parametrom z: {{Code|_ref_spis}}, tzn. czy spis jest analizowanym korzystanym artykułem.
Ta funkcja kopiuje dokładnie elementy z: {{Code|_ref_spis}}, temu z: {{Code|_ref}}, te elementy, to nic innego jak: {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}}, {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{Patrz|tablica_analizy_obiektow_strony_dany_modul}} i {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}}.
=== {{Śródtytuł|PrzekierownieAwaryjne}}{{Code|PrzekierownieAwaryjne}} ===
=== {{Śródtytuł|StronaZbiorcza}}{{Code|StronaZbiorcza}} ===
=== {{Śródtytuł|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}}{{Code|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}} ===
=== {{Śródtytuł|GeneralnaAnalizaSzablonuStronicowegoParsera}}{{Code|GeneralnaAnalizaSzablonuStronicowegoParsera}} ===
=== {{Śródtytuł|IterowaniePoElementachTekstu}}{{Code|IterowaniePoElementachTekstu}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieNaglowek}}{{Code|KtorySzablonMaZwracacKategorieNaglowek}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieTekst}}{{Code|KtorySzablonMaZwracacKategorieTekst}} ===
=== {{Śródtytuł|CzyJestTakiProblemJakoElementTablicy}}{{Code|CzyJestTakiProblemJakoElementTablicy}} ===
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
4u1mxz5ktq2sln6b0o4pbvwvwv537fo
547258
547257
2026-06-30T08:14:26Z
Persino
2851
/* Druga anonimowa funkcji */
547258
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/ZbieranieDanychStron}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== Zbieranie informacji o uchwycie ==
=== {{Śródtytuł|p.UchwytyZeiBezNumeracji}}{{Code|p.UchwytyZeiBezNumeracji}} ===
Funkcja zbiera uchwyty, dla obiektów {{ZobaczTeż|p.UchwytyZeiBezNumeracji}}, bez numeracji, nie licząc obiektów tekst takich jak {{s|Śródtekst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UchwytyZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,lista_dwuelementowa,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} {{Patrz|self}} - zmiennna obiektowa modułu {{Code|{{ld2|StronicowyParser/ZbieranieDanychStron}}}} {{Patrz|StronicowyParser/ZbieranieDanychStron}},
* {{Code|tabela_elementow_strony_kodow}} {{Patrz|tabela_elementow_strony_kodow}} - zmienna zbierająca takie kody jak {{LinkZobaczTeż|p.UchwytyZeiBezNumeracji}},
* {{Code|nazwa_obiektu}} {{Patrz|nazwa obiektu}} - nazwa obiektu,
* {{Code|lista_dwuelementowa}} {{Patrz|lista_dwuelementowa}} - pozycja w normalnej tabeli uchwytów i przeważnie ich numeracji, a tutaj dla tego obiektu,
* {{Code|kod}} {{Patrz|kod}} - numer kodu dla tego obiektu.
Funkcja zbiera elementy {{LinkPatrz|lista_dwuelementowa}} w tablicy wielowymiarowej o pierwszym elemencie wymiaru {{LinkPatrz|nazwa obiektu}} i trzecim {{LinkPatrz|kod}}, oraz o drugim {{Code|uchwyty_bez_numeracji}} {{Patrz|uchwyty_bez_numeracji}}.
=== {{Śródtytuł|p.WydobywanieUchwytuZeiBezNumeracji}}{{Code|p.WydobywanieUchwytuZeiBezNumeracji}} ===
Funkcja wydowywa tablicę uchwytu dla pozycji, ale nie sam uchwyt, dla podtablicy {{LinkPatrz|uchwyty_bez_numeracji}} o danym kodzie {{LinkPatrz|kod}}, dla nazwy obiektu {{LinkPatrz|nazwa_obiektu}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.WydobywanieUchwytuZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_elementow_strony_kodow}} - jak w: {{LinkPatrz|tabela_elementow_strony_kodow}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}}.
Funkcja wykorzystuje elementy tablicy: {{LinkPatrz|uchwyty_bez_numeracji}}, wstawione przez funkcję: {{LinkŚródtytuł|p.UchwytyZeiBezNumeracji}}.
=== {{Śródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}{{Code|p.RozpatrywanieElementuUchwytuNumeracji}} ===
Funkcja wsadzająca utworzoną tablicę z podanym uchwytem do ogólnej tablicy pozycji nazwanych tabel z uchwytami o danej pozycji z nim.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|kod_uchwytu}} {{Patrz|kod_uchwytu}} - kod uchwytu podanego do szablonu stronicowego z odpowiednim uchwytem,
* {{Code|tab_numer}} {{Patrz|tab_numer}} - tablica z numerkami ilości elementów w tablicy parametrów nazwanych z uchwytami, w danym elemencie analizowania strony z uchwytami i obiektami,
* {{Code|tablica_zmiennych}} {{Patrz|tablica_zmiennych}} - tablica analizowania obiektów, danej strony,
* {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} {{Patrz|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - kolejno: nazwa przestrzeni nazw, nazwa przestrzeni książki, nazwa książki i nazwa artykułu książki,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} {{Patrz|czy_artykul_korzystany}} - czy artykuł aktualny wyświetlany w przeglądarce,
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} {{Patrz|nazwa_modulu_aktualna_czy_biezaca}} - nazwa artykułu aktualna lub bieżąca,
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{Patrz|tablica_analizy_obiektow_strony_dany_modul}} - tablica bazy kodów parsowania strony,
* {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - tablica analizy poszczególnych elementów kodów, do szybszego działania skryptu,
* {{Code|KtorySzablonMaZwracacKategorie}} {{Patrz|KtorySzablonMaZwracacKategorie}} - tablica zbierająca odkodowany i rozwinięty uchwyt, do analizowania w nim zebranych kategorii, według modułu: {{Code|{{ld2|StronicowyParser/Kategorie}}}}, uruchamiana w szablonach stronicowych z funkcjami '''stronicowego parsera'''.
Funkcja rozwija {{LinkPatrz|kod_uchwytu}} funkcją {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a potem je odkodowuje przy pomocy: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a jeżeli ona nie jest pusta, to dla tego jest uruchamiana funkcja {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Tworzona jest tablica {{Code|lista_dwuelementowa}} {{LinkPatrz|lista_dwuelementowa}} z uchwytem, jako pierwszy parametr.
Jest sprawdzane, czy element {{Code|tablica_zmiennych.sprawdzenie_dokonane_obiektu}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, jest fałszywy, jeżeli tak, to dalej jest sprawdzane, czy są elementy numerowane nazwanej tablicy: {{Code|tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2}} o nazwie {{LinkPatrz|nazwa_obiektu}}, a jeżeli jest pusta - na samym końcu jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, czyli jest inicjowana na wartość {{Code|true}}, to dalej jest sprawdzane, czy dla elementów: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy dana książka jest poza zakresem obsługiwanym, czyli rewidowane jest, czy jest ustawiony kod problemu {{Code|strony poza zakresem obsługiwanym}}, czy a jeżeli jednak nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}, ustawiające pewne elementy błędu, jeżeli trzeba to zrobić.
Gdy tabela {{LinkPatrz|tab_numer}} odpowiada nienilowej tablicy, wtedy element {{LinkPatrz|lista_dwuelementowa}} jest wstawiany na odpowiedniej pozycji, ale przeważnie nie na końcu, przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=table.insert|b=tak}}}}, dzięki określonej tabeli {{LinkPatrz|tab_numer}}, przeciwnie na jej końcu.
Funkcja zwraca element {{LinkPatrz|lista_dwuelementowa}}.
=== {{Śródtytuł|p.RozpatrywanieSzablonuObiektuDoNumeracji}}{{Code|p.RozpatrywanieSzablonuObiektuDoNumeracji}} ===
Funkcja, która uruchamia funkcję: {{LinkŚródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}, dla istniejącego uchwytu w postaci nazwanej o kluczu: {{Code|uchwyt}} {{Patrz|uchwyt}}, lub nienazwanej - w postaci numeru jego uchwytu o kluczu: {{Code|numer_numeracji}} {{Patrz|numer_numeracji}}, wsadzająca tabele z uchwytem na odpowiednią pozycję w odpowiedniej nazwanej tabeli o nazwie obiektu {{LinkPatrz|nazwa_obiektu}} w ogólnej tabeli: {{LinkPatrz|tablica_zmiennych}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}}- tabela parametrów szablonu,
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|numer_numeracji}} - jak w: {{LinkPatrz|numer_numeracji}},
* {{Code|tab_numer}} - jak w: {{LinkPatrz|tab_numer}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
== {{Śródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}{{Code|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}} ==
Funkcja sprawdza, czy dany artykuł należy do artykułów, któregoś spisu treści, a jeżeli nie, to dla stron, które nie należą do kategorii z ustawionym problemem {{Code|strony poza zakresem obsługiwanym}}, ale do nieaktualnej strony jest ustawiony problem {{Code|brak spisów treści do dołączonych stron}}. Natomiast dla aktualnej dla stron tej samej kategorii ustawiany jest problem {{Code|brak spisu treści do korzystanych stron}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== {{Śródtytuł|p.PusteParametryReferencji}}{{Code|p.PusteParametryReferencji}} ==
Funkcja sprawdza, jeśli są podane parametry szablonu stronicowego, które są w kategorii: {{lk|Szablony stronicowe}}, czyli: {{Code|nazwa_artykulu}}, ewentualnie: {{Code|nazwa_ksiazki}}, ale zawsze z: {{Code|uchwyt_obiektu}}, czy są one puste.
A jeżeli one istnieją i są takie, to są ustawione problemy typu, jeśli ich wcześniej nie ustawiono:
* {{Code|puste parametry szablonów stronicowych linkujących}} {{Patrz|puste parametry szablonów stronicowych linkujących}}, kolejno dla: {{Code|uchwyt_obiektu}}, {{Code|nazwa_artykulu}} i {{Code|nazwa_ksiazki}}, kolejno z numerami problemów: {{Code|1}}, {{Code|2}} i {{Code|3}}.
Dla obiektu o nazwie {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}.
{{Hr}}
Definicja skrótowa funkcji
<syntaxhighlight lang="lua">
function p.PusteParametryReferencji(self, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu)...end;
</syntaxhighlight>
Paraametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} {{Patrz|uchwyt_obiektu}} - uchwyt obiektu, podane w danym szablonie stronicowym,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}}.
== {{Śródtytuł|p.SzablonyReferencjiParametrowych}}{{Code|p.SzablonyReferencjiParametrowych}} ==
Funkcja z parametrów pudełkowych nazwy artykułu {{ZobaczTeż|nazwa artykułu}}: {{Code|nazwa artykułu}} {{Patrz|nazwa artykułu}} albo {{Code|1}}, gdy bezuchwytowe lub {{Code|2}}, i pełnej nazwy książki {{ZobaczTeż|pełna nazwa strony}}: {{Code|nazwa książki}} {{Patrz|nazwa książki}} albo, {{Code|2}}, gdy bezuchwytowe lub {{Code|3}}. To wszystko jest liczone z: {{LinkPatrz|tabela_parametrow_szablonu}} lub przy użyciu parametru również {{Code|bezuchwytowe}} {{Patrz|bezuchwytowe}}, gdy mamy szablon stronicowy {{lk|Szablony stronicowe}}, bezuchwytowy, wtedy {{Code|true}}, przeciwnie {{Code|false/nil}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca,bezuchwytowe)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{Code|bezuchwytowe}} - jak w: {{LinkPatrz|bezuchwytowe}}.
Funkcja obie nazwy dekoduje funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a później jest liczony adres bezwzględny z względnego dzięki: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, przy pomocy podstawy {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}}, podobnie ale wcześniej jest liczona nazwa artykułu {{linkZobaczTeż|nazwa artykułu}}, czyli: {{LinkPatrz|nazwa_artykulu}}, ale tutaj adres względny jest liczony z podstawy o ciągu pustym jako drugi parametr.
Na podstawie pełnej nazwy książki {{LinkZobaczTeż|pełna nazwa strony}}: jest liczona bardziej jej wersja pełniejsza, jeżeli to jest w ogóle możliwe z: {{Code|{{sr|#p["PełnaNazwaStronicowejKsiążki"]|p=Książkowe}}}}. A póżniej z tego wszystkiego są liczone nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, przy pomocy funkcji nazw: {{Code|{{ld2|Nazwy}}}}.
Na samym końcu funkcji są zwracane parametry nazw, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== Funkcje zbierania informacji ==
=== {{Śródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}{{Code|p.ZbieranieInformacjiStronyWoluminowychPozycji}} ===
Funkcja zbierania informacji na stronie dla szablonów stronicowych: {{lk|Szablony stronicowe}}, bezuchwytowych, gdy nie jest uruchomiony parametr: {{Code|czy_inna_wartosc_tekst}} {{Patrz|czy_inna_wartosc_tekst}}, wtedy jest wywoływana funkcja: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}, która liczy kolejne nazwy charaktertyzujące nazwy dla danego artykułu książki dla danej strony, przeciwnie parametry nazw są ściagane z: {{Code|tab_nazwy}} {{Patrz|tab_nazwy}}, ta tabela składa się numerowanych elementów, którymi są nazwy charakyteryzujące stronę.
Gdy jakaś nazwa artylułu strony została policzona, wtedy są liczone pozostałe nazwy z: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, a na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, a tuż przed nim, jeśli istnieje: {{Code|KtorySzablonMaZwracacKategorie}} {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,KtorySzablonMaZwracacKategorie,czy_inna_wartosc_tekst,tab_nazwy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_inna_wartosc_tekst}} - jak w: {{LinkPatrz|czy_inna_wartosc_tekst}},
* {{Code|tab_nazwy}} - jak w: {{LinkPatrz|tab_nazwy}}.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacji}}{{Code|p.ZbieranieKontenerowychInformacji}} ===
Funkcja do zbierania informacji, która z parametrów pudełkowych: {{Code|{{m|Pudełko}}}}, czyli: {{Code|nazwa przestrzeni nazw}} {{Patrz|nazwa przestrzeni nazw}} i {{Code|nazwa jednostki}} {{Patrz|nazwa jednostki}}, z nich są liczone parametry nazw charakteryzujące artykuł książki strony. A na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} {{Patrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,czy_szablon_pudelkowy_strony_zbiorczej,KtorySzablonMaZwracacKategorie)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} {{Patrz|czy_szablon_pudelkowy_strony_zbiorczej}} - funkcja potrzebna do funkcji zbierającej {{LinkPatrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, określającej, czy mamy szablon pudełkowy strony zbiorczej, taki jak: {{Code|{{s|StronaSubst}}}}, czy: {{Code|{{s|KsiążkaSubst}}}}, zobacz stronę: {{Code|{{lr2|Moduły/StronicowyParser/StronaSubst}}}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Gdy nie ma parametrów pudełkowych funkcja się natychmiast zakańcza, lub parametr: {{LinkPatrz|nazwa jednostki}}, jest pusta, lub nawet gdy zawierają kody wykrywane przez funkcję: {{Code|{{sr|#p.NormaWzoruKodowaniaTekstu|p=Szablonowe}}}}.
Z nazwy jednostki jest wydzielana nazwa jednostki właściwa bez nazwy nagłówka, póżniej obie nazwy są też dekodowane funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, czyli wszystko z: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}.
Z tych dwóch nazwy jest liczony adres, ewentualnie względny, który za pomocą funkcji: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, jest wyliczany adres bezwzględny.
Dalej są liczone nazwy charakteryzujące artykuł danej książki strony, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, z tego adresu strony.
Przedostatnia funkcja, która jest uruchamiana przed funkcją zbierającą jest: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}, jeśli istnieje.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacjiReferencji}}{{Code|p.ZbieranieKontenerowychInformacjiReferencji}} ===
Funkcja zbiera informacje o stronie. Na podstawie informacji o nazwie artykułu i pełnej nazwy książki liczy parametry nazw charakteryzujące artykuł, co na tej podstawiwe liczy parametry pudełkowe i wywołuje funkcję główną przez inną funkcję, też zbierającą, i zbiera informacje o artykule.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacjiReferencji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, jako parametry zwracane przez funkcję: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}. Funkcja wyznacza parametry pudełkowe {{m|Pudełko}}, tzn.: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}, na podstawie tych nazw. Funkcja na samym końcu wywołuje funkcję zbierającą dane ze strony: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}, która z kolei uruchamia potem: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
== {{Śródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}{{Code|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}} ==
Funkcja sprawdza niepoprawność nazwy strony i na podstawie tego ustawia pewne kody problemów.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,__FUNKCJA_SPRAWDZANIE)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|__FUNKCJA_SPRAWDZANIE}} {{Patrz|__FUNKCJA_SPRAWDZANIE}} - funkcja uruchamiana, jeśli jest ustawiona, na wypadek poprawności strony.
W przypadku niepoprawności strony, gdy strona modułu jest aktualna (bieżąca), wtedy sprawdzany jest kod problemu, czy jest ustawiony, tzn.: {{Code|nieprawidłowe nazwy korzystanych stron}}, przy pomocy funkcji: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli nie ma takiego, to wtedy jest uruchamiana funkcja: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}. Podobnie jest dla niekorzystanej strony, wtedy jest problem dla kodu: {{Code|nieprawidłowe nazwy stron dołączanych do stron}}.
== Zbieranie informacji o linkach ==
=== {{Śródtytuł|p.LinkowanieFinalizowaniePrac}}{{Code|p.LinkowanieFinalizowaniePrac}} ===
Funkcja wadza uchwyt obiektu, wsazujący na aktualną stronę, do pewnej strony, i ewentualnie ustawia pewne problemy, jeśli je nie ustawiono.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} {{Patrz|obiekt}} - obiekt, obsługiwany przez tą funkcję linku,
* {{Code|kod}} {{LinkPatrz|kod}} - kod obiektu dla: {{LinkPatrz|obiekt}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} - jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}},
* {{Code|czy_pobierz}} {{Patrz|czy_pobierz}} - czy to jest szablon typu {{Code|Pobierz}} {{Patrz|Pobierz}}, jak: {{s|PobierzŚródtekst}}.
Funkcja sprawdza, czy nie został ustawiony element {{Code|tablica_zmiennych.sprawdzenie_dokonane_linku}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}, a jeżeli tak, to dalej, czy nie ma elementów numerowanych przy pomocy funkcji: {{Code|{{sr|#p["CzySąElementyNumerowaneTablicy"]|p=Parametry}}}}, a jeśli również tak, to dalej jest sprawdzane, czy został ustawiony problem: {{Code|strony poza zakresem obsługiwanym}}, przy pomocy: {{Code|{{sr|#p.CzyJestTakiElementTabeliProblemu|p=StronicowyParser/Problemy}}}}, a jeżeli nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}. Na samym końcu tej instrukcji warunkowej jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}.
Dalej pod tą instrukcją warunkową, jest robione, co powiedziane zostało w prologu tego opisu tej funkcji, tzn. z wyznaczonej tablicy ze: {{LinkPatrz|tablica_zmiennych}}, a dalej z wyznaczonej następnej podtabeli o kluczu: {{LinkPatrz|nazwa_obiektu}}.
Następnie, gdy element: {{LinkPatrz|czy_pobierz}}, jest ustawiony na {{Code|true}}, wtedy dla {{LinkPatrz|uchwyt_obiektu}}, pewna tablica, jest wstawiana do tablicy: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}}, jeśli istnieje, a jeśli nie, to jest tworzona, jako tablica, wtedy też jest to robione. Tą czynnością wstawiany tabelę, do tej tablicy, czyli:
<syntaxhighlight lang="lua">
{{nazwa_obiektu,uchwyt_obiektu,},{obiekt,kod,},}
</syntaxhighlight>
=== {{Śródtytuł|p.LinkowanieInnychStron}}{{Code|p.LinkowanieInnychStron}} ===
Funkcja do sprawdzania innych stron niż aktualna, a jeżeli dana strona została już sprawdzona, to powtórnie nie jest już rewidowana. Funkcja ustawia w głównej tablicy aktualnej tabeli {{LinkPatrz|tablica_zmiennych}} pewne podtablice.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieInnychStron(self,obiekt,kod,tablica_zmiennych, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejo jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Najpierw jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, która w razie poprawności nazwy strony, czyli inaczej nazw tej strony, tzn.: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, uruchamia funkcję zdefiniowaną w nim.
{{Tab}}Ta funkcja sprawdza, czy któraś z parametrów nazw istnieje, a jeżeli nie, to dalej jest inicjowana zmienna: {{Code|tablica_zmiennych2}} {{Patrz|tablica_zmiennych2}} pustą tablicą i podobnie {{Code|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}} {{Patrz|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}}, to uruchamiana jest: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, do zbierania informacji o stronie nowej lub przebadanej (wtedy zostają zwrócone parametry z wczęsniejszego jego analizowania, jak była nowa). Funkcja zwraca trzy parametry, tzn. {{Code|tabela_listy_danych_analizy_ksiazki0}} {{Patrz|tabela_listy_danych_analizy_ksiazki0}}, {{LinkPatrz|tablica_zmiennych2}} i {{Code|czy_inna}} {{Patrz|czy_inna}}. Te parametry mogą przyjmować wartość {{Code|nil}}, lub pierwszy {{Code|0}}, drugi, to nic innego jest jak: {{LinkPatrz|tablica_zmiennych2}}, a trzeci parametr jest wtedy równy {{Code|true}}, gdy strona jest nowa, a {{Code|false}} aktualna, a gdy {{Code|nil}}, gdy np. zawartość strony nie istnieje.
Gdy parametr: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, istnieje, wtedy jest spraqdzane, czy któreś z parametrów: {{LinkPatrz|tablica_zmiennych2}} i {{LinkPatrz|czy_inna}}, nie istsnieje, wtedy ta funkcja się zakańcza.
==== {{Śródtytuł|JuzPoliczone}}{{Code|JuzPoliczone}} ====
Dla obiektów, dla których jest ustawiony parametr: {{LinkPatrz|czy_pobierz}}, co dalej w tym rozgałęzieniu instrukcji warunkiwej jest uruchamiana funkcja szablonów tekstu, czyli: {{Code|{{sr|#p.UstawianiePobierz|p=StronicowyParser/SzablonyTekstu}}}}, aby również później za pomocą innych funkcji przeanalizować również tekst w szablonach takich jak: {{s|Śródtekst}}.
Dalej jest tworzona tablica, jeśli nie istnieje, tzn. {{Code|tablica_zmiennych2.dane_juz_policzone}} {{Patrz|tablica_zmiennych2.dane_juz_policzone}}, czyli jest inicjowana pustą tablicą. Dalej jest tworzona, jeśli nie istnieje, tablica wielowymiarowa po kolei, o kluczach kolejno: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}, {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu}}, a jeżeli ta ostatnia wartość tej tablicy była wcześniej, to zwracane jest {{Code|true}}, przeciwnie {{Code|false}}, a tej ostatniej wartości tej tablicy jest przydzielana wartość {{Code|true}}.
==== Dalszy opis funkcji ====
Gdy parametr: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest równy {{Code|0}}, ale nie {{Code|nil}}, wtedy jest sprawdzane, czy artykuł został wcześniej zrewidowany według: {{LinkŚródtytuł|JuzPoliczone}}, a jeżeli tak to jest zakańczany, a gdy ten parametr taakiej wartośsci nie przyjmuje, wtedy tylko jest uruchamiana funkcja bez żadnego warunku.
{{Tab}}Następnie jest uruchamiana funkcja: {{Code|{{sr|#p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony|p=StronicowyParser/SzablonyTekstu}}}}, do przydzielenia pewnych zmiennych z {{LinkPatrz|tablica_zmiennych2}} tablicy {{LinkPatrz|tablica_zmiennych}}.
{{Tab}}Jest sprawdzane, czy dany artykuł należy do spisu, jeżeli nie to są ustawiane pewne kody problemów w tablicy problemów, tzn. {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}.
Dalej jest sprawdzane, czy podany uchwyt {{LinkPatrz|uchwyt_obiektu}}, który jest podany w szablonach linków na aktualnej stronie, czy jest tylko jeden na stronie sprawdzanej, a jeżeli nie jest tak, to jest sprawdzane, czy nie istnieje ustawiony problem: {{Code|błędy uchwytów korzystanych stron}}, funkcją: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to taki problem jest dodawany dzięki: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
{{Tab}}Uruchamiana jest dalej funkcja: {{LinkŚródtytuł|p.PusteParametryReferencji}}, do sprawdzania pustości pewnych parametrów.
{{Tab}}Gdy tabela: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest jednak równa wartości odpowiadającej fałszywej, wtedy jeśli nie istnieje problem: {{Code|błąd wewnętrzny modułu lua stronicowego parsera}}, co jest rewidowane elementem: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to dodawany jest taki problem do tabeli problemów na podstawie: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
=== {{Śródtytuł|p.GeneralneLinkowanie}}{{Code|p.GeneralneLinkowanie}} ===
Funkcja zbiera uchwyty, na aktualnej lub innej stronie, a także je analizuje w odpowiedni sposób, modyfikuje tablica aktualnego modułu, czyli: {{LinkPatrz|tablica_zmiennych}}, na podstawie poszczególnych artykułów tej książki lub innej, która zbiera raz informacje o danej stronie.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Funkcja wyznacza uchwyt z tabeli parametrów: {{LinkPatrz|tabela_parametrow_szablonu}}, o kluczu {{Code|uchwyt}} {{LinkPatrz|uchwyt}} lub {{Code|1}}, a później w kodzie jest on kompletowany funkcją: {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a następnie rozwijany w niej, a później jest dekodowany: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}.
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, wywołujac: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}.
Na samym końcu jest uruchamiana: {{LinkPatrz|KtorySzablonMaZwracacKategorie}} z parametrem o tym uchwycie, wyliczonym wcześniej.
Gdy uchwyt istnieje, ale jest pusty, wtedy uruchamia się: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, następnie: {{LinkŚródtytuł|p.PusteParametryReferencji}}, a jeśli ta wartość nie istnieje, wtedy tylko ta ostatnia funkcja.
Gdy uchwyt: {{LinkPatrz|uchwyt}}, istnieje i jest niepusty, wtedy jest wyznaczana nazwa artykułu z niej samej, lub jeśli nazwa ksiązki istnieje, tylko, wtedy ta nazwa zaczyna być pusta, przeciwnie {{Code|nil}}, wtedy mamy do czynienia ze stroną główną podręcznika.
Gdy nazwa artykułu nie istnieje, wtedy wywoływana jest: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Jeśli nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest niepusta, i gdy nazwa książki nie istnieje, wtedy są liczone parametry nazw, oprócz nazwy artykułu, bo jest policzona, więc te {{ZobaczTeż|nazwy}}: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, z parametrów charakteryzujących nazwę aktualnego artykułu, a jeśli jednak nazwa książki jest pusta, to są sprawdzane parametry w: {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Gdy nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest nieistnieje, i gdy nazwa książki {{LinkPatrz|nazwa_ksiazki}} jest niepusta, wtedy nazwa artykułu zaczyna istnieć i inicjujemy wtedy ją wartością pustą, a jeśli pusta, za zaczyna być potem generowanie kodów błędów funkcją {{LinkŚródtytuł|p.PusteParametryReferencji}}, by potem się zakończyła ta funkcja.
Przeciwnie są liczone parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, tą samą metodą, co w punkcie: {{LinkZobaczTeż|nazwy}}.
Gdy nazwy {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}} są porównywane z nazwami, którymi się przypisje jak w: {{LinkZobaczTeż|nazwy}}, wtedy uruchamiamy funkcję: {{LinkŚródtytuł|p.LinkowanieInnychStron}}, przeciwnie wtedy działają dwie funkcje uruchomione po kolei, tzn.: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
== {{Śródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}{{Code|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} ==
Funkcja służy do zbierania informacji o danej analizowanej stronie, którego główną częścią jest strona korzystana, w której gromadzą się informacji też z pozostałych.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, czy_artykul_korzystany,tablica_zmiennych,czy_szablon_pudelkowy_strony_zbiorczej)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} - jak w: {{LinkPatrz|czy_szablon_pudelkowy_strony_zbiorczej}}.
=== {{Śródtytuł|__FUNKCJA_ARTYKULU}}{{Code|__FUNKCJA_ARTYKULU}} ===
Funkcja do tworzenia tabeli artykułów z innymi parametrami wielowymiarowej tej tabeli, a jeżeli owe pośrednie, i nie tylko, istnieją, to te tabele są zwracane lub nowo są tworzone.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji {{ZobaczTeż|parametry artykułu}}:
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}},
* {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu}} - nazwa artykułu w książce, bez pełnej nazwy książki.
Poniżej są tworzone podtabele puste, jeśli nie zostały utworzone.
Funkcja, która w tabeli: {{Code|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}} {{Patrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, która istnieje, tworzy tabele trójwymiarową kolejno po prarametrach: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, te tabele pośrednie śą wtedy tworzone, jeśsli nie istnieją, a gdy istnieją to nie są tworzone, tylko funkcja przechodzi do dalszych.
Dalej tworzona jest podtabela, jeśli nie istnieje o nazwie {{Code|lista_podstron_woluminu}} {{Patrz|lista_podstron_woluminu}}.
Następnie generowana jest podtabela, jeśli nie istnieje, o kluczu: {{LinkPatrz|nazwa_artykulu}}.
Funkcja zwraca kolejno elementy, jeśli klucz: {{LinkPatrz|nazwa_artykulu}}, istnieje, zatem:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany;
</syntaxhighlight>
Przeciwnie zwracany jest zbiór zmiennych po kolei:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki;
</syntaxhighlight>
Co to są za zmienne, wiadomo z ich nazw, po prostu są to pewne pośrednie, i nie tylko, tabele.
=== {{Śródtytuł|__FUNKCJA_POBIERANIE}}{{Code|__FUNKCJA_POBIERANIE}} ===
Funkcja zwraca parametry strony aktualnej, analizowanej jeszcze raz, aby ją nie powtórnie rewidować, lub podobnie dla innego artykułu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_POBIERANIE(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji są takie same jak w punkcie {{LinkZobaczTeż|parametry artykułu}}.
{{Tab}}Analiza dla artykułów niekorzystanych według parametru: {{LinkPatrz|czy_artykul_korzystany}}:
Dla jeszcze raz analizowanego artykułui aktualnego zwracane są parametry:
<syntaxhighlight lang="lua">
return 0,nil,nil,nil,nil,nil,self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron,false;
</syntaxhighlight>
Tabela: {{Code|self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron}}, tam są dane zebrane z aktualnego artykułu.
Dla innej takiej strony jest tworzony parametr, jeżeli jest włączona analiza, dla klucza: {{Code|analiza_spis_tresci}} {{Patrz|analiza_spis_tresci}}, według tego jest tworzony wartością prawdziwą parametr o innym znów kluczu: {{Code|analiza_spis_tresci_doloczone}} {{Patrz|analiza_spis_tresci_doloczone}}:
<syntaxhighlight lang="lua">
if(self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci)then
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=true;
end;
</syntaxhighlight>
Dla elementu: {{LinkPatrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, jeżeli dany artykuł był już rewidowany, to zwracane są elementy:
<syntaxhighlight lang="lua">
return 0,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni,dane_zebrane_ze_stron,true;
</syntaxhighlight>
To: {{Code|dane_zebrane_ze_stron}} {{Patrz|dane_zebrane_ze_stron}}, to podtabela: {{LinkPatrz|lista_podstron_woluminu}}, z kluczem: {{LinkPatrz|nazwa_artykulu}}, o nazwie takiej samej jak ten parametr zwracany.
Przeciwnie jest zwracane: {{Code|true}}, lub {{Code|nil}}, jeśli tabela: {{Code|self.tabela_listy_danych_analizy_ksiazki}} {{Patrz|self.tabela_listy_danych_analizy_ksiazki}}, lub podtatela: {{LinkPatrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, nie istnieje.
=== {{Śródtytuł|InneInformacjePrzebneDoAnalizowanejKsiazki}}{{Code|InneInformacjePrzebneDoAnalizowanejKsiazki}} ===
Funkcja do zbierania informacji o spisie artykułów książkowych i ich licencjach oraz ewentualnie zebrane informacje ze stron: {{lk2|Szablony nawigacyjne układu autonawigacji do autonawigacji podręczników}}, z szablonu, w któreś tej pozycji w: {{s|Układ autonawigacji}}, i ze spisów podanej w niej jako parametry.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function InneInformacjePrzebneDoAnalizowanejKsiazki()...end;
</syntaxhighlight>
Parametry funkcji:
* brak.
==== {{Śródtytuł|__FUNKCJA_SPISU}}{{Code|__FUNKCJA_SPISU}} ====
Funkcja do inicjowania parametrów spisu, aktualnego artykułu, uzyskanych z ich analizy.
Definicja skrotowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_SPISU(tablica_ksiazki,czy_podac_adres)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tablica_ksiazki}} {{Patrz|tablica_ksiazki}} - tablica dla analizowanej książki,
* {{Code|czy_podac_adres}} {{Patrz|czy_podac_adres}} - czy podać adres bazowego woluminu.
Tablicy: {{linkPatrz|tablica_ksiazki}}, jest inicjowany element: {{Code|spis}} {{Patrz|spis}}, tabelą: {{Code|tabela_artykulow}} {{Patrz|tabela_artykulow}}.
Gdy: {{LinkPatrz|czy_artykul_korzystany}}, jest wartością fałszywą, to iniciowaną tablicy: {{LinkPatrz|tablica_ksiazki}}, jest parametr o kluczu: {{Code|licencja}} {{Patrz|licencja}}, tabelą: {{Code|tabela_licencji_spisu_tresci}} {{Patrz|tabela_licencji_spisu_tresci}}.
Dalej kolejno elementy: {{Code|nazwa_bazowego_spisu}} {{Patrz|nazwa_bazowego_spisu}}, {{Code|tab_inne_spisy}} {{Patrz|tab_inne_spisy}} i {{Code|dodatkowe_strony_woluminu}}, tabeli: {{LinkPatrz|tablica_ksiazki}}, i inicjowane są tabelami o takich samych nazwach jak te klucze dwa, a ostatni tabelą: {{Code|dodatkowe_artykuly}} {{Patrz|dodatkowe_artykuly}}.
Dla tabeli: {{LinkPatrz|tablica_ksiazki}}, o kluczu w nim {{Code|adres_woluminu_bazowego_spisu_rzeczy}}, ona jest przyrównywana wartością: {{Code|adres_ksiazki_glownego_spisu_tresci}} {{Patrz|adres_ksiazki_glownego_spisu_tresci}}, jeśli istnieje: {{LinkPatrz|czy_podac_adres}}, lub przeciwnie wartością {{Code|nil}}.
==== Dalszy opis funkcji ====
Jeżeli dla aktualnego artykułu dla książki nie ustawiono kodu: {{Code|strony poza zakresem obsługiwanym}}, wtedy są analizowane elementy opisane w nagłówku opisywanej funkcji, pod warunkiem, jeżeli istnieją parametry nazw książki: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}.
Gdy artykuł jest analizowany, wtedy parametr: {{LinkPatrz|czy_artykul_korzystany}}, wtedy jest przy istnieniu: {{Code|self.tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|self.tabela_listy_danych_analizy_ksiazki}}, jest ustawiany w nim element: {{Code|CzyArtykułKsiążki}} {{Patrz|CzyArtykułKsiążki}}, z wartością na {{Code|tak}}.
Gdy już spis jeszcze nie analizowano, a jeżeli juz został zanalizowany, to sprawdzany jest: {{Code|czy_spis_analizowano}}, tablicy: {{LinkPatrz|tablica_ksiazki}}.
A jeśli jednak spisy książki nie zostały sprawdzone i sparsowane, wtedy uruchamia się następne rozgałęzienie pętli.
Uruchamia się dalej funkcja: {{Code|{{sr|#p.ZbieranieInformacjiSpisuRzeczyWoluminuEwentualnieWedleAutonawigacji|p=StronicowyParser/SpisTreści}}}}, w nim są uruchamiane w pewien sposób dwie funkcje.
===== {{Code|p.ZbieranieInformacjiSpisuRzeczyWoluminuEwentualnieWedleAutonawigacji}} =====
Ta funkcja służy do parsowania spisów i innych omówionych elementów książki danego artykułu.
====== Pierwsza anonimowa funkcja ======
Dla analizowanej pierwszej funkcji, ona jest uruchamiana, wtedy kiedy zostały zebrane wszystkie informrmacje ze spisów, wtedy dla elementu: {{Code|tablica_ksiazki_strona}} {{Patrz|tablica_ksiazki_strona}}, sprawdzane, czy jego element {{LinkPatrz|spis}} istnieje, jeśli istnieje, zatem elementy z: {{Code|_strona_temp}}, inicjujemy tymi z: {{Code|_strona}}, z elementów zmiennych tej funkcji, w takim razie inicjujemy inne jego podelementy, tzn.: {{Code|spis}} {{LinkPatrz|spis}}, {{Code|licencja}} {{LinkPatrz|licencja}}, {{Code|nazwa_bazowego_spisu}} {{LinkPatrz|nazwa_bazowego_spisu}}, {{Code|tab_inne_spisy}} {{LinkPatrz|tab_inne_spisy}}, {{Code|dodatkowe_strony_woluminu}} {{Patrz|dodatkowe_strony_woluminu}} i {{Code|adres_woluminu_bazowego_spisu_rzeczy}} {{Patrz|adres_woluminu_bazowego_spisu_rzeczy}}, elementu: {{LinkPatrz|tablica_ksiazki}}, tymi saamymi elementami, ale dla innej strony, tzn.: {{Code|tablica_ksiazki_strona}} {{LinkPatrz|tablica_ksiazki_strona}}.
Też jest inicjowany element tej pierwszej zmiennej książkowej o kluczu: {{Code|referencja_do_nowej_formy_spisu}}, według:
<syntaxhighlight lang="lua">
tablica_ksiazki.referencja_do_nowej_formy_spisu={tablica_przestrzeni_strona,tablica_przestrzeni_ksiazki_strona,tablica_ksiazki_strona,};
</syntaxhighlight>
Funkcja wtedy zwróci wartość: {{Code|1}}.
====== Druga anonimowa funkcji ======
Ta funkcja działa, gdy parametry strony, tzn.: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, są równe podobnym parametrom z: {{Code|_ref_spis}}, tzn. czy spis jest analizowanym korzystanym artykułem.
Ta funkcja kopiuje dokładnie elementy z: {{Code|_ref_spis}}, temu z: {{Code|_ref}}, te elementy, to nic innego jak: {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}}, {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}} i {{Code|tablica_danych_parametrow_szablonu_strony}} {{LinkPatrz|tablica_danych_parametrow_szablonu_strony}}.
=== {{Śródtytuł|PrzekierownieAwaryjne}}{{Code|PrzekierownieAwaryjne}} ===
=== {{Śródtytuł|StronaZbiorcza}}{{Code|StronaZbiorcza}} ===
=== {{Śródtytuł|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}}{{Code|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}} ===
=== {{Śródtytuł|GeneralnaAnalizaSzablonuStronicowegoParsera}}{{Code|GeneralnaAnalizaSzablonuStronicowegoParsera}} ===
=== {{Śródtytuł|IterowaniePoElementachTekstu}}{{Code|IterowaniePoElementachTekstu}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieNaglowek}}{{Code|KtorySzablonMaZwracacKategorieNaglowek}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieTekst}}{{Code|KtorySzablonMaZwracacKategorieTekst}} ===
=== {{Śródtytuł|CzyJestTakiProblemJakoElementTablicy}}{{Code|CzyJestTakiProblemJakoElementTablicy}} ===
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
sg4clo7n8g19ssodkb4xjy5332xrq2y
547259
547258
2026-06-30T08:18:36Z
Persino
2851
/* Dalszy opis funkcji */
547259
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/ZbieranieDanychStron}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== Zbieranie informacji o uchwycie ==
=== {{Śródtytuł|p.UchwytyZeiBezNumeracji}}{{Code|p.UchwytyZeiBezNumeracji}} ===
Funkcja zbiera uchwyty, dla obiektów {{ZobaczTeż|p.UchwytyZeiBezNumeracji}}, bez numeracji, nie licząc obiektów tekst takich jak {{s|Śródtekst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UchwytyZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,lista_dwuelementowa,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} {{Patrz|self}} - zmiennna obiektowa modułu {{Code|{{ld2|StronicowyParser/ZbieranieDanychStron}}}} {{Patrz|StronicowyParser/ZbieranieDanychStron}},
* {{Code|tabela_elementow_strony_kodow}} {{Patrz|tabela_elementow_strony_kodow}} - zmienna zbierająca takie kody jak {{LinkZobaczTeż|p.UchwytyZeiBezNumeracji}},
* {{Code|nazwa_obiektu}} {{Patrz|nazwa obiektu}} - nazwa obiektu,
* {{Code|lista_dwuelementowa}} {{Patrz|lista_dwuelementowa}} - pozycja w normalnej tabeli uchwytów i przeważnie ich numeracji, a tutaj dla tego obiektu,
* {{Code|kod}} {{Patrz|kod}} - numer kodu dla tego obiektu.
Funkcja zbiera elementy {{LinkPatrz|lista_dwuelementowa}} w tablicy wielowymiarowej o pierwszym elemencie wymiaru {{LinkPatrz|nazwa obiektu}} i trzecim {{LinkPatrz|kod}}, oraz o drugim {{Code|uchwyty_bez_numeracji}} {{Patrz|uchwyty_bez_numeracji}}.
=== {{Śródtytuł|p.WydobywanieUchwytuZeiBezNumeracji}}{{Code|p.WydobywanieUchwytuZeiBezNumeracji}} ===
Funkcja wydowywa tablicę uchwytu dla pozycji, ale nie sam uchwyt, dla podtablicy {{LinkPatrz|uchwyty_bez_numeracji}} o danym kodzie {{LinkPatrz|kod}}, dla nazwy obiektu {{LinkPatrz|nazwa_obiektu}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.WydobywanieUchwytuZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_elementow_strony_kodow}} - jak w: {{LinkPatrz|tabela_elementow_strony_kodow}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}}.
Funkcja wykorzystuje elementy tablicy: {{LinkPatrz|uchwyty_bez_numeracji}}, wstawione przez funkcję: {{LinkŚródtytuł|p.UchwytyZeiBezNumeracji}}.
=== {{Śródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}{{Code|p.RozpatrywanieElementuUchwytuNumeracji}} ===
Funkcja wsadzająca utworzoną tablicę z podanym uchwytem do ogólnej tablicy pozycji nazwanych tabel z uchwytami o danej pozycji z nim.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|kod_uchwytu}} {{Patrz|kod_uchwytu}} - kod uchwytu podanego do szablonu stronicowego z odpowiednim uchwytem,
* {{Code|tab_numer}} {{Patrz|tab_numer}} - tablica z numerkami ilości elementów w tablicy parametrów nazwanych z uchwytami, w danym elemencie analizowania strony z uchwytami i obiektami,
* {{Code|tablica_zmiennych}} {{Patrz|tablica_zmiennych}} - tablica analizowania obiektów, danej strony,
* {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} {{Patrz|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - kolejno: nazwa przestrzeni nazw, nazwa przestrzeni książki, nazwa książki i nazwa artykułu książki,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} {{Patrz|czy_artykul_korzystany}} - czy artykuł aktualny wyświetlany w przeglądarce,
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} {{Patrz|nazwa_modulu_aktualna_czy_biezaca}} - nazwa artykułu aktualna lub bieżąca,
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{Patrz|tablica_analizy_obiektow_strony_dany_modul}} - tablica bazy kodów parsowania strony,
* {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - tablica analizy poszczególnych elementów kodów, do szybszego działania skryptu,
* {{Code|KtorySzablonMaZwracacKategorie}} {{Patrz|KtorySzablonMaZwracacKategorie}} - tablica zbierająca odkodowany i rozwinięty uchwyt, do analizowania w nim zebranych kategorii, według modułu: {{Code|{{ld2|StronicowyParser/Kategorie}}}}, uruchamiana w szablonach stronicowych z funkcjami '''stronicowego parsera'''.
Funkcja rozwija {{LinkPatrz|kod_uchwytu}} funkcją {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a potem je odkodowuje przy pomocy: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a jeżeli ona nie jest pusta, to dla tego jest uruchamiana funkcja {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Tworzona jest tablica {{Code|lista_dwuelementowa}} {{LinkPatrz|lista_dwuelementowa}} z uchwytem, jako pierwszy parametr.
Jest sprawdzane, czy element {{Code|tablica_zmiennych.sprawdzenie_dokonane_obiektu}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, jest fałszywy, jeżeli tak, to dalej jest sprawdzane, czy są elementy numerowane nazwanej tablicy: {{Code|tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2}} o nazwie {{LinkPatrz|nazwa_obiektu}}, a jeżeli jest pusta - na samym końcu jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, czyli jest inicjowana na wartość {{Code|true}}, to dalej jest sprawdzane, czy dla elementów: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy dana książka jest poza zakresem obsługiwanym, czyli rewidowane jest, czy jest ustawiony kod problemu {{Code|strony poza zakresem obsługiwanym}}, czy a jeżeli jednak nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}, ustawiające pewne elementy błędu, jeżeli trzeba to zrobić.
Gdy tabela {{LinkPatrz|tab_numer}} odpowiada nienilowej tablicy, wtedy element {{LinkPatrz|lista_dwuelementowa}} jest wstawiany na odpowiedniej pozycji, ale przeważnie nie na końcu, przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=table.insert|b=tak}}}}, dzięki określonej tabeli {{LinkPatrz|tab_numer}}, przeciwnie na jej końcu.
Funkcja zwraca element {{LinkPatrz|lista_dwuelementowa}}.
=== {{Śródtytuł|p.RozpatrywanieSzablonuObiektuDoNumeracji}}{{Code|p.RozpatrywanieSzablonuObiektuDoNumeracji}} ===
Funkcja, która uruchamia funkcję: {{LinkŚródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}, dla istniejącego uchwytu w postaci nazwanej o kluczu: {{Code|uchwyt}} {{Patrz|uchwyt}}, lub nienazwanej - w postaci numeru jego uchwytu o kluczu: {{Code|numer_numeracji}} {{Patrz|numer_numeracji}}, wsadzająca tabele z uchwytem na odpowiednią pozycję w odpowiedniej nazwanej tabeli o nazwie obiektu {{LinkPatrz|nazwa_obiektu}} w ogólnej tabeli: {{LinkPatrz|tablica_zmiennych}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}}- tabela parametrów szablonu,
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|numer_numeracji}} - jak w: {{LinkPatrz|numer_numeracji}},
* {{Code|tab_numer}} - jak w: {{LinkPatrz|tab_numer}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
== {{Śródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}{{Code|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}} ==
Funkcja sprawdza, czy dany artykuł należy do artykułów, któregoś spisu treści, a jeżeli nie, to dla stron, które nie należą do kategorii z ustawionym problemem {{Code|strony poza zakresem obsługiwanym}}, ale do nieaktualnej strony jest ustawiony problem {{Code|brak spisów treści do dołączonych stron}}. Natomiast dla aktualnej dla stron tej samej kategorii ustawiany jest problem {{Code|brak spisu treści do korzystanych stron}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== {{Śródtytuł|p.PusteParametryReferencji}}{{Code|p.PusteParametryReferencji}} ==
Funkcja sprawdza, jeśli są podane parametry szablonu stronicowego, które są w kategorii: {{lk|Szablony stronicowe}}, czyli: {{Code|nazwa_artykulu}}, ewentualnie: {{Code|nazwa_ksiazki}}, ale zawsze z: {{Code|uchwyt_obiektu}}, czy są one puste.
A jeżeli one istnieją i są takie, to są ustawione problemy typu, jeśli ich wcześniej nie ustawiono:
* {{Code|puste parametry szablonów stronicowych linkujących}} {{Patrz|puste parametry szablonów stronicowych linkujących}}, kolejno dla: {{Code|uchwyt_obiektu}}, {{Code|nazwa_artykulu}} i {{Code|nazwa_ksiazki}}, kolejno z numerami problemów: {{Code|1}}, {{Code|2}} i {{Code|3}}.
Dla obiektu o nazwie {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}.
{{Hr}}
Definicja skrótowa funkcji
<syntaxhighlight lang="lua">
function p.PusteParametryReferencji(self, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu)...end;
</syntaxhighlight>
Paraametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} {{Patrz|uchwyt_obiektu}} - uchwyt obiektu, podane w danym szablonie stronicowym,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}}.
== {{Śródtytuł|p.SzablonyReferencjiParametrowych}}{{Code|p.SzablonyReferencjiParametrowych}} ==
Funkcja z parametrów pudełkowych nazwy artykułu {{ZobaczTeż|nazwa artykułu}}: {{Code|nazwa artykułu}} {{Patrz|nazwa artykułu}} albo {{Code|1}}, gdy bezuchwytowe lub {{Code|2}}, i pełnej nazwy książki {{ZobaczTeż|pełna nazwa strony}}: {{Code|nazwa książki}} {{Patrz|nazwa książki}} albo, {{Code|2}}, gdy bezuchwytowe lub {{Code|3}}. To wszystko jest liczone z: {{LinkPatrz|tabela_parametrow_szablonu}} lub przy użyciu parametru również {{Code|bezuchwytowe}} {{Patrz|bezuchwytowe}}, gdy mamy szablon stronicowy {{lk|Szablony stronicowe}}, bezuchwytowy, wtedy {{Code|true}}, przeciwnie {{Code|false/nil}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca,bezuchwytowe)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{Code|bezuchwytowe}} - jak w: {{LinkPatrz|bezuchwytowe}}.
Funkcja obie nazwy dekoduje funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a później jest liczony adres bezwzględny z względnego dzięki: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, przy pomocy podstawy {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}}, podobnie ale wcześniej jest liczona nazwa artykułu {{linkZobaczTeż|nazwa artykułu}}, czyli: {{LinkPatrz|nazwa_artykulu}}, ale tutaj adres względny jest liczony z podstawy o ciągu pustym jako drugi parametr.
Na podstawie pełnej nazwy książki {{LinkZobaczTeż|pełna nazwa strony}}: jest liczona bardziej jej wersja pełniejsza, jeżeli to jest w ogóle możliwe z: {{Code|{{sr|#p["PełnaNazwaStronicowejKsiążki"]|p=Książkowe}}}}. A póżniej z tego wszystkiego są liczone nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, przy pomocy funkcji nazw: {{Code|{{ld2|Nazwy}}}}.
Na samym końcu funkcji są zwracane parametry nazw, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== Funkcje zbierania informacji ==
=== {{Śródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}{{Code|p.ZbieranieInformacjiStronyWoluminowychPozycji}} ===
Funkcja zbierania informacji na stronie dla szablonów stronicowych: {{lk|Szablony stronicowe}}, bezuchwytowych, gdy nie jest uruchomiony parametr: {{Code|czy_inna_wartosc_tekst}} {{Patrz|czy_inna_wartosc_tekst}}, wtedy jest wywoływana funkcja: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}, która liczy kolejne nazwy charaktertyzujące nazwy dla danego artykułu książki dla danej strony, przeciwnie parametry nazw są ściagane z: {{Code|tab_nazwy}} {{Patrz|tab_nazwy}}, ta tabela składa się numerowanych elementów, którymi są nazwy charakyteryzujące stronę.
Gdy jakaś nazwa artylułu strony została policzona, wtedy są liczone pozostałe nazwy z: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, a na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, a tuż przed nim, jeśli istnieje: {{Code|KtorySzablonMaZwracacKategorie}} {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,KtorySzablonMaZwracacKategorie,czy_inna_wartosc_tekst,tab_nazwy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_inna_wartosc_tekst}} - jak w: {{LinkPatrz|czy_inna_wartosc_tekst}},
* {{Code|tab_nazwy}} - jak w: {{LinkPatrz|tab_nazwy}}.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacji}}{{Code|p.ZbieranieKontenerowychInformacji}} ===
Funkcja do zbierania informacji, która z parametrów pudełkowych: {{Code|{{m|Pudełko}}}}, czyli: {{Code|nazwa przestrzeni nazw}} {{Patrz|nazwa przestrzeni nazw}} i {{Code|nazwa jednostki}} {{Patrz|nazwa jednostki}}, z nich są liczone parametry nazw charakteryzujące artykuł książki strony. A na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} {{Patrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,czy_szablon_pudelkowy_strony_zbiorczej,KtorySzablonMaZwracacKategorie)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} {{Patrz|czy_szablon_pudelkowy_strony_zbiorczej}} - funkcja potrzebna do funkcji zbierającej {{LinkPatrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, określającej, czy mamy szablon pudełkowy strony zbiorczej, taki jak: {{Code|{{s|StronaSubst}}}}, czy: {{Code|{{s|KsiążkaSubst}}}}, zobacz stronę: {{Code|{{lr2|Moduły/StronicowyParser/StronaSubst}}}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Gdy nie ma parametrów pudełkowych funkcja się natychmiast zakańcza, lub parametr: {{LinkPatrz|nazwa jednostki}}, jest pusta, lub nawet gdy zawierają kody wykrywane przez funkcję: {{Code|{{sr|#p.NormaWzoruKodowaniaTekstu|p=Szablonowe}}}}.
Z nazwy jednostki jest wydzielana nazwa jednostki właściwa bez nazwy nagłówka, póżniej obie nazwy są też dekodowane funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, czyli wszystko z: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}.
Z tych dwóch nazwy jest liczony adres, ewentualnie względny, który za pomocą funkcji: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, jest wyliczany adres bezwzględny.
Dalej są liczone nazwy charakteryzujące artykuł danej książki strony, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, z tego adresu strony.
Przedostatnia funkcja, która jest uruchamiana przed funkcją zbierającą jest: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}, jeśli istnieje.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacjiReferencji}}{{Code|p.ZbieranieKontenerowychInformacjiReferencji}} ===
Funkcja zbiera informacje o stronie. Na podstawie informacji o nazwie artykułu i pełnej nazwy książki liczy parametry nazw charakteryzujące artykuł, co na tej podstawiwe liczy parametry pudełkowe i wywołuje funkcję główną przez inną funkcję, też zbierającą, i zbiera informacje o artykule.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacjiReferencji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, jako parametry zwracane przez funkcję: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}. Funkcja wyznacza parametry pudełkowe {{m|Pudełko}}, tzn.: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}, na podstawie tych nazw. Funkcja na samym końcu wywołuje funkcję zbierającą dane ze strony: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}, która z kolei uruchamia potem: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
== {{Śródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}{{Code|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}} ==
Funkcja sprawdza niepoprawność nazwy strony i na podstawie tego ustawia pewne kody problemów.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,__FUNKCJA_SPRAWDZANIE)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|__FUNKCJA_SPRAWDZANIE}} {{Patrz|__FUNKCJA_SPRAWDZANIE}} - funkcja uruchamiana, jeśli jest ustawiona, na wypadek poprawności strony.
W przypadku niepoprawności strony, gdy strona modułu jest aktualna (bieżąca), wtedy sprawdzany jest kod problemu, czy jest ustawiony, tzn.: {{Code|nieprawidłowe nazwy korzystanych stron}}, przy pomocy funkcji: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli nie ma takiego, to wtedy jest uruchamiana funkcja: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}. Podobnie jest dla niekorzystanej strony, wtedy jest problem dla kodu: {{Code|nieprawidłowe nazwy stron dołączanych do stron}}.
== Zbieranie informacji o linkach ==
=== {{Śródtytuł|p.LinkowanieFinalizowaniePrac}}{{Code|p.LinkowanieFinalizowaniePrac}} ===
Funkcja wadza uchwyt obiektu, wsazujący na aktualną stronę, do pewnej strony, i ewentualnie ustawia pewne problemy, jeśli je nie ustawiono.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} {{Patrz|obiekt}} - obiekt, obsługiwany przez tą funkcję linku,
* {{Code|kod}} {{LinkPatrz|kod}} - kod obiektu dla: {{LinkPatrz|obiekt}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} - jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}},
* {{Code|czy_pobierz}} {{Patrz|czy_pobierz}} - czy to jest szablon typu {{Code|Pobierz}} {{Patrz|Pobierz}}, jak: {{s|PobierzŚródtekst}}.
Funkcja sprawdza, czy nie został ustawiony element {{Code|tablica_zmiennych.sprawdzenie_dokonane_linku}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}, a jeżeli tak, to dalej, czy nie ma elementów numerowanych przy pomocy funkcji: {{Code|{{sr|#p["CzySąElementyNumerowaneTablicy"]|p=Parametry}}}}, a jeśli również tak, to dalej jest sprawdzane, czy został ustawiony problem: {{Code|strony poza zakresem obsługiwanym}}, przy pomocy: {{Code|{{sr|#p.CzyJestTakiElementTabeliProblemu|p=StronicowyParser/Problemy}}}}, a jeżeli nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}. Na samym końcu tej instrukcji warunkowej jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}.
Dalej pod tą instrukcją warunkową, jest robione, co powiedziane zostało w prologu tego opisu tej funkcji, tzn. z wyznaczonej tablicy ze: {{LinkPatrz|tablica_zmiennych}}, a dalej z wyznaczonej następnej podtabeli o kluczu: {{LinkPatrz|nazwa_obiektu}}.
Następnie, gdy element: {{LinkPatrz|czy_pobierz}}, jest ustawiony na {{Code|true}}, wtedy dla {{LinkPatrz|uchwyt_obiektu}}, pewna tablica, jest wstawiana do tablicy: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}}, jeśli istnieje, a jeśli nie, to jest tworzona, jako tablica, wtedy też jest to robione. Tą czynnością wstawiany tabelę, do tej tablicy, czyli:
<syntaxhighlight lang="lua">
{{nazwa_obiektu,uchwyt_obiektu,},{obiekt,kod,},}
</syntaxhighlight>
=== {{Śródtytuł|p.LinkowanieInnychStron}}{{Code|p.LinkowanieInnychStron}} ===
Funkcja do sprawdzania innych stron niż aktualna, a jeżeli dana strona została już sprawdzona, to powtórnie nie jest już rewidowana. Funkcja ustawia w głównej tablicy aktualnej tabeli {{LinkPatrz|tablica_zmiennych}} pewne podtablice.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieInnychStron(self,obiekt,kod,tablica_zmiennych, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejo jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Najpierw jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, która w razie poprawności nazwy strony, czyli inaczej nazw tej strony, tzn.: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, uruchamia funkcję zdefiniowaną w nim.
{{Tab}}Ta funkcja sprawdza, czy któraś z parametrów nazw istnieje, a jeżeli nie, to dalej jest inicjowana zmienna: {{Code|tablica_zmiennych2}} {{Patrz|tablica_zmiennych2}} pustą tablicą i podobnie {{Code|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}} {{Patrz|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}}, to uruchamiana jest: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, do zbierania informacji o stronie nowej lub przebadanej (wtedy zostają zwrócone parametry z wczęsniejszego jego analizowania, jak była nowa). Funkcja zwraca trzy parametry, tzn. {{Code|tabela_listy_danych_analizy_ksiazki0}} {{Patrz|tabela_listy_danych_analizy_ksiazki0}}, {{LinkPatrz|tablica_zmiennych2}} i {{Code|czy_inna}} {{Patrz|czy_inna}}. Te parametry mogą przyjmować wartość {{Code|nil}}, lub pierwszy {{Code|0}}, drugi, to nic innego jest jak: {{LinkPatrz|tablica_zmiennych2}}, a trzeci parametr jest wtedy równy {{Code|true}}, gdy strona jest nowa, a {{Code|false}} aktualna, a gdy {{Code|nil}}, gdy np. zawartość strony nie istnieje.
Gdy parametr: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, istnieje, wtedy jest spraqdzane, czy któreś z parametrów: {{LinkPatrz|tablica_zmiennych2}} i {{LinkPatrz|czy_inna}}, nie istsnieje, wtedy ta funkcja się zakańcza.
==== {{Śródtytuł|JuzPoliczone}}{{Code|JuzPoliczone}} ====
Dla obiektów, dla których jest ustawiony parametr: {{LinkPatrz|czy_pobierz}}, co dalej w tym rozgałęzieniu instrukcji warunkiwej jest uruchamiana funkcja szablonów tekstu, czyli: {{Code|{{sr|#p.UstawianiePobierz|p=StronicowyParser/SzablonyTekstu}}}}, aby również później za pomocą innych funkcji przeanalizować również tekst w szablonach takich jak: {{s|Śródtekst}}.
Dalej jest tworzona tablica, jeśli nie istnieje, tzn. {{Code|tablica_zmiennych2.dane_juz_policzone}} {{Patrz|tablica_zmiennych2.dane_juz_policzone}}, czyli jest inicjowana pustą tablicą. Dalej jest tworzona, jeśli nie istnieje, tablica wielowymiarowa po kolei, o kluczach kolejno: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}, {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu}}, a jeżeli ta ostatnia wartość tej tablicy była wcześniej, to zwracane jest {{Code|true}}, przeciwnie {{Code|false}}, a tej ostatniej wartości tej tablicy jest przydzielana wartość {{Code|true}}.
==== Dalszy opis funkcji ====
Gdy parametr: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest równy {{Code|0}}, ale nie {{Code|nil}}, wtedy jest sprawdzane, czy artykuł został wcześniej zrewidowany według: {{LinkŚródtytuł|JuzPoliczone}}, a jeżeli tak to jest zakańczany, a gdy ten parametr taakiej wartośsci nie przyjmuje, wtedy tylko jest uruchamiana funkcja bez żadnego warunku.
{{Tab}}Następnie jest uruchamiana funkcja: {{Code|{{sr|#p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony|p=StronicowyParser/SzablonyTekstu}}}}, do przydzielenia pewnych zmiennych z {{LinkPatrz|tablica_zmiennych2}} tablicy {{LinkPatrz|tablica_zmiennych}}.
{{Tab}}Jest sprawdzane, czy dany artykuł należy do spisu, jeżeli nie to są ustawiane pewne kody problemów w tablicy problemów, tzn. {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}.
Dalej jest sprawdzane, czy podany uchwyt {{LinkPatrz|uchwyt_obiektu}}, który jest podany w szablonach linków na aktualnej stronie, czy jest tylko jeden na stronie sprawdzanej, a jeżeli nie jest tak, to jest sprawdzane, czy nie istnieje ustawiony problem: {{Code|błędy uchwytów korzystanych stron}}, funkcją: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to taki problem jest dodawany dzięki: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
{{Tab}}Uruchamiana jest dalej funkcja: {{LinkŚródtytuł|p.PusteParametryReferencji}}, do sprawdzania pustości pewnych parametrów.
{{Tab}}Gdy tabela: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest jednak równa wartości odpowiadającej fałszywej, wtedy jeśli nie istnieje problem: {{Code|błąd wewnętrzny modułu lua stronicowego parsera}}, co jest rewidowane elementem: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to dodawany jest taki problem do tabeli problemów na podstawie: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
=== {{Śródtytuł|p.GeneralneLinkowanie}}{{Code|p.GeneralneLinkowanie}} ===
Funkcja zbiera uchwyty, na aktualnej lub innej stronie, a także je analizuje w odpowiedni sposób, modyfikuje tablica aktualnego modułu, czyli: {{LinkPatrz|tablica_zmiennych}}, na podstawie poszczególnych artykułów tej książki lub innej, która zbiera raz informacje o danej stronie.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Funkcja wyznacza uchwyt z tabeli parametrów: {{LinkPatrz|tabela_parametrow_szablonu}}, o kluczu {{Code|uchwyt}} {{LinkPatrz|uchwyt}} lub {{Code|1}}, a później w kodzie jest on kompletowany funkcją: {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a następnie rozwijany w niej, a później jest dekodowany: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}.
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, wywołujac: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}.
Na samym końcu jest uruchamiana: {{LinkPatrz|KtorySzablonMaZwracacKategorie}} z parametrem o tym uchwycie, wyliczonym wcześniej.
Gdy uchwyt istnieje, ale jest pusty, wtedy uruchamia się: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, następnie: {{LinkŚródtytuł|p.PusteParametryReferencji}}, a jeśli ta wartość nie istnieje, wtedy tylko ta ostatnia funkcja.
Gdy uchwyt: {{LinkPatrz|uchwyt}}, istnieje i jest niepusty, wtedy jest wyznaczana nazwa artykułu z niej samej, lub jeśli nazwa ksiązki istnieje, tylko, wtedy ta nazwa zaczyna być pusta, przeciwnie {{Code|nil}}, wtedy mamy do czynienia ze stroną główną podręcznika.
Gdy nazwa artykułu nie istnieje, wtedy wywoływana jest: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Jeśli nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest niepusta, i gdy nazwa książki nie istnieje, wtedy są liczone parametry nazw, oprócz nazwy artykułu, bo jest policzona, więc te {{ZobaczTeż|nazwy}}: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, z parametrów charakteryzujących nazwę aktualnego artykułu, a jeśli jednak nazwa książki jest pusta, to są sprawdzane parametry w: {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Gdy nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest nieistnieje, i gdy nazwa książki {{LinkPatrz|nazwa_ksiazki}} jest niepusta, wtedy nazwa artykułu zaczyna istnieć i inicjujemy wtedy ją wartością pustą, a jeśli pusta, za zaczyna być potem generowanie kodów błędów funkcją {{LinkŚródtytuł|p.PusteParametryReferencji}}, by potem się zakończyła ta funkcja.
Przeciwnie są liczone parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, tą samą metodą, co w punkcie: {{LinkZobaczTeż|nazwy}}.
Gdy nazwy {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}} są porównywane z nazwami, którymi się przypisje jak w: {{LinkZobaczTeż|nazwy}}, wtedy uruchamiamy funkcję: {{LinkŚródtytuł|p.LinkowanieInnychStron}}, przeciwnie wtedy działają dwie funkcje uruchomione po kolei, tzn.: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
== {{Śródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}{{Code|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} ==
Funkcja służy do zbierania informacji o danej analizowanej stronie, którego główną częścią jest strona korzystana, w której gromadzą się informacji też z pozostałych.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, czy_artykul_korzystany,tablica_zmiennych,czy_szablon_pudelkowy_strony_zbiorczej)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} - jak w: {{LinkPatrz|czy_szablon_pudelkowy_strony_zbiorczej}}.
=== {{Śródtytuł|__FUNKCJA_ARTYKULU}}{{Code|__FUNKCJA_ARTYKULU}} ===
Funkcja do tworzenia tabeli artykułów z innymi parametrami wielowymiarowej tej tabeli, a jeżeli owe pośrednie, i nie tylko, istnieją, to te tabele są zwracane lub nowo są tworzone.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji {{ZobaczTeż|parametry artykułu}}:
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}},
* {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu}} - nazwa artykułu w książce, bez pełnej nazwy książki.
Poniżej są tworzone podtabele puste, jeśli nie zostały utworzone.
Funkcja, która w tabeli: {{Code|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}} {{Patrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, która istnieje, tworzy tabele trójwymiarową kolejno po prarametrach: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, te tabele pośrednie śą wtedy tworzone, jeśsli nie istnieją, a gdy istnieją to nie są tworzone, tylko funkcja przechodzi do dalszych.
Dalej tworzona jest podtabela, jeśli nie istnieje o nazwie {{Code|lista_podstron_woluminu}} {{Patrz|lista_podstron_woluminu}}.
Następnie generowana jest podtabela, jeśli nie istnieje, o kluczu: {{LinkPatrz|nazwa_artykulu}}.
Funkcja zwraca kolejno elementy, jeśli klucz: {{LinkPatrz|nazwa_artykulu}}, istnieje, zatem:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany;
</syntaxhighlight>
Przeciwnie zwracany jest zbiór zmiennych po kolei:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki;
</syntaxhighlight>
Co to są za zmienne, wiadomo z ich nazw, po prostu są to pewne pośrednie, i nie tylko, tabele.
=== {{Śródtytuł|__FUNKCJA_POBIERANIE}}{{Code|__FUNKCJA_POBIERANIE}} ===
Funkcja zwraca parametry strony aktualnej, analizowanej jeszcze raz, aby ją nie powtórnie rewidować, lub podobnie dla innego artykułu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_POBIERANIE(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji są takie same jak w punkcie {{LinkZobaczTeż|parametry artykułu}}.
{{Tab}}Analiza dla artykułów niekorzystanych według parametru: {{LinkPatrz|czy_artykul_korzystany}}:
Dla jeszcze raz analizowanego artykułui aktualnego zwracane są parametry:
<syntaxhighlight lang="lua">
return 0,nil,nil,nil,nil,nil,self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron,false;
</syntaxhighlight>
Tabela: {{Code|self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron}}, tam są dane zebrane z aktualnego artykułu.
Dla innej takiej strony jest tworzony parametr, jeżeli jest włączona analiza, dla klucza: {{Code|analiza_spis_tresci}} {{Patrz|analiza_spis_tresci}}, według tego jest tworzony wartością prawdziwą parametr o innym znów kluczu: {{Code|analiza_spis_tresci_doloczone}} {{Patrz|analiza_spis_tresci_doloczone}}:
<syntaxhighlight lang="lua">
if(self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci)then
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=true;
end;
</syntaxhighlight>
Dla elementu: {{LinkPatrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, jeżeli dany artykuł był już rewidowany, to zwracane są elementy:
<syntaxhighlight lang="lua">
return 0,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni,dane_zebrane_ze_stron,true;
</syntaxhighlight>
To: {{Code|dane_zebrane_ze_stron}} {{Patrz|dane_zebrane_ze_stron}}, to podtabela: {{LinkPatrz|lista_podstron_woluminu}}, z kluczem: {{LinkPatrz|nazwa_artykulu}}, o nazwie takiej samej jak ten parametr zwracany.
Przeciwnie jest zwracane: {{Code|true}}, lub {{Code|nil}}, jeśli tabela: {{Code|self.tabela_listy_danych_analizy_ksiazki}} {{Patrz|self.tabela_listy_danych_analizy_ksiazki}}, lub podtatela: {{LinkPatrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, nie istnieje.
=== {{Śródtytuł|InneInformacjePrzebneDoAnalizowanejKsiazki}}{{Code|InneInformacjePrzebneDoAnalizowanejKsiazki}} ===
Funkcja do zbierania informacji o spisie artykułów książkowych i ich licencjach oraz ewentualnie zebrane informacje ze stron: {{lk2|Szablony nawigacyjne układu autonawigacji do autonawigacji podręczników}}, z szablonu, w któreś tej pozycji w: {{s|Układ autonawigacji}}, i ze spisów podanej w niej jako parametry.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function InneInformacjePrzebneDoAnalizowanejKsiazki()...end;
</syntaxhighlight>
Parametry funkcji:
* brak.
==== {{Śródtytuł|__FUNKCJA_SPISU}}{{Code|__FUNKCJA_SPISU}} ====
Funkcja do inicjowania parametrów spisu, aktualnego artykułu, uzyskanych z ich analizy.
Definicja skrotowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_SPISU(tablica_ksiazki,czy_podac_adres)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tablica_ksiazki}} {{Patrz|tablica_ksiazki}} - tablica dla analizowanej książki,
* {{Code|czy_podac_adres}} {{Patrz|czy_podac_adres}} - czy podać adres bazowego woluminu.
Tablicy: {{linkPatrz|tablica_ksiazki}}, jest inicjowany element: {{Code|spis}} {{Patrz|spis}}, tabelą: {{Code|tabela_artykulow}} {{Patrz|tabela_artykulow}}.
Gdy: {{LinkPatrz|czy_artykul_korzystany}}, jest wartością fałszywą, to iniciowaną tablicy: {{LinkPatrz|tablica_ksiazki}}, jest parametr o kluczu: {{Code|licencja}} {{Patrz|licencja}}, tabelą: {{Code|tabela_licencji_spisu_tresci}} {{Patrz|tabela_licencji_spisu_tresci}}.
Dalej kolejno elementy: {{Code|nazwa_bazowego_spisu}} {{Patrz|nazwa_bazowego_spisu}}, {{Code|tab_inne_spisy}} {{Patrz|tab_inne_spisy}} i {{Code|dodatkowe_strony_woluminu}}, tabeli: {{LinkPatrz|tablica_ksiazki}}, i inicjowane są tabelami o takich samych nazwach jak te klucze dwa, a ostatni tabelą: {{Code|dodatkowe_artykuly}} {{Patrz|dodatkowe_artykuly}}.
Dla tabeli: {{LinkPatrz|tablica_ksiazki}}, o kluczu w nim {{Code|adres_woluminu_bazowego_spisu_rzeczy}}, ona jest przyrównywana wartością: {{Code|adres_ksiazki_glownego_spisu_tresci}} {{Patrz|adres_ksiazki_glownego_spisu_tresci}}, jeśli istnieje: {{LinkPatrz|czy_podac_adres}}, lub przeciwnie wartością {{Code|nil}}.
==== Dalszy opis funkcji - etap I ====
Jeżeli dla aktualnego artykułu dla książki nie ustawiono kodu: {{Code|strony poza zakresem obsługiwanym}}, wtedy są analizowane elementy opisane w nagłówku opisywanej funkcji, pod warunkiem, jeżeli istnieją parametry nazw książki: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}.
Gdy artykuł jest analizowany, wtedy parametr: {{LinkPatrz|czy_artykul_korzystany}}, wtedy jest przy istnieniu: {{Code|self.tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|self.tabela_listy_danych_analizy_ksiazki}}, jest ustawiany w nim element: {{Code|CzyArtykułKsiążki}} {{Patrz|CzyArtykułKsiążki}}, z wartością na {{Code|tak}}.
Gdy już spis jeszcze nie analizowano, a jeżeli juz został zanalizowany, to sprawdzany jest: {{Code|czy_spis_analizowano}}, tablicy: {{LinkPatrz|tablica_ksiazki}}.
A jeśli jednak spisy książki nie zostały sprawdzone i sparsowane, wtedy uruchamia się następne rozgałęzienie pętli.
Uruchamia się dalej funkcja: {{Code|{{sr|#p.ZbieranieInformacjiSpisuRzeczyWoluminuEwentualnieWedleAutonawigacji|p=StronicowyParser/SpisTreści}}}}, w nim są uruchamiane w pewien sposób dwie funkcje.
===== {{Code|p.ZbieranieInformacjiSpisuRzeczyWoluminuEwentualnieWedleAutonawigacji}} =====
Ta funkcja służy do parsowania spisów i innych omówionych elementów książki danego artykułu.
====== Pierwsza anonimowa funkcja ======
Dla analizowanej pierwszej funkcji, ona jest uruchamiana, wtedy kiedy zostały zebrane wszystkie informrmacje ze spisów, wtedy dla elementu: {{Code|tablica_ksiazki_strona}} {{Patrz|tablica_ksiazki_strona}}, sprawdzane, czy jego element {{LinkPatrz|spis}} istnieje, jeśli istnieje, zatem elementy z: {{Code|_strona_temp}}, inicjujemy tymi z: {{Code|_strona}}, z elementów zmiennych tej funkcji, w takim razie inicjujemy inne jego podelementy, tzn.: {{Code|spis}} {{LinkPatrz|spis}}, {{Code|licencja}} {{LinkPatrz|licencja}}, {{Code|nazwa_bazowego_spisu}} {{LinkPatrz|nazwa_bazowego_spisu}}, {{Code|tab_inne_spisy}} {{LinkPatrz|tab_inne_spisy}}, {{Code|dodatkowe_strony_woluminu}} {{Patrz|dodatkowe_strony_woluminu}} i {{Code|adres_woluminu_bazowego_spisu_rzeczy}} {{Patrz|adres_woluminu_bazowego_spisu_rzeczy}}, elementu: {{LinkPatrz|tablica_ksiazki}}, tymi saamymi elementami, ale dla innej strony, tzn.: {{Code|tablica_ksiazki_strona}} {{LinkPatrz|tablica_ksiazki_strona}}.
Też jest inicjowany element tej pierwszej zmiennej książkowej o kluczu: {{Code|referencja_do_nowej_formy_spisu}}, według:
<syntaxhighlight lang="lua">
tablica_ksiazki.referencja_do_nowej_formy_spisu={tablica_przestrzeni_strona,tablica_przestrzeni_ksiazki_strona,tablica_ksiazki_strona,};
</syntaxhighlight>
Funkcja wtedy zwróci wartość: {{Code|1}}.
====== Druga anonimowa funkcji ======
Ta funkcja działa, gdy parametry strony, tzn.: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, są równe podobnym parametrom z: {{Code|_ref_spis}}, tzn. czy spis jest analizowanym korzystanym artykułem.
Ta funkcja kopiuje dokładnie elementy z: {{Code|_ref_spis}}, temu z: {{Code|_ref}}, te elementy, to nic innego jak: {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}}, {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}} i {{Code|tablica_danych_parametrow_szablonu_strony}} {{LinkPatrz|tablica_danych_parametrow_szablonu_strony}}.
==== Dalszy opis funkcji - etap II ====
=== {{Śródtytuł|PrzekierownieAwaryjne}}{{Code|PrzekierownieAwaryjne}} ===
=== {{Śródtytuł|StronaZbiorcza}}{{Code|StronaZbiorcza}} ===
=== {{Śródtytuł|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}}{{Code|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}} ===
=== {{Śródtytuł|GeneralnaAnalizaSzablonuStronicowegoParsera}}{{Code|GeneralnaAnalizaSzablonuStronicowegoParsera}} ===
=== {{Śródtytuł|IterowaniePoElementachTekstu}}{{Code|IterowaniePoElementachTekstu}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieNaglowek}}{{Code|KtorySzablonMaZwracacKategorieNaglowek}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieTekst}}{{Code|KtorySzablonMaZwracacKategorieTekst}} ===
=== {{Śródtytuł|CzyJestTakiProblemJakoElementTablicy}}{{Code|CzyJestTakiProblemJakoElementTablicy}} ===
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
55hexv0octqiyaed9of34scqig8k9es
547260
547259
2026-06-30T08:23:39Z
Persino
2851
/* Druga anonimowa funkcji */
547260
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/ZbieranieDanychStron}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== Zbieranie informacji o uchwycie ==
=== {{Śródtytuł|p.UchwytyZeiBezNumeracji}}{{Code|p.UchwytyZeiBezNumeracji}} ===
Funkcja zbiera uchwyty, dla obiektów {{ZobaczTeż|p.UchwytyZeiBezNumeracji}}, bez numeracji, nie licząc obiektów tekst takich jak {{s|Śródtekst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UchwytyZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,lista_dwuelementowa,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} {{Patrz|self}} - zmiennna obiektowa modułu {{Code|{{ld2|StronicowyParser/ZbieranieDanychStron}}}} {{Patrz|StronicowyParser/ZbieranieDanychStron}},
* {{Code|tabela_elementow_strony_kodow}} {{Patrz|tabela_elementow_strony_kodow}} - zmienna zbierająca takie kody jak {{LinkZobaczTeż|p.UchwytyZeiBezNumeracji}},
* {{Code|nazwa_obiektu}} {{Patrz|nazwa obiektu}} - nazwa obiektu,
* {{Code|lista_dwuelementowa}} {{Patrz|lista_dwuelementowa}} - pozycja w normalnej tabeli uchwytów i przeważnie ich numeracji, a tutaj dla tego obiektu,
* {{Code|kod}} {{Patrz|kod}} - numer kodu dla tego obiektu.
Funkcja zbiera elementy {{LinkPatrz|lista_dwuelementowa}} w tablicy wielowymiarowej o pierwszym elemencie wymiaru {{LinkPatrz|nazwa obiektu}} i trzecim {{LinkPatrz|kod}}, oraz o drugim {{Code|uchwyty_bez_numeracji}} {{Patrz|uchwyty_bez_numeracji}}.
=== {{Śródtytuł|p.WydobywanieUchwytuZeiBezNumeracji}}{{Code|p.WydobywanieUchwytuZeiBezNumeracji}} ===
Funkcja wydowywa tablicę uchwytu dla pozycji, ale nie sam uchwyt, dla podtablicy {{LinkPatrz|uchwyty_bez_numeracji}} o danym kodzie {{LinkPatrz|kod}}, dla nazwy obiektu {{LinkPatrz|nazwa_obiektu}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.WydobywanieUchwytuZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_elementow_strony_kodow}} - jak w: {{LinkPatrz|tabela_elementow_strony_kodow}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}}.
Funkcja wykorzystuje elementy tablicy: {{LinkPatrz|uchwyty_bez_numeracji}}, wstawione przez funkcję: {{LinkŚródtytuł|p.UchwytyZeiBezNumeracji}}.
=== {{Śródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}{{Code|p.RozpatrywanieElementuUchwytuNumeracji}} ===
Funkcja wsadzająca utworzoną tablicę z podanym uchwytem do ogólnej tablicy pozycji nazwanych tabel z uchwytami o danej pozycji z nim.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|kod_uchwytu}} {{Patrz|kod_uchwytu}} - kod uchwytu podanego do szablonu stronicowego z odpowiednim uchwytem,
* {{Code|tab_numer}} {{Patrz|tab_numer}} - tablica z numerkami ilości elementów w tablicy parametrów nazwanych z uchwytami, w danym elemencie analizowania strony z uchwytami i obiektami,
* {{Code|tablica_zmiennych}} {{Patrz|tablica_zmiennych}} - tablica analizowania obiektów, danej strony,
* {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} {{Patrz|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - kolejno: nazwa przestrzeni nazw, nazwa przestrzeni książki, nazwa książki i nazwa artykułu książki,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} {{Patrz|czy_artykul_korzystany}} - czy artykuł aktualny wyświetlany w przeglądarce,
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} {{Patrz|nazwa_modulu_aktualna_czy_biezaca}} - nazwa artykułu aktualna lub bieżąca,
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{Patrz|tablica_analizy_obiektow_strony_dany_modul}} - tablica bazy kodów parsowania strony,
* {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - tablica analizy poszczególnych elementów kodów, do szybszego działania skryptu,
* {{Code|KtorySzablonMaZwracacKategorie}} {{Patrz|KtorySzablonMaZwracacKategorie}} - tablica zbierająca odkodowany i rozwinięty uchwyt, do analizowania w nim zebranych kategorii, według modułu: {{Code|{{ld2|StronicowyParser/Kategorie}}}}, uruchamiana w szablonach stronicowych z funkcjami '''stronicowego parsera'''.
Funkcja rozwija {{LinkPatrz|kod_uchwytu}} funkcją {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a potem je odkodowuje przy pomocy: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a jeżeli ona nie jest pusta, to dla tego jest uruchamiana funkcja {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Tworzona jest tablica {{Code|lista_dwuelementowa}} {{LinkPatrz|lista_dwuelementowa}} z uchwytem, jako pierwszy parametr.
Jest sprawdzane, czy element {{Code|tablica_zmiennych.sprawdzenie_dokonane_obiektu}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, jest fałszywy, jeżeli tak, to dalej jest sprawdzane, czy są elementy numerowane nazwanej tablicy: {{Code|tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2}} o nazwie {{LinkPatrz|nazwa_obiektu}}, a jeżeli jest pusta - na samym końcu jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, czyli jest inicjowana na wartość {{Code|true}}, to dalej jest sprawdzane, czy dla elementów: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy dana książka jest poza zakresem obsługiwanym, czyli rewidowane jest, czy jest ustawiony kod problemu {{Code|strony poza zakresem obsługiwanym}}, czy a jeżeli jednak nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}, ustawiające pewne elementy błędu, jeżeli trzeba to zrobić.
Gdy tabela {{LinkPatrz|tab_numer}} odpowiada nienilowej tablicy, wtedy element {{LinkPatrz|lista_dwuelementowa}} jest wstawiany na odpowiedniej pozycji, ale przeważnie nie na końcu, przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=table.insert|b=tak}}}}, dzięki określonej tabeli {{LinkPatrz|tab_numer}}, przeciwnie na jej końcu.
Funkcja zwraca element {{LinkPatrz|lista_dwuelementowa}}.
=== {{Śródtytuł|p.RozpatrywanieSzablonuObiektuDoNumeracji}}{{Code|p.RozpatrywanieSzablonuObiektuDoNumeracji}} ===
Funkcja, która uruchamia funkcję: {{LinkŚródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}, dla istniejącego uchwytu w postaci nazwanej o kluczu: {{Code|uchwyt}} {{Patrz|uchwyt}}, lub nienazwanej - w postaci numeru jego uchwytu o kluczu: {{Code|numer_numeracji}} {{Patrz|numer_numeracji}}, wsadzająca tabele z uchwytem na odpowiednią pozycję w odpowiedniej nazwanej tabeli o nazwie obiektu {{LinkPatrz|nazwa_obiektu}} w ogólnej tabeli: {{LinkPatrz|tablica_zmiennych}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}}- tabela parametrów szablonu,
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|numer_numeracji}} - jak w: {{LinkPatrz|numer_numeracji}},
* {{Code|tab_numer}} - jak w: {{LinkPatrz|tab_numer}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
== {{Śródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}{{Code|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}} ==
Funkcja sprawdza, czy dany artykuł należy do artykułów, któregoś spisu treści, a jeżeli nie, to dla stron, które nie należą do kategorii z ustawionym problemem {{Code|strony poza zakresem obsługiwanym}}, ale do nieaktualnej strony jest ustawiony problem {{Code|brak spisów treści do dołączonych stron}}. Natomiast dla aktualnej dla stron tej samej kategorii ustawiany jest problem {{Code|brak spisu treści do korzystanych stron}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== {{Śródtytuł|p.PusteParametryReferencji}}{{Code|p.PusteParametryReferencji}} ==
Funkcja sprawdza, jeśli są podane parametry szablonu stronicowego, które są w kategorii: {{lk|Szablony stronicowe}}, czyli: {{Code|nazwa_artykulu}}, ewentualnie: {{Code|nazwa_ksiazki}}, ale zawsze z: {{Code|uchwyt_obiektu}}, czy są one puste.
A jeżeli one istnieją i są takie, to są ustawione problemy typu, jeśli ich wcześniej nie ustawiono:
* {{Code|puste parametry szablonów stronicowych linkujących}} {{Patrz|puste parametry szablonów stronicowych linkujących}}, kolejno dla: {{Code|uchwyt_obiektu}}, {{Code|nazwa_artykulu}} i {{Code|nazwa_ksiazki}}, kolejno z numerami problemów: {{Code|1}}, {{Code|2}} i {{Code|3}}.
Dla obiektu o nazwie {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}.
{{Hr}}
Definicja skrótowa funkcji
<syntaxhighlight lang="lua">
function p.PusteParametryReferencji(self, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu)...end;
</syntaxhighlight>
Paraametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} {{Patrz|uchwyt_obiektu}} - uchwyt obiektu, podane w danym szablonie stronicowym,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}}.
== {{Śródtytuł|p.SzablonyReferencjiParametrowych}}{{Code|p.SzablonyReferencjiParametrowych}} ==
Funkcja z parametrów pudełkowych nazwy artykułu {{ZobaczTeż|nazwa artykułu}}: {{Code|nazwa artykułu}} {{Patrz|nazwa artykułu}} albo {{Code|1}}, gdy bezuchwytowe lub {{Code|2}}, i pełnej nazwy książki {{ZobaczTeż|pełna nazwa strony}}: {{Code|nazwa książki}} {{Patrz|nazwa książki}} albo, {{Code|2}}, gdy bezuchwytowe lub {{Code|3}}. To wszystko jest liczone z: {{LinkPatrz|tabela_parametrow_szablonu}} lub przy użyciu parametru również {{Code|bezuchwytowe}} {{Patrz|bezuchwytowe}}, gdy mamy szablon stronicowy {{lk|Szablony stronicowe}}, bezuchwytowy, wtedy {{Code|true}}, przeciwnie {{Code|false/nil}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca,bezuchwytowe)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{Code|bezuchwytowe}} - jak w: {{LinkPatrz|bezuchwytowe}}.
Funkcja obie nazwy dekoduje funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a później jest liczony adres bezwzględny z względnego dzięki: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, przy pomocy podstawy {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}}, podobnie ale wcześniej jest liczona nazwa artykułu {{linkZobaczTeż|nazwa artykułu}}, czyli: {{LinkPatrz|nazwa_artykulu}}, ale tutaj adres względny jest liczony z podstawy o ciągu pustym jako drugi parametr.
Na podstawie pełnej nazwy książki {{LinkZobaczTeż|pełna nazwa strony}}: jest liczona bardziej jej wersja pełniejsza, jeżeli to jest w ogóle możliwe z: {{Code|{{sr|#p["PełnaNazwaStronicowejKsiążki"]|p=Książkowe}}}}. A póżniej z tego wszystkiego są liczone nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, przy pomocy funkcji nazw: {{Code|{{ld2|Nazwy}}}}.
Na samym końcu funkcji są zwracane parametry nazw, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== Funkcje zbierania informacji ==
=== {{Śródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}{{Code|p.ZbieranieInformacjiStronyWoluminowychPozycji}} ===
Funkcja zbierania informacji na stronie dla szablonów stronicowych: {{lk|Szablony stronicowe}}, bezuchwytowych, gdy nie jest uruchomiony parametr: {{Code|czy_inna_wartosc_tekst}} {{Patrz|czy_inna_wartosc_tekst}}, wtedy jest wywoływana funkcja: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}, która liczy kolejne nazwy charaktertyzujące nazwy dla danego artykułu książki dla danej strony, przeciwnie parametry nazw są ściagane z: {{Code|tab_nazwy}} {{Patrz|tab_nazwy}}, ta tabela składa się numerowanych elementów, którymi są nazwy charakyteryzujące stronę.
Gdy jakaś nazwa artylułu strony została policzona, wtedy są liczone pozostałe nazwy z: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, a na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, a tuż przed nim, jeśli istnieje: {{Code|KtorySzablonMaZwracacKategorie}} {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,KtorySzablonMaZwracacKategorie,czy_inna_wartosc_tekst,tab_nazwy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_inna_wartosc_tekst}} - jak w: {{LinkPatrz|czy_inna_wartosc_tekst}},
* {{Code|tab_nazwy}} - jak w: {{LinkPatrz|tab_nazwy}}.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacji}}{{Code|p.ZbieranieKontenerowychInformacji}} ===
Funkcja do zbierania informacji, która z parametrów pudełkowych: {{Code|{{m|Pudełko}}}}, czyli: {{Code|nazwa przestrzeni nazw}} {{Patrz|nazwa przestrzeni nazw}} i {{Code|nazwa jednostki}} {{Patrz|nazwa jednostki}}, z nich są liczone parametry nazw charakteryzujące artykuł książki strony. A na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} {{Patrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,czy_szablon_pudelkowy_strony_zbiorczej,KtorySzablonMaZwracacKategorie)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} {{Patrz|czy_szablon_pudelkowy_strony_zbiorczej}} - funkcja potrzebna do funkcji zbierającej {{LinkPatrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, określającej, czy mamy szablon pudełkowy strony zbiorczej, taki jak: {{Code|{{s|StronaSubst}}}}, czy: {{Code|{{s|KsiążkaSubst}}}}, zobacz stronę: {{Code|{{lr2|Moduły/StronicowyParser/StronaSubst}}}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Gdy nie ma parametrów pudełkowych funkcja się natychmiast zakańcza, lub parametr: {{LinkPatrz|nazwa jednostki}}, jest pusta, lub nawet gdy zawierają kody wykrywane przez funkcję: {{Code|{{sr|#p.NormaWzoruKodowaniaTekstu|p=Szablonowe}}}}.
Z nazwy jednostki jest wydzielana nazwa jednostki właściwa bez nazwy nagłówka, póżniej obie nazwy są też dekodowane funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, czyli wszystko z: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}.
Z tych dwóch nazwy jest liczony adres, ewentualnie względny, który za pomocą funkcji: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, jest wyliczany adres bezwzględny.
Dalej są liczone nazwy charakteryzujące artykuł danej książki strony, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, z tego adresu strony.
Przedostatnia funkcja, która jest uruchamiana przed funkcją zbierającą jest: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}, jeśli istnieje.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacjiReferencji}}{{Code|p.ZbieranieKontenerowychInformacjiReferencji}} ===
Funkcja zbiera informacje o stronie. Na podstawie informacji o nazwie artykułu i pełnej nazwy książki liczy parametry nazw charakteryzujące artykuł, co na tej podstawiwe liczy parametry pudełkowe i wywołuje funkcję główną przez inną funkcję, też zbierającą, i zbiera informacje o artykule.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacjiReferencji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, jako parametry zwracane przez funkcję: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}. Funkcja wyznacza parametry pudełkowe {{m|Pudełko}}, tzn.: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}, na podstawie tych nazw. Funkcja na samym końcu wywołuje funkcję zbierającą dane ze strony: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}, która z kolei uruchamia potem: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
== {{Śródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}{{Code|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}} ==
Funkcja sprawdza niepoprawność nazwy strony i na podstawie tego ustawia pewne kody problemów.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,__FUNKCJA_SPRAWDZANIE)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|__FUNKCJA_SPRAWDZANIE}} {{Patrz|__FUNKCJA_SPRAWDZANIE}} - funkcja uruchamiana, jeśli jest ustawiona, na wypadek poprawności strony.
W przypadku niepoprawności strony, gdy strona modułu jest aktualna (bieżąca), wtedy sprawdzany jest kod problemu, czy jest ustawiony, tzn.: {{Code|nieprawidłowe nazwy korzystanych stron}}, przy pomocy funkcji: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli nie ma takiego, to wtedy jest uruchamiana funkcja: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}. Podobnie jest dla niekorzystanej strony, wtedy jest problem dla kodu: {{Code|nieprawidłowe nazwy stron dołączanych do stron}}.
== Zbieranie informacji o linkach ==
=== {{Śródtytuł|p.LinkowanieFinalizowaniePrac}}{{Code|p.LinkowanieFinalizowaniePrac}} ===
Funkcja wadza uchwyt obiektu, wsazujący na aktualną stronę, do pewnej strony, i ewentualnie ustawia pewne problemy, jeśli je nie ustawiono.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} {{Patrz|obiekt}} - obiekt, obsługiwany przez tą funkcję linku,
* {{Code|kod}} {{LinkPatrz|kod}} - kod obiektu dla: {{LinkPatrz|obiekt}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} - jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}},
* {{Code|czy_pobierz}} {{Patrz|czy_pobierz}} - czy to jest szablon typu {{Code|Pobierz}} {{Patrz|Pobierz}}, jak: {{s|PobierzŚródtekst}}.
Funkcja sprawdza, czy nie został ustawiony element {{Code|tablica_zmiennych.sprawdzenie_dokonane_linku}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}, a jeżeli tak, to dalej, czy nie ma elementów numerowanych przy pomocy funkcji: {{Code|{{sr|#p["CzySąElementyNumerowaneTablicy"]|p=Parametry}}}}, a jeśli również tak, to dalej jest sprawdzane, czy został ustawiony problem: {{Code|strony poza zakresem obsługiwanym}}, przy pomocy: {{Code|{{sr|#p.CzyJestTakiElementTabeliProblemu|p=StronicowyParser/Problemy}}}}, a jeżeli nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}. Na samym końcu tej instrukcji warunkowej jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}.
Dalej pod tą instrukcją warunkową, jest robione, co powiedziane zostało w prologu tego opisu tej funkcji, tzn. z wyznaczonej tablicy ze: {{LinkPatrz|tablica_zmiennych}}, a dalej z wyznaczonej następnej podtabeli o kluczu: {{LinkPatrz|nazwa_obiektu}}.
Następnie, gdy element: {{LinkPatrz|czy_pobierz}}, jest ustawiony na {{Code|true}}, wtedy dla {{LinkPatrz|uchwyt_obiektu}}, pewna tablica, jest wstawiana do tablicy: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}}, jeśli istnieje, a jeśli nie, to jest tworzona, jako tablica, wtedy też jest to robione. Tą czynnością wstawiany tabelę, do tej tablicy, czyli:
<syntaxhighlight lang="lua">
{{nazwa_obiektu,uchwyt_obiektu,},{obiekt,kod,},}
</syntaxhighlight>
=== {{Śródtytuł|p.LinkowanieInnychStron}}{{Code|p.LinkowanieInnychStron}} ===
Funkcja do sprawdzania innych stron niż aktualna, a jeżeli dana strona została już sprawdzona, to powtórnie nie jest już rewidowana. Funkcja ustawia w głównej tablicy aktualnej tabeli {{LinkPatrz|tablica_zmiennych}} pewne podtablice.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieInnychStron(self,obiekt,kod,tablica_zmiennych, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejo jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Najpierw jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, która w razie poprawności nazwy strony, czyli inaczej nazw tej strony, tzn.: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, uruchamia funkcję zdefiniowaną w nim.
{{Tab}}Ta funkcja sprawdza, czy któraś z parametrów nazw istnieje, a jeżeli nie, to dalej jest inicjowana zmienna: {{Code|tablica_zmiennych2}} {{Patrz|tablica_zmiennych2}} pustą tablicą i podobnie {{Code|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}} {{Patrz|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}}, to uruchamiana jest: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, do zbierania informacji o stronie nowej lub przebadanej (wtedy zostają zwrócone parametry z wczęsniejszego jego analizowania, jak była nowa). Funkcja zwraca trzy parametry, tzn. {{Code|tabela_listy_danych_analizy_ksiazki0}} {{Patrz|tabela_listy_danych_analizy_ksiazki0}}, {{LinkPatrz|tablica_zmiennych2}} i {{Code|czy_inna}} {{Patrz|czy_inna}}. Te parametry mogą przyjmować wartość {{Code|nil}}, lub pierwszy {{Code|0}}, drugi, to nic innego jest jak: {{LinkPatrz|tablica_zmiennych2}}, a trzeci parametr jest wtedy równy {{Code|true}}, gdy strona jest nowa, a {{Code|false}} aktualna, a gdy {{Code|nil}}, gdy np. zawartość strony nie istnieje.
Gdy parametr: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, istnieje, wtedy jest spraqdzane, czy któreś z parametrów: {{LinkPatrz|tablica_zmiennych2}} i {{LinkPatrz|czy_inna}}, nie istsnieje, wtedy ta funkcja się zakańcza.
==== {{Śródtytuł|JuzPoliczone}}{{Code|JuzPoliczone}} ====
Dla obiektów, dla których jest ustawiony parametr: {{LinkPatrz|czy_pobierz}}, co dalej w tym rozgałęzieniu instrukcji warunkiwej jest uruchamiana funkcja szablonów tekstu, czyli: {{Code|{{sr|#p.UstawianiePobierz|p=StronicowyParser/SzablonyTekstu}}}}, aby również później za pomocą innych funkcji przeanalizować również tekst w szablonach takich jak: {{s|Śródtekst}}.
Dalej jest tworzona tablica, jeśli nie istnieje, tzn. {{Code|tablica_zmiennych2.dane_juz_policzone}} {{Patrz|tablica_zmiennych2.dane_juz_policzone}}, czyli jest inicjowana pustą tablicą. Dalej jest tworzona, jeśli nie istnieje, tablica wielowymiarowa po kolei, o kluczach kolejno: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}, {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu}}, a jeżeli ta ostatnia wartość tej tablicy była wcześniej, to zwracane jest {{Code|true}}, przeciwnie {{Code|false}}, a tej ostatniej wartości tej tablicy jest przydzielana wartość {{Code|true}}.
==== Dalszy opis funkcji ====
Gdy parametr: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest równy {{Code|0}}, ale nie {{Code|nil}}, wtedy jest sprawdzane, czy artykuł został wcześniej zrewidowany według: {{LinkŚródtytuł|JuzPoliczone}}, a jeżeli tak to jest zakańczany, a gdy ten parametr taakiej wartośsci nie przyjmuje, wtedy tylko jest uruchamiana funkcja bez żadnego warunku.
{{Tab}}Następnie jest uruchamiana funkcja: {{Code|{{sr|#p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony|p=StronicowyParser/SzablonyTekstu}}}}, do przydzielenia pewnych zmiennych z {{LinkPatrz|tablica_zmiennych2}} tablicy {{LinkPatrz|tablica_zmiennych}}.
{{Tab}}Jest sprawdzane, czy dany artykuł należy do spisu, jeżeli nie to są ustawiane pewne kody problemów w tablicy problemów, tzn. {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}.
Dalej jest sprawdzane, czy podany uchwyt {{LinkPatrz|uchwyt_obiektu}}, który jest podany w szablonach linków na aktualnej stronie, czy jest tylko jeden na stronie sprawdzanej, a jeżeli nie jest tak, to jest sprawdzane, czy nie istnieje ustawiony problem: {{Code|błędy uchwytów korzystanych stron}}, funkcją: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to taki problem jest dodawany dzięki: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
{{Tab}}Uruchamiana jest dalej funkcja: {{LinkŚródtytuł|p.PusteParametryReferencji}}, do sprawdzania pustości pewnych parametrów.
{{Tab}}Gdy tabela: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest jednak równa wartości odpowiadającej fałszywej, wtedy jeśli nie istnieje problem: {{Code|błąd wewnętrzny modułu lua stronicowego parsera}}, co jest rewidowane elementem: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to dodawany jest taki problem do tabeli problemów na podstawie: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
=== {{Śródtytuł|p.GeneralneLinkowanie}}{{Code|p.GeneralneLinkowanie}} ===
Funkcja zbiera uchwyty, na aktualnej lub innej stronie, a także je analizuje w odpowiedni sposób, modyfikuje tablica aktualnego modułu, czyli: {{LinkPatrz|tablica_zmiennych}}, na podstawie poszczególnych artykułów tej książki lub innej, która zbiera raz informacje o danej stronie.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Funkcja wyznacza uchwyt z tabeli parametrów: {{LinkPatrz|tabela_parametrow_szablonu}}, o kluczu {{Code|uchwyt}} {{LinkPatrz|uchwyt}} lub {{Code|1}}, a później w kodzie jest on kompletowany funkcją: {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a następnie rozwijany w niej, a później jest dekodowany: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}.
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, wywołujac: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}.
Na samym końcu jest uruchamiana: {{LinkPatrz|KtorySzablonMaZwracacKategorie}} z parametrem o tym uchwycie, wyliczonym wcześniej.
Gdy uchwyt istnieje, ale jest pusty, wtedy uruchamia się: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, następnie: {{LinkŚródtytuł|p.PusteParametryReferencji}}, a jeśli ta wartość nie istnieje, wtedy tylko ta ostatnia funkcja.
Gdy uchwyt: {{LinkPatrz|uchwyt}}, istnieje i jest niepusty, wtedy jest wyznaczana nazwa artykułu z niej samej, lub jeśli nazwa ksiązki istnieje, tylko, wtedy ta nazwa zaczyna być pusta, przeciwnie {{Code|nil}}, wtedy mamy do czynienia ze stroną główną podręcznika.
Gdy nazwa artykułu nie istnieje, wtedy wywoływana jest: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Jeśli nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest niepusta, i gdy nazwa książki nie istnieje, wtedy są liczone parametry nazw, oprócz nazwy artykułu, bo jest policzona, więc te {{ZobaczTeż|nazwy}}: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, z parametrów charakteryzujących nazwę aktualnego artykułu, a jeśli jednak nazwa książki jest pusta, to są sprawdzane parametry w: {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Gdy nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest nieistnieje, i gdy nazwa książki {{LinkPatrz|nazwa_ksiazki}} jest niepusta, wtedy nazwa artykułu zaczyna istnieć i inicjujemy wtedy ją wartością pustą, a jeśli pusta, za zaczyna być potem generowanie kodów błędów funkcją {{LinkŚródtytuł|p.PusteParametryReferencji}}, by potem się zakończyła ta funkcja.
Przeciwnie są liczone parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, tą samą metodą, co w punkcie: {{LinkZobaczTeż|nazwy}}.
Gdy nazwy {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}} są porównywane z nazwami, którymi się przypisje jak w: {{LinkZobaczTeż|nazwy}}, wtedy uruchamiamy funkcję: {{LinkŚródtytuł|p.LinkowanieInnychStron}}, przeciwnie wtedy działają dwie funkcje uruchomione po kolei, tzn.: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
== {{Śródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}{{Code|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} ==
Funkcja służy do zbierania informacji o danej analizowanej stronie, którego główną częścią jest strona korzystana, w której gromadzą się informacji też z pozostałych.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, czy_artykul_korzystany,tablica_zmiennych,czy_szablon_pudelkowy_strony_zbiorczej)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} - jak w: {{LinkPatrz|czy_szablon_pudelkowy_strony_zbiorczej}}.
=== {{Śródtytuł|__FUNKCJA_ARTYKULU}}{{Code|__FUNKCJA_ARTYKULU}} ===
Funkcja do tworzenia tabeli artykułów z innymi parametrami wielowymiarowej tej tabeli, a jeżeli owe pośrednie, i nie tylko, istnieją, to te tabele są zwracane lub nowo są tworzone.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji {{ZobaczTeż|parametry artykułu}}:
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}},
* {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu}} - nazwa artykułu w książce, bez pełnej nazwy książki.
Poniżej są tworzone podtabele puste, jeśli nie zostały utworzone.
Funkcja, która w tabeli: {{Code|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}} {{Patrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, która istnieje, tworzy tabele trójwymiarową kolejno po prarametrach: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, te tabele pośrednie śą wtedy tworzone, jeśsli nie istnieją, a gdy istnieją to nie są tworzone, tylko funkcja przechodzi do dalszych.
Dalej tworzona jest podtabela, jeśli nie istnieje o nazwie {{Code|lista_podstron_woluminu}} {{Patrz|lista_podstron_woluminu}}.
Następnie generowana jest podtabela, jeśli nie istnieje, o kluczu: {{LinkPatrz|nazwa_artykulu}}.
Funkcja zwraca kolejno elementy, jeśli klucz: {{LinkPatrz|nazwa_artykulu}}, istnieje, zatem:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany;
</syntaxhighlight>
Przeciwnie zwracany jest zbiór zmiennych po kolei:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki;
</syntaxhighlight>
Co to są za zmienne, wiadomo z ich nazw, po prostu są to pewne pośrednie, i nie tylko, tabele.
=== {{Śródtytuł|__FUNKCJA_POBIERANIE}}{{Code|__FUNKCJA_POBIERANIE}} ===
Funkcja zwraca parametry strony aktualnej, analizowanej jeszcze raz, aby ją nie powtórnie rewidować, lub podobnie dla innego artykułu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_POBIERANIE(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji są takie same jak w punkcie {{LinkZobaczTeż|parametry artykułu}}.
{{Tab}}Analiza dla artykułów niekorzystanych według parametru: {{LinkPatrz|czy_artykul_korzystany}}:
Dla jeszcze raz analizowanego artykułui aktualnego zwracane są parametry:
<syntaxhighlight lang="lua">
return 0,nil,nil,nil,nil,nil,self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron,false;
</syntaxhighlight>
Tabela: {{Code|self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron}}, tam są dane zebrane z aktualnego artykułu.
Dla innej takiej strony jest tworzony parametr, jeżeli jest włączona analiza, dla klucza: {{Code|analiza_spis_tresci}} {{Patrz|analiza_spis_tresci}}, według tego jest tworzony wartością prawdziwą parametr o innym znów kluczu: {{Code|analiza_spis_tresci_doloczone}} {{Patrz|analiza_spis_tresci_doloczone}}:
<syntaxhighlight lang="lua">
if(self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci)then
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=true;
end;
</syntaxhighlight>
Dla elementu: {{LinkPatrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, jeżeli dany artykuł był już rewidowany, to zwracane są elementy:
<syntaxhighlight lang="lua">
return 0,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni,dane_zebrane_ze_stron,true;
</syntaxhighlight>
To: {{Code|dane_zebrane_ze_stron}} {{Patrz|dane_zebrane_ze_stron}}, to podtabela: {{LinkPatrz|lista_podstron_woluminu}}, z kluczem: {{LinkPatrz|nazwa_artykulu}}, o nazwie takiej samej jak ten parametr zwracany.
Przeciwnie jest zwracane: {{Code|true}}, lub {{Code|nil}}, jeśli tabela: {{Code|self.tabela_listy_danych_analizy_ksiazki}} {{Patrz|self.tabela_listy_danych_analizy_ksiazki}}, lub podtatela: {{LinkPatrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, nie istnieje.
=== {{Śródtytuł|InneInformacjePrzebneDoAnalizowanejKsiazki}}{{Code|InneInformacjePrzebneDoAnalizowanejKsiazki}} ===
Funkcja do zbierania informacji o spisie artykułów książkowych i ich licencjach oraz ewentualnie zebrane informacje ze stron: {{lk2|Szablony nawigacyjne układu autonawigacji do autonawigacji podręczników}}, z szablonu, w któreś tej pozycji w: {{s|Układ autonawigacji}}, i ze spisów podanej w niej jako parametry.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function InneInformacjePrzebneDoAnalizowanejKsiazki()...end;
</syntaxhighlight>
Parametry funkcji:
* brak.
==== {{Śródtytuł|__FUNKCJA_SPISU}}{{Code|__FUNKCJA_SPISU}} ====
Funkcja do inicjowania parametrów spisu, aktualnego artykułu, uzyskanych z ich analizy.
Definicja skrotowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_SPISU(tablica_ksiazki,czy_podac_adres)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tablica_ksiazki}} {{Patrz|tablica_ksiazki}} - tablica dla analizowanej książki,
* {{Code|czy_podac_adres}} {{Patrz|czy_podac_adres}} - czy podać adres bazowego woluminu.
Tablicy: {{linkPatrz|tablica_ksiazki}}, jest inicjowany element: {{Code|spis}} {{Patrz|spis}}, tabelą: {{Code|tabela_artykulow}} {{Patrz|tabela_artykulow}}.
Gdy: {{LinkPatrz|czy_artykul_korzystany}}, jest wartością fałszywą, to iniciowaną tablicy: {{LinkPatrz|tablica_ksiazki}}, jest parametr o kluczu: {{Code|licencja}} {{Patrz|licencja}}, tabelą: {{Code|tabela_licencji_spisu_tresci}} {{Patrz|tabela_licencji_spisu_tresci}}.
Dalej kolejno elementy: {{Code|nazwa_bazowego_spisu}} {{Patrz|nazwa_bazowego_spisu}}, {{Code|tab_inne_spisy}} {{Patrz|tab_inne_spisy}} i {{Code|dodatkowe_strony_woluminu}}, tabeli: {{LinkPatrz|tablica_ksiazki}}, i inicjowane są tabelami o takich samych nazwach jak te klucze dwa, a ostatni tabelą: {{Code|dodatkowe_artykuly}} {{Patrz|dodatkowe_artykuly}}.
Dla tabeli: {{LinkPatrz|tablica_ksiazki}}, o kluczu w nim {{Code|adres_woluminu_bazowego_spisu_rzeczy}}, ona jest przyrównywana wartością: {{Code|adres_ksiazki_glownego_spisu_tresci}} {{Patrz|adres_ksiazki_glownego_spisu_tresci}}, jeśli istnieje: {{LinkPatrz|czy_podac_adres}}, lub przeciwnie wartością {{Code|nil}}.
==== Dalszy opis funkcji - etap I ====
Jeżeli dla aktualnego artykułu dla książki nie ustawiono kodu: {{Code|strony poza zakresem obsługiwanym}}, wtedy są analizowane elementy opisane w nagłówku opisywanej funkcji, pod warunkiem, jeżeli istnieją parametry nazw książki: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}.
Gdy artykuł jest analizowany, wtedy parametr: {{LinkPatrz|czy_artykul_korzystany}}, wtedy jest przy istnieniu: {{Code|self.tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|self.tabela_listy_danych_analizy_ksiazki}}, jest ustawiany w nim element: {{Code|CzyArtykułKsiążki}} {{Patrz|CzyArtykułKsiążki}}, z wartością na {{Code|tak}}.
Gdy już spis jeszcze nie analizowano, a jeżeli juz został zanalizowany, to sprawdzany jest: {{Code|czy_spis_analizowano}}, tablicy: {{LinkPatrz|tablica_ksiazki}}.
A jeśli jednak spisy książki nie zostały sprawdzone i sparsowane, wtedy uruchamia się następne rozgałęzienie pętli.
Uruchamia się dalej funkcja: {{Code|{{sr|#p.ZbieranieInformacjiSpisuRzeczyWoluminuEwentualnieWedleAutonawigacji|p=StronicowyParser/SpisTreści}}}}, w nim są uruchamiane w pewien sposób dwie funkcje.
===== {{Code|p.ZbieranieInformacjiSpisuRzeczyWoluminuEwentualnieWedleAutonawigacji}} =====
Ta funkcja służy do parsowania spisów i innych omówionych elementów książki danego artykułu.
====== Pierwsza anonimowa funkcja ======
Dla analizowanej pierwszej funkcji, ona jest uruchamiana, wtedy kiedy zostały zebrane wszystkie informrmacje ze spisów, wtedy dla elementu: {{Code|tablica_ksiazki_strona}} {{Patrz|tablica_ksiazki_strona}}, sprawdzane, czy jego element {{LinkPatrz|spis}} istnieje, jeśli istnieje, zatem elementy z: {{Code|_strona_temp}}, inicjujemy tymi z: {{Code|_strona}}, z elementów zmiennych tej funkcji, w takim razie inicjujemy inne jego podelementy, tzn.: {{Code|spis}} {{LinkPatrz|spis}}, {{Code|licencja}} {{LinkPatrz|licencja}}, {{Code|nazwa_bazowego_spisu}} {{LinkPatrz|nazwa_bazowego_spisu}}, {{Code|tab_inne_spisy}} {{LinkPatrz|tab_inne_spisy}}, {{Code|dodatkowe_strony_woluminu}} {{Patrz|dodatkowe_strony_woluminu}} i {{Code|adres_woluminu_bazowego_spisu_rzeczy}} {{Patrz|adres_woluminu_bazowego_spisu_rzeczy}}, elementu: {{LinkPatrz|tablica_ksiazki}}, tymi saamymi elementami, ale dla innej strony, tzn.: {{Code|tablica_ksiazki_strona}} {{LinkPatrz|tablica_ksiazki_strona}}.
Też jest inicjowany element tej pierwszej zmiennej książkowej o kluczu: {{Code|referencja_do_nowej_formy_spisu}}, według:
<syntaxhighlight lang="lua">
tablica_ksiazki.referencja_do_nowej_formy_spisu={tablica_przestrzeni_strona,tablica_przestrzeni_ksiazki_strona,tablica_ksiazki_strona,};
</syntaxhighlight>
Funkcja wtedy zwróci wartość: {{Code|1}}.
====== Druga anonimowa funkcji ======
Ta funkcja działa, gdy parametry strony, tzn.: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, są równe podobnym parametrom z: {{Code|_ref_spis}}, tzn. czy spis jest analizowanym korzystanym artykułem.
Ta funkcja kopiuje dokładnie elementy z: {{Code|_ref_spis}}, temu z: {{Code|_ref}}, te elementy, to nic innego jak: {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}}, {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}} i {{Code|tablica_danych_parametrow_szablonu_strony}} {{LinkPatrz|tablica_danych_parametrow_szablonu_strony}}, czyli tworzymy elementy takie: {{Code|tablica_analizy_obiektow_strony_dany_modul_ref}} {{Patrz|tablica_analizy_obiektow_strony_dany_modul_ref}} i {{Code|tablica_danych_parametrow_szablonu_strony_ref}} {{Patrz|tablica_danych_parametrow_szablonu_strony_ref}}.
==== Dalszy opis funkcji - etap II ====
=== {{Śródtytuł|PrzekierownieAwaryjne}}{{Code|PrzekierownieAwaryjne}} ===
=== {{Śródtytuł|StronaZbiorcza}}{{Code|StronaZbiorcza}} ===
=== {{Śródtytuł|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}}{{Code|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}} ===
=== {{Śródtytuł|GeneralnaAnalizaSzablonuStronicowegoParsera}}{{Code|GeneralnaAnalizaSzablonuStronicowegoParsera}} ===
=== {{Śródtytuł|IterowaniePoElementachTekstu}}{{Code|IterowaniePoElementachTekstu}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieNaglowek}}{{Code|KtorySzablonMaZwracacKategorieNaglowek}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieTekst}}{{Code|KtorySzablonMaZwracacKategorieTekst}} ===
=== {{Śródtytuł|CzyJestTakiProblemJakoElementTablicy}}{{Code|CzyJestTakiProblemJakoElementTablicy}} ===
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
kp3u6ovyrpkpsvxnhdp8ovwgc8giyhj
547261
547260
2026-06-30T08:24:58Z
Persino
2851
/* Druga anonimowa funkcji */
547261
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/ZbieranieDanychStron}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== Zbieranie informacji o uchwycie ==
=== {{Śródtytuł|p.UchwytyZeiBezNumeracji}}{{Code|p.UchwytyZeiBezNumeracji}} ===
Funkcja zbiera uchwyty, dla obiektów {{ZobaczTeż|p.UchwytyZeiBezNumeracji}}, bez numeracji, nie licząc obiektów tekst takich jak {{s|Śródtekst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UchwytyZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,lista_dwuelementowa,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} {{Patrz|self}} - zmiennna obiektowa modułu {{Code|{{ld2|StronicowyParser/ZbieranieDanychStron}}}} {{Patrz|StronicowyParser/ZbieranieDanychStron}},
* {{Code|tabela_elementow_strony_kodow}} {{Patrz|tabela_elementow_strony_kodow}} - zmienna zbierająca takie kody jak {{LinkZobaczTeż|p.UchwytyZeiBezNumeracji}},
* {{Code|nazwa_obiektu}} {{Patrz|nazwa obiektu}} - nazwa obiektu,
* {{Code|lista_dwuelementowa}} {{Patrz|lista_dwuelementowa}} - pozycja w normalnej tabeli uchwytów i przeważnie ich numeracji, a tutaj dla tego obiektu,
* {{Code|kod}} {{Patrz|kod}} - numer kodu dla tego obiektu.
Funkcja zbiera elementy {{LinkPatrz|lista_dwuelementowa}} w tablicy wielowymiarowej o pierwszym elemencie wymiaru {{LinkPatrz|nazwa obiektu}} i trzecim {{LinkPatrz|kod}}, oraz o drugim {{Code|uchwyty_bez_numeracji}} {{Patrz|uchwyty_bez_numeracji}}.
=== {{Śródtytuł|p.WydobywanieUchwytuZeiBezNumeracji}}{{Code|p.WydobywanieUchwytuZeiBezNumeracji}} ===
Funkcja wydowywa tablicę uchwytu dla pozycji, ale nie sam uchwyt, dla podtablicy {{LinkPatrz|uchwyty_bez_numeracji}} o danym kodzie {{LinkPatrz|kod}}, dla nazwy obiektu {{LinkPatrz|nazwa_obiektu}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.WydobywanieUchwytuZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_elementow_strony_kodow}} - jak w: {{LinkPatrz|tabela_elementow_strony_kodow}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}}.
Funkcja wykorzystuje elementy tablicy: {{LinkPatrz|uchwyty_bez_numeracji}}, wstawione przez funkcję: {{LinkŚródtytuł|p.UchwytyZeiBezNumeracji}}.
=== {{Śródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}{{Code|p.RozpatrywanieElementuUchwytuNumeracji}} ===
Funkcja wsadzająca utworzoną tablicę z podanym uchwytem do ogólnej tablicy pozycji nazwanych tabel z uchwytami o danej pozycji z nim.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|kod_uchwytu}} {{Patrz|kod_uchwytu}} - kod uchwytu podanego do szablonu stronicowego z odpowiednim uchwytem,
* {{Code|tab_numer}} {{Patrz|tab_numer}} - tablica z numerkami ilości elementów w tablicy parametrów nazwanych z uchwytami, w danym elemencie analizowania strony z uchwytami i obiektami,
* {{Code|tablica_zmiennych}} {{Patrz|tablica_zmiennych}} - tablica analizowania obiektów, danej strony,
* {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} {{Patrz|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - kolejno: nazwa przestrzeni nazw, nazwa przestrzeni książki, nazwa książki i nazwa artykułu książki,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} {{Patrz|czy_artykul_korzystany}} - czy artykuł aktualny wyświetlany w przeglądarce,
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} {{Patrz|nazwa_modulu_aktualna_czy_biezaca}} - nazwa artykułu aktualna lub bieżąca,
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{Patrz|tablica_analizy_obiektow_strony_dany_modul}} - tablica bazy kodów parsowania strony,
* {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - tablica analizy poszczególnych elementów kodów, do szybszego działania skryptu,
* {{Code|KtorySzablonMaZwracacKategorie}} {{Patrz|KtorySzablonMaZwracacKategorie}} - tablica zbierająca odkodowany i rozwinięty uchwyt, do analizowania w nim zebranych kategorii, według modułu: {{Code|{{ld2|StronicowyParser/Kategorie}}}}, uruchamiana w szablonach stronicowych z funkcjami '''stronicowego parsera'''.
Funkcja rozwija {{LinkPatrz|kod_uchwytu}} funkcją {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a potem je odkodowuje przy pomocy: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a jeżeli ona nie jest pusta, to dla tego jest uruchamiana funkcja {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Tworzona jest tablica {{Code|lista_dwuelementowa}} {{LinkPatrz|lista_dwuelementowa}} z uchwytem, jako pierwszy parametr.
Jest sprawdzane, czy element {{Code|tablica_zmiennych.sprawdzenie_dokonane_obiektu}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, jest fałszywy, jeżeli tak, to dalej jest sprawdzane, czy są elementy numerowane nazwanej tablicy: {{Code|tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2}} o nazwie {{LinkPatrz|nazwa_obiektu}}, a jeżeli jest pusta - na samym końcu jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, czyli jest inicjowana na wartość {{Code|true}}, to dalej jest sprawdzane, czy dla elementów: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy dana książka jest poza zakresem obsługiwanym, czyli rewidowane jest, czy jest ustawiony kod problemu {{Code|strony poza zakresem obsługiwanym}}, czy a jeżeli jednak nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}, ustawiające pewne elementy błędu, jeżeli trzeba to zrobić.
Gdy tabela {{LinkPatrz|tab_numer}} odpowiada nienilowej tablicy, wtedy element {{LinkPatrz|lista_dwuelementowa}} jest wstawiany na odpowiedniej pozycji, ale przeważnie nie na końcu, przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=table.insert|b=tak}}}}, dzięki określonej tabeli {{LinkPatrz|tab_numer}}, przeciwnie na jej końcu.
Funkcja zwraca element {{LinkPatrz|lista_dwuelementowa}}.
=== {{Śródtytuł|p.RozpatrywanieSzablonuObiektuDoNumeracji}}{{Code|p.RozpatrywanieSzablonuObiektuDoNumeracji}} ===
Funkcja, która uruchamia funkcję: {{LinkŚródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}, dla istniejącego uchwytu w postaci nazwanej o kluczu: {{Code|uchwyt}} {{Patrz|uchwyt}}, lub nienazwanej - w postaci numeru jego uchwytu o kluczu: {{Code|numer_numeracji}} {{Patrz|numer_numeracji}}, wsadzająca tabele z uchwytem na odpowiednią pozycję w odpowiedniej nazwanej tabeli o nazwie obiektu {{LinkPatrz|nazwa_obiektu}} w ogólnej tabeli: {{LinkPatrz|tablica_zmiennych}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}}- tabela parametrów szablonu,
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|numer_numeracji}} - jak w: {{LinkPatrz|numer_numeracji}},
* {{Code|tab_numer}} - jak w: {{LinkPatrz|tab_numer}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
== {{Śródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}{{Code|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}} ==
Funkcja sprawdza, czy dany artykuł należy do artykułów, któregoś spisu treści, a jeżeli nie, to dla stron, które nie należą do kategorii z ustawionym problemem {{Code|strony poza zakresem obsługiwanym}}, ale do nieaktualnej strony jest ustawiony problem {{Code|brak spisów treści do dołączonych stron}}. Natomiast dla aktualnej dla stron tej samej kategorii ustawiany jest problem {{Code|brak spisu treści do korzystanych stron}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== {{Śródtytuł|p.PusteParametryReferencji}}{{Code|p.PusteParametryReferencji}} ==
Funkcja sprawdza, jeśli są podane parametry szablonu stronicowego, które są w kategorii: {{lk|Szablony stronicowe}}, czyli: {{Code|nazwa_artykulu}}, ewentualnie: {{Code|nazwa_ksiazki}}, ale zawsze z: {{Code|uchwyt_obiektu}}, czy są one puste.
A jeżeli one istnieją i są takie, to są ustawione problemy typu, jeśli ich wcześniej nie ustawiono:
* {{Code|puste parametry szablonów stronicowych linkujących}} {{Patrz|puste parametry szablonów stronicowych linkujących}}, kolejno dla: {{Code|uchwyt_obiektu}}, {{Code|nazwa_artykulu}} i {{Code|nazwa_ksiazki}}, kolejno z numerami problemów: {{Code|1}}, {{Code|2}} i {{Code|3}}.
Dla obiektu o nazwie {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}.
{{Hr}}
Definicja skrótowa funkcji
<syntaxhighlight lang="lua">
function p.PusteParametryReferencji(self, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu)...end;
</syntaxhighlight>
Paraametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} {{Patrz|uchwyt_obiektu}} - uchwyt obiektu, podane w danym szablonie stronicowym,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}}.
== {{Śródtytuł|p.SzablonyReferencjiParametrowych}}{{Code|p.SzablonyReferencjiParametrowych}} ==
Funkcja z parametrów pudełkowych nazwy artykułu {{ZobaczTeż|nazwa artykułu}}: {{Code|nazwa artykułu}} {{Patrz|nazwa artykułu}} albo {{Code|1}}, gdy bezuchwytowe lub {{Code|2}}, i pełnej nazwy książki {{ZobaczTeż|pełna nazwa strony}}: {{Code|nazwa książki}} {{Patrz|nazwa książki}} albo, {{Code|2}}, gdy bezuchwytowe lub {{Code|3}}. To wszystko jest liczone z: {{LinkPatrz|tabela_parametrow_szablonu}} lub przy użyciu parametru również {{Code|bezuchwytowe}} {{Patrz|bezuchwytowe}}, gdy mamy szablon stronicowy {{lk|Szablony stronicowe}}, bezuchwytowy, wtedy {{Code|true}}, przeciwnie {{Code|false/nil}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca,bezuchwytowe)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{Code|bezuchwytowe}} - jak w: {{LinkPatrz|bezuchwytowe}}.
Funkcja obie nazwy dekoduje funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a później jest liczony adres bezwzględny z względnego dzięki: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, przy pomocy podstawy {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}}, podobnie ale wcześniej jest liczona nazwa artykułu {{linkZobaczTeż|nazwa artykułu}}, czyli: {{LinkPatrz|nazwa_artykulu}}, ale tutaj adres względny jest liczony z podstawy o ciągu pustym jako drugi parametr.
Na podstawie pełnej nazwy książki {{LinkZobaczTeż|pełna nazwa strony}}: jest liczona bardziej jej wersja pełniejsza, jeżeli to jest w ogóle możliwe z: {{Code|{{sr|#p["PełnaNazwaStronicowejKsiążki"]|p=Książkowe}}}}. A póżniej z tego wszystkiego są liczone nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, przy pomocy funkcji nazw: {{Code|{{ld2|Nazwy}}}}.
Na samym końcu funkcji są zwracane parametry nazw, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== Funkcje zbierania informacji ==
=== {{Śródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}{{Code|p.ZbieranieInformacjiStronyWoluminowychPozycji}} ===
Funkcja zbierania informacji na stronie dla szablonów stronicowych: {{lk|Szablony stronicowe}}, bezuchwytowych, gdy nie jest uruchomiony parametr: {{Code|czy_inna_wartosc_tekst}} {{Patrz|czy_inna_wartosc_tekst}}, wtedy jest wywoływana funkcja: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}, która liczy kolejne nazwy charaktertyzujące nazwy dla danego artykułu książki dla danej strony, przeciwnie parametry nazw są ściagane z: {{Code|tab_nazwy}} {{Patrz|tab_nazwy}}, ta tabela składa się numerowanych elementów, którymi są nazwy charakyteryzujące stronę.
Gdy jakaś nazwa artylułu strony została policzona, wtedy są liczone pozostałe nazwy z: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, a na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, a tuż przed nim, jeśli istnieje: {{Code|KtorySzablonMaZwracacKategorie}} {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,KtorySzablonMaZwracacKategorie,czy_inna_wartosc_tekst,tab_nazwy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_inna_wartosc_tekst}} - jak w: {{LinkPatrz|czy_inna_wartosc_tekst}},
* {{Code|tab_nazwy}} - jak w: {{LinkPatrz|tab_nazwy}}.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacji}}{{Code|p.ZbieranieKontenerowychInformacji}} ===
Funkcja do zbierania informacji, która z parametrów pudełkowych: {{Code|{{m|Pudełko}}}}, czyli: {{Code|nazwa przestrzeni nazw}} {{Patrz|nazwa przestrzeni nazw}} i {{Code|nazwa jednostki}} {{Patrz|nazwa jednostki}}, z nich są liczone parametry nazw charakteryzujące artykuł książki strony. A na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} {{Patrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,czy_szablon_pudelkowy_strony_zbiorczej,KtorySzablonMaZwracacKategorie)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} {{Patrz|czy_szablon_pudelkowy_strony_zbiorczej}} - funkcja potrzebna do funkcji zbierającej {{LinkPatrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, określającej, czy mamy szablon pudełkowy strony zbiorczej, taki jak: {{Code|{{s|StronaSubst}}}}, czy: {{Code|{{s|KsiążkaSubst}}}}, zobacz stronę: {{Code|{{lr2|Moduły/StronicowyParser/StronaSubst}}}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Gdy nie ma parametrów pudełkowych funkcja się natychmiast zakańcza, lub parametr: {{LinkPatrz|nazwa jednostki}}, jest pusta, lub nawet gdy zawierają kody wykrywane przez funkcję: {{Code|{{sr|#p.NormaWzoruKodowaniaTekstu|p=Szablonowe}}}}.
Z nazwy jednostki jest wydzielana nazwa jednostki właściwa bez nazwy nagłówka, póżniej obie nazwy są też dekodowane funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, czyli wszystko z: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}.
Z tych dwóch nazwy jest liczony adres, ewentualnie względny, który za pomocą funkcji: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, jest wyliczany adres bezwzględny.
Dalej są liczone nazwy charakteryzujące artykuł danej książki strony, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, z tego adresu strony.
Przedostatnia funkcja, która jest uruchamiana przed funkcją zbierającą jest: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}, jeśli istnieje.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacjiReferencji}}{{Code|p.ZbieranieKontenerowychInformacjiReferencji}} ===
Funkcja zbiera informacje o stronie. Na podstawie informacji o nazwie artykułu i pełnej nazwy książki liczy parametry nazw charakteryzujące artykuł, co na tej podstawiwe liczy parametry pudełkowe i wywołuje funkcję główną przez inną funkcję, też zbierającą, i zbiera informacje o artykule.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacjiReferencji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, jako parametry zwracane przez funkcję: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}. Funkcja wyznacza parametry pudełkowe {{m|Pudełko}}, tzn.: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}, na podstawie tych nazw. Funkcja na samym końcu wywołuje funkcję zbierającą dane ze strony: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}, która z kolei uruchamia potem: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
== {{Śródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}{{Code|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}} ==
Funkcja sprawdza niepoprawność nazwy strony i na podstawie tego ustawia pewne kody problemów.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,__FUNKCJA_SPRAWDZANIE)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|__FUNKCJA_SPRAWDZANIE}} {{Patrz|__FUNKCJA_SPRAWDZANIE}} - funkcja uruchamiana, jeśli jest ustawiona, na wypadek poprawności strony.
W przypadku niepoprawności strony, gdy strona modułu jest aktualna (bieżąca), wtedy sprawdzany jest kod problemu, czy jest ustawiony, tzn.: {{Code|nieprawidłowe nazwy korzystanych stron}}, przy pomocy funkcji: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli nie ma takiego, to wtedy jest uruchamiana funkcja: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}. Podobnie jest dla niekorzystanej strony, wtedy jest problem dla kodu: {{Code|nieprawidłowe nazwy stron dołączanych do stron}}.
== Zbieranie informacji o linkach ==
=== {{Śródtytuł|p.LinkowanieFinalizowaniePrac}}{{Code|p.LinkowanieFinalizowaniePrac}} ===
Funkcja wadza uchwyt obiektu, wsazujący na aktualną stronę, do pewnej strony, i ewentualnie ustawia pewne problemy, jeśli je nie ustawiono.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} {{Patrz|obiekt}} - obiekt, obsługiwany przez tą funkcję linku,
* {{Code|kod}} {{LinkPatrz|kod}} - kod obiektu dla: {{LinkPatrz|obiekt}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} - jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}},
* {{Code|czy_pobierz}} {{Patrz|czy_pobierz}} - czy to jest szablon typu {{Code|Pobierz}} {{Patrz|Pobierz}}, jak: {{s|PobierzŚródtekst}}.
Funkcja sprawdza, czy nie został ustawiony element {{Code|tablica_zmiennych.sprawdzenie_dokonane_linku}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}, a jeżeli tak, to dalej, czy nie ma elementów numerowanych przy pomocy funkcji: {{Code|{{sr|#p["CzySąElementyNumerowaneTablicy"]|p=Parametry}}}}, a jeśli również tak, to dalej jest sprawdzane, czy został ustawiony problem: {{Code|strony poza zakresem obsługiwanym}}, przy pomocy: {{Code|{{sr|#p.CzyJestTakiElementTabeliProblemu|p=StronicowyParser/Problemy}}}}, a jeżeli nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}. Na samym końcu tej instrukcji warunkowej jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}.
Dalej pod tą instrukcją warunkową, jest robione, co powiedziane zostało w prologu tego opisu tej funkcji, tzn. z wyznaczonej tablicy ze: {{LinkPatrz|tablica_zmiennych}}, a dalej z wyznaczonej następnej podtabeli o kluczu: {{LinkPatrz|nazwa_obiektu}}.
Następnie, gdy element: {{LinkPatrz|czy_pobierz}}, jest ustawiony na {{Code|true}}, wtedy dla {{LinkPatrz|uchwyt_obiektu}}, pewna tablica, jest wstawiana do tablicy: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}}, jeśli istnieje, a jeśli nie, to jest tworzona, jako tablica, wtedy też jest to robione. Tą czynnością wstawiany tabelę, do tej tablicy, czyli:
<syntaxhighlight lang="lua">
{{nazwa_obiektu,uchwyt_obiektu,},{obiekt,kod,},}
</syntaxhighlight>
=== {{Śródtytuł|p.LinkowanieInnychStron}}{{Code|p.LinkowanieInnychStron}} ===
Funkcja do sprawdzania innych stron niż aktualna, a jeżeli dana strona została już sprawdzona, to powtórnie nie jest już rewidowana. Funkcja ustawia w głównej tablicy aktualnej tabeli {{LinkPatrz|tablica_zmiennych}} pewne podtablice.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieInnychStron(self,obiekt,kod,tablica_zmiennych, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejo jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Najpierw jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, która w razie poprawności nazwy strony, czyli inaczej nazw tej strony, tzn.: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, uruchamia funkcję zdefiniowaną w nim.
{{Tab}}Ta funkcja sprawdza, czy któraś z parametrów nazw istnieje, a jeżeli nie, to dalej jest inicjowana zmienna: {{Code|tablica_zmiennych2}} {{Patrz|tablica_zmiennych2}} pustą tablicą i podobnie {{Code|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}} {{Patrz|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}}, to uruchamiana jest: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, do zbierania informacji o stronie nowej lub przebadanej (wtedy zostają zwrócone parametry z wczęsniejszego jego analizowania, jak była nowa). Funkcja zwraca trzy parametry, tzn. {{Code|tabela_listy_danych_analizy_ksiazki0}} {{Patrz|tabela_listy_danych_analizy_ksiazki0}}, {{LinkPatrz|tablica_zmiennych2}} i {{Code|czy_inna}} {{Patrz|czy_inna}}. Te parametry mogą przyjmować wartość {{Code|nil}}, lub pierwszy {{Code|0}}, drugi, to nic innego jest jak: {{LinkPatrz|tablica_zmiennych2}}, a trzeci parametr jest wtedy równy {{Code|true}}, gdy strona jest nowa, a {{Code|false}} aktualna, a gdy {{Code|nil}}, gdy np. zawartość strony nie istnieje.
Gdy parametr: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, istnieje, wtedy jest spraqdzane, czy któreś z parametrów: {{LinkPatrz|tablica_zmiennych2}} i {{LinkPatrz|czy_inna}}, nie istsnieje, wtedy ta funkcja się zakańcza.
==== {{Śródtytuł|JuzPoliczone}}{{Code|JuzPoliczone}} ====
Dla obiektów, dla których jest ustawiony parametr: {{LinkPatrz|czy_pobierz}}, co dalej w tym rozgałęzieniu instrukcji warunkiwej jest uruchamiana funkcja szablonów tekstu, czyli: {{Code|{{sr|#p.UstawianiePobierz|p=StronicowyParser/SzablonyTekstu}}}}, aby również później za pomocą innych funkcji przeanalizować również tekst w szablonach takich jak: {{s|Śródtekst}}.
Dalej jest tworzona tablica, jeśli nie istnieje, tzn. {{Code|tablica_zmiennych2.dane_juz_policzone}} {{Patrz|tablica_zmiennych2.dane_juz_policzone}}, czyli jest inicjowana pustą tablicą. Dalej jest tworzona, jeśli nie istnieje, tablica wielowymiarowa po kolei, o kluczach kolejno: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}, {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu}}, a jeżeli ta ostatnia wartość tej tablicy była wcześniej, to zwracane jest {{Code|true}}, przeciwnie {{Code|false}}, a tej ostatniej wartości tej tablicy jest przydzielana wartość {{Code|true}}.
==== Dalszy opis funkcji ====
Gdy parametr: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest równy {{Code|0}}, ale nie {{Code|nil}}, wtedy jest sprawdzane, czy artykuł został wcześniej zrewidowany według: {{LinkŚródtytuł|JuzPoliczone}}, a jeżeli tak to jest zakańczany, a gdy ten parametr taakiej wartośsci nie przyjmuje, wtedy tylko jest uruchamiana funkcja bez żadnego warunku.
{{Tab}}Następnie jest uruchamiana funkcja: {{Code|{{sr|#p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony|p=StronicowyParser/SzablonyTekstu}}}}, do przydzielenia pewnych zmiennych z {{LinkPatrz|tablica_zmiennych2}} tablicy {{LinkPatrz|tablica_zmiennych}}.
{{Tab}}Jest sprawdzane, czy dany artykuł należy do spisu, jeżeli nie to są ustawiane pewne kody problemów w tablicy problemów, tzn. {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}.
Dalej jest sprawdzane, czy podany uchwyt {{LinkPatrz|uchwyt_obiektu}}, który jest podany w szablonach linków na aktualnej stronie, czy jest tylko jeden na stronie sprawdzanej, a jeżeli nie jest tak, to jest sprawdzane, czy nie istnieje ustawiony problem: {{Code|błędy uchwytów korzystanych stron}}, funkcją: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to taki problem jest dodawany dzięki: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
{{Tab}}Uruchamiana jest dalej funkcja: {{LinkŚródtytuł|p.PusteParametryReferencji}}, do sprawdzania pustości pewnych parametrów.
{{Tab}}Gdy tabela: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest jednak równa wartości odpowiadającej fałszywej, wtedy jeśli nie istnieje problem: {{Code|błąd wewnętrzny modułu lua stronicowego parsera}}, co jest rewidowane elementem: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to dodawany jest taki problem do tabeli problemów na podstawie: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
=== {{Śródtytuł|p.GeneralneLinkowanie}}{{Code|p.GeneralneLinkowanie}} ===
Funkcja zbiera uchwyty, na aktualnej lub innej stronie, a także je analizuje w odpowiedni sposób, modyfikuje tablica aktualnego modułu, czyli: {{LinkPatrz|tablica_zmiennych}}, na podstawie poszczególnych artykułów tej książki lub innej, która zbiera raz informacje o danej stronie.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Funkcja wyznacza uchwyt z tabeli parametrów: {{LinkPatrz|tabela_parametrow_szablonu}}, o kluczu {{Code|uchwyt}} {{LinkPatrz|uchwyt}} lub {{Code|1}}, a później w kodzie jest on kompletowany funkcją: {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a następnie rozwijany w niej, a później jest dekodowany: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}.
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, wywołujac: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}.
Na samym końcu jest uruchamiana: {{LinkPatrz|KtorySzablonMaZwracacKategorie}} z parametrem o tym uchwycie, wyliczonym wcześniej.
Gdy uchwyt istnieje, ale jest pusty, wtedy uruchamia się: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, następnie: {{LinkŚródtytuł|p.PusteParametryReferencji}}, a jeśli ta wartość nie istnieje, wtedy tylko ta ostatnia funkcja.
Gdy uchwyt: {{LinkPatrz|uchwyt}}, istnieje i jest niepusty, wtedy jest wyznaczana nazwa artykułu z niej samej, lub jeśli nazwa ksiązki istnieje, tylko, wtedy ta nazwa zaczyna być pusta, przeciwnie {{Code|nil}}, wtedy mamy do czynienia ze stroną główną podręcznika.
Gdy nazwa artykułu nie istnieje, wtedy wywoływana jest: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Jeśli nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest niepusta, i gdy nazwa książki nie istnieje, wtedy są liczone parametry nazw, oprócz nazwy artykułu, bo jest policzona, więc te {{ZobaczTeż|nazwy}}: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, z parametrów charakteryzujących nazwę aktualnego artykułu, a jeśli jednak nazwa książki jest pusta, to są sprawdzane parametry w: {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Gdy nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest nieistnieje, i gdy nazwa książki {{LinkPatrz|nazwa_ksiazki}} jest niepusta, wtedy nazwa artykułu zaczyna istnieć i inicjujemy wtedy ją wartością pustą, a jeśli pusta, za zaczyna być potem generowanie kodów błędów funkcją {{LinkŚródtytuł|p.PusteParametryReferencji}}, by potem się zakończyła ta funkcja.
Przeciwnie są liczone parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, tą samą metodą, co w punkcie: {{LinkZobaczTeż|nazwy}}.
Gdy nazwy {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}} są porównywane z nazwami, którymi się przypisje jak w: {{LinkZobaczTeż|nazwy}}, wtedy uruchamiamy funkcję: {{LinkŚródtytuł|p.LinkowanieInnychStron}}, przeciwnie wtedy działają dwie funkcje uruchomione po kolei, tzn.: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
== {{Śródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}{{Code|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} ==
Funkcja służy do zbierania informacji o danej analizowanej stronie, którego główną częścią jest strona korzystana, w której gromadzą się informacji też z pozostałych.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, czy_artykul_korzystany,tablica_zmiennych,czy_szablon_pudelkowy_strony_zbiorczej)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} - jak w: {{LinkPatrz|czy_szablon_pudelkowy_strony_zbiorczej}}.
=== {{Śródtytuł|__FUNKCJA_ARTYKULU}}{{Code|__FUNKCJA_ARTYKULU}} ===
Funkcja do tworzenia tabeli artykułów z innymi parametrami wielowymiarowej tej tabeli, a jeżeli owe pośrednie, i nie tylko, istnieją, to te tabele są zwracane lub nowo są tworzone.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji {{ZobaczTeż|parametry artykułu}}:
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}},
* {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu}} - nazwa artykułu w książce, bez pełnej nazwy książki.
Poniżej są tworzone podtabele puste, jeśli nie zostały utworzone.
Funkcja, która w tabeli: {{Code|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}} {{Patrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, która istnieje, tworzy tabele trójwymiarową kolejno po prarametrach: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, te tabele pośrednie śą wtedy tworzone, jeśsli nie istnieją, a gdy istnieją to nie są tworzone, tylko funkcja przechodzi do dalszych.
Dalej tworzona jest podtabela, jeśli nie istnieje o nazwie {{Code|lista_podstron_woluminu}} {{Patrz|lista_podstron_woluminu}}.
Następnie generowana jest podtabela, jeśli nie istnieje, o kluczu: {{LinkPatrz|nazwa_artykulu}}.
Funkcja zwraca kolejno elementy, jeśli klucz: {{LinkPatrz|nazwa_artykulu}}, istnieje, zatem:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany;
</syntaxhighlight>
Przeciwnie zwracany jest zbiór zmiennych po kolei:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki;
</syntaxhighlight>
Co to są za zmienne, wiadomo z ich nazw, po prostu są to pewne pośrednie, i nie tylko, tabele.
=== {{Śródtytuł|__FUNKCJA_POBIERANIE}}{{Code|__FUNKCJA_POBIERANIE}} ===
Funkcja zwraca parametry strony aktualnej, analizowanej jeszcze raz, aby ją nie powtórnie rewidować, lub podobnie dla innego artykułu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_POBIERANIE(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji są takie same jak w punkcie {{LinkZobaczTeż|parametry artykułu}}.
{{Tab}}Analiza dla artykułów niekorzystanych według parametru: {{LinkPatrz|czy_artykul_korzystany}}:
Dla jeszcze raz analizowanego artykułui aktualnego zwracane są parametry:
<syntaxhighlight lang="lua">
return 0,nil,nil,nil,nil,nil,self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron,false;
</syntaxhighlight>
Tabela: {{Code|self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron}}, tam są dane zebrane z aktualnego artykułu.
Dla innej takiej strony jest tworzony parametr, jeżeli jest włączona analiza, dla klucza: {{Code|analiza_spis_tresci}} {{Patrz|analiza_spis_tresci}}, według tego jest tworzony wartością prawdziwą parametr o innym znów kluczu: {{Code|analiza_spis_tresci_doloczone}} {{Patrz|analiza_spis_tresci_doloczone}}:
<syntaxhighlight lang="lua">
if(self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci)then
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=true;
end;
</syntaxhighlight>
Dla elementu: {{LinkPatrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, jeżeli dany artykuł był już rewidowany, to zwracane są elementy:
<syntaxhighlight lang="lua">
return 0,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni,dane_zebrane_ze_stron,true;
</syntaxhighlight>
To: {{Code|dane_zebrane_ze_stron}} {{Patrz|dane_zebrane_ze_stron}}, to podtabela: {{LinkPatrz|lista_podstron_woluminu}}, z kluczem: {{LinkPatrz|nazwa_artykulu}}, o nazwie takiej samej jak ten parametr zwracany.
Przeciwnie jest zwracane: {{Code|true}}, lub {{Code|nil}}, jeśli tabela: {{Code|self.tabela_listy_danych_analizy_ksiazki}} {{Patrz|self.tabela_listy_danych_analizy_ksiazki}}, lub podtatela: {{LinkPatrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, nie istnieje.
=== {{Śródtytuł|InneInformacjePrzebneDoAnalizowanejKsiazki}}{{Code|InneInformacjePrzebneDoAnalizowanejKsiazki}} ===
Funkcja do zbierania informacji o spisie artykułów książkowych i ich licencjach oraz ewentualnie zebrane informacje ze stron: {{lk2|Szablony nawigacyjne układu autonawigacji do autonawigacji podręczników}}, z szablonu, w któreś tej pozycji w: {{s|Układ autonawigacji}}, i ze spisów podanej w niej jako parametry.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function InneInformacjePrzebneDoAnalizowanejKsiazki()...end;
</syntaxhighlight>
Parametry funkcji:
* brak.
==== {{Śródtytuł|__FUNKCJA_SPISU}}{{Code|__FUNKCJA_SPISU}} ====
Funkcja do inicjowania parametrów spisu, aktualnego artykułu, uzyskanych z ich analizy.
Definicja skrotowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_SPISU(tablica_ksiazki,czy_podac_adres)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tablica_ksiazki}} {{Patrz|tablica_ksiazki}} - tablica dla analizowanej książki,
* {{Code|czy_podac_adres}} {{Patrz|czy_podac_adres}} - czy podać adres bazowego woluminu.
Tablicy: {{linkPatrz|tablica_ksiazki}}, jest inicjowany element: {{Code|spis}} {{Patrz|spis}}, tabelą: {{Code|tabela_artykulow}} {{Patrz|tabela_artykulow}}.
Gdy: {{LinkPatrz|czy_artykul_korzystany}}, jest wartością fałszywą, to iniciowaną tablicy: {{LinkPatrz|tablica_ksiazki}}, jest parametr o kluczu: {{Code|licencja}} {{Patrz|licencja}}, tabelą: {{Code|tabela_licencji_spisu_tresci}} {{Patrz|tabela_licencji_spisu_tresci}}.
Dalej kolejno elementy: {{Code|nazwa_bazowego_spisu}} {{Patrz|nazwa_bazowego_spisu}}, {{Code|tab_inne_spisy}} {{Patrz|tab_inne_spisy}} i {{Code|dodatkowe_strony_woluminu}}, tabeli: {{LinkPatrz|tablica_ksiazki}}, i inicjowane są tabelami o takich samych nazwach jak te klucze dwa, a ostatni tabelą: {{Code|dodatkowe_artykuly}} {{Patrz|dodatkowe_artykuly}}.
Dla tabeli: {{LinkPatrz|tablica_ksiazki}}, o kluczu w nim {{Code|adres_woluminu_bazowego_spisu_rzeczy}}, ona jest przyrównywana wartością: {{Code|adres_ksiazki_glownego_spisu_tresci}} {{Patrz|adres_ksiazki_glownego_spisu_tresci}}, jeśli istnieje: {{LinkPatrz|czy_podac_adres}}, lub przeciwnie wartością {{Code|nil}}.
==== Dalszy opis funkcji - etap I ====
Jeżeli dla aktualnego artykułu dla książki nie ustawiono kodu: {{Code|strony poza zakresem obsługiwanym}}, wtedy są analizowane elementy opisane w nagłówku opisywanej funkcji, pod warunkiem, jeżeli istnieją parametry nazw książki: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}.
Gdy artykuł jest analizowany, wtedy parametr: {{LinkPatrz|czy_artykul_korzystany}}, wtedy jest przy istnieniu: {{Code|self.tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|self.tabela_listy_danych_analizy_ksiazki}}, jest ustawiany w nim element: {{Code|CzyArtykułKsiążki}} {{Patrz|CzyArtykułKsiążki}}, z wartością na {{Code|tak}}.
Gdy już spis jeszcze nie analizowano, a jeżeli juz został zanalizowany, to sprawdzany jest: {{Code|czy_spis_analizowano}}, tablicy: {{LinkPatrz|tablica_ksiazki}}.
A jeśli jednak spisy książki nie zostały sprawdzone i sparsowane, wtedy uruchamia się następne rozgałęzienie pętli.
Uruchamia się dalej funkcja: {{Code|{{sr|#p.ZbieranieInformacjiSpisuRzeczyWoluminuEwentualnieWedleAutonawigacji|p=StronicowyParser/SpisTreści}}}}, w nim są uruchamiane w pewien sposób dwie funkcje.
===== {{Code|p.ZbieranieInformacjiSpisuRzeczyWoluminuEwentualnieWedleAutonawigacji}} =====
Ta funkcja służy do parsowania spisów i innych omówionych elementów książki danego artykułu.
====== Pierwsza anonimowa funkcja ======
Dla analizowanej pierwszej funkcji, ona jest uruchamiana, wtedy kiedy zostały zebrane wszystkie informrmacje ze spisów, wtedy dla elementu: {{Code|tablica_ksiazki_strona}} {{Patrz|tablica_ksiazki_strona}}, sprawdzane, czy jego element {{LinkPatrz|spis}} istnieje, jeśli istnieje, zatem elementy z: {{Code|_strona_temp}}, inicjujemy tymi z: {{Code|_strona}}, z elementów zmiennych tej funkcji, w takim razie inicjujemy inne jego podelementy, tzn.: {{Code|spis}} {{LinkPatrz|spis}}, {{Code|licencja}} {{LinkPatrz|licencja}}, {{Code|nazwa_bazowego_spisu}} {{LinkPatrz|nazwa_bazowego_spisu}}, {{Code|tab_inne_spisy}} {{LinkPatrz|tab_inne_spisy}}, {{Code|dodatkowe_strony_woluminu}} {{Patrz|dodatkowe_strony_woluminu}} i {{Code|adres_woluminu_bazowego_spisu_rzeczy}} {{Patrz|adres_woluminu_bazowego_spisu_rzeczy}}, elementu: {{LinkPatrz|tablica_ksiazki}}, tymi saamymi elementami, ale dla innej strony, tzn.: {{Code|tablica_ksiazki_strona}} {{LinkPatrz|tablica_ksiazki_strona}}.
Też jest inicjowany element tej pierwszej zmiennej książkowej o kluczu: {{Code|referencja_do_nowej_formy_spisu}}, według:
<syntaxhighlight lang="lua">
tablica_ksiazki.referencja_do_nowej_formy_spisu={tablica_przestrzeni_strona,tablica_przestrzeni_ksiazki_strona,tablica_ksiazki_strona,};
</syntaxhighlight>
Funkcja wtedy zwróci wartość: {{Code|1}}.
====== Druga anonimowa funkcji ======
Ta funkcja działa, gdy parametry strony, tzn.: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, są równe podobnym parametrom z: {{Code|_ref_spis}}, tzn. czy spis jest analizowanym korzystanym artykułem.
Ta funkcja kopiuje dokładnie elementy z: {{Code|_ref_spis}}, temu z: {{Code|_ref}}, te elementy, to nic innego jak: {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}}, {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}} i {{Code|tablica_danych_parametrow_szablonu_strony}} {{LinkPatrz|tablica_danych_parametrow_szablonu_strony}}, czyli tworzymy elementy takie: {{Code|tekst_rozwiniety_calego_artykulu_ref}} {{Patrz|tekst_rozwiniety_calego_artykulu_ref}}, {{Code|tablica_analizy_obiektow_strony_dany_modul_ref}} {{Patrz|tablica_analizy_obiektow_strony_dany_modul_ref}} i {{Code|tablica_danych_parametrow_szablonu_strony_ref}} {{Patrz|tablica_danych_parametrow_szablonu_strony_ref}}.
==== Dalszy opis funkcji - etap II ====
=== {{Śródtytuł|PrzekierownieAwaryjne}}{{Code|PrzekierownieAwaryjne}} ===
=== {{Śródtytuł|StronaZbiorcza}}{{Code|StronaZbiorcza}} ===
=== {{Śródtytuł|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}}{{Code|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}} ===
=== {{Śródtytuł|GeneralnaAnalizaSzablonuStronicowegoParsera}}{{Code|GeneralnaAnalizaSzablonuStronicowegoParsera}} ===
=== {{Śródtytuł|IterowaniePoElementachTekstu}}{{Code|IterowaniePoElementachTekstu}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieNaglowek}}{{Code|KtorySzablonMaZwracacKategorieNaglowek}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieTekst}}{{Code|KtorySzablonMaZwracacKategorieTekst}} ===
=== {{Śródtytuł|CzyJestTakiProblemJakoElementTablicy}}{{Code|CzyJestTakiProblemJakoElementTablicy}} ===
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
ebe4503qhh2fd9iqokeq8tzao05t26w
547262
547261
2026-06-30T08:25:49Z
Persino
2851
/* Druga anonimowa funkcji */
547262
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/ZbieranieDanychStron}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== Zbieranie informacji o uchwycie ==
=== {{Śródtytuł|p.UchwytyZeiBezNumeracji}}{{Code|p.UchwytyZeiBezNumeracji}} ===
Funkcja zbiera uchwyty, dla obiektów {{ZobaczTeż|p.UchwytyZeiBezNumeracji}}, bez numeracji, nie licząc obiektów tekst takich jak {{s|Śródtekst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UchwytyZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,lista_dwuelementowa,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} {{Patrz|self}} - zmiennna obiektowa modułu {{Code|{{ld2|StronicowyParser/ZbieranieDanychStron}}}} {{Patrz|StronicowyParser/ZbieranieDanychStron}},
* {{Code|tabela_elementow_strony_kodow}} {{Patrz|tabela_elementow_strony_kodow}} - zmienna zbierająca takie kody jak {{LinkZobaczTeż|p.UchwytyZeiBezNumeracji}},
* {{Code|nazwa_obiektu}} {{Patrz|nazwa obiektu}} - nazwa obiektu,
* {{Code|lista_dwuelementowa}} {{Patrz|lista_dwuelementowa}} - pozycja w normalnej tabeli uchwytów i przeważnie ich numeracji, a tutaj dla tego obiektu,
* {{Code|kod}} {{Patrz|kod}} - numer kodu dla tego obiektu.
Funkcja zbiera elementy {{LinkPatrz|lista_dwuelementowa}} w tablicy wielowymiarowej o pierwszym elemencie wymiaru {{LinkPatrz|nazwa obiektu}} i trzecim {{LinkPatrz|kod}}, oraz o drugim {{Code|uchwyty_bez_numeracji}} {{Patrz|uchwyty_bez_numeracji}}.
=== {{Śródtytuł|p.WydobywanieUchwytuZeiBezNumeracji}}{{Code|p.WydobywanieUchwytuZeiBezNumeracji}} ===
Funkcja wydowywa tablicę uchwytu dla pozycji, ale nie sam uchwyt, dla podtablicy {{LinkPatrz|uchwyty_bez_numeracji}} o danym kodzie {{LinkPatrz|kod}}, dla nazwy obiektu {{LinkPatrz|nazwa_obiektu}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.WydobywanieUchwytuZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_elementow_strony_kodow}} - jak w: {{LinkPatrz|tabela_elementow_strony_kodow}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}}.
Funkcja wykorzystuje elementy tablicy: {{LinkPatrz|uchwyty_bez_numeracji}}, wstawione przez funkcję: {{LinkŚródtytuł|p.UchwytyZeiBezNumeracji}}.
=== {{Śródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}{{Code|p.RozpatrywanieElementuUchwytuNumeracji}} ===
Funkcja wsadzająca utworzoną tablicę z podanym uchwytem do ogólnej tablicy pozycji nazwanych tabel z uchwytami o danej pozycji z nim.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|kod_uchwytu}} {{Patrz|kod_uchwytu}} - kod uchwytu podanego do szablonu stronicowego z odpowiednim uchwytem,
* {{Code|tab_numer}} {{Patrz|tab_numer}} - tablica z numerkami ilości elementów w tablicy parametrów nazwanych z uchwytami, w danym elemencie analizowania strony z uchwytami i obiektami,
* {{Code|tablica_zmiennych}} {{Patrz|tablica_zmiennych}} - tablica analizowania obiektów, danej strony,
* {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} {{Patrz|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - kolejno: nazwa przestrzeni nazw, nazwa przestrzeni książki, nazwa książki i nazwa artykułu książki,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} {{Patrz|czy_artykul_korzystany}} - czy artykuł aktualny wyświetlany w przeglądarce,
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} {{Patrz|nazwa_modulu_aktualna_czy_biezaca}} - nazwa artykułu aktualna lub bieżąca,
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{Patrz|tablica_analizy_obiektow_strony_dany_modul}} - tablica bazy kodów parsowania strony,
* {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - tablica analizy poszczególnych elementów kodów, do szybszego działania skryptu,
* {{Code|KtorySzablonMaZwracacKategorie}} {{Patrz|KtorySzablonMaZwracacKategorie}} - tablica zbierająca odkodowany i rozwinięty uchwyt, do analizowania w nim zebranych kategorii, według modułu: {{Code|{{ld2|StronicowyParser/Kategorie}}}}, uruchamiana w szablonach stronicowych z funkcjami '''stronicowego parsera'''.
Funkcja rozwija {{LinkPatrz|kod_uchwytu}} funkcją {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a potem je odkodowuje przy pomocy: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a jeżeli ona nie jest pusta, to dla tego jest uruchamiana funkcja {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Tworzona jest tablica {{Code|lista_dwuelementowa}} {{LinkPatrz|lista_dwuelementowa}} z uchwytem, jako pierwszy parametr.
Jest sprawdzane, czy element {{Code|tablica_zmiennych.sprawdzenie_dokonane_obiektu}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, jest fałszywy, jeżeli tak, to dalej jest sprawdzane, czy są elementy numerowane nazwanej tablicy: {{Code|tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2}} o nazwie {{LinkPatrz|nazwa_obiektu}}, a jeżeli jest pusta - na samym końcu jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, czyli jest inicjowana na wartość {{Code|true}}, to dalej jest sprawdzane, czy dla elementów: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy dana książka jest poza zakresem obsługiwanym, czyli rewidowane jest, czy jest ustawiony kod problemu {{Code|strony poza zakresem obsługiwanym}}, czy a jeżeli jednak nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}, ustawiające pewne elementy błędu, jeżeli trzeba to zrobić.
Gdy tabela {{LinkPatrz|tab_numer}} odpowiada nienilowej tablicy, wtedy element {{LinkPatrz|lista_dwuelementowa}} jest wstawiany na odpowiedniej pozycji, ale przeważnie nie na końcu, przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=table.insert|b=tak}}}}, dzięki określonej tabeli {{LinkPatrz|tab_numer}}, przeciwnie na jej końcu.
Funkcja zwraca element {{LinkPatrz|lista_dwuelementowa}}.
=== {{Śródtytuł|p.RozpatrywanieSzablonuObiektuDoNumeracji}}{{Code|p.RozpatrywanieSzablonuObiektuDoNumeracji}} ===
Funkcja, która uruchamia funkcję: {{LinkŚródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}, dla istniejącego uchwytu w postaci nazwanej o kluczu: {{Code|uchwyt}} {{Patrz|uchwyt}}, lub nienazwanej - w postaci numeru jego uchwytu o kluczu: {{Code|numer_numeracji}} {{Patrz|numer_numeracji}}, wsadzająca tabele z uchwytem na odpowiednią pozycję w odpowiedniej nazwanej tabeli o nazwie obiektu {{LinkPatrz|nazwa_obiektu}} w ogólnej tabeli: {{LinkPatrz|tablica_zmiennych}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}}- tabela parametrów szablonu,
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|numer_numeracji}} - jak w: {{LinkPatrz|numer_numeracji}},
* {{Code|tab_numer}} - jak w: {{LinkPatrz|tab_numer}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
== {{Śródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}{{Code|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}} ==
Funkcja sprawdza, czy dany artykuł należy do artykułów, któregoś spisu treści, a jeżeli nie, to dla stron, które nie należą do kategorii z ustawionym problemem {{Code|strony poza zakresem obsługiwanym}}, ale do nieaktualnej strony jest ustawiony problem {{Code|brak spisów treści do dołączonych stron}}. Natomiast dla aktualnej dla stron tej samej kategorii ustawiany jest problem {{Code|brak spisu treści do korzystanych stron}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== {{Śródtytuł|p.PusteParametryReferencji}}{{Code|p.PusteParametryReferencji}} ==
Funkcja sprawdza, jeśli są podane parametry szablonu stronicowego, które są w kategorii: {{lk|Szablony stronicowe}}, czyli: {{Code|nazwa_artykulu}}, ewentualnie: {{Code|nazwa_ksiazki}}, ale zawsze z: {{Code|uchwyt_obiektu}}, czy są one puste.
A jeżeli one istnieją i są takie, to są ustawione problemy typu, jeśli ich wcześniej nie ustawiono:
* {{Code|puste parametry szablonów stronicowych linkujących}} {{Patrz|puste parametry szablonów stronicowych linkujących}}, kolejno dla: {{Code|uchwyt_obiektu}}, {{Code|nazwa_artykulu}} i {{Code|nazwa_ksiazki}}, kolejno z numerami problemów: {{Code|1}}, {{Code|2}} i {{Code|3}}.
Dla obiektu o nazwie {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}.
{{Hr}}
Definicja skrótowa funkcji
<syntaxhighlight lang="lua">
function p.PusteParametryReferencji(self, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu)...end;
</syntaxhighlight>
Paraametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} {{Patrz|uchwyt_obiektu}} - uchwyt obiektu, podane w danym szablonie stronicowym,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}}.
== {{Śródtytuł|p.SzablonyReferencjiParametrowych}}{{Code|p.SzablonyReferencjiParametrowych}} ==
Funkcja z parametrów pudełkowych nazwy artykułu {{ZobaczTeż|nazwa artykułu}}: {{Code|nazwa artykułu}} {{Patrz|nazwa artykułu}} albo {{Code|1}}, gdy bezuchwytowe lub {{Code|2}}, i pełnej nazwy książki {{ZobaczTeż|pełna nazwa strony}}: {{Code|nazwa książki}} {{Patrz|nazwa książki}} albo, {{Code|2}}, gdy bezuchwytowe lub {{Code|3}}. To wszystko jest liczone z: {{LinkPatrz|tabela_parametrow_szablonu}} lub przy użyciu parametru również {{Code|bezuchwytowe}} {{Patrz|bezuchwytowe}}, gdy mamy szablon stronicowy {{lk|Szablony stronicowe}}, bezuchwytowy, wtedy {{Code|true}}, przeciwnie {{Code|false/nil}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca,bezuchwytowe)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{Code|bezuchwytowe}} - jak w: {{LinkPatrz|bezuchwytowe}}.
Funkcja obie nazwy dekoduje funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a później jest liczony adres bezwzględny z względnego dzięki: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, przy pomocy podstawy {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}}, podobnie ale wcześniej jest liczona nazwa artykułu {{linkZobaczTeż|nazwa artykułu}}, czyli: {{LinkPatrz|nazwa_artykulu}}, ale tutaj adres względny jest liczony z podstawy o ciągu pustym jako drugi parametr.
Na podstawie pełnej nazwy książki {{LinkZobaczTeż|pełna nazwa strony}}: jest liczona bardziej jej wersja pełniejsza, jeżeli to jest w ogóle możliwe z: {{Code|{{sr|#p["PełnaNazwaStronicowejKsiążki"]|p=Książkowe}}}}. A póżniej z tego wszystkiego są liczone nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, przy pomocy funkcji nazw: {{Code|{{ld2|Nazwy}}}}.
Na samym końcu funkcji są zwracane parametry nazw, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== Funkcje zbierania informacji ==
=== {{Śródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}{{Code|p.ZbieranieInformacjiStronyWoluminowychPozycji}} ===
Funkcja zbierania informacji na stronie dla szablonów stronicowych: {{lk|Szablony stronicowe}}, bezuchwytowych, gdy nie jest uruchomiony parametr: {{Code|czy_inna_wartosc_tekst}} {{Patrz|czy_inna_wartosc_tekst}}, wtedy jest wywoływana funkcja: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}, która liczy kolejne nazwy charaktertyzujące nazwy dla danego artykułu książki dla danej strony, przeciwnie parametry nazw są ściagane z: {{Code|tab_nazwy}} {{Patrz|tab_nazwy}}, ta tabela składa się numerowanych elementów, którymi są nazwy charakyteryzujące stronę.
Gdy jakaś nazwa artylułu strony została policzona, wtedy są liczone pozostałe nazwy z: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, a na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, a tuż przed nim, jeśli istnieje: {{Code|KtorySzablonMaZwracacKategorie}} {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,KtorySzablonMaZwracacKategorie,czy_inna_wartosc_tekst,tab_nazwy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_inna_wartosc_tekst}} - jak w: {{LinkPatrz|czy_inna_wartosc_tekst}},
* {{Code|tab_nazwy}} - jak w: {{LinkPatrz|tab_nazwy}}.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacji}}{{Code|p.ZbieranieKontenerowychInformacji}} ===
Funkcja do zbierania informacji, która z parametrów pudełkowych: {{Code|{{m|Pudełko}}}}, czyli: {{Code|nazwa przestrzeni nazw}} {{Patrz|nazwa przestrzeni nazw}} i {{Code|nazwa jednostki}} {{Patrz|nazwa jednostki}}, z nich są liczone parametry nazw charakteryzujące artykuł książki strony. A na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} {{Patrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,czy_szablon_pudelkowy_strony_zbiorczej,KtorySzablonMaZwracacKategorie)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} {{Patrz|czy_szablon_pudelkowy_strony_zbiorczej}} - funkcja potrzebna do funkcji zbierającej {{LinkPatrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, określającej, czy mamy szablon pudełkowy strony zbiorczej, taki jak: {{Code|{{s|StronaSubst}}}}, czy: {{Code|{{s|KsiążkaSubst}}}}, zobacz stronę: {{Code|{{lr2|Moduły/StronicowyParser/StronaSubst}}}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Gdy nie ma parametrów pudełkowych funkcja się natychmiast zakańcza, lub parametr: {{LinkPatrz|nazwa jednostki}}, jest pusta, lub nawet gdy zawierają kody wykrywane przez funkcję: {{Code|{{sr|#p.NormaWzoruKodowaniaTekstu|p=Szablonowe}}}}.
Z nazwy jednostki jest wydzielana nazwa jednostki właściwa bez nazwy nagłówka, póżniej obie nazwy są też dekodowane funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, czyli wszystko z: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}.
Z tych dwóch nazwy jest liczony adres, ewentualnie względny, który za pomocą funkcji: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, jest wyliczany adres bezwzględny.
Dalej są liczone nazwy charakteryzujące artykuł danej książki strony, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, z tego adresu strony.
Przedostatnia funkcja, która jest uruchamiana przed funkcją zbierającą jest: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}, jeśli istnieje.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacjiReferencji}}{{Code|p.ZbieranieKontenerowychInformacjiReferencji}} ===
Funkcja zbiera informacje o stronie. Na podstawie informacji o nazwie artykułu i pełnej nazwy książki liczy parametry nazw charakteryzujące artykuł, co na tej podstawiwe liczy parametry pudełkowe i wywołuje funkcję główną przez inną funkcję, też zbierającą, i zbiera informacje o artykule.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacjiReferencji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, jako parametry zwracane przez funkcję: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}. Funkcja wyznacza parametry pudełkowe {{m|Pudełko}}, tzn.: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}, na podstawie tych nazw. Funkcja na samym końcu wywołuje funkcję zbierającą dane ze strony: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}, która z kolei uruchamia potem: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
== {{Śródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}{{Code|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}} ==
Funkcja sprawdza niepoprawność nazwy strony i na podstawie tego ustawia pewne kody problemów.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,__FUNKCJA_SPRAWDZANIE)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|__FUNKCJA_SPRAWDZANIE}} {{Patrz|__FUNKCJA_SPRAWDZANIE}} - funkcja uruchamiana, jeśli jest ustawiona, na wypadek poprawności strony.
W przypadku niepoprawności strony, gdy strona modułu jest aktualna (bieżąca), wtedy sprawdzany jest kod problemu, czy jest ustawiony, tzn.: {{Code|nieprawidłowe nazwy korzystanych stron}}, przy pomocy funkcji: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli nie ma takiego, to wtedy jest uruchamiana funkcja: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}. Podobnie jest dla niekorzystanej strony, wtedy jest problem dla kodu: {{Code|nieprawidłowe nazwy stron dołączanych do stron}}.
== Zbieranie informacji o linkach ==
=== {{Śródtytuł|p.LinkowanieFinalizowaniePrac}}{{Code|p.LinkowanieFinalizowaniePrac}} ===
Funkcja wadza uchwyt obiektu, wsazujący na aktualną stronę, do pewnej strony, i ewentualnie ustawia pewne problemy, jeśli je nie ustawiono.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} {{Patrz|obiekt}} - obiekt, obsługiwany przez tą funkcję linku,
* {{Code|kod}} {{LinkPatrz|kod}} - kod obiektu dla: {{LinkPatrz|obiekt}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} - jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}},
* {{Code|czy_pobierz}} {{Patrz|czy_pobierz}} - czy to jest szablon typu {{Code|Pobierz}} {{Patrz|Pobierz}}, jak: {{s|PobierzŚródtekst}}.
Funkcja sprawdza, czy nie został ustawiony element {{Code|tablica_zmiennych.sprawdzenie_dokonane_linku}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}, a jeżeli tak, to dalej, czy nie ma elementów numerowanych przy pomocy funkcji: {{Code|{{sr|#p["CzySąElementyNumerowaneTablicy"]|p=Parametry}}}}, a jeśli również tak, to dalej jest sprawdzane, czy został ustawiony problem: {{Code|strony poza zakresem obsługiwanym}}, przy pomocy: {{Code|{{sr|#p.CzyJestTakiElementTabeliProblemu|p=StronicowyParser/Problemy}}}}, a jeżeli nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}. Na samym końcu tej instrukcji warunkowej jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}.
Dalej pod tą instrukcją warunkową, jest robione, co powiedziane zostało w prologu tego opisu tej funkcji, tzn. z wyznaczonej tablicy ze: {{LinkPatrz|tablica_zmiennych}}, a dalej z wyznaczonej następnej podtabeli o kluczu: {{LinkPatrz|nazwa_obiektu}}.
Następnie, gdy element: {{LinkPatrz|czy_pobierz}}, jest ustawiony na {{Code|true}}, wtedy dla {{LinkPatrz|uchwyt_obiektu}}, pewna tablica, jest wstawiana do tablicy: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}}, jeśli istnieje, a jeśli nie, to jest tworzona, jako tablica, wtedy też jest to robione. Tą czynnością wstawiany tabelę, do tej tablicy, czyli:
<syntaxhighlight lang="lua">
{{nazwa_obiektu,uchwyt_obiektu,},{obiekt,kod,},}
</syntaxhighlight>
=== {{Śródtytuł|p.LinkowanieInnychStron}}{{Code|p.LinkowanieInnychStron}} ===
Funkcja do sprawdzania innych stron niż aktualna, a jeżeli dana strona została już sprawdzona, to powtórnie nie jest już rewidowana. Funkcja ustawia w głównej tablicy aktualnej tabeli {{LinkPatrz|tablica_zmiennych}} pewne podtablice.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieInnychStron(self,obiekt,kod,tablica_zmiennych, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejo jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Najpierw jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, która w razie poprawności nazwy strony, czyli inaczej nazw tej strony, tzn.: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, uruchamia funkcję zdefiniowaną w nim.
{{Tab}}Ta funkcja sprawdza, czy któraś z parametrów nazw istnieje, a jeżeli nie, to dalej jest inicjowana zmienna: {{Code|tablica_zmiennych2}} {{Patrz|tablica_zmiennych2}} pustą tablicą i podobnie {{Code|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}} {{Patrz|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}}, to uruchamiana jest: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, do zbierania informacji o stronie nowej lub przebadanej (wtedy zostają zwrócone parametry z wczęsniejszego jego analizowania, jak była nowa). Funkcja zwraca trzy parametry, tzn. {{Code|tabela_listy_danych_analizy_ksiazki0}} {{Patrz|tabela_listy_danych_analizy_ksiazki0}}, {{LinkPatrz|tablica_zmiennych2}} i {{Code|czy_inna}} {{Patrz|czy_inna}}. Te parametry mogą przyjmować wartość {{Code|nil}}, lub pierwszy {{Code|0}}, drugi, to nic innego jest jak: {{LinkPatrz|tablica_zmiennych2}}, a trzeci parametr jest wtedy równy {{Code|true}}, gdy strona jest nowa, a {{Code|false}} aktualna, a gdy {{Code|nil}}, gdy np. zawartość strony nie istnieje.
Gdy parametr: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, istnieje, wtedy jest spraqdzane, czy któreś z parametrów: {{LinkPatrz|tablica_zmiennych2}} i {{LinkPatrz|czy_inna}}, nie istsnieje, wtedy ta funkcja się zakańcza.
==== {{Śródtytuł|JuzPoliczone}}{{Code|JuzPoliczone}} ====
Dla obiektów, dla których jest ustawiony parametr: {{LinkPatrz|czy_pobierz}}, co dalej w tym rozgałęzieniu instrukcji warunkiwej jest uruchamiana funkcja szablonów tekstu, czyli: {{Code|{{sr|#p.UstawianiePobierz|p=StronicowyParser/SzablonyTekstu}}}}, aby również później za pomocą innych funkcji przeanalizować również tekst w szablonach takich jak: {{s|Śródtekst}}.
Dalej jest tworzona tablica, jeśli nie istnieje, tzn. {{Code|tablica_zmiennych2.dane_juz_policzone}} {{Patrz|tablica_zmiennych2.dane_juz_policzone}}, czyli jest inicjowana pustą tablicą. Dalej jest tworzona, jeśli nie istnieje, tablica wielowymiarowa po kolei, o kluczach kolejno: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}, {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu}}, a jeżeli ta ostatnia wartość tej tablicy była wcześniej, to zwracane jest {{Code|true}}, przeciwnie {{Code|false}}, a tej ostatniej wartości tej tablicy jest przydzielana wartość {{Code|true}}.
==== Dalszy opis funkcji ====
Gdy parametr: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest równy {{Code|0}}, ale nie {{Code|nil}}, wtedy jest sprawdzane, czy artykuł został wcześniej zrewidowany według: {{LinkŚródtytuł|JuzPoliczone}}, a jeżeli tak to jest zakańczany, a gdy ten parametr taakiej wartośsci nie przyjmuje, wtedy tylko jest uruchamiana funkcja bez żadnego warunku.
{{Tab}}Następnie jest uruchamiana funkcja: {{Code|{{sr|#p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony|p=StronicowyParser/SzablonyTekstu}}}}, do przydzielenia pewnych zmiennych z {{LinkPatrz|tablica_zmiennych2}} tablicy {{LinkPatrz|tablica_zmiennych}}.
{{Tab}}Jest sprawdzane, czy dany artykuł należy do spisu, jeżeli nie to są ustawiane pewne kody problemów w tablicy problemów, tzn. {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}.
Dalej jest sprawdzane, czy podany uchwyt {{LinkPatrz|uchwyt_obiektu}}, który jest podany w szablonach linków na aktualnej stronie, czy jest tylko jeden na stronie sprawdzanej, a jeżeli nie jest tak, to jest sprawdzane, czy nie istnieje ustawiony problem: {{Code|błędy uchwytów korzystanych stron}}, funkcją: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to taki problem jest dodawany dzięki: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
{{Tab}}Uruchamiana jest dalej funkcja: {{LinkŚródtytuł|p.PusteParametryReferencji}}, do sprawdzania pustości pewnych parametrów.
{{Tab}}Gdy tabela: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest jednak równa wartości odpowiadającej fałszywej, wtedy jeśli nie istnieje problem: {{Code|błąd wewnętrzny modułu lua stronicowego parsera}}, co jest rewidowane elementem: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to dodawany jest taki problem do tabeli problemów na podstawie: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
=== {{Śródtytuł|p.GeneralneLinkowanie}}{{Code|p.GeneralneLinkowanie}} ===
Funkcja zbiera uchwyty, na aktualnej lub innej stronie, a także je analizuje w odpowiedni sposób, modyfikuje tablica aktualnego modułu, czyli: {{LinkPatrz|tablica_zmiennych}}, na podstawie poszczególnych artykułów tej książki lub innej, która zbiera raz informacje o danej stronie.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Funkcja wyznacza uchwyt z tabeli parametrów: {{LinkPatrz|tabela_parametrow_szablonu}}, o kluczu {{Code|uchwyt}} {{LinkPatrz|uchwyt}} lub {{Code|1}}, a później w kodzie jest on kompletowany funkcją: {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a następnie rozwijany w niej, a później jest dekodowany: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}.
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, wywołujac: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}.
Na samym końcu jest uruchamiana: {{LinkPatrz|KtorySzablonMaZwracacKategorie}} z parametrem o tym uchwycie, wyliczonym wcześniej.
Gdy uchwyt istnieje, ale jest pusty, wtedy uruchamia się: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, następnie: {{LinkŚródtytuł|p.PusteParametryReferencji}}, a jeśli ta wartość nie istnieje, wtedy tylko ta ostatnia funkcja.
Gdy uchwyt: {{LinkPatrz|uchwyt}}, istnieje i jest niepusty, wtedy jest wyznaczana nazwa artykułu z niej samej, lub jeśli nazwa ksiązki istnieje, tylko, wtedy ta nazwa zaczyna być pusta, przeciwnie {{Code|nil}}, wtedy mamy do czynienia ze stroną główną podręcznika.
Gdy nazwa artykułu nie istnieje, wtedy wywoływana jest: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Jeśli nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest niepusta, i gdy nazwa książki nie istnieje, wtedy są liczone parametry nazw, oprócz nazwy artykułu, bo jest policzona, więc te {{ZobaczTeż|nazwy}}: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, z parametrów charakteryzujących nazwę aktualnego artykułu, a jeśli jednak nazwa książki jest pusta, to są sprawdzane parametry w: {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Gdy nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest nieistnieje, i gdy nazwa książki {{LinkPatrz|nazwa_ksiazki}} jest niepusta, wtedy nazwa artykułu zaczyna istnieć i inicjujemy wtedy ją wartością pustą, a jeśli pusta, za zaczyna być potem generowanie kodów błędów funkcją {{LinkŚródtytuł|p.PusteParametryReferencji}}, by potem się zakończyła ta funkcja.
Przeciwnie są liczone parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, tą samą metodą, co w punkcie: {{LinkZobaczTeż|nazwy}}.
Gdy nazwy {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}} są porównywane z nazwami, którymi się przypisje jak w: {{LinkZobaczTeż|nazwy}}, wtedy uruchamiamy funkcję: {{LinkŚródtytuł|p.LinkowanieInnychStron}}, przeciwnie wtedy działają dwie funkcje uruchomione po kolei, tzn.: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
== {{Śródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}{{Code|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} ==
Funkcja służy do zbierania informacji o danej analizowanej stronie, którego główną częścią jest strona korzystana, w której gromadzą się informacji też z pozostałych.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, czy_artykul_korzystany,tablica_zmiennych,czy_szablon_pudelkowy_strony_zbiorczej)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} - jak w: {{LinkPatrz|czy_szablon_pudelkowy_strony_zbiorczej}}.
=== {{Śródtytuł|__FUNKCJA_ARTYKULU}}{{Code|__FUNKCJA_ARTYKULU}} ===
Funkcja do tworzenia tabeli artykułów z innymi parametrami wielowymiarowej tej tabeli, a jeżeli owe pośrednie, i nie tylko, istnieją, to te tabele są zwracane lub nowo są tworzone.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji {{ZobaczTeż|parametry artykułu}}:
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}},
* {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu}} - nazwa artykułu w książce, bez pełnej nazwy książki.
Poniżej są tworzone podtabele puste, jeśli nie zostały utworzone.
Funkcja, która w tabeli: {{Code|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}} {{Patrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, która istnieje, tworzy tabele trójwymiarową kolejno po prarametrach: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, te tabele pośrednie śą wtedy tworzone, jeśsli nie istnieją, a gdy istnieją to nie są tworzone, tylko funkcja przechodzi do dalszych.
Dalej tworzona jest podtabela, jeśli nie istnieje o nazwie {{Code|lista_podstron_woluminu}} {{Patrz|lista_podstron_woluminu}}.
Następnie generowana jest podtabela, jeśli nie istnieje, o kluczu: {{LinkPatrz|nazwa_artykulu}}.
Funkcja zwraca kolejno elementy, jeśli klucz: {{LinkPatrz|nazwa_artykulu}}, istnieje, zatem:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany;
</syntaxhighlight>
Przeciwnie zwracany jest zbiór zmiennych po kolei:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki;
</syntaxhighlight>
Co to są za zmienne, wiadomo z ich nazw, po prostu są to pewne pośrednie, i nie tylko, tabele.
=== {{Śródtytuł|__FUNKCJA_POBIERANIE}}{{Code|__FUNKCJA_POBIERANIE}} ===
Funkcja zwraca parametry strony aktualnej, analizowanej jeszcze raz, aby ją nie powtórnie rewidować, lub podobnie dla innego artykułu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_POBIERANIE(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji są takie same jak w punkcie {{LinkZobaczTeż|parametry artykułu}}.
{{Tab}}Analiza dla artykułów niekorzystanych według parametru: {{LinkPatrz|czy_artykul_korzystany}}:
Dla jeszcze raz analizowanego artykułui aktualnego zwracane są parametry:
<syntaxhighlight lang="lua">
return 0,nil,nil,nil,nil,nil,self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron,false;
</syntaxhighlight>
Tabela: {{Code|self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron}}, tam są dane zebrane z aktualnego artykułu.
Dla innej takiej strony jest tworzony parametr, jeżeli jest włączona analiza, dla klucza: {{Code|analiza_spis_tresci}} {{Patrz|analiza_spis_tresci}}, według tego jest tworzony wartością prawdziwą parametr o innym znów kluczu: {{Code|analiza_spis_tresci_doloczone}} {{Patrz|analiza_spis_tresci_doloczone}}:
<syntaxhighlight lang="lua">
if(self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci)then
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=true;
end;
</syntaxhighlight>
Dla elementu: {{LinkPatrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, jeżeli dany artykuł był już rewidowany, to zwracane są elementy:
<syntaxhighlight lang="lua">
return 0,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni,dane_zebrane_ze_stron,true;
</syntaxhighlight>
To: {{Code|dane_zebrane_ze_stron}} {{Patrz|dane_zebrane_ze_stron}}, to podtabela: {{LinkPatrz|lista_podstron_woluminu}}, z kluczem: {{LinkPatrz|nazwa_artykulu}}, o nazwie takiej samej jak ten parametr zwracany.
Przeciwnie jest zwracane: {{Code|true}}, lub {{Code|nil}}, jeśli tabela: {{Code|self.tabela_listy_danych_analizy_ksiazki}} {{Patrz|self.tabela_listy_danych_analizy_ksiazki}}, lub podtatela: {{LinkPatrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, nie istnieje.
=== {{Śródtytuł|InneInformacjePrzebneDoAnalizowanejKsiazki}}{{Code|InneInformacjePrzebneDoAnalizowanejKsiazki}} ===
Funkcja do zbierania informacji o spisie artykułów książkowych i ich licencjach oraz ewentualnie zebrane informacje ze stron: {{lk2|Szablony nawigacyjne układu autonawigacji do autonawigacji podręczników}}, z szablonu, w któreś tej pozycji w: {{s|Układ autonawigacji}}, i ze spisów podanej w niej jako parametry.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function InneInformacjePrzebneDoAnalizowanejKsiazki()...end;
</syntaxhighlight>
Parametry funkcji:
* brak.
==== {{Śródtytuł|__FUNKCJA_SPISU}}{{Code|__FUNKCJA_SPISU}} ====
Funkcja do inicjowania parametrów spisu, aktualnego artykułu, uzyskanych z ich analizy.
Definicja skrotowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_SPISU(tablica_ksiazki,czy_podac_adres)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tablica_ksiazki}} {{Patrz|tablica_ksiazki}} - tablica dla analizowanej książki,
* {{Code|czy_podac_adres}} {{Patrz|czy_podac_adres}} - czy podać adres bazowego woluminu.
Tablicy: {{linkPatrz|tablica_ksiazki}}, jest inicjowany element: {{Code|spis}} {{Patrz|spis}}, tabelą: {{Code|tabela_artykulow}} {{Patrz|tabela_artykulow}}.
Gdy: {{LinkPatrz|czy_artykul_korzystany}}, jest wartością fałszywą, to iniciowaną tablicy: {{LinkPatrz|tablica_ksiazki}}, jest parametr o kluczu: {{Code|licencja}} {{Patrz|licencja}}, tabelą: {{Code|tabela_licencji_spisu_tresci}} {{Patrz|tabela_licencji_spisu_tresci}}.
Dalej kolejno elementy: {{Code|nazwa_bazowego_spisu}} {{Patrz|nazwa_bazowego_spisu}}, {{Code|tab_inne_spisy}} {{Patrz|tab_inne_spisy}} i {{Code|dodatkowe_strony_woluminu}}, tabeli: {{LinkPatrz|tablica_ksiazki}}, i inicjowane są tabelami o takich samych nazwach jak te klucze dwa, a ostatni tabelą: {{Code|dodatkowe_artykuly}} {{Patrz|dodatkowe_artykuly}}.
Dla tabeli: {{LinkPatrz|tablica_ksiazki}}, o kluczu w nim {{Code|adres_woluminu_bazowego_spisu_rzeczy}}, ona jest przyrównywana wartością: {{Code|adres_ksiazki_glownego_spisu_tresci}} {{Patrz|adres_ksiazki_glownego_spisu_tresci}}, jeśli istnieje: {{LinkPatrz|czy_podac_adres}}, lub przeciwnie wartością {{Code|nil}}.
==== Dalszy opis funkcji - etap I ====
Jeżeli dla aktualnego artykułu dla książki nie ustawiono kodu: {{Code|strony poza zakresem obsługiwanym}}, wtedy są analizowane elementy opisane w nagłówku opisywanej funkcji, pod warunkiem, jeżeli istnieją parametry nazw książki: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}.
Gdy artykuł jest analizowany, wtedy parametr: {{LinkPatrz|czy_artykul_korzystany}}, wtedy jest przy istnieniu: {{Code|self.tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|self.tabela_listy_danych_analizy_ksiazki}}, jest ustawiany w nim element: {{Code|CzyArtykułKsiążki}} {{Patrz|CzyArtykułKsiążki}}, z wartością na {{Code|tak}}.
Gdy już spis jeszcze nie analizowano, a jeżeli juz został zanalizowany, to sprawdzany jest: {{Code|czy_spis_analizowano}}, tablicy: {{LinkPatrz|tablica_ksiazki}}.
A jeśli jednak spisy książki nie zostały sprawdzone i sparsowane, wtedy uruchamia się następne rozgałęzienie pętli.
Uruchamia się dalej funkcja: {{Code|{{sr|#p.ZbieranieInformacjiSpisuRzeczyWoluminuEwentualnieWedleAutonawigacji|p=StronicowyParser/SpisTreści}}}}, w nim są uruchamiane w pewien sposób dwie funkcje.
===== {{Code|p.ZbieranieInformacjiSpisuRzeczyWoluminuEwentualnieWedleAutonawigacji}} =====
Ta funkcja służy do parsowania spisów i innych omówionych elementów książki danego artykułu.
====== Pierwsza anonimowa funkcja ======
Dla analizowanej pierwszej funkcji, ona jest uruchamiana, wtedy kiedy zostały zebrane wszystkie informrmacje ze spisów, wtedy dla elementu: {{Code|tablica_ksiazki_strona}} {{Patrz|tablica_ksiazki_strona}}, sprawdzane, czy jego element {{LinkPatrz|spis}} istnieje, jeśli istnieje, zatem elementy z: {{Code|_strona_temp}}, inicjujemy tymi z: {{Code|_strona}}, z elementów zmiennych tej funkcji, w takim razie inicjujemy inne jego podelementy, tzn.: {{Code|spis}} {{LinkPatrz|spis}}, {{Code|licencja}} {{LinkPatrz|licencja}}, {{Code|nazwa_bazowego_spisu}} {{LinkPatrz|nazwa_bazowego_spisu}}, {{Code|tab_inne_spisy}} {{LinkPatrz|tab_inne_spisy}}, {{Code|dodatkowe_strony_woluminu}} {{Patrz|dodatkowe_strony_woluminu}} i {{Code|adres_woluminu_bazowego_spisu_rzeczy}} {{Patrz|adres_woluminu_bazowego_spisu_rzeczy}}, elementu: {{LinkPatrz|tablica_ksiazki}}, tymi saamymi elementami, ale dla innej strony, tzn.: {{Code|tablica_ksiazki_strona}} {{LinkPatrz|tablica_ksiazki_strona}}.
Też jest inicjowany element tej pierwszej zmiennej książkowej o kluczu: {{Code|referencja_do_nowej_formy_spisu}}, według:
<syntaxhighlight lang="lua">
tablica_ksiazki.referencja_do_nowej_formy_spisu={tablica_przestrzeni_strona,tablica_przestrzeni_ksiazki_strona,tablica_ksiazki_strona,};
</syntaxhighlight>
Funkcja wtedy zwróci wartość: {{Code|1}}.
====== Druga anonimowa funkcji ======
Ta funkcja działa, gdy parametry strony, tzn.: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, są równe podobnym parametrom z: {{Code|_ref_spis}}, z parametrów tej funkcji, tzn. czy spis jest analizowanym korzystanym artykułem.
Ta funkcja kopiuje dokładnie elementy z: {{Code|_ref_spis}}, temu z: {{Code|_ref}}, te elementy, to nic innego jak: {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}}, {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}} i {{Code|tablica_danych_parametrow_szablonu_strony}} {{LinkPatrz|tablica_danych_parametrow_szablonu_strony}}, czyli tworzymy elementy takie: {{Code|tekst_rozwiniety_calego_artykulu_ref}} {{Patrz|tekst_rozwiniety_calego_artykulu_ref}}, {{Code|tablica_analizy_obiektow_strony_dany_modul_ref}} {{Patrz|tablica_analizy_obiektow_strony_dany_modul_ref}} i {{Code|tablica_danych_parametrow_szablonu_strony_ref}} {{Patrz|tablica_danych_parametrow_szablonu_strony_ref}}.
==== Dalszy opis funkcji - etap II ====
=== {{Śródtytuł|PrzekierownieAwaryjne}}{{Code|PrzekierownieAwaryjne}} ===
=== {{Śródtytuł|StronaZbiorcza}}{{Code|StronaZbiorcza}} ===
=== {{Śródtytuł|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}}{{Code|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}} ===
=== {{Śródtytuł|GeneralnaAnalizaSzablonuStronicowegoParsera}}{{Code|GeneralnaAnalizaSzablonuStronicowegoParsera}} ===
=== {{Śródtytuł|IterowaniePoElementachTekstu}}{{Code|IterowaniePoElementachTekstu}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieNaglowek}}{{Code|KtorySzablonMaZwracacKategorieNaglowek}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieTekst}}{{Code|KtorySzablonMaZwracacKategorieTekst}} ===
=== {{Śródtytuł|CzyJestTakiProblemJakoElementTablicy}}{{Code|CzyJestTakiProblemJakoElementTablicy}} ===
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
3iq24swn1nwi72gz8t54xsyh7x33qf3
547263
547262
2026-06-30T08:46:16Z
Persino
2851
/* Pierwsza anonimowa funkcja */
547263
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/ZbieranieDanychStron}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== Zbieranie informacji o uchwycie ==
=== {{Śródtytuł|p.UchwytyZeiBezNumeracji}}{{Code|p.UchwytyZeiBezNumeracji}} ===
Funkcja zbiera uchwyty, dla obiektów {{ZobaczTeż|p.UchwytyZeiBezNumeracji}}, bez numeracji, nie licząc obiektów tekst takich jak {{s|Śródtekst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UchwytyZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,lista_dwuelementowa,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} {{Patrz|self}} - zmiennna obiektowa modułu {{Code|{{ld2|StronicowyParser/ZbieranieDanychStron}}}} {{Patrz|StronicowyParser/ZbieranieDanychStron}},
* {{Code|tabela_elementow_strony_kodow}} {{Patrz|tabela_elementow_strony_kodow}} - zmienna zbierająca takie kody jak {{LinkZobaczTeż|p.UchwytyZeiBezNumeracji}},
* {{Code|nazwa_obiektu}} {{Patrz|nazwa obiektu}} - nazwa obiektu,
* {{Code|lista_dwuelementowa}} {{Patrz|lista_dwuelementowa}} - pozycja w normalnej tabeli uchwytów i przeważnie ich numeracji, a tutaj dla tego obiektu,
* {{Code|kod}} {{Patrz|kod}} - numer kodu dla tego obiektu.
Funkcja zbiera elementy {{LinkPatrz|lista_dwuelementowa}} w tablicy wielowymiarowej o pierwszym elemencie wymiaru {{LinkPatrz|nazwa obiektu}} i trzecim {{LinkPatrz|kod}}, oraz o drugim {{Code|uchwyty_bez_numeracji}} {{Patrz|uchwyty_bez_numeracji}}.
=== {{Śródtytuł|p.WydobywanieUchwytuZeiBezNumeracji}}{{Code|p.WydobywanieUchwytuZeiBezNumeracji}} ===
Funkcja wydowywa tablicę uchwytu dla pozycji, ale nie sam uchwyt, dla podtablicy {{LinkPatrz|uchwyty_bez_numeracji}} o danym kodzie {{LinkPatrz|kod}}, dla nazwy obiektu {{LinkPatrz|nazwa_obiektu}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.WydobywanieUchwytuZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_elementow_strony_kodow}} - jak w: {{LinkPatrz|tabela_elementow_strony_kodow}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}}.
Funkcja wykorzystuje elementy tablicy: {{LinkPatrz|uchwyty_bez_numeracji}}, wstawione przez funkcję: {{LinkŚródtytuł|p.UchwytyZeiBezNumeracji}}.
=== {{Śródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}{{Code|p.RozpatrywanieElementuUchwytuNumeracji}} ===
Funkcja wsadzająca utworzoną tablicę z podanym uchwytem do ogólnej tablicy pozycji nazwanych tabel z uchwytami o danej pozycji z nim.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|kod_uchwytu}} {{Patrz|kod_uchwytu}} - kod uchwytu podanego do szablonu stronicowego z odpowiednim uchwytem,
* {{Code|tab_numer}} {{Patrz|tab_numer}} - tablica z numerkami ilości elementów w tablicy parametrów nazwanych z uchwytami, w danym elemencie analizowania strony z uchwytami i obiektami,
* {{Code|tablica_zmiennych}} {{Patrz|tablica_zmiennych}} - tablica analizowania obiektów, danej strony,
* {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} {{Patrz|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - kolejno: nazwa przestrzeni nazw, nazwa przestrzeni książki, nazwa książki i nazwa artykułu książki,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} {{Patrz|czy_artykul_korzystany}} - czy artykuł aktualny wyświetlany w przeglądarce,
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} {{Patrz|nazwa_modulu_aktualna_czy_biezaca}} - nazwa artykułu aktualna lub bieżąca,
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{Patrz|tablica_analizy_obiektow_strony_dany_modul}} - tablica bazy kodów parsowania strony,
* {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - tablica analizy poszczególnych elementów kodów, do szybszego działania skryptu,
* {{Code|KtorySzablonMaZwracacKategorie}} {{Patrz|KtorySzablonMaZwracacKategorie}} - tablica zbierająca odkodowany i rozwinięty uchwyt, do analizowania w nim zebranych kategorii, według modułu: {{Code|{{ld2|StronicowyParser/Kategorie}}}}, uruchamiana w szablonach stronicowych z funkcjami '''stronicowego parsera'''.
Funkcja rozwija {{LinkPatrz|kod_uchwytu}} funkcją {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a potem je odkodowuje przy pomocy: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a jeżeli ona nie jest pusta, to dla tego jest uruchamiana funkcja {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Tworzona jest tablica {{Code|lista_dwuelementowa}} {{LinkPatrz|lista_dwuelementowa}} z uchwytem, jako pierwszy parametr.
Jest sprawdzane, czy element {{Code|tablica_zmiennych.sprawdzenie_dokonane_obiektu}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, jest fałszywy, jeżeli tak, to dalej jest sprawdzane, czy są elementy numerowane nazwanej tablicy: {{Code|tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2}} o nazwie {{LinkPatrz|nazwa_obiektu}}, a jeżeli jest pusta - na samym końcu jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, czyli jest inicjowana na wartość {{Code|true}}, to dalej jest sprawdzane, czy dla elementów: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy dana książka jest poza zakresem obsługiwanym, czyli rewidowane jest, czy jest ustawiony kod problemu {{Code|strony poza zakresem obsługiwanym}}, czy a jeżeli jednak nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}, ustawiające pewne elementy błędu, jeżeli trzeba to zrobić.
Gdy tabela {{LinkPatrz|tab_numer}} odpowiada nienilowej tablicy, wtedy element {{LinkPatrz|lista_dwuelementowa}} jest wstawiany na odpowiedniej pozycji, ale przeważnie nie na końcu, przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=table.insert|b=tak}}}}, dzięki określonej tabeli {{LinkPatrz|tab_numer}}, przeciwnie na jej końcu.
Funkcja zwraca element {{LinkPatrz|lista_dwuelementowa}}.
=== {{Śródtytuł|p.RozpatrywanieSzablonuObiektuDoNumeracji}}{{Code|p.RozpatrywanieSzablonuObiektuDoNumeracji}} ===
Funkcja, która uruchamia funkcję: {{LinkŚródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}, dla istniejącego uchwytu w postaci nazwanej o kluczu: {{Code|uchwyt}} {{Patrz|uchwyt}}, lub nienazwanej - w postaci numeru jego uchwytu o kluczu: {{Code|numer_numeracji}} {{Patrz|numer_numeracji}}, wsadzająca tabele z uchwytem na odpowiednią pozycję w odpowiedniej nazwanej tabeli o nazwie obiektu {{LinkPatrz|nazwa_obiektu}} w ogólnej tabeli: {{LinkPatrz|tablica_zmiennych}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}}- tabela parametrów szablonu,
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|numer_numeracji}} - jak w: {{LinkPatrz|numer_numeracji}},
* {{Code|tab_numer}} - jak w: {{LinkPatrz|tab_numer}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
== {{Śródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}{{Code|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}} ==
Funkcja sprawdza, czy dany artykuł należy do artykułów, któregoś spisu treści, a jeżeli nie, to dla stron, które nie należą do kategorii z ustawionym problemem {{Code|strony poza zakresem obsługiwanym}}, ale do nieaktualnej strony jest ustawiony problem {{Code|brak spisów treści do dołączonych stron}}. Natomiast dla aktualnej dla stron tej samej kategorii ustawiany jest problem {{Code|brak spisu treści do korzystanych stron}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== {{Śródtytuł|p.PusteParametryReferencji}}{{Code|p.PusteParametryReferencji}} ==
Funkcja sprawdza, jeśli są podane parametry szablonu stronicowego, które są w kategorii: {{lk|Szablony stronicowe}}, czyli: {{Code|nazwa_artykulu}}, ewentualnie: {{Code|nazwa_ksiazki}}, ale zawsze z: {{Code|uchwyt_obiektu}}, czy są one puste.
A jeżeli one istnieją i są takie, to są ustawione problemy typu, jeśli ich wcześniej nie ustawiono:
* {{Code|puste parametry szablonów stronicowych linkujących}} {{Patrz|puste parametry szablonów stronicowych linkujących}}, kolejno dla: {{Code|uchwyt_obiektu}}, {{Code|nazwa_artykulu}} i {{Code|nazwa_ksiazki}}, kolejno z numerami problemów: {{Code|1}}, {{Code|2}} i {{Code|3}}.
Dla obiektu o nazwie {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}.
{{Hr}}
Definicja skrótowa funkcji
<syntaxhighlight lang="lua">
function p.PusteParametryReferencji(self, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu)...end;
</syntaxhighlight>
Paraametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} {{Patrz|uchwyt_obiektu}} - uchwyt obiektu, podane w danym szablonie stronicowym,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}}.
== {{Śródtytuł|p.SzablonyReferencjiParametrowych}}{{Code|p.SzablonyReferencjiParametrowych}} ==
Funkcja z parametrów pudełkowych nazwy artykułu {{ZobaczTeż|nazwa artykułu}}: {{Code|nazwa artykułu}} {{Patrz|nazwa artykułu}} albo {{Code|1}}, gdy bezuchwytowe lub {{Code|2}}, i pełnej nazwy książki {{ZobaczTeż|pełna nazwa strony}}: {{Code|nazwa książki}} {{Patrz|nazwa książki}} albo, {{Code|2}}, gdy bezuchwytowe lub {{Code|3}}. To wszystko jest liczone z: {{LinkPatrz|tabela_parametrow_szablonu}} lub przy użyciu parametru również {{Code|bezuchwytowe}} {{Patrz|bezuchwytowe}}, gdy mamy szablon stronicowy {{lk|Szablony stronicowe}}, bezuchwytowy, wtedy {{Code|true}}, przeciwnie {{Code|false/nil}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca,bezuchwytowe)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{Code|bezuchwytowe}} - jak w: {{LinkPatrz|bezuchwytowe}}.
Funkcja obie nazwy dekoduje funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a później jest liczony adres bezwzględny z względnego dzięki: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, przy pomocy podstawy {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}}, podobnie ale wcześniej jest liczona nazwa artykułu {{linkZobaczTeż|nazwa artykułu}}, czyli: {{LinkPatrz|nazwa_artykulu}}, ale tutaj adres względny jest liczony z podstawy o ciągu pustym jako drugi parametr.
Na podstawie pełnej nazwy książki {{LinkZobaczTeż|pełna nazwa strony}}: jest liczona bardziej jej wersja pełniejsza, jeżeli to jest w ogóle możliwe z: {{Code|{{sr|#p["PełnaNazwaStronicowejKsiążki"]|p=Książkowe}}}}. A póżniej z tego wszystkiego są liczone nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, przy pomocy funkcji nazw: {{Code|{{ld2|Nazwy}}}}.
Na samym końcu funkcji są zwracane parametry nazw, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== Funkcje zbierania informacji ==
=== {{Śródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}{{Code|p.ZbieranieInformacjiStronyWoluminowychPozycji}} ===
Funkcja zbierania informacji na stronie dla szablonów stronicowych: {{lk|Szablony stronicowe}}, bezuchwytowych, gdy nie jest uruchomiony parametr: {{Code|czy_inna_wartosc_tekst}} {{Patrz|czy_inna_wartosc_tekst}}, wtedy jest wywoływana funkcja: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}, która liczy kolejne nazwy charaktertyzujące nazwy dla danego artykułu książki dla danej strony, przeciwnie parametry nazw są ściagane z: {{Code|tab_nazwy}} {{Patrz|tab_nazwy}}, ta tabela składa się numerowanych elementów, którymi są nazwy charakyteryzujące stronę.
Gdy jakaś nazwa artylułu strony została policzona, wtedy są liczone pozostałe nazwy z: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, a na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, a tuż przed nim, jeśli istnieje: {{Code|KtorySzablonMaZwracacKategorie}} {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,KtorySzablonMaZwracacKategorie,czy_inna_wartosc_tekst,tab_nazwy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_inna_wartosc_tekst}} - jak w: {{LinkPatrz|czy_inna_wartosc_tekst}},
* {{Code|tab_nazwy}} - jak w: {{LinkPatrz|tab_nazwy}}.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacji}}{{Code|p.ZbieranieKontenerowychInformacji}} ===
Funkcja do zbierania informacji, która z parametrów pudełkowych: {{Code|{{m|Pudełko}}}}, czyli: {{Code|nazwa przestrzeni nazw}} {{Patrz|nazwa przestrzeni nazw}} i {{Code|nazwa jednostki}} {{Patrz|nazwa jednostki}}, z nich są liczone parametry nazw charakteryzujące artykuł książki strony. A na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} {{Patrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,czy_szablon_pudelkowy_strony_zbiorczej,KtorySzablonMaZwracacKategorie)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} {{Patrz|czy_szablon_pudelkowy_strony_zbiorczej}} - funkcja potrzebna do funkcji zbierającej {{LinkPatrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, określającej, czy mamy szablon pudełkowy strony zbiorczej, taki jak: {{Code|{{s|StronaSubst}}}}, czy: {{Code|{{s|KsiążkaSubst}}}}, zobacz stronę: {{Code|{{lr2|Moduły/StronicowyParser/StronaSubst}}}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Gdy nie ma parametrów pudełkowych funkcja się natychmiast zakańcza, lub parametr: {{LinkPatrz|nazwa jednostki}}, jest pusta, lub nawet gdy zawierają kody wykrywane przez funkcję: {{Code|{{sr|#p.NormaWzoruKodowaniaTekstu|p=Szablonowe}}}}.
Z nazwy jednostki jest wydzielana nazwa jednostki właściwa bez nazwy nagłówka, póżniej obie nazwy są też dekodowane funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, czyli wszystko z: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}.
Z tych dwóch nazwy jest liczony adres, ewentualnie względny, który za pomocą funkcji: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, jest wyliczany adres bezwzględny.
Dalej są liczone nazwy charakteryzujące artykuł danej książki strony, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, z tego adresu strony.
Przedostatnia funkcja, która jest uruchamiana przed funkcją zbierającą jest: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}, jeśli istnieje.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacjiReferencji}}{{Code|p.ZbieranieKontenerowychInformacjiReferencji}} ===
Funkcja zbiera informacje o stronie. Na podstawie informacji o nazwie artykułu i pełnej nazwy książki liczy parametry nazw charakteryzujące artykuł, co na tej podstawiwe liczy parametry pudełkowe i wywołuje funkcję główną przez inną funkcję, też zbierającą, i zbiera informacje o artykule.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacjiReferencji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, jako parametry zwracane przez funkcję: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}. Funkcja wyznacza parametry pudełkowe {{m|Pudełko}}, tzn.: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}, na podstawie tych nazw. Funkcja na samym końcu wywołuje funkcję zbierającą dane ze strony: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}, która z kolei uruchamia potem: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
== {{Śródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}{{Code|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}} ==
Funkcja sprawdza niepoprawność nazwy strony i na podstawie tego ustawia pewne kody problemów.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,__FUNKCJA_SPRAWDZANIE)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|__FUNKCJA_SPRAWDZANIE}} {{Patrz|__FUNKCJA_SPRAWDZANIE}} - funkcja uruchamiana, jeśli jest ustawiona, na wypadek poprawności strony.
W przypadku niepoprawności strony, gdy strona modułu jest aktualna (bieżąca), wtedy sprawdzany jest kod problemu, czy jest ustawiony, tzn.: {{Code|nieprawidłowe nazwy korzystanych stron}}, przy pomocy funkcji: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli nie ma takiego, to wtedy jest uruchamiana funkcja: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}. Podobnie jest dla niekorzystanej strony, wtedy jest problem dla kodu: {{Code|nieprawidłowe nazwy stron dołączanych do stron}}.
== Zbieranie informacji o linkach ==
=== {{Śródtytuł|p.LinkowanieFinalizowaniePrac}}{{Code|p.LinkowanieFinalizowaniePrac}} ===
Funkcja wadza uchwyt obiektu, wsazujący na aktualną stronę, do pewnej strony, i ewentualnie ustawia pewne problemy, jeśli je nie ustawiono.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} {{Patrz|obiekt}} - obiekt, obsługiwany przez tą funkcję linku,
* {{Code|kod}} {{LinkPatrz|kod}} - kod obiektu dla: {{LinkPatrz|obiekt}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} - jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}},
* {{Code|czy_pobierz}} {{Patrz|czy_pobierz}} - czy to jest szablon typu {{Code|Pobierz}} {{Patrz|Pobierz}}, jak: {{s|PobierzŚródtekst}}.
Funkcja sprawdza, czy nie został ustawiony element {{Code|tablica_zmiennych.sprawdzenie_dokonane_linku}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}, a jeżeli tak, to dalej, czy nie ma elementów numerowanych przy pomocy funkcji: {{Code|{{sr|#p["CzySąElementyNumerowaneTablicy"]|p=Parametry}}}}, a jeśli również tak, to dalej jest sprawdzane, czy został ustawiony problem: {{Code|strony poza zakresem obsługiwanym}}, przy pomocy: {{Code|{{sr|#p.CzyJestTakiElementTabeliProblemu|p=StronicowyParser/Problemy}}}}, a jeżeli nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}. Na samym końcu tej instrukcji warunkowej jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}.
Dalej pod tą instrukcją warunkową, jest robione, co powiedziane zostało w prologu tego opisu tej funkcji, tzn. z wyznaczonej tablicy ze: {{LinkPatrz|tablica_zmiennych}}, a dalej z wyznaczonej następnej podtabeli o kluczu: {{LinkPatrz|nazwa_obiektu}}.
Następnie, gdy element: {{LinkPatrz|czy_pobierz}}, jest ustawiony na {{Code|true}}, wtedy dla {{LinkPatrz|uchwyt_obiektu}}, pewna tablica, jest wstawiana do tablicy: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}}, jeśli istnieje, a jeśli nie, to jest tworzona, jako tablica, wtedy też jest to robione. Tą czynnością wstawiany tabelę, do tej tablicy, czyli:
<syntaxhighlight lang="lua">
{{nazwa_obiektu,uchwyt_obiektu,},{obiekt,kod,},}
</syntaxhighlight>
=== {{Śródtytuł|p.LinkowanieInnychStron}}{{Code|p.LinkowanieInnychStron}} ===
Funkcja do sprawdzania innych stron niż aktualna, a jeżeli dana strona została już sprawdzona, to powtórnie nie jest już rewidowana. Funkcja ustawia w głównej tablicy aktualnej tabeli {{LinkPatrz|tablica_zmiennych}} pewne podtablice.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieInnychStron(self,obiekt,kod,tablica_zmiennych, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejo jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Najpierw jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, która w razie poprawności nazwy strony, czyli inaczej nazw tej strony, tzn.: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, uruchamia funkcję zdefiniowaną w nim.
{{Tab}}Ta funkcja sprawdza, czy któraś z parametrów nazw istnieje, a jeżeli nie, to dalej jest inicjowana zmienna: {{Code|tablica_zmiennych2}} {{Patrz|tablica_zmiennych2}} pustą tablicą i podobnie {{Code|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}} {{Patrz|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}}, to uruchamiana jest: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, do zbierania informacji o stronie nowej lub przebadanej (wtedy zostają zwrócone parametry z wczęsniejszego jego analizowania, jak była nowa). Funkcja zwraca trzy parametry, tzn. {{Code|tabela_listy_danych_analizy_ksiazki0}} {{Patrz|tabela_listy_danych_analizy_ksiazki0}}, {{LinkPatrz|tablica_zmiennych2}} i {{Code|czy_inna}} {{Patrz|czy_inna}}. Te parametry mogą przyjmować wartość {{Code|nil}}, lub pierwszy {{Code|0}}, drugi, to nic innego jest jak: {{LinkPatrz|tablica_zmiennych2}}, a trzeci parametr jest wtedy równy {{Code|true}}, gdy strona jest nowa, a {{Code|false}} aktualna, a gdy {{Code|nil}}, gdy np. zawartość strony nie istnieje.
Gdy parametr: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, istnieje, wtedy jest spraqdzane, czy któreś z parametrów: {{LinkPatrz|tablica_zmiennych2}} i {{LinkPatrz|czy_inna}}, nie istsnieje, wtedy ta funkcja się zakańcza.
==== {{Śródtytuł|JuzPoliczone}}{{Code|JuzPoliczone}} ====
Dla obiektów, dla których jest ustawiony parametr: {{LinkPatrz|czy_pobierz}}, co dalej w tym rozgałęzieniu instrukcji warunkiwej jest uruchamiana funkcja szablonów tekstu, czyli: {{Code|{{sr|#p.UstawianiePobierz|p=StronicowyParser/SzablonyTekstu}}}}, aby również później za pomocą innych funkcji przeanalizować również tekst w szablonach takich jak: {{s|Śródtekst}}.
Dalej jest tworzona tablica, jeśli nie istnieje, tzn. {{Code|tablica_zmiennych2.dane_juz_policzone}} {{Patrz|tablica_zmiennych2.dane_juz_policzone}}, czyli jest inicjowana pustą tablicą. Dalej jest tworzona, jeśli nie istnieje, tablica wielowymiarowa po kolei, o kluczach kolejno: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}, {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu}}, a jeżeli ta ostatnia wartość tej tablicy była wcześniej, to zwracane jest {{Code|true}}, przeciwnie {{Code|false}}, a tej ostatniej wartości tej tablicy jest przydzielana wartość {{Code|true}}.
==== Dalszy opis funkcji ====
Gdy parametr: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest równy {{Code|0}}, ale nie {{Code|nil}}, wtedy jest sprawdzane, czy artykuł został wcześniej zrewidowany według: {{LinkŚródtytuł|JuzPoliczone}}, a jeżeli tak to jest zakańczany, a gdy ten parametr taakiej wartośsci nie przyjmuje, wtedy tylko jest uruchamiana funkcja bez żadnego warunku.
{{Tab}}Następnie jest uruchamiana funkcja: {{Code|{{sr|#p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony|p=StronicowyParser/SzablonyTekstu}}}}, do przydzielenia pewnych zmiennych z {{LinkPatrz|tablica_zmiennych2}} tablicy {{LinkPatrz|tablica_zmiennych}}.
{{Tab}}Jest sprawdzane, czy dany artykuł należy do spisu, jeżeli nie to są ustawiane pewne kody problemów w tablicy problemów, tzn. {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}.
Dalej jest sprawdzane, czy podany uchwyt {{LinkPatrz|uchwyt_obiektu}}, który jest podany w szablonach linków na aktualnej stronie, czy jest tylko jeden na stronie sprawdzanej, a jeżeli nie jest tak, to jest sprawdzane, czy nie istnieje ustawiony problem: {{Code|błędy uchwytów korzystanych stron}}, funkcją: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to taki problem jest dodawany dzięki: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
{{Tab}}Uruchamiana jest dalej funkcja: {{LinkŚródtytuł|p.PusteParametryReferencji}}, do sprawdzania pustości pewnych parametrów.
{{Tab}}Gdy tabela: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest jednak równa wartości odpowiadającej fałszywej, wtedy jeśli nie istnieje problem: {{Code|błąd wewnętrzny modułu lua stronicowego parsera}}, co jest rewidowane elementem: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to dodawany jest taki problem do tabeli problemów na podstawie: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
=== {{Śródtytuł|p.GeneralneLinkowanie}}{{Code|p.GeneralneLinkowanie}} ===
Funkcja zbiera uchwyty, na aktualnej lub innej stronie, a także je analizuje w odpowiedni sposób, modyfikuje tablica aktualnego modułu, czyli: {{LinkPatrz|tablica_zmiennych}}, na podstawie poszczególnych artykułów tej książki lub innej, która zbiera raz informacje o danej stronie.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Funkcja wyznacza uchwyt z tabeli parametrów: {{LinkPatrz|tabela_parametrow_szablonu}}, o kluczu {{Code|uchwyt}} {{LinkPatrz|uchwyt}} lub {{Code|1}}, a później w kodzie jest on kompletowany funkcją: {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a następnie rozwijany w niej, a później jest dekodowany: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}.
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, wywołujac: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}.
Na samym końcu jest uruchamiana: {{LinkPatrz|KtorySzablonMaZwracacKategorie}} z parametrem o tym uchwycie, wyliczonym wcześniej.
Gdy uchwyt istnieje, ale jest pusty, wtedy uruchamia się: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, następnie: {{LinkŚródtytuł|p.PusteParametryReferencji}}, a jeśli ta wartość nie istnieje, wtedy tylko ta ostatnia funkcja.
Gdy uchwyt: {{LinkPatrz|uchwyt}}, istnieje i jest niepusty, wtedy jest wyznaczana nazwa artykułu z niej samej, lub jeśli nazwa ksiązki istnieje, tylko, wtedy ta nazwa zaczyna być pusta, przeciwnie {{Code|nil}}, wtedy mamy do czynienia ze stroną główną podręcznika.
Gdy nazwa artykułu nie istnieje, wtedy wywoływana jest: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Jeśli nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest niepusta, i gdy nazwa książki nie istnieje, wtedy są liczone parametry nazw, oprócz nazwy artykułu, bo jest policzona, więc te {{ZobaczTeż|nazwy}}: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, z parametrów charakteryzujących nazwę aktualnego artykułu, a jeśli jednak nazwa książki jest pusta, to są sprawdzane parametry w: {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Gdy nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest nieistnieje, i gdy nazwa książki {{LinkPatrz|nazwa_ksiazki}} jest niepusta, wtedy nazwa artykułu zaczyna istnieć i inicjujemy wtedy ją wartością pustą, a jeśli pusta, za zaczyna być potem generowanie kodów błędów funkcją {{LinkŚródtytuł|p.PusteParametryReferencji}}, by potem się zakończyła ta funkcja.
Przeciwnie są liczone parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, tą samą metodą, co w punkcie: {{LinkZobaczTeż|nazwy}}.
Gdy nazwy {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}} są porównywane z nazwami, którymi się przypisje jak w: {{LinkZobaczTeż|nazwy}}, wtedy uruchamiamy funkcję: {{LinkŚródtytuł|p.LinkowanieInnychStron}}, przeciwnie wtedy działają dwie funkcje uruchomione po kolei, tzn.: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
== {{Śródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}{{Code|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} ==
Funkcja służy do zbierania informacji o danej analizowanej stronie, którego główną częścią jest strona korzystana, w której gromadzą się informacji też z pozostałych.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, czy_artykul_korzystany,tablica_zmiennych,czy_szablon_pudelkowy_strony_zbiorczej)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} - jak w: {{LinkPatrz|czy_szablon_pudelkowy_strony_zbiorczej}}.
=== {{Śródtytuł|__FUNKCJA_ARTYKULU}}{{Code|__FUNKCJA_ARTYKULU}} ===
Funkcja do tworzenia tabeli artykułów z innymi parametrami wielowymiarowej tej tabeli, a jeżeli owe pośrednie, i nie tylko, istnieją, to te tabele są zwracane lub nowo są tworzone.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji {{ZobaczTeż|parametry artykułu}}:
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}},
* {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu}} - nazwa artykułu w książce, bez pełnej nazwy książki.
Poniżej są tworzone podtabele puste, jeśli nie zostały utworzone.
Funkcja, która w tabeli: {{Code|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}} {{Patrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, która istnieje, tworzy tabele trójwymiarową kolejno po prarametrach: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, te tabele pośrednie śą wtedy tworzone, jeśsli nie istnieją, a gdy istnieją to nie są tworzone, tylko funkcja przechodzi do dalszych.
Dalej tworzona jest podtabela, jeśli nie istnieje o nazwie {{Code|lista_podstron_woluminu}} {{Patrz|lista_podstron_woluminu}}.
Następnie generowana jest podtabela, jeśli nie istnieje, o kluczu: {{LinkPatrz|nazwa_artykulu}}.
Funkcja zwraca kolejno elementy, jeśli klucz: {{LinkPatrz|nazwa_artykulu}}, istnieje, zatem:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany;
</syntaxhighlight>
Przeciwnie zwracany jest zbiór zmiennych po kolei:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki;
</syntaxhighlight>
Co to są za zmienne, wiadomo z ich nazw, po prostu są to pewne pośrednie, i nie tylko, tabele.
=== {{Śródtytuł|__FUNKCJA_POBIERANIE}}{{Code|__FUNKCJA_POBIERANIE}} ===
Funkcja zwraca parametry strony aktualnej, analizowanej jeszcze raz, aby ją nie powtórnie rewidować, lub podobnie dla innego artykułu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_POBIERANIE(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji są takie same jak w punkcie {{LinkZobaczTeż|parametry artykułu}}.
{{Tab}}Analiza dla artykułów niekorzystanych według parametru: {{LinkPatrz|czy_artykul_korzystany}}:
Dla jeszcze raz analizowanego artykułui aktualnego zwracane są parametry:
<syntaxhighlight lang="lua">
return 0,nil,nil,nil,nil,nil,self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron,false;
</syntaxhighlight>
Tabela: {{Code|self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron}}, tam są dane zebrane z aktualnego artykułu.
Dla innej takiej strony jest tworzony parametr, jeżeli jest włączona analiza, dla klucza: {{Code|analiza_spis_tresci}} {{Patrz|analiza_spis_tresci}}, według tego jest tworzony wartością prawdziwą parametr o innym znów kluczu: {{Code|analiza_spis_tresci_doloczone}} {{Patrz|analiza_spis_tresci_doloczone}}:
<syntaxhighlight lang="lua">
if(self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci)then
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=true;
end;
</syntaxhighlight>
Dla elementu: {{LinkPatrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, jeżeli dany artykuł był już rewidowany, to zwracane są elementy:
<syntaxhighlight lang="lua">
return 0,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni,dane_zebrane_ze_stron,true;
</syntaxhighlight>
To: {{Code|dane_zebrane_ze_stron}} {{Patrz|dane_zebrane_ze_stron}}, to podtabela: {{LinkPatrz|lista_podstron_woluminu}}, z kluczem: {{LinkPatrz|nazwa_artykulu}}, o nazwie takiej samej jak ten parametr zwracany.
Przeciwnie jest zwracane: {{Code|true}}, lub {{Code|nil}}, jeśli tabela: {{Code|self.tabela_listy_danych_analizy_ksiazki}} {{Patrz|self.tabela_listy_danych_analizy_ksiazki}}, lub podtatela: {{LinkPatrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, nie istnieje.
=== {{Śródtytuł|InneInformacjePrzebneDoAnalizowanejKsiazki}}{{Code|InneInformacjePrzebneDoAnalizowanejKsiazki}} ===
Funkcja do zbierania informacji o spisie artykułów książkowych i ich licencjach oraz ewentualnie zebrane informacje ze stron: {{lk2|Szablony nawigacyjne układu autonawigacji do autonawigacji podręczników}}, z szablonu, w któreś tej pozycji w: {{s|Układ autonawigacji}}, i ze spisów podanej w niej jako parametry.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function InneInformacjePrzebneDoAnalizowanejKsiazki()...end;
</syntaxhighlight>
Parametry funkcji:
* brak.
==== {{Śródtytuł|__FUNKCJA_SPISU}}{{Code|__FUNKCJA_SPISU}} ====
Funkcja do inicjowania parametrów spisu, aktualnego artykułu, uzyskanych z ich analizy.
Definicja skrotowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_SPISU(tablica_ksiazki,czy_podac_adres)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tablica_ksiazki}} {{Patrz|tablica_ksiazki}} - tablica dla analizowanej książki,
* {{Code|czy_podac_adres}} {{Patrz|czy_podac_adres}} - czy podać adres bazowego woluminu.
Tablicy: {{linkPatrz|tablica_ksiazki}}, jest inicjowany element: {{Code|spis}} {{Patrz|spis}}, tabelą: {{Code|tabela_artykulow}} {{Patrz|tabela_artykulow}}.
Gdy: {{LinkPatrz|czy_artykul_korzystany}}, jest wartością fałszywą, to iniciowaną tablicy: {{LinkPatrz|tablica_ksiazki}}, jest parametr o kluczu: {{Code|licencja}} {{Patrz|licencja}}, tabelą: {{Code|tabela_licencji_spisu_tresci}} {{Patrz|tabela_licencji_spisu_tresci}}.
Dalej kolejno elementy: {{Code|nazwa_bazowego_spisu}} {{Patrz|nazwa_bazowego_spisu}}, {{Code|tab_inne_spisy}} {{Patrz|tab_inne_spisy}} i {{Code|dodatkowe_strony_woluminu}}, tabeli: {{LinkPatrz|tablica_ksiazki}}, i inicjowane są tabelami o takich samych nazwach jak te klucze dwa, a ostatni tabelą: {{Code|dodatkowe_artykuly}} {{Patrz|dodatkowe_artykuly}}.
Dla tabeli: {{LinkPatrz|tablica_ksiazki}}, o kluczu w nim {{Code|adres_woluminu_bazowego_spisu_rzeczy}}, ona jest przyrównywana wartością: {{Code|adres_ksiazki_glownego_spisu_tresci}} {{Patrz|adres_ksiazki_glownego_spisu_tresci}}, jeśli istnieje: {{LinkPatrz|czy_podac_adres}}, lub przeciwnie wartością {{Code|nil}}.
==== Dalszy opis funkcji - etap I ====
Jeżeli dla aktualnego artykułu dla książki nie ustawiono kodu: {{Code|strony poza zakresem obsługiwanym}}, wtedy są analizowane elementy opisane w nagłówku opisywanej funkcji, pod warunkiem, jeżeli istnieją parametry nazw książki: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}.
Gdy artykuł jest analizowany, wtedy parametr: {{LinkPatrz|czy_artykul_korzystany}}, wtedy jest przy istnieniu: {{Code|self.tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|self.tabela_listy_danych_analizy_ksiazki}}, jest ustawiany w nim element: {{Code|CzyArtykułKsiążki}} {{Patrz|CzyArtykułKsiążki}}, z wartością na {{Code|tak}}.
Gdy już spis jeszcze nie analizowano, a jeżeli juz został zanalizowany, to sprawdzany jest: {{Code|czy_spis_analizowano}}, tablicy: {{LinkPatrz|tablica_ksiazki}}.
A jeśli jednak spisy książki nie zostały sprawdzone i sparsowane, wtedy uruchamia się następne rozgałęzienie pętli.
Uruchamia się dalej funkcja: {{Code|{{sr|#p.ZbieranieInformacjiSpisuRzeczyWoluminuEwentualnieWedleAutonawigacji|p=StronicowyParser/SpisTreści}}}}, w nim są uruchamiane w pewien sposób dwie funkcje.
===== {{Code|p.ZbieranieInformacjiSpisuRzeczyWoluminuEwentualnieWedleAutonawigacji}} =====
Ta funkcja służy do parsowania spisów i innych omówionych elementów książki danego artykułu.
====== Pierwsza anonimowa funkcja ======
Dla analizowanej pierwszej funkcji, ona jest uruchamiana, wtedy kiedy zostały zebrane wszystkie informrmacje ze spisów, wtedy dla elementu: {{Code|tablica_ksiazki_strona}} {{Patrz|tablica_ksiazki_strona}}, sprawdzane, czy jego element {{LinkPatrz|spis}} istnieje, jeśli istnieje, zatem elementy z: {{Code|_strona_temp}}, inicjujemy tymi z: {{Code|_strona}}, z elementów zmiennych tej funkcji, w takim razie inicjujemy inne jego podelementy, tzn.: {{Code|spis}} {{LinkPatrz|spis}}, {{Code|licencja}} {{LinkPatrz|licencja}}, {{Code|nazwa_bazowego_spisu}} {{LinkPatrz|nazwa_bazowego_spisu}}, {{Code|tab_inne_spisy}} {{LinkPatrz|tab_inne_spisy}}, {{Code|dodatkowe_strony_woluminu}} {{Patrz|dodatkowe_strony_woluminu}} i {{Code|adres_woluminu_bazowego_spisu_rzeczy}} {{Patrz|adres_woluminu_bazowego_spisu_rzeczy}}, elementu: {{LinkPatrz|tablica_ksiazki}}, tymi saamymi elementami, ale dla innej strony, tzn.: {{Code|tablica_ksiazki_strona}} {{LinkPatrz|tablica_ksiazki_strona}}.
Też jest inicjowany element tej pierwszej zmiennej książkowej o kluczu: {{Code|referencja_do_nowej_formy_spisu}}, według:
<syntaxhighlight lang="lua">
tablica_ksiazki.referencja_do_nowej_formy_spisu={tablica_przestrzeni_strona,tablica_przestrzeni_ksiazki_strona,tablica_ksiazki_strona,};
</syntaxhighlight>
Funkcja wtedy zwróci wartość: {{Code|1}}, a w innych przeciwnych wypadkach ta funkcja nic nie zwraca.
====== Druga anonimowa funkcji ======
Ta funkcja działa, gdy parametry strony, tzn.: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, są równe podobnym parametrom z: {{Code|_ref_spis}}, z parametrów tej funkcji, tzn. czy spis jest analizowanym korzystanym artykułem.
Ta funkcja kopiuje dokładnie elementy z: {{Code|_ref_spis}}, temu z: {{Code|_ref}}, te elementy, to nic innego jak: {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}}, {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}} i {{Code|tablica_danych_parametrow_szablonu_strony}} {{LinkPatrz|tablica_danych_parametrow_szablonu_strony}}, czyli tworzymy elementy takie: {{Code|tekst_rozwiniety_calego_artykulu_ref}} {{Patrz|tekst_rozwiniety_calego_artykulu_ref}}, {{Code|tablica_analizy_obiektow_strony_dany_modul_ref}} {{Patrz|tablica_analizy_obiektow_strony_dany_modul_ref}} i {{Code|tablica_danych_parametrow_szablonu_strony_ref}} {{Patrz|tablica_danych_parametrow_szablonu_strony_ref}}.
==== Dalszy opis funkcji - etap II ====
=== {{Śródtytuł|PrzekierownieAwaryjne}}{{Code|PrzekierownieAwaryjne}} ===
=== {{Śródtytuł|StronaZbiorcza}}{{Code|StronaZbiorcza}} ===
=== {{Śródtytuł|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}}{{Code|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}} ===
=== {{Śródtytuł|GeneralnaAnalizaSzablonuStronicowegoParsera}}{{Code|GeneralnaAnalizaSzablonuStronicowegoParsera}} ===
=== {{Śródtytuł|IterowaniePoElementachTekstu}}{{Code|IterowaniePoElementachTekstu}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieNaglowek}}{{Code|KtorySzablonMaZwracacKategorieNaglowek}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieTekst}}{{Code|KtorySzablonMaZwracacKategorieTekst}} ===
=== {{Śródtytuł|CzyJestTakiProblemJakoElementTablicy}}{{Code|CzyJestTakiProblemJakoElementTablicy}} ===
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
l33mukfrgkh41um354iq8cruw3xu4gz
547264
547263
2026-06-30T08:50:25Z
Persino
2851
/* Druga anonimowa funkcji */
547264
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/ZbieranieDanychStron}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== Zbieranie informacji o uchwycie ==
=== {{Śródtytuł|p.UchwytyZeiBezNumeracji}}{{Code|p.UchwytyZeiBezNumeracji}} ===
Funkcja zbiera uchwyty, dla obiektów {{ZobaczTeż|p.UchwytyZeiBezNumeracji}}, bez numeracji, nie licząc obiektów tekst takich jak {{s|Śródtekst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UchwytyZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,lista_dwuelementowa,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} {{Patrz|self}} - zmiennna obiektowa modułu {{Code|{{ld2|StronicowyParser/ZbieranieDanychStron}}}} {{Patrz|StronicowyParser/ZbieranieDanychStron}},
* {{Code|tabela_elementow_strony_kodow}} {{Patrz|tabela_elementow_strony_kodow}} - zmienna zbierająca takie kody jak {{LinkZobaczTeż|p.UchwytyZeiBezNumeracji}},
* {{Code|nazwa_obiektu}} {{Patrz|nazwa obiektu}} - nazwa obiektu,
* {{Code|lista_dwuelementowa}} {{Patrz|lista_dwuelementowa}} - pozycja w normalnej tabeli uchwytów i przeważnie ich numeracji, a tutaj dla tego obiektu,
* {{Code|kod}} {{Patrz|kod}} - numer kodu dla tego obiektu.
Funkcja zbiera elementy {{LinkPatrz|lista_dwuelementowa}} w tablicy wielowymiarowej o pierwszym elemencie wymiaru {{LinkPatrz|nazwa obiektu}} i trzecim {{LinkPatrz|kod}}, oraz o drugim {{Code|uchwyty_bez_numeracji}} {{Patrz|uchwyty_bez_numeracji}}.
=== {{Śródtytuł|p.WydobywanieUchwytuZeiBezNumeracji}}{{Code|p.WydobywanieUchwytuZeiBezNumeracji}} ===
Funkcja wydowywa tablicę uchwytu dla pozycji, ale nie sam uchwyt, dla podtablicy {{LinkPatrz|uchwyty_bez_numeracji}} o danym kodzie {{LinkPatrz|kod}}, dla nazwy obiektu {{LinkPatrz|nazwa_obiektu}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.WydobywanieUchwytuZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_elementow_strony_kodow}} - jak w: {{LinkPatrz|tabela_elementow_strony_kodow}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}}.
Funkcja wykorzystuje elementy tablicy: {{LinkPatrz|uchwyty_bez_numeracji}}, wstawione przez funkcję: {{LinkŚródtytuł|p.UchwytyZeiBezNumeracji}}.
=== {{Śródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}{{Code|p.RozpatrywanieElementuUchwytuNumeracji}} ===
Funkcja wsadzająca utworzoną tablicę z podanym uchwytem do ogólnej tablicy pozycji nazwanych tabel z uchwytami o danej pozycji z nim.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|kod_uchwytu}} {{Patrz|kod_uchwytu}} - kod uchwytu podanego do szablonu stronicowego z odpowiednim uchwytem,
* {{Code|tab_numer}} {{Patrz|tab_numer}} - tablica z numerkami ilości elementów w tablicy parametrów nazwanych z uchwytami, w danym elemencie analizowania strony z uchwytami i obiektami,
* {{Code|tablica_zmiennych}} {{Patrz|tablica_zmiennych}} - tablica analizowania obiektów, danej strony,
* {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} {{Patrz|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - kolejno: nazwa przestrzeni nazw, nazwa przestrzeni książki, nazwa książki i nazwa artykułu książki,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} {{Patrz|czy_artykul_korzystany}} - czy artykuł aktualny wyświetlany w przeglądarce,
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} {{Patrz|nazwa_modulu_aktualna_czy_biezaca}} - nazwa artykułu aktualna lub bieżąca,
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{Patrz|tablica_analizy_obiektow_strony_dany_modul}} - tablica bazy kodów parsowania strony,
* {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - tablica analizy poszczególnych elementów kodów, do szybszego działania skryptu,
* {{Code|KtorySzablonMaZwracacKategorie}} {{Patrz|KtorySzablonMaZwracacKategorie}} - tablica zbierająca odkodowany i rozwinięty uchwyt, do analizowania w nim zebranych kategorii, według modułu: {{Code|{{ld2|StronicowyParser/Kategorie}}}}, uruchamiana w szablonach stronicowych z funkcjami '''stronicowego parsera'''.
Funkcja rozwija {{LinkPatrz|kod_uchwytu}} funkcją {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a potem je odkodowuje przy pomocy: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a jeżeli ona nie jest pusta, to dla tego jest uruchamiana funkcja {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Tworzona jest tablica {{Code|lista_dwuelementowa}} {{LinkPatrz|lista_dwuelementowa}} z uchwytem, jako pierwszy parametr.
Jest sprawdzane, czy element {{Code|tablica_zmiennych.sprawdzenie_dokonane_obiektu}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, jest fałszywy, jeżeli tak, to dalej jest sprawdzane, czy są elementy numerowane nazwanej tablicy: {{Code|tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2}} o nazwie {{LinkPatrz|nazwa_obiektu}}, a jeżeli jest pusta - na samym końcu jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, czyli jest inicjowana na wartość {{Code|true}}, to dalej jest sprawdzane, czy dla elementów: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy dana książka jest poza zakresem obsługiwanym, czyli rewidowane jest, czy jest ustawiony kod problemu {{Code|strony poza zakresem obsługiwanym}}, czy a jeżeli jednak nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}, ustawiające pewne elementy błędu, jeżeli trzeba to zrobić.
Gdy tabela {{LinkPatrz|tab_numer}} odpowiada nienilowej tablicy, wtedy element {{LinkPatrz|lista_dwuelementowa}} jest wstawiany na odpowiedniej pozycji, ale przeważnie nie na końcu, przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=table.insert|b=tak}}}}, dzięki określonej tabeli {{LinkPatrz|tab_numer}}, przeciwnie na jej końcu.
Funkcja zwraca element {{LinkPatrz|lista_dwuelementowa}}.
=== {{Śródtytuł|p.RozpatrywanieSzablonuObiektuDoNumeracji}}{{Code|p.RozpatrywanieSzablonuObiektuDoNumeracji}} ===
Funkcja, która uruchamia funkcję: {{LinkŚródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}, dla istniejącego uchwytu w postaci nazwanej o kluczu: {{Code|uchwyt}} {{Patrz|uchwyt}}, lub nienazwanej - w postaci numeru jego uchwytu o kluczu: {{Code|numer_numeracji}} {{Patrz|numer_numeracji}}, wsadzająca tabele z uchwytem na odpowiednią pozycję w odpowiedniej nazwanej tabeli o nazwie obiektu {{LinkPatrz|nazwa_obiektu}} w ogólnej tabeli: {{LinkPatrz|tablica_zmiennych}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}}- tabela parametrów szablonu,
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|numer_numeracji}} - jak w: {{LinkPatrz|numer_numeracji}},
* {{Code|tab_numer}} - jak w: {{LinkPatrz|tab_numer}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
== {{Śródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}{{Code|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}} ==
Funkcja sprawdza, czy dany artykuł należy do artykułów, któregoś spisu treści, a jeżeli nie, to dla stron, które nie należą do kategorii z ustawionym problemem {{Code|strony poza zakresem obsługiwanym}}, ale do nieaktualnej strony jest ustawiony problem {{Code|brak spisów treści do dołączonych stron}}. Natomiast dla aktualnej dla stron tej samej kategorii ustawiany jest problem {{Code|brak spisu treści do korzystanych stron}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== {{Śródtytuł|p.PusteParametryReferencji}}{{Code|p.PusteParametryReferencji}} ==
Funkcja sprawdza, jeśli są podane parametry szablonu stronicowego, które są w kategorii: {{lk|Szablony stronicowe}}, czyli: {{Code|nazwa_artykulu}}, ewentualnie: {{Code|nazwa_ksiazki}}, ale zawsze z: {{Code|uchwyt_obiektu}}, czy są one puste.
A jeżeli one istnieją i są takie, to są ustawione problemy typu, jeśli ich wcześniej nie ustawiono:
* {{Code|puste parametry szablonów stronicowych linkujących}} {{Patrz|puste parametry szablonów stronicowych linkujących}}, kolejno dla: {{Code|uchwyt_obiektu}}, {{Code|nazwa_artykulu}} i {{Code|nazwa_ksiazki}}, kolejno z numerami problemów: {{Code|1}}, {{Code|2}} i {{Code|3}}.
Dla obiektu o nazwie {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}.
{{Hr}}
Definicja skrótowa funkcji
<syntaxhighlight lang="lua">
function p.PusteParametryReferencji(self, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu)...end;
</syntaxhighlight>
Paraametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} {{Patrz|uchwyt_obiektu}} - uchwyt obiektu, podane w danym szablonie stronicowym,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}}.
== {{Śródtytuł|p.SzablonyReferencjiParametrowych}}{{Code|p.SzablonyReferencjiParametrowych}} ==
Funkcja z parametrów pudełkowych nazwy artykułu {{ZobaczTeż|nazwa artykułu}}: {{Code|nazwa artykułu}} {{Patrz|nazwa artykułu}} albo {{Code|1}}, gdy bezuchwytowe lub {{Code|2}}, i pełnej nazwy książki {{ZobaczTeż|pełna nazwa strony}}: {{Code|nazwa książki}} {{Patrz|nazwa książki}} albo, {{Code|2}}, gdy bezuchwytowe lub {{Code|3}}. To wszystko jest liczone z: {{LinkPatrz|tabela_parametrow_szablonu}} lub przy użyciu parametru również {{Code|bezuchwytowe}} {{Patrz|bezuchwytowe}}, gdy mamy szablon stronicowy {{lk|Szablony stronicowe}}, bezuchwytowy, wtedy {{Code|true}}, przeciwnie {{Code|false/nil}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca,bezuchwytowe)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{Code|bezuchwytowe}} - jak w: {{LinkPatrz|bezuchwytowe}}.
Funkcja obie nazwy dekoduje funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a później jest liczony adres bezwzględny z względnego dzięki: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, przy pomocy podstawy {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}}, podobnie ale wcześniej jest liczona nazwa artykułu {{linkZobaczTeż|nazwa artykułu}}, czyli: {{LinkPatrz|nazwa_artykulu}}, ale tutaj adres względny jest liczony z podstawy o ciągu pustym jako drugi parametr.
Na podstawie pełnej nazwy książki {{LinkZobaczTeż|pełna nazwa strony}}: jest liczona bardziej jej wersja pełniejsza, jeżeli to jest w ogóle możliwe z: {{Code|{{sr|#p["PełnaNazwaStronicowejKsiążki"]|p=Książkowe}}}}. A póżniej z tego wszystkiego są liczone nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, przy pomocy funkcji nazw: {{Code|{{ld2|Nazwy}}}}.
Na samym końcu funkcji są zwracane parametry nazw, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== Funkcje zbierania informacji ==
=== {{Śródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}{{Code|p.ZbieranieInformacjiStronyWoluminowychPozycji}} ===
Funkcja zbierania informacji na stronie dla szablonów stronicowych: {{lk|Szablony stronicowe}}, bezuchwytowych, gdy nie jest uruchomiony parametr: {{Code|czy_inna_wartosc_tekst}} {{Patrz|czy_inna_wartosc_tekst}}, wtedy jest wywoływana funkcja: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}, która liczy kolejne nazwy charaktertyzujące nazwy dla danego artykułu książki dla danej strony, przeciwnie parametry nazw są ściagane z: {{Code|tab_nazwy}} {{Patrz|tab_nazwy}}, ta tabela składa się numerowanych elementów, którymi są nazwy charakyteryzujące stronę.
Gdy jakaś nazwa artylułu strony została policzona, wtedy są liczone pozostałe nazwy z: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, a na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, a tuż przed nim, jeśli istnieje: {{Code|KtorySzablonMaZwracacKategorie}} {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,KtorySzablonMaZwracacKategorie,czy_inna_wartosc_tekst,tab_nazwy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_inna_wartosc_tekst}} - jak w: {{LinkPatrz|czy_inna_wartosc_tekst}},
* {{Code|tab_nazwy}} - jak w: {{LinkPatrz|tab_nazwy}}.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacji}}{{Code|p.ZbieranieKontenerowychInformacji}} ===
Funkcja do zbierania informacji, która z parametrów pudełkowych: {{Code|{{m|Pudełko}}}}, czyli: {{Code|nazwa przestrzeni nazw}} {{Patrz|nazwa przestrzeni nazw}} i {{Code|nazwa jednostki}} {{Patrz|nazwa jednostki}}, z nich są liczone parametry nazw charakteryzujące artykuł książki strony. A na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} {{Patrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,czy_szablon_pudelkowy_strony_zbiorczej,KtorySzablonMaZwracacKategorie)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} {{Patrz|czy_szablon_pudelkowy_strony_zbiorczej}} - funkcja potrzebna do funkcji zbierającej {{LinkPatrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, określającej, czy mamy szablon pudełkowy strony zbiorczej, taki jak: {{Code|{{s|StronaSubst}}}}, czy: {{Code|{{s|KsiążkaSubst}}}}, zobacz stronę: {{Code|{{lr2|Moduły/StronicowyParser/StronaSubst}}}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Gdy nie ma parametrów pudełkowych funkcja się natychmiast zakańcza, lub parametr: {{LinkPatrz|nazwa jednostki}}, jest pusta, lub nawet gdy zawierają kody wykrywane przez funkcję: {{Code|{{sr|#p.NormaWzoruKodowaniaTekstu|p=Szablonowe}}}}.
Z nazwy jednostki jest wydzielana nazwa jednostki właściwa bez nazwy nagłówka, póżniej obie nazwy są też dekodowane funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, czyli wszystko z: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}.
Z tych dwóch nazwy jest liczony adres, ewentualnie względny, który za pomocą funkcji: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, jest wyliczany adres bezwzględny.
Dalej są liczone nazwy charakteryzujące artykuł danej książki strony, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, z tego adresu strony.
Przedostatnia funkcja, która jest uruchamiana przed funkcją zbierającą jest: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}, jeśli istnieje.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacjiReferencji}}{{Code|p.ZbieranieKontenerowychInformacjiReferencji}} ===
Funkcja zbiera informacje o stronie. Na podstawie informacji o nazwie artykułu i pełnej nazwy książki liczy parametry nazw charakteryzujące artykuł, co na tej podstawiwe liczy parametry pudełkowe i wywołuje funkcję główną przez inną funkcję, też zbierającą, i zbiera informacje o artykule.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacjiReferencji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, jako parametry zwracane przez funkcję: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}. Funkcja wyznacza parametry pudełkowe {{m|Pudełko}}, tzn.: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}, na podstawie tych nazw. Funkcja na samym końcu wywołuje funkcję zbierającą dane ze strony: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}, która z kolei uruchamia potem: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
== {{Śródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}{{Code|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}} ==
Funkcja sprawdza niepoprawność nazwy strony i na podstawie tego ustawia pewne kody problemów.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,__FUNKCJA_SPRAWDZANIE)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|__FUNKCJA_SPRAWDZANIE}} {{Patrz|__FUNKCJA_SPRAWDZANIE}} - funkcja uruchamiana, jeśli jest ustawiona, na wypadek poprawności strony.
W przypadku niepoprawności strony, gdy strona modułu jest aktualna (bieżąca), wtedy sprawdzany jest kod problemu, czy jest ustawiony, tzn.: {{Code|nieprawidłowe nazwy korzystanych stron}}, przy pomocy funkcji: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli nie ma takiego, to wtedy jest uruchamiana funkcja: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}. Podobnie jest dla niekorzystanej strony, wtedy jest problem dla kodu: {{Code|nieprawidłowe nazwy stron dołączanych do stron}}.
== Zbieranie informacji o linkach ==
=== {{Śródtytuł|p.LinkowanieFinalizowaniePrac}}{{Code|p.LinkowanieFinalizowaniePrac}} ===
Funkcja wadza uchwyt obiektu, wsazujący na aktualną stronę, do pewnej strony, i ewentualnie ustawia pewne problemy, jeśli je nie ustawiono.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} {{Patrz|obiekt}} - obiekt, obsługiwany przez tą funkcję linku,
* {{Code|kod}} {{LinkPatrz|kod}} - kod obiektu dla: {{LinkPatrz|obiekt}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} - jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}},
* {{Code|czy_pobierz}} {{Patrz|czy_pobierz}} - czy to jest szablon typu {{Code|Pobierz}} {{Patrz|Pobierz}}, jak: {{s|PobierzŚródtekst}}.
Funkcja sprawdza, czy nie został ustawiony element {{Code|tablica_zmiennych.sprawdzenie_dokonane_linku}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}, a jeżeli tak, to dalej, czy nie ma elementów numerowanych przy pomocy funkcji: {{Code|{{sr|#p["CzySąElementyNumerowaneTablicy"]|p=Parametry}}}}, a jeśli również tak, to dalej jest sprawdzane, czy został ustawiony problem: {{Code|strony poza zakresem obsługiwanym}}, przy pomocy: {{Code|{{sr|#p.CzyJestTakiElementTabeliProblemu|p=StronicowyParser/Problemy}}}}, a jeżeli nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}. Na samym końcu tej instrukcji warunkowej jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}.
Dalej pod tą instrukcją warunkową, jest robione, co powiedziane zostało w prologu tego opisu tej funkcji, tzn. z wyznaczonej tablicy ze: {{LinkPatrz|tablica_zmiennych}}, a dalej z wyznaczonej następnej podtabeli o kluczu: {{LinkPatrz|nazwa_obiektu}}.
Następnie, gdy element: {{LinkPatrz|czy_pobierz}}, jest ustawiony na {{Code|true}}, wtedy dla {{LinkPatrz|uchwyt_obiektu}}, pewna tablica, jest wstawiana do tablicy: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}}, jeśli istnieje, a jeśli nie, to jest tworzona, jako tablica, wtedy też jest to robione. Tą czynnością wstawiany tabelę, do tej tablicy, czyli:
<syntaxhighlight lang="lua">
{{nazwa_obiektu,uchwyt_obiektu,},{obiekt,kod,},}
</syntaxhighlight>
=== {{Śródtytuł|p.LinkowanieInnychStron}}{{Code|p.LinkowanieInnychStron}} ===
Funkcja do sprawdzania innych stron niż aktualna, a jeżeli dana strona została już sprawdzona, to powtórnie nie jest już rewidowana. Funkcja ustawia w głównej tablicy aktualnej tabeli {{LinkPatrz|tablica_zmiennych}} pewne podtablice.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieInnychStron(self,obiekt,kod,tablica_zmiennych, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejo jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Najpierw jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, która w razie poprawności nazwy strony, czyli inaczej nazw tej strony, tzn.: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, uruchamia funkcję zdefiniowaną w nim.
{{Tab}}Ta funkcja sprawdza, czy któraś z parametrów nazw istnieje, a jeżeli nie, to dalej jest inicjowana zmienna: {{Code|tablica_zmiennych2}} {{Patrz|tablica_zmiennych2}} pustą tablicą i podobnie {{Code|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}} {{Patrz|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}}, to uruchamiana jest: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, do zbierania informacji o stronie nowej lub przebadanej (wtedy zostają zwrócone parametry z wczęsniejszego jego analizowania, jak była nowa). Funkcja zwraca trzy parametry, tzn. {{Code|tabela_listy_danych_analizy_ksiazki0}} {{Patrz|tabela_listy_danych_analizy_ksiazki0}}, {{LinkPatrz|tablica_zmiennych2}} i {{Code|czy_inna}} {{Patrz|czy_inna}}. Te parametry mogą przyjmować wartość {{Code|nil}}, lub pierwszy {{Code|0}}, drugi, to nic innego jest jak: {{LinkPatrz|tablica_zmiennych2}}, a trzeci parametr jest wtedy równy {{Code|true}}, gdy strona jest nowa, a {{Code|false}} aktualna, a gdy {{Code|nil}}, gdy np. zawartość strony nie istnieje.
Gdy parametr: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, istnieje, wtedy jest spraqdzane, czy któreś z parametrów: {{LinkPatrz|tablica_zmiennych2}} i {{LinkPatrz|czy_inna}}, nie istsnieje, wtedy ta funkcja się zakańcza.
==== {{Śródtytuł|JuzPoliczone}}{{Code|JuzPoliczone}} ====
Dla obiektów, dla których jest ustawiony parametr: {{LinkPatrz|czy_pobierz}}, co dalej w tym rozgałęzieniu instrukcji warunkiwej jest uruchamiana funkcja szablonów tekstu, czyli: {{Code|{{sr|#p.UstawianiePobierz|p=StronicowyParser/SzablonyTekstu}}}}, aby również później za pomocą innych funkcji przeanalizować również tekst w szablonach takich jak: {{s|Śródtekst}}.
Dalej jest tworzona tablica, jeśli nie istnieje, tzn. {{Code|tablica_zmiennych2.dane_juz_policzone}} {{Patrz|tablica_zmiennych2.dane_juz_policzone}}, czyli jest inicjowana pustą tablicą. Dalej jest tworzona, jeśli nie istnieje, tablica wielowymiarowa po kolei, o kluczach kolejno: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}, {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu}}, a jeżeli ta ostatnia wartość tej tablicy była wcześniej, to zwracane jest {{Code|true}}, przeciwnie {{Code|false}}, a tej ostatniej wartości tej tablicy jest przydzielana wartość {{Code|true}}.
==== Dalszy opis funkcji ====
Gdy parametr: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest równy {{Code|0}}, ale nie {{Code|nil}}, wtedy jest sprawdzane, czy artykuł został wcześniej zrewidowany według: {{LinkŚródtytuł|JuzPoliczone}}, a jeżeli tak to jest zakańczany, a gdy ten parametr taakiej wartośsci nie przyjmuje, wtedy tylko jest uruchamiana funkcja bez żadnego warunku.
{{Tab}}Następnie jest uruchamiana funkcja: {{Code|{{sr|#p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony|p=StronicowyParser/SzablonyTekstu}}}}, do przydzielenia pewnych zmiennych z {{LinkPatrz|tablica_zmiennych2}} tablicy {{LinkPatrz|tablica_zmiennych}}.
{{Tab}}Jest sprawdzane, czy dany artykuł należy do spisu, jeżeli nie to są ustawiane pewne kody problemów w tablicy problemów, tzn. {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}.
Dalej jest sprawdzane, czy podany uchwyt {{LinkPatrz|uchwyt_obiektu}}, który jest podany w szablonach linków na aktualnej stronie, czy jest tylko jeden na stronie sprawdzanej, a jeżeli nie jest tak, to jest sprawdzane, czy nie istnieje ustawiony problem: {{Code|błędy uchwytów korzystanych stron}}, funkcją: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to taki problem jest dodawany dzięki: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
{{Tab}}Uruchamiana jest dalej funkcja: {{LinkŚródtytuł|p.PusteParametryReferencji}}, do sprawdzania pustości pewnych parametrów.
{{Tab}}Gdy tabela: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest jednak równa wartości odpowiadającej fałszywej, wtedy jeśli nie istnieje problem: {{Code|błąd wewnętrzny modułu lua stronicowego parsera}}, co jest rewidowane elementem: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to dodawany jest taki problem do tabeli problemów na podstawie: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
=== {{Śródtytuł|p.GeneralneLinkowanie}}{{Code|p.GeneralneLinkowanie}} ===
Funkcja zbiera uchwyty, na aktualnej lub innej stronie, a także je analizuje w odpowiedni sposób, modyfikuje tablica aktualnego modułu, czyli: {{LinkPatrz|tablica_zmiennych}}, na podstawie poszczególnych artykułów tej książki lub innej, która zbiera raz informacje o danej stronie.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Funkcja wyznacza uchwyt z tabeli parametrów: {{LinkPatrz|tabela_parametrow_szablonu}}, o kluczu {{Code|uchwyt}} {{LinkPatrz|uchwyt}} lub {{Code|1}}, a później w kodzie jest on kompletowany funkcją: {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a następnie rozwijany w niej, a później jest dekodowany: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}.
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, wywołujac: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}.
Na samym końcu jest uruchamiana: {{LinkPatrz|KtorySzablonMaZwracacKategorie}} z parametrem o tym uchwycie, wyliczonym wcześniej.
Gdy uchwyt istnieje, ale jest pusty, wtedy uruchamia się: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, następnie: {{LinkŚródtytuł|p.PusteParametryReferencji}}, a jeśli ta wartość nie istnieje, wtedy tylko ta ostatnia funkcja.
Gdy uchwyt: {{LinkPatrz|uchwyt}}, istnieje i jest niepusty, wtedy jest wyznaczana nazwa artykułu z niej samej, lub jeśli nazwa ksiązki istnieje, tylko, wtedy ta nazwa zaczyna być pusta, przeciwnie {{Code|nil}}, wtedy mamy do czynienia ze stroną główną podręcznika.
Gdy nazwa artykułu nie istnieje, wtedy wywoływana jest: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Jeśli nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest niepusta, i gdy nazwa książki nie istnieje, wtedy są liczone parametry nazw, oprócz nazwy artykułu, bo jest policzona, więc te {{ZobaczTeż|nazwy}}: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, z parametrów charakteryzujących nazwę aktualnego artykułu, a jeśli jednak nazwa książki jest pusta, to są sprawdzane parametry w: {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Gdy nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest nieistnieje, i gdy nazwa książki {{LinkPatrz|nazwa_ksiazki}} jest niepusta, wtedy nazwa artykułu zaczyna istnieć i inicjujemy wtedy ją wartością pustą, a jeśli pusta, za zaczyna być potem generowanie kodów błędów funkcją {{LinkŚródtytuł|p.PusteParametryReferencji}}, by potem się zakończyła ta funkcja.
Przeciwnie są liczone parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, tą samą metodą, co w punkcie: {{LinkZobaczTeż|nazwy}}.
Gdy nazwy {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}} są porównywane z nazwami, którymi się przypisje jak w: {{LinkZobaczTeż|nazwy}}, wtedy uruchamiamy funkcję: {{LinkŚródtytuł|p.LinkowanieInnychStron}}, przeciwnie wtedy działają dwie funkcje uruchomione po kolei, tzn.: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
== {{Śródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}{{Code|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} ==
Funkcja służy do zbierania informacji o danej analizowanej stronie, którego główną częścią jest strona korzystana, w której gromadzą się informacji też z pozostałych.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, czy_artykul_korzystany,tablica_zmiennych,czy_szablon_pudelkowy_strony_zbiorczej)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} - jak w: {{LinkPatrz|czy_szablon_pudelkowy_strony_zbiorczej}}.
=== {{Śródtytuł|__FUNKCJA_ARTYKULU}}{{Code|__FUNKCJA_ARTYKULU}} ===
Funkcja do tworzenia tabeli artykułów z innymi parametrami wielowymiarowej tej tabeli, a jeżeli owe pośrednie, i nie tylko, istnieją, to te tabele są zwracane lub nowo są tworzone.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji {{ZobaczTeż|parametry artykułu}}:
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}},
* {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu}} - nazwa artykułu w książce, bez pełnej nazwy książki.
Poniżej są tworzone podtabele puste, jeśli nie zostały utworzone.
Funkcja, która w tabeli: {{Code|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}} {{Patrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, która istnieje, tworzy tabele trójwymiarową kolejno po prarametrach: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, te tabele pośrednie śą wtedy tworzone, jeśsli nie istnieją, a gdy istnieją to nie są tworzone, tylko funkcja przechodzi do dalszych.
Dalej tworzona jest podtabela, jeśli nie istnieje o nazwie {{Code|lista_podstron_woluminu}} {{Patrz|lista_podstron_woluminu}}.
Następnie generowana jest podtabela, jeśli nie istnieje, o kluczu: {{LinkPatrz|nazwa_artykulu}}.
Funkcja zwraca kolejno elementy, jeśli klucz: {{LinkPatrz|nazwa_artykulu}}, istnieje, zatem:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany;
</syntaxhighlight>
Przeciwnie zwracany jest zbiór zmiennych po kolei:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki;
</syntaxhighlight>
Co to są za zmienne, wiadomo z ich nazw, po prostu są to pewne pośrednie, i nie tylko, tabele.
=== {{Śródtytuł|__FUNKCJA_POBIERANIE}}{{Code|__FUNKCJA_POBIERANIE}} ===
Funkcja zwraca parametry strony aktualnej, analizowanej jeszcze raz, aby ją nie powtórnie rewidować, lub podobnie dla innego artykułu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_POBIERANIE(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji są takie same jak w punkcie {{LinkZobaczTeż|parametry artykułu}}.
{{Tab}}Analiza dla artykułów niekorzystanych według parametru: {{LinkPatrz|czy_artykul_korzystany}}:
Dla jeszcze raz analizowanego artykułui aktualnego zwracane są parametry:
<syntaxhighlight lang="lua">
return 0,nil,nil,nil,nil,nil,self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron,false;
</syntaxhighlight>
Tabela: {{Code|self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron}}, tam są dane zebrane z aktualnego artykułu.
Dla innej takiej strony jest tworzony parametr, jeżeli jest włączona analiza, dla klucza: {{Code|analiza_spis_tresci}} {{Patrz|analiza_spis_tresci}}, według tego jest tworzony wartością prawdziwą parametr o innym znów kluczu: {{Code|analiza_spis_tresci_doloczone}} {{Patrz|analiza_spis_tresci_doloczone}}:
<syntaxhighlight lang="lua">
if(self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci)then
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=true;
end;
</syntaxhighlight>
Dla elementu: {{LinkPatrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, jeżeli dany artykuł był już rewidowany, to zwracane są elementy:
<syntaxhighlight lang="lua">
return 0,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni,dane_zebrane_ze_stron,true;
</syntaxhighlight>
To: {{Code|dane_zebrane_ze_stron}} {{Patrz|dane_zebrane_ze_stron}}, to podtabela: {{LinkPatrz|lista_podstron_woluminu}}, z kluczem: {{LinkPatrz|nazwa_artykulu}}, o nazwie takiej samej jak ten parametr zwracany.
Przeciwnie jest zwracane: {{Code|true}}, lub {{Code|nil}}, jeśli tabela: {{Code|self.tabela_listy_danych_analizy_ksiazki}} {{Patrz|self.tabela_listy_danych_analizy_ksiazki}}, lub podtatela: {{LinkPatrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, nie istnieje.
=== {{Śródtytuł|InneInformacjePrzebneDoAnalizowanejKsiazki}}{{Code|InneInformacjePrzebneDoAnalizowanejKsiazki}} ===
Funkcja do zbierania informacji o spisie artykułów książkowych i ich licencjach oraz ewentualnie zebrane informacje ze stron: {{lk2|Szablony nawigacyjne układu autonawigacji do autonawigacji podręczników}}, z szablonu, w któreś tej pozycji w: {{s|Układ autonawigacji}}, i ze spisów podanej w niej jako parametry.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function InneInformacjePrzebneDoAnalizowanejKsiazki()...end;
</syntaxhighlight>
Parametry funkcji:
* brak.
==== {{Śródtytuł|__FUNKCJA_SPISU}}{{Code|__FUNKCJA_SPISU}} ====
Funkcja do inicjowania parametrów spisu, aktualnego artykułu, uzyskanych z ich analizy.
Definicja skrotowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_SPISU(tablica_ksiazki,czy_podac_adres)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tablica_ksiazki}} {{Patrz|tablica_ksiazki}} - tablica dla analizowanej książki,
* {{Code|czy_podac_adres}} {{Patrz|czy_podac_adres}} - czy podać adres bazowego woluminu.
Tablicy: {{linkPatrz|tablica_ksiazki}}, jest inicjowany element: {{Code|spis}} {{Patrz|spis}}, tabelą: {{Code|tabela_artykulow}} {{Patrz|tabela_artykulow}}.
Gdy: {{LinkPatrz|czy_artykul_korzystany}}, jest wartością fałszywą, to iniciowaną tablicy: {{LinkPatrz|tablica_ksiazki}}, jest parametr o kluczu: {{Code|licencja}} {{Patrz|licencja}}, tabelą: {{Code|tabela_licencji_spisu_tresci}} {{Patrz|tabela_licencji_spisu_tresci}}.
Dalej kolejno elementy: {{Code|nazwa_bazowego_spisu}} {{Patrz|nazwa_bazowego_spisu}}, {{Code|tab_inne_spisy}} {{Patrz|tab_inne_spisy}} i {{Code|dodatkowe_strony_woluminu}}, tabeli: {{LinkPatrz|tablica_ksiazki}}, i inicjowane są tabelami o takich samych nazwach jak te klucze dwa, a ostatni tabelą: {{Code|dodatkowe_artykuly}} {{Patrz|dodatkowe_artykuly}}.
Dla tabeli: {{LinkPatrz|tablica_ksiazki}}, o kluczu w nim {{Code|adres_woluminu_bazowego_spisu_rzeczy}}, ona jest przyrównywana wartością: {{Code|adres_ksiazki_glownego_spisu_tresci}} {{Patrz|adres_ksiazki_glownego_spisu_tresci}}, jeśli istnieje: {{LinkPatrz|czy_podac_adres}}, lub przeciwnie wartością {{Code|nil}}.
==== Dalszy opis funkcji - etap I ====
Jeżeli dla aktualnego artykułu dla książki nie ustawiono kodu: {{Code|strony poza zakresem obsługiwanym}}, wtedy są analizowane elementy opisane w nagłówku opisywanej funkcji, pod warunkiem, jeżeli istnieją parametry nazw książki: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}.
Gdy artykuł jest analizowany, wtedy parametr: {{LinkPatrz|czy_artykul_korzystany}}, wtedy jest przy istnieniu: {{Code|self.tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|self.tabela_listy_danych_analizy_ksiazki}}, jest ustawiany w nim element: {{Code|CzyArtykułKsiążki}} {{Patrz|CzyArtykułKsiążki}}, z wartością na {{Code|tak}}.
Gdy już spis jeszcze nie analizowano, a jeżeli juz został zanalizowany, to sprawdzany jest: {{Code|czy_spis_analizowano}}, tablicy: {{LinkPatrz|tablica_ksiazki}}.
A jeśli jednak spisy książki nie zostały sprawdzone i sparsowane, wtedy uruchamia się następne rozgałęzienie pętli.
Uruchamia się dalej funkcja: {{Code|{{sr|#p.ZbieranieInformacjiSpisuRzeczyWoluminuEwentualnieWedleAutonawigacji|p=StronicowyParser/SpisTreści}}}}, w nim są uruchamiane w pewien sposób dwie funkcje.
===== {{Code|p.ZbieranieInformacjiSpisuRzeczyWoluminuEwentualnieWedleAutonawigacji}} =====
Ta funkcja służy do parsowania spisów i innych omówionych elementów książki danego artykułu.
====== Pierwsza anonimowa funkcja ======
Dla analizowanej pierwszej funkcji, ona jest uruchamiana, wtedy kiedy zostały zebrane wszystkie informrmacje ze spisów, wtedy dla elementu: {{Code|tablica_ksiazki_strona}} {{Patrz|tablica_ksiazki_strona}}, sprawdzane, czy jego element {{LinkPatrz|spis}} istnieje, jeśli istnieje, zatem elementy z: {{Code|_strona_temp}}, inicjujemy tymi z: {{Code|_strona}}, z elementów zmiennych tej funkcji, w takim razie inicjujemy inne jego podelementy, tzn.: {{Code|spis}} {{LinkPatrz|spis}}, {{Code|licencja}} {{LinkPatrz|licencja}}, {{Code|nazwa_bazowego_spisu}} {{LinkPatrz|nazwa_bazowego_spisu}}, {{Code|tab_inne_spisy}} {{LinkPatrz|tab_inne_spisy}}, {{Code|dodatkowe_strony_woluminu}} {{Patrz|dodatkowe_strony_woluminu}} i {{Code|adres_woluminu_bazowego_spisu_rzeczy}} {{Patrz|adres_woluminu_bazowego_spisu_rzeczy}}, elementu: {{LinkPatrz|tablica_ksiazki}}, tymi saamymi elementami, ale dla innej strony, tzn.: {{Code|tablica_ksiazki_strona}} {{LinkPatrz|tablica_ksiazki_strona}}.
Też jest inicjowany element tej pierwszej zmiennej książkowej o kluczu: {{Code|referencja_do_nowej_formy_spisu}}, według:
<syntaxhighlight lang="lua">
tablica_ksiazki.referencja_do_nowej_formy_spisu={tablica_przestrzeni_strona,tablica_przestrzeni_ksiazki_strona,tablica_ksiazki_strona,};
</syntaxhighlight>
Funkcja wtedy zwróci wartość: {{Code|1}}, a w innych przeciwnych wypadkach ta funkcja nic nie zwraca.
====== Druga anonimowa funkcji ======
Ta funkcja działa, gdy parametry strony, tzn.: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, są równe podobnym parametrom z: {{Code|_ref_spis}}, z parametrów tej funkcji, tzn. czy spis jest analizowanym korzystanym artykułem. Ta funkcja słuzy do tego, aby nie analizować dwa razy tego samego spisu, raz jako spis, a za innym razem jako artykuł z uchwytami.
Ta funkcja kopiuje dokładnie elementy z: {{Code|_ref_spis}}, temu z: {{Code|_ref}}, te elementy, to nic innego jak: {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}}, {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}} i {{Code|tablica_danych_parametrow_szablonu_strony}} {{LinkPatrz|tablica_danych_parametrow_szablonu_strony}}, czyli tworzymy elementy takie: {{Code|tekst_rozwiniety_calego_artykulu_ref}} {{Patrz|tekst_rozwiniety_calego_artykulu_ref}}, {{Code|tablica_analizy_obiektow_strony_dany_modul_ref}} {{Patrz|tablica_analizy_obiektow_strony_dany_modul_ref}} i {{Code|tablica_danych_parametrow_szablonu_strony_ref}} {{Patrz|tablica_danych_parametrow_szablonu_strony_ref}}.
==== Dalszy opis funkcji - etap II ====
=== {{Śródtytuł|PrzekierownieAwaryjne}}{{Code|PrzekierownieAwaryjne}} ===
=== {{Śródtytuł|StronaZbiorcza}}{{Code|StronaZbiorcza}} ===
=== {{Śródtytuł|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}}{{Code|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}} ===
=== {{Śródtytuł|GeneralnaAnalizaSzablonuStronicowegoParsera}}{{Code|GeneralnaAnalizaSzablonuStronicowegoParsera}} ===
=== {{Śródtytuł|IterowaniePoElementachTekstu}}{{Code|IterowaniePoElementachTekstu}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieNaglowek}}{{Code|KtorySzablonMaZwracacKategorieNaglowek}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieTekst}}{{Code|KtorySzablonMaZwracacKategorieTekst}} ===
=== {{Śródtytuł|CzyJestTakiProblemJakoElementTablicy}}{{Code|CzyJestTakiProblemJakoElementTablicy}} ===
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
2haxnjjz66cfaq36glseo0xev9f45ko
547265
547264
2026-06-30T09:06:08Z
Persino
2851
/* Pierwsza anonimowa funkcja */
547265
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/ZbieranieDanychStron}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== Zbieranie informacji o uchwycie ==
=== {{Śródtytuł|p.UchwytyZeiBezNumeracji}}{{Code|p.UchwytyZeiBezNumeracji}} ===
Funkcja zbiera uchwyty, dla obiektów {{ZobaczTeż|p.UchwytyZeiBezNumeracji}}, bez numeracji, nie licząc obiektów tekst takich jak {{s|Śródtekst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UchwytyZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,lista_dwuelementowa,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} {{Patrz|self}} - zmiennna obiektowa modułu {{Code|{{ld2|StronicowyParser/ZbieranieDanychStron}}}} {{Patrz|StronicowyParser/ZbieranieDanychStron}},
* {{Code|tabela_elementow_strony_kodow}} {{Patrz|tabela_elementow_strony_kodow}} - zmienna zbierająca takie kody jak {{LinkZobaczTeż|p.UchwytyZeiBezNumeracji}},
* {{Code|nazwa_obiektu}} {{Patrz|nazwa obiektu}} - nazwa obiektu,
* {{Code|lista_dwuelementowa}} {{Patrz|lista_dwuelementowa}} - pozycja w normalnej tabeli uchwytów i przeważnie ich numeracji, a tutaj dla tego obiektu,
* {{Code|kod}} {{Patrz|kod}} - numer kodu dla tego obiektu.
Funkcja zbiera elementy {{LinkPatrz|lista_dwuelementowa}} w tablicy wielowymiarowej o pierwszym elemencie wymiaru {{LinkPatrz|nazwa obiektu}} i trzecim {{LinkPatrz|kod}}, oraz o drugim {{Code|uchwyty_bez_numeracji}} {{Patrz|uchwyty_bez_numeracji}}.
=== {{Śródtytuł|p.WydobywanieUchwytuZeiBezNumeracji}}{{Code|p.WydobywanieUchwytuZeiBezNumeracji}} ===
Funkcja wydowywa tablicę uchwytu dla pozycji, ale nie sam uchwyt, dla podtablicy {{LinkPatrz|uchwyty_bez_numeracji}} o danym kodzie {{LinkPatrz|kod}}, dla nazwy obiektu {{LinkPatrz|nazwa_obiektu}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.WydobywanieUchwytuZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_elementow_strony_kodow}} - jak w: {{LinkPatrz|tabela_elementow_strony_kodow}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}}.
Funkcja wykorzystuje elementy tablicy: {{LinkPatrz|uchwyty_bez_numeracji}}, wstawione przez funkcję: {{LinkŚródtytuł|p.UchwytyZeiBezNumeracji}}.
=== {{Śródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}{{Code|p.RozpatrywanieElementuUchwytuNumeracji}} ===
Funkcja wsadzająca utworzoną tablicę z podanym uchwytem do ogólnej tablicy pozycji nazwanych tabel z uchwytami o danej pozycji z nim.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|kod_uchwytu}} {{Patrz|kod_uchwytu}} - kod uchwytu podanego do szablonu stronicowego z odpowiednim uchwytem,
* {{Code|tab_numer}} {{Patrz|tab_numer}} - tablica z numerkami ilości elementów w tablicy parametrów nazwanych z uchwytami, w danym elemencie analizowania strony z uchwytami i obiektami,
* {{Code|tablica_zmiennych}} {{Patrz|tablica_zmiennych}} - tablica analizowania obiektów, danej strony,
* {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} {{Patrz|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - kolejno: nazwa przestrzeni nazw, nazwa przestrzeni książki, nazwa książki i nazwa artykułu książki,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} {{Patrz|czy_artykul_korzystany}} - czy artykuł aktualny wyświetlany w przeglądarce,
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} {{Patrz|nazwa_modulu_aktualna_czy_biezaca}} - nazwa artykułu aktualna lub bieżąca,
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{Patrz|tablica_analizy_obiektow_strony_dany_modul}} - tablica bazy kodów parsowania strony,
* {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - tablica analizy poszczególnych elementów kodów, do szybszego działania skryptu,
* {{Code|KtorySzablonMaZwracacKategorie}} {{Patrz|KtorySzablonMaZwracacKategorie}} - tablica zbierająca odkodowany i rozwinięty uchwyt, do analizowania w nim zebranych kategorii, według modułu: {{Code|{{ld2|StronicowyParser/Kategorie}}}}, uruchamiana w szablonach stronicowych z funkcjami '''stronicowego parsera'''.
Funkcja rozwija {{LinkPatrz|kod_uchwytu}} funkcją {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a potem je odkodowuje przy pomocy: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a jeżeli ona nie jest pusta, to dla tego jest uruchamiana funkcja {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Tworzona jest tablica {{Code|lista_dwuelementowa}} {{LinkPatrz|lista_dwuelementowa}} z uchwytem, jako pierwszy parametr.
Jest sprawdzane, czy element {{Code|tablica_zmiennych.sprawdzenie_dokonane_obiektu}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, jest fałszywy, jeżeli tak, to dalej jest sprawdzane, czy są elementy numerowane nazwanej tablicy: {{Code|tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2}} o nazwie {{LinkPatrz|nazwa_obiektu}}, a jeżeli jest pusta - na samym końcu jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, czyli jest inicjowana na wartość {{Code|true}}, to dalej jest sprawdzane, czy dla elementów: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy dana książka jest poza zakresem obsługiwanym, czyli rewidowane jest, czy jest ustawiony kod problemu {{Code|strony poza zakresem obsługiwanym}}, czy a jeżeli jednak nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}, ustawiające pewne elementy błędu, jeżeli trzeba to zrobić.
Gdy tabela {{LinkPatrz|tab_numer}} odpowiada nienilowej tablicy, wtedy element {{LinkPatrz|lista_dwuelementowa}} jest wstawiany na odpowiedniej pozycji, ale przeważnie nie na końcu, przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=table.insert|b=tak}}}}, dzięki określonej tabeli {{LinkPatrz|tab_numer}}, przeciwnie na jej końcu.
Funkcja zwraca element {{LinkPatrz|lista_dwuelementowa}}.
=== {{Śródtytuł|p.RozpatrywanieSzablonuObiektuDoNumeracji}}{{Code|p.RozpatrywanieSzablonuObiektuDoNumeracji}} ===
Funkcja, która uruchamia funkcję: {{LinkŚródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}, dla istniejącego uchwytu w postaci nazwanej o kluczu: {{Code|uchwyt}} {{Patrz|uchwyt}}, lub nienazwanej - w postaci numeru jego uchwytu o kluczu: {{Code|numer_numeracji}} {{Patrz|numer_numeracji}}, wsadzająca tabele z uchwytem na odpowiednią pozycję w odpowiedniej nazwanej tabeli o nazwie obiektu {{LinkPatrz|nazwa_obiektu}} w ogólnej tabeli: {{LinkPatrz|tablica_zmiennych}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}}- tabela parametrów szablonu,
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|numer_numeracji}} - jak w: {{LinkPatrz|numer_numeracji}},
* {{Code|tab_numer}} - jak w: {{LinkPatrz|tab_numer}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
== {{Śródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}{{Code|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}} ==
Funkcja sprawdza, czy dany artykuł należy do artykułów, któregoś spisu treści, a jeżeli nie, to dla stron, które nie należą do kategorii z ustawionym problemem {{Code|strony poza zakresem obsługiwanym}}, ale do nieaktualnej strony jest ustawiony problem {{Code|brak spisów treści do dołączonych stron}}. Natomiast dla aktualnej dla stron tej samej kategorii ustawiany jest problem {{Code|brak spisu treści do korzystanych stron}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== {{Śródtytuł|p.PusteParametryReferencji}}{{Code|p.PusteParametryReferencji}} ==
Funkcja sprawdza, jeśli są podane parametry szablonu stronicowego, które są w kategorii: {{lk|Szablony stronicowe}}, czyli: {{Code|nazwa_artykulu}}, ewentualnie: {{Code|nazwa_ksiazki}}, ale zawsze z: {{Code|uchwyt_obiektu}}, czy są one puste.
A jeżeli one istnieją i są takie, to są ustawione problemy typu, jeśli ich wcześniej nie ustawiono:
* {{Code|puste parametry szablonów stronicowych linkujących}} {{Patrz|puste parametry szablonów stronicowych linkujących}}, kolejno dla: {{Code|uchwyt_obiektu}}, {{Code|nazwa_artykulu}} i {{Code|nazwa_ksiazki}}, kolejno z numerami problemów: {{Code|1}}, {{Code|2}} i {{Code|3}}.
Dla obiektu o nazwie {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}.
{{Hr}}
Definicja skrótowa funkcji
<syntaxhighlight lang="lua">
function p.PusteParametryReferencji(self, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu)...end;
</syntaxhighlight>
Paraametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} {{Patrz|uchwyt_obiektu}} - uchwyt obiektu, podane w danym szablonie stronicowym,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}}.
== {{Śródtytuł|p.SzablonyReferencjiParametrowych}}{{Code|p.SzablonyReferencjiParametrowych}} ==
Funkcja z parametrów pudełkowych nazwy artykułu {{ZobaczTeż|nazwa artykułu}}: {{Code|nazwa artykułu}} {{Patrz|nazwa artykułu}} albo {{Code|1}}, gdy bezuchwytowe lub {{Code|2}}, i pełnej nazwy książki {{ZobaczTeż|pełna nazwa strony}}: {{Code|nazwa książki}} {{Patrz|nazwa książki}} albo, {{Code|2}}, gdy bezuchwytowe lub {{Code|3}}. To wszystko jest liczone z: {{LinkPatrz|tabela_parametrow_szablonu}} lub przy użyciu parametru również {{Code|bezuchwytowe}} {{Patrz|bezuchwytowe}}, gdy mamy szablon stronicowy {{lk|Szablony stronicowe}}, bezuchwytowy, wtedy {{Code|true}}, przeciwnie {{Code|false/nil}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca,bezuchwytowe)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{Code|bezuchwytowe}} - jak w: {{LinkPatrz|bezuchwytowe}}.
Funkcja obie nazwy dekoduje funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a później jest liczony adres bezwzględny z względnego dzięki: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, przy pomocy podstawy {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}}, podobnie ale wcześniej jest liczona nazwa artykułu {{linkZobaczTeż|nazwa artykułu}}, czyli: {{LinkPatrz|nazwa_artykulu}}, ale tutaj adres względny jest liczony z podstawy o ciągu pustym jako drugi parametr.
Na podstawie pełnej nazwy książki {{LinkZobaczTeż|pełna nazwa strony}}: jest liczona bardziej jej wersja pełniejsza, jeżeli to jest w ogóle możliwe z: {{Code|{{sr|#p["PełnaNazwaStronicowejKsiążki"]|p=Książkowe}}}}. A póżniej z tego wszystkiego są liczone nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, przy pomocy funkcji nazw: {{Code|{{ld2|Nazwy}}}}.
Na samym końcu funkcji są zwracane parametry nazw, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== Funkcje zbierania informacji ==
=== {{Śródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}{{Code|p.ZbieranieInformacjiStronyWoluminowychPozycji}} ===
Funkcja zbierania informacji na stronie dla szablonów stronicowych: {{lk|Szablony stronicowe}}, bezuchwytowych, gdy nie jest uruchomiony parametr: {{Code|czy_inna_wartosc_tekst}} {{Patrz|czy_inna_wartosc_tekst}}, wtedy jest wywoływana funkcja: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}, która liczy kolejne nazwy charaktertyzujące nazwy dla danego artykułu książki dla danej strony, przeciwnie parametry nazw są ściagane z: {{Code|tab_nazwy}} {{Patrz|tab_nazwy}}, ta tabela składa się numerowanych elementów, którymi są nazwy charakyteryzujące stronę.
Gdy jakaś nazwa artylułu strony została policzona, wtedy są liczone pozostałe nazwy z: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, a na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, a tuż przed nim, jeśli istnieje: {{Code|KtorySzablonMaZwracacKategorie}} {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,KtorySzablonMaZwracacKategorie,czy_inna_wartosc_tekst,tab_nazwy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_inna_wartosc_tekst}} - jak w: {{LinkPatrz|czy_inna_wartosc_tekst}},
* {{Code|tab_nazwy}} - jak w: {{LinkPatrz|tab_nazwy}}.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacji}}{{Code|p.ZbieranieKontenerowychInformacji}} ===
Funkcja do zbierania informacji, która z parametrów pudełkowych: {{Code|{{m|Pudełko}}}}, czyli: {{Code|nazwa przestrzeni nazw}} {{Patrz|nazwa przestrzeni nazw}} i {{Code|nazwa jednostki}} {{Patrz|nazwa jednostki}}, z nich są liczone parametry nazw charakteryzujące artykuł książki strony. A na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} {{Patrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,czy_szablon_pudelkowy_strony_zbiorczej,KtorySzablonMaZwracacKategorie)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} {{Patrz|czy_szablon_pudelkowy_strony_zbiorczej}} - funkcja potrzebna do funkcji zbierającej {{LinkPatrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, określającej, czy mamy szablon pudełkowy strony zbiorczej, taki jak: {{Code|{{s|StronaSubst}}}}, czy: {{Code|{{s|KsiążkaSubst}}}}, zobacz stronę: {{Code|{{lr2|Moduły/StronicowyParser/StronaSubst}}}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Gdy nie ma parametrów pudełkowych funkcja się natychmiast zakańcza, lub parametr: {{LinkPatrz|nazwa jednostki}}, jest pusta, lub nawet gdy zawierają kody wykrywane przez funkcję: {{Code|{{sr|#p.NormaWzoruKodowaniaTekstu|p=Szablonowe}}}}.
Z nazwy jednostki jest wydzielana nazwa jednostki właściwa bez nazwy nagłówka, póżniej obie nazwy są też dekodowane funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, czyli wszystko z: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}.
Z tych dwóch nazwy jest liczony adres, ewentualnie względny, który za pomocą funkcji: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, jest wyliczany adres bezwzględny.
Dalej są liczone nazwy charakteryzujące artykuł danej książki strony, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, z tego adresu strony.
Przedostatnia funkcja, która jest uruchamiana przed funkcją zbierającą jest: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}, jeśli istnieje.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacjiReferencji}}{{Code|p.ZbieranieKontenerowychInformacjiReferencji}} ===
Funkcja zbiera informacje o stronie. Na podstawie informacji o nazwie artykułu i pełnej nazwy książki liczy parametry nazw charakteryzujące artykuł, co na tej podstawiwe liczy parametry pudełkowe i wywołuje funkcję główną przez inną funkcję, też zbierającą, i zbiera informacje o artykule.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacjiReferencji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, jako parametry zwracane przez funkcję: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}. Funkcja wyznacza parametry pudełkowe {{m|Pudełko}}, tzn.: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}, na podstawie tych nazw. Funkcja na samym końcu wywołuje funkcję zbierającą dane ze strony: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}, która z kolei uruchamia potem: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
== {{Śródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}{{Code|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}} ==
Funkcja sprawdza niepoprawność nazwy strony i na podstawie tego ustawia pewne kody problemów.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,__FUNKCJA_SPRAWDZANIE)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|__FUNKCJA_SPRAWDZANIE}} {{Patrz|__FUNKCJA_SPRAWDZANIE}} - funkcja uruchamiana, jeśli jest ustawiona, na wypadek poprawności strony.
W przypadku niepoprawności strony, gdy strona modułu jest aktualna (bieżąca), wtedy sprawdzany jest kod problemu, czy jest ustawiony, tzn.: {{Code|nieprawidłowe nazwy korzystanych stron}}, przy pomocy funkcji: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli nie ma takiego, to wtedy jest uruchamiana funkcja: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}. Podobnie jest dla niekorzystanej strony, wtedy jest problem dla kodu: {{Code|nieprawidłowe nazwy stron dołączanych do stron}}.
== Zbieranie informacji o linkach ==
=== {{Śródtytuł|p.LinkowanieFinalizowaniePrac}}{{Code|p.LinkowanieFinalizowaniePrac}} ===
Funkcja wadza uchwyt obiektu, wsazujący na aktualną stronę, do pewnej strony, i ewentualnie ustawia pewne problemy, jeśli je nie ustawiono.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} {{Patrz|obiekt}} - obiekt, obsługiwany przez tą funkcję linku,
* {{Code|kod}} {{LinkPatrz|kod}} - kod obiektu dla: {{LinkPatrz|obiekt}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} - jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}},
* {{Code|czy_pobierz}} {{Patrz|czy_pobierz}} - czy to jest szablon typu {{Code|Pobierz}} {{Patrz|Pobierz}}, jak: {{s|PobierzŚródtekst}}.
Funkcja sprawdza, czy nie został ustawiony element {{Code|tablica_zmiennych.sprawdzenie_dokonane_linku}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}, a jeżeli tak, to dalej, czy nie ma elementów numerowanych przy pomocy funkcji: {{Code|{{sr|#p["CzySąElementyNumerowaneTablicy"]|p=Parametry}}}}, a jeśli również tak, to dalej jest sprawdzane, czy został ustawiony problem: {{Code|strony poza zakresem obsługiwanym}}, przy pomocy: {{Code|{{sr|#p.CzyJestTakiElementTabeliProblemu|p=StronicowyParser/Problemy}}}}, a jeżeli nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}. Na samym końcu tej instrukcji warunkowej jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}.
Dalej pod tą instrukcją warunkową, jest robione, co powiedziane zostało w prologu tego opisu tej funkcji, tzn. z wyznaczonej tablicy ze: {{LinkPatrz|tablica_zmiennych}}, a dalej z wyznaczonej następnej podtabeli o kluczu: {{LinkPatrz|nazwa_obiektu}}.
Następnie, gdy element: {{LinkPatrz|czy_pobierz}}, jest ustawiony na {{Code|true}}, wtedy dla {{LinkPatrz|uchwyt_obiektu}}, pewna tablica, jest wstawiana do tablicy: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}}, jeśli istnieje, a jeśli nie, to jest tworzona, jako tablica, wtedy też jest to robione. Tą czynnością wstawiany tabelę, do tej tablicy, czyli:
<syntaxhighlight lang="lua">
{{nazwa_obiektu,uchwyt_obiektu,},{obiekt,kod,},}
</syntaxhighlight>
=== {{Śródtytuł|p.LinkowanieInnychStron}}{{Code|p.LinkowanieInnychStron}} ===
Funkcja do sprawdzania innych stron niż aktualna, a jeżeli dana strona została już sprawdzona, to powtórnie nie jest już rewidowana. Funkcja ustawia w głównej tablicy aktualnej tabeli {{LinkPatrz|tablica_zmiennych}} pewne podtablice.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieInnychStron(self,obiekt,kod,tablica_zmiennych, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejo jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Najpierw jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, która w razie poprawności nazwy strony, czyli inaczej nazw tej strony, tzn.: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, uruchamia funkcję zdefiniowaną w nim.
{{Tab}}Ta funkcja sprawdza, czy któraś z parametrów nazw istnieje, a jeżeli nie, to dalej jest inicjowana zmienna: {{Code|tablica_zmiennych2}} {{Patrz|tablica_zmiennych2}} pustą tablicą i podobnie {{Code|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}} {{Patrz|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}}, to uruchamiana jest: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, do zbierania informacji o stronie nowej lub przebadanej (wtedy zostają zwrócone parametry z wczęsniejszego jego analizowania, jak była nowa). Funkcja zwraca trzy parametry, tzn. {{Code|tabela_listy_danych_analizy_ksiazki0}} {{Patrz|tabela_listy_danych_analizy_ksiazki0}}, {{LinkPatrz|tablica_zmiennych2}} i {{Code|czy_inna}} {{Patrz|czy_inna}}. Te parametry mogą przyjmować wartość {{Code|nil}}, lub pierwszy {{Code|0}}, drugi, to nic innego jest jak: {{LinkPatrz|tablica_zmiennych2}}, a trzeci parametr jest wtedy równy {{Code|true}}, gdy strona jest nowa, a {{Code|false}} aktualna, a gdy {{Code|nil}}, gdy np. zawartość strony nie istnieje.
Gdy parametr: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, istnieje, wtedy jest spraqdzane, czy któreś z parametrów: {{LinkPatrz|tablica_zmiennych2}} i {{LinkPatrz|czy_inna}}, nie istsnieje, wtedy ta funkcja się zakańcza.
==== {{Śródtytuł|JuzPoliczone}}{{Code|JuzPoliczone}} ====
Dla obiektów, dla których jest ustawiony parametr: {{LinkPatrz|czy_pobierz}}, co dalej w tym rozgałęzieniu instrukcji warunkiwej jest uruchamiana funkcja szablonów tekstu, czyli: {{Code|{{sr|#p.UstawianiePobierz|p=StronicowyParser/SzablonyTekstu}}}}, aby również później za pomocą innych funkcji przeanalizować również tekst w szablonach takich jak: {{s|Śródtekst}}.
Dalej jest tworzona tablica, jeśli nie istnieje, tzn. {{Code|tablica_zmiennych2.dane_juz_policzone}} {{Patrz|tablica_zmiennych2.dane_juz_policzone}}, czyli jest inicjowana pustą tablicą. Dalej jest tworzona, jeśli nie istnieje, tablica wielowymiarowa po kolei, o kluczach kolejno: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}, {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu}}, a jeżeli ta ostatnia wartość tej tablicy była wcześniej, to zwracane jest {{Code|true}}, przeciwnie {{Code|false}}, a tej ostatniej wartości tej tablicy jest przydzielana wartość {{Code|true}}.
==== Dalszy opis funkcji ====
Gdy parametr: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest równy {{Code|0}}, ale nie {{Code|nil}}, wtedy jest sprawdzane, czy artykuł został wcześniej zrewidowany według: {{LinkŚródtytuł|JuzPoliczone}}, a jeżeli tak to jest zakańczany, a gdy ten parametr taakiej wartośsci nie przyjmuje, wtedy tylko jest uruchamiana funkcja bez żadnego warunku.
{{Tab}}Następnie jest uruchamiana funkcja: {{Code|{{sr|#p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony|p=StronicowyParser/SzablonyTekstu}}}}, do przydzielenia pewnych zmiennych z {{LinkPatrz|tablica_zmiennych2}} tablicy {{LinkPatrz|tablica_zmiennych}}.
{{Tab}}Jest sprawdzane, czy dany artykuł należy do spisu, jeżeli nie to są ustawiane pewne kody problemów w tablicy problemów, tzn. {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}.
Dalej jest sprawdzane, czy podany uchwyt {{LinkPatrz|uchwyt_obiektu}}, który jest podany w szablonach linków na aktualnej stronie, czy jest tylko jeden na stronie sprawdzanej, a jeżeli nie jest tak, to jest sprawdzane, czy nie istnieje ustawiony problem: {{Code|błędy uchwytów korzystanych stron}}, funkcją: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to taki problem jest dodawany dzięki: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
{{Tab}}Uruchamiana jest dalej funkcja: {{LinkŚródtytuł|p.PusteParametryReferencji}}, do sprawdzania pustości pewnych parametrów.
{{Tab}}Gdy tabela: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest jednak równa wartości odpowiadającej fałszywej, wtedy jeśli nie istnieje problem: {{Code|błąd wewnętrzny modułu lua stronicowego parsera}}, co jest rewidowane elementem: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to dodawany jest taki problem do tabeli problemów na podstawie: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
=== {{Śródtytuł|p.GeneralneLinkowanie}}{{Code|p.GeneralneLinkowanie}} ===
Funkcja zbiera uchwyty, na aktualnej lub innej stronie, a także je analizuje w odpowiedni sposób, modyfikuje tablica aktualnego modułu, czyli: {{LinkPatrz|tablica_zmiennych}}, na podstawie poszczególnych artykułów tej książki lub innej, która zbiera raz informacje o danej stronie.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Funkcja wyznacza uchwyt z tabeli parametrów: {{LinkPatrz|tabela_parametrow_szablonu}}, o kluczu {{Code|uchwyt}} {{LinkPatrz|uchwyt}} lub {{Code|1}}, a później w kodzie jest on kompletowany funkcją: {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a następnie rozwijany w niej, a później jest dekodowany: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}.
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, wywołujac: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}.
Na samym końcu jest uruchamiana: {{LinkPatrz|KtorySzablonMaZwracacKategorie}} z parametrem o tym uchwycie, wyliczonym wcześniej.
Gdy uchwyt istnieje, ale jest pusty, wtedy uruchamia się: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, następnie: {{LinkŚródtytuł|p.PusteParametryReferencji}}, a jeśli ta wartość nie istnieje, wtedy tylko ta ostatnia funkcja.
Gdy uchwyt: {{LinkPatrz|uchwyt}}, istnieje i jest niepusty, wtedy jest wyznaczana nazwa artykułu z niej samej, lub jeśli nazwa ksiązki istnieje, tylko, wtedy ta nazwa zaczyna być pusta, przeciwnie {{Code|nil}}, wtedy mamy do czynienia ze stroną główną podręcznika.
Gdy nazwa artykułu nie istnieje, wtedy wywoływana jest: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Jeśli nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest niepusta, i gdy nazwa książki nie istnieje, wtedy są liczone parametry nazw, oprócz nazwy artykułu, bo jest policzona, więc te {{ZobaczTeż|nazwy}}: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, z parametrów charakteryzujących nazwę aktualnego artykułu, a jeśli jednak nazwa książki jest pusta, to są sprawdzane parametry w: {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Gdy nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest nieistnieje, i gdy nazwa książki {{LinkPatrz|nazwa_ksiazki}} jest niepusta, wtedy nazwa artykułu zaczyna istnieć i inicjujemy wtedy ją wartością pustą, a jeśli pusta, za zaczyna być potem generowanie kodów błędów funkcją {{LinkŚródtytuł|p.PusteParametryReferencji}}, by potem się zakończyła ta funkcja.
Przeciwnie są liczone parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, tą samą metodą, co w punkcie: {{LinkZobaczTeż|nazwy}}.
Gdy nazwy {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}} są porównywane z nazwami, którymi się przypisje jak w: {{LinkZobaczTeż|nazwy}}, wtedy uruchamiamy funkcję: {{LinkŚródtytuł|p.LinkowanieInnychStron}}, przeciwnie wtedy działają dwie funkcje uruchomione po kolei, tzn.: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
== {{Śródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}{{Code|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} ==
Funkcja służy do zbierania informacji o danej analizowanej stronie, którego główną częścią jest strona korzystana, w której gromadzą się informacji też z pozostałych.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, czy_artykul_korzystany,tablica_zmiennych,czy_szablon_pudelkowy_strony_zbiorczej)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} - jak w: {{LinkPatrz|czy_szablon_pudelkowy_strony_zbiorczej}}.
=== {{Śródtytuł|__FUNKCJA_ARTYKULU}}{{Code|__FUNKCJA_ARTYKULU}} ===
Funkcja do tworzenia tabeli artykułów z innymi parametrami wielowymiarowej tej tabeli, a jeżeli owe pośrednie, i nie tylko, istnieją, to te tabele są zwracane lub nowo są tworzone.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji {{ZobaczTeż|parametry artykułu}}:
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}},
* {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu}} - nazwa artykułu w książce, bez pełnej nazwy książki.
Poniżej są tworzone podtabele puste, jeśli nie zostały utworzone.
Funkcja, która w tabeli: {{Code|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}} {{Patrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, która istnieje, tworzy tabele trójwymiarową kolejno po prarametrach: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, te tabele pośrednie śą wtedy tworzone, jeśsli nie istnieją, a gdy istnieją to nie są tworzone, tylko funkcja przechodzi do dalszych.
Dalej tworzona jest podtabela, jeśli nie istnieje o nazwie {{Code|lista_podstron_woluminu}} {{Patrz|lista_podstron_woluminu}}.
Następnie generowana jest podtabela, jeśli nie istnieje, o kluczu: {{LinkPatrz|nazwa_artykulu}}.
Funkcja zwraca kolejno elementy, jeśli klucz: {{LinkPatrz|nazwa_artykulu}}, istnieje, zatem:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany;
</syntaxhighlight>
Przeciwnie zwracany jest zbiór zmiennych po kolei:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki;
</syntaxhighlight>
Co to są za zmienne, wiadomo z ich nazw, po prostu są to pewne pośrednie, i nie tylko, tabele.
=== {{Śródtytuł|__FUNKCJA_POBIERANIE}}{{Code|__FUNKCJA_POBIERANIE}} ===
Funkcja zwraca parametry strony aktualnej, analizowanej jeszcze raz, aby ją nie powtórnie rewidować, lub podobnie dla innego artykułu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_POBIERANIE(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji są takie same jak w punkcie {{LinkZobaczTeż|parametry artykułu}}.
{{Tab}}Analiza dla artykułów niekorzystanych według parametru: {{LinkPatrz|czy_artykul_korzystany}}:
Dla jeszcze raz analizowanego artykułui aktualnego zwracane są parametry:
<syntaxhighlight lang="lua">
return 0,nil,nil,nil,nil,nil,self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron,false;
</syntaxhighlight>
Tabela: {{Code|self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron}}, tam są dane zebrane z aktualnego artykułu.
Dla innej takiej strony jest tworzony parametr, jeżeli jest włączona analiza, dla klucza: {{Code|analiza_spis_tresci}} {{Patrz|analiza_spis_tresci}}, według tego jest tworzony wartością prawdziwą parametr o innym znów kluczu: {{Code|analiza_spis_tresci_doloczone}} {{Patrz|analiza_spis_tresci_doloczone}}:
<syntaxhighlight lang="lua">
if(self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci)then
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=true;
end;
</syntaxhighlight>
Dla elementu: {{LinkPatrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, jeżeli dany artykuł był już rewidowany, to zwracane są elementy:
<syntaxhighlight lang="lua">
return 0,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni,dane_zebrane_ze_stron,true;
</syntaxhighlight>
To: {{Code|dane_zebrane_ze_stron}} {{Patrz|dane_zebrane_ze_stron}}, to podtabela: {{LinkPatrz|lista_podstron_woluminu}}, z kluczem: {{LinkPatrz|nazwa_artykulu}}, o nazwie takiej samej jak ten parametr zwracany.
Przeciwnie jest zwracane: {{Code|true}}, lub {{Code|nil}}, jeśli tabela: {{Code|self.tabela_listy_danych_analizy_ksiazki}} {{Patrz|self.tabela_listy_danych_analizy_ksiazki}}, lub podtatela: {{LinkPatrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, nie istnieje.
=== {{Śródtytuł|InneInformacjePrzebneDoAnalizowanejKsiazki}}{{Code|InneInformacjePrzebneDoAnalizowanejKsiazki}} ===
Funkcja do zbierania informacji o spisie artykułów książkowych i ich licencjach oraz ewentualnie zebrane informacje ze stron: {{lk2|Szablony nawigacyjne układu autonawigacji do autonawigacji podręczników}}, z szablonu, w któreś tej pozycji w: {{s|Układ autonawigacji}}, i ze spisów podanej w niej jako parametry.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function InneInformacjePrzebneDoAnalizowanejKsiazki()...end;
</syntaxhighlight>
Parametry funkcji:
* brak.
==== {{Śródtytuł|__FUNKCJA_SPISU}}{{Code|__FUNKCJA_SPISU}} ====
Funkcja do inicjowania parametrów spisu, aktualnego artykułu, uzyskanych z ich analizy.
Definicja skrotowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_SPISU(tablica_ksiazki,czy_podac_adres)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tablica_ksiazki}} {{Patrz|tablica_ksiazki}} - tablica dla analizowanej książki,
* {{Code|czy_podac_adres}} {{Patrz|czy_podac_adres}} - czy podać adres bazowego woluminu.
Tablicy: {{linkPatrz|tablica_ksiazki}}, jest inicjowany element: {{Code|spis}} {{Patrz|spis}}, tabelą: {{Code|tabela_artykulow}} {{Patrz|tabela_artykulow}}.
Gdy: {{LinkPatrz|czy_artykul_korzystany}}, jest wartością fałszywą, to iniciowaną tablicy: {{LinkPatrz|tablica_ksiazki}}, jest parametr o kluczu: {{Code|licencja}} {{Patrz|licencja}}, tabelą: {{Code|tabela_licencji_spisu_tresci}} {{Patrz|tabela_licencji_spisu_tresci}}.
Dalej kolejno elementy: {{Code|nazwa_bazowego_spisu}} {{Patrz|nazwa_bazowego_spisu}}, {{Code|tab_inne_spisy}} {{Patrz|tab_inne_spisy}} i {{Code|dodatkowe_strony_woluminu}}, tabeli: {{LinkPatrz|tablica_ksiazki}}, i inicjowane są tabelami o takich samych nazwach jak te klucze dwa, a ostatni tabelą: {{Code|dodatkowe_artykuly}} {{Patrz|dodatkowe_artykuly}}.
Dla tabeli: {{LinkPatrz|tablica_ksiazki}}, o kluczu w nim {{Code|adres_woluminu_bazowego_spisu_rzeczy}}, ona jest przyrównywana wartością: {{Code|adres_ksiazki_glownego_spisu_tresci}} {{Patrz|adres_ksiazki_glownego_spisu_tresci}}, jeśli istnieje: {{LinkPatrz|czy_podac_adres}}, lub przeciwnie wartością {{Code|nil}}.
==== Dalszy opis funkcji - etap I ====
Jeżeli dla aktualnego artykułu dla książki nie ustawiono kodu: {{Code|strony poza zakresem obsługiwanym}}, wtedy są analizowane elementy opisane w nagłówku opisywanej funkcji, pod warunkiem, jeżeli istnieją parametry nazw książki: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}.
Gdy artykuł jest analizowany, wtedy parametr: {{LinkPatrz|czy_artykul_korzystany}}, wtedy jest przy istnieniu: {{Code|self.tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|self.tabela_listy_danych_analizy_ksiazki}}, jest ustawiany w nim element: {{Code|CzyArtykułKsiążki}} {{Patrz|CzyArtykułKsiążki}}, z wartością na {{Code|tak}}.
Gdy już spis jeszcze nie analizowano, a jeżeli juz został zanalizowany, to sprawdzany jest: {{Code|czy_spis_analizowano}}, tablicy: {{LinkPatrz|tablica_ksiazki}}.
A jeśli jednak spisy książki nie zostały sprawdzone i sparsowane, wtedy uruchamia się następne rozgałęzienie pętli.
Uruchamia się dalej funkcja: {{Code|{{sr|#p.ZbieranieInformacjiSpisuRzeczyWoluminuEwentualnieWedleAutonawigacji|p=StronicowyParser/SpisTreści}}}}, w nim są uruchamiane w pewien sposób dwie funkcje.
===== {{Code|p.ZbieranieInformacjiSpisuRzeczyWoluminuEwentualnieWedleAutonawigacji}} =====
Ta funkcja służy do parsowania spisów i innych omówionych elementów książki danego artykułu.
====== Pierwsza anonimowa funkcja ======
Dla analizowanej pierwszej funkcji, ona jest uruchamiana, wtedy kiedy zostały zebrane wszystkie informrmacje ze spisów, wtedy dla elementu: {{Code|tablica_ksiazki_strona}} {{Patrz|tablica_ksiazki_strona}}, sprawdzane, czy jego element {{LinkPatrz|spis}} istnieje, jeśli istnieje, zatem elementy z: {{Code|_strona_temp}}, inicjujemy tymi z: {{Code|_strona}}, z elementów zmiennych tej funkcji, w takim razie inicjujemy inne jego podelementy, tzn.: {{Code|spis}} {{LinkPatrz|spis}}, {{Code|licencja}} {{LinkPatrz|licencja}}, {{Code|nazwa_bazowego_spisu}} {{LinkPatrz|nazwa_bazowego_spisu}}, {{Code|tab_inne_spisy}} {{LinkPatrz|tab_inne_spisy}}, {{Code|dodatkowe_strony_woluminu}} {{Patrz|dodatkowe_strony_woluminu}} i {{Code|adres_woluminu_bazowego_spisu_rzeczy}} {{Patrz|adres_woluminu_bazowego_spisu_rzeczy}}, elementu: {{LinkPatrz|tablica_ksiazki}}, tymi saamymi elementami, ale dla innej strony, tzn.: {{Code|tablica_ksiazki_strona}} {{LinkPatrz|tablica_ksiazki_strona}}.
Też jest inicjowany element tej pierwszej zmiennej książkowej o kluczu: {{Code|referencja_do_nowej_formy_spisu}} {{Patrz|referencja_do_nowej_formy_spisu}}, według:
<syntaxhighlight lang="lua">
tablica_ksiazki.referencja_do_nowej_formy_spisu={tablica_przestrzeni_strona,tablica_przestrzeni_ksiazki_strona,tablica_ksiazki_strona,};
</syntaxhighlight>
Funkcja wtedy zwróci wartość: {{Code|1}}, a w innych przeciwnych wypadkach ta funkcja nic nie zwraca.
====== Druga anonimowa funkcji ======
Ta funkcja działa, gdy parametry strony, tzn.: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, są równe podobnym parametrom z: {{Code|_ref_spis}}, z parametrów tej funkcji, tzn. czy spis jest analizowanym korzystanym artykułem. Ta funkcja słuzy do tego, aby nie analizować dwa razy tego samego spisu, raz jako spis, a za innym razem jako artykuł z uchwytami.
Ta funkcja kopiuje dokładnie elementy z: {{Code|_ref_spis}}, temu z: {{Code|_ref}}, te elementy, to nic innego jak: {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}}, {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}} i {{Code|tablica_danych_parametrow_szablonu_strony}} {{LinkPatrz|tablica_danych_parametrow_szablonu_strony}}, czyli tworzymy elementy takie: {{Code|tekst_rozwiniety_calego_artykulu_ref}} {{Patrz|tekst_rozwiniety_calego_artykulu_ref}}, {{Code|tablica_analizy_obiektow_strony_dany_modul_ref}} {{Patrz|tablica_analizy_obiektow_strony_dany_modul_ref}} i {{Code|tablica_danych_parametrow_szablonu_strony_ref}} {{Patrz|tablica_danych_parametrow_szablonu_strony_ref}}.
==== Dalszy opis funkcji - etap II ====
=== {{Śródtytuł|PrzekierownieAwaryjne}}{{Code|PrzekierownieAwaryjne}} ===
=== {{Śródtytuł|StronaZbiorcza}}{{Code|StronaZbiorcza}} ===
=== {{Śródtytuł|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}}{{Code|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}} ===
=== {{Śródtytuł|GeneralnaAnalizaSzablonuStronicowegoParsera}}{{Code|GeneralnaAnalizaSzablonuStronicowegoParsera}} ===
=== {{Śródtytuł|IterowaniePoElementachTekstu}}{{Code|IterowaniePoElementachTekstu}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieNaglowek}}{{Code|KtorySzablonMaZwracacKategorieNaglowek}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieTekst}}{{Code|KtorySzablonMaZwracacKategorieTekst}} ===
=== {{Śródtytuł|CzyJestTakiProblemJakoElementTablicy}}{{Code|CzyJestTakiProblemJakoElementTablicy}} ===
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
iqekij1vhdzkp0hjtlw150vsiekpjez
547266
547265
2026-06-30T09:53:47Z
Persino
2851
/* Pierwsza anonimowa funkcja */
547266
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/ZbieranieDanychStron}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== Zbieranie informacji o uchwycie ==
=== {{Śródtytuł|p.UchwytyZeiBezNumeracji}}{{Code|p.UchwytyZeiBezNumeracji}} ===
Funkcja zbiera uchwyty, dla obiektów {{ZobaczTeż|p.UchwytyZeiBezNumeracji}}, bez numeracji, nie licząc obiektów tekst takich jak {{s|Śródtekst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UchwytyZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,lista_dwuelementowa,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} {{Patrz|self}} - zmiennna obiektowa modułu {{Code|{{ld2|StronicowyParser/ZbieranieDanychStron}}}} {{Patrz|StronicowyParser/ZbieranieDanychStron}},
* {{Code|tabela_elementow_strony_kodow}} {{Patrz|tabela_elementow_strony_kodow}} - zmienna zbierająca takie kody jak {{LinkZobaczTeż|p.UchwytyZeiBezNumeracji}},
* {{Code|nazwa_obiektu}} {{Patrz|nazwa obiektu}} - nazwa obiektu,
* {{Code|lista_dwuelementowa}} {{Patrz|lista_dwuelementowa}} - pozycja w normalnej tabeli uchwytów i przeważnie ich numeracji, a tutaj dla tego obiektu,
* {{Code|kod}} {{Patrz|kod}} - numer kodu dla tego obiektu.
Funkcja zbiera elementy {{LinkPatrz|lista_dwuelementowa}} w tablicy wielowymiarowej o pierwszym elemencie wymiaru {{LinkPatrz|nazwa obiektu}} i trzecim {{LinkPatrz|kod}}, oraz o drugim {{Code|uchwyty_bez_numeracji}} {{Patrz|uchwyty_bez_numeracji}}.
=== {{Śródtytuł|p.WydobywanieUchwytuZeiBezNumeracji}}{{Code|p.WydobywanieUchwytuZeiBezNumeracji}} ===
Funkcja wydowywa tablicę uchwytu dla pozycji, ale nie sam uchwyt, dla podtablicy {{LinkPatrz|uchwyty_bez_numeracji}} o danym kodzie {{LinkPatrz|kod}}, dla nazwy obiektu {{LinkPatrz|nazwa_obiektu}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.WydobywanieUchwytuZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,kod)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_elementow_strony_kodow}} - jak w: {{LinkPatrz|tabela_elementow_strony_kodow}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}}.
Funkcja wykorzystuje elementy tablicy: {{LinkPatrz|uchwyty_bez_numeracji}}, wstawione przez funkcję: {{LinkŚródtytuł|p.UchwytyZeiBezNumeracji}}.
=== {{Śródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}{{Code|p.RozpatrywanieElementuUchwytuNumeracji}} ===
Funkcja wsadzająca utworzoną tablicę z podanym uchwytem do ogólnej tablicy pozycji nazwanych tabel z uchwytami o danej pozycji z nim.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|kod_uchwytu}} {{Patrz|kod_uchwytu}} - kod uchwytu podanego do szablonu stronicowego z odpowiednim uchwytem,
* {{Code|tab_numer}} {{Patrz|tab_numer}} - tablica z numerkami ilości elementów w tablicy parametrów nazwanych z uchwytami, w danym elemencie analizowania strony z uchwytami i obiektami,
* {{Code|tablica_zmiennych}} {{Patrz|tablica_zmiennych}} - tablica analizowania obiektów, danej strony,
* {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} {{Patrz|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - kolejno: nazwa przestrzeni nazw, nazwa przestrzeni książki, nazwa książki i nazwa artykułu książki,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} {{Patrz|czy_artykul_korzystany}} - czy artykuł aktualny wyświetlany w przeglądarce,
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} {{Patrz|nazwa_modulu_aktualna_czy_biezaca}} - nazwa artykułu aktualna lub bieżąca,
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{Patrz|tablica_analizy_obiektow_strony_dany_modul}} - tablica bazy kodów parsowania strony,
* {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - tablica analizy poszczególnych elementów kodów, do szybszego działania skryptu,
* {{Code|KtorySzablonMaZwracacKategorie}} {{Patrz|KtorySzablonMaZwracacKategorie}} - tablica zbierająca odkodowany i rozwinięty uchwyt, do analizowania w nim zebranych kategorii, według modułu: {{Code|{{ld2|StronicowyParser/Kategorie}}}}, uruchamiana w szablonach stronicowych z funkcjami '''stronicowego parsera'''.
Funkcja rozwija {{LinkPatrz|kod_uchwytu}} funkcją {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a potem je odkodowuje przy pomocy: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a jeżeli ona nie jest pusta, to dla tego jest uruchamiana funkcja {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Tworzona jest tablica {{Code|lista_dwuelementowa}} {{LinkPatrz|lista_dwuelementowa}} z uchwytem, jako pierwszy parametr.
Jest sprawdzane, czy element {{Code|tablica_zmiennych.sprawdzenie_dokonane_obiektu}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, jest fałszywy, jeżeli tak, to dalej jest sprawdzane, czy są elementy numerowane nazwanej tablicy: {{Code|tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2}} o nazwie {{LinkPatrz|nazwa_obiektu}}, a jeżeli jest pusta - na samym końcu jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, czyli jest inicjowana na wartość {{Code|true}}, to dalej jest sprawdzane, czy dla elementów: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy dana książka jest poza zakresem obsługiwanym, czyli rewidowane jest, czy jest ustawiony kod problemu {{Code|strony poza zakresem obsługiwanym}}, czy a jeżeli jednak nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}, ustawiające pewne elementy błędu, jeżeli trzeba to zrobić.
Gdy tabela {{LinkPatrz|tab_numer}} odpowiada nienilowej tablicy, wtedy element {{LinkPatrz|lista_dwuelementowa}} jest wstawiany na odpowiedniej pozycji, ale przeważnie nie na końcu, przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=table.insert|b=tak}}}}, dzięki określonej tabeli {{LinkPatrz|tab_numer}}, przeciwnie na jej końcu.
Funkcja zwraca element {{LinkPatrz|lista_dwuelementowa}}.
=== {{Śródtytuł|p.RozpatrywanieSzablonuObiektuDoNumeracji}}{{Code|p.RozpatrywanieSzablonuObiektuDoNumeracji}} ===
Funkcja, która uruchamia funkcję: {{LinkŚródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}, dla istniejącego uchwytu w postaci nazwanej o kluczu: {{Code|uchwyt}} {{Patrz|uchwyt}}, lub nienazwanej - w postaci numeru jego uchwytu o kluczu: {{Code|numer_numeracji}} {{Patrz|numer_numeracji}}, wsadzająca tabele z uchwytem na odpowiednią pozycję w odpowiedniej nazwanej tabeli o nazwie obiektu {{LinkPatrz|nazwa_obiektu}} w ogólnej tabeli: {{LinkPatrz|tablica_zmiennych}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}}- tabela parametrów szablonu,
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|numer_numeracji}} - jak w: {{LinkPatrz|numer_numeracji}},
* {{Code|tab_numer}} - jak w: {{LinkPatrz|tab_numer}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
== {{Śródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}{{Code|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}} ==
Funkcja sprawdza, czy dany artykuł należy do artykułów, któregoś spisu treści, a jeżeli nie, to dla stron, które nie należą do kategorii z ustawionym problemem {{Code|strony poza zakresem obsługiwanym}}, ale do nieaktualnej strony jest ustawiony problem {{Code|brak spisów treści do dołączonych stron}}. Natomiast dla aktualnej dla stron tej samej kategorii ustawiany jest problem {{Code|brak spisu treści do korzystanych stron}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== {{Śródtytuł|p.PusteParametryReferencji}}{{Code|p.PusteParametryReferencji}} ==
Funkcja sprawdza, jeśli są podane parametry szablonu stronicowego, które są w kategorii: {{lk|Szablony stronicowe}}, czyli: {{Code|nazwa_artykulu}}, ewentualnie: {{Code|nazwa_ksiazki}}, ale zawsze z: {{Code|uchwyt_obiektu}}, czy są one puste.
A jeżeli one istnieją i są takie, to są ustawione problemy typu, jeśli ich wcześniej nie ustawiono:
* {{Code|puste parametry szablonów stronicowych linkujących}} {{Patrz|puste parametry szablonów stronicowych linkujących}}, kolejno dla: {{Code|uchwyt_obiektu}}, {{Code|nazwa_artykulu}} i {{Code|nazwa_ksiazki}}, kolejno z numerami problemów: {{Code|1}}, {{Code|2}} i {{Code|3}}.
Dla obiektu o nazwie {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}.
{{Hr}}
Definicja skrótowa funkcji
<syntaxhighlight lang="lua">
function p.PusteParametryReferencji(self, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu)...end;
</syntaxhighlight>
Paraametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} {{Patrz|uchwyt_obiektu}} - uchwyt obiektu, podane w danym szablonie stronicowym,
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}}.
== {{Śródtytuł|p.SzablonyReferencjiParametrowych}}{{Code|p.SzablonyReferencjiParametrowych}} ==
Funkcja z parametrów pudełkowych nazwy artykułu {{ZobaczTeż|nazwa artykułu}}: {{Code|nazwa artykułu}} {{Patrz|nazwa artykułu}} albo {{Code|1}}, gdy bezuchwytowe lub {{Code|2}}, i pełnej nazwy książki {{ZobaczTeż|pełna nazwa strony}}: {{Code|nazwa książki}} {{Patrz|nazwa książki}} albo, {{Code|2}}, gdy bezuchwytowe lub {{Code|3}}. To wszystko jest liczone z: {{LinkPatrz|tabela_parametrow_szablonu}} lub przy użyciu parametru również {{Code|bezuchwytowe}} {{Patrz|bezuchwytowe}}, gdy mamy szablon stronicowy {{lk|Szablony stronicowe}}, bezuchwytowy, wtedy {{Code|true}}, przeciwnie {{Code|false/nil}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca,bezuchwytowe)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{Code|bezuchwytowe}} - jak w: {{LinkPatrz|bezuchwytowe}}.
Funkcja obie nazwy dekoduje funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a później jest liczony adres bezwzględny z względnego dzięki: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, przy pomocy podstawy {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}}, podobnie ale wcześniej jest liczona nazwa artykułu {{linkZobaczTeż|nazwa artykułu}}, czyli: {{LinkPatrz|nazwa_artykulu}}, ale tutaj adres względny jest liczony z podstawy o ciągu pustym jako drugi parametr.
Na podstawie pełnej nazwy książki {{LinkZobaczTeż|pełna nazwa strony}}: jest liczona bardziej jej wersja pełniejsza, jeżeli to jest w ogóle możliwe z: {{Code|{{sr|#p["PełnaNazwaStronicowejKsiążki"]|p=Książkowe}}}}. A póżniej z tego wszystkiego są liczone nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, przy pomocy funkcji nazw: {{Code|{{ld2|Nazwy}}}}.
Na samym końcu funkcji są zwracane parametry nazw, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
== Funkcje zbierania informacji ==
=== {{Śródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}{{Code|p.ZbieranieInformacjiStronyWoluminowychPozycji}} ===
Funkcja zbierania informacji na stronie dla szablonów stronicowych: {{lk|Szablony stronicowe}}, bezuchwytowych, gdy nie jest uruchomiony parametr: {{Code|czy_inna_wartosc_tekst}} {{Patrz|czy_inna_wartosc_tekst}}, wtedy jest wywoływana funkcja: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}, która liczy kolejne nazwy charaktertyzujące nazwy dla danego artykułu książki dla danej strony, przeciwnie parametry nazw są ściagane z: {{Code|tab_nazwy}} {{Patrz|tab_nazwy}}, ta tabela składa się numerowanych elementów, którymi są nazwy charakyteryzujące stronę.
Gdy jakaś nazwa artylułu strony została policzona, wtedy są liczone pozostałe nazwy z: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, a na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, a tuż przed nim, jeśli istnieje: {{Code|KtorySzablonMaZwracacKategorie}} {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,KtorySzablonMaZwracacKategorie,czy_inna_wartosc_tekst,tab_nazwy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_inna_wartosc_tekst}} - jak w: {{LinkPatrz|czy_inna_wartosc_tekst}},
* {{Code|tab_nazwy}} - jak w: {{LinkPatrz|tab_nazwy}}.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacji}}{{Code|p.ZbieranieKontenerowychInformacji}} ===
Funkcja do zbierania informacji, która z parametrów pudełkowych: {{Code|{{m|Pudełko}}}}, czyli: {{Code|nazwa przestrzeni nazw}} {{Patrz|nazwa przestrzeni nazw}} i {{Code|nazwa jednostki}} {{Patrz|nazwa jednostki}}, z nich są liczone parametry nazw charakteryzujące artykuł książki strony. A na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} {{Patrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,czy_szablon_pudelkowy_strony_zbiorczej,KtorySzablonMaZwracacKategorie)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} {{Patrz|czy_szablon_pudelkowy_strony_zbiorczej}} - funkcja potrzebna do funkcji zbierającej {{LinkPatrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, określającej, czy mamy szablon pudełkowy strony zbiorczej, taki jak: {{Code|{{s|StronaSubst}}}}, czy: {{Code|{{s|KsiążkaSubst}}}}, zobacz stronę: {{Code|{{lr2|Moduły/StronicowyParser/StronaSubst}}}},
* {{Code|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Gdy nie ma parametrów pudełkowych funkcja się natychmiast zakańcza, lub parametr: {{LinkPatrz|nazwa jednostki}}, jest pusta, lub nawet gdy zawierają kody wykrywane przez funkcję: {{Code|{{sr|#p.NormaWzoruKodowaniaTekstu|p=Szablonowe}}}}.
Z nazwy jednostki jest wydzielana nazwa jednostki właściwa bez nazwy nagłówka, póżniej obie nazwy są też dekodowane funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, czyli wszystko z: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}.
Z tych dwóch nazwy jest liczony adres, ewentualnie względny, który za pomocą funkcji: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, jest wyliczany adres bezwzględny.
Dalej są liczone nazwy charakteryzujące artykuł danej książki strony, czyli: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, z tego adresu strony.
Przedostatnia funkcja, która jest uruchamiana przed funkcją zbierającą jest: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}, jeśli istnieje.
=== {{Śródtytuł|p.ZbieranieKontenerowychInformacjiReferencji}}{{Code|p.ZbieranieKontenerowychInformacjiReferencji}} ===
Funkcja zbiera informacje o stronie. Na podstawie informacji o nazwie artykułu i pełnej nazwy książki liczy parametry nazw charakteryzujące artykuł, co na tej podstawiwe liczy parametry pudełkowe i wywołuje funkcję główną przez inną funkcję, też zbierającą, i zbiera informacje o artykule.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacjiReferencji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, jako parametry zwracane przez funkcję: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}. Funkcja wyznacza parametry pudełkowe {{m|Pudełko}}, tzn.: {{LinkPatrz|nazwa przestrzeni nazw}} i {{LinkPatrz|nazwa jednostki}}, na podstawie tych nazw. Funkcja na samym końcu wywołuje funkcję zbierającą dane ze strony: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}, która z kolei uruchamia potem: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
== {{Śródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}{{Code|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}} ==
Funkcja sprawdza niepoprawność nazwy strony i na podstawie tego ustawia pewne kody problemów.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,__FUNKCJA_SPRAWDZANIE)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|__FUNKCJA_SPRAWDZANIE}} {{Patrz|__FUNKCJA_SPRAWDZANIE}} - funkcja uruchamiana, jeśli jest ustawiona, na wypadek poprawności strony.
W przypadku niepoprawności strony, gdy strona modułu jest aktualna (bieżąca), wtedy sprawdzany jest kod problemu, czy jest ustawiony, tzn.: {{Code|nieprawidłowe nazwy korzystanych stron}}, przy pomocy funkcji: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli nie ma takiego, to wtedy jest uruchamiana funkcja: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}. Podobnie jest dla niekorzystanej strony, wtedy jest problem dla kodu: {{Code|nieprawidłowe nazwy stron dołączanych do stron}}.
== Zbieranie informacji o linkach ==
=== {{Śródtytuł|p.LinkowanieFinalizowaniePrac}}{{Code|p.LinkowanieFinalizowaniePrac}} ===
Funkcja wadza uchwyt obiektu, wsazujący na aktualną stronę, do pewnej strony, i ewentualnie ustawia pewne problemy, jeśli je nie ustawiono.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} {{Patrz|obiekt}} - obiekt, obsługiwany przez tą funkcję linku,
* {{Code|kod}} {{LinkPatrz|kod}} - kod obiektu dla: {{LinkPatrz|obiekt}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|tablica_analizy_obiektow_strony_dany_modul}} - jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}},
* {{Code|czy_pobierz}} {{Patrz|czy_pobierz}} - czy to jest szablon typu {{Code|Pobierz}} {{Patrz|Pobierz}}, jak: {{s|PobierzŚródtekst}}.
Funkcja sprawdza, czy nie został ustawiony element {{Code|tablica_zmiennych.sprawdzenie_dokonane_linku}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}, a jeżeli tak, to dalej, czy nie ma elementów numerowanych przy pomocy funkcji: {{Code|{{sr|#p["CzySąElementyNumerowaneTablicy"]|p=Parametry}}}}, a jeśli również tak, to dalej jest sprawdzane, czy został ustawiony problem: {{Code|strony poza zakresem obsługiwanym}}, przy pomocy: {{Code|{{sr|#p.CzyJestTakiElementTabeliProblemu|p=StronicowyParser/Problemy}}}}, a jeżeli nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}. Na samym końcu tej instrukcji warunkowej jest ustawiana prawdziwość elementu: {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}.
Dalej pod tą instrukcją warunkową, jest robione, co powiedziane zostało w prologu tego opisu tej funkcji, tzn. z wyznaczonej tablicy ze: {{LinkPatrz|tablica_zmiennych}}, a dalej z wyznaczonej następnej podtabeli o kluczu: {{LinkPatrz|nazwa_obiektu}}.
Następnie, gdy element: {{LinkPatrz|czy_pobierz}}, jest ustawiony na {{Code|true}}, wtedy dla {{LinkPatrz|uchwyt_obiektu}}, pewna tablica, jest wstawiana do tablicy: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}}, jeśli istnieje, a jeśli nie, to jest tworzona, jako tablica, wtedy też jest to robione. Tą czynnością wstawiany tabelę, do tej tablicy, czyli:
<syntaxhighlight lang="lua">
{{nazwa_obiektu,uchwyt_obiektu,},{obiekt,kod,},}
</syntaxhighlight>
=== {{Śródtytuł|p.LinkowanieInnychStron}}{{Code|p.LinkowanieInnychStron}} ===
Funkcja do sprawdzania innych stron niż aktualna, a jeżeli dana strona została już sprawdzona, to powtórnie nie jest już rewidowana. Funkcja ustawia w głównej tablicy aktualnej tabeli {{LinkPatrz|tablica_zmiennych}} pewne podtablice.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieInnychStron(self,obiekt,kod,tablica_zmiennych, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejo jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|uchwyt_obiektu}} - jak w: {{LinkPatrz|uchwyt_obiektu}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Najpierw jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, która w razie poprawności nazwy strony, czyli inaczej nazw tej strony, tzn.: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, uruchamia funkcję zdefiniowaną w nim.
{{Tab}}Ta funkcja sprawdza, czy któraś z parametrów nazw istnieje, a jeżeli nie, to dalej jest inicjowana zmienna: {{Code|tablica_zmiennych2}} {{Patrz|tablica_zmiennych2}} pustą tablicą i podobnie {{Code|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}} {{Patrz|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}}, to uruchamiana jest: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, do zbierania informacji o stronie nowej lub przebadanej (wtedy zostają zwrócone parametry z wczęsniejszego jego analizowania, jak była nowa). Funkcja zwraca trzy parametry, tzn. {{Code|tabela_listy_danych_analizy_ksiazki0}} {{Patrz|tabela_listy_danych_analizy_ksiazki0}}, {{LinkPatrz|tablica_zmiennych2}} i {{Code|czy_inna}} {{Patrz|czy_inna}}. Te parametry mogą przyjmować wartość {{Code|nil}}, lub pierwszy {{Code|0}}, drugi, to nic innego jest jak: {{LinkPatrz|tablica_zmiennych2}}, a trzeci parametr jest wtedy równy {{Code|true}}, gdy strona jest nowa, a {{Code|false}} aktualna, a gdy {{Code|nil}}, gdy np. zawartość strony nie istnieje.
Gdy parametr: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, istnieje, wtedy jest spraqdzane, czy któreś z parametrów: {{LinkPatrz|tablica_zmiennych2}} i {{LinkPatrz|czy_inna}}, nie istsnieje, wtedy ta funkcja się zakańcza.
==== {{Śródtytuł|JuzPoliczone}}{{Code|JuzPoliczone}} ====
Dla obiektów, dla których jest ustawiony parametr: {{LinkPatrz|czy_pobierz}}, co dalej w tym rozgałęzieniu instrukcji warunkiwej jest uruchamiana funkcja szablonów tekstu, czyli: {{Code|{{sr|#p.UstawianiePobierz|p=StronicowyParser/SzablonyTekstu}}}}, aby również później za pomocą innych funkcji przeanalizować również tekst w szablonach takich jak: {{s|Śródtekst}}.
Dalej jest tworzona tablica, jeśli nie istnieje, tzn. {{Code|tablica_zmiennych2.dane_juz_policzone}} {{Patrz|tablica_zmiennych2.dane_juz_policzone}}, czyli jest inicjowana pustą tablicą. Dalej jest tworzona, jeśli nie istnieje, tablica wielowymiarowa po kolei, o kluczach kolejno: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}, {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu}}, a jeżeli ta ostatnia wartość tej tablicy była wcześniej, to zwracane jest {{Code|true}}, przeciwnie {{Code|false}}, a tej ostatniej wartości tej tablicy jest przydzielana wartość {{Code|true}}.
==== Dalszy opis funkcji ====
Gdy parametr: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest równy {{Code|0}}, ale nie {{Code|nil}}, wtedy jest sprawdzane, czy artykuł został wcześniej zrewidowany według: {{LinkŚródtytuł|JuzPoliczone}}, a jeżeli tak to jest zakańczany, a gdy ten parametr taakiej wartośsci nie przyjmuje, wtedy tylko jest uruchamiana funkcja bez żadnego warunku.
{{Tab}}Następnie jest uruchamiana funkcja: {{Code|{{sr|#p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony|p=StronicowyParser/SzablonyTekstu}}}}, do przydzielenia pewnych zmiennych z {{LinkPatrz|tablica_zmiennych2}} tablicy {{LinkPatrz|tablica_zmiennych}}.
{{Tab}}Jest sprawdzane, czy dany artykuł należy do spisu, jeżeli nie to są ustawiane pewne kody problemów w tablicy problemów, tzn. {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}.
Dalej jest sprawdzane, czy podany uchwyt {{LinkPatrz|uchwyt_obiektu}}, który jest podany w szablonach linków na aktualnej stronie, czy jest tylko jeden na stronie sprawdzanej, a jeżeli nie jest tak, to jest sprawdzane, czy nie istnieje ustawiony problem: {{Code|błędy uchwytów korzystanych stron}}, funkcją: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to taki problem jest dodawany dzięki: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
{{Tab}}Uruchamiana jest dalej funkcja: {{LinkŚródtytuł|p.PusteParametryReferencji}}, do sprawdzania pustości pewnych parametrów.
{{Tab}}Gdy tabela: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest jednak równa wartości odpowiadającej fałszywej, wtedy jeśli nie istnieje problem: {{Code|błąd wewnętrzny modułu lua stronicowego parsera}}, co jest rewidowane elementem: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to dodawany jest taki problem do tabeli problemów na podstawie: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
=== {{Śródtytuł|p.GeneralneLinkowanie}}{{Code|p.GeneralneLinkowanie}} ===
Funkcja zbiera uchwyty, na aktualnej lub innej stronie, a także je analizuje w odpowiedni sposób, modyfikuje tablica aktualnego modułu, czyli: {{LinkPatrz|tablica_zmiennych}}, na podstawie poszczególnych artykułów tej książki lub innej, która zbiera raz informacje o danej stronie.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
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)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - jak w: {{LinkPatrz|self}},
* {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}},
* {{Code|kod}} - jak w: {{LinkPatrz|kod}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu}},
* {{Code|nazwa_obiektu}} - jak w: {{LinkPatrz|nazwa_obiektu}},
* {{Code|nazwa_modulu_aktualna_czy_biezaca}} - jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}},
* {{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|KtorySzablonMaZwracacKategorie}} - jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}},
* {{Code|czy_pobierz}} - jak w: {{LinkPatrz|czy_pobierz}}.
Funkcja wyznacza uchwyt z tabeli parametrów: {{LinkPatrz|tabela_parametrow_szablonu}}, o kluczu {{Code|uchwyt}} {{LinkPatrz|uchwyt}} lub {{Code|1}}, a później w kodzie jest on kompletowany funkcją: {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a następnie rozwijany w niej, a później jest dekodowany: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}.
Funkcja liczy nazwy: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}, wywołujac: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych}}.
Na samym końcu jest uruchamiana: {{LinkPatrz|KtorySzablonMaZwracacKategorie}} z parametrem o tym uchwycie, wyliczonym wcześniej.
Gdy uchwyt istnieje, ale jest pusty, wtedy uruchamia się: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony}}, następnie: {{LinkŚródtytuł|p.PusteParametryReferencji}}, a jeśli ta wartość nie istnieje, wtedy tylko ta ostatnia funkcja.
Gdy uchwyt: {{LinkPatrz|uchwyt}}, istnieje i jest niepusty, wtedy jest wyznaczana nazwa artykułu z niej samej, lub jeśli nazwa ksiązki istnieje, tylko, wtedy ta nazwa zaczyna być pusta, przeciwnie {{Code|nil}}, wtedy mamy do czynienia ze stroną główną podręcznika.
Gdy nazwa artykułu nie istnieje, wtedy wywoływana jest: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Jeśli nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest niepusta, i gdy nazwa książki nie istnieje, wtedy są liczone parametry nazw, oprócz nazwy artykułu, bo jest policzona, więc te {{ZobaczTeż|nazwy}}: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, z parametrów charakteryzujących nazwę aktualnego artykułu, a jeśli jednak nazwa książki jest pusta, to są sprawdzane parametry w: {{LinkŚródtytuł|p.PusteParametryReferencji}}.
Gdy nazwa artykułu {{LinkPatrz|nazwa_artykulu}} jest nieistnieje, i gdy nazwa książki {{LinkPatrz|nazwa_ksiazki}} jest niepusta, wtedy nazwa artykułu zaczyna istnieć i inicjujemy wtedy ją wartością pustą, a jeśli pusta, za zaczyna być potem generowanie kodów błędów funkcją {{LinkŚródtytuł|p.PusteParametryReferencji}}, by potem się zakończyła ta funkcja.
Przeciwnie są liczone parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, tą samą metodą, co w punkcie: {{LinkZobaczTeż|nazwy}}.
Gdy nazwy {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}} są porównywane z nazwami, którymi się przypisje jak w: {{LinkZobaczTeż|nazwy}}, wtedy uruchamiamy funkcję: {{LinkŚródtytuł|p.LinkowanieInnychStron}}, przeciwnie wtedy działają dwie funkcje uruchomione po kolei, tzn.: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji}}.
== {{Śródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}{{Code|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} ==
Funkcja służy do zbierania informacji o danej analizowanej stronie, którego główną częścią jest strona korzystana, w której gromadzą się informacji też z pozostałych.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, czy_artykul_korzystany,tablica_zmiennych,czy_szablon_pudelkowy_strony_zbiorczej)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|self}} - {{LinkPatrz|self}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}},
* {{Code|czy_artykul_korzystany}} - jak w: {{LinkPatrz|czy_artykul_korzystany}},
* {{Code|tablica_zmiennych}} - jak w: {{LinkPatrz|tablica_zmiennych}},
* {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} - jak w: {{LinkPatrz|czy_szablon_pudelkowy_strony_zbiorczej}}.
=== {{Śródtytuł|__FUNKCJA_ARTYKULU}}{{Code|__FUNKCJA_ARTYKULU}} ===
Funkcja do tworzenia tabeli artykułów z innymi parametrami wielowymiarowej tej tabeli, a jeżeli owe pośrednie, i nie tylko, istnieją, to te tabele są zwracane lub nowo są tworzone.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji {{ZobaczTeż|parametry artykułu}}:
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}},
* {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu}} - nazwa artykułu w książce, bez pełnej nazwy książki.
Poniżej są tworzone podtabele puste, jeśli nie zostały utworzone.
Funkcja, która w tabeli: {{Code|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}} {{Patrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, która istnieje, tworzy tabele trójwymiarową kolejno po prarametrach: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, te tabele pośrednie śą wtedy tworzone, jeśsli nie istnieją, a gdy istnieją to nie są tworzone, tylko funkcja przechodzi do dalszych.
Dalej tworzona jest podtabela, jeśli nie istnieje o nazwie {{Code|lista_podstron_woluminu}} {{Patrz|lista_podstron_woluminu}}.
Następnie generowana jest podtabela, jeśli nie istnieje, o kluczu: {{LinkPatrz|nazwa_artykulu}}.
Funkcja zwraca kolejno elementy, jeśli klucz: {{LinkPatrz|nazwa_artykulu}}, istnieje, zatem:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany;
</syntaxhighlight>
Przeciwnie zwracany jest zbiór zmiennych po kolei:
<syntaxhighlight lang="lua">
return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki;
</syntaxhighlight>
Co to są za zmienne, wiadomo z ich nazw, po prostu są to pewne pośrednie, i nie tylko, tabele.
=== {{Śródtytuł|__FUNKCJA_POBIERANIE}}{{Code|__FUNKCJA_POBIERANIE}} ===
Funkcja zwraca parametry strony aktualnej, analizowanej jeszcze raz, aby ją nie powtórnie rewidować, lub podobnie dla innego artykułu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_POBIERANIE(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji są takie same jak w punkcie {{LinkZobaczTeż|parametry artykułu}}.
{{Tab}}Analiza dla artykułów niekorzystanych według parametru: {{LinkPatrz|czy_artykul_korzystany}}:
Dla jeszcze raz analizowanego artykułui aktualnego zwracane są parametry:
<syntaxhighlight lang="lua">
return 0,nil,nil,nil,nil,nil,self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron,false;
</syntaxhighlight>
Tabela: {{Code|self.tabela_listy_danych_analizy_ksiazki.dane_zebrane_ze_stron}}, tam są dane zebrane z aktualnego artykułu.
Dla innej takiej strony jest tworzony parametr, jeżeli jest włączona analiza, dla klucza: {{Code|analiza_spis_tresci}} {{Patrz|analiza_spis_tresci}}, według tego jest tworzony wartością prawdziwą parametr o innym znów kluczu: {{Code|analiza_spis_tresci_doloczone}} {{Patrz|analiza_spis_tresci_doloczone}}:
<syntaxhighlight lang="lua">
if(self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci)then
self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=true;
end;
</syntaxhighlight>
Dla elementu: {{LinkPatrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, jeżeli dany artykuł był już rewidowany, to zwracane są elementy:
<syntaxhighlight lang="lua">
return 0,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni,dane_zebrane_ze_stron,true;
</syntaxhighlight>
To: {{Code|dane_zebrane_ze_stron}} {{Patrz|dane_zebrane_ze_stron}}, to podtabela: {{LinkPatrz|lista_podstron_woluminu}}, z kluczem: {{LinkPatrz|nazwa_artykulu}}, o nazwie takiej samej jak ten parametr zwracany.
Przeciwnie jest zwracane: {{Code|true}}, lub {{Code|nil}}, jeśli tabela: {{Code|self.tabela_listy_danych_analizy_ksiazki}} {{Patrz|self.tabela_listy_danych_analizy_ksiazki}}, lub podtatela: {{LinkPatrz|self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron}}, nie istnieje.
=== {{Śródtytuł|InneInformacjePrzebneDoAnalizowanejKsiazki}}{{Code|InneInformacjePrzebneDoAnalizowanejKsiazki}} ===
Funkcja do zbierania informacji o spisie artykułów książkowych i ich licencjach oraz ewentualnie zebrane informacje ze stron: {{lk2|Szablony nawigacyjne układu autonawigacji do autonawigacji podręczników}}, z szablonu, w któreś tej pozycji w: {{s|Układ autonawigacji}}, i ze spisów podanej w niej jako parametry.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function InneInformacjePrzebneDoAnalizowanejKsiazki()...end;
</syntaxhighlight>
Parametry funkcji:
* brak.
==== {{Śródtytuł|__FUNKCJA_SPISU}}{{Code|__FUNKCJA_SPISU}} ====
Funkcja do inicjowania parametrów spisu, aktualnego artykułu, uzyskanych z ich analizy.
Definicja skrotowa funkcji:
<syntaxhighlight lang="lua">
local function __FUNKCJA_SPISU(tablica_ksiazki,czy_podac_adres)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tablica_ksiazki}} {{Patrz|tablica_ksiazki}} - tablica dla analizowanej książki,
* {{Code|czy_podac_adres}} {{Patrz|czy_podac_adres}} - czy podać adres bazowego woluminu.
Tablicy: {{linkPatrz|tablica_ksiazki}}, jest inicjowany element: {{Code|spis}} {{Patrz|spis}}, tabelą: {{Code|tabela_artykulow}} {{Patrz|tabela_artykulow}}.
Gdy: {{LinkPatrz|czy_artykul_korzystany}}, jest wartością fałszywą, to iniciowaną tablicy: {{LinkPatrz|tablica_ksiazki}}, jest parametr o kluczu: {{Code|licencja}} {{Patrz|licencja}}, tabelą: {{Code|tabela_licencji_spisu_tresci}} {{Patrz|tabela_licencji_spisu_tresci}}.
Dalej kolejno elementy: {{Code|nazwa_bazowego_spisu}} {{Patrz|nazwa_bazowego_spisu}}, {{Code|tab_inne_spisy}} {{Patrz|tab_inne_spisy}} i {{Code|dodatkowe_strony_woluminu}}, tabeli: {{LinkPatrz|tablica_ksiazki}}, i inicjowane są tabelami o takich samych nazwach jak te klucze dwa, a ostatni tabelą: {{Code|dodatkowe_artykuly}} {{Patrz|dodatkowe_artykuly}}.
Dla tabeli: {{LinkPatrz|tablica_ksiazki}}, o kluczu w nim {{Code|adres_woluminu_bazowego_spisu_rzeczy}}, ona jest przyrównywana wartością: {{Code|adres_ksiazki_glownego_spisu_tresci}} {{Patrz|adres_ksiazki_glownego_spisu_tresci}}, jeśli istnieje: {{LinkPatrz|czy_podac_adres}}, lub przeciwnie wartością {{Code|nil}}.
==== Dalszy opis funkcji - etap I ====
Jeżeli dla aktualnego artykułu dla książki nie ustawiono kodu: {{Code|strony poza zakresem obsługiwanym}}, wtedy są analizowane elementy opisane w nagłówku opisywanej funkcji, pod warunkiem, jeżeli istnieją parametry nazw książki: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}.
Gdy artykuł jest analizowany, wtedy parametr: {{LinkPatrz|czy_artykul_korzystany}}, wtedy jest przy istnieniu: {{Code|self.tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|self.tabela_listy_danych_analizy_ksiazki}}, jest ustawiany w nim element: {{Code|CzyArtykułKsiążki}} {{Patrz|CzyArtykułKsiążki}}, z wartością na {{Code|tak}}.
Gdy już spis jeszcze nie analizowano, a jeżeli juz został zanalizowany, to sprawdzany jest: {{Code|czy_spis_analizowano}}, tablicy: {{LinkPatrz|tablica_ksiazki}}.
A jeśli jednak spisy książki nie zostały sprawdzone i sparsowane, wtedy uruchamia się następne rozgałęzienie pętli.
Uruchamia się dalej funkcja: {{Code|{{sr|#p.ZbieranieInformacjiSpisuRzeczyWoluminuEwentualnieWedleAutonawigacji|p=StronicowyParser/SpisTreści}}}}, w nim są uruchamiane w pewien sposób dwie funkcje.
===== {{Code|p.ZbieranieInformacjiSpisuRzeczyWoluminuEwentualnieWedleAutonawigacji}} =====
Ta funkcja służy do parsowania spisów i innych omówionych elementów książki danego artykułu.
====== Pierwsza anonimowa funkcja ======
Dla analizowanej pierwszej funkcji, ona jest uruchamiana, wtedy kiedy zostały zebrane wszystkie informacje ze spisów, wtedy dla elementu: {{Code|tablica_ksiazki_strona}} {{Patrz|tablica_ksiazki_strona}}, sprawdzane, czy jego element {{LinkPatrz|spis}} istnieje, jeśli istnieje, zatem elementy z: {{Code|_strona_temp}}, inicjujemy tymi z: {{Code|_strona}}, z elementów zmiennych (parametrów) tej funkcji, w takim razie inicjujemy inne jego podelementy, tzn.: {{Code|spis}} {{LinkPatrz|spis}}, {{Code|licencja}} {{LinkPatrz|licencja}}, {{Code|nazwa_bazowego_spisu}} {{LinkPatrz|nazwa_bazowego_spisu}}, {{Code|tab_inne_spisy}} {{LinkPatrz|tab_inne_spisy}}, {{Code|dodatkowe_strony_woluminu}} {{Patrz|dodatkowe_strony_woluminu}} i {{Code|adres_woluminu_bazowego_spisu_rzeczy}} {{Patrz|adres_woluminu_bazowego_spisu_rzeczy}}, elementu: {{LinkPatrz|tablica_ksiazki}}, tymi saamymi elementami, ale dla innej strony, tzn.: {{Code|tablica_ksiazki_strona}} {{LinkPatrz|tablica_ksiazki_strona}}.
Też jest inicjowany element tej pierwszej zmiennej książkowej o kluczu: {{Code|referencja_do_nowej_formy_spisu}} {{Patrz|referencja_do_nowej_formy_spisu}}, według:
<syntaxhighlight lang="lua">
tablica_ksiazki.referencja_do_nowej_formy_spisu={tablica_przestrzeni_strona,tablica_przestrzeni_ksiazki_strona,tablica_ksiazki_strona,};
</syntaxhighlight>
Funkcja wtedy zwróci wartość: {{Code|1}}, a w innych przeciwnych wypadkach ta funkcja nic nie zwraca.
====== Druga anonimowa funkcji ======
Ta funkcja działa, gdy parametry strony, tzn.: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, są równe podobnym parametrom z: {{Code|_ref_spis}}, z parametrów tej funkcji, tzn. czy spis jest analizowanym korzystanym artykułem. Ta funkcja słuzy do tego, aby nie analizować dwa razy tego samego spisu, raz jako spis, a za innym razem jako artykuł z uchwytami.
Ta funkcja kopiuje dokładnie elementy z: {{Code|_ref_spis}}, temu z: {{Code|_ref}}, te elementy, to nic innego jak: {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}}, {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}} i {{Code|tablica_danych_parametrow_szablonu_strony}} {{LinkPatrz|tablica_danych_parametrow_szablonu_strony}}, czyli tworzymy elementy takie: {{Code|tekst_rozwiniety_calego_artykulu_ref}} {{Patrz|tekst_rozwiniety_calego_artykulu_ref}}, {{Code|tablica_analizy_obiektow_strony_dany_modul_ref}} {{Patrz|tablica_analizy_obiektow_strony_dany_modul_ref}} i {{Code|tablica_danych_parametrow_szablonu_strony_ref}} {{Patrz|tablica_danych_parametrow_szablonu_strony_ref}}.
==== Dalszy opis funkcji - etap II ====
=== {{Śródtytuł|PrzekierownieAwaryjne}}{{Code|PrzekierownieAwaryjne}} ===
=== {{Śródtytuł|StronaZbiorcza}}{{Code|StronaZbiorcza}} ===
=== {{Śródtytuł|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}}{{Code|AnalizaParametrowaOrazNazwowaStronicowegoIteratoraSzablonowego}} ===
=== {{Śródtytuł|GeneralnaAnalizaSzablonuStronicowegoParsera}}{{Code|GeneralnaAnalizaSzablonuStronicowegoParsera}} ===
=== {{Śródtytuł|IterowaniePoElementachTekstu}}{{Code|IterowaniePoElementachTekstu}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieNaglowek}}{{Code|KtorySzablonMaZwracacKategorieNaglowek}} ===
=== {{Śródtytuł|KtorySzablonMaZwracacKategorieTekst}}{{Code|KtorySzablonMaZwracacKategorieTekst}} ===
=== {{Śródtytuł|CzyJestTakiProblemJakoElementTablicy}}{{Code|CzyJestTakiProblemJakoElementTablicy}} ===
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
oahdp6zm6sgu3hs6m2k7p50s1reyd24