میڈیا وکی:Gadget-saveandedit.js
نوٹ: بچان مگروں توانوں اپنے براؤزر دے کاشے توں بار جانا پوے گا تبدیلیاں ویکھن لئی۔
- Firefox / Safari: Shift پھڑی رکھو ریلوڈ تے کلکنگ کردیاں ہویاںCtrl-F5 or Ctrl-R (Command-R میک تے)
- گوکل کروم: دباؤ Ctrl-Shift-R (Command-Shift-R میک تے)
Internet Explorer: hold Ctrl کلک کردیاں Refresh, یا دباؤ Ctrl-F5 Konqueror:کلک ریلوڈ یا F5 دباؤ۔ Opera: کاشے نوں صاف کرو آوزار → تانگاں
//[[en:User:Mabdul/saveandedit.js]]
//adding a new buttom
if(document.getElementsByClassName('editButtons')[0]!='undefined')
{
//document.getElementsByClassName('editButtons')[0].innerHTML += '<input type="button" id="saveandedit_button" name="saveandedit_button" value="محفوظ پھر ترمیم" onclick="saveandedit_prompt()" />';
}
var lang = document.getElementsByTagName("html")[0].getAttribute("lang=ur");
document.documentElement.setAttribute("lang", 'ur');
//function for returning
function saveandedit_prompt(){
//for displaying message on fail:
form = '<div id="saveandedit_status"></div>';
mw.notify(form);
var newtext = document.editform.wpTextbox1.value;
var summary = document.editform.wpSummary.value;
var notminor = document.editform.wpMinoredit.checked;
summary += ' “[[MediaWiki:Gadget-saveandedit|محفوظ پھر ترمیم]]” ';
//get the token
var req = sajax_init_object();
req.open("GET", wgScriptPath + "/api.php?action=query&prop=info&indexpageids=1&intoken=edit&format=json&titles="+encodeURIComponent(mw.config.get('wgPageName')), false);
req.send(null);
var response = eval('(' + req.responseText + ')');
pageid = response['query']['pageids'][0];
token = response['query']['pages'][pageid]['edittoken'];
delete req;
//Check if only a section will be edited
var url = String(window.location);
var section = "no";
if(window.location.search != ""){
var undef = url.split("?");
var args = undef[1].split("&");
for(i=0; i < args.length; i++) {
var a = args[i].split("=");
if(a[0] == 'section')
section = a[1];
}
}
//do the edit
var req = sajax_init_object();
var params = "action=edit";
if(section!="no")
params += "§ion="+section;
params += "&format=json&token="+encodeURIComponent(token)+"&title="+encodeURIComponent(mw.config.get('wgPageName'))+"&text="+encodeURIComponent(newtext)+"¬minor="+notminor+"&summary="+encodeURIComponent(summary);
url = wgScriptPath + "/api.php";
req.open("POST", url, true);
req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
req.setRequestHeader("Content-length", params.length);
req.setRequestHeader("Connection", "close");
req.onreadystatechange = function() {
if(req.readyState == 4 && req.status == 200) {
response = eval('(' + req.responseText + ')');
try {
if (response['edit']['result'] == "Success") {
//reload on the success
window.location.reload();
} else {
//or handle out the error message
document.getElementById('saveandedit_status').innerHTML = '<div style="color:red"><b>Edit failed on <a href="'+mw.config.get('wgArticlePath').replace("$1", encodeURI(mw.config.get('wgPageName')))+'" title="'+mw.config.get('wgPageName')+'">'+mw.config.get('wgPageName')+'</a></b></div>. Best try it again (<b>Don\'t forget to copy the text</b>). Error info:' +response['error']['code'] + ' : ' + response['error']['info'];
}
}
catch(err) {
document.getElementById('saveandedit_status').innerHTML = '<div style="color:red"><b>Edit failed on <a href="'+mw.config.get('wgArticlePath').replace("$1", encodeURI(mw.config.get('wgPageName')))+'" title="'+mw.config.get('wgPageName')+'">'+mw.config.get('wgPageName')+'</a></b></div>';
}
delete req;
}
};
req.send(params);
}