משתמש:דגש/common.js – הבדלי גרסאות

מתוך ויקיפדיה, האנציקלופדיה החופשית
תוכן שנמחק תוכן שנוסף
אין תקציר עריכה
Krinkle (שיחה | תרומות)
Maintenance: mw:RL/MGU - Updated deprecated user.tokens key
שורה 24: שורה 24:
"use strict";
"use strict";
function save_topage(title, summary, content, wl, next) {
function save_topage(title, summary, content, wl, next) {
var param = {action: 'edit', title: title, summary: summary, token: mw.user.tokens.get('editToken'), appendtext: content, format: 'json'};
var param = {action: 'edit', title: title, summary: summary, token: mw.user.tokens.get('csrfToken'), appendtext: content, format: 'json'};
if (wl)
if (wl)
param.watchlist = wl;
param.watchlist = wl;

גרסה מ־01:59, 15 באוקטובר 2019

importUserScript(16, 18, 22, 33, 35, 39, 40, 43, 44, 46, 61, 63, 69, 71, 75, 76, 78, 79, 94, 95, 100, 103, 107, 108, 109);
importScript('User:1Or/patrol.js');
if ($('h1#firstHeading:contains(הבדלים בין גרסאות)').length) {
		var oldid = $('#mw-diff-ntitle1 a:first').attr('href').replace(/.*oldid=/, ''),
			pageName = mw.config.get('wgPageName');
		$('#contentSub').append('{{הבדל בין גרסאות|דף=' + pageName + '|מספר הגרסה=' + oldid + '|כיתוב=}}');
	}
$(function() {
    $('.mw-numlink:contains(500)')
    .each(function(i,item) {
        var newlink = $(this).clone(); 
        newlink.attr('href', newlink.attr('href').replace('limit=500', 'limit=3500'))
            .text('3500')
            .insertAfter(this)
            .before(' | ');
        }
    );
})
var dateblock = { year: 2018, month: 10, day: 17 };
var timeblock = { hours: 14, minutes: 30, seconds: 55 };
window.vandalCleanerSummary = "שחזור מרובה להשחתה מרובה"

function addWarningLinks() {
	"use strict";
	function save_topage(title, summary, content, wl, next) {
		var param = {action: 'edit', title: title, summary: summary, token: mw.user.tokens.get('csrfToken'), appendtext: content, format: 'json'};
		if (wl)
			param.watchlist = wl;
		$.post(mw.util.wikiScript('api'), param, function (data) {
			if (data && data.error)
				alert('error saving: ' + data.error.info);
			else if (data && data.edit && data.edit.result == 'Success' && typeof next == 'function')
				next();
		});
	}

	function activate() {
		var $this = $(this),
			user = $this.attr('user'),
			templ = $this.data('templ'),
			warning = templ.m || templ.t,
			linkTitle = templ.hasOwnProperty('linkTitle')? templ.linkTitle : true,
			tw = warning,
			refPage = $this.attr('refPage').replace(/_/g, ' ');

		if(user == mw.user.getName() && ! confirm('זהו דף השיחה שלך. האם אתה בטוח שברצונך להוסיף את התבנית?'))
			return;

		if (!warning || !user)
			return;

		if (refPage)
			tw += '|' + refPage;
		
		if (templ.askExtra) {
			var skipExtra = window.skipAsk64 && window.skipAsk64[templ.m];		
			if (templ.askExtra.prompt && !skipExtra) {
				var extra = $.trim(prompt(templ.askExtra.prompt));
				if (extra)
					tw += templ.askExtra.param + extra;
			}
			else if (! skipExtra && templ.askExtra.confirm && confirm(templ.askExtra.confirm))
				tw += templ.askExtra.param;
		}

		var text = "{{" + tw + "}} ~~" + "~~\n";
		if (refPage)
			text = '\n==' + (linkTitle? "[[" + refPage + "]]" : refPage ) + '==\n' + text;
		save_topage("שיחת משתמש:" + user, warning, text, watchOrUnwatch(templ), function() {mw.notify(' תבנית "' + warning + '" נרשמה בשיחת משתמש:' + user);});
	}
	
	function watchOrUnwatch(templ) {
		var l = window.script64Watch || '';
		return l
			? (typeof l == "string"
				? l
				: l[templ.t])
			: templ.wl;
	}
	
	function getUserLink() {
		return mw.config.get('wgCanonicalSpecialPageName') == 'Block'
			? mw.util.$content.find('p a:first')
			: (mw.config.get('wgAction') == 'rollback'
				? $('.mw-userlink:first')
				: $('#mw-diff-ntitle2 a.mw-userlink')
				);
	}
	// main body of function
	var
		link = getUserLink(),
		user = link.text(),
		anon = mw.util.isIPv4Address(user) || mw.util.isIPv6Address(user),
		all = [
			{t:"אזהרה", m: "אזהרה", tl:"הוספת תבנית אזהרה"},
			{t:"חזרה", m: "חזרה על עריכה", tl:"הוספת תבנית חזרה על עריכה"},
			{t:"באג רימון", m: "באג רימון", tl:"הוספת תבנית באג רימון"},
			{t:"תרגום תאריכים", m: "תרגום תאריכים", tl:"הוספת תבנית תרגום תאריכים"},
			{t:"שינוי שם ללא דיון", m: "שינוי שם ללא דיון", tl:"הוספת תבנית שינוי שם ללא דיון"},			
			{t:"ניסוי", m: "ניסויים", tl:"הוספת תבנית ניסויים", wl: 'unwatch'},
			{t:"בוטל",  m: "בוטל", tl:"הוספת תבנית בוטל", askExtra: {prompt: 'סיבת הביטול', param: '|סיבה='}},
			{t:"שינוי שם ללא דיון", m: "שינוי שם ללא דיון", tl:"הוספת תבנית שינוי שם ללא דיון"},
			{t:"פרסום", m: "פרסומת", tl:"הוספת תבנית פרסומת", wl: 'unwatch'},
			{t:"הועתק", m: "העתקה", tl:"הוספת אזהרת העתקה", wl: 'unwatch'},
			{t:"הסבר", m: "הסבר", tl:"הוספת תבנית הסבר", askExtra: {confirm: 'בוטל ? (ביטול=לא)', param: '|בוטל=כן'}, wl: 'unwatch'},
			anon ? {t:"תודה", m: "תודה", tl:"הוספת תבנית תודה"} : {t:"בה", m: "בה", tl:"הוספת תבנית ברוך בואך", noPage: true}
		],
		deletedTemplates = [
			{t:"הבל", m: "הבל", tl:"הוספת אזהרת הבל", linkTitle: false },
			{t:"נמחק", m: "נמחק", tl:"הוספת תבנית מחיקה", linkTitle: false },
			{t:"ניסוי נמחק", m: "נמחק ניסויים", tl:"הוספת תבנית מחיקה של ניסוי", linkTitle: false },
			{t:"פרסום", m: "פרסומת", tl:"הוספת תבנית פרסומת", linkTitle: false },
			{t:"הועתק", m: "העתקה", tl:"הוספת אזהרת העתקה"}
		],
		youWereBlocked = {t:"נחסמת", m: "נחסמת", tl:"הודעה למשתמש שנחסם", askExtra: {prompt: 'סיבת החסימה', param: '|'}, noPage: true};

	function makeSpan(forUser, forDeletePage, paragraph) {
		var container = $(paragraph ? '<p>' : '<span>').text(' (');
		if (forDeletePage) {
			container.append(
				$('<a>', {href: mw.util.getUrl('User:' + forUser), text: forUser}),
				' (',
				$('<a>', {href: mw.util.getUrl('User Talk:' + forUser), text: 'שיחה'}),
				' | ',
				$('<a>', {href: mw.util.getUrl('Special:Contributions/' + forUser), text: 'תרומות'}),
				' | ',
				$('<a>', {href: mw.util.getUrl('Special:Block/' + forUser), text: 'חסימה'}),
				' ) '
			);
			all = deletedTemplates.concat([youWereBlocked]);
		}
		for (var i in all) {
			var templ = all[i];
			var page = (templ.noPage)
				? ''
				: (($.inArray(mw.config.get('wgNamespaceNumber'), [6, 14]) + 1) ? ':' : '') + mw.config.get('wgPageName').replace(/_/g, " ");
			var a = $("<a>", {href: '#', user: forUser, refPage: page, title: templ.tl || templ.t})
				.text(templ.t)
				.click(activate)
				.data({templ: templ});
			container.append(i==0 ? '':' | ').append(a);
		}
		return container.append(')');
	}

	var sysop = $.inArray('sysop', mw.config.get('wgUserGroups'))+1;
	if (sysop) {
		if (mw.config.get('wgCanonicalSpecialPageName') == 'Block')
			all = [];
		all.push(youWereBlocked);
	}

	if (user) {
		if ($('#mw-diff-ntitle2').length)
			$('#mw-diff-ntitle2').append(makeSpan(user, false, true));
		else
			link.after(makeSpan(user, false));
	}
	else if (sysop && mw.config.get('wgAction') == 'delete' && $('#deleteconfirm').length===0) { //more complex case: we have to use API to get the user.
		$.getJSON(
			mw.util.wikiScript('api'),
			{action: 'query', list: 'deletedrevs', drlimit: 20, titles: mw.config.get('wgPageName'), drprop: 'user', format: 'json'},
			function(data) {
				var users = {};
				var content = mw.util.$content;
				if (data && data.query && data.query.deletedrevs)
					$(data.query.deletedrevs).each(function() {
						$(this.revisions).each(function() {users[this.user] = true;});
					});
				content.append('<p>', {text: 'את הדף ' + mw.config.get('wgPageName') + ' ערכו העורכים הבאים:'});
				for (var editor in users)
					content.append($('<p>').append(makeSpan(editor, true)));
			});
		}
}

// Early execution
if ( document.readyState === 'interactive' ) {
	addWarningLinks();
} else {
	$( addWarningLinks );
}