*
* @return boolean success value
*/
- function sendNotice($screenname, $notice)
+ function sendNotice($screenname, Notice $notice)
{
return $this->sendMessage($screenname, $this->formatNotice($notice));
}
* @return string plain-text version of the notice, with user nickname prefixed
*/
- function formatNotice($notice)
+ protected function formatNotice(Notice $notice)
{
$profile = $notice->getProfile();
- return $profile->nickname . ': ' . $notice->content . ' [' . $notice->id . ']';
+
+ try {
+ $parent = $notice->getParent();
+ $orig_profile = $parent->getProfile();
+ $nicknames = sprintf('%1$s => %2$s', $profile->nickname, $orig_profile->nickname);
+ } catch (Exception $e) {
+ $nicknames = $profile->nickname;
+ }
+
+ return sprintf('%1$s: %2$s [%3$u]', $nicknames, $notice->content, $notice->id);
}
//========================UTILITY FUNCTIONS USEFUL TO IMPLEMENTATIONS - RECEIVING ========================\
*
* @return boolean hook return
*/
- function onEndInitializeQueueManager($manager)
+ function onEndInitializeQueueManager(QueueManager $manager)
{
$manager->connect($this->transport . '-in', new ImReceiverQueueHandler($this), 'im');
$manager->connect($this->transport, new ImQueueHandler($this));
return true;
}
- function onStartEnqueueNotice($notice, &$transports)
+ function onStartEnqueueNotice(Notice $notice, array &$transports)
{
$profile = Profile::getKV($notice->profile_id);