PABX da Simples IP
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.
 
 
 
 
 
 

71 lines
2.5 KiB

<?php
function GetTypeRamal($type){
return match($type){
"user" => "user",
"peer" => "peer",
"friend" => "friend"
};
}
/* Encapsular o sistema de verificar números e nome no sistema.
* A funções pode ser usado para nomes ou procurar um nú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ã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á 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_ é pulado, pois testará apenas número */
if( $def_name ){
continue;
}
/* retorna se não for query de nome_ testará 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;
}