コンテンツにスキップ

モジュール:Effective protection expiry

半永久的に拡張半保護されているモジュール
モジュールの giải thuyết[Biểu kỳ] [Biên tập] [Lí lịch] [キャッシュを phá khí]

ページに đối する đặc định thao tác の chế hạn ( いわゆるBảo hộ) の hữu hiệu kỳ hạn を thủ đắc するためのモジュールです.

Sử い phương

このモジュールは hô び xuất される mỗi に cao phụ hà パーサー quan sổ を1 hồi まで hô び xuất します. すでにモジュール:Effective protection levelを hô び xuất している tràng hợp は cao phụ hà パーサー quan sổ を hô び xuất しません.

ほかのモジュールからの lợi dụng

Hạ ký のようにモジュールを hô び xuất してください.

localeffectiveProtectionExpiry=require('モジュール:Effective protection expiry')._main

この quan sổ は dẫn sổ を2つ sử dụng します. Đệ 1 dẫn sổ はページに đối する thao tác ( "edit", "create", "move", "upload", "autoreview" のどれか ) を chỉ định します. Đệ 2 dẫn sổ は thao tác を hành うページ danh を chỉ định します. Đệ 2 dẫn sổ を tỉnh lược した tràng hợp, モジュールが hô び xuất されたページのページ danh が sử dụng されます.

この quan sổ の lệ り trị は hữu hiệu kỳ hạn のタイムスタンプ ( thư thức:YY-MM-DDThh:mm:ss) の văn tự liệt です. ただし, hạ ký の lệ ngoại があります.

  • infinity- vô kỳ hạn bảo hộ の tràng hợp か, bảo hộ されていないページ ( ページが tồn tại する tràng hợp )
  • unknown- hữu hiệu kỳ hạn が bất minh な tràng hợp, bảo hộ されていないページ ( ページが tồn tại しない tràng hợp )

ページが tồn tại し, かつ bảo hộ されていない tràng hợp はinfinityを phản すので, nhất bàn đích には bảo hộ レベルを điều べるモジュール:Effective protection levelと tịnh dụng します.

ウィキテキストからの lợi dụng

Hạ ký のように hô び xuất します. Dẫn sổ はモジュールから hô び xuất す tràng hợp と đồng じです.

Quan liên hạng mục

localp={}

-- Returns the expiry of a restriction of an action on a given title, or unknown if it cannot be known.
-- If no title is specified, the title of the page being displayed is used.
functionp._main(action,pagename)
localtitle
iftype(pagename)=='table'andpagename.prefixedTextthen
title=pagename
elseifpagenamethen
title=mw.title.new(pagename)
else
title=mw.title.getCurrentTitle()
end
pagename=title.prefixedText
ifaction=='autoreview'then
localstabilitySettings=mw.ext.FlaggedRevs.getStabilitySettings(title)
returnstabilitySettingsandstabilitySettings.expiryor'unknown'
elseifaction~='edit'andaction~='move'andaction~='create'andaction~='upload'then
error(' đệ 1 dẫn sổ にはedit, move, create, upload, autoreviewのどれかを chỉ định してください',2)
end
localrawExpiry=mw.getCurrentFrame():callParserFunction('PROTECTIONEXPIRY',action,pagename)
ifrawExpiry=='infinity'then
return'infinity'
elseifrawExpiry==''then
return'unknown'
else
localyear,month,day,hour,minute,second=rawExpiry:match(
'^(%d%d%d%d)(%d%d)(%d%d)(%d%d)(%d%d)(%d%d)$'
)
ifyearthen
returnstring.format(
'%s-%s-%sT%s:%s:%s',
year,month,day,hour,minute,second
)
else
error('[[モジュール:Effective protection expiry]]のエラー; hữu hiệu kỳ hạn のタイムスタンプの thư thức が bất chính です')
end
end
end

setmetatable(p,{__index=function(t,k)
returnfunction(frame)
returnt._main(k,frame.args[1])
end
end})

returnp