forked from SimplesIP/pabx-app
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
98 lines
3.9 KiB
98 lines
3.9 KiB
#!/usr/bin/php -q |
|
<?php |
|
include 'funcoes/shared.php'; |
|
include 'util/util.php'; |
|
|
|
//$pg_local["host"] = "192.168.115.11"; |
|
$pg_local["host"] = "127.0.0.1"; |
|
$pg_local["port"] = "5432"; |
|
$pg_local["dbname"] = "pbx"; |
|
$pg_local["user"] = "contacte"; |
|
$pg_local["password"] = "ctepgSQL"; |
|
|
|
/* |
|
* Linha para incluir no crontab. |
|
*/ |
|
//$pg_remoto["host"] = "177.67.197.147"; //Ip externo |
|
$pg_remoto["host"] = "192.168.115.12"; |
|
$pg_remoto["port"] = "5432"; |
|
$pg_remoto["dbname"] = "portabilidade"; |
|
$pg_remoto["user"] = "contacte"; |
|
$pg_remoto["password"] = "ctepgSQL"; |
|
|
|
try { |
|
$conn = dbConnect($pg_remoto); |
|
if (!$conn) |
|
throw new Exception(GetExcept("Não foi possivel conectar ao servidor remoto!")); |
|
|
|
$db = dbConnect($pg_local); |
|
if (!$db) |
|
throw new Exception(GetExcept("Não foi possivel conectar ao servidor local!")); |
|
|
|
$result = pg_query($db, 'begin'); |
|
if (!$result) |
|
throw new Exception(GetExcept("Não foi possivel iniciar uma transação com o banco de dados local!")); |
|
|
|
/* |
|
* Importando a tabela operadoras. |
|
*/ |
|
echo "Carregando registros de operadoras existentes!\n"; |
|
$numOper = 0; |
|
$query = "select oper_id, oper_nome, oper_spid, oper_licensa, oper_numero from pbx_operadoras"; |
|
$result = @pg_query($db, $query); |
|
if (!$result) |
|
throw new Exception(GetExcept("Não foi possivel listar as operadoras existentes!")); |
|
|
|
$numOper = pg_num_rows($result); |
|
if ($numOper) { |
|
while ($row = pg_fetch_array($result)) { |
|
$operadoras[] = $row["oper_id"]; |
|
} |
|
} |
|
echo "$numOper Operadoaras selecionadas!\n"; |
|
|
|
|
|
echo "Atualizando a tabela de operadoras a partir do servidor remoto!\n"; |
|
$query = "select oper_id, oper_nome, oper_spid, oper_licensa, oper_numero from routing"; |
|
$result = pg_query($conn, $query); |
|
if (!$result) |
|
throw new Exception(GetExcept("Não foi possivel listar as operadoras remotas!")); |
|
|
|
if (pg_num_rows($result)) { |
|
while ($row = pg_fetch_array($result)) { |
|
$operId = $row["oper_id"]; |
|
$operNome = trim($row["oper_nome"]); |
|
$operSpid = trim($row["oper_spid"]); |
|
$operLicensa = trim($row["oper_licensa"]); |
|
$operNumero = trim($row["oper_numero"]); |
|
$query = ''; |
|
|
|
if ($numOper && (array_search($operId, $operadoras) !== false)) { |
|
$query = "update pbx_operadoras set oper_nome = %s, oper_spid = %s, oper_licensa = %s, oper_numero = %s where oper_id = %s\n"; |
|
$query = sprintf($query, _QuotedStr($operNome), _QuotedStr($operSpid), _QuotedStr($operLicensa), _QuotedStr($operNumero), _QuotedStr($operId)); |
|
$resultAtu = pg_query($db, $query); |
|
if (!$resultAtu) |
|
throw new Exception(GetExcept("Não foi possivel atualizar a tabela de operadoras!")); |
|
} |
|
else { |
|
$query = "insert into pbx_operadoras(oper_id, oper_nome, oper_spid, oper_licensa, oper_numero)values(%s,%s,%s,%s,%s)\n"; |
|
$query = sprintf($query, _QuotedStr($operId), _QuotedStr($operNome), _QuotedStr($operSpid), _QuotedStr($operLicensa), _QuotedStr($operNumero)); |
|
$resultAtu = pg_query($db, $query); |
|
if (!$resultAtu) |
|
throw new Exception(GetExcept("Não foi possivel importar a tabela de operadoras!")); |
|
} |
|
} |
|
} |
|
$result = pg_query($db, 'commit'); |
|
if (!$result) |
|
throw new Exception(GetExcept("Não foi possivel encerrar a transação com o banco de dados local!")); |
|
echo "Operadoras atualizadas com sucesso!\n"; |
|
} catch (Exception $ex) { |
|
echo $ex->getMessage() . "\n"; |
|
} |
|
|
|
function dbConnect($pg) { |
|
$conStr = sprintf("host='%s' port='%s' dbname='%s' user='%s' password='%s'", $pg["host"], $pg["port"], $pg["dbname"], $pg["user"], $pg["password"]); |
|
return @pg_connect($conStr); |
|
} |
|
?>
|
|
|