2014-01-13

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));

Show more