ผู้ใช้:Jutiphan/Scripts/sidebox/monobook.js

จากวิกิพีเดีย สารานุกรมเสรี

หมายเหตุ: หลังจากบันทึกแล้ว, คุณต้องล้างแคชของเบราว์เซอร์เสียก่อน จึงจะเห็นการเปลี่ยนแปลง: Mozilla/Safari/Konqueror: กด Shift ค้าง แล้วกด Reload (หรือ Ctrl-Shift-R), IE: กด Ctrl-F5, Opera: กด F5

/* <pre><nowiki> */

// ==============================================================
// สคริปต์จัดให้: sidebox module
// Main load function
// 
// Copyright (C) 2006-2007, Jutiphan Mongkolsuthree
// Created: 18/1/2007 Last Modified: 21/1/2007
// Replaced: none
// ==============================================================
addOnloadHook( function() {

  //Add Toolbox
  var stoolbox = document.getElementById('p-tb');
  var ntoolbox = "</div></div><div id=\"p-mScripts\" class=\"portlet\" style=\"margin: 0.5em auto\"><h5>สคริปต์จัดให้ " + iScriptVersion + "</h5><div class=\"pBody\"><ul><li class=\"interwiki-ar\"><a href=\"http://th.wikipedia.org/wiki/วิกิพีเดีย:สคริปต์จัดให้\">สคริปต์จัดให้</a></li></ul></div>";
stoolbox.innerHTML = stoolbox.innerHTML + ntoolbox;

  if(wgIsArticle) {
    addToolboxLink('javascript:listRedLinks()', 'แสดงรายชื่อลิงก์แดง','mt-redLinks','');
    addToolboxLink('javascript:copyvioCheck()','ตรวจสอบลิขสิทธิ์','mt-copyvioCheck','');
  }

  //Redirect related functions
  if (document.title.search(/แก้ไข |แก้ชนกัน/) != 0) {
    addToolboxLink('javascript:redire_other()','เปลี่ยนทางมาที่นี่','mt-redirect','`');
  }

  if (location.href.indexOf('&action=edit&jsaction=Redirect&target=') != -1) {
    var page = decodeURI(location.href.split('&target=')[1]);
    var redirect = '#REDIRECT [[' + page + ']]';
    var message = 'โปรดทราบ: หน้าเปลี่ยนทางนี้ได้มีสร้างไว้แล้ว จะเขียนทับหรือไม่?';
    
    if (document.editform.wpTextbox1.value != '') {
      var override = confirm(message);
      if (!override) {
        return;
      }
    }
    document.editform.wpTextbox1.value = redirect;
    document.editform.wpSummary.value = 'เปลี่ยนทางมาที่[[' + page + ']] ด้วย[[WP:iScript|สคริปต์จัดให้]]';
    var form = document.getElementById('bodyContent');
    l = form.getElementsByTagName('input');
    for (var i = 0; i < l.length; i++) {
      if (l[i].name == 'wpMinoredit') {
        l[i].value = '1'; l[i].checked=true; break;
      }
    }
  }
});



function redire_other() {
  //var page = document.title.replace('แก้ไข ','').replace('แก้ชนกัน','').split(' - ')[0];
  var page = getPname();

  var txt = getSelText();
  if (!txt || txt == '') {
    var txt = prompt('ไม่พบข้อความที่เลือก กรุณาใส่ชื่อหน้าเปลี่ยนทาง:');
  }
  if (!txt || txt == '') {
    var txt = prompt('ไม่พบข้อความที่เลือก กรุณาใส่ชื่อหน้าเปลี่ยนทาง:');
  }
  if (!txt || txt == '') {
    return;
  }

  URL = 'http://th.wikipedia.org/w/index.php?title=' + txt + '&action=edit&jsaction=Redirect&target=' + encodeURI(page);
  URL = URL.replace(' &action','&action');
  location.href = URL;
}



function listRedLinks() {
  var output = document.getElementById("redLinks");
  if(output) {
    output.parentNode.removeChild(output);
  }
  var len = document.links.length;
  var contentLinks = len; //Note: This will be adjusted later
  if(is_gecko) {
    contentLinks -= 9;
  } else {
    contentLinks -= 9;
  }
  output = document.createElement('div');
  output.id = "redLinks";
  output.innerHTML = "<h2>รายชื่อลิงก์แดง</h2>";
  var redLinks = 0;

  var ul = document.createElement("ul");
  for (var i=0; i<len; ++i) {
    if (document.links[i].className == "new") {
      redLinks = redLinks + 1;

      var li = document.createElement("li");
      var l = document.links[i].cloneNode(true);
      li.appendChild(l);
      ul.appendChild(li);
    }
  }

  if (redLinks > 0){
    var contentSub = document.getElementById('contentSub');

    contentLinks -= contentSub.getElementsByTagName('a').length; //Sub possible redirect link
    
    var cElement = document.getElementById('toc');
    if(cElement) {
      contentLinks -= cElement.getElementsByTagName('a').length; //sub toc links
    }

    cElement = document.getElementById('catlinks');
    if(cElement) {
      contentLinks -= cElement.getElementsByTagName('a').length; //sub cat links
    }

    var pElements = getElementsByClassName(document,'span','editsection'); //sub edit section links
    for (var i=0; i<pElements.length;i++) {
      contentLinks -= pElements[i].getElementsByTagName('a').length;
    }

    pElements = getElementsByClassName(document,'div','pBody'); //sub various interface links
    for (var i=0; i<pElements.length;i++) {
      contentLinks -= pElements[i].getElementsByTagName('a').length;
    }

    pElements = getElementsByClassName(document,'sup','reference'); //sub reference links
    for (var i=0; i<pElements.length;i++) {
      contentLinks -= pElements[i].getElementsByTagName('a').length;
    }

    pElements = getElementsByClassName(document,'ol','references'); //sub references list links
    for (var i=0; i<pElements.length;i++) {
      contentLinks -= pElements[i].getElementsByTagName('a').length;
    }

    pElements = getElementsByClassName(document,'a','internal');
    if(pElements) {
      contentLinks -= pElements.length; //sub internal links
    }

    pElements = getElementsByClassName(document,'a','image');
    if(pElements) {
      contentLinks -= pElements.length; //sub image links
    }

    var percentage = (redLinks/contentLinks) * 100;
    output.innerHTML = output.innerHTML + "<p>บทความนี้มี " + redLinks + " ลิงก์แดงจาก " + contentLinks + " ลิงก์ทั้งหมดในบทความ หรือคิดเป็น " + percentage.toFixed(2) + "% <small>(ตัวเลขประมาณการ หลังจากหักลิงก์เมนู/ป้าย ลิงก์เปลี่ยนทาง ลิงก์สารบัญ ลิงก์แก้ ลิงก์ภาพ ลิงก์อ้างอิง ลิงก์หมวดหมู่ ลิงก์ภาษา แต่ไม่รวมถึงลิงก์ในแม่แบบ ป้ายแสดงข้อความ หรือลิงก์ต้องการอ้างอิง)</small></p>";

    output.appendChild(ul);
    output.appendChild(document.createElement('hr'));
    contentSub.parentNode.insertBefore(output,contentSub);

  } else {
    alert("ไม่พบลิงก์แดงในบทความที่เลือก");
  }

  document.getElementById('mt-redLinks').childNodes[0].blur();
  window.scrollTo(0,0);
}

function copyvioCheck() {

  var txt = getSelText();
  if(txt == null || txt.length == 0) {
    txt = getPname();
  }
  openInNewWindow(iScriptConfig.searchURL + encodeURI(txt));
}


/* </nowiki></pre> */