User:Dartmaster8/global.js

$('#WikiHeader').append('Fix redlinks');

function FixRedlinks { $.getJSON('/api.php?action=query&prop=revisions&titles=' + wgPageName + '&rvprop=content&indexpageids=1&format=json', function(result) {		var text = result.query.pages[result.query.pageids[0]].revisions[0]['*'];		var redlinks = $('a.new');		var ref = 0;		while(text.indexOf(, ref) != -1) {			if(text.indexOf(, text.indexOf(, open);				var close = text.indexOf(, open);				if(text.indexOf(' ', open) != -1 && text.indexOf(' ', open) < close) {ref = open + 1; continue;}				if(pipe != -1 && pipe < close) { //is display					if(pipe == close - 1) {						var title = text.substring(open + 2, pipe);						var display = title.substring(title.indexOf(':') + 1);					}					else {						var title = text.substring(open + 2, pipe);						var display = text.substring(pipe + 1, close);					}				}				else { //is page var title = text.substring(open + 2, close); var display = title; }				if(!title) {ref = open + 1; continue;} //skip and | for(var i = 0; i < redlinks.length; i++) { var utitle = title[0].toUpperCase + title.substring(1); if(redlinks[i].title.indexOf(' (page does not exist)')) {var redlink = redlinks[i].title.substring(0, redlinks[i].title.length - 22);} else {var redlink = redlinks[i];} if(utitle == redlink || utitle == ':' + redlink) { if(pipe == close - 1) {var show = title;} else {var show = display;} text = text.substring(0, open) + show + text.substring(close + 2); break; }				}				ref = open + 2; }			else {break;} }

$.getJSON('/api.php?action=query&prop=info&titles=' + wgPageName + '&intoken=edit&indexpageids=1&format=json', function(result) {			var token = result.query.pages[result.query.pageids[0]].edittoken;			$.post('/api.php', {action: 'edit', title: wgPageName, text: text, summary: 'Fixing redlinks', token: token}, function {window.location.reload;});		}); }); }