|
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function GetTypeRamal($type){
|
|
|
|
|
|
|
|
|
|
return match($type){
|
|
|
|
|
"user" => "user",
|
|
|
|
|
"peer" => "peer",
|
|
|
|
|
"friend" => "friend"
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* Encapsular o sistema de verificar n<EFBFBD>meros e nome no sistema.
|
|
|
|
|
* A fun<EFBFBD><EFBFBD>es pode ser usado para nomes ou procurar um n<EFBFBD>mero jpa existente.
|
|
|
|
|
* Se $name estiver definido vai procurar se existe esse valor no key com stripos
|
|
|
|
|
*
|
|
|
|
|
* $name = se for definido apenas as keys das querys que `stripos( $key, $name` ser<EFBFBD>o executadas
|
|
|
|
|
*/
|
|
|
|
|
function numeroCadastroExiste($dbcon, $number, $org_id, $name = false){
|
|
|
|
|
|
|
|
|
|
$queries = [
|
|
|
|
|
'ramal' => "SELECT '' FROM pbx_ramais WHERE nome = $1 AND org_id = $2",
|
|
|
|
|
'fila' => "SELECT '' FROM pbx_dacs WHERE numero = $1 AND status = 'A' AND org_id = $2",
|
|
|
|
|
'nome_fila' => "SELECT '' FROM pbx_dacs WHERE nome = $1 AND status = 'A' AND org_id = $2",
|
|
|
|
|
'ura' => "SELECT '' FROM pbx_ura WHERE teste = $1 AND org_id = $2",
|
|
|
|
|
'nome_ura' => "SELECT '' FROM pbx_ura WHERE nome = $1 and org_id = $2",
|
|
|
|
|
'anuncio' => "SELECT '' FROM pbx_anuncios WHERE teste = $1 AND org_id = $2",
|
|
|
|
|
'disa' => "SELECT '' FROM pbx_disa WHERE numero = $1 AND org_id = $2",
|
|
|
|
|
'horario' => "SELECT '' FROM pbx_horarios Where discar = $1 and org_id = $2",
|
|
|
|
|
'voicemail' => "SELECT '' FROM pbx_voicemail_usuarios Where caixa_postal = $1 and org_id = $2"
|
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
/* Se $name for definida o algoritmo testar<EFBFBD> apenas query para nomes */
|
|
|
|
|
|
|
|
|
|
foreach ($queries as $key => $query) {
|
|
|
|
|
|
|
|
|
|
$name_false = ($name && (stripos( $key, $name) === false ? 1 : 0 )); //
|
|
|
|
|
$def_name = ((stripos( $key, "nome") === false ? 0 : 1) && ($name === false ? 1 : 0 ));
|
|
|
|
|
|
|
|
|
|
/* key com nome_ <EFBFBD> pulado, pois testar<EFBFBD> apenas n<EFBFBD>mero */
|
|
|
|
|
if( $def_name ){
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* retorna se n<EFBFBD>o for query de nome_ testar<EFBFBD> apenas nomes */
|
|
|
|
|
if($name_false){
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
pg_prepare($dbcon, "existe_{$key}", $query);
|
|
|
|
|
$result = pg_execute($dbcon, "existe_{$key}", array($number, $org_id));
|
|
|
|
|
|
|
|
|
|
if (pg_num_rows($result) > 0) {
|
|
|
|
|
return $key;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function RamaisDisopsitivoExiste($dbcon, $coluna, $value, $org_id){
|
|
|
|
|
|
|
|
|
|
$query = "select '' from pbx_ramais where $coluna = $1 and org_id = $2";
|
|
|
|
|
pg_prepare( $dbcon, "check_ramais", $query);
|
|
|
|
|
$result = pg_execute( $dbcon, "check_ramais", array($value, $org_id) );
|
|
|
|
|
|
|
|
|
|
if( pg_num_rows($result) > 0 ){
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
}
|