پودمان:Imamatpedia: تفاوت میان نسخه‌ها

از امامت‌پدیا، دانشنامهٔ امامت و ولایت
بدون خلاصۀ ویرایش
(جایگزینی صفحه با 'local fgetFAlist = require('Module:Imamatpedia/Selected').getFAlist local function a_rlist(frame) local c = '' local d = {} if (frame.args[1] =='fa' or frame.args[1] =='Selected' ) then d = fgetFAlist() for _,s in ipairs(d) do c = c .. "\n# " .. s .. "" end end return c end return a_rlist')
برچسب: جایگزین شد
خط ۱: خط ۱:
local fgetFAlist = require('Module:Imamatpedia/Selected').getFAlist
local fgetFAlist = require('Module:Imamatpedia/Selected').getFAlist
local fgetFPlist = require('Module:Imamatpedia/بوابات').getFPlist


local a = {}
local function a_rlist(frame)
 
function a.rnumber( frame )
    d = {}
 
if (frame.args[1] =='fa' or frame.args[1] =='Selected' ) then
d = fgetFAlist()
return #d
elseif (frame.args[1] =='fp' or frame.args[1] =='بوابات' ) then
d = fgetFPlist()
local nb =0
for t,s in pairs(d) do
nb = nb+1
end
return nb
end
end
 
function a.rlist( frame )
    d = {}
    if(frame.args[1] =='ga' or frame.args[1] =='Good' ) then
    d = fgetGAlist()
elseif (frame.args[1] =='fa' or frame.args[1] =='Selected' ) then
d = fgetFAlist()
end
   
    math.randomseed( os.time() )
    x = math.random(1,#d)
    repeat
    x1 = math.random(1,#d)
until x1 ~= x
    repeat
    x2 = math.random(1,#d)
until (x2 ~= x and x2 ~= x1)
 
    return "[["..d[x1].."]] – [["..d[x].."]] – [["..d[x2].."]]"
end
 
function a.plist(frame)
     local c = ''
     local c = ''
     local d = {}
     local d = {}
    if(frame.args[1] =='ga' or frame.args[1] =='Good' ) then
    d = fgetGAlist()
    for _,s in ipairs(d) do
      c = c .. "\n# [[" .. s .. "]]"
    end   
elseif (frame.args[1] =='fa' or frame.args[1] =='Selected' ) then
d = fgetFAlist()
    for _,s in ipairs(d) do
      c = c .. "\n# [[" .. s .. "]]"
    end   
elseif (frame.args[1] =='fp' or frame.args[1] =='بوابات' ) then
d = fgetFPlist()
    for t,s in pairs(d) do
      c = c .. "\n# [[" ..t.."|".. s[3] .. "]]"
    end   
end
  return c
end
----
---- _RandOne : النتيجة هي اسم عشوائي مقالة واحدة مختارة/جيدة
local function _getOnepDay( frame )
    d = {}
math.randomseed( os.time() )
    if (frame.args[1] =='dyk' or frame.args[1] =='learning' ) then
local nbf = mw.site.stats.pagesInCategory( 'Project list did you know', 'pages' )
if(type(nbf) ~= "number") then return '' end
    ---- x = math.random(1,nbf)
    x = (math.floor(os.time()/(24*3600)) % nbf ) +1
return frame:expandTemplate{ title = 'Main page/Know/Current', args = {  x } }
    elseif (frame.args[1] =='fpic' or frame.args[1] =='Picture' ) then
d = fgetFPiclist()
local nbf=0
    for t,s in pairs(d) do
      nbf = nbf + 1
    end
    ---- x = math.random(1,nbf)
    x = math.floor(os.time()/(24*3600)) % nbf
local nb=0
    for t,s in pairs(d) do
      nb = nb + 1
      if(nb == x) then
      return frame:expandTemplate{ title = 'Main page/Main/Right/Picture/Template', args = {  t, s[1],  s[2] } }
      end
    end
    x = math.floor(os.time()/(24*3600)) % nbf
local nb=0
    for t,s in pairs(d) do
      nb = nb + 1
      if(nb == x) then
      return frame:expandTemplate{ title = 'كلمة اليوم', args = {  s[1],  s[2] } }
      end
    end
    elseif (frame.args[1] =='fp' or frame.args[1] =='بوابات' ) then
d = fgetFPlist()
local nbf=0
    for title,items in pairs(d) do
      nbf = nbf + 1
    end
    --- x = math.random(1,nbf)
    x = math.floor(os.time()/(24*3600)) % nbf
local nb=0
    for t,s in pairs(d) do
      nb = nb + 1
      if(nb == x) then
      return frame:expandTemplate{ title = 'بوابة اليوم المختارة/قالب', args = {  s[1],  s[2], t , s[3] } }
      end
    end
elseif(frame.args[1] =='ga' or frame.args[1] =='Good' ) then
    d = fgetGAlist()
elseif (frame.args[1] =='fa' or frame.args[1] =='Selected' ) then
d = fgetFAlist()
end
   
   
    ---x = math.random(1,#d)
    x = math.floor(os.time()/(24*3600)) % #d
    return x --d[x]
end
local function _LCount( items )
local nb = 0
for _, item in ipairs(items) do
            nb = nb +1
    end
    return nb   
end
local function _OneDay( frame )
    local dayList = {}
    local monthList = {}
    local articles = {}
    local nbarts = 0
math.randomseed( os.time() )
    if(frame.args[1] =='Selected' or frame.args[1] =='Good' ) then     
   
    ---- التأكد أولا بوجود مقالة مخصصة لهذا اليوم بالذات
    dayList = mw.loadData('Module:Imamatpedia/'.. frame.args[1]..'/Date')
    for date1, articles in pairs(dayList) do
    if( date1 == mw.getContentLanguage():formatDate('Y-n-d') ) then
      nbarts = _LCount(articles)
              if(nbarts == 1) then
                return articles[1]
            elseif nbarts > 1 then
            return articles[math.random(1,nbarts) ]
        end
    end
    end
        --- البحث عن ذكرى سنوية
        monthList = mw.loadData('Module:Imamatpedia/'.. frame.args[1]..'/Month/'..mw.getContentLanguage():formatDate('n'))
        articles = monthList[mw.getContentLanguage():formatDate('d')]


        if(type(articles) ~= 'table') then
    if (frame.args[1] =='fa' or frame.args[1] =='Selected' ) then
          return ''
         d = fgetFAlist()
         end
         for _,s in ipairs(d) do
 
             c = c .. "\n# [[" .. s .. "]]"
        nbarts = _LCount(articles)
         end    
 
         if(nbarts == 0) then
             return ''
            elseif nbarts == 1 then
            return articles[1]
            else
            return articles[math.random(1,nbarts) ]
         end
     end
     end
    return ''
end
function a.selectArt(frame)


  local title = _OneDay( frame )
    return c
  if(title ~= '') then
    return title
  else
    return _getOnepDay( frame )
  end
end
end


----
return a_rlist
----
return a

نسخهٔ ‏۵ مارس ۲۰۲۴، ساعت ۱۲:۵۱

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

local fgetFAlist = require('Module:Imamatpedia/Selected').getFAlist

local function a_rlist(frame)
    local c = ''
    local d = {}

    if (frame.args[1] =='fa' or frame.args[1] =='Selected' ) then
        d = fgetFAlist()
        for _,s in ipairs(d) do
            c = c .. "\n# [[" .. s .. "]]"
        end     
    end

    return c 
end

return a_rlist