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" ) );
 | 
						|
	}
 | 
						|
}
 |