add autosubscribe

darcs-hash:20080720201620-84dde-f782e01bdf7f267b3b02e20e851aa7b643ed8590.gz
This commit is contained in:
Evan Prodromou 2008-07-20 16:16:20 -04:00
parent 48ac5b9e85
commit d294c91d82
2 changed files with 24 additions and 8 deletions

View File

@ -49,19 +49,21 @@ class SubscribeAction extends Action {
return;
}
$sub = new Subscription();
$sub->subscriber = $user->id;
$sub->subscribed = $other->id;
$sub->created = DB_DataObject_Cast::dateTime(); # current time
if (!$sub->insert()) {
common_server_error(_('Couldn\'t create subscription.'));
if (!$user->subscribeTo($other)) {
$this->server_error(_('Could not subscribe.'));
return;
}
$this->notify($other, $user);
if ($other->autosubscribe && !$other->isSubscribed($user)) {
if (!$other->subscribeTo($user)) {
$this->server_error(_('Could not subscribe other to you.'));
return;
}
$this->notify($user, $other);
}
common_redirect(common_local_url('subscriptions', array('nickname' =>
$user->nickname)));
}

View File

@ -112,4 +112,18 @@ class User extends DB_DataObject
function getCarrier() {
return Sms_carrier::staticGet($this->carrier);
}
function subscribeTo($other) {
$sub = new Subscription();
$sub->subscriber = $this->id;
$sub->subscribed = $other->id;
$sub->created = DB_DataObject_Cast::dateTime(); # current time
if (!$sub->insert()) {
return false;
}
return $true;
}
}