MediaWiki:Skin/Feedbackknopf.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
/* Ultrakurzfeedbackdings */ // CODE BEFINDET SICH IN Common.js UM DIE WARTEZEITEN BEIM NACHLADEN VON SKRIPTEN ZU MINIMIEREN function fb_error_callback () { jQuery('#mw-js-message').html("Bei der Zurückfütterung ist ein Fehler aufgetreten!"); jQuery('#mw-js-message').slideDown('fast'); } addOnloadHook( function () { jQuery("#p-namespaces ul").append("<li id='ca-feedback'><span><a title='Ein kurzes Feedback zu dieser Seite abgeben'>F/b</a></span></li>"); jQuery("body").append("<div id='f_b_background' style='display: none; position:fixed; opacity: 0.5; -moz-opacity: 0.5; width: 100%; height: 100%; top: 0px; left 0px; background-color: black;'> </div>"); jQuery("body").append("<div id='f_b' style='display: none; position:fixed; border: 1px black solid; background: white; left: 50%; top: 50%; width: 340px; height: 240px; padding: 30px; margin-left: -185px; margin-top: -135px;'><h5>Ultrakurzfeedback abgeben</h5><div style='font-size: 80%'>Füttere den Autor zurück: Text oder Bewertung oder beides.</div><div id='fb_preview_frame' style='display:none; font-size: 80%;'><div id='fb_preview_area'></div><div>(In der Vorschau werden die Schlangenlinien noch nicht ersetzt, später auf der Seite schon.)</div></div><form id='fb_form'><textarea style='height:100px;' /><br/><label for='fb_rating'>Kurzbewertung:</label><select name='fb_rating' id='fb_rating'><option value=''>ohne Kurzbewertung</option><option value='0'>0 Höcker –– grottenschlecht</option><option value='1'>1 Höcker –– schwach</option><option value='2'>2 Höcker –– neutrales Mittelfeld</option><option value='3'>3 Höcker –– gut</option><option value='4'>4 Höcker –– sehr gut</option><option value='5'>5 Höcker –– Spitzenbeitrag</option></select><br/><input type='checkbox' id='fb_autosign' name='fb_autosign' checked='checked' style='display:none;'><label for='fb_autosign' style='color:#777;font-size:0.8em;'>Dein Feedback wird automatisch unterschrieben!</label><br/><input type='submit' value='Abschicken' /><input id='fb_preview' type='button' value='Vorschau'><input id='fb_reset' type='reset' value='abbrechen'></form></div>"); jQuery("#fb_reset").click( function () { jQuery("#f_b_background, #f_b").hide(); }); jQuery("#fb_preview").click( function () { jQuery.ajax({ url: "/api.php", type: "POST", data: { action: "parse", text: "\n{{Kurzfeedback|text="+jQuery("#fb_form textarea").val()+(jQuery("#fb_autosign")[0].checked ? " -- ~~"+"~~" : "")+"|r="+jQuery("#fb_form select").val()+"}}", format: "xml" }, success: function (tr) { jQuery("#fb_preview_frame").show(); jQuery("#fb_preview_area").html(jQuery(tr).find("text").text()); jQuery("#f_b").css("height","350px"); jQuery("#f_b").css("margin-top","-190px"); jQuery("#f_b").css("width","540px"); jQuery("#f_b").css("margin-left","-195px"); } }); }); jQuery("#fb_form").submit( function () { var wgFormattedNamespaces = mw.config.get( 'wgFormattedNamespaces' ); var wgNamespaceNumber = mw.config.get( 'wgNamespaceNumber' ); var wgTitle = mw.config.get( 'wgTitle' ); if (jQuery("#fb_form textarea").val()+jQuery("#fb_form select").val() == "") { alert("Eins von beidem, Text oder Bewertung, solltest du schon mindestens ausfüllen!"); return false; } window.fb_data = { url: "/api.php", data: { action: "edit", title: wgFormattedNamespaces[wgNamespaceNumber+1]+":"+wgTitle, summary: "Kurzfeedback", appendtext: "\n{{Kurzfeedback|text="+jQuery("#fb_form textarea").val()+(jQuery("#fb_autosign")[0].checked ? " -- ~~"+"~~" : "")+"|r="+jQuery("#fb_form select").val()+"}}" }, success: function () { jQuery("#f_b_background, #f_b").hide(); jQuery("#ca-feedback").addClass("done"); jQuery('#mw-js-message').html("Die Zurückfütterung war erfolgreich!"); jQuery('#mw-js-message').slideDown('fast'); }, error: fb_error_callback, type: 'POST' }; jQuery.ajax({ cache: false, url: "/api.php", data: { format: "xml", action: "query", prop: "info", intoken: "edit", titles: wgFormattedNamespaces[wgNamespaceNumber+1]+":"+wgTitle }, type: 'GET', success: function(tr) { var token = jQuery(tr).find("api query pages page").attr('edittoken'); fb_data.data.token = token; var section_data = jQuery.ajax({ async: false, url: "/api.php", data: { action: "parse", prop: "sections", page: fb_data.data.title, format: "xml" }, error: fb_error_callback }).responseXML; fb_data.data.section = jQuery(section_data).find('s[line="Kurzfeedback"]').index() + 1; if (fb_data.data.section == 0) { fb_data.data.section = "new"; fb_data.data.text = fb_data.data.appendtext; delete fb_data.data.appendtext; } jQuery.ajax(fb_data); }, error: fb_error_callback }); return false; } ); jQuery("#ca-feedback").click(function () { jQuery("#f_b_background, #f_b").show(); jQuery("#fb_form textarea").focus(); }); });