forked from GNUsocial/gnu-social
Tidying up getUser calls to profiles and some events
getUser calls are much more strict, and one place where this was found was in the (un)subscribe start/end event handlers, which resulted in making the Subscription class a bit stricter, regarding ::start and ::cancel at least. Several minor fixes in many files were made due to this. This does NOT touch the Foreign_link function, which should also have a more strict getUser call. That is a future project.
This commit is contained in:
@@ -57,82 +57,88 @@ class ActivityPlugin extends Plugin
|
||||
public $StartLike = false;
|
||||
public $StopLike = false;
|
||||
|
||||
function onEndSubscribe($subscriber, $other)
|
||||
function onEndSubscribe(Profile $profile, Profile $other)
|
||||
{
|
||||
// Only do this if config is enabled
|
||||
if(!$this->StartFollowUser) return true;
|
||||
$user = $subscriber->getUser();
|
||||
if (!empty($user)) {
|
||||
$sub = Subscription::pkeyGet(array('subscriber' => $subscriber->id,
|
||||
'subscribed' => $other->id));
|
||||
// TRANS: Text for "started following" item in activity plugin.
|
||||
// TRANS: %1$s is a profile URL, %2$s is a profile name,
|
||||
// TRANS: %3$s is a profile URL, %4$s is a profile name.
|
||||
$rendered = sprintf(_m('<a href="%1$s">%2$s</a> started following <a href="%3$s">%4$s</a>.'),
|
||||
$subscriber->profileurl,
|
||||
$subscriber->getBestName(),
|
||||
$other->profileurl,
|
||||
$other->getBestName());
|
||||
// TRANS: Text for "started following" item in activity plugin.
|
||||
// TRANS: %1$s is a profile name, %2$s is a profile URL,
|
||||
// TRANS: %3$s is a profile name, %4$s is a profile URL.
|
||||
$content = sprintf(_m('%1$s (%2$s) started following %3$s (%4$s).'),
|
||||
$subscriber->getBestName(),
|
||||
$subscriber->profileurl,
|
||||
$other->getBestName(),
|
||||
$other->profileurl);
|
||||
|
||||
$notice = Notice::saveNew($user->id,
|
||||
$content,
|
||||
ActivityPlugin::SOURCE,
|
||||
array('rendered' => $rendered,
|
||||
'urls' => array(),
|
||||
'replies' => array($other->getUri()),
|
||||
'verb' => ActivityVerb::FOLLOW,
|
||||
'object_type' => ActivityObject::PERSON,
|
||||
'uri' => $sub->uri));
|
||||
if (!$profile->isLocal()) {
|
||||
// can't do anything with remote user anyway
|
||||
return true;
|
||||
}
|
||||
|
||||
$sub = Subscription::pkeyGet(array('subscriber' => $profile->id,
|
||||
'subscribed' => $other->id));
|
||||
// TRANS: Text for "started following" item in activity plugin.
|
||||
// TRANS: %1$s is a profile URL, %2$s is a profile name,
|
||||
// TRANS: %3$s is a profile URL, %4$s is a profile name.
|
||||
$rendered = sprintf(_m('<a href="%1$s">%2$s</a> started following <a href="%3$s">%4$s</a>.'),
|
||||
$profile->profileurl,
|
||||
$profile->getBestName(),
|
||||
$other->profileurl,
|
||||
$other->getBestName());
|
||||
// TRANS: Text for "started following" item in activity plugin.
|
||||
// TRANS: %1$s is a profile name, %2$s is a profile URL,
|
||||
// TRANS: %3$s is a profile name, %4$s is a profile URL.
|
||||
$content = sprintf(_m('%1$s (%2$s) started following %3$s (%4$s).'),
|
||||
$profile->getBestName(),
|
||||
$profile->profileurl,
|
||||
$other->getBestName(),
|
||||
$other->profileurl);
|
||||
|
||||
$notice = Notice::saveNew($profile->id,
|
||||
$content,
|
||||
ActivityPlugin::SOURCE,
|
||||
array('rendered' => $rendered,
|
||||
'urls' => array(),
|
||||
'replies' => array($other->getUri()),
|
||||
'verb' => ActivityVerb::FOLLOW,
|
||||
'object_type' => ActivityObject::PERSON,
|
||||
'uri' => $sub->uri));
|
||||
return true;
|
||||
}
|
||||
|
||||
function onEndUnsubscribe($subscriber, $other)
|
||||
function onEndUnsubscribe(Profile $profile, Profile $other)
|
||||
{
|
||||
// Only do this if config is enabled
|
||||
if(!$this->StopFollowUser) return true;
|
||||
$user = $subscriber->getUser();
|
||||
if (!empty($user)) {
|
||||
// TRANS: Text for "stopped following" item in activity plugin.
|
||||
// TRANS: %1$s is a profile URL, %2$s is a profile name,
|
||||
// TRANS: %3$s is a profile URL, %4$s is a profile name.
|
||||
$rendered = sprintf(_m('<a href="%1$s">%2$s</a> stopped following <a href="%3$s">%4$s</a>.'),
|
||||
$subscriber->profileurl,
|
||||
$subscriber->getBestName(),
|
||||
$other->profileurl,
|
||||
$other->getBestName());
|
||||
// TRANS: Text for "stopped following" item in activity plugin.
|
||||
// TRANS: %1$s is a profile name, %2$s is a profile URL,
|
||||
// TRANS: %3$s is a profile name, %4$s is a profile URL.
|
||||
$content = sprintf(_m('%1$s (%2$s) stopped following %3$s (%4$s).'),
|
||||
$subscriber->getBestName(),
|
||||
$subscriber->profileurl,
|
||||
$other->getBestName(),
|
||||
$other->profileurl);
|
||||
|
||||
$uri = TagURI::mint('stop-following:%d:%d:%s',
|
||||
$subscriber->id,
|
||||
$other->id,
|
||||
common_date_iso8601(common_sql_now()));
|
||||
|
||||
$notice = Notice::saveNew($user->id,
|
||||
$content,
|
||||
ActivityPlugin::SOURCE,
|
||||
array('rendered' => $rendered,
|
||||
'urls' => array(),
|
||||
'replies' => array($other->getUri()),
|
||||
'uri' => $uri,
|
||||
'verb' => ActivityVerb::UNFOLLOW,
|
||||
'object_type' => ActivityObject::PERSON));
|
||||
if (!$profile->isLocal()) {
|
||||
return true;
|
||||
}
|
||||
|
||||
// TRANS: Text for "stopped following" item in activity plugin.
|
||||
// TRANS: %1$s is a profile URL, %2$s is a profile name,
|
||||
// TRANS: %3$s is a profile URL, %4$s is a profile name.
|
||||
$rendered = sprintf(_m('<a href="%1$s">%2$s</a> stopped following <a href="%3$s">%4$s</a>.'),
|
||||
$profile->profileurl,
|
||||
$profile->getBestName(),
|
||||
$other->profileurl,
|
||||
$other->getBestName());
|
||||
// TRANS: Text for "stopped following" item in activity plugin.
|
||||
// TRANS: %1$s is a profile name, %2$s is a profile URL,
|
||||
// TRANS: %3$s is a profile name, %4$s is a profile URL.
|
||||
$content = sprintf(_m('%1$s (%2$s) stopped following %3$s (%4$s).'),
|
||||
$profile->getBestName(),
|
||||
$profile->profileurl,
|
||||
$other->getBestName(),
|
||||
$other->profileurl);
|
||||
|
||||
$uri = TagURI::mint('stop-following:%d:%d:%s',
|
||||
$profile->id,
|
||||
$other->id,
|
||||
common_date_iso8601(common_sql_now()));
|
||||
|
||||
$notice = Notice::saveNew($profile->id,
|
||||
$content,
|
||||
ActivityPlugin::SOURCE,
|
||||
array('rendered' => $rendered,
|
||||
'urls' => array(),
|
||||
'replies' => array($other->getUri()),
|
||||
'uri' => $uri,
|
||||
'verb' => ActivityVerb::UNFOLLOW,
|
||||
'object_type' => ActivityObject::PERSON));
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -141,42 +147,42 @@ class ActivityPlugin extends Plugin
|
||||
// Only do this if config is enabled
|
||||
if(!$this->StartLike) return true;
|
||||
|
||||
$user = $profile->getUser();
|
||||
|
||||
if (!empty($user)) {
|
||||
|
||||
$author = $notice->getProfile();
|
||||
$fave = Fave::pkeyGet(array('user_id' => $user->id,
|
||||
'notice_id' => $notice->id));
|
||||
|
||||
// TRANS: Text for "liked" item in activity plugin.
|
||||
// TRANS: %1$s is a profile URL, %2$s is a profile name,
|
||||
// TRANS: %3$s is a notice URL, %4$s is an author name.
|
||||
$rendered = sprintf(_m('<a href="%1$s">%2$s</a> liked <a href="%3$s">%4$s\'s update</a>.'),
|
||||
$profile->profileurl,
|
||||
$profile->getBestName(),
|
||||
$notice->bestUrl(),
|
||||
$author->getBestName());
|
||||
// TRANS: Text for "liked" item in activity plugin.
|
||||
// TRANS: %1$s is a profile name, %2$s is a profile URL,
|
||||
// TRANS: %3$s is an author name, %4$s is a notice URL.
|
||||
$content = sprintf(_m('%1$s (%2$s) liked %3$s\'s status (%4$s).'),
|
||||
$profile->getBestName(),
|
||||
$profile->profileurl,
|
||||
$author->getBestName(),
|
||||
$notice->bestUrl());
|
||||
|
||||
$notice = Notice::saveNew($user->id,
|
||||
$content,
|
||||
ActivityPlugin::SOURCE,
|
||||
array('rendered' => $rendered,
|
||||
'urls' => array(),
|
||||
'replies' => array($author->getUri()),
|
||||
'uri' => $fave->getURI(),
|
||||
'verb' => ActivityVerb::FAVORITE,
|
||||
'object_type' => (($notice->verb == ActivityVerb::POST) ?
|
||||
$notice->object_type : ActivityObject::ACTIVITY)));
|
||||
if (!$profile->isLocal()) {
|
||||
return true;
|
||||
}
|
||||
|
||||
$author = $notice->getProfile();
|
||||
$fave = Fave::pkeyGet(array('user_id' => $profile->id,
|
||||
'notice_id' => $notice->id));
|
||||
|
||||
// TRANS: Text for "liked" item in activity plugin.
|
||||
// TRANS: %1$s is a profile URL, %2$s is a profile name,
|
||||
// TRANS: %3$s is a notice URL, %4$s is an author name.
|
||||
$rendered = sprintf(_m('<a href="%1$s">%2$s</a> liked <a href="%3$s">%4$s\'s update</a>.'),
|
||||
$profile->profileurl,
|
||||
$profile->getBestName(),
|
||||
$notice->bestUrl(),
|
||||
$author->getBestName());
|
||||
// TRANS: Text for "liked" item in activity plugin.
|
||||
// TRANS: %1$s is a profile name, %2$s is a profile URL,
|
||||
// TRANS: %3$s is an author name, %4$s is a notice URL.
|
||||
$content = sprintf(_m('%1$s (%2$s) liked %3$s\'s status (%4$s).'),
|
||||
$profile->getBestName(),
|
||||
$profile->profileurl,
|
||||
$author->getBestName(),
|
||||
$notice->bestUrl());
|
||||
|
||||
$notice = Notice::saveNew($profile->id,
|
||||
$content,
|
||||
ActivityPlugin::SOURCE,
|
||||
array('rendered' => $rendered,
|
||||
'urls' => array(),
|
||||
'replies' => array($author->getUri()),
|
||||
'uri' => $fave->getURI(),
|
||||
'verb' => ActivityVerb::FAVORITE,
|
||||
'object_type' => (($notice->verb == ActivityVerb::POST) ?
|
||||
$notice->object_type : ActivityObject::ACTIVITY)));
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -184,43 +190,45 @@ class ActivityPlugin extends Plugin
|
||||
{
|
||||
// Only do this if config is enabled
|
||||
if(!$this->StopLike) return true;
|
||||
$user = User::getKV('id', $profile->id);
|
||||
|
||||
if (!empty($user)) {
|
||||
$author = Profile::getKV('id', $notice->profile_id);
|
||||
// TRANS: Text for "stopped liking" item in activity plugin.
|
||||
// TRANS: %1$s is a profile URL, %2$s is a profile name,
|
||||
// TRANS: %3$s is a notice URL, %4$s is an author name.
|
||||
$rendered = sprintf(_m('<a href="%1$s">%2$s</a> stopped liking <a href="%3$s">%4$s\'s update</a>.'),
|
||||
$profile->profileurl,
|
||||
$profile->getBestName(),
|
||||
$notice->bestUrl(),
|
||||
$author->getBestName());
|
||||
// TRANS: Text for "stopped liking" item in activity plugin.
|
||||
// TRANS: %1$s is a profile name, %2$s is a profile URL,
|
||||
// TRANS: %3$s is an author name, %4$s is a notice URL.
|
||||
$content = sprintf(_m('%1$s (%2$s) stopped liking %3$s\'s status (%4$s).'),
|
||||
$profile->getBestName(),
|
||||
$profile->profileurl,
|
||||
$author->getBestName(),
|
||||
$notice->bestUrl());
|
||||
|
||||
$uri = TagURI::mint('unlike:%d:%d:%s',
|
||||
$profile->id,
|
||||
$notice->id,
|
||||
common_date_iso8601(common_sql_now()));
|
||||
|
||||
$notice = Notice::saveNew($user->id,
|
||||
$content,
|
||||
ActivityPlugin::SOURCE,
|
||||
array('rendered' => $rendered,
|
||||
'urls' => array(),
|
||||
'replies' => array($author->getUri()),
|
||||
'uri' => $uri,
|
||||
'verb' => ActivityVerb::UNFAVORITE,
|
||||
'object_type' => (($notice->verb == ActivityVerb::POST) ?
|
||||
$notice->object_type : ActivityObject::ACTIVITY)));
|
||||
if (!$profile->isLocal()) {
|
||||
return true;
|
||||
}
|
||||
|
||||
$author = Profile::getKV('id', $notice->profile_id);
|
||||
// TRANS: Text for "stopped liking" item in activity plugin.
|
||||
// TRANS: %1$s is a profile URL, %2$s is a profile name,
|
||||
// TRANS: %3$s is a notice URL, %4$s is an author name.
|
||||
$rendered = sprintf(_m('<a href="%1$s">%2$s</a> stopped liking <a href="%3$s">%4$s\'s update</a>.'),
|
||||
$profile->profileurl,
|
||||
$profile->getBestName(),
|
||||
$notice->bestUrl(),
|
||||
$author->getBestName());
|
||||
// TRANS: Text for "stopped liking" item in activity plugin.
|
||||
// TRANS: %1$s is a profile name, %2$s is a profile URL,
|
||||
// TRANS: %3$s is an author name, %4$s is a notice URL.
|
||||
$content = sprintf(_m('%1$s (%2$s) stopped liking %3$s\'s status (%4$s).'),
|
||||
$profile->getBestName(),
|
||||
$profile->profileurl,
|
||||
$author->getBestName(),
|
||||
$notice->bestUrl());
|
||||
|
||||
$uri = TagURI::mint('unlike:%d:%d:%s',
|
||||
$profile->id,
|
||||
$notice->id,
|
||||
common_date_iso8601(common_sql_now()));
|
||||
|
||||
$notice = Notice::saveNew($profile->id,
|
||||
$content,
|
||||
ActivityPlugin::SOURCE,
|
||||
array('rendered' => $rendered,
|
||||
'urls' => array(),
|
||||
'replies' => array($author->getUri()),
|
||||
'uri' => $uri,
|
||||
'verb' => ActivityVerb::UNFAVORITE,
|
||||
'object_type' => (($notice->verb == ActivityVerb::POST) ?
|
||||
$notice->object_type : ActivityObject::ACTIVITY)));
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -229,9 +237,7 @@ class ActivityPlugin extends Plugin
|
||||
// Only do this if config is enabled
|
||||
if(!$this->JoinGroup) return true;
|
||||
|
||||
$user = $profile->getUser();
|
||||
|
||||
if (empty($user)) {
|
||||
if (!$profile->isLocal()) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -255,7 +261,7 @@ class ActivityPlugin extends Plugin
|
||||
$mem = Group_member::pkeyGet(array('group_id' => $group->id,
|
||||
'profile_id' => $profile->id));
|
||||
|
||||
$notice = Notice::saveNew($user->id,
|
||||
$notice = Notice::saveNew($profile->id,
|
||||
$content,
|
||||
ActivityPlugin::SOURCE,
|
||||
array('rendered' => $rendered,
|
||||
@@ -272,9 +278,7 @@ class ActivityPlugin extends Plugin
|
||||
// Only do this if config is enabled
|
||||
if(!$this->LeaveGroup) return true;
|
||||
|
||||
$user = $profile->getUser();
|
||||
|
||||
if (empty($user)) {
|
||||
if (!$profile->isLocal()) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -296,11 +300,11 @@ class ActivityPlugin extends Plugin
|
||||
$group->homeUrl());
|
||||
|
||||
$uri = TagURI::mint('leave:%d:%d:%s',
|
||||
$user->id,
|
||||
$profile->id,
|
||||
$group->id,
|
||||
common_date_iso8601(common_sql_now()));
|
||||
|
||||
$notice = Notice::saveNew($user->id,
|
||||
$notice = Notice::saveNew($profile->id,
|
||||
$content,
|
||||
ActivityPlugin::SOURCE,
|
||||
array('rendered' => $rendered,
|
||||
|
@@ -481,7 +481,7 @@ class BlacklistPlugin extends Plugin
|
||||
/**
|
||||
* Check URLs and homepages for blacklisted users.
|
||||
*/
|
||||
function onStartSubscribe($subscriber, $other)
|
||||
function onStartSubscribe(Profile $subscriber, Profile $other)
|
||||
{
|
||||
foreach (array($other->profileurl, $other->homepage) as $url) {
|
||||
|
||||
|
@@ -158,9 +158,10 @@ class Blog_entry extends Managed_DataObject
|
||||
// Use user's preferences for short URLs, if possible
|
||||
|
||||
try {
|
||||
$user = $profile->getUser();
|
||||
$shortUrl = File_redirection::makeShort($url,
|
||||
empty($user) ? null : $user);
|
||||
$user = $profile->isLocal()
|
||||
? $profile->getUser()
|
||||
: null;
|
||||
$shortUrl = File_redirection::makeShort($url, $user);
|
||||
} catch (Exception $e) {
|
||||
// Don't let this stop us.
|
||||
$shortUrl = $url;
|
||||
|
@@ -33,13 +33,17 @@ class GravatarPlugin extends Plugin
|
||||
function onEndProfileGetAvatar($profile, $size, &$avatar)
|
||||
{
|
||||
if (empty($avatar)) {
|
||||
$user = $profile->getUser();
|
||||
if (!empty($user) && !empty($user->email)) {
|
||||
// Fake one!
|
||||
$avatar = new Avatar();
|
||||
$avatar->width = $avatar->height = $size;
|
||||
$avatar->url = $this->gravatar_url($user->email, $size);
|
||||
return false;
|
||||
try {
|
||||
$user = $profile->getUser();
|
||||
if (!empty($user->email)) {
|
||||
// Fake one!
|
||||
$avatar = new Avatar();
|
||||
$avatar->width = $avatar->height = $size;
|
||||
$avatar->url = $this->gravatar_url($user->email, $size);
|
||||
return false;
|
||||
}
|
||||
} catch (NoSuchUserException $e) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -182,16 +182,16 @@ class OMBPlugin extends Plugin
|
||||
/**
|
||||
* Check for illegal subscription attempts
|
||||
*
|
||||
* @param User $user subscriber
|
||||
* @param Profile $profile subscriber
|
||||
* @param Profile $other subscribee
|
||||
* @return hook return value
|
||||
*/
|
||||
function onStartSubscribe($profile, $other)
|
||||
function onStartSubscribe(Profile $profile, Profile $other)
|
||||
{
|
||||
// OMB 0.1 doesn't have a mechanism for local-server-
|
||||
// originated subscription.
|
||||
|
||||
$omb01 = Remote_profile::getKV('id', $other_id);
|
||||
$omb01 = Remote_profile::getKV('id', $other->id);
|
||||
|
||||
if (!empty($omb01)) {
|
||||
throw new ClientException(
|
||||
@@ -257,14 +257,14 @@ class OMBPlugin extends Plugin
|
||||
/**
|
||||
* Remove old OMB subscription tokens
|
||||
*
|
||||
* @param User $user subscriber
|
||||
* @param Profile $profile subscriber
|
||||
* @param Profile $other subscribee
|
||||
* @return hook return value
|
||||
*/
|
||||
function onEndUnsubscribe($profile, $other)
|
||||
function onEndUnsubscribe(Profile $profile, Profile $other)
|
||||
{
|
||||
$sub = Subscription::pkeyGet(
|
||||
array('subscriber' => $subscriber->id, 'subscribed' => $other->id)
|
||||
array('subscriber' => $profile->id, 'subscribed' => $other->id)
|
||||
);
|
||||
|
||||
if (!empty($sub->token)) {
|
||||
|
@@ -601,18 +601,16 @@ class OStatusPlugin extends Plugin
|
||||
* @fixme If something else aborts later, we could end up with a stray
|
||||
* PuSH subscription. This is relatively harmless, though.
|
||||
*
|
||||
* @param Profile $subscriber
|
||||
* @param Profile $other
|
||||
* @param Profile $profile subscriber
|
||||
* @param Profile $other subscribee
|
||||
*
|
||||
* @return hook return code
|
||||
*
|
||||
* @throws Exception
|
||||
*/
|
||||
function onStartSubscribe($subscriber, $other)
|
||||
function onStartSubscribe(Profile $profile, Profile $other)
|
||||
{
|
||||
$user = User::getKV('id', $subscriber->id);
|
||||
|
||||
if (empty($user)) {
|
||||
if (!$profile->isLocal()) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -632,18 +630,16 @@ class OStatusPlugin extends Plugin
|
||||
* Having established a remote subscription, send a notification to the
|
||||
* remote OStatus profile's endpoint.
|
||||
*
|
||||
* @param Profile $subscriber
|
||||
* @param Profile $other
|
||||
* @param Profile $profile subscriber
|
||||
* @param Profile $other subscribee
|
||||
*
|
||||
* @return hook return code
|
||||
*
|
||||
* @throws Exception
|
||||
*/
|
||||
function onEndSubscribe($subscriber, $other)
|
||||
function onEndSubscribe(Profile $profile, Profile $other)
|
||||
{
|
||||
$user = User::getKV('id', $subscriber->id);
|
||||
|
||||
if (empty($user)) {
|
||||
if (!$profile->isLocal()) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -653,12 +649,12 @@ class OStatusPlugin extends Plugin
|
||||
return true;
|
||||
}
|
||||
|
||||
$sub = Subscription::pkeyGet(array('subscriber' => $subscriber->id,
|
||||
$sub = Subscription::pkeyGet(array('subscriber' => $profile->id,
|
||||
'subscribed' => $other->id));
|
||||
|
||||
$act = $sub->asActivity();
|
||||
|
||||
$oprofile->notifyActivity($act, $subscriber);
|
||||
$oprofile->notifyActivity($act, $profile);
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -671,11 +667,9 @@ class OStatusPlugin extends Plugin
|
||||
* @param Profile $other
|
||||
* @return hook return value
|
||||
*/
|
||||
function onEndUnsubscribe($profile, $other)
|
||||
function onEndUnsubscribe(Profile $profile, Profile $other)
|
||||
{
|
||||
$user = User::getKV('id', $profile->id);
|
||||
|
||||
if (empty($user)) {
|
||||
if (!$profile->isLocal()) {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@@ -298,7 +298,7 @@ class OStatusSubAction extends Action
|
||||
if ($user->isSubscribed($local)) {
|
||||
// TRANS: OStatus remote subscription dialog error.
|
||||
$this->showForm(_m('Already subscribed!'));
|
||||
} elseif (Subscription::start($user, $local)) {
|
||||
} elseif (Subscription::start($user->getProfile(), $local)) {
|
||||
$this->success();
|
||||
} else {
|
||||
// TRANS: OStatus remote subscription dialog error.
|
||||
|
@@ -55,15 +55,15 @@ class SubscriptionThrottlePlugin extends Plugin
|
||||
/**
|
||||
* Filter subscriptions to see if they're coming too fast.
|
||||
*
|
||||
* @param User $user The user subscribing
|
||||
* @param User $other The user being subscribed to
|
||||
* @param Profile $profile The profile subscribing
|
||||
* @param Profile $other The profile being subscribed to
|
||||
*
|
||||
* @return boolean hook value
|
||||
*/
|
||||
function onStartSubscribe($user, $other)
|
||||
function onStartSubscribe(Profile $profile, $other)
|
||||
{
|
||||
foreach ($this->subLimits as $seconds => $limit) {
|
||||
$sub = $this->_getNthSub($user, $limit);
|
||||
$sub = $this->_getNthSub($profile, $limit);
|
||||
|
||||
if (!empty($sub)) {
|
||||
$subtime = strtotime($sub->created);
|
||||
@@ -105,18 +105,18 @@ class SubscriptionThrottlePlugin extends Plugin
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the Nth most recent subscription for this user
|
||||
* Get the Nth most recent subscription for this profile
|
||||
*
|
||||
* @param User $user The user to get subscriptions for
|
||||
* @param integer $n How far to count back
|
||||
* @param Profile $profile profile to get subscriptions for
|
||||
* @param integer $n How far to count back
|
||||
*
|
||||
* @return Subscription a subscription or null
|
||||
*/
|
||||
private function _getNthSub($user, $n)
|
||||
private function _getNthSub(Profile $profile, $n)
|
||||
{
|
||||
$sub = new Subscription();
|
||||
|
||||
$sub->subscriber = $user->id;
|
||||
$sub->subscriber = $profile->id;
|
||||
$sub->orderBy('created DESC');
|
||||
$sub->limit($n - 1, 1);
|
||||
|
||||
@@ -128,14 +128,14 @@ class SubscriptionThrottlePlugin extends Plugin
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the Nth most recent group membership for this user
|
||||
* Get the Nth most recent group membership for this profile
|
||||
*
|
||||
* @param Profile $profile The user to get memberships for
|
||||
* @param integer $n How far to count back
|
||||
*
|
||||
* @return Group_member a membership or null
|
||||
*/
|
||||
private function _getNthMem($profile, $n)
|
||||
private function _getNthMem(Profile $profile, $n)
|
||||
{
|
||||
$mem = new Group_member();
|
||||
|
||||
|
Reference in New Issue
Block a user