सदस्य:SM7/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) + "&notminor=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>