/* Depends on post-menu.js * Usage: * $config['additional_javascript'][] = 'js/post-menu.js'; * $config['additional_javascript'][] = 'js/post-filter.js'; */ if (active_page === 'thread' || active_page === 'index' || active_page === 'catalog' || active_page === 'ukko') { $(document).on('menu_ready', function () { 'use strict'; // returns blacklist object from storage function getList() { return JSON.parse(localStorage.postFilter); } // stores blacklist into storage and reruns the filter function setList(blacklist) { localStorage.postFilter = JSON.stringify(blacklist); $(document).trigger('filter_page'); } // unit: seconds function timestamp() { return Math.floor((new Date()).getTime() / 1000); } function initList(list, boardId, threadId) { if (typeof list.postFilter[boardId] == 'undefined') { list.postFilter[boardId] = {}; list.nextPurge[boardId] = {}; } if (typeof list.postFilter[boardId][threadId] == 'undefined') { list.postFilter[boardId][threadId] = []; } list.nextPurge[boardId][threadId] = {timestamp: timestamp(), interval: 86400}; // 86400 seconds == 1 day } function addFilter(type, value, useRegex) { var list = getList(); var filter = list.generalFilter; var obj = { type: type, value: value, regex: useRegex }; for (var i=0; i