<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://anotherwiki.org/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3AGadget-saveandedit.js</id>
	<title>MediaWiki:Gadget-saveandedit.js - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://anotherwiki.org/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3AGadget-saveandedit.js"/>
	<link rel="alternate" type="text/html" href="https://anotherwiki.org/index.php?title=MediaWiki:Gadget-saveandedit.js&amp;action=history"/>
	<updated>2026-04-26T19:07:18Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.40.0</generator>
	<entry>
		<id>https://anotherwiki.org/index.php?title=MediaWiki:Gadget-saveandedit.js&amp;diff=3253&amp;oldid=prev</id>
		<title>Jarandhel: Created page with &quot;////////////////////////////////////////////////  // To use that script add following line to your Special:MyPage/skin.js (without the //):  // importScript(&#039;User:Mabdul/s...&quot;</title>
		<link rel="alternate" type="text/html" href="https://anotherwiki.org/index.php?title=MediaWiki:Gadget-saveandedit.js&amp;diff=3253&amp;oldid=prev"/>
		<updated>2013-01-21T19:32:35Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;////////////////////////////////////////////////  // To use that script add following line to your &lt;a href=&quot;/wiki/Special:MyPage/skin.js&quot; title=&quot;Special:MyPage/skin.js&quot;&gt;Special:MyPage/skin.js&lt;/a&gt; (without the //):  // importScript(&amp;#039;User:Mabdul/s...&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;
&lt;br /&gt;
// To use that script add following line to your [[Special:MyPage/skin.js]] (without the //):&lt;br /&gt;
&lt;br /&gt;
// importScript(&amp;#039;User:Mabdul/saveandedit.js&amp;#039;); //adding a new button next to the edit field for saving and editing&lt;br /&gt;
&lt;br /&gt;
////////////////////////////////////////////////&lt;br /&gt;
&lt;br /&gt;
//adding a new buttom&lt;br /&gt;
&lt;br /&gt;
if(document.getElementsByClassName(&amp;#039;editButtons&amp;#039;)[0]!=&amp;#039;undefined&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
	document.getElementsByClassName(&amp;#039;editButtons&amp;#039;)[0].innerHTML += &amp;#039;&amp;lt;input type=&amp;quot;button&amp;quot; id=&amp;quot;saveandedit_button&amp;quot; name=&amp;quot;saveandedit_button&amp;quot; value=&amp;quot;Save and edit&amp;quot; onclick=&amp;quot;saveandedit_prompt()&amp;quot; /&amp;gt;&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//function for returning&lt;br /&gt;
&lt;br /&gt;
function saveandedit_prompt(){&lt;br /&gt;
&lt;br /&gt;
	//for displaying message on fail:&lt;br /&gt;
&lt;br /&gt;
	form = &amp;#039;&amp;lt;div id=&amp;quot;saveandedit_status&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
	jsMsg(form);&lt;br /&gt;
&lt;br /&gt;
	var newtext = document.editform.wpTextbox1.value;&lt;br /&gt;
&lt;br /&gt;
	var summary = document.editform.wpSummary.value;&lt;br /&gt;
&lt;br /&gt;
	var notminor = document.editform.wpMinoredit.checked;&lt;br /&gt;
&lt;br /&gt;
	summary += &amp;#039; (using [[User:mabdul/saveandedit.js|Save&amp;amp;Edit]])&amp;#039;; //some advertising&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	//get the token&lt;br /&gt;
&lt;br /&gt;
	var req = sajax_init_object();&lt;br /&gt;
&lt;br /&gt;
	req.open(&amp;quot;GET&amp;quot;, wgScriptPath + &amp;quot;/api.php?action=query&amp;amp;prop=info&amp;amp;indexpageids=1&amp;amp;intoken=edit&amp;amp;format=json&amp;amp;titles=&amp;quot;+encodeURIComponent(wgPageName), false);&lt;br /&gt;
&lt;br /&gt;
	req.send(null);&lt;br /&gt;
&lt;br /&gt;
	var response = eval(&amp;#039;(&amp;#039; + req.responseText + &amp;#039;)&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
	pageid = response[&amp;#039;query&amp;#039;][&amp;#039;pageids&amp;#039;][0];&lt;br /&gt;
&lt;br /&gt;
	token = response[&amp;#039;query&amp;#039;][&amp;#039;pages&amp;#039;][pageid][&amp;#039;edittoken&amp;#039;];&lt;br /&gt;
&lt;br /&gt;
	delete req;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	//Check if only a section will be edited&lt;br /&gt;
&lt;br /&gt;
	var url = String(window.location);&lt;br /&gt;
&lt;br /&gt;
	var section = &amp;quot;no&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
	if(window.location.search != &amp;quot;&amp;quot;){&lt;br /&gt;
&lt;br /&gt;
		var undef = url.split(&amp;quot;?&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
		var args  = undef[1].split(&amp;quot;&amp;amp;&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
		for(i=0; i &amp;lt; args.length; i++) {&lt;br /&gt;
&lt;br /&gt;
			var a = args[i].split(&amp;quot;=&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
			if(a[0] == &amp;#039;section&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
				section = a[1];&lt;br /&gt;
&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	//do the edit&lt;br /&gt;
&lt;br /&gt;
	var req = sajax_init_object();&lt;br /&gt;
&lt;br /&gt;
	var params = &amp;quot;action=edit&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
	if(section!=&amp;quot;no&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
		params += &amp;quot;&amp;amp;section=&amp;quot;+section;&lt;br /&gt;
&lt;br /&gt;
	params += &amp;quot;&amp;amp;format=json&amp;amp;token=&amp;quot;+encodeURIComponent(token)+&amp;quot;&amp;amp;title=&amp;quot;+encodeURIComponent(wgPageName)+&amp;quot;&amp;amp;text=&amp;quot;+encodeURIComponent(newtext)+&amp;quot;&amp;amp;notminor=&amp;quot;+notminor+&amp;quot;&amp;amp;summary=&amp;quot;+encodeURIComponent(summary);&lt;br /&gt;
&lt;br /&gt;
	url = wgScriptPath + &amp;quot;/api.php&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
	req.open(&amp;quot;POST&amp;quot;, url, true);&lt;br /&gt;
&lt;br /&gt;
	req.setRequestHeader(&amp;quot;Content-type&amp;quot;, &amp;quot;application/x-www-form-urlencoded&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
	req.setRequestHeader(&amp;quot;Content-length&amp;quot;, params.length);&lt;br /&gt;
&lt;br /&gt;
	req.setRequestHeader(&amp;quot;Connection&amp;quot;, &amp;quot;close&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
	req.onreadystatechange = function() {&lt;br /&gt;
&lt;br /&gt;
		if(req.readyState == 4 &amp;amp;&amp;amp; req.status == 200) {&lt;br /&gt;
&lt;br /&gt;
			response = eval(&amp;#039;(&amp;#039; + req.responseText + &amp;#039;)&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
			try {&lt;br /&gt;
&lt;br /&gt;
				if (response[&amp;#039;edit&amp;#039;][&amp;#039;result&amp;#039;] == &amp;quot;Success&amp;quot;) {&lt;br /&gt;
&lt;br /&gt;
					//reload on the success&lt;br /&gt;
&lt;br /&gt;
					window.location.reload();&lt;br /&gt;
&lt;br /&gt;
				} else {&lt;br /&gt;
&lt;br /&gt;
					//or handle out the error message&lt;br /&gt;
&lt;br /&gt;
					document.getElementById(&amp;#039;saveandedit_status&amp;#039;).innerHTML = &amp;#039;&amp;lt;div style=&amp;quot;color:red&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Edit failed on &amp;lt;a href=&amp;quot;&amp;#039;+wgArticlePath.replace(&amp;quot;$1&amp;quot;, encodeURI(wgPageName))+&amp;#039;&amp;quot; title=&amp;quot;&amp;#039;+wgPageName+&amp;#039;&amp;quot;&amp;gt;&amp;#039;+wgPageName+&amp;#039;&amp;lt;/a&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;/div&amp;gt;. Best try it again (&amp;lt;b&amp;gt;Don\&amp;#039;t forget to copy the text&amp;lt;/b&amp;gt;). Error info:&amp;#039; +response[&amp;#039;error&amp;#039;][&amp;#039;code&amp;#039;] + &amp;#039; : &amp;#039; + response[&amp;#039;error&amp;#039;][&amp;#039;info&amp;#039;];&lt;br /&gt;
&lt;br /&gt;
				}&lt;br /&gt;
&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			catch(err) {&lt;br /&gt;
&lt;br /&gt;
				document.getElementById(&amp;#039;saveandedit_status&amp;#039;).innerHTML = &amp;#039;&amp;lt;div style=&amp;quot;color:red&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Edit failed on &amp;lt;a href=&amp;quot;&amp;#039;+wgArticlePath.replace(&amp;quot;$1&amp;quot;, encodeURI(wgPageName))+&amp;#039;&amp;quot; title=&amp;quot;&amp;#039;+wgPageName+&amp;#039;&amp;quot;&amp;gt;&amp;#039;+wgPageName+&amp;#039;&amp;lt;/a&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;/div&amp;gt;&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			delete req;&lt;br /&gt;
&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
	};&lt;br /&gt;
&lt;br /&gt;
	req.send(params);&lt;br /&gt;
&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Jarandhel</name></author>
	</entry>
</feed>