diff --git a/trunk/WEB-INF/classes/siprp/pagina/MailerServlet.java b/trunk/WEB-INF/classes/siprp/pagina/MailerServlet.java
index 6ed82fb6..378557c6 100644
--- a/trunk/WEB-INF/classes/siprp/pagina/MailerServlet.java
+++ b/trunk/WEB-INF/classes/siprp/pagina/MailerServlet.java
@@ -6,6 +6,7 @@
package siprp.pagina;
+import javax.activation.*;
import java.io.*;
import java.util.*;
@@ -15,6 +16,7 @@ import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;
+import org.apache.commons.mail.*;
import org.apache.velocity.*;
import org.apache.velocity.app.*;
@@ -180,6 +182,8 @@ public class MailerServlet extends HttpServlet
multipart.addBodyPart(messageBodyPart);
messageBodyPart = new MimeBodyPart();
+ messageBodyPart.setDataHandler(
+ new DataHandler( new ByteArrayDataSource( attachment, "/siprpWeb/test.txt" )));
// DataSource source = new ByteDataSource(attachment);
// messageBodyPart.setDataHandler(
// new DataHandler(source));
diff --git a/trunk/WEB-INF/classes/siprp/pagina/RecruitServlet.java b/trunk/WEB-INF/classes/siprp/pagina/RecruitServlet.java
index ea570231..913310f3 100644
--- a/trunk/WEB-INF/classes/siprp/pagina/RecruitServlet.java
+++ b/trunk/WEB-INF/classes/siprp/pagina/RecruitServlet.java
@@ -12,6 +12,8 @@ import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
+import org.apache.commons.fileupload.*;
+
/**
*
* @author psantos
@@ -31,13 +33,55 @@ public class RecruitServlet extends MailerServlet
};
public void doPost( HttpServletRequest req, HttpServletResponse res )
- throws IOException
+ throws IOException
{
+ Hashtable parameters;
+ String fileName = "";
+ 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();
- Hashtable parameters = parseParameters( new Hashtable( req.getParameterMap() ) );
-
+ 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();
+ }
+ }
+ }
+ else
+ {
+ parameters = parseParameters( new Hashtable( req.getParameterMap() ) );
+ }
String content = createContent( parameters, FORM_FIELDS, "mail/envio_cv.txt" );
String from = ( String ) parameters.get( REC_EMAIL );
@@ -49,9 +93,18 @@ public class RecruitServlet extends MailerServlet
String destination = email;
String subject = "Envio de CV através do site www.siprp.pt";
// manda mail
- boolean success = sendMail( from, destination, subject, content, false );
+ boolean success;
+ if( isMultipart )
+ {
+ success = sendMail( from, destination, subject, content, false, fileName, file );
+ }
+ else
+ {
+ success = sendMail( from, destination, subject, content, false );
+ }
// mostra pagina correspondente
+
out.println( showResultPage( success, "mail/pedido_enviado.html", "mail/pedido_nao_enviado.html" ) );
}
}
diff --git a/trunk/html/conteudos/colaboradores_text.html b/trunk/html/conteudos/colaboradores_text.html
index 8d2ab02a..1e73db31 100644
--- a/trunk/html/conteudos/colaboradores_text.html
+++ b/trunk/html/conteudos/colaboradores_text.html
@@ -16,7 +16,7 @@ Esta página dá acesso a funcionalidades exclusivas e confidenciais
Junte-se a Nós