quit trying to use fancy join and just loop

darcs-hash:20080606174822-84dde-2128b2a5a6e129b10741bb8a1b2cdcdacc4ca1ca.gz
This commit is contained in:
Evan Prodromou 2008-06-06 13:48:22 -04:00
parent ebfc997de3
commit 03beaef01c
1 changed files with 10 additions and 9 deletions

View File

@ -115,23 +115,24 @@ function omb_local_id($service) {
function omb_broadcast_remote_subscribers($notice) {
# First, get remote users subscribed to this profile
common_debug('starting broadcast for notice #'.$notice->id, __FILE__);
# XXX: use a join here rather than looping through results
$sub = new Subscription();
$sub->subscribed = $notice->profile_id;
$sub->selectAs();
$rp = new Remote_profile();
$sub->joinAdd($rp, 'INNER', NULL, 'subscriber');
if ($sub->find()) {
common_debug('Found subscriptions for '.$notice->id, __FILE__);
$posted = array();
while ($sub->fetch()) {
common_debug('sub = '.print_r($sub,TRUE), __FILE__);
common_debug('rp = '.print_r($rp,TRUE), __FILE__);
common_debug('Subscription by profile '.$sub->subscriber, __FILE__);
if (!$posted[$rp->postnoticeurl]) {
common_debug('Not yet posted to '.$rp->postnoticeurl, __FILE__);
if (omb_post_notice($notice, $rp, $sub)) {
common_debug('successful update to '.$rp->postnoticeurl, __FILE__);
$posted[$rp->postnoticeurl] = TRUE;
$rp = Remote_profile::staticGet('id', $sub->subscriber);
if ($rp) {
common_debug('subscriber '.$rp->id.' is remote.', __FILE__);
if (!$posted[$rp->postnoticeurl]) {
common_debug('Not yet posted to '.$rp->postnoticeurl, __FILE__);
if (omb_post_notice($notice, $rp, $sub)) {
common_debug('successful update to '.$rp->postnoticeurl, __FILE__);
$posted[$rp->postnoticeurl] = TRUE;
}
}
}
}