MediaWiki:Common.js: Unterschied zwischen den Versionen

Aus KiwiThek
Wechseln zu: Navigation, Suche
Zeile 58: Zeile 58:
 
         "imageFile": "images/Anker.png",
 
         "imageFile": "images/Anker.png",
 
         "speedTip": "Top Anker",
 
         "speedTip": "Top Anker",
         "tagOpen": '<div class="imagelink_anker">[[#top|&nbsp;]]</div>',
+
         "tagOpen": '<div class="imagelink_anker" title="nach oben">[[#top|&nbsp;]]</div>',
 
         "tagClose": "",
 
         "tagClose": "",
 
         "sampleText": ""
 
         "sampleText": ""

Version vom 20. November 2009, 14:50 Uhr

/* Das folgende JavaScript wird für alle Benutzer geladen. */

 
/** Extra toolbar options ******************************************************
 *  
 *  Description: Adds extra buttons to the editing toolbar.
 *  
 *  To disable this script, add <code>mwCustomEditButtons = [];<code> to [[Special:Mypage/monobook.js]].
 *  
 *  Maintainers: [[User:MarkS]], [[User:Voice of All]], [[User:R. Koot]]
 */

 
if (mwCustomEditButtons) {
 
    mwCustomEditButtons.push({
        "imageFile": "http://upload.wikimedia.org/wikipedia/en/1/13/Button_enter.png",
        "speedTip": "Zeilenumbruch",
        "tagOpen": "<br />",
        "tagClose": "",
        "sampleText": ""
    });


    mwCustomEditButtons.push({
        "imageFile": "http://upload.wikimedia.org/wikipedia/en/1/12/Button_gallery.png",
        "speedTip": "Bildergalerie einfügen",
        "tagOpen": "\n<gallery>\n",
        "tagClose": "\n</gallery>",
        "sampleText": "Image:Example.jpg|Caption1\nImage:Example.jpg|Caption2"
    });
 
    mwCustomEditButtons.push({
        "imageFile": "http://upload.wikimedia.org/wikipedia/en/6/60/Button_insert_table.png",
        "speedTip": "Tabelle (3x3) einfügen",
        "tagOpen": '{| class="wikitable"\n|',
        "tagClose": "\n|}",
        "sampleText": "-\n! header 1\n! header 2\n! header 3\n|-\n| row 1, cell 1\n| row 1, cell 2\n| row 1, cell 3\n|-\n| row 2, cell 1\n| row 2, cell 2\n| row 2, cell 3"
    });

    mwCustomEditButtons.push({
        "imageFile": "skins/common/images/button_link.png",
        "speedTip": "Interner Link",
        "tagOpen": '<div class="intern">[[',
        "tagClose": "]]</div>",
        "sampleText": "Hier steht der interne Link"
    });

    mwCustomEditButtons.push({
        "imageFile": "images/Button_Farbe.PNG",
        "speedTip": "Farbe1",
        "tagOpen": '<span class="farbe1">',
        "tagClose": "</span>",
        "sampleText": "Hier steht der eingefärbte Text"
    });

    mwCustomEditButtons.push({
        "imageFile": "images/Anker.png",
        "speedTip": "Top Anker",
        "tagOpen": '<div class="imagelink_anker" title="nach oben">[[#top|&nbsp;]]</div>',
        "tagClose": "",
        "sampleText": ""
    });

    mwCustomEditButtons.push({
        "imageFile": "images/2SpaltenLayout.png",
        "speedTip": "2SpaltenLayout",
        "tagOpen": '{{2SpaltenLayout|Text=|Bilder=',
        "tagClose": "}",
        "sampleText": "}"
    });
}
 
//fix edit summary prompt for undo
//this code fixes the fact that the undo function combined with the "no edit summary prompter" causes problems if leaving the
//edit summary unchanged
//this was added by [[User:Deskana]], code by [[User:Tra]]
//see bug 8912
addOnloadHook(function () {
    if (document.location.search.indexOf("undo=") != -1
        && document.getElementsByName('wpAutoSummary')[0]) {
        document.getElementsByName('wpAutoSummary')[0].value='1';
    }
})
 
/** Edittools javascript loader ************************************************
 *
 *  Description: Pulls in [[MediaWiki:Edittools.js]]. Includes a cache-bypassing
 *  version number in the URL in order to allow any changes to the edittools to
 *  be rapidly deployed to users.
 *
 *  Note that, by default, this function does nothing unless the element with
 *  the ID "editpage-specialchars" (which contains the old edittools code in
 *  [[MediaWiki:Edittools]], and will be retained as a placeholder in the new
 *  implementation) has a class named "edittools-version-NNN", where NNN is a
 *  number.  If the class name has "test" before the number, the code will only
 *  run for users who have set "window.testJsEdittools = true" in their user JS.
 *  The "test" should be retained in the class name until the new edittools
 *  implementation is ready and fully tested, and until at least 30 days have
 *  passed since this loader stub was added (which will be in 27 June 2008).
 *
 *  For compatibility with Alex Smotrov's original implementation, on which this
 *  code is loosely based (see [[mw:User talk:Alex Smotrov/edittools.js]]), this
 *  loader can also be disabled by setting "window.noDefaultEdittools = true".
 *
 *  Maintainers: [[User:Ilmari Karonen]]
 */
 
addOnloadHook(function () {
    // needs to be deferred until the DOM has fully loaded
    var placeholder = document.getElementById("editpage-specialchars");
    if (!placeholder || window.noDefaultEdittools) return;
    var match = /(?:^| )edittools-version-(\d+)(?: |$)/.exec(placeholder.className);
 
    // set window.testJsEdittools = true to enable testing before full deployment
    if (!match && window.testJsEdittools)
        match = /(?:^| )edittools-version-(test\d+)(?: |$)/.exec(placeholder.className);
 
    if (!match) return;
    var url = wgScript + '?title=MediaWiki:Edittools.js&action=raw&ctype=text/javascript&nocache=' + match[1];
    importScriptURI(url);
});

/**
 *  
 * Modify Sidebar for special usergroups! 
 *
 */
 
function ModifySidebar(action, section, name, link) {
    try {
        switch (section) {
          case "languages":
            var target = "p-lang";
            break;
          case "toolbox":
            var target = "p-tb";
            break;
          case "navigation":
            var target = "p-navigation";
            break;
          default:
            var target = "p-" + section;
            break;
        }
 
        if (action == "add") {
            var node = document.getElementById(target)
                               .getElementsByTagName('div')[0]
                               .getElementsByTagName('ul')[0];
 
            var aNode = document.createElement('a');
            var liNode = document.createElement('li');
 
            aNode.appendChild(document.createTextNode(name));
            aNode.setAttribute('href', link);
            liNode.appendChild(aNode);
            liNode.className='plainlinks';
            node.appendChild(liNode);
        }
 
        if (action == "remove") {
            var list = document.getElementById(target)
                               .getElementsByTagName('div')[0]
                               .getElementsByTagName('ul')[0];
 
            var listelements = list.getElementsByTagName('li');
 
            for (var i = 0; i < listelements.length; i++) {
                if (listelements[i].getElementsByTagName('a')[0].innerHTML == name ||
                    listelements[i].getElementsByTagName('a')[0].href == link) {
 
                    list.removeChild(listelements[i]);
                }
            }
        }
 
    } catch(e) {
      // lets just ignore what's happened
      return;
    }
}
 
function CustomizeModificationsOfSidebar() {
    //removes [[Special:Specialsites]] from toolbox
    ModifySidebar("add", "toolbox", "Spezialseiten", "/index.php/Spezial:Spezialseiten");
}

//addOnloadHook(CustomizeModificationsOfSidebar);


function isObject(obj) {
    if (typeof obj == "object" && obj != null)
         return true;
    else
         return false;
}
 
function isArray(obj) {
    if (isObject(obj)) {
        if (obj.constructor.toString().indexOf("Array") == -1)
            return false;
        else
            return true;
    }
    else
        return false;
}
 
Array.prototype.Contains = function(element,strict) {
     for(i in this) {
          if(this[i] == element && !strict) return true;
               else if(this[i] === element) return true;
          }
     return false;
 }

if (isArray(wgUserGroups)) {
    if (wgUserGroups.Contains('sysop') || wgUserGroups.Contains('bureaucrat')) {  
         addOnloadHook(CustomizeModificationsOfSidebar);
       }   
}

//Alles was in dieser Else Klausel drinnsteht beeinflusst die Sicht der Toolbox für nicht reg. User!!
//else addOnloadHook(CustomizeModificationsOfSidebar);

//</source>