Title: Module:High-use - freem
URL Source: https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use
Markdown Content:
_Documentation for this module may be created at [Module:High-use/doc](https://freemwiki.com/index.php?title=Module:High-use/doc&action=edit&redlink=1 "Module:High-use/doc (page does not exist)")_
[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-1)require('strict')[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-2)[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-3)local p = {}[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-4)local getArgs = require('Module:Arguments').getArgs[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-5)[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-6)local _fetch = require('Module:Transclusion_count')._fetch -- _fetch looks at the 'demo' argument[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-7)local yesno = require('Module:Yesno')[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-8)[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-9)local lang_obj = mw.getContentLanguage() -- this here because the language object is used multiple places in the module[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-10)local large_count_cutoff = 100000[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-11)local approx_num_total_pages = 63000000[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-12)[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-13)local user_subpage_info_page = 'Wikipedia:User pages#SUB'[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-14)local sandbox_module_page = 'Module:Sandbox'[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-15)local system_messages_cat = 'Pages used in system messages needing protection'[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-16)local sandbox_word = 'sandbox'[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-17)local testcases_word = 'testcases'[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-18)local doc_word = 'doc'[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-19)[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-20)local function count_from_args(args)[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-21)if tonumber(args.count) then -- check if function has already been used[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-22)return tonumber(args.count) -- early exit if so[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-23)end[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-24)[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-25)local count[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-26)[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-27)if yesno(args['fetch']) ~= false then[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-28)count = _fetch(args) -- fetch transclusion count[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-29)end[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-30)[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-31)-- use explicitly-provided count when fetch fails[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-32)if count == nil and args[1] ~= nil and args[1] ~= '' then[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-33)-- convert local language number string to a number understandable by Lua[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-34)count = mw.ustring.gsub(args[1], '+$', '')[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-35)count = lang_obj:parseFormattedNumber(args[1])[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-36)end[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-37)[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-38)-- in case someone writes a non-positive number[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-39)if count and count > 0 then[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-40)return count[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-41)end[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-42)[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-43)return nil[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-44)end[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-45)[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-46)-- Actions if there is a large (greater than or equal to 100,000) transclusion count[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-47)local function risk_boolean(args)[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-48)if args.risk == true or args.risk == false then[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-49)return args.risk[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-50)elseif args[1] == 'risk' then[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-51)return true[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-52)else[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-53)local count = count_from_args(args)[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-54)if count and count >= large_count_cutoff then[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-55)return true[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-56)end[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-57)end[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-58)return false[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-59)end[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-60)[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-61)-- function retained for backwards compatibility[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-62)function p._risk(args)[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-63)return risk_boolean(args) and 'risk' or ''[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-64)end[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-65)[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-66)-- function retained for backwards compatibility[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-67)function p.risk(frame)[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-68)return p._risk(getArgs(frame))[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-69)end[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-70)[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-71)-- count and no_percent arguments retained for backwards compatibility[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-72)function p._num(args, count, no_percent)[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-73)if count == nil then[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-74)count = count_from_args(args)[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-75)end[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-76)args.count = count[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-77)args.risk = risk_boolean(args)[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-78)[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-79)-- Build output string[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-80)local return_value = ''[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-81)if args.count == nil and args.risk then[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-82)return 'a very large number of'[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-83)elseif args.count == nil then[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-84)return 'many'[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-85)else[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-86)-- Use 2 significant figures for smaller numbers and 3 for larger ones[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-87)local sigfig = 2[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-88)if args.count >= large_count_cutoff then[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-89)sigfig = 3[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-90)end[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-91)[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-92)-- Prepare to round to appropriate number of sigfigs[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-93)local f = math.floor(math.log10(args.count)) - sigfig + 1[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-94)[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-95)-- Round and insert 'approximately' or '+' when appropriate[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-96)if yesno(args[2]) == true or (type(args[1]) == 'string' and (mw.ustring.sub(args[1], -1) == '+')) then[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-97)-- Round down[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-98)return_value = string.format('%s+', lang_obj:formatNum(math.floor( (args.count / 10^(f)) ) * (10^(f))) )[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-99)else[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-100)-- Round to nearest[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-101)return_value = string.format('approximately %s', lang_obj:formatNum(math.floor( (args.count / 10^(f)) + 0.5) * (10^(f))) )[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-102)end[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-103)[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-104)-- Insert percentage of pages if that is likely to be >= 1% and when |no-percent= not set to yes[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-105)no_percent = yesno(no_percent or args['no-percent'])[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-106)if args.count and args.count >= approx_num_total_pages/100 and not no_percent then[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-107)local num_total_pages = mw.getCurrentFrame():callParserFunction('NUMBEROFPAGES', 'R')[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-108)local total_percent = math.floor( ( ( args.count/num_total_pages ) * 100) + 0.5)[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-109)[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-110)if total_percent >= 1 then[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-111)return_value = string.format('%s pages, or roughly %s%% of all', return_value, total_percent)[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-112)end[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-113)end[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-114)end[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-115)[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-116)return return_value[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-117)end[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-118)[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-119)-- used by [[Template:Stub documentation]] and other pages[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-120)-- count argument retained for backwards compatibility[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-121)function p.num(frame, count)[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-122)return p._num(getArgs(frame), count)[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-123)end[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-124)[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-125)-- count argument retained for backwards compatibility[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-126)function p._text(args, count)[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-127)--[=[[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-128) Only show the information about how this template gets updated[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-129) if someone is actually editing the page and maybe trying to update the count.[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-130) ]=][](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-131)local bot_text = (mw.getCurrentFrame():preprocess('{{REVISIONID}}') == '') and ("\n\n----\n'''Preview message''':" .. ' Transclusion count updated automatically ([[Template:High-use/doc#Technical details|see documentation]]).') or ''[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-132)[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-133)if count == nil then[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-134)count = count_from_args(args)[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-135)end[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-136)args.count = count[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-137)args.risk = risk_boolean(args)[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-138)[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-139)-- trim /doc, /sandbox and /testcases[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-140)local title = args.title or (args.demo and args.demo ~= '' and mw.title.new(args.demo, 'Template')) or mw.title.getCurrentTitle()[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-141)if title.subpageText == doc_word or title.subpageText == sandbox_word or title.subpageText == testcases_word then[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-142)title = title.basePageTitle[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-143)end[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-144)[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-145)-- use /testcases of base template[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-146)local testcases_page = mw.title.new(title.prefixedText .. '/' .. testcases_word)[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-147)-- exists is expensive[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-148)while testcases_page.basePageTitle.isSubpage and not testcases_page.exists do[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-149)testcases_page = mw.title.new(testcases_page.basePageTitle.basePageTitle.prefixedText .. '/' .. testcases_word)[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-150)end[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-151)[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-152)local systemMessages = (args['system'] or '') ~= ''[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-153)[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-154)-- This retrieves the project URL automatically to simplify localization.[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-155)local templateCount = ('on [https://linkcount.toolforge.org/?project=%s&page=%s#transclusions %s pages]'):format([](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-156)title:fullUrl():gsub('//(.-)/.*', '%1'),[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-157)mw.uri.encode(title.fullText), p._num(args))[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-158)local used_on_text = "'''This " .. (title:inNamespace('Module') and 'Lua module' or 'template') .. ' is used '[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-159)if systemMessages then[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-160)used_on_text = used_on_text .. args['system'] ..[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-161)((args.count and args.count > 2000) and ("''', and " .. templateCount) or ("'''"))[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-162)else[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-163)used_on_text = used_on_text .. templateCount .. "'''"[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-164)end[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-165)[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-166)local sandbox_text = ('%s\'s [[%s/sandbox|/sandbox]] or [[%s|/testcases]] subpages, or in your own [[%s]]. '):format([](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-167)title:inNamespace('Module') and 'module' or 'template',[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-168)title.fullText,[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-169)testcases_page.fullText,[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-170)title:inNamespace('Module') and (sandbox_module_page .. '|module sandbox') or (user_subpage_info_page .. '|user subpage')[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-171))[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-172)[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-173)local infoArg = args['info'] ~= '' and args['info'][](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-174)if (systemMessages or args.risk) then[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-175)local info = '.'[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-176)if systemMessages then[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-177)info = info .. '
Changes to it can cause immediate changes to the ' .. mw.site.namespaces.Project.name .. ' user interface.'[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-178)end[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-179)if infoArg then[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-180)info = info .. '
' .. infoArg[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-181)end[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-182)sandbox_text = info .. '
To avoid major disruption' ..[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-183)(args.count and args.count >= large_count_cutoff and ' and server load' or '') .. -- should this use args.risk?[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-184)', any changes should be tested in the ' .. sandbox_text ..[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-185)'The tested changes can be added to this page in a single edit. '[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-186)else[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-187)sandbox_text = (infoArg and ('.
' .. infoArg .. ' C') or ' and c') ..[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-188)'hanges may be widely noticed. Test changes in the ' .. sandbox_text[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-189)end[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-190)[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-191)local discussion_text = systemMessages and 'Please discuss changes ' or 'Consider discussing changes '[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-192)if args[2] ~= nil and args[2] ~= '' and yesno(args[2]) == nil then[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-193)discussion_text = string.format('%sat [[%s]]', discussion_text, args[2])[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-194)else[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-195)discussion_text = string.format('%son the [[%s|talk page]]', discussion_text, title.talkPageTitle.fullText)[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-196)end[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-197)[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-198)return used_on_text .. sandbox_text .. discussion_text .. ' before implementing them.' .. bot_text[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-199)end[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-200)[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-201)-- used by [[Template:R from high-use template]][](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-202)-- count argument retained for backwards compatibility[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-203)function p.text(frame, count)[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-204)return p._text(getArgs(frame), count)[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-205)end[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-206)[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-207)-- nocat argument retained for backwards compatibility[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-208)function p._main(args, nocat)[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-209)args.count = count_from_args(args)[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-210)args.risk = risk_boolean(args)[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-211)args.title = (args.demo and args.demo ~= '' and mw.title.new(args.demo, 'Template')) or mw.title.getCurrentTitle()[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-212)[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-213)local image = 'Ambox warning yellow.svg'[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-214)local type_param = 'style'[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-215)local epilogue = ''[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-216)[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-217)if args['system'] and args['system'] ~= '' then[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-218)image = 'Ambox important.svg'[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-219)type_param = 'content'[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-220)if yesno(nocat or args['nocat']) ~= true and not args.title.isRedirect then[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-221)local protection_action = (args.title:inNamespace('File') and 'upload') or 'edit'[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-222)local protection_level = require('Module:Effective protection level')._main(protection_action, args.title.fullText)[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-223)[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-224)if protection_level ~= 'sysop' and protection_level ~= 'templateeditor' and protection_level ~= 'interfaceadmin' then[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-225)epilogue = mw.getCurrentFrame():expandTemplate {[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-226)title = 'sandbox other',[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-227)args = {[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-228)[2] = '[[Category:' .. system_messages_cat .. ']]'[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-229)}[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-230)}[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-231)end[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-232)end[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-233)elseif args.risk then[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-234)image = 'Ambox warning orange.svg'[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-235)type_param = 'content'[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-236)end[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-237)[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-238)image = '[[File:' .. image .. '|40px|alt=Warning|link=]]'[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-239)if args['form'] == 'editnotice' then[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-240)return mw.getCurrentFrame():expandTemplate{[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-241)title = 'editnotice',[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-242)args = {[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-243)['image'] = image,[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-244)['text'] = p._text(args),[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-245)['expiry'] = (args['expiry'] or '')[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-246)}[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-247)} .. epilogue[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-248)else[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-249)return require('Module:Message box').main('ombox', {[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-250)type = type_param,[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-251)image = image,[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-252)text = p._text(args),[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-253)expiry = (args['expiry'] or '')[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-254)}) .. epilogue[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-255)end[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-256)end[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-257)[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-258)function p.main(frame)[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-259)return p._main(getArgs(frame))[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-260)end[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-261)[](https://freemwiki.com/index.php?mobileaction=toggle_view_mobile&title=Module%3AHigh-use#L-262)return p