createuseraddpage.java

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

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

/*
 * 儐乕僓捛壛儁乕僕  CreateUserAddPage.java
 * Copyright (C) 1999-2000 Japan Total System Co,LTD
 *    Satoru K  <koni@sjts.co.jp>
 */

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

public class CreateUserAddPage extends CreatePage {

	static final String CMD_TEMPMAP = "shashin";
	static final String CMD_TEMPMAPX = CMD_TEMPMAP+".X";

	private static final String title = "怴婯儐乕僓搊榐";
	private static final String bgcolor = "#ffffff";
	private static final String text = "#000000";
	private static final String link = "#0000ff";
	private static final String alink = "#ff0000";
	private static final String vlink = "#0000ff";

	private static final int ID = 0;
	private static final int NAME = 1;

	private Hashtable hsPara=null;
	private String dataDir=null;
	private UserManager um=null;
	private String urlMap=null;
	private String helpURL=null;

	private String	uid="";
	private String	name="";
	private String	kana="";
	private String	passwd1="";
	private String	passwd2="";
	private String	email="";
	private String	position="";
	private String	postno="";
	private String	address1="";
	private String	address2="";
	private String	tel="";
	private String	fax="";
	private String	ptel1="";
	private String	ptel2="";
	private String	memo="";
	private String	filename="";
	private int		defaultGroup=-1;		// 僌儖乕僾ID
	private int		addGid=-1;				// 捛壛偝傟傞GID
	private int		delGid=-1;				// 嶍彍偝傟傞GID

	private String[] addGids = null;
	private String[] delGids = null;

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

	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);

		// 専嶕僉乕
		int search = (hsPara.get(GSCmd.GS_PARA_IDX)!=null)?
					Integer.parseInt(((String[])hsPara.get(GSCmd.GS_PARA_IDX))[0]):-1;

		Iterator it;
		TempUserFile tempFile=null;
		int idx;
		Integer integer;

		// 怴婯捛壛張棟
		if((hsPara.get(GSCmd.GS_PARA_INSERTX))!=null) {
			if((hsPara.get(GSCmd.GS_PARA_ERR))==null) {
				// 僥儞億儔儕偺弶婜壔
				tempFile=new TempUserFile(dataDir+GSFilename.GS_DIR_USER+File.separator+sessionUID.toString());
				tempFile.delete();
			} else {
				tempFile=tempLoad(sessionUID);
				uid=(tempFile.getUid()==null)?"":tempFile.getUid();
				name=tempFile.getKana();
				kana=tempFile.getKana();
				passwd1="";
				passwd2="";
				email=tempFile.getEmail();
				position=tempFile.getPosition();
				postno=tempFile.getPostno();
				address1=tempFile.getAddress1();
				address2=tempFile.getAddress2();
				tel=tempFile.getTel();
				fax=tempFile.getFax();
				ptel1=tempFile.getPtel1();
				ptel2=tempFile.getPtel2();
				memo=tempFile.getMemo();
				defaultGroup=tempFile.getDefaultGroup();
			}
		}
		// 強懏僌儖乕僾捛壛張棟
		else if((hsPara.get(GSCmd.GS_PARA_RIGHTX))!=null) {

			// FORM偺僷儔儊乕僞傪庢摼
			setPara();

			// 僥儞億儔儕僼傽僀儖偺撉崬傒
			tempFile=tempLoad(sessionUID);

			// 僥儞億儔儕僼傽僀儖偺峏怴
			store(tempFile);

			// 捛壛
			if(addGids != null) {
				for(int i=0; i < addGids.length; i++) {
					tempFile.addGroup(Integer.parseInt(addGids[i]));
				}
			}
			tempFile.Save();
		}
		// 強懏僌儖乕僾嶍彍張棟
		else if((hsPara.get(GSCmd.GS_PARA_LEFTX))!=null) {

			// FORM偺僷儔儊乕僞傪庢摼
			setPara();

			tempFile=tempLoad(sessionUID);

			store(tempFile);

			// 捛壛
			if(delGids != null) {
				for(int i=0; i < delGids.length; i++){
					tempFile.delGroup(Integer.parseInt(delGids[i]));
				}
			}
			tempFile.Save();
		}


		if(memo.length()>0)
			memo = GSHtml.BRtoReturn(memo);

		// 僌儖乕僾張棟
		int[] gids = um.getGidArray();

		// 僌儖乕僾偑娗棟幰偟偐偄側偄帪偼丄僄儔乕
		if(gids.length<=1) {
			CreateErrorPage page = new CreateErrorPage("儐乕僓搊榐偡傞慜偵丄僌儖乕僾傪搊榐偟偰壓偝偄丅",urlMap
					, url+"?"+GSCmd.GS_PARA_CMD+"="+GSCmd.GS_GRUP_MNG+"&"+GSCmd.GS_PARA_INSERTX+"=0");
			page.write(req,res);
			return false;
		}

		List aindex = new ArrayList(gids.length);			// 強懏偟偰偄傞僌儖乕僾偺僀儞僨僢僋僗
		List nindex = new ArrayList(gids.length);			// 強懏偟偰偄側偄僌儖乕僾偺僀儞僨僢僋僗
		for(int i=0;i<gids.length;i++) {
			if(tempFile.containsGourp(gids[i]))
				aindex.add(new Integer(i));
			else
				nindex.add(new Integer(i));
		}


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

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

		addBodyString("<CENTER>");

/**/	addBodyString("<FORM METHOD=\"post\" ACTION=\""+url+"\" ENCTYPE=\"multipart/form-data\">");
/**/	addBodyString("<INPUT TYPE=\"hidden\" NAME=\"" + GSCmd.GS_PARA_CMD + "\" VALUE=\"" + GSCmd.GS_USER_MNG + "\">");
/**/	addBodyString("<INPUT TYPE=\"hidden\" NAME=\"" + GSCmd.GS_PARA_SUBCMD + "\" VALUE=\"" + GSCmd.SUB_ADD_USER + "\">");
/**/	addBodyString("<INPUT TYPE=\"hidden\" NAME=\"" + GSCmd.GS_PARA_IDX + "\" VALUE=\"" + Integer.toString(search) + "\">");

		addBodyString("<TABLE WIDTH=\"400\" BORDER=\"3\" CELLSPACING=\"0\" CELLPADDING=\"0\">");

		// 僞僀僩儖
		writeTitle(url);


		// 杮懱
		addBodyString("<TR>");
		addBodyString("<TD BGCOLOR=\"#cccccc\">");

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

		addBodyString("  <TR>");
		addBodyString("  <TD  NOWRAP><B>儐乕僓ID乮敿妏塸悢帤乯</B><FONT COLOR=\"#FF0000\">仸<FONT></TD>");
/**/	addBodyString("  <TD><INPUT TYPE=\"text\" NAME=\""+GSCmd.GS_PARA_USER+"\" VALUE=\""+uid+"\" SIZE=\"32\" MAXLENGTH=\"20\"></TD>");
		addBodyString("  </TR>");

		addBodyString("  <TR>");
		addBodyString("  <TD NOWRAP><B>柤慜</B><FONT COLOR=\"#FF0000\">仸<FONT></TD>");
/**/	addBodyString("  <TD><INPUT TYPE=\"text\" NAME=\""+GSCmd.GS_PARA_UNAME+"\" VALUE=\""+name+"\" SIZE=\"42\" MAXLENGTH=\"100\"></TD>");
		addBodyString("  </TR>");

		addBodyString("  <TR>");
		addBodyString("  <TD NOWRAP><B>柤慜偐側乮慡妏偐側乯</B><FONT COLOR=\"#FF0000\">仸<FONT></TD>");
/**/	addBodyString("  <TD><INPUT TYPE=\"text\" NAME=\""+GSCmd.GS_PARA_UKANA+"\" VALUE=\""+kana+"\" SIZE=\"42\" MAXLENGTH=\"100\"></TD>");
		addBodyString("  </TR>");

		// 僷僗儚乕僪
		addBodyString("  <TR>");
		addBodyString("  <TD NOWRAP><B>僷僗儚乕僪</B></TD>");
		String passDamy1,passDamy2;
		if(tempFile.getPasswd().length() == 0) {
			passDamy1 = "";
			passDamy2 = "";
		} else {
			passDamy1 = "++++++++++";
			passDamy2 = "----------";
		}
/**/	addBodyString("  <TD><INPUT TYPE=\"password\" NAME=\""+GSCmd.GS_PARA_PASS+"\" VALUE=\""+passDamy1
					  +"\" SIZE=\"32\" MAXLENGTH=\"20\"></TD>");
		addBodyString("  </TR>");
		addBodyString("  <TR>");
		addBodyString("  <TD NOWRAP><B>僷僗儚乕僪妋擣梡</B></TD>");
/**/	addBodyString("  <TD><INPUT TYPE=\"password\" NAME=\""+GSCmd.GS_PARA_PASS2+"\" VALUE=\""+passDamy2
					  +"\" SIZE=\"32\" MAXLENGTH=\"20\"></TD>");
		addBodyString("  </TR>");

		addBodyString("  <TR>");
		addBodyString("  <TD NOWRAP><B>E_Mail</B></TD>");
/**/	addBodyString("  <TD><INPUT TYPE=\"text\" NAME=\""+GSCmd.GS_PARA_EMAIL+"\" VALUE=\""+email
					  +"\" SIZE=\"42\" MAXLENGTH=\"100\"></TD>");
		addBodyString("  </TR>");

		addBodyString("  <TR>");
		addBodyString("  <TD NOWRAP><B>栶怑</B></TD>");
/**/	addBodyString("  <TD><INPUT TYPE=\"text\" NAME=\""+GSCmd.GS_PARA_YAKU+"\" VALUE=\""+position
					  +"\" SIZE=\"42\" MAXLENGTH=\"100\"></TD>");
		addBodyString("  </TR>");

		addBodyString("  <TR>");
		addBodyString("  <TD NOWRAP><B>梄曋斣崋</B></TD>");
/**/	addBodyString("  <TD><INPUT TYPE=\"text\" NAME=\""+GSCmd.GS_PARA_POST+"\" VALUE=\""+postno
					  +"\" SIZE=\"10\" MAXLENGTH=\"8\">乮椺丗123-4567乯</TD>");
		addBodyString("  </TR>");

		addBodyString("  <TR>");
		addBodyString("  <TD NOWRAP><B>廧強侾</B></TD>");
/**/	addBodyString("  <TD><INPUT TYPE=\"text\" NAME=\""+GSCmd.GS_PARA_ADR1+"\" VALUE=\""+address1
					  +"\" SIZE=\"42\" MAXLENGTH=\"100\"></TD>");
		addBodyString("  </TR>");

		addBodyString("  <TR>");
		addBodyString("  <TD NOWRAP><B>廧強俀</B></TD>");
/**/	addBodyString("  <TD><INPUT TYPE=\"text\" NAME=\""+GSCmd.GS_PARA_ADR2+"\" VALUE=\""+address2
					  +"\" SIZE=\"42\" MAXLENGTH=\"100\"></TD>");
		addBodyString("  </TR>");

		addBodyString("  <TR>");
		addBodyString("  <TD NOWRAP><B>TEL</B></TD>");
/**/	addBodyString("  <TD><INPUT TYPE=\"text\" NAME=\""+GSCmd.GS_PARA_TEL+"\" VALUE=\""+tel
					  +"\" SIZE=\"25\" MAXLENGTH=\"31\"></TD>");
		addBodyString("  </TR>");

		addBodyString("  <TR>");
		addBodyString("  <TD NOWRAP><B>FAX</B></TD>");
/**/	addBodyString("  <TD><INPUT TYPE=\"text\" NAME=\""+GSCmd.GS_PARA_FAX+"\" VALUE=\""+fax
					  +"\" SIZE=\"25\" MAXLENGTH=\"31\"></TD>");
		addBodyString("  </TR>");

		addBodyString("  <TR>");
		addBodyString("  <TD NOWRAP><B>実懷斣崋侾</B></TD>");
/**/	addBodyString("  <TD><INPUT TYPE=\"text\" NAME=\""+GSCmd.GS_PARA_PTEL1+"\" VALUE=\""+ptel1
					  +"\" SIZE=\"25\" MAXLENGTH=\"31\"></TD>");
		addBodyString("  </TR>");

		addBodyString("  <TR>");
		addBodyString("  <TD NOWRAP><B>実懷斣崋俀</B></TD>");
/**/	addBodyString("  <TD><INPUT TYPE=\"text\" NAME=\""+GSCmd.GS_PARA_PTEL2+"\" VALUE=\""+ptel2
					  +"\" SIZE=\"25\" MAXLENGTH=\"31\"></TD>");
		addBodyString("  </TR>");

		addBodyString("  <TR>");
		addBodyString("  <TD NOWRAP><B>旛峫</B></TD>");
/**/	addBodyString("  <TD><TEXTAREA NAME=\""+GSCmd.GS_PARA_NOTE+"\" COLS=\"32\" ROWS=\"5\" WRAP=\"hard\">"+memo
					  +"</TEXTAREA></TD>");
		addBodyString("  </TR>");

		addBodyString("  <TR>");
		addBodyString("  <TD NOWRAP><B>幨恀</B></TD>");

		String imgTag = "  <TD HEIGHT=\"200\"><INPUT TYPE=\"file\" NAME=\""+GSCmd.GS_PARA_PIC+"\"><BR><BR><CENTER><IMG SRC=\"";
		if(tempFile.existsShashin()) {
			imgTag += url+"?"+GSCmd.GS_PARA_CMD+"="+GSCmd.GS_USER_MNG+"&"+CMD_TEMPMAPX+"=0";
		} else {
			imgTag += urlMap+GSFilename.GS_DAMYPIC;
		}
		imgTag += "\" ALT=\"幮堳幨恀\" HEIGHT=\"130\" WIDTH=\"100\" BORDER=\"3\"></CENTER></TD>";
		addBodyString(imgTag);

		addBodyString("  </TR>");

		// 僨僼僅儖僩僌儖乕僾
		addBodyString("  <TR>");
		addBodyString("  <TD NOWRAP><B>僨僼僅儖僩僌儖乕僾</B><FONT COLOR=\"#FF0000\">仸<FONT></TD>");
		addBodyString("  <TD>");
/**/	addBodyString("  <SELECT NAME=\""+GSCmd.GS_PARA_GID+"\">");

		it = aindex.iterator();
		Object[] dspGrp = new Object[aindex.size()];
		//僜乕僩梡僥乕僽儖嶌惉
		for(int i=0;it.hasNext();i++) {
			integer=(Integer)it.next();
			idx = integer.intValue();
			Vector vec = new Vector(2);
			vec.add(Integer.toString(gids[idx]));
			vec.add(um.getGName(gids[idx]));
			dspGrp[i] = vec;
		}
		
		//僜乕僩
		GSSort groupsort = new GSSort(true,NAME);
		Arrays.sort(dspGrp,groupsort);

⌨️ 快捷键说明

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