// ==UserScript== // @name Messagerie : Titres Perso // @author Isilin // @namespace Dreadcast // @include http://www.dreadcast.net/Main // @version 1.0.3 // @grant none // @description Personnalisation des titres et des avatars d'aperçu, sur la messagerie. Inspiré du script original "Messagerie : Titre Perso". // @downloadURL none // ==/UserScript== function personnaliseAvatar(idMessage){ var saisie = prompt('Saisissez un url d\'avatar pour ce message :', $('#message_'+idMessage+' img').attr('src')); if (saisie != null) { setAvatarStorage(saisie, idMessage); applyAvatarMessage(saisie, idMessage); } } function applyAvatarMessage(url, idMessage) { $('#message_'+idMessage+' img').attr('src', url); } function setAvatarStorage(url, idMessage) { if (url != null && url.length > 0) { avatarMessagesPerso = getAllStorageAvatar() || {}; avatarMessagesPerso[idMessage] = url; localStorage.setItem("avatarMessagesPerso", JSON.stringify(avatarMessagesPerso)); } } function getAvatarStorage(idMessage) { avatarMessagesPerso = getAllStorageAvatar(); return (avatarMessagesPerso[idMessage])?avatarMessagesPerso[idMessage]:null; } function getAllStorageAvatarJson() { return localStorage.getItem("avatarMessagesPerso"); } function getAllStorageAvatar() { var avatarMessagesPerso = {}; var avatarMessagesPersoJson = getAllStorageAvatarJson(); if (avatarMessagesPerso!=null){ avatarMessagesPerso = JSON.parse(avatarMessagesPersoJson); } return avatarMessagesPerso; } function applyAvatarOnAllMessages(){ avatarMessagesPerso = getAllStorageAvatar(); if (avatarMessagesPerso != null) { $.each( avatarMessagesPerso, function( idMessage, url ) { applyAvatarMessage(url, idMessage); }); } } // ==================================== function personnaliseMessage(idMessage){ var saisie = prompt('Saisissez un titre a mettre pour ce message :', $('#db_message_'+idMessage+' .head .title').html()); if (saisie != null){ setTitreStorage(saisie, idMessage); applyTitreMessage(saisie, idMessage); } } function applyTitreMessage(titre, idMessage){ $('#message_'+idMessage+' .message_titre').html(titre); $('#db_message_'+idMessage+' .head .title').html(titre); } function setTitreStorage(titre, idMessage){ if(titre!=null && titre.length > 0){ titreMessagesPerso = getAllStorage(); titreMessagesPerso[idMessage] = titre; localStorage.setItem("titreMessagesPerso",JSON.stringify(titreMessagesPerso)); } } function getTitreStorage(idMessage){ titreMessagesPerso = getAllStorage(); return (titreMessagesPerso[idMessage])?titreMessagesPerso[idMessage]:null; } function getAllStorageJson(){ return localStorage.getItem("titreMessagesPerso"); } function getAllStorage(){ var titreMessagesPerso = {}; var titreMessagesPersoJson = getAllStorageJson(); if(titreMessagesPersoJson!=null){ titreMessagesPerso = JSON.parse(titreMessagesPersoJson); } return titreMessagesPerso; } function applyOnAllMessages(){ titreMessagesPerso = getAllStorage(); $.each( titreMessagesPerso, function( idMessage, titre ) { applyTitreMessage(titre, idMessage); }); } $(document).ready(function() { applyOnAllMessages(); applyAvatarOnAllMessages(); addImportExportMessages(); }); MenuMessagerie.prototype.openFolderSave = MenuMessagerie.prototype.openFolder; MenuMessagerie.prototype.openFolder = function(a){ $.ajaxSetup({async: false}); toReturn = this.openFolderSave(a); applyOnAllMessages(); applyAvatarOnAllMessages(); $.ajaxSetup({async: true}); return toReturn; } MenuMessagerie.prototype.openMessageSave = MenuMessagerie.prototype.openMessage; MenuMessagerie.prototype.openMessage=function(a,b){ $.ajaxSetup({async: false}); toReturn = this.openMessageSave(a,b) $('#db_message_'+a+' .head .title').before(''); $('#db_message_'+a+' #editTitle').css({ position: 'absolute', right: '56px', top: '-1px', width: '34px', height: '34px', background: 'url(../../../images/fr/design/boutons/boutons.png) -194px -138px no-repeat' }).hover(function(){ $(this).css({'background-position': '-264px -139px'}); }, function(){ $(this).css({'background-position': '-194px -138px'}); }).click(function(){ idMessage = $(this).parent().parent().parent().attr('id').substring(11); personnaliseMessage(idMessage); }); applyOnAllMessages(); $('#db_message_'+a+' .head .title').before(''); $('#db_message_'+a+' #editAvatar').css({ position: 'absolute', right: '93px', top: '-1px', width: '34px', height: '34px', background: 'url(../../../images/fr/design/boutons/boutons.png) -229px -243px no-repeat' }).hover(function(){ $(this).css({'background-position': '-264px -243px'}); }, function(){ $(this).css({'background-position': '-229px -243px'}); }).click(function(){ idMessage = $(this).parent().parent().parent().attr('id').substring(11); personnaliseAvatar(idMessage); }); applyAvatarOnAllMessages(); $.ajaxSetup({async: true}); return toReturn; } function addImportExportMessages(){ $('#action_list') .append('
  • Exporter mes Titres de messages
  • ') .append('
  • Importer des Titres de messages
  • ') .append('
  • Exporter mes Avatar de messages
  • ') .append('
  • Importer des Avatar de messages
  • ') .append('
  • Vider mes Titres et Avatar de messages
  • '); $('#exportMessages').click(function(){ alert(getAllStorageJson()); }); $('#importMessages').click(function(){ var saisie = prompt('Entrez l\'export de titre a importer :'); if (saisie != null){ titreMessagesPerso = JSON.parse(saisie); $.each( titreMessagesPerso, function( idMessage, titre ) { setTitreStorage(titre, idMessage); }); applyOnAllMessages(); } }); $('#exportAvatarMessages').click(function(){ alert(getAllStorageAvatarJson()); }); $('#importAvatarMessages').click(function(){ var saisie = prompt('Entrez l\'export d\'avatar a importer :'); if (saisie != null){ avatarMessagesPerso = JSON.parse(saisie); $.each( avatarMessagesPerso, function( idMessage, url ) { setAvatarStorage(url, idMessage); }); applyAvatarOnAllMessages(); } }); $('#emptyMessages').click(function(){ if (confirm("Supprimer l\'intégralité de votre personnalisation de Titres et Avatar de messages?") == true){ localStorage.removeItem("titreMessagesPerso"); localStorage.removeItem("avatarMessagesPerso"); alert('Suppression effectuée! Rechargez votre page, parce que j\'ai vraiment la flemme de remettre les titres d\'origine a la main...'); } }); } console.log('Perso Message: On.');