[PEAR-BUG] Bug #6650 [WFx->Bgs]: Channel synching problem
[email protected] Mon, 27 Oct 2014 06:28:46 +0000 (GMT)
| Newsgroups | php.pear.bugs |
|---|---|
| Message-ID | <[email protected]> |
Edit report at https://pear.php.net/bugs/bug.php?id=6650&edit=1 ID: 6650 Updated by: [email protected] Reported By: anon at yeah dot com Summary: Channel synching problem -Status: Wont fix +Status: Bogus Type: Bug Package: Net_SmartIRC Operating System: Win XP Package Version: 1.0.0 PHP Version: 5.0.4 Roadmap Versions: New Comment: -Status: Wont fix +Status: Bogus Status was not accurate -- this isn't a bug that they refused to fix, but rather not a bug at all. Previous Comments: ------------------------------------------------------------------------ [2008-02-15 11:52:36] amir Mirco has described it completely in Comment #1, it's a limitation. Wait for RPL_WHO. ------------------------------------------------------------------------ [2006-02-01 09:12:42] meebey That is a timing problem, at the time of the real join there is no server information avialable. The server info is from a RPL_WHO and that is requested after a user joins... the first time the class joins a channel itself, it syncs it and the sync finished can be detected by waiting for RPL_BANLISTEND since thats the last info of the sync. When new users join a channel where the class is already in, is a bit more problematic, you need to wait till the RPL_WHO arrived... ------------------------------------------------------------------------ [2006-01-31 21:53:23] anon at yeah dot com Description: ------------ For already i have been strugling with a nuisance obvously concerning the channel syncing. I am simple trying to reject (kick) from a particular channel every user connected to e particular server. So on every user join (SMARTIRC_TYPE_JOIN) i expect to have his server as a property "server" in the array "$irc->channel['mychannel]->users[$data->nick]". Unfortunately that is not the case and apart from the 'server' property some other are also not set (realname,hopcount,etc.) Still more confusing is that the information over that user is available is the method is called when he says something in the channel (SMARTIRC_TYPE_CHANNEL). Take a look at the examples below: Test script: --------------- ... $irc->setChannelSyncing(TRUE); ... function join (&$irc,&$data) { echo 'after joining, server: '. $irc->channel['#mychannel']->users[$data->nick]->server; } function channel (&$irc,&$data) { echo 'after talking, server: '. $irc->channel['#mychannel']->users[$data->nick]->server; } Expected result: ---------------- after joining, server: irc.server.com after talking, server: irc.server.com Actual result: -------------- after joining, server: after joining, server: irc.server.com ------------------------------------------------------------------------ -- Edit this bug report at https://pear.php.net/bugs/bug.php?id=6650&edit=1