モジュール:確認画面連絡/sandbox

モジュールの解説[表示] [編集] [履歴] [キャッシュを破棄]

使用法[編集]

モジュール自体の使用方法[編集]

このモジュールは操作確認画面のメッセージで利用されるものです。通常のページで利用することはありません。

{{#invoke:確認画面連絡|main|ページ名|操作種別}}
操作種別

操作確認画面でのメッセージ表示[編集]

このモジュール経由で削除、移動、保護、版指定削除、復元操作(以下、これら 5つ を特定操作と記します)を実施する際の確認画面にて、「Wikipedia:管理者伝言板/確認画面連絡/【ページ名】」というページがあれば、操作対象となるページに特化したメッセージを表示することができます。


操作種別ごとの表示メッセージ[編集]

メッセージは {{Wikipedia:管理者伝言板/確認画面連絡/【ページ名】|操作種別}}形式で呼び出されます。このため、Help:条件文#switch などを利用することにより、操作種別ごとのメッセージを表示することができます。

  • 書式
{{#switch:{{{1}}}
|delete=削除確認画面に表示するメッセージ
|move=移動確認画面に表示するメッセージ
|protect=保護確認画面に表示するメッセージ
|revdel=版指定削除確認画面に表示するメッセージ
|revdel-file=ファイルの版指定削除確認画面に表示するメッセージ
|undelete=復元確認画面に表示するメッセージ
}}
{{#switch:{{{1}}}
|protect=<div class="errorbox">保護は[[MediaWiki:Titleblacklist]]によって行われています。追加の保護は不要です。</div>
|delete
|revdel=<div class="errorbox">対応保留中。詳細は管理者メーリングリスト 00000 をご覧ください。</div>
|#default=
}}

上記の例では、次のように表示されます。

  • 保護の確認画面にて
    保護はMediaWiki:Titleblacklistによって行われています。追加の保護は不要です。
  • 削除と版指定削除の確認画面にて
    対応保留中。詳細は管理者メーリングリスト 00000 をご覧ください。
  • 移動と復元画面では表示されません。

ページ名に問題がある場合[編集]

ページ名自体に問題があり、それを拡散することが不適切と判断される場合、ページ名を SHA-256 によりハッシュしたものを利用することができます。ただし、「Wikipedia:管理者伝言板/確認画面連絡/【ページ名】」が存在する場合、そちらが優先して表示されます。

メインページ の特定操作確認画面に表示させる場合、ページ名の SHA-256 ハッシュは ec65e055bf4ec64f36f60d8759dd4d4cc9e0e64c39f00bc27400b51815de9b32 となり、「Wikipedia:管理者伝言板/確認画面連絡/メインページ」を作成する代わりに、「Wikipedia:管理者伝言板/確認画面連絡/ec65e055bf4ec64f36f60d8759dd4d4cc9e0e64c39f00bc27400b51815de9b32」を作成することでも、メッセージを表示することができます。

ページ名の SHA-256 ハッシュ計算
  1. Wikipedia:サンドボックス などの適当なページの編集画面を開きます
  2. 編集画面に [[Wikipedia:管理者伝言板/確認画面連絡/{{#invoke:SHA2|hash256|【ページ名】}}]]と記入し、プレビューを行います
    • この際、【ページ名】の|}}]]の間にスペースなどを含めないでください。もし含まれた場合、不適切なハッシュが生成され、意図したページにメッセージを表示できなくなりますので、ご注意ください。【ページ名】は 対象ページの {{FULLPAGENAME}} と同じ物を利用します。
  3. 表示されたリンクをクリックし、表示させたいメッセージを入れて作成をすると、【ページ名】の特定操作確認画面にメッセージを表示させることができます。
    • ページ作成の際、必ず対象ページ名を含めてください。ページ名に問題がある場合に利用されていることが多いと思いますので、その次の版でそれを除去し、問題の版を版指定削除してください。ページ名に関する情報が一切ない場合、後でどこに表示されているのかの検証が困難になります。
    • 表示メッセージ自体は一般に閲覧可能である点に注意してください。外部に公開できない場合、管理者メーリングリストのメッセージ番号を載せるなどで対応してください。
  • PHP CLI : php -r 'echo(hash("sha256", "ページ名")."\n");'
--[[
Copyright (c) 2016 rxy <https://rxy.jp/>
              2022 本日晴天 <https://ja.wikipedia.org/wiki/Special:Redirect/user/786974>
License: The MIT License (MIT)
License detail: https://opensource.org/licenses/MIT
]]
require('strict')

local function hash(value)
	return mw.hash.hashValue('sha256', value)
end

local basePage = mw.title.new("管理者伝言板/確認画面連絡", 4)
local p = {}

function p.main(frame)
	local pageName = frame.args[1]
	local action = frame.args[2]
	
	if action == 'move' then
		pageName = mw.ustring.match(pageName, "^特別:移動/(.+)$") or pageName
	end
	
	local page = basePage:subPageTitle(pageName)
	if page and page.exists then
		return frame:expandTemplate{ title = page.prefixedText, args = { action } }
	end
	
	page = basePage:subPageTitle(hash(pageName))
	if page.exists then
		return frame:expandTemplate{ title = page.prefixedText, args = { action } }
	end
end

function p.makeButton(frame)
	local pageName = mw.text.trim(frame.args[1] or '')
	local buttonLabel = "確認画面連絡を作成"
	
	if pageName == '' then
		pageName = mw.title.getCurrentTitle().prefixedText
		buttonLabel = "このページの" .. buttonLabel
	end
	
	if require('Module:Yesno')(frame.args.hash) then
		pageName = hash(pageName)
	end
	
	return frame:extensionTag{
		name = 'inputbox',
		content = string.format(
			'type=create\nhidden=yes\ndefault=%s\nbuttonlabel=%s',
			basePage:subPageTitle(pageName).prefixedText,
			buttonLabel
		)
	}
end

return p