$body "; //$headers = "Content-Type: text/plain\r\n"; $headers = "Content-type: text/html; charset=ISO-8859-1\r\n"; $headers .= "Reply-To: $fromname <$from>\r\n"; $headers .= "Return-Path: $fromname <$from>\r\n"; $headers .= "From: $fromname <$from>\r\n"; // $headers .= "Organization: Prefeitura do Natal\r\n"; if (mail($to, $subject, $html, $headers)) { return true; } else { error_log("E-mail de confirmação de cadastro não enviado. Última mensagem de erro:"); $e = error_get_last(); error_log($e["message"]); return false; } } //Function SendMail com phpMailer - Opcional function PHPMailerSendMail($to, $subject, $body, $from="", $fromname=""){ require_once("../class/PHPMailerAutoload.php"); $mail = new PHPMailer(); $mail->isSMTP(); // Define que a mensagem será SMTP $mail->Host = MAIL_HOST; //hostname ou IP do Servidor $mail->SMTPAuth = SMTP_AUTH; //Caso seu email precise de autenticação, no nosso caso não. if (SMTP_AUTH) { $mail->Username = SMTP_USER; $mail->Password = SMTP_PWD; } if(empty($from)){ $sql = "SELECT nomeremetenteemail, emailremetente FROM lda_configuracao"; $rs = execQuery($sql); $row = mysql_fetch_array($rs); $mail->From = $row['emailremetente']; $mail->FromName = $row['nomeremetenteemail']; }else{ $mail->From = $from; $mail->FromName = $fromname; } $mail->addAddress($to); $mail->isHTML(true); //Define que o email será HTML $mail->CharSet = "iso-8859-1"; //Charset da mensagem (opcional) $mail->Subject = $subject; $html = " $body "; $mail->Body = $html; $mail->AltBody = $body; //Texto Plano (opcional) $envia = $mail->send(); //Envia o email $mail->clearAllRecipients(); //Limpa os destinatarios if($envia){ //Retorno do email return TRUE; }else{ error_log("E-mail de confirmação de cadastro não pôde ser enviado. Descrição do erro:"); error_log($mail->ErrorInfo); return FALSE; } } function sendMailAnexo($to, $subject,$body,$arquivos=array(),$from="",$fromname="",$cc="") { //se nao for informado o remetente, recupera das configurações do sistema if(empty($from)) { $sql = "select nomeremetenteemail, emailremetente from lda_configuracao"; $rs = execQuery($sql); $row = mysql_fetch_array($rs); $from = $row['emailremetente']; $fromname = $row['nomeremetenteemail']; } $html = " $body "; $boundary = strtotime('NOW'); $headers .= "Content-Type: multipart/mixed; boundary=\"" . $boundary . "\"".PHP_EOL; $headers .= "Reply-To: $fromname <$from>".PHP_EOL; $headers .= "Return-Path: $fromname <$from>".PHP_EOL; $headers .= "From: $fromname <$from>".PHP_EOL; $headers .= "Cc: $cc".PHP_EOL; $headers .= "MIME-Version: 1.0".PHP_EOL; $headers .= "Organization: Prefeitura do Natal".PHP_EOL; $msg = "--" . $boundary . PHP_EOL; $msg .= "Content-Type: text/html; charset=\"ISO-8859-1\"".PHP_EOL; $msg .= "Content-Transfer-Encoding: 8bit".PHP_EOL.PHP_EOL; $msg .= stripslashes($html).PHP_EOL; for($i=1; $i <= count($arquivos); $i++) { $finfo = finfo_open(FILEINFO_MIME_TYPE); $tipoarquivo = finfo_file($finfo, $arquivos['arquivo'][$i]); $msg .= "--" . $boundary . PHP_EOL; $msg .= "Content-Transfer-Encoding: base64".PHP_EOL; $msg .= "Content-Type: \"".$tipoarquivo."\"; name=\"".$arquivos['nome'][$i]."\"".PHP_EOL; $msg .= "Content-Disposition: attachment; filename=\"".$arquivos['nome'][$i]."\"".PHP_EOL.PHP_EOL; ob_start(); readfile($arquivos['arquivo'][$i]); $enc = ob_get_contents(); ob_end_clean(); $msg_temp = base64_encode($enc). PHP_EOL; $tmp[1] = strlen($msg_temp); $tmp[2] = ceil($tmp[1]/76); for ($b = 0; $b <= $tmp[2]; $b++) { $tmp[3] = $b * 76; $msg .= substr($msg_temp, $tmp[3], 76) . PHP_EOL; } unset($msg_temp, $tmp, $enc); } return mail($to, $subject, $msg, $headers); } //registra na tabela de erros de login, a tentativa sem sucesso de acesso ao sistema function setTentativaLogin($usuario) { $ipaddr = $_SERVER["REMOTE_ADDR"]; $sistema = SISTEMA_CODIGO; $query = "insert into sis_errologin (sistema, usuario,ip) values('$sistema','$usuario','$ipaddr')"; execQuery($query) or die("Ocorreu um erro inesperado ao logar erro de entrada"); } //exclui da tabela de erros de login, as tentativa sem sucesso de acesso ao sistema function delTentativaLogin($usuario) { $sistema = SISTEMA_CODIGO; $query = "delete from sis_errologin where usuario='$usuario' and sistema = '$sistema'"; execQuery($query) or die("Ocorreu um erro inesperado ao excluir tentativas de acesso"); } /*--------------------------------------------------------------------------- * verifica da existencia de uma tentativa de acesso, sem sucesso, ao sistema * e retorna se deve ser usado o recaptcha para proxima tentativa de acesso *---------------------------------------------------------------------------*/ function usaRecaptcha($usuario) { if (empty($usuario)) return false; $sistema = SISTEMA_CODIGO; $query = "select * from sis_errologin where usuario='$usuario' and sistema = '$sistema'"; $rs = execQuery($query); //se houver tentativas registradas retorna true para exibir o controle recaptcha return (mysql_num_rows($rs) >0) ; } //atualizar a unidade do usuario logado com a unidade selecionada no meu topo function atualizaUnidadeUsuario($idsecretaria) { $var = $_SESSION[SISTEMA_CODIGO]; $sql="select nomesecretaria, siglasecretaria, idsecretaria from vw_secretariausuario und where md5(idsecretaria) = '$idsecretaria' and idusuario = ".getSession('uid'); $rs = execQuery($sql); if(mysql_num_rows($rs)>0) { $row = mysql_fetch_array($rs); $var["idsecretaria"] = $row['idsecretaria']; $var["siglasecretaria"] = $row['siglasecretaria']; $var["nomesecretaria"] = $row['nomesecretaria']; $_SESSION[SISTEMA_CODIGO] = $var; $rs = null; $row = null; return true; } else { return false; } } function autentica($login, $pwd, $tipo) { if (empty($login) or empty($pwd)) { if(!empty($login)) setTentativaLogin($login); return false; } $query = "select u.idusuario as id, u.nome, u.idsecretaria, s.sigla, s.nome as secretaria from sis_usuario u, sis_secretaria s where u.idsecretaria = s.idsecretaria and u.login='$login' and u.chave = '".md5($pwd)."' and u.status = 'A'"; $rs = execQuery($query); if (mysql_num_rows($rs) !=0) { $row = mysql_fetch_array($rs); } else { //inclui tentativa de acesso ao sistema, para usar o recaptcha no proximo login setTentativaLogin($login); return false; } //exclui tentativas de acesso ao sistema do usuario (para evitar o recaptcha no proximo login) delTentativaLogin($login); $apelido = explode(" ",$row['nome']); $var = array(); $var["uid"] = $row['id']; $var["nomeusuario"] = $row['nome']; $var["apelidousuario"] = $apelido[0]; $var["idsecretaria"] = $row['idsecretaria']; $var["siglasecretaria"] = $row['sigla']; $var["nomesecretaria"] = $row['secretaria']; $_SESSION[SISTEMA_CODIGO] = $var; return true; } /*pega o diretorio padrao para gravação de arquivos $sis = sistema para busca do diretorio na tabela de parametros */ function getDiretorio($sis = "lda"){ $query = "select diretorioarquivos from lda_configuracao"; $rs = execQuery($query); if (mysql_num_rows($rs) !=0) { $row = mysql_fetch_array($rs); $retorno = $row['diretorioarquivos']; } return $retorno; } /*paga o URL padrao para exibição de arquivos $sis = sistema para busca do diretorio na tabela de parametros */ function getURL($sis = "lda"){ $query = "select urlarquivos from lda_configuracao"; $rs = execQuery($query); if (mysql_num_rows($rs) !=0) { $row = mysql_fetch_array($rs); $retorno = $row['urlarquivos']; } return $retorno; } function prepData($var) { $conn = db_open(); if (get_magic_quotes_gpc()) { $var = stripslashes($var); } $retorno = mysql_real_escape_string($var); db_close($conn); return $retorno; } function logger($msg) { $usuario = getSession("uid"); $usuario = empty($usuario)?"SYSTEM":$usuario; // Ugly fix pra nao permitir salvar senha em banco. unset($_POST["senha"]); $mensagem = $msg; $datahora = "now()"; $dados_post = prepData(serialize($_POST)); $dados_get = prepData(serialize($_GET)); $dados_session = prepData(serialize($_SESSION)); $ipaddr = $_SERVER["REMOTE_ADDR"]; $query = "insert into sis_log (usuario,mensagem,datahora,dados_get,dados_post,ipaddr) values('$usuario','$mensagem',$datahora,'$dados_get','$dados_post','$ipaddr')"; execQuery($query) or die("Erro logando"); } function getErro($msg){ //Exibe mensagem de erro passado pelas telas de manutenção if (trim($msg) != "") echo ""; } function getConfirmacao($msg,$funcaoConfirmacao){ //Exibe mensagem de confirmação passado pelas telas de manutenção //funcaoConfirmacao -> função javascript com o alert de confirmação e procedimentos a serem seguidos. if (trim($msg) != "") echo ""; } function checkPerm($operacao,$retornapag=true) { $uid = getSession("uid"); $query = "select permissao.idacao from sis_acao acao,sis_permissao permissao, sis_grupo g, sis_grupousuario gu where acao.idacao=permissao.idacao and g.idgrupo = permissao.idgrupo and gu.idgrupo = g.idgrupo and acao.status = 'A' and gu.idusuario = '$uid' and acao.operacao='$operacao'"; $rs = execQuery($query); if (mysql_num_rows($rs) !=0) { return true; } else { //se for passado o parametro false, nao retorna pagina de acesso negado, e sim o valor false. if ($retornapag){ include "topo.php"; echo "

Acesso Negado


  • Voce nao tem permissao para acessar o modulo $operacao
  • Voltar

    "; include "rodape.php"; exit; }else{ return false; } } } function Redirect($url) { Header("Location:$url"); } function isauth($tipo="consumidor") { session_start(); if(!isset($_SESSION[SISTEMA_CODIGO])) { Redirect(SITELNK."index/?t=".$tipo); exit; } } session_start(); ?>