/** * @param array $notification * @param array $overrideConfig * @return void */ public function addNotification($notification, $overrideConfig) { $config = $this->getConfig($overrideConfig); $message = $this->getMessageForNotification($notification); $contacts = $notification['node']->getContacts($config['roles']); foreach ($contacts as $contact) { $xmppAddress = $contact->getAddressProperty('tx_caretaker_xmpp'); if (!empty($xmppAddress)) { $this->connection->message($xmppAddress, $message); } } }
$xmpp = new XMPP($host, $port, $username, $password, $resource, $server, true, LOGGING_INFO); $xmpp->connect(); while (!$xmpp->disconnected) { $payloads = $xmpp->processUntil(array('message', 'presence', 'end_stream', 'session_start')); foreach ($payloads as $event) { $pl = $event[1]; switch ($event[0]) { case 'message': echo "---------------------------------------------------------------------------------\n"; echo "Message from: {$pl['from']}\n"; if ($pl['subject']) { echo "Subject: {$pl['subject']}\n"; } echo $pl['body'] . "\n"; echo "---------------------------------------------------------------------------------\n"; $xmpp->message($pl['from'], "Thanks for sending me \"{$pl['body']}\".", $pl['type']); if ($pl['body'] == 'quit') { $xmpp->disconnect(); } if ($pl['body'] == 'break') { $xmpp->send("</end>"); } break; case 'presence': echo "Presence: {$pl['from']} [{$pl['show']}] {$pl['status']}\n"; break; case 'session_start': $xmpp->presence('Ready to roxorz!'); break; } }