Jump to content

User:Pyrospirit/scripts.js

From Wikipedia, the free encyclopedia
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
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 JavaScript file is an extension of [[User:Pyrospirit/monobook.js]].

if ( typeof myLocalSettings === 'undefined' )
    myLocalSettings = {}; // prevent errors if settings file doesn't run

function boolFirstDefined () {
    var len = arguments.length;
    for (var i = 0; i < len; i++) {
        if ( arguments[i] !== undefined )
            return Boolean(arguments[i])
    }
    return null;
}

/* The values in myLocalSettings check a file on my computer to decide whether to run each script 
or not. This lets me turn scripts on and off without editing this page. */
if ( boolFirstDefined(myLocalSettings.all, true) )
{

// Adds extra edit/hist tabs for both discussion page and article page
if ( boolFirstDefined(myLocalSettings.sixtabs, true) ) {
    importScript('Wikipedia:WikiProject User scripts/Scripts/Six tabs');
}

// Edit top link by [[User:Alex Smotrov]]
if ( boolFirstDefined(myLocalSettings.edittop, true) ) {
    importScript('User:TheDJ/Gadget-edittop.js');
    if (wgAction == 'edit' && document.URL.indexOf('&section=0') != -1)
        addOnloadHook(function () {
            document.getElementById('wpSummary').value = '/* Intro */ ';
        })
}

// Logs link in toolbox
if ( boolFirstDefined(myLocalSettings.logs_link, true) 
        && wgCanonicalNamespace != 'User' && wgCanonicalNamespace != 'User talk' ) {
    importScript('Wikipedia:WikiProject User scripts/Scripts/Logs link');
}

// Modified version of [[User:Voyagerfan5761/changelinks.js]]
if ( boolFirstDefined(myLocalSettings.changelinks, true) ) {
    importScript('User:Pyrospirit/changelinks.js');
}

// Unwatch links next to page names in watchlist from [[User:Alex Smotrov/wlunwatch.js]]
if ( boolFirstDefined(myLocalSettings.unwatch, true) && wgCanonicalSpecialPageName == 'Watchlist' && wgAction == 'view' ) 
    addOnloadHook(function () {
        var frm = document.getElementsByTagName('form')[0];
        frm.parentNode.insertBefore(document.createTextNode(' | '), frm);
        var lnk = document.createElement('a');
        lnk.appendChild(document.createTextNode('Unwatch'));
        lnk.href = 'javascript:importScript("User:Alex_Smotrov/wlunwatch.js")';
        frm.parentNode.insertBefore(lnk, frm);
    })

importScript('Wikipedia:WikiProject User scripts/Scripts/Add LI menu');
importStylesheet('Wikipedia:WikiProject User scripts/Scripts/Add LI menu/css');

// [[User:Voice of All]]'s helper JavaScript
if ( boolFirstDefined(myLocalSettings.voa_helper, true) ) {
    importScript('User:Voice of All/Addtabs/monobook.js');
}

// UTC time clock with double-click purge function
if ( boolFirstDefined(myLocalSettings.utc_clock, true) ) {
    importScript('User:Voice of All/UTCclock.js');
}

// Rollback with summary
if ( boolFirstDefined(myLocalSettings.rollback, true) ) {
    importScript('User:Pyrospirit/rollbacksummary.js');
}

// my modified copy of [[User:Jsimlo/shortcuts.js]] - customized sidebar links
if ( boolFirstDefined(myLocalSettings.shortcuts, true) ) {
    importScript('User:Pyrospirit/shortcuts.js');
    
    function shortcutsInit () {
        shortcutsStartSection('more links');
        shortcutsAddLink('Monobook.js', 'Special:MyPage/monobook.js');
        shortcutsAddLink('Scripts.js', 'Special:MyPage/scripts.js');
        shortcutsAddLink('Monobook.css', 'Special:MyPage/monobook.css');
        shortcutsAddLink('Metadata', 'Special:MyPage/metadata');
        shortcutsAddLink('User scripts', 'Wikipedia:WikiProject User scripts');
        shortcutsAddLink('wikEd', 'User:Cacycle/wikEd');
        shortcutsAddLink('Twinkle', 'Wikipedia:Twinkle');
        shortcutsAddLink('Friendly', 'Wikipedia:WikiProject User scripts/Scripts/Friendly');
        shortcutsAddLink('New pages', 'Special:NewPages');
        shortcutsAddLink('AIV', 'Wikipedia:Administrator intervention against vandalism');
        shortcutsAddLink('Help desk', 'Wikipedia:Help desk');
        shortcutsAddLink('Most vandalized', 'Special:RecentChangesLinked/Wikipedia:Most vandalized pages');
        shortcutsAddLink('Noticeboards', 'Special:RecentChangesLinked/User:Pyrospirit/Noticeboards');
    }
}

// Reformats compare button in history as a link
if ( boolFirstDefined(myLocalSettings.compare_link, true) && wgAction == 'history' ) {
    importScript('MediaWiki:WikiProject User scripts/Scripts/Compare link.js');
}

// tagging script by [[User:S]]
if ( boolFirstDefined(myLocalSettings.s_tags, true) ) {
    importScript('User:S/tags.js');
    autosubmit = false;
    minoredit = true;
    show_cwli = true;
}

// User watchlist from [[User:Tra/userwatchlist.js]]
if ( boolFirstDefined(myLocalSettings.user_watchlist, true) ) {
    importScript('User:Tra/userwatchlist.js');
}

// Reformats [[Special:Newpages]] as table with extra features
if ( boolFirstDefined(myLocalSettings.patroller, true) ) {
    importScript('user:js/patroller.js'); //[[user:js/patroller.js]]
}

// Gives assessment data for articles in the page header
if ( boolFirstDefined(myLocalSettings.metadata, true) ) {
    importScript('User:Pyrospirit/metadata.js');
    importScript('User:Pyrospirit/metadata/projectbanners.js');
    importScript('User:Pyrospirit/metadata/assesslinks.js');
}

// Modified version of [[User:Proteins/showrandomlinksonpage.js]]
if ( boolFirstDefined(myLocalSettings.random_links, true) ) {
    importScript('User:Pyrospirit/showrandomlinksonpage.js');
}

// Performs basic formatting changes from a tab while editing
if ( boolFirstDefined(myLocalSettings.formatting, true) && ( wgAction == 'edit' || wgAction == 'submit' ) ) {
    importScript('Wikipedia:WikiProject User scripts/Scripts/Formatter');
}

// [[User:Lupin/recent2.js]] anti-vandalism script
if ( boolFirstDefined(myLocalSettings.lupin, true) ) {
    importScript('User:Lupin/recent2.js');
}

// Some history-related script from VoA
if ( boolFirstDefined(myLocalSettings.voa_history, true) ) {
    importScript('User:Voice of All/History/monobook.js');
}

// Improves formatting of history pages
if ( boolFirstDefined(myLocalSettings.history_format, true) && wgAction == 'history' ) {
    importScript('User:Alex_Smotrov/histcomb.js');
}

// [[User:Cacycle/wikEd]] in-browser text editor
var wikEdRegExTypoFix = true;
if ( boolFirstDefined(myLocalSettings.wiked, true) && ( wgAction == 'edit' || wgAction == 'submit' ) ) {
    importScript('User:Cacycle/wikEd.js');
}

// [[User:Lupin/popups.js]] - navigation popups
if ( boolFirstDefined(myLocalSettings.navpops, true) ) {
    importScript('User:Lupin/popups.js');
}

// Twinkle script (reverting, warning, reporting, csd, xfd, prod, rpp)
if ( boolFirstDefined(myLocalSettings.twinkle, true) ) {
    importScript('User:AzaToth/twinkle.js');
    TwinkleConfig = {
        revertMaxRevisions              :       50,
        userTalkPageMode                :       'tab',
        showSharedIPNotice              :       true,
        openTalkPage                    :       [ 'agf', 'norm', 'vand' ],
        openTalkPageOnAutoRevert        :       true,
        summaryAd                       :       " ([[WP:TW|TW]])",
        deletionSummaryAd               :       " ([[WP:TW|TW]])",
        protectionSummaryAd             :       " ([[WP:TW|TW]])",
        watchSpeedyPages                :       [ ],
        watchProdPages                  :       true,
        //openUserTalkPageOnSpeedyDelete  :       going with default here
        watchRevertedPages              :       [ ],
        markRevertedPagesAsMinor        :       [ 'agf', 'norm', 'vand', 'torev' ],
        deleteTalkPageOnDelete          :       false,
        watchWarnings                   :       false,
        markAIVReportAsMinor            :       false,
        markSpeedyPagesAsMinor          :       false,
        offerReasonOnNormalRevert       :       true,
        orphanBacklinksOnSpeedyDelete   :       {orphan:true, exclude:['g6']}
    };
}

// Rollback integration with Twinkle
if ( boolFirstDefined(myLocalSettings.tw_rollback, true) ) {
    importScript('User:Ioeth/twinklerollbackintegration.js');
    TwinkleRollbackIntegrationConfig = {
        rollbackStyle : 'MWonly', // replace, replaceall, move, TWonly, MWonly
        addVanarticle : true
    };
}

// [[WP:FRIENDLY]] script similar to Twinkle
if ( boolFirstDefined(myLocalSettings.friendly, true) ) {
    importScript('User:Ioeth/friendly.js');
    FriendlyConfig = {
        summaryAd               :  " ([[WP:FRIENDLY|Friendly]])",
        watchWelcomes           :  false,
        markWelcomesAsMinor     :  false,
        watchTaggedPages        :  false,
        markTaggedPagesAsMinor  :  true,
        insertHeadings          :  true,
        welcomeHeading          :  "== Welcome ==",
        insertUsername          :  true,
        insertSignature         :  true,
        enableClock             :  false
    };
}

// Makes minor editing suggestions
if ( boolFirstDefined(myLocalSettings.advisor, true) ) {
    importScript('User:Cameltrader/Advisor.js');
}

if ( boolFirstDefined(myLocalSettings.markblocked, true) ) {
    importScript('User:Kalan/markblocked.js');
}

if ( boolFirstDefined(myLocalSettings.longsummary, true) )
    importScript('User:Ilmari Karonen/longeditsummary.js');

// [[User:GeorgeMoney]] script improves search box functionality
if ( boolFirstDefined(myLocalSettings.searchbox, false) ) {
    addOnloadHook(function () {
        document.getElementById('searchform').action = 'http://wikipedia.georgemoney.com/search.php';
        document.getElementById('searchInput').name = 'title';
    });
}

// Box with newest pages in sidebar, disabled by default
if ( boolFirstDefined(myLocalSettings.newpagebox, false) ) {
    importScript('User:TheJosh/Scripts/NewPagePatrol.js');
    npp_enabled = false;
    npp_num_pages = 10;
    npp_refresh = 5;
}

// Box with recent changes in sidebar, disabled by default
if ( boolFirstDefined(myLocalSettings.recentbox, false) ) {
    importScript('User:TheJosh/Scripts/RecentChangesPatrol.js');
    rcp_enabled = false;
    rcp_num_pages = 10;
    rcp_refresh = 5;
}

// [[User:GeorgeMoney]]'s helper scripts (Cookies, AddLinks, and Include), copied to my userspace
if ( boolFirstDefined(myLocalSettings.georgemoney, false) ) {
    importScript('User:Pyrospirit/gmhelper.js');
}

// Patrol links for new pages
if ( boolFirstDefined(myLocalSettings.patrollinks, false) ) {
    importScript('User:Mr.Z-man/patrollinks.js');
    showbydefault = true;
}

// Page size data
if ( boolFirstDefined(myLocalSettings.pagesize, false) ) {
    importScript('User:Omegatron/monobook.js/addlink.js'); //[[User:Omegatron/monobook.js/addlink.js]]
    importScript('User:Dr_pda/prosesize.js'); //[[User:Dr_pda/prosesize.js]]
}

// Nice formatting for [[Special:Log]]
if ( boolFirstDefined(myLocalSettings.logtable, false) && wgCanonicalSpecialPageName == 'Log' ) {
    importScript('User:Alex_Smotrov/logpage.js')
}

// A local file for general testing
if ( boolFirstDefined(myLocalSettings.test, false) )
    document.write('<s' + 'cript type="text/javascript" src="'
    + 'http://localhost/test_scripts.js"></s' + 'cript>');

} // end scripts
// [[Category:Wikipedians who use RC script]]