מדיה ויקי:Group-sysop.js
מראה
לתשומת ליבך: לאחר הפרסום, ייתכן שיהיה צורך לנקות את זיכרון המטמון (cache) של הדפדפן כדי להבחין בשינויים.
- פיירפוקס / ספארי: להחזיק את המקש Shift בעת לחיצה על טעינה מחדש (Reload) או ללחוץ על צירוף המקשים Ctrl-F5 או Ctrl-R (במחשב מק: ⌘-R).
- גוגל כרום: ללחוץ על צירוף המקשים Ctrl-Shift-R (במחשב מק: ⌘-Shift-R).
- אדג': להחזיק את המקש Ctrl בעת לחיצה על רענן (Refresh) או ללחוץ על צירוף המקשים Ctrl-F5.
/* כל סקריפט JavaScript שנכתב כאן ירוץ רק עבור מפעילי מערכת */
if (mw.config.get("wgCanonicalSpecialPageName") == "Undelete") {
importScript("MediaWiki:SelectAllunDel.js"); // כפתור "סימון כל הגרסאות" בדף שחזור הגרסאות
}
$(function () {
const pageName = mw.config.get("wgPageName");
const api = new mw.Api();
/* מחיקת הפניות בעת מחיקת דף
נכתב ע"י [[משתמש:גאון הירדן]]
*/
if (
mw.config.get("wgAction") === "delete" &&
$("#firstHeading").text().indexOf("הפעולה בוצעה") > -1
) {
api
.get({
prop: "redirects",
titles: pageName,
formatversion: "2",
rdlimit: "20",
})
.then(function (response) {
const query = response.query;
if (!query.pages[0].redirects) return;
if (confirm("יש לדף הפניות, למחוק אותן?")) {
const redirects = query.pages[0].redirects;
for (let i = 0; i < redirects.length; i++) {
api
.postWithEditToken({
action: "delete",
format: "json",
title: redirects[i].title,
reason: "הפניה לדף שנמחק",
})
.then(function (data) {
if (data && data["delete"]) {
mw.notify("נמחקה ההפניה: " + redirects[i].title);
}
})
.catch(function (error) {
console.error("Error deleting redirect " + redirects[i].title + ":", error);
});
}
}
})
.catch(console.error);
}
/* הצגת רשימת דפים מקושרים בעת מחיקת דף
נכתב ע"י [[משתמש:גאון הירדן]]
*/
if (mw.config.get("wgAction") === "delete") {
api
.get({
prop: "linkshere",
titles: pageName,
formatversion: "2",
lhprop: "title|redirect",
lhlimit: "max",
})
.then(function (response) {
const query = response.query;
if (!query.pages[0].linkshere) return;
$("<div>", {
class: "hewiki-columns-nobreak-list",
})
.append($("<ul>"))
.appendTo(".mw-message-box-warning");
const rootElement = $(".hewiki-columns-nobreak-list > ul");
const links = query.pages[0].linkshere;
for (let i = 0; i < links.length; i++) {
const linkElement = $("<a>", {
href: "/" + encodeURIComponent(links[i].title),
text: links[i].title,
});
if (links[i].redirect) {
linkElement.addClass("mw-redirect");
}
$("<li>").append(linkElement).appendTo(rootElement);
}
})
.catch(console.error);
}
});