您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Addon Edenya
// ==UserScript== // @name Edenya-Script // @namespace http://tampermonkey.net/ // @version 0.100021 // @description Addon Edenya // @author Valkazaar // @match http://www.edenya.net/_vahal/* // @grant none // @include http://www.edenya.net/_vahal/* // @include https://www.edenya.net/_vahal/* // @require https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js // ==/UserScript== function checkMessages(){ $.ajax({ type: 'GET', url: 'https://www.edenya.net/index2.php?loca=communiquer/forum/messages', //data: datas, success: function(data) { var i = (data.split("#AA2020")).length - 1; var texte = "envelope-open"; if(i>0){ $('#ValkHidden').prepend('<span title="'+i+' Message(s) Non Lus"><a href="https://www.edenya.net/index2.php?loca=communiquer/forum/messages"><i class ="fa fa-envelope" /><small>('+i+') </small></a></span>'); }else{ $('#ValkHidden').prepend('<span title="Aucun message non lu"> <a href="https://www.edenya.net/index2.php?loca=communiquer/forum/messages"><i class ="fa fa-envelope-open" /></a></span>'); } }}); } (function () { $('head').append('<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" type="text/css">'); 'use strict'; // Vérification de la présence de la variable localStorage EdenyaColor // et instanciation de base si nécessaire var localColor = localStorage.getItem('EdenyaColor'); if (localColor === null) { localColor = {}; localColor.cadre2 = '#dda0dd'; localColor.ligneA = '#000000'; localColor.dialogue = '#ffffff'; localColor.narration = '#ffd700'; localColor.cri = '#9acd32'; localColor.hj = '#FFDAB9'; localColor.BlackDate = '#B09070'; localStorage.setItem('EdenyaColor', JSON.stringify(localColor)); localColor = localStorage.getItem('EdenyaColor'); } var localColorParsed = JSON.parse(localColor); if (localColorParsed.BlackDate === undefined) { localColorParsed.BlackDate = '#B09070'; localStorage.setItem('EdenyaColor', JSON.stringify(localColorParsed)); } // Remplacement des dates écrites en noir dans les forums. $("font[color*='#000000']").attr( "color", localColorParsed.BlackDate ); $("font[color='#990000']").attr( "color", '#FF0000' ); $("font[color*='#990000']").attr( "color", '#00DD00' ); // Colorisation des éléments var baliseHeader = document.querySelector('head'); var styleToAdd = document.createElement('style'); $('a:has(i:has(span))').attr( "class", "narration" ); for (var item in localColorParsed) { styleToAdd.innerText += '.' +item + '{color:'+ localColorParsed[item]+'!important}'; } styleToAdd.innerText += 'td.cadre2 a:visited {color:'+ localColorParsed.cadre2+'}'; styleToAdd.innerText += 'td.cadre2 a:link {color:'+ localColorParsed.cadre2+'}'; styleToAdd.innerText += 'menu {margin-block-start:0;margin-block-end:0;}'; styleToAdd.innerText += 'menu#menuValk {padding:0px;list-style-type: none;-webkit-padding-start: 0px;};'; baliseHeader.appendChild(styleToAdd); var locationPath = window.location.pathname.split("/"); // Dans Vahal, sur page 'normale' if (locationPath[locationPath.length - 2] == "_vahal" && locationPath[locationPath.length - 1] == "index.php"){ jQuery.fn.Valk_Refresh = function() { var first = true; var z = JSON.parse(localStorage.getItem('EdenyaShortcut')); $('#menuValk').html(''); for (var item in z) { var shortcutToAdd = "<li><small>"; shortcutToAdd += "<i class='fa fa-chevron-up' onclick='$(document).Valk_Up(\"" + item + "\");' />"; shortcutToAdd += "<i class='fa fa-chevron-down' onclick='$(document).Valk_Down(\"" + item + "\");' />"; shortcutToAdd += "<i class='fa fa-edit' onclick='$(document).Valk_Rename(\"" + item + "\");' />"; shortcutToAdd += "<i class='fa fa-times-circle' onclick='$(document).Valk_Del(\"" + item + "\");' />"; shortcutToAdd += '</small> <a href="'+ z[item] +'">'+item+'</a>'; shortcutToAdd += "</li>"; $('#menuValk').append(shortcutToAdd); } $('#menuValk li:first-child small i:nth-child(1)').removeAttr("onclick") $('#menuValk li:last-child small i:nth-child(2)').removeAttr("onclick") return this; // This is needed so others can keep chaining off of this }; jQuery.fn.Valk_Rename = function(itemIn){ var nom=prompt('A renommer en ?'); if (nom!==null){ var y = {}; var z = JSON.parse(localStorage.getItem('EdenyaShortcut')); for (var item in z) { if(item == itemIn){ y[nom]=z[item]; }else{ y[item]=z[item]; } }; localStorage.setItem('EdenyaShortcut',JSON.stringify(y)); $(document).Valk_Refresh(); } return this; // This is needed so others can keep chaining off of this } jQuery.fn.Valk_Down = function(itemIn) { var next = null; var y = {}; var z = JSON.parse(localStorage.getItem('EdenyaShortcut')); for (var item in z) { if (item != itemIn) { y[item] = z[item]; if (next != null) { for (var bidule in next) { y[bidule] = next[bidule]; } next = null; } }else { next = {}; next[item] = z[item]; } } localStorage.setItem('EdenyaShortcut', JSON.stringify(y)); $(document).Valk_Refresh(); return this; // This is needed so others can keep chaining off of this } jQuery.fn.Valk_Up = function(itemIn){ var previous = null;var y={}; var z = JSON.parse(localStorage.getItem('EdenyaShortcut')); for (let item in z) { if (previous != null){ if (item == itemIn){ y[item]=z[item]; } for (bidule in previous){ if (bidule != itemIn){ y[bidule]=previous[bidule]; } } }; previous={}; previous[item]=z[item] ; } for (var bidule in previous) { if (bidule != itemIn){ y[bidule]=previous[bidule]; } } localStorage.setItem('EdenyaShortcut',JSON.stringify(y));$(document).Valk_Refresh(); return this; // This is needed so others can keep chaining off of this } jQuery.fn.Valk_Add = function(){ var nom=prompt('Nom du shortcut ?'); if (nom!==null){ var z = JSON.parse(localStorage.getItem('EdenyaShortcut')); z[nom]=document.URL; localStorage.setItem('EdenyaShortcut',JSON.stringify(z)); $(document).Valk_Refresh(); //Valk_Refresh(); } return this; // This is needed so others can keep chaining off of this } jQuery.fn.Valk_Del = function(item){ var z = JSON.parse(localStorage.getItem('EdenyaShortcut')); delete z[item]; localStorage.setItem('EdenyaShortcut',JSON.stringify(z)); $(document).Valk_Refresh(); return this; // This is needed so others can keep chaining off of this } jQuery.fn.Valk_ChgCol = function(id){ var z = JSON.parse(localStorage.getItem('EdenyaColor')); z[id] = $("#"+id).val(); localStorage.setItem('EdenyaColor',JSON.stringify(z)); location.href = location.href; return this; // This is needed so others can keep chaining off of this } // Positionnement sur la colone de gauche pour y ajouter les éléments (raccourcis et gestion des couleurs) if($(".menu").length > 0){ $(".menu").append('<img src="images/interface/jour/pluie/chains.gif" />'); $(".menu").append('<div id="cadreValk" class="cadre" style="width:194px;" />'); $("#cadreValk").append('<div id="ValkHidden" />'); checkMessages(); $('#ValkHidden').append('<span style="padding-right:10px" title="Evénements récents"><a href="#"><i class="fa fa-calendar" onclick="javascript:window.open(\'vide.php?loca=evenements\',\'events\',\'scrollbars=1,width=500,height=450\')" /></a></span>'); $("#ValkHidden").append("<span title='Ajouter un raccourci'><a href='#' onclick='$(document).Valk_Add()'> <i class='fa fa-plus-circle'/> Raccourci</a></span>"); $("#cadreValk").append('<hr /><menu id="menuValk" />'); $("#cadreValk").append('<hr /><div>Couleurs utilisées :</div>'); var localShortcut = localStorage.getItem('EdenyaShortcut'); if (localShortcut === null) { var shortcut = { 'accueil': 'https://www.edenya.net/_vahal/' }; localStorage.setItem('EdenyaShortcut', JSON.stringify(shortcut)); localShortcut = localStorage.getItem('EdenyaShortcut'); } var localShortcutParsed = JSON.parse(localShortcut); $(document).Valk_Refresh(); var localTips = localStorage.getItem('EdenyaTips'); if (localTips === null) { localTips = {}; localTips.cadre2 = "Couleur générale titre, panneau PJ,..."; localTips.ligneA = "Couleur texte hors balises RP"; localTips.dialogue = "Texte d'un dialogue"; localTips.narration = "Texte de narration"; localTips.cri = "Texte crié"; localTips.hj = "descriptions HJ"; localTips.BlackDate = "couleur des dates dans les forums"; localStorage.setItem('EdenyaTips', JSON.stringify(localTips)); localTips = localStorage.getItem('EdenyaTips'); } var localTipsParsed = JSON.parse(localTips); for (item in localColorParsed) { var itemToAdd = '<input id="' + item + '" type="color" class="bouton" value="'+ localColorParsed[item] +'" style="width:25;padding:0"'; itemToAdd += " onChange='$(document).Valk_ChgCol(\"" + item + "\")'"; itemToAdd += ' onMouseOver=\'ShowHelpTab("<b>Usage :</b><br>'+(localTipsParsed[item]).replace("'", " ")+'")\''; itemToAdd += ' onMouseOut="HideHelp()"'; itemToAdd += ' title="'+ localTipsParsed[item] +'"'; itemToAdd += '</input>'; $("#cadreValk").append(itemToAdd); } var localPreview = localStorage.getItem('EdenyaPreview'); if(localPreview === null) { localPreview = true; localStorage.setItem('EdenyaPreview', localPreview); } var localPreviewParsed = JSON.parse(localPreview); $("#cadreValk").append('<span>Prévisualisation de post : <input type="checkbox" onclick="localStorage.setItem(\'EdenyaPreview\', !JSON.parse(localStorage.getItem(\'EdenyaPreview\')));" '+ (localPreviewParsed?'checked':'') +' ></input></span>'); } } if (locationPath[locationPath.length - 2] == "_vahal" && locationPath[locationPath.length - 1] == "vide.php" && ((document.getElementsByClassName("titre"))[0]).innerText == "Nouveau message" && JSON.parse(localStorage.getItem('EdenyaPreview'))){ jQuery.fn.Valk_insertBalise = function(balise){ var field = $('#message')[0]; $('#message').focus(); var debut = field.selectionStart; var fin = field.selectionEnd; var startSelection = $('#message').val().substring(0, debut); var currentSelection = $('#message').val().substring(debut, fin); var endSelection = $('#message').val().substring(fin); $('#message').val(startSelection + "["+balise+"]" + currentSelection + "[/"+balise+"]" + endSelection); $('#message').focus(); // On remet le focus sur la zone de texte field.setSelectionRange(startSelection.length + balise.length + 2, startSelection.length + balise.length + 2 + currentSelection.length); return this; // This is needed so others can keep chaining off of this }; jQuery.fn.Valk_Previsualise = function(){ var initial_texte = $("[name='message']").val(); var regexpOpen = /\[(narration|dialogue|cri|hj|ecriture)\]/g; var regexpClose = /\[\/(narration|dialogue|cri|hj|ecriture)\]/g; var previsu_texte = initial_texte.replace(regexpOpen, "<span class=\"$1\">"); previsu_texte = previsu_texte.replace(regexpClose, "</span><!--$1-->"); var regexpImg = /\[img\]([^\[]*)\[\/img\]/g; previsu_texte = previsu_texte.replace(regexpImg, "<img src=\"$1\" border=\"0\"\/>"); previsu_texte = previsu_texte.replace(/\n/g, "<"+"br/>"); $("#previewText").html(previsu_texte); return this; // This is needed so others can keep chaining off of this }; $(".saisie tbody tr td img").attr("onclick", function (){var z=$(this).attr("onclick"); z=z.replace("clickfuncmult(this,'","$(document).Valk_insertBalise('");return z}) $("[name='Submit']").after("<button class='bouton' type='button' onclick='$(document).Valk_Previsualise()'>Prévisualiser</button>") $("table.saisie").after("<hr /><div id='previewText' style='text-align:left;'></div><hr />"); } window.oncontextmenu = null; })();