सदस्य:Bhairava7/blankUPage.js
सूचना: यह पृष्ठ सुरक्षित करने बाद, परिवर्तनों को देखने लिए ब्राउज़र का कैश ख़ाली करने की आवश्यकता हो सकती है।
- मोज़िला / फ़ायरफ़ॉक्स / सफ़ारी: shift hold करें जब आप reload क्लिक करते है, या Ctrl-Shift-R (अपल मैक में Cmd-Shift-R) दबाएँ;
- गूगल क्रोम: Ctrl-shift-R (मैक में Cmd-Shift-R) दबाएँ
- इंटरनेट एक्सप्लोरर: Ctrl hold करें जब आप refresh क्लिक करते हैं, या Ctrl-F5 क्लिक करते हैं;
- कॉङ्करर: सिर्फ़ Reload बटन पर क्लिक करें, या F5 क्लिक करें;
- ऑपरा सदस्य को Tools→Preferences में सम्पूर्ण कैश ख़ाली करने की ज़रूरत हो सकती है।
//<nowiki>
/*
// यह स्क्रिप्ट सदस्य नामस्थान के पन्नों को खाली करने के लिए है।
// संदेश और फॉर्म दिखाने के लिए [[:en:User:Timotheus_Canens/displaymessage.js]] का प्रयोग किया गया है।
*/
// अंगरेजी विकिपीडिया की स्क्रिप्ट को काल किया जाएगा ताकि फॉर्म और संदेश दिखाए जा सकें
mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Timotheus_Canens/displaymessage.js&action=raw&ctype=text/javascript');
var wgScriptPath = mw.config.get('wgScriptPath');
if (mw.config.get('wgNamespaceNumber') === 2) { // केवल सदस्य नामस्थान में कार्य करेगा
// आगे का कोड सबकुछ ठीक-ठाक रहने पर "अधिक" विकल्प में औजार लॉन्च करने का विकल्प जोड़ेगा
$(document).ready( function() {
mw.util.addPortletLink( 'p-cactions', 'javascript:blankUPage_init()', 'BlankPage', 'ca-blankUPage', 'Blank User page' );
} );
// अब कुछ वैरिएबल परिभाषित किये जा रहे हैं
var blankUPage_PageName = mw.config.get('wgPageName');
var blankUPage_AJAXnumber = 0;
// मुख्य फंक्शन यहाँ शुरू होता है
function blankUPage_init() {
// फॉर्म की डिजाइन जो दिखलाई पड़ेगी
form = '<div id="blankUPage_initialform">' +
'<h3>' + blankUPage_PageName + ' को खाली कर दिया जाएगा... </h3>' +
'<label for="blankUPage_reason">डिफॉल्ट सारांश: "खाली किया गया / कृपया [[वि:सपृनहीं|सदस्य पृष्ठ नीति]] देखें" + आपका (वैकल्पिक) सारांश:</label><br />' +
'<input type="text" size="120" id="blankUPage_reason" name="blankUPage_reason" />' + '<br />' +
'<input type="button" id="blankUPage_merge_button" name="blankUPage_merge_button" value="Go" onclick="blankUPage_close(\'Blanking\')" />' +
'<input type="hidden" value="0" id="blankUPage_dodelete" name="blankUPage_dodelete" /></div><div id="blankUPage_extra"></div>';
displayMessage(form);
}
// फॉर्म जमा करने के बाद कार्य पूरा करने की प्रक्रिया शुरू
function blankUPage_close(close) {
closetype = close;
if (closetype == "Blanking") {
var reason = document.getElementById('blankUPage_reason').value; //कारण पढ़ा गया
close += "सदस्य पन्ने पर"; //यह पता नहीं क्या है
}
displayMessage('<ul id="blankUPage_status"></ul><ul id="blankUPage_finish"></ul>');
document.getElementById('blankUPage_finish').innerHTML += '<span id="blankUPage_finished_wrapper"><span id="blankUPage_finished_main" style="display:none"><li id="blankUPage_done"><b>पूरा हुआ (<a href="/wiki/' + encodeURI(blankUPage_PageName) + '?action=view" title="' + blankUPage_PageName + '">रीलोड करके देखें!</a>)</b></li></span></span>';
var AFDpage = blankUPage_getPageText(blankUPage_PageName);
AFDpage = ""; //पृष्ठ पूरी तरह खाली
token = blankUPage_getToken(true);
var temptitle = blankUPage_PageName;
pagetitle = temptitle; //शायद यह कोड फालतू है
blankUPage_editPage(blankUPage_PageName, AFDpage, token, "खाली किया गया / कृपया [[वि:सपृनहीं|सदस्य पृष्ठ नीति]] देखें" + reason); //संपादन सारांश है
var AFDlink = '[[:' + blankUPage_PageName + ']]';
document.getElementById('blankUPage_finished_main').style.display = '';
}
// यहाँ प्रयोगकर्ता पन्ने की सामग्री प्राप्त करने का फंक्शन है, ताकि नया अनुरोध सबसे नीचे जोड़ा जा सके।
function blankUPage_getPageText(title) {
document.getElementById('blankUPage_status').innerHTML += '<li id="blankUPage_get' + escape(title) + '"><a href="/wiki/' + encodeURI(title) + '" title="' + title + '">' + title + '</a>प्राप्त किया जा रहा है।</li>'; //रन टाइम डायलाग
var req = new XMLHttpRequest();
req.open("GET", wgScriptPath + "/api.php?action=query&prop=revisions&rvprop=content&format=json&indexpageids=1&titles=" + encodeURIComponent(title), false);
req.send(null);
var response = eval('(' + req.responseText + ')');
pageid = response['query']['pageids'][0];
pagetext = response['query']['pages'][pageid]['revisions'][0]['*'];
delete req; // तात्कालिक रूप से प्रयोगकर्ता पन्ने को छोड़ दिया गया, आगे सीधे उसपे संपादन हो जायेगा
document.getElementById('blankUPage_get' + escape(title)).innerHTML = '<a href="/wiki/' + encodeURI(title) + '" title="' + title + '">' + title + '</a> प्राप्त किया जा रहा है।'; //रन टाइम डायलाग
return pagetext;
}
// टोकन प्राप्त करने हेतु कोड यहाँ है
function blankUPage_getToken(show) {
if (show) {
document.getElementById('blankUPage_status').innerHTML += '<li id="blankUPage_gettoken">टोकन प्राप्त किया जा रहा है।</li>';
}
var req = new XMLHttpRequest();
req.open("GET", wgScriptPath + "/api.php?action=query&prop=info&indexpageids=1&intoken=edit&format=json&titles=" + encodeURIComponent(blankUPage_PageName), false);
req.send(null);
var response = eval('(' + req.responseText + ')');
pageid = response['query']['pageids'][0];
token = response['query']['pages'][pageid]['edittoken'];
delete req;
if (show) {
document.getElementById('blankUPage_gettoken').innerHTML = 'टोकन प्राप्त किया जा रहा है'; //रन टाइम डायलाग
}
return token;
}
// वास्तविक संपादन को क्रियान्वित यहाँ किया जा रहा
function blankUPage_editPage(title, newtext, token, summary) {
document.getElementById('blankUPage_finished_wrapper').innerHTML = '<span id="blankUPage_AJAX_finished_' + blankUPage_AJAXnumber + '" style="display:none">' + document.getElementById('blankUPage_finished_wrapper').innerHTML + '</span>';
var func_id = blankUPage_AJAXnumber;
blankUPage_AJAXnumber++;
document.getElementById('blankUPage_status').innerHTML += '<li id="blankUPage_edit' + escape(title) + '"><a href="/wiki/' + encodeURI(title) + '" title="' + title + '">' + title + '</a> में बदलाव किये जा रहे हैं।</li>';
var req = new XMLHttpRequest();
var params = "action=edit&format=json&token=" + encodeURIComponent(token) + "&title=" + encodeURIComponent(title) + "&text=" + encodeURIComponent(newtext) + "¬minor=1&unwatch=1&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") { //सफलता प्राप्त हुई
document.getElementById('blankUPage_edit' + escape(title)).innerHTML = '<a href="/wiki/' + encodeURI(title) + '" title="' + title + '">' + title + '</a> को खाली किया गया।';
} else {
document.getElementById('blankUPage_edit' + escape(title)).innerHTML = '<div style="color:red"><b><a href="/wiki/' + encodeURI(title) + '" title="' + title + '">' + title + '</a> पर संपादन विफल रहा।</b></div>. Error info:' + response['error']['code'] + ' : ' + response['error']['info'];
}
} catch (err) {
document.getElementById('blankUPage_edit' + escape(title)).innerHTML = '<div style="color:red"><b><a href="/wiki/' + encodeURI(title) + '" title="' + title + '">' + title + '</a> पर संपादन विफल रहा।</b></div>';
}
document.getElementById('blankUPage_AJAX_finished_' + func_id).style.display = '';
delete req;
}
}
req.send(params)
}
}
// चलिए यह कोड समाप्त हुआ!
//</nowiki>