در حال ویرایش پودمان:Message box

هشدار: شما وارد نشده‌اید. نشانی آی‌پی شما برای عموم قابل مشاهده خواهد بود اگر هر تغییری ایجاد کنید. اگر وارد شوید یا یک حساب کاربری بسازید، ویرایش‌هایتان به نام کاربری‌تان نسبت داده خواهد شد، همراه با مزایای دیگر.

این ویرایش را می‌توان خنثی کرد. لطفاً تفاوت زیر را بررسی کنید تا تأیید کنید که این چیزی است که می‌خواهید انجام دهید، سپس تغییرات زیر را ذخیره کنید تا خنثی‌سازی ویرایش را به پایان ببرید.

نسخهٔ فعلی متن شما
خط ۳: خط ۳:


-- Load necessary modules.
-- Load necessary modules.
require('strict')
require('Module:No globals')
local getArgs
local getArgs
local yesno = require('Module:Yesno')
local yesno = require('Module:Yesno')
local lang = mw.language.getContentLanguage()


-- Get a language object for formatDate and ucfirst.
-- Get a language object for formatDate and ucfirst.
خط ۷۸: خط ۷۷:
if args.demospace and args.demospace ~= '' then
if args.demospace and args.demospace ~= '' then
-- implement demospace parameter of mbox
-- implement demospace parameter of mbox
local demospace = mw.ustring.lower(args.demospace)
local demospace = string.lower(args.demospace)
if DEMOSPACES[demospace] then
if DEMOSPACES[demospace] then
-- use template from DEMOSPACES
-- use template from DEMOSPACES
obj.cfg = cfg[DEMOSPACES[demospace]]
obj.cfg = cfg[DEMOSPACES[demospace]]
elseif mw.ustring.find( demospace, 'بحث' ) then
elseif string.find( demospace, 'بحث' ) then
-- demo as a talk page
-- demo as a talk page
obj.cfg = cfg.tmbox
obj.cfg = cfg.tmbox
خط ۱۳۴: خط ۱۳۳:
end
end
if sort then
if sort then
cat = mw.ustring.format('[[رده:%s|%s]]', cat, sort)
cat = string.format('[[رده:%s|%s]]', cat, sort)
else
else
cat = mw.ustring.format('[[رده:%s]]', cat)
cat = string.format('[[رده:%s]]', cat)
end
end
self.hasCategories = true
self.hasCategories = true
خط ۱۷۷: خط ۱۷۶:
self.name = args.name
self.name = args.name
if self.name then
if self.name then
self:addClass('box-' .. mw.ustring.gsub(self.name,' ','_'))
self:addClass('box-' .. string.gsub(self.name,' ','_'))
end
end
if yesno(args.plainlinks) ~= false then
if yesno(args.plainlinks) ~= false then
خط ۲۷۲: خط ۲۷۱:
                 if self.isSmall then
                 if self.isSmall then
                     local talkLink = talkArgIsTalkPage and talk or (talkTitle.prefixedText .. '#' .. talk)
                     local talkLink = talkArgIsTalkPage and talk or (talkTitle.prefixedText .. '#' .. talk)
                     talkText = mw.ustring.format('([[%s|بحث]])', talkLink)
                     talkText = string.format('([[%s|talk]])', talkLink)
                 else
                 else
                     talkText = 'گفتگوی مربوطه ممکن است در'
                     talkText = 'گفتگوی مربوطه ممکن است در'
                     if talkArgIsTalkPage then
                     if talkArgIsTalkPage then
                         talkText = mw.ustring.format(
                         talkText = string.format(
                             '%s [[%s|%s]] %s',
                             '%s [[%s|%s]] %s.',
                             talkText,
                             talkText,
                             talk,
                             talk,
خط ۲۸۴: خط ۲۸۳:
                         )
                         )
                     else
                     else
                         talkText = mw.ustring.format(
                         talkText = string.format(
                             '%s [[%s#%s|صفحهٔ بحث]] %s.',
                             '%s [[%s#%s|صفحهٔ بحث]] %s.',
                             talkText,
                             talkText,
خط ۳۰۳: خط ۳۰۲:
date = args.date
date = args.date
elseif args.date == '' and self.isTemplatePage then
elseif args.date == '' and self.isTemplatePage then
date = lang:formatDate('F Y') -- استفاده از تاریخ میلادی مرسوم است و نه تاریخ شمسی
date = lang:formatDate('xiF xiY')
end
end
if date then
if date then
self.date = mw.ustring.format(" <span class='date-container'><i>(<span class='date'>%s</span>)</i></span>", date)
self.date = string.format(" <small class='date-container'>''(<span class='date'>%s</span>)''</small>", date)
end
end
self.info = args.info
self.info = args.info
خط ۳۴۲: خط ۳۴۱:
and (cfg.imageSmallSize or '30x30px')
and (cfg.imageSmallSize or '30x30px')
or '40x40px'
or '40x40px'
self.imageLeft = mw.ustring.format('[[پرونده:%s|%s|link=|alt=]]', self.typeImage
self.imageLeft = string.format('[[پرونده:%s|%s|link=|alt=]]', self.typeImage
or 'Imbox notice.png', imageSize)
or 'Imbox notice.png', imageSize)
end
end
خط ۳۵۲: خط ۳۵۱:
self.imageRight = imageRight
self.imageRight = imageRight
end
end
-- set templatestyles
self.base_templatestyles = cfg.templatestyles
self.templatestyles = args.templatestyles
end
end


خط ۳۸۳: خط ۳۷۸:
allCat = type(allCat) == 'string' and allCat
allCat = type(allCat) == 'string' and allCat
if mainCat and date and date ~= '' then
if mainCat and date and date ~= '' then
local catTitle = mw.ustring.format('%s %s %s', mainCat, preposition, date)
local catTitle = string.format('%s %s %s', mainCat, preposition, date)
self:addCat(0, catTitle)
self:addCat(0, catTitle)
catTitle = getTitleObject('رده:' .. catTitle)
catTitle = getTitleObject('رده:' .. catTitle)
خط ۴۸۵: خط ۴۸۰:
root:tag('b')
root:tag('b')
:addClass('error')
:addClass('error')
:wikitext(mw.ustring.format(
:wikitext(string.format(
'الگوی <code>%s[[الگو:%s|%s]]%s</code> اشتباه جانشین شده‌است.',
'الگوی <code>%s[[الگو:%s|%s]]%s</code> اشتباه جانشین شده‌است.',
mw.text.nowiki('{{'), self.name, self.name, mw.text.nowiki('}}')
mw.text.nowiki('{{'), self.name, self.name, mw.text.nowiki('}}')
))
))
end
local frame = mw.getCurrentFrame()
root:wikitext(frame:extensionTag{
name = 'templatestyles',
args = { src = self.base_templatestyles },
})
-- Add support for a single custom templatestyles sheet. Undocumented as
-- need should be limited and many templates using mbox are substed; we
-- don't want to spread templatestyles sheets around to arbitrary places
if self.templatestyles then
root:wikitext(frame:extensionTag{
name = 'templatestyles',
args = { src = self.templatestyles },
})
end
end


خط ۵۲۸: خط ۵۰۹:
-- image width to 52px. If any images in a div are wider than that,
-- image width to 52px. If any images in a div are wider than that,
-- they may overlap with the text or cause other display problems.
-- they may overlap with the text or cause other display problems.
imageLeftCell = imageLeftCell:tag('div'):addClass('mbox-image-div')
imageLeftCell = imageLeftCell:tag('div'):css('width', '52px')
end
end
imageLeftCell:wikitext(self.imageLeft or nil)
imageLeftCell:wikitext(self.imageLeft or nil)
خط ۵۳۸: خط ۵۱۹:
row:tag('td')
row:tag('td')
:addClass('mbox-empty-cell')
:addClass('mbox-empty-cell')
:cssText(self.imageEmptyCellStyle or nil)
end
end


خط ۵۶۴: خط ۵۴۶:
end
end
if self.removalNotice then
if self.removalNotice then
textCellDiv:tag('span')
textCellDiv:tag('small')
:addClass('hide-when-compact')
:addClass('hide-when-compact')
:tag('i')
:tag('i')
:wikitext(mw.ustring.format(" (%s)", self.removalNotice))
:wikitext(string.format(" (%s)", self.removalNotice))
end
end
else
else
خط ۵۸۲: خط ۵۶۴:
-- If we are using a div, redefine imageRightCell so that the image
-- If we are using a div, redefine imageRightCell so that the image
-- is inside it.
-- is inside it.
imageRightCell = imageRightCell:tag('div'):addClass('mbox-image-div')
imageRightCell = imageRightCell:tag('div'):css('width', '52px')
end
end
imageRightCell
imageRightCell
خط ۶۰۱: خط ۵۸۳:
if self.invalidTypeError then
if self.invalidTypeError then
root:tag('div')
root:tag('div')
:addClass('mbox-invalid-type')
:css('text-align', 'center')
:wikitext(mw.ustring.format(
:wikitext(string.format(
'این جعبه پیام از پارامتر نامعتبر «type=%s» استفاده می‌کند و نیازمند اصلاح است.',
'این جعبه پیام از پارامتر نامعتبر «type=%s» استفاده می‌کند و نیازمند اصلاح است.',
self.type or ''
self.type or ''
لطفاً توجه داشته‌باشید که همهٔ مشارکت‌ها در ویکی حج منتشرشده تحت Creative Commons Attribution-NonCommercial-ShareAlike در نظر گرفته‌می‌شوند (برای جزئیات بیش‌تر ویکی حج:حق تکثیر را ببینید). اگر نمی‌خواهید نوشته‌هایتان بی‌رحمانه ویرایش و توزیع شوند؛ بنابراین، آنها را اینجا ارائه نکنید.
شما همچنین به ما تعهد می‌کنید که خودتان این را نوشته‌اید یا آن را از یک منبع با مالکیت عمومی یا مشابه آزاد آن برداشته‌اید (برای جزئیات بیش‌تر ویکی حج:حق تکثیر را ببینید). کارهای دارای حق تکثیر را بدون اجازه ارائه نکنید!
لغو راهنمای ویرایش‌کردن (در پنجرهٔ تازه باز می‌شود)

الگوی به‌کاررفته در این صفحه: