$acaostr = "enviar";//constante que define a acao a ser verificada quando o form for postado
if ($_REQUEST["msg"] && $_REQUEST["key"]) {
include("acompanhamento.inc.php");
return;
}
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, valor, parcelas, vparcelas, bonus)\n".
"VALUES\n".
"(".$_REQUEST["fal_id"].", ".$dt.",\n".
"'".$_REQUEST["msg_sender_nome"]."', '".$_REQUEST["msg_sender_email"]."', '".$_REQUEST["msg_sender_tel"]."', '".$_REQUEST["msg_sender_fax"]."',\n".
"'".$_REQUEST["msg_texto"]."', '".$chave."','".$_REQUEST["valor"]."','".$_REQUEST["parcelas"]."','".$_REQUEST["vparcelas"]."','"$_REQUEST["bonus"]"')";
$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 de Fale Conosco da categoria '".$row["fal_nome"]."' foi enviado para sua avaliação.
\n".
"Data: ".date("d/m/Y H:i")."
\n".
"Mensagem:
\n".
nl2br(stripslashes($_REQUEST["msg_texto"]))."\n
\n".
"getUrl().$obCanal->getdircompleto()."?email=".$v."&msg=".$msg_id."&key=".$chave."\">Clique aqui para responder o contato
\n";
$headers = "From: ".$obSistema->gettitulo()." \n";
$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 = 'Sim'\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");
?>