1 31 32 package org.opencms.frontend.templateone; 33 34 import org.opencms.mail.CmsHtmlMail; 35 import org.opencms.main.CmsException; 36 import org.opencms.main.CmsLog; 37 import org.opencms.main.OpenCms; 38 import org.opencms.util.CmsStringUtil; 39 import org.opencms.workplace.CmsWorkplace; 40 41 import java.util.HashMap ; 42 43 import javax.servlet.http.HttpServletRequest ; 44 import javax.servlet.http.HttpServletResponse ; 45 import javax.servlet.jsp.PageContext ; 46 47 import org.apache.commons.logging.Log; 48 49 58 public class CmsTemplateFormRecommend extends CmsTemplateForm { 59 60 61 private static final Log LOG = CmsLog.getLog(CmsTemplateFormRecommend.class); 62 63 64 private String m_copy; 65 66 private String m_emailRecipient; 67 68 private String m_emailSender; 69 70 private String m_message; 71 72 75 public CmsTemplateFormRecommend() { 76 77 super(); 78 m_emailRecipient = ""; 80 m_emailSender = ""; 81 m_message = ""; 82 m_copy = ""; 83 } 84 85 94 public CmsTemplateFormRecommend(PageContext context, HttpServletRequest req, HttpServletResponse res) { 95 96 super(); 97 super.init(context, req, res); 98 } 99 100 105 public String getCopy() { 106 107 return m_copy; 108 } 109 110 115 public String getEmailRecipient() { 116 117 return m_emailRecipient; 118 } 119 120 125 public String getEmailSender() { 126 127 return m_emailSender; 128 } 129 130 135 public String getMessage() { 136 137 return m_message; 138 } 139 140 145 public String isCopyChecked() { 146 147 return isChecked(getCopy()); 148 } 149 150 155 public boolean sendMail() { 156 157 CmsHtmlMail theMail = new CmsHtmlMail(); 159 theMail.setSubject(key("recommend.mail.subject.prefix") + getPageTitle()); 160 theMail.setCharset(getRequestContext().getEncoding()); 161 theMail.setHtmlMsg(getContent("recommend_mail.html", "html", getRequestContext().getLocale())); 162 theMail.setTextMsg(getContent("recommend_mail.html", "text", getRequestContext().getLocale())); 163 try { 164 theMail.addTo(getEmailRecipient()); 166 String sender = OpenCms.getSystemInfo().getMailSettings().getMailFromDefault(); 167 String replyTo = getEmailSender(); 168 if (CmsStringUtil.isEmptyOrWhitespaceOnly(replyTo)) { 169 replyTo = sender; 170 } 171 theMail.setFrom(sender); 172 theMail.addReplyTo(replyTo); 173 if (CmsStringUtil.isNotEmptyOrWhitespaceOnly(getCopy())) { 174 theMail.addCc(replyTo); 176 } 177 theMail.send(); 179 } catch (Exception e) { 180 if (LOG.isWarnEnabled()) { 181 LOG.warn(e); 182 } else if (LOG.isErrorEnabled()) { 183 LOG.error(Messages.get().getBundle().key( 184 Messages.LOG_SEND_MAIL_RECOMMENDPAGE_1, 185 getRequestContext().getUri())); 186 } 187 return false; 188 } 189 return true; 190 } 191 192 197 public void setCopy(String copy) { 198 199 m_copy = copy; 200 } 201 202 207 public void setEmailRecipient(String emailRecipient) { 208 209 m_emailRecipient = emailRecipient; 210 } 211 212 217 public void setEmailSender(String emailSender) { 218 219 m_emailSender = emailSender; 220 } 221 222 227 public void setMessage(String message) { 228 229 m_message = message; 230 } 231 232 237 public boolean validate() { 238 239 boolean allOk = true; 240 setErrors(new HashMap ()); 241 242 if (CmsStringUtil.isEmptyOrWhitespaceOnly(getEmailRecipient())) { 244 getErrors().put("recipient", key("recommend.error.recipient.empty")); 246 allOk = false; 247 } else if (!isValidEmailAddress(getEmailRecipient())) { 248 getErrors().put("recipient", key("recommend.error.recipient.wrong")); 250 allOk = false; 251 } 252 if (CmsStringUtil.isEmptyOrWhitespaceOnly(getMessage())) { 254 getErrors().put("message", key("recommend.error.message.empty")); 255 allOk = false; 256 } 257 if (CmsStringUtil.isNotEmptyOrWhitespaceOnly(getCopy())) { 258 if (CmsStringUtil.isEmptyOrWhitespaceOnly(getEmailSender())) { 260 getErrors().put("sender", key("recommend.error.sender.empty")); 262 allOk = false; 263 } 264 } 265 if (CmsStringUtil.isNotEmptyOrWhitespaceOnly(getEmailSender()) && !isValidEmailAddress(getEmailSender())) { 266 getErrors().put("sender", key("recommend.error.sender.wrong")); 268 allOk = false; 269 } 270 return allOk; 271 } 272 273 276 protected String checkTextsUri() { 277 278 String fileUri = getConfigurationValue("page.form.recommend", null); 279 if (fileUri != null) { 280 fileUri = getRequestContext().removeSiteRoot(fileUri); 281 try { 282 getCmsObject().readResource(fileUri); 283 return fileUri; 284 } catch (CmsException e) { 285 } 287 } 288 return CmsWorkplace.VFS_PATH_MODULES + MODULE_NAME + "/pages/recommend_content.html"; 289 } 290 291 } 292 | Popular Tags |