diff options
author | Brion Vibber <brion@status.net> | 2010-08-06 10:56:18 -0700 |
---|---|---|
committer | Brion Vibber <brion@status.net> | 2010-08-06 11:49:52 -0700 |
commit | 7e55fc00447923b40b2ffc87329fd95347d776f5 (patch) | |
tree | c0ec54c201306fc1ee781676c9080ec0b6815dbb /plugins/SubMirror/SubMirrorPlugin.php | |
parent | ebd2fc2f7cb799cc190b2d4a77d8d0057a8854c0 (diff) |
OStatus/FeedSub: tweaked PuSH feed garbage collection so other plugins can declare usage of a low-level feed or an OStatus profile besides profile subscriptions & group memberships.
SubMirror: redid add-mirror frontend to accept a feed URL, then pass that on to OStatus, instead of pulling from your subscriptions.
Profile: tweaked subscriberCount() so it doesn't subtract 1 for foreign profiles who aren't subscribed to themselves; instead excludes the self-subscription in the count query.
Memcached_DataObject: tweak to avoid extra error spew in the DB error raising
Work in progress: tweaking feedsub garbage collection so we can count other uses
Diffstat (limited to 'plugins/SubMirror/SubMirrorPlugin.php')
-rw-r--r-- | plugins/SubMirror/SubMirrorPlugin.php | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/plugins/SubMirror/SubMirrorPlugin.php b/plugins/SubMirror/SubMirrorPlugin.php index 8678cc3dd..00c04ad0b 100644 --- a/plugins/SubMirror/SubMirrorPlugin.php +++ b/plugins/SubMirror/SubMirrorPlugin.php @@ -146,4 +146,27 @@ class SubMirrorPlugin extends Plugin array('href' => common_local_url('mirrorsettings')), _m('Set up mirroring options...')); } + + /** + * Let the OStatus subscription garbage collection know if we're + * making use of a remote feed, so it doesn't get dropped out + * from under us. + * + * @param Ostatus_profile $oprofile + * @param int $count in/out + * @return mixed hook return value + */ + function onOstatus_profileSubscriberCount($oprofile, &$count) + { + if ($oprofile->profile_id) { + $mirror = new SubMirror(); + $mirror->subscribed = $oprofile->profile_id; + if ($mirror->find()) { + while ($mirror->fetch()) { + $count++; + } + } + } + return true; + } } |