<?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%3AOn_This_Day</id>
	<title>وحدة:On This Day - تاريخ المراجعة</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%3AOn_This_Day"/>
	<link rel="alternate" type="text/html" href="https://3rabica.org/index.php?title=%D9%88%D8%AD%D8%AF%D8%A9:On_This_Day&amp;action=history"/>
	<updated>2026-06-05T16:23:03Z</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:On_This_Day&amp;diff=2532&amp;oldid=prev</id>
		<title>عبد العزيز: تحديث لمعالجة وجود أكثر من حدث في سنة واحدة</title>
		<link rel="alternate" type="text/html" href="https://3rabica.org/index.php?title=%D9%88%D8%AD%D8%AF%D8%A9:On_This_Day&amp;diff=2532&amp;oldid=prev"/>
		<updated>2022-03-11T20:29:52Z</updated>

		<summary type="html">&lt;p&gt;تحديث لمعالجة وجود أكثر من حدث في سنة واحدة&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ar&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;→ نسخة أقدم&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;نسخة 00:29، 12 مارس 2022&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;4&quot; class=&quot;diff-notice&quot; lang=&quot;ar&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(لا فرق)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;!-- diff cache key arabica_wiki:diff:1.41:old-2312:rev-2532 --&gt;
&lt;/table&gt;</summary>
		<author><name>عبد العزيز</name></author>
	</entry>
	<entry>
		<id>https://3rabica.org/index.php?title=%D9%88%D8%AD%D8%AF%D8%A9:On_This_Day&amp;diff=2312&amp;oldid=prev</id>
		<title>عبد العزيز: تحديث لمعالجة وجود أكثر من حدث في سنة واحدة</title>
		<link rel="alternate" type="text/html" href="https://3rabica.org/index.php?title=%D9%88%D8%AD%D8%AF%D8%A9:On_This_Day&amp;diff=2312&amp;oldid=prev"/>
		<updated>2022-03-11T20:29:52Z</updated>

		<summary type="html">&lt;p&gt;تحديث لمعالجة وجود أكثر من حدث في سنة واحدة&lt;/p&gt;
&lt;p&gt;&lt;b&gt;صفحة جديدة&lt;/b&gt;&lt;/p&gt;&lt;div&gt;--[[ ====================== حدث في مثل هذه اليوم================&lt;br /&gt;
هذه الوحدة تجلب الأحداث من الصفحات الهجرية والميلادية&lt;br /&gt;
]]&lt;br /&gt;
local p = {} --p stands for package&lt;br /&gt;
local hc = require &amp;quot;Module:Hijri/core&amp;quot;&lt;br /&gt;
local hijri = require &amp;quot;Module:Hijri&amp;quot;&lt;br /&gt;
local text =mw.text&lt;br /&gt;
local string = mw.ustring&lt;br /&gt;
local sandbox = &amp;quot;&amp;quot;&lt;br /&gt;
local maxlength = 1100&lt;br /&gt;
--[[========= USEFULL Functions ==========]]&lt;br /&gt;
&lt;br /&gt;
function esc_pattern(str)&lt;br /&gt;
	return string.gsub(str, &amp;quot;%p&amp;quot;, &amp;quot;%%%1&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function events_compare_level_year(a,b)&lt;br /&gt;
	if a.level &amp;lt; b.level then&lt;br /&gt;
		return true&lt;br /&gt;
	elseif a.level == b.level then&lt;br /&gt;
		if a.jd &amp;lt; b.jd then&lt;br /&gt;
			return true&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return false&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function events_compare_jd(a,b)&lt;br /&gt;
	if a.jd &amp;lt; b.jd then&lt;br /&gt;
		return true&lt;br /&gt;
	end&lt;br /&gt;
	return false&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function get_events(events_array,event_text,isHijri,month,day)&lt;br /&gt;
	local events = events_array or {}&lt;br /&gt;
	local ei&lt;br /&gt;
	local gpic = string.match(s,&amp;quot;%[%[ملف:[^%]]*%]%]&amp;quot;)&lt;br /&gt;
	if gpic then&lt;br /&gt;
		s= string.gsub(s, esc_pattern(gpic) .. &amp;quot;[\n]*&amp;quot;,&amp;quot;&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
	local s=text.split(s, &amp;quot;&amp;lt;!%-%-[%s]*الأحداث[%s]*%-%-&amp;gt;&amp;quot;)&lt;br /&gt;
	local p= string.find(s[2],&amp;quot;&amp;lt;noinc&amp;quot;,1,true)&lt;br /&gt;
	if p then&lt;br /&gt;
		s[2] = text.trim(string.sub(s[2], 1,p-1))&lt;br /&gt;
	end&lt;br /&gt;
	p=string.find(s[2],&amp;quot;*&amp;quot;,1,true)&lt;br /&gt;
	local e=text.split(string.sub(s[2], p+1), &amp;quot;\n* &amp;quot;,true)&lt;br /&gt;
	for i=1,#e do&lt;br /&gt;
		local es,inty,jd={}&lt;br /&gt;
		local stry=string.match(e[i], &amp;quot;%[%[[0-9 هـ]+%]%]&amp;quot;) or string.match(e[i], &amp;quot;%[%[[0-9 هـ]+|&amp;quot;)&lt;br /&gt;
		if stry then&lt;br /&gt;
			stry = string.sub(stry,3,-3)&lt;br /&gt;
			stry=string.gsub(string.gsub(stry, &amp;quot;ه&amp;quot;,&amp;quot;&amp;quot;), &amp;quot;_&amp;quot;,&amp;quot;&amp;quot;)&lt;br /&gt;
			inty = tonumber(stry)&lt;br /&gt;
		else&lt;br /&gt;
			mw.log(e[i-1])&lt;br /&gt;
			error(&amp;quot;Can&amp;#039;t Find Year in event &amp;quot; .. i)&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		if isHijri	then&lt;br /&gt;
			jd = hc.hijri2jd(inty,month,day)&lt;br /&gt;
		else&lt;br /&gt;
			jd = hc.gregorian2jd(inty,month,day)&lt;br /&gt;
		end&lt;br /&gt;
		if string.find(e[i], &amp;quot;**&amp;quot;,1,true) then&lt;br /&gt;
			local e_splits=text.split(e[i],&amp;quot;\n**&amp;quot;,true)&lt;br /&gt;
			for ii=2,#e_splits do&lt;br /&gt;
				es[ii-1] = e_splits[1] .. e_splits[ii]&lt;br /&gt;
			end&lt;br /&gt;
		else&lt;br /&gt;
			es[1] = e[i]&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		for ii=1,#es do&lt;br /&gt;
			ei=#events+1&lt;br /&gt;
			events[ei]={str = es[ii]}&lt;br /&gt;
			local strl=string.match(es[ii],&amp;quot;&amp;lt;!%-%-[%s]*م[1-3][%s]*%-%-&amp;gt;&amp;quot;)&lt;br /&gt;
			&lt;br /&gt;
			if strl then&lt;br /&gt;
				p =string.find(strl,&amp;quot;م&amp;quot;) + 1&lt;br /&gt;
				events[ei].level=tonumber(string.sub(strl, p,p))&lt;br /&gt;
			else&lt;br /&gt;
				events[ei].level = 2&lt;br /&gt;
			end&lt;br /&gt;
			&lt;br /&gt;
			events[ei].year = inty&lt;br /&gt;
			events[ei].jd = jd&lt;br /&gt;
			events[ei].hijri = isHijri&lt;br /&gt;
			if string.find(es[ii], &amp;quot;{{ط|(في الصورة)}}&amp;quot;,1,true) then&lt;br /&gt;
				events[ei].pic = gpic&lt;br /&gt;
			end&lt;br /&gt;
			&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
	end&lt;br /&gt;
	return events,s[1]&lt;br /&gt;
end	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function p.onthisday(frame)&lt;br /&gt;
	local d &lt;br /&gt;
	if frame.args[3] then&lt;br /&gt;
		d = hc.Date(&amp;#039;gregorian&amp;#039;,tonumber(frame.args[1]),tonumber(frame.args[2]),tonumber(frame.args[3]))&lt;br /&gt;
	elseif frame.args[2] then&lt;br /&gt;
		d = hc.Date(&amp;#039;gregorian&amp;#039;,os.date(&amp;quot;*t&amp;quot;).year,tonumber(frame.args[1]),tonumber(frame.args[2]))&lt;br /&gt;
	else&lt;br /&gt;
		d = hc.Date(&amp;#039;gregorian&amp;#039;)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local strtoday = {}&lt;br /&gt;
	strtoday[&amp;#039;g&amp;#039;]	= d.day .. &amp;#039; &amp;#039; .. hijri.julian_month_name(d.month)&lt;br /&gt;
	local tret,bret,ret = {},{},&amp;quot;&amp;quot;&lt;br /&gt;
	local events = {}&lt;br /&gt;
	local tg = mw.title.new(&amp;quot;أرابيكا:في هذا اليوم/&amp;quot; ..  strtoday[&amp;#039;g&amp;#039;] .. sandbox)&lt;br /&gt;
	if not tg.exists and #sandbox&amp;gt;0 then&lt;br /&gt;
		tg = mw.title.new(&amp;quot;أرابيكا:في هذا اليوم/&amp;quot; ..  strtoday[&amp;#039;g&amp;#039;])&lt;br /&gt;
	end		&lt;br /&gt;
	d:set_type(&amp;#039;hijri&amp;#039;)&lt;br /&gt;
	strtoday[&amp;#039;h&amp;#039;] = d.day .. &amp;quot; &amp;quot; .. hijri.hijri_month_name(d.month)&lt;br /&gt;
	local th = mw.title.new(&amp;quot;أرابيكا:في هذا اليوم/&amp;quot; ..  strtoday[&amp;#039;h&amp;#039;] .. sandbox)&lt;br /&gt;
	if not th.exists and #sandbox&amp;gt;0 then&lt;br /&gt;
		th = mw.title.new(&amp;quot;أرابيكا:في هذا اليوم/&amp;quot; ..  strtoday[&amp;#039;h&amp;#039;])&lt;br /&gt;
	end		&lt;br /&gt;
	local s_events={}&lt;br /&gt;
	&lt;br /&gt;
	if tg.exists then&lt;br /&gt;
		s = string.gsub(tg:getContent(),&amp;quot;{{أرابيكا:في هذا اليوم/مناسبة هجرية|&amp;quot; .. strtoday[&amp;#039;g&amp;#039;] .. &amp;quot;}}&amp;quot;,&amp;quot;&amp;quot;)&lt;br /&gt;
		if not th.exists then&lt;br /&gt;
			-- early exit no hijri page&lt;br /&gt;
			return frame:preprocess(s)&lt;br /&gt;
		end&lt;br /&gt;
		events,tret[&amp;#039;g&amp;#039;] = get_events(events,s,false,d.month,d.day)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if th.exists then&lt;br /&gt;
		s = th:getContent()&lt;br /&gt;
		events,tret[&amp;#039;h&amp;#039;] = get_events(events,s,true,d.month,d.day)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	--order &lt;br /&gt;
	table.sort(events,events_compare_level_year)&lt;br /&gt;
	local current_length = 0&lt;br /&gt;
	for i=1,#events do&lt;br /&gt;
		--ret = ret .. &amp;quot;*&amp;quot; ..  events[i].str .. &amp;quot;-&amp;quot; .. events[i].level .. &amp;quot;-&amp;quot; .. (events[i].year or &amp;#039;No year&amp;#039;).. (events[i].hijri and &amp;#039;Hijri&amp;#039; or &amp;#039;Not Hijri&amp;#039;) .. &amp;quot;\n&amp;quot; .. (events[i].pic or &amp;#039;&amp;#039;)&lt;br /&gt;
		if string.len(events[i].str) &amp;lt;= (maxlength-current_length) then&lt;br /&gt;
			--s_events[#s_events+1]=events[i].str .. (string.sub(events[i].str,-1)~=&amp;quot;\n&amp;quot; and &amp;quot;\n&amp;quot; or &amp;quot;&amp;quot;)&lt;br /&gt;
			s_events[#s_events+1] = events[i]&lt;br /&gt;
			current_length = current_length + string.len(events[i].str)&lt;br /&gt;
		elseif current_length&amp;gt;=maxlength then&lt;br /&gt;
			break&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	table.sort(s_events,events_compare_jd)&lt;br /&gt;
	local n&lt;br /&gt;
	local pics={h=&amp;#039;&amp;#039;,g=&amp;#039;&amp;#039;}&lt;br /&gt;
	bret[&amp;#039;h&amp;#039;], bret[&amp;#039;g&amp;#039;] = &amp;#039;&amp;#039;, &amp;#039;&amp;#039;&lt;br /&gt;
	for i=1,#s_events do&lt;br /&gt;
		n = s_events[i].hijri and &amp;#039;h&amp;#039; or &amp;#039;g&amp;#039;&lt;br /&gt;
		bret[n] = bret[n] .. &amp;quot;*&amp;quot; .. s_events[i].str .. (string.sub(s_events[i].str,-1)~=&amp;quot;\n&amp;quot; and &amp;quot;\n&amp;quot; or &amp;quot;&amp;quot;)&lt;br /&gt;
		if s_events[i].pic then&lt;br /&gt;
			pics[n] = pics[n] .. s_events[i].pic .. &amp;quot;\n&amp;quot;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	ret = tret[&amp;#039;h&amp;#039;] .. pics[&amp;#039;h&amp;#039;] .. pics[&amp;#039;g&amp;#039;] .. bret[&amp;#039;h&amp;#039;] .. tret[&amp;#039;g&amp;#039;] .. bret[&amp;#039;g&amp;#039;]&lt;br /&gt;
&lt;br /&gt;
	return frame:preprocess(ret)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>عبد العزيز</name></author>
	</entry>
</feed>