|
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Parametriza<EFBFBD><EFBFBD>o do servi<EFBFBD>o de Workflow
|
|
|
|
|
* Este servi<EFBFBD>o ira enviar diariamente um resumo da opera<EFBFBD><EFBFBD>o de callcenter bem como
|
|
|
|
|
* um resumo mensal para emails autorizados
|
|
|
|
|
* Autor: Amarildo Pereira
|
|
|
|
|
* Data: 05/02/2013
|
|
|
|
|
*/
|
|
|
|
|
$msgErro = "";
|
|
|
|
|
$template = "workflow/workflow.htm";
|
|
|
|
|
$email_insert = '';
|
|
|
|
|
$tipoEnvio = IsPostBack() ? $_POST["wkf_tipo_envio"] : 0;
|
|
|
|
|
$upload = true;
|
|
|
|
|
/*
|
|
|
|
|
* Se n<EFBFBD>o existir parametros inclui parametros default
|
|
|
|
|
*/
|
|
|
|
|
WkfDefault($dbcon);
|
|
|
|
|
|
|
|
|
|
if (isset($_GET["wkf_email_id"])) {
|
|
|
|
|
$wkf_email_id = $_GET["wkf_email_id"];
|
|
|
|
|
|
|
|
|
|
@pg_query($dbcon, 'begin');
|
|
|
|
|
$query = "delete from pbx_workflow_emails_dacs where wkf_email_id = '$wkf_email_id'";
|
|
|
|
|
$result = @pg_query($dbcon, $query);
|
|
|
|
|
|
|
|
|
|
$query = "delete from pbx_workflow_emails where wkf_email_id = '$wkf_email_id'";
|
|
|
|
|
if ($result)
|
|
|
|
|
$result = @pg_query($dbcon, $query);
|
|
|
|
|
|
|
|
|
|
if ($result) {
|
|
|
|
|
@pg_query($dbcon, 'commit');
|
|
|
|
|
$jsStartup[] = "alert('Email removido com sucesso!);";
|
|
|
|
|
} else {
|
|
|
|
|
@pg_query($dbcon, 'rollback');
|
|
|
|
|
$msg = "O email n<EFBFBD>o pode ser removido, tente novamente mais tarde!";
|
|
|
|
|
$msgErro = $msg;
|
|
|
|
|
$jsStartup[] = "alert('$msg');";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (isset($_POST["bt_email_insert"])) {
|
|
|
|
|
$wkf_nome = 'null';
|
|
|
|
|
$find = array(';', '#', '|');
|
|
|
|
|
$temNome = 0;
|
|
|
|
|
$email = $_POST["email_insert"];
|
|
|
|
|
|
|
|
|
|
foreach ($find as $ch) {
|
|
|
|
|
if (stripos($_POST["email_insert"], $ch) !== false) {
|
|
|
|
|
$temNome = 1;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if ($temNome) {
|
|
|
|
|
$arEmail = split('[;,#|]', $_POST["email_insert"]);
|
|
|
|
|
$wkf_nome = sprintf("'%s'", $arEmail[1]);
|
|
|
|
|
$email = $arEmail[0];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$tipo = $_POST["wkf_tipo_envio"];
|
|
|
|
|
|
|
|
|
|
$wkf_status = isset($_POST["wkf_status"]) ? $_POST["wkf_status"] : 0;
|
|
|
|
|
$msg = "";
|
|
|
|
|
|
|
|
|
|
if (!is_email($email)) {
|
|
|
|
|
$msg = "$email n<EFBFBD>o <EFBFBD> um email v<EFBFBD>lido!";
|
|
|
|
|
$msgErro = $msg;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if ($msg) {
|
|
|
|
|
$jsStartup[] = "alert('$msg');";
|
|
|
|
|
$email_insert = $_POST["email_insert"];
|
|
|
|
|
} else {
|
|
|
|
|
$query = "select count(*) from pbx_workflow_emails where wkf_email = '$email'";
|
|
|
|
|
$result = pg_query($dbcon, $query);
|
|
|
|
|
$row = pg_fetch_row($result);
|
|
|
|
|
$altera = $row[0];
|
|
|
|
|
|
|
|
|
|
if ($altera)
|
|
|
|
|
$query = "update pbx_workflow_emails set wkf_tipo_envio = '$tipo', wkf_status = '$wkf_status', wkf_nome = $wkf_nome where wkf_email = '$email'";
|
|
|
|
|
else
|
|
|
|
|
$query = "insert into pbx_workflow_emails(wkf_email, wkf_tipo_envio, wkf_status, wkf_nome) values('$email', '$tipo', '$wkf_status', $wkf_nome)";
|
|
|
|
|
$result = pg_query($dbcon, $query);
|
|
|
|
|
|
|
|
|
|
if ($result) {
|
|
|
|
|
$jsStartup[] = !$altera ? "alert('Email adicionado com sucesso!');" : "alert('Email alterado com sucesso!');";
|
|
|
|
|
} else {
|
|
|
|
|
$email_insert = $_POST["email_insert"];
|
|
|
|
|
$msg = 'O email n<EFBFBD>o pode ser adicionado, tente novamente mais tarde!';
|
|
|
|
|
$msgErro = $msg;
|
|
|
|
|
$jsStartup[] = "alert('$msg');";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (isset($_POST["bt_gravar"])) {
|
|
|
|
|
$hora = $_POST["wkf_hora_envio"];
|
|
|
|
|
$minuto = $_POST["wkf_minuto_envio"];
|
|
|
|
|
$wkf_smtp = $_POST["wkf_smtp"];
|
|
|
|
|
$wkf_smtp_user = $_POST["wkf_smtp_user"];
|
|
|
|
|
|
|
|
|
|
if(md5($_SESSION['SSKeepPassword']) == $_POST["wkf_smtp_senha"]){
|
|
|
|
|
$senhawkf = $_SESSION['SSKeepPassword'];
|
|
|
|
|
} else {
|
|
|
|
|
$senhawkf = $_POST["wkf_smtp_senha"];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$wkf_smtp_senha = $senhawkf;
|
|
|
|
|
$wkf_smtp_port = $_POST["wkf_smtp_port"];
|
|
|
|
|
$wkf_status_servico = isset($_POST["wkf_status_servico"]) ? $_POST["wkf_status_servico"] : 0;
|
|
|
|
|
$validaLogo = isset($_FILES['wkf_logo_parceiro']['name']) && $_FILES['wkf_logo_parceiro']['name'];
|
|
|
|
|
if (!$validaLogo) {
|
|
|
|
|
$wkf_logo_parceiro = $_POST['wkf_logo'];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$msg = "";
|
|
|
|
|
|
|
|
|
|
if (!is_numeric($hora) || (($hora < 0) || ($hora > 23))) {
|
|
|
|
|
$msg = "Hora inv<EFBFBD>lida!";
|
|
|
|
|
} else if (!is_numeric($minuto) || (($minuto < 0) || ($minuto > 59))) {
|
|
|
|
|
$msg = "Minuto inv<EFBFBD>lido!";
|
|
|
|
|
}
|
|
|
|
|
/*
|
|
|
|
|
* Foi enviado uma nova imagem para logo.
|
|
|
|
|
*/
|
|
|
|
|
if (empty($msg) && $validaLogo) {
|
|
|
|
|
$msg = ValidaLogoParceiro();
|
|
|
|
|
}
|
|
|
|
|
/*
|
|
|
|
|
* A imagem envia da para logo <EFBFBD> v<EFBFBD>lida.
|
|
|
|
|
*/
|
|
|
|
|
if (empty($msg) && $validaLogo) {
|
|
|
|
|
$nomeArq = LimpaString(RemoveAcentos($_FILES['wkf_logo_parceiro']['name']));
|
|
|
|
|
$wkf_logo_parceiro = MoveLogoWkfParceiro() ? strtolower($nomeArq) : $_POST['wkf_logo'];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if ($msg) {
|
|
|
|
|
$msgErro = $msg;
|
|
|
|
|
$jsStartup[] = "alert('$msg');";
|
|
|
|
|
} else { //pbx_workflow_parametros(wkf_id int not null primary key, wkf_hora_envio int not null default 6, wkf_minuto_envio
|
|
|
|
|
$query = "update pbx_workflow_parametros
|
|
|
|
|
set wkf_hora_envio = $hora,
|
|
|
|
|
wkf_minuto_envio = $minuto,
|
|
|
|
|
wkf_smtp = '$wkf_smtp',
|
|
|
|
|
wkf_smtp_user = '$wkf_smtp_user',
|
|
|
|
|
wkf_smtp_senha = '$wkf_smtp_senha',
|
|
|
|
|
wkf_smtp_port = '$wkf_smtp_port',
|
|
|
|
|
wkf_status_servico = '$wkf_status_servico',
|
|
|
|
|
wkf_logo_parceiro = '$wkf_logo_parceiro'
|
|
|
|
|
where wkf_id = 1";
|
|
|
|
|
$result = pg_query($dbcon, $query);
|
|
|
|
|
|
|
|
|
|
if ($result) {
|
|
|
|
|
$jsStartup[] = "alert('Parametros Gerais alterados com sucesso!');";
|
|
|
|
|
} else {
|
|
|
|
|
$msg = 'Os parametros n<EFBFBD>o podem ser alterados, tente novamente mais tarde!';
|
|
|
|
|
$msgErro = $msg;
|
|
|
|
|
$jsStartup[] = "alert('$msg');";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (isset($_GET["alteraUser"])) {
|
|
|
|
|
$tipoEnvio = $_GET["tipo"];
|
|
|
|
|
$status = $_GET["status"];
|
|
|
|
|
$nome = $_GET["nome"];
|
|
|
|
|
$email_insert = $_GET["email"] . ($nome ? ";$nome" : "");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Seleciona os parametros cadastrados
|
|
|
|
|
*/
|
|
|
|
|
$query = "select wkf_status_servico, wkf_hora_envio, wkf_minuto_envio, wkf_smtp, wkf_smtp_user, wkf_smtp_senha, wkf_smtp_port, case when(coalesce(wkf_logo_parceiro, '') = '')then 'logoParceiro.png' else wkf_logo_parceiro end as wkf_logo_parceiro from pbx_workflow_parametros where wkf_id = 1";
|
|
|
|
|
$result = pg_query($dbcon, $query);
|
|
|
|
|
$row = pg_fetch_array($result);
|
|
|
|
|
|
|
|
|
|
$_SESSION['SSKeepPassword'] = $row["wkf_smtp_senha"];
|
|
|
|
|
|
|
|
|
|
$msgLogo = $row["wkf_logo_parceiro"] == "logoParceiro.png" ? "Imagem Padr<EFBFBD>o" : "Logo Parceiro";
|
|
|
|
|
$smarty->assign("wkf_status_servico", $row["wkf_status_servico"]);
|
|
|
|
|
$smarty->assign("wkf_hora_envio", $row["wkf_hora_envio"]);
|
|
|
|
|
$smarty->assign("wkf_minuto_envio", $row["wkf_minuto_envio"]);
|
|
|
|
|
$smarty->assign("wkf_smtp", $row["wkf_smtp"]);
|
|
|
|
|
$smarty->assign("wkf_smtp_server", $row["wkf_smtp_server"]);
|
|
|
|
|
$smarty->assign("wkf_smtp_user", $row["wkf_smtp_user"]);
|
|
|
|
|
$smarty->assign("wkf_smtp_senha", md5($row["wkf_smtp_senha"]));
|
|
|
|
|
$smarty->assign("wkf_smtp_port", $row["wkf_smtp_port"]);
|
|
|
|
|
$smarty->assign("wkf_tipo_envio", $tipoEnvio);
|
|
|
|
|
$smarty->assign("wkf_logo_parceiro", $row["wkf_logo_parceiro"]);
|
|
|
|
|
$smarty->assign("msgLogo", $msgLogo);
|
|
|
|
|
$smarty->assign("email_insert", IsPostBack() || isset($_GET["email"]) ? $email_insert : "");
|
|
|
|
|
$smarty->assign("wkf_emails", GetWkfEmail($dbcon));
|
|
|
|
|
$smarty->assign("msgErro", $msgErro);
|
|
|
|
|
$smarty->assign("status", isset($status) ? $status : 0);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Carrega o template correspondente ao cadastro
|
|
|
|
|
*/
|
|
|
|
|
GetTemplate($smarty, $template);
|
|
|
|
|
|
|
|
|
|
function WkfDefault($db) {
|
|
|
|
|
$query = "select count(*) from pbx_workflow_parametros";
|
|
|
|
|
$result = pg_query($db, $query);
|
|
|
|
|
$row = pg_fetch_row($result);
|
|
|
|
|
|
|
|
|
|
if ($row[0])
|
|
|
|
|
return;
|
|
|
|
|
$query = "insert into pbx_workflow_parametros(wkf_id, wkf_smtp, wkf_smtp_user, wkf_smtp_senha, wkf_smtp_port)values(1, 'mail.simplesip.com.br', 'workflow@simplesip.com.br', '#w0rkFl0w@', '587');";
|
|
|
|
|
pg_query($db, $query);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function GetWkfEmail($db) {
|
|
|
|
|
$query = "select wkf_email_id, wkf_email, wkf_tipo_envio, wkf_status, wkf_nome,
|
|
|
|
|
(select count(*) from pbx_workflow_emails_dacs where wkf_email_id = a.wkf_email_id) as rest_dac
|
|
|
|
|
from pbx_workflow_emails a order by wkf_email";
|
|
|
|
|
$result = pg_query($db, $query);
|
|
|
|
|
|
|
|
|
|
$opt = "";
|
|
|
|
|
$numReg = 0;
|
|
|
|
|
while ($row = pg_fetch_array($result)) {
|
|
|
|
|
$tpEnvio = $row["wkf_tipo_envio"];
|
|
|
|
|
$restDac = $row["rest_dac"] ? "S" : "N";
|
|
|
|
|
$wkf_status = $row["wkf_status"];
|
|
|
|
|
switch ($tpEnvio) {
|
|
|
|
|
case 1: $tpEnvio = "Di<EFBFBD>rio";
|
|
|
|
|
break;
|
|
|
|
|
case 2: $tpEnvio = "Mensal";
|
|
|
|
|
break;
|
|
|
|
|
default: $tpEnvio = "Todos";
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
$wkf_email_id = $row["wkf_email_id"];
|
|
|
|
|
$nomeEmail = trim($row["wkf_nome"]);
|
|
|
|
|
$emailDisp = sprintf('<a href="index.php?idProg=178&alteraUser=1&email=%s&nome=%s&status=%s&tipo=%s" style="color:#000000;">%s</a>', $row["wkf_email"], $nomeEmail, $row["wkf_status"], $row["wkf_tipo_envio"], ocultarEmail(empty($nomeEmail) ? $row["wkf_email"] : sprintf('"%s" <%s>', $row["wkf_nome"], $row["wkf_email"])));
|
|
|
|
|
$imgDelete = sprintf("<img src=\"imgSite/deletaUser.png\" width=\"16\" height=\"16\" border=\"0\" title=\"Apaga o email: %s\">", ocultarEmail(empty($nomeEmail) ? $row["wkf_email"] : sprintf('"%s" <%s>', $row["wkf_nome"], $row["wkf_email"])));
|
|
|
|
|
$remove = "<a href=\"javaScript:DeletaWkfEmail('" . $row["wkf_email_id"] . "');\">" . $imgDelete . "</a>";
|
|
|
|
|
$dacs = '<img src="imgSite/usuarios.gif" alt="Adiciona restri<EFBFBD><EFBFBD>o por dacs!" title="Adiciona restri<EFBFBD><EFBFBD>o por dacs!" width="22" height="22" border="0">';
|
|
|
|
|
$janW = 680;
|
|
|
|
|
$janH = 250;
|
|
|
|
|
$dacs = "<a href=\"javaScript:NovaJanela('index.php?idProg=179&wkf_email_id=$wkf_email_id&email=$email', 'usuarioCad', '$janW', '$janH', 'resizable=NO,scrollbars=NO');\"> $dacs</a>";
|
|
|
|
|
$imgStatus = "<img src=\"imgSite/" . ($wkf_status ? "ok16.gif" : "no.gif") . "\" width=\"16\" height=\"16\" border=\"0\" title=\"" . ($wkf_status ? "Email Ativo!" : "Email Inativo!") . "\">";
|
|
|
|
|
$opt .= sprintf('<tr>
|
|
|
|
|
<td align="left">%s</td>
|
|
|
|
|
<td align="center">%s</td>
|
|
|
|
|
<td align="center">%s</td>
|
|
|
|
|
<td align="center">%s</td>
|
|
|
|
|
<td align="center">%s</td>
|
|
|
|
|
<td align="center">%s</td>
|
|
|
|
|
</tr>', $emailDisp, $imgStatus, $tpEnvio, $restDac, $dacs, $remove);
|
|
|
|
|
$numReg++;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (!$numReg)
|
|
|
|
|
return "<tr><td colspan=\"5\" align=\"center\">Nenhum email cadastrado!</td></tr>";
|
|
|
|
|
|
|
|
|
|
return $opt;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function MoveLogoWkfParceiro() {
|
|
|
|
|
$moveFile = false;
|
|
|
|
|
|
|
|
|
|
$tmpFileName = $_FILES['wkf_logo_parceiro']['name'];
|
|
|
|
|
$nomeArq = strtolower($tmpFileName);
|
|
|
|
|
$nomeArq = LimpaString(RemoveAcentos($nomeArq));
|
|
|
|
|
|
|
|
|
|
//$pathFile = '/var/lib/asterisk/scripts/workflow/' . $nomeArq;
|
|
|
|
|
$pathFile = 'imgSite/' . $nomeArq;
|
|
|
|
|
|
|
|
|
|
$tmpFileName = $_FILES['wkf_logo_parceiro']['tmp_name'];
|
|
|
|
|
$moveFile = move_uploaded_file($tmpFileName, $pathFile);
|
|
|
|
|
|
|
|
|
|
return $moveFile;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function ValidaLogoParceiro() {
|
|
|
|
|
$types = array('image/gif', 'image/png', 'image/jpeg');
|
|
|
|
|
$size = (int) round($_FILES['wkf_logo_parceiro']['size'] / 1024, 0);
|
|
|
|
|
$type = trim($_FILES['wkf_logo_parceiro']['type']);
|
|
|
|
|
|
|
|
|
|
if ($size > 50)
|
|
|
|
|
return "O tamanho m<EFBFBD>ximo permitido para a imagem <EFBFBD> de 50kb!";
|
|
|
|
|
|
|
|
|
|
if (array_search($type, $types) === false)
|
|
|
|
|
return "Os tipo \"$type\" n<EFBFBD>o <EFBFBD> v<EFBFBD>lido, apenas imagens s<EFBFBD>o \".jpg, .png e .gif\" s<EFBFBD>o suportadas!";
|
|
|
|
|
|
|
|
|
|
return "";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
?>
|