<?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%3ACite</id>
	<title>وحدة:Cite - تاريخ المراجعة</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%3ACite"/>
	<link rel="alternate" type="text/html" href="https://3rabica.org/index.php?title=%D9%88%D8%AD%D8%AF%D8%A9:Cite&amp;action=history"/>
	<updated>2026-06-05T05:16:48Z</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:Cite&amp;diff=355&amp;oldid=prev</id>
		<title>عبد العزيز: غيّر إعدادات حماية »وحدة:Cite«: بوت: [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:Cite&amp;diff=355&amp;oldid=prev"/>
		<updated>2023-09-01T20:20:16Z</updated>

		<summary type="html">&lt;p&gt;غيّر إعدادات حماية »&lt;a href=&quot;/%D9%88%D8%AD%D8%AF%D8%A9:Cite&quot; title=&quot;وحدة:Cite&quot;&gt;وحدة:Cite&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;local p = {}&lt;br /&gt;
&lt;br /&gt;
if nil ~= string.find(mw.getCurrentFrame():getTitle(), &amp;quot;ملعب&amp;quot;, 1, true) then -- did the {{#invoke:}} use sandbox version?&lt;br /&gt;
	wikidata = require(&amp;quot;وحدة:Wikidata2/ملعب&amp;quot;).formatStatementsFromLua&lt;br /&gt;
else -- otherwise&lt;br /&gt;
	wikidata = require(&amp;quot;وحدة:Wikidata2&amp;quot;).formatStatementsFromLua&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local quall = require(&amp;quot;Module:Cite/quall&amp;quot;)&lt;br /&gt;
local functions = require(&amp;quot;Module:Cite/functions&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
local Options = {}&lt;br /&gt;
&lt;br /&gt;
local function getentityprop(entity, p, pattern)&lt;br /&gt;
	-- get automatically url&lt;br /&gt;
	local addTracking = &amp;quot;&amp;quot;&lt;br /&gt;
	local Pattern = pattern or &amp;quot;autourl4&amp;quot; --autourl3&lt;br /&gt;
	if p == &amp;quot;P345&amp;quot; then&lt;br /&gt;
		Pattern = &amp;quot;&amp;quot;&lt;br /&gt;
		addTracking = &amp;quot;&amp;quot;&lt;br /&gt;
	end	&lt;br /&gt;
&lt;br /&gt;
	local tot = wikidata({ textformat = &amp;quot;text&amp;quot;, property = p, pattern = Pattern, numval = 5, noref = &amp;quot;true&amp;quot;, conjunction = &amp;quot; &amp;amp; &amp;quot;, enlabelcate = &amp;quot;true&amp;quot;, addTrackingCat = addTracking, noicon = &amp;quot;t&amp;quot;, raw2 = Options.raw or &amp;quot;&amp;quot;})&lt;br /&gt;
	if not tot or tot == &amp;quot;&amp;quot; then&lt;br /&gt;
		tot = wikidata({ textformat = &amp;quot;text&amp;quot;, entityId = entity, property = p, pattern = Pattern, noref = &amp;quot;true&amp;quot;, conjunction = &amp;quot; &amp;amp; &amp;quot;, enlabelcate = &amp;quot;true&amp;quot;, addTrackingCat = addTracking, noicon = &amp;quot;t&amp;quot;, raw2 = Options.raw or &amp;quot;&amp;quot;, numval = 5})&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local tot2 = &amp;quot;&amp;quot;&lt;br /&gt;
	if p == &amp;quot;P345&amp;quot; then&lt;br /&gt;
		tot2 = functions.make_P345_link_o(tot)&lt;br /&gt;
	end&lt;br /&gt;
	if tot2 and tot2 ~= &amp;quot;&amp;quot; then&lt;br /&gt;
		tot = &amp;quot;[&amp;quot; .. tot2 .. &amp;quot; &amp;quot; .. tot2 .. &amp;quot;]&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	if tot and tot ~= &amp;quot;&amp;quot; then&lt;br /&gt;
		tot = &amp;quot;وصلة : &amp;quot; .. tot&lt;br /&gt;
	end&lt;br /&gt;
	return tot&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
   يجلب خواص معينة عند وجود مراجع محددة مسبقاً&lt;br /&gt;
--]]&lt;br /&gt;
local function getsomequall(entity, snak, property)&lt;br /&gt;
	if&lt;br /&gt;
		snak[property] and snak[property][1] and snak[property][1].datavalue and&lt;br /&gt;
			snak[property][1].datavalue.value[&amp;quot;numeric-id&amp;quot;]&lt;br /&gt;
	 then&lt;br /&gt;
		id = snak[property][1].datavalue.value[&amp;quot;numeric-id&amp;quot;]&lt;br /&gt;
		local l10n = quall[id]&lt;br /&gt;
		if l10n then&lt;br /&gt;
			local q = {}&lt;br /&gt;
			for _, v in pairs(l10n) do&lt;br /&gt;
				mw.log(&amp;quot;Module:Cite finding &amp;quot; .. v[1] .. &amp;quot;, id:&amp;quot; .. id .. &amp;quot;,3:&amp;quot; .. (v[3] or &amp;quot;&amp;quot;))&lt;br /&gt;
				b = getentityprop(entity, v[1], v[3])&lt;br /&gt;
				if b and b ~= &amp;quot;&amp;quot; then&lt;br /&gt;
					table.insert(q, b)&lt;br /&gt;
					mw.log(&amp;quot;Module:Cite b &amp;quot; .. b)&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
			t = table.concat(q)&lt;br /&gt;
			if t and t ~= &amp;quot;&amp;quot; then&lt;br /&gt;
				return t&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function ValueFromItem(items, property, firstvalue)&lt;br /&gt;
	local pattern = &amp;quot;autourl&amp;quot;&lt;br /&gt;
	if property == &amp;quot;P212&amp;quot; or property == &amp;quot;P957&amp;quot; then&lt;br /&gt;
		pattern = nil&lt;br /&gt;
	end -- no automatic link for ISBN&lt;br /&gt;
	for i, item in pairs(items) do&lt;br /&gt;
		ednumber = wikidata({ textformat = &amp;quot;text&amp;quot;, entityId = item, property = property, firstvalue = firstvalue, pattern = pattern, noref = &amp;quot;true&amp;quot;, modifytime = &amp;quot;longdate&amp;quot;, enlabelcate = &amp;quot;true&amp;quot;, numval = 5})&lt;br /&gt;
	end&lt;br /&gt;
	return ednumber&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function ValueFromEntityId(entity, property, firstvalue)&lt;br /&gt;
	local pattern = &amp;quot;autourl&amp;quot;&lt;br /&gt;
	val = wikidata({ textformat = &amp;quot;text&amp;quot;, entityId = entity, property = property, firstvalue = firstvalue, pattern = pattern, noref = &amp;quot;true&amp;quot;, modifytime = &amp;quot;longdate&amp;quot;, enlabelcate = &amp;quot;true&amp;quot;, numval = 5})&lt;br /&gt;
	if val then&lt;br /&gt;
		return val&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--local function GetValueFromEntityId(snak,entity, property, firstvalue)&lt;br /&gt;
local function GetValueFromEntityId(snak, property, firstvalue)&lt;br /&gt;
	--local A = wikidata({ textformat = &amp;quot;text&amp;quot;,property = &amp;quot;P1629&amp;quot;, entityId=property,enlabelcate=&amp;quot;true&amp;quot;, firstvalue=&amp;quot;true&amp;quot;, noref=&amp;quot;true&amp;quot;, label = functions.get_property_label( property )})&lt;br /&gt;
	local A = functions.get_property_label(property)&lt;br /&gt;
	local Pattern = &amp;quot;autourl&amp;quot;&lt;br /&gt;
	if property == &amp;quot;P345&amp;quot; then&lt;br /&gt;
		Pattern = &amp;quot;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	local prop = wikidata({ textformat = &amp;quot;text&amp;quot;, property = property, firstvalue = firstvalue, noref = &amp;quot;true&amp;quot;, pattern = Pattern, modifytime = &amp;quot;longdate&amp;quot;, numval = 5}, snak)&lt;br /&gt;
	--mw.log(&amp;quot;prop&amp;quot; .. prop )&lt;br /&gt;
	if property == &amp;quot;P345&amp;quot; then&lt;br /&gt;
		url = functions.make_P345_link_o(prop)&lt;br /&gt;
		if url and url ~= &amp;quot;&amp;quot; then&lt;br /&gt;
			prop = &amp;quot;[&amp;quot; .. url .. &amp;quot; &amp;quot; .. url .. &amp;quot;]&amp;quot;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	--mw.log(&amp;#039;Module:Cite property:&amp;quot;&amp;#039; .. property .. &amp;#039;&amp;quot;&amp;#039; )&lt;br /&gt;
	--mw.log(&amp;#039;Module:Cite prop:&amp;quot;&amp;#039; .. prop .. &amp;#039;&amp;quot;&amp;#039; )&lt;br /&gt;
	--if not prop then prop = ValueFromEntityId(entity, property,firstvalue) end&lt;br /&gt;
	if prop and prop ~= &amp;quot;&amp;quot; then&lt;br /&gt;
		if A and A ~= &amp;quot;&amp;quot; then&lt;br /&gt;
			return A .. &amp;quot;: &amp;quot; .. prop&lt;br /&gt;
		else&lt;br /&gt;
			return prop&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function GetValueFromItem(items, snak, property, text, firstvalue)&lt;br /&gt;
	if property == &amp;quot;P50&amp;quot; then&lt;br /&gt;
		for i, item in pairs(items) do&lt;br /&gt;
			if item == &amp;quot;Q36578&amp;quot; then&lt;br /&gt;
				return &amp;quot;&amp;quot;&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local pattern = &amp;quot;autourl&amp;quot;&lt;br /&gt;
	if property == &amp;quot;P212&amp;quot; or property == &amp;quot;P957&amp;quot; then&lt;br /&gt;
		pattern = nil&lt;br /&gt;
	end -- no automatic link for ISBN&lt;br /&gt;
	local prop = wikidata({ textformat = &amp;quot;text&amp;quot;, property = property, firstvalue = firstvalue, pattern = pattern, numval = 5, noref = &amp;quot;true&amp;quot;, modifytime = &amp;quot;longdate&amp;quot;, enlabelcate = &amp;quot;true&amp;quot;}, snak)&lt;br /&gt;
	if not prop then&lt;br /&gt;
		prop = ValueFromItem(items, property, firstvalue)&lt;br /&gt;
	end&lt;br /&gt;
	if prop and prop ~= &amp;quot;&amp;quot; then&lt;br /&gt;
		if text and text ~= &amp;quot;&amp;quot; then&lt;br /&gt;
			prop = text .. &amp;quot;: &amp;quot; .. prop&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return prop&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function get_number_from_item(items, property)&lt;br /&gt;
	for i, item in pairs(items) do&lt;br /&gt;
		ednumber = wikidata({ textformat = &amp;quot;text&amp;quot;, entityId = item, property = property, firstvalue = &amp;quot;yes&amp;quot;, enlabelcate = &amp;quot;true&amp;quot;, numval = 5})&lt;br /&gt;
		if ednumber then&lt;br /&gt;
			return ednumber&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function getnumber(items, snak, property, text)&lt;br /&gt;
	local tex = functions.get_property_label(property)&lt;br /&gt;
&lt;br /&gt;
	local number = wikidata({ textformat = &amp;quot;text&amp;quot;, property = property, firstvalue = &amp;quot;true&amp;quot;, enlabelcate = &amp;quot;true&amp;quot;, numval = 5}, snak)&lt;br /&gt;
	if not number then&lt;br /&gt;
		number = get_number_from_item(items, property)&lt;br /&gt;
	end&lt;br /&gt;
	if not text then&lt;br /&gt;
		text = tex&lt;br /&gt;
	else&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if number and number ~= &amp;quot;&amp;quot; then&lt;br /&gt;
		if text then&lt;br /&gt;
			return text .. &amp;quot;: &amp;quot; .. number&lt;br /&gt;
		else&lt;br /&gt;
			return number&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function GetItemValue(items, snak, property, text, firstvalue)&lt;br /&gt;
	local pattern = &amp;quot;autourl&amp;quot;&lt;br /&gt;
	--	if property ==&amp;quot;P212&amp;quot; or property ==&amp;quot;P957&amp;quot; then pattern = nil end -- no automatic link for ISBN&lt;br /&gt;
	local prop = wikidata({ textformat = &amp;quot;text&amp;quot;, property = property, firstvalue = (firstvalue or &amp;quot;&amp;quot;), pattern = pattern, noref = &amp;quot;true&amp;quot;, modifytime = &amp;quot;longdate&amp;quot;, separator = &amp;quot;، و&amp;quot;, conjunction = &amp;quot;، و&amp;quot;, numval = 5 }, snak)&lt;br /&gt;
	if not prop then&lt;br /&gt;
		prop = ValueFromItem(items, property, (firstvalue or &amp;quot;&amp;quot;))&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if prop and prop ~= &amp;quot;&amp;quot; then&lt;br /&gt;
		if text and text ~= &amp;quot;&amp;quot; then&lt;br /&gt;
			prop = text .. &amp;quot;: &amp;quot; .. prop&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return prop&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function GetNumberFromItem(items, snak, property, text, firstvalue)&lt;br /&gt;
	local prop = wikidata({ textformat = &amp;quot;text&amp;quot;, property = property, firstvalue = &amp;quot;t&amp;quot;, numval = 5}, snak)&lt;br /&gt;
	for i, item in pairs(items) do&lt;br /&gt;
		ednumber = wikidata({ textformat = &amp;quot;text&amp;quot;, entityId = item, property = property, firstvalue = &amp;quot;true&amp;quot;, noref = &amp;quot;true&amp;quot;, numval = 5}&lt;br /&gt;
		)&lt;br /&gt;
	end&lt;br /&gt;
	if not prop then&lt;br /&gt;
		prop = ednumber&lt;br /&gt;
	end&lt;br /&gt;
	if prop and prop ~= &amp;quot;&amp;quot; then&lt;br /&gt;
		if text and text ~= &amp;quot;&amp;quot; then&lt;br /&gt;
			prop = text .. prop&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return prop&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
  جلب أي وصلة مرجع من الخواص مثل&lt;br /&gt;
	 P1065,P854&lt;br /&gt;
--]]&lt;br /&gt;
local function getLink(items, snak, property, text)&lt;br /&gt;
	-- local tex = functions.labeel(property,text)&lt;br /&gt;
	local links = wikidata({ textformat = &amp;quot;text&amp;quot;, property = property, pattern = &amp;quot;true&amp;quot;, noref = &amp;quot;true&amp;quot;, firstvalue = &amp;quot;true&amp;quot;, numval = 5}, snak)&lt;br /&gt;
	if links and links ~= &amp;quot;&amp;quot; then&lt;br /&gt;
		if text and text ~= &amp;quot;&amp;quot; then&lt;br /&gt;
			return functions.geturl(links, text)&lt;br /&gt;
		else&lt;br /&gt;
			return links&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
local function get_Link_from_item(items, snak, property, text)&lt;br /&gt;
	local links = ValueFromItem(items, property, &amp;quot;true&amp;quot;)&lt;br /&gt;
	local tex = functions.labeel(property, text)&lt;br /&gt;
	if links and links ~= &amp;quot;&amp;quot; then&lt;br /&gt;
		if tex and tex ~= &amp;quot;&amp;quot; then&lt;br /&gt;
			return tex .. &amp;quot;: &amp;quot; .. links&lt;br /&gt;
		else&lt;br /&gt;
			return links&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
--[[&lt;br /&gt;
  جلب أي تاريخ من الخواص مثل&lt;br /&gt;
	 P813,P577&lt;br /&gt;
--]]&lt;br /&gt;
local function getdate(snak, property, text)&lt;br /&gt;
	-- local tex = functions.labeel(property,text)&lt;br /&gt;
	if snak[property] then&lt;br /&gt;
		local dat = wikidata({ textformat = &amp;quot;text&amp;quot;, property = property, pattern = &amp;quot;true&amp;quot;, noref = &amp;quot;true&amp;quot;, modifytime = &amp;quot;longdate&amp;quot;, numval = 5 }, snak)&lt;br /&gt;
		if dat and dat ~= &amp;quot;&amp;quot; then&lt;br /&gt;
			if text and text ~= &amp;quot;&amp;quot; then&lt;br /&gt;
				return text .. &amp;quot;: &amp;quot; .. dat&lt;br /&gt;
			else&lt;br /&gt;
				return dat&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function getdate1(items, snak, property, text)&lt;br /&gt;
	for i, item in pairs(items) do&lt;br /&gt;
		local datetime1 = wikidata({ textformat = &amp;quot;text&amp;quot;, entityId = item, property = property, noref = &amp;quot;true&amp;quot;, enlabelcate = &amp;quot;true&amp;quot;, modifytime = &amp;quot;longdate&amp;quot;, numval = 5})&lt;br /&gt;
	end&lt;br /&gt;
	if text then&lt;br /&gt;
		return text .. &amp;quot;: &amp;quot; .. datetime1&lt;br /&gt;
	else&lt;br /&gt;
		return datetime1&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function getedition(items, snak)&lt;br /&gt;
	for i, item in pairs(items) do&lt;br /&gt;
		if item == &amp;quot;Q36578&amp;quot; then&lt;br /&gt;
			return &amp;quot;&amp;quot;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	local ordning = {&lt;br /&gt;
		&amp;quot;الأول&amp;quot;,&lt;br /&gt;
		&amp;quot;الثاني&amp;quot;,&lt;br /&gt;
		&amp;quot;الثالث&amp;quot;,&lt;br /&gt;
		&amp;quot;الرابع&amp;quot;,&lt;br /&gt;
		&amp;quot;الخامس&amp;quot;,&lt;br /&gt;
		&amp;quot;السادس&amp;quot;,&lt;br /&gt;
		&amp;quot;السابع&amp;quot;,&lt;br /&gt;
		&amp;quot;الثامن&amp;quot;,&lt;br /&gt;
		&amp;quot;التاسع&amp;quot;,&lt;br /&gt;
		&amp;quot;العاشر&amp;quot;,&lt;br /&gt;
		&amp;quot;الحادي عشر&amp;quot;,&lt;br /&gt;
		&amp;quot;الثاني عشر&amp;quot;&lt;br /&gt;
	}&lt;br /&gt;
	local ednumber&lt;br /&gt;
	if snak[&amp;quot;P393&amp;quot;] then&lt;br /&gt;
		ednumber = wikidata({ textformat = &amp;quot;text&amp;quot;, property = &amp;quot;P393&amp;quot;, firstvalue = &amp;quot;true&amp;quot;, enlabelcate = &amp;quot;true&amp;quot;, numval = 5}, snak)&lt;br /&gt;
	else&lt;br /&gt;
		ednumber = get_number_from_item(items, &amp;quot;P393&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
	if not ednumber then&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
	if not tonumber(ednumber) then&lt;br /&gt;
		return &amp;quot; الاصدار &amp;quot; .. ednumber&lt;br /&gt;
	end&lt;br /&gt;
	if ordning[tonumber(ednumber)] then&lt;br /&gt;
		return &amp;quot; الاصدار &amp;quot; .. ordning[tonumber(ednumber)]&lt;br /&gt;
	end&lt;br /&gt;
	local sist = string.sub(ednumber, string.len(ednumber))&lt;br /&gt;
	if sist == &amp;quot;1&amp;quot; or sist == &amp;quot;2&amp;quot; then&lt;br /&gt;
		return &amp;quot; : الاصدار &amp;quot; .. ednumber&lt;br /&gt;
	else&lt;br /&gt;
		return &amp;quot; : الاصدار &amp;quot; .. ednumber&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function getsubtitle(items, snak) -- needs i18n some languages do not use this format&lt;br /&gt;
	local s = {}&lt;br /&gt;
	if snak[&amp;quot;P1680&amp;quot;] then&lt;br /&gt;
		dd = wikidata({textformat = &amp;quot;text&amp;quot;, property = &amp;quot;P1680&amp;quot;, firstvalue = &amp;quot;true&amp;quot;, enlabelcate = &amp;quot;true&amp;quot;, numval = 5}, snak)&lt;br /&gt;
		table.insert(s,dd)&lt;br /&gt;
	else&lt;br /&gt;
		for i, item in pairs(items) do&lt;br /&gt;
			local lab = wikidata({ textformat = &amp;quot;text&amp;quot;, property = &amp;quot;P1680&amp;quot;, enlabelcate = &amp;quot;true&amp;quot;, entityId = item, firstvalue = &amp;quot;true&amp;quot;, noref = &amp;quot;true&amp;quot;, numval = 5})&lt;br /&gt;
			local sitelink = mw.wikibase.sitelink(item)&lt;br /&gt;
			if sitelink and lab then&lt;br /&gt;
				table.insert(s, &amp;quot;[[:&amp;quot; .. sitelink .. &amp;quot;|&amp;quot; .. lab .. &amp;quot;]]&amp;quot;)&lt;br /&gt;
			elseif sitelink then&lt;br /&gt;
				table.insert(s, &amp;quot;[[:&amp;quot; .. sitelink .. &amp;quot;]]&amp;quot;)&lt;br /&gt;
			elseif lab then&lt;br /&gt;
				table.insert(s, lab)&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	tot = table.concat(s, &amp;quot; — &amp;quot;)&lt;br /&gt;
	if tot and tot ~= &amp;quot;&amp;quot; then&lt;br /&gt;
		return tot&lt;br /&gt;
	else&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function gettitle(items, snak)&lt;br /&gt;
	local link = getLink(items, snak, &amp;quot;P854&amp;quot;) or getLink(items, snak, &amp;quot;P1065&amp;quot;, &amp;quot;&amp;quot;) -- the title will be with the link&lt;br /&gt;
	local title = GetItemValue(items, snak, &amp;quot;P1476&amp;quot;, &amp;quot;العنوان &amp;quot;, &amp;quot; &amp;quot;)&lt;br /&gt;
	local subtitle = GetItemValue(items, snak, &amp;quot;P1680&amp;quot;, &amp;quot;العنوان &amp;quot;, &amp;quot; &amp;quot;)&lt;br /&gt;
	if not title or title == &amp;quot;&amp;quot; then&lt;br /&gt;
		title = subtitle&lt;br /&gt;
	end&lt;br /&gt;
	if link and link ~= &amp;quot;&amp;quot; then&lt;br /&gt;
		return &amp;quot;&amp;quot;&lt;br /&gt;
	else&lt;br /&gt;
		return title&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function getwhatever(snak, property)&lt;br /&gt;
	if snak[property] then&lt;br /&gt;
		--mw.log(&amp;quot;Module:Cite getwhatever property &amp;quot; .. property)&lt;br /&gt;
		local a = functions.get_property_label(property)&lt;br /&gt;
		--local a = wikidata({ textformat = &amp;quot;text&amp;quot;,property = &amp;quot;P1629&amp;quot;, entityId=property, firstvalue=&amp;quot;true&amp;quot;, noref=&amp;quot;true&amp;quot;, enlabelcate=&amp;quot;true&amp;quot;, label =	functions.get_property_label(property)})&lt;br /&gt;
&lt;br /&gt;
		local s = {}&lt;br /&gt;
		--local items = {}&lt;br /&gt;
		--mw.log(&amp;quot;Module:Cite find snak.property &amp;quot; .. property)&lt;br /&gt;
		for j, prop in pairs(snak[property]) do&lt;br /&gt;
			if prop.snaktype == &amp;quot;value&amp;quot; then&lt;br /&gt;
				item = &amp;quot;Q&amp;quot; .. prop.datavalue.value[&amp;quot;numeric-id&amp;quot;]&lt;br /&gt;
				--table.insert(items, item)&lt;br /&gt;
				faso = wikidata({ textformat = &amp;quot;text&amp;quot;, entityId = item, property = property, noref = &amp;quot;true&amp;quot;, conjunction = &amp;quot;, &amp;quot;, enlabelcate = &amp;quot;true&amp;quot;, numval = 5})&lt;br /&gt;
				table.insert(s, faso)&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		if property == &amp;quot;P143&amp;quot; then&lt;br /&gt;
			a = &amp;quot;مستورد من &amp;quot;&lt;br /&gt;
		end&lt;br /&gt;
		if property == &amp;quot;P248&amp;quot; then&lt;br /&gt;
			a = &amp;quot;&amp;#039;&amp;#039;&amp;#039;مذكور في&amp;#039;&amp;#039;&amp;#039;&amp;quot;&lt;br /&gt;
		end&lt;br /&gt;
		--table.insert(s, wikidata({textformat = &amp;quot;text&amp;quot;,property=property, conjunction=&amp;#039;, &amp;#039;, enlabelcate=&amp;quot;true&amp;quot;}, snak))&lt;br /&gt;
		if #s &amp;gt; 0 then&lt;br /&gt;
			return (a or &amp;quot;&amp;quot;) .. &amp;quot;&amp;#039;&amp;#039;&amp;#039;:&amp;#039;&amp;#039;&amp;#039; &amp;quot; .. table.concat(s, &amp;quot;, &amp;quot;)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--local function gettherest(snak, entity)&lt;br /&gt;
local function gettherest(snak)&lt;br /&gt;
	local s = {}&lt;br /&gt;
	for property, j in pairs(snak) do&lt;br /&gt;
		Known = false&lt;br /&gt;
		for k, l in pairs(functions.Known_properties) do&lt;br /&gt;
			if property == l then&lt;br /&gt;
				Known = true&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		if not Known then&lt;br /&gt;
			local entity1 = mw.wikibase.getEntityObject(property)&lt;br /&gt;
			if entity1.claims and (entity1.datatype == &amp;quot;string&amp;quot; or entity1.datatype == &amp;quot;external-id&amp;quot;) then&lt;br /&gt;
				--local vaa =  GetValueFromEntityId(snak, entity, property, &amp;quot;true&amp;quot; )&lt;br /&gt;
				local vaa = GetValueFromEntityId(snak, property, &amp;quot;true&amp;quot;)&lt;br /&gt;
				--mw.log(&amp;quot;Module:Cite gettherest property:&amp;quot; .. property )&lt;br /&gt;
				table.insert(s, vaa)&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if #s &amp;gt; 0 then&lt;br /&gt;
		return table.concat(s, &amp;quot; — &amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function numbers(items, snak)&lt;br /&gt;
	local section = GetNumberFromItem(items, snak, &amp;quot;P958&amp;quot;, &amp;quot;الباب: &amp;quot;)&lt;br /&gt;
	local volume = GetNumberFromItem(items, snak, &amp;quot;P478&amp;quot;, &amp;quot;المجلد: &amp;quot;)&lt;br /&gt;
	local page = GetNumberFromItem(items, snak, &amp;quot;P304&amp;quot;, &amp;quot;الصفحة: &amp;quot;)&lt;br /&gt;
	local issue = GetNumberFromItem(items, snak, &amp;quot;P433&amp;quot;, &amp;quot;العدد: &amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	field = {}&lt;br /&gt;
	if section and section ~= &amp;quot;&amp;quot; then&lt;br /&gt;
		table.insert(field, section)&lt;br /&gt;
	end&lt;br /&gt;
	if volume and volume ~= &amp;quot;&amp;quot; then&lt;br /&gt;
		table.insert(field, volume)&lt;br /&gt;
	end&lt;br /&gt;
	if page and page ~= &amp;quot;&amp;quot; then&lt;br /&gt;
		table.insert(field, page)&lt;br /&gt;
	end&lt;br /&gt;
	if issue and issue ~= &amp;quot;&amp;quot; then&lt;br /&gt;
		table.insert(field, issue)&lt;br /&gt;
	end&lt;br /&gt;
	return table.concat(field, &amp;quot; — &amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function getISBN(items, snak)&lt;br /&gt;
	local ISBN13 = GetNumberFromItem(items, snak, &amp;quot;P212&amp;quot;, &amp;quot;ISBN &amp;quot;, &amp;quot;yes&amp;quot;) --ISBN 13&lt;br /&gt;
	local ISBN10 = GetNumberFromItem(items, snak, &amp;quot;P957&amp;quot;, &amp;quot;ISBN &amp;quot;, &amp;quot;yes&amp;quot;) --ISBN 10&lt;br /&gt;
	if not ISBN13 or ISBN13 == &amp;quot;&amp;quot; then&lt;br /&gt;
		ISBN13 = ISBN10&lt;br /&gt;
	end&lt;br /&gt;
	return ISBN13&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function doipmid(items, snak)&lt;br /&gt;
	local doi = GetValueFromItem(items, snak, &amp;quot;P356&amp;quot;)&lt;br /&gt;
	 -- Digital Object Identifier&lt;br /&gt;
	local pmid = GetValueFromItem(items, snak, &amp;quot;P698&amp;quot;)&lt;br /&gt;
	 -- Identifier for journal&lt;br /&gt;
	local pmc = GetValueFromItem(items, snak, &amp;quot;P932&amp;quot;)&lt;br /&gt;
	 -- identifier issued by PubMed Central&lt;br /&gt;
	field = {}&lt;br /&gt;
	if doi and doi ~= &amp;quot;&amp;quot; then&lt;br /&gt;
		table.insert(field, doi)&lt;br /&gt;
	end&lt;br /&gt;
	if pmid and pmid ~= &amp;quot;&amp;quot; then&lt;br /&gt;
		table.insert(field, pmid)&lt;br /&gt;
	end&lt;br /&gt;
	if pmc and pmc ~= &amp;quot;&amp;quot; then&lt;br /&gt;
		table.insert(field, pmc)&lt;br /&gt;
	end&lt;br /&gt;
	return table.concat(field, &amp;quot; — &amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function Getquall(snak, entity)&lt;br /&gt;
	local quall = getsomequall(entity, snak, &amp;quot;P143&amp;quot;)&lt;br /&gt;
	local quall1 = getsomequall(entity, snak, &amp;quot;P248&amp;quot;)&lt;br /&gt;
	if not quall or quall == &amp;quot;&amp;quot; then&lt;br /&gt;
		quall = quall1&lt;br /&gt;
	end&lt;br /&gt;
	return quall&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function getMultiLink(items, snak, entity)&lt;br /&gt;
	local title = GetItemValue(items, snak, &amp;quot;P1476&amp;quot;, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;)&lt;br /&gt;
	local link = getLink(items, snak, &amp;quot;P854&amp;quot;, title)&lt;br /&gt;
	 --,&amp;quot;وصلة مرجع&amp;quot;&lt;br /&gt;
	local link1 = get_Link_from_item(items, snak, &amp;quot;P854&amp;quot;) --&lt;br /&gt;
	--local therest = gettherest(snak, entity)&lt;br /&gt;
	local therest = gettherest(snak)&lt;br /&gt;
	local quall = Getquall(snak, entity)&lt;br /&gt;
	local fulltext = get_Link_from_item(items, snak, &amp;quot;P953&amp;quot;) --&lt;br /&gt;
	local accessdate = getdate(snak, &amp;quot;P813&amp;quot;, &amp;quot;تاريخ الاطلاع&amp;quot;)&lt;br /&gt;
	local archive = getLink(items, snak, &amp;quot;P1065&amp;quot;, &amp;quot;&amp;quot;)&lt;br /&gt;
	field = {}&lt;br /&gt;
	if link and link ~= &amp;quot;&amp;quot; then&lt;br /&gt;
		newtab = link --We don&amp;#039;t need to search for some links if they here already&lt;br /&gt;
	elseif therest and therest ~= &amp;quot;&amp;quot; then&lt;br /&gt;
		newtab = therest&lt;br /&gt;
	elseif quall and quall ~= &amp;quot;&amp;quot; then&lt;br /&gt;
		newtab = quall&lt;br /&gt;
	elseif link1 and link1 ~= &amp;quot;&amp;quot; then&lt;br /&gt;
		newtab = link1 -- last thing we want to see&lt;br /&gt;
	elseif fulltext and fulltext ~= &amp;quot;&amp;quot; then&lt;br /&gt;
		newtab = fulltext&lt;br /&gt;
	end&lt;br /&gt;
	if link and link ~= &amp;quot;&amp;quot; then&lt;br /&gt;
		if archive and archive ~= &amp;quot;&amp;quot; then&lt;br /&gt;
			archiveandlink = &amp;quot;t&amp;quot;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if newtab and newtab ~= &amp;quot;&amp;quot; then&lt;br /&gt;
		table.insert(field, newtab)&lt;br /&gt;
		if accessdate and accessdate ~= &amp;quot;&amp;quot; then&lt;br /&gt;
			table.insert(field, accessdate)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if archiveandlink and archiveandlink ~= &amp;quot;&amp;quot; then&lt;br /&gt;
		return &amp;quot;&amp;quot;&lt;br /&gt;
	else&lt;br /&gt;
		return table.concat(field, &amp;quot; — &amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function getarchiveLink(items, snak, entity)&lt;br /&gt;
	local title = GetItemValue(items, snak, &amp;quot;P1476&amp;quot;, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;)&lt;br /&gt;
	local link = getLink(items, snak, &amp;quot;P854&amp;quot;, &amp;quot;&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	local archive = getLink(items, snak, &amp;quot;P1065&amp;quot;, &amp;quot;&amp;quot;)&lt;br /&gt;
	local archive1 = getLink(items, snak, &amp;quot;P1065&amp;quot;, &amp;quot;وصلة ارشيفية&amp;quot;)&lt;br /&gt;
	local archivedate = getdate(snak, &amp;quot;P2960&amp;quot;, &amp;quot;&amp;quot;)&lt;br /&gt;
	 -- تاريخ الأرشفة&lt;br /&gt;
	local accessdate = getdate(snak, &amp;quot;P813&amp;quot;, &amp;quot;تاريخ الاطلاع&amp;quot;)&lt;br /&gt;
	local aa = functions.geturl((archive or link), title)&lt;br /&gt;
&lt;br /&gt;
	field = {}&lt;br /&gt;
	if archive and archive ~= &amp;quot;&amp;quot; then&lt;br /&gt;
		if aa and aa ~= &amp;quot;&amp;quot; then&lt;br /&gt;
			table.insert(field, aa)&lt;br /&gt;
		end&lt;br /&gt;
		if link and link ~= &amp;quot;&amp;quot; then&lt;br /&gt;
			org = functions.geturl(link, &amp;quot;الأصل&amp;quot;)&lt;br /&gt;
			if accessdate and accessdate ~= &amp;quot;&amp;quot; then&lt;br /&gt;
				table.insert(field, accessdate)&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		a = &amp;quot; مؤرشف من &amp;quot; .. (org or &amp;quot;الأصل&amp;quot;)&lt;br /&gt;
		if archivedate and archivedate ~= &amp;quot;&amp;quot; then&lt;br /&gt;
			a = a .. &amp;quot; في &amp;quot; .. archivedate&lt;br /&gt;
		end&lt;br /&gt;
		table.insert(field, a)&lt;br /&gt;
	end&lt;br /&gt;
	return table.concat(field, &amp;quot; — &amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function getreftable(items, snak, hash, options)&lt;br /&gt;
	local entity = options.entityId&lt;br /&gt;
	local rows = {&lt;br /&gt;
		GetValueFromItem(items, snak, &amp;quot;P50&amp;quot;, &amp;quot;المؤلف&amp;quot;), --author&lt;br /&gt;
		GetValueFromItem(items, snak, &amp;quot;P98&amp;quot;, &amp;quot;المحرر&amp;quot;), --editor&lt;br /&gt;
		gettitle(items, snak), --title&lt;br /&gt;
		GetValueFromItem(items, snak, &amp;quot;P123&amp;quot;, &amp;quot;الناشر&amp;quot;), --publisher&lt;br /&gt;
		GetValueFromItem(items, snak, &amp;quot;P170&amp;quot;, &amp;quot;المخترع&amp;quot;), --creator&lt;br /&gt;
		GetValueFromItem(items, snak, &amp;quot;P1433&amp;quot;, &amp;quot;نشر في&amp;quot;), --publishedin&lt;br /&gt;
		getdate(snak, &amp;quot;P577&amp;quot;, &amp;quot;تاريخ النشر&amp;quot;), --publishdate&lt;br /&gt;
		getedition(items, snak), --edition&lt;br /&gt;
		numbers(items, snak), --number&lt;br /&gt;
		doipmid(items, snak), --doipmid&lt;br /&gt;
		getISBN(items, snak), --isbn&lt;br /&gt;
		(getwhatever(snak, &amp;quot;P143&amp;quot;) or getwhatever(snak, &amp;quot;P248&amp;quot;)), --import&lt;br /&gt;
		getMultiLink(items, snak, entity), --MultiLink&lt;br /&gt;
		getarchiveLink(items, snak, entity), --archiveLink&lt;br /&gt;
		GetItemValue(items, snak, &amp;quot;P1683&amp;quot;, &amp;quot;إقتباس&amp;quot;, &amp;quot; &amp;quot;) --quote&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	local field = {}&lt;br /&gt;
&lt;br /&gt;
	for _, line in pairs(rows) do&lt;br /&gt;
		if line and line ~= &amp;quot;&amp;quot; then&lt;br /&gt;
			table.insert(field, line)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local license = GetItemValue(items, snak, &amp;quot;P275&amp;quot;, &amp;quot;الرخصة&amp;quot;)&lt;br /&gt;
	if license and license ~= &amp;quot;&amp;quot; and #field &amp;gt; 0 then&lt;br /&gt;
		table.insert(field, license)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local doo = table.concat(field, &amp;quot; — &amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	if doo and doo ~= &amp;quot;&amp;quot; then&lt;br /&gt;
		return doo --mw.getCurrentFrame():extensionTag( &amp;quot;ref&amp;quot;, doo, {name = hash} )&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function findblacklist(items)&lt;br /&gt;
	-- function to ignore Sister projects&lt;br /&gt;
	local val = &amp;quot;false&amp;quot;&lt;br /&gt;
	local s = {}&lt;br /&gt;
	for i, item in pairs(items) do&lt;br /&gt;
		function qoo(item, property)&lt;br /&gt;
			return wikidata({textformat = &amp;quot;text&amp;quot;, entityId = item, property = property, noref = &amp;quot;true&amp;quot;, firstvalue = &amp;quot;1&amp;quot;, formatting = &amp;quot;raw&amp;quot;, numval = 5})&lt;br /&gt;
		end&lt;br /&gt;
		local wiki = qoo(item, &amp;quot;P1800&amp;quot;) or qoo(item, &amp;quot;P1566&amp;quot;) or qoo(item, &amp;quot;P21&amp;quot;) -- all wikimedia site, GeoNames ,gender&lt;br /&gt;
		local wik2 = qoo(item, &amp;quot;P31&amp;quot;)&lt;br /&gt;
		local blackk = {&lt;br /&gt;
			&amp;quot;Q20651139&amp;quot;,&lt;br /&gt;
			&amp;quot;Q465&amp;quot;,&lt;br /&gt;
			&amp;quot;Q15241312&amp;quot;,&lt;br /&gt;
			&amp;quot;Q30069253&amp;quot;, -- ظهور مشكلة غير معروفة السبب في كريستوفر_تولكين [[موضوع:Veus9rhajrejwaho]]&lt;br /&gt;
			&amp;quot;Q52&amp;quot; -- Wikipedia&lt;br /&gt;
		}&lt;br /&gt;
		for k, b in pairs(blackk) do&lt;br /&gt;
			if item == b then&lt;br /&gt;
				val = &amp;quot;true&amp;quot;&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		if wiki and wiki ~= &amp;quot;&amp;quot; then&lt;br /&gt;
			val = &amp;quot;true&amp;quot;&lt;br /&gt;
		elseif&lt;br /&gt;
			wik2 == &amp;quot;Q5&amp;quot; or -- Human is not a direct reference&lt;br /&gt;
				wik2 == &amp;quot;Q184188&amp;quot; or -- Also Canton&lt;br /&gt;
				wik2 == &amp;quot;Q1250464&amp;quot;&lt;br /&gt;
		 then&lt;br /&gt;
			val = &amp;quot;true&amp;quot; -- Also places&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return val&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local ref_cash = {}&lt;br /&gt;
&lt;br /&gt;
function p.citeitem(items, snak, hash, options, notag)&lt;br /&gt;
	Options = options&lt;br /&gt;
	if hash and hash ~= &amp;quot;&amp;quot; and ref_cash[hash] then&lt;br /&gt;
		--mw.log(&amp;quot;Module:Cite ref_cash[hash] = &amp;quot; .. hash)&lt;br /&gt;
		return ref_cash[hash]&lt;br /&gt;
	end&lt;br /&gt;
	if not items and not snak then&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
	if type(items) == &amp;quot;string&amp;quot; then&lt;br /&gt;
		items = {items}&lt;br /&gt;
	end&lt;br /&gt;
	items = {}&lt;br /&gt;
	if snak.P248 then&lt;br /&gt;
		for j, prop in pairs(snak.P248) do&lt;br /&gt;
			if prop.snaktype == &amp;quot;value&amp;quot; then&lt;br /&gt;
				table.insert(items, &amp;quot;Q&amp;quot; .. prop.datavalue.value[&amp;quot;numeric-id&amp;quot;])&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	elseif snak.P143 then&lt;br /&gt;
		for j, prop in pairs(snak.P143) do&lt;br /&gt;
			if prop.snaktype == &amp;quot;value&amp;quot; then&lt;br /&gt;
				table.insert(items, &amp;quot;Q&amp;quot; .. prop.datavalue.value[&amp;quot;numeric-id&amp;quot;])&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	local blacklist1 = findblacklist(items)&lt;br /&gt;
	if blacklist1 == &amp;quot;true&amp;quot; then&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
	--local findtype = FindTypeOfRefrence(items, snak, options)&lt;br /&gt;
	local refrence = getreftable(items, snak, hash, options)&lt;br /&gt;
	if refrence and refrence ~= &amp;quot;&amp;quot; then&lt;br /&gt;
		if notag and notag ~= &amp;quot;&amp;quot; then&lt;br /&gt;
			refrence = refrence&lt;br /&gt;
		else&lt;br /&gt;
			refrence = mw.getCurrentFrame():extensionTag(&amp;quot;ref&amp;quot;, refrence, {name = hash})&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if hash and hash ~= &amp;quot;&amp;quot; then&lt;br /&gt;
		ref_cash[hash] = refrence&lt;br /&gt;
	end&lt;br /&gt;
	return refrence&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.citeitem2(ref, options, notag)&lt;br /&gt;
	Options = options&lt;br /&gt;
	if not ref then&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
	local hash = ref.hash&lt;br /&gt;
	local snak = ref.snaks&lt;br /&gt;
	local snnaks = &amp;quot;&amp;quot;&lt;br /&gt;
	if hash and hash ~= &amp;quot;&amp;quot; and ref_cash[hash] then&lt;br /&gt;
		--mw.log(&amp;quot;Module:Cite ref_cash[hash] = &amp;quot; .. hash)&lt;br /&gt;
		return ref_cash[hash]&lt;br /&gt;
	end&lt;br /&gt;
	for Px, prope in pairs(snak) do&lt;br /&gt;
		snnaks = snnaks .. &amp;quot;,&amp;quot; .. Px&lt;br /&gt;
	end&lt;br /&gt;
	--mw.log( &amp;quot;Module:Cite Citeitem2 hash: &amp;quot; ..	 hash )&lt;br /&gt;
	--mw.log( &amp;quot;Module:Cite *snnaks : &amp;quot; ..  snnaks )&lt;br /&gt;
	items = {}&lt;br /&gt;
	if snak.P248 then&lt;br /&gt;
		for j, prop in pairs(snak.P248) do&lt;br /&gt;
			if prop.snaktype == &amp;quot;value&amp;quot; then&lt;br /&gt;
				table.insert(items, &amp;quot;Q&amp;quot; .. prop.datavalue.value[&amp;quot;numeric-id&amp;quot;])&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	elseif snak.P143 then&lt;br /&gt;
		for j, prop in pairs(snak.P143) do&lt;br /&gt;
			if prop.snaktype == &amp;quot;value&amp;quot; then&lt;br /&gt;
				table.insert(items, &amp;quot;Q&amp;quot; .. prop.datavalue.value[&amp;quot;numeric-id&amp;quot;])&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	local blacklist1 = findblacklist(items)&lt;br /&gt;
	if blacklist1 == &amp;quot;true&amp;quot; then&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
	--local findtype = FindTypeOfRefrence(items, snak, options)&lt;br /&gt;
	local refrence = getreftable(items, snak, hash, options)&lt;br /&gt;
	if refrence and refrence ~= &amp;quot;&amp;quot; then&lt;br /&gt;
		if notag and notag ~= &amp;quot;&amp;quot; then&lt;br /&gt;
			refrence = refrence&lt;br /&gt;
		else&lt;br /&gt;
			refrence = mw.getCurrentFrame():extensionTag(&amp;quot;ref&amp;quot;, refrence, {name = hash})&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if hash and hash ~= &amp;quot;&amp;quot; then&lt;br /&gt;
		ref_cash[hash] = refrence&lt;br /&gt;
	end&lt;br /&gt;
	return refrence&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.reflist(frame)&lt;br /&gt;
	local list = mw.text.split(frame.args.item, &amp;quot; &amp;quot;)&lt;br /&gt;
	local s = {}&lt;br /&gt;
	for i, j in pairs(list) do&lt;br /&gt;
		local item = mw.wikibase.getEntityObject(mw.text.trim(j))&lt;br /&gt;
		local str = p.citeitem({mw.text.trim(j)}, item.claims, mw.text.trim(j) .. i, frame.args, &amp;quot;t&amp;quot;)&lt;br /&gt;
		if str then&lt;br /&gt;
			table.insert(s, &amp;quot;*&amp;quot; .. str)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return table.concat(s, &amp;quot;\n&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.cite(frame)&lt;br /&gt;
	local item = mw.wikibase.getEntityObject(frame.args.item)&lt;br /&gt;
	if not item then&lt;br /&gt;
		return &amp;quot;no item&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	return p.citeitem({frame.args.item}, item.claims, frame.args.item, frame.args, &amp;quot;t&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>عبد العزيز</name></author>
	</entry>
</feed>