Stupidedia:Neuer Artikel: Unterschied zwischen den Versionen
Aus Stupidedia, der sinnfreien Enzyklopädie!
Sebus (Diskussion | Beiträge) K |
Phorgo (Diskussion | Beiträge) K (Mal sehen ...) |
||
Zeile 1: | Zeile 1: | ||
Mit dem folgenden Formular kannst du einen neuen Artikel für die Stupidedia erstellen. Bevor du das tust, solltest du unsere [[Stupidedia:Richtlinien|Richtlinien]] gelesen und verstanden haben, weil der Artikel sonst schnell wieder gelöscht wird. Merke: zehn Minuten Lesen ist weniger Arbeit als fünf Minuten Schreiben und dann stundenlang Ärgern, weil alles gelöscht wurde. | Mit dem folgenden Formular kannst du einen neuen Artikel für die Stupidedia erstellen. Bevor du das tust, solltest du unsere [[Stupidedia:Richtlinien|Richtlinien]] gelesen und verstanden haben, weil der Artikel sonst schnell wieder gelöscht wird. Merke: zehn Minuten Lesen ist weniger Arbeit als fünf Minuten Schreiben und dann stundenlang Ärgern, weil alles gelöscht wurde. | ||
+ | <html> | ||
+ | <form id="newarticleform" action="/stupi" method="GET" style="background-color: silver; border: 2px solid lightgrey; padding: 15px; text-align: center;"> | ||
+ | <b>Gib hier den gewünschten Titel ein:</b> | ||
+ | <input type="text" id="title" name="title" value="" onkeyup="checkTitle(this.value);" onchange="checkTitle(this.value);" /> | ||
+ | <input type="hidden" id="action" name="action" value="edit" /> | ||
+ | <input type="hidden" id="redlink" name="redlink" value="1" /> | ||
+ | <input type="hidden" id="editintro" name="editintro" value="Stupidedia:Neuer Artikel/Hinweis" /> | ||
+ | <input type="submit" value="Artikel erstellen" /> | ||
+ | <div id="newarticlewarning"></div> | ||
+ | </form> | ||
+ | </html> | ||
+ | <js> | ||
− | + | function checkTitle(title) { | |
− | var | + | var titleMatch = ucfirst(title.replace(/_/g, ' ').replace(/^[: ]*/, '')).match(/^[A-Za-z ]+:/); |
− | + | titleMatch = ($.type(titleMatch) === 'array') ? titleMatch[0] : null; | |
− | + | switch (titleMatch) { | |
− | + | case 'Spezial:': | |
− | + | displayWarning('Es ist nicht möglich, Spezialseiten zu erstellen.'); | |
− | + | disableForm(); | |
− | + | break; | |
− | + | case 'Diskussion:': | |
− | + | case 'Benutzer Diskussion:': | |
− | + | case 'Stupidedia Diskussion:': | |
− | + | case 'Datei Diskussion:': | |
− | + | case 'MediaWiki Diskussion:': | |
− | + | case 'Vorlage Diskussion:': | |
− | + | case 'Hilfe Diskussion:': | |
− | + | case 'Kategorie Diskussion:': | |
− | + | case 'Portal Diskussion:': | |
− | + | case 'Diverses Diskussion:': | |
− | + | case 'Sub Diskussion:': | |
− | + | case 'Spiegelwelten Diskussion:': | |
− | + | case 'Widget Diskussion:': | |
− | + | displayWarning('Das ist eine Diskussionsseite, kein Artikel.'); | |
− | + | enableForm(); | |
− | + | break; | |
− | + | case 'Stupidedia:': | |
− | + | case 'Hilfe:': | |
− | + | case 'Vorlage:': | |
− | + | case 'Kategorie:': | |
− | + | case 'Portal:': | |
− | + | if (global.groups.sysop === true) { | |
− | + | break; | |
− | + | } | |
− | + | displayWarning('Hilfe- und Projektseiten, Vorlagen, Kategorien und Portale dürfen nur mit diktatorischer Genehmigung erstellt werden. <input type="checkbox" id="permission" /> <label for="permission">Ja, ich habe eine Genehmigung!</label>'); | |
− | + | enableForm(); | |
+ | break; | ||
+ | case 'Datei:': | ||
+ | displayWarning('Dateien werden hochgeladen, nicht wie Artikel erstellt.'); | ||
+ | disableForm(); | ||
+ | break; | ||
+ | case 'MediaWiki:': | ||
+ | case 'Widget:': | ||
+ | if (global.groups.sysop === true) { | ||
+ | $('#newarticlewarning').html(''); | ||
+ | enableForm(); | ||
+ | } | ||
+ | else { | ||
+ | displayWarning('Systemtexte und Widgets können nur von Diktatoren erstellt werden.'); | ||
+ | disableForm(); | ||
+ | } | ||
+ | break; | ||
+ | default: | ||
+ | $('#newarticlewarning').html(''); | ||
+ | enableForm(); | ||
+ | break; | ||
+ | } | ||
} | } | ||
− | + | ||
− | + | function disableForm() { | |
− | + | $('#newarticleform input[type="submit"]').attr('disabled', 'disabled'); | |
− | + | } | |
− | < | + | |
− | <br> | + | function enableForm() { |
− | < | + | $('#newarticleform input[type="submit"]').attr('disabled', null); |
− | </ | + | } |
+ | |||
+ | function displayWarning(text) { | ||
+ | $('#newarticlewarning').html(text); | ||
+ | } | ||
+ | |||
+ | function checkPage() { | ||
+ | if ($('#permission').length !== 0) { | ||
+ | if ($('#permission:checked').length === 0) { | ||
+ | return; | ||
+ | } | ||
+ | } | ||
+ | var title = $('#title').val(); | ||
+ | $('#newarticleform input[type="submit"]').attr('disabled', 'disabled').val('Bitte warten ...'); | ||
+ | api.request({ | ||
+ | action: 'query', | ||
+ | prop: 'info', | ||
+ | inprop: 'protection', | ||
+ | titles: title | ||
+ | }, function(data, title) { | ||
+ | $('#newarticleform input[type="submit"]').attr('disabled', null).val('Artikel erstellen'); | ||
+ | if (data.error !== undefined) { | ||
+ | displayWarning('Da ist grad irgendein Fehler aufgetreten:<br /><i>' + mw.html.escape(data.error.code) + ': ' + mw.html.escape(data.error.info) + '</i><br />Melde ihn bitte im <a href="' + mw.util.wikiGetlink('Stupidedia Diskussion:Userportal#Sonstiges') + '">Userportal</a>, danke.'); | ||
+ | return; | ||
+ | } | ||
+ | var page = api.makeArray(data)[0]; | ||
+ | if (page.invalid !== undefined) { | ||
+ | displayWarning('Du hast einen ungültigen Titel angegeben. Nimm einfach mal alle Sonderzeichen raus, dann funktioniert es vielleicht.'); | ||
+ | return; | ||
+ | } | ||
+ | if (page.missing !== undefined) { | ||
+ | if (checkProtection(page) === true) { | ||
+ | displayWarning('Die Seite gibt\'s noch nicht, aber sie wurde schreibgeschützt. Frag doch mal im <a href="' + mw.util.wikiGetlink('Stupidedia Diskussion:Userportal#Bitte entsperren') + '">Userportal</a> nach, ob man sie dir aufschließt.'); | ||
+ | } | ||
+ | else { | ||
+ | displayWarning('Jo. Du wirst jetzt zum Bearbeitungsfenster weitergeleitet.'); | ||
+ | location.href = mw.config.get('wgServer') + '/stupi?title=' + encodeURIComponent(title) + '&action=edit&redlink=1&editintro=' + encodeURIComponent('Stupidedia:Neuer Artikel/Hinweis'); | ||
+ | } | ||
+ | } | ||
+ | else { | ||
+ | if (checkProtection(page) === true) { | ||
+ | displayWarning('Die Seite gibt\'s schon und sie wurde schreibgeschützt. Du kannst sie also <a href="' + mw.util.wikiGetlink(title) + '">lesen</a>. Falls du sie trotzdem bearbeiten möchtest, lies sie dir vorher aufmerksam durch, überlege dir, ob deine Ideen in den Artikel eingegliedert werden können und frag dann im <a href="' + mw.util.wikiGetlink('Stupidedia Diskussion:Userportal#Bitte entsperren') + '">Userportal</a> nach, ob man sie dir aufschließt.'); | ||
+ | } | ||
+ | else { | ||
+ | displayWarning('Die Seite gibt\'s schon. Du kannst sie also <a href="' + mw.util.wikiGetlink(title) + '">lesen</a>. Falls du sie trotzdem bearbeiten möchtest, lies sie dir vorher aufmerksam durch, überlege dir, ob deine Ideen in den Artikel eingegliedert werden können und klick dann oben rechts neben der Suchfunktion auf <b>Bearbeiten</b>.'); | ||
+ | } | ||
+ | } | ||
+ | }, title); | ||
+ | } | ||
+ | |||
+ | function checkProtection(page) { | ||
+ | if (page.protection === undefined) { | ||
+ | return false; | ||
+ | } | ||
+ | for (var i = 0; i < page.protection.length; i++) { | ||
+ | if ($.inArray(page.protection[i].type, ['edit', 'create']) !== 0 && $.inArray(page.protection[i].level, mw.config.get('wgUserGroups')) === -1) { | ||
+ | return true; | ||
+ | } | ||
+ | } | ||
+ | return false; | ||
+ | } | ||
+ | |||
+ | $('#newarticleform').ready(function() { | ||
+ | $('#newarticleform').attr('action', 'javascript:checkPage();'); | ||
+ | }); | ||
+ | |||
+ | </js> |
Version vom 27. August 2012, 20:29 Uhr
Mit dem folgenden Formular kannst du einen neuen Artikel für die Stupidedia erstellen. Bevor du das tust, solltest du unsere Richtlinien gelesen und verstanden haben, weil der Artikel sonst schnell wieder gelöscht wird. Merke: zehn Minuten Lesen ist weniger Arbeit als fünf Minuten Schreiben und dann stundenlang Ärgern, weil alles gelöscht wurde.