משתמש:רובין בוט/הפניות.js
קפיצה לניווט
קפיצה לחיפוש
הערה: לאחר הפרסום, ייתכן שיהיה צורך לנקות את זיכרון המטמון (cache) של הדפדפן כדי להבחין בשינויים.
- פיירפוקס / ספארי: להחזיק את המקש Shift בעת לחיצה על טעינה מחדש (Reload) או ללחוץ על צירוף המקשים Ctrl-F5 או Ctrl-R (במחשב מק: ⌘-R).
- גוגל כרום: ללחוץ על צירוף המקשים Ctrl-Shift-R (במחשב מק: ⌘-Shift-R).
- אינטרנט אקספלורר / אדג': להחזיק את המקש Ctrl בעת לחיצה על רענן (Refresh) או ללחוץ על צירוף המקשים Ctrl-F5.
- אופרה: ללחוץ על Ctrl-F5.
mw.loader.using(["jquery.spinner", "mediawiki.diff.styles", "mediawiki.api"]).then(() => {
// פונקציה לשליפת הפניות מחב"דפדיה
function getAll() {
var PageNameLocal = mw.config.get("wgPageName");
var checkParams = {
action: "query",
format: "json",
prop: "linkshere",
indexpageids: 1,
lhprop: "title",
lhshow: "redirect",
lhnamespace: "0",
lhlimit: "max",
titles: decodeURIComponent(PageNameLocal),
origin: "*",
};
var apiEndpoint = "https://chabadpedia.com/w/api.php";
$.ajax({
url: apiEndpoint,
data: checkParams,
dataType: "json",
})
.done(function (result) {
if (!result || !result.query) return;
var pages = result.query.pages[result.query.pageids[0]];
if (!pages.linkshere) return;
for (var l of pages.linkshere) {
var oneRedirect = l.title;
checkChabadTzitut(oneRedirect);
}
});
}
// בדיקה אם ההפניה קיימת בציטוט
function checkChabadTzitut(oneRedirect) {
fetch(
"https://zitut.chabadpedia.com/w/api.php?action=query&prop=info|revisions&titles=" +
encodeURIComponent(oneRedirect) +
"&indexpageids=true&rvlimit=1&rvprop=size|ids&format=json&origin=*"
)
.then((response) => response.json())
.then(function (result) {
if (result && result.query) {
if (result.query.pageids[0] == "-1") {
// לא קיים בציטוט → מייבא
saveChabadTzitut(oneRedirect);
}
}
});
}
// שמירה בציטוט
function saveChabadTzitut(page) {
var apiEndpoint =
"https://chabadpedia.com/w/api.php?action=parse&page=" +
encodeURIComponent(page) +
"&format=json&prop=wikitext&origin=*";
fetch(apiEndpoint)
.then((response) => response.json())
.then(function (result) {
if (result && result.parse) {
var textpage = result.parse.wikitext["*"];
var red = decodeURIComponent(result.parse.title);
if (confirm("ההפניה הבאה קיימת בחב\"דפדיה:\n " + red + "\nלייבא לחב\"דציטוט?")) {
$.post(
"https://zitut.chabadpedia.com/w/api.php",
{
action: "edit",
format: "json",
tags: "ייבוא-הפניות",
bot: 1,
watchlist: "nochange",
recreate: false,
title: result.parse.title,
text: textpage,
token: mw.user.tokens.get("csrfToken"),
},
function (data) {
if (data && data.edit) {
mw.notify("ייבוא ההפניה \"" + decodeURIComponent(data.edit["title"]) + "\" הושלם בהצלחה");
} else {
console.log(data);
}
}
);
}
}
})
.catch((error) =>
mw.notify("אירעה שגיאה בייבוא ההפניה. תיאור השגיאה הוא: " + error)
);
}
// הפעלה
if (
mw.config.get("wgArticleId") > 0 &&
mw.config.get("wgNamespaceNumber") === 0 &&
mw.config.get("wgPageName") != "עמוד_ראשי" &&
mw.config.get("wgAction") === "view" &&
location.href.indexOf("&diff") == -1
) {
getAll();
}
});