|
|
|
|
#!/usr/bin/php -q
|
|
|
|
|
<?php
|
|
|
|
|
/*******************************************************************************
|
|
|
|
|
* IMPORTA AGENDA *
|
|
|
|
|
* *
|
|
|
|
|
* Data: 17/04/2019 *
|
|
|
|
|
* Autor: Jose Henrique Joanoni *
|
|
|
|
|
* *
|
|
|
|
|
* Script criado para replica<EFBFBD><EFBFBD>o da agenda entre unidades de uma mesma empresa*
|
|
|
|
|
* *
|
|
|
|
|
******************************************************************************/
|
|
|
|
|
include('util/util.php');
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Configura<EFBFBD><EFBFBD>o do banco de dados. Deixe a vari<EFBFBD>vel $str para pegar o valor padrao
|
|
|
|
|
*/
|
|
|
|
|
$str = '';
|
|
|
|
|
if (!$str) {
|
|
|
|
|
$str = GetDefStrDb();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Realiza a conexao ao banco de daodos.
|
|
|
|
|
*/
|
|
|
|
|
$dbcon = pg_connect($str);
|
|
|
|
|
|
|
|
|
|
$sql = "SELECT prm_normaliza_agenda FROM pbx_parametros";
|
|
|
|
|
$result = pg_query($dbcon, $sql);
|
|
|
|
|
$norm = pg_fetch_all($result);
|
|
|
|
|
|
|
|
|
|
if($norm[0]['prm_normaliza_agenda'] != '1'){
|
|
|
|
|
exit;
|
|
|
|
|
}else{
|
|
|
|
|
$sql = "SELECT ip_servidores FROM pbx_agenda_servidores WHERE 1=1";
|
|
|
|
|
$result = pg_query($dbcon,$sql);
|
|
|
|
|
$server = pg_fetch_all($result);
|
|
|
|
|
|
|
|
|
|
foreach($server as $dados){
|
|
|
|
|
if(is_array($dados)){
|
|
|
|
|
foreach($dados as $servidores){
|
|
|
|
|
$arServer[] = $servidores;
|
|
|
|
|
}
|
|
|
|
|
ImportaAgenda($arServer);
|
|
|
|
|
}else{
|
|
|
|
|
ImportaAgenda($dados);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function ImportaAgenda($servidores)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
$dbPort = "5432";
|
|
|
|
|
$dbHost = "127.0.0.1";
|
|
|
|
|
$dbName = "pbx";
|
|
|
|
|
$dbUser = "contacte";
|
|
|
|
|
$dbPassword = "ctepgSQL";
|
|
|
|
|
$str = "host='$dbHost' port='$dbPort' dbname='$dbName' user='$dbUser' password='$dbPassword'";
|
|
|
|
|
$con = pg_connect($str);
|
|
|
|
|
|
|
|
|
|
$sql = "SELECT rma_telefone,rma_nome,data_reg,user_reg,ddd FROM pbx_ramais_agenda ORDER BY 1";
|
|
|
|
|
$result = pg_query($con, $sql);
|
|
|
|
|
if (!$result) {throw new Exception("N<EFBFBD>o foi poss<EFBFBD>vel executar a query");}
|
|
|
|
|
$contatos[] = pg_fetch_all($result);
|
|
|
|
|
|
|
|
|
|
$sql2 = "SELECT dpto_id, dpto_nome, dpto_status,data_reg, user_reg "
|
|
|
|
|
. "FROM rma_departamentos ORDER BY 1";
|
|
|
|
|
$resultado = pg_query($con,$sql2);
|
|
|
|
|
if(!$resultado){throw new Exception("N<EFBFBD>o foi poss<EFBFBD>vel executar a query!");}
|
|
|
|
|
$departamentos[] = pg_fetch_all($resultado);
|
|
|
|
|
|
|
|
|
|
$sql3 = "SELECT nome,dpto_id FROM rma_depto_ramais";
|
|
|
|
|
$result1 = pg_query($con,$sql3);
|
|
|
|
|
if(!$result1){throw new Exception("N<EFBFBD>o foi poss<EFBFBD>vel executar a query!");}
|
|
|
|
|
$dptoRamais[] = pg_fetch_all($result1);
|
|
|
|
|
|
|
|
|
|
foreach ($servidores as $host) {
|
|
|
|
|
|
|
|
|
|
$dbPort = "5432";
|
|
|
|
|
$dbHost = "$host";
|
|
|
|
|
$dbName = "pbx";
|
|
|
|
|
$dbUser = "contacte";
|
|
|
|
|
$dbPassword = "ctepgSQL";
|
|
|
|
|
$str = "host='$dbHost' port='$dbPort' dbname='$dbName' user='$dbUser' password='$dbPassword'";
|
|
|
|
|
$con = pg_connect($str);
|
|
|
|
|
|
|
|
|
|
try{
|
|
|
|
|
$transac = 0;
|
|
|
|
|
|
|
|
|
|
$result = pg_query($con,'begin;');
|
|
|
|
|
if(!$result){throw new Exception('N<EFBFBD>o foi poss<EFBFBD>vel iniciar a transa<EFBFBD><EFBFBD>o');}
|
|
|
|
|
$transac = 1;
|
|
|
|
|
|
|
|
|
|
$deleteRamais = pg_query($con, "DELETE FROM pbx_ramais_agenda");
|
|
|
|
|
if (!$deleteRamais) {throw new Exception("N<EFBFBD>o foi poss<EFBFBD>vel apagar os registros da tabela!");}
|
|
|
|
|
|
|
|
|
|
$deleteDepto = pg_query($con,"DELETE FROM rma_departamentos;");
|
|
|
|
|
if(!$deleteDepto){throw new Exception("N<EFBFBD>o foi poss<EFBFBD>vel apagar os registros da tabela");}
|
|
|
|
|
|
|
|
|
|
$deleteDeptRamais = pg_query($con,"DELETE FROM rma_depto_ramais");
|
|
|
|
|
if(!$deleteDeptRamais){throw new Exception("N<EFBFBD>o foi poss<EFBFBD>vel apagar os registros da tabela.");}
|
|
|
|
|
|
|
|
|
|
foreach ($contatos[0] as $key => $value) {
|
|
|
|
|
$sql = "INSERT INTO pbx_ramais_agenda (rma_telefone, rma_nome, data_reg, user_reg, ddd) "
|
|
|
|
|
. "VALUES ('{$value['rma_telefone']}','{$value['rma_nome']}','{$value['data_reg']}',
|
|
|
|
|
'{$value['user_reg']}','{$value['ddd']}')";
|
|
|
|
|
$result = pg_query($con, $sql);
|
|
|
|
|
|
|
|
|
|
if (!$result) {throw new Exception("N<EFBFBD>o foi poss<EFBFBD>vel inserir os registros na tabela pbx_ramais_agenda!");}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
foreach ($departamentos[0] as $key => $value) {
|
|
|
|
|
$sql = "INSERT INTO rma_departamentos (dpto_id,dpto_nome, dpto_status, data_reg, user_reg) "
|
|
|
|
|
. "VALUES ({$value['dpto_id']},'{$value['dpto_nome']}','{$value['dpto_status']}','{$value['data_reg']}','{$value['user_reg']}')";
|
|
|
|
|
$result = pg_query($con, $sql);
|
|
|
|
|
|
|
|
|
|
if (!$result) {throw new Exception("N<EFBFBD>o foi poss<EFBFBD>vel inserir os registros na tabela rma_departamentos!");}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
foreach ($dptoRamais[0] as $key => $value) {
|
|
|
|
|
$sql = "INSERT INTO rma_depto_ramais(nome, dpto_id) VALUES ('{$value['nome']}','{$value['dpto_id']}')";
|
|
|
|
|
$result = pg_query($con, $sql);
|
|
|
|
|
|
|
|
|
|
if (!$result) {throw new Exception("N<EFBFBD>o foi poss<EFBFBD>vel inserir os registros na tabela rma_depto_ramais!");}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$result = pg_query($con, 'commit');
|
|
|
|
|
if (!$result) {throw new Exception("N<EFBFBD>o foi possivel concluir a transa<EFBFBD><EFBFBD>o");}
|
|
|
|
|
|
|
|
|
|
}catch (Exception $ex){
|
|
|
|
|
if($transac){
|
|
|
|
|
pg_query($con, 'rollback;');
|
|
|
|
|
}
|
|
|
|
|
return $ex->getMessage();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return "Sucesso!";
|
|
|
|
|
} catch (Exception $ex) {
|
|
|
|
|
return $ex->getMessage();
|
|
|
|
|
}
|
|
|
|
|
}
|