میدیاویکی:Gadget-HistoryCount.js

لە ئینسایکڵۆپیدیای ئازادی ویکیپیدیاوە
تێبینی: دوای پاشەکەوتکردن، پێویستە کاشی وێبگەڕەکەت پاک بکەیتەوە تا گۆڕانکارییەکان ببینیت. بۆ گووگڵ کڕۆم، فایەرفۆکس، مایکرۆسۆفت ئێج و سافاری: پەنجە لەسەر دوگمەی ⇧ Shift ڕاگرە و کرتە لەسەر Reload بکە. بۆ وردەکاری و ڕێنمایییەکان لەسەر وێبگەڕەکانی تر، بڕوانە ئێرە.
//[[ar:MediaWiki:Gadget-HistoryCount.js]], suggested by [[User:Elph]]
(function(mw, $) {
	if (mw.config.get('wgIsArticle') || mw.config.get('wgAction') !== "history") return;
	$(function() {
		try {
			var obj = {};
			$("section#pagehistory").find(".history-user>a.mw-userlink").each(function(i, el) {
				var str = mw.html.escape(el.innerHTML);
				if (!obj[str])
					obj[str] = {
						count: 0,
						href: el.href.substr(mw.config.get('wgServer').length),
						content: el.innerHTML
					};
				obj[str].count++;
			});
			var names = Array();
			for (var x in obj) names.push(x);
			names.sort(function(a, b) {
				return a.localeCompare(b);
			});
			var html = Array();
			for (var x in names) {
				if (obj[names[x]]) html.push(
					'<span style=color:red;font-size:12px>(' + String(obj[names[x]].count)
					.replace(/0/g, "٠")
					.replace(/1/g, "١")
					.replace(/2/g, "٢")
					.replace(/3/g, "٣")
					.replace(/4/g, "٤")
					.replace(/5/g, "٥")
					.replace(/6/g, "٦")
					.replace(/7/g, "٧")
					.replace(/8/g, "٨")
					.replace(/9/g, "٩") + ')</span>&nbsp;' +
					'<a' +
					
					// TODO: this fails for secure server
					(obj[names[x]].href ? ' href="//ckb.wikipedia.org/wiki/' + obj[names[x]].href.substr(mw.config.get('wgServer').length).replace(/%D8%A8%DB%95%DA%A9%D8%A7%D8%B1%DA%BE%DB%8E%D9%86%DB%95%D8%B1/g, "user") + '"' : '') +
					' title="' + names[x] + '"' +
					'>' + obj[names[x]].content +
					'</a> ');
			}
			$("#bodyContent").append('<div class="history-summary" style="border: 1px solid #aaa;background-color: #f9f9f9;	padding: 5px;margin-top: 1em;clear: both; font-family: Verdana;color: silver;"><b>ژمارەی دەستکارییەکانی ھەر بەکارھێنەرێک: </b>' + html.join(' <b>&rlm;|&rlm;</b> ') + '</div>');
		} catch (e) {
			// just go away
		}
	});
})(mediaWiki, jQuery);