creategroupeditpage.java

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

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

/*
 * 僌儖乕僾曇廤儁乕僕  CreateGroupEditPage.java
 * Copyright (C) 1999-2000 Japan Total System Co,LTD
 *    Satoru K  <koni@sjts.co.jp>
 */

import java.io.File;
import java.util.Hashtable;
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 CreateGroupEditPage 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 static final int ID = 0;
	private static final int NAME = 1;
	private static final int KNAME = 2;

	private String dataDir = null;
	private String tempDir = null;
	private Hashtable hsPara = null;
	private UserManager userManager = null;
	private String mapURL="";
	private String helpURL;
	private int bGid;			// 曇廤懳徾偲側傞僌儖乕僾ID

	private String gname;
	private String gmemo;
	private boolean flg;	// 捛壛:true 嶍彍:false
	private int bUid;		// 捛壛丒嶍彍偝傟傞儐乕僓ID
	private int[] uids;
	TempGroupEditFile tempfile;
	private String[] bUids = null;
	
	public CreateGroupEditPage(Hashtable hsPara,UserManager userManager
							   ,String dataDir,String mapURL,int gid,String helpURL) {

		this.hsPara = hsPara;
		this.userManager = userManager;
		this.mapURL = mapURL;
		this.bGid = gid;
		this.dataDir = dataDir;
		this.helpURL = helpURL;

		gname = "";
		gmemo = "";
	}

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

		this.tempDir = dataDir+GSFilename.GS_DIR_USER+File.separator+sessionUID.toString();

		IGroup group = userManager.getGroup(bGid);
		gname = group.GetName();
		gmemo = GSHtml.BRtoReturn(group.GetNote());
		uids = group.GetUserArray();
		if(uids==null)
			uids = new int[0];

		// 弶夞偺曇廤偼丄僥儞億儔儕僼傽僀儖傪弶婜壔
		if(hsPara.get(GSCmd.GS_PARA_EDITX)!=null) {
			tempfile = new TempGroupEditFile(tempDir);
			tempfile.delete();
			int[] adminUids = userManager.GetAdminUserArray(bGid);
			if(adminUids!=null)
				tempfile.addAdmin(adminUids);
			tempfile.Save();

		}
		// 娗棟幰愝掕偡傞僌儖乕僾偺捛壛
		else if(hsPara.get(GSCmd.GS_PARA_RIGHTX)!=null) {
			flg=true;

			getFormPara();
			tempfile = new TempGroupEditFile(tempDir);
			tempfile.Load();

			if(bUids != null) {
				for(int i=0; i < bUids.length; i++) 
					tempfile.addAdmin(Integer.parseInt(bUids[i]));
			}
			tempfile.Save();
		}
		// 娗棟幰愝掕偡傞僌儖乕僾偺嶍彍
		else if(hsPara.get(GSCmd.GS_PARA_LEFTX)!=null) {
			flg=false;

			getFormPara();
			tempfile = new TempGroupEditFile(tempDir);
			tempfile.Load();

			if(bUids != null) {
				for(int i=0; i < bUids.length; i++)
					tempfile.delAdmin(Integer.parseInt(bUids[i]));
			}
			tempfile.Save();
		}




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

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

		addBodyString("<CENTER>");

/**/	addBodyString("<FORM METHOD=\"post\" ACTION=\""+url+"\">");
/**/	addBodyString("<INPUT TYPE=\"hidden\" NAME=\""+GSCmd.GS_PARA_CMD+"\" VALUE=\""+GSCmd.GS_GRUP_MNG+"\">");
/**/	addBodyString("<INPUT TYPE=\"hidden\" NAME=\""+GSCmd.GS_PARA_SUBCMD+"\" VALUE=\""+GSCmd.SUB_EDIT_GROUP+"\">");
/**/	addBodyString("<INPUT TYPE=\"hidden\" NAME=\""+GSCmd.GS_PARA_GID+"\" VALUE=\""+Integer.toString(bGid)+"\">");

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

		// 僞僀僩儖
		writeTitle(url,mapURL);

		// 杮懱
		addBodyString("<TR>");
		addBodyString("<TD HEIGHT=\"260\" ALIGN=\"center\" BGCOLOR=\"#cccccc\">");
		addBodyString("  <TABLE WIDTH=\"100%\" BORDER=\"1\" CELLSPACING=\"1\" CELLPADDING=\"5\">");
		addBodyString("  <TR>");
		addBodyString("  <TD VALIGN=\"top\" NOWRAP><B>僌儖乕僾柤</B><FONT COLOR=\"ff0000\">仸</FONT></TD>");

/**/	addBodyString("  <TD><INPUT TYPE=\"text\" NAME=\""+GSCmd.GS_PARA_GNAME+"\" VALUE=\""+gname+"\" SIZE=\"40\" MAXLENGTH=\"50\"></TD>");
		addBodyString("  </TR>");
		addBodyString("  <TR>");
		addBodyString("  <TD VALIGN=\"top\" NOWRAP><B>旛峫</B></TD>");
/**/	addBodyString("  <TD><TEXTAREA NAME=\""+GSCmd.GS_PARA_NOTE+"\" COLS=\"40\" ROWS=\"5\" WRAP=\"hard\">"+gmemo+"</TEXTAREA></TD>");
		addBodyString("  </TR>");
		addBodyString("  </TABLE>");

		addBodyString("  <BR><BR>");

		addBodyString("  <TABLE WIDTH=\"100%\" BORDER=\"1\" CELLSPACING=\"1\" CELLPADDING=\"5\">");
		addBodyString("  <TR><TD HEIGHT=\"40\" BGCOLOR=\"#408080\"><B>娗棟幰搊榐</B>丂乮偙偺僌儖乕僾偺娗棟幰傪搊榐偟傑偡丅乯</TD></TR>");
		addBodyString("  </TABLE>");

		addBodyString("  <TABLE WIDTH=\"100%\" BORDER=\"1\" CELLSPACING=\"1\" CELLPADDING=\"1\">");
		addBodyString("  <TR>");
		addBodyString("  <TD WIDTH=\"45%\" ALIGN=\"center\" BGCOLOR=\"#cccccc\"><B>強懏儐乕僓</B></TD>");
		addBodyString("  <TD WIDTH=\"10%\"></TD><TD WIDTH=\"45%\" ALIGN=\"center\" BGCOLOR=\"#cccccc\"><B>娗棟幰</B></TD>");
		addBodyString("  </TR>");
		addBodyString("  <TR>");
/**/	addBodyString("  <TD><SELECT NAME=\""+GSCmd.GS_PARA_LEFTSEL+"\" SIZE=\"10\" MULTIPLE>");
		
		Vector vecLeftUsr = new Vector();
		Object dspLeftUsr[] = null;
		//僜乕僩梡僥乕僽儖嶌惉
		for(int i=0;i<uids.length;i++) {
			if(!tempfile.existsAdmin(uids[i])) {
				IPassword pass = userManager.getPassword(uids[i]);
				IUser user = userManager.getUser(pass.GetUserID());
				Vector vec = new Vector(3);
				vec.add(Integer.toString(uids[i]));
				vec.add(pass.GetName());
				vec.add(user.getKana());
				vecLeftUsr.add(vec);
			}
		}
		dspLeftUsr = vecLeftUsr.toArray();
		
		//僜乕僩
		GSSort leftsort = new GSSort(true,KNAME);
		Arrays.sort(dspLeftUsr,leftsort);

		for(int i=0;(dspLeftUsr != null) && (i<dspLeftUsr.length);i++) {
			Vector vec = (Vector)dspLeftUsr[i];
			addBodyString("  <OPTION VALUE=\""+((String)vec.get(ID))+"\">"+((String)vec.get(NAME)));
		}

		addBodyString("  <OPTION VALUE=\"-1\">丂丂丂丂丂丂丂丂丂丂丂丂丂丂丂丂丂丂丂丂丂");
		addBodyString("  </SELECT>");
		addBodyString("  </TD>");
		addBodyString("  <TD BGCOLOR=\"#ffff80\">");
		addBodyString("    <TABLE HEIGHT=\"100%\" WIDTH=\"100%\" BORDER=\"0\" CELLSPACING=\"0\" CELLPADDING=\"0\">");
		addBodyString("    <TR><TD HEIGHT=\"50%\" ALIGN=\"center\">"
/**/			+"<INPUT TYPE=\"image\" NAME=\""+GSCmd.GS_PARA_RIGHT+"\" SRC=\""+mapURL+GSFilename.GS_ARROW2R+"\""
				+" ALT=\"捛壛\" HEIGHT=\"16\" WIDTH=\"16\" BORDER=\"0\"></TD></TR>");
		addBodyString("    <TR><TD HEIGHT=\"50%\" ALIGN=\"center\">"
/**/			+"<INPUT TYPE=\"image\" NAME=\""+GSCmd.GS_PARA_LEFT+"\" SRC=\""+mapURL+GSFilename.GS_ARROW2L+"\""
				+" ALT=\"嶍彍\" HEIGHT=\"16\" WIDTH=\"16\" BORDER=\"0\"></TD></TR>");
		addBodyString("    </TABLE>");
		addBodyString("  </TD>");
/**/	addBodyString("  <TD><SELECT NAME=\""+GSCmd.GS_PARA_RIGHTSEL+"\" SIZE=\"10\" MULTIPLE>");

		Iterator it = tempfile.getAdminIterator();
		if(it!=null) {
			Vector vecRightUsr = new Vector();
			Object[] dspRightUsr = null;
			//僜乕僩梡僥乕僽儖嶌惉
			while(it.hasNext()) {
				Integer i = (Integer)it.next();
				IPassword pass = userManager.getPassword(i.intValue());
				IUser user = userManager.getUser(pass.GetUserID());
				if(pass!=null) {
					Vector vec = new Vector(3);
					vec.add(i.toString());
					vec.add(pass.GetName());
					vec.add(user.getKana());
					vecRightUsr.add(vec);
				}
			}
			dspRightUsr = vecRightUsr.toArray();

			//僜乕僩
			GSSort rightsort = new GSSort(true,KNAME);
			Arrays.sort(dspRightUsr,rightsort);

			for(int i=0;(dspRightUsr != null) && (i<dspRightUsr.length);i++) {
				Vector vec = (Vector)dspRightUsr[i];
				addBodyString("  <OPTION VALUE=\""+((String)vec.get(ID))+"\">"+((String)vec.get(NAME)));
			}
		}
		addBodyString("  <OPTION VALUE=\"-1\">丂丂丂丂丂丂丂丂丂丂丂丂丂丂丂丂丂丂丂丂丂");
		addBodyString("  </SELECT>");
		addBodyString("  </TD>");
		addBodyString("  </TR>");
		addBodyString("  </TABLE>");
		addBodyString("</TD>");
		addBodyString("</TR>");

		// 僞僀僩儖
		writeTitle(url,mapURL);

		addBodyString("</TABLE>");

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

	private void writeTitle(String url,String mapURL) {

		addBodyString("<TR BGCOLOR=\"#000080\">");
		addBodyString("<TD>");
		addBodyString("  <TABLE WIDTH=\"100%\" BORDER=\"0\" CELLSPACING=\"0\" CELLPADDING=\"0\">");
		addBodyString("  <TR>");
		addBodyString("  <TD HEIGHT=\"50\" ALIGN=\"left\"><FONT COLOR=\"#ffffff\"><B>"+title+"</B></FONT></TD>");
		addBodyString("  <TD ALIGN=\"right\">");
/**/	addBodyString("  <INPUT TYPE=\"image\" NAME=\""+GSCmd.GS_PARA_SUBMIT+"\""
			+" SRC=\""+mapURL+GSFilename.GS_HENKOU_BTN+"\" ALT=\"曄峏\" WIDTH=\"93\" HEIGHT=\"28\" BORDER=\"0\">");

		addBodyString("  <A HREF=\""+url+"?"+GSCmd.GS_PARA_CMD+"="+GSCmd.GS_GRUP_MNG+"\">");
		addBodyString("  <IMG SRC=\""+mapURL+GSFilename.GS_TORIKESHI_BTN+"\" ALT=\"庢徚\" WIDTH=\"93\" HEIGHT=\"28\" BORDER=\"0\"></A>");
		addBodyString("  </TD>");
		addBodyString("  </TR>");
		addBodyString("  </TABLE>");
		addBodyString("</TD>");
		addBodyString("</TR>");
	}

	// FORM僷儔儊乕僞偺庢摼
	protected void getFormPara() {
		String bufs[];

		// 僌儖乕僾柤偺庢摼
		bufs = (String[])hsPara.get(GSCmd.GS_PARA_GNAME);
		if(bufs!=null)
			gname = bufs[0];
		else
			gname = "";

		// 旛峫偺庢摼
		bufs = (String[])hsPara.get(GSCmd.GS_PARA_NOTE);
		if(bufs!=null)
			gmemo = bufs[0];
		else
			gmemo = "";

		// 捛壛偺帪
		if(flg) {
			bufs = (String[])hsPara.get(GSCmd.GS_PARA_LEFTSEL);
			if(bufs!=null)
				bUids = bufs;
		}
		// 嶍彍偺帪
		else {
			bufs = (String[])hsPara.get(GSCmd.GS_PARA_RIGHTSEL);
			if(bufs!=null)
				bUids = bufs;
		}
	}

}

⌨️ 快捷键说明

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