MediaWiki:Gadget-toolserver-integration.js
Erscheinungsbild
Hinweis: Leere nach dem Veröffentlichen den Browser-Cache, um die Änderungen sehen zu können.
- Firefox/Safari: Umschalttaste drücken und gleichzeitig Aktualisieren anklicken oder entweder Strg+F5 oder Strg+R (⌘+R auf dem Mac) drücken
- Google Chrome: Umschalttaste+Strg+R (⌘+Umschalttaste+R auf dem Mac) drücken
- Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
// <source lang="javascript">
/*
Integration vieler externer Hilfsfunktionen vor allem des Toolservers in die Oberfläche der Wikipedia
mittels zusätzlicher Karteireiter an geeigneten Stellen abhängig vom Kontext der gerade dargestellten
Seite (Artikel, Bildseite, Benutzerseite, Kategorie...).
Dieses Skript basiert auf http://commons.wikimedia.org/wiki/MediaWiki:Extra-tabs.js, welches dort für
die Toolserverintegration sorgt.
Momentan von diesem Skript eingebundene Funktionen sind
1. im Artikelnamensraum:
-
2. im Benutzernamensraum (+ -diskussion):
* "Gallery" (Galerie der Bilder eines Benutzers): http://tools.wikimedia.de/~daniel/WikiSense/Gallery.php
* "Orphan Images" (verwaiste Bilder eines Benutzers): http://tools.wikimedia.de/~daniel/WikiSense/OrphanImages.php
* "Untagged Images" (Bilder eines Benutzers ohne Lizenz): http://tools.wikimedia.de/~daniel/WikiSense/UntaggedImages.php
3. im Wikipedianamensraum:
-
4. im Bildnamensraum (+ -diskussion):
* "CheckUsage" (Nutzung eines Bildes in allen Projekten): http://tools.wikimedia.de/~daniel/WikiSense/CheckUsage.php
* "CommonSense" (Kategorisierung von Bildern in Commons): http://tools.wikimedia.de/~daniel/WikiSense/CommonSense.php
* "Log" (Karteireiter ins Wikipedia-Logbuch für dieses Bild)
5. im Vorlagennamensraum:
-
6. im Hilfenamensraum:
-
7. im Kategorienamensraum:
* "CatScan" (Schnittmengenbildung von Artikeln in Kategorien): http://tools.wikimedia.de/~daniel/WikiSense/CategoryIntersect.php
8. im Portalnamensraum:
-
9. im Spezialnamensraum:
Dieses Skript wurde mit Konqueror 3.5 and Firefox 1.5 getesten. Opera und Internet Explorer werden
ebenfalls unterstützt. Bitte Ergänzungen sorgfältig testen (Skripte, die nur im Firefox laufen, sind
blöd!)
*/
// Switch for people that don't want the extra tabs.
if (load_extratabs == true && skin == 'monobook')
{
// project URL without protocol handler
var tab_project = wgServer.replace("http://", "");
// 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 = 'Bild:';
var tab_ns_user = 'Benutzer:';
var tab_ns_special = 'Spezial:';
// Interface strings, translations get defined in the /<ISO-Code> sub pages
var tab_check_usage = 'check usage';
var tab_categorize = 'find categories';
var tab_log = 'log';
var tab_gallery = 'gallery';
var tab_orphans = 'orphans';
var tab_untagged = 'untagged';
var tab_tree = 'Tree';
var tab_catscan = 'CatScan';
var tab_blocklog = 'Blocklog';
var tab_wikipedia = "en";
includePage( 'Benutzer:Arnomane/Extratabs.js/' + wgUserLanguage );
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');
var tabs = c1.getElementsByTagName('div')[0].getElementsByTagName('ul')[0];
tabs.appendChild(li);
}
function global_add_image_tabs(imagetitle)
{
global_append_tab('http://tools.wikimedia.de/~daniel/WikiSense/CheckUsage.php?i=' + imagetitle + '&w=_100000', tab_check_usage, 'ca-checkusage');
global_append_tab('http://tools.wikimedia.de/~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');
}
function global_add_user_tabs(username)
{
// removing subpages from the link
username = username.split("/")[0];
global_append_tab('http://tools.wikimedia.de/~daniel/WikiSense/Gallery.php?wiki=' + tab_project + '&img_user_text=' + username , tab_gallery, 'ca-gallery');
global_append_tab('http://tools.wikimedia.de/~daniel/WikiSense/OrphanImages.php?wiki=' + tab_project + '&img_user_text=' + username , tab_orphans, 'ca-orphans');
global_append_tab('http://tools.wikimedia.de/~daniel/WikiSense/UntaggedImages.php?wiki=' + tab_project + '&img_user_text=' + username , tab_untagged, 'ca-untagged');
}
function global_add_category_tabs(category)
{
global_append_tab('http://tools.wikimedia.de/~daniel/WikiSense/CategoryIntersect.php?wiki=' + tab_project + '&basecat=' + category , tab_catscan, 'ca-catscan');
}
// On Special:Contributions, we add the user tabs just like for a user page.
// On Special:Blockip, we add a blocklog tab.
function global_add_special_tabs()
{
if (wgPageName == "Special:Blockip")
{
// so we don't break after blocking
var username = document.getElementsByName('wpBlockAddress')[0] ? document.getElementsByName('wpBlockAddress')[0].defaultValue : '';
if (username != '')
{
global_append_tab('/w/index.php?title=' + tab_ns_special + 'Log&type=block&page=' + tab_ns_user + username, tab_blocklog, 'ca-blocklog');
}
}
else if (wgPageName == "Special:Contributions")
{
var username = document.getElementById('contentSub').getElementsByTagName('a')[0].firstChild.nodeValue;
global_add_user_tabs(tab_ns_user + username);
}
}
function global_do_onload()
{
// title without namespace name
var title = wgTitle;
// 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
}
}
addOnloadHook( global_do_onload );
}
// </source>