<?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-massdelete.js</id>
	<title>MediaWiki:Gadget-massdelete.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-massdelete.js"/>
	<link rel="alternate" type="text/html" href="https://wiki.geministation.com/index.php?title=MediaWiki:Gadget-massdelete.js&amp;action=history"/>
	<updated>2026-06-04T11:55:31Z</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-massdelete.js&amp;diff=2196&amp;oldid=prev</id>
		<title>Banri: Created page with &quot;//&lt;nowiki&gt; var config = mw.config.get([ 	&#039;wgUserGroups&#039;, 	&#039;wgScriptPath&#039;, 	&#039;wgPageName&#039; 	]); var mass_delete = (function (api) {     var token = sessionStorage.getItem(&quot;Delete...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.geministation.com/index.php?title=MediaWiki:Gadget-massdelete.js&amp;diff=2196&amp;oldid=prev"/>
		<updated>2020-02-19T16:39:31Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;//&amp;lt;nowiki&amp;gt; var config = mw.config.get([ 	&amp;#039;wgUserGroups&amp;#039;, 	&amp;#039;wgScriptPath&amp;#039;, 	&amp;#039;wgPageName&amp;#039; 	]); var mass_delete = (function (api) {     var token = sessionStorage.getItem(&amp;quot;Delete...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;//&amp;lt;nowiki&amp;gt;&lt;br /&gt;
var config = mw.config.get([&lt;br /&gt;
	&amp;#039;wgUserGroups&amp;#039;,&lt;br /&gt;
	&amp;#039;wgScriptPath&amp;#039;,&lt;br /&gt;
	&amp;#039;wgPageName&amp;#039;&lt;br /&gt;
	]);&lt;br /&gt;
var mass_delete = (function (api) {&lt;br /&gt;
    var token = sessionStorage.getItem(&amp;quot;DeleteToken&amp;quot;),&lt;br /&gt;
        onready = function () {&lt;br /&gt;
            if (this.readyState === 4 &amp;amp;&amp;amp; this.status === 200) {&lt;br /&gt;
                var i, xhr, a = JSON.parse(this.responseText).query.usercontribs,&lt;br /&gt;
                    onready = function () {&lt;br /&gt;
                        if (this.readyState === 4 &amp;amp;&amp;amp; this.status === 200&lt;br /&gt;
                            &amp;amp;&amp;amp; this.responseText.indexOf(&amp;quot;error&amp;quot;) &amp;gt; -1) {&lt;br /&gt;
                            console.log(JSON.parse(this.responseText));&lt;br /&gt;
                        }&lt;br /&gt;
                    },&lt;br /&gt;
                    query = &amp;quot;format=json&amp;amp;action=delete&amp;amp;token=&amp;quot; + sessionStorage.getItem(&amp;quot;DeleteToken&amp;quot;) + &amp;quot;&amp;amp;title=&amp;quot;;&lt;br /&gt;
                for (i = 0; i &amp;lt; a.length; i = i + 1) {&lt;br /&gt;
                    if (a[i].hasOwnProperty(&amp;quot;new&amp;quot;)) {&lt;br /&gt;
                        xhr = new XMLHttpRequest();&lt;br /&gt;
                        xhr.open(&amp;quot;POST&amp;quot;, api, true);&lt;br /&gt;
                        xhr.onreadystatechange = onready;&lt;br /&gt;
                        xhr.setRequestHeader(&amp;quot;Content-Type&amp;quot;,&lt;br /&gt;
                            &amp;quot;application/x-www-form-urlencoded&amp;quot;);&lt;br /&gt;
                        xhr.send(query + encodeURIComponent(a[i].title));&lt;br /&gt;
                    }&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        },&lt;br /&gt;
        query = api +&lt;br /&gt;
            &amp;quot;?format=json&amp;amp;action=query&amp;amp;list=usercontribs&amp;amp;uclimit=500&amp;quot; +&lt;br /&gt;
            (config.wgUserGroups.indexOf(&amp;quot;sysop&amp;quot;) &amp;gt; -1 ? &amp;quot;0&amp;quot; : &amp;quot;&amp;quot;) + &amp;quot;&amp;amp;ucuser=&amp;quot;,&lt;br /&gt;
        getDeleteToken = (function () {&lt;br /&gt;
            var onready = function () {&lt;br /&gt;
                    if (this.readyState === 4 &amp;amp;&amp;amp; this.status === 200) {&lt;br /&gt;
                        token = this.responseXML.getElementsByTagName(&amp;quot;page&amp;quot;)[0]&lt;br /&gt;
                            .getAttribute(&amp;quot;deletetoken&amp;quot;).replace(/\+/, &amp;quot;%2B&amp;quot;);&lt;br /&gt;
                        sessionStorage.setItem(&amp;quot;DeleteToken&amp;quot;, token);&lt;br /&gt;
                    }&lt;br /&gt;
                },&lt;br /&gt;
                query = api +&lt;br /&gt;
                    &amp;quot;?format=xml&amp;amp;action=query&amp;amp;prop=info&amp;amp;intoken=delete&amp;amp;titles=A&amp;quot;;&lt;br /&gt;
            return function () {&lt;br /&gt;
                var xhr = new XMLHttpRequest();&lt;br /&gt;
                xhr.open(&amp;quot;GET&amp;quot;, query, false);&lt;br /&gt;
                xhr.onreadystatechange = onready;&lt;br /&gt;
                xhr.send();&lt;br /&gt;
            };&lt;br /&gt;
        }());&lt;br /&gt;
    return function (user, ns) {&lt;br /&gt;
        getDeleteToken();&lt;br /&gt;
        var xhr = new XMLHttpRequest();&lt;br /&gt;
        xhr.open(&amp;quot;GET&amp;quot;, query + encodeURIComponent(user) + &amp;#039;&amp;amp;ucnamespace=&amp;#039; + ns, true);&lt;br /&gt;
        xhr.onreadystatechange = onready;&lt;br /&gt;
        xhr.send();&lt;br /&gt;
    };&lt;br /&gt;
}(config.wgScriptPath + &amp;quot;/api.php&amp;quot;));&lt;br /&gt;
 &lt;br /&gt;
if(config.wgPageName == &amp;#039;GeminiStation:MassDelete&amp;#039;) {&lt;br /&gt;
    $(function() {&lt;br /&gt;
 &lt;br /&gt;
	function delete_submit() {&lt;br /&gt;
		$(&amp;#039;#delete_submit&amp;#039;).attr(&amp;#039;disabled&amp;#039;, &amp;#039;disabled&amp;#039;).val(&amp;#039;Loading...&amp;#039;);&lt;br /&gt;
		var user = $.trim($(&amp;#039;#user&amp;#039;).val());&lt;br /&gt;
		var ns = $.trim($(&amp;#039;#ns&amp;#039;).val());&lt;br /&gt;
		mass_delete(user, ns);&lt;br /&gt;
		alert(user + &amp;quot;&amp;#039;s contributions in namespace: &amp;quot; + ns + &amp;quot; have been deleted.&amp;quot;);&lt;br /&gt;
	}&lt;br /&gt;
 &lt;br /&gt;
        var $div = $(&amp;#039;#delete_header&amp;#039;);&lt;br /&gt;
	var $form = $(&amp;#039;&amp;lt;form /&amp;gt;&amp;#039;);&lt;br /&gt;
        $form.submit(delete_submit);&lt;br /&gt;
	$form.append($(&amp;#039;&amp;lt;h4 /&amp;gt;&amp;#039;).text(&amp;quot;Delete a user&amp;#039;s contributions:&amp;quot;));&lt;br /&gt;
 &lt;br /&gt;
	var $p1 = $(&amp;#039;&amp;lt;p /&amp;gt;&amp;#039;).append(&amp;quot;Enter a user&amp;#039;s username or IP address in the form below, and select a namespace. All of the pages that this user created in the specified namespace will be deleted upon submitting the form.&amp;quot;);&lt;br /&gt;
	$form.append($p1);&lt;br /&gt;
 &lt;br /&gt;
	var $p2 = $(&amp;#039;&amp;lt;p /&amp;gt;&amp;#039;);&lt;br /&gt;
	$p2.append($(&amp;#039;&amp;lt;label /&amp;gt;&amp;#039;).attr({&amp;#039;for&amp;#039;: &amp;#039;user&amp;#039;}).text(&amp;#039;Username:&amp;#039;));&lt;br /&gt;
	$p2.append($(&amp;#039;&amp;lt;input /&amp;gt;&amp;#039;).attr({&amp;#039;id&amp;#039;: &amp;#039;user&amp;#039;, &amp;#039;type&amp;#039;: &amp;#039;text&amp;#039;, &amp;#039;size&amp;#039;: 9}));&lt;br /&gt;
	$p2.append($(&amp;#039;&amp;lt;label /&amp;gt;&amp;#039;).attr({&amp;#039;for&amp;#039;: &amp;#039;ns&amp;#039;}).text(&amp;#039;Namespace:&amp;#039;));&lt;br /&gt;
	$p2.append($(&amp;#039;&amp;lt;input /&amp;gt;&amp;#039;).attr({&amp;#039;id&amp;#039;: &amp;#039;ns&amp;#039;, &amp;#039;type&amp;#039;: &amp;#039;text&amp;#039;, &amp;#039;size&amp;#039;: 3}));&lt;br /&gt;
	$p2.append($(&amp;#039;&amp;lt;input /&amp;gt;&amp;#039;).css({&amp;#039;margin&amp;#039;: &amp;#039;0 1em 0 1em&amp;#039;}).attr({&amp;#039;id&amp;#039;: &amp;#039;delete_submit&amp;#039;, &amp;#039;type&amp;#039;: &amp;#039;submit&amp;#039;}).val(&amp;#039;Submit&amp;#039;));&lt;br /&gt;
	$form.append($p2);&lt;br /&gt;
 &lt;br /&gt;
	if ($div != null) {&lt;br /&gt;
		$div.empty().append($form);&lt;br /&gt;
	}&lt;br /&gt;
    });&lt;br /&gt;
}&lt;br /&gt;
//&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Banri</name></author>
	</entry>
</feed>