summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFederico Marani <federico.marani@ymail.com>2009-03-28 17:55:20 +0000
committerFederico Marani <federico.marani@ymail.com>2009-03-28 17:55:20 +0000
commit5e9ff6ae973423c06ac42c679f4ad67a46a77bd0 (patch)
treef3763a0a63a3c377709b3e17818ac245f07b1073
parent4b3f022fc2ff142e6d1cb6740b7f89108cfda292 (diff)
Testing JMS message selectors for notice tags-based routing
-rw-r--r--lib/util.php22
1 files changed, 20 insertions, 2 deletions
diff --git a/lib/util.php b/lib/util.php
index 4e09bffce..79d5cc943 100644
--- a/lib/util.php
+++ b/lib/util.php
@@ -868,20 +868,38 @@ function common_enqueue_notice($notice)
}
common_log(LOG_DEBUG, 'complete remote queueing notice ID = ' . $notice->id . ' for ' . $transport);
}
+
+ //send tags as headers, so they can be used as JMS selectors
+ common_log(LOG_DEBUG, 'searching for tags ' . $notice->id);
+ $tags = array();
+ $tag = new Notice_tag();
+ $tag->notice_id = $notice->id;
+ if ($tag->find()) {
+ while ($tag->fetch()) {
+ common_log(LOG_DEBUG, 'tag found = ' . $tag->tag);
+ array_push($tags,$tag->tag);
+ }
+ }
+ $tag->free();
+
$con->send('/topic/laconica.'.$notice->profile_id,
$notice->content,
array(
'profile_id' => $notice->profile_id,
- 'created' => $notice->created
+ 'created' => $notice->created,
+ 'tags' => implode($tags,' - ')
)
);
+ common_log(LOG_DEBUG, 'sent to personal topic ' . $notice->id);
$con->send('/topic/laconica.allusers',
$notice->content,
array(
'profile_id' => $notice->profile_id,
- 'created' => $notice->created
+ 'created' => $notice->created,
+ 'tags' => implode($tags,' - ')
)
);
+ common_log(LOG_DEBUG, 'sent to catch-all topic ' . $notice->id);
$result = true;
}
else {