לדלג לתוכן

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

מתוך צפונות ויקי
מ תקלדה
מ 121 גרסאות של הדף wikipedia:he:מדיה_ויקי:Gadget-DeleteRequest.js יובאו
 
(83 גרסאות ביניים של 16 משתמשים אינן מוצגות)
שורה 1: שורה 1:
/* הסקריפט מוסיף לשוניות "מחיקה", "הגנה" ו"חסימה" על מנת שאפשר יהיה לבקש מחיקת דפים, הגנת דפים וחסימת משתמשים באמצעות דף בקשות ממפעילים.
/* הסקריפט מוסיף לשוניות "מחיקה", "הגנה" ו"חסימה" על מנת שאפשר יהיה לבקש מחיקת דפים, הגנת דפים וחסימת משתמשים באמצעות דף בקשות ממפעילים. */
* נכתב על ידי [[משתמש:ערן]]
if(mw.config.get('wgNamespaceNumber') + 1) // not a special page
* נבדק בFF3.5 ובIE8
$(function(){
*/
function openDialog(code1, code2, code3, reasons, req) {
var dialog = $("<div>").html("סיבה: ").dialog({title: "בקשה ל" + req});
var select = $("<select>").append($("<option>").append("אחר"));
dialog.append(select);
for (var id in reasons) {
select.append($("<option>").append(reasons[id]));
}
var input = $("<input>");
dialog.append($("<br>"), "סיבה אחרת/נוספת: ", input);
input.focus();
$(dialog).keypress(function(event) {
if (event.key == "Enter") {
var value = input["0"].value, selectValue = select["0"].value;
if (value === "" && selectValue == "אחר") alert("לא מולאה סיבה");
if (value !== "" && selectValue == "אחר") code1(value);
if (value === "" && selectValue != "אחר") code2(selectValue);
if (value !== "" && selectValue !== "אחר") code3(value, selectValue);
dialog.dialog('close');
}
});
dialog.dialog('option', 'buttons', {
'ביצוע':
function(){
var value = input["0"].value, selectValue = select["0"].value;
if (value === "" && selectValue == "אחר") alert("לא מולאה סיבה");
if (value !== "" && selectValue == "אחר") code1(value);
if (value === "" && selectValue != "אחר") code2(selectValue);
if (value !== "" && selectValue !== "אחר") code3(value, selectValue);
dialog.dialog('close');
},
'סגירה':
function() {dialog.dialog('close');}
});
}


// delete option
function save(title, summary, content, section, next) {
function addDeleteOption()
var param = {action: 'edit', title: title, summary: summary.replace(/replaceParam/g, mw.config.get("wgPageName").replace(/_/g, " ")).replace(/replaceUser/g, mw.config.get('wgRelevantUserName')), token: mw.user.tokens.get('csrfToken'), section: section || '0', appendtext: content, format: 'json', tags:'בקשות_ממפעילים'};
{
$.post(mw.util.wikiScript('api'), param, function(data) {
    var historyTab = document.getElementById('ca-history');
if (data && data.error)
    if (!historyTab ) return;
mw.notify('שגיאה בשמירה: ' + ( data.error.info || 'שגיאה לא ידועה' ) );
    var deleteTab = document.createElement('li');
else if (data && data.edit && data.edit.result == 'Success' && typeof next == 'function')
    deleteTab.id = 'ca-js-delete';
next();
    var deleteLink = document.createElement('a');
});
    deleteLink.href = '#';
    deleteLink.title = 'מחיקת דף זה';
deleteLink.onclick = function(){
var reqDel = wgPageName;
if(wgNamespaceNumber==14 || wgNamespaceNumber==6){//for categories and files
reqDel =':'+reqDel;
}
}
var reqRes=prompt("סיבה לבקשת המחיקה");
 
if(reqRes) reqRes=' - '+reqRes;
function saveDelete(selectValue, message){
else reqRes='';
save('ויקיפדיה:בקשות ממפעילים', '/* בקשות מחיקה */ [[replaceParam]]',
window.location.href='http://he.wikipedia.org/w/index.php?title=ויקיפדיה:בקשות_ממפעילים&action=edit&section=1&pleasedelete=yes&pagefordel=' + reqDel+'&delRes='+reqRes;
'\n\n* ' + message.replace(/reason/g, selectValue), 1,
function() { mw.notify('בקשתך נשמרה בדף הבקשות מהמפעילים');});
}
}
  if (historyTab.children) {
 
    deleteLink.appendChild(document.createTextNode('מחיקה'));
function checkAndSaveDelete(selectValue, message){
    deleteTab.appendChild(deleteLink);
new mw.Api().get( {
    historyTab.parentNode.insertBefore(deleteTab,historyTab);
action:'query',
  } else {
prop: 'linkshere',
    deleteLink.appendChild(document.createTextNode('מחיקה'));
titles: mw.config.get('wgPageName'),
    deleteTab.appendChild(deleteLink);
indexpageids: 1
    document.getElementById('p-cactions').childNodes[3].insertBefore(deleteTab,null);
}).done(function(d) {
  }
d = d.query;
if ( d && d.pageids && d.pageids.length ) {
d = d.pages[d.pageids[0]];
if ( d.linkshere && d.linkshere.length > 0 )
{
mw.loader.using("oojs-ui", function(){
var linkUrl = new mw.Title('מיוחד:דפים_המקושרים_לכאן/' + mw.config.get('wgPageName')).getUrl();
OO.ui.confirm( $('<div>').html('יש '+ d.linkshere.length +' +<a href="'+linkUrl+'">קישורים לדף</a>, האם הם נבדקו לפני בקשת המחיקה?') ).done( function ( confirmed ) {
if ( confirmed ) {
saveDelete(selectValue, message);
} else {
mw.notify('נא לבדוק את הקישורים לפני הבקשה.');
}
});
} );
} else {
saveDelete(selectValue, message);
}
}
else {
saveDelete(selectValue, message);
}
});
}
}
 
addOnloadHook(function (){
function checkRequestDuplication() {
if(location.href.match(/pleasedelete=yes/)) {
var requestChecker = new $.Deferred();
    var txtLoc=location.href;
new mw.Api().get( {
    var decLoc=decodeURI(txtLoc);
action:'query',
    var delrgx = new RegExp("pagefordel=(.*?)&delRes=(.*)"); 
prop: 'links',
    var m = delrgx.exec(decLoc);
titles: 'ויקיפדיה:בקשות ממפעילים',
    if(m){
pltitles: mw.config.get('wgPageName'),
var reqDel=m[1].replace(/_/g," ");
indexpageids: 1
var reqRes=m[2];
}).done(function(d) {
    document.getElementById('wpSummary').value = '/* בקשות מחיקה */ [' + '[' + reqDel + ']]';
d = d.query;
    document.getElementById('wpTextbox1').value = document.getElementById('wpTextbox1').value + '\n*[' + '['+reqDel+']]'+reqRes+' ~~'+'~~';
if ( d && d.pageids && d.pageids.length ) {
    document.getElementById('editform').submit();
d = d.pages[d.pageids[0]];
if ( d.links && d.links.length > 0 )
{
if (!confirm('הדף כבר מוזכר בבקשות ממפעילים. האם לשלוח בכל זאת את הבקשה?')) {
requestChecker.reject('הדף כבר מוזכר בבקשות ממפעילים. הבקשה לא בוצעה');
return;
}
}
}
requestChecker.resolve();
});
return requestChecker;
}
}
}
});
addOnloadHook(addDeleteOption);


// protect option
function addMenuItem(caption, tooltip, message, accessKey) {
function addProtectOption()
var a = mw.util.addPortletLink('p-cactions','#',caption,'',tooltip.replace(/replaceParam/g, mw.config.get("wgPageName").replace(/_/g, " ")).replace(/replaceUser/g, mw.config.get('wgRelevantUserName')),(accessKey||''));
{
var alreadyClicked;
    var historyTab = document.getElementById('ca-history');
$(a).click(function(e) {
    if (!historyTab ) return;
e.preventDefault();
    var protectTab = document.createElement('li');
e.stopPropagation();
    protectTab.id = 'ca-js-protect';
if (alreadyClicked) return;
    var protectLink = document.createElement('a');
alreadyClicked = true;
    protectLink.href = '#';
checkRequestDuplication().fail(function(err){
    protectLink.title = 'הגנה על דף זה';
mw.notify(err);
protectLink.onclick = function(){
}).done(function(){
var reqProt = wgPageName;
if (message.match(/reason/)) {message += ' ~~' + '~~'}else{message += ' – reason ~~' + '~~'}
if(wgNamespaceNumber==14 || wgNamespaceNumber==6){//for categories and files
message = message.replace(/replaceParam/g, mw.config.get('wgPageName').replace(/_/g, " ")).replace(/replaceUser/g, mw.config.get('wgRelevantUserName'));
reqProt =':'+reqProt;
switch (caption) {
}
case "מחיקה":
var reqRes=prompt("סיבה לבקשת ההגנה");
openDialog(function(value){save('ויקיפדיה:בקשות ממפעילים', '/* בקשות מחיקה */ [[replaceParam]]', '\n\n* ' + message.replace(/reason/g, value), 1, function() { mw.notify('בקשתך נשמרה בדף הבקשות מהמפעילים');})}, function(selectValue) { checkAndSaveDelete(selectValue, message); } , function(value, selectValue){save('ויקיפדיה:בקשות ממפעילים', '/* בקשות מחיקה */ [[replaceParam]]', '\n\n* ' + message.replace(/reason/g, selectValue + ": " + value), 1, function() { mw.notify('בקשתך נשמרה בדף הבקשות מהמפעילים');})}, ["הבל", "מילוני/אולטרה קצרמר", "הפניה בדפי שיחה" ,"הפניה בקטגוריה" , "הפניה מיותרת", "הפניה שגויה", "לא אנציקלופדי", "פרסומת", "שגוי/טעות", "לבקשת הכותב", "הועבר למרחב טיוטה", "הועבר למרחב המשתמש", "הועבר למרחב הערכים"], "מחוק את הדף");
if(reqRes) reqRes=' - '+reqRes;
break;
else reqRes='';
case "חסימה":
window.location.href='http://he.wikipedia.org/w/index.php?title=ויקיפדיה:בקשות_ממפעילים&action=edit&section=3&pleaseprotect=yes&pageforprot=' + reqProt+'&protRes='+reqRes;
openDialog(function(value){save('ויקיפדיה:בקשות ממפעילים', "/* בקשות חסימה / הסרת חסימה */ [[משתמש:replaceUser|replaceUser]] ([[שיחת משתמש:replaceUser|ש]]|[[מיוחד:תרומות/replaceUser|ת]]|[[מיוחד:חסימה/replaceUser|ח]])", '\n\n* ' + message.replace(/reason/g, value), 2, function() { mw.notify('בקשתך נשמרה בדף הבקשות מהמפעילים');})}, function(selectValue){save('ויקיפדיה:בקשות ממפעילים', "/* בקשות חסימה / הסרת חסימה */ [[משתמש:replaceUser|replaceUser]] ([[שיחת משתמש:replaceUser|ש]]|[[מיוחד:תרומות/replaceUser|ת]]|[[מיוחד:חסימה/replaceUser|ח]])", '\n\n* ' + message.replace(/reason/g, selectValue), 2, function() { mw.notify('בקשתך נשמרה בדף הבקשות מהמפעילים');})}, function(value, selectValue){save('ויקיפדיה:בקשות ממפעילים', "/* בקשות חסימה / הסרת חסימה */ [[משתמש:replaceUser|replaceUser]] ([[שיחת משתמש:replaceUser|ש]]|[[מיוחד:תרומות/replaceUser|ת]]|[[מיוחד:חסימה/replaceUser|ח]])", '\n\n* ' + message.replace(/reason/g, selectValue + ": " + value), 2, function() { mw.notify('בקשתך נשמרה בדף הבקשות מהמפעילים');})}, ["השחתה לאחר אזהרה", "קללות או גסויות", "הפרעה", "כניסה למלחמת עריכה", "העלאת הבלים או ערכים חסרי תוכן", "הסרת תוכן מדפים", "שם משתמש לא מקובל", "משחית שנרשם", "לא הגיע לתרום", "העלאת ספאם"], "חסום את המשתמש");
break;
case "הגנה":
case "שינוי הגנה":
openDialog(function(value){save('ויקיפדיה:בקשות ממפעילים', '/* בקשות הגנה / הסרת הגנה */ [[replaceParam]]', '\n\n* ' + message.replace(/reason/g, value), 3, function() { mw.notify('בקשתך נשמרה בדף הבקשות מהמפעילים');})}, function(selectValue){save('ויקיפדיה:בקשות ממפעילים', '/* בקשות הגנה / הסרת הגנה */ [[replaceParam]]', '\n\n* ' + message.replace(/reason/g, selectValue), 3, function() { mw.notify('בקשתך נשמרה בדף הבקשות מהמפעילים');})}, function(value, selectValue){save('ויקיפדיה:בקשות ממפעילים', '/* בקשות הגנה / הסרת הגנה */ [[replaceParam]]', '\n\n* ' + message.replace(/reason/g, selectValue + ": " + value), 3, function() { mw.notify('בקשתך נשמרה בדף הבקשות מהמפעילים');})}, ["השחתות רבות", "אקטואלי", "טרול/חסום", "מלחמת עריכה"], "הגן על הדף");
break;
case "הסתרת גרסה":
openDialog(function(value){save('ויקיפדיה:בקשות ממפעילים', '/* בקשות מחיקת גרסאות מסוימות */ הסתרת גרסה', '\n\n* ' + message.replace(/reason/g, value), 4, function() { mw.notify('בקשתך נשמרה בדף הבקשות מהמפעילים');})}, function(selectValue){save('ויקיפדיה:בקשות ממפעילים', '/* בקשות מחיקת גרסאות מסוימות */ הסתרת גרסה', '\n\n* ' + message.replace(/reason/g, selectValue), 4, function() { mw.notify('בקשתך נשמרה בדף הבקשות מהמפעילים');})}, function(value, selectValue){save('ויקיפדיה:בקשות ממפעילים', '/* בקשות מחיקת גרסאות מסוימות */ הסתרת גרסה', '\n\n* ' + message.replace(/reason/g, selectValue + ": " + value), 4, function() { mw.notify('בקשתך נשמרה בדף הבקשות מהמפעילים');})}, ["תוכן פוגעני", "חשיפת פרטים אישיים", "נאצות/השמצות"], "הסתיר את הגרסה");
break;
}
});
});
}
}
  if (historyTab.children) {
var ca = $.inArray(mw.config.get('wgNamespaceNumber'), [6, 14]) + 1 ?  ':' : '';
    protectLink.appendChild(document.createTextNode('הגנה'));
var pageName = mw.config.get('wgPageName').replace( /_/g, " " );
    protectTab.appendChild(protectLink);
if ($('#t-contributions').length) {
    historyTab.parentNode.insertBefore(protectTab,historyTab);
addMenuItem('חסימה', 'בקשה לחסום את replaceUser', "{{לחסום|replaceUser}}", "]");
  } else {
    protectLink.appendChild(document.createTextNode('הגנה'));
    protectTab.appendChild(protectLink);
    document.getElementById('p-cactions').childNodes[3].insertBefore(protectTab,null);
  }
}
}
var pageLink = $('.redirectMsg').length ? '{{ללא הפניה|replaceParam}}' : '[[' + ca + 'replaceParam]]';
addOnloadHook(function (){
var protectTemplate = $('.redirectMsg').length ? '{{בקשת הגנה|replaceParam|reason|הפניה=כן}}' : '{{בקשת הגנה|replaceParam|reason}}';
if(location.href.match(/pleaseprotect=yes/)) {
if (mw.config.get('wgRestrictionEdit') && mw.config.get('wgRestrictionEdit').length === 0)
    var txtLoc=location.href;
addMenuItem('הגנה', 'בקשה להגן על הדף replaceParam', protectTemplate, '=');
    var decLoc=decodeURI(txtLoc);
else
    var protrgx = new RegExp("pageforprot=(.*?)&protRes=(.*)"); 
addMenuItem('שינוי הגנה', 'בקשה לשנות את ההגנה על הדף replaceParam', protectTemplate, '=');
    var m = protrgx.exec(decLoc);
    if(m){
var reqProt=m[1].replace(/_/g," ");
var reqRes=m[2];
    document.getElementById('wpSummary').value = '/* בקשות הגנה / הסרת הגנה */ [' + '[' + reqProt + ']]';
    document.getElementById('wpTextbox1').value = document.getElementById('wpTextbox1').value + '\n*[' + '['+reqProt+']]'+reqRes+' ~~'+'~~';
    document.getElementById('editform').submit();
}
}
});
addOnloadHook(addProtectOption);
 


// block option
var deleteTemplate = $('.redirectMsg').length ? '{{בקשת מחיקה|replaceParam|reason|הפניה=כן}}' : '{{בקשת מחיקה|replaceParam|reason}}';
function addBlockOption()
if (!mw.util.getParamValue('redlink'))
{
addMenuItem('מחיקה', 'בקשה למחוק את הדף replaceParam', deleteTemplate,'d');
    if (!document.getElementById('ca-nstab-user')) return;
if (mw.util.getParamValue('oldid') && mw.util.getParamValue('diff'))
    var userTab = document.getElementById('ca-js-delete');
addMenuItem('הסתרת גרסה', 'בקשה להסתיר את הגרסה ' + mw.util.getParamValue('diff') , '{{הבדל|' + mw.config.get('wgPageName') + '|' + mw.util.getParamValue('diff') + '|' + mw.util.getParamValue('oldid') + '|טקסט=גרסה זו}} ב[['+ ca + mw.config.get('wgPageName').replace( /_/g, " " ) +']]', '[');
    if (!userTab) userTab = document.getElementById('ca-move');
$( document ).trigger( 'new-portlet-link' );
    if (!userTab) userTab = document.getElementById('ca-history');
    if (!userTab) userTab = document.getElementById('ca-addsection');
    if (!userTab) userTab = document.getElementById('ca-edit');
    if (!userTab) userTab = document.getElementById('ca-nstab-user');
    var blockTab = document.createElement('li');
    blockTab.id = 'ca-js-block';
    var blockLink = document.createElement('a');
    blockLink.href='#';
    blockLink.title = 'חסימת משתמש זה';
blockLink.onclick=function(){
var reqBlock = wgTitle;
var reqRes=prompt("סיבה לבקשת החסימה");
if(reqRes) reqRes=' - '+reqRes;
else reqRes='';
window.location.href='http://he.wikipedia.org/w/index.php?title=ויקיפדיה:בקשות_ממפעילים&action=edit&section=2&pleaseblock=yes&userforblock=' + reqBlock+'&blockRes='+reqRes;
}
  if (userTab.children) {
    blockLink.appendChild(document.createTextNode('חסימה'));
    blockTab.appendChild(blockLink);
    userTab.parentNode.insertBefore(blockTab,userTab.nextSibling);
  } else {
    blockLink.appendChild(document.createTextNode('חסימה'));
    blockTab.appendChild(blockLink);
    document.getElementById('p-cactions').childNodes[3].insertBefore(blockTab,null);
  }
}
addOnloadHook(function (){
if(location.href.match(/pleaseblock=yes/)) {
    var txtLoc=location.href;
    var decLoc=decodeURI(txtLoc);
    var delrgx = new RegExp("userforblock=(.*?)&blockRes=(.*)")
    var m = delrgx.exec(decLoc);
    if(m){
var reqBlock=m[1];
var reqRes=m[2];
    document.getElementById('wpSummary').value = '/* בקשות חסימה / הסרת חסימה */ [' + '[משתמש:'+reqBlock+']] ([' + '[שיחת משתמש:'+reqBlock+'|שיחה]])';
    document.getElementById('wpTextbox1').value = document.getElementById('wpTextbox1').value + '\n* {' + '{לחסום|'+reqBlock+'}}'+reqRes+' ~~'+'~~';
    document.getElementById('editform').submit();
}
}
});
});
if ( wgNamespaceNumber == 2 || wgNamespaceNumber == 3 ) addOnloadHook(addBlockOption);

גרסה אחרונה מ־13:11, 5 בדצמבר 2022

/* הסקריפט מוסיף לשוניות "מחיקה", "הגנה" ו"חסימה" על מנת שאפשר יהיה לבקש מחיקת דפים, הגנת דפים וחסימת משתמשים באמצעות דף בקשות ממפעילים. */
if(mw.config.get('wgNamespaceNumber') + 1) // not a special page
$(function(){
function openDialog(code1, code2, code3, reasons, req) {
	var dialog = $("<div>").html("סיבה: ").dialog({title: "בקשה ל" + req});
	var select = $("<select>").append($("<option>").append("אחר"));
	dialog.append(select);
	for (var id in reasons) {
		select.append($("<option>").append(reasons[id]));	
	}
	var input = $("<input>");
	dialog.append($("<br>"), "סיבה אחרת/נוספת: ", input);
	input.focus();
	$(dialog).keypress(function(event) {
		if (event.key == "Enter") {
			var value = input["0"].value, selectValue = select["0"].value;
			if (value === "" && selectValue == "אחר") alert("לא מולאה סיבה");
			if (value !== "" && selectValue == "אחר") code1(value);
			if (value === "" && selectValue != "אחר") code2(selectValue);
			if (value !== "" && selectValue !== "אחר") code3(value, selectValue);
			dialog.dialog('close');
		}
	});
	dialog.dialog('option', 'buttons', {
		'ביצוע':
			function(){
				var value = input["0"].value, selectValue = select["0"].value;
				if (value === "" && selectValue == "אחר") alert("לא מולאה סיבה");
				if (value !== "" && selectValue == "אחר") code1(value);
				if (value === "" && selectValue != "אחר") code2(selectValue);
				if (value !== "" && selectValue !== "אחר") code3(value, selectValue);
				dialog.dialog('close');
			},
		'סגירה':
			function() {dialog.dialog('close');}
	});
}

function save(title, summary, content, section, next) {
	var param = {action: 'edit', title: title, summary: summary.replace(/replaceParam/g, mw.config.get("wgPageName").replace(/_/g, " ")).replace(/replaceUser/g, mw.config.get('wgRelevantUserName')), token: mw.user.tokens.get('csrfToken'), 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 saveDelete(selectValue, message){
	save('ויקיפדיה:בקשות ממפעילים', '/* בקשות מחיקה */ [[replaceParam]]', 
			'\n\n* ' + message.replace(/reason/g, selectValue), 1, 
			function() { mw.notify('בקשתך נשמרה בדף הבקשות מהמפעילים');});
}

function checkAndSaveDelete(selectValue, message){
	new mw.Api().get( {
		action:'query',
		prop: 'linkshere',
		titles: 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.linkshere && d.linkshere.length > 0 )
			{
				mw.loader.using("oojs-ui", function(){
					var linkUrl = new mw.Title('מיוחד:דפים_המקושרים_לכאן/' + mw.config.get('wgPageName')).getUrl();
					OO.ui.confirm( $('<div>').html('יש '+ d.linkshere.length +' +<a href="'+linkUrl+'">קישורים לדף</a>, האם הם נבדקו לפני בקשת המחיקה?') ).done( function ( confirmed ) {
						if ( confirmed ) {
							saveDelete(selectValue, message);
						} else {
							mw.notify('נא לבדוק את הקישורים לפני הבקשה.');
						}
					});
				} );
			} else {
				saveDelete(selectValue, message);
			}
		}
		else {
			saveDelete(selectValue, message);
		}
	});
}

function checkRequestDuplication() {
	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 addMenuItem(caption, tooltip, message, accessKey) {
	var a = mw.util.addPortletLink('p-cactions','#',caption,'',tooltip.replace(/replaceParam/g, mw.config.get("wgPageName").replace(/_/g, " ")).replace(/replaceUser/g, mw.config.get('wgRelevantUserName')),(accessKey||''));
	var alreadyClicked;
	$(a).click(function(e) {
		e.preventDefault();
		e.stopPropagation();
		if (alreadyClicked) return;
		alreadyClicked = true;
		checkRequestDuplication().fail(function(err){
			mw.notify(err);
		}).done(function(){
			if (message.match(/reason/)) {message += ' ~~' + '~~'}else{message += ' – reason ~~' + '~~'}
			message = message.replace(/replaceParam/g, mw.config.get('wgPageName').replace(/_/g, " ")).replace(/replaceUser/g, mw.config.get('wgRelevantUserName'));
			switch (caption) {
				case "מחיקה":
					openDialog(function(value){save('ויקיפדיה:בקשות ממפעילים', '/* בקשות מחיקה */ [[replaceParam]]', '\n\n* ' + message.replace(/reason/g, value), 1, function() { mw.notify('בקשתך נשמרה בדף הבקשות מהמפעילים');})}, function(selectValue) { checkAndSaveDelete(selectValue, message); } , function(value, selectValue){save('ויקיפדיה:בקשות ממפעילים', '/* בקשות מחיקה */ [[replaceParam]]', '\n\n* ' + message.replace(/reason/g, selectValue + ": " + value), 1, function() { mw.notify('בקשתך נשמרה בדף הבקשות מהמפעילים');})}, ["הבל", "מילוני/אולטרה קצרמר", "הפניה בדפי שיחה" ,"הפניה בקטגוריה" , "הפניה מיותרת", "הפניה שגויה", "לא אנציקלופדי", "פרסומת", "שגוי/טעות", "לבקשת הכותב", "הועבר למרחב טיוטה", "הועבר למרחב המשתמש", "הועבר למרחב הערכים"], "מחוק את הדף");
					break;
				case "חסימה":
					openDialog(function(value){save('ויקיפדיה:בקשות ממפעילים', "/* בקשות חסימה / הסרת חסימה */ [[משתמש:replaceUser|replaceUser]] ([[שיחת משתמש:replaceUser|ש]]|[[מיוחד:תרומות/replaceUser|ת]]|[[מיוחד:חסימה/replaceUser|ח]])", '\n\n* ' + message.replace(/reason/g, value), 2, function() { mw.notify('בקשתך נשמרה בדף הבקשות מהמפעילים');})}, function(selectValue){save('ויקיפדיה:בקשות ממפעילים', "/* בקשות חסימה / הסרת חסימה */ [[משתמש:replaceUser|replaceUser]] ([[שיחת משתמש:replaceUser|ש]]|[[מיוחד:תרומות/replaceUser|ת]]|[[מיוחד:חסימה/replaceUser|ח]])", '\n\n* ' + message.replace(/reason/g, selectValue), 2, function() { mw.notify('בקשתך נשמרה בדף הבקשות מהמפעילים');})}, function(value, selectValue){save('ויקיפדיה:בקשות ממפעילים', "/* בקשות חסימה / הסרת חסימה */ [[משתמש:replaceUser|replaceUser]] ([[שיחת משתמש:replaceUser|ש]]|[[מיוחד:תרומות/replaceUser|ת]]|[[מיוחד:חסימה/replaceUser|ח]])", '\n\n* ' + message.replace(/reason/g, selectValue + ": " + value), 2, function() { mw.notify('בקשתך נשמרה בדף הבקשות מהמפעילים');})}, ["השחתה לאחר אזהרה", "קללות או גסויות", "הפרעה", "כניסה למלחמת עריכה", "העלאת הבלים או ערכים חסרי תוכן", "הסרת תוכן מדפים", "שם משתמש לא מקובל", "משחית שנרשם", "לא הגיע לתרום", "העלאת ספאם"], "חסום את המשתמש");
					break;
				case "הגנה":
				case "שינוי הגנה":
					openDialog(function(value){save('ויקיפדיה:בקשות ממפעילים', '/* בקשות הגנה / הסרת הגנה */ [[replaceParam]]', '\n\n* ' + message.replace(/reason/g, value), 3, function() { mw.notify('בקשתך נשמרה בדף הבקשות מהמפעילים');})}, function(selectValue){save('ויקיפדיה:בקשות ממפעילים', '/* בקשות הגנה / הסרת הגנה */ [[replaceParam]]', '\n\n* ' + message.replace(/reason/g, selectValue), 3, function() { mw.notify('בקשתך נשמרה בדף הבקשות מהמפעילים');})}, function(value, selectValue){save('ויקיפדיה:בקשות ממפעילים', '/* בקשות הגנה / הסרת הגנה */ [[replaceParam]]', '\n\n* ' + message.replace(/reason/g, selectValue + ": " + value), 3, function() { mw.notify('בקשתך נשמרה בדף הבקשות מהמפעילים');})}, ["השחתות רבות", "אקטואלי", "טרול/חסום", "מלחמת עריכה"], "הגן על הדף");
					break;
				case "הסתרת גרסה":
					openDialog(function(value){save('ויקיפדיה:בקשות ממפעילים', '/* בקשות מחיקת גרסאות מסוימות */ הסתרת גרסה', '\n\n* ' + message.replace(/reason/g, value), 4, function() { mw.notify('בקשתך נשמרה בדף הבקשות מהמפעילים');})}, function(selectValue){save('ויקיפדיה:בקשות ממפעילים', '/* בקשות מחיקת גרסאות מסוימות */ הסתרת גרסה', '\n\n* ' + message.replace(/reason/g, selectValue), 4, function() { mw.notify('בקשתך נשמרה בדף הבקשות מהמפעילים');})}, function(value, selectValue){save('ויקיפדיה:בקשות ממפעילים', '/* בקשות מחיקת גרסאות מסוימות */ הסתרת גרסה', '\n\n* ' + message.replace(/reason/g, selectValue + ": " + value), 4, function() { mw.notify('בקשתך נשמרה בדף הבקשות מהמפעילים');})}, ["תוכן פוגעני", "חשיפת פרטים אישיים", "נאצות/השמצות"], "הסתיר את הגרסה");
					break;
			}
		});
	});
}
var ca = $.inArray(mw.config.get('wgNamespaceNumber'), [6, 14]) + 1 ?  ':' : '';
var pageName = mw.config.get('wgPageName').replace( /_/g, " " );
if ($('#t-contributions').length) {
	addMenuItem('חסימה', 'בקשה לחסום את replaceUser', "{{לחסום|replaceUser}}", "]");
}
var pageLink = $('.redirectMsg').length ? '{{ללא הפניה|replaceParam}}' : '[[' + ca + 'replaceParam]]';
var protectTemplate = $('.redirectMsg').length ? '{{בקשת הגנה|replaceParam|reason|הפניה=כן}}' : '{{בקשת הגנה|replaceParam|reason}}';
if (mw.config.get('wgRestrictionEdit') && mw.config.get('wgRestrictionEdit').length === 0)
	addMenuItem('הגנה', 'בקשה להגן על הדף replaceParam', protectTemplate, '=');
else
	addMenuItem('שינוי הגנה', 'בקשה לשנות את ההגנה על הדף replaceParam', protectTemplate, '=');

var deleteTemplate = $('.redirectMsg').length ? '{{בקשת מחיקה|replaceParam|reason|הפניה=כן}}' : '{{בקשת מחיקה|replaceParam|reason}}';
if (!mw.util.getParamValue('redlink'))
	addMenuItem('מחיקה', 'בקשה למחוק את הדף replaceParam', deleteTemplate,'d');
if (mw.util.getParamValue('oldid') && mw.util.getParamValue('diff'))
	addMenuItem('הסתרת גרסה', 'בקשה להסתיר את הגרסה ' + mw.util.getParamValue('diff') , '{{הבדל|' + mw.config.get('wgPageName') + '|' + mw.util.getParamValue('diff') + '|' + mw.util.getParamValue('oldid') + '|טקסט=גרסה זו}} ב[['+ ca + mw.config.get('wgPageName').replace( /_/g, " " ) +']]', '[');
$( document ).trigger( 'new-portlet-link' );
});