Mô đun:Infobox body of water tracking
Mô đun này có thể phù hợp với tiêu chí xóa nhanh của Wikipedia vì nó là bản mẫu/mô đun không liên kết hoặc không sử dụng ở bất kỳ trang nào. Lưu ý các bản mẫu/mô đun quan trọng nhiều người xem hoặc được nhúng ở nhiều trang khác thì không thuộc diện xóa nhanh. Xem XN BM3.
Nếu mô đun này không nằm trong các tiêu chí xóa nhanh, hãy dời thông báo này đi. Bảo quản viên, Điều phối viên chú ý: Hãy kiểm tra liên kết, lịch sử (sửa đổi cuối) và nhật trình trước khi xóa trang. Kiểm tra Google: web, tin tức. Người đặt thông báo chú ý: cần thận trọng khi đánh giá bài viết của người mới đến; trong nhiều trường hợp cần giúp đỡ người mới hoàn thiện bài viết thay vì yêu cầu xóa nhanh; hành động yêu cầu xóa nhanh chỉ là ý kiến của cá nhân bạn nhưng có thể gây hiểu lầm là yêu cầu của cộng đồng Wikipedia. |
require('Module:Module wikitext')._addText([[{{db-banmaukhonglienket}}]]);
local p = {}
function p.tracking(frame)
local function isblank( val )
return (val == nil) or val:match('^[%s]*$')
end
local function hasnoconvert( val )
local res = nil
val = mw.text.killMarkers(val)
if val:match('[0-9]') then
res = 1
if val:match('[%(][−0-9%.]') and val:match('[%)]') then
res = nil
end
end
return res
end
local cats = ''
local maincats = ''
local args = frame:getParent().args
local AZ = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
local warnmsg = {}
if isblank(args['image']) then
maincats = maincats .. '[[Thể loại:Bài dùng hộp thông tin vùng nước không có hình]]'
elseif isblank(args['alt']) then
maincats = maincats .. '[[Thể loại:Bài dùng hộp thông tin vùng nước không có tiêu đề hình]]'
end
if isblank(args['coords']) and isblank(args['coordinates']) then
maincats = maincats .. '[[Thể loại:Bài dùng hộp thông tin vùng nước không có tọa độ]]'
end
if (isblank(args['pushpin_map']) ) then
maincats = maincats .. '[[Thể loại:Bài dùng hộp thông tin vùng nước không có hình]]'
elseif isblank(args['pushpin_map_alt']) then
maincats = maincats .. '[[Thể loại:Bài dùng hộp thông tin vùng nước không có tiêu đề hình]]'
end
if (isblank(args['image_bathymetry']) ) then
maincats = maincats .. '[[Thể loại:Bài dùng hộp thông tin vùng nước không có hình đo độ sâu]]'
elseif isblank(args['alt_bathymetry']) then
maincats = maincats .. '[[Thể loại:Bài dùng hộp thông tin vùng nước không có tiêu đề hình đo độ sâu]]'
end
local duplicate_parameters = 0
local duplicate_list = {
{'child', 'embed'},
{'name', 'lake_name'},
{'image', 'image_lake'},
{'alt', 'alt_lake'},
{'caption', 'caption_lake'},
{'coordinates', 'coords'},
{'lake_type', 'type'},
{'ocean_type', 'type'},
{'lake_type', 'ocean_type'},
{'part_of', 'parent'},
{'basin_countries', 'countries'},
{'catchment_km2', 'catchment'},
{'length_km', 'length'},
{'width_km', 'width'},
{'area_km2', 'area'},
{'depth_m', 'depth'},
{'max-depth_m', 'max-depth'},
{'volume_km3', 'volume'},
{'shore_km', 'shore'},
{'elevation_m', 'elevation'},
{'settlements', 'cities'},
{'extra', 'nrhp'},
{'extra', 'embedded'},
{'embedded', 'nrhp'}
}
for i, params in ipairs(duplicate_list) do
if args[params[1]] and args[params[2]] then
duplicate_parameters = duplicate_parameters + 1
table.insert(warnmsg, 'Cannot use <code>' .. params[1] .. '</code> and <code>' .. params[2] .. '</code> at the same time.')
end
end
if (duplicate_parameters > 0) then
cats = cats .. '[[Thể loại:Bài dùng hộp thông tin vùng nước với ' ..
'tham số kép|' ..
string.sub(AZ, duplicate_parameters, duplicate_parameters+1) .. ']]'
end
local no_convert_parameters = 0
local dim_list = {
'catchment', 'length', 'width', 'area', 'depth', 'max-depth', 'volume',
'shore', 'elevation', 'temperature_low', 'temperature_high'}
for i, param in ipairs(dim_list) do
if hasnoconvert(args[param] or '') then
no_convert_parameters = no_convert_parameters + 1
table.insert(warnmsg, 'Unconverted dimensions in <code>' .. param .. '</code>')
end
end
if (no_convert_parameters > 0) then
maincats = maincats .. '[[Thể loại:Bài dùng hộp thông tin vùng nước với kích thước không tự động chuyển đổi|' ..
string.sub(AZ,no_convert_parameters, no_convert_parameters+1) .. ']]'
end
if #warnmsg > 0 then
if frame:preprocess( "{{REVISIONID}}" ) == "" then
cats = '<div class="hatnote" style="color:red"><strong>Cảnh báo hộp thông tin vùng nước:</strong> ' .. table.concat(warnmsg, '<br>') .. '</div>' .. cats
end
end
if maincats ~= '' and mw.title.getCurrentTitle().namespace == 0 then
cats = cats .. maincats
end
return cats
end
return p