MediaWiki:EditControl.js

/* */

/* ============== Edit Control ========================== author:     Petr Kajzar User:Slepi date:       03/2009 license:    form Wikilectures lf1.cuni.cz   description: script checks new user, whether he filled in               the Summary and used Preview ==========================================================

// FUNKCE KONTROLUJÍCÍ ZKUŠENOST UŽIVATELE A POUŽITÍ NÁHLEDU function kontrolaNahledu {

// kontrola zkušenosti uživatele - příslušnost k autoconfirmed if (wgUserGroups) { userrights = wgUserGroups.toString; autoconfirmed = userrights.search("autoconfirmed"); } else { autoconfirmed = -1; }

if (autoconfirmed != -1) return;

// kontrola použití tlačítka náhledu if (wgAction=="edit") { document.forms["editform"].elements["wpSave"].onclick = function {return zablokovat(true)}; } else if (document.forms["editform"]) { document.forms["editform"].elements["wpSave"].onclick = function {return zablokovat(false)}; } }

// FUNKCE KONTROLUJÍCÍ VYPLNĚNÍ SHRNUTÍ A GENERUJÍCÍ CHYBOVOU HLÁŠKU function zablokovat(edit) {

// kontrola vyplnění shrnutí editace if(document.getElementById("wpSummary")) { wpsummary = document.getElementById("wpSummary").value; if (wpsummary == "") summary = false; } else { wpsummary = true; }

// chybová hláška if (edit || !wpsummary) { i = 1; text_potvrzeni = "Error:\n\n"; if (!wpsummary) {text_potvrzeni += i + ". You did not filled in the Summary.\n"; i++} if (edit) text_potvrzeni += i + ". You did not check your edit by clicking the Preview button.\n"; text_potvrzeni += "\nDo you still want to save your editation?"; if (edit) text_potvrzeni += '\n(click on "Cancel" to preview)'; potvrzeni = window.confirm(text_potvrzeni); } else {potvrzeni = true;}

// zobrazení náhledu, příp. odeslání editace na server if (!potvrzeni) { if (document.getElementById("wpPreview")) { if (edit) document.forms["editform"].elements["wpPreview"].click; }   return false; } else { return true; } }

// SPUSTIT KONTROLU PO NAČTENÍ STRÁNKY if (window.addEventListener) { window.addEventListener ("load", kontrolaNahledu, false) } else if (window.attachEvent) { window.attachEvent ("onload", kontrolaNahledu) }

/* */