Benutzer:BLueFiSH.as/JS/addtabs.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
/* =============================================================================================== */
/* 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);
}