משתמש:מגזין יהלום/TestJavaScript-1.js
קפיצה לניווט
קפיצה לחיפוש
הערה: לאחר השמירה, ייתכן שיהיה צורך לנקות את זיכרון המטמון (cache) של הדפדפן כדי להבחין בשינויים.
- פיירפוקס / ספארי: להחזיק את המקש Shift בעת לחיצה על טעינה מחדש (Reload), או ללחוץ על צירוף המקשים Ctrl-F5 או Ctrl-R (במחשב מק: ⌘-R).
- גוגל כרום: ללחוץ על צירוף המקשים Ctrl-Shift-R (במחשב מק: ⌘-Shift-R).
- אינטרנט אקספלורר: להחזיק את המקש Ctrl בעת לחיצה על רענן (Refresh), או ללחוץ על צירוף המקשים Ctrl-F5.
- אופרה: לפתוח תפריט ← הגדרות (במחשב מק: Opera ← העדפות) ואז ללחוץ על פרטיות ואבטחה ← מחק היסטוריית גלישה ← Cached images and files.
/** דילוג בין גרסאות **/ /* revisionjumper: quickly navigate between page revisions */ /* https://en.wikipedia.org/wiki/User:DerHexer/revisionjumper */ /* Using this script allows you to easily navigate diffs, articles' histories and articles themselves. */ /* A feature-rich drop down menu offers various functions to jump to a certain revision which is situated before or after the selected revision. */ /* Besides default parameters, configurable requests can be done. Further, the default setting can be personalized. */ /* https://de.wikipedia.org/wiki/MediaWiki:Gadget-revisionjumper.js */ /* mw.loader.load('//de.wikipedia.org/w/index.php?title=MediaWiki:Gadget-revisionjumper.js&action=raw&ctype=text/javascript'); // [[MediaWiki:Gadget-revisionjumper.js]] */ switch (mw.config.get('wgUserLanguage')){ case 'he': var configrevisionjumper = new Array('שינויים מהעריכה האחרונה שלי', 'דילוג לעורך/ת האחרון/ה', 'הגרסאות הקודמות', 'הגרסאות הבאות', 'גרסאות אחורה', 'גרסאות קדימה', 'שנים', 'חודשים', 'ימים', 'שעות', 'אחורה', // 10 'קדימה', 'דילוג גרסאות', 'דילוג על זמן', 'דילוג לזמן', 'גרסה ראשונה', 'גרסה נוכחית', 'על כמה גרסאות לדלג?', 'על כמה זמן לדלג? [a = שנים; m = חודשים; d = ימים; h = שעות; כל הערכים אופציונליים --> רק „1h“ גורם לדילוג של שעה אחת בכיוון שנבחר]', "לאיזה תאריך/שעה לדלג? [תחביר משמאל לימין: שנה-חודש-יום שעה:דקות; אפשר רק תאריך --> כלומר 2018-05-14 יראה את הגרסה שהייתה זמינה במלאת 70 שנים למדינת ישראל בשעה 00:00]"); // 19 break; default: var configrevisionjumper = new Array('changes since my last edit', 'next-to-last editor', 'former revisions', 'later revisions', 'revision(s) backward', 'revision(s) forward', 'year(s)', 'month(s)', 'day(s)', 'hour(s)', 'backward', // 10 'forward', 'prompt revision(s)', 'skip over time', 'skip to time', 'first revision', 'current revision', 'How many revisions to be skipped?', 'What period is to be skipped? [a = year; m = month; d = day; h = hour; all items optional -> „1h“ only causes a jump of 1 hour in the selected direction]', "What time is to be skipped to? [syntax: year-month-day hour:minute; year-month-day possible as well -> thus 2007-12-31 shows the revision that has been available on New Year's Eve at 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", "25", "50", "100", "150", "500"); if(!timerevisionjumper) var timerevisionjumper = new Array("1h", "4h", "12h", "3d", "7d", "1m", "3m", "1a", "2a"); var diffoptionnames = []; diffoptionnames[0] = []; diffoptionnames[1] = []; 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 = []; 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') && (mw.config.get('wgPageName') != 'Wikipedia:Vandalismusmeldung')) { for(j=0;j<2;j++){ var difflink = []; 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) { leftuser = leftuser.getElementsByTagName('a')[0].innerHTML; } else { leftuser = ''; } var rightuser = document.getElementById('mw-diff-ntitle2'); if (rightuser) { rightuser = rightuser.getElementsByTagName('a')[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 firstrevision = req10.responseXML.getElementsByTagName("rev")[0].getAttribute('revid'); } 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'); lasthistoryrevisionid = lasthistoryrevision[0].getElementsByTagName('input')[0].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 ); var tempnumber = j; var templine = newline; var tempposition = difflink; if(!disablechangessincemylastedit && !document.getElementById('changessincemylastedit')) { function continuereq8(firstrevision, nextrevision, difflink, j, newline) { 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'); if(!document.getElementById('changessincemylastedit')){ difflink[j].parentNode.insertBefore( newrevisionlink, difflink[j].nextSibling ); difflink[j].parentNode.insertBefore( newline, difflink[j].nextSibling ); } } } function continuereq4(thisrevisionreq4, difflink, j, newline) { var thisrevisionlength = thisrevisionreq4.length; var l = 0; while(thisrevisionreq4[l]) { if(thisrevisionreq4[l].getAttribute('user')!=mw.config.get('wgUserName') && l<(thisrevisionlength-1)) { l++; } else { break; } } nextrevision = thisrevisionreq4[l].getAttribute('revid'); var text8 = 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'; var req8 = newRequest(); req8.open("GET", text, true); req8.onreadystatechange = function () { if(req8.readyState == 4) { continuereq8(req8.responseXML.getElementsByTagName("rev")[0].getAttribute('revid'), nextrevision, difflink, j, newline); } }; req8.send(""); } 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'; var req4 = newRequest(); req4.open("GET", text, true); req4.onreadystatechange = function () { if(req4.readyState == 4) { continuereq4(req4.responseXML.getElementsByTagName("rev"), tempposition, tempnumber, templine); } }; req4.send(null); } if(tempnumber==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; if(!leftuser) var leftuser = thisrevision[0].getAttribute('user'); var fixedleftuser = leftuser.replace(/\<bdi\>/,'').replace(/\<\/bdi\>/,''); var l = 0; while(thisrevision[l]) { if(thisrevision[l].getAttribute('user')==fixedleftuser && l<(thisrevisionlength-1)) { l++; } else { break; } } nextrevision2 = 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 firstrevision = req9.responseXML.getElementsByTagName("rev")[0].getAttribute('revid'); } var changessincemylasteditid = document.getElementById('changessincemylastedit'); if(changessincemylasteditid) { changessincemylasteditid = changessincemylasteditid.getAttribute('href').match(/oldid\=(\d+)/); changessincemylasteditid = RegExp.$1; } if(nextrevision2!=firstrevision && nextrevision2!=changessincemylasteditid) { var newrevisionlink = document.createElement('a'); newrevisionlink.setAttribute('href', mw.config.get('wgServer')+mw.config.get('wgScript')+'?title='+mw.config.get('wgPageName')+'&oldid='+nextrevision2+'&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( newline, document.getElementById('changessincemylastedit').nextSibling ); document.getElementById('changessincemylastedit').parentNode.insertBefore( newrevisionlink, 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'); tempposition[j].parentNode.insertBefore( newline2, tempposition[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.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],'5'); } 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.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].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.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').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) { 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'; var req = newRequest(); req.open("GET", text, true); req.onreadystatechange = function () { if(req.readyState == 4) { continuereq(req.responseXML.getElementsByTagName("rev")[0].getAttribute('revid')); } }; req.send(null); function continuereq(firstrevision) { 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>