 function markblocked container varu800 contentlinks container container .find 'au800' mwu800u82eutil. content '.mwu800 body' .find 'au800' .addu800 '#cau800 nstab user au800' ; ifu800 markblockedcss markblockedcss mwu800u82eutilu82eaddcss ' .mediawiki .user blocked partial ' windowu82embindefstyle 'opacity 0u800u82e5u800; background #e4f4f5;' ' .mediawiki .user blocked temp ' windowu82embtempstyle 'opacity 0u800u82e5u800; background #f5e4ec;' ' .mediawiki .user blocked indef ' windowu82embindefstyle 'opacity 0u800u82e5u800; background #f5e4ec;' ' .mediawiki .user blocked tipbox ' windowu82embtipboxstyle 'font size 85u800 ; background #fffff0; border 1pxu800 solid #feau800; padding 0u800 0u800u82e3emu800; color #aaau800' ' ' ; varu800 mbtooltip windowu82embtooltip '; 1u800 u8d8a8u8d8b3u8d8aau8d987 u8d8b4u8d8af 2u800 u8d8aau8d988u8d8b3u8d8b7 3u800 4u800 5u800 u8d9beu8db8cu8d8b4 '; getu800 allu800 aliases foru800 user & user_talk varu800 userns ; foru800 varu800 nsu800 inu800 mwu800u82econfigu82egetu800 'wgnamespaceids ifu800 mwu800u82econfigu82egetu800 'wgnamespaceids nsu800 2u800 mwu800u82econfigu82egetu800 'wgnamespaceids nsu800 3u800 usernsu82epush nsu800u82ereplace _u800 gu800 ' ' ' ' ; regexp foru800 allu800 titles that areu800 user user_talk special contributions localized special contributions foru800 userscripts varu800 usertitlerx newu800 regexp ' ' ' ' usernsu82ejoin ' ' ' u8d988u8db8cu8da98u8d987 u8d985u8d8b4u8d8a7u8d8b1u8daa9u8d8aau8e2808cu8d987u8d8a7 special contributions ' ' ' ' # ' 'iu800' ; regexp foru800 links varu800 articlerx newu800 regexp ' ' mwu800u82econfigu82egetu800 'wgserver' ' ' mwu800u82econfigu82egetu800 'wgarticlepath' .replace ' 1u800'   ' # ' ; varu800 scriptrx newu800 regexp ' ' mwu800u82econfigu82egetu800 'wgserver' ' ' mwu800u82econfigu82egetu800 'wgscript' ' title #& ' ; varu800 userlinks ; varu800 urlu800 mau800 pgtitle; find allu800 "user" links andu800 save them inu800 userlinks 'users ... 'user2' ... ... contentlinksu82eeach function iu800 lnku800 urlu800 lnku800 .attr 'href' ; ifu800 urlu800 urlu800u82echarat 0u800 ' ' return; ifu800 mau800 articlerxu82eexec urlu800 pgtitle mau800 1u800 ; else ifu800 mau800 scriptrxu82eexec urlu800 pgtitle mau800 1u800 ; else return; pgtitle decodeuricomponent pgtitle .replace _u800 gu800 ' ' ; user usertitlerxu82eexec pgtitle ; ifu800 user return; user user 2u800 ; ifu800 user 'u8d0ba u8d183u8d0b4u8d0b0u8d0bbu8d0b5u8d0bdu8d0b8u8d18e' return; lnku800 .addclass 'userlink' ; ifu800 userlinks user userlinks user ; userlinks user .push lnku800 ; ; convert users into array varu800 users ; foru800 varu800 uu800 inu800 userlinks usersu82epush uu800 ; ifu800 usersu82elength 0u800 return; apiu800 request varu800 servertime apirequests 0u800; varu800 waitingcss mwu800u82eutilu82eaddcss 'au800u82euserlink opacity ' windowu82embloadingopacity 0u800u82e85u800 ' ' ; while usersu82elength 0u800 apirequests ; .post mwu800u82eutilu82ewikiscript 'apiu800' ' format json&action query' list 'blocks bklimit 100u800 bkusers usersu82esplice 0u800 50u800 .join ' ' bkprop 'user byu800 timestamp expiry reason flags nou800 need foru800 'idu800' marklinks ; return; theu800 endu800 callback receive data andu800 mark links function marklinks resp status xhru800 servertime newu800 date xhru800u82egetresponseheader 'date' ; varu800 list blku800 tipu800 links lnku800; varu800 blpartial  ; ifu800 resp list respu82equery list listu82eblocks return; foru800 varu800 iu800 0u800; iu800 # ' .attr 'title' tipu800 .insertbefore lnku800 ; else lnku800u82eattr 'title' lnku800u82eattr 'title' tipu800 ; ifu800 apirequests 0u800 last response waitingcssu82edisabled true; '#cau800 showblocks .parent .remove ; remove added portlet link auxu800 functions 20081226220605 oru800 2008 01u800 26t06 34u800 19zu800 date function parsets tsu800 varu800 mu800 tsu800u82ereplace du800 gu800   .match du800 du800 du800 du800 du800 du800 du800 du800 du800 du800 du800 du800 du800 du800 ; return newu800 date dateu82eutcu800 mu800 1u800 mu800 2u800 1u800 mu800 3u800 mu800 4u800 mu800 5u800 mu800 6u800 ; function inhours msu800 milliseconds "2u800 30u800" oru800 5u800 06du800 oru800 21du800 varu800 mmu800 mathu82efloor msu800 60000 ; ifu800 mmu800 return mathu82efloor msu800 1000 'u8d8abu8d8a7u8d986u8db8cu8d987'; varu800 hhu800 mathu82efloor mmu800 60u800 ; mmu800 mmu800 60u800; varu800 ddu800 mathu82efloor hhu800 24u800 ; hhu800 hhu800 24u800; ifu800 ddu800 return ddu800 ddu800 10u800 '.' zzu800 hhu800   'u8d8b1u8d988u8d8b2'; return hhu800 ' ' zzu800 mmu800 ; function zzu800 vu800 6u800 '06u800' ifu800 vu800 9u800 vu800 '0u800' vu800; return vu800; endu800 ofu800 main function fixme au800 global variable varu800 markblockedcss; start onu800 some pages switch mwu800u82econfigu82egetu800 'wgaction' case 'edit' case 'submit' case 'delete' break; case 'view' ifu800 .inarray mwu800u82econfigu82egetu800 'wgnamespacenumber' 0u800 10u800 1u800 break; otherwise continue with default default 'history' 'purge' inu800 case ifu800 theu800 gadget isu800 loaded directly byu800 urlu800 mwu800u82eloaderu82eusing 'mediawikiu82eutil' .done function ifu800 windowu82embnoautostart mwu800u82eutilu82eaddportletlink 'pu800 cactions 'javascript markblocked ' 'xxu800' 'cau800 showblocks ; else mwu800u82ehook 'wikipageu82econtent' .addu800 function markblocked ; ; ; 