Przejdź do zawartości

Moduł:HistoriaSztabu: Różnice pomiędzy wersjami

Z Encyklopedia Poznanskiego Sportu
Utworzono nową stronę "local p = {} -- ========================================================= -- Moduł: HistoriaSztabu -- -- Historia kariery członka sztabu: -- - Trener -- - II trener -- - Asystent -- -- Dla każdej roli: -- - wszystkie mecze -- - zwycięstwa -- - porażki -- - remisy -- - % wygranych -- - dom / wyjazd -- - podsumowanie sezonów -- - podsumowanie klubów -- - numerowana lista spotkań -- - jubileusze 50 / 100 / 150 / ... -- -- Dane: --…"
 
Nie podano opisu zmian
 
Linia 9: Linia 9:
--  - Asystent
--  - Asystent
--
--
-- Dla każdej roli:
-- UWAGA:
--   - wszystkie mecze
-- Historia obejmuje WYŁĄCZNIE mecze, w których osoba
--   - zwycięstwa
-- była członkiem sztabu jednego z klubów poznańskich
--   - porażki
-- znajdujących się na poniższej liście.
--   - remisy
--
--   - % wygranych
-- Jeżeli np. trener prowadzi Resovię przeciwko Enei
--   - dom / wyjazd
-- Basket Poznań, ten mecz NIE zostanie pokazany
--   - podsumowanie sezonów
-- w jego historii.
--   - podsumowanie klubów
--
--   - numerowana lista spotkań
-- Jeżeli natomiast prowadzi Enea Basket Poznań
--   - jubileusze 50 / 100 / 150 / ...
-- przeciwko Resovii, mecz ZOSTANIE pokazany.
--
--
-- Dane:
-- Dane:
Linia 28: Linia 28:


function p.main(frame)
function p.main(frame)
    -- =====================================================
    -- KLUBY POZNAŃSKIE
    -- =====================================================
    local druzynyPoznanskie = {
        ["Enea Basket Poznań"] = true,
        ["Enea AZS Politechnika Poznań"] = true,
        ["Lech Poznań"] = true,
        ["Warta Poznań"] = true,
        ["AZS Politechnika Poznań"] = true,
        ["MUKS Poznań"] = true
    }


     -- =====================================================
     -- =====================================================
Linia 36: Linia 57:


     if not osoba or osoba == "" then
     if not osoba or osoba == "" then
         osoba = mw.title.getCurrentTitle().text
 
         osoba =
            mw.title.getCurrentTitle().text
 
     end
     end


     local osobaSQL =
     local osobaSQL =
Linia 54: Linia 79:


         "SztabMeczu.mecz=mecz",
         "SztabMeczu.mecz=mecz",
         "SztabMeczu.druzyna=druzyna",
         "SztabMeczu.druzyna=druzyna",
         "SztabMeczu.rola=rola",
         "SztabMeczu.rola=rola",


         "Mecze.data=data",
         "Mecze.data=data",
         "Mecze.sezon=sezon",
         "Mecze.sezon=sezon",
         "Mecze.druzyna1=druzyna1",
         "Mecze.druzyna1=druzyna1",
         "Mecze.druzyna2=druzyna2",
         "Mecze.druzyna2=druzyna2",
         "Mecze.gole1=gole1",
         "Mecze.gole1=gole1",
         "Mecze.gole2=gole2",
         "Mecze.gole2=gole2",
         "Mecze.wynik=wynik",
         "Mecze.wynik=wynik",
         "Mecze.strona_meczu=strona_meczu"
         "Mecze.strona_meczu=strona_meczu"


Linia 93: Linia 127:
             args
             args
         )
         )
    -- =====================================================
    -- FILTR KLUBÓW POZNAŃSKICH
    --
    -- Bierzemy pod uwagę tylko drużynę, dla której
    -- dana osoba była członkiem sztabu.
    --
    -- NIE sprawdzamy tutaj przeciwnika.
    -- =====================================================
    local tylkoPoznanskie = {}
    if rows then
        for _, row in ipairs(rows) do
            local druzyna =
                row.druzyna or ""
            if druzynyPoznanskie[druzyna] then
                table.insert(
                    tylkoPoznanskie,
                    row
                )
            end
        end
    end
    rows =
        tylkoPoznanskie




Linia 102: Linia 174:


         return
         return
             "''Brak wprowadzonych spotkań sztabowych w bazie.''"
             "''Brak wprowadzonych spotkań sztabowych dla poznańskich klubów w bazie.''"


     end
     end
Linia 114: Linia 186:


         if value == nil or value == "" then
         if value == nil or value == "" then
             return 0
             return 0
         end
         end


         value = tostring(value)
 
         value =
            tostring(value)
 


         value =
         value =
Linia 125: Linia 202:
                 ""
                 ""
             )
             )


         return tonumber(value) or 0
         return tonumber(value) or 0
Linia 169: Linia 247:


         if druzyna == d1 then
         if druzyna == d1 then
             return "dom"
             return "dom"
         end
         end


         if druzyna == d2 then
         if druzyna == d2 then
             return "wyjazd"
             return "wyjazd"
         end
         end


         return nil
         return nil
Linia 198: Linia 282:


         local g1 =
         local g1 =
             tonumber(row.gole1 or "")
             tonumber(
                row.gole1 or ""
            )


         local g2 =
         local g2 =
             tonumber(row.gole2 or "")
             tonumber(
                row.gole2 or ""
            )




Linia 208: Linia 296:
             local wynik =
             local wynik =
                 row.wynik or ""
                 row.wynik or ""


             local a, b =
             local a, b =
Linia 213: Linia 302:
                     "(%d+)%s*:%s*(%d+)"
                     "(%d+)%s*:%s*(%d+)"
                 )
                 )


             if not a or not b then
             if not a or not b then
                 return nil
                 return nil
             end
             end


             g1 =
             g1 =
Linia 230: Linia 323:


             if g1 > g2 then
             if g1 > g2 then
                 return "W"
                 return "W"
             elseif g1 < g2 then
             elseif g1 < g2 then
                 return "P"
                 return "P"
             else
             else
                 return "R"
                 return "R"
             end
             end


         elseif druzyna == d2 then
         elseif druzyna == d2 then


             if g2 > g1 then
             if g2 > g1 then
                 return "W"
                 return "W"
             elseif g2 < g1 then
             elseif g2 < g1 then
                 return "P"
                 return "P"
             else
             else
                 return "R"
                 return "R"
             end
             end


Linia 262: Linia 368:


         if not stat or stat.mecze == 0 then
         if not stat or stat.mecze == 0 then
             return "0,0%"
             return "0,0%"
         end
         end


Linia 286: Linia 394:
     -- NAZWA MECZU
     -- NAZWA MECZU
     --
     --
     -- WAŻNE:
     -- GOSPODARZ – GOŚĆ
    -- gospodarze zawsze są pierwsi.
     -- =====================================================
     -- =====================================================


Linia 336: Linia 443:
         local rola =
         local rola =
             row.rola or ""
             row.rola or ""


         if rola == "" then
         if rola == "" then
             rola = "Brak określonej roli"
 
             rola =
                "Brak określonej roli"
 
         end
         end


Linia 348: Linia 459:
                 mecze = {},
                 mecze = {},


                 suma = nowePodsumowanie(),
                 suma =
                    nowePodsumowanie(),


                 dom = nowePodsumowanie(),
                 dom =
                    nowePodsumowanie(),


                 wyjazd = nowePodsumowanie(),
                 wyjazd =
                    nowePodsumowanie(),


                 sezony = {},
                 sezony = {},
Linia 378: Linia 492:


         "Trener",
         "Trener",
         "II trener",
         "II trener",
         "Asystent"
         "Asystent"


Linia 384: Linia 500:




     -- dodajemy również ewentualne inne role
     -- =====================================================
    -- DODANIE EWENTUALNYCH INNYCH RÓL
    -- =====================================================


     for rola, _ in pairs(role) do
     for rola, _ in pairs(role) do


         local znaleziono = false
         local znaleziono =
            false
 


         for _, r in ipairs(kolejnoscRol) do
         for _, r in ipairs(kolejnoscRol) do


             if r == rola then
             if r == rola then
                 znaleziono = true
 
                 znaleziono =
                    true
 
                 break
                 break
             end
             end


Linia 420: Linia 544:
         local dane =
         local dane =
             role[rola]
             role[rola]


         if dane then
         if dane then
Linia 427: Linia 552:
                 local wynik =
                 local wynik =
                     okreslWynik(row)
                     okreslWynik(row)


                 local miejsce =
                 local miejsce =
Linia 444: Linia 570:
                     dane.suma.zwyciestwa =
                     dane.suma.zwyciestwa =
                         dane.suma.zwyciestwa + 1
                         dane.suma.zwyciestwa + 1


                 elseif wynik == "P" then
                 elseif wynik == "P" then
Linia 449: Linia 576:
                     dane.suma.porazki =
                     dane.suma.porazki =
                         dane.suma.porazki + 1
                         dane.suma.porazki + 1


                 elseif wynik == "R" then
                 elseif wynik == "R" then
Linia 466: Linia 594:
                     dane.dom.mecze =
                     dane.dom.mecze =
                         dane.dom.mecze + 1
                         dane.dom.mecze + 1


                     if wynik == "W" then
                     if wynik == "W" then
Linia 471: Linia 600:
                         dane.dom.zwyciestwa =
                         dane.dom.zwyciestwa =
                             dane.dom.zwyciestwa + 1
                             dane.dom.zwyciestwa + 1


                     elseif wynik == "P" then
                     elseif wynik == "P" then
Linia 476: Linia 606:
                         dane.dom.porazki =
                         dane.dom.porazki =
                             dane.dom.porazki + 1
                             dane.dom.porazki + 1


                     elseif wynik == "R" then
                     elseif wynik == "R" then
Linia 489: Linia 620:
                     dane.wyjazd.mecze =
                     dane.wyjazd.mecze =
                         dane.wyjazd.mecze + 1
                         dane.wyjazd.mecze + 1


                     if wynik == "W" then
                     if wynik == "W" then
Linia 494: Linia 626:
                         dane.wyjazd.zwyciestwa =
                         dane.wyjazd.zwyciestwa =
                             dane.wyjazd.zwyciestwa + 1
                             dane.wyjazd.zwyciestwa + 1


                     elseif wynik == "P" then
                     elseif wynik == "P" then
Linia 499: Linia 632:
                         dane.wyjazd.porazki =
                         dane.wyjazd.porazki =
                             dane.wyjazd.porazki + 1
                             dane.wyjazd.porazki + 1


                     elseif wynik == "R" then
                     elseif wynik == "R" then
Linia 516: Linia 650:
                 local sezon =
                 local sezon =
                     row.sezon or ""
                     row.sezon or ""


                 if sezon == "" then
                 if sezon == "" then
                     sezon = "Brak sezonu"
 
                     sezon =
                        "Brak sezonu"
 
                 end
                 end


Linia 542: Linia 680:
                     sezonStat.zwyciestwa =
                     sezonStat.zwyciestwa =
                         sezonStat.zwyciestwa + 1
                         sezonStat.zwyciestwa + 1


                 elseif wynik == "P" then
                 elseif wynik == "P" then
Linia 547: Linia 686:
                     sezonStat.porazki =
                     sezonStat.porazki =
                         sezonStat.porazki + 1
                         sezonStat.porazki + 1


                 elseif wynik == "R" then
                 elseif wynik == "R" then
Linia 562: Linia 702:
                 local klub =
                 local klub =
                     row.druzyna or ""
                     row.druzyna or ""


                 if klub == "" then
                 if klub == "" then
                     klub = "Brak klubu"
 
                     klub =
                        "Brak klubu"
 
                 end
                 end


Linia 588: Linia 732:
                     klubStat.zwyciestwa =
                     klubStat.zwyciestwa =
                         klubStat.zwyciestwa + 1
                         klubStat.zwyciestwa + 1


                 elseif wynik == "P" then
                 elseif wynik == "P" then
Linia 593: Linia 738:
                     klubStat.porazki =
                     klubStat.porazki =
                         klubStat.porazki + 1
                         klubStat.porazki + 1


                 elseif wynik == "R" then
                 elseif wynik == "R" then
Linia 615: Linia 761:


         local lista = {}
         local lista = {}


         for sezon, _ in pairs(sezony) do
         for sezon, _ in pairs(sezony) do
Linia 648: Linia 795:


         local lista = {}
         local lista = {}


         for klub, _ in pairs(kluby) do
         for klub, _ in pairs(kluby) do
Linia 701: Linia 849:
         local dane =
         local dane =
             role[rola]
             role[rola]


         if dane then
         if dane then
Linia 754: Linia 903:
                 "|-"
                 "|-"
             )
             )


             table.insert(
             table.insert(
Linia 759: Linia 909:
                 "! Mecze"
                 "! Mecze"
             )
             )


             table.insert(
             table.insert(
Linia 766: Linia 917:
                 "'''"
                 "'''"
             )
             )


             table.insert(
             table.insert(
Linia 773: Linia 925:
                 "'''"
                 "'''"
             )
             )