מדיה ויקי:Gadget-DeleteRequest.js: הבדלים בין גרסאות בדף

מתוך אוצר הספרים היהודי השיתופי
קפיצה לניווט קפיצה לחיפוש
מ (לבקשת משתמש:1Or [https://he.wikipedia.org/w/index.php?oldid=19807693])
מאין תקציר עריכה
שורה 19: שורה 19:
if ( d.links && d.links.length > 0 )
if ( d.links && d.links.length > 0 )
{
{
requestChecker.reject('הדף כבר מוזכר בבקשות ממפעילים');
if (!confirm('הדף כבר מוזכר בבקשות ממפעילים. האם לשלוח בכל זאת את הבקשה?')) {
return;
requestChecker.reject('הדף כבר מוזכר בבקשות ממפעילים. הבקשה לא בוצעה');
return;
}
}
}
}
}

גרסה מ־00:01, 18 באפריל 2017

/* הסקריפט מוסיף לשוניות "מחיקה", "הגנה" ו"חסימה" על מנת שאפשר יהיה לבקש מחיקת דפים, הגנת דפים וחסימת משתמשים באמצעות דף בקשות ממפעילים. */
if(mw.config.get('wgNamespaceNumber') + 1) // not a special page
$(function(){

//validate the page is not already linked from sysop request page
function checkRequest()
{
	var requestChecker = new $.Deferred();
	new mw.Api().get( {
		action:'query',
		prop: 'links',
		titles: 'ויקיפדיה:בקשות ממפעילים',
		pltitles: mw.config.get('wgPageName'),
		indexpageids: 1
	}).done(function(d) {
		d = d.query
		if ( d && d.pageids && d.pageids.length ) {
			d = d.pages[d.pageids[0]];
			if ( d.links && d.links.length > 0 )
			{
				if (!confirm('הדף כבר מוזכר בבקשות ממפעילים. האם לשלוח בכל זאת את הבקשה?')) {
					requestChecker.reject('הדף כבר מוזכר בבקשות ממפעילים. הבקשה לא בוצעה');
					return;
				}
			}
		}
		requestChecker.resolve();
	});
	return requestChecker;
}

function save(title, summary, content, section, next) {
	var param = {action: 'edit', title: title, summary: summary, token: mw.user.tokens.get('editToken'), section: section || '0', appendtext: content, format: 'json', tags:'בקשות_ממפעילים'};
	$.post(mw.util.wikiScript('api'), param, function(data) {
		if (data && data.error)
			mw.notify('שגיאה בשמירה: ' + data.error['info']);
		else if (data && data.edit && data.edit.result == 'Success' && typeof next == 'function')
			next();
	});
}

function addMenuItem(caption, tooltip, section, message, summary, accessKey, replaceParam) {
	var a = mw.util.addPortletLink('p-cactions','#',caption,'',tooltip,(accessKey||'')),
	    hasReason = /reason/.test(message);
	$(a).click(function() {
		checkRequest().fail(function(err){
			mw.notify(err);
		}).done(function(){
			var reason = prompt("הסיבה לבקשת ה" + caption);
			if ($.trim(reason) == '')
				return;
			if (replaceParam) {
				var r = /replaceParam|reason/g;
				tooltip = tooltip.replace(r, function(m) { if(m=='reason') { return reason; } return replaceParam; });
				message = message.replace(r, function(m) { if(m=='reason') { return reason; } return replaceParam; });
				summary = summary.replace(r, function(m) { if(m=='reason') { return reason; } return replaceParam; });
			}
			message += ( hasReason? '' : ' - ' + reason ) + ' ~~' + '~~';
			save('ויקיפדיה:בקשות ממפעילים', summary, '\n\n* ' + message, section, function() { mw.notify('בקשתך נשמרה בדף הבקשות מהמפעילים');});	
		});
	});
}

var ca = $.inArray(mw.config.get('wgNamespaceNumber'), [6, 14]) + 1 ?  ':' : '';
var pageName = mw.config.get('wgPageName').replace( /_/g, " " );
if ($('#t-contributions').length) {
	var badUser = mw.config.get('wgTitle').split('/')[0];
	addMenuItem('חסימה', 'בקשה לחסום את replaceParam', 2, "{{לחסום|replaceParam}}", '/* בקשות חסימה / הסרת חסימה */ [[משתמש:replaceParam|replaceParam]] ([[שיחת משתמש:replaceParam|ש]]|[[מיוחד:תרומות/replaceParam|ת]]|[[מיוחד:חסימה/replaceParam|ח]])',']', badUser);
}
var pageLink = $('.redirectMsg').length ? '{{ללא הפניה|replaceParam}}' : '[[' + ca + 'replaceParam]]';
addMenuItem('הגנה', 'בקשה להגן על הדף replaceParam', 3, pageLink, '/* בקשות הגנה / הסרת הגנה */ [[replaceParam]]','=', pageName);
var deleteTemplate = $('.redirectMsg').length ? '{{בקשת מחיקה|replaceParam|reason|הפניה=כן}}' : '{{בקשת מחיקה|replaceParam|reason}}';
addMenuItem('מחיקה', 'בקשה למחוק את הדף replaceParam', 1, deleteTemplate, '/* בקשות מחיקה */ [[replaceParam]]','d', pageName);

if (mw.util.getParamValue('oldid') && mw.util.getParamValue('diff'))
	addMenuItem('הסתרת גרסה', 'בקשה להסתיר את הגרסה ' + mw.util.getParamValue('diff') , 4, '{{הבדל|' + mw.config.get('wgPageName') + '|' + mw.util.getParamValue('diff') + '|' + mw.util.getParamValue('oldid') + '|טקסט=גרסה זו}} ב[['+ mw.config.get('wgPageName').replace( /_/g, " " ) +']]', '/* בקשות מחיקת גרסאות מסוימות */ הסתרת גרסה','[');

$( document ).trigger( 'new-portlet-link' );
});