More Info
KPOP Image Download
  • Top University
  • Top Anime
  • Home Design
  • Top Legend



  1. ENSIKLOPEDIA
  2. Modul:Csdcheck - Wikipedia bahasa Indonesia, ensiklopedia bebas
Modul:Csdcheck - Wikipedia bahasa Indonesia, ensiklopedia bebas

Modul:Csdcheck

  • العربية
  • مصرى
  • भोजपुरी
  • বাংলা
  • کوردی
  • English
  • فارسی
  • Qaraqalpaqsha
  • ಕನ್ನಡ
  • മലയാളം
  • Bahasa Melayu
  • မြန်မာဘာသာ
  • တႆး
  • اردو
  • Tiếng Việt
Sunting pranala
  • Module
  • Pembicaraan
  • Baca
  • Lihat sumber
  • Lihat riwayat
Perkakas
Tindakan
  • Baca
  • Lihat sumber
  • Lihat riwayat
Umum
  • Pranala balik
  • Perubahan terkait
  • Pranala permanen
  • Informasi halaman
  • Lihat URL pendek
  • Unduh kode QR
Cetak/ekspor
  • Unduh sebagai PDF
  • Versi cetak
Dalam proyek lain
  • Butir di Wikidata
Tampilan
Halaman yang dilindungi
Dari Wikipedia bahasa Indonesia, ensiklopedia bebas
Dokumentasi modul[lihat] [sunting] [riwayat] [segarkan]
DiproteksiModul ini dilindungi. Modul ini sangat mencolok yang digunakan oleh banyak halaman, atau sangat sering disubstitusikan. Karena vandalisme atau kesalahan akan mempengaruhi banyak halaman, dan suntingan kecil dapat memberi beban besar pada server, modul ini dilindungi dari penyuntingan.
Dokumentasi di atas ditransklusikan dari Modul:Csdcheck/doc. (sunting | riwayat)
Penyunting dapat melakukan uji coba pada halaman bak pasir (buat | cermin) dan kasus uji (buat) modul ini.
Subhalaman modul ini.

--
-- This module checks whether any of a given set of input criteria are valid CSD criteria.
-- It is also possible to specify pre-defined or custom sets of CSD criteria to check against.
--

local p = {}

function critMatch(s,test_values) -- returns true if s matches one of the table of test_values
    if type(test_values) == "table" then
        for n,value in ipairs(test_values) do
           if s == value then
               return true
           end
        end
    else
        error("the second parameter passed to critMatch() must be a table",2)
    end
end

function p.check(frame) -- the main CSD check function

    -- get arguments
    local args;
    if frame == mw.getCurrentFrame() then
        -- We're being called via #invoke. If the invoking template passed any args, use
        -- them. Otherwise, use the args that were passed into the template.
        args = frame:getParent().args;
        for k, v in pairs(frame.args) do
            args = frame.args;
            break
        end
    else
        -- We're being called from another module or from the debug console, so assume
        -- the args are passed in directly.
        args = frame;
    end

    -- define variables
    local input_values = {};
    local test_criteria = {};
    local all_criteria = { -- all valid CSD criteria
        "U1" , "U2" , "U3" , "U4" , "U5" , "U6" , "U7" , "U8" , "U9" , "U10" , "U11" , "U12" , "U13" , "U14" ,
        "A1" , "A2" , "A3" , "A5" , "A7" , "A9" , "A10" , "A11",
        "B1" , "B2" , "B3" , "B4" , "B5" , "B6" , "B7" , "B8" , "B9" , "B10" , "B11" ,
        "K1" , "K2" ,
        "H1" , "H2" , "H3" , "H5" ,
        "R2" , "R3" , "R4" ,
        "P1" , "P2"
    };
    local tag_criteria = { -- all CSD criteria used by [[Template:Db-multiple]]
        "U1" , "U2" , "U3" , "U4" , "U5" , "U6" , "U7" , "U8" , "U10" , "U11" , "U12" , "U13" , "U14" ,
        "A1" , "A2" , "A3" , "A5" , "A7" , "A9" , "A10" , "A11",
        "B1" , "B2" , "B3" , "B7" , "B8" , "B9" , "B10" ,
        "K1" ,
        "H1" , "H2" , "H3" , "H5" ,
        "R2" , "R3" , "R4" ,
        "P1" , "P2"
    };
    local notice_criteria = { -- all CSD criteria used by [[Template:Db-notice-multiple]]
        "U1" , "U2" , "U3" , "U4" , "U10" , "U11" , "U12" , "U13" , "U14" ,
        "A1" , "A2" , "A3" , "A5" , "A7" , "A9" , "A10" , "A11",
        "B1" , "B2" , "B3" , "B7" , "B9" , "B10" ,
        "K1" ,
        "H3" , "H5" ,
        "R2" , "R3" , "R4" ,
        "P1" , "P2"
    };

    -- build tables of input values and test criteria
    for k,v in pairs(args) do
        v = mw.ustring.upper(v);

        -- insert positional parameter values into input_values
        if type(k) == "number" then
            v = mw.ustring.gsub(v,"^%s*(.-)%s*$","%1"); -- strip whitespace from positional parameters
            table.insert(input_values,v)

        -- insert critn parameter values into test_criteria
        elseif mw.ustring.match(k,"^crit[1-9]%d*$") then
            if critMatch(v,all_criteria) then -- check to make sure the criteria are valid
                table.insert(test_criteria,v)
            end
        end
    end

    -- work out which set of CSD criteria to check against
    local criteria_set = {}
    if next(test_criteria) then -- if any test criteria are specified, use those regardless of the "set" parameter
        criteria_set = test_criteria;
    elseif args["set"] == "tag" then
        criteria_set = tag_criteria;
    elseif args["set"] == "notice" then
        criteria_set = notice_criteria;
    else
        criteria_set = all_criteria;
    end

    -- check the input values against the criteria set and output "yes" if there is a match
    for i,v in ipairs(input_values) do
        if critMatch(v,criteria_set) then
            return "yes"
        end
    end
end

return p
Diperoleh dari "https://id.wikipedia.org/w/index.php?title=Modul:Csdcheck&oldid=19053316"
Kategori:
  • Modul yang dilindungi
Kategori tersembunyi:
  • Halaman Wikipedia yang dilindungi penuh

Best Rank
More Recommended Articles