| Server IP : 20.75.53.88 / Your IP : 216.73.217.138 [ Web Server : Apache System : Linux VMRALP-3 4.4.0-256-generic #290~14.04.1-Ubuntu SMP Thu Jun 20 09:24:50 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 5.5.9-1ubuntu4.29+esm15 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, Domains : 3 Domains MySQL : ON | cURL : OFF | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /var/www/html/protocolo/obidos/pages/protocolo/ |
Upload File : |
<?php
/**
* Copyright (c) 2017.
* O sistema está protegido por copyright.
* Todo o copyright ou outros direitos de propriedade intelectual presentes no sistema, imagens, som, software e outros conteúdos do site são propriedade de Ralp Alves
* Bezerra.
* É permitida a pesquisa no sistema e a reprodução de excertos através de impressão ou distribuição para outras pessoas, mas em todos os casos para fins não comerciais.
* Apenas é permitido o uso dos conteúdos do sistema para utilização pessoal. Nenhuma parte do sistema poderá ser reproduzida para ser vendida ou distribuída para ganhos
* comerciais nem poderá ser modificada ou incorporada em qualquer outro trabalho, publicação ou site tanto no formato electrónico, como transferência para qualquer outro
* site. Nenhuma outra licença ou direitos relacionados com o site são concedidos, sem autorização expressa do autor.
*/
/**
* Created by PhpStorm.
* User: ralpb
* Date: 20/09/2017
* Time: 00:46
*/
ini_set('display_errors', 'off');
$_login = $_SESSION['login'];
$_usu_admin = $_SESSION['usu_admin'];
$_usu_centralizador = $_SESSION['usu_centralizador'];
$_cod_usuario = $_SESSION['cod_usuario'];
$_nome = $_SESSION['nome'];
$acao = $_GET['var'];
$cod_protocolo = $_POST['cod_protocolo'];
$dado_tipo_protocolo = $_POST['dado_tipo_protocolo'];
$dado_tipo_documento = $_POST['dado_tipo_documento'];
$dado_empresa = $_POST['dado_empresa'];
$dado_status = $_POST['dado_status'];
$ori_departamento = $_POST['ori_departamento'];
$ori_entidade = $_POST['ori_entidade'];
$des_departamento = $_POST['des_departamento'];
$des_entidade = $_POST['des_entidade'];
$des_responsavel = $_POST['des_responsavel'];
$obs_observacao = $_POST['obs_observacao'];
$data_exercicio = date('Y');
$nome_usu = $_POST['nome_usu'];
$numero_documento = $_POST['numero_documento'];
function somar_dias_uteis($str_data, $int_qtd_dias_somar = 7)
{
$str_data = substr($str_data, 0, 10);
if (preg_match("@/@", $str_data)==1) {
$str_data = implode("-", array_reverse(explode("/", $str_data)));
}
$array_data = explode('-', $str_data);
$count_days = 0;
$int_qtd_dias_uteis = 0;
while ($int_qtd_dias_uteis < $int_qtd_dias_somar) {
$count_days++;
if (($dias_da_semana = gmdate('w', strtotime('+' . $count_days . ' day', mktime(0, 0, 0, $array_data[1], $array_data[2], $array_data[0]))))!='0' && $dias_da_semana!='6') {
$int_qtd_dias_uteis++;
}
}
return gmdate('d/m/Y', strtotime('+' . $count_days . ' day', strtotime($str_data)));
}
if ($acao=='cadastrar') {
try {
$prazo_tipo = $_POST['prazo_tipo'];
$prazo_dias = $_POST['prazo_dias'];
if ($prazo_tipo==1) {
$prazo_data = somar_dias_uteis(date('Y-m-d H:i'), $prazo_dias);
$d_prazo = date("Y-m-d", strtotime(str_replace('/', '-', $prazo_data)));
} else {
$dias = strtotime("+" . $prazo_dias . " days");
$prazo_data = date("Y-m-d", $dias);;
$d_prazo = $prazo_data;
}
$grava = $conn->prepare("INSERT INTO protocolo
(dado_tipo_protocolo,
dado_tipo_documento, dado_empresa,
dado_status, ori_departamento,
ori_entidade, des_departamento,
des_entidade, des_responsavel,
obs_observacao,data_exercicio,
prazo_dias,prazo_data,prazo_tipo,numero_documento)
VALUES
('$dado_tipo_protocolo',
'$dado_tipo_documento','$dado_empresa',
'$dado_status','$ori_departamento',
'$ori_entidade','$des_departamento',
'$des_entidade','$des_responsavel',
'$obs_observacao','$data_exercicio',
'$prazo_dias','$d_prazo','$prazo_tipo','$numero_documento')");
} catch (PDOException $e) {
$a->avisoErro('?page=protocolo/protocolo_g', '<strong>' . $e->getMessage() . '</strong >', 'Problema no registro');
}
$grava->execute();
$u_id = $conn->lastInsertId();
$hist = $conn->prepare("INSERT INTO protocolo_historico
(cod_protocolo, historico,
cod_usuario,cod_status)
VALUES
('$u_id','<b>$_login</b> criou o protocolo <b>n° $u_id</b>',
'$_cod_usuario','$dado_status')");
$hist->execute();
$a->avisoSucesso('?page=protocolo/protocolo_e&id=' . $u_id, 'Gravado com sucesso!', 'G&T Protocolo');
}
if ($acao=='editar') {
try {
$grava = $conn->prepare("update protocolo set
dado_tipo_protocolo='$dado_tipo_protocolo',
dado_tipo_documento='$dado_tipo_documento',
dado_empresa='$dado_empresa',
ori_departamento='$ori_departamento',
ori_entidade='$ori_entidade',
des_departamento='$des_departamento',
des_entidade='$des_entidade',
obs_observacao='$obs_observacao',
data_exercicio='$data_exercicio',
numero_documento='$numero_documento'
WHERE cod_protocolo=$cod_protocolo");
$grava->execute();
} catch (PDOException $e) {
$a->avisoErro('?page=protocolo/protocolo_g', '<strong>' . $e->getMessage() . '</strong >', 'Problema no registro');
}
$a->avisoSucesso('?page=protocolo/protocolo_e&id=' . $cod_protocolo, 'Gravado com sucesso!', 'G&T Protocolo');
}
if ($acao=='add_file') {
$cod_protocolo = $_POST['cod_protocolo'];
$descricao = $_POST['descricao'];
$uploaddir = 'files/anexo/';
$caminho = $_FILES['caminho']['name'];
$extensao = strrchr($caminho, '.');
$extensao = strtolower($extensao);
$tipo = substr($extensao, 1);
$caminho = $cod_protocolo . '-' . rand(1, 1000000000000000000) . $extensao;
$uploadfile = $uploaddir . basename($caminho);
move_uploaded_file($_FILES['caminho']['tmp_name'], $uploadfile);
try {
$grava = $conn->prepare("INSERT INTO protocolo_anexo
(cod_protocolo, descricao, caminho,
tipo)
VALUES
('$cod_protocolo','$descricao','$uploaddir$caminho',
'$tipo')");
} catch (PDOException $e) {
$a->avisoErro('?page=protocolo/protocolo_g', '<strong>' . $e->getMessage() . '</strong >', 'Problema no registro');
}
$grava->execute();
$a->avisoSucesso('?page=protocolo/protocolo_e&id=' . $cod_protocolo, 'Gravado com sucesso!', 'G&T Protocolo');
}
if ($acao=='del_anexo') {
$cod_anexo = $_GET['cod_anexo'];
$cod_protocolo = $_GET['cod_protocolo'];
$caminho = $_GET['caminho'];
try {
$a->avisoExcluir('?page=protocolo/protocolo_e&id=' . $cod_protocolo, 'Deseja realmente excluir o anexo?', 'Exclusão de registro', '?page=protocolo/protocolo_a&var=del_anexo&cod_anexo=' . $cod_anexo . '&cod_protocolo=' . $cod_protocolo . '&caminho=' . $caminho);
unlink($caminho);
$grava = $conn->prepare("delete from protocolo_anexo where cod_anexo='$cod_anexo'");
$grava->execute();
} catch (PDOException $e) {
$a->avisoErro('?page=protocolo/protocolo_e&id=' . $cod_protocolo, '<strong>' . $e->getMessage() . '</strong >', 'Problema no registro');
}
}
if ($acao=='iniciar_execucao') {
$cod_protocolo = $_GET['cod_protocolo'];
try {
$grava = $conn->prepare("update protocolo set dado_status='2' where cod_protocolo='$cod_protocolo'");
$grava->execute();
$hist = $conn->prepare("INSERT INTO protocolo_historico
(cod_protocolo, historico,
cod_usuario,cod_status)
VALUES
('$cod_protocolo','<b>$_login</b> iniciou a execução do protocolo',
'$_cod_usuario','2')");
$hist->execute();
$a->avisoSucesso('?page=protocolo/protocolo_e&id=' . $cod_protocolo, 'Gravado com sucesso!', 'G&T Protocolo');
} catch (PDOException $e) {
$a->avisoErro('?page=protocolo/protocolo_e&id=' . $cod_protocolo, '<strong>' . $e->getMessage() . '</strong >', 'Problema no registro');
}
}
if ($acao=='cancelar_protocolo') {
$cod_protocolo = $_POST['cod_protocolo'];
$motivo = $_POST['motivo'];
try {
// $a->avisoConfirma('?page=protocolo/protocolo_e&id=' . $cod_protocolo, 'Deseja realmente cancelar o protocolo?', 'Cancelar protocolo', '?page=protocolo/protocolo_a&var=cancelar_protocolo&cod_protocolo=' . $cod_protocolo);
$grava = $conn->prepare("update protocolo set dado_status='5' where cod_protocolo='$cod_protocolo'");
$grava->execute();
$hist = $conn->prepare("INSERT INTO protocolo_historico
(cod_protocolo, historico,
cod_usuario,cod_status, motivo)
VALUES
('$cod_protocolo','<b>$_login</b> cancelou o protocolo. Motivo: $motivo',
'$_cod_usuario','5','$motivo')");
$hist->execute();
$a->avisoSucesso('?page=protocolo/protocolo_e&id=' . $cod_protocolo, 'Gravado com sucesso!', 'G&T Protocolo');
} catch (PDOException $e) {
$a->avisoErro('?page=protocolo/protocolo_e&id=' . $cod_protocolo, '<strong>' . $e->getMessage() . '</strong >', 'Problema no registro');
}
}
if ($acao=='concluir_protocolo') {
echo $cod_protocolo = $_POST['cod_protocolo'];
echo $motivo = $_POST['motivo'];
try {
// $a->avisoConfirma('?page=protocolo/protocolo_e&id=' . $cod_protocolo, 'Deseja marcar o protocolo como concluído?', 'Concluir protocolo', '?page=protocolo/protocolo_a&var=concluir_protocolo&cod_protocolo=' . $cod_protocolo . '&motivo=' . $motivo);
// echo $cod_protocolo = $_GET['cod_protocolo'];
// echo $motivo = $_GET['motivo'];
$grava = $conn->prepare("update protocolo set dado_status='4' where cod_protocolo='$cod_protocolo'");
$grava->execute();
$hist = $conn->prepare("INSERT INTO protocolo_historico
(cod_protocolo, historico,
cod_usuario,cod_status,
motivo)
VALUES
('$cod_protocolo','<b>$_login</b> concluiu o protocolo. Motivo: $motivo',
'$_cod_usuario','4','$motivo')");
$hist->execute();
$a->avisoSucesso('?page=protocolo/protocolo_e&id=' . $cod_protocolo, 'Gravado com sucesso!', 'G&T Protocolo');
} catch (PDOException $e) {
$a->avisoErro('?page=protocolo/protocolo_e&id=' . $cod_protocolo, '<strong>' . $e->getMessage() . '</strong >', 'Problema no registro');
}
}
if ($acao=='reabrir_protocolo') {
$cod_protocolo = $_POST['cod_protocolo'];
$motivo = $_POST['motivo'];
try {
// $a->avisoConfirma('?page=protocolo/protocolo_e&id=' . $cod_protocolo, 'Deseja realmente reabrir o protocolo?', 'Reabrir protocolo', '?page=protocolo/protocolo_a&var=reabrir_protocolo&cod_protocolo=' . $cod_protocolo);
$grava = $conn->prepare("update protocolo set dado_status='7' where cod_protocolo='$cod_protocolo'");
$grava->execute();
$hist = $conn->prepare("INSERT INTO protocolo_historico
(cod_protocolo, historico,
cod_usuario,cod_status, motivo)
VALUES
('$cod_protocolo','<b>$_login</b> reabriu o protocolo. Motivo: $motivo',
'$_cod_usuario','7','$motivo')");
$hist->execute();
$a->avisoSucesso('?page=protocolo/protocolo_e&id=' . $cod_protocolo, 'Gravado com sucesso!', 'G&T Protocolo');
} catch (PDOException $e) {
$a->avisoErro('?page=protocolo/protocolo_e&id=' . $cod_protocolo, '<strong>' . $e->getMessage() . '</strong >', 'Problema no registro');
}
}
//ENCAMINHAR PROTOCOLO
if ($acao=='encaminhar_protocolo') {
$cod_protocolo = $_POST['cod_protocolo'];
$cod_usuario_origem = $_POST['cod_usuario_origem'];
$cod_usuario_destino = $_POST['cod_usuario_destino'];
$cod_usuario_interessado = $_POST['cod_usuario_interessado'];
if (empty($cod_usuario_interessado)) {
echo $envio_mail = $cod_usuario_destino;
} else {
echo $envio_mail = $cod_usuario_destino . ',' . $cod_usuario_interessado;
}
$motivo = $_POST['motivo'];
$n_usu = $conn->query("select * from usuarios WHERE cod_usuario in($envio_mail)");
$n_usum = $conn->query("select * from usuarios WHERE cod_usuario in($envio_mail)");
$nu = $n_usu->fetch(PDO::FETCH_OBJ);
try {
while ($p = $n_usum->fetch(PDO::FETCH_OBJ)) {
$grava = $conn->prepare("INSERT INTO protocolo_encaminhamento
( cod_protocolo,
cod_usuario_origem,
cod_usuario_destino,
motivo,lido) VALUES
('$cod_protocolo',
'$cod_usuario_origem',
'$p->cod_usuario',
'$motivo','N')");
$grava->execute();
$hist = $conn->prepare("INSERT INTO protocolo_historico
(cod_protocolo, historico,
cod_usuario,cod_status, motivo,
cod_usuario_destino)
VALUES
('$cod_protocolo','<b>$_login</b> encaminhou o protocolo para <b>$p->nome</b>. Motivo: <b>$motivo</b>',
'$_cod_usuario','3','$motivo',
'$p->cod_usuario')");
$hist->execute();
//envia e-mail com o endereço informado
$server = $_SERVER['PHP_SELF'];
$corpo
= ' <span style="font-size: 15px; color: #3c8dbc; font-weight: bold;">
G&T Controller - Sistema de Protocolo<br>
Um novo protocolo foi encaminhado para você:
</span><br>
<table width="100%" height="50%" style="border-bottom: ridge;border-top: ridge; color: #3c8dbc;">
<tr>Protocolo Nº:
<td><b style="font-size: 22px;color: #0c199c;">' . $cod_protocolo . '</b></td>
</tr>
<tr>Encaminhado por:
<td><b>' . strtoupper($_login) . '</b></td>
</tr>
<tr>Motivo:
<td><b>' . strtoupper($motivo) . '</b></td>
</tr>
<tr>Link de acesso:
<td><b>http://www.gtcontroller.com.br' . $server . '</b></td>
</tr>
</table>';
// while ($p = $n_usum->fetch(PDO::FETCH_OBJ)) {
smtpmailer($p->email, 'G&T Protocolo | ' . strtoupper($_login) . ' encaminhou o Protocolo ' . $cod_protocolo, $corpo);
}
$a->avisoSucesso('?page=protocolo/protocolo_e&id=' . $cod_protocolo, 'Gravado com sucesso!', 'G&T Protocolo');
} catch (PDOException $e) {
$a->avisoErro('?page=protocolo/protocolo_e&id=' . $cod_protocolo, '<strong>' . $e->getMessage() . '</strong >', 'Problema no registro');
}
}
if ($acao=='lido_protocolo') {
$cod_protocolo = $_GET['cod_protocolo'];
try {
$grava = $conn->prepare("update protocolo_encaminhamento set lido='S' where cod_protocolo='$cod_protocolo'");
$grava->execute();
$hist = $conn->prepare("INSERT INTO protocolo_historico
(cod_protocolo, historico,
cod_usuario,cod_status,
motivo)
VALUES
('$cod_protocolo','<b>$_login</b> Visualizou o protocolo.',
'$_cod_usuario','8','VISUALIZADO')");
$hist->execute();
$a->avisoSucesso('?page=protocolo/protocolo_e&id=' . $cod_protocolo, 'Gravado com sucesso!', 'G&T Protocolo');
} catch (PDOException $e) {
$a->avisoErro('?page=protocolo/protocolo_e&id=' . $cod_protocolo, '<strong>' . $e->getMessage() . '</strong >', 'Problema no registro');
}
}
if ($acao=='feed_protocolo') {
$cod_protocolo = $_POST['cod_protocolo'];
$cod_usuario_origem = $_POST['cod_usuario_origem'];
$cod_usuario_destino = $_POST['cod_usuario_destino'];
$motivo = $_POST['motivo'];
$n_usu = $conn->query("select * from usuarios WHERE cod_usuario=$cod_usuario_destino");
$nu = $n_usu->fetch(PDO::FETCH_OBJ);
try {
$grava = $conn->prepare("INSERT INTO protocolo_encaminhamento
( cod_protocolo,
cod_usuario_origem,
cod_usuario_destino,
motivo) VALUES
('$cod_protocolo',
'$cod_usuario_origem',
'$cod_usuario_destino',
'$motivo')");
$grava->execute();
$hist = $conn->prepare("INSERT INTO protocolo_historico
(cod_protocolo, historico,
cod_usuario,cod_status, motivo,
cod_usuario_destino)
VALUES
('$cod_protocolo','<b>$_login</b> enviou uma mensagem para <b>$nu->nome</b>. Mensagem:<b> $motivo</b>',
'$_cod_usuario','9','$motivo',
'$cod_usuario_destino')");
$hist->execute();
//envia e-mail com o endereço informado
$server = $_SERVER['PHP_SELF'];
$corpo
= ' <span style="font-size: 15px; color: #3c8dbc; font-weight: bold;">
G&T Controller - Sistema de Protocolo<br>
Uma nova mensagem foi enviada para você:
</span><br>
<table width="100%" height="50%" style="border-bottom: ridge;border-top: ridge; color: #3c8dbc;">
<tr>Protocolo Nº:
<td><b style="font-size: 22px;color: #0c199c;">' . $cod_protocolo . '</b></td>
</tr>
<tr>Enviada por:
<td><b>' . strtoupper($_login) . '</b></td>
</tr>
<tr>Mensagem:
<td><b>' . strtoupper($motivo) . '</b></td>
</tr>
<tr>Link de acesso:
<td><b>191.252.0.71' . $server . '</b></td>
</tr>
</table>';
smtpmailer($nu->email, 'G&T Protocolo | ' . strtoupper($_login) . ' Enviou mensagem no protocolo ' . $cod_protocolo, $corpo);
$a->avisoSucesso('?page=protocolo/protocolo_e&id=' . $cod_protocolo, 'Gravado com sucesso!', 'G&T Protocolo');
} catch (PDOException $e) {
$a->avisoErro('?page=protocolo/protocolo_e&id=' . $cod_protocolo, '<strong>' . $e->getMessage() . '</strong >', 'Problema no registro');
}
}
//CADASTRAR INTERESSADO
if ($acao=='cadastrar_interessado') {
$cod_protocolo = intval($_POST['cod_protocolo']);
$tipo_interessado = $_POST['tipo_interessado'];
$cod_usuario = $_POST['cod_usuario_int'];
try {
$n_usum = $conn->query("select * from usuarios WHERE cod_usuario in($cod_usuario)");
while ($p = $n_usum->fetch(PDO::FETCH_OBJ)) {
$grava = $conn->prepare("INSERT INTO protocolo_interessado
(cod_protocolo,
cod_usuario,
tipo_interessado) VALUES
('$cod_protocolo',
'$p->cod_usuario',
'$tipo_interessado')");
$grava->execute();
}
$a->avisoSucesso('?page=protocolo/add_interessado&id=' . $cod_protocolo, 'Gravado com sucesso!', 'G&T Protocolo');
} catch (PDOException $e) {
$a->avisoErro('?page=protocolo/protocolo_e&id=' . $cod_protocolo, '<strong>' . $e->getMessage() . '</strong >', 'Problema no registro');
}
}
if ($acao=='excluir_interessado') {
$id = $_GET['cod_usuario'];
$cod_protocolo = $_GET['cod_protocolo'];
try {
$a->avisoExcluir('?page=protocolo/add_interessado&id=' . $cod_protocolo, 'Deseja realmente excluir o interessado?', 'Exclusão de registro', '?page=protocolo/protocolo_a&cod_usuario=' . $id . '&cod_protocolo=' . $cod_protocolo . '&var=excluir_interessado');
$grava = $conn->prepare("delete from protocolo_interessado where cod_usuario='$id' and cod_protocolo='$cod_protocolo'");
$grava->execute();
} catch (PDOException $e) {
$a->avisoErro('?page=protocolo/add_interessado&id=' . $cod_protocolo, '<strong>' . $e->getMessage() . '</strong >', 'Problema no registro');
}
}
/**
* @param $para
* @param $assunto
* @param $corpo
* @throws phpmailerException
*/
function smtpmailer($para, $assunto, $corpo)
{
require_once('components/phpmailer/class.phpmailer.php');
require_once('components/phpmailer/class.smtp.php');
$mail = new PHPMailer();
$mail->isHTML(true);
$mail->IsSMTP(); // telling the class to use SMTP
$mail->SMTPDebug = 0; // enables SMTP debug information (for testing)
// 1 = errors and messages
// 2 = messages only
$mail->SMTPAuth = true; // enable SMTP authentication
$mail->SMTPSecure = "tls"; // sets the prefix to the servier
$mail->Host = "smtp.gmail.com"; // sets GMAIL as the SMTP server
$mail->Port = 587; // set the SMTP port for the GMAIL server
$mail->Username = "gtcontrollerbrasil@gmail.com"; // GMAIL username
$mail->Password = "php2016php"; // GMAIL password
$mail->SetFrom('gtcontrollerbrasil@gmail.com', 'Protocolo', 0);
$mail->Subject = $assunto;
$body = $corpo;
$mail->AltBody = "Para ver a mensagem, utilize um visualizador de e-mail compatível com HTML!";
// $mail->AddBCC('ralpbezerra@gmail.com', 'Ralp Alves');
$mail->CharSet = 'utf-8';
$mail->MsgHTML($body . "<br><img src='dist/img/logo-prefeitura.png' width=200px/>");
$mail->AddAddress($para, "Protocolo");
if (!$mail->Send()) {
$a = new aviso();
$a->AlertaErro("Ocorreu um problema ao enviar e-mail: " . $mail->ErrorInfo);
} else {
$a = new aviso();
$a->AlertaAviso("E-mail com as informações do usuário enviadas!");
}
}
?>