Browse Source

Merge pull request 'Correções 1.9 no login, troca de org_id para minimo 100 e outras features' (#361) from matheorb/developer:dev-1.9 into 1.9

Reviewed-on: SimplesIP/pabx-app#361
1.9-pjsip
Matheo Bonucia 2 months ago
parent
commit
83a7e745c6
  1. 141
      admin/CadContexto.php
  2. 2
      admin/CadDepartamentos.php
  3. 4
      admin/CadEmpresas.php
  4. 2
      admin/anuncios.php
  5. 8
      admin/arquivos.php
  6. 6
      admin/cadConfMail.php
  7. 2
      admin/cadConferencias.php
  8. 8
      admin/cadHorarios.php
  9. 6
      admin/confMail.php
  10. 2
      admin/conferencias.php
  11. 11
      admin/contextos.php
  12. 8
      admin/departamentos.php
  13. 5
      admin/empresas.php
  14. 2
      admin/horarios.php
  15. 24
      admin/iax.php
  16. 5
      admin/ramais.php
  17. 4
      admin/upload_som.php
  18. 6
      agendaRamais/ramais/ramais.php
  19. 4
      cadastros/organizacao/cadOrganizacao.php
  20. 10
      include/util/funcoesApl.php
  21. 22
      projeto/base/sql/versao-1.9.0.sql
  22. 42
      projeto/base/sql/view-1.9.0.sql
  23. 4
      supervisor.php

141
admin/CadContexto.php

@ -14,7 +14,7 @@
<?php
include_once("admin/opcoes.php");
$org_id = GetOrganizacao();
$org_id = $_SESSION['SSEmpresaPadrao'];
$acao2 = $_GET["acao2"];
$param = sprintf('&numRamal=%s&pgn=%s&bloco=%s&pg=%s', $_REQUEST['numRamal'], $_REQUEST['pgn'], $_REQUEST['bloco'], $_REQUEST['pg']);
@ -53,8 +53,8 @@
$nome = RemoveEspaco(RemoveAcentos($_POST["nome"], true));
$recorte = isset($_POST["recorte"]) ? trim($_POST["recorte"]) : "";
$acrescenta = isset($_POST["acrescenta"]) ? trim($_POST["acrescenta"]) : "";
//$opcao = trim($_POST["opcao"]);
//$acao_opcao = trim($_POST["acao_opcao"]) == "S" ? "s" : trim($_POST["acao_opcao"]);
$opcao = trim($_POST["opcao"]);
$acao_opcao = trim($_POST["acao_opcao"]) == "S" ? "s" : trim($_POST["acao_opcao"]);
$inclui_padrao = trim($_POST["inclui_padrao"]);
$direcao_chamada = trim($_POST["direcao_chamada"]);
$modeloPost = !empty($_POST["numeros"]) ? trim(FormataModeloDisp($_POST["numeros"])) : trim(FormataModeloDisp($_POST["modelo_disp"]));
@ -64,16 +64,6 @@
$opcaoSelecionada = $_POST["opcao_modelo"];
$portabilidade = isset($_POST["portabilidade"]) ? trim($_POST["portabilidade"]) : "";
$opcao = trim($_POST["opcao"]);
if($opcao == "ramal"){
$acao_opcao = $org_id . trim($_POST["acao_opcao"]) == "S" ? "s" : $org_id . trim($_POST["acao_opcao"]);
}else {
$acao_opcao = trim($_POST["acao_opcao"]) == "S" ? "s" : trim($_POST["acao_opcao"]);
}
/*
* Apaga registros gravados temporariamente
* durante a opracao do usuario para escolher
@ -97,7 +87,7 @@
//Modelo setado na pagina
if (!empty($modeloPost)) {
if (ExisteModelo($dbcon, $modeloPost)) {
$mensagems[] = "Modelo j<EFBFBD> Cadastrado!";
$mensagems[] = "Modelo já Cadastrado!";
} else {
$query = "INSERT INTO pbx_contextos_modelos_tmp(modelo, id_contexto, recorte, acrescenta, portabilidade, org_id)
values('$modeloPost', 0, '$recorte', '$acrescenta', '$portabilidade', $org_id)";
@ -106,7 +96,7 @@
$acrescenta = "";
}
} else {
$mensagems[] = "Digite um modelo para realizar esta opera<EFBFBD><EFBFBD>o!";
$mensagems[] = "Digite um modelo para realizar esta operação!";
}
} else if ($acaoAux == REMOVE_MODELO) {
//Modelo setado na pagina
@ -115,11 +105,11 @@
}
} else if ($acaoAux == INSERE_CANAL) {
if (empty($modeloPost)) {
$mensagems[] = "Para \"Inserir\" um novo tronco e necess<EFBFBD>rio selecionar um \"Modelo\"!";
$mensagems[] = "Para \"Inserir\" um novo tronco e necessário selecionar um \"Modelo\"!";
} else if (empty($troncoDisponivel)) {
$mensagems[] = "Selecione um \"Tronco\" para realizar esta opera<EFBFBD><EFBFBD>o!";
$mensagems[] = "Selecione um \"Tronco\" para realizar esta operação!";
} else {
$query = "DELETE FROM pbx_contextos_opcoes_tmp WHERE id_modelo = coalesce((select id from pbx_contextos_modelos_tmp WHERE modelo = '$modeloPost'), 0)";
$query = "DELETE FROM pbx_contextos_opcoes_tmp WHERE id_modelo = coalesce((select id from pbx_contextos_modelos_tmp WHERE modelo = '$modeloPost'), 0) AND org_id = $org_id";
$result = pg_query($dbcon, $query);
//insere canais
@ -132,31 +122,31 @@
}
} else if ($acaoAux == REMOVE_CANAL) {
if (empty($modeloPost)) {
$mensagems[] = "Para \"Remover\" um tronco <EFBFBD> necess<EFBFBD>rio selecionar um \"Modelo\"!";
$mensagems[] = "Para \"Remover\" um tronco é necessário selecionar um \"Modelo\"!";
} else if (empty($troncoSelecionado)) {
$mensagems[] = "Selecione um \"Tronco\" para realizar esta opera<EFBFBD><EFBFBD>o!";
$mensagems[] = "Selecione um \"Tronco\" para realizar esta operação!";
} else {
$query = "DELETE FROM pbx_contextos_canais_tmp WHERE id = '$troncoSelecionado' and id_modelo = coalesce((select id from pbx_contextos_modelos_tmp WHERE modelo = '$modeloPost'), 0)";
$query = "DELETE FROM pbx_contextos_canais_tmp WHERE id = '$troncoSelecionado' AND id_modelo = coalesce((select id from pbx_contextos_modelos_tmp WHERE modelo = '$modeloPost'), 0) AND org_id = $org_id";
$result = pg_query($dbcon, $query);
}
} else if ($acaoAux == INSERE_OPCAO) {
if (empty($modeloPost)) {
$mensagems[] = "Para \"Inserir\" uma op<EFBFBD><EFBFBD>o <EFBFBD> necess<EFBFBD>io selecionar um \"Modelo\"!";
$mensagems[] = "Para \"Inserir\" uma opção é necessáio selecionar um \"Modelo\"!";
} else if (empty($opcao)) {
$mensagems[] = "Selecione uma \"op<EFBFBD><EFBFBD>o\" para realizar esta opera<EFBFBD><EFBFBD>o!";
$mensagems[] = "Selecione uma \"opção\" para realizar esta operação!";
} else {
$result = pg_query($dbcon, "begin");
try {
$query = "DELETE FROM pbx_contextos_canais_tmp WHERE id_modelo = coalesce((select id from pbx_contextos_modelos_tmp WHERE modelo = '$modeloPost'), 0)";
$result = pg_query($dbcon, $query);
if (!$result) {
throw new Exception("N<EFBFBD>o foi poss<EFBFBD>vel deletar os \"Troncos\" existentes!");
throw new Exception("Não foi possível deletar os \"Troncos\" existentes!");
}
$query = "DELETE FROM pbx_contextos_opcoes_tmp WHERE id_modelo = coalesce((select id from pbx_contextos_modelos_tmp WHERE modelo = '$modeloPost'), 0)";
$result = pg_query($dbcon, $query);
if (!$result) {
throw new Exception("N<EFBFBD>o foi poss<EFBFBD>vel deletar a \"A<EFBFBD><EFBFBD>o\" existente!");
throw new Exception("Não foi possível deletar a \"Ação\" existente!");
}
//insere opcoes
@ -165,7 +155,7 @@
$result = pg_query($dbcon, $query);
if (!$result) {
throw new Exception("N<EFBFBD>o foi poss<EFBFBD>vel inserir uma nova \"op<EFBFBD><EFBFBD>o\"!");
throw new Exception("Não foi possível inserir uma nova \"opção\"!");
}
pg_query($dbcon, "commit");
$opcao = '';
@ -177,11 +167,11 @@
}
} else if ($acaoAux == REMOVE_OPCAO) {
if (empty($modeloPost)) {
$mensagems[] = "Para \"Remover\" uma \"op<EFBFBD><EFBFBD>o\" <EFBFBD> necess<EFBFBD>rio selecionar um \"Modelo\"!";
$mensagems[] = "Para \"Remover\" uma \"opção\" é necessário selecionar um \"Modelo\"!";
} else if (empty($opcaoSelecionada)) {
$mensagems[] = "Selecione uma \"op<EFBFBD><EFBFBD>o\" para realizar esta opera<EFBFBD><EFBFBD>o!";
$mensagems[] = "Selecione uma \"opção\" para realizar esta operação!";
} else {
$query = "DELETE FROM pbx_contextos_opcoes_tmp WHERE id_modelo = coalesce((select id from pbx_contextos_modelos_tmp WHERE modelo = '$modeloPost'), 0)";
$query = "DELETE FROM pbx_contextos_opcoes_tmp WHERE id_modelo = coalesce((select id from pbx_contextos_modelos_tmp WHERE modelo = '$modeloPost'), 0) AND org_id = $org_id";
$result = pg_query($dbcon, $query);
}
} else if ($acao == INSERT) {
@ -201,13 +191,13 @@
$result = pg_query($dbcon, $query);
if (!$result) {
throw new Exception("(1)N<EFBFBD>o foi poss<EFBFBD>vel realizar a opera<EFBFBD><EFBFBD>o!");
throw new Exception("(1)Não foi possível realizar a operação!");
}
$query = "select max(id) as id from pbx_contextos WHERE org_id = {$org_id};";
$result = pg_query($dbcon, $query);
if (!$result) {
throw new Exception("(2)N<EFBFBD>o foi poss<EFBFBD>vel realizar a opera<EFBFBD><EFBFBD>o!");
throw new Exception("(2)Não foi possível realizar a operação!");
}
$dados = @pg_fetch_array($result);
@ -235,7 +225,7 @@
acao = '$acao_opcao',
inclui_padrao = '$inclui_padrao',
direcao_chamada = '$direcao_chamada'
WHERE id = $idContexto ";
WHERE id = $idContexto AND org_id = $org_id";
if (!ExisteTroncoAcao($dbcon)) {
throw new Exception("Informe pelo menos um \"Tronco\" ou \"Acao\" para cada modelo!");
@ -243,11 +233,11 @@
$result = pg_query($dbcon, $query);
if (!$result) {
throw new Exception("(1)N<EFBFBD>o foi poss<EFBFBD>vel realizar a opera<EFBFBD><EFBFBD>o!");
throw new Exception("(1)Não foi possível realizar a operação!");
}
/*
* Grava informacoes sobre modelos, canais e opcoes
* selecionadas pelo usuario durante a opera<EFBFBD><EFBFBD>o.
* selecionadas pelo usuario durante a operação.
*/
GravaComplemento($dbcon, $idContexto);
pg_query($dbcon, "commit");
@ -259,11 +249,11 @@
$mensagems[] = $e->getMessage();
}
} else if (!$isPostBack) {
$query = "SELECT id, nome, recorte, acrescenta, inclui_padrao, direcao_chamada FROM pbx_contextos WHERE id = '$idContexto' ";
$query = "SELECT id, nome, recorte, acrescenta, inclui_padrao, direcao_chamada FROM pbx_contextos WHERE id = '$idContexto' AND org_id = $org_id";
$result = pg_query($dbcon, $query);
if (!$result || !@pg_num_rows($result)) {
$mensagems[] = "N<EFBFBD>o foi poss<EFBFBD>vel selecionar o \"Contexto\"!";
$mensagems[] = "Não foi possível selecionar o \"Contexto\"!";
$acoesCliente[] = "fecha_popup(0,'index.php?idProg=10027&pbxRequest=1$param&acao=$acao');";
}
@ -366,6 +356,7 @@
function DeletaRegTemporario($dbcon, &$modelo = "")
{
$org_id = $_SESSION['SSEmpresaPadrao'];
$idDel = 0;
if (!empty($modelo)) {
$query = "SELECT id FROM pbx_contextos_modelos_tmp WHERE modelo = '$modelo'";
@ -379,34 +370,35 @@
return;
}
$query = "DELETE FROM pbx_contextos_opcoes_tmp " . ($idDel ? " WHERE id_modelo = $idDel " : "");
$query = "DELETE FROM pbx_contextos_opcoes_tmp " . ($idDel ? " WHERE id_modelo = $idDel AND org_id = $org_id" : "");
pg_query($dbcon, $query);
$query = "DELETE FROM pbx_contextos_canais_tmp " . ($idDel ? " WHERE id_modelo = $idDel " : "");
$query = "DELETE FROM pbx_contextos_canais_tmp " . ($idDel ? " WHERE id_modelo = $idDel AND org_id = $org_id" : "");
pg_query($dbcon, $query);
$query = "DELETE FROM pbx_contextos_modelos_tmp " . ($idDel ? " WHERE id = $idDel " : "");
$query = "DELETE FROM pbx_contextos_modelos_tmp " . ($idDel ? " WHERE id = $idDel AND org_id = $org_id" : "");
pg_query($dbcon, $query);
}
function CopiaRegParaTemporario($dbcon, $idTmp)
{
$query = "INSERT INTO pbx_contextos_modelos_tmp(id, id_contexto, modelo, recorte, acrescenta, portabilidade, org_id)
SELECT id, id_contexto, modelo, recorte, acrescenta, portabilidade FROM pbx_contextos_modelos WHERE id_contexto = '$idTmp'";
SELECT id, id_contexto, modelo, recorte, acrescenta, portabilidade, org_id FROM pbx_contextos_modelos WHERE id_contexto = '$idTmp'";
pg_query($dbcon, $query);
$query = "INSERT INTO pbx_contextos_canais_tmp(id, id_contexto, canal, id_modelo, org_id)
SELECT id, id_contexto, canal, id_modelo FROM pbx_contextos_canais WHERE id_contexto = '$idTmp'";
SELECT id, id_contexto, canal, id_modelo, org_id FROM pbx_contextos_canais WHERE id_contexto = '$idTmp'";
pg_query($dbcon, $query);
$query = "INSERT INTO pbx_contextos_opcoes_tmp(id, id_contexto, opcao, acao, id_modelo, org_id)
SELECT id, id_contexto, opcao, acao, id_modelo FROM pbx_contextos_opcoes WHERE id_contexto = '$idTmp'";
SELECT id, id_contexto, opcao, acao, id_modelo, org_id FROM pbx_contextos_opcoes WHERE id_contexto = '$idTmp'";
pg_query($dbcon, $query);
}
function ExisteModelo($dbcon, $modelo)
{
$query = "SELECT count(*) FROM pbx_contextos_modelos_tmp WHERE modelo = '$modelo'";
$org_id = $_SESSION['SSEmpresaPadrao'];
$query = "SELECT count(*) FROM pbx_contextos_modelos_tmp WHERE modelo = '$modelo' AND org_id = $org_id";
$result = pg_query($dbcon, $query);
$row = pg_fetch_row($result);
return $row[0] > 0;
@ -414,8 +406,9 @@
function GetModeloInicio($dbcon)
{
$org_id = $_SESSION['SSEmpresaPadrao'];
//seleciona o primeiro modelo da lista
$query = "SELECT modelo FROM pbx_contextos_modelos_tmp ORDER BY id LIMIT 1";
$query = "SELECT modelo FROM pbx_contextos_modelos_tmp WHERE org_id = $org_id ORDER BY id LIMIT 1";
$result = pg_query($dbcon, $query);
$row = pg_fetch_row($result);
return $row[0];
@ -423,7 +416,8 @@
function ExisteTroncoAcao($dbcon)
{
$query = "SELECT id FROM pbx_contextos_modelos_tmp";
$org_id = $_SESSION['SSEmpresaPadrao'];
$query = "SELECT id FROM pbx_contextos_modelos_tmp WHERE org_id = $org_id";
$result = pg_query($dbcon, $query);
if (!$result) {
@ -436,11 +430,11 @@
while ($row = pg_fetch_row($result)) {
$idModelo = $row[0];
$query = "SELECT count(*) FROM pbx_contextos_canais_tmp WHERE id_modelo = '$idModelo'";
$query = "SELECT count(*) FROM pbx_contextos_canais_tmp WHERE id_modelo = '$idModelo' AND org_id = $org_id";
$result1 = pg_query($dbcon, $query);
$rowCont = @pg_fetch_row($result1);
$query = "SELECT count(*) FROM pbx_contextos_opcoes_tmp WHERE id_modelo = '$idModelo'";
$query = "SELECT count(*) FROM pbx_contextos_opcoes_tmp WHERE id_modelo = '$idModelo' AND org_id = $org_id";
$result1 = pg_query($dbcon, $query);
$rowCont1 = @pg_fetch_row($result1);
@ -453,33 +447,34 @@
function GravaComplemento($dbcon, $idContexto)
{
$query = "DELETE FROM pbx_contextos_canais WHERE id_contexto = '$idContexto'";
$org_id = $_SESSION['SSEmpresaPadrao'];
$query = "DELETE FROM pbx_contextos_canais WHERE id_contexto = '$idContexto' AND org_id = $org_id";
$result = pg_query($dbcon, $query);
if (!$result) {
throw new Exception("(3)N<EFBFBD>o foi poss<EFBFBD>vel realizar a opera<EFBFBD><EFBFBD>o!");
throw new Exception("(3)Não foi possível realizar a operação!");
}
$query = "DELETE FROM pbx_contextos_modelos WHERE id_contexto = '$idContexto'";
$query = "DELETE FROM pbx_contextos_modelos WHERE id_contexto = '$idContexto' AND org_id = $org_id";
$result = pg_query($dbcon, $query);
if (!$result) {
throw new Exception("(4)N<EFBFBD>o foi poss<EFBFBD>vel realizar a opera<EFBFBD><EFBFBD>o!");
throw new Exception("(4)Não foi possível realizar a operação!");
}
$query = "DELETE FROM pbx_contextos_canais WHERE id_contexto = '$idContexto'";
$query = "DELETE FROM pbx_contextos_canais WHERE id_contexto = '$idContexto' AND org_id = $org_id";
$result = pg_query($dbcon, $query);
if (!$result)
throw new Exception("(5)N<EFBFBD>o foi poss<EFBFBD>vel realizar a opera<EFBFBD><EFBFBD>o!");
throw new Exception("(5)Não foi possível realizar a operação!");
$query = "DELETE FROM pbx_contextos_opcoes WHERE id_contexto = '$idContexto'";
$query = "DELETE FROM pbx_contextos_opcoes WHERE id_contexto = '$idContexto' AND org_id = $org_id";
$result = pg_query($dbcon, $query);
if (!$result) {
throw new Exception("(6)N<EFBFBD>o foi poss<EFBFBD>vel realizar a opera<EFBFBD><EFBFBD>o!");
throw new Exception("(6)Não foi possível realizar a operação!");
}
$query = "SELECT id, modelo, recorte, acrescenta, portabilidade FROM pbx_contextos_modelos_tmp";
$query = "SELECT id, modelo, recorte, acrescenta, portabilidade FROM pbx_contextos_modelos_tmp WHERE org_id = $org_id";
$result = pg_query($dbcon, $query);
if (!$result) {
throw new Exception("(7)N<EFBFBD>o foi poss<EFBFBD>vel realizar a opera<EFBFBD><EFBFBD>o!");
throw new Exception("(7)Não foi possível realizar a operação!");
}
while ($row = @pg_fetch_array($result)) {
@ -489,40 +484,40 @@
$acresc = $row["acrescenta"];
$porta = $row["portabilidade"];
$query = "INSERT INTO pbx_contextos_modelos(id_contexto, modelo, recorte, acrescenta, portabilidade)
VALUES('$idContexto', '$modelo', '$rec', '$acresc', '$porta')";
$query = "INSERT INTO pbx_contextos_modelos(id_contexto, modelo, recorte, acrescenta, portabilidade, org_id)
VALUES('$idContexto', '$modelo', '$rec', '$acresc', '$porta', $org_id)";
$resultTmp = pg_query($dbcon, $query);
if (!$resultTmp) {
throw new Exception("(8)N<EFBFBD>o foi poss<EFBFBD>vel realizar a opera<EFBFBD><EFBFBD>o!");
throw new Exception("(8)Não foi possível realizar a operação!");
}
// Ultimo modelo inserido
$query = "SELECT max(id) FROM pbx_contextos_modelos";
$query = "SELECT max(id) FROM pbx_contextos_modelos WHERE org_id = $org_id";
$resultTmp = pg_query($dbcon, $query);
if (!$resultTmp) {
throw new Exception("(9)N<EFBFBD>o foi poss<EFBFBD>vel realizar a opera<EFBFBD><EFBFBD>o!");
throw new Exception("(9)Não foi possível realizar a operação!");
}
$row = @pg_fetch_row($resultTmp);
$idModeloAtual = $row[0];
//insere canais
$query = "INSERT INTO pbx_contextos_canais (id_contexto, canal, id_modelo)
SELECT '$idContexto', canal, '$idModeloAtual'
$query = "INSERT INTO pbx_contextos_canais (id_contexto, canal, id_modelo, org_id)
SELECT '$idContexto', canal, '$idModeloAtual', org_id
FROM pbx_contextos_canais_tmp
WHERE id_modelo = '$idModeloTmp'";
$resultTmp = pg_query($dbcon, $query);
if (!$resultTmp) {
throw new Exception("(10)N<EFBFBD>o foi poss<EFBFBD>vel realizar a opera<EFBFBD><EFBFBD>o!");
throw new Exception("(10)Não foi possível realizar a operação!");
}
$query = "INSERT INTO pbx_contextos_opcoes (id_contexto, opcao, acao, id_modelo)
SELECT '$idContexto', opcao, acao, '$idModeloAtual'
$query = "INSERT INTO pbx_contextos_opcoes (id_contexto, opcao, acao, id_modelo , org_id)
SELECT '$idContexto', opcao, acao, '$idModeloAtual', org_id
FROM pbx_contextos_opcoes_tmp
WHERE id_modelo = '$idModeloTmp'";
$resultTmp = pg_query($dbcon, $query);
if (!$resultTmp) {
throw new Exception("(11)N<EFBFBD>o foi poss<EFBFBD>vel realizar a opera<EFBFBD><EFBFBD>o!");
throw new Exception("(11)Não foi possível realizar a operação!");
}
}
}
@ -546,23 +541,23 @@
alert('Selecione um "Tronco"!');
return false;
} else if (document.getElementById("opcao_modelo").value) {
return confirm('Se prosseguir com a opera<EFBFBD><EFBFBD>o as "A<EFBFBD><EFBFBD>es Selecionadas" ser<EFBFBD>o apagadas! Deseja continuar?');
return confirm('Se prosseguir com a operação as "Ações Selecionadas" serão apagadas! Deseja continuar?');
}
} else if (this.acao == 'REMOVE_CANAL') {
if (document.getElementById("ramais").selectedIndex < 0) {
alert('Selecione um "Tronco"!');
return false;
}
return confirm('Se prosseguir com a opera<EFBFBD><EFBFBD>o o "Tronco Selecionado" ser<EFBFBD>o apagados! Deseja continuar?');
return confirm('Se prosseguir com a operação o "Tronco Selecionado" serão apagados! Deseja continuar?');
} else if (this.acao == 'INSERE_OPCAO') {
if (document.getElementById("relacao").selectedIndex < 0) {
alert('Selecione um "Modelo"!');
return false;
} else if (!document.getElementById("opcao").value || !document.getElementById("acao_opcao").value) {
alert('Selecione uma "op<EFBFBD><EFBFBD>o"!');
alert('Selecione uma "opção"!');
return false;
} else if (document.getElementById("ramais").length > 0) {
return confirm('Se prosseguir com a opera<EFBFBD><EFBFBD>o os "Troncos Selecionados" ser<EFBFBD>o apagados! Deseja continuar?');
return confirm('Se prosseguir com a operação os "Troncos Selecionados" serão apagados! Deseja continuar?');
}
} else if (this.acao == 'REMOVE_OPCAO') {
if (!document.getElementById("opcao_modelo").value) {
@ -620,7 +615,7 @@
<fieldset>
<legend class="labels">Tipo Chamada:</legend>
Entrada <input name="direcao_chamada" type="radio" value="E" <?= ((!$direcao_chamada) || ($direcao_chamada == 'E')) ? "checked" : null; ?> />
Sa<EFBFBD>da <input name="direcao_chamada" type="radio" value="S" <?= ($direcao_chamada == 'S') ? "checked" : null; ?> />
Saída <input name="direcao_chamada" type="radio" value="S" <?= ($direcao_chamada == 'S') ? "checked" : null; ?> />
</fieldset>
</td>
</tr>

2
admin/CadDepartamentos.php

@ -52,7 +52,7 @@
}
if ($acao == "edita") {
$query = "UPDATE pbx_departamentos SET nome_depto='$nome_depto', empresa='$empresa' WHERE id=$id";
$query = "UPDATE pbx_departamentos SET nome_depto='$nome_depto', empresa='$empresa' WHERE id=$id AND org_id = $org_id";
$result = pg_query($dbcon, $query);
}

4
admin/CadEmpresas.php

@ -28,7 +28,7 @@
<?php
$acao = $_GET["acao"];
$acao2 = $_GET["acao2"];
$org_id = GetOrganizacao();
$org_id = $_SESSION['SSEmpresaPadrao'];
/*
* Parametros necessarios para manter a paginação.
@ -61,7 +61,7 @@
if ($acao == "edita") {
$query = "UPDATE pbx_empresa
SET nome='$nome', razao_social='$razao_social', endereco_site='$endereco_site'
WHERE id=$id";
WHERE id=$id AND org_id = $org_id";
$result = pg_query($dbcon, $query);
}

2
admin/anuncios.php

@ -5,6 +5,7 @@ $filtro = isset($_GET["numRamal"]) ? trim($_GET["numRamal"]) : '';
$filtroNovo = !isset($_GET["pgn"]) ? '' : sprintf("&numRamal%s&pgn=%s&bloco=%s&pg=%s", $_GET["numRamal"], $_GET["pgn"], $_GET["bloco"], $_GET["pg"]);
$recontaPag = ($acao == 'inseri') || ($acao == "deleta") || isset($_GET['pesquisa']);
$filtroNovo = 'index.php?idProg=11007&pbxRequest=1&acao=inseri' . $filtroNovo;
$org_id = $_SESSION['SSEmpresaPadrao'];
if ($acao == "deleta") {
$query = "delete from pbx_anuncios where id='$id'";
@ -44,6 +45,7 @@ if ($acao == "deleta") {
$compl = sprintf("and (a.nome ilike %s or a.musica ilike %s) ", $compl, $compl);
}
//seleciona registros do banco
$compl .= "AND a.org_id = $org_id";
$query = "SELECT id, nome, musica FROM pbx_anuncios a where 1=1 $compl order by id asc";
$params = "&pbxRequest=1&numRamal=$filtro" . (isset($_GET['pesquisa']) ? '&pesquisa=1' : '');
$links = PaginaDados($idProg, $query, $params, $regPagina, $offSet, $pagMostra, true);

8
admin/arquivos.php

@ -72,7 +72,7 @@ if ($acao == 'deleta') {
}
$inTran++;
$result = pg_query($dbcon, "DELETE FROM pbx_arquivo_som WHERE arq_id = '$id'");
$result = pg_query($dbcon, "DELETE FROM pbx_arquivo_som WHERE arq_id = '$id' AND org_id = $org_id");
if (!$result) {
GeraExcept("Erro ao excluir o arquivo no banco de dados!");
}
@ -102,10 +102,10 @@ if (isset($_GET['pesquisa']) && $_GET['pesquisa']) {
$compl = PreparaLike($filtro, true);
$compl = sprintf("AND (a.arq_nome ilike %s OR a.arq_descricao ilike %s)", $compl, $compl);
}
$compl .= "AND a.org_id = $org_id";
$query = "SELECT arq_id, arq_data, arq_nome, arq_nome_sistema, arq_descricao, arq_orig_tamanho, arq_dest_tamanho
FROM pbx_arquivo_som a
WHERE 1=1 $compl
FROM pbx_arquivo_som a
WHERE 1=1 $compl
ORDER BY arq_id";
$params = "&pbxRequest=1&numRamal=$filtro";

6
admin/cadConfMail.php

@ -35,7 +35,7 @@
$acao = $_GET["acao"];
$id = $_GET['id'];
$acao2 = $_GET["acao2"];
$org_id = GetOrganizacao();
$org_id = $_SESSION['SSEmpresaPadrao'];
if ($acao2 == "salva") {
$id = $_POST["id"];
@ -86,9 +86,9 @@
SET conta='$conta', porta='$porta', timeout='$timeout', protocolo='$protocolo', dominio='$dominio',
tsl='$tsl', tsl_certificado='$tsl_certificado', tsl_check='$tsl_check', logfile='$logfile',
hosts='$hosts', de='$de', auth='$auth', usuario='$usuario', senha='$senha',padrao='$padrao'
WHERE id=$id";
WHERE id=$id AND org_id = $org_id;";
pg_query($dbcon, $query);
} //gera arquivos e executa o reload dos dados no asterisk
} //gera arquivos e executa o reload dos dados no asterisk
gera_arquivos($dbcon, 'CONFMAIL');
echo "<script type=\"text/javascript\">
fecha_popup(0,'index.php?idProg=10040&pbxRequest=1$param&acao=$acao');

2
admin/cadConferencias.php

@ -79,7 +79,7 @@
senha_admin='$senha_admin',encerra_sem_admin='$encerra_sem_admin',silencioso='$silencioso',
anuncia_conta='$anuncia_conta',anuncia_entrada='$anuncia_entrada',musica_espera='$musica_espera',
habilita_menu='$habilita_menu',anuncio='$anuncio'
WHERE id=$id";
WHERE id=$id AND org_id = $org_id";
pg_query($dbcon, $query);
}
gera_arquivos($dbcon, 'CONFERENCIA');

8
admin/cadHorarios.php

@ -232,11 +232,13 @@ function GetHorarios($dbcon, $id, $acaoH)
$opcao_nao = $row["opcao_nao"] ? $row["opcao_nao"] : '-';
$acao_nao = $row["acao_nao"] ? $row["acao_nao"] : '-';
// PBX_opcoes não deve ser buscado com org_id, pois é uma VIEW padrão e fixa para todas as empresas
$query = "select * from ( select a.id, a.id_horario, a.horario_inicio, a.horario_fim, a.todos_dias_semana, a.semana,
a.semana_fim, a.todos_dias_mes, a.dias_mes, a.dias_mes_fim, a.todos_mes, a.mes,
a.mes_fim, b.name as opcao, a.acao as acao, case when(feriado = 'A')then 0 else 1 end as feriado
from pbx_horarios_itens a
left outer join pbx_opcoes b on b.value = a.opcao and b.org_id = a.org_id
left outer join pbx_opcoes b on b.value = a.opcao
left outer join pbx_opcao_acao c on c.opcao = a.opcao and c.id = a.acao and c.org_id = a.org_id
where id_horario = $id and a.org_id = $org_id) as itens order by feriado asc, id";
@ -347,12 +349,12 @@ function GetHorarios($dbcon, $id, $acaoH)
}
if (m >= 60) {
m = 00;
m = "00";
h = h + 1;
}
if (h >= 24) {
h = 00;
h = "00";
} else {
s = s + 1;
}

6
admin/confMail.php

@ -5,9 +5,10 @@ $filtro = isset($_GET["numRamal"]) ? trim($_GET["numRamal"]) : '';
$filtroNovo = !isset($_GET["pgn"]) ? '' : sprintf("&numRamal%s&pgn=%s&bloco=%s&pg=%s", $_GET["numRamal"], $_GET["pgn"], $_GET["bloco"], $_GET["pg"]);
$recontaPag = ($acao == 'inseri') || ($acao == "deleta") || isset($_GET['pesquisa']);
$id2 = isset($_GET['id2']) ? trim($_GET['id2']) : 0;
$org_id = $_SESSION['SSEmpresaPadrao'];
if ($acao == "deleta") {
$query = "delete from pbx_confMail where id='$id'";
$query = "delete from pbx_confMail where id='$id' and org_id = $org_id";
pg_query($dbcon, $query); //gera arquivos e executa o reload dos dados no asterisk
gera_arquivos($dbcon, 'CONFMAIL');
}
@ -47,7 +48,8 @@ if ($acao == "deleta") {
$compl = PreparaLike($filtro, true);
$compl = sprintf("and (a.conta ilike %s or a.dominio ilike %s or a.usuario ilike %s)", $compl, $compl, $compl);
}
$compl .= "AND a.org_id = $org_id";
$query = "SELECT id, conta, dominio, protocolo, porta, usuario FROM pbx_confMail a where 1=1 $compl order by id asc";
$params = "&pbxRequest=1&numRamal=$filtro";
$links = PaginaDados($idProg, $query, $params, $regPagina, $offSet, $pagMostra, true);

2
admin/conferencias.php

@ -50,7 +50,7 @@ if ($acao == "deleta") {
$compl = PreparaLike($filtro, true);
$compl = sprintf("and (a.numero ilike %s)", $compl);
}
$compl .= "AND a.org_id = $org_id";
$query = "SELECT id, numero FROM pbx_conferencia a where 1=1 $compl order by id asc";
$params = "&pbxRequest=1&numRamal=$filtro";
$links = PaginaDados($idProg, $query, $params, $regPagina, $offSet, $pagMostra, true);

11
admin/contextos.php

@ -6,15 +6,16 @@ $filtroNovo = !isset($_GET["pgn"]) ? '' : sprintf("&numRamal%s&pgn=%s&bloco=%s&p
$recontaPag = ($acao == 'inseri') || ($acao == "deleta") || isset($_GET['pesquisa']);
$janW = '500';
$janH = '440';
$org_id = $_SESSION['SSEmpresaPadrao'];
if ($acao == "deleta") {
$query = "delete from pbx_contextos_canais where id_contexto='$id'";
$query = "delete from pbx_contextos_canais where id_contexto='$id' and org_id = $org_id";
pg_query($dbcon, $query);
$query = "delete from pbx_contextos_modelos where id_contexto='$id'";
$query = "delete from pbx_contextos_modelos where id_contexto='$id' and org_id = $org_id";
pg_query($dbcon, $query);
$query = "delete from pbx_contextos_opcoes where id_contexto='$id'";
$query = "delete from pbx_contextos_opcoes where id_contexto='$id' and org_id = $org_id";
pg_query($dbcon, $query);
$query = "delete from pbx_contextos where id='$id'";
$query = "delete from pbx_contextos where id='$id' and org_id = $org_id";
pg_query($dbcon, $query); //gera arquivos e executa o reload dos dados no asterisk
gera_arquivos($dbcon, 'CONTEXTOS');
}
@ -24,8 +25,8 @@ if (isset($_GET['pesquisa']) && $_GET['pesquisa']) {
$compl = PreparaLike($filtro, true);
$compl = sprintf("and (a.nome ilike %s)", $compl);
}
$compl .= "AND a.org_id = $org_id";
$query = "SELECT id, nome, direcao_chamada FROM pbx_contextos a where 1=1 $compl order by id asc";
$params = "&pbxRequest=1&numRamal=$filtro";
$links = PaginaDados($idProg, $query, $params, $regPagina, $offSet, $pagMostra, true);
$query .= " limit $regPagina offset $offSet";

8
admin/departamentos.php

@ -7,7 +7,7 @@ $recontaPag = ($acao == 'inseri') || ($acao == "deleta") || isset($_GET['pesquis
$org_id = GetOrganizacao();
if ($acao == "deleta") {
$query = "select '' from pbx_cs_usuarios where departamento = '$id' ";
$query = "select '' from pbx_cs_usuarios where departamento = '$id' where org_id = $org_id";
$result = pg_query($dbcon, $query);
if (!$result) {
@ -18,9 +18,9 @@ if ($acao == "deleta") {
if ($assoc) {
$msg = "O Departamento não pode ser excluido por estar associado a uma ou mais contas!";
} else {
$query = "delete from pbx_departamentos where id='$id'";
$queryRpl = 'insert into pbx_replica(rpl_command, rpl_user, rpl_origem) values(%s, %s, %s)';
$queryRpl = sprintf($queryRpl, QuotedStr($query), QuotedStr(GetLogin()), QuotedStr(GetServerName()));
$query = "delete from pbx_departamentos where id='$id' and org_id = $org_id";
$queryRpl = 'insert into pbx_replica(rpl_command, rpl_user, rpl_origem, org_id) values(%s, %s, %s, %d)';
$queryRpl = sprintf($queryRpl, QuotedStr($query), QuotedStr(GetLogin()), QuotedStr(GetServerName()), $org_id);
$inTran = 0;
$result = pg_query($dbcon, 'begin');

5
admin/empresas.php

@ -5,11 +5,12 @@ $id = isset($_GET['id']) ? trim($_GET['id']) : 0;
$filtro = isset($_GET["numRamal"]) ? trim($_GET["numRamal"]) : '';
$filtroNovo = !isset($_GET["pgn"]) ? '' : sprintf("&numRamal%s&pgn=%s&bloco=%s&pg=%s", $_GET["numRamal"], $_GET["pgn"], $_GET["bloco"], $_GET["pg"]);
$recontaPag = ($acao == 'inseri') || ($acao == "deleta") || isset($_GET['pesquisa']);
$org_id = $_SESSION['SSEmpresaPadrao'];
if ($acao == "deleta") {
$msg = '';
$id = $_GET["id"] ?? "0";
$query = "delete from pbx_empresa where id='$id'";
$query = "delete from pbx_empresa where id='$id' and org_id = $org_id";
$result = pg_query($dbcon, $query);
if (!$result) {
$msg = "Não foi possível apagar o registro!";
@ -25,7 +26,7 @@ if (isset($_GET['pesquisa']) && $_GET['pesquisa']) {
$compl = PreparaLike($filtro, true);
$compl = sprintf("and (a.nome ilike %s or a.razao_social ilike %s)", $compl, $compl);
}
$compl .= "AND a.org_id = $org_id";
$query = "SELECT id, nome, razao_social FROM pbx_empresa a where 1=1 $compl order by id asc";
$params = "&pbxRequest=1&numRamal=$filtro";
$links = PaginaDados($idProg, $query, $params, $regPagina, $offSet, $pagMostra, true);

2
admin/horarios.php

@ -51,7 +51,7 @@ if ($acao == "deleta") {
if (isset($_GET['pesquisa']) && $_GET['pesquisa']) {
$compl = "and (a.nome ilike '%$filtro%' or a.discar ilike '%$filtro%')";
}
$compl .= " and a.org_id = $org_id";
$query = "select id, nome, discar, opcao_ok, acao_ok, opcao_nao, acao_nao,
case when((select count(*) from pbx_horarios_itens where id_horario = a.id) = 0)then 0 else status end as status
from pbx_horarios a where 1=1 $compl order by nome";

24
admin/iax.php

@ -5,7 +5,7 @@ $id2 = isset($_GET['id2']) ? $_GET['id2'] : '';
$filtro = isset($_GET["numRamal"]) ? trim($_GET["numRamal"]) : '';
$filtroNovo = !isset($_GET["pgn"]) ? '' : sprintf("&numRamal%s&pgn=%s&bloco=%s&pg=%s", $_GET["numRamal"], $_GET["pgn"], $_GET["bloco"], $_GET["pg"]);
$recontaPag = ($acao == 'inseri') || ($acao == "deleta") || isset($_GET['pesquisa']);
$org_id = GetOrganizacao();
$org_id = $_SESSION['SSEmpresaPadrao'];
$query = "SELECT master FROM pbx_organizacao WHERE id = $org_id";
$resul = pg_query($dbcon, $query);
$dados = pg_fetch_array($resul);
@ -21,23 +21,28 @@ if ($acao == "deleta") {
}
//Apaga a relacao entre rotas e ramais
$query = "delete from pbx_rotas_saida_ramais where ramal = '$ramal'";
$query = "delete from pbx_rotas_saida_ramais where ramal = '$ramal' and org_id = $org_id";
pg_query($dbcon, $query);
//Apaga ch secretaria
$query = "delete from pbx_chefe_secretaria where numero = '$ramal'";
$query = "delete from pbx_chefe_secretaria where numero = '$ramal' and org_id = $org_id";
pg_query($dbcon, $query);
//Relação de restrição a audios cadastrada na interface de grupo de usuarios
$query = "delete from pbx_grupo_audio_ramal where nome = '$ramal' ";
$query = "delete from pbx_grupo_audio_ramal where nome = '$ramal' and org_id = $org_id";
pg_query($dbcon, $query);
$query = "delete from pbx_iax_pbx where id='$id'";
$query = "delete from pbx_iax_pbx where id='$id' and org_id = $org_id";
pg_query($dbcon, $query);
$query = "delete from pbx_voicemail_usuarios where numero_ramal='$ramal'";
$query = "delete from pbx_voicemail_usuarios where numero_ramal='$ramal' and org_id = $org_id";
pg_query($dbcon, $query);
$apagar = ['ORG_ID', 'ORG_RAMAL', 'BINA-NOME', 'BINA-EXTERNO', 'TIMEOUT-RAMAL', 'TEMPO-RING-RAMAL',
'ESPERA', 'SIGAME-INTERNO', 'SIGAME-EXTERNO', 'SIGAME-OCUPADO', 'SIGAME-NAOATENDE', 'GRAVACAO',
'GRAVACAO-OUT', 'MUSICA', 'CADEADO', 'NAOPERTUBE', 'SENHA', 'DISPOSITIVO'];
removeItemSqlite($dbcon, $apagar, $ramal, $org_id);
@Ajusta_ramais($ramal, $dbcon, false, false);
@Ajusta_tabelas('ramal', $ramal, $dbcon, true, false);
gera_arquivos($dbcon, 'IAX_PBX', 1, 0);
@ -95,7 +100,7 @@ if ($acao == "deleta") {
}
if ((!empty($filtro)) && ($tpParcial == 0)) {
$compl = " AND (nome ilike '%$filtro%' OR callerid ILIKE '%$filtro%')";
$compl = " AND (nome ilike '%$filtro%' OR identificador ILIKE '%$filtro%')";
} else if ((!empty($filtro)) && ($tpParcial == 1)) {
$params = explode(",", $filtro);
$compl = "";
@ -104,7 +109,7 @@ if ($acao == "deleta") {
$dado .= empty($dado) ? "'$param'" : ",'$param'";
}
$compl = " AND (nome IN($dado) OR callerid IN($dado))";
$compl = " AND (nome IN($dado) OR identificador IN($dado))";
} else if ((!empty($filtro)) && ($tpParcial == 2)) {
$params = explode("-", $filtro);
$compl = "";
@ -128,6 +133,7 @@ if ($acao == "deleta") {
$compl = "";
}
$compl .= " AND org_id = $org_id";
$query = "SELECT id, nome, context, dispositivo, saldo_prepago, habilita_prepago, identificador,
cast(case when (length(nome) - length(ltrim(nome,'0'))) >= 1 then '-'||(length(nome) - length(ltrim(nome,'0')))::int
else nome
@ -155,7 +161,7 @@ if ($acao == "deleta") {
<div><?php echo $dados['id']; ?></div>
</td>
<td align="left"><a href="#" style="color: #000" onclick="abre_janela('710', '700', 'index.php?idProg=11010&pbxRequest=1&acao=edita&id=<?php echo $dados['id']; ?><?php echo $params; ?>');"><?php echo $dados['nome']; ?></a></td>
<td align="left"><?php echo $dados['callerid']; ?></td>
<td align="left"><?php echo $dados['identificador']; ?></td>
<td align="left"><?php echo $dados['context']; ?></td>
<td align="left"><?php echo $dados['dispositivo']; ?></td>
<td width="30" align="center"><?php echo $dep; ?></td>

5
admin/ramais.php

@ -149,6 +149,11 @@ if ($acao == "deleta") {
$query = "delete from pbx_voicemail_usuarios where numero_ramal ='$ramal' and org_id = $org_id";
pg_query($dbcon, $query);
$apagar = ['ORG_ID', 'ORG_RAMAL', 'BINA-NOME', 'BINA-EXTERNO', 'TIMEOUT-RAMAL', 'TEMPO-RING-RAMAL',
'ESPERA', 'SIGAME-INTERNO', 'SIGAME-EXTERNO', 'SIGAME-OCUPADO', 'SIGAME-NAOATENDE', 'GRAVACAO',
'GRAVACAO-OUT', 'MUSICA', 'CADEADO', 'NAOPERTUBE', 'SENHA', 'DISPOSITIVO'];
removeItemSqlite($dbcon, $apagar, $ramal, $org_id);
Ajusta_ramais($ramal, $dbcon, false, false);
Ajusta_tabelas('ramal', $ramal, $dbcon);
}

4
admin/upload_som.php

@ -34,7 +34,7 @@
$acao = $_GET['acao'];
$url = $_GET['url'];
$param = sprintf('&numRamal=%s&pgn=%s&bloco=%s&pg=%s', $_REQUEST['numRamal'], $_REQUEST['pgn'], $_REQUEST['bloco'], $_REQUEST['pg']);
$org_id = GetOrganizacao();
$org_id = $_SESSION['SSEmpresaPadrao'];
if ($acao == 'inseri') {
try {
@ -125,7 +125,7 @@
$desc = IsNull($_POST['arq_descricao'], $arq[0], 1);
$tamOrig = IsNull(filesize(($extensao == 'mp3') ? $mvFileSom : $arqOrigem), 0, 1);
$tamDest = IsNull(filesize($arqDestino), 0, 1);
$query = "INSERT INTO pbx_arquivo_som(arq_nome, arq_nome_sistema, arq_descricao, arq_path_origem, arq_path_destino, arq_orig_tamanho, arq_dest_tamanho, arq_md5, userreg, org_id) VALUES(%s,%s,%s,%s,%s,%s,%s,%s,%s,%s);";
$query = "INSERT INTO pbx_arquivo_som(arq_nome, arq_nome_sistema, arq_descricao, arq_path_origem, arq_path_destino, arq_orig_tamanho, arq_dest_tamanho, arq_md5, userreg, org_id) VALUES(%s,%s,%s,%s,%s,%s,%s,%s,%s,%d);";
$query = sprintf($query, $nome, $nomeSistema, $desc, QuotedStr($mvFileSom), QuotedStr($arqDestino), $tamOrig, $tamDest, $md5, $login, $org_id);
$result = pg_query($dbcon, $query);
if (!$result) {

6
agendaRamais/ramais/ramais.php

@ -15,7 +15,7 @@ if ($acao == "deletaRamal") {
* VERIFICA SE EXISTE O RAMAL NA TABELA
*/
$ramal = $_GET['ramal'];
$query = "SELECT rma_telefone FROM pbx_ramais_agenda WHERE rma_telefone='$ramal' ";
$query = "SELECT rma_telefone FROM pbx_ramais_agenda WHERE rma_telefone='$ramal' AND org_id = $org_id";
$result = pg_query($dbcon, $query);
if (!pg_num_rows($result)) {
GeraExcept('Ramal Inválido, não foi possível excluir o registro!');
@ -28,13 +28,13 @@ if ($acao == "deletaRamal") {
GeraExcept('Não foi possível inicar a operação!');
}
$deleta = "DELETE FROM pbx_ramais_agenda WHERE rma_telefone='$ramal'";
$deleta = "DELETE FROM pbx_ramais_agenda WHERE rma_telefone='$ramal' AND org_id = $org_id";
$result = pg_query($dbcon, $deleta);
if (!$result) {
GeraExcept('Não foi possível excluir o "Ramal" selecionado!');
}
$deleta = "DELETE FROM rma_depto_ramais WHERE nome='$ramal'";
$deleta = "DELETE FROM rma_depto_ramais WHERE nome='$ramal' AND org_id = $org_id";
$result = pg_query($dbcon, $deleta);
if (!$result) {
GeraExcept('Não foi possível remover as dependências do "Ramal" selecionado!');

4
cadastros/organizacao/cadOrganizacao.php

@ -138,7 +138,7 @@ function criarGruposDefault($dbcon, $org_id) {
FROM pbx_grupo
WHERE gp_nome IN ('ADMINISTRADOR','SUPERVISOR','AGENTE')
AND gp_system = 0
AND org_id = 1
AND org_id = (SELECT min(id) FROM pbx_organizacao)
RETURNING gp_id, gp_nome";
$result = pg_query($dbcon, $query);
@ -150,7 +150,7 @@ function criarGruposDefault($dbcon, $org_id) {
$sql = "INSERT INTO pbx_grupo_funcoes (gp_id, fun_id, org_id)
SELECT {$grupo['gp_id']} AS gp_id, fun_id, {$org_id} AS org_id
FROM pbx_grupo_funcoes
WHERE gp_id = (SELECT gp_id FROM pbx_grupo WHERE org_id = 1
WHERE gp_id = (SELECT gp_id FROM pbx_grupo WHERE org_id = (SELECT min(id) FROM pbx_organizacao)
AND gp_nome = '{$grupo['gp_nome']}' AND gp_system = 0)";
if (!pg_query($dbcon, $sql)) {

10
include/util/funcoesApl.php

@ -577,12 +577,13 @@ function IsSuper() {
}
function IsUserAdmin() {
global $dbcon;
$org_id = GetOrganizacao();
$query = sprintf("SELECT count(*) FROM pbx_grupo_usuario
WHERE gp_id = (SELECT gp_id FROM pbx_grupo WHERE gp_nome = 'ADMINISTRADOR' AND org_id = {$org_id})
AND user_id = '%s'", GetIdUser());
$result = pg_query($query);
$result = pg_query($dbcon, $query);
$row = @pg_fetch_row($result);
return $row[0] ? true : false;
}
@ -595,11 +596,12 @@ function IsAdmin() {
$matricula = GetMatricula();
$query = "select \"admin\"
from pbx_usuarios p_u
from pbx_usuarios p_u, pbx_organizacao po
where
matricula = '$matricula'
and p_u.id = (select id_usuario from pbx_organizacao_usuarios pou WHERE pou.id_usuario = p_u.id AND pou.id_organizacao = 1)
and user_system = 1";
and p_u.id = (select id_usuario from pbx_organizacao_usuarios pou, pbx_organizacao po WHERE pou.id_usuario = p_u.id AND pou.id_organizacao = (SELECT min(id) FROM pbx_organizacao))
and user_system = 1
and po.master = 1";
$isadmin = pg_query($GLOBALS["dbcon"], $query);
/* Não foi possível obter se o usuário é admin

22
projeto/base/sql/versao-1.9.0.sql

@ -1,13 +1,15 @@
CREATE TABLE pbx_organizacao
(
id serial NOT NULL PRIMARY KEY,
nome VARCHAR(128) NOT NULL,
status INTEGER NOT NULL DEFAULT 1,
master int not null DEFAULT 0,
updated_at timestamp without time zone,
created_at timestamp without time zone NOT NULL DEFAULT now()
CREATE TABLE pbx_organizacao (
id serial PRIMARY KEY,
nome VARCHAR(128) NOT NULL,
status INTEGER NOT NULL DEFAULT 1,
master INTEGER NOT NULL DEFAULT 0,
updated_at TIMESTAMP WITHOUT TIME ZONE,
created_at TIMESTAMP WITHOUT TIME ZONE NOT NULL DEFAULT now()
);
-- Reinicia a sequência para iniciar em 100
ALTER SEQUENCE pbx_organizacao_id_seq RESTART WITH 100;
CREATE TABLE pbx_organizacao_usuarios
(
id SERIAL not null primary key,
@ -336,9 +338,9 @@ Alter table pbx_voicemail_usuarios
Alter table pbx_horarios_itens
ADD COLUMN acao_asterisk varchar(115);
--Sempre que iniciar um banco, sera setado o org_id como 1 para master
--Sempre que iniciar um banco, sera setado o org_id minimo para master
UPDATE pbx_grupo SET org_id = 1 WHERE gp_id IN (28, 29, 30);
UPDATE pbx_grupo SET org_id = (SELECT min(id) FROM pbx_organizacao) WHERE gp_id IN (28, 29, 30);
Alter table pbx_callback
ADD COLUMN ramal_saida_asterisk varchar(40);

42
projeto/base/sql/view-1.9.0.sql

@ -338,101 +338,87 @@ CREATE OR REPLACE VIEW public.pbx_nao_classificado
DROP VIEW IF EXISTS pbx_opcoes;
CREATE OR REPLACE VIEW public.pbx_opcoes
AS ( SELECT 'ramal'::character varying(100) AS value,
'Ramal'::character varying(100) AS name
,org_id FROM pbx_sip_ramais
'Ramal'::character varying(100) AS name FROM pbx_sip_ramais
LIMIT 1)
UNION ALL
( SELECT 'filas'::character varying(100) AS value,
'Fila'::character varying(100) AS name
,org_id FROM pbx_queues_grupos
'Fila'::character varying(100) AS name FROM pbx_queues_grupos
WHERE pbx_queues_grupos.status = 'A'::bpchar
LIMIT 1)
UNION ALL
( SELECT 'ura'::character varying(100) AS value,
'URA'::character varying(100) AS name
,org_id FROM pbx_ura
'URA'::character varying(100) AS name FROM pbx_ura
LIMIT 1)
UNION ALL
( SELECT 'voice'::character varying(100) AS value,
'VoiceMail'::character varying(100) AS name
,org_id FROM pbx_voicemail_usuarios
'VoiceMail'::character varying(100) AS name FROM pbx_voicemail_usuarios
LIMIT 1)
UNION ALL
( SELECT 'grupo'::character varying(100) AS value,
'Grupo'::character varying(100) AS name
,org_id FROM pbx_grupo
'Grupo'::character varying(100) AS name FROM pbx_grupo
LIMIT 1)
UNION ALL
( SELECT 'disa'::character varying(100) AS value,
'Disa'::character varying(100) AS name
,org_id FROM pbx_disa
'Disa'::character varying(100) AS name FROM pbx_disa
LIMIT 1)
UNION ALL
( SELECT 'horarios'::character varying(100) AS value,
'Horários'::character varying(100) AS name
,org_id FROM pbx_horarios
'Horários'::character varying(100) AS name FROM pbx_horarios
LIMIT 1)
UNION ALL
( SELECT 'anuncios'::character varying(100) AS value,
'Anúncios'::character varying(100) AS name
,org_id FROM pbx_anuncios
'Anúncios'::character varying(100) AS name FROM pbx_anuncios
LIMIT 1)
UNION ALL
( SELECT 'conferencia'::character varying(100) AS value,
'Conferências'::character varying(100) AS name
,org_id FROM pbx_conferencia
'Conferências'::character varying(100) AS name FROM pbx_conferencia
LIMIT 1)
UNION ALL
( SELECT 'callback'::character varying(100) AS value,
'CallBack'::character varying(100) AS name
,org_id FROM pbx_callback
'CallBack'::character varying(100) AS name FROM pbx_callback
LIMIT 1)
UNION ALL
( SELECT 'rotaInterna'::character varying(100) AS value,
'Rotas Internas'::character varying(100) AS name
,org_id FROM pbx_rotas_saida
'Rotas Internas'::character varying(100) AS name FROM pbx_rotas_saida
WHERE pbx_rotas_saida.tipo::text = 'I'::text
LIMIT 1)
UNION ALL
( SELECT 'repetir'::character varying(100) AS value,
'Repetir'::character varying(100) AS name
,org_id FROM pbx_rotas_saida
'Repetir'::character varying(100) AS name FROM pbx_rotas_saida
LIMIT 1)
UNION ALL
( SELECT 'desligar'::character varying(100) AS value,
'Desligar'::character varying(100) AS name
,org_id FROM pbx_rotas_saida
'Desligar'::character varying(100) AS name FROM pbx_rotas_saida
LIMIT 1)
UNION ALL
( SELECT 'integativa'::character varying(100) AS value,
'Integração Ativa'::character varying(100) AS name
,a.org_id FROM pbx_integracao_configuracao a,
'Integração Ativa'::character varying(100) AS name FROM pbx_integracao_configuracao a,
pbx_integracao_metodo b
WHERE b.itgc_id = a.itgc_id
LIMIT 1);

4
supervisor.php

@ -380,7 +380,7 @@ function GetDadosAgt($dac)
function GetQueryDac()
{
$idUser = GetIdUser();
$org_id = $_SESSION['SSEmpresaPadrao'];
$org_id = GetOrganizacao();
$dacsAcesso = GetDacsAcesso($idUser);
$query = "SELECT DISTINCT coalesce(sel, 0) AS sel,
@ -461,7 +461,7 @@ function GetQueryDac()
function GetDacsAcesso($idUser, $array = false)
{
global $dbcon;
$org_id = $_SESSION['SSEmpresaPadrao'];
$org_id = GetOrganizacao();
$query = "SELECT DISTINCT b.nome
FROM pbx_queues_grupos b

Loading…
Cancel
Save