หมายเหตุ: หลังเผยแพร่ คุณอาจต้องล้างแคชเว็บเบราว์เซอร์ของคุณเพื่อดูการเปลี่ยนแปลง

  • ไฟร์ฟอกซ์ / ซาฟารี: กด Shift ค้างขณะคลิก Reload หรือกด Ctrl-F5 หรือ Ctrl-R (⌘-R บนแมค)
  • กูเกิล โครม: กด Ctrl-Shift-R (⌘-Shift-R บนแมค)
  • อินเทอร์เน็ตเอกซ์พลอเรอร์ และ Edge: กด Ctrl ค้างขณะคลิก Refresh หรือกด Ctrl-F5
  • โอเปร่า: กด Ctrl-F5
// ==============================================================
// สคริปต์จัดให้: sidebox module
//
// Copyright (C) 2006-2022, Jutiphan Mongkolsuthree
// 2021-2022, Bebiezaza
// 
// Created: 18/01/2007
// Rewritten: 24/10/2021
// Replaced: none
// ==============================================================
/* <pre><nowiki> */

// create buttons
function createSidebox() {
    makeSidebox("สคริปต์จัดให้ " + iScriptVersion, "p-iScriptTools", "p-tb");
    addToolboxLink(mw.config.get("wgServer") + "/wiki/" + iScriptConfig.pageLink, "สคริปต์จัดให้", "mt-iScriptLink", "");
    if (mw.config.get("wgIsArticle")) {
        addToolboxLink("javascript:listRedLinks()", "แสดงรายชื่อลิงก์แดง", "mt-redLinks", "");
        addToolboxLink("javascript:copyvioCheck()", "ตรวจสอบลิขสิทธิ์", "mt-copyvioCheck", "");
    }
    if (document.title.search(/(กำลัง)?แก้ไข |แก้ชนกัน/) != 0) {
        addToolboxLink("javascript:createRedirect()", "เปลี่ยนทางมาที่นี่", "mt-redirect", "");
    }

    if ((iScriptConfig.bookmark1[0].length || iScriptConfig.bookmark2[0].length || iScriptConfig.bookmark3[0].length || iScriptConfig.bookmark4[0].length || iScriptConfig.bookmark5[0].length) > 0) {
        makeSidebox("คั่นหน้า", "p-iBookmarks", "p-iScriptTools");
    }
    if (iScriptConfig.bookmark1[0].length > 0) {
        addBookmarkLink(mw.config.get("wgScript") + "?title=" + iScriptConfig.bookmark1[0], iScriptConfig.bookmark1[1], "mt-BookmarkLink1", "");
    }
    if (iScriptConfig.bookmark2[0].length > 0) {
        addBookmarkLink(mw.config.get("wgScript") + "?title=" + iScriptConfig.bookmark2[0], iScriptConfig.bookmark2[1], "mt-BookmarkLink2", "");
    }
    if (iScriptConfig.bookmark3[0].length > 0) {
        addBookmarkLink(mw.config.get("wgScript") + "?title=" + iScriptConfig.bookmark3[0], iScriptConfig.bookmark3[1], "mt-BookmarkLink3", "");
    }
    if (iScriptConfig.bookmark4[0].length > 0) {
        addBookmarkLink(mw.config.get("wgScript") + "?title=" + iScriptConfig.bookmark4[0], iScriptConfig.bookmark4[1], "mt-BookmarkLink4", "");
    }
    if (iScriptConfig.bookmark5[0].length > 0) {
        addBookmarkLink(mw.config.get("wgScript") + "?title=" + iScriptConfig.bookmark5[0], iScriptConfig.bookmark5[1], "mt-BookmarkLink5", "");
    }
}

// execute functions
function listRedLinks() {
    var redLinksList = document.getElementById("iScriptRedLinks");
    if (redLinksList) redLinksList.remove();

    var allLinks = document.getElementById("mw-content-text").getElementsByTagName("a");
    var linkListParent = document.createElement("ul");

    for (var i = 0; i < allLinks.length; i++) {
        if (allLinks[i].className == "new") {
            var linkList = document.createElement("li");
            var link = allLinks[i].cloneNode(true);
            linkList.appendChild(link);
            linkListParent.appendChild(linkList);
        }
    }

    if (linkListParent.childElementCount == 0) return alert("ไม่พบลิงก์แดงในบทความที่เลือก");

    var content = document.getElementById('mw-content-text');
    
    var redLinksHide_before = createElement('span', "[", {
        'class': "mw-editsection-bracket"
    });
    var redLinksHide_function = createElement('a', "ซ่อน", {
        'href': "javascript:hideRedLinksList()"
    });
    var redLinksHide_after = createElement('span', "]", {
        'class': "mw-editsection-bracket"
    });
    var redLinksHide = createElement('span', [redLinksHide_before, redLinksHide_function, redLinksHide_after], {
        'class': "mw-editsection"
    });

    var redLinksListHeader = createElement('h2', ["รายชื่อลิงก์แดง: บทความนี้มี " + linkListParent.childElementCount + " ลิงก์แดง", redLinksHide]);
    redLinksList = createElement('div', [redLinksListHeader, linkListParent], {
        'id': "iScriptRedLinks"
    });
    redLinksList.appendChild(document.createElement('hr'));
    content.parentNode.insertBefore(redLinksList, content);
    window.scrollTo(0, 0);
}

function hideRedLinksList() {
    return document.getElementById("iScriptRedLinks").remove();
}

function copyvioCheck() {
    var selection = getSelText();
    if (selection == null || selection.length == 0) selection = mw.config.get("wgPageName");
    openInNewWindow(iScriptConfig.searchURL + encodeURI(selection));
}

function createRedirect() {
    var pageName = mw.config.get("wgPageName");
    var destination = getSelText();
    if (!destination || destination == '') {
        var destination = prompt("ไม่พบข้อความที่เลือก กรุณาใส่ชื่อหน้าเปลี่ยนทาง:");
    }
    if (!destination || destination == '') {
        return mw.notify($('<span style="color: red">ยกเลิกการทำหน้าเปลี่ยนทางแล้ว</span>'));
    }

    var content = iScriptAPI.getPageContent(destination);
    if (content) {
        var confirmation = confirm("โปรดทราบ: หน้าเปลี่ยนทางนี้ได้มีสร้างไว้แล้ว จะเขียนทับหรือไม่?");
        if (!confirmation) return mw.notify($('<span style="color: red">ยกเลิกการทำหน้าเปลี่ยนทางแล้ว</span>'));
    }

    content = "#REDIRECT [[" + pageName + "]]";
    var summary = "เปลี่ยนทางมาที่[[" + pageName + "]] " + iScriptConfig.Tagline;

    mw.notify('กำลังบันทึกไปที่หน้า  ' + destination + ' กรุณารอสักครู่...');
    iScriptAPI.editPageWithCreate(destination, content, summary, false, false);
    location.href = mw.config.get("wgServer") + mw.config.get("wgScript") + "?title=" + destination + "&redirect=no";
}

$(document).ready(function() {
    createSidebox();
});
/* </nowiki></pre> */