לדלג לתוכן

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

מתוך צפונות ויקי
מאין תקציר עריכה
מ 84 גרסאות של הדף wikipedia:he:מדיה_ויקי:Gadget-rollBackSummary.js יובאו
 
(68 גרסאות ביניים של 5 משתמשים אינן מוצגות)
שורה 1: שורה 1:
var slideShowLinks = [];
/*
var currentImage;
* Adds option to add summary to rollback revets.
 
* Written by [[:he:User:Yonidebest]] based on [[:en:User:Ilmari Karonen]]'s script.
function changeSlideShowImage(text) {
* Translated to Hebrew by [[User:ברק שושני]]
var slideshowimage = document.getElementById('slideshowimage');
* Rewritten by [[User:קיפודנחש]] and [[User:Guycn2]]
var slideshowimagelink = document.getElementById('slideshowimagelink');
*
 
*/
var rx = new RegExp('<div class="fullImageLink" id="file"><a href="([^"]*)"><img alt="[^"]*" src="\1" width="[^"]*" height="[^"]*" border="0" /></a>', 'g');
(function() {
var m = rx.exec(text);
if (!m) return;
"use strict";
 
slideshowimage.setAttribute('src', m[0]);
function i18n(key) {
slideshowimage.setAttribute('alt', slideShowLinks[currentImage].title);
switch (mw.config.get("wgUserLanguage")) {
slideshowimagelink.href = wgServer + wgScript + slideShowLinks[currentImage].title;
case "he":
slideshowimagelink.title = slideShowLinks[currentImage].title;
switch (key) {
 
case "summaryLinkTooltip":
var slideshowlinkleft = document.getElementById('slideshowlinkleft');
return "שחזור מהיר עם תקציר";
var slideshowlinkright = document.getElementById('slideshowlinkright');
case "summaryLinkText":
if (currentImage == 0)
return "תקציר";
  slideshowlinkleft.href = "";
case "dialogText":
else
return "נא להזין תקציר לשחזור:";
  slideshowlinkleft.href = 'javascript:toggleSlideShowImage(1)';
case "notPerformed":
if (currentImage == slideShowLinks.length - 1)
return "השחזור לא בוצע";
  slideshowlinkright.href = "";
case "noRollbackUrl":
else
return "כתוצאה משגיאה בלתי צפויה, לא ניתן היה לאתר את כתובת השחזור.";
  slideshowlinkright.href = 'javascript:toggleSlideShowImage(0)';
case "noSummary":
}
return "לא הוזן תקציר.";
 
case "actionCancelled":
function toggleSlideShowImage(direction) {
return "הפעולה בוטלה.";
// figure out which image to load
}
if (direction) // = 1 = up
break;
  currentImage++;
default:
else // = 0 = down
switch (key) {
  currentImage--;
case "summaryLinkTooltip":
return "Rollback with summary";
// load image page
case "summaryLinkText":
var a = sajax_init_object();
return "summary";
a.open('GET', wgServer + wgScriptPath + '/index.php?title=' + encodeURIComponent(slideShowLinks[currentImage]) + 'action=render', true);
case "dialogText":
a.onreadystatechange = function() {
return "Please enter rollback summary:";
  if (a.readyState != 4) return;
case "notPerformed":
  changeSlideShowImage(a.responseText);
return "Rollback was not performed";
  // alert("[" + a.status + ":" + a.statusText + "]\n" + a.responseText);
case "noRollbackUrl":
};
return "Due to an unexpected error, the rollback URL could not be detected.";
a.send(null);
case "noSummary":
}
return "No summary was entered.";
 
case "actionCancelled":
function initSlideShow() {
return "Action was cancelled.";
if (!(wgPageName == 'מיוחד:כל_הדפים' && getParamValue('namespace') == 6)) return;
}
 
}
// get all link in page and remove non-images
return key;
slideShowLinksTemp = document.getElementsByTagName('A');
}
for (var i = 0; i < slideShowLinksTemp.length; i++)
  if (slideShowLinksTemp[i].title.indexOf('תמונה:') != 0)
function addSummaryLinks(content) {
  slideShowLinks.push(slideShowLinksTemp[i]);
$(".mw-rollback-link", content).append(
 
" | ",
// create the frame, hide almost everything else
$("<a>", {
var tables = document.getElementById('bodyContent').getElementsByTagName('TABLE');
"class": "rollback-summary-link",
tables[2].style.display = 'none';
role: "button",
 
href: "#",
var td1SS = document.createElement('TD');
title: i18n("summaryLinkTooltip"),
td1SS.className = 'slideShowTD';
text: i18n("summaryLinkText"),
 
click: rollbackWithSummary
var img1SS = document.createElement('IMG');
})
img1SS.id = 'slideshowimage';
);
var aSS = document.createElement('A');
}
aSS.id = 'slideshowimagelink';
aSS.appendChild(img1SS);
function rollbackWithSummary(event) {
td1SS.appendChild(aSS);
event.preventDefault();
 
var $summaryLink = $(event.target);
var tr1SS = document.createElement('TR');
var rollbackUrl = $summaryLink
tr1SS.appendChild(td1SS);
.siblings("a:first[href*='&action=rollback']")
 
.attr("href");
var td2SS = document.createElement('TD');
if (typeof rollbackUrl === "undefined") {
td2SS.className = 'slideShowTD';
rollbackUrl = $summaryLink
 
.siblings(".jquery-confirmable-wrapper")
var a1SS = document.createElement('A');
.find("a:first[href*='&action=rollback']")
a1SS.id = 'slideshowlinkleft';
.attr("href");
a1SS.href = 'javascript:toggleSlideShowImage(1)'; // 1 = left/up
if (typeof rollbackUrl === "undefined") {
a1SS.innerHTML = '>';
mw.notify(i18n("noRollbackUrl"), {
 
title: i18n("notPerformed"),
var a2SS = document.createElement('A');
type: "error"
a2SS.id = 'slideshowlinkright';
});
a2SS.href = 'javascript:toggleSlideShowImage(0)'; // 0 = right/down
return;
a2SS.innerHTML = '<';
}
 
}
td2SS.appendChild(a2SS);
OO.ui.prompt(i18n("dialogText")).done(function(summary) {
td2SS.appendChild(document.createTextNode(' | '));
if (summary) {
td2SS.appendChild(a1SS);
window.location.assign(
 
rollbackUrl + "&summary=" + encodeURIComponent(summary) +
var tr2SS = document.createElement('TR');
"&usingRollbackSummaryGadget=1"
tr2SS.appendChild(td2SS);
);
var tbodySS = document.createElement('TBODY');
} else if (summary === "") {
tbodySS.appendChild(tr1SS);
mw.notify(i18n("noSummary"), {
tbodySS.appendChild(tr2SS);
title: i18n("notPerformed")
var tableSS = document.createElement('TABLE');
});
tableSS.className = 'slideshowTable';
} else {
tableSS.appendChild(tbodySS);
mw.notify(i18n("actionCancelled"), {
tables[2].parentNode.insertBefore(tableSS, tables[2]);
title: i18n("notPerformed")
 
});
// start the show
}
currentImage = 1;
});
toggleSlideShowImage(0);
}
}
 
function bypassRollbackConfirmation() {
addOnloadHook(initSlideShow);
// This function bypasses the confirmation message that shows up when performing
// rollbacks, if the user has the "showrollbackconfirmation" option enabled
if (mw.util.getParamValue("usingRollbackSummaryGadget") === "1") {
if (mw.user.options.get("showrollbackconfirmation") === "1") {
$("button[type='submit']", mw.util.$content).eq(0).click();
}
}
}
mw.hook("wikipage.content").add(addSummaryLinks);
if (mw.config.get("wgAction") === "rollback") {
bypassRollbackConfirmation();
}
})();

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

/*
 * Adds option to add summary to rollback revets.
 * Written by [[:he:User:Yonidebest]] based on [[:en:User:Ilmari Karonen]]'s script.
 * Translated to Hebrew by [[User:ברק שושני]]
 * Rewritten by [[User:קיפודנחש]] and [[User:Guycn2]]
 *
 */ 
(function() {
	
	"use strict";
	
	function i18n(key) {
		switch (mw.config.get("wgUserLanguage")) {
			case "he":
				switch (key) {
					case "summaryLinkTooltip":
						return "שחזור מהיר עם תקציר";
					case "summaryLinkText":
						return "תקציר";
					case "dialogText":
						return "נא להזין תקציר לשחזור:";
					case "notPerformed":
						return "השחזור לא בוצע";
					case "noRollbackUrl":
						return "כתוצאה משגיאה בלתי צפויה, לא ניתן היה לאתר את כתובת השחזור.";
					case "noSummary":
						return "לא הוזן תקציר.";
					case "actionCancelled":
						return "הפעולה בוטלה.";
				}
				break;
			default:
				switch (key) {
					case "summaryLinkTooltip":
						return "Rollback with summary";
					case "summaryLinkText":
						return "summary";
					case "dialogText":
						return "Please enter rollback summary:";
					case "notPerformed":
						return "Rollback was not performed";
					case "noRollbackUrl":
						return "Due to an unexpected error, the rollback URL could not be detected.";
					case "noSummary":
						return "No summary was entered.";
					case "actionCancelled":
						return "Action was cancelled.";
				}
		}
		return key;
	}
	
	function addSummaryLinks(content) {
		$(".mw-rollback-link", content).append(
			" | ",
			$("<a>", {
				"class": "rollback-summary-link",
				role: "button",
				href: "#",
				title: i18n("summaryLinkTooltip"),
				text: i18n("summaryLinkText"),
				click: rollbackWithSummary
			})
		);
	}
	
	function rollbackWithSummary(event) {
		event.preventDefault();
		var $summaryLink = $(event.target);
		var rollbackUrl = $summaryLink
							.siblings("a:first[href*='&action=rollback']")
							.attr("href");
		if (typeof rollbackUrl === "undefined") {
			rollbackUrl = $summaryLink
							.siblings(".jquery-confirmable-wrapper")
							.find("a:first[href*='&action=rollback']")
							.attr("href");
			if (typeof rollbackUrl === "undefined") {
				mw.notify(i18n("noRollbackUrl"), {
					title: i18n("notPerformed"),
					type: "error"
				});
				return;
			}
		}
		OO.ui.prompt(i18n("dialogText")).done(function(summary) {
			if (summary) {
				window.location.assign(
					rollbackUrl + "&summary=" + encodeURIComponent(summary) +
					"&usingRollbackSummaryGadget=1"
				);
			} else if (summary === "") {
				mw.notify(i18n("noSummary"), {
					title: i18n("notPerformed")
				});
			} else {
				mw.notify(i18n("actionCancelled"), {
					title: i18n("notPerformed")
				});
			}
		});
	}
	
	function bypassRollbackConfirmation() {
		// This function bypasses the confirmation message that shows up when performing
		// rollbacks, if the user has the "showrollbackconfirmation" option enabled
		if (mw.util.getParamValue("usingRollbackSummaryGadget") === "1") {
			if (mw.user.options.get("showrollbackconfirmation") === "1") {
				$("button[type='submit']", mw.util.$content).eq(0).click();
			}
		}
	}
	
	mw.hook("wikipage.content").add(addSummaryLinks);
	
	if (mw.config.get("wgAction") === "rollback") {
		bypassRollbackConfirmation();
	}
	
})();