Require Profile for Profile->getOtherTags

This commit is contained in:
Mikael Nordfeldth 2016-01-05 23:07:30 +01:00
parent 8ad6b8809a
commit 3d66d960a1
4 changed files with 8 additions and 10 deletions

View File

@ -115,11 +115,10 @@ class ApiListMembershipsAction extends ApiBareAuthAction
function getLists()
{
$profile = $this->target;
$fn = array($profile, 'getOtherTags');
$fn = array($this->target, 'getOtherTags');
# 20 lists
list($this->lists, $this->next_cursor, $this->prev_cursor) =
Profile_list::getAtCursor($fn, array($this->auth_user), $this->cursor, 20);
Profile_list::getAtCursor($fn, array($this->scoped), $this->cursor, 20);
}
}

View File

@ -126,7 +126,7 @@ class PeopletagsforuserAction extends Action
$offset = ($this->page-1) * PEOPLETAGS_PER_PAGE;
$limit = PEOPLETAGS_PER_PAGE + 1;
$ptags = $this->tagged->getOtherTags(common_current_user(), $offset, $limit);
$ptags = $this->tagged->getOtherTags($this->scoped, $offset, $limit);
$pl = new PeopletagList($ptags, $this);
$cnt = $pl->show();

View File

@ -446,7 +446,7 @@ class Profile extends Managed_DataObject
/**
* Get tags that other people put on this profile, in reverse-chron order
*
* @param (Profile|User) $auth_user Authorized user (used for privacy)
* @param Profile $scoped User we are requesting as
* @param int $offset Offset from latest
* @param int $limit Max number to get
* @param datetime $since_id max date
@ -455,7 +455,7 @@ class Profile extends Managed_DataObject
* @return Profile_list resulting lists
*/
function getOtherTags($auth_user=null, $offset=0, $limit=null, $since_id=0, $max_id=0)
function getOtherTags(Profile $scoped=null, $offset=0, $limit=null, $since_id=0, $max_id=0)
{
$list = new Profile_list();
@ -467,11 +467,11 @@ class Profile extends Managed_DataObject
$this->id);
if ($auth_user instanceof User || $auth_user instanceof Profile) {
if (!is_null($scoped)) {
$qry .= sprintf('AND ( ( profile_list.private = false ) ' .
'OR ( profile_list.tagger = %d AND ' .
'profile_list.private = true ) )',
$auth_user->id);
$scoped->getID());
} else {
$qry .= 'AND profile_list.private = 0 ';
}

View File

@ -54,8 +54,7 @@ class PeopletagsForUserSection extends PeopletagSection
$limit = PEOPLETAGS_PER_SECTION+1;
$offset = 0;
$auth_user = common_current_user();
$ptags = $this->profile->getOtherTags($auth_user, $offset, $limit);
$ptags = $this->profile->getOtherTags(Profile::current(), $offset, $limit);
return $ptags;
}