Zum Inhalt springen

MediaWiki:Gadget-toolserver-integration.js

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 19. November 2007 um 17:23 Uhr durch Arnomane (Diskussion | Beiträge) (an de.wp angepasst, für gadget erweiterung.. erstmal speichern...). Sie kann sich erheblich von der aktuellen Version unterscheiden.
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

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>