 function * **************************************** *** twinklebatchdeleteu82ejsu800 batch delete module sysops only **************************************** * mode ofu800 invocation tabu800 "du800 batch" * active onu800 existing nonu800 articles andu800 special prefixindex * twinkleu82ebatchdelete function twinklebatchdelete ifu800 morebitsu82euserissysop && mwu800u82econfigu82egetu800 'wgcurrevisionid' && mwu800u82econfigu82egetu800 'wgnamespacenumber' 0u800 mwu800u82econfigu82egetu800 'wgcanonicalspecialpagename' 'prefixindex' twinkleu82eaddportletlink twinkleu82ebatchdeleteu82ecallback 'u8d8adu8d8b0u8d981 u8d8afu8d8b3u8d8aau8d987u8e2808cu8d8acu8d985u8d8b9u8db8c' 'twu800 batch' 'u8d8adu8d8b0u8d981 u8d8b5u8d981u8d8adu8d987u8e2808cu8d987u8d8a7u8db8cu8db8c u8daa9u8d987 u8d8afu8d8b1 u8d8a7u8db8cu8d986 u8d8b5u8d981u8d8adu8d987 u8d9beu8db8cu8d988u8d986u8d8af u8d8afu8d8a7u8d8b1u8d986u8d8af u8db8cu8d8a7 u8d8afu8d8b1 u8d8a7u8db8cu8d986 u8d8b1u8d8afu8d987 u8d982u8d8b1u8d8a7u8d8b1 u8d8afu8d8a7u8d8b1u8d986u8d8af' ; localized ; twinkleu82ebatchdeleteu82eunlinkcache ; hasu800 theu800 subpages list been loaded varu800 subpagesloaded; twinkleu82ebatchdeleteu82ecallback function twinklebatchdeletecallback subpagesloaded false; varu800 window newu800 morebitsu82esimplewindow 600u800 400u800 ; windowu82esettitle 'u8d8adu8d8b0u8d981 u8d8afu8d8b3u8d8aau8d987u8e2808cu8d8acu8d985u8d8b9u8db8c' ; localized windowu82esetscriptname 'u8d8aau8d988u8db8cu8d986u8daa9u8d984' ; localized windowu82eaddfooterlink 'u8d8b1u8d8a7u8d987u8d986u8d985u8d8a7u8db8c u8d8aau8d988u8db8cu8d986u8daa9u8d984' 'enu800 wpu800 twu800 docu800#batchdelete' ; localized varu800 form newu800 morebitsu82equickform twinkleu82ebatchdeleteu82ecallbacku82eevaluate ; formu82eappend type 'checkbox' list label 'u8d8adu8d8b0u8d981 u8d8b5u8d981u8d8adu8d987u8e2808cu8d987u8d8a7' localized name 'delete_page' value 'delete' checked true subgroup type 'checkbox' list label 'u8d8adu8d8b0u8d981 u8d8b5u8d981u8d8adu8d987u8d994 u8d8a8u8d8adu8d8ab u8d985u8d8b1u8d8aau8d8a8u8d8b7 u8d8a8u8d987 u8d8acu8d8b2 u8d8b5u8d981u8d8adu8d987u8e2808cu8d987u8d8a7u8db8c u8d8a8u8d8adu8d8ab u8daa9u8d8a7u8d8b1u8d8a8u8d8b1 ' localized name 'delete_talk' value 'delete_talk' checked true label 'u8d8adu8d8b0u8d981 u8d8aau8d8bau8db8cu8db8cu8d8b1u8d985u8d8b3u8db8cu8d8b1u8d987u8d8a7 u8d8a8u8d987 u8d8b5u8d981u8d8adu8d987u8e2808cu8d987u8d8a7u8db8c u8d8a7u8d986u8d8aau8d8aeu8d8a7u8d8a8 u8d8b4u8d8afu8d987' localized name 'delete_redirects value 'delete_redirects checked true label 'u8d8adu8d8b0u8d981 u8d8b2u8db8cu8d8b1u8d8b5u8d981u8d8adu8d987u8e2808cu8d987u8d8a7u8db8c u8d8b5u8d981u8d8adu8d987u8e2808cu8d987u8d8a7u8db8c u8d8a7u8d986u8d8aau8d8aeu8d8a7u8d8a8 u8d8b4u8d8afu8d987' localized name 'delete_subpages value 'delete_subpages checked false event twinkleu82ebatchdeleteu82ecallbacku82etogglesubpages subgroup type 'checkbox' list label 'u8d8adu8d8b0u8d981 u8d8b5u8d981u8d8adu8d987u8e2808cu8d987u8d8a7u8db8c u8d8a8u8d8adu8d8ab u8d8b2u8db8cu8d8b1u8d8b5u8d981u8d8adu8d987u8e2808cu8d987u8d8a7u8db8c u8d985u8d8b0u8daa9u8d988u8d8b1' localized name 'delete_subpage_talks value 'delete_subpage_talks label 'u8d8adu8d8b0u8d981 u8d8aau8d8bau8db8cu8db8cu8d8b1u8d985u8d8b3u8db8cu8d8b1u8d987u8d8a7 u8d8a8u8d987 u8d8b2u8db8cu8d8b1u8d8b5u8d981u8d8adu8d987u8e2808cu8d987u8d8a7u8db8c u8d985u8d8b0u8daa9u8d988u8d8b1' localized name 'delete_subpage_redirects value 'delete_subpage_redirects label 'u8d8b2u8d8afu8d988u8d8afu8d986 u8d9beu8db8cu8d988u8d986u8d8afu8d987u8d8a7 u8d8a8u8d987 u8d8b2u8db8cu8d8b1u8d8b5u8d981u8d8adu8d987u8e2808cu8d987u8d8a7u8db8c u8d985u8d8b0u8daa9u8d988u8d8b1 u8d981u8d982u8d8b7 u8d8afu8d8b1 u8d981u8d8b6u8d8a7u8db8c u8d986u8d8a7u8d985 u8d8a7u8d8b5u8d984u8db8c u8d988 u8d8afu8d8b1u8daafu8d8a7u8d987 ' localized name 'unlink_subpages value 'unlink_subpages label 'u8d8b2u8d8afu8d988u8d8afu8d986 u8d9beu8db8cu8d988u8d986u8d8afu8d987u8d8a7 u8d8a8u8d987 u8d8b5u8d981u8d8adu8d987u8e2808cu8d987u8d8a7u8db8c u8d8a7u8d986u8d8aau8d8aeu8d8a7u8d8a8 u8d8b4u8d8afu8d987 u8d981u8d982u8d8b7 u8d8afu8d8b1 u8d981u8d8b6u8d8a7u8db8c u8d986u8d8a7u8d985 u8d8a7u8d8b5u8d984u8db8c u8d988 u8d8afu8d8b1u8daafu8d8a7u8d987 ' localized name 'unlink_page' value 'unlink' checked false label 'u8d8adu8d8b0u8d981 u8daa9u8d8a7u8d8b1u8d8a8u8d8b1u8d8afu8d987u8d8a7u8db8c u8d9beu8d8b1u8d988u8d986u8d8afu8d987u8e2808cu8d987u8d8a7u8db8c u8d8a7u8d986u8d8aau8d8aeu8d8a7u8d8a8 u8d8b4u8d8afu8d987 u8d8afu8d8b1 u8d8aau8d985u8d8a7u8d985 u8d981u8d8b6u8d8a7u8d987u8d8a7u8db8c u8d986u8d8a7u8d985 ' localized name 'unlink_file' value 'unlink_file' checked true ; formu82eappend type 'input' name 'reason' label 'u8d8afu8d984u8db8cu8d984 ' localized size 60u800 ; varu800 query 'action' 'query' 'prop' 'revisions info imageinfo' 'inprop' 'protection' 'rvprop' 'size user' ; onu800 categories ifu800 mwu800u82econfigu82egetu800 'wgnamespacenumber' 14u800 queryu82egenerator 'categorymembers'; queryu82egcmtitle mwu800u82econfigu82egetu800 'wgpagename' ; queryu82egcmlimit twinkleu82egetpref 'batchmax' ; onu800 special prefixindex else ifu800 mwu800u82econfigu82egetu800 'wgcanonicalspecialpagename' 'prefixindex' queryu82egenerator 'allpages'; queryu82egaplimit twinkleu82egetpref 'batchmax' ; ifu800 mwu800u82eutilu82egetparamvalue 'prefix' queryu82egapnamespace mwu800u82eutilu82egetparamvalue 'namespace' ; queryu82egapprefix mwu800u82eutilu82egetparamvalue 'prefix' ; else varu800 pathsplit decodeuricomponent locationu82epathname .split ' ' ; ifu800 pathsplitu82elength 3u800 pathsplit 2u800 'special prefixindex' return; varu800 titlesplit pathsplit 3u800 .split ' ' ; queryu82egapnamespace mwu800u82econfigu82egetu800 'wgnamespaceids titlesplit 0u800 .tolowercase ; ifu800 titlesplitu82elength 2u800 typeof queryu82egapnamespace 'undefined' queryu82egapnamespace 0u800; article namespace queryu82egapprefix pathsplitu82esplice 3u800 .join ' ' ; else pathsplit pathsplitu82esplice 4u800 ; pathsplitu82esplice 0u800 0u800 titlesplitu82esplice 1u800 .join ' ' ; queryu82egapprefix pathsplitu82ejoin ' ' ; onu800 normal pages else queryu82egenerator 'links'; queryu82etitles mwu800u82econfigu82egetu800 'wgpagename' ; queryu82egpllimit twinkleu82egetpref 'batchmax' ; varu800 statusdiv documentu82ecreateelement 'divu800' ; statusdivu82estyleu82epadding '15px'; just sou800 itu800 doesn'tu800 look broken windowu82esetcontent statusdiv ; morebitsu82estatusu82einit statusdiv ; windowu82edisplay ; twinkleu82ebatchdeleteu82epages ; varu800 statelem newu800 morebitsu82estatus 'u8daafu8d8b1u8d981u8d8aau8d986 u8d981u8d987u8d8b1u8d8b3u8d8aa u8d8b5u8d981u8d8adu8d987u8e2808cu8d987u8d8a7' ; localized varu800 wikipedia_api newu800 morebitsu82ewikiu82eapiu800 'u8d8afu8d8b1 u8d8adu8d8a7u8d984 u8d8a8u8d8a7u8d8b1u8daafu8db8cu8d8b1u8db8c...' query function apiobj localized varu800 xmlu800 apiobju82eresponsexml; varu800 pages xmlu800 .find 'page' .filter ' notu800 missing ' ; notu800 imagerepository "shared" pagesu82eeach function index page varu800 page page ; varu800 nsu800 pageu82eattr 'nsu800 ; varu800 title pageu82eattr 'title' ; varu800 isredir pageu82eattr 'redirect'  ; varu800 editprot pageu82efind 'pru800 type "edit" level "sysop" ' ; varu800 isprotected editprotu82elength 0u800; varu800 size pageu82efind 'revu800' .attr 'size' ; varu800 metadata ; ifu800 isredir metadatau82epush 'u8d8aau8d8bau8db8cu8db8cu8d8b1u8d985u8d8b3u8db8cu8d8b1' ; localized ifu800 isprotected metadatau82epush 'u8d985u8d8adu8d8a7u8d981u8d8b8u8d8aa u8daa9u8d8a7u8d985u8d984' localized editprotu82eattr 'expiry' 'infinity' ' u8d8a8u8db8cu8e2808cu8d9beu8d8a7u8db8cu8d8a7u8d986' 'u8d88c u8d8a7u8d986u8d982u8d8b6u8d8a7 u8d8afu8d8b1 ' newu800 morebitsu82edate editprotu82eattr 'expiry' .calendar 'utcu800' ' utcu800 ' ; localized ifu800 nsu800 '6u800' mimic what delimages used tou800 show foru800 files metadatau82epush 'u8d8a8u8d8a7u8d8b1u8daafu8d8b0u8d8a7u8d8b1u8db8c u8d8aau8d988u8d8b3u8d8b7 ' pageu82efind 'iiu800' .attr 'user' ; localized metadatau82epush 'u8d8a2u8d8aeu8d8b1u8db8cu8d986 u8d988u8db8cu8d8b1u8d8a7u8db8cu8d8b4 u8d8aau8d988u8d8b3u8d8b7 ' pageu82efind 'revu800' .attr 'user' ; localized else metadatau82epush mwu800u82elanguageu82econvertnumber size ' u8d8a8u8d8a7u8db8cu8d8aa' ; localized twinkleu82ebatchdeleteu82epages title label title metadatau82elength ' ' metadatau82ejoin 'u8d89b ' ' '   localized value title checked true style isprotected 'color redu800'   ; ; varu800 form apiobju82eparamsu82eform; formu82eappend type 'header' label 'u8d8b5u8d981u8d8adu8d987u8e2808cu8d987u8d8a7 u8d8a8u8d8b1u8d8a7u8db8c u8d8adu8d8b0u8d981' ; localized formu82eappend type 'button' label 'u8d8a7u8d986u8d8aau8d8aeu8d8a7u8d8a8 u8d987u8d985u8d987' localized event function dbatchselectall result .find 'input name pages notu800 checked ' .each function _u800 eu800 eu800u82eclick ; check itu800 andu800 invoke click event sou800 that subgroup canu800 beu800 shown ; check anyu800 unchecked subpages toou800 'input name "pagesu82esubpages" ' .prop 'checked' true ; ; formu82eappend type 'button' label 'u8d8a7u8d986u8d8aau8d8aeu8d8a7u8d8a8 u8d987u8db8cu8da86u8e2808cu8daa9u8d8afu8d8a7u8d985' localized event function dbatchdeselectall result .find 'input name pages checked' .each function _u800 eu800 eu800u82eclick ; uncheck itu800 andu800 invoke click event sou800 that subgroup canu800 beu800 hidden ; ; formu82eappend type 'checkbox' name 'pages idu800 'twu800 dbatch pages list .mapu800 twinkleu82ebatchdeleteu82epages function eu800 return eu800; ; formu82eappend type 'submit' ; varu800 result formu82erender ; apiobju82eparamsu82ewindowu82esetcontent result ; varu800 pagecheckboxes morebitsu82equickformu82egetelements result 'pages ; pagecheckboxesu82eforeach generatearrowlinks ; morebitsu82echeckboxshiftclicksupport pagecheckboxes ; statelem ; wikipedia_apiu82eparams form form window window ; wikipedia_apiu82epost ; ; function generatearrowlinks checkbox varu800 link morebitsu82ehtmlnode 'au800' ' ' ; linku82esetattribute 'class 'twu800 dbatch page link' ; linku82esetattribute 'href' mwu800u82eutilu82egeturl checkboxu82evalue ; linku82esetattribute 'target' '_blank' ; checkboxu82enextelementsiblingu82eappend link ; twinkleu82ebatchdeleteu82egeneratenewpagelist function form update theu800 list ofu800 checked pages inu800 twinkleu82ebatchdeleteu82epages object varu800 elements formu82eelementsu82epages; ifu800 elements instanceof nodelist ifu800 there areu800 multiple pages foru800 varu800 iu800 0u800; iu800 u8d8afu8d8b1 u8d8adu8d8a7u8d984 u8d8a8u8d8a7u8d8b1u8daafu8db8cu8d8b1u8db8c... '; localized eu800u82etarget .after loadingtext ; varu800 pages formu82epages .mapu800 function iu800 elu800 return elu800u82evalue; .getu800 ; varu800 subpagelister newu800 morebitsu82ebatchoperation ; subpagelisteru82esetoption 'chunksize' twinkleu82egetpref 'batchdeletechunks ; subpagelisteru82esetpagelist pages ; subpagelisteru82erunu800 function worker pagename varu800 pagetitle mwu800u82etitleu82enewfromtext pagename ; nou800 need tou800 look foru800 subpages inu800 main file mediawiki space ifu800 0u800 6u800 8u800 .indexof pagetitleu82enamespace 1u800 subpagelisteru82eworkersuccess ; return; varu800 wikipedia_api newu800 morebitsu82ewikiu82eapiu800 'u8daafu8d8b1u8d981u8d8aau8d986 u8d981u8d987u8d8b1u8d8b3u8d8aa u8d8b2u8db8cu8d8b1u8d8b5u8d981u8d8adu8d987u8e2808cu8d987u8d8a7u8db8c ' pagename localized action 'query' prop 'revisions info imageinfo' generator 'allpages rvprop 'size' inprop 'protection' gapprefix pagetitleu82etitle ' ' gapnamespace pagetitleu82enamespace gaplimit 'maxu800' 500u800 isu800 maxu800 foru800 normal users 5000 foru800 bots andu800 sysops pagenamefull pagename notu800 used byu800 apiu800 butu800 added foru800 access inu800 onsuccess function onsuccess apiobj varu800 xmlu800 apiobju82eresponsexml; varu800 pages xmlu800 .find 'page' ; varu800 subpagelist ; pagesu82eeach function index page varu800 page page ; varu800 nsu800 pageu82eattr 'nsu800 ; varu800 title pageu82eattr 'title' ; varu800 isredir pageu82eattr 'redirect'  ; varu800 editprot pageu82efind 'pru800 type "edit" level "sysop" ' ; varu800 isprotected editprotu82elength 0u800; varu800 size pageu82efind 'revu800' .attr 'size' ; varu800 metadata ; ifu800 isredir metadatau82epush 'u8d8aau8d8bau8db8cu8db8cu8d8b1u8d985u8d8b3u8db8cu8d8b1' ; localized ifu800 isprotected metadatau82epush 'u8d985u8d8adu8d8a7u8d981u8d8b8u8d8aa u8daa9u8d8a7u8d985u8d984' localized editprotu82eattr 'expiry' 'infinity' ' u8d8a8u8db8cu8e2808cu8d9beu8d8a7u8db8cu8d8a7u8d986' 'u8d88c u8d8a7u8d986u8d982u8d8b6u8d8a7 u8d8afu8d8b1 ' newu800 morebitsu82edate editprotu82eattr 'expiry' .calendar 'utcu800' ' utcu800 ' ; localized ifu800 nsu800 '6u800' mimic what delimages used tou800 show foru800 files metadatau82epush 'u8d8a8u8d8a7u8d8b1u8daafu8d8b0u8d8a7u8d8b1u8db8c u8d8aau8d988u8d8b3u8d8b7 ' pageu82efind 'iiu800' .attr 'user' ; localized metadatau82epush 'u8d8a2u8d8aeu8d8b1u8db8cu8d986 u8d988u8db8cu8d8b1u8d8a7u8db8cu8d8b4 u8d8aau8d988u8d8b3u8d8b7 ' pageu82efind 'revu800' .attr 'user' ; localized else metadatau82epush mwu800u82elanguageu82econvertnumber size ' u8d8a8u8d8a7u8db8cu8d8aa' ; localized subpagelistu82epush label title metadatau82elength ' ' metadatau82ejoin 'u8d89b ' ' '   localized value title checked true style isprotected 'color redu800'   ; ; ifu800 subpagelistu82elength varu800 pagename apiobju82equeryu82epagenamefull; twinkleu82ebatchdeleteu82epages pagename .subgroup type 'checkbox' name 'subpages classname 'dbatch subpages list subpagelist ; subpagelisteru82eworkersuccess ; null * statuselement * function onfailure subpagelisteru82eworkerfailure ; ; wikipedia_apiu82epost ; function postfinish list 'emu800 onu800 theu800 interface newpagelist twinkleu82ebatchdeleteu82egeneratenewpagelist form ; '#twu800 dbatch pages .replacewith newpagelist ; pagecheckboxes morebitsu82equickformu82egetelements newpagelist 'pages ; pagecheckboxesu82eforeach generatearrowlinks ; morebitsu82echeckboxshiftclicksupport pagecheckboxes ; subpagecheckboxes morebitsu82equickformu82egetelements newpagelist 'pagesu82esubpages ; subpagecheckboxesu82eforeach generatearrowlinks ; morebitsu82echeckboxshiftclicksupport subpagecheckboxes ; subpagesloaded true; remove "loading... " text '#dbatch subpage loading' .remove ; ; else ifu800 eu800u82etargetu82echecked .each twinkleu82ebatchdeleteu82epages function iu800 elu800 ifu800 elu800u82esubgroup remove subgroup after saving itsu800 contents inu800 subgroup_ sou800 that itu800 canu800 beu800 retrieved easily ifu800 user decides tou800 delete theu800 subpages again elu800u82esubgroup_ elu800u82esubgroup; elu800u82esubgroup null; ; newpagelist twinkleu82ebatchdeleteu82egeneratenewpagelist form ; '#twu800 dbatch pages .replacewith newpagelist ; pagecheckboxes morebitsu82equickformu82egetelements newpagelist 'pages ; pagecheckboxesu82eforeach generatearrowlinks ; morebitsu82echeckboxshiftclicksupport pagecheckboxes ; ; twinkleu82ebatchdeleteu82ecallbacku82eevaluate function twinklebatchdeletecallbackevaluate event morebitsu82ewikiu82eactioncompletedu82enotice 'u8d8adu8d8b0u8d981 u8d8afu8d8b3u8d8aau8d987u8e2808cu8d8acu8d985u8d8b9u8db8c u8daa9u8d8a7u8d985u8d984 u8d8b4u8d8af'; localized varu800 form eventu82etarget; varu800 numprotected morebitsu82equickformu82egetelements form 'pages .filter function index element return elementu82echecked && elementu82enextelementsiblingu82estyleu82ecolor 'redu800'; .length; ifu800 numprotected 0u800 && confirm 'u8d8b4u8d985u8d8a7 u8d8afu8d8b1 u8d8adu8d8a7u8d984 u8d8adu8d8b0u8d981 ' mwu800u82elanguageu82econvertnumber numprotected ' u8d8b5u8d981u8d8adu8d987u8d994 u8daa9u8d8a7u8d985u8d984u8d8a7u8d98b u8d985u8d8adu8d8a7u8d981u8d8b8u8d8aau8e2808cu8d8b4u8d8afu8d987 u8d987u8d8b3u8d8aau8db8cu8d8af. u8d8a2u8db8cu8d8a7 u8d985u8d8b7u8d985u8d8a6u8d986 u8d987u8d8b3u8d8aau8db8cu8d8afu8d89f' localized return; varu800 pages formu82egetchecked 'pages ; varu800 subpages formu82egetchecked 'pagesu82esubpages ; varu800 reason formu82ereasonu82evalue; varu800 delete_page formu82edelete_pageu82echecked; varu800 delete_talk delete_redirects delete_subpages; varu800 delete_subpage_redirects delete_subpage_talks unlink_subpages; ifu800 delete_page delete_talk formu82edelete_talku82echecked; delete_redirects formu82edelete_redirectsu82echecked; delete_subpages formu82edelete_subpagesu82echecked; ifu800 delete_subpages delete_subpage_redirects formu82edelete_subpage_redirectsu82echecked; delete_subpage_talks formu82edelete_subpage_talksu82echecked; unlink_subpages formu82eunlink_subpagesu82echecked; varu800 unlink_page formu82eunlink_pageu82echecked; varu800 unlink_file formu82eunlink_fileu82echecked; ifu800 reason alert 'u8d8b4u8d985u8d8a7 u8d8a8u8d8a7u8db8cu8d8af u8d8afu8d984u8db8cu8d984u8db8c u8d8a7u8d8b1u8d8a7u8d8a6u8d987 u8daa9u8d986u8db8cu8d8af ' ; localized return; morebitsu82esimplewindowu82esetbuttonsenabled false ; morebitsu82estatusu82einit form ; ifu800 pages morebitsu82estatusu82eerror 'error' 'u8da86u8db8cu8d8b2u8db8c u8d8a8u8d8b1u8d8a7u8db8c u8d8adu8d8b0u8d981 u8d988u8d8acu8d988u8d8af u8d986u8d8afu8d8a7u8d8b4u8d8aau8d89b u8d8adu8d8b0u8d981 u8d985u8d8aau8d988u8d982u8d981 u8d8b4u8d8af' ; localized return; varu800 pagedeleter newu800 morebitsu82ebatchoperation delete_page 'u8d8adu8d8b0u8d981 u8d8b5u8d981u8d8adu8d987u8e2808cu8d987u8d8a7' 'u8d8b4u8d8b1u8d988u8d8b9 u8d988u8d8b8u8d8a7u8db8cu8d981 u8d8afu8d8b1u8d8aeu8d988u8d8a7u8d8b3u8d8aau8e2808cu8d8b4u8d8afu8d987' ; localized pagedeleteru82esetoption 'chunksize' twinkleu82egetpref 'batchdeletechunks ; weu800 only need theu800 initial status lines ifu800 weu800'reu800 deleting theu800 pages inu800 theu800 pages array pagedeleteru82esetoption 'preserveindividualstatuslines delete_page ; pagedeleteru82esetpagelist pages ; pagedeleteru82erunu800 function worker pagename varu800 params page pagename delete_page delete_page delete_talk delete_talk delete_redirects delete_redirects unlink_page unlink_page unlink_file unlink_file && file image u8d9beu8d8b1u8d988u8d986u8d8afu8d987 u8d8aau8d8b5u8d988u8db8cu8d8b1 iu800u82etest pagename localized reason reason pagedeleter pagedeleter ; varu800 wikipedia_page newu800 morebitsu82ewikiu82epage pagename 'u8d8adu8d8b0u8d981 u8d8b5u8d981u8d8adu8d987u8d994 ' pagename ; localized wikipedia_pageu82esetcallbackparameters params ; ifu800 delete_page wikipedia_pageu82eseteditsummary reason twinkleu82egetpref 'deletionsummaryad' ; wikipedia_pageu82esuppressprotectwarning ; wikipedia_pageu82edeletepage twinkleu82ebatchdeleteu82ecallbacksu82edoextras pagedeleteru82eworkerfailure ; else twinkleu82ebatchdeleteu82ecallbacksu82edoextras wikipedia_page ; function postfinish ifu800 delete_subpages varu800 subpagedeleter newu800 morebitsu82ebatchoperation 'u8d8adu8d8b0u8d981 u8d8b2u8db8cu8d8b1u8d8b5u8d981u8d8adu8d987u8e2808cu8d987u8d8a7' ; localized subpagedeleteru82esetoption 'chunksize' twinkleu82egetpref 'batchdeletechunks ; subpagedeleteru82esetoption 'preserveindividualstatuslines true ; subpagedeleteru82esetpagelist subpages ; subpagedeleteru82erunu800 function pagename varu800 params page pagename delete_page true delete_talk delete_subpage_talks delete_redirects delete_subpage_redirects unlink_page unlink_subpages unlink_file false reason reason pagedeleter subpagedeleter ; varu800 wikipedia_page newu800 morebitsu82ewikiu82epage pagename 'u8d8adu8d8b0u8d981 u8d8b2u8db8cu8d8b1u8d8b5u8d981u8d8adu8d987 u8d8a8u8d8a7 u8d8b9u8d986u8d988u8d8a7u8d986 ' pagename ; localized wikipedia_pageu82esetcallbackparameters params ; wikipedia_pageu82eseteditsummary reason twinkleu82egetpref 'deletionsummaryad' ; wikipedia_pageu82esuppressprotectwarning ; wikipedia_pageu82edeletepage twinkleu82ebatchdeleteu82ecallbacksu82edoextras pagedeleteru82eworkerfailure ; ; ; ; twinkleu82ebatchdeleteu82ecallbacks this stupid parameter name isu800 au800 temporary thing until iu800 implement anu800 overhaul ofu800 morebitsu82ewikiu82e* callback parameters doextras function thingwithparameters varu800 params thingwithparametersu82eparent thingwithparametersu82eparentu82egetcallbackparameters thingwithparametersu82egetcallbackparameters ; theu800 initial batch operation operation'su800 jobu800 isu800 tou800 delete theu800 page andu800 that hasu800 succeeded byu800 nowu800 paramsu82epagedeleteru82eworkersuccess thingwithparameters ; varu800 query wikipedia_api; ifu800 paramsu82eunlink_page twinkleu82ebatchdeleteu82eunlinkcache ; query 'action' 'query' 'list' 'backlinks 'blfilterredir' 'nonredirects 'blnamespace' 0u800 100u800 main space andu800 portal space only 'bltitle' paramsu82epage 'bllimit' 'maxu800' 500u800 isu800 maxu800 foru800 normal users 5000 foru800 bots andu800 sysops ; wikipedia_api newu800 morebitsu82ewikiu82eapiu800 'u8daafu8d8b1u8d981u8d8aau8d986 u8d9beu8db8cu8d988u8d986u8d8afu8d987u8d8a7u8db8c u8d988u8d8b1u8d988u8d8afu8db8c' query twinkleu82ebatchdeleteu82ecallbacksu82eunlinkbacklinksmain ; localized wikipedia_apiu82eparams params; wikipedia_apiu82epost ; ifu800 paramsu82eunlink_file query 'action' 'query' 'list' 'imageusage' 'iutitle' paramsu82epage 'iulimit' 'maxu800' 500u800 isu800 maxu800 foru800 normal users 5000 foru800 bots andu800 sysops ; wikipedia_api newu800 morebitsu82ewikiu82eapiu800 'u8daafu8d8b1u8d981u8d8aau8d986 u8d9beu8db8cu8d988u8d986u8d8afu8d987u8d8a7 u8d8a8u8d987 u8d9beu8d8b1u8d988u8d986u8d8afu8d987' query twinkleu82ebatchdeleteu82ecallbacksu82eunlinkimageinstancesmain ; localized wikipedia_apiu82eparams params; wikipedia_apiu82epost ; ifu800 paramsu82edelete_page ifu800 paramsu82edelete_redirects query 'action' 'query' 'titles paramsu82epage 'prop' 'redirects 'rdlimit' 'maxu800' 500u800 isu800 maxu800 foru800 normal users 5000 foru800 bots andu800 sysops ; wikipedia_api newu800 morebitsu82ewikiu82eapiu800 'u8daafu8d8b1u8d981u8d8aau8d986 u8d8aau8d8bau8db8cu8db8cu8d8b1u8d985u8d8b3u8db8cu8d8b1u8d987u8d8a7' query twinkleu82ebatchdeleteu82ecallbacksu82edeleteredirectsmain ; localized wikipedia_apiu82eparams params; wikipedia_apiu82epost ; ifu800 paramsu82edelete_talk varu800 pagetitle mwu800u82etitleu82enewfromtext paramsu82epage ; ifu800 pagetitle && pagetitleu82enamespace 2u800 0u800 && pagetitleu82enamespace 2u800 pagetitleu82enamespace ; nowu800 pagetitle isu800 theu800 talk page title query 'action' 'query' 'titles pagetitleu82etotext ; wikipedia_api newu800 morebitsu82ewikiu82eapiu800 'u8d8a8u8d8b1u8d8b1u8d8b3u8db8c u8d8a7u8db8cu8d986 u8daa9u8d987 u8d8b5u8d981u8d8adu8d987u8d994 u8d8a8u8d8adu8d8abu8db8c u8d988u8d8acu8d988u8d8af u8d8afu8d8a7u8d8b1u8d8af u8db8cu8d8a7u8d986u8d987' query twinkleu82ebatchdeleteu82ecallbacksu82edeletetalk ; localized wikipedia_apiu82eparams params; wikipedia_apiu82eparamsu82etalkpage pagetitleu82etotext ; wikipedia_apiu82epost ; deleteredirectsmain function apiobj varu800 xmlu800 apiobju82eresponsexml; varu800 pages xmlu800 .find 'rdu800' .mapu800 function return this .attr 'title' ; .getu800 ; ifu800 pagesu82elength return; varu800 redirectdeleter newu800 morebitsu82ebatchoperation 'u8d8adu8d8b0u8d981 u8d8aau8d8bau8db8cu8db8cu8d8b1u8d985u8d8b3u8db8cu8d8b1u8d987u8d8a7 u8d8a8u8d987 ' apiobju82eparamsu82epage ; localized redirectdeleteru82esetoption 'chunksize' twinkleu82egetpref 'batchdeletechunks ; redirectdeleteru82esetpagelist pages ; redirectdeleteru82erunu800 function pagename varu800 wikipedia_page newu800 morebitsu82ewikiu82epage pagename 'u8d8adu8d8b0u8d981 ' pagename ; localized wikipedia_pageu82eseteditsummary ' u8d988u8d9be u8d985u8d8adu8d8b3#u8d8b9u8dbb8 u8d8b9u8dbb8 u8d8aau8d8bau8db8cu8db8cu8d8b1u8d985u8d8b3u8db8cu8d8b1 u8d8a8u8d987 u8d8b5u8d981u8d8adu8d987u8d994 u8d8adu8d8b0u8d981 u8d8b4u8d8afu8d987 u8c2ab' apiobju82eparamsu82epage 'u8c2bb' twinkleu82egetpref 'deletionsummaryad' ; localized wikipedia_pageu82edeletepage redirectdeleteru82eworkersuccess redirectdeleteru82eworkerfailure ; ; deletetalk function apiobj varu800 xmlu800 apiobju82eresponsexml; varu800 exists xmlu800 .find 'page notu800 missing ' .length 0u800; ifu800 exists nou800 talk page; forget about itu800 return; varu800 page newu800 morebitsu82ewikiu82epage apiobju82eparamsu82etalkpage 'u8d8adu8d8b0u8d981 u8d8b5u8d981u8d8adu8d987u8d994 u8d8a8u8d8adu8d8ab ' apiobju82eparamsu82epage ; localized pageu82eseteditsummary ' u8d988u8d9be u8d985u8d8adu8d8b3#u8d8b9u8dbb8 u8d8b9u8dbb8 u8d8b1u8d8a7u8d987u8d986u8d985u8d8a7 u8d8b5u8d981u8d8adu8d987 u8d8a8u8d8adu8d8ab u8d8b5u8d981u8d8adu8d987u8d994 u8d8a8u8d8adu8d8ab u8d8b5u8d981u8d8adu8d987u8d994 u8d8adu8d8b0u8d981 u8d8b4u8d8afu8d987 u8c2ab' apiobju82eparamsu82epage 'u8c2bb' twinkleu82egetpref 'deletionsummaryad' ; localized pageu82edeletepage ; unlinkbacklinksmain function apiobj varu800 xmlu800 apiobju82eresponsexml; varu800 pages xmlu800 .find 'blu800' .mapu800 function return this .attr 'title' ; .getu800 ; ifu800 pagesu82elength return; varu800 unlinker newu800 morebitsu82ebatchoperation 'u8d8b2u8d8afu8d988u8d8afu8d986 u8d9beu8db8cu8d988u8d986u8d8afu8d987u8d8a7u8db8c u8d988u8d8b1u8d988u8d8afu8db8c u8d8a8u8d987 ' apiobju82eparamsu82epage ; localized unlinkeru82esetoption 'chunksize' twinkleu82egetpref 'batchdeletechunks ; unlinkeru82esetpagelist pages ; unlinkeru82erunu800 function pagename varu800 wikipedia_page newu800 morebitsu82ewikiu82epage pagename 'u8d8b2u8d8afu8d988u8d8afu8d986 u8d9beu8db8cu8d988u8d986u8d8af u8d8a7u8d8b2 ' pagename ; localized varu800 params .extend apiobju82eparams ; paramsu82etitle pagename; paramsu82eunlinker unlinker; wikipedia_pageu82esetcallbackparameters params ; wikipedia_pageu82eload twinkleu82ebatchdeleteu82ecallbacksu82eunlinkbacklinks ; ; unlinkbacklinks function pageobj varu800 params pageobju82egetcallbackparameters ; ifu800 pageobju82eexists weu800 probably just deleted itu800 asu800 au800 recursive backlink paramsu82eunlinkeru82eworkersuccess pageobj ; return; varu800 text; ifu800 paramsu82etitle inu800 twinkleu82ebatchdeleteu82eunlinkcache text twinkleu82ebatchdeleteu82eunlinkcache paramsu82etitle ; else text pageobju82egetpagetext ; varu800 old_text text; varu800 wikipage newu800 morebitsu82ewikitextu82epage text ; wikipageu82eremovelink paramsu82epage ; text wikipageu82egettext ; twinkleu82ebatchdeleteu82eunlinkcache paramsu82etitle text; ifu800 text old_text nothing tou800 dou800 return paramsu82eunlinkeru82eworkersuccess pageobj ; return; pageobju82eseteditsummary 'u8d8b2u8d8afu8d988u8d8afu8d986 u8d9beu8db8cu8d988u8d986u8d8afu8d987u8d8a7 u8d8a8u8d987 u8d8b5u8d981u8d8adu8d987u8d994 u8d8adu8d8b0u8d981 u8d8b4u8d8afu8d987 ' paramsu82epage twinkleu82egetpref 'deletionsummaryad' ; localized pageobju82esetpagetext text ; pageobju82esetcreateoption 'nocreate' ; pageobju82esetmaxconflictretries 10u800 ; pageobju82esave paramsu82eunlinkeru82eworkersuccess paramsu82eunlinkeru82eworkerfailure ; unlinkimageinstancesmain function apiobj varu800 xmlu800 apiobju82eresponsexml; varu800 pages xmlu800 .find 'iuu800' .mapu800 function return this .attr 'title' ; .getu800 ; ifu800 pagesu82elength return; varu800 unlinker newu800 morebitsu82ebatchoperation 'u8d8adu8d8b0u8d981 u8d9beu8db8cu8d988u8d986u8d8afu8d987u8d8a7u8db8c u8d988u8d8b1u8d988u8d8afu8db8c u8d8a8u8d987 ' apiobju82eparamsu82epage ; localized unlinkeru82esetoption 'chunksize' twinkleu82egetpref 'batchdeletechunks ; unlinkeru82esetpagelist pages ; unlinkeru82erunu800 function pagename varu800 wikipedia_page newu800 morebitsu82ewikiu82epage pagename 'u8d8adu8d8b0u8d981 u8daa9u8d8a7u8d8b1u8d8a8u8d8b1u8d8afu8d987u8d8a7u8db8c u8d9beu8d8b1u8d988u8d986u8d8afu8d987 u8d8afu8d8b1 ' pagename ; localized varu800 params .extend apiobju82eparams ; paramsu82etitle pagename; paramsu82eunlinker unlinker; wikipedia_pageu82esetcallbackparameters params ; wikipedia_pageu82eload twinkleu82ebatchdeleteu82ecallbacksu82eunlinkimageinstances ; ; unlinkimageinstances function pageobj varu800 params pageobju82egetcallbackparameters ; ifu800 pageobju82eexists weu800 probably just deleted itu800 asu800 au800 recursive backlink paramsu82eunlinkeru82eworkersuccess pageobj ; return; varu800 image paramsu82epageu82ereplace image file u8d8aau8d8b5u8d988u8db8cu8d8b1 u8d9beu8d8b1u8d988u8d986u8d8afu8d987   ; localized varu800 text; ifu800 paramsu82etitle inu800 twinkleu82ebatchdeleteu82eunlinkcache text twinkleu82ebatchdeleteu82eunlinkcache paramsu82etitle ; else text pageobju82egetpagetext ; varu800 old_text text; varu800 wikipage newu800 morebitsu82ewikitextu82epage text ; wikipageu82ecommentoutimage image 'u8daa9u8d8a7u8d8b1u8d8a8u8d8b1u8d8af u8d8aau8d8b5u8d988u8db8cu8d8b1 u8d8adu8d8b0u8d981 u8d8b4u8d8afu8d987 u8d9beu8d986u8d987u8d8a7u8d986 u8d8b4u8d8af' ; localized text wikipageu82egettext ; twinkleu82ebatchdeleteu82eunlinkcache paramsu82etitle text; ifu800 text old_text pageobju82egetstatuselement .error 'u8d8adu8d8b0u8d981 u8daa9u8d8a7u8d8b1u8d8a8u8d8b1u8d8af ' image ' u8d8a7u8d8b2 ' pageobju82egetpagename ' u8d986u8d8a7u8d985u8d988u8d981u8d982 u8d8a8u8d988u8d8af' ; localized paramsu82eunlinkeru82eworkerfailure pageobj ; return; pageobju82eseteditsummary 'u8d8adu8d8b0u8d981 u8daa9u8d8a7u8d8b1u8d8a8u8d8b1u8d8afu8d987u8d8a7u8db8c ' image ' u8daa9u8d987 u8d8adu8d8b0u8d981 u8d8b4u8d8afu8d987u8e2808cu8d8a7u8d8b3u8d8aau8d89b u8d8afu8d984u8db8cu8d984 u8d8adu8d8b0u8d981 ' paramsu82ereason twinkleu82egetpref 'deletionsummaryad' ; localized pageobju82esetpagetext text ; pageobju82esetcreateoption 'nocreate' ; pageobju82esetmaxconflictretries 10u800 ; pageobju82esave paramsu82eunlinkeru82eworkersuccess paramsu82eunlinkeru82eworkerfailure ; ; jquery ; 