|
|
خط ۱: |
خط ۱: |
| 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 | |