صارف:Obaid Raza/script-redlinks.js

آزاد دائرۃ المعارف، ویکیپیڈیا سے

تفصیل کے لیے کھولیں کے بٹن پر کلک کریں یاددہانی: محفوظ کرنے کے بعد تازہ ترین تبدیلیوں کو دیکھنے کے لیے آپ کو اپنے براؤزر کا کیش صاف کرنا ہوگا۔

  • فائرفاکس/ سفاری: جب Reload پر کلک کریں تو Shift دبا کر رکھیں، یا Ctrl-F5 یا Ctrl-R دبائیں (Mac پر R- )
  • گوگل کروم: Ctrl-Shift-R دبائیں (Mac پر Shift-R-⌘)
  • انٹرنیٹ ایکسپلورر: جب Refresh پر کلک کریں تو Ctrl یا Ctrl-F5 دبائیں
  • اوپیرا: Tools → Preferences میں جائیں اور کیش صاف کریں

$(function($) {
	var portletlink = mw.util.addPortletLink('p-tb', '#', 'سرخ روابط ختم کریں');
	$(portletlink).click( function(e) {
		e.preventDefault();
		var loc = window.location.href;
		var redlinks; var i;
		if (loc.indexOf('action=edit') < 0 && loc.indexOf('action=submit') < 0) {
			redlinks = [];
			var a = document.getElementsByTagName('a');
			for (i = 0; i < a.length; i++) {
				if (a[i].getAttribute('class') == "new") {
					redlinks[redlinks.length] = a[i].href.replace('https://ur.wikipedia.org/w/index.php?title=','').replace('&action=edit&redlink=1','');
					redlinks[redlinks.length-1] = redlinks[redlinks.length-1].replace(/_/g,' ');
					redlinks[redlinks.length-1] = decodeURIComponent(redlinks[redlinks.length-1]);
				}
			}
			if (redlinks.length > 0) {
				localStorage.redlinks = JSON.stringify(redlinks);
				alert('صفحہ ترمیم کے لیے کھل جانے کے بعد، پھر دوبارہ اسی بٹن پر کلک کرنے کی ضرورت ہو گی۔');
				window.location = window.location.href.substr(0, window.location.href.indexOf('#'))+"?action=edit";
			} else {
				alert('کوئی سرخ ربط نہیں!');
			}
		} else {
			var totalredlinks = 0;
			RegExp.quote = function(str) { return str.replace(/[.?*+^$[\]\\(){}|-]/g, "\\$&"); };
			
			redlinks = JSON.parse(localStorage.redlinks);
			var wpTextbox1 = document.getElementById('wpTextbox1');
			for (i = 0; i < redlinks.length; i++) {
				var reglink1 = new RegExp('\\[\\[\\s*('+RegExp.quote(redlinks[i])+')\\s*\\|\\s*([^\\]]*)\\s*\\]\\]','gi');
				var reglink2 = new RegExp('\\[\\[\\s*('+RegExp.quote(redlinks[i])+')\\s*\\]\\]','gi');
				if (wpTextbox1.value.match(reglink1) !== null) totalredlinks += wpTextbox1.value.match(reglink1).length;
				if (wpTextbox1.value.match(reglink2) !== null) totalredlinks += wpTextbox1.value.match(reglink2).length; // Includes categories
				if (redlinks[i].substr(0,9) == "زمرہ:") {
					var reglink3 = new RegExp('\\[\\[\\s*('+RegExp.quote(redlinks[i])+')\\s*\\]\\]\\n','gi');
					wpTextbox1.value = wpTextbox1.value.replace(reglink3,"");
				}
				wpTextbox1.value = wpTextbox1.value.replace(reglink1,"$2");
				wpTextbox1.value = wpTextbox1.value.replace(reglink2,"$1");
			}
			
			if (totalredlinks > 0) {
				document.getElementById('wpSummary').value += "حذف "+totalredlinks+" سرخ روابط"+(totalredlinks==1?"":"")+" بذریعہ [[معاونت:سرخ روابط|آلہ حذف سرخ روابط]]۔";
				alert('سرخ روابط حذف ہو گئے۔ تبدیلیاں محفوظ کریں');
			} else {
				alert('مضمون میں کوئی سرخ روابط نہیں! (ناؤ سانچوں میں دیکھیے۔)');
			}
			localStorage.redlinks = '';
		}
	});
});