public function setPerm($permId, $permission, $update = true)
{
if (is_array($permId)) {
if (empty($permId['name'])) {
return;
}
if ($this->get('type') == 'matrix' && isset($this->data[$permId['class']][$permId['name']])) {
$this->data[$permId['class']][$permId['name']] |= $permission;
} else {
$this->data[$permId['class']][$permId['name']] = $permission;
}
} else {
if ($this->get('type') == 'matrix' && isset($this->data[$permId])) {
$this->data[$permId] |= $permission;
} else {
$this->data[$permId] = $permission;
}
}
if ($update) {
$this->save();
}
}