From Wikipedia, the free encyclopedia
Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.

/** 

 * This script lets you use a custom summary with the rollback feature

 * by adding a "sum" link wherever a rollback link appears. When you

 * click "sum" you are prompted for a custom summary, and the script

 * adds an additional summary parameter to the rollback URL submitting it.

 *

 * For usage and extra options, see [[:en:User:MC10/rollbackSummary]].

 * Borrowed from [[:en:User:Gracenotes/rollback.js]]

 *

 * Linkback: [[User:MC10/rollbackSummary.js]]

 */

 

(function ($, undefined) { // Wrap with jQuery

    function addSumLink() {

        var rbnode = [], diffnode, index = {}, gebcn = document.getElementsByClassName

            ? function(a, b, c) { return a.getElementsByClassName(c) }

            : getElementsByClassName;

        if (typeof window.rollbackLinksDisable === 'object' && $.isArray(window.rollbackLinksDisable)) {

            for (var i = 0; i < window.rollbackLinksDisable.length; i++)

                indexwindow.rollbackLinksDisablei]] = true;

        }

 

        if (!('user' in index) && mw.config.get("wgCanonicalSpecialPageName") === "Contributions" ||

            !('recent' in index) && mw.config.get("wgCanonicalSpecialPageName") === "Recentchanges" ||

            !('watchlist' in index) && mw.config.get("wgCanonicalSpecialPageName") === "Watchlist") {

            rbnode = gebcn(document.getElementById("bodyContent"), "span", "mw-rollback-link");

        } else if (!('history' in index) && mw.config.get("wgAction") === "history") {

            rbnode = gebcn(document.getElementById("pagehistory"), "span", "mw-rollback-link");

        } else if (!('diff' in index) && (diffnode = document.getElementById("mw-diff-ntitle2"))) {

            rbnode = gebcn(diffnode, "span", "mw-rollback-link");

        }

 

        for (var i = 0, len = rbnode.length; i < len; i++)

            addRollbackSummaryLink(rbnodei]);

    };

 

    function confirmRollback() {

        var url = this.href;

        var user = url.match(/[?&]from=([^&]*)/);

        if (!user)

            return;

 

        user = decodeURIComponent(user1].replace(/\+/g, " "));

        var summary = prompt("Enter a summary to use for rollback.\n\nLeave blank to use the default. $user will be replaced with \"" + user + "\".",

            window.rollbackSummaryDefault);

        if (summary === undefined || summary === null) {

            return false;

        } else if (summary === "") {

            return true;

        }

 

        this.href += "&summary=" + encodeURIComponent(summary.replace(/\$user/g, user));

        return true;

    };

 

    function addRollbackSummaryLink(rbnode) {

        var rblink = rbnode.getElementsByTagName("a")[0];

        var alink = rblink.cloneNode(true);

        alink.className = ""; // don't confuse other scripts

        alink.firstChild.nodeValue = "sum";

        alink.onclick = confirmRollback;

        rbnode.insertBefore(alink, rblink.nextSibling);

        rbnode.insertBefore(document.createTextNode(" | "), alink);

    };

 

    if (window.rollbackLinksDisable === undefined)

        window.rollbackLinksDisable = [];

 

    if (window.rollbackSummaryDefault === undefined)

        window.rollbackSummaryDefault = null; // = ""

 

    $(addSumLink);

}(jQuery)) // End wrap with jQuery

 

// [[Category:Wikipedia scripts]]
From Wikipedia, the free encyclopedia
Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.

/** 

 * This script lets you use a custom summary with the rollback feature

 * by adding a "sum" link wherever a rollback link appears. When you

 * click "sum" you are prompted for a custom summary, and the script

 * adds an additional summary parameter to the rollback URL submitting it.

 *

 * For usage and extra options, see [[:en:User:MC10/rollbackSummary]].

 * Borrowed from [[:en:User:Gracenotes/rollback.js]]

 *

 * Linkback: [[User:MC10/rollbackSummary.js]]

 */

 

(function ($, undefined) { // Wrap with jQuery

    function addSumLink() {

        var rbnode = [], diffnode, index = {}, gebcn = document.getElementsByClassName

            ? function(a, b, c) { return a.getElementsByClassName(c) }

            : getElementsByClassName;

        if (typeof window.rollbackLinksDisable === 'object' && $.isArray(window.rollbackLinksDisable)) {

            for (var i = 0; i < window.rollbackLinksDisable.length; i++)

                indexwindow.rollbackLinksDisablei]] = true;

        }

 

        if (!('user' in index) && mw.config.get("wgCanonicalSpecialPageName") === "Contributions" ||

            !('recent' in index) && mw.config.get("wgCanonicalSpecialPageName") === "Recentchanges" ||

            !('watchlist' in index) && mw.config.get("wgCanonicalSpecialPageName") === "Watchlist") {

            rbnode = gebcn(document.getElementById("bodyContent"), "span", "mw-rollback-link");

        } else if (!('history' in index) && mw.config.get("wgAction") === "history") {

            rbnode = gebcn(document.getElementById("pagehistory"), "span", "mw-rollback-link");

        } else if (!('diff' in index) && (diffnode = document.getElementById("mw-diff-ntitle2"))) {

            rbnode = gebcn(diffnode, "span", "mw-rollback-link");

        }

 

        for (var i = 0, len = rbnode.length; i < len; i++)

            addRollbackSummaryLink(rbnodei]);

    };

 

    function confirmRollback() {

        var url = this.href;

        var user = url.match(/[?&]from=([^&]*)/);

        if (!user)

            return;

 

        user = decodeURIComponent(user1].replace(/\+/g, " "));

        var summary = prompt("Enter a summary to use for rollback.\n\nLeave blank to use the default. $user will be replaced with \"" + user + "\".",

            window.rollbackSummaryDefault);

        if (summary === undefined || summary === null) {

            return false;

        } else if (summary === "") {

            return true;

        }

 

        this.href += "&summary=" + encodeURIComponent(summary.replace(/\$user/g, user));

        return true;

    };

 

    function addRollbackSummaryLink(rbnode) {

        var rblink = rbnode.getElementsByTagName("a")[0];

        var alink = rblink.cloneNode(true);

        alink.className = ""; // don't confuse other scripts

        alink.firstChild.nodeValue = "sum";

        alink.onclick = confirmRollback;

        rbnode.insertBefore(alink, rblink.nextSibling);

        rbnode.insertBefore(document.createTextNode(" | "), alink);

    };

 

    if (window.rollbackLinksDisable === undefined)

        window.rollbackLinksDisable = [];

 

    if (window.rollbackSummaryDefault === undefined)

        window.rollbackSummaryDefault = null; // = ""

 

    $(addSumLink);

}(jQuery)) // End wrap with jQuery

 

// [[Category:Wikipedia scripts]]

Videos

Youtube | Vimeo | Bing

Websites

Google | Yahoo | Bing

Encyclopedia

Google | Yahoo | Bing

Facebook