From 2550971450a4ce8d56298463186ad751352394c3 Mon Sep 17 00:00:00 2001 From: Luke Fitzgerald Date: Sun, 18 Jul 2010 12:45:28 -0700 Subject: [PATCH] ircmanager.php almost complete - Need to add exception catching --- plugins/Irc/ircmanager.php | 41 +++++++++++++++++++++++++++++++------- 1 file changed, 34 insertions(+), 7 deletions(-) diff --git a/plugins/Irc/ircmanager.php b/plugins/Irc/ircmanager.php index c404c751ca..549936ae7b 100644 --- a/plugins/Irc/ircmanager.php +++ b/plugins/Irc/ircmanager.php @@ -31,10 +31,11 @@ if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } */ class IrcManager extends ImManager { - public $conn = null; + /** * Initialize connection to server. + * * @return boolean true on success */ public function start($master) { @@ -46,10 +47,16 @@ class IrcManager extends ImManager { } } + /** + * Return any open sockets that the run loop should listen + * for input on. + * + * @return array Array of socket resources + */ public function getSockets() { $this->connect(); if ($this->conn) { - return array($this->conn->myConnection); + return $this->conn->getSockets(); } else { return array(); } @@ -57,7 +64,9 @@ class IrcManager extends ImManager { /** * Process IRC events that have come in over the wire. + * * @param resource $socket + * @return void */ public function handleInput($socket) { common_log(LOG_DEBUG, 'Servicing the IRC queue.'); @@ -65,7 +74,12 @@ class IrcManager extends ImManager { $this->conn->receive(); } - function connect() { + /** + * Initiate connection + * + * @return void + */ + public function connect() { if (!$this->conn) { $this->conn = new Phergie_Extended_Bot; @@ -78,7 +92,6 @@ class IrcManager extends ImManager { $config = new Phergie_Config; $config->readArray( array( - // One array per connection, pretty self-explanatory 'connections' => array( array( 'host' => $this->plugin->host, @@ -119,17 +132,31 @@ class IrcManager extends ImManager { return $this->conn; } - function handle_irc_message($data) { + /** + * Called via a callback when a message is received + * + * Passes it back to the queuing system + * + * @param array $data Data + * @return boolean + */ + public function handle_irc_message($data) { $this->plugin->enqueue_incoming_raw($data); return true; } - function send_raw_message($data) { + /** + * Send a message using the daemon + * + * @param $data Message + * @return boolean true on success + */ + public function send_raw_message($data) { $this->connect(); if (!$this->conn) { return false; } - $this->conn->sflapSend($data[0],$data[1],$data[2],$data[3]); + $this->conn->send($data[0], $data[1]); return true; } } -- 2.39.2