Benutzer:PDD/addLogsLink.js

Im heutigen Artikel tauchen wir in die spannende Welt von Benutzer:PDD/addLogsLink.js ein. Von seinen Ursprüngen bis zu seiner heutigen Relevanz werden wir alle Aspekte im Zusammenhang mit Benutzer:PDD/addLogsLink.js untersuchen und wie es sich auf verschiedene Bereiche des täglichen Lebens ausgewirkt hat. Im Laufe dieser Reise werden wir die verschiedenen Implikationen sowie die möglichen Zukunftsperspektiven analysieren, die sich rund um Benutzer:PDD/addLogsLink.js vorstellen. Zweifellos handelt es sich um ein faszinierendes Thema, das in vielen Bereichen großes Interesse weckt, sodass wir uns die Gelegenheit nicht entgehen lassen können, in sein faszinierendes Universum einzutauchen. Machen Sie sich bereit, in diesem umfassenden Artikel alle Facetten von Benutzer:PDD/addLogsLink.js zu entdecken!
 /*
  * addLogsLink
  *
  * adds a 'logs for this page' link to the navigation bar
  * if the page is a user's page, talk page or subpage, the link will go to logs for the user instead
  *
  * übernommen 1.6.2006 von 
  * siehe auch ]
  *
  * ]      : Originalversion
  * ] 01.06.2006 : Adaptierung für de.wikipedia, Zusatzlog für User:
  * ] 02.06.2006 : optional Benutzerbeiträge für User:
  * ] 10.07.2006 : für User: zusätzlich noch Stats und Stimmrechtcheck
  * ] 23.08.2006 : Browse-Button
  * ] 25.08.2006 : angepasst für commons
  * ] 28.09.2006 : wg-Variablen statt RegExps
  * ] 18.10.2006 : optional: Browsen im Userspace via Prefixindex
  * ] 15.01.2007 : umgestellt auf addPortletLink aus wikibits.js
  * ] 05.03.2007 : plus Link auf Toolserver-Tool für erstellte Artikel
  * ] 16.04.2007 : plus Link auf Toolserver-Tool für gelöschte Edits
  * ] 08.05.2007 : Stimmrecht/Schiedsgericht
  * ] 18.07.2007 : interner Parameter für verschiedene Editcounter
  * ] 08.08.2007 : User:Gallery eingefügt
  * ] 06.12.2007 : DaB.-Usercounter statt Interiot-Usercounter (besser wäre: beide)
  * ] 04.01.2008 : Yet another edit counter (Interiot wieder Default)
  * ] 03.09.2009 : Yet another edit counter (Soxred, now Default)
  * ] 02.01.2010 : BrowseDel-Button
  * ] 29.01.2015 : Toolserver-Skripte rausgeworfen
  */
 
 // <nowiki>
 
 function addLogsLink() {
 
   // Variables that should be defined in your monobook
   if (typeof(pagelogtext) == 'undefined')
       pagelogtext = "Page:Log";
   if (typeof(userlogtext1) == 'undefined')
       userlogtext1 = "User:Log:1";
   if (typeof(userlogtext2) == 'undefined')
       userlogtext2 = "User:Log:2";
 
   if (typeof(addusercontriblink) == 'undefined')
       addusercontriblink = true;
   if (typeof(usercontribtext) == 'undefined')
       usercontribtext = "User:Contribs";
   if (typeof(userdeledittext ) == 'undefined')
       userdeledittext = "User:DelEdits";
   if (typeof(userstatstext) == 'undefined')
       userstatstext = "User:Stats";
   if (typeof(usergallerytext) == 'undefined')
       usergallerytext = "User:Gallery";
   if (typeof(userstimmrechttext) == 'undefined')
       userstimmrechttext = "User:Stimmrecht";
 
   if (typeof(adduserarticlelink) == 'undefined')
       adduserarticlelink = true;
   if (typeof(userarticletext) == 'undefined')
       userarticletext = "User:Articles";
 
   if (typeof(addbrowselink) == 'undefined')
       addbrowselink = true;
   if (typeof(browseuserprefix) == 'undefined')
       browseuserprefix = true;
   if (typeof(browsetext ) == 'undefined')
       browsetext = "Browse";
 
   if (typeof(addbrowsedellink) == 'undefined')
       addbrowsedellink = false;
   if (typeof(browsedeltext ) == 'undefined')
       browsedeltext = "BrowseDel"; 

   if (typeof(addiusagelink) == 'undefined')
       addiusagelink = false;
   if (typeof(imgusagetext) == 'undefined')
       imgusagetext = "IMG:C-Usage";
 
   if (typeof(adminflag) == 'undefined')
       adminflag = false;
 
   if (typeof(userstatstype) == 'undefined')
       userstatstype = "xt";
   if (typeof(userarticletype) == 'undefined')
       userarticletype = "x";

 
   // -----------------------------------------------------------------------------
   // Language support
   // -----------------------------------------------------------------------------

   var wikiLanguageType = mw.config.get('wgContentLanguage');
   if ( mw.config.get('wgServer') == "//commons.wikimedia.org" )
       wikiLanguageType = 'commons';

   var urlstub = mw.config.get('wgServer') + mw.config.get( 'wgScriptPath' ) + "/index.php?title=Special%3A";
   var contribstub = mw.config.get('wgServer') + "https://wikifreehand.com/de/Special:Contributions/";
   var nsprefixuser = "User";

   switch (wikiLanguageType) {
     case 'de':
     case 'bar':
        nsprefixuser = "Benutzer";
        break;
     case 'fr':
        nsprefixuser = "Utilisateur";
        break;
     case 'es':
        nsprefixuser = "Usuario";
        break;
     case 'it':
        nsprefixuser = "Utente";
        break;
     case 'pt':
        nsprefixuser = "Usu%C3%A1rio";
        break;
  }
 
  var logstub = urlstub + "Log";
  var allpstub = urlstub + "Allpages";
  var prefistub = urlstub + "Prefixindex";
  var undelstub = urlstub + "Undelete";
  
  // get page title
  pagetitle = mw.config.get('wgPageName');
  spagetitle = mw.config.get('wgTitle');

  // do real spaces; fix for lemmas with '&'
  ptitle = pagetitle.split('_').join(' ').split('&').join('%26');
  sptitle = spagetitle.split('_').join(' ').split('&').join('%26');
 
  // if this is userspace: get the user
  if (( mw.config.get('wgNamespaceNumber') == 2 ) || ( mw.config.get('wgNamespaceNumber') == 3 )) {
     // thankfully, usernames may not contain '/'
     uservisited = sptitle.split('/');
  }
 
  // get tabs portlet
  tabs = "p-tb";
 
  // if this is a user, show the logs for the user (in addition to the page log)
  if (( mw.config.get('wgNamespaceNumber') == 2 ) || ( mw.config.get('wgNamespaceNumber') == 3 )) {
     url = logstub + "&user=" + uservisited;
     mw.util.addPortletLink(tabs, url, userlogtext1, "t-u1logs");
     url = logstub + "&page=" + nsprefixuser + ":" + uservisited;
     mw.util.addPortletLink(tabs, url, userlogtext2, "t-u2logs");
     if (addusercontriblink) {
 
         // Link auf Contribs
         if (document.getElementById("t-contributions")) 
             document.getElementById("t-contributions").getElementsByTagName("a").innerHTML = usercontribtext;
         else {
             url = contribstub + uservisited;
             mw.util.addPortletLink(tabs, url, usercontribtext, "t-contributions");
         }
 
         if (adminflag == true) {
             // Link auf Deleted Edits
             url = urlstub + "DeletedContributions&limit=500&target=" + uservisited;
             mw.util.addPortletLink(tabs, url, userdeledittext, "t-userdeledits");
         }
 
         // defaulting removed tools to new ones
         if ((userstatstype == "dab") ||
             (userstatstype == "interiot") ||
             (userstatstype == "kate") ||
             (userstatstype == "misza") ||
             (userstatstype == "soxred") ||
             (userstatstype == "soxredp") ||
             (userstatstype == "soxredquick") ||
             (userstatstype == "tparis") ||
             (userstatstype == "wannabe_kate") ||
             (userstatstype == "yaec")) {
                userstatstype = "xt";
         }
         if ((userarticletype == "escaladix") ||
             (userarticletype == "soxred") ||
             (userarticletype == "tparis")) {
                userarticletype = "x";
         }
 
         // Link auf Userstatistik
         if (userstatstype == "super") {
         url = "//tools.wmflabs.org/supercount/index.php?user=" + uservisited 
               + "&project=" + wikiLanguageType + "." + ((wikiLanguageType == 'commons') ? "wikimedia" : "wikipedia" ) + ".org&toplimit=50";
         }
         else if (userstatstype == "quick") {
         url = "//tools.wmflabs.org/magnustools/quick_counter.php?user=" + uservisited 
               + "&project=" + wikiLanguageType + "." + ((wikiLanguageType == 'commons') ? "wikimedia" : "wikipedia" );
         }
         else if (userstatstype == "x") {
         url = "//tools.wmflabs.org/xtools/pcount/index.php?name=" + uservisited 
               + "&lang=" + wikiLanguageType + "&wiki=" + ((wikiLanguageType == 'commons') ? "wikimedia" : "wikipedia" );
         }
         else if (userstatstype == "xt") {
         url = "//tools.wmflabs.org/xtools-ec/index.php?user=" + uservisited 
               + "&project=" + wikiLanguageType + "." + ((wikiLanguageType == 'commons') ? "wikimedia" : "wikipedia" ) + ".org";
         }
         mw.util.addPortletLink(tabs, url, userstatstext, "t-userstats");
 
         // Link auf Bildergalerie
         url = "http://toolserver.org/~daniel/WikiSense/Gallery.php?wikilang=" + wikiLanguageType + "&wikifam=.wikipedia.org"
         + "&format=html&img_user_text=" + uservisited + "&order=-img_timestamp";
         mw.util.addPortletLink(tabs, url, usergallerytext, "t-usergallery");
 
         // no idea whether the "stimmberechtigung" tool works for databases other than dewiki_p
         if (wikiLanguageType == 'de') {
             url = "//tools.wmflabs.org/stimmberechtigung/?user=" + uservisited +
                   "&day=" + Tag + "&mon=" + Monat + "&year=" + Jahr +
                   "&hour=" + jetzt.getHours() + "&min=" + jetzt.getMinutes();
             mw.util.addPortletLink(tabs, url, userstimmrechttext, "t-stimmrecht");
         }
     }
 
     // Link auf User-Neuanlagen
     if (adduserarticlelink) {
         if (userarticletype == "x") {
         url = "//tools.wmflabs.org/xtools/pages/index.php?name=" + uservisited 
               + "&lang=" + wikiLanguageType + "&wiki=" + ((wikiLanguageType == 'commons') ? "wikimedia" : "wikipedia" ) + "&namespace=0&redirects=noredirects&getall=1";
         }
         mw.util.addPortletLink(tabs, url, userarticletext, "t-userarticles");
     }

  }
 
  // show the page log (always)
  if ( mw.config.get('wgCanonicalNamespace') != "Special" ) {
     url = logstub + "&page=" + ptitle;
     mw.util.addPortletLink(tabs, url, pagelogtext, "t-logs");
  }
 
  // if this is a media file, show usage stats
  if (addiusagelink) {
     if ( mw.config.get('wgCanonicalNamespace') == "File" ) {
        url = "http://toolserver.org/~daniel/WikiSense/CheckUsage.php?i=" + sptitle + "&w=_100000#end";
        mw.util.addPortletLink(tabs, url, imgusagetext, "t-imgusage");
     }
  }
 
  // show the browse button (conditional)
  if (addbrowselink) {
     if ( mw.config.get('wgCanonicalNamespace') != "Special") {
        if ((browseuserprefix) && (( mw.config.get('wgNamespaceNumber') == 2 ) || ( mw.config.get('wgNamespaceNumber') == 3 )))
           url = prefistub + "&prefix=" + uservisited + "/&namespace=" + mw.config.get('wgNamespaceNumber');
        else
           url = allpstub + "&from=" + sptitle + "&namespace=" + mw.config.get('wgNamespaceNumber');
        mw.util.addPortletLink(tabs, url, browsetext, "t-browse");
     }
  }
 
  // show the browse-del button (conditional)
  if ((addbrowsedellink) && (adminflag)) {
     if ( mw.config.get('wgCanonicalNamespace') != "Special" ) {
        url = undelstub + "&prefix=" + ptitle ;
        mw.util.addPortletLink(tabs, url, browsedeltext, "t-browsedel");
     }
  }
 
 }
 
 $(document).ready(addLogsLink);
 
 // </nowiki>