8, 'name' => 'usuarioEmpresa', 'width' => '200', 'disable' => '0', 'multiple' => '1' ]; if (isset($fieldsForm['btInclui'])) { AtualizaEmpresa($dbcon, $fieldsForm['usuarioEmpresainc'], 1, $idOrg); } else if (isset($fieldsForm['btRemove'])) { AtualizaEmpresa($dbcon, $fieldsForm['usuarioEmpresarm'], 0, $idOrg); } $fieldsForm['listagrupos'] = GetUser($dbcon, 1, $infos, $idOrg); $fieldsForm['gruposinc'] = GetEmpresaUser($dbcon, 1, $infos, $idOrg); /* * Atualiza templates templates */ foreach ($fieldsForm as $key => $value) { $smarty->assign($key, $value); } GetTemplate($smarty, $templateName); function GetUser($dbcon, $codSel, $infos, $idOrg) { $sel = ""; $infos['name'] = $infos['name'] . "inc"; $query = "SELECT DISTINCT id, apelido, matricula FROM pbx_usuarios WHERE id NOT IN (SELECT id_usuario FROM pbx_organizacao_usuarios WHERE id_organizacao = $idOrg) AND id NOT IN (342,341,356,357,462,466,467);"; $result = pg_query($dbcon, $query); $lista = '\n"; return $lista; } function GetEmpresaUser($dbcon, $codSel, $infos, $idOrg) { $sel = ""; $infos['name'] = $infos['name'] . "rm"; $query = "SELECT DISTINCT pu.id, pu.apelido, matricula FROM pbx_usuarios pu INNER JOIN pbx_organizacao_usuarios pou on pou.id_usuario = pu.id INNER JOIN pbx_organizacao po on po.id = pou.id_organizacao WHERE pu.id NOT IN (342,341,356,357,462,466,467) AND pu.id IN (SELECT id_usuario FROM pbx_organizacao_usuarios WHERE id_organizacao = {$idOrg});"; $result = pg_query($dbcon, $query); $lista = '"; return $lista; } function AtualizaEmpresa($dbcon, $field, $status, $idOrg) { try { if (!$field) { throw new Exception('Selecione um usuário'); } pg_query($dbcon, 'begin'); foreach ($field as $idUser) { $query = sprintf("SELECT *, NOW() as current_time FROM pbx_usuarios where id = %d ", $idUser); $result = pg_query($dbcon, $query); if ($result && pg_num_rows($result) > 0) { $result = pg_fetch_assoc($result); if ($status == 1) { $query = sprintf("INSERT INTO pbx_organizacao_usuarios (id_usuario, id_organizacao) VALUES (%s, %s); ", $idUser, $idOrg); $resposta = pg_query($dbcon, $query); if ($resposta) { $resposta = pg_query($dbcon, "commit"); } else { throw new Exception("Erro ao inserir!"); } } if ($status == 0) { $query = sprintf("DELETE FROM pbx_organizacao_usuarios WHERE id_usuario = %s AND id_organizacao = %s;", $idUser, $idOrg); $resposta = pg_query($dbcon, $query); if ($resposta) { $resposta = pg_query($dbcon, "commit"); } else { throw new Exception("Erro ao remover!$idUser, $idOrg"); } } } } if (!@pg_query($dbcon, 'commit')) { throw new Exception('A operação não pode ser realizada!'); } } catch (Exception $e) { @pg_query($dbcon, 'rollback'); fmtErro($e->getMessage(), pg_last_error($dbcon)); } }