<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ar">
	<id>https://3rabica.org/index.php?action=history&amp;feed=atom&amp;title=%D9%88%D8%AD%D8%AF%D8%A9%3AIll-WD2</id>
	<title>وحدة:Ill-WD2 - تاريخ المراجعة</title>
	<link rel="self" type="application/atom+xml" href="https://3rabica.org/index.php?action=history&amp;feed=atom&amp;title=%D9%88%D8%AD%D8%AF%D8%A9%3AIll-WD2"/>
	<link rel="alternate" type="text/html" href="https://3rabica.org/index.php?title=%D9%88%D8%AD%D8%AF%D8%A9:Ill-WD2&amp;action=history"/>
	<updated>2026-06-05T03:13:34Z</updated>
	<subtitle>تاريخ التعديل لهذه الصفحة في الويكي</subtitle>
	<generator>MediaWiki 1.43.7</generator>
	<entry>
		<id>https://3rabica.org/index.php?title=%D9%88%D8%AD%D8%AF%D8%A9:Ill-WD2&amp;diff=1392&amp;oldid=prev</id>
		<title>عبد العزيز: غيّر إعدادات حماية »وحدة:Ill-WD2«: بوت: [https://w.wiki/7NGP تحسين مستوي الحماية] ([تعديل=السماح للمحررين فقط] (غير محدد) [النقل=السماح للمحررين فقط] (غير محدد))</title>
		<link rel="alternate" type="text/html" href="https://3rabica.org/index.php?title=%D9%88%D8%AD%D8%AF%D8%A9:Ill-WD2&amp;diff=1392&amp;oldid=prev"/>
		<updated>2023-09-01T20:20:49Z</updated>

		<summary type="html">&lt;p&gt;غيّر إعدادات حماية »&lt;a href=&quot;/%D9%88%D8%AD%D8%AF%D8%A9:Ill-WD2&quot; title=&quot;وحدة:Ill-WD2&quot;&gt;وحدة:Ill-WD2&lt;/a&gt;«: بوت: [https://w.wiki/7NGP تحسين مستوي الحماية] ([تعديل=السماح للمحررين فقط] (غير محدد) [النقل=السماح للمحررين فقط] (غير محدد))&lt;/p&gt;
&lt;p&gt;&lt;b&gt;صفحة جديدة&lt;/b&gt;&lt;/p&gt;&lt;div&gt;---@diagnostic disable: undefined-global&lt;br /&gt;
local p = {}&lt;br /&gt;
local options = {}&lt;br /&gt;
local Frame&lt;br /&gt;
local RTL = &amp;quot;&amp;amp;rlm;&amp;quot;&lt;br /&gt;
local Category = {}&lt;br /&gt;
Category[&amp;quot;remove&amp;quot;] = &amp;quot;&amp;amp;nbsp;[[تصنيف:صفحات بها وصلات للإزالة]]&amp;quot;&lt;br /&gt;
Category[&amp;quot;review&amp;quot;] = &amp;quot;&amp;amp;nbsp;[[تصنيف:وصلات إنترويكي بحاجة لمراجعة|%s]]&amp;quot;&lt;br /&gt;
Category[&amp;quot;nositelinks&amp;quot;] = &amp;quot;&amp;amp;nbsp;[[تصنيف:صفحات بها قالب:Ill-WD2 دون وصلات لغات|%s]]&amp;quot;&lt;br /&gt;
Category[&amp;quot;add&amp;quot;] = &amp;quot;[[تصنيف:صفحات بها وصلات إنترويكي|%s]]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
function isvalid(x)&lt;br /&gt;
	if x and x ~= &amp;quot;&amp;quot; then&lt;br /&gt;
		return x&lt;br /&gt;
	end&lt;br /&gt;
	return nil&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function debug(msg)&lt;br /&gt;
	if isvalid(options.debug) then&lt;br /&gt;
		mw.log(&amp;quot;Module:Ill-WD2: &amp;quot; .. msg)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function countSiteLinks()&lt;br /&gt;
	local numb = 0&lt;br /&gt;
	local entity = mw.wikibase.getEntityObject(options.id)&lt;br /&gt;
	if entity and entity.sitelinks then&lt;br /&gt;
		for i, v in pairs(entity.sitelinks) do&lt;br /&gt;
			numb = numb + 1&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return numb&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function sitelink(site)&lt;br /&gt;
	local site = site or &amp;quot;arwiki&amp;quot;&lt;br /&gt;
	local link = mw.wikibase.sitelink(options.id, site) or &amp;quot;&amp;quot;&lt;br /&gt;
	debug(&amp;quot;mw.wikibase.sitelink : &amp;quot; .. link)&lt;br /&gt;
	return link&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function labelIn(langcode)&lt;br /&gt;
	local label, lange = mw.wikibase.getLabelWithLang(options.id)&lt;br /&gt;
	if lange == langcode then&lt;br /&gt;
		return label&lt;br /&gt;
	end&lt;br /&gt;
	debug(&amp;quot;label = &amp;quot; .. (label or &amp;quot;&amp;quot;) .. &amp;quot;lange = &amp;quot; .. (lange or &amp;quot;&amp;quot;) .. &amp;quot;langcode = &amp;quot; .. langcode)&lt;br /&gt;
	return &amp;quot;&amp;quot;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function makeCategory(key)&lt;br /&gt;
	if key ~= &amp;quot;add&amp;quot; and isvalid(options.nocat) then&lt;br /&gt;
		return &amp;quot;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	return Category[key]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function make_noy_text(str, langcode)&lt;br /&gt;
	if not isvalid(options.noy) then&lt;br /&gt;
		return str&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local prefix = langcode == &amp;quot;ar&amp;quot; and &amp;quot;&amp;quot; or &amp;quot;^&amp;quot;&lt;br /&gt;
	local suffix = langcode == &amp;quot;ar&amp;quot; and &amp;quot;$&amp;quot; or &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	local ca = str:gsub(prefix .. &amp;quot;%d%d%d%d[–-]%d%d%d%d%s*&amp;quot; .. suffix, &amp;quot;&amp;quot;)&lt;br /&gt;
	ca = ca:gsub(prefix .. &amp;quot;%d%d[–-]%d%d%d%d%s*&amp;quot; .. suffix, &amp;quot;&amp;quot;)&lt;br /&gt;
	ca = ca:gsub(prefix .. &amp;quot;%d%d%d%d[–-]%d%d%s*&amp;quot; .. suffix, &amp;quot;&amp;quot;)&lt;br /&gt;
	ca = ca:gsub(prefix .. &amp;quot;%d%d%d%d%s*&amp;quot; .. suffix, &amp;quot;&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	debug(&amp;quot;ca: &amp;quot; .. ca)&lt;br /&gt;
	return ca&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function maketext(String)&lt;br /&gt;
	if isvalid(options.text) then&lt;br /&gt;
		debug(&amp;quot;text: &amp;quot; .. options.text)&lt;br /&gt;
		return options.text&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local String2 = mw.ustring.gsub(String, &amp;quot;–&amp;quot;, &amp;quot;-&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	if isvalid(options.year) then&lt;br /&gt;
		return mw.ustring.match(String2, &amp;quot;%d%d%d%d[%–-]%d%d%d%d%s*$&amp;quot;, 1) or&lt;br /&gt;
			mw.ustring.match(String2, &amp;quot;%d%d[%–-]%d%d%d%d%s*$&amp;quot;, 1) or&lt;br /&gt;
			mw.ustring.match(String2, &amp;quot;%d%d%d%d[%–-]%d%d%s*$&amp;quot;, 1) or&lt;br /&gt;
			mw.ustring.match(String2, &amp;quot;%d%d%d%d%s*$&amp;quot;, 1) or&lt;br /&gt;
			mw.ustring.match(String2, &amp;quot;^%d%d%d%d[%–-]%d%d%d%d%s&amp;quot;, 1) or&lt;br /&gt;
			mw.ustring.match(String2, &amp;quot;^%d%d[%–-]%d%d%d%d%s&amp;quot;, 1) or&lt;br /&gt;
			mw.ustring.match(String2, &amp;quot;^%d%d%d%d[%–-]%d%d%s&amp;quot;, 1) or&lt;br /&gt;
			mw.ustring.match(String2, &amp;quot;^%d%d%d%d%s&amp;quot;, 1) or&lt;br /&gt;
			String&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if isvalid(options.noy) then&lt;br /&gt;
		local ca = make_noy_text(String, &amp;quot;ar&amp;quot;)&lt;br /&gt;
		return ca == String and make_noy_text(String, &amp;quot;en&amp;quot;) or ca&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return String&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function make_suffix(target_Site, target_Link, sitelinks_count)&lt;br /&gt;
	if sitelinks_count == 0 and not isvalid(options.from_lua) then&lt;br /&gt;
		return string.format(makeCategory(&amp;quot;nositelinks&amp;quot;), options.id)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local other_lang = &amp;quot;&amp;amp;quot;&amp;quot; .. options.id .. &amp;quot;&amp;amp;quot; في لغات أخرى&amp;quot;&lt;br /&gt;
	other_lang = &amp;#039;&amp;lt;sup class=reference title=&amp;quot;&amp;#039; .. other_lang .. &amp;#039;&amp;quot;&amp;gt;[لغات أخرى]&amp;lt;/sup&amp;gt;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
	local other_lang_text = &amp;quot;&amp;amp;nbsp;[[d:&amp;quot; .. options.id .. &amp;quot;#sitelinks-wikipedia|&amp;quot; .. other_lang .. &amp;quot;]]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	local suff =&lt;br /&gt;
		mw.text.tag(&lt;br /&gt;
		&amp;quot;span&amp;quot;,&lt;br /&gt;
		{&lt;br /&gt;
			class = &amp;quot;noprint&amp;quot;,&lt;br /&gt;
			style = &amp;quot;font-size: smaller; font-style: normal; font-weight: normal;&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		other_lang_text&lt;br /&gt;
	)&lt;br /&gt;
&lt;br /&gt;
	if isvalid(target_Link) and isvalid(target_Site) then&lt;br /&gt;
		local language = Frame:callParserFunction(&amp;quot;#language&amp;quot;, target_Site, &amp;quot;ar&amp;quot;)&lt;br /&gt;
		suff =&lt;br /&gt;
			&amp;quot;[[:&amp;quot; ..&lt;br /&gt;
			target_Site ..&lt;br /&gt;
				&amp;quot;:&amp;quot; .. target_Link .. &amp;#039;|&amp;lt;sup class=reference title=&amp;quot;&amp;#039; .. target_Link .. &amp;#039;&amp;quot;&amp;gt;[&amp;#039; .. language .. &amp;quot;]&amp;lt;/sup&amp;gt;]]&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local suffe = &amp;quot;&amp;amp;nbsp;&amp;quot; .. suff&lt;br /&gt;
	local text = isvalid(options.from_lua) and string.format(makeCategory(&amp;quot;add&amp;quot;), options.id) or &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	return suffe .. text&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function make_ar_link(title, suffix, sitelinks_count)&lt;br /&gt;
	local text = maketext(title)&lt;br /&gt;
	local link&lt;br /&gt;
	local tit = mw.title.new(title)&lt;br /&gt;
	local cate = isvalid(options.from_lua) and string.format(makeCategory(&amp;quot;review&amp;quot;), options.id) or &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	if sitelinks_count == 0 then&lt;br /&gt;
		link = text .. suffix&lt;br /&gt;
	elseif tit and tit.exists then&lt;br /&gt;
		debug(cate)&lt;br /&gt;
		link = text .. suffix .. cate&lt;br /&gt;
		mw.log(&amp;#039;review &amp;quot;&amp;#039; .. title .. &amp;#039;&amp;quot;, id: &amp;#039; .. options.id)&lt;br /&gt;
	else&lt;br /&gt;
		title = mw.ustring.gsub(title, &amp;quot;^تصنيف:&amp;quot;, &amp;quot;&amp;quot;)&lt;br /&gt;
		text = mw.ustring.gsub(text, &amp;quot;^تصنيف:&amp;quot;, &amp;quot;&amp;quot;)&lt;br /&gt;
		link = &amp;quot;[[&amp;quot; .. title .. &amp;quot;|&amp;quot; .. text .. &amp;quot;]]&amp;quot; .. suffix&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	debug(&amp;quot;link: &amp;quot; .. link)&lt;br /&gt;
	return link&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function argument_wrapper(frame)&lt;br /&gt;
	local args = frame.args&lt;br /&gt;
	-- merge args with frame:getParent().args&lt;br /&gt;
	for k, v in pairs(frame:getParent().args) do&lt;br /&gt;
		if args[k] == nil or args[k] == &amp;quot;&amp;quot; then&lt;br /&gt;
			args[k] = v&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local origin = {}&lt;br /&gt;
	local aliases = {&lt;br /&gt;
		[&amp;quot;debug&amp;quot;] = {&amp;quot;debug&amp;quot;},&lt;br /&gt;
		[&amp;quot;en_label&amp;quot;] = {&amp;quot;enlabel&amp;quot;},&lt;br /&gt;
		[&amp;quot;use_en_target&amp;quot;] = {&amp;quot;en&amp;quot;},&lt;br /&gt;
		[&amp;quot;id&amp;quot;] = {&amp;quot;المعرف&amp;quot;, &amp;quot;id&amp;quot;, 2},&lt;br /&gt;
		[&amp;quot;label&amp;quot;] = {&amp;quot;label&amp;quot;, 1},&lt;br /&gt;
		[&amp;quot;target&amp;quot;] = {&amp;quot;target&amp;quot;, &amp;quot;لغ&amp;quot;},&lt;br /&gt;
		[&amp;quot;nocat&amp;quot;] = {&amp;quot;nocat&amp;quot;},&lt;br /&gt;
		[&amp;quot;noy&amp;quot;] = {&amp;quot;noy&amp;quot;},&lt;br /&gt;
		[&amp;quot;year&amp;quot;] = {&amp;quot;y&amp;quot;},&lt;br /&gt;
		[&amp;quot;text&amp;quot;] = {&amp;quot;text&amp;quot;, &amp;quot;نص&amp;quot;},&lt;br /&gt;
		[&amp;quot;from_lua&amp;quot;] = {&amp;quot;fromlua&amp;quot;}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	-- iterate over the aliases table&lt;br /&gt;
	for k, v in pairs(aliases) do&lt;br /&gt;
		for _, alias in ipairs(v) do&lt;br /&gt;
			if args[alias] and args[alias] ~= &amp;quot;&amp;quot; then&lt;br /&gt;
				-- mw.log(&amp;quot;Module:Ill-WD2: alias: &amp;quot; .. alias .. &amp;quot;: for &amp;quot; .. k)&lt;br /&gt;
				origin[k] = args[alias]&lt;br /&gt;
				break&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		origin[k] = origin[k] or &amp;quot;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- return the new table with the original argument names&lt;br /&gt;
	return origin&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.link(frame)&lt;br /&gt;
	options = argument_wrapper(frame)&lt;br /&gt;
	Frame = frame:getParent()&lt;br /&gt;
&lt;br /&gt;
	local id = options.id&lt;br /&gt;
	if not isvalid(id) then&lt;br /&gt;
		return &amp;quot;No ID&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local target = options.target&lt;br /&gt;
	if isvalid(options.use_en_target) then&lt;br /&gt;
		target = &amp;quot;en&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	local en_label = options.en_label or (target == &amp;quot;en&amp;quot; and labelIn(&amp;quot;en&amp;quot;))&lt;br /&gt;
	local target_SiteLink = isvalid(target) and sitelink(target .. &amp;quot;wiki&amp;quot;) or &amp;quot;&amp;quot;&lt;br /&gt;
	local SiteLink = mw.wikibase.sitelink(id)&lt;br /&gt;
	local sitelinks_count = countSiteLinks()&lt;br /&gt;
&lt;br /&gt;
	if SiteLink then&lt;br /&gt;
		local Link = &amp;quot;[[&amp;quot; .. SiteLink .. &amp;quot;|&amp;quot; .. maketext(SiteLink) .. &amp;quot;]]&amp;quot;&lt;br /&gt;
		mw.log(&amp;quot;remove: &amp;quot; .. id)&lt;br /&gt;
		return Link .. makeCategory(&amp;quot;remove&amp;quot;) .. RTL&lt;br /&gt;
	end&lt;br /&gt;
	local suffix = make_suffix(target, target_SiteLink, sitelinks_count)&lt;br /&gt;
&lt;br /&gt;
	local ar_label = labelIn(&amp;quot;ar&amp;quot;)&lt;br /&gt;
	local ar_link = isvalid(options.label) and options.label or (isvalid(ar_label) and ar_label)&lt;br /&gt;
&lt;br /&gt;
	if isvalid(ar_link) then&lt;br /&gt;
		debug(&amp;quot;ar_link : &amp;quot; .. ar_link)&lt;br /&gt;
		return make_ar_link(ar_link, suffix, sitelinks_count) .. RTL&lt;br /&gt;
	elseif isvalid(en_label) then&lt;br /&gt;
		debug(&amp;quot;en_label &amp;quot; .. en_label)&lt;br /&gt;
		return maketext(en_label) .. make_suffix(&amp;quot;&amp;quot;, &amp;quot;&amp;quot;, sitelinks_count) .. RTL&lt;br /&gt;
	elseif isvalid(target) and isvalid(target_SiteLink) then&lt;br /&gt;
		debug(&amp;quot;target &amp;quot; .. target .. &amp;quot;: &amp;quot; .. target_SiteLink)&lt;br /&gt;
		return maketext(target_SiteLink) .. suffix .. RTL&lt;br /&gt;
	else&lt;br /&gt;
		debug(&amp;quot;nothing en_label: &amp;quot; .. en_label)&lt;br /&gt;
		return &amp;quot;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>عبد العزيز</name></author>
	</entry>
</feed>