$acaostr = "enviar";//constante que define a acao a ser verificada quando o form for postado
//se for leitura acompanhamento de mensagem inclui o respectivo script e retorna
if ($_REQUEST["msg"] && $_REQUEST["key"]) {
include("acompanhamento.inc.php");
return;
}
//se houver acao insere o contato, envia o e-mail e volta 2 páginas (página acessada antes do form de contato)
if ($_REQUEST["acao"] == $acaostr) {
//monta o vetor com os possíveis valores a serem utilizados na composição da chave:
$key_values = array();
for ($i = 97; $i <=122; $i++) {
$key_values[] = chr($i);
}
for ($i = 65; $i <= 90; $i++) {
$key_values[] = chr($i);
}
for ($i = 0; $i <= 9; $i++) {
$key_values[] = $i;
}
//gera a chave que será usada para validar
//o acesso ao acompanhamento do contato.
$chave = "";
for ($i = 0; $i < 30; $i++) {
$chave .= $key_values[rand(0, count($key_values)-1)];
}
$dt = time();
$sql = "INSERT INTO faleconosco_msg\n".
"(fal_id, msg_dataentrada,\n".
"msg_sender_nome, msg_sender_email, msg_sender_tel, msg_sender_fax,\n".
"msg_texto, msg_key)\n".
"VALUES\n".
"(".$_REQUEST["fal_id"].", ".$dt.",\n".
"'".$_REQUEST["nome"]."', '".$_REQUEST["email"]."', '".$_REQUEST["telefone"]."', '".$_REQUEST["telefone"]."',\n".
"'".$_REQUEST["mensagem"]."', '".$chave."')";
$db->Execute($sql) or die("\n
Erro ao executar comando no DB em:
".__FILE__.":".__LINE__."
".$db->ErrorMsg()."\n\n");
$msg_id = $db->Insert_ID();
//recupera os dados do cadastro de faleconosco (categoria) para utilização no
//corpo e no envio do e-mail que será gerado a seguir
$sql = "SELECT fal_id, fal_nome, fal_emails\n".
"FROM faleconosco\n".
"WHERE fal_id = ".$_REQUEST["fal_id"];
$rs = $db->Execute($sql) or die("\n
Erro ao executar comando no DB em:
".__FILE__.":".__LINE__."
".$db->ErrorMsg()."\n\n");
$row = $rs->FetchRow();
$rs->Close();
//desenvolve o corpo do e-mail e manda para cada destinatário
//o corpo do e-mail é gerado dentro do loop pois o email do
//destinatário é passado como variável no link do email
//por isso os e-mails devem ser enviados distintamente.
$destinatarios = explode(",", $row["fal_emails"]);
reset($destinatarios);
while (list($k, $v) = each($destinatarios)) {
$codigoFonte = "
Um registro do Site foi enviado para sua avaliação EAD INTER@CAO.
\n".
"Data: ".date("d/m/Y H:i")."
\n".
"Nome: ".$_REQUEST["nome"]."
\n".
"Email: ".$_REQUEST["email"]."
\n".
"Telefones: ".$_REQUEST["telefone"]."
\n".
"Mensagem:
\n".
nl2br(stripslashes($_REQUEST["mensagem"]))."\n
\n";
$headers = "From: ".$obSistema->gettitulo()." \n";//posta com o sender padrão informado no config.inc.php
$headers .= "Reply-To: ".$obSistema->gettitulo()." \n";//
$headers .= "Content-Type: text/html; charset=iso-8859-1"; // Mime type
$error = mail($v, $obSistema->gettitulo().": Novo Contato",$codigoFonte,$headers);
if (!$error)
exit('erro 134132');
}
?>
}
//preparação do formulário
//Descobre o canal que de onde vem a solicitação de contato
//para fazer a pré-seleção do tipo de contato.
//Se for por navegação (ou seja, se o cliente clicou em algum link de contato)
//localiza o canal pela variável $_SERVER["http_referer"] (que é a url anterior)
//se não localiza pelo canal corrente
$canal_origem = "";
if ($_SERVER["HTTP_REFERER"] != "") {
$canal_origem = $_SERVER["HTTP_REFERER"];
$pos = strpos($canal_origem, $obSistema->getUrl());
//se tiver.. retira a url do sistema
if ($pos !== false) {//se tiver encontrado um índice para ocorréncia de $obSistema->getUrl() em $canal_origem
$canal_origem = substr($canal_origem, strlen($obSistema->getUrl()));//retira a url do portal
$pos = strpos($canal_origem, "?");//localiza por "?"
if ($pos !== false) {//se tiver encontrado um "?" em $canal_origem
substr($canal_origem, 0, $pos+1);//remove da ? em diante
}
//retira as "/" restantes do início da strin (se houver)
while (substr($canal_origem, 0, 1) == "/") {
$canal_origem = substr($canal_origem, 1);
}
//remove as "/" restantes do fim da string (se houver)
while (substr($canal_origem, strlen($canal_origem)-1, 1) == "/") {
$canal_origem = substr($canal_origem, 0, strlen($canal_origem)-1);
}
} else {
$canal_origem = "";//caso quem tiver chamado o form de contato nem seja um link do próprio portal.
}
}
//se o $canal_origem não tiver definido aqui, localiza pelo diretório atual
if ($canal_origem == "") {
$canal_origem = $obCanal->getDir();
}
// Função para pegar o padrão do grupo para o formulario no canal atual, se não tem canal pega canal do pai
$valida = true;
//canal corrente menos a barra final
$caminho = substr($obCanal->getDircompleto(),0,strlen($obCanal->getDircompleto())-1);
//Query para montagem do select dos tipos de contato
$sql_tipofc =
"SELECT fal_id, fal_nome\n".
"FROM faleconosco\n".
"WHERE fal_ativo = 'Ativo'\n".
"ORDER BY fal_ordem";
$rs = $db->Execute($sql_tipofc) or die("\n
Erro ao executar comando no DB em:
".__FILE__.":".__LINE__."
".$db->ErrorMsg()."\n\n");
?>