%s %s %s %s %s %s %s '; $query = "select id, tipo_ramal, nome, dispositivo, contexto, habilita_prepago, saldo_prepago from pbx_ramais where 1=1 "; if (IsPostBack()) { $ramaisSel = false; if (isset($_POST['btLancamento'])) { //print_r($_POST);exit; $ramais = isset($_POST['nome']) ? $_POST['nome'] : false; $ramaisSel = false; if ($ramais !== false) { $ramaisSel = array(); foreach ($ramais as $value) { $ramalPost = explode(";", $value); $ramaisSel[] = $ramalPost[0]; } } if ($ramais === false) { $jsStartup[] = "alert('Para realizar esta operação é necessário selecionar pelo menos um ramal!');"; $ramaisSel = false; } else if (!$_POST['operacao_ramal']) { $jsStartup[] = "alert('Selecione um tipo de operação!');"; } else { $paramPre = array('SIP' => 'pbx_sip_ramais;nome', 'IAX' => 'pbx_iax_pbx;nome', 'DGV' => 'pbx_dgv;numero', 'PBX' => 'pbx_ramais_pbx;numero', 'DAHDI' => 'pbx_dahdi;numero', 'KHOMP' => 'pbx_khomp;numero'); $habRamal = $_POST['operacao_ramal'] == 1; $valor = isset($_POST['credito_ramal']) ? $_POST['credito_ramal'] : 0.0; $valor = FormataValorBd($valor); $usuario = GetLogin(); if ((!$habRamal) && ((!$valor) || ($valor <= 0) )) { $jsStartup[] = "alert('Para realizar esta operação é necessário informar um valor!');"; } else { $msg = ''; $queryRamal = 'begin'; $result = pg_query($dbcon, $queryRamal); foreach ($ramais as $value) { $ramalPost = explode(";", $value); $numRamal = $ramalPost[0]; $hab = $ramalPost[1]; $tp = $ramalPost[2]; $params = explode(";", $paramPre[$tp]); $tabela = $params[0]; $campo = $params[1]; if ($habRamal) { $queryRamal = sprintf("update %s set habilita_prepago = '%s' where %s = '%s' \n", $tabela, ($hab ? '0' : '1'), $campo, $numRamal); if ($result) $result = pg_query($dbcon, $queryRamal); if (!$result) break; } else { if (!$hab) { $msg = 'Não é permitido realizar lançamentos para "Ramais Desabilitados"!'; $result = false; break; } $queryRamal = " insert into pbx_prepago_movimento (prm_ramal_conta, prm_conta_senha, trr_id, prm_valor_minuto, prm_tempo, prm_destino, prm_valor, prm_data, prm_data_lanc, prm_tipo_lancamento, prm_historico, usuario) values('$numRamal', '0', '0', '0', '0', '0', '$valor', now()::date, now(), 'C', 'Inclusao de Credito', '$usuario')"; if ($result) $result = pg_query($dbcon, $queryRamal); // $queryRamal = sprintf("update %s set saldo_prepago = (saldo_prepago + %s) where %s = '%s'", $tabela, $valor, $campo, $numRamal); // if($result) $result = pg_query($dbcon, $queryRamal); if (!$result) break; } } if ($result) { $queryRamal = 'commit'; @pg_query($dbcon, $queryRamal); $jsStartup[] = "alert('Operação realizada com sucesso!');"; } else { $queryRamal = 'rollback'; @pg_query($dbcon, $queryRamal); $msg = $msg ? $msg : 'Não foi possível realizar a operação!'; $jsStartup[] = "alert('$msg');"; } } } } $tipo_ramal = $_POST['tipo_ramal']; $numero_ramal = strtoupper($_POST['numero_ramal']); } else { $tipo_ramal = 0; $numero_ramal = ''; $query .= " and 1 = 2 "; } if ($tipo_ramal) $query .= "and tipo_ramal = '$tipo_ramal'"; if ($numero_ramal) { if ((strpos($numero_ramal, ",") !== false) || (strpos($numero_ramal, ";") !== false)) { $numero_ramal = str_replace(";", ",", $numero_ramal); $numero_ramal = str_replace("-", ",", $numero_ramal); $numSel = ''; $numeros = explode(",", $numero_ramal); foreach ($numeros as $numero) { $numSel .= !$numSel ? "'$numero'" : ",'$numero'"; } $query .= "and nome in($numSel)"; } else if (strpos($numero_ramal, "-") !== false) { $numSel = ''; $numeros = explode("-", $numero_ramal); $query .= sprintf("and nome >= '%s' and nome <= '%s'", $numeros[0], $numeros[1]); } else $query .= "and nome like '%$numero_ramal%'"; } $query .= " order by 3, 2"; //echo $query; $result = pg_query($dbcon, $query); $linhas = ''; $linhaTemp = ''; $imp = 0; while ($dados = pg_fetch_array($result)) { $nomeRamal = $dados['nome']; $sel = ($ramaisSel !== false) && (array_search($nomeRamal, $ramaisSel) !== false) ? 'checked="checked"' : ""; $sel = sprintf('', $dados['id'], $dados['nome'], $dados['habilita_prepago'], $dados['tipo_ramal'], $sel); $ramal = $dados['nome']; $contexto = $dados['contexto']; $disp = $dados['dispositivo']; $saldo = FormataValor($dados['saldo_prepago']); $saldoPre = $dados['saldo_prepago']; $tpr = $dados['tipo_ramal']; $habRamal = $dados['habilita_prepago']; $habilita = $dados['habilita_prepago'] ? 'Habilitado!' : 'Desabilitado!'; $lanc = 'Lançamentos!'; $linkLanc = "$lanc"; $linhaTemp = sprintf($linha, $sel, $ramal, $contexto, $disp, $saldo, $habilita, $linkLanc); $linhas .= $linhaTemp; $imp++; } if (!IsPostBack()) { $linhas .= 'Informe os parametros e clique em consultar!'; } else if ($imp) { $linhas .= sprintf('%s %s', $imp, ($imp > 1 ? 'Ramais encontrados!' : 'Ramal encotrado!')); } else { $linhas .= 'Nenhum registro encontrado!'; } $tiposRamal = GetTiposRamal($tipo_ramal); $smarty->assign('tipoRamal', $tiposRamal); $smarty->assign('numero_ramal', $numero_ramal); $smarty->assign('linhas', $linhas); $smarty->assign('msgErro', $msgErro); GetTemplate($smarty, $nomeTpl); /* * Scripts */ //$jsJQuery[] = "\$('#marca_todos').onclick(function(){ $(\"input[type=checkbox]\").attr('checked',true); }) "; function GetTiposRamal($tipo_ramal) { $tipos = array('SIP', 'IAX', 'DGV', 'PBX', 'DAHDI', 'KOHMP'); $opc = ''; if (!$tipo_ramal) $sel = 'selected="selected"'; else $sel = ''; $opc = "\n"; $sel = ''; foreach ($tipos as $tipo) { $sel = ($tipo_ramal === $tipo) ? 'selected="selected"' : ""; $opc .= "\n"; } return $opc; } ?>