(originalmente publicado no Facebook na manhã da quinta-feira 09/02 — horários em UTC-8 — estou copiando pra cá pra registrar)
7:32 — Passou uma propaganda de car title loan aqui na TV que pareceu muito aquela propaganda “Refinancie sua casa” do filme “Capitalismo: uma história de amor” do Michael Moore.
7:39 — A pessoa fala um pouco no jornal e termina com: “Coloquei mais informações na minha página no Facebook.” Além dos Twitters dos editores que fazem comentários no rodapé da tela, várias vezes aparecer o letreiro “Acesse nosso Twitter (ou nossa página no Facebook) pra ver as breaking news.” e tal. Bem interessante. A televisão aqui tá muito voltada pras redes sociais.
7:50 — Rá! Descobri (pela internet) como abrir uma caixa de leite. Da próxima vez nem vou precisar de tesoura :)
Já faz algum tempo que o Facebook tem um bug nas listas de membros dos grupos. As listas não mostram todos os membros do grupo. Mais: os membros que não aparecem na lista nem mesmo podem ser encontrados pelo formulário de busca de nomes. Quando você é administrador de um grupo, isso pode ser um grande inconveniente, porque na interface padrão do Facebook a lista de membros é o único lugar onde é possível excluir usuários de um grupo. Ou seja, os usuários que não aparecem lá são indeletáveis!
Só ali na lista de membros aparece esses X para excluir os membros do grupo.
Há alguns meses, escrevi um user script para o GreaseMonkey (extensão para o Firefox que permite que você crie esses pequenos scripts para serem rodados em páginas específicas) que busca ajudar os administradores de grupos a removerem esses membros fantasmas.
Não havia publicado até agora por vergonha (o script é bem feio, tanto o código como o resultado). Porém, acho que não pretendo perfumá-lo tão cedo, então resolvi liberá-lo aqui até pra inspirar quem quiser fazer coisas mais bonitas.
O funcionamento dele é muito simples: quando você entra num grupo (sendo ou não administrador — porque nem distingui isso no código), ele cria botões X do lado dos links para os perfis dos usuários que estão nessa página (e só nesses — outra coisa que nem me preocupei no script). Se você for administrador do grupo em questão, quando clica no X o Facebook abre aquela caixa perguntando se você quer mesmo excluir o membro em questão (e se quer baní-lo permanentemente).
Com o script, tem X em todo o lugar! (até onde não deve… hehe)
Sem mais enrolação, eis aqui o código para (des-)apreciação e aprimoramentos (por favor! :)):
// ==UserScript==
// @name Remove users from Facebook groups
// @description Remove usuarios que postam no grupo sem precisar procurar na lista de membros
// @author Tiago Madeira <madeira@juntos.org.br>
// @include http*://www.facebook.com/groups/*
// @version 1.32
// ==/UserScript==
(function(){
varas= document.getElementsByTagName("a");
vargid="";
for (vari=0; i<as.length; i++) {
vara=as[i];
varhovercard=a.getAttribute("data-hovercard");
if (hovercard!=null&&hovercard!="") {
uid=hovercard.replace(/.*id=/, '');
if (gid!="") {
varbutton='<a class="mhm auxiliaryButton closeButton uiCloseButton" '+'title="Remove" rel="dialog-post" '+'href="/ajax/groups/members/remove.php?group_id='+gid+'&uid='+uid+'"></a>';
a.innerHTML=a.innerHTML+" "+button;
}
}
varpattern=new RegExp("(^| )groupsCleanProfilePic( |$)");
if (pattern.test(a.className)) {
gid=a.getAttribute("href").replace(/.*id=/, '');
}
}
})();
Ou o link direto para download (ou instalação no GreaseMonkey):