⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jwmahtmlhelperimpl.java

📁 java windows mda and reveus
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
/*** * jwma Java WebMail * Copyright (c) 2000-2003 jwma team * * jwma is free software; you can distribute and use this source * under the terms of the BSD-style license received along with * the distribution. ***/package dtw.webmail.model;import java.util.*;import java.net.*;import java.text.*;import java.io.ByteArrayInputStream;import org.apache.log4j.Logger;import dtw.webmail.*;import dtw.webmail.util.MessageSortCriterias;import dtw.webmail.util.StringUtil;import dtw.webmail.util.MD5;import dtw.webmail.util.config.ConfigurationChangeListener;import dtw.webmail.util.config.PostOffice;import dtw.webmail.plugin.RandomAppendPlugin;import dtw.webmail.plugin.ContactManagementPlugin;import javax.servlet.http.HttpSession;import net.wimpi.text.Processor;/** * Class implementing the JwmaHtmlHelper. * <p>Actually represents an utility class that helps * to keep complex logic out of the views. * * @author Dieter Wimberger * @version 0.9.7 07/02/2003 */public class JwmaHtmlHelperImpl    implements JwmaHtmlHelper {  //logging  private static Logger log = Logger.getLogger(JwmaHtmlHelperImpl.class);  private static HashMap c_DateFormats;  //prepare cached dateformat instances  static {    Locale[] locales = JwmaKernel.getReference().getConfiguration()                            .getI18N().listViewLocales();    c_DateFormats = new HashMap((int) (locales.length * 1.4));    for (int i = 0; i < locales.length; i++) {      SimpleDateFormat dfs = (SimpleDateFormat)          DateFormat.getDateInstance(DateFormat.SHORT, locales[i]);      SimpleDateFormat dfm = (SimpleDateFormat)          DateFormat.getDateInstance(DateFormat.MEDIUM, locales[i]);      SimpleDateFormat dfl = (SimpleDateFormat)          DateFormat.getDateInstance(DateFormat.LONG, locales[i]);      SimpleDateFormat[] formats = {dfs, dfm, dfl};      c_DateFormats.put(locales[i], formats);    }  }  public JwmaHtmlHelperImpl() {  }//constructor  public String getControllerUrl() {    return JwmaKernel.getReference().getMainControllerUrl();  }//getControllerUrl  public String getSendMailControllerUrl() {    return JwmaKernel.getReference().getSendMailControllerUrl();  }//getSendMailControllerUrl  public String getContactsControllerUrl() {    return JwmaKernel.getReference().getContactsControllerUrl();  }//getContactsControllerUrl  public String getPostOfficeSelect(String postoffice) {    boolean def=true;    if(postoffice != null && postoffice.length() >0) {      def=false;    }    StringBuffer buf = new StringBuffer("<select name=\"postoffice\">");    for (Iterator iter = JwmaKernel.getReference().getConfiguration().getPostOffices();         iter.hasNext();) {      PostOffice po = (PostOffice) iter.next();      buf.append("  <option value=\"")          .append(po.getName())          .append("\"");      if(def) {        if (po.isDefault()) {          buf.append(" selected");        }      } else {        if(MD5.hash(po.getName()).equals(postoffice)) {          buf.append(" selected");        }      }      buf.append(">");      buf.append(po.getName());      buf.append("</option>");    }    buf.append("</select>");    return buf.toString();  }//getPostOfficeSelect  public String getPathHierarchyNavigator(JwmaStoreInfo info, JwmaFolder folder) {    String clickurl =        "<a href=\"" +        getControllerUrl() +        "?acton=folder&amp;todo=display&amp;path={0}\">{1}</a>";    String fname = "";    String sep = info.getFolderSeparator() + "";    //JwmaKernel.getReference().debugLog().write("Path="+path+";ClickUrl="+clickurl);    StringBuffer fpath = new StringBuffer();    StringBuffer hierarchy = new StringBuffer();    StringTokenizer strtok = new StringTokenizer(folder.getPath(), sep, false);    int i = 0;    while (strtok.hasMoreElements()) {      fname = strtok.nextToken();      if (i > 0) {        fpath.append(sep);        hierarchy.append(sep);      }      fpath.append(URLEncoder.encode(fname));      if (strtok.countTokens() == 0) {        //redirect to folder        hierarchy.append("<a href=\"")            .append(getControllerUrl())            .append("?acton=session&amp;todo=redirect&amp;view=folder\">")            .append(fname)            .append("</a>");      } else {        Object[] args = {fpath, fname};        hierarchy.append(MessageFormat.format(clickurl, args));      }      i++;    }    return hierarchy.toString();  }//getPathNavigator  public String getFolderDisplayAction(JwmaFolder folder) {    if (folder == null) {      return "nullfolder";    } else {      return getControllerUrl() +          "?acton=folder&amp;todo=display&amp;path=" +          URLEncoder.encode(folder.getPath());    }  }//getFolderDisplayAction  public String getFolderDisplayAction(JwmaInboxInfo info) {    return getFolderDisplayAction((JwmaFolder) info);  }//getFolderDisplayAction  public String getFolderDisplayAction(JwmaTrashInfo info) {    return getFolderDisplayAction((JwmaFolder) info);  }//getFolderDisplayAction  public String getDestinationsSelect(JwmaFolder[] folders) {    StringBuffer buf = new StringBuffer("<select name=\"destination\">");    for (int i = 0; i < folders.length; i++) {      buf.append("  <option value=\"" + folders[i].getPath() + "\">" +          folders[i].getPath() + "</option>");    }    buf.append("</select>");    return buf.toString();  }//getDestinationsSelection  public String getLanguageSelect(JwmaPreferences prefs) {    StringBuffer buf = new StringBuffer("<select name=\"language\">");    Locale[] locales = JwmaKernel.getReference().getConfiguration()                            .getI18N().listViewLocales();    for (int i = 0; i < locales.length; i++) {      buf.append("  <option value=\"")          .append(locales[i].getLanguage())          .append("\"");      if (locales[i].equals(prefs.getLocale())) {        buf.append(" selected");      }      buf.append(">");      buf.append(locales[i].getDisplayName(locales[i]));      buf.append("</option>");    }    buf.append("</select>");    return buf.toString();  }//getLanguageSelect  public String getSortCriteriaSelect(JwmaPreferences prefs,                                      String eventhandler,                                      ResourceBundle viewcontent) {    StringBuffer buf = new StringBuffer("<select name=\"criteria\" ");    if (eventhandler != null) {      buf.append(eventhandler);    }    buf.append(">\n");    int[] criterianums = MessageSortCriterias.EXUI_CRITERIAS;    int last = prefs.getMessageSortCriteria();    String[] names = MessageSortCriterias.EXUI_CRITERIAS_STR;    for (int i = 0; i < criterianums.length; i++) {      buf.append("  <option value=\"")          .append(criterianums[i])          .append("\"");      if (criterianums[i] == last) {        buf.append(" selected");      }      buf.append(">");      buf.append(viewcontent.getString(names[i]));      buf.append("</option>");    }    buf.append("</select>");    return buf.toString();  }//getSortingCriteriaSelect  public String getFrequentSelect(JwmaContacts contacts, String eventhandler) {    //String[] fnicks = book.listNicknames(true);    JwmaContact[] frequent = contacts.listFrequentRecipients();    if (frequent == null || frequent.length == 0) {      return "";    }    StringBuffer buf = new StringBuffer("<select name=\"frequent\" ");    if (eventhandler != null) {      buf.append(eventhandler);    }    buf.append(">\n");    buf.append("<option value=\"\" selected>Select frequent</option>\n");    for (int i = 0; i < frequent.length; i++) {      JwmaContact ct = frequent[i];      String nickname = ct.getNickname();      if (nickname == null || nickname.length() == 0) {        nickname = new StringBuffer(ct.getLastname()).append(", ")            .append(ct.getFirstname()).toString();      }      buf.append("  <option value=\"")          .append(ct.getFirstname())          .append(" ")          .append(ct.getLastname())          .append("<")          .append(ct.getEmail())          .append(">")          .append("\">")          .append(nickname)          .append("</option>\n");    }    buf.append("</select>\n");    return buf.toString();  }//getFrequentSelect  public String getCategoriesSelect(JwmaContact ct,                                    String[] categories,                                    ResourceBundle viewcontent) {    StringBuffer buf = new StringBuffer("<select name=\"category\">\n");    if (categories != null && categories.length > 0) {      for (int i = 0; i < categories.length; i++) {        buf.append("  <option value=\"")            .append(categories[i])            .append("\"")            .append(((categories[i].equals(ct.getCategory()))? " selected>":">"))            .append(categories[i])            .append("</option>\n");      }    }    String newcat = viewcontent.getString("contact.newcategory");    buf.append("  <option value=\"")        .append(newcat)        .append("\">")        .append(newcat)        .append("</option>\n");    buf.append("</select>\n");    return buf.toString();  }//getCategoriesSelect  public String getMessageProcessorSelect(JwmaPreferences prefs) {    String[] procs = JwmaKernel.getReference().listMessageProcessors();    StringBuffer buf = new StringBuffer("<select name=\"msgprocessor\">\n");    //add options    for (int i = 0; i < procs.length; i++) {      Processor proc = JwmaKernel.getReference().getMessageProcessor(procs[i]);      buf.append("  <option value=\"")          .append(procs[i])          .append("\"")          .append(((procs[i].equals(prefs.getMessageProcessorName()))? " selected>":">"))          .append(proc.getDescription(prefs.getLocale()))          .append("</option>\n");    }    buf.append("</select>\n");    return buf.toString();  }//getMessageProcessorSelect  public String getRandomAppendTypesSelect(JwmaPreferences prefs, JwmaMailIdentity mid) {    RandomAppendPlugin rap = JwmaKernel.getReference().getRandomAppendPlugin();    String[] rndapp = null;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -