משתמש:מ. רובין/ברוך הבא.js
הערה: לאחר הפרסום, ייתכן שיהיה צורך לנקות את זיכרון המטמון (cache) של הדפדפן כדי להבחין בשינויים.
- פיירפוקס / ספארי: להחזיק את המקש Shift בעת לחיצה על טעינה מחדש (Reload) או ללחוץ על צירוף המקשים Ctrl-F5 או Ctrl-R (במחשב מק: ⌘-R).
- גוגל כרום: ללחוץ על צירוף המקשים Ctrl-Shift-R (במחשב מק: ⌘-Shift-R).
- אדג': להחזיק את המקש Ctrl בעת לחיצה על רענן (Refresh) או ללחוץ על צירוף המקשים Ctrl-F5.
$(() => {
const userToolLinks = document.querySelectorAll(".mw-usertoollinks");
userToolLinks.forEach((element) => {
const noContributes = element.querySelector(
"a.mw-usertoollinks-contribs.new"
);
const noTalk = element.querySelector("a.mw-usertoollinks-talk.new");
if (noContributes != null || noTalk == null) return;
const talkPage = noTalk.title.replace("(הדף אינו קיים)", "");
const span = document.createElement("span");
const newElement = document.createElement("a");
newElement.href = "#";
newElement.textContent = "ברוך הבא";
newElement.classList.add("mw-usertoollinks-contribs");
newElement.addEventListener("click", () => {
const name = talkPage.replace("שיחת משתמש:", "");
const message = "{{בה חממה}" + "}~~" + "~~";
let summary;
if (confirm("תרצה להוסיף כותרת אישית למשתמש " + name + "?")) {
summary = prompt("רשום כאן את הכותרת האישית:", "");
} else {
summary = "ברוך בואך";
}
const params = {
action: "query",
format: "json",
prop: "info",
titles: talkPage,
utf8: 1,
};
$.getJSON("/api.php", params, function (data) {
if (data.query.pages["-1"]) {
$.ajax({
url: mw.util.wikiScript("api"),
type: "post",
data: {
action: "edit",
title: talkPage,
summary: summary,
token: mw.user.tokens.get("csrfToken"),
text: message,
format: "json",
},
success: function (data) {
mw.notify("ההודעה בדף " + talkPage + " נשמרה בהצלחה");
},
error: function (data) {
mw.notify("תקלה. התבנית לא נשמרה בדף השיחה של המשתמש");
},
});
} else {
mw.notify("ההודעה בדף " + talkPage + " כבר מופיעה");
}
});
element.removeChild(span);
});
span.appendChild(newElement)
element.appendChild(span);
});
});