MediaWiki:Gadget-Extra-tabs.js: Różnice pomiędzy wersjami

Z Wikipedii, wolnej encyklopedii
Usunięta treść Dodana treść
s/addOnloadHook/jQuery/ https://gerrit.wikimedia.org/r/#/c/92457/ przy użyciu AWB
obsługa Vectora
Linia 20: Linia 20:
// written by Dbenbenn, Avatar, Duesentrieb and Arnomane
// written by Dbenbenn, Avatar, Duesentrieb and Arnomane
// corrections: Maciej Jaros (pl:User:Nux), Beau (pl:User:Beau)
// corrections: Maciej Jaros (pl:User:Nux), Beau (pl:User:Beau), Leafnode (pl:User:Leafnode)
// project URL without protocol handler
// project URL without protocol handler


Linia 62: Linia 62:
// Grab the element we want to append the tab and append the tab to it.
// Grab the element we want to append the tab and append the tab to it.
var c1 = document.getElementById('column-one');
var c1 = document.getElementById('column-one');
if (!c1) {
var c1 = document.getElementById('left-navigation');
}
var tabs = c1.getElementsByTagName('div')[0].getElementsByTagName('ul')[0];
var tabs = c1.getElementsByTagName('div')[0].getElementsByTagName('ul')[0];
tabs.appendChild(li);
tabs.appendChild(li);

Wersja z 10:25, 3 sty 2014

/* <source lang="javascript"> Top of Javascript */
/* tooltips and access keys */ 
// ==========================================================================
// BEGIN: MediaWiki interface button definition for Duesentrieb's image tools:
// "Check usage", "User image gallery", "Orphaned images of user" and 
// "Untagged images of user".
// If you are located at an "Image:" you get the "check usage" tab, if you
// are at a "User:" page you get the "gallery", "orphans" and "untagged" tab.
// If you are on other pages these tabs do not get shown. These functions are
// enabled in Wikimedia Commons by default via [[Mediawiki:Monobook.js]] and
// its local language subpages.
// This script has been tested with Konqueror 3.5 and Firefox 1.5 and other
// browsers including Opera and Internet Explorer have been reported to work
// as well. If you enhance or change this template please test it previous to
// editing here in your local monobook.js with as many as possible browsers
// (in order not to clash with the function names here change in your local
// monobook.js all "global_" to "local_").
// Be aware that the global JavaScripts do not get updated by the Wikimedia
// servers that fast after saving them.
 
// written by Dbenbenn, Avatar, Duesentrieb and Arnomane
// corrections: Maciej Jaros (pl:User:Nux), Beau (pl:User:Beau), Leafnode (pl:User:Leafnode)
// project URL without protocol handler

var tab_project = wgServer.replace(/^(?:https?:)?\/\//, "");
 
// Translations (variables for internationalisation and localisation):
 
// namespace names (there is only wgCanonicalNamespace variable; although not a
// problem for Commons but for non-english wikis, we make it easier for them
// reusing the script with these variables)
var tab_ns_image = 'Plik:';
var tab_ns_user = 'Wikipedysta:';
var tab_ns_special = 'Specjalna:';
var tab_ns_category = 'Kategoria:';

// Interface strings, translations get defined in the MediaWiki:Extra-tabs.js/<ISO-Code> sub pages, see below
var tab_check_usage = 'wykorzystanie';
var tab_categorize = 'kategoryzacja';
var tab_log = 'log';
var tab_gallery = 'galeria';
var tab_orphans = 'nieużywane';
var tab_untagged = 'bez licencji';
var tab_tree = 'drzewo';
var tab_catscan = 'CatScan';
var tab_stubs = 'zalążki';

// Appends a new tab.
 
function global_append_tab(url, name, id)
{
    var na = document.createElement('a');
    na.setAttribute('href', url);
    
    var txt = document.createTextNode(name);
    na.appendChild(txt);
    
    var li = document.createElement('li');
    if(id) li.id = id;
    li.appendChild(na);
    
    // Grab the element we want to append the tab and append the tab to it.
    var c1 = document.getElementById('column-one');
    if (!c1) {
    	var c1 = document.getElementById('left-navigation');
    }
    var tabs = c1.getElementsByTagName('div')[0].getElementsByTagName('ul')[0];
    tabs.appendChild(li);
}
 
function global_add_image_tabs(imagetitle)
{
    global_append_tab('//toolserver.org/~daniel/WikiSense/CheckUsage.php?i=' + imagetitle + '&w=_100000', tab_check_usage, 'ca-checkusage');
    global_append_tab('//toolserver.org/~daniel/WikiSense/CommonSense.php?i=' + imagetitle + '&go-clean=yes' , tab_categorize, 'ca-commonsense');
    global_append_tab('/w/index.php?title=' + tab_ns_special + 'Log&page=' + tab_ns_image + imagetitle, tab_log, 'ca-log');
    
    // Add an "unthumb" link.  For Image:123px-Foo, links to Image:Foo.
    if (imagetitle.match(/^\d+px-/))
    {
	// imagetitle = imagetitle.substring(imagetitle.indexOf("px-") + 3);
	imagetitle = imagetitle.replace(/^\d+px-/, '');
	global_append_tab('/wiki/Image:' + imagetitle, 'unthumb', 'ca-unthumb');
    }
}
 
function global_add_user_tabs(username)
{
    // removing subpages from the link
    // username.split("/")[0] works equally well
    // username = username.replace(/\/.*$/, '');
    username = username.split("/")[0];

    global_append_tab('//toolserver.org/~daniel/WikiSense/Gallery.php?wiki=' + tab_project + '&img_user_text=' + username , tab_gallery, 'ca-gallery');
    // global_append_tab('//toolserver.org/~daniel/WikiSense/OrphanImages.php?wiki=' + tab_project + '&img_user_text=' + username , tab_orphans, 'ca-orphans');
    global_append_tab('//toolserver.org/~daniel/WikiSense/UntaggedImages.php?wiki=' + tab_project + '&img_user_text=' + username , tab_untagged, 'ca-untagged');
}
 
function global_add_category_tabs(category)
{
    global_append_tab('/wiki/Special:CategoryTree?target=' + category + '&mode=categories&dotree=Laden', tab_tree);
    global_append_tab('//toolserver.org/~daniel/WikiSense/CategoryIntersect.php?wiki=' + tab_project + '&basecat=' + category , tab_catscan, 'ca-catscan');
    global_append_tab('//toolserver.org/~daniel/WikiSense/CategoryIntersect.php?basecat=' + category + '&basedeep=2&mode=ts&templates=stub&go=Skanuj&userlang=pl&wikilang=pl&wikifam=.wikipedia.org', tab_stubs, 'ca-catscan-stubs');
}
 
// On Special:Contributions, we add the user tabs just like for a user page.
function global_add_special_tabs()
{
    if (wgCanonicalSpecialPageName  == "Contributions")
    {
	var username = document.getElementById('contentSub').getElementsByTagName('a')[0].firstChild.nodeValue;
	// Plain username, without "User:"! And encode it.
	global_add_user_tabs(encodeURIComponent (username)); 
    }
}
 
function global_do_onload()
{
    // title without namespace name. Replacing blanks by underscores
    // is just for beautifying the resulting URL a little bit. The
    // critical part is the call to encodeURIComponent. Without this
    // call, file or user names with "&" in the name won't work, because
    // the ampersand is a parameter delimiter!
    var title = encodeURIComponent (wgTitle.split (" ").join ("_"));
    
    // Namespace numbers are (see [[m:Help:Variables]]):
    // -1: Special
    // 2:  User
    // 3:  User_talk
    // 6:  Image
    // 7:  Image_talk
    // 14: Category
    switch(wgNamespaceNumber)
    {
        case -1:
            global_add_special_tabs();
            break;
        case 2:
        case 3:
            global_add_user_tabs(title);
            break;
        case 6:
        case 7:
            global_add_image_tabs(title);
            break;
        case 14:
            global_add_category_tabs(title);
            break;
        default:
            // nothing
    }
}

/* tylko dla monobooka, tak jak było dotąd */
if (skin == "monobook") {
    jQuery( global_do_onload );
}
// END: MediaWiki interface button definition for Duesentrieb's image tools.
// ========================================================================

/* Bottom of Javascript </source> */