לדלג לתוכן

מדיה ויקי: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);
  }
});