- // ==UserScript==
- // @name Com'back
- // @namespace http://tampermonkey.net/
- // @version 0.5
- // @description Ajoute un choix pour le type (écrit, audio, vidéo...) de message envoyé.
- // @author DarKobalt, Naugriim(♥)
- // @match http://www.dreadcast.net/Main
- // @grant none
- // ==/UserScript==
-
-
- //DEBUT DE L'INITIALISATION DES BOUTONS
-
- //IMPORTANT: N'ESSAYEZ PAS DE RAJOUTER DES LIGNES POUR L'INSTANT. Sérieusement. Ca ne marche pas.
- //Initialisation des caractères affichés sur les boutons. NE PAS METTRE PLUS D'UN CARACTERE. SI L'AFFICHAGE BUGUE, UTILISER LE CODE UNICODE (Ressemble à ça: 📝).
- var vButton = [];
- vButton.push("?");
- vButton.push("?");
- vButton.push("?");
- vButton.push("?");
- vButton.push("?");
- vButton.push("▶️");
-
- //Initialisation des messages ajoutés par les boutons.
- var dataAnnexes = [];
- dataAnnexes.push('【? Pièce jointe: ""】\n\n');
- dataAnnexes.push('【? Accusé de réception】\n\n');
- dataAnnexes.push('【? Envoi de données en cours: ""】\n\n');
- dataAnnexes.push('【? Chargement en cours, veuillez patienter.】\n\n');
- dataAnnexes.push('【? Fichier: ""】\n\n');
- dataAnnexes.push('【▶️ Lecture: ""】\n\n');
-
- //FIN DE L'INITIALISATION DES BOUTONS
- //A partir d'ici, toute modification est (encore plus qu'avant) à vos risques et périls.
-
-
- var listeTypes = []; //Liste des introductions de message.
- listeTypes.push("");
- listeTypes.push("\n 【? \/ Message écrit】\n\n\n");
- listeTypes.push("\n 【? \/ Message audio】\n\n\n");
- listeTypes.push("\n 【? \/ Message vidéo】\n\n\n");
- listeTypes.push("\n 【? \/ Depuis un deck】\n\n\n");
- listeTypes.push("\n 【❌ \/ Message HRP】\n\n\n");
-
- var init = false; //évite de dédoubler l'interface nm à chaque ouverture...
-
-
-
-
- function mainf() { //Fonction principale pour nouveau message
-
- if(!init) {
- var strTypeList = '<div style="z-index:999999;position: absolute;top: 25px;left: 320px;background-color: #ACABAB;"><select id="listeTypes" class="DC_liste" name="DC_listeTypes"><option selected> <option>📝 - Message écrit<option>🔊 - Message audio<option>🎥 - Message vidéo<option>💻 - Depuis un deck<option>❌ - Message HRP</select></div>';
- $("#db_new_message > div.content").append(strTypeList); //Ajout du menu déroulant.
-
- var strButton = '<div id="button_listeTypes" style="position: absolute; left: 50%; bottom: -13px; margin-left: -72px; width: 133px; height: 26px; background: url(../../../images/fr/design/boutons/btn_message.png) -399px 0 no-repeat; cursor: pointer;" onmouseover="this.style.backgroundPosition=`-399px -26px`;" onmouseout="this.style.backgroundPosition=`-399px 0px`;"></div>';
- $("#db_new_message > div.content").append(strButton); //Ajout du bouton imitant le bouton d'envoi. Il a les mêmes propriétés que le bouton d'envoi classique.
-
- //Initialisation du code des boutons.
- var strAnnexes = '<button class="cb_annexes" id="DCCB_b0">'+vButton[0]+'</button><button class="cb_annexes" id="DCCB_b1">'+vButton[1]+'</button><button class="cb_annexes" id="DCCB_b2">'+vButton[2]+'</button><button class="cb_annexes" id="DCCB_b3">'+vButton[3]+'</button><button class="cb_annexes" id="DCCB_b4">'+vButton[4]+'</button><button class="cb_annexes" id="DCCB_b5">'+vButton[5]+'</button>';
- $("#db_new_message > div.content").append('<div style="z-index:999999;position: absolute;top: 57px;left: 492px;width: 30px;">' + strAnnexes + '</div>'); //Ajout des boutons annexes pour ajouter des bouts de texte (pièce jointe, etc)
- $(".cb_annexes").css({"background-color": "#ACABAB", "height": "30px", "width": "30px", "font-size": "20px"}); //Ajout du CSS des boutons.
-
- init = true;
- }
-
- //INTRO DE MESSAGE
- var addIntro = function() { //Ajoute l'intro PUIS envoie le message.
-
- $(".message_nouveau > #nm_texte > textarea").val(listeTypes[document.getElementById("listeTypes").selectedIndex] + $(".message_nouveau > #nm_texte > textarea").val());
-
- nav.getMessagerie().sendMessage($(this).parent().parent()); //Envoi du message, fonction native du site dans l'inline css du bouton original.
-
- };
-
- document.getElementById("button_listeTypes").addEventListener('click', addIntro, true);
-
- //AJOUT BOUTONS ANNEXES
- var arrayBoutons = [];
- arrayBoutons = document.getElementsByClassName("cb_annexes");
- arrayBoutons[0].addEventListener('click', function(){$(".message_nouveau > #nm_texte > textarea").val($(".message_nouveau > #nm_texte > textarea").val() + dataAnnexes[0]);}, false);
- arrayBoutons[1].addEventListener('click', function(){$(".message_nouveau > #nm_texte > textarea").val($(".message_nouveau > #nm_texte > textarea").val() + dataAnnexes[1]);}, false);
- arrayBoutons[2].addEventListener('click', function(){$(".message_nouveau > #nm_texte > textarea").val($(".message_nouveau > #nm_texte > textarea").val() + dataAnnexes[2]);}, false);
- arrayBoutons[3].addEventListener('click', function(){$(".message_nouveau > #nm_texte > textarea").val($(".message_nouveau > #nm_texte > textarea").val() + dataAnnexes[3]);}, false);
- arrayBoutons[4].addEventListener('click', function(){$(".message_nouveau > #nm_texte > textarea").val($(".message_nouveau > #nm_texte > textarea").val() + dataAnnexes[4]);}, false);
- arrayBoutons[5].addEventListener('click', function(){$(".message_nouveau > #nm_texte > textarea").val($(".message_nouveau > #nm_texte > textarea").val() + dataAnnexes[5]);}, false);
-
- console.log("Com'back started: nouveau message"); //Debug
- }
-
- $("div.btnTxt.link").click(mainf); //Activation du script à l'ouverture de la fenêtre de nouveau message. Merci à Naugriim!
-
-
-
-
- function filcomf() { //Fonction principale pour fil de com' déjà existant
-
- $("#liste_messages").ajaxComplete(function(){ //Naugriim, je t'aime. ♥ (Attendre le chargement de la fenêtre avant d'envoyer la sauce)
-
- $("#liste_messages").unbind('ajaxComplete'); //Moi aussi, je m'aime. ♥ (Evite de renvoyer à chaque requête ajax du jeu et donc de dupliquer la fonction)
-
- $("div.content > div.message > div.btnTxt").click(function() { //Création et affichage lors du clic sur l'un des boutons en bas de la fenêtre
-
- if(document.getElementById("dccb_div_fc") === null) { //Ne recrée pas l'interface du script si elle existe déjà: REND IMPOSSIBLE L'OUVERTURE DE PLUSIEURS COMS SANS BUGS.
-
- var strTypeListfc = '<div id="dccb_div_fc" style="z-index:999999;position: absolute;top: 348px;left: 100px;background-color: #FFFFFF;-webkit-box-shadow: 0 0 1px 0px #329bc2;border-color: #207695;border-style: solid;border-width: thin;"><select id="listeTypesfc" class="DC_listefc" name="DC_listeTypesfc" style="color: #397d94; height: 27px;"><option selected> <option>📝 - Message écrit<option>🔊 - Message audio<option>🎥 - Message vidéo<option>💻 - Depuis un deck<option>❌ - Message HRP</select></div>';
- $("div.content > div.message").append(strTypeListfc); //Ajout du menu déroulant.
-
- var strButtonfc = '<div id="button_listeTypesfc" style="position: absolute; top: 343px; left: 2px; float: left;padding: 4px 20px 3px;text-transform: uppercase;font-size: 12px;margin-right: 10px;font-weight: 700;text-align: center;margin: 6px 0;cursor: pointer;background: #fff;border: 1px solid #fff;color: #397d94;font-family: "Trebuchet MS",Verdana,Arial,sans-serif;line-height: 18px;" onmouseover="this.style.backgroundColor=`#053D50`;this.style.color=`#FFFFFF`;" onmouseout="this.style.backgroundColor=`#FFFFFF`;this.style.color=`#397d94`;">Envoyer</div>';
- $("div.content > div.message").append(strButtonfc); //Ajout du bouton imitant le bouton d'envoi. Il a les mêmes propriétés que le bouton d'envoi classique.
-
- //Initialisation du code des boutons.
- var strAnnexesfc = '<button class="cb_annexesfc" id="DCCB_b0">'+vButton[0]+'</button><button class="cb_annexesfc" id="DCCB_b1">'+vButton[1]+'</button><button class="cb_annexesfc" id="DCCB_b2">'+vButton[2]+'</button><button class="cb_annexesfc" id="DCCB_b3">'+vButton[3]+'</button><button class="cb_annexesfc" id="DCCB_b4">'+vButton[4]+'</button><button class="cb_annexesfc" id="DCCB_b5">'+vButton[5]+'</button>';
- $("div.content > div.message").append('<div id="dccb_annexesfc" style="z-index:999999;position: absolute;top: 348px;left: 250px;height: 30px;">' + strAnnexesfc + '</div>'); //Ajout des boutons annexes pour ajouter des bouts de texte (pièce jointe, etc)
- $(".cb_annexesfc").css({"color": "#397D94", "background-color": "#FFFFFF", "height": "30px", "width": "30px", "font-size": "15px", "border-color": "#207695"}); //Ajout du CSS des boutons.
-
- var addIntrofc = function() { //Ajoute l'intro PUIS envoie le message.
-
- $(".zone_reponse > .texte > #nm_texte > textarea").val(listeTypes[document.getElementById("listeTypesfc").selectedIndex] + $(".zone_reponse > .texte > #nm_texte > textarea").val());
-
- nav.getMessagerie().sendMessage($(this).parent().parent().parent().parent()); //Envoi du message, fonction native du site dans l'inline css du bouton original.
-
- };
-
- document.getElementById("button_listeTypesfc").addEventListener('click', addIntrofc, false);
-
-
- var arrayBoutonsfc = [];
- arrayBoutonsfc = document.getElementsByClassName("cb_annexesfc");
- arrayBoutonsfc[0].addEventListener('click', function(){$(".zone_reponse > .texte > #nm_texte > textarea").val($(".zone_reponse > .texte > #nm_texte > textarea").val() + dataAnnexes[0]);}, false);
- arrayBoutonsfc[1].addEventListener('click', function(){$(".zone_reponse > .texte > #nm_texte > textarea").val($(".zone_reponse > .texte > #nm_texte > textarea").val() + dataAnnexes[1]);}, false);
- arrayBoutonsfc[2].addEventListener('click', function(){$(".zone_reponse > .texte > #nm_texte > textarea").val($(".zone_reponse > .texte > #nm_texte > textarea").val() + dataAnnexes[2]);}, false);
- arrayBoutonsfc[3].addEventListener('click', function(){$(".zone_reponse > .texte > #nm_texte > textarea").val($(".zone_reponse > .texte > #nm_texte > textarea").val() + dataAnnexes[3]);}, false);
- arrayBoutonsfc[4].addEventListener('click', function(){$(".zone_reponse > .texte > #nm_texte > textarea").val($(".zone_reponse > .texte > #nm_texte > textarea").val() + dataAnnexes[4]);}, false);
- arrayBoutonsfc[5].addEventListener('click', function(){$(".zone_reponse > .texte > #nm_texte > textarea").val($(".zone_reponse > .texte > #nm_texte > textarea").val() + dataAnnexes[5]);}, false);
-
- }
- });
-
- });
-
- console.log("Com'back started: fil de com"); //Debug
- }
-
- $("li.message").click(filcomf);
-
- $("#folder_list > .folder").click(function() { //Replacer les events sur les li.message lors d'un changement de dossier (ceux-ci semblent être effacés)
-
- $("#liste_messages").ajaxComplete(function(){
-
- $("#liste_messages").unbind('ajaxComplete');
- $("li.message").click(filcomf);
- console.log("Changement de dossier - Actualisation des events");
-
- });
-
- });
-
- console.log("Com'back initialisé!");