מדיה ויקי: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(){ | ||
function DialogRapi(Res) { | |||
var nameOfpage = mw.config.get( 'wgPageName' ).replace(new RegExp('_', 'g'), ' '); | |||
new mw.Api().post({ | |||
action : 'edit', | |||
prependtext : '* {{בקשת מחיקה|' + nameOfpage + '|' + Res + '}} ~~' + '~~\n' , | |||
section: 2, | |||
summary : 'בקשה למחיקה:' + ' [[' + nameOfpage + ']]', | |||
title : 'ויקיפדיה:בקשות_ממפעילים', | |||
token : mw.user.tokens.get('editToken') | |||
}).done(function(d){ if (d) {mw.notify('הבקשה נשלחה בהצלחה!');}}); | |||
} | |||
function DoneDelReq(){ | |||
if ($("#SelectDelReq")["0"].value == "אחר" && $("#ElseResDelReq")["0"].value === ""){ | |||
alert("לא מולאה סיבה"); | |||
}else{ | |||
if ($("#SelectDelReq")["0"].value == "אחר") { | |||
DialogRapi($('.redirectMsg').length ? $("#ElseResDelReq")["0"].value + "|ללא הפניה=כן" : $("#ElseResDelReq")["0"].value); | |||
}else{ | |||
if ($("#SelectDelReq")["0"].value !== "אחר" && $("#ElseResDelReq")["0"].value === ""){ | |||
DialogRapi($('.redirectMsg').length ? $("#SelectDelReq")["0"].value + "|ללא הפניה=כן" : $("#SelectDelReq")["0"].value); | |||
}else{ | |||
DialogRapi($('.redirectMsg').length ? $("#SelectDelReq")["0"].value + ": " + $("#ElseResDelReq")["0"].value + "|ללא הפניה=כן" : $("#SelectDelReq")["0"].value + ": " + $("#ElseResDelReq")["0"].value); | |||
} | |||
} | |||
} | |||
} | |||
function HevelPD() { | |||
checkRequest().fail(function(err){ | |||
mw.notify(err); | |||
}).done(function(){ | |||
var ElseResDelReq = $("<select id='SelectDelReq'>") | |||
.append($("<option>").append("אחר")) | |||
.append($("<option>").append("הבל")) | |||
.append($("<option>").append("מילוני/אולטרה קצרמר")) | |||
.append($("<option>").append("הפרת זכויות יוצרים")) | |||
.append($("<option>").append("הפניה מיותרת")) | |||
.append($("<option>").append("לא אנציקלופדי")) | |||
.append($("<option>").append("פרסומת")) | |||
.append($("<option>").append("לבקשת הכותב")) | |||
.append($("<option>").append("שגוי/טעות")); | |||
var DialogDelReq = $('<div>').dialog() | |||
.append(ElseResDelReq) | |||
.dialog('option', 'buttons', { | |||
'בוצע': | |||
DoneDelReq, | |||
'סגור': | |||
function() {DialogDelReq.dialog('close');} | |||
}) | |||
.dialog({title: "בקשה למחוק את הדף", width: "400", height: "170", position: [$('body').width() * 0.05, $('body').height() * 0.05]}); | |||
$("#SelectDelReq").after($("<input type='text' size='40' id='ElseResDelReq'>")); | |||
$("#SelectDelReq").before("סיבה למחיקה: "); | |||
$("#SelectDelReq").after($("<br />")); | |||
$("#ElseResDelReq").before("סיבה אחרת/נוספת: "); | |||
}); | |||
} | |||
//validate the page is not already linked from sysop request page | //validate the page is not already linked from sysop request page | ||
function checkRequest() | function checkRequest() | ||
שורה 70: | שורה 124: | ||
var pageLink = $('.redirectMsg').length ? '{{ללא הפניה|replaceParam}}' : '[[' + ca + 'replaceParam]]'; | var pageLink = $('.redirectMsg').length ? '{{ללא הפניה|replaceParam}}' : '[[' + ca + 'replaceParam]]'; | ||
addMenuItem('הגנה', 'בקשה להגן על הדף replaceParam', 3, pageLink, '/* בקשות הגנה / הסרת הגנה */ [[replaceParam]]','=', pageName); | addMenuItem('הגנה', 'בקשה להגן על הדף replaceParam', 3, pageLink, '/* בקשות הגנה / הסרת הגנה */ [[replaceParam]]','=', pageName); | ||
var | var AMI = mw.util.addPortletLink('p-cactions','#', "מחיקה"); | ||
$(AMI).click(function(){HevelPD()}); | |||
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') + '|טקסט=גרסה זו}} ב[['+ mw.config.get('wgPageName').replace( /_/g, " " ) +']]', '/* בקשות מחיקת גרסאות מסוימות */ הסתרת גרסה','['); | addMenuItem('הסתרת גרסה', 'בקשה להסתיר את הגרסה ' + mw.util.getParamValue('diff') , 4, '{{הבדל|' + mw.config.get('wgPageName') + '|' + mw.util.getParamValue('diff') + '|' + mw.util.getParamValue('oldid') + '|טקסט=גרסה זו}} ב[['+ mw.config.get('wgPageName').replace( /_/g, " " ) +']]', '/* בקשות מחיקת גרסאות מסוימות */ הסתרת גרסה','['); |
גרסה מ־20:10, 17 במאי 2017
/* הסקריפט מוסיף לשוניות "מחיקה", "הגנה" ו"חסימה" על מנת שאפשר יהיה לבקש מחיקת דפים, הגנת דפים וחסימת משתמשים באמצעות דף בקשות ממפעילים. */
if(mw.config.get('wgNamespaceNumber') + 1) // not a special page
$(function(){
function DialogRapi(Res) {
var nameOfpage = mw.config.get( 'wgPageName' ).replace(new RegExp('_', 'g'), ' ');
new mw.Api().post({
action : 'edit',
prependtext : '* {{בקשת מחיקה|' + nameOfpage + '|' + Res + '}} ~~' + '~~\n' ,
section: 2,
summary : 'בקשה למחיקה:' + ' [[' + nameOfpage + ']]',
title : 'ויקיפדיה:בקשות_ממפעילים',
token : mw.user.tokens.get('editToken')
}).done(function(d){ if (d) {mw.notify('הבקשה נשלחה בהצלחה!');}});
}
function DoneDelReq(){
if ($("#SelectDelReq")["0"].value == "אחר" && $("#ElseResDelReq")["0"].value === ""){
alert("לא מולאה סיבה");
}else{
if ($("#SelectDelReq")["0"].value == "אחר") {
DialogRapi($('.redirectMsg').length ? $("#ElseResDelReq")["0"].value + "|ללא הפניה=כן" : $("#ElseResDelReq")["0"].value);
}else{
if ($("#SelectDelReq")["0"].value !== "אחר" && $("#ElseResDelReq")["0"].value === ""){
DialogRapi($('.redirectMsg').length ? $("#SelectDelReq")["0"].value + "|ללא הפניה=כן" : $("#SelectDelReq")["0"].value);
}else{
DialogRapi($('.redirectMsg').length ? $("#SelectDelReq")["0"].value + ": " + $("#ElseResDelReq")["0"].value + "|ללא הפניה=כן" : $("#SelectDelReq")["0"].value + ": " + $("#ElseResDelReq")["0"].value);
}
}
}
}
function HevelPD() {
checkRequest().fail(function(err){
mw.notify(err);
}).done(function(){
var ElseResDelReq = $("<select id='SelectDelReq'>")
.append($("<option>").append("אחר"))
.append($("<option>").append("הבל"))
.append($("<option>").append("מילוני/אולטרה קצרמר"))
.append($("<option>").append("הפרת זכויות יוצרים"))
.append($("<option>").append("הפניה מיותרת"))
.append($("<option>").append("לא אנציקלופדי"))
.append($("<option>").append("פרסומת"))
.append($("<option>").append("לבקשת הכותב"))
.append($("<option>").append("שגוי/טעות"));
var DialogDelReq = $('<div>').dialog()
.append(ElseResDelReq)
.dialog('option', 'buttons', {
'בוצע':
DoneDelReq,
'סגור':
function() {DialogDelReq.dialog('close');}
})
.dialog({title: "בקשה למחוק את הדף", width: "400", height: "170", position: [$('body').width() * 0.05, $('body').height() * 0.05]});
$("#SelectDelReq").after($("<input type='text' size='40' id='ElseResDelReq'>"));
$("#SelectDelReq").before("סיבה למחיקה: ");
$("#SelectDelReq").after($("<br />"));
$("#ElseResDelReq").before("סיבה אחרת/נוספת: ");
});
}
//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 AMI = mw.util.addPortletLink('p-cactions','#', "מחיקה");
$(AMI).click(function(){HevelPD()});
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' );
});