NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript== // @name Thalie-Changer Miss Thalie // @namespace nemotaku.thalie // @description Changer Miss Thalie // @include http://*forum-thalie.fr/thalie/* // @version 1.02 // @grant none // ==/UserScript== /* * JavaScript Cookie v2.1.3 * https://github.com/js-cookie/js-cookie * * Copyright 2006, 2015 Klaus Hartl & Fagner Brack * Released under the MIT license */ (function (factory) { var registeredInModuleLoader = false; if (typeof define === 'function' && define.amd) { define(factory); registeredInModuleLoader = true; } if (typeof exports === 'object') { module.exports = factory(); registeredInModuleLoader = true; } if (!registeredInModuleLoader) { var OldCookies = window.Cookies; var api = window.Cookies = factory(); api.noConflict = function () { window.Cookies = OldCookies; return api; }; } }(function () { function extend() { var i = 0; var result = { }; for (; i < arguments.length; i++) { var attributes = arguments[i]; for (var key in attributes) { result[key] = attributes[key]; } } return result; } function init(converter) { function api(key, value, attributes) { var result; if (typeof document === 'undefined') { return; } // Write if (arguments.length > 1) { attributes = extend({ path: '/' }, api.defaults, attributes); if (typeof attributes.expires === 'number') { var expires = new Date(); expires.setMilliseconds(expires.getMilliseconds() + attributes.expires * 86400000); attributes.expires = expires; } try { result = JSON.stringify(value); if (/^[\{\[]/.test(result)) { value = result; } } catch (e) { } if (!converter.write) { value = encodeURIComponent(String(value)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent); } else { value = converter.write(value, key); } key = encodeURIComponent(String(key)); key = key.replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent); key = key.replace(/[\(\)]/g, escape); return (document.cookie = [ key, '=', value, attributes.expires ? '; expires=' + attributes.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE attributes.path ? '; path=' + attributes.path : '', attributes.domain ? '; domain=' + attributes.domain : '', attributes.secure ? '; secure' : '' ].join('')); } // Read if (!key) { result = { }; } // To prevent the for loop in the first place assign an empty array // in case there are no cookies at all. Also prevents odd result when // calling "get()" var cookies = document.cookie ? document.cookie.split('; ') : [ ]; var rdecode = /(%[0-9A-Z]{2})+/g; var i = 0; for (; i < cookies.length; i++) { var parts = cookies[i].split('='); var cookie = parts.slice(1).join('='); if (cookie.charAt(0) === '"') { cookie = cookie.slice(1, - 1); } try { var name = parts[0].replace(rdecode, decodeURIComponent); cookie = converter.read ? converter.read(cookie, name) : converter(cookie, name) || cookie.replace(rdecode, decodeURIComponent); if (this.json) { try { cookie = JSON.parse(cookie); } catch (e) { } } if (key === name) { result = cookie; break; } if (!key) { result[name] = cookie; } } catch (e) { } } return result; } api.set = api; api.get = function (key) { return api.call(api, key); }; api.getJSON = function () { return api.apply({ json: true }, [ ].slice.call(arguments)); }; api.defaults = { }; api.remove = function (key, attributes) { api(key, '', extend(attributes, { expires: - 1 })); }; api.withConverter = init; return api; } return init(function () { }); })); window.toggleDiv = function () { $('#change-miss-thalie-div').toggle(); if ($('#change-miss-thalie-div').is(':visible')) { $('#a-miss-thalie').text('Ne pas changer Miss Thalie'); } else { $('#a-miss-thalie').text('Changer Miss Thalie'); } } window.cookie_name = 'missthalie'; window.getMissThalie = function () { return Cookies.get(cookie_name); } window.setMissThalie = function (value) { Cookies.set(cookie_name, value, { expires: 365, path: '/' }); $('.site_logo').css('background-image', 'url(\'' + value + '\')'); toggleDiv(); } $('document').ready() { var miss_thalie = getMissThalie(); if (miss_thalie) $('.site_logo').css('background-image', 'url(\'' + miss_thalie + '\')'); $('#quick-links').after('<li class="small-icon icon-mark" data-last-responsive="true"><a href="#" onclick="toggleDiv()" id="a-miss-thalie">Changer Miss Thalie</a></li>'); $('<div id="change-miss-thalie-div" hidden>' + '<select id="miss-thalie-select"><option value="0">Choisir par thème</option></select>' + ' <b>OU</b> Votre miss Thalie : <input type="text" id="new-miss-thalie"/>' + '<input type="button" id="change-miss-thalie" value="Changer de Miss Thalie"/> <input type="button" id="raz-miss-thalie" value="Miss Thalie par défaut"/>' ).appendTo('.headerbar'); var themes = { 'GreenProsilver': 'http://www.forum-thalie.fr/thalie/styles/Greenprosilver/theme/images/site_logo.png', 'Grey Launch Frest': 'http://www.forum-thalie.fr/thalie/styles/IDLaunch_Fresh/theme/images/site_logo.png', 'SE Square': 'http://www.forum-thalie.fr/thalie/styles/se_square_left/theme/images/site_logo.png', 'Blog Thalie': 'http://neantvert.eu/logo_thalie.png' }; $.each(themes, function (key, value) { $('#miss-thalie-select').append($('<option>', { value: value, text: key })); }); $('#miss-thalie-select').change(function () { var value = $(this).val(); if (value) setMissThalie(value); }); $('#miss-thalie-select option').hover(function () { $('.site_logo').css('background-image', 'url(\'' + $(this).val() + '\')'); }); } $('#change-miss-thalie').click(function () { setMissThalie($('#new-miss-thalie').val()); }); $('#raz-miss-thalie').click(function () { Cookies.remove(cookie_name); document.location.reload(true); });