مسابقه دانش‌دخت
اسلامیکال از تاریخ ۱۵ دی تا ۲۰ بهمن، میزبان یک همایه با موضوع زنان است. شما می‌توانید در مسابقه مقاله‌نویسی دانش‌دخت، شرکت کنید و با نگارش مقاله، از جوایز آن بهره‌مند باشید. اگر به موضوعات مربوط با زنان علاقه‌مندید، این فرصت را از دست ندهید. فهرستی از مقالات پیشنهادی جهت ایجاد یا ویرایش در اینجا وجود دارد.

پودمان:Reply to

از اسلامیکال
نسخهٔ تاریخ ‏۱۳ ژانویهٔ ۲۰۲۳، ساعت ۱۳:۲۶ توسط Mojtabakd (بحث | مشارکت‌ها) (ایجاد پودمان)
(تفاوت) → نسخهٔ قدیمی‌تر | نمایش نسخهٔ فعلی (تفاوت) | نسخهٔ جدیدتر ← (تفاوت)
پرش به ناوبری پرش به جستجو

توضیحات این پودمان می‌تواند در پودمان:Reply to/توضیحات قرار گیرد.

local p = {}

function p.replyto(frame)
	local origArgs = frame:getParent().args
	local args = {}
	local maxArg = 1
	local usernames = 0
	for k, v in pairs(origArgs) do
		if type(k) == 'number' then
			if mw.ustring.match(v,'%S') then
				if k > maxArg then maxArg = k end
				usernames = usernames + 1
				local title = mw.title.new(v)
				if not title then return '<strong class="error">خطا در [[الگو:پاسخ به]]: ورودی دارای نویسه‌های ممنوعه است.</strong>' end
				args[k] = title.rootText
			end
		elseif v == '' and k:sub(0,5) == 'label' then
			args[k] = '&#x200B;'
		else
			args[k] = v
		end
	end

	if usernames > (tonumber(frame.args.max) or 50) then
		return string.format(
			'<strong class="error">خطا در [[الگو:پاسخ به]]: بیش از %s نام تعریف شده‌است.</strong>',
			tostring(frame.args.max or 50)
		)
	else
		if usernames < 1 then
			if frame.args.example then args[1] = frame.args.example else return '<strong class="error">خطا در [[الگو:پاسخ به]]: نام کاربری داده نشده‌است.</strong>' end
		end
		local isfirst = true
		local outStr = ''
		for i = 1, maxArg do
			if args[i] then
				if isfirst then
					outStr = string.format(
						'<span class="template-ping">%s[[کاربر:%s|%s]]',
						args['prefix'] or '@',
						args[i],
						(args['label1'] or args['label']) or args[i]
					)
 					isfirst = false
				else
					if ( i < usernames and (usernames > 2) or ((usernames == 2) and (args['c'] == '')) ) then outStr = outStr..'،&rlm;' end
					if i == maxArg then outStr = outStr..' '..(args['c'] or 'و') end
					outStr = string.format(
						'%s [[کاربر:%s|%s]]',
						outStr,
						args[i],
						args['label'..tostring(i)] or args[i]
					)
				end
			end
		end
		outStr = outStr..(args['p'] or ': ')..'</span>'
		return outStr
	end
end

return p