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.
SIPRP/trunk/siprpWeb/src/com/evolute/siprp/pagina/RecruitServlet.java

128 lines
3.4 KiB

/*
* RequestServlet.java
*
* Created on 4 de Marco de 2005, 18:19
*/
package com.evolute.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\u00e9s 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" ) );
}
}