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