createpersonalpage.java

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

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

/*
 * 屄恖愝掕儁乕僕  CreatePersonalPage.java
 * Copyright (C) 1999-2000 Japan Total System Co,LTD
 *    Satoru K  <koni@sjts.co.jp>
 */

import java.io.File;
import java.io.FileOutputStream;
import java.io.BufferedOutputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Hashtable;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import jp.co.sjts.gsession.tools.*;

public class CreatePersonalPage extends CreatePage {

	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 String mapURL;
	private String dataDir;
	private Hashtable hsPara;
	private UserManager userManager;
	private String helpUrl;

	public CreatePersonalPage(Hashtable hsPara,String dataDir,String mapURL,UserManager userManager,String helpUrl) {
		this.mapURL = mapURL;
		this.dataDir = dataDir;
		this.hsPara = hsPara;
		this.userManager = userManager;
		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 subcmd=(hsPara.get(GSCmd.GS_PARA_SUBCMD)!=null)	?
			Integer.parseInt(((String[])hsPara.get(GSCmd.GS_PARA_SUBCMD))[0]) : -1;

		switch(subcmd){
		// 屄恖梡婎杮愝掕
		case GSCmd.GS_P_SET_BASE:{
			if(hsPara.get(GSCmd.GS_PARA_SUBMITX)==null)
				break;
			String[] buf;
			int flg=0,refresh=0;
			if((buf = (String[])hsPara.get(GSCmd.GS_PARA_REFRESH))!=null)
				refresh=Integer.parseInt(buf[0]);
			if((buf = (String[])hsPara.get(GSCmd.GS_PARA_FLG))!=null)
				flg = Integer.parseInt(buf[0]);

			UserConfFile ucf = new UserConfFile(dataDir + GSFilename.GS_DIR_USER + File.separator + sessionUID.toString());
			ucf.Load();
			if(flg==1){
				ucf.setRefreshTime(refresh);
			}else{
				ucf.Load();
				ucf.setRefreshTime(0);
			}
			ucf.Save();
			break;
		}
		// 屄恖忣曬曇廤
		case GSCmd.GS_P_INFO_DEIT:{

			String buf;
			UserFile userFile = new UserFile(dataDir+GSFilename.GS_DIR_USER+File.separator+sessionUID.toString());
			userFile.Load();
			String oldname = userFile.getName();
			String oldkana = userFile.getKana();
			String oldemail = userFile.getEmail();

			// 儐乕僓柤
			buf=(hsPara.get(GSCmd.GS_PARA_UNAME)!=null)?((String[])hsPara.get(GSCmd.GS_PARA_UNAME))[0]:"";
			if(buf.length()<=0){
				CreateErrorPage page = new CreateErrorPage("柤慜偼昁恵崁栚偱偡",mapURL,null);
				page.write(req,res);
				return false;
			}
			userFile.setName(buf.trim());
			// 偐側
			buf=(hsPara.get(GSCmd.GS_PARA_UKANA)!=null)?((String[])hsPara.get(GSCmd.GS_PARA_UKANA))[0]:"";
			if(buf.length()<=0){
				CreateErrorPage page = new CreateErrorPage("偐側偼昁恵崁栚偱偡",mapURL,null);
				page.write(req,res);
				return false;
			}
			userFile.setKana(buf.trim());
			// E-mail
			buf=(hsPara.get(GSCmd.GS_PARA_EMAIL)!=null)?((String[])hsPara.get(GSCmd.GS_PARA_EMAIL))[0]:"";
			userFile.setEmail(buf.trim());
			// 栶怑
			buf=(hsPara.get(GSCmd.GS_PARA_YAKU)!=null)?((String[])hsPara.get(GSCmd.GS_PARA_YAKU))[0]:"";
			userFile.setPosition(buf);
			// 梄曋斣崋
			buf=(hsPara.get(GSCmd.GS_PARA_POST)!=null)?((String[])hsPara.get(GSCmd.GS_PARA_POST))[0]:"";
			userFile.setPostno(buf);
			// 廧強侾
			buf=(hsPara.get(GSCmd.GS_PARA_ADR1)!=null)?((String[])hsPara.get(GSCmd.GS_PARA_ADR1))[0]:"";
			userFile.setAddress1(buf);
			// 廧強俀
			buf=(hsPara.get(GSCmd.GS_PARA_ADR2)!=null)?((String[])hsPara.get(GSCmd.GS_PARA_ADR2))[0]:"";
			userFile.setAddress2(buf);
			// TEL
			buf=(hsPara.get(GSCmd.GS_PARA_TEL)!=null)?((String[])hsPara.get(GSCmd.GS_PARA_TEL))[0]:"";
			userFile.setTel(buf);
			// FAX
			buf=(hsPara.get(GSCmd.GS_PARA_FAX)!=null)?((String[])hsPara.get(GSCmd.GS_PARA_FAX))[0]:"";
			userFile.setFax(buf);
			// 実懷斣崋侾
			buf=(hsPara.get(GSCmd.GS_PARA_PTEL1)!=null)?((String[])hsPara.get(GSCmd.GS_PARA_PTEL1))[0]:"";
			userFile.setPtel1(buf);
			// 実懷斣崋俀
			buf=(hsPara.get(GSCmd.GS_PARA_PTEL2)!=null)?((String[])hsPara.get(GSCmd.GS_PARA_PTEL2))[0]:"";
			userFile.setPtel2(buf);
			// 旛峫
			buf=(hsPara.get(GSCmd.GS_PARA_NOTE)!=null)?((String[])hsPara.get(GSCmd.GS_PARA_NOTE))[0]:"";
			userFile.setMemo(buf);
			// 幨恀搊榐
			if(hsPara.get(GSCmd.GS_PARA_DELETE)==null) {
				Hashtable picHash=((hsPara.get(GSCmd.GS_PARA_PIC))!=null)?(Hashtable)hsPara.get(GSCmd.GS_PARA_PIC):null;
				if(picHash!=null) {
					if( (picHash.get("filename")!=null)&&(((String)picHash.get("filename")).length()>0)) {
						userFile.setShashin(true);
						byte[] content = (byte[])picHash.get("content");
						try {
							FileOutputStream fos = new FileOutputStream(dataDir+GSFilename.GS_DIR_USER+File.separator
																		+sessionUID.toString()+File.separator+User.PICNAME);
							BufferedOutputStream bos = new BufferedOutputStream(fos,content.length+1);
							bos.write(content,0,content.length);
							bos.flush();
							bos.close();
						}catch(FileNotFoundException e){
							throw new GSException("僼傽僀儖偑尒偮偐傝傑偣傫丅",e);
						}catch(IOException e){
							throw new GSException("IO僄儔乕偱偡丅",e);
						}
					
					}
				}
			} else {
			// 幨恀嶍彍
				userFile.setShashin(false);
				File file = new File(dataDir+GSFilename.GS_DIR_USER+File.separator
									+sessionUID.toString()+File.separator+User.PICNAME);
				if(file.exists())
					file.delete();
			}

			userFile.Save();

			if(!oldname.equals(userFile.getName()))
				userManager.setUserName(sessionUID.intValue(),userFile.getName());

			// 偐側僀儞僨僢僋僗偺嶍彍/捛壛
			if(!oldkana.equals(userFile.getKana())) {
				IndexSearch idxSearch=new KanaIndexSearch(dataDir+GSFilename.GS_DIR_IDX+File.separator+GSFilename.GS_IDX_KANA);
				idxSearch.delIdx(sessionUID.intValue(),oldkana);
				idxSearch.addIdx(sessionUID.intValue(),userFile.getKana());
			}

			// email僀儞僨僢僋僗偺嶍彍/捛壛
			if(!oldemail.equals(userFile.getEmail())){
				IndexSearch idxSearch = new EmailIndexSearch(dataDir+GSFilename.GS_DIR_IDX+File.separator+GSFilename.GS_IDX_MAIL);
				idxSearch.delIdx(sessionUID.intValue(),oldemail);
				idxSearch.addIdx(sessionUID.intValue(),userFile.getEmail());
			}
			break;
		}
		// 屄恖僷僗儚乕僪曄峏
		case GSCmd.GS_CHANG_PASS:{
			// 僷僗儚乕僪侾
			String pass1=(hsPara.get(GSCmd.GS_PARA_PASS)!=null)?((String[])hsPara.get(GSCmd.GS_PARA_PASS))[0]:"";
			String pass2=(hsPara.get(GSCmd.GS_PARA_PASS2)!=null)?((String[])hsPara.get(GSCmd.GS_PARA_PASS2))[0]:"";

			if((pass1.length()<=0)&&(pass2.length()<=0))
				userManager.setMDPass(sessionUID.intValue(),"");
			if((pass1.equals("$$$$$$$$$$$$$$$$$$$$"))&&(pass1.equals("####################")))
				break;
			else if(pass1.equals(pass2))
				userManager.setMDPass(sessionUID.intValue(),Password.encode(pass1.getBytes()));
			else{
				CreateErrorPage page = new CreateErrorPage(CreateErrorPage.ERR_PARA,mapURL,null);
				page.write(req,res);
				return false;
			}
				
		}

		}

		setCharset("iso-2022-jp");
		setTitle(title);
		//		setHelpUrl(helpUrl+GSHelpPage.MN300000);

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

		addBodyString("<CENTER>");

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

		// 僞僀僩儖
		addBodyString("<TR>");
		addBodyString("<TD ALIGN=\"center\" BGCOLOR=\"#000080\">");
		addBodyString("  <TABLE WIDTH=\"100%\" BORDER=\"0\" CELLSPACING=\"0\" CELLPADDING=\"3\">");
		addBodyString("  <TR>");
		addBodyString("  <TD><FONT COLOR=\"#ffffff\"><B>" + title + "</B></FONT></TD>");
		addBodyString("  <TD ALIGN=\"right\">");
		addBodyString("  <A HREF=\""+url+"?"+GSCmd.GS_PARA_CMD+"="+GSCmd.GS_MAIN+"\">");
		addBodyString("  <IMG SRC=\""+mapURL+GSFilename.GS_MAIN_BACK+"\" ALT=\"儊僀儞傊栠傞\""
							+" WIDTH=\"173\" HEIGHT=\"28\" BORDER=\"0\"></A>");
		addBodyString("  </TD>");
		addBodyString("  </TR>");
		addBodyString("  </TABLE>");
		addBodyString("</TD>");
		addBodyString("</TR>");

		// 杮懱
		addBodyString("<TR>");
		addBodyString("<TD ALIGN=\"center\" BGCOLOR=\"#ffffcf\">");
		addBodyString("  <TABLE BORDER=\"0\" CELLSPACING=\"0\" CELLPADDING=\"10\">");

		addBodyString("  <TR>");
		addBodyString("  <TD><A HREF=\"" + url + "?" + GSCmd.GS_PARA_CMD + "=" + GSCmd.GS_P_SET_BASE
							+ "\"><IMG SRC=\"" + mapURL + GSFilename.GS_MARU_K 
							+ "\" WIDTH=\"16\" HEIGHT=\"16\" BORDER=\"0\"></A></TD>");
		addBodyString("  <TD><A HREF=\"" + url + "?" + GSCmd.GS_PARA_CMD + "="
							+ GSCmd.GS_P_SET_BASE + "\">婎杮愝掕</A></TD>");
		addBodyString("  </TR>");


		addBodyString("  <TR>");
		addBodyString("  <TD><A HREF=\"" + url + "?" + GSCmd.GS_PARA_CMD + "=" + GSCmd.GS_P_INFO_DEIT
							+ "\"><IMG SRC=\"" + mapURL + GSFilename.GS_MARU_K
							+ "\" WIDTH=\"16\" HEIGHT=\"16\" BORDER=\"0\"></A></TD>");
		addBodyString("  <TD><A HREF=\"" + url + "?" + GSCmd.GS_PARA_CMD + "=" 
							+ GSCmd.GS_P_INFO_DEIT + "\">屄恖忣曬曇廤</A></TD>");
		addBodyString("  </TR>");


		addBodyString("  <TR>");
		addBodyString("  <TD><A HREF=\"" + url + "?" + GSCmd.GS_PARA_CMD + "=" + GSCmd.GS_CHANG_PASS
							+ "\"><IMG SRC=\"" + mapURL + GSFilename.GS_MARU_K
							+ "\" WIDTH=\"16\" HEIGHT=\"16\" BORDER=\"0\"></A></TD>");
		addBodyString("  <TD><A HREF=\"" + url + "?" + GSCmd.GS_PARA_CMD + "="
							+ GSCmd.GS_CHANG_PASS + "\">僷僗儚乕僪曄峏</A></TD>");
		addBodyString("  </TR>");

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

		addBodyString("</TABLE>");
		addBodyString("</FORM>");

		addBodyString("</CENTER>");
		return true;
	}
}

⌨️ 快捷键说明

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