משתמש:Yonidebest/monobook.js/templateSC.js

מתוך ויקיפדיה, האנציקלופדיה החופשית

הערה: לאחר הפרסום, ייתכן שיהיה צורך לנקות את זיכרון המטמון (cache) של הדפדפן כדי להבחין בשינויים.

  • פיירפוקס / ספארי: להחזיק את המקש Shift בעת לחיצה על טעינה מחדש (Reload) או ללחוץ על צירוף המקשים Ctrl-F5 או Ctrl-R (במחשב מק: ⌘-R).
  • גוגל כרום: ללחוץ על צירוף המקשים Ctrl-Shift-R (במחשב מק: ⌘-Shift-R).
  • אינטרנט אקספלורר / אדג': להחזיק את המקש Ctrl בעת לחיצה על רענן (Refresh) או ללחוץ על צירוף המקשים Ctrl-F5.
  • אופרה: ללחוץ על Ctrl-F5.
/* Add links to diff pages and reverted pages */
/* Created by [[User:Yonidebest]] */

// default list
var names_tmpls  = ['אזהרה', 'ניסויים', 'תודה', 'ברוך הבא'];
var titles_tmpls = [1, 1, 1, 0]; // 1 = with title, 0 = no title
var welcome_template_number = 3; // -1 = no welcome template in list, otherwise index of welcome template, starting from 0.

function openNewWindow(userName, title, template_number)
{
  var url = 'http://he.wikipedia.org/w/index.php?title=' + encodeURIComponent('שיחת_משתמש:' + userName) + '&action=edit&template_number=' + template_number + '&title_name=' + title;
  var win = window.open(url, '_blank');
}
  
// Add template to talk page
function addTemplate(template_number, title)
{
  var txt = '\n==[[:' + decodeURIComponent(title).replace(/_/g, ' ') + ']]==\n';
  if (titles_tmpls[template_number] == 0)
	txt = "";
  txt += '{{' + names_tmpls[template_number] + '}} ';
  document.editform.wpTextbox1.value += txt + '~~' + '~~\n';
  document.editform.wpSummary.value = names_tmpls[template_number];
  document.editform.wpSave.click();
}

function createTemplateLink(userName, titleName, template_number)
{
    var a_template = document.createElement('a');
    a_template.href = 'javascript:openNewWindow(\'' + userName + '\', \'' + titleName + '\', ' + template_number + ')';
    a_template.appendChild(document.createTextNode(names_tmpls[template_number]));
    a_template.title = "הוסף תבנית " + names_tmpls[template_number];
	return a_template;
}

function templateSC_onload()
{
  if (document.location.href.indexOf('diff') != -1 || wgAction == 'rollback')
  {
    var as = document.getElementById('bodyContent').getElementsByTagName('a');
    var titleName = wgPageName;
    var userName;
	var temp_a;
    var rx = new RegExp('[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}');
    for (var i = 0; i < as.length; i++)
	{
       // עבור משמשים אנונימיים
       var m = rx.test(as[i].title);
       if (as[i].title.indexOf("מיוחד:תרומות") == 0 && m)
	   {
		userName = encodeURIComponent(as[i].title.substring(as[i].title.lastIndexOf("תרומות") + 7, as[i].title.length));
		
		as[i].parentNode.insertBefore(document.createTextNode(')'), as[i].nextSibling); // closing ')'
		
		for (var j = names_tmpls.length -1; j > -1; j--)
		{
			temp_a = createTemplateLink(userName, titleName, j);
			as[i].parentNode.insertBefore(temp_a, as[i].nextSibling);
			if (j != 0)
				as[i].parentNode.insertBefore(document.createTextNode(' | '), as[i].nextSibling);
		}
		
		as[i].parentNode.insertBefore(document.createTextNode(' ('), as[i].nextSibling); // opening '('
       }
    }
  }

  if (wgPageName == 'מיוחד:שינויים_אחרונים' && welcome_template_number != -1)
  {
    var as = document.getElementById('bodyContent').getElementsByTagName('a');
    var userName;
    var rx1 = new RegExp('[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}');
    var rx2 = new RegExp('title=%D7%A9%D7%99%D7%97%D7%AA_%D7%9E%D7%A9%D7%AA%D7%9E%D7%A9:([^&]*)&action=edit');
    for (var i=0; i < as.length; i++) {
       var m1 = rx1.test(as[i].href);
       var m2 = rx2.exec(as[i].href);
       if (m2 && !m1 && as[i].href.indexOf('history') == -1 && as[i].title.indexOf("/") == -1) {
         userName = decodeURIComponent(m2[1]); decodeURIComponent(m2[1]);
         var a_wel = document.createElement('a');
         a_wel.href = 'javascript:openNewWindow(\'' + userName + '\', \'no_title\', ' + welcome_template_number + ')';
         a_wel.style.backgroundColor = 'pink';
         a_wel.appendChild(document.createTextNode("בה"));
         a_wel.title = "הוסף תבנית " + names_tmpls[welcome_template_number];
         var txt1 = document.createTextNode(')');
         var txt2 = document.createTextNode(' (');
         as[i].parentNode.insertBefore(txt1, as[i].nextSibling);
         as[i].parentNode.insertBefore(a_wel, as[i].nextSibling);
         as[i].parentNode.insertBefore(txt2, as[i].nextSibling);
       }
    }
  }

  if (getParamValue('template_number'))
	addTemplate(eval(getParamValue('template_number')), getParamValue('title_name'));
}

$(templateSC_onload);