common_log(LOG_WARNING,
sprintf(
"Profile ID %d (%s) tried to block his or herself.",
- $profile->id,
- $profile->nickname
+ $this->id,
+ $this->nickname
)
);
return false;
return false;
}
- // Cancel their subscription, if it exists
-
- $otherUser = User::staticGet('id', $other->id);
-
- if (!empty($otherUser)) {
- subs_unsubscribe_to($otherUser, $this->getProfile());
+ $self = $this->getProfile();
+ if (Subscription::exists($other, $self)) {
+ Subscription::cancel($other, $self);
}
$block->query('COMMIT');
function delete()
{
- $profile = $this->getProfile();
- $profile->delete();
+ try {
+ $profile = $this->getProfile();
+ $profile->delete();
+ } catch (UserNoProfileException $unp) {
+ common_log(LOG_INFO, "User {$this->nickname} has no profile; continuing deletion.");
+ }
$related = array('Fave',
'Confirm_address',
'Foreign_link',
'Invitation',
);
+
Event::handle('UserDeleteRelated', array($this, &$related));
foreach ($related as $cls) {