وحدة:Hijri/adjusted data
مفعلة | فرق | ملاعب | الوصف | |
---|---|---|---|---|
وحدة:Hijri | فرق | ملعب | [تعديل] | تحوي على وظائف القوالب ووظائف مساعدة لها، والتي يتم استدعاؤها من من الصفحات. |
وحدة:Hijri/Calendar | فرق | ملعب | [تعديل] | تحوي الوظائف الأساسية لإخراج تقويم شهري وتستدعى من الصفحات والقوالب. |
وحدة:Hijri/core | فرق | ملعب | [تعديل] | تحوي على وظائف لوا أساسية لمعالجة التقاويم تستدعى من وحدات لوا فقط. |
وحدة:Hijri/adjusted data | فرق | ملعب | [تعديل] | تقوم هذه الوحدة بإخراج بيانات تقويم أم القرى مع التعديلات عليها والغرض من جعلها وحدة مستقلة وتسهيل تحميلها من أمر mw.loadData |
وحدة:Hijri/Configuration | فرق | ملعب | [تعديل] | جداول الترجمة، ومعالجات الأخطاء والمعرفات. |
وحدة:Hijri/umalqura data | فرق | لا ملعب لها | وحدة بيانات تحوي على بيانات تقويم أم القرى | |
وحدة:Hijri/adjustment data | فرق | ملعب | [تعديل] | وحدة بيانات تحوي على التعديلات على تقويم أم القرى |
local umdata = require ('Module:Hijri/umalqura data')
local adjust_data = require('Module:Hijri/adjustment data')
local umstartyear = 1318
local function gregorian2jd(y, m, d)
local jd, century
if y < 1 then
y = y + 1
end
if m > 2 then
m = m + 1
y = y + 4800
else
m = m + 13
y = y + 4799
end
century = math.floor(y / 100)
return (y * 365 - 32167 + math.floor(y / 4) - century + math.floor(century / 4) + math.floor(7834 * m / 256) + d)
end
if adjust_data and #adjust_data>0 then
for yk,yv in pairs(adjust_data) do
for mk,mv in pairs(yv) do
local uk = (yk-umstartyear)*12 + mk -1
if type(mv) == 'table' then
umdata[uk] = gregorian2jd(mv[1],mv[2],mv[3]) - 2400000
elseif mv >-2 and mv <2 then
umdata[uk] = umdata[uk] - mv
end
end
end
end
return umdata