Browse Source

atualização do sistema

master
root 2 years ago
parent
commit
64fc3e8e4c
  1. 52
      admin/CadContexto.php
  2. 20
      admin/CadDepartamentos.php
  3. 18
      admin/CadEmpresas.php
  4. 24
      admin/CadGruposAtendimento.php
  5. 20
      admin/CadListaNegra.php
  6. 36
      admin/CadRotasEntrada.php
  7. 26
      admin/CadRotasSaida.php
  8. 68
      admin/CadUsuario.php
  9. 18
      admin/GruposAtendimento.php
  10. 87
      admin/anuncios.php
  11. 30
      admin/cadAnuncios.php
  12. 36
      admin/cadCallBack.php
  13. 34
      admin/cadDisa.php
  14. 30
      admin/cadListaReproducao.php
  15. 9
      admin/cadMgrupos.php
  16. 122
      admin/cadQgrupos.php
  17. 50
      admin/cadTroncosIAX.php
  18. 24
      admin/cadTroncosKhomp.php
  19. 68
      admin/cadTroncosSIP.php
  20. 44
      admin/cadUra.php
  21. 325
      admin/cadVoiceUsuarios.php
  22. 4
      admin/callback.php
  23. 5
      admin/disa.php
  24. 30
      admin/lista_negra.php
  25. 22
      admin/musicas.php
  26. 12
      admin/queues.php
  27. 20
      admin/rotasEntrada.php
  28. 26
      admin/troncosIAX.php
  29. 1
      agente/agentert.php
  30. 2
      agente/funcoesAgente.php
  31. 8
      asterisk/var_lib_asterisk/scripts/abandonadas/retornoAbandonada.php
  32. 14
      asterisk/var_lib_asterisk/scripts/callcenter/atualizar-agente.php
  33. 11
      asterisk/var_lib_asterisk/scripts/callcenter/inserir-agente.php
  34. 46
      asterisk/var_lib_asterisk/scripts/cnvrtd/cnvrtAudio.php
  35. 1
      asterisk/var_lib_asterisk/scripts/cnvrtd/cnvrtd.php
  36. 6
      asterisk/var_lib_asterisk/scripts/supervisor/ssupervisor.php
  37. 2
      cadastros/classificaAtendimento/classificaDetIns.php
  38. 1
      cadastros/classificaAtendimento/classificaDetUpd.php
  39. 1
      cadastros/classificaAtendimento/classificaIns.php
  40. 1
      cadastros/classificaAtendimento/classificaUpd.php
  41. 2
      cadastros/cliente/contribSelect.php
  42. 5
      cadastros/motivosPausa/motivosPausaInsert.php
  43. 3
      cadastros/motivosPausa/motivosPausaUpdate.php
  44. 7
      cadastros/prevenda/listacampanhacliente.php
  45. 2
      cadastros/ramais/cadGrupoRamais.php
  46. 143
      compara/atual.php
  47. 4
      contacteFunc.php
  48. 5
      doc/correcoes-1711.txt
  49. 2
      doc/funcoes-internas.sql
  50. BIN
      imgSite/pglast.png
  51. BIN
      imgSite/pgnext.png
  52. 3
      include/bd.php
  53. 83
      include/configBd.php
  54. 76
      include/util/Crypt.php
  55. 2
      include/util/Pid.php
  56. 50
      include/util/funcoesApl.php
  57. 18
      include/util/util.php
  58. 1
      integracao/media/.gitignore
  59. 2
      integracao/media/Dockerfile
  60. 4
      integracao/media/app/Controllers/AgentController.php
  61. 4
      integracao/media/app/Controllers/QueueController.php
  62. 7
      integracao/media/app/Controllers/SystemMessageController.php
  63. 7
      integracao/media/app/Core/Commands.php
  64. 49
      integracao/media/app/Core/CoreMedia.php
  65. 4
      integracao/media/app/Interfaces/IApiMedia.php
  66. 83
      integracao/media/app/Middleware/ApiAgente.php
  67. 39
      integracao/media/app/Middleware/ApiInfo.php
  68. 67
      integracao/media/app/Middleware/ApiSupervisor.php
  69. 35
      integracao/media/app/Middleware/Middleware.php
  70. 4
      integracao/media/app/Models/Message.php
  71. 131
      integracao/media/app/Models/SupervisorModel.php
  72. 18
      integracao/media/app/Models/SystemMessage.php
  73. 231
      integracao/media/app/Providers/ApiTwilio.php
  74. 64
      integracao/media/app/Providers/Positus.php
  75. 1
      integracao/media/app/Providers/RequestURL.php
  76. 25
      integracao/media/app/Providers/Requests.php
  77. 14
      integracao/media/app/Providers/WebHeader.php
  78. 9
      integracao/media/app/Providers/whatsapp.php
  79. 2
      integracao/media/bd
  80. 100
      integracao/media/client.php
  81. 3
      integracao/media/composer.json
  82. 23
      integracao/media/config/app.php
  83. 58
      integracao/media/config/helpers.php
  84. 2
      integracao/media/config/whatsapp.php
  85. 105
      integracao/media/database/att-v3.sql
  86. 32
      integracao/media/docker/README
  87. 31
      integracao/media/docker/aplicativo/Dockerfile
  88. 16
      integracao/media/docker/asterisk/Dockerfile
  89. 96
      integracao/media/docker/asterisk/build-asterisk.sh
  90. 27
      integracao/media/docker/asterisk/docker-entrypoint.sh
  91. 15
      integracao/media/docker/asterisk/hooks/post_push
  92. 90
      integracao/media/docker/asterisk13/Dockerfile
  93. 35
      integracao/media/docker/docker-compose.yml
  94. 29
      integracao/media/docker/postgresql/Dockerfile
  95. 29
      integracao/media/docker/simplesip/Dockerfile
  96. 4
      integracao/media/index.php
  97. 65
      integracao/media/public/css/styles.css
  98. 2
      integracao/media/public/images/arrow-down.svg
  99. 726
      integracao/media/public/images/community_message.svg
  100. 4
      integracao/media/public/images/cross-circle.svg
  101. Some files were not shown because too many files have changed in this diff Show More

52
admin/CadContexto.php

@ -11,7 +11,7 @@
<script src="admin/js/jquery.validationEngine-en.js" type="text/javascript"></script>
<script src="admin/js/pbxAjax.js" type="text/javascript"></script>
<?
<?php
$acao2 = $_GET["acao2"];
/*
* Parametros necessarios para manter a paginação.
@ -50,7 +50,7 @@
$idContexto = isset($_GET["id"]) ? $_GET["id"] : $_POST["id"];
$nome = RemoveEspaco(trim($_POST["nome"]));
$nome = RemoveEspaco(RemoveAcentos($_POST["nome"], true));
$recorte = isset($_POST["recorte"]) ? trim($_POST["recorte"]) : "";
$acrescenta = isset($_POST["acrescenta"]) ? trim($_POST["acrescenta"]) : "";
$opcao = trim($_POST["opcao"]);
@ -593,11 +593,11 @@
</head>
<body>
<form name="form1" method="post" onsubmit="return Verify();" action="index.php?idProg=11027&pbxRequest=1&acao=<? echo $acao; ?>&acao2=salva<? echo $param; ?>" id="form1">
<form name="form1" method="post" onsubmit="return Verify();" action="index.php?idProg=11027&pbxRequest=1&acao=<?php echo $acao; ?>&acao2=salva<? echo $param; ?>" id="form1">
<table border="0" align="center" cellpadding="3" cellspacing="0" class="tabela">
<tr bordercolor="#EAEAEA" bgcolor="#EAEAEA" class="labels" background="img/button03.gif">
<td class="cabecalho"><div align="center">CADASTRO DE CONTEXTOS
<input name="id" type="hidden" id="id2" value="<? echo $idContexto; ?>" />
<input name="id" type="hidden" id="id2" value="<?php echo $idContexto; ?>" />
</div></td>
</tr>
@ -610,22 +610,22 @@
<td width="50%">
<fieldset>
<legend class="labels">Nome:</legend>
<input name="nome" type="text" class="caixas" id="nome" value="<? echo $nome; ?>" size="30" maxlength="50" <?
<input name="nome" type="text" class="caixas" id="nome" value="<?php echo $nome; ?>" size="30" maxlength="50" <?php
if ($acao == 'edita') {
echo "readonly";
}
?> onchange="RemoveSpace(this.name)"/>
<input name="acao" type="hidden" id="acao" value="<? echo $acao; ?>"></fieldset>
<input name="acao" type="hidden" id="acao" value="<?php echo $acao; ?>"></fieldset>
</td>
<td>
<fieldset>
<legend class="labels">Inclui Padr&atilde;o :</legend>
Sim <input name="inclui_padrao" type="radio" value="S" <?
Sim <input name="inclui_padrao" type="radio" value="S" <?php
if ($inclui_padrao == 'S') {
echo "checked";
}
?>/>
N&atilde;o <input name="inclui_padrao" type="radio" value="N" <?
N&atilde;o <input name="inclui_padrao" type="radio" value="N" <?php
if (!$inclui_padrao || ($inclui_padrao == 'N')) {
echo "checked";
}
@ -635,12 +635,12 @@
<td>
<fieldset>
<legend class="labels">Tipo Chamada:</legend>
Entrada <input name="direcao_chamada" type="radio" value="E" <?
Entrada <input name="direcao_chamada" type="radio" value="E" <?php
if ((!$direcao_chamada) || ($direcao_chamada == 'E')) {
echo "checked";
}
?>/>
Saída <input name="direcao_chamada" type="radio" value="S" <?
Saída <input name="direcao_chamada" type="radio" value="S" <?php
if ($direcao_chamada == 'S') {
echo "checked";
}
@ -670,8 +670,8 @@
<td align="left">Portabilidade</td>
</tr>
<tr>
<td><input name="recorte" type="text" class="validate[optional,custom[onlyNumber]] caixas" id="recorte_prefixo" value="<? echo $recorte; ?>" size="6" maxlength="10" /></td>
<td><input name="acrescenta" type="text" class="validate[optional,custom[onlyNumber]] caixas" id="acrescenta" value="<? echo $acrescenta; ?>" size="6" maxlength="10" /></td>
<td><input name="recorte" type="text" class="validate[optional,custom[onlyNumber]] caixas" id="recorte_prefixo" value="<?php echo $recorte; ?>" size="6" maxlength="10" /></td>
<td><input name="acrescenta" type="text" class="validate[optional,custom[onlyNumber]] caixas" id="acrescenta" value="<?php echo $acrescenta; ?>" size="6" maxlength="10" /></td>
<td nowrap="nowrap">Sim
<input name="portabilidade" type="radio" id="portabilidade" value="1" />
N&atilde;o
@ -703,16 +703,16 @@
<td align="left">Portabilidade</td>
</tr>
<tr>
<td><input name="recorte2" type="text" class="validate[optional,custom[onlyNumber]] caixas" id="recorte" value="<? echo $recorte2; ?>" size="6" maxlength="10" disabled="disabled" /></td>
<td><input name="acrescenta2" type="text" class="validate[optional,custom[onlyNumber]] caixas" id="acrescenta2" value="<? echo $acrescenta2; ?>" size="6" maxlength="10" disabled="disabled" /></td>
<td><input name="recorte2" type="text" class="validate[optional,custom[onlyNumber]] caixas" id="recorte" value="<?php echo $recorte2; ?>" size="6" maxlength="10" disabled="disabled" /></td>
<td><input name="acrescenta2" type="text" class="validate[optional,custom[onlyNumber]] caixas" id="acrescenta2" value="<?php echo $acrescenta2; ?>" size="6" maxlength="10" disabled="disabled" /></td>
<td nowrap="nowrap">Sim
<input name="portabilidade2" type="radio" id="portabilidade2" value="1" <?
<input name="portabilidade2" type="radio" id="portabilidade2" value="1" <?php
if ($portabilidade2) {
echo "checked";
}
?> disabled="disabled"/>
N&atilde;o
<input name="portabilidade2" type="radio" id="portabilidade2" value="0" <?
<input name="portabilidade2" type="radio" id="portabilidade2" value="0" <?php
if (!$portabilidade2) {
echo "checked";
}
@ -724,7 +724,7 @@
</tr>
<tr>
<td colspan="3" align="center"><select name="relacao" size="5" class="caixas" id="relacao" onchange="submit();">
<?
<?php
echo $modelosSelecionados;
?>
</select></td>
@ -747,7 +747,7 @@
<tr>
<td width="45%"><div align="center">
<select name="disponiveis" size="5" class="caixas" id="disponiveis">
<?
<?php
echo $troncosDisponiveis;
?>
</select>
@ -761,7 +761,7 @@
</div></td>
<td width="47%"><div align="center">
<select name="ramais" size="5" class="validate[optional] caixas" id="ramais">
<?
<?php
echo $troncosSelecionados;
?>
</select>
@ -788,9 +788,9 @@
<td width="45%"><div align="center">
<table width="100%" border="0" cellspacing="0" cellpadding="3">
<tr>
<td><select name="opcao" class="validate[optional] caixas" id="opcao" onChange="ajaxComboBox('admin/popula.php?id=<? echo $acao_opcao; ?>', 'acao_opcao', 'opcao', '<? echo $acao_opcao; ?>');">
<td><select name="opcao" class="validate[optional] caixas" id="opcao" onChange="ajaxComboBox('admin/popula.php?id=<?php echo $acao_opcao; ?>', 'acao_opcao', 'opcao', '<?php echo $acao_opcao; ?>');">
<?
<?php
include_once("admin/opcoes.php");
echo _GetOpcoes($dbcon, $opcao);
?>
@ -811,12 +811,12 @@
</div></td>
<td width="47%"><div align="center"> <table width="100%" border="0" cellspacing="0" cellpadding="3">
<tr>
<td><input name="opcao_modelo" type="text" id="opcao_modelo" value="<? echo $opcao_modelo; ?>" readonly="readonly" />
<td><input name="opcao_modelo" type="text" id="opcao_modelo" value="<?php echo $opcao_modelo; ?>" readonly="readonly" />
<input name="opcValue" type="hidden" id="opcValue" />
<input name="opcaoText" type="hidden" id="opcaoText" /></td>
</tr>
<tr>
<td><input name="acao_modelo" type="text" id="acao_modelo" value="<? echo $acao_modelo; ?>" readonly="readonly">
<td><input name="acao_modelo" type="text" id="acao_modelo" value="<?php echo $acao_modelo; ?>" readonly="readonly">
<input name="acaoValue" type="hidden" id="acaoValue" />
<input name="acaoText" type="hidden" id="acaoText" /></td>
</tr>
@ -834,14 +834,14 @@
</table>
</form>
<?
<?php
if ($acao == 'edita' || $acao == 'inseri') {
?>
<script type="text/javascript">
ajaxComboBox('admin/popula.php?id=<? echo $acao_opcao; ?>', 'acao_opcao', 'opcao', '<? echo $acao_opcao; ?>');
ajaxComboBox('admin/popula.php?id=<?php echo $acao_opcao; ?>', 'acao_opcao', 'opcao', '<?php echo $acao_opcao; ?>');
</script>
<?
<?php
}
if (count($mensagems)) {

20
admin/CadDepartamentos.php

@ -1,4 +1,4 @@
<? session_start(); ?>
<?php session_start(); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
@ -31,7 +31,7 @@
-->
</style></head>
<body>
<?
<?php
$acao = $_GET["acao"];
$acao2 = $_GET["acao2"];
/*
@ -41,7 +41,7 @@
if ($acao2 == "salva") {
$id = $_POST["id"];
$nome_depto = trim($_POST["nome_depto"]);
$nome_depto = RemoveAcentos($_POST["nome_depto"], true);
$empresa = trim($_POST["empresa"]);
if ($acao == "inseri") {
@ -90,12 +90,12 @@
$empresa = $dados["empresa"];
?>
<form name="form1" method="post" action="index.php?idProg=11025&pbxRequest=1&acao=<? echo $acao; ?>&acao2=salva<? echo $param; ?>" id="form1">
<form name="form1" method="post" action="index.php?idProg=11025&pbxRequest=1&acao=<?php echo $acao; ?>&acao2=salva<?php echo $param; ?>" id="form1">
<table border="1" align="center" cellpadding="0" cellspacing="0" class="tabela">
<tr bordercolor="#EAEAEA" bgcolor="#EAEAEA" class="cabecalho">
<td><div align="center">CADASTRO DE DEPARTAMENTOS
<input name="id" type="hidden" id="id2" value="<?
<input name="id" type="hidden" id="id2" value="<?php
if (($acao == 'edita') || !$result) {
echo $id;
}
@ -105,7 +105,7 @@
<tr bordercolor="#EAEAEA" bgcolor="#EAEAEA">
<td class="labels"><fieldset>
<legend class="labels">Nome do Departamento:</legend>
<input name="nome_depto" type="text"class="validate[required,length[0,100]] caixas" id="nome_depto2" value="<?
<input name="nome_depto" type="text"class="validate[required,length[0,100]] caixas" id="nome_depto2" value="<?php
if (($acao == 'edita') || !$result) {
echo $nome_depto;
}
@ -115,19 +115,19 @@
<tr bordercolor="#EAEAEA" bgcolor="#EAEAEA">
<td class="labels"><fieldset>
<legend class="labels">Empresa:</legend><select name="empresa" class="caixas" id="empresa">
<?
<?php
$query2 = "SELECT * FROM pbx_empresa order by id asc";
$result2 = pg_query($dbcon, $query2);
while ($dados2 = pg_fetch_array($result2)) {
?>
<option value="<? echo $dados2['id']; ?>" <?
<option value="<?php echo $dados2['id']; ?>" <?php
if (($acao == 'edita') || !$result) {
if ($empresa == $dados2['id']) {
echo "selected";
}
}
?>><? echo $dados2['nome']; ?></option>
<? } ?>
?>><?php echo $dados2['nome']; ?></option>
<?php } ?>
</select>
</fieldset></td>
</tr>

18
admin/CadEmpresas.php

@ -31,7 +31,7 @@
</style></head>
<body>
<?
<?php
$acao = $_GET["acao"];
$acao2 = $_GET["acao2"];
/*
@ -41,9 +41,9 @@
if ($acao2 == "salva") {
$result = 0;
$id = $_POST["id"];
$nome = trim($_POST["nome"]);
$razao_social = trim($_POST["razao_social"]);
$endereco_site = trim($_POST["endereco_site"]);
$nome = RemoveAcentos($_POST["nome"], true);
$razao_social = RemoveAcentos($_POST["razao_social"], true);
$endereco_site = strtolower(RemoveAcentos($_POST["endereco_site"]));
$origem = GetServerName();
$query = '';
$msgErro = '';
@ -115,11 +115,11 @@
$endereco_site = $dados["endereco_site"];
?>
<form name="form1" method="post" action="index.php?idProg=11024&pbxRequest=1&acao=<? echo $acao; ?>&acao2=salva<? echo $param; ?>" id="form1">
<form name="form1" method="post" action="index.php?idProg=11024&pbxRequest=1&acao=<?php echo $acao; ?>&acao2=salva<?php echo $param; ?>" id="form1">
<table border="1" align="center" cellpadding="0" cellspacing="0" class="tabela">
<tr bordercolor="#EAEAEA" class="cabecalho">
<td colspan="4"><div align="center">CADASTRO DE EMPRESAS
<input name="id" type="hidden" id="id" value="<?
<input name="id" type="hidden" id="id" value="<?php
if (($acao == 'edita') || !$result) {
echo $id;
}
@ -131,7 +131,7 @@
<tr>
<td><fieldset>
<legend class="labels"><span class="style5">Nome:</span></legend>
<input name="nome" type="text" class="validate[required,length[0,100]] caixas" id="nome2" value="<?
<input name="nome" type="text" class="validate[required,length[0,100]] caixas" id="nome2" value="<?php
if (($acao == 'edita') || !$result) {
echo $nome;
}
@ -145,7 +145,7 @@
<tr>
<td width="50%"><fieldset>
<legend class="labels"><span class="style5">Raz&atilde;o Social:</span></legend>
<input name="razao_social" type="text" class="validate[required,length[0,100]] caixas" id="razao_social2" value="<?
<input name="razao_social" type="text" class="validate[required,length[0,100]] caixas" id="razao_social2" value="<?php
if (($acao == 'edita') || !$result) {
echo $razao_social;
} else {
@ -155,7 +155,7 @@
</fieldset></td>
<td width="50%"><fieldset>
<legend class="labels"><span class="style5">Endere&ccedil;o Site:</span></legend>
<input name="endereco_site" type="text" class="validate[optional,length[0,100]] caixas" id="endereco_site2" value="<?
<input name="endereco_site" type="text" class="validate[optional,length[0,100]] caixas" id="endereco_site2" value="<?php
if (($acao == 'edita') || !$result) {
echo $endereco_site;
} else {

24
admin/CadGruposAtendimento.php

@ -93,7 +93,7 @@
</style></head>
<body>
<?
<?php
$acao = $_GET["acao"];
$acao2 = $_GET["acao2"];
/*
@ -103,7 +103,7 @@
if ($acao2 == "salva") {
$id = $_POST["id"];
$nome = trim($_POST["nome"]);
$nome = RemoveAcentos($_POST["nome"], true);
$numero = 0;
if ($acao == "edita") {
$query = "select nome from pbx_grupos_atendimento where nome='$nome' and id <> $id";
@ -127,7 +127,7 @@
if (!empty($msg)) {
echo "<script>
alert(<? echo $msg;?>);
alert({$msg};);
history.back();
</script>";
} else {
@ -326,11 +326,11 @@
}
?>
<form name="form1" method="post" action="index.php?idProg=11030&pbxRequest=1&acao=<? echo $acao; ?>&acao2=salva<? echo $param; ?>" id="form1">
<form name="form1" method="post" action="index.php?idProg=11030&pbxRequest=1&acao=<?php echo $acao; ?>&acao2=salva<?php echo $param; ?>" id="form1">
<table border="1" align="center" cellpadding="0" cellspacing="0" class="tabela">
<tr bordercolor="#EAEAEA" class="cabecalho">
<td><div align="center">CADASTRO DE GRUPOS DE CAPTURA
<input name="id" type="hidden" id="id" value="<?
<input name="id" type="hidden" id="id" value="<?php
if ($acao == 'edita') {
echo $id;
}
@ -342,7 +342,7 @@
<tr>
<td><fieldset>
<legend class="labels"><span class="style5">Nome:</span></legend>
<input name="nome" type="text" class="validate[required,length[0,100]] caixas" id="nome2" value="<?
<input name="nome" type="text" class="validate[required,length[0,100]] caixas" id="nome2" value="<?php
if ($acao == 'edita') {
echo $nome;
}
@ -363,7 +363,7 @@
<tr>
<td width="45%"><div align="center">
<select name="disponiveis[]" size="10" multiple="multiple" class="caixas" id="disponiveis">
<?
<?php
if ($acao == 'edita') {
$query2 = "select id, nome from pbx_ramais where tipo_ramal not in('IAX', 'PBX') and nome not in (select ramal from pbx_grupos_atendimento_ramais where id_grupo=$id)
order by nome asc";
@ -374,8 +374,8 @@
$result2 = pg_query($dbcon, $query2);
while ($dados2 = pg_fetch_array($result2)) {
?>
<option value="<? echo $dados2['nome'] ?>"><? echo $dados2['nome']; ?></option>
<? } ?>
<option value="<?php echo $dados2['nome'] ?>"><?php echo $dados2['nome']; ?></option>
<?php } ?>
</select>
</div></td>
<td width="10%"><div align="center"> <br />
@ -388,15 +388,15 @@
</div></td>
<td width="45%"><div align="center">
<select name="ramais[]" size="10" multiple="multiple" class="validate[required] caixas" id="ramais">
<?
<?php
$query2 = "SELECT * from pbx_grupos_atendimento_ramais
where id_grupo = $id";
$result2 = pg_query($dbcon, $query2);
$ramaisInc = array();
while ($dados2 = pg_fetch_array($result2)) {
?>
<option value="<? echo $dados2['ramal'] ?>"><? echo $dados2['ramal']; ?></option>
<?
<option value="<?php echo $dados2['ramal'] ?>"><?php echo $dados2['ramal']; ?></option>
<?php
if (!isset($_POST['Submit'])) {
$ramaisInc[] = $dados2['ramal'];
}

20
admin/CadListaNegra.php

@ -49,7 +49,7 @@
if ($acao2 == "salva") {
$id = $_POST["id"];
$nome = trim($_POST["nome"]);
$nome = RemoveAcentos($_POST["nome"], true);
$entrada = '0';
$saida = '0';
$acao_ = trim($_POST["acao_"]);
@ -122,17 +122,17 @@
}
?>
<br />
<form action="index.php?idProg=11029&pbxRequest=1&acao=<? echo $acao; ?>&acao2=salva<?php echo $param ?>" method="post" name="form1" id="form1">
<form action="index.php?idProg=11029&pbxRequest=1&acao=<?php echo $acao; ?>&acao2=salva<?php echo $param ?>" method="post" name="form1" id="form1">
<table border="1" align="center" cellpadding="0" cellspacing="0" class="tabela">
<tr class="cabecalho">
<td class="cabecalho">
<div align="center">CADASTRO DE LISTA NEGRA
<input name="id" type="hidden" id="id4" value="<?
<input name="id" type="hidden" id="id4" value="<?php
if ($acao == 'edita') {
echo $id;
}
?>" />
<input name="acao_2" type="hidden" id="acao_2" value="<?
<input name="acao_2" type="hidden" id="acao_2" value="<?php
if ($acao == 'edita') {
echo $acao;
}
@ -148,7 +148,7 @@
<div align="left">
<fieldset>
<legend class="labels">Nome:</legend>
<input name="nome" type="text" class="validate[required,length[0,100]] caixas" id="nome" value="<? echo $nome; ?>" size="60" />
<input name="nome" type="text" class="validate[required,length[0,100]] caixas" id="nome" value="<?php echo $nome; ?>" size="60" />
</fieldset>
</div>
</td>
@ -156,7 +156,7 @@
<div align="left">
<fieldset>
<legend class="labels">N&uacute;mero:</legend>
<input name="numero" type="text" class="validate[required,custon[onlyNumber],length[0,100]] caixas"id="numero4" value="<? echo $numero; ?>" size="15" />
<input name="numero" type="text" class="validate[required,custon[onlyNumber],length[0,100]] caixas"id="numero4" value="<?php echo $numero; ?>" size="15" />
</fieldset>
</div>
</td>
@ -183,7 +183,7 @@
<div align="left">
<fieldset>
<legend class="labels">A&ccedil;&atilde;o:</legend>
<select name="opcao" class="validate[optional] caixas" id="opcao" onChange="ajaxComboBox('admin/popula.php?id=<? echo $acao_opcao; ?>', 'acao_', 'opcao', '<? echo $acao_; ?>');">
<select name="opcao" class="validate[optional] caixas" id="opcao" onChange="ajaxComboBox('admin/popula.php?id=<?php echo $acao_opcao; ?>', 'acao_', 'opcao', '<?php echo $acao_; ?>');">
<?php
include_once("admin/opcoes.php");
@ -217,8 +217,8 @@
</table>
</form>
</body>
<? if ($acao == 'edita') { ?>
<?php if ($acao == 'edita') { ?>
<script>
ajaxComboBox('admin/popula.php?id=<? echo $acao_; ?>', 'acao_', 'opcao', '<? echo $acao_; ?>');
ajaxComboBox('admin/popula.php?id=<?php echo $acao_; ?>', 'acao_', 'opcao', '<?php echo $acao_; ?>');
</script>
<? } ?>
<?php } ?>

36
admin/CadRotasEntrada.php

@ -243,7 +243,7 @@
try {
$id = $_POST["id"];
$qtde = $_POST["qtde"];
$nome = LimpaString($_POST["nome"], true);
$nome = RemoveAcentos($_POST["nome"], true);
$identificador = trim($_POST["identificador"]);
$limite_ligacao = trim($_POST["limite_ligacao"]);
$limite_ligacao_pos_opcao = trim($_POST["limite_ligacao_pos_opcao"]);
@ -410,13 +410,13 @@
}
}
?>
<form name="form1" method="post" onsubmit="return Verify();" action="index.php?idProg=11017&pbxRequest=1&acao=<? echo $acao; ?>&acao2=salva<? echo $param; ?>" id="form1">
<form name="form1" method="post" onsubmit="return Verify();" action="index.php?idProg=11017&pbxRequest=1&acao=<?php echo $acao; ?>&acao2=salva<? echo $param; ?>" id="form1">
<table width="99%" border="1" align="center" cellpadding="0" cellspacing="0" >
<tr bordercolor="#EAEAEA" bgcolor="#EAEAEA" class="labels" background="img/button03.gif">
<td width="263" colspan="4" class="cabecalho"><div align="center">CADASTRO DE ROTAS DE ENTRADA</div></td>
</tr>
<? if ($acao == 'inseri') { ?>
<? } ?>
<?php if ($acao == 'inseri') { ?>
<?php } ?>
<tr bordercolor="#EAEAEA" bgcolor="#EAEAEA">
<td colspan="4" bgcolor="#EAEAEA" class="labels">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
@ -424,12 +424,12 @@
<td width="45%">
<fieldset>
<legend class="labels">Nome:</legend>
<input name="nome" type="text" class="validate[required,length[0,100]] caixas" id="nome" value="<?
<input name="nome" type="text" class="validate[required,length[0,100]] caixas" id="nome" value="<?php
if (($acao == 'edita') || $errosApl) {
echo $nome;
}
?>" size="20" maxlength="50" onchange="javascript:document.form1.callerid.value = this.value;" />
<input name="id" type="hidden" id="id" value="<?
<input name="id" type="hidden" id="id" value="<?php
if (($acao == 'edita') || $errosApl) {
echo $id;
}
@ -445,7 +445,7 @@
<td width="25%">
<fieldset>
<legend class="labels">Identificador:</legend>
<input name="identificador" type="text" class="validate[length[0,100]] caixas" id="identificador" value="<?
<input name="identificador" type="text" class="validate[length[0,100]] caixas" id="identificador" value="<?php
if (($acao == 'edita') || $errosApl) {
echo $identificador;
}
@ -570,7 +570,7 @@
Bloquear chamada a cobrar</td>
</tr>
<tr>
<td><input name="modelosRef" type="hidden" id="modelosRef" value="<? echo $modelosRef; ?>"/></td>
<td><input name="modelosRef" type="hidden" id="modelosRef" value="<?php echo $modelosRef; ?>"/></td>
</tr>
</table>
</td>
@ -601,8 +601,8 @@
$result2 = pg_query($dbcon, $query2);
while ($dados2 = pg_fetch_array($result2)) {
?>
<option value="<? echo $dados2['id'] . '/' . $dados2['tipo']; ?>"><? echo $dados2['nome']; ?></option>
<? } ?>
<option value="<?php echo $dados2['id'] . '/' . $dados2['tipo']; ?>"><?php echo $dados2['nome']; ?></option>
<?php } ?>
</select>
</div></td>
@ -629,9 +629,9 @@
$result2 = pg_query($dbcon, $query2);
while ($dados2 = pg_fetch_array($result2)) {
?>
<option value="<? echo $dados2['id'] . '/' . $dados2['tipo']; ?>"><? echo $dados2['nome']; ?></option>
<option value="<?php echo $dados2['id'] . '/' . $dados2['tipo']; ?>"><?php echo $dados2['nome']; ?></option>
<? } ?>
<?php } ?>
</select>
</div></td>
</tr>
@ -640,9 +640,9 @@
<tr>
<td><fieldset>
<legend class="labels">A&ccedil;&atilde;o:</legend>
<select name="opcao" class="caixas" id="opcao" onchange="ajaxComboBox('admin/popula.php?id=<? echo $acao_opcao; ?>', 'acao_opcao', 'opcao', '<? echo $acao_opcao; ?>');">
<select name="opcao" class="caixas" id="opcao" onchange="ajaxComboBox('admin/popula.php?id=<?php echo $acao_opcao; ?>', 'acao_opcao', 'opcao', '<?php echo $acao_opcao; ?>');">
<?
<?php
include_once("admin/opcoes.php");
echo _GetOpcoes($dbcon, $opcao);
?>
@ -673,12 +673,12 @@
});
});
</script>
<? if (($acao == 'edita') || $errosApl) { ?>
<?php if (($acao == 'edita') || $errosApl) { ?>
<script>
ajaxComboBox('admin/popula.php?id=<? echo $acao_opcao; ?>', 'acao_opcao', 'opcao', '<? echo $acao_; ?>');
ajaxComboBox4('admin/popula.php?id=<? echo $limite_ligacao_pos_acao; ?>', 'limite_ligacao_pos_acao', 'limite_ligacao_pos_opcao', '<? echo $limite_ligacao_pos_acao; ?>');
ajaxComboBox('admin/popula.php?id=<?php echo $acao_opcao; ?>', 'acao_opcao', 'opcao', '<?php echo $acao_; ?>');
ajaxComboBox4('admin/popula.php?id=<?php echo $limite_ligacao_pos_acao; ?>', 'limite_ligacao_pos_acao', 'limite_ligacao_pos_opcao', '<?php echo $limite_ligacao_pos_acao; ?>');
</script>
<? } ?>
<?php } ?>
</body>
</html>

26
admin/CadRotasSaida.php

@ -270,7 +270,7 @@
$ramaisRota = $_POST['tipoRamal'];
$id = $_POST["id"];
LimpaString($str);
$nome = LimpaString($_POST["nome"], true);
$nome = RemoveAcentos($_POST["nome"], true);
$musica_espera = 'N'; //trim($_POST["musica_espera"]);
$musica = ''; //trim($_POST["musica"]);
$tipo = trim($_POST["tipo"]);
@ -444,9 +444,9 @@
}
}
?>
<form name="form1" method="post" action="index.php?idProg=11018&pbxRequest=1&acao=<? echo $acao; ?>&acao2=salva<? echo $param; ?>" id="form1">
<input type="hidden" value="<? echo $acao; ?>" name="acaoFiltro">
<input type="hidden" value="<? echo $id; ?>" name="idFiltro">
<form name="form1" method="post" action="index.php?idProg=11018&pbxRequest=1&acao=<?php echo $acao; ?>&acao2=salva<? echo $param; ?>" id="form1">
<input type="hidden" value="<?php echo $acao; ?>" name="acaoFiltro">
<input type="hidden" value="<?php echo $id; ?>" name="idFiltro">
<table width="483" border="1" align="center" cellpadding="0" cellspacing="0" class="tabela" style="width:99%">
<tr bordercolor="#EAEAEA" bgcolor="#EAEAEA" class="labels" background="img/button03.gif">
<td width="479" class="cabecalho">
@ -468,7 +468,7 @@
<td>
<fieldset>
<legend class="labels">Nome:</legend>
<input name="nome" type="text" class="validate[required,length[0,100]] caixas" id="nome3" value="<?
<input name="nome" type="text" class="validate[required,length[0,100]] caixas" id="nome3" value="<?php
if ($acao == 'edita') {
echo $nome;
}
@ -520,7 +520,7 @@
<td width="33%">
<fieldset>
<legend class="labels">Recortar:</legend>
<input name="recorte" type="text" class="validate[optional,custom[onlyNumber]] caixas" id="recorte_prefixo" value="<?
<input name="recorte" type="text" class="validate[optional,custom[onlyNumber]] caixas" id="recorte_prefixo" value="<?php
if ($acao == 'edita') {
echo $recorte;
} else {
@ -532,7 +532,7 @@
<td width="33%">
<fieldset>
<legend class="labels">Acrescentar:</legend>
<input name="acrescenta" type="text" class="validate[optional] caixas" id="acrescenta" value="<?
<input name="acrescenta" type="text" class="validate[optional] caixas" id="acrescenta" value="<?php
if ($acao == 'edita') {
echo $acrescenta;
} else {
@ -600,8 +600,8 @@
$result2 = pg_query($dbcon, $query2);
while ($dados2 = pg_fetch_array($result2)) {
?>
<option value="<? echo $dados2['modelo'] ?>" selected="selected"><? echo $dados2['modelo'] ?></option>
<?
<option value="<?php echo $dados2['modelo'] ?>" selected="selected"><?php echo $dados2['modelo'] ?></option>
<?php
}
}
?>
@ -656,7 +656,7 @@
while ($dados2 = pg_fetch_array($result2)) {
?>
<option value="<? echo sprintf("%s;0; ", $dados2['nome']); ?>"><? echo $dados2['nome']; ?></option>
<option value="<?php echo sprintf("%s;0; ", $dados2['nome']); ?>"><?php echo $dados2['nome']; ?></option>
<?php } ?>
</select>
</div>
@ -679,8 +679,8 @@
$result2 = pg_query($dbcon, $query2);
while ($dados2 = pg_fetch_array($result2)) {
?>
<option value="<? echo sprintf("%s;%s;%s", $dados2['nome'], $dados2['recorta'], $dados2['acrescenta']); ?>"><? echo $dados2['nome']; ?></option>
<? } ?>
<option value="<?php echo sprintf("%s;%s;%s", $dados2['nome'], $dados2['recorta'], $dados2['acrescenta']); ?>"><?php echo $dados2['nome']; ?></option>
<?php } ?>
</select>
</div>
</td>
@ -904,7 +904,7 @@
<?php if ($acao == 'edita') { ?>
<script>
DesabilitaRotas();
ajaxComboBox('admin/popula.php?id=<? echo $acao_opcao; ?>', 'acao_opcao', 'opcao', '<? echo $acao_; ?>');
ajaxComboBox('admin/popula.php?id=<?php echo $acao_opcao; ?>', 'acao_opcao', 'opcao', '<?php echo $acao_; ?>');
</script>
<?php } ?>

68
admin/CadUsuario.php

@ -115,8 +115,8 @@
$id = $_POST["id"];
$ativaUsuario = $_POST['ativaUsuario'] == 1 ? "A" : "D";
$nome = $_POST["nome"];
$apelido = $_POST["apelido"];
$nome = RemoveAcentos($_POST["nome"], true);
$apelido = strtolower(RemoveAcentos($_POST["apelido"]));
$empresa = $_POST["empresa"];
$departamento = $_POST["departamento"];
$matricula = str_pad($_POST["matricula"], GetQtdeDigitoConta(), '0', STR_PAD_LEFT);
@ -310,19 +310,19 @@
$habilita_prepago = !HabilitaPrepago() ? '0' : $dados["habilita_prepago"];
?>
<form name="form1" method="post" action="index.php?idProg=11028&pbxRequest=1&acao=<? echo $acao; ?>&acao2=salva<? echo $param; ?>" id="form1">
<form name="form1" method="post" action="index.php?idProg=11028&pbxRequest=1&acao=<?php echo $acao; ?>&acao2=salva<? echo $param; ?>" id="form1">
<br />
<br>
<table border="1" align="center" cellpadding="0" cellspacing="0" bordercolor="#EAEAEA" class="tabela">
<tr bordercolor="#EAEAEA" bgcolor="#EAEAEA" class="cabecalho">
<td>
<div align="center">CADASTRO DE CONTAS
<input name="id" type="hidden" id="id2" value="<?
<input name="id" type="hidden" id="id2" value="<?php
if (($acao == 'edita') || ($numErros)) {
echo $id;
}
?>">
<input name="departamento" type="hidden" class="textbox" id="departamento3" value="<?
<input name="departamento" type="hidden" class="textbox" id="departamento3" value="<?php
if (($acao == 'edita') || ($numErros)) {
echo $departamento;
}
@ -333,14 +333,14 @@
<td class="labels"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr class="labels">
<td width="52%"><fieldset><legend class="labels">Nome:</legend>
<input name="nome" type="text" class="validate[required,length[0,100]] caixas" id="nome" value="<?
<input name="nome" type="text" class="validate[required,length[0,100]] caixas" id="nome" value="<?php
if (($acao == 'edita') || ($numErros)) {
echo $nome;
}
?>" size="50" maxlength="100" />
</fieldset></td>
<td width="27%"><fieldset><legend class="labels">Apelido:</legend>
<input name="apelido" type="text" class="validate[optional,length[0,100]] caixas" id="apelido3" value="<?
<input name="apelido" type="text" class="validate[optional,length[0,100]] caixas" id="apelido3" value="<?php
if (($acao == 'edita') || ($numErros)) {
echo $apelido;
}
@ -348,13 +348,13 @@
</fieldset></td>
<td width="21%"><fieldset>
<legend class="labels">Senha:</legend>
<input name="senha" type="password" class="caixas" id="senha2" value="<?
<input name="senha" type="password" class="caixas" id="senha2" value="<?php
if (($acao == 'edita') || ($numErros)) {
echo $senha;
} else {
echo "1234";
}
?>" onkeyup="somenteNumeros(this);" size="20" maxlength="<? echo GetQtdeDigitoSenha(); ?>" />
?>" onkeyup="somenteNumeros(this);" size="20" maxlength="<?php echo GetQtdeDigitoSenha(); ?>" />
</fieldset></td>
</tr>
</table></td>
@ -364,35 +364,35 @@
<tr class="labels">
<td width="22%"><fieldset>
<legend class="labels">Matricula:</legend>
<input name="matricula" type="text" class="validate[required,custom[onlyNumber],length[0,<?php echo $digitosConta; ?>]] caixas" id="matricula" value="<? echo $matricula; ?>" size="15" maxlength="<? echo $digitosConta; ?>" />
<input name="matricula" type="text" class="validate[required,custom[onlyNumber],length[0,<?php echo $digitosConta; ?>]] caixas" id="matricula" value="<?php echo $matricula; ?>" size="15" maxlength="<?php echo $digitosConta; ?>" />
</fieldset></td>
<td width="14%"><fieldset>
<legend class="labels">Empresa:</legend>
<select name="empresa" class="validate[required] caixas" id="empresa" onChange="MM_jumpMenu('deps', this, 0);" onblur="FocusDepto();" >
<option value="">----------</option>
<?
<?php
$query2 = "SELECT * FROM pbx_empresa order by id asc";
$result2 = pg_query($dbcon, $query2);
$z = 1;
while ($dados2 = pg_fetch_array($result2)) {
?>
<option value="<? echo $dados2['id']; ?>" <?
<option value="<?php echo $dados2['id']; ?>" <?php
if ($empresa == trim($dados2['id'])) {
echo " selected";
}
?>><? echo $dados2['nome']; ?></option>
<? } ?>
?>><?php echo $dados2['nome']; ?></option>
<?php } ?>
</select>
</fieldset></td>
<td width="40%">
<fieldset>
<legend class="labels">Departamento:</legend><iframe src="index.php?idProg=11228&pbxRequest=1&id1=<?
<legend class="labels">Departamento:</legend><iframe src="index.php?idProg=11228&pbxRequest=1&id1=<?php
if ($acao == "inseri") {
echo $empresa2;
} else {
echo $empresa;
}
?><?
?><?php
if ($acao == "edita") {
echo "&id2=" . $departamento;
}
@ -403,7 +403,7 @@
<td width="25%">
<fieldset>
<legend class="labels">Ativar Usuário</legend>
<input name="ativaUsuario" type="checkbox" value="1" <?
<input name="ativaUsuario" type="checkbox" value="1" <?php
if ($ativaUsuario == "A" || !$ativaUsuario) {
echo "checked";
}
@ -419,62 +419,62 @@
<input type="checkbox" id="marcaTodos" name="marcaTodos" value="1" onclick="seleciona_tudo(this.checked);"/>
Marcar Todos
</legend>
<span class="labels"><input name="lfixo" type="checkbox" id="lfixo" value="1" <?
<span class="labels"><input name="lfixo" type="checkbox" id="lfixo" value="1" <?php
if ($lfixo == 't') {
echo "checked";
}
?>>
Local Fixo
<input name="lcelular" type="checkbox" id="lcelular" value="1" <?
<input name="lcelular" type="checkbox" id="lcelular" value="1" <?php
if ($lcelular == 't') {
echo "checked";
}
?>>
Local Celular
<input name="ifixo" type="checkbox" id="ifixo" value="1" <?
<input name="ifixo" type="checkbox" id="ifixo" value="1" <?php
if ($ifixo == 't') {
echo "checked";
}
?>>
Interubano Fixo
<input name="icelular" type="checkbox" id="icelular" value="1" <?
<input name="icelular" type="checkbox" id="icelular" value="1" <?php
if ($icelular == 't') {
echo "checked";
}
?>>
Interubano Celular
<input name="internacional" type="checkbox" id="internacional" value="1" <?
<input name="internacional" type="checkbox" id="internacional" value="1" <?php
if ($internacional == 't') {
echo "checked";
}
?>>
Internacional
<input name="l0300" type="checkbox" id="l0300" value="1" <?
<input name="l0300" type="checkbox" id="l0300" value="1" <?php
if ($l0300 == 't') {
echo "checked";
}
?>>
0300
<input name="l0303" type="checkbox" id="l050024" value="1" <?
<input name="l0303" type="checkbox" id="l050024" value="1" <?php
if ($l0303 == 't') {
echo "checked";
}
?> />
0303
<br />
<input name="l0500" type="checkbox" id="l0500" value="1" <?
<input name="l0500" type="checkbox" id="l0500" value="1" <?php
if ($l0500 == 't') {
echo "checked";
}
?>>
0500
<input name="l0800" type="checkbox" id="l0800" value="1" <?
<input name="l0800" type="checkbox" id="l0800" value="1" <?php
if ($l0800 == 't') {
echo "checked";
}
?> />
0800
<input name="l0900" type="checkbox" id="l0900" value="1" <?
<input name="l0900" type="checkbox" id="l0900" value="1" <?php
if ($l0900 == 't') {
echo "checked";
}
@ -489,7 +489,7 @@
<tr class="labels">
<td width="25%"><fieldset>
<legend class="labels">Grava Liga&ccedil;&atilde;o:</legend>
<input name="grava" type="checkbox" id="grava2" value="1" <?
<input name="grava" type="checkbox" id="grava2" value="1" <?php
if ($grava) {
echo "checked";
}
@ -497,7 +497,7 @@
</fieldset></td>
<td width="25%"><fieldset>
<legend class="labels">Temporizador:</legend>
<input name="temporizador" type="text" class="validate[optional,custom[onlyNumber],length[0,100]] caixas" id="temporizador4" value="<?
<input name="temporizador" type="text" class="validate[optional,custom[onlyNumber],length[0,100]] caixas" id="temporizador4" value="<?php
if (($acao == 'edita') || ($numErros)) {
echo $temporizador;
} else {
@ -509,7 +509,7 @@
<td width="25%"><fieldset>
<legend class="labels">Habilita Pré-pago</legend>
<input name="habilita_prepago" type="radio" value="1" <?
<input name="habilita_prepago" type="radio" value="1" <?php
if (!HabilitaPrepago())
echo 'disabled="disabled"';
if ($acao == 'edita') {
@ -518,7 +518,7 @@
}
}
?> />Sim
<input name="habilita_prepago" type="radio" value="0" <?
<input name="habilita_prepago" type="radio" value="0" <?php
if (!HabilitaPrepago())
echo 'disabled="disabled"';
if ($acao == 'edita') {
@ -532,7 +532,7 @@
</fieldset></td>
<td width="25%"><fieldset>
<legend class="labels">Saldo Pré-pago:</legend>
<input name="saldo_prepago" type="text" id="saldo_prepago" class="caixas" value="<? echo ($acao == 'edita') ? $saldo_prepago : '0,00'; ?>" disabled="disabled" />
<input name="saldo_prepago" type="text" id="saldo_prepago" class="caixas" value="<?php echo ($acao == 'edita') ? $saldo_prepago : '0,00'; ?>" disabled="disabled" />
</fieldset></td>
@ -545,7 +545,7 @@
</tr>
<tr bordercolor="#EAEAEA" bgcolor="#EAEAEA">
<td class="labels"><div align="left">
<?
<?php
$headTable = "<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";
$linhas = "<tr><td>
<table border=\"0\" cellspacing=\"0\" cellpadding=\"1\">
@ -615,7 +615,7 @@
{
document.getElementById('marcaTodos').checked = 'checked';
}
<?
<?php
if (($acao == 'edita') || (GeraContaAuto())) {
echo "document.getElementById('matricula').readOnly = true;\n";
}

18
admin/GruposAtendimento.php

@ -1,4 +1,4 @@
<?
<?php
$acao = isset($_GET['acao']) ? trim($_GET['acao']) : 'select';
$id = isset($_GET['id']) ? trim($_GET['id']) : 0;
$filtro = isset($_GET["numRamal"]) ? trim($_GET["numRamal"]) : '';
@ -121,7 +121,7 @@ function LimpaGruposCapturaRamais($db) {
</tr>
<tr>
<td align="left" nowrap="nowrap" >
<input name="numRamal" type="text" id="numRamal" value="<? echo $_GET["numRamal"]; ?>" onkeyup="ConsultaRamal('index.php?idProg=10030&pbxRequest=1', event);" size="20">
<input name="numRamal" type="text" id="numRamal" value="<?php echo $_GET["numRamal"]; ?>" onkeyup="ConsultaRamal('index.php?idProg=10030&pbxRequest=1', event);" size="20">
<input name="locaRamal" type="button" id="locaRamal" value="Localizar" onClick="ConsultaRamal('index.php?idProg=10030&pbxRequest=1&pesquisa=1', 0);">
</td>
<td align="right" nowrap="nowrap">
@ -136,7 +136,7 @@ function LimpaGruposCapturaRamais($db) {
<th> Nome </th>
<th align="center">Ações</th>
</tr>
<?
<?php
$janW = '500';
$janH = '400';
@ -156,25 +156,25 @@ function LimpaGruposCapturaRamais($db) {
while ($dados = pg_fetch_array($result)) {
?>
<tr>
<td width="50" align="center"><? echo $dados['id']; ?></td>
<td><a href="#" style="color: #000;" onClick="abre_janela('490', '320', 'index.php?idProg=11030&pbxRequest=1&acao=edita&id=<? echo $dados['id']; ?><? echo $params; ?>');"><? echo $dados['nome']; ?></a></td>
<td width="50" align="center"><?php echo $dados['id']; ?></td>
<td><a href="#" style="color: #000;" onClick="abre_janela('490', '320', 'index.php?idProg=11030&pbxRequest=1&acao=edita&id=<?php echo $dados['id']; ?><?php echo $params; ?>');"><?php echo $dados['nome']; ?></a></td>
<td width="40">
<table width="100%" border="0" cellspacing="0" cellpadding="1">
<tr>
<td style="border:0"><div align="center"><a href="#" onClick="abre_janela('490', '320', 'index.php?idProg=11030&pbxRequest=1&acao=edita&id=<? echo $dados['id']; ?><? echo $params; ?>');"><img src="images/edit.gif" alt="EDITAR A EMPRESA:<? echo $dados['descricao']; ?>" width="16" height="16" border="0"></a></div></td>
<td style="border:0"><div align="center"><a href="#" onClick="excluir('<? echo $dados['id']; ?>', '<? echo $dados['nome']; ?>', 'DESEJA REALMENTE EXLUIR O GRUPO:<? echo $dados['nome']; ?>', 'index.php?idProg=10030&pbxRequest=1&acao=deleta&id=<? echo $dados['id']; ?><? echo $params; ?>', 'GRUPOS');"><img src="images/delete.gif" alt="APAGAR O GRUPO:<? echo $dados['nome']; ?>" width="16" height="16" border="0" onClick="pergunta_apaga('<? echo $dados['id']; ?>', '<? echo $dados['nome']; ?>');"></a></div></td>
<td style="border:0"><div align="center"><a href="#" onClick="abre_janela('490', '320', 'index.php?idProg=11030&pbxRequest=1&acao=edita&id=<?php echo $dados['id']; ?><?php echo $params; ?>');"><img src="images/edit.gif" alt="EDITAR A EMPRESA:<?php echo $dados['descricao']; ?>" width="16" height="16" border="0"></a></div></td>
<td style="border:0"><div align="center"><a href="#" onClick="excluir('<?php echo $dados['id']; ?>', '<?php echo $dados['nome']; ?>', 'DESEJA REALMENTE EXLUIR O GRUPO:<?php echo $dados['nome']; ?>', 'index.php?idProg=10030&pbxRequest=1&acao=deleta&id=<?php echo $dados['id']; ?><?php echo $params; ?>', 'GRUPOS');"><img src="images/delete.gif" alt="APAGAR O GRUPO:<?php echo $dados['nome']; ?>" width="16" height="16" border="0" onClick="pergunta_apaga('<?php echo $dados['id']; ?>', '<?php echo $dados['nome']; ?>');"></a></div></td>
</tr>
</table>
</td>
</tr>
<?
<?php
$z++;
} if ($z == 0) {
?>
<tr align="center" valign="middle" bordercolor="#999999" class="labels">
<td colspan="8"><div align="center" class="info"><img src="images/shutdown.gif" width="24" height="24" border="0" align="absmiddle" /> Não foram encontrados registros </div></td>
</tr>
<?
<?php
}
?>

87
admin/anuncios.php

@ -4,10 +4,10 @@ $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']);
$filtroNovo = 'index.php?idProg=11007&pbxRequest=1&acao=inseri' . $filtroNovo;
if ($acao == "deleta") {
$query = "delete from pbx_anuncios where id='$id'";
pg_query($dbcon, $query);
@ -15,7 +15,6 @@ if ($acao == "deleta") {
// //gera arquivos asterisk//gera arquivos e executa o reload dos dados no asterisk
// gera_arquivos($dbcon, 'ANUNCIOS'); //gera arquivos e executa o reload dos dados no asterisk
// gera_arquivos($dbcon, 'TESTES');
//limpa relacionamentos do registro com outras tabelas
Ajusta_tabelas('anuncios', $id, $dbcon);
}
@ -26,15 +25,17 @@ if ($acao == "deleta") {
<tr>
<td colspan="2">Palavra Chave</td>
</tr>
<tr>
<td align="left" nowrap="nowrap" >
<input name="numRamal" type="text" id="numRamal" value="<? echo $_GET["numRamal"]; ?>" onkeyup="ConsultaRamal('index.php?idProg=10007&pbxRequest=1', event);" size="20">
<input name="locaRamal" type="button" id="locaRamal" value="Localizar" onClick="ConsultaRamal('index.php?idProg=10007&pbxRequest=1&pesquisa=1', 0);">
<input name="numRamal" type="text" id="numRamal" value="<?php echo $_GET["numRamal"]; ?>" onkeyup="ConsultaRamal('index.php?idProg=10007&pbxRequest=1', event);" size="20">
<input name="locaRamal" type="button" id="locaRamal" value="Localizar" onClick="ConsultaRamal('index.php?idProg=10007&pbxRequest=1&pesquisa=1', 0);">
</td>
<td align="right" nowrap="nowrap">
<a href="#" onclick="NovaJanela('index.php?idProg=11007&pbxRequest=1&acao=inseri', 'CadAnuncio', '400', '230', 'resizable=YES,scrollbars=YES');"><img src="images/novo.gif" width="20" height="20" border="0" align="absmiddle">NOVO AN&Uacute;NCIO </a></div>
<a href="#" onclick="NovaJanela(<?= QuotedStr($filtroNovo); ?> , 'CadAnuncio', '400', '230', 'resizable=YES,scrollbars=YES');"><img src="images/novo.gif" width="20" height="20" border="0" align="absmiddle">NOVO AN&Uacute;NCIO </a></div>
</td>
</tr>
<tr>
<td colspan="2">
<table width="100%" class="grid" border="0" cellspacing="0" cellpadding="2">
@ -54,7 +55,7 @@ if ($acao == "deleta") {
//seleciona registros do banco
$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': '');
$params = "&pbxRequest=1&numRamal=$filtro" . (isset($_GET['pesquisa']) ? '&pesquisa=1' : '');
$links = PaginaDados($idProg, $query, $params, $regPagina, $offSet, $pagMostra, true);
$query .= " limit $regPagina offset $offSet";
@ -62,52 +63,52 @@ if ($acao == "deleta") {
$z = 0;
while ($dados = pg_fetch_array($result)) {
$ext = explode('.', $dados['musica']);
$totaldep = GetTotalDependencias('anuncios', $dados['id']);
$opcao = 'anuncios';
$totaldep = GetTotalDependencias('anuncios', $dados['id']);
$opcao = 'anuncios';
$acao = $dados['id'];
$recursoTipo = 'Anúncio';
$recursoTipo = 'Anúncio';
$nomeRecurso = $dados['nome'];
$dep = GetLinkDependenciaRecurso($opcao, $acao, $recursoTipo, $nomeRecurso, $totaldep);
?>
<tr bordercolor="#000000" class="headColumn">
<td width="50" align="center"><? echo $dados['id']; ?></td>
<td width="50" align="center"><?php echo $dados['id']; ?></td>
<td align="left">
<a href="#" style="color: #000;" onClick="abre_janela('400', '230', 'index.php?idProg=11007&pbxRequest=1&acao=edita&id=<? echo $dados['id']; ?><?php echo $params; ?>');"><? echo $dados['nome']; ?></a>
<a href="#" style="color: #000;" onClick="abre_janela('400', '230', 'index.php?idProg=11007&pbxRequest=1&acao=edita&id=<?php echo $dados['id']; ?><?php echo $params; ?>');"><?php echo $dados['nome']; ?></a>
</td>
<td align="left"><? echo $ext[0]; ?></td>
<td width="30" align="center"><? echo $dep; ?></td>
<td align="left"><?php echo $ext[0]; ?></td>
<td width="30" align="center"><?php echo $dep; ?></td>
<td width="40">
<table width="100%" border="0" cellspacing="0" cellpadding="1">
<tr>
<td style="border:0" width="33%">
<div align="center">
<a href="#" onClick="abre_janela('400', '230', 'index.php?idProg=11007&pbxRequest=1&acao=edita&id=<? echo $dados['id']; ?><?php echo $params; ?>');">
<img src="images/edit.gif" alt="EDITAR O ANÚNCIO:<? echo $dados['nome']; ?>" width="16" height="16" border="0">
</a>
</div>
</td>
<?php if(!$totaldep){ ?>
<td style="border:0" width="33%">
<div align="center">
<a href="#" onClick="excluir('<? echo $dados['id']; ?>', '<? echo $dados['nome']; ?>', 'DESEJA REALMENTE O EXCLUIR ANÚNCIO:<? echo $dados['nome']; ?>', 'index.php?idProg=10007&pbxRequest=1&acao=deleta&id=<? echo $dados['id']; ?><?php echo $params; ?>', 'ANUNCIOS');">
<img src="images/delete.gif" alt="APAGAR A URA:<? echo $dados['nome']; ?>" width="16" height="16" border="0" >
<a href="#" onClick="abre_janela('400', '230', 'index.php?idProg=11007&pbxRequest=1&acao=edita&id=<?php echo $dados['id']; ?><?php echo $params; ?>');">
<img src="images/edit.gif" alt="EDITAR O ANÚNCIO:<?php echo $dados['nome']; ?>" width="16" height="16" border="0">
</a>
</div>
</td>
<?php }else{ ?>
<td style="border:0" width="33%">
<div align="center">
<img src="images/delete.gif" title="Este registro possui dependências e não pode ser excluído!" alt="Este registro não pode ser excluído!" width="16" height="16" border="0" >
</div>
</td>
<?php }?>
<?php if (!$totaldep) { ?>
<td style="border:0" width="33%">
<div align="center">
<a href="#" onClick="excluir('<?php echo $dados['id']; ?>', '<?php echo $dados['nome']; ?>', 'DESEJA REALMENTE O EXCLUIR ANÚNCIO:<?php echo $dados['nome']; ?>', 'index.php?idProg=10007&pbxRequest=1&acao=deleta&id=<?php echo $dados['id']; ?><?php echo $params; ?>', 'ANUNCIOS');">
<img src="images/delete.gif" alt="APAGAR A URA:<?php echo $dados['nome']; ?>" width="16" height="16" border="0" >
</a>
</div>
</td>
<?php } else { ?>
<td style="border:0" width="33%">
<div align="center">
<img src="images/delete.gif" title="Este registro possui dependências e não pode ser excluído!" alt="Este registro não pode ser excluído!" width="16" height="16" border="0" >
</div>
</td>
<?php } ?>
</tr>
</table>
</td>
</tr>
<?
<?php
$z++;
} if ($z == 0) {
} if ($z == 0) {
?>
<tr align="center" valign="middle" bordercolor="#999999" class="labels">
<td colspan="6">
@ -116,18 +117,18 @@ if ($acao == "deleta") {
</div>
</td>
</tr>
<? } ?>
<tr>
<th align="center" colspan="8">
<table width="100%" class="grid" border="0" cellspacing="0" cellpadding="2">
<tr>
<th align="center" style="width: 90%; border:0;"><?php echo $links; ?></th>
<th align="right" style="width: 10%; border:0;"><?php echo sprintf("%s/%s", $pagMostra, $totalReg); ?></th>
</tr>
</table>
<?php } ?>
<tr>
<th align="center" colspan="8">
<table width="100%" class="grid" border="0" cellspacing="0" cellpadding="2">
<tr>
<th align="center" style="width: 90%; border:0;"><?php echo $links; ?></th>
<th align="right" style="width: 10%; border:0;"><?php echo sprintf("%s/%s", $pagMostra, $totalReg); ?></th>
</tr>
</table>
</th>
</tr>
</table>
</td>
</tr>
</table>
</table>

30
admin/cadAnuncios.php

@ -43,7 +43,7 @@
if ($acao2 == "salva") {
$id = $_POST["id"];
$nome = trim($_POST["nome"]);
$nome = RemoveAcentos($_POST["nome"],true);
$som_ura = trim($_POST["som_ura"]);
$teste = trim($_POST["teste"]);
$tempo_espera = ((int) trim($_POST["tempo_espera"]));
@ -104,12 +104,12 @@
//-->
</script>
<form name="form1" method="post" action="index.php?idProg=11007&pbxRequest=1&acao=<? echo $acao; ?>&acao2=salva<?php echo $param; ?>" id="form1">
<form name="form1" method="post" action="index.php?idProg=11007&pbxRequest=1&acao=<?php echo $acao; ?>&acao2=salva<?php echo $param; ?>" id="form1">
<table border="1" align="center" cellpadding="0" cellspacing="0" bordercolor="#EAEAEA" class="tabela">
<tr bordercolor="#EAEAEA" bgcolor="#EAEAEA">
<td>
<div align="center" class="cabecalho">CADASTRO DE AN&Uacute;NCIOS
<input name="id" type="hidden" id="id2" value="<?
<input name="id" type="hidden" id="id2" value="<?php
if ($acao == 'edita') {
echo $id;
}
@ -121,7 +121,7 @@
<tr>
<td><fieldset>
<legend class="labels">Nome:</legend>
<input name="nome" type="text" class="validate[required,length[0,100]] caixas" id="nome2" value="<?
<input name="nome" type="text" class="validate[required,length[0,100]] caixas" id="nome2" value="<?php
if ($acao == 'edita') {
echo $nome;
}
@ -129,7 +129,7 @@
</fieldset></td>
<td><fieldset>
<legend class="labels">Discar:</legend>
<input name="teste" type="text" class="caixas" id="teste2" size="7" maxlength="5" value="<? echo $teste; ?>"/>
<input name="teste" type="text" class="caixas" id="teste2" size="7" maxlength="5" value="<?php echo $teste; ?>"/>
</fieldset></td>
</tr>
</table></td>
@ -141,8 +141,8 @@
<fieldset>
<legend class="labels">An&uacute;ncio:</legend>
<select name="som_ura" class="validate[required] caixas" id="som_ura">
<option value="<? echo $file; ?>">-----SEM SOM ------</option>
<?
<option value="<?php echo $file; ?>">-----SEM SOM ------</option>
<?php
//DIRETÓRIO PADRÃO PARA OS ARQUIVOS DE AÚDIO DO SISTEMA
$dir = $path_som;
@ -154,17 +154,17 @@
echo "e um Arquivo: $file\n<br>";
if ((substr($file, 0, 1) != '.') && !stripos($file, ".old") && (stripos($file, "arquivos_mp3") === false)) {
?>
<option value="<? echo $file; ?>" <?
<option value="<?php echo $file; ?>" <?php
if ($acao == 'edita') {
if (trim($som_ura) == trim($file)) {
echo "selected";
}
}
?>><?
?>><?php
$ext = explode('.', $file);
echo $ext[0];
?></option>
<?
<?php
}
}
?>
@ -177,9 +177,9 @@
<td align="left">
<fieldset>
<legend class="labels">Destino :</legend>
<select name="opcao" class="caixas" id="opcao" onchange="ajaxComboBox('admin/popula.php?id=<? echo $acaoDest; ?>', 'acaoDest', 'opcao', '<? echo $acaoDest; ?>');">
<select name="opcao" class="caixas" id="opcao" onchange="ajaxComboBox('admin/popula.php?id=<?php echo $acaoDest; ?>', 'acaoDest', 'opcao', '<?php echo $acaoDest; ?>');">
<?
<?php
include_once("admin/opcoes.php");
echo _GetOpcoes($dbcon, $opcao);
?>
@ -234,11 +234,11 @@
</td>
</tr>
</table></div>
<? if ($acao == 'edita') { ?>
<?php if ($acao == 'edita') { ?>
<script>
ajaxComboBox2('admin/popula.php?id=<? echo $acaoDest; ?>', 'acaoDest', 'opcao', '<? echo $acaoDest; ?>');
ajaxComboBox2('admin/popula.php?id=<?php echo $acaoDest; ?>', 'acaoDest', 'opcao', '<?php echo $acaoDest; ?>');
</script>
<? } ?>
<?php } ?>
</body>
</html>

36
admin/cadCallBack.php

@ -97,7 +97,7 @@
<body>
<?
<?php
$acao = $_GET["acao"];
$acao2 = isset($_POST["acao2"]) ? "salva" : "";
/*
@ -108,7 +108,7 @@
if ($acao2 == "salva") {
$id = $_POST["id"];
$tempoDesligamento = $_POST["tempo_desligamento"];
$descricao = trim($_POST["descricao"]);
$descricao = RemoveAcentos($_POST["descricao"], true);
$opcaoDest = trim($_POST["opcaoDest"]);
$acaoDest = trim($_POST["acaoDest"]);
$opcao1 = trim($_POST["opcao1"]);
@ -188,11 +188,11 @@
}
?>
<link href="admin/css/forms.css" rel="stylesheet" type="text/css">
<form name="form1" method="post" action="index.php?idProg=11020&pbxRequest=1&acao=<? echo $acao; ?><? echo $param; ?>" id="form1">
<form name="form1" method="post" action="index.php?idProg=11020&pbxRequest=1&acao=<?php echo $acao; ?><?php echo $param; ?>" id="form1">
<table border="1" align="center" cellpadding="0" cellspacing="0" class="tabela">
<tr bordercolor="#EAEAEA" bgcolor="#EAEAEA" class="cabecalho" background="img/button03.gif" >
<td><div align="center">CADASTRO DE CALLBACK
<input name="id" type="hidden" id="id" value="<?
<input name="id" type="hidden" id="id" value="<?php
if ($acao == 'edita') {
echo $id;
}
@ -207,7 +207,7 @@
<td >
<fieldset>
<legend class="labels">Descri&ccedil;&atilde;o:</legend>
<input name="descricao" type="text" class="validate[required,length[0,100]] caixas" id="descricao2" value="<?
<input name="descricao" type="text" class="validate[required,length[0,100]] caixas" id="descricao2" value="<?php
if ($acao == 'edita') {
echo $descricao;
}
@ -243,7 +243,7 @@
<td>
<fieldset>
<legend class="labels">Tempo de Desligamento:</legend>
<input name="tempo_desligamento" type="text" class="caixas" id="tempo_desliga" value="<? echo ($tempoDesligamento ? $tempoDesligamento : 1);?>" size="5" />
<input name="tempo_desligamento" type="text" class="caixas" id="tempo_desliga" value="<?php echo ($tempoDesligamento ? $tempoDesligamento : 1);?>" size="5" />
</fieldset>
</td>
</tr>
@ -276,14 +276,14 @@
<legend class="labels">N&uacute;meros Cadastrados:</legend>
<div align="center">
<select name="relacao[]" size="10" multiple="multiple" class="validate[required] caixas" id="relacao">
<?
<?php
if ($acao == 'edita') {
$query2 = "select id, id_callback, numero as numeros from pbx_callback_numeros where id_callback='$id' order by id desc";
$result2 = pg_query($dbcon, $query2);
while ($dados2 = pg_fetch_array($result2)) {
?>
<option value="<? echo $dados2['numeros'] ?>"><? echo $dados2['numeros'] ?></option>
<?
<option value="<?php echo $dados2['numeros'] ?>"><?php echo $dados2['numeros'] ?></option>
<?php
}
}
?>
@ -300,9 +300,9 @@
<td> <div align="left">
<fieldset>
<legend class="labels">A&ccedil;&atilde;o Caso Combine :</legend>
<select name="opcaoDest" class="caixas" id="opcaoDest" onchange="ajaxComboBox('admin/popula.php?id=<? echo $acaoDest; ?>', 'acaoDest', 'opcaoDest', '<? echo $acaoDest; ?>');">
<select name="opcaoDest" class="caixas" id="opcaoDest" onchange="ajaxComboBox('admin/popula.php?id=<?php echo $acaoDest; ?>', 'acaoDest', 'opcaoDest', '<?php echo $acaoDest; ?>');">
<option selected="selected" value="">----------</option>
<?
<?php
$opcao = $opcaoDest;
include_once("admin/opcoes.php");
echo _GetOpcoes($dbcon, $opcao);
@ -310,7 +310,7 @@
</select>
<select name="acaoDest" class="caixas" id="acaoDest">
<?
<?php
if ($acao == 'edita') {
if (!empty($opcaoDest)) {
echo GetAcaoAlt($dbcon, $opcaoDest, $acaoDest);
@ -323,9 +323,9 @@
<td> <div align="left">
<fieldset>
<legend class="labels">A&ccedil;&atilde;o Caso n&atilde;o Combine :</legend>
<select name="opcao1" class="caixas" id="opcao1" onchange="ajaxComboBox('admin/popula.php?id=<? echo $acao1; ?>', 'acao1', 'opcao1', '<? echo $acao1; ?>');">
<select name="opcao1" class="caixas" id="opcao1" onchange="ajaxComboBox('admin/popula.php?id=<?php echo $acao1; ?>', 'acao1', 'opcao1', '<?php echo $acao1; ?>');">
<?
<?php
$opcao = $opcao1;
include_once("admin/opcoes.php");
echo _GetOpcoes($dbcon, $opcao);
@ -344,10 +344,10 @@
</span></div></td>
</tr>
</table>
<? if ($acao == 'edita') { ?>
<?php if ($acao == 'edita') { ?>
<script>
//ajaxComboBox2('admin/popula.php?id=<? echo $acaoDest; ?>','acaoDest','opcaoDest');
ajaxComboBox2('admin/popula.php?id=<? echo $acao1; ?>', 'acao1', 'opcao1');
//ajaxComboBox2('admin/popula.php?id=<?php echo $acaoDest; ?>','acaoDest','opcaoDest');
ajaxComboBox2('admin/popula.php?id=<?php echo $acao1; ?>', 'acao1', 'opcao1');
</script>
<? } ?>
<?php } ?>
</form>

34
admin/cadDisa.php

@ -84,7 +84,7 @@
</head>
<body>
<?
<?php
$acao = $_GET["acao"];
$acao2 = $_GET["acao2"];
/*
@ -95,7 +95,7 @@
if ($acao2 == "salva") {
$id = $_POST["id"];
$numero = trim($_POST["numero"]);
$descricao = trim($_POST["descricao"]);
$descricao = RemoveAcentos($_POST["descricao"], trues);
$ramalSaida = trim($_POST["ramal_saida"]);
$senha = trim($_POST["senha"]);
$opcao = trim($_POST["opcao"]);
@ -173,13 +173,13 @@
}
?>
<link href="admin/css/forms.css" rel="stylesheet" type="text/css">
<form name="form1" method="post" action="index.php?idProg=11019&pbxRequest=1&acao=<? echo $acao; ?>&acao2=salva<?php echo $param ?>" id="form1">
<form name="form1" method="post" action="index.php?idProg=11019&pbxRequest=1&acao=<?php echo $acao; ?>&acao2=salva<?php echo $param ?>" id="form1">
<br />
<br />
<table border="1" align="center" cellpadding="0" cellspacing="0" class="tabela">
<tr bordercolor="#EAEAEA" bgcolor="#EAEAEA" class="cabecalho" background="img/button03.gif" >
<td><div align="center">CADASTRO DE DISA
<input name="id" type="hidden" id="id" value="<?
<input name="id" type="hidden" id="id" value="<?php
if ($acao == 'edita') {
echo $id;
}
@ -191,7 +191,7 @@
<tr>
<td width="20%"><fieldset>
<legend class="labels">N&uacute;mero:</legend>
<input name="numero" type="text" class="validate[required,custom[onlyNumber],length[0,100]] caixas" id="numero2" value="<?
<input name="numero" type="text" class="validate[required,custom[onlyNumber],length[0,100]] caixas" id="numero2" value="<?php
if ($acao == 'edita') {
echo $numero;
}
@ -199,7 +199,7 @@
</fieldset></td>
<td width="20%"><fieldset>
<legend class="labels">Senha:</legend>
<input name="senha" type="password" class="validate[optional,custom[onlyNumber],length[0,100]] caixas" id="senha2" value="<?
<input name="senha" type="password" class="validate[optional,custom[onlyNumber],length[0,100]] caixas" id="senha2" value="<?php
if ($acao == 'edita') {
echo $senha;
}
@ -207,7 +207,7 @@
</fieldset></td>
<td width="54%"><fieldset>
<legend class="labels">Descri&ccedil;&atilde;o:</legend>
<input name="descricao" type="text" class="validate[required,length[0,100]] caixas" id="descricao2" value="<?
<input name="descricao" type="text" class="validate[required,length[0,100]] caixas" id="descricao2" value="<?php
if ($acao == 'edita') {
echo $descricao;
}
@ -221,7 +221,7 @@
<tr>
<td width="33%"><fieldset>
<legend class="labels">Timeout:</legend>
<input name="timeout" type="text" class="validate[required,custom[onlyNumber],length[0,100]] caixas" id="timeout" value="<?
<input name="timeout" type="text" class="validate[required,custom[onlyNumber],length[0,100]] caixas" id="timeout" value="<?php
if ($acao == 'edita') {
echo $timeout;
} else {
@ -232,7 +232,7 @@
<td width="33%">
<fieldset>
<legend class="labels">Timeout Entre Digitos:</legend>
<input name="tempo_timeout" type="text" class="validate[required,custom[onlyNumber],length[0,100]] caixas" id="tempo_timeout2" value="<?
<input name="tempo_timeout" type="text" class="validate[required,custom[onlyNumber],length[0,100]] caixas" id="tempo_timeout2" value="<?php
if ($acao == 'edita') {
echo $tempo_timeout;
} else {
@ -280,14 +280,14 @@
<legend class="labels">N&uacute;meros Cadastrados:</legend>
<div align="center">
<select name="relacao[]" size="10" multiple="multiple" class="validate[required] caixas" id="relacao">
<?
<?php
if ($acao == 'edita') {
$query2 = "select * from pbx_disa_numeros where id_disa='$id' order by id desc";
$result2 = pg_query($dbcon, $query2);
while ($dados2 = pg_fetch_array($result2)) {
?>
<option value="<? echo $dados2['numeros'] ?>"><? echo $dados2['numeros'] ?></option>
<?
<option value="<?php echo $dados2['numeros'] ?>"><?php echo $dados2['numeros'] ?></option>
<?php
}
}
?>
@ -302,9 +302,9 @@
<td> <div align="left">
<fieldset>
<legend class="labels">Destino :</legend>
<select name="opcao" class="caixas" id="opcao" onchange="ajaxComboBox('admin/popula.php?id=<? echo $acaoDest; ?>', 'acaoDest', 'opcao', '<? echo $acaoDest; ?>');">
<select name="opcao" class="caixas" id="opcao" onchange="ajaxComboBox('admin/popula.php?id=<?php echo $acaoDest; ?>', 'acaoDest', 'opcao', '<?php echo $acaoDest; ?>');">
<?
<?php
include_once("admin/opcoes.php");
echo _GetOpcoes($dbcon, $opcao);
?>
@ -321,9 +321,9 @@
</span></div></td>
</tr>
</table>
<? if ($acao == 'edita') { ?>
<?php if ($acao == 'edita') { ?>
<script>
ajaxComboBox2('admin/popula.php?id=<? echo $acaoDest; ?>', 'acaoDest', 'opcao', '<? echo $acaoDest; ?>');
ajaxComboBox2('admin/popula.php?id=<?php echo $acaoDest; ?>', 'acaoDest', 'opcao', '<?php echo $acaoDest; ?>');
</script>
<? } ?>
<?php } ?>
</form>

30
admin/cadListaReproducao.php

@ -97,8 +97,12 @@
$id = trim($_POST["id"]);
$arquivo = $_FILES["arquivo"];
$caminho = strtolower($_POST["diretorio"]) . "/";
//echo "File " . $_FILES['arquivo']['name'] . " tmp " . $_FILES['arquivo']['tmp_name'];
if(!file_exists($caminho)){
mkdir($caminho, 0777);
chmod($caminho, 0777);
mkdir($caminho . 'arquivos_mp3/', 0777);
chmod($caminho . 'arquivos_mp3/', 0777);
}
if (is_uploaded_file($_FILES['arquivo']['tmp_name'])) {
@ -123,7 +127,7 @@
copy($_FILES['arquivo']['tmp_name'], $caminho . $arquivo_tratado);
if ($extensao == 'mp3') {
CnvrtMp3ToUlaw($updArq.".mp3", $updArq.".ulaw");
CnvrtMp3ToUlaw($updArq.".mp3", $updArq.".ulaw", 30);
}
$nomeArq = $caminho . $arquivo_tratado;
@ -198,18 +202,18 @@
}
//-->
</script>
<form action="index.php?idProg=11122&pbxRequest=1&acao2=salva&acao=edita&id=<? echo $id; ?>" method="post" enctype="multipart/form-data" name="form1">
<form action="index.php?idProg=11122&pbxRequest=1&acao2=salva&acao=edita&id=<?php echo $id; ?>" method="post" enctype="multipart/form-data" name="form1">
<br />
<table width="90%" border="1" align="center" cellpadding="0" cellspacing="0" bordercolor="#990000">
<tr class="cabecalho">
<td colspan="2" class="cabecalho"><div align="center">LISTA DE REPRODU&Ccedil;&Atilde;O :<? echo $nome; ?><span class="style9">
<input name="id" type="hidden" id="id2" value="<?
<td colspan="2" class="cabecalho"><div align="center">LISTA DE REPRODU&Ccedil;&Atilde;O :<?php echo $nome; ?><span class="style9">
<input name="id" type="hidden" id="id2" value="<?php
if ($acao == 'edita') {
echo $id;
}
?>" />
<input name="diretorio" type="hidden" id="diretorio" value="<? echo $diretorio; ?>" />
<input name="diretorio" type="hidden" id="diretorio" value="<?php echo $diretorio; ?>" />
</span></div>
</td>
</tr>
@ -235,7 +239,7 @@
<tr bordercolor="#EAEAEA" bgcolor="#EAEAEA">
<td colspan="2" class="cabecalho"><div align="center">RELA&Ccedil;&Atilde;O DE ARQUIVOS </div></td>
</tr>
<?
<?php
$dir = $diretorio;
if (file_exists($dir)) {
@ -251,27 +255,27 @@
<table border="0" cellspacing="0" cellpadding="3">
<tr>
<td><div align="left"><span class="style1"><a href="index.php?idProg=11122&pbxRequest=1&acao=edita&id=<? echo id; ?>&deleta=<? echo $file; ?>&pasta=<? echo $diretorio; ?>"><img src="admin/images/delete_mu.gif" alt="APAGAR O ARQUIVO:<? echo $file; ?>" width="16" height="16" border="0"></a></span></div></td>
<td width="450"><span class="style3"><?
<td><div align="left"><span class="style1"><a href="index.php?idProg=11122&pbxRequest=1&acao=edita&id=<?php echo $id; ?>&deleta=<?php echo $file; ?>&pasta=<?php echo $diretorio; ?>"><img src="admin/images/delete_mu.gif" alt="APAGAR O ARQUIVO:<?php echo $file; ?>" width="16" height="16" border="0"></a></span></div></td>
<td width="450"><span class="style3"><?php
$disp = explode('.', $file);
echo $disp[0];
?></span></td>
<td width="18"><span class="style3"><a href="index.php?idProg=11122&pbxRequest=1&acao=<?php echo $acao; ?>&id=<?php echo $id; ?>&dir=<?php echo $dir; ?>&audioIndisp=<? echo $disp[0] . ".mp3"; ?>"><img src="imgSite/sound22.png" alt="Arquivo de Som!" width="22" height="22" border="0" align="absmiddle" /></a></span></td>
<td width="18"><span class="style3"><a href="index.php?idProg=11122&pbxRequest=1&acao=<?php echo $acao; ?>&id=<?php echo $id; ?>&dir=<?php echo $dir; ?>&audioIndisp=<?php echo $disp[0] . ".mp3"; ?>"><img src="imgSite/sound22.png" alt="Arquivo de Som!" width="22" height="22" border="0" align="absmiddle" /></a></span></td>
</div>
</tr>
</table>
</td>
</tr>
<?
<?php
}
}
}
?>
<!--
<tr bordercolor="#EAEAEA" bgcolor="#EAEAEA" class="cabecalho">
<td colspan="2" onClick="MM_openBrWindow('player.php?tipo=geral&caminho=<? echo $dir; ?>&nome=<? echo $nome; ?>','PLAYER','width=300,height=100')"><div align="center"><a href="#"><img src="admin/images/sound22.png" width="22" height="22" border="0" align="absmiddle">OUVIR A LISTA DE REPRODU&Ccedil;&Atilde;O</a></div></td>
<td colspan="2" onClick="MM_openBrWindow('player.php?tipo=geral&caminho=<?php echo $dir; ?>&nome=<?php echo $nome; ?>','PLAYER','width=300,height=100')"><div align="center"><a href="#"><img src="admin/images/sound22.png" width="22" height="22" border="0" align="absmiddle">OUVIR A LISTA DE REPRODU&Ccedil;&Atilde;O</a></div></td>
</tr>-->
</table>
</form>

9
admin/cadMgrupos.php

@ -52,15 +52,14 @@
if ($acao2 == "salva") {
$id = trim($_POST["id"]);
$nome = strtolower(LimpaString($_POST["nome"], true));
$nome = RemoveAcentos($_POST["nome"], true);
$randon = trim($_POST["randon"]);
$dirName = strtolower(LimpaString($nome, true, true));
$dir = $caminho_musicas . strtolower($dirName);
if ($acao == "inseri") {
$query = "INSERT INTO pbx_musichold_grupos(nome, random,directory)
VALUES (lower('$nome'), '$randon',lower('$dir'))";
$query = "INSERT INTO pbx_musichold_grupos(nome, random,directory) VALUES (upper('$nome'), '$randon',lower('$dir'))";
pg_query($dbcon, $query);
mkdir($caminho_musicas . $dirName, 0777);
@ -74,9 +73,7 @@
$nome = $_POST["nome2"];
$query = "UPDATE pbx_musichold_grupos
SET nome=lower('$nome'), random='$randon'
WHERE id=$id";
$query = "UPDATE pbx_musichold_grupos set random='$randon' where id=$id";
pg_query($dbcon, $query);
}//gera arquivos e executa o reload dos dados no asterisk

122
admin/cadQgrupos.php

@ -191,7 +191,7 @@
$pesquisaLiberacao = $_POST["pesquisa_liberacao"];
$ativaFila = isset($_POST['ativaFila']) ? 'A' : 'I';
$midiafila = isset($_POST['midiafila']) ? 'S' : 'N';
$nome = LimpaString($_POST["nome"], true);
$nome = RemoveAcentos($_POST["nome"], true);
$musicclass = trim($_POST["musicclass"]);
$strategy = trim($_POST["strategy"]);
$servicelevel = empty($_POST["servicelevel"]) || !is_numeric(trim($_POST["servicelevel"])) ? '0' : trim($_POST["servicelevel"]);
@ -429,11 +429,11 @@
}
?>
<form action="index.php?idProg=11002&pbxRequest=1&acao=<? echo $acao; ?>&acao2=salva<?php echo $param ?>" onsubmit="return Verify();" method="post" name="form1" target="_self" id="form1">
<form action="index.php?idProg=11002&pbxRequest=1&acao=<?php echo $acao; ?>&acao2=salva<?php echo $param ?>" onsubmit="return Verify();" method="post" name="form1" target="_self" id="form1">
<table width="750" height="335" border="1" align="center" cellpadding="0" cellspacing="0" class="tabela">
<tr bordercolor="#EAEAEA" class="cabecalho" background="img/button03.gif">
<td height="18" colspan="4" class="cabecalho"><div align="center">CADASTRO DE FILAS
<input name="id" type="hidden" id="id2" value="<?
<input name="id" type="hidden" id="id2" value="<?php
if ($acao == 'edita') {
echo $id;
}
@ -445,7 +445,7 @@
<tr>
<td><fieldset>
<legend class="labels">Nome:</legend>
<input name="nome" type="text" class="validate[required,length[0,100]] caixas" id="nome2" value="<?
<input name="nome" type="text" class="validate[required,length[0,100]] caixas" id="nome2" value="<?php
if ($acao == 'edita') {
echo $nome . '"'. 'disabled="disabled' ;
}
@ -453,7 +453,7 @@
</fieldset></td>
<td><fieldset>
<legend class="labels">N&uacute;mero:</legend>
<input name="numero" type="text" class="validate[required,custom[onlyNumber],length[0,100]] caixas" id="numero6" value="<?
<input name="numero" type="text" class="validate[required,custom[onlyNumber],length[0,100]] caixas" id="numero6" value="<?php
if ($acao == 'edita') {
echo $numero;
}
@ -461,7 +461,7 @@
</fieldset></td>
<td><fieldset>
<legend class="labels">M&uacute;sica de Espera:</legend>
<input name="m_espera" id="m_espera" onclick="HablitaMusica();" type="radio" value="V" <?
<input name="m_espera" id="m_espera" onclick="HablitaMusica();" type="radio" value="V" <?php
if ($acao == 'edita') {
if ($m_espera == 'V') {
echo "checked";
@ -469,7 +469,7 @@
}
?> />
Sim
<input name="m_espera" type="radio" value="N" onclick="HablitaMusica();" <?
<input name="m_espera" type="radio" value="N" onclick="HablitaMusica();" <?php
if ($acao == 'edita') {
if ($m_espera == 'N') {
echo "checked";
@ -490,14 +490,14 @@
while ($dados2 = pg_fetch_array($result2)) {
?>
<?php echo $dados2['nome'] . "-" . $musicclass . "<br>"; ?>
<option value="<? echo $dados2['nome']; ?>" <?
<option value="<?php echo $dados2['nome']; ?>" <?php
if ($acao == 'edita') {
if (trim($musicclass) == trim($dados2['nome'])) {
echo "selected";
}
}
?>><?php echo $dados2['nome']; ?></option>
<? } ?>
<?php } ?>
</select>
</fieldset></td>
</tr>
@ -511,35 +511,35 @@
<legend class="labels">Estrat&eacute;gia:</legend>
<div align="left">
<select name="strategy" class="validate[optional] caixas" id="strategy">
<option value="ringall" <?
<option value="ringall" <?php
if ($acao == 'edita') {
if ($strategy == "ringall") {
echo "selected";
}
}
?>> Simultaneo - Chama todos os agentes disponíveis</option>
<option value="leastrecent" <?
<option value="leastrecent" <?php
if ($acao == 'edita') {
if ($strategy == "leastrecent") {
echo "selected";
}
}
?>>Tempo Livre - Chama o agente que está a mais tempo sem receber ligações</option>
<option value="fewestcalls" <?
<option value="fewestcalls" <?php
if ($acao == 'edita') {
if ($strategy == "fewestcalls") {
echo "selected";
}
}
?>> Numero de Ligações - Chama o agente com o menor numero de ligações atendidas</option>
<option value="random" <?
<option value="random" <?php
if ($acao == 'edita') {
if ($strategy == "random") {
echo "selected";
}
}
?>>Randomico - Chama os agentes de forma aleatoria</option>
<option value="rrordered" <?
<option value="rrordered" <?php
if ($acao == 'edita') {
if ($strategy == "rrordered") {
echo "selected";
@ -555,11 +555,11 @@
<fieldset>
<legend class="labels">Modo Atendimento</legend>
<select name="modo_atendimento" class="caixas">
<? if ($acao == 'inseri') { ?>
<?php if ($acao == 'inseri') { ?>
<option value="default">DEFAULT</option>
<option value="automatico">AUTOMATICO</option>
<option value="manual">MANUAL</option>
<?
<?php
} else if ($acao == 'edita') {
echo GetOptModoAtendimento($modoAtendimento);
}
@ -571,7 +571,7 @@
<fieldset>
<legend class="labels">Pesquisa Satisfação</legend>
<select name="pesquisa_liberacao" class="caixas">
<?
<?php
if ($acao == 'inseri') {
echo GetOptPesquisaSatisfacao($dbcon, $id);
} else if ($acao == 'edita') {
@ -590,7 +590,7 @@
<tr>
<td width="25%"><fieldset>
<legend class="labels">Ligações sem Agentes?:</legend>
<input name="joinempty" type="radio" value="yes" <?
<input name="joinempty" type="radio" value="yes" <?php
if ($acao == 'edita') {
if ($joinempty == 'yes') {
echo "checked";
@ -600,7 +600,7 @@
}
?> />
Sim
<input name="joinempty" type="radio" value="no" <?
<input name="joinempty" type="radio" value="no" <?php
if ($acao == 'edita') {
if ($joinempty == 'no') {
echo "checked";
@ -611,7 +611,7 @@
</fieldset></td>
<td width="25%"><fieldset>
<legend class="labels">Aguardar Pr&oacute;xima Chamada:</legend>
<input name="wrapuptime" type="text" class="validate[optional,custom[onlyNumber]] caixas" id="wrapuptime2" value="<?
<input name="wrapuptime" type="text" class="validate[optional,custom[onlyNumber]] caixas" id="wrapuptime2" value="<?php
if ($acao == 'edita') {
echo $wrapuptime;
} else {
@ -621,7 +621,7 @@
</fieldset></td>
<td width="25%"><fieldset>
<legend class="labels">Frequ&ecirc;ncia do An&uacute;ncio:</legend>
<input name="periodic_announce_frequency" type="text" class="validate[optional,custom[onlyNumber]] caixas" id="periodic_announce_frequency2" value="<?
<input name="periodic_announce_frequency" type="text" class="validate[optional,custom[onlyNumber]] caixas" id="periodic_announce_frequency2" value="<?php
if ($acao == 'edita') {
echo $periodic_announce_frequency;
} else {
@ -631,7 +631,7 @@
</fieldset></td>
<td width="15%"><fieldset>
<legend class="labels">N&iacute;vel de Servi&ccedil;o:</legend>
<input name="servicelevel" type="text" class="validate[required, custom[onlyNumber]] caixas" id="servicelevel2" value="<?
<input name="servicelevel" type="text" class="validate[required, custom[onlyNumber]] caixas" id="servicelevel2" value="<?php
if ($acao == 'edita') {
echo $servicelevel;
} else {
@ -641,7 +641,7 @@
</fieldset></td>
<td width="10%"><fieldset>
<legend class="labels">Ring use:</legend>
<input name="ringinuse" type="checkbox" id="ringinuse" value="yes" <?
<input name="ringinuse" type="checkbox" id="ringinuse" value="yes" <?php
if ($ringinuse == "yes") {
echo "checked=\"checked\"";
}
@ -667,7 +667,7 @@
<td width="22%"><div align="left">
<fieldset>
<legend class="labels">Chamadas em Fila:</legend>
<input name="maxlen" type="text" class="validate[optional,custom[onlyNumber]] caixas" id="maxlen2" value="<?
<input name="maxlen" type="text" class="validate[optional,custom[onlyNumber]] caixas" id="maxlen2" value="<?php
if ($acao == 'edita') {
echo $maxlen;
} else {
@ -681,17 +681,17 @@
<legend class="labels">Formato das Gravações:</legend>
<select name="monitor_format" class="caixas" id="monitor_format">
<option value="">---------</option>
<option value="gsm" <?
<option value="gsm" <?php
if ($monitor_format == "gsm") {
echo "selected";
}
?>>GSM</option>
<option value="wav" <?
<option value="wav" <?php
if ($monitor_format == "wav") {
echo "selected";
}
?>>WAV</option>
<option value="wav49" <?
<option value="wav49" <?php
if ($monitor_format == "wav49") {
echo "selected";
}
@ -705,26 +705,26 @@
<select name="context" class="caixas">
<option value="" <?php if (!$context) echo 'selected="selected"'; ?>>--------------</option>
<option value="padrao" <?php if ($context == 'padrao') echo 'selected="selected"'; ?>>padrao</option>
<?
<?php
$query2 = "SELECT * FROM pbx_contextos order by id asc";
$result2 = pg_query($dbcon, $query2);
while ($dados2 = pg_fetch_array($result2)) {
?>
<option value="<? echo $dados2['nome']; ?>" <?
<option value="<?php echo $dados2['nome']; ?>" <?php
if ($acao == 'edita') {
if ($context == $dados2['nome']) {
echo "selected";
}
}
?>><? echo $dados2['nome']; ?></option>
<? } ?>
?>><?php echo $dados2['nome']; ?></option>
<?php } ?>
</select>
</fieldset>
</div></td>
<td width="30%"><div align="left">
<fieldset>
<legend class="labels">Informar Tempo de Espera ao Agente:</legend>
<input name="reportholdtime" type="radio" value="yes" <?
<input name="reportholdtime" type="radio" value="yes" <?php
if ($acao == 'edita') {
if ($reportholdtime == 'yes') {
echo "checked";
@ -732,7 +732,7 @@
}
?> />
Sim
<input name="reportholdtime" type="radio" value="no" <?
<input name="reportholdtime" type="radio" value="no" <?php
if ($acao == 'edita') {
if ($reportholdtime == 'no') {
echo "checked";
@ -754,7 +754,7 @@
<td width="200"><div align="left">
<fieldset>
<legend class="labels">An&uacute;ncio do Tempo de Espera:</legend>
<input name="announce_holdtime" type="radio" value="yes" <?
<input name="announce_holdtime" type="radio" value="yes" <?php
if ($acao == 'edita') {
if ($announce_holdtime == 'yes') {
echo "checked";
@ -762,7 +762,7 @@
}
?> />
Sim
<input name="announce_holdtime" type="radio" value="no" <?
<input name="announce_holdtime" type="radio" value="no" <?php
if ($acao == 'edita') {
if ($announce_holdtime == 'no') {
echo "checked";
@ -811,7 +811,7 @@
<td width="170"><div align="left">
<fieldset>
<legend class="labels">Info. Posição da Fila:</legend>
<input name="announce_frequency" type="text" class="validate[optional,custom[onlyNumber]] caixas" id="announce_frequency2" value="<?
<input name="announce_frequency" type="text" class="validate[optional,custom[onlyNumber]] caixas" id="announce_frequency2" value="<?php
if ($acao == 'edita') {
echo $announce_frequency;
} else {
@ -822,7 +822,7 @@
</div></td>
<td><fieldset>
<legend class="labels">Max Agente/Pausa(%):</legend>
<input name="max_agente_pausa" type="text" class="validate[required, custom[onlyNumber]] caixas" id="max_agente_pausa" value="<?
<input name="max_agente_pausa" type="text" class="validate[required, custom[onlyNumber]] caixas" id="max_agente_pausa" value="<?php
if ($acao == 'edita') {
echo $max_agente_pausa;
} else {
@ -842,7 +842,7 @@
<td width="200"><div align="left">
<fieldset>
<legend class="labels">Timeout da Fila:</legend>
<input name="timeout2" type="text" class="validate[optional,custom[onlyNumber],length[0,10]] caixas" id="timeout22" value="<?
<input name="timeout2" type="text" class="validate[optional,custom[onlyNumber],length[0,10]] caixas" id="timeout22" value="<?php
if ($acao == 'edita') {
echo $timeout2;
}
@ -852,9 +852,9 @@
<td width="230"><div align="left">
<fieldset>
<legend class="labels">A&ccedil;&atilde;o de Timeout :</legend>
<select name="opcao" class="validate[optional] caixas" id="opcao" onChange="ajaxComboBox('admin/popula.php?id=<? echo $acao_; ?>&id_ura=<? echo $id; ?>', 'acao_', 'opcao', '<? echo $acao_; ?>');" style="width:90px">
<select name="opcao" class="validate[optional] caixas" id="opcao" onChange="ajaxComboBox('admin/popula.php?id=<?php echo $acao_; ?>&id_ura=<?php echo $id; ?>', 'acao_', 'opcao', '<?php echo $acao_; ?>');" style="width:90px">
<?
<?php
include_once("admin/opcoes.php");
echo _GetOpcoes($dbcon, $opcao);
?>
@ -868,8 +868,8 @@
<legend class="labels">Transbordo Assistido:</legend>
<div align="left">
<select name="dac_transbordo" class="caixas" id="dac_transbordo" style="width:130px;">
<option value="0" <? echo!$idTransbordo ? "selected" : ""; ?>>-----------------------</option>
<?
<option value="0" <?php echo!$idTransbordo ? "selected" : ""; ?>>-----------------------</option>
<?php
$idFila = !$id ? 0 : $id;
$query = "select id, nome from pbx_dacs where status = 'A' and id <> '$idFila'";
$result = pg_query($dbcon, $query);
@ -895,7 +895,7 @@
<td>
<fieldset>
<legend class="labels">Tempo Ring:</legend>
<input name="tempoRing" type="text" class="validate[optional,custom[onlyNumber]] caixas" id="tempoRing" value="<?
<input name="tempoRing" type="text" class="validate[optional,custom[onlyNumber]] caixas" id="tempoRing" value="<?php
if ($acao == 'edita') {
echo $tempoRing;
} else {
@ -916,7 +916,7 @@
<td width="200"><div align="left">
<fieldset>
<legend class="labels">Exigir Classifica&ccedil;&atilde;o:</legend>
<input name="exige_classificacao" type="radio" id="exige_classificacao" value="1" <?
<input name="exige_classificacao" type="radio" id="exige_classificacao" value="1" <?php
if ($acao == 'edita') {
if ($exige_classificacao) {
echo "checked";
@ -927,7 +927,7 @@
}
?> />
Sim
<input name="exige_classificacao" type="radio" id="exige_classificacao" value="0" <?
<input name="exige_classificacao" type="radio" id="exige_classificacao" value="0" <?php
if ($acao == 'edita') {
if (!$exige_classificacao) {
echo "checked";
@ -943,7 +943,7 @@
<td width="230"><div align="left">
<fieldset>
<legend class="labels">Justificativa na Pausa Produtiva:</legend>
<input name="justificativa_pausa" type="radio" id="justificativa_pausa" value="1" <?
<input name="justificativa_pausa" type="radio" id="justificativa_pausa" value="1" <?php
if ($acao == 'edita') {
if ($justificativa_pausa) {
echo "checked";
@ -954,7 +954,7 @@
}
?> />
Sim
<input name="justificativa_pausa" type="radio" id="justificativa_pausa" value="0" <?
<input name="justificativa_pausa" type="radio" id="justificativa_pausa" value="0" <?php
if ($acao == 'edita') {
if (!$justificativa_pausa) {
echo "checked";
@ -971,7 +971,7 @@
<div align="left">
<fieldset>
<legend class="labels">Retornar Abandonadas:</legend>
<input name="retornar_abandonadas" type="radio" id="retornar_abandonadas1" value="1" <?
<input name="retornar_abandonadas" type="radio" id="retornar_abandonadas1" value="1" <?php
if ($acao == 'edita') {
if ($retornar_abandonadas) {
echo "checked";
@ -979,7 +979,7 @@
}
?> />
Sim
<input name="retornar_abandonadas" type="radio" id="retornar_abandonadas0" value="0" <?
<input name="retornar_abandonadas" type="radio" id="retornar_abandonadas0" value="0" <?php
if ($acao == 'edita') {
if (!$retornar_abandonadas) {
echo "checked";
@ -993,7 +993,7 @@
<td width="15%">
<fieldset>
<legend class="labels">Fila Mídia</legend>
<input name="midiafila" type="checkbox" value="N" <?
<input name="midiafila" type="checkbox" value="N" <?php
if ($midiafila == "S") {
echo "checked=\"checked\"";
}
@ -1003,7 +1003,7 @@
<td width="15%">
<fieldset>
<legend class="labels">Status Fila</legend>
<input name="ativaFila" type="checkbox" value="A" <?
<input name="ativaFila" type="checkbox" value="A" <?php
if ($ativaFila == "A") {
echo "checked=\"checked\"";
}
@ -1029,7 +1029,7 @@
<tr>
<td width="45%" valign="top"><div align="center">
<select name="disponiveis[]" size="7" multiple="multiple" class="caixas" id="disponiveis">
<?
<?php
if ($acao == 'edita') {
$query2 = "
SELECT ramais.* from
@ -1045,8 +1045,8 @@ order by nome asc
$result2 = pg_query($dbcon, $query2);
while ($dados2 = pg_fetch_array($result2)) {
?>
<option value="<? echo $dados2['dispositivo'] ?>"><? echo $dados2['nome']; ?></option>
<? } ?>
<option value="<?php echo $dados2['dispositivo'] ?>"><?php echo $dados2['nome']; ?></option>
<?php } ?>
</select>
</div></td>
<td width="10%" valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="0">
@ -1079,7 +1079,7 @@ order by nome asc
</table></td>
<td width="47%" valign="top"><div align="center">
<select name="ramais[]" size="7" multiple="multiple" class="validate[optional] caixas" id="ramais">
<?
<?php
if ($acao == 'edita') {
$query3 = "SELECT a.*,ramais.nome from pbx_queues_membros a,
(select id,nome,dispositivo from pbx_ramais) ramais
@ -1095,8 +1095,8 @@ order by nome asc
$disp = sprintf("%s:%s", $dados3['dispositivo'], $dados3['prioridade']);
$nome = sprintf("%s:%s", $dados3['nome'], $dados3['prioridade']);
?>
<option value="<? echo $disp; ?>"><? echo $nome; ?></option>
<? } ?>
<option value="<?php echo $disp; ?>"><?php echo $nome; ?></option>
<?php } ?>
</select>
</div></td>
</tr>
@ -1111,11 +1111,11 @@ order by nome asc
</table>
</form>
<? if ($acao == 'edita') { ?>
<?php if ($acao == 'edita') { ?>
<script>
ajaxComboBox('admin/popula.php?id=<? echo $acao_; ?>', 'acao_', 'opcao', '<? echo $acao_; ?>');
ajaxComboBox('admin/popula.php?id=<?php echo $acao_; ?>', 'acao_', 'opcao', '<?php echo $acao_; ?>');
</script>
<? } ?>
<?php } ?>
<script type="text/javascript">
$(document).ready(function () {
@ -1131,7 +1131,7 @@ order by nome asc
</body>
</html>
<?
<?php
function GetDataClassifica($classifica, $mod = null) {
global $dataClass, $dateClass;

50
admin/cadTroncosIAX.php

@ -256,28 +256,28 @@
$portabilidade = $dados['portabilidade'];
$displayValue = ($acao == 'edita') || (!empty($msg));
?>
<form name="form1" method="post" action="index.php?idProg=11015&pbxRequest=1&acao=<? echo $acao; ?>&acao2=salva<?php echo $param ?>" id="form1">
<form name="form1" method="post" action="index.php?idProg=11015&pbxRequest=1&acao=<?php echo $acao; ?>&acao2=salva<?php echo $param ?>" id="form1">
<table border="1" align="center" cellpadding="0" cellspacing="0" class="tabela">
<tr bordercolor="#EAEAEA" bgcolor="#EAEAEA" class="labels" background="img/button03.gif">
<td class="cabecalho"><div align="center">CADASTRO DE tRONCOS IAX
<input name="id" type="hidden" id="id" value="<?
<input name="id" type="hidden" id="id" value="<?php
if ($displayValue) {
echo $id;
}
?>" />
<input name="acao" type="hidden" id="acao" value="<? echo $acao; ?>" />
<input name="nomeOld" type="hidden" id="acao" value="<? echo $nomeOld; ?>" />
<input name="acao" type="hidden" id="acao" value="<?php echo $acao; ?>" />
<input name="nomeOld" type="hidden" id="acao" value="<?php echo $nomeOld; ?>" />
</div></td>
</tr>
<? if ($acao == 'inseri') { ?>
<? } ?>
<?php if ($acao == 'inseri') { ?>
<?php } ?>
<tr bordercolor="#EAEAEA" bgcolor="#EAEAEA">
<td bgcolor="#EAEAEA" class="labels"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
<fieldset>
<legend class="labels">Nome:</legend>
<input name="nome" type="text" class="validate[required,length[0,100]] caixas" id="nome" value="<?
<input name="nome" type="text" class="validate[required,length[0,100]] caixas" id="nome" value="<?php
if ($displayValue) {
echo $nome;
}
@ -288,7 +288,7 @@
<td>
<fieldset>
<legend class="labels"><span class="style5">Senha IAX:</span></legend>
<input name="secret" type="password" class="caixas" id="secret" value="<?
<input name="secret" type="password" class="caixas" id="secret" value="<?php
if ($displayValue) {
echo $secret;
}
@ -355,7 +355,7 @@
<fieldset>
<legend class="labels">Tipo:</legend>
<span class="style5">
<input name="type" type="radio" value="user" <?
<input name="type" type="radio" value="user" <?php
if ($displayValue) {
if ($type == 'user') {
echo "checked";
@ -363,7 +363,7 @@
}
?> />
</span>Faz liga&ccedil;&otilde;es<span class="style5">
<input name="type" type="radio" value="peer" <?
<input name="type" type="radio" value="peer" <?php
if ($displayValue) {
if ($type == 'peer') {
echo "checked";
@ -371,7 +371,7 @@
}
?> />
Recebe Liga&ccedil;&otilde;es
<input name="type" type="radio" value="friend" <?
<input name="type" type="radio" value="friend" <?php
if ($displayValue) {
if ($type == 'friend') {
echo "checked";
@ -387,7 +387,7 @@
<fieldset>
<legend class="labels"><span class="style5">Monitorar:</span></legend>
<span class="style5">
<input name="qualify" type="radio" value="yes" <?
<input name="qualify" type="radio" value="yes" <?php
if ($displayValue) {
if ($qualify == 'yes') {
echo "checked";
@ -397,7 +397,7 @@
}
?> />
Sim
<input name="qualify" type="radio" value="no" <?
<input name="qualify" type="radio" value="no" <?php
if ($displayValue) {
if ($qualify == 'no') {
echo "checked";
@ -411,7 +411,7 @@
<fieldset>
<legend class="labels"><span class="style5">Trunk:</span></legend>
<span class="style5">
<input name="trunk" type="radio" value="yes" <?
<input name="trunk" type="radio" value="yes" <?php
if ($displayValue) {
if ($trunk == 'yes') {
echo "checked";
@ -421,7 +421,7 @@
}
?> />
Sim
<input name="trunk" type="radio" value="no" <?
<input name="trunk" type="radio" value="no" <?php
if ($displayValue) {
if ($trunk == 'no') {
echo "checked";
@ -445,7 +445,7 @@
<div align="left">
<fieldset>
<legend class="labels">Servidor:</legend>
<input name="permit" type="text" class="caixas" id="permit" value="<?
<input name="permit" type="text" class="caixas" id="permit" value="<?php
if ($displayValue) {
echo $permit;
} else {
@ -459,7 +459,7 @@
<div align="left">
<fieldset>
<legend class="labels">Porta:</legend>
<input name="port" type="text" class="caixas" id="port" value="<?
<input name="port" type="text" class="caixas" id="port" value="<?php
if ($displayValue) {
echo $port;
} else {
@ -472,7 +472,7 @@
<td><div align="left">
<fieldset>
<legend class="labels">Usu&aacute;rio:</legend>
<input name="username" type="text" class="caixas" id="username" value="<?
<input name="username" type="text" class="caixas" id="username" value="<?php
if ($displayValue) {
echo $username;
} else {
@ -491,7 +491,7 @@
<tr>
<td><fieldset>
<legend class="labels"><span class="style5">Endereço IP:</span></legend>
<input name="host" type="text" class="caixas" id="host" value="<?
<input name="host" type="text" class="caixas" id="host" value="<?php
if ($displayValue) {
echo $host;
} else {
@ -502,7 +502,7 @@
</fieldset></td>
<td><fieldset>
<legend class="labels"><span class="style5">Bina:</span></legend>
<input name="callerid" type="text" class="caixas" id="callerid" value="<?
<input name="callerid" type="text" class="caixas" id="callerid" value="<?php
if ($displayValue) {
echo $callerid;
}
@ -511,7 +511,7 @@
</fieldset></td>
<td><fieldset>
<legend class="labels"><span class="style5">Contexto:</span></legend>
<input name="context" type="text" class="validate[required] caixas" id="context" value="<?
<input name="context" type="text" class="validate[required] caixas" id="context" value="<?php
if ($displayValue) {
echo $context;
}
@ -519,7 +519,7 @@
</fieldset></td>
<td><fieldset>
<legend class="labels">Limite de Liga&ccedil;&atilde;o:</legend>
<input name="max_ligacoes" type="text" class="validate[required,custom[onlyNumber]] caixas" id="max_ligacoes" value="<?
<input name="max_ligacoes" type="text" class="validate[required,custom[onlyNumber]] caixas" id="max_ligacoes" value="<?php
if ($displayValue) {
echo $max_ligacoes;
} else {
@ -540,7 +540,7 @@
<td>
<fieldset>
<legend class="labels"><span class="style5">Registro:</span></legend>
<input name="registro" type="text" class="caixas" id="registro" value="<?
<input name="registro" type="text" class="caixas" id="registro" value="<?php
if ($displayValue) {
echo $registro;
} else {
@ -553,7 +553,7 @@
<td><fieldset>
<legend class="labels"><span class="style5">Pedido Registro :</span></legend>
<span class="style5">
<input name="pedido_registro" type="radio" value="yes" <?
<input name="pedido_registro" type="radio" value="yes" <?php
if ($displayValue) {
if ($pedido_registro == 'yes') {
echo "checked";
@ -561,7 +561,7 @@
}
?> />
Sim
<input name="pedido_registro" type="radio" value="no" <?
<input name="pedido_registro" type="radio" value="no" <?php
if ($displayValue) {
if ($pedido_registro == 'no') {
echo "checked";

24
admin/cadTroncosKhomp.php

@ -82,7 +82,7 @@
-->
</style></head>
<body>
<?
<?php
$acao = $_GET["acao"];
$acao2 = $_GET["acao2"];
/*
@ -187,13 +187,13 @@
$displayValue = ($acao == 'edita') || (!empty($msg));
?>
<form name="form1" method="post" action="index.php?idProg=11048&pbxRequest=1&acao=<? echo $acao; ?>&acao2=salva<?php echo $param ?>" id="form1">
<form name="form1" method="post" action="index.php?idProg=11048&pbxRequest=1&acao=<?php echo $acao; ?>&acao2=salva<?php echo $param ?>" id="form1">
<table width="500" border="1" align="center" cellpadding="0" cellspacing="0" class="tabela">
<tr bordercolor="#EAEAEA" bgcolor="#EAEAEA" class="labels" background="img/button03.gif">
<td class="cabecalho"><div align="center">CADASTRO DE TRONCOS KHOMP </div></td>
</tr>
<? if ($acao == 'inseri') { ?>
<? } ?>
<?php if ($acao == 'inseri') { ?>
<?php } ?>
<tr bordercolor="#EAEAEA" bgcolor="#EAEAEA">
<td bgcolor="#EAEAEA" class="labels">
@ -202,18 +202,18 @@
<td width="50%"><div align="left">
<fieldset>
<legend class="labels">Descri&ccedil;&atilde;o:</legend>
<input name="descricao" type="text" class="validate[required,length[0,100]] caixas" id="descricao" value="<?
<input name="descricao" type="text" class="validate[required,length[0,100]] caixas" id="descricao" value="<?php
if ($displayValue) {
echo $descricao;
}
?>" size="30" maxlength="100" />
<input name="id" type="hidden" id="id" value="<?
<input name="id" type="hidden" id="id" value="<?php
if ($displayValue) {
echo $id;
}
?>" />
<input name="acao" type="hidden" id="acao" value="<? echo $acao; ?>" />
<input name="acao" type="hidden" id="acao" value="<?php echo $acao; ?>" />
</fieldset>
</div></td>
<td>
@ -247,7 +247,7 @@
<td width="50%">
<fieldset>
<legend class="labels">Grupo:</legend>
<input name="grupo" type="text" class="validate[required] caixas" id="grupo" value="<?
<input name="grupo" type="text" class="validate[required] caixas" id="grupo" value="<?php
if ($displayValue) {
echo $grupo;
} else {
@ -258,7 +258,7 @@
<td width="30" height="30">
<fieldset>
<legend class="labels">Porta:</legend>
<input name="porta" type="text" class="validate[required] caixas" id="porta" value="<?
<input name="porta" type="text" class="validate[required] caixas" id="porta" value="<?php
if ($displayValue) {
echo $porta;
} else {
@ -277,7 +277,7 @@
<td width="34%">
<fieldset>
<legend class="labels">Contexto:</legend>
<input name="contexto" type="text" class="validate[required] caixas" id="contexto" value="<?
<input name="contexto" type="text" class="validate[required] caixas" id="contexto" value="<?php
if ($displayValue) {
echo $contexto;
} else {
@ -289,7 +289,7 @@
<td width="33%">
<fieldset>
<legend class="labels">Bina:</legend>
<input name="callerid" type="text" class="caixas" id="callerid" value="<?
<input name="callerid" type="text" class="caixas" id="callerid" value="<?php
if ($displayValue) {
echo $callerid;
} else {
@ -302,7 +302,7 @@
<td width="33%">
<fieldset>
<legend class="labels">Limite Ligações:</legend>
<input name="max_ligacoes" type="text" class="validate[required] caixas" id="max_ligacoes" value="<?
<input name="max_ligacoes" type="text" class="validate[required] caixas" id="max_ligacoes" value="<?php
if ($displayValue) {
echo $max_ligacoes;
} else {

68
admin/cadTroncosSIP.php

@ -258,13 +258,13 @@
$portabilidade = $dados['portabilidade'];
$displayValue = ($acao == 'edita') || (!empty($msg));
?>
<form name="form1" method="post" action="index.php?idProg=11014&pbxRequest=1&acao=<? echo $acao; ?>&acao2=salva<?php echo $param ?>" id="form1">
<form name="form1" method="post" action="index.php?idProg=11014&pbxRequest=1&acao=<?php echo $acao; ?>&acao2=salva<?php echo $param ?>" id="form1">
<table border="1" align="center" cellpadding="0" cellspacing="0" class="tabela">
<tr bordercolor="#EAEAEA" bgcolor="#EAEAEA" class="labels" background="img/button03.gif">
<td class="cabecalho"><div align="center">CADASTRO DE TRONCOS SIP </div></td>
</tr>
<? if ($acao == 'inseri') { ?>
<? } ?>
<?php if ($acao == 'inseri') { ?>
<?php } ?>
<tr bordercolor="#EAEAEA" bgcolor="#EAEAEA">
<td bgcolor="#EAEAEA" class="labels">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
@ -273,19 +273,19 @@
<div align="left">
<fieldset>
<legend class="labels">Nome:</legend>
<input name="nome" type="text" class="validate[required,length[0,100]] caixas" id="nome" value="<?
<input name="nome" type="text" class="validate[required,length[0,100]] caixas" id="nome" value="<?php
if ($displayValue) {
echo $nome;
}
?>" size="15" maxlength="100" />
<input name="id" type="hidden" id="id" value="<?
<input name="id" type="hidden" id="id" value="<?php
if ($displayValue) {
echo $id;
}
?>" />
<input name="acao" type="hidden" id="acao" value="<? echo $acao; ?>" />
<input name="nomeOld" type="hidden" id="nomeOld" value="<? echo $nomeOld; ?>" />
<input name="acao" type="hidden" id="acao" value="<?php echo $acao; ?>" />
<input name="nomeOld" type="hidden" id="nomeOld" value="<?php echo $nomeOld; ?>" />
</fieldset>
</div>
</td>
@ -295,7 +295,7 @@
<legend class="labels">
<span class="style5">Senha SIP:</span>
</legend>
<input name="secret" type="password" class="caixas" id="secret" value="<?
<input name="secret" type="password" class="caixas" id="secret" value="<?php
if ($displayValue) {
echo $secret;
}
@ -366,7 +366,7 @@
<fieldset>
<legend class="labels">Tipo:</legend>
<span class="style5">
<input name="type" type="radio" value="user" <?
<input name="type" type="radio" value="user" <?php
if ($displayValue) {
if ($type == 'user') {
echo "checked";
@ -374,7 +374,7 @@
}
?> />
</span>Faz liga&ccedil;&otilde;es<span class="style5">
<input name="type" type="radio" value="peer" <?
<input name="type" type="radio" value="peer" <?php
if ($displayValue) {
if ($type == 'peer') {
echo "checked";
@ -382,7 +382,7 @@
}
?> />
Recebe Liga&ccedil;&otilde;es
<input name="type" type="radio" value="friend" <?
<input name="type" type="radio" value="friend" <?php
if ($displayValue) {
if ($type == 'friend') {
echo "checked";
@ -402,7 +402,7 @@
<span class="style5">Monitorar:</span>
</legend>
<span class="style5">
<input name="qualify" type="radio" value="yes" <?
<input name="qualify" type="radio" value="yes" <?php
if ($displayValue) {
if ($qualify == 'yes') {
echo "checked";
@ -412,7 +412,7 @@
}
?> />
Sim
<input name="qualify" type="radio" value="no" <?
<input name="qualify" type="radio" value="no" <?php
if ($displayValue) {
if ($qualify == 'no') {
echo "checked";
@ -430,7 +430,7 @@
<span class="style5">Nat:</span>
</legend>
<span class="style5">
<input name="nat" type="radio" value="yes" <?
<input name="nat" type="radio" value="yes" <?php
if ($displayValue) {
if ($nat == 'yes') {
echo "checked";
@ -440,7 +440,7 @@
}
?> />
Sim
<input name="nat" type="radio" value="no" <?
<input name="nat" type="radio" value="no" <?php
if ($displayValue) {
if ($nat == 'no') {
echo "checked";
@ -462,19 +462,19 @@
<td>
<fieldset>
<legend class="labels">Servidor:</legend>
<input name="permit" type="text" class="caixas" id="permit" value="<?
<input name="permit" type="text" class="caixas" id="permit" value="<?php
if ($displayValue) {
echo $permit;
} else {
echo "";
}
?>" size="30" maxlength="100" <? if ($acao == "inseri") { ?> onchange="repeat()" <? } ?>/>
?>" size="30" maxlength="100" <?php if ($acao == "inseri") { ?> onchange="repeat()" <?php } ?>/>
</fieldset>
</td>
<td>
<fieldset>
<legend class="labels">Porta:</legend>
<input name="port" type="text" class="validate[required,custom[onlyNumber]] caixas" id="port" value="<?
<input name="port" type="text" class="validate[required,custom[onlyNumber]] caixas" id="port" value="<?php
if ($displayValue) {
echo $port;
} else {
@ -487,13 +487,13 @@
<td>
<fieldset>
<legend class="labels">Usu&aacute;rio:</legend>
<input name="username" type="text" size="15" class="validate[required] caixas" id="username" value="<?
<input name="username" type="text" size="15" class="validate[required] caixas" id="username" value="<?php
if ($displayValue) {
echo $username;
} else {
echo "";
}
?>" <?
?>" <?php
if ($displayValue) {
echo 'readonly';
}
@ -505,7 +505,7 @@
<fieldset>
<legend class="labels"><span class="style5">Habilitar From User :</span></legend>
<span class="style5">
<input name="fromuser" type="radio" value="1" <?
<input name="fromuser" type="radio" value="1" <?php
if (true) {
if ($fromuser) {
echo "checked";
@ -513,7 +513,7 @@
}
?> />
Sim
<input name="fromuser" type="radio" value="0" <?
<input name="fromuser" type="radio" value="0" <?php
if (true) {
if (!$fromuser) {
echo "checked";
@ -536,7 +536,7 @@
<div align="left">
<fieldset>
<legend class="labels"><span class="style5">Endereço IP:</span></legend>
<input name="host" type="text" class="caixas" id="host" value="<?
<input name="host" type="text" class="caixas" id="host" value="<?php
if ($displayValue) {
echo $host;
} else {
@ -551,7 +551,7 @@
<div align="left">
<fieldset>
<legend class="labels"><span class="style5">Bina:</span></legend>
<input name="callerid" type="text" class="caixas" id="callerid" value="<?
<input name="callerid" type="text" class="caixas" id="callerid" value="<?php
if ($displayValue) {
echo $callerid;
}
@ -565,22 +565,22 @@
<fieldset>
<legend class="labels">Modo DTMF:</legend>
<select name="dtmfmode" class="validate[required] caixas" id="dtmfmode">
<option value="rfc2833" <?
<option value="rfc2833" <?php
if ($dados['dtmfmode'] == 'rfc2833') {
echo "selected";
}
?>>rfc2833</option>
<option value="inband" <?
<option value="inband" <?php
if ($dados['dtmfmode'] == 'inband') {
echo "selected";
}
?>>inband</option>
<option value="info" <?
<option value="info" <?php
if ($dados['dtmfmode'] == 'info') {
echo "selected";
}
?>>info</option>
<option value="auto" <?
<option value="auto" <?php
if ($dados['dtmfmode'] == 'auto') {
echo "selected";
}
@ -606,7 +606,7 @@
<div align="left">
<fieldset>
<legend class="labels"><span class="style5">Domínio:</span></legend>
<input name="fromdomain" type="text" class="caixas" id="fromdomain" value="<?
<input name="fromdomain" type="text" class="caixas" id="fromdomain" value="<?php
if ($displayValue) {
echo $fromdomain;
}
@ -619,7 +619,7 @@
<div align="left">
<fieldset>
<legend class="labels"><span class="style5">Contexto:</span></legend>
<input name="context" type="text" class="validate[required] caixas" id="context" value="<?
<input name="context" type="text" class="validate[required] caixas" id="context" value="<?php
if ($displayValue) {
echo $context;
}
@ -632,7 +632,7 @@
<div align="left">
<fieldset>
<legend class="labels">Limite de Liga&ccedil;&atilde;o:</legend>
<input name="max_ligacoes" type="text" class="validate[required,custom[onlyNumber]] caixas" id="max_ligacoes" value="<?
<input name="max_ligacoes" type="text" class="validate[required,custom[onlyNumber]] caixas" id="max_ligacoes" value="<?php
if ($displayValue) {
echo $max_ligacoes;
} else {
@ -659,7 +659,7 @@
<div align="left">
<fieldset>
<legend class="labels"><span class="style5">Registro:</span></legend>
<input name="registro" type="text" class="caixas" id="registro" value="<?
<input name="registro" type="text" class="caixas" id="registro" value="<?php
if ($displayValue) {
echo $registro;
} else {
@ -674,7 +674,7 @@
<fieldset>
<legend class="labels"><span class="style5">Pedido Registro :</span></legend>
<span class="style5">
<input name="pedido_registro" type="radio" value="yes" <?
<input name="pedido_registro" type="radio" value="yes" <?php
if ($displayValue) {
if ($pedido_registro == 'yes') {
echo "checked";
@ -682,7 +682,7 @@
}
?> />
Sim
<input name="pedido_registro" type="radio" value="no" <?
<input name="pedido_registro" type="radio" value="no" <?php
if ($displayValue) {
if ($pedido_registro == 'no') {
echo "checked";

44
admin/cadUra.php

@ -57,7 +57,7 @@
gera_arquivos($dbcon, 'URA');
?>
<script>
MM_goToURL('index.php?idProg=11031&pbxRequest=1&acao=edita&id=<? echo $id_ura.$param; ?>');
MM_goToURL('index.php?idProg=11031&pbxRequest=1&acao=edita&id=<?php echo $id_ura.$param; ?>');
</script>
<?php
}
@ -66,7 +66,7 @@
if ($acao2 == "salva") {
$id = $_POST["id"];
$nome = trim($_POST["nome"]);
$nome = RemoveAcentos($_POST["nome"], true);
$som_ura = trim($_POST["som_ura"]);
$teste = trim($_POST["teste"]);
$tempo_espera = ((int) trim($_POST["tempo_espera"]));
@ -88,7 +88,7 @@
}
?>
<script>
MM_goToURL('index.php?idProg=11031&pbxRequest=1&acao=edita&id=<? echo $id_new.$param; ?>');
MM_goToURL('index.php?idProg=11031&pbxRequest=1&acao=edita&id=<?php echo $id_new.$param; ?>');
</script>
<?php
@ -111,7 +111,7 @@
echo "<script type=\"text/javascript\">
//fecha a janela presa no meio do sistema
fecha_popup(0,'index.php?idProg=10031&pbxRequest=1$param&acao=$acao');
</script>";
</script>";
}
if ($acao == "edita") {
@ -144,11 +144,11 @@
//-->
</script>
<form name="form1" method="post" action="index.php?idProg=11031&pbxRequest=1&acao=<? echo $acao; ?>&acao2=salva&id=<? echo $id; ?><?php echo $param; ?>" id="form1">
<form name="form1" method="post" action="index.php?idProg=11031&pbxRequest=1&acao=<?php echo $acao; ?>&acao2=salva&id=<?php echo $id; ?><?php echo $param; ?>" id="form1">
<table border="1" align="center" cellpadding="0" cellspacing="0" bordercolor="#990000" class="tabela">
<tr bordercolor="#EAEAEA" bgcolor="#EAEAEA">
<td><div align="center" class="cabecalho">CADASTRO DE URA
<input name="id" type="hidden" id="id2" value="<?
<input name="id" type="hidden" id="id2" value="<?php
if ($acao == 'edita') {
echo $id;
}
@ -161,7 +161,7 @@
<tr>
<td><fieldset>
<legend class="labels">Nome:</legend>
<input name="nome" type="text" class="validate[required,length[0,100]] caixas" id="nome2" value="<?
<input name="nome" type="text" class="validate[required,length[0,100]] caixas" id="nome2" value="<?php
if ($acao == 'edita') {
echo $nome;
}
@ -169,7 +169,7 @@
</fieldset></td>
<td><fieldset>
<legend class="labels">Discar:</legend>
<input name="teste" type="text" class="caixas" id="teste2" size="7" maxlength="5" value="<? echo $teste; ?>"/>
<input name="teste" type="text" class="caixas" id="teste2" size="7" maxlength="5" value="<?php echo $teste; ?>"/>
</fieldset></td>
</tr>
</table>
@ -184,7 +184,7 @@
<td>
<fieldset>
<legend class="labels">Tempo de Espera:</legend>
<input name="tempo_espera" type="text" class="validate[required,custom[onlyNumber],length[0,100]] caixas" id="tempo_espera2" value="<?
<input name="tempo_espera" type="text" class="validate[required,custom[onlyNumber],length[0,100]] caixas" id="tempo_espera2" value="<?php
if ($acao == 'edita') {
echo $tempo_espera;
} else {
@ -196,7 +196,7 @@
<td>
<fieldset>
<legend class="labels">Timeout Entre Digitos:</legend>
<input name="timeout_digito" type="text" class="validate[required,custom[onlyNumber],length[1,10]] caixas" id="timeout_digito" value="<?
<input name="timeout_digito" type="text" class="validate[required,custom[onlyNumber],length[1,10]] caixas" id="timeout_digito" value="<?php
if ($acao == 'edita') {
echo $timeout_digito;
} else {
@ -209,8 +209,8 @@
<fieldset>
<legend class="labels">An&uacute;ncio:</legend>
<select name="som_ura" class="caixas" id="som_ura">
<option value="<? echo $file; ?>">-----SEM SOM ------</option>
<?
<option value="<?php echo $file; ?>">-----SEM SOM ------</option>
<?php
//DIRETÓRIO PADRÃO PARA OS ARQUIVOS DE ÁUDIO DO SISTEMA
$dir = $path_som;
@ -219,17 +219,17 @@
if ((substr($file, 0, 1) != '.') && (!stripos($file, ".old")) && (stripos($file, "arquivos_mp3") === false)) {
?>
<option value="<? echo $file; ?>" <?
<option value="<?php echo $file; ?>" <?php
if ($acao == 'edita') {
if (trim($som_ura) == trim($file)) {
echo "selected";
}
}
?>><?
?>><?php
$ext = explode('.', $file);
echo $ext[0];
?></option>
<?
<?php
}
}
?>
@ -241,7 +241,7 @@
<fieldset>
<legend class="labels">Permite Liga&ccedil;&atilde;o:</legend>
<div align="center">
<a href="javaScript:NovaJanela('index.php?idProg=330&id_ura=<?= $id; ?>', 'jnGrupoRamais', '700', '300', 'resizable=NO,scrollbars=NO');">
<a href="javaScript:NovaJanela('index.php?idProg=330&id_ura=<?php echo $id; ?>', 'jnGrupoRamais', '700', '300', 'resizable=NO,scrollbars=NO');">
<img src="imgSite/audio-fone-registra-apl.png" title="Permitir Ligação ramais!" width="20" border="0"/>
</a>
</div>
@ -286,11 +286,11 @@
</table>
</form>
<br>
<? if ($acao == 'edita') { ?>
<?php if ($acao == 'edita') { ?>
<div align="center">
<iframe src="index.php?idProg=11131&pbxRequest=1&id_ura=<? echo $id_ura; ?>&nome_ura=<? echo $nome; ?>" frameborder="0" scrolling="yes" name="opcoes" width="100%" height="300"></iframe>
<iframe src="index.php?idProg=11131&pbxRequest=1&id_ura=<?php echo $id_ura; ?>&nome_ura=<?php echo $nome; ?>" frameborder="0" scrolling="yes" name="opcoes" width="100%" height="300"></iframe>
</div>
<? } ?>
<?php } ?>
<div id="alerta" style="display:none;width:300;height:auto">
<br>
<table width="100%" border="0" cellpadding="0" cellspacing="0">
@ -321,11 +321,11 @@
<div id="campos" style="display:none" align="center">
<iframe src="" frameborder="0" scrolling="no" name="geral" id="geral" align="middle"></iframe>
</div>
<? if ($acao == 'edita') { ?>
<?php if ($acao == 'edita') { ?>
<script>
ajaxComboBox('admin/popula.php?id=<? echo $acao_; ?>', 'acao_', 'opcao_', '<? echo $acao_; ?>');
ajaxComboBox('admin/popula.php?id=<?php echo $acao_; ?>', 'acao_', 'opcao_', '<?php echo $acao_; ?>');
</script>
<? } ?>
<?php } ?>
</body>
</html>

325
admin/cadVoiceUsuarios.php

@ -11,17 +11,17 @@
<script src="admin/js/jquery.validationEngine-en.js" type="text/javascript"></script>
<script src="admin/js/pbxAjax.js" type="text/javascript"></script>
<script>
<!--
$(document).ready(function () {
<!--
$(document).ready(function () {
$("#form1").validationEngine({
sucess: function () {
document.form1.submit();
},
failure: function () {}
})
});
function MM_jumpMenu(targ, selObj, restore) { //v3.0
d ocument.form1.submit();
},
failure: fu n ction () {}
})
});
function MM_jumpMenu(targ, selObj, restore) { //v3.0
eval("deps.location='pop_departamento.php?id1=" + selObj.options[selObj.selectedIndex].value + "'");
if (restore)
selObj.selectedIndex = 0;
@ -50,23 +50,23 @@
$id = $_POST["id"];
$caixa_postal = trim($_POST["caixa_postal"]);
$caixa_postal_old = trim($_POST["caixa_postal_old"]);
if(md5($_SESSION['SSKeepPassword']) == trim($_POST["senha"])){
if (md5($_SESSION['SSKeepPassword']) == trim($_POST["senha"])) {
$senha = $_SESSION['SSKeepPassword'];
unset($_SESSION['SSKeepPassword']);
} else {
$senha = trim($_POST["senha"]);
$senha = trim($_POST["senha"]);
}
$email = trim($_POST["email"]);
$nome = trim($_POST["nome"]);
$email = RemoveAcentos($_POST["email"], -1);
$nome = RemoveAcentos($_POST["nome"], true);
$pager = trim($_POST["pager"]);
$attach = trim($_POST["attach"]);
$delete = trim($_POST["delete"]);
$saycid = trim($_POST["saycid"]);
$envelope = trim($_POST["envelope"]);
if(strpos('@', trim($_POST["email"]) !== false)){
if (strpos('@', trim($_POST["email"]) !== false)) {
echo "<script>alert('Informe um e-mail válido para efetuar o cadastro!')</script>";
return;
}
@ -100,15 +100,14 @@
gera_arquivos($dbcon, 'VOICEMAIL');
echo "<script>
opener.location.reload();
fecha_popup(0,'index.php?idProg=10032&pbxRequest=1$param&acao=$acao');
</script>";
/* echo "<script>
fecha_popup(0,'index.php?idProg=10032&pbxRequest=1$param&acao=$acao$param');</script>"; */
/* echo "<script>
fecha_popup(0,'index.php?idProg=10032&pbxRequest=1$param&acao=$acao$param');</script>"; */
}
if ($acao == "edita") {
@ -135,20 +134,20 @@
}
?>
<form name="form1" method="post" action="index.php?idProg=11032&pbxRequest=1&acao=<? echo $acao; ?>&acao2=salva<? echo $param; ?>" id="form1">
<form name="form1" method="post" action="index.php?idProg=11032&pbxRequest=1&acao=<?php echo $acao; ?>&acao2=salva<? echo $param; ?>" id="form1">
<table height="121" border="1" align="center" cellpadding="0" cellspacing="0" class="tabela">
<tr bordercolor="#EAEAEA" bgcolor="#EAEAEA" class="cabecalho">
<td height="21"><div align="center">CADASTRO DE VOICEMAIL
<input name="id" type="hidden" id="id" value="<?
if ($acao == 'edita') {
echo $id;
}
?>">
<input name="caixa_postal_old" type="hidden" value="<?
if ($acao == 'edita') {
echo $caixa_postal;
}
?>">
<input name="id" type="hidden" id="id" value="<?php
if ($acao == 'edita') {
echo $id;
}
?>">
<input name="caixa_postal_old" type="hidden" value="<?php
if ($acao == 'edita') {
echo $caixa_postal;
}
?>">
</div></td>
</tr>
<tr bordercolor="#EAEAEA" bgcolor="#EAEAEA">
@ -156,19 +155,19 @@
<tr>
<td><fieldset>
<legend class="labels">Nome:</legend>
<input name="nome" type="text" class="validate[required,custom[onlyLetter],length[0,100]] caixas" id="nome2" value="<?
if ($acao == 'edita') {
echo $nome;
}
?>" size="40" />
<input name="nome" type="text" class="validate[required,custom[onlyLetter],length[0,100]] caixas" id="nome2" value="<?php
if ($acao == 'edita') {
echo $nome;
}
?>" size="40" />
</fieldset></td>
<td><fieldset>
<legend class="labels"><span class="style5">Senha:</span></legend>
<input name="senha" type="password" class="validate[required] caixas" id="senha2" value="<?
if ($acao == 'edita') {
echo $senha;
}
?>" size="15" maxlength="10" />
<input name="senha" type="password" class="validate[required] caixas" id="senha2" value="<?php
if ($acao == 'edita') {
echo $senha;
}
?>" size="15" maxlength="10" />
</fieldset></td>
</tr>
</table></td>
@ -178,19 +177,19 @@
<tr>
<td><fieldset>
<legend class="labels"><span class="style5">Ramal:</span></legend>
<input name="caixa_postal" type="text" class="validate[required,custom[onlyNumber],length[0,100]] caixas" id="caixa_postal" value="<?
if ($acao == 'edita') {
echo $caixa_postal;
}
?>" size="15" />
<input name="caixa_postal" type="text" class="validate[required,custom[onlyNumber],length[0,100]] caixas" id="caixa_postal" value="<?php
if ($acao == 'edita') {
echo $caixa_postal;
}
?>" size="15" />
</fieldset></td>
<td><fieldset>
<legend class="labels"><span class="style5">E-mail:</span></legend>
<input name="email" type="email" class="validate[optional,email,length[0,100]] caixas" id="email2" value="<?
if ($acao == 'edita') {
echo $email;
}
?>" size="55" />
<input name="email" type="email" class="validate[optional,email,length[0,100]] caixas" id="email2" value="<?php
if ($acao == 'edita') {
echo $email;
}
?>" size="55" />
</fieldset></td>
</tr>
</table></td>
@ -202,113 +201,113 @@
<fieldset>
<legend class="labels">Reproduzir Identifica&ccedil;&atilde;o:</legend>
<span class="style5">
<input name="saycid" type="radio" value="yes" <?
if ($acao == 'edita') {
if ($saycid == 'yes') {
echo "checked";
}
} else {
echo "checked";
}
?> />
Sim
<input name="saycid" type="radio" value="no" <?
if ($acao == 'edita') {
if ($saycid == 'no') {
echo "checked";
}
}
?> />
N&atilde;o</span>
</fieldset></td>
<td width="50%">
<fieldset>
<legend class="labels">Enviar Anexo:</legend>
<span class="style5">
<input name="attach" type="radio" value="yes" <?
if ($acao == 'edita') {
if ($attach == 'yes') {
echo "checked";
}
} else {
echo "checked";
}
?> />
Sim
<input name="attach" type="radio" value="no" <?
if ($acao == 'edita') {
if ($attach == 'no') {
echo "checked";
}
}
?> />
N&atilde;o</span>
</fieldset></td></tr>
</table></td>
</tr>
<tr bordercolor="#EAEAEA" bgcolor="#EAEAEA">
<td height="19" class="labels"><div align="right">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="50%">
<div align="left">
<fieldset>
<legend class="labels">Deletar ap&oacute;s o envio:</legend>
<span class="style5">
<input name="delete" type="radio" value="yes" <?
if ($acao == 'edita') {
if ($delete == 'yes') {
echo "checked";
}
} else {
echo "checked";
}
?> />
Sim
<input name="delete" type="radio" value="no" <?
if ($acao == 'edita') {
if ($delete == 'no') {
echo "checked";
}
}
?> />
N&atilde;o</span>
</fieldset>
</div></td>
<td width="50%">
<div align="left">
<fieldset>
<legend class="labels">Reproduzir Data e Hora:</legend>
<span class="style5">
<input name="envelope" type="radio" value="yes" <?
if ($acao == 'edita') {
if ($envelope == 'yes') {
echo "checked";
}
} else {
echo "checked";
}
?> />
Sim
<input name="envelope" type="radio" value="no" <?
if ($acao == 'edita') {
if ($envelope == 'no') {
echo "checked";
}
}
?> />
N&atilde;o</span>
</fieldset>
</div></td>
</tr>
</table>
</div></td>
</tr>
<tr bordercolor="#EAEAEA" bgcolor="#EAEAEA">
<td height="22"><div align="center"><span class="style1"></span><span class="style1"></span><span class="style1"></span><span class="style1">
<input name="Submit2" type="button" class="labels" onclick="fecha_popup();" value="Fechar">
<input name="Submit" type="submit" class="labels" value="Salvar">
</span></div></td>
</tr>
</table>
</form>
<input name="saycid" type="radio" value="yes" <?php
if ($acao == 'edita') {
if ($saycid == 'yes') {
echo "checked";
}
} else {
echo "checked";
}
?> />
Sim
<input name="saycid" type="radio" value="no" <?php
if ($acao == 'edita') {
if ($saycid == 'no') {
echo "checked";
}
}
?> />
N&atilde;o</span>
</fieldset></td>
<td width="50%">
<fieldset>
<legend class="labels">Enviar Anexo:</legend>
<span class="style5">
<input name="attach" type="radio" value="yes" <?php
if ($acao == 'edita') {
if ($attach == 'yes') {
echo "checked";
}
} else {
echo "checked";
}
?> />
Sim
<input name="attach" type="radio" value="no" <?php
if ($acao == 'edita') {
if ($attach == 'no') {
echo "checked";
}
}
?> />
N&atilde;o</span>
</fieldset></td></tr>
</table></td>
</tr>
<tr bordercolor="#EAEAEA" bgcolor="#EAEAEA">
<td height="19" class="labels"><div align="right">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="50%">
<div align="left">
<fieldset>
<legend class="labels">Deletar ap&oacute;s o envio:</legend>
<span class="style5">
<input name="delete" type="radio" value="yes" <?php
if ($acao == 'edita') {
if ($delete == 'yes') {
echo "checked";
}
} else {
echo "checked";
}
?> />
Sim
<input name="delete" type="radio" value="no" <?php
if ($acao == 'edita') {
if ($delete == 'no') {
echo "checked";
}
}
?> />
N&atilde;o</span>
</fieldset>
</div></td>
<td width="50%">
<div align="left">
<fieldset>
<legend class="labels">Reproduzir Data e Hora:</legend>
<span class="style5">
<input name="envelope" type="radio" value="yes" <?php
if ($acao == 'edita') {
if ($envelope == 'yes') {
echo "checked";
}
} else {
echo "checked";
}
?> />
Sim
<input name="envelope" type="radio" value="no" <?php
if ($acao == 'edita') {
if ($envelope == 'no') {
echo "checked";
}
}
?> />
N&atilde;o</span>
</fieldset>
</div></td>
</tr>
</table>
</div></td>
</tr>
<tr bordercolor="#EAEAEA" bgcolor="#EAEAEA">
<td height="22"><div align="center"><span class="style1"></span><span class="style1"></span><span class="style1"></span><span class="style1">
<input name="Submit2" type="button" class="labels" onclick="fecha_popup();" value="Fechar">
<input name="Submit" type="submit" class="labels" value="Salvar">
</span></div></td>
</tr>
</table>
</form>

4
admin/callback.php

@ -4,7 +4,7 @@ $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']);
$filtroNovo = 'index.php?idProg=11020&pbxRequest=1&acao=inseri' . $filtroNovo;
if ($acao == "deleta") {
$id = $_GET["id"];
@ -31,7 +31,7 @@ if ($acao == "deleta") {
<input name="locaRamal" type="button" id="locaRamal" value="Localizar" onClick="ConsultaRamal('index.php?idProg=10020&pbxRequest=1&pesquisa=1', 0);">
</td>
<td align="right" nowrap="nowrap">
<a href="#" onclick="abre_janela('490', '450', 'index.php?idProg=11020&pbxRequest=1&acao=inseri');"><img src="images/novo.gif" width="20" height="20" border="0" align="absmiddle" />NOVO CALLBACK </a>
<a href="#" onclick="NovaJanela(<?= QuotedStr($filtroNovo); ?> , 'CadCallback', '490', '450', 'resizable=YES,scrollbars=YES');"><img src="images/novo.gif" width="20" height="20" border="0" align="absmiddle">NOVO CALLBACK</a></div>
</td>
</tr>
<tr>

5
admin/disa.php

@ -3,8 +3,10 @@ $acao = isset($_GET['acao']) ? trim($_GET['acao']) : 'select';
$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"]);
$filtroNovo = 'index.php?idProg=11019&pbxRequest=1&acao=inseri' . $filtroNovo;
$recontaPag = ($acao == 'inseri') || ($acao == "deleta") || isset($_GET['pesquisa']);
if ($acao == "deleta") {
$query = "SELECT * FROM pbx_disa order by id asc";
$result = pg_query($dbcon, $query);
@ -33,8 +35,7 @@ if ($acao == "deleta") {
<input name="locaRamal" type="button" id="locaRamal" value="Localizar" onClick="ConsultaRamal('index.php?idProg=10019&pbxRequest=1&pesquisa=1', 0);">
</td>
<td align="right" nowrap="nowrap">
<? $paramURL = sprintf("&pgn=%s&bloco=%s&pg=%s", $_GET["pgn"], $_GET["bloco"], $_GET["pg"]); ?>
<a href="#" onclick="abre_janela('540', '450', 'index.php?idProg=11019&pbxRequest=1&acao=inseri<?php echo $paramURL; ?>');"><img src="images/novo.gif" width="20" height="20" border="0" align="absmiddle" />NOVO DISA </a></div></td>
<a href="#" onclick="NovaJanela(<?= QuotedStr($filtroNovo); ?> , 'CadDisa', '540', '450', 'resizable=YES,scrollbars=YES');"><img src="images/novo.gif" width="20" height="20" border="0" align="absmiddle">NOVO DISA </a></div>
</td>
</tr>
<tr>

30
admin/lista_negra.php

@ -2,9 +2,16 @@
$acao = isset($_GET['acao']) ? trim($_GET['acao']) : 'select';
$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"]);
$filtroNovo = !isset($_REQUEST["pgn"]) ? '' : sprintf("&numRamal%s&pgn=%s&bloco=%s&pg=%s&status=%s", $_REQUEST["numRamal"], $_REQUEST["pgn"], $_REQUEST["bloco"], $_REQUEST["pg"], $_REQUEST["status"]);
$recontaPag = ($acao == 'inseri') || ($acao == "deleta") || isset($_GET['pesquisa']);
/*
$filtro = isset($_REQUEST["numRamal"]) ? trim($_REQUEST["numRamal"]) : '';
$filtroNovo = !isset($_REQUEST["pgn"]) ? '' : sprintf("&numRamal%s&pgn=%s&bloco=%s&pg=%s&status=%s", $_REQUEST["numRamal"], $_REQUEST["pgn"], $_REQUEST["bloco"], $_REQUEST["pg"], $_REQUEST["status"]);
$recontaPag = ($acao == 'inseri') || ($acao == "deleta") || isset($_REQUEST['pesquisa']);
*/
if ($acao == "deleta") {
try {
@ -48,11 +55,11 @@ if ($acao == "deleta") {
</tr>
<tr>
<td align="left" nowrap="nowrap" >
<input name="numRamal" type="text" id="numRamal" value="<? echo $_GET["numRamal"]; ?>" onkeyup="ConsultaRamal('index.php?idProg=10029&pbxRequest=1', event);" size="20">
<input name="numRamal" type="text" id="numRamal" value="<?php echo $_GET["numRamal"]; ?>" onkeyup="ConsultaRamal('index.php?idProg=10029&pbxRequest=1', event);" size="20">
<input name="locaRamal" type="button" id="locaRamal" value="Localizar" onClick="ConsultaRamal('index.php?idProg=10029&pbxRequest=1&pesquisa=1', 0);">
</td>
<td align="right" nowrap="nowrap">
<a href="#" onClick="abre_janela('560', '200', 'index.php?idProg=11029&pbxRequest=1&acao=inseri<?php echo $filtroNovo; ?>');"><img src="images/novo.gif" width="20" height="20" border="0" align="absmiddle">NOVO BLOQUEIO </a>
<a href="#" onclick="NovaJanela('index.php?idProg=11029&pbxRequest=1&acao=inseri<?= $filtroNovo; ?>&status=<?= $status; ?>', 'CadListaBloqueio', '600', '200.', 'resizable=YES,scrollbars=YES');"><img src="admin/images/novo.gif" width="20" height="20" border="0" align="absmiddle">NOVO BLOQUEIO</a>
</td>
</tr>
<tr>
@ -74,6 +81,7 @@ if (isset($_GET['pesquisa']) && $_GET['pesquisa']) {
$query = "SELECT a.id, a.nome, a.numero FROM pbx_listanegra a where id_pai is null $compl order by id asc";
$params = "&pbxRequest=1&numRamal=$filtro" . (isset($_GET['pesquisa']) ? '&pesquisa=1': '');
$params = "&pbxRequest=1&numRamal=$filtro&status=$status";
$links = PaginaDados($idProg, $query, $params, $regPagina, $offSet, $pagMostra, true);
$query .= " limit $regPagina offset $offSet";
$result = pg_query($dbcon, $query);
@ -81,26 +89,28 @@ $z = 0;
while ($dados = pg_fetch_array($result)) {
?>
<tr>
<td width="50" align="center"><? echo $dados['id']; ?></td>
<td><a href="#" style="color: #000;" onClick="abre_janela('560', '200', 'index.php?idProg=11029&pbxRequest=1&acao=edita&id=<? echo $dados['id']; ?><? echo $params; ?>');"><?php echo ocultarTelefone($dados['nome']); ?></a></td>
<td width="50" align="center"><?php echo $dados['id']; ?></td>
<td><a href="#" style="color: #000;" onClick="abre_janela('600', '200', 'index.php?idProg=11029&pbxRequest=1&acao=edita&id=<?php echo $dados['id']; ?><?php echo $params; ?>');"><?php echo ocultarTelefone($dados['nome']); ?></a></td>
<td><?php echo ocultarTelefone($dados['numero']); ?></td>
<td width="60">
<table width="100%" border="0" cellspacing="0" cellpadding="1">
<tr>
<td style="border:0"><div align="center"><a href="#" onClick="abre_janela('560', '200', 'index.php?idProg=11029&pbxRequest=1&acao=edita&id=<? echo $dados['id'] . $filtroNovo; ?>');"><img src="images/edit.gif" alt="EDITAR O RAMAL:<? echo $dados['nome']; ?>" width="16" height="16" border="0"></a></div></td>
<td style="border:0"><div align="center"><a href="#" onClick="excluir('<? echo $dados['id']; ?>', '<? echo $dados['nome']; ?>', 'DESEJA REALMENTE EXCLUIR DA LISTA:<? echo $dados['nome']; ?>', 'index.php?idProg=10029&pbxRequest=1&acao=deleta&id=<? echo $dados['id']; ?>', 'LISTA NEGRA');"><img src="images/delete.gif" alt="APAGAR O RAMAL:<? echo $dados['nome']; ?>" width="16" height="16" border="0" onClick="pergunta_apaga('<? echo $dados['id']; ?>', '<? echo $dados['nome']; ?>');"></a></div></td>
<td style="border:0"><div align="center"><a href="#" onClick="abre_janela('640', '250', 'index.php?idProg=12029&pbxRequest=1&acao=edita&idLista=<? echo $dados['id']; ?>');"><img src="images/bussola.png" alt="Lista Negra/Rotas" title="Lista Negra/Rotas" width="16" height="16" border="0"></a></div></td>
<td style="border:0"><div align="center"><a href="#" onClick="abre_janela('560', '200', 'index.php?idProg=11029&pbxRequest=1&acao=edita&id=<?php echo $dados['id'] . $filtroNovo; ?>');"><img src="images/edit.gif" alt="EDITAR O BLOQUEIO:<?php echo $dados['nome']; ?>" width="16" height="16" border="0"></a></div></td>
<td style="border:0"><div align="center">
<a href="#" onClick="excluir('<?php echo $dados['id']; ?>', '<?php echo $dados['nome']; ?>', 'DESEJA REALMENTE EXCLUIR A LISTA:<?php echo $dados['nome']; ?>', 'index.php?idProg=10029&pbxRequest=1&acao=deleta&id=<?php echo $dados['id']; ?><?= $params; ?>', 'LISTA NEGRA');"><img src="images/delete.gif" alt="APAGAR O BLOQUEIO:<?php echo $dados['nome']; ?>" width="16" height="16" border="0" onClick="pergunta_apaga('<?php echo $dados['id']; ?>', '<?php echo $dados['nome']; ?>');"></a>
</div></td>
<td style="border:0"><div align="center"><a href="#" onClick="abre_janela('640', '250', 'index.php?idProg=12029&pbxRequest=1&acao=edita&idLista=<?php echo $dados['id']; ?>');"><img src="images/bussola.png" alt="Lista Negra/Rotas" title="Lista Negra/Rotas" width="16" height="16" border="0"></a></div></td>
</tr>
</table></td>
</tr>
<?
<?php
$z++;
} if ($z == 0) {
?>
<tr align="center" valign="middle" bordercolor="#999999" class="labels">
<td colspan="8"><div align="center" class="info"><img src="images/shutdown.gif" width="24" height="24" border="0" align="absmiddle" /> Não foram encontrados registros </div></td>
</tr>
<?
<?php
}
?>
<tr>

22
admin/musicas.php

@ -1,4 +1,4 @@
<?
<?php
$acao = isset($_GET['acao']) ? trim($_GET['acao']) : 'select';
$id = isset($_GET['id']) ? trim($_GET['id']) : 0;
$filtro = isset($_GET["numRamal"]) ? trim($_GET["numRamal"]) : '';
@ -25,7 +25,7 @@ if ($acao == "deleta") {
</tr>
<tr>
<td align="left" nowrap="nowrap" >
<input name="numRamal" type="text" id="numRamal" value="<? echo $_GET["numRamal"]; ?>" onkeyup="ConsultaRamal('index.php?idProg=10022&pbxRequest=1', event);" size="20">
<input name="numRamal" type="text" id="numRamal" value="<?php echo $_GET["numRamal"]; ?>" onkeyup="ConsultaRamal('index.php?idProg=10022&pbxRequest=1', event);" size="20">
<input name="locaRamal" type="button" id="locaRamal" value="Localizar" onClick="ConsultaRamal('index.php?idProg=10022&pbxRequest=1&pesquisa=1', 0);">
</td>
<td align="right" nowrap="nowrap">
@ -41,7 +41,7 @@ if ($acao == "deleta") {
<th align="left">Diret&oacute;rio</th>
<th align="center">Ações</th>
</tr>
<?
<?php
$compl = '';
if (isset($_GET['pesquisa']) && $_GET['pesquisa']) {
$compl = PreparaLike($filtro, true);
@ -58,27 +58,27 @@ if ($acao == "deleta") {
while ($dados = pg_fetch_array($result)) {
?>
<tr>
<td width="50" align="center"><? echo $dados['id']; ?></td>
<td ><a href="#" style="color: #000;" onclick="abre_janela('490', '180', 'index.php?idProg=11022&pbxRequest=1&acao=edita&id=<? echo $dados['id']; ?><?php echo $params; ?>');"><? echo $dados['nome']; ?></a></td>
<td width="320"><? echo $dados['directory']; ?></td>
<td width="50" align="center"><?php echo $dados['id']; ?></td>
<td ><a href="#" style="color: #000;" onclick="abre_janela('490', '180', 'index.php?idProg=11022&pbxRequest=1&acao=edita&id=<?php echo $dados['id']; ?><?php echo $params; ?>');"><?php echo $dados['nome']; ?></a></td>
<td width="320"><?php echo $dados['directory']; ?></td>
<td width="60">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="33%" style="border:0"><div align="center"><a href="#" onclick="abre_janela('690', '480', 'index.php?idProg=11122&pbxRequest=1&acao=edita&id=<? echo $dados['id']; ?><?php echo $params; ?>');"><img src="images/sound22.png" alt="EDITAR A LISTA DE REPRODUÇÃO!" width="16" height="16" border="0"></a></div></td>
<td width="33%" style="border:0"><div align="center"><a href="#" onclick="abre_janela('490', '180', 'index.php?idProg=11022&pbxRequest=1&acao=edita&id=<? echo $dados['id']; ?><?php echo $params; ?>');"><img src="images/edit.gif" alt="EDITAR O GRUPO DE MÚSICA:<? echo $dados['nome']; ?>" width="16" height="16" border="0"></a></div></td>
<td width="33%" style="border:0"><div align="center"><a href="#" onclick="excluir('<? echo $dados['id']; ?>', '<? echo $dados['nome']; ?>', 'DESEJA REALMENTE EXLUIR O GRUPO DE M&Uacute;SICA:<? echo $dados['nome']; ?>', 'index.php?idProg=10022&pbxRequest=1&acao=deleta&id=<? echo $dados['id']; ?>&diretorio=<? echo $dados['directory']; ?><?php echo $params; ?>', 'M&Uacute;SICA DE ESPERA');" id="<? echo $dados['id']; ?>" nome="<? echo $dados['nome']; ?>" diretorio="<? echo $dados['directory']; ?>"><img src="images/delete.gif" alt="APAGAR O GRUPO:<? echo $dados['nome']; ?>" width="16" height="16" border="0"></a></div></td>
<td width="33%" style="border:0"><div align="center"><a href="#" onclick="abre_janela('690', '480', 'index.php?idProg=11122&pbxRequest=1&acao=edita&id=<?php echo $dados['id']; ?><?php echo $params; ?>');"><img src="images/sound22.png" alt="EDITAR A LISTA DE REPRODUÇÃO!" width="16" height="16" border="0"></a></div></td>
<td width="33%" style="border:0"><div align="center"><a href="#" onclick="abre_janela('490', '180', 'index.php?idProg=11022&pbxRequest=1&acao=edita&id=<?php echo $dados['id']; ?><?php echo $params; ?>');"><img src="images/edit.gif" alt="EDITAR O GRUPO DE MÚSICA:<?php echo $dados['nome']; ?>" width="16" height="16" border="0"></a></div></td>
<td width="33%" style="border:0"><div align="center"><a href="#" onclick="excluir('<?php echo $dados['id']; ?>', '<?php echo $dados['nome']; ?>', 'DESEJA REALMENTE EXLUIR O GRUPO DE M&Uacute;SICA:<?php echo $dados['nome']; ?>', 'index.php?idProg=10022&pbxRequest=1&acao=deleta&id=<?php echo $dados['id']; ?>&diretorio=<?php echo $dados['directory']; ?><?php echo $params; ?>', 'M&Uacute;SICA DE ESPERA');" id="<?php echo $dados['id']; ?>" nome="<?php echo $dados['nome']; ?>" diretorio="<?php echo $dados['directory']; ?>"><img src="images/delete.gif" alt="APAGAR O GRUPO:<?php echo $dados['nome']; ?>" width="16" height="16" border="0"></a></div></td>
</tr>
</table>
</td>
</tr>
<?
<?php
$z++;
} if ($z == 0) {
?>
<tr align="center" valign="middle" bordercolor="#999999" class="labels">
<td colspan="8"><div align="center" class="info"><img src="images/shutdown.gif" width="24" height="24" border="0" align="absmiddle" /> Não foram encontrados registros </div></td>
</tr>
<?
<?php
}
?>

12
admin/queues.php

@ -68,7 +68,7 @@ if ($acao == "deleta") {
</table>
</td>
<td align="right" nowrap="nowrap">
<a href="#" onclick="NovaJanela('index.php?idProg=11002&pbxRequest=1&acao=inseri<?php echo $filtroNovo; ?>&status=<?php echo $status?>', 'CadFila', '780', '560.', 'resizable=YES,scrollbars=YES');"><img src="admin/images/novo.gif" width="20" height="20" border="0" align="absmiddle">NOVA FILA </a>
<a href="#" onclick="NovaJanela('index.php?idProg=11002&pbxRequest=1&acao=inseri<?= $filtroNovo; ?>&status=<?= $status?>', 'CadFila', '780', '560.', 'resizable=YES,scrollbars=YES');"><img src="admin/images/novo.gif" width="20" height="20" border="0" align="absmiddle">NOVA FILA </a>
</td>
</tr>
@ -125,7 +125,7 @@ if ($acao == "deleta") {
?>
<tr>
<td width="50" align="center"><? echo $dados['id']; ?></td>
<td><a href="#" style="color: #000" onclick="abre_janela('780', '560.', 'index.php?idProg=11002&pbxRequest=1&acao=edita&id=<? echo $dados['id']; ?><?php echo $params; ?>');"><? echo $dados['nome']; ?></a></td>
<td><a href="#" style="color: #000" onclick="abre_janela('780', '560.', 'index.php?idProg=11002&pbxRequest=1&acao=edita&id=<? echo $dados['id']; ?><?= $params; ?>');"><? echo $dados['nome']; ?></a></td>
<td width="120"><? echo $dados['numero']; ?></td>
<td width="250"><? echo $strategia[$dados['strategy']]; ?></td>
<td width="80"><? echo $dados['timeout2']; ?></td>
@ -135,14 +135,14 @@ if ($acao == "deleta") {
<? echo GetStatusModulo($dados['status']); ?>
</div>
</td>
<td width="<?php echo $tamOper; ?>">
<td width="<?= $tamOper; ?>">
<table width="100%" border="0" cellspacing="0" cellpadding="2" style="border:0;">
<tr style="border:0;">
<td style="border:0;"><div align="center"><a href="#" title="Editar Fila: <? echo $dados['nome']; ?>" onclick="abre_janela('780', '560.', 'index.php?idProg=11002&pbxRequest=1&acao=edita&id=<? echo $dados['id']; ?><?php echo $params; ?>');"><img src="admin/images/edit.gif" alt="EDITAR A FILA:<? echo $dados['nome']; ?>" width="16" height="16" border="0"></a></div></td>
<td style="border:0;"><div align="center"><a href="#" title="Editar Fila: <? echo $dados['nome']; ?>" onclick="abre_janela('780', '560.', 'index.php?idProg=11002&pbxRequest=1&acao=edita&id=<? echo $dados['id']; ?><?= $params; ?>');"><img src="admin/images/edit.gif" alt="EDITAR A FILA:<? echo $dados['nome']; ?>" width="16" height="16" border="0"></a></div></td>
<?php if (!$totaldep) { ?>
<?php if ($dados['status'] == 'A') { ?>
<td style="border:0;"><div align="center"><a href="#" title="DESATIVAR Fila: <? echo $dados['nome']; ?>" onclick="excluir('<? echo $dados['id']; ?>', '<? echo $dados['nome']; ?>', 'DESEJA REALMENTE DESATIVAR A FILA:<? echo $dados['nome']; ?>', 'index.php?idProg=10002&pbxRequest=1&acao=deleta&id=<? echo $dados['id']; ?><?php echo $params; ?>', 'FILAS:');"><img src="admin/images/delete.gif" title="DESATIVAR A FILA:<? echo $dados['nome']; ?>" width="16" height="16" border="0"></a></div></td>
<td style="border:0;"><div align="center"><a href="#" title="DESATIVAR Fila: <? echo $dados['nome']; ?>" onclick="excluir('<? echo $dados['id']; ?>', '<? echo $dados['nome']; ?>', 'DESEJA REALMENTE DESATIVAR A FILA:<? echo $dados['nome']; ?>', 'index.php?idProg=10002&pbxRequest=1&acao=deleta&id=<? echo $dados['id']; ?><?= $params; ?>', 'FILAS:');"><img src="admin/images/delete.gif" title="DESATIVAR A FILA:<? echo $dados['nome']; ?>" width="16" height="16" border="0"></a></div></td>
<?php } else { ?>
<td style="border:0;"><img src="imgSite/fecha16.png" title="FILA INATIVA: <? echo $dados['nome']; ?>" width="16" height="16" border="0"></td>
<?php
@ -170,7 +170,7 @@ if ($acao == "deleta") {
}
?>
<tr>
<th align="center" colspan="8"><table width="100%" class="grid" border="0" cellspacing="0" cellpadding="2"><tr><th align="center" style="width: 90%; border:0;"><?php echo $links; ?></th><th align="right" style="width: 10%; border:0;"><?php echo sprintf("%s/%s", $pagMostra, $totalReg); ?></th></tr></table></th>
<th align="center" colspan="8"><table width="100%" class="grid" border="0" cellspacing="0" cellpadding="2"><tr><th align="center" style="width: 90%; border:0;"><?= $links; ?></th><th align="right" style="width: 10%; border:0;"><?= sprintf("%s/%s", $pagMostra, $totalReg); ?></th></tr></table></th>
</tr>
</table>
</td>

20
admin/rotasEntrada.php

@ -51,7 +51,7 @@ if ($acao == "deleta") {
</tr>
<tr>
<td align="left" nowrap="nowrap" >
<input name="numRamal" type="text" id="numRamal" value="<? echo $_GET["numRamal"]; ?>" onkeyup="ConsultaRamal('index.php?idProg=10017&pbxRequest=1', event);" size="20">
<input name="numRamal" type="text" id="numRamal" value="<?php echo $_GET["numRamal"]; ?>" onkeyup="ConsultaRamal('index.php?idProg=10017&pbxRequest=1', event);" size="20">
<input name="locaRamal" type="button" id="locaRamal" value="Localizar" onClick="ConsultaRamal('index.php?idProg=10017&pbxRequest=1&pesquisa=1', 0);">
</td>
<td align="right" nowrap="nowrap">
@ -92,28 +92,28 @@ if ($acao == "deleta") {
while ($dados = pg_fetch_array($result)) {
?>
<tr>
<td width="50" align="center"><? echo $dados['id']; ?></td>
<td><a href="#" style="color: #000;" title="Editar Rota: <? echo $dados['nome']; ?>" onclick="abre_janela('390', '480', 'index.php?idProg=11017&pbxRequest=1&acao=edita&id=<? echo $dados['id']; ?><?php echo $params; ?>');"><? echo $dados['nome']; ?></a></td>
<td><? echo $dados['identificador']; ?></td>
<td><? echo $dados['servicos']; ?></td>
<td><? echo $dados['modelos']; ?>&nbsp;</td>
<td width="50" align="center"><?php echo $dados['id']; ?></td>
<td><a href="#" style="color: #000;" title="Editar Rota: <?php echo $dados['nome']; ?>" onclick="abre_janela('390', '480', 'index.php?idProg=11017&pbxRequest=1&acao=edita&id=<?php echo $dados['id']; ?><?php echo $params; ?>');"><?php echo $dados['nome']; ?></a></td>
<td><?php echo $dados['identificador']; ?></td>
<td><?php echo $dados['servicos']; ?></td>
<td><?php echo $dados['modelos']; ?>&nbsp;</td>
<td width="40">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td style="border:0"><div align="center"><a href="#" title="Editar Rota: <? echo $dados['nome']; ?>" onclick="abre_janela('390', '480', 'index.php?idProg=11017&pbxRequest=1&acao=edita&id=<? echo $dados['id']; ?><?php echo $params; ?>');"><img src="images/edit.gif" alt="EDITAR A ROTA:<? echo $dados['usuario']; ?>" width="16" height="16" border="0"></a></div></td>
<td style="border:0"><div align="center"><a href="#" title="Excluir Rota: <? echo $dados['nome']; ?>" id="<? echo $dados['id']; ?>" nome="<? echo $dados['nome']; ?>" onclick="excluir('<? echo $dados['id']; ?>', '<? echo $dados['nome']; ?>', 'DESEJA REALMENTE EXLUIR A ROTA DE ENTRADA:<? echo $dados['nome']; ?>', 'index.php?idProg=10017&pbxRequest=1&acao=deleta&id=<? echo $dados['id']; ?><?php echo $params; ?>', 'ROTAS');"><img src="images/delete.gif" alt="APAGAR O TRONCO:<? echo $dados['usuario']; ?>" width="16" height="16" border="0"></a></div></td>
<td style="border:0"><div align="center"><a href="#" title="Editar Rota: <?php echo $dados['nome']; ?>" onclick="abre_janela('390', '480', 'index.php?idProg=11017&pbxRequest=1&acao=edita&id=<?php echo $dados['id']; ?><?php echo $params; ?>');"><img src="images/edit.gif" alt="EDITAR A ROTA:<?php echo $dados['usuario']; ?>" width="16" height="16" border="0"></a></div></td>
<td style="border:0"><div align="center"><a href="#" title="Excluir Rota: <?php echo $dados['nome']; ?>" id="<?php echo $dados['id']; ?>" nome="<?php echo $dados['nome']; ?>" onclick="excluir('<?php echo $dados['id']; ?>', '<?php echo $dados['nome']; ?>', 'DESEJA REALMENTE EXLUIR A ROTA DE ENTRADA:<?php echo $dados['nome']; ?>', 'index.php?idProg=10017&pbxRequest=1&acao=deleta&id=<?php echo $dados['id']; ?><?php echo $params; ?>', 'ROTAS');"><img src="images/delete.gif" alt="APAGAR O TRONCO:<?php echo $dados['usuario']; ?>" width="16" height="16" border="0"></a></div></td>
</tr>
</table>
</td>
</tr>
<?
<?php
$z++;
} if ($z == 0) {
?>
<tr align="center" valign="middle" bordercolor="#999999" class="labels">
<td colspan="8"><div align="center" class="info"><img src="images/shutdown.gif" width="24" height="24" border="0" align="absmiddle" /> Não foram encontrados registros </div></td>
</tr>
<?
<?php
}
?>
<tr>

26
admin/troncosIAX.php

@ -39,7 +39,7 @@ if ($acao == "deleta") {
</tr>
<tr>
<td align="left" nowrap="nowrap" >
<input name="numRamal" type="text" id="numRamal" value="<? echo $_GET["numRamal"]; ?>" onkeyup="ConsultaRamal('index.php?idProg=10015&pbxRequest=1', event);" size="20">
<input name="numRamal" type="text" id="numRamal" value="<?php echo $_GET["numRamal"]; ?>" onkeyup="ConsultaRamal('index.php?idProg=10015&pbxRequest=1', event);" size="20">
<input name="locaRamal" type="button" id="locaRamal" value="Localizar" onClick="ConsultaRamal('index.php?idProg=10015&pbxRequest=1&pesquisa=1', 0);">
</td>
<td align="right" nowrap="nowrap">
@ -95,19 +95,19 @@ if ($acao == "deleta") {
$portabilidade = sprintf('<img src="%s" title="Portabilidade %s!" border="0" >', $dados['portabilidade'] ? "imgSite/button_ok16.png" : "imgSite/fecha16.png", $dados['portabilidade'] ? "Ativa" : "Inativa");
?>
<tr>
<td width="50" align="center"><? echo $dados['id']; ?></td>
<td align="left"><a href="#" style="color: #000;" onclick="abre_janela('722', '350', 'index.php?idProg=11015&pbxRequest=1&acao=edita&id=<? echo $dados['id']; ?><?php echo $params; ?>');"><? echo $dados['nome']; ?></a></td>
<td align="left"><? echo $dados['callerid']; ?></td>
<td align="left"><? echo $dados['fromdomain']; ?></span></td>
<td align="left"><? echo $dados['contr_descricao']; ?></td>
<td width="30" align="center"><? echo $dep; ?></td>
<td width="20" align="center"><? echo $portabilidade; ?></td>
<td width="50" align="center"><?php echo $dados['id']; ?></td>
<td align="left"><a href="#" style="color: #000;" onclick="abre_janela('722', '350', 'index.php?idProg=11015&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['fromdomain']; ?></span></td>
<td align="left"><?php echo $dados['contr_descricao']; ?></td>
<td width="30" align="center"><?php echo $dep; ?></td>
<td width="20" align="center"><?php echo $portabilidade; ?></td>
<td width="40" align="center">
<table width="100%" border="0" cellspacing="0" cellpadding="1" align="center" style="border-color:#FFFFFF ">
<tr>
<td style="border:0"><a href="#" onclick="abre_janela('600', '350', 'index.php?idProg=11015&pbxRequest=1&acao=edita&id=<? echo $dados['id']; ?><?php echo $params; ?>');"><img src="images/edit.gif" alt="EDITAR DISA:<? echo $dados['numero']; ?>" width="16" height="16" border="0"></a></td>
<td style="border:0"><a href="#" onclick="abre_janela('600', '350', 'index.php?idProg=11015&pbxRequest=1&acao=edita&id=<?php echo $dados['id']; ?><?php echo $params; ?>');"><img src="images/edit.gif" alt="EDITAR DISA:<?php echo $dados['numero']; ?>" width="16" height="16" border="0"></a></td>
<?php if (!$totaldep) { ?>
<td style="border:0"><a href="#" onclick="excluir('<? echo $dados['id']; ?>', '<? echo $dados['nome']; ?>', 'DESEJA REALMENTE EXLUIR O TRONCO:<? echo $dados['nome']; ?>', 'index.php?idProg=10015&pbxRequest=1&acao=deleta&id=<? echo $dados['id']; ?>&id2=<? echo $dados['nome']; ?><?php echo $params; ?>', 'TRONCO SIP');"><img src="images/delete.gif" alt="APAGAR O TRONCO :<? echo $dados['nome']; ?>" width="16" height="16" border="0"></a></td>
<td style="border:0"><a href="#" onclick="excluir('<?php echo $dados['id']; ?>', '<?php echo $dados['nome']; ?>', 'DESEJA REALMENTE EXLUIR O TRONCO:<?php echo $dados['nome']; ?>', 'index.php?idProg=10015&pbxRequest=1&acao=deleta&id=<?php echo $dados['id']; ?>&id2=<?php echo $dados['nome']; ?><?php echo $params; ?>', 'TRONCO SIP');"><img src="images/delete.gif" alt="APAGAR O TRONCO :<?php echo $dados['nome']; ?>" width="16" height="16" border="0"></a></td>
<?php } else { ?>
<td style="border:0" width="33%"><div align="center"><img src="images/delete.gif" title="Este registro possui dependências e não pode ser excluído!" alt="Este registro não pode ser excluído!" width="16" height="16" border="0" ></div></td>
<?php } ?>
@ -115,14 +115,14 @@ if ($acao == "deleta") {
</table>
</td>
</tr>
<?
<?php
$z++;
} if ($z == 0) {
?>
<tr align="center" valign="middle" bordercolor="#999999" class="labels">
<td colspan="8"><div align="center" class="info"><img src="images/shutdown.gif" width="24" height="24" border="0" align="absmiddle" /> Não foram encontrados registros </div></td>
</tr>
<?
<?php
}
?>
<tr>
@ -166,7 +166,7 @@ if ($acao == "deleta") {
</table></div>
</div>
</div>
<?
<?php
if (!empty($mensagens)) {
echo $mensagens;
}

1
agente/agentert.php

@ -1498,6 +1498,7 @@ function ConnectaAgenteRt($db, $dac, $tpAtend) {
/*
* Verifica se o login foi executado com sucesso.
*/
sleep(1);
$verConexao = 0;
$i = 0;
while ($i++ < 10) {

2
agente/funcoesAgente.php

@ -692,7 +692,7 @@ function GetDadosDiscador($dac, $idCampanha = 0) {
return ocultarDadosAgente($dadosCampanha);
}
if ($idCampanha === 0) {
if (($idCampanha === 0) || !$idCampanha) {
return false;
}

8
asterisk/var_lib_asterisk/scripts/abandonadas/retornoAbandonada.php

@ -262,9 +262,15 @@ where c.dac = b.dac
and strtoint(c.espera) = 0
and d.retornar_abandonadas = 1";
if ((!$result = pg_query($query)) || !pg_num_rows($result)) {
if (!$result = pg_query($query)) {
RaiseExcept("Não foi possível consultar agentes livres!");
}
if (!pg_num_rows($result)) {
return 0;
}
$rows = pg_fetch_row($result);
return $rows[0];
}

14
asterisk/var_lib_asterisk/scripts/callcenter/atualizar-agente.php

@ -13,7 +13,7 @@ $TBL_AGENTES = "pbx_supervisor_agentes";
$log = '';
try {
if (!$p1 || !$p2) {
if (!$p1 || !$p2 || !$dbcon) {
GeraExcept("Parametros de entrada invalidos, Argv1: $p1 Argv2: $p2 ");
}
@ -155,8 +155,11 @@ try {
}
} else if ($p1 == "LOGIN") {
$query = "UPDATE $TBL_AGENTES SET status = 'PAUSA',duracao = now(),origem_destino = '',tipo_ligacao = '',status_gravacao = 'F',uniqueid = '',tipo_discagem = '',motivo_pausa = 'login' WHERE matricula = '$p2'";
if (!($result = pg_query($dbcon, $query)) || !pg_affected_rows($result)) {
RaiseExcept($query);
if (!($result = pg_query($dbcon, $query))) {
RaiseExcept("Erro Exec: " . $query);
}
if (!pg_affected_rows($result)) {
RaiseExcept("Registro nao encontrado para upd: " . $query);
}
} else {
@ -222,11 +225,10 @@ try {
}
}
}
_LogLocal();
} catch (Exception $ex) {
$log .= sprintf("Script: %s Data: %s Erro: %s \n", $argv[0], date("Y-m-d H:m:i"), $ex->getMessage());
$log .= sprintf("Script: %s Data: %s Erro: %s Erro Sys: %s Erro Db: %s\n", $argv[0], date("Y-m-d H:m:i"), $ex->getMessage(), GetLasterror(), pg_last_error());
WriteLog($log, $path);
}
pg_close($dbcon);

11
asterisk/var_lib_asterisk/scripts/callcenter/inserir-agente.php

@ -2,21 +2,26 @@
<?php
include("bd.php");
include("util/util.php");
$debug = 0;
$debug = 1;
$TBL_AGENTES = "pbx_supervisor_agentes";
$path = "/var/log/asterisk/log_erro_pabx.log";
$p1 = trim($argv[1]);
$p2 = trim($argv[2]);
$log = '';
$result = null;
try {
if (!$p1 || !$p2) {
GeraExcept("Parametros de entrada invalidos, Arg1:$p1 Arg2: $p2");
}
$query = "insert into $TBL_AGENTES (status,matricula,tempo_login,logado) values ('$p1','$p2',now(),now())";
if (!pg_query($dbcon, $query)) {
$query = "insert into $TBL_AGENTES (status,matricula,tempo_login,logado, media) values ('$p1','$p2',now(),now(),'99')";
if (!$result = pg_query($dbcon, $query)) {
RaiseExcept("Erro ao atualizar Base de dados: Cmd:[{$query}]");
}
if (!pg_affected_rows($result)) {
RaiseExcept("Cmd insert nao foi efetivado: Cmd:[{$query}]");
}
$log .= sprintf("Script: %s Exec: OK Data: %s %s\n", $argv[0], (date("Y-m-d H:m:i") . '.' . microtime(true)), ($debug ? "Cmd: {$query}" : ""));
WriteLog($log, $path);

46
asterisk/var_lib_asterisk/scripts/cnvrtd/cnvrtAudio.php

@ -10,30 +10,36 @@ include("util/constantes.php");
include("util/util.php");
include("util/cnvrtFunctions.php");
try {
try {
/*
* Saida dos comandos para log.
*/
$cmdOut = '';
$msgOut = '';
$stOut = '';
/*
* Carrega os parametros.
*/
list($src, $dst, $type, $prcName, $pathLog) = CnvrtDecodeData($argv[1], false);
/*
* Registra o inicio do script;
*/
CnvrtLog(sprintf("Script: %s Origem: %s Destino: %s Tipo: %s IPC: %s",'cnvrtAudio.php', $src, $dst, $type, $prcName));
CnvrtLog(sprintf("Script: %s Origem: %s Destino: %s Tipo: %s IPC: %s", 'cnvrtAudio.php', $src, $dst, $type, $prcName));
/*
* Cria arquivo com o pid do processo corrente.
*/
_CnvrtRegPid($prcName);
_CnvrtRegPid($prcName);
if (!file_exists($src)) {
GeraExcept("O orquivo de origem não existe!");
GeraExcept($msgOut = "O orquivo de origem não existe!");
}
if (!filesize($src)) {
GeraExcept("O arquivo não possui dados ou é inválido!");
GeraExcept($msgOut = "O arquivo não possui dados ou é inválido!");
}
/*
* Seleciona a funcao para conversao a partir do parametro type.
@ -51,34 +57,38 @@ try {
default:
break;
}
$msgSys = error_get_last();
CnvrtLog(sprintf("Conversao Audio: %s msg: %s %s cmd: %s [ %s ]", date("Y:m:i"), $msg, ($stOut ? '' : "MsgSis: " . $msgSys["message"]), $cmdOut, ($stOut ? 'OK' : 'ER')));
} catch (Exception $ex) {
CnvrtLog($ex->getMessage());
_CnvrtWirteData(_CnvrtPrepareData(0, $ex->getMessage()), $prcName, $dst);
}
function _CnvrtWavToMp3() {
global $src, $dst;
ExecAudio(sprintf('ffmpeg -y -loglevel quiet -i %s -acodec libmp3lame %s', $src, $dst));
global $src, $dst, $cmdOut;
ExecAudio($cmdOut = sprintf('ffmpeg -y -loglevel quiet -i %s -acodec libmp3lame %s', $src, $dst));
}
function _CnvrtWavToUlaw() {
global $src, $dst;
ExecAudio(sprintf('ffmpeg -y -loglevel quiet -i %s -af "highpass=f=300, lowpass=f=3400" -ar 8000 -ac 1 -ab 64k -f mulaw %s', $src, $dst));
global $src, $dst, $cmdOut;
ExecAudio($cmdOut = sprintf('ffmpeg -y -loglevel quiet -i %s -af "highpass=f=300, lowpass=f=3400" -ar 8000 -ac 1 -ab 64k -f mulaw %s', $src, $dst));
}
function _CnvrtMp3ToUlaw() {
global $src, $dst;
ExecAudio(sprintf('ffmpeg -y -loglevel quiet -i $s -ar 8000 -ac 1 -ab 64 -f mulaw %s', $src, $dst));
global $src, $dst, $cmdOut;
ExecAudio($cmdOut = sprintf('ffmpeg -y -loglevel quiet -i %s -ar 8000 -ac 1 -ab 64 -f mulaw %s', $src, $dst));
}
function ExecAudio($cmd) {
global $prcName, $dst;
global $prcName, $dst, $cmdOut, $msgOut, $stOut;
$out = '';
$ret = '';
$stOut = true;
exec($cmd, $out, $ret);
$data = _CnvrtPrepareData(1, 'Arquivo convertido com sucesso!');
$data = _CnvrtPrepareData(1, $msgOut = 'Arquivo convertido com sucesso!');
if (!file_exists($dst)) {
$data = _CnvrtPrepareData(0, 'Erro ao converter arquivo!', $out, $ret);
$data = _CnvrtPrepareData(0, $msgOut = "Erro ao converter arquivo!", $out, $ret);
$stOut = false;
}
_CnvrtWirteData($data, $prcName, $dst);
}

1
asterisk/var_lib_asterisk/scripts/cnvrtd/cnvrtd.php

@ -29,6 +29,7 @@ $numErros = 0;
* Para rodar como um processo normal é preciso passar "N" como primeiro parametro.
*/
$notDaemon = isset($argv[1]) && ( strtoupper($argv[1]) === 'N');
//$notDaemon = true;
/*
* Mostra o help quando passodo --help no primeiro argumento.

6
asterisk/var_lib_asterisk/scripts/supervisor/ssupervisor.php

@ -29,7 +29,7 @@ include("util/funcoesSsupervisor.php");
/*
* Para rodar como um processo normal é preciso passar "N" como primeiro parametro.
*/
$notDaemon = isset($argv[1]) && ( strtoupper($argv[1]) === 'N');
$notDaemon = isset($argv[1]) && ( strtoupper($argv[1]) === 'N');
/*
* Mostra o help quando passodo --help no primeiro argumento.
@ -609,7 +609,7 @@ function SeTinfoControle($tipoDados, $dados, $silent = false) {
}
function GetQueryDac() {
return "select distinct coalesce(sel, 0) as sel,
return "select distinct coalesce(sel, 0) as sel,
e.dac, coalesce(originadas_pa,0) as originadas,
coalesce(a.atendidas, 0) as atendidas,
coalesce(a.abandonadas::int, 0) as abandonadas,
@ -673,7 +673,7 @@ return "select distinct coalesce(sel, 0) as sel,
GROUP BY DATA, DAC, ID_DAC
) AS DADOS ORDER BY 1
) a on e.dac = a.dac order by 2";
return " select distinct coalesce(sel, 0) as sel,
e.dac, coalesce(originadas_pa,0) as originadas,
coalesce(a.atendidas, 0) as atendidas,

2
cadastros/classificaAtendimento/classificaDetIns.php

@ -17,7 +17,7 @@ if (isset($_POST["btGravar"])) {
$msg = "Informe uma descrição para o item!";
$jsStartup[] = "alert('$msg');";
} else {
$desc = mb_strtoupper(RemoveAcentos($desc));
$query = "insert into pbx_classifica_item(clas_id, clit_descricao, clit_status)values(%s, %s, %s)";
$query = sprintf($query, $clas_id, QuotedStr($desc), '1');
$result = pg_query($dbcon, $query);

1
cadastros/classificaAtendimento/classificaDetUpd.php

@ -23,6 +23,7 @@ if (isset($_GET["clit_id"])) {
$status = $_POST["clas_status"] ? "checked" : "";
$stClas = $_POST["clas_status"] ? "1" : "0";
$query = "update pbx_classifica_item set clit_descricao = %s, clit_status = %s where clit_id = %d";
$desc = mb_strtoupper(RemoveAcentos($desc));
$query = sprintf($query, QuotedStr($desc), $stClas, $clas_id);
$result = pg_query($dbcon, $query);
if ($result) {

1
cadastros/classificaAtendimento/classificaIns.php

@ -12,6 +12,7 @@ if (isset($_POST["btGravar"])) {
$msg = "Informe uma descrição para classificação!";
$jsStartup[] = "alert('$msg');";
} else {
$desc = mb_strtoupper(RemoveAcentos($desc));
$query = "insert into pbx_classifica_atendimento(clas_descricao, clas_status)values(%s, %s)";
$query = sprintf($query, QuotedStr($desc), '1');
$result = pg_query($dbcon, $query);

1
cadastros/classificaAtendimento/classificaUpd.php

@ -22,6 +22,7 @@ if (isset($_GET["clas_id"])) {
$clas_id = $_POST["clas_id"];
$status = $_POST["clas_status"] ? "checked" : "";
$stClas = $_POST["clas_status"] ? "1" : "0";
$desc = mb_strtoupper(RemoveAcentos($desc));
$query = "update pbx_classifica_atendimento set clas_descricao = %s, clas_status = %s where clas_id = %d";
$query = sprintf($query, QuotedStr($desc), $stClas, $clas_id);
$result = pg_query($dbcon, $query);

2
cadastros/cliente/contribSelect.php

@ -332,7 +332,7 @@
$rs = GetCodVendedor($resp['client_user_contato']);
$resp['vendedor_id'] = $rs['cod_vendedor'];
$resp['conf_data'] = date('Y-m-d H:i:s');
return $resp;
}

5
cadastros/motivosPausa/motivosPausaInsert.php

@ -1,4 +1,5 @@
<?php
// *****************************************************************************
// * OBSERVACOES *
// *****************************************************************************
@ -50,7 +51,7 @@ if ($formAction == FORM_NEW) {
if ($result) {
//Prepara a query para inserir o registro no banco
$query = sprintf($query, QuotedStr($motivo), QuotedStr($flag), QuotedStr($produtiva), QuotedStr($tempo_alerta));
//Executa a query no banco
$result = @pg_query($dbcon, $query);
@ -97,7 +98,7 @@ function LimpaGpVar() {
function GetGpValues() {
$GLOBALS["id"] = $_POST["id"];
$GLOBALS["motivo"] = $_POST["motivo"];
$GLOBALS["motivo"] = mb_strtoupper(RemoveAcentos($_POST["motivo"]));
$GLOBALS["flag"] = $_POST["flag"] ? 1 : 0;
$GLOBALS["produtiva"] = $_POST["produtiva"];
$GLOBALS["tempo_alerta"] = $_POST["tempo_alerta"] * 60;

3
cadastros/motivosPausa/motivosPausaUpdate.php

@ -40,6 +40,7 @@ if ($formAction == FORM_UPDATE) {
//GetGpValues(null);
$msgUser = "alert('Registro alterado com sucesso');";
$jsStartup[] = "window.opener.ResetForm();";
$jsStartup[] = "window.close();";
} else {
$erroBd = @pg_last_error($dbcon);
$msgUser = "alert('A operação não pode ser realizada!Erro: $erroBd');";
@ -73,7 +74,7 @@ function GetGpValues($db) {
$GLOBALS["id"] = empty($db) ? $_POST["id"] : $row["id"];
$GLOBALS["flag"] = empty($db) ? ($_POST["flag"] ? 1 : 0) : $row["flag"];
$GLOBALS["motivo"] = empty($db) ? $_POST["motivo"] : $row["motivo"];
$GLOBALS["motivo"] = mb_strtoupper(RemoveAcentos(empty($db) ? $_POST["motivo"] : $row["motivo"]));
$GLOBALS["produtiva"] = empty($db) ? $_POST["produtiva"] : $row["produtiva"];
$GLOBALS["tempo_alerta"] = empty($db) ? $_POST["tempo_alerta"] * 60 : $row["tempo_alerta"] / 60;
}

7
cadastros/prevenda/listacampanhacliente.php

@ -8,7 +8,9 @@
*/
$_SESSION['SSCloId'] = $cloid;
$input = filter_input_array(INPUT_POST, FILTER_SANITIZE_SPECIAL_CHARS);
// var_dump($input); exit;
try {
if (!$cloid) {
throw new Exception('Não foi possível encontrar a lista informada!');
@ -42,6 +44,7 @@
/**
* INFORMACOES DA LISTA SELECIONADA
*/
$lstdados = '';
foreach ($listClient as $value) {
$lstdados .= "<td>{$value['clo_id']}</td>";
$lstdados .= "<td>{$value['clo_titulo']}</td>";
@ -82,7 +85,7 @@
$stragente = str_replace('input_', '', $key);
$agente = str_replace('_', '.', $stragente);
$agentes[] = array('apelido' => $agente, 'cliente' => $value, 'matricula' => __getMatriculaAgente($agente));
$quantidade += $value[$key];
$quantidade += $value;
}
}

2
cadastros/ramais/cadGrupoRamais.php

@ -2,7 +2,7 @@
$tpLayout = 1;
$nomeTpl = "cadastros/ramais/cadGrupoRamais.htm";
$cc_descricao = trim($_REQUEST['cc_descricao']);
$cc_descricao = RemoveAcentos($_REQUEST['cc_descricao'], true);
$cc_id = $_REQUEST['cc_id'];
$empresa = isset($_POST['listaEmpresas']) ? $_POST['listaEmpresas'] : $_REQUEST['empresa'];
$departamento = isset($_POST['listaDeptos']) ? $_POST['listaDeptos'] : $_REQUEST['departamento'];

143
compara/atual.php

@ -0,0 +1,143 @@
UPDATE pbx_cliente SET client_user_contato = '{$matricula}' WHERE client_id IN (SELECT client_id FROM pbx_cliente WHERE clo_id = $cloid AND list_id IS NULL AND cmp_id IS NULL AND client_user_contato IS NULL and client_status <> '999' LIMIT $reg);";
EXEC dbo.sip_insert_prospect '','119','SN SHIGOTO SERVICES LTDA','','','F','43235786000139','SE','SP','SANTANA DE PARNAIBA','EM PROSPECÇÃO','35136', 'SERGIO DO NASCIMENTO', '1028'
´
select a.dac,
a.ramal as ramal_monitor,
a.matricula,
a.nome,
a.monitorar as statusmonitorar,
a.intercalar as statusintercalar,
( (EXTRACT(EPOCH FROM (now() - a.duracao)) / 60)) as status_time,
a.disponivel_atendimento,
chamada_classificado,
(LOCALTIMESTAMP(0) - a.tempo_login) as tempo_logado,
a.modo_atendimento,
a.origem_destino as fone,
trim(status) as status_agente,
case when((a.status = 'PAUSA') and (coalesce(a.motivo_pausa, '') <> ''))then a.status || '-' || upper(a.motivo_pausa) else a.status end as status,
(LOCALTIMESTAMP(0) - a.duracao) as duracao,
protocolo as num_protocolo,
uniqueid2,
extract(epoch from (now() - logado))::int as tempo_atualiza,
trim(motivo_pausa) as pausa_motivo_rt,
trim(uniqueid) as uniqueid,
disponivel_atendimento,
chamada_classificado,
coalesce(canal_transfer, '') as canal_transfer,
media,
tipo_ligacao, cont_identificador, status_discador,
( SELECT count(*)
FROM ast_bilhetes x, ast_eventos_dacs y
where y.uid2 = x.uniqueid
and x.data_bilhete in(a.tempo_login::date, now()::date)
and y.fila = a.dac
and y.agente = ('Agent/' || a.matricula)
and y.evento in('COMPLETAAGENT','COMPLETACALLER','TRANSFERORIG')
and x.lastapp <> 'Transferred Call' ) as originadas_pa,
( SELECT count(*)
FROM ast_bilhetes x, ast_eventos_dacs y, ast_bilhetes_complemento z
where y.uid2 = x.uniqueid
and x.uniqueid = z.uniqueid2
and z.direcao = 'fila-ramal'
and x.data_bilhete in(a.tempo_login::date, now()::date)
and y.fila = a.dac
and y.agente = ('Agent/' || a.matricula)
and y.evento in('COMPLETEAGENT','COMPLETECALLER', 'TRANSFER','COMPLETEAGENTRAMAL','COMPLETECALLERRAMAL')
and x.lastapp <> 'Transferred Call' ) AS atendidas_pa,
( SELECT sum(
CASE WHEN ((y.evento = 'TRANSFER') or (y.evento = 'TRANSFERORIG')) THEN strtoint(y.param4)
ELSE strtoint(y.param2) END
)
FROM ast_bilhetes x, ast_eventos_dacs y
where y.uid2 = x.uniqueid
and x.data_bilhete in(a.tempo_login::date, now()::date)
and y.fila = a.dac
and y.agente = ('Agent/' || a.matricula)
and y.evento in('COMPLETEAGENT','COMPLETECALLER', 'TRANSFER','COMPLETEAGENTRAMAL','COMPLETECALLERRAMAL', 'COMPLETAAGENT','COMPLETACALLER','TRANSFERORIG')
and x.lastapp <> 'Transferred Call') AS tempo_atendimento
FROM pbx_supervisor_agentes a where 1=1 order by a.dac, a.nome
error_reporting(E_ALL);
ini_set('display_errors', 0);
http://repositorio.simplesip.com.br/
SELECT * FROM pbx_campanha_contato_status WHERE ctst_id NOT IN(
SELECT ctst_id FROM (SELECT CASE WHEN(COUNT(ctst_id) > 1) THEN ctst_id END AS ctst_id
FROM pbx_grupo_campanha_contato_status
GROUP BY ctst_id ORDER BY 1) AS DATA
WHERE ctst_id IS NOT NULL) AND ctst_id NOT IN (SELECT ctst_id FROM pbx_campanha_referencia_status)
INSERT INTO pbx_cliente (client_tipo_documento, client_documento, "
. "client_razao_social, client_nome_fantasia, client_endereco, "
. "client_municipio, client_uf, client_telefone, client_celular, "
. "client_email, client_nome_contato, clo_id, client_status)
"COPY portabilidade_temp FROM '$file' WITH DELIMITER AS ',' QUOTE '\"' CSV HEADER";
"INSERT INTO pbx_listanegra (nome,numero,entrada,saida,opcao,acao)
VALUES ('NAO PERTURBE','0','0','0','','')";
http://192.168.115.83:3000/LucasCM/simples-whatsapp.git
Boa Noite!
Conforme conversamos, precisamos revisar os seguintes itens:
1) Arquivo do Apache
2) Algar
2.1) Consolida Vendas
2.2) Não perturbe
2.3) Bloqueio Televendas
2.4) Pesquisa Algar
3) Revisar crontab
4) Apagar info.php
5) Apagar diretórios improdutivos (vou fornecer uma lista)
6) Criar perfil de instalação para personalização ex.: Algar
7) Desabilitar autovacuum
8) Transbordo no crontab tem que apontar para agi-bin
9) Remover portabilidade
Att;
CREATE OR REPLACE VIEW pbx_lista_arquivo_som AS
SELECT a.tipo, a.arq_som
FROM (
( SELECT 'ura'::text AS tipo, pbx_ura.som_ura AS arq_som FROM pbx_ura
UNION
SELECT 'anuncio'::text AS tipo, pbx_anuncios.musica AS arq_som FROM pbx_anuncios
)
UNION
SELECT 'conferencia'::text AS tipo, pbx_conferencia.anuncio AS arq_som FROM pbx_conferencia) a
WHERE btrim(a.arq_som::text) <> ''::text;
ALTER TABLE pbx_lista_arquivo_som
OWNER TO contacte;
ws://app.simplesip.com.br/wss
http://app.simplesip.com.br
select id, prm_sk_host_chat, prm_chat_api, prm_media_simultaneo, prm_chat_api_supervisor into pbx_parametros_bk from pbx_parametros where id = 1;
alter table pbx_parametros drop column prm_chat_api_supervisor;
alter table pbx_parametros add prm_chat_api_supervisor varchar(255);
alter table pbx_parametros drop column prm_sk_host_chat;
alter table pbx_parametros add prm_sk_host_chat varchar(255);
alter table pbx_parametros drop column prm_chat_api;
alter table pbx_parametros add prm_chat_api varchar(255);
update pbx_parametros set prm_chat_api_supervisor = (select prm_chat_api_supervisor from pbx_parametros_bk where id = 1);
update pbx_parametros set prm_chat_api = (select prm_chat_api from pbx_parametros_bk where id = 1);
update pbx_parametros set prm_sk_host_chat = (select prm_sk_host_chat from pbx_parametros_bk where id = 1);
drop table pbx_parametros_bk;
select id, prm_sk_host_chat, prm_chat_api, prm_media_simultaneo, prm_chat_api_supervisor from pbx_parametros where id = 1;

4
contacteFunc.php

@ -990,9 +990,9 @@ function GetDeptos($dbcon, $empresa, $depto, $disableb = "", $incTodos = 0, $use
*/
$query = "select id, nome_depto from pbx_departamentos where empresa = $empresa";
$query = "select id, nome_depto from pbx_departamentos where empresa = '$empresa'";
$result = @pg_query($dbcon, $query);
$result = !$dbcon ? pg_query($query) : pg_query($dbcon, $query);
$codSel = $depto;

5
doc/correcoes-1711.txt

@ -0,0 +1,5 @@
Manutenção de Sites -> http://localhost/index.php?idProg=105
Mostra senha no código

2
doc/funcoes-internas.sql

@ -0,0 +1,2 @@
select * from pbx_funcoes_internas where id_prog in(27,28,29,30, 31);
select * from pbx_funcoes_internas where id_prog in(84);

BIN
imgSite/pglast.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

BIN
imgSite/pgnext.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

3
include/bd.php

@ -16,6 +16,7 @@ function GetConectString() {
}
function GetAvisoErroDB() {
include('configs/config.php');
$_SESSION["Db_conf_ok"] = "0";
return "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">
<html>
@ -46,7 +47,7 @@ function GetAvisoErroDB() {
<tr>
<td><table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"10\">
<tr>
<td align=\"left\"><img src=\"".LOGO_HEADER_SITE."\" width=\"160\" height=\"69\"></td>
<td align=\"left\"><img src=\"". LOGO_HEADER_SITE ."\" width=\"160\" height=\"69\"></td>
</tr>
<tr align=\"center\">
<td nowrap><span class=\"style1\"> N&atilde;o foi poss&iacute;vel estabelecer uma conex&atilde;o com o banco de dados! </span></td>

83
include/configBd.php

@ -1,33 +1,50 @@
<?php
/*
* Configuração para acesso ao banco de dados principal da aplicação.
*/
$dbPort = getenv('DB_PORT') ? getenv('DB_PORT') : '5432';
$dbHost = getenv('DB_HOST') ? getenv('DB_HOST') : '127.0.0.1';
$dbName = getenv('DB_BASE') ? getenv('DB_BASE') : 'pbx';
$dbUser = getenv('DB_USER') ? getenv('DB_USER') : 'contacte';
$dbPassword = getenv('DB_PASSWD') ? getenv('DB_PASSWD') : 'ctepgSQL';
/*
* Esta configuração define se o servidor será Master
* e se havera sincronização da conta/senha entre os multiplos sites.
* Obs.: Quando não utilizar sincronização de conta/senha o valor de
* master deve ser 1.
*/
$master = 1;
$sincContaSenha = 0;
$hostApi = '127.0.0.1';
$portaApi = ''; // Default 80
/*
* Quando o arquivo for configurado para slave(master=0) no parametro hostMaster deve ser
* informado o Ip do servidor master.
*/
$hostMaster = '127.0.0.1';
/*
*Informe uma identificação para o servidor
*/
$serverName = 'MASTER_SERVER';
?>
<?php
/*
* Configuração para acesso ao banco de dados principal da aplicação.
*/
$dbPort = '5432';
$dbHost = '127.0.0.1';
$dbName = 'pbx';
$dbUser = 'contacte';
$dbPassword = 'ctepgSQL';
/*
* Esta configuração define se o servidor será Master
* e se havera sincronização da conta/senha entre os multiplos sites.
* Obs.: Quando não utilizar sincronização de conta/senha o valor de
* master deve ser 1.
*/
$master = 1;
$sincContaSenha = 0;
/*
* Quando o arquivo for configurado para slave(master=0) no parametro hostMaster deve ser
* informado o Ip do servidor master.
*/
$hostMaster = '127.0.0.1';
/*
*Informe uma identificação para o servidor
*/
$serverName = 'MASTER_SERVER';
/*
* Configurações para acesso a api.
*
*/
$hostApi = '127.0.0.1';
$portaApi = '';
/*
* Acesso ao mysql para real-time.
*
*/
$myParams = array('myPort' => '3306',
'myHost' => '127.0.0.1',
'myDatabase' => 'pabx',
'myUser' => 'root',
'myPassword' => 'SimpleS_root'
);
?>

76
include/util/Crypt.php

@ -0,0 +1,76 @@
<?php
/**
* Description of Cripty
*
* @author Lucas Awade
*/
class Crypt {
private $message;
private $key;
private $option;
private $tag;
private $cipher;
private $ivlen;
private $iv;
private $textcrypt;
const CONF_CIPHER_CRYPT = 'aes-256-cbc';
function __construct($key = null, $cipher = null, $option = OPENSSL_RAW_DATA, $tag = null) {
if (!$cipher) {
$this->cipher = self::CONF_CIPHER_CRYPT;
} else {
$this->cipher = $cipher;
}
$this->key = $key;
$this->option = $option;
$this->tag = $tag;
$this->openssl_crypt();
}
public function encrypt($message = null) {
$this->setMessage($message);
$encrypt = openssl_encrypt($this->message, $this->cipher, $this->key, $this->option, $this->iv);
$hashcode = hash_hmac('sha256', $encrypt, $this->key, true);
$this->textcrypt = base64_encode($this->iv . $hashcode . $encrypt);
return $this->textcrypt;
}
public function decrypt($textcrypt = null) {
$c = base64_decode($textcrypt);
$this->iv = substr($c, 0, $this->ivlen);
$hmac = substr($c, $this->ivlen, 32);
$ciphertext_raw = substr($c, $this->ivlen + 32);
$original_plaintext = openssl_decrypt($ciphertext_raw, $this->cipher, $this->key, $options = OPENSSL_RAW_DATA, $this->iv);
$calcmac = hash_hmac('sha256', $ciphertext_raw, $this->key, true);
if (hash_equals($hmac, $calcmac)) {
return $original_plaintext;
}
}
private function openssl_crypt() {
if (in_array(strtolower($this->cipher), openssl_get_cipher_methods())) {
$this->ivlen = openssl_cipher_iv_length($this->cipher);
$this->iv = openssl_random_pseudo_bytes($this->ivlen);
}
}
public function setKey($key) {
$this->key = $key;
}
public function setOption($option) {
$this->option = $option;
}
public function setTag($tag) {
$this->tag = $tag;
}
public function setMessage($message) {
$this->message = $message;
}
}

2
include/util/Pid.php

@ -26,7 +26,7 @@ final class Pid {
}
private function PidFile() {
return sprintf('/tmp/%s%s.pid', $this->fileName . ($this->options['pidDate'] ? "-" . date('Ymd'): ''));
return sprintf('/tmp/%s%s.pid', $this->fileName, ($this->options['pidDate'] ? ("-" . date('Ymd')): ''));
}
private function PidCheck() {

50
include/util/funcoesApl.php

@ -507,29 +507,29 @@ function CriaPerfilSincronizacao($conn) {
return ($result && pg_query($conn, $query));
}
function CriaPerfil($conn, $grupo, $tableFuncoes) {
/*
* Apaga perfil existente
*/
$query = "delete from pbx_grupo_funcoes where gp_id = (select gp_id from pbx_grupo where upper(gp_nome) = upper('$grupo'))";
$result = @pg_query($conn, $query);
if (!$result)
return false;
/*
* Insere novo perfil com base a funcoes pre-cadastradas nas tableas pbx_administrador_funcoes, pbx_supervisor_funcoes, pbx_agente_funcoes
*/
$query = "insert into pbx_grupo_funcoes(gp_id, fun_id)
select (select gp_id from pbx_grupo where upper(gp_nome) = upper('$grupo') ) as gp_id,
fun_id
from pbx_funcoes
where fun_nome in(select fun_nome from $tableFuncoes)";
$result = @pg_query($conn, $query);
if (!$result)
return false;
return true;
}
//function CriaPerfil($conn, $grupo, $tableFuncoes) {
// /*
// * Apaga perfil existente
// */
// $query = "delete from pbx_grupo_funcoes where gp_id = (select gp_id from pbx_grupo where upper(gp_nome) = upper('$grupo'))";
// $result = @pg_query($conn, $query);
// if (!$result)
// return false;
//
// /*
// * Insere novo perfil com base a funcoes pre-cadastradas nas tableas pbx_administrador_funcoes, pbx_supervisor_funcoes, pbx_agente_funcoes
// */
// $query = "insert into pbx_grupo_funcoes(gp_id, fun_id)
// select (select gp_id from pbx_grupo where upper(gp_nome) = upper('$grupo') ) as gp_id,
// fun_id
// from pbx_funcoes
// where fun_nome in(select fun_nome from $tableFuncoes)";
// $result = @pg_query($conn, $query);
// if (!$result)
// return false;
//
// return true;
//}
function GetLinkNovaJanela($width, $height, $link, $nomeJan, $atrib = '') {
SetDimensoes($width, $height);
@ -3851,8 +3851,8 @@ function PaginaDados($idProg, $sql, &$params, &$regPagina, &$offSet, &$pagMostra
$i++;
}
$imgNext = sprintf("<img src=\"imgSite/%s\" width=\"$tamIcone\" height=\"$tamIcone\" border=\"0\">", $bloco >= $numBlocos ? 'nextOff.png' : 'next.png');
$imgLast = sprintf("<img src=\"imgSite/%s\" width=\"$tamIcone\" height=\"$tamIcone\" border=\"0\">", $bloco >= $numBlocos ? 'lastOff.png' : 'last.png');
$imgNext = sprintf("<img src=\"imgSite/%s\" width=\"$tamIcone\" height=\"$tamIcone\" border=\"0\">", $bloco >= $numBlocos ? 'nextOff.png' : 'pgnext.png');
$imgLast = sprintf("<img src=\"imgSite/%s\" width=\"$tamIcone\" height=\"$tamIcone\" border=\"0\">", $bloco >= $numBlocos ? 'lastOff.png' : 'pglast.png');
$linkNext = sprintf('<a class="pagina" href="index.php?idProg=%s%s&pgn=1&bloco=%s">%s</a>', $idProg, $params, $bloco, $imgNext);
$linkLast = sprintf('<a class="pagina" href="index.php?idProg=%s%s&pgn=0&pg=%s&bloco=%s">%s</a>', $idProg, $params, $paginas - 1, $numBlocos, $imgLast);

18
include/util/util.php

@ -171,16 +171,21 @@ function checkDateType($date) {
//retorna uma string sem acentos
function RemoveAcentos($str, $upper = False) {
$text = array('À', 'Á', 'Â', 'Ã', 'Ä', 'Å', 'Æ', 'Ç', 'È', 'É', 'Ê', 'Ë', 'Ì', 'Í', 'Î', 'Ï', 'Ð', 'Ñ', 'Ò', 'Ó', 'Ô', 'Õ', 'Ö', 'Ø', 'Ù', 'Ú', 'Û', 'Ü', 'Ý', 'Þ', 'ß', 'à', 'á', 'â', 'ã', 'ä', 'å', 'æ', 'ç', 'è', 'é', 'ê', 'ë', 'ì', 'í', 'î', 'ï', 'ð', 'ñ', 'ò', 'ó', 'ô', 'õ', 'ö', 'ø', 'ù', 'ú', 'û', 'ü', 'ý');
$text = array('À', 'Á', 'Â', 'Ã', 'Ä', 'Å', 'Æ', 'Ç', 'È', 'É', 'Ê', 'Ë', 'Ì', 'Í', 'Î', 'Ï', 'Ð', 'Ñ', 'Ò', 'Ó', 'Ô', 'Õ', 'Ö', 'Ø', 'Ù', 'Ú', 'Û', 'Ü', 'Ý', 'Þ', 'ß', 'à', 'á', 'â', 'ã', 'ä', 'å', 'æ', 'ç', 'è', 'é', 'ê', 'ë', 'ì', 'í', 'î', 'ï', 'ð', 'ñ', 'ò', 'ó', 'ô', 'õ', 'ö', 'ø', 'ù', 'ú', 'û', 'ü', 'ý');
$subs = array('A', 'A', 'A', 'A', 'A', 'A', 'A', 'C', 'E', 'E', 'E', 'E', 'I', 'I', 'I', 'I', 'D', 'N', 'O', 'O', 'O', 'O', 'O', 'O', 'U', 'U', 'U', 'U', 'U', 'P', 'B', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'c', 'e', 'e', 'e', 'e', 'i', 'i', 'i', 'i', 'o', 'n', 'o', 'o', 'o', 'o', 'o', 'o', 'u', 'u', 'u', 'u', 'y');
$str = trim($str);
for ($i = 0; $i < strlen($str); $i++) {
$j = array_search($str[$i], $text);
if ($j)
$str[$i] = $subs[$j];
}
if ($upper)
$str = strtoupper($str);
$str = str_replace(['~', '^', '`', '´', '\''], '', $str);
if ($upper && ($upper === -1)){
$str = mb_strtolower($str);
}else if ($upper){
$str = mb_strtoupper($str);
}
return($str);
}
@ -570,9 +575,8 @@ function WriteLog($log, $path = '') {
if (!$path) {
$path = '/var/log/asterisk/log_geral.log';
}
$log .= "\n";
$arq = fopen($path, 'a');
fwrite($arq, $log);
fwrite($arq, trim($log) . "\n");
fclose($arq);
}
@ -2353,7 +2357,7 @@ function pgGetError($dbcon) {
GeraExcept("Não foi possível realizar a conversão da lista! PG_" . pg_last_error());
}
}
function SendSMS($paramsEnvio) {
return "Funcao nao implementada";
}

1
integracao/media/.gitignore vendored

@ -12,7 +12,6 @@ Homestead.yaml
npm-debug.log
yarn-error.log
/.idea
/.vscode
/stubs
/public/node_modules
/public/vendor

2
integracao/media/Dockerfile

@ -1,6 +1,6 @@
FROM php:8.0-apache
RUN apt-get update && apt-get install -y \
vim
vim git
ADD https://raw.githubusercontent.com/mlocati/docker-php-extension-installer/master/install-php-extensions /usr/local/bin/
RUN chmod uga+x /usr/local/bin/install-php-extensions && sync && \

4
integracao/media/app/Controllers/AgentController.php

@ -8,12 +8,10 @@ use app\Models\Ramal;
use app\Models\Pause;
use app\Models\Bilhete;
use app\Models\EventQueue;
use app\Controllers\ClassificacaoController;
use app\Models\Atendimento;
use app\Models\Evento;
use app\Models\Message;
use app\Models\SupervisorModel;
use app\Providers\Positus;
use Exception;
use websocket\WsInterface;
@ -277,7 +275,7 @@ class AgentController extends Controller
$agentTransf->matricula
);
//$ws->enviaMsg($ws->enviaActions('Atendimento transferido', 'transfer', $agent->matricula, $uniqueid));
$provedor = new Positus();
$provedor = returnChannel($atendAtual->context);
$provedor->enviarMsg($atendAtual->cliente_id, CONF_NAME_REPONSE . ": Atendimento transferido");
$messegeModel = new Message();
$messegeModel->addMessage(

4
integracao/media/app/Controllers/QueueController.php

@ -58,6 +58,10 @@ class QueueController extends Controller
$search = $this->queue->findAllQueue();
$strmsg = "Informe o numero do setor para o atendimento: \n";
$count = 1;
if (count($search) == 1) {
$response['QUEUE'] = $search[0]->nome;
return $response;
}
foreach ($search as $q) {
if ($option == $count || $option == $q->nome) {
$response['QUEUE'] = $q->nome;

7
integracao/media/app/Controllers/SystemMessageController.php

@ -21,10 +21,13 @@ class SystemMessageController extends Controller
{
$this->sysMessage = new SystemMessage();
}
public function sendMessageSystem($momento, $variavels, IApiMedia $api, $numero)
public function sendMessageSystem($momento, $variavels, IApiMedia $api, $numero, $fila = null)
{ //$variavels = [["nome" => '@cliente', "valor" => 'afonso']]
try {
$msgs = $this->sysMessage->findMessage($momento);
$msgs = $this->sysMessage->findMessage($momento, $fila);
if (empty($msgs)) {
$msgs = $this->sysMessage->findMessage($momento);
}
foreach ($msgs as $key => $msg) {
$msg->texto = str_replace('\n', "\n", $msg->texto);

7
integracao/media/app/Core/Commands.php

@ -90,12 +90,13 @@ class Commands
$ws = new WsInterface();
$agente = $supervisorModel->findAgentByMatricula($atendimento->matricula);
$messegeModel = new Message();
$mensagemW = 'Atendimento finalizado pelo cliente';
$messegeModel->addMessage(
$atendimento->uniqueid,
$numero,
$agente->matricula,
'finish',
'Atendimento finalizado',
$mensagemW,
$atendimento->nome,
$atendimento->context,
'read'
@ -118,13 +119,13 @@ class Commands
//envia as mensagens do sistema do momento atual para o cliente
$this->systemController->sendMessageSystem(
CONF_MOMENT_FINALIZAR_ATENDIMENTO,
[],
[["nome" => "@autor_name", "valor" => $atendimento->nome]],
$this->api,
$numero
);
$this->atendimentoModel->commit();
//notifica o agente da mudança
$ws->enviaMsg($ws->enviaActions('Atendimento finalizado', 'finish', $agente->matricula, $atendimento->uniqueid));
$ws->enviaMsg($ws->enviaActions($mensagemW, 'finish', $agente->matricula, $atendimento->uniqueid));
return true;
} else {
$this->atendimentoModel->rollback();

49
integracao/media/app/Core/CoreMedia.php

@ -26,9 +26,6 @@ class CoreMedia
/** @var IApiMedia $api api do provedor de mensagens */
protected $api;
/** @var array $request hook da requisição de webhook*/
protected $request;
/** @var Commands $commands classe de comandos do sistema*/
protected $commands;
@ -92,13 +89,12 @@ class CoreMedia
public function inicia($data, IApiMedia $providere)
{
/** Validate $data */
$this->build($data);
$this->api = $providere;
$this->api->setHook($this->request);
$this->build($data);
if (!$this->api->getIsValidMessage()) {
return null;
}
logger('positus')->info(print_r($data, true));
if (!$this->api->baixarMidia()) {
$this->api->enviarMsg($this->api->getPhone(), "Não foi possivel entregar o aquivo para o agente. Envie novamente!");
}
@ -108,11 +104,12 @@ class CoreMedia
}
//verifica se tem atendimento em aberto, se tiver ja manda msg para o agente via ws
$atendiment = $this->atendimento->findAtenEmAberto($this->api->getPhone());
if ($atendiment) {
$this->enviaMensagemAgente($atendiment);
return null;
}
//verifica se tem atendimento em espera, se tiver ja mostra a sua posição na fila
//verifica se tem atendimento em espera, se tiver ja mostra a sua posi<EFBFBD><EFBFBD>o na fila
$atende = $this->atendimento->getAtendimentoByCliente($this->api->getPhone());
if (empty($atende)) {
$atende = $this->atendimento->getAtendimentoByCliente($this->api->getPhone(), CONF_EVENT_ERRO_ATEND);
@ -144,29 +141,20 @@ class CoreMedia
*/
public function build($data)
{
$this->request = $data;
$this->api->setHook($data);
$this->validaPalavroes();
}
public function validaPalavroes()
{
try {
if ($this->request['text']) {
$msg = $this->request['text'];
} else {
$msg = $this->request['messages'][0]['text']['body'];
}
$msg = $this->api->getMessage();
$palavras = $this->palavroes->getAll();
foreach ($palavras as $key => $value) {
$pattern = "/\b($value->palavra)\b/i";
$msg = preg_replace($pattern, '*' . str_repeat('*', strlen($value->palavra)) . '*', $msg);
}
if ($this->request['text']) {
$this->request['text'] = $msg;
} else {
$this->request['messages'][0]['text']['body'] = $msg;
}
$this->api->setMessage($msg);
} catch (\Exception $th) {
}
return;
@ -186,7 +174,8 @@ class CoreMedia
CONF_MOMENT_ENTRAR_FILA_SEM,
[],
$this->api,
$numero
$numero,
$fila
);
return null;
}
@ -196,7 +185,8 @@ class CoreMedia
CONF_MOMENT_ENTRAR_FILA_COM,
[],
$this->api,
$numero
$numero,
$fila
);
$this->mostraPosiscaoNaFila($numero, $fila);
return null;
@ -233,7 +223,8 @@ class CoreMedia
CONF_MOMENT_INICIAR_ATENDIMENTO,
[["nome" => "@agente_name", "valor" => utf8_encode($agent[0]->nome)]],
$this->api,
$numero
$numero,
$fila
);
$this->api->enviarMsg(
$numero,
@ -241,7 +232,12 @@ class CoreMedia
);
try {
if ($event->evento == CONF_EVENT_ERRO_ATEND) {
$ws->enviaMsg($ws->enviaActions('Este atendimento foi realocado para sua responsabilidade.', 're_start', $agent[0]->matricula, $uniqueid));
$ws->enviaMsg($ws->enviaActions(
'Este atendimento foi realocado para sua responsabilidade.',
're_start',
$agent[0]->matricula,
$uniqueid
));
$this->message->addMessage(
$uniqueid,
$agent[0]->matricula,
@ -297,6 +293,7 @@ class CoreMedia
function enviaMensagemAgente($atendiment)
{
$this->message->addMessage(
$atendiment->uniqueid,
$this->api->getPhone(),
@ -311,7 +308,7 @@ class CoreMedia
$this->api->getId()
);
$this->ws->enviaMsg(
$this->api->convertToWebsocket(
$this->ws->convertToWebsocket(
$this->retornaConteudo(),
$atendiment->matricula,
$atendiment->uniqueid,
@ -320,7 +317,9 @@ class CoreMedia
$this->api->getPhone(),
time(),
$this->api->getId(),
$this->api->getMimetype()
$this->api->getMimetype(),
$this->api->retornaTituloDocument(),
$this->api->getchannel()
)
);
}

4
integracao/media/app/Interfaces/IApiMedia.php

@ -5,6 +5,8 @@ namespace app\Interfaces;
interface IApiMedia
{
function getchannel();
function getContentType();
function enviarMedia($whatsapp, $link, $type, $titulo = null);
function enviarMsg($whatsapp, $mensagem, $encode = true);
function enviarMsgIterativaLista($whatsapp, $mensagem, $nomeButton, $sections);
function enviarMsgIterativaBotao($whatsapp, $mensagem, $buttons);
@ -18,10 +20,10 @@ interface IApiMedia
function getId();
function getIsValidMessage();
function getMessage();
function setMessage($msg);
function getContactFormatted();
function getContactPhone();
function getGeolocation($type);
function setHook($hook);
function retornaTituloDocument();
function convertToWebsocket($content, $matricula = '', $idAtendimento, $type, $name, $number, $data, $idProvedor, $mimetype);
}

83
integracao/media/app/Middleware/ApiAgente.php

@ -15,7 +15,6 @@ use app\Models\Parametros;
use app\Models\Pause;
use app\Models\Queue;
use app\Models\SupervisorModel;
use app\Providers\Positus;
use websocket\WsInterface;
class ApiAgente implements IApi
@ -54,6 +53,7 @@ class ApiAgente implements IApi
function router($rota, $request)
{
$request = json_decode($request, true);
switch ($rota) {
case 'entrar':
$this->login($request);
@ -241,12 +241,13 @@ class ApiAgente implements IApi
$request['matricula']
);
$ws = new WsInterface();
$ws->enviaMsg($this->enviaActions('Atendimento finalizado', 'finish', $agente->matricula, $request['uniqueid']));
$mesg = "Atendimento finalizado pelo agente {$agente->nome}";
$ws->enviaMsg($this->enviaActions($mesg, 'finish', $agente->matricula, $request['uniqueid']));
$systemController = new SystemMessageController();
$provedor = new Positus();
$provedor = returnChannel($atendimento->context);
$systemController->sendMessageSystem(
CONF_MOMENT_FINALIZAR_ATENDIMENTO,
[],
[["nome" => "@autor_name", "valor" => $agente->nome]],
$provedor,
$atendimento->cliente_id
);
@ -256,7 +257,7 @@ class ApiAgente implements IApi
$agente->matricula,
$agente->matricula,
'finish',
'Atendimento finalizado',
$mesg,
$agente->nome,
$atendimento->context,
'read'
@ -279,7 +280,7 @@ class ApiAgente implements IApi
$this->retorno(
$ret ? "Finalizado com sucesso" : "Erro",
$ret ? $ret : null,
$ret ? ["id" => $ret] : null
$ret ? [$ret] : null
);
} catch (\Exception $th) {
$this->retorno($th->getMessage());
@ -298,13 +299,15 @@ class ApiAgente implements IApi
$fila,
$matricula
);
$atendimento = $this->atendimento->findAtendId($uniqueid);
$systemController = new SystemMessageController();
$provedor = new Positus();
$provedor = returnChannel($atendimento->context);
$systemController->sendMessageSystem(
CONF_MOMENT_ERRO_ATEND,
[],
$provedor,
$client_id
$client_id,
$fila
);
$this->retorno(
$ret ? "Finalizado com sucesso" : "Erro",
@ -371,7 +374,7 @@ class ApiAgente implements IApi
$contact = $request['event']['contact'];
$status = $this->atendimento->getStatusAtendimento($mensagem['uniqueid']);
if ($status->evento == CONF_EVENT_START) {
$provider = new Positus();
$provider = returnChannel($mensagem['media']);
$modelMensagem = new Message();
$msgTexto = $contact['name'] . ': ' . $this->validaPalavroes($mensagem['content']);
if ($mensagem['type'] == 'text') {
@ -384,7 +387,7 @@ class ApiAgente implements IApi
$anmeArquivo = CONF_PATH_FILES . $mensagem['id_provedor'];
$texto = base64_decode($mensagem['content']);
file_put_contents($anmeArquivo, $texto);
$provider->convertWavToMp3($anmeArquivo);
ConvertWavToMp3($anmeArquivo);
$retuno = $provider->enviarMedia(
$mensagem['dst'],
CONF_MIDDLEWARE_LINKUPLOAD .
@ -410,7 +413,7 @@ class ApiAgente implements IApi
$this->retorno(
$retuno ? "Sucesso" : "Erro",
$retuno ? $retuno : null,
$retuno ? $retuno : null
$retuno ? [["message" => $retuno]] : null
);
} else {
$this->retorno('Atendimento já foi finalizado');
@ -443,21 +446,26 @@ class ApiAgente implements IApi
function listaAtendimentoAgent($request)
{
if ($request['matricula']) {
$agente = $this->supervisor->findAgentByMatricula($request['matricula']);
//verifica se existe agente
if (empty($agente)) {
$this->retorno("Agente não encontrado");
return;
try {
if ($request['matricula']) {
$agente = $this->supervisor->findAgentByMatricula($request['matricula']);
//verifica se existe agente
if (empty($agente)) {
$this->retorno("Agente não encontrado");
return;
}
}
$ret = $this->atendimento->findAtendAgent($request['matricula'], $request['quantidade']);
$data = [];
$data['message'] = utf8_encode("Sucesso");
$data['status'] = "success";
$data['data'] = $ret;
echo json_encode($data);
return null;
} catch (\Exception $th) {
$this->retorno($th->getMessage());
return;
}
$ret = $this->atendimento->findAtendAgent($request['matricula'], $request['quantidade']);
$this->retorno(
$ret ? "Sucesso" : "Erro",
$ret ? $ret : null,
$ret ? $ret : null
);
return null;
}
function listaMensagem($request)
@ -482,7 +490,7 @@ class ApiAgente implements IApi
],
"mensagem" => [
"type" => $value->type,
"content" => utf8_encode($value->content),
"content" => $value->content,
"id_provedor" => $value->id_provedor,
"dst" => $value->dst,
"uniqueid" => $value->uniqueid,
@ -513,21 +521,24 @@ class ApiAgente implements IApi
//verifica se existe agente
if (empty($agente)) {
$this->retorno("Agente não encontrado");
return;
return null;
}
$param = $this->parametros->findProtocolByParams();
if ($param->prm_pausa_grupo) {
$retunr = $this->pausasModel->findPauseByGroupUser($request['matricula']);
if (false) {
$ret = $this->pausasModel->findPauseByGroupUser($request['matricula']);
} else {
$ret = $this->pausasModel->findAllPause();
}
if (empty($retunr)) {
$retunr = $this->pausasModel->findAllPause();
foreach ($ret as $key => $value) {
$ret[$key] = removeAcentosArray((array) $value);
}
$this->retorno(
$retunr ? "Sucesso" : "Erro",
$retunr ? $retunr : null,
$retunr ? $retunr : null
$ret ? "Sucesso" : "Erro",
$ret ? $ret : null,
$ret ? $ret : null
);
return;
return null;
}
function entrarPausa($request)
@ -635,11 +646,13 @@ class ApiAgente implements IApi
$this->retorno("Agente não encontrado");
return;
}
$this->supervisor->updateAgent($agente->matricula, $agente->status, $agente->motivo_pausa);
$ret = $this->supervisor->statusAgente($request['matricula']);
$ret = removeAcentosArray((array) $ret);
$this->retorno(
$ret ? "Sucesso" : "Erro",
$ret ? $ret : null,
$ret ? $ret : null
$ret ? [$ret] : null
);
} catch (\Exception $th) {
$this->retorno($th->getMessage());

39
integracao/media/app/Middleware/ApiInfo.php

@ -0,0 +1,39 @@
<?php
namespace app\Middleware;
use app\Interfaces\IApi;
class ApiInfo implements IApi
{
function router($rota, $request)
{
$this->showConf();
}
function retorno($mensagem, $status = null, $dados = null)
{
//{ "status": "success", "message": "register created!", "data": [ "id": 20 ] }
$data = [];
$data['message'] = utf8_encode($mensagem);
if (!empty($status)) {
$data['status'] = "success";
} else {
$data['status'] = "error";
}
if (!empty($dados)) {
$data['data'] = $dados;
}
echo json_encode($data);
}
function showConf()
{
$dados['version_system'] = INFO_VERSION_SYSTEM;
$dados['conf_db_host'] = CONF_DB_HOST;
$dados['conf_db_port'] = CONF_DB_PORT;
$dados['conf_middleware_redirect'] = CONF_MIDDLEWARE_REDIRECT;
$this->retorno('Sucesso', "success", [$dados]);
}
}

67
integracao/media/app/Middleware/ApiSupervisor.php

@ -2,26 +2,53 @@
namespace app\Middleware;
use app\Controllers\QueueController;
use app\Controllers\SystemMessageController;
use app\Interfaces\IApi;
use app\Interfaces\IApiMedia;
use app\Models\Atendimento;
use app\Models\Evento;
use app\Models\SupervisorModel;
class ApiSupervisor implements IApi
{
/** @var SupervisorModel $supervisor model de supervisor */
protected $supervisor;
/** @var Atendimento $atendimentoModel model de supervisor */
protected $atendimentoModel;
/** @var Evento $eventosModel model de evento */
protected $eventosModel;
/** @var QueueController $queue controller da queue*/
protected $queue;
/** @var SystemMessageController $systemController controller da queue*/
protected $systemController;
/** @var IApiMedia $api provider de mensagens */
protected $api;
public function __construct()
{
$this->eventosModel = new Evento();
$this->atendimentoModel = new Atendimento();
$this->supervisor = new SupervisorModel();
$this->queue = new QueueController();
$this->systemController = new SystemMessageController();
}
function router($rota, $request)
{
$request = json_decode($request, true);
switch ($rota) {
case 'listarAgentesDisponivel':
$this->listaAgentesDisponivel();
break;
case 'removerAtendimentoFila':
$this->removerAtendimentoFila($request);
break;
default:
echo json_encode(['status' => '404']);
break;
@ -46,6 +73,44 @@ class ApiSupervisor implements IApi
return null;
}
function removerAtendimentoFila($request)
{
try {
$atendimento = $this->atendimentoModel->findAtendId($request['uniqueid']);
logger()->error(print_r($request, true));
$this->api = returnChannel($atendimento->context);
$ret = $this->eventosModel->createEvento(
$atendimento->uniqueid,
CONF_EVENT_ABANDONADA,
date('Y-m-d H:i:s'),
date('Y-m-d H:i:s'),
$atendimento->fila
);
if ($ret) {
//envia as mensagens do sistema do momento atual para o cliente
$this->systemController->sendMessageSystem(
CONF_MOMENT_CANCELAR_FILA,
[],
$this->api,
$atendimento->cliente_id
);
$filas = $this->queue->listAllQueueWhatsApp($this->api->getMessage());
if ($filas['LIST']) {
$this->api->enviarMsg($atendimento->cliente_id, $filas['LIST']);
}
$this->retorno(
$ret ? "Sucesso" : "Erro",
$ret ? $ret : null,
);
} else {
$this->retorno("Não foi possível cancelar o atendimento!");
}
} catch (\Exception $th) {
$this->retorno($th->getMessage());
}
return null;
}
function retorno($mensagem, $status = null, $dados = null)
{
//{ "status": "success", "message": "register created!", "data": [ "id": 20 ] }

35
integracao/media/app/Middleware/Middleware.php

@ -5,8 +5,9 @@ namespace app\Middleware;
use app\Core\CoreMedia;
use app\Middleware\Http;
use app\Middleware\ApiAgente;
use app\Providers\WebHeader;
use app\Providers\Positus;
use app\Providers\WebHeader;
use app\Providers\Whatsapp;
/**
* Description of WppController
@ -16,7 +17,7 @@ use app\Providers\Positus;
class Middleware extends Http
{
/** @var return Positus request */
/** @var array request */
private $request;
/** @class WebHeader */
@ -37,9 +38,9 @@ class Middleware extends Http
* Start API headers
* @param array $config
*/
public function api()
public function api($contentType = "application/json; charset=UTF-8")
{
$this->header->API();
$this->header->API($contentType);
}
/**
@ -48,36 +49,41 @@ class Middleware extends Http
*/
private function router()
{
$coremedia = new CoreMedia();
$apiAgente = new ApiAgente();
$apiSupervisor = new ApiSupervisor();
$this->baseUri();
switch (strtolower($this->param()[1])) {
case 'whatsapp':
$coremedia->inicia($this->request, new Positus());
echo json_encode(['success' => true]);
$provedor = returnChannel('whatsapp');
$coremedia->inicia($this->request, $provedor);
$this->api($provedor->getContentType());
echo '';
return null;
// case 'telegram':
// $coremedia->inicia($this->request, new ApiTelegram());
// echo json_encode(['success' => $this->request]);
// return null;
case 'api':
$this->api();
switch ($this->param()[2]) {
case 'agente':
$apiAgente = new ApiAgente();
$apiAgente->router($this->param()[3], $this->request);
return null;
case 'supervisor':
$apiSupervisor = new ApiSupervisor();
$apiSupervisor->router($this->param()[3], $this->request);
return null;
default:
$this->header->redirect();
echo 'erro';
}
case 'link':
$this->api();
$this->header->fileTransfer($this->param()[2], CONF_PATH_FILES . $this->param()[2], base64_decode($this->param()[3]));
exit(0);
case 'info':
$this->api();
$apiInfo = new ApiInfo();
$apiInfo->router($this->param()[3], $this->request);
exit(0);
default:
$this->header->redirect();
exit(0);
}
}
@ -87,7 +93,6 @@ class Middleware extends Http
private function hook()
{
$this->request = file_get_contents('php://input');
$this->request = json_decode($this->request, true);
$this->router();
}

4
integracao/media/app/Models/Message.php

@ -24,7 +24,7 @@ class Message extends Model
'src' => $src,
'dst' => $dst,
'type' => $tipo,
'content' => utf8_decode($content),
'content' => $content,
'profile_name' => utf8_decode($profile_name),
'media' => $media,
'status' => $status,
@ -38,7 +38,7 @@ class Message extends Model
'src' => $src,
'dst' => $dst,
'type' => $tipo,
'content' => utf8_decode($content),
'content' => $content,
'profile_name' => utf8_decode($profile_name),
'media' => $media,
'status' => $status,

131
integracao/media/app/Models/SupervisorModel.php

@ -4,7 +4,8 @@ namespace app\Models;
use app\Core\Model;
class SupervisorModel extends Model {
class SupervisorModel extends Model
{
const USUARIOS = "pbx_usuarios";
const SUPERVISOR_AGENTE = "md_supervisor";
@ -15,7 +16,8 @@ class SupervisorModel extends Model {
private $supervisor = 'md_supervisor';
private $atendimento = 'md_atendimento';
public function listaAgentesDisponivel($status = null, $somenteLivre = true) {
public function listaAgentesDisponivel($status = null, $somenteLivre = true)
{
$data = [];
$this->query = " SELECT *,
(
@ -62,7 +64,8 @@ class SupervisorModel extends Model {
return $this->read($this->query, $data)->fetchAll();
}
public function statusAgente($matricula) {
public function statusAgente($matricula)
{
$this->query = "SELECT
*,
(
@ -82,21 +85,17 @@ class SupervisorModel extends Model {
return $this->read($this->query, ['matricula' => $matricula])->fetch();
}
public function findByMatricula($matricula) {
//$this->query = "SELECT * "
//. "FROM " . self::SUPERVISOR_AGENTE . " WHERE (matricula = :matricula)";
/*
* Codigo acrescentado para não permitir logar o agente no chat e pabx simultaneamente.
*/
$this->query = "select matricula from ( SELECT matricula FROM " . self::SUPERVISOR_AGENTE
. " union "
. " select matricula from pbx_supervisor_agentes ) as agt where (matricula = :matricula)";
public function findByMatricula($matricula)
{
//Codigo acrescentado para não permitir logar o agente no chat e pabx simultaneamente.
$this->query = "SELECT matricula from ( SELECT matricula FROM " . self::SUPERVISOR_AGENTE
. " UNION "
. " SELECT matricula FROM pbx_supervisor_agentes ) AS agt WHERE (matricula = :matricula)";
return $this->read($this->query, ['matricula' => $matricula])->fetch();
}
public function findAllAgentes($queue = null) {
public function findAllAgentes($queue = null)
{
$data = [];
$this->query = "SELECT * FROM " . self::SUPERVISOR_AGENTE . " WHERE 1=1 ";
@ -107,7 +106,8 @@ class SupervisorModel extends Model {
return $this->read($this->query, $data)->fetchAll();
}
public function findAllAgentesPBX($queue = null) {
public function findAllAgentesPBX($queue = null, $media = null)
{
$data = [];
$this->query = "SELECT * FROM pbx_supervisor_agentes WHERE 1=1 ";
@ -115,30 +115,40 @@ class SupervisorModel extends Model {
$this->query .= " AND fila = :queue ";
$data['queue'] = $queue;
}
if($media){
$this->query .= " AND media <> :media";
$data['media'] = $media;
}
return $this->read($this->query, $data)->fetchAll();
}
public function findByAgent($matricula) {
public function findByAgent($matricula)
{
$this->query = "SELECT * FROM " . self::USUARIOS . " WHERE matricula = :matricula;";
return $this->read($this->query, ['matricula' => $matricula])->fetch();
}
public function findAgentByRamal($ramal) {
public function findAgentByRamal($ramal)
{
$this->query = "SELECT * FROM " . self::SUPERVISOR_AGENTE . " WHERE ramal = :ramal;";
return $this->read($this->query, ['ramal' => $ramal])->fetch();
}
public function findAgentByMatricula($matricula) {
public function findAgentByMatricula($matricula)
{
$this->query = "SELECT * FROM " . self::SUPERVISOR_AGENTE . " WHERE matricula = :matricula;";
return $this->read($this->query, ['matricula' => $matricula])->fetch();
}
public function findAgentByMatriculaPbx($matricula) {
public function findAgentByMatriculaPbx($matricula)
{
$this->query = "SELECT * FROM pbx_supervisor_agentes WHERE matricula = :matricula;";
return $this->read($this->query, ['matricula' => $matricula])->fetch();
}
public function findAgentByQueue($queue, $status) {
public function findAgentByQueue($queue, $status)
{
$data = [];
$this->query = "SELECT *
FROM md_supervisor ms
@ -165,7 +175,8 @@ class SupervisorModel extends Model {
### SUPERVISOR AGENTE ###
########################################
public function addAgent($matricula, $fila, $nome, $chamada_classificado = 1) {
public function addAgent($matricula, $fila, $nome, $chamada_classificado = 1)
{
$this->query = "INSERT INTO " . self::SUPERVISOR_AGENTE . "
(
matricula,
@ -187,18 +198,28 @@ class SupervisorModel extends Model {
);";
return $this->create($this->query, [
'matricula' => $matricula,
'tempo_login' => 'now()',
'fila' => $fila,
'status' => 'LIVRE',
'duracao' => 'now()',
'nome' => $nome,
'chamada_classificado' => $chamada_classificado
'matricula' => $matricula,
'tempo_login' => 'now()',
'fila' => $fila,
'status' => 'LIVRE',
'duracao' => 'now()',
'nome' => $nome,
'chamada_classificado' => $chamada_classificado
]);
}
public function addAgent2(
$nome, $matricula, $ramal, $dac, $tempo_login, $status = 'LIVRE', $motivoPausa = null, $origemDestino = null, $media = 1, $modo_atendimento = 'Automatico', $chamada_classificado = 1
$nome,
$matricula,
$ramal,
$dac,
$tempo_login,
$status = 'LIVRE',
$motivoPausa = null,
$origemDestino = null,
$media = 1,
$modo_atendimento = 'Automatico',
$chamada_classificado = 1
) {
$data = [];
$this->query = "INSERT INTO pbx_supervisor_agentes (
@ -245,20 +266,30 @@ class SupervisorModel extends Model {
}
public function updateAgent(
$matricula, $status = 'LIVRE', $motivo_pausa = null
$matricula,
$status = 'LIVRE',
$motivo_pausa = null
) {
$this->query = "UPDATE {$this->supervisor} SET status = :status, motivo_pausa = :motivo_pausa";
$this->query = "UPDATE {$this->supervisor} SET status = :status, motivo_pausa = :motivo_pausa, duracao = :duracao";
$this->query .= " WHERE matricula = :matricula";
$data = [];
$data['status'] = $status;
$data['motivo_pausa'] = $motivo_pausa;
$data['matricula'] = $matricula;
$data['duracao'] = 'now()';
// logger('teste')->debug(print_r($data, true), true);
return $this->update($this->query, $data);
}
public function updateAgent2(
$matricula, $ramal, $dac, $status = 'LIVRE', $atualizaDuracao = false, $motivoPausa = null, $origemDestino = null, $disponivel_atendimento = 1
$matricula,
$ramal,
$dac,
$status = 'LIVRE',
$atualizaDuracao = false,
$motivoPausa = null,
$origemDestino = null,
$disponivel_atendimento = 1
) {
$data = [];
$this->query = "UPDATE pbx_supervisor_agentes SET
@ -285,7 +316,8 @@ class SupervisorModel extends Model {
return $this->update($this->query, $data);
}
public function updateRefreshAgent($matricula, $ramal, $duracao = false) {
public function updateRefreshAgent($matricula, $ramal, $duracao = false)
{
$data = [];
$this->query = "UPDATE " . self::SUPERVISOR_AGENTE . " SET logado = :logado ";
if ($duracao) {
@ -300,7 +332,8 @@ class SupervisorModel extends Model {
return $this->update($this->query, $data);
}
public function updateSala2Agent($matricula, $ramal, $sala2 = null) {
public function updateSala2Agent($matricula, $ramal, $sala2 = null)
{
$data = [];
$this->query = "UPDATE " . self::SUPERVISOR_AGENTE . " SET sala_2 = :sala_2 WHERE matricula = :matricula AND ramal = :ramal;";
$data['sala_2'] = $sala2;
@ -309,21 +342,28 @@ class SupervisorModel extends Model {
return $this->update($this->query, $data);
}
public function deleteAgentPbx($matricula) {
public function deleteAgentPbx($matricula, $media = null, $oper = '=')
{
$data = [];
$this->query = "DELETE FROM pbx_supervisor_agentes WHERE matricula = :matricula";
$this->query = "DELETE FROM pbx_supervisor_agentes WHERE matricula = :matricula ";
if($media){
$this->query .= "AND media {$oper} :media ";
$data['media'] = $media;
}
$data['matricula'] = $matricula;
return $this->delete($this->query, $data);
}
public function deleteAgent($matricula) {
public function deleteAgent($matricula)
{
$data = [];
$this->query = "DELETE FROM " . self::SUPERVISOR_AGENTE . " WHERE matricula = :matricula";
$data['matricula'] = $matricula;
return $this->delete($this->query, $data);
}
public function updateLogadoAll($media = null) {
public function updateLogadoAll($media = null)
{
$data = [];
$this->query = "UPDATE " . self::SUPERVISOR_AGENTE . " SET logado = :logado ";
if ($media) {
@ -338,7 +378,8 @@ class SupervisorModel extends Model {
### EVENTOS ###
########################################
public function addEventoLoginAgent($matricula, $idDac, $flag = 1, $ramal) {
public function addEventoLoginAgent($matricula, $idDac, $flag = 1, $ramal)
{
$data = [];
$this->query = "INSERT INTO " . self::EVENTO_AGENTE . "(matricula, login, logoff, id_dac, flag, ramal) VALUES(:matricula, :login, :logoff, :id_dac, :flag, :ramal) ";
$data['matricula'] = $matricula;
@ -350,11 +391,12 @@ class SupervisorModel extends Model {
return $this->create($this->query, $data);
}
public function updateEventoLogoffAgent($matricula, $ramal, $dac, $flag = 2) {
public function updateEventoLogoffAgent($matricula, $ramal, $dac, $flag = 2)
{
$data = [];
$this->query = "UPDATE " . self::EVENTO_AGENTE . " SET logoff = :logoff, flag = :flag "
. "WHERE matricula = :matricula AND id_dac = :id_dac AND ramal = :ramal "
. "AND login = (SELECT MAX(login) FROM pbx_eventos_agentes WHERE matricula = :matricula AND id_dac = :id_dac AND ramal= :ramal);";
. "WHERE matricula = :matricula AND id_dac = :id_dac AND ramal = :ramal "
. "AND login = (SELECT MAX(login) FROM pbx_eventos_agentes WHERE matricula = :matricula AND id_dac = :id_dac AND ramal= :ramal);";
$data['logoff'] = 'now()';
$data['flag'] = $flag;
@ -363,5 +405,4 @@ class SupervisorModel extends Model {
$data['ramal'] = $ramal;
return $this->update($this->query, $data);
}
}
}

18
integracao/media/app/Models/SystemMessage.php

@ -14,9 +14,21 @@ class SystemMessage extends Model
private $table = 'md_system_message';
public function findMessage($momento)
public function findMessage($momento, $fila = null)
{
$this->query = "SELECT * FROM {$this->table} m WHERE m.momento = :momento ORDER BY ordem;";
return $this->read($this->query, ['momento' => $momento])->fetchAll();
$data = [];
$data['momento'] = $momento;
$this->query = "SELECT * FROM {$this->table} m WHERE 1=1";
if (!empty($fila)) {
$data['fila'] = $fila;
$this->query .= " AND (m.fila = :fila OR m.fila IS null)";
} else {
$this->query .= " AND m.fila IS null";
}
$this->query .= " AND m.momento = :momento ORDER BY ordem";
return $this->read($this->query, $data)->fetchAll();
}
}

231
integracao/media/app/Providers/ApiTwilio.php

@ -0,0 +1,231 @@
<?php
namespace app\Providers;
use app\Interfaces\IApiMedia;
use Twilio\Rest\Client;
class ApiTwilio implements IApiMedia
{
private $sid = 'ACab626d6f133aa20b21879d37cd21b139';
private $token = '131e5ed83468349ff93250ca72417d70';
private $numeroTwilio = '553140428280';
/** @var string $hook resposta do webhook */
private $hook;
function getContentType()
{
return 'text/xml';
}
function getchannel()
{
return CONF_WHATSAPP_CHANNEL;
}
function enviarMedia($whatsapp, $link, $type, $titulo = null)
{
/*
twilio só suporta esses formatos.
Images JPG, JPEG, PNG
Audio MP3, OGG, AMR
Documents PDF
Video MP4 (with H.264 video codec and AAC audio)
Contacts vCard (.vcf)*/
$twilio = new Client($this->sid, $this->token);
$message = $twilio->messages->create(
"whatsapp:+$whatsapp", // to
[
"from" => "whatsapp:+{$this->numeroTwilio}",
"mediaUrl" => [$link]
]
);
logger('twilio')->info(var_export($message->body, true));
return $message->body;
}
function enviarMsg($whatsapp, $mensagem, $encode = true)
{
if ($encode) {
$mensagem = utf8_encode($mensagem);
}
$twilio = new Client($this->sid, $this->token);
$message = $twilio->messages->create(
"whatsapp:+$whatsapp", // to
[
"from" => "whatsapp:+{$this->numeroTwilio}",
"body" => $mensagem,
]
);
logger('twilio')->info(var_export($message->body, true));
return $message->body;
}
function enviarMsgIterativaLista($whatsapp, $mensagem, $nomeButton, $sections)
{
}
function enviarMsgIterativaBotao($whatsapp, $mensagem, $buttons)
{
}
function enviarContato($whatsapp, $nome, $contato)
{
}
function enviarLocalizacao($whatsapp, $longitude, $latitude, $nome = null, $endereco = null)
{
}
function baixarMidia()
{
$request = new Requests();
if (in_array($this->getType(), ['location', 'contacts', 'text'])) {
return true;
}
logger('baixarMidia')->info('url: ' . $this->hook['MediaUrl0']);
$request->setToken(base64_encode("ACab626d6f133aa20b21879d37cd21b139:131e5ed83468349ff93250ca72417d70"));
$request->setUrl($this->hook['MediaUrl0']);
$name = $this->getId();
$request->requestType("GET");
$request->setMetodo('');
$pathfile = $request->storage . $name;
$retorno = $request->exec('Basic');
logger('baixarMidia')->info(var_export($retorno, true));
file_put_contents($pathfile, $retorno);
if (file_exists($pathfile)) {
return true;
}
return false;
}
function getProfile()
{
return $this->hook['ProfileName'];
}
function getPhone()
{
return $this->hook['WaId'];
}
function getType()
{
$type = $this->hook['MediaContentType0'];
if ($type) {
$type = explode('/', $type);
if ($type[0] == 'application') {
return 'document';
}
return $type[0];
}
return 'text';
}
function getMimetype()
{
return $this->hook['MediaContentType0'];
}
function getId()
{
return $this->hook['MessageSid'];
}
function getIsValidMessage()
{
return is_array($this->hook);
}
function getMessage()
{
return $this->hook['Body'];
}
function setMessage($msg)
{
$this->hook['Body'] = $msg;
}
function getContactFormatted()
{
return false;
}
function getContactPhone()
{
return false;
}
function getGeolocation($type)
{
return false;
}
function setHook($hook)
{
//$array = "SmsMessageSid=SM3f3e0cac9d0da519ec0ffa7f15eaa15b&NumMedia=0&ProfileName=Lucas&SmsSid=SM3f3e0cac9d0da519ec0ffa7f15eaa15b&WaId=556596107663&SmsStatus=received&Body=sdsdfads&To=whatsapp%3A%2B14155238886&NumSegments=1&MessageSid=SM3f3e0cac9d0da519ec0ffa7f15eaa15b&AccountSid=ACab626d6f133aa20b21879d37cd21b139&From=whatsapp%3A%2B556596107663&ApiVersion=2010-04-01";
$array = explode("&", urldecode($hook));
$map = [];
foreach ($array as $key => $value) {
$auxi = $array = explode("=", $value);
$map[$auxi[0]] = $auxi[1];
}
// mensagem normal
// [SmsMessageSid] => SM3f3e0cac9d0da519ec0ffa7f15eaa15b
// [NumMedia] => 0
// [ProfileName] => Lucas
// [SmsSid] => SM3f3e0cac9d0da519ec0ffa7f15eaa15b
// [WaId] => 556596107663
// [SmsStatus] => received
// [Body] => sdsdfads
// [To] => whatsapp%3A%2B14155238886
// [NumSegments] => 1
// [MessageSid] => SM3f3e0cac9d0da519ec0ffa7f15eaa15b
// [AccountSid] => ACab626d6f133aa20b21879d37cd21b139
// [From] => whatsapp%3A%2B556596107663
// [ApiVersion] => 2010-04-01
// imagem
// [MediaContentType0] => image/jpeg
// [SmsMessageSid] => MM0e531d626f74ec950e637d7491b0080c
// [NumMedia] => 1
// [ProfileName] => Lucas
// [SmsSid] => MM0e531d626f74ec950e637d7491b0080c
// [WaId] => 556596107663
// [SmsStatus] => received
// [Body] =>
// [To] => whatsapp:+14155238886
// [NumSegments] => 1
// [MessageSid] => MM0e531d626f74ec950e637d7491b0080c
// [AccountSid] => ACab626d6f133aa20b21879d37cd21b139
// [From] => whatsapp:+556596107663
// [MediaUrl0] => https://api.twilio.com/2010-04-01/Accounts/ACab626d6f133aa20b21879d37cd21b139/Messages/MM0e531d626f74ec950e637d7491b0080c/Media/ME4ff81dee03f2cd1b7875d87954e8abd7
// [ApiVersion] => 2010-04-01
// documento n�o valido
// [SmsMessageSid] => MM2f04ee178bf6843dd26ac19e6e193c19
// [NumMedia] => 0
// [ProfileName] => Lucas
// [SmsSid] => MM2f04ee178bf6843dd26ac19e6e193c19
// [WaId] => 556596107663
// [SmsStatus] => received
// [Body] => INSTALA��O WHATSAPP.docx
// [To] => whatsapp:+553140428280
// [NumSegments] => 1
// [MessageSid] => MM2f04ee178bf6843dd26ac19e6e193c19
// [AccountSid] => ACab626d6f133aa20b21879d37cd21b139
// [From] => whatsapp:+556596107663
// [ApiVersion] => 2010-04-01
// documento pdf
// [MediaContentType0] => application/pdf
// [SmsMessageSid] => MM1042d93ac503a7468b7d3fb3a0ca77d5
// [NumMedia] => 1
// [ProfileName] => Lucas
// [SmsSid] => MM1042d93ac503a7468b7d3fb3a0ca77d5
// [WaId] => 556596107663
// [SmsStatus] => received
// [Body] => Cap1-_atlas_.pdf
// [To] => whatsapp:+553140428280
// [NumSegments] => 1
// [MessageSid] => MM1042d93ac503a7468b7d3fb3a0ca77d5
// [AccountSid] => ACab626d6f133aa20b21879d37cd21b139
// [From] => whatsapp:+556596107663
// [MediaUrl0] => https://api.twilio.com/2010-04-01/Accounts/ACab626d6f133aa20b21879d37cd21b139/Messages/MM1042d93ac503a7468b7d3fb3a0ca77d5/Media/ME8fead4a393c68d2fcd14bdff03cc8e74
// [ApiVersion] => 2010-04-01
$this->hook = $map;
}
function retornaTituloDocument()
{
if ($this->getType() == 'text') {
return null;
}
return $this->hook['Body'];
}
}

64
integracao/media/app/Providers/Positus.php

@ -8,57 +8,20 @@ class Positus extends Requests implements IApiMedia
{
/** @var string $hook resposta do webhook */
private $hook;
private $storage = CONF_PATH_FILES;
private $channel = CONF_WHATSAPP_CHANNEL;
public function getchannel()
{
return CONF_WHATSAPP_CHANNEL;
}
function setHook($hook)
function getContentType()
{
$this->hook = $hook;
return "application/json; charset=UTF-8";
}
function setToken()
{
$this->token = CONF_WHATSAPP_AUTH_TOKEN;
}
function setUrl()
public function getchannel()
{
$this->url = CONF_WHATSAPP_AUTH_URL;
return CONF_WHATSAPP_CHANNEL;
}
public function convertToWebsocket($content, $matricula = '', $uniqueid, $type, $name, $number, $data, $idProvedor, $mimetype)
function setHook($hook)
{
if ($number) {
$mensagem = [];
$mensagem["event"] = [
"type" => "mensagem",
"contact" => [
"name" => $name,
"number" => $number,
"matricula" => ''
],
"mensagem" => [
"type" => $type,
"content" => $content,
"id_provedor" => $idProvedor,
"dst" => $matricula,
"uniqueid" => $uniqueid,
"media" => $this->channel,
"file_name" => $this->retornaTituloDocument(),
"datetime" => $data,
"status" => "sent",
'mimetype' => $mimetype
]
];
return json_encode($mensagem);
}
return null;
$this->hook = json_decode($hook, true);
}
function enviarMedia($whatsapp, $link, $type, $titulo = null)
@ -239,17 +202,6 @@ class Positus extends Requests implements IApiMedia
}
return false;
}
function convertWavToMp3($fileOrig)
{
try {
// ffmpeg -i 61f1a021ca8908.72216404_1643308267776 61f1a021ca8908.72216404_1643308267776
$cmd = "ffmpeg -y -i $fileOrig $fileOrig.mp3";
exec($cmd);
copy($fileOrig . ".mp3", $fileOrig);
} catch (\Exception $th) {
logger('ConvertWavToMp3')->error($th->getMessage());
}
}
/**
* Profile WhatsApp
@ -337,6 +289,10 @@ class Positus extends Requests implements IApiMedia
$message = $this->hook['messages'][0]['text']['body'];
return ($message ? $message : false);
}
public function setMessage($msg)
{
$this->hook['messages'][0]['text']['body'] = $msg;
}
/**
* Returns the name of the contact
* @return string|boolean

1
integracao/media/app/Providers/RequestURL.php

@ -86,6 +86,7 @@ class RequestURL
private function conf_request()
{
curl_setopt($this->curl, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($this->curl, CURLOPT_HTTPHEADER, $this->header);
curl_setopt($this->curl, CURLOPT_CUSTOMREQUEST, $this->method);
curl_setopt($this->curl, CURLOPT_RETURNTRANSFER, true);

25
integracao/media/app/Providers/Requests.php

@ -25,11 +25,17 @@ class Requests
/** @var RequestURL $request description */
protected $request;
/** @var string $contentType tipo da requsição */
protected $contentType;
/** @var string $storage caminho dos arquivos */
public $storage = CONF_PATH_FILES;
function __construct()
{
$this->request = new RequestURL();
$this->setToken();
$this->setUrl();
$this->setUrl(CONF_WHATSAPP_AUTH_URL);
}
function response($result)
@ -44,19 +50,24 @@ class Requests
}
}
function exec()
function exec($typeAuth = 'Bearer')
{
$this->setQuery(json_encode($this->params)); //SET QUERY
$this->request->setUrl($this->url . $this->metodo, false);
$header = array();
$header[] = "Authorization: Bearer {$this->token}";
$header[] = "Authorization: $typeAuth {$this->token}";
if ($this->requestType == 'POST') {
$header[] = 'Content-Type: application/json';
$this->request->post_field($this->getQuery(), true);
}
$this->request->header($header);
$this->request->method_request($this->requestType);
logger('request')->info(print_r($header, true));
logger('request')->info($this->requestType);
return $this->request->exec_request();
}
@ -121,13 +132,13 @@ class Requests
return $query;
}
function setToken()
function setToken($token = CONF_WHATSAPP_AUTH_TOKEN)
{
$this->token = CONF_WHATSAPP_AUTH_TOKEN;
$this->token = $token;
}
function setUrl()
public function setUrl($url)
{
$this->url = CONF_WHATSAPP_AUTH_URL;
$this->url = $url;
}
}

14
integracao/media/app/Providers/WebHeader.php

@ -130,11 +130,11 @@ class WebHeader
return $this->config;
}
public function API()
public function API($contentType)
{
$this->methods([
"Access-Control-Allow-Origin" => ['*'],
"Content-Type" => "application/json; charset=UTF-8",
"Content-Type" => $contentType,
"Access-Control-Allow-Methods" => ['GET', 'POST', 'PUT', 'DELETE'],
"Access-Control-Max-Age" => 0,
"Access-Control-Allow-Headers" => ['Origin', 'X-Requested-With', 'Content-Type', 'Accept', 'Authorization']
@ -151,11 +151,11 @@ class WebHeader
public function redirect($url = null)
{
$redirect = ($url ? $url : $this->config['REDIRECT']);
if (strpos('http://', $redirect) === false && strpos('https://', $redirect) === false) {
$redirect = "http://$redirect";
}
// $redirect = ($url ? $url : $this->config['REDIRECT']);
// if (strpos('http://', $redirect) === false && strpos('https://', $redirect) === false) {
// $redirect = "http://$redirect";
// }
$redirect = $url ? $url : CONF_MIDDLEWARE_REDIRECT;
$this->methods([
"Location" => ($redirect)
]);

9
integracao/media/app/Providers/whatsapp.php

@ -0,0 +1,9 @@
<?php
namespace app\Providers;
use app\Providers\Positus;
class Whatsapp extends Positus
{
}

2
integracao/media/bd

@ -1,4 +1,4 @@
HOST_DB="127.0.0.1"
HOST_DB="192.168.115.65"
BASE_DB="pbx"
USUARIO="contacte"
SENHA="ctepgSQL"

100
integracao/simpleschat/index.html → integracao/media/client.php

@ -1,15 +1,30 @@
<?php
$tpLayout = 1;
$files = "integracao/media/public/";
if($_SESSION['SSToken'] != $_GET['t']){
$jsStartup[] = "window.close()";
} else {
unset($_SESSION['SSToken']);
}
?>
<!DOCTYPE html>
<html lang="pt-br">
<html>
<head>
<meta http-equiv="cache-control" content="max-age=0" />
<meta http-equiv="cache-control" content="no-cache" />
<meta http-equiv="expires" content="0" />
<meta http-equiv="expires" content="Tue, 01 Jan 1980 1:00:00 GMT" />
<meta http-equiv="pragma" content="no-cache" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Multi Channel | Simples Chat</title>
<link rel="icon" href="images/favicon.ico" />
<link rel="stylesheet" href="../public/css/styles.css" />
<link rel="icon" href="<?= $files ?>images/favicon.ico" />
<link rel="stylesheet" href="<?= $files ?>css/styles.css" />
</head>
<body>
<div class="grid">
<!-- App background -->
<div class="top"></div>
<div class="bottom"></div>
<!-- App -->
@ -17,47 +32,22 @@
<div class="sidebar">
<!-- Sidebar header -->
<div class="sidebar-header">
<img src="images/user.png" />
<div class="sidebar-name">
<span class="sidebar-span"><span id="nameagent" style="text-transform: uppercase"></span> - <span id="myuniqueid"></span></span>
<span class="sidebar-span" id="queueagente"></span>
<span class="sidebar-span">STATUS: <span class="status-connect" id="status_agent"></span></span>
</div>
<div class="sidebar-header-icons">
<div id="btnsPause">
<img id="exitPause" src="images/play.svg" />
<img id="entrePause" src="images/pause.svg"/>
</div>
<img src="images/power.svg" />
</div>
</div>
<!-- Sidebar notifications
<div class="sidebar-notifications">
<img src="images/notifications.svg" />
<div class="sidebar-notifications-message">
<span>Get Notified of New Messages</span>
<a href="#">Turn on desktop notifications <img src="images/gt-arrow.svg" /></a>
</div>
</div>
-->
<!-- Sidebar search chat -->
<!--
<div class="search-chat">
<div class="search-bar">
<img src="images/search-icon.svg" />
<input type="text" placeholder="Search or start new chat" />
<div id="btnsPause"></div>
<img src="<?= $files ?>images/power.svg" id="exitSystem" alt="Desconectar do Chat" title="Sair do sistema"/>
</div>
</div>
-->
<!-- Chats -->
<div class="chats" id="chats"></div>
</div>
<div class="main">
<div class="chat-window-header">
<div class="chat-window-header-left" id="headermediaagent">
<img class="chat-window-contact-image" src="images/whatsapp.png" />
<img class="chat-window-contact-image" src="<?= $files ?>images/whatsapp.png" />
<div class="contact-name-and-status-container">
<span class="chat-window-contact-name"></span>
<span class="chat-window-contact-status">WhatsApp</span>
@ -65,52 +55,49 @@
</div>
<div class="chat-window-header-right" id="headerbuttonsagent">
<div class="chat-window-header-right-commands btn-info" id="tranferagent">
<img class="chat-window-menu-icon" src="images/redo.svg" />
<div class="chat-window-header-right-commands btn-info" id="tranferagent" title="Transferir atendimento">
<img class="chat-window-menu-icon" src="<?= $files ?>images/redo.svg" />
<span class="chat-window-menu-span"> Transferir</span>
</div>
<div class="chat-window-header-right-commands btn-danger" id="finalizaratendimento">
<img class="chat-window-menu-icon" src="images/cross-circle.svg" />
<div class="chat-window-header-right-commands btn-danger" id="finalizaratendimento" title="Finalizar atendimento">
<img class="chat-window-menu-icon" src="<?= $files ?>images/cross-circle.svg" />
<span class="chat-window-menu-span"> Finalizar</span>
</div>
</div>
</div>
<div class="chat-window" id="chatwindowagent">
<div class="type-window-image" id="welcometomessage">
<h1>Bem-vindo</h1>
<h2>Seu canal de atendimento por mensagens!</h2>
<img src="images/community_message.svg" />
<img src="<?= $files ?>images/community_message.svg" />
</div>
<div class="type-message-bar-icons-upload" id="uploadfiles">
<label for="uploadfile" class="type-message-bar-icons-upload-btn" style="cursor: pointer;">
<img src="images/file.svg" />
<label for="uploadfile" class="type-message-bar-icons-upload-btn" style="cursor: pointer;" title="Anexar arquivo">
<img src="<?= $files ?>images/file.svg" />
</label>
<input id="uploadfile" accept="*" type="file"
multiple="" style="display: none;">
<label for="uploadimage" class="type-message-bar-icons-upload-btn" style="cursor: pointer;">
<img src="images/picture.svg">
<label for="uploadimage" class="type-message-bar-icons-upload-btn" style="cursor: pointer;" title="Enviar uma imagem">
<img src="<?= $files ?>images/picture.svg">
</label>
<input id="uploadimage" accept="image/*,video/mp4,video/3gpp,video/quicktime" type="file"
multiple="" style="display: none;">
<input id="uploadimage" accept="image/*,video/mp4,video/3gpp,video/quicktime" type="file" multiple="" style="display: none;">
</div>
<div class="type-message-bar" id="typemessagebar">
<div class="type-message-bar-left">
<!-- <img src="images/icons.svg" /> -->
<img src="images/microphone.svg" id="voicerecorder" />
<img src="images/clip.svg" id="imgclip" />
<img src="<?= $files ?>images/microphone.svg" id="voicerecorder" title="Enviar mensagem de audio"/>
<img src="<?= $files ?>images/clip.svg" id="imgclip" title="Anexar arquivo ou imagem"/>
</div>
<div class="type-message-bar-center">
<input type="text" id="fieldsendmessage" placeholder="Escreva uma mensagem" />
<textarea rows="1" type="text" id="fieldsendmessage" placeholder="Escreva uma mensagem" style="resize: none;"></textarea>
</div>
<div class="type-message-bar-right flex-center">
<img src="images/paper-plane.svg" />
<img src="<?= $files ?>images/paper-plane.svg" title="Enviar mensagem"/>
</div>
</div>
@ -149,12 +136,11 @@
}
}
</script>
<script src="js/jquery-3.6.0.min.js"></script>
<script src="js/config.js"></script>
<script src="js/cronometro.js"></script>
<script src="js/requests.js"></script>
<script src="js/util.js"></script>
<script src="js/main.js"></script>
<script src="<?= $files ?>js/jquery-3.6.0.min.js"></script>
<script src="<?= $files ?>js/config.js"></script>
<script src="<?= $files ?>js/cronometro.js"></script>
<script src="<?= $files ?>js/requests.js"></script>
<script src="<?= $files ?>js/util.js"></script>
<script src="<?= $files ?>js/main.js"></script>
</body>
</html>

3
integracao/media/composer.json

@ -16,6 +16,7 @@
},
"require": {
"cboden/ratchet": "^0.4.4",
"textalk/websocket": "^1.3.1"
"textalk/websocket": "^1.3.1",
"twilio/sdk": "^5.42.2"
}
}

23
integracao/media/config/app.php

@ -29,8 +29,8 @@ define("CONF_LOG_PATH", '/var/www/html/aplicativo/integracao/media/storage/log/'
| Redirecionamento para página inicial do projeto
|
*/
define('CONF_MIDDLEWARE_REDIRECT', '192.168.115.65');
define('CONF_MIDDLEWARE_LINKUPLOAD', 'http://voip.simplesip.com.br/integracao/media/link/');
define('CONF_MIDDLEWARE_REDIRECT', $_SERVER['REQUEST_SCHEME'] . '://' . $_SERVER['SERVER_NAME']);
define('CONF_MIDDLEWARE_LINKUPLOAD', CONF_MIDDLEWARE_REDIRECT . '/integracao/media/link/');
/*
@ -48,6 +48,16 @@ define('CONF_DB_BASE', 'pbx');
define('CONF_DB_USER', '');
define('CONF_DB_PASSWD', '');
/*
|--------------------------------------------------------------------------
| Configuracao de MEDIA SIMPLES IP
|--------------------------------------------------------------------------
|
| Configuração para a media do PBX
|
*/
define('CONF_MEDIA_PBX', 99);
/*
|--------------------------------------------------------------------------
| Configuracao de Protocolo
@ -58,4 +68,11 @@ define('CONF_DB_PASSWD', '');
*/
define('CONF_PROTOCOL_TENTATIVAS_GERAR', 5);
define('CONF_PATH_FILES', '/var/www/html/aplicativo/integracao/media/storage/files/');
define('CONF_PATH_FILES', '/var/www/html/aplicativo/integracao/media/storage/files/');
/*
|--------------------------------------------------------------------------
| Informações da aplicação
|--------------------------------------------------------------------------
*/
define('INFO_VERSION_SYSTEM', '1.0.0');

58
integracao/media/config/helpers.php

@ -1,6 +1,10 @@
<?php
use app\Interfaces\IApiMedia;
use app\Providers\ApiTelegram;
use app\Providers\Logger;
use app\Providers\Positus;
use app\Providers\Whatsapp;
function logger($name = null, $active = true)
{
@ -13,4 +17,58 @@ function whereIn($array)
return "'" . implode("','", $array) . "'";
}
return "'$array'";
}
/**
* undocumented function summary
*
* Undocumented function long description
*
* @param Type $var Description
* @return IApiMedia
* @throws conditon
**/
function returnChannel($channel)
{
switch ($channel) {
case CONF_WHATSAPP_CHANNEL:
return new Positus();
case CONF_TELEGRAM_CHANNEL:
return new ApiTelegram();
}
}
function ConvertWavToMp3($fileOrig)
{
try {
// ffmpeg -i 61f1a021ca8908.72216404_1643308267776 61f1a021ca8908.72216404_1643308267776
$cmd = "ffmpeg -y -i $fileOrig $fileOrig.mp3";
exec($cmd);
copy($fileOrig . ".mp3", $fileOrig);
} catch (\Exception $th) {
throw $th;
}
}
//retorna uma string sem acentos
function removeAcentos($str, $upper = False)
{
$text = array('À', 'Á', 'Â', 'Ã', 'Ä', 'Å', 'Æ', 'Ç', 'È', 'É', 'Ê', 'Ë', 'Ì', 'Í', 'Î', 'Ï', 'Ð', 'Ñ', 'Ò', 'Ó', 'Ô', 'Õ', 'Ö', 'Ø', 'Ù', 'Ú', 'Û', 'Ü', 'Ý', 'Þ', 'ß', 'à', 'á', 'â', 'ã', 'ä', 'å', 'æ', 'ç', 'è', 'é', 'ê', 'ë', 'ì', 'í', 'î', 'ï', 'ð', 'ñ', 'ò', 'ó', 'ô', 'õ', 'ö', 'ø', 'ù', 'ú', 'û', 'ü', 'ý');
$subs = array('A', 'A', 'A', 'A', 'A', 'A', 'A', 'C', 'E', 'E', 'E', 'E', 'I', 'I', 'I', 'I', 'D', 'N', 'O', 'O', 'O', 'O', 'O', 'O', 'U', 'U', 'U', 'U', 'U', 'P', 'B', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'c', 'e', 'e', 'e', 'e', 'i', 'i', 'i', 'i', 'o', 'n', 'o', 'o', 'o', 'o', 'o', 'o', 'u', 'u', 'u', 'u', 'y');
for ($i = 0; $i < strlen($str); $i++) {
$j = array_search($str[$i], $text);
if ($j)
$str[$i] = $subs[$j];
}
if ($upper)
$str = strtoupper($str);
return ($str);
}
//retorna uma string sem acentos
function removeAcentosArray(array $str)
{
foreach ($str as $key => $value) {
$str[$key] = removeAcentos($value);
}
return ($str);
}

2
integracao/media/config/whatsapp.php

@ -8,7 +8,7 @@
| Local para armazenar os dados referente a API utilzada.
|
*/
define("CONF_WHATSAPP_AUTH_TOKEN", 'eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiIxIiwianRpIjoiNGViZDYxOTJmMThhNTU2OGVlMDQ5ZDM3NDYzYTZmNDg5YjcxYjQyMGNhYzZmYWM0OWI5MjBkMmIxM2MzMzFmZDExMjAzMzhiZDhiODE5NWUiLCJpYXQiOjE2MjA4MzI1MTYsIm5iZiI6MTYyMDgzMjUxNiwiZXhwIjoxNjUyMzY4NTE2LCJzdWIiOiIyOTQ1Iiwic2NvcGVzIjpbXX0.mPLDDdSZuL6XlZbJ_xRNxebZgKKnYPS7Ecuit_8nPKRwLkY4MCuUA7UVWgt7Z7IG6PfNaxWzZtld7qQ_grV469Va_UbGbD342FJnL6iMVrXRv8_ybArS5J65zRR50zclexaKklplRxfebMIo6eovTJrc9kOeUPbfD-vztVB-MEXdW8sH4BTl23p8XVSxRhAegCcd9eA_IDymUpRJ8XPjJ_ZD2KkOXgucBwotl4srE3CweTdbKtCLqZfQcePE0rxxcDN6d4R0vj5TU2ze0iL-jwNUV1Gk4CF6lHqTr-8xqEzNsPHlJSsLFwmrlAqokgVFLA4ktfywBYZmzI6VJRODyqNuA-sf1KKDcWmVy6y1wdbX0pKiE96yHp86IO0Dqb7nZTH035rC7Ml0UTAo0-AmO-1WRS2BCtirBTpP9EGzWtBElwKLpPzokwbiae-GZgykDO9HUbGSm5GV8zvVGRhRNys_kbXjJaL_0DcHevHlcnEQDHqIX0-3fP5uvC5NhFSXBOtzJ796DLYpUXCunAsh5KzDFGdK_VTP6Xhsf2YGofn1okyHgU0J1B-a9F3AZpMYdnv7_FQC_SuZJ8mXFcoFSGI8F6RfjsO9dVY-N6MHsNQ8vWCkf4c4bv0XhBgPz5Uo3kOETpvzQjgmeptC7Wl4G_jG4RoVSjnH-QnLpdrO9zg');
define("CONF_WHATSAPP_AUTH_TOKEN", 'eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiIxIiwianRpIjoiNzNjYWMyMDQ0ZmUwNDRjZmM4ZGM1YmNhMjVjMjNmOWY3ZTM3ZjNlODM4OWFhNmQwYjgxMWQ0M2RlYzM2MGI4NWY3MjZiYzQxZjQxOWZmODgiLCJpYXQiOjE2NTIzODUyODAuNzE5Nzg2LCJuYmYiOjE2NTIzODUyODAuNzE5Nzg5LCJleHAiOjE2ODM5MjEyODAuNzE3NTkxLCJzdWIiOiIyOTQ1Iiwic2NvcGVzIjpbXX0.s1gK_z4-95xHBd4DgMURH4BoZhObWxrEpMbp5h4zVC2qKi8YT88KAxKbFTGoscnaASXc42RLJ19Q0ptM-canWgmJ3jHLYerRLrM7YMowe_FhpQmaso5GuEk64tP27FywMixi3ULI2yf0u9KCbfUVxnVNLfxeaLeI90hxJxuIna72loGFMf-sDRg5UEb4AynosC3aNglslVUUpIvZt4CocpSbFjnO_MpCKCxwEA0E542ps-mkvld1wz5xp6YO9SkJ7XhmKbIm5Axh4bQgSkMfufghr7Xy9eXjS-9lCmC1k8sUoD4wu6W4lkUkzXYtds8AjGpqoOpxHBfiqBiJTO1o8AekkXq1X1VEzAY1GpzEQ64KEzfAk0h4Qjo_jc2FROeMto65AK7PKzOohrUUlXoWGMxZI9TnIRzlZ1G8CBMIomK8z_Ppgw41nd9mGOrd399YLlJa0BJZelLSjnTuFzdXnW90FYpapxoB7TRNdtg-DO3cUKioKwjq2lSkIbZKCvmQ9BPwZiGnm8Ft4YBh9o_AEWR2a1kEUr6xxQL6BFXnNTACYgzOTHt3TY5hMYxh93KM8aKni0oBcPfuIG9FcyabinmdNiyLNPH8NM4rhhnW-4hajvcfouNjkddbwtxK9gAgmp_VkP8ohZtDbgZ7yAHEZdIoyVuGouVhgVlZDEa2h3E');
define("CONF_WHATSAPP_AUTH_URL", 'https://api.positus.global/v2/whatsapp/numbers/ea4c9088-e34e-49ce-ba02-8ea55e6fdaa4/');
/*

105
integracao/media/database/att-v3.sql

@ -14,6 +14,90 @@ ALTER TABLE
ADD
saida_indisponivel timestamp(0) NULL;
select
id,
prm_sk_host_chat,
prm_chat_api,
prm_media_simultaneo,
prm_chat_api_supervisor into pbx_parametros_bk
from
pbx_parametros
where
id = 1;
alter table
pbx_parametros drop column prm_chat_api_supervisor;
alter table
pbx_parametros
add
prm_chat_api_supervisor varchar(255);
alter table
pbx_parametros drop column prm_sk_host_chat;
alter table
pbx_parametros
add
prm_sk_host_chat varchar(255);
alter table
pbx_parametros drop column prm_chat_api;
alter table
pbx_parametros
add
prm_chat_api varchar(255);
update
pbx_parametros
set
prm_chat_api_supervisor = (
select
prm_chat_api_supervisor
from
pbx_parametros_bk
where
id = 1
);
update
pbx_parametros
set
prm_chat_api = (
select
prm_chat_api
from
pbx_parametros_bk
where
id = 1
);
update
pbx_parametros
set
prm_sk_host_chat = (
select
prm_sk_host_chat
from
pbx_parametros_bk
where
id = 1
);
drop table pbx_parametros_bk;
select
id,
prm_sk_host_chat,
prm_chat_api,
prm_media_simultaneo,
prm_chat_api_supervisor
from
pbx_parametros
where
id = 1;
ALTER TABLE
pbx_parametros
ADD
@ -77,6 +161,7 @@ CREATE TABLE md_system_message (
data_reg timestamp NULL DEFAULT now(),
texto varchar NOT NULL,
ordem int NOT NULL,
fila varchar NULL,
momento varchar NULL
);
@ -144,34 +229,18 @@ VALUES
'ENTRAR_FILA_COM'
);
CREATE TABLE md_supervisor (
id SERIAL NOT NULL PRIMARY KEY,
ramal varchar NULL,
matricula varchar NULL,
nome varchar NULL,
tempo_login timestamp NULL,
fila varchar NULL,
status varchar NULL,
duracao timestamp NULL,
uniqueid varchar varying NULL DEFAULT '',
status_agente int NOT NULL DEFAULT 0,
motivo_pausa varchar NULL,
chamada_classificado int NOT NULL DEFAULT 1,
cliente_id varchar NULL
);
CREATE TABLE pbx_notifica_media (
id SERIAL NOT NULL PRIMARY KEY,
uniqueid character varying NOT NULL,
src character varying NOT NULL,
msg character varying NOT NULL,
notif_date timestamp WITHOUT TIME ZONW DEFAULT(NOW())
notif_date timestamp NULL DEFAULT now()
);
CREATE TABLE pbx_lista_negra_palavras (
id SERIAL NOT NULL PRIMARY KEY,
palavra character varying NOT NULL,
date_create timestamp WITHOUT TIME ZONW DEFAULT(NOW())
date_create timestamp NULL DEFAULT now()
);
INSERT INTO

32
integracao/media/docker/README

@ -0,0 +1,32 @@
# -------------------
# SIMPLESIP
# -------------------
## BUILD IMAGE ##
# docker image build -t simplesip .
#
# -------------------
# APLICAÇÃO
# -------------------
## BUILD IMAGE ##
# docker image build -t aplicativo .
#
# ## RUN CONTAINER ##
# docker run -d --name aplicativo --privileged -p 8080:80 -e DB_PORT=5433 -e DB_HOST=192.168.115.240 -e DB_BASE=pbx -e DB_USER=contacte -e DB_PASSWD=ctepgSQL aplicativo
#
# --------------------
# BANCO DE DADOS
# --------------------
# ## BUILD IMAGE ##
# docker image build -t simplesip-postgres .
#
# ## RUN CONTAINER ##
# docker run --name simplesip-postgres --privileged -e POSTGRES_DB=pbx -e POSTGRES_USER=contacte -e POSTGRES_PASSWORD=ctepgSQL -p 5433:5432 -d simplesip-postgres
#
# --------------------
# PORTAINER
# --------------------
# @doc https://docs.portainer.io/v/ce-2.11/start/install/server/docker/linux
## CREATE VOLUME ##
# docker volume create portainer_data
#
# docker run -d -p 9000:9000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:2.11.1

31
integracao/media/docker/aplicativo/Dockerfile

@ -0,0 +1,31 @@
FROM simplesip
### DOWNLOAD PROJECT ###
RUN mkdir -p /var/www/html/
WORKDIR /var/www/html/
RUN git clone http://desenvolvimento:SimpleS_G1t34@192.168.115.83:3000/awade/aplicativo.git
## CONFIGURANDO AMBIENTE WEB ##
WORKDIR /var/www/html/aplicativo/integracao/
RUN /bin/rm -rf media
RUN git clone -b 1.0.0 http://desenvolvimento:SimpleS_G1t34@192.168.115.83:3000/LucasCM/simples-whatsapp
RUN /bin/mv simples-whatsapp media
WORKDIR /var/www/html/aplicativo/integracao/media
RUN php /bin/composer install
WORKDIR /var/www/html/aplicativo
RUN /bin/cp -Rap asterisk/var_lib_asterisk/scripts/supervisor/supervisor.service /etc/systemd/system/
RUN chmod 755 /etc/systemd/system/supervisor.service
RUN chmod 755 /var/www/html/aplicativo/scriptdb/install/docker/simplesip/sip_install.sh
RUN chmod 755 /var/www/html/aplicativo/scriptdb/install/docker/simplesip/init.sh
RUN sh scriptdb/install/docker/simplesip/sip_install.sh
EXPOSE 80
ENTRYPOINT ["scriptdb/install/docker/simplesip/init.sh"]
CMD [ "/usr/sbin/httpd", "-D", "FOREGROUND" ]

16
integracao/media/docker/asterisk/Dockerfile

@ -0,0 +1,16 @@
FROM centos:7
LABEL maintainer="Andrius Kairiukstis <k@andrius.mobi>"
ENV ASTERISK_VERSION 16.26.0
ENV ASTERISK_ADDONS_VERSION 1.6.2.4
COPY build-asterisk.sh /
RUN /build-asterisk.sh
EXPOSE 5060/udp 5060/tcp
VOLUME /var/lib/asterisk/sounds /var/lib/asterisk/keys /var/lib/asterisk/phoneprov /var/spool/asterisk /var/log/asterisk
COPY docker-entrypoint.sh /
ENTRYPOINT ["/docker-entrypoint.sh"]
CMD ["/usr/sbin/asterisk", "-vvvdddf", "-T", "-W", "-U", "asterisk", "-p"]

96
integracao/media/docker/asterisk/build-asterisk.sh

@ -0,0 +1,96 @@
#!/bin/bash
PROGNAME=$(basename $0)
if test -z ${ASTERISK_VERSION}; then
echo "${PROGNAME}: ASTERISK_VERSION required" >&2
exit 1
fi
set -ex
useradd --system asterisk
yum -y install \
cpp \
gcc \
gcc-c++ \
make \
ncurses \
ncurses-devel \
libxml2 \
libxml2-devel \
openssl-devel \
newt-devel \
libuuid-devel \
net-snmp-devel \
xinetd \
tar \
libffi-devel \
sqlite-devel \
curl \
bison
mkdir -p /usr/src/asterisk \
/usr/src/asterisk/addons
cd /usr/src/asterisk/addons
curl -vsL http://downloads.asterisk.org/pub/telephony/asterisk/old-releases/asterisk-addons-${ASTERISK_ADDONS_VERSION}.tar.gz | tar --strip-components 1 -xz
cd /usr/src/asterisk
curl -vsL http://downloads.asterisk.org/pub/telephony/asterisk/old-releases/asterisk-${ASTERISK_VERSION}.tar.gz | tar --strip-components 1 -xz
# 1.5 jobs per core works out okay
: ${JOBS:=$(( $(nproc) + $(nproc) / 2 ))}
mkdir -p /etc/asterisk/ \
/var/spool/asterisk/fax
./configure --libdir=/usr/lib64
make menuselect/menuselect menuselect-tree menuselect.makeopts
# we don't need any sounds in docker, they will be mounted as volume
menuselect/menuselect --disable-category MENUSELECT_CORE_SOUNDS menuselect.makeopts
menuselect/menuselect --disable-category MENUSELECT_MOH menuselect.makeopts
menuselect/menuselect --disable-category MENUSELECT_EXTRA_SOUNDS menuselect.makeopts
make -j ${JOBS} all
make install
# copy default configs
# cp /usr/src/asterisk/configs/basic-pbx/*.conf /etc/asterisk/
make samples
make dist-clean
# set runuser and rungroup
sed -i -E 's/^;(run)(user|group)/\1\2/' /etc/asterisk/asterisk.conf
sed -i -e 's/# MAXFILES=/MAXFILES=/' /usr/sbin/safe_asterisk
cd /usr/src/asterisk/addons
./configure --libdir=/usr/lib64
make menuselect/menuselect menuselect-tree menuselect.makeopts
# disable saycountpl
menuselect/menuselect --disable app_saycountpl
# enable ooh323
menuselect/menuselect --enable chan_ooh323 menuselect.makeopts
make -j ${JOBS} all
make install
make samples
chown -R asterisk:asterisk /etc/asterisk \
/var/*/asterisk \
/usr/*/asterisk \
/usr/lib64/asterisk
chmod -R 750 /var/spool/asterisk
cd /
rm -rf /usr/src/asterisk \
/usr/src/codecs
yum -y clean all
rm -rf /var/cache/yum/*
exec rm -f /build-asterisk.sh

27
integracao/media/docker/asterisk/docker-entrypoint.sh

@ -0,0 +1,27 @@
#!/bin/sh
# run as user asterisk by default
ASTERISK_USER=${ASTERISK_USER:-asterisk}
if [ "$1" = "" ]; then
COMMAND="/usr/sbin/asterisk -T -W -U ${ASTERISK_USER} -p -vvvdddf"
else
COMMAND="$@"
fi
if [ "${ASTERISK_UID}" != "" ] && [ "${ASTERISK_GID}" != "" ]; then
# recreate user and group for asterisk
# if they've sent as env variables (i.e. to macth with host user to fix permissions for mounted folders
deluser asterisk && \
adduser --gecos "" --no-create-home --uid ${ASTERISK_UID} --disabled-password ${ASTERISK_USER} \
|| exit
fi
mkdir -p /var/run/asterisk
chown -R ${ASTERISK_USER}: /var/log/asterisk \
/var/lib/asterisk \
/var/run/asterisk \
/var/spool/asterisk; \
exec ${COMMAND}

15
integracao/media/docker/asterisk/hooks/post_push

@ -0,0 +1,15 @@
#!/bin/bash
# AUTOMATICALLY GENERATED
# DO NOT EDIT THIS FILE DIRECTLY, USE /post_push.erb
set -e
# Parse image name for repo name
tagStart=$(expr index "$IMAGE_NAME" :)
repoName=${IMAGE_NAME:0:tagStart-1}
# Tag and push image for each additional tag
for tag in {1.6.2.24}; do
docker tag $IMAGE_NAME ${repoName}:${tag}
docker push ${repoName}:${tag}
done

90
integracao/media/docker/asterisk13/Dockerfile

@ -0,0 +1,90 @@
FROM centos:centos7
LABEL maintainer='Doug Smith <info@laboratoryb.org>' contributors='Christophe Langenberg <christophe@langenberg.be>'
ENV build_date 2016-05-15
ENV AUTOBUILD_UNIXTIME 123124
RUN yum update -y \
&& yum install -y \
epel-release \
git \
kernel-headers \
wget \
gcc \
gcc-c++ \
cpp \
ncurses \
ncurses-devel \
libxml2 \
libxml2-devel \
sqlite \
sqlite-devel \
openssl-devel \
newt-devel \
kernel-devel \
libuuid-devel \
net-snmp-devel \
xinetd \
tar \
jansson-devel \
make \
bzip2 \
gettext \
&& yum clean all \
&& cd /tmp \
# Get pj project
&& git clone -b pjproject-2.4.5 --depth 1 https://github.com/asterisk/pjproject.git \
# Build pj project
&& cd pjproject \
&& ./configure \
--prefix=/usr \
--libdir=/usr/lib64 \
--enable-shared \
--disable-sound \
--disable-resample \
--disable-video \
--disable-opencore-amr \
1> /dev/null \
&& make -j$(nproc) dep 1> /dev/null \
&& make -j$(nproc) 1> /dev/null \
&& make -j$(nproc) install \
&& ldconfig \
&& ldconfig -p | grep pj \
&& cd .. \
# Download asterisk.
&& git clone -b certified/13.8 --depth 1 https://gerrit.asterisk.org/asterisk \
&& cd asterisk \
# Configure
&& ./configure \
--libdir=/usr/lib64 \
1> /dev/null \
# Remove the native build option
# from: https://wiki.asterisk.org/wiki/display/AST/Building+and+Installing+Asterisk
&& make -j$(nproc) menuselect.makeopts \
&& menuselect/menuselect \
--disable BUILD_NATIVE \
--enable cdr_csv \
--enable chan_sip \
--enable res_snmp \
--enable res_http_websocket \
--enable res_hep_pjsip \
--enable res_hep_rtcp \
menuselect.makeopts \
# Continue with a standard make.
&& make -j$(nproc) 1> /dev/null \
&& make -j$(nproc) install 1> /dev/null \
&& make -j$(nproc) samples 1> /dev/null \
&& make dist-clean \
# Update max number of open files.
&& sed -i -e 's/# MAXFILES=/MAXFILES=/' /usr/sbin/safe_asterisk \
# Create and configure asterisk for running asterisk user.
&& useradd -m asterisk -s /sbin/nologin \
&& chown -R asterisk:asterisk /var/run/asterisk \
/etc/asterisk/ \
/var/lib/asterisk \
/var/log/asterisk \
/var/spool/asterisk \
/usr/lib64/asterisk/
# And run asterisk in the foreground.
USER asterisk
CMD /usr/sbin/asterisk -f

35
integracao/media/docker/docker-compose.yml

@ -0,0 +1,35 @@
version: '3.7'
networks:
working:
driver: bridge
services:
postgresql:
build: postgresql
restart: always
container_name: postgresql
environment:
- POSTGRES_USER=contacte
- POSTGRES_PASSWORD=ctepgSQL
- POSTGRES_DB=pbx
ports:
- 5433:5432
networks:
- working
aplicativo:
build: aplicativo
container_name: aplicativo
working_dir: /var/www/html/aplicativo
ports:
- 8080:80
privileged: true
environment:
- container=docker
- DB_PORT=5433
- DB_HOST=192.168.115.83
- DB_BASE=pbx
- DB_USER=contacte
- DB_PASSWD=ctepgSQL
depends_on:
- postgresql
networks:
- working

29
integracao/media/docker/postgresql/Dockerfile

@ -0,0 +1,29 @@
FROM postgres:9.6
ENV LC_ALL=en_US.ISO-8859-1
ENV LC_MESSAGES=en_US.ISO-8859-1
ENV LC_MONETARY=en_US.ISO-8859-1
ENV LC_NUMERIC=en_US.ISO-8859-1
ENV LC_TIME=en_US.ISO-8859-1
RUN apt-get update && apt-get install -y \
vim git wget
RUN echo "en_US ISO-8859-1" > /etc/locale.gen
RUN locale-gen "en_US ISO-8859-1"
RUN export LC_ALL="en_US ISO-8859-1"
RUN update-locale
RUN git clone http://desenvolvimento:SimpleS_G1t34@192.168.115.83:3000/awade/aplicativo.git
RUN mv aplicativo/projeto/base/schema/adduser.sql /docker-entrypoint-initdb.d/adduser.sql
RUN mv aplicativo/projeto/base/schema/createSchema.sql /docker-entrypoint-initdb.d/createSchema.sql
RUN mv aplicativo/projeto/base/schema/putData.sql /docker-entrypoint-initdb.d/putData.sql
RUN rm -rf aplicativo
RUN echo "host all all 192.168.115.0/24 password" >> /var/lib/postgresql/data/pg_hba.conf
RUN echo "host all all 10.252.252.0/24 password" >> /var/lib/postgresql/data/pg_hba.conf
RUN echo "host all all 177.67.197.146/32 password" >> /var/lib/postgresql/data/pg_hba.conf
EXPOSE 5432

29
integracao/media/docker/simplesip/Dockerfile

@ -0,0 +1,29 @@
FROM centos:7
RUN yum -y update; yum clean all
RUN yum -y install systemd; yum clean all; \
(cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == systemd-tmpfiles-setup.service ] || rm -f $i; done); \
rm -f /lib/systemd/system/multi-user.target.wants/*;\
rm -f /etc/systemd/system/*.wants/*;\
rm -f /lib/systemd/system/local-fs.target.wants/*; \
rm -f /lib/systemd/system/sockets.target.wants/*udev*; \
rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \
rm -f /lib/systemd/system/basic.target.wants/*;\
rm -f /lib/systemd/system/anaconda.target.wants/*;
RUN adduser pbx
RUN yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
RUN yum -y install https://rpms.remirepo.net/enterprise/remi-release-7.rpm
RUN yum -y install yum-utils
RUN yum-config-manager --enable remi-php56
RUN yum update -y
RUN yum install php php-cli php-fpm php-mysqlnd php-zip php-devel \
php-gd php-mcrypt php-mbstring php-curl php-xml \
php-pear php-bcmath php-json php-pgsql php-pdo \
wget unzip vim git cronie mod_auth_token cronie -y
RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
RUN php -r "if (hash_file('sha384', 'composer-setup.php') === '55ce33d7678c5a611085589f1f3ddf8b3c52d662cd01d4ba75c0ee0459970c2200a51f492d557530c71c15d8dba01eae') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
RUN php composer-setup.php
RUN php composer-setup.php --filename=composer --install-dir=/bin

4
integracao/media/index.php

@ -1,5 +1,7 @@
<?php
/*
* Testando git no linux com netbeans.
*/
require __DIR__ . '/vendor/autoload.php';
include __DIR__ . '/includes/config.php';

65
integracao/media/public/css/styles.css

@ -49,7 +49,7 @@ a {
--backround-chat-panel: #fdfdfd;
--chat-hover-color: #f5f5f5;
--chat-active-color: #ebebeb;
--chat-window-beige: #e5ddd5;
--chat-window-beige: #fdfdfd;
--sender-message-green: #b8ffd5;
--events-message: #f3f3f3;
--type-message-bar: #f0f0f0;
@ -68,23 +68,6 @@ a {
grid-template-rows: 12.8rem 1fr;
}
/*****************
* APP BACKGROUND *
******************/
.top {
background: var(--background-green);
grid-column: 1 / -1;
grid-row: 1 / 2;
}
.bottom {
/** background-image: linear-gradient(to right top, #af8866, #b7766e, #ae6984, #8e679b, #506ba8); */
background-image: linear-gradient(to right bottom, #676767, #626262, #5d5d5d, #585858, #535353);
grid-column: 1 / -1;
grid-row: 1 / 5;
}
/******
* APP *
*******/
@ -94,13 +77,9 @@ a {
grid-template-columns: 42rem 1fr;
grid-column: 1 / -1;
grid-row: 1 / -1;
width: 90%;
max-width: 1250px;
margin: 2rem auto;
width: 100%;
border: 1px solid rgba(0, 0, 0, 0.1);
box-shadow: 0 0 2rem 1rem rgba(0, 0, 0, 0.3);
border-top-left-radius: 20px;
border-bottom-left-radius: 20px;
}
/***********
@ -111,8 +90,6 @@ a {
grid-column: 1 / 2;
background: var(--white);
border-right: 1px solid rgba(226, 226, 226, 0.7);
border-bottom-left-radius: 20px;
border-top-left-radius: 20px;
}
.sidebar-span {
@ -127,7 +104,6 @@ a {
.sidebar-name {
display: flex;
flex-direction: column;
margin-left: 20px;
padding-bottom: 3px;
margin-top: auto;
margin-bottom: auto;
@ -140,7 +116,6 @@ a {
justify-content: space-between;
height: 6rem;
padding: 1rem 2rem;
border-top-left-radius: 20px;
}
/* Profile image */
@ -419,8 +394,6 @@ a {
grid-column: 2 / -1;
background: var(--chat-window-beige);
position: relative;
border-bottom-right-radius: 20px;
border-top-right-radius: 20px;
}
/* Main chat window header */
@ -499,7 +472,7 @@ a {
display: flex;
flex-direction: column;
padding: 10rem 10rem 6rem 10rem;
height: calc(100vh - 100px);
height: calc(100vh - 78px);
overflow: scroll;
overflow-x: hidden;
background-image: url('../images/wallpaper_simpleschat.png');
@ -771,7 +744,7 @@ input[type="range"] {
margin: 0 5px;
}
.type-message-bar-center input {
.type-message-bar-center input, textarea {
width: 100%;
outline: none;
border: none;
@ -987,6 +960,18 @@ input[type="range"] {
background-color: #e5e5e5;
}
.btn-default {
padding: 5px 5px 5px;
color: #FFF;
border: solid 1px transparent;
border-radius: 20px;
background-color: #D8D8D8;
}
.btn-default:hover {
background-color: #CDCDCD;
}
.fz-10 {
font-size: 10px;
}
@ -1078,6 +1063,10 @@ input[type="range"] {
}
@media (max-width: 990px) {
.app {
grid-template-columns: 35em 1fr;
}
#welcometomessage h1,h2{
font-size: 20px;
}
@ -1103,8 +1092,20 @@ input[type="range"] {
}
}
@media (max-height: 820px){
@media (max-width: 680px){
.app {
grid-template-columns: 30em 1fr;
}
}
@media (max-width: 850px){
.app {
grid-template-columns: 33em 1fr;
}
}
@media (max-height: 820px){
#welcometomessage h1,h2{
font-size: 30px;
}

2
integracao/media/public/images/arrow-down.svg

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" id="Bold" viewBox="0 0 24 24" width="24" height="24"><path fill="#919191" d="M18.061,12.354a1.5,1.5,0,0,0-2.122,0L13.5,14.793V6a1.5,1.5,0,0,0-3,0v8.793L8.061,12.354a1.5,1.5,0,0,0-2.122,2.121l3.586,3.586a3.5,3.5,0,0,0,4.95,0l3.586-3.586A1.5,1.5,0,0,0,18.061,12.354Z"/></svg>

After

Width:  |  Height:  |  Size: 353 B

726
integracao/media/public/images/community_message.svg

@ -1,363 +1,363 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
data-name="Layer 1"
width="809.34183"
height="629.87561"
viewBox="0 0 809.34183 629.87561"
version="1.1"
id="svg1106"
sodipodi:docname="community_message.svg"
inkscape:version="0.92.4 (5da689c313, 2019-01-14)">
<metadata
id="metadata1112">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs1110" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1920"
inkscape:window-height="1017"
id="namedview1108"
showgrid="false"
inkscape:zoom="1.3462976"
inkscape:cx="404.67093"
inkscape:cy="344.64892"
inkscape:window-x="1912"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="svg1106" />
<path
d="M363.34812,549.37208C326.75641,513.35019,311.30181,475.77031,319.83,443.556c10.94436-41.34026,59.56474-69.92355,133.39432-78.42081l.27268,2.37135c-72.8018,8.37841-120.68047,36.32021-131.35973,76.66007-8.29975,31.35084,6.93053,68.10978,42.88542,103.50533Z"
transform="translate(-195.32909 -135.0622)"
fill="#f0f0f0"
id="path970" />
<path
d="M716.39646,677.23887c-45.66871,0-95.2959-6.78662-144.58981-19.83666-60.95842-16.138-116.85076-40.49659-161.63444-70.44326l1.3261-1.98332c44.56809,29.8016,100.21281,54.04886,160.919,70.11932,54.85932,14.52412,110.13,21.25364,159.81659,19.47775l.08623,2.38417Q724.44916,677.24,716.39646,677.23887Z"
transform="translate(-195.32909 -135.0622)"
fill="#f0f0f0"
id="path972" />
<path
d="M821.16612,662.23116l-.76443-2.26066c40.84443-13.8098,66.391-36.05568,73.87795-64.33483,9.51688-35.94965-11.15878-77.66687-58.21884-117.4672C788.76069,438.166,720.553,404.974,643.99959,384.7079l.61061-2.30727c76.88788,20.35521,145.42765,53.71909,192.99111,93.94591,47.80351,40.42842,68.75185,83.00971,58.98559,119.89973C888.88553,625.33647,862.80527,648.15334,821.16612,662.23116Z"
transform="translate(-195.32909 -135.0622)"
fill="#f0f0f0"
id="path974" />
<path
d="M446.11894,678.23635C356.38263,638.43719,287.234,586.8028,251.412,532.84367l1.988-1.32027C288.97435,585.10906,357.76,636.43756,447.08613,676.05494Z"
transform="translate(-195.32909 -135.0622)"
fill="#f0f0f0"
id="path976" />
<path
d="M761.62469,747.18514q-13.8838,0-28.24187-.61993l.10255-2.38418c71.43317,3.09267,134.46-5.45587,182.27864-24.72619l.8926,2.214C874.94289,738.477,821.77556,747.18514,761.62469,747.18514Z"
transform="translate(-195.32909 -135.0622)"
fill="#f0f0f0"
id="path978" />
<path
d="M709.55856,367.27523c-14.83176-4.829-30.08768-9.3252-45.34359-13.36408-87.792-23.24162-174.09251-31.49359-249.575-23.85923l-.24-2.37485c75.764-7.65942,162.35983.61236,250.42571,23.92681,15.299,4.05053,30.59806,8.55961,45.47177,13.40253Z"
transform="translate(-195.32909 -135.0622)"
fill="#f0f0f0"
id="path980" />
<path
d="M307.26526,552.95184c-36.59172-36.0219-52.04632-73.60177-43.51818-105.8161,10.94437-41.34025,59.56474-69.92354,133.39433-78.4208l.27267,2.37135c-72.8018,8.37841-120.68047,36.32021-131.35973,76.66006-8.29975,31.35085,6.93054,68.10978,42.88542,103.50533Z"
transform="translate(-195.32909 -135.0622)"
fill="#f0f0f0"
id="path982" />
<path
d="M660.31359,680.81863c-45.66871,0-95.29589-6.78663-144.58981-19.83666-60.95842-16.138-116.85076-40.49659-161.63443-70.44326l1.32609-1.98332c44.5681,29.8016,100.21282,54.04886,160.919,70.11931,54.85932,14.52412,110.13,21.25365,159.8166,19.47775l.08623,2.38418Q668.3663,680.81979,660.31359,680.81863Z"
transform="translate(-195.32909 -135.0622)"
fill="#f0f0f0"
id="path984" />
<path
d="M765.08325,665.81091l-.76442-2.26065c40.84442-13.8098,66.391-36.05569,73.87794-64.33484,9.51689-35.94964-11.15878-77.66687-58.21884-117.4672-47.3001-40.0025-115.50777-73.1945-192.06121-93.46056l.61061-2.30727C665.41521,406.3356,733.955,439.69947,781.51844,479.9263,829.322,520.35472,850.27029,562.936,840.504,599.826,832.80266,628.91622,806.7224,651.7331,765.08325,665.81091Z"
transform="translate(-195.32909 -135.0622)"
fill="#f0f0f0"
id="path986" />
<path
d="M390.03608,681.81611c-89.73632-39.79916-158.885-91.43355-194.707-145.39269l1.988-1.32026c35.57443,53.58566,104.36007,104.91416,193.68621,144.53154Z"
transform="translate(-195.32909 -135.0622)"
fill="#f0f0f0"
id="path988" />
<path
d="M705.54182,750.7649q-13.88379,0-28.24186-.61994l.10254-2.38417c71.43318,3.09267,134.46-5.45587,182.27864-24.7262l.89261,2.21405C818.86,742.05672,765.6927,750.7649,705.54182,750.7649Z"
transform="translate(-195.32909 -135.0622)"
fill="#f0f0f0"
id="path990" />
<path
d="M653.47569,370.855c-14.83175-4.82894-30.08767-9.32519-45.34359-13.36407-87.792-23.24163-174.09251-31.4936-249.57505-23.85923l-.24-2.37485c75.764-7.65942,162.35983.61236,250.42571,23.92681,15.299,4.05053,30.59807,8.55961,45.47177,13.40253Z"
transform="translate(-195.32909 -135.0622)"
fill="#f0f0f0"
id="path992" />
<path
d="M236.00582,489.03092c17.14976-19.22826,44.50649-30.9473,69.29785-23.93208a118.70968,118.70968,0,0,0-46.32362,67.05768c-2.67852,10.46848-4.56766,22.39086-13.2738,28.79149-5.41709,3.98274-12.59491,4.93415-19.25684,4.02714-6.66224-.90723-12.96156-3.498-19.17587-6.06531l-1.6722.14488C210.40907,533.74217,218.85606,508.25918,236.00582,489.03092Z"
transform="translate(-195.32909 -135.0622)"
fill="#f2f2f2"
id="path994" />
<path
d="M305.22794,465.63414a101.46482,101.46482,0,0,0-53.2125,32.64337,43.694,43.694,0,0,0-7.36793,11.53847,25.06052,25.06052,0,0,0-1.47925,13.10607c.55678,4.13632,1.60531,8.30284,1.14692,12.50247a15.34469,15.34469,0,0,1-6.50386,10.73231c-4.35348,3.179-9.58959,4.60415-14.7585,5.81987-5.7391,1.34983-11.7216,2.66095-16.39988,6.475-.56684.46212-1.25076-.44444-.68477-.90587,8.1394-6.63578,19.45136-5.7838,28.45684-10.60368,4.20212-2.24905,7.75192-5.77808,8.615-10.6206.75471-4.23457-.32287-8.53205-.92282-12.71529a26.74161,26.74161,0,0,1,.96892-12.86881,40.3945,40.3945,0,0,1,6.89713-11.77917,98.43912,98.43912,0,0,1,22.91947-20.52511,103.26408,103.26408,0,0,1,32.19117-13.92683c.70851-.17132.838.95761.13408,1.12781Z"
transform="translate(-195.32909 -135.0622)"
fill="#fff"
id="path996" />
<path
d="M256.1732,492.79743a15.223,15.223,0,0,1-.469-19.70657c.46161-.56633,1.36335.12438.90112.69147a14.09612,14.09612,0,0,0,.47371,18.33032c.48879.54315-.41987,1.22481-.90586.68478Z"
transform="translate(-195.32909 -135.0622)"
fill="#fff"
id="path998" />
<path
d="M242.60972,520.862a29.341,29.341,0,0,0,20.38536-6.45483c.56846-.4601,1.25255.44632.68478.90586a30.51908,30.51908,0,0,1-21.22647,6.67372c-.73038-.05063-.57008-1.17511.15633-1.12475Z"
transform="translate(-195.32909 -135.0622)"
fill="#fff"
id="path1000" />
<path
d="M283.01569,473.47307a8.61692,8.61692,0,0,0,6.954,4.30074c.73066.04134.56957,1.16582-.15633,1.12475a9.656,9.656,0,0,1-7.70353-4.74072.58687.58687,0,0,1,.11055-.79532.57066.57066,0,0,1,.79532.11055Z"
transform="translate(-195.32909 -135.0622)"
fill="#fff"
id="path1002" />
<path
d="M340.49545,544.9208c-.457-.01284-.91394-.02568-1.37675-.03089a113.48,113.48,0,0,0-18.37688,1.07221c-.47163.05859-.9487.12507-1.41766.19708a119.63375,119.63375,0,0,0-41.593,14.49229,116.1798,116.1798,0,0,0-14.59508,9.929c-6.361,5.07568-12.8542,11.08514-20.30131,13.68643a19.92976,19.92976,0,0,1-2.367.69439l-34.56-23.87781c-.05131-.09368-.10842-.17978-.16012-.27373l-1.42346-.89027c.22432-.20613.46141-.4151.68573-.62122.12963-.12012.267-.23491.39658-.355.08886-.07839.17814-.15656.25384-.23238.02948-.0262.05934-.05214.0834-.07049.07571-.07582.15407-.13821.22432-.20613q1.98306-1.7576,3.99773-3.49341c.00545-.00789.00545-.00789.01861-.01047,10.25634-8.7913,21.33673-16.80359,33.281-22.87937.35942-.18268.72391-.37352,1.09912-.54529a110.86072,110.86072,0,0,1,16.77837-6.7664,98.008,98.008,0,0,1,9.61356-2.4324,81.49862,81.49862,0,0,1,25.46291-.97585c16.91705,2.01955,32.99991,9.427,43.48488,22.57717C339.97222,544.24483,340.23292,544.57632,340.49545,544.9208Z"
transform="translate(-195.32909 -135.0622)"
fill="#f2f2f2"
id="path1004" />
<path
d="M340.1147,545.30576a101.4649,101.4649,0,0,0-62.14077-5.9737,43.69454,43.69454,0,0,0-12.82983,4.77682,25.06061,25.06061,0,0,0-9.07186,9.57386c-2.04579,3.63784-3.71713,7.59586-6.6116,10.673a15.34465,15.34465,0,0,1-11.65456,4.65337c-5.39-.08284-10.42876-2.09744-15.2878-4.2388-5.395-2.37757-10.96111-4.93259-16.99277-4.70394-.73082.02771-.73108-1.1079-.00136-1.13556,10.49405-.39782,19.01307,7.093,29.10534,8.66653,4.70924.73423,9.66828.05372,13.27292-3.29314,3.15209-2.92668,4.87909-7.00675,6.91866-10.708a26.74157,26.74157,0,0,1,8.52154-9.69167,40.39458,40.39458,0,0,1,12.59885-5.25246,98.439,98.439,0,0,1,30.65744-2.589,103.264,103.264,0,0,1,34.08777,8.26152c.66884.28978.09251,1.2691-.572.98121Z"
transform="translate(-195.32909 -135.0622)"
fill="#fff"
id="path1006" />
<path
d="M284.59306,537.45978a15.223,15.223,0,0,1,11.49027-16.01694c.70954-.17426,1.01367.92015.30319,1.09464a14.09613,14.09613,0,0,0-10.6579,14.92094c.06327.728-1.07266.72516-1.13556.00136Z"
transform="translate(-195.32909 -135.0622)"
fill="#fff"
id="path1008" />
<path
d="M256.8666,551.70159a29.341,29.341,0,0,0,20.16282,7.11958c.73089-.02512.73137,1.11048.00136,1.13556a30.519,30.519,0,0,1-20.96618-7.45121c-.55269-.48016.25232-1.28148.802-.80393Z"
transform="translate(-195.32909 -135.0622)"
fill="#fff"
id="path1010" />
<path
d="M317.65988,538.1914a8.61693,8.61693,0,0,0,2.963,7.62068c.5585.47292-.24714,1.27377-.802.80393a9.656,9.656,0,0,1-3.2966-8.42325.58686.58686,0,0,1,.5671-.56846.57065.57065,0,0,1,.56846.5671Z"
transform="translate(-195.32909 -135.0622)"
fill="#fff"
id="path1012" />
<path
d="M907.994,646.65488c-9.68947-23.87372-31.516-44.10561-57.223-45.83088a118.70969,118.70969,0,0,1,21.09071,78.72606c-.99576,10.75975-3.22363,22.62349,2.82479,31.57791,3.76336,5.57173,10.20385,8.88026,16.78308,10.26509,6.57959,1.38473,13.38321,1.06186,20.09888.73254l1.52623.69848C917.07422,697.36818,917.68346,670.52859,907.994,646.65488Z"
transform="translate(-195.32909 -135.0622)"
fill="#f2f2f2"
id="path1014" />
<path
d="M850.66244,601.35361a101.46487,101.46487,0,0,1,39.14549,48.62911,43.6942,43.6942,0,0,1,3.06122,13.3436,25.06057,25.06057,0,0,1-3.01175,12.84082c-1.91461,3.70856-4.30251,7.28029-5.28229,11.38968a15.34469,15.34469,0,0,0,2.51838,12.29392c3.03176,4.45727,7.48427,7.55936,11.94389,10.44163,4.95155,3.20022,10.14536,6.44579,13.26959,11.61032.37854.62576,1.32737.0018.9494-.623-5.43562-8.98541-16.37587-11.985-23.2375-19.55118-3.20176-3.53055-5.35895-8.04737-4.54424-12.89826.71244-4.24188,3.17171-7.92719,5.14275-11.66543A26.74158,26.74158,0,0,0,894.03,664.719a40.39429,40.39429,0,0,0-2.53691-13.41205,98.439,98.439,0,0,0-14.68766-27.03433,103.2639,103.2639,0,0,0-25.63769-23.93611c-.60971-.39948-1.11106.62026-.50533,1.01713Z"
transform="translate(-195.32909 -135.0622)"
fill="#fff"
id="path1016" />
<path
d="M887.7339,643.424a15.223,15.223,0,0,0,7.06506-18.40254c-.24441-.68854-1.32584-.34108-1.0811.34837a14.09613,14.09613,0,0,1-6.607,17.10477c-.64291.34726-.01621,1.29467.623.9494Z"
transform="translate(-195.32909 -135.0622)"
fill="#fff"
id="path1018" />
<path
d="M891.07584,674.41461a29.341,29.341,0,0,1-17.03-12.93084c-.38075-.6244-1.32969-.00063-.9494.623a30.51906,30.51906,0,0,0,17.74861,13.4197c.70491.1978.93187-.91514.23079-1.11187Z"
transform="translate(-195.32909 -135.0622)"
fill="#fff"
id="path1020" />
<path
d="M868.94785,616.20207a8.61693,8.61693,0,0,1-7.99493,1.7133c-.702-.20663-.92827.90658-.23079,1.11187a9.656,9.656,0,0,0,8.84874-1.87578.58685.58685,0,0,0,.16319-.7862.57065.57065,0,0,0-.78621-.16319Z"
transform="translate(-195.32909 -135.0622)"
fill="#fff"
id="path1022" />
<path
d="M790.7983,664.17446c.43471.14149.86941.283,1.30705.43363a113.47979,113.47979,0,0,1,16.94746,7.18631c.4245.21369.85148.43665,1.269.66209a119.63349,119.63349,0,0,1,34.30249,27.62862,116.1803,116.1803,0,0,1,10.40889,14.25679c4.28507,6.91836,8.38071,14.76057,14.5203,19.71352a19.933,19.933,0,0,0,1.99594,1.44955l40.57483-10.87314c.07981-.071.16254-.13288.2428-.204l1.63988-.36005c-.142-.26954-.29506-.546-.437-.81556-.08172-.15669-.17247-.311-.25419-.46766-.05734-.10369-.11515-.20732-.161-.30417-.019-.03459-.03836-.06905-.05485-.09443-.04582-.09685-.09866-.182-.142-.26953q-1.277-2.32185-2.591-4.63382c-.00249-.00927-.00249-.00927-.014-.01611-6.70494-11.727-14.44781-22.99734-23.65514-32.73414-.27711-.29285-.55625-.59509-.8519-.883a110.86056,110.86056,0,0,0-13.52812-12.012,98.00839,98.00839,0,0,0-8.23678-5.522,81.499,81.499,0,0,0-23.65365-9.47717c-16.6117-3.78376-34.24859-2.21269-48.54339,6.6485C791.5183,663.71366,791.16135,663.93825,790.7983,664.17446Z"
transform="translate(-195.32909 -135.0622)"
fill="#f2f2f2"
id="path1024" />
<path
d="M791.02753,664.665a101.46484,101.46484,0,0,1,60.53356,15.25934,43.69414,43.69414,0,0,1,10.478,8.811,25.06059,25.06059,0,0,1,5.32635,12.066c.7041,4.1138.94792,8.4033,2.63976,12.27431a15.34468,15.34468,0,0,0,9.41257,8.29977c5.10427,1.73356,10.527,1.52968,15.82311,1.146,5.88029-.426,11.98132-.96161,17.58524,1.281.679.27172,1.06091-.79774.38294-1.069-9.74986-3.90172-20.291.2901-30.325-1.61994-4.68206-.89126-9.12389-3.19892-11.394-7.56259-1.98507-3.81585-2.24029-8.239-2.9172-12.41048a26.74153,26.74153,0,0,0-4.76845-11.992,40.394,40.394,0,0,0-10.10057-9.18138,98.43872,98.43872,0,0,0-28.0038-12.74241,103.264,103.264,0,0,0-34.88145-3.676c-.72734.04813-.51368,1.16418.20891,1.11637Z"
transform="translate(-195.32909 -135.0622)"
fill="#fff"
id="path1026" />
<path
d="M845.9563,675.93628a15.223,15.223,0,0,0-5.43854-18.94706c-.6097-.4026-1.264.52592-.65346.92906a14.09612,14.09612,0,0,1,5.023,17.635c-.30425.66435.76654,1.04349,1.06905.383Z"
transform="translate(-195.32909 -135.0622)"
fill="#fff"
id="path1028" />
<path
d="M867.28313,698.66845a29.341,29.341,0,0,1-21.38276-.07132c-.67993-.26931-1.06206.80006-.38295,1.06905a30.51914,30.51914,0,0,0,22.25086.029c.68192-.26648.19306-1.29174-.48515-1.02672Z"
transform="translate(-195.32909 -135.0622)"
fill="#fff"
id="path1030" />
<path
d="M814.5672,665.51157a8.617,8.617,0,0,1-5.352,6.18148c-.685.2577-.19535,1.28273.48515,1.02671a9.656,9.656,0,0,0,5.93587-6.82525.58684.58684,0,0,0-.34305-.726.57064.57064,0,0,0-.726.34305Z"
transform="translate(-195.32909 -135.0622)"
fill="#fff"
id="path1032" />
<circle
cx="524.6825"
cy="583.33993"
r="9.54602"
fill="#fd6584"
id="circle1034" />
<circle
cx="558.49624"
cy="420.74992"
r="9.54602"
fill="#e6e6e6"
id="circle1036" />
<circle
cx="380.86745"
cy="155.96167"
r="9.54602"
fill="#e6e6e6"
id="circle1038" />
<path
d="M376.15456,657.20782c0,2.43.08,4.86.25,7.27.18,2.88.49,5.74.91,8.58a107.2491,107.2491,0,0,0,8.02,27.73q.29993.66.6,1.32l.3.66c.1.22.21.44.31.65.14.29.27.57.41.85.17.35.34.7.52,1.05.02.04.04.09.07.14.15.3.29.59.45.89a1.7462,1.7462,0,0,0,.1.19c.17.34.35.69.53,1.03.2.36005.39.73.59,1.09.48.89.98,1.77,1.49,2.65.15.26.3.52.46.78.14.24.28.48.43.72.1.16.2.33.3.49.16.27.32.53.49.8.37.59.75,1.18,1.12,1.77h.01c.17.27.35.54.53.8v.01c.53.8,1.08,1.6,1.63,2.38995a.0098.0098,0,0,1,.01.01c.44.64.9,1.26,1.35,1.88v.01c.3.39.59.79.89,1.18.24.32.49.65.74.97.05.06994.11.12994.16.2v.01c.07.09.14.17.21.26q1.59,2.04,3.28,3.99l.18.21c.06.07.13.14.19.22.1.11005.19.22.29.33.09.11.19.22.29.33a108.617,108.617,0,0,0,19.83,17.49c.97.67,1.96,1.32,2.95,1.95.25.16.5.32.75.47.07.05.15.1.22.15.14.08.27.16.41.25.13.08.26.16.4.24.53.33,1.07.65,1.61.97.13.08.27.16.41.24006.13.06994.27.15.41.23,0,.01,0,.01.01.01h.01v.01h.01q1.00506.58492,2.04,1.13995c.37.2.75.41,1.13.6.86.47,1.73.92,2.6,1.35.31.15.63.3.94.46.26.12.52.25.78.37.08.04.15.07.22.11.22.1.43.2.65.3.24.11005.48.22.71.33.27.12.53.24.8.35,1,.45,2.01.88,3.02,1.29a105.87419,105.87419,0,0,0,11.08,3.84c.17.05.35.1.53.15q2.41508.675,4.86005,1.23,4.275.99006,8.63,1.62h.02c.35.05.69.1,1.04.15.03,0,.06.01.1.01,0,.01,0,.01.01,0,.38.05.77.1,1.15.15a.24843.24843,0,0,0,.08.01c.36.05.73.09,1.09.13q.58494.06,1.17.12.45.045.9.09a.19454.19454,0,0,0,.08.01c.27.02.54.05.81.07h.04c.23.02.47.04.7.06006,2.79.22,5.59.31994,8.43.31994,3.07,0,6.12-.12,9.13-.38h.03c.65-.06,1.29-.12,1.93-.18.17-.02.33-.03.5-.05.03,0,.07-.01.1-.01.05-.01.1-.01.16-.02a.24843.24843,0,0,0,.08-.01c.22-.02.44-.05.67-.07l.75-.09c.25-.03.5-.07.75-.1.06-.01.11-.01.17-.02.18-.02.36-.05.54-.07995.09-.01.18-.02.26-.03.18-.03.35-.05.53-.08h.01a105.706,105.706,0,0,0,16.2-3.65c.28-.09.56-.17005.84-.26.01,0,.02-.01.03-.01.08-.03.17-.05.25-.08.75-.24,1.49-.49,2.23-.75,1.02-.34,2.03-.71,3.04-1.09.27-.11.54-.21.81-.32.55-.21,1.09-.43,1.63-.65.92-.37,1.84-.76,2.75-1.16.85-.38,1.69-.76,2.53-1.16.02-.00994.05-.00994.07-.03.19-.09.38-.18.56-.27h.01a107.18912,107.18912,0,0,0,13.29-7.59q2.04-1.365,4.02-2.82c1.06-.79,2.1-1.59,3.14-2.41a108.28427,108.28427,0,0,0,14.19-13.56v-.01c.31-.34.6-.69.9-1.04.05-.05.09-.1.13-.14.19-.23.37-.45.56-.67v-.01c.25-.29.5-.59.74-.89.06-.06994.11-.12994.16-.19v-.01c.2-.24.38995-.48.59-.73.1-.12.19-.24.29-.36v-.01c.59-.74,1.16-1.48,1.73-2.24.15-.2.3-.41.46-.62.72-.97,1.42-1.96,2.1-2.95v-.01c.26-.37.51-.75.77-1.12q.375-.57.75-1.13995c.25-.4.51-.79.76-1.19l.03-.06c.25-.38.5-.78.74-1.17.19-.32.38-.63.57-.94.12-.21.25-.42.37-.63995a2.3919,2.3919,0,0,0,.13-.21q.42-.735.84-1.47c.33-.56994.65-1.15.97-1.73.12-.24.25-.48.38-.72.05-.08.09-.16.13-.24.15-.28.3-.56994.44-.86.15-.28.3-.57.45-.86.13995-.28.29-.57.43-.86.11-.22.21-.44.32-.66a.2175.2175,0,0,1,.03-.05c.05-.11.1-.21.14-.31a.21619.21619,0,0,0,.03-.05c.11-.22.21-.45.32-.67.14-.29.27-.59.41-.88.09-.2.19-.41.28-.62.13-.29.27-.58.39-.88.14-.30005.27-.6.4-.91a2.29962,2.29962,0,0,0,.1-.23c.07-.14.12-.28.18-.42.16-.37.32-.75.47-1.12.18-.42.35-.85.51-1.27.16-.39.31-.79.46-1.19l.06-.14a108.31693,108.31693,0,0,0,5.28-18.93v-.01a109.43156,109.43156,0,0,0,1.43-11.14c.01-.21.03-.41.04-.61.18-2.53.26-5.07.26-7.62,0-1.13-.02-2.25-.05-3.37a107.22221,107.22221,0,0,0-23.78-64.2c-.32-.4-.64-.8-.97-1.2-.33-.4-.67-.79-1-1.18a107.74949,107.74949,0,0,0-173.04,12.43c-.49.78-.98,1.57-1.45,2.36005-.48.8-.94,1.6-1.4,2.41A107.27619,107.27619,0,0,0,376.15456,657.20782Z"
transform="translate(-195.32909 -135.0622)"
fill="#f2f2f2"
id="path1040" />
<path
d="M479.61245,586.74147a254.162,254.162,0,0,0,54.14823,7.81528,67.79984,67.79984,0,0,0,8.29619-.05641c6.069-.51045,11.26756-2.41793,17.05716-3.46033,2.78331-.4997,5.88364-.86509,8.68575-1.40509q-.97121-1.20493-1.97732-2.38032c-6.04216.51046-12.17832,2.18151-18.293,2.95794-10.39442,1.3218-22.04079-.15314-29.92056-3.79078-3.823-1.76509-6.75141-3.96809-10.561-5.74124a4.9219,4.9219,0,0,0-1.65762-.50777,5.76807,5.76807,0,0,0-3.1272.81136c-6.39139,3.22658-15.67088,5.84869-24.28409,4.406C477.3369,585.8925,478.55662,586.46474,479.61245,586.74147Z"
transform="translate(-195.32909 -135.0622)"
fill="#fff"
id="path1042" />
<path
d="M441.49774,598.09637c-.07866-.01437-.15753-.02558-.23624-.03921a6.42127,6.42127,0,0,0,.93083-.7013Z"
transform="translate(-195.32909 -135.0622)"
fill="#fff"
id="path1044" />
<path
d="M389.93673,604.46221q5.396.4312,10.84845.6421a68.3417,68.3417,0,0,0,8.2962-.05641c6.069-.51315,11.26756-2.41793,17.05716-3.46033,5.306-.95375,11.75383-1.41315,15.12283-3.53018-8.70725-1.50718-17.72881,1.56091-26.70741,2.70271a63.77318,63.77318,0,0,1-21.76406-1.07464Q391.29884,602.03086,389.93673,604.46221Z"
transform="translate(-195.32909 -135.0622)"
fill="#fff"
id="path1046" />
<path
d="M433.4546,752.41785c.86.47,1.73.92,2.6,1.35.31.15.63.3.94.46.26.12.52.25.78.37.08.04.15.07.22.11.22.1.43.2.65.3.24.11005.48.22.71.33.27.12.53.24.8.35,1,.45,2.01.88,3.02,1.29a105.87419,105.87419,0,0,0,11.08,3.84c.17.05.35.1.53.15q2.41508.675,4.86005,1.23,4.275.99006,8.63,1.62h.02c.35.05.69.1,1.04.15.03,0,.06.01.1.01,0,.01,0,.01.01,0,.38.05.77.1,1.15.15a.24843.24843,0,0,0,.08.01c.36.05.73.09,1.09.13q.58494.06,1.17.12.45.045.9.09a.19454.19454,0,0,0,.08.01c.27.02.54.05.81.07h.04c.23.02.47.04.7.06006,2.79.22,5.59.31994,8.43.31994,3.07,0,6.12-.12,9.13-.38h.03c.65-.06,1.29-.12,1.93-.18.17-.02.33-.03.5-.05.03,0,.07-.01.1-.01.05-.01.1-.01.16-.02a.24843.24843,0,0,0,.08-.01c.22-.02.44-.05.67-.07l.75-.09c.25-.03.5-.07.75-.1.06-.01.11-.01.17-.02.18-.02.36-.05.54-.07995.09-.01.18-.02.26-.03.18-.03.35-.05.53-.08h.01a105.706,105.706,0,0,0,16.2-3.65c.28-.09.56-.17005.84-.26a40.177,40.177,0,0,0-22.03-27.86,9.49736,9.49736,0,0,0,2.73-4.86005,9.29434,9.29434,0,0,0-1.28-7.01995,8.9678,8.9678,0,0,0-5.66-3.88l-14.82-3.1a9.2231,9.2231,0,0,0-10.8,7.2,9.76284,9.76284,0,0,0-.2,2.22C450.21461,732.10785,439.94459,741.95782,433.4546,752.41785Z"
transform="translate(-195.32909 -135.0622)"
fill="#6c63ff"
id="path1048" />
<circle
cx="281.88445"
cy="541.39662"
r="30.87556"
fill="#ffb8b8"
id="circle1050" />
<path
d="M457.96832,703.07847c-3.29254-2.24911-6.65479-6.57094-8.89946-9.81005a37.07482,37.07482,0,0,1-5.72473-29.60121,11.3042,11.3042,0,0,1,2.65776-5.44507c1.45423-1.439,3.82936-2.12133,5.60422-1.10373a10.13228,10.13228,0,0,1,.41151-8.03954,17.85678,17.85678,0,0,1,5.27941-6.28793,29.73759,29.73759,0,0,1,30.2834-3.58533c1.92864.89366-1.23909-6.00834.77965-5.34279a8.22979,8.22979,0,0,0,6.21161-.10916c1.89865-.95571,8.19188,4.72263,7.46365,2.72565a9.37686,9.37686,0,0,1,2.17171,15.70349c-1.59351,1.34506-3.583,2.11958-5.32779,3.26163a15.29686,15.29686,0,0,0-4.67894,19.74039,20.26618,20.26618,0,0,0-5.96467-2.592,6.85938,6.85938,0,0,0-6.10476,1.46829,7.70642,7.70642,0,0,0-1.86711,5.81588c.06916,2.09526.56765,4.15949.6236,6.25514.16417,6.14915,3.45742,17.84-1.3102,21.10849C475.81474,709.82,462.46384,706.14933,457.96832,703.07847Z"
transform="translate(-195.32909 -135.0622)"
fill="#2f2e41"
id="path1052" />
<path
d="M498.44289,521.91827a4.93032,4.93032,0,0,1-1.89356-.38281,4.78958,4.78958,0,0,1-3.0039-4.49512v-4.8872a3.8707,3.8707,0,0,0-3.86622-3.8667,4.87211,4.87211,0,0,1-4.8667-4.8667V436.46466a4.872,4.872,0,0,1,4.86622-4.8667H711.50539a4.87211,4.87211,0,0,1,4.8667,4.8667v66.95508a4.87211,4.87211,0,0,1-4.8667,4.8667H515.64992a3.8427,3.8427,0,0,0-2.73438,1.13232l-11.062,11.062A4.79813,4.79813,0,0,1,498.44289,521.91827Z"
transform="translate(-195.32909 -135.0622)"
fill="#fff"
id="path1068" />
<path
d="M498.44289,522.91827a5.9116,5.9116,0,0,1-2.27686-.459,5.77532,5.77532,0,0,1-3.6206-5.41895v-4.88672a2.86981,2.86981,0,0,0-2.86622-2.86718,5.87351,5.87351,0,0,1-5.8667-5.86719V436.46466a5.873,5.873,0,0,1,5.86622-5.8667H711.50539a5.87341,5.87341,0,0,1,5.8667,5.8667v66.95459a5.87351,5.87351,0,0,1-5.8667,5.86719H515.64992a2.84681,2.84681,0,0,0-2.02735.83984l-11.062,11.06152A5.79479,5.79479,0,0,1,498.44289,522.91827ZM489.67873,432.598a3.8707,3.8707,0,0,0-3.86622,3.8667v66.95459a3.87091,3.87091,0,0,0,3.8667,3.86719,4.87241,4.87241,0,0,1,4.86622,4.86718v4.88672a3.86665,3.86665,0,0,0,6.60058,2.7334l11.0625-11.06152a4.83313,4.83313,0,0,1,3.44141-1.42578H711.50539a3.87091,3.87091,0,0,0,3.8667-3.86719V436.46466a3.8708,3.8708,0,0,0-3.8667-3.8667Z"
transform="translate(-195.32909 -135.0622)"
fill="#3f3d56"
id="path1070" />
<path
d="M692.44337,461.91046H512.565a2.59082,2.59082,0,0,1,0-5.18164H692.44337a2.59082,2.59082,0,0,1,0,5.18164Z"
transform="translate(-195.32909 -135.0622)"
fill="#6c63ff"
id="path1072" />
<path
d="M692.11281,472.9173H512.565a2.59082,2.59082,0,0,1,0-5.18164H692.11281a2.59082,2.59082,0,1,1,0,5.18164Z"
transform="translate(-195.32909 -135.0622)"
fill="#e6e6e6"
id="path1074" />
<path
d="M691.9341,483.92364H512.565a2.59082,2.59082,0,0,1,0-5.18164H691.9341a2.59082,2.59082,0,0,1,0,5.18164Z"
transform="translate(-195.32909 -135.0622)"
fill="#e6e6e6"
id="path1076" />
<path
d="M975.71461,421.20782c0,2.43-.08,4.86-.25,7.27-.18,2.88-.49,5.74-.91,8.58a107.2491,107.2491,0,0,1-8.02,27.73q-.29993.66-.6,1.32l-.3.66c-.1.22-.21.44-.31.65-.14.29-.27.57-.41.85-.17.35-.34.7-.52,1.05-.02.04-.04.09-.07.14-.15.3-.29.59-.45.89a1.7462,1.7462,0,0,1-.1.19c-.17.34-.35.69-.53,1.03-.2.36005-.39.73-.59,1.09-.48.89-.98,1.77-1.49,2.65-.15.26-.3.52-.46.78-.14.24-.28.48-.43.72-.1.16-.2.33-.30005.49-.16.27-.32.53-.49.8-.37.59-.75,1.18-1.12,1.77h-.01c-.17.27-.35.54-.53.8v.01c-.53.8-1.08,1.6-1.63,2.38995a.0098.0098,0,0,0-.01.01c-.44.64-.9,1.26-1.35,1.88v.01c-.3.39-.59.79-.89,1.18-.24.32-.49.65-.74.97-.05.06994-.11.12994-.16.2v.01c-.07.09-.14.17-.21.26q-1.59,2.04-3.28,3.99l-.18.21c-.06.07-.13.14-.19.22-.1.11005-.19.22-.29.33-.09.11-.19.22-.29.33a108.617,108.617,0,0,1-19.83,17.49c-.97.67-1.96,1.32-2.95,1.95-.25.16-.5.32-.75.47-.07.05-.15.1-.22.15-.14.08-.27.16-.41.25-.13.08-.26.16-.4.24-.53.33-1.07.65-1.61.97-.13.08-.27.16-.41.24006-.13.06994-.27.15-.41.23,0,.01,0,.01-.01.01h-.01v.01h-.01q-1.00506.58492-2.04,1.13995c-.37.2-.75.41-1.13.6-.86.47-1.73.92-2.6,1.35-.31.15-.63.3-.94.46-.26.12-.52.25-.78.37-.08.04-.15.07-.22.11-.22.1-.43.2-.65.3-.24.11005-.48.22-.71.33-.27.12-.53.24-.8.35-1,.45-2.01.88-3.02,1.29a105.87419,105.87419,0,0,1-11.08,3.84c-.17.05-.35.1-.53.15q-2.41508.675-4.86005,1.23-4.275.99006-8.63,1.62h-.02c-.35.05-.69.1-1.04.15-.03,0-.06.01-.1.01,0,.01,0,.01-.01,0-.38.05-.77.1-1.15.15a.24843.24843,0,0,1-.08.01c-.36.05-.73.09-1.09.13q-.58494.06-1.17.12-.45.045-.9.09a.19454.19454,0,0,1-.08.01c-.27.02-.54.05-.81.07h-.04c-.23.02-.47.04-.7.06006-2.79.22-5.59.31994-8.43.31994-3.07,0-6.12-.12-9.13-.38h-.03c-.65-.06-1.29-.12-1.93-.18-.17-.02-.33-.03-.5-.05-.03,0-.07-.01-.1-.01-.05-.01-.1-.01-.16-.02a.24843.24843,0,0,1-.08-.01c-.22-.02-.44-.05-.67-.07l-.75-.09c-.25-.03-.5-.07-.75-.1-.06-.01-.11-.01-.17-.02-.18-.02-.36-.05-.54-.07995-.09-.01-.18-.02-.26-.03-.18-.03-.35-.05-.53-.08h-.01a105.706,105.706,0,0,1-16.2-3.65c-.28-.09-.56-.17005-.84-.26-.01,0-.02-.01-.03-.01-.08-.03-.17-.05-.25-.08-.75-.24-1.49-.49-2.23-.75-1.02-.34-2.03-.71-3.04-1.09-.27-.11-.54-.21-.81-.32-.55-.21-1.09-.43-1.63-.65-.92-.37-1.84-.76-2.75-1.16-.85-.38-1.69-.76-2.53-1.16-.02-.00994-.05-.00994-.07-.03-.19-.09-.38-.18-.56-.27h-.01a107.18912,107.18912,0,0,1-13.29-7.59q-2.04-1.365-4.02-2.82c-1.06-.79-2.1-1.59-3.14-2.41a108.28427,108.28427,0,0,1-14.19-13.56v-.01c-.31-.34-.6-.69-.9-1.04-.05-.05-.09-.1-.13-.14-.19-.23-.37-.45-.56-.67v-.01c-.25-.29-.5-.59-.74-.89-.06-.06994-.11-.12994-.16-.19v-.01c-.2-.24-.39-.48-.59-.73-.1-.12-.19-.24-.29-.36v-.01c-.59-.74-1.16-1.48-1.73-2.24-.15-.2-.3-.41-.46-.62-.72-.97-1.42-1.96-2.1-2.95v-.01c-.26-.37-.51-.75-.77-1.12q-.375-.57-.75-1.13995c-.25-.4-.51-.79-.76-1.19l-.03-.06c-.25-.38-.5-.78-.74-1.17005-.19-.32-.38-.63-.57-.94-.12-.21-.25-.42-.37-.63995a2.3919,2.3919,0,0,1-.13-.21q-.42-.735-.84-1.47c-.33-.56994-.65-1.15-.97-1.73-.12-.24-.25-.48-.38-.72-.05-.08-.09-.16-.13-.24-.15-.28-.3-.56994-.44-.86-.15-.28-.3-.57-.45-.86-.14-.28-.29-.57-.43-.86-.11-.22-.21-.44-.32-.66a.2175.2175,0,0,0-.03-.05c-.05-.11-.1-.21-.14-.31a.21619.21619,0,0,1-.03-.05c-.11005-.22-.21-.45-.32-.67-.14-.29-.27-.59-.41-.88-.09-.2-.19-.41-.28-.62-.13-.29-.27-.58-.39-.88-.14-.3-.27-.6-.4-.91a2.29721,2.29721,0,0,1-.1-.23c-.07-.14-.12-.28-.18-.42-.16-.37-.32-.75-.47-1.12-.18-.42005-.35-.85-.51-1.27-.16-.39-.31-.79-.46-1.19l-.06-.14a108.31693,108.31693,0,0,1-5.28-18.93v-.01a109.43156,109.43156,0,0,1-1.43-11.14c-.01-.21-.03-.41-.04-.61-.18-2.53-.26-5.07-.26-7.62,0-1.13.02-2.25.05-3.37a107.22221,107.22221,0,0,1,23.78-64.2c.32-.4.64-.8.97-1.2.33-.4.67-.79,1-1.18a107.74949,107.74949,0,0,1,173.04,12.43c.49.78.98,1.57,1.45,2.36005.48.8.94,1.6,1.4,2.41A107.27629,107.27629,0,0,1,975.71461,421.20782Z"
transform="translate(-195.32909 -135.0622)"
fill="#f2f2f2"
id="path1078" />
<path
d="M872.25672,350.74147a254.162,254.162,0,0,1-54.14823,7.81528,67.79984,67.79984,0,0,1-8.29619-.05641c-6.069-.51045-11.26756-2.41793-17.05716-3.46033-2.78331-.4997-5.88364-.86509-8.68575-1.40509q.9712-1.20494,1.97732-2.38032c6.04216.51046,12.17832,2.18151,18.293,2.95794,10.39441,1.3218,22.04078-.15314,29.92055-3.79078,3.823-1.76509,6.75141-3.96809,10.561-5.74124a4.9219,4.9219,0,0,1,1.65762-.50777,5.768,5.768,0,0,1,3.1272.81136c6.39139,3.22658,15.67089,5.84869,24.28409,4.406C874.53227,349.8925,873.31255,350.46474,872.25672,350.74147Z"
transform="translate(-195.32909 -135.0622)"
fill="#fff"
id="path1080" />
<path
d="M910.37143,362.09637c.07866-.01437.15753-.02558.23624-.03921a6.42127,6.42127,0,0,1-.93083-.7013Z"
transform="translate(-195.32909 -135.0622)"
fill="#fff"
id="path1082" />
<path
d="M961.93244,368.46221q-5.396.4312-10.84845.6421a68.3417,68.3417,0,0,1-8.2962-.05641c-6.069-.51315-11.26756-2.41793-17.05716-3.46033-5.306-.95375-11.75383-1.41315-15.12283-3.53018,8.70725-1.50718,17.72881,1.56091,26.70741,2.70271a63.77318,63.77318,0,0,0,21.76406-1.07464Q960.57033,366.03086,961.93244,368.46221Z"
transform="translate(-195.32909 -135.0622)"
fill="#fff"
id="path1084" />
<ellipse
cx="660.50012"
cy="300.20735"
rx="32.35846"
ry="33.07962"
fill="#ffb6b6"
id="ellipse1086" />
<path
d="M918.41457,516.41785c-.86.47-1.73.92-2.6,1.35-.31.15-.63.3-.94.46-.26.12-.52.25-.78.37-.08.04-.15.07-.22.11-.22.1-.43.2-.65.3-.24.11005-.48.22-.71.33-.27.12-.53.24-.8.35-1,.45-2.01.88-3.02,1.29a105.87419,105.87419,0,0,1-11.08,3.84c-.17.05-.35.1-.53.15q-2.41508.675-4.86005,1.23-4.275.99006-8.63,1.62h-.02c-.35.05-.69.1-1.04.15-.03,0-.06.01-.1.01,0,.01,0,.01-.01,0-.38.05-.77.1-1.15.15a.24843.24843,0,0,1-.08.01c-.36.05-.73.09-1.09.13q-.58494.06-1.17.12-.45.045-.9.09a.19454.19454,0,0,1-.08.01c-.27.02-.54.05-.81.07h-.04c-.23.02-.47.04-.7.06006-2.79.22-5.59.31994-8.43.31994-3.07,0-6.12-.12-9.13-.38h-.03c-.65-.06-1.29-.12-1.93-.18-.17-.02-.33-.03-.5-.05-.03,0-.07-.01-.1-.01-.05-.01-.1-.01-.16-.02a.24843.24843,0,0,1-.08-.01c-.22-.02-.44-.05-.67-.07l-.75-.09c-.25-.03-.5-.07-.75-.1-.06-.01-.11-.01-.17-.02-.18-.02-.36-.05-.54-.07995-.09-.01-.18-.02-.26-.03-.18-.03-.35-.05-.53-.08h-.01a105.706,105.706,0,0,1-16.2-3.65c-.28-.09-.56-.17005-.84-.26a40.177,40.177,0,0,1,22.03-27.86,9.49736,9.49736,0,0,1-2.73-4.86005,9.29434,9.29434,0,0,1,1.28-7.01995,8.9678,8.9678,0,0,1,5.66-3.88l14.82-3.1a9.22312,9.22312,0,0,1,10.8,7.2,9.7634,9.7634,0,0,1,.2,2.22C901.65456,496.10785,911.92458,505.95782,918.41457,516.41785Z"
transform="translate(-195.32909 -135.0622)"
fill="#6c63ff"
id="path1088" />
<path
d="M942.41713,420.92308c-5.50024-6.41419-8.11524-14.9242-12.51227-22.20783-4.39709-7.28369-12.04883-13.80261-20.13245-12.1076-5.57232,1.16852-9.87878,6.08563-12.059,11.56769-2.17974,5.482-2.58838,11.52755-2.97046,17.45013.135-12.17114-7.88372-23.97028-18.92974-27.85394-11.04517-3.88364-24.26429.44839-31.205,10.22647a16.8664,16.8664,0,0,0-22.40161-.47025c-6.20825,5.54874-7.58216,16.10984-3.01642,23.18738s14.4538,9.71414,21.70959,5.78885l2.56519,2.35968c-1.44391,5.05014,1.3562,11.01556,6.06323,12.9166,3.81684,1.54174,9.20532,1.28512,10.63361,5.29061.99817,2.79877-.86743,5.78617-2.852,7.93683-1.98407,2.15064-4.34015,4.37152-4.57843,7.3476-.36011,4.49042,4.28027,7.63605,8.49853,8.5834,10.17145,2.28446,21.4574-2.42572,27.31989-11.4021q.16946-.25964.36853-.52a39.27849,39.27849,0,0,0,7.90057-30.03344c-.32977-2.07468.0025-3.61783,1.43292-4.10916,6.18256-2.12369,23.50434,2.33352,28.74653,6.36187,5.24261,4.02835,9.44061,9.3595,14.49,13.64783,5.04986,4.28839,11.48462,7.59625,17.89618,6.42847,5.135-.93528,9.50348-4.66327,12.44189-9.16,2.938-4.4967,4.629-9.73825,6.14374-14.94729C966.61519,433.76451,951.07466,431.01866,942.41713,420.92308Z"
transform="translate(-195.32909 -135.0622)"
fill="#2f2e41"
id="path1090" />
<path
d="M278.15456,354.20782c0,2.43.08,4.86.25,7.27.18,2.88.49,5.74.91,8.58a107.2491,107.2491,0,0,0,8.02,27.73q.29993.66.6,1.32l.3.66c.1.22.21.44.31.65.14.29.27.57.41.85.17.35.34.7.52,1.05.02.04.04.09.07.14.15.3.29.59.45.89a1.7462,1.7462,0,0,0,.1.19c.17.34.35.69.53,1.03.2.36005.39.73.59,1.09.48.89.98,1.77,1.49,2.65.15.26.3.52.46.78.14.24.28.48.43.72.1.16.2.33.3.49.16.27.32.53.49.8.37.59.75,1.18,1.12,1.77h.01c.17.27.35.54.53.8v.01c.53.8,1.08,1.6,1.63,2.38995a.0098.0098,0,0,1,.01.01c.44.64.9,1.26,1.35,1.88v.01c.3.39.59.79.89,1.18.24.32.49.65.74.97.05.06994.11.12994.16.2v.01c.07.09.14.17.21.26q1.59,2.04,3.28,3.99l.18.21c.06.07.13.14.19.22.1.11005.19.22.29.33.09.11.19.22.29.33a108.617,108.617,0,0,0,19.83,17.49c.97.67,1.96,1.32,2.95,1.95.25.16.5.32.75.47.07.05.15.1.22.15.14.08.27.16.41.25.13.08.26.16.4.24.53.33,1.07.65,1.61.97.13.08.27.16.41.24006.13.06994.27.15.41.23,0,.01,0,.01.01.01h.01v.01h.01q1.00506.58492,2.04,1.13995c.37.2.75.41,1.13.6.86.47,1.73.92,2.6,1.35.31.15.63.3.94.46.26.12.52.25.78.37.08.04.15.07.22.11.22.1.43.2.65.3.24.11005.48.22.71.33.27.12.53.24.8.35,1,.45,2.01.88,3.02,1.29a105.87419,105.87419,0,0,0,11.08,3.84c.17.05.35.1.53.15q2.41508.675,4.86005,1.23,4.275.99006,8.63,1.62h.02c.35.05.69.1,1.04.15.03,0,.06.01.1.01,0,.01,0,.01.01,0,.38.05.77.1,1.15.15a.24843.24843,0,0,0,.08.01c.36.05.73.09,1.09.13q.58494.06,1.17.12.45.045.9.09a.19454.19454,0,0,0,.08.01c.27.02.54.05.81.07h.04c.23.02.47.04.7.06006,2.79.22,5.59.31994,8.43.31994,3.07,0,6.12-.12,9.13-.38h.03c.65-.06,1.29-.12,1.93-.18.17-.02.33-.03.5-.05.03,0,.07-.01.1-.01.05-.01.1-.01.16-.02a.24843.24843,0,0,0,.08-.01c.22-.02.44-.05.67-.07l.75-.09c.25-.03.5-.07.75-.1.06-.01.11-.01.17-.02.18-.02.36-.05.54-.07995.09-.01.18-.02.26-.03.18-.03.35-.05.53-.08h.01a105.706,105.706,0,0,0,16.2-3.65c.28-.09.56-.17005.84-.26.01,0,.02-.01.03-.01.08-.03.17-.05.25-.08.75-.24,1.49-.49,2.23-.75,1.02-.34,2.03-.71,3.04-1.09.27-.11.54-.21.81-.32.55-.21,1.09-.43,1.63-.65.92-.37,1.84-.76,2.75-1.16.85-.38,1.69-.76,2.53-1.16.02-.00994.05-.00994.07-.03.19-.09.38-.18.56-.27h.01a107.18912,107.18912,0,0,0,13.29-7.59q2.04-1.365,4.02-2.82c1.06-.79,2.1-1.59,3.14-2.41a108.28427,108.28427,0,0,0,14.19-13.56v-.01c.31-.34.6-.69.9-1.04.05-.05.09-.1.13-.14.19-.23.37-.45.56-.67v-.01c.25-.29.5-.59.74-.89.06-.06994.11-.12994.16-.19v-.01c.2-.24.38995-.48.59-.73.1-.12.19-.24.29-.36v-.01c.59-.74,1.16-1.48,1.73-2.24.15-.2.3-.41.46-.62.72-.97,1.42-1.96,2.1-2.95v-.01c.26-.37.51-.75.77-1.12q.375-.57.75-1.13995c.25-.4.51-.79.76-1.19l.03-.06c.25-.38.5-.78.74-1.17005.19-.32.38-.63.57-.94.12-.21.25-.42.37-.63995a2.3919,2.3919,0,0,0,.13-.21q.42-.735.84-1.47c.33-.56994.65-1.15.97-1.73.12-.24.25-.48.38-.72.05-.08.09-.16.13-.24.15-.28.3-.56994.44-.86.15-.28.3-.57.45-.86.13995-.28.29-.57.43-.86.11-.22.21-.44.32-.66a.2175.2175,0,0,1,.03-.05c.05-.11.1-.21.14-.31a.21619.21619,0,0,0,.03-.05c.11005-.22.21-.45.32-.67.14-.29.27-.59.41-.88.09-.2.19-.41.28-.62.13-.29.27-.58.39-.88.14-.3.27-.6.4-.91a2.29962,2.29962,0,0,0,.1-.23c.07-.14.12-.28.18-.42.16-.37.32-.75.47-1.12.18-.42005.35-.85.51-1.27.16-.39.31-.79.46-1.19l.06-.14a108.31693,108.31693,0,0,0,5.28-18.93v-.01a109.43156,109.43156,0,0,0,1.43-11.14c.01-.21.03-.41.04-.61.18-2.53.26-5.07.26-7.62,0-1.13-.02-2.25-.05-3.37a107.22221,107.22221,0,0,0-23.78-64.2c-.32-.4-.64-.8-.97-1.2-.33-.4-.67-.79-1-1.18a107.74949,107.74949,0,0,0-173.04,12.43c-.49.78-.98,1.57-1.45,2.36005-.48.8-.94,1.6-1.4,2.41A107.27619,107.27619,0,0,0,278.15456,354.20782Z"
transform="translate(-195.32909 -135.0622)"
fill="#f2f2f2"
id="path1092" />
<path
d="M381.61245,283.74147a254.162,254.162,0,0,0,54.14823,7.81528,67.79984,67.79984,0,0,0,8.29619-.05641c6.069-.51045,11.26756-2.41793,17.05716-3.46033,2.78331-.4997,5.88364-.86509,8.68575-1.40509q-.9712-1.20494-1.97732-2.38032c-6.04216.51046-12.17832,2.18151-18.293,2.95794-10.39442,1.3218-22.04079-.15314-29.92056-3.79078-3.823-1.76509-6.75141-3.96809-10.561-5.74124a4.9219,4.9219,0,0,0-1.65762-.50777,5.76807,5.76807,0,0,0-3.1272.81136c-6.39139,3.22658-15.67088,5.84869-24.28409,4.406C379.3369,282.8925,380.55662,283.46474,381.61245,283.74147Z"
transform="translate(-195.32909 -135.0622)"
fill="#fff"
id="path1094" />
<path
d="M343.49774,295.09637c-.07866-.01437-.15753-.02558-.23624-.03921a6.42127,6.42127,0,0,0,.93083-.7013Z"
transform="translate(-195.32909 -135.0622)"
fill="#fff"
id="path1096" />
<path
d="M291.93673,301.46221q5.396.4312,10.84845.6421a68.3417,68.3417,0,0,0,8.2962-.05641c6.069-.51315,11.26756-2.41793,17.05716-3.46033,5.306-.95375,11.75383-1.41315,15.12283-3.53018-8.70725-1.50718-17.72881,1.56091-26.70741,2.70271a63.77318,63.77318,0,0,1-21.76406-1.07464Q293.29884,299.03086,291.93673,301.46221Z"
transform="translate(-195.32909 -135.0622)"
fill="#fff"
id="path1098" />
<path
d="M335.4546,449.41785c.86.47,1.73.92,2.6,1.35.31.15.63.3.94.46.26.12.52.25.78.37.08.04.15.07.22.11.22.1.43.2.65.3.24.11005.48.22.71.33.27.12.53.24.8.35,1,.45,2.01.88,3.02,1.29a105.87419,105.87419,0,0,0,11.08,3.84c.17.05.35.1.53.15q2.41508.675,4.86005,1.23,4.275.99006,8.63,1.62h.02c.35.05.69.1,1.04.15.03,0,.06.01.1.01,0,.01,0,.01.01,0,.38.05.77.1,1.15.15a.24843.24843,0,0,0,.08.01c.36.05.73.09,1.09.13q.58494.06,1.17.12.45.045.9.09a.19454.19454,0,0,0,.08.01c.27.02.54.05.81.07h.04c.23.02.47.04.7.06006,2.79.22,5.59.31994,8.43.31994,3.07,0,6.12-.12,9.13-.38h.03c.65-.06,1.29-.12,1.93-.18.17-.02.33-.03.5-.05.03,0,.07-.01.1-.01.05-.01.1-.01.16-.02a.24843.24843,0,0,0,.08-.01c.22-.02.44-.05.67-.07l.75-.09c.25-.03.5-.07.75-.1.06-.01.11-.01.17-.02.18-.02.36-.05.54-.07995.09-.01.18-.02.26-.03.18-.03.35-.05.53-.08h.01a105.706,105.706,0,0,0,16.2-3.65c.28-.09.56-.17005.84-.26a40.177,40.177,0,0,0-22.03-27.86,9.49736,9.49736,0,0,0,2.73-4.86005,9.29434,9.29434,0,0,0-1.28-7.01995,8.9678,8.9678,0,0,0-5.66-3.88l-14.82-3.1a9.2231,9.2231,0,0,0-10.8,7.2,9.76284,9.76284,0,0,0-.2,2.22C352.21461,429.10785,341.94459,438.95782,335.4546,449.41785Z"
transform="translate(-195.32909 -135.0622)"
fill="#6c63ff"
id="path1100" />
<circle
cx="198.75404"
cy="229.04877"
r="36.07316"
fill="#9e616a"
id="circle1102" />
<path
d="M388.957,398.256c-9.03088,2.43906-18.98715-.80368-26.03488-6.95474s-11.45636-14.86707-13.99658-23.87c-1.86041-6.59356-2.74253-13.91271.1933-20.10281s10.83712-10.36639,16.933-7.23959c-3.7605-4.38129-1.88181-11.62772,2.51016-15.37573s10.42282-4.82261,16.16669-5.41c8.33594-.85248,16.9465-.9479,24.87878,1.75269s15.13953,8.60486,17.62207,16.60809a12.64027,12.64027,0,0,0,15.07663-3.404,11.45182,11.45182,0,0,1-6.30975,12.41714l12.15372-3.94033c2.09021,4.42428-1.57233,9.9-6.25589,11.31683s-9.73932-.13181-14.18381-2.17871-8.75159-4.63474-13.57922-5.433-10.49836.7529-12.73139,5.10685c-1.16958,2.28042-1.23059,4.95123-1.90964,7.42248s-2.3992,5.03348-4.9541,5.23572c-1.61416.12778-3.19455-.732-4.8042-.55621a5.17666,5.17666,0,0,0-4.05441,3.96139,15.1987,15.1987,0,0,0-.0144,5.98l3.08725,23.598Z"
transform="translate(-195.32909 -135.0622)"
fill="#2f2e41"
id="path1104" />
</svg>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
data-name="Layer 1"
width="809.34183"
height="629.87561"
viewBox="0 0 809.34183 629.87561"
version="1.1"
id="svg1106"
sodipodi:docname="community_message.svg"
inkscape:version="0.92.4 (5da689c313, 2019-01-14)">
<metadata
id="metadata1112">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs1110" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1920"
inkscape:window-height="1017"
id="namedview1108"
showgrid="false"
inkscape:zoom="1.3462976"
inkscape:cx="404.67093"
inkscape:cy="344.64892"
inkscape:window-x="1912"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="svg1106" />
<path
d="M363.34812,549.37208C326.75641,513.35019,311.30181,475.77031,319.83,443.556c10.94436-41.34026,59.56474-69.92355,133.39432-78.42081l.27268,2.37135c-72.8018,8.37841-120.68047,36.32021-131.35973,76.66007-8.29975,31.35084,6.93053,68.10978,42.88542,103.50533Z"
transform="translate(-195.32909 -135.0622)"
fill="#f0f0f0"
id="path970" />
<path
d="M716.39646,677.23887c-45.66871,0-95.2959-6.78662-144.58981-19.83666-60.95842-16.138-116.85076-40.49659-161.63444-70.44326l1.3261-1.98332c44.56809,29.8016,100.21281,54.04886,160.919,70.11932,54.85932,14.52412,110.13,21.25364,159.81659,19.47775l.08623,2.38417Q724.44916,677.24,716.39646,677.23887Z"
transform="translate(-195.32909 -135.0622)"
fill="#f0f0f0"
id="path972" />
<path
d="M821.16612,662.23116l-.76443-2.26066c40.84443-13.8098,66.391-36.05568,73.87795-64.33483,9.51688-35.94965-11.15878-77.66687-58.21884-117.4672C788.76069,438.166,720.553,404.974,643.99959,384.7079l.61061-2.30727c76.88788,20.35521,145.42765,53.71909,192.99111,93.94591,47.80351,40.42842,68.75185,83.00971,58.98559,119.89973C888.88553,625.33647,862.80527,648.15334,821.16612,662.23116Z"
transform="translate(-195.32909 -135.0622)"
fill="#f0f0f0"
id="path974" />
<path
d="M446.11894,678.23635C356.38263,638.43719,287.234,586.8028,251.412,532.84367l1.988-1.32027C288.97435,585.10906,357.76,636.43756,447.08613,676.05494Z"
transform="translate(-195.32909 -135.0622)"
fill="#f0f0f0"
id="path976" />
<path
d="M761.62469,747.18514q-13.8838,0-28.24187-.61993l.10255-2.38418c71.43317,3.09267,134.46-5.45587,182.27864-24.72619l.8926,2.214C874.94289,738.477,821.77556,747.18514,761.62469,747.18514Z"
transform="translate(-195.32909 -135.0622)"
fill="#f0f0f0"
id="path978" />
<path
d="M709.55856,367.27523c-14.83176-4.829-30.08768-9.3252-45.34359-13.36408-87.792-23.24162-174.09251-31.49359-249.575-23.85923l-.24-2.37485c75.764-7.65942,162.35983.61236,250.42571,23.92681,15.299,4.05053,30.59806,8.55961,45.47177,13.40253Z"
transform="translate(-195.32909 -135.0622)"
fill="#f0f0f0"
id="path980" />
<path
d="M307.26526,552.95184c-36.59172-36.0219-52.04632-73.60177-43.51818-105.8161,10.94437-41.34025,59.56474-69.92354,133.39433-78.4208l.27267,2.37135c-72.8018,8.37841-120.68047,36.32021-131.35973,76.66006-8.29975,31.35085,6.93054,68.10978,42.88542,103.50533Z"
transform="translate(-195.32909 -135.0622)"
fill="#f0f0f0"
id="path982" />
<path
d="M660.31359,680.81863c-45.66871,0-95.29589-6.78663-144.58981-19.83666-60.95842-16.138-116.85076-40.49659-161.63443-70.44326l1.32609-1.98332c44.5681,29.8016,100.21282,54.04886,160.919,70.11931,54.85932,14.52412,110.13,21.25365,159.8166,19.47775l.08623,2.38418Q668.3663,680.81979,660.31359,680.81863Z"
transform="translate(-195.32909 -135.0622)"
fill="#f0f0f0"
id="path984" />
<path
d="M765.08325,665.81091l-.76442-2.26065c40.84442-13.8098,66.391-36.05569,73.87794-64.33484,9.51689-35.94964-11.15878-77.66687-58.21884-117.4672-47.3001-40.0025-115.50777-73.1945-192.06121-93.46056l.61061-2.30727C665.41521,406.3356,733.955,439.69947,781.51844,479.9263,829.322,520.35472,850.27029,562.936,840.504,599.826,832.80266,628.91622,806.7224,651.7331,765.08325,665.81091Z"
transform="translate(-195.32909 -135.0622)"
fill="#f0f0f0"
id="path986" />
<path
d="M390.03608,681.81611c-89.73632-39.79916-158.885-91.43355-194.707-145.39269l1.988-1.32026c35.57443,53.58566,104.36007,104.91416,193.68621,144.53154Z"
transform="translate(-195.32909 -135.0622)"
fill="#f0f0f0"
id="path988" />
<path
d="M705.54182,750.7649q-13.88379,0-28.24186-.61994l.10254-2.38417c71.43318,3.09267,134.46-5.45587,182.27864-24.7262l.89261,2.21405C818.86,742.05672,765.6927,750.7649,705.54182,750.7649Z"
transform="translate(-195.32909 -135.0622)"
fill="#f0f0f0"
id="path990" />
<path
d="M653.47569,370.855c-14.83175-4.82894-30.08767-9.32519-45.34359-13.36407-87.792-23.24163-174.09251-31.4936-249.57505-23.85923l-.24-2.37485c75.764-7.65942,162.35983.61236,250.42571,23.92681,15.299,4.05053,30.59807,8.55961,45.47177,13.40253Z"
transform="translate(-195.32909 -135.0622)"
fill="#f0f0f0"
id="path992" />
<path
d="M236.00582,489.03092c17.14976-19.22826,44.50649-30.9473,69.29785-23.93208a118.70968,118.70968,0,0,0-46.32362,67.05768c-2.67852,10.46848-4.56766,22.39086-13.2738,28.79149-5.41709,3.98274-12.59491,4.93415-19.25684,4.02714-6.66224-.90723-12.96156-3.498-19.17587-6.06531l-1.6722.14488C210.40907,533.74217,218.85606,508.25918,236.00582,489.03092Z"
transform="translate(-195.32909 -135.0622)"
fill="#f2f2f2"
id="path994" />
<path
d="M305.22794,465.63414a101.46482,101.46482,0,0,0-53.2125,32.64337,43.694,43.694,0,0,0-7.36793,11.53847,25.06052,25.06052,0,0,0-1.47925,13.10607c.55678,4.13632,1.60531,8.30284,1.14692,12.50247a15.34469,15.34469,0,0,1-6.50386,10.73231c-4.35348,3.179-9.58959,4.60415-14.7585,5.81987-5.7391,1.34983-11.7216,2.66095-16.39988,6.475-.56684.46212-1.25076-.44444-.68477-.90587,8.1394-6.63578,19.45136-5.7838,28.45684-10.60368,4.20212-2.24905,7.75192-5.77808,8.615-10.6206.75471-4.23457-.32287-8.53205-.92282-12.71529a26.74161,26.74161,0,0,1,.96892-12.86881,40.3945,40.3945,0,0,1,6.89713-11.77917,98.43912,98.43912,0,0,1,22.91947-20.52511,103.26408,103.26408,0,0,1,32.19117-13.92683c.70851-.17132.838.95761.13408,1.12781Z"
transform="translate(-195.32909 -135.0622)"
fill="#fff"
id="path996" />
<path
d="M256.1732,492.79743a15.223,15.223,0,0,1-.469-19.70657c.46161-.56633,1.36335.12438.90112.69147a14.09612,14.09612,0,0,0,.47371,18.33032c.48879.54315-.41987,1.22481-.90586.68478Z"
transform="translate(-195.32909 -135.0622)"
fill="#fff"
id="path998" />
<path
d="M242.60972,520.862a29.341,29.341,0,0,0,20.38536-6.45483c.56846-.4601,1.25255.44632.68478.90586a30.51908,30.51908,0,0,1-21.22647,6.67372c-.73038-.05063-.57008-1.17511.15633-1.12475Z"
transform="translate(-195.32909 -135.0622)"
fill="#fff"
id="path1000" />
<path
d="M283.01569,473.47307a8.61692,8.61692,0,0,0,6.954,4.30074c.73066.04134.56957,1.16582-.15633,1.12475a9.656,9.656,0,0,1-7.70353-4.74072.58687.58687,0,0,1,.11055-.79532.57066.57066,0,0,1,.79532.11055Z"
transform="translate(-195.32909 -135.0622)"
fill="#fff"
id="path1002" />
<path
d="M340.49545,544.9208c-.457-.01284-.91394-.02568-1.37675-.03089a113.48,113.48,0,0,0-18.37688,1.07221c-.47163.05859-.9487.12507-1.41766.19708a119.63375,119.63375,0,0,0-41.593,14.49229,116.1798,116.1798,0,0,0-14.59508,9.929c-6.361,5.07568-12.8542,11.08514-20.30131,13.68643a19.92976,19.92976,0,0,1-2.367.69439l-34.56-23.87781c-.05131-.09368-.10842-.17978-.16012-.27373l-1.42346-.89027c.22432-.20613.46141-.4151.68573-.62122.12963-.12012.267-.23491.39658-.355.08886-.07839.17814-.15656.25384-.23238.02948-.0262.05934-.05214.0834-.07049.07571-.07582.15407-.13821.22432-.20613q1.98306-1.7576,3.99773-3.49341c.00545-.00789.00545-.00789.01861-.01047,10.25634-8.7913,21.33673-16.80359,33.281-22.87937.35942-.18268.72391-.37352,1.09912-.54529a110.86072,110.86072,0,0,1,16.77837-6.7664,98.008,98.008,0,0,1,9.61356-2.4324,81.49862,81.49862,0,0,1,25.46291-.97585c16.91705,2.01955,32.99991,9.427,43.48488,22.57717C339.97222,544.24483,340.23292,544.57632,340.49545,544.9208Z"
transform="translate(-195.32909 -135.0622)"
fill="#f2f2f2"
id="path1004" />
<path
d="M340.1147,545.30576a101.4649,101.4649,0,0,0-62.14077-5.9737,43.69454,43.69454,0,0,0-12.82983,4.77682,25.06061,25.06061,0,0,0-9.07186,9.57386c-2.04579,3.63784-3.71713,7.59586-6.6116,10.673a15.34465,15.34465,0,0,1-11.65456,4.65337c-5.39-.08284-10.42876-2.09744-15.2878-4.2388-5.395-2.37757-10.96111-4.93259-16.99277-4.70394-.73082.02771-.73108-1.1079-.00136-1.13556,10.49405-.39782,19.01307,7.093,29.10534,8.66653,4.70924.73423,9.66828.05372,13.27292-3.29314,3.15209-2.92668,4.87909-7.00675,6.91866-10.708a26.74157,26.74157,0,0,1,8.52154-9.69167,40.39458,40.39458,0,0,1,12.59885-5.25246,98.439,98.439,0,0,1,30.65744-2.589,103.264,103.264,0,0,1,34.08777,8.26152c.66884.28978.09251,1.2691-.572.98121Z"
transform="translate(-195.32909 -135.0622)"
fill="#fff"
id="path1006" />
<path
d="M284.59306,537.45978a15.223,15.223,0,0,1,11.49027-16.01694c.70954-.17426,1.01367.92015.30319,1.09464a14.09613,14.09613,0,0,0-10.6579,14.92094c.06327.728-1.07266.72516-1.13556.00136Z"
transform="translate(-195.32909 -135.0622)"
fill="#fff"
id="path1008" />
<path
d="M256.8666,551.70159a29.341,29.341,0,0,0,20.16282,7.11958c.73089-.02512.73137,1.11048.00136,1.13556a30.519,30.519,0,0,1-20.96618-7.45121c-.55269-.48016.25232-1.28148.802-.80393Z"
transform="translate(-195.32909 -135.0622)"
fill="#fff"
id="path1010" />
<path
d="M317.65988,538.1914a8.61693,8.61693,0,0,0,2.963,7.62068c.5585.47292-.24714,1.27377-.802.80393a9.656,9.656,0,0,1-3.2966-8.42325.58686.58686,0,0,1,.5671-.56846.57065.57065,0,0,1,.56846.5671Z"
transform="translate(-195.32909 -135.0622)"
fill="#fff"
id="path1012" />
<path
d="M907.994,646.65488c-9.68947-23.87372-31.516-44.10561-57.223-45.83088a118.70969,118.70969,0,0,1,21.09071,78.72606c-.99576,10.75975-3.22363,22.62349,2.82479,31.57791,3.76336,5.57173,10.20385,8.88026,16.78308,10.26509,6.57959,1.38473,13.38321,1.06186,20.09888.73254l1.52623.69848C917.07422,697.36818,917.68346,670.52859,907.994,646.65488Z"
transform="translate(-195.32909 -135.0622)"
fill="#f2f2f2"
id="path1014" />
<path
d="M850.66244,601.35361a101.46487,101.46487,0,0,1,39.14549,48.62911,43.6942,43.6942,0,0,1,3.06122,13.3436,25.06057,25.06057,0,0,1-3.01175,12.84082c-1.91461,3.70856-4.30251,7.28029-5.28229,11.38968a15.34469,15.34469,0,0,0,2.51838,12.29392c3.03176,4.45727,7.48427,7.55936,11.94389,10.44163,4.95155,3.20022,10.14536,6.44579,13.26959,11.61032.37854.62576,1.32737.0018.9494-.623-5.43562-8.98541-16.37587-11.985-23.2375-19.55118-3.20176-3.53055-5.35895-8.04737-4.54424-12.89826.71244-4.24188,3.17171-7.92719,5.14275-11.66543A26.74158,26.74158,0,0,0,894.03,664.719a40.39429,40.39429,0,0,0-2.53691-13.41205,98.439,98.439,0,0,0-14.68766-27.03433,103.2639,103.2639,0,0,0-25.63769-23.93611c-.60971-.39948-1.11106.62026-.50533,1.01713Z"
transform="translate(-195.32909 -135.0622)"
fill="#fff"
id="path1016" />
<path
d="M887.7339,643.424a15.223,15.223,0,0,0,7.06506-18.40254c-.24441-.68854-1.32584-.34108-1.0811.34837a14.09613,14.09613,0,0,1-6.607,17.10477c-.64291.34726-.01621,1.29467.623.9494Z"
transform="translate(-195.32909 -135.0622)"
fill="#fff"
id="path1018" />
<path
d="M891.07584,674.41461a29.341,29.341,0,0,1-17.03-12.93084c-.38075-.6244-1.32969-.00063-.9494.623a30.51906,30.51906,0,0,0,17.74861,13.4197c.70491.1978.93187-.91514.23079-1.11187Z"
transform="translate(-195.32909 -135.0622)"
fill="#fff"
id="path1020" />
<path
d="M868.94785,616.20207a8.61693,8.61693,0,0,1-7.99493,1.7133c-.702-.20663-.92827.90658-.23079,1.11187a9.656,9.656,0,0,0,8.84874-1.87578.58685.58685,0,0,0,.16319-.7862.57065.57065,0,0,0-.78621-.16319Z"
transform="translate(-195.32909 -135.0622)"
fill="#fff"
id="path1022" />
<path
d="M790.7983,664.17446c.43471.14149.86941.283,1.30705.43363a113.47979,113.47979,0,0,1,16.94746,7.18631c.4245.21369.85148.43665,1.269.66209a119.63349,119.63349,0,0,1,34.30249,27.62862,116.1803,116.1803,0,0,1,10.40889,14.25679c4.28507,6.91836,8.38071,14.76057,14.5203,19.71352a19.933,19.933,0,0,0,1.99594,1.44955l40.57483-10.87314c.07981-.071.16254-.13288.2428-.204l1.63988-.36005c-.142-.26954-.29506-.546-.437-.81556-.08172-.15669-.17247-.311-.25419-.46766-.05734-.10369-.11515-.20732-.161-.30417-.019-.03459-.03836-.06905-.05485-.09443-.04582-.09685-.09866-.182-.142-.26953q-1.277-2.32185-2.591-4.63382c-.00249-.00927-.00249-.00927-.014-.01611-6.70494-11.727-14.44781-22.99734-23.65514-32.73414-.27711-.29285-.55625-.59509-.8519-.883a110.86056,110.86056,0,0,0-13.52812-12.012,98.00839,98.00839,0,0,0-8.23678-5.522,81.499,81.499,0,0,0-23.65365-9.47717c-16.6117-3.78376-34.24859-2.21269-48.54339,6.6485C791.5183,663.71366,791.16135,663.93825,790.7983,664.17446Z"
transform="translate(-195.32909 -135.0622)"
fill="#f2f2f2"
id="path1024" />
<path
d="M791.02753,664.665a101.46484,101.46484,0,0,1,60.53356,15.25934,43.69414,43.69414,0,0,1,10.478,8.811,25.06059,25.06059,0,0,1,5.32635,12.066c.7041,4.1138.94792,8.4033,2.63976,12.27431a15.34468,15.34468,0,0,0,9.41257,8.29977c5.10427,1.73356,10.527,1.52968,15.82311,1.146,5.88029-.426,11.98132-.96161,17.58524,1.281.679.27172,1.06091-.79774.38294-1.069-9.74986-3.90172-20.291.2901-30.325-1.61994-4.68206-.89126-9.12389-3.19892-11.394-7.56259-1.98507-3.81585-2.24029-8.239-2.9172-12.41048a26.74153,26.74153,0,0,0-4.76845-11.992,40.394,40.394,0,0,0-10.10057-9.18138,98.43872,98.43872,0,0,0-28.0038-12.74241,103.264,103.264,0,0,0-34.88145-3.676c-.72734.04813-.51368,1.16418.20891,1.11637Z"
transform="translate(-195.32909 -135.0622)"
fill="#fff"
id="path1026" />
<path
d="M845.9563,675.93628a15.223,15.223,0,0,0-5.43854-18.94706c-.6097-.4026-1.264.52592-.65346.92906a14.09612,14.09612,0,0,1,5.023,17.635c-.30425.66435.76654,1.04349,1.06905.383Z"
transform="translate(-195.32909 -135.0622)"
fill="#fff"
id="path1028" />
<path
d="M867.28313,698.66845a29.341,29.341,0,0,1-21.38276-.07132c-.67993-.26931-1.06206.80006-.38295,1.06905a30.51914,30.51914,0,0,0,22.25086.029c.68192-.26648.19306-1.29174-.48515-1.02672Z"
transform="translate(-195.32909 -135.0622)"
fill="#fff"
id="path1030" />
<path
d="M814.5672,665.51157a8.617,8.617,0,0,1-5.352,6.18148c-.685.2577-.19535,1.28273.48515,1.02671a9.656,9.656,0,0,0,5.93587-6.82525.58684.58684,0,0,0-.34305-.726.57064.57064,0,0,0-.726.34305Z"
transform="translate(-195.32909 -135.0622)"
fill="#fff"
id="path1032" />
<circle
cx="524.6825"
cy="583.33993"
r="9.54602"
fill="#fd6584"
id="circle1034" />
<circle
cx="558.49624"
cy="420.74992"
r="9.54602"
fill="#e6e6e6"
id="circle1036" />
<circle
cx="380.86745"
cy="155.96167"
r="9.54602"
fill="#e6e6e6"
id="circle1038" />
<path
d="M376.15456,657.20782c0,2.43.08,4.86.25,7.27.18,2.88.49,5.74.91,8.58a107.2491,107.2491,0,0,0,8.02,27.73q.29993.66.6,1.32l.3.66c.1.22.21.44.31.65.14.29.27.57.41.85.17.35.34.7.52,1.05.02.04.04.09.07.14.15.3.29.59.45.89a1.7462,1.7462,0,0,0,.1.19c.17.34.35.69.53,1.03.2.36005.39.73.59,1.09.48.89.98,1.77,1.49,2.65.15.26.3.52.46.78.14.24.28.48.43.72.1.16.2.33.3.49.16.27.32.53.49.8.37.59.75,1.18,1.12,1.77h.01c.17.27.35.54.53.8v.01c.53.8,1.08,1.6,1.63,2.38995a.0098.0098,0,0,1,.01.01c.44.64.9,1.26,1.35,1.88v.01c.3.39.59.79.89,1.18.24.32.49.65.74.97.05.06994.11.12994.16.2v.01c.07.09.14.17.21.26q1.59,2.04,3.28,3.99l.18.21c.06.07.13.14.19.22.1.11005.19.22.29.33.09.11.19.22.29.33a108.617,108.617,0,0,0,19.83,17.49c.97.67,1.96,1.32,2.95,1.95.25.16.5.32.75.47.07.05.15.1.22.15.14.08.27.16.41.25.13.08.26.16.4.24.53.33,1.07.65,1.61.97.13.08.27.16.41.24006.13.06994.27.15.41.23,0,.01,0,.01.01.01h.01v.01h.01q1.00506.58492,2.04,1.13995c.37.2.75.41,1.13.6.86.47,1.73.92,2.6,1.35.31.15.63.3.94.46.26.12.52.25.78.37.08.04.15.07.22.11.22.1.43.2.65.3.24.11005.48.22.71.33.27.12.53.24.8.35,1,.45,2.01.88,3.02,1.29a105.87419,105.87419,0,0,0,11.08,3.84c.17.05.35.1.53.15q2.41508.675,4.86005,1.23,4.275.99006,8.63,1.62h.02c.35.05.69.1,1.04.15.03,0,.06.01.1.01,0,.01,0,.01.01,0,.38.05.77.1,1.15.15a.24843.24843,0,0,0,.08.01c.36.05.73.09,1.09.13q.58494.06,1.17.12.45.045.9.09a.19454.19454,0,0,0,.08.01c.27.02.54.05.81.07h.04c.23.02.47.04.7.06006,2.79.22,5.59.31994,8.43.31994,3.07,0,6.12-.12,9.13-.38h.03c.65-.06,1.29-.12,1.93-.18.17-.02.33-.03.5-.05.03,0,.07-.01.1-.01.05-.01.1-.01.16-.02a.24843.24843,0,0,0,.08-.01c.22-.02.44-.05.67-.07l.75-.09c.25-.03.5-.07.75-.1.06-.01.11-.01.17-.02.18-.02.36-.05.54-.07995.09-.01.18-.02.26-.03.18-.03.35-.05.53-.08h.01a105.706,105.706,0,0,0,16.2-3.65c.28-.09.56-.17005.84-.26.01,0,.02-.01.03-.01.08-.03.17-.05.25-.08.75-.24,1.49-.49,2.23-.75,1.02-.34,2.03-.71,3.04-1.09.27-.11.54-.21.81-.32.55-.21,1.09-.43,1.63-.65.92-.37,1.84-.76,2.75-1.16.85-.38,1.69-.76,2.53-1.16.02-.00994.05-.00994.07-.03.19-.09.38-.18.56-.27h.01a107.18912,107.18912,0,0,0,13.29-7.59q2.04-1.365,4.02-2.82c1.06-.79,2.1-1.59,3.14-2.41a108.28427,108.28427,0,0,0,14.19-13.56v-.01c.31-.34.6-.69.9-1.04.05-.05.09-.1.13-.14.19-.23.37-.45.56-.67v-.01c.25-.29.5-.59.74-.89.06-.06994.11-.12994.16-.19v-.01c.2-.24.38995-.48.59-.73.1-.12.19-.24.29-.36v-.01c.59-.74,1.16-1.48,1.73-2.24.15-.2.3-.41.46-.62.72-.97,1.42-1.96,2.1-2.95v-.01c.26-.37.51-.75.77-1.12q.375-.57.75-1.13995c.25-.4.51-.79.76-1.19l.03-.06c.25-.38.5-.78.74-1.17.19-.32.38-.63.57-.94.12-.21.25-.42.37-.63995a2.3919,2.3919,0,0,0,.13-.21q.42-.735.84-1.47c.33-.56994.65-1.15.97-1.73.12-.24.25-.48.38-.72.05-.08.09-.16.13-.24.15-.28.3-.56994.44-.86.15-.28.3-.57.45-.86.13995-.28.29-.57.43-.86.11-.22.21-.44.32-.66a.2175.2175,0,0,1,.03-.05c.05-.11.1-.21.14-.31a.21619.21619,0,0,0,.03-.05c.11-.22.21-.45.32-.67.14-.29.27-.59.41-.88.09-.2.19-.41.28-.62.13-.29.27-.58.39-.88.14-.30005.27-.6.4-.91a2.29962,2.29962,0,0,0,.1-.23c.07-.14.12-.28.18-.42.16-.37.32-.75.47-1.12.18-.42.35-.85.51-1.27.16-.39.31-.79.46-1.19l.06-.14a108.31693,108.31693,0,0,0,5.28-18.93v-.01a109.43156,109.43156,0,0,0,1.43-11.14c.01-.21.03-.41.04-.61.18-2.53.26-5.07.26-7.62,0-1.13-.02-2.25-.05-3.37a107.22221,107.22221,0,0,0-23.78-64.2c-.32-.4-.64-.8-.97-1.2-.33-.4-.67-.79-1-1.18a107.74949,107.74949,0,0,0-173.04,12.43c-.49.78-.98,1.57-1.45,2.36005-.48.8-.94,1.6-1.4,2.41A107.27619,107.27619,0,0,0,376.15456,657.20782Z"
transform="translate(-195.32909 -135.0622)"
fill="#f2f2f2"
id="path1040" />
<path
d="M479.61245,586.74147a254.162,254.162,0,0,0,54.14823,7.81528,67.79984,67.79984,0,0,0,8.29619-.05641c6.069-.51045,11.26756-2.41793,17.05716-3.46033,2.78331-.4997,5.88364-.86509,8.68575-1.40509q-.97121-1.20493-1.97732-2.38032c-6.04216.51046-12.17832,2.18151-18.293,2.95794-10.39442,1.3218-22.04079-.15314-29.92056-3.79078-3.823-1.76509-6.75141-3.96809-10.561-5.74124a4.9219,4.9219,0,0,0-1.65762-.50777,5.76807,5.76807,0,0,0-3.1272.81136c-6.39139,3.22658-15.67088,5.84869-24.28409,4.406C477.3369,585.8925,478.55662,586.46474,479.61245,586.74147Z"
transform="translate(-195.32909 -135.0622)"
fill="#fff"
id="path1042" />
<path
d="M441.49774,598.09637c-.07866-.01437-.15753-.02558-.23624-.03921a6.42127,6.42127,0,0,0,.93083-.7013Z"
transform="translate(-195.32909 -135.0622)"
fill="#fff"
id="path1044" />
<path
d="M389.93673,604.46221q5.396.4312,10.84845.6421a68.3417,68.3417,0,0,0,8.2962-.05641c6.069-.51315,11.26756-2.41793,17.05716-3.46033,5.306-.95375,11.75383-1.41315,15.12283-3.53018-8.70725-1.50718-17.72881,1.56091-26.70741,2.70271a63.77318,63.77318,0,0,1-21.76406-1.07464Q391.29884,602.03086,389.93673,604.46221Z"
transform="translate(-195.32909 -135.0622)"
fill="#fff"
id="path1046" />
<path
d="M433.4546,752.41785c.86.47,1.73.92,2.6,1.35.31.15.63.3.94.46.26.12.52.25.78.37.08.04.15.07.22.11.22.1.43.2.65.3.24.11005.48.22.71.33.27.12.53.24.8.35,1,.45,2.01.88,3.02,1.29a105.87419,105.87419,0,0,0,11.08,3.84c.17.05.35.1.53.15q2.41508.675,4.86005,1.23,4.275.99006,8.63,1.62h.02c.35.05.69.1,1.04.15.03,0,.06.01.1.01,0,.01,0,.01.01,0,.38.05.77.1,1.15.15a.24843.24843,0,0,0,.08.01c.36.05.73.09,1.09.13q.58494.06,1.17.12.45.045.9.09a.19454.19454,0,0,0,.08.01c.27.02.54.05.81.07h.04c.23.02.47.04.7.06006,2.79.22,5.59.31994,8.43.31994,3.07,0,6.12-.12,9.13-.38h.03c.65-.06,1.29-.12,1.93-.18.17-.02.33-.03.5-.05.03,0,.07-.01.1-.01.05-.01.1-.01.16-.02a.24843.24843,0,0,0,.08-.01c.22-.02.44-.05.67-.07l.75-.09c.25-.03.5-.07.75-.1.06-.01.11-.01.17-.02.18-.02.36-.05.54-.07995.09-.01.18-.02.26-.03.18-.03.35-.05.53-.08h.01a105.706,105.706,0,0,0,16.2-3.65c.28-.09.56-.17005.84-.26a40.177,40.177,0,0,0-22.03-27.86,9.49736,9.49736,0,0,0,2.73-4.86005,9.29434,9.29434,0,0,0-1.28-7.01995,8.9678,8.9678,0,0,0-5.66-3.88l-14.82-3.1a9.2231,9.2231,0,0,0-10.8,7.2,9.76284,9.76284,0,0,0-.2,2.22C450.21461,732.10785,439.94459,741.95782,433.4546,752.41785Z"
transform="translate(-195.32909 -135.0622)"
fill="#6c63ff"
id="path1048" />
<circle
cx="281.88445"
cy="541.39662"
r="30.87556"
fill="#ffb8b8"
id="circle1050" />
<path
d="M457.96832,703.07847c-3.29254-2.24911-6.65479-6.57094-8.89946-9.81005a37.07482,37.07482,0,0,1-5.72473-29.60121,11.3042,11.3042,0,0,1,2.65776-5.44507c1.45423-1.439,3.82936-2.12133,5.60422-1.10373a10.13228,10.13228,0,0,1,.41151-8.03954,17.85678,17.85678,0,0,1,5.27941-6.28793,29.73759,29.73759,0,0,1,30.2834-3.58533c1.92864.89366-1.23909-6.00834.77965-5.34279a8.22979,8.22979,0,0,0,6.21161-.10916c1.89865-.95571,8.19188,4.72263,7.46365,2.72565a9.37686,9.37686,0,0,1,2.17171,15.70349c-1.59351,1.34506-3.583,2.11958-5.32779,3.26163a15.29686,15.29686,0,0,0-4.67894,19.74039,20.26618,20.26618,0,0,0-5.96467-2.592,6.85938,6.85938,0,0,0-6.10476,1.46829,7.70642,7.70642,0,0,0-1.86711,5.81588c.06916,2.09526.56765,4.15949.6236,6.25514.16417,6.14915,3.45742,17.84-1.3102,21.10849C475.81474,709.82,462.46384,706.14933,457.96832,703.07847Z"
transform="translate(-195.32909 -135.0622)"
fill="#2f2e41"
id="path1052" />
<path
d="M498.44289,521.91827a4.93032,4.93032,0,0,1-1.89356-.38281,4.78958,4.78958,0,0,1-3.0039-4.49512v-4.8872a3.8707,3.8707,0,0,0-3.86622-3.8667,4.87211,4.87211,0,0,1-4.8667-4.8667V436.46466a4.872,4.872,0,0,1,4.86622-4.8667H711.50539a4.87211,4.87211,0,0,1,4.8667,4.8667v66.95508a4.87211,4.87211,0,0,1-4.8667,4.8667H515.64992a3.8427,3.8427,0,0,0-2.73438,1.13232l-11.062,11.062A4.79813,4.79813,0,0,1,498.44289,521.91827Z"
transform="translate(-195.32909 -135.0622)"
fill="#fff"
id="path1068" />
<path
d="M498.44289,522.91827a5.9116,5.9116,0,0,1-2.27686-.459,5.77532,5.77532,0,0,1-3.6206-5.41895v-4.88672a2.86981,2.86981,0,0,0-2.86622-2.86718,5.87351,5.87351,0,0,1-5.8667-5.86719V436.46466a5.873,5.873,0,0,1,5.86622-5.8667H711.50539a5.87341,5.87341,0,0,1,5.8667,5.8667v66.95459a5.87351,5.87351,0,0,1-5.8667,5.86719H515.64992a2.84681,2.84681,0,0,0-2.02735.83984l-11.062,11.06152A5.79479,5.79479,0,0,1,498.44289,522.91827ZM489.67873,432.598a3.8707,3.8707,0,0,0-3.86622,3.8667v66.95459a3.87091,3.87091,0,0,0,3.8667,3.86719,4.87241,4.87241,0,0,1,4.86622,4.86718v4.88672a3.86665,3.86665,0,0,0,6.60058,2.7334l11.0625-11.06152a4.83313,4.83313,0,0,1,3.44141-1.42578H711.50539a3.87091,3.87091,0,0,0,3.8667-3.86719V436.46466a3.8708,3.8708,0,0,0-3.8667-3.8667Z"
transform="translate(-195.32909 -135.0622)"
fill="#3f3d56"
id="path1070" />
<path
d="M692.44337,461.91046H512.565a2.59082,2.59082,0,0,1,0-5.18164H692.44337a2.59082,2.59082,0,0,1,0,5.18164Z"
transform="translate(-195.32909 -135.0622)"
fill="#6c63ff"
id="path1072" />
<path
d="M692.11281,472.9173H512.565a2.59082,2.59082,0,0,1,0-5.18164H692.11281a2.59082,2.59082,0,1,1,0,5.18164Z"
transform="translate(-195.32909 -135.0622)"
fill="#e6e6e6"
id="path1074" />
<path
d="M691.9341,483.92364H512.565a2.59082,2.59082,0,0,1,0-5.18164H691.9341a2.59082,2.59082,0,0,1,0,5.18164Z"
transform="translate(-195.32909 -135.0622)"
fill="#e6e6e6"
id="path1076" />
<path
d="M975.71461,421.20782c0,2.43-.08,4.86-.25,7.27-.18,2.88-.49,5.74-.91,8.58a107.2491,107.2491,0,0,1-8.02,27.73q-.29993.66-.6,1.32l-.3.66c-.1.22-.21.44-.31.65-.14.29-.27.57-.41.85-.17.35-.34.7-.52,1.05-.02.04-.04.09-.07.14-.15.3-.29.59-.45.89a1.7462,1.7462,0,0,1-.1.19c-.17.34-.35.69-.53,1.03-.2.36005-.39.73-.59,1.09-.48.89-.98,1.77-1.49,2.65-.15.26-.3.52-.46.78-.14.24-.28.48-.43.72-.1.16-.2.33-.30005.49-.16.27-.32.53-.49.8-.37.59-.75,1.18-1.12,1.77h-.01c-.17.27-.35.54-.53.8v.01c-.53.8-1.08,1.6-1.63,2.38995a.0098.0098,0,0,0-.01.01c-.44.64-.9,1.26-1.35,1.88v.01c-.3.39-.59.79-.89,1.18-.24.32-.49.65-.74.97-.05.06994-.11.12994-.16.2v.01c-.07.09-.14.17-.21.26q-1.59,2.04-3.28,3.99l-.18.21c-.06.07-.13.14-.19.22-.1.11005-.19.22-.29.33-.09.11-.19.22-.29.33a108.617,108.617,0,0,1-19.83,17.49c-.97.67-1.96,1.32-2.95,1.95-.25.16-.5.32-.75.47-.07.05-.15.1-.22.15-.14.08-.27.16-.41.25-.13.08-.26.16-.4.24-.53.33-1.07.65-1.61.97-.13.08-.27.16-.41.24006-.13.06994-.27.15-.41.23,0,.01,0,.01-.01.01h-.01v.01h-.01q-1.00506.58492-2.04,1.13995c-.37.2-.75.41-1.13.6-.86.47-1.73.92-2.6,1.35-.31.15-.63.3-.94.46-.26.12-.52.25-.78.37-.08.04-.15.07-.22.11-.22.1-.43.2-.65.3-.24.11005-.48.22-.71.33-.27.12-.53.24-.8.35-1,.45-2.01.88-3.02,1.29a105.87419,105.87419,0,0,1-11.08,3.84c-.17.05-.35.1-.53.15q-2.41508.675-4.86005,1.23-4.275.99006-8.63,1.62h-.02c-.35.05-.69.1-1.04.15-.03,0-.06.01-.1.01,0,.01,0,.01-.01,0-.38.05-.77.1-1.15.15a.24843.24843,0,0,1-.08.01c-.36.05-.73.09-1.09.13q-.58494.06-1.17.12-.45.045-.9.09a.19454.19454,0,0,1-.08.01c-.27.02-.54.05-.81.07h-.04c-.23.02-.47.04-.7.06006-2.79.22-5.59.31994-8.43.31994-3.07,0-6.12-.12-9.13-.38h-.03c-.65-.06-1.29-.12-1.93-.18-.17-.02-.33-.03-.5-.05-.03,0-.07-.01-.1-.01-.05-.01-.1-.01-.16-.02a.24843.24843,0,0,1-.08-.01c-.22-.02-.44-.05-.67-.07l-.75-.09c-.25-.03-.5-.07-.75-.1-.06-.01-.11-.01-.17-.02-.18-.02-.36-.05-.54-.07995-.09-.01-.18-.02-.26-.03-.18-.03-.35-.05-.53-.08h-.01a105.706,105.706,0,0,1-16.2-3.65c-.28-.09-.56-.17005-.84-.26-.01,0-.02-.01-.03-.01-.08-.03-.17-.05-.25-.08-.75-.24-1.49-.49-2.23-.75-1.02-.34-2.03-.71-3.04-1.09-.27-.11-.54-.21-.81-.32-.55-.21-1.09-.43-1.63-.65-.92-.37-1.84-.76-2.75-1.16-.85-.38-1.69-.76-2.53-1.16-.02-.00994-.05-.00994-.07-.03-.19-.09-.38-.18-.56-.27h-.01a107.18912,107.18912,0,0,1-13.29-7.59q-2.04-1.365-4.02-2.82c-1.06-.79-2.1-1.59-3.14-2.41a108.28427,108.28427,0,0,1-14.19-13.56v-.01c-.31-.34-.6-.69-.9-1.04-.05-.05-.09-.1-.13-.14-.19-.23-.37-.45-.56-.67v-.01c-.25-.29-.5-.59-.74-.89-.06-.06994-.11-.12994-.16-.19v-.01c-.2-.24-.39-.48-.59-.73-.1-.12-.19-.24-.29-.36v-.01c-.59-.74-1.16-1.48-1.73-2.24-.15-.2-.3-.41-.46-.62-.72-.97-1.42-1.96-2.1-2.95v-.01c-.26-.37-.51-.75-.77-1.12q-.375-.57-.75-1.13995c-.25-.4-.51-.79-.76-1.19l-.03-.06c-.25-.38-.5-.78-.74-1.17005-.19-.32-.38-.63-.57-.94-.12-.21-.25-.42-.37-.63995a2.3919,2.3919,0,0,1-.13-.21q-.42-.735-.84-1.47c-.33-.56994-.65-1.15-.97-1.73-.12-.24-.25-.48-.38-.72-.05-.08-.09-.16-.13-.24-.15-.28-.3-.56994-.44-.86-.15-.28-.3-.57-.45-.86-.14-.28-.29-.57-.43-.86-.11-.22-.21-.44-.32-.66a.2175.2175,0,0,0-.03-.05c-.05-.11-.1-.21-.14-.31a.21619.21619,0,0,1-.03-.05c-.11005-.22-.21-.45-.32-.67-.14-.29-.27-.59-.41-.88-.09-.2-.19-.41-.28-.62-.13-.29-.27-.58-.39-.88-.14-.3-.27-.6-.4-.91a2.29721,2.29721,0,0,1-.1-.23c-.07-.14-.12-.28-.18-.42-.16-.37-.32-.75-.47-1.12-.18-.42005-.35-.85-.51-1.27-.16-.39-.31-.79-.46-1.19l-.06-.14a108.31693,108.31693,0,0,1-5.28-18.93v-.01a109.43156,109.43156,0,0,1-1.43-11.14c-.01-.21-.03-.41-.04-.61-.18-2.53-.26-5.07-.26-7.62,0-1.13.02-2.25.05-3.37a107.22221,107.22221,0,0,1,23.78-64.2c.32-.4.64-.8.97-1.2.33-.4.67-.79,1-1.18a107.74949,107.74949,0,0,1,173.04,12.43c.49.78.98,1.57,1.45,2.36005.48.8.94,1.6,1.4,2.41A107.27629,107.27629,0,0,1,975.71461,421.20782Z"
transform="translate(-195.32909 -135.0622)"
fill="#f2f2f2"
id="path1078" />
<path
d="M872.25672,350.74147a254.162,254.162,0,0,1-54.14823,7.81528,67.79984,67.79984,0,0,1-8.29619-.05641c-6.069-.51045-11.26756-2.41793-17.05716-3.46033-2.78331-.4997-5.88364-.86509-8.68575-1.40509q.9712-1.20494,1.97732-2.38032c6.04216.51046,12.17832,2.18151,18.293,2.95794,10.39441,1.3218,22.04078-.15314,29.92055-3.79078,3.823-1.76509,6.75141-3.96809,10.561-5.74124a4.9219,4.9219,0,0,1,1.65762-.50777,5.768,5.768,0,0,1,3.1272.81136c6.39139,3.22658,15.67089,5.84869,24.28409,4.406C874.53227,349.8925,873.31255,350.46474,872.25672,350.74147Z"
transform="translate(-195.32909 -135.0622)"
fill="#fff"
id="path1080" />
<path
d="M910.37143,362.09637c.07866-.01437.15753-.02558.23624-.03921a6.42127,6.42127,0,0,1-.93083-.7013Z"
transform="translate(-195.32909 -135.0622)"
fill="#fff"
id="path1082" />
<path
d="M961.93244,368.46221q-5.396.4312-10.84845.6421a68.3417,68.3417,0,0,1-8.2962-.05641c-6.069-.51315-11.26756-2.41793-17.05716-3.46033-5.306-.95375-11.75383-1.41315-15.12283-3.53018,8.70725-1.50718,17.72881,1.56091,26.70741,2.70271a63.77318,63.77318,0,0,0,21.76406-1.07464Q960.57033,366.03086,961.93244,368.46221Z"
transform="translate(-195.32909 -135.0622)"
fill="#fff"
id="path1084" />
<ellipse
cx="660.50012"
cy="300.20735"
rx="32.35846"
ry="33.07962"
fill="#ffb6b6"
id="ellipse1086" />
<path
d="M918.41457,516.41785c-.86.47-1.73.92-2.6,1.35-.31.15-.63.3-.94.46-.26.12-.52.25-.78.37-.08.04-.15.07-.22.11-.22.1-.43.2-.65.3-.24.11005-.48.22-.71.33-.27.12-.53.24-.8.35-1,.45-2.01.88-3.02,1.29a105.87419,105.87419,0,0,1-11.08,3.84c-.17.05-.35.1-.53.15q-2.41508.675-4.86005,1.23-4.275.99006-8.63,1.62h-.02c-.35.05-.69.1-1.04.15-.03,0-.06.01-.1.01,0,.01,0,.01-.01,0-.38.05-.77.1-1.15.15a.24843.24843,0,0,1-.08.01c-.36.05-.73.09-1.09.13q-.58494.06-1.17.12-.45.045-.9.09a.19454.19454,0,0,1-.08.01c-.27.02-.54.05-.81.07h-.04c-.23.02-.47.04-.7.06006-2.79.22-5.59.31994-8.43.31994-3.07,0-6.12-.12-9.13-.38h-.03c-.65-.06-1.29-.12-1.93-.18-.17-.02-.33-.03-.5-.05-.03,0-.07-.01-.1-.01-.05-.01-.1-.01-.16-.02a.24843.24843,0,0,1-.08-.01c-.22-.02-.44-.05-.67-.07l-.75-.09c-.25-.03-.5-.07-.75-.1-.06-.01-.11-.01-.17-.02-.18-.02-.36-.05-.54-.07995-.09-.01-.18-.02-.26-.03-.18-.03-.35-.05-.53-.08h-.01a105.706,105.706,0,0,1-16.2-3.65c-.28-.09-.56-.17005-.84-.26a40.177,40.177,0,0,1,22.03-27.86,9.49736,9.49736,0,0,1-2.73-4.86005,9.29434,9.29434,0,0,1,1.28-7.01995,8.9678,8.9678,0,0,1,5.66-3.88l14.82-3.1a9.22312,9.22312,0,0,1,10.8,7.2,9.7634,9.7634,0,0,1,.2,2.22C901.65456,496.10785,911.92458,505.95782,918.41457,516.41785Z"
transform="translate(-195.32909 -135.0622)"
fill="#6c63ff"
id="path1088" />
<path
d="M942.41713,420.92308c-5.50024-6.41419-8.11524-14.9242-12.51227-22.20783-4.39709-7.28369-12.04883-13.80261-20.13245-12.1076-5.57232,1.16852-9.87878,6.08563-12.059,11.56769-2.17974,5.482-2.58838,11.52755-2.97046,17.45013.135-12.17114-7.88372-23.97028-18.92974-27.85394-11.04517-3.88364-24.26429.44839-31.205,10.22647a16.8664,16.8664,0,0,0-22.40161-.47025c-6.20825,5.54874-7.58216,16.10984-3.01642,23.18738s14.4538,9.71414,21.70959,5.78885l2.56519,2.35968c-1.44391,5.05014,1.3562,11.01556,6.06323,12.9166,3.81684,1.54174,9.20532,1.28512,10.63361,5.29061.99817,2.79877-.86743,5.78617-2.852,7.93683-1.98407,2.15064-4.34015,4.37152-4.57843,7.3476-.36011,4.49042,4.28027,7.63605,8.49853,8.5834,10.17145,2.28446,21.4574-2.42572,27.31989-11.4021q.16946-.25964.36853-.52a39.27849,39.27849,0,0,0,7.90057-30.03344c-.32977-2.07468.0025-3.61783,1.43292-4.10916,6.18256-2.12369,23.50434,2.33352,28.74653,6.36187,5.24261,4.02835,9.44061,9.3595,14.49,13.64783,5.04986,4.28839,11.48462,7.59625,17.89618,6.42847,5.135-.93528,9.50348-4.66327,12.44189-9.16,2.938-4.4967,4.629-9.73825,6.14374-14.94729C966.61519,433.76451,951.07466,431.01866,942.41713,420.92308Z"
transform="translate(-195.32909 -135.0622)"
fill="#2f2e41"
id="path1090" />
<path
d="M278.15456,354.20782c0,2.43.08,4.86.25,7.27.18,2.88.49,5.74.91,8.58a107.2491,107.2491,0,0,0,8.02,27.73q.29993.66.6,1.32l.3.66c.1.22.21.44.31.65.14.29.27.57.41.85.17.35.34.7.52,1.05.02.04.04.09.07.14.15.3.29.59.45.89a1.7462,1.7462,0,0,0,.1.19c.17.34.35.69.53,1.03.2.36005.39.73.59,1.09.48.89.98,1.77,1.49,2.65.15.26.3.52.46.78.14.24.28.48.43.72.1.16.2.33.3.49.16.27.32.53.49.8.37.59.75,1.18,1.12,1.77h.01c.17.27.35.54.53.8v.01c.53.8,1.08,1.6,1.63,2.38995a.0098.0098,0,0,1,.01.01c.44.64.9,1.26,1.35,1.88v.01c.3.39.59.79.89,1.18.24.32.49.65.74.97.05.06994.11.12994.16.2v.01c.07.09.14.17.21.26q1.59,2.04,3.28,3.99l.18.21c.06.07.13.14.19.22.1.11005.19.22.29.33.09.11.19.22.29.33a108.617,108.617,0,0,0,19.83,17.49c.97.67,1.96,1.32,2.95,1.95.25.16.5.32.75.47.07.05.15.1.22.15.14.08.27.16.41.25.13.08.26.16.4.24.53.33,1.07.65,1.61.97.13.08.27.16.41.24006.13.06994.27.15.41.23,0,.01,0,.01.01.01h.01v.01h.01q1.00506.58492,2.04,1.13995c.37.2.75.41,1.13.6.86.47,1.73.92,2.6,1.35.31.15.63.3.94.46.26.12.52.25.78.37.08.04.15.07.22.11.22.1.43.2.65.3.24.11005.48.22.71.33.27.12.53.24.8.35,1,.45,2.01.88,3.02,1.29a105.87419,105.87419,0,0,0,11.08,3.84c.17.05.35.1.53.15q2.41508.675,4.86005,1.23,4.275.99006,8.63,1.62h.02c.35.05.69.1,1.04.15.03,0,.06.01.1.01,0,.01,0,.01.01,0,.38.05.77.1,1.15.15a.24843.24843,0,0,0,.08.01c.36.05.73.09,1.09.13q.58494.06,1.17.12.45.045.9.09a.19454.19454,0,0,0,.08.01c.27.02.54.05.81.07h.04c.23.02.47.04.7.06006,2.79.22,5.59.31994,8.43.31994,3.07,0,6.12-.12,9.13-.38h.03c.65-.06,1.29-.12,1.93-.18.17-.02.33-.03.5-.05.03,0,.07-.01.1-.01.05-.01.1-.01.16-.02a.24843.24843,0,0,0,.08-.01c.22-.02.44-.05.67-.07l.75-.09c.25-.03.5-.07.75-.1.06-.01.11-.01.17-.02.18-.02.36-.05.54-.07995.09-.01.18-.02.26-.03.18-.03.35-.05.53-.08h.01a105.706,105.706,0,0,0,16.2-3.65c.28-.09.56-.17005.84-.26.01,0,.02-.01.03-.01.08-.03.17-.05.25-.08.75-.24,1.49-.49,2.23-.75,1.02-.34,2.03-.71,3.04-1.09.27-.11.54-.21.81-.32.55-.21,1.09-.43,1.63-.65.92-.37,1.84-.76,2.75-1.16.85-.38,1.69-.76,2.53-1.16.02-.00994.05-.00994.07-.03.19-.09.38-.18.56-.27h.01a107.18912,107.18912,0,0,0,13.29-7.59q2.04-1.365,4.02-2.82c1.06-.79,2.1-1.59,3.14-2.41a108.28427,108.28427,0,0,0,14.19-13.56v-.01c.31-.34.6-.69.9-1.04.05-.05.09-.1.13-.14.19-.23.37-.45.56-.67v-.01c.25-.29.5-.59.74-.89.06-.06994.11-.12994.16-.19v-.01c.2-.24.38995-.48.59-.73.1-.12.19-.24.29-.36v-.01c.59-.74,1.16-1.48,1.73-2.24.15-.2.3-.41.46-.62.72-.97,1.42-1.96,2.1-2.95v-.01c.26-.37.51-.75.77-1.12q.375-.57.75-1.13995c.25-.4.51-.79.76-1.19l.03-.06c.25-.38.5-.78.74-1.17005.19-.32.38-.63.57-.94.12-.21.25-.42.37-.63995a2.3919,2.3919,0,0,0,.13-.21q.42-.735.84-1.47c.33-.56994.65-1.15.97-1.73.12-.24.25-.48.38-.72.05-.08.09-.16.13-.24.15-.28.3-.56994.44-.86.15-.28.3-.57.45-.86.13995-.28.29-.57.43-.86.11-.22.21-.44.32-.66a.2175.2175,0,0,1,.03-.05c.05-.11.1-.21.14-.31a.21619.21619,0,0,0,.03-.05c.11005-.22.21-.45.32-.67.14-.29.27-.59.41-.88.09-.2.19-.41.28-.62.13-.29.27-.58.39-.88.14-.3.27-.6.4-.91a2.29962,2.29962,0,0,0,.1-.23c.07-.14.12-.28.18-.42.16-.37.32-.75.47-1.12.18-.42005.35-.85.51-1.27.16-.39.31-.79.46-1.19l.06-.14a108.31693,108.31693,0,0,0,5.28-18.93v-.01a109.43156,109.43156,0,0,0,1.43-11.14c.01-.21.03-.41.04-.61.18-2.53.26-5.07.26-7.62,0-1.13-.02-2.25-.05-3.37a107.22221,107.22221,0,0,0-23.78-64.2c-.32-.4-.64-.8-.97-1.2-.33-.4-.67-.79-1-1.18a107.74949,107.74949,0,0,0-173.04,12.43c-.49.78-.98,1.57-1.45,2.36005-.48.8-.94,1.6-1.4,2.41A107.27619,107.27619,0,0,0,278.15456,354.20782Z"
transform="translate(-195.32909 -135.0622)"
fill="#f2f2f2"
id="path1092" />
<path
d="M381.61245,283.74147a254.162,254.162,0,0,0,54.14823,7.81528,67.79984,67.79984,0,0,0,8.29619-.05641c6.069-.51045,11.26756-2.41793,17.05716-3.46033,2.78331-.4997,5.88364-.86509,8.68575-1.40509q-.9712-1.20494-1.97732-2.38032c-6.04216.51046-12.17832,2.18151-18.293,2.95794-10.39442,1.3218-22.04079-.15314-29.92056-3.79078-3.823-1.76509-6.75141-3.96809-10.561-5.74124a4.9219,4.9219,0,0,0-1.65762-.50777,5.76807,5.76807,0,0,0-3.1272.81136c-6.39139,3.22658-15.67088,5.84869-24.28409,4.406C379.3369,282.8925,380.55662,283.46474,381.61245,283.74147Z"
transform="translate(-195.32909 -135.0622)"
fill="#fff"
id="path1094" />
<path
d="M343.49774,295.09637c-.07866-.01437-.15753-.02558-.23624-.03921a6.42127,6.42127,0,0,0,.93083-.7013Z"
transform="translate(-195.32909 -135.0622)"
fill="#fff"
id="path1096" />
<path
d="M291.93673,301.46221q5.396.4312,10.84845.6421a68.3417,68.3417,0,0,0,8.2962-.05641c6.069-.51315,11.26756-2.41793,17.05716-3.46033,5.306-.95375,11.75383-1.41315,15.12283-3.53018-8.70725-1.50718-17.72881,1.56091-26.70741,2.70271a63.77318,63.77318,0,0,1-21.76406-1.07464Q293.29884,299.03086,291.93673,301.46221Z"
transform="translate(-195.32909 -135.0622)"
fill="#fff"
id="path1098" />
<path
d="M335.4546,449.41785c.86.47,1.73.92,2.6,1.35.31.15.63.3.94.46.26.12.52.25.78.37.08.04.15.07.22.11.22.1.43.2.65.3.24.11005.48.22.71.33.27.12.53.24.8.35,1,.45,2.01.88,3.02,1.29a105.87419,105.87419,0,0,0,11.08,3.84c.17.05.35.1.53.15q2.41508.675,4.86005,1.23,4.275.99006,8.63,1.62h.02c.35.05.69.1,1.04.15.03,0,.06.01.1.01,0,.01,0,.01.01,0,.38.05.77.1,1.15.15a.24843.24843,0,0,0,.08.01c.36.05.73.09,1.09.13q.58494.06,1.17.12.45.045.9.09a.19454.19454,0,0,0,.08.01c.27.02.54.05.81.07h.04c.23.02.47.04.7.06006,2.79.22,5.59.31994,8.43.31994,3.07,0,6.12-.12,9.13-.38h.03c.65-.06,1.29-.12,1.93-.18.17-.02.33-.03.5-.05.03,0,.07-.01.1-.01.05-.01.1-.01.16-.02a.24843.24843,0,0,0,.08-.01c.22-.02.44-.05.67-.07l.75-.09c.25-.03.5-.07.75-.1.06-.01.11-.01.17-.02.18-.02.36-.05.54-.07995.09-.01.18-.02.26-.03.18-.03.35-.05.53-.08h.01a105.706,105.706,0,0,0,16.2-3.65c.28-.09.56-.17005.84-.26a40.177,40.177,0,0,0-22.03-27.86,9.49736,9.49736,0,0,0,2.73-4.86005,9.29434,9.29434,0,0,0-1.28-7.01995,8.9678,8.9678,0,0,0-5.66-3.88l-14.82-3.1a9.2231,9.2231,0,0,0-10.8,7.2,9.76284,9.76284,0,0,0-.2,2.22C352.21461,429.10785,341.94459,438.95782,335.4546,449.41785Z"
transform="translate(-195.32909 -135.0622)"
fill="#6c63ff"
id="path1100" />
<circle
cx="198.75404"
cy="229.04877"
r="36.07316"
fill="#9e616a"
id="circle1102" />
<path
d="M388.957,398.256c-9.03088,2.43906-18.98715-.80368-26.03488-6.95474s-11.45636-14.86707-13.99658-23.87c-1.86041-6.59356-2.74253-13.91271.1933-20.10281s10.83712-10.36639,16.933-7.23959c-3.7605-4.38129-1.88181-11.62772,2.51016-15.37573s10.42282-4.82261,16.16669-5.41c8.33594-.85248,16.9465-.9479,24.87878,1.75269s15.13953,8.60486,17.62207,16.60809a12.64027,12.64027,0,0,0,15.07663-3.404,11.45182,11.45182,0,0,1-6.30975,12.41714l12.15372-3.94033c2.09021,4.42428-1.57233,9.9-6.25589,11.31683s-9.73932-.13181-14.18381-2.17871-8.75159-4.63474-13.57922-5.433-10.49836.7529-12.73139,5.10685c-1.16958,2.28042-1.23059,4.95123-1.90964,7.42248s-2.3992,5.03348-4.9541,5.23572c-1.61416.12778-3.19455-.732-4.8042-.55621a5.17666,5.17666,0,0,0-4.05441,3.96139,15.1987,15.1987,0,0,0-.0144,5.98l3.08725,23.598Z"
transform="translate(-195.32909 -135.0622)"
fill="#2f2e41"
id="path1104" />
</svg>

Before

Width:  |  Height:  |  Size: 39 KiB

After

Width:  |  Height:  |  Size: 39 KiB

4
integracao/media/public/images/cross-circle.svg

@ -1,2 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" id="Outline" viewBox="0 0 24 24" width="16" height="16"><path fill="#FFF" d="M16,8a1,1,0,0,0-1.414,0L12,10.586,9.414,8A1,1,0,0,0,8,9.414L10.586,12,8,14.586A1,1,0,0,0,9.414,16L12,13.414,14.586,16A1,1,0,0,0,16,14.586L13.414,12,16,9.414A1,1,0,0,0,16,8Z"/><path fill="#FFF" d="M12,0A12,12,0,1,0,24,12,12.013,12.013,0,0,0,12,0Zm0,22A10,10,0,1,1,22,12,10.011,10.011,0,0,1,12,22Z"/></svg>
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" id="Outline" viewBox="0 0 24 24" width="16" height="16"><path fill="#FFF" d="M16,8a1,1,0,0,0-1.414,0L12,10.586,9.414,8A1,1,0,0,0,8,9.414L10.586,12,8,14.586A1,1,0,0,0,9.414,16L12,13.414,14.586,16A1,1,0,0,0,16,14.586L13.414,12,16,9.414A1,1,0,0,0,16,8Z"/><path fill="#FFF" d="M12,0A12,12,0,1,0,24,12,12.013,12.013,0,0,0,12,0Zm0,22A10,10,0,1,1,22,12,10.011,10.011,0,0,1,12,22Z"/></svg>

Before

Width:  |  Height:  |  Size: 463 B

After

Width:  |  Height:  |  Size: 461 B

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save