MediaWiki:Skin/Frage.js
aus Kamelopedia, der wüsten Enzyklopädie
Hinweis: Leere nach dem Speichern den Browser-Cache, um die Änderungen sehen zu können.
- Firefox/Safari: Umschalttaste drücken und gleichzeitig Aktualisieren anklicken oder entweder Strg+F5 oder Strg+R (⌘+R auf dem Mac) drücken
- Google Chrome: Umschalttaste+Strg+R (⌘+Umschalttaste+R auf dem Mac) drücken
- Internet Explorer: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
- Opera: Extras → Internetspuren löschen … → Individuelle Auswahl → Den kompletten Cache löschen
var fragenkats = [ "Beauty & Style", "Computer & Internetz", "Essen & Trinken", "Freizeit", "Freunde & Familie", "Gesundheit", "Haus & Garten", "Kultur & Gesellschaft", "Kunst & Unterhaltung", "Kunst & Unterhaltung", "Politik", "Reisen", "Transport & Verkehr", "Umwelt", "Wirtschaft & Finanzen", "Wissenschaft" ]; function fragenkatsHTML() { var html = '<div id="fragenkats" style="float:right;"><b>Themengebiete</b> (ohne Funktion!)<br />'; for (var i = 0; i < fragenkats.length; i++) { var kat = fragenkats[i]; html += "<input type='checkbox' id='fakat_" + i + "' name='fakat_" + i + "'><label for='fakat_" + i + "' style='color:#fff;'>" + kat + "</label><br/>"; } html += '</div>'; return html; } //funzt net function fa_fehler() { jQuery('#mw-js-message').html("Hmm, es ist ein Fehler aufgetreten!"); jQuery('#mw-js-message').slideDown('fast'); } //dependencies mw.loader.using(['jquery.ui.dialog'], function () { //abfeuern, wenn document ready jQuery(document).ready(function () { // vars wegen unterschiedlicher skins ... var fa_skin = mw.user.options.get('skin'); var fa_heading = "#firstHeading"; var fa_footer = "#catlinks"; if (fa_skin == "wptouch") { fa_heading = "h2"; fa_footer = ".cleared" } // Wenn Frage länger als erlaubte Seitentitellänge, dann austauschen den Kram, ansonsten nur den Titel ohne NS if (jQuery('#fragezulang').text().length > 0) { jQuery(fa_heading).text(jQuery('#fragezulang').text()); jQuery('#fragezulang').hide(0); } else { jQuery(fa_heading).text(jQuery(fa_heading).text().replace("Frage:", "")); } //Hauptseitenlinks verdrehen if (fa_skin == "vector") { jQuery('#p-logo').html(jQuery('#p-logo').html().replace('Kamelopedia:Hauptseite', 'Frage:Hauptseite')); // Zufällige Frage jQuery('#p-Navigation').html(jQuery('#p-Navigation').html().replace('">Zufällige Seite', '/Frage">Zufällige Frage')); } jQuery('#n-Hauptseite').html(jQuery('#n-Hauptseite').html().replace('Kamelopedia:Hauptseite', 'Frage:Hauptseite')); //temp: sobald NS-Frage fei, dann nur noch Link austauschen jQuery("#n-KameloNews").before("<li><a href='/index.php/Kamelopedia:Hauptseite'>Kamelopedia</a></li>"); //Zeuch //Knöppe & Formular und so nicht auf Diskussionsseite //temp Namenrum nicht bearbeitbar //jQuery(fa_heading).before("<div id='fragtmp' style='color:red;text-align:center;'>Dieser Namensraum ist noch eine Baustelle, und kann bisher nur von Kameltreibern bearbeitet werden.</div>"); if (mw.config.get('wgNamespaceNumber') != 115 && (location.href.indexOf("action=") < 0) && mw.config.get('wgArticleId') != 0) { var knopptext = "Diese Frage beantworten"; var formulartext = "Deine Antwort"; var neuefrage = false; var summarytext = "Antwort"; var apiaction = "edit"; var hinweis = "Denk daran: Dies ist ein Humorwiki.<br/>Keine der hier gestellten Fragen ist ernst gemeint. Das sollte auch für deine Antwort gelten."; if (mw.config.get('wgPageName') == "Frage:Hauptseite" && (location.href.indexOf("action=") < 0) && mw.config.get('wgArticleId') != 0) { knopptext = "Eine neue Frage stellen …"; formulartext = "Deine Frage"; neuefrage = true; summarytext = "Neue Frage"; apiaction = "edit"; var hinweis = "Denk daran: Dies ist ein Humorwiki.<br/>Wenn du ernsthafte Antworten erwartest, dann frag besser woanders …"; } jQuery("#bodyContent").before("<div id='fragnav'><span id='fak' class='fragnavknopp'>" + knopptext + "</span></div>"); jQuery("#fragnav").after("<div id='fragantwort' style='display:none;'><h5>" + formulartext + "</h5><div class='fragehinweis'>" + hinweis + "</div><form id='fragantwort_form' style='width:90%'><textarea style='height:100px;' /><br/><input type='submit' value='Speichern' /><input id='fragantwort_reset' type='reset' value='abbrechen'></form></div><div id='dialog-modal' title='Das speichere ich nicht!' style='display:none;'><p>Oh wie lustig, eine leere Antwort speichern ... mach ich nicht:P</p></div>"); //jQuery("#fragantwort_form").before(fragenkatsHTML()); jQuery("#fragantwort_form").submit(function () { var wgUserName = mw.config.get('wgUserName'); if (mw.config.get('wgUserGroups').length == 1) { var kamelname = "~~" + "~" } else { var kamelname = "[[Kamel:" + wgUserName + "|" + wgUserName + "]]" } if (jQuery("#fragantwort_form textarea").val() == "") { jQuery("#dialog-modal").dialog({ maxWidth: 650, modal: true }); return false; } //neue frage oder nicht oder was? if (neuefrage) { var frageurl = encodeURIComponent("Frage:" + jQuery("#fragantwort_form textarea").val()); if (frageurl.length > 240) { var seitentext = "[[Kategorie:!Frage]]<div id='fragezulang'>" + jQuery("#fragantwort_form textarea").val() + "</div>"; seitentitel = decodeURIComponent(frageurl.substring(0, 240) + "%E2%80%A6%3F"); } else { var seitentext = "[[Kategorie:!Frage]]"; var seitentitel = "Frage:" + jQuery("#fragantwort_form textarea").val(); } } else { var seitentext = "\n==== " + kamelname + " ====\n" + jQuery("#fragantwort_form textarea").val(); var seitentitel = mw.config.get('wgPageName'); } //gehackte Kat Antwort if (jQuery('.mw-headline').length == 0) { seitentext = "\n[[Kategorie:!Antwort]]" + seitentext } window.antwortdata = { url: "/api.php", data: { format: 'json', action: apiaction, title: seitentitel, summary: summarytext, appendtext: seitentext }, success: function (data) { if (data.error && data.error.code !== 'unknownerror') { switch (data.error.code) { case 'articleexists': var fehlermeldung = 'Diese Frage wurde bereits gestellt.'; break; case 'blocked': var fehlermeldung = 'Du kannst keine Fragen stellen oder beantworten, da du gesperrt wurdest.'; break; default: var fehlermeldung = 'Es ist ein Fehler aufgetreten. Die API meldet:<br />' + data.error.code + ': ' + data.error.info; break; } $('#antwortfehler').remove(); $('#fragantwort .fragehinweis').append('<div class="error" id="antwortfehler">' + fehlermeldung + '</div>'); return; } if (neuefrage) { window.location = mw.config.get('wgServer') + "/index.php/" + encodeURIComponent(seitentitel); } else { location.reload(true); } }, error: fa_fehler, type: 'POST' }; if (neuefrage) { window.antwortdata.data.createonly = true; } jQuery.ajax({ cache: false, url: "/api.php", data: { format: "xml", action: "query", prop: "info", intoken: "edit", titles: seitentitel }, type: 'GET', success: function (tr) { var token = jQuery(tr).find("api query pages page").attr('edittoken'); antwortdata.data.token = token; jQuery.ajax(antwortdata); }, error: fa_fehler }); return false; }); jQuery("#fak").click(function () { //jQuery('.mw-content-ltr').hide('fast'); //jQuery('.fragnavknopp').hide(); jQuery("#fragantwort").show(); jQuery("#fragantwort_form textarea").focus(); }); jQuery("#fragantwort_reset").click(function () { //jQuery('.mw-content-ltr').show(); //jQuery('.fragnavknopp').show(); jQuery("#fragantwort").hide(); }); } }); });