Novo Serviço', QuotedStr($filtroNovo)); $org_id = GetOrganizacao(); 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($dbcon, $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, org_id) VALUES(%s, %s)", QuotedStr($serv_id), $org_id); $result = pg_query($dbcon, $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); } switch ($filtroStatus) { case 'A': $compl .= 'AND serv_status = 1'; break; case 'I': $compl .= 'AND serv_status = 0'; break; } $query = "SELECT serv_id, serv_status FROM pbx_servicos 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"]); $smarty->assign('filtroStatus', $filtroStatus); GetTemplate($smarty, $tpl); function ServicosRotas($serv_id) { global $dbcon; $query = sprintf("SELECT id, nome FROM pbx_rotas_entrada WHERE serv_id = %s ORDER BY nome", QuotedStr($serv_id)); $result = pg_query($dbcon, $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; }