forked from Coded/SIPRP
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
128 lines
3.4 KiB
128 lines
3.4 KiB
/*
|
|
* RequestServlet.java
|
|
*
|
|
* Created on 4 de Março de 2005, 18:19
|
|
*/
|
|
|
|
package siprp.pagina;
|
|
|
|
import java.io.*;
|
|
import java.util.*;
|
|
|
|
import javax.servlet.*;
|
|
import javax.servlet.http.*;
|
|
|
|
import org.apache.commons.fileupload.*;
|
|
|
|
/**
|
|
*
|
|
* @author psantos
|
|
*/
|
|
public class RecruitServlet extends MailerServlet
|
|
{
|
|
private final static String REC_FUNCAO = "rec_funcao";
|
|
private final static String REC_NOME = "rec_nome";
|
|
private final static String REC_MORADA = "rec_morada";
|
|
private final static String REC_TELEFONE = "rec_telefone";
|
|
private final static String REC_EMAIL = "rec_email";
|
|
private final static String REC_CV = "rec_cv";
|
|
|
|
private final static String[] FORM_FIELDS = new String[]{
|
|
REC_FUNCAO, REC_NOME, REC_MORADA,
|
|
REC_TELEFONE, REC_EMAIL, REC_CV
|
|
};
|
|
|
|
public void doPost( HttpServletRequest req, HttpServletResponse res )
|
|
throws IOException
|
|
{
|
|
Hashtable parameters;
|
|
String fileName = "";
|
|
String type = "";
|
|
byte file[] = new byte[0];
|
|
boolean isMultipart = FileUpload.isMultipartContent( req );
|
|
|
|
ServletOutputStream out = res.getOutputStream();
|
|
res.setContentType( "text/html" );
|
|
|
|
if( isMultipart )
|
|
{
|
|
parameters = new Hashtable();
|
|
DiskFileUpload upload = new DiskFileUpload();
|
|
upload.setSizeThreshold(1000000);
|
|
upload.setSizeMax(1000000);
|
|
List items;
|
|
try
|
|
{
|
|
items = upload.parseRequest(req);
|
|
}
|
|
catch( FileUploadException ex )
|
|
{
|
|
out.println( showResultPage( false, "mail/pedido_enviado.html", "mail/pedido_nao_enviado.html" ) );
|
|
return;
|
|
}
|
|
Iterator iter = items.iterator();
|
|
while( iter.hasNext() )
|
|
{
|
|
FileItem item = (FileItem) iter.next();
|
|
|
|
if (item.isFormField())
|
|
{
|
|
String name = item.getFieldName();
|
|
String value = item.getString();
|
|
parameters.put( name, value );
|
|
}
|
|
else
|
|
{
|
|
String fieldName = item.getFieldName();
|
|
fileName = item.getName();
|
|
file = item.get();
|
|
if( file == null || file.length == 0 )
|
|
{
|
|
isMultipart = false;
|
|
}
|
|
type = item.getContentType();
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
parameters = parseParameters( new Hashtable( req.getParameterMap() ) );
|
|
}
|
|
String content = createContent( parameters, FORM_FIELDS, "mail/envio_cv.txt" );
|
|
|
|
String email = DEFAULT_EMAIL;
|
|
if( PROPERTIES != null && PROPERTIES.containsKey( EMAIL_RECRUTAMENTO ) )
|
|
{
|
|
email = ( String ) PROPERTIES.get( EMAIL_RECRUTAMENTO );
|
|
}
|
|
String from = email;
|
|
String destination = email;
|
|
String subject = "Envio de CV através do site www.siprp.pt";
|
|
// manda mail
|
|
boolean success;
|
|
String nome = ( String ) parameters.get( REC_NOME );
|
|
String telefone = ( String ) parameters.get( REC_TELEFONE );
|
|
String mail = ( String ) parameters.get( REC_EMAIL );
|
|
if( nome == null || nome.trim().length() == 0 || telefone == null || telefone.trim().length() == 0 ||
|
|
mail == null || mail.trim().length() == 0 || mail.indexOf( '@' ) == -1 )
|
|
{
|
|
System.out.println( "nome: " + nome + " teefone: " + telefone + " email : " + email );
|
|
success = false;
|
|
}
|
|
else if( isMultipart )
|
|
{
|
|
System.out.println( "Multipart" );
|
|
success = sendMail( from, destination, subject, content, false, fileName, file, type );
|
|
}
|
|
else
|
|
{
|
|
System.out.println( "Normal" );
|
|
success = sendMail( from, destination, subject, content, false );
|
|
}
|
|
|
|
// mostra pagina correspondente
|
|
|
|
out.println( showResultPage( success, "mail/cv_enviado.html", "mail/cv_nao_enviado.html" ) );
|
|
}
|
|
}
|