Difference between revisions 40305 and 40306 on zhwikivoyage//<nowiki> (function($){ /* * vim: set noet sts=0 sw=8: **************************************** *** twinklebatchdelete.js: Batch delete module (sysops only) **************************************** * Mode of invocation: Tab ("D-batch") * Active on: Existing and non-existing non-articles, and Special:PrefixIndex * Config directives in: TwinkleConfig */ Twinkle.batchdelete = function twinklebatchdelete() { if( Morebits.userIsInGroup( 'sysop' ) && (mw.config.get( 'wgNamespaceNumber' ) > 0 || mw.config.get( 'wgCanonicalSpecialPageName' ) === 'Prefixindex') ) { Twinkle.addPortletLink( Twinkle.batchdelete.callback, "批删", "tw-batch", "删除此分类或页面中的所有链接" ); } }; Twinkle.batchdelete.unlinkCache = {}; Twinkle.batchdelete.callback = function twinklebatchdeleteCallback() { var Window = new Morebits.simpleWindow( 800, 400 ); Window.setTitle( "批量删除" ); Window.setScriptName( "Twinkle" ); Window.addFooterLink( "Twinkle帮助", "WP:TW/DOC#batchdelete" ); var form = new Morebits.quickForm( Twinkle.batchdelete.callback.evaluate ); form.append( { type: 'checkbox', list: [ { label: '删除页面', name: 'delete_page', value: 'delete', checked: true }, { label: '取消链入', (contracted; show full) 'generator': 'links', 'titles': mw.config.get( 'wgPageName' ), 'gpllimit' : Twinkle.getPref('batchMax'), // the max for sysops 'prop': [ 'categories', 'revisions' ], 'rvprop': [ 'size' ] }; } var statusdiv = document.createElement( 'div' ); statusdiv.style.padding = '15px'; // just so it doesn't look broken Window.setContent(statusdiv); Morebits.status.init(statusdiv); Window.display(); var statelem = new Morebits.status("抓取页面列表"); (contracted; show full) wikipedia_api = new Morebits.wiki.api( '抓取重定向', query, Twinkle.batchdelete.callbacks.deleteRedirectsMain ); wikipedia_api.params = self.params; wikipedia_api.post(); } var wikipedia_page = new Morebits.wiki.page( self.params.page, '删除页面 ' + self.params.page ); wikipedia_page.setEditSummary(self.params.reason + Twinkle.getPref('deletionSummaryAd')); wikipedia_page.deletePage(function( apiobj ) { --Twinkle.batchdelete.currentDeleteCounter; var link = document.createElement( 'a' ); link.setAttribute( 'href', mw.util.wikiGetlink(self.params.page) ); link.setAttribute( 'title', self.params.page ); link.appendChild( document.createTextNode( self.params.page ) ); apiobj.statelem.info( [ '完成(' , link , ')' ] ); } ); } else { --Twinkle.batchdelete.currentDeleteCounter; } }, deleteRedirectsMain: function( self ) { var xmlDoc = self.responseXML; var snapshot = xmlDoc.evaluate('//backlinks/bl/@title', xmlDoc, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null ); (contracted; show full) pageobj.setCreateOption('nocreate'); pageobj.save(params.onsuccess); } }; })(jQuery); //</nowiki> All content in the above text box is licensed under the Creative Commons Attribution-ShareAlike license Version 4 and was originally sourced from https://zh.wikivoyage.org/w/index.php?diff=prev&oldid=40306.
![]() ![]() This site is not affiliated with or endorsed in any way by the Wikimedia Foundation or any of its affiliates. In fact, we fucking despise them.
|