Utente:Sanjilops/monobook.js: differenze tra le versioni
Vai alla navigazione
Vai alla ricerca
Contenuto aggiunto Contenuto cancellato
mNessun oggetto della modifica |
Nessun oggetto della modifica |
||
Riga 92: | Riga 92: | ||
form.appendChild(p); |
form.appendChild(p); |
||
} |
} |
||
/* addOnloadHook(function () { |
|||
var b = document.getElementById("quicksaveButton"); |
|||
if (!b) return; |
|||
b.removeEventListener('click', quicksave, false); |
|||
b.addEventListener('click', quicksaveX, false); |
|||
return; |
|||
}); |
|||
addOnloadHook(function () { |
|||
var b = document.getElementById("quickpreviewButton"); |
|||
if (!b) return; |
|||
b.removeEventListener('click', quickpreview, false); |
|||
b.addEventListener('click', quickpreviewX, false); |
|||
return; |
|||
}); |
|||
*/ |
|||
function quicksaveX () { |
|||
var textbox = document.getElementById("wpTextbox1"); |
|||
textbox.disabled = true; |
|||
document.getElementById("wpSave").disabled = true; |
|||
document.getElementById("quicksaveButton").disabled = true; |
|||
var temp = null; |
|||
temp = document.getElementById("quickpreviewButton"); |
|||
if (temp) temp.disabled = true; |
|||
var Source = encodeURIComponent(textbox.value); |
|||
var msg_box = document.getElementById("quicksave_msgbox"); |
|||
if (msg_box == null) { |
|||
msg_box = document.createElement('div'); |
|||
msg_box.id = "quicksave_msgbox"; |
|||
document.getElementById('content').insertBefore(msg_box, document.getElementById('firstHeading')); |
|||
} |
|||
else msg_box.innerHTML = ''; |
|||
var httpRequest = createRequest(); |
|||
var id = setTimeout(function() { httpRequest.abort(); msg_box.innerHTML = "Salvataggio fallito: il server non risponde.".fontcolor('Red'); Finish(false); }, 30000); |
|||
httpRequest.onreadystatechange = function () { Response(httpRequest, id); return;}; |
|||
var url = wgServer + wgScriptPath + "/api.php"; |
|||
var param = "action=edit&format=txt&title=" + encodeURIComponent(wgPageName); |
|||
param += "&token=" + document.getElementsByName("wpEditToken")[0].value.replace(/\+\\/, '%2' + "B%5" + 'C'); |
|||
temp = document.getElementById("wpSummary"); |
|||
if (temp) param += "&summary=" + encodeURIComponent(temp.value); |
|||
temp = document.getElementById("wpCaptchaId"); |
|||
if (temp) param += "&captchaid=" + temp.value + "&captchaword=" + encodeURIComponent(document.getElementById("wpCaptchaWord").value); |
|||
temp = document.getElementById("wpMinoredit"); |
|||
if (temp && temp.checked) param += "&minor="; |
|||
temp = document.getElementById("wpWatchthis"); |
|||
if (temp) { |
|||
var Watched = temp.checked; |
|||
if (document.getElementById('ca-watch') && Watched) param += "&watch="; |
|||
if (document.getElementById('ca-unwatch') && !Watched) param += "&unwatch="; |
|||
} |
|||
param += "&basetimestamp=" + document.getElementsByName("wpEdittime")[0].value; |
|||
param += "&starttimestamp=" + document.getElementsByName("wpStarttime")[0].value; |
|||
param += "&text=" + Source; |
|||
param += "&md5=" + MD5(textbox.value); |
|||
httpRequest.open('POST', url, true); |
|||
httpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); |
|||
httpRequest.setRequestHeader('Content-Length', param.length); |
|||
document.getElementsByTagName('body')[0].style.cursor = 'progress'; |
|||
httpRequest.send(param); |
|||
return; |
|||
function Response (o, id) { |
|||
if (o.readyState != 4) return; |
|||
clearTimeout(id); |
|||
msg_box.scrollIntoView(); |
|||
if (o.status != 200) { |
|||
if (o.status && (o.status < 199 || o.status > 300)) { |
|||
msg_box.innerHTML = "Salvataggio fallito. Risposta del server: ".fontcolor('Red') + o.status.fontcolor('Red'); |
|||
Finish(false); |
|||
} |
|||
return; |
|||
} |
|||
msg_box.innerHTML = o.responseText; |
|||
Finish(true); |
|||
return; |
|||
} |
|||
function Finish(success) { |
|||
document.getElementById("wpSave").disabled = false; |
|||
document.getElementById("quicksaveButton").disabled = false; |
|||
document.getElementsByTagName('body')[0].style.cursor = 'auto'; |
|||
textbox.disabled = false; |
|||
return; |
|||
} |
|||
} // <-quicksaveX() |
|||
Riga 228: | Riga 139: | ||
} |
} |
||
function Quick_Editor() { |
|||
quickdiff_load(); |
|||
var sect = $("[name=wpSection]"); |
|||
if (!/&?undo=\d+/.test(location.search) && ((sect.length && !sect.val()) || !sect.length)) quicksave_load(); |
|||
if (["MediaWiki:Common.css", "MediaWiki:Monobook.css", "MediaWiki:Common.js", "MediaWiki:Monobook.js", "Utente:" + wgUserName + "/monobook.css", "Utente:" + wgUserName + "/monobook.js"].indexOf(wgPageName) == -1) |
|||
quickpreview_load(); |
|||
$("#wpTextbox1").bind('keyup cut paste', quickedit_switch).blur(function() {setTimeout(quickedit_switch, 300);}); |
|||
var c = document.createElement('span'); |
|||
c.id = "quickeditor_charactercount"; |
|||
$(c).text($("#wpTextbox1").val().length.toString() + " caratteri"); |
|||
$("#toolbar").append(c); |
|||
return; |
|||
} |
|||
function quickedit_switch() { |
|||
var captchaId = "6LfMi8ISAAAAAEHGqimcbeDqz4qameKCUOszTC-J"; |
|||
$("#quicksaveButton").attr('disabled', this.value == quicksave_checktext ? 'disabled' : ''); |
|||
if (!(/\.css$/.test(wgTitle) && wgNamespaceNumber % 2 == 0)) { |
|||
$("#quickpreviewButton").val(this.selectionStart < this.selectionEnd ? "Anteprima selezione" : "Visualizza anteprima"); |
|||
} |
|||
$("#quickeditor_charactercount").text(this.value.length.toString() + " caratteri"); |
|||
return; |
|||
} |
|||
var QS_waitforpreview = " Creazione anteprima della pagina in corso..."; |
|||
function showRecaptcha() { |
|||
var quicksave_checktext = ''; |
|||
if (wgPageName != "Utente:Sanjilops/sandbox") return; |
|||
function quicksave_load() { |
|||
var scriptElem = document.createElement( 'script' ); |
|||
var b = document.createElement('input'); |
|||
scriptElem.type = 'text/javascript'; |
|||
b.type = 'button'; |
|||
$("#wpSave").after(b); |
|||
scriptElem.src = "http://www.google.com/recaptcha/api/js/recaptcha_ajax.js"; |
|||
b.value = "Salva"; |
|||
document.getElementsByTagName( 'head' )[0].appendChild( scriptElem ); |
|||
b.id = "quicksaveButton"; |
|||
var form = document.getElementById("captchaform"); |
|||
$(b).click(quicksave); |
|||
var div = document.createElement('div'); |
|||
b.accessKey = '1'; |
|||
form.appendChild(div); |
|||
b.title = "Salva e continua a modificare la pagina [alt-shift-1]"; |
|||
var button = document.createElement('input'); |
|||
b.disabled = true; |
|||
form.appendChild(button); |
|||
quicksave_checktext = $("#wpTextbox1").val(); |
|||
button.disabled = true; |
|||
return; |
|||
button.type = 'button'; |
|||
} |
|||
button.value = "Invia"; |
|||
var id = setTimeout( function () { |
|||
function quicksave () { |
|||
Recaptcha.create(captchaId, div, { |
|||
var textbox = $("#wpTextbox1")[0]; |
|||
theme: "red", |
|||
var Source = textbox.value; |
|||
callback: Recaptcha.focus_response_field, |
|||
textbox.disabled = true; |
|||
custom_translations : { |
|||
$("#wpSummary, #wpSave, #quicksaveButton, #quickpreviewButton, #quickdiffButton").attr('disabled','disabled'); |
|||
instructions_visual : "Scrivi le due parole:", |
|||
$('body').css('cursor','progress'); |
|||
instructions_audio : "Trascrivi ci\u00f2 che senti:", |
|||
play_again : "Riascolta la traccia audio", |
|||
var temp = $("#quicksave_msgbox")[0]; |
|||
cant_hear_this : "Scarica la traccia in formato MP3", |
|||
if (!temp) { |
|||
visual_challenge : "Modalit\u00e0 visiva", |
|||
temp = document.insertBefore(document.createElement('div'), $("#editform")[0]); |
|||
audio_challenge : "Modalit\u00e0 auditiva", |
|||
temp.id = "quicksave_msgbox"; |
|||
refresh_btn : "Chiedi due nuove parole", |
|||
var msg_box = temp.appendChild(document.createElement('div')); |
|||
help_btn : "Aiuto", |
|||
var msg_box_close = temp.appendChild(document.createElement('span')); |
|||
incorrect_try_again : "Scorretto. Riprova.", |
|||
msg_box_close.id = "quicksave_msgbox_close"; |
|||
}, |
|||
msg_box_close.innerHTML = '×'; |
|||
lang : 'it', |
|||
$(msg_box_close).click( function () { $("#quicksave_msgbox").hide("slow"); }); |
|||
}); |
|||
} |
|||
button.onclick = sendRecaptcha(); |
|||
else { |
|||
button.disabled = false; |
|||
temp.style.display = 'block'; |
|||
var msg_box = temp.firstChild; |
|||
} |
|||
msg_box.innerHTML = "Salvataggio in corso..."; |
|||
// msg_box.scrollIntoView(); |
|||
var param = "action=edit&format=xml&title=" + encodeURIComponent(wgPageName); |
|||
param += "&token=" + $("[name=wpEditToken]:first").val().replace(/\+\\/, '%2' + 'B%5' + 'C'); |
|||
param += "&summary=" + encodeURIComponent($("#wpSummary").val()); |
|||
temp = $("#wpCaptchaId")[0]; |
|||
if (temp) { |
|||
param += "&captchaid=" + temp.value + "&captchaword=" + encodeURIComponent($("#wpCaptchaWord").val()); |
|||
$("#editform #captcha_box").remove(); |
|||
} |
|||
if ($("#wpMinoredit")[0].checked) param += "&minor="; |
|||
var Watched = $("#wpWatchthis")[0].checked; |
|||
if ($("#ca-watch")[0] && Watched) { |
|||
$("#ca-watch").text(wgAjaxWatch["watchingMsg"].toLowerCase()); |
|||
param += "&watchlist=watch"; |
|||
} |
|||
if ($("#ca-unwatch")[0] && !Watched) { |
|||
$("#ca-unwatch").text(wgAjaxWatch["unwatchingMsg"].toLowerCase()); |
|||
param += "&watchlist=unwatch"; |
|||
} |
|||
param += "&basetimestamp=" + $("[name=wpEdittime]:first")].val(); |
|||
param += "&starttimestamp=" + $("[name=wpStarttime]:first")].val(); |
|||
param += "&md5=" + MD5(textbox.value); |
|||
param += "&text=" + encodeURIComponent(Source); |
|||
var httpRequest = createRequest(); |
|||
var id = setTimeout(function() { httpRequest.abort(); msg_box.style.color = 'red'; $(msg_box).text("Salvataggio fallito: il server non risponde."); Finish(false); }, 15000); |
|||
httpRequest.onreadystatechange = function () { Response(httpRequest, id); return;}; |
|||
httpRequest.open('POST', wgServer + wgScriptPath + "/api.php", true); |
|||
httpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); |
|||
httpRequest.setRequestHeader('Content-Length', param.length); |
|||
$("#wpSummary").attr('disabled',''); |
|||
textbox.disabled = false; |
|||
httpRequest.send(param); |
|||
return; // fine quicksave |
|||
function Response (o, id) { |
|||
if (o.readyState != 4) return; |
|||
if (o.status != 200) { |
|||
if (o.status && (o.status < 200 || o.status > 299)) { |
|||
clearTimeout(id); |
|||
msg_box.style.color = 'red'; |
|||
$(msg_box).text("Salvataggio fallito. Risposta del server: " + o.status); |
|||
Finish(false); |
|||
} |
|||
return; |
return; |
||
} |
} |
||
clearTimeout(id); |
|||
if (o.responseXML == null) { |
|||
msg_box.style.color = 'rgb(100, 100, 100)'; |
|||
$(msg_box).text("Errore nella risposta del server. Controlla nella cronologia se il salvataggio è avvenuto"); |
|||
Finish(false); |
|||
return; |
|||
} |
|||
if (o.responseXML.normalize) o.responseXML.normalize(); |
|||
var result = o.responseXML.getElementsByTagName('edit'); |
|||
if (result && result[0] != undefined) { |
|||
if (result[0].getAttribute('result') == "Success") { |
|||
$(msg_box).text("Salvataggio completato." + QS_waitforpreview); |
|||
wgCurRevisionId = result[0].getAttribute('newrevid'); |
|||
setTimeout(function () {quickpreview(true); return; }, 100); // su un nuovo thread per non fermare la funzione |
|||
if (wgUserName) { |
|||
if (Watched) { |
|||
temp = $("#ca-watch")[0]; |
|||
if (temp) { |
|||
temp.id = "ca-unwatch"; |
|||
temp = temp.firstChild; |
|||
temp.href = temp.href.replace(/=watch$/, "=unwatch"); |
|||
$(temp).text(wgAjaxWatch["unwatchMsg"].toLowerCase()); |
|||
temp.title = wgAjaxWatch["tooltip-ca-unwatchMsg"]; |
|||
} |
|||
} |
|||
else { |
|||
temp = $("#ca-unwatch")[0]; |
|||
if (temp) { |
|||
temp.id = "ca-watch"; |
|||
temp = temp.firstChild; |
|||
temp.href = temp.href.replace(/=unwatch$/, "=watch"); |
|||
$(temp).text(wgAjaxWatch["watchMsg"].toLowerCase()); |
|||
temp.title = wgAjaxWatch["tooltip-ca-watchMsg"]; |
|||
} |
|||
} |
|||
} |
|||
$(msg_box).append('<br ' + '/>'); |
|||
var request_ts = createRequest(); |
|||
var ts_id = setTimeout(function() { request_ts.abort(); $(msg_box).append("Impossibile procedere ad ulteriori salvataggi. Il server non risponde"); Finish(true, false); return; }, 15000); |
|||
request_ts.onreadystatechange = function () { Get_Timestamp(request_ts, ts_id); return; } |
|||
var param = "action=query&format=xml&" + "prop=revisions&meta=userinfo&uiprop=hasmsg&rvprop=timestamp%" + "7Cuser&rvlimit=1&rvdir=older&titles=" + encodeURIComponent(wgPageName); |
|||
request_ts.open('POST', wgServer + wgScriptPath + "/api.php", true); |
|||
request_ts.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); |
|||
request_ts.setRequestHeader('Content-Length', param.length); |
|||
request_ts.send(param); |
|||
return; |
|||
} |
|||
if (result[0].getAttribute('result') == "Failure") { |
|||
var captcha = result[0].getElementsByTagName('captcha')[0]; |
|||
if (captcha == null) { |
|||
msg_box.style.color = 'red'; |
|||
$(msg_box).text("Salvataggio fallito: errore ignoto"); |
|||
Finish(false); |
|||
return; |
|||
} |
|||
msg_box.style.display = 'none'; |
|||
msg_box.innerHTML = ''; |
|||
var captcha_id = document.createElement('input'); |
|||
captcha_id.type = 'hidden'; |
|||
captcha_id.id = "wpCaptchaId"; |
|||
captcha_id.value = captcha.getAttribute('id'); |
|||
var captcha_word = document.createElement('input'); |
|||
captcha_word.id = "wpCaptchaWord"; |
|||
captcha_word.style.marginBottom = "10px"; |
|||
var captcha_img = document.createElement('img'); |
|||
captcha_img.src = wgServer + wgScriptPath + "/index.php?title=Special:Captcha/image&wpCaptchaId=" + captcha_id.value; |
|||
var captcha_msg = document.createElement('p'); |
|||
captcha_msg.innerHTML = 'La modifica richiesta aggiunge dei collegamenti esterni alla pagina; come misura precauzionale contro l\'inserimento automatico di spam, si prega di inserire nella casella sottostante la parola che compare distorta in questa immagine (<' + 'a href="/wiki/Speciale:Captcha/help" title="Speciale:Captcha/help">come funziona?</' + 'a>)'; |
|||
var captcha_box = document.createElement('div'); |
|||
captcha_box.id = "captcha_box"; |
|||
$("#toolbar").before(captcha_box); |
|||
$(captcha_box).append(captcha_msg,[captcha_img,captcha_word,captcha_id]); |
|||
Finish(false); |
|||
return; |
|||
} |
|||
} |
|||
var error = o.responseXML.getElementsByTagName('error'); |
|||
if (error == null) { |
|||
msg_box.style.color = 'rgb(100, 100, 100)'; |
|||
$(msg_box).text("Errore nella risposta del server. Controlla nella cronologia se il salvataggio è avvenuto"); |
|||
Finish(false); |
|||
return; |
|||
} |
|||
msg_box.style.color = 'red'; |
|||
switch (error[0].getAttribute('code')) { |
|||
case 'editconflict': |
|||
$("#wpSave").attr('disabled','').delay(100).click(); |
|||
return; |
|||
case 'noedit': |
|||
case 'noedit-anon': |
|||
case 'protectedtitle': |
|||
$(msg_box).text("Non sei autorizzato a modificare questa pagina."); |
|||
Finish(false); |
|||
return; |
|||
default: |
|||
$(msg_box).text("Salvataggio fallito: " + error[0].getAttribute('info')); |
|||
Finish(false); |
|||
return; |
|||
} |
|||
} |
|||
function Get_Timestamp (o, id) { |
|||
if (o.readyState != 4) return; |
|||
if (o.status != 200) { |
|||
if (o.status && (o.status < 200 || o.status > 299)) { |
|||
clearTimeout(id); |
|||
$(msg_box).append("Impossibile procedere ad ulteriori salvataggi. Risposta del server: " + o.status); |
|||
Finish(true, false); |
|||
} |
|||
return; |
|||
} |
|||
clearTimeout(id); |
|||
if (o.responseXML == null) { |
|||
$(msg_box).append("Impossibile procedere ad ulteriori salvataggi."); |
|||
Finish(true, false); |
|||
return; |
|||
} |
|||
if (o.responseXML.normalize) o.responseXML.normalize(); |
|||
var rev = o.responseXML.getElementsByTagName('rev'); |
|||
if (!rev || rev[0] == undefined) { |
|||
$(msg_box).append("Impossibile procedere ad ulteriori salvataggi."); |
|||
Finish(true, false, o); |
|||
return; |
|||
} |
|||
var t = rev[0].getAttribute('timestamp'); |
|||
$("[name=wpEdittime]:first").val(t.replace(/\D/g, '')); |
|||
var d = new Date(t.replace(/(\d\d\d\d)-(\d\d)-(\d\d)T(.+)Z/, "$1/$2/$3 $4")); |
|||
d.setHours(d.getHours() - d.getTimezoneOffset()/60); |
|||
$(msg_box).append("Ultima modifica: " + rev[0].getAttribute('user') + ' ' + d.toLocaleString()); |
|||
d = new Date(); |
|||
$("[name=wpStarttime]:first").val(d.getUTCFullYear().toString() + addzero(d.getUTCMonth()) + addzero(d.getUTCDate()) + addzero(d.getUTCHours()) + addzero(d.getUTCMinutes())+ addzero(d.getUTCSeconds() + 1)); |
|||
Finish(true, true, o); |
|||
return; |
return; |
||
} |
} |
||
var IP = "80.181.196.219"; |
|||
function |
function Finish(success, got_ts, o) { |
||
if (success) { |
|||
quicksave_checktext = Source; |
|||
$("#wpSave, #quicksaveButton").attr('disabled', got_ts ? '': 'disabled'); // se il salvataggio è riuscito, senza timestamp non possiamo farne altri |
|||
/* nuovi messaggi in discussione? */ |
|||
if (o == undefined) return; |
|||
var temp = o.responseXML.getElementsByTagName('userinfo'); |
|||
if (!temp || temp[0] == undefined) return; |
|||
var $usermessage = $(".usermessage:not(#wikiPreview > *)"); |
|||
if (!temp[0].hasAttribute('messages')) { |
|||
$usermessage.css('display', 'none'); |
|||
return; |
|||
} |
|||
var name = (wgUserName)? wgUserName : temp[0].getAttribute('name'); |
|||
if (!$usermessage.length) { |
|||
$usermessage = $(document.createElement('div')).addClass("usermessage").insertBefore($("#wikiPreview")).html('Hai <a title="Discussioni utente:' + name + '" href="/index.php?title=Discussioni_utente:' + encodeURI(name) + '&redirect=no">nuovi messaggi</a' + '> (<a title="Discussioni utente:' + name + '" href="/index.php?title=Discussioni_utente:' + encodeURI(name) + '&diff=cur">differenza con la revisione precedente</a' + '>).'); |
|||
} |
|||
else $usermessage.css('display', 'block'); |
|||
} |
|||
else { |
|||
$("#quickpreviewButton, #quickdiffButton").attr('disabled', ''); |
|||
$('body').css('cursor','auto'); |
|||
} |
|||
return; |
|||
} |
|||
} // <- quicksave() |
|||
var QP_hiddencatlist; |
|||
var QP_hiddencats_cat = "Categorie nascoste"; |
|||
function quickpreview_load() { |
|||
var b = document.createElement('input'); |
|||
b.type = 'button'; |
|||
b.value = (/\.css$/.test(wgTitle) && wgNamespaceNumber % 2 == 0) ? "Anteprima stile" : "Visualizza anteprima"; |
|||
b.id = "quickpreviewButton"; |
|||
$(b).click(quickpreview); |
|||
b.accessKey = '2'; |
|||
b.title = "Anteprima delle modifiche (consigliata prima di salvare) [alt-shift-2]"; |
|||
$("#wpPreview").css({'margin':'0px', 'padding':'0px', 'font-size':'0', 'width':'0px', 'border':'0px none'}); |
|||
$("#wpPreview").before(b); |
|||
$("#quickpreview-hotkeysuggest").css({'visibility' : 'visible'}); |
|||
QP_hiddencatlist = getCookie("QPhc"); |
|||
if (QP_hiddencatlist == null) { |
|||
var request_hc = createRequest(); |
|||
request_hc.onreadystatechange = function () { quickpreview_set_hc_cookie(request_hc); return;}; |
|||
request_hc.open('GET', wgServer + wgScriptPath + "/api.php?format=xml&action=query&list=categorymembers&cmtitle=Category:" + encodeURI(QP_hiddencats_cat) + "&cmlimit=500", true); |
|||
request_hc.send(null); |
|||
} |
|||
return; |
|||
function quickpreview_set_hc_cookie (o) { |
|||
if (o.readyState != 4 || o.status != 200 || o.responseXML == null) return; |
|||
if (o.responseXML.normalize) o.responseXML.normalize(); |
|||
var cm = o.responseXML.getElementsByTagName('categorymembers')[0].getElementsByTagName('cm'); |
|||
var tmp = new Array(); |
|||
for (i in cm) tmp.push(cm[i].getAttribute('title')); |
|||
QP_hiddencatlist = tmp.join('|'); |
|||
document.cookie = "QPhc=" + escape(QP_hiddencatlist); |
|||
return; |
|||
} |
|||
} |
|||
function quickpreview (after_save) { |
|||
$("#quickpreviewButton, #quickdiffButton").attr('disabled','disabled'); |
|||
$('body').css('cursor','progress'); |
|||
var temp; |
|||
/* Pulizia dell'area di anteprima */ |
|||
var $previewArea = $("#wikiPreview"); |
|||
$previewArea.html('').css('display', 'block'); |
|||
$("#editintro, .mw-newarticletext:first, .mw-newarticletextanon:first, #mw-anon-edit-warning, #mw-warning-with-logexcerpt, #mw-edit-longpagewarning, #contentSub2, #explainconflict").remove(); |
|||
$("#wikiDiff").css('display','none'); |
|||
$("#contentSub").html(''); |
|||
/***** Nonciclopedia only *****/ |
|||
$("#wpTalkPageText").remove(); |
|||
/* Rimuove eventuali css importati precedentemente; */ |
|||
$("#add-css-link").remove(); |
|||
/**********/ |
|||
$("#add-css-quickpreview").remove(); |
|||
/* Imposta il titolo */ |
|||
temp = wgPageName.replace(/_/g, ' '); |
|||
$("#firstHeading").html(temp); |
|||
$('title:first').html(temp + " {anteprima} - " + wgSiteName); |
|||
/* Anteprima css - non serve collegarsi al server */ |
|||
if (/\.css$/.test(wgTitle) && wgNamespaceNumber % 2 == 0 && !after_save) { |
|||
var style = document.createElement('style'); |
|||
style.type = 'text/css'; |
|||
style.innerHTML = $("#wpTextbox1").val(); |
|||
style.id = "add-css-quickpreview"; |
|||
$('head').append(style); |
|||
Finish(false); |
|||
return; |
|||
} |
|||
var param = "format=xml&action=parse&" + "prop=text%7" + "Ccategories%7" + "Ctemplates"; |
|||
if (after_save) { |
|||
param += "&page=" + encodeURIComponent(wgPageName); |
|||
} |
|||
else { |
|||
var textbox = $("#wpTextbox1")[0]; |
|||
textbox.disabled = true; |
|||
var start = textbox.selectionStart, end = textbox.selectionEnd; |
|||
if (start < end) temp = textbox.value.slice(start, end); |
|||
else { |
|||
temp = textbox.value + '\n'; |
|||
if ($("[name=wpSection]:first").val() == 'new') temp = "== " + $("#wpSummary").val() + " ==\n" + temp; |
|||
} |
|||
textbox.disabled = false; |
|||
param += "&pst=&title=" + encodeURIComponent(wgPageName) + "&text=" + encodeURIComponent(temp); |
|||
} |
|||
var httpRequest = createRequest(); |
var httpRequest = createRequest(); |
||
var id = setTimeout(function() { httpRequest.abort(); alert("Errore: il server non risponde"); Finish(false); }, 15000); |
|||
/* var userpage = document.getElementById("pt-anonuserpage"); |
|||
httpRequest.onreadystatechange = function () { Write(httpRequest, id); return;}; |
|||
if (userpage != null) { |
|||
httpRequest.open('POST', wgServer + wgScriptPath + "/api.php", true); |
|||
var IP = getText(userpage.getElementsByTagName('a')[0]); |
|||
if (IP == null) return; |
|||
} */ |
|||
var param = encodeURIComponent("privatekey=6LfMi8ISAAAAAO1MIU43eaDRhv_8UM8naTGl0-Gn&remoteip=" + IP + "&challenge=" + Recaptcha.get_challenge() + "&response=" + Recaptcha.get_response()); |
|||
httpRequest.open('POST', "http://www.google.com/recaptcha/api/verify", true); |
|||
httpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); |
httpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); |
||
httpRequest.setRequestHeader('Content-Length', param.length); |
httpRequest.setRequestHeader('Content-Length', param.length); |
||
httpRequest.send(param); |
|||
return; /* fine quickpreview */ |
|||
httpRequest.onreadystatechange = function () { |
|||
if (httpRequest.readyState != 4) return; |
|||
function Write(o, id) { |
|||
clearTimeout(id); |
|||
if (o.readyState != 4) return; |
|||
if (o.status != 200) { |
|||
var t = httpRequest.responseText; |
|||
if (o.status && (o.status < 200 || o.status > 299)) { |
|||
if (t == null) return; |
|||
alert("Anteprima non riuscita. Risposta del server: " + o.status); |
|||
alert(t); |
|||
clearTimeout(id); |
|||
Finish(false); |
|||
} |
|||
return; |
return; |
||
} |
} |
||
clearTimeout(id); |
|||
httpRequest.send(param); |
|||
if (o.responseXML == null) { |
|||
Recaptcha.destroy(); |
|||
alert("Anteprima non riuscita (errore del server?)"); |
|||
Finish(false); |
|||
return; |
|||
} |
|||
if (o.responseXML.normalize) o.responseXML.normalize(); |
|||
var R = o.responseXML.getElementsByTagName('text')[0].firstChild; |
|||
temp = R.data; |
|||
if (["MediaWiki:Common.css", "MediaWiki:Monobook.css", "MediaWiki:Common.js", "MediaWiki:Monobook.js", "Utente:" + wgUserName + "/monobook.css", "Utente:" + wgUserName + "/monobook.js"].indexOf(wgPageName) != -1) { |
|||
temp = "<pre class='mw-code mw-" + /(?!\.)\w+$/.exec(wgTitle) + "'>" + temp + "<" + "/pre>"; |
|||
} |
|||
$previewArea.html(temp); |
|||
/* aggiungi elenco template */ |
|||
var templatesUsed = $(".templatesUsed")[0]; |
|||
if (!templatesUsed) { |
|||
templatesUsed = document.createElement('div'); |
|||
templatesUsed.className = "templatesUsed"; |
|||
$("#editform").append(templatesUsed); |
|||
} |
|||
var templatesList = templatesUsed.getElementsByTagName('ul')[0]; |
|||
if (!templatesList) { |
|||
templatesList = templatesUsed.appendChild(document.createElement('ul')); |
|||
} |
|||
else templatesList.innerHTML = ''; |
|||
R = o.responseXML.getElementsByTagName('categories')[0].getElementsByTagName('tl'); |
|||
if (R.length > 0) { |
|||
var name; |
|||
temp = ''; |
|||
for (i in R) { |
|||
name = R.item(i).firstChild.nodeValue; |
|||
if (R.item(i).getAttribute('exists')) |
|||
temp += "<li" + "><a title='" + name + "' href='/wiki/" + encodeURI(name) + "'>" + name + "</a> (<a href='/index.php?title=" + encodeURI(name) + "&action=edit&editintro=Mediawiki:Editintro'>modifica</a>)</li>"; |
|||
else |
|||
temp += "<li" + "><a title='" + name + " (la pagina non esiste)' class='new' href='/index.php?title=" + encodeURI(name) + "&action=edit&redlink=1&editintro=Mediawiki:Editintro'>" + name + "</a></li>"; |
|||
} |
|||
templatesList.innerHTML = temp; |
|||
temp = getElementsByClass(templatesUsed, "mw-templatesUsedExplanation", 'div')[0]; |
|||
if (!temp) { |
|||
temp = templatesUsed.insertBefore(document.createElement('div'), templatesList); |
|||
temp.className = "mw-templatesUsedExplanation"; |
|||
temp.innerHTML = "<p" + ">Template utilizzati in questa anteprima: </p>"; |
|||
} |
|||
} |
|||
/* aggiungi categorie */ |
|||
var catlinksBox = $(".printfooter ~ #catlinks")[0]; |
|||
R = o.responseXML.getElementsByTagName('categories')[0].getElementsByTagName('cl'); |
|||
if (R.length > 0) { |
|||
if (catlinksBox != null) { |
|||
catlinksBox.innerHTML = ''; |
|||
catlinksBox.style.display = 'block'; |
|||
} |
|||
else { |
|||
catlinksBox = document.createElement('div'); |
|||
catlinksBox.id = "catlinks"; |
|||
catlinksBox.className = "catlinks"; |
|||
$(".visualClear:first").before(catlinksBox); |
|||
} |
|||
var normal_cats = new Array(); |
|||
var normalcatlinks = new Array(); |
|||
var hiddencatlinks = new Array(); |
|||
for (i in R) { |
|||
name = R.item(i).firstChild.nodeValue; |
|||
if (RegExp(name.replace(/_/g, ' ')).test(QP_hiddencatlist)) hiddencatlinks.push('<span dir="ltr"><a href="/wiki/Categoria:' + encodeURI(name) + '" title="Categoria:' + name.replace(/_/g, ' ') + '">' + name.replace(/_/g, ' ') + '</a></span>'); |
|||
else { |
|||
normal_cats.push('[[:Categoria:' + name + '|' + name.replace(/_/g, ' ') + ']]'); |
|||
normalcatlinks.push('<span dir="ltr"><a href="/wiki/Categoria:' + encodeURI(name) + '" title="Categoria:' + name.replace(/_/g, ' ') + '">' + name.replace(/_/g, ' ') + '</a>*</span>'); |
|||
} |
|||
} |
|||
if (hiddencatlinks.length > 0) { |
|||
var hiddencatlinksBox = catlinksBox.appendChild(document.createElement('div')); |
|||
hiddencatlinksBox.id = "mw-hidden-catlinks"; |
|||
hiddencatlinksBox.className = "mw-hidden-cats-hidden"; |
|||
$(catlinksBox).toggleClass("catlinks-allhidden", (normal_cats.length == 0)); |
|||
temp = "Categori" + (hiddencatlinks.length > 1? "e nascoste: " : "a nascosta: ") + hiddencatlinks.join(" | "); |
|||
hiddencatlinksBox.innerHTML = temp; |
|||
} |
|||
if (normal_cats.length > 0) { |
|||
$(catlinksBox).removeClass("catlinks-allhidden"); // CDW |
|||
var $normalcatlinksBox = $(document.createElement('div')).prependTo(catlinksBox).attr('id', "mw-normal-catlinks").html("<a title='Speciale:Categorie' href='/wiki/Speciale:Categorie'" + ">Categori" + (normalcatlinks.length > 1 ? "e" : "a") + "</a>: " + normalcatlinks.join(" | ")); |
|||
$normalcatlinksBox.append('<br ' + '/>').append($(document.createElement('span')).css({'font-size':'8pt', 'font-style':'italic', 'font-family':'monospace'}).text("* NB. Operazione non completata: l'aspetto delle categorie potrebbe essere diverso.")); |
|||
temp = "format=xml&action=parse&" + "prop=text&text=" + encodeURIComponent("[[Speciale:Categorie|Categori" + (normalcatlinks.length > 1 ? "e" : "a") + "]]: " + normal_cats.join(' | ')); |
|||
var request_cat = createRequest(); |
|||
var cat_id = setTimeout(function() { request_cat.abort(); Finish(true); }, 30000); |
|||
request_cat.onreadystatechange = function () { Show_Categories(request_cat, cat_id, $normalcatlinksBox); return;}; |
|||
request_cat.open('POST', wgServer + wgScriptPath + "/api.php", true); |
|||
request_cat.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); |
|||
request_cat.setRequestHeader('Content-Length', temp.length); |
|||
setTimeout(function () { request_cat.send(temp); return; }, 10); |
|||
} |
|||
} |
|||
else $(catlinksBox).html('').css('display','none'); |
|||
Finish(true); |
|||
return; |
|||
} /* <- Write */ |
|||
function Show_Categories (o, id, box) { |
|||
if (o.readyState != 4) return; |
|||
if (o.status != 200) { |
|||
if (o.status && (o.status < 200 || o.status > 299)) { |
|||
clearTimeout(id); |
|||
} |
|||
return; |
|||
} |
|||
clearTimeout(id); |
|||
if (o.responseXML == null) { |
|||
return; |
|||
} |
|||
if (o.responseXML.normalize) o.responseXML.normalize(); |
|||
box.html(o.responseXML.getElementsByTagName('text')[0].firstChild.data); |
|||
return; |
|||
} |
|||
function Finish(success) { |
|||
$("#quickpreviewButton, #quickdiffButton").attr('disabled', ''); |
|||
$('body').css('cursor','auto'); |
|||
if (after_save) { |
|||
var temp = $("#quicksave_msgbox"); |
|||
$(temp).text($(temp).text().replace(QS_waitforpreview, '')); |
|||
} |
|||
if (success) { |
|||
if (!after_save) $("#p-logo")[0].scrollIntoView(); |
|||
// mostra il toggle dell'indice |
|||
if (window.showTocToggle) { window.tocShowText = "mostra"; window.tocHideText = "nascondi"; showTocToggle();} |
|||
// carica onloadhooks |
|||
hooks_common_render(); |
|||
hooks_monobook_render(); |
|||
for (i in hooks_custom) hooks_custom[i](); |
|||
} |
|||
return; |
return; |
||
} |
} |
||
} // <- quickpreview(); |
|||
addOnloadHook(showRecaptcha); |
|||
function quickdiff_load() { |
|||
var $buttons = $(".editButtons"); |
|||
var b = document.createElement('input'); |
|||
b.type = 'button'; |
|||
b.value = "Mostra cambiamenti"; |
|||
b.id = "quickdiffButton"; |
|||
$(b).click(quickdiff); |
|||
b.accessKey = '3'; |
|||
b.title = "Guarda le modifiche apportate al testo [alt-shift-3]"; |
|||
$("#wpDiff").css({'margin':'0px', 'padding':'0px', 'font-size':'0', 'width':'0px', 'border':'0px none'}); |
|||
$("#wpDiff").before(b); |
|||
$("#quickedit-hotkeysuggest").css({'left': (b.offsetLeft - 35).toString() + 'px', 'visibility' : 'visible'}); |
|||
return; |
|||
} |
|||
function quickdiff () { |
|||
$("#quickdiffButton, #quickpreviewButton").attr('disabled','disabled'); |
|||
$('body').css('cursor','progress'); |
|||
var $diffArea = $("#wikidiff"); |
|||
if ($diffArea.length == 0) { |
|||
$diffArea = $(document.createElement('div')).attr('id', "wikidiff").insertBefore("#editform"); |
|||
var $diffTable = $(document.createElement('table')).addClass("diff").appendTo($diffArea); |
|||
$diffTable.html("<colgroup><col class='diff-marker'><col class='diff-content'><col class='diff-marker'><col class='diff-content'></colgroup><tr valign='top'><td class='diff-otitle' colspan='2'>Versione attuale</td><td class='diff-ntitle' colspan='2'>Il tuo testo</td></tr>"); |
|||
} |
|||
else { |
|||
$diffArea.css('display', 'block'); |
|||
var $diffTable = $diffArea.children("table.diff"); |
|||
$diffTable.find('tr:gt(0)').remove(); |
|||
} |
|||
var param = "format=xml&action=query&" + "prop=revisions&titles=" + encodeURIComponent(wgPageName); |
|||
var section = $("[name=wpSection]").val(); |
|||
if (section && section != "new") param += "&rvsection=" + section; |
|||
param += "&rvdifftotext=" + $("#wpTextbox1").val(); |
|||
var httpRequest = createRequest(); |
|||
var id = setTimeout(function() { httpRequest.abort(); alert("Errore: il server non risponde"); Finish(false); }, 15000); |
|||
httpRequest.onreadystatechange = function () { Write(httpRequest, id); return;}; |
|||
httpRequest.open('POST', wgServer + wgScriptPath + "/api.php", true); |
|||
httpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); |
|||
httpRequest.setRequestHeader('Content-Length', param.length); |
|||
httpRequest.send(param); |
|||
return; /* fine quickdiff */ |
|||
function Write(o, id) { |
|||
if (o.readyState != 4) return; |
|||
if (o.status != 200) { |
|||
if (o.status && (o.status < 200 || o.status > 299)) { |
|||
$diffArea.html("Confronto versioni non riuscito. Risposta del server: " + o.status); |
|||
clearTimeout(id); |
|||
Finish(false); |
|||
} |
|||
return; |
|||
} |
|||
clearTimeout(id); |
|||
if (o.responseXML == null) { |
|||
$diffArea.html("Confronto versioni non riuscito (errore del server?)"); |
|||
Finish(false); |
|||
return; |
|||
} |
|||
if (o.responseXML.normalize) o.responseXML.normalize(); |
|||
$diffTable.append(o.responseXML.getElementsByTagName('diff')[0].firstChild.data); |
|||
Finish(true); |
|||
return; |
|||
} |
|||
function Finish(success) { |
|||
$("#quickdiffButton, #quickpreviewButton").attr('disabled',''); |
|||
$('body').css('cursor','auto'); |
|||
return; |
|||
} |
|||
} |