summaryrefslogtreecommitdiff
path: root/plugins/SubMirror/actions/editmirror.php
diff options
context:
space:
mode:
authorBrion Vibber <brion@status.net>2010-08-06 10:56:18 -0700
committerBrion Vibber <brion@status.net>2010-08-06 11:49:52 -0700
commit7e55fc00447923b40b2ffc87329fd95347d776f5 (patch)
treec0ec54c201306fc1ee781676c9080ec0b6815dbb /plugins/SubMirror/actions/editmirror.php
parentebd2fc2f7cb799cc190b2d4a77d8d0057a8854c0 (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/actions/editmirror.php')
-rw-r--r--plugins/SubMirror/actions/editmirror.php9
1 files changed, 8 insertions, 1 deletions
diff --git a/plugins/SubMirror/actions/editmirror.php b/plugins/SubMirror/actions/editmirror.php
index 7ddd32ef3..c7fdab0d6 100644
--- a/plugins/SubMirror/actions/editmirror.php
+++ b/plugins/SubMirror/actions/editmirror.php
@@ -46,7 +46,7 @@ if (!defined('STATUSNET')) {
* @link http://status.net/
*/
-class EditMirrorAction extends AddMirrorAction
+class EditMirrorAction extends BaseMirrorAction
{
/**
@@ -60,6 +60,9 @@ class EditMirrorAction extends AddMirrorAction
function prepare($args)
{
parent::prepare($args);
+
+ $this->profile = $this->validateProfile($this->trimmed('profile'));
+
$this->mirror = SubMirror::pkeyGet(array('subscriber' => $this->user->id,
'subscribed' => $this->profile->id));
@@ -95,6 +98,10 @@ class EditMirrorAction extends AddMirrorAction
if ($this->delete) {
$mirror->delete();
+ $oprofile = Ostatus_profile::staticGet('profile_id', $this->profile->id);
+ if ($oprofile) {
+ $oprofile->garbageCollect();
+ }
} else if ($this->style != $mirror->style) {
$orig = clone($mirror);
$mirror->style = $this->style;