שיחת מדיה ויקי:Gadget-DeleteRequest.js

מתוך ויקיסוגיה
קפיצה לניווט קפיצה לחיפוש

תקלדה

מפעילי מערכתהגאדג'ט הזה לא עובד מהסיבה שבקוד מקור מופיע 'המכלול:' במקום 'ויקיסוגיה:' אם אפשר בבקשה להחליף את כל המופעים. ייש"כ! מוטל'ה (שיחה) 18:12, 18 בדצמבר 2021 (IST)

שלום וברכה, אין לי הרשאות לערוך את הדף הזה. כנראה שזה דורש הרשאות יותר גבוהות ממפעיל מערכת. אפשר לבדוק עם א.א. בברכה, --איתן ברוך (שיחה) 13:09, 19 בדצמבר 2021 (IST)
בשביל להקל על העורך עם ההרשאות. עשיתי כבר את ההחלפה. פשוט צריך להחליף את תוכן הדף עם זה:
להעתיק את התוכן מכאן:
/* הסקריפט מוסיף לשוניות "מחיקה", "הגנה" ו"חסימה" על מנת שאפשר יהיה לבקש מחיקת דפים, הגנת דפים וחסימת משתמשים באמצעות דף בקשות ממפעילים. */
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 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.replace(/replaceParam/g, mw.config.get("wgPageName").replace(/_/g, " ")).replace(/replaceUser/g, mw.config.get('wgRelevantUserName')), token: mw.user.tokens.get('editToken'), section: section || '0', appendtext: content, format: 'json'};
	$.post(mw.util.wikiScript('api'), param, function(data) {
		if (data && data.error)
			mw.notify('שגיאה בשמירה: ' + data.erro[info]);
		else if (data && data.edit && data.edit.result == 'Success' && typeof next == 'function')
			next();
	});
}

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||''));
	$(a).click(function() {
		checkRequest().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){save('ויקיסוגיה:בקשות ממפעילים', '/* בקשות מחיקה */ [[replaceParam]]', '\n\n* ' + message.replace(/reason/g, selectValue), 1, function() { mw.notify('בקשתך נשמרה בדף הבקשות ממפעילים');})}, 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|ת]]|[[מיוחד:חסימה/replaceUser|ח]])", '\n\n* ' + message.replace(/reason/g, selectValue + ": " + value), 2, function() { mw.notify('בקשתך נשמרה בדף הבקשות ממפעילים');})}, ["השחתה לאחר אזהרה", "תוכן בלתי ראוי למכלול", "הפרעה", "כניסה למלחמת עריכה", "העלאת הבלים או ערכים חסרי תוכן", "הסרת תוכן מדפים", "שם משתמש לא מקובל", "לא בא/ה לתרום", "Upload spam"], "חסום את המשתמש");
					break;
				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]]';
addMenuItem('בקש הגנה', 'בקשה להגן על הדף replaceParam', pageLink, '=');
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') + '|טקסט=גרסה זו}} ב[['+ mw.config.get('wgPageName').replace( /_/g, " " ) +']]', '[');
$( document ).trigger( 'new-portlet-link' );
});
תודה על ההחלפה, אך הוספת לסוף הקוד את הטקסט הזה: </syntaxhighlight>|} מה שגרם שזה לא יופיע בלשונית בצד (זה שייך לתבנית שאיתן ברוך השתמש בו להציג את הקוד כאן בדף השיחה בצורה מוסתרת..) תודה. מוטל'ה (שיחה) 01:03, 21 בדצמבר 2021 (IST)
מוטל'ה תיקנתי. תבדוק עכשיו? א.א (שיחה) 08:13, 21 בדצמבר 2021 (IST)
עדיין לא.. אולי תנסה להסיר גם את 2 התווים האחרונים |} זה גם מיותר. תודה רבה. מוטל'ה (שיחה) 08:30, 21 בדצמבר 2021 (IST)
עכשיו? א.א (שיחה) 08:44, 21 בדצמבר 2021 (IST)
א.א הסתדר! יישר כח על הסבלנות.. מוטל'ה (שיחה) 19:16, 21 בדצמבר 2021 (IST)
א.א בדקתי שוב, מופיע שוב הלשונית אבל עדיין זה לא עובד.. ניסיתי לעדכן את התבניות והיחידות המקושרות אבל זה לא פתר את הבעיה.. (התנצלותי מראש אם לדעתך לא הייתי צריך לעדכן לבד..) אולי לאיתן ברוך יש מושג מה הבעייה עדין? אולי צריך לעדכן את הדף הזה מויקי? מוטל'ה (שיחה) 20:00, 21 בדצמבר 2021 (IST)