/* * forced-anon.js * https://github.com/savetheinternet/Tinyboard/blob/master/js/forced-anon.js * * Released under the MIT license * Copyright (c) 2012 Michael Save * Copyright (c) 2013-2014 Marcin Ɓabanowski * * Usage: * $config['additional_javascript'][] = 'js/jquery.min.js'; * //$config['additional_javascript'][] = 'js/options.js'; * //$config['additional_javascript'][] = 'js/style-select.js'; * //$config['additional_javascript'][] = 'js/options/general.js'; * $config['additional_javascript'][] = 'js/forced-anon.js'; * */ if (active_page == 'ukko' || active_page == 'thread' || active_page == 'index' || (window.Options && Options.get_tab('general'))) $(document).ready(function() { var force_anon = function() { if ($(this).children('a.capcode').length == 0) { var id = $(this).parent().children('a.post_no:eq(1)').text(); if ($(this).children('a.email').length != 0) var p = $(this).children('a.email'); else var p = $(this); old_info[id] = {'name': p.children('span.name').text(), 'trip': p.children('span.trip').text()}; p.children('span.name').text('Anonymous'); if (p.children('span.trip').length != 0) p.children('span.trip').text(''); } }; var enable_fa = function() { $('p.intro label').each(force_anon); }; var disable_fa = function() { $('p.intro label').each(function() { if ($(this).children('a.capcode').length == 0) { var id = $(this).parent().children('a.post_no:eq(1)').text(); if(old_info[id]) { if ($(this).children('a.email').length != 0) var p = $(this).children('a.email'); else var p = $(this); p.children('span.name').text(old_info[id]['name']); if (p.children('span.trip').length != 0) p.children('span.trip').text(old_info[id]['trip']); } } }); }; var toggle_id = function() { if (localStorage.hideids == 'true'){ $(this).addClass('hidden'); } else { $(this).removeClass('hidden'); } }; old_info = {}; forced_anon = localStorage['forcedanon'] ? true : false; if (window.Options && Options.get_tab('general')) { var s1 = '#hide-ids', s2 = '#forced-anon', e = 'change'; Options.extend_tab("general", ""); Options.extend_tab("general", ""); } else { var s1 = '#hide-ids', s2 = '#forced-anon', e = 'click'; $('hr:first').before(''); $('hr:first').before(''); $('div#forced-anon a').text(_('Forced anonymity')+' (' + (forced_anon ? _('enabled') : _('disabled')) + ')'); } $(s1).on(e, function(e) { if (!localStorage.hideids || localStorage.hideids == 'false') { localStorage.hideids = 'true'; if (window.Options && Options.get_tab('general')) e.target.checked = true; } else { localStorage.hideids = 'false'; if (window.Options && Options.get_tab('general')) e.target.checked = false; } $('.poster_id').each(toggle_id); }); $(s2).on(e, function() { forced_anon = !forced_anon; if (forced_anon) { $('div#forced-anon a').text(_('Forced anonymity')+' ('+_('enabled')+')'); localStorage.forcedanon = true; enable_fa(); } else { $('div#forced-anon a').text(_('Forced anonymity')+' ('+_('disabled')+')'); delete localStorage.forcedanon; disable_fa(); } return false; }); // initial option setup on script load if (localStorage.hideids == 'true'){ if (window.Options && Options.get_tab('general')) $('#hide-ids>input').prop('checked',true); $('.poster_id').each(toggle_id); } if(forced_anon) { enable_fa(); if (window.Options && Options.get_tab('general')) { $('#toggle-locked-threads>input').prop('checked', true); } } $(document).on('new_post', function(e, post) { if (forced_anon) $(post).find('p.intro label').each(force_anon); if (localStorage.hideids == 'true') $(post).find('.poster_id').each(toggle_id); }); });