Jump to content

User:Gregbard/vector.js

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Gregbard (talk | contribs) at 05:41, 25 June 2010 (unwatch). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
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.
importScript('User:Quarl/util.js');
importScript('User:Quarl/wikipage.js');
importScript('Wikipedia:WikiProject User scripts/Scripts/Add LI menu');
importScript('User:AzaToth/twinkle.js');
importScript('Wikipedia:WikiProject Deletion sorting/delsort.js');
importScript('User:Lupin/popups.js'); // see Wikipedia:Tools/Navigation popups
importScript('User:Anomie/util.js');
importScript('User:Anomie/linkclassifier.js');
importScript('User:Gregbard/ratephil.js');
importScript('User:Gregbard/twinklespeedy.js');

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

// Linkback: [[User:Anomie/linkclassifier.js]]
// Linkback: [[User:Anomie/linkclassifier.css]]


// [[User:Quarl/watchlist.js]] - adds buttons to watchlist: "unwatch", "diff
// since"

//  UNWATCH button asynchronously unwatches and crosses the entry off the
//  watchlist.
//
//  DIFF SINCE button shows differences since last edited.

// quarl 2006-01-09 added asynchronous feature.
// quarl 2006-02-03 factored; added diff since.

// requires: wikipage.js, util.js, wikiwatch.js, diffsince.js

// originally based on http://en.wikipedia.org/wiki/User:Omegatron/monobook.js
// see also http://en.wikipedia.org/wiki/User:Matthewmayer/monobook.js

// see also Bug 424 http://bugzilla.wikipedia.org/show_bug.cgi?id=424

// <pre><nowiki>

var watchlist = new Object();
watchlist.wp = {};

watchlist.unwatchAsync = function(pagename) {
    var wp = watchlist.wp[pagename];
    if (!wp) { alert("## internal error 72192d74-ab57-4a98-917f-8c6ca03b0559"); return; }
    wikiwatch.unwatchAsync(wp, watchlist._unwatchSuccess, wp.unwatchSpan);
    return false;
}

watchlist.watchAsync = function(pagename) {
    var wp = watchlist.wp[pagename];
    if (!wp) { alert("## internal error 72192d74-ab57-4a98-917f-8c6ca03b0559"); return; }
    wikiwatch.watchAsync(wp, watchlist._watchSuccess, wp.unwatchSpan);
    return false;
}

watchlist.diffSince = function(pagename) {
    var wp = watchlist.wp[pagename];
    if (!wp) { alert("## internal error 72192d74-ab57-4a98-917f-8c6ca03b0559"); return; }
    return diffsince.diffPageAsync(wp, wp.diffsinceSpan);
}

watchlist._addStrikeThrough = function(node) {
    // return node && insertNode(node, document.createElement('s'));
    if (!node) return 0;

    addClass(ensureSpan(node), 'history-deleted');
    return 1;
}

watchlist._removeStrikeThrough = function(node) {
    if (!node) return 0;

    removeClass(ensureSpan(node), 'history-deleted');
    return 1;
}

watchlist._unwatchSuccess = function(wp) {
    var wpNT = wp.notalkPage();
    var wpT = wp.talkPage();

    if (0 == (watchlist._addStrikeThrough(findHref(wpNT.url)) +
              watchlist._addStrikeThrough(findHref(wpT.url))))
    {
        alert("Unwatched article '"+wp.page+"', but couldn't annotate current page.");
        return;
    }

    watchlist._updateWuwLink(wpT, 'watch');
    watchlist._updateWuwLink(wpNT, 'watch');
}

watchlist._watchSuccess = function(wp) {
    var wpNT = wp.notalkPage();
    var wpT = wp.talkPage();

    if (0 == (watchlist._removeStrikeThrough(findHref(wpNT.url)) +
              watchlist._removeStrikeThrough(findHref(wpT.url))))
    {
        alert("Watched article '"+wp.page+"', but couldn't annotate current page.");
        return;
    }

    watchlist._updateWuwLink(wpT, 'unwatch');
    watchlist._updateWuwLink(wpNT, 'unwatch');
}

// Update a watch/unwatch link.  Returns 1 on success, 0 if not found.
//
// wuw must be 'watch' or 'unwatch'
watchlist._updateWuwLink = function(wpX, wuw) {
    wp = watchlist.wp[wpX.page];
    if (!wp) return 0;
    var link = "javascript:return watchlist."+wuw+"Async("+string_quote_escape(wp.page)+")";
    var url = wp.qurl+'&action='+wuw;
    wp.unwatchSpan.innerHTML = '<a onclick="'+link+'" href="' + url + '">'+wuw+'</a>';
    return 1;
}


watchlist._load = function()
{
    if (wikiPage.page == "Special:Watchlist") watchlist._annotatePage();
}

watchlist._annotatePage = function() {
    var links = copyArray(document.getElementById('bodyContent').getElementsByTagName('a'));
    for (i in links) {
        var link = links[i];
        if (link.href && link.href.match(/action=history$/)) {
            var wp = new WikiPage(link.href);
            watchlist.wp[wp.page] = wp;

            wp.unwatchSpan = document.createElement('span');
            var unwatchLink = "javascript:return watchlist.unwatchAsync("+string_quote_escape(wp.page)+")";
            var unwatchUrl = wp.qurl+'&action=unwatch';
            wp.unwatchSpan.innerHTML = '<a onclick="'+unwatchLink+'" href="' + unwatchUrl + '">unwatch</a>';
            add_after(link, wp.unwatchSpan);
            add_after(link, document.createTextNode('; '));

            wp.diffsinceSpan = document.createElement('span');
            diffsinceLink = "javascript:return watchlist.diffSince("+string_quote_escape(wp.page)+")";
            var diffsinceUrl = diffsince.makeUrl(wp);
            wp.diffsinceSpan.innerHTML = '<a onclick="'+diffsinceLink+'" href="' + diffsinceUrl + '">since</a>';
            add_before(link, wp.diffsinceSpan);
            add_before(link, document.createTextNode('; '));
        }
    }
}

addOnloadHook(watchlist._load);

// </nowiki></pre>


/* Hide junk */
span.editHelp { display:none; }
#editpage-copywarn { display:none; }
div.mw-tos-summary { display:none; }
#editpage-copywarn2 { display:none; }
span#minoredit_helplink { display:none; }


TwinkleConfig.watchRatedPhilPages = true;
TwinkleConfig.batchdeleteChunks				=	50;
TwinkleConfig.batchDeleteMinCutOff			=	5;
TwinkleConfig.batchMax					=	5000;
TwinkleConfig.batchProtectChunks			=	50;
TwinkleConfig.batchProtectMinCutOff			=	5;
TwinkleConfig.batchundeleteChunks			=	50;
TwinkleConfig.batchUndeleteMinCutOff			=	5;
TwinkleConfig.blankTalkpageOnIndefBlock			=	false;
TwinkleConfig.defaultWarningGroup			=	1;
TwinkleConfig.deleteTalkPageOnDelete			=	false;
TwinkleConfig.deletionSummaryAd				=	' using	[[WP:TW|TW]]';
TwinkleConfig.deliChunks				=	500;
TwinkleConfig.deliMax					=	5000;
TwinkleConfig.markAIVReportAsMinor			=	true;
TwinkleConfig.markSockReportAsMinor			=	true;
TwinkleConfig.markUAAReportAsMinor			=	true;
TwinkleConfig.markRevertedPagesAsMinor			=	[ 'vand' ];
TwinkleConfig.markSpeedyPagesAsMinor			=	false;
TwinkleConfig.markSpeedyPagesAsPatrolled		=	true;
TwinkleConfig.notifyUserOnDeli				=	true;
TwinkleConfig.notifyUserOnSpeedyDeletionNomination	=	[ 'g1',	'g2', 'g3', 'g4', 'g10', 'g11',	'g12', 'a1', 'a2', 'a3', 'a5', 'a7', 'a9', 'f1', 'f2', 'f3', 'f4', 'f5', 'f6', 'f7', 'f9', 'f10', 'f11', 'u3', 't2', 't3', 'p2'	];
TwinkleConfig.offerReasonOnNormalRevert			=	true;
TwinkleConfig.openTalkPage				=	[ 'agf', 'norm', 'vand'	];
TwinkleConfig.openTalkPageOnAutoRevert			=	false;
TwinkleConfig.openUserTalkPageOnSpeedyDelete		=	[ 'g1',	'g2', 'g3', 'g4', 'g5',	'g10', 'g11', 'g12', 'a1', 'a3', 'a7', 'a9', 'f3', 'f4', 'f5', 'f6', 'f7', 'f9', 'f11', 'u3', 't2' ];
TwinkleConfig.orphanBacklinksOnSpeedyDelete		=	{exclude:['g6'], orphan:true};
TwinkleConfig.proddeleteChunks				=	50;
TwinkleConfig.prodReasonDefault				=	"";
TwinkleConfig.protectionSummaryAd			=	' using	[[WP:TW|TW]]';
TwinkleConfig.revertMaxRevisions			=	50;
TwinkleConfig.showRollbackLinks				=	[ 'diff', 'others' ];
TwinkleConfig.showSharedIPNotice			=	true;
TwinkleConfig.speedyWindowHeight                        =       500;
TwinkleConfig.speedyWindowWidth                         =       800;
TwinkleConfig.summaryAd					=	' using	[[WP:TW|TW]]';
TwinkleConfig.unlinkNamespaces				=	[ 0, 100 ];
TwinkleConfig.userTalkPageMode				=	'window';
TwinkleConfig.watchProdPages				=	true;
TwinkleConfig.watchRevertedPages			=	[ 'agf', 'norm', 'vand', 'torev' ];
TwinkleConfig.watchSpeedyPages				=	[ 'g3',	'g5', 'g10', 'g11', 'g12', 't1'	];
TwinkleConfig.watchWarnings				=	true;
TwinkleConfig.welcomeUserOnSpeedyDeletionNotification	=	TwinkleConfig.notifyUserOnSpeedyDeletionNomination;
TwinkleConfig.xfdWatchDiscussion			=	"default";
TwinkleConfig.xfdWatchList				=	"no";
TwinkleConfig.xfdWatchPage				=	"default";
TwinkleConfig.xfdWatchUsages				=	"no";
TwinkleConfig.xfdWatchUser				=	"default";

DelsortConfig = {
debugLevel : 0,
watchDelsortedLists : 1,
watchDelsortedAfd : 1,
shortcuts : ['Authors','Philosophy','Lists']
}


// [[User:Dschwen/highlightredirects.js]] - please include this line
document.write('<script type="text/javascript" src="'
+ 'http://en.wikipedia.org/w/index.php?title=User:Dschwen/highlightredirects.js'
+ '&action=raw&ctype=text/javascript&dontcountme=s"></script>');