Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- $(() => {
- let FILTERED_BOARD_LIST = ['fs', 'figurch', 'drugfk', 'kosto'];
- let BANNED_COUNTRIES = [/*'Romania'*/ /*, 'Portugal'*/];
- if (!FILTERED_BOARD_LIST.includes(config.board_uri)) {
- return;
- }
- let filteredIdx = 0;
- // MD5 хуенгровских и др. реакшенов
- let reactionsMd5 = [
- "7992694fff1a3e8a6e459ffb45e327cf",
- "79748ef10dd9d55081ab767f5d91cb71",
- "62bbfdd72913e4a613870c8b210239ed",
- "303ac8aade690af536c14eb45a5bda9c",
- "323cbd4d72c3af4772cc7cdee099c46d",
- "bb7d555f0abb4c105d78954c24d11ffc",
- "e946f48e3ee3a70d2aafdfc662f9d659",
- "020a5c32273a2bc751b122c2cfa926eb",
- "a4232db2d92b4a1a129ea61967ce165d",
- "ff0975695723e19840499ddc44c5867c",
- "656032ce773521301b37e4c7d5a97986",
- "e743d8b264585f11201f28dad8c95b47",
- "8b9f7beaacf90fa01cc08cccaf5b73be",
- "3d0cb129a61d622c3ddb8e70338ab5f8",
- "278b3bd362407806d8cc7ef78ef90339",
- "6b60b6a6d279ced159355d0c8ae79811",
- "330dbd2f0a0f47058aa6e89e8d1d805f",
- "442ce705150350e402e52cf48463328b",
- "ed2e35bbac35772a3057d98cdc51e224",
- "2520b8cb07d80d77588f2b72be6c3ac5",
- "1d10bdeabf05edf243843ba65514f4e8",
- "23faadacdb3e0b816053202da8afc828",
- "19d438c228de4a1e128aa0249db52437",
- "4ac7dbe285fd0997bb5bcbdd0d9edd86",
- "dd55378e1ac29cc6e6b2d07f96479a35",
- "e9f704f2c383f83a3fdeeb8fcec2ad61",
- "88cbb5f05775297af984b34623cf2a9a",
- "801eeba4d644fcb30ca7b8e8b8d00d4e"
- ];
- function filterMsg(el) {
- let postMessage = $(el).find('.post-message');
- let msgText = postMessage.text();
- let msgFiles = $(el).find('.post-file').length;
- let msgFlag = $(el).find('.flag').attr('alt');
- let postIdx = parseInt($(el).attr('data-post'));
- if (msgText.toLowerCase().match('билет|ticket|бронир')) {
- return 'show';
- }
- // детектор перекатов
- let m = msgText.match(/>>([0-9]+)/);
- if (m) {
- let linkRef = parseInt(m[1]);
- let matchCount = 0;
- let rxLink = />>([0-9]+)/g;
- do {
- m = rxLink.exec(msgText);
- if (m && parseInt(m[1]) == linkRef) {
- matchCount++;
- }
- } while (m);
- if (/*linkRef > postIdx &&*/ matchCount >= 3) {
- return 'show';
- }
- }
- if (BANNED_COUNTRIES.includes(msgFlag)) {
- return 'removeAll';
- }
- // голосовалки всегда бесполезны
- if (postMessage.find('.poll').length > 0) {
- return 'removeAll';
- }
- let isResponse = msgText.match(/>>[0-9]+/);
- let containsQuotedText = msgText.match(/^>.*/);
- let containsUrl = postMessage.find('a:not(.post-link)').length;
- if (containsUrl) {
- return 'removeNonQuotedText';
- }
- if (containsQuotedText && !isResponse) {
- return 'removeNonQuotedText';
- }
- return 'removeText';
- }
- function cleansePost(el) {
- let filterMethod = filterMsg(el);
- switch(filterMethod) {
- case 'removeNonQuotedText':
- $(el).find('.post-message :not(blockquote, a, i, :has(a))').hide();
- break;
- case 'removeText':
- let badFileCount = 0;
- $(el).find('.post-file').each((idx, postFileEl) => {
- if ($(postFileEl).find('.deleted').length != 0
- || reactionsMd5.includes($(postFileEl).find('img').attr('data-md5'))
- ) {
- badFileCount++;
- }
- });
- if ($(el).find('.post-file').length === badFileCount) {
- $(el).hide();
- filterMethod = 'removeAll';
- } else {
- $(el).find('.post-message').hide();
- }
- break;
- case 'removeAll':
- $(el).hide();
- break;
- }
- $(el).find('.post-footer').hide();
- filteredIdx = Math.max(filteredIdx, parseInt($(el).attr('data-post')));
- return filterMethod;
- }
- $('article.post').each((idx, el) => {
- cleansePost(el);
- })
- $(document).on('new_post', function(e,post) {
- $('.post').each((idx, el) => {
- postIdx = parseInt($(el).attr('data-post'));
- if (postIdx > filteredIdx) {
- let res = cleansePost(el);
- if (res == 'removeAll') {
- new_posts = Math.max(0, new_posts - 1);
- new_you_posts = Math.min(new_you_posts, new_posts);
- if (new_posts == 0) {
- makeIcon(icon_normal);
- }
- }
- }
- })
- });
- });
Add Comment
Please, Sign In to add comment