MediaWiki:Skin/Feedbackknopf.js

/* 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(" F/b ");

jQuery("body").append(" "); jQuery("body").append(" Ultrakurzfeedback abgeben Füttere den Autor zurück: Text oder Bewertung oder beides.  (In der Vorschau werden die Schlangenlinien noch nicht ersetzt, später auf der Seite schon.)   Kurzbewertung: ohne Kurzbewertung 0 Höcker –– grottenschlecht 1 Höcker –– schwach 2 Höcker –– neutrales Mittelfeld <option value='3'>3 Höcker –– gut <option value='4'>4 Höcker –– sehr gut <option value='5'>5 Höcker –– Spitzenbeitrag  <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! <input type='submit' value='Abschicken' /><input id='fb_preview' type='button' value='Vorschau'><input id='fb_reset' type='reset' value='abbrechen'> ");

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", 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" },   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; });

});