Top Level :: Networking

Package Information: Net_SmartIRC

Show All Changelogs
» Version » Information
1.0.0Download

Release date: 2005-05-27 23:45 UTC
Release state: stable

Changelog:

v1.0.0:
-------
Released as 1.0.0 because current PEAR rule require this for stable
packages, there are _no_ big changes in this release!

fixes:
- renamed Net_SmartIRC_base::Net_SmartIRC to
Net_SmartIRC_base::Net_SmartIRC_base
a PHP4 bug made it work, in PHP5 its fixed and doesn't
(closes PEAR bug #1466, sf.net patch #967067)
- fixed a bug in _rawreceive()
the parser checked if he found a colon (messagepart) but +1 was added, the
check never worked right (I found this bug while porting SmartIRC to C#)
- fixed bug in _gettype()
the regexs was too sloppy, sometimes it got confused, this can break easily
the ChannelSync code.
- fixed bug in _event_rpl_whoreply()
on some IRC networks, the channel info in who replies can't be used, they
return sometimes random channels, this can break ChannelSync code.
- fixed include paths in example scripts (closes PEAR bug #2042)

changes:
- applied load socket extension patch (sf.net patch #911993) from
Anatoly Techtonik <techtonik@users.sourceforge.net>
if the socket extension is not loaded, it will now try to load it for *nix
and windows.

new:
- added objListenFor() method
it works like listenFor() but returns an array of the received ircdata
objects (not just ircdata->message like listenFor() does)

0.5.5p1Download

Release date: 2003-07-23 23:27 UTC
Release state: stable

Changelog:

v0.5.5:
-------
fixes:
- fixed a bug in _rawreceive()
messages were parsed wrong which caused problems with kick reasons.
(thx to sniper for reporting this).
- fixed bug in message()
CTCP ACTION messages had missing \001 at the end.
- fixed a bug in quit(), which caused quit messages not to be sent to the server.
- fixed reconnect() bug, it sent the channel join requests right after connect(),
and tried to join a channel without a name.
- fixes in ChannelSync code
When a user joins a channel after SmartIRC, no WHO info is updated in the user object.
Fixed wrong update of channel mode when rpl_channelmodeis received.
Fixed bug in _mode() method, which caused wrong handling of mode changes.
Topic updates are now tracked (thanks to sniper).
Fixed bug which caused fatal errors with ChannelSync enabled
(closes sf.net bug #705269).
Fixed bug in _event_mode(), unhandled modes were stored wrong.
Fixed bug in _event_rpl_namreply(), which caused that the first char of the first nick
of a namreply got cut (closes sf.net bug #747832).
- fixed bug in _checktimer()
Which caused problems when a timehandler is unregistered.
- fixed _gettye()
It wasn't recognizing SMARTIRC_TYPE_ACTION.
- removed if(!$obj) check for newly created objects (closes PHP bug 24622),
required for PHP 4.1.2 compatibility.

changes:
- removed all irc commands from SmartIRC.php
they have now their own file (SmartIRC/irccommands.php).
- Net_SmartIRC_messagehandler class now extends Net_SmartIRC_irccommands.
- removed the 1. parameter (&$irc) of all message handlers, not needed anymore.
- renamed class Net_SmartIRC_user to Net_SmartIRC_channeluser,
added class Net_SmartIRC_ircuser.
- added prefix _event to all message handlers (needed because of class restructuring).
- tweaked filling of the ircdata objects.
- log() now checks the passed debug level bitwise.
- $data->message will be null instead of random garbage,
if the IRC message has no colon (the message part),
- All methods that depend on ChannelSync mode, checks if it's enabled.
- Optimized the usage of time() for $this->_lastrx.
- updated the URL of a SmartIRC based bot (atbs).
- _loggedin is now set to false when the socket is dead,
required for proper working reconnect().
- on a reconnect(), the logfile won't be overwritten anymore.
- updated phpdoc tags.
- all access to the channel array now uses strtolower() for the key.
- fixed typo in function name setChannelSynching(),
now it's called setChannelSyncing() with a BC wrapper.
- removed all SMARTIRC_ prefixes for debug output.
- changed isJoined($channel) to isJoined($channel, $nickname)
for checking if the specified user is joined.
- removed "destructors", because they don't free the memory.

new:
- added isOpped() isVoiced() isBanned().
- added debug output and debug level for the messageparser.
- reconnect() uses now the channel key if one exists.
- added channel key syncing in _mode().
- when an actionhandler message regex has a leading '/' then the regex is used as it is,
this allows complex perl regex's.
- added message type SMARTIRC_TYPE_CTCP_REQUEST and SMARTIRC_CTCTP_REPLY for more advanced CTCP.
- added new log destinations SMARTIRC_NONE and SMARTIRC_BROWSEROUT
(for firendly browserouput). When the script is called from a browser,
the BROWSEROUT will automatic be used (closed sf.net bug #708155).
- added error handling for socket_select() in _rawreceive().
- added getMessage() to Net_SmartIRC_Error class.
- added debug level for ChannelSync code (SMARTIRC_DEBUG_CHANNELSYNCING).
- added filename and linenumber to debug output.
- added key property to channel class.
- added to all IRC commands optional $priority parameter with default value SMARTIRC_MEDIUM.
- added isError() for more advanced errorhandling, needed for encapsulation.
- added _isValidType() method, which checks for valid SMARTIRC_TYPE_* types.

0.5.5Download

Release date: 2003-07-23 23:12 UTC
Release state: stable

Changelog:

v0.5.5:
-------
fixes:
- fixed a bug in _rawreceive()
messages were parsed wrong which caused problems with kick reasons.
(thx to sniper for reporting this).
- fixed bug in message()
CTCP ACTION messages had missing \001 at the end.
- fixed a bug in quit(), which caused quit messages not to be sent to the server.
- fixed reconnect() bug, it sent the channel join requests right after connect(),
and tried to join a channel without a name.
- fixes in ChannelSync code
When a user joins a channel after SmartIRC, no WHO info is updated in the user object.
Fixed wrong update of channel mode when rpl_channelmodeis received.
Fixed bug in _mode() method, which caused wrong handling of mode changes.
Topic updates are now tracked (thanks to sniper).
Fixed bug which caused fatal errors with ChannelSync enabled
(closes sf.net bug #705269).
Fixed bug in _event_mode(), unhandled modes were stored wrong.
Fixed bug in _event_rpl_namreply(), which caused that the first char of the first nick
of a namreply got cut (closes sf.net bug #747832).
- fixed bug in _checktimer()
Which caused problems when a timehandler is unregistered.
- fixed _gettye()
It wasn't recognizing SMARTIRC_TYPE_ACTION.
- removed if(!$obj) check for newly created objects (closes PHP bug 24622),
required for PHP 4.1.2 compatibility.

changes:
- removed all irc commands from SmartIRC.php
they have now their own file (SmartIRC/irccommands.php).
- Net_SmartIRC_messagehandler class now extends Net_SmartIRC_irccommands.
- removed the 1. parameter (&$irc) of all message handlers, not needed anymore.
- renamed class Net_SmartIRC_user to Net_SmartIRC_channeluser,
added class Net_SmartIRC_ircuser.
- added prefix _event to all message handlers (needed because of class restructuring).
- tweaked filling of the ircdata objects.
- log() now checks the passed debug level bitwise.
- $data->message will be null instead of random garbage,
if the IRC message has no colon (the message part),
- All methods that depend on ChannelSync mode, checks if it's enabled.
- Optimized the usage of time() for $this->_lastrx.
- updated the URL of a SmartIRC based bot (atbs).
- _loggedin is now set to false when the socket is dead,
required for proper working reconnect().
- on a reconnect(), the logfile won't be overwritten anymore.
- updated phpdoc tags.
- all access to the channel array now uses strtolower() for the key.
- fixed typo in function name setChannelSynching(),
now it's called setChannelSyncing() with a BC wrapper.
- removed all SMARTIRC_ prefixes for debug output.
- changed isJoined($channel) to isJoined($channel, $nickname)
for checking if the specified user is joined.
- removed "destructors", because they don't free the memory.

new:
- added isOpped() isVoiced() isBanned().
- added debug output and debug level for the messageparser.
- reconnect() uses now the channel key if one exists.
- added channel key syncing in _mode().
- when an actionhandler message regex has a leading '/' then the regex is used as it is,
this allows complex perl regex's.
- added message type SMARTIRC_TYPE_CTCP_REQUEST and SMARTIRC_CTCTP_REPLY for more advanced CTCP.
- added new log destinations SMARTIRC_NONE and SMARTIRC_BROWSEROUT
(for firendly browserouput). When the script is called from a browser,
the BROWSEROUT will automatic be used (closed sf.net bug #708155).
- added error handling for socket_select() in _rawreceive().
- added getMessage() to Net_SmartIRC_Error class.
- added debug level for ChannelSync code (SMARTIRC_DEBUG_CHANNELSYNCING).
- added filename and linenumber to debug output.
- added key property to channel class.
- added to all IRC commands optional $priority parameter with default value SMARTIRC_MEDIUM.
- added isError() for more advanced errorhandling, needed for encapsulation.
- added _isValidType() method, which checks for valid SMARTIRC_TYPE_* types.

0.5.1Download

Release date: 2003-01-17 06:31 UTC
Release state: stable

Changelog:

ChangeLog of 0.5.1
------------------

fixes:
- major bugs in ChannelSynching fixed.
- fsocks support fixed.
- setUseSocket() method fixed.
If false was passed as parameter, it tried to load the socket extension.
Also warnings are now suppressed with @ in front of dl().
- fixed a typo in reconnect().
- missing SMARTIRC_DEBUG_CHANNELSYNCHING constant added.

changes:
- new design for HTML documentation used (PEAR template).
- moved all examples to their own directory (examples/).
- moved the documentation to docs/HTML/.
- added new file descriptions to README.
- removed not needed parts of DOCUMENTATION (most is now in the HTML version).
- updated the HTML documentation.

new:
- example5/6/7.php added.
- setAutoRetry() method added.
Autoretrying of connecting to the IRC server, is now supported.

0.5.0Download

Release date: 2003-01-06 06:43 UTC
Release state: beta

Changelog:

Initial release as PEAR package
this project is former known as phpSmartIRCclass
(beta because of first release in PEAR, the project itself is stable)

ChangeLog:
fixes:
- copyright year
- fixed critical bug in the main _rawreceive() for() loop, messages were lost.

changes:
- changed documentation tags in front of all methods to the phpDocumentator compatible format.
- improved connect() errorhandling.
- changed login() parameters to $nick, $realname, $usermode = 0, $username = null, $password = null.
- changed join() parameters to $channelarray, $key = null.
- changed kick() parameters to $channel, $nicknamearray, $reason = null.
- changed listenFor() parameters to $messagetype
return value is now the result, instead the of a reference to the result parameter.
- sendbuffer has now 3 queues: high, medium and low
high sends 2 messages, then 1 of medium
low is only send if high _and_ medium is empty.
- select() call for sockets is strongly optimized

new:
- phpDocumentator package tags.
- include() for messagehandler.php (needed for the new API).
- setChannelSynching() method, for enabling the channel synching.
- setCtcpVersion() method, for changing the ctcp version reply string.
- setReceiveTimeout() method, for changing the receive timeout.
- setTransmitTimeout() method, for changing the transmit timeout.
- setAutoReconnect() method, for enabling the autoreconnect feature.
- channel variable, a reference to _channels because $object->channel("#chan")->topic is not possible in PHP4 (ZE1).
- reconnect() method, it will reconnect and also join all channels.
- channel() method, getting a reference to the channel, only if channelsynching is on.
- added ident, host, messageex and rawmessageex variables to the Net_SmartIRC_data class.
- class Net_SmartIRC_user, stores info about one user, only used if channelsynching is on.
- class Net_SmartIRC_channel, stores info about one channel, only used if channelsynching is on.