<?php

// Permissões
$sql = $bd->getConexao()->prepare('SELECT column_name as coluna FROM information_schema.columns WHERE table_schema = :schema AND table_name = :tabela');
$sql->bindValue(':schema', GLOBAL_FNCR_BD, PDO::PARAM_STR);
$sql->bindValue(':tabela', 'usuarios_permissoes', PDO::PARAM_STR);
if($sql->execute()){ $permissoes = $sql->fetchAll(PDO::FETCH_ASSOC); }

// Permissões do usuário (se não for admin)
if($usuario_nivel>1){
  $sql = $bd->getConexao()->prepare('SELECT * FROM usuarios_permissoes WHERE usuario_id = :usuario_id');
  $sql->bindValue(':usuario_id', $_SESSION['usuario_id'], PDO::PARAM_INT);
  $permissoes_usuario = $sql->execute() ? $sql->fetch(PDO::FETCH_ASSOC) ?: [] : [];
}

// Seta as permissões
foreach($permissoes as $l){
  $col = $l['coluna'];
  if(!in_array($col, ['usuario_id', 'usuario'])){
    ${$col} = $usuario_nivel>1 ? $permissoes_usuario[$col] : 1;
  }
}

?>