]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
quit trying to use fancy join and just loop
authorEvan Prodromou <evan@prodromou.name>
Fri, 6 Jun 2008 17:48:22 +0000 (13:48 -0400)
committerEvan Prodromou <evan@prodromou.name>
Fri, 6 Jun 2008 17:48:22 +0000 (13:48 -0400)
darcs-hash:20080606174822-84dde-2128b2a5a6e129b10741bb8a1b2cdcdacc4ca1ca.gz

lib/omb.php

index 917acebaf8d04cb6b472767746bf165b171d89a3..35b5c9e1f36041a91b318565acfc647c893a2bfc 100644 (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;
+                                       }
                                }
                        }
                }