User:AuburnPilot/CheckUser/monobook.js
From Wikipedia, the free encyclopedia
If a message on your talk page led you here, please be wary of who left it. Code that you insert on this page could contain malicious content capable of compromising your account. If you are unsure whether code you are adding to this page is safe, you can ask at the appropriate village pump. If this is a .js page, the code will be executed when previewing the page.
Note: After saving, you have to bypass your browser's cache to see the changes. In Internet Explorer and Firefox, hold down the Ctrl key and click the Refresh or Reload button. Opera users have to clear their caches through Tools→Preferences, see the instructions for Opera. Konqueror and Safari users can just click the Reload button.
//Attention, unless you are the script author (Voice of All) or a CheckUser, you should NOT be editing this unless it is clear, clean cut, obvious fix. Thanks. //<pre><nowiki> function jssubmitclose() { var form = document.getElementById('editform'); form.submit(); } //END //Auto-replace function oldautoreplacetxt(what,withw) { i = 1; var original = document.editform.wpTextbox1.value; if (what == ''){alert("Invalid command."); return;} else if (what == 'null'){alert("Action cancelled."); return;} else { if (withw == ''){alert("All such appearances of text will be removed.");} else if (withw.split(what)[1] != undefined) {alert("Action cancelled to avoid infinite loop."); return;} else { if (document.editform.wpTextbox1.value.split(what)[1] != undefined) { while (i == 1) { document.editform.wpTextbox1.value = document.editform.wpTextbox1.value.replace(what, withw); if (document.editform.wpTextbox1.value.indexOf(what) != -1) {i = 1;} else {i = -1;} } } //document.editform.wpSummary.value += 'JS: Replacing text "' + what + '" with "' + withw + '" '; } } } //END function markminor() { var form = document.getElementById('bodyContent'); l = form.getElementsByTagName('input'); for (i = 0; i < l.length; i++) { if (l[i].name == 'wpMinoredit') {l[i].value = '1'; l[i].checked=true;} } } function jssubmit() { var form = document.getElementById('bodyContent'); l = form.getElementsByTagName('input'); for (i = 0; i < l.length; i++) { if (l[i].name == 'wpMinoredit') {l[i].value = '1'; l[i].checked=true;} } var form = document.getElementById('editform'); form.submit(); } addOnloadHook(CaseADD) function CaseADD() { if (location.href.indexOf('&fakeaction=CaseADD&target=') != -1) { addTab("javascript:Alpha_userwait()", "(Add)", "ca-add", "Add", ""); alert('Add "[NEW]" to the proper alphabetical location and press (add).' + '\n' + 'The necessary spaces above and below will be added automatically.'); var name = unescape(location.href.split('&target=')[1].split('&badlist=')[0]); document.editform.wpSummary.value += "Adding [[User:" + name + "]] case."; var case_identifier = '[[Wikipedia:Requests for checkuser/Case/' + name; if (document.editform.wpTextbox1.value.indexOf('|' + case_identifier) != -1) {alert('A case for this user already exists, be sure to integrate them after pressing "(add)".');} } } // var Alpha_user_done = 0; function Alpha_userwait() { if (Alpha_user_done == 1){alert('Already added.'); return;} if (document.editform.wpTextbox1.value.indexOf('[NEW]') != -1){Alpha_user_done=1;} var name = unescape(location.href.split('&target=')[1].split('&badlist=')[0]); var thebadlist = unescape(location.href.split('&badlist=')[1].split('&')[0]); var date = unescape(location.href.split('&date=')[1].split('&')[0]); var case_identifier = '[[Wikipedia:Requests for checkuser/Case/' + name; var txt = document.editform.wpTextbox1.value; if (txt.indexOf('|' + case_identifier) != -1) { var num = txt.split('|' + case_identifier)[0]; num = num.split('rowspan=')[num.split('rowspan=').length-1]; var row_cur = '|rowspan=' + num + '|' + case_identifier; document.editform.wpTextbox1.value = txt.replace(row_cur,'|' + case_identifier); var to_add = '|-\n|' + date + '\n|' + thebadlist; var case_sec = document.editform.wpTextbox1.value.split('|' + case_identifier)[1].split(/(\n|\r)(\n|\r)\|-(\n|\r)/)[0]; var cases = case_sec.split('|[[').length; document.editform.wpTextbox1.value = document.editform.wpTextbox1.value.replace(case_identifier,'rowspan=' + cases + '|' + case_identifier); } else { var to_add = "\n|-\n|[[Wikipedia:Requests for checkuser/Case/" + name + "|'''" + name + "''']]\n|" + date + "\n|" + thebadlist + "\n"; } document.editform.wpTextbox1.value = document.editform.wpTextbox1.value.replace('[NEW]',to_add); markminor(); } addOnloadHook(CUmovedown) function CUmovedown() { if (location.href.indexOf('&fakeaction=RFCUmoveC&target=') != -1) { var pagename = unescape(location.href.split('&target=')[1]); var pagefind = "{{" + pagename + "}}"; var txt = document.editform.wpTextbox1.value; if (txt.indexOf(pagefind) == -1) {alert('Case "' + pagename + '" not found.'); return;} if (txt.indexOf('==Completed requests==') == -1) {alert('Page section format error.'); return;} if (txt.split('==Completed requests==')[1].indexOf(pagename) !=-1) {alert('Case already moved.'); return;} if (txt.split('==Completed requests==')[1].split('<!-- completed subpages begin below this mark -->')[1] == undefined) {alert('Page format error.'); return;} var prereq = txt.split('==Completed requests==')[0]; var oldreq = txt.split('==Completed requests==')[1].split('<!-- completed subpages begin below this mark -->')[1]; oldreq = '==Completed requests==' + '\n' + '<!--put completed requests at the top of the list-->' + '\n' + '<!-- completed subpages begin below this mark -->' + '\n' + pagefind + '\n' + '----' + oldreq; document.editform.wpTextbox1.value = prereq.replace('\n' + pagefind,'').replace(pagefind,'') + oldreq; document.editform.wpSummary.value = "Moving [[User:" + pagename.split('/Case/')[1] + "|" + pagename.split('/Case/')[1] + "]] case to completed."; alert('Case "' + pagename + '" found and moved to fulfilled section.'); markminor(); oldautoreplacetxt('----\n----','----'); oldautoreplacetxt('---- \n----','----'); } else if (location.href.indexOf('&fakeaction=RFCUmoveD&target=') != -1) { var pagename = unescape(location.href.split('&target=')[1]); var pagefind = "{{" + pagename + "}}"; var txt = document.editform.wpTextbox1.value; if (txt.indexOf(pagefind) == -1) {alert('Case "' + pagename + '" not found.'); return;} if (txt.indexOf('==Declined requests==') == -1) {alert('Page section format error.'); return;} if (txt.split('==Declined requests==')[1].indexOf(pagename) != -1){alert('Case already moved.'); return;} if (txt.split('==Completed requests==')[0].split('==Declined requests==')[1].split('<!--declined subpages begin below this mark -->')[1] == undefined) {alert('Page format error.'); return;} var prereq = txt.split('==Declined requests==')[0]; var oldreq = txt.split('==Declined requests==')[1].split('<!--declined subpages begin below this mark -->')[1].split('==Completed requests==')[0]; oldreq += '==Completed requests==' + txt.split('==Completed requests==')[1]; oldreq = '==Declined requests==' + '\n' + '<!--put declined requests at the top of the list-->' + '\n' + '<!--declined subpages begin below this mark -->' + '\n' + pagefind + '\n' + '----' + oldreq; document.editform.wpTextbox1.value = prereq.replace('\n' + pagefind,'').replace(pagefind,'') + oldreq; document.editform.wpSummary.value = "Moving [[User:" + pagename.split('/Case/')[1] + "|" + pagename.split('/Case/')[1] + "]] case to completed."; alert('Case "' + pagename + '" found and moved to denied section.'); markminor(); oldautoreplacetxt('----\n----','----'); oldautoreplacetxt('---- \n----','----'); //jssubmit(); } else if (location.href.indexOf('&fakeaction=RFCUdel&target=') != -1) { var pagename = unescape(location.href.split('&target=')[1]); var pagefind = "{{" + pagename + "}}"; var txt = document.editform.wpTextbox1.value; if (txt.indexOf('==Declined requests==') == -1) {alert('Page section format error.'); return;} if (txt.split('==Declined requests==')[1].indexOf(pagefind) == -1) {alert('Case "' + pagename + '" not found.'); return;} document.editform.wpTextbox1.value = txt.replace('\n' + pagefind,'').replace('\n' + pagefind,'').replace(pagefind,''); document.editform.wpSummary.value = "Archiving case for [[User:" + pagename.split('/Case/')[1] + "|" + pagename.split('/Case/')[1] + "]]."; alert('Case "' + pagename + '" found and removed from the fulfilled/denied section.'); markminor(); oldautoreplacetxt('----\n----','----'); oldautoreplacetxt('---- \n----','----'); } } addOnloadHook(CUlinks) function CUlinks() { if(document.title.indexOf("Wikipedia:Requests for checkuser/Case/") == 0) { var tabs = document.getElementById('p-cactions').getElementsByTagName('ul')[0]; addlimenu(tabs, 'complete', 'carchfunc'); var carchfunc = document.getElementById('carchfunc').getElementsByTagName('ul')[0]; addlilink(carchfunc, 'javascript:CUdonearch(1)', 'done', ''); addlilink(carchfunc, 'javascript:CUdonearch(2)', 'rej.', ''); } if(document.title.indexOf("Editing Wikipedia:Requests for checkuser/Case/") == 0 || document.title.indexOf("Editing Wikipedia:Requests for checkuser/IP check") == 0) { var tabs = document.getElementById('p-cactions').getElementsByTagName('ul')[0]; addlimenu(tabs, 'Message', 'cclosefunc'); var cclosefunc = document.getElementById('cclosefunc').getElementsByTagName('ul')[0]; //Checkuser functions addlilink(cclosefunc, 'javascript:CUdone(1)', 'conf', ''); addlilink(cclosefunc, 'javascript:CUdone(2)', 'prob', ''); addlilink(cclosefunc, 'javascript:CUdone(3)', 'poss', ''); addlilink(cclosefunc, 'javascript:CUdone(4)', 'incon', ''); addlilink(cclosefunc, 'javascript:CUdone(5)', 'unlik', ''); addlilink(cclosefunc, 'javascript:CUdone(6)', 'unrel', ''); addlilink(cclosefunc, 'javascript:CUdone(7)', 'decl', ''); addlilink(cclosefunc, 'javascript:CUdone(8)', 'info', ''); addlilink(cclosefunc, 'javascript:CUdone(9)', 'note', ''); addlilink(cclosefunc, 'javascript:CUdone(10)', 'fish', ''); addlilink(cclosefunc, 'javascript:CUdone(11)', 'creq', ''); addlilink(cclosefunc, 'javascript:CUdone(12)', 'cnote', ''); addlilink(cclosefunc, 'javascript:CUdone(13)', 'block', ''); addlilink(cclosefunc, 'javascript:CUdone(14)', 'orb', ''); addlilink(cclosefunc, 'javascript:CUdone(15)', 'unnes', ''); addlilink(cclosefunc, 'javascript:CUdone(16)', 'stale', ''); if (document.title.indexOf("(section)") != -1) { //Checkuser functions addlimenu(tabs, 'complete', 'carchfunc'); var carchfunc = document.getElementById('carchfunc').getElementsByTagName('ul')[0]; addlilink(carchfunc, 'javascript:CUdonearch(1)', 'done', ''); addlilink(carchfunc, 'javascript:CUdonearch(2)', 'rej.', ''); addlilink(carchfunc, 'javascript:CUdonearch(3)', 'arch', ''); } } } function CUdonearch(num) { if (num != 3 && document.getElementById('bodyContent').innerHTML.search('The following discussion is preserved as an archive') != -1) if (num == 3 && document.editform.wpTextbox1.value.search('The following discussion is preserved as an archive') != -1) {alert('Case already closed'); return;} var username = document.title.replace('Editing ','').split(' (section)')[0].split(' - ')[0]; if (num==1) { window.open('http://en.wikipedia.org/w/index.php?title=Wikipedia:Requests_for_checkuser&action=edit&fakeaction=RFCUmoveC&target=' + escape(username), 'targetnameRFCUmov', 'location=no,toolbar=no,status=no,directories=no,scrollbars=yes'); } else if (num==2) { window.open('http://en.wikipedia.org/w/index.php?title=Wikipedia:Requests_for_checkuser&action=edit&fakeaction=RFCUmoveD&target=' + escape(username), 'targetnameRFCUmov', 'location=no,toolbar=no,status=no,directories=no,scrollbars=yes'); } else if (num==3) { var username = document.title.replace('Editing ','').split(' (section)')[0].split(' - ')[0]; var user_name = document.title.split(' (section)')[0].split(' - ')[0].split('/Case/')[1]; var offset=0; var badlist = ''; var badlist_show = ''; var txt = document.editform.wpTextbox1.value.split('<noinclude>')[0]; if (txt.indexOf("{{subst:Rfcub}}") !=-1 || txt.indexOf("{{subst:Rfcua}}") !=-1) {alert('Case already closed!'); return;} oldautoreplacetxt('{{Checkuser|','{{checkuser|'); oldautoreplacetxt('{{Checkip|','{{checkip|'); oldautoreplacetxt('{{Vandal|','{{vandal|'); if (txt.indexOf('{{checkuser|') != -1) { if (badlist != '') badlist+=', '; var l = txt.split('{{checkuser|'); for (var i=1; i< l.length; i++) { name = l[i].split('}}')[0]; if (name != user_name && badlist.indexOf(name) ==-1) { badlist_show += name + '\n'; badlist+=name; if (i != l.length-1)badlist+=', '; } } } if (txt.indexOf('{{vandal|') != -1) { if (badlist != '') badlist+=', '; var l = txt.split('{{vandal|'); for (var i=1; i< l.length; i++) { name = l[i].split('}}')[0]; if (name != user_name && badlist.indexOf(name) ==-1) { badlist_show += name + '\n'; badlist+=name; if (i != l.length-1) badlist+=', '; } } } if (txt.indexOf('{{checkip|') != -1) { if (badlist != '') badlist+=', '; var l = txt.split('{{checkip|'); for (var i=1; i< l.length; i++) { name = l[i].split('}}')[0]; badlist_show += name + '\n'; badlist+=name; if (i != l.length-1) badlist+=', '; } } alert('Possible user and IP socks:' + '\n' + badlist_show); if (document.editform.wpTextbox1.value.indexOf("<noinclude>") != -1) { var splitbefore = document.editform.wpTextbox1.value.split("<noinclude>")[0]; document.editform.wpTextbox1.value = "{{subst:Rfcua}}" + "\n" + splitbefore + "\n" + "{{subst:Rfcub}}" + "\n" + document.editform.wpTextbox1.value.split(splitbefore)[1]; } else { document.editform.wpTextbox1.value = "{{subst:Rfcua}}" + "\n" + document.editform.wpTextbox1.value + "\n" + "{{subst:Rfcub}}"; } document.editform.wpSummary.value = "Closing case."; window.open('http://en.wikipedia.org/w/index.php?title=Wikipedia:Requests_for_checkuser&action=edit&fakeaction=RFCUdel&target=' + escape(username),'targetnameRFCUdel','location=no,toolbar=no,status=no,directories=no,scrollbars=yes'); var name = username.split('/Case/')[1]; var letter = name.substring(0,1).toLowerCase(); var sec=0; var secoffset=1; if (letter == 'a'){sec=1;} else if (letter == 'b'){sec=2;} else if (letter == 'c'){sec=3;} else if (letter == 'd'){sec=4;} else if (letter == 'e'){sec=5;} else if (letter == 'f'){sec=6;} else if (letter == 'g'){sec=7;} else if (letter == 'h'){sec=8;} else if (letter == 'i'){sec=9;} else if (letter == 'j'){sec=10;} else if (letter == 'k'){sec=11;} else if (letter == 'l'){sec=12;} else if (letter == 'm'){sec=13;} else if (letter == 'n'){sec=14;} else if (letter == 'o'){sec=15;} else if (letter == 'p'){sec=16;} else if (letter == 'q'){sec=17;} else if (letter == 'r'){sec=18;} else if (letter == 's'){sec=19;} else if (letter == 't'){sec=20;} else if (letter == 'u'){sec=21;} else if (letter == 'v'){sec=22;} else if (letter == 'w'){sec=23;} else if (letter == 'x'){sec=24;} else if (letter == 'y'){sec=25;} else if (letter == 'z'){sec=26;} else {sec=0;} sec+=secoffset; var date = '' if (document.editform.wpTextbox1.value.search(/\d\d:\d\d, \d{1,2} \w+ \d\d\d\d/i) !=-1) { var txt = document.editform.wpTextbox1.value; var l_ind = txt.match(/\d\d:\d\d, \d{1,2} \w+ \d\d\d\d/i).length -1 ; var date = txt.match(/\d\d:\d\d, \d{1,2} \w+ \d\d\d\d/i)[l_ind]; var day = date.split(', ')[1].split(' ')[0]; if (day.length == 1) day = '0' + day; var month = date.split(', ')[1].split(' ')[1].split(' ')[0]; if (month.search(/January/i) == 0) month = '01'; if (month.search(/February/i) == 0) month = '02'; if (month.search(/March/i) == 0) month = '03'; if (month.search(/April/i) == 0) month = '04'; if (month.search(/May/i) == 0) month = '05'; if (month.search(/June/i) == 0) month = '06'; if (month.search(/July/i) == 0) month = '07'; if (month.search(/August/i) == 0) month = '08'; if (month.search(/September/i) == 0) month = '09'; if (month.search(/October/i) == 0) month = '10'; if (month.search(/November/i) == 0) month = '11'; if (month.search(/December/i) == 0) month = '12'; var year = date.match(/\d\d\d\d/)[0]; var date = '[[' + year + '-' + month + '-' + day + ']]'; } window.open('http://en.wikipedia.org/w/index.php?title=Wikipedia:Requests_for_checkuser/Case&action=edit§ion=' + sec + '&fakeaction=CaseADD&target=' + escape(name) + '&badlist=' + escape(badlist) + '&date=' + escape(date), 'targetnameCaseADD', 'location=no,toolbar=no,status=no,directories=no,scrollbars=yes'); //jssubmit(); } } // CUdonealready = 0; // function CUdone(type) { var z = 0; document.editform.wpTextbox1.value.replace('<noinclude>{{Wikipedia:Requests for checkuser/Inputbox/Sample/Tag}}</noinclude>',''); if (type == 1) { CUdonealready=1; document.editform.wpSummary.value += "Confirmed."; var txt_add = "{{Confirmed}}. ~~~~"; } else if (type == 2) { CUdonealready=1; var txt_add = "{{Likely}}. ~~~~"; document.editform.wpSummary.value += "Likely."; } else if (type == 3) { CUdonealready=1; var txt_add = "{{Possible}}. ~~~~"; document.editform.wpSummary.value += "Possible."; } else if (type == 4) { CUdonealready=1; var txt_add = "{{Inconclusive}}. ~~~~"; document.editform.wpSummary.value += "Inconclusive."; } else if (type == 5) { CUdonealready=1; var txt_add = "{{unlikely}} ~~~~"; document.editform.wpSummary.value += "Unlikely."; } else if (type == 6) { CUdonealready=1; var txt_add = "{{Unrelated}}. ~~~~"; document.editform.wpSummary.value += "Unrelated."; } else if (type == 7) { CUdonealready=1; var txt_add = "{{Declined}}. ~~~~"; document.editform.wpSummary.value += "Declined."; } else if (type == 8) { CUdonealready=1; var txt_add = "{{MoreInfo}}. ~~~~"; document.editform.wpSummary.value += "More information required."; } else if (type == 9) { CUdonealready=1; var txt_add = "{{TakeNote}} ~~~~"; document.editform.wpSummary.value += "Note."; } else if (type == 10) { CUdonealready=1; var txt_add = "{{Fishing}} ~~~~"; document.editform.wpSummary.value += "No fishing."; } else if (type == 11) { CUdonealready=1; var txt_add = "{{clerk request}}NULL. ~~~~"; document.editform.wpSummary.value += "Clerk attention required."; } else if (type == 12) { CUdonealready=1; var txt_add = "{{clerknote}}NULL. ~~~~"; document.editform.wpSummary.value += "Clerk note."; } else if (type == 13) { CUdonealready=1; var txt_add = "{{IPblock}} ~~~~"; document.editform.wpSummary.value += "IP blocked."; } else if (type == 14) { CUdonealready=1; var txt_add = "{{crystalball}} ~~~~"; document.editform.wpSummary.value += "Not a crystal ball."; } else if (type == 15) { CUdonealready=1; var txt_add = "{{unnecessary}} ~~~~"; document.editform.wpSummary.value += "Unnecessary."; } else if (type == 16) { CUdonealready=1; var txt_add = "{{staleIP}} ~~~~"; document.editform.wpSummary.value += "Stale."; } if( document.editform.wpTextbox1.value.indexOf('<!-- BEGIN ARCHIVE TEMPLATE -->') !=-1) { var before = document.editform.wpTextbox1.value.split('<!-- BEGIN ARCHIVE TEMPLATE -->')[0]; var after = document.editform.wpTextbox1.value.split(before)[1]; document.editform.wpTextbox1.value = before + "\n" + txt_add + "\n" + after; } else if( document.editform.wpTextbox1.value.indexOf('<noinclude>') !=-1) { var before = document.editform.wpTextbox1.value.split('<noinclude>')[0]; var after = document.editform.wpTextbox1.value.split(before)[1]; document.editform.wpTextbox1.value = before + "\n" + txt_add + "\n" + after; } else {document.editform.wpTextbox1.value += "\n" + txt_add;} document.editform.wpTextbox1.value = document.editform.wpTextbox1.value.replace('<!--Please do not remove the following tag until this case has been listed on RFCU. -->',''); document.editform.wpTextbox1.value = document.editform.wpTextbox1.value.replace('<noinclude>{{Wikipedia:Requests for checkuser/Inputbox/Sample/Tag}}</noinclude>',''); document.editform.wpTextbox1.value = document.editform.wpTextbox1.value.replace(/\n\n\n/g,'\n\n'); } ////////CLIENT SIDE CHECKUSER IP info retriever///////////// //security override HTTP request //ALSO, reduce IE security settings //For FF/NS, go enable, see "http://esw.w3.org/topic/SparqlCalendarDemoUsage#FAQ" //Basically, enable "signed.applets.codebase_principal_support" in about:config addOnloadHook(WHOIScheck) function WHOIScheck() { if (location.href.indexOf('Special:CheckUser') ==-1) return; var body=document.getElementById('bodyContent'); if (!body) return; addTab("javascript:CU_comprehensive()", "WHOIS all IPs", "ca-checkall", "Check all IPs", ""); } // function makeCURequestXML_DNS(type, url, parameters) { if(window.XMLHttpRequest) { try {netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead"); } catch (e) {alert("Permission UniversalBrowserRead denied. Please enable 'signed.applets.codebase_principle_support' through 'about:config' in your browser."); } http_request = false; http_request = new XMLHttpRequest(); if (!http_request) {alert('Cannot create XMLHTTP instance'); return false;} http_request.onreadystatechange = CU_comprehensive_check_WHOIS; http_request.open(type, url, true); http_request.send(parameters); } else if (window.ActiveXObject) { try {http_request = new ActiveXObject("Msxml2.XMLHTTP");} catch (e) { try {http_request = new ActiveXObject("Microsoft.XMLHTTP");} catch (e){} } if (!http_request) {showError(ERROR_XML);} http_request.onreadystatechange = CU_comprehensive_check_WHOIS; http_request.open(type, url, true); http_request.send(parameters); } } // // function makeCURequestXML_WHOIS(type, url, parameters) { if(window.XMLHttpRequest) { try {netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead"); } catch (e) {alert("Permission UniversalBrowserRead denied. Please enable 'signed.applets.codebase_principle_support' through 'about:config' in your browser."); } http_request = false; http_request = new XMLHttpRequest(); if (!http_request) {alert('Cannot create XMLHTTP instance'); return false;} http_request.onreadystatechange = CU_comprehensive_check_parse; http_request.open(type, url, true); http_request.send(parameters); } else if (window.ActiveXObject) { try {http_request = new ActiveXObject("Msxml2.XMLHTTP");} catch (e) { try {http_request = new ActiveXObject("Microsoft.XMLHTTP");} catch (e){} } if (!http_request) {showError(ERROR_XML);} http_request.onreadystatechange = CU_comprehensive_check_parse; http_request.open(type, url, true); http_request.send(parameters); } } // //IP/WHOIS for CU principle results// CU_li_index = 0; CU_li_ip_list = '|'; function CU_comprehensive() { var results = document.getElementById('bodyContent').getElementsByTagName('ul')[0]; if (!results) {alert('There are no elements in this list.'); return;} if (!results.getElementsByTagName('li')[0]) {alert('There are no elements in this list.'); return;} var ls = results.getElementsByTagName('li'); if (!ls[0].getElementsByTagName('a')[0]) {alert('There are no expected elements in this list.'); return;} if (document.getElementById('contentSub').innerHTML.search(/Checking all IPs, please wait...|All data retrieved:/) != -1) {alert('Results already shown.'); return;} document.getElementById('contentSub').innerHTML += '<br>Checking all IPs, please wait...'; CU_comprehensive_check(); } function CU_comprehensive_check() { var list = document.getElementById('bodyContent').getElementsByTagName('ul')[0]; if (list.getElementsByTagName('li')[CU_li_index] && list.getElementsByTagName('li')[CU_li_index].getElementsByTagName('a')[0]) { var link = list.getElementsByTagName('li')[CU_li_index].getElementsByTagName('a')[0].href; var name = list.getElementsByTagName('li')[CU_li_index].getElementsByTagName('a')[0].innerHTML; // Must be an IP address, and one that we didn't already do if (name.search(/^(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}|:(:[0-9A-Fa-f]{1,4}){1,7}|[0-9A-Fa-f]{1,4}(:{1,2}[0-9A-Fa-f]{1,4}|::$){1,7})$/) !=-1 && CU_li_ip_list.indexOf('|' + name + '|') ==-1) { var URL = 'http://www.dnsstuff.com/tools/ipall.ch?domain=' + name; CU_li_ip_list += name + '|'; CU_comprehensive_check_DNS(URL); } else {CU_li_index+=1; CU_comprehensive_check();} } else if (list.getElementsByTagName('li')[CU_li_index]) {CU_li_index+=1; CU_comprehensive_check();} else { document.getElementById('contentSub').innerHTML = '<br><strong><span style="color:darkblue;">All data retrieved:</span> DNS/WHOIS scan completed.</strong>'; } } function CU_comprehensive_check_DNS(URL) { var list = document.getElementById('bodyContent').getElementsByTagName('ul')[0]; var name = list.getElementsByTagName('li')[CU_li_index].getElementsByTagName('a')[0].innerHTML; document.getElementById('contentSub').innerHTML = '<br><strong>Retrieving DNS XML page data for ' + name + '...</strong>'; makeCURequestXML_DNS("GET",URL,null); } function CU_comprehensive_check_WHOIS() { if (http_request.readyState != 4) return; xml_DNS_user_CU = http_request.responseText; var list = document.getElementById('bodyContent').getElementsByTagName('ul')[0]; var name = list.getElementsByTagName('li')[CU_li_index].getElementsByTagName('a')[0].innerHTML; var URL = 'http://www.dnsstuff.com/tools/whois.ch?ip=' + name; document.getElementById('contentSub').innerHTML = '<br><strong>Retrieving WHOIS XML page data for ' + name + '...</strong>'; makeCURequestXML_WHOIS("GET",URL,null); } function CU_comprehensive_check_parse() { if (http_request.readyState != 4) return; xml_WHOIS_CU = http_request.responseText; var list = document.getElementById('bodyContent').getElementsByTagName('ul')[0]; var name = list.getElementsByTagName('li')[CU_li_index].getElementsByTagName('a')[0].innerHTML; document.getElementById('contentSub').innerHTML = '<br><strong>Parsing WHOIS XML page data for ' + name + '...</strong>'; //WHOIS //parse WHOIS results var OrgName=''; var Address=''; var City=''; var StateProv=''; var Country=''; var CIDR=''; var Location=''; // A data chunk may appear at the top // Get user location if( xml_WHOIS_CU.indexOf('Location:') !=-1) {Location += xml_WHOIS_CU.split('Location:')[1].split('\n')[0].split('\r')[0].split(']')[0] + ']';} // Focus... if (xml_WHOIS_CU.indexOf('<TR><TD><PRE>') !=-1) {xml_WHOIS_CU = http_request.responseText.split('<TR><TD><PRE>')[1];} xml_WHOIS_CU = xml_WHOIS_CU.split('</PRE></TD></TR>')[0].split('<PRE><BR>')[0]; // Get name if (xml_WHOIS_CU.indexOf('OrgName:') !=-1) {OrgName += xml_WHOIS_CU.split('OrgName:')[1].split('\n')[0].split('\r')[0].split(']')[0] + ', ';} else if (xml_WHOIS_CU.indexOf('org-name:') !=-1) {OrgName += xml_WHOIS_CU.split('org-name:')[1].split('\n')[0].split('\r')[0].split(']')[0] + ', ';} else if (xml_WHOIS_CU.indexOf('organisation:') !=-1) {OrgName += xml_WHOIS_CU.split('organisation:')[1].split('\n')[0].split('\r')[0].split(']')[0] + ', ';} // Get address if (xml_WHOIS_CU.indexOf('Address:') !=-1) {Address += xml_WHOIS_CU.split('Address:')[1].split(/[\n\r]\w+:/)[0].split(']')[0] + ', ';} var address_lines = xml_WHOIS_CU.split('address:'); if (address_lines[1]) {Address += address_lines[1].split(/[\n\r]\w+:/)[0].split(']')[0] + ', ';} if (address_lines[2]) {Address += address_lines[2].split(/[\n\r]\w+:/)[0].split(']')[0] + ', ';} if (address_lines[3]) {Address += address_lines[3].split(/[\n\r]\w+:/)[0].split(']')[0] + ', ';} if (address_lines[4]) {Address += address_lines[4].split(/[\n\r]\w+:/)[0].split(']')[0] + ', ';} if (address_lines[5]) {Address += address_lines[5].split(/[\n\r]\w+:/)[0].split(']')[0] + ', ';} // Get city if ( City=='' && xml_WHOIS_CU.indexOf('city:') !=-1) {City += '<u>' + xml_WHOIS_CU.split('city:')[1].split('\n')[0].split('\r')[0].split(']')[0] + '</u>' + ', ';} // Get state if (xml_WHOIS_CU.indexOf('StateProv:') !=-1) {StateProv += xml_WHOIS_CU.split('StateProv:')[1].split('\n')[0].split('\r')[0].split(']')[0] + ', ';} else if (xml_WHOIS_CU.indexOf('stateprov:') !=-1) {StateProv += xml_WHOIS_CU.split('stateprov:')[1].split('\n')[0].split('\r')[0].split(']')[0] + ', ';} // Get country if ( Country=='' && xml_WHOIS_CU.indexOf('Country:') !=-1) {Country += xml_WHOIS_CU.split('Country:')[1].split('\n')[0].split('\r')[0].split(']')[0] + ', ';} else if ( Country=='' && xml_WHOIS_CU.indexOf('country:') !=-1) {Country += xml_WHOIS_CU.split('country:')[1].split('\n')[0].split('\r')[0].split(']')[0] + ', ';} // Get CIDR if (xml_WHOIS_CU.indexOf('CIDR:') !=-1) {CIDR = xml_WHOIS_CU.split('CIDR:')[1].split('\n')[0].split('\r')[0].split(']')[0];} else if (xml_WHOIS_CU.indexOf('route:') !=-1) {CIDR = xml_WHOIS_CU.split('route:')[1].split('\n')[0].split('\r')[0].split(']')[0];} else if (xml_WHOIS_CU.indexOf('inetnum:') !=-1) {CIDR = xml_WHOIS_CU.split('inetnum:')[1].split('\n')[0].split('\r')[0].split(']')[0];} // join them var output_IP_info = '<strong>' + OrgName + '</strong>' + Address + City + '<strong>' + StateProv + '</strong>' + '<i>' + Country + '</i>'; // add CIDR if (CIDR !='') output_IP_info += '<br/><span style="color:darkred;">CIDR:</span>' + CIDR; // Parse DNS items document.getElementById('contentSub').innerHTML = '<br><strong>Parsing DNS XML page data for ' + name + '...</strong>'; if (xml_DNS_user_CU.indexOf('<PRE>') != -1) {xml_DNS_user_CU = xml_DNS_user_CU.split('<PRE>')[1].split('</PRE>')[0];} var rev_DNS_info = ''; if (xml_DNS_user_CU.indexOf('Reverse DNS:') !=-1) {rev_DNS_info = '<strong>' + xml_DNS_user_CU.split('Reverse DNS:')[1].split('\n')[0].split('\r')[0] + '</strong>';} output_IP_info += ' <span style="color:darkred;">RDNS</span>:' + rev_DNS_info; output_IP_info = output_IP_info.replace(/Internet Assigned Numbers Authority/,'IANA'); // Add location if (Location !='') output_IP_info += '<br/><span style="color:darkred;">Location:</span>' + Location; link = '<a href="http://www.dnsstuff.com/tools/whois.ch?%26ip%3D' + name + '">(Full)</a> '; list.getElementsByTagName('li')[CU_li_index].innerHTML += '<br/><div style="background-color: #f9f9f9; border: 1px solid #8888aa; padding: 3px;">' + link + output_IP_info + '</div>'; // CU_li_index += 1; CU_comprehensive_check(); } ////////////// //</nowiki></pre>