forked from GNUsocial/gnu-social
reuse Subscription::cancel instead of reimplementing it.
I didn't know this method existed before... pretty neat.
This commit is contained in:
parent
d6e0640251
commit
a715271f84
@ -729,7 +729,7 @@ class LoseCommand extends Command
|
||||
return;
|
||||
}
|
||||
|
||||
$result=subs_unsubscribe_from($this->user, $this->other);
|
||||
$result = Subscription::cancel($this->other, $this->user);
|
||||
|
||||
if ($result) {
|
||||
$channel->output($this->user, sprintf(_('Unsubscribed %s'), $this->other));
|
||||
|
43
lib/subs.php
43
lib/subs.php
@ -43,46 +43,3 @@ function subs_unsubscribe_to($user, $other)
|
||||
return $e->getMessage();
|
||||
}
|
||||
}
|
||||
|
||||
function subs_unsubscribe_from($user, $other){
|
||||
$local = User::staticGet("nickname",$other);
|
||||
if($local){
|
||||
return subs_unsubscribe_to($local,$user);
|
||||
} else {
|
||||
try {
|
||||
$remote = Profile::staticGet("nickname",$other);
|
||||
if(is_string($remote)){
|
||||
return $remote;
|
||||
}
|
||||
if (Event::handle('StartUnsubscribe', array($remote,$user))) {
|
||||
|
||||
$sub = DB_DataObject::factory('subscription');
|
||||
|
||||
$sub->subscriber = $remote->id;
|
||||
$sub->subscribed = $user->id;
|
||||
|
||||
$sub->find(true);
|
||||
|
||||
// note we checked for existence above
|
||||
|
||||
if (!$sub->delete())
|
||||
return _('Couldn\'t delete subscription.');
|
||||
|
||||
$cache = common_memcache();
|
||||
|
||||
if ($cache) {
|
||||
$cache->delete(common_cache_key('user:notices_with_friends:' . $remote->id));
|
||||
}
|
||||
|
||||
|
||||
$user->blowSubscribersCount();
|
||||
$remote->blowSubscribersCount();
|
||||
|
||||
Event::handle('EndUnsubscribe', array($remote, $user));
|
||||
}
|
||||
} catch (Exception $e) {
|
||||
return $e->getMessage();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user