2012/7/6 Aureliano Guedes <[email protected]> > > 3) Veja bem que você está assumindo, que toda página contem esse > SECURITYTOKEN, independente do que você fez por último com o seu $url... > infelizmente a maneira como seu código está, não é nem um pouco > "side-effect free", logo acho que você não deveria contar com isso... > > Se por algum problema, ele não encontrar nada (eg. nem toda página do > forum tem esse SECURITYTOKEN ou então por algum motivo a última requisição > falhou ou não retornou esse token), o que terá na variável $1 e > consequentemente na sua variável $token? > *R:* Toda pagina tem o "SECURITYTOKEN" já que para fazer qualquer ação > preciso dele para gerar a permição, caso não haja login o SECURITYTOKEN é > "guest". >
Agora que você respondeu com tanta certeza, posso te mostrar que você está errado =P Nem sempre o content do $url no seu Shoutbox.pm terá um security token. Quer um exemplo? Suponha que você chame get_msg, então o content dele será o que ele retornar de http://www.forum-invaders.com.br/vb/vbshout.php?type=activeusers&do=ajax&action=fetch&instanceid=2, aqui no caso ele retornou o seguinte: {"ajax":"fetch","content":"There are currently no users chatting.","activeusers":"0"} Se logo depois você chamar o send_msg, o conteúdo de $url será esse daí (já que não foi realizado nenhum outro post/get) e não terá "SECURITYTOKEN" nenhum ;) Não só isso, esse conteúdo também não contém nenhum "Bem-vindo", o que faz com que seu regex não faça matching e você não submeta a mensagem ;) Por isso que disse, seu código tem altas dependências de "side-effects"... o que acontece numa função, não depende só dela, mas sim da sequência de chamadas anteriores que antecederam ela. Isso além de ser uma coisa feia, atrapalha você a debuggar e a escrever testes para seu programa :) [ ]'s -- Bruno C. Buss http://www.brunobuss.net
_______________________________________________ Rio-pm mailing list [email protected] http://mail.pm.org/mailman/listinfo/rio-pm
