Module:InfoboxImage: Difference between revisions

m 1 revision imported
Copy from sandbox per request
Line 134: Line 134:
     end
     end
     return false
     return false
end
local function isempty(x)
    return (not x) or x == ""
end
end


Line 139: Line 143:
     local image = frame.args["image"];
     local image = frame.args["image"];
      
      
     if image == "" or image == nil then
     if isempty(image) then
         return "";
         return "";
     end
     end
Line 173: Line 177:
         local result = "";
         local result = "";
         local page = frame.args["page"];
         local page = frame.args["page"];
        local upright = frame.args["upright"] or ""
         local size = frame.args["size"];
         local size = frame.args["size"];
         local maxsize = frame.args["maxsize"];
         local maxsize = frame.args["maxsize"];
Line 180: Line 185:
         local title = frame.args["title"];
         local title = frame.args["title"];
         local border = frame.args["border"];
         local border = frame.args["border"];
        local upright = frame.args["upright"] or "";
         local thumbtime = frame.args["thumbtime"] or "";
         local thumbtime = frame.args["thumbtime"] or "";
         local center = frame.args["center"];
         local center = frame.args["center"];
Line 196: Line 200:
         end
         end
          
          
         if maxsize ~= "" and maxsize ~= nil then
         if not isempty(maxsize) then
             -- if no sizedefault then set to maxsize
             -- if no sizedefault nor upright, then set to maxsize
             if sizedefault == "" or sizedefault == nil then
             if isempty(sizedefault) and isempty(upright) then
                 sizedefault = maxsize
                 sizedefault = maxsize
             end
             end
             -- check to see if size bigger than maxsize
             -- check to see if size bigger than maxsize
             if size ~= "" and size ~= nil then
             local maxsizenumber = tonumber(mw.ustring.match(maxsize,"%d*")) or 0;
            if not isempty(size) then
                 local sizenumber = tonumber(mw.ustring.match(size,"%d*")) or 0;
                 local sizenumber = tonumber(mw.ustring.match(size,"%d*")) or 0;
                local maxsizenumber = tonumber(mw.ustring.match(maxsize,"%d*")) or 0;
                 if sizenumber > maxsizenumber and maxsizenumber > 0 then
                 if sizenumber>maxsizenumber and maxsizenumber>0 then
                     size = maxsize;
                     size = maxsize;
                end
            end
            -- check to see if upright bigger than maxsize (at default preferred size)
            if not isempty(upright) then
                local uprightnumber = tonumber(upright) or (upright == "yes" and 0.75) or 0
                if uprightnumber*220 > maxsizenumber and maxsizenumber > 0 then
                    upright = tostring(maxsizenumber/220)
                 end
                 end
             end
             end
Line 220: Line 231:
          
          
         result = "[[File:" .. image;
         result = "[[File:" .. image;
         if page ~= "" and page ~= nil then
         if not isempty(page) then
             result = result .. "|page=" .. page;
             result = result .. "|page=" .. page;
         end
         end
         if size ~= "" and size ~= nil then
         if not isempty(size) then
             result = result .. "|" .. size;
             result = result .. "|" .. size;
         elseif sizedefault ~= "" and sizedefault ~= nil then
         elseif not isempty(sizedefault) and isempty(upright) then
             result = result .. "|" .. sizedefault;
             result = result .. "|" .. sizedefault;
         else
         else
Line 233: Line 244:
             result = result .. "|center"
             result = result .. "|center"
         end
         end
         if alt ~= "" and alt ~= nil then
         if not isempty(alt) then
             result = result .. "|alt=" .. alt;
             result = result .. "|alt=" .. alt;
         end
         end
         if link ~= "" and link ~= nil then
         if not isempty(link) then
             result = result .. "|link=" .. link;
             result = result .. "|link=" .. link;
         end
         end
Line 250: Line 261:
             result = result .. "|thumbtime=" .. thumbtime;
             result = result .. "|thumbtime=" .. thumbtime;
         end
         end
         if class ~= nil and class ~= "" then
         if not isempty(class) then
             result = result .. "|class=" .. class;
             result = result .. "|class=" .. class;
         end
         end
Line 257: Line 268:
             alt = nil;
             alt = nil;
         end
         end
         if title ~= "" and title ~= nil then
         if not isempty(title) then
             -- does title param contain any templatestyles? If yes then set to blank.
             -- does title param contain any templatestyles? If yes then set to blank.
             if mw.ustring.match(frame:preprocess(title), 'UNIQ%-%-templatestyles', 1) ~= nil then
             if mw.ustring.match(frame:preprocess(title), 'UNIQ%-%-templatestyles', 1) ~= nil then
Line 263: Line 274:
             end
             end
         end
         end
         if title ~= "" and title ~= nil then
         if not isempty(title) then
             result = result .. "|" .. title;
             result = result .. "|" .. title;
         end
         end