PHP Classes

File: SendFormattedMail/ticket.php

Recommend this page to a friend!
  Classes of José Filipe Lopes Santos   PHP HTML Formatted Mail   SendFormattedMail/ticket.php   Download  
File: SendFormattedMail/ticket.php
Role: Example script
Content type: text/plain
Description: Form to send a formatted mail
Class: PHP HTML Formatted Mail
Send HTML email messages composed using templates
Author: By
Last change:
Date: 9 years ago
Size: 4,582 bytes
 

Contents

Class file image Download
<?php

/* form with
 * name
 * email
 * subject
 * message
 *
 * send to mail ....
 */


/**
 * Send ticket by email.
 *
 * @author José Filipe Lopes Santos <jfilipe@med.up.pt>
 * @since 09-05-2012
 * @version 1.0 - data da últ. actualização: 10-05-2012
 */

require_once 'conf/core.inc';
require_once
'lib/sendmail.inc';

/* ---------------------------------- oOo --------------------------------
                             Inicialização de variáveis
   ---------------------------------- oOo -------------------------------- */

if (empty($name)) $name = "";
if (empty(
$email)) $email = "";
if (empty(
$subject)) $subject = "";
if (empty(
$message)) $message = "";
if (empty(
$note_empty)) $note_empty = false; // booleano que indica se existem campos obrigatórios por preencher
if (empty($error_msg)) $error_msg = ""; // mensagem de erro
if (empty($sended)) $sended = "no"; // indica se já foi enviado ou não o ticket por email
if (empty($title)) $title = "Send a ticket";


/* ---------------------------------- oOo --------------------------------
             Verificar se existem campos obrigatórios por preencher
   ---------------------------------- oOo -------------------------------- */

if (!empty($submit) && ($name == "" || $email == ""))
   
$note_empty = true;
else
   
$note_empty = false;


/* ---------------------------------- oOo --------------------------------
                                  Enviar mails
   ---------------------------------- oOo -------------------------------- */

if (!empty($submit) && !$note_empty && $error_msg == ""){

   
// remetente / de e destinatário / para
   
$from = "Trouble Tickets (tts) <tts@med.up.pt>";
       
$to = "jfilipe@med.up.pt";

   
// criar uma nova instânca da classe para enviar mails
   
$sm = new sendmail(CRLF);

   
// adicionar template
   
$sm->addTemplate("page","mail_page.html");
       
$sm->addTemplate("info","info_ticket.html");
   
   
// mensagem de erro
   
if ($sm->error_msg != "") die("erro: ".$sm->error_msg."\n");

       
// adicionar imagem
       
$sm->addImage("images/cabecalho.gif","image/gif","cabecalho.gif");
               
   
// determinar os cabeçalhos
   
$subject_mail = "Ticket: ".$subject;
   
$headers = array("From" => $from, "Subject" => $subject_mail);

       
// Information to formatted message
        // can be get from database record
       
$info = array("name" => $name, "email" => $email, "subject" => $subject, "message" => $message);
               
   
// obter a mensagem formatada
       
$message = $sm->genFormattedMailMessage("ticket",$info,TEMPLATES_PATH,$subject_mail);

   
// mensagem de erro
   
if ($sm->error_msg != "") die("erro: ".$sm->error_msg."\n");

   
// enviar a mensagem
   
$sm->Send($message,$to,$headers);
   
   
// mensagem de erro
   
if ($sm->error_msg != "") die("erro: ".$sm->error_msg."\n");
       
       
$sended = "yes";
}

/* ---------------------------------- oOo --------------------------------
                     Output
   ---------------------------------- oOo -------------------------------- */


$t = new Template_PHPLIB(TEMPLATES_PATH);
             
$t->setFile(array("page" => "page.html",
                 
"form" => "form_ticket.html",
                 
"note" => "note_without_table.html",
         
"note2" => "note_without_table.html"));


//*********** Página (início) *************
$t->setVar(array("rooturl" => ROOT_URL, "titulo" => $title));


if (
ereg("yes",$sended)){ // enviado

    //*********** mensagem de sucesso *******
   
$t->setVar("msg","Ticket sended with sucess");
   
$t->parse("block_body","note",true);
   
} else {

   
//////// destacar os campos por preencher ///////////
   
if (!empty($submit) && $name == "") $t->setVar("symbol_name",SYMBOL_EMPTY);
    else
$t->setVar("symbol_name",SYMBOL_NORMAL);
    if (!empty(
$submit) && $email == "") $t->setVar("symbol_email",SYMBOL_EMPTY);
    else
$t->setVar("symbol_email",SYMBOL_NORMAL);

   
/////// setar variáveis //////
   
$t->setVar(array("name_value" => $name,
                    
"email_value" => $email,
                    
"subject_value" => $subject,
                    
"message_value" => $message));


   
//************* mensagem de erro ***********
   
if ($error_msg == "" && $note_empty) $error_msg = MSG_EMPTY;
    if (
$error_msg != ""){
           
$t->setVar(array("colspan_note" => 2, "msg" => $error_msg));
           
$t->parse("block_note","note2",true);
    }

   
//********** formulário (fim) **********
   
$t->parse("block_body","form",true);

}

//*********** Página (fim) *************
$t->pparse("output","page");

?>