מדיה ויקי: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){ | ||
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('בקשתך נשמרה בדף הבקשות מהמפעילים');}); | |||
}); | |||
}); | }); | ||
} | } | ||
שורה 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' );
});