. * * Calls the given Statusnet IM architecture enqueuing method to enqueue * a new incoming message * * @category Phergie * @package Phergie_Plugin_Statusnet_Callback * @author Luke Fitzgerald * @copyright 2010 StatusNet, Inc. * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0 * @link http://status.net/ */ class Phergie_Plugin_Statusnet_Callback extends Phergie_Plugin_Abstract { /** * Callback details * * @var array */ protected $callback; /** * Load callback from config */ public function onLoad() { $callback = $this->config['statusnet_callback.callback']; if (is_callable($callback)) { $this->callback = $callback; } else { $this->callback = NULL; } } /** * Passes incoming messages to StatusNet * * @return void */ public function onPrivmsg() { if ($this->callback !== NULL) { $event = $this->getEvent(); $source = $event->getSource(); $message = trim($event->getText()); call_user_func($this->callback, array('sender' => $source, 'message' => $message)); } } }