「モジュール:UserAN2」の版間の差分
表示
削除された内容 追加された内容
編集の要約なし |
「記録」のリンク先をUserANに合わせる。Wikipedia‐ノート:管理者伝言板/投稿ブロック#提案(第二案)参照 |
||
46行目: | 46行目: | ||
undo = '<sup>' ..fullurl ..'Special:Contributions&target=' ..enc_name ..'&tagfilter=mw-undo 取り消し]</sup>', |
undo = '<sup>' ..fullurl ..'Special:Contributions&target=' ..enc_name ..'&tagfilter=mw-undo 取り消し]</sup>', |
||
revert = '<sub>' ..fullurl ..'Special:Contributions&target=' ..enc_name ..'&tagfilter=mw-manual-revert 手動差し戻し]</sub>', |
revert = '<sub>' ..fullurl ..'Special:Contributions&target=' ..enc_name ..'&tagfilter=mw-manual-revert 手動差し戻し]</sub>', |
||
log = ' |
log = fullurl ..'Special:Log&page=User%3A' ..enc_name ..' 記録]', |
||
xtools = '[https://xtools.wmflabs.org/ec/ja-two.iwiki.icu/' ..enc_name ..'?uselang=ja xtools]', |
xtools = '[https://xtools.wmflabs.org/ec/ja-two.iwiki.icu/' ..enc_name ..'?uselang=ja xtools]', |
||
blocklog= fullurl ..'Special:Log/&type=block&page=User:' ..enc_name ..' ブロック記録]', |
blocklog= fullurl ..'Special:Log/&type=block&page=User:' ..enc_name ..' ブロック記録]', |
2021年8月12日 (木) 16:00時点における版
local p={}
local fullurl = '[https://ja-two.iwiki.icu/w/index.php?title='
function p.main( frame )
-- local args = require( 'Module:Arguments' ).getArgs( frame, { wrappers = 'Template:UserAN2', removeBlanks = true })
-- 入力引数格納
local type2 = frame.args.type or ''
local status = frame.args.status or args['状態'] or ''
local username = frame.args.user or args[1] or ''
local enc_name = mw.uri.encode(username, "WIKI")
local check = frame.args.check or args[2] or ''
if username == '' then
return p.error('アカウント未記入')
end
-- type指定が空白ならデフォルトでuser2指定、そうでなければ引数を小文字化
if type2 == '' then
type2 = 'user2'
else
type2 = string.lower(type2)
end
-- アイコン
local icon = {
done = '[[File:Yes check.svg|20px|<span class="done">済</span>]]',
doing = '[[画像:Stock post message.svg|22px|<span class="doing">未了</span>]]',
reject = '[[ファイル:X mark.svg|15px|<span class="done">却下</span>]] <span style="font-weight: bold;">却下</span>',
}
--定形リンク
local link = {
plain1 = '<span class="plainlinks">',
small1 = '<span style="font-size: smaller;">',
small2 = '<span style="font-size: small;">',
span1 = '</span>',
span2 = '</span></span>',
user = fullurl ..'User:' ..enc_name ..' 利用者:' ..username ..']',
user2 = '利用者:' ..username,
talk = fullurl ..'User_talk:' ..enc_name ..' 会話]',
contrib = fullurl ..'Special:Contributions/' ..enc_name ..' 投稿記録]',
undo = '<sup>' ..fullurl ..'Special:Contributions&target=' ..enc_name ..'&tagfilter=mw-undo 取り消し]</sup>',
revert = '<sub>' ..fullurl ..'Special:Contributions&target=' ..enc_name ..'&tagfilter=mw-manual-revert 手動差し戻し]</sub>',
log = fullurl ..'Special:Log&page=User%3A' ..enc_name ..' 記録]',
xtools = '[https://xtools.wmflabs.org/ec/ja-two.iwiki.icu/' ..enc_name ..'?uselang=ja xtools]',
blocklog= fullurl ..'Special:Log/&type=block&page=User:' ..enc_name ..' ブロック記録]',
block = '[[特別:投稿ブロック/' ..enc_name ..'|ブロック]]',
ca = '[[Special:CentralAuth/' ..enc_name ..'|CA]]',
ur = '[[Special:UserRights/' ..enc_name ..'|権限]]',
guc = '[https://guc.toolforge.org/?by=date&user=' ..enc_name ..' guc]',
ip = username, -- 生入力内容 diff/logid兼用
ip_talk = fullurl ..'User_talk:' ..username ..' 会話]',
ip_cont = fullurl ..'Special:Contributions/' ..username ..' 投稿記録]',
ip_log = '[[Special:Log/' ..username ..'|記録]]',
whois = 'Whois [https://whois.domaintools.com/' ..username ..' IPv4]・'
.. '[https://www.ultratools.com/tools/ipv6InfoResult?ipAddress=' ..username ..' IPv6]',
}
--進捗判定
local flag = ''
if string.lower(status) == 'done' or status == '済' or status == '済み' then
flag = icon.done
else
flag = icon.doing
end
if string.lower(check) == 'done' or check == '済' or check == '済み' then
flag = icon.done
elseif check == '却下' or check == '非対処' then
flag = icon.reject
elseif check ~= '' then
flag = icon.done ..'<span style="font-size: smaller; font-weight: bold;">' ..check ..'</span>'
end
--アカウント表記形式 / type2に入っている文字列を上から総当たりで参照し、合致すればlabelの内容を置換する(#Switch構文の代わり)
local label = ({
user = p.user(link),
user2 = p.user2(link),
user3 = p.user2(link),
user4 = p.user4(link),
user5 = p.user5(link),
unl = p.unl(link),
usernolink = p.unl(link),
ip = p.ip(link),
ip2 = p.ip2(link),
ipuser2 = p.ip2(link),
none = username,
user50 = p.user50(link),
userr = p.userR(link),
userr2 = p.userR2(link),
userr3 = p.userR3(link),
diff = p.diff(link),
logid = p.logid(link),
})[type2]
if label then
return flag ..' ' ..label
end
end
-- エラーメッセージ
function p.error ( message )
return '<strong class="error">エラー:' ..message ..'</strong>'
end
-- 以下、各表記書式
function p.user ( link )
return link.plain1 ..link.user ..link.small1 ..'(' .. link.talk ..' / ' ..link.contrib ..')' ..link.span2
end
function p.user2 ( link )
return link.plain1 ..link.user ..link.small1 ..'(' ..link.talk ..' / ' ..link.contrib ..' / ' ..link.log ..')' ..link.span2
end
function p.user4 ( link )
return link.plain1 ..link.small1 ..'(' ..link.talk ..' / ' ..link.contrib ..' / ' ..link.log ..')' ..link.span2
end
function p.user5 ( link )
return link.plain1 ..link.user ..link.small1 ..'(' ..link.talk ..' / ' ..link.contrib ..' / ' ..link.log ..' / '
..link.ca .. ' / ' ..link.guc ..')' ..link.span2
end
function p.unl ( link )
return link.plain1 ..link.user2 ..link.small1 ..'(' ..link.talk ..' / ' ..link.contrib ..' / ' ..link.log ..')' ..link.span2
end
function p.ip ( link )
return 'IP:' ..link.ip ..link.plain1 ..link.small1 ..'(' ..link.ip_talk ..' / ' ..link.ip_cont ..')' ..link.span2
end
function p.ip2 ( link )
return 'IP:' ..link.ip ..link.plain1 ..link.small1 ..'(' ..link.ip_talk ..' / ' ..link.ip_cont ..' / '
..link.ip_log ..' / ' ..link.whois ..')' ..link.span2
end
function p.user50 ( link )
return link.plain1 ..link.user ..link.small1 ..'(' ..link.talk ..' / ' ..link.contrib ..' / '
..link.log ..' / ' ..link.ca .. ' / ' ..link.guc ..' / ' ..link.xtools
..')' ..link.span2
end
function p.userR ( link )
return link.plain1 ..link.user ..link.small1 ..'(' ..link.talk ..' / ' ..link.contrib
..link.small2 ..'(' ..link.undo ..' ' ..link.revert ..')' ..link.span1
..link.log ..')' ..link.span2
end
function p.userR2 ( link )
return link.plain1 ..link.user ..link.small1 ..'(' ..link.talk ..' / ' ..link.contrib
..link.small2 ..'(' ..link.undo ..' ' ..link.revert ..')' ..link.span1
..link.log ..' / ' ..link.xtools ..' / ' ..link.ca .. ' / ' ..link.ur ..' / ' ..link.guc
..')' ..link.span2
end
function p.userR3 ( link )
return link.plain1 ..link.user2 ..link.small1 ..'(' ..link.talk ..' / ' ..link.contrib
..link.small2 ..'(' ..link.undo ..' ' ..link.revert ..')' ..link.span1
..link.log ..' / ' ..link.xtools ..' / ' ..link.ca .. ' / ' ..link.ur ..' / ' ..link.guc
..')' ..link.span2
end
function p.diff ( link )
return '[[特別:差分/' ..link.ip ..'/prev|版番 ' ..link.ip ..' の差分]]'
end
function p.logid ( link )
return '[[特別:転送/logid/' ..link.ip ..'|Logid/' ..link.ip ..']]'
end
return p