MediaWiki:Gadget-revisionjumper.js: Difference between revisions

no edit summary
No edit summary
No edit summary
Line 142: Line 142:
  }
  }
   
   
function makeRequest(method, url) {
let await makeRequest = function (method, url) {
     return new Promise(function (resolve, reject) {
     return new Promise(function (resolve, reject) {
         let xhr = new XMLHttpRequest();
         let xhr = new XMLHttpRequest();
Line 164: Line 164:
         xhr.send();
         xhr.send();
     });
     });
}
};


  // get URL parameters (used for page type variables)
  // get URL parameters (used for page type variables)
Line 249: Line 249:
   
   
             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 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';
             let req8 = makeRequest("GET", text);
             let req8 = await makeRequest("GET", text);
             continuereq8(req8.responseXML.getElementsByTagName("rev")[0].getAttribute('revid'), nextrevision, difflink, j, newline);
             continuereq8(req8.responseXML.getElementsByTagName("rev")[0].getAttribute('revid'), nextrevision, difflink, j, newline);


Line 255: Line 255:


             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 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';
             let req4 = makeRequest("GET", text);
             let req4 = await makeRequest("GET", text);
             continuereq4(req4.responseXML.getElementsByTagName("rev"), tempposition, tempnumber, templine);
             continuereq4(req4.responseXML.getElementsByTagName("rev"), tempposition, tempnumber, templine);
     }
     }
     if(tempnumber==0 && (leftuser==rightuser) && !disablepenultimateeditor){
     if(tempnumber==0 && (leftuser==rightuser) && !disablepenultimateeditor){
             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 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';
             let req19 = makeRequest("GET", text);
             let req19 = await makeRequest("GET", text);
             var thisrevision = req19.responseXML.getElementsByTagName("rev");
             var thisrevision = req19.responseXML.getElementsByTagName("rev");
             var thisrevisionlength = thisrevision.length;
             var thisrevisionlength = thisrevision.length;
Line 273: Line 273:


             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 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';
             let req9 = makeRequest("GET", text);
             let req9 = await makeRequest("GET", text);
             var firstrevision = req9.responseXML.getElementsByTagName("rev")[0].getAttribute('revid');
             var firstrevision = req9.responseXML.getElementsByTagName("rev")[0].getAttribute('revid');


Line 410: Line 410:
             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;
             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;
           }
           }
           let req = makeRequest("GET", text);
           let req = await makeRequest("GET", text);
           var firstrevision = req.responseXML.getElementsByTagName("rev");
           var firstrevision = req.responseXML.getElementsByTagName("rev");
           firstrevision = firstrevision[firstrevision.length-1].getAttribute('revid');
           firstrevision = firstrevision[firstrevision.length-1].getAttribute('revid');
Line 443: Line 443:
          
          
         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';
         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';
         let req = makeRequest("GET", text);
         let req = await makeRequest("GET", text);


           var lasttimestamp = req.responseXML.getElementsByTagName("rev")[0].getAttribute('timestamp');
           var lasttimestamp = req.responseXML.getElementsByTagName("rev")[0].getAttribute('timestamp');
Line 546: Line 546:
           var newtime = newyear + newmonth + newday + newhour + newminute2 + newsecond;
           var newtime = newyear + newmonth + newday + newhour + newminute2 + newsecond;
           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;
           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;
           let req2 = makeRequest("GET", text);
           let req2 = await makeRequest("GET", text);


             var lastrevision = req2.responseXML.getElementsByTagName("rev")[0];
             var lastrevision = req2.responseXML.getElementsByTagName("rev")[0];
             if(!lastrevision){
             if(!lastrevision){
                 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;
                 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;
                 let req3 = makeRequest("GET", text);
                 let req3 = await makeRequest("GET", text);


                 var lastrevision = req3.responseXML.getElementsByTagName("rev")[0];
                 var lastrevision = req3.responseXML.getElementsByTagName("rev")[0];
Line 627: Line 627:
         var newtime = newyear + newmonth + newday + newhour + newminute2 + newsecond;
         var newtime = newyear + newmonth + newday + newhour + newminute2 + newsecond;
         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;
         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;
         let req6 = makeRequest("GET", text);
         let req6 = await makeRequest("GET", text);


             var lastrevision = req6.responseXML.getElementsByTagName("rev")[0];
             var lastrevision = req6.responseXML.getElementsByTagName("rev")[0];
             if(!lastrevision){
             if(!lastrevision){
                 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;
                 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;
                 let req7 = makeRequest("GET", text);
                 let req7 = await makeRequest("GET", text);


                 var lastrevision = req7.responseXML.getElementsByTagName("rev")[0];
                 var lastrevision = req7.responseXML.getElementsByTagName("rev")[0];
Line 670: Line 670:


             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 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';
             let req = makeRequest("GET", text);
             let req = await makeRequest("GET", text);
             continuereq(req.responseXML.getElementsByTagName("rev")[0].getAttribute('revid'));
             continuereq(req.responseXML.getElementsByTagName("rev")[0].getAttribute('revid'));