1
0
mirror of https://github.com/e107inc/e107.git synced 2025-08-19 04:41:53 +02:00

Userclass fixes. Now clears userclass cache after changes in admin are made.

This commit is contained in:
Cameron
2015-05-12 13:53:47 -07:00
parent 3a238bf622
commit a708211cb3
6 changed files with 170 additions and 17 deletions

View File

@@ -991,6 +991,69 @@ class e_user_model extends e_admin_model
$this->_extended_model = null;
}
}
/**
* Add userclass to user and save.
* @param null $userClassId
* @return bool
*/
public function addClass($userClassId=null)
{
if(empty($userClassId))
{
return false;
}
$curClasses = explode(",", $this->getData('user_class'));
$curClasses[] = $userClassId;
$curClasses = array_unique($curClasses);
$insert = implode(",", $curClasses);
//FIXME - @SecretR - I'm missing something here with setCore() etc.
// $this->setCore('user_class',$insert );
// $this->saveDebug(false);
$uid = $this->getData('user_id');
return e107::getDb()->update('user',"user_class='".$insert."' WHERE user_id = ".$uid." LIMIT 1");
}
/**
* Remove a userclass from the user.
* @param null $userClassId
* @return bool
*/
public function removeClass($userClassId=null)
{
if(empty($userClassId))
{
return false;
}
$curClasses = explode(",", $this->getData('user_class'));
foreach($curClasses as $k=>$v)
{
if($v == $userClassId)
{
unset($curClasses[$k]);
}
}
$uid = $this->getData('user_id');
$insert = implode(",", $curClasses);
return e107::getDb()->update('user',"user_class='".$insert."' WHERE user_id = ".$uid." LIMIT 1");
}
}
// TODO - add some more useful methods, sc_* methods support