پرش به محتوا

پودمان:Football box: تفاوت میان نسخه‌ها

از ویکی‌پدیا، دانشنامهٔ آزاد
محتوای حذف‌شده محتوای افزوده‌شده
جز «پودمان:Football box» را محافظت کرد: الگو یا پودمان حساس: ۹۱۸ تراگنجانش در زمان حفاظت ([ویرایش=تنها مدیران] (بی‌پایان) [انتقال=تنها مدیران] (بی‌پایان))
خط ۸: خط ۸:
local penalties = '[[ضربات پنالتی (فوتبال)|ضربات پنالتی]]'
local penalties = '[[ضربات پنالتی (فوتبال)|ضربات پنالتی]]'
local aet = '[[وقت اضافه|و.ا.]]'
local aet = '[[وقت اضافه|و.ا.]]'
local asdet = '[[مردن ناگهانی (ورزش)#فوتبال|م.ن.]]'
local agget = '[[وقت اضافه|و.ا.]]/[[گل طلایی|گ.ط.]]'
local asget = '[[وقت اضافه|و.ا.]]/[[گل طلایی#گل نقره‌ای|گ.ن.]]'
local attendance = 'تماشاگران:'
local attendance = 'تماشاگران:'
local referee = 'داور:'
local referee = 'داور:'
local templatestyles = 'Module:Football box/styles.css'

local tracking, preview

local function checkarg(k,v)
if not k or type(k) ~= 'string' then return end
if k == 'assistantreferees2' then
table.insert(tracking, '[[رده:الگو: جعبه فوتبال که از پارامتر کمک‌داور استفاده می‌کند|۲]]')
elseif k == 'aggregatescore' or k == 'assistantreferees' or
k == 'fourthofficial' or k == 'game' or k == 'بهترین بازیکن' or k == 'motm' or
k == 'nobars' or k == 'note' or k == 'result' then
-- valid and tracked
table.insert(tracking, '[[رده:الگو: جعبه فوتبال که از پارامتر ' .. k .. ' استفاده می‌کند]]')
elseif k == 'اندازه' or k == 'size' or k == 'bg' or k == 'شناسه' or k == 'id' or k == 'تیم۱' or k == 'team1' or
k == 'تیم۲' or k == 'team2' or k == 'نتیجه۱' or k == 'score1' or k == 'نتیجه۲' or k == 'score2' or k == 'نتیجه' or k == 'score' or k == 'یادداشت نتیجه' or k == 'scorenote' or
k == 'وقت اضافه' or k == 'aet' or k == 'asdet' or k == 'agget' or k == 'asget' or k == 'گل۱' or k == 'gools1' or k == 'گزارش' or k == 'report' or k == 'گل۲' or k == 'gools2' or
k == 'نتیجه پنالتی' or k == 'penaltyscore' or k == 'پنالتی۱' or k == 'penaltise1' or k == 'پنالتی۲' or k == 'penaltise2' or
k == 'ورزشگاه' or k == 'stadium' or k == 'مکان' or k == 'location' or k == 'تماشاگران' or k == 'attendance' or
k == 'داور' or k == 'referee' or k == 'stack' or k == 'تاریخ' or k == 'date' or k == 'زمان' or k == 'time' then
-- valid and not tracked
else
-- invalid
local vlen = mw.ustring.len(k)
k = mw.ustring.sub(k, 1, (vlen < 25) and vlen or 25)
k = mw.ustring.gsub(k, '[^%w\-_ ]', '?')
table.insert(tracking, '[[رده:الگو: جعبه فوتبال که از پارامترهای ناشناخته استفاده می‌کند|' .. k .. ']]')
table.insert(preview, '«' .. k .. '»')
end
end


local function timestamp(d, t)
local function timestamp(d, t)
if d then
if not d then return nil end
lang = lang or mw.language.getContentLanguage() -- lazy initialize
lang = lang or mw.language.getContentLanguage() -- lazy initialize
local success, timestamp = pcall(lang.formatDate, lang, 'c', delink(d .. ' ' .. (t or '')))
local success, timestamp = pcall(lang.formatDate, lang, 'c', delink({d .. ' ' .. (t or '')}))
if success then
if success then
return timestamp
return timestamp
else
else
return nil
return nil
end
end
end
return nil
end
end


خط ۵۴: خط ۸۶:
function p.main(frame)
function p.main(frame)
local args = require('Module:Arguments').getArgs(frame)
local args = require('Module:Arguments').getArgs(frame)

args['نتیجه۱'] = args['نتیجه۱'] or args['score1']
args['نتیجه۱'] = args['نتیجه۱'] or args['score1']
args['نتیجه۲'] = args['نتیجه۲'] or args['score2']
args['نتیجه۲'] = args['نتیجه۲'] or args['score2']
خط ۷۵: خط ۱۰۷:
args['تماشاگران'] = args['تماشاگران'] or args['attendance']
args['تماشاگران'] = args['تماشاگران'] or args['attendance']
args['داور'] = args['داور'] or args['referee']
args['داور'] = args['داور'] or args['referee']
args['مردن ناگهانی'] = args['مردن ناگهانی'] or args['asdet']

args['گل طلایی'] = args['گل طلایی'] or args['agget']
args['گل نقره‌ای'] = args['گل نقره‌ای'] or args['asget']
args['یادداشت نتیجه'] = args['یادداشت نتیجه'] or args['scorenote']
args['اندازه'] = args['اندازه'] or args['size']
local id = getid(args['شناسه'] or args['id'])
local id = getid(args['شناسه'] or args['id'])
local d = timestamp( args['تاریخ'], args['زمان'])
local d = timestamp( args['تاریخ'], args['زمان'])
local block
local block
tracking, preview = {}, {}
for k, v in pairs(args) do
if v ~= '' then
checkarg(k,v)
end
end


local score = 'v'
local score = 'v'
خط ۸۸: خط ۱۳۲:
if args['وقت اضافه'] then
if args['وقت اضافه'] then
score = score .. ' (' .. aet .. ')'
score = score .. ' (' .. aet .. ')'
elseif args['مردن ناگهانی'] then
score = score .. ' (' .. asdet .. ')'
elseif args['گل طلایی'] then
score = score .. ' (' .. agget .. ')'
elseif args['گل نقره‌ای'] then
score = score .. ' (' .. asget .. ')'
end
if args['یادداشت نتیجه'] then
score = score .. '<br>' .. args['یادداشت نتیجه']
end
end
خط ۹۵: خط ۱۴۸:
:attr('itemscope', '')
:attr('itemscope', '')
:attr('itemtype', eventschema)
:attr('itemtype', eventschema)
:addClass('footballbox')
:css('width', args['size'])
:css('width', args['اندازه'])
:css('background-color', args['bg'])
:css('background-color', args['bg'])
:css('clear', 'both')
:css('overflow', 'auto')
:attr('id', id)
:attr('id', id)
root:newline()
root:newline()
خط ۱۰۴: خط ۱۵۶:
if args['رویداد'] then
if args['رویداد'] then
root:tag('div')
root:tag('div')
:css('text-align', 'center')
:addClass('ftitle')
:css('font-weight', 'bold')
:wikitext(args['رویداد'])
:wikitext(args['رویداد'])
end
end
-- Start right block
-- Start left block
block = root:tag('div')
block = root:tag('div')
:addClass('mobile-float-reset')
:addClass('fleft')
:css('float', 'right')
:css('font-size', '85%')
:css('width', '24%')
:css('padding', '2px 0')
local timetag = block:tag('time')
if args['ورزشگاه'] then
:attr('itemprop', d and 'startDate' or nil)
local sdiv = block:tag('div')
:attr('itemprop', 'مکان')
:attr('datetime', d)
:attr('itemscope', '')
timetag:tag('div')
:attr('itemtype', placeschema)
:addClass('fdate')
if args['مکان'] then
:wikitext(args['تاریخ'])
sdiv:tag('span')
:attr('itemprop', 'name')
if args['زمان'] then
:wikitext(args['ورزشگاه'])
sdiv:wikitext('، ')
timetag:tag('div')
sdiv:tag('span')
:addClass('ftime')
:wikitext(args['زمان'])
:attr('itemprop', 'address')
:wikitext(args['مکان'])
else
sdiv:tag('span')
:attr('itemprop', 'name address')
:wikitext(args['ورزشگاه'])
end
end
end
if args['تماشاگران'] then
if args['دور'] then
block:tag('div'):wikitext(attendance ..' ' .. args['تماشاگران'])
block:tag('div')
:addClass('frnd')
end
if args['داور'] then
:wikitext(args['دور'])
block:tag('div'):wikitext(referee .. ' ' .. args['داور'])
end
end
-- End block
-- End block
خط ۱۴۷: خط ۱۸۷:
-- Start table
-- Start table
local rtable = root:tag('table')
local rtable = root:tag('table')
:css('float', 'right')
:addClass('fevent')
:css('width', '61%')
:css('table-layout', 'fixed')
:css('text-align', 'center')
local row = rtable:tag('tr')
local row = rtable:tag('tr')
:attr('itemprop', 'name')
:attr('itemprop', 'name')
:css('vertical-align', 'top')
row:newline()
row:newline()
row:tag('th')
row:tag('th')
:css('width', '39%')
:addClass('fhome')
:css('text-align', 'left')
:attr('itemprop', 'homeTeam')
:attr('itemprop', 'homeTeam')
:attr('itemscope', '')
:attr('itemscope', '')
خط ۱۶۵: خط ۲۰۰:
:wikitext(args['تیم۱'])
:wikitext(args['تیم۱'])
row:tag('th')
row:tag('th')
:css('width', '22%')
:addClass('fscore')
:wikitext(score)
:wikitext(score)
row:tag('th')
row:tag('th')
:css('width', '39%')
:addClass('faway')
:css('text-align', 'right')
:attr('itemprop', 'awayTeam')
:attr('itemprop', 'awayTeam')
:attr('itemscope', '')
:attr('itemscope', '')
خط ۱۷۸: خط ۲۱۲:


row = rtable:tag('tr')
row = rtable:tag('tr')
:addClass('fgoals')
:css('vertical-align', 'top')
:css('font-size', '85%')
:newline()
:newline()
row:tag('td')
row:tag('td')
:css('text-align', 'left')
:addClass('fhgoal')
:wikitext(fmtlist(args['گل۱']))
:wikitext(fmtlist(args['گل۱']))
row:newline()
row:newline()
خط ۱۸۹: خط ۲۲۲:
row:newline()
row:newline()
row:tag('td')
row:tag('td')
:css('text-align', 'right')
:addClass('fagoal')
:wikitext(fmtlist(args['گل۲']))
:wikitext(fmtlist(args['گل۲']))
row:newline()
row:newline()
خط ۲۰۰: خط ۲۳۳:
:wikitext(penalties)
:wikitext(penalties)
row = rtable:tag('tr')
row = rtable:tag('tr')
:css('vertical-align', 'top')
:addClass('fgoals')
:css('font-size', '85%')
row:newline()
row:newline()
row:tag('td')
row:tag('td')
:css('text-align', 'left')
:addClass('fhgoal')
:wikitext(fmtlist(args['پنالتی۱']))
:wikitext(fmtlist(args['پنالتی۱']))
row:newline()
row:newline()
خط ۲۱۱: خط ۲۴۳:
row:newline()
row:newline()
row:tag('td')
row:tag('td')
:css('text-align', 'right')
:addClass('fagoal')
:wikitext(fmtlist(args['پنالتی۲']))
:wikitext(fmtlist(args['پنالتی۲']))
row:newline()
row:newline()
خط ۲۱۷: خط ۲۴۹:
-- End table
-- End table
-- Start left block
-- Start right block
block = root:tag('div')
block = root:tag('div')
:addClass('mobile-float-reset')
:addClass('fright')
:css('float', 'right')
:css('width', '15%')
:css('padding', '2px 0')
:css('overflow', 'auto')
if args['ورزشگاه'] then
local timetag = block:tag('time')
local sdiv = block:tag('div')
:attr('itemprop', d and 'startDate' or nil)
:attr('datetime', d)
:attr('itemprop', 'location')
:css('display', 'block')
:attr('itemscope', '')
:css('overflow', 'auto')
:attr('itemtype', placeschema)
if args['مکان'] then
timetag:tag('span')
sdiv:tag('span')
:attr('itemprop', 'name')
:addClass('mobile-float-reset')
:wikitext(args['ورزشگاه'])
:css('display', 'block')
:css('float', 'right')
sdiv:wikitext('، ')
sdiv:tag('span')
:wikitext(args['تاریخ'])
:attr('itemprop', 'address')
if args['زمان'] then
:wikitext(args['مکان'])
else
timetag:tag('span')
:addClass('mobile-float-reset')
sdiv:tag('span')
:css('display', 'block')
:attr('itemprop', 'name address')
:css('clear', 'right')
:wikitext(args['ورزشگاه'])
end
:css('float', 'right')
:wikitext(args['زمان'])
end
end
if args['دور'] then
if args['تماشاگران'] then
block:tag('div')
block:tag('div'):wikitext(attendance ..' ' .. args['تماشاگران'])
end
:addClass('mobile-float-reset')
if args['داور'] then
:css('clear', 'left')
block:tag('div'):wikitext(referee .. ' ' .. args['داور'])
:css('float', 'right')
:wikitext(args['دور'])
end
end
-- End block


local trackstr = (#tracking > 0) and table.concat(tracking, '') or ''
return tostring(root)
if #preview > 0 and frame:preprocess( "{{REVISIONID}}" ) == "" then
trackstr = tostring(mw.html.create('div')
:addClass('hatnote')
:css('color','red')
:tag('strong'):wikitext('هشدار:'):done()
:wikitext('پارامترهای نامعلوم: ' .. table.concat(preview, '; ')))
end
return frame:extensionTag{ name = 'templatestyles', args = { src = templatestyles} } .. tostring(root) .. trackstr
end
end



نسخهٔ ‏۱۶ ژوئن ۲۰۲۱، ساعت ۱۳:۴۴

توضیحات پودمان[نمایش] [ویرایش] [تاریخچه] [پاکسازی]

این پودمان در الگو:جعبه فوتبال استفاده می‌شود.

-- Implements [[الگو: جعبه فوتبال]]
local p = {}
local lang = nil
local delink = require('Module:Delink')._delink
local eventschema = "http://schema.org/SportsEvent"
local teamschema = "http://schema.org/SportsTeam"
local placeschema = "http://schema.org/Place"
local penalties = '[[ضربات پنالتی (فوتبال)|ضربات پنالتی]]'
local aet = '[[وقت اضافه|و.ا.]]'
local asdet = '[[مردن ناگهانی (ورزش)#فوتبال|م.ن.]]'
local agget = '[[وقت اضافه|و.ا.]]/[[گل طلایی|گ.ط.]]'
local asget = '[[وقت اضافه|و.ا.]]/[[گل طلایی#گل نقره‌ای|گ.ن.]]'
local attendance = 'تماشاگران:'
local referee = 'داور:'
local templatestyles = 'Module:Football box/styles.css'

local tracking, preview

local function checkarg(k,v)
	if not k or type(k) ~= 'string' then return end
	
	if  k == 'assistantreferees2' then
		table.insert(tracking, '[[رده:الگو: جعبه فوتبال که از پارامتر کمک‌داور استفاده می‌کند|۲]]')
	elseif k == 'aggregatescore' or k == 'assistantreferees' or 
			k == 'fourthofficial' or k == 'game' or k == 'بهترین بازیکن' or k == 'motm' or 
			k == 'nobars' or k == 'note' or k == 'result' then
		-- valid and tracked
		table.insert(tracking, '[[رده:الگو: جعبه فوتبال که از پارامتر ' .. k .. ' استفاده می‌کند]]')
	elseif k == 'اندازه' or k == 'size' or k == 'bg' or k == 'شناسه' or k == 'id' or k == 'تیم۱' or k == 'team1' or 
		k == 'تیم۲' or k == 'team2' or k == 'نتیجه۱' or k == 'score1' or k == 'نتیجه۲' or k == 'score2' or k == 'نتیجه' or k == 'score' or k == 'یادداشت نتیجه' or k == 'scorenote' or
		k == 'وقت اضافه' or k == 'aet' or k == 'asdet' or k == 'agget' or k == 'asget' or k == 'گل۱' or k == 'gools1' or k == 'گزارش' or k == 'report' or k == 'گل۲' or k == 'gools2' or 
		k == 'نتیجه  پنالتی' or k == 'penaltyscore' or k == 'پنالتی۱' or k == 'penaltise1' or k == 'پنالتی۲' or k == 'penaltise2' or 
		k == 'ورزشگاه' or k == 'stadium' or k == 'مکان' or k == 'location' or k == 'تماشاگران' or k == 'attendance' or 
		k == 'داور' or k == 'referee' or k == 'stack' or k == 'تاریخ' or k == 'date' or k == 'زمان' or k == 'time' then
		-- valid and not tracked
	else
		-- invalid
		local vlen = mw.ustring.len(k)
		k = mw.ustring.sub(k, 1, (vlen < 25) and vlen or 25) 
		k = mw.ustring.gsub(k, '[^%w\-_ ]', '?')
		table.insert(tracking, '[[رده:الگو: جعبه فوتبال که از پارامترهای ناشناخته استفاده می‌کند|' .. k .. ']]')
		table.insert(preview, '«' .. k .. '»')
	end
end

local function timestamp(d, t)
	if not d then return nil end
	
	lang = lang or mw.language.getContentLanguage() -- lazy initialize
	local success, timestamp = pcall(lang.formatDate, lang, 'c', delink({d .. ' ' .. (t or '')}))
	if success then
		return timestamp
	else
		return nil
	end
end

local function fmtlist(s)
	s = mw.ustring.gsub(s or '', '%[%[ *([%?-]) *%]%]', '%1')
	s = mw.ustring.gsub(s, '%[%[ *[%?-] *| *(.-) *%]%]', '%1')
	if mw.ustring.sub(s, 1, 1) == '*' then
		return tostring(mw.html.create('div'):addClass('plainlist'):newline():wikitext(s))
	end
	return s
end

local function makelink(s,t)
	if s:match('^http') then
		return '[' .. s .. ' ' .. t .. ']'
	end
	return s
end

local function trim(s)
	return s:match('^[\'"%s]*(.-)[\'"%s]*$')
end

local function getid(s)
	s = trim(s or '')
	if s and s ~= '' then
		return s
	end
	return nil
end

function p.main(frame)
	local args = require('Module:Arguments').getArgs(frame)
	
        args['نتیجه۱'] = args['نتیجه۱'] or args['score1']
        args['نتیجه۲'] = args['نتیجه۲'] or args['score2']
        args['نتیجه'] = args['نتیجه'] or args['score']
        args['وقت اضافه'] = args['وقت اضافه'] or args['aet']
        args['رویداد'] = args['رویداد'] or args['event']
        args['تاریخ'] = args['تاریخ'] or args['date']
        args['زمان'] = args['زمان'] or args['time']
        args['دور'] = args['دور'] or args['round']
        args['تیم۱'] = args['تیم۱'] or args['team1']
        args['تیم۲'] = args['تیم۲'] or args['team2']
        args['گل۱'] = args['گل۱'] or args['goals1']
        args['گل۲'] = args['گل۲'] or args['goals2']
        args['پنالتی۱'] = args['پنالتی۱'] or args['penalties1']
        args['پنالتی۲'] = args['پنالتی۲'] or args['penalties2']
        args['نتیجه پنالتی'] = args['نتیجه پنالتی'] or args['penaltyscore']
        args['گزارش'] = args['گزارش'] or args['report']
        args['ورزشگاه'] = args['ورزشگاه'] or args['stadium']
        args['مکان'] = args['مکان'] or args['location']
        args['تماشاگران'] = args['تماشاگران'] or args['attendance']
        args['داور'] = args['داور'] or args['referee']
        args['مردن ناگهانی'] = args['مردن ناگهانی'] or args['asdet']
        args['گل طلایی'] = args['گل طلایی'] or args['agget']
        args['گل نقره‌ای'] = args['گل نقره‌ای'] or args['asget'] 
        args['یادداشت نتیجه'] = args['یادداشت نتیجه'] or args['scorenote']
        args['اندازه'] = args['اندازه'] or args['size']
        
	local id = getid(args['شناسه'] or args['id'])
	local d = timestamp( args['تاریخ'], args['زمان'])
	local block
	
	tracking, preview = {}, {}
    for k, v in pairs(args) do
    	if v ~= '' then
    		checkarg(k,v)
    	end
	end

	local score = 'v'
	if args['نتیجه۱'] or args['نتیجه۲'] then
		score = (args['نتیجه۱'] or '0') .. '&ndash;' .. (args['نتیجه۲'] or '0')
	elseif args['نتیجه'] and args['نتیجه'] ~= '' then
		score = args['نتیجه']
	end
	if args['وقت اضافه'] then
		score = score .. ' (' .. aet .. ')'
	elseif args['مردن ناگهانی'] then
		score = score .. ' (' .. asdet .. ')'
	elseif args['گل طلایی'] then
		score = score .. ' (' .. agget .. ')'
	elseif args['گل نقره‌ای'] then
		score = score .. ' (' .. asget .. ')'
	end
	if args['یادداشت نتیجه'] then
		score = score .. '<br>' .. args['یادداشت نتیجه']
	end
	
	-- Start box
	local root = 
		mw.html.create('div')
			:attr('itemscope', '')
			:attr('itemtype', eventschema)
			:addClass('footballbox')
			:css('width', args['اندازه'])
			:css('background-color', args['bg'])
			:attr('id', id)
	root:newline()
	
	if args['رویداد'] then
		root:tag('div')
			:addClass('ftitle')
			:wikitext(args['رویداد'])
	end
	
	-- Start left block
	block = root:tag('div')
		:addClass('fleft')
	
	local timetag = block:tag('time')
		:attr('itemprop', d and 'startDate' or nil)
		:attr('datetime', d)
		
	timetag:tag('div')
		:addClass('fdate')
		:wikitext(args['تاریخ'])
	
	if args['زمان'] then
		timetag:tag('div')
			:addClass('ftime')
			:wikitext(args['زمان'])
	end
	
	if args['دور'] then
		block:tag('div')
			:addClass('frnd')
			:wikitext(args['دور'])
	end
	-- End block
	
	-- Start table
	local rtable = root:tag('table')
		:addClass('fevent')
	local row = rtable:tag('tr')
		:attr('itemprop', 'name')
	row:newline()
	row:tag('th')
		:addClass('fhome')
		:attr('itemprop', 'homeTeam')
		:attr('itemscope', '')
		:attr('itemtype', teamschema)
		:tag('span')
			:attr('itemprop', 'name')
			:wikitext(args['تیم۱'])
	row:tag('th')
		:addClass('fscore')
		:wikitext(score)
	row:tag('th')
		:addClass('faway')
		:attr('itemprop', 'awayTeam')
		:attr('itemscope', '')
		:attr('itemtype', teamschema)
		:tag('span')
			:attr('itemprop', 'name')
			:wikitext(args['تیم۲'])

	row = rtable:tag('tr')
		:addClass('fgoals')
		:newline()
	row:tag('td')
		:addClass('fhgoal')
		:wikitext(fmtlist(args['گل۱']))
	row:newline()
	row:tag('td')
		:wikitext(makelink(args['گزارش'] or '', 'گزارش'))
	row:newline()
	row:tag('td')
		:addClass('fagoal')
		:wikitext(fmtlist(args['گل۲']))
	row:newline()	
	
	if args['نتیجه پنالتی'] then
		rtable
			:tag('tr')
				:tag('th')
					:attr('colspan', 3)
					:wikitext(penalties)
		row = rtable:tag('tr')
			:addClass('fgoals')
		row:newline()
		row:tag('td')
			:addClass('fhgoal')
			:wikitext(fmtlist(args['پنالتی۱']))
		row:newline()
		row:tag('th')
			:wikitext(args['نتیجه پنالتی'])
		row:newline()
		row:tag('td')
			:addClass('fagoal')
			:wikitext(fmtlist(args['پنالتی۲']))
		row:newline()
	end
	-- End table
	
	-- Start right block
	block = root:tag('div')
		:addClass('fright')
	
	if args['ورزشگاه'] then
		local sdiv = block:tag('div')
			:attr('itemprop', 'location')
			:attr('itemscope', '')
			:attr('itemtype', placeschema)
		if args['مکان'] then
			sdiv:tag('span')
				:attr('itemprop', 'name')
				:wikitext(args['ورزشگاه'])
			sdiv:wikitext('، ')
			sdiv:tag('span')
				:attr('itemprop', 'address')
				:wikitext(args['مکان'])
		else
			sdiv:tag('span')
				:attr('itemprop', 'name address')
				:wikitext(args['ورزشگاه'])
		end
	end
	
	if args['تماشاگران'] then
		block:tag('div'):wikitext(attendance ..' ' .. args['تماشاگران'])
	end
	if args['داور'] then
		block:tag('div'):wikitext(referee .. ' ' .. args['داور'])
	end

	local trackstr = (#tracking > 0) and table.concat(tracking, '') or ''
	if #preview > 0 and frame:preprocess( "{{REVISIONID}}" ) == "" then
		trackstr = tostring(mw.html.create('div')
			:addClass('hatnote')
			:css('color','red')
			:tag('strong'):wikitext('هشدار:'):done()
			:wikitext('پارامترهای نامعلوم: ' .. table.concat(preview, '; ')))
	end
	
	return frame:extensionTag{ name = 'templatestyles', args = { src = templatestyles} } .. tostring(root) .. trackstr
end

return p
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy