Difference between revisions of "User:Shine/valve.js"

From Team Fortress Wiki
Jump to: navigation, search
m
m
 
(2 intermediate revisions by the same user not shown)
Line 31: Line 31:
 
//
 
//
  
/*
+
function gid(i) {
NAMESPACE REDIRECT
+
    return document.getElementById(i);
Description: Redirects pages that begin with certain prefixes to appropriate namespaces.
+
}
Example: [[C:Test]] -> [[Category:Test]], [[F:Test]] -> [[File:Test]], [[T:Test]] -> [[Template:Test]]
+
function replaceRecentChangesLink(){
Link: [[User:Gary King/namespace redirect.js]]
+
    if(gid('n-recentchanges')) {
*/
+
        var a = gid('n-recentchanges').getElementsByTagName('a');
+
        for(i in a) {
addOnloadHook(function()  
+
            a[i].href = '/w/index.php?title=Special:RecentChanges&hidebots=0';
{
+
        }
if (wgPageName != 'Special:Search') return;
+
    }
+
}
var searchText = document.getElementById('searchText');
+
addOnloadHook(replaceRecentChangesLink);
if (!searchText) return;
+
 
var searchTerm = searchText.value;
+
//
var colon = searchTerm.indexOf(':');
 
 
if (colon != -1)
 
{
 
var firstPart = searchTerm.substring(0, colon);
 
var secondPart = searchTerm.substring(colon + 1);
 
var pageName = '';
 
 
switch (firstPart.toUpperCase())
 
{
 
case 'C':
 
pageName = 'Category:' + secondPart;
 
break;
 
case 'F':
 
pageName = 'File:' + secondPart;
 
break;
 
case 'T':
 
pageName = 'Template:' + secondPart;
 
break;
 
case 'U':
 
pageName = 'User:' + secondPart;
 
break;
 
}
 
 
if (pageName != '')
 
window.location = wgServer + '/wiki/' + pageName;
 
}
 
});
 

Latest revision as of 07:21, 26 August 2010

// addPurge
addOnloadHook(function () {
    var hist; var url;
    if (!(hist = document.getElementById('ca-history') )) return;
    if (!(url = hist.getElementsByTagName('a')[0] )) return;
    if (!(url = url.href )) return;
    addPortletLink('p-cactions', url.replace(/([?&]action=)history([&#]|$)/, '$1purge$2'),
                   'Purge', 'ca-purge', 'Purge server cache for this page', '0');
});

//

// Adds a "Replace" tab which pops up two prompt boxes; one for a regexp and one for a replacement
function wpTextboxReplace()
{
    var s = prompt("Search regexp:");
    if(s){
        var r = prompt("Replace /"+s+"/ with:");
        if(!r && r != '') return;
        var txt = document.editform.wpTextbox1;
        txt.value = txt.value.replace(new RegExp(s, "mg"), r);
    }
}
addOnloadHook(function () {
    if (document.forms.editform) {
        addPortletLink('p-cactions', 'javascript:wpTextboxReplace()', 'Replace', 'ca-replace',
                       'Regexp replace for the edit window', 'R', document.getElementById('ca-history'));
    }
});
 
//

function gid(i) {
    return document.getElementById(i);
}
function replaceRecentChangesLink(){
    if(gid('n-recentchanges')) {
        var a = gid('n-recentchanges').getElementsByTagName('a');
        for(i in a) {
            a[i].href = '/w/index.php?title=Special:RecentChanges&hidebots=0';
        }
    }
}
addOnloadHook(replaceRecentChangesLink);

//