User:Frederator/global.js

// Mudanças recentes (p1) var notifyChanges = function (d) { var name = d.query.recentchanges[0].user, title = d.query.recentchanges[0].title, comment = d.query.recentchanges[0].comment, revid = d.query.recentchanges[0].revid, title2 = title.replace(/\?/g, '%3F'), comment2 = comment.replace(/"/g, '\),           name2;        if (name === mw.config.get('wgUserName')) {            name2 = 'você';        } else {            name2 = '' + name + '';        }        $('.watchlist').html();    }; (function ($, mw) {    "use strict";    // Variables    var un = mw.config.get('wgUserName'),        ttl = 'Hora de Aventura - Chat: Comunique-se',        wk = 'http://pt-br.horadeaventura.wikia.com',        ytmnthnm = [            'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'        ],        ytname;    if (mw.config.get('wgCanonicalSpecialPageName') === 'Chat') {        if (localStorage.getItem('notify') !== 'november') {            $.showCustomModal('', {                id: 'notify', buttons: [ {                       defaultButton: true, message: 'OK', handler: function { $('#notify').closeModal; }                   }                ]            });            localStorage.setItem('notify', 'november');        }        importStylesheet('MediaWiki:Chat.css/Custom.css');        // Page        document.title = ttl;        // Usuário (1)        $('li#user-' + un).attr('style', 'display: block !important');        // Mudanças recentes (p3)        if (!localStorage.getItem('notifyChanges')) {            localStorage.setItem('notifyChanges', wk);        }        var watchList = function  {                if (localStorage.getItem('notifyChanges') === wk) {                    $.getJSON(wk + '/api.php', { action: 'query', list: 'recentchanges', rclimit: 1, rcdir: 'older', rctype: 'edit', rcprop: 'ids|user|title|comment', format: 'json' }, function (data) { var name = data.query.recentchanges[0].user, title = data.query.recentchanges[0].title, comment = data.query.recentchanges[0].comment, revid = data.query.recentchanges[0].revid, title2 = title.replace(/\?/g, '%3F'), comment2 = comment.replace(/"/g, '\''),                           name2;                        if (name === un) {                            name2 = 'Você';                        } else {                            name2 = '' + name + '';                        }                        $('.watchlist').html(name2 + ' mudou ' + title + ' (diff)');                    });                } else {                    mw.loader.load(localStorage.getItem('notifyChanges') + '/api.php?action=query&list=recentchanges&rclimit=1&rcprop=ids|user|title|comment&rcdir=older&rctype=edit&format=json&callback=notifyChanges'); }           };        $(function  {            $('.ChatHeader').append(' ');            watchList;        }); setInterval(watchList, 20000); // MC e C1       $('.Rail h1.wordmark').before(''); setInterval(function {            // MC            $('.messages').html($('#Chat_' + mw.config.get('roomId') + ' .message').length);            // C1            $('.users').html($('.WikiChatList li.User:not(.ui-sortable-placeholder)').length);        }, 1); // bugs var bgfxs = function (chat) { $('.continued:first-child').removeClass('continued'); $('.inline-alert').next('li.continued:not(.inline-alert)').removeClass('continued'); };       mainRoom.model.chats.bind('afteradd', bgfxs); var rlct = setInterval(function {                if ($('.WikiaSearch').length) {                    $('.WikiaSearch').css('left', '250px');                    clearInterval(rlct);                }            }, 1); // Removal var rmv = setInterval(function {                if ($('.chattopic').length) {                    $('.chattopic').remove;                    clearInterval(rmv);                }            }, 1); // Usuários $('.WikiChatList').wrap(' '); $('.PrivateChatList').wrap(' '); mw.loader.using('jquery.ui.sortable', function {            $('.WikiChatList').sortable({ revert: true, containment: '#WikiChat', handle: 'img', axis: 'y', cursor: 'ns-resize', start: function (e, ui) { ui.placeholder.height(ui.item.height); }           });            $('.PrivateChatList').sortable({ revert: true, containment: '#PrivateChat', handle: 'img', axis: 'y', cursor: 'ns-resize', start: function (e, ui) { ui.placeholder.height(ui.item.height); }           });        });        $('.WikiChatList, .PrivateChatList').on('click', 'li.User', function  {            // Página de Usuário            $('.info .username').each(function  { var user = $(this).text, user2 = user.replace(/\?/g, '%3F'); $(this).replaceWith(' ' + user + ''); });           // UCR            $('.info .edits').each(function  { var user = $(this).siblings('.username').text, user2 = user.replace(/\?/g, '%3F'); $(this).replaceWith(' ' + $(this).text + ''); });       });        // Links $('.WikiChatList').on('click', 'li#user-' + un, function {            if (!$('.custom').length) {                $(this).children('.UserStatsMenu').children('.actions').prepend('  Ignorar Usuários</li> <a onclick="toggleAway">Ausente</a></li> <a href="' + wk + '/wiki/Special:WikiActivity" target="_blank">Actividad Recente</a></li><a href="' + wk + '/wiki/Special:RecentChanges" target="_blank">Mudanças Recentes</a></li><a href="' + wk + '/wiki/Special:Preferences" target="_blank">Preferências</a></li></ul> ');           }        }); // Ignorar Usuários var aa = JSON.parse(localStorage.getItem('block')), bb, i;       if (!localStorage.getItem('block') || localStorage.getItem('block') === 'undefined') { bb = ''; } else { for (i in aa) { if (aa.hasOwnProperty(i)) { $('head').append('<style type="text/css" id="block4">.Chat li[data-user="' + aa[i] + '"]{display: none;}.Rail li[data-user="' + aa[i] + '"] span.username{text-decoration: line-through !important;} '); }           }        }        $('body').on('click', '.ignore', function  {            if (localStorage.getItem('block')) {                aa = JSON.parse(localStorage.getItem('block'));                bb = aa.join('\n');            }            $.showCustomModal('Ignorar Usuários', ' Por favor, insira o usuário (s) que deseja ignorar. Separado com enter. <textarea id="block2" autofocus="autofocus" style="height: 300px; width: 400px; resize: none;">' + bb + ' ', { id: 'block3', buttons: [ {                       message: 'Cancelar', handler: function { $('#block3').closeModal; }                   }, {                        message: "Limpar", handler: function { $('#block2').val(''); }                   }, {                        defaultButton: true, message: 'Ignorar', handler: function { var a = $('#block2').val, b = a.split('\n'), c;                           for (i = b.length; i--;) { if (b[i] === '') { b.splice(i, 1); }                               if (b[i] === un) { b.splice(i, 1); }                           }                            c = b.filter(function (elem, pos) {                                return b.indexOf(elem) === pos;                            }); localStorage.setItem('block', JSON.stringify(c)); $('head #block4').each(function {                                $(this).remove;                            }); for (var j = 0; j < c.length; j++) { $('head').append('<style type="text/css" id="block4">.Chat li[data-user="' + c[j] + '"]{ display: none; } .Rail li[data-user="' + c[j] + '"] span.username{ text-decoration: line-through !important; } '); }                           $('#block3').closeModal; mainRoom.viewDiscussion.scrollToBottom; }                   }                ]            });            // Esconder        }).on('click', '.info li a, .custom li a', function  {            $('.UserStatsMenu').hide;            // Mudanças recentes (p4)        }).on('click', '.changes', function  {            $.showCustomModal('Notificar mudanças ', ' Por favor insira o wiki você quer as suas mudanças para ser notificado para você, em letras minúsculas <input id="change" autofocus="autofocus" placeholder="' + localStorage.getItem('notifyChanges').replace('http://', ).replace('.wikia.com', ) + '" style="width: 400px;"> ', { id: 'change2', buttons: [ {                       message: 'Cancelar', handler: function { $('#change2').closeModal; }                   }, {                        defaultButton: true, message: 'Ok', handler: function { if ($('#change').val) { localStorage.setItem('notifyChanges', 'http://' + $('#change').val + '.wikia.com'); $('#change2').closeModal; }                       }                    }                ]            });        });        ChatView.prototype.render = function (type) { if (this.model.get('text') === '') { var params = this.model.get('msgParams'); params.unshift(this.model.get('wfMsg')); var i18nText = $.msg.apply(null, params); this.model.set({                   text: i18nText                }); }           var msg = this.model.toJSON, originalTemplate = this.template; msg.text = this.processText(msg.text, this.model.get('isInlineAlert')); if (this.model.get('isInlineAlert')) { this.template = this.inlineTemplate; $(this.el).html(this.template(msg)); this.template = originalTemplate; } else { if (msg.text.indexOf('/me ') === 0) { msg.text = msg.text.substr(4); this.template = this.meMessageTemplate; $(this.el).html(this.template(msg)); this.template = originalTemplate; } else { if (msg.text.indexOf('//me ') === 0) { msg.text = msg.text.substr(1); }                   $(this.el).html(this.template(msg)); }           }            $(this.el).attr('id', 'entry-' + this.model.cid); if (this.model.get('name')) { $(this.el).attr('data-user', this.model.get('name')); }           if (type === 'change' || typeof (type) === 'undefined') { if (this.model.get('continued') === true) { $(this.el).addClass('continued'); }           }            if (this.model.get('name') === un) { $(this.el).addClass('você'); }           var date = new Date, minutes = (date.getMinutes.toString.length === 1) ? '0' + date.getMinutes : date.getMinutes, hours; if (date.getHours === 0) { hours = 12; } else if (date.getHours > 12) { hours = date.getHours - 12; } else { hours = date.getHours; }           if (this.model.get('').toString.match(/^\d+$/)) { $(this.el).find('.time').text; }           if (this.model.get('isInlineAlert') === true) { // Inline alert timestamp $(this.el).addClass('inline-alert').append(''); } else { // Arquivos $(this.el).children('.message').children('a[href$=".bmp"], .message a[href$=".gif"], .message a[href$=".jpeg"], .message a[href$=".JPG"], .message a[href$=".jpg"], .message a[href$=".PNG"], .message a[href$=".png"], .message a[href$=".svg"], .message a[href$=".webp"]').each(function {                    var image = $(this).attr('href');                    if (!image.match(/\/wiki\/File:/g) && !image.match(/File:/g)) {                        $(this).after(' <img src="' + image + '" /> ');                   }                }); // YouTube $(this.el).children('.message').children('a[href*="www.youtube.com/watch?"], a[href*="m.youtube.com/watch?"], a[href*="youtu.be/"]').each(function {                    var $this = $(this).text,                        result,                        res,                        ult,                        result2,                        result3,                        result4,                        result5,                        link,                        link2;                    if (/www\.youtube\.com\/watch\?/.test($this) || /m\.youtube\.com\/watch\?/.test($this)) {                        if ($this.indexOf('http://') === 0) {                            result = $this.slice(7);                        } else if ($this.indexOf('https://') === 0) {                            result = $this.slice(8);                        }                        res = result.indexOf('watch?'); ult = result.indexOf('v='); result2 = result.slice(0, res + 6) + result.slice(ult); result3 = result2.indexOf('&'); result4 = result2.substring(0, result3 !== -1 ? result3 : result2.length); if (/www\.youtube\.com\/watch\?/.test($this)) { result5 = result4.replace('www.youtube.com/watch?v=', 'www.youtube.com/embed/'); } else { result5 = result4.replace('m.youtube.com/watch?v=', 'www.youtube.com/embed/'); }                       link = result5.slice(0, 33); link2 = link.slice(22); } else { if ($this.indexOf('http://youtu.be/') === 0) { result = $this.slice(16); } else if ($this.indexOf('https://youtu.be/') === 0) { result = $this.slice(17); }                       link = 'www.youtube.com/embed/' + result; link2 = result.slice(0, 11); }                   $(this).after(' '); var $el = $(this).parent('.message').children('table').children('tbody').children('tr').children('td').children('#comments'); $.getJSON('http://gdata.youtube.com/feeds/api/videos/' + link2 + '/comments', {                       v: 2,                        alt: 'json',                        'max-results': 50                    }, function (data) {                        $(data.feed.entry).each(function  { $(this.author).each(function {                                ytname = this.name.$t;                            }); var ytid = this.yt$channelId.$t, ytimage = ytid.slice(2), ytpblshd = this.published.$t, ytdt = ytpblshd.replace(/T/g, ' ').slice(0, 19), ytmnth = ytdt.slice(5, 7), ytyr = ytdt.slice(0, 4), ytdy = ytdt.slice(8, 10), yttm = ytdt.slice(11); $($el).append(' <img src="https://i1.ytimg.com/i/' + ytimage + '/1.jpg" style="float: right; height: 40px; width: 40px; padding: 5px;" /> ' + ytname + ' ' + ytmnthnm[ytmnth - 1] + ' ' + ytdy + ', ' + ytyr + ' • ' + yttm + ' (UTC) ' + this.content.$t + ' '); });                   });                });                // MediaWiki:Emoticons                $(this.el).children('.message').children('img').each(function  { var $src = $(this).attr('src'); if (EMOTICONS.match($src)) { $(this).removeAttr('height width').attr('style', 'height: 16px !important; width: 16px !important;'); }               });            }            return this;        };        // Mostrar/Esconder (YouTube)        $('body').on('click', '#show-hide', function  { var $c = $(this).siblings('#comments'); if ($($c).is(':hidden')) { $(this).text('Mostrar os comentários de YouTube'); $($c).slideDown; } else { $(this).text('Esconder os comentários de YouTube'); $($c).slideUp; }       });    } }(this.jQuery, this.mediaWiki));

// Setear estado de ausencia, hacer que se reinicie al escribir y no al mover el mouse ni al cambiar la ventana. $(window).unbind('mousemove').unbind('focus'); // Agregar sombra $(' ').insertBefore('#Chat_21'); }); NodeChatController.prototype.setAway = function (msg){		if(!msg) {var msg = '';}		$.log("Attempting to go away with message: " + msg);		var setStatusCommand = new models.SetStatusCommand({ statusState: STATUS_STATE_AWAY, statusMessage: msg });		this.socket.send(setStatusCommand.xport);	}	function toggleAway(msg) {		if(!msg) {var msg = ;}		if($('#ChatHeader .User').hasClass('away') == true) {			mainRoom.setBack;		}		else {			mainRoom.setAway(msg);		}	}	toggleAway.back = function { //Force back status		if($('#ChatHeader .User').hasClass('away') == true) {mainRoom.setBack;}	}	toggleAway.away = function(msg) { //Force away status		if(!msg) {var msg = ;}		if($('#ChatHeader .User').hasClass('away') == false) {mainRoom.setAway(msg);}	}