मीडियाविकि:Gadget-autodel.js
नेविगेशन पर जाएँ
खोज पर जाएँ
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
सूचना: यह पृष्ठ सुरक्षित करने बाद, परिवर्तनों को देखने लिए ब्राउज़र का कैश ख़ाली करने की आवश्यकता हो सकती है।
- मोज़िला / फ़ायरफ़ॉक्स / सफ़ारी: shift hold करें जब आप reload क्लिक करते है, या Ctrl-Shift-R (अपल मैक में Cmd-Shift-R) दबाएँ;
- गूगल क्रोम: Ctrl-shift-R (मैक में Cmd-Shift-R) दबाएँ
- इंटरनेट एक्सप्लोरर: Ctrl hold करें जब आप refresh क्लिक करते हैं, या Ctrl-F5 क्लिक करते हैं;
- कॉङ्करर: सिर्फ़ Reload बटन पर क्लिक करें, या F5 क्लिक करें;
- ऑपरा सदस्य को Tools→Preferences में सम्पूर्ण कैश ख़ाली करने की ज़रूरत हो सकती है।
// Outline for an automatic delete link generator.
// Not highly tested. Started by Splarka @ test.wikipedia
// Written for & maintained by Mike_lifeguard @ en.wikibooks
// Rewritten by [[m:User:Hoo man]]
// https://meta.wikimedia.org/wiki/MediaWiki:Gadget-autodel.js
mw.loader.using( ['mediawiki.util', 'jquery.cookie'], function() {
function portletOnClick() {
var reason = prompt( 'Enter default delete reason', '[[वि:शीह]] अनुसार' );
if( !reason ) {
return false;
}
var links = document.getElementById( 'bodyContent' ).getElementsByTagName( 'a' );
var arp = location.protocol + mw.config.get( 'wgServer' ) + mw.config.get( 'wgArticlePath' ).replace( '$1', '' );
if( links.length === 0 ) {
return false;
}
// random token, to prevent CSRF deletions
// https://bugzilla.wikimedia.org/show_bug.cgi?id=40743
var autoDeleteToken = ( Math.ceil( Math.random() * 20000000000 ) );
// expire after 45 min
var date = new Date();
date.setTime( date.getTime() + ( 45 * 60 * 1000 ) );
// save to cookie
$.cookie( 'autoDeleteToken', autoDeleteToken, { expires: date, path: '/' } );
for( var i=0; i<links.length; i++ ) {
if( links[i].href.indexOf( arp ) === 0 && links[i].href.indexOf( 'action=delete' ) === -1 &&
links[i].href.indexOf( '/' + mw.config.get( 'wgFormattedNamespaces' )[-1] + ':' ) === -1
) {
links[i].href += '?action=delete&submitdelete=' + autoDeleteToken + '&deletetalkalso=true&wpReason=' + encodeURIComponent( reason );
links[i].innerHTML += ' (delete)';
}
}
return false;
}
// Auto delete
if( mw.util.getParamValue( 'submitdelete' ) ) {
if( mw.util.getParamValue( 'submitdelete' ) === $.cookie( 'autoDeleteToken' ) && !mw.util.getParamValue( 'deletetalk' ) ) {
$( document ).ready( function() {
if( document.getElementById( 'ca-talk' ).className.indexOf( 'new' ) === -1 &&
mw.util.getParamValue( 'deletetalkalso' ) === 'true' &&
( mw.config.get( 'wgNamespaceNumber' ) % 2 === 0 )
) {
// if the talk tab isn't redlinked and this is the first time AND this is not a talk page then
// add the parameters necessary to delete the talk page
document.getElementById( 'deleteconfirm' ).action += '&deletetalk=true&submitdelete=' + $.cookie( 'autoDeleteToken' );
document.getElementById( 'deleteconfirm' ).action += 'wpReason=' + encodeURIComponent( mw.util.getParamValue( 'wpReason' ) );
}
// set the delete reason and auto delete
$( '#wpReason' ).attr( 'value', mw.util.getParamValue( 'wpReason' ) );
var sub = ( document.getElementById( 'wpConfirmB' ) ) ? document.getElementById( 'wpConfirmB' ) : document.getElementById( 'mw-filedelete-submit' );
sub.click();
} );
}else if( mw.util.getParamValue( 'submitdelete' ) && mw.util.getParamValue( 'submitdelete' ) !== $.cookie( 'autoDeleteToken' ) ) {
// Invalid token
alert( 'Invalid autoDeleteToken, please recreate the auto delete links!' );
return;
}
// The "main" page has already been deleted, go on with the talk
if(mw.config.get( 'wgAction' ) === 'delete' && mw.util.getParamValue( 'deletetalk' ) === 'true' && mw.util.getParamValue( 'submitdelete' ) === $.cookie( 'autoDeleteToken' ) ) {
$( document ).ready( function() {
var url = document.getElementById( 'ca-talk' ).getElementsByTagName( 'a' )[0].href;
url += '?action=delete&submitdelete=' + $.cookie( 'autoDeleteToken' ) + '&wpReason=' + encodeURIComponent( mw.util.getParamValue( 'wpReason' ) );
document.location.href = url;
} );
}else if( mw.util.getParamValue( 'submitdelete' ) && mw.util.getParamValue( 'submitdelete' ) !== $.cookie( 'autoDeleteToken' ) ) {
// Invalid token
alert( 'Invalid autoDeleteToken, please recreate the auto delete links!' );
return;
}
}
// Init portlet IF contribs or log or newpages or [article AND (submit|view|purge)]
if( mw.config.get( 'wgCanonicalSpecialPageName' ) === 'Contributions' || mw.config.get( 'wgCanonicalSpecialPageName' ) === 'Whatlinkshere' ||
mw.config.get( 'wgCanonicalSpecialPageName' ) === 'Log' || mw.config.get( 'wgCanonicalSpecialPageName' ) === 'Prefixindex' ||
mw.config.get( 'wgCanonicalSpecialPageName' ) === 'Newpages' ||
( mw.config.get( 'wgIsArticle' ) && ( mw.config.get( 'wgAction' ) === 'submit' || mw.config.get( 'wgAction' ) === 'view' || mw.config.get( 'wgAction' ) === 'purge' ) )
) {
$( document ).ready( function() {
// portlet link with onClick
$(
mw.util.addPortletLink( 'p-cactions', '#', 'स्वचालितविलोपन', 'ca-dellink', 'हटाने हेतु कड़ियाँ निर्मित करें' )
).on( 'click', portletOnClick );
} );
}
} );
// [[श्रेणी:उपकरण|Autodel.js]]