משתמש:Neriah/common.js: הבדלים בין גרסאות בדף

מתוך אוצר הספרים היהודי השיתופי
קפיצה לניווט קפיצה לחיפוש
אין תקציר עריכה
אין תקציר עריכה
שורה 11: שורה 11:
mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Joeytje50/JWB.js&action=raw&ctype=text/javascript');
mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Joeytje50/JWB.js&action=raw&ctype=text/javascript');


//ניסוי לגאדג'אט של מחיקה הגנה וחסימה
if(mw.config.get('wgNamespaceNumber') + 1) // not a special page
$(function(){
function save(title, summary, content, section, next) {
var param = {action: 'edit', title: title, summary: summary, token: mw.user.tokens.get('csrfToken'), section: section || '0', appendtext: content, format: 'json'};
$.post(mw.util.wikiScript('api'), param, function(data) {
if (data && data.error)
mw.util.jsMessage('שגיאה בשמירה: ' + data.error['info']);
else if (data && data.edit && data.edit.result == 'Success' && typeof next == 'function')
next();
});
}
function addMenuItem(caption, tooltip, section, message, summary, accessKey, replaceParam) {
if (replaceParam) {
var r = /replaceParam/g;
tooltip = tooltip.replace(r, replaceParam);
message = message.replace(r, replaceParam);
summary = summary.replace(r, replaceParam);
}
var a = mw.util.addPortletLink('p-cactions','#',caption,'',tooltip,(accessKey||''));
$(a).click(function() {
var reason = prompt("הסיבה לבקשה:");
if ($.trim(reason) == '')
return;
message += ' - ' + reason + ' ~~' + '~~';
save('אוצר:בקשות ממפעילים', summary, '\n\n* ' + message, section, function() { mw.util.jsMessage('בקשתך נשמרה בדף הבקשות מהמפעילים');});
});
}
var ca = $.inArray(mw.config.get('wgNamespaceNumber'), [6, 14]) + 1 ?  ':' : '';
var pageName = mw.config.get('wgPageName').replace( /_/g, " " );
var pageLink = $('.redirectMsg').length ? '{{ללא הפניה|replaceParam}}' : '[[' + ca + 'replaceParam]]';
if(wgIsArticle) addMenuItem('מחיקה', 'בקשה למחיקת דף זה', 1, pageLink, '/* בקשות מחיקה */ [[replaceParam]]','d', pageName);
addMenuItem('הגנה', 'בקשה להגנה/ביטול ההגנה על דף זה', 3, pageLink, '/* בקשות הגנה / הסרת הגנה */ [[replaceParam]]','=', pageName);
if(! wgIsArticle) addMenuItem('שחזור', 'בקשה לשחזור דף זה', 7, pageLink, '/* בקשות שחזור או בדיקת דף מחוק */ [[replaceParam]]','d', pageName);
if ($('#t-contributions').length) {
var badUser = mw.config.get('wgTitle').split('/')[0];
addMenuItem('חסימה', 'בקשה לחסימה/ביטול חסימתו של משתמש זה ', 2, "{{לחסום|replaceParam}}", '/* בקשות חסימה / הסרת חסימה */ [[משתמש:replaceParam|replaceParam]] ([[שיחת משתמש:replaceParam|ש]]|[[מיוחד:תרומות/replaceParam|ת]]|[[מיוחד:חסימה/replaceParam|ח]])',']', badUser);
addMenuItem('הרשאות', 'בקשה לשינוי ההרשאות של משתמש זה', 8, "{{הרשאות|replaceParam}}", '/* בקשת הרשאות */ [[משתמש:replaceParam|replaceParam]] ([[שיחת משתמש:replaceParam|ש]]|[[מיוחד:תרומות/replaceParam|ת]]|[[מיוחד:ניהול הרשאות משתמש/replaceParam|נ]])',']', badUser);
}
if (mw.util.getParamValue('oldid') && mw.util.getParamValue('diff'))
addMenuItem('הסתרת גרסה', 'בקשה להסתרת גרסה זו ' , 5, '{{הבדל|' + mw.config.get('wgPageName') + '|' + mw.util.getParamValue('diff') + '|' + mw.util.getParamValue('oldid') + '|טקסט=גרסה זו}}', '/* בקשות מחיקת גרסאות מסוימות */ בקשה להסתרת גרסה','[');
});




var buttonSpan = document.createElement("span");
// סקריפט לצנזור שם ה' - נכתב ע"י [[user:Neriah]]
buttonSpan.className = "plainlinks mw-ui-button";
if (
buttonSpan.innerText = "הסר ניקוד";
  mw.config.get('wgNamespaceNumber') === 0 ||
  mw.config.get('wgNamespaceNumber') === 106 ||
  mw.config.get('wgNamespaceNumber') === 14
) {
  // Check if the script is required before creating the button.
  var plain_text = document.getElementById('mw-content-text').textContent;
  plain_text = plain_text.replaceAll(/[\u0591-\u05BD\u05BF]/g, ''); // Remove Nikkud and Cantillation marks
  const pattern = /(יהוה|אל(וה|ו?הים?)|שדי)/;
  if (!document.querySelector('.law') && pattern.test(plain_text)) {
 
  var buttonSpan = document.createElement("span");
  buttonSpan.className = "plainlinks mw-ui-button";
  buttonSpan.id = "censorButton";
  buttonSpan.innerText = "צנזור שם ה'";
 
  var buttonDiv = document.createElement("div");
  buttonDiv.className = "mw-parser-output";
  buttonDiv.id = "censorButton-div";
  buttonDiv.appendChild(buttonSpan);


var buttonDiv = document.createElement("div");
  var heading = document.getElementById('firstHeading');
buttonDiv.className = "mw-parser-output";
  heading.appendChild(buttonDiv);
buttonDiv.style.display = "inline-block";
buttonDiv.style.verticalAlign = "left";
buttonDiv.appendChild(buttonSpan);


var heading = document.getElementById('firstHeading');
  buttonSpan.addEventListener("click", function() {
    function censore(element, word) {
    let split_str = word.split("");
    const nikud = "[֐-׈/]*"
   
    const reg_list = split_str.reduce((list, elem, i) => {
      list.push(elem, nikud);
      return list;
    }, []);
    reg_list.splice(0, 0, '(');
    reg_list.splice(3, 0, ')', '(');
    reg_list.push(')');
    if (word === "אדני") reg_list[reg_list.length-4] = "[֐-֯/ָּ]*"
   
    const regex = new RegExp(reg_list.join(""), "g");
    element.innerHTML = element.innerHTML.replace(regex, "$1-$2");
    }


heading.appendChild(buttonDiv);
    var elements = document.getElementsByTagName("*");


buttonSpan.addEventListener("click", function() {
    for (var i = 0; i < elements.length; i++) {
  var elements = document.body.getElementsByTagName("*");
      censore(elements[i], "יהוה");
  for (var i = 0; i < elements.length; i++) {
      censore(elements[i], "אדני");
    elements[i].innerHTML = elements[i].innerHTML.replace(/[֑-ֽֿׁ-ׇׇ]*/g, "");
      censore(elements[i], "אלוה");
  }
      censore(elements[i], "אלהי");
});
      censore(elements[i], "אלהים");
      censore(elements[i], "אלוהים");
      censore(elements[i], "צבאות");
      censore(elements[i], "שדי");
    }
  });
}
}

גרסה מ־23:56, 11 בינואר 2024

/** This script contains the code required for loading [[User:Joeytje50/JWB.js]].
 *  All other code is located at that page.
 */

//Idea by [[User:Epicgenius]]
$.when(mw.loader.using(['mediawiki.util'], $.ready)).done( function() {
	mw.util.addPortletLink("p-tb", mw.config.get('wgArticlePath').replace('$1', "Project:AutoWikiBrowser/Script"), "AWB אונליין", "tb-awbscript", "Run Javascript Wiki Browser");
});

if (mw.config.get('wgCanonicalNamespace')+':'+mw.config.get('wgTitle') === 'Project:AutoWikiBrowser/Script' && mw.config.get('wgAction') == 'view')
	mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Joeytje50/JWB.js&action=raw&ctype=text/javascript');



// סקריפט לצנזור שם ה' - נכתב ע"י [[user:Neriah]]
if (
  mw.config.get('wgNamespaceNumber') === 0 ||
  mw.config.get('wgNamespaceNumber') === 106 ||
  mw.config.get('wgNamespaceNumber') === 14
) {
  // Check if the script is required before creating the button.
  var plain_text = document.getElementById('mw-content-text').textContent;
  plain_text = plain_text.replaceAll(/[\u0591-\u05BD\u05BF]/g, ''); // Remove Nikkud and Cantillation marks
  const pattern = /(יהוה|אל(וה|ו?הים?)|שדי)/;
  if (!document.querySelector('.law') && pattern.test(plain_text)) {

  var buttonSpan = document.createElement("span");
  buttonSpan.className = "plainlinks mw-ui-button";
  buttonSpan.id = "censorButton";
  buttonSpan.innerText = "צנזור שם ה'";

  var buttonDiv = document.createElement("div");
  buttonDiv.className = "mw-parser-output";
  buttonDiv.id = "censorButton-div";
  buttonDiv.appendChild(buttonSpan);

  var heading = document.getElementById('firstHeading');
  heading.appendChild(buttonDiv);

  buttonSpan.addEventListener("click", function() {
    function censore(element, word) {
    let split_str = word.split("");
    const nikud = "[֐-׈/]*"
    
    const reg_list = split_str.reduce((list, elem, i) => {
      list.push(elem, nikud);
      return list;
    }, []);
    reg_list.splice(0, 0, '(');
    reg_list.splice(3, 0, ')', '(');
    reg_list.push(')');
    if (word === "אדני") reg_list[reg_list.length-4] = "[֐-֯/ָּ]*"
    
    const regex = new RegExp(reg_list.join(""), "g");
    element.innerHTML = element.innerHTML.replace(regex, "$1-$2");
    }

    var elements = document.getElementsByTagName("*");

    for (var i = 0; i < elements.length; i++) {
      censore(elements[i], "יהוה");
      censore(elements[i], "אדני");
      censore(elements[i], "אלוה");
      censore(elements[i], "אלהי");
      censore(elements[i], "אלהים");
      censore(elements[i], "אלוהים");
      censore(elements[i], "צבאות");
      censore(elements[i], "שדי");
    }
  });
}
}