public function addResourceAccess($resourceName, $accessList)
{
if (!$this->isResource($resourceName)) {
throw new Exception("Resource '{$resourceName}' does not exist in ACL");
}
$sql = "SELECT COUNT(*) FROM {$this->resourcesAccesses} WHERE resources_name = ? AND access_name = ?";
if (!is_array($accessList)) {
$accessList = [$accessList];
}
foreach ($accessList as $accessName) {
$exists = $this->connection->fetchOne($sql, null, [$resourceName, $accessName]);
if (!$exists[0]) {
$this->connection->execute('INSERT INTO ' . $this->resourcesAccesses . ' VALUES (?, ?)', [$resourceName, $accessName]);
}
}
return true;
}