createshainemailpage.java

来自「一个日本流行的,功能较全的开源Web办公管理(Groupware)系统。」· Java 代码 · 共 522 行 · 第 1/2 页

JAVA
522
字号
package jp.co.sjts.gsession.main;

/*
 * 幮堳柤曤(E儊僀儖)  CreateShainEmailPage.java
 * Copyright (C) 1999-2000 Japan Total System Co,LTD
 *    Satoru K  <koni@sjts.co.jp>
 *    Junichi K  <kaneuchi@sjts.co.jp>
 */

import java.io.File;
import java.util.Hashtable;
import java.util.Map;
import java.util.List;
import java.util.Iterator;
import java.util.Arrays;
import java.util.Vector;
import java.util.HashSet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import jp.co.sjts.gsession.tools.*;

public class CreateShainEmailPage extends CreatePage {

	private final String title = "幮堳柤曤(E-Mail)";
	private final String bgcolor = "#ffffff";
	private final String text = "#000000";
	private final String link = "#0000ff";
	private final String alink = "#ff0000";
	private final String vlink = "#0000ff";

	private static final int ID = 0;
	private static final int NAME = 1;
	private static final int EMAIL = 2;
	private static final int GROUP = 3;
	private static final int KNAME = 4;

	private static final int TO = 1;

	private String urlMap;
	private String dataDir;
	private Hashtable hsPara;
	private UserManager userManager;
	private String helpURL;
	private int sortkey;
	private boolean sortflg;
	private HashSet uidSet;

	public CreateShainEmailPage(Hashtable hsPara,String dataDir,UserManager userManager
									   ,String urlMap,String helpURL) {
		this.urlMap = urlMap;
		this.dataDir = dataDir;
		this.userManager = userManager;
		this.hsPara = hsPara;
		this.helpURL = helpURL;
	}

	private void initPara() {
		String[] uids = (String[])hsPara.get(GSCmd.GS_PARA_UID);
		if(uids==null) {
			uidSet = new HashSet();
		} else {
			uidSet = new HashSet(uids.length);
			for(int i=0; i<uids.length; i++)
				uidSet.add(uids[i]);
		}
	}

	private void getSortPara() {

		int nextkey = 0;
		if(hsPara.get(GSCmd.GS_PARA_NEXTSKEY) != null)
			nextkey = Integer.parseInt(((String[])hsPara.get(GSCmd.GS_PARA_NEXTSKEY))[0]);

		if(hsPara.get(GSCmd.GS_PARA_SORTFLG) != null)
			sortflg = ((String[])hsPara.get(GSCmd.GS_PARA_SORTFLG))[0].equals("true");
		else
			sortflg = true;

		if(hsPara.get(GSCmd.GS_PARA_SORTKEY) != null) {
			sortkey = Integer.parseInt(((String[])hsPara.get(GSCmd.GS_PARA_SORTKEY))[0]);
			switch(sortkey) {
			case NAME :
				if(nextkey == NAME)
					sortflg = !sortflg;
				else if(nextkey > 0) {
					sortkey = nextkey;
					sortflg = true;
				}
				break;
			case EMAIL :
				if(nextkey == EMAIL)
					sortflg = !sortflg;
				else if(nextkey > 0) {
					sortkey = nextkey;
					sortflg = true;
				}
				break;
			case GROUP :
				if(nextkey == GROUP)
					sortflg = !sortflg;
				else if(nextkey > 0) {
					sortkey = nextkey;
					sortflg = true;
				}
				break;
			}

		} else
			sortkey = NAME;
	}

	protected boolean writePage(HttpServletRequest req,HttpServletResponse res) throws GSException {
		String url = GSTool.removeParaFormURI(req.getRequestURI());
		HttpSession session = req.getSession(false);
		Integer sessionUID = (Integer)session.getAttribute(GSBase.SESSION_PARA_UID);
		MailerFile mailerFile = new MailerFile(dataDir+GSFilename.GS_DIR_USER+File.separator+sessionUID.toString());
		mailerFile.Load();
		boolean gsMailer = false;
		if(hsPara.get(GSCmd.GS_PARA_GSMAILER) != null)
			gsMailer = true;

		String index = null;
		if(hsPara.get(GSCmd.GS_PARA_IDX) != null)
			index = ((String[])hsPara.get(GSCmd.GS_PARA_IDX))[0];
		else
			index = "-1";

		initPara();
		getSortPara();

		addScript(
			 "function openWindow(i)\r\n"
			+"{\r\n"
			+"   var win=window.open(\"\",\"window\"+i,\"width=550,height=500,resizable=1\");\r\n"
			+"   win.location=\""+url+"?"+GSCmd.GS_PARA_CMD+"="+GSCmd.GS_SHAIN+"&"+GSCmd.GS_PARA_UID+"=\"+i.toString();\r\n"
			+"}"
		);

		addScript(
			 "function setIndex(i)\r\n"
			+"{\r\n"
			+"   document.myForm."+GSCmd.GS_PARA_IDX+".value=i;\r\n"
			+"   document.myForm.submit();\r\n}"
		);

		addScript(
			 "function setSort(key)\r\n"
			+"{\r\n"
			+"   document.myForm."+GSCmd.GS_PARA_NEXTSKEY+".value=key;\r\n"
			+"   document.myForm.submit();\r\n}"
		);

		if(gsMailer) {
			addScript(
					  "function moveMailer(i)\r\n"
					  +"{\r\n"
					  +"   document.myForm."+GSCmd.GS_PARA_TOUID+".value=i;\r\n"
					  +"   document.myForm.submit();\r\n}"
					  );
		}

		setCharset("iso-2022-jp");
		setTitle(title);
		setHelpUrl(helpURL+GSHelpPage.SH200000);

		setBodyColor(bgcolor,text,link,vlink,alink);

		addBodyString("<CENTER>");

		addBodyString("<FORM METHOD=\"post\" ACTION=\""+ url + "\" NAME=\"myForm\">");
		addBodyString("<INPUT TYPE=\"hidden\" NAME=\""+GSCmd.GS_PARA_CMD+"\" VALUE=\""
					  +GSCmd.GS_SHAININFO+"\">");
		addBodyString("<INPUT TYPE=\"hidden\" NAME=\""+GSCmd.GS_PARA_SUBCMD+"\" VALUE=\""
					  +GSCmd.SUB_SHAIN_EMAIL + "\">");
		addBodyString("<INPUT TYPE=\"hidden\" NAME=\""+GSCmd.GS_PARA_FLG+"\" VALUE=\""
					  +GSCmd.SUB_SHAIN_EMAIL+"\">");
		addBodyString("  <INPUT TYPE=\"hidden\" NAME=\""+GSCmd.GS_PARA_SORTKEY+"\" VALUE=\""
					  +sortkey+"\">");
		addBodyString("  <INPUT TYPE=\"hidden\" NAME=\""+GSCmd.GS_PARA_NEXTSKEY+"\" VALUE=\"0\">");
		addBodyString("  <INPUT TYPE=\"hidden\" NAME=\""+GSCmd.GS_PARA_SORTFLG+"\" VALUE=\""
					  +((sortflg)?"true":"false")+"\">");
		addBodyString("  <INPUT TYPE=\"hidden\" NAME=\""+GSCmd.GS_PARA_IDX+"\" VALUE=\""
					  +index+"\">");
		addBodyString("  <INPUT TYPE=\"hidden\" NAME=\""+GSCmd.GS_PARA_TOUID+"\" VALUE=\"\">");

		addBodyString("<TABLE WIDTH=\"100%\" BORDER=\"0\" CELLSPACING=\"0\" CELLPADDING=\"1\">");

		// 僞僀僩儖
		addBodyString("<TR>");
		addBodyString("<TD>");
		addBodyString("  <TABLE WIDTH=\"100%\" BORDER=\"0\" CELLSPACING=\"0\" CELLPADDING=\"3\">");
		addBodyString("  <TR BGCOLOR=\"#000080\">");
		addBodyString("  <TD HEIGHT=\"40\" WIDTH=\"100%\" NOWRAP><FONT SIZE=\"+1\" COLOR=\"#ffffff\"><B>"
					  +title+"</B></FONT></TD>");
		addBodyString("  <TD ALIGN=\"right\"><INPUT TYPE=\"image\" NAME=\""+GSCmd.GS_PARA_SET+"\" VALUE=\"1\" SRC=\""+urlMap+GSFilename.GS_PSET_BTN+"\" ALT=\"屄恖愝掕\" WIDTH=\"133\" HEIGHT=\"28\" BORDER=\"0\"></TD>");
		addBodyString("  </TR>");
		addBodyString("  </TABLE>");
		addBodyString("</TD>");
		addBodyString("</TR>");


		// 専嶕僞僽
		addBodyString("<TR>");
		addBodyString("<TD>");
		addBodyString("  <TABLE BGCOLOR=\"#cccccc\" WIDTH=\"100%\" BORDER=\"0\" CELLSPACING=\"0\" CELLPADDING=\"0\">");
		addBodyString("  <TR BGCOLOR=\"#ffffff\">");
		addBodyString("  <TD>");
		addBodyString("    <TABLE BORDER=\"0\" CELLSPACING=\"0\" CELLPADDING=\"0\">");
		addBodyString("    <TR>");

		addBodyString( getTab(GSCmd.GS_PARA_NAMETAB, GSFilename.GS_TAB_NAMEC01, "柤慜偱専嶕") );
		addBodyString( getTab(GSCmd.GS_PARA_EMAILTAB, GSFilename.GS_TAB_EMAILO01, "E-Mail傾僪儗僗偱専嶕") );
		addBodyString( getTab(GSCmd.GS_PARA_GROUPTAB, GSFilename.GS_TAB_GROUPC01, "僌儖乕僾偱専嶕") );

		addBodyString("    </TR>");
		addBodyString("    </TABLE>");
		addBodyString("  </TD>");
		addBodyString("  </TR>");


		EmailIndexSearch idxSearch = new EmailIndexSearch(dataDir+GSFilename.GS_DIR_IDX+File.separator+GSFilename.GS_IDX_MAIL);
		Map idxMap = idxSearch.getIndex();

		search(idxMap);


		addBodyString("  </TABLE>");
		addBodyString("</TD>");
		addBodyString("</TR>");

		// 儃僞儞
		addBodyString("<TR>");
		addBodyString("<TD BGCOLOR=\"fff7d2\" VALIGN=\"MIDDLE\" WIDTH=\"100%\">");

		addBodyString("  <TABLE WIDTH=\"100%\" BORDER=\"0\" CELLSPACING=\"0\" CELLPADDING=\"3\">");
		addBodyString("  <TR>");
		addBodyString("  <TD VALIGN=\"MIDDLE\" WIDTH=\"100%\">");
		addBodyString("    <TABLE BORDER=\"0\" CELLSPACING=\"0\" CELLPADDING=\"3\">");
		addBodyString("    <TR>");
		addBodyString("    <TD VALIGN=\"MIDDLE\">");
		addBodyString("    <INPUT TYPE=\"image\" NAME=\""+ GSCmd.GS_PARA_SELECT + "\" SRC=\""+urlMap+GSFilename.GS_SELECT_ITEM_BTN+"\" ALT=\"専嶕崁栚傪慖戰\" WIDTH=\"133\" HEIGHT=\"28\" BORDER=\"0\"></TD>");
		addBodyString("    <TD VALIGN=\"MIDDLE\">");
		addBodyString("    <INPUT TYPE=\"image\" NAME=\""+ GSCmd.GS_PARA_ITEMREL + "\" SRC=\""+urlMap+GSFilename.GS_RET_ITEM_BTN+"\" ALT=\"専嶕崁栚傪夝彍\" WIDTH=\"133\" HEIGHT=\"28\" BORDER=\"0\"></TD>");
		addBodyString("    <TD VALIGN=\"MIDDLE\">");
		addBodyString("    <INPUT TYPE=\"image\" NAME=\""+ GSCmd.GS_PARA_ALLRELEASE + "\" SRC=\""+urlMap+GSFilename.GS_ALLUNSELECT_BTN+"\" ALT=\"慡偰夝彍\" WIDTH=\"93\" HEIGHT=\"28\" BORDER=\"0\"></TD>");
		addBodyString("    <TD VALIGN=\"MIDDLE\">");
		addBodyString("    <INPUT TYPE=\"image\" NAME=\""+ GSCmd.GS_PARA_EXPORT + "\" SRC=\""+urlMap+GSFilename.GS_EXPORT_BTN+"\" ALT=\"僄僋僗億乕僩\" WIDTH=\"93\" HEIGHT=\"28\" BORDER=\"0\"></TD>");
		addBodyString("    </TR>");
		addBodyString("    </TABLE>");
		addBodyString("  </TD>");
		addBodyString("  </TR>");
		addBodyString("  </TABLE>");

		addBodyString("</TD>");
		addBodyString("</TR>");

		int idx = (hsPara.get(GSCmd.GS_PARA_IDX)!=null)?
			Integer.parseInt(((String[])hsPara.get(GSCmd.GS_PARA_IDX))[0]):-1;

		// 儕僗僩

⌨️ 快捷键说明

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