<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.srcfy.com/index.php?action=history&amp;feed=atom&amp;title=Module%3AIncident</id>
	<title>Module:Incident - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.srcfy.com/index.php?action=history&amp;feed=atom&amp;title=Module%3AIncident"/>
	<link rel="alternate" type="text/html" href="https://wiki.srcfy.com/index.php?title=Module:Incident&amp;action=history"/>
	<updated>2026-10-31T13:52:45Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.46.2</generator>
	<entry>
		<id>https://wiki.srcfy.com/index.php?title=Module:Incident&amp;diff=713&amp;oldid=prev</id>
		<title>Admin: Incident index</title>
		<link rel="alternate" type="text/html" href="https://wiki.srcfy.com/index.php?title=Module:Incident&amp;diff=713&amp;oldid=prev"/>
		<updated>2026-10-31T00:46:25Z</updated>

		<summary type="html">&lt;p&gt;Incident index&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 00:46, 31 October 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l29&quot;&gt;Line 29:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 29:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	people_injured = { en = &amp;#039;People injured&amp;#039;, ml = &amp;#039;പരിക്കേറ്റവർ&amp;#039; },&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	people_injured = { en = &amp;#039;People injured&amp;#039;, ml = &amp;#039;പരിക്കേറ്റവർ&amp;#039; },&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	summary = { en = &amp;#039;Summary&amp;#039;, ml = &amp;#039;സംഗ്രഹം&amp;#039; },&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	summary = { en = &amp;#039;Summary&amp;#039;, ml = &amp;#039;സംഗ്രഹം&amp;#039; },&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;	years = { en = &#039;Years covered&#039;, ml = &#039;കാലയളവ്&#039; },&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	article = { en = &amp;#039;Article&amp;#039;, ml = &amp;#039;ലേഖനം&amp;#039; },&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	article = { en = &amp;#039;Article&amp;#039;, ml = &amp;#039;ലേഖനം&amp;#039; },&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	navbox_title = { en = &amp;#039;Cow-related mob violence in India (2014–2025)&amp;#039;,&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	navbox_title = { en = &amp;#039;Cow-related mob violence in India (2014–2025)&amp;#039;,&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key wikidb:diff:1.41:old-65:rev-713:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.srcfy.com/index.php?title=Module:Incident&amp;diff=65&amp;oldid=prev</id>
		<title>Admin: Set up incident article infrastructure</title>
		<link rel="alternate" type="text/html" href="https://wiki.srcfy.com/index.php?title=Module:Incident&amp;diff=65&amp;oldid=prev"/>
		<updated>2026-10-31T00:36:46Z</updated>

		<summary type="html">&lt;p&gt;Set up incident article infrastructure&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;-- Helpers for {{Incident infobox}} and the incident index pages.&lt;br /&gt;
-- Every user-facing string exists in English (en) and Malayalam (ml); the language&lt;br /&gt;
-- comes from {{PAGELANGUAGE}}, which the Translate extension sets to &amp;quot;ml&amp;quot; on /ml subpages.&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
local MONTHS = {&lt;br /&gt;
	en = { &amp;#039;January&amp;#039;, &amp;#039;February&amp;#039;, &amp;#039;March&amp;#039;, &amp;#039;April&amp;#039;, &amp;#039;May&amp;#039;, &amp;#039;June&amp;#039;, &amp;#039;July&amp;#039;,&lt;br /&gt;
		&amp;#039;August&amp;#039;, &amp;#039;September&amp;#039;, &amp;#039;October&amp;#039;, &amp;#039;November&amp;#039;, &amp;#039;December&amp;#039; },&lt;br /&gt;
	ml = { &amp;#039;ജനുവരി&amp;#039;, &amp;#039;ഫെബ്രുവരി&amp;#039;, &amp;#039;മാർച്ച്&amp;#039;, &amp;#039;ഏപ്രിൽ&amp;#039;, &amp;#039;മേയ്&amp;#039;, &amp;#039;ജൂൺ&amp;#039;, &amp;#039;ജൂലൈ&amp;#039;,&lt;br /&gt;
		&amp;#039;ഓഗസ്റ്റ്&amp;#039;, &amp;#039;സെപ്റ്റംബർ&amp;#039;, &amp;#039;ഒക്ടോബർ&amp;#039;, &amp;#039;നവംബർ&amp;#039;, &amp;#039;ഡിസംബർ&amp;#039; },&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
local LABELS = {&lt;br /&gt;
	date = { en = &amp;#039;Date&amp;#039;, ml = &amp;#039;തീയതി&amp;#039; },&lt;br /&gt;
	place = { en = &amp;#039;Location&amp;#039;, ml = &amp;#039;സ്ഥലം&amp;#039; },&lt;br /&gt;
	district = { en = &amp;#039;District&amp;#039;, ml = &amp;#039;ജില്ല&amp;#039; },&lt;br /&gt;
	state = { en = &amp;#039;State&amp;#039;, ml = &amp;#039;സംസ്ഥാനം&amp;#039; },&lt;br /&gt;
	coordinates = { en = &amp;#039;Coordinates&amp;#039;, ml = &amp;#039;നിർദ്ദേശാങ്കങ്ങൾ&amp;#039; },&lt;br /&gt;
	victims = { en = &amp;#039;Victims&amp;#039;, ml = &amp;#039;ഇരകൾ&amp;#039; },&lt;br /&gt;
	killed = { en = &amp;#039;Killed&amp;#039;, ml = &amp;#039;കൊല്ലപ്പെട്ടവർ&amp;#039; },&lt;br /&gt;
	injured = { en = &amp;#039;Injured&amp;#039;, ml = &amp;#039;പരിക്കേറ്റവർ&amp;#039; },&lt;br /&gt;
	trigger = { en = &amp;#039;Alleged trigger&amp;#039;, ml = &amp;#039;ആരോപിത കാരണം&amp;#039; },&lt;br /&gt;
	allegation = { en = &amp;#039;Allegation&amp;#039;, ml = &amp;#039;ആരോപണം&amp;#039; },&lt;br /&gt;
	legal_status = { en = &amp;#039;Legal status&amp;#039;, ml = &amp;#039;നിയമനടപടികളുടെ നില&amp;#039; },&lt;br /&gt;
	osm = { en = &amp;#039;View on OpenStreetMap&amp;#039;, ml = &amp;#039;ഓപ്പൺസ്ട്രീറ്റ്മാപ്പിൽ കാണുക&amp;#039; },&lt;br /&gt;
	references = { en = &amp;#039;References&amp;#039;, ml = &amp;#039;അവലംബങ്ങൾ&amp;#039; },&lt;br /&gt;
	incidents = { en = &amp;#039;Incidents&amp;#039;, ml = &amp;#039;സംഭവങ്ങൾ&amp;#039; },&lt;br /&gt;
	people_killed = { en = &amp;#039;People killed&amp;#039;, ml = &amp;#039;കൊല്ലപ്പെട്ടവർ&amp;#039; },&lt;br /&gt;
	people_injured = { en = &amp;#039;People injured&amp;#039;, ml = &amp;#039;പരിക്കേറ്റവർ&amp;#039; },&lt;br /&gt;
	summary = { en = &amp;#039;Summary&amp;#039;, ml = &amp;#039;സംഗ്രഹം&amp;#039; },&lt;br /&gt;
	article = { en = &amp;#039;Article&amp;#039;, ml = &amp;#039;ലേഖനം&amp;#039; },&lt;br /&gt;
	navbox_title = { en = &amp;#039;Cow-related mob violence in India (2014–2025)&amp;#039;,&lt;br /&gt;
		ml = &amp;#039;ഇന്ത്യയിലെ പശു സംബന്ധമായ ആൾക്കൂട്ട ആക്രമണങ്ങൾ (2014–2025)&amp;#039; },&lt;br /&gt;
	index_link = { en = &amp;#039;Index of all incidents&amp;#039;, ml = &amp;#039;എല്ലാ സംഭവങ്ങളുടെയും സൂചിക&amp;#039; },&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
local TRIGGERS = {&lt;br /&gt;
	[&amp;#039;beef consumption&amp;#039;] = { en = &amp;#039;Beef consumption or storage&amp;#039;, ml = &amp;#039;ബീഫ് കഴിക്കുകയോ സൂക്ഷിക്കുകയോ ചെയ്തെന്ന ആരോപണം&amp;#039; },&lt;br /&gt;
	[&amp;#039;cattle transport&amp;#039;] = { en = &amp;#039;Cattle transport&amp;#039;, ml = &amp;#039;കന്നുകാലികളെ കടത്തൽ&amp;#039; },&lt;br /&gt;
	[&amp;#039;cattle theft&amp;#039;] = { en = &amp;#039;Cattle theft&amp;#039;, ml = &amp;#039;കന്നുകാലി മോഷണം&amp;#039; },&lt;br /&gt;
	[&amp;#039;cow slaughter&amp;#039;] = { en = &amp;#039;Cow slaughter&amp;#039;, ml = &amp;#039;പശുവിനെ കശാപ്പ് ചെയ്യൽ&amp;#039; },&lt;br /&gt;
	[&amp;#039;other&amp;#039;] = { en = &amp;#039;Other&amp;#039;, ml = &amp;#039;മറ്റുള്ളവ&amp;#039; },&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
local CATEGORY = {&lt;br /&gt;
	en = &amp;#039;Cow-related mob violence in India&amp;#039;,&lt;br /&gt;
	ml = &amp;#039;ഇന്ത്യയിലെ പശു സംബന്ധമായ ആൾക്കൂട്ട ആക്രമണങ്ങൾ&amp;#039;,&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
local function lang(frame)&lt;br /&gt;
	local l = frame.args.lang or frame.args[2] or &amp;#039;en&amp;#039;&lt;br /&gt;
	if l == &amp;#039;ml&amp;#039; then return &amp;#039;ml&amp;#039; end&lt;br /&gt;
	return &amp;#039;en&amp;#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function trim(s)&lt;br /&gt;
	return s and mw.text.trim(s) or &amp;#039;&amp;#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- {{#invoke:Incident|label|date|ml}}&lt;br /&gt;
function p.label(frame)&lt;br /&gt;
	local entry = LABELS[trim(frame.args[1])]&lt;br /&gt;
	if not entry then return &amp;#039;&amp;#039; end&lt;br /&gt;
	return entry[lang(frame)]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- {{#invoke:Incident|category|ml}} → language-specific incident category name&lt;br /&gt;
function p.category(frame)&lt;br /&gt;
	local l = trim(frame.args[1]) == &amp;#039;ml&amp;#039; and &amp;#039;ml&amp;#039; or &amp;#039;en&amp;#039;&lt;br /&gt;
	return CATEGORY[l]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- {{#invoke:Incident|date|2015-09-28|ml}} → &amp;quot;2015 സെപ്റ്റംബർ 28&amp;quot; / &amp;quot;28 September 2015&amp;quot;&lt;br /&gt;
function p.date(frame)&lt;br /&gt;
	local iso = trim(frame.args[1])&lt;br /&gt;
	local y, m, d = iso:match(&amp;#039;^(%d%d%d%d)%-(%d%d)%-(%d%d)$&amp;#039;)&lt;br /&gt;
	if not y then&lt;br /&gt;
		y, m = iso:match(&amp;#039;^(%d%d%d%d)%-(%d%d)$&amp;#039;)&lt;br /&gt;
	end&lt;br /&gt;
	if not y then return iso end&lt;br /&gt;
	local month = MONTHS[lang(frame)][tonumber(m)]&lt;br /&gt;
	if lang(frame) == &amp;#039;ml&amp;#039; then&lt;br /&gt;
		return y .. &amp;#039; &amp;#039; .. month .. (d and (&amp;#039; &amp;#039; .. tonumber(d)) or &amp;#039;&amp;#039;)&lt;br /&gt;
	end&lt;br /&gt;
	return (d and (tonumber(d) .. &amp;#039; &amp;#039;) or &amp;#039;&amp;#039;) .. month .. &amp;#039; &amp;#039; .. y&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- {{#invoke:Incident|year|2015-09-28}} → 2015&lt;br /&gt;
function p.year(frame)&lt;br /&gt;
	return trim(frame.args[1]):match(&amp;#039;^(%d%d%d%d)&amp;#039;) or &amp;#039;&amp;#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- {{#invoke:Incident|trigger|cattle transport|ml}}&lt;br /&gt;
function p.trigger(frame)&lt;br /&gt;
	local key = mw.ustring.lower(trim(frame.args[1]))&lt;br /&gt;
	local entry = TRIGGERS[key]&lt;br /&gt;
	if not entry then return trim(frame.args[1]) end&lt;br /&gt;
	return entry[lang(frame)]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function dms(value, pos, neg)&lt;br /&gt;
	local hemi = value &amp;lt; 0 and neg or pos&lt;br /&gt;
	return string.format(&amp;#039;%.4f°%s&amp;#039;, math.abs(value), hemi)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- {{#invoke:Incident|coord|28.5986|77.5874|lang=ml}} → &amp;quot;28.5986°N 77.5874°E&amp;quot; + OpenStreetMap link&lt;br /&gt;
function p.coord(frame)&lt;br /&gt;
	local lat, lon = tonumber(trim(frame.args[1])), tonumber(trim(frame.args[2]))&lt;br /&gt;
	if not lat or not lon then return &amp;#039;&amp;#039; end&lt;br /&gt;
	local text = dms(lat, &amp;#039;N&amp;#039;, &amp;#039;S&amp;#039;) .. &amp;#039; &amp;#039; .. dms(lon, &amp;#039;E&amp;#039;, &amp;#039;W&amp;#039;)&lt;br /&gt;
	local url = string.format(&amp;#039;https://www.openstreetmap.org/?mlat=%.5f&amp;amp;mlon=%.5f#map=12/%.5f/%.5f&amp;#039;, lat, lon, lat, lon)&lt;br /&gt;
	return text .. &amp;#039;&amp;lt;br&amp;gt;&amp;lt;span class=&amp;quot;incident-osm&amp;quot;&amp;gt;[&amp;#039; .. url .. &amp;#039; &amp;#039; .. LABELS.osm[lang(frame)] .. &amp;#039;]&amp;lt;/span&amp;gt;&amp;#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- {{#invoke:Incident|victims|Name A; Name B}} → plain text for one name, a list for several&lt;br /&gt;
function p.victims(frame)&lt;br /&gt;
	local names = {}&lt;br /&gt;
	for name in mw.text.gsplit(trim(frame.args[1]), &amp;#039;;&amp;#039;, true) do&lt;br /&gt;
		name = trim(name)&lt;br /&gt;
		if name ~= &amp;#039;&amp;#039; then table.insert(names, name) end&lt;br /&gt;
	end&lt;br /&gt;
	if #names &amp;lt;= 1 then return names[1] or &amp;#039;&amp;#039; end&lt;br /&gt;
	return &amp;#039;\n* &amp;#039; .. table.concat(names, &amp;#039;\n* &amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- {{#invoke:Incident|isSourceCopy}} → &amp;quot;yes&amp;quot; on the &amp;quot;/en&amp;quot; copy Translate makes of each source page.&lt;br /&gt;
-- The infobox skips SMW annotations and categories there so incidents are not counted twice.&lt;br /&gt;
function p.isSourceCopy(frame)&lt;br /&gt;
	local title = mw.title.getCurrentTitle().text&lt;br /&gt;
	if title:sub(-3) == &amp;#039;/en&amp;#039; then return &amp;#039;yes&amp;#039; end&lt;br /&gt;
	return &amp;#039;&amp;#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
</feed>