Update of
/var/cvs/contributions/CMSContainer_Portlets/portlets-dynamicforms/src/java/com/finalist/portlets/responseform
In directory
james.mmbase.org:/tmp/cvs-serv24984/portlets-dynamicforms/src/java/com/finalist/portlets/responseform
Modified Files:
Tag: b1_4
ResponseFormPortlet.java
Log Message:
CMSC-680 - Made improvements because my previous work was reverted by mguo in
the trunk source.
See also:
http://cvs.mmbase.org/viewcvs/contributions/CMSContainer_Portlets/portlets-dynamicforms/src/java/com/finalist/portlets/responseform
See also: http://www.mmbase.org/jira/browse/CMSC-680
Index: ResponseFormPortlet.java
===================================================================
RCS file:
/var/cvs/contributions/CMSContainer_Portlets/portlets-dynamicforms/src/java/com/finalist/portlets/responseform/ResponseFormPortlet.java,v
retrieving revision 1.8
retrieving revision 1.8.2.1
diff -u -b -r1.8 -r1.8.2.1
--- ResponseFormPortlet.java 11 Jan 2008 15:14:47 -0000 1.8
+++ ResponseFormPortlet.java 3 Mar 2008 10:40:59 -0000 1.8.2.1
@@ -13,6 +13,7 @@
import java.io.UnsupportedEncodingException;
import java.util.Arrays;
+import java.util.ArrayList;
import java.util.HashMap;
import java.util.Hashtable;
import java.util.Iterator;
@@ -127,6 +128,7 @@
&& (((type == TYPE_TEXTBOX) || (type ==
TYPE_TEXTAREA)) && !isEmailAddress(value))) {
errorMessages.put(fieldIdentifier,
"view.formfield.invalid");
}
+
if ((type == TYPE_TEXTBOX) && sendEmail) { //If data is
used as email address, then it should be valid
if (!isEmailAddress(userEmailAddress))
errorMessages.put(fieldIdentifier,
"view.formfield.invalid");
@@ -233,7 +235,7 @@
Map<String, String> parameterMap) {
boolean sent = false;
String userEmailSubject =
responseform.getStringValue("useremailsubject");
- String userEmailSender = responseform.getStringValue("useremailsender");
+ String userEmailSenderAddress =
responseform.getStringValue("useremailsender");
String userEmailSenderName =
responseform.getStringValue("useremailsendername");
String userEmailTextBefore =
responseform.getStringValue("useremailbody");
String userEmailTextAfter =
responseform.getStringValue("useremailbodyafter");
@@ -252,12 +254,12 @@
userEmailText.append(userEmailTextAfter);
}
- if (!StringUtil.isEmptyOrWhitespace(userEmailSender) &&
!StringUtil.isEmptyOrWhitespace(userEmailText.toString())
+ if (!StringUtil.isEmptyOrWhitespace(userEmailText.toString())
&& !StringUtil.isEmptyOrWhitespace(userEmailSenderName)
- && !StringUtil.isEmptyOrWhitespace(userEmailAddress)
- && isEmailAddress(userEmailAddress)) {
+ && isEmailAddress(userEmailAddress)
+ && isEmailAddress(userEmailSenderAddress)) {
try {
- EmailSender.getInstance().sendEmail(userEmailSender,
userEmailSenderName, userEmailAddress,
+ EmailSender.getInstance().sendEmail(userEmailSenderAddress,
userEmailSenderName, userEmailAddress,
userEmailSubject, userEmailText.toString());
sent = true;
}
@@ -271,26 +273,6 @@
return sent;
}
- private boolean isEmailAddress(String emailAddress) {
- if (emailAddress == null) return false;
- if (StringUtil.isEmptyOrWhitespace(emailAddress)) return false;
-
- String emailRegex = getEmailRegex();
- return emailAddress.matches(emailRegex);
- }
-
- private boolean isEmailAddress(List<String> emailList) {
- if (emailList == null) return false;
-
- String emailRegex = getEmailRegex();
- if (emailList.isEmpty()) return false;
- for (String email : emailList) {
- if (email.matches(emailRegex) == false) return false;
- }
-
- return true;
- }
-
private boolean sendResponseFormEmail(Node responseform, String
userEmailAddress, String responseformData,
DataSource attachment) {
@@ -300,12 +282,13 @@
String emailTextBefore = responseform.getStringValue("emailbody");
String emailTextAfter = responseform.getStringValue("emailbodyafter");
- String senderEmail = userEmailAddress;
+ String senderEmailAddress = userEmailAddress;
String senderName = userEmailAddress;
if (StringUtil.isEmptyOrWhitespace(userEmailAddress)) {
- senderEmail = responseform.getStringValue("useremailsender");
+ senderEmailAddress = responseform.getStringValue("useremailsender");
senderName = responseform.getStringValue("useremailsendername");
}
+ if (!isEmailAddress(senderEmailAddress)) return false; //Last check
email address
emailTextBefore = emailTextBefore.trim();
emailText.append(emailTextBefore);
@@ -326,7 +309,7 @@
}
try {
- EmailSender.getInstance().sendEmail(senderEmail, senderName,
emailList, emailSubject, emailText.toString(),
+ EmailSender.getInstance().sendEmail(senderEmailAddress, senderName,
emailList, emailSubject, emailText.toString(),
attachment);
sent = true;
}
@@ -437,6 +420,26 @@
}
+ public boolean isEmailAddress(String emailAddress) {
+ if (emailAddress == null) return false;
+ if (StringUtil.isEmptyOrWhitespace(emailAddress)) return false;
+
+ String emailRegex = getEmailRegex();
+ return emailAddress.matches(emailRegex);
+ }
+
+ public boolean isEmailAddress(List<String> emailList) {
+ if (emailList == null) return false;
+ if (emailList.isEmpty()) return false;
+
+ String emailRegex = getEmailRegex();
+ for (String email : emailList) {
+ if (email == null || StringUtil.isEmptyOrWhitespace(email)) return
false;
+ if (!email.matches(emailRegex)) return false;
+ }
+
+ return true;
+ }
private long getMaxAttachmentSize() {
long maxFileSize = DEFAULT_MAXFILESIZE;
@@ -454,8 +457,7 @@
return maxFileSize * MEGABYTE;
}
-
- private String getEmailRegex() {
+ protected String getEmailRegex() {
String emailRegex = PropertiesUtil.getProperty("email.regex");
if (!StringUtil.isEmptyOrWhitespace(emailRegex)) {
return emailRegex;
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs