<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.geministation.com/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3AGadget-AutoCVU.js</id>
	<title>MediaWiki:Gadget-AutoCVU.js - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.geministation.com/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3AGadget-AutoCVU.js"/>
	<link rel="alternate" type="text/html" href="https://wiki.geministation.com/index.php?title=MediaWiki:Gadget-AutoCVU.js&amp;action=history"/>
	<updated>2026-06-04T11:53:53Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki.geministation.com/index.php?title=MediaWiki:Gadget-AutoCVU.js&amp;diff=6804&amp;oldid=prev</id>
		<title>Banri: Created page with &quot;/**  * Adds a &quot;report&quot; link to page histories and diffs for quickly reporting a vandal to the CVU.  */ var autoCvuSubmit = 1; // Whether to auto submit edits to the CVU page...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.geministation.com/index.php?title=MediaWiki:Gadget-AutoCVU.js&amp;diff=6804&amp;oldid=prev"/>
		<updated>2020-08-14T14:21:19Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;&lt;span class=&quot;autocomment&quot;&gt;*  * Adds a &amp;quot;report&amp;quot; link to page histories and diffs for quickly reporting a vandal to the CVU.: &lt;/span&gt; var autoCvuSubmit = 1; // Whether to auto submit edits to the CVU page...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;/**&lt;br /&gt;
 * Adds a &amp;quot;report&amp;quot; link to page histories and diffs for quickly reporting a vandal to the CVU.&lt;br /&gt;
 */&lt;br /&gt;
var autoCvuSubmit = 1; // Whether to auto submit edits to the CVU page&lt;br /&gt;
 &lt;br /&gt;
$(document).ready(function() {&lt;br /&gt;
	function makeLink(user) {&lt;br /&gt;
		var a = document.createElement(&amp;#039;a&amp;#039;);&lt;br /&gt;
		a.href = mw.config.get(&amp;#039;wgScript&amp;#039;) + &amp;#039;?title=GSWiki:Counter-Vandalism_Unit&amp;amp;action=edit&amp;amp;section=1&amp;amp;cvuEditor=&amp;#039; + encodeURIComponent(user) + &amp;#039;&amp;amp;cvuPage=&amp;#039; + encodeURIComponent(mw.config.get(&amp;#039;wgPageName&amp;#039;));&lt;br /&gt;
		a.title = &amp;#039;Report this edit to the CVU.&amp;#039;;&lt;br /&gt;
		a.appendChild(document.createTextNode(&amp;#039;report&amp;#039;));&lt;br /&gt;
		return a;&lt;br /&gt;
	}&lt;br /&gt;
 &lt;br /&gt;
	// http://www.netlobo.com/url_query_string_javascript.html&lt;br /&gt;
	function getParam(name) {&lt;br /&gt;
		name = name.replace(/[\[]/, &amp;#039;\\\[&amp;#039;).replace(/[\]]/, &amp;#039;\\\]&amp;#039;);&lt;br /&gt;
		var regex = new RegExp(&amp;#039;[\\?&amp;amp;]&amp;#039; + name + &amp;#039;=([^&amp;amp;#]*)&amp;#039;);&lt;br /&gt;
  		var results = regex.exec(window.location.href);&lt;br /&gt;
		if (results === null) {&lt;br /&gt;
			return &amp;#039;&amp;#039;;&lt;br /&gt;
		} else {&lt;br /&gt;
			return decodeURIComponent(results[1].replace(/\+/g, &amp;#039;%20&amp;#039;));&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
 &lt;br /&gt;
	var cvuEditor = getParam(&amp;#039;cvuEditor&amp;#039;);&lt;br /&gt;
	var cvuPage = getParam(&amp;#039;cvuPage&amp;#039;);&lt;br /&gt;
	var action = mw.config.get(&amp;#039;wgAction&amp;#039;)&lt;br /&gt;
 &lt;br /&gt;
	if (action == &amp;#039;rollback&amp;#039;) {&lt;br /&gt;
		var page = document.getElementById(&amp;#039;bodyContent&amp;#039;);&lt;br /&gt;
		var p = document.createElement(&amp;#039;p&amp;#039;);&lt;br /&gt;
		p.style.fontWeight = &amp;#039;bold&amp;#039;;&lt;br /&gt;
		p.appendChild(document.createTextNode(&amp;#039;You can &amp;#039;));&lt;br /&gt;
		p.appendChild(makeLink(getParam(&amp;#039;from&amp;#039;)));&lt;br /&gt;
		p.appendChild(document.createTextNode(&amp;#039; this user to the CVU.&amp;#039;));&lt;br /&gt;
		page.insertBefore(p, page.firstChild);&lt;br /&gt;
	} else if (action == &amp;#039;history&amp;#039;) {&lt;br /&gt;
		var list = document.getElementById(&amp;#039;pagehistory&amp;#039;);&lt;br /&gt;
		var items = list.getElementsByTagName(&amp;#039;li&amp;#039;);&lt;br /&gt;
		for (i = 0; i &amp;lt; items.length; i++) {&lt;br /&gt;
			var user = items[i].getElementsByClassName(&amp;#039;mw-userlink&amp;#039;)[0].innerText;&lt;br /&gt;
			var undo = items[i].getElementsByClassName(&amp;#039;mw-history-undo&amp;#039;)[0];&lt;br /&gt;
 &lt;br /&gt;
			if (undo) {&lt;br /&gt;
				undo.appendChild(document.createTextNode(&amp;#039; | &amp;#039;));&lt;br /&gt;
				undo.appendChild(makeLink(user));&lt;br /&gt;
			} else {&lt;br /&gt;
				items[i].appendChild(document.createTextNode(&amp;#039; (&amp;#039;));&lt;br /&gt;
				items[i].appendChild(makeLink(user));&lt;br /&gt;
				items[i].appendChild(document.createTextNode(&amp;#039;)&amp;#039;));&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	} else if (action == &amp;#039;view&amp;#039; &amp;amp;&amp;amp; getParam(&amp;#039;diff&amp;#039;)) {&lt;br /&gt;
		var user = document.getElementById(&amp;#039;mw-diff-ntitle2&amp;#039;).getElementsByClassName(&amp;#039;mw-userlink&amp;#039;)[0].innerText;&lt;br /&gt;
 &lt;br /&gt;
		var undo = document.getElementById(&amp;#039;mw-diff-ntitle1&amp;#039;).firstChild;&lt;br /&gt;
		undo.appendChild(document.createTextNode(&amp;#039; (&amp;#039;));&lt;br /&gt;
		undo.appendChild(makeLink(user));&lt;br /&gt;
		undo.appendChild(document.createTextNode(&amp;#039;)&amp;#039;));&lt;br /&gt;
	} else if (action == &amp;#039;edit&amp;#039; &amp;amp;&amp;amp; cvuEditor &amp;amp;&amp;amp; cvuPage) {&lt;br /&gt;
		var lineSep = (navigator.appVersion.indexOf(&amp;#039;MSIE&amp;#039;) != -1) ? &amp;#039;\r\n&amp;#039; : &amp;#039;\n&amp;#039;;&lt;br /&gt;
		var obj = document.getElementById(&amp;#039;wpTextbox1&amp;#039;);&lt;br /&gt;
		var tpl = &amp;#039;{&amp;#039; + &amp;#039;{cvuid|&amp;#039; + cvuEditor + &amp;#039;|&amp;#039; + cvuPage.replace(/_/g, &amp;#039; &amp;#039;) + &amp;#039;}&amp;#039; + &amp;#039;}\n&amp;#039;;&lt;br /&gt;
		var pos1, pos2;&lt;br /&gt;
		var rteEnabled = (typeof(window.RTEInstanceId) != &amp;#039;undefined&amp;#039;);&lt;br /&gt;
 &lt;br /&gt;
		obj.value = obj.value.replace(&amp;#039;{{cvuid|insert vandal}}&amp;#039; + lineSep, &amp;#039;&amp;#039;);&lt;br /&gt;
 &lt;br /&gt;
		if (rteEnabled) {&lt;br /&gt;
			pos1 = obj.value.indexOf(&amp;#039;type=&amp;quot;comment&amp;quot; /&amp;gt;&amp;#039; + lineSep + &amp;#039;&amp;lt;/p&amp;gt;&amp;#039;);&lt;br /&gt;
		} else {&lt;br /&gt;
			pos1 = obj.value.indexOf(&amp;#039;--&amp;gt;&amp;#039;);&lt;br /&gt;
		}&lt;br /&gt;
 &lt;br /&gt;
		if (pos1 == -1) {&lt;br /&gt;
			alert(&amp;#039;Auto CVU was unable to find the reference point.&amp;#039;);&lt;br /&gt;
			return;&lt;br /&gt;
		}&lt;br /&gt;
 &lt;br /&gt;
		if (rteEnabled) {&lt;br /&gt;
			pos2 = obj.value.indexOf(&amp;#039;&amp;lt;img&amp;#039;, pos1);&lt;br /&gt;
		} else {&lt;br /&gt;
			pos2 = obj.value.indexOf(&amp;#039;{{cvuid&amp;#039;, pos1);&lt;br /&gt;
		}&lt;br /&gt;
 &lt;br /&gt;
		if (pos2 == -1) {&lt;br /&gt;
			alert(&amp;#039;Auto CVU was unable to find the template insertion point.&amp;#039;);&lt;br /&gt;
			return;&lt;br /&gt;
		}&lt;br /&gt;
 &lt;br /&gt;
		obj.value = obj.value.substring(0, pos2) + tpl + obj.value.substring(pos2);&lt;br /&gt;
		document.getElementById(&amp;#039;wpSummary&amp;#039;).querySelector(&amp;#039;input&amp;#039;).value = &amp;#039;Reported [[Special:Contributions/&amp;#039; + cvuEditor + &amp;#039;|&amp;#039; + cvuEditor + &amp;#039;]] using the [[MediaWiki:Gadget-AutoCVU.js|report button]]&amp;#039;;&lt;br /&gt;
 &lt;br /&gt;
		if (window.autoCvuSubmit) {&lt;br /&gt;
			var save = document.getElementById(&amp;#039;wpSave&amp;#039;).querySelector(&amp;#039;input&amp;#039;);&lt;br /&gt;
			$(save).click(); // Not submit(); needed to fire events for RTE&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
});&lt;/div&gt;</summary>
		<author><name>Banri</name></author>
	</entry>
</feed>