MediaWiki:Common.js: Unterschied zwischen den Versionen
Admin (Diskussion | Beiträge) |
Admin (Diskussion | Beiträge) |
||
Zeile 10: | Zeile 10: | ||
* Maintainers: [[User:MarkS]], [[User:Voice of All]], [[User:R. Koot]] | * Maintainers: [[User:MarkS]], [[User:Voice of All]], [[User:R. Koot]] | ||
*/ | */ | ||
+ | |||
+ | |||
+ | function eraseButtons(){ | ||
+ | |||
+ | //Remove the buttons the user doesn't want | ||
+ | |||
+ | if(typeof rmEditButtons!='object') return; | ||
+ | |||
+ | if (typeof rmEditButtons[0] == 'string' && rmEditButtons[0].toLowerCase() == 'all') | ||
+ | { | ||
+ | mwEditButtons=[]; | ||
+ | for(i=0;i<enExtraButtons;i++){mwCustomEditButtons.shift();} | ||
+ | } | ||
+ | //Sort the user's requests so we remove the button with the highest index first | ||
+ | //- This ensures we remove the buttons the user expects whatever order he requested the buttons in | ||
+ | rmEditButtons.sort(sortit); | ||
+ | |||
+ | //Remove individual buttons the user doesn't want | ||
+ | |||
+ | for(i=0;i<rmEditButtons.length;i++){ | ||
+ | var n=rmEditButtons[i]; | ||
+ | //Standard Wikimedia buttons | ||
+ | if(n>=0 && n<mwEditButtons.length){ | ||
+ | if(n<mwEditButtons.length){ | ||
+ | var x = -1; | ||
+ | while((++x)<mwEditButtons.length) | ||
+ | if(x>=n) | ||
+ | mwEditButtons[x] = mwEditButtons[x+1]; | ||
+ | } | ||
+ | mwEditButtons.pop(); | ||
+ | } | ||
+ | //Extra buttons in English Wikipedia | ||
+ | n=n-mwEditButtons.length; | ||
+ | if(n>0 && n<mwCustomEditButtons.length){ | ||
+ | if(n<mwCustomEditButtons.length){ | ||
+ | var x = -1; | ||
+ | while((++x)<mwCustomEditButtons.length) | ||
+ | if(x>=n) | ||
+ | mwCustomEditButtons[x] = mwCustomEditButtons[x+1]; | ||
+ | } | ||
+ | mwCustomEditButtons.pop(); | ||
+ | } | ||
+ | } | ||
+ | }; | ||
Version vom 6. August 2009, 12:48 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]]
*/
function eraseButtons(){
//Remove the buttons the user doesn't want
if(typeof rmEditButtons!='object') return;
if (typeof rmEditButtons[0] == 'string' && rmEditButtons[0].toLowerCase() == 'all')
{
mwEditButtons=[];
for(i=0;i<enExtraButtons;i++){mwCustomEditButtons.shift();}
}
//Sort the user's requests so we remove the button with the highest index first
//- This ensures we remove the buttons the user expects whatever order he requested the buttons in
rmEditButtons.sort(sortit);
//Remove individual buttons the user doesn't want
for(i=0;i<rmEditButtons.length;i++){
var n=rmEditButtons[i];
//Standard Wikimedia buttons
if(n>=0 && n<mwEditButtons.length){
if(n<mwEditButtons.length){
var x = -1;
while((++x)<mwEditButtons.length)
if(x>=n)
mwEditButtons[x] = mwEditButtons[x+1];
}
mwEditButtons.pop();
}
//Extra buttons in English Wikipedia
n=n-mwEditButtons.length;
if(n>0 && n<mwCustomEditButtons.length){
if(n<mwCustomEditButtons.length){
var x = -1;
while((++x)<mwCustomEditButtons.length)
if(x>=n)
mwCustomEditButtons[x] = mwCustomEditButtons[x+1];
}
mwCustomEditButtons.pop();
}
}
};
if (mwCustomEditButtons) {
mwCustomEditButtons.push({
"imageFile": "http://upload.wikimedia.org/wikipedia/en/1/13/Button_enter.png",
"speedTip": "Line break",
"tagOpen": "<br />",
"tagClose": "",
"sampleText": ""
});
mwCustomEditButtons.push({
"imageFile": "http://upload.wikimedia.org/wikipedia/en/1/12/Button_gallery.png",
"speedTip": "Insert a picture gallery",
"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": "Insert a table",
"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"
});
}
rmEditButtons=[1,2,3];
//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);
});
//</source>