Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public function PermissoesUsuario($Banco, $Usuario){
- global $admin;
- $return = "";
- try{
- $cnx = $this->conectar($Banco, $admin["USUARIO"], $admin["SENHA"]);
- if (!$cnx){
- $cnx = $this->conectar($Banco, $admin["USUARIO"], $admin["SENHA"]);
- throw new Exception("# Nao foi possivel retornar conexao.");
- }
- $sql = " SELECT RDB\$RELATION_NAME AS TABELA
- FROM RDB\$RELATIONS R
- WHERE RDB\$SYSTEM_FLAG = 0
- AND NOT EXISTS(SELECT *
- FROM RDB\$USER_PRIVILEGES P
- WHERE P.RDB\$RELATION_NAME = R.RDB\$RELATION_NAME
- AND P.RDB\$USER = '".$Usuario."'
- )
- ORDER BY RDB\$RELATION_NAME ";
- $resultado = ibase_query($cnx, $sql);
- $tr = ibase_trans();
- while ($row=ibase_fetch_object ($resultado)){
- if ($Usuario == "ADM"){
- $sql= " GRANT ALL ON ".$row->TABELA." TO ".$Usuario." WITH GRANT OPTION";
- }else{
- $sql = "GRANT SELECT, INSERT, DELETE, UPDATE, REFERENCES ON ".$row->TABELA." TO ".$Usuario." WITH GRANT OPTION";
- }
- $query = ibase_prepare($tr, $sql);
- $tmp = ibase_execute($query);
- //$tmp = ibase_query($tr, $sql);
- echo "result sql: ".$tmp."<br>";
- }
- ibase_commit($tr); // <- precisa do $tr aqui
- ibase_close($cnx);
- }catch (Exception $ex) {
- echo "erro rollback: ".$ex->getMessage()."<br>";
- ibase_rollback();
- $return = "#".$ex->getMessage();
- }
- echo "fim<br>";
- //exit;
- return $return;
- }
Advertisement
Add Comment
Please, Sign In to add comment