مدیاویکی:Common.js

از ویکی‌خبر، مرجع خبری آزاد

نکته: پس از انتشار ممکن است برای دیدن تغییرات نیاز باشد که حافظهٔ نهانی مرورگر خود را پاک کنید.

  • فایرفاکس / سافاری: کلید Shift را نگه دارید و روی دکمهٔ Reload کلیک کنید، یا کلید‌های Ctrl-F5 یا Ctrl-R را با هم فشار دهید (در رایانه‌های اپل مکینتاش کلید‌های ⌘-R)
  • گوگل کروم: کلیدهای Ctrl+Shift+R را با هم فشار دهید (در رایانه‌های اپل مکینتاش کلید‌های ⌘-Shift-R)
  • اینترنت اکسپلورر/ Edge: کلید Ctrl را نگه‌دارید و روی دکمهٔ Refresh کلیک کنید، یا کلید‌های Ctrl-F5 را با هم فشار دهید
  • اپرا: Ctrl-F5 را بفشارید.
/* Any JavaScript here will be loaded for all users on every page load. */

/** Magic editintros ****************************************************
 *
 *  Description: Adds editintros on disambiguation pages and BLP pages.
 *  Maintainers: [[User:RockMFR]]
 */

function addEditIntro(name) {
  var el = document.getElementById('ca-edit');
  if (!el) return;
  el = el.getElementsByTagName('a')[0];
  if (el) el.href += '&editintro=' + name;
}

if (mw.config.get('wgNamespaceNumber') == 0) {
  $(function () {
    if (document.getElementById('disambig') || document.getElementById('disambigbox')) addEditIntro('Template:Disambig_editintro');
  });

  $(function () {
    var cats = document.getElementById('mw-normal-catlinks');
    if (!cats) return;
    cats = cats.getElementsByTagName('a');
    for (var i = 0; i < cats.length; i++) {
      if (cats[i].title == 'رده:منتشرشده') {
        addEditIntro('Template:Editintro_notcurrent');
        break;
      }
    }
  });
}

// ==============================
// Force IP to preview before saving changes.
// Copyright Marc Mongenet, 2006

function forcePreview() {
  if (mw.config.get('wgUserName') !== null) return;
  if (document.getElementById('editpage-copywarn')) {
    var saveButton = document.getElementById("wpSave");
    var oldHTML = document.getElementById('editpage-copywarn').innerHTML;
    var newHTML = oldHTML + '<p style="width:100%;background-color:#FFE4E1;border:2px solid #700050; color:#000000; font-size:90%; padding:2px;">شما با نام کاربری وارد نشده\u200cاید، بدین منظور برای فعال\u200cسازی دکمهٔ <b>«صفجه ذخیر شود»</b> ابتدا باید از تغییرات پیش\u200cنمایش بگیرید، توجه داشته باشید که ویرایش شما با آی\u200cپی شما ثبت می\u200cشود، می\u200cتوانید ابتدا <a href="//fa.wikinews.org/wiki/Special:Login/signup" target="_blank">ثبت نام کنید</a>، اگر در حال حاضر در ویکی\u200cخبر و یا در دیگر پروژه\u200cهای بنیاد ویکی\u200cمدیا حساب کاربری دارید می\u200cتوانید به سیستم <a href="//fa.wikinews.org/wiki/Special:Login" target="_blank">وارد شوید</a>، برای اطلاعات بیشتر <a href="//fa.wikinews.org/wiki/%D9%88%DB%8C%DA%A9%DB%8C%E2%80%8C%D8%AE%D8%A8%D8%B1:%D9%88%D8%B1%D9%88%D8%AF_%DB%8C%DA%A9%D9%BE%D8%A7%D8%B1%DA%86%D9%87" target="_blank">ویکی\u200cخبر:ورود یکپارچه</a> را بخوانید.</p>';
    if (!saveButton) return;
    if (location.search.search(/&action=edit/) == -1) return;
    document.getElementById('editpage-copywarn').innerHTML = newHTML;
    saveButton.disabled = true;
    saveButton.style.fontWeight = "normal";
    document.getElementById("wpPreview").style.fontWeight = "bold";
  }
}
$(forcePreview);

  //For Change [[Special:Upload]] to [[Project:Upload]]

  function ModifySidebar(action, section, name, link) {
    try {
      switch (section) {
      case "languages":
        var target = "p-lang";
        break;
      case "toolbox":
        var target = "p-tb";
        break;
      case "navigation":
        var target = "p-navigation";
        break;
      default:
        var target = "p-" + section;
        break;
      }

      if (action == "add") {
        var node = document.getElementById(target).getElementsByTagName('div')[0].getElementsByTagName('ul')[0];

        var aNode = document.createElement('a');
        var liNode = document.createElement('li');

        aNode.appendChild(document.createTextNode(name));
        aNode.setAttribute('href', link);
        liNode.appendChild(aNode);
        liNode.className = 'plainlinks';
        node.appendChild(liNode);
      }

      if (action == "remove") {
        var list = document.getElementById(target).getElementsByTagName('div')[0].getElementsByTagName('ul')[0];

        var listelements = list.getElementsByTagName('li');

        for (var i = 0; i < listelements.length; i++) {
          if (listelements[i].getElementsByTagName('a')[0].innerHTML == name || listelements[i].getElementsByTagName('a')[0].href == link) {

            list.removeChild(listelements[i]);
          }
        }
      }

    } catch (e) {
      // lets just ignore what's happened
      return;
    }
  }

  /** Main Page layout fixes *********************************************************
   *
   *  Description: Adds an additional link to the complete list of languages available.
   *  Maintainers: [[User:AzaToth]], [[User:R. Koot]], [[User:Alex Smotrov]]
   */

  if (mw.config.get('wgPageName') == 'صفحهٔ_اصلی' || mw.config.get('wgPageName') == 'بحث:صفحه_اصلی') $(function () {
  	mw.loader.using(['mediawiki.util']).done(function () {
       mw.util.addPortletLink('p-lang', '//meta.wikimedia.org/w/index.php?title=Wikinews/fa&uselang=fa&rtl=1', 'فهرست کامل', 'interwiki-completelist', 'فهرست کامل')
    })
  })

//end
//Comment tabs
mw.loader.load(mw.config.get('wgServer')+mw.config.get('wgScript')+'?title=MediaWiki:Comments.js&action=raw&ctype=text/javascript');
//end Comment tabs

//start ticker

$(document).ready(function() {
if ((window.disable_ticker2 !== true) && (document.getElementById("singleTickerForPage") || document.getElementById('enableTickers')))
mw.loader.load(mw.config.get('wgServer')+mw.config.get('wgScript')+'?title=MediaWiki:ticker2.js&action=raw&ctype=text/javascript');
});
//end

// seo experimental hack
if(['Recentchanges','Whatlinkshere'].indexOf(mw.config.get('wgCanonicalSpecialPageName'))!=-1) {
	var robots_tag = $('meta[name=robots]');
	var robots = robots_tag.attr('content').split(',');
	var nofollow_index = robots.indexOf('nofollow');
	if(nofollow_index!=-1)
	{
		robots.pop(nofollow_index);
	}
	robots_tag.attr('content',robots.join(','));
}

mw.loader.load(mw.config.get('wgServer')+mw.config.get('wgScript')+'?title=MediaWiki:Common.css/'+encodeURI(mw.config.get('wgPageName'))+'&action=raw&ctype=text/css', 'text/css');
mw.loader.load(mw.config.get('wgServer')+mw.config.get('wgScript')+'?title=MediaWiki:Common.js/'+encodeURI(mw.config.get('wgPageName'))+'&action=raw&ctype=text/javascript');