creategrouplistpage.java

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

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

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

import java.util.Hashtable;
import java.util.Arrays;
import java.util.Vector;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import jp.co.sjts.gsession.tools.*;

public class CreateGroupListPage 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 ADMIN = 2;
	private static final int EMAIL = 3;
	private static final int KANA = 4;
	private static final int ADMINFLG = 5;

	private Hashtable hsPara;
	private String dataDir;
	private UserManager userManager;
	private String urlMap;
	private String helpURL;

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

	protected boolean writePage(HttpServletRequest req,HttpServletResponse res) throws GSException {
		String url = GSTool.removeParaFormURI(req.getRequestURI());
		String[] buf;
		int gid=-1;
		if((buf=(String[])hsPara.get(GSCmd.GS_PARA_GID))!=null)
			gid = Integer.parseInt(buf[0]);

		String gname = userManager.getGName(gid);

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

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

		addBodyString("<CENTER>");

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

		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_GLISTX + "\" VALUE=\"damy\">");
		addBodyString("<INPUT TYPE=\"hidden\" NAME=\"" + GSCmd.GS_PARA_GID + "\" VALUE=\"" + gid + "\">");
		addBodyString("<INPUT TYPE=\"hidden\" NAME=\"" + GSCmd.GS_PARA_SORTKEY + "\" VALUE=\""
					  + ((hsPara.get(GSCmd.GS_PARA_SORTKEY)!=null)?
						 ((String[])hsPara.get(GSCmd.GS_PARA_SORTKEY))[0]:"4") + "\">");
		addBodyString("<INPUT TYPE=\"hidden\" NAME=\"" + GSCmd.GS_PARA_SORTFLG+ID + "\" VALUE=\""
		 			  + ( (hsPara.get(GSCmd.GS_PARA_SORTFLG+ID)!=null)?
						   ((String[])(hsPara.get(GSCmd.GS_PARA_SORTFLG+ID)))[0]:"false")
						 + "\">");
		addBodyString("<INPUT TYPE=\"hidden\" NAME=\"" + GSCmd.GS_PARA_SORTFLG+NAME + "\" VALUE=\""
		 			  + ( (hsPara.get(GSCmd.GS_PARA_SORTFLG+NAME)!=null)?
							((String[])(hsPara.get(GSCmd.GS_PARA_SORTFLG+NAME)))[0]:"false")
						 + "\">");
		addBodyString("<INPUT TYPE=\"hidden\" NAME=\"" + GSCmd.GS_PARA_SORTFLG+ADMIN + "\" VALUE=\""
		 			  + ( (hsPara.get(GSCmd.GS_PARA_SORTFLG+ADMIN)!=null)?
						  ((String[])(hsPara.get(GSCmd.GS_PARA_SORTFLG+ADMIN)))[0]:"false")
						 + "\">");
		addBodyString("<INPUT TYPE=\"hidden\" NAME=\"" + GSCmd.GS_PARA_SORTFLG+EMAIL + "\" VALUE=\""
		 			  + ( (hsPara.get(GSCmd.GS_PARA_SORTFLG+EMAIL)!=null)?
						  ((String[])(hsPara.get(GSCmd.GS_PARA_SORTFLG+EMAIL)))[0]:"false")
						 + "\">");

		// 僞僀僩儖
		addBodyString("<TR>");
		addBodyString("<TD BGCOLOR=\"#000080\">");
		addBodyString("  <TABLE WIDTH=\"100%\" BORDER=\"0\" CELLSPACING=\"0\" CELLPADDING=\"2\">");
		addBodyString("  <TR>");
		addBodyString("  <TD HEIGHT=\"40\" NOWRAP><FONT COLOR=\"#ffffff\">"+gname+"丂強懏儐乕僓堦棗昞</FONT></TD>");
		addBodyString("  <TD ALIGN=\"right\">");
		addBodyString("  <A HREF=\"#\" onClick='self.close()'><IMG SRC=\""+urlMap+GSFilename.GS_CLOSE_BTN+"\""
				+" ALT=\"暵偠傞\" WIDTH=\"93\" HEIGHT=\"28\" BORDER=\"0\"></A>");
		addBodyString("  </TD>");
		addBodyString("  </TR>");
		addBodyString("  </TABLE>");
		addBodyString("</TD>");
		addBodyString("</TR>");

		addBodyString("<TR><TD><HR SIZE=\"1\"></TD></TR>");

		// 儕僗僩
		addBodyString("<TR>");
		addBodyString("<TD>");
		addBodyString("  <TABLE WIDTH=\"100%\" BORDER=\"0\" CELLSPACING=\"1\" CELLPADDING=\"1\">");
		//尒弌偟
		
		String href = url
			+"?"+GSCmd.GS_PARA_CMD+"="+GSCmd.GS_GRUP_MNG
			+"&"+GSCmd.GS_PARA_GLISTX+"=damy&"
			+GSCmd.GS_PARA_GID+"="+gid;

		int sortkey = (hsPara.get(GSCmd.GS_PARA_SORTKEY)!=null)?
			Integer.parseInt(((String[])hsPara.get(GSCmd.GS_PARA_SORTKEY))[0]):4;
		
		String idSortflg="true";
		if( (sortkey==ID) && (hsPara.get(GSCmd.GS_PARA_SORTFLG+ID)!=null) ) 
			idSortflg = (((String[])hsPara.get(GSCmd.GS_PARA_SORTFLG+ID))[0]).equals("true")?"false":"true";
		String nameSortflg="true";
		if( (sortkey==NAME) && (hsPara.get(GSCmd.GS_PARA_SORTFLG+NAME)!=null) )
			nameSortflg = (((String[])hsPara.get(GSCmd.GS_PARA_SORTFLG+NAME))[0]).equals("true")?"false":"true";
		String adminSortflg="true";
		if( (sortkey==ADMIN) && (hsPara.get(GSCmd.GS_PARA_SORTFLG+ADMIN)!=null) )
			adminSortflg = (((String[])hsPara.get(GSCmd.GS_PARA_SORTFLG+ADMIN))[0]).equals("true")?"false":"true";
		String emailSortflg="true";
		if( (sortkey==EMAIL) && (hsPara.get(GSCmd.GS_PARA_SORTFLG+EMAIL)!=null) )
			emailSortflg = (((String[])hsPara.get(GSCmd.GS_PARA_SORTFLG+EMAIL))[0]).equals("true")?"false":"true";

		if(sortkey == 4) {
			sortkey = ID;
			idSortflg = "false";
		}

		addBodyString("  <TR BGCOLOR=\"#cccccc\" ALIGN=\"center\">");

		String idTitle="<FONT COLOR=\"#ffffff\">ID</FONT>";
		idTitle=makeTitle(idTitle,idSortflg,sortkey,ID);
		addBodyString("  <TD NOWRAP><B><A HREF=\""+href
					  +"&"+GSCmd.GS_PARA_SORTKEY+"="+Integer.toString(ID)
					  +"&"+GSCmd.GS_PARA_SORTFLG+ID+"="+idSortflg
					  +"&"+GSCmd.GS_PARA_SORTFLG+NAME+"="+nameSortflg
					  +"&"+GSCmd.GS_PARA_SORTFLG+ADMIN+"="+adminSortflg
					  +"&"+GSCmd.GS_PARA_SORTFLG+EMAIL+"="+emailSortflg
					  +"\">"
					  +idTitle
					  +"</A></B></TD>");;
		String nameTitle="<FONT COLOR=\"#ffffff\">柤慜</FONT>";
		nameTitle=makeTitle(nameTitle,nameSortflg,sortkey,NAME);
		addBodyString("  <TD NOWRAP><B><A HREF=\""
					  +href
					  +"&"+GSCmd.GS_PARA_SORTKEY+"="+Integer.toString(NAME)
					  +"&"+GSCmd.GS_PARA_SORTFLG+ID+"="+idSortflg
					  +"&"+GSCmd.GS_PARA_SORTFLG+NAME+"="+nameSortflg
					  +"&"+GSCmd.GS_PARA_SORTFLG+ADMIN+"="+adminSortflg
					  +"&"+GSCmd.GS_PARA_SORTFLG+EMAIL+"="+emailSortflg
					  +"\">"
					  +nameTitle
					  +"</A></B></TD>");
		String adminTitle="<FONT COLOR=\"#ffffff\">娗棟幰</FONT>";
		adminTitle=makeTitle(adminTitle,adminSortflg,sortkey,ADMIN);
		addBodyString("  <TD NOWRAP><B><A HREF=\""
					  +href
					  +"&"+GSCmd.GS_PARA_SORTKEY+"="+Integer.toString(ADMIN)
					  +"&"+GSCmd.GS_PARA_SORTFLG+ID+"="+idSortflg
					  +"&"+GSCmd.GS_PARA_SORTFLG+NAME+"="+nameSortflg
					  +"&"+GSCmd.GS_PARA_SORTFLG+ADMIN+"="+adminSortflg
					  +"&"+GSCmd.GS_PARA_SORTFLG+EMAIL+"="+emailSortflg
					  +"\">"
					  +adminTitle
					  +"</A></B></TD>");
		String emailTitle="<FONT COLOR=\"#ffffff\">e-mail</FONT>";
		emailTitle=makeTitle(emailTitle,emailSortflg,sortkey,EMAIL);
		addBodyString("  <TD NOWRAP><B><A HREF=\""
					  +href
					  +"&"+GSCmd.GS_PARA_SORTKEY+"="+Integer.toString(EMAIL)
					  +"&"+GSCmd.GS_PARA_SORTFLG+ID+"="+idSortflg
					  +"&"+GSCmd.GS_PARA_SORTFLG+NAME+"="+nameSortflg
					  +"&"+GSCmd.GS_PARA_SORTFLG+ADMIN+"="+adminSortflg
					  +"&"+GSCmd.GS_PARA_SORTFLG+EMAIL+"="+emailSortflg
					  +"\">"
					  +emailTitle
					  +"</A></B></TD>");

		boolean flg=true;
		int[] uids = userManager.getUidArray(gid);
		if(uids!=null){
			Object[] dspUsr = new Object[uids.length];
			//僜乕僩梡僥乕僽儖嶌惉
			for(int i=0;i<uids.length;i++){
				IUser user = userManager.getUser(uids[i]);
				Vector vec = new Vector(6);
				vec.add(userManager.getPassword(uids[i]).GetUser());
				vec.add(user.getName());
				Boolean admin = new Boolean(userManager.isGroupAdmin(gid,uids[i]));
				vec.add(admin);
				vec.add(user.getEmail());
				vec.add(user.getKana());
				Integer adminflg = (admin.booleanValue())?new Integer(0):new Integer(1);
				vec.add(adminflg);
				dspUsr[i] = vec;
			}

			boolean sortflg=true;
			switch(sortkey){
			case ID:
				sortflg = (hsPara.get(GSCmd.GS_PARA_SORTFLG+ID)!=null)?
					(((String[])hsPara.get(GSCmd.GS_PARA_SORTFLG+ID))[0]).equals("true"):true;
				break;
			case NAME:
				sortflg = (hsPara.get(GSCmd.GS_PARA_SORTFLG+NAME)!=null)?
					(((String[])hsPara.get(GSCmd.GS_PARA_SORTFLG+NAME))[0]).equals("true"):true;
				break;
			case ADMIN:
				sortflg = (hsPara.get(GSCmd.GS_PARA_SORTFLG+ADMIN)!=null)?
					(((String[])hsPara.get(GSCmd.GS_PARA_SORTFLG+ADMIN))[0]).equals("true"):true;
				break;
			case EMAIL:
				sortflg = (hsPara.get(GSCmd.GS_PARA_SORTFLG+EMAIL)!=null)?
					(((String[])hsPara.get(GSCmd.GS_PARA_SORTFLG+EMAIL))[0]).equals("true"):true;
				break;
			}

			//僜乕僩
			GSSort usrsort = (sortkey == NAME)?
				new GSSort(sortflg,KANA):(sortkey == ADMIN)? new GSSort(sortflg,ADMINFLG):new GSSort(sortflg,sortkey);

			Arrays.sort(dspUsr,usrsort);

			for(int i=0;i<dspUsr.length;i++) {
				Vector vec = (Vector)dspUsr[i];
				if(flg)
					addBodyString("  <TR>");
				else
					addBodyString("  <TR  BGCOLOR=\"#ffffbf\">");
				flg = !flg;
				addBodyString("  <TD>"+((String)vec.get(ID))+"</TD>");
				addBodyString("  <TD>"+((String)vec.get(NAME))+"</TD>");
				if(((Boolean)vec.get(ADMIN)).booleanValue()) {
					addBodyString("  <TD ALIGN=\"center\"><IMG SRC=\""+urlMap+GSFilename.GS_KEY
						+"\" ALT=\"娗棟尃尷\" HEIGHT=\"24\" WIDTH=\"39\"></TD>");
				} else {
					addBodyString("  <TD>丂</TD>");
				}
				addBodyString("  <TD>"+((String)vec.get(EMAIL))+"丂</TD>");
				addBodyString("  </TR>");
			}
		}

		addBodyString("  </TR>");

		addBodyString("  </TABLE>");


		addBodyString("</TD>");
		addBodyString("</TR>");
		addBodyString("</FORM>");
		addBodyString("</TABLE>");
		return true;
	}

	private String makeTitle(String title,String flag,int key,int sorttarget) {
		if(key == sorttarget) {
			if(flag.equals("true"))
				title = "<FONT COLOR=\"ffffff\"> 仴 </FONT>"+title;
			else
				title = title+"<FONT COLOR=\"ffffff\"> 仯 </FONT>";
		} 	

		return title;
	}
}

⌨️ 快捷键说明

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