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

מתוך אוצר הספרים היהודי השיתופי
קפיצה לניווט קפיצה לחיפוש
אין תקציר עריכה
אין תקציר עריכה
 
(26 גרסאות ביניים של אותו משתמש אינן מוצגות)
שורה 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
// סקריפט לצנזור שם ה' - נכתב ע"י [[user:Neriah]]
$(function(){
//if (
   
//  mw.config.get('wgNamespaceNumber') === 0 ||
function save(title, summary, content, section, next) {
// mw.config.get('wgNamespaceNumber') === 106 ||
var param = {action: 'edit', title: title, summary: summary, token: mw.user.tokens.get('csrfToken'), section: section || '0', appendtext: content, format: 'json'};
// mw.config.get('wgNamespaceNumber') === 14
$.post(mw.util.wikiScript('api'), param, function(data) {
//)
if (data && data.error)
{
mw.util.jsMessage('שגיאה בשמירה: ' + data.error['info']);
  var buttonSpan = document.createElement("span");
else if (data && data.edit && data.edit.result == 'Success' && typeof next == 'function')
  buttonSpan.className = "plainlinks mw-ui-button";
next();
  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], "שדי");
    }
  });
}
}
*/
function addMenuItem(caption, tooltip, section, message, summary, accessKey, replaceParam) {
 
if (replaceParam) {
var buttonSpan = document.createElement("span");
var r = /replaceParam/g;
buttonSpan.className = "plainlinks mw-ui-button";
tooltip = tooltip.replace(r, replaceParam);
buttonSpan.innerText = "הסר ניקוד";
message = message.replace(r, replaceParam);
 
summary = summary.replace(r, replaceParam);
var buttonDiv = document.createElement("div");
}
buttonDiv.className = "mw-parser-output";
var a = mw.util.addPortletLink('p-cactions','#',caption,'',tooltip,(accessKey||''));
buttonDiv.style.display = "inline-block";
$(a).click(function() {
buttonDiv.style.verticalAlign = "left";
var reason = prompt("הסיבה לבקשה:");
buttonDiv.appendChild(buttonSpan);
if ($.trim(reason) == '')
 
return;
var heading = document.getElementById('firstHeading');
message += ' - ' + reason + ' ~~' + '~~';
 
save('אוצר:בקשות ממפעילים', summary, '\n\n* ' + message, section, function() { mw.util.jsMessage('בקשתך נשמרה בדף הבקשות מהמפעילים');});
heading.appendChild(buttonDiv);
});
 
}
buttonSpan.addEventListener("click", function() {
  var elements = document.body.getElementsByTagName("*");
var ca = $.inArray(mw.config.get('wgNamespaceNumber'), [6, 14]) + 1 ?  ':' : '';
  for (var i = 0; i < elements.length; i++) {
var pageName = mw.config.get('wgPageName').replace( /_/g, " " );
    elements[i].innerHTML = elements[i].innerHTML.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') + '|טקסט=גרסה זו}}', '/* בקשות מחיקת גרסאות מסוימות */ בקשה להסתרת גרסה','[');
});
});

גרסה אחרונה מ־15:49, 12 בינואר 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
//)
{
  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], "שדי");
    }
  });
}
*/

var buttonSpan = document.createElement("span");
buttonSpan.className = "plainlinks mw-ui-button";
buttonSpan.innerText = "הסר ניקוד";

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

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

heading.appendChild(buttonDiv);

buttonSpan.addEventListener("click", function() {
  var elements = document.body.getElementsByTagName("*");
  for (var i = 0; i < elements.length; i++) {
    elements[i].innerHTML = elements[i].innerHTML.replace(/[֑-ֽֿׁ-ׇׇ]*/g, "");
  }
});