Module:Rslider
Jump to navigation
Jump to search
Documentation for this module may be created at Module:Rslider/doc
--<pre> --Syntax:{{#invoke:rslider|main|<file1>|<file2>|<file3>}} local p = {} local u = require('Module:Utility') function p.main(frame) return p.randSlider(frame, 0) end function p.showdef(frame) return p.randSlider(frame, 1) end function p.randSlider(frame, iDefault) local tArgs1 ,tArgs2 = u.getArgs(frame,"both") local tMedia ={} local sIndexes = "" local sFiles ='<gallery type="slider" orientation="bottom">\n' local iIndex = 0 if not tArgs1 and not tArgs2 then return end if not tArgs1 and tArgs2 then tArgs1= tArgs2 end math.randomseed( mw.site.stats.edits + mw.site.stats.pages + os.time() + math.floor(os.clock() * 1000000000)) math.random() if iDefault == 1 then sFiles = sFiles .. tArgs1[1]..'\n' tMedia[1]=tArgs1[1] end if #tArgs1 > 1 then while iIndex < 4 do local entry = math.random(1,#tArgs1) if tArgs1 and not(tArgs1[entry] == tMedia[entry]) and not(iDefault == entry) then tMedia[entry]= tArgs1[entry] sFiles = sFiles..tMedia[entry]..'\n' sIndexes = sIndexes .."-".. entry iIndex = iIndex +1 end if #tMedia == #tArgs1 then break; end end end return frame:preprocess(sFiles .."</gallery>" ) end return p --[[Category:Utility modules]]