Stupidedia:Neuer Artikel: Unterschied zwischen den Versionen
Aus Stupidedia, der sinnfreien Enzyklopädie!
(Neu: "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 hab…") |
K (hübscher) |
||
(19 dazwischenliegende Versionen von 5 Benutzern werden nicht angezeigt) | |||
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. | + | 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. |
+ | Um einen Artikel z. B. im [[Stupidedia:Diverses|Raum Diverses]] anzulegen, schreibst du einfach <code>Diverses:</code> vor den gewünschten Titel. | ||
− | < | + | <html> |
− | + | <form id="newarticleform" action="/stupi" method="get" style="background-color: silver; border: 2px solid lightgrey; padding: 15px; text-align: center;"> | |
− | + | <label for="title">Gib hier den gewünschten Titel ein:</label> | |
− | + | <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="submit" value="Artikel erstellen" /> | |
− | + | <div id="newarticlewarning"></div> | |
− | + | </form> | |
− | + | </html> | |
− | + | <js> | |
− | + | ||
− | + | function checkTitle(title) { | |
− | + | if ($('#newarticleform input[type="submit"]').val() === 'Bitte warten …') { | |
− | + | return; | |
− | + | } | |
− | + | if (title.match(/[#<>\[\]\|\{\}]/) !== null) { | |
− | + | displayWarning('Folgende Zeichen dürfen nicht im Titel vorkommen:<br /><tt># < > [ ] | { }</tt>'); | |
− | + | disableForm(); | |
− | + | return; | |
− | + | } | |
− | + | title = new mw.Title(title); | |
− | + | switch (title.getNamespaceId()) { | |
− | + | case -1: | |
− | + | displayWarning('Es ist nicht möglich, Spezialseiten zu erstellen.'); | |
− | + | disableForm(); | |
− | + | break; | |
− | + | case 1: | |
− | + | case 3: | |
− | + | case 5: | |
− | + | case 7: | |
− | + | case 9: | |
− | + | case 11: | |
− | + | case 13: | |
+ | case 15: | ||
+ | case 101: | ||
+ | case 103: | ||
+ | case 105: | ||
+ | case 107: | ||
+ | case 109: | ||
+ | case 275: | ||
+ | displayWarning('Das ist eine Diskussionsseite, kein Artikel.'); | ||
+ | enableForm(); | ||
+ | break; | ||
+ | case 2: | ||
+ | displayWarning('Das ist eine Benutzerseite, kein Artikel. Ach ja, Benutzerseiten dürfen in der Regel nur von ihrem Inhaber angelegt werden, falls du also unerlaubt eine fremde erstellen willst: Lass es. Die wird gleich wieder gelöscht.'); | ||
+ | enableForm(); | ||
+ | break; | ||
+ | case 4: | ||
+ | case 10: | ||
+ | case 12: | ||
+ | case 14: | ||
+ | case 100: | ||
+ | if (global.groups.sysop === true) { | ||
+ | enableForm(); | ||
+ | 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 -2: | ||
+ | case 6: | ||
+ | displayWarning('Dateien werden hochgeladen, nicht wie Artikel erstellt.'); | ||
+ | disableForm(); | ||
+ | break; | ||
+ | case 8: | ||
+ | case 274: | ||
+ | if (global.groups.sysop === true) { | ||
+ | $('#newarticlewarning').html(''); | ||
+ | enableForm(); | ||
+ | } | ||
+ | else { | ||
+ | displayWarning('Systemtexte und Widgets können nur von Diktatoren erstellt werden.'); | ||
+ | disableForm(); | ||
+ | } | ||
+ | break; | ||
+ | case 108: | ||
+ | displayWarning('Fragen sollten auf <a href="/stupi/Stupidedia:Hilft!">Stupidedia:Hilft!</a> gestellt werden. Das ist etwas komplexer als die Erstellung eines Artikels.'); | ||
+ | disableForm(); | ||
+ | break; | ||
+ | default: | ||
+ | $('#newarticlewarning').html(''); | ||
+ | enableForm(); | ||
+ | break; | ||
+ | } | ||
+ | } | ||
+ | |||
+ | function disableForm() { | ||
+ | $('#newarticleform input[type="submit"]').attr('disabled', 'disabled'); | ||
+ | } | ||
+ | |||
+ | function enableForm() { | ||
+ | $('#newarticleform input[type="submit"]').attr('disabled', null); | ||
+ | } | ||
+ | |||
+ | function displayWarning(text) { | ||
+ | $('#newarticlewarning').html(text); | ||
+ | } | ||
+ | |||
+ | function checkPage() { | ||
+ | if ($('#title').val() === '') { | ||
+ | displayWarning('Du musst schon einen Titel angeben, ne?'); | ||
+ | return; | ||
+ | } | ||
+ | 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'; | ||
+ | } | ||
+ | } | ||
+ | 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> | ||
+ | <css> | ||
+ | #newarticleform #title { | ||
+ | min-width: 40%; | ||
+ | max-width: 100%; | ||
+ | } | ||
+ | #newarticleform label { | ||
+ | font-weight: bold; | ||
} | } | ||
− | </ | + | </css> |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
Aktuelle Version vom 30. April 2016, 17:54 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.
Um einen Artikel z. B. im Raum Diverses anzulegen, schreibst du einfach Diverses:
vor den gewünschten Titel.