Benutzer:BLueFiSH.as/JS/addtabs.js

Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 23. September 2007 um 09:01 Uhr durch BLueFiSH.as (Diskussion | Beiträge). Sie kann sich erheblich von der aktuellen Version unterscheiden.

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
/* =============================================================================================== */
/* die folgenden Funktionen fügen ein paar hilfreiche Tabs in die Tableiste über einer Seite hinzu */
/* gefunden bei [[en:User:Dbenbenn/monobook.js]] und mit eigenen Sachen erweitert                  */

var editlk;
var username;

if ( typeof IamAdmin == 'undefined' ) IamAdmin = false;

// Returns <li><a href="url">name</a></li>
function addlilink(url, name)
{ var na = document.createElement('a');
  na.setAttribute('href', url);
  var txt = document.createTextNode(name);
  na.appendChild(txt);
  var li = document.createElement('li');
  li.appendChild(na);
  return li;
}

// Gets the URL version of the page title.
function get_tidy_title()
{ editlk = document.getElementById('ca-edit').getElementsByTagName('a')[0].href;
  // cut everything up to "title=" from the start and everything past "&action=edit" from the end
  editlk = editlk.substring(editlk.indexOf('title=') + 6, editlk.lastIndexOf('&action=edit'));
  return editlk;
}

function get_username()
{ if ( wgPageName == "Spezial:Beiträge" )
  { if ( docURL.indexOf('&target=') > 0 )
    { username = docURL.substr(docURL.indexOf('&target=')+8, docURL.length - docURL.indexOf('&target=')+8);
    }
    else if ( docURL.indexOf('Beitr%C3%A4ge/') > 0 )
    { username = docURL.substr(docURL.indexOf('Beitr%C3%A4ge/')+14, docURL.length - docURL.indexOf('Beitr%C3%A4ge/')+14);
    }
  }
  else if (editlk)
  {  username = editlk.replace('Benutzer_Diskussion:','');
     username = editlk.replace('Benutzer:','');
  }
}

// Adds "userlog", "block" and "blocklog" tabs to User: and User talk: pages.
function add_user_tabs(tabs, editlk)
{ editlk = editlk.substring(editlk.indexOf(':') + 1);
  var slloc = editlk.indexOf('/');
  if (slloc > 0) editlk = editlk.substring(0, slloc);
  tabs.appendChild(addlilink('/w/index.php?title=Special%3ABlockip&ip=' + editlk, 'block'));
  tabs.appendChild(addlilink('/w/index.php?title=Special%3ALog&type=block&page=Benutzer%3A' + editlk, 'blocklog'));
  tabs.appendChild(addlilink('/w/index.php?title=Special%3ALog&user=' + editlk, 'userlog'));
  if (!isNaN(editlk.substr(0, 2))) tabs.appendChild(addlilink('http://whois.domaintools.com/' + editlk, 'WhoIs'));
}

// Adds "userlog", "block" and "blocklog" tabs to Special:Contributions
function add_contributions_tabs(tabs, username)
{ 
  if (!isNaN(username.substr(0, 2))) tabs.appendChild(addlilink('/wiki/Benutzer:' + username, 'Userpage'));
  if (!isNaN(username.substr(0, 2))) tabs.appendChild(addlilink('http://whois.domaintools.com/' + username, 'WhoIs'));
  //tabs.appendChild(addlilink('http://de.wikipedia.org/w/index.php?title=Spezial:DeletedContributions&target=' + username + '&namespace=', 'DeletedEdits'));
}

// Adds watchlist tabs to commons and en.wp to Special:Watchlist
function add_watchlist_tabs(tabs)
{ tabs.appendChild(addlilink('http://de.wikipedia.org/w/index.php?title=Spezial:Beobachtungsliste&action=edit', 'bearbeiten'));
  tabs.appendChild(addlilink('http://de.wikipedia.org/w/index.php?title=Spezial:Beobachtungsliste&action=raw', 'im-/export'));
  tabs.appendChild(addlilink('http://commons.wikimedia.org/w/index.php?title=Special:Watchlist&hideOwn=1', 'commons'));
  tabs.appendChild(addlilink('http://en.wikipedia.org/wiki/Special:Watchlist', 'en.wp'));
  tabs.appendChild(addlilink('http://de.wikipedia.org/w/index.php?title=Spezial%3ALogbuch&type=delete&user=BLueFiSH.as', 'mylog'));
}

// Adds "pagelog" to other pages
function add_pagelog_tab(tabs)
{ tabs.appendChild(addlilink('/w/index.php?title=Special%3ALog&page=' + wgPageName, 'pagelog'));
}

function GetImageInfoAndOpenUploadpage()
{
 uploadinfo = document.getElementById('content').innerHTML;
 suchebeg = uploadinfo.search(/media/);
 allesende = uploadinfo.search(/<\/td><\/tr>\n\<\/tbody\>\<\/table\>/);
 uploadinfo = uploadinfo.substring(suchebeg, allesende);
 
 // Datum+Uhrzeit des Uploads ermitteln
 suchebeg = uploadinfo.search(/\"\>/) + 2;
 sucheende = uploadinfo.search(/\<\/a\>/);
 var udate = uploadinfo.substring(suchebeg, sucheende);

 // Hochlader ermitteln
 uploadinfo = uploadinfo.substring(sucheende, allesende);
 suchebeg = uploadinfo.search(/title="Benutzer:/) + 16;
 sucheende = uploadinfo.search(/\"\>/);
 var uuser = uploadinfo.substring(suchebeg, sucheende);
 
 // Dateipixel ermitteln
 suchebeg = uploadinfo.search(/\<\/td\>\<td\>/) + 9;
 sucheende = uploadinfo.search(/\<\/td\>\<td\>/);
 var upixel = uploadinfo.substring(suchebeg, sucheende);

 // Dateigröße ermitteln
 suchebeg = uploadinfo.search(/\"\>/) + 2;
 sucheende = uploadinfo.search(/\<\/td\>\<td\>/);
 var usize = uploadinfo.substring(suchebeg, sucheende);
 usize += "Bytes)";

 // Uploadkommentar ermitteln
 var utext = uploadinfo.substring(sucheende + 9 , allesende);
 
 // grob die Lizenz ermitteln
 quelltext = document.getElementById('content').innerHTML;
 if (quelltext.search(/Bild-GFDL/) > 0) var lizenz = "GFDL";
 if (quelltext.search(/Bild-CC/) > 0) var lizenz = "CC";
 if (quelltext.search(/Bild-PD/) > 0) var lizenz = "PD";
 if (quelltext.search(/Bild-frei/) > 0) var lizenz = "PD";
 
 // Aus ggf. vorhandener Vorlage:Information Datum der Fotografie ermitteln
 suchebeg = quelltext.search(/Datum\<\/th\>/);
 if (suchebeg > 0) 
 { quelltext2 = quelltext.substring(suchebeg, quelltext.length);
   suchebeg = quelltext2.search(/\<p\>/) + 3;
   sucheende = quelltext2.search(/\<\/p\>/);
   var fdate = quelltext2.substring(suchebeg, sucheende);
 }
 
 // Aus ggf. vorhandener Vorlage:Information Fotografen ermitteln
 suchebeg = quelltext.search(/Urheber\<\/th\>/);
 if (suchebeg > 0) 
 { quelltext2 = quelltext.substring(suchebeg, quelltext.length);
   suchebeg = quelltext2.search(/\<p\>/) + 3;
   sucheende = quelltext2.search(/\<\/p\>/);
   var fuser = quelltext2.substring(suchebeg, sucheende);
 }
 
 // Aus ggf. vorhandener Vorlage:Information Beschreibung ermitteln
 suchebeg = quelltext.search(/Beschreibung\<\/th\>/);
 if (suchebeg > 0) 
 { quelltext2 = quelltext.substring(suchebeg, quelltext.length);
   suchebeg = quelltext2.search(/\<p\>/) + 3;
   sucheende = quelltext2.search(/\<\/p\>/);
   var ftext = quelltext2.substring(suchebeg, sucheende);
 }
 
 // Aus altertümlicher Beschreibung das Datum der Fotografie ermitteln
 suchebeg = quelltext.search(/\<li\>Datum\:/);
 if (suchebeg > 0) 
 { quelltext2 = quelltext.substring(suchebeg, quelltext.length);
   suchebeg = quelltext2.search(/Datum\: /) + 7;
   sucheende = quelltext2.search(/\<\/li\>/);
   var fdate = quelltext2.substring(suchebeg, sucheende);
 }
 
 // Aus altertümlicher Beschreibung den Fotografen ermitteln
 suchebeg = quelltext.search(/\<li\>Fotograf\/Zeichner\:/);
 if (suchebeg > 0) 
 { quelltext2 = quelltext.substring(suchebeg, quelltext.length);
   suchebeg = quelltext2.search(/Zeichner\: /) + 10;
   sucheende = quelltext2.search(/\<\/li\>/);
   var fuser = quelltext2.substring(suchebeg, sucheende);
 }
 
 // Aus altertümlicher Beschreibung den Fotografen ermitteln
 suchebeg = quelltext.search(/\<li\>Fotograf\:/);
 if (suchebeg > 0) 
 { quelltext2 = quelltext.substring(suchebeg, quelltext.length);
   suchebeg = quelltext2.search(/Fotograf\: /) + 10;
   sucheende = quelltext2.search(/\<\/li\>/);
   var fuser = quelltext2.substring(suchebeg, sucheende);
 }
 
 // Aus altertümlicher Beschreibung die Bildbeschreibung ermitteln
 suchebeg = quelltext.search(/\<li\>Bildbeschreibung\:/);
 if (suchebeg > 0) 
 { quelltext2 = quelltext.substring(suchebeg, quelltext.length);
   suchebeg = quelltext2.search(/Bildbeschreibung\: /) + 18;
   sucheende = quelltext2.search(/\<\/li\>/);
   var ftext = quelltext2.substring(suchebeg, sucheende);
 }
 
 // Aus altertümlicher Beschreibung die Bildbeschreibung ermitteln
 suchebeg = quelltext.search(/\<li\>Beschreibung\:/);
 if (suchebeg > 0) 
 { quelltext2 = quelltext.substring(suchebeg, quelltext.length);
   suchebeg = quelltext2.search(/Beschreibung\: /) + 14;
   sucheende = quelltext2.search(/\<\/li\>/);
   var ftext = quelltext2.substring(suchebeg, sucheende);
 }
 
 var uri = 'http://commons.wikimedia.org/w/index.php?title=Special:Upload&'
 uri += "&udate="+udate + "&uuser="+uuser + "&upixel="+upixel + "&usize="+usize + "&fdate="+fdate + "&fuser="+fuser + "&lizenz="+lizenz + "&ftext="+encodeURIComponent(ftext) + "&utext="+encodeURIComponent(utext);
 window.open(uri);
}

function openInterwikiImage(imagetitle)
{ wpdomain = prompt('Sprachdomain?','');
  if (wpdomain != false) window.open('http://'+wpdomain+'.wikipedia.org/wiki/Image:' + imagetitle);
}

function add_image_tabs(tabs)
{ tabs.appendChild(addlilink('http://commons.wikimedia.org/wiki/Image:'+wgTitle, 'commons'));
  tabs.appendChild(addlilink('javascript:GetImageInfoAndOpenUploadpage();', 'C-UP'));
  tabs.appendChild(addlilink('http://en.wikipedia.org/wiki/Image:'+wgTitle, 'en'));
  tabs.appendChild(addlilink('javascript:openInterwikiImage(\''+wgTitle+'\');', 'lang..'));
  tabs.appendChild(addlilink('http://tools.wikimedia.de/~daniel/WikiSense/CheckUsage.php?i='+wgTitle +'&w=_160&m=&x=&go=Check+Usage&b=0', 'Usage'));
  add_pagelog_tab(tabs, wgPageName);
}

function addTabs()
{ var tabs = document.getElementById('column-one').getElementsByTagName('div')[0].getElementsByTagName('ul')[0];
  get_username();
  if ( document.getElementById("ca-edit") )
  { var title = get_tidy_title();
    if ( wgCanonicalNamespace == "Image" )
      add_image_tabs(tabs);
    else if ( IamAdmin && (wgCanonicalNamespace == "User" || wgCanonicalNamespace == "User_talk") ) 
      {  add_user_tabs(tabs, title);
         add_pagelog_tab(tabs);
      }
    else add_pagelog_tab(tabs);
  }
  else if ( wgCanonicalSpecialPageName == "Contributions" )
    add_contributions_tabs(tabs, username);
  else if ( wgCanonicalSpecialPageName == "Watchlist" )
    add_watchlist_tabs(tabs);
}