0) && ($formAction <= FORM_SAVE)) { $jsPage[] = "admin/js/pbxAjax.js"; $fieldsForm = array('itgm_id' => '1', 'formAction' => '1', 'itgm_nome' => '1', 'itgm_tipo' => '1', 'itgm_comando' => '1', 'itgm_retorno' => '1', 'evento' => '0', 'evento_descricao' => '1', 'opcao' => '0', 'opcao_descricao' => '1', 'acao' => '0', 'acao_descricao' => '1', 'stored_params' => '1', 'stored_params_desc' => '1'); //, 'itgp_nome' => '1', 'itgp_param_disponiveis' => '1', 'itgp_default' => '1' $fields = array('itgm_id' => '0', 'formAction' => '0', 'itgm_nome' => '', 'itgm_tipo' => '0', 'itgm_comando' => '', 'itgm_retorno' => '0', 'evento' => '0', 'opcao' => '0', 'stored_params' => ''); $nomeTpl = "cadastros/integAtiva/integAtivaMetodoCad.tpl"; if (IsPostBack()) GetDadosPost($fields, $_POST); if ($formAction == FORM_NEW) { $fields['formAction'] = FORM_INSERT; } if ($formAction == FORM_INSERT) { $valRetorno = $fields['itgm_retorno'] ? '1' : '0'; $opcao = trim($fields['opcao']); $evento = trim($fields['evento']); $msg = ''; if (!$fields['itgm_nome']) { $msg = 'Informe o nome do parametro!'; } else if (!$fields['itgm_comando']) { $msg = 'Informe o comando!'; } else if (($valRetorno) && (!$opcao)) { $msg = 'Quando o comando retorna um "Retorna ResultSet" é necessário informar uma "Opção"'; } else if ((!$valRetorno) && ($opcao)) { $msg = 'Quando o comando tem uma Opção" deve retornar um "Retorna ResultSet"'; } else if (($valRetorno) && ($evento)) { $msg = 'Quando o comando estiver associado a um "Evento" não pode retornar um "Retorna ResultSet"!'; } else { $opcao = IsNullQuoted($opcao); $evento = IsNullQuoted($evento); $storedParams = IsNullQuoted($fields['stored_params']); $result = pg_query($dbcon, 'begin'); $query = "insert into pbx_integracao_metodo(itgc_id, itgm_nome, itgm_comando, itgm_retorno, opcao, evento, stored_params)values(%s,%s,%s,%s,%s,%s,%s)"; $query = sprintf($query, QuotedStr($itgc_id), QuotedStr($fields['itgm_nome']), QuotedStr($fields['itgm_comando']), QuotedStr($valRetorno), $opcao, $evento, $storedParams); $result = $result && pg_query($dbcon, $query); if (!$itgm_id_pai) { /* * Cria eventos Abandonada e Atendida para o método criado. */ $itgm_id = GetItgmId($dbcon); $query = "insert into pbx_integracao_metodo(itgc_id, itgm_nome, itgm_comando, itgm_retorno, opcao, evento, stored_params, itgm_id_pai)values(%s,%s,%s,%s,%s,%s,%s,%s)"; $query = sprintf($query, QuotedStr($itgc_id), QuotedStr('NOEXEC'), QuotedStr('NOEXEC'), '0', 'null', 3, 'null', $itgm_id); $result = $result && pg_query($dbcon, $query); $query = "insert into pbx_integracao_metodo(itgc_id, itgm_nome, itgm_comando, itgm_retorno, opcao, evento, stored_params, itgm_id_pai)values(%s,%s,%s,%s,%s,%s,%s,%s)"; $query = sprintf($query, QuotedStr($itgc_id), QuotedStr('NOEXEC'), QuotedStr('NOEXEC'), '0', 'null', 2, 'null', $itgm_id); $result = $result && pg_query($dbcon, $query); } if ($result) { pg_query($dbcon, 'commit'); if ($itgm_id_pai) $itgm_id = GetItgmId($dbcon); $msg = 'Registro inserido com sucesso!'; $jsStartup[] = "window.opener.ResetForm();"; $jsJQuery[] = "window.close();"; } else { pg_query($dbcon, 'rollback'); $msg = 'Não foi possível realizar a operação!'; } } } if ($formAction == FORM_UPDATE) { $fields['formAction'] = FORM_SAVE; $query = "select * from pbx_integracao_metodo where itgm_id = $itgm_id"; $query = sprintf($query, QuotedStr($itgm_id)); $result = pg_query($dbcon, $query); $dados = pg_fetch_array($result); foreach ($dados as $key => $values) { if (!is_numeric($key)) $fields[$key] = $values; } } if ($formAction == FORM_SAVE) { $valRetorno = $fields['itgm_retorno'] ? '1' : '0'; $opcao = trim($fields['opcao']); $evento = trim($fields['evento']); $msg = ''; if (!$fields['itgm_nome']) { $msg = 'Informe o nome do parametro!'; } else if (!$fields['itgm_comando']) { $msg = 'Informe o comando!'; } else if (($valRetorno) && (!$opcao)) { $msg = 'Quando o comando retorna um "Retorna ResultSet" é necessário informar uma "Opção"'; } else if ((!$valRetorno) && ($opcao)) { $msg = 'Quando o comando tem uma Opção" deve retornar um "Retorna ResultSet"'; } else if (($valRetorno) && ($evento)) { $msg = 'Quando o comando estiver associado a um "Evento" não pode retornar um "Retorna ResultSet"!'; } else { $opcao = IsNullQuoted($opcao); $evento = IsNullQuoted($evento); $storedParams = IsNullQuoted($fields['stored_params']); $query = "update pbx_integracao_metodo set itgm_nome = %s, itgm_comando = %s, itgm_retorno = %s, opcao = %s, stored_params = %s where itgm_id = %s"; $query = sprintf($query, QuotedStr($fields['itgm_nome']), QuotedStr($fields['itgm_comando']), QuotedStr($valRetorno), $opcao, $storedParams, QuotedStr($itgm_id)); $result = pg_query($dbcon, $query); if ($result) { $msg = 'Registro atualizado com sucesso!'; $jsStartup[] = "window.opener.ResetForm();"; $jsJQuery[] = "window.close();"; } else { $msg = 'Não foi possível realizar a operação!'; } } } $fields['evento_descricao'] = GetItegEvento($fields['evento']); $fields['opcao_descricao'] = GetOpcaoAlt($dbcon, $fields['opcao']); $fields['stored_params_desc'] = GetParamFromCmd($fields['stored_params']); foreach ($fields as $key => $value) { if ($fieldsForm[$key]) $smarty->assign($key, $value); } $smarty->assign("itgc_id", $itgc_id); $smarty->assign("itgm_id", $itgm_id); $smarty->assign("itgm_id_pai", $itgm_id_pai); $smarty->assign("evento", $fields['evento']); GetTemplate($smarty, $nomeTpl); if ($msg) $jsStartup[] = "alert('$msg');"; $jsJQuery[] = "\n$('#evento').change( function(){\$$('opcao').selectedIndex = 0; \$$('itgm_retorno').checked = false;})"; $jsJQuery[] = "\n$('#itgp_param_disponiveis').change( function () { if ($('#itgp_param_disponiveis').val() != 5) { $('#itgp_default').attr('disabled', true); $('#itgp_default').val(''); } else { $('#itgp_default').attr('disabled', false); } } )"; } else { if ($formAction == FORM_DELETE) { $idDel = $_GET["id"]; /* * Recupera o id da configuração antes de apagar o metodo */ $query = "select itgc_id from pbx_integracao_metodo where itgm_id = '$idDel'"; $result = pg_query($dbcon, $query); $row = @pg_fetch_array($result); $itgc_id = $row[0]; $result = pg_query($dbcon, 'begin'); if ($itgm_id_pai) { $query = "update pbx_integracao_metodo set itgm_nome = 'NOEXEC', itgm_comando = 'NOEXEC', stored_params = '' where itgm_id = '$idDel' and coalesce(itgm_id_pai, 0) <> 0"; $result = $result && pg_query($dbcon, $query); } else { $query = "delete from pbx_integracao_metodo where itgm_id_pai = '$idDel'"; $result = $result && pg_query($dbcon, $query); $query = "delete from pbx_integracao_metodo where itgm_id = '$idDel'"; $result = $result && pg_query($dbcon, $query); } if ($result) { pg_query($dbcon, 'commit'); $jsJQuery[] = $result ? "alert('Registro apagado com sucesso!');" : "alert('Erro ao tentar remover registro!');"; } else { pg_query($dbcon, 'rollback'); //$erros = error_get_last(); $msg = 'A operação não pode ser realizada!'; // Erro: ' . $erros['message']; $jsJQuery[] = "alert('$msg');"; } } $colspan = 6; $linha = '