move membership/adminship tests to profile

This commit is contained in:
Evan Prodromou 2009-01-21 13:57:18 -05:00
parent 3260106537
commit 8516ccfb9d
2 changed files with 36 additions and 23 deletions

View File

@ -187,4 +187,34 @@ class Profile extends Memcached_DataObject
'profile:notices:'.$this->id, 'profile:notices:'.$this->id,
$offset, $limit, $since_id, $before_id); $offset, $limit, $since_id, $before_id);
} }
function isMember($group)
{
$mem = new Group_member();
$mem->group_id = $group->id;
$mem->profile_id = $this->id;
if ($mem->find()) {
return true;
} else {
return false;
}
}
function isAdmin($group)
{
$mem = new Group_member();
$mem->group_id = $group->id;
$mem->profile_id = $this->id;
$mem->is_admin = 1;
if ($mem->find()) {
return true;
} else {
return false;
}
}
} }

View File

@ -494,31 +494,14 @@ class User extends Memcached_DataObject
function isMember($group) function isMember($group)
{ {
$mem = new Group_member(); $profile = $this->getProfile();
return $profile->isMember($group);
$mem->group_id = $group->id;
$mem->profile_id = $this->id;
if ($mem->find()) {
return true;
} else {
return false;
}
} }
function isAdmin($group) function isAdmin($group)
{ {
$mem = new Group_member(); $profile = $this->getProfile();
return $profile->isAdmin($group);
$mem->group_id = $group->id;
$mem->profile_id = $this->id;
$mem->is_admin = 1;
if ($mem->find()) {
return true;
} else {
return false;
}
} }
function getGroups($offset=0, $limit=null) function getGroups($offset=0, $limit=null)