Benutzer:BLueFiSH.as/JS/addtabs
aus Wikipedia, der freien Enzyklopädie
//
/* =============================================================================================== */ /* 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://tools.wikimedia.de/~interiot/cgi-bin/queries/tmp/del?user=' + username + '&dbname=dewiki', 'DeletedEdits')); } // Adds watchlist tabs to commons and en.wp to Special:Watchlist function add_watchlist_tabs(tabs) { 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(/\(Aktuell\) \<a/); allesende = uploadinfo.search(/<\/span><\/li>/); 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(suchebeg, allesende); suchebeg = uploadinfo.search(/title="Benutzer:/) + 16; sucheende = uploadinfo.search(/\"\>/); var uuser = uploadinfo.substring(suchebeg, sucheende); // Dateigröße ermitteln suchebeg = uploadinfo.search(/\<\/a\>\)/) + 10; sucheende = uploadinfo.search(/Bytes\)/); var usize = uploadinfo.substring(suchebeg, sucheende); usize += "Bytes)"; // Uploadkommentar ermitteln uploadinfo = uploadinfo.substring(suchebeg, allesende); if (uploadinfo.search(/comment/) > 0) { suchebeg = uploadinfo.search(/\"\>\(/) + 3; sucheende = uploadinfo.search(/\/span/) -2;alert(sucheende); var utext = uploadinfo.substring(suchebeg, sucheende); } // 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"; // 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 + "&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); } //