Novo Serviço', QuotedStr($filtroNovo)); if ($acao == 'apagar') { $serv_id = strtoupper(trim($_REQUEST['serv_id'])); $status = trim($_REQUEST['serv_status']); try { if (!$serv_id) { GeraExcept("Informe um indentificador válido para o \"Serviço\"!"); } else if (RegistroInc($dbcon, sprintf(' select count(*) from pbx_rotas_entrada where serv_id = %s', QuotedStr($serv_id)))) { GeraExcept("Desvincule o serviço das rotas de entrada para desativa-lo!"); } $query = sprintf("update pbx_servicos set serv_status = $status where serv_id = %s", QuotedStr($serv_id)); $result = pg_query($query); if (!$result) GeraExcept("Erro ao realizar a operação!"); $jsStartup[] = sprintf("alert('%s');", 'Operação realizada com sucesso!'); } catch (Exception $ex) { $jsStartup[] = sprintf("alert('%s');", $ex->getMessage()); } } else if ($acao == 'novo') { $serv_id = strtoupper(trim($_REQUEST['serv_id'])); try { if (!$serv_id) { GeraExcept("Informe um indentificador válido para o \"Serviço\"!"); } else if (RegistroInc($dbcon, sprintf('select count(*) from pbx_servicos where serv_id = %s', QuotedStr($serv_id)))) { GeraExcept("Serviço já cadastrado!"); } $query = sprintf("insert into pbx_servicos(serv_id)values(%s)", QuotedStr($serv_id)); $result = pg_query($query); if (!$result) GeraExcept("Erro ao realizar a operação!"); $jsStartup[] = sprintf("alert('%s');", 'Operação realizada com sucesso!'); } catch (Exception $ex) { $jsStartup[] = sprintf("alert('%s');", $ex->getMessage()); } } $compl = ''; if (isset($_REQUEST['paramPesquisa']) && $_REQUEST['paramPesquisa']) { $compl = PreparaLike($filtro, true); $compl = sprintf("and (a.serv_id ilike %s)", $compl); } $query = "select serv_id, serv_status from pbx_servicos a where 1=1 $compl order by 1"; $linha = ""; $params = "¶mPesquisa=$filtro"; $links = PaginaDados($idProg, $query, $params, $regPagina, $offSet, $pagMostra, true); $query .= " limit $regPagina offset $offSet"; $result = pg_query($dbcon, $query); while ($dados = @pg_fetch_array($result)) { $serv_id = $dados["serv_id"]; $serv_status = $dados["serv_status"]; $rotas = ServicosRotas($serv_id); $msgDelete = ($serv_status ? 'Desativa o registro selecionado!' : 'Ativa o registro selecionado!'); $imgEdit = ""; $serv = sprintf("$serv_id", ($serv_status ? '#000' : '#f00'), ($serv_status ? 'Desativa' : 'Ativa'), ($serv_status ? 0 : 1), $msgDelete); $imgDelete = sprintf("", ($serv_status ? 'deletaUser.png' : 'volta16.gif'), ($serv_status ? 'Desativa' : 'Ativa'), ($serv_status ? 0 : 1), $msgDelete); $imgRotas = sprintf("", ($rotas ? 'troncoOn16.png' : 'troncoOff16.png'), ($rotas ? $rotas : 'Não existem rotas dependentes!')); $imgStatus = sprintf("", ($serv_status ? 'ok16.gif' : 'fecha16.png')); $linha .= " $serv $imgRotas $imgStatus $imgDelete "; } $smarty->assign('erro', $msg); $smarty->assign("linhas", $linha); $smarty->assign("paramPesquisa", $paramPesquisa); $smarty->assign("imgNovo", $imgNovo); $smarty->assign("links", $links); $smarty->assign("pagMostra", $pagMostra); $smarty->assign("totalReg", $totalReg); $smarty->assign("pgn", $_REQUEST["pgn"]); $smarty->assign("bloco", $_REQUEST["bloco"]); $smarty->assign("pg", $_REQUEST["pg"]); GetTemplate($smarty, $tpl); function ServicosRotas($serv_id) { $query = sprintf("select id, nome from pbx_rotas_entrada where serv_id = %s order by nome", QuotedStr($serv_id)); $result = pg_query($query); if (!$result || !pg_num_rows($result)) return ''; $str = 'Rotas associadas a este serviço: '; while ($dados = pg_fetch_array($result)) { $str .= $dados['id'] . '-' . $dados['nome'] . '; '; } return $str; } ?>