$sub = new Subscription();
$sub->subscribed = $this->id;
-
+ $sub->whereAdd('subscriber != subscribed');
$cnt = (int) $sub->count('distinct subscriber');
- $cnt = ($cnt > 0) ? $cnt - 1 : $cnt;
-
if (!empty($c)) {
$c->set(common_cache_key('profile:subscriber_count:'.$this->id), $cnt);
}
return $feed;
}
+
+ static function fromURI($uri)
+ {
+ $profile = null;
+
+ if (Event::handle('StartGetProfileFromURI', array($uri, &$profile))) {
+ // Get a local user or remote (OMB 0.1) profile
+ $user = User::staticGet('uri', $uri);
+ if (!empty($user)) {
+ $profile = $user->getProfile();
+ } else {
+ $remote_profile = Remote_profile::staticGet('uri', $uri);
+ if (!empty($remote_profile)) {
+ $profile = Profile::staticGet('id', $remote_profile->profile_id);
+ }
+ }
+ Event::handle('EndGetProfileFromURI', array($uri, $profile));
+ }
+
+ return $profile;
+ }
}