don't allow remote subscribes from blocked profiles

darcs-hash:20081208031532-5ed1f-6094c6425b73e45589de282fa482b912fb686fae.gz
This commit is contained in:
Evan Prodromou 2008-12-07 22:15:32 -05:00
parent ba8cc0df59
commit 5477532ea3
1 changed files with 10 additions and 6 deletions

View File

@ -41,7 +41,6 @@ class FinishremotesubscribeAction extends Action {
common_debug('stored request: '.print_r($omb,true), __FILE__); common_debug('stored request: '.print_r($omb,true), __FILE__);
common_remove_magic_from_request(); common_remove_magic_from_request();
$req = OAuthRequest::from_request(); $req = OAuthRequest::from_request();
@ -84,7 +83,7 @@ class FinishremotesubscribeAction extends Action {
common_user_error(_('You can use the local subscription!')); common_user_error(_('You can use the local subscription!'));
return; return;
} }
common_debug('listenee: "'.$omb['listenee'].'"', __FILE__); common_debug('listenee: "'.$omb['listenee'].'"', __FILE__);
$user = User::staticGet('nickname', $omb['listenee']); $user = User::staticGet('nickname', $omb['listenee']);
@ -95,12 +94,12 @@ class FinishremotesubscribeAction extends Action {
} }
$other = User::staticGet('uri', $omb['listener']); $other = User::staticGet('uri', $omb['listener']);
if ($other) { if ($other) {
common_user_error(_('You can use the local subscription!')); common_user_error(_('You can use the local subscription!'));
return; return;
} }
$fullname = $req->get_parameter('omb_listener_fullname'); $fullname = $req->get_parameter('omb_listener_fullname');
$homepage = $req->get_parameter('omb_listener_homepage'); $homepage = $req->get_parameter('omb_listener_homepage');
$bio = $req->get_parameter('omb_listener_bio'); $bio = $req->get_parameter('omb_listener_bio');
@ -183,6 +182,11 @@ class FinishremotesubscribeAction extends Action {
} }
} }
if ($user->hasBlocked($remote->id)) {
$this->client_error(_('That user has blocked you from subscribing.'));
return;
}
$sub = new Subscription(); $sub = new Subscription();
$sub->subscriber = $remote->id; $sub->subscriber = $remote->id;
$sub->subscribed = $user->id; $sub->subscribed = $user->id;
@ -196,9 +200,9 @@ class FinishremotesubscribeAction extends Action {
} }
# Notify user, if necessary # Notify user, if necessary
mail_subscribe_notify_profile($user, $profile); mail_subscribe_notify_profile($user, $profile);
# Clear the data # Clear the data
unset($_SESSION['oauth_authorization_request']); unset($_SESSION['oauth_authorization_request']);