public function setRights($contact_id, $name, $value = null) { if (substr($name, 0, 9) == 'category.' && ($category_id = (int) substr($name, 9))) { if ($value) { self::$model->replace(array('group_id' => -$contact_id, 'category_id' => $category_id, 'writable' => 1)); return true; } else { self::$model->deleteByField(array('group_id' => -$contact_id, 'category_id' => $category_id)); return true; } } else { if ($name == 'backend' && !$value) { self::$model->deleteByField(array('group_id' => -$contact_id)); return false; // still need to update main rights table, so we return false } } return false; }