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

מתוך אוצר הספרים היהודי השיתופי
קפיצה לניווט קפיצה לחיפוש
מאין תקציר עריכה
מ (בדיקה שהדף לא מקושר כבר מבקשות ממפעילים)
שורה 2: שורה 2:
if(mw.config.get('wgNamespaceNumber') + 1) // not a special page
if(mw.config.get('wgNamespaceNumber') + 1) // not a special page
$(function(){
$(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 )
{
requestChecker.reject('הדף כבר מוזכר בבקשות ממפעילים');
return;
}
}
requestChecker.resolve();
});
return requestChecker;
}


function save(title, summary, content, section, next) {
function save(title, summary, content, section, next) {
שורה 17: שורה 42:
    hasReason = /reason/.test(message);
    hasReason = /reason/.test(message);
$(a).click(function() {
$(a).click(function() {
var reason = prompt("הסיבה לבקשת ה" + caption);
checkRequest().fail(function(err){
if ($.trim(reason) == '')
mw.notify(err);
return;
}).done(function(){
if (replaceParam) {
var reason = prompt("הסיבה לבקשת ה" + caption);
var r = /replaceParam|reason/g;
if ($.trim(reason) == '')
tooltip = tooltip.replace(r, function(m) { if(m=='reason') { return reason; } return replaceParam; });
return;
message = message.replace(r, function(m) { if(m=='reason') { return reason; } return replaceParam; });
if (replaceParam) {
summary = summary.replace(r, function(m) { if(m=='reason') { return reason; } return replaceParam; });
var r = /replaceParam|reason/g;
}
tooltip = tooltip.replace(r, function(m) { if(m=='reason') { return reason; } return replaceParam; });
message += ( hasReason? '' : ' - ' + reason ) + ' ~~' + '~~';
message = message.replace(r, function(m) { if(m=='reason') { return reason; } return replaceParam; });
save('ויקיפדיה:בקשות ממפעילים', summary, '\n\n* ' + message, section, function() { mw.notify('בקשתך נשמרה בדף הבקשות מהמפעילים');});
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('בקשתך נשמרה בדף הבקשות מהמפעילים');});
});
});
});
}
}
שורה 43: שורה 72:


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


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

גרסה מ־00:00, 26 בנובמבר 2016

/* הסקריפט מוסיף לשוניות "מחיקה", "הגנה" ו"חסימה" על מנת שאפשר יהיה לבקש מחיקת דפים, הגנת דפים וחסימת משתמשים באמצעות דף בקשות ממפעילים. */
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 )
			{
				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') +']]', '/* בקשות מחיקת גרסאות מסוימות */ הסתרת גרסה','[');

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