MediaWiki:Gadget-revisionjumper.js
// <nowiki> switch (mw.config.get('wgUserLanguage')){ case 'de': case 'de-at': case 'de-ch': case 'de-formal': var configrevisionjumper = new Array('Änderungen seit meiner letzten Bearbeitung', 'Zum vorletzten Bearbeiter', 'frühere Versionen', 'spätere Versionen', 'Version(en) zurück', 'Version(en) vorwärts', 'Jahr(e)', 'Monat(e)', 'Tag(e)', 'Stunde(n)', 'zurück', // 10 'vorwärts', 'prompt Version(en)', 'prompt um-Zeit', 'prompt auf-Zeit', 'erste Version', 'letzte Version', 'Um wie viele Versionen springen?', 'Um welche Zeit soll gesprungen werden? [a = Jahr; m = Monat; d = Tag; h = Stunde; alles optional -> „1h“ allein springt somit um eine Stunde in die gewünschte Richtung]', 'Auf welche Zeit soll gesprungen werden? [Syntax: Jahr-Monat-Tag Stunde:Minute; es geht auch nur Jahr-Monat-Tag -> 2007-12-31 springt also auf die Version, die um 00:00 Uhr an Silvester angezeigt wurde]'); // 19 break; case 'pt': case 'pt-br': var configrevisionjumper = new Array('alterações desde a minha última edição', 'penúltimo editor', 'edições anteriores', 'edições posteriores', 'revisão(ões) anteriores', 'revisão(ões) posteriores', 'ano(s)', 'mês(es)', 'dia(s)', 'hora(s)', 'retroceder', // 10 'avançar', 'solicitar revisão(ões)', 'saltar no tempo', 'saltar para o tempo', 'primeira revisão', 'revisão atual', 'Quantas revisões devem ser puladas?', 'Que período deve ser pulado? [a = ano; m = mês; d = dia; h = hora; todos os itens são opcionais -> „1h“ apenas causa um salto de uma hora na direção selecionada]', "Para que instante de tempo você quer saltar? [sintaxe: ano-mês-dia hora:minuto; ano-mês-dia também é possível -> então 2007-12-31 mostra a revisão que estava disponível na véspera de ano novo às 00:00h]"); // 19 break; default: var configrevisionjumper = new Array('các thay đổi từ lần cuối tôi sửa đổi', 'đến người sửa cuối', 'thay đổi trước', 'thay đổi sau', 'sửa đổi trước', 'sửa đổi sau', 'năm', 'tháng', 'ngày', 'giờ', '-', // 10 '-', 'tùy chọn bỏ qua', 'bỏ qua giờ', 'bỏ qua', 'phiên bản đầu tiên', 'phiên bản hiện tại', 'Bỏ qua bao nhiêu phiên bản?', 'Bỏ qua bao nhiêu giai đoạn? [a = năm; m = tháng; d = ngày; h = giờ; tùy chọn toàn bộ -> „1h“ chỉ bỏ qua 1 giờ với lựa chọn này]', "Bỏ qua bao nhiêu giờ? [cú pháp: năm-tháng-ngày giờ:phút; hay chỉ năm-tháng-ngày -> như vậy 2007-12-31 hiện ra sửa đổi vào Đêm Giao Thừa lúc 00:00]"); // 19 } // Version: 1.2.6 if(!getoldid) var getoldid = false; if(!displayonview) var displayonview = false; if(!displayonhistory) var displayonhistory = false; if(!disabledisplayonpermalink) var disabledisplayonpermalink = false; if(!disabledisplayondiff) var disabledisplayondiff = false; if(!disablepenultimateeditor) var disablepenultimateeditor = false; if(!disablechangessincemylastedit) var disablechangessincemylastedit = false; if(!numberrevisionjumper) var numberrevisionjumper = new Array("10", "50", "150", "500"); if(!timerevisionjumper) var timerevisionjumper = new Array("1h", "4h", "12h", "3d", "7d", "1m", "3m", "1a", "2a"); var diffoptionnames = new Array(); diffoptionnames[0] = new Array(); diffoptionnames[1] = new Array(); var numberrevisionjumperlength = numberrevisionjumper.length; var timerevisionjumperlength = timerevisionjumper.length; for(a=0;a<numberrevisionjumper.length;a++){ diffoptionnames[0][a] = numberrevisionjumper[a]; } for(b=0;b<timerevisionjumper.length;b++){ diffoptionnames[1][b] = timerevisionjumper[b]; } function newRequest() { try { if (window.XMLHttpRequest) { return new XMLHttpRequest(); } else { return new ActiveXObject("MSXML2.XMLHTTP"); } } catch (e) { return false; } } // get URL parameters (used for page type variables) var UrlParameters = new Array (); readparams(); function readparams() { var asReadInUrlParameters; var asReadInUrlParameter; // Get URL parameters asReadInUrlParameters = location.search.substring(1, location.search.length).split("&"); for (i = 0; i < asReadInUrlParameters.length; i++) { asReadInUrlParameter = asReadInUrlParameters[i].split("="); UrlParameters[decodeURIComponent(asReadInUrlParameter[0])] = decodeURIComponent(asReadInUrlParameter[1]); } } function addrevisionjumper(){ if (mw.config.get('wgCanonicalNamespace') != 'Special') { for(j=0;j<2;j++){ var difflink = new Array(); if(UrlParameters["diff"] && !disabledisplayondiff) { difflink[0] = document.getElementById('differences-prevlink'); difflink[1] = document.getElementById('differences-nextlink'); var leftuser = document.getElementById('mw-diff-otitle2'); if (leftuser) { var leftuserLinks = leftuser.getElementsByTagName('a'); leftuser = leftuserLinks.length ? leftuserLinks[0].innerHTML : ''; } else { leftuser = ''; } var rightuser = document.getElementById('mw-diff-ntitle2'); if (rightuser) { var rightuserLinks = rightuser.getElementsByTagName('a'); rightuser = rightuserLinks.length ? rightuserLinks[0].innerHTML : ''; } else { rightuser = ''; } } else if (mw.config.get('wgAction') == 'view' && displayonview && !UrlParameters["oldid"]) { var req10; if (req10 = newRequest()) { var text = mw.config.get('wgServer')+mw.config.get('wgScriptPath')+'/api.php?format=xml&action=query&prop=revisions&titles='+mw.config.get('wgPageName')+'&rvlimit=1&rvprop=ids&rvdir=newer&rvstart=20000000000000'; req10.open("GET", text, false); req10.send(""); var firstRev = req10.responseXML.getElementsByTagName("rev")[0]; var firstrevision = firstRev ? firstRev.getAttribute('revid') : -1; } if(mw.config.get('wgCurRevisionId')!=firstrevision) difflink[0] = document.getElementById('firstHeading'); } else if (mw.config.get('wgAction') == 'history' && displayonhistory) { var lasthistoryrevision = document.getElementById('pagehistory').getElementsByTagName('li'); if(lasthistoryrevision.length>1) { difflink[0] = document.getElementById('jump-to-nav'); var inputNode = lasthistoryrevision[0].getElementsByTagName('input')[0]; lasthistoryrevisionid = inputNode && inputNode.getAttribute('value'); if(lasthistoryrevisionid != mw.config.get('wgCurRevisionId')) difflink[1] = document.getElementById('movetodiff0'); } } else if (UrlParameters["oldid"] && !UrlParameters["action"] && !disabledisplayonpermalink) { if(document.getElementById('mw-revision-nav').innerHTML.search(/href\=/)!=-1) difflink[0] = document.getElementById('jump-to-nav'); if(UrlParameters["oldid"] != mw.config.get('wgCurRevisionId')) difflink[1] = document.getElementById('movetodiff0'); } if(difflink[j]) { var newlink = document.createElement('select'); newlink.onchange = j == 0 ? function(){movetodiff(0);} : function(){movetodiff(1)}; newlink.setAttribute('id', 'movetodiff'+j); newlink.setAttribute('name', 'movetodiff'+j); difflink[j].parentNode.insertBefore( newlink, difflink[j].nextSibling ); if(!disablechangessincemylastedit && !document.getElementById('changessincemylastedit')) { var req4; if (req4 = newRequest()) { var text = mw.config.get('wgServer')+mw.config.get('wgScriptPath')+'/api.php?format=xml&action=query&prop=revisions&titles='+mw.config.get('wgPageName')+'&rvprop=user|ids&rvlimit=500'; req4.open("GET", text, false); req4.send(""); var thisrevision = req4.responseXML.getElementsByTagName("rev"); var thisrevisionlength = thisrevision.length; var l = 0; while(thisrevision[l]) { if(thisrevision[l] && thisrevision[l].getAttribute('user')!=mw.config.get('wgUserName') && l<(thisrevisionlength-1)) { l++; } else { break; } } nextrevision = thisrevision[l] && thisrevision[l].getAttribute('revid'); var req8; if (req8 = newRequest()) { var text = mw.config.get('wgServer')+mw.config.get('wgScriptPath')+'/api.php?format=xml&action=query&prop=revisions&titles='+mw.config.get('wgPageName')+'&rvlimit=1&rvprop=ids&rvdir=newer&rvstart=20000000000000'; req8.open("GET", text, false); req8.send(""); var rev8 = req8.responseXML.getElementsByTagName("rev")[0]; var firstrevision = rev8 && rev8.getAttribute('revid'); } if(nextrevision!=mw.config.get('wgCurRevisionId') && nextrevision!=firstrevision) { var newrevisionlink = document.createElement('a'); newrevisionlink.setAttribute('id', 'changessincemylastedit'); newrevisionlink.setAttribute('href', mw.config.get('wgServer')+mw.config.get('wgScript')+'?title='+mw.config.get('wgPageName')+'&oldid='+nextrevision+'&diff=cur'); if(j==0) var EditTextNode = document.createTextNode('← '+configrevisionjumper[0]); else if(j==1) var EditTextNode = document.createTextNode(configrevisionjumper[0]+' →'); newrevisionlink.appendChild(EditTextNode); var newline = document.createElement('br'); difflink[j].parentNode.insertBefore( newline, difflink[j].nextSibling ); difflink[j].parentNode.insertBefore( newrevisionlink, difflink[j].nextSibling ); } } } if(j==0 && (leftuser==rightuser) && !disablepenultimateeditor){ var req19; if (req19 = newRequest()) { var text = mw.config.get('wgServer')+mw.config.get('wgScriptPath')+'/api.php?format=xml&action=query&prop=revisions&titles='+mw.config.get('wgPageName')+'&rvprop=user|ids&rvlimit=500'; req19.open("GET", text, false); req19.send(""); var thisrevision = req19.responseXML.getElementsByTagName("rev"); var thisrevisionlength = thisrevision.length; leftuser = thisrevision[0] && thisrevision[0].getAttribute('user'); var l = 0; while(thisrevision[l]) { if(thisrevision[l] && thisrevision[l].getAttribute('user')==leftuser && l<(thisrevisionlength-1)) { l++; } else { break; } } nextrevision = thisrevision[l] && thisrevision[l].getAttribute('revid'); var req9; if (req9 = newRequest()) { var text = mw.config.get('wgServer')+mw.config.get('wgScriptPath')+'/api.php?format=xml&action=query&prop=revisions&titles='+mw.config.get('wgPageName')+'&rvlimit=1&rvprop=ids&rvdir=newer&rvstart=20000000000000'; req9.open("GET", text, false); req9.send(""); var rev9 = req9.responseXML.getElementsByTagName("rev")[0]; var firstrevision = rev9 && rev9.getAttribute('revid'); } var changessincemylasteditid = document.getElementById('changessincemylastedit'); if(changessincemylasteditid) { changessincemylasteditid = changessincemylasteditid && changessincemylasteditid.getAttribute('href') && changessincemylasteditid.getAttribute('href').match(/oldid\=(\d+)/); changessincemylasteditid = RegExp.$1; } if(nextrevision!=firstrevision && nextrevision!=changessincemylasteditid) { var newrevisionlink = document.createElement('a'); newrevisionlink.setAttribute('href', mw.config.get('wgServer')+mw.config.get('wgScript')+'?title='+mw.config.get('wgPageName')+'&oldid='+nextrevision+'&diff=cur'); var EditTextNode = document.createTextNode('← '+configrevisionjumper[1]); newrevisionlink.appendChild(EditTextNode); newrevisionlink.setAttribute('id', 'penultimateeditor'); var newline = document.createElement('br'); if(changessincemylasteditid) { document.getElementById('changessincemylastedit').parentNode.insertBefore( newrevisionlink, document.getElementById('changessincemylastedit').nextSibling ); document.getElementById('changessincemylastedit').parentNode.insertBefore( newline, document.getElementById('changessincemylastedit').nextSibling ); } else { difflink[j].parentNode.insertBefore( newline, difflink[j].nextSibling ); difflink[j].parentNode.insertBefore( newrevisionlink, difflink[j].nextSibling ); } } } } if (UrlParameters["diff"]) { var newline2 = document.createElement('br'); difflink[j].parentNode.insertBefore( newline2, difflink[j].nextSibling ); } var currentmovetodiffid = document.getElementById('movetodiff'+j); var newoption = document.createElement("option"); currentmovetodiffid.appendChild(newoption); if(j==0) var newoptiontext = document.createTextNode(configrevisionjumper[2]); else if (j==1) var newoptiontext = document.createTextNode(configrevisionjumper[3]); currentmovetodiffid.getElementsByTagName("option")[0].appendChild(newoptiontext); for (var k=0; k<2; k++) { if(k==0) { var thisiteration = numberrevisionjumperlength+1; } else { var thisiteration = timerevisionjumperlength+1; } for(m=1;m<thisiteration;m++) { var newoption = document.createElement("option"); if(k==0) { if(j==0) { var thisnewtextnode = diffoptionnames[k][m-1]+' '+configrevisionjumper[4]; } else if (j==1) { var thisnewtextnode = diffoptionnames[k][m-1]+' '+configrevisionjumper[5]; } } else if (k==1) { var regexprevision = diffoptionnames[k][m-1].match(/(\d+)(\D+)/); var regexpnumber = RegExp.$1; var regexptype = RegExp.$2; if(regexptype=='a') { var regexptypename = configrevisionjumper[6]; } else if(regexptype=='m') { var regexptypename = configrevisionjumper[7]; } else if(regexptype=='d') { var regexptypename = configrevisionjumper[8]; } else if(regexptype=='h') { var regexptypename = configrevisionjumper[9]; } if (j==0) { var thisnewtextnode = regexpnumber+' '+regexptypename+' '+configrevisionjumper[10]; } else if (j==1) { var thisnewtextnode = regexpnumber+' '+regexptypename+' '+configrevisionjumper[11]; } } var newoptiontext = document.createTextNode(thisnewtextnode); currentmovetodiffid.appendChild(newoption); if(k==0) { currentmovetodiffid.getElementsByTagName("option")[m].appendChild(newoptiontext); } else if(k==1) { currentmovetodiffid.getElementsByTagName("option")[m+numberrevisionjumperlength].appendChild(newoptiontext); } } } var handt = numberrevisionjumperlength+timerevisionjumperlength; var newoption = document.createElement("option"); var thisnewtextnode = configrevisionjumper[12]; var newoptiontext = document.createTextNode(thisnewtextnode); currentmovetodiffid.appendChild(newoption); currentmovetodiffid.getElementsByTagName("option")[handt+1].appendChild(newoptiontext); var newoption = document.createElement("option"); var thisnewtextnode = configrevisionjumper[13]; var newoptiontext = document.createTextNode(thisnewtextnode); currentmovetodiffid.appendChild(newoption); currentmovetodiffid.getElementsByTagName("option")[handt+2].appendChild(newoptiontext); var newoption = document.createElement("option"); var thisnewtextnode = configrevisionjumper[14]; var newoptiontext = document.createTextNode(thisnewtextnode); currentmovetodiffid.appendChild(newoption); currentmovetodiffid.getElementsByTagName("option")[handt+3].appendChild(newoptiontext); if(j==0) { var newoption = document.createElement("option"); var thisnewtextnode = configrevisionjumper[15]; var newoptiontext = document.createTextNode(thisnewtextnode); currentmovetodiffid.appendChild(newoption); currentmovetodiffid.getElementsByTagName("option")[handt+4].appendChild(newoptiontext); } else if (j==1) { var newoption = document.createElement("option"); var thisnewtextnode = configrevisionjumper[16]; var newoptiontext = document.createTextNode(thisnewtextnode); currentmovetodiffid.appendChild(newoption); currentmovetodiffid.getElementsByTagName("option")[handt+4].appendChild(newoptiontext); } } } } } if ( (UrlParameters["diff"] && !disabledisplayondiff) || (UrlParameters["oldid"] && !UrlParameters["action"] && !disabledisplayonpermalink) || (mw.config.get('wgAction') == 'view' && displayonview && !UrlParameters["oldid"]) || (mw.config.get('wgAction') == 'history' && displayonhistory) ) $(addrevisionjumper); function movetodiff(type){ var handt = numberrevisionjumperlength+timerevisionjumperlength; for (i=0;i<(handt+4);i++) { if (document.getElementById('movetodiff'+type).options[i+1].selected == true) { if (i<numberrevisionjumperlength || i==handt) { if(UrlParameters["diff"]) { if(type==0) var currentid = document.getElementById('mw-diff-ntitle1'); else if(type==1) var currentid = document.getElementById('mw-diff-otitle1'); if(!currentid){ var currentid = document.getElementById('differences-nextlink'); } else { currentid = currentid.getElementsByTagName('a')[0]; } currentid = currentid && currentid.getAttribute('href') && currentid.getAttribute('href').match(/oldid\=(\d+)/); currentid = RegExp.$1; } else if (mw.config.get('wgAction') == 'view' && !UrlParameters["oldid"]) { var currentid = mw.config.get('wgCurRevisionId'); } else if (mw.config.get('wgAction') == 'history') { var currentid = document.getElementById('pagehistory').getElementsByTagName('li')[0].getElementsByTagName('input')[0].getAttribute('value'); } else { var currentid = UrlParameters["oldid"]; } if (i<numberrevisionjumperlength) { var revisionlimit = numberrevisionjumper[i]; } else { var revisionlimit = 'a'; while(revisionlimit.search(/\D/)!=-1) { revisionlimit = prompt(configrevisionjumper[17],'50'); } if (revisionlimit>499) revisionlimit = 499; } if(type==0) var direction = 'older'; else if(type==1) var direction = 'newer'; if(UrlParameters["diff"]) { if(type==0) var anothercurrentid = document.getElementById('differences-prevlink'); else if(type==1) var anothercurrentid = document.getElementById('differences-nextlink'); anothercurrentid = anothercurrentid && anothercurrentid.getAttribute('href') && anothercurrentid.getAttribute('href').match(/oldid\=(\d+)/); anothercurrentid = RegExp.$1; } if (req = newRequest()) { if(UrlParameters["diff"]) { var text = mw.config.get('wgServer')+mw.config.get('wgScriptPath')+'/api.php?format=xml&action=query&prop=revisions&titles='+mw.config.get('wgPageName')+'&rvstartid='+anothercurrentid+'&rvlimit='+revisionlimit+'&rvprop=ids&rvdir='+direction; } else { var text = mw.config.get('wgServer')+mw.config.get('wgScriptPath')+'/api.php?format=xml&action=query&prop=revisions&titles='+mw.config.get('wgPageName')+'&rvstartid='+currentid+'&rvlimit='+(parseInt(revisionlimit)+1)+'&rvprop=ids&rvdir='+direction; } req.open("GET", text, false); req.send(""); var firstrevision = req.responseXML.getElementsByTagName("rev"); firstrevision = firstrevision[firstrevision.length-1] && firstrevision[firstrevision.length-1].getAttribute('revid'); if(getoldid && !UrlParameters["diff"]) { location.href=mw.config.get('wgServer')+mw.config.get('wgScript')+'?title='+mw.config.get('wgPageName')+'&oldid='+firstrevision; } else { if(type==0) location.href=mw.config.get('wgServer')+mw.config.get('wgScript')+'?title='+mw.config.get('wgPageName')+'&diff='+currentid+'&oldid='+firstrevision; else if(type==1) location.href=mw.config.get('wgServer')+mw.config.get('wgScript')+'?title='+mw.config.get('wgPageName')+'&diff='+firstrevision+'&oldid='+currentid; } } } else if ((i>=numberrevisionjumperlength && i<=handt)|| i==(handt+1)) { if(UrlParameters["diff"]) { if(type==0) var currentid = document.getElementById('mw-diff-otitle1'); else if(type==1) var currentid = document.getElementById('mw-diff-ntitle1'); if(!currentid){ var currentid = document.getElementById('differences-nextlink'); } else { currentid = currentid.getElementsByTagName('a')[0]; } currentid = currentid && currentid.getAttribute('href') && currentid.getAttribute('href').match(/oldid\=(\d+)/); currentid = RegExp.$1; if(type==0) var permanentid = document.getElementById('mw-diff-ntitle1'); else if(type==1) var permanentid = document.getElementById('mw-diff-otitle1'); if(!permanentid){ var permanentid = document.getElementById('differences-nextlink'); } else { permanentid = permanentid.getElementsByTagName('a')[0]; } permanentid = permanentid.getAttribute('href') && permanentid.getAttribute('href').match(/oldid\=(\d+)/); permanentid = RegExp.$1; } else if (mw.config.get('wgAction') == 'view' && !UrlParameters["oldid"]) { var currentid = mw.config.get('wgCurRevisionId'); var permanentid = currentid; } else if (mw.config.get('wgAction') == 'history') { var currentid = document.getElementById('pagehistory').getElementsByTagName('li')[0].getElementsByTagName('input')[0].getAttribute('value'); var permanentid = currentid; } else { var currentid = UrlParameters["oldid"]; var permanentid = currentid; } var req; if (req = newRequest()) { var text = mw.config.get('wgServer')+mw.config.get('wgScriptPath')+'/api.php?format=xml&action=query&prop=revisions&titles='+mw.config.get('wgPageName')+'&rvlimit=1&rvstartid='+currentid+'&rvprop=timestamp&rvdir=older'; req.open("GET", text, false); req.send(""); var lasttimestamp = req.responseXML.getElementsByTagName("rev")[0].getAttribute('timestamp'); var lastminute = lasttimestamp.match(/([^\-]*)\-([^\-]*)\-([^T]*)T([^\:]*)\:([^\:]*)\:([^Z]*)Z/); lastyear = RegExp.$1; lastmonth = RegExp.$2; lastday = RegExp.$3; lasthour = parseInt(RegExp.$4); if (lasthour < 10) { lasthour = "0" + lasthour.toString(); } else { lasthour = lasthour.toString() } lastminute = RegExp.$5; lastsecond = RegExp.$6; var lastdate = Date.parse(lastmonth + ' ' + lastday + ' ' + lastyear + ' ' + lasthour + ':' + lastminute + ':' + lastsecond); if(i>=numberrevisionjumperlength && i<=handt) { var regexprevision = timerevisionjumper[i-numberrevisionjumperlength].match(/(\d+)(\D+)/); var regexpnumber = RegExp.$1; var regexptype = RegExp.$2; if(regexptype=='a') { var yearmatched = true; } else { var yearmatched = false; } if(regexptype=='m') { var monthmatched = true; } else { var monthmatched = false; } if(regexptype=='d') { var daymatched = true; } else { var daymatched = false; } if(regexptype=='h') { var hourmatched = true; } else { var hourmatched = false; } if(type==0) { if(yearmatched) { lastdate = lastdate-(parseInt(regexpnumber)*31557816000); } if(monthmatched) { lastdate = lastdate-(parseInt(regexpnumber)*(31557816000/12)); } if(daymatched) { lastdate = lastdate-(parseInt(regexpnumber)*86400000); } if(hourmatched) { lastdate = lastdate-(parseInt(regexpnumber)*3600000); } } else if(type==1) { if(yearmatched) { lastdate = lastdate+(parseInt(regexpnumber)*31557816000); } else if(monthmatched) { lastdate = lastdate+(parseInt(regexpnumber)*(31557816000/12)); } else if(daymatched) { lastdate = lastdate+(parseInt(regexpnumber)*86400000); } else if(hourmatched) { lastdate = lastdate+(parseInt(regexpnumber)*3600000); } } } else if (i==(handt+1)) { var getjumptime = prompt(configrevisionjumper[18], '1a 12m 30d 24h'); var newregularexp = /(\d*)(\D*)(\d*)?(\D*)?(\d*)?(\D*)?(\d*)?(\D*)?/; var regexprevision = newregularexp.exec(getjumptime); var yearmatched = false; var monthmatched = false; var daymatched = false; var hourmatched = false; for(d=1;d<regexprevision.length;d++){ if(regexprevision[d]) { if(regexprevision[d].search(/a/)!=-1) { if(type==0) { lastdate = lastdate-(parseInt(regexprevision[d-1])*31557816000); } else if(type==1) { lastdate = lastdate+(parseInt(regexprevision[d-1])*31557816000); } } if(regexprevision[d].search(/m/)!=-1) { if(type==0) { lastdate = lastdate-(parseInt(regexprevision[d-1])*(31557816000/12)); } else if(type==1) { lastdate = lastdate+(parseInt(regexprevision[d-1])*(31557816000/12)); } } if(regexprevision[d].search(/d/)!=-1) { if(type==0) { lastdate = lastdate-(parseInt(regexprevision[d-1])*86400000); } else if(type==1) { lastdate = lastdate+(parseInt(regexprevision[d-1])*86400000); } } if(regexprevision[d].search(/h/)!=-1) { if(type==0) { lastdate = lastdate-(parseInt(regexprevision[d-1])*3600000); } else if(type==1) { lastdate = lastdate+(parseInt(regexprevision[d-1])*3600000); } } } else { break; } } } var newdate = new Date(); newdate.setTime(lastdate); var newyear = newdate.getFullYear().toString(); var newmonth = newdate.getMonth()+1; if (newmonth < 10) { newmonth = "0" + newmonth; } var newday = newdate.getDate(); if (newday < 10) { newday = "0" + newday; } var newhour = newdate.getHours(); if (newhour < 10) { newhour = "0" + newhour; } var newminute = newdate.getMinutes(); if (newminute < 10) { var newminute2 = "0" + newminute; } else { var newminute2 = newminute; } var newsecond = newdate.getSeconds(); if (newsecond < 10) { newsecond = "0" + newsecond; } var newtime = newyear + newmonth + newday + newhour + newminute2 + newsecond; var req2; if (req2 = newRequest()) { var text = mw.config.get('wgServer')+mw.config.get('wgScriptPath')+'/api.php?format=xml&action=query&prop=revisions&titles='+mw.config.get('wgPageName')+'&rvprop=ids&rvlimit=1&rvdir=older&rvstart='+newtime; req2.open("GET", text, false); req2.send(""); var lastrevision = req2.responseXML.getElementsByTagName("rev")[0]; if(!lastrevision){ var req3; if (req3 = newRequest()) { var text = mw.config.get('wgServer')+mw.config.get('wgScriptPath')+'/api.php?format=xml&action=query&prop=revisions&titles='+mw.config.get('wgPageName')+'&rvprop=ids&rvlimit=1&rvdir=newer&rvstart='+newtime; req3.open("GET", text, false); req3.send(""); var lastrevision = req3.responseXML.getElementsByTagName("rev")[0]; if(getoldid && !UrlParameters["diff"]) { location.href=mw.config.get('wgServer')+mw.config.get('wgScript')+'?title='+mw.config.get('wgPageName')+'&oldid='+lastrevision.getAttribute('revid'); } else { location.href=mw.config.get('wgServer')+mw.config.get('wgScript')+'?title='+mw.config.get('wgPageName')+'&diff='+permanentid+'&oldid='+lastrevision.getAttribute('revid'); } } } else { if(getoldid && !UrlParameters["diff"]) { location.href=mw.config.get('wgServer')+mw.config.get('wgScript')+'?title='+mw.config.get('wgPageName')+'&oldid='+lastrevision.getAttribute('revid'); } else { var thisrevid = lastrevision.getAttribute('revid'); if(thisrevid == mw.config.get('wgCurRevisionId')) { location.href=mw.config.get('wgServer')+mw.config.get('wgScript')+'?title='+mw.config.get('wgPageName')+'&diff=cur'+'&oldid='+permanentid; } else { if(type==0) location.href=mw.config.get('wgServer')+mw.config.get('wgScript')+'?title='+mw.config.get('wgPageName')+'&diff='+permanentid+'&oldid='+thisrevid; else if(type==1) location.href=mw.config.get('wgServer')+mw.config.get('wgScript')+'?title='+mw.config.get('wgPageName')+'&diff='+thisrevid+'&oldid='+permanentid; } } } } } } else if (i==(handt+2)) { if(UrlParameters["diff"]) { if(type==0) var permanentid = document.getElementById('mw-diff-ntitle1'); else if (type==1) var permanentid = document.getElementById('mw-diff-otitle1'); if(!permanentid){ var permanentid = document.getElementById('differences-nextlink'); } else { permanentid = permanentid.getElementsByTagName('a')[0]; } permanentid = permanentid.getAttribute('href').match(/oldid\=(\d+)/); permanentid = RegExp.$1; } else if (mw.config.get('wgAction') == 'view' && !UrlParameters["oldid"]) { var permanentid = mw.config.get('wgCurRevisionId'); } else if (mw.config.get('wgAction') == 'history') { var permanentid = document.getElementById('pagehistory').getElementsByTagName('li')[0].getElementsByTagName('input')[0].getAttribute('value'); } else { var permanentid = UrlParameters["oldid"]; } var actualdate = new Date(); var actualyear = actualdate.getFullYear().toString(); var actualmonth = actualdate.getMonth()+1; if (actualmonth < 10) { actualmonth = "0" + actualmonth; } var actualday = actualdate.getDate(); if (actualday < 10) { actualday = "0" + actualday; } var lasttime = false; while(!lasttime){ var getjumptime = prompt(configrevisionjumper[19], actualyear+'-'+actualmonth+'-'+actualday+' 00:00'); var lasttime = getjumptime.match(/([^\-]*)\-([^\-]*)\-(\S*)\s?([^\:]*)?\:?([^\b]*)?/); lastyear = RegExp.$1; lastmonth = parseInt(RegExp.$2); lastday = parseInt(RegExp.$3); lasthour = RegExp.$4; lastminute = RegExp.$5; } if (lastmonth < 10) { lastmonth = "0" + lastmonth.toString(); } else { lastmonth = lastmonth.toString() } if (lastday < 10) { lastday = "0" + lastday.toString(); } else { lastday = lastday.toString() } if (lasthour) { lasthour = parseInt(lasthour); if (lasthour == 0) { var lasthour2 = "00"; } else if (lasthour < 10) { var lasthour2 = "0" + lasthour.toString(); } else { var lasthour2 = lasthour.toString() } } if (lastminute) { lastminute = parseInt(lastminute); if (lastminute == 0) { var lastminute2 = "00"; } else if (lastminute < 10) { var lastminute2 = "0" + lastminute.toString(); } else { var lastminute2 = lastminute.toString() } } if (lasthour2 && lastminute2) { var lastdate = Date.parse(lastmonth + ' ' + lastday + ' ' + lastyear + ' ' + lasthour2 + ':' + lastminute2 + ':00'); } else { var lastdate = Date.parse(lastmonth + ' ' + lastday + ' ' + lastyear + ' 00:00:00'); } lastdate = lastdate-3600000; var newdate = new Date(); newdate.setTime(lastdate); var newyear = newdate.getFullYear().toString(); var newmonth = newdate.getMonth()+1; if (newmonth < 10) { newmonth = "0" + newmonth; } var newday = newdate.getDate(); if (newday < 10) { newday = "0" + newday; } var newhour = newdate.getHours(); if (newhour < 10) { newhour = "0" + newhour; } var newminute = newdate.getMinutes(); if (newminute < 10) { var newminute2 = "0" + newminute; } else { var newminute2 = newminute; } var newsecond = newdate.getSeconds(); if (newsecond < 10) { newsecond = "0" + newsecond; } var newtime = newyear + newmonth + newday + newhour + newminute2 + newsecond; var req6; if (req6 = newRequest()) { var text = mw.config.get('wgServer')+mw.config.get('wgScriptPath')+'/api.php?format=xml&action=query&prop=revisions&titles='+mw.config.get('wgPageName')+'&rvprop=ids&rvlimit=1&rvdir=older&rvstart='+newtime; req6.open("GET", text, false); req6.send(""); var lastrevision = req6.responseXML.getElementsByTagName("rev")[0]; if(!lastrevision){ var req7; if (req7 = newRequest()) { var text = mw.config.get('wgServer')+mw.config.get('wgScriptPath')+'/api.php?format=xml&action=query&prop=revisions&titles='+mw.config.get('wgPageName')+'&rvprop=ids&rvlimit=1&rvdir=newer&rvstart='+newtime; req7.open("GET", text, false); req7.send(""); var lastrevision = req7.responseXML.getElementsByTagName("rev")[0]; if(getoldid && !UrlParameters["diff"]) { location.href=mw.config.get('wgServer')+mw.config.get('wgScript')+'?title='+mw.config.get('wgPageName')+'&oldid='+lastrevision.getAttribute('revid'); } else { location.href=mw.config.get('wgServer')+mw.config.get('wgScript')+'?title='+mw.config.get('wgPageName')+'&diff='+permanentid+'&oldid='+lastrevision.getAttribute('revid'); } } } else { if(getoldid && !UrlParameters["diff"]) { location.href=mw.config.get('wgServer')+mw.config.get('wgScript')+'?title='+mw.config.get('wgPageName')+'&oldid='+lastrevision.getAttribute('revid'); } else { var thisrevid = lastrevision.getAttribute('revid'); if(thisrevid == mw.config.get('wgCurRevisionId')) { location.href=mw.config.get('wgServer')+mw.config.get('wgScript')+'?title='+mw.config.get('wgPageName')+'&diff=cur'+'&oldid='+permanentid; } else { if(type==0) location.href=mw.config.get('wgServer')+mw.config.get('wgScript')+'?title='+mw.config.get('wgPageName')+'&diff='+permanentid+'&oldid='+thisrevid; else if(type==1) location.href=mw.config.get('wgServer')+mw.config.get('wgScript')+'?title='+mw.config.get('wgPageName')+'&diff='+thisrevid+'&oldid='+permanentid; } } } } } else if (i==(handt+3)) { if(UrlParameters["diff"]) { if(type==0) var permanentid = document.getElementById('mw-diff-ntitle1'); else if (type==1) var permanentid = document.getElementById('mw-diff-otitle1'); if(!permanentid){ var permanentid = document.getElementById('differences-nextlink'); } else { permanentid = permanentid.getElementsByTagName('a')[0]; } permanentid = permanentid.getAttribute('href').match(/oldid\=(\d+)/); permanentid = RegExp.$1; } else if (mw.config.get('wgAction') == 'view' && !UrlParameters["oldid"]) { var permanentid = mw.config.get('wgCurRevisionId'); } else if (mw.config.get('wgAction') == 'history') { var permanentid = document.getElementById('pagehistory').getElementsByTagName('li')[0].getElementsByTagName('input')[0].getAttribute('value'); } else { var permanentid = UrlParameters["oldid"]; } if(type==0) { if (req = newRequest()) { var text = mw.config.get('wgServer')+mw.config.get('wgScriptPath')+'/api.php?format=xml&action=query&prop=revisions&titles='+mw.config.get('wgPageName')+'&rvlimit=1&rvprop=ids&rvdir=newer&rvstart=20000000000000'; req.open("GET", text, false); req.send(""); var firstrevision = req.responseXML.getElementsByTagName("rev")[0].getAttribute('revid'); if(getoldid && !UrlParameters["diff"]) { location.href=mw.config.get('wgServer')+mw.config.get('wgScript')+'?title='+mw.config.get('wgPageName')+'&oldid='+firstrevision; } else { location.href=mw.config.get('wgServer')+mw.config.get('wgScript')+'?title='+mw.config.get('wgPageName')+'&diff='+permanentid+'&oldid='+firstrevision; } } } else if (type==1) { if(getoldid && !UrlParameters["diff"]) { location.href=mw.config.get('wgServer')+mw.config.get('wgScript')+'?title='+mw.config.get('wgPageName')+'&oldid='+mw.config.get('wgCurRevisionId'); } else { location.href=mw.config.get('wgServer')+mw.config.get('wgScript')+'?title='+mw.config.get('wgPageName')+'&diff=cur&oldid='+permanentid; } } } } } } // </nowiki>
🔥 Top keywords: Đài Truyền hình Kỹ thuật số VTCTrang ChínhGiỗ Tổ Hùng VươngTrương Mỹ LanĐặc biệt:Tìm kiếmHùng VươngVương Đình HuệUEFA Champions LeagueKuwaitChiến dịch Điện Biên PhủFacebookĐài Truyền hình Việt NamTrần Cẩm TúĐội tuyển bóng đá quốc gia KuwaitGoogle DịchViệt NamCúp bóng đá U-23 châu ÁCúp bóng đá U-23 châu Á 2024Real Madrid CFBảng xếp hạng bóng đá nam FIFACleopatra VIITô LâmTim CookNguyễn Phú TrọngHồ Chí MinhHai Bà TrưngManchester City F.C.VnExpressChủ tịch nước Cộng hòa xã hội chủ nghĩa Việt NamNguyễn Ngọc ThắngĐền HùngCúp bóng đá trong nhà châu Á 2024Võ Văn ThưởngOne PieceLịch sử Việt NamCuộc đua xe đạp toàn quốc tranh Cúp truyền hình Thành phố Hồ Chí Minh 2024Phạm Minh ChínhTikTokĐinh Tiên Hoàng