Module:Guidance: Difference between revisions

Jump to navigation Jump to search
no edit summary
imported>Camenati
(Undo revision 621661 by Camenati (talk))
imported>Camenati
No edit summary
Line 2: Line 2:


r = { --keyword, short name, formatted name, severity
r = { --keyword, short name, formatted name, severity
{ "flashing",
    { "flashing", "flashing images", "[[:wikipedia:photosensitive epilepsy|flashing images]]", 1 },
"flashing images",
    { "graphic", "graphic violence", "graphic violence or gore", 2 },
"[[:wikipedia:photosensitive epilepsy|flashing images]]",
    { "jumpscare", "a jump scare", "a [[:wikipedia:jump scare|jump scare]]", 1 },
1,
    { "nudity", "nudity", "nudity", 2 },
},
    { "sex", "sexual activity", "sexual activity", 2 },
{ "graphic",
    { "language", "strong language", "strong language", 2 }
"graphic violence",
"graphic violence or gore",
2,
},
{ "jumpscare",
"a jump scare",
"a [[:wikipedia:jump scare|jump scare]]",
1,
},
{ "nudity",
"nudity",
"nudity",
2,
},
{ "sex",
"sexual activity",
"sexual activity",
2,
},
{
"language",
"strong language",
"strong language",
2,
}
}
}
ri = 6
ri = 6


function p.reasons(frame)
function p.reasons(frame)
for i = ri,1,-1 do
    for i = ri, 1, -1 do
if string.find(frame.args[1],r[i][1]) then
        if string.find(frame.args[1], r[i][1]) then
if ro == nil then
            if ro == nil then
ro = r[i][3]
                ro = r[i][3]
elseif string.find(ro,", and ") then
            elseif string.find(ro, ", and ") then
ro = r[i][3]..", "..ro
                ro = r[i][3] .. ", " .. ro
else
            else
ro = r[i][3]..", and "..ro
                ro = r[i][3] .. ", and " .. ro
end
            end
end
        end
end
    end
return ro;
    return ro
end
end
 
function p.warn_1(frame)
function p.warn_1(frame)
for i = ri,1,-1 do
    for i = ri, 1, -1 do
if string.find(frame.args[1],r[i][1]) and (r[i][4] == 1) then
        if string.find(frame.args[1], r[i][1]) and (r[i][4] == 1) then
if w1 == nil then
            if w1 == nil then
w1 = r[i][2].." occur."
                w1 = r[i][2] .. " occur."
elseif string.find(w1," and ") then
            elseif string.find(w1, " and ") then
w1 = r[i][2]..", "..w1
                w1 = r[i][2] .. ", " .. w1
else
            else
w1 = r[i][2].." and "..w1
                w1 = r[i][2] .. " and " .. w1
end
            end
end
        end
end
    end
return w1;
    return w1
end
end


function p.warn_2(frame)
function p.warn_2(frame)
for i = ri,1,-1 do
    for i = ri, 1, -1 do
if string.find(frame.args[1],r[i][1]) and (r[i][4] == 2) then
        if string.find(frame.args[1], r[i][1]) and (r[i][4] == 2) then
if (w2 == nil) then
            if (w2 == nil) then
w2 = r[i][2]
                w2 = r[i][2]
elseif string.find(w2," and ") then
            elseif string.find(w2, " and ") then
w2 = r[i][2]..", "..w2
                w2 = r[i][2] .. ", " .. w2
else
            else
w2 = r[i][2].." and "..w2
                w2 = r[i][2] .. " and " .. w2
end
            end
end
        end
end
    end
if w2 ~= nil then
    if w2 ~= nil then
if string.find(w2," and ") then
        if string.find(w2, " and ") then
w2 = w2.." are"
            w2 = w2 .. " are"
else
        else
w2 = w2.." is"
            w2 = w2 .. " is"
end
        end
end
    end
return w2;
    return w2
end
end


function p.category(frame)
function p.category(frame)
for i = 1,ri,1 do
    for i = 1, ri, 1 do
if string.find(frame.args[1],r[i][1]) then
        if string.find(frame.args[1], r[i][1]) then
if rc == nil then
            if rc == nil then
rc = "[[Category:Logos with content warnings for "..r[i][2].."]]"
                rc = "[[Category:Logos with content warnings for " .. r[i][2] .. "]]"
else
            else
rc = rc.."[[Category:Logos with content warnings for "..r[i][2].."]]"
                rc = rc .. "[[Category:Logos with content warnings for " .. r[i][2] .. "]]"
end
            end
end
        end
end
    end
return rc
    return rc
end
end


-- Function for the smaller "guidance detail" notices (under testing)
-- Function for the smaller "guidance detail" notices (under testing)
function p.small(frame)
function p.small(frame)
-- Banners
    -- Banners
bd = "none"
    bd = "none"
b = {
    b = {
frame:expandTemplate{title="ambox",args={
        frame:expandTemplate {
small = "left",
            title = "ambox",
type = "style",
            args = {
nocat = "yes",
                small = "left",
image = "[[File:Sound icon.png|30px]]",
                type = "style",
style = "margin:auto;max-width:480px;width:inherit;background:#fcfcfc;border: 0px solid #a2a9b1;border-left: 15px solid #ffa800;padding: 10px 0 10px 0.5em;",
                nocat = "yes",
text = "The video of this logo '''may be too loud''' or severely distorted."
                image = "[[File:Sound icon.png|30px]]",
}},
                style = "margin:auto;max-width:480px;width:inherit;background:#fcfcfc;border: 0px solid #a2a9b1;border-left: 15px solid #ffa800;padding: 10px 0 10px 0.5em;",
frame:expandTemplate{title="ambox",args={
                text = "The video of this logo '''may be too loud''' or severely distorted."
small = "left",
            }
type = "style",
        },
nocat = "yes",
        frame:expandTemplate {
image = "[[File:Phone icon.png|30px]]",
            title = "ambox",
style = "margin:auto;max-width:480px;width:inherit;background:#fcfcfc;border: 0px solid #a2a9b1;border-left: 15px solid #ffa800;padding: 10px 0 10px 0.5em;",
            args = {
text = "This logo '''contains an old telephone number'''. Please do not try to dial it."
                small = "left",
}},
                type = "style",
}
                nocat = "yes",
-- Text
                image = "[[File:Phone icon.png|30px]]",
for i = ri,1,-1 do
                style = "margin:auto;max-width:480px;width:inherit;background:#fcfcfc;border: 0px solid #a2a9b1;border-left: 15px solid #ffa800;padding: 10px 0 10px 0.5em;",
if string.find(frame.args[1],r[i][1]) and r[i][4] == 1 then
                text = "This logo '''contains an old telephone number'''. Please do not try to dial it."
if string.match(frame.args[1],r[i][1]..'%([%d,:-]*%)') then
            }
ti = 0
        },
tt = {}
        frame:expandTemplate {
for j in string.gmatch(string.match(frame.args[1],r[i][1].."%([%d,:-]*%)"),"[%d:-]+") do
            title = "ambox",
ti = ti + 1
            args = {
tt[ti] = j
                small = "left",
end
                type = "style",
for j = ti,1,-1 do
                nocat = "yes",
if ts == nil then
                image = "[[File:Avid-jumpscare-ace.png|50px]]",
ts = tt[j]
                style = "margin:auto;max-width:480px;width:inherit;background:#fcfcfc;border: 0px solid #a2a9b1;border-left: 15px solid #da0c3f;padding: 10px 0 10px 0.5em;",
elseif string.find(ts," and ") then
                text = "This logo contains a jump scare for the whole duration or at the specified timestamps."
ts = tt[j]..", "..ts
            }
else
        },
ts = tt[j].." and "..ts
        frame:expandTemplate {
end
end
td = r[i][3].."''' at "..ts
else
td = r[i][3].."''' for the whole duration"
end
if rd == nil then
rd = td
elseif string.find(rd,", and ") then
rd = td..", '''"..rd
else
rd = td..", and '''"..rd
end
end
end
if rd ~= nil then
if string.find(frame.args[1], "jumpscare") then
        local jumpscareBanner = frame:expandTemplate {
             title = "ambox",
             title = "ambox",
            args = {
            args = {
                small = "left",
                small = "left",
                type = "content",
                type = "style",
                nocat = "yes",
                nocat = "yes",
                image = "[[File:Avid-jumpscare-ace.png|50px|link=]]",
                image = "[[File:Alert icon.png|30px]]",
                style = "margin:auto;max-width:480px;width:inherit;background:#fcfcfc;border: 0px solid #a2a9b1;border-left: 15px solid #da0c3f;padding: 10px 0 10px 0.5em;",
                style = "margin:auto;max-width:480px;width:inherit;background:#fcfcfc;border: 0px solid #a2a9b1;border-left: 15px solid #da0c3f;padding: 10px 0 10px 0.5em;",
                text = "This logo contains " .. rd .. "."
                text = "This logo contains " .. rd .. "."
            }
            }
        }
        }
         elseif string.find(frame.args[1], "flashing") then
    }
             rd = frame:expandTemplate {
    -- Text
    for i = ri, 1, -1 do
         if string.find(frame.args[1], r[i][1]) and r[i][4] == 1 then
            if string.match(frame.args[1], r[i][1] .. '%([%d,:-]*%)') then
                ti = 0
                tt = {}
                for j in string.gmatch(string.match(frame.args[1], r[i][1] .. "%([%d,:-]*%)"), "[%d:-]+") do
                    ti = ti + 1
                    tt[ti] = j
                end
                for j = ti, 1, -1 do
                    if ts == nil then
                        ts = tt[j]
                    elseif string.find(ts, " and ") then
                        ts = tt[j] .. ", " .. ts
                    else
                        ts = tt[j] .. " and " .. ts
                    end
                end
                td = r[i][3] .. "''' at " .. ts
            else
                td = r[i][3] .. "''' for the whole duration"
            end
            if rd == nil then
                rd = td
            elseif string.find(rd, ", and ") then
                rd = td .. ", '''" .. rd
            else
                rd = td .. ", and '''" .. rd
            end
        end
    end
    if rd ~= nil then
        if string.find(frame.args[1], "jumpscare") then
             local jumpscareBanner = frame:expandTemplate {
                 title = "ambox",
                 title = "ambox",
                 args = {
                 args = {
Line 175: Line 166:
                     type = "content",
                     type = "content",
                     nocat = "yes",
                     nocat = "yes",
                     image = "[[File:Alert icon.png|30px]]",
                     image = "[[File:Avid-jumpscare-ace.png|50px]]",
                     style = "margin:auto;max-width:480px;width:inherit;background:#fcfcfc;border: 0px solid #a2a9b1;border-left: 15px solid #da0c3f;padding: 10px 0 10px 0.5em;",
                     style = "margin:auto;max-width:480px;width:inherit;background:#fcfcfc;border: 0px solid #a2a9b1;border-left: 15px solid #da0c3f;padding: 10px 0 10px 0.5em;",
                     text = "This logo contains " .. rd .. "."
                     text = "This logo contains " .. rd .. "."
                 }
                 }
             }
             }
            if ts ~= nil then
                rd = jumpscareBanner
            else
                rd = frame:expandTemplate {
                    title = "ambox",
                    args = {
                        small = "left",
                        type = "content",
                        nocat = "yes",
                        image = "[[File:Alert icon.png|30px]]",
                        style = "margin:auto;max-width:480px;width:inherit;background:#fcfcfc;border: 0px solid #a2a9b1;border-left: 15px solid #da0c3f;padding: 10px 0 10px 0.5em;",
                        text = "This logo contains " .. rd .. "."
                    }
                }
            end
        elseif string.find(frame.args[1], "flashing") then
            rd = b[4]
        end
    end
    if string.find(frame.args[1], "audio") then
        if rd ~= nil then
            rd = rd .. b[1]
        else
            rd = b[1]
         end
         end
     end
     end
if string.find(frame.args[1],"audio") then
    if string.find(frame.args[1], "phone") then
if rd ~= nil then
        if rd ~= nil then
rd = rd..b[1]
            rd = rd .. b[2]
else
        else
rd = b[1]
            rd = b[2]
end
        end
end
    end
if string.find(frame.args[1],"phone") then
    return rd
if rd ~= nil then
rd = rd..b[2]
else
rd = b[2]
end
end
return rd
end
end
return p
return p
Anonymous user

Navigation menu