Nieuwe pagina
//Creates modal forms for use on [[w:Adoption:Requests]] and [[w:Project:Interlanguage link requests]]
//Author: @Prince(ss) Platinum
/* Special thanks to TK-999 for helping with the i18n stuff
and a special thanks to the Wikia Language Brigade for localizing the script. */
(function ($, mw) {
// Make the languages organised please!
var i18n = {
'CA': {
adopt_name: 'Nom del wiki:',
adopt_url: 'URL completa del wiki per adoptar:',
adopt_edits: 'Nombre d\'edicions que has fet al wiki:',
adopt_contribute: 'Quant de temps has estat contribuint activament al wiki:',
adopt_sysop: 'Qui va ser l\'últim administrador que va editar i quan:',
adopt_info: 'Més informació:',
inter_info: '<span style="font-weight: bold">Com: </span>Per afegir una soŀlicitud de dos wikis junts amb aquest formulari has d\'utilitzar la sintaxi següent: <br/><pre>firstwiki -> secondwiki</pre><br/>Si vols enllaçar <a href="http://community.wikia.com">http://community.wikia.com</a> amb <a href="http://de.community.wikia.com">http://de.community.wikia.com</a> has de fer servir el codi següent en l\'àrea de text següent: <br/><pre>community -> de.community</pre><br/>Per enviar múltiples soŀlicituds d\'enllaç alhora, posa cada codi en una nova línia, com per exemple: <br/><pre>community -> de.community<br/>community -> pl.community</pre></p><span>Wikis per enllaçar: </span>',
button_text: 'Crea una nova soŀlicitud',
success: 'Soŀlicitud creada!',
error: 'Error en enviar, intenta-ho de nou més tard.'
},
'DE': {
adopt_name: 'Name des Wikis:',
adopt_url: 'Vollständige URL zum Wiki angeben:',
adopt_edits: 'Wie viele Bearbeitungen hast du in diesem Wiki vorgenommen?',
adopt_contribute: 'Wie lange bist du schon in diesem Wiki aktiv?',
adopt_sysop: 'Welcher war der letzte aktive Admin, und wann hat er das letzte Mal bearbeitet?',
adopt_info: 'Weitere Informationen:',
inter_info: '<span style="font-weight: bold">Anleitung: </span>Um eine Interwikianfrage hinzuzufügen, benutze folgendes Schema: <br/><pre>erstesWiki -> zweitesWiki</pre><br/>Wenn du also <a href="http://community.wikia.com">http://community.wikia.com</a> mit <a href="http://de.community.wikia.com">http://de.community.wikia.com</a> verlinken möchtest, schreibe folgendes: <br/><pre>community -> de.community</pre><br/>Um mehrere Anfragen gleichzeitig zu stellen, verwende eine neue Zeile, also so: <br/><pre>community -> de.community<br/>community -> pl.community</pre></p><span>Verlinke diese Wikis: </span>',
button_text: 'Neue Anfrage stellen',
success: 'Anfrage erfolgreich gestellt!',
error: 'Es ist ein Fehler aufgetreten. Bitte versuche es nochmal.'
},
'EN': {
adopt_name: 'Name of wiki:',
adopt_url: 'Full URL of wiki to adopt:',
adopt_edits: 'Number of edits you have made on the wiki:',
adopt_contribute: 'How long have you been actively contributing to the wiki:',
adopt_sysop: 'Who was the last admin to edit and when:',
adopt_info: 'Other information:',
inter_info: '<span style="font-weight: bold">How to: </span>To add a request to link two wikis together using this form you must use the following syntax: <br/><pre>firstwiki -> secondwiki</pre><br/>If you want to link <a href="http://community.wikia.com">http://community.wikia.com</a> to <a href="http://de.community.wikia.com">http://de.community.wikia.com</a> you would use the following code in the textarea below: <br/><pre>community -> de.community</pre><br/>To submit multiple link requests at once put each code on a new line like such: <br/><pre>community -> de.community<br/>community -> pl.community</pre></p><span>Wikis to link: </span>',
button_text: 'Create new request',
success: 'Request successfully created!',
error: 'Error while sending, try again soon.'
},
'ES': {
adopt_name: 'Nombre del wiki:',
adopt_url: 'URL completa del wiki para adoptar:',
adopt_edits: 'Número de ediciones que has hecho en el wiki:',
adopt_contribute: 'Cuánto tiempo has estado contribuyendo activamente en el wiki:',
adopt_sysop: 'Quién fue el último administrador que editó y cuando:',
adopt_info: 'Más información:',
inter_info: '<span style="font-weight: bold">Como: </span>Para agregar una solicitud de dos wikis juntos con este formulario debes utilizar la siguiente sintaxis: <br/><pre>firstwiki -> secondwiki</pre><br/>Si quieres enlazar <a href="http://community.wikia.com">http://community.wikia.com</a> con <a href="http://de.community.wikia.com">http://de.community.wikia.com</a> debes usar el código siguiente en el área de texto siguiente: <br/><pre>community -> de.community</pre><br/>Para enviar múltiples solicitudes de enlace a la vez, pon cada código en una nueva línea, como por ejemplo: <br/><pre>community -> de.community<br/>community -> pl.community</pre></p><span>Wikis para enlazar: </span>',
button_text: 'Crear una nueva solicitud',
success: '¡Solicitud creada!',
error: 'Error al enviar, inténtalo de nuevo más tarde.'
},
'FR': {
adopt_name: 'Nom du wiki:',
adopt_url: 'L\'URL complet du wiki que vous voulez adopter:',
adopt_edits: 'Nombre de modifications que vous avez fait sur ce wiki:',
adopt_contribute: 'Combien de temps avez-vous contribuez activement au wiki:',
adopt_sysop: 'Qui était le dernier administrateur à faire une modification et à quelle datte:',
adopt_info: 'Autres informations',
inter_info: '<span style="font-weight: bold">Comment: </span>Pour ajouter une demande de liaisons de deux wikis ensemble, vous devez suivre la syntaxe suivante: <br/><pre>premierwiki -> deuxièmewiki</pre><br/>Si vous voulez lier <a href="http://community.wikia.com">http://community.wikia.com</a> à <a href="http://de.community.wikia.com">http://de.community.wikia.com</a> vous devriez utiliser le code suivant: <br/><pre>community -> de.community</pre><br/>Pour soumettre plusieurs demandes de liaisons au même moment, mettez chaque code sur une nouvelle lignes. Par example: <br/><pre>community -> de.community<br/>community -> pl.community</pre></p><span>Wikis à ajouter une liaison: </span>',
button_text: 'Créé une nouvelle demande',
success: 'Demande créée avec succès!',
error: 'Erreur lors de l\'envoi, réessayez plus tard.'
},
'IT': {
adopt_name: 'Nome della wiki:',
adopt_url: 'URL completo della wiki da adottare:',
adopt_edits: 'Numero di modifiche che hai eseguito nella wiki:',
adopt_contribute: 'Da quanto stai contribuendo attivamente alla wiki:',
adopt_sysop: 'Chi era l\'ultimo admin a modificare e quando:',
adopt_info: 'Altre informazioni:',
inter_info: '<span style="font-weight: bold">Come: </span>Per aggiungere un link a due richieste di due wiki insieme, devi usare la seguente sintassi: <br/><pre>primawiki -> secondawiki</pre><br/>Se vuoi collegare <a href="http://community.wikia.com">http://community.wikia.com</a> a <a href="http://de.community.wikia.com">http://de.community.wikia.com</a> useresti il seguente codice nell\'area testo sotto:: <br/><pre>community -> de.community</pre><br/>Per immettere più richieste di collegamento alla volta mettere ogni codice in una nuova linea come sotto eseguito: <br/><pre>community -> de.community<br/>community -> pl.community</pre></p><span>Wikis to link: </span>',
button_text: 'Crea nuova richiesta',
success: 'Richiesta creata con successo!',
error: 'Errore durante l\'invio, riprovare più tardi.'
},
'MS': {
adopt_name: 'Nama wiki:',
adopt_url: 'Laman penuh (URL) wiki yang ingin diambil alih:',
adopt_edits: 'Jumlah suntingan yang telah anda membuat:',
adopt_contribute: 'Tempoh anda telah menyumbang kepada wiki ini:',
adopt_sysop: 'Nama dan tarikh suntingan admin yang terakhir:',
adopt_info: 'Maklumat tambahan:',
inter_info: '<span style="font-weight: bold">Caranya: </span>Jika anda ingin meminta pautan antara dua wiki berbahasa lain menggunakan borang ini, and haruslah menggunakan sintaks awalan URL sebelum wikia.com: <br/><pre>wikipertama -> wikikedua</pre><br/>Contohnya, untuk memaut <a href="http://community.wikia.com">http://community.wikia.com</a> kepada <a href="http://de.community.wikia.com">http://de.community.wikia.com</a> anda harus mengisi ruang di bawah ini seperti berikut: <br/><pre>community -> de.community</pre><br/>Untuk membuat dua permintaan atau lebih sekaligus, tambahkan satu barisan bagi setiap permintaan yang berbeza: <br/><pre>community -> de.community<br/>community -> pl.community</pre></p><span>Wiki untuk dipaut: </span>',
button_text: 'Hantar permintaan',
success: 'Permintaan berjaya dihantar!',
error: 'Permintaan gagal dihantar, sila cuba lagi seketika nanti.'
},
'PL': {
adopt_name: 'Nazwa wiki:',
adopt_url: 'Pełny adres URL dla wiki do adopcji:',
adopt_edits: 'Liczba Twoich edycji na tej wiki:',
adopt_contribute: 'Jak długo aktywnie edytujesz tę wiki:',
adopt_sysop: 'Kto był ostatnim administratorem i kiedy edytował:',
adopt_info: 'Pozostałe informacje:',
inter_info: '<span style="font-weight: bold">Jak?: </span>Aby dodać wniosek, zalinkuj dwie wiki za pomocą tego formularza, używając następującej składni: <br/><pre>pierwszawiki -> drugawiki</pre><br/>Jeżeli chcesz połączyć <a href="http://community.wikia.com">http://community.wikia.com</a> z <a href="http://de.community.wikia.com">http://de.community.wikia.com</a> musisz użyć następującego kodu w polu poniżej: <br/><pre>community -> de.community</pre><br/>Aby przesłać wiele wniosków nas raz, umieść każdy kod w nowej linii: <br/><pre>community -> de.community<br/>community -> pl.community</pre></p><span>Wiki do zalinkowania: </span>',
button_text: 'Utwórz nowy wniosek',
success: 'Wniosek pomyślnie utworzony!',
error: 'Błąd podczas wysyłania, spróbuj ponownie.'
},
'PT': {
adopt_name: 'Nome do wiki:',
adopt_url: 'URL completa do wiki para adoptar:',
adopt_edits: 'Número de edições que fizeste no wiki:',
adopt_contribute: 'Quanto tempo tens estado a contribuir ativamente no wiki:',
adopt_sysop: 'Quem foi o último administrador que editou e quando:',
adopt_info: 'Mais informação:',
inter_info: '<span style="font-weight: bold">Como: </span>Para agregar um pedido de dois wikis juntos com este formulário deves utilizar a seguinte sintaxe: <br/><pre>firstwiki -> secondwiki</pre><br/>Se queres enlaçar <a href="http://community.wikia.com">http://community.wikia.com</a> com <a href="http://de.community.wikia.com">http://de.community.wikia.com</a> deves usar o código seguinte na área de texto seguinte: <br/><pre>community -> de.community</pre><br/>Para enviar múltiplos pedidos de enlace ao mesmo tempo, põe cada código numa nova linha, como por exemplo: <br/><pre>community -> de.community<br/>community -> pl.community</pre></p><span>Wikis para enlaçar: </span>',
button_text: 'Crear um novo pedido',
success: 'O teu pedido foi criado!',
error: 'Erro ao enviar, tenta-o de novo mais tarde.'
},
'TL': {
adopt_name: 'Pangalan ng wiki:',
adopt_url: 'Buong URL ng wiki na i-aampon:',
adopt_edits: 'Bilang ng edit na ginawa mo sa wiki:',
adopt_contribute: 'Gaano katagal kang aktibong tumutulong sa wiki:',
adopt_sysop: 'Sino yung huling administrador na nag-edit at kailan:',
adopt_info: 'Iba pang impormasyon:',
inter_info: '<span style="font-weight: bold">Paano: </span>Para makagawa ng kahilingan na gawing isa ang dalawang wiki na gamit ang paraan na ito kailangan mong gawin ang sumusunod na palaugnayan: <br/><pre>unangwiki -> ikalawangwiki</pre><br/>Kung gusto mo i-link <a href="http://community.wikia.com">http://community.wikia.com</a> to <a href="http://de.community.wikia.com">http://de.community.wikia.com</a> maaaring gamitin ang sumusunod na code sa textarea sa baba: <br/><pre>community -> de.community</pre><br/>Para magsumite ng maraming link request ng isahan ilagay ang code sa bagong linya na parang: <br/><pre>community -> de.community<br/>community -> pl.community</pre></p><span>Wiki na ililink: </span>',
button_text: 'Gumawa ng bagong kahilingan',
success: 'Matagumpay na nakagawa ng kahilingan!',
error: 'Nagkaroon ng kamalian habang nagpapadala, subukin ulit mamaya.'
}
};
//Language variable and the modal HTML to use
var lang = mw.config.get('wgUserLanguage').toUpperCase(),
wgUsername = mw.config.get('wgUserName'),
adoption_modal = '<form class="WikiaForm" method="" name=""><fieldset><span>' + i18n[lang].adopt_name + ' </span><br /><input type="text" id="cc-form-name" style="width: 500px;" placeholder="Community Central" /><br /><span>' + i18n[lang].adopt_url + ' </span><br/><input type="text" id="cc-adopt-url" style="width: 500px;" placeholder="http://c.wikia.com"/><br /><span>' + i18n[lang].adopt_edits + ' </span><br/><input type="text" id="cc-adopt-edits" style="width: 500px;" placeholder="0"/><br /><span>' + i18n[lang].adopt_contribute + ' </span><br/><input type="text" id="cc-adopt-duration" style="width: 500px;" placeholder="30 Days"/><br /><span>' + i18n[lang].adopt_sysop + ' </span><br/><input type="text" id="cc-adopt-admin" style="width: 500px;" placeholder="Jonnie, February 7, 1527"/><br /><span>' + i18n[lang].adopt_info + ' </span><br/><textarea rows="10" cols="75" id="cc-adopt-other" placeholder="..."></textarea></fieldset></form>',
link_modal = '<form class="WikiaForm" method="" name=""><fieldset><p>' + i18n[lang].inter_info + '<br/><textarea rows="10" cols="81" id="cc-adopt-other" placeholder="community -> de.communty"></textarea></fieldset></form>',
signature = '~~' + '~~';
//Simple snippet to decide whether or not the user is on the right page and acts on the results
/****************************************************
# This will only alter the existing form if the user
# is using the wikia skin and will leave monobook
# operations unhindered.
*****************************************************/
if (mw.config.get('skin') == "oasis" || mw.config.get('skin') == 'wikia') {
if (mw.config.get('wgPageName') === "Adoption:Requests") {
var node = document.createElement('a');
node.textContent = i18n[lang].button_text;
node.className = 'wikia-button';
node.id = 'cc-form-open';
node.addEventListener('click', function () {
generateForm(adoption_modal, 1);
});
$('div.createbox').html(node);
}
/* else if (mw.config.get('wgPageName') === "Community_Central:Interlanguage_link_requests") {
var node = document.createElement('a');
node.textContent = 'Create new request';
node.className = 'wikia-button';
node.id = 'cc-form-open';
node.addEventListener('click', function () {
generateForm(link_modal, 2);
});
$('div.createbox').html($(node));
}*/
}
/******************************************************
# param html: HTML to populate the form with.
# param number: Which function to call on button press.
*******************************************************/
function generateForm(html, number) {
$.showCustomModal('Create Request', html, {
id: 'cc-form',
width: 650, //A way to add percentages would be great!
buttons: [{
id: 'cc-form-cancel',
message: 'Cancel',
handler: function () {
$('#cc-form').closeModal();
}
}, {
id: 'cc-form-submit',
defaultButton: true,
message: 'Submit',
handler: function () {
if (number === 1) {
adoption();
} else if (number === 2) {
interLink();
} else {
return;
}
}
}]
});
}
//Gathers data from form and puts it together
function adoption() {
var url = document.getElementById("cc-adopt-url").value || 'null',
wiki_name = document.getElementById("cc-form-name").value || 'null',
user_edits = document.getElementById("cc-adopt-edits").value || 'null',
days_contributed = document.getElementById("cc-adopt-duration").value || 'null',
last_sysop = document.getElementById("cc-adopt-admin").value || 'null',
other_info = document.getElementById("cc-adopt-other").value || 'null';
if (url == 'null' || wiki_name == 'null') {
alert('Please ensure the url and wiki name fields are filled out.');
} else {
var form = '<div class=\"forumheader\">[[Adoption:Requests|Adoption requests]] \'\'\'→\'\'\' {{PAGENAME}}</div>'
+ '<!-- Please put your request under this line. Be sure to sign your request with four tildes: ~~~~ -->\n\n'
+ '\'\'\'Username:\'\'\'\n[[User:'
+ wgUsername
+ '|'
+ wgUsername
+ ']]\n\n'
+ '\'\'\'Wiki URL:\'\'\'\n'
+ url
+ '\n\n'
+ '\'\'\'Current edit count:\'\'\'\n'
+ user_edits
+ '\n\n'
+ '\'\'\'How long I have edited there:\'\'\'\n'
+ days_contributed
+ '\n\n'
+ '\'\'\'Last admin to edit and when:\'\'\'\n'
+ last_sysop
+ '\n\n'
+ '\'\'\'Other information:\'\'\'\n'
+ other_info
+ '\n\n'
+ '[[' + 'Category:Adoption requests' + '|{{PAGENAME}}]]';
postToApi(true, 'Adoption: ' + wiki_name, form, wiki_name);
}
}
//Gathers data from form and put's it together
function interLink() {}
/*************************************************************
# param isAdoption: true for adoption, false for language link
# param page: page to edit/create
# param text: text to add/create with
**************************************************************/
function postToApi(isAdoption, page, text, wiki) {
if (isAdoption === true) {
$.ajax({
url: mw.util.wikiScript('api'),
data: {
format: 'json',
action: 'edit',
title: page,
summary: 'New adoption request',
text: text,
createonly: true,
token: mw.user.tokens.values.editToken
},
dataType: 'json',
type: 'POST',
success: function (data) {
if (data && data.edit && data.edit.result == 'Success') {
$('#cc-form').closeModal();
$.showCustomModal("Success", '<p>' + i18n[lang].success + '</p>', {
id: 'cc-result',
width: 300, //A way to add percentages would be great!
buttons: [{
id: 'cc-result-cancel',
defaultButton: true,
message: 'Close',
handler: function () {
$('#cc-result').closeModal();
}
}]
});
} else if (data && data.error) {
$('#cc-form').closeModal();
$.showCustomModal("Error", '<p>' + i18n[lang].error + '<br /><br />Error: ' + data.error.info + '. <br /><br />Please add a number inside of parenthesis when trying again like so: ' + wiki + ' (2)</p>', {
id: 'cc-result',
width: 300, //A way to add percentages would be great!
buttons: [{
id: 'cc-result-cancel',
defaultButton: true,
message: 'Close',
handler: function () {
$('#cc-result').closeModal();
}
}]
});
} else {
$('#cc-form').closeModal();
$.showCustomModal("Error", '<p>' + i18n[lang].error + '</p>', {
id: 'cc-result',
width: 300, //A way to add percentages would be great!
buttons: [{
id: 'cc-result-cancel',
defaultButton: true,
message: 'Close',
handler: function () {
$('#cc-result').closeModal();
}
}]
});
}
},
error: function (xhr) {
generateResult('Error', i18n[lang].error);
$.showCustomModal("Error", '<p>' + i18n[lang].error + '</p>', {
id: 'cc-result',
width: 300, //A way to add percentages would be great!
buttons: [{
id: 'cc-result-cancel',
defaultButton: true,
message: 'Close',
handler: function () {
$('#cc-result').closeModal();
}
}]
});
}
});
}
/*else if (isAdoption === false) {
$.post('/api.php', {
action: 'edit',
title: mw.config.get('wgPageName'),
text: text,
summary: 'Adding new link request (script generated)',
token: mw.user.tokens.values.editToken
}).done(function () {
generateResult('Success', i18n[lang].success);
$('#cc-form').closeModal();
}).fail(function () {
generateResult('Error', i18n[lang].error);
$('#cc-form').closeModal();
});
}*/
else { return; }
}
}(jQuery, mediaWiki));